黃鑫
摘要:該文在對(duì)數(shù)字水印的分類、原理以及近幾年所產(chǎn)生的新進(jìn)展的基礎(chǔ)上,深入研究DCT域變換的方法,并以此方法為基礎(chǔ)實(shí)現(xiàn)盲水印的嵌入和提取。文中在理論推導(dǎo)的基礎(chǔ)上給出實(shí)驗(yàn)分析,證實(shí)了文中給出方法的正確性,獲得盲水印的圖像效果較好。
關(guān)鍵詞:DCT變換;盲水?。凰∏度?;水印提取
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)06-1280-02
隨著3G、4G網(wǎng)絡(luò)的逐漸普及,人們應(yīng)用數(shù)字圖像已經(jīng)不僅僅局限于普通PC機(jī),而是逐漸擴(kuò)展到平板電腦、只能手機(jī)登領(lǐng)域。由于數(shù)字圖像包含的信息量巨大,很容易被人們接受和傳播,不僅僅給人們的工作帶來便利,也為業(yè)余生活帶進(jìn)了更多的色彩。然而,多媒體數(shù)字圖像的版權(quán)保護(hù)問題則日顯突出。而數(shù)字水印技術(shù)是當(dāng)今知識(shí)產(chǎn)權(quán)保護(hù)的一種新方法,并逐漸被人們所接受。簡單地講,數(shù)字圖像水印技術(shù)是指在不破壞原有數(shù)字作品自身價(jià)值的情況下,將某些標(biāo)志性信息(水?。├靡恍┨囟ㄋ惴ㄇ度氲綌?shù)字作品(載體)中去。這些被嵌入的標(biāo)志性信息(數(shù)字水?。┛梢员硎緮?shù)字作品版權(quán)所有者、發(fā)行者、日前、作品控制等信息。一旦發(fā)現(xiàn)數(shù)字作品有盜版情形,利用相應(yīng)水印提取算法可以提取出這些水印信息來證明數(shù)字作品的版權(quán)歸屬,便可以作為指控盜版者侵權(quán)的法律依據(jù)。另外,還可以在使用數(shù)字作品前,通過檢測(cè)數(shù)字作品中的水印信息,來限制該數(shù)字作品的操作權(quán)限,如復(fù)制次數(shù)等等。這是常規(guī)加密方法難以辦到的。
普通的數(shù)字水印技術(shù)一般都能具有不可見性、安全性和可證明性,其不足則是魯棒性較低。具體來講,圖像經(jīng)過常規(guī)的信號(hào)處理操作化,所能檢測(cè)到的水印可能變得模糊不清。鑒于此,該文在常規(guī)魯棒盲水印方法上提出一種改進(jìn)的方式,從而提高水印的魯棒特性。
所謂魯棒數(shù)字水印是水印技術(shù)中的一個(gè)分支,是相對(duì)于普通水印技術(shù)而言的,一般是指通過在原始數(shù)據(jù)中嵌入秘密信息——水?。╳atermark)來證實(shí)該數(shù)據(jù)的所有權(quán)。魯棒數(shù)字水印技術(shù)與傳統(tǒng)數(shù)字水印技術(shù)除都具有信息隱藏的功能外,其具有較強(qiáng)的魯棒性、安全性和透明性等特點(diǎn)。是一種具有很好前景和巨大競爭力的新技術(shù)。
1 DCT域的盲水印算法原理
數(shù)字水?。―igital Watermarking)的基本思想是利用圖像處理技術(shù)將標(biāo)志信息(如版權(quán)所有者、發(fā)行者、日前、作品控制等)嵌入到數(shù)字圖像、音頻、視頻等數(shù)字作品中,用以實(shí)現(xiàn)對(duì)該數(shù)字產(chǎn)品的盜版跟蹤、知識(shí)產(chǎn)權(quán)維護(hù)、完整性確認(rèn)、真?zhèn)舞b別等功能。通常而言,嵌入的秘密信息需要經(jīng)過相應(yīng)的圖像預(yù)處理后才形成水印信息。數(shù)字水印信息可以定義為:
[w=wi|wi∈O,i=0,1,2,…,N-1]
其中,[N]表示水印長度,[O]表示值域。[O]可以是二值形式,即[O=0,1]或[O=-1,1]或[O=-r,r]等,也可以是高斯白噪聲(均值為0,方差為1,[N0,1])。水印信號(hào)可以是一維序列,還可以是二維矩陣,或者三維乃至高位信號(hào)。為了進(jìn)一步研究盲水印的實(shí)現(xiàn)過程,首先研究DCT變化的基本原理。
1.1 DCT域變換介紹
DCT(離散余弦變換)是一種可逆變換,分為正向(FDCT)和逆向(IDCT)離散余弦變換。其中,正向離散余弦變換(FDCT)是為獲得DCT域中的頻域系數(shù),由空間域中的像素?cái)?shù)據(jù)變換而來;逆向離散余弦變換(IDCT)則是將前者變換的頻域數(shù)據(jù)恢復(fù)到原有的圖像像素?cái)?shù)據(jù);兩者互逆,一般要配合使用。在圖像處理中,F(xiàn)DCT具有圖像壓縮編碼的功能,原因在其具有去除數(shù)據(jù)相關(guān)性的能力。
1.2 DCT域變換算法
對(duì)于圖像而言,二維FDCT/IDCT的定義可以描述如下:
設(shè)[fx,y|x=0,1,…,M-1;y=0,1,…,N-1]為[M×N]的二維圖像像素矩陣,則二維FDCT/IDCT定義為:
[Fu,v=CuCv2MNx=0M-1y=0N-1fx,ycos2x+1uπ2Mcos2y+1vπ2N] (1)
[fx,y=2MNx=0M-1y=0N-1CuCvFu,vcos2x+1uπ2Mcos2y+1vπ2N] (2)
其中,[u=0,1,…,M-1];[v=0,1,…,N-1];[Cu]、[Cv]與一維情形相同。
1.3 DCT域盲水印原理
對(duì)二維圖像進(jìn)行水印處理,一般要完成兩個(gè)過程,及水印嵌入和水印提取。
1) 嵌入水印
首先對(duì)圖像進(jìn)行分塊處理,如對(duì)原圖像進(jìn)行[16×16]、[32×32]、[64×64]等分塊,再將各個(gè)子塊進(jìn)行DCT處理,然后定義兩個(gè)高度不相關(guān)的[m]序列,利用置亂后的二值水印圖像信息對(duì)其進(jìn)行控制,并按照一定規(guī)則使對(duì)相應(yīng)分塊圖像DCT變換后屬于中頻位置嵌入相應(yīng)的水印圖像(這里的水印圖像也進(jìn)行相應(yīng)的DCT變換),最后對(duì)分塊圖像進(jìn)行DCT逆變換,在按著原有分塊的順序排列,即可恢復(fù)為具有水印的新圖像。
2) 提取水印
對(duì)含數(shù)字水印的圖像進(jìn)行分塊處理要依據(jù)原有圖像的分塊原則,再按著順序?qū)Ψ謮K進(jìn)行DCT變換。然后生成兩個(gè)高度不相關(guān)的[m]序列與各分塊圖像DCT變換后水印嵌入位置上的數(shù)據(jù)做自相關(guān)計(jì)算,即可使得水印信息從各個(gè)分塊圖像中被提出出來。最后,根據(jù)處理前給定的密鑰反置亂提取到的水印信息,便得了嵌入在圖像中的水印信息。
2 DCT盲水印算法實(shí)現(xiàn)過程
2.1 水印潛入
1) 水印圖像置亂
所謂水印圖像置亂即“擾亂”圖像,其原理是對(duì)數(shù)字圖像的像素位置或灰度級(jí)等做變換運(yùn)算,從而獲得一定程度的“混亂”狀態(tài),從而實(shí)現(xiàn)置亂的目的。經(jīng)典的置亂算法有Arnold函數(shù),表述如下:
[x′y′=11kk+1xymod N k∈1,N] (3)
其中,[k]是控制參數(shù),[N]表征矩陣大小,[x,y]和[x′,y′]表示像素在變換前后的位置,然后對(duì)所有的[x,y]都進(jìn)行式(5)的變化,變產(chǎn)生了一幅加密圖像,解密過程即為其反變換過程。
2) 水印嵌入過程
?設(shè)圖像[IM×N]為原始圖像,圖像[WM×N]為水印圖像;
?計(jì)算原始圖像大小,并與水印圖像相比較,當(dāng)原始圖像小于水印圖像時(shí)返回;否則計(jì)算原始圖像分塊的大小為[MN×MN];
?用Arnold函數(shù)對(duì)水印圖像[WM×N]進(jìn)行置亂運(yùn)算,設(shè)定密鑰為“O”;[W′M×N]為置亂后的二值水印圖像;
?將原始圖像[IM×N]分塊[Iij],并對(duì)各子塊的原始圖像依次進(jìn)行二維DCT變換,得到系數(shù)矩陣[Mij],即[Mij=DCTIij];
?分別生成兩個(gè)長度為[MN]的隨機(jī)序列[m1]、[m2],依據(jù)密鑰1和密鑰2;
?對(duì)[Mij]嵌入水印信息,具體過程如下:
[Mij1,M/N=Mij1,M/N+a?k1Mij2,M/N=Mij1,M/N-1+a?k2?MijM/N,1=MijM/N,1+a?kMN]
其中,[a]為嵌入強(qiáng)度,[k]為隨機(jī)序列[m1]或[m2],定義如下:
當(dāng)[Wij=1]時(shí),[k=m1],其中[ki=m1i],[i=1,2,…,N];
當(dāng)[Wij=0]時(shí),[k=m2],其中[ki=m2i],[i=1,2,…,N];
?對(duì)[Mij]進(jìn)行IDCT變換,得到[I′ij],并按分塊順序從新組合為含水印的圖像。
3) 水印嵌入實(shí)例
圖1 原始圖像W 圖2 水印I 圖3 嵌入水印圖像
2.2 水印提取
水印提取與上述過程相反,可簡要描述如下:
?讀取含水印圖像[I′];
?將其分塊,并做DCT變換;
?對(duì)各分塊內(nèi)的水印信息讀??;
?用密鑰1、密鑰2分別生成兩個(gè)長度為[MN]的隨機(jī)序列[m1]、[m2];
?分別求出自相關(guān)系數(shù)[c1]、[c2];
?當(dāng)[c1≥c2],則估計(jì)水印信息[Wij=1],否則[Wij=0];
?利用密鑰“O”對(duì)水印圖像的估計(jì)矩陣進(jìn)行Arnold函數(shù)反置亂運(yùn)算。
實(shí)驗(yàn)選用圖像為256級(jí)灰度、尺寸[512×512]的圖像,水印圖像為[32×32]的“數(shù)字信息”水印,通過嵌入與提取,嵌入水印圖像和原始圖像沒有太大差別,從而實(shí)現(xiàn)盲水印的嵌入。
3 結(jié)束語
本文通對(duì)水印分類的研究理解的基礎(chǔ)上,對(duì)脆弱水印、盲水印、魯棒盲水印有了較深刻的理解,然后利用基于DCT域變換的方法實(shí)現(xiàn)了水印的嵌入與提取,通過實(shí)驗(yàn)驗(yàn)證發(fā)現(xiàn),論文給出的算法具有較好的效果,從嵌入效果看與原始圖像沒有太大差別,實(shí)現(xiàn)了數(shù)字信息的隱藏。
參考文獻(xiàn):
[1] H.P.Lu,X.X.Shi,Y.Q.Shi,A.C.Kot and L.H.Chen.Watermark Embedding in DC Components of DCT for Binary Images.International Workshop on Multimedia Signal Processing(MMSP02),Dec.9-11,2002:300-303
[2] I.J.Cox,Mattew L.Miller,and Jeffrey A.Bloom.數(shù)字水印[M].王穎,黃志蓓,等,譯.電子工業(yè)出版社, 2003.
[3] 朱巧明,李培峰,吳嫻,朱曉旭,等.中文信息處理技術(shù)教程[M]. 北京:清華大學(xué)出版社, 2005
[4] 劉振華, 尹萍. 信息隱藏技術(shù)及其應(yīng)用[M]. 科學(xué)出版社, 2002, 11-35
[5] J. Cox, M. L. Miller and J. A Bloom Digital watermarking [M]. Morgan Kaufmann, 2002, 17-24.