王婧晗,朱輝,李鶴麟,李暉,楊曉鵬
(西安電子科技大學(xué),陜西 西安 710126)
信息隱藏技術(shù)[1]通過將秘密信息隱藏在可公開的媒體數(shù)據(jù)中從而實現(xiàn)隱蔽通信的目的。近年來,隨著互聯(lián)網(wǎng)和數(shù)字通信技術(shù)的快速發(fā)展,數(shù)字媒體的數(shù)據(jù)量爆發(fā)增長,信息隱藏技術(shù)的應(yīng)用場景持續(xù)拓展,受到人們越來越多的關(guān)注,被廣泛應(yīng)用于隱蔽信息傳輸、身份認證等場景。傳統(tǒng)的信息隱藏技術(shù)在嵌入信息時會在一定限度上給原始載體帶來不可逆轉(zhuǎn)的失真,從而破壞原始載體的數(shù)據(jù)完整性。為解決上述問題,可逆信息隱藏(RDH,reversible data hiding)[2]應(yīng)運而生,其可以將數(shù)據(jù)隱藏在數(shù)字圖像中的同時,實現(xiàn)原始載體信息在信息提取方的完全無損恢復(fù)。
當前,可逆信息隱藏方案聚焦于在提高嵌入容量的同時降低載密圖像的失真率,其主要采用基于直方圖移動[2-5]和差值拓展[6-9]的方法進行設(shè)計。Ni等[2]首次提出通過平移圖像的強度直方圖來嵌入數(shù)據(jù)的方法,將灰度直方圖中處于峰值的像素值整體向左或向右平移,使峰值點的像素個數(shù)降為零,進而將秘密信息嵌入峰值點處。該算法通過維持高峰值信噪比(PSNR,peak signal to noise ratio)來獲得載密圖像更低的失真程度,進而得到更高質(zhì)量的載密圖像,但由于不同圖像的強度直方圖的峰值不同,該算法嵌入容量穩(wěn)定性較差。Hu等[6]通過擴大相鄰像素的差值,創(chuàng)建一個冗余的最小有效位(LSB,least significant bit)用于信息嵌入,在可逆信息隱藏中取得了重要進展。之后,作為差值拓展的擴充,陸續(xù)有學(xué)者提出通過計算預(yù)測因子提高嵌入容量的算法[6-7]。該類算法使用相鄰像素間的相關(guān)性對原始載體圖像進行像素值預(yù)測,并進一步利用預(yù)測差值拓展與直方圖平移的思想進行嵌入運算,保證了原始圖像無損恢復(fù)。Li等[8]利用圖像之間的相關(guān)性,通過隔位構(gòu)造預(yù)測器,解決了覆蓋圖像失真率隨嵌入有效載荷增加而增加的問題,獲得了更高的PSNR值和失真度更低的載密圖像。
隨著圖像處理技術(shù)的日益成熟,基于圖像增強的可逆信息隱藏技術(shù)開始在醫(yī)學(xué)圖像和衛(wèi)星圖像等領(lǐng)域應(yīng)用,研究人員相繼提出了一批結(jié)合對比度增強的可逆信息隱藏方案,實現(xiàn)了在傳輸秘密信息的同時提升圖像明暗對比度的效果[10-12],所提的算法不再試圖保持高PSNR值,而是強調(diào)人眼對圖像亮度變化的敏感性以及對圖像細節(jié)的理解。其中,Wu等[12]使用銳化算法,增強圖像高頻部分的內(nèi)容,通過預(yù)測因子與像素真實值的差值和銳化差值來攜帶秘密信息,從而提升圖像明暗對比度的視覺效果,但由于其對銳化差值修改的閾值過小,導(dǎo)致算法的嵌入容量較現(xiàn)有的算法提升不大。與此同時,增強圖像平滑度逐漸成為圖像發(fā)布前的常規(guī)操作,文獻[13]首次提出可逆的膚色平滑算法,將信息嵌入人臉圖像后對載密圖像進行膚色平滑,可以在數(shù)據(jù)傳輸?shù)耐瑫r增加載密圖像的視覺效果。但該方案并未將膚色平滑算法與信息隱藏算法結(jié)合,計算復(fù)雜且安全性較低。
鑒于目前的大部分文獻聚焦于增強圖像的對比度,而很少關(guān)注圖像視覺平滑度的問題,本文提出一種增強圖像平滑度的可逆信息隱藏方案,根據(jù)高斯濾波算法具有消除噪聲保持達到圖像平滑的特征,構(gòu)造高斯濾波機制,進而將其與可逆信息隱藏算法結(jié)合,實現(xiàn)了在保證原始載體圖像嵌入容量與失真率的同時增強載密圖像視覺平滑度的效果。
典型的可逆信息隱藏系統(tǒng)框架由信息嵌入方、信息提取方和攻擊者組成,其系統(tǒng)框架如圖1所示,具體說明如下。
圖1 系統(tǒng)框架Figure 1 system framework
信息嵌入方:原始圖像的采集者和秘密信息的擁有者。首先通過與信息提取方協(xié)商生成隱藏密鑰和加解密密鑰,然后選擇原始圖像和待嵌入的二進制比特秘密信息,并根據(jù)隱藏密鑰將加密后的秘密信息嵌入原始圖像中,發(fā)送給信息提取方。
信息提取方:待獲取秘密信息的合法接收者。根據(jù)隱藏密鑰提取載體圖像中加密的秘密信息,并且恢復(fù)原始載體圖像。授權(quán)的圖像提取方可以正確提取載密圖像中加密的秘密信息,從而使用解密密鑰恢復(fù)秘密信息,并最終獲得原始圖像。圖像可以發(fā)送到多個接收器,非授權(quán)的信息提取方即使獲得載密圖像也無法得到秘密信息。
攻擊者:試圖通過非法途徑獲取秘密信息的實體。在載密圖像傳輸過程中,假設(shè)攻擊者可以獲取該方案的變換過程和部分載密圖像,在沒有隱藏密鑰與加解密密鑰的情況下破解信息嵌入方的秘密信息。
本文方案由圖像預(yù)處理、信息嵌入、信息提取3部分組成。所提方案的工作流程如圖2所示,信息嵌入方選擇不同的高斯濾波核系數(shù)作為隱藏密鑰EK來控制模擬高斯濾波過程,使用中值預(yù)測器獲得預(yù)測差值[14],在預(yù)測差值上使用差值平移的方法嵌入加密后的數(shù)據(jù),并采用高斯濾波的方式,對預(yù)測值進行高斯計算獲得濾波差值,將濾波差值可逆地插入載體數(shù)據(jù)中得到載密圖像。信息提取方在收到載密圖像后恢復(fù)預(yù)測差值與濾波差值,并使用預(yù)測差值來提取秘密信息,借助濾波差值來恢復(fù)原始載體圖像。
圖2 所提方案的工作流程Figure 2 The workflow of the proposed scheme
其中,根據(jù)不同的情況用戶可以設(shè)計不同的濾波核系數(shù)生成隱藏密鑰EK。在秘密信息傳輸前,信息嵌入方和信息提取方可以使用任意非對稱加密算法將隱藏密鑰EK與加解密密鑰SK進行共享。表1為所提方案中涉及的相關(guān)符號說明。
表1 所提方案中涉及的相關(guān)符號說明Table 1 The symbols involved in the proposed scheme
令O(x,y)表示8 bitNN×大小的原始灰度圖像,并將除去前r行(r由載體圖像實際情況確定,建議取值為4)像素的O(x,y)按照圖3所示區(qū)域劃分為參考像素與非參考像素。由于本文所提方案中使用的中值預(yù)測器需保證左上方像素值不變,同時在不拓展圖像大小的前提下濾波器無法覆蓋到圖像的邊緣像素值,需要將載體圖像的外圍像素,即灰色區(qū)域設(shè)置為參考像素,白色區(qū)域設(shè)置為非參考像素。為了保證載體圖像可以無恢復(fù),參考像素在嵌入過程中保持不變。
圖3 參考像素與非參考像素分布示例Figure 3 Example of reference and non-reference pixels
本環(huán)節(jié)中輸入原始灰度圖像O(x,y)和秘密信息s,應(yīng)用所提出的基于高斯濾波的可逆信息嵌入算法(如算法1所示),輸出載密圖像。其中,LM為記錄特殊像素點的位置圖。具體工作流程如下。
(1)生成加密秘密信息
將載體圖像前r行像素值的最低有效位(LSB,least significant bit)與秘密信息比特流s拼接后使用AES加密算法[15]加密得到加密后的秘密信息比特流m。除前r行外的像素進行下述操作。
(2)計算預(yù)測差值
如圖3所示,從左上角圓形像素為起點掃描O(x,y),根據(jù)式(2)計算當前掃描點的預(yù)測值,并通過Δ=P(x,y)?O(x,y)計算得到預(yù)測差值Δ。
算法1信息嵌入算法
輸入原始圖像O,高斯濾波核W,秘密信息s,位圖LM
輸出載密圖像S
(3)計算濾波差值
根據(jù)隱藏密鑰EK和式(1)對預(yù)測值P(x,y)應(yīng)用高斯濾波算法得到預(yù)測濾波值C(x,y),進而計算濾波差值fd=C(x,y)?P(x,y)。
(4)預(yù)測差值拓展
使用預(yù)測差值拓展和直方圖平移的方法按照式(1)將秘密信息m嵌入預(yù)測差值Δ中,得到修改預(yù)測差值Δ′。
其中,T為控制預(yù)測差值拓展的嵌入閾值,{i∈m|k=1,2,3,…,n}。
(5)生成載密圖像
通過數(shù)據(jù)可逆嵌入后,原始像素O(x,y)最終被修改為
(6)更正像素值
若通過生成載密圖像步驟計算得到的S′值0≤S′≤255,則最終的載密圖像像素值S(x,y)=S'(x,y);否則該點像素值超出范圍,S(x,y)=O(x,y);并在LM中將該位置的點標記為1。按照從左到右、從上到下的順序計算S(x,y),但到灰色區(qū)間時不做任何操作。
(7)輔助信息嵌入
對LM使用稀疏矩陣的壓縮算法進行壓縮,并使用最末比特位算法[16]將壓縮后的LM嵌入S的前r行的像素中。
信息提取方在得到載密圖像后,首先,通過隱藏密鑰EK獲得與信息嵌入方嵌入時相同的濾波核系數(shù)σ;然后,使用最末比特位算法提取出LM后即可提取秘密信息,借助該位秘密信息恢復(fù)出原始載體圖像像素值O(x,y)。具體工作流程如下。
1) 獲取計算位置。如圖3中三角形像素點所示,以右下角像素為起點掃描S(x,y),同時進行原始圖像恢復(fù)。此時,圖像中已攜帶信息或被更改的非參考像素與原始圖像的像素值不同,而參考像素由于不攜帶信息未被更改。
2) 計算預(yù)測值和濾波值。若LM在當前位置的值為1,表明該點并未攜帶信息,則更新下一個像素值;否則,根據(jù)式(2)計算當前S(x,y)的預(yù)測值P(x,y),并根據(jù)由σ計算出的濾波模板對預(yù)測值P(x,y)進行濾波計算,得出C(x,y)。
3) 計算濾波差值和修改預(yù)測差值。計算濾波差值fd=C(x,y)?P(x,y),進而計算得出嵌入秘密信息的修改預(yù)測差值Δ′=S(x,y)?P(x,y)?fd 。
4) 提取加密秘密信息。根據(jù)對得到的Δ′不同取值進行判斷即可得到位置(x,y)所攜帶的秘密信息。
5) 計算原始預(yù)測差值。在提取出當前像素點S(x,y)所攜帶的加密秘密信息后,計算原始預(yù)測差。
6) 恢復(fù)原始像素值。在得到和原始像素值相同的預(yù)測值P(x,y)和預(yù)測差值Δ后,計算得到位置(x,y)的原始載體像素值O(x,y)=P(x,y)+Δ。
7) 循環(huán)修正圖像?;謴?fù)載體圖像。按照從右到左、從下到上的順序?qū)ο袼刂颠M行循環(huán)計算,但到灰色區(qū)間時不做任何操作,在提取信息的同時即可恢復(fù)出原始載體圖像信息。
8) 解密原始信息。使用加解密密鑰EK對加密秘密信息m進行解密,得到前r行像素值的LSB與秘密信息比特流s,并根據(jù)最末比特位算法將前4行像素值的LSB恢復(fù)。
在嵌入階段,秘密信息m通過對原始載體圖像像素值O(x,y)按照從左到右、從上到下的順序修改進行嵌入。對于滿足閾值的像素點,通過對其進行預(yù)測差值平移來嵌入秘密信息mi,使平移后的預(yù)測差值Δ′與秘密信息mi形成對應(yīng)關(guān)系;信息提取方基于這種對應(yīng)關(guān)系可以正確地提取信息并恢復(fù)出原始載體像素值O(x,y)。
在載密圖像生成過程中,對于每個像素而言,無論是否攜帶秘密信息mi,都需要經(jīng)過像素值平滑度增強的處理。信息提取方按照與嵌入算法相反的順序進行處理可以得到每個像素點在嵌入階段的原始預(yù)測值P(x,y)和濾波值C(x,y),借助預(yù)測值P(x,y)和濾波值C(x,y)恢復(fù)出平移后的預(yù)測差值即可得到秘密信息和平移前預(yù)測差值Δ,從而恢復(fù)出該點的原始像素值O(x,y)。
通過逐層提取恢復(fù),原始圖像恢復(fù)的正確性可以達到100%。進一步,由式(2)所知,所提方案的載密圖像S(x,y)由預(yù)測值P(x,y)、濾波差值fd、嵌入后預(yù)測差值Δ′疊加而成。因此,本文方案的正確恢復(fù)性由P(x,y)、fd、Δ′的可逆性支撐。
1) 預(yù)測值P(x,y)的可逆性。在信息提取方進行圖像恢復(fù)時,提取信息的順序與嵌入時是完全相反的。預(yù)測器只需要保證當前像素點的左、上、左上的像素值沒有變化即可正確恢復(fù)出預(yù)測值。按照與嵌入算法相反的順序進行信息提取,可以確保信息提取方計算每個像素點時該點的左、上、左上方的像素值已經(jīng)被正確恢復(fù),從而保證預(yù)測值的可逆性。
2) 濾波差值fd的可逆性。在提取信息時,信息提取方從右下角的非參考像素開始進行計算,以圖3中三角形像素點為例,此時該像素左、上、左上方的像素值均未改變,由預(yù)測值的可逆性可以計算得到與該像素點嵌入時完全相同的預(yù)測值P(x,y)。由于該點在嵌入算法中是最后一個更新計算的像素點,此時其周圍3×3區(qū)域內(nèi)的像素都沒有變化,且卷積的過程是完全可逆的,故使用預(yù)測值P(x,y)進行卷積計算后可以得到與嵌入時相同的濾波差值fd,以此來達到濾波差值fd的可逆性。對于其他位置的像素點來說,因為提取的順序與嵌入的順序相反,當計算到當前像素點時,與它相關(guān)的像素點已經(jīng)全部恢復(fù)完畢,從而保證了整張圖片平滑效果的可逆性。
3) 嵌入后預(yù)測差值Δ′可逆性。在嵌入秘密信息時,預(yù)測差值Δ的修改結(jié)果與所攜帶的秘密信息一一對應(yīng)。以圖4所示的Δ=1為例,當T=1、待嵌入的秘密信息比特為0或1時,由式(1)分別得到Δ′為2或3,并且不同的Δ在經(jīng)過式(1)的嵌入后得到的Δ′互不相交,形成了Δ、Δ′、秘密信息比特之間的一一對應(yīng)關(guān)系。所以,當信息提取方通過預(yù)測值可逆性和濾波差值可逆性計算得到Δ′后可以正確提取秘密信息同時獲得Δ值。綜上,本文方案可保證原始載體信息無損地正確恢復(fù)。
圖4 嵌入可逆性示例Figure 4 Embed reversibility example
此外,通過在信息嵌入方和信息提取方間共享隱藏密鑰EK與秘密信息加密密鑰SK構(gòu)建數(shù)據(jù)安全傳輸通道。對于擁有隱藏密鑰的信息提取方,只需要得到載密圖像即可完成提取和恢復(fù)的步驟,不需要信息嵌入方傳輸原始圖像。本文通過執(zhí)行暴力攻擊[17]來分析安全性,假設(shè)攻擊者獲得了該方案的變換過程并通過特殊方法得到了載密圖像,并在不知道密鑰的情況下推斷秘密信息,可以對密鑰的可能性進行搜索。由于AES-256的加密密鑰長度為256 bit,且由濾波核系數(shù)σ組成的隱藏密鑰的密鑰空間為26~27,因此,攻擊者通過窮舉的方法搜索密鑰值的試驗次數(shù)為2262~2263,在現(xiàn)有的計算環(huán)境下是無法實現(xiàn)的。
為驗證本文所提方案的有效性和性能,本節(jié)對提出的可逆信息隱藏方案進行視覺效果分析、圖像質(zhì)量分析、嵌入容量分析和方案效率分析,并選取經(jīng)典灰度圖像、BOSSBase數(shù)據(jù)集[18]和LFW數(shù)據(jù)集[19]作為測試對象。其中, BOSSBase數(shù)據(jù)集包含10 000幅512×512的灰度圖像,LFW數(shù)據(jù)集包含13 233幅250×250的彩色人臉圖像。
為驗證本文方案對載體圖像平滑度的增強效果,本文通過對比分析所提方案和高斯濾波方案分別處理后生成的圖像矩陣相似度r=進行評估。其中,MN、為圖像寬度與高度,AB、為待評估圖像,為圖像像素值平均值。
通過對圖5(a)的原始圖像分別應(yīng)用高斯濾波方法和本文所提方案生成圖5(b)和圖5(c)。對比三張圖片箭頭處區(qū)域可以看出,所提方案生成的載密圖像與原始圖像相比具有一定的平滑效果。
圖5 視覺質(zhì)量對比Figure 5 Contrast of visual quality
進一步,隨機選取圖5(a)、圖5(b)和圖5(c)中相同位置的4×4區(qū)域的R通道像素值,進行對比分析,如圖6所示,原始圖像中像素值為40的點(圖6(a)紅框區(qū)域),通過濾波核為1的高斯濾波后像素值變?yōu)?2(圖6(b)紅框區(qū)域),通過本文所提方案處理后變?yōu)?7(圖6(c)紅框區(qū)域),兩者R通道像素值相近。證明通過所提方案可以在一定限度上取得類似高斯濾波的圖像平滑效果。
圖6 4×4區(qū)域R通道像素值對比Figure 6 Comparison of pixel values of R channel in 4×4 area
最后,選取圖7中所示的4幅512×512經(jīng)典灰度圖像,采用所提方案和高斯濾波方案分別進行處理,然后計算所提方案生成圖像與原始圖像的相似度1r及高斯濾波生成圖像的相似度2r。其中,生成高斯濾波圖像時的濾波核與所提方案中使用的濾波核相同。
如表2所示,相較原始圖像,本文所提方案生成的載密圖像與經(jīng)過高斯濾波平滑后的圖像有更高的相似度。
表2 所提方案與高斯濾波圖像相似度對比Table 2 Comparison of image similarity between the proposed scheme and Gaussian filtering image
為了驗證本文所提方案的視覺效果質(zhì)量,選取圖7所示的4張經(jīng)典灰度圖像,進行結(jié)構(gòu)化相似度(SSIM,structural similarity)[20]和峰值信噪比統(tǒng)計性能分析。其中,SSIM和PSNR越高代表待評估的圖像較所對比圖像的視覺質(zhì)量越高,失真率越低。
圖7 經(jīng)典灰度圖像Figure 7 Classical gray image
具體來說,為驗證所提方案與高斯濾波方法在視覺質(zhì)量上的相似度,選取不同的嵌入閾值T,分別計算所提方案生成圖像、對比方案生成圖像與高斯濾波方法生成圖像的SSIM、PSNR,以分析所提方案相對高斯濾波方案的圖像質(zhì)量。為了從多角度驗證本文所提方案圖像質(zhì)量,分別選取基于對比度增強的可逆信息隱藏方案[21]、經(jīng)典可逆信息隱藏方案[22]與所提方案進行對比。
如表3所示,在T=1時,本文所提方案相較其他方案可以獲得更高的PSNR和SSIM,即所提方案生成的載密圖像可以獲得與高斯濾波圖像更加相近的圖像質(zhì)量。然而,本文所提方案隨著T增加,像素值的修改幅度相應(yīng)增大,也會導(dǎo)致圖像質(zhì)量下降。
表3 使用不同可逆信息隱藏方案生成載密圖像的統(tǒng)計評估Table 3 The statistic estimation on stego images in terms of different reversible data hiding schemes
本文選擇平均每像素所嵌入的比特數(shù)(bpp,bit per pixel),即嵌入率作為評判有效負載的關(guān)鍵指標。在所提方案中,使用LSB替換的方法將壓縮的位置圖嵌入前4行載體圖像的LSB中,前4行像素被替換的LSB將作為有效載荷的一部分嵌入覆蓋圖像中。也就是說,嵌入的有效負載包括:替換的LSB和秘密信息。具體來說,通過測試如圖7所示的4幅經(jīng)典灰度圖像在不同閾值下的嵌入率來分析嵌入閾值對載密圖像視覺效果和嵌入容量的影響。
測試結(jié)果如表4所示,隨著嵌入閾值T增加,嵌入容量逐漸增大,但載密圖像與高斯濾波圖像的相似度逐漸變低,同時生成的載密圖像的圖像質(zhì)量相應(yīng)降低。此外,選擇文獻[21]和文獻[22]作為凈嵌入容量的對比方案,結(jié)果如圖8所示。顯然,本文所提方案在 1T=時的嵌入率已明顯優(yōu)于文獻[21],在 5T= 時超過文獻[22],而且本文方案中隨著參數(shù)T增大嵌入率還會有較大的提高。
圖8 嵌入率性能對比Figure 8 Comparison of embedded rate
表4 嵌入閾值T對嵌入率和載密圖像相似度的影響Table 4 Influence of embedding threshold T on embedding rate and image similarity
在Intel Core i5-10210U 1.60 GHz、8.00 GB RAM,Windows10和Eclipse 4.20的測試環(huán)境下,對本文所提方案的效率進行分析。具體來說,分別使用LFW彩色圖像數(shù)據(jù)集和Bossbase灰度圖像數(shù)據(jù)集作為測試對象,計算每張圖在不同嵌入閾值T下的平均運行時間。
如表5所示,本文所提方案的信息嵌入和提取過程運行時間開銷均較小。其中,由于LFW為彩色圖像數(shù)據(jù)集,且處理彩色圖像時,需要對R、G、B這3個通道分別處理,所以方案的運行時間高于灰度圖像Bossbase數(shù)據(jù)集的運行時間。此外,盡管閾值T的不同取值會影響嵌入容量和圖像平滑度,但對方案的運行時間影響較小。因此,在特定的嵌入容量下,圖像擁有者能夠通過選擇更小的嵌入閾值T來獲得更好的圖像質(zhì)量。
表5 嵌入、提取過程運行時間分析Table 5 Analysis of time of embedding and extraction process 單位:s
本文提出了一種增強圖像平滑度的可逆信息隱藏方案,在保證一定信噪比的同時提升了載密圖像最終的視覺效果。與傳統(tǒng)的可逆信息隱藏技術(shù)不同,該方案將圖像平滑技術(shù)與可逆信息隱藏結(jié)合,使用高斯濾波作為秘密信息嵌入時像素值修改的模板,通過將預(yù)測值與原始像素值的差值作為判別嵌入的條件,實現(xiàn)信息提取方對原始載體圖像和秘密信息完全無損的恢復(fù)和提取。實驗結(jié)果表明,該方案具有較低的失真率、良好的視覺質(zhì)量、較高的嵌入率和較短的處理時耗。下一步研究將關(guān)注自適應(yīng)選取預(yù)測器以進一步提升圖像視覺質(zhì)量和嵌入容量。