金淵智
(三門峽職業技術學院 信息工程系,河南 三門峽 472000)
隨著計算機和網絡技術的飛速發展,多媒體被廣泛地運用到人們社會生活中的各個領域.同時,多媒體產品的安全問題已成為目前一個十分重要而又富有挑戰性的研究課題.數字水印技術是實現數字產品版權保護的一種有效方法,它將信息嵌入到數字多媒體產品中,用于版權保護、內容檢驗或提供其它信息.它目前已成為信息安全領域的一個研究熱點,也是信息隱藏研究領域的一種重要分支.
基于DCT 變化的數字水印是目前研究的熱點.圖像在經8*8分塊DCT 變換后的系數分為DC 系數(1個)和AC(63個)系數,根據數據的大小可知,圖像的能量主要集中在系數矩陣的左上角,右下角的系數基本上全部為“0”,這就是DCT 系數的特點.根據這個特點,當前大部分算法都是基于DC 系數或者是基于AC 系數進行嵌入的.黃繼武在文獻[1]中總結了利用DC 系數嵌入和AC 系數嵌入的優劣性,同時指出,從穩健性角度分析,DC分量更適合用來嵌入水印,AC分量可嵌入的水印容量較大.在此基礎上又出現了大量的DCT域水印算法[2-5].由于上述水印嵌入方法都是單一的采用DC分量或者AC分量,使得算法具有一定的局限性,因此,本文提出了選擇DC 系數和AC 中低頻系數共同作為水印嵌入的位置的算法.同時結合HVS的亮度掩蔽和紋理掩蔽的兩大特性,將圖像塊(8*8)分為3 大類,以便在每類中嵌入不同強度的水印信息,實現水印的自適應嵌入.
關于HVS的研究結果,在水印嵌入時,對于嵌入強度來說會存在一個臨界值(T),如果嵌入強度大于T的話,攜帶水印的圖像就會出現明顯的圖像失真;如果小于這個臨界值,人類視覺系統就無法感知出載體圖像中存在水印信號,這樣就滿足了水印的不可見性.T的取值通常情況下會受到圖像的背景照度、背景紋理以及邊緣等因素的影響,如果圖像背景亮度越強、紋理越復雜,那么T的值也就大[6-7],相反T的值就越小.
載體圖像背景亮度即DCT 塊的DC分量,圖像紋理復雜度即塊內方差.塊內方差可由公式(1)求出:


這里f(x,y)為每個圖像塊在(x,y)處的像素值.
結合HVS的特點和文獻[8],我們把圖像塊分為三類,以便迭加不同強度的水印分量.第1類(R1)平均灰度較低(暗),且灰度變化比較平滑,HVS 對其中象素值的改變較為敏感,迭加的水印分量的強度應最弱;第3類(R3)平均灰度較高,且紋理復雜(或存在邊緣),HVS 對其中象素值的改變敏感性最弱,迭加的水印分量的強度應最強;余下的為第2類(R2).
水印圖像置亂是一種常見的水印加密方法,它使得合法使用者可以自由控制算法的選擇、參數的選擇以及使用隨機數技術,這就加大了攻擊者非法破譯的難度.由于Arnold 算法易于實現,其置亂次數可以為隱藏系統提供密鑰(Key),從而增強了系統的安全性和保密性,同時該算法實現的置亂克服了隨機置亂的不可恢復性.故本文采用Arnold 變換對水印信息進行置亂.
對M*M的水印圖像按照公式(3)進行Arnold 變換,

再將得到的矩陣按列優先的方式轉換為一維二進制序列m,即下面要嵌入的信息序列m.
水印的嵌入基本流程如圖1,算法的基本思路是:將原始圖像分割成不相交的8*8 子塊,再對每個分塊進行DCT 變換,利用HVS 特性對分塊進行分類,最后在DCT 域的DC 和AC 系數上嵌入水印.

圖1 自適應水印嵌入算法框圖
采取以下步驟完成水印的嵌入:
①將水印圖像按照上一小節的方法進行預處理,得到水印圖像的一維序列m.



設待測水印圖像為A*,則水印的提取過程如下:

圖2 水印提取算法的框圖
具體的提取方法如下:

③對于每一塊的DC 系數(公式(6))和AC 系數(公式(7))進行分別提取:

④根據得到的λ*和d*值運用式(8)進行比較判斷得到水印信號.

⑤將上述恢復出的一維水印序列m*變成二維序列,再利用Arnold 變換具有周期性的特點進行逆置亂變換,得到最終的提取結果.
本文所有的實驗均在Matlab2010 上完成,處理器Intel Celeron 1.8 GHz,內存1 GB,操作系統為Windows 2003.在實驗中選用的載體圖像是256*256的Lena 圖像(如圖3(a)所示),水印信息為32*32的二值圖像(如圖3(b)所示).根據嵌入方法可知,這樣做已經達到了水印信息的最大嵌入量,即256*256的Lena 圖像最多可以嵌入1024 比特的信息,這樣更能說明該水印算法具有良好的不可見性以及具有較高的魯棒性.我們采用峰值信噪比(PSNR)評價嵌入水印后灰度圖像與原始灰度圖像間的失真度,并采用歸一化相關系數(NC)來定量的評價提取的水印與原始水印之間的相似度.

圖3 水印嵌入前后對比

圖4 水印不可見性及檢測
對水印不可見性進行測試,圖4 是水印嵌入實例.圖4(a)是嵌入了水印的原始宿主圖像.與圖3(a)相比,在視覺上觀察不出有任何明顯的變化,同時計算PSNR 為18.4251,因此算法具有良好的不可見性,說明本算法是有效的.
為了驗證算法的魯棒性,本文還做了鹽椒噪聲、JPEG 壓縮、高斯低通濾波和剪切攻擊的提取實驗,實驗的參數和結果如表1所示.與此同時,通過計算水印提取的時間,也說明了該算法具有較高的執行效率.

表1 各類攻擊下的實驗數據匯總
針對不同塊分類R1、R2 和R3 我們分別采用不同的嵌入強度λ 和d(2,6,10)實現了水印的自適應嵌入,為了簡便起見,在同一類中和的取值相同.由于本文采用的是有意義的水印信息,即便是當NC的值小于0.5 時,也能通過主觀判斷來獲得正確的水印信息,而NC的值越接近1,則表明該水印算法的效果越好.
本文首先介紹了DCT 系數的特點和HVS的研究成果,然后研究前人的水印算法的基礎上,提出了結合DC 系數和AC 系數協同實現的自適應水印嵌入方案.最后,通過仿真實驗,主觀感覺無法感知到水印的存在,表明水印具有不可見性,在魯棒性方面,當含水印圖像遭受各種信號處理和噪聲攻擊的情況下,提取時依然具有較強的穩健性和魯棒性.
[1]黃繼武,Yun Q.Shi,程衛東.DCT 域圖像水印:嵌入對策和算法[J].電子學報,2000,28(4):57-60.
[2]閆麗君,康寶生,岳曉菊.改進的基于DCT的自適應水印算法[J].計算機工程與應用,2011,47(5)186-187.
[3]李昊,呂建平,楊芳芳.基于正負量化的DCT 域數字圖像盲水印算法研究[J].計算機工程與應用,2011,47(8)197-200.
[4]王靜,王 冰.基于DCT 域和紋理復雜度的圖像水印算法[J].計算機工程,2011,37(18)148-150.
[5]黃繼武,Yun Q.Shi,姚若河.基于塊分類的自適應圖像水印算法[J].中國圖形圖像學報,1999,4(8)640-643.
[6]Watson A B.DCT quantization matrices visually optimized for individual images[J].In:Proc.of SPIE:Human Vision ,Visual Processing and Digital Display IV,Washington:SPIE,1993,1913:202-216.
[7]Jayant N,Johnston J,Safranek R.Signal compression based on model of human perception[J].Proceedings of the IEEE,1993,81(10):1385-1421.
[8]黃繼武,Yun Q.Shi,一種自適應圖像水印算法[J].自動化學報,1999,25(4):476-482.