羅 可,馮喬生,章秀君
(云南師范大學(xué) 計算機科學(xué)與信息技術(shù)學(xué)院,云南 昆明 650092)
隨著多媒體技術(shù)和計算機網(wǎng)絡(luò)技術(shù)的發(fā)展、普及,許多多媒體產(chǎn)品,如圖片、音頻、視頻及三維模型越來越易受非法擁有、復(fù)制和傳播。因此,如何有效保護(hù)版權(quán)和內(nèi)容完整的多媒體信息已被越來越多的研究人員所重視。數(shù)字水印技術(shù)是一種有效解決這些問題的方法,已成為圖像處理和多媒體信息安全的一個熱門話題。
根據(jù)水印嵌入位置,可以把水印分為兩大類:空間域和變換域。在數(shù)字水印的魯棒性方面變換域比空間域水印更好。變換域一般包括:離散余弦變換(DCT)、離散傅里葉變換(DFT)和離散小波變換(DWT)等。圖像矩陣奇異值分解(SVD)不僅能反映內(nèi)部圖像特征,而且具有良好的穩(wěn)定性 。 因此 ,提出了 DCT-SVD[1]、DFT-SVD[2]和DWT-SVD[3]域水印算法。基于SVD和不同變換域相結(jié)合的算法可以不同程度地提高水印技術(shù)。目前基于DWT的水印算法較基于DCT和DFT變換的方法要好,因為小波變換對于含“點奇異”的一維信號,能達(dá)到“最優(yōu)”的非線性逼近階。然而,對二維圖像而言,其奇異點往往不是孤立點,而是聚合成具有某些幾何特征的輪廓。目前常用的乘積型二維小波是一維小波的簡單擴展,各向同性的性質(zhì)導(dǎo)致方向選擇性差,一般不能有效地捕捉輪廓信息,這樣小波不再是表示圖像的最優(yōu)基函數(shù)。
本文提出一種混合Contourlet域和SVD新穎水印算法。Contourlet變換是新的多尺度幾何變換,不僅具有DWT的多分辨率和時頻局部性,而且提供了多方向性和各向異性,從而可以更全面地表示圖像本身的幾何特性。本方案是通過對水印進(jìn)行分塊置亂,把載體彩色圖像的RGB空間轉(zhuǎn)換為YUV空間,對明亮度Y矩陣進(jìn)行Contourlet變換,選擇低通子帶Contourlet域圖像進(jìn)行分塊,對子塊進(jìn)行SVD變換,修改其矩陣U相關(guān)系數(shù)來嵌入水印。不但保證了透明度,而且提高了魯棒性。
一種“真正”的圖像二維表示法——Contourlet變換,具有比DWT更靈活的對圖像多尺度描述特性,所以近年來基于Contourlet的圖像水印算法受到重視。這些算法大都將水印嵌入到能量較大的Contourlet變換方向子帶中,較好地利用了方向子帶的紋理特性。因為在Contourlet變換中,能量較大的方向子帶代表這個方向圖像紋理,邊緣信息豐富,并且意味著這部分的數(shù)據(jù)比較重要,選擇用來嵌入水印,較好地協(xié)調(diào)了魯棒性與透明性。
Contourlet變換使用雙濾波器結(jié)構(gòu)來獲取圖像的稀疏表示,特別是具有光滑輪廓的圖像:首先用拉普拉斯金字塔LP(Laplacian Pyramid)變換對圖像進(jìn)行多尺度分解以捕獲奇異點,接著由方向濾波器組DFB(Directional Filter Bank)將分布在同一方向上的奇異點合成1個系數(shù),如圖1所示。Contourlet變換的最終結(jié)果是用類似于線段(contour segment)的基結(jié)構(gòu)來逼近原始圖像。在頻域中,Contourlet變換提供了圖像的多分辨率、局部的方向的分解。圖 1展示了 Contourlet變換對“Lena”圖像進(jìn)行兩層的樹狀結(jié)構(gòu)分解,在每1層將頻域分解成4個和8個方向子帶,每個子帶呈鍥型。
圖1 “Lena”圖像兩層 Contourlet分解
與小波變換相比,Contourlet變換具有以下更好的特性[4-5]:(1)對圖像更加靈活的多尺度描述;(2)圖像進(jìn)行Contourlet分解后,系數(shù)之間是近似去相關(guān)的;(3)由于LP的冗余性,Contourlet變換具有4/3的冗余度。冗余度意味著有更多的可嵌入空間。
從圖像處理的角度,奇異值分解[6-7]具有以下主要特性:圖像的奇異值具有相當(dāng)好的穩(wěn)定性,即當(dāng)圖像受到輕微的擾動時,它的奇異值不會發(fā)生劇烈的改變,奇異值能夠表現(xiàn)出圖像內(nèi)在的代數(shù)特性。
奇異值分解是一種線性代數(shù)的工具,在圖像壓縮、信噪分離等方面有著廣泛的應(yīng)用。大小為m×n的矩陣A∈Cm×n的奇異值分解為:
式中,U∈Cm×n、V∈Cm×n是 2 個酉矩陣,即 UTU=E,VTV=E;D表示元素為非負(fù)數(shù)的對角陣;r≤min{m,n}是矩陣A 的秩;其中,σ1≥σ2≥…≥σn≥0,這里σi稱為 A 的奇異值;ui、vi分別為相應(yīng)于奇異值σi的左右奇異向量,且滿足:
因此U和V的列分別是AAT和ATA的特征向量,式(1)即稱為A的奇異值分解(SVD)式。
采用YUV色彩空間的重要性是它的亮度信號Y和色度信號U、V是分離的。目前提出的彩色圖像信息隱藏算法是利用人類視覺系統(tǒng)對藍(lán)光的不敏感特性,將秘密信息隱藏在彩色圖像的藍(lán)色分量中。但經(jīng)過實驗發(fā)現(xiàn),提取水印的效果不好(特別對JPEG壓縮)。考慮到上述原因,本文提出一種基于YUV彩色空間,是在Y亮度分量中嵌入水印信息的算法,從RGB到Y(jié)UV空間的變換采用的是JPEG2000推薦的可逆彩色變換。
YUV與RGB相互轉(zhuǎn)換的公式如下(RGB取值范圍為0~255):
新型變換矩陣W與Arnold矩陣[9]類似,但在同階情況下,前者比后者的周期長,如表1所示。因為周期越長,安全性就越好,所以新型變換矩陣W在圖像置亂應(yīng)用中更加有優(yōu)勢。本文用到的二階新型變換矩陣W考慮到數(shù)字圖像的需要,基于位置的圖像置亂的W變換可以改寫為:
式中,x,y∈(0,1,2…,N-1)表示某一像素點的坐標(biāo),而N是圖像矩陣的階數(shù)。
表1 二階W-矩陣和Arnold矩陣周期對比
一般W矩陣變換的周期都比Arnold矩陣變換的周期要大,這樣就增強了非法破解的難度。本文提出基于塊置亂,先對水印圖像進(jìn)行分塊置亂,再對圖像子塊置亂。這種雙重置亂方法可以大大提高算法的速度和破解的難度。
本文以大小為512×512的原始彩色圖像I和大小為32×32的二值水印圖像W作為實驗數(shù)據(jù),其水印嵌入算法描述如下:
(1)對原始水印W1進(jìn)行分塊置亂,再對每個小子塊進(jìn)行置亂,通過雙重置亂得到待嵌入的水印W2,保存密鑰key1和key2。
(2)對原始載體彩色圖像RGB空間轉(zhuǎn)換為YUV空間,對明亮度分量Y采用Contourlet變換進(jìn)行拉普拉斯金字塔LP變換和最精細(xì)子帶方向分解,提取其低頻逼近子圖 LL1,對低頻子帶 LL1劃分為 8×8互不相交的子塊,對每塊進(jìn)行置亂,再進(jìn)行SVD變換,修改矩陣U第1列的第2行和第3行系數(shù)值來嵌入水印。如果嵌入的水印 bit為 1時,判斷:|u21|-|u31|≥T(T是閾值),如果滿足這個關(guān)系,那么系數(shù)u21、u31保持不變;否則,改變系數(shù)u21、u31的值來維持這種關(guān)系。如果嵌入的水印bit值為0時,判斷:|u31|-|u21|≥T,如果滿足這個關(guān)系,那么系數(shù)u31、u21保持不變;否則,改變系數(shù) u31、u21的值來維持這種關(guān)系。
(3)對每塊進(jìn)行反置亂,再進(jìn)行奇異值反變換,得到新的LL1′子帶,再通過Contourlet變換重組得到新的明亮度Y′,將彩色圖像的 YUV空間轉(zhuǎn)換為 RGB空間,得到含水印的圖像 I′。
水印的提取是水印嵌入的逆過程:
(1)對待測試圖像 I″轉(zhuǎn)換為 YUV空間,并提取明亮度Y進(jìn)行Contourlet變換,選取低頻逼近子圖,對其再劃分為8×8互不相交的子塊,然后對每個子塊置亂再進(jìn)行SVD變換。
(2)判斷:如果|u21|-|u31|≥0,則提取水印的 bit為 1;否則為 0。
(3)根據(jù)密鑰key1、key2通過W矩陣反變換得到二值水印。
本文通過Matlab對嵌入算法和提取算法進(jìn)行實驗,以大小為 512×512×24的彩色圖像作為載體,如圖 2(a1)~(a3)所示,以 32×32的二值圖像作為水印,如圖 2(a4)所示。然后按照本文的嵌入算法和提取算法進(jìn)行實驗。Contourlet變換的LP濾波器采用“9/7”濾波器,因為這類濾波器是線性相位并且近似滿足正交性的特點更適合于圖像信號的處理。Contourlet變換的DFB濾波器采用“pkva”方向濾波器。對輸入的圖像明亮度Y矩陣進(jìn)行一級LP分解,得到1個近似圖像和2個帶通子圖像,通過DFB對帶通子圖像進(jìn)行8個方向的分解。本文選擇對低通逼近子圖嵌入水印。實驗中閾值T的大小決定了修改圖像頻譜的強度及影響提取水印圖像的清晰程度,因而閾值T大小的選擇要兼顧到這兩個方面。通過實驗分析,本文選取T為0.01。
對于RGB彩色圖像的視覺質(zhì)量的定量描述,本文使用基于像素的差分失真度量方法PSNR。
式中,MSE 表示兩幅圖像之間的均方誤差,I(x,y)、I′(x,y)分別表示在不同通道(RGB)的(x,y)處的像素值。
NC表示兩幅圖像之間的相似度。
本文引用含水印圖像和原宿主圖像的峰值信噪比(PSNR)和均方差(MSE)來定量地描述算法的不易察覺性,PSNR越大,MSE越小,不易察覺性越高。引用提取的水印信息與嵌入的水印信息之間的歸一化互相關(guān)系數(shù)(NC)來客觀定量地描述算法的魯棒性,NC越大,魯棒性越強。在無任何攻擊情況下,提取水印的歸一化相關(guān)系數(shù)(NC)都為1,如圖 2(b)所示??梢娫撍惴ǖ耐该餍院退∽R別性都比較好。
圖2 原始圖像和含水印圖像
表2 算法的魯棒性測試結(jié)果
為了驗證算法的實用性,本文選取3幅彩色圖像作為測試數(shù)據(jù),表2為在各種攻擊下水印圖像提取效果。這些攻擊包括低通濾波攻擊、噪聲攻擊、尺度縮放攻擊、剪切攻擊等。然后,采用不同的質(zhì)量因素(QF)的JPEG壓縮測試圖像抗攻擊效果。對JPEG壓縮攻擊的NC值如表3所示??梢姡疚乃惴梢员WC在有損壓縮(如JPEG壓縮)過程中,這些水印信號可以有效地提取出來。
表3 JPEG壓縮實驗結(jié)果比較
本文提出了一種CT-SVD方法相結(jié)合新穎的魯棒性較高的彩色圖像數(shù)字水印方案。此方案中,將彩色圖像RGB空間轉(zhuǎn)換為YUV空間,選取明亮度分量Y作為圖像,通過Contourlet變換對其分解后,選取低通逼近子圖對其分塊,應(yīng)用SVD技術(shù)嵌入水印。該算法在進(jìn)行水印檢測時不需要原始圖像,實驗結(jié)果表明,本文提出的方案不僅感知質(zhì)量高,而且可以抵抗各種攻擊。
[1]HUANG F,GUAN Z H.A hybrid SVD-DCT watermarking method based on LPSNR[J].Pattern Recognition Letters,2004,25(15):1769-1775.
[2]ZHANG X H,YANG Y T.A geometric distortion resilient image watermark algorithm based on DFT-SVD[J].Computer Engineering 2006,32(18):120-122.
[3]GANIC E,ESKICIOGLU A M.Robust DWT-SVD domain image watermarking:embedding data in all frequencies[C].Proc.2004ACM Multimedia and Security Workshop,Magdeburg, Germany,2004:166-174.
[4]DO M N,VETTERLI M.The Contourlet transform:an efficient directionalmultiresolution image representation[J].IEEE Trans on Image Processing, 2005,14(12):2091-2106.
[5]SONG Hao Hao, YU Song Yu, YANG Xiao Kang.Contourlet-based image adaptive watermarking[J].IEEE Trans on Image Processing, 2008,23(3):162-178.
[6]CHANG Chin-Chen, TSAI Pi Yu, LIN Chia Chen.SVD-based digital image watermarking scheme[J].Pattern Recognition Letters.2005,10(26):1577-1586.
[7]LIU Rui Zhen,TAN Tie Niu.SVD based digital watermarking method[J].Acta Electronica Sinica.2001,29(2):168-171.
[8]吳亞麗.一種可用于圖像置亂的新型變換矩陣[J].電子科技,2008,21(3):69-72.
[9]董梅,高康.矩陣奇異值分解和Arnold置亂技術(shù)在圖像隱藏中的應(yīng)用[J].山東大學(xué)學(xué)報:理學(xué)版,2005,40(3):71-75.