梁 猛,趙 惠
(西安郵電大學 電子工程學院, 陜西 西安 710121)
提高信息隱藏[1]容量有助于較大容量信息的隱式傳輸,圖像信息隱藏技術(shù)的容量提升是信息隱藏研究的熱點[2]。目前提升隱藏容量的算法主要是基于變換域方法[3-4],變換域分為離散小波變換和離散余弦變換,離散小波變換具有良好的時頻局部特性及較高的安全性[5-6],在容量擴充方面具有更好的特性。基于分塊的圖像小波變換域信息隱藏算法實現(xiàn)簡單、抗攻擊性強、魯棒性較好[5]。文獻[7]中對小波系數(shù)進行分塊,根據(jù)小波特征樹的對應(yīng)關(guān)系進行信息隱藏,該算法對于裁剪攻擊的魯棒性較好。文獻[8]提出了一種將分塊離散小波變換與分塊離散余弦變換結(jié)合的算法進行信息隱藏,該算法具有較好的抗攻擊性。但上述兩種算法的容量都較小,適合版權(quán)保護等領(lǐng)域,而很難用于隱藏存儲和隱蔽通信等領(lǐng)域[3]。
針對基于分塊的離散小波變換域信息隱藏算法容量有限的缺點,本文擬提出一種通過分塊復(fù)用來增加信息容量的隱藏算法。該算法將小波系數(shù)分塊進行重疊,利用分塊數(shù)量的增加進行較大容量數(shù)據(jù)的隱藏。首先將DWT域水平分量和垂直分量的小波系數(shù)進行重疊分塊,然后定義不同的數(shù)學邏輯關(guān)系進行信息的隱藏,最后進行分塊整合,完成信息的隱藏。
復(fù)用技術(shù)最初是在信道傳輸中提出來的,它是在發(fā)送端將多路信號進行組合,使多路信號共享一個信道,接收端再將組合信號分離出來,最大限度提高信道利用率[9-10]。在圖像信息隱藏算法中,為了提高信息隱藏容量,將復(fù)用思想引入到圖像信息隱藏算法中,提出小波系數(shù)分塊復(fù)用。
小波系數(shù)分塊復(fù)用就是將圖像經(jīng)過離散小波變換后,對部分小波系數(shù)進行重疊式分塊,使小波分量較無重疊分塊擁有更多分塊個數(shù),從而提高小波系數(shù)利用率。提取信息時,再將重疊分塊分離開,分別對每塊系數(shù)進行信息提取,以實現(xiàn)隱藏信息容量提升。分塊模型如圖1所示。
圖1 分塊模型
為了使算法具有通用性,采用灰度圖像作為載體圖像,對二值圖像信息進行隱藏。根據(jù)Mallat的塔式分解算法[11],圖像經(jīng)過一層小波變換后分解成大小為原圖1/4的4個子圖像,分別為低頻分量LL、水平分量LH、垂直分量HL和高頻分量HH。低頻分量含有原圖片的大部分信息,雖然在此部分隱藏信息具有很好的抗攻擊性,但是低頻分量的改變對視覺影響較大,不利于隱藏容量的提高。圖像只有少部分能量集中在水平分量LH、垂直分量HL和高頻分量HH。高頻分量含有原圖像的能量最少并且頻率最高,如果將信息隱藏到高頻分量中,在圖像經(jīng)過低通濾波器時會損失大量的信息?;谏鲜鰡栴},將秘密信息隱藏到水平分量LH和垂直分量HL中。
步驟2(重疊分塊)對水平分量LH和垂直分量HL小波系數(shù)分別進行有重疊分塊,分塊大小為4×4,設(shè)其中第i個分塊的小波系數(shù)為矩陣Ii。
步驟3(第一部分信息的隱藏)隱藏時選取每塊中的2個點Ii(2,2)和Ii(3,3)進行隱藏,為了提高算法的信噪比,減少小波系數(shù)改變的幅度,定義1個閾值T1(T1>0)。
(1) 若隱藏信息i1(1,i)=0,判斷每塊中的2個系數(shù)是否同時滿足Ii(2,2)<0和Ii(3,3)<0,若不滿足,則對系數(shù)進行處理使之滿足上述邏輯關(guān)系。由于2個點處理方式相同,以Ii(2,2)為例
若0 若Ii(2,2)>T1或者Ii(2,2)=0,則 (2) 若隱藏信息i1(1,i)=1,判斷每塊中的2個系數(shù)是否同時滿足Ii(2,2)>0和Ii(3,3)>0,若不滿足,則對系數(shù)進行處理使之滿足上述邏輯關(guān)系。以Ii(2,2)為例 若-T1 若Ii(2,2)<-T1或者Ii(2,2)=0,則 步驟4(第二部分信息的隱藏)通過比較每個分塊中的第1行與第4行4個系數(shù)與每塊中間4個系數(shù)的均值大小進行信息隱藏。Ii(1,1)、Ii(1,2)、Ii(4,1)和Ii(4,2)為所選的4個系數(shù),中間4個點的均值 為了使算法更加靈活,定義一個改變因子T2,改變T2的大小可以直接觀察實驗結(jié)果,分析算法性能。 (1) 若隱藏信息i2(1,i)=0,判斷每塊中的系數(shù)是否都滿足 Ii(1,1) 若不滿足,則對系數(shù)進行處理使之滿足邏輯關(guān)系 (2) 若隱藏信息i2(1,i)=1,判斷每塊中的系數(shù)是否都滿足 Ii(1,1)>Ag、Ii(1,2)>Ag、 若不滿足,則對系數(shù)進行處理使之滿足邏輯關(guān)系 步驟5(小波系數(shù)的分塊合并)小波系數(shù)分塊合并是小波系數(shù)重疊分塊的逆過程,將每一塊小波系數(shù)進行重疊合并,恢復(fù)小波系數(shù)矩陣原有大小。 步驟6(圖像的小波逆變換)對隱藏了信息的圖像進行小波逆變換,得到載密圖像。 步驟1(載密圖像小波變換)將含有秘密信息的載體圖像進行DWT變換得到各自的水平分量LH和垂直分量HL頻帶系數(shù)。 步驟2(重疊分塊)對水平分量LH和垂直分量HL小波系數(shù)進行有重疊分塊。分塊方式與隱藏信息分塊方式相同。 步驟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個點的平均值A(chǔ)g。若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小波作為小波基函數(shù)進行小波一級分解,并選取LH和HL系數(shù)分量進行信息的隱藏。 從算法原理來看,參數(shù)閾值T1用來控制LH、HL參數(shù)改變的范圍,改變因子T2用來調(diào)整LH、HL參數(shù)改變的大小。當閾值T1和改變因子T2增大時,對LH和HL中部分系數(shù)改變將增大,使隱藏的失真越大,在一定程度上會對隱藏圖像的視覺效果造成影響。 但從另一方面來說,載體圖像LH和HL系數(shù)容許可失真的范圍越大,算法的魯棒性就越強。這樣在選擇閾值T1和改變因子T2時,既應(yīng)考慮隱藏圖像的視覺效果,也應(yīng)盡量增強算法的魯棒性。經(jīng)過反復(fù)試驗,T1和T2取3時算法的魯棒性最好。 本文采用峰值信噪比[12]和誤碼率對算法進行度量,誤碼率定義為 其中m×n為秘密圖像的像素數(shù),f2(i,j)為原始秘密圖像,f1(i,j)為恢復(fù)出的秘密圖像。 實驗中,取參數(shù)閾值T1=3,改變因子T2=3。原始灰度載體圖像和隱藏秘密信息后的灰度載體圖像,如圖2所示。 圖2 圖像隱藏仿真結(jié)果 從圖2可以看出,算法在提高隱藏容量的基礎(chǔ)上具有較好的視覺效果,并且在接收端幾乎能無誤差的恢復(fù)出秘密信息。根據(jù)峰值信噪比和誤碼率公式得,載密圖像的峰值信噪為36.042 8dB,誤碼率為0.000 4。 本文算法的隱藏容量和隱秘圖像的峰值信噪比與其他DWT分塊算法的比較,如表1所示。 表1 不同算法的隱藏容量與峰值信噪比值的比較 本文算法與其他同類算法相比較,同等條件下,大小為512×512大小的灰度圖像Lena能夠隱藏35 056 bit信息,圖像的隱藏容量有大幅度提高。載密圖像峰值信噪比為36.042 8 dB,圖像的隱藏效果較好。 從圖2(b)的載密圖像中提取信息,原始秘密圖像、提取出的秘密圖像、受到參數(shù)為0.002的椒鹽噪聲后提取出的秘密圖像、受到1/16裁剪攻擊后提取出的秘密圖像信息,如圖3所示。 圖3 恢復(fù)仿真結(jié)果 從圖3中可以看出,本文算法在提升二值數(shù)據(jù)隱藏容量的基礎(chǔ)上,能夠?qū)挂话愠潭鹊墓簟?/p> 通過小波系數(shù)分塊復(fù)用來增加圖像信息隱藏容量,將小波水平分量和垂直分量小波系數(shù)重疊分塊進行信息隱藏,利用Lena圖像進行仿真及性能分析,結(jié)果表明,載體圖像可以隱藏35 056bit二值圖像信息,隱藏容量較其他同類算法有了明顯的提升;對其進行抗攻擊分析,一般噪聲及裁剪攻擊后,載密圖像仍能恢復(fù)出秘密信息,算法能夠?qū)挂话愎簟?/p>
Ii(4,1)>Ag、Ii(4,2)>Ag,2.2 提取秘密信息
3 實驗結(jié)果及分析
3.1 參數(shù)確定
3.2 性能測試
3.3 容量分析
3.4 抗攻擊分析
4 結(jié)語