武凤翔,岳晓丽,徐江峰
(1.华北水利水电学院水利职业学院,河南郑州450002;2.郑州大学信息工程学院,河南郑州450001)
在数字水印系统中,有两种技术被广泛的研究,即鲁棒性水印和脆弱性水印.鲁棒水印主要是为了版权保护,用以抵御各种试图移去或毁坏水印的攻击,但它不能判定图像内容是否被篡改;而脆弱水印则可以识别对水印嵌入图像的任何篡改,但鲁棒性较差,不能忍受对图像的任何处理,即使是常用的JPEG压缩、直方图均匀化等操作.半脆弱水印则集合了二者的优点,既可容忍对图像一定程度的信号处理,也可以检测、定位对图像的篡改[1-2].
目前的水印算法,几乎都是针对大小为2L×2L的标准载体图像展开的,其中L表示小波变换的级数.而在实际使用过程中用到的图像规格则多种多样,现有的水印算法无法处理.同时由于JPEG压缩应用的普遍性,在保持较高的篡改检测能力情况下,提高抗JPEG压缩性能也是半脆弱水印研究的重要问题.为此,笔者提出了一种新的半脆弱水印认证算法,该算法通过对图像的分块处理,实现了对任意大小载体图像的水印嵌入.仿真实验表明,该算法具有较好的篡改检测及定位能力,可以有效提高系统抵抗JPEG压缩性能.
小波变换具有很好的多分辨率分析特性,在当前的水印算法中被广泛使用[3-4].图1给出了基于小波变换的静态图像的金字塔式多分辨率分解示意图.对于三级小波分解后的图像数据而言,高频子带就是k=1,2,3)3 个频带序列,它们分别表示图像中水平方向、对角方向和竖直方向的边缘、轮廓和纹理等.低频子带则是所代表的部分,它集中了原始图像的绝大部分能量.由小波变换的图像多分辨率分解特点可以看出,它具有良好的空间方向选择性,与人的视觉特性十分吻合.低频子带具有较强的抵抗外来影响的能力,稳定性较好;而高频子带容易受外来噪声、图像处理操作等影响,稳定性较差.因此在低频子带中嵌入水印可以较好的满足鲁棒性;而在高频子带中嵌入水印,则可以较好的满足水印对攻击的脆弱性,从而达到认证的目的[5-7].
图1 三级小波分解示意图Fig.1 Three level vavelet decomposition diagram
认证水印系统主要包括以下步骤:首先将提取的宿主图像信息转变为水印信号嵌入原始图像中,而后嵌入水印的图像经过信道传输到接收端.最后接收者对待测图像进行检测认证.为了加强安全性,在嵌入和检测的过程中还需借助密钥[7].
设计一个图像内容认证系统还应考虑以下问题:①检测的是内容的篡改而不是图像的不同表示;②附加的信息不应过大;③当有内容篡改时系统不仅要指出有篡改事件发生,同时也要指出内容更改的位置[8].
笔者给出的算法载体图像可以是任何尺寸,进行处理时首先把图像分成四部分,之后按照处理标准图像的方法进行处理.假定载体图像尺寸为M×N,图像分割后的每部分尺寸记为m×n,则 m=M-mod(M,8)-K ×2L,n=N-mod(N,8)-K×2L,其中mod是取余函数,K是分割后图像的扩展比例因子,L是小波变换的级数.
2.1.1 水印的生成
(1)图像划分.首先要把载体图像分成大小相同的四部分:XLU是原图像的左上部分,由块1,2,4,5组成;XRU 是原图像的右上部分,由块2,3,5,6组成;XLD 是原图像的左下部分,由块4,5,7,8组成;XRD则是原图像的右下部分,由块5,6,8,9 组成,如图2 所示.
图2 分块示意图Fig.2 Block diagram
(2)生成基于图像内容的水印.图像划分之后,从三级小波分解的低频系数中提取每部分图像的特征作为嵌入水印.为了提高安全性,还可以对产生的水印先进行加密,而后再进行嵌入.
2.1.2 水印的嵌入
(1)计算三级小波分解中二层高频水平和垂直方向的掩蔽阈值,并分别记作Tl和Th;
(2)生成水印信息e;
(3)二层水平和垂直方向系数分别记作V和H,由于二层系数矩阵的大小为m/4×n/4,水印e的大小为m/8×n/8,所以需要将V和H按相邻四块为一大块进行划分,以使水印序列的每个值对应一个大块.嵌入规则如下:
如果 e(i/2,j/2)=1,
否则,
使用该算法分别对XLU、XLD、XRU、XRD进行水印嵌入,得到4组水印嵌入后的图像.而后再按照类似原始图像分割的方法,对4组嵌入图像进行整合得到和原始图像大小相同的水印嵌入图像.整合时以XLU水印嵌入图像为主,缺少的行和列分别使用XLD、XRU、XRD水印嵌入后的图像的行列来补齐.最后对整合后的图像进行逆三级小波变换,即可得到嵌入水印的图像.水印嵌入流程如图3所示.
图3 水印嵌入流程Fig.3 Watermarking embed process
2.2.1 水印的提取
(1)分块提取.把接收方的图像记为X',划分得到的四部分分别记作 X'LU、X'LD、X'RU、X'RD.水印提取的过程实际就是水印嵌入的逆过程,而且整个提取过程既不需要原始图像也不需要原始水印信息.与水印嵌入类似,以X'LU为例描述提取过程,其中
式中:V'和H'分别表示对X'LU进行三级小波分解后二层的高频水平和垂直系数.提取时,如果F'(i,j)≥0,则 E(i,j)=1;否则 E(i,j)=0;最后对E进行解密即可得到水印ELU.
对另外三部分做同样的操作,得到水印分别记为 ELD、ERU、ERD.
(2)水印整合.分别提取四块水印之后,再对它们整合得到最终提取的水印,整合参照水印嵌入后进行图像整合的比例,具体如图4所示.
图4 提取水印整合图示Fig.4 Extraction of watemarking integration diagram
整合时用到的一些变量,定义如下:
RD=(M-2×mod(M,8)+1-2×K×2L)/m,代表XLD、XRD截取行数的比例;
RU=(N-2×mod(N,8)+1-2×K ×2L)/n,代表XRU截取列数的比例;
SD=RD×a,代表从水印ELD、ERD中截取数据的起始行号;
SU=RU×b,代表从水印ERU中截取数据的起始列号;
LD=a-SD+1,代表从水印ELD、ERD截取数据的行长度,a=m/8;
LU=b-SU+1,代表从水印ERU截取数据的列长度,b=n/8.
其中,RD是图2中块7所占的行数在块4和块7所占总行数中的比例;整合后的水印记为W,具体整合方法如下:
W(1∶a,1∶b)=ELU;
W(a+1∶a+LD,1∶b)=ELD(SD∶a,1∶b);
W(1∶a,b+1∶b+LU)=ERU(1∶a,SU:b);
W(a+1∶a+LD,b+1∶b+LU)=ERD(SD∶a,SU∶b).
2.2.2 认证
首先,要按照嵌入时使用的方法,分别对X'LU、X'LD、X'RU、X'RD 进行特征提取,之后使用整合水印的方式,对四部分特征进行整合得到最终的整体图像特征,记作TZ,最后用提取的水印W和重新生成的特征TZ进行比较,得到篡改矩阵,水印提取和篡改认证过程如图5所示.
图5 水印提取和篡改认证Fig.5 Watermarking extraction and image authentication
实验结果都是基于MATLAB7.0的仿真得到的,实验图像采用599×791的非标准灰度图像.加密采用基于logistic混沌系统的加密算法,生成安全的水印序列,如图6所示.从图6可以看出,水印嵌入前后几乎没有引起视觉上的变化,并且获得较高的峰值信噪比.
图6 原始图像和半易损水印图像Fig.6 Original image and semi-fragile watermarking image
水印图像可能遭受两类典型的攻击:一种是非恶意的,如图像传送过程中的信道噪声、有损压缩等;另一种是恶意的,如图像剪切、替换等操作.
测试包括通用信号处理,如噪声叠加、滤波、有损压缩等.该系统能够检测到篡改区域,篡改检测结果如图7所示.
从实验结果可以看出,系统能够检测到篡改区域,并能有效地抵御JPEG压缩攻击,当压缩因子为20时,检测到篡改区域仍然不是很多,对有损压缩有较强的鲁棒性.
恶意攻击主要包括图像剪切、替换操作.图8给出了剪切攻击的实验结果,图9给出了替换攻击的实验结果,图10给出了一个复合攻击的实验结果.
从图7,8可以看出:该算法不但能够抵御非恶意的攻击,如:加入噪声、滤波、JPEG压缩等,还能对剪切、替换等恶意攻击进行有效的定位.
提出了一种基于分块的小波域图像半脆弱水印认证算法,该算法通过对图像的划分,可以对任意大小图像进行水印嵌入,解决了传统算法只能对标准尺寸图像进行认证问题.该算法嵌入的水印信息是从载体图像中提取的,因而图像认证时,既不需要原始图像,也不需要原始的水印信息,接收者通过把接收图像提取出的水印信息与从接收图像产生的水印信息进行比较,即可实现图像的认证,在有篡改攻击时确定出篡改位置.
[1]李春,黄继武.一种抗JPEG压缩的半脆弱图像水印算法[J].软件学报,2006,17(2):313-324.
[2]易开祥,孙鑫,王道顺,等.一种新的基于图像内容的半易损水印技术[J].系统仿真学报,2002,9(14):1200-1203.
[3]QI Hui-yuan,ZHENG Dong,ZHAO Ji-ying.Human visual system based adaptive digital image watermarking[J].Signal Processing,2008,88(1):174-188.
[4]LEWIS A S,KNOELES G,Image compression using the 2-D wavelet transform [J].Image Processing,1992,2(1):244-250.
[5]BAMI M,BARTOLINI E,PIVA A.Improved wavelet-based watermarking through pixel-wise masking[J].Image Processing,2001,5(10):783-791.
[6]赵洋,孙燮华.HVS的 DWT域半脆弱水印算法[J]. 中国计量学院学报,2008,19(4):333-337.
[7]候振华,陈生潭.脆弱性数字水印研究[J].计算机应用,2003,23(12):106-108.
[8]沃淼,韩国强,张坚威,等.基于小波变换和形态学的图像内容认证方法[J].通信学报,2005,26(8):9-15.