国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

降低文件增長和失真的零系數(shù)JPEG圖像可逆信息隱藏

2023-02-13 03:48和紅杰原長琦
鐵道學(xué)報(bào) 2023年1期
關(guān)鍵詞:增量秘密編碼

蘇 童,和紅杰,原長琦,陳 帆

(1.西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 611756;2.北京電子技術(shù)應(yīng)用研究所, 北京 100091;3.西南交通大學(xué) 計(jì)算機(jī)與人工智能學(xué)院,四川 成都 611756)

數(shù)字圖像常受到攻擊、惡意篡改等威脅,可能會(huì)對(duì)個(gè)人甚至社會(huì)造成嚴(yán)重影響,因此確保圖像的真實(shí)性和完整性非常有必要[1]??赡嫘畔㈦[藏(Reversible Data Hiding,RDH)是信息隱藏[2]的重要分支,它將秘密信息嵌入載體圖像產(chǎn)生含密圖像(本文中提及的“信息嵌入”均指“秘密信息嵌入”),用戶能從含密圖像中準(zhǔn)確提取嵌入的信息,并能無損地恢復(fù)原始圖像[3]。RDH主要用作對(duì)圖像進(jìn)行完整性保護(hù),可用于醫(yī)學(xué)圖像、軍事圖像、法律取證等對(duì)載體圖像的數(shù)據(jù)完整性要求較高的領(lǐng)域[4-6]。

JPEG[7]是目前最常用的圖像格式之一,具有文件小、利于網(wǎng)絡(luò)傳輸?shù)葍?yōu)點(diǎn)[8],且JPEG圖像包含較少的冗余信息,基于JPEG圖像的RDH受到廣泛關(guān)注。嵌入容量、視覺失真、文件增長是衡量JPEG圖像RDH算法性能的3個(gè)主要指標(biāo),嵌入容量越大、視覺失真和文件增長越小,算法性能越好。現(xiàn)有JPEG圖像RDH主要分為3種方法:基于量化表修改的RDH[9-10]、基于霍夫曼表修改的RDH[11-13]和基于量化離散余弦變換(Discrete Cosine Transform,DCT)系數(shù)修改的RDH[14-25]。其中,前兩種方法對(duì)視覺失真、文件增長兼顧的較好,不過嵌入容量較??;第3種方法選擇特定的DCT系數(shù)嵌入秘密信息,具有較高的嵌入容量,而且類拉普拉斯分布的量化DCT系數(shù)直方圖[26]是RDH的理想載體,利用直方圖平移(Histogram Shifting,HS)在值為±1的交流(Alternating Current,AC)系數(shù)中嵌入秘密信息,可有效提高嵌入容量,同時(shí)通過塊、頻率選擇策略可平衡視覺失真和文件增長。下面概述現(xiàn)有的基于HS在AC系數(shù)中嵌入信息的塊選擇策略和頻率選擇策略[16-25]。

塊選擇的主要目的是優(yōu)先選擇HS導(dǎo)致視覺失真較小的圖像塊嵌入信息,以保證圖像的視覺質(zhì)量?,F(xiàn)有塊選擇策略研究可分為基于平滑度和基于模擬失真兩類:①對(duì)于基于平滑度的塊選擇策略,Huang等[16]提出利用塊內(nèi)零系數(shù)個(gè)數(shù)來評(píng)價(jià)圖像塊平滑度,零系數(shù)個(gè)數(shù)越多代表圖像塊越平滑,優(yōu)先選擇平滑塊嵌入信息,文獻(xiàn)[20-22]即采用此類塊選擇策略。此外,王洋洋等[17]提出了基于直流(Direct Current,DC)系數(shù)波動(dòng)的平滑度判定準(zhǔn)則。②對(duì)于基于模擬失真的塊選擇策略,Hou等[18]提出平滑度以定性的角度分析視覺失真,但為進(jìn)一步提高含密圖像的視覺質(zhì)量,還需計(jì)算在每個(gè)塊中模擬嵌入“1”所導(dǎo)致的失真,優(yōu)先在失真小的圖像塊中嵌入信息。由于實(shí)際的秘密信息服從{0,1}上的均勻分布,因此Hou等計(jì)算的模擬失真不一定準(zhǔn)確。He等[19]發(fā)現(xiàn)圖像視覺失真與DCT系數(shù)的分布有關(guān),將分布函數(shù)代入失真函數(shù)中能更準(zhǔn)確地估計(jì)圖像塊失真。不過,基于模擬失真的塊選擇僅適用于在非零系數(shù)中嵌入秘密信息,而在零系數(shù)嵌入方案中不適用。

頻率選擇主要是通過選擇特定的AC系數(shù)嵌入信息,以降低視覺失真和文件增長。Wedaj等[20]提出一種容量/失真的頻率選擇策略,優(yōu)先在容量大、失真小的頻率中嵌入信息,文獻(xiàn)[18-19,25]均制定了基于容量與失真關(guān)系的頻率選擇策略。為綜合考慮圖像的視覺失真和文件增長,He等[21]建立了信息嵌入的負(fù)面影響模型,用戶根據(jù)對(duì)圖像失真和文件大小的需求調(diào)整權(quán)重因子α,在頻率選擇的同時(shí)考慮信息嵌入對(duì)視覺失真和文件增長的影響。不過,現(xiàn)有頻率選擇策略尚未見到零系數(shù)嵌入對(duì)文件增長的研究報(bào)道。許多文獻(xiàn)還通過使用二維直方圖平移[22]、多目標(biāo)優(yōu)化[23]、多直方圖平移[24]等方案,并與頻率選擇、塊選擇策略相結(jié)合,以實(shí)現(xiàn)文件增長與視覺質(zhì)量之間的平衡。

以上研究[16-24]多在非零AC系數(shù)中嵌入秘密信息,信息嵌入后零系數(shù)不發(fā)生改變,能較好地控制文件增長,但也限制了嵌入容量,尤其是質(zhì)量因子較小的JPEG圖像。實(shí)際上,在JPEG圖像中零系數(shù)個(gè)數(shù)遠(yuǎn)多于非零系數(shù),且某些零系數(shù)對(duì)應(yīng)的量化步長更小,修改導(dǎo)致的視覺失真會(huì)更小。Di等[25]提出了基于零系數(shù)的JPEG圖像RDH,通過計(jì)算在每個(gè)頻率位置值為0、1的AC系數(shù)嵌入信息導(dǎo)致的模擬單位失真代價(jià)函數(shù),優(yōu)先選擇失真代價(jià)小的位置嵌入信息。零系數(shù)嵌入有效提高了JPEG圖像的嵌入容量,失真代價(jià)函數(shù)保證了含密JPEG圖像的視覺質(zhì)量[25]。不過,文獻(xiàn)[25]的頻率選擇策略沒有考慮對(duì)文件增長的影響,含密JPEG圖像的文件增長較大,而且對(duì)紋理比較復(fù)雜的圖像,該算法生成的含密圖像的視覺失真較大。

為提高JPEG圖像的嵌入容量,同時(shí)兼顧含密圖像的文件增長和視覺失真,本文提出一種降低文件增長和失真的零系數(shù)JPEG圖像可逆信息隱藏算法。由于現(xiàn)有頻率選擇、塊選擇策略不適用于零系數(shù)嵌入方案,故本文重點(diǎn)研究零系數(shù)嵌入的頻率選擇策略和塊選擇策略,從而降低文件增長和視覺失真。

1 基于頻率和塊選擇的零系數(shù)JPEG圖像RDH

本文采用文獻(xiàn)[25]的方法在AC系數(shù)為0、1處采用HS嵌入秘密信息,重點(diǎn)研究適用于零系數(shù)嵌入的頻率、塊選擇策略。

1.1 零系數(shù)嵌入的頻率選擇策略

Di等[25]在選擇頻率時(shí)僅考慮了視覺失真,沒有考慮零系數(shù)嵌入引起的文件大小變化,導(dǎo)致文件增長較大。為更好控制零系數(shù)嵌入產(chǎn)生的文件增長,本文提出一種零系數(shù)嵌入的頻率選擇策略。首先在熵編碼之前對(duì)圖像塊進(jìn)行Zigzag掃描,將掃描后的DCT系數(shù)序列轉(zhuǎn)換成中間符號(hào)(Intermediate Symbol,IS),然后對(duì)該IS進(jìn)行編碼,得到相應(yīng)的比特流。

在JPEG圖像中共有三類中間符號(hào):

Type1(R/C,V)。(R/C,V)為非零系數(shù)V的中間符號(hào)。其中R(0≤R≤15)為V之前連續(xù)零的個(gè)數(shù)(即零游程長度);C(0≤C≤10)為V的編碼長度,也稱為V的類別。用霍夫曼編碼R/C,用變長整數(shù)編碼V,(R/C,V)的編碼長度為R/C與V的編碼長度之和。

Type2ZRL。在掃描序列中非零系數(shù)前的連續(xù)零系數(shù)個(gè)數(shù)可能超過15,使用符號(hào)(15,0)表示掃描序列中的16個(gè)連續(xù)零系數(shù),記為ZRL。根據(jù)JPEG圖像頭文件中的霍夫曼編碼段可知ZRL編碼長度為11 bit。

Type3EOB。使用符號(hào)(0,0)表示掃描序列尾部所有系數(shù)均為零,記為EOB。根據(jù)JPEG圖像頭文件中的霍夫曼編碼段可知EOB編碼長度為4 bit。

三類中間符號(hào)編碼長度lIS(單位為bit)為

(1)

式中:hclt為交流系數(shù)霍夫曼編碼長度表[22],見圖1;hclt[R,C]為R/C的霍夫曼編碼長度。

圖1 交流系數(shù)霍夫曼編碼長度表

一個(gè)量化DCT塊經(jīng)過Zigzag掃描后的AC系數(shù)及編碼長度見圖2(a);修改其中3個(gè)頻率位置的零系數(shù)為-1后見圖2(b)。其中,第1個(gè)零系數(shù)的修改為將原來的中間符號(hào)(5/2,3)變?yōu)?4/1,-1)和(0/2,3),文件增長-2 bit;第2個(gè)零系數(shù)的修改為將原來的中間符號(hào)ZRL、(1/3,4)變?yōu)?14/1,-1)、(2/3,4),文件增長9 bit;第3個(gè)零系數(shù)的修改為在原始中間符號(hào)的EOB前增加一個(gè)(0/1,-1),文件增長3 bit。顯然修改這3個(gè)頻率位置的零系數(shù)產(chǎn)生的文件增量差別很大,因此使用零系數(shù)嵌入信息,在頻率選擇時(shí)需要考慮零系數(shù)嵌入對(duì)文件增量的影響。文獻(xiàn)[21]定義平均單位文件增量為在該頻率嵌入信息引起的文件增量與該頻率嵌入容量的比值,但其使用值為±1的AC系數(shù)承載秘密信息,文件增量?jī)H由非零系數(shù)平移引起,因此,該平均單位文件增量計(jì)算公式不能用于零系數(shù)嵌入算法。

圖2 修改不同位置的零AC系數(shù)產(chǎn)生文件增長示意

為找到用于零系數(shù)嵌入的頻率位置,本文在平均單位文件增量公式[21]的分子部分增加了零系數(shù)嵌入的文件增量,定義用于零系數(shù)嵌入的模擬文件增量函數(shù)U(u,v)。U(u,v)越小,在該頻率位置嵌入信息可能導(dǎo)致的文件增長越小,優(yōu)先選擇U(u,v)小的頻率位置嵌入信息以降低含密圖像的文件增長。U(u,v)為頻率(u,v)處所有圖像塊非零系數(shù)平移和零系數(shù)嵌入產(chǎn)生的文件增量之和與該頻率嵌入容量的比值,即

(2)

式中:n為圖像塊總數(shù),對(duì)大小為M×N的JPEG圖像,n=M/8×N/8;j為圖像塊編號(hào);(u,v)為交流頻率的位置,(1≤u≤8,1≤v≤8,且u≠1,v≠1)。

Ej(u,v)為第j塊頻率(u,v)處的DCT系數(shù)是否為0或1,即

(3)

Sj(u,v)為第j塊頻率(u,v)處的非零系數(shù)平移產(chǎn)生的文件增量,若第j塊頻率(u,v)處值為VS的非零系數(shù)對(duì)應(yīng)的中間符號(hào)為(RS/CS,VS),則使用He等[21]提出的非零系數(shù)平移產(chǎn)生的文件增量Sj(u,v),否則為0,即

(4)

Tj(u,v)為在第j塊頻率(u,v)處零系數(shù)嵌入產(chǎn)生的文件增量,這是本文計(jì)算零系數(shù)嵌入的頻率選擇策略的關(guān)鍵步驟。為方便討論,設(shè)一個(gè)頻率位置上所有零系數(shù)均修改為-1,其余頻率位置的DCT系數(shù)保持不變。

圖像塊中最后一個(gè)非零系數(shù)前的所有零系數(shù)(圖2(a)中藍(lán)色標(biāo)記的零系數(shù))稱為EOB前零系數(shù),最后一個(gè)非零系數(shù)后的所有零系數(shù)(圖2(a)中綠色標(biāo)記的零系數(shù))稱為屬于EOB的零系數(shù)。修改EOB前零系數(shù)會(huì)改變?cè)紙D像塊中間符號(hào)的零游程長度,圖2(b)中AC系數(shù)為3的原始中間符號(hào)的零游程長度由5變?yōu)榱?,AC系數(shù)為4的零游程長度由1變?yōu)榱?。修改屬于EOB的零系數(shù)不會(huì)改變?cè)紙D像塊非零系數(shù)的零游程長度,僅增加新的中間符號(hào),圖2(b)中的(0/1,-1)。因此,下面分別討論零系數(shù)為EOB前和屬于EOB的模擬文件增量。

(1)EOB前的模擬文件增量

若第j塊頻率(u,v)處的零系數(shù)在EOB之前,則它后面一定存在著一個(gè)值為VT的非零系數(shù),在該零系數(shù)中嵌入信息會(huì)改變VT對(duì)應(yīng)的中間符號(hào)中的零游程長度。

(5)

在嵌入信息后,第j塊頻率(u,v)處的零系數(shù)修改為-1,將原始連續(xù)N0個(gè)零系數(shù)拆分成了兩部分: (u,v)前N1個(gè)連續(xù)零系數(shù)和(u,v)后N2個(gè)連續(xù)零系數(shù),易知N0、N1、N2關(guān)系為

N1+N2+1=N0

(6)

hclt(R1,1)+1+hclt(R2,CT)+CT

(7)

在第j塊頻率(u,v)處嵌入信息的文件大小變化Tj(u,v)為fe與fo的差值,即

(8)

式中:Ri=Nimod 16 ,i=0,1,2。

(2)屬于EOB的模擬文件增量

若零系數(shù)屬于EOB,則該零系數(shù)后面不存在非零系數(shù),在該類零系數(shù)中嵌入信息不會(huì)改變?cè)贾虚g符號(hào)的零游程長度,只會(huì)增加新的中間符號(hào),即文件增量?jī)H由S1導(dǎo)致。因此屬于EOB的零系數(shù)嵌入產(chǎn)生的文件增量Tj(u,v)為

(9)

下面以圖2為例,通過計(jì)算在不同頻率位置產(chǎn)生的模擬單位文件增量,驗(yàn)證式(8)、式(9)的正確性。

圖2(b)中第1個(gè)灰色頻率位置處嵌入產(chǎn)生的文件增量:由于該位置后存在值為3的非零系數(shù),容易得到N1=4,N2=0,N0=5;R1=4,R2=0,R0=5;CT=2;結(jié)合圖1的交流系數(shù)霍夫曼編碼長度表,并將它們代入式(8),得到文件增量為-2 bit。第2個(gè)灰色頻率位置處嵌入產(chǎn)生的文件增量:由于該位置后面存在值為4的非零系數(shù),容易得到N1=14,N2=2,N0=17;R1=14,R2=2,R0=1;CT=3;代入式(8)得到文件增長為9 bit。第3個(gè)灰色頻率位置處嵌入產(chǎn)生的文件增量:由于該位置后不存在非零系數(shù),將N1=0,R1=0代入式(9)得到文件增長為3 bit。將式(8)、式(9)整合,得到在第j塊頻率(u,v)處零系數(shù)嵌入信息產(chǎn)生的文件增量Tj(u,v)為

(10)

1.2 零系數(shù)嵌入的塊選擇策略

為降低含密圖像的視覺失真,借鑒文獻(xiàn)[16-17]的塊選擇方案,定義零系數(shù)嵌入塊選擇的平滑度函數(shù)P(i,j),用于選擇零系數(shù)嵌入的圖像塊順序,優(yōu)先選擇平滑度大的圖像塊隱藏信息。

對(duì)大小為M×N的JPEG圖像,為保證算法的可逆性,本文使用圖像塊剩余頻率(未被選擇的頻率位置)的零系數(shù)個(gè)數(shù)sur1(i,j)和DC系數(shù)波動(dòng)sur2(i,j)作為衡量圖像塊平滑度的2個(gè)恒定特征,同時(shí)為更準(zhǔn)確計(jì)算圖像塊平滑度,將這2個(gè)特征進(jìn)行正歸一化處理得到f1(i,j)、f2(i,j),并分別乘以各自對(duì)應(yīng)的權(quán)重w1、w2再求和,得到圖像塊(i,j)的平滑度P(i,j)為

(11)

式中:(i,j)為圖像塊在圖像中的位置,1≤i≤M/8,1≤j≤N/8。P(i,j)越大,圖像塊越平滑,并優(yōu)先選擇P(i,j)大的圖像塊嵌入信息。

本文僅在選擇的頻率位置嵌入信息,未被選擇的頻率位置的DCT系數(shù)在嵌入前后不會(huì)改變,因此sur1(i,j)在嵌入前后不變;本文使用AC系數(shù)攜帶秘密信息,DC系數(shù)不隨秘密信息的嵌入而改變,即sur2(i,j)在嵌入前后不變;f1(i,j)、f2(i,j)是對(duì)sur1(i,j)、sur2(i,j)正歸一化得到的,因此f1(i,j)、f2(i,j)嵌入前后也不會(huì)改變;權(quán)重w1、w2僅與剩余頻率的個(gè)數(shù)有關(guān),在嵌入前后不會(huì)改變。綜上所述,P(i,j)在嵌入前后不改變,根據(jù)P(i,j)排序的圖像塊順序也不會(huì)改變,因此能夠按照嵌入時(shí)的圖像塊順序提取出秘密信息,保證了算法的可逆性。下文從特征選取及處理、權(quán)重選取兩個(gè)方面對(duì)圖像塊平滑度進(jìn)行闡述。

(1)特征選取及處理

首先對(duì)2個(gè)恒定特征選取及處理進(jìn)行說明,然后進(jìn)一步分析使用剩余頻率的零系數(shù)個(gè)數(shù)和DC系數(shù)波動(dòng)來衡量基于零系數(shù)嵌入的圖像塊平滑度的合理性,以及采用特征處理的原因。

Feature1圖像塊剩余頻率的零系數(shù)個(gè)數(shù)sur1(i,j)。由于僅在選擇的頻率位置處嵌入信息,圖像塊中未選擇的頻率位置的零系數(shù)個(gè)數(shù)在嵌入前后不改變,因此可以保證信息嵌入的可逆性。塊中零系數(shù)個(gè)數(shù)越多,圖像塊越平滑[16],利用圖像塊(i,j)剩余頻率的零系數(shù)個(gè)數(shù)sur1(i,j)來判斷圖像塊的平滑度,sur1(i,j)越大,圖像塊越平滑。

Feature2圖像塊DC系數(shù)波動(dòng)sur2(i,j)。剩余頻率位置越少,sur1(i,j)相同的圖像塊越多,僅使用sur1(i,j)無法區(qū)分這些圖像塊。若63個(gè)頻率位置均用于信息嵌入,則不存在剩余頻率,因此使用sur1(i,j)無法實(shí)現(xiàn)塊排序。為解決無法區(qū)分零系數(shù)個(gè)數(shù)相同的圖像塊和剩余頻率不存在的問題,引入DC系數(shù)波動(dòng)sur2(i,j)。王洋洋等[17]研究發(fā)現(xiàn),經(jīng)DCT變換后,圖像塊大部分能量集中在左上角的DC系數(shù)中,相鄰圖像塊的DC系數(shù)常具有較大相關(guān)性。因此,DC系數(shù)波動(dòng)也反映了圖像塊平滑度,DC系數(shù)波動(dòng)越小,圖像塊越平滑。

為使本文所提出的方案可逆,需將秘密信息長度和選擇的頻率位置作為輔助信息嵌入在DC系數(shù)的最低有效位(Least Significant Bit,LSB)中。由于DC系數(shù)的LSB用于嵌入輔助信息,因此在計(jì)算DC系數(shù)波動(dòng)時(shí),需將DC系數(shù)的LSB置零,以保證sur2(i,j)不隨輔助信息的嵌入而改變。sur2(i,j)的計(jì)算式為

(12)

式中:DC*(i,j)為置零DC系數(shù)LSB后的DC系數(shù)值;A為與位置為(i,j)的圖像塊相鄰的圖像塊個(gè)數(shù),A=2,3,4;A(i,j)為(i-1,j)、(i,j+1)、(i+1,j)、(i,j-1) 4個(gè)DCT塊的位置坐標(biāo)。sur2(i,j)越小,該圖像塊與其相鄰圖像塊越相近,圖像塊越平滑。

從上面的分析可以得出sur1(i,j)越大,sur2(i,j)越小,圖像塊越平滑。因此,sur1(i,j)與P(i,j)正相關(guān),是一個(gè)正指標(biāo);sur2(i,j)與P(i,j)負(fù)相關(guān),是一個(gè)負(fù)指標(biāo)。由于sur1(i,j)、sur2(i,j)的量綱不同,不能將sur1(i,j)與sur2(i,j)直接加權(quán)求和計(jì)算圖像塊平滑度,為更準(zhǔn)確計(jì)算P(i,j),將這兩個(gè)特征處理成歸一的正指標(biāo)f1(i,j)、f2(i,j),即

(13)

經(jīng)過處理后,sur1(i,j)、sur2(i,j)分別轉(zhuǎn)換為f1(i,j)、f2(i,j)(0≤f1(i,j)≤1,0≤f2(i,j)≤1),且f1(i,j)、f2(i,j)越大,圖像塊越平滑。

(2)權(quán)重選取

圖像塊平滑度為剩余頻率的零系數(shù)個(gè)數(shù)與DC系數(shù)波動(dòng)的加權(quán)和。設(shè)w1、w2分別代表f1(i,j)、f2(i,j)的權(quán)重,權(quán)重越大表示其對(duì)應(yīng)特征更能夠代表圖像塊的平滑度。w1、w2的約束條件為

(14)

當(dāng)剩余頻率個(gè)數(shù)為0時(shí),P(i,j)完全由DC系數(shù)波動(dòng)決定,此時(shí)w1= 0,w2= 1;隨著剩余頻率個(gè)數(shù)的增加,圖像塊平滑度由2個(gè)特征共同決定,w1逐漸增大,w2逐漸減小,可得到w1與剩余頻率個(gè)數(shù)呈正相關(guān)關(guān)系??紤]到線性的簡(jiǎn)單性并結(jié)合w1、w2與剩余頻率個(gè)數(shù)的關(guān)系,得到w1、w2的計(jì)算式為

(15)

式中:x為剩余頻率個(gè)數(shù)。

1.3 信息嵌入、信息提取與圖像恢復(fù)過程

信息嵌入時(shí),首先解碼原始JPEG圖像,根據(jù)模擬單位文件增量和圖像塊平滑度分別對(duì)頻率和圖像塊排序,確定嵌入的頻率和圖像塊,然后通過HS在值為0、1的AC系數(shù)中嵌入信息,最后熵編碼得到含密JPEG圖像。信息提取與圖像恢復(fù)時(shí),首先解碼含密JPEG圖像,從含密圖像DC系數(shù)的LSB中提取輔助信息,再利用HS實(shí)現(xiàn)信息提取和原始DCT塊恢復(fù),最后熵編碼得到恢復(fù)的JPEG圖像。下面,詳細(xì)說明這兩個(gè)過程的具體實(shí)現(xiàn)步驟。

(1)信息嵌入過程

Step1原始JPEG圖像解碼。解碼大小為M×N的原始JPEG圖像,得到m×n個(gè)量化DCT塊Do(i,j),其中,i=1,2,…,m;j=1,2,…,n;m=M/8,n=N/8。

Step2頻率排序和塊排序。通過式(2)計(jì)算每個(gè)頻率的模擬單位文件增量U(u,v),按U(u,v)從小到大的順序?qū)?3個(gè)頻率排序,得到頻率序列Fq。通過式(11)計(jì)算所有圖像塊平滑度P(i,j),按P(i,j)從大到小的順序?qū)D像塊排序,得到圖像塊序列Bq。

Step3最優(yōu)頻率選擇和塊選擇。①選擇頻率序列Fq中滿足秘密信息數(shù)量的前k個(gè)頻率,擬在該k個(gè)頻率中嵌入信息;②按照?qǐng)D像塊序列Bq依次選擇圖像塊,直至信息完全嵌入;③令k=k+1,重復(fù)①和②,直到k=63,找到使圖像視覺失真最小的前kopt個(gè)頻率,記為所選取的頻率Fkq。

Step4記錄輔助信息。將秘密信息數(shù)量L和選取的頻率Fkq作為輔助信息,記錄在JPEG圖像DC系數(shù)的LSB中,記錄L所需位數(shù)為log2(M×N),記錄Fkq所需位數(shù)為63位。對(duì)于512×512的圖像,所需的輔助信息總位數(shù)為81位,將它們嵌入在前81個(gè)圖像塊DC系數(shù)的LSB中。為無損恢復(fù)原始DC系數(shù)的LSB,需在嵌入數(shù)據(jù)前將這81個(gè)塊的原始LSB作為秘密信息的一部分,在信息嵌入過程中進(jìn)行嵌入。

Step5信息嵌入。將秘密信息通過式(16)嵌入在選擇的頻率位置Fkq和圖像塊中,得到含密DCT塊Dm(i,j)。

(16)

式中:V(u,v)為頻率位置(u,v)處的原始AC系數(shù);b為需要嵌入的秘密信息,b∈{0,1};V′(u,v)為嵌入信息后(u,v)處的AC系數(shù)。

Step6熵編碼得到含密JPEG圖像。對(duì)所有秘密信息嵌入后的DCT塊Dm(i,j)熵編碼得到含密JPEG圖像。

(2)信息提取與圖像恢復(fù)過程

Step1含密JPEG圖像解碼。解碼大小為M×N的含密JPEG圖像,得到m×n個(gè)量化DCT塊Dm(i,j),其中,i=1,2,…,m;j=1,2,…,n;m=M/8,n=N/8。

Step2提取輔助信息。從含密圖像DC系數(shù)的LSB中提取輔助信息,得到秘密信息數(shù)量L和嵌入的頻率位置Fkq。

Step3圖像塊排序。根據(jù)Dm(i,j)計(jì)算圖像塊平滑度P(i,j),根據(jù)P(i,j)從大到小的順序?qū)D像塊排序得到序列Bq。

Step4提取秘密信息和恢復(fù)原始DCT塊。按照?qǐng)D像塊排列Bq的順序,依次在圖像塊的頻率Fkq處按照式(16)的逆過程提取信息,并恢復(fù)原始DCT系數(shù)Do(i,j)。

Step5熵編碼恢復(fù)原始JPEG圖像。對(duì)Do(i,j)熵編碼得到恢復(fù)的原始JPEG圖像。

2 實(shí)驗(yàn)與結(jié)果

下面通過實(shí)驗(yàn)驗(yàn)證分析本文算法的性能。實(shí)驗(yàn)中秘密信息隨機(jī)生成,測(cè)試圖像為圖像庫[27]中3幅大小為512×512的JPEG灰度圖像,見圖3,以及取自UCID圖像庫[28]的100幅JPEG灰度圖像,統(tǒng)計(jì)測(cè)試結(jié)果為平均值,質(zhì)量因子分別取30、50、70,使用IJG工具箱[29]編解碼JPEG圖像。從嵌入容量、視覺失真、文件增長三個(gè)方面測(cè)試算法性能,選擇He[21]算法(α=0.5)、Li[22]算法 、Yin[23]算法、Xiao[24]算法、Di[25]算法與本文算法Proposed進(jìn)行對(duì)比分析。

圖3 3幅測(cè)試圖像

2.1 嵌入容量

嵌入容量是衡量JPEG圖像RDH的重要指標(biāo)之一,測(cè)試圖像在不同質(zhì)量因子QF下的最大嵌入容量MEC對(duì)比見表1。質(zhì)量因子越大,量化表的量化步長越小,根據(jù)JPEG量化原理可知,量化DCT系數(shù)中的零系數(shù)越少,非零系數(shù)越多。

表1 測(cè)試圖像在不同質(zhì)量因子下的最大嵌入容量對(duì)比 bit

由表1可見,He[21]、Li[22]、Yin[23]、Xiao[24]算法均在非零系數(shù)中利用HS嵌入信息,MEC隨質(zhì)量因子增大而增大;本文采用Di[25]算法在AC系數(shù)為0、1處使用HS嵌入信息,兩者的MEC相等,且隨質(zhì)量因子的增大而減小。本文算法的MEC,在質(zhì)量因子=30時(shí)可達(dá)到非零系數(shù)嵌入算法的13~17倍;在質(zhì)量因子=50時(shí)可達(dá)到非零系數(shù)嵌入算法的10~13倍;在質(zhì)量因子=70時(shí)可達(dá)到非零系數(shù)嵌入算法的8~10倍。因此,零系數(shù)嵌入算法在嵌入容量方面具有顯著優(yōu)勢(shì)。

頻率選擇策略和塊選擇策略的有效性與嵌入容量有關(guān)。秘密信息越少,較少頻率位置和圖像塊即可滿足秘密信息的數(shù)量要求,此時(shí)頻率、塊選擇策略有效。但隨著秘密信息的增加,需要的頻率位置和圖像塊增多,當(dāng)秘密信息數(shù)量接近MEC時(shí),幾乎需要所有頻率位置和圖像塊才能完全嵌入秘密信息,此時(shí)頻率、塊選擇失效。因此,當(dāng)秘密信息數(shù)量達(dá)到非零系數(shù)嵌入算法的MEC時(shí),其他算法的頻率、塊選擇策略失效,但該秘密信息數(shù)量仍遠(yuǎn)小于本文算法的MEC,本文算法的頻率、塊選擇策略仍有效,依然可實(shí)現(xiàn)文件增長和視覺失真的平衡。

2.2 文件增長

文件增長是衡量JPEG圖像RDH的重要指標(biāo)之一,本文使用單位文件增量UIFS[17]來衡量含密圖像文件增長,即嵌入1 bit信息含密圖像的平均文件增量。

(17)

式中:Sm為嵌入L比特秘密信息后的含密圖像文件大小,bit;So為原始載體圖像文件大小,bit。UIFS越小,表示嵌入前后圖像變化越小,利于網(wǎng)絡(luò)傳輸?shù)耐瑫r(shí)也提高了信息隱藏的安全性,對(duì)應(yīng)算法性能越好。

測(cè)試圖像在不同質(zhì)量因子和秘密信息數(shù)量下的UIFS對(duì)比見表2。由表2可以看出,零系數(shù)嵌入以較高文件增長為代價(jià)換取嵌入容量極大提升,本文算法的UIFS始終大于非零系數(shù)嵌入的算法[21-24],但本文算法能夠達(dá)到其他算法無法嵌入的秘密信息數(shù)量,且UIFS均小于Di[25]算法,降低了零系數(shù)嵌入產(chǎn)生的文件增長。

表2 測(cè)試圖像UIFS的秘密信息數(shù)量對(duì)比 bit

為顯示本文頻率選擇策略在降低文件增長上的性能,對(duì)Di[25]算法和本文算法的UIFS進(jìn)行對(duì)比。不同秘密信息數(shù)量下含密圖像的UIFS對(duì)比見圖4。由圖4可看出,Di[25]算法的UIFS不穩(wěn)定,這是因?yàn)槠漕l率選擇策略僅從視覺失真角度出發(fā),但失真小的頻率位置不一定文件增長?。槐疚乃惴ǖ玫降腢IFS更穩(wěn)定,UIFS比Di[25]算法平均降低0.22~0.36,這是因?yàn)楸疚脑谶x擇頻率時(shí)模擬了信息嵌入的單位文件增量,并能優(yōu)先選擇導(dǎo)致文件增長小的頻率嵌入,而Di[25]算法在選擇頻率時(shí)僅考慮視覺失真,沒有考慮零系數(shù)嵌入引起的文件大小變化,導(dǎo)致文件增長較大。本文算法在文件增長方面優(yōu)于Di[25]算法。

圖4 不同秘密信息數(shù)量下含密圖像的UIFS對(duì)比

2.3 視覺失真

含密圖像的視覺失真是衡量JPEG圖像RDH性能的重要指標(biāo),常使用原始圖像與含密圖像之間的峰值信噪比PSNR來度量,單位為dB。PSNR越大,嵌入信息后載體圖像的視覺失真越小,信息隱藏安全性越高,算法性能越好。在不同質(zhì)量因子、不同秘密信息數(shù)量下的PSNR對(duì)比見圖5。

由圖5可以看出,本文算法在質(zhì)量因子越小、載體圖像越平滑、秘密信息數(shù)量越多的情況下,在視覺質(zhì)量上的優(yōu)勢(shì)越明顯,在相同秘密信息數(shù)量下,本文算法得到的PSNR比非零系數(shù)嵌入算法平均增加1.2~2.5 dB。這是因?yàn)檩d體圖像越平滑、質(zhì)量因子越小,其零系數(shù)個(gè)數(shù)越多,與He[21]、Li[22]、Yin[23]、Xiao[24]算法相比,本文可選擇嵌入秘密信息的位置越多,并根據(jù)本文零系數(shù)嵌入的頻率、塊選擇策略,能更好地找到造成視覺失真較小的DCT系數(shù)。且隨著秘密信息數(shù)量的增加,逐漸接近非零系數(shù)嵌入算法的MEC,其他算法的頻率、塊選擇策略逐漸失效,而對(duì)于本算法,該秘密信息數(shù)量仍遠(yuǎn)小于本文算法的MEC,本文采用的頻率、塊選擇策略更有效,可獲得較小的視覺失真。

圖5 不同質(zhì)量因子、不同秘密信息數(shù)量下含密圖像的PSNR對(duì)比

在相同秘密信息數(shù)量下,由本文算法得到的含密圖像的PSNR比Di[25]算法平均增加1.8~2.3 dB,有效降低了含密圖像的視覺失真。這是因?yàn)镈i[25]算法沒有使用塊選擇策略,可能優(yōu)先使用了較紋理圖像塊嵌入信息,造成了更多未承載秘密信息的無效移位,從而引起了較大的視覺失真。本文算法的視覺失真性能優(yōu)于Di[25]算法。

3 結(jié)論

(1)為提高JPEG圖像的嵌入容量,同時(shí)兼顧文件增長和視覺失真,本文提出降低文件增長和失真的零系數(shù)JPEG圖像可逆信息隱藏算法,利用直方圖平移在值為0、1的AC系數(shù)中嵌入秘密信息。

(2)為降低文件增長,研究給出了零系數(shù)嵌入的頻率選擇策略,根據(jù)中間符號(hào)的零游程長度是否改變,得到了在EOB前和EOB中的零系數(shù)嵌入的模擬文件增量。

(3)利用塊選擇策略以降低視覺失真,借鑒現(xiàn)有基于平滑度的塊選擇方案,使用圖像塊剩余頻率的零系數(shù)個(gè)數(shù)和DC系數(shù)波動(dòng)作為計(jì)算平滑度的兩個(gè)恒定特征,并通過正歸一化處理和權(quán)重選取策略,實(shí)現(xiàn)了更準(zhǔn)確計(jì)算圖像塊平滑度。

(4)實(shí)驗(yàn)結(jié)果表明:與同類非零系數(shù)嵌入算法相比,本文算法嵌入容量顯著提升,在質(zhì)量因子越小、載體圖像越平滑、秘密信息越多的情況下,在視覺質(zhì)量上的優(yōu)勢(shì)顯著;與零系數(shù)嵌入算法相比,本文算法的文件增長和視覺失真均優(yōu)于現(xiàn)有零系數(shù)嵌入算法,降低了零系數(shù)嵌入的文件增量和視覺失真。

猜你喜歡
增量秘密編碼
提質(zhì)和增量之間的“辯證”
基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
《全元詩》未編碼疑難字考辨十五則
子帶編碼在圖像壓縮編碼中的應(yīng)用
“價(jià)增量減”型應(yīng)用題點(diǎn)撥
Genome and healthcare
愿望樹的秘密(二)
基于均衡增量近鄰查詢的位置隱私保護(hù)方法
我心中的秘密
第十三章 進(jìn)化的秘密!
永善县| 望都县| 喀喇沁旗| 阿克| 石林| 苗栗县| 基隆市| 忻城县| 个旧市| 商南县| 九龙坡区| 浦东新区| 九江市| 财经| 孝感市| 岑巩县| 苗栗市| 福安市| 德昌县| 普洱| 凤城市| 云和县| 宜黄县| 铜鼓县| 乌拉特后旗| 重庆市| 津市市| 舒城县| 新民市| 大港区| 新化县| 山阴县| 若尔盖县| 新邵县| 休宁县| 丁青县| 大悟县| 美姑县| 镇康县| 格尔木市| 平陆县|