藍(lán)夏梅 ,李宏昌
(1.武警工程大學(xué) 研究生管理大隊(duì),陜西 西安 710086;2.武警工程大學(xué) 理學(xué)院,陜西 西安 710086)
數(shù)字水印算法中,基本上是針對灰度圖像的,對于彩色圖像數(shù)字水印算法的研究相對較少。針對彩色圖像數(shù)字水印的算法,參考文獻(xiàn)[1]認(rèn)為,人類視覺系統(tǒng)對藍(lán)色的變化不太敏感,因此在藍(lán)色分量當(dāng)中嵌入水??;參考文獻(xiàn)[2]同時(shí)在紅(R)、綠(G)和藍(lán)(B)3 個顏色分量通道嵌入水印,雖然效果較好,但計(jì)算量太大,不宜采用;參考文獻(xiàn)[3]認(rèn)為在綠色分量中嵌入水印能有效抵抗JPEG有損壓縮。一般的彩色圖像數(shù)字水印方案在嵌入水印時(shí)都是按照固定的顏色分量進(jìn)行嵌入,并沒有考慮選擇合適的顏色分量對不同彩色圖像的數(shù)字水印進(jìn)行操作。本文提出一種雙水印算法,可以在DCT域中加入魯棒水印和半脆弱水印,利用人類視覺隱蔽特性,在RGB顏色空間中,根據(jù)各顏色分量的特性選擇適當(dāng)?shù)念伾至壳度牒吞崛∷?。?shí)驗(yàn)表明,該算法穩(wěn)健性較好,可以抵抗常見的圖像處理等攻擊,達(dá)到水印不可見性與魯棒性的良好折中。
一般情況下,數(shù)字水印算法都選擇固定的顏色分量進(jìn)行水印的嵌入,本文根據(jù)RGB各顏色分量的特性來選擇嵌入的位置。顏色分量選取的具體步驟如下[4]:
(1)對 RGB顏色空間的各個分量 R、G、B進(jìn)行 DCT變換,得到各分量的 DCT 圖像 R1、G1、B1。
(2)計(jì)算 R1、G1、B1的掩蔽特征向量, 記為 F={L,W},其中L表示亮度掩蔽特性分量,W表示紋理掩蔽特性分量。
根據(jù)人類視覺隱蔽特性,選擇掩蔽強(qiáng)度最大的顏色分量嵌入魯棒水印,選擇掩蔽強(qiáng)度次于隱蔽強(qiáng)度最大的顏色分量的顏色分量嵌入半脆弱水印。
若圖像大小為 M×N,X(i,j)表示圖像上第 i行 j列像素點(diǎn)的像素值,圖像亮度隱蔽特性L和紋理隱蔽特性W的計(jì)算公式為:
(3)對 R1、G1、B1的掩蔽特征向量進(jìn)行比較,選擇綜合掩蔽特性最好的顏色分量嵌入魯棒水印,對剩余的兩個顏色分量進(jìn)行比較,選擇綜合隱蔽特性好的顏色分量嵌入半脆弱水印。
2.1.1 魯棒水印的生成
實(shí)驗(yàn)中采用64×64的二值有意義圖像作為水印圖像,為了保證水印的安全性,首先對水印圖像進(jìn)行N次Arnold變換,破壞其空域相關(guān)性,以抵抗諸如剪切、JPEG壓縮之類的攻擊。其次,通過混沌系統(tǒng)產(chǎn)生的混沌序列對水印圖像進(jìn)行加密,以確保水印的安全性[5]。
2.1.2 半脆弱水印的生成
將圖像縮小至64×64大小,通過Canny算子提取圖像的圖像邊緣特征作為水印信息,對提取的水印信息進(jìn)行 N次Arnold變換,得到水印圖像 w2[6-8]。
選擇原始載體圖像為512×512的彩色圖像,魯棒水印為64×64的二值圖像,半脆弱水印為圖像特征的二值圖像。嵌入過程如下:
(1)對原始載體圖像I進(jìn)行RGB分解。
(2)選取嵌入魯棒水印和嵌入半脆弱水印的顏色分量。
(3)將水印圖像進(jìn)行15次Arnold變換,得到置亂后的水印圖像,對此進(jìn)行混沌加密,得到加密后的水印圖像w1。
(4)在選取的嵌入魯棒水印分量上進(jìn)行 8×8分塊的DCT變換,按照J(rèn)PEG質(zhì)量因子為0.5的量化表對DCT變換系數(shù)進(jìn)行量化,并對量化后的系數(shù)進(jìn)行zig-zag排序。
(5)將水印w1嵌入到每個 8×8 分塊中,記為 Ii×j,在每個分塊中選擇兩個中頻系數(shù) X11、X16。具體嵌入規(guī)則為:如果 w1[i,j]=1,X11
(6)對每個分塊進(jìn)行IDCT變換,得到魯棒水印分量上的含水印圖像。
(7)將圖像縮小至64×64大小,通過Canny算子提取圖像的邊緣特征作為水印信息,對提取的水印信息進(jìn)行32次 Arnold變換,得到水印圖像 w2。
(8)在選取嵌入半脆弱水印的分量上進(jìn)行 8×8分塊的DCT變換,按照J(rèn)PEG質(zhì)量因子為0.5的量化表對DCT變換系數(shù)進(jìn)行量化,并對量化后的系數(shù)進(jìn)行zig-zag排序。
(9)將水印圖像 w2嵌入到每個 8×8分塊的低頻系數(shù)中,記為 Ii×j,在每個分塊中選擇兩個中頻系數(shù) X3、X7。具體嵌入規(guī)則為:如果 w2[i,j]=1,X3
(10)對每個分塊進(jìn)行IDCT變換得到半脆弱水印分量上的含水印圖像。
(11)將得到的魯棒水印的顏色分量、半脆弱水印的顏色分量上的含水印圖像,與原始載體圖像中沒有嵌入水印圖像的分量合成為含水印的彩色圖像。
水印提取不需要原始載體圖像和原始水印,提取算法是水印嵌入算法的逆過程,具體提取步驟如下。
(1)對嵌入水印后的載體圖像進(jìn)行RGB分解。
(2)根據(jù)顏色分量選取方法確定嵌入魯棒水印和半脆弱水印的顏色分量。
(3)對嵌入魯棒水印的顏色分量進(jìn)行 8×8分塊的DCT變換。
(4)提取嵌入的二值水印圖像。
(5)對提取出的水印圖像進(jìn)行 15次 Arnold變換,得到魯棒水印圖像。
(6)對嵌入半脆弱水印的顏色分量進(jìn)行 8×8分塊的DCT變換。
(7)提取嵌入的半脆弱水印。
(8)對提取的半脆弱水印進(jìn)行 32次 Arnold變換,得到半脆弱水印圖像。
為了判定含水印圖像的部分內(nèi)容是否遭受惡意篡改,可按如下步驟進(jìn)行認(rèn)證。
(1)從含水印圖像H中提取出半脆弱水印圖像。
(2)將 H縮小至 64×64大小,通過 Canny算子提取圖像的圖像邊緣特征。
(3)由提取出的水印圖像和提取的圖像邊緣特征進(jìn)行差值圖像處理,生成一個差值圖像。
(4)依據(jù)差值圖像判斷嵌入水印后的圖像是否遭受惡意篡改,并進(jìn)行篡改定位。
采用24位真彩色lena圖像和pepper圖像作為實(shí)驗(yàn)對象,驗(yàn)證算法的有效性。
將彩色圖像在RGB顏色空間進(jìn)行顏色分量的分解,得到R、G、B 3個顏色分量圖像。lena圖像及其RGB空間各顏色分量如圖1所示;pepper圖像及其RGB空間各顏色分量如圖2所示。
圖1 lena圖像RGB空間各顏色分量
圖2 pepper圖像RGB空間各顏色分量
根據(jù)本文提出的顏色分量選取方法,選擇嵌入魯棒水印和半脆弱水印的顏色分量。計(jì)算出lena圖像的掩蔽特性如表1所示,pepper圖像的掩蔽特性如表2所示。
表1 lena圖像的掩蔽特性表
表2 pepper圖像掩蔽特征表
從表1可以看出,lena彩色圖像的B分量亮度掩蔽特性和紋理掩蔽特性最大,則選擇綜合掩蔽特性最好的B分量易進(jìn)行魯棒水印的操作,而G分量的亮度掩蔽特性和紋理掩蔽特性比R分量的好,則選擇G分量易進(jìn)行半脆弱水印的操作;對于pepper彩色圖像而言,G分量的亮度掩蔽特性和紋理掩蔽特性最大,則選擇綜合掩蔽特征最好的G分量易進(jìn)行魯棒水印的操作,而R分量的亮度掩蔽特性和紋理掩蔽特性比B分量好,則選擇R分量易進(jìn)行半脆弱水印的操作。
水印嵌入效果如圖 3所示。其中,圖 3(a)為原始lena圖像,圖 3(b)為嵌入水印后的 lena圖像,峰值信噪比PSNR=39.89 dB。顯然,該算法具有良好的不可感知性,嵌入前后看不出有什么區(qū)別。同時(shí),在沒有攻擊的情況下,可正確無誤地提取出嵌入的水印圖像。圖3(c)、圖 3(d)為嵌入前的雙水印圖像,圖 3(e)、圖 3(f)為嵌入后提取的雙水印圖像(NC=1)。
對含水印圖像做常見的攻擊測試,驗(yàn)證本文算法的魯棒性。采用歸一化相關(guān)系數(shù)(NC)衡量提取出的水印圖像與原始水印圖像的相似程度。表3為通過本文算法提取出的魯棒水印和半脆弱水印的NC值。
圖3 水印嵌入效果
表3 lena圖像雙水印實(shí)驗(yàn)結(jié)果
對含水印圖像進(jìn)行剪切、拼貼攻擊等惡意的篡改,驗(yàn)證算法的有效性及篡改定位的準(zhǔn)確性。以拼貼攻擊為例,半脆弱水印的檢測效果如圖4所示。
圖4 半脆弱水印的檢測
本文針對真彩色圖像,在圖像低頻系數(shù)上嵌入魯棒水印標(biāo)示版權(quán),并在圖像中頻系數(shù)上嵌入檢測篡改的半脆弱水印。仿真實(shí)驗(yàn)表明,該算法具有良好的不可感知性,嵌入的水印對剪切、JPEG壓縮等各種圖像處理魯棒性好,而且對惡意篡改非常敏感并能夠準(zhǔn)確定位篡改位置,具有實(shí)用價(jià)值。
[1]于帥珍,沈建國.基于 DCT和 DWT的彩色圖像盲數(shù)字水印算法[J].計(jì)算機(jī)應(yīng)用與軟件,2007,24(8):210-212.
[2]楊益,李云峰.基于DCT的彩色圖像數(shù)字水印算法[J].計(jì)算技術(shù)與自動化,2008,27(4):136-139.
[3]石紅芹,呂方亮,劉遵雄.基于混沌加密的彩色圖像盲數(shù)字水印算法[J].計(jì)算機(jī)工程,2011,37(20):105-107.
[4]常競,王玲.一種顏色分量選取方案在彩色圖像數(shù)字水印中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(3):255-257.
[5]楊永峰.彩色圖像數(shù)字水印技術(shù)研究[D].蘭州:蘭州理工大學(xué),2007.
[6]張建軍.基于JPEG的半脆弱數(shù)字水印技術(shù)研究[D].長春:吉林大學(xué),2010.
[7]呂林濤,郝亮.面向圖像內(nèi)容認(rèn)證的半脆弱數(shù)字水印算法[J].計(jì)算機(jī)應(yīng)用.2010,30(5):1239-1242
[8]李海華.基于圖像特征的認(rèn)證水印技術(shù)研究[D].杭州:杭州電子科技大學(xué),2009.