李春艷 婁七明 劉靖屏
紅河學(xué)院工學(xué)院 云南 661199
零水印是利用載體圖像作為編碼字典,將水印信息在編碼字典中的位置信息作為密鑰的一種技術(shù)。這種技術(shù)不需要修改原圖像任何信息即可嵌入水印,由密鑰和圖像即能恢復(fù)水印,較好地平衡了數(shù)字水印算法的魯棒性和不可覺察性之間的關(guān)系。通過在相應(yīng)的信息數(shù)據(jù)庫注冊對應(yīng)的零水印信息,就可以將原圖像保護在水印下,這就為版權(quán)歸屬提供了一個完全、可靠的證明。所以零水印的顯著特點就是簡單有效,不改變載體圖像信息。
針對現(xiàn)有研究存在的問題,本文提出的算法基于以下兩方面的改進:
(1) 采用Arnold置亂技術(shù)來映射信息隱藏位置。Arnold置亂技術(shù)可破壞圖像塊之間的自相關(guān)性,使提取的圖像特征信息保留了偽隨機序列的隨機性和秘密性等優(yōu)點,有助于增強水印的抗攻擊性能。
(2) 嵌入時拓展水印,提取時求其均值。目的是降低誤比特的影響程度,減輕各種攻擊對水印的破壞,使提取出的水印向真實水印逼近。
改進算法的思路:為了水印算法的安全性,我們先將二值水印圖像用Arnold方法置亂,再與等長的logistic混沌序列進行異或運算。Arnold方法是Arnold在遍歷理論研究中提出的一種變換,它實際上是一種點的位置移動。我們將該技術(shù)應(yīng)用到圖像處理中,目的是為了擾亂圖像的組成部分,破壞其自相關(guān)性,使得人眼無法從中提取有價值的信息,進而在一定程度上保護圖像信息。然后將載體圖像進行離散小波變換DWT,對LL子帶進行分塊奇異值分解。提取出每塊中的最大奇異值構(gòu)成新矩陣,對該矩陣進行Arnold置亂,比較相鄰元素的大小來構(gòu)造圖像特征信息。最后將置亂的水印圖像拓展為圖像特征信息的大小,對二者進行異或運算得到密鑰矩陣。將密鑰矩陣置亂并加密后生成版權(quán)信息,為檢測水印提供依據(jù)。奇異值的穩(wěn)定性非常好,置亂并拓展的水印信息遍布載體圖像信息中,因而有利于抗擊壓縮、噪聲、模糊等圖像處理攻擊。水印檢測時,利用版權(quán)信息提取水印,不需要原始圖像參與。原理簡單,實用性強,符合零水印的概念。
(1) 對水印進行預(yù)處理。將水印圖像WN*N用Arnold變換進行置亂,通過Matlab提供的reshape函數(shù)將置亂的水印圖像轉(zhuǎn)換為一維置亂序列,然后與等長的Logistic混沌序列進行異或運算,得到處理過的水印W`N*N。
(2) 對載體圖像IM*M進行一級離散小波變換,選擇低頻子帶按4*4分塊,得到個逼近子塊(表示向下取整)。
(3) 對每個子塊矩陣進行SVD變換,得到Ui、Vi和對角陣Si( i=1,2,…提取每個對角陣Si中的最大奇異值(即Si(1,1)),構(gòu)成大小為的矩陣T。
(4) 對T進行Arnold置亂,再比較相鄰兩元素間的大小。若前者大于后者,則結(jié)果為1,否則為0。并將比較結(jié)果存儲在圖像特征矩陣Tb中。
(5) 把置亂的水印圖像拓展為矩陣 T的大小,并與 Tb進行異或運算,得到密鑰矩陣MM。
(6) 對密鑰矩陣進行置亂并加密,得到版權(quán)信息。
水印的提取與嵌入過程大致相同。具體步驟如下:
(1) 恢復(fù)版權(quán)信息,得到密鑰矩陣MM。
(2) 執(zhí)行嵌入過程中的步驟(1)至步驟(5),得到載體圖像I`的圖像特征信息矩陣Tb`。
(3) 將密鑰矩陣MM與Tb`進行異或運算,得到水印(拓展的)信息WW`。
(4) 對WW`進行分塊,求其均值并向上取整,所得結(jié)果即為水印信息W`。
(5) 恢復(fù)水印圖像,即水印預(yù)處理的逆過程。
本文算法在 Matlab 7.1平臺上實現(xiàn),以灰度圖像Lena.bmp(512*512)為載體,以二值圖像 shuiyin.bmp(32*32)為水印,Logistic混沌序列的λ=4,X0=0.8,水印的 Arnold置亂次數(shù)為11,奇異值矩陣T的置亂次數(shù)為25。
我們從主觀和客觀兩方面來衡量算法性能。主觀性能參數(shù)指直接利用人眼進行觀察??陀^性能參數(shù)由原水印W和提取水印W`進行歸一化互相關(guān)來衡量,其公式為:
當(dāng)含水印圖像分別受到質(zhì)量因子為20、10、5,1的JPEG壓縮時,兩種算法的客觀比較實驗結(jié)果如表1所示。實驗中,質(zhì)量因子越小,圖像壓縮力度越大。由于我們嵌入水印前已經(jīng)對水印進行過預(yù)處理,使得水印信息能被均勻地分布在載體圖像中,故具有較強的抗壓縮性。實驗結(jié)果也如此。從表1中可看出,本文算法的NC值均大于文獻[4]算法。
表1 壓縮攻擊客觀數(shù)據(jù)對比
載體圖像在使用過程中往往會被有意或無意地進行濾波、模糊等圖像處理操作。在這些操作后,盡管圖像質(zhì)量已經(jīng)明顯下降,但本文算法提取的水印無論在視覺上還是客觀性能參數(shù)上都十分理想。表2是本文算法和文獻[4]算法的客觀數(shù)據(jù)對比。
表2 圖像處理客觀數(shù)據(jù)對比
圖像幾何攻擊是一種對圖像本身破壞性極強的水印攻擊方式。本文仿真地將圖像剪切 12.5%、20%、25%、旋轉(zhuǎn)50、150、300,450后再逆轉(zhuǎn)、圖像縮小后再還原。從表3中可看出,盡管提取的水印NC不高,但均能由人眼分辨出水印,且本文算法的NC值和效果均優(yōu)于文獻[4]。
表3 幾何攻擊后的客觀數(shù)據(jù)和主觀效果
零水印的檢測除了具備辨認受攻擊圖像的版權(quán)的能力外,還必須有區(qū)分不同圖像版權(quán)的能力。為此,本文以一組無水印圖像為例,與含水印的Lena.bmp圖像做對比檢測。表4中列出了所使用的載體圖像和提取的水印圖像及對應(yīng)NC值,從實驗結(jié)果中我們得到如下結(jié)論:即便擁有版權(quán)信息和相應(yīng)的密鑰,若使用無水印的圖像作為載體,也無法將水印提取出來。
表4 無水印圖像及提取的水印
本文選用Arnold置亂技術(shù)提出了一種改進的零水印算法。該算法利用DWT變換和SVD系數(shù)的穩(wěn)定性,采用比較置亂后的最大奇異值的大小來構(gòu)造圖像特征信息,提高了水印抵御圖像局部信息變化的能力。實驗結(jié)果表明,本文算法對圖像壓縮、濾波、模糊、剪切等處理的魯棒性均優(yōu)于文獻[4],體現(xiàn)出較好的性能。但是,該算法對于大面積裁剪和大幅度旋轉(zhuǎn)的性能有待改善。這將是筆者下一步的研究工作。
[1]牛萬紅,楊紹華.一種基于圖像最高有效位構(gòu)造密鑰的零水印算法[J].計算機工程與科學(xué).2010.
[2]蘭紅星,陳松喬,胡愛娜,李陶深.基于二元樹復(fù)小波域的數(shù)字水印算法.計算機應(yīng)用研究.2007.
[3]宋偉,侯建軍,李趙紅,黃亮.一種基于 Logistic混沌系統(tǒng)和奇異值分解的零水印算法[J].物理學(xué)報.2009.
[4]楊志疆.一種基于 DWT域的數(shù)字圖像零水印算法[J].計算機安全.2009.
[5]王麗娜,郭遲,李鵬.信息隱藏技術(shù)實驗教程[M].武漢大學(xué)出版社.2004.
[6]Vidyasagar M.Potdar,Song Han, Elizabeth Chang, A Survey of Digital Image Watermarking Techniques[J].3rdInternational Conference on Industrial Informatics (INDIN 2005).