馮和平,王寬方,李翠翠
(1.貴州水利水電職業(yè)技術(shù)學(xué)院,貴州 貴陽(yáng) 551416;2. 貴州省大氣探測(cè)技術(shù)與保障中心,貴州 貴陽(yáng) 550001)
隨著計(jì)算機(jī)通信技術(shù)及多媒體存儲(chǔ)和傳輸技術(shù)的發(fā)展,數(shù)字文件的復(fù)制變得非常容易,同時(shí),數(shù)字信息持有者的版權(quán)保護(hù)問(wèn)題和盜版問(wèn)題也變得愈來(lái)愈嚴(yán)重。數(shù)字水印技術(shù)自被提出以來(lái),由于數(shù)字水印技術(shù)在信息安全和經(jīng)濟(jì)上的重要地位,發(fā)展較為迅速,其在數(shù)字產(chǎn)品知識(shí)產(chǎn)權(quán)保護(hù)方面的作用也越來(lái)越重要。本文結(jié)合Arnold置亂和 DCT變換技術(shù)提出了一種新的基于非等長(zhǎng)置亂水印算法,將水印信息進(jìn)行預(yù)處理嵌入到載體圖片的頻域中,保證水印不可見(jiàn)性的同時(shí),也提高了水印的抗干擾性[1-5]。
數(shù)字水印技術(shù)就是通過(guò)一定的算法將一些標(biāo)志性信息直接嵌入到多媒體內(nèi)容當(dāng)中,但是不能影響原始內(nèi)容的價(jià)值和使用,且不能被人的感知系統(tǒng)覺(jué)察到。當(dāng)然,水印在一定的干擾下會(huì)受到破壞,為了給攻擊者增加去除水印的難度,目前大多數(shù)水印制作方案都采用密碼學(xué)中的加密體系來(lái)加強(qiáng),在水印嵌入和提取時(shí)采用一種密鑰,甚至幾種密鑰聯(lián)合使用。
本論文原水印圖片采用大小為 160×120的圖片,將其二值化后再轉(zhuǎn)換成140×140的圖片,數(shù)據(jù)不足部分用0或1填充,然后對(duì)140×140 矩陣進(jìn)行Arnold變換,達(dá)到置亂水印的目的,置亂后再對(duì)置亂信息分解成160×120和20×20兩部分信息,即為水印信息。水印信號(hào)生成框圖如圖 1,其中置亂次數(shù)作為一種密鑰。水印信號(hào)生成的matlab仿真結(jié)果如圖2。
圖1 水印信號(hào)生成框圖Fig.1 block diagram of watermark signal generation
圖2 水印信息仿真結(jié)果圖Fig.2 simulation results of watermark information
數(shù)字水印系統(tǒng)包含水印的嵌人和水印的檢測(cè)與提取兩個(gè)方面,水印的嵌入就是將水印信息按照事先約定好的位置嵌入到原始數(shù)據(jù)中[6]。水印信號(hào)檢測(cè)和提取是指按照水印嵌入思想判斷某一數(shù)據(jù)中是否含有指定的水印信號(hào)并提取出水印信號(hào)的過(guò)程,本設(shè)計(jì)是在DCT變換域嵌入置亂后的水印信息,為減少計(jì)算量,本論文只是抽取部分?jǐn)?shù)據(jù)進(jìn)行DCT變換,再將水印信息嵌入到頻域系數(shù)中。其嵌入和提取流程圖如圖3。
圖3 嵌入和提取流程圖Fig.3 flow chart of embedding and extraction
將置亂分解后的水印信息嵌入到彩色圖片中,具體思路如下:首先分解出原始圖片的RGB三個(gè)分量,分別提取三個(gè)分量數(shù)據(jù)的低兩位,低三位,低三位。其次將提取出的兩位、三位、三位重新組合成一個(gè)8位數(shù)組,對(duì)新數(shù)組進(jìn)行DCT變換得到變換后的系數(shù),按照預(yù)先規(guī)定的位置將水印信息嵌入到系數(shù)矩陣中,再對(duì)嵌入后的矩陣進(jìn)行反DCT變換即得到組合矩陣。最后將含水印的組合矩陣拆分再還原到 RGB中即得到含水印的圖片[7]。
為了保證水印的不可感知性和減小計(jì)算所帶來(lái)的誤差,假設(shè)M是二值矩陣,大小為M1×M2,則M= {m(i,j) , 0 ≤i<M1,0 ≤j<M2}其 中 :m(i,j)是水印像素點(diǎn)(i,j)的強(qiáng)度。將m(i,j)的取值變換為單極式m(i,j)∈ ( 0,?),其中?為正整數(shù)。最后通過(guò)實(shí)驗(yàn)選取最佳?值。
水印嵌入算法的matlab仿真結(jié)果如圖4。圖4為不同水印強(qiáng)度嵌入在低中高頻域中的效果圖。實(shí)驗(yàn)結(jié)論:嵌在低頻時(shí),水印強(qiáng)度越大,不可見(jiàn)性越差,同理可以把水印嵌入在中頻和高頻,有實(shí)驗(yàn)得知:同樣強(qiáng)度下,嵌在高頻的不可見(jiàn)性最好,低頻的不可見(jiàn)性最差。
圖4 水印嵌入在低中高頻的效果圖Fig.4 effect picture of watermark embedded in low,medium and high frequency
本檢測(cè)算法采用盲提取,提取方法如下:將含水印圖片的RGB分解出來(lái),分別提取三個(gè)分量的低二、三、三位組成一個(gè)8位的新數(shù)組,對(duì)新數(shù)組進(jìn)行DCT變換,然后按照預(yù)先規(guī)定的位置將水印信息提取出來(lái),提取過(guò)程中要設(shè)定一個(gè)閥值,若提取的值大于閥值則將其變?yōu)?1否則變?yōu)?0,其中水印的嵌入位置可作為一種密鑰[8-10]。原水印和在不同強(qiáng)度下閥值設(shè)定在強(qiáng)度的一半低頻嵌入提取水印效果圖如圖5。
圖5 原水印和在不同強(qiáng)度下低頻嵌入提取水印效果圖Fig. 5 the original watermark and the effect of low-frequency embedding and extraction of watermarks under different intensities
由實(shí)驗(yàn)可知,提取的水印和強(qiáng)度有關(guān),在此用水印誤差σ作為一種衡量標(biāo)準(zhǔn),σ=L/N,其中L為提取水印與二值化水印像素值不同點(diǎn)的個(gè)數(shù),N為二值化水印像素值總數(shù)。誤差統(tǒng)計(jì)表如表1。
表1 不同情況誤差統(tǒng)計(jì)表Tab.1 error statistics table for different situations
本設(shè)計(jì)實(shí)現(xiàn)了基于Arnold置亂和DCT變換的嵌入和提取方案,由matlab仿真結(jié)果可知:該方案不影響原內(nèi)容的價(jià)值和使用,具有較好的魯棒性和不可見(jiàn)性,且該方案采用非方陣變換后嵌入,和以前的直接嵌入水印算法相比具有更好的防篡改性,且采用兩種密鑰給攻擊者增加了去除水印的難度。