謝建宏 劉亦葉
(南昌大學(xué)信息工程學(xué)院 江西 南昌 330031)
隨著信息技術(shù)的飛速發(fā)展和互聯(lián)網(wǎng)等傳播媒介的普及,包括圖片、音頻、視頻等在內(nèi)的網(wǎng)絡(luò)數(shù)字媒體得到廣泛應(yīng)用,版權(quán)保護(hù)已經(jīng)成為一個(gè)重要而迫切的現(xiàn)實(shí)問(wèn)題[1]。數(shù)字水印技術(shù),作為數(shù)字媒體版權(quán)保護(hù)的有效辦法,已經(jīng)在國(guó)內(nèi)外引起人們極大的興趣,并成為國(guó)內(nèi)外研究的熱點(diǎn)[2-3]。
當(dāng)前數(shù)字水印技術(shù)的研究大都圍繞水印的魯棒性、不可見性等因素進(jìn)行,然而水印的不可見性與魯棒性是互相矛盾的兩方面[4]。在載體信息中嵌入更多的水印信息,則水印系統(tǒng)抗攻擊的性能得到提升,魯棒性增強(qiáng),然而不可見性會(huì)變差;反之如果嵌入的水印信息較少,則不可見性較好,但含水印的載體數(shù)據(jù)受到些許干擾時(shí)可能很難提取出水印信息,魯棒性隨之變差。如何平衡這對(duì)矛盾是設(shè)計(jì)數(shù)字水印必須面對(duì)和解決的重要問(wèn)題[5]。圍繞該問(wèn)題,自適應(yīng)水印技術(shù)的研究應(yīng)運(yùn)而生,其目的是實(shí)現(xiàn)對(duì)水印的嵌入強(qiáng)度、嵌入位置等隨載體信號(hào)各部分特性的不同而自適應(yīng)地嵌入,以解決數(shù)字水印的不可見性與魯棒性的均衡問(wèn)題,并盡可能實(shí)現(xiàn)算法較低的復(fù)雜度,增強(qiáng)算法的實(shí)用性。迄今已有大量不同的自適應(yīng)水印算法[6-8],大多數(shù)研究在于提升嵌入水印信息的不可見性和增強(qiáng)抵抗水印攻擊的魯棒性,然而數(shù)字水印在不可見性和魯棒性兩者之間仍舊難以取得較優(yōu)均衡,水印算法的復(fù)雜度與實(shí)用性有待進(jìn)一步優(yōu)化,這也是當(dāng)前水印算法設(shè)計(jì)應(yīng)用過(guò)程中遇到的主要瓶頸。
圍繞數(shù)字水印的不可見性與魯棒性的均衡問(wèn)題,本文基于離散小波變換,設(shè)計(jì)一種自適應(yīng)圖像水印系統(tǒng),根據(jù)人類視覺(jué)系統(tǒng)的亮度掩蔽特性,優(yōu)化水印的嵌入位置及嵌入強(qiáng)度因子,實(shí)現(xiàn)水印的自適應(yīng)嵌入,并對(duì)水印系統(tǒng)性能進(jìn)行評(píng)價(jià)。
為實(shí)現(xiàn)對(duì)水印的嵌入強(qiáng)度、嵌入位置等隨載體圖像信號(hào)各部分特性的不同而自適應(yīng)地嵌入,并解決數(shù)字水印的不可見性與魯棒性的均衡問(wèn)題,本文設(shè)計(jì)了一種自適應(yīng)圖像水印系統(tǒng),該系統(tǒng)主要包括自適應(yīng)圖像水印的嵌入、圖像水印的提取、系統(tǒng)的實(shí)現(xiàn)與性能評(píng)價(jià)三大功能模塊。自適應(yīng)圖像水印的嵌入模塊又包括載體圖像的小波變換、小波子塊劃分、水印嵌入位置的選取、自適應(yīng)嵌入強(qiáng)度的計(jì)算、水印圖像的反色處理、水印圖像的Arnold置亂等子功能模塊。圖像水印的提取模塊又包括含水印圖像的小波變換、載體圖像的小波變換、小波子塊劃分、水印信息的提取、水印信息的反Arnold置亂、水印信息的反色處理等子功能模塊。系統(tǒng)的實(shí)現(xiàn)與性能評(píng)價(jià)模塊主要包括算法的Matlab編程與實(shí)現(xiàn)、自適應(yīng)性評(píng)價(jià)、魯棒性與不可見性評(píng)價(jià)等子功能模塊。該自適應(yīng)圖像水印系統(tǒng)的具體功能框圖如圖1所示。
圖1 自適應(yīng)圖像水印系統(tǒng)功能框圖
不同的載體圖像具有不同的特性,其不同部分的輪廓、紋理、能量大小也不盡相同。載體圖像經(jīng)過(guò)小波分解[9]后得到低頻近似分量LL、高頻水平細(xì)節(jié)分量LH、高頻垂直細(xì)節(jié)分量HL、高頻對(duì)角細(xì)節(jié)分量HH。低頻近似分量LL是原始圖像的逼近子圖像,這部分可以繼續(xù)分解,而其他三個(gè)高頻細(xì)節(jié)分量主要表征原圖像分別在水平、垂直、對(duì)角線方向的輪廓和紋理等邊緣細(xì)節(jié)信息。
如果將水印嵌入到經(jīng)過(guò)小波變換的載體圖像的高頻部分,根據(jù)人類視覺(jué)系統(tǒng)的紋理掩蔽特性,水印嵌入后不易被人眼察覺(jué)。但由于高頻部分信息占整個(gè)圖像數(shù)據(jù)的比例一般非常低,容易受外來(lái)因素如噪聲、濾波、幾何變換的干擾,穩(wěn)定性較差,嵌入的水印信息很容易丟失,魯棒性不強(qiáng)。因此,高頻部分(LH、HL、HH)不進(jìn)行水印嵌入。由于二級(jí)小波分解后的低頻部分LL2與其他同級(jí)高頻部分相比,小波系數(shù)相對(duì)更大,意味著這部分占據(jù)了圖像大部分能量,在低頻部分LL2嵌入水印,信息不易丟失,具有很強(qiáng)的魯棒性。因此,本文將水印嵌入到二級(jí)小波分解后的低頻部分LL2。
低頻部分LL2代表了包含輪廓等信息的平滑部分,人眼對(duì)這部分的改變極為敏感,嵌入的水印強(qiáng)度如果不經(jīng)過(guò)處理,很容易使原圖像的質(zhì)量下降,產(chǎn)生失真。根據(jù)人類視覺(jué)系統(tǒng)的特性,選取適當(dāng)?shù)乃∏度霃?qiáng)度因子,并且能夠根據(jù)不同圖像內(nèi)容進(jìn)行自適應(yīng)的調(diào)節(jié),同時(shí)滿足嵌入水印強(qiáng)度低于人類視覺(jué)系統(tǒng)(Human Visual System,HVS)的臨界不可見門限[10],以保證水印系統(tǒng)的魯棒性和不可見性。
由于一幅圖像不同區(qū)域的亮度和紋理復(fù)雜程度等特征不同,所以臨界不可見門限也有差別。為了充分利用這一差別,本文對(duì)載體圖像嵌入水印的區(qū)域進(jìn)行分塊處理,在水印信息嵌入之前,計(jì)算包括嵌入位置在內(nèi)的周圍一個(gè)區(qū)塊的亮度平均值,再根據(jù)人眼亮度感覺(jué)和對(duì)比靈敏度閾值等參數(shù)確定嵌入水印強(qiáng)度因子的大小。
對(duì)比靈敏度閾值又稱韋伯比[11],其計(jì)算方法如下:
(1)
式中:B是背景亮度,ΔB是在背景上疊加的亮度。對(duì)于不同亮度的背景,人眼能夠察覺(jué)到的亮度變化閾值也不同。研究表明,一般情況下,k=0.018是人眼剛好能夠分辨出的亮度變化極限值。當(dāng)曝光過(guò)強(qiáng)或不足時(shí),背景越亮或越暗,此時(shí)k可達(dá)到0.05或更大,水印嵌入強(qiáng)度可適當(dāng)提高。
同時(shí),水印嵌入強(qiáng)度的大小與水印的平均像素值有關(guān)。水印圖像平均像素值越高,其嵌入到載體圖像后的可見性越高,為滿足不可見性要求,則相應(yīng)的嵌入強(qiáng)度要越低。為了保證高平均像素值的水印圖像也能具有盡可能大的嵌入強(qiáng)度,即滿足魯棒性要求,則需對(duì)水印圖像進(jìn)行反色預(yù)處理,具體為:若水印圖像平均像素值大于127,則對(duì)任意像素值x,將其像素值修改為255-x,否則像素值不變。
設(shè)水印嵌入強(qiáng)度為α,水印經(jīng)過(guò)反色預(yù)處理后的像素最大值為127,對(duì)應(yīng)嵌入水印的載體圖像區(qū)域像素亮度平均值為A,則在平滑區(qū)嵌入水印時(shí),應(yīng)滿足:
(2)
由此可得水印嵌入強(qiáng)度最大值為:
(3)
由韋伯-費(fèi)希納定律[12],人眼對(duì)某一子塊的主觀亮度感覺(jué)S(心理量)與該子塊背景的客觀平均亮度B(物理量)的對(duì)數(shù)成正比,公式表述如下:
S=KlgB+K0
(4)
式中:K是常數(shù),是引起主觀差別感覺(jué)的相對(duì)強(qiáng)度,K0是積分常數(shù),通常K0=0。B越大或越小,即子塊平均亮度與128這個(gè)中間像素值的差的絕對(duì)值越大,則嵌入的強(qiáng)度越大。為滿足嵌入水印的不可見性,式(4)中的常數(shù)K取通過(guò)韋伯比計(jì)算出的基本嵌入強(qiáng)度因子α0,最終確定嵌入強(qiáng)度因子計(jì)算公式如下:
α=α0×lg(|A-128|+10)
(5)
對(duì)載體圖像進(jìn)行二級(jí)小波分解后,在低頻小波系數(shù)LL2中隨機(jī)選擇N×N(水印圖像大小)個(gè)系數(shù)嵌入經(jīng)過(guò)反色和Arnold置亂預(yù)處理的水印信息,具體嵌入算法如下:
(1) 對(duì)低頻小波系數(shù)LL2劃分為適當(dāng)?shù)淖訅K,如25×25個(gè)子塊(若無(wú)法保證按方塊均勻劃分,可以選取適當(dāng)?shù)木匦螇K狀劃分)。
(2) 計(jì)算每一子塊的像素亮度平均值A(chǔ),根據(jù)不同的亮度平均值計(jì)算出每一子塊最合適的嵌入強(qiáng)度α,公式如下:
(6)
(3) 基于人類視覺(jué)系統(tǒng)HVS的亮度掩蔽特性,若水印亮度值越大,則應(yīng)嵌入背景亮度越接近極值的子塊。據(jù)此,從亮度角度對(duì)載體圖像的小波子塊平均亮度和反色處理后的水印圖像像素值大小分別劃分為亮、暗、較亮、較暗四類,水印圖像像素值大的水印信息(亮的)隨機(jī)嵌入背景亮的小波子塊中,以此規(guī)則類推得到如圖2所示的嵌入方式。
圖2 小波子塊和水印信息亮度分類后的嵌入方式
(4) 對(duì)每一個(gè)小波子塊都按已知自適應(yīng)強(qiáng)度因子嵌入對(duì)應(yīng)的水印信息,本文采用加法準(zhǔn)則的嵌入方式,嵌入公式為:
F′(x,y)=F(x,y)+α·Wa(x,y)
(7)
式中:α為自適應(yīng)強(qiáng)度因子,Wa(x,y)是反色置亂后的水印在(x,y)位置的信息,F(x,y)為小波子塊的原始小波系數(shù),F′(x,y)為嵌入水印后的小波系數(shù)。
將經(jīng)過(guò)以上操作的圖像的小波系數(shù)進(jìn)行離散小波逆變換即可得到嵌入水印后的圖像,完整的自適應(yīng)水印嵌入算法流程如圖3所示。
圖3 自適應(yīng)水印嵌入算法流程
該嵌入算法實(shí)現(xiàn)的核心MATLAB程序代碼為:
ntimes=23;
%密鑰1,Arnold置亂次數(shù)
rngseed=59433;
%密鑰2,隨機(jī)種子數(shù)
flag=1;
%顯示中間圖像
[Iw,psnr]=setdwtwatermark(I,W,ntimes,rngseed,flag);
%水印嵌入
%%水印嵌入函數(shù)setdwtwatermark.m
function[Iw,psnr]
=setdwtwatermark(I,W,ntimes,rngseed,flag)
%I為載體圖像,W為水印圖像,Iw為添加了水印信息的圖像,psnr為峰值信噪比,越大則說(shuō)明水印質(zhì)量越好。
圖4 水印提取算法流程
該提取算法實(shí)現(xiàn)的核心MATLAB程序代碼為:
ntimes=23;
%密鑰1,Arnold置亂次數(shù)
rngseed=59433;
%密鑰2,隨機(jī)種子數(shù)
flag=1;
%顯示中間圖像
[Wg,nc]=getdwtwatermark(Iw,W,ntimes,rngseed,flag);
%水印提取
%%水印提取函數(shù)getwatermark.m
function[Wg,nc]
=getdwtwatermark(Iw,W,ntimes,rngseed,flag)
%Iw為添加了水印信息的圖像,W為原始水印,用于計(jì)算相關(guān)性,Wg為提取出的水印,nc為相關(guān)系數(shù)。
本文實(shí)驗(yàn)平臺(tái):Windows 7+Matlab R2015b。載體圖像:scenery.jpg(2 048×1 448)、trailer.jpg(1 024×684)、office_5.jpg(960×600)。水印圖像:nculogo.png(244×244, 5.74 KB)、badge.jpg(348×348, 29.5 KB)、logo.tif(122×108, 1.28 KB)、ncu_1.png(86×86)。
對(duì)數(shù)字水印系統(tǒng)受攻擊后的性能進(jìn)行評(píng)價(jià),既可以利用人類感知系統(tǒng)進(jìn)行定性評(píng)價(jià),也可以利用相關(guān)標(biāo)準(zhǔn)進(jìn)行定量評(píng)價(jià)。論文采用以下兩個(gè)指標(biāo)對(duì)水印系統(tǒng)性能進(jìn)行評(píng)估與分析。
(1) 峰值信噪比(Peak Signal to Noise Ratio,PSNR)[13]:
基于現(xiàn)代金融服務(wù)的ATM機(jī)、商戶POS機(jī)等基礎(chǔ)設(shè)施缺乏,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,互聯(lián)網(wǎng)金融已成為農(nóng)村的一種金融新業(yè)態(tài)。但是,農(nóng)村現(xiàn)代化的金融服務(wù)設(shè)施供給不足、農(nóng)民在互聯(lián)網(wǎng)金融中的風(fēng)險(xiǎn)意識(shí)薄弱等導(dǎo)致農(nóng)民難以充分享受到我國(guó)農(nóng)村金融改革和金融發(fā)展的成果。
(8)
(2) 歸一化相關(guān)系數(shù)(Normalized Correlation,NC)[14]:
(9)
為分析上述算法對(duì)不同水印嵌入到不同載體圖像的自適應(yīng)性問(wèn)題,本文采用以下兩組實(shí)驗(yàn)進(jìn)行水印的嵌入。對(duì)算法性能的評(píng)價(jià)采用峰值信噪比PSNR和歸一化相關(guān)系數(shù)NC,即:當(dāng)RPSN>20且CN>0.7時(shí),則說(shuō)明該算法有效;當(dāng)RPSN>30時(shí),則說(shuō)明水印的透明性能優(yōu)秀,具有很好的不可見性;當(dāng)CN>0.9時(shí),則說(shuō)明抗攻擊性能不錯(cuò),水印能夠被完整地提取出來(lái)[15]。
(1) 將同一水印嵌入到不同亮度的同一載體圖像。本文通過(guò)使用MATLAB函數(shù)imadjust對(duì)原始載體圖像scenery.jpg(2 048×1 448)進(jìn)行亮度調(diào)整,獲得兩幅曝光度不同的載體圖像,并分別對(duì)其進(jìn)行水印nculogo.png(244×244)的嵌入和提取,實(shí)驗(yàn)結(jié)果如表1中的第1-3行所示。結(jié)果表明,同一水印嵌入到亮度不同的同一載體圖像,其PSNR值基本不發(fā)生變化,均滿足RPSN>20且CN>0.7,說(shuō)明本文算法能夠有效地對(duì)亮度不同的載體圖像進(jìn)行水印強(qiáng)度的自適應(yīng)嵌入。
表1 自適應(yīng)性能測(cè)試結(jié)果
續(xù)表1
為評(píng)價(jià)上述算法的魯棒性及不可見性,采用上述算法將水印圖像nculogo.png(244×244)、ncu_1.png(86×86)、logo.tif(122×108)分別嵌入到載體圖像scenery.jpg(2 048×1 448)、trailer.jpg(1 024×684)、office_5.jpg(960×600)中,得到各自相應(yīng)的含水印圖像,計(jì)算各含水印圖像的PSNR值,具體情況如表2所示。采用濾波、縮放、裁剪、噪聲、旋轉(zhuǎn)等攻擊分別對(duì)各含水印圖像進(jìn)行攻擊實(shí)驗(yàn),從攻擊后的圖像中提取出水印圖像,計(jì)算其NC值并與文獻(xiàn)[16]進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表3所示。
表2 實(shí)驗(yàn)用水印圖像與載體圖像
表3 魯棒性測(cè)試結(jié)果
續(xù)表3
由表2可知,本文算法將不同的水印圖像分別嵌入到不同的載體圖像中,得到的各含水印圖像其PSNR值大小關(guān)聯(lián)著載體圖像及水印圖像的尺寸等特性因素,其PSNR均大于30或接近30,表明水印的嵌入并未使載體圖像質(zhì)量發(fā)生太大的變化,水印系統(tǒng)的透明性能優(yōu)秀,具有很好的不可見性。表3對(duì)各含水印圖像進(jìn)行的不同類型的攻擊實(shí)驗(yàn),結(jié)果表明,含水印圖像受攻擊后提取的水印圖像其NC值大小(反映魯棒性)關(guān)聯(lián)著載體圖像、水印圖像的特性以及攻擊的類型等因素。從攻擊類型來(lái)看,受濾波、縮放、裁剪(左上角1/8)、噪聲、旋轉(zhuǎn)等攻擊后提取的水印圖像其NC值較大,滿足CN>0.9,說(shuō)明算法抗攻擊性能很好,水印能夠被完整地提取出來(lái)。而受裁剪(中心1/4)攻擊后提取的水印圖像其NC值偏小,但均接近0.9,滿足CN>0.7,說(shuō)明該算法是有效的。與文獻(xiàn)[16]相比,本文算法在受裁剪(中心1/4)攻擊后提取的水印圖像其NC值小于文獻(xiàn)[16],其他類型攻擊后提取的水印圖像其NC值均大于文獻(xiàn)[16],表明該算法抵御上述攻擊的魯棒性總體上比文獻(xiàn)[16]更好。綜合而言,該水印系統(tǒng)在對(duì)抗不同類型攻擊時(shí)具有良好的魯棒性。
本文對(duì)自適應(yīng)圖像水印系統(tǒng)進(jìn)行了設(shè)計(jì)與研究,該水印系統(tǒng)實(shí)現(xiàn)過(guò)程簡(jiǎn)單,在水印嵌入過(guò)程中基于人類視覺(jué)系統(tǒng)的亮度掩蔽特性,優(yōu)化了水印的嵌入位置及嵌入強(qiáng)度因子,實(shí)現(xiàn)對(duì)水印的嵌入強(qiáng)度、嵌入位置等隨載體圖像各部分特性的不同而自適應(yīng)地嵌入。實(shí)驗(yàn)結(jié)果表明,該水印系統(tǒng)具有良好的自適應(yīng)性能,能較好地均衡系統(tǒng)的魯棒性和不可見性。但對(duì)于大范圍的裁剪和旋轉(zhuǎn)攻擊方面,該水印系統(tǒng)效果欠佳,有待進(jìn)一步改進(jìn)與完善。后續(xù)研究將該水印系統(tǒng)應(yīng)用于防偽溯源、版權(quán)保護(hù)、隱藏標(biāo)識(shí)、認(rèn)證等領(lǐng)域。