季平,秦川
上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院,上海200093
基于多碼本矢量量化的圖像篡改恢復(fù)
季平,秦川
上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院,上海200093
提出一種用于數(shù)字圖像篡改檢測(cè)與內(nèi)容恢復(fù)的自嵌入脆弱圖像水印算法.對(duì)原始圖像每個(gè)不重疊分塊進(jìn)行基于邊緣復(fù)雜度的內(nèi)容分析,選擇不同大小的矢量量化碼本進(jìn)行分塊壓縮,可獲得相應(yīng)的標(biāo)識(shí)符和表示圖像分塊主要內(nèi)容的索引值以構(gòu)成壓縮碼.將其復(fù)制多份后作為參考比特,通過(guò)密鑰嵌入至其他多個(gè)分塊中.用于篡改定位的認(rèn)證比特則被嵌入每個(gè)分塊本身.由于在多碼本矢量量化協(xié)同下生成的參考比特具有較高的內(nèi)容表示效率,該算法在篡改率相同的條件下可取得更理想的內(nèi)容恢復(fù)性能,這一結(jié)論得到了實(shí)驗(yàn)結(jié)果的驗(yàn)證.
脆弱水印;矢量量化;多碼本;篡改檢測(cè);內(nèi)容恢復(fù)
近年來(lái),隨著個(gè)人電腦和寬帶互聯(lián)網(wǎng)的蓬勃發(fā)展,多媒體數(shù)據(jù)的使用日漸增長(zhǎng),其傳播方式更加便捷,但同時(shí)帶來(lái)的問(wèn)題是:數(shù)字圖像在傳輸過(guò)程中,一些別有用心的人可能會(huì)利用圖像處理工具輕而易舉地進(jìn)行篡改以達(dá)到非法的目的,因此不能保證從互聯(lián)網(wǎng)下載到的數(shù)字圖像是真實(shí)的.在這種背景下,對(duì)于數(shù)字圖像知識(shí)產(chǎn)權(quán)(intellectual property rights,IPR)的保護(hù),特別是對(duì)圖像的完整性與真實(shí)性的保護(hù),已經(jīng)成為一個(gè)十分重要的問(wèn)題,受到了越來(lái)越多的關(guān)注.許多研究者就數(shù)字圖像處理的認(rèn)證問(wèn)題開(kāi)展了大量的深入的研究工作[1-5].
傳統(tǒng)的數(shù)字圖像認(rèn)證方法是對(duì)接收到的圖像進(jìn)行真?zhèn)伪鎰e,其中包括采用經(jīng)典密碼學(xué)中的哈希(hash)函數(shù)來(lái)驗(yàn)證圖像數(shù)據(jù)的完整性.如果接收到的圖像的哈希值等于原始圖像的哈希值,那么接收到的圖像可以被視為完好無(wú)損的,否則判斷為被篡改過(guò)的,但這類認(rèn)證方法無(wú)法對(duì)圖像中的篡改區(qū)域進(jìn)行準(zhǔn)確定位.為了彌補(bǔ)這一不足,文獻(xiàn)[6-8]提出了脆弱圖像水印方法,可以實(shí)現(xiàn)圖像的完整性認(rèn)證與篡改區(qū)域的定位.文獻(xiàn)[7]針對(duì)多媒體數(shù)據(jù)的冗余特性設(shè)計(jì)了脆弱圖像水印算法,計(jì)算隨機(jī)選取像素灰度值中除了最低有效位(least significant bit,LSB)之外的其他位的校驗(yàn)值,再嵌入到圖像像素的最低有效位中,從而實(shí)現(xiàn)了水印信息的認(rèn)證.雖然該方法的安全性不高,且篡改區(qū)域定位的準(zhǔn)確性也較差,但畢竟是脆弱圖像水印的早期代表文獻(xiàn)之一.文獻(xiàn)[8]提出了一種自適應(yīng)水印嵌入容量的圖像認(rèn)證算法,主要原理是將圖像分為互相重疊的子塊,再由各子塊中的像素決定,并將它位于子塊中心像素的LSB中.根據(jù)需要嵌入水印的像素所處分塊區(qū)域的復(fù)雜度,自適應(yīng)地調(diào)整嵌入的位數(shù).該方法能夠生成高質(zhì)量的含水印圖像,同時(shí)又可以準(zhǔn)確定位圖像中被篡改的區(qū)域.文獻(xiàn)[6-8]雖然可以對(duì)數(shù)字圖像進(jìn)行完整性認(rèn)證并且定位篡改區(qū)域,但是無(wú)法進(jìn)一步對(duì)圖像中的篡改區(qū)域進(jìn)行內(nèi)容恢復(fù).
鑒于此,近年來(lái)提出的脆弱圖像水印算法著重考慮了實(shí)現(xiàn)圖像篡改定位后的內(nèi)容恢復(fù).由于可進(jìn)行內(nèi)容恢復(fù)算法嵌入的水印通常由原圖像本身的主要內(nèi)容生成,此類脆弱水印算法也被稱為自嵌入水?。?-13].早期該類方法主要是將用于內(nèi)容恢復(fù)圖像的水印信息復(fù)制多份后分別嵌入圖像的其他分塊,以提高完全恢復(fù)的概率[14-15].其中,文獻(xiàn)[14]提出了一種分層的脆弱水印算法,用于圖像的篡改定位與內(nèi)容恢復(fù),其原理是將平均亮度信息用于生成參考比特與認(rèn)證比特,并根據(jù)隨機(jī)序列將水印信息隱藏在圖像的其他分塊中,但當(dāng)隱藏某分塊亮度信息的對(duì)應(yīng)分塊也被篡改時(shí),就無(wú)法進(jìn)行內(nèi)容恢復(fù)了.文獻(xiàn)[15]提出了一種有效的圖像恢復(fù)雙重水印方案,可適用于大面積篡改情況.該方法將每個(gè)圖像分塊的水印信息復(fù)制兩份分別藏入其他的兩個(gè)圖像分塊,這樣即使其中一份水印信息被破壞,也有再次恢復(fù)的機(jī)會(huì).實(shí)驗(yàn)結(jié)果表明,雖然該方法在圖像的篡改率大于50%的情況下仍可以進(jìn)行恢復(fù),但是恢復(fù)效果只能達(dá)到可以模糊識(shí)別的程度,故視覺(jué)質(zhì)量并不理想.另外,當(dāng)藏入圖像分塊中的兩份恢復(fù)水印同時(shí)被破壞時(shí),也無(wú)法通過(guò)取出參考水印進(jìn)行有效的恢復(fù).因此,此類方法無(wú)論嵌入多少份,其恢復(fù)質(zhì)量與圖像被篡改的面積沒(méi)有關(guān)系.文獻(xiàn)[16]提出了一種具有彈性恢復(fù)質(zhì)量的自嵌入水印算法,將用于內(nèi)容恢復(fù)的參考數(shù)據(jù)分散嵌入整幅圖像,避免了篡改一致性問(wèn)題(tampering coincidence problem,TCP),且當(dāng)篡改面積越小時(shí),可提取出的參考數(shù)據(jù)越多,恢復(fù)質(zhì)量也越好.文獻(xiàn)[17]給出了一種基于分享機(jī)制的自嵌入水印算法,將圖像像素的高5位(5 most significant bits,5MSB)比特通過(guò)隨機(jī)矩陣交織在一起,當(dāng)恢復(fù)篡改塊的內(nèi)容時(shí),其他完好塊中的信息也可以參與恢復(fù).因此,篡改面積越小,可利用的信息就越多,恢復(fù)質(zhì)量也就越好,但可以恢復(fù)的最大篡改面積較小.不同于上述算法采用圖像的像素值信息作為水印數(shù)據(jù),文獻(xiàn)[18]提出一種基于矢量量化(vector quantization,VQ)的脆弱圖像水印,通過(guò)生成的隨機(jī)序列將圖像每個(gè)分塊對(duì)應(yīng)的碼本索引嵌入到其他分塊中,恢復(fù)時(shí)再根據(jù)取出索引值在碼本中對(duì)應(yīng)的碼字完成篡改區(qū)域的內(nèi)容恢復(fù).
為了進(jìn)一步提高用于內(nèi)容恢復(fù)的參考比特嵌入效率,即用相同或更短長(zhǎng)度的參考比特來(lái)實(shí)現(xiàn)相同或更佳的圖像恢復(fù)質(zhì)量,本文提出一種基于多碼本矢量量化的自嵌入圖像脆弱水印算法.首先提取原始圖像的邊緣特征,再根據(jù)每個(gè)不重疊分塊的邊緣復(fù)雜度使用相應(yīng)的矢量量化碼本,獲得可表示圖像主要內(nèi)容的索引值.在每個(gè)索引值前加入相應(yīng)的標(biāo)識(shí)符構(gòu)成壓縮碼,并將其復(fù)制多份后作為參考比特.通過(guò)密鑰將參考比特置亂后嵌入其他分塊,由于在多碼本矢量量化協(xié)同下生成的參考比特可以更有效地表示圖像內(nèi)容信息,本文算法在篡改位置位于圖像中的較復(fù)雜區(qū)域時(shí),可取得更理想的內(nèi)容恢復(fù)性能.
本文所提出的自嵌入水印算法嵌入的水印信息包括兩個(gè)部分:1)認(rèn)證比特,用于準(zhǔn)確定位圖像中被篡改的區(qū)域.2)參考比特,用于恢復(fù)篡改區(qū)域的內(nèi)容.本文算法的嵌入過(guò)程如圖1所示:
圖1 水印嵌入流程圖Figure 1 Flowchart of watermark embedding procedure
為了提高篡改恢復(fù)性能,本文算法在生成參考比特時(shí)對(duì)圖像采用的是多碼本下的VQ壓縮,其主要思想如下:對(duì)于圖像中的復(fù)雜區(qū)域,采用較大的碼本增加壓縮比特長(zhǎng)度,以獲得較高的恢復(fù)質(zhì)量;對(duì)于圖像中的平滑區(qū)域,采用較小的碼本提高參考比特的嵌入效率.為此,首先對(duì)原始圖像I進(jìn)行邊緣檢測(cè).然后,根據(jù)復(fù)雜程度將圖像劃分為4類,再用對(duì)應(yīng)的VQ碼本對(duì)每類圖像分快進(jìn)行壓縮.本文算法采用4種不同大小的VQ碼本,分別為L(zhǎng)=128,256,512,1 024,于是得到VQ索引值;將獲得的VQ索引值添加相應(yīng)的標(biāo)識(shí)符,復(fù)制多份后作為參考比特.認(rèn)證比特由參考比特與原始圖像像素中的全部高5位比特(5 MSB)共同決定.最后,將認(rèn)證比特與參考比特嵌入到原始圖像的低3位(3 LSB)中,生成水印圖像Iw.
1.1VQ算法簡(jiǎn)介
VQ算法是由Gray等人提出的一種基于訓(xùn)練序列的壓縮算法[19].作為一種有損數(shù)據(jù)壓縮的算法,VQ算法常用于基于塊編碼規(guī)則的圖像壓縮處理.首先,將待壓縮的原圖像劃分為互不重疊且大小相同的分塊,設(shè)每個(gè)分塊中有k個(gè)像素.將這k個(gè)像素按從左至右、從上至下的順序進(jìn)行排列,構(gòu)成一個(gè)一維向量v={v1,v2,···,vk}.顯然,從不同的分塊中所取出的k個(gè)像素值所構(gòu)成的向量是不盡相同的.在用VQ算法壓縮前,需要通過(guò)LBG算法[20]建立一個(gè)含有L個(gè)碼字的碼本CB={ci|I=0,1,···,L-1},碼字,其中L表示碼本的大小,i表示碼字ci的索引值.LBG算法的基本原理是:隨意選取t個(gè)圖像塊作為碼矢量,由這t個(gè)碼矢量將所有的圖像塊劃分為t個(gè)集合,使每個(gè)集合中的圖像塊均與各碼矢量距離中對(duì)應(yīng)的碼矢量的距離最小.由這t個(gè)集合的重心,得到t個(gè)新的碼矢量.如果這些碼矢量與原來(lái)的碼矢量變化不大,就完成了碼書的訓(xùn)練,否則重新選取碼矢量.簡(jiǎn)而言之,它是一種基于最近鄰原則把訓(xùn)練矢量分配到與它歐氏距離最小的碼字的簇中,并不需要知道輸入矢量的概率分布,而是通過(guò)訓(xùn)練矢量集和一定的迭代算法來(lái)逼近最優(yōu)的碼本,所以是一種建立VQ碼本的簡(jiǎn)單有效的方法.
對(duì)每個(gè)圖像分塊進(jìn)行壓縮時(shí),根據(jù)式(1)計(jì)算向量v與每個(gè)碼字之間的歐氏距離dis(v,ci),最終確定歐氏距離取得最小值的ci?,并記錄其索引值i?,即根據(jù)式(2)將i?轉(zhuǎn)換成二進(jìn)制比特,作為原有的圖像塊向量v的壓縮結(jié)果.因此,每個(gè)圖像分塊可用l=lb L個(gè)比特表示,如圖2所示.
圖2 VQ算法示意圖Figure 2 An illustration of VQ algorithm
進(jìn)行VQ解壓時(shí),將索引值i?所對(duì)應(yīng)的在碼本CB中的碼字向量取出,即可完成對(duì)圖像分塊的解壓恢復(fù).在壓縮過(guò)程中,選取碼字向量與原始圖像分塊向量存在一定的失真,所以VQ壓縮是一種有損壓縮算法.VQ圖像壓縮算法的壓縮率、解壓圖像質(zhì)量與碼本大小L相關(guān),如表1所示.從表1中可以得出,隨著所使用碼本的增大,解壓圖像的質(zhì)量有所提高,但壓縮率有所降低.
表1 VQ壓縮率、解壓圖像質(zhì)量與碼本大小之間的關(guān)系(k=16)Table 1 Relationship among VQ compression ratio,the quality of decompressed image and the size of codebook(k=16)
1.2區(qū)域分類
本節(jié)主要采用邊緣檢測(cè)的方法對(duì)原始圖像進(jìn)行區(qū)域分類.本文算法進(jìn)行區(qū)域分類的目的是對(duì)位于圖像復(fù)雜度較高的區(qū)域采用較大的碼本進(jìn)行VQ壓縮,對(duì)位于圖像平滑的區(qū)域采用較小的碼本進(jìn)行VQ壓縮,以提高參考比特的表示效率.區(qū)域分類的主要過(guò)程如圖3所示:
圖3 區(qū)域分類流程圖Figure 3 Flowchart of image region classification
首先,對(duì)原始圖像I進(jìn)行邊緣檢測(cè).設(shè)I的尺寸為h×w,共有N(N=h×w)個(gè)像素,且h和w均為4的倍數(shù).本文邊緣檢測(cè)采用Sobel檢測(cè)算子[20],輸出1幅二值圖像Ib,其中復(fù)雜位置用1表示,平滑位置用0表示,如圖4所示.從圖4(b)中可以看到,Lena圖像的邊緣,即復(fù)雜區(qū)域被檢測(cè)出來(lái),以白色顯示;平滑區(qū)域以黑色顯示.然后,將Ib劃分為互不重疊的4×4分塊Bn(n=1,2,···,N/16),統(tǒng)計(jì)每個(gè)子塊Bn中所包含1的數(shù)目Cn(0≤Cn≤16).那么,當(dāng)Cn越大時(shí),分塊Bn所處的區(qū)域越復(fù)雜,反之越平滑.對(duì)所有Bn按其區(qū)域復(fù)雜度進(jìn)行排序(即根據(jù)Cn按降序排列),獲得集合,且滿足再將集合S按式(3)等分為4個(gè)子集S1、S2、S3、S4,每個(gè)子集中的元素即圖像分塊的數(shù)目均為N/64.這樣可將原始圖像的分塊分為4類,如式(3)所示:
圖4 圖像邊緣檢測(cè)結(jié)果Figure 4 Result of image edge detection
當(dāng)原圖I中的分塊Bn屬于子集S1中時(shí),Bn所處區(qū)域較復(fù)雜,在后續(xù)進(jìn)行VQ壓縮時(shí)應(yīng)使用較大的碼本.雖然降低了壓縮率,但即使Bn被篡改,在接收端進(jìn)行內(nèi)容恢復(fù)時(shí)的質(zhì)量也會(huì)提高.由于進(jìn)行VQ壓縮前已對(duì)原圖像進(jìn)行邊緣檢測(cè),并確定了每個(gè)分塊所對(duì)應(yīng)的VQ碼本,所以就運(yùn)算時(shí)間而言,本文算法與使用單碼本的算法差異并不大.
1.3水印嵌入過(guò)程
對(duì)圖像完成基于分塊邊緣復(fù)雜度的區(qū)域分類后,再進(jìn)行水印信息的生成和嵌入.
1.3.1參考比特的生成
對(duì)屬于S1、S2、S3、S4類型的分塊,分別采用大小L=1 024,512,256,128的VQ碼本進(jìn)行壓縮,以獲得對(duì)應(yīng)的索引值.由于使用了4個(gè)不同的VQ碼本,為了在接收端解碼恢復(fù)時(shí)進(jìn)行區(qū)分,本文在每個(gè)索引值前加入一個(gè)2比特的標(biāo)識(shí)符,分別對(duì)應(yīng)4個(gè)大小不同的碼本.然而,如果對(duì)圖像的每個(gè)分塊A僅生成一份標(biāo)識(shí)符與一份索引值,那么當(dāng)分塊A與含有A中恢復(fù)信息的分塊A'同時(shí)被攻擊者篡改時(shí),將無(wú)法恢復(fù)A中的內(nèi)容.因此,本文將標(biāo)識(shí)符與索引值均復(fù)制λ份(λ為正整數(shù)),以便給接收端提供多次恢復(fù)的機(jī)會(huì).具體來(lái)說(shuō),對(duì)于屬于類型Sm的分塊Bn,采用對(duì)應(yīng)大小為L(zhǎng)=211-m的VQ碼本進(jìn)行壓縮,可得到11-m個(gè)索引值比特,再將這11-m個(gè)索引值比特和對(duì)應(yīng)的2比特的標(biāo)識(shí)符復(fù)制λ份,可獲得分塊Bn的長(zhǎng)度為λ(13-m)的參考比特.不同類型分塊對(duì)應(yīng)的參考比特長(zhǎng)度的具體數(shù)據(jù)如表2所示.根據(jù)2.1節(jié)所述,屬于S1、S2、S3、S4類型的分塊數(shù)均為N/64,故整幅圖像中N/16個(gè)分塊總共可以獲得的參考比特?cái)?shù)lr為21λN/32,如式(4)所示:
表2 不同類型分塊對(duì)應(yīng)的參考比特長(zhǎng)度Table 2 Lengths of reference-bits corresponding to the blocks of different types
圖5給出了圖像分塊參考比特生成的例子.假設(shè)圖像中的某個(gè)4×4分塊B屬于類型S3,采用L=256的VQ碼本進(jìn)行壓縮后所對(duì)應(yīng)的索引值x=(222)10=(11011110)2,由表2可知其對(duì)應(yīng)的標(biāo)識(shí)符為(10)2.由于λ取為3,將標(biāo)識(shí)符與索引值x均復(fù)制了3份,分別得到R1、R2、R3.將獲得的R1、R2、R3通過(guò)隨機(jī)序列矩陣嵌入其他3個(gè)分塊像素的3LSB.
1.3.2參考/認(rèn)證比特的嵌入
當(dāng)圖像中的某一區(qū)域遭受篡改時(shí),其鄰域也很可能被篡改.為了防止每一個(gè)分塊與其參考比特的嵌入位置過(guò)近,通過(guò)密鑰K1生成對(duì)應(yīng)的整數(shù)隨機(jī)矩陣Q,以確定參考比特的嵌入位置,如式(5)所示.Q中每一行元素值都是將1~N/16置亂獲得,且保證每列上所產(chǎn)生隨機(jī)數(shù)q1,n,q2,n,···,qλ,n均不相同
于是,由分塊Bn生成的λ份參考比特分別被嵌入到λ個(gè)分塊{Bq1,n,Bq2,n, ···,Bqλ,n}的3 LSB中,其對(duì)應(yīng)關(guān)系為
式中,符號(hào)?表示將其左邊數(shù)據(jù)嵌入右邊的分塊.根據(jù)式(6)將用于恢復(fù)每個(gè)分塊的參考比特分別嵌入到其他λ個(gè)分塊的3 LSB中,同時(shí)每個(gè)分塊Bn被嵌入來(lái)自其他λ個(gè)分塊的參考比特,即,其中n1,n2,···,nλ互不相同,也就是說(shuō),Bnk的第k份參考比特被嵌入到分塊Bn中,k∈{1,2,···,λ}.根據(jù)1.3節(jié)所述,中參考比特元素最長(zhǎng)為12比特,所以嵌入分塊Bn的參考比特的總位數(shù)≤12λ.在本文算法的設(shè)計(jì)中,水印比特(包括參考比特和認(rèn)證比特)均嵌入3 LSB,且每個(gè)4×4分塊的認(rèn)證比特長(zhǎng)度定為12,可允許嵌入的參考比特的數(shù)目最多為3×16-12=36,故λ的取值須滿足12λ≤36,即λ≤3.
圖5 圖像分塊參考比特生成示例Figure 5 An example of reference-bits generation
對(duì)于一個(gè)4×4的分塊Bn,將其5 MSB的80個(gè)比特Mn、個(gè)參考比特、其分塊序號(hào)n和密鑰K2,通過(guò)輸入至哈希函數(shù)H,輸出得到12個(gè)認(rèn)證比特,如式(7)所示.哈希函數(shù)的特點(diǎn)如下:不同的輸入對(duì)應(yīng)顯著不同的輸出,且具有不可逆性,能保證認(rèn)證水印的安全性
參考/認(rèn)證水印嵌入的示例如圖6所示,其中參數(shù)λ=3.假設(shè)某個(gè)4×4的分塊B600中按順序嵌入了來(lái)自于3個(gè)不同分塊B901、B300、B402的參考比特,即,假設(shè)的總長(zhǎng)度為30位,可表示為(r1,r2,···,r30),然后將分塊B中16個(gè)像素的5 MSB取出,可獲得80個(gè)比特即(p1,p2,···,p80),并將其與30個(gè)參考比特、分塊位置信息及密鑰K2一起經(jīng)過(guò)哈希函數(shù)計(jì)算得到12個(gè)認(rèn)證比特(a1,a2,···,a12).最后,根據(jù)密鑰K3確定參考比特與認(rèn)證比特所要替換分塊B中3 LSB的比特位置.圖中“O”表示水印比特的嵌入位置,“×”表示該位置的比特在水印過(guò)程前后沒(méi)有發(fā)生改變.
圖6 水印嵌入示例Figure 6 An example of watermark embedding
在嵌入水印的過(guò)程中,因?yàn)闆](méi)有改變?cè)紙D像像素的5 MSB,只是替換了圖像3 LSB的部分比特為參考比特與認(rèn)證比特,所以含水印圖像相對(duì)于原圖像的失真最大為
式中,bo表示原圖像3 LSB的十進(jìn)制值,bem表示含水印圖像3 LSB的十進(jìn)制值.因此,本文算法含水印圖像Iw的PSNR值不小于10×lg(2552/ED)=37.92 dB.
1.4篡改內(nèi)容恢復(fù)
假設(shè)攻擊者在不改變圖像大小尺寸的情況下對(duì)圖像內(nèi)容進(jìn)行篡改,如背景或人臉的替換等.定義包含篡改內(nèi)容的圖像分塊數(shù)目與總分塊數(shù)目之比為篡改率α,篡改內(nèi)容恢復(fù)分為兩個(gè)步驟:首先定位出被篡改的區(qū)域,其次對(duì)定位的篡改區(qū)域進(jìn)行內(nèi)容恢復(fù).具體來(lái)說(shuō),在接收到的可疑圖像中將認(rèn)證比特取出,用來(lái)判斷圖像每個(gè)分塊是否被篡改.完成篡改定位過(guò)程后,從所有完好的區(qū)域中取出參考比特(VQ索引值和標(biāo)識(shí)符)來(lái)完成圖像的恢復(fù).
1.4.1篡改定位
1.4.2內(nèi)容恢復(fù)
完成篡改定位后,圖像中的完好分塊不需要進(jìn)行任何恢復(fù)操作,而檢測(cè)出篡改分塊則需進(jìn)行內(nèi)容恢復(fù).本文先使用與發(fā)送端相同密鑰的K1生成隨機(jī)矩陣Q,再?gòu)腝中對(duì)應(yīng)的嵌入位置取出參考比特并解壓用于內(nèi)容恢復(fù).設(shè)分塊n為某個(gè)檢測(cè)出的篡改分塊,首先從Q中找到該分塊生成的參考比特所嵌入的分塊,即{Bq1,n,Bq2,n,···,Bqλ,n}.若其中有一個(gè)或一個(gè)以上的分塊是完好的,就可以根據(jù)1.2節(jié)中所使用的密鑰K3提取出相應(yīng)的參考比特來(lái)恢復(fù)分塊n,具體步驟如下:
步驟1假設(shè){Bq1,n,Bq2,n,···,Bqλ,n}中的分塊Bqj,n是完好的,j∈{1,2,···,λ},則可從此分塊的3 LSB中提取出包含λ份參考比特的序列,其中用于分塊n恢復(fù)的參考比特為.但是,由于參考比特序列中的每一份參考比特長(zhǎng)度可能不同,需要通過(guò)分析該序列以分別解析出這λ份參考比特.
圖7給出了內(nèi)容恢復(fù)過(guò)程的示例,其中參數(shù)λ=3.假設(shè)需要恢復(fù)的4×4分塊為B144,根據(jù)密鑰K1確定的隨機(jī)矩陣Q可知,用于恢復(fù)B144中的參考比特嵌入到其他3個(gè)不同分塊B441、B225、B961中.根據(jù)篡改檢測(cè)的結(jié)果假設(shè)B441與B225均被判斷為篡改,則B961被判斷為完好,因此只能從B961中提取出有效的參考比特用于恢復(fù)B144.通過(guò)密鑰K3取出嵌入在B961中的參考比特序列R,且由隨機(jī)矩陣Q可知,嵌入在B961中用于恢復(fù)B144的參考即可.用中的索引值及其標(biāo)比特為.于是,根據(jù)步驟1和2描述的方法從R中解析出.在R中,之前還有來(lái)自其他兩個(gè)分塊的參考比特,這里假設(shè)它們來(lái)自Bm1與Bm2.首先,讀取出R的前2個(gè)比特即(11)2,由表2可知其對(duì)應(yīng)的索引值長(zhǎng)度為7,故索引值比特為(1001010)2,于是可提取出.繼續(xù)在R中依次讀取后續(xù)2個(gè)比特(10)2,其對(duì)應(yīng)的索引值長(zhǎng)度為8,故索引值比特為(10111010)2,可提取出.最后,可確定的標(biāo)識(shí)符為(00)2,其對(duì)應(yīng)的索引值長(zhǎng)度為10,索引值比特為(0101000111)2=(327)10.這樣就可以使用L=1 024的VQ碼本與所獲得索引值(327)10來(lái)恢復(fù)分塊B144.
圖7 內(nèi)容恢復(fù)過(guò)程示例Figure 7 An example of content recovery
本節(jié)將通過(guò)一系列實(shí)驗(yàn)來(lái)驗(yàn)證所提出算法的有效性和優(yōu)越性.實(shí)驗(yàn)過(guò)程中將本文算法的參數(shù)λ取值為3.圖8中的(a)~(c)是大小為512×512的標(biāo)準(zhǔn)測(cè)試圖像Crowd、Airplane、Lake.圖9中的(a)~(c)為圖8中的(a)~(c)對(duì)應(yīng)的含水印圖像,其PSNR分別為38.61dB、38.62dB、38.56 dB.水印比特嵌入原始圖像的3 LSB中,故對(duì)于原始圖像改變不大,含水印圖像的視覺(jué)質(zhì)量也很理想.
圖8 原始圖像Figure 8 Original images
圖9 含水印圖像Figure 9 Watermarked images
對(duì)圖9中的(a)~(c)這3幅含水印圖像Crowd、Airplane、Lake進(jìn)行不同面積的篡改,所得篡改結(jié)果和篡改區(qū)域定位如圖10中的(a)~(f)所示.圖10中(a)~(c)篡改圖像的PSNR值分別為20.78 dB、15.93 dB、22.29 dB,篡改率α依次為23.5%、31.6%、9.1%.圖10中(d)~(f)為篡改檢測(cè)的結(jié)果,其中黑色區(qū)域表示原圖像中完好的區(qū)域,不需要內(nèi)容恢復(fù)的操作;白色區(qū)域表示被標(biāo)記的篡改區(qū)域,需要進(jìn)一步的內(nèi)容恢復(fù).由圖10中(d)~(f)篡改區(qū)域的定位結(jié)果可以看出,本文方法的篡改檢測(cè)具有極高的準(zhǔn)確性.
圖10 篡改圖像與篡改區(qū)域定位的結(jié)果Figure 10 Tampered images and the corresponding results of tampering detection
圖11~13中的各圖(a)為采用文獻(xiàn)[15]方法進(jìn)行內(nèi)容恢復(fù)的結(jié)果,圖11~13中的各圖(b)為采用文獻(xiàn)[18]方法進(jìn)行內(nèi)容恢復(fù)的結(jié)果,圖11~13中的各圖(c)為使用本文方法進(jìn)行內(nèi)容恢復(fù)的結(jié)果,表3為圖11~13中恢復(fù)圖像質(zhì)量的數(shù)據(jù).可以看出,本文方法的恢復(fù)圖像質(zhì)量均高于文獻(xiàn)[15,18].相較于將恢復(fù)信息復(fù)制2份的算法[15]與使用單一VQ碼本的脆弱水印算法[18],本文方法的優(yōu)勢(shì)在于:先根據(jù)原圖像的復(fù)雜度進(jìn)行區(qū)域分類,再使用不同碼書進(jìn)行VQ壓縮,從而獲得用于內(nèi)容恢復(fù)的參考比特,提高了參考比特的內(nèi)容表示效率,并且當(dāng)圖像中的復(fù)雜區(qū)域被篡改時(shí),本文算法可取得更理想的恢復(fù)效果.
圖11 對(duì)篡改后的Crowd圖像恢復(fù)結(jié)果Figure 11 Recovered results of tampered Crowd
圖12 對(duì)篡改后的Airplane圖像恢復(fù)結(jié)果Figure 12 Recovered results of tampered Airplane
圖13 對(duì)篡改后的Lake圖像恢復(fù)結(jié)果Figure 13 Recovered results of tampered Lake
表3 篡改內(nèi)容恢復(fù)結(jié)果PSNR和篡改率α比較Table 3 Comparison of PSNR values and α for recovered images
如何有效地設(shè)計(jì)用于內(nèi)容恢復(fù)的參考比特是影響自嵌入機(jī)制的脆弱圖像水印算法性能的重要因素之一.由于原始圖像中每個(gè)分塊基于邊緣信息內(nèi)容的復(fù)雜度不同,本文算法選擇大小不同的矢量量化碼本進(jìn)行壓縮,獲得可表示圖像分塊主要內(nèi)容的索引值.在索引值前加入相應(yīng)的標(biāo)識(shí)符構(gòu)成壓縮碼,并將其復(fù)制多份后作為參考比特,通過(guò)密鑰分別嵌入到其他分塊中.因?yàn)槎啻a本協(xié)同下的參考比特能夠更有效地表示圖像內(nèi)容信息,所以當(dāng)被篡改分塊出于復(fù)雜區(qū)域時(shí),本文算法可取得比文獻(xiàn)[15,18]更理想的篡改內(nèi)容恢復(fù)性能.
[1]FRIDRICH J,GOLjAN M.Images with self-correcting capabilities[C]//Proceedings of IEEE International Conference on Image Processing,1999:792-796.
[2]QIAN Z X,F(xiàn)ENG G R.Inpainting assisted self-recovery with decreased embedding data[J].IEEE Signal Processing Letters,2010,17(11):929-932.
[3]馬左紅,華文深,李曉明,張悅.基于雙隨機(jī)相位加密技術(shù)的圖像隱藏方法[J].光學(xué)儀器,2012,34(4):21-25. MA Z H,HUA W S,LI X M,ZHANG Y.Image hiding method based on double random phase encryption technology[J].Optical Instruments,2012,34(4):21-25.(in Chinese)
[4]付天舒,韓春杰,隋鑫.基于DCT變換的自適應(yīng)圖像水印實(shí)現(xiàn)[J].光學(xué)儀器,2013,35(3):51-57. FU T S,HAN C J,SUI X.Adaptive image watermark realization based on DCT transform[J]. Optical Instruments,2013,35(3):51-57.(in Chinese)
[5]楊杉杉,秦川,徐伯慶.一種基于安全隱藏的圖像分層篡改檢測(cè)和內(nèi)容恢復(fù)算法[J].計(jì)算機(jī)應(yīng)用研究,2015,2:507-511. YANG S S,QIN C,XU B Q.Fragile watermarking based on secure embedding for hierarchical tampering detection and content recovery[J].Computer Application and Research,2015,2:507-511.(in Chinese)
[6]SUTHAHARAN S.Fragile image watermarking using a gradient image for improved localization and security[J].Pattern Recognition Letters,2004,25(16):1893-1903.
[7]WALTON S.Image authentication for a slippery new age[J].Dr Dobb's Journal,1995,20(4):18-26.
[8]CHANG C C,HU Y S,LU T C.A watermarking-based image ownership and tampering authentication scheme[J].Pattern Recognition Letters,2006,27(5):439-446.
[9]HE H J,CHEN F,H.TAI M,KALKER T,ZHANG J S.Performance analysis of a blockneighborhood-based self-recovery fragile watermarking scheme[J].IEEE Transactions on Information Forensics and Security,2012,7(1):185-196.
[10]QIN C,CHANG C C,CHEN K N.Adaptive self-recovery for tampered images based on VQ indexing and inpainting[J].Signal Processing,2013,93(4):933-946.
[11]QIN C,CHANG C C,CHEN P Y.Self-embedding fragile watermarking with restoration capability based on adaptive bit allocation mechanism[J].Signal Processing,2012,92(4):1137-1150.
[12]KORUS P,DZIECH A.Adaptive self-embedding scheme with controlled reconstruction performance[J].IEEE Transactions on Information Forensics and Security,2014,9(2):169-181.
[13]KORUS P,DZIECH A.Efficient method for content reconstruction with self-embedding[J].IEEE Transactions on Image Processing,2013,22(3):1134-1147.
[14]LIN P L,HSIEH C K,HUANG P W.A hierarchical digital watermarking method for image tamper detection and recovery[J].Pattern Recognition,2005,38(12):2519-2529.
[15]LEE T Y,LIN S D.Dual watermark for image tamper detection and recovery[J].Pattern Recognition,2008,41(11):3497-3506.
[16]ZHANG X P,WANG S Z,QIAN Z X.Self-embedding watermark with flexible restoration quality[J].Multimedia Tools and Applications,2011,54(2):385-395.
[17]ZHANG X P,WANG S Z,QIANZ X,F(xiàn)ENG G R.Reference sharing mechanism for watermark self-embedding[J].IEEE Transactions on Image Processing,2011,20(2):485-495.
[18]YANG C,SHEN J.Recover the tampered image based on VQ indexing[J].Signal Processing,2010,90(1):331-343.
[19]GRAY R M.Vector quantization[J].IEEE ASSP Magazine,1984,1(2):4-29.
[20]LINDE Y,BUZO A,GRAY R M.An algorithm for vector quantizer design[J].IEEE Transactions on Communication,1980,28(1):84-95.
[21]CANNY J.A computational approach to edge detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.
(編輯:秦巍)
Image Tampering Recovery Based on Multi-codebook Vector Quantization
JI Ping,QIN Chuan
School of Optical-Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China
We propose a self-embedding fragile watermarking scheme to detect image tampering and recover original contents.By analyzing edge complexity of all non-overlapping blocks in the original image,the codebooks of vector quantization with different sizes are chosen to compress these blocks.The corresponding indicator and the index value representing the main content of the image block are collected to form the compression codes. They are duplicated to be used as reference-bits.These reference bits are then embedded into other multiple blocks according to secret keys,and authentication-bits are embedded into each block itself.Since the reference-bits based on multiple-codebook vector quantization have high efficiency in representing the image contents,the proposed scheme can achieve good performance of content recovery as compared to the reported methods.This is verified by experimental results.
fragile watermarking,vector quantization,multi-codebook,tampering detection,content recovery
TP391
0255-8297(2015)06-0615-13
10.3969/j.issn.0255-8297.2015.06.005
2015-06-30;
2015-08-06
國(guó)家自然科學(xué)基金(No.61303203);上海市自然科學(xué)基金(No.13ZR1428400);上海市教育委員會(huì)科研創(chuàng)新項(xiàng)目基金(No.14YZ087);上海智能家居大規(guī)模物聯(lián)共性技術(shù)工程中心項(xiàng)目基金(No.GCZX14014);滬江基金研究基地專項(xiàng)基金(No.C14001);滬江基金(No.C14002)資助
秦川,博士,副教授,研究方向:數(shù)字圖像處理、多媒體信息安全,E-mail:qin@usst.edu.cn