于帅珍 谢道平
(安徽财经大学电子信息工程系,安徽 蚌埠 233030)
数字水印信号嵌入图像的方式有空域方式和变换域方式两种类型。空间域水印算法虽然简单,但抗攻击能力差,而变换域水印算法中的水印信息隐蔽性好、抗攻击能力较高,仍是目前研究的热点。[1-4]其中,小波变换(DWT)具有时频局部化多分辨率特性,对噪声攻击和压缩攻击具有良好的鲁棒性,但对几何攻击无能为力,[3]因为几何攻击会使小波系数的分布产生很大的影响,破坏其与水印的同步性。离散余变换(DCT)可以抵抗低通滤波、图像模糊等简单的攻击,[5]但在受到旋转攻击、剪切攻击等几何攻击时所提取出的水印信息会严重缺失。奇异值分解[6](SVD)虽然对几何攻击具有良好的鲁棒性,但其抗椒盐、高斯、滤波等攻击能力较弱。可见单变换域并不是对所有的常见攻击都具有鲁棒性,为了克服这一缺陷,在研究数字水印技术时可以将不同变换域的优良特性结合起来。
曲长波[7]提出先对原始图像进行DCT变换,然后在其左上角的低频变换系数取大小与数字水印相同的系数块同时进行SVD分解得到奇异值矩阵,最后利用加性准则将两奇异值矩阵结合得到含水印图像,该算法虽可以较好地抵抗有损压缩,但对噪声攻击、滤波攻击效果不理想。Singh[8]提出在DWT-DCT-SVD多变换域嵌入数字水印,该算法不仅能很好地抵抗噪声攻击、滤波攻击,而且在抗旋转攻击、剪切攻击方面也有所提高。叶天语[9]提出在DWT-SVD混合域中嵌入水印,抗攻击能力和种类都较单变换域有所提高,国内外的许多专家学者也从多变换域的角度出发提出了对应的水印算法。[6-12]
图像经过DCT变换得到一个频率系数矩阵,其左上角是一个直流系数,幅值最大,频率最低,以该直流系数为出发点,向右、向下方向系数值在减少,频率在增大,最右下角数值最低,频率最高。图像的高频分量反映的是图像的细节部分,离直流系数越远的高频频谱包含的图像信息越少,右下角附近的区域几乎不包含图像信息;而图像的大部分信息集中在直流系数及其附近的低频系数上,特别是直流系数上,若在载体图像的直流系数中嵌入水印可以减小嵌入的水印信息对载体图像的影响,又因直流系数值较大,会使水印嵌入强度增大,鲁棒性提高。因而直流系数常作为水印嵌入区域。
图像的奇异值分解是正交变换,它经过奇异值分解后得到两个正交矩阵,一个对角矩阵,其中对角矩阵对角线上的元素就是图像的奇异值。从图像处理的角度来看,图像奇异值有较强的稳定性,也就是说当图像受到较小的扰动时,其奇异值变化甚微,并且奇异值体现的是图像的内蕴特性而不是视觉特性,所以当在图像奇异值中嵌入水印信息时所引起的视觉失真较少,可以提高水印的鲁棒性和透明性。
水印信息是具有重要意义的信息,为增强它的安全性,在水印信息嵌入数字媒体之前就将其进行加密预处理。本文采用Arnold变换公式来对水印图像进行加密处理,将一幅有意义的图像变成杂乱无章的图像,从而隐藏了原始图像的真实信息,其中参数a、置乱次数m及图像的阶数n都作为信息安全的密钥,由于密钥复杂,水印信息的安全性较高。Arnold置乱公式为:
图1(a)是大小为256×256的灰度图像,它是参数a=1,变换周期为t=192时的Arnold
变换过程图,其变换周期为t=192。如果改变密钥a的大小或图像大小,置乱变换的周期t也会随之发生变化,周期t值越大,解密过程越复杂,水印系统的安全性也就越高,所以图像置乱时,我们尽量选择t值较长的a值和置乱效果较好的m值。
图1 原图像及其Arnold变换后的图像
水印嵌入流程如图2所示
图2 水印嵌入流程图
水印嵌入过程的具体步骤如下:
(1)根据流程图我们先对原始载体图像A按照8×8的大小进行分块,然后再对每一分块进行DCT变换,最后再从经过DCT变换的块中抽取它的第一个值也就是直流分量组成一个新的矩阵F。
(2)根据奇异值分解公式F=USVT对矩阵F进行奇异值分解得到两个正交矩阵U、V,一个对角矩阵S,它们都属于实数域,T为矩阵的转置。
(3)利用Arnold变换算法将原始水印图像W置乱,得到置乱后的水印W′,按表达式S+aW′将W′叠加到步骤(2)中的S矩阵中(用a来控制水印嵌入能量)得到一个新的矩阵,然后将该新矩阵再次进行奇异值分解得到三个矩阵U1、V1、S1,该过程可表示为:S+aW′=>USVT111
(4)将步骤(2)中的U、VT和步骤(3)中的S1相乘后得到矩阵F′,这个过程可表示为:US1VT=>F′,用F′中的值替换步骤(1)中的F后进行DCT反变换得到含水印图像AW。
水印检测过程实质就是水印嵌入过程的逆过程,检测流程如下:
图3 水印检测流程图
水印检测过程的具体步骤如下:
(1)首先对受到攻击后的含水印图像A′W按照8×8的大小进行分块,然后再对每一分块进行DCT变换,从经过DCT变换的块中抽取它的左上角第一个值也就是直流分量组成一个新的矩阵F′W。
(2)对矩阵F′W进行SVD变换得到三个矩阵U′W、S′W、V+′TW,其表达式为 FW′=> U′WS′WV+′TW,将水印检测时得到的矩阵S′和水印嵌入时得到的矩阵U1、V1经过SVD反变换后得到矩阵B′W,其表达式为U1S′WV1T=> B′W。
(3)根据表达式(B′W-S)/a=>W′W得到初始水印,再对W′W进行Arnold反变换得到有含义的水印信息W′W, 其变换公式为
采用512×512大小的rice图像作为载体,64×64大小的“数字水印”图像作为水印,如图4所示。水印嵌入强度在a=0.1,Arnlod变换的密钥a=8,置乱周期t=64,置乱次数m=10时对含水印图像进行各种攻击测试。提取的水印质量由相似度NC、误码率Error来衡量。
图 4攻击测试采用的原图和水印图像
图 5未攻击测试时含水印图像及提取的水印
图5 为未受任何攻击处理情况下的含水印图像及提取的水印。比较图4、图5,从视觉上来看,水印嵌入前后两幅图像也没有区分,说明本文采用的算法能够很好地隐藏水印,具有较好的不可见性;提取的水印NC=1,从视觉上看原始水印和提取的水印也完全一致,说明能够准确地提取水印,能够起到版权保护的作用。
对含水印图像进行有损压缩攻击,其攻击结果如表1所示。通过实验发现当品质因数大于60时,提取的水印与原水印完全一样,相似为1,误码率为0;当品质因数为3时,含水印图像方块效应非常明显,图像严重失真,如图4所示,但是提取的水印相似度仍为0.8865,误码率只有0.0352,检测出的水印图像也很清晰。
表1 JPEG压缩攻击后水印检测结果
图6 含水印图像在不同的品质因数攻击下提取的水印及Q=3时的含水印图像
对含水印的图像旋转任意角度进行攻击,其检测出的水印如表2所示,相似度都大于0.99,检测出的水印图像非常清晰,可见本文算法完全能够抵挡旋转攻击。
表2 旋转攻击后水印检测结果
图7 含水印图像在不同旋转角度攻击下提取的水印及θ=450时的含水印图像
对含水印图像进行各种剪切攻击后检测出的水印从图6可以看出都非常清晰,从表3可以看出其与原水印相似度都在0.9以上,相似度很高,并且误码率很低,由此可以判断剪切攻击对含水印图像中的水印破坏很小,并且剪切的面积越小,对图像中水印的破坏也就越小,检测出的水印也就越清晰。
表3 剪切攻击后水印检测结果
图8 含水印图像在各种剪切攻击下提取的水印及含水印图像
当给含水印的图像添加方差为0.2的高斯噪声和方差为0.5的乘性噪声时,如图7所示图像污染相当严重,但从表4可以看出检测出的水印的相似度仍为0.99以上,从图7也可以看出检测出的水印非常清晰,所以本文算法可以完全抵制图像传送和处理过程中产生的噪声攻击。另外,从实验结果也可以看出,无论对图像进行缩放攻击,还是对对图像进行滤波攻击,对检测出来的水印质量影响都非常小,取得理想的检测效果。
表4 其他攻击后水印检测结果
图9 噪声攻击和滤波攻击后的含水印图像及其提取的水印
本文分析了单变换域水印算法的缺陷和优势,如基于DCT变换的水印算法虽可抵抗常见的攻击处理,但对旋转、剪切等几何攻击抵抗力差,基于SVD变换的水印算法虽然对几何攻击具有良好的鲁棒性,但其抗椒盐、高斯、滤波等攻击能力较弱,知道单变换域并不是对所有的常见攻击都具有鲁棒性,为了克服单变换域的缺陷,充分利用各单变换域的优良特性,提出了基于DCT-SVD联合水印算法,不仅对常规图像攻击具有较强的鲁棒性,而且对几何攻击也具有较强的鲁棒性,完全可以抵抗旋转和剪切等几何攻击,在抗攻击种类和能力方面都比单变换域水印算法有所改善。由于在嵌入水印前对水印信息进行了置乱处理,保证了算法的安全性。