劉緒崇,羅永,王建新,汪潔
(1. 中南大學 信息科學與工程學院,湖南 長沙 410083;
2. 湖南省公安廳 網絡安全保衛(wèi)與技術偵察總隊,湖南 長沙 410001;
3. 國防科技大學 理學院,湖南 長沙 410073)
數字水印[1]是指在數字化的數據內容中嵌入隱蔽的記號。數字水印技術是實現版權保護的一種有效方法,除了具備信息隱藏技術的一般特點外,還必須具有較強的頑健性、安全性和透明性。本文研究的是認證水印,通過圖像自身的特性和隱藏信息進行相關性檢測來實現圖像版權的認證。
傳統的嚴格采樣張量積小波[2]不具備平移不變性,而且只適合表示各向同性的奇異特征(或點狀奇異特征)。為了克服這一缺陷,法國學者 Pennec和Mallat于 2000年提出了第一代 Bandelet變換[3]。Bandelet變換提供了一種新的基于邊緣的圖像表示方法,能自適應地跟蹤圖像的幾何矢量流方向。理論上可以證明: 對于幾何正則圖像,采用Bandelet基函數可以實現最佳稀疏表示[3]。第一代Bandelet變換是非正交性的,而且在曲波變換(warp wavelet)時引入了邊界效應。而第二代Bandelet變換[4]由標準的正交小波所構成, 即先重組二維小波變換的系數,然后對重組后的二維小波系數執(zhí)行一維小波變換而實現, 它具有簡單、正交以及沒有邊界效應的特點。本文的思想是:先通過Bandelet提取圖像的幾何矢量線,再將幾何矢量線方向信息作為水印隱藏到圖像中。該算法對水印隱藏的容量和安全性有較高的要求。
目前很多研究者對于水印嵌入強度和容量做了許多研究,Servetto[5]把圖像的每個像素視為一個獨立的加性高斯白噪聲信道,利用并行高斯信道理論計算出圖像的水印容量[5]。有些研究者對于水印容量和檢測可靠性作了研究,并提出了圖像是局部獨立同分布的隨機過程,服從高斯分布[5,6]。通過對每個子帶進行分塊,再根據噪聲可見性函數并結合統計學3σ-規(guī)則確定噪聲可見性函數中的系數,對水印的嵌入功率進行自適應限定。這些方法為水印強度的確定提供了理論依據。但是其缺陷是需要加入人工干預的參數或者是經驗參數[5,6]。本文提出的噪聲強度算法,完全基于圖像的特征,無需經驗參數。
在圖像特征認證算法方面,目前有學者利用幾何多尺度分析進行圖像特征檢測以及信息隱藏算法的研究[7~10],這些算法能夠克服傳統的水印算法的很多缺陷,是水印研究的一個新的方向。文獻[11]利用小波變換的低頻系數實施均勻標量量化生成低頻特征圖像作為圖像認證的內容,該算法有較強的定位能力,但是抗JPEG壓縮能力較差。文獻[12]研究了基于半脆弱水印的內容級視頻認證算法,利用I幀內塊組之間能量不變的特點構造基于內容的特征碼。該算法直接利用了統計(能量)比例性,隱藏的特征是沒有具體的物理含義的,很難做出直觀的分析和判斷。文獻[13]提出了一種結合混沌和圖像分塊提升小波變換的多功能水印。其采用嵌入一種標識作為可見水印來實現圖像的認證,缺點是和需要保護的內容之間沒有聯系。文獻[14]提出了一種基于Bandelet的全頻域無損水印算法,算法采用的是零水印的思想,缺點是算法檢測了載體圖像的特征,沒有應用隱藏技術。本文提出了一種基于第二代Bandelet變換的認證水印算法,設計出了基于第二代Bandelet圖像幾何矢量線方向流特征的認證水印生成算法,構造了基于高斯分布統計模型的水印修改自適應噪聲可見強度算法,將認證水印信息隱藏于紋理豐富的子圖像,提高了嵌入水印圖像的主觀和客觀質量,通過檢測隱藏水印信息與從嵌入水印載體的幾何矢量線方向流進行相關性檢測,達到圖像認證的目的。實驗證明該算法有較強的抗JPEG壓縮能力和抗等高線化、素描特效和浮雕特效等圖像特效攻擊。
Pennec和Mallat[3]提出了Bandelet變換,定義了一種能表征圖像局部正則方向的幾何矢量線[9]。Pennec和Mallat 提出的Bandelet變換,充分利用了幾何圖像的正則性,但也存在如下2點缺陷:1)Bandelet 基函數不是全局正交的,重構圖像會出現邊緣效應。2) 算法運算量太大。為了克服上述缺陷,法國學者Peyre和Mallat于2005年提出了第二代Bandelet變換[4]。第二代Bandelet算法過程簡單,重構圖像沒有邊緣效應。
第二代Bandelet變換原理:先對圖像作規(guī)定級數的二維離散正交小波,然后分2種情況處理:1)對存在幾何矢量線的Bandelet塊沿幾何矢量線方向進行曲波變換(warp wavelet),將一維小波系數按Mallat規(guī)則重新排序為二維矩陣;2) 對不存在幾何矢量線的Bandelet塊保持原有小波系數。
采用第二代 Bandelet變換對小波系數進行分塊,在每個子塊中用直線逼近幾何矢量線,這使得幾何矢量線只需一個參數控制,該參數稱為幾何矢量線方向流,作為圖像的特征來構造認證水印。
給定一塊正方形區(qū)域 S,沿幾何矢量線方向 d重排 S內的小波系數, 得到一維信號。如果方向 d選擇合適,經一維小波變換可以對信號進一步處理使得非零系數個數顯著減少。如果S和d選擇不正確,經一維小波變換,量化后非零系數個數不會有顯著減少。區(qū)域 S內的最佳幾何矢量線方向是使得下面的Lagrangian函數取最小值的幾何矢量線方向。
其中,f?θ表示由量化后的Bandelet系數重構的一維信號,T為量化閾值, Rg表示編碼幾何矢量線所需比特數,RB表示編碼量化后的Bandelet系數所需比特數。λ是Lagrange乘子,按Pennec的優(yōu)化結果,實驗中取 λ = 3 /28。
對于尺寸為 L×L的小方塊,將圓周角[0, π)等角度離散為 L2-1個,即θ可能的取值為
圖1為圖像最佳幾何矢量線搜索實驗圖,實驗用圖是Barbara,圖1(b)是小波分解的一個高頻子圖像。
圖1 圖像包含幾何矢量線分塊子圖像
為了便于水印的特征提取和認證,將圖像采用固定分塊,然后利用Bandelet對圖像分塊進行幾何矢量線的檢測,在可能的方向上,作為信息隱藏的幾何矢量線方向的選擇限制在有限集8個方向上(如圖2所示,其中0和π為一直線,屬于同一方向)。
圖2 8個幾何矢量線方向
圖像幾何矢量線方向流的確定如圖3所示,首先將圖像分塊,然后對分塊圖像在每個方向上進行Bandelet變換,計算分塊圖像的 Lagrangian函數L( fθ-f?θ)。在8個方向中選擇 L ( fθ-f?θ)取值最小的方向作為該分塊圖像的幾何矢量線方向。將所有的分塊圖像的幾何矢量線方向找到,就構成整個圖像的幾何矢量線方向流。幾何矢量線方向流能有效的刻畫圖像的特征。
圖4是圖像幾何矢量線方向流實驗,如圖所示,圖4(a)和圖4(c)分別為2幅實驗用圖,圖4(b)和圖4(d)分別為4(a)和圖4(c)的幾何矢量線方向流圖像,圖4(e)為圖4(b)和圖4(d)的差值圖像,可以看出,方向流較好的刻畫了圖像的特征,并且具有較好的區(qū)分度。
圖4 圖像幾何矢量線方向流
設E和 E*為需要比較相關度的 2組數據,這里E和 E*實際上都是向量,相似度函數定義如下:
由相似度的定義,相似度越高越接近 1,完全相等時,相似度為1。
當數據受到很多特效攻擊以后,傳統的水印技術就已經完全失效了,其幾何矢量線方向流受到的影響相對很小。如圖 5所示的等高線化、素描特效和浮雕特效的圖像幾何矢量線方向流與原圖像的幾何矢量線方向流的相關度分別為ρ=0.858 3、ρ=0.913 4和ρ=0.862 8。
圖5 圖像幾何矢量線水印抗圖像特效攻擊
為了找到最佳的嵌入強度,兼顧頑健性和不可見性,利用圖像本身的特性,根據人類視覺系統(HVS) 的研究,噪聲可見性函數(NVF, noise visibility function)是反映圖像局部紋理掩蔽情況的函數,表示圖像中各像素對噪聲的敏感程度。如果把圖像視為非平穩(wěn)高斯隨機過程,也就是假設圖像是局部獨立同分布的隨機過程,則其服從高斯分布。
在嵌入圖像方向流信息之前,對圖像進行分塊,根據噪聲可見性函數 NVF來確定每個分塊的紋理豐富程度,找到適合隱藏信息的子圖像。設{B(i,j)|i = 0 ,1,… ,n - 1 , j = 0 ,1,… ,m -1}為局部分塊子圖像, B (i,j)為分塊子圖像B在(i,j)處的灰度值,則子圖像的局部均值和局部方差分別為
子圖像B的NVF定義為
NVF 函數取值范圍從0~1,當NVF函數值較小時表示像素幅值變化比較劇烈,可以允許較大的噪聲,即噪聲較不可見。當NVF函數值較大時,則表示對噪聲敏感。利用每個分塊的 fNVF(B)值來確定適合隱藏信息的子圖像,也就是紋理豐富的分塊圖像。設定一個閾值 Knvf,對于 { B | fNVF( B) < Knvf}的分塊的集合,將其作為可隱藏信息子圖像,如圖6所示。
圖6 可隱藏信息子圖像
設{x(i,j)|i = 0 ,1,… ,N - 1 , j = 0 ,1,… ,M -1}為整幅的圖像灰度值,則圖像的均值和方差分別為
設 S0和 S1分別為整幅圖像中紋理區(qū)域和平坦區(qū)域所允許的最大失真程度,其中
根據統計學中的3σ規(guī)則,圖像中幾乎99.73%的像素點的值小于S1。
其實采用每個分塊的均值和方差來確定 S0和S1更科學,隱藏效果更好,但是考慮到隱藏信息的過程會破壞圖像的灰度值,在檢測過程中需要計算S0和 S1。注意到隱藏信息前后的子圖像的均值和方差不一致,就帶來了提取信息的誤差,如果采用記錄每個分塊 S0和 S1的方法,則需要記錄的數據量過于龐大,因此本算法采用整幅圖像的均值方差來確定 S0和 S1,并將 S0和 S1作為提取水印密碼的一部分記錄下來。這樣既考慮到了圖像自身的紋理特性,也消除了提取信息中存在的誤差。
定義分塊B的允許噪聲強度Δ(B)為
式(8)中 S0和 S1分別為整幅圖像中紋理區(qū)域和平坦區(qū)域所允許的最大失真程度。
可以看出,在平坦區(qū)域NVF函數趨向于1,式(8)的第1項趨向于0,所以該分塊子圖像允許的失真主要取決于數值較小的 S1,即該像素允許修改的幅值較小。而在紋理復雜區(qū)域NVF函數趨向于 0,該像素處允許的失真主要取決于 S0,即該像素允許修改的幅值較大。因此,在紋理復雜區(qū)域能嵌入較多的水印能量,而在平坦區(qū)域嵌入較少的水印能量。
為了選取用于隱藏的奇異值,還需要使用可再現的偽隨機序列生成算法,本文應用Rabin方法和模運算來構造散列函數。由于RABIN利用大整數的開方取模運算,當大整數位數達到1 000位時,即使是千萬億次每秒的計算機也無能為力,因此,安全性極高。
圖7是應用Rabin方法獲取隨機位置的流程圖。
圖7 應用Rabin方法生成偽隨機序列
對整幅圖像中可以隱藏信息的子圖進行統一編號,取一個標識iID,隨機選取2個大的素數p、q,計算參數n pq= ,這里p和q是秘密的,n是公開的。p和q均有512bit。圖像的密碼設為K,xm為圖像需要隱藏的幾何方向流的比特數量,{X(i)}(其中i=0,1,2,…,N-1)為生成的圖像隱藏坐標。通過標識iID和公開的整數n就可以再現隱藏的圖像奇異值序列。
圖8 水印算法流程
隱藏信息坐標的確定也采用Rabin方法,在知道密碼 k和圖像標識 I Di的情況下可以將信息隱藏的位置再現出來。
圖8(a)所示的信息隱藏流程如下。
step1 對圖像分塊,對每個分塊圖像{B(i,j)|i = 0 ,1,… ,n - 1 , j = 0 ,1,… ,m -1},依據式(5)計算噪聲可見性函數 NVF值,根據預設的閾值Knvf,生成 { B | fNVF( B) < Knvf}的分塊的集合,將其作為可隱藏信息子圖像集。在實際的算法實現中,Knvf的選擇根據圖像本身子圖像特點,選擇fNVF(B)排序位于前 60%的分塊作為可隱藏信息子圖像集。其中 Knvf作為認證密碼記錄下來。
step2 對于隱藏信息的子圖像通過序列控制選出隱藏信息的分塊子圖像。
step3 對圖像進行統計處理得到整幅圖像中紋理區(qū)域和平坦區(qū)域所允許的最大失真程度S0和 S1,并進一步得到分塊的允許修改強度Δ( B )記為Δ。
step4 對分塊圖像作 Bandelet變換得到圖像幾何矢量線方向流(如本文2.2節(jié)所述),將其作為水印信息。
step5 將水印信息隱藏到圖像的灰度值中,選取一個隱藏信息分塊中的一點 B (i,j),隱藏方向流信息轉化為{0,1}序列,設需要隱藏的信息為e:
(注:“/”代表整除,“|·|”代表取絕對值)對灰度值作了Δ取整以后,再做e 的修改,由于判斷水印信息是以 為臨界點的,為了抗干擾,這里采用e 的修改。
需要說明一點的是,隱藏信息的過程不會破壞圖像的幾何矢量線方向,因為只是對很少的一部分像素作了修改,修改的幅度是滿足不可見性的。
如圖8(b)所示,圖像認證流程如下。
step1 Bandelet變換提取圖像方向流信息。
step2 再現隱藏信息的分塊和像素。
step3 檢測水印信息,將隱藏的圖像矢量線方向流信息提取出來,對于隱藏信息的灰度值 B (i,j),求解h= B(i,j)modΔ,判斷:如果≤h<Δ,則e=1;如果0≤h<,則e=0。
step4 對于提取出來的隱藏水印信息和用Bandelet變換提取的幾何矢量線方向流信息進行相關性檢測,從而實現對圖像的認證。
實驗采用512×512的標準灰度圖像,對圖像作8×8的分塊,每個方向流有8個方向可以選擇,從而可以用3bit的二進制數來記錄幾何矢量線方向流。以512×512的圖像為例,隱藏信息量約等于1.5k。圖5的實驗表明,該水印算法采用圖像幾何特性進行認證,在受到某些特殊攻擊的情況下,圖像的幾何特征仍然是保持良好的。因此本文采用攻擊前后圖像幾何矢量線方向流的相關性作為水印抗攻擊能力的指標,取相關度閾值為0.70(實驗經驗閾值),也就是說當矢量線方向流相關度大于或等于0.70時,圖像版權是認定有效的。實驗結果如圖9所示。
圖9 圖像幾何矢量線方向流隱藏和檢測實驗
圖9 中,原始圖像圖9(a)利用Bandelet變換得到圖像幾何矢量線方向流為圖9(b),將圖像幾何矢量線方向流信息隱藏以后得到圖 9(c)(PSNR=39.629),圖9(d)為從圖9(c)中恢復的方向流隱藏信息,圖9(e)為2個方向流圖像的差值??梢钥闯鲈撍惴梢詫D像的方向流信息隱藏并檢測出來,通過檢測2個方向流圖像的相關性,實現圖像的認證。隱藏方向流信息的圖像保持了較好的圖像質量,滿足不可見性。該水印方法通過圖像幾何矢量線方向流可以判斷出圖像分塊矩陣的紋理方向,是圖像的一個本征特性,能克服文獻[12]算法的認證信息無幾何含義的缺陷。
1) 模糊。
模糊會平滑圖像中的跳變部分,降低圖像的對比度。在實驗中采用高斯模糊,模糊運算的模板為實驗結果表明它對水印影響較小,當模糊16次時,檢測值ρ仍然可以達到0.804 0,如表1所示。
表1 水印抗模糊攻擊性能檢測
2) JEPG壓縮。
JEPG壓縮是一種常用的壓縮方式,一般水印只能抵抗質量數大于等于50的JEPG壓縮,而本文的算法對JEPG壓縮表現出較強的頑健性。圖像經過質量數為20的JEPG壓縮,檢測指仍然高達0.830 1,如表 2所示。從實驗可以看出該算法有較強的抗JPEG壓縮攻擊的能力,在抗JPEG壓縮攻擊的能力方面優(yōu)于文獻[11]的算法。
表2 水印抗壓縮操作性能檢測
3) 噪聲。
對于一般的水印算法,加噪聲對水印的影響是很大的。但是實驗表明,加入高斯噪聲對于水印影響較小,仍然可以很清晰判定版權,如表 3所示。
表3 水印抗高斯噪聲性能檢測
對于裁剪攻擊,由于其破壞了隱藏信息塊序列,并且這個序列是沒有記錄順序的,從而,無法再現隱藏信息的位置。這也是該算法的一個弱點,即不能抗裁剪攻擊。
本文提出了用Bandelet變換生成圖像幾何矢量線方向流的算法,應用統計模型構造出了自適應水印修改最大噪聲強度,通過最大噪聲強度篩選出含紋理信息較多的圖像分塊,并在這些分塊中進行信息隱藏。該算法有較強的抗JPEG和噪聲攻擊能力,保證了水印圖像的視覺質量和頑健性。
這種認證水印具有較強實用價值,它可以對數字圖像作品、商用數字信息進行保護和版權認證,其發(fā)展前景非常廣闊。
[1] Information Technology-JPEG 2000 Image Coding System-Part 8:JPSEC[S]. 2004.
[2] ZHANG B, JALAL M F, JEAN L. Wavelets, ridgelets, and curvelets for noise removal[J]. IEEE Trans on Image Processing, 2008,17(7):1093-1108.
[3] PENNEC E L, MALLAT S. Image compression with geometrical wavelets[A]. Proc of ICIP’ 2000[C]. Vancouver, Canada, 2000.661-664.
[4] PENNEC E L, MALLAT S. Sparse geometric image representation with Bandelets[J]. IEEE Trans on Image Processing, 2005,14(4):423-438.
[5] SERVETTO S D, PODILCHUK C I, RAMCHANDRAN K. Capacity issues in digital image watermarking[A]. IEEE Intl Conf on Image Processing[C]. Chicago, Illinois, USA, 1998.445-449.
[6] PEREIRA S, VOLOSHYNOVSKIY S, PUN T. Optimal transform domain watermark embedding via linear programming[J]. Signal Processing, 2001, 81(6):1251-1260.
[7] CELIK M U, SHARM G, TEKALP A M. Lossless watermarking for image authentication: a new framework and an implementation[J].IEEE Trans Image Process, 2006,15(4):1042-1049.
[8] NI Z C, SHI Y Q, ANSARI N, SU W. Reversible data hiding[J]. IEEE Trans Circuits and System for Video Technology, 2006, 16(3): 354-362.
[9] 焦李成, 譚山. 圖像的多尺度幾何分析: 回顧與展望[J]. 電子學報,2003, 31(12): 1975-1982.JIAO L C, TAN S. Development and prospest of image multiscale geometric analysis[J]. Acta Electronica Sinica, 2003, 31(12):1975-1982.
[10] YANG Y X, CHENG L Z, LUO Y. Bandelet union optimal matrix norms constructing lossless watermarking[A]. IEEE, CISIM07[C]. 2007.
[11] 和紅杰, 張家樹. 對水印信息篡改頑健的子嵌入水印算法[J]. 軟件學報, 2009, 20(2):437-450.HE H J, ZHANG J S. Self-embedding watermarking algorithm with robustess against watermark information alterations[J]. Journal of Software, 2009, 20(2): 437-450.
[12] 王小靜, 楊高波, 朱寧波. 基于半脆弱水印的H.264/AVC視頻流的內容級認證[J]. 通信學報, 2009,30(11):71-79.WANG X J, YANG G B, ZHU N B. Content authentication of H.264/AVC video stream based on semi-fragile watermarking[J].Journal on Communications, 2009, 30(11): 71-79.
[13] 朱從旭. 實現圖像版權通知、保護和內容認證的多功能水印[J]. 通信學報, 2009, 30(11A):101-106.ZHU C X. Multipurpose watermarking realizing image copuright notification, copyright protection and content authentication[J]. Journal on Communications, 2009, 30(11A): 101-106.
[14] 楊岳湘. 羅永. 葉昭暉等. 基于Bandelet與自適應矩陣范數的全頻域無損水印方法[J]. 計算機研究與發(fā)展, 2007, 44(12):1996-2003.YANG Y C LOU Y, YE Z H, et al. A complete frequency lossless watermarking method via bandelet and adaptive matrix norm[J]. Journal of Computer Research and Development, 2007, 44(12): 1996-2003.