摘 要:提出一種基于Harr小波的無損圖像水印算法。對RGB圖像的B通道進行一維行Harr小波變換,采取閉環控制,選擇嵌入水印后不會發生溢出的像素,自適應地修改其高頻子帶系數以嵌入水印。實驗證明,該算法具有嵌入容量大、透明性好的特性。水印提取無須原始圖像,并且可無損恢復原始圖像。
關鍵詞:數字水印;無損;彩色圖像;小波變換
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2007)06-0165-02
數字水印是保障數字信息安全的重要手段。它能克服密碼技術中加密的內容在解密之后就沒有有效的手段來保證其不被非法拷貝、再次傳播、非法發行及惡意竄改的問題。圖像水印是近年來圖像處理領域的一個研究熱點,然而大部分數字水印方法都會引起載體圖像的一些變化。盡管這些變化人眼是無法覺察的,但其卻是不可逆的,即提取出隱藏數據后,不能恢復出原始的載體圖像。這在醫學、法律、軍事等敏感領域出于法律或其他因素的考慮是不允許的。因此對可逆數字水印技術的研究具有重要意義。可恢復性是該技術相對傳統圖像水印技術的新特征。近來,各種可逆數字水印方法被相繼提出[1-6]。Fridrich[1]帶領的研究小組利用圖像的冗余性,對圖像空域的某一位平面進行無損壓縮,壓縮后騰出的空間被用來隱藏水印信息;由于壓縮性能的限制,要得到更多的空間進行數據隱藏,通常要對高階位平面進行壓縮,這樣會使圖像質量下降。在此基礎上,Celic等人[6]提出廣義的空域LSB算法,采用更有效的壓縮技術,從而在壓縮容量、視覺質量和靈活性上均得到了提高,但隱藏的水印數據大時,視覺上感到明顯失真。本文在上述論文成果的啟發下,針對RGB圖像中人眼對藍色通道的變化不敏感的特性,利用Harr小波變換去除圖像的相關性,通過嵌入因子自適應地修改該通道的高頻分辨率區域的小波系數值來嵌入水印。
1 圖像可逆水印算法
1.1 水印預處理
(1)水印序列的生成。
水印圖像可表示為
(2)水印置亂。
1.2 水印的嵌入過程
(1)圖像進行Harr小波變換。
Harr小波是所有已知小波中最簡單的,Harr基本小波函數定義在區間 [0,1)上,見式(1)。對于t的平移,Harr小波是正交的。對于一維Harr小波可以看成是完成了差分運算,即給出與觀測結果的平均值不相等的部分的差。
(2)嵌入位置選取。
根據人眼對藍色通道變化的敏感程度低于其他兩個通道[8]的特性,將水印嵌入到藍色通道的高頻分辨率區域的小波系數中更能保證水印透明性。
(3)嵌入水印。
把置亂后的二值序列依次嵌入到不會發生溢出的像素對應的高頻系數的某一位,具體嵌入位置按式(6)計算:
其中Eb為嵌入位置,表示嵌入到高頻系數從低位開始的第Eb位;「a為不小于a的最小整數,R為高頻系數的二進制位數,a為閾值,滿足00。
對第Eb位的修改規則為:若水印序列對應位為1,則第Eb位置1;若水印序列對應位為0,則第Eb位置0。則嵌入水印比特W3(k)后新的高頻系數d′為
1.3 水印提取與原始圖像的恢復
水印的提取過程基本上就是嵌入過程的逆過程。首先將含水印的RGB圖像藍色通道進行一維小波行變換,提取時水印的位置與嵌入時水印的位置是相同的,按照嵌入時的掃描順序進行嵌入位置的選取,假設待測高頻系數含有水印比特w′3(k),根據式(6)有
則該處確實嵌入了水印信息,提取的水印比特w′3(k)有效,同時對高頻系數進行修改;否則w′3(k)舍棄,高頻系數保持不變,繼續向下掃描直到水印w′3提取結束。然后由密鑰Key生成一個隨機序列P,根據P調整水印W′3的數據位置以重新恢復一維水印序列W′2,再將一維的水印序列轉換成有意義的二維水印圖像,就得到了最終所要提取的水印圖像W′1。最后根據式(3)對小波系數進行逆變換得到恢復圖像。
2 實驗結果及分析
本文算法在Visual C++ 6.0環境下得到實現。式(6)中閾值a=0.6,以512×512×24的彩色圖像作為原始載體圖像,水印圖像以一幅64×64×2的二值圖像為例。圖1給出了一個水印嵌入實例。
(1)透明性實驗。
實驗中采用了大量載體圖像(512×512×24)和水印圖像進行透明性實驗,如表1所示。其中水印圖像1、2、3分別是32×32、64×64和128×128的二值圖像。
圖像嵌入水印后的PSNR值在35 dB以上一般就可以認為圖像沒有明顯的失真,具有較好的視覺效果[7]。從表1可以看出,嵌入水印后圖像PSNR值均比較高,說明水印算法透明性非常好。
(2)容量實驗。
與其他算法相比,本文提出的方法可以嵌入更多的數據(表2)。以512×512×24的圖像為例,僅對藍色通道進行信息嵌入,可以嵌入23-90 KB或更多的數據,而且具有視覺不可察覺性和較高的PSNR值。與Fridrich和Ce ̄lic的方法相比,本文提出的方法具有更高的容量。
表2 三種方法的數據容量
算法數據容量
Fridrich的算法3 000-24 000 bits
Celic的算法最高34 083 bits
本文提出的算法23 500-90 496 bits
(3)可恢復性分析。
在嵌入過程中,算法只修改高頻系數來隱藏水印信息,而低頻系數沒有變化,當提取水印時可以同步地根據嵌入算法恢復出被修改的高頻系數,再經過小波逆變換就可以恢復出原始載體圖像。實驗中通過計算原始圖像與提取出水印后恢復的載體圖像的PSNR值來判斷恢復圖像的準確性。實驗證明PSNR值為無窮大,表明恢復圖像與原始圖像完全相同,算法的可恢復性好。
3 結束語
本文提出一種基于Harr小波的彩色圖像可逆水印算法,采取閉環控制,對嵌入水印后不會發生溢出的像素,自適應地修改其高頻子帶系數以嵌入水印。實驗表明,該算法在保證水印透明性的基礎上,可以大容量地嵌入水印信息,實現了水印的盲提取,并且在水印提取后可以完全恢復出原始圖像。該算法在透明性和容量方面取得了較好效果,在軍事、法律和醫學等領域具有廣泛的應用前景。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。