基于二次DCT变换的鲁棒数字图像水印算法
刘 伟 于水源 王 翾
(中国传媒大学信息工程学院 中国传媒大学计算机学院
中国传媒大学广播电视数字化教育部工程中心)
[摘 要] 鲁棒性和不可见性是数字图像水印系统的两个主要指标,为使二者达到较理想的效果,本文提出了一种基于二次DCT变换思想的水印算法。该算法首先对载体图像进行分块DCT变换,取出变换后每个块中的DC系数组成一个矩阵;然后对该矩阵再做DCT变换,挑选变换后的DCT系数矩阵的高频系数对,通过修改系数对两个系数的相对大小来嵌入水印。该算法在提取水印时不需要原始载体图像,实现了水印的盲检测。仿真实验结果表明,该算法具有良好的不可见性,并对下采样、加噪、格式转换、滤波等攻击有较强的鲁棒性。[关键词] 图像水印 二次DCT变换 DC系数 下采样 1 引言信息化时代的到来,使得以数字形式存储和分发的图像、视频、音频、文本等多媒体文件的安全、版权保护成为一个日益突出的问题。数字水印技术作为多媒体信息认证、版权保护的一个有效手段,受到人们越来越多的关注。该技术利用人类视觉、听觉的冗余,在数字化产品中嵌入被称为水印的标志性信息以达到版权保护或信息认证的效果??[1]。按照载体的不同,数字水印可以分为图像水印、视频水印、音频水印、文本水印等。近年来,数字图像水印技术取得了很大进展,从其实现手段来看已经提出了基于时域、变换域、压缩域等的算法[2]。其中,基于DCT变换的变换域数字图像水印技术因其可以使水印信号的能量分布至图像空域所有像素、良好的视觉不可见性、与国际压缩标准兼容、计算简单容易实现等特点,得到了普遍重视。早期,I.J.COX等人在其扩频数字图像水印算法中引入了DCT变换,该算法以高斯白噪声为水印信息,并将其嵌入到幅值较大的AC系数中,然后用相关检查的方法检测水印是否存在[3],该算法为非盲检测,限制了其应用。近期使用较多的是采用二维图像作为水印信息,通过对水印信息的预处理然后与DCT系数相叠加[4]。这种算法所修改的DCT系数一般都集中在中、低频的AC系数上,具有一定的鲁棒性。许多文献提出一种改进的DCT域图像水印算法,它是通过交换选定的DCT系数对来嵌入水印信息,此算法是盲水印算法,但对载体图像的视觉效果有较大的影响[5]。从以上叙述不难看出,绝大多数水印嵌入方案都是将水印信号嵌入到载体图像DCT变换后的AC系数中,而DCT变换后最稳健的DC系数却很少被人们利用。究其原因,图像DCT变换后的DC系数代表一个图像块的平均能量,一旦被修改,很容易引起图像视觉上的块效应[6]。为解决这一问题,本文提出的算法将水印信息嵌入到DC系数的二次变换后的高频系数对中,这样能量的改变量将平均到图像轮廓的视觉不敏感块中,可以有效避免块效应。仿真实验结果表明,该方法达到了水印的鲁棒性和不可见性的良好折中,不但有较好的鲁棒性,而且有效的避免了图像块效应。2 DCT域图像水印系统数字图像水印系统根据检测水印时是否需要原始载体图像可以分为非盲水印系统和盲水印系统,非盲水印系统由于检测时需要原始载体从而大大限制了其实际应用[4]。常用的DCT域盲图像水印系统嵌入和检出模型分别如图1和图2所示(虚框为非必须): 3 DCT域水印算法分析众所周知,图像分块DCT变换后的DC系数代表着图像块的平均能量,如果直接改变DC系数来嵌入水印的话,虽然算法有很强的鲁棒性,但是很容易引起图像视觉上的块效应[7]。通过分析DCT变换的性质可以知道,若将变换后的DC系数提取出来单独组成一个矩阵,则该矩阵代表着原始图像的轮廓;如果再对该由DC系数组成的矩阵做一次DCT变换,则其AC系数的高频部分代表着原始图像的轮廓的纹理复杂区域。若在该区域嵌入水印,既可以保证强的鲁棒性,又可以获得很好的不可见性。我们把这种提取一次DCT变换的DC系数再进行一次DCT变换,然后在其高频嵌入水印的算法称为基于二次DCT变换的水印算法。3.1 二次DCT变换常用二维DCT变换公式如下[8]:正变换公式:
反变换公式: 其中:为图像像素值,为DCT变换后的系数值,各参数取值如下:现有大部分基于DCT变换的图像水印技术都是将水印嵌入到图像一次DCT变换的AC系数上,考虑DC系数的算法极少[9]。本文提出的算法,先对载体图像进行8*8分块DCT变换,取出变换后每个块中的DC系数组成一个矩阵;然后对该矩阵进行二次DCT变换,在变换后的AC系数矩阵的高频挑选合适的系数对,通过修改系数对中的两个系数的相对大小来嵌入水印。系数对的选择原则见3.2节。3.2 算法能量变化分析DCT变换后的系数(以8*8块为例)中,其中DC为交流系数,AC为直流系数。而DCT变换的逆变换公式为公式(2),各参数如上所述。由文献(11)知图像DCT变换后的AC系数分布符合Laplacian分布,其概率密度函数为: 其中是分块后DCT块方差的函数。由文献(11)可知,对于DCT块中,从低频到高频,方差逐渐变小,随方差递减而递增,故为方便后面计算,我们假设,(即,假设随p+q增大,x的值单调递增,而随x递增也逐渐增大)。为方便计算交换系数对之后能量的变化,假设DCT变换后的系数为连续的相互独立的变量。则对于交换系数对x(),y()的一个样本块,其能量变化如下式: 由于x(),y()相互独立,所以其联合概率密度为(5)式: 所以,对每个分块变换后的DCT能量块其平均能量变化如(6)式:观察该式可得,括号中加号左右两项形式相同,故求(8)式最值,只需求式(9)的最值。由(9)式,对每个8*8块,M=N=8,p,q为0-7的整数,故由计算结果可得(9)式的值与取值无关,为一定值。所以(7)式的取值完全由(10)式决定。将和的表达式代入(10)式可得:其中k>0为一常数,x,y为从低频到高频的AC系数。假设量化后的AC系数取值为0-255,则式(11)的曲线图为:
由图11可以看出,当x,y取值越靠近高频的时候(即p+q的值越大),(11)式的值越小,接近0,即的值越小。如此我们可以得出结论,在高频通过交换AC系数来嵌入水印,对图像块能量影响最小。所以本文在实验中选择二次变换后的高频选择系数对嵌入水印。 4 水印系统算法实现本文所提出的算法,选择在二次DCT变换的高频区域嵌入水印,具体算法步骤如下:4.1 嵌入算法① 对载体图像进行8*8分块DCT变换,并抽取变换后每个系数块的DC系数组成一个新的矩阵。② 对①中所得矩阵进行二次DCT变换,得到一个新的DCT系数矩阵。③ 在②中所得矩阵的高频区域选择一组在zigzag排列中相邻的系数对,通过修改其相对大小嵌入水印,得到嵌入水印后的矩阵。嵌入水印的伪代码为:设系数组中的两个系数分别为X、Y,预处理后的水印信息为msg,是水印嵌入强度If msg==0If X<Y 则X,Y皆不变ElseX=X-(X-Y)/2 -;Y=Y+(X-Y)/2 + ;Else msg==1If X>Y 则X,Y皆不变ElseX=X+(X-Y)/2 + ;Y=Y-(Y-X)/2 - ;④ 对矩阵做IDCT变换,得到矩阵,将的每个元素按①中的方法对应的放回原来的矩阵中,得到矩阵。⑤ 对做IDCT变换,得到含水印的图像。4.2 检出算法① 对图像做8*8分块DCT变换,取出每个变换的DC系数组成一个矩阵。② 对做二次DCT变换,得到系数矩阵。③ 根据4.1中步骤③选择的系数对,通过比较其大小来提取出水印信息。提取水印的伪代码为:If X<Y 则 msg==0Else msg==1 5 实验结果为验证本算法的良好效果,以下选取了256灰度级的lena和fish两张JPG格式图像做了仿真实验。实验的运行环境是matlab 7.0,分别选取系数对(AC50,AC51)、(AC61,AC62)嵌入水印,嵌入强度=0.05。实验中采用的攻击类型是采样率减半的下采样、归一化截止频率为0.8的高斯低通滤波、方差为0.2的高斯加噪和jpeg->bmp转码。5.1 嵌入位置为(AC50,AC51)时实验结果受到攻击的嵌入水印图像的PSNR和提取水印的NC值如表1: 5.2 嵌入位置为(AC61,AC62)时实验结果受到攻击的嵌入水印图像的PSNR和提取水印的NC值如表2:从实验数据可以得出结论,本算法对以上所列各种攻击具有很好的抵抗特性。嵌入水印后的图像PSNR值远远大于30db的要求,而在嵌入水印的图像受到攻击后,即使PSNR小于30db时,检出水印的NC值也都大于75%的要求[10]。 6 结束语本文提出了一种利用图像二次DCT变换系数之间的关系进行水印嵌入和提取的数字图像水印算法。算法将水印信息嵌入到图像DC系数的二次DCT变换后的AC系数的高频中,保证了水印系统良好的不可见性和鲁棒性。水印检测时不需要原始图像参与,实现了盲检测。仿真实验表明,该算法较好的实现了水印系统的不可见性和鲁棒性的要求,可有效的抵抗下采样、加噪、转码、滤波等攻击。本算法也存在不足,算法对旋转和剪切的攻击效果并不理想,提高算法抵抗这些攻击的性能也是后续的主要工作,其次提高水印的嵌入量和自适应特性也是今后一项重要工作。 参考文献:1.桑军. 几类图像数字水印技术及其研究[M]. 重庆大学博士论文,2005;12-15.2.黄外斌. 数字图像水印技术的若干研究[M]. 浙江大学博士论文,2009;20-25.3.Ingemar J.Cox,Joe Kilian. Secure spread spectrum watermarking for images,audio and video .In Proceedings of IEEE International Conference on Image Processing,1996:243-246.4.Shuifa Sun,Fangmin Dong,Junli Wan.A New General Binary Image Watermarking in DCT Domain.2008 International Seminar on Future BioMedical Information Engineering,2008(8):34-36.5.贝依琳,桑胜举. 基于HVS的多通道DCT彩色图像水印算法[J].计算机应用,2009;29(12):3431-3433.6.Ahmad R Naghsh Nilchi,Ayoub Taheri.A New Robust Digital Image Watermarking Technique based On the Discrete Cosine Transform and Neural Network,2008;(08).7.Yonggang Fu.Robust image watermarking scheme based on 3D-DCT.2009 Sixth International Conference on Fuzzy Systems and Knowledge Discovery,2009;(19):437-442.8.B.Jagadeesh,S.Srinivas Kumar,K.Raja Rajeswari.Image Watermarking Scheme Using Singular Value Decomposition Quantization and Genetic Algorithm.2010 International conference on Signal Acquisiton and Processing,2010;(71):120-125.9.Fengsen Deng,Bingxi Wang . A novel technique for robust image watermarking in the DCT domain,IEEE Int.Conf.Neural Network&Signal Processing,2003(9):14-17.10.ChiMing Chu,Hsian Cheh Huang,Jeng Shyang Pan.An Adaptive Implementation for DCT-Based Robust Watermarking with Genetic Algorithm.The 3rd International Conferrence on Innovative Computing Information.2008.11.Edmund Y.Lam,Joseph W.Gooodman.A Mathematical Analysis of the DCT Coefficient Distributions For Images.IEEE transactions on image processing.2000;9(10)1661-1666. 编辑:中国新闻技术工作者联合会
评论 点击评论