摘要:隨著數(shù)字產(chǎn)品的廣泛應(yīng)用且存在有巨大的商業(yè)價(jià)值,其內(nèi)容的安全性已成為備注關(guān)注的課題。數(shù)字水印技術(shù)是為了保護(hù)數(shù)字內(nèi)容的版權(quán)而產(chǎn)生的,它通過一定的算法將一些標(biāo)志性信息直接嵌到數(shù)字產(chǎn)品內(nèi)容中作為數(shù)字產(chǎn)品擁有權(quán)的依據(jù)。水印嵌入算法較多,該文設(shè)計(jì)一種常見的基于DCT域的魯棒性水印。通過實(shí)驗(yàn)結(jié)果表明,DCT域嵌入的水印具有較好的隱藏性和較強(qiáng)的魯棒性。
關(guān)鍵詞:數(shù)字水印;魯棒;離散余弦變化
中圖分類號:TN911文獻(xiàn)標(biāo)識碼: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)
近年來,隨著信息媒體技術(shù)的迅猛發(fā)展,信息數(shù)字化已成為數(shù)據(jù)表示的一種重要方式。人們可以很方便的利用媒體技術(shù)制作圖像、語音、文本和視頻等數(shù)字產(chǎn)品。與此同時(shí),網(wǎng)絡(luò)的飛速發(fā)展使得信息的發(fā)布和傳輸更加容易。人們可以通過互聯(lián)網(wǎng)發(fā)布自己的作品、保存重要的個(gè)人信息、進(jìn)行網(wǎng)絡(luò)貿(mào)易等等。隨之?dāng)?shù)字產(chǎn)品傳播和拷貝變得越來越容易,媒體內(nèi)容商的利益受到嚴(yán)重的損壞,數(shù)字水印作為一種可靠有效的版權(quán)保護(hù)方法。如今,數(shù)字水印在數(shù)字產(chǎn)品內(nèi)容的防偽鑒定、數(shù)據(jù)的跟蹤檢測、網(wǎng)絡(luò)電子付費(fèi)服務(wù)等方面有十分廣泛的應(yīng)用[1],數(shù)字水印有著比較好的發(fā)展前景。
1 數(shù)字水印的系統(tǒng)組成框架
數(shù)字水印目前尚未有完美的理論模型,所有的水印方法都是由一個(gè)水印嵌入系統(tǒng)和水印提取系統(tǒng)組成[2,4]。
數(shù)字水印嵌入的基本框架如圖1所示。
水印嵌入過程中的密鑰是用來確保水印安全的,防止非法修改、偽造等;水印可以是文本、圖像、數(shù)字、信號等形式。水印的提取是水印嵌入的逆過程,必須要獲取密鑰,否則水印就無法提取出去,這是比較重要的。
2 一種基于DCT域的數(shù)字水印方案
本文實(shí)現(xiàn)一種基于DCT域嵌入水印的算法,該算法實(shí)現(xiàn)水印嵌入流程(圖2所示)(水印提取算法是嵌入算法的逆過程)。
2.1 水印的生成
本文以64×64的圖像作為水印信號,宿主圖像為512×512的lena灰度圖像。首先將64×64水印圖像變換為二值水印圖像。然后對二值水印圖像進(jìn)行Arnold變換。Arnold變換是Arnold在研究遍歷理論過程中提出的一種變換。[7]設(shè)有單位正方形上的點(diǎn)(x,y),將點(diǎn)(x,y)變到另一點(diǎn)(x',y')的變換為[3,5-6]:
(1)
這就是單位正方形上的Arnold變換。定義的變換實(shí)際上是一種點(diǎn)的位置移動,該變換是一一對應(yīng)的,且具有周期性。
對于水印圖像來說,位置移動是對應(yīng)點(diǎn)的灰度值或RGB顏色值的移動,即原來點(diǎn)(x,y)處象素對應(yīng)的灰度值或RGB值移動至變換后的點(diǎn)(x',y')處。如果對水印圖像迭代地使用離散化的Arnold變換,當(dāng)?shù)侥骋徊綍r(shí)停止,即可得到Arnold變換的置亂編碼。本算法采用的水印圖像尺寸為64×64,變換周期為48。即迭代的進(jìn)行48次Arnold置亂后,水印圖像將恢復(fù)原來面目。水印圖像經(jīng)過Arnold變換后:能夠有效的抵抗剪切攻擊,一定程度上對數(shù)據(jù)進(jìn)行了加密,增加了水印的安全性。經(jīng)過以上處理后,水印圖像具有的一定的保密性,如果不知道密鑰(即Arnold置亂次數(shù),就無法復(fù)原水印圖像)。
2.2 宿主圖像處理和水印的嵌入
水印的嵌入首先對宿主圖像按分塊并作DCT變換。在DCT的變換中,一般是先將圖像是分塊(8×8或16×16),然后再將圖像進(jìn)行DCT變換,分塊的多少決定了算法的復(fù)雜度,分塊越多,運(yùn)算越復(fù)雜,時(shí)間也越長,水印效果也越好。在這選用了8×8的分塊方式。對圖像分塊后進(jìn)行DCT變換得到DCT系數(shù),把這些系數(shù)按Zig-Zag次序排列,左上角第一個(gè)值“0”就是DC(直流)系數(shù),左上角是低頻部分,中間是中頻部分,右下角是高頻部分,[1]通常來講我們選擇嵌入在低頻到中頻區(qū)域,中低頻部分代表圖像的大部分能量。在本算法中將水印嵌入在低頻區(qū)域并做DCT變換后,得到的DCT圖像有兩個(gè)特點(diǎn):①系數(shù)值全部集中到DC分量附近,動態(tài)范圍很小,說明用較小的量化比特?cái)?shù)即可表示DCT系數(shù)。②DCT變換后圖像能量集中在圖像的低頻部分,可以嵌入水印信息。然后將水印嵌入在低頻區(qū)域,嵌入強(qiáng)度為0.75。實(shí)驗(yàn)證明,當(dāng)強(qiáng)度為0.75時(shí),可以較好的平衡不可感知性與魯棒性。
2.3 水印提取
水印提取過程為水印嵌入的逆過程。首先根據(jù)原始圖像做對比,確定嵌入位置,提取水印信息。然后對解密后的水印進(jìn)行Arnold反置亂,得到提取后的水印圖片。
Arnold反置亂有兩種算法實(shí)現(xiàn)。如在本實(shí)驗(yàn)中,置亂周期為48,嵌入時(shí)置亂10次。第一種算法是做Arnold逆運(yùn)算,置亂10回到原始圖像。第二種算法是繼續(xù)置亂38次,經(jīng)過一個(gè)置亂周期后回到原始圖像。兩種算法可以根據(jù)實(shí)際情況進(jìn)行選擇,置亂次數(shù)越多速度越慢。
3 實(shí)驗(yàn)結(jié)果分析
圖3 圖像比較圖4 剪切1/4圖像及提取的水印
1) 隱蔽性:如圖3所示,是很難看出原始圖像與水印圖像之間的差別的。其實(shí)它們之間是有差別的,這種差別是人可以接受的,說明該水印具有較好的隱藏性。
圖5 剪切1/2圖像及水印圖6 JPEG壓縮圖像及水印
2) 剪切攻擊:通過圖4、圖5可以看出。在剪切掉1/4 、1/2之后,提取出的水印圖像依然可以認(rèn)出。證明該算法對于常見的剪切攻擊具有很好的魯棒性。
3) JPEG壓縮攻擊:如圖6所示,采用強(qiáng)度為8時(shí)NC =1JPEG壓縮,宿主圖像的變化已經(jīng)十分明顯了,已經(jīng)嚴(yán)重失真。但是該算法卻可以完美的提取出水印圖像??梢娫撍惴ㄔ谠揓PEG壓縮攻擊時(shí)可以體現(xiàn)出很好的魯棒性。
4 結(jié)論
通過實(shí)驗(yàn)數(shù)據(jù)分析可以發(fā)現(xiàn), 水印嵌入前后,lean圖像沒有明顯的變化,即說明該算法具有良好的隱藏性;對圖像進(jìn)行剪切和JPEG壓縮攻擊也能顯現(xiàn)出較強(qiáng)的魯棒性,Arnold置亂保證了圖像剪切后水印依然可識別。二維DCT是JPEG的核心,所以該算法自然可以抵抗JPEG壓縮攻擊。本算法是將水印全部嵌入的低頻區(qū)域。對于低頻的變化就顯得十分敏感,針對圖像低頻部分的攻擊(如:旋轉(zhuǎn)攻擊)相對而言魯棒性一般。
參考文獻(xiàn):
[1] 楊義先,鈕心忻.數(shù)字水印理論與技術(shù)[M].高等教育出版社,2006.
[2] 孫圣和,陸哲明,牛夏牧.數(shù)字水印技術(shù)及應(yīng)用[M].北京:科學(xué)出版社,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] 鐘樺,張小華,焦李成.數(shù)字水印域圖像認(rèn)證-算法應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2006.
[6] 龔聲蓉,劉純平,王強(qiáng).數(shù)字圖像處理與分析[M].北京:清華大學(xué)出版社,1997.
[7] 黎羅羅.Arnold型置亂變換周期分析[J].中山大學(xué)學(xué)報(bào):自然科學(xué)版,2005(2):1-4.