殷趙霞 郭紅念 杜 洋 馬文靜 呂皖麗 張新鵬
1(智能計算與信號處理教育部重點實驗室(安徽大學(xué)) 合肥 230601)2(復(fù)旦大學(xué)計算機(jī)科學(xué)技術(shù)學(xué)院 上海 200433)
隨著信息技術(shù)的發(fā)展,信息安全問題日益凸顯,最近信息安全得到深入研究,主流方案包括加密[1]和信息隱藏[2].其中信息隱藏技術(shù)根據(jù)應(yīng)用場景不同可分3類:數(shù)字水印[3]、隱寫[4]與隱寫分析[5]以及可逆信息隱藏[6](reversible data hiding, RDH).數(shù)字水印用于版權(quán)保護(hù)和完整性認(rèn)證等領(lǐng)域,其最重要的屬性是魯棒性.隱寫用于隱蔽通信,更加側(cè)重于不可感知性,隱寫分析檢測是否存在秘密信息以至破壞隱蔽通信.RDH因其能無損地恢復(fù)原始載體,在軍事、醫(yī)學(xué)等領(lǐng)域得到廣泛關(guān)注[7].目前很多RDH方法針對空域圖像特性而設(shè)計,包括無損壓縮法[8-9]、差值擴(kuò)展法[10-11]和直方圖平移法[12-13].JPEG(joint photographic experts group)是目前應(yīng)用最廣泛的壓縮圖像格式,由于JPEG圖像中可利用冗余少且其對文件大小壓縮率有一定要求,基于JPEG圖像的RDH方法研究更具挑戰(zhàn)和應(yīng)用意義.迄今為止,基于JPEG圖像的RDH方法可分為2類:1)基于離散余弦變換(discrete cosine transform, DCT)系數(shù)域修改[14-23],通過修改DCT系數(shù)來嵌入附加信息;2)基于熵編碼域修改[24-28],通過修改JPEG碼流來嵌入附加信息,該方法不會對載密圖像造成視覺質(zhì)量失真.
針對第1類基于DCT系數(shù)域修改的方法由文獻(xiàn)[14]首次提出并給出2種方案:1)通過對交流 (alternating current, AC) 系數(shù)的最低有效位進(jìn)行無損壓縮以騰出空間用于嵌入附加信息;2)將縮放因子設(shè)置為2,即將量化表中的量化步長除以2,并將相應(yīng)的量化AC系數(shù)乘以2以嵌入附加信息.文獻(xiàn)[15]改進(jìn)了文獻(xiàn)[14],將縮放因子設(shè)置為k,并根據(jù)8×8塊中不同位置的單位失真確定量化表的修改范圍.文獻(xiàn)[16]使用多輪直方圖對修改策略嵌入附加信息.文獻(xiàn)[17]采用直方圖平移方式以幅值為±1的AC系數(shù)為峰值點實現(xiàn)信息嵌入,并采用塊選擇策略以減少視覺失真.文獻(xiàn)[20]提出負(fù)影響模型,同時優(yōu)化視覺質(zhì)量和文件擴(kuò)展.文獻(xiàn)[21]采用多目標(biāo)優(yōu)化策略實現(xiàn)視覺質(zhì)量和文件擴(kuò)展的平衡.文獻(xiàn)[22]通過多重直方圖嵌入附加信息,并提出塊平滑和頻率平滑來提高性能.文獻(xiàn)[23]提出了基于失真擴(kuò)展代價的JPEG圖像RDH,并定義單位失真增長比作為視覺質(zhì)量與文件擴(kuò)展的綜合指標(biāo).基于DCT系數(shù)域修改的方法一定會引起文件膨脹與視覺質(zhì)量失真.
第2類基于熵編碼域修改的方法由文獻(xiàn)[24]首次提出,由于需要采用重映射策略進(jìn)行錯誤遮蔽,該方法會對載密圖像造成一定程度視覺質(zhì)量失真.隨后,文獻(xiàn)[25]在此基礎(chǔ)上提出一種保持載密圖像無失真且文件大小不變的方法,通過構(gòu)建相同長度已使用和未使用變長碼(variable-length code, VLC)之間的映射來嵌入附加信息.文獻(xiàn)[26]通過VLC頻率排序和映射優(yōu)化提高嵌入容量.這些方法[25-26]在嵌入附加信息后,載密圖像的視覺質(zhì)量和文件大小保持不變,但是它們[25-26]的共同缺點是嵌入容量低.文獻(xiàn)[27]在2018年提出一種新的基于熵編碼域修改的方法,該方法在保持視覺質(zhì)量不變的情況下提高了嵌入容量,但存在較大的文件擴(kuò)展.2020年,文獻(xiàn)[28]提出構(gòu)建不等長編碼之間的映射以實現(xiàn)高嵌入容量,并進(jìn)一步建立模擬嵌入模型以減少文件擴(kuò)展.
綜上所述,基于DCT系數(shù)域修改的方法會導(dǎo)致視覺質(zhì)量失真和文件擴(kuò)展,但其嵌入容量較大,可以適用于更多應(yīng)用場景.基于熵編碼域修改的方法在低嵌入容量時不會導(dǎo)致文件擴(kuò)展[25-26],但在高嵌入容量下會導(dǎo)致較大的文件擴(kuò)展[27-28].對此,提出了一種JPEG多域RDH算法,為了保證所提算法能夠更有效地減小視覺質(zhì)量失真與文件擴(kuò)展,本文進(jìn)一步提出了JPEG圖像多域RDH下的載荷分配算法.為了同時兼顧視覺質(zhì)量與文件擴(kuò)展,本文進(jìn)行了多次的模擬嵌入以選擇最優(yōu)結(jié)果.實驗結(jié)果表明,所提算法在文件擴(kuò)展方面優(yōu)于所有的方法,在視覺質(zhì)量方面,所提算法則優(yōu)于所有的基于DCT系數(shù)域修改的方法.
本文的主要貢獻(xiàn)有2個方面:
1) 提出了JPEG圖像多域RDH算法,將基于DCT系數(shù)域修改的方法與基于熵編碼域修改的方法相結(jié)合.
2) 設(shè)計了一個基于VLC頻率直方圖的載荷分配算法.
本節(jié)首先簡要介紹JPEG圖像壓縮過程,在此基礎(chǔ)上對2類JPEG圖像RDH方法的嵌入規(guī)則進(jìn)行簡要回顧.
JPEG圖像壓縮過程如圖1所示.首先將原始圖像分為若干個8×8塊,對每個塊進(jìn)行DCT;然后用量化表對每個塊進(jìn)行量化,并將量化后的DCT系數(shù)編碼成中間格式.其中,直流系數(shù)采用差分脈沖編碼調(diào)制編碼,交流系數(shù)采用游程編碼,編碼為中間格式RLV(run/length, value),run/length用哈夫曼編碼得到VLC碼,value采用變長整數(shù)編碼將VLC碼與變長整數(shù)編碼相結(jié)合,并與其他JPEG圖像輔助信息進(jìn)行整合,最終可得到壓縮后的JPEG碼流.
Fig. 1 JPEG images compression process圖1 JPEG圖像壓縮過程
每個VLC對應(yīng)于熵編碼域中AC系數(shù)的RLV.VLC由哈夫曼編碼得到,哈夫曼編碼規(guī)則是將較短的碼分配給頻率較高的VLC,將較長的碼分配給頻率較低的VLC.AC系數(shù)對應(yīng)于162個VLC,包括“0/0”“F/0”和160個run/length從“0/1”到“F/A”的編碼,VLC的長度在2~16 b之間.
我們介紹了基于DCT系數(shù)域修改的JPEG圖像RDH代表性文獻(xiàn)[14-23].這些方法的實質(zhì)是對DCT系數(shù)進(jìn)行修改以嵌入附加信息.其中文獻(xiàn)[17]利用直方圖平移技術(shù)[12]將數(shù)據(jù)嵌入到非零AC系數(shù)中,文獻(xiàn)[20-23]等在此基礎(chǔ)上提出了一系列改進(jìn).以文獻(xiàn)[17]為例,這類方法的嵌入規(guī)則簡要描述為
其中,S(u,v)表示頻率(u,v)處的原始DCT系數(shù),b∈{0,1}表示即將嵌入的附加信息位,S′(u,v)表示頻率(u,v)處的載密DCT系數(shù).
與基于DCT系數(shù)域修改的方法不同,基于熵編碼域修改的方法不修改DCT系數(shù),只修改熵編碼信息,其本質(zhì)是在VLC碼之間建立映射,通過使未使用的VLC替換已使用的VLC來嵌入附加信息“1”,不替換則表示嵌入“0”.如果映射的VLC碼的長度相同,則不會導(dǎo)致文件擴(kuò)展[25-26],但嵌入容量有限,反之則會導(dǎo)致文件擴(kuò)展[27-28],但顯著提高嵌入容量.
圖2展示了基于熵編碼域修改的嵌入規(guī)則示例.首先將JPEG圖像頭文件中DHT段的VLC分為2類:已使用的VLC和未使用的VLC,記為VLCi,然后確立映射規(guī)則,如圖2中VLC5,VLC6,VLC7,VLC8分別與VLC1,VLC2,VLC3,VLC4映射.如果嵌入的附加信息位為“0”,則VLC保持不變;如果嵌入的附加信息位為“1”,則用未使用的VLC替換已使用的VLC.需要注意的是,在已使用的VLC和未使用的VLC之間建立的映射關(guān)系可以是1對1或1對多,不能是多對1,因為多對1的映射會導(dǎo)致解碼錯誤.
Fig. 2 Embedding data by modifying entropycoding domain圖2 基于熵編碼域修改的方法嵌入規(guī)則
為了有效減小載密圖像的失真,本文提出JPEG圖像多域RDH及載荷分配算法,其框架如圖3所示:
Fig. 3 The framework of multi-domain RDH in JPEG images圖3 JPEG圖像多域RDH框架
載荷分配算法將附加信息分為M1和M2兩部分,首先用基于DCT系數(shù)域修改的RDH方法嵌入M1,然后用基于熵編碼域修改的方法嵌入M2.需要注意的是,先在熵編碼域嵌入后在DCT系數(shù)域嵌入會導(dǎo)致編碼錯誤,因此嵌入順序不能調(diào)換.
那么,JPEG圖像多域RDH關(guān)鍵問題在于合理分配附加信息到2個域中以實現(xiàn)盡可能小的視覺失真與文件擴(kuò)展,即載荷分配算法的設(shè)計.
由于文獻(xiàn)[27]中建立的VLC頻率直方圖可以直觀表現(xiàn)出編碼域中不同編碼的數(shù)量,方便根據(jù)已分配的載荷自適應(yīng)選擇峰值點以進(jìn)行信息嵌入,因此本文修改編碼域時采用的是文獻(xiàn)[27]的算法.但所提算法的編碼域嵌入過程與文獻(xiàn)[27]略有不同,文獻(xiàn)[27]通過載荷自適應(yīng)選擇峰值點,然后將峰值點與零值點之間的VLC根據(jù)頻率大小降序排序,這樣做并沒有充分減少JPEG編碼冗余.所提算法在選擇峰值點之前對VLC頻率直方圖預(yù)處理,即所有VLC按照頻率降序排序,然后根據(jù)載荷自適應(yīng)選擇峰值點,進(jìn)一步減小編碼冗余.
熵編碼域的文件擴(kuò)展是由2個操作引起的.通過預(yù)處理,可以得到按照頻率降序排序的VLC頻率直方圖,依據(jù)文獻(xiàn)[27],先根據(jù)附加信息的長度對VLC頻率直方圖平移,如圖4(a)所示,然后修改VLC頻率直方圖以嵌入附加信息,如圖4(b)所示.顯然,該方法中的文件擴(kuò)展由直方圖平移和直方圖修改引起,實驗表明,由于2個相鄰VLC碼的長度差較小甚至為0,因此相比于由直方圖平移引起的文件擴(kuò)展,由直方圖修改引起的文件擴(kuò)展通常更小.因此,在2幅相同的圖像上,根據(jù)文獻(xiàn)[27]嵌入2個不同長度的附加信息,在選擇的峰值點相同的條件下,即直方圖平移操作相同時,導(dǎo)致的文件擴(kuò)展可能很相近甚至相同,換句話說,載荷在一定范圍內(nèi)變化時,導(dǎo)致的文件擴(kuò)展可能是一個固定值.
Fig. 4 The data embedding process of reference [27]圖4 文獻(xiàn)[27]的數(shù)據(jù)嵌入過程
通過分析,我們得出結(jié)論:1)載荷分配算法應(yīng)保持熵編碼域的文件擴(kuò)展在一定范圍內(nèi)的同時最大化載荷;2)分配在熵編碼域中的載荷長度應(yīng)等于某個VLC頻率.
分配在熵編碼域中的載荷長度等于某個VLC頻率,這在實際操作時會有困難,因為對DCT系數(shù)的修改會導(dǎo)致熵編碼域發(fā)生變化,為了解決這個問題,本文采取的策略是實時修改VLC頻率直方圖.例如,一個AC系數(shù)的中間格式run/length為“0/1”,其編碼后對應(yīng)的VLC碼為“00”;而另一個AC系數(shù)的中間格式run/length為“0/2”,其編碼后對應(yīng)的VLC碼為“01”.如果對AC系數(shù)修改導(dǎo)致run/length編碼后對應(yīng)的VLC碼由“00”變?yōu)椤?1”,則VLC碼為“00”的頻率將減少1,而VLC碼為“01”的頻率將增加1.修改AC系數(shù)階段,若run/length不變,則VLC頻率不變.本文采用多次模擬嵌入的方式,最終在所有的結(jié)果中選擇最優(yōu)值.以F={f1,f2,…,f162}和L分別表示VLC頻率直方圖和附加信息長度,第i次模擬嵌入時載荷分配算法步驟為:
算法1.載荷分配算法.
輸入:初始化VLC頻率直方圖,附加信息總長度;
輸出:更新后的VLC頻率直方圖,分配在2個域的附加信息長度.
步驟1. 在修改DCT系數(shù)域時,每嵌入1 b附加信息,記下該AC系數(shù)修改前與修改后的run/length.
梳理了基于DCT系數(shù)域修改的代表性文獻(xiàn)[14-23],本文以文獻(xiàn)[20]為例描述DCT域的修改與嵌入算法.為了方便敘述,本文將分配在DCT系數(shù)域中的載荷長度記為L1,分配在熵編碼域的載荷長度記為L2,總長度記為L.所提算法的具體嵌入步驟如下:
算法2.附加信息嵌入算法.
步驟1. 設(shè)i=1,對原始灰度JPEG圖像進(jìn)行解碼,得到若干個量化后的8×8 DCT系數(shù)塊D和VLC頻率直方圖,對VLC頻率直方圖按VLC頻率排序,得到新的VLC頻率直方圖F={f1,f2,…,f162}.
步驟2. 根據(jù)零AC系數(shù)的個數(shù)對若干個DCT系數(shù)塊D進(jìn)行降序排序得到D′.
步驟3.根據(jù)總載荷長度L和頻率選擇策略選擇前k個頻率(僅考慮文件擴(kuò)展).根據(jù)L和k,從D′中按順序選擇盡可能少的塊.
步驟6.設(shè)i=i+1,返回步驟1,直到i=Z,計算得到所有結(jié)果的峰值信噪比用S={s1,s2,…,sz}表示,文件擴(kuò)展表示為E={e1,e2,…,ez},分別將S和Z中每個元素都改為該元素在所有元素中的排名,其中S中的元素的排名按照從小到大,E中的元素的排名按照從大到小.
步驟7.S&E表示權(quán)衡視覺質(zhì)量與文件擴(kuò)展的綜合指標(biāo),S&E越大表示此次嵌入的效果越佳.引入?yún)?shù)β(0<β<1),通過調(diào)節(jié)β值以權(quán)衡文件擴(kuò)展與視覺質(zhì)量,如β=0,則只關(guān)注于文件擴(kuò)展,如β=1,則只關(guān)注于視覺質(zhì)量.我們得到每次嵌入的結(jié)果S&E:
S&E(i)=βsi+(1-β)ei,
(2)
其中,si與ei分別表示第i次嵌入時的峰值信噪比與文件擴(kuò)展的在Z次嵌入中的排名.
步驟8.從最終結(jié)果S&E中選擇最大值,作為載荷分配最佳的嵌入結(jié)果.
所有附加信息嵌入之后,生成載密JPEG圖像.在附加信息提取階段,首先提取嵌入在熵編碼域的附加信息,然后提取嵌入在DCT系數(shù)域中的附加信息.附加信息提取和原始圖像恢復(fù)的過程如下:
算法3.附加信息提取算法.
步驟1. 解析JPEG圖像的DHT段和熵編碼段,計算編碼段中VLC的頻率,然后根據(jù)DHT段的run/length序列生成VLC頻率分布直方圖.
步驟2. 在DHT段中找到2個run/length相同的VLC,即P和零點Z′.
步驟3. 掃描熵編碼段,根據(jù)文獻(xiàn)[27]提取附加信息,直到提取L2位附加信息,并生成部分恢復(fù)的JPEG圖像.
步驟4. 根據(jù)run′和L2,從排序后的DCT系數(shù)塊中選擇盡可能少的塊.
步驟5. 設(shè)run=0,從n′個DCT塊中,頻率屬于前k′個選定頻率的且零游程長度等于run的非零AC系數(shù),按照文獻(xiàn)[20]提取附加信息并恢復(fù)原始系數(shù).
步驟6. 設(shè)run=run+1,重復(fù)步驟5,直到提取L1位,生成恢復(fù)的JPEG灰度圖像.
為了保證所提算法的可逆性,需要將輔助信息存放在JPEG圖像頭文件中.在DCT系數(shù)域的嵌入階段,附加信息嵌入完畢之后需要記下所選頻率、所選塊數(shù)、DCT系數(shù)域最后一個附加信息嵌入時的零游程長度,以及L1和L2的長度.在8×8的DCT系數(shù)塊中,直流系數(shù)不攜帶附加信息,其余63個交流系數(shù)均可能作為附加信息的載體,因此所選頻率用63 b的頻率選擇圖表示,被選中的為“1”,沒有被選中的為“0”.以512×512的灰度圖像為例,塊數(shù)一共212個,因此用12 b表示選擇的塊數(shù).在DCT系數(shù)域的嵌入階段,零游程長度的最小值為0,最大值為63,即零游程長度可以用6 b表示.嵌入在DCT系數(shù)域或者熵編碼域的附加信息長度一般不大于212×26,因此用2個18 b分別表示L1和L2.輔助信息的總長度為63+12+6+18+18共117 b.
我們從UCID[29]數(shù)據(jù)庫中隨機(jī)選取50幅圖像測試,將這50幅圖像用標(biāo)準(zhǔn)哈夫曼表壓縮成質(zhì)量因子(quality factor,QF)分別為50,70,90的JPEG圖像,將50幅圖像的測試結(jié)果平均得到最終結(jié)果.峰值信噪比(peak signal to noise ratio,PSNR)和文件擴(kuò)展(filesize expansion,FE)是評估JPEG圖像RDH的最重要指標(biāo),若PSNR越大或FE越小,表示載密圖像與原始圖像越接近,則算法性能越好.為了證明所提算法的先進(jìn)性,我們將其與目前最先進(jìn)的方法進(jìn)行比較,包括基于DCT系數(shù)域修改的方法[20-23]和基于熵編碼域修改的方法[28].
基于熵編碼域修改的方法[28]只修改熵編碼域,不會造成視覺質(zhì)量失真,本文不與之比較PSNR.在不同質(zhì)量因子下的實驗結(jié)果如圖5~7所示,其中橫坐標(biāo)是嵌入不同長度的載荷,縱坐標(biāo)是文件擴(kuò)展或PSNR.需要注意的是,在文獻(xiàn)[20]中,為權(quán)衡文件擴(kuò)展和視覺質(zhì)量,引入了參數(shù)α,當(dāng)α=1時,只考慮文件擴(kuò)展,而PSNR較低;反之,參數(shù)α=0時,只考慮視覺質(zhì)量,文件擴(kuò)展較大.因此,當(dāng)比較文件擴(kuò)展時,該參數(shù)α=1,當(dāng)比較PSNR時,α=0.為了更好地權(quán)衡視覺質(zhì)量與文件擴(kuò)展,所提算法中的參數(shù)β設(shè)置為0.6與0.7.
從圖5~7可以看出,當(dāng)質(zhì)量因子為50,70,90時,無論所提算法中的β是0.7或是0.6,所提算法的文件擴(kuò)展都明顯優(yōu)于其他所有方法[20-23,28],并且
Fig. 5 Average file expansion and PSNR when QF=50圖5 QF=50時的平均文件擴(kuò)展和峰值信噪比
Fig. 6 Average file expansion and PSNR when QF=70圖6 QF=70時的平均文件擴(kuò)展和峰值信噪比
Fig. 7 Average file expansion and PSNR when QF=90圖7 QF=90時的平均文件擴(kuò)展和峰值信噪比
可以看出文獻(xiàn)[23]與文獻(xiàn)[20]的文件擴(kuò)展非常相近,甚至在質(zhì)量因子為70,90的時候優(yōu)于基于熵編碼域修改的文獻(xiàn)[28],這得益于文獻(xiàn)[23]對導(dǎo)致文件擴(kuò)展原因的深入探索.在質(zhì)量因子為90、載荷為2 000 b時,所提算法的文件擴(kuò)展出現(xiàn)負(fù)數(shù),這不僅僅是因為所提算法中有預(yù)處理的優(yōu)化過程,最重要的原因是載荷分配算法合理的分配載荷,這充分表現(xiàn)了所提算法的有效性.當(dāng)β=0.7時,所提算法的PSNR優(yōu)于所有基于DCT系數(shù)域修改的RDH方法[20-23].當(dāng)β=0.6時,在質(zhì)量因子為50,70,90且載荷分別小于6 500 b,12 000 b,14 000 b的條件下,所提算法的PSNR仍然最高;在質(zhì)量因子為50,70,90且載荷分別大于8 000 b,14 000 b,17 000 b的條件下,所提算法的PSNR低于文獻(xiàn)[22],但仍然高于其他方法.由圖5~7中可以看出,文獻(xiàn)[23]的PSNR低于其他方法,因為其他方法均對視覺質(zhì)量做了優(yōu)化.
除此之外,本文還探究了所提算法中不同參數(shù)值對實驗結(jié)果的影響.以質(zhì)量因子等于90為例,取值分別為0.1,0.3,0.5,0.7,0.9(β=1時,所提算法即退化為單域嵌入算法,所有附加信息都嵌入在編碼域中,因此不展示β=1的結(jié)果),實驗結(jié)果如圖8所示.從圖8中可以看出,所提算法的文件擴(kuò)展隨著β的減小不斷減小,同時PSNR也降低,當(dāng)β降到最低時,所提算法的文件擴(kuò)展達(dá)到最佳,然而此時的PSNR最低.為了權(quán)衡文件擴(kuò)展與視覺質(zhì)量,在實驗中β通常被設(shè)置為0.6或0.7.由此可以看出,作為權(quán)衡視覺質(zhì)量與文件擴(kuò)展的關(guān)鍵參數(shù)β,可以通過用戶自定義調(diào)節(jié)來側(cè)重于某一指標(biāo).
Fig. 8 The influence of different parameter values on experimental results (QF=90)圖8 不同參數(shù)值對實驗結(jié)果的影響(QF=90)
一個好的JPEG圖像的可逆信息隱藏算法應(yīng)該綜合考慮圖像的視覺質(zhì)量和文件擴(kuò)展,因此本文采用單位失真-增長比[23](unit distortion-increase ratio,UDIR)作為綜合評價指標(biāo):
(3)
其中,分子是PSNR與載荷長度的乘積,分母是文件擴(kuò)展大小.PSNR和L越高或者FE越小,則UDIR越高,即算法越好.由于所提算法的文件擴(kuò)展在β=0.6時會出現(xiàn)零擴(kuò)展或負(fù)擴(kuò)展,因此本文只展示β=0.7時的實驗結(jié)果,如圖9~11所示.圖9~11顯示了與圖5~7相同的條件下的實驗結(jié)果,同樣是50幅UCID數(shù)據(jù)集圖像的測試結(jié)果平均.橫坐標(biāo)是嵌入不同長度的載荷,縱坐標(biāo)是UDIR.由于基于熵編碼域修改的方法[28]是無損的,即均方差為0對應(yīng)的PSNR值無限大,因此只比較基于DCT系數(shù)域修改的方法.從圖9~11可以看出,在嵌入任何長度載荷下,所提算法的UDIR高于其他所有RDH方法.甚至在載荷為2 000 b、質(zhì)量因子分別為50,90時,本文算法的UDIR分別達(dá)到了348,1 022,這是因為所提算法的文件擴(kuò)展得到了有效的抑制.以質(zhì)量因子等于90為例,其他方法的UDIR在26 000 b時與所提算法最接近,此時所提算法的UDIR為38.98,而其他方法中最高的UDIR(文獻(xiàn)[20])只有25.68.這表明本文的方法能夠更好地平衡視覺質(zhì)量和文件擴(kuò)展,這是因為本文利用2個域特點提出的載荷分配算法有效地減少了文件擴(kuò)展和視覺質(zhì)量失真.另外可以看出文獻(xiàn)[20](α=1),文獻(xiàn)[22-23]的UDIR非常接近,因為文獻(xiàn)[20]提出的文件擴(kuò)展子模型顯著地降低了文件擴(kuò)展,文獻(xiàn)[22]的多直方圖修改也有效地權(quán)衡了PSNR和文件擴(kuò)展,文獻(xiàn)[23]同樣對文件擴(kuò)展的降低做了深入探索.
Fig. 9 Average UDIR when QF=50圖9 QF=50時的平均UDIR
Fig. 10 Average UDIR when QF=70圖10 QF=70時的平均UDIR
Fig. 11 Average UDIR when QF=90圖11 QF=90時的平均UDIR
本文針對應(yīng)用最廣泛的圖像格式JPEG,梳理了當(dāng)前JPEG圖像可逆信息隱藏前沿技術(shù)及存在的問題,針對性地提出JPEG圖像多域可逆信息隱藏算法,同時考慮在DCT系數(shù)域和熵編碼域嵌入信息,并給出了載荷的合理分配算法.進(jìn)一步地,在熵編碼域和DCT域均采用當(dāng)前最先進(jìn)的嵌入算法為例,驗證了所提JPEG圖像多域可逆信息隱藏思路和載荷分配算法的有效性.實驗結(jié)果表明:與現(xiàn)有的基于DCT系數(shù)域修改的方法[20-23]相比,該算法具有最佳的視覺質(zhì)量、最小的文件擴(kuò)展和更高的單位失真增長比,與基于熵編碼域修改的方法[28]相比,該算法有更小的文件擴(kuò)展.
目前JPEG圖像多域RDH仍然有很多值得探索的方向,載荷分配算法作為JPEG圖像多域RDH的關(guān)鍵問題,應(yīng)當(dāng)受到更多的關(guān)注.DCT系數(shù)域與熵編碼域的構(gòu)造不同,導(dǎo)致的失真也各不相同,并且2個域的變化會相互影響,這是設(shè)計載荷分配算法時必須考慮的,研究者們需要兼顧多個因素以達(dá)到最小化失真.