薛宏飛,遲萬達,劉曉欣
(山東科技大學,青島 266590)
隨著數字化和網絡化進程的推進,數字媒體的安全性以及版權保護問題日益突出,數字水印作為版權保護的一種有效解決方案成為研究熱點[1]。傳統(tǒng)數字水印算法是在原始載體圖像中加入私有的版權信息[2]。零水印則突破了傳統(tǒng)方式,它利用提取的載體圖像特征與私有版權信息生成零水印,這種非嵌入的方式從本質上解決了魯棒性與隱蔽性之間的均衡問題。
自其概念提出以來[3],在眾多學者的推動下,零水印算法一直在發(fā)展前進。楊鵬[4]提出了一種利用DCT系數正負符號來構造零水印特征矩陣的算法,該算法提出相位信息對于圖像理解更為重要,以頻域系數符號反映相位信息從而構建過渡矩陣。結果表明其對于小幅度旋轉與其他攻擊等抵抗性較強。朱春偉[5]等提出一種結合Contourlet變換和Schur分解的數字零水印算法,利用子塊Shcur分解的最大特征值構造零水印,實驗數據表明該算法對于抗旋轉與壓縮攻擊效果更好。文獻[6]提出一種結合NSST和直方圖的數字音頻水印算法。算法使用直方圖方法在原始音頻信號NSST變換后的低頻子帶中加入水印。文獻[7]提出了采用Hessenberg分解的Contourlet變換域圖像盲水印算法,它通過量化的方式把水印信息嵌入到上Hessen?berg矩陣的最大值元素中,算法魯棒性表現較好但在魯棒性與隱蔽性的平衡方面仍有待改善。近年來QR碼技術[8-9]有著信息容量大、容錯率高等優(yōu)點也逐步應用于數字水印算法中。文獻[10]中將電商的店鋪ID與商品的URL生成QR碼作為水印嵌入商品圖片中,展現出了QR碼水印較高的實際應用價值。
本文以當前的零水印算法研究為基礎,提出了一種基于NSST變換和Hessenberg分解的魯棒性更強的零水印算法。算法將彩色圖像轉換到CIElab色彩空間[11]中,并對其L分量非下采樣剪切波變換(Non Sub?sampling Shearlet Tansform,NSST)的低頻子帶采用DCT變換,然后把DCT頻譜執(zhí)行分塊及Hessenberg分解,由各子塊H矩陣最大值構建的特征矩陣與QR碼加密水印結合生成零水印。實驗測試表明,對于剪切、壓縮、噪聲、濾波和旋轉等單種攻擊以及組合攻擊下本算法魯棒性較強,尤其在抗旋轉、剪切攻擊情況下效果更加突出。
零水印算法的關鍵是從原始圖像中提取出穩(wěn)定不變的特征,并基于此特征與加密信息生成零水印。本文的零水印生成算法基于NSST、DCT及Hessenberg分解,提取的特征具有較好的幾何不變性,算法原理如圖1所示。假設彩色載體圖像尺寸為N×N,以版權方信息生成的QR碼二值圖像尺寸為(N/8,N/8),零水印的生成詳細步驟如下:
(1)根據版權信息生成QR碼并對其采用Arnold置亂[12]算法加密,得到加密水印W;
(2)把彩色載體圖像轉換到CIELab色彩空間,提取出其中的L分量;
(3)對L分量進行一級NSST分解,把低頻子帶DCT頻譜分割成尺寸為8×8的互相不重疊的子塊,記為Di,j(i,j=1,2,...,N/8);
(4)對每個子塊進行 Hessenberg分解,如下式表示:
其中,Qi,j為各子塊 Di,j分解的酉矩陣,Hi,j為其上Hessenberg矩陣;
(5)提取各子塊 Hi,j最大值元素記為 hijmax,并利用hijmax構造(N/8)×(N/8)大小的過渡矩陣 T,即 T(i,j)=hijmax,其中(i,j=1,2,…,N/8);
(6)將過渡矩陣T中各元素分別與其均值Tmean進行比較形成二值特征矩陣F:
(7)將加密水印圖像W與構造的特征矩陣F執(zhí)行異或操作生成零水印Z,并放至第三方認證中心注冊保存,作為版權認證的依據。
其中,“?”為異或操作。
剪切波變換(Shearlet Transform,ST)是剪切波與信號的內積。剪切波是一個基本函數通過仿射變換(伸縮、剪切和平移等)所產生的函數,能較好地表達二維甚至多維空間上曲線的特征,解決了傳統(tǒng)小波變換無法實現最優(yōu)線性誤差逼近的問題[13]。連續(xù)的Shearlet變換可表示為:
式中,x為自變量;j和l分別為尺度參數和方向參數,k為平移參數;det表示矩陣行列式,A、B均為可逆矩陣,Aj表示尺度變換矩陣,Bl表示區(qū)域面積不變的幾何變換矩陣。在頻域中,不同特性的剪切波ψj,l,k表示為相對原點互相對稱的梯形對,如圖2所示。
圖1 零水印構造過程
圖2 Shearlet頻域剖分圖
非下采樣剪切波變換[14-15](NSST)是對剪切波變換的改進。它采用非下采樣金字塔濾波器組(Non-sub?sampled Pyramid,NSP)獲得圖像的多尺度分解,然后利用改進的局部剪切波濾波器對高頻子帶圖像進行方向局部化。NSST去掉了傳統(tǒng)ST中的下采樣操作,使分解后的各子帶圖像與原圖像尺寸相同,不但具有良好的頻域局部化特性,并且具有平移不變性。圖3為二級NSST分解示意圖。
圖3 二級NSST分解示意圖
離散余弦變換(Discrete Cosine Transform,DCT)[16]是一種正交實數變換。設圖像為f(x,y),大小為M×N,其DCT變換可表示為:
對于n階方陣A,其Hessenberg分解[17]為:
其中,Q為酉矩陣,QT為Q的轉置矩陣;H為上Hessenberg矩陣,即設h(i,j)為 H矩陣的元素,h(i,j)∈Rn×n,當i>j+1時h(i,j)=0 。
Hessenberg分解是QR分解[18]的中間步驟,加之QR分解的計算復雜度低于SVD分解[19],因此相對其他分解方法,Hessenberg分解的計算復雜度較低,本文將其應用于零水印技術可提高算法的執(zhí)行效率。
在進行認證版權時,將待檢測圖像提取的特征矩陣與第三方保存的零水印異或得到加密信息,之后通過解密和解碼獲得版權私有信息。零水印檢測過程為圖4所示,詳細步驟如下:
(1)將待檢測彩色圖像轉換到CIELab色彩空間,其L分量記為L*;
(2)對L*進行一級NSST,對其低頻子帶進行DCT并將頻譜分成尺寸為8×8的互不重疊子塊;
(3)將每個系數子塊進行Hessenberg分解并提取各子塊H*矩陣最大值元素構造過渡矩陣T*;
(4)將過渡矩陣各元素分別與其均值進行比較形成二值特征矩陣F*;
(5)把第三方認證中心保留的零水印與特征矩陣F*進行異或生成QR碼加密水印,之后進行反置亂及QR碼解碼獲得版權信息從而驗證版權。
圖4 零水印檢測過程
本文實驗在MATLAB R2014a平臺進行。原始彩色圖像來自CVG-UGR圖像庫,其大小為512×512。水印圖像為“科技大學版權水印”字樣生成的QR碼二值圖像,實驗中Arnold置亂數目為12。
實驗效果評價標準采用峰值信噪比(Peak Signalto-Noise Ratio,PSNR)和歸一化相關系數(Normalized Cross-Correlation,NC)。PSNR表現了原圖像與受攻擊后圖像的差異,象征了攻擊的強度,其數值越小則說明攻擊強度越大,破壞性越強。NC值表示將原始水印與遭受攻擊后圖像得到的水印之間相似程度的大小,用來衡量算法的魯棒性,其值越大說明提取的水印效果越好,即具有越強的魯棒性。
實驗以Lena作為測試圖像,分別在旋轉、剪切、噪聲、JPEG壓縮等常見攻擊下及組合攻擊下進行了魯棒性測試,,算法魯棒性由PSNR、NC及最終QR解碼共同來判斷。實驗結果如表1所示,總體上看,在圖像經攻擊后本文算法依然可以有效提取水印,NC值均達到0.99以上,且提取出的QR碼能正常解碼還原出私有版權信息,實驗結果表明本算法有著較強的魯棒性。
表1 魯棒性實驗結果
本文在不同形式、不同強度的攻擊下與文獻[20]和文獻[21]兩種相近算法做了對比實驗。文獻[20]算法是對圖像進行小波變換及SVD分解,以子塊最大奇異值的奇偶構造特征矩陣,進而生成零水印。文獻[21]算法是將載體圖像NSST變換后的低頻子帶進行分塊和QR分解,以R矩陣第一行數值的L1范數構造特征矩陣。本文算法將NSST變換后低頻子帶進行DCT使得能量更加集中,并通過更低計算復雜度的Hessenberg分解的方式構建零水印,以實現更高的執(zhí)行效率與更強的抗攻擊性能。表2中列出了本文算法與兩文獻算法的對比實驗結果。
表2 與相近算法對比實驗結果
由表2結果可看出,本文提出的算法在剪切、噪聲、旋轉以及JPEG壓縮等常見攻擊下NC值較兩文獻均有較大的提升,其中在抗旋轉與抗剪切攻擊下表現更優(yōu)。圖5和圖6分別給出了旋轉與剪切攻擊下更全面的對比結果。圖5是旋轉角度逐漸增大時水印提取效果,從圖中可看出本文算法在旋轉角度較大時依然具有較高的魯棒性,提取水印效果較對比文獻更好。圖6顯示的是在不同位置、不同比例剪切攻擊下三種算法NC值的變化,可看出本文算法在剪切攻擊下的NC值明顯高于對比文獻算法,表現出了更強的抗剪切能力。
圖5 旋轉攻擊對比實驗結果
圖6 剪切攻擊對比實驗結果
本文基于NSST變換、DCT變換與Hessenberg分解的良好特性,提出了一種更加魯棒的QR碼零水印算法。算法通過對載體圖像進行NSST變換、DCT變換、分塊Hessenberg分解等操作構造特征矩陣,并結合QR碼形成零水印。本文算法具有水印雙加密、低計算復雜度、不可見及抗攻擊性強的特點。實驗結果表明,本文提出的算法在對原始圖像進行噪聲、濾波、JPEG壓縮、剪切以及旋轉等簡單攻擊和組合攻擊時魯棒性都較強,與相近算法對比,在抗旋轉及抗剪切攻擊時優(yōu)勢更加顯著。