重慶電子工程職業(yè)學院計算機學院 楊玉平
圖像信息隱藏是指把秘密圖像隱藏于載體圖像之中,秘密圖像要比載體圖像小[1]。圖像信息隱藏一般分為兩大類,一是圖像可逆數(shù)據(jù)隱藏,一是圖像不可逆數(shù)據(jù)隱藏[2]。圖像可逆數(shù)據(jù)隱藏的研究對一些特殊領(lǐng)域有著重要的作用,比如將圖像作為證物。對圖像的可逆數(shù)據(jù)隱藏的研究在很早時候就有了,比較經(jīng)典的算法是Tian差值擴展[3]。之后的許多算法都是在它的基礎(chǔ)上進行改進,祝玉新[4]等人提出的基于Haar小波的彩色圖像可逆水印算法,周璐[5]等人提出的用于矢量數(shù)字地圖的可逆數(shù)據(jù)隱藏算法。
文獻[3]是基于Haar小波變換進行的。首先用圖像相鄰的兩個像素作差運算,把要隱藏的數(shù)據(jù)轉(zhuǎn)成二進制數(shù)據(jù),再把二進制數(shù)據(jù)按位嵌入兩相鄰像素的差值中。例如,設p1,p2是兩相鄰的像素值,h為它們的差值,h'為嵌入秘密數(shù)據(jù)后的新差值,p為它們的均值,b是需要隱藏的二進制數(shù)據(jù),p1',p2'為載體圖像新像素值,嵌入秘密數(shù)據(jù)后可得新差值h'=2h+b,在提取時用b=lsb(h'),lsb(·)是取數(shù)據(jù)的二進制信息的最低位。載體圖像恢復時通過h'-b求得原始差值.通過(2.1)式恢復原始載體圖像。

本算法基于彩色圖像,由于彩色圖像可以分成RGB三種顏色的灰度圖像,所以我們計算差值時只取其中兩種顏色的灰度圖像,如從RG、GB或BR中選擇一種組合即可,這里我們選擇RB組合,首先作防止溢出的預處理運算,把產(chǎn)生的數(shù)據(jù)作為輔助信息與秘密數(shù)據(jù)一起構(gòu)成欲嵌入的信息。分別計算R和B灰度圖像各像素的預測誤差,再求它們各自的差值,最后將它們各自的差值作差運算求得需要嵌入秘密數(shù)據(jù)的二次差值。把秘密數(shù)據(jù)嵌入二次差值后,再作求載體圖像像素值的逆運算,求得嵌入秘密數(shù)據(jù)的載體圖像。在提取秘密數(shù)據(jù)時,同樣取RB組合,同嵌入時的運算一樣,計算二次差值,lsb(·)函數(shù)提出二次差值的最低位,即為嵌入時的數(shù)據(jù),把提取出來的數(shù)據(jù)分成輔助信息和秘密數(shù)據(jù),用輔助信息恢復原始的載體圖像。下面的(2.2)式與(2.3)式是數(shù)據(jù)嵌入的核心公式。

其中△cz表示二次差值,△cz'表示嵌入數(shù)據(jù)b后或擴展后的差值,p1'、p2'分別表示嵌入數(shù)據(jù)后的載體圖像像素值。下面(2.4)式和(2.5)式是恢復載體圖像的核心公式,



圖1 Greens

圖2 Pears

圖3 ORL人臉庫
(1)載體圖像初始化,將載體圖像RB灰度圖像按相同的方式分成兩組,以使上下左右相鄰像素不同時進行數(shù)據(jù)嵌入,設定T值。
(2)在數(shù)據(jù)嵌入前,要用T+1和對所有像素進行預處理,用adjst0記錄像素值小于等于T+1的個數(shù),用adjust1記錄像素值大于等于255-(T+1)的個數(shù),再通過adjust0和adjust1的大小得出sd的值是0還是1.最終達到載體像素調(diào)整的目的,防止嵌入數(shù)據(jù)后發(fā)生數(shù)據(jù)溢出。在運算時會產(chǎn)生輔助信息,此輔助信息將與秘密數(shù)據(jù)一起構(gòu)成嵌入信息,并且此輔助信息將作為數(shù)據(jù)提取端的載體圖像恢復時的依據(jù)。
(3)通過(2.2)式與(2.3)式把嵌入信息嵌入到載體圖像中,(2.3)式是將嵌入數(shù)據(jù)后的差值變化修改到載體圖像中。
(1)在數(shù)據(jù)提取端提取數(shù)據(jù)。首先從數(shù)據(jù)發(fā)送端取得RB兩個灰度分量分別進行差值運算,再用兩個差值做差運算求得二次差值△cz'。
(2)在-2T≤△cz'≤2T+1范圍內(nèi),用infob=lsb(abs(△cz'))提取嵌入信息,并分離出輔助信息和秘密信息。并用△cz=(△cz'-infoi)/2求得初始差值。
(3)用(2)中得到的差值通過(2.4)式修改載體圖像。
(4)用(2.5)式結(jié)合輔助信息恢復原始的載體圖像。
如圖1-3所示,在實驗過程中,我們采用的仿真工具是matlab7.0,載體圖像采用了matlab7.0中自帶的Pears(732×486)圖像和Greens(500×300)圖像,用ORL人臉庫的八張圖像作為秘密圖像。
本算法對嵌入數(shù)據(jù)后載體圖像質(zhì)量下降的評價方法采用的是通用的PSNR值進行。

表3.1 本算法和文獻[4][5]在相同閥值T=2下嵌入率與PSNR值的比較
在實驗進行時,為了減少所選秘密圖像的特殊性帶來的誤差,所以在選擇秘密圖像時是從ORL人臉庫中隨機選擇的八張圖像,通過采用本算法和文獻[4]、文獻[5]的算法嵌入到Greens和Pears載體圖像中,表3.1所列數(shù)據(jù)是八張圖像嵌入后所得到的平均數(shù)據(jù)。
從表3.1中可以看出本算法的嵌入率是比文獻[4]和文獻[5]的嵌入率都要高,而通過對RB兩個分量的PSNR值對比來看,本算法的PSNR值只比文獻[4]和文獻[5]的PSNR值稍小一點;可以看出嵌入率的提高數(shù)值遠比PSNR值下降數(shù)值高很多,可以說是在損失少量的載體圖像質(zhì)量的情況下,較大地提高了嵌入率。
本文提出的二次差值算法是基于Tian差值擴展的,為了更具有適用性,采用彩色圖像進行實驗。經(jīng)過實驗數(shù)據(jù)對比分析,本算法的嵌入率在對載體圖像較小損失的情況下有很大提高,明顯優(yōu)于其他一些算法,因此本算法是具有一定的適用價值。
[1]孫銳,孫洪.數(shù)字圖像信息隱藏技術(shù)[C].武漢:武漢大學出版社,2001,5.
[2]楊玉平,陳勇,尹麗花.基于坐標軸的雙重置亂數(shù)字圖像隱藏算法與實現(xiàn)[J].重慶電子工程職業(yè)學院學報,2011,5(3):149-151.
[3]TIAN Jun.Reversible data embedding using a difference expansion[J].IEEE Transaction on circui ts and Systems for Video Technology,2003,13(8):890-896.
[4]祝玉新,孫星明,楊恒伏.基于Haar小波的彩色圖像可逆水印算法[J].計算機應用研究,2007,24(6):165-169.
[5]周璐,胡永健,曾華飛.用于矢量數(shù)字地圖的可逆數(shù)據(jù)隱藏算法[J].計算機應用,2009,29(4):990-993.