APP下载

基于DCT的大容量二值水印嵌入新算法

2014-03-16窦永梅

电子设计工程 2014年9期
关键词:二值含水鲁棒性

窦永梅

(运城学院 物理与电子工程系,山西 运城044000)

随着Internet及数字媒体技术的飞速发展,数字化的文本、音频、图像、视频等已应用到各行各业,由此带来的信息安全与版权保护的问题就显得尤为重要[1],数字水印技术逐渐得到国内外研究学者的重视,成为近年来一个非常热门的研究领域[2]。

具体到图像水印领域,空间域算法如最低有效位法(LSB)算法与patchwork算法等,一般直接修改图像的像素,简便易行,但大部分算法鲁棒性不强,抗攻击能力较差[3]。变换域水印嵌入算法通常修改部分变换域系数来嵌入水印:基于DCT变换的方法主要为交换、修改部分中频系数等[4],也有部分算法为增强鲁棒性,不选中频系数,而是选取直流系数实现水印的嵌入;DWT域因其良好的时频特性得到了很多研究者的重视,其最大好处是在不同子带可通过实验选取不同的水印嵌入强度来提升算法鲁棒性[5]。文献[6]将差分进化算法和奇异值分解(SVD)思想相结合实现水印嵌入,算法鲁棒性较好,但基于SVD的算法最大问题是无法实现水印的盲提取。文献[7]结合DWT与DCT嵌入二值水印虽取得了较好的实验结果,但是嵌入的水印容量不够大。

传统的基于DCT变换的二值水印嵌入算法通常是在8×8分块系数矩阵中选择一对中频系数实现1bit水印信息的嵌入,以512×512灰度载体图像为例,可实现64×64二值水印信息的嵌入。即使每块系数矩阵选择两对共4个中频系数实现2bit水印信息的嵌入,512×512灰度载体图像仅能实现两个64×64二值水印信息的嵌入。本文针对传统方法水印嵌入容量较小的问题,提出的一种新的基于DCT的大容量二值水印嵌入算法,载体图像分块DCT变换后每块选择4个中频系数进行排序,充分利用两两之间的3个差值关系,若待嵌入水印位为0,通过改变系数值使得差值大于或等于阈值A,若待嵌入水印位为1,通过改变系数值使得差值等于阈值B,即每块仅选择4个系数值但成功实现了3bit二值水印信息的嵌入。仍以512×512灰度载体图像为例计算,运用本文算法可实现3个64×64二值水印信息的嵌入,水印嵌入容量大大优于传统方法,安全性得到了极大地提升。

1 水印图像置乱理论

本文采用二值有意义图像作为待嵌入水印。为增加安全性,嵌入前首先进行Arnold置乱,目的是为了消除相邻像素间的相关性。二维Arnold置乱变换公式如下[8]:

其中,(i,j)∈ {0,1,2,…M-1 }代表 图像像素点原先位置 ,(i′j′)代表经置乱变换后原先像素点的新位置,M代表图像矩阵 的 阶 数 ,mod M是 为 了 确 保 i′和 j′仍 属 于 集 合{0,1,2,…M-1 }。

2 水印的嵌入与提取

2.1 水印嵌入算法

水印具体嵌入步骤如下:

1)对选取的3个有意义二值水印图像分别记作J1“运城学院”、J2“物理与电子工程系”及J3“窦永梅印”,均进行5 次 Arnold 置乱加密处理,置乱后记作 J11、J21、J31。

2)将载体图像进行8×8分块DCT变换,在每一个子块中挑出4个中频系数,文中用K(a,b)表示(a,b)位置处的系数值,将 K(4,5)、K(5,4)、K(6,2)、K(3,5)由大到小进行排序,将排序后的值依次赋给上述所选取的4个中频系数值,使得赋值后的系数满足 K(4,5)>K(5,4)>K(6,2)>K(3,5)。

3)水印J11嵌入规则如下:

当嵌入 “0”时,若 K(4,5)-K(5,4)<A,则;当嵌入 “1”时,则K(4,5)=K(5,4)+B。通过对水印透明性与算法鲁棒性进行综合考虑,式中A和B取值由多次仿真试验的psnr值确定,峰值信噪比psnr用来衡量水印嵌入前后载体图像的差别,已有的实践证明,当psnr大于或等于38 dB时,人眼分辨不出嵌入水印前后图像的区别,此处取A=12,B=6,,psnr=38.636 1 dB,符合要求。

4)水印 J2′嵌入规则如下:

当嵌入 “0”时,若 K(5,4)-K(6,2)<A,则 K(5,4)=K(5,4)+A。由于在水印J1′嵌入过程中K(4,5)和K(5,4)设定了特定的大小和差值关系,为使得修改K(5,4)值不影响与K(4,5)的大小关系,需同步增大K(4,5)值,即K(4,5)=K(4,5)+A。 当嵌入 “1”时,则K(6,2)=K(5,4)-B,为了使得K(3,5)的值小于K(6,2)的值,需,K(3,5)=K(5,4)-A其中A和B取值同上。

5)水印J3′嵌入规则如下:

当嵌入 “0”时,若 K(6,2)-K(3,5)<A,则 K(3,5)=K(3,5)-A;当嵌入信息为“1”时,则K(3,5)=K(6,2)-B,其中A和B取值同上。

6)对完成水印信息嵌入的上述各个8×8子块均进行DCT逆变换得到含水印载体图像。

2.2 水印提取算法

水印信息的提取具体步骤如下:

1)对含水印图像进行8×8分块DCT变换,选取并依次比较每块中的 4 个中频系数值 K(4,5)、K(5,4)、K(6,2)、K(3,5)两两差值的大小来确定水印信息。

2)J1′水印提取规则为:

如果 K(4,5)-K(5,4)≥A-2,则水印位为“0”,否则水印位为“1”。此处之所以差值与A-2而非A比较是考虑到含水印图像遭受攻击后可能影响变换域系数值,为保证水印信息提取的准确性,阈值设置了一定的浮动范围。

3)J2′水印提取规则为:

如果 K(5,4)-K(6,2)≥A-2,则水印位为“0”,否则水印位为“1”。

4)J3′水印提取规则为:

如果 K(6,2)-K(3,5)≥A-2,则水印位为“0”,否则水印位为“1”。

5)将 J1′、J2′、J3′再分别进行 5 次 Arnold 置乱反变换,就能够得到原始嵌入的二值水印图像J1、J2、J3。

3 仿真实验和结果分析

本文通过MATLAB软件进行算法可行性的仿真实验,选取 512×512×256 的“PEPPERS”灰度图像作载体,3 个 64×64×2二值有意义图像作为待嵌入水印。采用峰值信噪比psnr来衡量嵌入水印前后图像的差别,其值越大越好;采用归一化互相关系数来衡量提取恢复出的水印和嵌入水印的相似度,其值越接近于1越好,具体公式为:

其中 M×N 代表图像的大小,W(x,y)、W′(x,y)代表不含水印和含水印图像像素位置为(x,y)的灰度值,当psnr≥38 dB即可满足人眼的不可感知性。

其中M、N仍代表图像大小,W(x,y)、W′(x,y)代表位置为(x,y)的原始待嵌入水印和提取恢复出水印的灰度值,nc值最大为1。

3.1 水印嵌入与提取实验

运用本文算法进行水印的嵌入与提取,原始选择的载体图像、待嵌入的二值水印图像如图1所示。

图1 原始载体图像及3个待嵌入二值有意义水印图像Fig.1 Original cover image and the threemeaningful binary watermarks to be embedded

经Arnold 5次置乱后的水印效果如图2所示,可以看出之前的二值有意义水印图像已分辨不出,效果有些像噪声,安全性大大增强。

运用本文算法实现水印嵌入,嵌入后载体图像如图3(a)所示,其为38.6361dB,符合人眼不易感知性要求。在未受到任何攻击的情况下提取出的水印经恢复后的图像如图3(b)—(d)所示,归一化相似度分别为 0.9995、0.9994、0.9992,均非常接近于1,几乎可以不失真地提取出原始水印。

3.2 抗裁剪攻击实验

对含水印载体图像进行不同部位的裁剪攻击实验,攻击后水印提取恢复效果如图4所示。

图2 原始待嵌入二值水印经Arnold置乱后的效果Fig.2 Arnold transformation consequent of the original binary watermarks to be embedded

图3 含水印图像及未受攻击下提取并恢复出的水印效果Fig.3 Watermarked image and the effect of extracting and recovering

图4 算法抗裁剪攻击实验效果图Fig.4 Test results of the algorithm against various cutting attacks

3.3 抗噪声攻击实验

对含水印载体图像进行人为添加强度为0.000 2乘积性噪声攻击、添加强度为0.000 1高斯噪声攻击、添加强度为0.000 5脉冲噪声攻击实验,攻击后水印提取恢复效果如图5所示。

图5 算法抗噪声攻击实验效果图Fig.5 Test results of the algorithm against noise attacks

3.4 抗JPEG压缩攻击实验

对含水印载体图像进行质量因子Q=95的JPEG压缩攻击实验,攻击后水印提取恢复效果如图6所示。

由上述攻击实验能够看出,由于本算法是基于变换域而非空间域实现水印的嵌入,嵌入后信息分布在整个平面而非局部,算法抗不同程度的裁剪攻击能力较强;人为添加乘性、高斯、脉冲噪声,提取恢复出的水印效果较好,算法具备一定的抗噪声攻击能力;针对JPEG压缩攻击,在压缩因子为95时水印提取效果较好,算法抗JPEG压缩攻击能力较强。

图6 算法抗JPEG压缩攻击实验效果图Fig.6 Test results of the algorithm against JPEG compression

4 结论

本文提出的一种新的基于DCT的大容量二值水印嵌入算法,通过各类常规攻击实验表明对于裁剪、图像加噪、JPEG压缩等攻击具有较好的鲁棒性。相对于通常在每个分块DCT变换后系数矩阵选择一对中频系数嵌入1bit二值水印,本算法通过选择4个中频系数进行排序,充分利用两两之间的3个差值关系,通过修改系数值以使得差值满足特定的阈值,每块中实现了3bit二值水印的嵌入和盲提取,较传统算法水印嵌入容量增大为原来的3倍,体现了较明显的优势。但是,所提出的算法对于滤波、旋转、尺寸变换及更为复杂的一些几何攻击有待于进一步提升抗攻击能力。

[1]Cox IJ.Secure spread spectrum watermarking formultimedia[J].IEEE Transactions on Image Processing,1997,6(12):1673-1687.

[2]孙 圣 和,哲 明,夏 牧,等.数 字 水 印 技 术 及 应 用[M].北 京:科 学出版社,2004.

[3]苏庆堂,牛玉刚,刘贤喜.空域中实现基于DC系数的图像水印算法[J].计算机应用研究,2012,29(4):1441-1444.SU Qing-tang,NIU Yu-gang,LIU Xian-xi.Image watermarking algorithm based on DC components implementing in spatial domain[J].Application Researth of Computers,2012,29(4):1441-1444.

[4]Voloshynovskiy S,Pun T,Fridrich J,et al.Security of data hiding technologies[J].Signal Processing,2003,83(10):2065-2067.

[5]王向阳,杨艺萍,杨红颖.基于小波矩的抗几何攻击数字图像水印算法研究[J].中国图象图形学报,2010,15(1):15-19.WANG Xiang-yang,YANG Yi-ping,YANG Hong-ying.A new robust digital image watermarking based on wavelet moments[J].Journalof Image and Graphics,2010,15(1):15-19.

[6]王文辉,徐荣聪.基于差分进化算法改进SVD图像水印[J].计算机应用与软件,2011,28(7):277-280.WANG Wen-hui,XU Rong-cong.Improve SVD image watermarking based on differential evolution algorithm[J].Computer Applications and Software,2011,28(7):277-280.

[7]杜肖山,廖述剑.一种DWT与DCT相结合的图像水印算法[J].计算机技术与发展,2011,21(1):147-150.DU Xiao-shan,LIAO Shu-jian.A novel image watermarking algorithm based on DWT and DCT[J].Computer Technology and Development,2011,21(1):147-150.

[8]姚军财.基于离散余弦变换的图像半盲水印技术研究[J].电视技术,2012,36(17):37-39.YAO Jun-cai.Semi-blind watermarking technique of digital image based on discrete cosine transform[J].Ideo Engineering,2012,36(17):37-39.

猜你喜欢

二值含水鲁棒性
镇北油田某油藏延长低含水采油期技术研究
含水乙醇催化制氢催化剂研究
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
基于确定性指标的弦支结构鲁棒性评价
基于二值形态学算子的轨道图像分割新算法
面向网络边缘应用的新一代神经网络
复杂孔隙结构低阻油层含水饱和度解释新方法
基于稀疏表示的二值图像超分辨率重建算法
基于曲率局部二值模式的深度图像手势特征提取
基于非支配解集的多模式装备项目群调度鲁棒性优化