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