1 引言
信息隱藏就是利用人類感覺器官的不敏感性感覺冗余,以及多媒體數字信號本身存在的冗余數據特性冗余,將秘密信息隱藏于一個宿主信號護體中而不被覺察,它對外表現的只是宿主信號的外部特征,并不改變基本特性及使用價值。無損圖像隱藏算法是一種以可逆的方式把信息秘密嵌入載體媒介以保護知識產權和版權的方法。
近年來有很多無損可逆數據壓縮方法被提出來,Hon—singer等(2001年)第一次提出了這個概念,Honsinger的方法被用來無損鑒定。Fridrich等(2001年)提出了一種可逆的數據隱藏算法,這種方法無損壓縮載體圖像的ISB位平面,并將壓縮結果與秘密數據連接起來,以此代替載體位平面以嵌入數據。Celik等(2002年,2003年,2005年)設計了一種沒有顯著位的嵌入方式(G—LSB),這種方法第一次將像素對分成L層次,Celik的這種算法的負載取決于嵌入的水平L。TiarI(2003年)擴展了G—LSB算法,提出了一種基于差值擴展的數據隱藏算法,這種算法在相同的負載條件下,圖像質量要明顯優于以上幾種方法。
整數Haar小波變換所得到的差值圖像,最大能夠提供的嵌入率是0.5 bpp。文獻的算法不得不依賴多次嵌入以獲得超過0.5 bpp或更高的嵌入率,通常的做法:如果第一次利用橫向的差值圖像,則第二次利用縱向的差值圖像,第三次再利用橫向的差值圖像,交叉進行,直到達到負載所要求的嵌入率。但每一次單層嵌入后所得到的差值圖像,其差值間的相關性顯著下降,使得第二次嵌入的容量大大低于前一次嵌入的容量。由于前一重嵌入用到了很大的差值,使得在第二重嵌入開始之前圖像的質量已被破壞。這里對Tian算法進行改進,在二次嵌入時,采用與第一次嵌入不同的像素配對方式。避免了兩次嵌入的差值相關性,使得可供嵌入的差值顯著增加,從而使得負載能力顯著增強。
在相同負載條件下,對于給定的負載,以試探的方式確定一個差值選擇門限,先在一重差值圖像中尋找嵌入空間。若嵌入點不夠,則在二重差值圖像中尋找嵌入空間作為補充。若嵌入點還不夠,則退回到原來的橫向差值圖像.加大選擇門限值,進行新一‘輪尋找過程。此過程持續到滿足負載容量為止還可以利用,這種雙重嵌入方式,使嵌入數據合理分配到不同的嵌入層中,從而提高嵌入圖像的質量。
2 DDE雙重差值擴展算法
2.1可逆整數變換
介紹一個簡單的可逆整數變換,以8位的灰度圖像為例,(x,y)為一個像素對,x,y∈Z,0≤x,y≤255定義它的整數均值l和差值h:
(1)式和(2)式又稱作Harr小波變換或S變換,這樣(x,y)和(h,l)之間就建立起了一一對應的關系。為了保證x,y在[0,255]的范圍,防止出現上溢和下溢,h,l必須滿足條件:
簡化后得:
可擴展與可變差值:如果給差值h用插值擴展算法嵌入一位數據b,擴展后的差值h′=2h+b。如果|h′1=|2h+b|≤min(2(255一l),2l+1)。當b=O或b=1都得到滿足時,那么h就是可擴展的差值。
如果差值h滿足|2×[h/2]+b|≤min(2(255一l),2l+1),b=O或b=1,那么h就是可變差值。
一個可擴展差值當其LSB位被修改后,就變成是可變的,可擴展的差值一定可變,如果差值為0或者一1那么可變與可展是等價的。
2.2 雙重差值配對方式
圖1(a)是Tian算法中采用的差值配對方法.按照順序依次進行差值配對,圖1(b)是提出的改進配對方法.把第一個像素跟最后一個像素相配對,其他像素按順序相配對.由圖1可以看出,用圖l(b)所示方法計算出的差值與圖1(a)不存在相關性,因此二重嵌入中可用差值不受一重嵌入的影響,另外為了獲取更大的隱藏容量,圖1(a)還可用縱向選取方式,圖1(b)也可相應的有縱向選取方式。
2.3 DDE隱藏算法
第一步:按照圖1(a)的方法對圖像逐行配對,然后按照(1)式進行整數變換,把計算出的差值按順序排列成一維數組{hl,h2,…hn}。
第二步:把差值分成4個不相交的部分,EZ,EN,CN,NC。其中EZ包括所有h=O,h=1;EN包括所有可擴展的差值且h不屬于EZ;CN包括所有可變的差值,且h不屬于EZ與EN的交集;NC包括所有不可變的差值。
第三步:創建一個定位圖,用于差值定位,選擇一個閾值T將EN分為ENl和EN2,ENl={h∈EN:|h|≤T},EN2={h∈EN:|h|》T},EZ和ENl是用于擴展差值,則分別為1和EN2,以賦值CN和NC為O。這樣就建立一個定位.圖,然后對定位圖進行JBIG2壓縮,壓縮以后的位流記為L,L的末尾代表信息結束。
第四步:收集EN2和CN中差值的最低位(LSB(h)),但是h=land一2inEN2UCN不會被收集,所有的這些LSB(h)將組成位流C。
第五步:將位流L,C,P合并成位流B=LUCUP=b1…bkbk+1…bLbL+1…bm,然后將曰嵌入到載體圖像。最后再用(2)式進行整數變換,就得到了一重嵌入后的圖像。嵌入差值的過程如表l所示。
二重嵌入是對一重嵌入的再次嵌入,其中第一步采用圖1(b)的像素配對方式計算差值,其他步驟與一重嵌入相同。
2.4 DDE提取算法
第一重提取的提取過程分為5個步驟,通過提取比特流B和收集比特流B中所有可變差值的LSB值,就可提取定位圖和原始的比特流C。
第一步:以圖1(b)的像素配對方式配對,然后計算差值,對每個像素應用整數變換(1),按順序排列成一維數組{h1,h2,…hn}。
第二步:把差值分為兩個不相關的子集,CH和NC,CH包含所有的可變差值,NC包含所有不可變差值。
第三步:收集所有可變差值的LSB值,然后組成比特流B=blb2…bm。
第四步:用JBIG2解碼器對定位圖進行解碼.就獲得了定位圖位流L,如果定位圖中的值為1,那么對應位置上的差值h就是被擴展的差值,h的原始值就是[h/2]。對于不可變差值,它在定位圖中的值一定為O。對于可變差值h,如果0
第五步:內容鑒定和原始內容恢復,用整數變換(2)重建原始圖像,為了鑒定容量,把負載P中的鑒定信息與重建圖像進行比較,如果二者吻合,那么圖像容量是可信的,重建圖像和原始圖像就是相同的。
第二重提取與第一重提取僅第一部不同,采用圖1(a)的像素配對方式其他部分與第一重提取相同。
3 實驗結果
對多幅圖像進行實驗,把提出的DDE算法跟Tian算法進行比較,圖2為在Lena上的實驗結果。實驗表明,提出的DDE算法在相同的嵌入率下取得了比Tian算法更好的圖像效果,其原因在于提出的算法可以提供更多的較小差值進行嵌入,所以改善了圖像質量。
4 結語
解決了Tian算法二重嵌入中可用差值急劇減少的問題,通過在第二次嵌入時改變差值選取的方案,從而避免了二重嵌入與一重嵌入中差值相關性的問題,從而使得可供嵌入的差值大幅增加。進而使得圖像的負載能力顯著提高,由于能夠提供更多的較小差值,特別是零差值,所以在相同的負載條件下,使得圖像的質量得到了很大提高。
責任編輯:gt
-
數據
+關注
關注
8文章
6890瀏覽量
88826 -
多媒體
+關注
關注
0文章
495瀏覽量
36940 -
數字信號
+關注
關注
2文章
951瀏覽量
47513
發布評論請先 登錄
相關推薦
評論