摘 要:為解決可逆信息隱藏(reversible data hiding,RDH)容量受限的問題,提出了一種基于相鄰均值差的可逆信息隱藏(neighboring mean difference reversible data hiding,NMDRDH)算法。相鄰均值差(neighboring mean diffe-rence,NMD):計算兩個相鄰數(shù)值的平均值與其中一個數(shù)值的差值。NMD將差值最小化,使數(shù)據(jù)更加集中。首先將圖像進行分塊,然后在分塊上應用NMD生成差值直方圖,最后通過平移差值直方圖,利用峰值點來嵌入秘密信息。由于NMD使生成的差值直方圖具有更多的峰值點,所以該方法可嵌入更多的秘密信息。實驗結果表明,采用本算法,原始圖像恢復率和秘密信息提取正確率均為100%;相比于經(jīng)典差值直方圖平移方法,本算法的嵌入容量提升了43.7%;本算法在保證高容量的同時,PSNR達到42 dB以上,確保了嵌入圖像失真較小。
關鍵詞:相鄰均值差;可逆信息隱藏;直方圖平移
中圖分類號:TP309"" 文獻標志碼:A"" 文章編號:1001-3695(2025)04-034-1217-06
doi:10.19734/j.issn.1001-3695.2024.05.0265
High-capacity reversible data hiding based on neighboring mean difference histogram
Xiong Tao1,Ding Haiyang1,2,Li Yajing1
(1.College of Information Engineering,Beijing Institute of Graphic Communication,Beijing 102600,China;2.Information Security Center,Beijing University of Posts amp; Telecommunications,Beijing 100876,China)
Abstract:
To address the issue of limited capacity in reversible data hiding(RDH),this paper proposed a neighboring mean difference reversible data hiding(NMDRDH)algorithm.The neighboring mean difference(NMD)calculated the difference between the average of two adjacent values and one of the values,minimizing the difference and making the data more concentra-ted.Firstly,it divided the image into blocks,then applied NMD on the blocks to generate a difference histogram.Finally,it embedded the secret information by shifting the difference histogram and utilizing the peak points.Because NMD generated a difference histogram with more peak points,this method could embed more secret information.Experimental results show that this algorithm achieves 100% accuracy in both original image recovery and secret information extraction.Compared to the classical difference histogram shifting method,this algorithm increases the embedding capacity by 43.7%.Moreover,while ensuring high capacity,the PSNR reaches above 42 dB,ensuring minimal distortion of the embedded image.
Key words:neighboring mean difference;reversible data hiding;histogram shifting
0 引言
信息隱藏是一種將秘密信息隱藏在載體中,使其無法被識別的技術[1~3]。可逆信息隱藏(reversible data hiding,RDH)[4]是信息隱藏領域的一個重要分支,相較于數(shù)字水?。?]和隱寫術[6],在提取秘密信息后能無損恢復原始內(nèi)容。RDH方法因其能夠滿足特定領域的安全需求,引起了國內(nèi)外學者的廣泛關注和研究,在法律證據(jù)、醫(yī)療圖像、軍事圖像、遙感圖像等一些特殊領域,得到了廣泛應用[7~12]。
首個RDH方法使用模加法,在空域方法中被引入[13]。文獻[14~16]使用無損壓縮技術為數(shù)據(jù)制造可嵌入空間。然而,這兩類方法只嵌入與身份驗證相關的信息,不可嵌入更多的數(shù)據(jù),無法滿足高嵌入容量的應用需求。為了克服這一局限,基于差值擴展的可逆信息隱藏算法[17,18]和基于直方圖平移的可逆信息隱藏算法[19~21]相繼被提出。Tian[17]首次提出了差分擴展的方法,通過擴大相鄰像素之間的差異來嵌入數(shù)據(jù),但該方法的嵌入容量局限于可擴展的像素對,且易造成載體圖像的失真。直方圖平移(histogram shifting,HS)方法因其低復雜度、低失真度且可與信息預處理、加密等多種方法聯(lián)合使用,長期以來是RDH研究的焦點[22]?;谥狈綀D平移的可逆信息隱藏算法最早由Ni等人[19]提出,通過移動直方圖,在峰值點處進行秘密信息的隱藏,然而該方法受限于圖像的峰值點,且不同的圖像直方圖差異較大,因此該方法的性能具有較大的波動。Lin等人[23]提出了一種基于差值直方圖平移的可逆信息隱藏算法,通過圖像相鄰兩個像素之間產(chǎn)生差值,生成差值直方圖,由于差值普遍集中于零點,所以通過在零點處隱藏秘密信息,可獲得較高的嵌入容量,但該方法未考慮相鄰兩個像素值相差較大的情況,嵌入性能仍有待優(yōu)化。Anushiadevi等人[24]通過將圖像分為2×2的像素塊,構造相鄰三個像素的差值、平移直方圖來隱藏秘密信息,該方法雖然減小了圖像的失真,但仍依賴于像素間的關聯(lián)性,當像素之間波動較大時,無法獲得較高的峰值,因此無法隱藏更多的秘密信息。上述方案普遍存在的問題是未能有效解決相鄰像素波動較大時引起的誤差問題,導致差值直方圖無法獲得集中的峰值點,從而限制了嵌入容量。
為了解決以上問題,本文提出了相鄰均值差(NMD)法,該方法利用均值差來衡量相鄰數(shù)值間的差異,有效降低了數(shù)值波動對差值的影響,使差值最小化,數(shù)據(jù)更加集中。通過結合信息隱藏算法,提出了基于相鄰均值差直方圖的可逆信息隱藏算法(NMDRDH)。通過計算相鄰像素的平均值與其中一個像素的差值,構造差值圖像、平移圖像直方圖來實現(xiàn)信息隱藏。由于NMD減小了像素波動造成的影響,使生成的差值直方圖更為陡峭,呈現(xiàn)較多的峰值點,通過峰值點嵌入秘密信息能夠大幅提升嵌入容量。
1 相關工作
本章將簡單介紹Ni等人[19]提出的直方圖平移方法、Lin等人[23]提出的差值直方圖方法以及Anushiadevi等人[24]提出的分塊直方圖的思想。
文獻[19]提出利用圖像峰值點和零點來隱藏秘密信息,峰值點表示直方圖中頻率最高的像素值。以經(jīng)典灰度圖像Lena(512×512像素)為例,如圖1(a),其直方圖如圖1(b)所示,像素154出現(xiàn)的頻次最高,因此154為Lena圖像的峰值點。隱藏階段大致分為如下幾個步驟:
a)遍歷圖像,將大于峰值點的像素值加1,此步驟是為了預留秘密信息可嵌入的空間。
b)借助峰值點嵌入秘密信息。當秘密信息為“0”時,峰值點處的像素值保持不變,為“1”時,將像素值加1構建新的像素值。
c)將載體圖像發(fā)送給接收方,峰值點作為密鑰傳輸給接收方,以協(xié)助其進行秘密信息的提取。
由于只改變峰值點處的像素值,該方法具有較小的失真。然而,其嵌入能力受峰值點個數(shù)的影響,例如Lena圖像的峰值點個數(shù)為2 754個,其嵌入容量對應2 784 bit,且峰值點取決于圖像自身特性,通常情況下,該方法無法獲得較高的嵌入容量。
文獻[23]通過計算相鄰像素的差值,生成差值圖像,如圖1(c)所示,差值普遍集中于零點,且差值直方圖具有更為陡峭的峰值點,如圖1(d)所示,通過修改差值直方圖可以嵌入更多的秘密信息,因此該方法能夠獲得較高的嵌入容量。文獻[24]提出將原始圖像進行2×2的分塊,通過4個像素之間產(chǎn)生差值,生成差值圖像,平移差值直方圖嵌入秘密信息,該方法在每個分塊上進行,考慮了圖像的局部特性,在提升嵌入容量的同時,減小了載體圖像的失真。但文獻[23,24]未能解決像素波動對差值的影響,即當相鄰像素差異較大時,無法獲得集中于零點的峰值,沒有有效解決嵌入容量最優(yōu)化問題。
針對直方圖平移方法嵌入容量低,且差值直方圖易受像素波動影響等問題,本文提出了NMD的概念,即計算兩個相鄰數(shù)值的平均值與其中一個數(shù)值的差值。結合圖像可逆信息隱藏,提出了NMDRDH方法。通過計算相鄰像素的平均值與其中一個像素的差值來構造差值圖像,平移圖像直方圖,修改直方圖的峰值點來嵌入秘密信息。實驗結果表明,該方法具有較高的嵌入容量,且嵌入圖像具有較小的失真。
2 相鄰均值差(NMD)
在計算兩個相鄰數(shù)值(分別表示為a和b,且b≥a)之間的差值時,通常采用直接做差法來獲取差值d,如式(1)所示。
d=b-a
(1)
然而,這種方法易受到一些限制,當a和b的值相差較大時,直接計算差值會引起較大的誤差,從而影響數(shù)據(jù)的處理和分析。理想情況下,d應準確地反映a和b之間的差異,并盡可能地減少噪聲或波動的影響??紤]如下變換,此處考慮整數(shù)差值。
d=「b-a+b2
(2)
同樣,可以觀察到如下現(xiàn)象:
a)由于平均值的影響,當a和b的值比較接近時,差值d會趨于零??紤]到大量的a和b值對,可以發(fā)現(xiàn),在絕大多數(shù)情況下,差值d都會接近于零。
b)如果a和b之間存在噪聲或波動,利用平均值計算差值d有助于減少噪聲或波動的影響。
將此種計算差值的方法命名為相鄰均值差法,即計算兩個相鄰數(shù)值的平均值與其中一個數(shù)值的差值??紤]在兩個相鄰像素之間進行變換,相較于直接做差法,NMD在像素差異較小時,求取的差值會更易趨于0;而在差異較大時,則能相應減小像素間的差異,使差值同樣趨于0。鑒于圖像像素的整體波動往往較小,這一過程使得更多的像素趨于0。
將上述過程用來構造差值圖像。以標準灰度圖像Lena為例,如圖2(a)所示,從中隨機選取一個大小為4×4的小塊,如圖2(b)所示。將式(2)映射成坐標形式,可得如下變換公式:
D(i,j)=「|G(i,j+1)-G(i,j)+G(i,j+1)2|
(3)
其中:G(i,j)和G(i,j+1)為一組相鄰像素值。故從4×4的圖像塊中可求得大小為4×3的差值塊,圖2(c)表示直接做差法求取的差值,圖2(d)表示使用NMD方法求取的差值,圖中標黃的像素點為各個分塊的峰值點。
如表1所示,對于上述4×4分塊,直接做差法產(chǎn)生了4個峰值點,而本文提出的NMD方法產(chǎn)生了7個峰值點。這表明,NMD方法可以使得分塊具有更多的峰值點,利用峰值點嵌入秘密信息能夠隱藏更多的數(shù)據(jù),這證實了上述假設。
NMD方法在圖像整體直方圖中作用顯著。圖3是兩種方法生成的直方圖,在圖3(b)中,峰值點為1,其在差值圖像直方圖中對應的像素數(shù)量超過75 000個,與圖3(a)中的方法相比,峰值點個數(shù)增加了87.5%,這表明NMD方法的嵌入容量遠遠大于直接做差法。
為了更好地驗證NMD方法在嵌入容量上的優(yōu)良表現(xiàn),本文對USC-SIPI圖像數(shù)據(jù)庫的15幅測試圖像進行了容量測試,并對峰值點個數(shù)進行了統(tǒng)計,結果如表2所示。測試結果表明,使用NMD方法可以取得更多的峰值點。
綜上,本文提出了一種新的計算差值的方法,即NMD方法。通過在圖像中應用NMD方法,生成差值圖像,直方圖具有更為陡峭的峰值點。通過平移峰值點隱藏秘密信息,可以獲得較高的嵌入容量。
3 相鄰均值差可逆信息隱藏(NMDRDH)
相鄰均值差可逆信息隱藏算法的框架與流程如圖4所示,主要分為差值圖像生成階段、信息隱藏階段、嵌入圖像生成階段、信息提取階段以及原始圖像重建階段。對于發(fā)送方,首先將原始灰度圖像進行分塊,利用差值圖像生成(difference image generation,DIG)算法構建差值圖像,生成差值直方圖,通過平移峰值點右側像素預留可嵌入空間,然后修改直方圖峰值點來隱藏秘密信息,當秘密信息為0時,峰值點處的像素值保持不變,當秘密信息為1時,將峰值點處的像素值加上1,最后利用嵌入圖像生成(embedded image generation,EIG)算法構建嵌入圖像。對于接收方,首先將嵌入圖像進行分塊,利用DIG算法為每個分塊生成差值圖像,其次遍歷圖像,找到一組出現(xiàn)頻次較高的值,通過計算這組值的差值獲取峰值點,然后,借助峰值點進行信息提取,最后,利用原始圖像重構(original image reconstruction,OIR)算法來恢復原始圖像。
3.1 差值圖像生成(difference image generation,DIG)
此階段應用式(3)構造差值圖像。將原始灰度圖像分成大小為M×N的分塊G(i,j),利用式(3)可從G中生成大小為M×(N-1)的差值圖像D(i,j)。其中0≤i≤M-1,0≤j≤N-2,后續(xù)章節(jié)i,j同樣遵循此范圍。
3.2 信息隱藏(data hiding,DH)
信息隱藏階段分為三個步驟,詳情如下:
a)根據(jù)差值圖像D生成直方圖,確定直方圖的峰值點P。
b)遍歷塊中的每一個像素,將大于峰值點P的像素值加1,通過平移直方圖,為秘密信息嵌入制造冗余空間,即
4 實驗結果
4.1 算法有效性驗證
本節(jié)將通過實驗來評估NMDRDH性能,并對實驗結果進行分析。所使用的測試圖像均來自USC-SIPI圖像數(shù)據(jù)庫,包括Lena、baboon、jet、pepper和boat,如圖7所示。
以Lena圖像為例,大小為512×512,分塊大小為4×4,則分塊數(shù)為16 384(512×512÷4×4)個,在嵌入階段,每一分塊將執(zhí)行DIG、DH以及EIG操作,在提取階段,每一個分塊將執(zhí)行DE、OIR操作。需要指出的是,圖像的隱藏能力為各分塊峰值點總和,例如Lena各分塊峰值點個數(shù)和為81 231個,即其嵌入容量為81 231 bit。在嵌入率為100%的情況下,即各分塊可嵌入位置均嵌入秘密信息,且考慮最壞的情況(秘密信息均設置為1),嵌入圖像仍具有較小的失真,且在秘密信息提取以后,圖像得以完全恢復,相關實驗結果如圖7所示。
4.2 統(tǒng)計結果和性能分析
1)可逆性測試
本節(jié)中,針對算法的可逆性進行了測試,使用歸一化系數(shù)(NC)值來判斷恢復圖像和原始圖像是否一致。NC值的計算方法如式(24)所示。
NC(I1,I2)=∑Mi=1∑Nj=1I1(i,j)I2(i,j)∑Mi=1∑Nj=1I1(i,j)2∑Mi=1∑Nj=1I2(i,j)2
(24)
其中:I1(i,j)和I2(i,j)分別為原始圖像和恢復圖像的像素值,M和N分別為圖像的寬度和高度。如果計算出的NC值為1,則表示提取信息后的恢復圖像和原始圖像具有一致性,即該算法是可逆的。五幅圖像的NC結果統(tǒng)計如表3所示,實驗結果表明該算法是可逆的。
2)嵌入容量對比
本文統(tǒng)計了NMDRDH在五幅標準測試圖像下的嵌入容量,并將之與最新算法進行了對比,結果如表4所示。實驗結果表明,該方法的嵌入能力明顯優(yōu)于其他方法。
圖8列出了不同方案下嵌入容量的均值對比,NMDRDH方法明顯大于其他方法。
3)峰值信噪比(peak signal-to-noise ratio,PSNR)
評估信息隱藏方法性能的另一個指標是圖像質(zhì)量,通常使用PSNR來量化。PSNR通過式(25)來計算。
PSNR=10×lg2552MSE
(25)
MSE是圖像變化前后產(chǎn)生的均方誤差,計算公式為
MSE=1MN∑Mx=1∑Ny=1[I(x,y)-Im(x,y)]2
(26)
其中:MN是像素數(shù);I(x,y)是原始圖像的像素值;Im(x,y)是嵌入圖像的像素值。假設灰度圖像大小為512×512,分塊大小為4×4,考慮最壞情況,即所有可嵌入信息均設為1。本文評估了五幅圖像的PSNR值,如表5所示,本文方法的PSNR控制在了42 dB以上。
4.3 實驗數(shù)據(jù)擴展分析
為了驗證本文算法的普適性,選擇將實驗樣本進行擴充,從USC-SPI數(shù)據(jù)庫中選擇15幅圖像作為原始圖像進行測試,實驗結果如表6所示。從均值可以看出,本文方法嵌入容量遠遠大于其他三種直方圖平移方法,且PSNR值控制在了42 dB以上,嵌入圖像具有較小的失真。
5 結束語
本文提出了一種基于相鄰均值差的可逆信息隱藏(NMDRDH)算法,相比于傳統(tǒng)的差值計算方法,NMD方法能夠減小差異,使數(shù)據(jù)更加集中。將NMD方法用于構造差值圖像,由于圖像整體波動較小,可使差值圖像中更多的像素值趨于0,生成的直方圖具有更多的峰值點,所以,該方法可以嵌入更多的秘密信息。與其他差值直方圖方法相比,NMDRDH顯著提高了嵌入容量,并且生成的嵌入圖像具有較小的失真。今后,筆者將努力在擴大嵌入能力的同時,確保圖像質(zhì)量,并將此方案應用于加密圖像。
參考文獻:
[1]Rustad S,Andono P N,Shidik G F.Digital image steganography survey and investigation(goal,assessment,method,development,and dataset)[J].Signal Processing,2023,206:108908.
[2]Kunhoth J,Subramanian N,Al-Maadeed S,et al.Video steganography:recent advances and challenges[J].Multimedia Tools and Applications,2023,82(27):41943-41985.
[3]張成,歐博,廖鑫.基于JPEG圖像的模塊化可逆信息隱藏方法[J].計算機應用研究,2024,41(4):1177-1183.(Zhang Cheng,Ou Bo,Liao Xin.Reversible data hiding method for JPEG images based on modularized optimization[J].Application Research of Computers,2024,41(4):1177-1183.)
[4]Shi Yunqing,Li Xiaolong,Zhang Xinpeng,et al.Reversible data hi-ding:advances in the past two decades[J].IEEE Access,2016,4:3210-3237.
[5]剡瑞霞,賈淵,高琳.基于隨機分布圓形模板的抗屏攝盲水印算法[J].計算機應用研究,2023,40(2):577-582,588.(Shan Ruixia,Jia Yuan,Gao Lin.Anti-screening blind watermarking algorithm based on randomly distributed circular template[J].Application Research of Computers,2023,40(2):577-582,588.)
[6]De La Croix N J,Ahmad T,Han Fengling.Comprehensive survey on image steganalysis using deep learning[J].Array,2024,22:100353.
[7]Si Wenjun.Image data privacy protection technology based on reversible information hiding and robust secret sharing[J].Intelligent Systems with Applications,2024,23:200396.
[8]Chai Xiuli,Cao Gongyao,F(xiàn)u Zhifeng,et al.High-capacity reversible data hiding in encrypted medical images using adaptive pixel-modulation and HBP-RMC[J].Biomedical Signal Processing and Control,2024,95:106424.
[9]Ren Fang,Liu Yuge,Zhang Xing,et al.Reversible information hiding scheme based on interpolation and histogram shift for medical images[J].Multimedia Tools and Applications,2023,82(18):28445-28471.
[10]Liu Ruihua,Zhou Quan,Liu Juanni,et al.Separable reversible data hiding in encrypted images for remote sensing images[J].Entropy,2023,25(12):1632.
[11]Qu Lingfeng,Li Mohan,Chen Peng.Reversible data hiding in encryp-ted image with secure multi-party for telemedicine applications[J].Biomedical Signal Processing and Control,2024,93:106209.
[12]Lakhani A,Gupta N,Anand A.Enhancing robustness and security of medical images through composite watermarking method[M]//Soft Computing.Berlin:Springer,2024:1-14.
[13]Honsinger C W,Jones P W,Rabbani M,et al.Lossless recovery of an original image containing embedded data:U.S.Patent 6,278,791[P].2001-08-21.
[14]Chen Y,Hsia C H,Jhong S Y,et al.Data hiding method for AMBTC compressed images[J].Journal of Ambient Intelligence and Humanized Computing,2023,14(11):14785-14793.
[15]Basit A,Toor W T,Saadi M,et al.Reversible encryption and lossless data hiding for medical imaging aiding smart health care[J].Cluster Computing,2023,26(5):2977-2991.
[16]Zhao Yan,Wang Yilin,Qin Chuan.Lossless data hiding for JPEG image with optimized Huffman table[J].Signal Processing,2023,205:108891.
[17]Tian Jun.Reversible data embedding using a difference expansion[J].IEEE Trans on Circuits and Systems for Video Technology,2003,13(8):890-896.
[18]廖文興,劉成語,林松,等.基于圖像偽裝與雙向差值擴展的密文域可逆信息隱藏算法[J].計算機應用研究,2024,41(2):596-601.(Liao Wenxing,Liu Chengyu,Lin Song,et al.Information hiding algorithm based on image camouflage and bidirection difference expansion[J].Application Research of Computers,2024,41(2):596-601.)
[19]Ni Zhicheng,Shi Yunqing,Ansari N,et al.Reversible data hiding[J].IEEE Trans on Circuits and Systems for Video Technology,2006,16(3):354-362.
[20]Kamil K S,Sahu M,Raghunandan K R,et al.Secure reversible data hiding using block-wise histogram shifting[J].Electronics,2023,12(5):1222.
[21]Wang Yaomin,Xiong Gangqiang,He Wenguang.High-capacity reversi-ble data hiding in encrypted images based on pixel-value-ordering and histogram shifting[J].Expert Systems with Applications,2023,211:118600.
[22]祁凱莉,張敏情,柯彥,等.基于自適應MSB與差值預測的大容量密文域可逆信息隱藏算法[J].計算機應用研究,2023,40(2):571-576.(Qi Kaili,Zhang Minqing,Ke Yan,et al.High capacity reversible data hiding algorithm in encrypted image based on adaptive MSB and difference prediction[J].Application Research of Computers,2023,40(2):571-576.)
[23]Lin C,Tai Weiliang,Chang C.Multilevel reversible data hiding based on histogram modification of difference images[J].Pattern Recognition,2008,41(12):3582-3591.
[24]Anushiadevi R,Amirtharajan R.Separable reversible data hiding in an encrypted image using the adjacency pixel difference histogram[J].Journal of Information Security and Applications,2023,72:103407.