一種基于DWT-DCT變換強魯棒性的數(shù)字水印算法
1 引言
網(wǎng)絡(luò)技術(shù)的迅速發(fā)展使多媒體數(shù)據(jù)的傳輸更加容易,信息隱藏和版權(quán)保護成為迫切需要解決的問題,數(shù)字水印技術(shù)是保護數(shù)據(jù)的有效途徑。不可見性和魯棒性是數(shù)字水印系統(tǒng)兩個最重要的特性。水印被嵌入在圖像的一些重要系數(shù)中,其抗攻擊的魯棒性較好,但重要系數(shù)改變太多,則圖像會產(chǎn)生嚴(yán)重失真。所以魯棒性和不可見性是彼此矛盾的。水印技術(shù)可分為空域水印技術(shù)和變換域水印技術(shù)。空域水印算法魯棒性差。變換域算法可使所嵌入水印信號的能量分散到空間的所有像素上,有利于保證水印的不可見性,同時魯棒性強。離散余弦變換DCT(Discrete Cosine Transformation)算法易于在數(shù)字信號處理器中快速實現(xiàn),離散余弦變換域圖像水印與常用的圖像壓縮標(biāo)準(zhǔn)JPEG兼容,對壓縮、濾波和其他一些攻擊具有較強的穩(wěn)健性。離散小波變換DWT(DiscreteWavelet Transformation)是將信號分解為不同尺度分量的線性運算,其實現(xiàn)是通過信號與尺度變化的濾波器卷積完成的。離散小波變換是一種多分辨率分析方法,在時域和頻域都可表征信號局部特征。小波分解將原始圖像分解為一系列的低頻分量和高頻分量,根據(jù)人類感覺系統(tǒng)的掩蔽效應(yīng),可將數(shù)字水印信息嵌入到原始載體不易被感知的區(qū)域,使數(shù)字水印具有較強的不可見性。
由于小波變換具有良好的局部時頻分析特性和多分辨率分析特性,而離散余弦變換具有良好的聚能效應(yīng)。綜合兩種變換的優(yōu)點,這里提出一種基于DWT和DCT聯(lián)合變換的數(shù)字水印技術(shù)。
2 水印的嵌入算法
水印嵌入算法的主要思想:為了提高水印的安全性,在水印嵌入前先進行混沌加密,然后將宿主圖像經(jīng)過DWT得到4個子帶:LL、LH、HL、HH,選擇HL作為嵌入子帶。為了使嵌入的水印可以均勻分布在HL子帶,對HL子帶分塊進行DCT變換。將水印嵌入DCT變換后的中頻系數(shù)。這里采用經(jīng)典的比較中頻系數(shù)法進行水印嵌入,嵌入過程如圖1所示。
該算法步驟如下:
(1)對原始水印圖像進行混沌置亂加密。置亂水印圖像能增強水印算法的安全性。充分利用混沌序列對初值的敏感性高、安全性強、密鑰空間大的特點,對水印圖像進行置亂。混沌序列由Logistic映射產(chǎn)生,按照Logistic映射式式(1)進行迭代,得到序列:
式中,xn∈(0,1),μ為分叉參數(shù)。
由Lyapunov指數(shù)的計算可知,當(dāng)3.569 9≤μ≤4時,Lo-gistic映射處于混沌狀態(tài)。研究表明,當(dāng)且僅當(dāng)μ=4時,映射具有最強的混沌特性,所以在生成混沌序列時取μ=4。xn是實值序列,實值序列不利于計算機處理,通常需要對實值序列進行量化,對xn進行量化得到二值序列Xn。
Logistic序列對初始值敏感,只要設(shè)定迭代次數(shù)、初始值,就可以得到很多偽隨機序列,因此將初始值作為用戶的密鑰,利用式(1)產(chǎn)生混沌序列混沌序列Xp。加密數(shù)字水印的方法很多,這里采用將水印圖像W表示為向量形式Wp,P=1,2,…MxN。Wp作為明文空間,利用混沌序列Xp對水印圖像進行加密,得到加密后的水印圖像Vp:
這里+執(zhí)行異或運算。解密過程與加密相同,用加密后的水印和混沌序列進行異或運算。將x0=0.800 000 000 1作為用戶的密鑰,圖2為加密后的水印圖像?;煦缧蛄袑Τ踔禈O其敏感,即使密鑰(初值)相差細(xì)微,也無法正確解密水印圖像。
(2)對宿主圖像進行一級DCT變換。得到4個子帶LL、LH、HL、HH,為了兼顧透明性和魯棒性,選擇HL作為嵌入子 、帶。提取HL系數(shù)組成的矩陣A。
(3)對HL系數(shù)組成的矩陣A,按照8x8的大小進行分塊。分成8x8的塊是為了與JPEG壓縮標(biāo)準(zhǔn)兼容。
(4)對分塊后的矩陣進行DCT變換。
評論