林愛英, 吳莉莉, 蘇 金, 鄭寶周
(1.河南農業(yè)大學理學院,河南鄭州 450002;2.武漢大學信息管理學院,湖北武漢 430072)
數字水印技術是一個嶄新的研究領域,是涉及信息、信號處理、多媒體技術、計算機技術及密碼學的交叉學科[1]。目前水印嵌入方法大致可分為空域方法和變換域方法2類。從綜合性能對比來看,變換域方法更加優(yōu)越,未來的趨勢也當以變換域方法為主流。本文提出了一種基于分塊離散余弦變換(discrete cosine transform,簡稱DCT)的變換域水印嵌入方法。該算法在水印嵌入之前首先用哈達瑪矩陣對水印圖像進行預處理;然后對宿主圖像進行分塊DCT變換,在其DCT中頻系數上嵌入哈達瑪矩陣置亂后的水印;最后充分利用哈達瑪矩陣的正交性進行盲水印檢測。實驗結果表明,該算法對JPEG有損壓縮和常見的圖像處理有較強的魯棒性。
常用的基于空間像素坐標置亂的方法有A rnold置亂和幻方置亂。本文提出了一種用Hadamard矩陣[2]對水印圖像進行置亂的方法,即用Hadamard矩陣對水印圖像進行相乘運算,其變換的不是水印的空間像素坐標位置,而是水印的灰度大小。2階哈達碼矩陣H2為:
4階哈達碼矩陣H4為:
本文中采用的水印圖像是大小為64×64的二值圖像,Hadamard矩陣的大小也是64×64。在置換前二值(0和1)水印圖像首先映射為值是1和-1的二值圖像,便于Hadamard矩陣處理,置換后進行反變換恢復水印。圖1為原始水印圖像和用不同Hadamard矩陣對水印圖像置亂后的水印圖像。可以看出:采用Hadamard矩陣進行預處理之后的水印圖像,即使攻擊者通過某種方法獲得,也無法辨認出其具體意義,因而這種預處理對水印的安全性有一定程度的提升。
圖1 原始水印及其置亂后的圖像
按照上述方法產生的標準Hadamard矩陣,其行列元素的排列是具有一定規(guī)律的,圖1b即為采用標準Hadamard矩陣對水印進行置亂得到的水印圖像。為避免攻擊者得到該矩陣,可以首先對該矩陣的行列進行置換,再對水印圖像進行置亂,圖1c即為第1行和第64行置換、第2行和第63行置換、第3行和第62行置換……之后進行預處理得到的水印圖像??梢钥吹讲煌琀 adam ard矩陣置亂后的水印圖像有很大區(qū)別。Hadamard矩陣在水印提取時可作為密鑰來使用。
任何連續(xù)的實對稱函數的傅里葉變換中只含余弦項,DCT變換避免了傅里葉變換中的復數運算。數字圖像可以看作二維矩陣,使用二維離散余弦變換對其進行分析,可用(1)式、(2)式表示[3]。
圖像的DCT可以表示為:
圖像的離散余弦逆變換可以表示為:
其中,x,y,u,v=0,…,N-1;C(u)、C(v)為幅度系數,且有:
圖像信號經過DCT變換后,主要能量將集中到左上角低頻系數中,而右下角則包含圖像更多的細節(jié),并且變換系數幾乎不相關。在變換域嵌入水印再經過反變換后,水印信號分散到各個像素中,不會造成累積誤差。
由于靜止圖像壓縮編碼JPEG是基于分塊DCT變換的,所以利用分塊DCT變換將水印信息嵌入到圖像的頻域中,是常見的嵌入方法之一。對圖像進行分塊是將大小為N×N的原始圖像分成大小一致(設為m×m)且互不覆蓋的子塊,這樣的子塊共有將子塊記為Bi,其中例如,對256×256的原圖像分塊,可得到32×32個8×8的子塊,對每一個子塊進行二維離散余弦變換都可以得到一個8×8的頻域系數矩陣,這64個系數將按照0→1→2→3→4→…→63的Zigzag的順序由低頻到高頻逐漸過渡。由于視覺上人眼最敏感的部分是對應于DCT變換的低頻系數,所以要盡量保留低頻系數。嵌入水印時通常選擇頻率矩陣中頻系數的位置[4],對其系數作相應的調整,頻率矩陣中9→32的位置是較為合適的。
原始圖像記為I(x,y)(1≤x≤512,1≤y≤512),水印圖像記為J(p,q)(1≤p≤64,1≤q≤64),原圖像分塊記為Bpq(m,n)(1≤m≤8,1≤n≤8),Bpq(m,n)經DCT變換后記為Bdpq(m,n),嵌入水印的分塊記為Bdpq′(m,n),嵌入強度記為a,提取得到的水印記為J′(p,q)。
將水印嵌入到DCT域的中頻部分,選擇調整Bd(4,3)、Bd(3,2)2個系數,就可得到嵌入水印的圖像I′。若J(p,q)=1,使Bd(4,3)-Bd(3,2)>a;若J(p,q)=-1,使Bd(3,2)-Bd(4,3)>a。
該嵌入算法主要包括2部分:①J(p,q)=1時,Bd(4,3)>Bd(3,2);J(p,q)=-1時,Bd(4,3)≤Bd(3,2);通過條件判斷將水印嵌入原圖的離散余弦變換系數中。②使|Bd(4,3)-Bd(3,2)|≥a,通過選擇嵌入系數a保證水印的魯棒性和不可見性。由嵌入算法可知,這里采取的是間接水印嵌入方法[5]。
另外在嵌入水印前,充分利用Hadamard矩陣正交性對水印圖像進行置亂處理,可以增強水印圖像的安全性。
上述嵌入算法提取水印時不需要原圖像的參與,是一種盲水印提取算法,提取水印更加方便[6];同時可避免復雜的除法運算,直接比較DCT變換后2個中頻系數的大小即可,提取過程更加準確、快捷。提取過程如下:
(1)讀入待檢測圖像。
(2)將待檢測圖像按嵌入時的分塊方法分成若干個互不覆蓋的大小為8×8的子塊。
(3)對各子塊進行DCT變換。
(4)比較DCT中頻的2個系數的大小,即
若Bd′(4,3)≤Bd′(3,2),令J′(p,q)=-1;
若Bd′(4,3)>Bd′(3,2),令J′(p,q)=1。
(5)利用Hadamard矩陣中各行和各列的正交性,用嵌入時的H adamard矩陣對J′(p,q)進行相乘,得到提取的水印圖像。
本文采用大小為512×512、灰度級為256、類型為BMP的Lena圖像作為原始圖像,大小為64×64的含有“河南農大”字樣的二值圖像作為水印圖像進行實驗。用峰值信噪比(Peak Signal Noise Ratio,簡稱PSNR)來衡量嵌入水印后載體圖像質量,用歸一化互相關系數(Normalized Correlation,簡稱NC)來衡量提取水印與原始水印的相似性[7]。
其中,I(x,y)、I′(x,y)分別表示原始圖像和嵌入水印后的圖像的灰度值,圖像的大小是N×N;PSNR的單位是dB。
其中,J(u,v)、J′(u,v)分別表示原水印圖像和提取得到的水印圖像。
圖2是嵌入水印之后的Lena圖像及提取出的水印圖像,其峰值信噪比PSNR為41.089,由此可以看出嵌入水印對原圖的改變并不明顯;而其NC值為1,這說明在沒有攻擊情況下,可以非常完好地提取嵌入的水印。圖2的實驗結果表明了所提出方法的可行性。
圖2 嵌入水印后圖像及提取的水印
對嵌入水印的Lena圖像進行JPEG壓縮攻擊,在壓縮因子為40的情況下,可以很完好地提取水印;在壓縮因子為25時,提取出的水印有一定變化,但仍有效,如圖3所示。
圖3 JPEG壓縮后嵌入水印的圖像及提取的水印
對水印圖像添加高斯和椒鹽噪聲,可以在圖像改變較大的情況下提取出與原水印相似程度較高的水印,如圖4所示。
圖4 噪聲攻擊后嵌入水印的圖像及提取的水印
對水印圖像進行均值濾波,由于在嵌入水印時采用的是相鄰系數的平均值,被攻擊時均值改變較小,因此對于這類攻擊具有較好的魯棒性,如圖5所示。
圖5 均值濾波后嵌入水印的圖像及提取的水印
表1給出了各種攻擊方式下的實驗結果。
表1 各種攻擊方式的實驗結果
由表1可以看出,本文采用的水印嵌入策略,很好地滿足了數字水印的不可見性和抗攻擊性[8],除JPEG壓縮外,在高斯模糊攻擊、均值濾波、添加噪聲等在人類視覺系統(tǒng)中圖像明顯改變的攻擊下,也展示了很好的魯棒性。需要指出的是,本文提出的方法,其目的是改變水印各個像素的大小,相對于傳統(tǒng)的A rnold置亂方法,即對水印圖像的空間位置置亂的方法,其抗剪切性能力較差。為增強算法的抗剪切能力,可以采用H adamard矩陣置亂和A rnold置亂相結合的方法,其抗攻擊能力會有顯著的提高。
本文基于Hadamard矩陣對水印圖像進行置亂的方法,把擴頻通信理論應用到信息隱藏領域,將意義明確、標識性強的水印圖像經過Hadamad矩陣正交置亂之后,嵌入分塊DCT變換后的中頻系數部分。為增強水印的安全性,首先對Hadamard矩陣進行適當的行列置換,將置換后的Hadamard矩陣作為密鑰保存,以便在水印提取時使用。仿真結果證明該方法能夠抵抗多種攻擊,具有很好的魯棒性,對于靜態(tài)圖像的版權保護具有很好的實用性。
[1] 潘 蓉.數字圖像的盲水印技術研究[D].西安:西安電子科技大學計算機學院,2005.
[2] 郭梯云,鄔國揚,李建東.移動通信[M].第4版.西安:西安電子科技大學出版社,2005:74-76.
[3] Gonzalez R C,Woods R E.數字圖像處理[M].阮秋琦,阮宇智,譯.第2版.北京:電子工業(yè)出版社,2003:378-379.
[4] Barni M,Bartolini F,Cappellini V A.DCT-domain system for robust image w atermarking[J].Signal Processing,1999,66(3):357-372.
[5] 丁 瑋.基于離散余弦變換的數字水印圖像[J].北方工業(yè)大學學報,1999,11(3):71-75.
[6] 曹 薇,高 雋,胡學友.一種有效的圖像盲水印算法[J].合肥工業(yè)大學學報:自然科學版,2004,27(4):870-873.
[7] Dell E J.Digital w atermarking algorithm sand applications[J].Signal Processing M agazine,2001,18(4):33-46.
[8] 朱希安,郭明華.基于直流分量和低頻分量的DCT域數字水印嵌入算法[J].遼寧大學學報:自然科學版,2007,34(1):20-24.