基于DCT域的数字图像盲水印算法的研究
2016-05-30王红
王红
[摘 要] 基于DCT域的彩色数字图像水印算法,得到一个盲水印算法,本算法是半私有水印算法,对DCT变换系数矩阵中的中频段,利用伪随机序列间接的嵌入二值水印,再利用伪随机序列的相关特性提取出来,实现了盲检测的算法,它对水印进行了置乱预处理,实验证明该算法在抗JPEG压缩能力方面和在施加相同强度攻击下的鲁棒性方面比明文水印算法强些。
[关 键 词] 离散余弦变换;盲水印算法;置乱
[中图分类号] G718.3 [文献标志码] A [文章编号] 2096-0603(2016)14-0076-02
数字水印是一种有效的数字产品版权保护和数据安全维护技术,它将具有特定意义的标记即水印,利用数字嵌入的方法隐藏在数字图像、文档、视频等数字产品中,用以证明其版权,并作为鉴定起诉非法侵权的证据,从而成为知识产权保护和数字多媒体防伪的有效手段。
数字水印已经成为知识产权保护和数字多媒体防伪的有效手段。这种技术一方面弥补了密码技术的缺陷,因为它可以为解密后的数据提供进一步的保护;另一方面,也同时弥补了数字签名技术的缺陷,因为它可以在原始数据中一次性嵌入大量数据,正由于数字水印技术在版权保护、数据鉴别、数据检测、用户跟踪以及保密通讯等领域有着广泛的应用前景,因此,在当今知识信息爆炸的年代,数字产品的版权保护以及数字信息的安全传输是摆在人们面前需要迫切解决的问题,而数字水印技术是解决这些问题一种极为有效和极具潜力的技术,同时它又是一个多学科交叉的研究领域,这给研究工作提出了极大的挑战以及宽广的研究空间,尤其是彩色图像数字水印算法在当前多媒体信息安全研究领域也成为热点技术。
数字水印的实现包括水印预处理、水印嵌入和水印提取三部分,根据数字水印嵌入方法的不同,数字水印嵌入算法主要分两类:空域法和变换域法。其中基于DCT变换域的数字水印具有很强的鲁棒性,可以抗各种信号变形,并且由于JPEG压缩、MPEG压缩等数据压缩方法也是在DCT变换域上操作的,所以基于DCT变换域的数字水印具有较强的抗有损压缩能力。
一、常用的水印预处理方法
为了增强水印信号的安全性,一般先对水印进行预处理,处理的方式有旋转变换和里乱变换等,经过预处理后,使攻击者难以恢复出数字水印,水印的保密性就会得到很大的提高。
置换P(P是一种置换规则)的作用就是将集合X的一个排列变换成另一个排列。由于图象与排列之间有一一对应关系,可将集合X的元素看作是图象中各元素顺序排列时的下标,任何一个置换P都可以看作是由I到P(I)的一个图象变换,称之为置乱变换。该置乱的效果等价于将图象的象素重新进行一次排列,从而得到一副新的图象P(I)。从统计直方图来看,I和P(I)完全相同,而从视覺效果上来看,二者既可以十分相似,也可以完全不相干。复杂的排列变换可以由简单的排列变换进行复合运算得到。当P具有某种非线性特征时,由此所构成的系统有可能出现混沌现象,从而达到图象加密的目的。
由置乱变换的定义可以知道,置乱变换有下面两个特点:(1)置乱变换一般都有周期,先是越来越乱,而后当迭代到一定次数之后就会恢复到原图。(2)置乱变换之后的图像大小不发生改变。经过置乱变换后,不仅可以保证信息隐藏的隐蔽性;而且可以保证水印信息较为均匀分布到原始图像的各个位置,也使嵌入水印后的图像对于某些操作,特别是对于剪切、加噪声之类操作的鲁棒性较好。
二、盲水印算法的实现
(一)盲水印的嵌入算法
1.颜色空间转换(RGB空间转换成YCbCr空间)。
2.原始彩色图像fRGB(x,y),其长为M,高为N,将转换到YCbCr彩色空间,得到fYCbCr(x′,y′)={fY(x′,y′),fCb(x′,y′),fCr(x′,y′)},其中,Y分量称为亮度,Cb和Cr分量称为色差。
3.图像、水印置乱。图像的fY(x′,y′)分量经置乱后变为
fY*(x′,y′),水印信息序列W={wi,i=0,1,2…,N-1}置乱为W′={W′i,i=0,1,2…,N-1}。
4.分块DCT变换(空间域变换到频域)。将置乱后的亮度分量划分成互不覆盖、大小为8×8的子块fkY′(x′,y′),然后对每一个子块进行二维离散余弦变换,得到子块的DCT域系数UkY(u,v),u=1,2,…,8;v=1,2,…,8。
5.水印嵌入。对每一个子块的DCT域系数DkY(u,v)共64个系数,采用ZigZag扫描,得到一维系数序列u={u(k),k=1,2,…,64}。为了兼顾鲁棒性和透明性,本文拟将数字水印信息嵌入到DCT域的中频部分。
6.图像反置乱。含水印的亮度信号采用几何置乱法反置乱为信号。
7.颜色空间转换(YCbCr空间转换成RGB空间)。实验表明,采用盲水印算法嵌入水印后的图像,较好的保持了原始图像的品质。如图所示:
(二)水印的提取及检测算法
盲水印算法在嵌入水印时,利用密钥和水印之间的对应关系,将二值图像作为水印嵌入到彩色图像亮度分量的DCT域系数中,因此在提取过程中无需将原始图像引入水印的提取、检测中来,就实现了隐藏信息的盲检测。
数字水印的提取过程如下:彩色空间变换,将嵌入水印后的彩色图像从GRB彩色空间转换到YCbCr彩色空间。然后对亮度分量Y*进行置乱处理,再对其8×8分块,对每一子块进行二维离散余弦变换,得到子块的DCT域系数DK*(u,v)。对DK*(u,v)进行ZigZag扫描,得到22个中频系数组成一维序列L(k),分别检测L(k)与K(x)的相关性Lk,其中Lk=corr2(k(x),L(k)),若Lk>δ,则Wi′=1,占为设定的门限值(本文取0.5),将以上过程应用到每一子块,得到一维二进制序列,把它进行反置乱处理,得到二维的水印图像。
■
可见提取过程将水印信号恢复出来并没有用到原始彩色图像,这是一种盲水印算法。
(三)水印的鲁棒性
在不同数字水印系统之间进行公正的算法比较、性能评估,对数字水印标准化以及水印走向实际应用都具有重要意义。对水印系统进行性能评估的关键是要建立评价基准。对水印系统评价的准则不仅要包括对鲁棒性的评价,还要包括关于水印处理引入失真的主观或定量评价。换句话说,在水印的鲁棒性和不可见性之间需要有一个权衡。
这是一种对嵌入水印图像进行攻击的常见操作,JPEG也是一种压缩图像的标准,所以对图像水印来讲,最基本的要求是能够忍受一定程度的压缩处理。明文算法、盲文算法嵌入水印后的彩色图像进行了质量参数为20%、35%、55%、75%压缩实验。从表1中可以清楚地看出算法Ⅰ、算法Ⅱ具有较强的抗JPEG压缩能力,而算法II抗JPEG压缩能力则更强一些。这样我们就可以从它们不同的质量参数中看出盲水印算法在一定程度的优势所在,因此我们应该在实际中更好地应用它。
叠加噪声的情况对于一定功率的各种噪声中,高斯噪声对图像干扰效果最为严重。本文首先对嵌入水印的图像叠加不同程度的高斯噪声,实验结果给出施加均值为0,方差为0.03的高斯噪声后的含水印图像。然后对嵌入水印的图像施加噪声密度为0.01~0.1椒盐噪声。实验结果给出施加噪声密度为0.03时的椒盐噪声后的含水印图像。具体实验结果如表2所示。
这是通过增强高频分量来减少图像中的模糊,又称锐化。锐化处理在增强图像边缘的同时增加了图像的噪声。表3给出了对原始图像的嵌入水印后的图像进行高通滤波以后的图像和提取出来的水印,可见算法Ⅰ、Ⅱ都能够得到正确的检测结果。
此外,进一步实验表明算法对于剪切、直方图均衡化等常见的图像处理都有较强的鲁棒性。实验表明,在施加相同的攻击强度下,算法Ⅱ比算法Ⅰ的鲁棒性强,之所以两个算法在鲁棒性上有差别,这主要是由它们算法Ⅰ实现的方法所决定的。算法I的水印鲁棒性与其嵌入强度α有关,α的取值越大,算法I的水印鲁棒性就越强,但是图像的品质就越低,人眼容易发现出来;算法Ⅱ的水印鲁棒性与其嵌入强度没有直接的联系,它主要借助了伪随机序列的相关性来实现水印提取,相关性越高水印的鲁棒性就越好。
本文改進了DCT域的数字水印算法,得到了盲水印算法。讨论了置乱技术及其在水印中的应用,并对盲水印算法进行了置乱预处理。在盲水印算法中对8×8DCT变换系数矩阵中的中频段,利用伪随机序列间接的嵌入二值水印,再利用伪随机序列的相关特性提取出来,实现了盲检测的算法,并对JPEG压缩、叠加高斯噪声和椒盐,噪声、高通滤波等一些常见的图像处理操作进行了实验,比较了两个算法。
参考文献:
[1]王炳锡,陈琦,邓峰森.数字水印技术[M].西安:西安电子科技大学出版社,2003.
[2]刘瑞祯,谭铁牛.数字图像水印研究综述[J].通信学报,2000(8).
[3]黄继武,程卫东.DCT域图像水印:嵌入对策和算法[J].电子学报,2000(4).
[4]何小海,图像通信[M].西安:西安电子科技大学出版社,2005.
[5]鲍昀霞,何东健.基于DCT的彩色图像水印算法[J].微电子学与计算机,2007(1).
[6]陈纯.计算机图像处理技术与算法[M].北京:清华大学出版社,2003.