基于DWT与DCT的灰度水印图像嵌入算法

2014-10-14 09:27窦永梅
计算机与现代化 2014年2期
关键词:子带鲁棒性灰度

窦永梅

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

0 引言

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

具体到图像水印领域,空间域算法如最低有效位法(LSB)算法与Patchwork算法等,一般直接修改图像的像素,简便易行,但大部分算法鲁棒性不强,抗攻击能力较差[3]。变换域水印嵌入算法通常修改部分变换域系数来嵌入水印:基于DCT变换的方法主要为交换、修改部分中频系数等[4],也有部分算法为增强鲁棒性,不选中频系数,而是选取直流系数实现水印的嵌入;DWT域因其良好的时频特性得到了很多研究者的重视,其最大好处是在不同子带可通过实验选取不同的水印嵌入强度来提升算法的鲁棒性[5]。文献[6]将差分进化算法和奇异值分解(SVD)思想相结合实现水印嵌入,算法鲁棒性较好,但基于SVD的算法最大问题是无法实现水印的盲提取。文献[7]结合DWT与DCT嵌入二值水印取得了较好的实验结果,但嵌入的是黑白水印,每个像素点用一个比特即“0”或“1”来表示,嵌入容量有限。另外,目前实际应用中,二值水印包含的信息不够丰富,具有一定的局限性,为了提高水印信息的直观性和普遍性,希望嵌入的水印在不影响载体图像质量和算法复杂性的基础上内容更加丰富。本文针对这一问题作了改进,将灰度水印嵌入到载体图像中,即水印图像每个像素点有256个灰度级,用8比特“0”、“1”组合来表示,从而实现大容量水印信息的嵌入。

水印图像位平面分解实验表明,低四位位平面(即第1、2、3、4位平面)的取值对原图像影响较小,而高四位位平面(即第5、6、7、8位平面)的取值对原图像影响较大,几乎可以完全反映原图像的信息。为了增大水印嵌入容量,本文将经过置乱的灰度水印图像的高四位位平面分别嵌入载体图像二级小波分解的LL2、LH2、HL2和HH2,即第二层的逼近子带与细节子带,嵌入时对各子带进行分块DCT变换并结合改进型相交换中频系数的思路,在不同的子带由实验选择不同的嵌入因子以增强算法鲁棒性。

1 相关理论

1.1 水印图像置乱

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

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

1.2 水印图像位平面分解

图1 256级灰度图像的8个位平面

传统的LSB水印嵌入算法通常是将灰度载体图像的最低位平面置换为二值水印信息。256级的灰度图像可由8个位平面表示,每个位平面的作用都不同,位平面越高对图像影响越大,位平面越低影响越小,甚至人类视觉系统无法察觉。下面将灰度级为256的“运城学院校徽”图像进行位平面分解,实验结果如图1所示,可以看出高四位位平面几乎可以完全反映原水印图像的信息,低四位位平面类似于噪声。因此,本文考虑舍弃待嵌入灰度水印图像的低4位位平面,仅将高4位位平面作为水印信息嵌入到原始载体图像中。

2 水印的嵌入与提取

2.1 水印嵌入算法

水印嵌入步骤如下:

(1)对选取的具有256灰度级的“运城学院校徽”水印图像J进行5次Arnold置乱处理,置乱后记作J'。

(2)对载体图像I进行二级小波变换,考虑到在第一层细节子带嵌入水印信息,易受噪声、低通滤波等影响,本算法为获得较好的鲁棒性,选取图像二级小波分解的LL2、LH2、HL2和HH2,即第二层的逼近子带与细节子带嵌入水印。

(3)将置乱后水印图像J'的第8、7、6、5位平面分别嵌入选取的LL2、LH2、HL2、HH2四个子带中。

(4)将逼近子带 LL2进行8×8分块 DCT变换[9-10],在每一个子块中挑出一对中频系数实现水印嵌入,本文用K(a,b)表示(a,b)位置处的系数值。采用峰值信噪比PSNR的值衡量水印嵌入前后载体图像的差别,已有的实践证明,当PSNR大于或等于38 dB时,人眼分辨不出嵌入水印前后图像的区别。本文选取了一系列中频系数对,如K(4,5)和K(5,4);K(3,6)和 K(6,3);K(2,7)和 K(7,2);K(1,8)和K(8,1)进行仿真,其对应的PSNR值分别为34.7510 dB、36.6908 dB、38.0024 dB、37.7135 dB,故K(2,7)和K(7,2)这对中频系数是最佳选择。

(5)根据上述结论,在每一个子块中挑出一对最佳中频系数K(2,7)和K(7,2)来实现水印嵌入,具体规则如下:

①当所嵌入的灰度水印图像第8位平面的值为“0”时,使得 K(2,7)小于或等于K(7,2),如果不满足,即K(2,7)大于K(7,2),则将这两个中频系数的值相交换。

②当所嵌入的水印图像第8位平面的值为“1”时,使得K(2,7)大于K(7,2),否则,相交换系数值。

(6)为提升算法鲁棒性,即使相交换系数值,仍需作以下修改:

①当所嵌入的灰度水印图像第8位平面的值为“0”时,即K(2,7)小于或等于K(7,2),如果K(7,2)-K(2,7)小于A 时,则将K(7,2)增加A,K(2,7)不变。

②当所嵌入的灰度水印图像第8位平面的值为“1”时,即 K(2,7)大于K(7,2),如果K(2,7)-K(7,2)小于A时,则将K(2,7)增加A,K(7,2)不变。

A的取值由多次试验确定,对水印透明性与算法鲁棒性进行综合考虑,此处取A=6。

(7)对完成水印信息嵌入的上述各个8×8子块均进行DCT逆变换。

(8)LH2、HL2和HH2嵌入水印位平面信息的过程同LL2嵌入水印过程相类似,考虑到人眼对高频信息不如低频部分敏感,为增强算法鲁棒性嵌入因子由A变为B(取B>A),B取值也同A一样由多次实验确定,在此取B=10。

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

2.2 水印提取算法

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

(1)对含水印图像进行二级小波变换,选取第二层的逼近子带LL2、细节子带LH2、HL2、HH2共4个子带提取水印信息。

(2)对上述选择的4个子带先各自进行8×8分块DCT变换,再比较中频系数K(2,7)、K(7,2)值来确定水印信息:如果K(2,7)小于K(7,2),则水印位为“0”,否则,水印位为“1”。

(3)将LL2、LH2、HL2以及 HH2每个子带提取的水印信息分别作为灰度水印图像的第8、7、6、5位平面,而低四位的位平面全部置“0”,从而重构出所嵌入的灰度水印图像J'。

(4)将J'再进行5次Arnold置乱反变换,就能够得到原始嵌入的灰度水印图像J。

3 仿真实验和结果分析

本文通过Matlab软件进行算法可行性的仿真实验,选取大小为1024×1024的256灰度级的图像“Fu”作载体,该载体图像进行一级小波变换,大小变为512×512,二级小波变换后,大小变为256×256,进行8×8分块,一块嵌入1 bit水印信息,故待嵌入水印选取(256×256)÷(8×8)=32×32的“运城学院校徽”灰度图像。采用峰值信噪比PSNR来衡量嵌入水印前后图像的差别,其值越大越好[11];采用归一化互相关系数nc来衡量提取经恢复后的水印和嵌入水印的相似度,其值越接近于1越好,具体公式为[12]:

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

其中M、N仍代表图像大小,W(x,y)、W'(x,y)代表位置为(x,y)的原始待嵌入水印和提取经恢复后的水印的灰度值,nc值最大为1。原始选择的载体图像、待嵌入灰度水印图像以及经Arnold 5次置乱后的水印效果如图2所示,之前的“运城学院校徽”灰度水印图像已分辨不出,效果有些像噪声,安全性大大增强。

图2 原始载体图像、待嵌入水印及水印经置乱后的效果

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

图3 嵌入水印后的图像及提取经恢复后的水印

文献[7]算法结合DWT与DCT嵌入二值水印,嵌入容量为512×512灰度载体图像实现32×32×1=1024 bits信息,故1024×1024灰度载体图像可实现64×64×1=4096 bits信息。本文算法1024×1024灰度载体图像实现了32×32灰度水印图像的嵌入,嵌入容量为32×32×8=8192 bits信息,为文献[7]算法嵌入容量的2倍。

对含水印载体图像进行各类常规攻击实验,攻击后含水印载体图像及水印提取恢复效果如图4所示。针对每种具体的攻击实验评价结果如表1所示,其中PSNR代表攻击前后含水印载体图像的差别,nc代表提取并恢复出的水印与原始水印的相似度。

表1 鲁棒性攻击测试评价标准

图4 攻击后含水印图像及提取经恢复后的水印

由图4和表1能够看出,由于本算法是基于变换域而非空间域实现水印的嵌入,嵌入后信息分布在整个平面而非局部,算法抗裁剪攻击能力较强;人为添加乘性、高斯、椒盐噪声,提取经恢复后的水印效果较好;而对高斯低通滤波、均值滤波、中值滤波攻击,选择第二层而非第一层逼近子带和细节子带嵌入水印图像高四位位平面信息的思路优势体现明显,表现出较好的鲁棒性;对直方图均衡化攻击,也表现出良好的鲁棒性;针对JPEG压缩攻击,在压缩因子为55时水印提取效果较好,甚至将压缩因子变为38的情况下,还可以获得一定的水印提取效果,算法抗JPEG压缩攻击能力较强。

4 结束语

本文提出的DWT与DCT相结合的灰度水印图像嵌入算法,通过各类攻击实验表明对于裁剪、图像加噪、滤波、直方图均衡化、JPEG压缩等常见攻击具有较好的鲁棒性。相对于通常嵌入的二值水印,本算法通过将灰度水印高4位位平面嵌入载体图像二级小波分解的4个子带中,实现了灰度水印的嵌入和盲提取,极大地增加了水印的嵌入容量。但是,所提出的算法对于旋转、尺寸变换等更为复杂的一些几何攻击有待于进一步提升抗攻击能力。

[1]Cox I J,Kilian J,Leighton F T,et al.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.

[4]Voloshynovskiy S,Pun T,Fridrich J,et al.Special issue on security of digital 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]杜肖山,廖述剑.一种DWT与DCT相结合的图像水印算法[J].计算机技术与发展,2011,21(1):147-150.

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

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

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

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

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

猜你喜欢
子带鲁棒性灰度
采用改进导重法的拓扑结构灰度单元过滤技术
一种基于奇偶判断WPT的多音干扰抑制方法*
基于灰度拉伸的图像水位识别方法研究
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
子带编码在图像压缩编码中的应用
基于确定性指标的弦支结构鲁棒性评价
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于灰度线性建模的亚像素图像抖动量计算
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析