摘要:隨著數字產品的廣泛應用且存在有巨大的商業價值,其內容的安全性已成為備注關注的課題。數字水印技術是為了保護數字內容的版權而產生的,它通過一定的算法將一些標志性信息直接嵌到數字產品內容中作為數字產品擁有權的依據。水印嵌入算法較多,該文設計一種常見的基于DCT域的魯棒性水印。通過實驗結果表明,DCT域嵌入的水印具有較好的隱藏性和較強的魯棒性。
關鍵詞:數字水印;魯棒;離散余弦變化
中圖分類號:TN911文獻標識碼:A文章編號:1009-3044(2009)36-10472-02
A DCT-Domain Design of Robust Digital Watermarking
HAN Wu-guang1, ZHENG Yu-yang2, WU Qing-xiu1
(1.Hainan Software Institute, Qionghai 571400, China; 2.Hainan Nomal Univertity, Haikou 571158, China)
Abstract: With the extensive application of digital products and the existence of a huge commercial value, the security of its content has become an issue of particular concern. Digital watermarking technology is created to protect the copyright of digital content. It will directly embed a number of landmark information into the content of digital product as a basis for the ownership of digital products. Watermark embedding algorithms are more common, this paper aims to design a DCT-based robust watermarking. The experimental results show that, DCT domain watermark embedding is easy to hidden and has good robustness.
Key words: digital watermarking; robust; discrete cosine transformation (DCT)
近年來,隨著信息媒體技術的迅猛發展,信息數字化已成為數據表示的一種重要方式。人們可以很方便的利用媒體技術制作圖像、語音、文本和視頻等數字產品。與此同時,網絡的飛速發展使得信息的發布和傳輸更加容易。人們可以通過互聯網發布自己的作品、保存重要的個人信息、進行網絡貿易等等。隨之數字產品傳播和拷貝變得越來越容易,媒體內容商的利益受到嚴重的損壞,數字水印作為一種可靠有效的版權保護方法。如今,數字水印在數字產品內容的防偽鑒定、數據的跟蹤檢測、網絡電子付費服務等方面有十分廣泛的應用[1],數字水印有著比較好的發展前景。
1 數字水印的系統組成框架
數字水印目前尚未有完美的理論模型,所有的水印方法都是由一個水印嵌入系統和水印提取系統組成[2,4]。
數字水印嵌入的基本框架如圖1所示。
水印嵌入過程中的密鑰是用來確保水印安全的,防止非法修改、偽造等;水印可以是文本、圖像、數字、信號等形式。水印的提取是水印嵌入的逆過程,必須要獲取密鑰,否則水印就無法提取出去,這是比較重要的。
2 一種基于DCT域的數字水印方案
本文實現一種基于DCT域嵌入水印的算法,該算法實現水印嵌入流程(圖2所示)(水印提取算法是嵌入算法的逆過程)。
2.1 水印的生成
本文以64×64的圖像作為水印信號,宿主圖像為512×512的lena灰度圖像。首先將64×64水印圖像變換為二值水印圖像。然后對二值水印圖像進行Arnold變換。Arnold變換是Arnold在研究遍歷理論過程中提出的一種變換。[7]設有單位正方形上的點(x,y),將點(x,y)變到另一點(x',y')的變換為[3,5-6]:
(1)
這就是單位正方形上的Arnold變換。定義的變換實際上是一種點的位置移動,該變換是一一對應的,且具有周期性。
對于水印圖像來說,位置移動是對應點的灰度值或RGB顏色值的移動,即原來點(x,y)處象素對應的灰度值或RGB值移動至變換后的點(x',y')處。如果對水印圖像迭代地使用離散化的Arnold變換,當迭代到某一步時停止,即可得到Arnold變換的置亂編碼。本算法采用的水印圖像尺寸為64×64,變換周期為48。即迭代的進行48次Arnold置亂后,水印圖像將恢復原來面目。水印圖像經過Arnold變換后:能夠有效的抵抗剪切攻擊,一定程度上對數據進行了加密,增加了水印的安全性。經過以上處理后,水印圖像具有的一定的保密性,如果不知道密鑰(即Arnold置亂次數,就無法復原水印圖像)。
2.2 宿主圖像處理和水印的嵌入
水印的嵌入首先對宿主圖像按分塊并作DCT變換。在DCT的變換中,一般是先將圖像是分塊(8×8或16×16),然后再將圖像進行DCT變換,分塊的多少決定了算法的復雜度,分塊越多,運算越復雜,時間也越長,水印效果也越好。在這選用了8×8的分塊方式。對圖像分塊后進行DCT變換得到DCT系數,把這些系數按Zig-Zag次序排列,左上角第一個值“0”就是DC(直流)系數,左上角是低頻部分,中間是中頻部分,右下角是高頻部分,[1]通常來講我們選擇嵌入在低頻到中頻區域,中低頻部分代表圖像的大部分能量。在本算法中將水印嵌入在低頻區域并做DCT變換后,得到的DCT圖像有兩個特點:①系數值全部集中到DC分量附近,動態范圍很小,說明用較小的量化比特數即可表示DCT系數。②DCT變換后圖像能量集中在圖像的低頻部分,可以嵌入水印信息。然后將水印嵌入在低頻區域,嵌入強度為0.75。實驗證明,當強度為0.75時,可以較好的平衡不可感知性與魯棒性。
2.3 水印提取
水印提取過程為水印嵌入的逆過程。首先根據原始圖像做對比,確定嵌入位置,提取水印信息。然后對解密后的水印進行Arnold反置亂,得到提取后的水印圖片。
Arnold反置亂有兩種算法實現。如在本實驗中,置亂周期為48,嵌入時置亂10次。第一種算法是做Arnold逆運算,置亂10回到原始圖像。第二種算法是繼續置亂38次,經過一個置亂周期后回到原始圖像。兩種算法可以根據實際情況進行選擇,置亂次數越多速度越慢。
3 實驗結果分析
圖3 圖像比較圖4 剪切1/4圖像及提取的水印
1) 隱蔽性:如圖3所示,是很難看出原始圖像與水印圖像之間的差別的。其實它們之間是有差別的,這種差別是人可以接受的,說明該水印具有較好的隱藏性。
圖5 剪切1/2圖像及水印圖6 JPEG壓縮圖像及水印
2) 剪切攻擊:通過圖4、圖5可以看出。在剪切掉1/4 、1/2之后,提取出的水印圖像依然可以認出。證明該算法對于常見的剪切攻擊具有很好的魯棒性。
3) JPEG壓縮攻擊:如圖6所示,采用強度為8時NC =1JPEG壓縮,宿主圖像的變化已經十分明顯了,已經嚴重失真。但是該算法卻可以完美的提取出水印圖像。可見該算法在該JPEG壓縮攻擊時可以體現出很好的魯棒性。
4 結論
通過實驗數據分析可以發現, 水印嵌入前后,lean圖像沒有明顯的變化,即說明該算法具有良好的隱藏性;對圖像進行剪切和JPEG壓縮攻擊也能顯現出較強的魯棒性,Arnold置亂保證了圖像剪切后水印依然可識別。二維DCT是JPEG的核心,所以該算法自然可以抵抗JPEG壓縮攻擊。本算法是將水印全部嵌入的低頻區域。對于低頻的變化就顯得十分敏感,針對圖像低頻部分的攻擊(如:旋轉攻擊)相對而言魯棒性一般。
參考文獻:
[1] 楊義先,鈕心忻.數字水印理論與技術[M].高等教育出版社,2006.
[2] 孫圣和,陸哲明,牛夏牧.數字水印技術及應用[M].北京:科學出版社,2004.
[3] 賀興華,周媛媛,王繼陽,等.MATLAB7.X圖像處理[M].人民郵電出版社,2006.
[4] Cox I J, Kilian J, Leighton T. Secure Spread Spectrum Watermarking for Multimedia[C].IEEE Transaction on image processing,1997.
[5] 鐘樺,張小華,焦李成.數字水印域圖像認證-算法應用[M].西安:西安電子科技大學出版社,2006.
[6] 龔聲蓉,劉純平,王強.數字圖像處理與分析[M].北京:清華大學出版社,1997.
[7] 黎羅羅.Arnold型置亂變換周期分析[J].中山大學學報:自然科學版,2005(2):1-4.