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

?

基于插值技術(shù)和多層折疊的可逆數(shù)據(jù)隱藏算法

2022-06-14 09:52陳藝樊夢(mèng)婷熊祥光
科學(xué)技術(shù)與工程 2022年14期
關(guān)鍵詞:直方圖插值秘密

陳藝, 樊夢(mèng)婷, 熊祥光

(貴州師范大學(xué)大數(shù)據(jù)與計(jì)算機(jī)科學(xué)學(xué)院, 貴陽(yáng) 550025)

隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,數(shù)據(jù)安全越來(lái)越受到人們的高度重視,尤其是在一些諸如醫(yī)學(xué)、軍事通信、遙感等特殊的應(yīng)用領(lǐng)域,不僅需要數(shù)據(jù)的安全性和保密性,更需要數(shù)據(jù)的完整性。傳統(tǒng)的數(shù)據(jù)隱藏技術(shù)無(wú)法滿足新的需求。因此,人們提出了可逆數(shù)據(jù)隱藏(reversible data hiding,RDH)技術(shù)。該技術(shù)可將秘密數(shù)據(jù)嵌入到載體信號(hào)中,并且能夠完整地提取嵌入的秘密數(shù)據(jù)和確保載體信號(hào)無(wú)損地恢復(fù),這在特殊的應(yīng)用領(lǐng)域非常實(shí)用,目前受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。

近年來(lái),研究者們提出了多種RDH方法,在確保能提取嵌入的秘密數(shù)據(jù)和恢復(fù)原始信號(hào)的前提下,不斷地提高嵌入性能和抗解密能力。Fridrich等[1]提出了基于圖像無(wú)損壓縮的RDH算法,該算法的主要原理是對(duì)原始圖像進(jìn)行無(wú)損壓縮以得到冗余空間,然后將秘密數(shù)據(jù)嵌入到冗余空間中。雖然該算法的秘密數(shù)據(jù)嵌入過(guò)程非常簡(jiǎn)單,但是嵌入容量有限,限制了該算法的實(shí)際應(yīng)用。后來(lái),RDH技術(shù)得到了廣泛研究。一般來(lái)說(shuō),根據(jù)秘密數(shù)據(jù)嵌入策略的不同,RDH技術(shù)大致可分為三類:基于差值擴(kuò)展(differential expansion,DE)的可逆數(shù)據(jù)隱藏算法[2-5]、基于直方圖平移(histogram shifting,HS)的可逆數(shù)據(jù)隱藏算法[6-10]和基于插值技術(shù)(interpolation technology,IT)的可逆數(shù)據(jù)隱藏算法[12-16]。

Tian[2]最先提出基于DE的RDH算法,通過(guò)像素對(duì)之間的差值進(jìn)行擴(kuò)展以嵌入秘密數(shù)據(jù)。與基于壓縮技術(shù)的RDH算法相比,雖然有效地提高了嵌入性能,但是嵌入秘密數(shù)據(jù)后的圖像可能會(huì)出現(xiàn)像素值溢出,需對(duì)這部分像素值進(jìn)行溢出處理,影響純嵌入容量的大小。Ou等[3]利用兩個(gè)相鄰的預(yù)測(cè)誤差來(lái)生成一個(gè)由預(yù)測(cè)誤差對(duì)組成的序列進(jìn)行秘密數(shù)據(jù)嵌入,提高了算法的整體性能。Dragoi等[4]研究了局部預(yù)測(cè)在差值擴(kuò)展可逆數(shù)據(jù)隱藏中的應(yīng)用,提出了一種新的基于四元差值擴(kuò)展的多層嵌入方法,Arham等[5]提出一種改進(jìn)的算法來(lái)減少像素中的差值,從而提高數(shù)據(jù)隱藏的容量和視覺(jué)質(zhì)量。隨后Ni等[6]提出基于HS的RDH算法,該算法利用載體圖像像素直方圖的特點(diǎn)進(jìn)行秘密數(shù)據(jù)嵌入。雖然該算法具有很好的視覺(jué)質(zhì)量,但是總體來(lái)看該算法的性能不是很好,嵌入容量不高。后來(lái),基于HS思想,一系列改進(jìn)算法[7-11]相繼被提出。例如,Luo等[7]采用插值預(yù)測(cè)技術(shù)將秘密數(shù)據(jù)嵌入預(yù)測(cè)誤差直方圖中;Thodi等[11]結(jié)合DE和HS兩種方法的優(yōu)點(diǎn),提出新的預(yù)測(cè)誤差擴(kuò)展方案,將秘密數(shù)據(jù)嵌入到預(yù)測(cè)誤差直方圖中,提高了算法的整體性能。

Jung等[12]最先提出基于IT的RDH算法,該算法先基于原始圖像應(yīng)用鄰域均值插值(neighbor mean interpolation,NMI)方法生成插值圖像;然后僅在插值像素中嵌入秘密數(shù)據(jù),具有非常高的嵌入容量和視覺(jué)質(zhì)量。后來(lái),Lee等[13]在Jung等[12]的工作基礎(chǔ)上,提出基于鄰域像素插值(interpolation by neighboring pixels,INP)方法的可逆數(shù)據(jù)隱藏算法。該算法根據(jù)相鄰像素進(jìn)行加權(quán)插值,然后在插值像素中嵌入秘密數(shù)據(jù)。與文獻(xiàn)[14]相比,嵌入容量有所提升。然而,該算法的整體性能還有進(jìn)一步提升的空間。文獻(xiàn)[14-16]對(duì)插值方法和嵌入方法進(jìn)行改進(jìn),與文獻(xiàn)[12-13]中的算法相比,性能有所提升。文獻(xiàn)[17]采用中心折疊策略(center folding strategy,CFS)對(duì)待嵌入的秘密數(shù)據(jù)進(jìn)行重編碼,然后再嵌入編碼后的數(shù)據(jù)。該算法通過(guò)將秘密數(shù)據(jù)進(jìn)行折疊,有效地減少了嵌入秘密數(shù)據(jù)后造成的失真,在相同的嵌入容量條件下,具有更好的視覺(jué)質(zhì)量。Lu等[18]將CFS和INP兩種技術(shù)相結(jié)合,提出基于插值自適應(yīng)的可逆數(shù)據(jù)隱藏算法。該算法先將輸入圖像縮小以生成原始圖像,并將其分成若干不重疊的3×3像素塊;然后利用INP插值方法對(duì)像素塊進(jìn)行插值。在嵌入秘密數(shù)據(jù)之前,對(duì)待嵌入的秘密數(shù)據(jù)采用中心折疊策略先進(jìn)行編碼,然后再嵌入。此外,利用分塊中4個(gè)參考像素的方差來(lái)判斷待嵌入秘密數(shù)據(jù)的長(zhǎng)度,有效地提高了圖像質(zhì)量和隱藏能力。然而,在對(duì)秘密數(shù)據(jù)進(jìn)行編碼的過(guò)程中,待嵌入的秘密數(shù)據(jù)被編碼成正負(fù)兩部分,各部分的最大值仍然較大,直接嵌入仍會(huì)造成失真較大。Lu等[21]提出一種新的多層折疊方案,將秘密數(shù)據(jù)折疊編碼成碼對(duì),再將其嵌入到插值圖像的插值像素中。該編碼對(duì)比原始秘密數(shù)據(jù)的編碼對(duì)小,有效地降低了圖像的失真。然而,該算法的性能仍然有進(jìn)一步提升的空間。通過(guò)分析發(fā)現(xiàn)在該方案中,雖然通過(guò)多層折疊將秘密數(shù)據(jù)編碼成碼對(duì),編碼后的數(shù)據(jù)已較小,但是該方案并未充分利用多層折疊編碼的性能,存在兩個(gè)不會(huì)造成額外失真的碼對(duì)。為進(jìn)一步提高嵌入容量和嵌入數(shù)據(jù)后的圖像質(zhì)量,基于插值和改進(jìn)的多層編碼技術(shù)提出了一種改進(jìn)的可逆數(shù)據(jù)隱藏算法。首先,提出一種改進(jìn)的圖像插值算法生成插值圖像;其次,對(duì)待嵌入的秘密數(shù)據(jù)進(jìn)行重編碼。編碼時(shí)考慮在每個(gè)不會(huì)造成額外失真的碼對(duì)中額外嵌入一個(gè)秘密數(shù)據(jù)位以提高嵌入容量。同時(shí),使用失真更小的中心折疊方案以進(jìn)一步減小嵌入秘密數(shù)據(jù)后的失真。現(xiàn)以基于圖像插值的多層折疊編碼為研究?jī)?nèi)容,以高率失真性能為目標(biāo),以期為基于圖像插值的可逆信息隱藏技術(shù)提供理論基礎(chǔ)。

1 相關(guān)工作

1.1 NMI插值方法

Jung等[12]提出的算法先對(duì)w×h(w和h分別為圖像的寬和高)的輸入圖像I進(jìn)行下采樣,生成大小為(w/2)×(h/2)的原始圖像O;然后,利用插值算法將插值像素插入相鄰的原始像素之間,生成與輸入圖像同大小的插值圖像C,相應(yīng)的插值方法為

C(i,j)=

(1)

式(1)中:1≤i≤w/2;1≤j≤h/2。對(duì)于插值圖像C中的邊界像素,用前一行和前一列對(duì)應(yīng)位置上的像素進(jìn)行填充即可。

1.2 文獻(xiàn)[21]的方法

(2)

(3)

(4)

(5)

式(5)中:Nind為4比特索引碼對(duì)應(yīng)的十進(jìn)制數(shù)。

然后,將編碼后的數(shù)據(jù)Nind嵌入中心插值像素中,即

p′c=pc+Nind

(6)

式(6)中:pc為3×3分塊的中心像素值;p′c為嵌入4比特索引碼后的像素值。

圖1 文獻(xiàn)[21]的數(shù)據(jù)嵌入流程圖Fig.1 Data embedding flowchart of reference [21]

1.3 文獻(xiàn)[21]方法的潛在改進(jìn)

對(duì)Lu等[21]的方案進(jìn)行深入分析后發(fā)現(xiàn):

(1)雖然使用閾值控制策略可有效地減小失真,但是不同類型的圖像的嵌入容量波動(dòng)較大,平滑圖像的嵌入容量往往較高,而紋理豐富的圖像的嵌入容量往往較低。

(2)雖然通過(guò)中心折疊編碼有效降低了嵌入秘密數(shù)據(jù)后的失真,但是該方案并未充分利用編碼的性能對(duì)秘密數(shù)據(jù)進(jìn)行折疊編碼。例如,在該方案中,有兩個(gè)碼對(duì)(0, 2)和(1, 2)并未使用。事實(shí)上,當(dāng)嵌入3位秘密數(shù)據(jù)時(shí),索引碼indq可以設(shè)置成0

表1 嵌入3位秘密數(shù)據(jù)時(shí)的編碼方案

表2 提出的編碼方案和文獻(xiàn)[21]的編碼方案對(duì)比

2 本文算法

一般情況下,嵌入秘密數(shù)據(jù)后,插值像素可能會(huì)出現(xiàn)溢出。對(duì)于提出的算法,在插值階段先對(duì)插值像素進(jìn)行溢出處理,然后再嵌入秘密數(shù)據(jù),使嵌入秘密數(shù)據(jù)后不會(huì)出現(xiàn)溢出。

2.1 圖像插值方法

提出的圖像插值方法如圖2所示。在圖2中,Oim為第i個(gè)分塊中的第m(m=1,2,3,4)個(gè)像素值。

圖2 提出的圖像插值方法Fig.2 The proposed image interpolation method

具體的插值步驟如下。

(1)將輸入圖像O劃分為若干2×2像素塊,然后使用式(7)將第i個(gè)2×2像素塊插值生成3×3的像素塊。

(7)

(2)生成插值圖像后,在嵌入秘密數(shù)據(jù)過(guò)程中可能會(huì)出現(xiàn)像素值溢出現(xiàn)象。在嵌入秘密數(shù)據(jù)過(guò)程中,假設(shè)在每個(gè)插值像素中嵌入3位的秘密數(shù)據(jù),則插值像素Ci1、Ci2、Ci3和Ci4的像素值變化范圍為[-2, 2]。當(dāng)這些插值像素的像素值范圍為[2, 253]時(shí),嵌入秘密數(shù)據(jù)后就不會(huì)出現(xiàn)溢出。中心插值像素Ci0的變化范圍為[-7, 8],當(dāng)像素值范圍為[7, 247]時(shí),嵌入秘密數(shù)據(jù)后就不會(huì)出現(xiàn)溢出。因此,為了解決嵌入秘密數(shù)據(jù)后的溢出問(wèn)題,利用式(8)和式(9)對(duì)生成的插值像素進(jìn)行溢出處理。

(8)

(9)

2.2 數(shù)據(jù)嵌入方法

在嵌入秘密數(shù)據(jù)之前,先對(duì)秘密數(shù)據(jù)進(jìn)行編碼,秘密數(shù)據(jù)嵌入流程圖如圖3所示,詳細(xì)的嵌入步驟如下。

(10)

(11)

C′q=Cq+d′q

(12)

(3)將四位索引碼indq按順序排列,通過(guò)式(13)將其轉(zhuǎn)換成十進(jìn)制整數(shù)sum_ind。

(13)

(4)為使嵌入秘密數(shù)據(jù)后中心插值像素Ci0的失真較小,采用偏移折疊(偏移值k_a的選取如表3所示)的方式對(duì)索引碼進(jìn)行折疊編碼,即

sum_ind′=sum_ind-k_a

(14)

(5)將折疊后的數(shù)據(jù)sum_ind′嵌入中心像素Ci0中。當(dāng)所有分塊都嵌入秘密數(shù)據(jù)后,嵌入過(guò)程完成。

C′i0=Ci0+sum_ind′

(15)

嵌入的秘密數(shù)據(jù)的提取方法是嵌入方法的逆過(guò)程,限于篇幅,這里不再贅述。

圖3 提出算法的流程圖Fig.3 The flowchart of the proposed algorithm

圖4 提出算法的數(shù)據(jù)嵌入和提取示例Fig.4 An example of data embedding and extraction of the proposed algorithm

2.3 嵌入提取示例

當(dāng)嵌入秘密數(shù)據(jù)時(shí),原始像素塊O通過(guò)式(7)生成插值像素塊C。對(duì)于第一個(gè)插值像素C(1,2)=51,將3位二進(jìn)制秘密數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制,即S1=(001)2=(1)10。然后,使用式(10)和式(11)將其編碼成索引碼ind1=0和折疊碼d1=S1=2b-2=-1。最后,將折疊碼嵌入到插值像素C(1,2)中,即W(1,2)=C(1,2)+d1=50。類似地,可在余下的3個(gè)插值像素C(2,1)、C(2,3)和C(3,2)中分別嵌入3位秘密數(shù)據(jù)。在這4個(gè)插值像素中嵌入秘密數(shù)據(jù)后,得到4位索引碼組成的二進(jìn)制位串,然后將其轉(zhuǎn)換為十進(jìn)制數(shù),即sum_ind=8ind1+4ind2+2ind3+ind4=5。通過(guò)折疊后sum_ind′=sum_ind-7=-2,再將其嵌入到中心插值像素中,即W(2,2)=C(2,2)+sum_ind′=48。

提取秘密數(shù)據(jù)時(shí),采用相同的插值方法得到相同的插值像素塊C。對(duì)于嵌入秘密數(shù)據(jù)后的插值像素W(2,2),嵌入的數(shù)據(jù)為sum_ind′=W(2,2)-C(2,2)=48-60=-2,通過(guò)逆編碼,可以得到編碼前的4位秘密數(shù)據(jù)為 (0101)2。即4個(gè)插值像素C(1,2)、C(2,1)、C(2,3)和C(3,2)的索引碼分別為0、1、0和1。插值像素C(1,2)嵌入的秘密數(shù)據(jù)為:d1=W(1,2)-C(1,2)=-1,根據(jù)得到的索引碼ind1=0,可計(jì)算出秘密數(shù)據(jù)S1=2b-2+d1=(1)10=(001)2,和嵌入的3位秘密數(shù)據(jù)相同。類似地,可在C(2,1)、C(2,3)和C(3,2)三個(gè)插值像素中提取嵌入的秘密數(shù)據(jù)。

3 實(shí)驗(yàn)結(jié)果及分析

為測(cè)試提出算法的性能,從BossBase和BOWS-2圖像數(shù)據(jù)庫(kù)中各隨機(jī)選取100張圖像作為輸入圖像,待嵌入的秘密數(shù)據(jù)為偽隨機(jī)產(chǎn)生的二值信號(hào)。采用峰值信噪比(peak signal to noise ratio,PSNR)和比特率(bit per pixel,BPP)來(lái)分別衡量嵌入秘密數(shù)據(jù)后圖像失真與嵌入容量的性能。PSNR和BPP的計(jì)算公式為

(16)

(17)

式中:xi和x′i分別為輸入圖像和嵌入秘密數(shù)據(jù)后圖像的第i個(gè)像素值;w、h和M分別為輸入圖像的長(zhǎng)度、寬度和已嵌入在插值圖像中的秘密數(shù)據(jù)長(zhǎng)度。

在秘密數(shù)據(jù)嵌入過(guò)程中,因?yàn)榫幋a時(shí)采用移位的編碼策略,導(dǎo)致生成的索引碼0和1不再是等概率分布,所以在每個(gè)分塊的中心像素嵌入秘密數(shù)據(jù)時(shí),中心折疊策略不再適合提出的算法。為了選取合適的k_a值,在隨機(jī)選取的100張圖像上進(jìn)行實(shí)驗(yàn),相應(yīng)的統(tǒng)計(jì)結(jié)果如表3所示。從表3可以看出,當(dāng)k_a=7時(shí),嵌入秘密數(shù)據(jù)后隱秘圖像的PSNR最好。因此,在下面的實(shí)驗(yàn)中,k_a都設(shè)置為7。

圖5為本文算法與文獻(xiàn)[21]算法在最大嵌入容量時(shí)的比較。從圖5可以看出,本文算法在每張圖像上嵌入的秘密數(shù)據(jù)容量是相同的,而文獻(xiàn)[21]算法具有一定的波動(dòng)。主要原因是本文算法在圖像插值階段使用了溢出處理策略,使在嵌入秘密數(shù)據(jù)時(shí)不會(huì)出現(xiàn)溢出,所有的插值像素都能嵌入秘密數(shù)據(jù),使得所有圖像的嵌入容量相同。然而,文獻(xiàn)[21]算法使用自適應(yīng)方案,導(dǎo)致不同載體圖像的嵌入容量有所不同。

表3 中心像素不同折疊方案的對(duì)比

圖5 每幅圖像的嵌入容量比較Fig.5 Comparison of embedding capacity of each image

為測(cè)試本文算法的性能,以0.1 BPP為初始值和0.1為步長(zhǎng),測(cè)試在相同的BPP條件下隱秘圖像的質(zhì)量。在Goldhill和Airplane這兩張典型圖像上的實(shí)驗(yàn)結(jié)果如圖6所示。從圖6可以看出,本文算法的性能均優(yōu)于同類算法,相較于文獻(xiàn)[21]的算法,本文算法不僅在嵌入容量上有所提高,而且在嵌入相同BPP容量數(shù)據(jù)的條件下,本文算法也具有更好的PSNR值。

圖6 Airplane和Goldhill兩幅圖像的比較結(jié)果Fig.6 Comparison of Airplane and Goldhill images

表4顯示在BPP為1.3時(shí)不同算法的性能對(duì)比。從表4可以看出,提出算法的PSNR是最高的。與文獻(xiàn)[18-21]中的算法相比,PSNR分別提高了10.26%、10.85%、6.11%和1.62%,平均提高率為7.21%。

此外,為進(jìn)一步測(cè)試提出算法的優(yōu)越性能,在BossBase和BOWS-2數(shù)據(jù)庫(kù)中各隨機(jī)選擇100張圖像進(jìn)行實(shí)驗(yàn),相應(yīng)的實(shí)驗(yàn)結(jié)果如圖7所示。從圖7可以看出,在相同的BPP條件下,本文算法具有更高的PSNR值,表明本文算法具有更好的性能。

圖8為插值圖像和嵌入秘密數(shù)據(jù)后圖像的直方圖比較結(jié)果。從圖8可以看出,插值圖像和嵌入秘密數(shù)據(jù)后圖像的直方圖非常相似。因此,提出算法能夠抵抗直方圖隱寫分析攻擊。圖9為插值圖像和嵌入秘密數(shù)據(jù)后圖像的RS(regular singular)隱寫分析結(jié)果。從圖9可以看出,提出算法也能抵抗RS隱寫分析。

表4 不同算法在不同數(shù)據(jù)集上插值圖像和隱密 圖像的PSNR對(duì)比

圖7 幾種相似算法的比較結(jié)果Fig.7 Comparison results of several similar algorithms

圖8 直方圖對(duì)比分析結(jié)果Fig.8 Comparison of histogram analysis results

圖9 RS隱寫分析結(jié)果Fig.9 RS steganalysis results

4 結(jié)論

提出了一種基于插值技術(shù)和多層折疊的可逆數(shù)據(jù)隱藏算法,具有如下的特點(diǎn)。

(1)先對(duì)輸入圖像進(jìn)行互不重疊的2×2分塊,然后對(duì)每個(gè)分塊利用提出的圖像插值算法生成3×3 的分塊。為使嵌入秘密數(shù)據(jù)時(shí)不出現(xiàn)溢出,在插值階段對(duì)插值像素進(jìn)行了溢出處理。

(2)對(duì)待嵌入的秘密數(shù)據(jù)進(jìn)行多層折疊編碼,然后再嵌入插值像素中,使插值像素的失真盡可能地降低,提高了隱秘圖像的視覺(jué)質(zhì)量。在 BossBase 和BOWS-2圖像數(shù)據(jù)庫(kù)上的大量實(shí)驗(yàn)結(jié)果表明,與同類算法相比,在相同的BPP條件下,提出算法在PSNR方面有顯著的提高。此外,提出算法也能抵抗直方圖和RS隱寫分析,這些結(jié)果表明提出算法是有效的。

猜你喜歡
直方圖插值秘密
符合差分隱私的流數(shù)據(jù)統(tǒng)計(jì)直方圖發(fā)布
滑動(dòng)式Lagrange與Chebyshev插值方法對(duì)BDS精密星歷內(nèi)插及其精度分析
基于FPGA的直方圖均衡圖像增強(qiáng)算法設(shè)計(jì)及實(shí)現(xiàn)
用直方圖控制畫面影調(diào)
基于pade逼近的重心有理混合插值新方法
混合重疊網(wǎng)格插值方法的改進(jìn)及應(yīng)用
中考頻數(shù)分布直方圖題型展示
愿望樹的秘密(二)
我心中的秘密
第十三章 進(jìn)化的秘密!
永新县| 大冶市| 乌苏市| 彰化县| 陈巴尔虎旗| 新建县| 太原市| 临颍县| 衡水市| 衡阳市| 木里| 盖州市| 河池市| 灌阳县| 化州市| 青神县| 永昌县| 壶关县| 樟树市| 涡阳县| 建湖县| 观塘区| 瑞丽市| 竹山县| 宜昌市| 南汇区| 和田县| 格尔木市| 庄浪县| 栖霞市| 临汾市| 大冶市| 盘山县| 兴山县| 白朗县| 霍州市| 铁岭县| 信阳市| 太仓市| 凤城市| 东乡|