羅劍高,韓國強,沃焱
?
新穎的差值擴展可逆數(shù)據(jù)隱藏算法
羅劍高1,韓國強2,沃焱2
(1. 廣東農(nóng)工商職業(yè)技術(shù)學院計算機系,廣東廣州 510507;2. 華南理工大學計算機科學與工程學院,廣東廣州 510006 )
提出一種變換方向自適應的差值擴展可逆數(shù)據(jù)隱藏算法(ACD),ACD通過擴展像素對的差值嵌入數(shù)據(jù)。像素對中一為參照像素,另一為變換像素,ACD根據(jù)像素對所處區(qū)域類型的估測,自適應選擇變換像素,暗區(qū)選大值像素,亮區(qū)選小值像素,否則選默認方向像素。理論分析及實驗結(jié)果表明,ACD解決了預測誤差擴展可逆數(shù)據(jù)隱藏算法(PEE)在暗或亮載體時灰度溢出急劇增加的問題,與采用現(xiàn)有灰度溢出解決方案的PEE相比,改善了載體普適性,性能更穩(wěn)定。
可逆數(shù)據(jù)隱藏;差值擴展;灰度溢出;自適應數(shù)據(jù)嵌入
可逆數(shù)據(jù)隱藏[1](RDH, reversible data hiding) 技術(shù)是一種以某種可逆方式把待隱藏數(shù)據(jù)嵌入到載體,生成相對載體而言感知變化不明顯的含隱載體,在需要時能從該含隱載體中提取被嵌入的數(shù)據(jù),且能完全還原載體的數(shù)據(jù)隱藏技術(shù)。RDH適用于對載體失真特別敏感(如遙感、醫(yī)學圖像)的數(shù)據(jù)隱藏應用。從20世紀90年代末至今,相關(guān)文獻已刊發(fā)了一系列的RDH具體算法[2~10],與此同時,RDH相關(guān)應用技術(shù)也不斷取得進步[11,12]?,F(xiàn)有的RDH大致可歸為以下3類:基于無損壓縮[1];擴展變換[2~10];直方圖變換[1]。近年來,基于預測誤差擴展的RDH算法(PEE, prediction error expansion)得到了研究人員的廣泛關(guān)注,因為其具有更好利用載體空間冗余的能力。一般地,PEE相對其他類型的算法具有更優(yōu)的容量—失真性能。
本文的研究以8位灰度圖像為載體。由于對載體直接執(zhí)行擴展變換無法避免灰度溢出,即在擴展變換某特征值的過程中,有可能使參與變換的某些像素值小于0或大于255,導致無法正確保存這些變換后的像素值,因此,有效的PEE必須包含能解決灰度溢出的處理過程。目前,PEE采用的灰度溢出解決方法[1~10]所需付出的代價一般與載體的直方圖分布密切相關(guān),比如當載體像素值在0或255附近占比偏高時,解決灰度溢出問題所需的輔助比特數(shù)急劇增加?,F(xiàn)有大多數(shù)有關(guān)PEE的文獻在防灰度溢出處理方面討論的不夠充分,沒有明確指出所提算法因灰度溢出問題,有效容量—失真性能除與載體圖數(shù)據(jù)冗余有關(guān)外,還與像素直方圖邊緣分布有密切聯(lián)系,沒有指出載體圖過暗或過亮時算法有效容量—失真性能急劇惡化的缺陷,其仿真實驗一般也較少涉及較暗或較亮的載體圖。由于現(xiàn)有灰度溢出解決技術(shù)影響了PEE算法的實際適用范圍,因此研究更有效防溢出的技術(shù)已成一個重要的課題[13]。
針對現(xiàn)有PEE在灰度溢出問題處理上存在的不足,本文提出一種新穎的變換方向自適應的差值擴展(ACD, adaptive change direction)算法。ACD中的預測算子采用相鄰像素預測,在不明顯增加計算復雜度的前提下,自適應處理有效解決了暗或亮載體時,有效數(shù)據(jù)嵌入能力大大下降的問題,使載體直方圖邊緣分布的大小不再是影響載體數(shù)據(jù)嵌入能力的重要因素,與現(xiàn)有PEE算法相比,較為顯著地改善了載體的普適性。
擴展嵌入是一種把數(shù)據(jù)比特嵌入到擴展特征值最低有效位(LSB)的可逆變換技術(shù),由Tian[2]在2003年首先提出。Tian在像素對上定義了一組稱之為差值擴展(DE)的可逆變換,2007年,Thodi等[3]把DE推廣到預測誤差上,定義了一套通用的預測誤差擴展可逆變換(PEE),用MED(median edge detector)預測誤差算子來計算預測誤差,隨后的PEE研究者先后提出了幾種更有效的預測誤差算子[4~10],用于獲取更適合數(shù)據(jù)嵌入的預測誤差值。在闡述本文ACD之前,先分析PEE變換和與之相關(guān)的灰度溢出解決方法。
2.1 PEE變換
在數(shù)據(jù)嵌入端,首先通過某種像素預測算子,對宿主I的當前像素值進行預測,設(shè)當前像素值為,其預測值為,則像素預測誤差?;谖灰茢U展和兩倍擴展變換的數(shù)據(jù)嵌入規(guī)則為
或者
(2)
在數(shù)據(jù)提取端,設(shè)含隱圖像為',當前像素值為,先用同一預測算子計算出與嵌入端相一致的預測值,令,執(zhí)行式(1)或式(2)的逆操作,可求得對應的
或者
(4)
2.2 灰度溢出解決方法
解決灰度溢出的策略現(xiàn)在主要有2種:1) 令可能出現(xiàn)溢出的像素保持不變,并把與它們位置有關(guān)的信息記錄下來作為輔助信息之一,傳送到數(shù)據(jù)提取端,以便數(shù)據(jù)提取時做相應的逆處理[2~5,8,9];2)壓縮載體圖的灰度直方圖,保證擴展變換后,像素的灰度值都處在有效范圍內(nèi),記錄灰度直方圖壓縮的相關(guān)信息作為輔助信息的一部分,傳送到數(shù)據(jù)提取端,供直方圖做相應的解壓縮變換[6,7,10]。2種策略中的灰度溢出信息記錄或采用位置圖壓縮方式或采用標識比特的方式,位置圖壓縮方式的灰度溢出輔助信息量與壓縮算子的效率密切相關(guān),不適合小尺寸的圖像載體,且相對標識比特方式,數(shù)據(jù)壓縮處理過程會較明顯地增加RDH算法復雜度,一般不予以采用。接下來,本文以2個具體的典型灰度溢出解決方法為例來分析現(xiàn)有灰度溢出解決方法存在的不足。
2.2.1 2次檢測標識比特法
2次檢測標識比特法(FB, flag bit)是策略1的經(jīng)典方法之一,由Thodi等[3]首先提出。本文以Vasiliy等[4]采用的一種2次檢測標識比特法為例說明其實現(xiàn)過程。一般地,大多數(shù)載體的像素可以執(zhí)行多次不溢出的擴展變換,2次變換后溢出和1次變換后溢出的像素(如圖1樣本1、2、3)比較少,Vasiliy等在擴展變換前用2次溢出測試過程記錄下這些像素:如圖1所示,逐一對像素執(zhí)行擴展變換距離最大的測試(預測誤差≥0,令為1,否則為0),如果1次變換就溢出,用比特1標識,2次變換溢出的用比特0標識,其他的不用標識。找出2次變換或1次變換溢出的像素后,將標識比特組成的比特串與待嵌入數(shù)據(jù)合并后的結(jié)果更新待嵌入數(shù)據(jù)比特,然后開始執(zhí)行數(shù)據(jù)的嵌入。在數(shù)據(jù)嵌入過程中,被標識的像素不嵌入有效數(shù)據(jù),其中,1次變換溢出的像素保持不變,2次變換溢出的像素執(zhí)行1次變換距離最大的變換(嵌入相應的填充比特0或1),除此之外的像素執(zhí)行常規(guī)的擴展變換。在數(shù)據(jù)提取端,先對待逆變換的像素做1次變換距離最大的嵌入變換,如果灰度溢出,則借助溢出標識比特進一步區(qū)分該像素在嵌入端是保持不變還是執(zhí)行了1次變換距離最大的填充變換,否則可確定該像素在嵌入端執(zhí)行了常規(guī)的擴展變換。
2.2.2 直方圖邊緣壓縮法
圖2是屬于策略2的直方圖邊緣壓縮法(HM, histogram modification)示意,早在2006年宣國榮等[6]就提出了HM處理方法。本文以羅劍高等[10]防灰度溢出方法為例來說明HM的實現(xiàn)過程。在擴展變換前,先對載體進行預處理,將[0,]和[255?, 255]區(qū)間的灰度值加或減+1,把載體灰度值的區(qū)間壓縮成[+1, 254?],然后在預處理后的載體上執(zhí)行灰度變化量不大于+1的擴展變換,灰度溢出即可避免。預處理過程具體如下,灰度壓縮變換信息用標識比特串記錄:令初值為空,按某個次序逐一掃描載體像素,當前灰度值小于+1或大于254?,則令加或減+1,同時在末尾追加標識比特“1”;當前灰度值[+1,2+1]或[254?2,254?],則不變,同時在末尾追加標識比特“0”;否則不做處理。作為輔助信息的一部分傳送給提取端,提取端根據(jù)可執(zhí)行上述預處理的相應逆變換,即可最終恢復載體圖。
可以看出,F(xiàn)B方法產(chǎn)生的灰度溢出輔助信息量等于溢出測試時二次變換后溢出和一次變換后溢出的像素數(shù)量,HM方法產(chǎn)生的灰度溢出輔助信息量等于像素值處在[0,2+1]和[254?2, 255]區(qū)間的像素數(shù)量,一般的自然圖像,這個量都較小,甚至為0,但當載體圖很亮或很暗時,這個量將急劇增加,最終導致有效嵌入數(shù)據(jù)量急劇減少。
擴展變換是定義在一對值(不失一般性,記為(,))差值上的可逆變換。在Tian[2]的DE中,、分別為某相鄰的2個像素值,變換操作同時修改、值,、可能增加,也可能減??;在PEE中,為某像素的灰度值,為該像素灰度值的預測值,變換操作只增加或減小,僅作為參照值,變換操作中保持不變。圖3是DE灰度溢出和PEE灰度溢出的示例。
本文注意到,圖3(b)中(,)值的變換方向是固定的,即只變換,當大于時,往增加的方向改變,當小于時,往減小的方向改變,如果本文可以調(diào)整(,)值的變換方向,比如,在(,)為(252, 254)時,令為參照值,修改擴展(,)的差值,就可以避免圖3(b)中灰度溢出,基于這個思路,本文提出一種改善灰度溢出問題的差值擴展嵌入方案-變換方向自適應的差值擴展,并實現(xiàn)了一個稱為ACD的具體算法。變換方向自適應差值擴展方案可顯著地減少灰度溢出的發(fā)生,降低相應的灰度溢出輔助信息量,其原理如圖4所示,當(,)在暗區(qū)時,修改大值;在亮區(qū)時,修改小值;否則修改默認位置上的值。為避免值對(255,255)的變換溢出,亮區(qū)選用式(2)變換;為避免值對(0,0)的變換溢出,暗區(qū)選用式(1)變換;中間區(qū)選用式(1)或式(2)變換。
文中變化方向自適應的差值擴展RDH算法(簡稱ACD)除了變化方向問題外,其他需要考慮的問題與常規(guī)PEE算法類似,本節(jié)對ACD算法的實現(xiàn)進行具體說明。
4.1 預測算子及變化方向的選擇
ACD是一種預測誤差擴展RDH算法,預測算子采用相鄰像素預測。
記O中下標為(令第一個像素的為0)的像素為O,ACD依次對像素對(O,O1)進行數(shù)據(jù)嵌入處理。設(shè)當前待處理像素對(O,O1)的值為(x,x1),執(zhí)行變換時的變換方向確定過程用偽碼表示如下。
偽碼1 確定差值擴展的變換方向
記(x,x1)中x為變換值,x1為x的預測值時的嵌入方向為r1;
記(x,x1)中大值為變換值,小值作為大值預測值的嵌入方向為r2;
記(x,x1)中小值為變換值,大值作為小值預測值的嵌入方向為r3;
嵌入方向為r2或r3時,如果x=x1,變換值選x,x1作為x的預測值。
令嵌入方向r=r1,為0;
if(>1){
估測像素對處在暗區(qū),用r2更新r;
else if
估測像素對處在亮區(qū),用r3更新r;
else if
估測像素對處在中間區(qū),用r1更新r;
else
估測像素對處在亮區(qū)-中間區(qū)或暗區(qū)-中間區(qū)的過渡區(qū),r保持不變;
}
=+1;
}
注意,上述(x,x1)變換方向是由已完成變換且LSB置0后的前2個像素值確定的,所以,在提取端,在對應的擴展逆變換前,由上述偽碼,按與嵌入端相同的次序可以得到嵌入時各像素對的擴展變換方向。
4.2 溢出處理
灰度溢出是擴展變換無法避免的問題。ACD采用變換方向自適應的處理雖然大大減少了灰度溢出的發(fā)生,但并不能絕對避免灰度溢出問題,例如:(0,255)像素對的變換。
為此,本文在2次檢測標識比特法的基礎(chǔ)上,設(shè)計了一種1次檢測標識比特法,其處理過程如下:令溢出信息標識比特串初值為空,逐一對像素對執(zhí)行擴展變換,如果出現(xiàn)灰度溢出,則取消該變換,保持像素對不變,同時在末尾追加標識比特“1”;如果沒有出現(xiàn)灰度溢出,則執(zhí)行擴展變換,之后在變換的結(jié)果上再執(zhí)行一次變換量盡可能大(預測誤差,令為1,否則為0)的灰度溢出測試變換,如果出現(xiàn)溢出,在末尾追加標識比特“0”。作為輔助信息的一部分傳送給提取端,數(shù)據(jù)提取時,根據(jù)執(zhí)行如下處理,即可辨識嵌入時因灰度溢出問題而保持原值的像素對:以倒序的次序取的當前標識比特,按與嵌入端像素處理的倒序逐一對含隱像素對執(zhí)行逆變換,在擴展逆變換前,先執(zhí)行一次變換量盡可能大的灰度溢出測試變換,如果溢出,則可觀察當前標識比特,為“1”表示當前像素對在嵌入端存在灰度溢出問題,未執(zhí)行擴展,數(shù)據(jù)提取時亦不做變換,保持原值。除此之外,其他像素對在數(shù)據(jù)提取端需執(zhí)行相應的擴展嵌入逆處理。
4.3 嵌入?yún)?shù)優(yōu)化及多層嵌入
為了限制像素值最大變化的幅度,ACD約定在[0,15]中取值,用4 bit表示。ACD單層(單次)嵌入的數(shù)據(jù)量不大于1bpp(bit per pixel每像素比特),當單層嵌入的數(shù)據(jù)量無法滿足需要時,可執(zhí)行多層嵌入。為了簡化ACD表述,文中多層嵌入采用相對獨立的方式,即每層的嵌入與相鄰層的嵌入不發(fā)生數(shù)據(jù)交互,各自分別依次嵌入數(shù)據(jù)。執(zhí)行多層嵌入時,各層像素掃描方向在水平掃描、垂直掃描兩者間交替變化,非末層嵌入的取15,末層在[0, 15]中取值,對值進行優(yōu)化,就是要找到在完整嵌入待隱藏數(shù)據(jù)的前提下末層的最小值,它可使含隱載體失真最小。ACD采用折半迭代的方法優(yōu)化值,具體步驟詳見第4.5節(jié)的數(shù)據(jù)嵌入過程。由于允許多層嵌入,在數(shù)據(jù)提取端執(zhí)行對應的多層提取時,就要求能識別數(shù)據(jù)提取操作的最末層(對應數(shù)據(jù)嵌入階段的首層),用于結(jié)束數(shù)據(jù)提取操作。ACD每層分別用1比特輔助信息作為層標識位來實現(xiàn)這個要求,具體見第4.4節(jié)。
4.4 輔助信息傳送及結(jié)構(gòu)
RDH算法在數(shù)據(jù)提取/載體恢復端,需要數(shù)據(jù)嵌入時所用的,稱之為輔助信息的一些參數(shù)。為實現(xiàn)數(shù)據(jù)的盲提取和載體的盲恢復,要求該信息包含在載體內(nèi),隨載體傳送。為此,ACD提出一種新穎的LSB置換法來實現(xiàn)輔助信息隨載體的傳送,具體過程如下:取每層的層標識比特作為該層待嵌入的第一個數(shù)據(jù)比特,然后依次取已完成擴展變換像素的LSB作為待嵌入比特。設(shè)該層擴展嵌入完畢時已嵌入比特數(shù)為,也就是說該層前?1個像素的LSB被嵌入到載體中,在擴展嵌入完畢后,ACD需隱藏的數(shù)據(jù)及相應的輔助信息就可依次保存在這?1個LSB中。
ACD各層需嵌入的數(shù)據(jù)比特串結(jié)構(gòu)規(guī)定如下:先構(gòu)造該層擴展嵌入完畢后除層標識之外的輔助信息比特串,然后用與當前待嵌入的數(shù)據(jù)比特串合并的結(jié)果更新當前為
=+(6)
如果中比特數(shù)大于?1,則其前?1個比特填充到?1個LSB中后,用截除前?1比特的更新。如果D中比特數(shù)不大于?1,則LSB中不足被比特填充的填充比特“1”,然后置為空。為在提取端能分辨出填充比特,令ACD需嵌入的初始值為ACD待隱藏的數(shù)據(jù)比特加一個作為填充比特起始標識的“0”比特。數(shù)據(jù)提取端,丟棄提取比特串最末“0”及之后的“1”比特,可去除填充比特起始標識和填充比特。
ACD算法中的輔助信息包括:末層、末層的像素掃描方式、各層的灰度溢出信息、各層的層標識位。在多層嵌入過程中,每層各自處理自己的輔助信息,其中,首層嵌入的層標識比特規(guī)定為“1”,其他層規(guī)定為“0”,ACD末層嵌入的輔助信息除了層標識之外結(jié)構(gòu)為
非末層嵌入的輔助信息除層標識之外的輔助信息結(jié)構(gòu)為
(8)
其中,為本層溢出信息比特串,2為表示末層嵌入?yún)?shù)的4比特表示掃描方向(0表示水平型掃描,1表示垂直型掃描),是長度為的比特串,用于表示當前層參與LSB置換的像素數(shù)?1。由于非末層的固定為15,可由式(7)的推導,故相比式(7),式(8)中的要少用5比特。
4.5 ACD算法實現(xiàn)過程
ACD算法的實現(xiàn)包括2部分,數(shù)據(jù)的嵌入和數(shù)據(jù)提取/載體恢復,后一部分是前一部分的逆過程。設(shè)待隱藏的數(shù)據(jù)比特串為,載體圖像為I,含隱載體最大可接收的失真為,ACD的實現(xiàn)過程描述如下。
1) 數(shù)據(jù)嵌入過程
①令Δ=15,掃描方向=0,
//=0水平掃描,=1垂直掃描
②依次掃描像素,把圖像I轉(zhuǎn)換成像素序列O。
③自適應確定變換方向后,對當前像素對進行數(shù)據(jù)嵌入處理:確定待嵌比特、執(zhí)行擴展變換、收集溢出信息。
④擴展嵌入處理完畢后,用式(8)按非末層嵌入模式構(gòu)造輔助信息,更新待嵌入的,設(shè)的比特數(shù)為,如果+5不大于第4.4節(jié)所述的LSB置換數(shù)?1,則進入末層嵌入模式,用式(7)重新構(gòu)造輔助信息和,把中比特依次填入LSB中,不足部分填入填充比特,保存當前含隱圖像,進入第⑤步的迭代求優(yōu);否則把含式(8)輔助信息的中按4.4節(jié)所述處理,然后用當前含隱載體更新載體,計算當前含隱載體的失真,如果大于,退出算法,提示嵌入失敗,否則改變掃描方向,轉(zhuǎn)第②步執(zhí)行新一層的數(shù)據(jù)嵌入。
⑤末層優(yōu)化階段執(zhí)行4次折半迭代,在末層嵌入迭代階段,如前一過程完整嵌入了,令,否則令,重復執(zhí)行最后一層的嵌入。輸出能滿足載荷數(shù)據(jù)完整嵌入且最小時的含隱圖像。
2) 數(shù)據(jù)提取/載體恢復過程
①設(shè)提取數(shù)據(jù)比特串為空,令掃描方向等于第一個像素的LSB。
②按依次掃描像素,把I'轉(zhuǎn)換成像素序列O'。順序掃描O',確定各(O',O'1)變換方向r。
④從O'末尾位置開始,根據(jù)中提供的輔助信息,進行相應的逆變換,提取數(shù)據(jù),同步依次恢復個被LSB置換的像素值。最后在中清除掉當前層的輔助比特,得到更新后的。
⑤如果當前層標識為“0”,用當前層輸出圖像更新',用15更新,改變掃描方向,然后轉(zhuǎn)到第2步;否則舍棄末尾的填充比特,得到所求的目標數(shù)據(jù)和I,過程結(jié)束。
為了便于理解ACD實現(xiàn)過程,圖6給出了單層數(shù)據(jù)嵌入和提取的示例。數(shù)據(jù)嵌入過程如圖6(a)所示,從載體的左上角開始,依次在(O,O1)的當前像素值上執(zhí)行擴展變換。第一個要嵌入的比特是層標識比特“1”,然后依次為已完成擴展變換像素(如233、27、20…)的LSB。擴展變換結(jié)束后,構(gòu)建,最后把次填充到對應的14個LSB中。圖6(b)是數(shù)據(jù)提取的部分過程,首先令等于含隱載體的第一個LSB,然后按掃描次序取前1~5個像素的LSB,換算成十進制數(shù) 14,取前14個LSB為當前提取的數(shù)據(jù),從提取出=10;令初始2個變換對的變換方向為r1,接著用當前像素對的LSB置0后的前2個像素值來修改變換方向;最后從最后一個像素對開始,逆序進行相應的擴展變換的逆處理,用提取的比特恢復相應像素的LSB,如圖中的8被恢復為9。限于篇幅,圖6(b)示例中有關(guān)數(shù)據(jù)提取剩下未表述的部分請讀者根據(jù)文中ACD實現(xiàn)過程的描述自行完成。
(a) 數(shù)據(jù)嵌入過程
(b) 數(shù)據(jù)提取部分過程
圖6 ACD單層數(shù)據(jù)嵌入和提取過程示例
為驗證ACD的有效性,本文用C++實現(xiàn)ACD和3個比較算法,執(zhí)行程序可在文獻[14]參閱。
ACD創(chuàng)新主要體現(xiàn)在有效改善現(xiàn)有PEE算法中灰度溢出解決方法的不足,為便于驗證這個創(chuàng)新的貢獻,3個比較算法采用與ACD相同的預測算子。3個比較算法根據(jù)各自所采用的灰度溢出解決方法,分別被簡稱為DE-FB、DE-HM1、DE-HM2。
1) DE-FB:除了變換方向固定外(更改像素對的左邊像素),其他處理方法與ACD相同。
2) DE-HM1:除了預測算子改用相鄰像素預測外,其他處理方法與羅劍高[10]等RDH算法相同。
3) DE-HM2:與DE-HM1相似,不同的是在直方圖調(diào)整時,DE-HM1把直方圖上[0,]和[255?,255]值分別調(diào)整到[+1, 2+1]和[254?2, 254?],而DE-HM2加入了簡單的自適應處理,在暗區(qū),根據(jù)[0,],[2+2, 3+2]像素數(shù)量的大小決定合并區(qū)間,如果前者數(shù)小,則把[0,]的像素值加+1合并到區(qū)間[+1, 2+1],否則把[0, 2+1]區(qū)間的像素值加+1,[+1, 2+1]像素值合并到[2+2, 3+2],亮區(qū)的合并與暗區(qū)類似。本文需記錄的溢出信息比特數(shù)是合并后區(qū)間的像素數(shù)量,顯然,DE-HM2所需的溢出信息比特量小于或等于DE-HM1所需的量,是DE-HM1灰度溢出法的一種改進,其付出代價是溢出比特量的減少意味著參與調(diào)整的像素數(shù)增加,這有可能相應地增加失真。
實驗載體圖來自文獻[15],待嵌入數(shù)據(jù)為隨機比特流。大量的實驗結(jié)果表明,ACD具有非常優(yōu)良的防灰度溢出能力。圖7是實驗中具有代表性的4幅測試圖,分別代表灰度邊界分布少、溢出問題可忽略的Lena,灰度分布均勻的Texmos1,灰度分布相對偏暗的Man,灰度分布集中在0和255的Ruler。圖8顯示的是作用在以上載體的4個算法的容量—失真性能實驗結(jié)果對比。
圖8(a)中4條容量-失真曲線基本重合在一起,這是因為Lena在0或255附近的像素數(shù)量可忽略不計,用于處理溢出所付出的性能損失也可忽略不計。Texmos1紋理豐富,灰度值均勻,0或255附近的像素極易導致溢出問題,ACD自適應處理能在不增加溢出信息量的情況下減少較大比例的溢出問題,不過這有可能會增加相關(guān)像素的變化值,圖8(b)表明ACD采用的自適應方法利大于弊,其算法性能較明顯優(yōu)于其他3種算法。Man的實驗對比結(jié)果與Texmos1的實驗對比結(jié)果類似,只是圖8(c)的數(shù)據(jù)嵌入容量相對較大,ACD在減少灰度溢出信息方面所獲的貢獻相對總嵌入量的比例沒有圖8(b)那么明顯。Ruler的灰度值只有0和255這2種,擴展變換極易導致溢出,由于溢出輔助信息的急劇增加,DE-FB和DE-HM1已無法在該圖嵌入有效數(shù)據(jù),DE-HM2在這種載體場合表現(xiàn)優(yōu)于DE-HM1,但總體上不如ACD。由圖8可看出,ACD相對3種比較算法,具有非常好的灰度溢出問題的處理效果。4種算法比較而言,ACD的優(yōu)越性較為明顯,特別是在失真較大時(此時較大,溢出問題不容忽視)。
RDH技術(shù)經(jīng)過十多年的研究,雖取得了較大進步,但總體還處在發(fā)展中,更為有效的算法及RDH容量的理論邊際、RDH技術(shù)的實際應用等有待于科研人員做進一步的研究。本文從有效控制灰度溢出的角度提出了一種變換方向自適應的RDH算法——ACD。ACD在像素對中執(zhí)行像素差值擴展變換,當估測像素對處在暗區(qū)(灰度值靠近0)時,以小值作為大值的預測值,更改大值,當估測像素對處在亮區(qū)(灰度值靠近255)時,以大值作為小值的預測值,更改小值,否則以像素對右值作為左值的預測值,更改左值。理論分析及實驗結(jié)果表明,ACD有效利用局部特征自適應調(diào)整像素對的變換方向,明顯地改善了灰度溢出問題,解決了現(xiàn)有灰度溢出解決方案使載體在偏暗或偏亮時因灰度溢出問題導致有效嵌入容量不穩(wěn)定的缺陷,ACD穩(wěn)定的容量—失真性能,適用于各種灰度直方圖分布的圖像載體。ACD的優(yōu)越性驗證了變換方向自適應思想的有效性,把這個思想用于其他預測誤差算子的PEE是下一步的研究方向。
[1] ASIFULLAH K, AYESHA S, SUMMUYYA M, et al. A recent survey of reversible watermarking techniques[J]. Information Sciences 2014,279: 251-272.
[2] TIAN J. Reversible data embedding using a difference expansion[J]. IEEE Transactions on Circuits and Systems for Video Technology. 2003,13(8):890-896.
[3] THODI D M, RODRIGUEZ J J. Expansion embedding techniques for reversible watermarking[J].IEEE Transactions on Image Processing,2007,16(3):721-730.
[4] VASILIY S, HYOUNG J K, JEHO N, et al. Reversible watermarking algorithm using sorting and prediction[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2009,19(7):989-999.
[5] CHEN M, CHEN ZY, ZENG X, et al. Model order selection in reversible image watermarking[J]. IEEE Journal of Selected Topics in Signal Processing, 2010, 4(3):592-604.
[6] 宣國榮, 姚秋明, 柴佩琪, 等.基于整數(shù)小波閾值嵌入的無損數(shù)據(jù)隱藏[J].計算機應用, 2006, 26(12): 2890-2893.
XUAN G L, YAO Q M, CHAI P Q, et al. Lossless data hiding using integer wavelet transform and threshold embedding technique[J]. Computer Applications, 2006, 26(12):2089-209.
[7] LEE C F, CHEN H L, TSO H K. Embedding capacity raising in reversible data hiding based on prediction of difference expansion[J]. Journal of Systems and Software, 2010,83(10):1864-1872.
[8] PENG F, LI X L, YANG B. Adaptive reversible data hiding scheme based on integer transform[J]. Signal Processing, 2012, 92(1):54-62.
[9] WANG J X, NI J Q, PAN J W. A high capacity reversible data hiding scheme based on generalized prediction-error expansion and adaptive embedding[J]. Signal Processing, 2014, 98(5): 370-380.
[10] 羅劍高, 韓國強. 基于完整上下文預測的可逆數(shù)據(jù)隱藏[J]. 計算機科學, 2013,40(11A):219-223.
LUO J G, HAN G Q. Reversible data hiding based on full context prediction[J]. Computer Science, 2013, 40(11A): 219-223.
[11] 羅劍高, 韓國強, 沃焱, 等. 篡改定位精度可動態(tài)調(diào)整的無損圖像認證算法[J]. 華南理工大學學報(自然科學版), 2011, 39(7): 121-126.
LUO J G, HAN G Q, WO Y, et al. Lossless image authentication algorithm with dynamic adjustable tamper localization accuracy[J]. Journal of South China University of Technology (Natural Science Edition), 2011, 39(7): 121-126.
[12] 羅劍高, 韓國強, 沃焱, 等. 基于自適應圖像塊組合的無損圖像認證算法[J]. 通信學報, 2012, 33(6): 64-72.
LUO J G, HAN G Q, WO Y, et al. Lossless image authentication algorithm based on adaptive combinations of image basic blocks[J]. Journal on Communications, 2012, 33(6):64-72.
[13] 鄧小鴻, 陳志剛, 鄧惠文, 等.醫(yī)學圖像可逆數(shù)字水印防溢出處理研究[J]. 計算機工程與應用, 2013, 49(23): 162-165.
DENG X H, CHEN Z G, LIU H W, et al. Study on preventing overflow and underflow of reversible digital watermarking for medical images[J]. Computer Engineering and Applications, 2013,49(23): 162-165.
[14] Miecu R&D center, ACD Demo software [EB/OL].[2015-1-11] http:// www.miecu.net/ research/rdh/.
[15] Signal and Image Processing Institute, University Southern California, Los Angeles. Image database[EB/OL]. [2015-1-11] http://sipi.usc.edu/ database/.
Novel reversible data hiding based on difference expansion
LUO Jian-gao1, HAN Guo-qiang2, WO Yan2
(1. Department of Computer, Guangdong AIB Polytechnic College, Guangzhou 510507, China;2. School of Computer Science and Engineering, South China University of Technology, Guangzhou 510006, China)
A novel reversible data hiding algorithm based on difference expansion called ACD was proposed, which used the so-called adaptive change direction technology. ACD embeds data by expanding the differences of neighboring pixel values. In a pair of pixels, a pixel was for reference and the other was for transform. ACD first estimates the type of the pixels area, then chooses transform pixels by the type that it chooses the large value pixel in dark areas and the small value pixel in bright areas, or else selects the pixels by default direction. Theoretical analysis and experimental results show that ACD solves the problem of gray overflow increased dramatically in the reversible data hiding based on prediction error expansion (PEE) when the carrier is very dark or bright. Compared with the PEE with the existing gray overflow solution, ACD is suitable for wider types of carrier and has more stable performance.
reversible data hiding, difference expansion, gray overflow, adaptive data embedding
TP391
A
10.11959/j.issn.1000-436x.2016030
2015-01-11;
2015-03-15
國家自然科學基金資助項目(No.61472145);國家自然科學基金廣東省聯(lián)合基金資助項目(No.U1035004)
The National Natural Science Foundation of China (No.61472145), The National Natural Science Foundation of China—Guangdong Province (No.U1035004)
羅劍高(1971-),男,江西金溪人,博士,廣東農(nóng)工商職業(yè)技術(shù)學院副教授,主要研究方向為圖像處理、數(shù)字水印、信息安全等。
韓國強(1962-),男,江西臨川人,博士,華南理工大學教授、博士生導師,主要研究方向為圖像處理、多媒體技術(shù)等。
沃焱(1975-),女,云南昆明人,博士,華南理工大學教授,主要研究方向為圖像處理、數(shù)字水印、信息安全等。