于帥珍 謝道平
(安徽財經大學電子信息工程系,安徽 蚌埠 233030)
數字水印信號嵌入圖像的方式有空域方式和變換域方式兩種類型。空間域水印算法雖然簡單,但抗攻擊能力差,而變換域水印算法中的水印信息隱蔽性好、抗攻擊能力較高,仍是目前研究的熱點。[1-4]其中,小波變換(DWT)具有時頻局部化多分辨率特性,對噪聲攻擊和壓縮攻擊具有良好的魯棒性,但對幾何攻擊無能為力,[3]因為幾何攻擊會使小波系數的分布產生很大的影響,破壞其與水印的同步性。離散余變換(DCT)可以抵抗低通濾波、圖像模糊等簡單的攻擊,[5]但在受到旋轉攻擊、剪切攻擊等幾何攻擊時所提取出的水印信息會嚴重缺失。奇異值分解[6](SVD)雖然對幾何攻擊具有良好的魯棒性,但其抗椒鹽、高斯、濾波等攻擊能力較弱。可見單變換域并不是對所有的常見攻擊都具有魯棒性,為了克服這一缺陷,在研究數字水印技術時可以將不同變換域的優良特性結合起來。
曲長波[7]提出先對原始圖像進行DCT變換,然后在其左上角的低頻變換系數取大小與數字水印相同的系數塊同時進行SVD分解得到奇異值矩陣,最后利用加性準則將兩奇異值矩陣結合得到含水印圖像,該算法雖可以較好地抵抗有損壓縮,但對噪聲攻擊、濾波攻擊效果不理想。Singh[8]提出在DWT-DCT-SVD多變換域嵌入數字水印,該算法不僅能很好地抵抗噪聲攻擊、濾波攻擊,而且在抗旋轉攻擊、剪切攻擊方面也有所提高。葉天語[9]提出在DWT-SVD混合域中嵌入水印,抗攻擊能力和種類都較單變換域有所提高,國內外的許多專家學者也從多變換域的角度出發提出了對應的水印算法。[6-12]
圖像經過DCT變換得到一個頻率系數矩陣,其左上角是一個直流系數,幅值最大,頻率最低,以該直流系數為出發點,向右、向下方向系數值在減少,頻率在增大,最右下角數值最低,頻率最高。圖像的高頻分量反映的是圖像的細節部分,離直流系數越遠的高頻頻譜包含的圖像信息越少,右下角附近的區域幾乎不包含圖像信息;而圖像的大部分信息集中在直流系數及其附近的低頻系數上,特別是直流系數上,若在載體圖像的直流系數中嵌入水印可以減小嵌入的水印信息對載體圖像的影響,又因直流系數值較大,會使水印嵌入強度增大,魯棒性提高。因而直流系數常作為水印嵌入區域。
圖像的奇異值分解是正交變換,它經過奇異值分解后得到兩個正交矩陣,一個對角矩陣,其中對角矩陣對角線上的元素就是圖像的奇異值。從圖像處理的角度來看,圖像奇異值有較強的穩定性,也就是說當圖像受到較小的擾動時,其奇異值變化甚微,并且奇異值體現的是圖像的內蘊特性而不是視覺特性,所以當在圖像奇異值中嵌入水印信息時所引起的視覺失真較少,可以提高水印的魯棒性和透明性。
水印信息是具有重要意義的信息,為增強它的安全性,在水印信息嵌入數字媒體之前就將其進行加密預處理。本文采用Arnold變換公式來對水印圖像進行加密處理,將一幅有意義的圖像變成雜亂無章的圖像,從而隱藏了原始圖像的真實信息,其中參數a、置亂次數m及圖像的階數n都作為信息安全的密鑰,由于密鑰復雜,水印信息的安全性較高。Arnold置亂公式為:

圖1(a)是大小為256×256的灰度圖像,它是參數a=1,變換周期為t=192時的Arnold
變換過程圖,其變換周期為t=192。如果改變密鑰a的大小或圖像大小,置亂變換的周期t也會隨之發生變化,周期t值越大,解密過程越復雜,水印系統的安全性也就越高,所以圖像置亂時,我們盡量選擇t值較長的a值和置亂效果較好的m值。

圖1 原圖像及其Arnold變換后的圖像
水印嵌入流程如圖2所示

圖2 水印嵌入流程圖
水印嵌入過程的具體步驟如下:
(1)根據流程圖我們先對原始載體圖像A按照8×8的大小進行分塊,然后再對每一分塊進行DCT變換,最后再從經過DCT變換的塊中抽取它的第一個值也就是直流分量組成一個新的矩陣F。
(2)根據奇異值分解公式F=USVT對矩陣F進行奇異值分解得到兩個正交矩陣U、V,一個對角矩陣S,它們都屬于實數域,T為矩陣的轉置。
(3)利用Arnold變換算法將原始水印圖像W置亂,得到置亂后的水印W′,按表達式S+aW′將W′疊加到步驟(2)中的S矩陣中(用a來控制水印嵌入能量)得到一個新的矩陣,然后將該新矩陣再次進行奇異值分解得到三個矩陣U1、V1、S1,該過程可表示為:S+aW′=>USVT111
(4)將步驟(2)中的U、VT和步驟(3)中的S1相乘后得到矩陣F′,這個過程可表示為:US1VT=>F′,用F′中的值替換步驟(1)中的F后進行DCT反變換得到含水印圖像AW。
水印檢測過程實質就是水印嵌入過程的逆過程,檢測流程如下:

圖3 水印檢測流程圖
水印檢測過程的具體步驟如下:
(1)首先對受到攻擊后的含水印圖像A′W按照8×8的大小進行分塊,然后再對每一分塊進行DCT變換,從經過DCT變換的塊中抽取它的左上角第一個值也就是直流分量組成一個新的矩陣F′W。
(2)對矩陣F′W進行SVD變換得到三個矩陣U′W、S′W、V+′TW,其表達式為 FW′=> U′WS′WV+′TW,將水印檢測時得到的矩陣S′和水印嵌入時得到的矩陣U1、V1經過SVD反變換后得到矩陣B′W,其表達式為U1S′WV1T=> B′W。
(3)根據表達式(B′W-S)/a=>W′W得到初始水印,再對W′W進行Arnold反變換得到有含義的水印信息W′W, 其變換公式為

采用512×512大小的rice圖像作為載體,64×64大小的“數字水印”圖像作為水印,如圖4所示。水印嵌入強度在a=0.1,Arnlod變換的密鑰a=8,置亂周期t=64,置亂次數m=10時對含水印圖像進行各種攻擊測試。提取的水印質量由相似度NC、誤碼率Error來衡量。

圖 4攻擊測試采用的原圖和水印圖像

圖 5未攻擊測試時含水印圖像及提取的水印
圖5 為未受任何攻擊處理情況下的含水印圖像及提取的水印。比較圖4、圖5,從視覺上來看,水印嵌入前后兩幅圖像也沒有區分,說明本文采用的算法能夠很好地隱藏水印,具有較好的不可見性;提取的水印NC=1,從視覺上看原始水印和提取的水印也完全一致,說明能夠準確地提取水印,能夠起到版權保護的作用。
對含水印圖像進行有損壓縮攻擊,其攻擊結果如表1所示。通過實驗發現當品質因數大于60時,提取的水印與原水印完全一樣,相似為1,誤碼率為0;當品質因數為3時,含水印圖像方塊效應非常明顯,圖像嚴重失真,如圖4所示,但是提取的水印相似度仍為0.8865,誤碼率只有0.0352,檢測出的水印圖像也很清晰。

表1 JPEG壓縮攻擊后水印檢測結果

圖6 含水印圖像在不同的品質因數攻擊下提取的水印及Q=3時的含水印圖像
對含水印的圖像旋轉任意角度進行攻擊,其檢測出的水印如表2所示,相似度都大于0.99,檢測出的水印圖像非常清晰,可見本文算法完全能夠抵擋旋轉攻擊。

表2 旋轉攻擊后水印檢測結果


圖7 含水印圖像在不同旋轉角度攻擊下提取的水印及θ=450時的含水印圖像
對含水印圖像進行各種剪切攻擊后檢測出的水印從圖6可以看出都非常清晰,從表3可以看出其與原水印相似度都在0.9以上,相似度很高,并且誤碼率很低,由此可以判斷剪切攻擊對含水印圖像中的水印破壞很小,并且剪切的面積越小,對圖像中水印的破壞也就越小,檢測出的水印也就越清晰。

表3 剪切攻擊后水印檢測結果

圖8 含水印圖像在各種剪切攻擊下提取的水印及含水印圖像
當給含水印的圖像添加方差為0.2的高斯噪聲和方差為0.5的乘性噪聲時,如圖7所示圖像污染相當嚴重,但從表4可以看出檢測出的水印的相似度仍為0.99以上,從圖7也可以看出檢測出的水印非常清晰,所以本文算法可以完全抵制圖像傳送和處理過程中產生的噪聲攻擊。另外,從實驗結果也可以看出,無論對圖像進行縮放攻擊,還是對對圖像進行濾波攻擊,對檢測出來的水印質量影響都非常小,取得理想的檢測效果。

表4 其他攻擊后水印檢測結果

圖9 噪聲攻擊和濾波攻擊后的含水印圖像及其提取的水印
本文分析了單變換域水印算法的缺陷和優勢,如基于DCT變換的水印算法雖可抵抗常見的攻擊處理,但對旋轉、剪切等幾何攻擊抵抗力差,基于SVD變換的水印算法雖然對幾何攻擊具有良好的魯棒性,但其抗椒鹽、高斯、濾波等攻擊能力較弱,知道單變換域并不是對所有的常見攻擊都具有魯棒性,為了克服單變換域的缺陷,充分利用各單變換域的優良特性,提出了基于DCT-SVD聯合水印算法,不僅對常規圖像攻擊具有較強的魯棒性,而且對幾何攻擊也具有較強的魯棒性,完全可以抵抗旋轉和剪切等幾何攻擊,在抗攻擊種類和能力方面都比單變換域水印算法有所改善。由于在嵌入水印前對水印信息進行了置亂處理,保證了算法的安全性。