謝建宏 劉亦葉
(南昌大學信息工程學院 江西 南昌 330031)
隨著信息技術的飛速發展和互聯網等傳播媒介的普及,包括圖片、音頻、視頻等在內的網絡數字媒體得到廣泛應用,版權保護已經成為一個重要而迫切的現實問題[1]。數字水印技術,作為數字媒體版權保護的有效辦法,已經在國內外引起人們極大的興趣,并成為國內外研究的熱點[2-3]。
當前數字水印技術的研究大都圍繞水印的魯棒性、不可見性等因素進行,然而水印的不可見性與魯棒性是互相矛盾的兩方面[4]。在載體信息中嵌入更多的水印信息,則水印系統抗攻擊的性能得到提升,魯棒性增強,然而不可見性會變差;反之如果嵌入的水印信息較少,則不可見性較好,但含水印的載體數據受到些許干擾時可能很難提取出水印信息,魯棒性隨之變差。如何平衡這對矛盾是設計數字水印必須面對和解決的重要問題[5]。圍繞該問題,自適應水印技術的研究應運而生,其目的是實現對水印的嵌入強度、嵌入位置等隨載體信號各部分特性的不同而自適應地嵌入,以解決數字水印的不可見性與魯棒性的均衡問題,并盡可能實現算法較低的復雜度,增強算法的實用性。迄今已有大量不同的自適應水印算法[6-8],大多數研究在于提升嵌入水印信息的不可見性和增強抵抗水印攻擊的魯棒性,然而數字水印在不可見性和魯棒性兩者之間仍舊難以取得較優均衡,水印算法的復雜度與實用性有待進一步優化,這也是當前水印算法設計應用過程中遇到的主要瓶頸。
圍繞數字水印的不可見性與魯棒性的均衡問題,本文基于離散小波變換,設計一種自適應圖像水印系統,根據人類視覺系統的亮度掩蔽特性,優化水印的嵌入位置及嵌入強度因子,實現水印的自適應嵌入,并對水印系統性能進行評價。
為實現對水印的嵌入強度、嵌入位置等隨載體圖像信號各部分特性的不同而自適應地嵌入,并解決數字水印的不可見性與魯棒性的均衡問題,本文設計了一種自適應圖像水印系統,該系統主要包括自適應圖像水印的嵌入、圖像水印的提取、系統的實現與性能評價三大功能模塊。自適應圖像水印的嵌入模塊又包括載體圖像的小波變換、小波子塊劃分、水印嵌入位置的選取、自適應嵌入強度的計算、水印圖像的反色處理、水印圖像的Arnold置亂等子功能模塊。圖像水印的提取模塊又包括含水印圖像的小波變換、載體圖像的小波變換、小波子塊劃分、水印信息的提取、水印信息的反Arnold置亂、水印信息的反色處理等子功能模塊。系統的實現與性能評價模塊主要包括算法的Matlab編程與實現、自適應性評價、魯棒性與不可見性評價等子功能模塊。該自適應圖像水印系統的具體功能框圖如圖1所示。

圖1 自適應圖像水印系統功能框圖
不同的載體圖像具有不同的特性,其不同部分的輪廓、紋理、能量大小也不盡相同。載體圖像經過小波分解[9]后得到低頻近似分量LL、高頻水平細節分量LH、高頻垂直細節分量HL、高頻對角細節分量HH。低頻近似分量LL是原始圖像的逼近子圖像,這部分可以繼續分解,而其他三個高頻細節分量主要表征原圖像分別在水平、垂直、對角線方向的輪廓和紋理等邊緣細節信息。
如果將水印嵌入到經過小波變換的載體圖像的高頻部分,根據人類視覺系統的紋理掩蔽特性,水印嵌入后不易被人眼察覺。但由于高頻部分信息占整個圖像數據的比例一般非常低,容易受外來因素如噪聲、濾波、幾何變換的干擾,穩定性較差,嵌入的水印信息很容易丟失,魯棒性不強。因此,高頻部分(LH、HL、HH)不進行水印嵌入。由于二級小波分解后的低頻部分LL2與其他同級高頻部分相比,小波系數相對更大,意味著這部分占據了圖像大部分能量,在低頻部分LL2嵌入水印,信息不易丟失,具有很強的魯棒性。因此,本文將水印嵌入到二級小波分解后的低頻部分LL2。
低頻部分LL2代表了包含輪廓等信息的平滑部分,人眼對這部分的改變極為敏感,嵌入的水印強度如果不經過處理,很容易使原圖像的質量下降,產生失真。根據人類視覺系統的特性,選取適當的水印嵌入強度因子,并且能夠根據不同圖像內容進行自適應的調節,同時滿足嵌入水印強度低于人類視覺系統(Human Visual System,HVS)的臨界不可見門限[10],以保證水印系統的魯棒性和不可見性。
由于一幅圖像不同區域的亮度和紋理復雜程度等特征不同,所以臨界不可見門限也有差別。為了充分利用這一差別,本文對載體圖像嵌入水印的區域進行分塊處理,在水印信息嵌入之前,計算包括嵌入位置在內的周圍一個區塊的亮度平均值,再根據人眼亮度感覺和對比靈敏度閾值等參數確定嵌入水印強度因子的大小。
對比靈敏度閾值又稱韋伯比[11],其計算方法如下:
(1)
式中:B是背景亮度,ΔB是在背景上疊加的亮度。對于不同亮度的背景,人眼能夠察覺到的亮度變化閾值也不同。研究表明,一般情況下,k=0.018是人眼剛好能夠分辨出的亮度變化極限值。當曝光過強或不足時,背景越亮或越暗,此時k可達到0.05或更大,水印嵌入強度可適當提高。
同時,水印嵌入強度的大小與水印的平均像素值有關。水印圖像平均像素值越高,其嵌入到載體圖像后的可見性越高,為滿足不可見性要求,則相應的嵌入強度要越低。為了保證高平均像素值的水印圖像也能具有盡可能大的嵌入強度,即滿足魯棒性要求,則需對水印圖像進行反色預處理,具體為:若水印圖像平均像素值大于127,則對任意像素值x,將其像素值修改為255-x,否則像素值不變。
設水印嵌入強度為α,水印經過反色預處理后的像素最大值為127,對應嵌入水印的載體圖像區域像素亮度平均值為A,則在平滑區嵌入水印時,應滿足:
(2)
由此可得水印嵌入強度最大值為:
(3)
由韋伯-費希納定律[12],人眼對某一子塊的主觀亮度感覺S(心理量)與該子塊背景的客觀平均亮度B(物理量)的對數成正比,公式表述如下:
S=KlgB+K0
(4)
式中:K是常數,是引起主觀差別感覺的相對強度,K0是積分常數,通常K0=0。B越大或越小,即子塊平均亮度與128這個中間像素值的差的絕對值越大,則嵌入的強度越大。為滿足嵌入水印的不可見性,式(4)中的常數K取通過韋伯比計算出的基本嵌入強度因子α0,最終確定嵌入強度因子計算公式如下:
α=α0×lg(|A-128|+10)
(5)

對載體圖像進行二級小波分解后,在低頻小波系數LL2中隨機選擇N×N(水印圖像大小)個系數嵌入經過反色和Arnold置亂預處理的水印信息,具體嵌入算法如下:
(1) 對低頻小波系數LL2劃分為適當的子塊,如25×25個子塊(若無法保證按方塊均勻劃分,可以選取適當的矩形塊狀劃分)。
(2) 計算每一子塊的像素亮度平均值A,根據不同的亮度平均值計算出每一子塊最合適的嵌入強度α,公式如下:
(6)
(3) 基于人類視覺系統HVS的亮度掩蔽特性,若水印亮度值越大,則應嵌入背景亮度越接近極值的子塊。據此,從亮度角度對載體圖像的小波子塊平均亮度和反色處理后的水印圖像像素值大小分別劃分為亮、暗、較亮、較暗四類,水印圖像像素值大的水印信息(亮的)隨機嵌入背景亮的小波子塊中,以此規則類推得到如圖2所示的嵌入方式。

圖2 小波子塊和水印信息亮度分類后的嵌入方式
(4) 對每一個小波子塊都按已知自適應強度因子嵌入對應的水印信息,本文采用加法準則的嵌入方式,嵌入公式為:
F′(x,y)=F(x,y)+α·Wa(x,y)
(7)
式中:α為自適應強度因子,Wa(x,y)是反色置亂后的水印在(x,y)位置的信息,F(x,y)為小波子塊的原始小波系數,F′(x,y)為嵌入水印后的小波系數。
將經過以上操作的圖像的小波系數進行離散小波逆變換即可得到嵌入水印后的圖像,完整的自適應水印嵌入算法流程如圖3所示。

圖3 自適應水印嵌入算法流程
該嵌入算法實現的核心MATLAB程序代碼為:
ntimes=23;
%密鑰1,Arnold置亂次數
rngseed=59433;
%密鑰2,隨機種子數
flag=1;
%顯示中間圖像
[Iw,psnr]=setdwtwatermark(I,W,ntimes,rngseed,flag);
%水印嵌入
%%水印嵌入函數setdwtwatermark.m
function[Iw,psnr]
=setdwtwatermark(I,W,ntimes,rngseed,flag)
%I為載體圖像,W為水印圖像,Iw為添加了水印信息的圖像,psnr為峰值信噪比,越大則說明水印質量越好。


圖4 水印提取算法流程
該提取算法實現的核心MATLAB程序代碼為:
ntimes=23;
%密鑰1,Arnold置亂次數
rngseed=59433;
%密鑰2,隨機種子數
flag=1;
%顯示中間圖像
[Wg,nc]=getdwtwatermark(Iw,W,ntimes,rngseed,flag);
%水印提取
%%水印提取函數getwatermark.m
function[Wg,nc]
=getdwtwatermark(Iw,W,ntimes,rngseed,flag)
%Iw為添加了水印信息的圖像,W為原始水印,用于計算相關性,Wg為提取出的水印,nc為相關系數。
本文實驗平臺: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)。
對數字水印系統受攻擊后的性能進行評價,既可以利用人類感知系統進行定性評價,也可以利用相關標準進行定量評價。論文采用以下兩個指標對水印系統性能進行評估與分析。
(1) 峰值信噪比(Peak Signal to Noise Ratio,PSNR)[13]:
基于現代金融服務的ATM機、商戶POS機等基礎設施缺乏,隨著互聯網技術的發展,互聯網金融已成為農村的一種金融新業態。但是,農村現代化的金融服務設施供給不足、農民在互聯網金融中的風險意識薄弱等導致農民難以充分享受到我國農村金融改革和金融發展的成果。
(8)

(2) 歸一化相關系數(Normalized Correlation,NC)[14]:
(9)

為分析上述算法對不同水印嵌入到不同載體圖像的自適應性問題,本文采用以下兩組實驗進行水印的嵌入。對算法性能的評價采用峰值信噪比PSNR和歸一化相關系數NC,即:當RPSN>20且CN>0.7時,則說明該算法有效;當RPSN>30時,則說明水印的透明性能優秀,具有很好的不可見性;當CN>0.9時,則說明抗攻擊性能不錯,水印能夠被完整地提取出來[15]。
(1) 將同一水印嵌入到不同亮度的同一載體圖像。本文通過使用MATLAB函數imadjust對原始載體圖像scenery.jpg(2 048×1 448)進行亮度調整,獲得兩幅曝光度不同的載體圖像,并分別對其進行水印nculogo.png(244×244)的嵌入和提取,實驗結果如表1中的第1-3行所示。結果表明,同一水印嵌入到亮度不同的同一載體圖像,其PSNR值基本不發生變化,均滿足RPSN>20且CN>0.7,說明本文算法能夠有效地對亮度不同的載體圖像進行水印強度的自適應嵌入。

表1 自適應性能測試結果

續表1
為評價上述算法的魯棒性及不可見性,采用上述算法將水印圖像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)中,得到各自相應的含水印圖像,計算各含水印圖像的PSNR值,具體情況如表2所示。采用濾波、縮放、裁剪、噪聲、旋轉等攻擊分別對各含水印圖像進行攻擊實驗,從攻擊后的圖像中提取出水印圖像,計算其NC值并與文獻[16]進行對比,實驗結果如表3所示。

表2 實驗用水印圖像與載體圖像

表3 魯棒性測試結果

續表3
由表2可知,本文算法將不同的水印圖像分別嵌入到不同的載體圖像中,得到的各含水印圖像其PSNR值大小關聯著載體圖像及水印圖像的尺寸等特性因素,其PSNR均大于30或接近30,表明水印的嵌入并未使載體圖像質量發生太大的變化,水印系統的透明性能優秀,具有很好的不可見性。表3對各含水印圖像進行的不同類型的攻擊實驗,結果表明,含水印圖像受攻擊后提取的水印圖像其NC值大小(反映魯棒性)關聯著載體圖像、水印圖像的特性以及攻擊的類型等因素。從攻擊類型來看,受濾波、縮放、裁剪(左上角1/8)、噪聲、旋轉等攻擊后提取的水印圖像其NC值較大,滿足CN>0.9,說明算法抗攻擊性能很好,水印能夠被完整地提取出來。而受裁剪(中心1/4)攻擊后提取的水印圖像其NC值偏小,但均接近0.9,滿足CN>0.7,說明該算法是有效的。與文獻[16]相比,本文算法在受裁剪(中心1/4)攻擊后提取的水印圖像其NC值小于文獻[16],其他類型攻擊后提取的水印圖像其NC值均大于文獻[16],表明該算法抵御上述攻擊的魯棒性總體上比文獻[16]更好。綜合而言,該水印系統在對抗不同類型攻擊時具有良好的魯棒性。
本文對自適應圖像水印系統進行了設計與研究,該水印系統實現過程簡單,在水印嵌入過程中基于人類視覺系統的亮度掩蔽特性,優化了水印的嵌入位置及嵌入強度因子,實現對水印的嵌入強度、嵌入位置等隨載體圖像各部分特性的不同而自適應地嵌入。實驗結果表明,該水印系統具有良好的自適應性能,能較好地均衡系統的魯棒性和不可見性。但對于大范圍的裁剪和旋轉攻擊方面,該水印系統效果欠佳,有待進一步改進與完善。后續研究將該水印系統應用于防偽溯源、版權保護、隱藏標識、認證等領域。