王景中,張哲銘,武淳華
(1.北方工業大學 信息工程學院,北京100144;2.北京郵電大學 計算機學院,北京100876)
世界互聯網技術高速發展,媒體數字信息化使得信息通信和傳播更加方便高效,數字產品的可非法復制也變得越來越嚴重,如:未經他人同意非法拷貝,未經他人同意非法修改等。為了保護數字產品所有者以及使用者的利益不被受到侵害,不少研究學者提出了很多切實有效的方案。數字水印技術是在數字內容中嵌入隱藏的標記,這種標記是不可見的,只有通過專用的檢測工具才能提取,其應用于圖片,音樂和電影中,基本上不會損害原作品質量,因此,數字水印技術成為了信息安全領域的重要方向。
水印嵌入的方法有很多種,但大致分為兩種空間嵌入和變換域嵌入,大量的實驗證明在變換域中嵌入的水印信息要比在其他的大得多,而且具有相對的穩定性和不可覺察,數字水印的魯棒性和不可見性成為水印算法研究的主流方向。不少研究者提出將水印嵌入 (變換域)與圖像紋理分析相結合的方法,例如,基于圖像紋理復雜度的數字水印算法[2]、小波變換的共生矩陣的紋理分析[3],還有離散小波變換的紋理清晰度分析[4]等。不少自適應水印算法論文都是基于對圖像的紋理復雜度分析,進而產生相應最佳的嵌入強度。例如,基于分塊自適應水印算法研究[1]利用了在小波分解后的載體圖像的亮度平均值、熵值、方差作為嵌入強度的分類標準。某些算法是在小波變換中使用量化遺傳算法[5]、還有些算法是基于 HVS (human visual system)使用頻率、亮度、紋理復雜度等組成的復合公式計算視覺掩蔽性,使圖像的修改量的在一定范圍內不影響到圖像質量[6]。
本文算法是將紋理清晰度分析的思想引入到數字水印算法當中計算合適的嵌入強度,同時將載體圖像分塊,SVD分解,然后嵌入水印信息。
在水印圖像信息中各個像素點的相互關聯性較強,為了使水印信息不被覺察,更多的是避免水印信息遭受線性攻擊,將水印圖像按照一定的置亂算法,減少像素點之間的干擾。因此,需要對水印信息置亂。
對于圖像說,圖像置亂的方式有許多種,例如,Arnold置亂,混沌置亂,仿射變換置亂,幻方變換置亂,希爾伯特變換曲線置亂等。
本文選用了Arnold[1]變換,對水印進行置亂預處理來增加水印信息在載體圖像中的安全性。使得水印信息嵌入和提取具有很強的魯棒性和穩定性。
奇異值分解是一個線性分解以及實際應用的好方法,尤其是在最小二乘法問題上,它在圖像處理上已經得到了廣泛的應用,包括圖像壓縮、圖像隱藏、降噪和圖像水印,一個小的干擾源加入到圖像中去時,圖像的奇異值改變量不大。
假設A的大小為N*N,且r≤N,r為矩陣A的秩。
則A可以分解為

其中U和V是N×N正交矩陣,S是一個N×N的對角矩陣ui、vi是 U和V的列向量,si(i=1,2,3,4,…N)的奇異值滿足s1≥s2≥ … ≥sr=sr+1= … =sN=0。
紋理特征是反映圖像的嵌入水印信息多少的重要標志,如果圖像紋理越是復雜就表明紋理清晰度不夠而且隱藏更多的水印信息,反之,圖像紋理越是簡單,就表明紋理清晰,因此圖像嵌入水印信息的容量將會較少。因此,我們可以根據圖像的梯度分布走向和數值大小來判斷載體圖像區域的清晰度情況。
圖像梯度方向矩陣原理如圖1所示。

圖1 圖像梯度方向矩陣
選取源圖像的4*4作為圖像子塊,如圖每4個像素點最為一個小方格單元,按照公式 (5)計算每個單元的梯度

其中:Gh、Gr、Gd45、Gd135分別是水平,垂直、對角45°和135°的梯度方向值。取Gh、Gr、Gd45、Gd135這4個分量的最大值作為單元的梯度方向值,按照此方法我們可以計算出4*4的圖像子塊中不同梯度方向的數量,如果數量越大,就說明圖像的內容越無規則,紋理越復雜;反之,圖像內容越規則,紋理越平滑。
在整個M*N圖像上做統計,假設水平方向統計數,垂直方向統計數,對角方向統計數分別為 Nh、Nr、Nd45、Nd135。
定義小波分解后的各分量的權重因子為

對角線的權重因子p(d)包括45°和135°的紋理走向。
則定義在紋理分析基礎上的小波變換圖像清晰度評價函數為

首先預處理圖像,利用DWT對原始載體圖像兩次小波分解,然后對近似子帶分成4*4的子塊,然后式 (7)計算出各分塊的圖像紋理清晰度數值。本論文使用的是le-na灰度圖像,其圖像紋理清晰度數值分布在0-700不同區間內。根據分塊紋理清晰度不同數值,選擇不同的嵌入強度N,經過大量仿真實驗N的最佳值為見表1。

表1 JTwavelet取值范圍與N的對應關系
水印嵌入算法流程圖,如圖2所示。

圖2 水印嵌入算法流程
(1)利用Arnold對水印圖像置亂,一階小波分解后獲取二階低頻分量wm,并將其進行Arnold置亂處理得到Awm。
(2)將原始載體圖像,經過兩次小波分解,取近似子帶,并分解成4*4互不重疊的子塊 (subblock)。
(3)對4*4的圖像子塊做SVD奇異值分解處理,選擇分解后的S分量S_subblock。
(4)對每個4*4圖像子塊計算圖像紋理清晰度,并選擇適合的嵌入強度N。
(5)將水印分解置亂后的近似子帶分量嵌入到載體S分量的最大值 (即S(1,1))中去,式 (8)S'(1,1)=S(1,1)+N*Awm(i)(8)
S'為嵌入水印后圖像的S矩陣,S為原始圖像的S矩陣,Awm為水印經Arnold置亂后的信息。
(6)利用公式em_pict= U*S*VT和逆小波變換重構載體圖像。
水印提取算法流程圖,如圖3所示。

圖3 水印提取算法流程
(1)將嵌入水印后的圖像進行兩次小波變換,然后對近似子帶分成4*4互不重疊子塊,獲取對子塊奇異值分解后的S矩陣 。
(2)對 (1)中獲取的S矩陣與原始載體圖像作DWT變換,然后進過SVD分解的S矩陣按照式 (9)提取嵌入水印信息。
(3)重復 (1),(2)步驟直到所有的子塊被處理完。
(4)再利用逆小波變換來重構水印圖像。
(5)用Arnold反置亂處理,獲得提取的水印圖像

S’(1,1)為嵌入水印后的圖像的S分量;S(1,1)為原始載體圖像的S分量,N為嵌入強度;ext_info為提取的水印信息。
按照水印置亂的計算出水印圖像W’。用歸一化相關系數NC檢查水印的相似度

為了檢驗本算法的實用性和可靠性,采用在Matlab 2011a版本下做仿真實驗。本次實驗使用的設備是普通PC機一臺,操作系統為windows xp、使用的圖片大小為512*512單色圖像 (如圖4所示)和大小為64*64的單色水印圖像 (如圖5所示)。如圖6-圖12所示。


通過大量實驗所知:嵌入后的載體圖像的PSNR能夠達到70dB,直接提取水印時NC的數值也能達到0.9926.
本算法使用水印攻擊工具對嵌入水印的后的圖像分別進行了攻擊 (中值濾波、JPEG壓縮、PSNR、Rotation旋轉、Rescale放縮等),用來測試算法的魯棒性。并且采用峰值性噪比 (PSNR)來衡量提取水印圖像和原始載體圖像的相關性,相關性越高說明嵌入水印的圖像具有高保真度和水印信息的高不可見性,反之說明嵌入圖像和原始圖像差別很大。用歸一化互相關系數 (NC)來衡量提取水印和原始水印的相關性,相關性高表明提取的水印信息準確度高、錯誤少,反之正確度小,錯誤度高。
實驗結果參見表2。
從表2中可以得知:本文算法在PSNR,縮放,JPEG壓縮,中值濾波,剪切等攻擊方面,比較文獻 [1]來說要好,盡管不同的攻擊方法對水印信息提取產生了不同的影響,但是人眼都能分辨出水印信息內容。

表2 圖像水印的相關攻擊測試結果
本文算法借鑒了離散小波變換下紋理特征清晰度分析評價標準思想,利用圖像4*4分塊技術,依據每個分塊的梯度方向和數值大小判斷圖像塊的清晰度,同時將清晰度數值化,然后再根據清晰度數值JTwavelet與嵌入強度N的關系選擇合適的嵌入強度,因此在水印信息嵌入的過程中能較準確的實現選擇適當的嵌入強度。實現圖像水印嵌入的自適應性的功能,通過大量的實驗證明本文水印算法具有較強的魯棒性,能夠在PSNR,縮放,JPEG壓縮,中值濾波,剪切等攻擊方面抵抗性能較好,同時對于文獻 [1]的技術指標有了一定的提高,但是使用不同的載體圖片和嵌入不同的水印,以及采用不同的攻擊時,此算法存在一些隱性的誤差,在將來的研究還需要有待改進,此外,本算法屬于非盲提取。
[1]ZHAO Min,WANG Huiqin,LU Lin.Adaptive digital watermarking algorithm based on blocking and SVD [J].Computer Engineering and Design,2011.32 (4):1260-1263 (in Chinese).[趙敏,王慧琴,盧麟.基于分塊SVD自適應數字水印算法 [J].計算機工程與設計,2011.32 (4):1260-1263.]
[2]WANG Hongxiu,WANG Bing.Digital watermark algorithm based on image texture complexity [J].Computer Engineering,2011,37(17):102-104.[王洪秀,王冰.基于圖像紋理復雜度的數字水印算法 [J].計算機工程,2011,37 (17):102-104.]
[3]YAO Lei,WANG Bing.Digital watermarking algorithm based on IF [J].Computer Technology and Development,2008,18 (1):192-195(in Chinese).[姚磊,王冰.一種基于中頻的數字水印算法 [J].計算機技術與發展,2008,18 (1):192-195.]
[4]LIU Xingbao,YUAN Daocheng.Research on image definition criterion using wavelet transform based on the texture analysis[J].Scientific Instrument,2007,28(8):1509-1513 (in Chinese).[劉興寶,袁道成.基于紋理分析的小波變換圖像清晰度評 價 方 法 研 究 [J].儀 器 儀 表 學 報,2007,28 (8):1509-1513.]
[5]Jagadeesh B,Srinivas Kumar S,Raja Rajeswari K.Image Watermarking Scheme Using Singular Value Decomposition,Quantization and Genetic Algorithm [C]//International Conference on Signal Acquisition and Processing,2010:77-78.
[6]LIU Tao,XIAO Han.Adaptive digital watermarking algorithm based on wavelet transform image [J].Computer Applications,2010,27(3):1059-1067 (in Chinese).[劉濤、肖漢.基于小波變換的圖像自適應數字水印算法研究 [J].計算機應用研究,2010,27 (3):1059-1067.]
[7]XIAO Jun,WANG Ying.Study on watermarking algorithms based on block singular value decomposition [J].Journal of the Graduate School of the Chinese Academy of Sciences,2008,23 (3):373-376(in Chinese).[肖俊,王穎.基于塊奇異值分解的水印算法研 究 [J]. 中 國 科 學 院 研 究 生 院 學 報,2008,23 (3):373-376.]
[8]HUANG Yongliang.The best image scrambling degree of binary image based on Arnold transform [J].Journal of Computer Applications,2009,40 (2):475-483 (in Chinese). [黃永良.二值圖像Arnold變換的最佳置亂 [J].計算機應用,2009,40 (2):475-483.]
[9]LI Yaqin.Watermarking method using texture and edge character of image [J].Computer Engineering and Applications,2010(22):125-161 (in Chinese).[李亞琴.利用圖像紋理和邊緣特征的數字水印方法 [J].計算機工程與應用,2010(22):125-161.]
[10]WANG ben.An image waterm arking algorithm based ON DWT DCT And SVD [D].Beijing:BUPT,2010 (in Chinese). [王奔.基于DWT-DCT-SVD的圖像數字水印算法[D].北京:北京郵電大學,2010.]