熊祥光, 樊夢(mèng)婷, 陳藝, 鐘思堯
(貴州師范大學(xué)大數(shù)據(jù)與計(jì)算機(jī)科學(xué)學(xué)院, 貴陽 550025)
從20世紀(jì)40年代中后期的數(shù)字化革命開始,經(jīng)過50多年的發(fā)展,人類社會(huì)已經(jīng)步入了信息化社會(huì)階段。自1993年出現(xiàn)了第一個(gè)被廣泛使用的瀏覽器(Mosaic網(wǎng)頁瀏覽器),多媒體形式也逐漸多樣化,產(chǎn)生了文字、圖像、聲音等新型多媒體。隨著數(shù)字媒體技術(shù)與網(wǎng)絡(luò)通信技術(shù)的迅速發(fā)展,信息的發(fā)布和傳輸也實(shí)現(xiàn)了數(shù)字化和網(wǎng)絡(luò)化。網(wǎng)絡(luò)技術(shù)的普及,人們獲取信息、傳輸信息越來越便捷,但由于網(wǎng)絡(luò)具有開放性、共享性等特點(diǎn),數(shù)字媒體很容易被復(fù)制、修改和傳播,信息的保密性、真實(shí)性、完整性難以得到保障,導(dǎo)致諸如版權(quán)侵犯、信息泄露等安全性問題時(shí)有發(fā)生。
20世紀(jì)90年代中期,在信息網(wǎng)絡(luò)安全、國家安全方面的強(qiáng)烈需求背景下,尤其是出于對(duì)網(wǎng)絡(luò)環(huán)境中數(shù)字產(chǎn)品的版權(quán)保護(hù),信息安全研究領(lǐng)域開展了信息隱藏這一個(gè)新的研究方向。信息隱藏作為能夠提供信息保護(hù)的一種有效技術(shù),受到了眾多研究者的廣泛關(guān)注,已提出多種性能良好的信息隱藏算法?,F(xiàn)主要對(duì)空域可逆數(shù)據(jù)隱藏中的經(jīng)典算法進(jìn)行介紹和討論,主要安排如下:首先簡要介紹了信息隱藏技術(shù)的分類、應(yīng)用及特性;其次給出了可逆數(shù)據(jù)隱藏技術(shù)的基本框架,總結(jié)了可逆數(shù)據(jù)隱藏算法常用的性能指標(biāo);然后分別介紹和討論了基于差值擴(kuò)展、直方圖平移、預(yù)測(cè)誤差擴(kuò)展、像素值排序和插值技術(shù)的可逆數(shù)據(jù)隱藏算法;最后對(duì)可逆數(shù)據(jù)隱藏技術(shù)的未來發(fā)展方向進(jìn)行了展望。
在信息安全領(lǐng)域,傳統(tǒng)加密技術(shù)研究的是在通信前如何將秘密信息進(jìn)行特殊編碼,以形成未經(jīng)授權(quán)的用戶不可識(shí)別的密碼形式傳遞,它僅隱藏了秘密信息的內(nèi)容。然而,信息隱藏(也稱為數(shù)據(jù)隱藏)主要研究的是如何將秘密信息嵌入或隱藏于另一載體(如文本、圖像、音頻、視頻等)中,使第三方難以識(shí)別到秘密信息的存在,從而保證其安全性的一門技術(shù),它不僅隱藏了秘密信息的內(nèi)容,而且還隱藏了秘密信息的存在。
信息隱藏主要包含數(shù)字水印、信息隱寫和可逆隱藏三種技術(shù),它們的聯(lián)系和區(qū)別如圖1所示。具體來說,數(shù)字水印主要關(guān)注如何可靠地提取數(shù)據(jù),它將魯棒性視為重中之重,主要應(yīng)用于多媒體產(chǎn)品的版權(quán)保護(hù);信息隱寫側(cè)重于數(shù)據(jù)嵌入行為的不可感知性,它的一個(gè)重要應(yīng)用是隱蔽通信;可逆隱藏不僅可以將嵌入的秘密數(shù)據(jù)完整地提取出來,而且能無損地恢復(fù)原始載體,主要應(yīng)用于諸如軍事、醫(yī)學(xué)圖像等需要恢復(fù)原始內(nèi)容的敏感領(lǐng)域[1]。
信息隱藏是一門交叉學(xué)科,在計(jì)算機(jī)、通信、保密學(xué)等領(lǐng)域有著廣闊的應(yīng)用前景[2-3]。經(jīng)過20多年的研究和發(fā)展,信息隱藏技術(shù)逐漸成熟,常見的應(yīng)用如圖2所示。
圖1 信息隱藏的三大分支Fig.1 Three branches of information hiding technology
圖2 信息隱藏技術(shù)的應(yīng)用Fig.2 Application of information hiding technology
信息隱藏與傳統(tǒng)的加密技術(shù)有所不同,其目的并不在于限制正常的資料存取,而在于保證隱藏的數(shù)據(jù)不被侵犯和發(fā)現(xiàn)[4]。信息隱藏技術(shù)根據(jù)目的和技術(shù)要求不同應(yīng)具備如下特性。
(1)透明性或不可感知性:它是信息隱藏技術(shù)的基本要求。在原始載體中嵌入秘密數(shù)據(jù)后,人類視覺系統(tǒng)或聽覺系統(tǒng)不能感知到秘密數(shù)據(jù)的存在。也就是說,嵌入的秘密數(shù)據(jù)不會(huì)給原始載體帶來感知上的失真,非法的第三方難以察覺秘密數(shù)據(jù)的存在。
(2)魯棒性:在不產(chǎn)生載體質(zhì)量明顯下降的前提下,嵌入的秘密數(shù)據(jù)不會(huì)因載體受到某種攻擊而出現(xiàn)丟失,提取的秘密數(shù)據(jù)仍能識(shí)別。
(3)安全性:指數(shù)據(jù)隱藏算法要有抵抗惡意攻擊的能力,能夠保證隱藏的秘密數(shù)據(jù)不會(huì)受到破壞。在涉及到加密算法的信息隱藏技術(shù)中,要把對(duì)秘密數(shù)據(jù)的保護(hù)轉(zhuǎn)換為對(duì)密鑰的保護(hù),考慮密鑰的產(chǎn)生、分發(fā)和管理等。
(4)不可檢測(cè)性:指嵌入秘密數(shù)據(jù)后的載體與原始載體需具有一致性,非法的第三方無法根據(jù)嵌入秘密數(shù)據(jù)后的載體判斷出是否有秘密數(shù)據(jù)隱藏其中。
(5)自恢復(fù)性:承載秘密數(shù)據(jù)的載體在經(jīng)過某些操作或變換后可能會(huì)受到較大破壞。在原始載體未參與的情況下,僅根據(jù)留下的片段數(shù)據(jù),仍能有效恢復(fù)嵌入數(shù)據(jù)。目前,大多數(shù)信息隱藏算法并不具有該特性。
可逆數(shù)據(jù)隱藏(reversible data hiding,RDH)技術(shù)主要包含嵌入過程和提取過程兩個(gè)階段,如圖3所示。在發(fā)送端,首先利用數(shù)據(jù)嵌入算法將秘密數(shù)據(jù)M嵌入到原始載體圖像I中,然后將嵌入秘密數(shù)據(jù)后的圖像S發(fā)送給接收者。在接收端,利用提取算法提取嵌入的秘密數(shù)據(jù)M,并恢復(fù)原始載體圖像I??赡鏀?shù)據(jù)隱藏技術(shù)的核心是高性能的數(shù)據(jù)嵌入算法。
圖3 RDH一般框架Fig.3 The general framework of RDH
利用數(shù)據(jù)嵌入算法將秘密數(shù)據(jù)嵌入到載體中后,為能客觀評(píng)估嵌入算法的性能,通常采用峰值信噪比(peak signal to noise ratio,PSNR)和嵌入率(bits per pixel,BPP)兩個(gè)指標(biāo),如表1所示。
表1 RDH算法常用的性能評(píng)估指標(biāo)Table 1 Common performance evaluations of RDH algorithm
最早的可逆數(shù)據(jù)隱藏方案由Barton[5]在美國專利中提出。迄今為止,在加密域[6-14]、JPEG壓縮域[15-18]和空間域[19-61]中已經(jīng)提出了許多RDH方案。
空域圖像泛指未經(jīng)明顯壓縮、保留了自然圖像大部分冗余性的圖像載體,其主要思想是對(duì)像素值進(jìn)行直接修改。由于具有嵌入容量高、視覺質(zhì)量好和計(jì)算復(fù)雜度低等特性,空域圖像可逆數(shù)據(jù)隱藏技術(shù)被廣泛使用?,F(xiàn)有的空域RDH算法主要包含基于無損壓縮(lossless compression,LC)的方法[19-21]、差值擴(kuò)展(difference expansion,DE)[22-30]、直方圖平移(histogram shifting,HS)[31-38]、預(yù)測(cè)誤差擴(kuò)展(prediction error expansion,PEE)[39-44]、像素值排序(pixel value ordering,PVO)[44-49]和插值技術(shù)(interpolation technology,IT)[50-57]。
在RDH早期階段,主要使用的是基于LC的方法,其主要思想是對(duì)載體圖像進(jìn)行無損壓縮以產(chǎn)生冗余空間,然后利用節(jié)省出的空間進(jìn)行秘密數(shù)據(jù)嵌入。Fridrich等[19]根據(jù)無損壓縮的思想,提出了通過對(duì)載體圖像具有最小冗余的位平面進(jìn)行壓縮以嵌入秘密數(shù)據(jù)的RDH方案。Celik等[21]提出了一種廣義最低有效位(generalized-least significant bit,G-LSB)壓縮的RDH方案,提高了嵌入率。由于位平面間具有非常弱的相關(guān)性,在一定程度上會(huì)限制嵌入容量大小。另外,若直接對(duì)載體圖像進(jìn)行壓縮也會(huì)產(chǎn)生噪聲,引入更大的失真,影響圖像質(zhì)量。目前,已很少提出基于LC的RDH方案。
Tian[22]于2003年首次提出基于DE的RDH方案,它將原始載體圖像劃分為由兩個(gè)相鄰像素組成的像素對(duì)以更好利用像素間的相關(guān)性,然后通過可逆整數(shù)變換擴(kuò)展兩個(gè)像素間的差值將1位秘密數(shù)據(jù)嵌入到像素對(duì)中。理論上最大的嵌入率(BPP)為0.5,在嵌入容量和圖像質(zhì)量方面均顯著優(yōu)于基于LC的RDH方案。后來,Alattar[23-25]通過利用向量替代像素對(duì)進(jìn)行差值擴(kuò)展,提高了BPP。在文獻(xiàn)[23]中,將每三個(gè)相鄰像素視為一個(gè)向量,用于嵌入2位秘密數(shù)據(jù),理論上最大的BPP為0.67。在文獻(xiàn)[24]中,將每四個(gè)相鄰像素視為一個(gè)向量,用于嵌入3位秘密數(shù)據(jù),理論上最大的BPP為0.75。文獻(xiàn)[25]對(duì)這兩個(gè)算法進(jìn)行一般化,將每n個(gè)相鄰像素視為一個(gè)向量,用于嵌入n-1位秘密數(shù)據(jù),理論上最大的BPP為(n-1)/n。可以看出,n越大,BPP越大,但是,實(shí)驗(yàn)發(fā)現(xiàn)當(dāng)n較大時(shí)圖像質(zhì)量失真嚴(yán)重。目前,差值擴(kuò)展(DE)已得到了廣泛的研究和發(fā)展,典型的改進(jìn)策略主要包含預(yù)測(cè)誤差擴(kuò)展[26-27]、自適應(yīng)預(yù)測(cè)誤差擴(kuò)展[28]、局部預(yù)測(cè)誤差擴(kuò)展[29]、最優(yōu)預(yù)測(cè)誤差擴(kuò)展[30]等。
給定像素對(duì)(x0,x1),假設(shè)待嵌入的秘密數(shù)據(jù)為m,m∈{0,1},差值擴(kuò)展(DE)的數(shù)據(jù)嵌入和提取步驟如下。
步驟1計(jì)算像素x0和x1的平均值L及差值h,公式為
(1)
h=x1-x0
(2)
步驟2將差值h轉(zhuǎn)換為二進(jìn)制,然后左移1位,再將1位秘密數(shù)據(jù)嵌入到h中生成新的差值h′。該過程可表示為:h′=2h+m。
步驟3根據(jù)差值h′和平均值L計(jì)算嵌入秘密數(shù)據(jù)后的像素值,公式為
(3)
步驟4提取過程是嵌入過程的逆過程。首先計(jì)算含秘密數(shù)據(jù)像素對(duì)(x′0,x′1)的平均值和差值為
(4)
h′=x′1-x′0
(5)
步驟5將h′轉(zhuǎn)換為二進(jìn)制數(shù),它的最低有效位(least significant bit,LSB)即為嵌入的秘密數(shù)據(jù)位,該過程可表示為:m=LSB(h′)。
(6)
從上述秘密數(shù)據(jù)嵌入和提取過程可以看出,DE嵌入方法具有實(shí)現(xiàn)簡單和計(jì)算效率高等特點(diǎn)。理論上,該方法的最大嵌入率為0.5。但是,由于嵌入秘密數(shù)據(jù)時(shí),可能會(huì)出現(xiàn)溢出,若將輔助信息與待嵌入的秘密數(shù)據(jù)一起嵌入載體,則純嵌入容量會(huì)進(jìn)一步減小。若要嵌入的容量不高和載體圖像較平滑,則采用DE嵌入能取得較好的性能。
除基于DE的RDH算法外,HS是RDH技術(shù)中的另一個(gè)典型算法。該算法首先生成直方圖,然后通過修改生成的直方圖實(shí)現(xiàn)可逆數(shù)據(jù)嵌入。下面以Ni等[31]的方案為例,詳細(xì)描述基于HS的RDH算法的嵌入和提取過程。
3.2.1 Ni等的RDH方案
Ni等[31]于2006年首次提出基于HS的RDH方案。與之前的方案相比,該方案可以有效提高嵌入容量并改善圖像質(zhì)量,其主要思想是先對(duì)非峰值點(diǎn)進(jìn)行平移,然后利用峰值點(diǎn)嵌入秘密數(shù)據(jù)。在文獻(xiàn)[31]中,每個(gè)像素值至多修改1,確保嵌入秘密數(shù)據(jù)后的圖像質(zhì)量始終高于48 dB。然而,由于該方法的數(shù)據(jù)嵌入容量等于載體圖像直方圖中峰值點(diǎn)所對(duì)應(yīng)的像素總數(shù),對(duì)于直方圖比較平坦的載體圖像來說,無法找到顯著的峰值點(diǎn),導(dǎo)致嵌入容量和圖像質(zhì)量可能都不太理想。
零點(diǎn)大于峰值點(diǎn)的數(shù)據(jù)嵌入過程如圖4(a)所示。假設(shè)零點(diǎn)為a,峰值點(diǎn)為b,且a>b,待嵌入的秘密數(shù)據(jù)為m,m∈{0,1},基本的數(shù)據(jù)嵌入和提取步驟如下。
步驟1在原始載體圖像I的直方圖中,尋找到一個(gè)零點(diǎn)a和一個(gè)峰值點(diǎn)b。
步驟2根據(jù)式(7)進(jìn)行平移和嵌入秘密數(shù)據(jù)m,生成嵌入秘密數(shù)據(jù)后的像素值。
(7)
步驟3提取時(shí),根據(jù)嵌入時(shí)選擇的零點(diǎn)a和峰值點(diǎn)b,提取嵌入的秘密數(shù)據(jù)m可表示為
(8)
步驟4基于零點(diǎn)a和峰值點(diǎn)b,恢復(fù)原始像素值可表示為
(9)
在嵌入秘密數(shù)據(jù)后的圖像S中執(zhí)行步驟3和步驟4,可準(zhǔn)確地提取嵌入的秘密數(shù)據(jù)和無失真地恢復(fù)原始載體圖像I。同理,零點(diǎn)小于峰值點(diǎn)的數(shù)據(jù)嵌入過程如圖4(b)所示,其嵌入過程與上述步驟基本相同。
上述基于HS的數(shù)據(jù)嵌入和提取過程非常簡單,嵌入秘密數(shù)據(jù)后的圖像質(zhì)量較高。但是,若載體圖像的直方圖沒有較顯著的峰值點(diǎn),則該方法的嵌入容量就非常有限。
圖4 基于HS的數(shù)據(jù)嵌入規(guī)則Fig.4 HS-based data embedding rules
3.2.2 基于HS的RDH擴(kuò)展
Fallahpour等[32]提出基于圖像塊而不是整個(gè)圖像的RDH方案。首先,對(duì)原始載體圖像進(jìn)行不重疊分塊,生成每個(gè)分塊的直方圖。然后,利用各個(gè)圖像塊的零點(diǎn)和峰值點(diǎn)嵌入秘密數(shù)據(jù)。對(duì)每個(gè)圖像塊分別使用嵌入算法可以提高嵌入容量。
Lee等[33]提出利用差值直方圖對(duì)Ni等[31]的方案進(jìn)行改進(jìn),通過考慮相鄰像素間的差值以更好利用自然圖像的空間相關(guān)性,產(chǎn)生更顯著的峰值點(diǎn)。然后,選擇在峰值點(diǎn)1和-1嵌入秘密數(shù)據(jù)。由于最多一半的圖像像素被修改,所以嵌入秘密數(shù)據(jù)后的圖像質(zhì)量不小于51.14 dB。該方案的數(shù)據(jù)嵌入和提取步驟如下。
步驟1根據(jù)M×N大小的原始載體圖像I,生成M×(N/2)大小的差值圖像D,該過程表示為
D(i,j)=I(i,2j+1)-I(i,2j)
(10)
式(10)中:0≤i≤M-1,0≤j≤(N/2)-1。
步驟2根據(jù)差值圖像生成差值直方圖。同時(shí),將差值為-2和2的差值對(duì)進(jìn)行移位以創(chuàng)建空位用于秘密數(shù)據(jù)的嵌入,該過程表示為
(11)
步驟3數(shù)據(jù)嵌入規(guī)則定義為
(12)
式(12)中:m∈{0,1}為待嵌入的秘密數(shù)據(jù)。
步驟4提取過程是嵌入過程的逆過程。先根據(jù)M×N大小的嵌入秘密數(shù)據(jù)后的圖像S,生成M×(N/2)大小的差值圖像DS,該過程表示為
DS(i,j)=S(i,2j+1)-S(i,2j)
(13)
式(13)中:0≤i≤M-1,0≤j≤(N/2)-1。
步驟5提取嵌入的秘密數(shù)據(jù)m可表示為
(14)
步驟6恢復(fù)原始像素值可表示為
(15)
與原始的基于HS的方案相比,雖然該方案的嵌入性能得到了提高,但是嵌入容量和嵌入秘密數(shù)據(jù)后的圖像質(zhì)量仍有進(jìn)一步提升的空間。后來,文獻(xiàn)[34]提出基于二維差值直方圖修正的RDH方案。該方案通過構(gòu)造差值對(duì)映射來修改二維差值直方圖以嵌入秘密數(shù)據(jù)。在該方案中,每個(gè)差值對(duì)允許有四個(gè)修改方向,更多的像素對(duì)可用于嵌入秘密數(shù)據(jù),移位的像素對(duì)數(shù)量也有所減少,從而性能得到了提升。除上述改進(jìn)策略外,許多基于直方圖的改進(jìn)策略也相繼被提出,如多重直方圖修正[35]和減少直方圖平移中無效像素移位[36]等。與之前的方案相比,這些方案可以提供更好的性能。
基于預(yù)測(cè)誤差擴(kuò)展的RDH方案最早由Thodi等[26]于2007年提出。該方案首先生成預(yù)測(cè)誤差直方圖(prediction-error histogram,PEH),然后在PEH中嵌入秘密數(shù)據(jù)。在傳統(tǒng)的DE中,像素對(duì)的差值用于擴(kuò)展嵌入秘密數(shù)據(jù),最大的嵌入率(BPP)為0.5。在PEE中,預(yù)測(cè)誤差(像素值與其預(yù)測(cè)值之間的差值)用于擴(kuò)展嵌入,可將一比特的秘密數(shù)據(jù)嵌入到一個(gè)像素中,最大的BPP可為1。與僅考慮兩個(gè)相鄰像素間相關(guān)性的DE不同,PEE利用了較大鄰域的局部相關(guān)性。由于預(yù)測(cè)誤差值的分布比圖像像素值的分布更緊湊,PEH分布更加尖銳,失真就越小。因此,與基于DE和HS的方案相比,PEE具有更優(yōu)越的性能。
3.3.1 基于一維PEH的RDH方案
基于PEE的RDH方案主要包含PEH生成和對(duì)PEH修改兩個(gè)基本步驟,如圖5所示。
常用的像素值預(yù)測(cè)方法主要有梯度調(diào)整預(yù)測(cè)(gradient adjusted prediction,GAP)[34]、中值邊緣預(yù)測(cè)(median edge detection,MED)[35]、菱形預(yù)測(cè)[36]等??傮w上來看,GAP預(yù)測(cè)方法具有更好的性能。
圖5 PEE嵌入過程Fig.5 The embedding process of PEE
一維PEH的秘密數(shù)據(jù)嵌入規(guī)則如圖6所示,擴(kuò)展和移位規(guī)則定義為
(16)
在秘密數(shù)據(jù)提取階段,恢復(fù)原始預(yù)測(cè)誤差ei可表示為
(17)
與先前的RDH方案相比,該方案具有更好的性能。應(yīng)該說,該方案的性能依賴于像素值預(yù)測(cè)的準(zhǔn)確性。預(yù)測(cè)值越精確,生成的直方圖就越尖銳,嵌入方案的性能就越好,反之亦然。后來,基于一維PEH的RDH方案得到了廣泛的研究和改進(jìn)。典型的改進(jìn)策略包含采用自適應(yīng)的PEH[28,39-41]等。實(shí)驗(yàn)結(jié)果表明,與先前的方案相比,這些改進(jìn)方案都具有更好的性能。
圖6 一維PEH的秘密數(shù)據(jù)嵌入規(guī)則[42]Fig.6 1-D PEH secret data embedding rules[42]
3.3.2 基于二維PEH的RDH方案
基于一維PEH的方案沒有充分利用預(yù)測(cè)誤差間的相關(guān)性,預(yù)測(cè)誤差在數(shù)據(jù)嵌入過程中被單獨(dú)修改,圖像冗余未得到充分利用。事實(shí)上,相鄰的預(yù)測(cè)誤差間往往是高度相關(guān)的。因此,有研究人員提出了基于二維PEH的RDH方案。該方案首先將每兩個(gè)相鄰的預(yù)測(cè)誤差視為一對(duì),生成一個(gè)由預(yù)測(cè)誤差對(duì)組成的序列,然后通過擴(kuò)展和移位二維PEH實(shí)現(xiàn)數(shù)據(jù)嵌入。當(dāng)T=1時(shí),二維PEH的秘密數(shù)據(jù)嵌入規(guī)則如圖7(a)所示[注:T=1時(shí),圖6(a)中的映射等同于圖7(a)中的映射]。限于篇幅,這里只給出第一象限的映射規(guī)則,其他三個(gè)象限的映射規(guī)則與第一象限的映射規(guī)則基本相同。
通過深入分析圖7(a),發(fā)現(xiàn)該嵌入規(guī)則有一個(gè)缺點(diǎn),即將(0,0)映射到(1,1)所帶來的失真最大,值為2。因此,文獻(xiàn)[42]提出丟棄具有較高失真的方向[如第一象限中的(0,0)映射到(1,1)]以盡可能在失真較小的方向上嵌入秘密數(shù)據(jù),改進(jìn)后的映射規(guī)則如圖7(b)所示。改進(jìn)后,對(duì)(0,0)可嵌入log23位秘密數(shù)據(jù),圖7(a)中用于移位的對(duì)(1,1)可用于嵌入1位秘密數(shù)據(jù)。因此,與圖7(a)相比,使用圖7(b)的嵌入規(guī)則可以產(chǎn)生更好的性能。然而,如圖7(b)所示的秘密數(shù)據(jù)嵌入規(guī)則僅采用了固定的修改方式,所以性能可能不是最佳的。在給定嵌入容量的條件下,為盡可能提升圖像質(zhì)量,文獻(xiàn)[44]提出使用自適應(yīng)的二維映射來自適應(yīng)地確定二維直方圖的修改方式,算法性能得到了提升??傮w上來說,基于二維PEH的RDH方案的性能優(yōu)于基于一維PEH的RDH方案。目前,該方向是RDH的研究熱點(diǎn),眾多研究人員正在研究基于多直方圖的RDH方案。
圖7 二維PEH的秘密數(shù)據(jù)嵌入規(guī)則[42]Fig.7 2-D PEH secret data embedding rules[42]
像素值排序是從PEE發(fā)展而來的一種RDH技術(shù),最早由Li等[45]于2013年提出,其主要思想是首先將載體圖像劃分為互不重疊的分塊,對(duì)每個(gè)分塊中的像素值進(jìn)行升序排序,然后在最大值和最小值間分別采用PEE嵌入秘密數(shù)據(jù)。在數(shù)據(jù)嵌入完成后,每個(gè)分塊中的像素值順序保持不變,確保了算法的可逆性。實(shí)驗(yàn)結(jié)果表明,在低嵌入容量,基于PVO的RDH方案的性能要優(yōu)于一些基于PEE的方案。但是,對(duì)紋理豐富的圖像來說,基于PEE的方案優(yōu)于基于PVO的方案。
在文獻(xiàn)[45]中,通過將PVO與PEE相結(jié)合,可以減少移位像素的數(shù)量,從而提升圖像質(zhì)量。對(duì)于每個(gè)分塊,用分塊中的第二大像素值來預(yù)測(cè)最大像素值,用第二小像素值來預(yù)測(cè)最小像素值。然后,預(yù)測(cè)誤差1和-1分別用于擴(kuò)展嵌入數(shù)據(jù)。以預(yù)測(cè)最大像素值為例,基本的數(shù)據(jù)嵌入和提取步驟如下。
步驟1將載體圖像劃分為互不重疊的大小相同的分塊。對(duì)于包含n個(gè)像素的分塊X,升序排序其像素值(x1,x2,…,xn),得到(xσ(1),xσ(2),…,xσ(n))。其中,σ:{1,2,…,n}→{1,2,…,n}是單射,若xσ(i)=xσ(j)且i 步驟2用該分塊中的第二大像素值xσ(n-1)來預(yù)測(cè)最大像素值xσ(n),相應(yīng)的預(yù)測(cè)誤差為 emax=xσ(n)-xσ(n-1) (18) 步驟3預(yù)測(cè)誤差的擴(kuò)展和移位規(guī)則可表示為 (19) 式(19)中:m∈{0,1}為待嵌入的秘密數(shù)據(jù)。 步驟4嵌入秘密數(shù)據(jù)后的像素值可表示為 (20) 步驟5提取過程是嵌入過程的逆過程。將嵌入秘密數(shù)據(jù)后的圖像劃分為互不重疊的大小相同的分塊,對(duì)于包含n個(gè)像素的分塊Y,升序排序其像素值(y1,y2,…,yn),得到(yσ(1),yσ(2),…,yσ(n))。 步驟6得到排好序的像素值(yσ(1),yσ(2),…,yσ(n))后,相應(yīng)的預(yù)測(cè)誤差為 (21) (22) 步驟8恢復(fù)原始像素值可表示為 (23) 實(shí)驗(yàn)結(jié)果表明,該方案在低嵌入率時(shí)具有更高的PSNR。然而,該方案僅在一個(gè)方向上進(jìn)行預(yù)測(cè)誤差擴(kuò)展以嵌入秘密數(shù)據(jù),嵌入容量有限。后來,文獻(xiàn)[46]對(duì)該方案進(jìn)行了改進(jìn)。以預(yù)測(cè)最大像素值為例,通過考慮最大像素值和第二大像素值的像素位置[式(24)],可以將秘密數(shù)據(jù)嵌入到最大像素值等于第二大像素值的分塊中以充分利用平滑塊。然后,預(yù)測(cè)誤差1和0用于擴(kuò)展嵌入秘密數(shù)據(jù)[式(25)],提升了嵌入容量。 (24) (25) 但是,深入研究該方案后發(fā)現(xiàn)該方案對(duì)每個(gè)分塊中最大和最小預(yù)測(cè)誤差的修改是獨(dú)立進(jìn)行的,導(dǎo)致性能并不一定是最佳的。文獻(xiàn)[44]通過將每個(gè)分塊中的最大和最小預(yù)測(cè)誤差視為一對(duì),基于平滑圖像塊的預(yù)測(cè)誤差對(duì)生成二維直方圖,然后自適應(yīng)地修改生成的直方圖來實(shí)現(xiàn)秘密數(shù)據(jù)嵌入,很好地利用了預(yù)測(cè)誤差間的相關(guān)性,優(yōu)化了嵌入性能。后來,Ou等[47]提出了對(duì)于每個(gè)分塊,最大的兩個(gè)像素和最小的兩個(gè)像素被分別分組為兩對(duì),然后使用第三大像素和第三小像素來預(yù)測(cè)的PVO方案;Zhang等[48]同時(shí)考慮像素值順序和像素位置,提出基于位置的LPVO(location-based pixel-value-ordering)方案。實(shí)驗(yàn)結(jié)果表明,與原始方案相比,這些改進(jìn)方案的性能都得到了提升。對(duì)于現(xiàn)有的RDH方案來說,在低嵌入率時(shí),在相同的BPP條件下,基于PVO的RDH方案的PSNR是最好的。因此,若嵌入容量需求不高,嵌入秘密數(shù)據(jù)后的圖像質(zhì)量要求較高的話,采用基于PVO的方法應(yīng)該是一種較好的選擇。 與傳統(tǒng)的RDH算法相比,基于IT的RDH算法具有單層嵌入容量大和視覺質(zhì)量高等優(yōu)點(diǎn),目前已成為RDH技術(shù)的研究熱點(diǎn)。該類算法的主要思想是利用原始像素值作為參考,通過插值算法來預(yù)測(cè)新像素值。嵌入秘密數(shù)據(jù)時(shí),秘密數(shù)據(jù)僅被嵌入到插值像素中,插值圖像中的原始像素值保持不變。在提取階段,原始圖像的恢復(fù)非常簡單,僅需對(duì)嵌入秘密數(shù)據(jù)后的圖像進(jìn)行下采樣即可。 基于IT的RDH算法流程如圖8所示。在發(fā)送端,一幅N×N大小的輸入圖像首先被下采樣生成(N/2)×(N/2)大小的原始圖像,然后對(duì)原始圖像使用插值算法生成N×N大小的插值圖像。在接收端,通過對(duì)N×N大小的嵌入秘密數(shù)據(jù)后的圖像進(jìn)行下采樣操作恢復(fù)原始圖像。需要注意的是,在輸入圖像上直接進(jìn)行插值操作也是可行的?,F(xiàn)有的算法基本采用基于下采樣的方案,其原因主要是可以評(píng)估插值算法和嵌入秘密數(shù)據(jù)后的圖像與輸入圖像的性能。 到目前為止,已經(jīng)提出了很多有效的圖像插值方法,如最近鄰插值(nearest neighbor interpolation,NNI)和雙線性插值(bilinear interpolation,BI)等。NNI方法通過選擇原始圖像中最近鄰點(diǎn)的像素值來生成相應(yīng)的插值像素,但是,該方法通常會(huì)受到混疊效應(yīng)的影響。BI方法通過對(duì)4個(gè)最近的相鄰原始像素進(jìn)行加權(quán)計(jì)算生成相應(yīng)的插值像素,與NNI方法相比,該方法生成的圖像外觀更平滑,視覺質(zhì)量更好。 圖8 基于IT的RDH算法流程圖Fig.8 Flow chart of RDH algorithm based on IT 2009年,Jung等[50]提出了鄰域均值插值(neighbor mean interpolation,NMI)方法,通過計(jì)算相鄰像素值的平均值產(chǎn)生插值像素,然后通過計(jì)算插值像素與一個(gè)原始像素間的差值以在插值像素中嵌入相應(yīng)位數(shù)的秘密數(shù)據(jù)。該方法的數(shù)據(jù)嵌入和提取過程如圖9所示,詳細(xì)步驟如下。 步驟1對(duì)原始圖像使用NMI插值算法,生成插值圖像,該過程可表示為 (26) 步驟2插值像素與原始像素I(0,0)間差值的絕對(duì)值計(jì)算為 (27) 步驟3根據(jù)計(jì)算出的差值來確定每個(gè)插值像素可嵌入的秘密數(shù)據(jù)長度,該過程表示為 (28) 步驟4取n1、n2和n3位秘密數(shù)據(jù)并分別轉(zhuǎn)換為十進(jìn)制V1、V2和V3。 步驟5嵌入秘密數(shù)據(jù)后的像素值為 (29) 步驟6在提取階段,僅通過嵌入秘密數(shù)據(jù)后的圖像就可以提取秘密數(shù)據(jù)并恢復(fù)原始圖像。提取的秘密數(shù)據(jù)的十進(jìn)制可表示為 (30) 圖9 基于IT的RDH算法嵌入過程Fig.9 The embedded process of RDH algorithm based on IT 步驟7將提取的數(shù)據(jù)V1、V2和V3分別轉(zhuǎn)換為n1、n2和n3位二進(jìn)制數(shù)據(jù),即可得到嵌入的秘密數(shù)據(jù)。 大量的實(shí)驗(yàn)結(jié)果表明該方法提供的最大嵌入率(BPP)可達(dá)到1.76,比NNI和BI方法更有效。根據(jù)式(28),可以得到嵌入的秘密數(shù)據(jù)量會(huì)隨差值的增大而增大。然而,該方法在計(jì)算差值時(shí)僅局限在一個(gè)2×2的分塊中,限制了嵌入容量。 后來,Lee等[51]提出了基于鄰域像素插值(interpolation by neighboring pixels,INP)的RDH方法。在該方法中,首先計(jì)算每個(gè)3×3重疊分塊中4個(gè)原始像素的最大值,然后通過計(jì)算每個(gè)插值像素與最大值間的差值來確定可嵌入的秘密數(shù)據(jù)量。實(shí)驗(yàn)結(jié)果表明該方法的BPP可達(dá)到2.27,能夠產(chǎn)生比NNI、BI和NMI更高的PSNR,表達(dá)式為 (31) Chang等[52]提出了基于增強(qiáng)鄰域均值插值(enhanced neighbor mean interpolation,ENMI)的RDH方法,通過采用4個(gè)最接近的原始像素的平均值替代NMI中對(duì)角插值像素的計(jì)算,提升了圖像質(zhì)量,表達(dá)式為 (32) Malik等[53]提出了改進(jìn)的鄰域均值插值(modified neighbor mean interpolation,MNMI)方法。相較于NMI方法,該方法在計(jì)算水平插值像素時(shí),其左右相鄰像素被賦予更多權(quán)重,在計(jì)算垂直插值像素時(shí),其上下相鄰像素被賦予更多權(quán)重,表達(dá)式為 (33) 就視覺質(zhì)量效果而言,與在計(jì)算對(duì)角插值像素時(shí)利用水平和垂直插值像素的NMI和INP方法相比,ENMI和MNMI方法能夠獲得更高的圖像質(zhì)量。 總體上來看,與傳統(tǒng)的RDH技術(shù)相比,基于IT的RDH技術(shù)因可以在每個(gè)插值像素中嵌入多比特的秘密數(shù)據(jù),所以嵌入率可達(dá)到2.0以上,真正地實(shí)現(xiàn)了大容量的秘密數(shù)據(jù)嵌入。在實(shí)際應(yīng)用中,若需在載體圖像中嵌入大容量的秘密數(shù)據(jù),采用基于IT的方案可以說是一種較理想的選擇。 可逆數(shù)據(jù)隱藏技術(shù)是當(dāng)前的熱點(diǎn)研究領(lǐng)域,其主要思想是通過可逆變換對(duì)載體信號(hào)進(jìn)行處理以嵌入秘密數(shù)據(jù)。在數(shù)據(jù)提取和載體信號(hào)恢復(fù)階段,不僅能將嵌入的秘密數(shù)據(jù)完全提取出來,而且還能實(shí)現(xiàn)對(duì)原始載體信號(hào)的無損恢復(fù)?;诳臻g域的可逆數(shù)據(jù)隱藏技術(shù)通過對(duì)載體信號(hào)進(jìn)行直接修改來實(shí)現(xiàn)秘密數(shù)據(jù)的嵌入,可以很好地避免在載體信號(hào)變換過程中可能出現(xiàn)的少量數(shù)據(jù)丟失的情況,實(shí)現(xiàn)對(duì)原始載體信號(hào)的完整恢復(fù)。 首先對(duì)可逆數(shù)據(jù)隱藏技術(shù)的基本框架和性能評(píng)估進(jìn)行簡要分析。其次,對(duì)基于差值擴(kuò)展、直方圖平移、預(yù)測(cè)誤差擴(kuò)展、像素值排序和插值技術(shù)等五種典型的可逆數(shù)據(jù)隱藏技術(shù)分別進(jìn)行了介紹和討論,給出了每種典型技術(shù)的嵌入和提取過程,以更好地幫助讀者加快、加深對(duì)基于空間域圖像的可逆數(shù)據(jù)隱藏的了解。 對(duì)于可逆數(shù)據(jù)隱藏技術(shù)來說,嵌入容量和嵌入秘密數(shù)據(jù)后的圖像質(zhì)量是兩個(gè)最重要的性能指標(biāo),現(xiàn)有的方案都旨在提升它們的大小。然而,嵌入容量和嵌入秘密數(shù)據(jù)后的圖像質(zhì)量是一對(duì)矛盾體,嵌入容量越高,嵌入秘密數(shù)據(jù)后的圖像質(zhì)量往往越低,反之亦然。因此,新設(shè)計(jì)的RDH方案都旨在一定的嵌入容量條件下,盡可能地提高嵌入秘密數(shù)據(jù)后的圖像質(zhì)量,這也是目前RDH技術(shù)的重點(diǎn)和難點(diǎn)。為進(jìn)一步提升RDH方案的性能和實(shí)用性,RDH技術(shù)可從以下幾個(gè)方面去開展。 (1)提升壓縮數(shù)據(jù)的性能。在RDH技術(shù)中往往需要采用壓縮技術(shù)對(duì)相關(guān)數(shù)據(jù)進(jìn)行壓縮以增加冗余空間嵌入更高容量的數(shù)據(jù)。例如,對(duì)于基于DE的RDH技術(shù)來說,需對(duì)嵌入過程中產(chǎn)生的輔助信息進(jìn)行壓縮以減少其占用嵌入空間的比例。然而,現(xiàn)有的數(shù)據(jù)壓縮性能都有限。為提高壓縮率,可能需要根據(jù)待壓縮數(shù)據(jù)自身的特征使用不同的壓縮方式才能產(chǎn)生更好的性能。 (2)對(duì)彩色圖像RDH技術(shù)進(jìn)行研究。到目前為止,針對(duì)灰度圖像的RDH技術(shù)已非常成熟,而針對(duì)彩色圖像的RDH技術(shù)較少。同時(shí),若直接將灰度圖像RDH技術(shù)移植到彩色圖像中,性能一般不會(huì)很好。此外,在實(shí)際應(yīng)用中,彩色圖像比灰度圖像更受歡迎。因此,對(duì)彩色圖像RDH技術(shù)開展研究更具有實(shí)際意義。 (3)對(duì)壓縮域圖像開展研究。當(dāng)前,大多數(shù)RDH技術(shù)主要針對(duì)的是未壓縮圖像。然而,在日常生活中,為節(jié)約存儲(chǔ)空間和傳輸帶寬,壓縮后的圖像更實(shí)用。因此,設(shè)計(jì)基于壓縮域的RDH技術(shù)可能更具有現(xiàn)實(shí)意義。目前,雖然已有基于JPEG壓縮域的RDH算法,但是性能還有待進(jìn)一步提高。 (4)與人工智能合作。深度學(xué)習(xí)技術(shù)已在多個(gè)領(lǐng)域被成功應(yīng)用。因此,研究人員在設(shè)計(jì)RDH算法時(shí)可以嘗試將深度學(xué)習(xí)技術(shù)引入到RDH中來以進(jìn)一步提升嵌入算法的性能。目前,已提出一些基于深度學(xué)習(xí)的RDH算法,如文獻(xiàn)[61]。相信隨著深度學(xué)習(xí)技術(shù)性能的不斷提高,結(jié)合深度學(xué)習(xí)技術(shù)來設(shè)計(jì)新型的RDH算法將成為未來的研究熱點(diǎn)。3.5 基于IT的RDH算法
4 結(jié)論和展望