赵 杰 杨滨峰 李亚文
(商洛学院电子信息与电气工程学院 商洛 726000)
信息技术发展使得数字图像的版权保护与数字内容安全性等问题成为社会的热点。数字水印技术作为数字内容认证的重要手段受到了学者们的重视,近年来人们已经提出了众多数字水印算法[1~4]。常见的方法会对原始载体数据进行一定的修改,在水印的鲁棒性和不可感知性上存在着矛盾,在某些应用场合也不适用。零水印算法[5]无需对原始载体信息进行修改,较好地解决了水印的鲁棒性和不可感知性之间的矛盾。常见的零水印算法有基于空域、变换域、奇异值分解等,多数计算复杂度较高[6~11]。本文提出了一种基于小波提升和K邻点均值的图像零水印算法。为提高安全性,水印图像首先要进行置乱变换[12],然后对载体图像进行一级小波提升分解,利用低频子图分块的K邻点均值生成特征矩阵,特征矩阵和水印进行运算得到秘密图像,提取时利用秘密图像和置乱密钥可提出水印信息。
K邻点均值的基本思路是:在一个窗口内,属于同一集合体的像素,其灰度值相关性较高,于是可用窗口内与中心像素的灰度最接近的K个邻点像素的平均灰度值来代替窗口中心像素的灰度值[13]。一个n×n窗口的K邻点均值为
如果以M×N大小的二值图像W作为水印图像,对Q×S大小的灰度图像P进行零水印注册,步骤如下:
1)将水印图像W 进行置乱,记为WS。
2)对原始载体图像P进行一级小波提升分解,提取其低频分量,记为PL。
3)将 PL分成 M×N个互相不重叠的小块PLB(x,y),其中 x=1,2,…M;y=1,2,…N 。这些小块不一定要完全覆盖原始载体图像。计算每个PLB(x,y)的 K 邻点均值,记为 BM(x,y),所有BM(x,y)的均值记为PLM。为削弱噪声等的影响,可取较大的K值。
4)利用系数关系,生成构造图像F:
若 BM(x,y)>PLM
则 F(x,y)=1;
否则 F(x,y)=0。
5)将F和WS进行异或,得到零水印信息FE,并将其进行注册。
使用Matlab 7.12进行实验仿真,选择“Lena”灰度图像作为原始载体图像,选用32×32的有意义二值图像作为原始水印,如图1所示。
图1 原始载体图像和原始水印
测试1:对载体图像分别进行加性噪声、压缩、滤波等常见操作,测试其相关系数,并与DCT系数方法作比较,结果如表1所示。
表1 攻击测试
测试2:JPEG压缩是常见的图像处理操作,因此,再做一组测试,进一步对比两种算法对JPEG压缩处理的鲁棒性,测试结果如表2所示。
表2 JPEG压缩攻击测试
从表1和表2测试结果看出,本文算法在面对滤波、噪声、JPEG压缩等处理时有较强的鲁棒性,在剪切攻击时相似度有明显降低;针对噪声和JPEG压缩,本文算法有较大优势。
测试3:为了验证本文算法的可靠性,对于其他图像是否会出现误判的情况,分别选取boat、elaine、house、pepper、baboon和 lake等多幅图像作为对比图像进行虚警测试,这些图像检测的相似度均较低,检测出的信息混乱。如选择合适的阈值,该算法对其他未注册图像很少会出现误判情况。
表3 虚警测试部分结果
数字水印取证技术是这些年的研究热点,部分高校已经将其纳入理论或实践教学中。本文提出了一种基于小波提升和K邻点均值的零水印算法,运算复杂度较低,可以抵抗一些常见的攻击尤其是JPEG压缩处理。实验结果表明,本算法有较强的鲁棒性。水印为有意义二值图像,但水印实质性的信息容量不高,这也是大多数水印算法存在的问题,还需进一步研究解决。