邱應(yīng)強(qiáng),馮桂,田暉
(1.華僑大學(xué) 信息科學(xué)與工程學(xué)院,福建 廈門361021;2.福州大學(xué) 數(shù)字媒體研究院,福建 福州350002;
3.華僑大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,福建 廈門361021)
可逆信息隱藏是近年來信息隱藏領(lǐng)域的一個重要研究分支.由于其在提取嵌入數(shù)據(jù)后能完全無失真恢復(fù)原宿主信息,可逆信息隱藏技術(shù)適合應(yīng)用在要求較高的軍事通信、醫(yī)學(xué)診斷等領(lǐng)域.2003年,Tian[1]提出一種基于相鄰兩像素點(diǎn)差值擴(kuò)展的圖像可逆隱藏方法.該方法先用整數(shù)Haar小波變換得到相鄰兩像素的均值和差值;然后,對差值擴(kuò)展并嵌入1比特機(jī)密數(shù)據(jù);最后,將擴(kuò)展后的差值和均值通過相應(yīng)整數(shù)逆變換得到嵌入數(shù)據(jù)后的像素值.Tian算法的提出是在可逆信息隱藏研究上的重大突破,后續(xù)出現(xiàn)了許多在此基礎(chǔ)上的改進(jìn)算法,但大多還是基于相鄰兩像素的差值擴(kuò)展[2-3].文獻(xiàn)[2]將差值擴(kuò)展技術(shù)推廣到基于預(yù)測差值擴(kuò)展的可逆隱藏方法上,此后也出現(xiàn)了許多相應(yīng)的改進(jìn)算法[4-5].2004年,Alattar[6]從另一個角度對Tian算法進(jìn)行拓展,采用多像素點(diǎn)組成的向量的差值代替兩像素對的差值進(jìn)行擴(kuò)展,提高了算法的嵌入容量,但算法復(fù)雜度較高.2006年,郭志川等[7-8]對Alattar算法進(jìn)行改進(jìn),在一定程度上降低了算法運(yùn)算復(fù)雜度,但對隱藏質(zhì)量帶來了一定的影響.2007年,謝于民等[9]提出了一種基于線性整數(shù)變換算法和排序圖像可逆數(shù)據(jù)隱秘傳輸方法,該方法可嵌入的數(shù)據(jù)量較大,同時隱蔽性也較好.2012年,邱應(yīng)強(qiáng)等[10]針對文獻(xiàn)[9]中定義的整數(shù)變換算法進(jìn)行改進(jìn),改進(jìn)后的整數(shù)變換算法對圖像塊引入失真減少為文獻(xiàn)[9]方法的一半,在相同嵌入數(shù)據(jù)量情況下,進(jìn)一步提高了算法的隱蔽性.由于文獻(xiàn)[6-8]方法在數(shù)據(jù)嵌入和提取過程中各宿主向量至少需要進(jìn)行兩次整數(shù)變換,并且要逐步判定分成可擴(kuò)展向量、可修改向量和不可修改向量3類,運(yùn)算復(fù)雜度較高.因此,本文提出了一種基于整數(shù)變換的高效圖像可逆信息隱藏新方法.
圖像可逆信息隱藏系統(tǒng)的發(fā)送端數(shù)據(jù)嵌入框,如圖1所示.首先,對宿主圖像分塊;然后,對所有圖像塊進(jìn)行整數(shù)變換并判定是否可用于嵌入數(shù)據(jù),用“0”,“1”值分別標(biāo)記不可嵌入圖像塊、可嵌入圖像塊,并最終形成二值標(biāo)記值序列,保留可嵌入圖像塊整數(shù)變換后的結(jié)果,不可嵌入圖像塊不作整數(shù)變換處理;提取不可嵌入圖像塊中的部分像素點(diǎn)最低有效位(least significant bit,LSB),并與標(biāo)記值序列及經(jīng)加密后的機(jī)密數(shù)據(jù)組合在一起,經(jīng)偽隨機(jī)化處理后得到待嵌入數(shù)據(jù);待嵌入數(shù)據(jù)按一定順序直接替代可嵌入圖像塊經(jīng)整數(shù)變換后的部分像素,及未經(jīng)整數(shù)變換的不可嵌入圖像塊部分像素最低有效位實(shí)現(xiàn)數(shù)據(jù)嵌入,所有圖像塊重組得到隱藏圖像.
圖1 數(shù)據(jù)嵌入框圖Fig.1 Block diagram of data embedding
在提取端,對隱藏圖像分塊,按特定順序直接提取所有圖像塊部分像素點(diǎn)最低有效位得到二值數(shù)據(jù)序列,經(jīng)反偽隨機(jī)化處理得到標(biāo)記值序列、不可嵌入圖像塊部分像素的最低有效位序列及加密后的機(jī)密數(shù)據(jù)序列.最后,對標(biāo)記值為“0”的圖像塊用提取的最低有效位序列恢復(fù),而標(biāo)記值為“1”的圖像塊則通過整數(shù)逆變換無失真恢復(fù).
由于圖像像素點(diǎn)像素值是介于0到255之間的整數(shù),因此,圖像塊向量v經(jīng)過整數(shù)變換后得到的向量v′=(v′1,…,v′i,…,v′n)分2種情況.如果v′中的任意元素v′i均在0到255范圍之內(nèi),表明可通過整數(shù)變換在該圖像塊中嵌入數(shù)據(jù),稱為可嵌入圖像塊,用“1”值標(biāo)記,歸為S1類;否則不能通過整數(shù)變換在該圖像塊中嵌入數(shù)據(jù),稱為不可嵌入圖像塊,用“0”值標(biāo)記,歸為S2類.所有圖像塊標(biāo)記值可組成■N1/n1」×■N2/n2」比特二值標(biāo)記值序列.
根據(jù)式(2)整數(shù)變換定義,對S1類中的任意可嵌入圖像塊向量v′中的任一元素vi對應(yīng)的整數(shù)變換式中2vi值均為偶數(shù),再減去相同的平均值取整ˉv得到新的整數(shù)變量v′i均同為偶數(shù)或奇數(shù),即經(jīng)過整數(shù)變換后v′中的所有元素最低有效位均為0或1.因此,只需要在v′保留第一個元素最低有效位,即可表明v′中的所有元素最低有效位是0還是1,其他n-1個元素最低有效位均可用待嵌入數(shù)據(jù)直接替代.對于S2類中的不可嵌入圖像塊,將不作整數(shù)變換,其后n-1個像素點(diǎn)像素值最低有效位也用待嵌入數(shù)據(jù)直接替代,但為了能夠無失真恢復(fù)不可嵌入圖像塊,被替代的最低有效位數(shù)據(jù)需保存作為待嵌入數(shù)據(jù)的一部分,因此提取不可嵌入圖像塊中所有被修改的像素最低有效位組成S2_LSB序列.標(biāo)記值序列、S2_LSB序列和加密后的機(jī)密數(shù)據(jù)序列一起組成二值待嵌入數(shù)據(jù)序列.嵌入數(shù)據(jù)時,在保留不可嵌入圖像塊數(shù)據(jù)的同時,將所有可嵌入圖像塊進(jìn)行整數(shù)變換后得到新的圖像塊信息,再按一定順序?qū)⒍荡度霐?shù)據(jù)依次直接替代所有圖像塊中的后n-1個特定像素的最低有效位.
信息提取及圖像無失真恢復(fù)時,依次提取所有圖像塊中的后n-1個特定像素最低有效位,從中提取出■N1/n1」×■N2/n2」比特二值標(biāo)記值序列,根據(jù)二值標(biāo)記序列中“0”值的個數(shù)確定不可嵌入圖像塊的個數(shù),并提取不可修改圖像塊最低有效位序列,其余二值序列解密得到機(jī)密數(shù)據(jù).最后,根據(jù)二值標(biāo)記值序列,值為“1”的圖像塊采用整數(shù)逆變換算法無失真恢復(fù),值為“0”的圖像塊部分像素最低有效位用提取不可修改圖像塊最低有效位序列依次替代無失真恢復(fù).所有圖像塊重組得到原宿主圖像.
1)發(fā)送端將大小為N1×N2的圖像I,分成n=■N1/n1」×■N2/n2」個大小為n=n1×n2的互不重疊圖像塊.
2)對每一圖像塊組成的n維向量v,按照式(2)進(jìn)行整數(shù)變換得到v′,判定v′所有元素值是否均在0到255范圍內(nèi),滿足為可嵌入圖像塊,否則為不可嵌入圖像塊,分別用“1”值和“0”值進(jìn)行標(biāo)記得到標(biāo)記值序列L,并分別歸類至S1類和S2類.S1類圖像塊數(shù)據(jù)用整數(shù)變換后的圖像塊數(shù)據(jù)替代,S2類圖像塊數(shù)據(jù)保留不變.提取所有S2類圖像塊中后n-1個像素點(diǎn)的最低有效位,組成二值S2_LSB序列.
3)標(biāo)記值序列L、不可嵌入圖像塊最低有效位序列S2_LSB,以及用密鑰Key對機(jī)密數(shù)據(jù)流P加密后,得到數(shù)據(jù)流P′組成數(shù)據(jù)流W,再通過偽隨機(jī)化處理得到待嵌入數(shù)據(jù)W′.
4)待嵌入數(shù)據(jù)W′按特定順序依次替代所有圖像塊的后n-1個像素點(diǎn)最低有效位,完成數(shù)據(jù)嵌入.最后所有圖像塊重組得到隱藏圖像I′.
1)接收端將隱藏圖像I′分成與發(fā)送端相同大小的互不重疊圖像塊,所有圖像塊后n-1個像素點(diǎn)像素值的最低有效位按特定順序提取得到嵌入數(shù)據(jù)W′.
2)對W′反偽隨機(jī)化處理得到W,提取W數(shù)據(jù)流中的標(biāo)記值序列L,根據(jù)L從W數(shù)據(jù)流中分離出S2_LSB和P′.
3)P′解密后得到機(jī)密數(shù)據(jù)P.
4)標(biāo)記值序列L中“1”值對應(yīng)的圖像塊采用整數(shù)逆變換無失真恢復(fù),“0”值對應(yīng)的圖像塊后n-1個像素點(diǎn)最低有效位用S2_LSB依次替代無失真恢復(fù).重組所有圖像塊無失真恢復(fù)原宿主圖像I.
Alattar算法[6]將n個相鄰像素點(diǎn)組成圖像塊向量v=(v1,…,vi,…,vn)的整數(shù)變換,定義為計算所有向量元素均值,以及v2,…,vn分別與v1之間的差值.通過對計算得到的n-1個差值進(jìn)行擴(kuò)展可嵌入n-1比特信息,結(jié)合擴(kuò)展后差值和均值可通過逆變換得到嵌入數(shù)據(jù)后的像素值.算法通過差值擴(kuò)展后逆變換得到的數(shù)值是否在圖像像素值范圍內(nèi),來判定差值是否可擴(kuò)展用于嵌入數(shù)據(jù).由于算法需在嵌入特定機(jī)密數(shù)據(jù)前對各圖像塊向量差值擴(kuò)展性進(jìn)行判定,判定時對該差值所嵌入的1比特機(jī)密數(shù)據(jù)未知,判定向量可擴(kuò)展性時需要遍歷嵌入2n-1個可能的n-1比特數(shù)據(jù)組合并且作整數(shù)逆變換,判定對應(yīng)2n-1次逆變換后數(shù)值是否均在圖像像素值范圍內(nèi),遍歷過程中每次需要判定2n個不等式,同樣不可擴(kuò)展向量還需要采用類似方法判定向量的可修改性,具有較大的運(yùn)算復(fù)雜度.
Alattar改進(jìn)算法[7-8]將整數(shù)變換改為計算n維像素點(diǎn)向量v=(v1,…,vi,…,vn)的所有向量元素均值,以及v1,…,vn分別與向量中最小像素值減1后的差值.算法改進(jìn)后只需要判定除其中一個值為1的差值外,其余n-1個差值均擴(kuò)展并全部嵌入“1”或全部嵌入“0”后逆變換結(jié)果是否均在圖像像素值有效范圍內(nèi),即可判定向量的擴(kuò)展性.對于不可擴(kuò)展向量也通過類似方法進(jìn)一步判定其可修改性.算法改進(jìn)后將2n-1次逆變換和變換結(jié)果判定減少到2次,降低了算法的運(yùn)算復(fù)雜度,但由于擴(kuò)展差值絕對值變大,會對隱藏圖像質(zhì)量帶來一定影響.
式(2)表明,整數(shù)變換直接將圖像塊向量v中各元素與向量均值ˉv之間的差值擴(kuò)展一倍,從而產(chǎn)生了n-1比特冗余信息可用于嵌入數(shù)據(jù).該算法在數(shù)據(jù)隱藏嵌入和提取過程各圖像塊向量只需要通過一次整數(shù)變換,而且所有向量可對整數(shù)變換結(jié)果通過2n個不等式直接判定分成可嵌入向量和不可嵌入向量兩類,進(jìn)一步降低了算法運(yùn)算復(fù)雜度.同時擴(kuò)展差值為各元素與向量均值ˉv之間的差值,降低了對隱藏圖像質(zhì)量的影響.
為了驗(yàn)證本算法,配備Intel(R)Core(TM)i5-3210M CPU的PC機(jī)進(jìn)行了仿真實(shí)驗(yàn),實(shí)驗(yàn)軟件平臺為Visual C++6.0,宿主圖像為大小512 px×512 px的256級灰度圖像Baboon,F(xiàn)16,Peppers,Man和Lena,如圖2所示,機(jī)密數(shù)據(jù)使用漢字?jǐn)?shù)據(jù).采用峰值信噪比(RSN)衡量隱藏圖像質(zhì)量,RSN值越高表明隱藏圖像質(zhì)量越好、隱蔽性越好.
圖2 實(shí)驗(yàn)宿主圖像Fig.2 Experimental host images
分別采用Alattar算法[6]、Alattar改進(jìn)算法[7-8]和文中算法,并分別使用圖像塊大小參數(shù)為N=2×2和N=4×4,在相同宿主圖像中嵌入最大量漢字?jǐn)?shù)據(jù).采用Alattar算法、Alattar改進(jìn)算法和文中算法的實(shí)驗(yàn)結(jié)果,分別如表1~3所示.比較表1~3實(shí)驗(yàn)數(shù)據(jù)可知:在最大嵌入容量上Alattar改進(jìn)算法最低、文中算法總體略高于Alattar算法;在圖像質(zhì)量上,Alattar改進(jìn)算法最低、本文算法與Alattar算法基本相當(dāng);在嵌入或提取時間上,Alattar改進(jìn)算法是本文算法兩倍以上,而Alattar算法遠(yuǎn)大于其余兩種方法,尤其是在圖像塊大小增大情況下,嵌入或提取時間隨圖像塊大小近似呈指數(shù)式增長.
表1 Alattar算法實(shí)驗(yàn)結(jié)果Tab.1 Experimental results of Alattar′s algorithm
表2 Alattar改進(jìn)算法實(shí)驗(yàn)結(jié)果Tab.2 Experimental Results of Alattar′s improved algorithm
表3 本文算法實(shí)驗(yàn)結(jié)果Tab.3 Experimental results of the proposed algorithm
實(shí)驗(yàn)還采用文獻(xiàn)[9-10]的算法,使用圖像塊大小為N=2×2在測試圖像中分別嵌入最大量的漢字?jǐn)?shù)據(jù).表4為相應(yīng)的實(shí)驗(yàn)數(shù)據(jù),與表3數(shù)據(jù)對比可以看出:文中算法在嵌入容量、嵌入后圖像質(zhì)量和運(yùn)算復(fù)雜度方面均優(yōu)于文獻(xiàn)[9-10]的算法.
表4 文獻(xiàn)[9-10]算法實(shí)驗(yàn)結(jié)果(N=2×2)Tab.4 Experimental results of reference[9-10]′s algorithms(N=2×2)
隱藏圖像通過局域網(wǎng)傳輸后,接收端均能100%正確地提取嵌入其中的漢字?jǐn)?shù)據(jù),并無失真恢復(fù)原圖像.
給出了一種基于整數(shù)變換的高效圖像可逆信息隱藏方法.該方法在數(shù)據(jù)嵌入和提取過程只需要通過一次整數(shù)變換,而且所有向量通過整數(shù)變換后即可直接判定該向量是否可用于嵌入機(jī)密數(shù)據(jù),具有較低的運(yùn)算復(fù)雜度.
仿真實(shí)驗(yàn)結(jié)果表明:該方法在嵌入更大數(shù)據(jù)量后能保證隱藏圖像的質(zhì)量,并且較大幅度地降低算法數(shù)據(jù)嵌入和提取時間,具有較好的實(shí)時性;同時,在隱藏圖像未受到破壞的情況下,可從隱藏圖像中正確提取隱藏數(shù)據(jù)并無失真恢復(fù)原宿主圖像,具有較高的實(shí)用價值.該方法可應(yīng)用于軍事圖像、醫(yī)學(xué)圖像等質(zhì)量要求較高的可逆信息隱藏、信息隱秘傳輸?shù)?,也可用于音視頻多媒體的可逆信息隱藏.
[1] TIAN Jun.Reversible data embedding using a difference expansion[J].IEEE Trans Circuits and Systems for Video Technology,2003,13(8):890-896.
[2] THODI D M,RODRIGUEZ J J.Expansion embedding techniques for reversible watermarking[J].IEEE Trans Image Processing,2007,16(3):721-730.
[3] HU Yong-jian,LEE H K,CHEN Kai-ying,et al.Difference expansion based reversible data hiding using two embedding directions[J].IEEE Trans Multimedia,2008,10(8):1500-1512.
[4] LI Xiao-long,YANG Bin,ZENG Tie-yong.Efficient reversible watermarking based on adaptive prediction-error expansion and pixel selection[J].IEEE Trans Image Processing,2011,20(12):3524-3533.
[5] COLTUC D.Low distortion transform for reversible watermarking[J].IEEE Trans Image Processing,2012,21(1):412-417.
[6] ALATTAR A M.Reversible watermark using the difference expansion of ageneralized integer transform[J].IEEE Trans Image Processing,2004,13(8):1147-1156.
[7] 郭志川,程義民,王以孝,等.一種無損的隱秘傳輸方法與仿真[J].系統(tǒng)仿真學(xué)報,2006,18(6):1638-1642.
[8] 郭志川,程義民,王以孝,等.一種基于視頻的無損信息隱藏方法[J].中國科學(xué)院研究生院學(xué)報,2006,23(2):165-173.
[9] 謝于明,程義民,田源,等.基于整數(shù)變換的無損隱秘傳輸方法仿真研究[J].系統(tǒng)仿真學(xué)報,2007,19(19):4594-4598.
[10] 邱應(yīng)強(qiáng),張育釗.基于改進(jìn)整數(shù)變換的無損隱秘傳輸方法與仿真[J].系統(tǒng)仿真學(xué)報,2012,14(6):1096-1101.