于帥珍 謝道平
(安徽財(cái)經(jīng)大學(xué)電子信息工程系,安徽 蚌埠 233030)
數(shù)字水印信號(hào)嵌入圖像的方式有空域方式和變換域方式兩種類型。空間域水印算法雖然簡(jiǎn)單,但抗攻擊能力差,而變換域水印算法中的水印信息隱蔽性好、抗攻擊能力較高,仍是目前研究的熱點(diǎn)。[1-4]其中,小波變換(DWT)具有時(shí)頻局部化多分辨率特性,對(duì)噪聲攻擊和壓縮攻擊具有良好的魯棒性,但對(duì)幾何攻擊無(wú)能為力,[3]因?yàn)閹缀喂魰?huì)使小波系數(shù)的分布產(chǎn)生很大的影響,破壞其與水印的同步性。離散余變換(DCT)可以抵抗低通濾波、圖像模糊等簡(jiǎn)單的攻擊,[5]但在受到旋轉(zhuǎn)攻擊、剪切攻擊等幾何攻擊時(shí)所提取出的水印信息會(huì)嚴(yán)重缺失。奇異值分解[6](SVD)雖然對(duì)幾何攻擊具有良好的魯棒性,但其抗椒鹽、高斯、濾波等攻擊能力較弱??梢?jiàn)單變換域并不是對(duì)所有的常見(jiàn)攻擊都具有魯棒性,為了克服這一缺陷,在研究數(shù)字水印技術(shù)時(shí)可以將不同變換域的優(yōu)良特性結(jié)合起來(lái)。
曲長(zhǎng)波[7]提出先對(duì)原始圖像進(jìn)行DCT變換,然后在其左上角的低頻變換系數(shù)取大小與數(shù)字水印相同的系數(shù)塊同時(shí)進(jìn)行SVD分解得到奇異值矩陣,最后利用加性準(zhǔn)則將兩奇異值矩陣結(jié)合得到含水印圖像,該算法雖可以較好地抵抗有損壓縮,但對(duì)噪聲攻擊、濾波攻擊效果不理想。Singh[8]提出在DWT-DCT-SVD多變換域嵌入數(shù)字水印,該算法不僅能很好地抵抗噪聲攻擊、濾波攻擊,而且在抗旋轉(zhuǎn)攻擊、剪切攻擊方面也有所提高。葉天語(yǔ)[9]提出在DWT-SVD混合域中嵌入水印,抗攻擊能力和種類都較單變換域有所提高,國(guó)內(nèi)外的許多專家學(xué)者也從多變換域的角度出發(fā)提出了對(duì)應(yīng)的水印算法。[6-12]
圖像經(jīng)過(guò)DCT變換得到一個(gè)頻率系數(shù)矩陣,其左上角是一個(gè)直流系數(shù),幅值最大,頻率最低,以該直流系數(shù)為出發(fā)點(diǎn),向右、向下方向系數(shù)值在減少,頻率在增大,最右下角數(shù)值最低,頻率最高。圖像的高頻分量反映的是圖像的細(xì)節(jié)部分,離直流系數(shù)越遠(yuǎn)的高頻頻譜包含的圖像信息越少,右下角附近的區(qū)域幾乎不包含圖像信息;而圖像的大部分信息集中在直流系數(shù)及其附近的低頻系數(shù)上,特別是直流系數(shù)上,若在載體圖像的直流系數(shù)中嵌入水印可以減小嵌入的水印信息對(duì)載體圖像的影響,又因直流系數(shù)值較大,會(huì)使水印嵌入強(qiáng)度增大,魯棒性提高。因而直流系數(shù)常作為水印嵌入?yún)^(qū)域。
圖像的奇異值分解是正交變換,它經(jīng)過(guò)奇異值分解后得到兩個(gè)正交矩陣,一個(gè)對(duì)角矩陣,其中對(duì)角矩陣對(duì)角線上的元素就是圖像的奇異值。從圖像處理的角度來(lái)看,圖像奇異值有較強(qiáng)的穩(wěn)定性,也就是說(shuō)當(dāng)圖像受到較小的擾動(dòng)時(shí),其奇異值變化甚微,并且奇異值體現(xiàn)的是圖像的內(nèi)蘊(yùn)特性而不是視覺(jué)特性,所以當(dāng)在圖像奇異值中嵌入水印信息時(shí)所引起的視覺(jué)失真較少,可以提高水印的魯棒性和透明性。
水印信息是具有重要意義的信息,為增強(qiáng)它的安全性,在水印信息嵌入數(shù)字媒體之前就將其進(jìn)行加密預(yù)處理。本文采用Arnold變換公式來(lái)對(duì)水印圖像進(jìn)行加密處理,將一幅有意義的圖像變成雜亂無(wú)章的圖像,從而隱藏了原始圖像的真實(shí)信息,其中參數(shù)a、置亂次數(shù)m及圖像的階數(shù)n都作為信息安全的密鑰,由于密鑰復(fù)雜,水印信息的安全性較高。Arnold置亂公式為:
圖1(a)是大小為256×256的灰度圖像,它是參數(shù)a=1,變換周期為t=192時(shí)的Arnold
變換過(guò)程圖,其變換周期為t=192。如果改變密鑰a的大小或圖像大小,置亂變換的周期t也會(huì)隨之發(fā)生變化,周期t值越大,解密過(guò)程越復(fù)雜,水印系統(tǒng)的安全性也就越高,所以圖像置亂時(shí),我們盡量選擇t值較長(zhǎng)的a值和置亂效果較好的m值。
圖1 原圖像及其Arnold變換后的圖像
水印嵌入流程如圖2所示
圖2 水印嵌入流程圖
水印嵌入過(guò)程的具體步驟如下:
(1)根據(jù)流程圖我們先對(duì)原始載體圖像A按照8×8的大小進(jìn)行分塊,然后再對(duì)每一分塊進(jìn)行DCT變換,最后再?gòu)慕?jīng)過(guò)DCT變換的塊中抽取它的第一個(gè)值也就是直流分量組成一個(gè)新的矩陣F。
(2)根據(jù)奇異值分解公式F=USVT對(duì)矩陣F進(jìn)行奇異值分解得到兩個(gè)正交矩陣U、V,一個(gè)對(duì)角矩陣S,它們都屬于實(shí)數(shù)域,T為矩陣的轉(zhuǎn)置。
(3)利用Arnold變換算法將原始水印圖像W置亂,得到置亂后的水印W′,按表達(dá)式S+aW′將W′疊加到步驟(2)中的S矩陣中(用a來(lái)控制水印嵌入能量)得到一個(gè)新的矩陣,然后將該新矩陣再次進(jìn)行奇異值分解得到三個(gè)矩陣U1、V1、S1,該過(guò)程可表示為:S+aW′=>USVT111
(4)將步驟(2)中的U、VT和步驟(3)中的S1相乘后得到矩陣F′,這個(gè)過(guò)程可表示為:US1VT=>F′,用F′中的值替換步驟(1)中的F后進(jìn)行DCT反變換得到含水印圖像AW。
水印檢測(cè)過(guò)程實(shí)質(zhì)就是水印嵌入過(guò)程的逆過(guò)程,檢測(cè)流程如下:
圖3 水印檢測(cè)流程圖
水印檢測(cè)過(guò)程的具體步驟如下:
(1)首先對(duì)受到攻擊后的含水印圖像A′W按照8×8的大小進(jìn)行分塊,然后再對(duì)每一分塊進(jìn)行DCT變換,從經(jīng)過(guò)DCT變換的塊中抽取它的左上角第一個(gè)值也就是直流分量組成一個(gè)新的矩陣F′W。
(2)對(duì)矩陣F′W進(jìn)行SVD變換得到三個(gè)矩陣U′W、S′W、V+′TW,其表達(dá)式為 FW′=> U′WS′WV+′TW,將水印檢測(cè)時(shí)得到的矩陣S′和水印嵌入時(shí)得到的矩陣U1、V1經(jīng)過(guò)SVD反變換后得到矩陣B′W,其表達(dá)式為U1S′WV1T=> B′W。
(3)根據(jù)表達(dá)式(B′W-S)/a=>W(wǎng)′W得到初始水印,再對(duì)W′W進(jìn)行Arnold反變換得到有含義的水印信息W′W, 其變換公式為
采用512×512大小的rice圖像作為載體,64×64大小的“數(shù)字水印”圖像作為水印,如圖4所示。水印嵌入強(qiáng)度在a=0.1,Arnlod變換的密鑰a=8,置亂周期t=64,置亂次數(shù)m=10時(shí)對(duì)含水印圖像進(jìn)行各種攻擊測(cè)試。提取的水印質(zhì)量由相似度NC、誤碼率Error來(lái)衡量。
圖 4攻擊測(cè)試采用的原圖和水印圖像
圖 5未攻擊測(cè)試時(shí)含水印圖像及提取的水印
圖5 為未受任何攻擊處理情況下的含水印圖像及提取的水印。比較圖4、圖5,從視覺(jué)上來(lái)看,水印嵌入前后兩幅圖像也沒(méi)有區(qū)分,說(shuō)明本文采用的算法能夠很好地隱藏水印,具有較好的不可見(jiàn)性;提取的水印NC=1,從視覺(jué)上看原始水印和提取的水印也完全一致,說(shuō)明能夠準(zhǔn)確地提取水印,能夠起到版權(quán)保護(hù)的作用。
對(duì)含水印圖像進(jìn)行有損壓縮攻擊,其攻擊結(jié)果如表1所示。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn)當(dāng)品質(zhì)因數(shù)大于60時(shí),提取的水印與原水印完全一樣,相似為1,誤碼率為0;當(dāng)品質(zhì)因數(shù)為3時(shí),含水印圖像方塊效應(yīng)非常明顯,圖像嚴(yán)重失真,如圖4所示,但是提取的水印相似度仍為0.8865,誤碼率只有0.0352,檢測(cè)出的水印圖像也很清晰。
表1 JPEG壓縮攻擊后水印檢測(cè)結(jié)果
圖6 含水印圖像在不同的品質(zhì)因數(shù)攻擊下提取的水印及Q=3時(shí)的含水印圖像
對(duì)含水印的圖像旋轉(zhuǎn)任意角度進(jìn)行攻擊,其檢測(cè)出的水印如表2所示,相似度都大于0.99,檢測(cè)出的水印圖像非常清晰,可見(jiàn)本文算法完全能夠抵擋旋轉(zhuǎn)攻擊。
表2 旋轉(zhuǎn)攻擊后水印檢測(cè)結(jié)果
圖7 含水印圖像在不同旋轉(zhuǎn)角度攻擊下提取的水印及θ=450時(shí)的含水印圖像
對(duì)含水印圖像進(jìn)行各種剪切攻擊后檢測(cè)出的水印從圖6可以看出都非常清晰,從表3可以看出其與原水印相似度都在0.9以上,相似度很高,并且誤碼率很低,由此可以判斷剪切攻擊對(duì)含水印圖像中的水印破壞很小,并且剪切的面積越小,對(duì)圖像中水印的破壞也就越小,檢測(cè)出的水印也就越清晰。
表3 剪切攻擊后水印檢測(cè)結(jié)果
圖8 含水印圖像在各種剪切攻擊下提取的水印及含水印圖像
當(dāng)給含水印的圖像添加方差為0.2的高斯噪聲和方差為0.5的乘性噪聲時(shí),如圖7所示圖像污染相當(dāng)嚴(yán)重,但從表4可以看出檢測(cè)出的水印的相似度仍為0.99以上,從圖7也可以看出檢測(cè)出的水印非常清晰,所以本文算法可以完全抵制圖像傳送和處理過(guò)程中產(chǎn)生的噪聲攻擊。另外,從實(shí)驗(yàn)結(jié)果也可以看出,無(wú)論對(duì)圖像進(jìn)行縮放攻擊,還是對(duì)對(duì)圖像進(jìn)行濾波攻擊,對(duì)檢測(cè)出來(lái)的水印質(zhì)量影響都非常小,取得理想的檢測(cè)效果。
表4 其他攻擊后水印檢測(cè)結(jié)果
圖9 噪聲攻擊和濾波攻擊后的含水印圖像及其提取的水印
本文分析了單變換域水印算法的缺陷和優(yōu)勢(shì),如基于DCT變換的水印算法雖可抵抗常見(jiàn)的攻擊處理,但對(duì)旋轉(zhuǎn)、剪切等幾何攻擊抵抗力差,基于SVD變換的水印算法雖然對(duì)幾何攻擊具有良好的魯棒性,但其抗椒鹽、高斯、濾波等攻擊能力較弱,知道單變換域并不是對(duì)所有的常見(jiàn)攻擊都具有魯棒性,為了克服單變換域的缺陷,充分利用各單變換域的優(yōu)良特性,提出了基于DCT-SVD聯(lián)合水印算法,不僅對(duì)常規(guī)圖像攻擊具有較強(qiáng)的魯棒性,而且對(duì)幾何攻擊也具有較強(qiáng)的魯棒性,完全可以抵抗旋轉(zhuǎn)和剪切等幾何攻擊,在抗攻擊種類和能力方面都比單變換域水印算法有所改善。由于在嵌入水印前對(duì)水印信息進(jìn)行了置亂處理,保證了算法的安全性。