專利名稱:基于整數(shù)小波統(tǒng)計特性的可逆數(shù)據(jù)隱藏方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種多媒體信息安全方法,具體是一種針對自然灰度圖像、基于整數(shù)小波統(tǒng)計特性的可逆數(shù)據(jù)隱藏方法。
背景技術(shù):
現(xiàn)有的數(shù)據(jù)隱藏算法在數(shù)字媒體中嵌入一定的數(shù)據(jù)量,同時也引入不易覺察的失真,這在許多應(yīng)用場合下都是適用的,包括版權(quán)保護、內(nèi)容認證和隱秘通信。但是對于軍事、醫(yī)學(xué)、法庭等特殊應(yīng)用場合,在數(shù)字媒體中引入永久的失真往往是不允許、不希望的,而網(wǎng)絡(luò)上對質(zhì)量要求很高的數(shù)字媒體購買者也希望獲得無失真的原版數(shù)字媒體,這可以求助于可逆數(shù)據(jù)隱藏技術(shù)解決這一供需矛盾??赡鏀?shù)據(jù)隱藏是將信息隱藏在數(shù)字媒體中,當(dāng)隱藏的信息被提取出來后,作為宿主信號的數(shù)字媒體可以無失真完全恢復(fù)。
通過檢索國內(nèi)外現(xiàn)有技術(shù),發(fā)現(xiàn)相關(guān)的技術(shù)文獻有以下13篇[1]J.M.Barton,“Method and apparatus for embeddingauthentication information within digital data,”U.S.Patent5,646,997,1997. J.Fridrich,M.Goljan,and R.Du,“Lossless dataembedding-new paradigm in digital watermarking,”EURASIP J.Appl.Sig.Process.,vol.2002,no.02,pp.185-196,F(xiàn)eb.2002. Guorong Xuan;Shi,Y.Q.;Ni,Z.C.;Jidong Chen;Chengyun Yang;Yizhan Zhen;Junxiang Zheng,“High capacity lossless data hidingbased on integer wavelet transform,”Proc.ISCAS,vol.2,pp.II29-32,May.2004. Mehmet Utku Celik,Gaurav Sharma,Ahmet Murat Tekalp,Eli Saber.“Lossless generalized-LSB data embedding,”IEEE Trans.ImageProcess.,vol.14,n.2,pp.253-266,F(xiàn)eb.2005. C.W.Honsinger,P.Jones,M.Rabbani,and J.C.Stoffel,“Lossless recovery of an original image containing embeddeddata,”US Patent6,278,791,2001. M.Goljan,J.Fridrich,and R.Du,“Distortion-free dataembedding,”Proceedings of 4th Information Hiding Workshop,pp.27-41,Pittsburgh,PA,April 2001. C.De Vleeschouwer,J.F.Delaigle,and B.Macq,“Circularinterpretation of bijective transformations in losslesswatermarking for media asset management,”IEEE Trans.Multimedia,vol.5,no.1,pp.97-105,Mar.2003. Z.Ni,Y.Q.Shi,N.Ansari,W.Su,Q.Sun,X.Lin,“Robustlossless image data hiding,”IEEE Int.Conf.on Multimedia andExpo(ICME),vol.3,pp.2199-2202,2004. J.Tian,“Reversible data embedding using a differenceexpansion,”IEEE Trans.Circuits Syst.Video Technol.,vol.13,no.8,pp.890-896,Aug.2003. Adnan M.Alattar,“Reversible watermark using the differenceexpansion of a generalized integer transform,”IEEE Trans.ImageProcess.,vol.13,n 8,pp.1147-1156,Aug.2004. Z.Ni,Y.Q.Shi,N.Ansari and W.Su,“Reversible DataHiding,”IEEE Int.Symposium on Circuits and Systems,Bangkok,Thailand,May 2003. A.Van Leest,M.Van der Veen,F(xiàn).Bruekers.“Reversible imagewatermarking,”IEEE Int.Conf.on Image Processing,vol.2,pp.731-734,2003. Y.Q.Shi,Z.Ni,D.Zou,C.Liang and G.Xuan,″Lossless datahidingFundamentals,algorithms and applications,″Proceedings ofIEEE International Symposium on Circuits and Systems,vol.II,pp.33-36,Vancouver,Canada,May 2004.
可逆數(shù)據(jù)隱藏算法的出現(xiàn)最早可追溯到1997年Barton的發(fā)明(文獻[1])?,F(xiàn)有可逆數(shù)據(jù)隱藏算法按照是否采用無損壓縮技術(shù)來實現(xiàn),可粗略分為依賴壓縮技術(shù)的可逆數(shù)據(jù)隱藏算法和獨立于壓縮技術(shù)的可逆數(shù)據(jù)隱藏算法兩類。兩類算法中的解碼器有的需要額外渠道的邊信息輔助才能正確解碼,不能實現(xiàn)盲提取,有的則不需要額外的邊信息就能正確解碼,能夠?qū)崿F(xiàn)盲提取。
早期的可逆數(shù)據(jù)隱藏一般屬于依賴壓縮技術(shù)的可逆數(shù)據(jù)隱藏算法一類,采用無損壓縮的思想實現(xiàn),就是將載體媒體空域上或變換域上的部分比特流進行無損壓縮,“騰出空間”給真正要嵌入的信息,壓縮數(shù)據(jù)與嵌入信息組成比特流再嵌入到壓縮前比特流的位置。Barton的發(fā)明(文獻[1])用于數(shù)字多媒體,如JPEG圖像和MPEG視頻,采用無損壓縮技術(shù)將載體的部分比特流進行無損壓縮,騰出空間用于嵌入認證信息。Fridrich的方法(文獻[2])在圖像空域?qū)⑾笏刂档妮^低比特平面進行無損壓縮,騰出空間用于嵌入認證信息。Xuan的方法(文獻[3])是將圖像進行整數(shù)小波分解,將細節(jié)子帶的系數(shù)較低比特平面進行無損壓縮,騰出空間嵌入信息。Xuan的方法可取得比前兩種方法較大的嵌入容量,但是不可見性不稍差,也就是在視覺效果上掩密圖像與宿主圖像的還是有差別的。Celik的方法(文獻[4])采用了更為有效的無損壓縮方法,并將LSB(最低比特位)擴展到通用的LSB(generalized-LSB),性能有所提高,是依賴壓縮技術(shù)的可逆數(shù)據(jù)隱藏方法中具有代表性的、性能較好的方法。這些算法盡量利用較低比特平面數(shù)據(jù)的冗余度來嵌入數(shù)據(jù),但是由于較低比特平面的數(shù)據(jù)隨機性強,冗余度不高,因此這些算法的嵌入容量都不高,對許多圖像來說嵌入容量甚至為負值,因此難以實用。為了提高嵌入容量往往壓縮較高的比特平面數(shù)據(jù),但這會導(dǎo)致嚴重的視覺失真。
屬于獨立于壓縮技術(shù)的可逆數(shù)據(jù)隱藏算法一類的,最早有Honsinger的發(fā)明(文獻[5]),在圖像空域上采用模256的方法既可避免象素值的益處,也可在接收端恢復(fù)宿主圖像,但是掩密圖像存在較嚴重的椒鹽噪聲。其后的方法有RS(文獻[6])、基于patchwork理論的方法(文獻[7])、分塊-方差移位法(文獻[8])、DE方法(文獻[9]和文獻[10])和空域直方圖移位法(文獻[11]和[12])。RS方法是將圖像的象素分為R、S和U(Unusable非使用)組,在R、S組中配對嵌入比特1和0。DE方法借鑒了可逆整數(shù)變換的思想,將待嵌入的比特附加在整數(shù)的差分中。為了實現(xiàn)盲提取,RS方法和DE方法都使用了無損壓縮技術(shù)壓縮邊信息以“騰出空間”給待嵌入信息。RS方法是壓縮圖像象素組的狀態(tài)。而DE方法是壓縮選作嵌入載體的象素組位置,因而取得較好的性能,即較大的嵌入容量和較高的PSNR(峰值信噪比),其中Tian的方法最具代表性?;趐atchwork理論的方法和分塊-方差移位法主要針對抗JPEG有損壓縮而設(shè)計的,嵌入容量很小,因與本發(fā)明方法的用途不同,此處不討論??沼蛑狈綀D移位法主要的思想是尋找圖像直方圖的最高點與零點,將最高點與零點之間(不包括最高點與零點)的直方圖向零點的方向整塊移動一個單位,使得在最高點旁邊的直方圖柱為空,也即產(chǎn)生直方圖上的缺口(gap),再通過修改直方圖最高點對應(yīng)的象素值來實現(xiàn)比特數(shù)據(jù)的嵌入。修改直方圖最高點對應(yīng)的象素值的具體做法是按照從上到下、從左到右的順序掃描整幅圖像,當(dāng)遇到直方圖最高點對應(yīng)的象素值時,檢查待嵌入的比特,如果為“1”,則最高點對應(yīng)的象素值減少(零點對應(yīng)的象素值小于最高點對應(yīng)的象素值的情況)或增加(零點對應(yīng)的象素值大于最高點對應(yīng)的象素值的情況)一個單位,如果為“0”,最高點對應(yīng)的象素值保持不變。接收端提取隱藏的數(shù)據(jù)并恢復(fù)宿主圖像的具體方法按照同樣的順序掃描整幅圖像,當(dāng)遇到直方圖最高點對應(yīng)的象素值時,提取比特“0”,當(dāng)遇到比直方圖最高點對應(yīng)的象素值少一個單位或多一個單位的象素值時,提取比特“1”,并將該象素值恢復(fù)為最高點對應(yīng)的象素值。Ni的算法(文獻[11])需要額外信道傳輸邊信息,比如直方圖最高點對應(yīng)的象素值和直方圖零點對應(yīng)的象素值。Leest的算法(文獻[12])對邊信息的問題進行了簡單的探討,提出將邊信息嵌入到圖像右上角的象素中的想法,但是并沒有給出任何切實可行的方法與具體的實驗數(shù)據(jù),而且當(dāng)圖像右上角的象素在嵌入邊信息之前已經(jīng)嵌入了隱藏信息時,則該方案不可行??沼蛑狈綀D移位法不使用任何壓縮技術(shù),實現(xiàn)簡單,而且掩密圖像視覺效果較其他隱藏方法好,但是嵌入容量較小,當(dāng)圖像直方圖沒有零點時無法實現(xiàn)嵌入。
發(fā)明內(nèi)容
為了克服現(xiàn)有主要技術(shù)采用無損壓縮、需要額外獨立信道傳輸邊信息、嵌入容量小的不足,本發(fā)明提供一種利用自然灰度圖像的整數(shù)小波高頻子帶系數(shù)近似服從高斯分布的特點,不需要無損壓縮技術(shù)與額外信道傳輸邊信息,嵌入容量大且靈活的可逆數(shù)據(jù)隱藏技術(shù)。
本發(fā)明技術(shù)方案如下本發(fā)明方法是利用自然圖像的整數(shù)小波高頻子帶系數(shù)近似服從高斯分布的特點,修改高頻子帶的直方圖和低頻子帶的最低位平面進行數(shù)據(jù)的嵌入以實現(xiàn)可逆信息隱藏,該方法分為數(shù)據(jù)隱藏和數(shù)據(jù)檢測兩個過程。
所述數(shù)據(jù)隱藏過程步驟如下1)修正直方圖即將宿主圖像XMxN直方圖的范圍從
修正為[G,255-G],G的初始默認取值為0或根據(jù)XMxN直方圖設(shè)定,并記錄被修改象素為PM,包括原值、坐標和G,記修正后的圖像為X’MxN;
2)整數(shù)小波分解即對X’MxN進行整數(shù)小波分解,獲得一個低頻子帶LLL和高頻子帶集合Ck,l,根據(jù)各個高頻子帶系數(shù)直方圖的最高點和次高點計算五種主要的嵌入模式下可達到的最大嵌入容量,分解級數(shù)取L=3;3)嵌入模式選擇比較隱藏數(shù)據(jù)量與五種主要的嵌入模式下的最大嵌入容量,選擇一種嵌入模式,并按照人類視覺系統(tǒng)(HVS)特性選取若干用于嵌入數(shù)據(jù)的高頻子帶,記錄選擇的嵌入模式、選取的高頻子帶數(shù)目、在該嵌入模式下所選取的每個高頻子帶直方圖的最高點和/或次高點對應(yīng)的系數(shù)值及/或系數(shù)直方圖移動的方向,將這些記錄的信息記為邊信息A;4)低頻系數(shù)選擇性修改用密鑰K選擇低頻子帶LLL系數(shù)的LSB(LeastSignificant Bit),將邊信息A以替換被選擇的LSB的方式嵌入低頻子帶LLL得到LL’L,并記錄被替換的LSB為Ori_LSB;5)高頻系數(shù)修改將PM、Ori_LSB和用密鑰K加密后的隱藏數(shù)據(jù)M’形成比特流,并按照所選擇的嵌入模式修改高頻子帶系數(shù),將比特流嵌入到選取的高頻子帶中,嵌有數(shù)據(jù)的高頻子帶集合記為C’k,l;6)整數(shù)小波重構(gòu)將LL’L和C’k,l進行三級整數(shù)小波重構(gòu);7)象素值溢出判斷如果重構(gòu)后的象素值超出
的范圍,判斷為溢出,則重返步驟1),增大G的取值并重復(fù)上述步驟直至沒有象素值溢出,G的步長默認取5或自行設(shè)定,否則得到隱藏了信息的掩密圖像X”MxN。
所述數(shù)據(jù)檢測過程步驟如下1)整數(shù)小波分解即對待檢測的掩密圖像X”MxN進行三級整數(shù)小波分解,獲得一個低頻子帶LL’L和高頻子帶集合C’k,l;2)選擇性提取由密鑰K獲得LL’L中嵌有數(shù)據(jù)的LSB位置,從這些位置提取LSB獲得邊信息A,分析邊信息A可得到嵌入模式、選取的高頻子帶數(shù)目、在該嵌入模式下所選取的每個高頻子帶直方圖的最高點和/或次高點對應(yīng)的系數(shù)值及系數(shù)直方圖移動的方向;3)提取并恢復(fù)高頻系數(shù)按照嵌入模式從C’k,l中提取比特流并恢復(fù)Ck,l,分析比特流得到PM、Ori_LSB和M’,用密鑰K解密M’得到M;4)低頻系數(shù)恢復(fù)用Ori_LSB替換LL’L中嵌有數(shù)據(jù)的LSB位置,恢復(fù)LLL;5)整數(shù)小波重構(gòu)將LLL和Ck,l進行三級整數(shù)小波重構(gòu),得到圖像信號X’MxN;6)恢復(fù)直方圖根據(jù)PM將X’MxN的直方圖[G,255-G]恢復(fù)為
,得到無失真的宿主圖像XMxN。
所述數(shù)據(jù)隱藏過程步驟3)中所選擇的嵌入模式?jīng)Q定了每個高頻子帶的嵌入容量、隱藏數(shù)據(jù)的嵌入、提取與恢復(fù)及此過程中系數(shù)直方圖移動的方向和大小,主要的嵌入模式有五種,分別命名為嵌入模式1、嵌入模式2、嵌入模式3、嵌入模式4和嵌入模式5。
所述嵌入模式1的嵌入容量等于高頻子帶系數(shù)直方圖的最高點值n1,嵌入模式1嵌入、檢測、提取與恢復(fù)的方法如下1)在發(fā)送端,在保持直方圖最高點不變的情況下,將直方圖最高點其中一邊即左邊或右邊的直方圖整體移動一個單位,直方圖移動的方向即向左邊移動還是向右邊移動可遵循盡量取得最好的視覺效果的原則,即維持盡量多的系數(shù)值不變,使在直方圖最高點旁邊出現(xiàn)一個缺口(gap),具體的實現(xiàn)是首先統(tǒng)計系數(shù)直方圖,獲得直方圖最高點對應(yīng)的系數(shù)值c1st、計算最高點兩邊的直方圖的系數(shù)個數(shù)并進行比較,記最高點左邊的系數(shù)總數(shù)為Nleft,記最高點右邊的系數(shù)總數(shù)為Nright,如果Nleft<Nright,則最高點左邊的直方圖整體向外移動一個單位,即該部分直方圖對應(yīng)的所有系數(shù)值減少一個單位,如果Nleft≥Nright,則最高點右邊的直方圖整體向外移動一個單位,即該部分直方圖對應(yīng)的所有系數(shù)值增加一個單位,假設(shè)比較結(jié)果為Nleft≥Nrigt,然后對整個高頻子帶進行從上到下、從左到右的順序掃描,將所有系數(shù)值大于直方圖最高點對應(yīng)的系數(shù)值加1(比較結(jié)果相反則取減,以下依次類推);2)按照同樣的順序再次對高頻子帶進行掃描,當(dāng)遇到最高點系數(shù)c1st時,檢查將要嵌入的數(shù)據(jù),如果待嵌入的是比特“1”,則將最高點系數(shù)值加1,即填補缺口,如果待嵌入的是比特“0”,則保持最高點系數(shù)值不變,直到將所有的數(shù)據(jù)比特嵌入完畢或者達到該高頻子帶的最大嵌入容量;3)在接收端,按照同樣的順序?qū)Ω哳l子帶進行掃描,當(dāng)遇到最高點系數(shù)時提取比特“0”,當(dāng)遇到比最高點系數(shù)值大1的系數(shù)時提取比特“1”,并將該系數(shù)值減1從而恢復(fù)為最高點系數(shù)值,即使缺口重新出現(xiàn);4)按照同樣的順序再次對高頻子帶進行掃描,將所有系數(shù)值大于直方圖最高點對應(yīng)的系數(shù)值減1,即補上缺口,恢復(fù)整個系數(shù)子帶。
所述嵌入模式2的嵌入容量等于高頻子帶系數(shù)直方圖的最高點值n1和次高點值n2之和,嵌入模式2嵌入、檢測、提取與恢復(fù)的方法如下1)在發(fā)送端,在保持直方圖最高點和次高點整體不變的情況下,將直方圖最高點和次高點兩邊即左邊和右邊的直方圖分別向外整體移動一個單位,使在直方圖最高點和次高點這個整體兩旁共出現(xiàn)兩個缺口,具體的實現(xiàn)是首先統(tǒng)計系數(shù)直方圖,獲得直方圖最高點對應(yīng)的系數(shù)值c1st和次高點對應(yīng)的系數(shù)值c2nd并比較兩個系數(shù)值的大小,然后對整個高頻子帶進行從上到下、從左到右的順序掃描,如果c1st≥c2nd,則將所有系數(shù)值大于c1st的系數(shù)值加1,將所有系數(shù)值小于c2nd的系數(shù)值減1(比較結(jié)果相反則依次取減、加,以下類似);2)按照同樣的順序再次對高頻子帶進行掃描,當(dāng)遇到最高點系數(shù)c1st時,檢查將要嵌入的數(shù)據(jù),如果待嵌入的是比特“1”,則將最高點系數(shù)值加1,如果待嵌入的是比特“0”,則保持最高點系數(shù)值不變,當(dāng)遇到次高點系數(shù)c2nd時,檢查將要嵌入的數(shù)據(jù),如果待嵌入的是比特“1”,則將最高點系數(shù)值減1,如果待嵌入的是比特“0”,則保持次高點系數(shù)值不變,直到將所有的數(shù)據(jù)比特嵌入完畢或者達到該高頻子帶的最大嵌入容量;3)在接收端,按照同樣的順序?qū)Ω哳l子帶進行掃描,當(dāng)遇到最高點系數(shù)c1st或次高點系數(shù)c2nd時提取比特“0”,當(dāng)遇到系數(shù)c1st+1或c2nd-1時提取比特“1”,并將系數(shù)值恢復(fù)為c1st或c2nd;4)按照同樣的順序再次對高頻子帶進行掃描,將所有系數(shù)值大于c1st的系數(shù)值減1,將所有系數(shù)值小于c2nd的系數(shù)值加1,恢復(fù)整個系數(shù)子帶。
所述嵌入模式3的嵌入容量等于高頻子帶系數(shù)直方圖的最高點值n1的兩倍,嵌入模式3嵌入、檢測、提取與恢復(fù)的方法如下1)在發(fā)送端,在保持直方圖最高點不變的情況下,將直方圖最高點兩邊的直方圖其中一邊整體向外移動一個單位而另一邊整體向外移動兩個單位,使在直方圖最高點旁邊出現(xiàn)大小分別為一個單位和兩個單位的兩個缺口,具體的實現(xiàn)是首先統(tǒng)計系數(shù)直方圖,獲得直方圖最高點對應(yīng)的系數(shù)值c1st、計算最高點兩邊的直方圖的系數(shù)個數(shù)并進行比較,記最高點左邊的系數(shù)總數(shù)為Nleft,記最高點右邊的系數(shù)總數(shù)為Nright,如果Nleft<Nright,則最高點左邊的直方圖整體向外移動兩個單位,而最高點右邊的直方圖整體向外移動一個單位,如果Nleft≥Nright,則相反,假設(shè)比較結(jié)果為Nleft≥Nrigt,然后對整個高頻子帶進行從上到下、從左到右的順序掃描,將所有系數(shù)值大于c1st的系數(shù)值加2,將所有系數(shù)值小于c1st的系數(shù)值減1(比較結(jié)果相反則依次取減、加,以下類似);2)按照同樣的順序再次對高頻子帶進行掃描,當(dāng)遇到最高點系數(shù)c1st時,檢查將要嵌入的連續(xù)兩個比特,連續(xù)兩個比特的四種組合與四個系數(shù)值c1st-1、c1st、c1st+1和c1st+2一一對應(yīng),根據(jù)待嵌入的比特組合將c1st修改為c1st-1、c1st+1或c1st+2,或保持c1st不變,直到將所有的數(shù)據(jù)比特嵌入完畢或者達到該高頻子帶的最大嵌入容量;3)在接收端,按照同樣的順序?qū)Ω哳l子帶進行掃描,當(dāng)遇到c1st-1、c1st、c1st+1或c1st+2時提取其對應(yīng)的比特組合,并將系數(shù)值恢復(fù)為c1st;4)按照同樣的順序再次對高頻子帶進行掃描,將所有系數(shù)值大于c1st的系數(shù)值減2,將所有系數(shù)值小于c1st的系數(shù)值加1,恢復(fù)整個系數(shù)子帶。
所述嵌入模式4的嵌入容量等于該高頻子帶系數(shù)直方圖的次高點值n2和兩倍最高點值n1之和,實質(zhì)是次高點采用了嵌入模式1、最高點采用了嵌入模式3。
述嵌入模式5的嵌入容量等于該高頻子帶系數(shù)直方圖的次高點值n2和最高點值n1之和的兩倍,實質(zhì)是次高點和最高點都采用了嵌入模式3。
本發(fā)明與現(xiàn)有技術(shù)相比具有的優(yōu)點如下1)具有較大的嵌入容量和較好的視覺效果。主流的可逆數(shù)據(jù)隱藏方法是依賴壓縮技術(shù)的可逆數(shù)據(jù)隱藏方法(如上述文獻[1]~[4]、[6]、[9]和[10])或多或少都采取無損壓縮技術(shù)將宿主信號或經(jīng)處理后的宿主信號的部分比特流進行無損壓縮,設(shè)壓縮前的比特流長度為L,無損壓縮后長度為Ls,則可嵌入的比特長度不超過L-Ls。由于自然灰度圖像的紋理一般比較復(fù)雜,特別是較低的比特平面,具有類似隨機噪聲的特性,主流的可逆數(shù)據(jù)隱藏方法主要是壓縮較低的比特平面,因而無損壓縮的效果不理想,嵌入容量很小,雖然壓縮較高的比特平面可增加嵌入容量,但是卻會導(dǎo)致較差的視覺效果,即掩密圖像產(chǎn)生較嚴重的失真。對于紋理復(fù)雜的圖像來說,無損壓縮的結(jié)果往往是數(shù)據(jù)長度的增加而不是減少,即嵌入容量為負。文獻[4]采用了更為有效的無損壓縮方法,并將LSB(最低比特位)擴展到通用的LSB(generalized-LSB),性能有所提高,是依賴壓縮技術(shù)的可逆數(shù)據(jù)隱藏方法中具有代表性的、性能較好的方法。文獻[6]將圖像象素組的狀態(tài)進行無損壓縮,取得的性能與文獻[4]的相當(dāng)。文獻[9]和[10]將選作嵌入載體的象素組位置圖(position map)進行無損壓縮,是文獻[1]~[12]中性能最好的方法,最具代表性的是文獻[9]Tian的方法。另一類完全獨立于壓縮技術(shù)的可逆數(shù)據(jù)隱藏方法(如上述文獻[5]、[11]和[12])無需采用無損壓縮技術(shù),文獻[5]的方法采用模256,但是產(chǎn)生椒鹽噪聲,視覺效果較差,文獻[11]和[12]的方法都是空域直方圖移位法,主要的思想是尋找圖像象素直方圖的最高點與零點,將最高點與零點之間(不包括最高點與零點)的直方圖向零點的方向整塊移動一個單位,使得在最高點傍邊的直方圖柱為空,也即產(chǎn)生直方圖上的缺口,再通過修改直方圖最高點對應(yīng)的象素值來實現(xiàn)比特數(shù)據(jù)的嵌入,嵌入容量等于最高點值。空域直方圖移位法不使用任何壓縮技術(shù),掩密圖像視覺效果較其他可逆數(shù)據(jù)隱藏方法好,但是因為圖像空域直方圖的最高點值一般不大,因而嵌入容量小。本發(fā)明利用自然灰度圖像的整數(shù)小波高頻子帶系數(shù)近似服從高斯分布的特點,修改高頻子帶系數(shù)直方圖來實現(xiàn)隱藏數(shù)據(jù)的嵌入,因為高頻系數(shù)直方圖具有峰值點,而且峰值點的值比圖像空域直方圖的最高點值大得多,因而可取得較大的嵌入容量。由于本發(fā)明只是對小波系數(shù)作輕微的修改,因此具有較好的視覺效果。
2.實現(xiàn)較簡單,具有較好的實用性。依賴壓縮技術(shù)的可逆數(shù)據(jù)隱藏方法需要在終端增加無損壓縮編/解碼器,因而系統(tǒng)實現(xiàn)較復(fù)雜。本發(fā)明不需要采用無損壓縮技術(shù),實現(xiàn)比較簡單。完全獨立于壓縮技術(shù)的可逆數(shù)據(jù)隱藏方法如文獻[11]的方案需要額外獨立信道傳輸邊信息,比如象素直方圖最高點對應(yīng)的象素值和象素直方圖零點對應(yīng)的象素值。本發(fā)明不需要額外信道傳輸邊信息,而是將邊信息嵌入到宿主圖像的低頻子帶中,具有較好的實用性。
3.具有較廣的適用性和較好的靈活性。依賴壓縮技術(shù)的可逆數(shù)據(jù)隱藏方法選擇紋理簡單、具有大塊平坦區(qū)域的圖像作為宿主信號才能實現(xiàn)具有應(yīng)用價值的數(shù)據(jù)隱藏,而完全獨立于壓縮技術(shù)的可逆數(shù)據(jù)隱藏方法只能選擇具有直方圖零點的圖像作為宿主信號。本發(fā)明對宿主圖像沒有特殊的要求,只要是自然灰度圖像即可,因此具有較廣的適用性。本發(fā)明具有多種嵌入模式可供選擇,用戶可根據(jù)隱藏數(shù)據(jù)量的大小和視覺效果的需要選擇任一種嵌入模式,甚至使用混合嵌入模式,具有較好的靈活性,可用在一般的圖像和敏感圖片比如軍事圖片、醫(yī)學(xué)圖片中隱藏秘密信息、認證信息等。
4.具有較高的安全性。本發(fā)明使用密鑰對隱藏數(shù)據(jù)加密,并使用密鑰選擇邊信息的嵌入位置,這兩個密鑰的選取可以相同也可以不同,視具體系統(tǒng)的實現(xiàn)而定,雙重密鑰的使用增加了攻擊者破解的難度,增強了系統(tǒng)的安全性。
圖1為本發(fā)明方法的實現(xiàn)框圖;圖2為數(shù)據(jù)檢測過程的實現(xiàn)框圖;圖3為高頻子帶系數(shù)直方圖;圖4為本方案主要的五種嵌入模式示意圖;圖5為混合嵌入模式下本方案(Liang)與兩種主要的可逆數(shù)據(jù)隱藏方法(Celik和Tian)的性能比較圖;圖6為本發(fā)明對大小為512×512×8的bmp圖像Lena的效果圖。
具體實施例方式
本發(fā)明可應(yīng)用在一般的圖像和敏感圖片比如軍事圖片、醫(yī)學(xué)圖片中可逆隱藏秘密信息、認證信息等。本發(fā)明方法的實現(xiàn)框圖如圖1所示,其中X′NxM表示經(jīng)過預(yù)處理即空域直方圖修改的圖像,Ck,l、LLL分別表示整數(shù)小波分解后的高頻子帶和低頻子帶,C’k,l、LL’L分別表示嵌入了數(shù)據(jù)后的高頻子帶和低頻子帶。圖2為本方案數(shù)據(jù)檢測方法的實現(xiàn)框圖,包括了隱藏數(shù)據(jù)的提取和宿主圖像的恢復(fù)。圖3為高頻子帶系數(shù)直方圖,其中圖3(a)為Lena圖像的HH1子帶直方圖,圖3(b)為Lena圖像的HL1子帶直方圖。圖4為本方案主要的五種嵌入模式示意圖,設(shè)待嵌入的比特序列為“101101 00 10,10 11 01 00 10,10 11 01 00 10……”,其中圖4(a)為系數(shù)原始直方圖,圖4(b1)為嵌入模式1下經(jīng)過移動的系數(shù)直方圖,圖4(b2)為嵌入模式1下數(shù)據(jù)嵌入后的系數(shù)直方圖,圖4(c1)為嵌入模式2下經(jīng)過移動的系數(shù)直方圖,圖4(c2)為嵌入模式2下數(shù)據(jù)嵌入后的系數(shù)直方圖,圖4(d1)為嵌入模式3下經(jīng)過移動的系數(shù)直方圖,圖4(d2)為嵌入模式3下數(shù)據(jù)嵌入后的系數(shù)直方圖,圖4(e1)為嵌入模式4下經(jīng)過移動的系數(shù)直方圖,圖4(e2)為嵌入模式4下數(shù)據(jù)嵌入后的系數(shù)直方圖,圖4(f1)為嵌入模式5下經(jīng)過移動的系數(shù)直方圖,圖4(f2)為嵌入模式5下數(shù)據(jù)嵌入后的系數(shù)直方圖。圖5為混合嵌入模式下本方案(Liang)與兩種主要的可逆數(shù)據(jù)隱藏方法(Celik和Tian)的性能比較圖,性能包括嵌入容量(單位為bpp,每象素嵌入的比特數(shù))和PSNR(單位為dB),實驗圖像為512×512×8的bmp圖像Lena。圖6為本發(fā)明對大小為512×512×8的bmp圖像Lena的效果圖,圖6(a)為原始/宿主圖像Lena,圖6(b)為嵌入了36071比特即嵌入容量為0.1376bpp的掩密圖像,PSNR為43.20dB,圖6(c)為嵌入了107216比特即嵌入容量為0.4090bpp的掩密圖像,PSNR為39.44dB。
這里以具有代表性的大小為512×512的灰度圖像lena.bmp為例,見圖6(a)所示,描述本發(fā)明的實施方法。在發(fā)送端,首先是修正直方圖。先分析圖像的像素直方圖。lena圖像位于
邊緣的象素很少,又本發(fā)明的數(shù)據(jù)隱藏方案對整數(shù)小波系數(shù)的改動很小,因此在嵌入模式1下取默認初始值G=0也不會產(chǎn)生溢出,也即該圖像的直方圖不需要進行修正,記錄被修改象素PM中只包括被修改的系數(shù)個數(shù)0和G的值0。而在嵌入模式4下取G=10不會產(chǎn)生溢出,或者在默認值下經(jīng)過2次判斷、循環(huán)而達到G=10(G增加的步長默認為5),lena圖像在
范圍內(nèi)沒有象素,[245,255]范圍內(nèi)有一個象素(247;274,117),即象素值為247,平面坐標為(274,117),現(xiàn)將象素值247改為247-G=247-10=237,記錄被修改象素PM中包括象素值和坐標(247;274,117)、被修改的系數(shù)個數(shù)1和G的值10。
然后對經(jīng)過上述處理后的圖像使用提升格式進行整數(shù)小波分解,運算過程如下
sl(0)=x2ldl(0)=x2l+1---dl(1)=dl(0)+Int(α(sl(0)+sl+1(0)))sl(1)=sl(0)+Int(β(dl(1)+dl-1(0)))---dl2=dl(1)+Int(γ(sl(1)+sl+1(1)))sl(2)=sl(1)+Int(δ(dl(2)+dl-12))]]>式組(1)dl(3)=dl(2)+Int((ζ-ζ2)sl(2))sl(3)=sl(2)+Int((-1/ζ)dl(3))---dl(4)=dl(3)+Int((ζ-1)sl(3))sl(4)=sl(3)+dl(4)---sl=sl(4)dl=dl(4)]]>式組(2)其中Int(·)函數(shù)是取整函數(shù),5個參數(shù)的值分別為α=-1.586134342,β=-0.05298011854,γ=0.8829110762,δ=0.4435068522,ζ=1.149604398。本方案采用三級整數(shù)小波分解,這樣得到9個高頻子帶和1個低頻子帶。
接著檢測9個高頻子帶系數(shù)直方圖的最高點和次高點,為了說明本發(fā)明方案的性能,這里分別采用模式1和模式4進行最大嵌入容量的嵌入,此時所有的高頻子帶都被用來嵌入數(shù)據(jù)。五種主要的嵌入模式下lena圖像的最大嵌入量如表1所示。采用嵌入模式1時,記錄模式1下每個高頻子帶直方圖移動的方向和最高點值對應(yīng)的系數(shù)值,如表2所示。其中表2“移動方向”欄中1表示向右邊移動,0表示向左邊移動,見示意4(b1)。HH表示對角分解方向的子帶,HL表示垂直分解方向的子帶,LH表示水平分解的子帶,旁邊的數(shù)字1、2、3表示分解的級數(shù)。采用嵌入模式4時,記錄模式4下每個高頻子帶直方圖最高點值和次高點值分別對應(yīng)的系數(shù)值,如表3所示。個別子帶具有兩個次高點,可根據(jù)取得最佳視覺效果的原則選擇其中一個次高點,即嵌入過程中被改動的系數(shù)個數(shù)最少。個別子帶的最高點和次高點對應(yīng)的系數(shù)值不是相鄰的,中間相隔1到2個單位,這種情況下把最高點和次高點以及兩者之間的直方圖當(dāng)作一個整體看待。模式4不需要記錄移動方向,因為比較最高點和次高點分別對應(yīng)的系數(shù)值就可以判斷哪邊的直方圖向外移動1個單位或2個單位,見示意4(e1)。這里兩種嵌入模式下都選擇所有的細節(jié)子帶即9個子帶進行嵌入。在模式1下嵌入時,把模式1、選取的細節(jié)子帶數(shù)目9、每個高頻子帶系數(shù)直方圖的最高點對應(yīng)的系數(shù)值、直方圖移動的方向記錄為邊信息A;在模式4下嵌入時,把模式4、選取的高頻子帶數(shù)目9、每個高頻子帶系數(shù)直方圖的最高點和次高點分別對應(yīng)的系數(shù)值記錄為邊信息A。邊信息A加一數(shù)據(jù)頭部表明A的長度。
表1
表2
表3
再接著將邊信息A按照從上到下、從左到右的順序替換低頻子帶的選定位置的最低比特位LSB,直到將A完全嵌入低頻子帶中。兩種嵌入模式下A只替換了低頻子帶最低比特平面的部分LSB。被替換的LSB的位置用密鑰選取,具體做法是將密鑰作為種子生成與低頻子帶大小一樣的偽隨機比特矩陣,矩陣的元素對應(yīng)相應(yīng)位置上的低頻系數(shù),當(dāng)元素為“1”時,該位置被選取用于嵌入邊信息,否則不被選取。記錄被替換掉的低頻子帶的LSB為Ori_LSB。
然后,先將PM、Ori_LSB和用密鑰加密后的隱藏數(shù)據(jù)M’三部分組成比特流,并加上數(shù)據(jù)頭部,得到比特流B,其中數(shù)據(jù)頭部包括比特流的總長度和組成比特流B的三部分各自的長度,再分別按照嵌入模式1和4將比特流B嵌入到9個細節(jié)子帶中,嵌入順序與選擇進行嵌入的高頻子帶順序一樣,都按照人類視覺系統(tǒng)(HVS)的特性,即依次為HH1、HL1、LH1、HH2、HL2、LH2、HH3、HL3和LH3。當(dāng)在一個高頻子帶嵌入數(shù)據(jù)達到最大嵌入容量的時候就按順序繼續(xù)在下一個高頻子帶嵌入余剩的隱藏數(shù)據(jù),直到把所有的數(shù)據(jù)嵌入到高頻子帶中。
最后,按照上述式組(1)和式組(2)的反過程,聯(lián)合嵌入了數(shù)據(jù)的高頻子帶和低頻子帶進行三級整數(shù)小波重構(gòu)得到重構(gòu)的圖像,檢查重構(gòu)的圖像是否發(fā)生象素溢出,若有溢出,則增加G值,按照上述步驟依次重新開始;若沒有溢出,則分別得到模式1和模式4下的掩密圖像,其視覺效果分別見圖6(b)和6(c)。表4是嵌入模式1和模式4下達到最大嵌入容量時本發(fā)明方案的性能。
表4
本發(fā)明數(shù)據(jù)檢測、提取和宿主圖像恢復(fù)的實現(xiàn)框圖如圖2所示,具體步驟的詳細描述見前面“發(fā)明的技術(shù)方案”部分。在接收端,隱藏數(shù)據(jù)的檢測、提取和宿主圖像的恢復(fù)是上述嵌入過程的逆過程。首先,對接受到的掩密圖像進行三級整數(shù)小波分解,獲得9個高頻子帶和1個低頻子帶,并按照從上到下、從左到右的順序提取低頻子帶某些位置上的LSB獲得邊信息A,提取的LSB位置由密鑰作為種子生成的比特矩陣獲得,分析邊信息A,獲得嵌入模式、嵌有隱藏數(shù)據(jù)的高頻子帶數(shù)及其最高點和/或次高點分別對應(yīng)的系數(shù)值與/或系數(shù)直方圖的移動方向等信息。
然后依次從高頻子帶中提取隱藏的數(shù)據(jù),直到將比特流B完全提取出來,提取的同時根據(jù)嵌入模式同時恢復(fù)原高頻子帶系數(shù)值。分析比特流B獲得PM、Ori_LSB和用密鑰加密后的隱藏數(shù)據(jù)M’共三部分數(shù)據(jù)。
接著照從上到下、從左到右的順序用Ori_LSB替換低頻子帶的被提取的LSB,恢復(fù)低頻子帶。用密鑰對加密后的隱藏數(shù)據(jù)進行解密,獲得原隱藏數(shù)據(jù)M。
再接著聯(lián)合已經(jīng)恢復(fù)了的高頻子帶和低頻子帶進行三級整數(shù)小波重構(gòu),獲得空域直方圖未經(jīng)恢復(fù)的圖像。
最后根據(jù)PM恢復(fù)修改過的象素值,獲得無失真的宿主圖像。
權(quán)利要求
1.一種針對自然灰度圖像、基于整數(shù)小波統(tǒng)計特性的可逆數(shù)據(jù)隱藏方法,其特征是利用自然圖像的整數(shù)小波高頻子帶系數(shù)近似服從高斯分布的特點,修改高頻子帶的直方圖和低頻子帶的最低位平面進行數(shù)據(jù)的嵌入以實現(xiàn)可逆信息隱藏,該方法分為數(shù)據(jù)隱藏和數(shù)據(jù)檢測兩個過程。
2.根據(jù)權(quán)利要求1所述的可逆數(shù)據(jù)隱藏方法,其特征是所述數(shù)據(jù)隱藏過程步驟如下1)修正直方圖即將宿主圖像XMxN直方圖的范圍從
修正為[G,255-G],G的初始默認取值為0或根據(jù)XMxN直方圖設(shè)定,并記錄被修改像素為PM,包括原值、坐標和G,記修正后的圖像為X’MxN;2)整數(shù)小波分解即對X’MxN進行整數(shù)小波分解,獲得一個低頻子帶LLL和高頻子帶集合Ck,l,根據(jù)各個高頻子帶系數(shù)直方圖的最高點和次高點計算五種主要的嵌入模式下可達到的最大嵌入容量,分解級數(shù)取L=3;3)嵌入模式選擇比較隱藏數(shù)據(jù)量與五種主要的嵌入模式下的最大嵌入容量,選擇一種嵌入模式,并按照人類視覺系統(tǒng)(HVS)特性選取若干用于嵌入數(shù)據(jù)的高頻子帶,記錄選擇的嵌入模式、選取的高頻子帶數(shù)目、在該嵌入模式下所選取的每個高頻子帶直方圖的最高點和/或次高點對應(yīng)的系數(shù)值及/或系數(shù)直方圖移動的方向,將這些記錄的信息記為邊信息A;4)低頻系數(shù)選擇性修改用密鑰K選擇低頻子帶LLL系數(shù)的LSB(LeastSignificant Bit),將邊信息A以替換被選擇的LSB的方式嵌入低頻子帶LLL得到LL’L,并記錄被替換的LSB為Ori_LSB;5)高頻系數(shù)修改將PM、Ori_LSB和用密鑰K加密后的隱藏數(shù)據(jù)M’形成比特流,并按照所選擇的嵌入模式修改高頻子帶系數(shù),將比特流嵌入到選取的高頻子帶中,嵌有數(shù)據(jù)的高頻子帶集合記為C’k,l;6)整數(shù)小波重構(gòu)將LL’L和C’k,l進行三級整數(shù)小波重構(gòu);7)像素值溢出判斷如果重構(gòu)后的像素值超出
的范圍,判斷為溢出,則重返步驟1),增大G的取值并重復(fù)上述步驟直至沒有象素值溢出,G的步長默認取5或自行設(shè)定,否則得到隱藏了信息的掩密圖像X”MxN。
3.根據(jù)權(quán)利要求1所述的可逆數(shù)據(jù)隱藏方法,其特征是所述數(shù)據(jù)檢測過程步驟如下1)整數(shù)小波分解即對待檢測的掩密圖像X”MxN進行三級整數(shù)小波分解,獲得一個低頻子帶LL’L和高頻子帶集合C’k,l;2)選擇性提取由密鑰K獲得LL’L中嵌有數(shù)據(jù)的LSB位置,從這些位置提取LSB獲得邊信息A,分析邊信息A可得到嵌入模式、選取的高頻子帶數(shù)目、在該嵌入模式下所選取的每個高頻子帶直方圖的最高點和/或次高點對應(yīng)的系數(shù)值及系數(shù)直方圖移動的方向;3)提取并恢復(fù)高頻系數(shù)按照嵌入模式從C’k,l中提取比特流并恢復(fù)Ck,l,分析比特流得到PM、Ori_LSB和M’,用密鑰K解密M’得到M;4)低頻系數(shù)恢復(fù)用Ori_LSB替換LL’L中嵌有數(shù)據(jù)的LSB位置,恢復(fù)LLL;5)整數(shù)小波重構(gòu)將LLL和Ck,l進行三級整數(shù)小波重構(gòu),得到圖像信號X’MxN;6)恢復(fù)直方圖根據(jù)PM將X’MxN的直方圖[G,255-G]恢復(fù)為
,得到無失真的宿主圖像XMxN。
4.根據(jù)權(quán)利要求2所述的可逆數(shù)據(jù)隱藏方法,其特征是所述數(shù)據(jù)隱藏過程步驟3)中所選擇的嵌入模式?jīng)Q定了每個高頻子帶的嵌入容量、隱藏數(shù)據(jù)的嵌入、提取與恢復(fù)及此過程中系數(shù)直方圖移動的方向和大小,主要的嵌入模式有五種,分別命名為嵌入模式1、嵌入模式2、嵌入模式3、嵌入模式4和嵌入模式5。
5.根據(jù)權(quán)利要求4所述的可逆數(shù)據(jù)隱藏方法,其特征是所述嵌入模式1的嵌入容量等于高頻子帶系數(shù)直方圖的最高點值n1,嵌入模式1嵌入、檢測、提取與恢復(fù)的方法如下1)在發(fā)送端,在保持直方圖最高點不變的情況下,將直方圖最高點其中一邊即左邊或右邊的直方圖整體移動一個單位,直方圖移動的方向即向左邊移動還是向右邊移動可遵循盡量取得最好的視覺效果的原則,即維持盡量多的系數(shù)值不變,使在直方圖最高點旁邊出現(xiàn)一個缺口(gap),具體的實現(xiàn)是首先統(tǒng)計系數(shù)直方圖,獲得直方圖最高點對應(yīng)的系數(shù)值c1st、計算最高點兩邊的直方圖的系數(shù)個數(shù)并進行比較,記最高點左邊的系數(shù)總數(shù)為Nleft,記最高點右邊的系數(shù)總數(shù)為Nright,如果Nleft<Nright,則最高點左邊的直方圖整體向外移動一個單位,即該部分直方圖對應(yīng)的所有系數(shù)值減少一個單位,如果Nleft≥Nright,則最高點右邊的直方圖整體向外移動一個單位,即該部分直方圖對應(yīng)的所有系數(shù)值增加一個單位,假設(shè)比較結(jié)果為Nleft≥Nrigt,然后對整個高頻子帶進行從上到下、從左到右的順序掃描,將所有系數(shù)值大于直方圖最高點對應(yīng)的系數(shù)值加1(比較結(jié)果相反則取減,以下依次類推);2)按照同樣的順序再次對高頻子帶進行掃描,當(dāng)遇到最高點系數(shù)c1st時,檢查將要嵌入的數(shù)據(jù),如果待嵌入的是比特“1”,則將最高點系數(shù)值加1,即填補缺口,如果待嵌入的是比特“0”,則保持最高點系數(shù)值不變,直到將所有的數(shù)據(jù)比特嵌入完畢或者達到該高頻子帶的最大嵌入容量;3)在接收端,按照同樣的順序?qū)Ω哳l子帶進行掃描,當(dāng)遇到最高點系數(shù)時提取比特“0”,當(dāng)遇到比最高點系數(shù)值大1的系數(shù)時提取比特“1”,并將該系數(shù)值減1從而恢復(fù)為最高點系數(shù)值,即使缺口重新出現(xiàn);4)按照同樣的順序再次對高頻子帶進行掃描,將所有系數(shù)值大于直方圖最高點對應(yīng)的系數(shù)值減1,即補上缺口,恢復(fù)整個系數(shù)子帶。
6.根據(jù)權(quán)利要求4所述的可逆數(shù)據(jù)隱藏方法,其特征是所述嵌入模式2的嵌入容量等于高頻子帶系數(shù)直方圖的最高點值n1和次高點值n2之和,嵌入模式2嵌入、檢測、提取與恢復(fù)的方法如下1)在發(fā)送端,在保持直方圖最高點和次高點整體不變的情況下,將直方圖最高點和次高點兩邊即左邊和右邊的直方圖分別向外整體移動一個單位,使在直方圖最高點和次高點這個整體兩旁共出現(xiàn)兩個缺口,具體的實現(xiàn)是首先統(tǒng)計系數(shù)直方圖,獲得直方圖最高點對應(yīng)的系數(shù)值c1st和次高點對應(yīng)的系數(shù)值c2nd并比較兩個系數(shù)值的大小,然后對整個高頻子帶進行從上到下、從左到右的順序掃描,如果c1st≥c2nd,則將所有系數(shù)值大于c1st的系數(shù)值加1,將所有系數(shù)值小于c2nd的系數(shù)值減1(比較結(jié)果相反則依次取減、加,以下類似);2)按照同樣的順序再次對高頻子帶進行掃描,當(dāng)遇到最高點系數(shù)c1st時,檢查將要嵌入的數(shù)據(jù),如果待嵌入的是比特“1”,則將最高點系數(shù)值加1,如果待嵌入的是比特“0”,則保持最高點系數(shù)值不變,當(dāng)遇到次高點系數(shù)c2nd時,檢查將要嵌入的數(shù)據(jù),如果待嵌入的是比特“1”,則將最高點系數(shù)值減1,如果待嵌入的是比特“0”,則保持次高點系數(shù)值不變,直到將所有的數(shù)據(jù)比特嵌入完畢或者達到該高頻子帶的最大嵌入容量;3)在接收端,按照同樣的順序?qū)Ω哳l子帶進行掃描,當(dāng)遇到最高點系數(shù)c1st或次高點系數(shù)c2nd時提取比特“0”,當(dāng)遇到系數(shù)c1st+1或c2nd-1時提取比特“1”,并將系數(shù)值恢復(fù)為c1st或c2nd;4)按照同樣的順序再次對高頻子帶進行掃描,將所有系數(shù)值大于c1st的系數(shù)值減1,將所有系數(shù)值小于c2nd的系數(shù)值加1,恢復(fù)整個系數(shù)子帶。
7.根據(jù)權(quán)利要求4所述的可逆數(shù)據(jù)隱藏方法,其特征是所述嵌入模式3的嵌入容量等于高頻子帶系數(shù)直方圖的最高點值n1的兩倍,嵌入模式3嵌入、檢測、提取與恢復(fù)的方法如下1)在發(fā)送端,在保持直方圖最高點不變的情況下,將直方圖最高點兩邊的直方圖其中一邊整體向外移動一個單位而另一邊整體向外移動兩個單位,使在直方圖最高點旁邊出現(xiàn)大小分別為一個單位和兩個單位的兩個缺口,具體的實現(xiàn)是首先統(tǒng)計系數(shù)直方圖,獲得直方圖最高點對應(yīng)的系數(shù)值c1st、計算最高點兩邊的直方圖的系數(shù)個數(shù)并進行比較,記最高點左邊的系數(shù)總數(shù)為Nleft,記最高點右邊的系數(shù)總數(shù)為Nright,如果Nleft<Nright,則最高點左邊的直方圖整體向外移動兩個單位,而最高點右邊的直方圖整體向外移動一個單位,如果Nleft≥Nright,則相反,假設(shè)比較結(jié)果為Nleft≥Nrigt,然后對整個高頻子帶進行從上到下、從左到右的順序掃描,將所有系數(shù)值大于c1st的系數(shù)值加2,將所有系數(shù)值小于c1st的系數(shù)值減1(比較結(jié)果相反則依次取減、加,以下類似);2)按照同樣的順序再次對高頻子帶進行掃描,當(dāng)遇到最高點系數(shù)c1st時,檢查將要嵌入的連續(xù)兩個比特,連續(xù)兩個比特的四種組合與四個系數(shù)值c1st-1、c1st、c1st+1和c1st+2一一對應(yīng),根據(jù)待嵌入的比特組合將c1st修改為c1st-1、c1st+1或c1st+2,或保持c1st不變,直到將所有的數(shù)據(jù)比特嵌入完畢或者達到該高頻子帶的最大嵌入容量;3)在接收端,按照同樣的順序?qū)Ω哳l子帶進行掃描,當(dāng)遇到c1st-1、c1st、c1st+1或c1st+2時提取其對應(yīng)的比特組合,并將系數(shù)值恢復(fù)為c1st;4)按照同樣的順序再次對高頻子帶進行掃描,將所有系數(shù)值大于c1st的系數(shù)值減2,將所有系數(shù)值小于c1st的系數(shù)值加1,恢復(fù)整個系數(shù)子帶。
8.根據(jù)權(quán)利要求4所述的可逆數(shù)據(jù)隱藏方法,其特征是所述嵌入模式4的嵌入容量等于該高頻子帶系數(shù)直方圖的次高點值n2和兩倍最高點值n1之和,實質(zhì)是次高點采用了嵌入模式1、最高點采用了嵌入模式3。
9.根據(jù)權(quán)利要求4所述的可逆數(shù)據(jù)隱藏方法,其特征是所述嵌入模式5的嵌入容量等于該高頻子帶系數(shù)直方圖的次高點值n2和最高點值n1之和的兩倍,實質(zhì)是次高點和最高點都采用了嵌入模式3。
全文摘要
本發(fā)明公開一種可逆數(shù)據(jù)隱藏方法,屬于多媒體信息安全領(lǐng)域。本發(fā)明方法分為數(shù)據(jù)隱藏和數(shù)據(jù)檢測兩個過程,數(shù)據(jù)隱藏步驟如下1)修正直方圖;2)整數(shù)小波分解;3)嵌入模式選擇;4)低頻系數(shù)選擇性修改;5)高頻系數(shù)修改;6)整數(shù)小波重構(gòu);7)像素值溢出判斷。數(shù)據(jù)檢測步驟如下1)整數(shù)小波分解;2)選擇性提取;3)提取并恢復(fù)高頻系數(shù);4)低頻系數(shù)恢復(fù);5)整數(shù)小波重構(gòu);6)恢復(fù)直方圖。本發(fā)明利用自然灰度圖像的整數(shù)小波高頻子帶系數(shù)近似服從高斯分布的特點,修改高頻子帶的直方圖和低頻子帶的最低位平面進行數(shù)據(jù)的嵌入以實現(xiàn)信息隱藏,可無失真恢復(fù)宿主圖像。本發(fā)明適用于軍事圖像、醫(yī)學(xué)圖像和其他敏感圖像的可逆信息隱藏。
文檔編號H04L9/32GK1885340SQ20061003638
公開日2006年12月27日 申請日期2006年7月7日 優(yōu)先權(quán)日2006年7月7日
發(fā)明者梁小萍, 黃繼武 申請人:中山大學(xué)