基于多通道HVS和DW T-DCT相结合的彩色图像水印算法
2012-01-30贝依林周京伟
贝依林,周京伟
(泰山学院信息科学技术学院,山东泰安 271021)
1 引言
所谓数字水印技术,就是将数字、序列号、文字、图像标志等版权信息嵌入到多媒体数据中,以起到版权保护的作用.除此之外,数字水印还在真伪鉴别、隐藏通信、标志隐含等方面具有重要的应用价值.由于这些在商业上有着巨大的应用前景,数字水印已经引起国际学术界与企业界的广泛关注.
随着新一代图像压缩标准JPEG2000的提出,小波变换越来越受到重视.小波变换通过对一幅图像进行多级小波分解后,可以同时得到图像在空间域和频域上变化的信息,克服了传统傅立叶变换和余弦变换无法很好体现图像时频特性的缺点,特别是克服了马赛克现象.不过现在广泛应用的JPEG压缩是以DCT变换为基础的,并且离散余弦变换将其能量的大部分集中于频率域的一个小范围内,描述不重要的分量只需要较少的比特数,DCT变换正是因其具有解相关能力和聚能作用,因此可改善隐藏算法的性能,所以DCT变换在数字水印领域也有其不可取代的重要性.
目前基于实际应用情况,彩色图像水印保护日益成为人们研究的重点,做法一般是将水印嵌入到亮度通道或者是单色通道,如Kutter等人利用人类视觉系统对蓝色变化最不敏感的特点,修改蓝色通道像素值进行水印的嵌入,此类算法的不足之处在于水印嵌入量较小.
本文根据小波变换的种种优点,以及DCT变换在数字图像领域的广泛应用,实现了一种基于在多通道内进行小波域中频嵌入与DCT变换相结合的算法,既与现有的JPEG压缩方法兼容,又具有抗JPEG2000压缩的能力,又充分利用了YCbCr颜色空间的独立性,增加了水印的嵌入量,并且较容易实现.实验证明,这种算法既保证了图像具有良好的视觉效果,又对剪切、JPEG压缩、加噪声等图像操作均具有良好的鲁棒性.
2 色彩空间概述
根据JPEG标准,RGB色彩空间要转换为亮度与色度(YCbCr)空间.因此为了增强隐藏算法在JPEG压缩下的稳健性,本文提出的彩色图像隐藏方法是在YCbCr色彩空间下进行的,而且YCbCr彩色模型中解除了色度与亮度通道间的相关性,提高了空间独立性.另外,YCbCr彩色模型中将亮度通道分离出来,而亮度通道对视觉感觉是最重要的,相对来说色度通道对视觉感觉就不是那么重要,因此在这样的空间模型下针对人类视觉的感觉对载体图像的不同通道进行水印的添加,从而不影响人观看的感觉.
RGB色彩空间和YCbCr色彩空间的转换关系如下:
其中Y代表亮度信息,Cb,Cr是两个彩色分量,代表色度信息.
3 算法
为使算法的嵌入量得到保证并具有良好的鲁棒性与透明性,本文在Y,Cb,Cr三个通道中都嵌入水印信号,下面以Y分量为例做算法说明,其余两个通道类似.
3.1 嵌入位置选择
首先将图像分成8×8互不重叠的块,由于比较复杂的图像块具有较好的视觉掩蔽特征,我们可以利用这一特征,根据实际需要在块中分别嵌入不同量的水印信息.可以在较复杂的块中嵌入水印量多一些,在相对不复杂的块中嵌入量少一些,甚至不嵌入.目前,有许多方法可以计算块的复杂度,在图像特征提取中通常用纹理特征、边缘特征来表征图像的复杂度,纹理越复杂、边缘越多,说明图像复杂度越高,视觉掩蔽效果越好,可以嵌入的水印量就越多.通过计算图像梯度的平均值来表征纹理的复杂度是常用的一种方法,通常梯度平均值越高,纹理特征越明显,块的复杂度就越大.本文通过计算块的平均梯度值来确定块的复杂度.
记X方向和Y方向的梯度为E(i,j):
梯度幅值为|E(i,j)|:
本文使用Sobel边缘检测算子来计算梯度幅值.Sobel算子表示如下:
块(p,q)的平均梯度幅值在这里表示为Me(p,q):
每一个8×8块中所选择系数的数量与在该块嵌入的水印数量相同,且所选系数的位置与水印嵌入位置一一对应.由于复杂块的视觉掩蔽性好,鲁棒性强,所以根据复杂度来确定每一块所选系数的数量和块嵌入量num(p.q),nump.q由以下公式决定:
将密钥K2作为伪随机发生器种子,从所有块中选择N×N个中频系数组成一个N×N大小的矩阵Yn'.其中T1=100,T2=80.
3.2 水印嵌入
以Y分量为例.
3.2.1 水印置乱
利用密钥K1将水印置乱,这样做的目的在于增加安全性,同时增强抵抗剪切攻击的鲁棒性.
3.2.2 色彩空间转换
将原始的彩色图像由RGB格式转换为YUV格式,并提取Y分量.
3.2.3 小波变换
对提取的图像Y分量分成8×8的块,作三层小波变换,变换结果如图2所示.
3.2.4 DCT变换
对LL3、HH3子带分块,分成4×4的块,并对每一块作DCT变换.
3.2.5 嵌入水印
具体嵌入方法如下所示:
将每块的16个系数按Z字形排列,选择除DC系数以外的最重要的系数记为M,其值的绝对值的一半为A.将水印嵌入到LL3及HH3子带中的DCT块里,选择除DC和系数M以外的若干系数嵌入水印(一般为中高频位置的系数,设系数值为N),设定嵌入因子为P,水印值为w.
其中嵌入因子P的大小可适当选取,如果P非常大,则影响图像的视觉效果,如果P特别小,则鲁棒性较差.根据实验,本文选取P值为6.
3.2.6 得到含水印图像
将嵌入水印的子图作DCT反变换,并作反置乱.进而继续将图像作DWT反变换,并将YCbCr格式转换为RGB格式,得到含水印图像.
3.3 提取算法实施步骤
水印提取是嵌入的逆过程,下面仍以Y分量为例说明过程.
3.3.1 色彩空间转换及频域变换
将含有水印的宿主图像由RGB格式转换为YCbCr格式,并提取Y分量,基于8×8分块作三重小波变换.
将LL3、HH3子带分块,对每一块作DCT变换.
3.3.2 提取水印
设嵌入水印后的系数绝对值为N',将每块的16个系数按Z字形排列,选择除DC系数以外的最重要的系数记为M,其值的绝对值的一半为A'设提取出的水印值为w'
用密钥K1将提取的水印作反置乱,得到最后的提取出的水印结果.
4 实验结果分析
选择一幅512×512的图像作为测试图像,64×64的二值图像作为水印,使用PhotoShop7.0对水印图像进行了一系列的攻击,以下是图1、表1、表2几种攻击所提取出水印结果.
图1
表1 各种攻击和水印检测结果
表2 各种攻击提取的水印效果图
从攻击结果来看,该水印算法对剪切、JPEG有损压缩有很好的鲁棒性,同时对模糊、噪声也具有较好的鲁棒性,但是对旋转的鲁棒性略有欠缺.
5 结论
本文提出了一种有效的数字水印方案,该算法利用DWT和DCT变换相结合,并提出了较新颖的水印嵌入位置,权衡了水印的不可视性和鲁棒性,经过二次加密,将水印嵌入到了图像的小波中频区域,具有计算简单、算法容易实现等特点.试验结果和攻击测试表明,该算法对剪切、JPEG、加噪声、锐化等图像操作具有很好的鲁棒性,尤其是对剪切、JPEG等操作.但此方法在旋转的情况下还缺乏足够的稳健性,还需要在今后做进一步的改进.总的来说,本算法在检测过程中不需要原始图像,此外计算也很简单,是一种比较有效的数字水印算法.
[1]Lin SD,Chen C F.A robust DCT-based watermarking for copyright protection[J].IEEE Transactions on Consumer Electronics,2000,46(3):415-421.
[2]Juan Hernandez,R Amado Martin.DCT-Domain Watermarking Techniques for Still Images:Detector Performance Analysis and a New Structure[J].IEEE Trans on Image Procressing,2000(1).
[3]M.Kutter,F Jordan,FBossen.Digital signature of color images using amplitudemodulation[J].Journal of Electronic Imaging,1998(7).
[4]Ding-Yun Chen,Ming Ouhyoung,Ja-LingWu.A Shift-resisting Public Watermark System for Protecting Image Processing Software[J].IEEE Transactions on Consumer Electronics,2000,46(3).
[5]C T Hsu,JLWu.Hidden digital watermarks in images[J].IEEE trans.On Image Processing,1999,8(1).