基于DCT-SVD抗几何变换的扩频水印算法研究
2013-09-20方琪魏恒王翾
方琪,魏恒,王翾
(中国传媒大学广播电视数字化教育部工程研究中心,北京100024)
1 引言
近年来,随着多媒体和互联网的迅猛发展,人们对这种新型媒体也越来越关注,需求量急剧增加,盗版也随之愈来愈猖獗。因此,对数字产品(图像,音频,视频)的版权保护就成了一个日益迫切的问题,数字水印是解决媒体版权问题的有效办法。
图像除了会受到常规干扰(噪声、滤波、压缩),还可能受到剪切、平移、缩放、旋转等几何攻击,几何攻击是数字水印攻击技术中最为严厉的攻击类型之一,被公认是数字图像水印技术走上商用的一个最大威胁。SVD数字水印具有良好的抗噪声和几何形变的能力,成为抗几何攻击水印算法的研究热点。
DCT域图像水印技术具有较好的鲁棒性,抵抗信号处理和恶意攻击的能力强,水印在变换域上嵌入,反映到空间域,则使整个图像所有像素上能量分散,有利于不可见性和鲁棒性。
Cox[1]等人提出的扩频水印方案是数字水印技术中一个比较经典的方案,首次提出了扩频水印的重要思想。利用扩频原理将将水印嵌入到图像感知上最重要的频域因子中,具有很强的稳健性,对按比例缩放,JPEG压缩,抖动,以及剪切等操作具有一定的抵抗力,甚至在图像经过打印,复印,扫描等处理后,水印仍可以被恢复出来。但是非盲水印,仍不能满足商业实际应用。文献[2]针对传统的扩频盲水印算法嵌入信息量小,提取水印正确率低的缺点,提出了一种结合分块SVD分解的相关值检测盲水印方法。但该算法在空域中扩频,鲁棒性不足也不能抗几何攻击。文献[3]基于DCT域的扩频水印算法,采用双伪随机序列进行扩频,提高了水印提取的准确率,但无法抵抗旋转等几何攻击。文献[4]中基于DCT-SVD的数字水印算法对原始图像进行8×8DCT变换后,对DC系数集合进行2×2分块的SVD变换,使用量化步长量化每个小块对应的最大奇异值,水印图像做置乱预处理。该算法量化步长较大容易造成块效应,未使用扩频技术,鲁棒性有一定限制且大角度旋转效果也不是很好。文献[5]基于人类视觉自适应系统的SVD来抵抗几何攻击算法,在二级小波变换域下根据人类视觉系统进行自适应嵌入水印,可以较好的解决块效应,但存在图像大角度非90的倍数旋转时,水印鲁棒性差。为了提高水印抗几何攻击的能力,尤其是旋转攻击,本文提出了一种利用扩频技术的基于DCTSVD的抗几何变换数字水印。使用重复码扩频,在提取时多数判断提高检测率。同时该算法在提取水印时通过估算旋转角度,以提高大角度旋转攻击时的抵抗力。
2 扩频水印
2.1 扩频水印原理
扩频水印利用扩频技术原理,将水印分布在许多数据频域系数中,这样加入每个频域系数的信号能量很小且不可随意检测。水印检测过程知道水印的位置和内容,它能将许多微弱的信号集中起来形成具有较高信噪比的输出值,要破坏水印需要很强的噪声信号加入所有频域系数中,但是,破坏水印的同时也造成原始数据质量严重下降。只要水印信号能量足够小,加入原始数据的水印就不可能被看见或听到。利用人的掩蔽效应可以增加加入水印信号的能量。
由于扩频技术的强抗干扰能力、低截获率性和高保密性,因此利用扩频原理的数字水印技术具有很高的健壮性和安全性。
2.2 扩频水印相关值盲检测
已知原始图像I=I(i),水印信息X={x(i)=±1,0≤i≤R-1},R为水印信息长度。采用长度为N 的扩频序列 P={p(i)= ±1,0≤i≤N-1},对水印信息扩频后得到W。
对于扩频后的水印信息W,常采用如下嵌入方式,其中α>0为嵌入强度
如果接收方已得到发送方提供的扩频序列P及其长度N等参数,则提取水印信息时只需计算P与前N个样点的相关值。
由于P的伪随机性,P与I不相关,且w(i)=x(0)p(i),上式可以转化为
由相关值的符号即可提取水印信息x(0)。
3 SVD变换
国内刘瑞祯、谭铁牛[8]较早提出基于奇异值分解的数字图像水印方法,奇异值分解数字水印具有良好的抗噪声和几何形变的能力,成为抗几何攻击水印算法的研究热点。
奇异值分解(Singular Value Decomposition,SVD)是一种正交矩阵分解,可以将矩阵对角化,目前被广泛用于数字图像处理中。一幅图像可以看成是由许多非负标量组成的矩阵,若一幅图像用I表示,定义为I∈Rm*n,R表示实数域,则矩阵的奇异值分解表示为:
UTIV=diag(σ1,σ2,σ3,…,σp)=S,对角线上的元素成为I的奇异值,σi按降序排序且σi≥0。
ui,vi的列分别对应于奇异值 σi的左右奇异值向量,满足 Ivi=σiui,Iui= σivi。
文献[9]中已对奇异值分解几何失真不变性进行了分析,可以得出以下结论:
1.奇异值序列中,第一个奇异值比其它奇异值大的多;
2.图像奇异值具有非常好的稳定性,当图像的灰度出现小的变化时,其SVD特征矢量不会出现大的变化。SVD扰动分析表明,SVD特征具有良好的稳定性,所以它对图像噪音、图像光照条件不同引起的图像灰度变化具有不敏感的特性。这一特性放宽了对图像预处理的要求。
3.奇异值体现图形的内蕴特性(能量特性),U和V体现的是图像的视觉特性(几何特性);
4.奇异值对几何失真(转置、旋转、位移、放大、镜像)不变性
从图像数字水印的角度来看,在图像的奇异值中嵌入水印,利用上述第1个特性为选择合适的嵌入水印的奇异值提供了理论依据;第2个特性使得水印具有较好的鲁棒性;第3个特性使得水印嵌入具有很好的不可见性;第4个特性保证水印的稳健性;
对于旋转攻击,我们用一个水印算法对提取的水印性质进行分析:
表1 旋转攻击下提取的水印图像
由上表可知,当待检测图像受到旋转攻击时,提取的水印图像旋转的角度与攻击时旋转的角度相同,据此我们可以采用一定的方法对提取的水印做处理,达到检测水印质量的提高。
综合以上分析,可见SVD数字水印具有良好的抗几何形变的能力。
SVD水印嵌入算法一般可以分为以下两种:
第一种,在奇异值中叠加水印,如图1:
图1 SVD水印嵌入方法一
第二种,通过以下方法修改最大奇异值,如图2:
提取时,待检测图像SVD变换后得到S*i,用量化步长为S量化后得Q
若mod(Q,2)==1,则扩频水印位Wi=0;
若mod(Q,2)==0,则扩频水印位Wi=1;
该方法简单,不需要原始图像数据,是盲检测。但由于改变第一个奇异值,对水印的不可见性影响比较大,需要取合适的量化步长兼顾水印的鲁棒性和不可见性。
图2 SVD水印嵌入方法二
本文采用第二种算法进行水印的嵌入。文献[4]中证明量化步长越大,算法鲁棒性随着提高,但水印透明性越低。本文采用文献[5]中根据人类视觉系统自适应调节量化步长,减少图像块效应。同时采用扩频技术对水印信息进行扩频,以增强水印的鲁棒性,尤其是抗几何攻击能力。
4 水印嵌入和提取算法
4.1 水印嵌入
采用M×M的灰度图像作为原始图像记为I,采用文本作为水印记为W。
用伪随机序列发生器通过秘钥Key1产生一列伪随机序列pn_sequence,利用扩频技术对水印W进行扩频,其做法是将水印位每位重复多次,然后用伪随机序列对其进行异或运算,得到扩频后的水印序列,将扩频水印序列转为二维矩阵 W';如序列(1,0,1,0),如图3。
图3
将原始图像I进行分块DCT变换,得到分块DCT系数;然后按照图2方法,结合文献[5]中自适应方法进行水印的嵌入,最后进行SVD反变换和DCT反变换得到嵌入水印后图像。
4.2 水印提取
水印提取时按照SVD方法二中提取方法得到解扩前的序列,用伪随机序列pn_sequence对扩频水印解扩,得到的由(0、1)组成二维矩阵,由于采用重复码,计算每行中0、1的个数,若0的个数大于1的个数则最终提取的水印位取0,否则取1。
对于旋转攻击,在提取水印时对原攻击图像旋转角度进行估计,提取的二维矩阵扩频水印序列进行反向旋转相同的角度,然后进行解扩。由于采用扩频技术,水印提取准确率较高。
嵌入水印后的图像失真程度通常使用峰值信噪比(PSNR)来衡量,对于提取的水印与原始水印的进行相似度评价,相关系为NC。
5 实验仿真和结果
本文采用512×512的lena灰度图像作为原始图像,文本水印为“传媒大学”四个汉字,如图4所示。
图4(a) 原始图像
文献[4]加白噪声提取水印NC=0.5090高斯低通滤波提取水印NC=0.8363。
该算法对JPEG攻击具有很好的抵抗性,采用标准测试工具Stirmark软件中的JPEG压缩,压缩因子从20-100,水印都能100%提取。
从图5可知,在大面积剪切时,序列相关度仍然很高,该算法对剪切攻击也具有很高的抵抗力。
图4(b) 文献[4]嵌入水印图像
图4(c) 本文嵌入水印图像和无攻击时提取的水印
图4(d) 白噪声和提取的水印
图4(e) 高斯低通滤波和提取的水印
对于SVD抗旋转几何攻击,攻击时旋转了一定角度,提取水印时提取出的系数也将旋转相同的角度。为了克服这个问题,在旋转攻击时,先对旋转角度进行一个估算,提取算法过程中反向旋转估算的角度。然后利用扩频技术对其进行解扩得到提取的水印。
图5 剪切攻击和提出的水印
将本算法和文献[3]和文献[4]中的算法在不同角度旋转攻击下,提取水印,得到下表:
表2 本算法和其他算法抗旋转攻击对比
由表2可知该算法在旋转攻击方面具有很大的优势。
6 结束语
本文基于SVD的DCT域扩频水印算法,基于人类视觉系统自适应调节量化步长,减少嵌入水印图像块效应。利用扩频技术对水印进行扩频,增强水印安全性及鲁棒性。其做法是将水印位每位重复多次,然后用伪随机序列对其进行异或运算,然后通过修改最大奇异值方法将扩频后的水印嵌入图像中。在旋转攻击提取水印时,对旋转角度进行估算,后对解扩前矩阵进行反向旋转相同角度再进行利用扩频技术进行解扩,水印提取准确率得到很大提高。本算法提取水印时不需要原始图像,属于盲水印。本算法能有效的抵抗噪声、滤波、JPEG压缩等攻击,尤其对剪切攻击和旋转攻击抵抗很明显。但本算法是以牺牲原始水印信息大小来换取水印抗各种攻击尤其是几何攻击性能的,如何增加嵌入量是以后需要研究的重点。
[1]Ingermar J Cox,Joe Kilian,Tom Leighton,et al.A Secure Imperceptable yet Perceptually Salient Spread Spectrum Watermark for Multimedia[C].Southcon/96 Conference Record,1996,6:192-197.
[2]董兵,张建伟.一种基于相关值检测盲水印方法[J].计算机应用与软件,2007,24(4):162-164.
[3]柏均.基于扩频技术的DCT域图像水印算法[J].煤炭技术,2011,30(9):167-169.
[4]王友卫,申铉京,吕颖达,陈海鹏.基于DCT和SVD变换的盲水印算法[J].计算机工程与应用,2011,47(21):157-161.
[5]包锐,张天骐,王玉娥,白娟.基于人类视觉系统的SVD扩频水印算法[J].计算机应用研究,2011,28(8):3054-3057.
[6]徐光宪,张鑫,付晓.基于图像版权保护的扩频水印算法仿真研究[J].计算机仿真,2012,29(10):298-301.
[7]王树梅,赵卫东,等.离散余弦变换域图像数字水印技术[J].计算机工程与设计,2007,28(21):5170-5173.
[8]刘瑞祯,谭铁牛.基于奇异值分解的数字图像水印方法[J].电子学报,2001,2:168-171.
[9]周波,陈健.基于奇异值分解的、抗几何失真的数字水印算法[J].中国图象图形学报,2004,9(4):506-512.
[10]Ahmed N.Al-Gindy,Hussain Al Ahmad,Ayman Tawfik’Rami A.Qahwaji.A New Blind Image Watermarking of Handwriting Signatures Using Low-Frequency Band DCT Coefficients[C].IEEE International Conference on Signal Processing and Communications,2007,11:1367-1370.
[11]Luis P'erez-Freire,Fernando P'erez-Gonz'alez.Spread Spectrum Watermarking Security[J].IEEE Transactions on information forensics and security,2009,5:2-24