何佳,陳勇,陳登
(重慶師范大學(xué)計(jì)算機(jī)與信息科學(xué)學(xué)院,重慶 401331)
二值圖像存儲(chǔ)簡單,數(shù)據(jù)傳真、文字識(shí)別、條碼識(shí)別和數(shù)字簽名中得到廣泛應(yīng)用。通過在二值圖像中嵌入秘密信息,達(dá)到隱蔽傳輸目的,是信息隱藏方法的研究熱點(diǎn)?;诙祱D像的信息隱藏技術(shù)在商業(yè)及軍事等領(lǐng)域得到廣泛關(guān)注。二值圖像信息隱藏的基本思想是利用載體圖像中的冗余信息來嵌入秘密信息,相關(guān)研究大都圍繞不可感知性、魯棒性、嵌入量來展開。一般而言,在秘密信息嵌入載體圖像的過程中,往往要修改載體圖形的部分信息,因此如果能夠修改較少的載體圖像信息,而嵌入較多的秘密信息,在一定程度上便可達(dá)到較好的不可感知性、較強(qiáng)的魯棒性和較大的嵌入量。二值圖像的信息隱藏研究,現(xiàn)階段的方法主要可分為以下幾類:基于分塊方式嵌入法[1-5],基于半色調(diào)圖像的嵌入法[6]、對(duì)大塊圖像進(jìn)行結(jié)構(gòu)微調(diào)法[7],頻域嵌入法等。
在現(xiàn)有的各種二值圖像隱藏算法中,采用分塊方法進(jìn)行隱藏信息嵌入的算法,由于其操作相對(duì)簡單,并且信息嵌入的容量也比較大,該類算法(文獻(xiàn)[1-5])是二值圖像信息隱藏的當(dāng)前主流算法。該算法的核心是,將載體圖像Im×n進(jìn)行規(guī)則劃分,得到個(gè)大小為k×k的子塊;依據(jù)一定的評(píng)價(jià)指標(biāo),如利用小塊中心像素修改帶來的連通度和平滑度影響為指標(biāo),對(duì)所有個(gè)子塊進(jìn)行分析,選定評(píng)價(jià)值較好的圖像塊;將要嵌入的秘密信息先轉(zhuǎn)化為比特流信息,依據(jù)要嵌入的比特流信息,修改塊中某點(diǎn)的黑白像素,因是二值圖像,修改就簡化為像素值的反轉(zhuǎn)。隱藏信息提取時(shí),依據(jù)分塊的大小k,和相同的塊評(píng)價(jià)指標(biāo),可以依序找到嵌入了比特信息的塊,據(jù)此可以恢復(fù)出當(dāng)時(shí)嵌入的秘密信息。
在現(xiàn)有算法的圖像塊的獲取中,如文獻(xiàn)[1,2],為了提取的高效簡單,圖像子塊的獲取是按規(guī)則劃分方式對(duì)載體圖像進(jìn)行分塊。
現(xiàn)有的按分塊方法進(jìn)行信息隱藏的算法,塊的選擇沒有考慮圖像自身的像素變化特性。對(duì)現(xiàn)有的算法分析可以發(fā)現(xiàn),對(duì)片狀全黑和全白區(qū)域是不能嵌入信息的,否則會(huì)對(duì)圖像視覺效果帶來較大的影響,載體圖像嵌入前后有較大的視覺差異。通常選出的嵌入塊會(huì)出現(xiàn)在圖像的邊緣和其附近區(qū)域,而圖像邊緣是依圖而變,極不規(guī)則,若按傳統(tǒng)的塊劃分和選取方法,大量可嵌入信息的邊緣不能取到,使得載體圖像可嵌入的信息量較少。本文將在現(xiàn)有分塊比特信息嵌入的思想上,設(shè)計(jì)基于雙評(píng)價(jià)值的改進(jìn)二值圖像分塊隱藏算法,通過對(duì)載體圖像自身變化的邊緣分塊的雙向評(píng)價(jià)分析,獲取比傳統(tǒng)算法更多的可嵌入塊,提升比特信息嵌入量,同時(shí)在相同的嵌入信息量時(shí),對(duì)載體圖像的視覺效果影響更小,更不易被察覺出圖像的改變。
本文將以圖像中所有可能的嵌入像素點(diǎn)按塊進(jìn)行評(píng)價(jià),被評(píng)價(jià)像素點(diǎn)處于k×k塊的中心,所設(shè)計(jì)的算法將利用評(píng)價(jià)置函數(shù),選出評(píng)價(jià)值相對(duì)較高的塊的中心作為嵌入候選點(diǎn)集進(jìn)行篩選,以確定比特信息隱藏位置。
二值圖像像素點(diǎn)的修改是黑白的反轉(zhuǎn),嵌入隱藏信息帶來的對(duì)載體圖像的修改,將對(duì)原圖造成較大的視覺影響差異。因此,對(duì)二值圖像嵌入點(diǎn)的選擇要慎重的多。文本將應(yīng)用文獻(xiàn)[4]中給出的點(diǎn)平滑度和連通性函數(shù)作為評(píng)價(jià)函數(shù)。其定義如下:
這里塊的大小設(shè)定為3×3。水平方向、豎直方向、正對(duì)角方向和逆對(duì)角方向的四個(gè)平滑度指標(biāo)和的計(jì)算公式如下:
基于雙評(píng)價(jià)值的二值圖像分塊隱藏算法的嵌入算法(3×3分塊)如下:
(1)讀入原始載體圖像,圖像大小為m×n的二值矩陣,為其處像素值;讀入隱藏比特序列H,的向量為其第k個(gè)需嵌入的比特值;設(shè)定評(píng)價(jià)值閾值為T。
(3)對(duì)候選嵌入點(diǎn)集S1中的每個(gè)點(diǎn),置反該像素點(diǎn)的值,重新按公式(5)計(jì)算評(píng)價(jià)值,對(duì)和皆大于某閾值T的中心點(diǎn),構(gòu)成新的候選嵌入點(diǎn)集
(4)按行優(yōu)先的順序,逐點(diǎn)修改點(diǎn)集S2,即若確定了嵌入點(diǎn)為時(shí),其對(duì)應(yīng)的3×3大小的塊內(nèi)的8個(gè)鄰域點(diǎn),排除在S2之外,得到實(shí)際可嵌入點(diǎn)集S3。
(5)利用實(shí)際嵌入點(diǎn)集S3,嵌入比特序列H。若嵌入點(diǎn)為即可,完成后嵌入后,獲得的修改載體圖像記為HI,與載體圖像I大小相同。
基于雙評(píng)價(jià)值的二值圖像分塊隱藏算法的信息提取算法(3×3分塊)如下:
(1)讀入嵌入隱藏信息后的圖像HI,隱藏比特序列的長度L,評(píng)價(jià)值閾值T。
(2)對(duì)HI,按行優(yōu)先序,逐點(diǎn)按公式(5)計(jì)算評(píng)價(jià)值和,若該點(diǎn)滿足和都大于T,則該點(diǎn)像素值即為嵌入的比特信息;每提取出一個(gè)比特信息,該點(diǎn)所處的3×3子塊的其余鄰域點(diǎn)不再做提取信息操作。
(3)提取的比特序列長度達(dá)到L時(shí),所有隱藏信息提取完成。
為驗(yàn)證所設(shè)計(jì)算法的有效性和性能,對(duì)1.2節(jié)所設(shè)計(jì)的二值圖像信息隱藏與提取算法,在MATLAB平臺(tái)上進(jìn)行了仿真實(shí)驗(yàn)。仿真實(shí)驗(yàn)所用的圖例如圖1,有6幅不同類型的二值圖像,有人物、動(dòng)物、文本、水果,圖標(biāo)等圖像,所有圖像大小都是256×256。
圖1 測(cè)試用的6幅二值圖像
圖2 Cameraman圖像對(duì)應(yīng)的嵌入點(diǎn)集
為了進(jìn)一步了解嵌入點(diǎn)集的選取情況,表1對(duì)嵌入候選點(diǎn)集與實(shí)際可嵌入點(diǎn)集的差異進(jìn)行了數(shù)量描述。從表1中可見,S3?S2?S1??傮w上,S2比S1有減少,但并不顯著;而S3相比S1或S2而言,有較顯著的減少。平均看,S2的點(diǎn)數(shù)占S1的83.65%,S3的點(diǎn)數(shù)僅占S1的 35.61%。
表1 測(cè)試圖像對(duì)應(yīng)的候選點(diǎn)集與實(shí)際可嵌入點(diǎn)集
在獲得實(shí)際可嵌入點(diǎn)集S3后,就可以實(shí)施隱藏信息的嵌入了。仿真實(shí)驗(yàn)嵌入的信息為圖3所示的一幅文本二值圖像,當(dāng)大小為19×86時(shí),需嵌入1634個(gè)比特。
圖3 待嵌入的隱藏圖像,大小19×86
對(duì)大小為19×86時(shí)的待嵌入的隱藏圖像,需嵌入1634個(gè)比特。Cameraman圖像能夠滿足嵌入比特長度要求,嵌入隱藏信息后的載體圖像修改圖像與原圖的對(duì)比效果見圖4所示。在嵌入的信息較多時(shí),由于邊緣點(diǎn)變化沒有規(guī)則,所以嵌入前后,變化不明顯。對(duì)隱藏圖像,提取算法獲得的信息圖像見圖5沒有任何失真,可以完全恢復(fù)嵌入信息。
圖4 測(cè)試Cameraman圖像嵌入隱藏信息前后對(duì)比圖
圖5 提取隱藏信息后構(gòu)建的圖像
總體看,不同類型的分塊二值圖像信息隱藏算法的嵌入容量,主要取決于可嵌入單元的數(shù)量,這與具體的嵌入分塊的選取方式有關(guān)。隨著評(píng)價(jià)閾值的提高,對(duì)所選嵌入點(diǎn)的要求也就越高,嵌入容量會(huì)下降,但選出的嵌入點(diǎn)的修改,對(duì)圖像視覺效果的影響也越小。邊緣較多的圖像,其蘊(yùn)含的嵌入點(diǎn)相對(duì)也越多。
本文設(shè)計(jì)了一種改進(jìn)的分塊二值圖像嵌入和提取算法。該算法側(cè)重于在圖像邊緣尋找滿足閾值條件的較好嵌入點(diǎn),能夠獲取較多的可嵌入點(diǎn),且嵌入圖像的視覺效果較好。MATLAB平臺(tái)上的仿真實(shí)驗(yàn)驗(yàn)證了所設(shè)計(jì)算法的正確性和有效性。通過對(duì)比試驗(yàn)分析,進(jìn)一步揭示了所設(shè)計(jì)的算法具有較高的嵌入容量和較好的隱藏效果,嵌入后的圖像失真較少。
參考文獻(xiàn):
[1]Wu M,Liu B.Data Hiding in Binary Image for Authentication and Annotation[J].Multimedia,IEEE Transactions on,2004,6(4):528-538.
[2]Yang H,Kot A C.Pattern-Based Data Hiding for Binary Image Authentication by Connectivity-Preserving[J].Multimedia,IEEE Transactions on,2007,9(3):475-486.
[3]付磊,劉九芬,張衛(wèi)明等.一種無損的二值圖像信息隱藏算法[J].信息工程大學(xué)學(xué)報(bào),2012,13(4):421-425.
[4]周波,陳健.一種適用于二值圖像的數(shù)字s水印算法[J].上海交通大學(xué)學(xué)報(bào),2004,38(9):1509-1514.
[5]原迪,劉棣華.一種新的二值圖像信息隱藏于提取算法.人工智能及識(shí)別技術(shù),2009,24:97-100.
[6]Tsai C L,Fan K C,Chung C D,et al.Data Hiding of Binary Images Using Pair-Wise Logical Computation Mechanism[C].Multimedia and Expo,2004.ICME'04.2004 IEEE International Conference on.IEEE,2004,2:951-954.
[7]Filler T,Judas J,Fridrich J.Minimizing Embedding Impact in Steganography Using Trellis-Coded Quantization[C].IS&T/SPIE Electronic Imaging.International Society for Optics and Photonics,2010:754105-754105-14.