雍 輝,郭中華
(寧夏大學(xué) 物理電氣信息學(xué)院,寧夏 銀川 750021)
數(shù)字水印技術(shù)是實(shí)現(xiàn)多媒體信息認(rèn)證、版權(quán)保護(hù)的一種有效手段?,F(xiàn)有的數(shù)字水印技術(shù)主要分為空域、變換域和壓縮域??沼蛩惴ㄊ侵苯訉沼驍?shù)據(jù)進(jìn)行操作。變換域算法包括離散傅里葉變換、離散余弦變換和離散小波變換等。由于離散小波變換具有良好的時頻特性,因此基于小波變換的數(shù)字圖像水印算法的研究得到了普遍關(guān)注。按水印提取和檢測是否需要原始圖像參與區(qū)分,水印算法可分為明水印和盲水印[1]。明水印又稱為私有水印,在提取和檢測時需要原始圖像的參與。盲水印又稱為公有水印,在提取和檢測時不需要原始圖像的參與。近幾年來學(xué)術(shù)界研究的數(shù)字水印算法大多數(shù)屬于盲水印算法。
在基于小波變換的算法中,參考文獻(xiàn)[2]的基本思想是從離散小波變換的細(xì)節(jié)子帶(LH,HL,HH)中選擇 M個感知重要的系數(shù)進(jìn)行嵌入。參考文獻(xiàn)[3]中提出了基于分塊DWT變換的魯棒圖像水印算法,該算法先將原始圖像分成32×32的塊,然后對各塊分別用 Daubechies8濾波器進(jìn)行三級多分辨率分解;然后對每塊嵌入1 bit水印。參考文獻(xiàn)[4]提出了基于奇異值分解的自適應(yīng)水印算法,先根據(jù)人眼視覺模型,利用小波變換的能量特性做水印容量自適應(yīng)分析,然后分塊嵌入具有不同能量因子的水印。該算法對各種仿射變換具有非常好的抵抗能力,不足之處是提取水印時需要原始載體的相關(guān)矩陣數(shù)據(jù)。
本文提出的水印算法是基于混沌和SVD相結(jié)合的盲水印算法,充分利用小波分解多分辨特性,以及混沌和SVD所固有的特性,使得數(shù)字水印具有較強(qiáng)的抗攻擊魯棒性。在水印提取過程中不需要原始圖像,但是需要密鑰,因此提高了安全性。
水印圖像置亂不僅能去掉圖像的相關(guān)性,避免塊效應(yīng)的產(chǎn)生,增加水印的安全性,同時還能增加水印嵌入的魯棒性,使圖像信息的灰度值均勻分布在整幅載體圖像中,使其具有較強(qiáng)的抗剪切、破損和污染的能力。這里采用由logistic映射所描述的簡單動力系統(tǒng),用生成的混沌序列對原始水印圖像做置亂處理。logistic映射定義:
Xn+1=μXn(1-Xn)(1)式中,Xn∈(0,1),當(dāng) μ∈[3.569 945,4]時,系統(tǒng)處于混沌狀態(tài),如圖1所示。
另外,不同的初始狀態(tài)生成的序列是非周期、不收斂、不相關(guān)的,并對初值非常敏感。如圖2所示:X0=X1=0.123 123 1,μ0=3.58,μ1=4,2 種狀態(tài)下的混沌序列。
混沌序列[5]在水印技術(shù)中應(yīng)用主要有4個方面:(1)應(yīng)用混沌序列作為水印信息直接進(jìn)行嵌入操作;(2)應(yīng)用混沌序列對有意義水印的信息進(jìn)行調(diào)制;(3)應(yīng)用混沌序列對水印信息進(jìn)行置亂處理;(4)應(yīng)用混沌序列確定水印的嵌入位置。
本文應(yīng)用混沌序列對水印信息進(jìn)行置亂處理。首先選定初始值X0和μ作為水印圖像置亂和恢復(fù)的密鑰,以 X0迭代 N×N+1次,去掉初始值,對獲得的 N×N個值按大小進(jìn)行排序,得到相應(yīng)的一維排序序號index(k);然后將水印圖像按列排成一維向量w(i),w(i)對應(yīng)的值放入下標(biāo)為 index(k)=i的位置得到 w1(index(k));最后將該長度為 N×N的一維向量 w1(index(k))按列轉(zhuǎn)換為N行N列的二維矩陣w2(N,N),該矩陣即為置亂后的圖像矩陣。
按上述方法使用不同的密鑰進(jìn)行多次置亂則可進(jìn)一步增加水印的安全性。置亂圖像的恢復(fù)算法是上述置亂算法的逆過程。圖3為水印圖像的置亂與還原過程。由圖可以看出,由于logistic序列對初值的極端敏感性,只有獲得正確的密鑰才能恢復(fù)出水印圖像。
圖像小波變換的思想是把圖像進(jìn)行多分辨分解,分解成不同空間、不同頻率的子圖像,再對子圖像進(jìn)行系數(shù)編碼。圖像經(jīng)過離散小波分解后,數(shù)據(jù)的總量并沒有發(fā)生變化,只不過按照頻率信息的不同,重新進(jìn)行了分組和排列,便于信號的處理。對二維圖像進(jìn)行離散小波變換,首先是對圖像進(jìn)行行變換(即將原始圖像分為L/H),然后再進(jìn)行列變換(LL1,HL1,LH1,HH1)。 圖 4 給出了靜態(tài)圖像經(jīng)過3次離散小波變換后的多分辨率分解示意圖。分解后小波圖像具有與原圖像不同的特性,表現(xiàn)在低頻逼近子圖LL中集中了原始圖像的絕大部分信息,中高頻細(xì)節(jié)子圖LH、HL和HH保持了原始圖像的垂直邊緣細(xì)節(jié)、水平邊緣細(xì)節(jié)和對角邊緣細(xì)節(jié),它們刻畫了原始圖像的紋理和邊緣細(xì)節(jié)特征。隨著分解級數(shù)的增加,小波分解系數(shù)的范圍增大,說明高級的小波系數(shù)較重要。在第三級的LL3子帶的小波分解系數(shù)數(shù)值比別的子圖都大,能量也最大,說明LL3子帶最重要。在相同的分辨率下,LH、HL子帶比HH子帶的分解系數(shù)和能量都大。
圖4 3次小波變換的分解結(jié)構(gòu)示意圖
奇異值分解變換是一種正交變換,它可以將矩陣對角化,其定義為:
設(shè)矩陣 A∈Rm×n,則存在正交矩陣:U=[u1,u2,u3,…,um]∈Rm×m及 正 交 矩 陣 V=[v1,v2,v3, … ,vm]∈Rn×n, 使 得UTAV=diag(σ1,σ2,σ3,…,σp)=S,即 S=UTAV,由于 U 和V都是正交的,所以:
式(2)稱為A的奇異值分解。
σ1≥σ2≥…σp≥0,P=min{m,n},這 里 σi稱為 A 的奇異值,ui、vi分別稱為相應(yīng)于奇異值 σi的左右奇異向量。
在圖像中應(yīng)用SVD的主要優(yōu)點(diǎn):(1)圖像奇異值的穩(wěn)定性好,即當(dāng)圖像被施加小的擾動時,圖像的奇異值不會有大的變化,如果把各種攻擊看作擾動的話,這一點(diǎn)說明了在奇異值中嵌入水印必有不錯的魯棒性;(2)奇異值表現(xiàn)的是圖像的內(nèi)蘊(yùn)特性而非視覺特性,這為不可見性提供了保障;(3)在對圖像做奇異值分解所得的奇異值序列中,第1個奇異值比其他奇異值大得多。這對水印的嵌入非常有利,因此本文采用在塊奇異值的最大值中嵌入水印。
設(shè)I為載體圖像,W為水印圖像。
(1)利用1.1節(jié)的方法對水印圖像進(jìn)行置亂,置亂次數(shù)與混沌初值X0和μ0作為密鑰。
(2)對載體圖像I進(jìn)行1次小波分解(選擇Haar小波基),然后將得到的細(xì)節(jié)子帶(LL1)分成互不重疊的大小為8×8的子塊。
(3)對每一個8×8子塊進(jìn)行奇異值分解,按下列規(guī)則修改奇異值序列中的最大值。
z=round(s(1)/q);如果 mod(z+w,2)=1,那么 s(1)=(z-0.5)×q;否則 s(1)=(z+0.5)*q。
其中,s(1)是每塊中的最大奇異值,q是量化步長。
(4)嵌入所有水印后進(jìn)行小波逆變換得到嵌入水印后的圖像。
(1)對被測圖像進(jìn)行一次小波分解,把得到的細(xì)節(jié)子帶(LL1)分成互不重疊的大小為8×8的子塊。
(2)對每個 8×8子塊做奇異值分解,取出最大的奇異 值 s(1)′。
(3)采用奇偶判別法提取水印信息w′。
s′=floor(s(1)′/q);
如果 s′是奇數(shù),提取水印信息 w′=1;如果為偶數(shù),提取水印信息 w′=0。
(4)對提取出來的水印信息w′通過密鑰進(jìn)行反變換,即得到水印信息w。
為了檢驗(yàn)本算法的魯棒性和不可見性,本文采用2個常用指標(biāo)值來進(jìn)行度量。
(1)歸一化相似度NC,度量所提取的水印與原始水印的相似度,NC定義為:
(2)峰值信噪比PSNR,它是一個衡量噪聲對圖像影響程度的常用指標(biāo),也可以用來度量含水印圖像與原始圖像之間的質(zhì)量差別,PSNR定義為:
本文采用 Matlab(R2007)進(jìn)行仿真試驗(yàn),用 512×512大小的256灰度級圖像 Lena作為原始載體圖像,32×32大小的二值圖像作為水印圖像;試驗(yàn)的量化步長Q=118,含水印圖像與原始圖像之間的PSNR為44.413 2,未受攻擊時提取的水印與原始水印之間的NC為1。圖4為原始圖像和嵌入水印后的圖像,圖5為原始水印和提取出的水印。
表1為水印圖像受到不同攻擊類型的魯棒性測試的參數(shù)對比。圖6為水印圖像受到處理和攻擊時所提出的水印。
表1 水印圖像受攻擊試驗(yàn)的參數(shù)比較
從表1可以看出,含水印圖像經(jīng)過JPEG壓縮、添加噪聲、剪切、濾波攻擊后,提取出的水印能夠保持較強(qiáng)的魯棒性,且算法簡單易實(shí)現(xiàn),尤其在水印加密安全方面表現(xiàn)很好,從而驗(yàn)證了算法的可行性。其不足之處是水印抗旋轉(zhuǎn)攻擊的能力差。
本文提出了一種在小波變換域的低頻子圖中基于奇異值分解的量化水印算法。對原始水印進(jìn)行混沌置亂,把混沌初值作為密鑰,只有擁有正確密鑰才能提取出水印,增強(qiáng)了水印的安全性。另外,利用了奇異值分解的3個特性,使得水印不可見性好,抗攻擊能力較強(qiáng)。
[1]孫圣和,陸哲明.數(shù)字水印處理技術(shù)[J].電子學(xué)報(bào),2000,28(8):89-90.
[2]KUNDUR D,HATZINAKOS D.Digital watermarking using multiresolution wavelet decomposition[C].Proceedings of the 1998 IEEE International Conference on Acoustics, Speech,and Signal Processing(ICASSP'98),May12-15,1998:2969-2972.
[3]YANG J, LEE M H, PARK J Y.Enhancing robustness of informaion hiding against interference of communication with turbo code[C].IEEE Internatianal Symposium on Circuits and Systems(ISCAS’2003),May26-29,2002:I-13-I-16.
[4]王淑琴,張金海,王衛(wèi)民.一種基于奇異值分解的自適應(yīng)水印算法[J].計(jì)算機(jī)仿真,2008,25(8):109-112.
[5]YEN J C.Watermark embedded in permuted domain[J].Electronics Letters, 2001,37(2):80-81.
[6]楊華春.一種魯棒的基于DCT域的數(shù)字水印方案研究[J].微計(jì)算機(jī)信息,2009,6(3):49-51.