蔡偉琦
(集美大學(xué)誠毅學(xué)院 福建廈門 361021)
基于小波變換的低位賦值盲水印算法
蔡偉琦
(集美大學(xué)誠毅學(xué)院 福建廈門 361021)
針對(duì)版權(quán)認(rèn)證的安全性和魯棒性要求,提出一種基于離散小波變換的低位賦值盲水印算法。該算法將水印信息經(jīng)過小波變換后,通過圖像置亂和數(shù)值轉(zhuǎn)化,將符合要求的數(shù)據(jù)循環(huán)賦值到彩色圖像小波分解后低頻分量的低位數(shù)上。該算法具有不可見性,并利用圖像置亂加了一道安全防線。大量的仿真攻擊和模擬結(jié)果表明,該算法對(duì)噪聲、濾波、壓縮、裁剪等各種圖像攻擊具有較強(qiáng)的抵抗能力,算法具有較好的魯棒性。
魯棒性;小波變換;低位賦值;圖像置亂
數(shù)字水印技術(shù),是指用信號(hào)處理的方法在數(shù)字化的多媒體數(shù)據(jù)中嵌入隱蔽的標(biāo)記,用以證明原創(chuàng)作者對(duì)其作品的所有權(quán),并作為鑒定起訴非法侵權(quán)的證據(jù)。這種標(biāo)記通常是不可見的,是實(shí)現(xiàn)版權(quán)保護(hù)的有效辦法,同時(shí)通過對(duì)水印的探測(cè)和分析,能夠保證數(shù)字化信息的完整性和可靠性,從而成為知識(shí)產(chǎn)權(quán)保護(hù)和數(shù)字多媒體防偽的有效手段。近年來,針對(duì)圖像處理的數(shù)字水印技術(shù)研究取得了很大進(jìn)步,主要分為空域算法和變換域算法兩類,變換域算法中離散小波變換(DWT)因其良好的空間頻域局部化特性與人眼視覺特性相符的變換機(jī)制,成為數(shù)字水印技術(shù)的研究熱點(diǎn)。目前已有許多基于DWT的圖像水印算法,文獻(xiàn)[1]提出一種基于DWT將水印嵌入到Y(jié)IQ色彩空間中的Y和Q分量;文獻(xiàn)[2][4]研究了基于小波變換的零水印技術(shù);文獻(xiàn)[5][6]進(jìn)行了基于人類視覺特性HVS的小波域水印算法研究。這些算法的算法復(fù)雜度均較高,計(jì)算較復(fù)雜。鑒于此,本文結(jié)合DWT提出一種基于圖像低頻數(shù)據(jù)進(jìn)行低位賦值的算法,能方便實(shí)現(xiàn)水印的盲提取,魯棒性好,有利于硬件的實(shí)現(xiàn)。
波分析方法是一種窗口大小固定但其形狀可以改變,即時(shí)間窗和頻率窗都可以改變的時(shí)頻局域化分析方法,基于小波變換的多尺度圖像分析可以將圖像在不同尺度的頻率上進(jìn)行分解和重構(gòu)。對(duì)于二維離散圖像信號(hào),經(jīng)過一級(jí)DWT變換后,圖像被分解成四個(gè)分量:一個(gè)低頻子圖LL和三個(gè)高頻子圖:水平子圖LH、垂直子圖HL和對(duì)角子圖HH。下一級(jí)DWT變換在前級(jí)產(chǎn)生的LL基礎(chǔ)上進(jìn)行,依次重復(fù),可完成圖像的n級(jí)小波分解,得到圖像的n級(jí)分辨率,整個(gè)圖像的能量主要集中在最低頻子圖上。小波合成過程與分解過程恰好相反。圖1是圖像二級(jí)小波變換的分解過程。
圖1 圖像的二級(jí)小波分解
實(shí)際上,利用小波變換進(jìn)行水印數(shù)據(jù)的嵌入和提取,必然經(jīng)過多次的數(shù)據(jù)分解和合成,若對(duì)圖像的分解層級(jí)太多將不可避免引起數(shù)據(jù)變化和失真,而層級(jí)太少會(huì)導(dǎo)致圖像處理的魯棒性較差。同時(shí),圖像還要能夠抵御外來的各種攻擊,如噪聲、濾波、壓縮、裁剪等,在攻擊后還要能順利恢復(fù)出水印數(shù)據(jù),這就要求水印嵌入和提取的算法魯棒性強(qiáng),也要具備一定的保密性。
本文基于Haar離散小波變換,對(duì)原載體圖像進(jìn)行Haar二級(jí)小波分解,對(duì)水印圖像進(jìn)行Haar一級(jí)小波分解。Haar小波變換可以方便地對(duì)信號(hào)的高、低頻子圖數(shù)據(jù)進(jìn)行分析,必要時(shí)可以忽略微不足道的細(xì)節(jié)系數(shù),很適合在水印技術(shù)上應(yīng)用,也為水印的快速重構(gòu)提供了一種途徑。
從視覺角度來看,低頻子圖是原始圖像的平滑逼近,抗干擾能力強(qiáng),圖像的主能量主要集中在低頻子圖上,而高頻子圖反映的是圖像的變化部分,是細(xì)節(jié)圖像,抗干擾能力較弱。為增強(qiáng)水印算法的魯棒性,本文選擇把水印圖像的信息嵌入到原載體圖像的低頻子圖數(shù)據(jù)中。由于低頻數(shù)據(jù)的敏感性,嵌入算法尤為重要,要保證原載體圖像嵌入水印后圖像質(zhì)量不下降。本文提出一種算法,利用低頻子圖數(shù)據(jù)的取值特點(diǎn)采用低位賦值的方法方便有效地嵌入和恢復(fù)水印數(shù)據(jù)。
(一)水印嵌入算法。水印通常并不是內(nèi)容非常豐富的圖像,在不影響對(duì)水印辨認(rèn)識(shí)別的情況下,僅由其低頻子圖數(shù)據(jù)足以重建整個(gè)圖像。將水印圖像進(jìn)行小波分解后,只需將水印的低頻子圖數(shù)據(jù)隱藏到原載體圖像,不考慮其高頻子圖部分,水印的提取也只需提取出水印的低頻子圖數(shù)據(jù)即可。同時(shí),為提高水印數(shù)據(jù)的保密性,增強(qiáng)水印的魯棒性,通過Arnold變換將水印圖像置亂,利用Arnold變換的周期性,在恢復(fù)水印過程中經(jīng)有限次迭代可重新得到原水印[7]。
原載體圖像是M×N的真彩色圖像,由R、G、B三基色構(gòu)圖而成,每像素的比特?cái)?shù)通常取8,即像素灰階數(shù)為256。它的數(shù)據(jù)矩陣集合 {A}是M×N×3的三維矩陣,可分解成{AR}、{AG}、{AB}三個(gè)獨(dú)立的M×N二維矩陣。分別對(duì)三個(gè)矩陣{AR}、{AG}、{AB}進(jìn)行二級(jí)小波分解,得到二級(jí)小波變換下的三組數(shù)據(jù){BR}、{BG}、{BB},數(shù)據(jù)長(zhǎng)度均為M×N。
根據(jù)小波分解的原理,{BR}、{BG}、{BB}中前1/4的數(shù)據(jù)分別構(gòu)成原載體圖像的R、G、B低頻子圖LL1,前1/16的數(shù)據(jù)分別構(gòu)成LL2,記為{CR}、{CG}、{CB},其中,
{CR}、{CG}、{CB}是原載體圖像的R、G、B二級(jí)低頻子圖數(shù)據(jù)。根據(jù)Haar離散小波變換采用的運(yùn)算規(guī)則,通常標(biāo)準(zhǔn)化Haar小波分解濾波器下的低通濾波器系數(shù)均為對(duì)像素灰階數(shù)為256的二維真彩色圖像而言,其低頻數(shù)據(jù)的取值特點(diǎn)和小波分解的層級(jí)有關(guān),n級(jí)小波分解后其低頻子圖數(shù)據(jù)的取值區(qū)間為:
鑒于低頻子圖數(shù)據(jù)的這個(gè)特點(diǎn),本文對(duì)原載體圖像低頻數(shù)據(jù)的低位進(jìn)行水印嵌入。將{CR}、{CG}、{CB}中的數(shù)據(jù)轉(zhuǎn)換成等值二進(jìn)制數(shù),通過對(duì)二進(jìn)制數(shù)低K位的適當(dāng)取舍,舍去低K位后的數(shù)值,用經(jīng)過處理的水印低頻子圖數(shù)據(jù)代替。
K=0時(shí),即舍去二進(jìn)制數(shù)據(jù)的小數(shù)部分;K=1時(shí),舍去二進(jìn)制數(shù)據(jù)的個(gè)位及其小數(shù)部分,也即舍去原十進(jìn)制數(shù)據(jù)除以2得到的小數(shù)部分;依此類推,K=n時(shí),舍去二進(jìn)制數(shù)據(jù)的n位整數(shù)部分及其小數(shù)部分,也即舍去原十進(jìn)制數(shù)據(jù)除以得到的小數(shù)部分。本文把K定義為“水印容度”,表示水印能夠賦值在原載體圖像上的二進(jìn)制數(shù)據(jù)寬度。
可見,容度K越小時(shí),對(duì)原載體圖像的數(shù)據(jù)改動(dòng)越小,嵌入水印后的圖像和原載體圖像的相似程度越高,然而不可避免地造成賦值在原載體圖像上的水印數(shù)據(jù)寬度窄,嵌入水印的數(shù)值較小,影響到水印的精度,對(duì)水印的提取造成一定的困難。容度K越大時(shí),賦值在原載體圖像上的水印數(shù)據(jù)寬度將變大,更容易恢復(fù)出水印,但此時(shí)對(duì)原載體圖像的數(shù)據(jù)改動(dòng)較大,嵌入后的圖像和原載體圖像的相似程度變低。
為保證嵌入水印后原載體圖像質(zhì)量不下降以及水印能夠順利恢復(fù),并具備一定的魯棒性,通過對(duì)K的取值進(jìn)行多次測(cè)試,K=3時(shí)能夠達(dá)到一種最佳平衡,得到的算法更加合理有效,此時(shí)只要保證嵌入的水印數(shù)據(jù)小于8即可。由于水印圖像只進(jìn)行了Haar一級(jí)小波分解,因此水印低頻數(shù)據(jù)的取值區(qū)間為[0,510],通過適當(dāng)?shù)臄?shù)值轉(zhuǎn)化限定在[0,8)是容易做到的(比如對(duì)數(shù)據(jù)開三次方)。另外,一般情況下,原載體圖像的低頻子圖數(shù)據(jù)量比水印的低頻數(shù)據(jù)量要大得多,為提高水印的抗攻擊能力,把水印數(shù)據(jù)循環(huán)賦值給原載體圖像。
嵌入算法的實(shí)現(xiàn)步驟:
第一步:讀取任意尺寸的彩色載體圖像,對(duì)載體圖像進(jìn)行離散小波變換,得到其低頻子圖數(shù)據(jù);
第二步:讀取任意方形尺寸的彩色水印圖像,對(duì)水印圖像進(jìn)行離散小波變換,得到其低頻子圖數(shù)據(jù);
第三步:將得到的水印低頻子圖數(shù)據(jù)進(jìn)行Arnold置亂;
第四步:設(shè)定水印容度K=3,對(duì)原載體圖像和水印的低頻子圖數(shù)據(jù)分別進(jìn)行數(shù)據(jù)處理,在原載體圖像上循環(huán)嵌入水印數(shù)據(jù);
第五步:對(duì)已嵌入水印的圖像數(shù)據(jù)進(jìn)行逆小波變換,獲得含水印的圖像。
(二)水印盲檢算法。盲檢算法是嵌入算法的逆運(yùn)算。具體步驟如下:
第一步:讀取含水印的圖像數(shù)據(jù),進(jìn)行離散小波變換,得到其低頻子圖數(shù)據(jù);
第二步:根據(jù)水印容度值對(duì)得到的低頻子圖數(shù)據(jù)進(jìn)行處理,提取出其低位數(shù)據(jù),組成水印圖像的低頻子圖數(shù)據(jù);
第三步:把第二步得到的數(shù)據(jù)進(jìn)行還原,并經(jīng)Arnold置亂恢復(fù);
第四步:對(duì)恢復(fù)后的水印數(shù)據(jù)進(jìn)行逆小波變換,獲得原始水印圖像。
為驗(yàn)證本文算法的綜合性能,引入兩個(gè)常用的圖像評(píng)價(jià)指標(biāo):PSNR和NC。
PSNR(Peak signal to Noise Ratio),峰值信噪比,用于評(píng)價(jià)一幅經(jīng)處理后的圖像與原圖像相比質(zhì)量的好壞。PSNR的單位是dB,PSNR越高,失真越小。PSNR定義為:
其中,n為每像素的比特?cái)?shù),一般取8,即像素灰階數(shù)為256。MSE表示當(dāng)前圖像X和參考圖像Y的均方誤差(Mean Square Error),兩幅M×N圖像X、Y的MSE定義為:
對(duì)于三基色R、G、B的真彩色圖像,可分別計(jì)算R、G、B三通道的PSNR值或者計(jì)算每個(gè)通道的MSE值取平均,再得到PSNR。
PSNR是基于對(duì)應(yīng)像素點(diǎn)間的誤差,即基于誤差敏感的圖像質(zhì)量評(píng)價(jià),并未全面考慮到人眼的視覺特性,經(jīng)常出現(xiàn)評(píng)價(jià)結(jié)果與人的主觀感覺不一致的情況。目前針對(duì)圖像的質(zhì)量評(píng)價(jià)均存在主客觀評(píng)價(jià)的差異,評(píng)價(jià)效果并不十分理想,本文采用PSNR主要是用來對(duì)提取水印的質(zhì)量進(jìn)行定量對(duì)比,同時(shí)引入另一個(gè)評(píng)價(jià)標(biāo)準(zhǔn)NC來度量圖像的相似性。
NC(Normalized Cross-Correlation),歸一化互相關(guān)函數(shù),用來判定信號(hào)的相似性,是度量?jī)蓮垐D片相似度的一種表示形式,NC越大代表兩張圖片的相似性越高。它的定義為:
其中,N是圖像信息長(zhǎng)度,W(i)是原始圖像,W'(i)是經(jīng)處理過的圖像。
(一)水印嵌入和提取。本文采用尺寸為1600×900的彩色載體圖像,128×128的24位真彩色水印圖像。水印圖像的“水印技術(shù)”分別為紅(255,0,0)、綠(0,255,0)、藍(lán)(0,0,255)、黑(0,0,0)組合,并采用分別計(jì)算R、G、B三通道PSNR值的方法,便于觀察各種攻擊對(duì)R、G、B三基色的影響。圖2左圖為原載體圖像和原水印圖像,右圖為嵌入水印后的圖像和提取出的水印。
圖2 水印的嵌入和提取
嵌入水印后的圖像質(zhì)量未明顯降低,說明該算法具有不可見性。采用PSNR、NC評(píng)價(jià)嵌入水印后的圖像質(zhì)量。NC=0.9999;PSNR(R)=52.17dB,PSNR(G)=52.21dB,PSNR(B)=52.17dB,確認(rèn)該嵌入算法有效。
對(duì)比原水印,提取出的水印圖像質(zhì)量略微下降,但幾乎不影響水印的檢測(cè)和識(shí)別,經(jīng)計(jì)算兩者的NC=0.9947,PSNR (R)=26.64dB,PSNR(G)=26.41dB,PSNR(B)=27.02dB,表明算法對(duì)R、G、B三基色的影響程度較一致,視覺上也證明了這一點(diǎn)。該算法恢復(fù)的水印可鑒別,算法整體有效。
為進(jìn)一步檢測(cè)算法的性能,考察幾種常見的針對(duì)圖像的攻擊,包括噪聲、濾波、JPEG壓縮和幾何攻擊等,進(jìn)行魯棒性測(cè)試。
(二)噪聲攻擊。用不同強(qiáng)度的椒鹽噪聲或高斯噪聲對(duì)已嵌入水印的圖像進(jìn)行攻擊后,利用盲檢算法恢復(fù)水印,驗(yàn)證算法的有效性。
1.椒鹽噪聲。向圖像加入椒鹽噪聲,恢復(fù)的水印是椒鹽噪聲密度為0.05時(shí)的結(jié)果,見圖3。由圖可見,椒鹽噪聲對(duì)R、G、B三基色的影響程度區(qū)別不大,但原本白色的背景已被底噪所覆蓋,導(dǎo)致PSNR數(shù)值急劇下降。恢復(fù)的水印和原水印兩者的 NC=0.9526,PSNR(R)=16.53dB,PSNR(G)=16.21dB,PSNR(B)=16.02dB。PSNR取值仍在可接受的范圍。曲線圖是椒鹽噪聲密度在0-0.2范圍內(nèi)NC和PSNR的變化曲線。
圖3 水印恢復(fù)及NC和PSNR變化曲線(椒鹽噪聲)
2.高斯噪聲。向圖像加入高斯噪聲,恢復(fù)的水印是加入均值0,方差0.001高斯噪聲時(shí)的結(jié)果,見圖4??梢姡咚乖肼暤牡自氡冉符}噪聲更深,雖暫未影響到對(duì)水印結(jié)果的辨識(shí),但字體的顏色已有變化。此時(shí)NC=0.9241,PSNR(R)=8.94dB,PSNR(G)=8.92dB,PSNR(B)=9.04dB,比起椒鹽噪聲均有顯著下降。得到的PSNR值已很不理想,但由于主客觀評(píng)價(jià)存在一定的差異,水印主觀上仍在可識(shí)別的范圍。曲線圖是均值0,方差在0-0.01范圍內(nèi)NC和PSNR的變化曲線。
圖4 水印恢復(fù)及NC和PSNR變化曲線(高斯噪聲)
(三)濾波攻擊。
1.高斯濾波。利用高斯濾波對(duì)圖像進(jìn)行平滑處理,恢復(fù)的水印是校驗(yàn)矩陣5×5,高斯濾波參數(shù)s=0.5時(shí)的結(jié)果,見圖5。高斯濾波對(duì)水印的識(shí)別影響并不大,R、G、B三色的辨識(shí)度足夠清晰,白色的背景依然被底噪所覆蓋,此時(shí)NC=0.9671,PSNR(R)=15.32dB,PSNR(G)=15.77dB,PSNR(B)=15.99dB。PSNR取值在可接受的范圍。曲線圖是高斯濾波參數(shù)在0.1-2范圍內(nèi)NC和PSNR的變化曲線。
圖5水印恢復(fù)及NC和PSNR變化曲線(高斯濾波)
2.中值濾波。對(duì)圖像進(jìn)行中值濾波,恢復(fù)的水印是處理窗口3×3時(shí)的結(jié)果,見圖6。中值濾波對(duì)水印的識(shí)別產(chǎn)生了一定影響,雖水印仍可識(shí)別,R、G、B三色的辨識(shí)度已有所模糊,底噪更深,此時(shí)NC=0.9651,PSNR(R)=11.68dB,PSNR(G)=12.25dB,PSNR(B)=12.23dB。得到的PSNR值雖不理想,但色彩、字型上仍能明顯識(shí)別。曲線圖是中值濾波窗口從1×1到10×10 NC和PSNR的變化曲線。
圖6 水印恢復(fù)及NC和PSNR變化曲線(中值濾波)
(四)JPEG壓縮攻擊。對(duì)圖像進(jìn)行JPEG壓縮攻擊,恢復(fù)的水印是質(zhì)量因素為90時(shí)的結(jié)果,見圖7。JPEG壓縮攻擊對(duì)水印色彩產(chǎn)生了較大影響,已幾乎無法辨識(shí)三基色,但字體仍可識(shí)別,輪廓也足夠清晰,底噪很大。此時(shí)NC=0.9296,PSNR(R)=8.03dB,PSNR(G)=10.11dB,PSNR(B)=7.78dB。得到的PSNR值雖不理想,但字型仍可識(shí)別。曲線圖是圖像質(zhì)量因素60-100范圍內(nèi)JPEG壓縮的NC和PSNR變化曲線。
圖7 水印恢復(fù)及NC和PSNR變化曲線(JPEG壓縮)
(五)幾何攻擊。
1.裁剪攻擊。將圖像右半邊部分裁掉,剩下原圖的1/2,此時(shí)NC=0.9909,PSNR(R)=22.89dB,PSNR(G)=22.86dB,PSNR(B) =22.87dB?;謴?fù)的水印見圖8左圖,因算法進(jìn)行了循環(huán)賦值,因而裁剪攻擊對(duì)水印提取影響不大。
2.縮放攻擊。先把圖像縮小1/10,再恢復(fù)成原來大小,恢復(fù)出的水印見圖8右圖。底噪較深,字體顏色有部分變化。此時(shí)NC=0.9648,PSNR(R)=9.69dB,PSN(G)=9.91dB,PSNR(B)=9.95dB。得到的PSNR值并不理想,但主觀上仍可識(shí)別。
圖8 裁剪、縮放攻擊下的水印恢復(fù)
本文實(shí)現(xiàn)彩色圖像嵌入彩色水印的低位賦值盲水印算法,提出了小波低頻子圖數(shù)據(jù)“水印容度”的概念,通過適當(dāng)?shù)摹八∪荻取边M(jìn)行數(shù)據(jù)取舍,實(shí)現(xiàn)盲檢。
理論分析和仿真結(jié)果都表明,本算法抗噪能力強(qiáng),對(duì)濾波、裁剪等攻擊具備較強(qiáng)的魯棒性,三基色對(duì)抗各種攻擊的變化大體上一致,在遭受各種攻擊后仍可以提取質(zhì)量較高的水印。算法實(shí)現(xiàn)簡(jiǎn)單快速,視覺失真少,安全性較高,具有較強(qiáng)的實(shí)用性。
[1]guangmin sun,yao yu.DWT Based Watermar king Algorithm of Color Images[C].ICIEA,2007:1823-1826.
[2]楊樹國,李春霞,孫楓,等.小波域內(nèi)圖象零水印技術(shù)的研究[J].中國圖象圖形學(xué)報(bào),2003,8(6):664-669.
[3]吳勝兵,張定會(huì),霍瑤,等.DWT系數(shù)分塊的零水印方案[J].數(shù)據(jù)通信,2014(3):22-25.
[4]潘黃瓊,陳光喜,丁勇,等.彩色圖像DWT變換下的塊SVD零水印[J].微電子學(xué)與計(jì)算機(jī),2012,29(5):50-53.
[5]葉闖,沈益青,李豪,等.基于人類視覺特性(HVS)的離散小波變換(DWT)數(shù)字水印算法[J].浙江大學(xué)學(xué)報(bào)(理學(xué)版), 2013,40(2):152-155.
[6]武風(fēng)波,汪峰.基于HVS的小波變換數(shù)字圖像水印算法[J].應(yīng)用光學(xué),2014,35(2):254-259.
[7]丁瑋,閆偉齊,齊東旭.基于Arnold變換的數(shù)字圖像置亂技術(shù)[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2001,13(4):338-341.
TP391
A
2095-0438(2017)11-0156-05
2017-06-12
蔡偉琦(1983-),男,福建廈門人,集美大學(xué)誠毅學(xué)院工程師,碩士,研究方向:通信技術(shù),信號(hào)處理。
[責(zé)任編輯 鄭麗娟]