呂志恒,劉磊,陳思,殷趙霞
(安徽大學計算機科學與技術學院,安徽 合肥 230000)
隨著信息技術的發(fā)展和互聯網的普及,大量數據在互聯網中傳播,繼而人們發(fā)現了信息在互聯網的傳播中可能會產生安全性問題,為了保護信息在互聯網中傳播的安全性,信息隱藏技術應運而生。可逆信息隱藏技術作為信息隱藏技術的一個分支,不僅具有精確提取含密圖像中秘密信息的特點,還具有完美恢復原始圖像本身的能力。這一特性在某些特殊場景中很重要,如醫(yī)學影像、軍事圖像和法律取證,在這些場景下原始圖像太過珍貴和重要而不能被損壞。
在過去的幾十年中,大量的可逆信息隱藏技術被提出,大致分為3種類型:基于無損壓縮的方法[1]、基于差分擴展的方法[2,3]和基于直方圖平移的方法[4~6]。
基于無損壓縮的方法是利用主機圖像的統(tǒng)計冗余來執(zhí)行無損壓縮,以便創(chuàng)建備用空間以容納附加的秘密信息。在基于差分擴展的方法中,2個相鄰像素之間的差異被加倍,從而生成不攜帶任何原始信息的最低有效位平面,隱藏的秘密信息和每個像素對之間的屬性被嵌入生成的最低有效位平面中,由于位置圖的壓縮率較高,幾乎每一個像素對都可以承載一位秘密信息,所以差分擴展的方法可以將大量的秘密信息嵌入原始圖像中?;谥狈綀D平移的方法是通過統(tǒng)計原始圖像中像素值的分布情況,通過直方圖的修改和平移實現秘密信息的嵌入。
2013年,Chen等[7]提出了基于非對稱預測誤差直方圖修改的可逆信息隱藏算法,該方法先取每個像素點左上方相鄰 3個像素點中像素值最大(小)值作為該點的預測值,計算預測誤差并統(tǒng)計分布生成預測誤差分布直方圖,通過直方圖平移的方法在峰值點處進行秘密信息的嵌入(若取最大值作為預測值,則直方圖向右平移,反之則向左平移),在完成原始圖像的每個像素點進行了第一輪秘密信息的嵌入后,然后對含密圖像的每個像素點進行第二輪秘密信息的嵌入,此時取每個像素點左上方相鄰 3個像素點中像素值最小(大)值作為該點的預測值,計算此時的預測誤差并統(tǒng)計分布生成預測誤差直方圖,再次通過直方圖平移方法在峰值點處進行秘密信息的嵌入。在兩輪秘密信息的嵌入過程中,有很多像素點的像素值會發(fā)生補償現象,即像素值在2次嵌入的過程中進行了數值大小相等、方向相反的操作,這種方法不僅可以提供更多的嵌入容量,還能利用補償現象使在秘密信息不斷嵌入的過程中能夠更好地保護含密圖像的質量。
非對稱預測誤差直方圖修改算法有嵌入容量大、含密圖像質量高的優(yōu)點,但在嵌入秘密信息數量較少的情況下,嵌入過程沒有第二輪的互補嵌入,圖像質量得不到很好的保證,故本文對該算法提出了改進。
本節(jié)首先介紹了非對稱預測誤差直方圖的創(chuàng)建過程,然后用改進算法進行秘密信息的嵌入,最后介紹改進算法對秘密信息的提取和對原始圖像的恢復過程。
首先,訪問與當前像素點相鄰的左上方3個像素點計算其預測值,第一種方案是取這3個像素點中像素值最小值作為該像素點的預測值[1],第二種方案是取這3個像素點中像素值最大值作為該像素點的預測值[7]。
然后,計算當前像素點的2個預測誤差,預測誤差值可以由下式計算。
其中,e代表預測誤差值,x代表當前像素點原始像素值,?x代表當前像素點的預測值。
最后,在計算出所有像素點的 2個預測誤差值之后,將它們整合在一起得到 2個不對稱的預測誤差分布直方圖,如圖1和圖2所示,其中,P+、Z+分別是圖 1中的峰值點和左側零值點,P-、Z-分別是圖 2中的峰值點和右側零值點。
圖1 取最小值作為預測值生成的預測誤差直方圖
圖2 取最大值作為預測值生成的預測誤差直方圖
對于圖片尺寸為 M×N的八位灰度圖像X,用xij表示第 i行第 j列處像素點的像素值,有但是在嵌入的過程中,像素值為 0或者255的像素點在進行直方圖平移之后可能會產生溢出現象,使該點像素值變成-1或者256,為了解決這個問題,采取如下方法:按行按列掃描圖像,一旦遇到像素值為0或者255的像素點,便記錄此處的坐標于位置信息L中,處理完所有的像素點后,將位置信息L添加到秘密信息的尾部,嵌入過程不對這些點進行處理。嵌入過程的描述如下。
1) 初始化最終的含密圖像Z=X,取第一行第一列的像素點作為參考像素點。
2) 對于2≤i≤M ,2≤i≤N,像素點 xij處通過與其相鄰的左上方3個像素點xi-1,j-1、xi-1,j、xi,j-1計算其預測值,分別計算出預測誤差elij、euij、edij,計算方法如下。
3) 取elij、euij、edij中的最大值作為此時的預測誤差,記為e+ij,即
將e+ij與圖1中的峰值點P+,零值點Z+比較,利用直方圖平移方法可以實現在該像素點處的第一次秘密信息的嵌入。對于像素點xij,在進行秘密信息m的嵌入后得到第一步的含密圖像yij處的像素值,可以通過式(4)計算。
4) 繼續(xù)計算像素點yij處的3個預測誤差,計算方法如下。
5) 取elij、euij、edij中的最小值作為此時的預測誤差,記為e-ij,即
將e-ij與圖2中的峰值點P-、零值點Z-比較,再次利用直方圖平移方法實現在該像素點處秘密信息的第二次嵌入。對于像素點yij,在進行秘密信息m的嵌入后得到最終的含密圖像zij處的像素值,可以通過式(7)計算。
重復步驟 2)~步驟 5),直到所有的秘密信息嵌入結束,嵌入部分的算法流程如圖3所示。
圖3 嵌入過程流程
為了提取秘密信息并恢復原始圖像,采取如下操作。
1) 初始化最終恢復的圖像X=Z,取第一行第一列的像素點作為參考像素點。
2) 對于2≤i≤M ,2≤j≤N,像素點zij處是通過與其相鄰的左上方3個像素點zi-1,j-1、zi-1,j、zi,j-1計算其預測誤差,分別計算出預測誤差,分別記為elij′、euij′、edij′,計算方法如下。
3) 取elij′、euij′、edij′中的最小值作為此時的預測誤差,可以用如下方法提取出在該像素點第二次嵌入的秘密信息m。
第一次提取后的該點的像素值yij可以通過下式得到。
4) 繼續(xù)計算像素點yij處的預測誤差,計算方法如下。
5) 取elij′、euij′、edij′中的最大值作為此時的預測誤差,可以用如下方法提取出在該像素點第二次嵌入的秘密信息m。
第二次提取后的像素值xij可以通過下式得到。
重復步驟2)~步驟5),直到所有的秘密信息都被提取出來,在提取出的秘密信息的尾部可以得到位置信息 L,保證位置信息中記錄的像素點處的像素值不被改變。提取部分的算法流程如圖4所示。
圖4 提取過程流程
在進行秘密信息的嵌入后原始圖像和含密圖像會有所不同,為了衡量嵌入秘密信息后含密圖像的品質,通常會參考峰值性噪比(PSNR)的值來認定結果是否令人滿意,PSNR的值越大,代表含密圖像較原始圖像的失真程度越小。
本節(jié)進行了幾次實驗來展示改進算法較原始方法的優(yōu)越性,在實驗中選取了USC-SIPI圖像數據庫中的6張標準灰度圖像,包括Lena、Peppers、Jet、Airport、Baboon、Tiffany。率失真性能對比如圖5所示。
圖5 率失真性能對比
顯然,隨著嵌入秘密信息數量的增多需要修改的像素點越多,從而使含密圖片的質量有所下降。在率失真性能比較圖中可以看到,除了Baboon以外的所有圖片,本文提出的改進方法性能均優(yōu)于原始的方法。這是因為本文采用的是對每一個要處理的像素點都進行2次的嵌入操作,這樣就可以充分利用非對稱預測誤差分布直方圖修改算法的優(yōu)點,即在2種預測誤差分布直方圖的平移之中有更多像素點的像素值發(fā)生補償現象,進一步提高含密圖像的質量。
對于lena這類平滑的圖像,其預測誤差分布直方圖中的點更為集中,這就使更多的像素點會發(fā)生像素值補償現象,所以可以看到,改進的方法較原始方法有很好的改善。而對于Baboon這類的粗糙圖像,其預測誤差分布直方圖并沒有很好的集中(如圖6所示),本文算法就不能體現出很好的優(yōu)越性,所以說,本文算法在大多數情況下更適合在平滑圖像中嵌入秘密信息體現其優(yōu)越性。
圖6 Lena和Baboon圖像2種方案的預測誤差分布直方圖對比
本文對基于原始的非對稱預測誤差分布直方圖修改方法進行改進,提出了一種更加有效的算法。對于每一個像素點,本文用 2種方法對其進行嵌入操作后再對下一個像素進行處理,用這種方法很好地體現非對稱預測誤差直方圖修改算法的優(yōu)點,使盡可能多的像素點產生像素值的補償現象,即像素值在 2次嵌入的過程中進行了大小相等、方向相反的操作,從而能夠更好地保護含密圖像的質量,提高了算法的性能。
參考文獻:
[1]FRIDRICH A J, GOLJAN M, DU R. Lossless data embedding for all image formats[J]. Proceedings of SPIE-The International Society for Optical Engineering, 2002, 4675:572-583.
[2]TIAN J. Reversible data embedding using a difference expansion[J].IEEE Transactions on Circuits & Systems for Video Technology,2003, 13(8):890-896.
[3]COLTUC D. Low distortion transform for reversible watermarking[J]. IEEE Transactions on Image Processing a Publication of the IEEE Signal Processing Society, 2012, 21(1):412-7.
[4]NI Z, SHI Y Q, ANSARI N, et al. Reversible data hiding[J]. IEEE Transactions on Circuits & Systems for Video Technology, 2006,16(3): 354-362.
[5]CACIULA I, COLTUC D. Improved control for low bit-rate reversible watermarking[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2014:7425-7429.
[6]HONG W. Adaptive reversible data hiding method based on error energy control and histogram shifting[J]. Optics Communications,2011, 285(2):101-108.
[7]CHEN X, SUN X, SUN H, et al. Reversible watermarking method based on asymmetric-histogram shifting of prediction errors[J].Journal of Systems & Software, 2013, 86(10):2620-2626.