DWT和DCT相结合的水印算法

2012-01-05 02:29赖思渝李明东
郑州大学学报(理学版) 2012年1期
关键词:鲁棒性加密噪声

赖思渝, 王 娟, 李明东

(1.川北医学院 医学影像系 四川 南充 637000;2.西华师范大学 计算机学院 四川 南充 637000)

0 引言

数字水印是一种解决版权保护和信息安全的技术,它是通过将一些附加信息(水印信息)直接嵌入到受保护的数字作品中实现版权保护和信息安全的方法[1-2].DCT[3]、 DWT[4]、DFT[5]等变换域方法比空间域水印有更强的鲁棒性.本文结合频率域的两种水印嵌入方法,实现了一种盲提取的数字水印技术.算法以一幅有视觉意义的二值图像为水印,经过二次置乱加密后,水印已没有任何视觉意义.然后,在DWT域对加密水印进行分解,分别提取其近似子图和细节子图并量化调制成待嵌入二进制流.同时,在DCT域对载体图像施行块分类策略,对不同块采用不同量化因子,进而修改DCT系数矩阵达到嵌入水印的目的.大量实验表明该方法是有效的,较好地解决了鲁棒性和不可见性之间的矛盾,对通常的图像处理操作如剪切、挤压等几何攻击有较强的抵御能力,适合网络传输.

1 小波和余弦相结合的水印加密算法

1.1 离散小波变换

小波变换的基本思想就是对原图像进行细致的频率分离,即多分辨率分解.如图1、2所示,通过二级小波变换,原始图像被分解为一个低频近似子图和6个高频细节子图, LL、HL、LH和HH分别表示原始图像的近似、水平方向细节、垂直方向细节和对角方向细节.

1.2 水印加密方案

图像加密算法是保证图像在网络环境中传输安全性的主要途径之一,本方案对图像进行两次置乱以实现加密的目的.以尺寸为m×n(mod(m,16)=0,mod(n,16)=0)的图像为例,按16×16的方阵为标准对图像进行分块后,每行由n/16个宏块构成且共有m/16个宏块行,令M=m/16,N=n/16.选取任意X,Y作为密钥参数,水印图像加密流程如下:

1)以 (X+k1Y)为种子,k1=0,1,…,M-1,使用陷门单向函数生成伪随机序列α,根据伪随机序列α产生用于每一个宏块行的置乱矩阵P.

2)根据置乱矩阵P,对图像的每一个宏块行中的宏块进行重新排列,实现第一次置乱加密.

3)重复上述步骤,直至图像中M个宏块行中的宏块全部被置乱.

4)以 (Y+k2X)为种子,k2=0,1,…,N-1,使用陷门单向函数生成伪随机数R和伪随机序列β,产生用于AC系数置乱矩阵T.

5)根据置乱矩阵T,对量化后基本单元中前R个AC系数做第二次置乱.

6)重复步骤4)、5),直至图像中所有8×8方阵AC系数均被置乱.

图2 “Barbara”经过两次小波变换

1.3 水印预处理

1)对置乱后的图像进行二级小波分解,再分别对其逼近系数和细节系数按列读取后变为一维序列{Ai},{Dj},根据需要嵌入的数据量确定LA、LD的取值,然后进行量化(LA、LD分别是逼近系数和细节系数分解后的比特位长度).量化公式为:

4)将数据0转换成-1,用PN序列对其进行调制,即得到待嵌入的二进制数据流W,这里的PN序列即为水印的密钥.

2 水印嵌入过程

2.1 图像块的分类

本文采用了文献[6]的方法将原始图像的图像块分为3类:第1类(S1)背景亮度较高、纹理复杂,第3类(S3)背景亮度较低、纹理简单,其余为第2类(S2).

将大小为M×M的载体图像I进行8×8分块DCT变换,第k(k=1,2,…,Ki,Ki=M×M/64)块的DCT系数阵为Ck(u,v),直流系数Ck(1,1)反映该子块的背景亮度,其纹理复杂度可通过估计该子块的空间频率分布来确定,由于人类视觉系统对不同空间频率成分具有不同的敏感程度,可采用JPEG量化表Qm对Ck(u,v)进行量化并用Cqk(u,v)=round(Ck(u,v)/Qm)(1≤u,v≤8)进行分类,若Cqk(1,1)>t1且nnz(Cqk(u,v))>n1,则Ck(u,v)∈S1,若Cqk(1,1)

2.2 水印的嵌入

将调整后的DCT系数阵进行二维DCT逆变换,即得到嵌入水印后的图像.图3为512×512的原始图像“Barbara”,图4为嵌入水印后的图像,从视觉效果上看嵌入水印前后两图没有什么差别,这说明该算法具有很好的不可见性.同时,从图5中可以看出,水印嵌入强度主要分布在右下角和部分纹理区,而在低亮度、高亮度及平滑区较弱.

图3 原始图像

图4 嵌入水印后图像

图5 两图像差放大5倍后的图像

3 水印提取过程

确定所嵌入的水印值.

4 仿真实验及攻击分析

仿真实验以512×512的灰度图为宿主,32×32的二值图为水印.LA,LD分别取值为8,6;X,Y分别取值为20,10;q1,q2,q3分别取值为30,24,18.本文攻击实验除JPEG有损压缩外均是在matlab 7.0上完成的,以下给出算法的部分鲁棒性实验结果及其抗攻击性能分析.

图6(a)~(f)分别是对含水印图像进行品质因子为80,70,60,50,40,30的JPEG压缩后提取出的水印,恢复水印相似值分别为1,0.997 2,0.915 4,0.866 3,0.804 5,0.728 5.可见算法能经受一定的JPEG有损压缩.

图6 含水印图像经JPEG压缩后提取出的水印

图7(a)是水印图像经平滑滤波后提取的水印结果,NC值为0.970 3;图7(b)~(f)则分别是经3像素运动模糊、7%的颗粒噪声、叠加强度为6%的高斯噪声、10%的均匀噪声、5%的椒盐噪声后提取出的水印,恢复水印相似值分别为1,0.697 2,0.754 6,0.895 3,0.854 2,0.812 5.

图7 平滑滤波与噪声叠加实验

图8(a)~(d)分别是截去含水印图像左上角1/4,保留右上角1/4,放大两倍再恢复,缩小一半再恢复后提取的水印,相似值分别为0.882 3,0.823 5,0.902 6,0.738 2.图8(e)、(f)则是对其施行10%挤压操作和10%旋转扭曲后再提取的水印,恢复水印基本可识别,相似值分别为0.760 2,0.754 8.

图8 经裁剪、挤压和重采样处理后的提取结果

从上述实验结果可以看出,本方案对压缩因子大于30的JPEG压缩、大规模剪切有较好稳健性,对于噪声添加、缩放及一些轻微几何变形也具有一定的鲁棒性.

为了说明本文提出算法的性能,将本文算法与文献[7]的方法进行比较,如表1所示,数据显示,本文算法的PSNR及NC值均高于文献[7]且有更优的码率增长,更适合网络传输.

表1 水印算法性能对比

[1] 高光勇,吴维勇,彭欣健,等.基于小波分析的盲灰度水印算法[J].郑州大学学报:理学版,2010,42(2):53-56.

[2] 刘瑞祯,谭铁牛.数字图像水印研究综述[J].通信学报,2006,21(8):39-48.

[3] 仝瑞阳,耿永军,朱雪芹.基于离散余弦变换的数字水印算法[J].郑州大学学报:理学版,2005,37(3):58-60.

[4] 张专成,张殿富,闫小萍.一种鲁棒的基于DWT域自适应量化步长的图像盲水印算法[J].中国图像图形学报, 2006,4(8):840-847.

[5] Ganic E,Dexter S D,Eskicioglu A M.Embedding multiple watermarks in the DFT domain using low and high frequency bands[J].SPIE,2005(5681):175-184.

[6] 钟桦,焦李成.自适应灰度级数字水印技术[J].计算机学报,2002,25(5):1364-1370.

[7] Tang L.Methods for encryption and decryption MPEG video data efficiently[C]//Proceedings of the Fourth ACM International Multimedia Conference.Boston,1996:219-229.

猜你喜欢
鲁棒性加密噪声
舰船通信中的噪声消除研究
一种新型离散忆阻混沌系统及其图像加密应用
武汉轨道交通重点车站识别及网络鲁棒性研究
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
基于确定性指标的弦支结构鲁棒性评价
一种基于熵的混沌加密小波变换水印算法
汽车制造企业噪声综合治理实践
加密与解密
一种基于三维小波变换的鲁棒视频水印方案
汽车变速器啸叫噪声处治