頊 聰, 劉朝霞, 陶永鵬
(大連外國語大學 軟件學院,遼寧 大連 116044)
可逆數(shù)據(jù)隱藏(reversible data hiding,RDH)是將機密數(shù)據(jù)嵌入到載體信息中,接收者可以提取嵌入的數(shù)據(jù)并恢復載體信息的技術,在軍事、醫(yī)療和法律等領域都有廣泛的應用。目前的可逆信息隱藏方法主要有無損壓縮[1-2]、圖像直方圖平移[3-4]和差值擴展[5-7]3類。近年來,為了更好地提高圖像傳輸?shù)陌踩院托畔鬏數(shù)男?已有研究者將圖像加密和可逆信息隱藏兩大技術相結合用于圖像網(wǎng)絡傳輸。文獻[8]提出一種密文域可逆信息隱藏算法,通過加密圖像分塊,并將其中1/2像素的3 個最低有效位(least significant bit,LSB)反轉來嵌入信息,并且利用差值函數(shù)實現(xiàn)信息提取和圖像恢復;文獻[9]提出的算法采用塊級預測器生成加密圖像并預測誤差序列,根據(jù)預測的誤差序列,使用了差異擴展方法嵌入機密數(shù)據(jù);文獻[10]提出了一種通過冗余空間傳輸?shù)男畔㈦[藏算法,利用原始圖像的像素相關性,將原始圖像的冗余空間傳輸?shù)郊用軋D像,從而提高加密圖像中的信息嵌入量,但其直接解密的圖像質量不佳;文獻[11]提出一種基于差值直方圖平移的密文域可逆信息隱藏算法,選擇差值直方圖平移作為切入點,采用分組方法獲取差值進行信息嵌入,提高了解密圖像質量,但是其特定圖像分組方法和邊緣嵌入模式影響了直方圖的分布形態(tài),限制了信息的嵌入量;文獻[12]提出了一種異或置亂框架下的鄰域預測可逆信息隱藏算法,該算法通過異或置亂的方式提高了加密圖像的安全性,并在圖像解密階段,通過鄰域預測的方法預測攜密像素,有效提高了直接解密圖像質量,但在圖像恢復階段,采用5個鄰域模板計算像素差值的方法并不能完全恢復原始圖像。
針對上述問題,本文利用預測差值擴展技術計算復雜度低并且具有較大嵌入容量的優(yōu)點,提出在加密圖像中基于多分類預測誤差擴展的信息隱藏方法。與傳統(tǒng)的加密圖像信息隱藏方法相比,創(chuàng)新點在于根據(jù)加密圖像像素位置的不同,將中值邊緣檢測器(median edge detector,MED)、菱形檢測器和均值檢測器等多種預測方法組合,進行像素預測,計算差值,獲得分布更加尖銳的差值直方圖,從而提高隱藏數(shù)據(jù)的嵌入量。設計特定的平滑函數(shù)區(qū)分加密圖像的可嵌入?yún)^(qū)和非可嵌入?yún)^(qū),對數(shù)據(jù)嵌入過程中產(chǎn)生的溢出及附屬參數(shù)信息自嵌入處理,提高直接解密后圖像的視覺效果。最后給出算法的實現(xiàn)描述,即信息的嵌入和根據(jù)密鑰實現(xiàn)信息的抽取和圖像的無損恢復。
算法包括3個階段,即圖像加密階段、機密數(shù)據(jù)嵌入階段以及數(shù)據(jù)提取和圖像恢復階段。算法框架如圖1所示。將原始圖像I分成不重疊的塊,塊內的像素使用加密密鑰Key1異或加密,然后使用加密密鑰Key2進行塊的位置置換,生成加密圖像Ie。數(shù)據(jù)隱藏者對加密的圖像Ie使用多分類像素預測誤差擴展方法生成相應的差值直方圖,獲取更多的峰值點,嵌入使用數(shù)據(jù)隱藏密鑰Kh加密的機密數(shù)據(jù),生成標記的加密圖像Iew。接收方使用數(shù)據(jù)隱藏密鑰Kh可以從標記的加密圖像Iew中提取嵌入的機密數(shù)據(jù);僅使用加密密鑰可以直接得到在視覺上類似于I的解密圖像Iw;同時使用加密和隱藏密鑰時,接收方可以成功提取嵌入數(shù)據(jù),并恢復原始圖像I。
圖1 算法框架
算法在圖像加密階段分為按位異或和圖像子塊置換2個步驟,以確保圖像傳輸?shù)陌踩浴?/p>
首先將大小為M×N的圖像I劃分為U個非重疊塊,U=M×N/32。 基于簡化的考慮,假設文中的M和N都可以被3整除。計算公式為:
(1)
(2)
計算加密后的像素值,即
(3)
然后根據(jù)加密密鑰Key2置換塊的位置,置換后塊內像素關聯(lián)性保持不變,得到加密圖像Ie。
基于多分類預測誤差擴展的信息隱藏方法采用多種預測器對圖像子塊內的像素進行預測,根據(jù)預測的像素值建立起預測誤差擴展直方圖,在峰值點進行機密信息的迭代嵌入,并對數(shù)據(jù)嵌入過程中產(chǎn)生的附屬信息做自嵌入處理。
根據(jù)加密圖像塊中像素的不同位置,將像素分成3個位置集合,并采用不同的方式進行像素值預測,使生成的預測誤差最小。一個加密的圖像塊中各像素的位置關系如圖2所示。
圖2 圖像塊內像素位置關系
具體的圖像塊內像素的預測方法如下:對于圖像塊4個邊角位置像素,如圖2中x1、x3、x7、x9,其預測值采用文獻[13]提出的MED方法預測。計算公式為:
(4)
其中,xr、xc和xd表示與目標像素px在同行、同列和對角線方向的相鄰像素。對于圖像塊4個邊中間位置像素x2、x4、x6、x8,預測值由其相鄰的垂直或水平方向2個像素數(shù)據(jù)的平均值來計算;對于圖像塊中心位置像素x5,其預測值采用文獻[14]提出的菱形預測因子預測,即
(5)
其中:xru、xrd為目標像素px的上側和下側元素;xcl、xcr為目標像素px的左側和右側元素。通過上述過程,計算出像素塊內像素的預測值。
(6)
其中,hEk(e)為序列Ek中的預測差值等于e時的次數(shù)。預測誤差擴展嵌入機密數(shù)據(jù)的公式為:
(7)
(8)
恢復預測差值的計算公式為:
(9)
針對機密數(shù)據(jù)嵌入過程中產(chǎn)生的溢出及參數(shù)信息,本文采用了自適應性的自嵌方式進行處理,如圖3所示。
圖3 秘密數(shù)據(jù)的自嵌入過程
加密圖像首先被分離成IA和IB2個子圖,其中IA包含前2行,剩余行在IB中。經(jīng)過數(shù)據(jù)隱藏密鑰加密的機密數(shù)據(jù)和子圖像IA的最低有效位(least significant bits,LSBS)串聯(lián)在一起形成有效負載M,將嵌入到子圖像IB的平滑區(qū)域中。
IB子圖平滑和復雜區(qū)域塊如下劃分:
(10)
當Cb 輸入:大小為M×N原始圖像I,機密信息m。 輸出: 嵌入機密信息的標記圖像Iew。 (1) 將I分離成IA和IB2個子圖,其中IA包含前2行,剩余行在IB,對IA子圖采用流加密,并記錄IA子圖的LSBS。 (2) 將IB子圖劃分成不重疊3×3塊,利用文中第2節(jié)的加密方法對IB子圖加密,并對IB的每個子塊進行平滑區(qū)域塊和復雜區(qū)域塊的劃分。 (3) 對所有平滑區(qū)域的塊按照3.1節(jié)進行差值預測,對秘密信息用隱藏密鑰加密后按照3.2節(jié)進行信息嵌入。 (4) 對于IB子圖嵌入信息后產(chǎn)生的溢出及參數(shù)信息,按照3.3節(jié)以自嵌入的方式嵌入到IA子圖的LSBS中。 (5) 將嵌入信息后的IA子圖和IB子圖連接生成標記的加密圖像Iew。 輸入:大小為M×N標記的加密圖像Iew。 輸出:原始圖像圖像I,機密信息m。 (1) 將Iew分離成IA和IB2個子圖,其中IA子圖包含前2行,剩余在IB子圖,讀取IA子圖的LSBS獲取輔助的附屬信息。 (2) 對IB子圖劃分成不重疊3×3塊,根據(jù)(1)獲取的附屬信息,進行塊平滑區(qū)域和復雜區(qū)域的塊劃分。 (3) 按照3.2節(jié)對IB子圖平滑區(qū)域進行基于預測差值擴展方法的信息提取和圖像恢復。 (4) 從步驟(3)獲取到的信息中分離出機密信息和IA圖的LSBS位像素值。 (5) 利用隱藏密鑰對提取的機密信息解密獲取m,同時置回IA圖的最低有效位(LSBS)。 (6) 用加密密鑰對IA和IB子圖進行解密,連接后恢復原始圖像I。 使用Lena圖像演示本文的算法,結果如圖4所示。圖4中:圖4a所示為原始圖像;圖4b所示為嵌入率為r=0.5 bit/像素的標記加密圖像;圖4c所示為標記的解密圖像,峰值信噪比(peak signal to moise ratio,PSNR)為46.27 dB;圖4d所示為原始圖像,PSNR無窮大。 由圖4可以看出,即使嵌入了0.5 bit/像素的機密數(shù)據(jù),圖4c具有較高的視覺質量。并且可以無損恢復原始圖像(圖4d)。 圖4 算法的示例 本文算法使用了平滑函數(shù)進行嵌入分區(qū),使得復雜區(qū)域不用于信息的嵌入,對圖像改動較少,同時多分類預測差值擴展方法能夠保證可嵌區(qū)域具有很高的嵌入容量,因此圖像在獲得較高信息嵌入率下仍然有很好的直接解密效果,并且通過密鑰能夠無損地恢復原始圖像。 在自適應性嵌入時,Tp決定了平滑區(qū)域的大小。圖像在不同嵌入量下,閾值Tp從1到8遞增時,對應的解密后標記圖像的PSNR變化情況如圖5所示。 使PSNR最大的Tp即為最佳閾值。從圖5可以看出,當Tp=1 時,圖像質量最穩(wěn)定,故選取閾值Tp=1。 圖5 閾值和解密標記圖像的PSNR關系示例 為了測試算法的嵌入性能,從數(shù)據(jù)庫中選擇了4張測試圖像使用如下不同的嵌入策略:多分類預測差值(multi-class prediction error expansion,MPEE)、單一預測方法(median edge detector prediction error expansion,MEDPEE)、菱形預測因子(diamond prediction error expansion,DPEE)下的加密圖像可逆信息隱藏方法(reversible data hiding encrypted image,RDHEI)進行比較。這些方法分別表示為MPEERDHEI、MEDPEERDHEI、DPEERDHEI。比較結果見表1所列。從表1可以看出,在不同的嵌入率下本文提出組合預測策略方案相比單一預測算法有更好的直接解密的圖像質量,預測像素更為準確,對圖像的改動最小。 表1 各種嵌入率下解密標記圖像的PSNR 單位:dB 在實驗中選取Lena、Boat和Airplane 3幅圖像進行測試,比較本文算法與其他類似算法的嵌入率與直接解密后的圖像PSNR曲線,如圖6所示。 圖6 不同算法的性能比較 從圖6可以看出,本文算法與文獻[11,15-16]算法相比,相同嵌入率下的解密圖像的PSNR更高。本文算法生成的差值直方圖具有更多的峰點,同時對圖像像素改動值很小,因此在測試曲線中表現(xiàn)出更好的率失真性能。 本文提出了一種預測差值擴展的加密圖像可逆信息隱藏方法,根據(jù)圖像像素位置的不同將多種預測方法組合起來進行像素預測和差值擴展,在信息具體嵌入過程中通過平滑函數(shù)和像素選擇的方式使嵌入點定格在高度相關的區(qū)域和像素上。與傳統(tǒng)的差值擴展方法和其他嵌入算法相比,該算法獲得了更好的直方圖分布,產(chǎn)生更多的空間冗余,表現(xiàn)出更好的率失真性能。后續(xù)將進一步改進算法,提高算法的嵌入率。4 算法實現(xiàn)
4.1 嵌入算法
4.2 信息抽取和圖像恢復算法
5 實驗結果與分析
5.1 算法的示例
5.2 閾值選擇
5.3 不同嵌入策略下的比較
5.4 不同算法的性能比較
6 結 論