梁 猛,趙 惠
(西安郵電大學 電子工程學院, 陜西 西安 710121)
提高信息隱藏[1]容量有助于較大容量信息的隱式傳輸,圖像信息隱藏技術的容量提升是信息隱藏研究的熱點[2]。目前提升隱藏容量的算法主要是基于變換域方法[3-4],變換域分為離散小波變換和離散余弦變換,離散小波變換具有良好的時頻局部特性及較高的安全性[5-6],在容量擴充方面具有更好的特性。基于分塊的圖像小波變換域信息隱藏算法實現簡單、抗攻擊性強、魯棒性較好[5]。文獻[7]中對小波系數進行分塊,根據小波特征樹的對應關系進行信息隱藏,該算法對于裁剪攻擊的魯棒性較好。文獻[8]提出了一種將分塊離散小波變換與分塊離散余弦變換結合的算法進行信息隱藏,該算法具有較好的抗攻擊性。但上述兩種算法的容量都較小,適合版權保護等領域,而很難用于隱藏存儲和隱蔽通信等領域[3]。
針對基于分塊的離散小波變換域信息隱藏算法容量有限的缺點,本文擬提出一種通過分塊復用來增加信息容量的隱藏算法。該算法將小波系數分塊進行重疊,利用分塊數量的增加進行較大容量數據的隱藏。首先將DWT域水平分量和垂直分量的小波系數進行重疊分塊,然后定義不同的數學邏輯關系進行信息的隱藏,最后進行分塊整合,完成信息的隱藏。
復用技術最初是在信道傳輸中提出來的,它是在發送端將多路信號進行組合,使多路信號共享一個信道,接收端再將組合信號分離出來,最大限度提高信道利用率[9-10]。在圖像信息隱藏算法中,為了提高信息隱藏容量,將復用思想引入到圖像信息隱藏算法中,提出小波系數分塊復用。
小波系數分塊復用就是將圖像經過離散小波變換后,對部分小波系數進行重疊式分塊,使小波分量較無重疊分塊擁有更多分塊個數,從而提高小波系數利用率。提取信息時,再將重疊分塊分離開,分別對每塊系數進行信息提取,以實現隱藏信息容量提升。分塊模型如圖1所示。

圖1 分塊模型

為了使算法具有通用性,采用灰度圖像作為載體圖像,對二值圖像信息進行隱藏。根據Mallat的塔式分解算法[11],圖像經過一層小波變換后分解成大小為原圖1/4的4個子圖像,分別為低頻分量LL、水平分量LH、垂直分量HL和高頻分量HH。低頻分量含有原圖片的大部分信息,雖然在此部分隱藏信息具有很好的抗攻擊性,但是低頻分量的改變對視覺影響較大,不利于隱藏容量的提高。圖像只有少部分能量集中在水平分量LH、垂直分量HL和高頻分量HH。高頻分量含有原圖像的能量最少并且頻率最高,如果將信息隱藏到高頻分量中,在圖像經過低通濾波器時會損失大量的信息。基于上述問題,將秘密信息隱藏到水平分量LH和垂直分量HL中。


步驟2(重疊分塊)對水平分量LH和垂直分量HL小波系數分別進行有重疊分塊,分塊大小為4×4,設其中第i個分塊的小波系數為矩陣Ii。
步驟3(第一部分信息的隱藏)隱藏時選取每塊中的2個點Ii(2,2)和Ii(3,3)進行隱藏,為了提高算法的信噪比,減少小波系數改變的幅度,定義1個閾值T1(T1>0)。
(1) 若隱藏信息i1(1,i)=0,判斷每塊中的2個系數是否同時滿足Ii(2,2)<0和Ii(3,3)<0,若不滿足,則對系數進行處理使之滿足上述邏輯關系。由于2個點處理方式相同,以Ii(2,2)為例
若0 若Ii(2,2)>T1或者Ii(2,2)=0,則 (2) 若隱藏信息i1(1,i)=1,判斷每塊中的2個系數是否同時滿足Ii(2,2)>0和Ii(3,3)>0,若不滿足,則對系數進行處理使之滿足上述邏輯關系。以Ii(2,2)為例 若-T1 若Ii(2,2)<-T1或者Ii(2,2)=0,則 步驟4(第二部分信息的隱藏)通過比較每個分塊中的第1行與第4行4個系數與每塊中間4個系數的均值大小進行信息隱藏。Ii(1,1)、Ii(1,2)、Ii(4,1)和Ii(4,2)為所選的4個系數,中間4個點的均值 為了使算法更加靈活,定義一個改變因子T2,改變T2的大小可以直接觀察實驗結果,分析算法性能。 (1) 若隱藏信息i2(1,i)=0,判斷每塊中的系數是否都滿足 Ii(1,1) 若不滿足,則對系數進行處理使之滿足邏輯關系 (2) 若隱藏信息i2(1,i)=1,判斷每塊中的系數是否都滿足 Ii(1,1)>Ag、Ii(1,2)>Ag、 若不滿足,則對系數進行處理使之滿足邏輯關系 步驟5(小波系數的分塊合并)小波系數分塊合并是小波系數重疊分塊的逆過程,將每一塊小波系數進行重疊合并,恢復小波系數矩陣原有大小。 步驟6(圖像的小波逆變換)對隱藏了信息的圖像進行小波逆變換,得到載密圖像。 步驟1(載密圖像小波變換)將含有秘密信息的載體圖像進行DWT變換得到各自的水平分量LH和垂直分量HL頻帶系數。 步驟2(重疊分塊)對水平分量LH和垂直分量HL小波系數進行有重疊分塊。分塊方式與隱藏信息分塊方式相同。 步驟3(第一部分信息的提取)若每個分塊中Ii(2,2)和Ii(3,3)這2個點的值都小于0,則秘密信息i1(1,i)=0;若Ii(2,2)和Ii(3,3)這2個點的值都大于0,則秘密信息i1(1,i)=1。 步驟4(第二部分信息的提取)求每塊中間4個點的平均值Ag。若Ii(1,1)、Ii(1,2)、Ii(4,1)和Ii(4,2)的值都小于Ag,則秘密信息i2(1,i)=0;若Ii(1,1)、Ii(1,2)、Ii(4,1)和Ii(4,2)的值都大于Ag,則秘密信息i2(1,i)=1。 選取大小為512×512大小的灰度圖像Lena作為載體圖像,待隱藏秘密信息選取180×180大小的二值圖像。實驗中對載體圖像以haar小波作為小波基函數進行小波一級分解,并選取LH和HL系數分量進行信息的隱藏。 從算法原理來看,參數閾值T1用來控制LH、HL參數改變的范圍,改變因子T2用來調整LH、HL參數改變的大小。當閾值T1和改變因子T2增大時,對LH和HL中部分系數改變將增大,使隱藏的失真越大,在一定程度上會對隱藏圖像的視覺效果造成影響。 但從另一方面來說,載體圖像LH和HL系數容許可失真的范圍越大,算法的魯棒性就越強。這樣在選擇閾值T1和改變因子T2時,既應考慮隱藏圖像的視覺效果,也應盡量增強算法的魯棒性。經過反復試驗,T1和T2取3時算法的魯棒性最好。 本文采用峰值信噪比[12]和誤碼率對算法進行度量,誤碼率定義為 其中m×n為秘密圖像的像素數,f2(i,j)為原始秘密圖像,f1(i,j)為恢復出的秘密圖像。 實驗中,取參數閾值T1=3,改變因子T2=3。原始灰度載體圖像和隱藏秘密信息后的灰度載體圖像,如圖2所示。 圖2 圖像隱藏仿真結果 從圖2可以看出,算法在提高隱藏容量的基礎上具有較好的視覺效果,并且在接收端幾乎能無誤差的恢復出秘密信息。根據峰值信噪比和誤碼率公式得,載密圖像的峰值信噪為36.042 8dB,誤碼率為0.000 4。 本文算法的隱藏容量和隱秘圖像的峰值信噪比與其他DWT分塊算法的比較,如表1所示。 表1 不同算法的隱藏容量與峰值信噪比值的比較 本文算法與其他同類算法相比較,同等條件下,大小為512×512大小的灰度圖像Lena能夠隱藏35 056 bit信息,圖像的隱藏容量有大幅度提高。載密圖像峰值信噪比為36.042 8 dB,圖像的隱藏效果較好。 從圖2(b)的載密圖像中提取信息,原始秘密圖像、提取出的秘密圖像、受到參數為0.002的椒鹽噪聲后提取出的秘密圖像、受到1/16裁剪攻擊后提取出的秘密圖像信息,如圖3所示。 圖3 恢復仿真結果 從圖3中可以看出,本文算法在提升二值數據隱藏容量的基礎上,能夠對抗一般程度的攻擊。 通過小波系數分塊復用來增加圖像信息隱藏容量,將小波水平分量和垂直分量小波系數重疊分塊進行信息隱藏,利用Lena圖像進行仿真及性能分析,結果表明,載體圖像可以隱藏35 056bit二值圖像信息,隱藏容量較其他同類算法有了明顯的提升;對其進行抗攻擊分析,一般噪聲及裁剪攻擊后,載密圖像仍能恢復出秘密信息,算法能夠對抗一般攻擊。
Ii(4,1)>Ag、Ii(4,2)>Ag,2.2 提取秘密信息
3 實驗結果及分析
3.1 參數確定
3.2 性能測試

3.3 容量分析

3.4 抗攻擊分析

4 結語