王景中,張哲銘,武淳華
(1.北方工業(yè)大學(xué) 信息工程學(xué)院,北京100144;2.北京郵電大學(xué) 計(jì)算機(jī)學(xué)院,北京100876)
世界互聯(lián)網(wǎng)技術(shù)高速發(fā)展,媒體數(shù)字信息化使得信息通信和傳播更加方便高效,數(shù)字產(chǎn)品的可非法復(fù)制也變得越來越嚴(yán)重,如:未經(jīng)他人同意非法拷貝,未經(jīng)他人同意非法修改等。為了保護(hù)數(shù)字產(chǎn)品所有者以及使用者的利益不被受到侵害,不少研究學(xué)者提出了很多切實(shí)有效的方案。數(shù)字水印技術(shù)是在數(shù)字內(nèi)容中嵌入隱藏的標(biāo)記,這種標(biāo)記是不可見的,只有通過專用的檢測工具才能提取,其應(yīng)用于圖片,音樂和電影中,基本上不會損害原作品質(zhì)量,因此,數(shù)字水印技術(shù)成為了信息安全領(lǐng)域的重要方向。
水印嵌入的方法有很多種,但大致分為兩種空間嵌入和變換域嵌入,大量的實(shí)驗(yàn)證明在變換域中嵌入的水印信息要比在其他的大得多,而且具有相對的穩(wěn)定性和不可覺察,數(shù)字水印的魯棒性和不可見性成為水印算法研究的主流方向。不少研究者提出將水印嵌入 (變換域)與圖像紋理分析相結(jié)合的方法,例如,基于圖像紋理復(fù)雜度的數(shù)字水印算法[2]、小波變換的共生矩陣的紋理分析[3],還有離散小波變換的紋理清晰度分析[4]等。不少自適應(yīng)水印算法論文都是基于對圖像的紋理復(fù)雜度分析,進(jìn)而產(chǎn)生相應(yīng)最佳的嵌入強(qiáng)度。例如,基于分塊自適應(yīng)水印算法研究[1]利用了在小波分解后的載體圖像的亮度平均值、熵值、方差作為嵌入強(qiáng)度的分類標(biāo)準(zhǔn)。某些算法是在小波變換中使用量化遺傳算法[5]、還有些算法是基于 HVS (human visual system)使用頻率、亮度、紋理復(fù)雜度等組成的復(fù)合公式計(jì)算視覺掩蔽性,使圖像的修改量的在一定范圍內(nèi)不影響到圖像質(zhì)量[6]。
本文算法是將紋理清晰度分析的思想引入到數(shù)字水印算法當(dāng)中計(jì)算合適的嵌入強(qiáng)度,同時(shí)將載體圖像分塊,SVD分解,然后嵌入水印信息。
在水印圖像信息中各個(gè)像素點(diǎn)的相互關(guān)聯(lián)性較強(qiáng),為了使水印信息不被覺察,更多的是避免水印信息遭受線性攻擊,將水印圖像按照一定的置亂算法,減少像素點(diǎn)之間的干擾。因此,需要對水印信息置亂。
對于圖像說,圖像置亂的方式有許多種,例如,Arnold置亂,混沌置亂,仿射變換置亂,幻方變換置亂,希爾伯特變換曲線置亂等。
本文選用了Arnold[1]變換,對水印進(jìn)行置亂預(yù)處理來增加水印信息在載體圖像中的安全性。使得水印信息嵌入和提取具有很強(qiáng)的魯棒性和穩(wěn)定性。
奇異值分解是一個(gè)線性分解以及實(shí)際應(yīng)用的好方法,尤其是在最小二乘法問題上,它在圖像處理上已經(jīng)得到了廣泛的應(yīng)用,包括圖像壓縮、圖像隱藏、降噪和圖像水印,一個(gè)小的干擾源加入到圖像中去時(shí),圖像的奇異值改變量不大。
假設(shè)A的大小為N*N,且r≤N,r為矩陣A的秩。
則A可以分解為
其中U和V是N×N正交矩陣,S是一個(gè)N×N的對角矩陣ui、vi是 U和V的列向量,si(i=1,2,3,4,…N)的奇異值滿足s1≥s2≥ … ≥sr=sr+1= … =sN=0。
紋理特征是反映圖像的嵌入水印信息多少的重要標(biāo)志,如果圖像紋理越是復(fù)雜就表明紋理清晰度不夠而且隱藏更多的水印信息,反之,圖像紋理越是簡單,就表明紋理清晰,因此圖像嵌入水印信息的容量將會較少。因此,我們可以根據(jù)圖像的梯度分布走向和數(shù)值大小來判斷載體圖像區(qū)域的清晰度情況。
圖像梯度方向矩陣原理如圖1所示。
圖1 圖像梯度方向矩陣
選取源圖像的4*4作為圖像子塊,如圖每4個(gè)像素點(diǎn)最為一個(gè)小方格單元,按照公式 (5)計(jì)算每個(gè)單元的梯度
其中:Gh、Gr、Gd45、Gd135分別是水平,垂直、對角45°和135°的梯度方向值。取Gh、Gr、Gd45、Gd135這4個(gè)分量的最大值作為單元的梯度方向值,按照此方法我們可以計(jì)算出4*4的圖像子塊中不同梯度方向的數(shù)量,如果數(shù)量越大,就說明圖像的內(nèi)容越無規(guī)則,紋理越復(fù)雜;反之,圖像內(nèi)容越規(guī)則,紋理越平滑。
在整個(gè)M*N圖像上做統(tǒng)計(jì),假設(shè)水平方向統(tǒng)計(jì)數(shù),垂直方向統(tǒng)計(jì)數(shù),對角方向統(tǒng)計(jì)數(shù)分別為 Nh、Nr、Nd45、Nd135。
定義小波分解后的各分量的權(quán)重因子為
對角線的權(quán)重因子p(d)包括45°和135°的紋理走向。
則定義在紋理分析基礎(chǔ)上的小波變換圖像清晰度評價(jià)函數(shù)為
首先預(yù)處理圖像,利用DWT對原始載體圖像兩次小波分解,然后對近似子帶分成4*4的子塊,然后式 (7)計(jì)算出各分塊的圖像紋理清晰度數(shù)值。本論文使用的是le-na灰度圖像,其圖像紋理清晰度數(shù)值分布在0-700不同區(qū)間內(nèi)。根據(jù)分塊紋理清晰度不同數(shù)值,選擇不同的嵌入強(qiáng)度N,經(jīng)過大量仿真實(shí)驗(yàn)N的最佳值為見表1。
表1 JTwavelet取值范圍與N的對應(yīng)關(guān)系
水印嵌入算法流程圖,如圖2所示。
圖2 水印嵌入算法流程
(1)利用Arnold對水印圖像置亂,一階小波分解后獲取二階低頻分量wm,并將其進(jìn)行Arnold置亂處理得到Awm。
(2)將原始載體圖像,經(jīng)過兩次小波分解,取近似子帶,并分解成4*4互不重疊的子塊 (subblock)。
(3)對4*4的圖像子塊做SVD奇異值分解處理,選擇分解后的S分量S_subblock。
(4)對每個(gè)4*4圖像子塊計(jì)算圖像紋理清晰度,并選擇適合的嵌入強(qiáng)度N。
(5)將水印分解置亂后的近似子帶分量嵌入到載體S分量的最大值 (即S(1,1))中去,式 (8)S'(1,1)=S(1,1)+N*Awm(i)(8)
S'為嵌入水印后圖像的S矩陣,S為原始圖像的S矩陣,Awm為水印經(jīng)Arnold置亂后的信息。
(6)利用公式em_pict= U*S*VT和逆小波變換重構(gòu)載體圖像。
水印提取算法流程圖,如圖3所示。
圖3 水印提取算法流程
(1)將嵌入水印后的圖像進(jìn)行兩次小波變換,然后對近似子帶分成4*4互不重疊子塊,獲取對子塊奇異值分解后的S矩陣 。
(2)對 (1)中獲取的S矩陣與原始載體圖像作DWT變換,然后進(jìn)過SVD分解的S矩陣按照式 (9)提取嵌入水印信息。
(3)重復(fù) (1),(2)步驟直到所有的子塊被處理完。
(4)再利用逆小波變換來重構(gòu)水印圖像。
(5)用Arnold反置亂處理,獲得提取的水印圖像
S’(1,1)為嵌入水印后的圖像的S分量;S(1,1)為原始載體圖像的S分量,N為嵌入強(qiáng)度;ext_info為提取的水印信息。
按照水印置亂的計(jì)算出水印圖像W’。用歸一化相關(guān)系數(shù)NC檢查水印的相似度
為了檢驗(yàn)本算法的實(shí)用性和可靠性,采用在Matlab 2011a版本下做仿真實(shí)驗(yàn)。本次實(shí)驗(yàn)使用的設(shè)備是普通PC機(jī)一臺,操作系統(tǒng)為windows xp、使用的圖片大小為512*512單色圖像 (如圖4所示)和大小為64*64的單色水印圖像 (如圖5所示)。如圖6-圖12所示。
通過大量實(shí)驗(yàn)所知:嵌入后的載體圖像的PSNR能夠達(dá)到70dB,直接提取水印時(shí)NC的數(shù)值也能達(dá)到0.9926.
本算法使用水印攻擊工具對嵌入水印的后的圖像分別進(jìn)行了攻擊 (中值濾波、JPEG壓縮、PSNR、Rotation旋轉(zhuǎn)、Rescale放縮等),用來測試算法的魯棒性。并且采用峰值性噪比 (PSNR)來衡量提取水印圖像和原始載體圖像的相關(guān)性,相關(guān)性越高說明嵌入水印的圖像具有高保真度和水印信息的高不可見性,反之說明嵌入圖像和原始圖像差別很大。用歸一化互相關(guān)系數(shù) (NC)來衡量提取水印和原始水印的相關(guān)性,相關(guān)性高表明提取的水印信息準(zhǔn)確度高、錯(cuò)誤少,反之正確度小,錯(cuò)誤度高。
實(shí)驗(yàn)結(jié)果參見表2。
從表2中可以得知:本文算法在PSNR,縮放,JPEG壓縮,中值濾波,剪切等攻擊方面,比較文獻(xiàn) [1]來說要好,盡管不同的攻擊方法對水印信息提取產(chǎn)生了不同的影響,但是人眼都能分辨出水印信息內(nèi)容。
表2 圖像水印的相關(guān)攻擊測試結(jié)果
本文算法借鑒了離散小波變換下紋理特征清晰度分析評價(jià)標(biāo)準(zhǔn)思想,利用圖像4*4分塊技術(shù),依據(jù)每個(gè)分塊的梯度方向和數(shù)值大小判斷圖像塊的清晰度,同時(shí)將清晰度數(shù)值化,然后再根據(jù)清晰度數(shù)值JTwavelet與嵌入強(qiáng)度N的關(guān)系選擇合適的嵌入強(qiáng)度,因此在水印信息嵌入的過程中能較準(zhǔn)確的實(shí)現(xiàn)選擇適當(dāng)?shù)那度霃?qiáng)度。實(shí)現(xiàn)圖像水印嵌入的自適應(yīng)性的功能,通過大量的實(shí)驗(yàn)證明本文水印算法具有較強(qiáng)的魯棒性,能夠在PSNR,縮放,JPEG壓縮,中值濾波,剪切等攻擊方面抵抗性能較好,同時(shí)對于文獻(xiàn) [1]的技術(shù)指標(biāo)有了一定的提高,但是使用不同的載體圖片和嵌入不同的水印,以及采用不同的攻擊時(shí),此算法存在一些隱性的誤差,在將來的研究還需要有待改進(jìn),此外,本算法屬于非盲提取。
[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自適應(yīng)數(shù)字水印算法 [J].計(jì)算機(jī)工程與設(shè)計(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.[王洪秀,王冰.基于圖像紋理復(fù)雜度的數(shù)字水印算法 [J].計(jì)算機(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).[姚磊,王冰.一種基于中頻的數(shù)字水印算法 [J].計(jì)算機(jī)技術(shù)與發(fā)展,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).[劉興寶,袁道成.基于紋理分析的小波變換圖像清晰度評 價(jià) 方 法 研 究 [J].儀 器 儀 表 學(xué) 報(bào),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).[劉濤、肖漢.基于小波變換的圖像自適應(yīng)數(shù)字水印算法研究 [J].計(jì)算機(jī)應(yīng)用研究,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]. 中 國 科 學(xué) 院 研 究 生 院 學(xué) 報(bào),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].計(jì)算機(jī)應(yīng)用,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).[李亞琴.利用圖像紋理和邊緣特征的數(shù)字水印方法 [J].計(jì)算機(jī)工程與應(yīng)用,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的圖像數(shù)字水印算法[D].北京:北京郵電大學(xué),2010.]