摘要現在基于數字信息被便捷的復制和修改,對數字信息的保護便變得極為重要,因此數字水印技術成為了研究熱點之一。本文是采用經典的Lena圖像作為測試圖像,將二值圖像作為水印,對水印圖像先進行Arnold變換,然后將置亂后的水印嵌入到原圖像中。可知基于DCT域的數字水印技術對信號處理攻擊具有較好的魯棒性。本文是將Arnold與DCT結合起來設計數字水印方案,并在MATLAB7.0平臺上進行了仿真實驗。
關鍵詞數字水印 離散余弦變換 Arnold變換
中圖分類號:TP39文獻標識碼:A
0 引言
現在網絡的迅猛發展,使得信息的交流與傳播變得極為容易與簡單,數字信息被便捷的復制和修改,基于這種現狀對數字信息的保護便變得其為重要,因此數字水印技術成為了研究熱點之一。
1 數字水印技術簡介
所謂數字水印技術就是將數字、序列號、文字、圖像標志等版權信息嵌入到多媒體數據中,以起到保護版權、秘密通信、數據文件的真偽鑒別和產品標志等作用。不同的應用領域對數字水印有不同的要求,但一般來講,數字水印應具備如下特點:
(1)安全性:即數字水印中的信息應該是安全的,難以被篡改或偽造,使未授權的用戶無法提取或檢測水印。
(2)不可感知性:一般來說,數字水印的不可感知性就是指原始產品與嵌入水印后的產品之間的感官相似度。通俗地講,就是嵌入水印后的圖像與未嵌入水印之前的圖像在視覺上是沒有任何差別的,即要求嵌入水印之后的圖像仍能滿足人們感官上的需求,且嵌入的水印不能影響原始產品的質量,否則將會降低產品的觀賞價值和商業價值等。
(3)魯棒性:嵌入水印后的圖像在傳播過程中要受到各種有意無意的攻擊,那么水印系統的魯棒性就是指在經過信號處理操作和幾何處理操作后仍然能夠檢測出水印的能力。一般情況下,信號處理操作包括重采樣、重量化、濾波、平滑和有損壓縮等;幾何處理操作包括平移、旋轉、縮放和剪切等。所以,我們希望嵌入水印后的產品在經過上述信號處理操作和幾何處理操作后,水印能夠不被移除,即我們仍然能夠檢測到或提取出水印。
(4)唯一性:恢復出的水印或水印判決的結果可以對所有權做出具有唯一性的判斷,不能夠出現歧義以致引起多重所有權糾紛。
2 離散余弦變換(DCT)簡介
基于DCT的頻域水印算法是目前研究最多、最成熟的變換域水印算法。它具有魯棒性強、隱蔽性好等特點,特別是算法能與當前JPEG、MPEG等數字媒體壓縮標準的核心算法(基于DCT變換)相結合,該類算法能較好地抵抗有損壓縮的攻擊。
離散余弦變換是基于實數的正交變換,有效地避免了傅里葉變換中的復數運算。由于數字圖像是二維的,所以我們這里僅介紹二維DCT變換和二維DCT反變換(IDCT)。
圖1是MATLAB6.5給出的Lena灰度圖像及DCT變換后的圖像,以及二值圖像及其DCT變換后的圖像。
3 Arnold變換的簡介
Arnold變換是在研究環面上的自同態時提出的一種變換,俗稱貓臉變換。將其應用于數字圖像,定義如下:
其中,(x,y)是像素在原圖像的坐標,(x',y')是變換后該像素在新圖像的坐標,N是數字圖像矩陣的階數,即圖像的大小,一般考慮正方形圖像。用上面敘述的變換式對圖像可進行多次迭代,直到滿足圖像置亂的要求。而且Arnold變換具有周期性,即若繼續對置亂后的圖像進行迭代,將在后面的某一步將原始圖像恢復。
在數字水印中,置亂的目的不僅僅在于打亂圖像,使得攻擊者不能識別圖像的內容,更重要的是,它可以把遭到損壞的原先集中在一起的圖像像素分散開來,通過減小對人視覺的影響來提高數字水印的魯棒性。因此,我們希望水印圖像在置亂后的像素分布越亂越好。
4 水印的嵌入、提取與仿真實驗結果
4.1水印嵌入算法
(1)對待嵌入水印進行Arnold變換置亂預處理,置亂次數k保留作為密鑰。
(2)將原始載體圖像分割成為互不重疊的大小為8€?的塊分別進行DCT變換。
(3)按照置亂后的水印圖像的像素點的值對原始圖像對應的DCT塊進行水印嵌入,采用對像素為1的點對應的整個DCT塊系數進行水印嵌入,而對像素為0的點對應的塊不進行水印嵌入。
block_dct2=block_dct1*(1+a*alpha);
(4)對DCT系數進行重構,得嵌入水印后的圖像。
4.2水印提取算法
水印的提取過程式嵌入過程的逆過程,提取時需要借助于原始圖像:(1)讀入原始圖像和水印圖像。(2)將原始圖像和水印圖像分別進行DCT變換,8*8分塊。(3)對相應的DCT塊進行比較相減,每一塊相減結果得到水印圖像的一個像素,并依次得到提取的水印圖像。(4)對提取出的水印進行混沌解密,進行T-k次置亂,得到最終的提取水印。
4.3 仿真實驗結果
實驗采用經典的Lena圖像(512€?12€?)作為測試圖像,以一幅“云南民大”四個漢字組成的(64€?4)二值圖像作為水印,在Matlab7.0環境下進行仿真實驗。原始圖像失真度采用峰值信噪比(PSNR)進行量化評估,按照上述的方法進行水印的嵌入和提取。
峰值信噪比計算公式如下:
其中均方誤差
,f(x,y)和f '(x,y)分別為原始圖像的像素和嵌入水印后圖像對應位置的像素值。結果如下圖所示:
圖3 (b)為未受到任何攻擊下提取出的水印圖像,計算得到PSNR=35.2885dB,說明本文算法有很好的不可見性和魯棒性。
5 結論
本章提出了一種基于Arnold-DCT變換的數字水印的Matlab實現,對水印圖像進行Arnold置亂,嵌入的水印具有較好的魯棒性和不可見性,然后對圖像分塊,對各個子塊分別進行DCT變換,對該算法進行理論性能,并在Matlab上進行了仿真實驗。分析實驗的結果能說明這種算法對有些信號的處理具有良好的穩健性。
參考文獻
[1]Coc I J, M L, Bloom J A.數字水印[M].王穎,黃志蓓,譯.北京:電子工業出版社,2003:1- 256.
[2]孫圣和,陸哲明,牛夏牧. 數字水印技術及應用[M].北京:科學出版社,2004:5-36.
[3]李海燕.一種DCT域的彩色圖像數字水印算法[J].合肥工業大學學報(自然科學版), 2009.32(7).
[4]李瑞霞,周熠.基于DCT變換并與HSV相結合的彩色圖像數字水印方法[J].電腦知識與技術,2009.