李亞翔, 張顯全,2,3, 俞春強(qiáng), 唐振軍,2
(1. 廣西師范大學(xué) 計算機(jī)科學(xué)與信息工程學(xué)院, 廣西 桂林 541004;2. 廣西師范大學(xué) 廣西多源信息挖掘與安全重點實驗室, 廣西 桂林 541004;3. 桂林電子科技大學(xué) 廣西高校云計算與復(fù)雜系統(tǒng)重點實驗室, 廣西 桂林 541004)
隨著互聯(lián)網(wǎng)的發(fā)展,保障信息安全的信息隱藏技術(shù)[1]日益受到研究者們的關(guān)注.信息隱藏技術(shù)在不影響載體文件正常使用的前提下,將秘密信息隱藏于載體文件中,具有隱秘通信、版權(quán)保護(hù)等功能.可逆信息隱藏技術(shù)(RDH)不僅能夠無損提取嵌入的秘密信息,還可以實現(xiàn)載體的無損恢復(fù).因此,RDH被廣泛地應(yīng)用于軍事、醫(yī)學(xué)、司法鑒定等領(lǐng)域.常見的可逆信息隱藏技術(shù)有基于無損壓縮算法、基于差值擴(kuò)展算法和基于直方圖平移算法.基于無損壓縮算法通過壓縮載體圖像的冗余信息騰出空間,實現(xiàn)秘密信息的嵌入[2-4].基于差值擴(kuò)展算法通過擴(kuò)展相鄰像素獲得空間,實現(xiàn)可逆信息的嵌入[5-6].基于直方圖平移算法對直方圖進(jìn)行移位,實現(xiàn)信息的可逆嵌入,該算法主要有基于原始像素直方圖平移、像素差值直方圖平移和預(yù)測誤差直方圖平移3類[7-10].文獻(xiàn)[11]采用圖像奇偶像素列交錯預(yù)測方法提高像素的預(yù)測精度,進(jìn)一步提高嵌入容量和載密圖像的保真度.文獻(xiàn)[12]對每個像素相鄰的4個像素進(jìn)行預(yù)測,其預(yù)測精度較文獻(xiàn)[11]有了進(jìn)一步提高.文獻(xiàn)[13]采用基于多元線性回歸預(yù)測方法,通過待預(yù)測像素3 px×5 px鄰域中的10個像素構(gòu)建多元線性回歸函數(shù)矩陣進(jìn)行預(yù)測,但由于訓(xùn)練樣本像素方向及需學(xué)習(xí)的特征維度過多,且訓(xùn)練數(shù)據(jù)較少,出現(xiàn)過擬合問題,故預(yù)測效果不佳.文獻(xiàn)[14]采用固定權(quán)重的相鄰像素預(yù)測方法.
為了提高圖像信息隱藏算法的信息隱藏容量和載密圖像的保真度,本文提出一種采用相鄰像素預(yù)測的可逆信息隱藏算法.
多元線性回歸[15]通過已知數(shù)據(jù)找到一個線性方程來描述兩個及兩個以上的自變量與因變量之間的關(guān)系,并以此預(yù)測數(shù)據(jù).構(gòu)建多組線性映射方程,其矩陣形式為
Y=βX+ε.
(1)
多元線性回歸方程組求解采用最小二乘法,構(gòu)建函數(shù)F(β)=βX-Y2,當(dāng)sum(ε2i)(i=0,…,m)和F(β)取值最小時,得到回歸系數(shù)β的值,實現(xiàn)對目標(biāo)變量的預(yù)測.
圖1 像素選擇示意圖Fig.1 Schematic diagram of pixel selection
自然圖像的局部像素間存在較強(qiáng)的相關(guān)性,故通過待預(yù)測像素的相鄰像素建立局部線性預(yù)測模型,運用多元線性回歸方法確定預(yù)測模型的參數(shù),從而實現(xiàn)對待預(yù)測像素的預(yù)測.像素選擇示意圖,如圖1所示.
設(shè)xm,n為待預(yù)測像素,3個相鄰像素為xm,n+1,xm+1,n,xm+1,n+1,則預(yù)測值x′m,n為
x′m,n=β0+β1xm,n+1+β2xm+1,n+β3xm+1,n+1.
(2)
式(2)中:β0~β3為4個未知參數(shù).
將xm,n+1,xm+1,n,xm+1,n+1作為目標(biāo)像素,分別建立線性方程組求解β0~β3.相鄰像素預(yù)測的像素選擇示意圖,如圖2所示.
(a) xm,n+1 (b) xm+1,n (c) xm+1,n+1 圖2 相鄰像素預(yù)測的像素選擇示意圖Fig.2 Schematic diagram of pixel selection for adjacent pixels prediction
目標(biāo)像素xm,n+1,xm+1,n,xm+1,n+1的方程組矩陣為
(3)
為了提高預(yù)測的準(zhǔn)確性并訓(xùn)練收斂速度,參數(shù)的計算應(yīng)與待預(yù)測像素xm,n高度相關(guān),因此,建立與待預(yù)測像素xm,n及目標(biāo)像素xm,n+1,xm+1,n,xm+1,n+1都相鄰的像素的線性方程組,以增加約束條件,減少預(yù)測誤差,有
(4)
將式(3),(4)合并,可得
(5)
求解式(5)可得β0~β3,將其代入式(2),可得到局部線性預(yù)測模型.
在局部線性預(yù)測模型的待預(yù)測像素區(qū)域中,為了保證像素預(yù)測的準(zhǔn)確性,圖像右側(cè)兩列和下端兩行的像素不進(jìn)行預(yù)測和隱藏信息,其余區(qū)域可作為預(yù)測區(qū)域.
在秘密信息嵌入的過程中,對預(yù)測區(qū)域依次由上到下,由左到右按行方式遍歷像素.通過預(yù)測模型對當(dāng)前像素xi,j進(jìn)行預(yù)測,得到預(yù)測值x′i,j,預(yù)測誤差ei,j=xi,j-x′i,j,并繪制預(yù)測誤差直方圖.采用文獻(xiàn)[12]的隱藏方法,根據(jù)秘密信息量S選擇直方圖“0”值兩側(cè)的閾值Tl和Tr,將閾值對應(yīng)的直方圖兩側(cè)的像素進(jìn)行平移,并對載體像素進(jìn)行加減操作,從而將秘密信息嵌入載體圖像.
(6)
嵌入信息區(qū)域的像素依舊存在局部相關(guān)性,改變圖像遍歷方式,將上端和左側(cè)兩行作為保留區(qū)域,對預(yù)測區(qū)域依次由下到上,由右到左按行方式遍歷像素,并通過目標(biāo)像素左上角像素對其進(jìn)行預(yù)測,實現(xiàn)圖像所有區(qū)域的信息嵌入.
通過上述操作,可實現(xiàn)秘密信息的可逆隱藏,得到載密圖像.
秘密信息的提取和載體圖像的恢復(fù)是嵌入過程的逆操作.最后兩行和最后兩列像素保持不變,通過由下到上,由右到左按行方式依次處理載密區(qū)域像素.首先,通過預(yù)測模型對當(dāng)前像素進(jìn)行預(yù)測,得到x′i,j,ei,j.然后,通過ei,j,Tl,Tr提取秘密信息.
秘密信息s的提取過程為
(7)
原始圖像像素xi,j為
(8)
因此,通過式(7),(8)可以無損恢復(fù)載體圖像和提取秘密信息.
從BOWS-2標(biāo)準(zhǔn)圖像庫中選取4幅512 px×512 px的灰度圖像Airplane,Baboon,Lena和Sailboat作為實驗測試圖像,如圖3所示.
(a) Airplane (b) Baboon (c) Lena (d) Sailboat 圖3 實驗測試圖像Fig.3 Experimental test images
通過預(yù)測誤差直方圖在“0”值附近的高度(預(yù)測誤差的個數(shù))驗證文中算法的預(yù)測效果.“0”值像素越多,表明預(yù)測精度越高;反之,則預(yù)測精度越低.
此外,采用峰值信噪比(PSNR)作為評價圖像信息嵌入容量和保真度的指標(biāo).峰值信噪比越大,則圖像的信息嵌入容量越大,保真度越高,失真越小;峰值信噪比越小,則圖像的信息嵌入容量越小,保真度越低,失真越大.
峰值信噪比的計算公式為
(9)
式(9)中:RPSN表示峰值信噪比;I(i,j),C(i,j)分別為原始圖像和載密圖像對應(yīng)點的像素坐標(biāo)值;m,n分別為圖像的寬和高.
對測試圖像預(yù)測區(qū)域由上到下,由左到右依次遍歷像素,并通過式(2)計算預(yù)測值.為保證嵌入信息的正確提取,圖像進(jìn)行信息隱藏的實際像素區(qū)域為510 px×510 px.
測試圖像的預(yù)測誤差直方圖,如圖4所示.圖4中:e為預(yù)測誤差;N為預(yù)測誤差的數(shù)量.由圖4可知:預(yù)測誤差直方圖呈正態(tài)分布,中間高,兩端逐漸下降;在峰值點“0”處,相較于紋理區(qū)域的圖像(Baboon),文中算法對平滑區(qū)域圖像(Airplane)的預(yù)測效果更好.這是因為紋理區(qū)域局部像素相關(guān)性較弱,相鄰像素點間的像素值變化較大,不一定呈線性關(guān)系,導(dǎo)致根據(jù)相鄰像素預(yù)測的局部特征相對實際特征有一定偏差;而平滑區(qū)域局部像素相關(guān)性較強(qiáng),相鄰像素點間的像素值變化較小,預(yù)測偏差較小.
(a) Airplane (b) Baboon
(c) Lena (d) Sailboat圖4 測試圖像的預(yù)測誤差直方圖Fig.4 Prediction error histogram of test images
為了確定文中算法的預(yù)測效果,在[-10,10] px的預(yù)測誤差區(qū)間內(nèi),將文獻(xiàn)[10]算法、文獻(xiàn)[13]算法與文中算法進(jìn)行比較.不同算法的預(yù)測誤差對比,如圖5所示.由圖5可知:相較于文獻(xiàn)[10]算法和文獻(xiàn)[13]算法,文中算法的預(yù)測精度皆有所提高.
(a) Airplane (b) Baboon
(c) Lena (d) Sailboat 圖5 不同算法的預(yù)測誤差對比Fig.5 Comparison of prediction errors of different algorithms
圖6 不同算法的預(yù)測誤差直方圖的峰值對比Fig.6 Comparison of peak value of predictionerror histogram in different algorithms
為進(jìn)一步對比預(yù)測算法效果的一般性,從BOWS-2標(biāo)準(zhǔn)圖像庫中隨機(jī)選取100幅圖像作為測試樣本,將文中算法與文獻(xiàn)[13]算法進(jìn)行比較.不同算法的預(yù)測誤差直方圖的峰值對比,如圖6所示.圖6中:n為峰值點的個數(shù);d為圖片數(shù)量.由圖6可知:相較于文獻(xiàn)[13]算法,文中算法有較高的預(yù)測精度,且具有一般性.
為了進(jìn)一步驗證信息嵌入容量和圖像的保真度,將文獻(xiàn)[10]算法、文獻(xiàn)[13]算法和文中算法的峰值信噪比進(jìn)行比較.根據(jù)嵌入信息容量S自適應(yīng)選擇直方圖的平移位并向外側(cè)移一位,騰出嵌入位以實現(xiàn)可逆嵌入.不同算法的峰值信噪比的對比,如圖7所示.由圖7可知:嵌入秘密信息量越大,載密圖像的峰值信噪比越??;在信息嵌入容量一定的情況下,文中算法的峰值信噪比大于文獻(xiàn)[10]算法和文獻(xiàn)[13]算法.
(a) Airplane (b) Baboon
(c) Lena (d) Sailboat 圖7 不同算法的峰值信噪比的對比Fig.7 Comparison of peak signal-to-noise ratio in different algorithms
實驗結(jié)果表明,文中算法不僅能提高信息嵌入容量,還能提高載密圖像的保真度.因此,文中算法可以提高預(yù)測精度,降低載密圖像的失真度,從而有效地提升圖像可逆信息隱藏的能力.
提出一種局部線性預(yù)測模型對待預(yù)測像素進(jìn)行預(yù)測,經(jīng)預(yù)測誤差直方圖的平移實現(xiàn)可逆信息隱藏.通過該預(yù)測模型可以確定線性預(yù)測關(guān)系,提升預(yù)測算法的預(yù)測精度,提高可逆信息的嵌入能力.在相同嵌入容量的情況下,文中算法比文獻(xiàn)[10]算法、文獻(xiàn)[13]算法具有更高的圖像保真度.