鄧文權(quán),廖述劍
(太原理工大學(xué) 信息工程學(xué)院,山西 太原030024)
隨著現(xiàn)代科技的飛速發(fā)展,人們?nèi)找骖l繁地接觸到各種各樣的數(shù)字化產(chǎn)品。在開放的網(wǎng)絡(luò)環(huán)境下也滋生出一系列的關(guān)于版權(quán)保護(hù)的問題。當(dāng)今時(shí)代,盜版者輕易就可得到與原版相同的復(fù)制品,某些重要的機(jī)密,如涉及司法訴訟、政府機(jī)要等信息也會(huì)遭到惡意攻擊和篡改偽造。數(shù)字水印是一種非常有效的信息安全技術(shù),相對(duì)于其他的版權(quán)保護(hù)系統(tǒng),數(shù)字水印技術(shù)有著先天的巨大優(yōu)勢(shì),只需要稍稍一點(diǎn)失真度就可以把數(shù)字水印永久地嵌入到多媒體數(shù)據(jù)中。受版權(quán)保護(hù)圖像中嵌入水印信息,水印檢測(cè)過程中,通過密鑰提取水印并檢測(cè)圖像的所有版權(quán),對(duì)版權(quán)信息進(jìn)行確認(rèn)。在出現(xiàn)版權(quán)糾紛時(shí),作品所有者利用從盜版作品中提取的水印信號(hào)作為指證的依據(jù),依法維護(hù)自己的合法權(quán)益,數(shù)字水印技術(shù)逐漸成為知識(shí)產(chǎn)權(quán)保護(hù)和數(shù)字多媒體防偽的有效手段[1]。
早期的數(shù)字水印算法多是基于空間域的方法,在嵌入水印時(shí),只是直接改變宿主圖像的像素值,多是在圖像的紋理變化區(qū)域。這種方式嵌入的水印在遇到有損壓縮、裁剪等攻擊時(shí)極易受到破壞。而變換域算法[2]則是先把原始圖像進(jìn)行變換,然后把水印信息嵌入在頻率系數(shù)上,水印信息是分布在圖像的各個(gè)角落,穩(wěn)健性大大加強(qiáng)。其中被廣泛使用的一種變換域方法就是小波變換。
小波域的數(shù)字水印算法是MPEG-4和JPEG-2000壓縮標(biāo)準(zhǔn)的核心技術(shù)[3],應(yīng)用小波域的算法在未來必將占有比較重要的席位。本文提出的是一種不可見小波變換域水印算法,通過在小波分解后的中頻系數(shù)的較大值上嵌入二值信息。這種算法具有很好的穩(wěn)健性,且能抵御一般的噪聲攻擊。
小波變換是時(shí)間和頻率的局部變換,它能對(duì)高頻部分進(jìn)行細(xì)致觀察,對(duì)低頻部分做粗略觀察[4]。
小波變換的定義:設(shè)f(t)是平方可積函數(shù)(即f(t)∈L2(R)R為實(shí)數(shù)集),在滿足容許性條件Cψ=為ψ(t)的傅里葉變換)下,其連續(xù)小波變換為
式中:a>0,稱為尺度;b∈(-∞,+∞),稱為位移;上標(biāo)*表示取共軛,而ψ(t)為基本小波。
圖像經(jīng)小波分解后,可分成低頻、水平、垂直及對(duì)角線頻率帶[5]。下一層分解是對(duì)上一層的低頻頻率帶進(jìn)一步分解出上述4個(gè)頻率帶,依此類推,可以進(jìn)行多次小波分解。
圖1是原始信號(hào)經(jīng)過三級(jí)小波分解后的分解示意圖,圖像經(jīng)過二維小波變換,被分解為L(zhǎng)L,LH,HL,HH。其中,HH1是高頻子帶(細(xì)節(jié)子圖),LL3是低頻子帶(逼近子圖);LH2,HL2,HH2,LH1,HL1,LH3,HL3,HH3是中頻子帶(細(xì)節(jié)子圖)。
圖1 三級(jí)小波分解
數(shù)字水印系統(tǒng)包括水印嵌入器和水印檢測(cè)器,主要成分為原始數(shù)據(jù)、水印本身和用戶密鑰。水印通常有兩種:有意義水印和無意義水印。嵌入的載體可以是圖像、音頻和視頻等。用戶密鑰是為了進(jìn)一步提高水印的可靠性和安全性。
通過小波分解后的圖像的能量主要在低頻部分,在低頻嵌入水印具有極好的穩(wěn)健性,但是人眼對(duì)低頻極其敏感,嵌入大容量的水印,會(huì)大幅度降低圖像質(zhì)量;高頻是圖像的紋理區(qū)域,嵌入高頻具有很好的透明性,但是抗攻擊性較差,在高頻中嵌入水印,容易因受到外界有意或無意的攻擊遭到破壞,降低圖像的穩(wěn)健性。如果采取中頻嵌入,只要合理的選取嵌入系數(shù),就能夠很好地結(jié)合其優(yōu)點(diǎn),在保證不可見的前提下,很好地確保了水印的抗攻擊能力。
水印嵌入算法的基本思路如圖2所示,首先將水印進(jìn)行置亂,再調(diào)制成二值序列,同時(shí)將原始圖像進(jìn)行離散小波分解,選取分解后的較大中頻系數(shù),然后把二值序列嵌入其上,再經(jīng)過小波逆變換就得到了含水印圖像。
圖2 嵌入水印框架圖
算法的詳細(xì)步驟如下:
第1步,水印的隨機(jī)置亂。為防止出現(xiàn)大面積地嵌入同值的水印信號(hào),也為了加強(qiáng)水印信息的保密性,先對(duì)水印進(jìn)行Arnold置亂操作。Arnold變換是Arnold V J提出的一類裁剪變換,其二維變換定義為
式中:x,y∈{0,1,…,n-1}:(x,y)是原始圖像的像素點(diǎn);(x',y')是置亂后圖像的像素點(diǎn);是圖像的階數(shù)[6]。將經(jīng)過Arnold變換后的水印信息調(diào)制成二值序列W(k)∈{-1,1},將變換的次數(shù)作為密鑰妥善保管。
第2步,小波分解。將原始圖像進(jìn)行多維小波分解,分解的原則是最終達(dá)到水印信息的尺寸和最后一級(jí)分解的頻帶的大小相同,然后在中頻子帶上選取絕對(duì)值最大的N(二值水印序列的長(zhǎng)度)個(gè)系數(shù),嵌入水印信息。
第3步,選取系數(shù)。水印進(jìn)行的最后一級(jí)分解分為低頻分量、水平分量、垂直分量和對(duì)角分量。在除低頻分量之外的子帶上選取較大的系數(shù),選取系數(shù)的方法可以采用閾值法,先設(shè)置一個(gè)閾值A(chǔ),選擇絕對(duì)值超過A的系數(shù),若選出的總數(shù)小于N,則降低閾值為A=A/2,繼續(xù)選擇系數(shù);如果選出的總數(shù)大于等于N,則挑選結(jié)束。否則繼續(xù)降低閾值,直到總數(shù)大于等于N為止。
第4步,嵌入水印。依據(jù)第一步調(diào)制的水印信息W(k)來按照式(3)進(jìn)行嵌入
式中:α為乘性因子;Xk為嵌入水印后的系數(shù);X0為子帶上的初始系數(shù)。
第5步,將嵌入水印后的系數(shù)插回到原始中頻序列中,就得到了嵌入水印后的圖像。
水印的提取與嵌入的過程相反。具體過程如下:
第1步,對(duì)受攻擊的圖像和原始圖像分別進(jìn)行多級(jí)小波分解,和嵌入時(shí)的分解維數(shù)一致。
第2步,對(duì)受攻擊后的圖像最后一級(jí)分解上的中頻系數(shù)進(jìn)行分析,根據(jù)嵌入時(shí)的閾值,逐一挑選出改變過的系數(shù),并將系數(shù)按式(4)來改變其值
式中:α為乘性因子;Xk為嵌入水印后的系數(shù);X0為提取出的系數(shù)。
第3步,對(duì)比系數(shù)可得到水印序列W(k),然后通過前面使用的密鑰解調(diào),再將其進(jìn)行逆置亂變換,即可提取出水印信息。
為了評(píng)估本算法的性能,選取了256×256的靜態(tài)灰度級(jí)圖像Lena作為原始圖像,以64×64帶“太原理工大學(xué)”字樣的二值圖像作為水印圖像進(jìn)行仿真實(shí)驗(yàn)。
對(duì)比圖3和圖4,原始圖像和含水印的圖像之間憑肉眼看不出任何失真,說明嵌入算法透明性良好。在沒有任何攻擊的情況下,進(jìn)行了水印的提取,效果很好,嵌入前的水印和提取出的水印幾乎沒有失真。之后對(duì)水印算法進(jìn)行穩(wěn)健性檢驗(yàn),圖5和圖6分別是經(jīng)過高斯噪聲和椒鹽噪聲后的仿真結(jié)果,由結(jié)果可以看出,經(jīng)過噪聲攻擊后,還能很好地提取出嵌入的水印信息。
變換域數(shù)字水印是目前的一個(gè)研究熱點(diǎn),是未來行業(yè)發(fā)展的趨勢(shì),但是一般的水印算法都是在低頻或是高頻子帶上嵌入水印,雖然能很好地保證水印信息的穩(wěn)健性或透明性,但是無法做到兩者很好的統(tǒng)一。本文提出了一種新的嵌入水印的算法,選擇在進(jìn)行多級(jí)小波分解后的圖像的較大中頻系數(shù)上嵌入調(diào)制的二值數(shù)字水印信息,繼承了逼進(jìn)子圖上的部分信息,又有著細(xì)節(jié)子圖上的大部分信息,由于置亂變換次數(shù)和嵌入規(guī)則的不確定性,因此水印信息的安全性得到了充分的保證。
[1]王炳錫,彭天強(qiáng).信息隱藏技術(shù)[M].北京:國(guó)防工業(yè)出版社,2007.
[2]JAN Z K.Digital image watermarking using multilevel wavelet decomposition and human visual system[C]//Proc.ICISA 2012.[S.l.]:IEEE Press,2012:1-5.
[3]CHRISTOPOULOS C,ASKELOF J,LARSSON M.Efficient method for encoding regions of interest in the upcoming JPEG 2000 still image coding standard[J].IEEE Signal Proceeding Letters,2000,7(9):247-249.
[4]黎洪松.數(shù)字視頻處理[M].北京:北京郵電大學(xué)出版社,2006.
[5]莊萍萍,馮桂,陳紫達(dá).基于小波域的盲水印算法[J].電視技術(shù),2009,33 (S2):84-85.
[6]王琨.基于置亂加密的頻率域數(shù)字圖像水印算法[D].濟(jì)南:山東大學(xué),2007.