劉 娜
(西安產品質量監督檢驗院輕工室,陜西 西安 710065)
隨著信息技術和計算機網絡的飛速發展以及數字圖像的廣泛應用,以數字圖像為載體的信息通信和交流變得越來越便捷,但隨之而來的盜版和侵權行為也愈發猖獗[1]。特別是針對醫學、遙感、軍事等領域的應用,在進行版權保護的同時,希望最大限度地保證圖像內容的真實性與完整性。針對這一問題,可逆水印技術作為一種有效的解決手段,一經提出就吸引了來自工業界和學術界研究者的濃厚興趣。
可逆水印是利用圖像中人眼不易察覺的冗余信息,將數字簽名、商標等信息作為水印嵌入到圖像中,并在水印提取之后無損地恢復原始圖像內容。Honsinger等[2]設計了第一個可逆水印算法,采用模256運算將Hash值嵌入到圖像中。Fridrich等[3]通過壓縮DCT系數的位平面來實現水印嵌入。文獻[4]另辟蹊徑,提出了一種基于差值擴展的水印方法以追求更高的嵌入容量。在小波域,文獻[5]提出了一種基于整數小波變換的擴頻可逆水印技術;隨后通過在小波系數直方圖中不斷形成間隙,文獻[6]提出了一種基于整數小波直方圖間隙的水印技術。雖然上述方法取得了較好的性能,但水印嵌入位置與嵌入強度的無控制性等問題制約著這些算法性能的有效提高。
基于上述分析,文獻[8]提出了一種基于JND的自適應可逆水印算法。該算法首先利用直方圖調整技術將原始圖像的灰度值調整到有效的范圍內,然后對圖像進行整數小波變換,計算小波系數的恰可失真門限,最后通過JND選擇嵌入區域并修改小波系數來實現水印的嵌入與提取。實驗結果表明,該算法在保證水印最大嵌入容量的情況下顯著提高了含水印圖像的視覺質量。
近年來,人類視覺系統的感知特性已經被廣泛應用到水印算法的設計中,以折衷容量與不可見性之間的需求,提高水印算法的性能[7]。采用 Lewis和Knowles[8]提出的JND模型,通過衡量人眼在頻率、亮度、紋理等方面的敏感性來自適應地選擇水印嵌入位置與嵌入強度。根據該模型,首先需要對圖像進行4層小波分解,得到不同分解級別不同方向的子帶。若令 Il,θ表示第 l∈{0,1,2,3}層分解級別中 θ∈{LL,HL,LH,HH}方向的子帶,則θ子帶中處于(k,m)位置的小波系數的恰可失真門限定義為

這里,β是歸一化常數;Θ(·)表示第l層分解級別中θ方向的子帶中人眼的頻率敏感性,具體為

Λ(·)表示人眼在第l層分解級別中(k,m)位置的亮度敏感性,它由第3分解級別中的低頻子帶決定,定義為

Ξ(·)表示第l層分解級別中(k,m)位置的紋理敏感性,定義為

這里var表示方差。
文中算法將上述JND模型與擴頻嵌入[5]相結合,通過自適應地選擇水印嵌入位置與嵌入強度,顯著提高了文獻[5]方法的性能。
隨著信息安全需求的不斷增長,元胞自動機變換(CAT)已被用于數據加密、圖像壓縮、數字水印等眾多領域[9-10]。給定圖像 fij,CAT 變換表示為[9]

其中,Aijkl表示二維基函數;ckl表示變換系數;G表示元胞空間大小。對于Aijkl而言,它可以通過兩種方法產生:一是由一個含G×G個元胞的二維元胞自動機(CA)演化產生,二是由一維基的Canonical Product計算得到。表1給出了CA的典型建模參數,不同的建模參數會構造出不同的CA,從而帶來由CAT變換系數所表示的圖像信息和特征的多樣性[9]。

表1 元胞自動機建模參數
水印嵌入過程如圖1所示,其主要步驟可描述為:

圖1 水印嵌入過程
步驟1 根據原始圖像的像素分布,利用直方圖調整技術[5]將像素的灰度值調整到有效的范圍內,如圖2所示,其中定義為調整尺度,與水印的嵌入強度有關。這里需要記錄調整部分的像素在原始圖像中的位置,將其作為輔助信息提供給接收方,以便在水印提取之后利用記錄的位置信息恢復像素的原始灰度值。如文獻[5]所述,通過這樣的方式,可以有效解決水印嵌入過程中像素的溢出問題,從而保證水印提取之后能無失真地恢復原始圖像。
步驟2 將調整后的圖像進行變換,得到其低頻和高頻子帶,記為LL,HL,LH,HH。在可逆水印的算法設計中,為了避免因修改后的小波系數在小波逆變換后發生像素溢出問題,本文中采用整數小波變換。同時,考慮到人眼對高頻信息不敏感的特性,減少因水印嵌入造成的圖像失真,將水印信息嵌入在3個高頻子帶 HL,LH,HH 中。
步驟3 為增強算法的安全性,加密技術在數字水印領域取得了廣泛的應用,常用于對水印進行加密[9]。本文算法中利用CAT對二值水印圖像進行加密,起到安全保護的作用。為嵌入方便,文中將加密后的新水印圖像調節成一維向量的形式,記為W=[w1,w2,…]。

圖2 直方圖調整
步驟4 利用JND模型分別計算3個高頻子帶HL,LH,HH中小波系數的恰可失真門限,在水印嵌入時通過自適應地控制水印的嵌入區域與強度來保證水印的不可見性。
步驟5 結合JND模型,利用改進的擴頻技術將水印信息嵌入到原始圖像中,嵌入規則定義為

其中,c是原始高頻子帶的小波系數;c′是嵌入水印后新高頻子帶的小波系數,JND是該小波系數的恰可失真門限,s是嵌入序列,由水印信息和填充信息構成:即當<JND時,s對應的是水印信息,定義為


這里,w表示一個水印位。通過這樣的方式,可以構造嵌入序列,從而有效避免記錄嵌入位置的問題,從而大大簡化了嵌入過程。更為重要的是,與文獻[5]的嵌入規則相比,借助JND模型,本文算法在最大嵌入容量的情況下,保證了含水印圖像的視覺質量達到最佳,克服了文獻[5]通過不斷測試參數的方式尋求容量與視覺質量最優值的缺陷,實現自適應地在不同圖像中進行嵌入的目的。
步驟6 將低頻子帶LL與嵌入水印后的3個高頻子帶 LL′,LH′,HH′進行整數小波逆變換,得到含水印圖像 I′。
水印提取是水印嵌入的逆過程,如圖3所示,具體步驟如下:

圖3 水印提取及圖像恢復過程
步驟1 與水印嵌入步驟2相同,對待檢測圖像進行整數小波變換,從中提取3個高頻子帶,記為:HL′,LH′,HH′。
步驟2 分別從三個高頻子帶中提取嵌入序列,提取規則為


當水印提取之后,采用嵌入規則的逆過程恢復高頻子帶的小波系數,即

步驟3 將得到的水印信息采用CAT進行變換,得到恢復的二值水印圖像。
步驟4 與水印嵌入的步驟6相似,將低頻子帶LL′與提取水印后的 3 個高頻子帶 HL′,LH′,HH′進行整數小波逆變換,得到近似圖像。
步驟5 利用水印嵌入的步驟1所記錄的位置信息調整近似圖像的直方圖,得到恢復的圖像。因為水印嵌入算法是可逆的,在沒有攻擊的情況下,恢復的圖像與原始圖像一樣,從而也就實現了在版權保護的同時,保證了原始圖像信息的真實性與完整性。
為驗證算法的性能,從不可見性和容量兩方面進行測試,并與文獻[5]的算法進行比較。實驗中選用12幅 大小的標準灰度圖像 Lena、Baboon、Barb、Airplane、House、Jet、Peppers、Sailboat、Tiffany、Elaine 、Crowd和Boat作為測試集,如圖4所示。

圖4 測試圖像
表2給出了圖像Lena、Baboon和Barb不可見性與容量的實驗結果以及與文獻[5]算法的對比,其中水印的容量用位/像素(bpp)來衡量,而水印圖像與原始圖像的峰值信噪比(PSNR)用來衡量水印的不可見性,定義為


表2 不可見性與容量對比實驗結果
其中,X×Y是原始圖像和水印圖像的大小;I(i,j)是原始圖像 I中位于(i,j)位置的像素的灰度值;I′(i,j)是水印圖像I′中位于(i,j)位置的像素的灰度值。
從表2可知,在最大嵌入容量下,文中算法的PSNR明顯高于文獻[5]。表3為其余圖像不可見性與容量的測試結果,從中可以看出,由于文中算法在水印嵌入過程中結合了人類視覺系統的感知特性,其PSNR普遍高于42 dB,說明了含水印圖像具有良好的視覺質量。

表3 不可見性與容量的實驗結果
結合JND模型選擇嵌入區域并控制嵌入強度,提出了一種基于JND和元胞自動機變換的可逆水印算法。通過直方圖調整技術有效解決了水印嵌入過程中的像素溢出問題,使得原始圖像的無失真恢復成為可能。借助于估計高頻子帶中小波系數的恰可失真門限來調節嵌入強度,有效增強了水印的不可見性,并利用元胞自動機變換對水印圖像進行加密,提高了算法的安全性。仿真結果表明,文中算法的性能高于同類算法,在最大嵌入容量下顯著提高了含水印圖像的視覺質量。
[1]金聰.數字水印理論與技術[M].北京:清華大學出版社,2008.
[2]HONSINGER C,JONES P,RABBANI M,et al.Lossless recovery of an original image containing embedded data:U.S.,6278791[P/OL].(2001-05-06)[2010-09-18]http://www.patentstorm.us/patents.
[3]FRIDRICH J,GOLJAN M,DU R.Invertible authentication[C].Proceedings of the International Society for Optics and Photonics,2001,3971:197 -208.
[4]TIAN Jun.Reversible data embedding using a difference expansion[J].IEEE Transaction on Circuits and Systems for Video Technology,2003,13(8):890 -896.
[5]XUAN Guorong,YANG Chengyun,ZHEN Yizhan,et al.Reversible data hiding based on wavelet spread spectrum[C].Proceedings of IEEE 6th Workshop on Multimedia Signal Processing,2004:211 -214.
[6]姚秋明,宣國榮,楊程云,等.基于整數小波直方圖間隙的無損數據 隱藏[J].計算機 應用,2007,27(7):1623-1643.
[7]劉紅軍,楊勝,夏太武.一種基于視覺模型的DCT域公開水印算法[J].計算機科學,2009,36(7):281 -283.
[8]LEWIS A,KNOWLES G.Image compression using the 2 - D wavelet transform[J].IEEE Transaction on Image Processing,1992,1(2):244 -250.
[9]金軍,舒紅平.一種基于元胞自動機的安全多重圖像水印算法[J].西安電子科技大學學報,2010,37(1):174-180.
[10]黃鵬濤,陳賢富.基于元胞自動機模型的新型二值圖像壓縮算法[J].計算機系統應用,2010,19(12):75 -80.