唐永軍
(湖南財(cái)經(jīng)工業(yè)職業(yè)技術(shù)學(xué)院,湖南 衡陽(yáng) 421002)
隨著互聯(lián)網(wǎng)時(shí)代的到來(lái),大量的數(shù)據(jù)都在網(wǎng)絡(luò)中進(jìn)行通信,隨之引發(fā)的安全問(wèn)題也越來(lái)越嚴(yán)重。數(shù)字水印作為一種有效的防偽手段,受到了學(xué)術(shù)界的高度重視,近年來(lái)很多學(xué)者都對(duì)此做出了不少研究,提升了數(shù)字水印的實(shí)際性能[1-3]。姚軍財(cái)?shù)萚4]提出了一種彩色圖像的盲水印算法。算法首先結(jié)合人眼對(duì)比敏感度視覺(jué)特性及其模型,在頻域中計(jì)算人眼感知原始圖像的對(duì)比敏感度閾值,保證了水印的透明性。陳善學(xué)等[5]利用最低有效位(LSB)方法,提出了一種數(shù)字水印在空間域進(jìn)行信息隱藏的方案,該算法利用QDCT的低頻模值系數(shù)嵌入空域的最低有效位,在抗JPEG壓縮、噪聲、對(duì)比度調(diào)節(jié)都取得了較好的效果。王瑩等[6]提出了基于QR分解的Contourlet域算法,對(duì)各種網(wǎng)絡(luò)攻擊具有較好的魯棒性,但是在水印隱藏方面則效果較差。總體來(lái)說(shuō),數(shù)字水印性能有兩大指標(biāo),即數(shù)字水印的隱蔽性以及魯棒性,而兩者又具有一定的矛盾,需要平衡。因此需要考慮一種能夠?qū)⑺⌒畔⒏与[蔽地隱藏到宿主圖像,同時(shí)利用圖像本身特征使水印方案對(duì)多種類型的攻擊具有更強(qiáng)魯棒性[7]。
本文提出一種基于小波變換的水印方案,在宿主圖像的基礎(chǔ)上進(jìn)行水印信息提取,再根據(jù)提取出的水印,向覆蓋對(duì)象添加偽隨機(jī)噪聲序列(PN)。實(shí)驗(yàn)基于(512×512)大小的圖像和大小為(8×8)的離散小波變換(DWT)塊,能更好地抵抗高斯濾波等攻擊。
本文提出改進(jìn)的離散小波變換(DWT)的圖像偽隨機(jī)噪聲(PN)序列水印算法。在本文算法中,用小波變換對(duì)LH和HL子帶進(jìn)行分解[8]。HAAR小波是一種正交歸一化小波,具有計(jì)算快速、完全可逆、沒(méi)邊緣效應(yīng)等優(yōu)勢(shì)[9]。Haar小波從水平和豎直兩個(gè)方向進(jìn)行低通和高通濾波,因此本文的數(shù)字水印也從兩個(gè)方向分別生成。算法中使用的水印以數(shù)字簽名形式存在,該水印簽名采用偽隨機(jī)碼的方式嵌入到輸入圖像的變換系數(shù)中。
對(duì)于每個(gè)位圖信息,都生成兩個(gè)不同的偽隨機(jī)噪聲(PN)矩陣,與小波系數(shù)矩陣的大小相同[10]。將相應(yīng)的兩個(gè)PN序列值分別加到對(duì)應(yīng)的第一級(jí)LH和HL系數(shù)值中,如公式(1)所示:
W=V+kXifb=0,
(1)
其中:V是宿主圖像的小波系數(shù),W是水印嵌入后的小波系數(shù),k是增益因子,X是PN值,b是需要嵌入的水印位。此時(shí)嵌入每個(gè)像素的水印是利用了PN值的的偽隨機(jī)性,因此增強(qiáng)了水印算法的安全性。
假設(shè)大小為M×N的圖像I(M,N)用作輸入,整個(gè)水印的嵌入流程如下:
步驟1:讀取要隱藏的消息并將其轉(zhuǎn)換為二進(jìn)制序列Dd(Dd= 1~n)。
步驟2:使用Haar小波變換對(duì)輸入圖像進(jìn)行變換,并獲得第一級(jí)子帶系數(shù)cc A,ccH,ccV,ccD。
步驟4:對(duì)于Dd= 1~n,當(dāng)添加位圖信息message為0時(shí),PN序列為ccH和ccV。
ccH= ccH +k*PN_h,
(2)
ccV= ccV +k*PN_v,
(3)
其中:k是用于指定嵌入數(shù)據(jù)強(qiáng)度的增益因子。然后用逆Haar小波變換生成最終的水印圖像Iw(M,N)。整個(gè)流程如圖1所示。
圖1 水印嵌入過(guò)程
為了檢測(cè)水印,在水印插入過(guò)程中,使用相同的狀態(tài)密鑰生成并使用相同的偽隨機(jī)值,同時(shí)用兩個(gè)細(xì)節(jié)子帶的DWT系數(shù)確定其平均相關(guān)性。然后,對(duì)于IH和HI子帶,得到了對(duì)應(yīng)于每個(gè)PN值的N個(gè)相關(guān)系數(shù)的平均值,最后將相關(guān)值的均值作為消息提取的閾值t。在檢測(cè)過(guò)程中,如果特定序列的平均相關(guān)性超過(guò)t,則設(shè)置為“0”;否則設(shè)置為“1”。然后,恢復(fù)過(guò)程在整個(gè)PN序列中進(jìn)行迭代,直到恢復(fù)水印的位圖信息。為了提取水印,對(duì)圖2所示的水印圖像應(yīng)用以下步驟:
步驟1:讀取水印圖像Iw(M,N),利用Haar小波變換對(duì)水印圖像進(jìn)行變換,得到CCA1、CCH1、CCV1、CCD1系數(shù)。
步驟3:利用以上步驟生成的PN序列對(duì),計(jì)算其相關(guān)系數(shù),并將這些值存儲(chǔ)在corr_h(i)和corr_v(i)中。
步驟4:計(jì)算相關(guān)平均值corr(i)=(corr_uh(i)+corr_v(i))/2。
步驟5.對(duì)計(jì)算結(jié)果進(jìn)行水印信息的提取。
圖2 水印提取過(guò)程
本文采用宿主圖像為256×256像素的圖片進(jìn)行實(shí)驗(yàn),水印圖像大小為32×32像素。Haar小波濾波器用于小波分解,將宿主圖像分解為4個(gè)子帶LL、LH、HL還有HH。水印圖像嵌入在LH和HL子帶。嵌入和提取的水印的流程如圖1和圖2所示。在隱蔽性方面的評(píng)價(jià),實(shí)驗(yàn)將峰值信噪比輸入和水印之間的比率(PSNR)作為隱蔽性性能的主要指標(biāo),PSNR以分貝作為單位。PSNR取決于平均值平方誤差(MSE),根據(jù)公式(4)、(5)計(jì)算出,公式中的Iv和Iw代表原始圖像和水印圖像,M和N為圖像大?。?/p>
(4)
(5)
在魯棒性的比較方面,本文用標(biāo)準(zhǔn)化的相關(guān)性來(lái)進(jìn)行比較。在提取水印之后,用輸入水印和提取水印的歸一化相關(guān)系數(shù)(NCC)來(lái)判斷水印的存在性。在公式中,h和w分別是水印的高度和寬度,Wo(i,j)和We(i,j)是坐標(biāo)軸(i,j)的原始值和加入水印后像素值,
(6)
圖3中表示PSNR值與高斯濾波不同窗口值大小下(0~10)的結(jié)果。本實(shí)驗(yàn)采用經(jīng)典的水印算法進(jìn)行對(duì)比,算法2是Hiratsuka提出的Patchwork算法[11],算法3是Chang等提出的DCT算法[12],算法4是是Maroua等提出的Fourier-Mellin算法[13],算法5是Etemad提出的加性Contourlet算法[14],可以看到本文提出的算法的PSNR值始終保持41 dB以上的值,在不同的窗口大小的表現(xiàn)平穩(wěn),明顯好于其他算法,平均PSNR有10%以上的改善。
圖3 高斯濾波下各算法PSNR值對(duì)比
圖4中的圖形是不同水印算法在SPHIT壓縮攻擊中不同壓縮比例的情況下NC值的比較??梢钥吹奖疚乃惴鼙3衷?.84以上的NC值,而其他算法的NC值明顯較低,其中Contourlet雙因子算法的NC值始終處于0.6以下,其他算法在穩(wěn)定性方面也不如本文算法,波形比較陡峭。
圖4 SPIHT壓縮下各算法NC值對(duì)比
對(duì)于幾種水印技術(shù),圖5顯示了在椒鹽噪聲攻擊下,不同噪聲密度(0~1)的PSNR值。在從密度為0~1的噪聲攻擊下,本文算法的PSNR值表現(xiàn)都優(yōu)于比對(duì)的經(jīng)典算法,以噪聲密度為0.6的情況為例,本文提出的算法的PSNR在39 db,同樣情況下PatchWork為31 db,傳統(tǒng)DCT為28 db,F(xiàn)ourier-Mellin為34.8 db,Contourlet雙因子算法為29.8 db。
圖5 椒鹽噪聲攻擊下不同算法的PSNR值
通常對(duì)水印圖像的攻擊有疊加噪聲,平滑濾波,JPEG壓縮等方式。本文對(duì)上述攻擊的抵抗能力進(jìn)行測(cè)試,將結(jié)果用歸一化系數(shù)來(lái)表示,參數(shù)和結(jié)果如表1所示。
從表1可以看到,本文提出的算法在針對(duì)常見(jiàn)的攻擊,都能將歸一化系數(shù)保持在0.95以上,其中對(duì)10%隨機(jī)分布的疊加噪聲的抗攻擊能力最強(qiáng)為0.987,總體而言本文算法具有較高抗攻擊能力,魯棒性較強(qiáng)。
表1 水印攻擊參數(shù)和結(jié)果
本文提出并實(shí)現(xiàn)了一種基于PN序列的離散小波水印算法。該算法采用二進(jìn)制圖像作為水印,即使在原始水印和提取水印之間的相關(guān)性較低的情況下,也可以通過(guò)恢復(fù)水印來(lái)增加魯棒性。在本文實(shí)現(xiàn)的算法中,通過(guò)對(duì)各種尺寸窗口1~10的高斯濾波攻擊,峰值信噪比值表現(xiàn)穩(wěn)定,與PatchWork、DCT等算法相比,隱蔽性和魯棒性具有較明顯的提高。在不同壓縮比例下的SPIHT攻擊中,本文算法能穩(wěn)定在0.8以上的NC值,特別在壓縮比為10~90的范圍內(nèi),算法的NC值明顯比對(duì)比算法更加穩(wěn)定。在所有噪聲密度為0~1的椒鹽噪聲攻擊下,本文算法具有很高的安全性,PSNR的值基本穩(wěn)定在35 dB以上。通過(guò)以上實(shí)驗(yàn)證明,本文提出的算法具有很強(qiáng)的魯棒性,同時(shí)具有良好的穩(wěn)定性,能適用于版權(quán)保護(hù)、軍事、醫(yī)療和執(zhí)法等相關(guān)圖像處理領(lǐng)域,為企業(yè)級(jí)數(shù)據(jù)加密保護(hù)提供有益參考。