韓天明 ,魏 維 ,周 華 ,尚曉輝
(1.西安通信學(xué)院 研究生管理大隊,陜西 西安 710106;2.91876部隊,河北 秦皇島 066023;3.西安通信學(xué)院 指揮信息系統(tǒng)系,陜西 西安 710106;4.61711部隊,新疆 喀什 844000)
近年來,計算機技術(shù)、網(wǎng)絡(luò)和多媒體技術(shù)發(fā)展迅速,然而大部分重要文件如商業(yè)文檔、證書、機密文件等仍然以印刷品的形式存在,印刷品的版權(quán)保護和防偽問題日益引起人們的關(guān)注??勾蛴呙钄?shù)字水印技術(shù)作為信息隱藏領(lǐng)域新的研究方向,為印刷品的版權(quán)保護和來源鑒別提供了一種有效途徑。設(shè)計合適的數(shù)字水印算法,可使嵌入水印的圖像在經(jīng)過打印掃描造成圖像失真的情況下仍能檢測到所嵌入的水印[1-2]。打印掃描過程涉及D/A和A/D兩次轉(zhuǎn)換,綜合半色調(diào)攻擊、低通濾波攻擊和旋轉(zhuǎn)、縮放、剪切等一系列幾何變換,由于設(shè)備和人為因素,圖像的輸出和掃描過程會產(chǎn)生進一步失真[3],這就要求數(shù)字水印算法具有很好的魯棒性。本文根據(jù)圖像小波變換的特性,在小波域?qū)崿F(xiàn)水印算法。實驗結(jié)果證明,該算法能免疫于圖像的打印、復(fù)印、掃描和一般的幾何變換、噪聲干擾的有限影響,具有很好的不可見性。
小波變換的基本思想就是將圖像進行多分辨率分解,分解成不同時空、不同頻率的子圖像,相比 DCT(離散余弦變換)和DFT(離散傅里葉變換),DWT 變換能夠?qū)D像的局部特征進行很好的定位,更符合人眼的視覺機制。DWT可以在不同尺度下將圖像逐層(第k層)分解為三個高頻細節(jié)子帶:水平LHk、垂直HLk、對角HHk和一個低頻逼近子帶LLk,逼近子帶LLk可以按照這種方式繼續(xù)分解成 LHk+1、HLk+1、HHk+1和 LLk+1。 其中低頻帶表示由小波變換分解級數(shù)決定的最大尺度、最小分辨率下對原始圖像的最佳逼近,它的統(tǒng)計特征和原圖像相似,圖像的大部分能量集中在此;高頻帶系列則分別是圖像在不同尺度、不同分辨率下的細節(jié)信息。分辨率越低,其中有用信息的比例就越高。
由于打印—掃描對圖像DWT的細節(jié)分量變化的影響較小[4],可以將水印信息嵌入到三級DWT的細節(jié)分量中。目前的水印算法一般是將水印信息單一嵌入在宿主圖像的低頻區(qū)域或者高頻區(qū)域[5-6],由于人眼對低頻信息的敏感度要遠遠大于高頻信息,如果在低頻區(qū)域嵌入大容量的水印信息,勢必造成圖像畫質(zhì)的下降,而高頻區(qū)域的抗壓縮性較差,水印在受到有損壓縮時易受破壞,從而降低圖像的魯棒性。為解決上述問題,本文提出了一種在LH3、HL3和HH3分別嵌入水印的方法,這三個區(qū)域雖然不像LL3具有大量的低頻能量,但卻是LL2再次經(jīng)過小波分解后得到的,都是LL2低頻能量的一部分,在這些區(qū)域嵌入水印能在不可見性和魯棒性之間得到一個較好的平衡。
對原始圖像進行大小相等的分塊,算法的嵌入容量與圖像分塊的數(shù)量成正比,魯棒性與分塊數(shù)量成反比。在確保算法魯棒性的前提下,將圖像分塊盡可能減小以提高嵌入量。為提高算法的魯棒性,在每塊圖像三級小波變換后的中高頻子帶中重復(fù)嵌入一位相同的水印信息,提取過程中按照擇大判決原則從各子帶提取的水印中確定最終水印。
設(shè)原始灰度宿主圖像為X,水印信息為W,在每一塊圖像三級DWT后的中高頻細節(jié)子帶中,利用比較的方法將二值水印序列嵌入到每一塊中,設(shè)定k為嵌入過程中的控制因子,算法具體描述如下:
(1)生成水印。取出水印信息的ASCII碼依次排列為{0,1},得到水印序列 Wi。
(2)讀入原始宿主圖像 X,將 X分解成大小相同的子塊,這樣,相比對整幅原圖像進行小波變換,時間復(fù)雜度將大為降低。分塊的數(shù)量即為水印的嵌入容量。
(3)對每一塊采用Haar小波進行三級DWT變換,得到低頻系數(shù)矩陣LL3和高頻系數(shù)矩陣LH3(水平方向)、HL3(垂直方向)、HH3(對角方向)。
(4)算法選擇在 LH3、HL3和 HH3三個細節(jié)子圖中嵌入水印。以 LH3為例,在 LH3中選取兩個系數(shù) LH3(X1,Y1)和 LH3(X2,Y2),逐位 讀 入 水 印信息,當 水 印 信 息位為 0 并且 LH3(X1,Y1)
(5)根據(jù)Wi的值對 HL3和 HH3中的系數(shù)做同樣的修改,對修改了系數(shù)后的塊進行逆小波變換,完成水印的嵌入。
(6)移動到下一塊,重復(fù)步驟(3)~(5),最終完成水印的嵌入,得到含水印圖像。
數(shù)字水印的提取是嵌入的逆過程。掃描含水印的文檔,對掃描后的含水印圖像XW進行預(yù)處理,包括傾斜糾正、邊緣裁切和比例縮放,將掃描后圖像的尺寸調(diào)整到與原圖像X相同。
(1)讀入含水印的圖像 XW,按照嵌入時的分塊方法對水印圖像進行大小相等的分塊。
(2)對每一塊進行三級 DWT變換,分別在 LH3、HL3和 HH3三個細節(jié)子圖中通過比較(X1,Y1)和 (X2,Y2)位置上系數(shù)的大小得到要提取的水印信息 W1(i)、W2(i)和W3(i), 即 :
(3)按 照 擇 大 判 決 原 則 , 從W1(i)、W2(i)和 W3(i)中 確 定最 終 水 印 信 息 W(i)=(W1(i)+W2(i)+W3(i))/2。
(4)移動到下一塊,重復(fù)(2)、(3),得到提取的水印信息的ASCII碼值序列W。
實驗主要分析水印的不可察覺性和算法的魯棒性,以驗證本文提出算法的有效性。在打印復(fù)印掃描實驗前建立了一些攻擊模型,即對水印圖像添加噪聲、剪切、縮放等用來分析算法的抗攻擊性,最后進行了打印復(fù)印掃描實驗。
實驗在Matlab7.1平臺下實現(xiàn),水印的載體圖像為512×512 bit的標準 lena圖像,根據(jù)算法的魯棒性,將載體圖像分成 256塊、大小為32×32 bit的圖像塊,嵌入強度的控制因子 k為 50,水印信息為 256位 0、1隨機序列,小波變換用的是haar小波。采用峰值信噪比(PSNR)來客觀評價水印圖像的質(zhì)量[7]。
用歸一化相關(guān)系數(shù)(NC)來客觀比較提取水印與原水印的相似度,將嵌有水印的圖像分別進行噪聲攻擊、剪切、縮放和打印、復(fù)印、掃描,其中對掃描后的圖像進行預(yù)處理再提取水印。圖3所示為原始載體圖像與嵌入水印后的圖像,峰值信噪比為33.078 6 dB。
圖1 原始載體圖像與嵌入水印后圖像
對含水印的圖像還進行了噪聲攻擊、幾何變換和打印、復(fù)印、掃描等實驗,結(jié)果如圖2所示。
圖2 對含水印的lena圖像進行的各種攻擊
圖 2(a)~(d)是在 Matlab中對含水印的圖像進行各種攻擊后的效果,(e)、(f)分別是水印圖像經(jīng)過打印掃描及打印復(fù)印掃描后的效果,其中掃描分辨率為75 dpi,復(fù)印次數(shù)為 1次。從圖 2中可見,各種攻擊給圖像帶來了視覺上的明顯改變,在上述各種攻擊強度下,水印信息仍能完全正確提取,各種攻擊的參數(shù)均為該算法可抵抗的臨界值。算法對打印掃描和一次復(fù)印掃描具有很好的魯棒性,并且對掃描分辨率不敏感,在掃描分辨率為75 dpi的情況下仍能完全正確提取水印,實驗過分辨率在300 dpi、600 dpi和1 200 dpi下掃描圖像,結(jié)果表明,高分辨率的掃描只會帶來數(shù)據(jù)處理容量的增大,并不會帶來檢測效率的提升。算法對75 dpi以上的分辨率具有魯棒性,提高了算法的應(yīng)用范圍。表1為水印經(jīng)過各種實驗后的提取情況,相比之下,算法對剪切相對敏感,水印提取的正確率有所下降。實驗中發(fā)現(xiàn),在打印-復(fù)印-掃描實驗中,當載體圖像大小不同時,水印提取的正確率有時會達不到100%,如當圖像大小為256×256 bit和384×384 bit時, 水印的提取正確率均為98.44%,原因尚需進一步研究。
表1 各種實驗下水印的提取情況
(1)不可察覺性分析。從主觀和客觀兩方面進行分析,通常PSNR達到25以上就可以達到客觀不可察覺的要求[8]。實驗中PSNR是33.078 6,客觀不可察覺性要求可以滿足;主觀方面主要通過人自身的感官感覺,本實驗圖像在視覺上有一個比較滿意的效果。
(2)魯棒性分析。實驗中通過設(shè)計各種攻擊來提取水印,通過提取的二值水印序列和原水印序列的相似度來表征抗攻擊能力。由實驗結(jié)果可知,水印在多種攻擊下仍能正確提取,且適用于75 dpi以上的各種掃描分辨率。
本文提出了一種小波域的數(shù)字水印算法,該算法可以實現(xiàn)水印的全盲檢測,具有一定的水印嵌入量,算法兼具較好的不可察覺性和魯棒性,對75 dpi以上的掃描分辨率均能正確提取水印,并對打印和一次復(fù)印后掃描具有一定的魯棒性。文中所述算法還有很多需要改進的地方,如抗大面積剪切、抗旋轉(zhuǎn)等性能。因此,設(shè)計并實現(xiàn)具有更強魯棒性的抗打印復(fù)印掃描的數(shù)字水印算法仍需進一步研究和改進。
[1]ANU P.Multiple domain watermarking for print-scan and JPEG resilient data hiding[C].The 6th International Workshop on Digital Watermarking, Guangzhou, 2008.
[2]萬曉霞.基于多層次誤差擴散加網(wǎng)的數(shù)字水印算法研究[J].武漢大學(xué)學(xué)報,信息科學(xué)版,2007,33(11):1056-1059.
[3]SOLANKI K,MANJUNATH B S.Print and scan resilient data hiding in images[J].IEEE Transactions On Information Forensics And Security, 2006,1(4):464-478.
[4]譚論正.基于文檔圖像的抗打印-掃描數(shù)字水印技術(shù)[J].計算機應(yīng)用研究,2007,24(12):199-200.
[5]黃曉生.一種基于DWT和DCT的數(shù)字圖像水印算法[J].微計算機信息,2009,25(11-3):15-16.
[6]張瑩雪.一種改進的基于小波域的圖像盲水印算法[J].信息安全與通信保密,2009(9):43-145.
[7]金聰.數(shù)字水印理論與技術(shù)[M].北京:清華大學(xué)出版社,2008:130-139.
[8]龔利明.基于數(shù)字水印技術(shù)的印刷品防偽算法研究[D].廈門:廈門大學(xué),2007.