APP下载

一种新的DWT与DCT相结合的图像盲水印算法

2016-04-11窦永梅

电脑知识与技术 2016年4期

摘要:图像中嵌入的多为二值水印,抗攻击能力有待提高,为了增强算法的鲁棒性,提出基于DWT与DCT结合的新的二值水印图像嵌入算法。该算法首先对二值水印进行Arnold置乱预处理,再对置乱后的水印信息进行混沌加密,对所选取的载体图像进行两级小波变换,选择第二层的细节子带HH2嵌入加密后的二值水印。嵌入水印时对所选取的细节子带HH2进行[8×8]分块DCT变换,然后采用交换中频系数并引入阈值的方法将加密后的水印嵌入,为增强算法的抗攻击能力,通过仿真实验选择合适的中频系数和阈值。结果表明,该文提出的算法抵抗剪切、高斯及脉冲等噪声、直方图均衡化、调整亮度及对比度、JPEG压缩攻击的效果较好。

关键词:二值水印图像;离散余弦变换;离散小波变换;Arnold置乱;混沌加密;盲提取

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)04-0172-03

A New Image Watermarking Algorithm Based on DWT and DCT

DOU Yong-mei

(Physics and Electronic Engineering, Yuncheng University, Yuncheng 044000, China)

Abstract: For embedding in the cover image are mostly binary watermarks, anti-attack capability needs to be improved. In order to enhance watermarking robustness of the algorithm, this paper proposes a binary watermarking algorithm based on DWT and DCT. Firstly, the binary watermark image is preprocessed by Arnold scrambling, and then the watermark chaotic encryption. Secondly, after decomposing the selected cover image into the secondary layer, HH2 of the secondary layer are selected to embed encrypted watermark. HH2 is applied [8×8]block DCT and adopt an improved approach to embed encrypted watermark by switching two middle frequency coefficients. In order to enhance the robustness, the embedding suitable intensity factor with the subband. Finally, the simulation experiments show that the method has strong robustness to cutting, image adding noise, histogram equalization, JPEG compression.

Key words: binary watermark image; discrete cosine transform; discrete wavelet transform; arnold scrambling; chaotic encryption ; blind extraction

1 概述

近年来通过互联网获取数字图像及音视频内容非常便捷,数字化作品传播非常迅速,随之而来的如何解决该类作品的版权保护问题显得尤为突出[1],数字水印技术由于既能够与被保护数据紧密结合,又具备一定的安全性和水印的透明性,逐步成为国内外一些学者的热门研究对象[2]。

在图像水印领域,空间域算法通常直接改变图像的像素,计算简单,但大部分算法抗攻击能力有待提升[3]。频域水印嵌入算法一般通过修改个别变换域系数的思想嵌入水印:文献[4]之类的算法主要是基于DCT变换的水印嵌入,有些是交换并修改中频系数,有些是选择直流系数;文献[5] 之类的算法成功运用离散小波变换(DWT)良好的时频特性实现了水印的嵌入,文献[6]将奇异值分解与差分进化相结合实现水印的嵌入,抗攻击能力较强,但基于奇异值分解普遍无法实现水印的盲提取。文献[7]结合Arnold置乱与DCT嵌入二值水印取得了较好的实验结果,但嵌入的水印只进行了置乱,未进一步经过加密处理,抗攻击能力有限。此外,由于离散小波变换的图像水印算法具备很好的视觉效果以及良好的时频特性,本文将置乱后的水印进行混沌加密处理并结合DWT的优势,运用改进的交换中频系数的方法成功实现了水印的嵌入与提取,且具备一定的抗攻击能力。

2理论基础

2.1 水印的Arnold置乱

二维Arnold置乱变换公式如下[8]:

[i'j'=1112ijmodM] (1)

其中[i,j][∈0,1,2,???M-1]表示图像像素点的原位置,[i',j']表示经Arnold置乱后该像素点的新位置,[M]表示图像矩阵的阶数,[modM]目的是为了保证[i']和[j']依然属于集合[0,1,2,???M-1]。

2.2 水印的混沌加密

Logistic映射定义为:

[xk+1=μxk(1-xk)] [k=0,1,2,3???] (2)

其中,[0≤μ≤4]称为分枝参数,[xk∈0,1],当[3.5699456???<μ≤4]时,该映射工作于混沌状态,为类随机现象,分枝参数[μ]与初始值[x0]作为水印嵌入算法的密钥。

3 水印的嵌入与提取

3.1 水印嵌入算法

1)对选取的二值水印图像[J]进行8次Arnold置乱处理,置乱后记作[J']。

2)选择初始值[x0=0.12306],分枝参数取值[μ=3.8],运用如下公式[xl+1=μxl(1-xl)],[l=0,1,2,3???]产生长度为[N×N]的Logistic混沌序列,记作[m],再进行运算[mod1000×m,256]来获得新序列[m′],进一步将[m′]序列的各元素值先转变为[uint8]型,然后再进行二值化,最终产生长度为[N×N]的0与1的二值序列[m′′]。

3)从左到右,从上到下读取[J']各个元素值分别与[m′′]中的值异或,来实现置乱水印的混沌加密,运算结果依然对应写回[J']。

4)如在小波变换的第一层细节子带嵌入水印,由于是高频部分,易受噪声干扰,故对载体图像[I]进行两级小波变换,而在第二级小波分解的逼近子带嵌入水印会影响载体图像的视觉效果。本算法为获得较好的鲁棒性及水印的不可见性,选取图像二级小波分解的HH2,即第二层对角线细节子带嵌入水印。

5)将所选取的细节子带HH2进行[8×8]分块DCT变换[9-10],在每一子块中选取一对中频系数嵌入水印,本文用[Ka,b]代表[a,b]位置的系数。实验中选取了几对中频系数,如[K4,6]和[K6,4];[K3,6]和[K6,3];[K2,7]和[K7,2];[K1,8]和[K8,1]进行仿真,其对应的峰值信噪比[psnr]值分别为47.8935dB、49.0625dB、49.2763dB、49.8361dB,故选择[psnr]值最大的[K1,8]和[K8,1]这对中频系数。

6)由以上结论可知,在每一DCT变换子块中选择中频系数[K1,8]与[K8,1]来嵌入水印,方法如下:

当所嵌入的二值水印信息为“0”时,使得[K1,8]小于或等于[K8,1],若不满足,即[K1,8]大于[K8,1],则交换这两个中频系数值。

当所嵌入的二值水印信息为“1”时,使得[K1,8]大于[K8,1],否则,交换这两个中频系数值。

7)为提升算法抗攻击能力,进一步作如下修改:

当所嵌入的二值水印信息为“0”时,即[K1,8]小于或等于[K8,1],如果[K8,1-K1,8]小于[B]时,则将[K8,1]增加[B2],[K1,8]减小[B2];

当所嵌入二值水印信息为“1”时,即[K1,8]大于[K8,1],如果[K1,8-K8,1]小于[B]时,则将[K1,8]增加[B2],[K8,1]减小[B2]。

其中[B]取值由多次仿真实验结果得出,对水印不可见性及算法鲁棒性的折中,取[B=15]。

8)对完成水印嵌入的上述[8×8]子块分别进行DCT逆变换。

9)将上述得到的变换域系数值进行两级小波逆变换,获得含水印图像。

3.2 水印提取算法

1)对含水印载体图像进行两级小波变换,从第二层的细节子带HH2中提取水印。

2)对该子带先进行[8×8]分块DCT变换,再比较中频系数[K1,8]、[K8,1]值,如果[K1,8]小于[K8,1],则水印信息为“0”,否则,水印信息为“1”,提取出的水印记作[V]。

3)以初始值[x0=0.12306],分枝参数[μ=3.8]产生与嵌入步骤(2)相同的二值序列[m′′]。

4)按行依次读取[V]获得的序列分别与[m′′]中的各元素值对应异或,将计算结果重新写回矩阵[V],从而实现水印的混沌解密。

5)将[V]再进行8次Arnold置乱反变换,恢复出原始嵌入的二值水印信息。

4 仿真结果分析

本文通过MATLAB软件对算法进行了仿真实验,选取[1024×1024]的256个灰度级的图像作载体,两级小波变换后,尺寸变为[256×256],进行[8×8]分块,每个子块嵌入1bit水印,故原始水印选取[(256×256)÷(8×8)=32×32]的“窦永梅印”二值图像。以峰值信噪比[psnr]来衡量原始载体图像和嵌入水印后图像的差异,其值越大越好[11];采用归一化互相关系数[nc]来衡量提取并恢复的水印和原始待嵌入水印的相似度,最大为1,公式为[12]:

[psnr=10lgM×N×2552x=1My=1NWx,y-W′x,y2] (3)

其中[M×N]表示图像的尺寸,[Wx,y]、[W′x,y]表示嵌入水印前后图像像素位置[x,y]处的灰度值,当[psnr≥38dB]人眼不可见差异,即水印获得了很好的透明性[12]。

[nc=x=1My=1NWx,y×W′x,yx=1My=1NW2x,yx=1My=1NW′2x,y] (4)

其中[M]、[N]仍表示图像尺寸,[Wx,y]、[W′x,y]表示位置为[x,y]的原始水印和提取并恢复的水印灰度值。原始载体图像、原始二值水印图像以及经Arnold 8次置乱后的水印效果如图1所示,之前的“窦永梅印”二值水印图像已分辨不出,安全性得到显著提升。

运用本算法嵌入水印后,如图2(a)所示,其[psnr]为52.9386dB,提取并恢复后的水印图像如图2(b)所示, [nc]为1。

(a)含水印图像 (b)提取并恢复后的水印

由图3和表1看出,算法抗剪切攻击能力较强;对于图像增亮、变暗、调整对比度、直方图均衡化、添加乘积性、高斯、脉冲噪声,提取恢复出的水印效果均较好;而对rotate 5 旋转,水印提取恢复效果不理想,算法抗旋转攻击能力较弱;对JPEG压缩攻击,在压缩因子为75、甚至55的情况下,该算法也表现出一定的鲁棒性。

5 结束语

本文提出的图像盲水印算法,抵抗剪切、高斯及脉冲等噪声、直方图均衡化、调整亮度及对比度、JPEG压缩攻击的效果较好,算法鲁棒性较强。但是,所提出的算法对于旋转攻击效果有限。综上,本算法对于后续进一步研究具有一定的借鉴性。

参考文献:

[1] Cox I J. Secure Spread Spectrum Watermarking for Multimedia [J]. IEEE Transactions on Image Processing,1997,6 (12) :1673-1687.

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

[3] 苏庆堂,牛玉刚,刘贤喜.空域中实现基于DC系数的图像水印算法[J].计算机应用研究,2012,29(4):1441-1444.

(下转第185页)

(上接第174页)

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

[5] 王向阳,杨艺萍,杨红颖.基于小波矩的抗几何攻击数字图像水印算法研究[J].中国图象图形学报,2010,15(1):15-19.

[6] 王文辉,徐荣聪.基于差分进化算法改进SVD图像水印[J].计算机应用与软件,2011,28(7):277-280.

[7] 曹晓钧,廖述剑.基于DCT域结合Arnold置乱的一种盲水印算法[J].电脑知识与技术,2009,5(9):2410-2411.

[8] 马宁.基于Arnold变换和DCT变换的图像水印算法[J].广西师范大学学报:自然科学版,2011,29(3):163-167.

[9] 成年胜.基于混沌置乱离散余弦变换的图像水印研究[J].计算机仿真,2011,28(6):288-291.

[10] 季秀兰.一种多变换结合的图像水印加载技术研究[J].计算机测量与控制,2011,19(11):260-262.

[11] 林代茂.信息安全-系统的理论与技术[M].北京:科学出版社,2008.

[12] 初勇波,冯子亮.一种空间域和频率域结合的数字水印算法[J].计算机工程与应用,2008,44(8):115-116.