呂皖麗 檀勝
(安徽大學 多模態(tài)認知計算安徽省重點實驗室 安徽 合肥 230601)
在經過第三次工業(yè)革命之后,科技迅猛發(fā)展,人類因此快速邁進了信息時代,信息安全成了廣大民眾最擔心的問題之一。無論是企業(yè)的防偽認證,還是軍事信息的加密傳輸,可逆信息隱藏技術在實際生活中的應用越來越多。作為一種特殊類型的信息隱藏方式,可逆信息隱藏是指傳輸方可以將數(shù)據(jù)進行加密嵌入到圖像當中并傳輸給接收方,接收方從載體圖像按照秘鑰提取出秘密數(shù)據(jù)并恢復原始圖像的算法。因此可逆信息隱藏技術也成了學術界熱衷討論和研究的課題之一。
在過去的二十多年時間中,提出了許多可逆信息隱藏算法,這些算法大體上可以分為3類:基于無損壓縮的可逆信息隱藏算法[1- 2]、基于差分擴展的可逆信息隱藏算法[3- 4]和基于直方圖平移的可逆信息隱藏算法[5]。為了進一步增強嵌入能力,又有學者改進了基于直方圖平移的算法,主要分為兩類:利用差分圖像的直方圖特征的“差分直方圖平移”技術(DHS)[6- 7]以及預測誤差直方圖移位技術(PEHS)[8- 11],早期的可逆信息隱藏算法大多數(shù)是在未壓縮圖像上進行的,但是隨著實際應用的需要,現(xiàn)如今大多數(shù)圖像是以壓縮形式存儲,加上壓縮圖像含有較少的冗余,要想實現(xiàn)可逆信息隱藏難度更大。而在壓縮圖像當中JPEG圖像因其使用的廣泛性成為了目前最受歡迎的圖像格式之一,因此得到了更進一步的重視,許多學者對此進行了研究。
JPEG圖像的常見可逆信息隱藏算法主要包括基于量化表修改[12- 14]、基于Huffman表修改[15- 20]和基于離散余弦變換(DCT)系數(shù)修改[21- 27]?;诹炕硇薷牡乃惴ㄓ捎谄茐牧艘曈X質量與文件膨脹量之間的平衡,會造成文件增加量顯著增加;而基于Huffman表修改的算法雖然可以做到無損壓縮,但其嵌入容量較低,無法滿足日常生活的需求;而基于DCT系數(shù)修改的算法能夠做到在滿足人眼無法識別的視覺誤差的前提下仍能保持較低的文件膨脹和足夠大的嵌入容量。Huang等[21]提出了使用直方圖移位技術修改DCT系數(shù)的算法,將秘密信息嵌入到值為±1的交流(AC)系數(shù)中,0AC系數(shù)和直流(DC)系數(shù)保持不變。Wedaj等[22]在文獻[21]的算法的基礎上進行優(yōu)化,將量化步長作為塊排序依據(jù),有效降低了圖像失真。Hou等[23]提出對每個子塊計算模擬失真,并通過模擬失真對塊進行排序。Xie等[24]提出了一種將小AC系數(shù)進行加倍的JPEG圖像可逆信息隱藏算法,將可嵌入位置從±1擴展為了±1和±2,極大擴展了嵌入容量,但是在相同嵌入荷載情況下其文件增加量并沒有減少,因此優(yōu)化程度并不理想。Li等[25]將嵌入位置以每兩個作為一個二維坐標,并根據(jù)其取值的不同按照嵌入規(guī)則在二維直方圖上進行修改。Yin等[26]綜合考慮了視覺質量和文件膨脹量對嵌入秘密信息的影響,提出一種多目標優(yōu)化算法,優(yōu)先選擇優(yōu)化后指標較好的塊進行嵌入。He等[27]提出了一種綜合考慮了視覺質量和文件增加量的負影響模型,通過設置參數(shù)來調節(jié)更傾向于優(yōu)化視覺質量還是文件增加量,并且提出了一種頻率選擇策略,與文獻[21]的算法相比可以獲得更高的視覺質量和更低的文件增加量。但是文獻[27]的算法只適用于嵌入容量較小的塊,因此本研究提出了一種新的算法,既兼顧了文獻[27]的算法中提出的頻率選擇策略,又能充分發(fā)揮文獻[24]算法的高嵌入容量的優(yōu)勢,在保證更大嵌入容量的同時能減小文件增加量,同時在較大嵌入荷載條件下保證良好的視覺質量。
JPEG編碼器主要包括3部分:DCT、量化器和熵編碼器。通過將二維DCT應用于每個不重疊的8×8塊,原始圖像數(shù)據(jù)從空間域轉換到頻域。 然后用量化表來量化獲得的DCT系數(shù)。量化的DCT系數(shù)以之字形掃描順序排列,并使用對DC系數(shù)的差分脈沖編碼調制和對AC系數(shù)的行程編碼進行預壓縮。 最后,對符號字符串進行霍夫曼編碼,以獲得最終的壓縮比特流,最后獲取JPEG圖像。 JPEG壓縮的主要步驟如圖1所示。
圖1 JPEG圖像壓縮過程[21]Fig.1 Compression process of JPEG images[21]
8×8的正向DCT變換如下:
(1)
8×8的反向DCT變換如下:
(2)
其中:
(3)
式中,F(xiàn)(u,v)表示原始系數(shù)值,f(u,v)表示DCT變換后的系數(shù)值,c(u)、c(v)為補償系數(shù)。
使用具有8×8的量化表來量化DCT系數(shù),量化系數(shù)通過將每個DCT塊內的系數(shù)值除以對應的量化步長取整來獲得:
(4)
式中:F(u,v)表示原始系數(shù)值,其頻率為{u,v};q(u,v)表示量化表對應的量化步長;d(u,v)表示量化后的系數(shù)值。后續(xù)的嵌入秘密信息以及移位工作都是在量化后的系數(shù)值上進行的。
文獻[21]提出了一種基于DCT系數(shù)修改的JPEG圖像可逆信息隱藏技術,通過直方圖移位的嵌入方式將秘密信息嵌入到DCT塊內。對于量化后的若干個DCT塊,選取塊內值為±1的AC系數(shù)值嵌入秘密信息s,并依據(jù)秘密信息s的取值來決定移位方式。
嵌入過程中,由于修改值為0的AC系數(shù)會對圖像造成巨大的視覺失真,因此對其不做任何修改,且對于不為0的非嵌入位,則需要向外擴展一位,其目的是能夠完整地提取出秘密信息且恢復原始圖像。令C={c1,c2,…,cN},表示JPEG圖像量化后的DCT塊內非零AC系數(shù),其中N表示非零AC系數(shù)的個數(shù),c=1或者-1作為嵌入位置,在嵌入秘密信息s時需要按照秘密信息s的值來決定是否移位。當s=0時嵌入位置保持不變,當s=1時則向絕對值大的位置移動一位,而絕對值大于1的非嵌入位置則需要向外再移動一位。如圖2所示。
圖中曲線1表示當AC系數(shù)位是±1,嵌入秘密信息0時AC系數(shù)維持不變,曲線2表示當AC系數(shù)位是±1且嵌入秘密信息1時AC系數(shù)向外移動一位,曲線3表示當AC系數(shù)位絕對值大于1時向外移動一位。
秘密信息的嵌入過程可以用下式來表示:
圖2 文獻[21]算法嵌入過程Fig.2 Embedding process of literatrue[21]
(5)
其中
sign(ci)={1,ci>0
0,ci=0
-1,ci<0
(6)
而提取秘密信息的過程同樣也可以用下式來表示:
(7)
(8)
為了擴大嵌入容量,文獻[24]提出將秘密信息的嵌入位置從±1的AC系數(shù)擴展為值為±1和±2的AC系數(shù)。但是直接進行數(shù)據(jù)嵌入無法滿足可逆性,因此需要在嵌入之前對所有的DCT塊進行一次分類。
首先將原始圖像量化成若干個8×8的DCT塊,再根據(jù)DCT塊內是否含有值為±3或者±4的AC系數(shù)分成兩類:“移位塊”和“非移位塊”。
“移位塊”是指DCT塊內含有值為±3或者±4的AC系數(shù),此時按照文獻[21]的算法進行嵌入。具體情況參照第1.2節(jié)。
“非移位塊”是指DCT塊內不含有值為±3或者±4的AC系數(shù),此時按文獻[24]的算法以值為±1和±2的AC系數(shù)作為嵌入位置。由于DCT塊內不含±3和±4值的AC系數(shù),當選擇的嵌入位置絕對值為1時,在嵌入的秘密信息s為0時保持其位置不變,當s=1時將其向絕對值大的方向移一位;而當選擇的嵌入位置絕對值為2時,將其先向絕對值大的方向移一位,然后根據(jù)嵌入的秘密信息決定是否繼續(xù)移位,當s=0時保持不變,當s=1時繼續(xù)向絕對值大的方向再移一位。如圖3所示。
圖3 “非移位塊”嵌入過程[24]Fig.3 Embedding process of “non-shifted block”[24]
圖中,曲線1表示當AC系數(shù)位是±1,嵌入秘密信息0時AC系數(shù)維持不變,曲線2表示當AC系數(shù)位是±2,嵌入的秘密信息為0時AC系數(shù)向外移動一位,曲線3表示當AC系數(shù)位是±1,嵌入秘密信息1時向外移動一位,曲線4表示當AC系數(shù)位是±2,嵌入秘密信息1時向外移動兩位。
秘密信息的嵌入過程用下式來表示:
(9)
其秘密信息的提取過程用公式表示為:
(10)
秘密信息可按下式進行提取:
(11)
為進一步優(yōu)化嵌入能力,文獻[27]提出了一種綜合考慮了視覺質量和文件增加量的負影響模型,該模型通過設置參數(shù)α來調節(jié)優(yōu)先傾向于優(yōu)化視覺質量還是文件增加量。另外文獻[27]還提出了一種頻率選擇策略,利用塊內不同位置的嵌入失真來確定嵌入順序。頻率選擇策略的具體操作為:對于原始圖像量化后生成的若干個DCT塊,選擇塊內不同的頻率作為嵌入位置會得到不同的嵌入失真,因此若能夠對塊內頻率根據(jù)其嵌入失真進行升序排序,并按排序順序優(yōu)先選擇把嵌入失真較小的頻率作為嵌入位置,則能夠得到更好的嵌入效果。
通過對峰值信噪比(PSNR)值和均方誤差(MSE)的計算公式進行詳細的研究,文獻[27]中提出了一種頻率選擇公式。
(12)
同一圖像在不同嵌入荷載的情況下,其應該選用的頻率位數(shù)是不同的,為減少計算量應該設置一個閾值作為在某一嵌入荷載情況下需選用的頻率位數(shù)。將嵌入位置擴展成±1和±2值的AC系數(shù)之后,由圖3所示的嵌入規(guī)則可知,當選擇±1值的AC系數(shù)作為嵌入位置時,其移位為0或者1,而當嵌入位置選擇為±2的AC系數(shù)時,其移位為1或者2,因此在嵌入時應該優(yōu)先選擇±1值的AC系數(shù)。假設M(j)表示在排序中序號j對應的頻率上所有DCT系數(shù)塊內的AC系數(shù)為±1值的個數(shù),而S(j)表示前j個頻率的M(j)之和,需要比較S(j)與指定嵌入荷載P的大小,具體計算公式如下所示:
T={j,S(j)≥P且j=1
j,S(j)≥P且
S(j-1)
1
64, 其他
(13)
在確定完閾值T之后,在嵌入階段會根據(jù)排序后的DCT塊挨個嵌入,而在每個DCT塊內根據(jù)頻率選擇策略按照排序后的頻率挨個嵌入,當頻率所在序號值大于閾值T時則放棄嵌入,并轉到下一個DCT塊,直到嵌入秘密信息數(shù)量達到指定荷載值。
本研究綜合考慮了圖像的嵌入容量和嵌入失真,在保持高嵌入效率的同時獲取更大的嵌入容量。對原始圖像量化后的若干個DCT塊使用文獻[24]算法中的對于塊分類的思想,將可嵌入位置擴大獲取更大的嵌入容量,并對所有嵌入位置使用文獻[27]提出的頻率選擇策略,按嵌入失真選擇合適的頻率作為嵌入位置,增大了嵌入效率。
秘密信息嵌入和提取的流程如圖4所示。
圖4 嵌入與提取過程的流程圖Fig.4 Flow chart of the embedding and extraction process
(1)將原始JPEG圖像進行量化得到若干個DCT塊,根據(jù)塊內所含0AC系數(shù)的個數(shù)進行降序排序,生成位置圖M1,并根據(jù)其內部是否含有±3或者±4的AC系數(shù)值分為“移位塊”和“非移位塊”,在位置圖中做上標記(如“移位塊”標記0,“非移位塊”標記1);
(2)解碼完畢后獲取原始圖像的尺寸和量化表項,并根據(jù)圖像尺寸和量化表項計算DCT塊內每個頻率的嵌入失真值,按升序排列,生成位置圖M2;
(3)結合給定荷載值,按照式(13)計算閾值T;
(4)在嵌入階段,對于“移位塊”,按照文獻[21]的算法進行嵌入,嵌入時在不大于閾值T的情況下按照步驟(2)生成的頻率位置圖M2的頻率位排序順序進行嵌入,當某一DCT塊內頻率已達到閾值且秘密信息未嵌入完畢時,根據(jù)位置圖M1選擇下一個DCT塊進行嵌入,直到達到最大嵌入容量或嵌入完畢;
(5)在嵌入階段,對于“非移位塊”,按照文獻[24]的算法進行嵌入,嵌入時在不大于閾值T的情況下按照步驟(2)生成的頻率位置圖M2的頻率位排序順序進行嵌入,當某一DCT塊內頻率已達到閾值且秘密信息未嵌入完畢時,根據(jù)位置圖M1選擇下一個DCT塊進行嵌入,直到達到最大嵌入容量或嵌入完畢;
(6)嵌入完畢后,將輔助信息(位置圖M1、秘密信息長度、閾值T等)壓縮完后嵌入到載密DCT系數(shù)的表層中;
(7)對嵌入完畢的DCT塊進行熵編碼,并生成嵌入秘密信息的JPEG圖像。
提取秘密信息和恢復原始圖像過程是嵌入秘密信息過程的逆操作,其主要步驟如下所示:
2.完善目標機制,實現(xiàn)基層黨建工作目標與中心工作目標有機統(tǒng)一。建立基層黨支部目標考核、工作管理、黨員責任區(qū)等制度,注重發(fā)揮基層黨組織的政治優(yōu)勢,組織發(fā)動黨員群眾為完成原油產量而奮斗。對黨支部的工作制度、工作目標以及黨員責任區(qū)劃分情況,制作成展板上墻,進行公示,提高黨員的責任意識,憂患意識,加大對黨員的監(jiān)督管理力度。
(1)將載密JPEG圖像進行量化得到若干個DCT塊;
(2)從DCT塊表層中獲取嵌入過程得到的輔助信息(DCT塊排序的位置圖M1、秘密信息長度、閾值T等),并用嵌入步驟相同的算法計算得到塊內頻率排序的位置圖M2;
(3)按照M1中的順序依次選擇DCT塊進行嵌入,且依據(jù)M1上的標記判斷該DCT系數(shù)塊是“移位塊”還是“非移位塊”;
(4)若該DCT塊是“移位塊”,則按照文獻[21]的算法提取秘密信息。提取時在不大于閾值T的情況下按照位置圖M2將頻率作為提取位置,當某一DCT塊內頻率已經達到閾值且秘密信息還未提取完畢時,根據(jù)位置圖M1選擇下一個DCT塊進行提取,直到提取完所有秘密信息;
(5)若該DCT塊是“非移位塊”,則按照文獻[24]的算法提取秘密信息。提取時在不大于閾值T的情況下按照位置圖M2將頻率作為提取位置,當某一DCT塊內頻率已經達到閾值且秘密信息還未提取完畢時,根據(jù)位置圖M1選擇下一個DCT塊進行提取,直到提取完所有秘密信息;
(6)提取完所有的秘密信息后,對量化的DCT系數(shù)進行熵編碼以生成恢復JPEG圖像。
為評估本研究提出算法的嵌入效率和嵌入容量,選用的測試圖像是從USC-SIPI圖像數(shù)據(jù)庫中選取的4張常見的512×512灰度圖像(Baboon、Lena、Peppers、Couple,見圖5),設置了4個不同的質量因子(QF),在相同嵌入荷載情況下進行測試。
(a)Baboon
(b)Lena
(c)Peppers
(d)Couple圖5 常用的4張灰度圖像Fig.5 Four commonly used grayscale images
對比實驗選擇上文中提到的文獻[21]、[24]、[27]的算法。文獻[21]的算法是最經典的,也是初次提出基于DCT系數(shù)修改的算法;文獻[27]提出了綜合考慮視覺質量和文件增加量的負影響模型,并提出了頻率選擇策略,極大地改善了圖像嵌入效果;文獻[24]的算法提出了將嵌入位置從±1擴展為±1和±2,極大地提高了嵌入容量。
表1-表3示出了本研究的算法與對比的算法在不同質量因子下的最大嵌入容量以及在最大嵌入荷載下的PSNR和文件增加量??梢钥闯?,由于本研究提出的算法和文獻[24]的算法擴展了嵌入位置,獲得了更大的嵌入容量,但是由于嵌入了更多的秘密信息,因此其PSNR相較于嵌入荷載較小的文獻[21]算法和文獻[27]算法更低,且文件增加量較大。由于達到最大嵌入荷載,文獻[27]算法中提出的負影響模型和頻率選擇策略發(fā)揮作用也很小,因此文獻[21]算法和文獻[27]算法的評價指標是極其相似的。
由表1可以看出,除Baboon圖像外擴展嵌入位置的算法能夠比未擴展的算法多嵌入的秘密信息在1 000個以上,即使對于Baboon圖像多嵌入的秘密信息也在600個以上。對于像Baboon和Couple這類復雜紋理圖像,可增多的嵌入位會隨著QF值的增多而減少,這是因為復雜紋理圖像中頻率系數(shù)更復雜,非移位更多。對于像Lena和Peppers這類簡單紋理圖像,可增多的嵌入位會隨著QF值的增多而增多,例如Lena圖像在QF值為50時可多嵌入的秘密信息在1 200個以上,但是在QF值為80時可多嵌入的秘密信息在1 600個以上。
表1 不同QF值下的最大嵌入容量Table 1 Maximum embedding capacity under different QF values
表2 最大嵌入容量下的PSNRTable 2 PSNR under maximum embedding capacity
表3 最大嵌入容量下的文件增加量Table 3 Increased file size under maximum embedding capacity
在指定荷載且QF值分別為50、60、70情況下,其PSNR折線圖如圖6-圖8所示。
PSNR的具體計算方式在第2.4節(jié)中已經給出,表示載密圖像與原始圖像之間的視覺質量差別,PSNR越大表示載密圖像與原始圖像之間的差別越小。圖6-圖8分別示出了Lena、Couple、Peppers圖像在QF值為50、60、70下的嵌入荷載與PSNR的折線圖。將本研究提出的算法與文獻[24]和文獻[21]的算法對比可以發(fā)現(xiàn),QF為50和60情況下本研究提出的算法是明顯優(yōu)于文獻[24]和文獻[21]算法的;當QF取到70時,在Lena圖像和Peppers圖像上,本研究提出的算法在嵌入荷載為8 000 b時僅高于文獻[24]的算法,但是隨著嵌入荷載的增大,本研究提出的算法將會優(yōu)于所有對比算法。這是因為當嵌入荷載較大時,頻率選擇策略排序的優(yōu)勢會更大程度地體現(xiàn)出來。
(a)QF為50
(b)QF為60
(c)QF為70圖6 Lena圖像在不同嵌入荷載下的PSNRFig.6 PSNR of Lena image under different embedding payload
(a)QF為50
(b)QF為60
(c)QF為70圖7 Couple圖像在不同嵌入荷載下的PSNRFig.7 PSNR of Couple image under different embedding payload
(a)QF為50
(b)QF為60
(c)QF為70圖8 Peppers 圖像在不同嵌入荷載下的PSNRFig.8 PSNR of Peppers image under different embedding payload
由于文獻[27]的算法用的負影響模型需要用到參數(shù)來調節(jié)更傾向優(yōu)化PSNR或者文件增加量,其中參數(shù)設置為0.0時優(yōu)化文件增加量,設置為1.0時優(yōu)化視覺質量,且當參數(shù)為0.0或者0.5時其視覺質量過差,因此這里將參數(shù)設置為1.0。在折線圖中,在嵌入荷載較小且紋理復雜度低時,文獻[27]的算法可以取得最優(yōu)值,但在嵌入荷載較大時本研究提出的算法仍可以超過文獻[27]的算法。例如Peppers圖像在QF值為70情況下,當嵌入荷載值為8 000 b時,本研究提出的算法的PSNR是4種算法中比較低的,僅強于文獻[24]的算法。當嵌入荷載增大到10 000 b時,本研究提出的算法已經超過了文獻[21]的算法、略低于文獻[27]的算法,此時通過頻率選擇策略選擇優(yōu)先嵌入塊內嵌入失真更小的頻率位對于視覺質量的優(yōu)化效果超過了將嵌入位置擴展造成的視覺質量失真,而文獻[27]的算法所采用的負影響模型,可以充分發(fā)揮其長處并取得最佳的視覺質量。當嵌入荷載進一步增大到12 000 b 時,本研究提出的算法會超過文獻[27]的算法成為PSNR最優(yōu)的算法,此時的嵌入荷載較大但尚未達到最大嵌入容量,圖像內多數(shù)DCT塊成為了可嵌入位置,而頻率選擇策略作用于這些塊并選擇塊內視覺失真最小的系數(shù)位作為嵌入位置,此時可以獲取更佳的視覺質量。綜合以上實驗折線圖可以得出結論:當QF較小且嵌入荷載較低時,本研究提出的算法與文獻[21]的算法和文獻[24]的算法的PSNR接近且低于文獻[27]的算法,但會隨著嵌入荷載的不斷增大而超過文獻[21]的算法和文獻[24]的算法并趨向于文獻[27]的算法,并在達到某一較大荷載情況下超過文獻[27]的算法;當QF較大且嵌入荷載較低時,本研究提出的算法僅高于文獻[21]的算法,但會隨著嵌入荷載值的不斷增加而逐漸接近并超過文獻[24]的算法,并在達到某一較大嵌入荷載時超過文獻[27]的算法。
在指定荷載情況下其文件增加量折線圖如圖9-圖11所示。
(a)QF為50
(b)QF為60
(c)QF為70圖9 Lena圖像在不同嵌入荷載下的文件增加量Fig.9 Increased file sizes of Lena image under different embedding payload
(a)QF為50
(b)QF為60
(c)QF為70圖10 Couple圖像在不同嵌入荷載下的文件增加量Fig.10 Increased file sizes of Couple image under different embedding payload
(a)QF為50
(b)QF為60
(c)QF為70圖11 Peppers圖像在不同嵌入荷載下的文件增加量Fig.11 Increased file sizes of Peppers image under different embedding payload
文件增加量表示原始圖像在嵌入秘密信息之后所帶來的編碼長度的增長,而編碼長度的增加會造成JPEG圖像的文件大小增大。在日常生活當中,文件的大小增加會造成使用的不方便,因此對于算法設計而言,需要盡可能縮小文件增加量。
與PSNR對比折線圖類似,仍選用Lena、Couple、Peppers圖像作為實驗圖像,并設置QF值為50、60、70分別測試在不同給定荷載值下的文件增加量分布情況。由折線圖可以很明顯地觀察到,無論QF取何值,在任意的嵌入荷載情況下,空心圓形實線均處于折線圖的最下方,這表明本研究所提出的算法可以取得最低的文件增加量,圖像中的折線在大多數(shù)情況4條折線所代表的算法按文件增加量從低往高可排序為:本研究提出的算法、文獻[27]的算法、文獻[21]的算法、文獻[24]的算法。這與這4種算法所使用的預處理和嵌入規(guī)則也是吻合的,文獻[24]的算法由于擴展了嵌入位置,會造成一定的文件擴展,因此其文件增加量在多數(shù)情況下會高于文獻[21]的算法;文獻[27]的算法使用了負影響模型,但筆者這里選擇將該模型傾向于優(yōu)化PSNR,會造成一定的文件膨脹,但文獻[27]的算法同樣使用了頻率選擇策略進行預處理,通過調節(jié)DCT塊內AC系數(shù)位的嵌入順序提高了嵌入效率,因此文獻[27]算法的文件增加量在大多數(shù)情況會低于文獻[21]的算法和文獻[24]的算法。本研究提出的算法選擇直接將頻率選擇策略作用于嵌入位置擴展算法,在文獻[27]的負影響模型選擇優(yōu)化PSNR時本研究提出的算法的文件增加量低于文獻[27]的算法,這表明本研究提出的算法可以保證在秘密信息的嵌入過程中編碼長度的修改量較少。折線圖的斜率會隨著嵌入荷載的增大而增大,這是因為當嵌入更多的秘密信息時,載密圖像的文件大小勢必會進一步增大,因此會造成更大的文件膨脹。這也解釋了折線圖中文件增加量會隨著指定荷載的增大而不斷增大的原因。
圖12為Lena圖像在QF值為60時單位嵌入荷載情況下的文件增加量折線圖。
圖12 Lena圖像單位嵌入荷載下的文件增加量Fig.12 Increased file sizes of Lena image under unit embedding payload
圖12中橫軸表示給定荷載值的大小,豎軸表示單位荷載條件下的文件增加量。可以看出,無論處于何種情況下,空心圓形實線均處于最下方。這表示本研究提出的算法的單位嵌入荷載情況下的文件增加量是最小的,折線圖上單位嵌入荷載下的文件增加量會隨著嵌入荷載的增大而增大,這與圖9-圖11中所展示的結果是吻合的。因為隨著嵌入荷載的增大,嵌入圖像中的秘密信息數(shù)量也在增加,勢必會導致文件大小的擴展,圖像的文件增加量會因此而增大。同時在單位嵌入荷載下的文件增加量折線圖更能清晰地反映出隨著嵌入荷載增大文件增加量增大的程度,即圖12的斜率。
經過上述折線圖的分析可以得出結論:無論QF取何值,本研究提出的算法均可以最大程度地減小圖像在嵌入秘密信息過程中引起的文件膨脹。
為測試本研究提出的算法的適用性,選擇ucid.v2圖像數(shù)據(jù)庫中的全部1 338張圖片并設置QF值為50、60、70、80、90進行實驗,其測試結果見表4-表6。
由這些表格可以看出,在最大嵌入容量時,本研究提出的算法與文獻[24]的算法由于將嵌入位置從±1擴展為了±1和±2,因此能獲得比文獻[21]、文獻[27]的算法更高的嵌入容量。而在達到最大嵌入容量時,由于嵌入了更多的荷載,因此PSNR相較于文獻[21]、文獻[27]的算法會更低,文件增加量相較于文獻[21]、文獻[27]的算法會更大。在最大嵌入容量情況下,嵌入秘密信息時無論是DCT塊間排序還是優(yōu)先嵌入哪個頻率都失去了意義,因此文獻[21]和文獻[27]的算法的評價指標是幾乎一樣的。同理,本研究提出的算法和文獻[24]的算法在最大嵌入容量情況下的評價指標也幾乎相同。
表4 ucid.v2數(shù)據(jù)庫最大嵌入容量對比Table 4 Comparison of maximum embedding capacity in ucid.v2 database
表5 ucid.v2數(shù)據(jù)庫最大容量下PSNR對比Table 5 Comparison of PSNR under maximum embedding capacity in ucid.v2 database
表6 ucid.v2數(shù)據(jù)庫最大容量下文件增加量值對比Table 6 Comparison of increased file size under maximum embedding capacity in ucid.v2 database
計算復雜度可以體現(xiàn)算法運行所耗費的時間大小,一個優(yōu)異的算法若計算復雜度過大依然不能做到完美。從BossBase- 1.01數(shù)據(jù)集中隨機選取1 000張圖片作為實驗所用的數(shù)據(jù)集,依次計算本研究提出的算法以及對比的3種算法在相同的QF值下的平均運行時間(ART),該實驗在Matlab2018b上運行,環(huán)境為i7- 9700 CPU,計算結果見表7。
表7 BossBase- 1.01數(shù)據(jù)庫中算法的平均運行時間對比Table 7 Comparison of average running time of several algorithms on BossBase- 1.01 database
文獻[21]的算法在嵌入時只選擇±1的AC系數(shù)位作為其嵌入位置,因此其所花費的時間最短。文獻[24]的算法需要在塊排序時依據(jù)塊內是否含有±3和±4的AC系數(shù)塊對塊進行分類,且在嵌入階段按照兩種不同的嵌入規(guī)則進行嵌入,因此其所花費的時間相比于文獻[21]的算法較多。本研究提出的算法在文獻[24]的算法所用的分塊嵌入基礎上增加了一種頻率選擇策略,在嵌入階段前需要先計算不同頻率內含有可嵌入位置的數(shù)目,并按照頻率排序順序挨個嵌入,其計算所耗費時間比文獻[24]的算法多一些。文獻[27]的算法所使用的負影響模型需要根據(jù)參數(shù)p的大小從計算得到的若干個實驗結果中選取更佳的一個并作為最終結果,因此其計算所花費時間遠多于對比的其他算法。
綜合對比以上算法的PSNR、文件增加量、嵌入容量以及計算復雜度,在不考慮計算復雜度且在相同嵌入荷載的情況下,本研究提出的算法可以有效降低文件增加量,PSNR低于文獻[27]的算法;但本研究提出的算法相比于文獻[27]的算法可以擴大嵌入容量,且計算復雜度遠低于文獻[27]的算法,在需要高嵌入容量且注重低計算量的實驗條件下,本研究提出的算法會成為第一選擇。
信息隱藏最根本的目的是需要保證在傳遞信息過程中秘密信息的安全性,且需要做到接收方在接收到載密圖像后可以根據(jù)秘鑰完整提取出秘密信息并恢復原始圖像。本研究提出的算法在將秘密信息嵌入到載體圖像之后通過與原始圖像對比計算所得到的PSNR遠大于人眼可識別的PSNR界限,因此具有不可感知性;接收方需要根據(jù)秘鑰才能完整提取秘密信息,若被第三方接收到該載密圖像,在沒有正確秘鑰的條件下無法提取秘密信息,因此具有抗提取性。在同時具有較好的不可感知性和抗提取性的條件下,該可逆信息隱藏算法的安全性是可以得到保障的。
本研究考慮了在將嵌入位置從AC系數(shù)值為±1擴展成±1和±2時其文件增加量較大的問題,并將頻率選擇策略應用在該嵌入算法中。其創(chuàng)新點為:在擴展嵌入位置的情況下使用了頻率選擇策略,增大嵌入容量的同時有效降低了文件增加量。當嵌入荷載較大時視覺質量穩(wěn)定,當嵌入荷載較小時視覺質量會有輕微的損失,但仍在人眼不可察覺的范圍內。
本研究提出了一種改進的JPEG圖像可逆信息隱藏方案,在擴展嵌入位置的基礎上,使用頻率選擇策略。實驗結果顯示,該算法有效減小了文件增加量,且當嵌入荷載較大時,其PSNR能夠取得比對比算法更好的效果。不足之處在于當紋理圖像復雜且嵌入荷載較低時,該算法的視覺質量較低且文件增加量優(yōu)化不明顯,其原因是復雜紋理圖像中的頻率系數(shù)更復雜、非移位塊更少。下一步工作將從圖像頻率系數(shù)著手,解決復雜紋理圖像表現(xiàn)不佳的問題。