摘 要:介紹了一種基于離散余弦變換域(DCT)中頻系數(shù)置換的盲水印算法,用該算法對數(shù)字水印進行了自適應嵌入方法研究。該算法突破了數(shù)字水印的加性算法、乘性算法等傳統(tǒng)的水印嵌入方法;解決了被提取水印中含有原始圖像DCT系數(shù)從而影響水印檢測準確性的問題。該算法使用人類視覺模型對水印圖像進行自適應嵌入,使嵌入的數(shù)字水印從根本上不可逆。實驗證明該算法對數(shù)字水印的濾波、剪切、噪聲等攻擊有很強的魯棒性。
關鍵詞: 中頻系數(shù); 置換;盲水印
中圖分類號:TP391; O235文獻標志碼:A
文章編號:1001—3695(2007)03—0160—03
目前數(shù)字水印技術在版權保護領域的應用日益廣泛,前人已提出了眾多的水印嵌入算法,特別是變換域數(shù)字水印嵌入算法已逐漸成為主流[1]。在水印嵌入算法中,無論是盲水印算法還是非盲水印算法均屬于水印的加性嵌入方式,它們均是在原始圖像的像素值或變換域系數(shù)上以某種方式加上一定強度的水印信息。例如水印嵌入變換域中的離散余弦變換算法[2](DCT)、離散小波變換算法[3](DWT)等。上述算法的基本原理都是采用能量較大的系數(shù)來隱藏能量較低的水印。而在盲水印提取算法或水印檢測過程中往往需要對含有水印圖像所隱含的原始圖像像素值或變換域系數(shù)作某種假設或處理。這些處理在提取水印過程中或多或少會留有原始系數(shù),從而在某種程度上造成檢測誤差,致使檢測的準確性降低。本文提出的基于DCT域中頻系數(shù)置換的盲水印算法突破了傳統(tǒng)水印的加性嵌入算法模式,采用直接置換DCT變換域中頻系數(shù)的盲水印嵌入算法嵌入水印。該算法在水印檢測時不需要某些假設或處理,解決了上述水印嵌入的難題;同時該算法使嵌入的水印從根本上不可逆。本文闡述了數(shù)字水印的DCT變換域中頻系數(shù)的盲水印嵌入算法原理;討論了水印選擇、視覺模型選擇、DCT變換域中頻系數(shù)選擇模式;論述了水印嵌入、水印幾何攻擊和檢測與水印的魯棒性評價等。
1 水印的嵌入與檢測
1.1 水印的選擇
本實驗所嵌入的數(shù)字水印W服從均值為0、方差為1的高斯分布。由于用水印中過小的值置換DCT中頻系數(shù)容易受到噪聲的影響,使得水印魯棒性降低;而用過大的值置換DCT域中頻系數(shù)又使圖像本身的視覺質量明顯下降,使水印的不可感知性受到影響,水印中一些過小和過大的值將被篩選掉。通過實驗,本文選擇如下的水印值作為嵌入圖像的水印:
W={w,0.4<|w|<1}
1.2 視覺模型(HVS)的選擇
為了協(xié)調水印魯棒性和不可感知性,利用人類視覺模型作為置換DCT域中頻系數(shù)的約束條件。本實驗采用的視覺模型為如下DCT域的HVS模型[4]:
對于一個N×N的塊,ωx是視角度數(shù)內單個像素的水平寬度,值取為0.024 9;ωy是視角度數(shù)內單個像素的垂直寬度,值取為0.025 4。c00k為第k塊DCT系數(shù)中的直流分量;c00為所有塊DCT系數(shù)中直流分量的均值。Tij是塊為8×8的圖像在DCT域中第i、 j位置上頻率最大的改變量,該值對于每個塊為8×8的圖像都是相同的。Tijk為第k塊圖像Tij值在亮度下的修正值。水印的掩蔽模型如下:
1.3 中頻系數(shù)的選擇
由于DCT域的低頻分量集中了圖像中的大部分能量,通常系數(shù)值較大;而高頻系數(shù)值容易受到攻擊的影響,從而很難在不可感知性和魯棒性之間作出折中。本實驗不選擇置換DCT域的低頻和高頻系數(shù)。此外,文獻[4]中給出的可以嵌入水印的中頻系數(shù)個數(shù)為22個,如圖1(a)所示。由于該算法在同一圖像塊中嵌入過多水印,這將使圖像明顯失真。另外該算法按之字形掃描后的十幾個系數(shù)接近高頻系數(shù),易受攻擊影響,降低水印的魯棒性。本算法選擇的中頻系數(shù)可克服上述缺陷。本實驗所嵌入的DCT域中頻系數(shù)如圖1(b)所示。
1.4 水印的嵌入
為了獲取適當?shù)那度胨〉闹蓄l系數(shù),本實驗采用閾值T作為中頻系數(shù)的選取條件。當所選區(qū)域內的中頻系數(shù)I>T時,該中頻系數(shù)就具備了置換資格。但由于在置換中存在系數(shù)變號的問題,如當中頻系數(shù)為正時,置換后變?yōu)樨摚斨蓄l系數(shù)較大時這種置換容易造成圖像嚴重失真,對較大的中頻系數(shù)不作置換。本實驗置換中頻系數(shù)嵌入水印的算法如下:
其中,I′為嵌入水印的DCT系數(shù);α為水印W的放大倍數(shù);βT為所選中頻系數(shù)I的上限。在計算放大倍數(shù)α時,本實驗對水印的嵌入公式作如下變換:
這里為了計算方便,可令∑WI=0。這樣在βT確定的情況下,給定PSNR,可使放大倍數(shù)α的計算簡化。本實驗對原始圖像尺寸為512×512的Lena圖像,令β=7、PSNR=46,計算得到α≈10。
1.5 水印的檢測
本實驗采用Cox等人[6]提出的相似性算法進行水印檢測:
其中,R表示水印的檢測結果;1表示當相似度s大于閾值γ時水印存在;0表示當相似度s小于閾值γ時水印不存在。由于誤檢率Pfa和漏檢率Pfr兩者是矛盾的,當要求Pfa減少時,Pfr會相應地增大。這就需要選擇一個閾值γ在兩者之間獲得折中方案。由于難以判斷所獲得的圖像曾經(jīng)進行過何種處理,分析Pfr的難度會很大。本實驗固定Pfa,并選擇閾值γ使Pfr達到最小。誤檢率Pfa在給定閾值γ下的分布為
其中,I為原始圖像像素值或圖像頻域系數(shù);I′為嵌入水印后的圖像像素值或圖像頻域系數(shù);W為水印;α為水印嵌入強度,它既可以是固定強度,即與圖像無關,也可以是自適應地依賴原始圖像。本實驗在DCT域中使用HVS模型采用下述水印嵌入算法:
式(5)可明顯看到干擾項較(3)多了W×I和I×I兩項。為了更簡潔地說明問題,再假設水印W與原始系數(shù)I之間正交,則式(5)可進一步簡化為
式(6)可看到原始系數(shù)I是除噪聲n外的又一個影響水印檢測準確性的干擾因素,尤其是當相似度值接近閾值時干擾將增大。令W″=αW+n,則式(6)可寫為
在圖2中形象地說明了殘留系數(shù)值r對檢測值s的影響。
2 實驗結果分析
本文選取Lena、Baboon、Girl、Ship、Panda、Miss、Couple、Boat、Monument等9幅尺寸為512×512的圖像作為實驗對象。令α=10,β=7,計算的圖像攻擊相似度值如表1所示。在表1中,列出了攻擊后的部分相似度值,以及成功檢測出含有水印的圖像個數(shù)。表1中所列的原始圖像如圖3(a)—(i)所示。限于篇幅,圖3(j)—(l)分別列出Lena圖像的加水印圖像、椒鹽噪聲攻擊圖像和剪切攻擊圖像。表1中所列的攻擊是全部攻擊的一部分(本文將攻擊后相似度值超過20的攻擊全部略去),僅為10種。
9幅加水印圖像作為攻擊對象,即有90幅被攻擊圖像,而成功檢測出圖像中含有水印的圖像為82幅,成功率為91.1%。而且如果縱向觀察攻擊后的監(jiān)測結果會發(fā)現(xiàn),檢測成功率最低也是6/10=60%,從攻擊的總體效果來講,說明每幅含水印的圖像對攻擊均具有較強的魯棒性。因此表1中實驗數(shù)據(jù)表明,本文算法對濾波、剪切、噪聲等攻擊有著很強的魯棒性。
3 結束語
本文提出的盲水印算法,通過置換DCT域中的中頻系數(shù)并采用人類視覺模型自適應地實現(xiàn)水印嵌入,使嵌入的數(shù)字水印從根本上不可逆,從而在算法上突破了傳統(tǒng)的水印嵌入方法。同時由于采用本算法,使被提取的水印中不含有原始圖像DCT系數(shù),使水印檢測的準確性更高。本文對此進行了詳細的討論,而且通過實驗證明了本算法對攻擊的魯棒性。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。