韓紹程,王玉松
(中國(guó)民航大學(xué)基礎(chǔ)實(shí)驗(yàn)中心,天津 300300)
隨著數(shù)字多媒體信息在網(wǎng)絡(luò)中的廣泛使用和傳播,數(shù)字媒體的安全、知識(shí)產(chǎn)權(quán)的保護(hù)和認(rèn)證等方面問題也變得日益突顯,數(shù)字水印作為一種有效的解決途徑,可以彌補(bǔ)傳統(tǒng)加密技術(shù)的不足,成為國(guó)內(nèi)外學(xué)術(shù)界研究的熱點(diǎn)[1]。水印算法按照水印嵌入方式的不同,大致分為兩類:空域方法和變換域方法。在圖像的變換域中嵌入水印,對(duì)常見的信號(hào)處理操作能具有較好的魯棒性,使得變換域方法備受關(guān)注。圖像離散余弦變換(DCT)后,變換系數(shù)具有很好的能聚特性且?guī)缀醪幌嚓P(guān),重構(gòu)圖像時(shí),誤差隨機(jī)分布到各個(gè)像素中,不會(huì)造成誤差積累[2]。小波變換(DWT)因其良好的空頻局部化特性,在圖像模式識(shí)別領(lǐng)域得到廣泛應(yīng)用。小波變換的多分辨率分解和人眼視覺特性是一致的,使其在新一代靜止圖像壓縮標(biāo)準(zhǔn)(JPEG 2000)和運(yùn)動(dòng)圖像壓縮標(biāo)準(zhǔn)(MPEG-4)中占據(jù)了重要位置[3]。因此,基于DCT和DWT的方法一直受到人們的重視,出現(xiàn)了一些有效的水印方法[4-6],但這些算法仍有待完善。多小波作為小波的新發(fā)展,許多性能與單小波相比更具有優(yōu)越性,不少研究者已將水印嵌入到圖像的多小波變換域(DMWT)中,達(dá)到了較好的實(shí)驗(yàn)效果[7-8]。
文獻(xiàn)[2]和文獻(xiàn)[9]分別是在DCT變換域以及DWT和DCT混合變換域中,采用隨機(jī)數(shù)調(diào)制技術(shù)實(shí)現(xiàn)水印的嵌入,并取得了較好的實(shí)驗(yàn)效果,但仍存在一些不足。本文在此基礎(chǔ)上進(jìn)行了改進(jìn),以彩色圖像作為研究對(duì)象,在多小波變換和離散余弦變換混合域內(nèi)實(shí)現(xiàn)了有意義二值水印信息的嵌入和盲提取,水印嵌入前,根據(jù)紋理和能量特征,對(duì)待嵌入水印的多小波中頻系數(shù)塊進(jìn)行分類,嵌入水印時(shí),按照分類結(jié)果自適應(yīng)的選擇嵌入強(qiáng)度,使算法在不可見性和魯棒性之間取得了較好的折中。同時(shí),結(jié)合Arnold變換和混沌加密技術(shù)預(yù)處理水印信息,保證了算法的安全性。
為消除水印圖像像素空間的相關(guān)性,提高數(shù)字水印算法的安全性能,在水印嵌入前需對(duì)水印圖像進(jìn)行加密預(yù)處理,本文結(jié)合Arnold變換和Henon二維混沌系統(tǒng)[10]預(yù)處理待嵌入的水印圖像,具體步驟如下:
1)利用Arnold變換(見式(1))對(duì)水印圖像W進(jìn)行K次迭代運(yùn)算,以實(shí)現(xiàn)對(duì)W的置亂,其中(x,y)和(x′,y′)為變換前后位置坐標(biāo),M為圖像大小,由于Arnold變換具有周期性,只須對(duì)待恢復(fù)的圖像進(jìn)行TK迭代運(yùn)算,即可得到置亂前的圖像,這里T為變換周期。Arnold變換定義如下
2)利用Henon混沌映射(見式(2))產(chǎn)生兩個(gè)混沌序列 X={xi,1≤i≤N × N}和 Y={yi,1≤i≤N × N},其中a、b和x0、y0已知,分別從序列中選取M×M個(gè)元素,通過判斷閾值 Τ,即 xi,yi> Τ 時(shí),Zk=1,否則 Zk=0得到兩個(gè)二值混沌序列ZX={zk,1≤k≤M×M}和ZY={zk,1≤k≤M×M}。隨后將ZX和ZY掃描成二維矩陣的形式,記為 X*和 Y*。這里 a、b和初始值 x0、y0可作為密鑰使用。Henon混沌映射定義如下
3)將步驟1)中置亂后的結(jié)果與X*和Y*進(jìn)行異或運(yùn)算,得到加密后的二值信息W*,W*為實(shí)際要嵌入的水印信息,即
為使算法具有一定的自適應(yīng)性,在魯棒性和不可見性之間取得更好的折中,水印嵌入前需要對(duì)待嵌入?yún)^(qū)域的多小波中頻系數(shù)進(jìn)行模糊分類,在此借鑒了文獻(xiàn)[11]中提出的方法。
1)基于人類視覺模型(HVS)的多小波塊分類
結(jié)合HVS模型,按照式(4)來(lái)判斷多小波子塊的紋理強(qiáng)度
式中:H0為事先設(shè)定好的閾值;n(Uk)表示第k個(gè)子圖塊中絕對(duì)值大于H0的所有系數(shù)的個(gè)數(shù)。按圖1所示隸屬度函數(shù),根據(jù) n(Uk)大小可將 Uk分成 TL、TM和TH,Q1、Q21、Q22、Q3要從多次實(shí)驗(yàn)中選取合適的值。
2)基于能量模型的多小波塊分類
按式(5)計(jì)算各小波塊的能量
式中:F(u,v)意義同上;m、n為 Uk的行數(shù)和列數(shù)。將e(Uk)按從小到大的順序進(jìn)行編號(hào),編號(hào)號(hào)碼存放于N中,根據(jù)Uk的編號(hào)在N中的位置按照如圖1所示隸屬度函數(shù),將Uk分成EL、EM和EH三類。
綜合考慮以上兩種分類情況來(lái)確定最終的水印嵌入強(qiáng)度,在強(qiáng)紋理和能量小的多小波子塊中適合嵌入較大強(qiáng)度的水印信息。這里結(jié)合多小波塊的紋理和能量特性,可將待嵌入水印區(qū)域分成5類(見式(6))
其中,腳標(biāo)數(shù)值較大的子塊,可嵌入較大強(qiáng)度的水印。
1)水印嵌入過程
水印嵌入具體步驟如下:
Step1 將原始RGB彩色圖像I轉(zhuǎn)換到Y(jié)IQ空間,并提取Y分量,記為Y,并將其數(shù)值擴(kuò)展到[0,255]區(qū)間,即Y=255×Y。
Step2 先對(duì)Y分量進(jìn)行Cardbal2平衡多小波變換,隨后對(duì)得到中頻子帶再分別進(jìn)行一次變換,得到最終的中頻子圖 LH12、HL12、LH22和 HL22,如圖 2(a)所示,并將其按照一定的順序,組成新的系數(shù)矩陣V,如圖2(b)所示,作為水印的嵌入?yún)^(qū)域。
Step3 對(duì)系數(shù)矩陣V進(jìn)行8×8分塊,并按照1.2介紹的方法對(duì)其分類。隨后對(duì)每一個(gè)系數(shù)子塊Uk應(yīng)用DCT變換,在變換后的系數(shù)中,按照如圖2(c)所示的方案,選出若干個(gè)中頻系數(shù)進(jìn)行調(diào)制,約定待調(diào)制的系數(shù)為Dk。
Step4 通過密鑰key1、key2產(chǎn)生2個(gè)長(zhǎng)度為l的偽隨機(jī)數(shù)p0和p1,l和前面所選的DCT中頻系數(shù)的個(gè)數(shù)相同。
Step5 對(duì)應(yīng)每一個(gè)Uk嵌入W*的一位水印信息,嵌入規(guī)則如下
式中:βk為隨機(jī)序列的調(diào)制強(qiáng)度,按照前面分類的結(jié)果確定βk的值,即
式中:β_small,β_middle-,β_middle,β_middle+,β_big 的值經(jīng)過反復(fù)實(shí)驗(yàn)來(lái)獲得。
Step6 將修改后的系數(shù)還原到Y(jié)分量中,并結(jié)合I和Q分量恢復(fù)到RGB彩色空間,得到含水印的載體圖像。
2)水印提取過程
含水印的圖像在經(jīng)歷一定的攻擊操作后,提取水印時(shí)只需計(jì)算相應(yīng)位置的系數(shù)D*分別與p0和p1的相關(guān)值,通過比較大小來(lái)提取水印信息將提取出的二值圖像信息經(jīng)過Arnold反置亂和混沌解密得到最終的水印信息W′
本文在Matlab7.5環(huán)境下進(jìn)行了大量的仿真實(shí)驗(yàn),選用512×512大小的REG彩色圖像作為載體測(cè)試圖像,它們是 Lena、Baboon 和 House,如圖 3(a)~圖3(c)所示,采用有意義的二值圖像作為水印圖像,大小為 32×32,如圖 3(d)所示。實(shí)驗(yàn)中,Arnold 變換的置亂次數(shù)為 24,Henon 序列初值 a=1.4,b=0.3,x0=y0=0,嵌入強(qiáng)度分別取 β_small=15,β_middle-=20,β_middle=25,β_middle+=30,β_big=35。
實(shí)驗(yàn)中采用峰值信噪比(PSNR)和歸一化相似度(NC)[12]來(lái)評(píng)價(jià)提出算法的性能。PSNR值大于35時(shí),視覺上很難分辨出圖像發(fā)生的變化;NC值越高,越能說明提出的水印與原始水印之間的相似性。以Lena圖為例,按照本文提出的算法,PSNR=35.337 6;在沒有任何攻擊的情況下,提取出的水印NC=1.000 0,說明該算法的隱蔽性達(dá)到了理想的效果。
分別對(duì)含水印的圖像進(jìn)行添加高斯噪聲、添加椒鹽噪聲、JPEG壓縮和幾何剪切等常見的攻擊操作,以檢驗(yàn)本算法的魯棒性。由表1可以看出,含水印圖像經(jīng)歷不同強(qiáng)度的噪聲攻擊、不同程度的JPEG壓縮和較大范圍的幾何剪切之后,圖像質(zhì)量嚴(yán)重受損,但提取出的水印基本清晰可見,與原始水印相比具有較高的相似度。
為進(jìn)一步驗(yàn)證算法的魯棒性,將本文算法和文獻(xiàn)[2]、文獻(xiàn)[9]提出的算法進(jìn)行了比較。通過選擇不同的嵌入強(qiáng)度,在保證含水印圖像具有近似相同的視覺質(zhì)量前提下,分別進(jìn)行了添加高斯噪聲(0.01)、添加椒鹽噪聲(0.04)、JPEG 壓縮(Q=80%)和剪切(左上1/4)四種典型攻擊操作,表2給出了以Lena圖像為載體測(cè)試圖像,利用不同算法提取出的水印相似度比較情況,圖 4(a)和圖 4(b)分別顯示了用 Baboon和 House兩幅圖像為測(cè)試圖像,采用不同算法提取水印的NC值隨不同攻擊變化的關(guān)系。從表2中NC的大小關(guān)系不難看出,本文算法更具優(yōu)勢(shì),特別是抵抗剪切攻擊的能力,明顯優(yōu)于文獻(xiàn)[2]和文獻(xiàn)[9]提出的算法。圖4進(jìn)一步說明本文算法相對(duì)與于其他算法的有效性,同時(shí)證明了該算法具有一定的普適性。
表2 Lena圖算法魯棒性比較Tab.2 Robustness comparison for Lena
本文將多小波變換和離散余弦變換的優(yōu)點(diǎn)有機(jī)結(jié)合,提出了一種基于偽隨機(jī)序列調(diào)制的混合域水印算法,將水印嵌入到彩色圖像的Y分量上,水印檢測(cè)不需要原始載體圖像,實(shí)現(xiàn)了水印的盲提取。水印嵌入前采用模糊分類技術(shù)處理待嵌入水印區(qū)域,水印嵌入時(shí)根據(jù)Y分量圖像多小波變換后的紋理和能量特征,對(duì)不同的多小波系數(shù)矩陣選擇不同的嵌入強(qiáng)度,使得算法具有一定的自適應(yīng)性。水印嵌入前,采用Arnold變換和混沌加密技術(shù)置亂水印,算法安全可靠。實(shí)驗(yàn)證明,本文提出的算法對(duì)噪聲、JPEG壓縮和剪切等常見的攻擊操作均具有較強(qiáng)的魯棒性。除此之外,該算法在增大水印信息嵌入容量和抵抗平移、旋轉(zhuǎn)等幾何攻擊方面有待進(jìn)一步研究和完善。
[1]COX I J,MILLER M L,BLOOM J A.Digital Watermarking[M].USA:Morgan Kaufmann Publisher,2002.
[2]ZHU HUAIHONG,TIAN LI,MA JINGWEN,et al.A Dual Pseudo Random Sequence Digital Watermarking Algorithm Based on DCT[C]//ICEE,2011:1-4.
[3] 黃達(dá)人,劉九芬,黃繼武.小波變換域圖像水印嵌入對(duì)策和算法[J].軟件學(xué)報(bào),2002,13(7):1290-1296.
[4]呂秀麗,卞紅雨,于 波.基于SVR和DCT的數(shù)字圖像水印算法[J].系統(tǒng)工程域電子技術(shù),2011,33(5):1187-1190.
[5] 陳 軍,張 偉,楊華千.一種基于小波變換和神經(jīng)網(wǎng)絡(luò)的數(shù)字水印算法[J].計(jì)算機(jī)科學(xué),2011,38(6):142-144.
[6] 周亞訓(xùn),金 煒.一種小波和余弦變換組合域內(nèi)魯棒的自適應(yīng)零水印算法[J].光電工程,2011,38(5):80-85.
[7] 茍意遠(yuǎn),陳曉鷗.基于CL多小波的數(shù)字水印技術(shù)[J].中國(guó)圖像圖形學(xué)報(bào),2003,8A(5):572-577.
[8] 胡社教,謝錦生,江 萍,等.基于平衡多小波與神經(jīng)網(wǎng)絡(luò)的圖像水印算法[J].系統(tǒng)仿真學(xué)報(bào),2008,20(11):2995-2998.
[9]SAIED AMIRGHOLIPOUR KASMANI,AHMADREZA NAGHSHNILCHI.A New Robust Digital Image Watermarking Technique Based On Joint DWT-DCT Transformation[C]//ICCIT,2008,2:539-544.
[10]鄭 凡,田小建,范文華,等.基于Henon映射的數(shù)字圖像加密[J].北京郵電大學(xué)學(xué)報(bào),2008,31(1):66-70.
[11]王琛暉,舒志彪.基于小波包變換和塊模糊分類的自適應(yīng)水印算法[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(30):54-56.
[12]韓紹程,羅長(zhǎng)杰,張兆寧.基于多小波變換和分塊SVD的彩色圖像水印算法[J].工程圖學(xué)學(xué)報(bào),2010(2),128-133.