一種基于DWT-DCT變換強(qiáng)魯棒性的數(shù)字水印算法
(5)對(duì)于DCT變換后的第i塊系數(shù),采用比較DCT中頻系數(shù)法進(jìn)行水印的嵌入。比較中頻系數(shù)法的思想是:從中頻區(qū)域選擇兩個(gè)位置鼠Bi(v1,v1)和Bi(v2,v2)進(jìn)行比較,下標(biāo)i表示第i塊。可嵌入22個(gè)中頻系數(shù),如圖3所示。圖中FL表示塊的低頻部分,F(xiàn)H代表高頻部分。FM是可選擇嵌入的中頻區(qū)域,因?yàn)榍度隖M區(qū)域可避免圖像質(zhì)量下降,而且能夠提供較好的抗攻擊能力。為獲得較好的抗壓縮攻擊性能,選擇系數(shù)時(shí)可參考表1的JPEG量化表。選擇的兩個(gè)DCT系數(shù)應(yīng)滿足調(diào)整它們的大小不會(huì)導(dǎo)致載體圖像嚴(yán)重降質(zhì)。因此要選擇JPEG壓縮算法中亮度量化值一樣的系數(shù)。從表1能觀察到系數(shù)(4,1)和(3,2)或(1,2)和(3,0)量化值相等,較適合用來比較。本文引用地址:http://www.ex-cimer.com/article/195618.htm
水印嵌入算法的具體實(shí)現(xiàn):對(duì)于每一個(gè)8x8塊,選擇(4,1)和(3,2)一對(duì)系數(shù),比較它們大小,確保滿足式(3),若不滿足,交換兩個(gè)系數(shù)的值。ωi為第i塊嵌入信息位的值。
為了提高魯棒性,對(duì)算法做進(jìn)一步改進(jìn)。引入控制量α擴(kuò)大兩個(gè)DCT系數(shù)差值。引入α雖然會(huì)使圖像退化。但能夠降低檢測的誤差。
當(dāng)ωi=1,系數(shù)(4,1)大于系數(shù)(3,2),且兩者差值小于α?xí)r,按式(4)調(diào)整:
當(dāng)ωi=0,系數(shù)(3,2)大于系數(shù)(4,1)且兩者差值小于α?xí)r,按照式(5)調(diào)整:
(6)對(duì)于嵌入水印信息后的第i塊系數(shù),進(jìn)行IDCT變換。
(7)按步驟(5)、(6)對(duì)其他塊進(jìn)行水印的嵌入。
(8)進(jìn)行IDWT變換,得到嵌入水印后的圖像。
3 水印的提取算法
本算法是盲水印算法,提取時(shí)無需水印圖像的原宿主圖像。提取水印是嵌人的逆過程,圖4為水印的提取過程。
其步驟可描述如下:
(1)對(duì)嵌入水印的圖像進(jìn)行DWT變換。
(2)選取HL子帶,并將其分為8x8的塊,進(jìn)行DCT變換。
(3)按式(6)提取水印。
(4)按提取出的水印位重建水印圖像,得到加密的水印。
(5)水印圖像使用混沌密鑰進(jìn)行混沌解密,得到解密的水印。
(6)計(jì)算恢復(fù)出的水印信號(hào)和原水印信號(hào)的相似程度。
4 試驗(yàn)結(jié)果
試驗(yàn)采用大小為512×512的宿主圖像。經(jīng)DWT一級(jí)變換后HL子帶的大小為256×256。將選擇的HL子帶分成8×8的塊,得到1 024個(gè)塊。使用這些塊能嵌入1 024位水印位到宿主圖像。則以32×32的二值圖像作為水印嵌入到宿主圖像。
4.1 在無攻擊的情況下
圖5是實(shí)驗(yàn)中應(yīng)用的宿主圖像和水印圖像。圖6a和圖6b分別描述該算法嵌入水印后的圖像和提取出的水印。為了檢驗(yàn)該算法的性能,將該算法和直接應(yīng)用DCT相印嵌入的結(jié)果進(jìn)行比較。圖7為直接應(yīng)用DCT進(jìn)行水印嵌入后圖像和提取的水印,可看出,水印能夠被正確從水印圖像中提取,但直接應(yīng)用DCT算法嵌入水印后的圖像不可見性較低。
評(píng)論