方琪,魏恒,王翾
(中國傳媒大學(xué)廣播電視數(shù)字化教育部工程研究中心,北京100024)
近年來,隨著多媒體和互聯(lián)網(wǎng)的迅猛發(fā)展,人們對這種新型媒體也越來越關(guān)注,需求量急劇增加,盜版也隨之愈來愈猖獗。因此,對數(shù)字產(chǎn)品(圖像,音頻,視頻)的版權(quán)保護(hù)就成了一個日益迫切的問題,數(shù)字水印是解決媒體版權(quán)問題的有效辦法。
圖像除了會受到常規(guī)干擾(噪聲、濾波、壓縮),還可能受到剪切、平移、縮放、旋轉(zhuǎn)等幾何攻擊,幾何攻擊是數(shù)字水印攻擊技術(shù)中最為嚴(yán)厲的攻擊類型之一,被公認(rèn)是數(shù)字圖像水印技術(shù)走上商用的一個最大威脅。SVD數(shù)字水印具有良好的抗噪聲和幾何形變的能力,成為抗幾何攻擊水印算法的研究熱點(diǎn)。
DCT域圖像水印技術(shù)具有較好的魯棒性,抵抗信號處理和惡意攻擊的能力強(qiáng),水印在變換域上嵌入,反映到空間域,則使整個圖像所有像素上能量分散,有利于不可見性和魯棒性。
Cox[1]等人提出的擴(kuò)頻水印方案是數(shù)字水印技術(shù)中一個比較經(jīng)典的方案,首次提出了擴(kuò)頻水印的重要思想。利用擴(kuò)頻原理將將水印嵌入到圖像感知上最重要的頻域因子中,具有很強(qiáng)的穩(wěn)健性,對按比例縮放,JPEG壓縮,抖動,以及剪切等操作具有一定的抵抗力,甚至在圖像經(jīng)過打印,復(fù)印,掃描等處理后,水印仍可以被恢復(fù)出來。但是非盲水印,仍不能滿足商業(yè)實(shí)際應(yīng)用。文獻(xiàn)[2]針對傳統(tǒng)的擴(kuò)頻盲水印算法嵌入信息量小,提取水印正確率低的缺點(diǎn),提出了一種結(jié)合分塊SVD分解的相關(guān)值檢測盲水印方法。但該算法在空域中擴(kuò)頻,魯棒性不足也不能抗幾何攻擊。文獻(xiàn)[3]基于DCT域的擴(kuò)頻水印算法,采用雙偽隨機(jī)序列進(jìn)行擴(kuò)頻,提高了水印提取的準(zhǔn)確率,但無法抵抗旋轉(zhuǎn)等幾何攻擊。文獻(xiàn)[4]中基于DCT-SVD的數(shù)字水印算法對原始圖像進(jìn)行8×8DCT變換后,對DC系數(shù)集合進(jìn)行2×2分塊的SVD變換,使用量化步長量化每個小塊對應(yīng)的最大奇異值,水印圖像做置亂預(yù)處理。該算法量化步長較大容易造成塊效應(yīng),未使用擴(kuò)頻技術(shù),魯棒性有一定限制且大角度旋轉(zhuǎn)效果也不是很好。文獻(xiàn)[5]基于人類視覺自適應(yīng)系統(tǒng)的SVD來抵抗幾何攻擊算法,在二級小波變換域下根據(jù)人類視覺系統(tǒng)進(jìn)行自適應(yīng)嵌入水印,可以較好的解決塊效應(yīng),但存在圖像大角度非90的倍數(shù)旋轉(zhuǎn)時(shí),水印魯棒性差。為了提高水印抗幾何攻擊的能力,尤其是旋轉(zhuǎn)攻擊,本文提出了一種利用擴(kuò)頻技術(shù)的基于DCTSVD的抗幾何變換數(shù)字水印。使用重復(fù)碼擴(kuò)頻,在提取時(shí)多數(shù)判斷提高檢測率。同時(shí)該算法在提取水印時(shí)通過估算旋轉(zhuǎn)角度,以提高大角度旋轉(zhuǎn)攻擊時(shí)的抵抗力。
擴(kuò)頻水印利用擴(kuò)頻技術(shù)原理,將水印分布在許多數(shù)據(jù)頻域系數(shù)中,這樣加入每個頻域系數(shù)的信號能量很小且不可隨意檢測。水印檢測過程知道水印的位置和內(nèi)容,它能將許多微弱的信號集中起來形成具有較高信噪比的輸出值,要破壞水印需要很強(qiáng)的噪聲信號加入所有頻域系數(shù)中,但是,破壞水印的同時(shí)也造成原始數(shù)據(jù)質(zhì)量嚴(yán)重下降。只要水印信號能量足夠小,加入原始數(shù)據(jù)的水印就不可能被看見或聽到。利用人的掩蔽效應(yīng)可以增加加入水印信號的能量。
由于擴(kuò)頻技術(shù)的強(qiáng)抗干擾能力、低截獲率性和高保密性,因此利用擴(kuò)頻原理的數(shù)字水印技術(shù)具有很高的健壯性和安全性。
已知原始圖像I=I(i),水印信息X={x(i)=±1,0≤i≤R-1},R為水印信息長度。采用長度為N 的擴(kuò)頻序列 P={p(i)= ±1,0≤i≤N-1},對水印信息擴(kuò)頻后得到W。
對于擴(kuò)頻后的水印信息W,常采用如下嵌入方式,其中α>0為嵌入強(qiáng)度
如果接收方已得到發(fā)送方提供的擴(kuò)頻序列P及其長度N等參數(shù),則提取水印信息時(shí)只需計(jì)算P與前N個樣點(diǎn)的相關(guān)值。
由于P的偽隨機(jī)性,P與I不相關(guān),且w(i)=x(0)p(i),上式可以轉(zhuǎn)化為
由相關(guān)值的符號即可提取水印信息x(0)。
國內(nèi)劉瑞禎、譚鐵牛[8]較早提出基于奇異值分解的數(shù)字圖像水印方法,奇異值分解數(shù)字水印具有良好的抗噪聲和幾何形變的能力,成為抗幾何攻擊水印算法的研究熱點(diǎn)。
奇異值分解(Singular Value Decomposition,SVD)是一種正交矩陣分解,可以將矩陣對角化,目前被廣泛用于數(shù)字圖像處理中。一幅圖像可以看成是由許多非負(fù)標(biāo)量組成的矩陣,若一幅圖像用I表示,定義為I∈Rm*n,R表示實(shí)數(shù)域,則矩陣的奇異值分解表示為:
UTIV=diag(σ1,σ2,σ3,…,σp)=S,對角線上的元素成為I的奇異值,σi按降序排序且σi≥0。
ui,vi的列分別對應(yīng)于奇異值 σi的左右奇異值向量,滿足 Ivi=σiui,Iui= σivi。
文獻(xiàn)[9]中已對奇異值分解幾何失真不變性進(jìn)行了分析,可以得出以下結(jié)論:
1.奇異值序列中,第一個奇異值比其它奇異值大的多;
2.圖像奇異值具有非常好的穩(wěn)定性,當(dāng)圖像的灰度出現(xiàn)小的變化時(shí),其SVD特征矢量不會出現(xiàn)大的變化。SVD擾動分析表明,SVD特征具有良好的穩(wěn)定性,所以它對圖像噪音、圖像光照條件不同引起的圖像灰度變化具有不敏感的特性。這一特性放寬了對圖像預(yù)處理的要求。
3.奇異值體現(xiàn)圖形的內(nèi)蘊(yùn)特性(能量特性),U和V體現(xiàn)的是圖像的視覺特性(幾何特性);
4.奇異值對幾何失真(轉(zhuǎn)置、旋轉(zhuǎn)、位移、放大、鏡像)不變性
從圖像數(shù)字水印的角度來看,在圖像的奇異值中嵌入水印,利用上述第1個特性為選擇合適的嵌入水印的奇異值提供了理論依據(jù);第2個特性使得水印具有較好的魯棒性;第3個特性使得水印嵌入具有很好的不可見性;第4個特性保證水印的穩(wěn)健性;
對于旋轉(zhuǎn)攻擊,我們用一個水印算法對提取的水印性質(zhì)進(jìn)行分析:
表1 旋轉(zhuǎn)攻擊下提取的水印圖像
由上表可知,當(dāng)待檢測圖像受到旋轉(zhuǎn)攻擊時(shí),提取的水印圖像旋轉(zhuǎn)的角度與攻擊時(shí)旋轉(zhuǎn)的角度相同,據(jù)此我們可以采用一定的方法對提取的水印做處理,達(dá)到檢測水印質(zhì)量的提高。
綜合以上分析,可見SVD數(shù)字水印具有良好的抗幾何形變的能力。
SVD水印嵌入算法一般可以分為以下兩種:
第一種,在奇異值中疊加水印,如圖1:
圖1 SVD水印嵌入方法一
第二種,通過以下方法修改最大奇異值,如圖2:
提取時(shí),待檢測圖像SVD變換后得到S*i,用量化步長為S量化后得Q
若mod(Q,2)==1,則擴(kuò)頻水印位Wi=0;
若mod(Q,2)==0,則擴(kuò)頻水印位Wi=1;
該方法簡單,不需要原始圖像數(shù)據(jù),是盲檢測。但由于改變第一個奇異值,對水印的不可見性影響比較大,需要取合適的量化步長兼顧水印的魯棒性和不可見性。
圖2 SVD水印嵌入方法二
本文采用第二種算法進(jìn)行水印的嵌入。文獻(xiàn)[4]中證明量化步長越大,算法魯棒性隨著提高,但水印透明性越低。本文采用文獻(xiàn)[5]中根據(jù)人類視覺系統(tǒng)自適應(yīng)調(diào)節(jié)量化步長,減少圖像塊效應(yīng)。同時(shí)采用擴(kuò)頻技術(shù)對水印信息進(jìn)行擴(kuò)頻,以增強(qiáng)水印的魯棒性,尤其是抗幾何攻擊能力。
采用M×M的灰度圖像作為原始圖像記為I,采用文本作為水印記為W。
用偽隨機(jī)序列發(fā)生器通過秘鑰Key1產(chǎn)生一列偽隨機(jī)序列pn_sequence,利用擴(kuò)頻技術(shù)對水印W進(jìn)行擴(kuò)頻,其做法是將水印位每位重復(fù)多次,然后用偽隨機(jī)序列對其進(jìn)行異或運(yùn)算,得到擴(kuò)頻后的水印序列,將擴(kuò)頻水印序列轉(zhuǎn)為二維矩陣 W';如序列(1,0,1,0),如圖3。
圖3
將原始圖像I進(jìn)行分塊DCT變換,得到分塊DCT系數(shù);然后按照圖2方法,結(jié)合文獻(xiàn)[5]中自適應(yīng)方法進(jìn)行水印的嵌入,最后進(jìn)行SVD反變換和DCT反變換得到嵌入水印后圖像。
水印提取時(shí)按照SVD方法二中提取方法得到解擴(kuò)前的序列,用偽隨機(jī)序列pn_sequence對擴(kuò)頻水印解擴(kuò),得到的由(0、1)組成二維矩陣,由于采用重復(fù)碼,計(jì)算每行中0、1的個數(shù),若0的個數(shù)大于1的個數(shù)則最終提取的水印位取0,否則取1。
對于旋轉(zhuǎn)攻擊,在提取水印時(shí)對原攻擊圖像旋轉(zhuǎn)角度進(jìn)行估計(jì),提取的二維矩陣擴(kuò)頻水印序列進(jìn)行反向旋轉(zhuǎn)相同的角度,然后進(jìn)行解擴(kuò)。由于采用擴(kuò)頻技術(shù),水印提取準(zhǔn)確率較高。
嵌入水印后的圖像失真程度通常使用峰值信噪比(PSNR)來衡量,對于提取的水印與原始水印的進(jìn)行相似度評價(jià),相關(guān)系為NC。
本文采用512×512的lena灰度圖像作為原始圖像,文本水印為“傳媒大學(xué)”四個漢字,如圖4所示。
圖4(a) 原始圖像
文獻(xiàn)[4]加白噪聲提取水印NC=0.5090高斯低通濾波提取水印NC=0.8363。
該算法對JPEG攻擊具有很好的抵抗性,采用標(biāo)準(zhǔn)測試工具Stirmark軟件中的JPEG壓縮,壓縮因子從20-100,水印都能100%提取。
從圖5可知,在大面積剪切時(shí),序列相關(guān)度仍然很高,該算法對剪切攻擊也具有很高的抵抗力。
圖4(b) 文獻(xiàn)[4]嵌入水印圖像
圖4(c) 本文嵌入水印圖像和無攻擊時(shí)提取的水印
圖4(d) 白噪聲和提取的水印
圖4(e) 高斯低通濾波和提取的水印
對于SVD抗旋轉(zhuǎn)幾何攻擊,攻擊時(shí)旋轉(zhuǎn)了一定角度,提取水印時(shí)提取出的系數(shù)也將旋轉(zhuǎn)相同的角度。為了克服這個問題,在旋轉(zhuǎn)攻擊時(shí),先對旋轉(zhuǎn)角度進(jìn)行一個估算,提取算法過程中反向旋轉(zhuǎn)估算的角度。然后利用擴(kuò)頻技術(shù)對其進(jìn)行解擴(kuò)得到提取的水印。
圖5 剪切攻擊和提出的水印
將本算法和文獻(xiàn)[3]和文獻(xiàn)[4]中的算法在不同角度旋轉(zhuǎn)攻擊下,提取水印,得到下表:
表2 本算法和其他算法抗旋轉(zhuǎn)攻擊對比
由表2可知該算法在旋轉(zhuǎn)攻擊方面具有很大的優(yōu)勢。
本文基于SVD的DCT域擴(kuò)頻水印算法,基于人類視覺系統(tǒng)自適應(yīng)調(diào)節(jié)量化步長,減少嵌入水印圖像塊效應(yīng)。利用擴(kuò)頻技術(shù)對水印進(jìn)行擴(kuò)頻,增強(qiáng)水印安全性及魯棒性。其做法是將水印位每位重復(fù)多次,然后用偽隨機(jī)序列對其進(jìn)行異或運(yùn)算,然后通過修改最大奇異值方法將擴(kuò)頻后的水印嵌入圖像中。在旋轉(zhuǎn)攻擊提取水印時(shí),對旋轉(zhuǎn)角度進(jìn)行估算,后對解擴(kuò)前矩陣進(jìn)行反向旋轉(zhuǎn)相同角度再進(jìn)行利用擴(kuò)頻技術(shù)進(jìn)行解擴(kuò),水印提取準(zhǔn)確率得到很大提高。本算法提取水印時(shí)不需要原始圖像,屬于盲水印。本算法能有效的抵抗噪聲、濾波、JPEG壓縮等攻擊,尤其對剪切攻擊和旋轉(zhuǎn)攻擊抵抗很明顯。但本算法是以犧牲原始水印信息大小來換取水印抗各種攻擊尤其是幾何攻擊性能的,如何增加嵌入量是以后需要研究的重點(diǎn)。
[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]董兵,張建偉.一種基于相關(guān)值檢測盲水印方法[J].計(jì)算機(jī)應(yīng)用與軟件,2007,24(4):162-164.
[3]柏均.基于擴(kuò)頻技術(shù)的DCT域圖像水印算法[J].煤炭技術(shù),2011,30(9):167-169.
[4]王友衛(wèi),申鉉京,呂穎達(dá),陳海鵬.基于DCT和SVD變換的盲水印算法[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(21):157-161.
[5]包銳,張?zhí)祢U,王玉娥,白娟.基于人類視覺系統(tǒng)的SVD擴(kuò)頻水印算法[J].計(jì)算機(jī)應(yīng)用研究,2011,28(8):3054-3057.
[6]徐光憲,張鑫,付曉.基于圖像版權(quán)保護(hù)的擴(kuò)頻水印算法仿真研究[J].計(jì)算機(jī)仿真,2012,29(10):298-301.
[7]王樹梅,趙衛(wèi)東,等.離散余弦變換域圖像數(shù)字水印技術(shù)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(21):5170-5173.
[8]劉瑞禎,譚鐵牛.基于奇異值分解的數(shù)字圖像水印方法[J].電子學(xué)報(bào),2001,2:168-171.
[9]周波,陳健.基于奇異值分解的、抗幾何失真的數(shù)字水印算法[J].中國圖象圖形學(xué)報(bào),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,F(xiàn)ernando P'erez-Gonz'alez.Spread Spectrum Watermarking Security[J].IEEE Transactions on information forensics and security,2009,5:2-24