本發(fā)明屬于多媒體信號(hào)處理領(lǐng)域,具體是一種可逆水印圖像的處理方法。
背景技術(shù):
:傳統(tǒng)的數(shù)字水印技術(shù)會(huì)造成宿主圖像的永久性失真。但在一些實(shí)際應(yīng)用中卻不允許對(duì)宿主圖像有一丁點(diǎn)的永久修改,比如醫(yī)療、軍事和司法等領(lǐng)域。以醫(yī)學(xué)圖像為例,任何形式的失真都是不允許的。任何一幅醫(yī)學(xué)圖像的獲取需要精密儀器的支持和昂貴的醫(yī)療費(fèi)用,更為重要的是失真可能會(huì)造成潛在的誤診。例如,對(duì)于一幅ECG(electrocardiographic)信號(hào)圖,任何一點(diǎn)信號(hào)曲線的異常都有可能被解釋為某種病理特征。因此,傳統(tǒng)的數(shù)字水印技術(shù)并不適用于醫(yī)學(xué)圖像。一種稱為可逆水印的技術(shù)引起了越來越多人的研究與關(guān)注??赡鏀?shù)字水印能以無損的方式將相關(guān)水印信息嵌入到宿主圖像中,能在接收端有效地提取水印并精確恢復(fù)原始圖像。傳統(tǒng)的可逆水印算法大都采用峰值信噪比作為評(píng)價(jià)算法性能高低的標(biāo)準(zhǔn)。然而,Wu等人(H.T.Wu,J.-L.Dugelay,andY.Q.Shi,“Reversibleimagedatahidingwithcontrastenhancement,”IEEESignalProcess.Lett.,vol.22,no.1,pp.81–85,2015.)認(rèn)為峰值信噪比并不能真實(shí)反映出圖像的視覺失真,而用圖像對(duì)比度增強(qiáng)作為評(píng)價(jià)標(biāo)準(zhǔn)更能真實(shí)地反映出圖像的視覺失真。直方圖拉伸和直方圖均衡化(HistogramEqualization)是兩種最常見的間接對(duì)比度增強(qiáng)方法。Wu等人用直方圖均衡化來增強(qiáng)對(duì)比度,具體地說,通過執(zhí)行多次直方圖移位來實(shí)現(xiàn)直方圖均衡化。在每一次直方圖移位中,得到兩個(gè)峰值點(diǎn),將水印信息通過灰度平移的方式嵌入到每一個(gè)峰值點(diǎn)中,嵌入過程將直接導(dǎo)致每一個(gè)峰值點(diǎn)分成兩個(gè)高度相同且鄰近的像素點(diǎn),多次執(zhí)行直方圖移位就可以實(shí)現(xiàn)直方圖均衡化。然而,在Wu等人的方法中,當(dāng)所需容量很高的情況下,Wu等人的方法必須選擇更多的峰值對(duì)進(jìn)行水印嵌入,在水印嵌入過程中,勢(shì)必會(huì)移動(dòng)大量的像素,從而導(dǎo)致圖像對(duì)比度的過度提高。為了解決以上問題,Gao等人的方法(G.Y.GaoandY.Q.Shi,“Reversibledatahidingusingcontrolledcontrastenhancementandintegerwavelettransform,”IEEESignalProcess.Lett.,vol.22,no.11,pp.2078–2082,2015.)首先通過控制相對(duì)對(duì)比度誤差(RelativeContrastError,RCE)使其小于0.55來避免含水印圖像出現(xiàn)對(duì)比度過度增強(qiáng)的情況,接著用整數(shù)小波變換來彌補(bǔ)容量的不足,總之,通過這兩種方式不僅實(shí)現(xiàn)了容量提升還增強(qiáng)了對(duì)比度。然而,利用上述方案,整數(shù)小波變換在等量失真下提供的容量還是有限的。技術(shù)實(shí)現(xiàn)要素:為了解決現(xiàn)有技術(shù)所存在的技術(shù)問題,本發(fā)明提出一種可逆水印圖像的處理方法,能同時(shí)提高圖像對(duì)比度和容量,但不會(huì)導(dǎo)致對(duì)比度過度提高。本發(fā)明采用如下技術(shù)方案來實(shí)現(xiàn):一種可逆水印圖像的處理方法,包括以下兩個(gè)步驟:(1)通過可逆水印算法提高圖像的容量;(2)對(duì)提高容量后的圖像,通過多次執(zhí)行直方圖平移來增強(qiáng)對(duì)比度,當(dāng)相對(duì)對(duì)比度誤差RCE超過預(yù)設(shè)值時(shí),停止直方圖平移操作。步驟(1)所述可逆水印算法為基于預(yù)測(cè)誤差擴(kuò)展和優(yōu)選機(jī)制的可逆水印算法或基于均值不變性和塊選擇的可逆水印算法。在一個(gè)優(yōu)選的實(shí)施例中,所述基于預(yù)測(cè)誤差擴(kuò)展和優(yōu)選機(jī)制的可逆水印算法先用梯度調(diào)節(jié)的預(yù)測(cè)器來得到預(yù)測(cè)誤差,再利用優(yōu)先選取機(jī)制選出位于平滑區(qū)域的像素,最后將水印信息優(yōu)先嵌入到平滑像素中。所述利用優(yōu)先選取機(jī)制選出位于平滑區(qū)域的像素具體為:對(duì)于任一個(gè)像素x,將其半包圍的7個(gè)像素c1,c2,…,c7構(gòu)成x的鄰域Ctext,并用Δ表示像素集Ctext的方差,依據(jù)方差Δ的大小來判定像素x是位于平滑區(qū)域還是紋理區(qū)域,由以下公式計(jì)算出方差Δ的值:Δ=Σi∈{1,...,7}(ci-u)27]]>其中u表示集合Ctext的均值,若方差Δ小于某一給定的門限值vTh,則判定像素x屬于平滑區(qū)域,否則判定像素x屬于紋理區(qū)域。所述用梯度調(diào)節(jié)的預(yù)測(cè)器來得到預(yù)測(cè)誤差具體為:首先根據(jù)預(yù)測(cè)上下文模板計(jì)算垂直和水平方向的梯度dv和dh,得到兩個(gè)方向梯度的差值D=dv-dh,然后依據(jù)經(jīng)驗(yàn)門限值來判斷水平或者垂直邊沿的出現(xiàn),最后根據(jù)水平或垂直邊沿的變化程度適當(dāng)選取相鄰像素的權(quán)重計(jì)算出預(yù)測(cè)值所述可逆水印算法產(chǎn)生的位置圖被壓縮后和峰值點(diǎn)一起嵌入到宿主圖像中。在另一優(yōu)選實(shí)施例中,所述基于均值不變性和塊選擇的可逆水印算法將均值不變性和塊選擇結(jié)合在一起,利用均值不變的特性,將其和半包圍圖像塊的鄰域像素一起用作評(píng)價(jià)塊的局部復(fù)雜度。步驟(2)所述預(yù)設(shè)值為0.55,當(dāng)相對(duì)對(duì)比度誤差RCE超過0.55時(shí),停止直方圖平移操作。在第i次直方圖移位中,首先統(tǒng)計(jì)每個(gè)灰度值的頻率,用頻率最高的兩個(gè)灰度值的像素來做嵌入,所述頻率最高的兩個(gè)灰度值的像素為兩個(gè)峰值點(diǎn);用LPi和RPi表示直方圖中兩個(gè)峰值點(diǎn),其中i∈{1,2,…,NP},NP是直方圖移位的次數(shù),也是峰值點(diǎn)的對(duì)數(shù);然后,通過對(duì)峰值點(diǎn)像素做±b操作以使其攜帶1比特水印信息b,其余像素作移位操作,其中b∈{0,1},x代表某一個(gè)像素值。與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn)及有益效果:1、雖然Wu等人的方法最先提出了基于對(duì)比度增強(qiáng)的可逆水印算法,然而當(dāng)所需容量很高的時(shí)候,Wu等人的方法容易導(dǎo)致對(duì)比度過度增強(qiáng);雖然Gao等人解決了Wu等人的方法中存在的問題,但是在等量失真下提供的容量還是有限的;而本發(fā)明,不僅極大地提高了嵌入容量,而且在高容量下,也沒有導(dǎo)致對(duì)比度的過度增強(qiáng)。2、本發(fā)明能同時(shí)提高圖像對(duì)比度和容量,可以用于醫(yī)學(xué)圖像、軍事地圖和軍用圖像的管理和授權(quán)使用信息中,以此為依據(jù)判別醫(yī)學(xué)圖像、軍事地圖和軍用圖像的來源,版權(quán),真?zhèn)蔚刃畔ⅰ?、本發(fā)明通過RCE來控制對(duì)比度增強(qiáng)的強(qiáng)度,當(dāng)相對(duì)對(duì)比度誤差RCE超過0.55時(shí),停止進(jìn)行直方圖平移操作,從而有效避免了對(duì)比度的過度增強(qiáng)。附圖說明圖1示意了由包圍x的7個(gè)像素組成的鄰域Ctext;圖2為當(dāng)基于預(yù)測(cè)誤差擴(kuò)展的可逆水印算法用于第一步時(shí),在不同的閾值下Lena的灰度直方圖比較:(a)原始直方圖;(b)當(dāng)vTh=2且pTh=4時(shí),PSNR=47.653dB,嵌入容量=46,637比特(0.17809bpp),RCE=0.50053;(c)當(dāng)vTh=3且pTh=6時(shí),PSNR=42.847dB,嵌入容量=103,681比特(0.39551bpp),RCE=0.50081;(d)當(dāng)vTh=4.5且pTh=9時(shí),PSNR=39.889dB,嵌入容量=155,388比特(0.5429bpp),RCE=0.50091;圖3為當(dāng)基于均值不變性和塊選擇的可逆水印算法用于第一步時(shí),在不同的閾值下Lena的灰度直方圖比較:(a)原始直方圖;(b)當(dāng)vTh=2且pTh=4時(shí),PSNR=49.270dB,嵌入容量=41,286比特(0.15749bpp),RCE=0.50009;(c)當(dāng)vTh=4且pTh=8時(shí),PSNR=42.763dB,嵌入容量=111,114比特(0.42387bpp),RCE=0.50041;(d)當(dāng)vTh=7且pTh=14時(shí),PSNR=39.446dB,嵌入容量=148,875比特(0.56791bpp),RCE=0.50089;圖4為當(dāng)基于均值不變性和塊選擇的可逆水印算法用于第一步時(shí),在不同的閾值和峰值點(diǎn)對(duì)數(shù)下Lena的嵌入容量、PSNR和RCE比較:(a)原始Lena圖像;(b)NP=10:28.642dB,163,771比特,RCE=0.53187;(c)NP=15:25.269dB,216,115比特,RCE=0.54661;圖5為當(dāng)基于預(yù)測(cè)誤差擴(kuò)展的可逆水印算法用于第一步時(shí),在不同的閾值和峰值點(diǎn)對(duì)數(shù)下Lena的嵌入容量、PSNR和RCE比較:(a)原始Lena圖像;(b)NP=10:28.878dB,167,754比特,RCE=0.53139;(c)NP=16:24.82dB,225,659比特,RCE=0.54971;圖6為當(dāng)基于均值不變性和塊選擇的可逆水印算法用于第一步時(shí),在不同的閾值和峰值點(diǎn)對(duì)數(shù)下Barbara的嵌入容量、PSNR和RCE比較:(a)原始Barbara圖像;(b)NP=10:29.606dB,124,365比特,RCE=0.53067;(c)NP=16:25.792dB,167,826比特,RCE=0.54807;圖7為當(dāng)基于預(yù)測(cè)誤差擴(kuò)展的可逆水印算法用于第一步時(shí),在不同的閾值和峰值點(diǎn)對(duì)數(shù)下Barbara的嵌入容量、PSNR和RCE比較:(a)原始Barbara圖像;(b)NP=10:29.542dB,123,879比特,RCE=0.53068;(c)NP=16:25.679dB,174,076比特,RCE=0.54859;圖8為當(dāng)基于均值不變性和塊選擇的可逆水印算法用于第一步時(shí),在不同的閾值和峰值點(diǎn)對(duì)數(shù)下Goldhill的嵌入容量、PSNR和RCE比較:(a)原始的Goldhill圖像;(b)NP=10:30.397dB,117,591比特,RCE=0.52507;(c)NP=17:25.412dB,178,137比特,RCE=0.54728;圖9為當(dāng)基于預(yù)測(cè)誤差擴(kuò)展的可逆水印算法用于第一步時(shí),在不同的閾值和峰值點(diǎn)對(duì)數(shù)下Goldhill的嵌入容量、PSNR和RCE比較:(a)原始的Goldhill圖像;(b)NP=10:30.247dB,122,461比特,RCE=0.5253;(c)NP=17:25.438dB,176,616比特,RCE=0.54753;圖10為本發(fā)明方法與Wu等人算法的嵌入性能比較:(a)Tiffany;(b)Wu等人的方法,NP=20:22.7509dB,177,158比特,RCE=0.52758;(c)基于預(yù)測(cè)誤差擴(kuò)展的可逆水印算法,NP=20:24.309dB,277,453比特;(d)基于均值不變性和塊選擇的可逆水印算法,NP=25:22.239dB,245,281比特,RCE=0.53399。具體實(shí)施方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步描述,但本發(fā)明的實(shí)施方式不限于此。本發(fā)明可逆水印圖像的處理方法包括兩個(gè)主要步驟:第一步、通過可逆水印算法實(shí)現(xiàn)容量提高;第二步、實(shí)現(xiàn)圖像對(duì)比度的增強(qiáng),當(dāng)相對(duì)對(duì)比度誤差RCE超過0.55時(shí),停止進(jìn)行直方圖平移操作。目前,可逆水印的兩個(gè)主要的研究方向是基于預(yù)測(cè)誤差擴(kuò)展和基于整數(shù)變換,因此,本發(fā)明從以上兩個(gè)研究方向中各自選了一個(gè)最常用且最具代表性的可逆水印算法(基于預(yù)測(cè)誤差擴(kuò)展和優(yōu)選機(jī)制的可逆水印算法、基于均值不變性和塊選擇的可逆水印算法)來驗(yàn)證本發(fā)明的通用性。基于預(yù)測(cè)誤差擴(kuò)展和優(yōu)選機(jī)制的可逆水印算法是先用Gap(gradient-adjustedprediction,梯度調(diào)節(jié)的預(yù)測(cè)器)預(yù)測(cè)器來得到預(yù)測(cè)誤差,再利用優(yōu)先選取機(jī)制選出位于平滑區(qū)域的像素,最后將水印信息優(yōu)先嵌入到平滑像素中?;诰挡蛔冃院蛪K選擇的可逆水印算法是將均值不變性和塊選擇結(jié)合在一起的一種算法。具體地說,此算法利用均值不變的特性,將其和半包圍圖像塊的領(lǐng)域像素一起用作評(píng)價(jià)塊的局部復(fù)雜度從而極大地提高了評(píng)估的精確度。下面兩個(gè)實(shí)施例分別基于預(yù)測(cè)誤差擴(kuò)展和優(yōu)選機(jī)制的可逆水印算法、基于均值不變性和塊選擇的可逆水印算法,來詳細(xì)地描述本發(fā)明。實(shí)施例1本實(shí)施例采用基于預(yù)測(cè)誤差擴(kuò)展和優(yōu)選機(jī)制的可逆水印算法來提高圖像的容量。如圖1所示,對(duì)于任一個(gè)像素x,將其半包圍的7個(gè)像素(即c1,c2,…,c7)構(gòu)成x的鄰域Ctext,并用Δ表示像素集Ctext的方差,從而可依據(jù)方差Δ的大小來判定x是位于平滑區(qū)域還是紋理區(qū)域。由以下公式可計(jì)算出方差Δ的值:Δ=Σi∈{1,...,7}(ci-u)27---(1)]]>其中u表示集合Ctext的均值。若方差Δ小于某一給定的門限vTh,則認(rèn)為x和環(huán)繞它的所有像素之間存在著很強(qiáng)的相關(guān)性,即認(rèn)為x屬于平滑區(qū)域;否則認(rèn)為兩者之間的相關(guān)性弱,x屬于紋理區(qū)域。Gap預(yù)測(cè)器的預(yù)測(cè)上下文模板如圖1所示,它首先根據(jù)預(yù)測(cè)上下文模板計(jì)算垂直和水平方向的梯度dv和dh,得到兩個(gè)方向梯度的差值D=dv-dh,然后依據(jù)一些經(jīng)驗(yàn)門限值來判斷水平或者垂直邊沿的出現(xiàn),最后根據(jù)水平或垂直邊沿的變化程度適當(dāng)選取相鄰像素的權(quán)重計(jì)算出預(yù)測(cè)值其算法如下:x^=c1D>80c1+x*2D∈(32,80]c1+3x*4D∈(8,32]x*D∈(-8,8]c3+3x*4D∈[-32,-8)c3+x*2D∈[-80,-32)c3D<-80---(2)]]>其中dv=|c1-c4|+|c2-c6|+|c3-c7|,dh=|c1-c5|+|c2-c3|+|c3-c4|。相應(yīng)的預(yù)測(cè)誤差計(jì)算如下:e′=2×e+b-pTh≤e<pThe+pThe≥pThe-pThe<-pTh---(3)]]>其中e'是修改后的預(yù)測(cè)誤差,pTh是一個(gè)容量控制參數(shù),在數(shù)據(jù)嵌入后,對(duì)于xi,j(i∈{R-1,R},j∈{1,C-1,C}),由于它沒有7個(gè)右、下鄰像素,因此,不能用Gap預(yù)測(cè)器得到預(yù)測(cè)誤差,基于這個(gè)原因,只能xi,j(i∈{1,…,R-2},j∈{2,…,C-2})用于數(shù)據(jù)嵌入過程。像大多數(shù)可逆水印算法一樣,產(chǎn)生一個(gè)大小為(R-2)×(C-3)的位置圖LM,當(dāng)x'位于[0,255]之間,在位置圖中被標(biāo)示為0;當(dāng)x'超出了[0,255],在位置圖中被標(biāo)示為1。為了盡可能降低位置圖所占用的可用容量,位置圖必須被壓縮后和其它附加信息一起嵌入到宿主圖像中。除壓縮后的位置圖之外,vTh和pTh也要作為附加信息的一部分嵌入到宿主圖像中。采用基于預(yù)測(cè)誤差擴(kuò)展和優(yōu)選機(jī)制的可逆水印算法進(jìn)行圖像容量的提高,具體過程如下:詳細(xì)的水印嵌入過程描述如下:輸入:子圖:J={xi,j:1≤i≤R,1≤j≤C},預(yù)測(cè)值:預(yù)測(cè)誤差:ei,j(i∈{1,…,R-2},j∈{2,…,C-2}),xi,j的局部復(fù)雜度:Δi,j(i∈{1,…,R-2},j∈{2,…,C-2}),位置圖:LM,待嵌水印信息:b,兩個(gè)閾值:vTh和pTh。輸出:含水印圖像:IW={x'i,j:1≤i≤R,1≤j≤C}。詳細(xì)的水印提取過程描述如下:輸入:含水印的圖像:IW={x'i,j:1≤i≤R,1≤j≤C},預(yù)測(cè)值:預(yù)測(cè)誤差:ei,j(i∈{1,…,R-2},j∈{2,…,C-2}),xi,j的局部復(fù)雜度:Δi,j(i∈{1,…,R-2},j∈{2,…,C-2}),位置圖:LM,兩個(gè)閾值:vTh和pTh。輸出:原始圖像:I={xi,j:1≤i≤R,1≤j≤C},抽取出的水印信息:b。然后采用直方圖均衡化來增強(qiáng)圖像的對(duì)比度:對(duì)于第一步得到的含水印圖像IW,本發(fā)明用直方圖均衡化來實(shí)現(xiàn)對(duì)比度增強(qiáng),具體地說,通過多次執(zhí)行直方圖平移來實(shí)現(xiàn)灰度均衡。在第i次直方圖移位中,首先統(tǒng)計(jì)每個(gè)灰度值的頻率,用頻率最高的兩個(gè)灰度值的像素(峰值點(diǎn))來做嵌入。這里,我們用LPi和RPi表示直方圖中兩個(gè)峰值點(diǎn),其中i∈{1,2,…,NP},NP是直方圖移位的次數(shù),也是峰值點(diǎn)的對(duì)數(shù)。然后,通過對(duì)峰值點(diǎn)像素做±b操作以使其攜帶1比特水印信息b,其余像素作移位操作(即作加減1操作),具體參見等式(4),其中b∈{0,1},x代表某一個(gè)像素值。通常情況下,水印信息服從均勻分布,即0和1是等概率分布,因此,通過一次直方圖平移就可以使得兩個(gè)峰值點(diǎn)的每一個(gè)都分成兩個(gè)相鄰的、高度幾乎相同的像素點(diǎn),執(zhí)行多次直方圖平移就可以實(shí)現(xiàn)灰度均衡。x′=x-1x<LPix-bx=LPixLPi<x<RPix+bx=RPix+1x>RPi---(4)]]>為了在解碼端實(shí)現(xiàn)IW的無失真恢復(fù)和水印信息的正確抽取,就必須產(chǎn)生一個(gè)位置圖來記錄溢出像素的位置。壓縮后的位置圖、所有的峰值點(diǎn)和NP構(gòu)成了全部的附加信息。附加信息和載荷一起按照等式(4)嵌入到IW中。實(shí)施例2本實(shí)施例采用基于均值不變性和塊選擇的可逆水印算法來實(shí)現(xiàn)圖像容量的提高?;诰挡蛔冃院蛪K選擇的可逆水印算法(ShaoweiWeng,Jeng-shyangPan,Integertransformbasedreversiblewatermarkingincorporatingblockselection,JournalofVisualCommunicationandImageRepresentation,2016,35(1):25-35.)的核心思想是先將圖像分塊,再利用塊的均值和半包圍塊的鄰域像素一起評(píng)估塊的局部復(fù)雜度,最后將水印信息優(yōu)先嵌入到復(fù)雜度低的塊中。塊的均值在水印嵌入過程中不能遭受任何修改,否則無法保證算法的可逆性。由于Alatter的整數(shù)變換具有均值不變性,所以,Weng等人將Alattar的整數(shù)變換用于她們的算法中。在水印嵌入過程中,將一副大小為R×C的原始圖像I分割成互不重疊的n=r×c大小的子塊。并以行的方向?qū)γ繅K進(jìn)行編號(hào),記為:對(duì)于其中一個(gè)圖像塊對(duì)它按照奇數(shù)行從左到右,偶數(shù)行從右到左的方式進(jìn)行掃描,將二維的圖像塊轉(zhuǎn)換成一維像素序列x={x1,…,xn}。Alattar提出的整數(shù)變換描述如下:d1=x2-x1d2=x3-x2…dn-1=xn-xn-1其中dk(k∈{1,2,…,n-1})表示兩個(gè)相鄰像素之間的差值。整數(shù)變換的逆過程描述如下:x2=x1+d1x3=x2+d2…xn=xn-1+dn-1對(duì)于差值dj(j∈{1,2,…,n-1}),如果它的值屬于[-pTh,pTh),則對(duì)它進(jìn)行1比特水印嵌入(參照等式(7));否則,按照等式(7)對(duì)其進(jìn)行幅值為pTh的灰度平移。dk′=2dk+b,dk∈[-pTh,pTh)dk-pTh,dk≤-pTh-1dk+pTh,dk≥pTh---(7)]]>其中pTh表示嵌入門限。b表示1比特水印信息,b∈{0,1}。利用等式(7),對(duì)dk(k∈{1,2,…,n-1})進(jìn)行修改,得到修改后的差值d'k,再將其帶入到等式(6)就可得到含水印信息的像素序列y=y(tǒng)1,…,yn。y2=y(tǒng)1+d'1y3=y(tǒng)2+d'2…yn=y(tǒng)n-1+d'n-1對(duì)于某一圖像塊若存在(r+c+1)個(gè)像素環(huán)繞著它,則將這些像素(用x1,c+1,…,xr,c+1,xr+1,c+1,xr+1,1,…,xr+1,c表示)和塊的均值μb,i構(gòu)成一個(gè)像素集IENP,并用σ表示像素集IENP的方差,從而可依據(jù)σ的大小來判定Bi,j是位于平滑區(qū)域還是紋理區(qū)域。由以下公式可計(jì)算出σ的值:σ=Σk=1r(xk,c+1-uENP)2n+(xr+1,c+1-uENP)2+(x‾i-uENP)2n+Σk=1c(xr+1,k-uENP)2n---(9)]]>其中μENP表示集合IENP的均值。若方差σ小于某一給定的門限vTh,則認(rèn)為Bi,j和環(huán)繞它的所有像素之間存在著很強(qiáng)的相關(guān)性,即認(rèn)為Bi,j屬于平滑區(qū)域;否則認(rèn)為兩者之間的相關(guān)性弱,Bi,j屬于紋理區(qū)域。這里有一點(diǎn)需要注意:若R能被r整除,則對(duì)于塊不存在(r+c+1)個(gè)像素環(huán)繞著它們,因此為了保證算法的可逆性,通常在嵌入過程中不會(huì)對(duì)這類圖像塊做任何處理;若C能被c整除,則在嵌入過程中,也不會(huì)對(duì)塊做任何的修改以免破壞算法的可逆性。采用基于均值不變性和塊選擇的可逆水印算法進(jìn)行容量提高的過程具體如下:1、嵌入過程分為以下三個(gè)步驟:水印嵌入后,含水印的圖像子塊y中的每一含水印像素必須在[0,255]范圍之內(nèi),否則含水印像素將遭受溢出(上溢(>255)或下溢(<0)),像素溢出將直接導(dǎo)致在解碼端無法正確恢復(fù)出原始圖像子塊x。為了避免像素溢出,我們定義D={x∈A:0≤yi≤255(1≤i≤n)},其中A={x=(x1,…,xn)∈R:0≤xi≤255}。(1)像素的分類:對(duì)于x∈A,將其分成以下三類:Es={x∈D:σ<vTh},和Os2={x∈A-Es∪Os1:σ≥vTh}。(2)位置圖的形成:用一個(gè)一維的位置圖,大小為來標(biāo)識(shí)其中的兩類,位置圖中符號(hào)‘1’表示Es中的圖像塊,‘0’表示Os1中的圖像塊。這里有一點(diǎn)需要注意:在解碼端,只要判斷出σ≥vTh,就可以知道哪些圖像塊屬于Os2,因此沒有必要記載Os2中圖像塊的位置信息。用算術(shù)編碼無損壓縮位置圖。壓縮位置圖產(chǎn)生的碼流用L表示,假設(shè)其長度為LS。因此待嵌入水印信息來自兩個(gè)方面:1)壓縮后的碼流L;2)載荷P。嵌入容量(即載荷大小)Cap=(n-1)|Es|-LS,其中|·|用來表示集合的長度。(3)水印信息的嵌入過程:對(duì)于任一子塊x,如果它屬于Es,則按照公式(6)對(duì)x進(jìn)行修改;如果屬于Os1,則保持不變,即y=x。(4)位置圖的嵌入過程:對(duì)于前個(gè)圖像塊中的每一個(gè)像素按照步驟(3)修改完之后,收集y中像素的最不重要位(LSB),并把收集到的LS個(gè)最不重要位添加到載荷P的后面。剩余的圖像塊,對(duì)其處理的過程和前個(gè)圖像塊類似。但不同的是其y的最不重要位不需要收集。待全部圖像塊處理完了之后,得到水印圖像IW。2、水印提取和原始圖像恢復(fù)過程:提取過程分為以下三個(gè)步驟:按照與嵌入過程相同的順序,將含水印的圖像IW分成大小為n的互不重疊的圖像塊。并以行的方向?qū)γ繅K進(jìn)行編號(hào),記為:對(duì)于其中一個(gè)含水印的圖像塊對(duì)它按照奇數(shù)行從左到右,偶數(shù)行從右到左的方式進(jìn)行掃描,將二維的圖像塊轉(zhuǎn)換成一維像素序列y={y1,…,yn}(1)位置圖的恢復(fù):收集前個(gè)像素序列中像素的最不重要位,形成一個(gè)比特流。在此比特流中找到算術(shù)編碼的結(jié)束符,從開始到結(jié)束符的比特流被解壓縮得到原始位置圖。(2)水印的提取和原始圖像的恢復(fù):為了保證可逆性,必須按照和嵌入過程相反的順序進(jìn)行水印的提取和原始圖像的恢復(fù),即每一個(gè)塊所對(duì)應(yīng)的一維像素序列為:對(duì)于和如果其沒有(r+c+1)相鄰的像素,則保持不變。否則,對(duì)于某一像素序列ym,將其所有相鄰像素x1,c+1,…,xr,c+1,xr+1,c+1,xr+1,1,…,xr+1,c和ym的均值μb,m構(gòu)成和嵌入過程中相同的IENP(注意:x1,c+1,…,xr,c+1,xr+1,c+1,xr+1,1,L,xr+1,c必須要先于ym恢復(fù)出來,才能保證從ym中正確恢復(fù)出xm)。IENP經(jīng)等式(9)得到y(tǒng)m所對(duì)應(yīng)的方差σ,如果σ大于或等于vTh,則保持不變;如果σ小于vTh,且在位置圖中所對(duì)應(yīng)的是`0’,則保持不變,否則對(duì)于dk∈[-2pTh,2pTh-1],用式b=mod(d'k,2)得到嵌入的水印信息b,并按照等式(10)恢復(fù)出原始差值。然后采用直方圖均衡化來增強(qiáng)對(duì)比度:對(duì)于第一步得到的含水印圖像IW,本發(fā)明用直方圖均衡化來實(shí)現(xiàn)對(duì)比度增強(qiáng),具體地說,通過多次執(zhí)行直方圖平移來實(shí)現(xiàn)灰度均衡。在第i次直方圖移位中,首先統(tǒng)計(jì)每個(gè)灰度值的頻率,用頻率最高的兩個(gè)灰度值的像素(峰值點(diǎn))來做嵌入。這里,我們用LPi和RPi表示直方圖中兩個(gè)峰值點(diǎn),其中i∈{1,2,…,NP},NP是直方圖移位的次數(shù),也是峰值點(diǎn)的對(duì)數(shù)。然后,通過對(duì)峰值點(diǎn)像素做±b操作以使其攜帶1比特水印信息b,其余像素作移位操作(即作加減1操作),具體參見等式(4),其中b∈{0,1},x代表某一個(gè)像素值。通常情況下,水印信息服從均勻分布,即0和1是等概率分布,因此,通過一次直方圖平移就可以使得兩個(gè)峰值點(diǎn)的每一個(gè)都分成兩個(gè)相鄰的、高度幾乎相同的像素點(diǎn),執(zhí)行多次直方圖平移就可以實(shí)現(xiàn)灰度均衡。為了在解碼端實(shí)現(xiàn)IW的無失真恢復(fù)和水印信息的正確抽取,就必須產(chǎn)生一個(gè)位置圖來記錄溢出像素的位置。壓縮后的位置圖、所有的峰值點(diǎn)和NP構(gòu)成了全部的附加信息。附加信息和載荷一起按照等式(4)嵌入到IW中。本發(fā)明用了七幅自然圖像作為測(cè)試圖像,分別是Lena、Baboon、Airplane、Barbara、Boat、Goldhill和Tiffany。圖2例證了當(dāng)基于預(yù)測(cè)誤差擴(kuò)展和優(yōu)選機(jī)制的可逆水印算法用于第一步時(shí),在不同的閾值下Lena的原始直方圖和修改后的直方圖之間的對(duì)比。從圖2(a)可知,當(dāng)vTh=2且pTh=4時(shí),雖然獲得容量不高(即46,637比特(0.17809bpp)),但是水印嵌入后視覺質(zhì)量并沒有明顯的降低(PSNR=47.653dB),重要的是,嵌入水印后的直方圖和原始直方圖差別很小。圖2(c)說明即使當(dāng)容量很高的時(shí)候(155,388比特(0.5429bpp)),修改后的直方圖和原始直方圖相比依舊差別不大。圖2說明基于預(yù)測(cè)誤差擴(kuò)展和優(yōu)選機(jī)制的可逆水印算法在滿足容量的前提下,并沒有太多改變圖像的視覺質(zhì)量。類似地,圖3例證了當(dāng)基于均值不變性和塊選擇的可逆水印算法用于第一步時(shí),在不同的閾值下Lena的原始直方圖和修改后的直方圖之間的對(duì)比。從圖3可以看出,基于均值不變性和塊選擇的可逆水印算法不僅能提供要求的嵌入容量,而且它還能保持較高的視覺質(zhì)量。當(dāng)Lena用作測(cè)試圖像時(shí),圖4出示了當(dāng)基于均值不變性和塊選擇的可逆水印算法用于第一步時(shí),在不同的容量和NP下對(duì)比度增強(qiáng)的效果。從圖4(b)和(c)可以看出:①本發(fā)明不僅實(shí)現(xiàn)了高的容量而且還保持了好的視覺失真;②RCE沒有超過0.55,這說明了對(duì)比度不會(huì)出現(xiàn)過度增強(qiáng);③NP越高,對(duì)比度增強(qiáng)越明顯。相似地,圖5出示了當(dāng)基于預(yù)測(cè)誤差擴(kuò)展和優(yōu)選機(jī)制的可逆水印算法時(shí),在不同的容量和NP下對(duì)比度增強(qiáng)的效果。用圖4和圖5想要說明,本發(fā)明中所用的兩個(gè)可逆算法都可以實(shí)現(xiàn)高的容量還保持了好的視覺失真,即使再執(zhí)行后續(xù)的直方圖均衡化也可獲得高視覺質(zhì)量的含水印圖像。本發(fā)明也用了Barbara和Goldhill來例證兩個(gè)可逆算法都可以實(shí)現(xiàn)高的容量并保持了好的視覺失真(見圖6-圖9)。圖10出示了本發(fā)明方法和Wu等人方法在Tiffany圖像上的性能對(duì)比。Tiffany的灰度直方圖中有大量溢出像素(即值等于255的像素),因而,記載溢出像素的位置圖經(jīng)無損壓縮后大小依舊很大。為此,Wu等人的方法需設(shè)定NP=20時(shí),才能得到177,158比特的嵌入容量,且PSNR=22.7509dB和RCE=0.52758。從圖10(b)可以看出,當(dāng)選用20對(duì)峰值點(diǎn)時(shí),Wu等人的方法引入了大量的視覺失真。然而,對(duì)于基于預(yù)測(cè)誤差擴(kuò)展的可逆水印算法,當(dāng)設(shè)置NP=20時(shí),卻得到了277,453比特,嵌入容量大大提高了,且PSNR也由于Wu等人的方法,最重要的是所用方法并沒有引入大量的視覺失真。同樣,基于均值不變性和塊選擇的可逆水印算法也比Wu等人的方法實(shí)現(xiàn)了更好的嵌入容量和更好的視覺失真。表1例證了所提方法與Wu等人、Gao等人的算法的嵌入性能比較。從表1可以看出,對(duì)于六幅測(cè)試圖像,所用的兩種方法不僅提高了嵌入容量,而且還保持很好的視覺失真。從表1和所有的圖可以看出,本發(fā)明僅用了兩個(gè)最常用的方法就實(shí)現(xiàn)了高的嵌入容量和好的視覺失真。上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁1 2 3