一種基于整數(shù)變換的數(shù)據(jù)隱藏新算法
第一步:按照?qǐng)D1(a)的方法對(duì)圖像逐行配對(duì),然后按照(1)式進(jìn)行整數(shù)變換,把計(jì)算出的差值按順序排列成一維數(shù)組{hl,h2,…h(huán)n}。
第二步:把差值分成4個(gè)不相交的部分,EZ,EN,CN,NC。其中EZ包括所有h=O,h=1;EN包括所有可擴(kuò)展的差值且h不屬于EZ;CN包括所有可變的差值,且h不屬于EZ與EN的交集;NC包括所有不可變的差值。
第三步:創(chuàng)建一個(gè)定位圖,用于差值定位,選擇一個(gè)閾值T將EN分為ENl和EN2,ENl={h∈EN:|h|≤T},EN2={h∈EN:|h|>T},EZ和ENl是用于擴(kuò)展差值,則分別為1和EN2,以賦值CN和NC為O。這樣就建立一個(gè)定位.圖,然后對(duì)定位圖進(jìn)行JBIG2壓縮,壓縮以后的位流記為L,L的末尾代表信息結(jié)束。
第四步:收集EN2和CN中差值的最低位(LSB(h)),但是h=land一2inEN2UCN不會(huì)被收集,所有的這些LSB(h)將組成位流C。
第五步:將位流L,C,P合并成位流B=LUCUP=b1…bkbk+1…bLbL+1…bm,然后將曰嵌入到載體圖像。最后再用(2)式進(jìn)行整數(shù)變換,就得到了一重嵌入后的圖像。嵌入差值的過程如表l所示。本文引用地址:http://m.butianyuan.cn/article/188719.htm
二重嵌入是對(duì)一重嵌入的再次嵌入,其中第一步采用圖1(b)的像素配對(duì)方式計(jì)算差值,其他步驟與一重嵌入相同。
2.4 DDE提取算法
第一重提取的提取過程分為5個(gè)步驟,通過提取比特流B和收集比特流B中所有可變差值的LSB值,就可提取定位圖和原始的比特流C。
第一步:以圖1(b)的像素配對(duì)方式配對(duì),然后計(jì)算差值,對(duì)每個(gè)像素應(yīng)用整數(shù)變換(1),按順序排列成一維數(shù)組{h1,h2,…h(huán)n}。
第二步:把差值分為兩個(gè)不相關(guān)的子集,CH和NC,CH包含所有的可變差值,NC包含所有不可變差值。
第三步:收集所有可變差值的LSB值,然后組成比特流B=blb2…bm。
第四步:用JBIG2解碼器對(duì)定位圖進(jìn)行解碼.就獲得了定位圖位流L,如果定位圖中的值為1,那么對(duì)應(yīng)位置上的差值h就是被擴(kuò)展的差值,h的原始值就是[h/2]。對(duì)于不可變差值,它在定位圖中的值一定為O。對(duì)于可變差值h,如果0h1并且定位圖中的值為0,那么h的原始值一定是1。如果h是可變差值,一2h一l,并且定位圖中的值為0,那么h的原始值一定為一2。對(duì)于其他定位值為0的可變差值,用比特流C恢復(fù)其LSB,當(dāng)所有的差值恢復(fù)到了原始圖像,比特流B中剩下的位就是嵌入的負(fù)載P。
第五步:內(nèi)容鑒定和原始內(nèi)容恢復(fù),用整數(shù)變換(2)重建原始圖像,為了鑒定容量,把負(fù)載P中的鑒定信息與重建圖像進(jìn)行比較,如果二者吻合,那么圖像容量是可信的,重建圖像和原始圖像就是相同的。
第二重提取與第一重提取僅第一部不同,采用圖1(a)的像素配對(duì)方式其他部分與第一重提取相同。
3 實(shí)驗(yàn)結(jié)果
對(duì)多幅圖像進(jìn)行實(shí)驗(yàn),把提出的DDE算法跟Tian算法進(jìn)行比較,圖2為在Lena上的實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)表明,提出的DDE算法在相同的嵌入率下取得了比Tian算法更好的圖像效果,其原因在于提出的算法可以提供更多的較小差值進(jìn)行嵌入,所以改善了圖像質(zhì)量。
4 結(jié)語
解決了Tian算法二重嵌入中可用差值急劇減少的問題,通過在第二次嵌入時(shí)改變差值選取的方案,從而避免了二重嵌入與一重嵌入中差值相關(guān)性的問題,從而使得可供嵌入的差值大幅增加。進(jìn)而使得圖像的負(fù)載能力顯著提高,由于能夠提供更多的較小差值,特別是零差值,所以在相同的負(fù)載條件下,使得圖像的質(zhì)量得到了很大提高。
評(píng)論