林軍海,唐向宏,何漲桔
(杭州電子科技大學(xué)通信工程學(xué)院,浙江杭州310018)
多功能水印是指在同一幅數(shù)字圖像中嵌入不同性質(zhì)的水印,從而達(dá)到不同的目的,例如在圖像中同時(shí)嵌入魯棒水印和脆弱水印,前者用于版權(quán)保護(hù),后者用于真?zhèn)舞b別。文獻(xiàn)1對(duì)圖像進(jìn)行8×8分塊和SVD變換,將水印按加性嵌入規(guī)則嵌入對(duì)角陣中,脆弱水印是提取圖像的部分特征并與各個(gè)位面進(jìn)行異或產(chǎn)生并嵌入LSB中。文獻(xiàn)2利用離散小波變換和奇異值分解,采用量化的方法將魯棒水印嵌入到原始圖像中,然后,在含魯棒水印圖像的空域LSB中嵌入脆弱水印。雖然這些算法的魯棒水印具有較強(qiáng)的抗攻擊能力,脆弱水印對(duì)攻擊具有較好的敏感性,實(shí)現(xiàn)了版權(quán)保護(hù)和內(nèi)容認(rèn)證雙重功能,但是對(duì)圖像的篡改定位較弱,且不具有篡改內(nèi)容的自動(dòng)恢復(fù)功能,或恢復(fù)功能較差;同時(shí),由于在同一圖像中嵌入兩層水印,魯棒水印與脆弱水印之間的影響較大。為此,本文利用漢明碼的糾錯(cuò)功能和圖像的小波變換特征,將脆弱水印與魯棒水印有機(jī)結(jié)合,探討一種基于糾錯(cuò)編碼的空頻域結(jié)合的多功能水印算法,以減小魯棒水印與脆弱水印之間的影響,使算法具有較好的篡改定位及恢復(fù)功能。
小波的多分解率特點(diǎn)與人眼與圖像的視覺(jué)感知過(guò)程相一致[3,4],圖像經(jīng)過(guò)小波分解后可產(chǎn)生4個(gè)頻率帶,分別是低頻LL、垂直HL、水平LH和對(duì)角線HH子帶。其中低頻LL子帶是原始圖像的小波逼近子圖,在其中嵌入水印魯棒性較好,但是透明性較差。另外3個(gè)子帶是原始圖像的細(xì)節(jié)子圖,在其中嵌入水印魯棒性較差,但是透明性較好。對(duì)LL層進(jìn)行二級(jí)小波分解后,可繼續(xù)分成LL2、HL2、LH2、HH24個(gè)頻率帶,其中HH2的魯棒性透明性最為平衡,因此本算法選取HH2子帶作為魯棒水印的嵌入?yún)^(qū)域。
眾所周知,對(duì)任何一個(gè)8位灰度圖像,共有8個(gè)位平面,通常最高的4個(gè)位平面占據(jù)了原始圖像的絕大部分能量。為了使恢復(fù)的效果最佳,在本算法中,選取圖像的高4位和魯棒水印作為信源碼通過(guò)編碼完成脆弱水印生成并嵌入到圖像的LSB。
糾錯(cuò)編碼就是按一定規(guī)律給信息序列增加一些冗余的碼元,使不具有規(guī)律性的信息序列變換為具有某種規(guī)律性的數(shù)字序列,它的主要功能就是能自動(dòng)地糾正或檢測(cè)出被破壞的碼元。與碼長(zhǎng)相同的其他分組碼相比,漢明碼的效率最高,且實(shí)現(xiàn)簡(jiǎn)單,因此本文采用(9,5)漢明碼進(jìn)行糾錯(cuò)編碼。
設(shè) b0,b1,b2,b3,b4為信源碼,r0,r1,r2,r3是校驗(yàn)碼,它們滿足以下線性關(guān)系:
式中,符號(hào)⊕表示異或。由式1可知監(jiān)督碼元由原信息碼元生成。由于漢明糾錯(cuò)碼只能糾錯(cuò)一個(gè)錯(cuò)誤位,為了避免錯(cuò)誤位過(guò)于集中而誤糾,本文采用Arnold置亂技術(shù)[5,6]將圖像信息和水印信息進(jìn)行置亂。
與傳統(tǒng)的多功能水印一樣,本算法先嵌入魯棒水印,再利用魯棒水印和圖像的原始特征作為信息源碼進(jìn)行(9,5)漢明編碼,將生成的校驗(yàn)碼作為脆弱水印嵌入圖像的LSB,實(shí)現(xiàn)了雙重水印的嵌入,利用漢明碼的糾錯(cuò)技術(shù),可以在一定程度上將脆弱水印對(duì)魯棒水印的劣性影響轉(zhuǎn)變?yōu)榱夹浴?/p>
(1)魯棒水印的嵌入。魯棒水印是嵌入在HH2子帶,首先將大小為N×N的原始載體圖像進(jìn)行二級(jí)DWT變換得到低頻子帶的對(duì)角線子帶;其次,將其分成M×M(M=N/8)塊大小為2×2的系數(shù)塊CD。讀取大小為M×M的魯棒水印W,對(duì)魯棒水印進(jìn)行Arnold置亂后按以下策略進(jìn)行嵌入:
1)嵌入“1”時(shí),CD(1,1)=max(CD(1,1),CD(1,2),CD(2,1),CD(2,2))+T;
2)嵌入“0”時(shí),CD(1,1)=min(CD(1,1),CD(1,2),CD(2,1),CD(2,2))-T。
其中,T的取值影響水印的透明性和魯棒性,T越大魯棒性越好,透明性則越差;反之T越小魯棒性越差,透明性越好;最后,當(dāng)各子塊完成水印嵌入后,進(jìn)行二級(jí)IDWT,即可得到嵌入魯棒水印后的圖像。
(2)脆弱水印的嵌入。脆弱水印的嵌入需要魯棒水印作為信源碼之一與圖像的原始特征進(jìn)行漢明編碼,首先將嵌入魯棒水印后的圖像進(jìn)行2×2分塊保留其中的第一個(gè)象素點(diǎn)得到大小為原圖1/4的近似圖,提取近似圖最高的4個(gè)位面;其次,將提取的MSB分為大小2M×2M的4小塊A1,A2,A3,A4,將魯棒水印W的長(zhǎng)和寬各放大一倍得到2M×2M的二值圖像,記為A5,利用式1對(duì)A1,A2,A3,A4,A5進(jìn)行(9,5)漢明編碼,生成一組大小為2M×2M的校驗(yàn)碼;最后,對(duì)提取的另外3個(gè)位面進(jìn)行同樣操作得到3組校驗(yàn)碼,將4組校驗(yàn)碼整合構(gòu)成大小為N×N的水印,進(jìn)行Arnold置亂后嵌入圖像的LSB得到最終的含水印圖像。
水印的提取包括脆弱水印的提取和魯棒水印的提取,是嵌入算法的逆過(guò)程。
第一步:將大小為N×N的待測(cè)圖像進(jìn)行二級(jí)DWT變換得到低頻子帶的對(duì)角線子帶,將其分成M×M 塊大小為2 ×2 的系數(shù)塊 CD。令 s=sum(CD(1,2)+CD(2,1)+CD(2,2)),如果 CD(1,1)≥s/3,則判斷嵌入“1”,否則為“0”,得到大小為M×M的水印W’。
第二步:提取待測(cè)圖像的LSB,由于LSB包含了4組校驗(yàn)碼,因此對(duì)該位面進(jìn)行Arnold逆置亂后分割成等大小的4塊,將每一塊等分為R1’,R2’,R3’,R4’。將待測(cè)圖像進(jìn)行分塊抽樣得到大小為原圖1/4的近似圖,提取近似圖高4位,將提取的MSB分為大小2M×2M的四小塊A1’,A2’,A3’,A4’,將W’的長(zhǎng)和寬各放大一倍得到2M×2M的二值圖像,記為A5’,利用漢明譯碼規(guī)則得到恢復(fù)的MSB和魯棒水印W’’。
第三步:對(duì)提取的另外3個(gè)位面進(jìn)行與第四步同樣的操作,得到恢復(fù)后的高4位及重復(fù)恢復(fù)后的水印W’’,比較W’和W’’,取其中質(zhì)量較好的作為最終提取的魯棒水印。比較恢復(fù)前后的高4位,得到篡改定位圖,根據(jù)篡改定位圖,將恢復(fù)的高4位逐一替代待測(cè)圖像中被篡改的點(diǎn)得到恢復(fù)圖像。
該算法中兩種水印是相輔相成的,魯棒水印直接參與脆弱水印的提取,而脆弱水印又能反過(guò)來(lái)增強(qiáng)魯棒水印的抗攻擊性,實(shí)現(xiàn)了水印的有機(jī)結(jié)合。
實(shí)驗(yàn)采用了512×512的8位灰度圖像Lena.bmp作為測(cè)試圖像,水印圖像為如圖2(a)所示的64×64二值圖像hangdian.bmp,T=20,仿真實(shí)驗(yàn)平臺(tái)為Matlab7.0。本文水印包括脆弱水印和魯棒水印,下面分別討論它們的性能。
本文脆弱水印是由原始圖像經(jīng)過(guò)編碼得到,具有篡改恢復(fù)功能,將恢復(fù)前后的圖像進(jìn)行對(duì)比得到篡改定位圖。本算法是以2×2像素為單位,因此篡改定位及恢復(fù)精度最小能精確到2×2小塊。本算法的效果測(cè)試圖如圖1所示:
圖1 Lena圖的效果測(cè)試
為了更客觀評(píng)價(jià)算法的性能,本文分別采用文獻(xiàn)7定義的篡改檢測(cè)率Pc和文獻(xiàn)8定義的誤檢率Pe進(jìn)行定量比較。算法的篡改檢測(cè)率和誤檢率如表1所示,由表1可知,本文算法的篡改檢測(cè)率較文獻(xiàn)1和文獻(xiàn)2要高,達(dá)到了95%以上,且誤檢率較低,說(shuō)明本文算法能夠很好的實(shí)現(xiàn)精確定位功能。
表1 篡改定位精度
本文魯棒水印是通過(guò)對(duì)載體圖像的HH2進(jìn)行分析比較得到,利用相似度NC定量分析提取水印與原始水印的相似程度,并與文獻(xiàn)1和文獻(xiàn)2進(jìn)行了性能對(duì)比實(shí)驗(yàn),未受攻擊及遭受各類(lèi)攻擊下的Lena圖及提取的水印如圖2所示,本文算法與文獻(xiàn)5和文獻(xiàn)6算法的性能比較如表2所示,仿真實(shí)驗(yàn)可知,本文的算法魯棒性總體來(lái)說(shuō)要優(yōu)于文獻(xiàn)1及文獻(xiàn)2的算法:
圖2 各類(lèi)攻擊下提取的水印
表2 各類(lèi)攻擊下本文算法與文獻(xiàn)1和文獻(xiàn)2魯棒性比較
本文利用漢明碼技術(shù),提出一種空-頻域結(jié)合的圖像水印技術(shù),將兩種水印有效結(jié)合,先將魯棒水印嵌入圖像的DWT域中,再將魯棒水印和圖像的原始特征作為信息源碼,將生成的校驗(yàn)碼作為脆弱水印嵌入圖像的LSB,實(shí)現(xiàn)了雙重水印的嵌入。利用漢明碼的糾錯(cuò)技術(shù),可以在一定程度上將脆弱水印對(duì)魯棒水印的劣性影響轉(zhuǎn)變?yōu)榱夹?,既能?shí)現(xiàn)版權(quán)保護(hù),又能鑒別圖像的真?zhèn)危?dāng)圖像遭到篡改時(shí)能夠較好定位篡改位置并恢復(fù)圖像,具有較好的實(shí)用價(jià)值。本算法的不足之處在于,由于(9,5)漢明碼只能糾錯(cuò)一位,當(dāng)圖像遭到的破壞過(guò)大時(shí),誤糾率變大,恢復(fù)的圖像質(zhì)量效果降低,理論上最大能修復(fù)原圖1/4大小的錯(cuò)誤,且對(duì)于篡改較為集中的圖像恢復(fù)效果較好。
[1] 陳雋.基于DWT和SVD的魯棒-脆弱雙重圖像水印算法[J].蘇州大學(xué)學(xué)報(bào),2011,31(6):42-47.
[2] 葉天語(yǔ),鈕心忻,楊義先.多功能雙水印算法[J].電子與信息學(xué)報(bào),2009,31(3):546-551.
[3] Xia X,Boncelet C G,Arece G R.Wavelet transform based watermark for digital images[J].Optics Ecpress,1998,3(12):497-511.
[4] Swanaon M D,Zhu B,Tewfik A H.Multiresolution scene-based video watermarking using perceptual models[J].IEEE J Select Areas Commun,1998,16(4):540 -550.
[5] 黃仿元.基于Arnold變換的圖像置亂算法及實(shí)現(xiàn)[J].貴州大學(xué)報(bào),2008,25(3):2004-2009.
[6] 尚存,高春庚.基于Arnold變換和DCT變換的數(shù)字水印算法[J].安陽(yáng)工學(xué)院學(xué)報(bào),2011,10(2):35-37.
[7] 曹家,王軒.基于混沌序列的脆弱數(shù)字水印算法[J].計(jì)算機(jī)工程,2011,37(12):125-129.
[8] 鄧小穎,陳衛(wèi)峰.抗幾何攻擊圖像水印方案[J].現(xiàn)代電子技術(shù),2010,1(12):114-120.