趙玉霞
(1. 商洛學(xué)院計(jì)算機(jī)科學(xué)系,陜西 商洛 726000;2. 西北大學(xué)信息科學(xué)與技術(shù)學(xué)院,陜西 西安 710069)
近年來(lái),數(shù)字化技術(shù)和Internet的飛速發(fā)展的同時(shí),也帶來(lái)了版權(quán)保護(hù)的危機(jī)。由于圖像、視頻、音頻和其他作品都能以數(shù)字形式獲得,其拷貝非常容易,從而可能會(huì)導(dǎo)致大規(guī)模非授權(quán)拷貝。對(duì)版權(quán)保護(hù)的重視催生了數(shù)字水印技術(shù)的發(fā)展,即將版權(quán)信息和序列號(hào)嵌入到數(shù)字媒體中,以幫助識(shí)別版權(quán)侵犯者,并檢舉和起訴盜版者。本文在前人研究的基礎(chǔ)上,給出一種新的基于混沌序列和提升小波的抗剪切攻擊的彩色圖像盲水印算法。
盲水印是根據(jù)載體圖像的自身特征嵌入和提取水印信息。陳森[1]的盲水印的嵌入方案是:若w(i, j) =0,相應(yīng)的頻帶系數(shù)取最接近它的奇數(shù);若w(i, j ) =1,取最接近它的偶數(shù)。徐美玉等[2]與姜鳳利[3]的方法與以上方案相似,此方法雖然簡(jiǎn)單,隱藏效果很好,但魯棒性不高,若對(duì)載體系數(shù)的修改幅度大于 0.5,原系統(tǒng)將無(wú)法正確提取水印信息。張曉黎[4]的嵌入方案是:設(shè)定模ML,并得到3個(gè)區(qū)間[0, ML/8],[ML/4, 3ML/4]和[7ML/8, ML-1]。根據(jù)w(i, j ) 處的像素值,修改載體小波系數(shù),使其模ML取余在3個(gè)區(qū)間之內(nèi)。此方案預(yù)留區(qū)間 (ML/8, ML/4) 和 (3ML/4,7ML/8) 作為余數(shù)變化的緩沖區(qū),提高了水印的魯棒性,但實(shí)現(xiàn)復(fù)雜,時(shí)間效率不高。
王國(guó)明等[5]的嵌入方案為:將分解后的頻帶系數(shù)和水印的像素值均化成一維序列Bi,若wi=0則使Bi
為了確保水印信息的安全性,在水印嵌入之前一般要對(duì)其作置亂預(yù)處理。本章采用混沌映射和擴(kuò)頻相結(jié)合的置亂方案。
(1)擴(kuò)頻處理 擴(kuò)頻處理后,增加了水印信息的嵌入量,提高了該水印系統(tǒng)的魯棒性[6]。擴(kuò)頻之前將原始水印分別進(jìn)行 90°、180°和270°旋轉(zhuǎn)得到圖像v1、v2和v3,再將原始圖像v和這3個(gè)圖像進(jìn)行擴(kuò)頻處理,這樣處理后有很強(qiáng)的抗剪切功能。擴(kuò)頻效果見(jiàn)圖1。
(2)混沌序列置亂 由于混沌序列具有易生成性,對(duì)初始條件強(qiáng)敏感性,可完全重現(xiàn)性等特點(diǎn),因此,許多文獻(xiàn)都采用混沌序列實(shí)現(xiàn)圖像的置亂加密和隱藏[7-9]。本文同時(shí)采用兩種混沌映射——Logistic映射和Hybrid映射,進(jìn)一步加強(qiáng)了圖像信息隱藏的安全性[9]。與文獻(xiàn)[9]的不同之處在于本文直接使用兩種混沌序列的二值序列。
具體實(shí)現(xiàn)過(guò)程為:先將水印圖像按照第二種擴(kuò)頻方法進(jìn)行擴(kuò)頻處理,生成大小為 2N×2N的新圖像;然后使用兩種混沌序列對(duì)其整體進(jìn)行置亂處理,最后的效果見(jiàn)圖2。
圖1 擴(kuò)頻效果
圖2 混沌序列置亂效果
(1)使用提升小波方案對(duì)載體圖像進(jìn)行提升小波變換
提升小波方案是Sweldens等學(xué)者于20世紀(jì)90年代中期提出的,被稱為第二代小波。第二代小波克服了第一代小波的不足,不引入量化誤差,且在圖像邊界處無(wú)需數(shù)據(jù)延拓;重構(gòu)時(shí)可無(wú)失真地恢復(fù)圖像,具有更為靈活和優(yōu)良的性質(zhì);算法簡(jiǎn)單,速度快,適合并行處理;對(duì)內(nèi)存的需求量小,便于DSP芯片實(shí)現(xiàn)[10]。采用Haar小波函數(shù)對(duì)載體圖像進(jìn)行提升小波變換,實(shí)驗(yàn)表明該方案有很好的時(shí)間效率(見(jiàn)表1)。
表1 離散小波兩層變換、小波包兩層變換和提升小波兩層變換處理時(shí)間比較
(2)根據(jù) HVS低頻和中頻部分采用不同的水印嵌入方案
研究表明:人眼對(duì)低頻子帶的失真較敏感,而對(duì)高頻子帶的失真不甚敏感[11]。為提高嵌入水印的信息量、隱蔽性,可將載體圖像經(jīng)二級(jí)小波提升后,分別采用不同的嵌入方案在低頻部分和中頻部分嵌入水印。圖像的低頻部分集中了圖像的絕大部分能量,因此低頻系數(shù)的幅值較大,當(dāng)兩個(gè)系數(shù)需要交換且相差較大時(shí),若讓其直接進(jìn)行交換,會(huì)使含水印圖像有明顯改動(dòng)的跡象。所以,若系數(shù)需要進(jìn)行交換,則要根據(jù)待交換系數(shù)周圍的幅值,對(duì)待交換系數(shù)進(jìn)行相應(yīng)地處理。具體低頻部分嵌入方案為:根據(jù)水印的大小將低頻部分劃分成N×N個(gè)子塊,b1與b2是子塊k(i, j ) 中相鄰的兩點(diǎn),若w(i, j ) =0且子塊k(i, j )中的b1>b2,如果點(diǎn)b1周圍點(diǎn)的均值av1< b2,則b1=av1;否則,如果點(diǎn)b2周圍點(diǎn)的均值av2> b1,則b2=av2;若如果上述條件均不滿足,則b1取b1與b2兩個(gè)系數(shù)的均值t,b2取t + 1,使最終滿足b1< b2。相應(yīng)的,若w(i, j) =1且子塊k(i, j)中的b1< b2,如果點(diǎn)av1> b2,則b1=av1;否則,如果av2< b1,則b2=av2;若上述條件均不滿足,則使b1=t +1,b2=t,使?jié)M足 b1> b2。若 b1> b2,讓 b2=b2-n1;否則,b1=b1-n1。n1起緩沖作用,n1較大則水印抗攻擊能力強(qiáng),n1較小則水印的隱藏效果好。中頻部分嵌入水印人眼不易察覺(jué),可直接交換嵌入水印,提高了運(yùn)算效率。具體中頻水印嵌入方案是:若w(i, j) =0且子塊k(i, j)中的b1> b2,則交換b1和b2,使?jié)M足b1< b2;若w(i, j) =1且子塊k(i, j)中的 b1< b2,則交換 b1和 b2,使?jié)M足 b1> b2。若b1> b2,則b2=b2-n2;否則,b1=b1-n2。n2的作用與n1相同,但n2>n1。嵌入時(shí)各頻帶中的b1和 b2的相對(duì)位置各不相同提高了提取水印的難度。
將含水印載體做兩層提升小波分解,在各頻帶中,若對(duì)應(yīng)子塊k(i, j)中的b1> b2,則wr(i, j)=1;若 b1≤b2,則 wr(i, j) =0 ( r =1,2, 3, 4)。對(duì)提取出的4個(gè)子塊,進(jìn)行置亂過(guò)程的反向操作,可得出4個(gè)水印圖像w11、w12、w13和w14。統(tǒng)計(jì)出4個(gè)水印相對(duì)位置上的像素值所占的比重,若1的比重大于50%,此位取1,否則取0,得出的水印信息w1*。設(shè)w1*與原始水印歸一化互相關(guān)系數(shù)為NC1,若NC1> 0.90,w1*為最終結(jié)果;否則,做優(yōu)化處理。
(1)水印嵌入
Step 1 輸入原始水印圖像v、載體彩色圖像F和10個(gè)密鑰(Logistic映射的μ、初值x0和初值y0、m1,Hybrid映射的 μ1, μ2, b ,初值 x′0和初值 y0′、m2)。
Step 2 按上述預(yù)處理方法對(duì)原始水印進(jìn)行置亂預(yù)處理得到置亂水印w,將w劃分成與原始水印大小一致的4個(gè)子圖w1、w2、w3和w4。
Step 3 將圖像F進(jìn)行兩層提升小波分解,按上述嵌入算法將子圖w1嵌入到圖像F的低頻部分,將w2、w3和w4分別嵌入到圖像F的中頻部分。
Step 4 將嵌入水印信息的各頻帶進(jìn)行兩層提升小波重構(gòu),得到含水印圖像F1。
(2)水印提取
Step 1 輸入含水印圖像F1,和 10個(gè)密鑰(同嵌入算法)。
Step 2 將圖像F1做兩層提升小波分解,并按照上述提取方法從圖像 F的低頻部分提取出置亂水印圖像w1,從圖像F1的中頻部分分別提取出3個(gè)置亂水印圖像wr(r =2, 3, 4)。
Step 3 對(duì)4個(gè)置亂水印圖像wr(r =1, 2, 3, 4)進(jìn)行反置亂操作,可得出4個(gè)水印圖像w11、w12、w13和 w14。
Step 4 統(tǒng)計(jì)4個(gè)水印圖像相對(duì)位置上的像素值所占的比重,若1的比重大于50%,此位置取1,否則取0,得出的水印信息w1*。設(shè)w1*與原始水印歸一化互相關(guān)系數(shù)為 NC1,若 NC1>0.90,w1*為最終結(jié)果;否則,做優(yōu)化處理得出最終的提取結(jié)果。
水印圖像為 32×32二值圖像,載體圖像為512×512彩色圖像lena,使用Haar小波函數(shù),在g分量上嵌入水印。實(shí)驗(yàn)表明算法的隱藏效果很好,水印的提取效果也很好。圖3(a)~(j)依次為:原始二值水印圖像、擴(kuò)頻處理后的效果、置亂后的效果、原始載體圖像、含水印的載體圖像、從低頻、中頻 Gh2、中頻 Gv2部分、中頻 Gd2部分提取出的水印、融合后的水印圖像。表2中的PSNR0為含水印的g分量與原始載體圖像的g分量的峰值信噪比;PSNR為含水印的載體圖像與原始載體圖像的峰值信噪比;NC01、NC02、NC03、NC04、NC1分別是從低頻、中頻 Gh2、中頻 Gv2、中頻d2G 部分提取出的水印、融合后的水印圖像與原始水印的歸一化互相關(guān)系數(shù)。該算法用有一定的通用性,將載體圖像換成room、dog、stone、fruit等圖像效果一樣很好,且對(duì)于紋理豐富的載體圖像,隱藏效果更好,且該算法要優(yōu)于文獻(xiàn)[5],見(jiàn)表3與圖4。
圖3 水印置亂、嵌入和提取效果
表2 算法的隱藏效果與提取效果
表3 嵌入時(shí)直接交換與均值交換隱藏效果比較
圖4 直接交換的方法與均值交換方法的隱藏效果比較
為了考查本算法的魯棒性,作者對(duì)上述算法得到的含水印載體圖像進(jìn)行剪切、加噪、濾波、壓縮等各種攻擊,實(shí)驗(yàn)表明算法有很強(qiáng)的魯棒性,尤其在抗剪切攻擊方面格外突出。表4 中NC2是優(yōu)化后的水印圖像與原始水印的歸一化互相關(guān)系數(shù)。
表4 結(jié)果不做優(yōu)化處理與做了優(yōu)化處理的比較
算法的安全性很高,主要體現(xiàn)在對(duì)水印圖像的置亂預(yù)處理,即使能夠正確地提取出水印,也很難對(duì)置亂的圖像進(jìn)行解密。置亂過(guò)程中先使用了擴(kuò)頻技術(shù),提高了該系統(tǒng)地魯棒性;然后使用了兩種混沌序列——Logistic映射和 Hybrid映射,奇偶行使用不同的混沌映射。只有知道哪些地方用了哪些映射和十個(gè)密鑰(Logistic映射的μ、初值 x0和初值 y0、m1,Hybrid 映射的μ1, μ2, b、初值x0′和初值 y0′、m2),才能進(jìn)行正確的解密。圖5中子圖(a)到子圖(d)依次為:僅用Logistc映射提取與解密、僅用Hybrid映射提取與解密、解密時(shí)同時(shí)使用了兩種混沌映射但位置錯(cuò)誤、錯(cuò)誤的密鑰(對(duì)m1、m2錯(cuò)誤取值)。
圖5 錯(cuò)誤的解密結(jié)果
本文提出的基于混沌序列的抗剪切攻擊的提升小波的彩色數(shù)字圖像盲水印算法,考慮到了HVS的紋理掩蔽特性,根據(jù)不同小波分解后的不同子帶對(duì)噪聲的不同掩蔽特性給出各子帶不同的水印嵌入方,使該算法既有了很好的隱藏性;對(duì)水印使用了擴(kuò)頻技術(shù),且擴(kuò)頻之前對(duì)各個(gè)子圖進(jìn)行了旋轉(zhuǎn)處理,增加了水印信息的嵌入量,使該算法有了很強(qiáng)的魯棒性,尤其在對(duì)抗剪切攻擊方面顯得更加突出;對(duì)水印使用了擴(kuò)頻 Logistic混沌映射和Hybrid混沌映射進(jìn)行置亂預(yù)處理,很難破解,使算法有了安全的保證;使用了提升小波對(duì)圖像進(jìn)行小波分解,較其他小波分解效率更好??傊?,該算法具有較高的效率、很好的隱藏性、安全性和魯棒性。
[1]陳 森, 張興周. 基于小波和偽隨機(jī)變換的盲檢測(cè)圖像水印算法[J]. 應(yīng)用科技, 2007, 34(1): 24-27.
[2]徐美玉, 苗克堅(jiān), 普杰信. 一種基于DWT和DCT的盲灰度級(jí)水印算法[J]. 計(jì)算機(jī)應(yīng)用研究, 2007, (2):194-195, 229.
[3]姜鳳利. 基于小波變換的數(shù)字水印算法[J]. 遼寧石油化工大學(xué)學(xué)報(bào), 2007, 27(1): 63-66.
[4]張曉黎. 基于整數(shù)小波變換的盲數(shù)字水印算法[J].計(jì)算機(jī)應(yīng)用與軟件, 2007, 24(4): 32-33, 40.
[5]王國(guó)明, 侯整風(fēng). 一種基于DWT的雙密鑰盲水印設(shè)計(jì)方案[J]. 安徽理工大學(xué)學(xué)報(bào)(自然科學(xué)版), 2007,27(1): 30-34.
[6]孫圣和, 陸哲明, 牛夏牧, 等. 數(shù)字水印技術(shù)及應(yīng)用[M].北京: 科學(xué)出版社, 2004. 65-70.
[7]Matthews R A J. On the derivation of a chaotic eneryption algorithm [J]. Cryptologia, 1989, (4):29-42.
[8]Andrew T Parker, Kevin M Short. Reconstructing the key stream from chaotic encryption scheme [J]. IEEE Transactions on Circuits and Systems-I Fundamental Theory and Applications, 2001, 48(5): 624-630.
[9]趙玉霞, 康寶生. 一種基于混沌序列的數(shù)字圖像隱藏算法[J]. 西北大學(xué)學(xué)報(bào)(自然科學(xué)版), 2008, 4,173(38): 194-198.
[10]周 偉, 桂 林, 周 林, 等. Matlab 小波分析高級(jí)技術(shù)[M]. 西安: 西安電子科技大學(xué)出版社, 2005.191-194.
[11]王振飛, 施保昌, 王能超. 基于小波變換和人類視覺(jué)系統(tǒng)的穩(wěn)健水印算法[J]. 華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版), 2007, 35(1): 26-28.