姚楚茂,湯光明,辜剛林
(信息工程大學三院,河南 鄭州450000)
數字圖像隱寫是信息隱藏的一個重要分支,圖像隱寫將秘密信息嵌入在載體圖像中,在不引起第三方注意的前提下傳輸給接收方[1-3],不僅隱藏了秘密信息的內容,而且隱藏了秘密信息的存在性。矩陣編碼[4,5]是圖像隱寫常用的技術手段,以降低載體數據的利用率為代價提高了嵌入效率,能夠提高隱寫算法的安全性和嵌入容量。Crandall等[6]提出通過矩陣編碼實現高效率的隱寫方法,可使2k-1個載體數據的LSB負載k比特秘密信息,最多只需改動一個LSB;Andreas Westfeld[7]提出的F5 矩陣編碼算法,能夠有效的減少不必要的修改,具有較高的容量;Zhang等[8]提出了EMD (exploiting modification direction)隱寫編碼算法,在n個像素中嵌入一個 (2n+1)進制的秘密信息,最多只修改一個單位。矩陣編碼的優點在于能以較小的修改量達到較高的嵌入率,提高了隱寫算法的嵌入容量并且減小了嵌入造成的失真,但矩陣編碼算法的魯棒性較差,圖像的微小改動可能導致秘密信息不能正確的提取。Yao等[9]提出的EMD-like隱寫算法在像素塊的平均值上嵌入秘密信息,算法的魯棒性得到了一定的提高,但秘密信息直接嵌入在圖像空域的像素中,嵌入失真較大,而且魯棒性仍不能滿足實際需求。本文以EMD 矩陣編碼算法為基礎,利用矩陣奇異值分解的穩定性,提出了一種基于奇異值分解 (singular value decomposition,SVD)和EMD 的魯棒隱寫算法。通過對圖像塊進行奇異值分解,提取出每個小塊的最大奇異值,然后結合EMD 編碼算法以相鄰兩個小塊的最大奇異值為單位嵌入一個5 進制的秘密信息比特,在保持較高圖像質量的前提下,提高了原始EMD 編碼算法的魯棒性,能夠很好地應用于噪聲環境下的圖像信息隱藏。
EMD 隱寫算法是一種數字圖像隱寫編碼算法,它擁有隱寫容量大、修改率低等優點。EMD 編碼算法可以在長度為n的載體圖像像素中嵌入一個2n+1 進制的數,而這n個載體圖像像素僅需其中的一個像素改動一個單位的值。由于有n個圖像像素,每個像素都可以進行加減1,這就使得n個像素可以產生2n+1 (包括所有像素不變的情況)種變化,EMD 隱寫編碼算法的基本原理就是把這2n+1種變化映射為一個2n+1進制的數值。因此可以嵌入2n+1進制的數。EMD 算法的嵌入步驟如下所示:
(1)把秘密信息表示為2n+1進制的數,設秘密信息用d 表示。
(2)將載體圖像分為連續的像素組,記為g1,g2,......,gn。
(3)計算權值函數f,公式如下

(4)計算差值s=(d-f)mod(2n+1),根據s的值進行嵌入:
1)如果s為0,則像素組不進行任何修改;
2)如果s不為0,且k≤n 時,修改像素組中gs值加1,否則對g2n+1-k值進行減1。
通過上述修改規則得到修改后的像素組為g′1,g′2,......,g′n,由EMD 編碼算法的嵌入原理可得嵌入后的像素組滿足

因此提取秘密信息時即可通過式 (2)求出秘密信息比特。
以n=2為例,2個像素的變化情況有5種 (如圖1所示),可表示五進制的秘密信息比特。

圖1 n=2時像素組的變化情況
對秘密信息進行5進制數值轉換。若要嵌入的秘密信息比特為d,2個載體像素分別為g1,g2,定義權重函數為

計算差值s=(d-f)mod5,根據表1修改像素值。

表1 像素值的修改
像素值通過表1的修改后成為g′1,g′2,使得

因此,秘密信息的提取可根據式 (4)求得。
奇異值分解[10,11]是對矩陣進行數值分解的分析方法,經常運用于通信、圖像等領域,可以解決矩陣的特征值、逆矩陣等問題。
若一個實數矩陣用A 表示。矩陣A 的奇異值分解定義為

其中m 階酉矩陣U∈Rm*n和n 階酉矩陣V∈Rm*n滿足UUT=E,VVT=E。T 表示對矩陣進行轉置,σ∈Rm*n為矩陣A的酉等價標準型矩陣,對角線上的非零數值σi叫做A 的奇異值。
為了保證奇異值分解的唯一性,奇異值按照由大而小排列順序,假設灰度圖像矩陣表示為A,A 為m 行n 列的矩陣,對A 進行SVD 分解得出:A =UσVT,其中,σ即為圖像的奇異值向量,σ是非負的對角矩陣,對角線上的元素是從大到小排列的,即λ1≥λ2≥… ≥λi,因此σ可由A唯一確定。
奇異值分解具有如下性質[12]:
性質1 設矩陣A∈Rm*n,ΔA 為對矩陣A 的微小擾動,滿足A′=A+ΔA,其中A 與A′的奇異值分別滿足:σ1≥σ2≥...≥σp,δ1≥δ2≥...≥δp,其中p=min (m,n),則有

由此可知,當對矩陣A 進行微小的干擾使之產生變化,矩陣A 奇異值的變化總是小于或等于擾動矩陣的2-范數,因此圖像像素矩陣的奇異值不隨著圖像矩陣的擾動而進行大的波動;而且圖像像素矩陣的各個奇異值代表著圖像矩陣數值之間的內在關系,這種關系并不能從圖像本身的視覺上察覺,因此當圖像的奇異值進行微小的改變時,圖像從視覺上不會產生大的變化,人眼不能識別這種微笑的變化。本文的隱寫算法在EMD 矩陣編碼算法的基礎上引入基于SVD 的特征提取。SVD 提取的穩定奇異值確保了良好的魯棒性,并且EMD 矩陣編碼算法具有小的改動為圖像質量提供了保證。
載體圖像用矩陣A 表示,嵌入的秘密信息比特流為d=(d1,d2,...dn),為了保證算法的嵌入容量,對圖像矩陣A 進行分塊,對每個圖像塊進行奇異值分解提取出奇異值向量,秘密信息嵌入在每個圖像塊最大的奇異值中。根據EMD 算法的嵌入公式可知,以兩個像素點為一個單位時算法的容量最大,因此本文算法以兩個圖像塊的最大奇異值作為一個嵌入單位。算法的嵌入步驟如下:
(1)把圖像矩陣A 分成互不重疊的2*2小塊,對每個圖像塊進行SVD 分解得到奇異值向量 (σi1,σi2),提取每個小塊奇異值向量的最大奇異值σi1作為秘密信息的嵌入載體。
(2)以每兩個小塊的最大奇異值為一個單位計算權重函數f

依此類推,求出每個單元的權重函數f1,f2,...,fk。
(3)把秘密信息d 轉化成5進制比特流,即d= (d1,d2,...dn),其中di=0,1,2,3,4。
(4)計算差值si= (di-fi)mod5,根據si的取值按照表1修改像素值。依照相同的規則依次修改每個奇異值數組。
(5)對修改后的奇異值向量 (σ′i1,σ′i2)進行SVD 逆變換得到新的2*2矩陣,對圖像塊組合生成新的載密圖像矩陣A′。
若嵌入秘密信息后的載密圖像用矩陣A 表示,秘密信息的提取可以看作是嵌入的逆過程,對矩陣A 按照相同的分塊大小分塊后進行奇異值分解,提取每個圖像塊矩陣的最大奇異值組成載體向量(σ1,σ2,σ3,...σn)。根據EMD 算法仍以兩個奇異值為一個單位按式 (7)計算權重函數f。由式 (4)可知,秘密信息的提取公式如下

為了測試算法的魯棒性,本文的實驗選取8 幅512*512*8的自然灰度圖像作為載體圖像,如圖2所示。實驗對每副圖像都嵌入本文算法最大容量的秘密信息比特即64 kb的秘密信息,并對文獻 [9]的EMD 隱寫算法和本文的算法進行了性能比較。本文的實驗為了比較嵌入秘密信息前后圖像的失真大小采用峰值信噪比來衡量,公式如下

式中:M,N——圖像的長和寬。PSNR 越大,則圖像的失真越小,表明載密圖像與原始圖像越相似,即算法的透明性越好。反之,圖像失真越大,算法的透明性差。

圖2 實驗測試圖像
采用位錯率 (bit error ratio,BER)作為算法魯棒性的客觀評判標準,如式 (10)所示

當載密圖像受到干擾后提取出秘密信息,在相同的干擾條件下,比較兩種算法的位錯率BER和PSNR。實驗對載密圖像采取的干擾方式有高斯噪聲、JPEG 有損壓縮兩種典型的圖像干擾,其中高斯噪聲選取的干擾強度為0~15dbw,JPEG壓縮的壓縮質量因子為55。然后對受到干擾后的載密圖像進行秘密信息的提取,并計算出位錯率BER,BER越高說明算法的魯棒性越差,反之,算法的魯棒性越好。
表2給出了本文算法和文獻 [9]算法在受到JPEG 有損壓縮后的性能比較,實驗選取的JPEG 壓縮的質量因子為55。表中數據比較了兩種算法嵌入秘密信息后反應載密圖像失真度的PSNR 值,并且對兩種算法的載密圖像進行JPEG 壓縮,對壓縮后的圖像進行秘密信息的提取,計算并對比兩種算法提取的秘密信息的誤碼率。

表2 算法抵抗JPEG 壓縮的實驗結果比較
由表2的實驗結果可知,本文算法的位錯率要遠小于EMD 隱寫算法,即本文提出的算法在魯棒性方面有了很大的提高。由于本文算法并不是直接在空域嵌入秘密信息比特,而是將秘密信息嵌入在奇異值上,因此本文算法的PSNR要大于文獻 [9]算法,表明本文提出的算法具有較好的透明性。
圖3為本文提出的隱寫算法與文獻 [9]的算法抵抗高斯噪聲干擾的性能比較,實驗以lena圖像為實驗測試圖像,采用0~15dbw 區間不同強度的高斯噪聲對載密圖像進行干擾,對受到干擾后的載密圖像按算法的提取步驟提取出秘密信息比特,并按式 (10)計算出誤碼率。

圖3 算法抵抗高斯噪聲的性能比較
由圖3可知,隨著噪聲強度的增大,提取出的秘密信息的誤碼率越高,文獻 [9]的EMD 隱寫算法在噪聲強度增大時誤碼率明顯提高,而本文提出的隱寫算法的誤碼率隨著噪聲強度的增大始終保持較低的值,要遠低于文獻[9]的EMD 隱寫算法,表明本文的算法能更好地抵抗高斯噪聲的干擾。
表3為兩種算法的各自8幅載密圖像受到高斯噪聲干擾后的平均誤碼率,實驗選取的高斯噪聲強度為1~15dbw。

表3 算法抵抗高斯噪聲的實驗結果比較
由表3的數據可知,當噪聲強度增大時,兩種算法的平均誤碼率都增大,文獻 [9]算法的誤碼率隨著高斯噪聲強度的增大而明顯增大,本文算法的誤碼率始終保持較低的值,本文算法在8幅圖像上都能取得比文獻 [9]算法低的誤碼率,因此,本文提出的算法更能抵抗高斯噪聲的干擾。
本文提出了一種基于奇異值分解和矩陣編碼的圖像信息隱藏算法。與其它基于編碼的魯棒隱寫算法相比,本文的算法在像素塊的奇異值上嵌入秘密信息,提高了載密圖像的質量,并且提高了算法的魯棒性。實驗結果表明,本文算法相比于其它算法能更好地抵抗JPEG 壓縮、高斯噪聲的干擾,而且嵌入秘密信息后的載密圖像具有較好的圖像質量。該算法以嵌入容量為代價提高魯棒性,若在隱寫容量方面有較大需求可與其它矩陣編碼算法相結合以增大修改量為代價提高嵌入容量。
[1]Wien Hong,Tung-Shou Chen,Han-Yan Wu.An improved reversible data hiding in encrypted images using side match [J].IEEE Signal Processing Letters,2012,19 (4):199-202.
[2]Cox IJ,Miller L,Bloon A,et al.Digital watermarking and steganograpphy [M].2nd ed.SanMateo,CA: Morgan Kaufmann,2008:1-13.
[3]Luo Weiqi,Wang Yuangen,Huang Jiwu.Security analysis on spatial±1steganography for jpeg decompressed images [J].IEEE Signal Processing Letters,2011,18 (1):39-42.
[4]Zhang WM,Li SQ.A coding problem in steganography [J].Designs,Code and Cryptography,2008,46 (1):67-81.
[5]SU Yajuan.One space field information hiding algorithm based on matrix encoding [J].Computer Engineering and Design,2009,30 (23):5344-5347 (in Chinese).[蘇亞娟.基于矩陣編碼的空域信息隱藏算法 [J].計算機工程與設計,2009,30(23):5344-5347.]
[6]Fridrich J,Lisonek P.Grid coloring in steganography [J].IEEE Transactions on Information Theory,2007,53 (4):1547-1549.
[7]Li Fan,Gao Tiegang,Yan Qunting,et al.An extend matrix encoding algorithm for steganography of high embedding efficiency [J].Computers and Electrical Engineering,2011,37(1):973-981.
[8]Qu Zhiguo,Fu Yu,Niu Xinxin,et al.Improved EMD steganography with great embedding rate and high embedding efficiency [C]//Fifth International Conference on Intelligent Information Hiding and Multimedia Signal Processing,2009:348-352.
[9]Yao Xiaoming,Du Wencai,Wu Weihua.A robust EMD-like stegnographic schme[C]//Third International Symposium on Intelligent Information Technology and Security Informatics,2010:134-137.
[10]BAO Jinfei,BAI Sen,YOU Chunyan,et al.Audio information hiding algorithm based on SVD and FRFT [J].Computer Engineering and Applications,2011,47 (30):101-104 (in Chinese).[暴晉飛,柏森,尤春艷,等.基于SVD 和FRFT的音頻信息隱藏算法 [J].計算機工程與設計,2011,47(30):101-104.]
[11]Li Xiuguang,Yang Xiaoyuan.A blind watermarking algorithm resisting to geometric transforms based on SVD [J].Wuhan University Journal of Natural Sciences,2011,16(6):487-492.
[12]Babu KS,Raja KB,Rao KUM,et al.Robust and high capacity image steganography using SVD [C]//IET-UK International Conference on Information and Communication Technology in Electrical Sciences,2007:718-723.