晏 力
(重慶工商大學 計算機科學與信息工程學院,重慶 400067)
隨著計算機網(wǎng)絡(luò)的發(fā)展,數(shù)字多媒體得到廣泛的使用和傳播。而數(shù)字多媒體在傳播過程中被非法復制和篡改,使得數(shù)字作品的信息安全和版權(quán)保護成為迫切需要解決的問題。數(shù)字水印技術(shù)可以解決版權(quán)沖突,保全起訴非法侵權(quán)的證據(jù),從而成為知識產(chǎn)權(quán)保護和數(shù)字多媒體防偽的有效手段。目前,從水印嵌入的方法來看,可分為空間域(DCT)數(shù)字水印和變換域(DWT)數(shù)字水印。其中空域水印算法比較簡單,其魯棒性相對變換域較弱。因此我們提出將原始圖像進行離散余弦變換之后,取部分信息進行奇異值分解,將奇異值分解后的水印信息全部嵌入到原始圖像的分解矩陣里。通過大量的實驗研究,采用DCT和奇異值分解相結(jié)合的技術(shù),可以顯著提高水印的保密性,使得水印圖像具有很強的魯棒性,對于數(shù)字作品的版權(quán)保護具有極其重要的理論價值與經(jīng)濟效益價值。
DCT(Discrete Cosine Transform離散余弦變換)是數(shù)字圖像處理以及信號處理常用的一種正交變換,具有壓縮比高、誤碼率小、信息集中能力和計算復雜性綜合效果較好等優(yōu)點,是圖像編碼的核心技術(shù)之一。數(shù)字圖像處理中使用的是二維 DCT,設(shè)圖像為I={s(x,y),x,y=0,1,…,N-l},S(u,v)為變換域(頻域)函數(shù),S(x,y)為空域函數(shù),則二維離散余弦變換公式定義為:
它的IDCT(Inverse Discrete Cosine Transform離散余弦反變換)為:
圖像二維DCT變換(N取8或16)有許多優(yōu)點:圖像信號經(jīng)過變換后,變換系數(shù)幾乎不相關(guān),經(jīng)過反變換重構(gòu)圖像,信道誤差和量化誤差將象隨機噪聲一樣分散到塊中的各個像素中去,不會造成誤差累積;并且變換能將數(shù)據(jù)塊中的能量壓縮到為數(shù)不多的部分低頻系數(shù)中去(即DCT矩陣的左上角)。為了與JPEG壓縮標準相統(tǒng)一,先把圖像分成8×8的不同小塊,再分別對每一塊進行DCT變換,進而嵌入水印。
SVD(Singular Value Decomposition奇異值分解)是一種將矩陣對角化的數(shù)值方法,是線性代數(shù)中最有用和最有效的工具之一。它在統(tǒng)計分析,圖像處理,數(shù)字水印中被廣泛應用。從線性代數(shù)的角度看,一幅圖像可以看成是由許多非負標量組成的矩陣。若一幅圖像用A表示,定義為A∈Rm×n,其中R表示實數(shù)域。則矩陣A的奇異值分解定義如下:
其中,S是一個對角矩陣 diag(σ1,σ2,σ3,…,σr,0,…,0),對角線上的元素成為矩陣A的奇異值。r是A的秩,它等于且滿足σ1≥σ2≥σ3…≥σr>σr+1=…=σm=0。U和V分別為m×m和n×n的正交陣,U和V的每列分別稱為A的左奇異向量和右奇異向量。
對圖像矩陣做奇異值分解,得到的奇異值具有以下顯著的特性:圖像奇異值的穩(wěn)定性非常好,即當圖像被施加小的擾動時圖像的奇異值不會有很大的變化;奇異值對應于圖像的亮度特性,而奇異向量對則表征了圖像的幾何特性,奇異值所表現(xiàn)的是圖像的內(nèi)蘊特性而非視覺特性,反映的是圖像矩陣元素之間的關(guān)系;圖像分解得到的奇異值序列中第一個奇異值要比其它的大得多,忽略這些較小的奇異值項重構(gòu)的圖像質(zhì)量不會發(fā)生太大的退化。如果改變第一個較大的奇異值會導致圖像視覺質(zhì)量的嚴重下降。
此外,奇異值分解具有明顯的計算優(yōu)勢:數(shù)學背景清晰;可以直接解決非方陣;容易估計嵌入信息前后圖像誤差;水印嵌入位置和嵌入量也比較容易解決。SVD的這些特性有助于增強嵌入信息的不可見性和魯棒性。
為了說明方便,不妨取大小為M×N×8 bit的256級灰度圖像I作為原始圖像,取m×n×8 bit的灰度圖像W作為水印,該原始圖像恰好可以分成互不重疊的8×8的小塊。水印嵌入算法的流程如下:
(1)原圖像分塊處理。將原始圖像I(M×N)分成互不重疊的8×8的圖像塊Bij(i=1,2,…,M;j=1,2,…,N)。
(2)對分塊圖像進行DCT變換。對每個圖像塊進行 DCT變換Cij(i=1,2,…,M;j=1,2,…,N):
(3)對分塊DCT變換的系數(shù)矩陣進行SVD變換:
矩陣Cij的奇異值矩陣S=diag(σ1,σ2,…,σ8)是大小為8×8的非負對角陣,本水印嵌入算法就是將經(jīng)過處理后的水印信息嵌入到原始圖像的奇異值矩陣中,目的是提高數(shù)字圖像的穩(wěn)健性。
(4)對奇異值矩陣S=diag(σ1,σ2,…,σ8)進行水印信息嵌入:
其中α為水印嵌入的強度因子。根據(jù)實驗對比取α值為0.5時,可使數(shù)值變化更加明顯,在提取水印時可得到更好的效果,即有助于提高水印的魯棒性。Wi為水印字點陣信息控制符,當水印字點陣信息為l時Wi取l,否則Wi取值為-l。由于S對角陣的值按大小排列,考慮水印信息嵌入的不可見性和魯棒性,為調(diào)節(jié)控制水印強度α,取i=7,將水印信息嵌入到S[7,7]中。
(5)進行反SVD變換。A'=US'VT,A'即為嵌入含有版權(quán)信息水印后的分塊圖像。
(6)對每塊嵌入水印信息的圖像進行DCT反變換,然后合成水印圖像I'(圖1),I'=IDCT(A')。
圖1 水印嵌入算法框圖
水印檢測的流程如下:
(1)將待檢測的圖像I'進行分塊DCT變換,然后進行分塊SVD,產(chǎn)生分塊的對角陣S;
(2)與水印嵌入初始時一樣,對原始圖像I進行分塊DCT變換,然后進行分塊的SVD變換,產(chǎn)生分塊對角陣S1;
(3)將對角陣S1與S2的嵌入水印ω'i位ωi進行檢測比較,得到相應位的待檢測序列G';
其中:
(4)將提取的水印序列轉(zhuǎn)化為點陣圖像(圖2)。
圖2 水印提取算法框圖
為了驗證在此提出的算法,在Matlab環(huán)境下進行了大量的仿真實驗。實驗中選用的原始圖像為512×512×8 bit標準灰度圖像,數(shù)字水印采用64×96×8 bit的灰度圖像,嵌入強度為a=0.15。圖3給出了原始圖像和水印的圖像。
圖3 原始圖像(a)和原始水印(b)
對圖4-6經(jīng)受各種攻擊的圖像進行測試,計算它們的峰值信噪比,PSNR和相關(guān)系數(shù)NC見表1。
圖4 JPEG壓縮后的嵌有水印圖像以及提取的水印
圖5 加入椒鹽噪聲后的嵌有水印圖像以及提取的水印
圖6 剪切后的嵌有水印圖像以及提取的水印
表1 攻擊測試
雖然嵌有水印圖像經(jīng)過加噪、JPEG壓縮和剪切攻擊,但提取出來的水印輪廓仍然清晰可見;從表1可以看出,雖然嵌有水印圖像經(jīng)過各種攻擊后峰值信噪比PSNR比較低,但提取出來的水印的相關(guān)系數(shù)還是比較好(超過95%),并結(jié)合主觀判斷決定合法水印的存在。這些充分說明了本算法具有較強的魯棒性。
基于奇異值分解的DCT域數(shù)字圖像水印算法結(jié)合了空域算法的簡便、快捷和變換域較強的魯棒性、不可見性的特點,平衡了數(shù)字水印算法中的透明性和魯棒性,而且大大提高了嵌入水印的容量,進一步增強了信息的安全。
[1]劉瑞禎,譚鐵牛.基于奇異值分解的數(shù)字圖像水印方法[J].電子學報,2001,29(2):168-171
[2]孫圣和,陸哲明,牛夏牧.數(shù)字水印技術(shù)及應用[J].北京:科學出版社,2004
[3]魯業(yè)頻,李鳳亭,陳兆龍,朱仁義.離散余弦變換編碼的現(xiàn)狀與發(fā)展研究[J].通信學報,2004,25(2):106-118
[4]劉俊景,蔣華.一種基于離散余弦變換與奇異值分解的數(shù)字水印算法[J].微電子學與計算機,2007,24(10):78-82
[5]劉鋒,孫林軍.一種基于 DCT和 SVD的數(shù)字圖像水印技術(shù)[J].計算機應用,2005,25(8):1944-1947
[6]梁楓,王平.基于角點特征的高精度圖像配準算法[J].重慶理工大學學報:自然科學版,2010,24(02):101-103