周 亮 紀秀輝
[摘要]首先介紹數字水印技術及其特征,對基于空間域、變換域等幾類典型的數字水印算法進行分析比較。
[關鍵詞]數字水印算法空間域變換域
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0610081-01
一、引言
數字水印,屬于信息隱藏技術,與鈔票水印相類似。它是將信息(水印)隱藏于數字化媒體(靜止圖像、語音、視頻等)中,從而實現隱藏傳輸、存儲、標注、身份識別、版權保護等功能。一方面,它可以被用來證明原創作者對其作品的所有權,作為鑒定、起訴非法侵權的證據;另一方面,作者還可以通過對其數字產品中的水印進行探測和分析來實現對作品的動態跟蹤,從而保證其作品的完整可靠性。
二、數字水印技術及特征
數字水印(Digital Watermark)技術是在多媒體數據(如圖像、音頻、視頻信號等)中添加某些標識所有權信息而不影響原數據的視聽效果,并且這些數字信息可以部分或全部從混合數據中恢復出來,以達到版權保護等作用。它為解決版權保護等問題提供了一種潛在的有效解決方法。一般地,數字水印應具有如下的特性:(1)安全性:指將水印信息藏于目標數據的內容之中,而非文件頭等處,防止因格式變換而遭到破壞。(2)魯棒性:數字水印信息不能因為宿主信息的改動而輕易受到損害。(3)透明性;數字水印信息不能嚴重影響宿主信息的有效性。(4)不可感知性:指隱蔽載體與原始宿主具有一致的特性,不能產生可感知的數據變化。如具有一致的統計噪聲分布等,以便使非法攔截者無法判斷是否有隱蔽信息的存在。(5)自恢復性。自恢復性是指帶水印的圖像在經過一些操作或變換發生破壞后,能自動恢復隱藏信號,而恢復過程不需要宿主信號參與。
三、典型的數字水印算法
(一)空間域水印算法
該類典型算法主要包括Schynde1算法、Patchwork算法等。
Schynde1算法是第一篇在重要會議上發表的關于數字水印的文章,文中闡明了一些關于水印的重要概念和魯棒水印檢測的通用方法(相關性檢測方法),此算法首先把二維水印信號按像素點逐一插入到原始圖像像素值的最低有效位(LSB:Least SignifieantBits),所以這種算法也被稱為LSB算法。由于水印信號被安排在了最低位上,它是不可見的,但是基于同樣的原因,它可以輕易地被移去,因此也是不穩健的。
Patchwork是一種基于改變圖像數據統計特性的方法。該算法首先隨機選取N對像素點。然后通過增加像素對中一個點的亮度值,而相應降低另一個點的亮度值來隱藏信息。為增強水印的魯棒性,還可以把像素對擴展為小塊的區域,通過增加一個區域中所有像素點的亮度值而相應減少對應區域的亮度值來隱藏信息。該算法具有不易察覺性,并且對于有損壓縮(JPEG)和一些惡意攻擊具有抵抗力。但是該算法的前提條件是對圖像有特殊的要求,并且對幾何處理十分敏感,嵌入信息量有限。
(二)變換域水印算法
變換域算法在內嵌數據前先對多媒體數據進行某種可逆的數學變換,然后用某種規則按水印的指示對變換域的系數進行修改,再進行逆變換得到加水印的多媒體數據。這些變換包括DCT、DFT、DWT等正交變換。變換域水印算法在頻率域實現水印信號疊加,并借鑒擴頻通訊等技術對水印信號進行有效的編碼,從而提高了透明性和魯棒性,同時還適當利用濾波技術對水印信號引入的高頻噪聲進行消除,從而增加了對低頻濾波的抵抗力。
1、DFT變換域的水印算法
傅里葉變換是一種經典而有效的數學工具,DFT域的算法有利于實現水印的仿射不變性,而且可以利用變換后的相位信息嵌入水印。O.Runnaith提出了兩種DFT域的水印算法。一種是將水印嵌入到DFT系數的相位信息中,其依據是Hayers的結論“從圖像可理解性的角度,相位信息比幅度信息更重要”。另外一種算法實現了水印的平移、旋轉和尺度拉伸不變性。但DFT域的方法計算比較復雜,效率較低,而且與國際壓縮標準不兼容,限制了它的應用。
2、DCT變換域的水印算法
離散余弦變換(Discrete Cosine Transform)簡稱DCT,任何連續的是對稱函數的博立葉變換值含有余弦項,因此余弦變換域博立葉變換一樣有明確的物理意義。DCT變換避免了博立葉變換中的復數運算,它是基于實數的正交變換。DCT變換矩陣的基向量很近似于Toeplitz矩陣的特征向量,而Toeplitz矩陣又體現了人類語言及圖像信號的相關性,故DCT常常被視為是對語言和圖像信號的準最佳變換,同時DCT算法較易于在數字信號處理器中快速實現,因此它目前在圖像編碼中占有重要的地位,成為一系列有關圖像編碼的國際標準(JPEG、MPEG、H.261等)的主要環節。
3、DWT變換域的水印算法
DWT域方法由于DWT良好的空間一頻率分解特性(更符合日HVS的特點)而有十分良好的前景。此外,由于MPEG4及JPEG2000壓縮標準的公布,小波已成為其核心技術,基于小波域的水印算法也越來越多,現在人們對小波的熱情,就像當初在JPEG中提倡使用DCT一樣。在小波域嵌入水印的原因是:可以防止由于JPEG2000有損壓縮而造成的水印消除;可以利用信源編碼領域對圖像失真的可見性研究成果來控制水印的嵌入位置和強度:可以實現在壓縮域直接嵌入水印。此外,利用小波多分辨分析可以更好地控制水印在宿主圖像中的分布,更好地解決魯棒性和不可見性之間的矛盾。
(三)壓縮域算法
基于JPEG、MPEG標準的壓縮域數字水印系統可節省大量的完全解碼和重新編碼過程,在數字電視廣播及VOD(Video on Demand)中有很大的實用價值。相應地,水印檢測與提取也可直接在壓縮域數據中進行。雖然MPEG-2數據流語法允許把用戶數據加到數據流中,但是這種方案并不適合數字水印技術,因為用戶數據可以簡單地從數據流中去掉,同時,在MPEG-2編碼視頻數據流中增加用戶數據會加大位率,使之不適于固定帶寬的應用。所以,關鍵是如何把水印信號加到數據信號中,即加入到表示視頻幀的數據流中。
(四)NEO算法
該算法由NEC實驗室的COX等人提出,該算法在數字水印算法中占有重要地位,其實現方法是,首先以密鑰為種子來產生偽隨機序列,該序列具有高斯N(0,1)分布,密鑰一般由作者的標識碼和圖像的哈希值組成,其次對圖像做DCT變換,最后用偽隨機高斯序列來調制(疊加)該圖像除直流(DC)分量外的1000個最大的DCT系數。該算法具有較強的魯棒性、安全性、透明性等。
另外還有生理模型算法,這種算法主要是利用視覺模型與其它算法相結合,還有基于JPEG、MPEG標準的壓縮域算法,不僅節省了大量的完全解碼和重新編碼過程,而且在數字電視廣播及VOD(Video on Demand)中有很大的使用價值,不足之處是該算法人工實驗花費高。
四、各類數字水印算法的分析比較
從這些算法可以看到,無論是空間域水印算法,還是變換域水印算法,在選取與確定水印信號嵌入位置時,多數方法都用到偽隨即序列。通常,所選取的圖像系數個數要遠大于要嵌入信號的長度,這樣可以重復嵌入水印信號并增強魯棒性,由上述介紹可以看出,嵌入域的選擇對水印的魯棒性影響很大。
一般的說,空間域算法運算量小,嵌入的信息量較大,而且隱蔽性好,但是,空間域算法對于一些攻擊方法比如:加噪聲、JPEG壓縮、濾波和縮放重采樣、亮度增強和對比度增強之類的魯棒性較差,但優點是當圖像被限幅或變換后,水印信號容易恢復,這在變換域水印算法中是沒有的,在DCT域中也是如此。在DCT域中嵌入水印信號位置很重要,往往決定水印信號的恢復與提取。
變換域數字水印算法往往將水印信息通過圖像的某種可逆變換分散到整個圖像之中,因此可以獲得很高的魯棒性。但缺點是需要較多的計算資源,而且在全局變換中,水印信息嵌入強度與圖像局部區域的特性不相適應使得難以采用固體的視覺模型。采用小波變換可以較好的使水印信息適于圖像的局部特性,這是因為小波變換同時具有空間與時間的局部支撐性。
五、結束語
綜上所述,數字水印算法正在不斷的發展和前進中日益完善,但是仍然存在許多不足,具有更加深入的發展空間,這就需要我們在不斷的學習和探索中尋找具有更好性能的新算法。