王英偉,楊志
基于區(qū)域生長(zhǎng)的信息隱藏方法*
王英偉,楊志
(華北電力大學(xué) 電子與通信工程系,河北 保定 071000)
基于像素值排序的信息隱藏方法取得了良好的效果,但此方法的選塊方式固定,對(duì)于相鄰像素區(qū)域的分類并不完善。對(duì)于像素值排序方法而言,將更多相似像素劃分進(jìn)同一分塊可以提高其嵌入容量和嵌入質(zhì)量。提出了一種基于區(qū)域生長(zhǎng)的圖像分塊方法,將圖像自適應(yīng)地分割為不同大小的分塊,使算法在嵌入容量和嵌入質(zhì)量上得到提升。
信息隱藏;區(qū)域生長(zhǎng);粗糙度;像素值排序
在信息和大數(shù)據(jù)時(shí)代,人們可以獲得海量的信息,同時(shí)信息也可以便捷地傳輸,但是同時(shí)也給信息安全和信息來源認(rèn)證帶來了巨大的挑戰(zhàn)。
為了實(shí)現(xiàn)傳輸?shù)陌踩裕畔㈦[藏技術(shù)應(yīng)運(yùn)而生,信息隱藏技術(shù)不僅可以將秘密信息隱藏進(jìn)信息載體中,還可以在接收端接收并解密時(shí),使秘密信息和載體圖像完全恢復(fù)出來,在信息認(rèn)證、版權(quán)保護(hù)、保證通信安全性等方面貢獻(xiàn)突出[1],并且在醫(yī)學(xué)、軍事等要求載體不失真領(lǐng)域起著不可替代的作用。因此,對(duì)于信息隱藏領(lǐng)域的研究具有重要的實(shí)用意義。
由現(xiàn)有的像素排序類算法可知,平滑區(qū)域的像素值相差較小,對(duì)于像素的預(yù)測(cè)也越精確,在平滑區(qū)域嵌入秘密信息,可以提高算法的嵌入容量和嵌入質(zhì)量,因此,將更多相似像素劃分進(jìn)同一區(qū)塊,可以提升算法的嵌入容量和嵌入質(zhì)量。
本文針對(duì)經(jīng)典排序類算法[2-3]中只采用固定分塊的特點(diǎn)進(jìn)行改進(jìn),使得圖像根據(jù)其局部特性分成大小不同的區(qū)塊,可以較好地利用圖像的區(qū)域特性,提高算法精度。
區(qū)域生長(zhǎng)[4]是指從一個(gè)像素點(diǎn)或一個(gè)像素區(qū)域出發(fā),按照設(shè)定的合并條件,找到相鄰相似的像素點(diǎn)或像素區(qū)域,逐步將其加入自身區(qū)域,在達(dá)到設(shè)定條件后,終止區(qū)域合并,達(dá)到目標(biāo)提取和合理分塊的目的。其根本思想是將性質(zhì)相似的像素點(diǎn)或像素區(qū)域集合起來構(gòu)成新的像素區(qū)域[5],直到周圍沒有相似的區(qū)域?yàn)橹埂:喜l件可以選定為灰度值、紋理方向、局部粗糙度等。
本文研究并采用的是利用局部粗糙度進(jìn)行區(qū)域生長(zhǎng)操作,以實(shí)現(xiàn)與排序類算法的融合。
本文采用的計(jì)算局部粗糙度的方法如下:設(shè)分塊中包含個(gè)像素,像素值為(1,…,n),將像素值進(jìn)行升序排列得到[π(1),…,π(n)],其中π(1)≤…≤π(n),π()為像素π(i)在未排序分塊中所處的位置。如果π(i)=π(j)且<,則π()<π()。
根據(jù)排序后的像素值計(jì)算塊粗糙度:
(1)
選擇的起始分塊大小可以為2×2、4×4、8×8等方式,本文選擇適用性較好的2×2方式為例,介紹相似閾值的選定。
相似閾值與嵌入性能密切相關(guān),決定著區(qū)塊的大小。當(dāng)待嵌入數(shù)據(jù)量較少時(shí),可選擇較大的閾值,在大閾值下,區(qū)域生長(zhǎng)合并的區(qū)塊尺寸較大,可以保證較好的嵌入質(zhì)量;當(dāng)待嵌入數(shù)據(jù)量較多時(shí),選擇較小的閾值,可以保證分出的分塊較多,有更大的嵌入空間。
下面給出相似閾值的選定方法:首先將圖像分為2×2的分塊,并按照式(1)計(jì)算每個(gè)分塊的粗糙度(),然后選定第一個(gè)2×2分塊為起點(diǎn),向周圍擴(kuò)張,其可以擴(kuò)張的條件如下式所示:
相似閾值由設(shè)定的最大閾值逐步減小,當(dāng)給定的待嵌入數(shù)據(jù)正好可以嵌入時(shí),即可選定為最佳相似閾值。不同圖像的區(qū)域生長(zhǎng)分割效果如圖1所示。
本文的嵌入過程采取了以下假設(shè):處理的原始圖像為灰度圖像,待嵌入的信息采用二值圖像,嵌入后的圖像沒有經(jīng)過傳輸、攻擊等干擾。

圖1 區(qū)域生長(zhǎng)分割示例
步驟1:像素預(yù)處理并構(gòu)造位置圖。嵌入操作會(huì)對(duì)分塊內(nèi)的最大值和最小值進(jìn)行+1和-1的操作,原本最大值為255和最小值為0的像素,在嵌入數(shù)據(jù)后可能會(huì)發(fā)生上/下溢,因此需要對(duì)圖像進(jìn)行預(yù)處理。將像素值為255的像素點(diǎn)進(jìn)行-1操作,將其修改為254,將像素值為0的像素點(diǎn)進(jìn)行+1操作,將其修改為1,并建立一個(gè)位置圖記錄像素點(diǎn)是否經(jīng)過預(yù)處理,如果經(jīng)過預(yù)處理,則()=1。在自然圖像中,0和255的像素點(diǎn)并不多,因此對(duì)位置圖進(jìn)行算術(shù)編碼壓縮后,占用的空間較小,不會(huì)過多影響嵌入容量。
步驟2:按照區(qū)域生長(zhǎng)方法將圖像進(jìn)行分塊處理。
步驟3:將秘密信息嵌入。在分塊時(shí)優(yōu)先使用大分塊,因?yàn)榇蠓謮K較為平滑,可以保證嵌入質(zhì)量。
步驟4:輔助信息和壓縮位置圖的嵌入。輔助信息用于數(shù)據(jù)的盲提取,保證算法的可逆性。輔助信息包括用于四叉樹分割的閾值,最后嵌入位置end,壓縮位置圖的長(zhǎng)度LM以及壓縮位置圖自身。利用替換最低有效位(LSB)的方法[6-7]將輔助信息嵌入到end之后。
3.1.1 最大值嵌入
設(shè)分塊中包含個(gè)像素,像素值為(1,…,n),將像素值進(jìn)行升序排列得[π(1),…,π(n)],其中π(1)≤…≤π(n),π()為像素π(i)在未排序分塊中所處的位置。如果π(i)=π(j)且<,則π()<π()。
最大值和次大值之間的差值max:
max=s-t(2)
式(2)中:=[π(-1),π()],=[π(-1),π()]。

利用次大值和修改后的差值,計(jì)算嵌入或移位后的像素值:
3.1.2 最小值嵌入
首先,與最大值嵌入一樣,對(duì)像素值進(jìn)行排序,得到 [π(1),…,π(n)],其中π(1)≤…≤π(n),如果π(i)=π(j)且<,則π()<π()。
計(jì)算最小值和次小值之間的差值min:
min=m-n(3)
式(3)中:=[π(1),π(2)],=[π(1),π(2)]。

利用次小值和修改后的差值計(jì)算嵌入或移位后的像 素值:
進(jìn)行嵌入過程,直到全部秘密信息嵌入完畢,記錄最后嵌入位置end,方便提取時(shí)將秘密信息和輔助信息區(qū)分開。
步驟1:提取輔助信息和壓縮位置圖。提取最低有效位得到用于區(qū)域生長(zhǎng)閾值,最后嵌入位置end,壓縮位置圖的長(zhǎng)度LM,根據(jù)輔助信息提取LSB得到壓縮位置圖,將壓縮位置圖解壓縮[8]。按照LSB的方法替換最低有效位。
步驟2:提取秘密信息。由第一個(gè)嵌入位置到end嵌入位置提取,按照嵌入過程的逆過程提取隱藏信息。
步驟3:恢復(fù)原始圖像。根據(jù)提取的輔助信息位置圖恢復(fù)可能溢出的像素值。
將本文提出的方法與文獻(xiàn)[3]中固定分塊經(jīng)典算法對(duì)比,選擇SIPI圖像庫(kù)中的標(biāo)準(zhǔn)圖像進(jìn)行實(shí)驗(yàn),如圖2所示。
嵌入數(shù)據(jù)為二值圖像,這樣可以保證使用不同方法嵌入的數(shù)據(jù)是相同的,從而更好地比較算法的嵌入效果。比較的重點(diǎn)為嵌入容量和峰值信噪比(PSNR)兩方面,其中,指標(biāo)峰值信噪比代表著嵌入后圖像質(zhì)量的好壞。當(dāng)峰值信噪比的值在51.14 dB以上時(shí),嵌入數(shù)據(jù)后的圖像在視覺上與原圖像基本無差異,且峰值信噪比越大,嵌入后的圖像質(zhì)量越高。峰值信噪比的計(jì)算公式如下:

式(4)中:為兩張尺寸為*圖像1和2的均方 誤差。
的計(jì)算公式如下:

本文算法與經(jīng)典算法的對(duì)比結(jié)果如圖3所示。

圖3 嵌入不同數(shù)據(jù)量的峰值信噪比比較
由圖3可知,在小嵌入容量時(shí),本文的改進(jìn)方法取得的值改進(jìn)更明顯,在30 000 bits以上的嵌入容量情況下,與原算法相差不多,但是也有一定改善。
在相同嵌入10 000 bits的情況下,本文算法相對(duì)于文獻(xiàn)[2]中的算法平均值提高了1.8 dB左右,這是因?yàn)槲墨I(xiàn)[2]中的方法只使用了0預(yù)測(cè)誤差,并沒有使用1預(yù)測(cè)誤差。本文使用的方法同時(shí)也利用了1預(yù)測(cè)誤差,嵌入質(zhì)量和嵌入容量都有一定的提升。但是對(duì)于大嵌入容量,本文算法中的大分塊較少,與文獻(xiàn)[2]中的極限分塊狀態(tài)相似。因此在大嵌入容量時(shí),本文算法的效果并沒有太大提升。本文的嵌入方法更適用于中小嵌入容量的情況。
本文針對(duì)排序類算法固定分塊的問題,提出了一種基于區(qū)域生長(zhǎng)的信息隱藏方法。實(shí)驗(yàn)結(jié)果表明,本文方法的嵌入質(zhì)量高于經(jīng)典排序類算法。在中小嵌入數(shù)據(jù)量的情況下,峰值信噪比提高較為明顯,在大嵌入數(shù)據(jù)量時(shí),峰值信噪比與經(jīng)典排序類算法相近。
[1]李曉龍.圖像可逆隱藏綜述[J].信息安全研究,2016,2(8):729-734.
[2]L X L,L J,L B,et al.Hige-fidelity reversible data hiding scheme based on pixel-value-ordering and prediction-error expansion [J].Signal Processing,2013,93(1):198-205.
[3]PENG F,LI X,YANG B.Improved pvo-based reversible data hiding[J].Digital Signal Processing,2014(25):255-265.
[4]孔俊,王佳男,谷文祥,等.基于區(qū)域的自動(dòng)種子區(qū)域生長(zhǎng)法的彩色圖像分割算法[J].東北師大學(xué)報(bào)(自然科學(xué)版),2008,40(4):47-51.
[5]羅希平,田捷,諸葛嬰,等.圖像分割方法綜述[J].模式識(shí)別與人工智能,1999,12(3):300-312.
[6]熊志勇,王江晴.基于預(yù)測(cè)誤差差值擴(kuò)展和最低有效位替換的可逆數(shù)據(jù)隱藏[J].計(jì)算機(jī)應(yīng)用,2010,30(4):909- 913,920.
[7]任克強(qiáng),肖璐瑤.融合CFT和LSB的高容量可逆數(shù)據(jù)隱藏[J].液晶與顯示,2019,34(4):410-416.
[8]OU B,LI X,ZHAO Y,et al.Reversible data hiding using invariant pixel-value-ordering and prediction-error Expansion[J].Signal processing Image Communication,2014,29(7):760-772.
TP309
A
10.15913/j.cnki.kjycx.2020.01.014
2095-6835(2020)01-0048-03
國(guó)家重大科學(xué)儀器設(shè)備開發(fā)重點(diǎn)專項(xiàng)(編號(hào):2018YFF01011900)過傳輸、攻擊等干擾。
王英偉(1993—),男,碩士研究生,研究方向?yàn)閳D像處理、信息隱藏。楊志,副教授,碩士生導(dǎo)師。
〔編輯:嚴(yán)麗琴〕