摘 要:為了提高圖像中秘密信息的嵌入量,提出并實(shí)現(xiàn)了一種基于最低有效位和像素值差異的圖像信息隱藏方法。通過(guò)計(jì)算兩個(gè)連續(xù)像素值的差異來(lái)判斷圖像的一致區(qū)域和邊界區(qū)域,在一致區(qū)域使用最低有效位方法,而在邊界區(qū)域使用像素值差異方法。實(shí)驗(yàn)結(jié)果表明,結(jié)合這兩種方法后信息的嵌入量是單純使用像素值差異方法的1.59~1.97倍,并且隱寫(xiě)圖像具有大于38 dB的峰值信噪比,保證了隱寫(xiě)圖像的視覺(jué)質(zhì)量。
關(guān)鍵詞:最低有效位; 像素值差異; 圖像信息隱藏
中圖分類號(hào):TP309 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2010)03-1068-03
doi:10.3969/j.issn.1001-3695.2010.03.073
Study of image data hiding method based on pixel-value differencing and LSB replacement
XU Kai-ping, ZHENG Hong-yuan, DING Qiu-lin
(College of Information Science Technology, Nanjing University of Aeronautics Astronautics, Nanjing 210016, China)Abstract:In order to improve the capacity of hidden secret data,this paper presented and implemented a novel steganographic method based on least-significant-bit(LSB) replacement and pixel-value differencing(PVD) method.
Could located a different value from two consecutive pixels by utilizing the PVD method on a smooth area or an edged area. In the smooth areas,hidden the secret data into the cover image by LSB method while using the PVD method in the edged areas. The experimental results show that proposed method has about 1.57-1.97 greater hiding capacity than PVD method, and steganographic image has greater than 38 dB PSNR value to maintain good visual quality.
Key words:LSB(least significant bit ); PVD(pixel-value differencing); image data hiding
0 引言
近幾年來(lái),隨著Internet的迅速發(fā)展和廣泛應(yīng)用,信息安全問(wèn)題日益突出,信息隱藏技術(shù)作為一種新興技術(shù),已成為信息安全領(lǐng)域的一個(gè)重要組成部分。目前,已經(jīng)有許多種圖像信息隱藏方法。其中最低有效位算法LSB(least significant bit)利用原始載體圖像的一些最低位來(lái)嵌入秘密信息,因其實(shí)現(xiàn)簡(jiǎn)單、嵌入量大而被廣泛應(yīng)用[1]。文獻(xiàn)[2]提出了一種根據(jù)人眼視覺(jué)系統(tǒng)的特點(diǎn)可使嵌入量變化的LSB方法;文獻(xiàn)[3]提出了一種盡可能地進(jìn)行最低有效位替換的方法,以此來(lái)提高隱寫(xiě)圖像的隱蔽性。Wang等人[4]提出了一種基于PVD的高質(zhì)量圖像隱藏方法。該方法利用原始載體圖像中兩個(gè)連續(xù)像素值的差異來(lái)決定嵌入秘密信息的大小,其具有失真度低、安全性高的特點(diǎn)。
由于基于PVD的高質(zhì)量圖像隱藏方法在圖像一致區(qū)域的嵌入量不高,要低于邊界區(qū)域的嵌入量。為了提高一致區(qū)域的嵌入量,本文對(duì)基于PVD的高質(zhì)量圖像隱藏方法進(jìn)行了改進(jìn)。首先利用像素值的差異來(lái)區(qū)分圖像的一致區(qū)域和邊界區(qū)域;然后使用選擇性的最低有效位(LSB)嵌入方法來(lái)提高一致區(qū)域的嵌入量,但在邊界區(qū)域仍然使用基于PVD的高質(zhì)量圖像隱藏方法。
1 基于PVD的高質(zhì)量圖像隱藏方法
在基于PVD的高質(zhì)量圖像隱藏方法中,使用像素值為256的灰度圖像作為原始載體圖像,并將其記做大小為M×N的模塊F,定義Fi為F中兩個(gè)連續(xù)像素組成一個(gè)子塊,記F={Fi|i=1,2,…,(M×N)/2}, 組成Fi中的兩個(gè)像素的值分別記為P(i,x)和P(i,y)。用di表示Fi中兩個(gè)連續(xù)像素值的差異,設(shè)di的取值范圍R為[0,255],定義R={Ri|i=1,2,…,n},即R由n個(gè)連續(xù)區(qū)間組成,區(qū)間Ri的下界和上界記為li和ui,則Ri=[li,ui]。
具體嵌入算法如下:
a)通過(guò)公式di=|P(i,x)-P(i,y)|,得到Fi中像素值P(i,x)和P(i,y)的差異值。確定di所屬的區(qū)間Ri。通過(guò)計(jì)算min(ui-k)(ui≥k,k=di且1≤i≤n)找到區(qū)間[li,ui],然后通過(guò)公式ti=log2(ui-li+1)」計(jì)算隱藏到Fi中兩個(gè)連續(xù)像素的秘密信息的比特量ti。
b)由a)讀取秘密信息中ti bit,并將其轉(zhuǎn)換成十進(jìn)制值t′i。下面舉例說(shuō)明,假設(shè)ti=4,從秘密信息中依次讀取4 bit得到1011,則t′i=11。
c)由b)以及Fi中兩個(gè)連續(xù)像素值P(i,x)和P(i,y),計(jì)算子塊Fi的余值Frem(i)(式(1))。
Frem(i)=(P(i,x)+P(i,y))mod 2ti(1)
d)通過(guò)改變P(i,x)和P(i,y),將秘密信息中ti bit嵌入到Fi中。使用此方法修改P(i,x)和P(i,y),可以得到較低的失真度。具體如下:
Case 1 當(dāng)Frem(i)>t′i,m≤2ti-1且P(i,x)≥P(i,y)時(shí),
(P′(i,x),P′(i,y))=(P(i,x)-「m/2,P(i,y)-m/2」);
Case 2 當(dāng)Frem(i)>t′i,m≤2ti-1且P(i,x)
(P′(i,x),P(i,y))=(P(i,x)-m/2」,P(i,y)-「m/2);
Case 3 當(dāng)Frem(i)>t′i,m>2ti-1且P(i,x)≥P(i,y)時(shí),
(P′(i,x),P′(i,y))=(P(i,x)+m1/2」,P(i,y)+「m1/2);
Case 4 當(dāng)Frem(i)>t′i,m>2ti-1且P(i,x)
(P′(i,x),P′(i,y))=(P(i,x)+「m1/2,P(i,y)+m1/2」);
Case 5 當(dāng)Frem(i)≤t′i,m≤2ti-1且P(i,x)≥P(i,y)時(shí),
(P′(i,x),P′(i,y))=(P(i,x)+m/2」,P(i,y)+「m/2);
Case 6 當(dāng)Frem(i)≤t′i,m≤2ti-1且P(i,x)
(P′(i,x),P′(i,y))=(P(i,x)+「m/2,P(i,y)+m/2」);
Case 7 當(dāng)Frem(i)≤t′i,m>2ti-1且P(i,x)≥P(i,y)時(shí),
(P′(i,x),P′(i,y))=(P(i,x)-「m1/2,P(i,y)-m1/2」);
Case 8 當(dāng)Frem(i)≤t′i,m>2ti-1且P(i,x)
(P′(i,x),P′(i,y))=(P(i,x)-m1/2」,P(i,y)-「m1/2)。
其中:m=|Frem(i)-t′i|,mi=2ti-|Frem(i)-t′i|且
P′(i,x)和P′(i,y)是將秘密信息中ti bit嵌入到Fi后得到的新像素值。基于PVD的高質(zhì)量圖像隱藏方法還考慮了P′(i,x)和P′(i,y)超出像素取值范圍[0,255]的情況。由于本文隨后提出的方法將會(huì)避免該情況的發(fā)生,在此不再累述。
對(duì)于提取算法,區(qū)間Ri將作為密鑰,要求發(fā)送和接收方都必須掌握。隱寫(xiě)圖像采用與原始載體圖像一樣的方法進(jìn)行劃分得到Fi。首先利用嵌入算法前三步得到ti的大小,然后用式(1)計(jì)算出Fi的余值Frem(i),最后將十進(jìn)制的Frem(i)轉(zhuǎn)換成ti bit二進(jìn)制數(shù)。
2 本文提出的方法
本文提出的方法是在基于PVD的高質(zhì)量圖像隱藏方法的基礎(chǔ)上進(jìn)行改進(jìn)的。在原始載體圖像的一致區(qū)域使用選擇性的最低有效位(LSB)方法來(lái)提高嵌入量,而在邊界區(qū)域仍使用基于PVD的高質(zhì)量圖像隱藏方法。通過(guò)設(shè)置閾值T來(lái)劃分一致區(qū)域區(qū)間和邊界區(qū)域區(qū)間。如果區(qū)間Ri中的任意值都小于等于T,則定義區(qū)間Ri為一致區(qū)域區(qū)間;反之Ri則被定義為邊界區(qū)域區(qū)間。閾值T與各區(qū)域區(qū)間Ri將作為密鑰,用于嵌入和提取算法[5,6]。
2.1 數(shù)據(jù)嵌入算法設(shè)計(jì)
圖1給出了嵌入算法的具體流程。本文設(shè)定閾值T=15,則一致區(qū)域區(qū)間為R1、R2,邊界區(qū)域區(qū)間為R3、R4、R5和R6,具體如表1所示。嵌入算法步驟如下:
a)通過(guò)式(2)計(jì)算每個(gè)子塊Fi中兩個(gè)像素值P(i,x)和P(i,y)的差異。
di=|P(i,x)-P(i,y)|(2)
b)通過(guò)計(jì)算Ri=min(ui-k),其中ui≥k,k=di且1≤i≤n,得出di所屬的區(qū)間Ri。
c)判斷Ri所屬的區(qū)域區(qū)間。如果Ri屬于邊界區(qū)域區(qū)間,則使用基于PVD的高質(zhì)量圖像隱藏方法將秘密信息隱藏(具體見(jiàn)第1章);否則,轉(zhuǎn)入d)。
d)從秘密信息數(shù)據(jù)流中讀取出6 bit的數(shù)值。首先將P(i,x)和P(i,y)轉(zhuǎn)換成二進(jìn)制數(shù),然后將6 bit秘密數(shù)據(jù)隱藏到P(i,x)和P(i,y)中。將6 bit的秘密數(shù)據(jù)表示成S=m1,m2,m3,m4,m5,m6。具體如下:
(a)用m1,m2,m3替換掉P(i,x)的3-LSB,則像素值P(i,x)變?yōu)镻′(i,x)。
(b) 用m4,m5,m6替換掉P(i,y)的3-LSB,則像素值P(i,y)變?yōu)镻′(i,y)。
(c)對(duì)嵌入后的像素值(P′(i,x),P′(i,y))進(jìn)行調(diào)整,從下列備選項(xiàng)中選出最優(yōu)像素值(P″(i,x),P″(i,y)):
當(dāng)P′(i,x)≥P′(i,y)時(shí),備選項(xiàng)為(P′(i,x),P′(i,y)),(P′(i,x),P′(i,y)+8),(P′(i,x)-8,P′(i,y))和(P′(i,x)-8,P′(i,y)+8);
當(dāng)P′(i,x)
最優(yōu)像素值(P″(i,x),P″(i,y))要求|P″(i,x)-P″(i,y)|≤T,P″(i,x),P″(i,y)∈[0,255]且(P″(i,x)-P″(i,x))2+(P″(i,y)-P″(i,x))2的值最小[7]。
使用選擇性的最低有效位(LSB)方法可以保證修改后的兩個(gè)連續(xù)像素值的di小于閾值T,并以此為前提使嵌入前后的像素值的變化量最小,降低了失真度。下面舉例說(shuō)明,設(shè)Pi,x=33,P(i,y)=16,S=110 011。隱藏后P′(i,x)=38,
P′(i,y)=19,備選項(xiàng)為(30,19)、(38,27)和(30,27),經(jīng)判定最優(yōu)像素值為(30,19)。
表1 區(qū)間的區(qū)域劃分
一致區(qū)域區(qū)間邊界區(qū)域區(qū)間
R1=[0,7]R3=[16,31]
R2=[8,15]R4=[32,63]
R5=[64,127]
R6=[128,255]
2.2 數(shù)據(jù)提取算法設(shè)計(jì)
在提取秘密信息的過(guò)程中,無(wú)須使用原始載體圖像便可以快速地得到數(shù)據(jù)。從隱寫(xiě)圖像中提取秘密信息的具體步驟如下:
a)與嵌入時(shí)相同,將隱寫(xiě)圖像以兩個(gè)連續(xù)像素為一個(gè)單元進(jìn)行劃分。
b)由公式d′i=|P′(i,x)-P′(i,y)|,計(jì)算隱寫(xiě)圖像每個(gè)子塊中兩個(gè)連續(xù)像素值的差異。
c)判斷d′i所屬區(qū)間Ri。如果Ri屬于邊界區(qū)域區(qū)間,則采用基于PVD的高質(zhì)量圖像隱藏方法進(jìn)行提取;否則,轉(zhuǎn)入d)。
d)從P′(i,x)和P′(i,y)的3-LSB中直接提取秘密信息。假設(shè)P′(i,x)=00010111(2),
P′(i,x)=00010000(2),則3-LSB的值分別為111(2)和000(2)。
3 實(shí)驗(yàn)驗(yàn)證與分析
3.1 實(shí)驗(yàn)驗(yàn)證
本文在實(shí)驗(yàn)中選用大小為512×512具有代表性的灰度圖像作為原始載體圖像。每次嵌入的秘密信息為隨機(jī)二進(jìn)制數(shù)據(jù)流,使用峰值信噪比(PSNR)來(lái)衡量隱寫(xiě)圖像的視覺(jué)質(zhì)量。通常隱寫(xiě)圖像的峰值信噪(PSNR)比大于30 dB,人眼在視覺(jué)上便覺(jué)察不出與原始載體圖像的差別。
表2給出了兩種方法的嵌入量和峰值信噪比(PSNR)。盡管本文提出的方法的峰值信噪比比基于PVD的高質(zhì)量圖像隱藏方法略有下降,但是所有隱寫(xiě)圖像的峰值信噪比都大于38 dB,仍舊保持了較好的視覺(jué)質(zhì)量。圖2給出了嵌入后的隱寫(xiě)圖像與原始載體圖像的比對(duì)效果。從實(shí)驗(yàn)結(jié)果上可以看出在視覺(jué)上沒(méi)有明顯的差別。原始秘密文本與提取后的秘密文本對(duì)比如圖3所示。從圖3可以看到該方法能夠準(zhǔn)確無(wú)誤地將嵌入到圖像中的原始秘密信息提取出來(lái)。本文提出的方法的平均嵌入量為95 355 Byte,而基于PVD的高質(zhì)量圖像隱藏方法的平均嵌入量為51 606 Byte,本文提出的方法的嵌入量是基于PVD的高質(zhì)量圖像隱藏方法的1.57~1.97倍。這是由于單純使用基于PVD的高質(zhì)量圖像隱藏方法在一致區(qū)域最高嵌入量為4 bit,而本文使用選擇性的最低有效位(LSB)嵌入方法在一致區(qū)域可以嵌入6 bit的數(shù)值,即本文提出的方法提高了圖像一致區(qū)域的嵌入量。
表2 兩種方法的實(shí)驗(yàn)結(jié)果對(duì)比
原始載體圖像基于PVD的高質(zhì)量圖像隱藏方法
嵌入量/BytePSNR/dB
本文提出的方法
嵌入量/BytePSNR/dB
Lena51 21944.195 75542.8
Baboon57 146 40.389 73139.2
Peppers50 90743.396 28141.7
Jet51 22443.596 32041.4
Tank50 449 45.396 08940.9
Airplane49 73945.297 79040.2
Truck50 06543.696 67839.7
Elaine51 07444.895 02341.7
Couple51 60343.595 29441.6
Boat52 63542.194 59640.3
3.2 分析與討論
本節(jié)將對(duì)本文提出的圖像信息隱藏方法的相關(guān)性質(zhì)進(jìn)行分析。一般情況下,高修改量則低PSNR,即原始載體圖像修改量大于嵌入比特值,則峰值信噪比將會(huì)較低。反之,要想得到較高的峰值信噪比,就需要原始載體圖像中被修改的比特值小于嵌入秘密信息的比特值。本文發(fā)現(xiàn),基于PVD的高質(zhì)量圖像隱藏方法在圖像一致區(qū)域利用較多的原始圖像比特值來(lái)隱藏較少的秘密信息比特值。下面對(duì)其進(jìn)行分類討論:
a)通過(guò)修改較少的原始載體圖像的像素值獲取高峰值信噪比。一般情況下,當(dāng)m等于或近似于0時(shí),以及當(dāng)m=2ti時(shí),將會(huì)得到峰值信噪比最優(yōu)值。也就是說(shuō),原始載體圖像中兩個(gè)連續(xù)像素P(i,x)和P(i,y)幾乎沒(méi)有改變。在嵌入秘密信息后,隱寫(xiě)圖像依然能夠保持很高的峰值信噪比。舉例說(shuō)明,如表3所示,當(dāng)兩個(gè)連續(xù)像素值為P(i,x)=32,P(i,y)=32,則ti=3。如果嵌入信息十進(jìn)制值為0、1和7時(shí),m值經(jīng)計(jì)算為0、1和7,分別近似于0和2ti。如表3所示,只有1 bit的像素值改變,但是卻可以嵌入3 bit的信息,在此類情況下基于PVD的高質(zhì)量圖像隱藏方法具有高峰值信噪比。
表3 兩個(gè)連續(xù)像素修改量
秘密信息m值 P(i,x)=32P(i,y)=32
0000
11 +10
22+1+1
33+2+1
44+2+2
55-2-1
66-1-1
7 70 0
b)由于原始載體圖像像素改變量較大,造成較低的峰值信噪比。一般情況下,當(dāng)m值位于2ti-1左右時(shí),原始載體圖像中兩個(gè)連續(xù)像素P(i,x)和P(i,y)的像素值變化量較大。如果m=2ti-1,此時(shí)的峰值信噪比最差。如表3所示,兩個(gè)連續(xù)像素值為P(i,x)=32,P(i,y)=32,則此時(shí)ti=3。嵌入信息十進(jìn)制值為4時(shí),m值經(jīng)計(jì)算為4,恰好等于2ti-1。這個(gè)時(shí)候,P(i,x)和P(i,y)的像素值都需要同時(shí)加2。為了嵌入3 bit的信息,卻要將兩個(gè)連續(xù)像素修改4 bit。由此可見(jiàn),在這類情況下,基于PVD的高質(zhì)量圖像隱藏方法的峰值信噪比將會(huì)降低。
c)如果P(i,x)≈0,P(i,y)≈0,此時(shí)兩個(gè)連續(xù)像素經(jīng)修改后可能會(huì)出現(xiàn)
P′(i,x)<0。P′(i,x)<0的情況,需要利用公式
(P″(i,x),P″(i,y))=(P′(i,x)+(2ti)/2,P′(i,y)+(2ti)/2)進(jìn)行二次調(diào)整。在此類情況下,只有當(dāng)m等于或近似于0時(shí),才能得到高峰值信噪比。因?yàn)楠獸rem(i)值近似于0,如果嵌入信息值t′i在增大,m值也將增大,這時(shí)就會(huì)出現(xiàn)Frem(i)≤t′i且m>2ti-1,P′(i,x)和P′(i,x)的像素值就可能小于0,需作二次調(diào)整。其后果就是兩個(gè)連續(xù)像素值修改量增大,導(dǎo)致峰值信噪比變低。如表4所示,P(i,x)=0,P(i,y)=0,當(dāng)嵌入信息十進(jìn)制值大于4時(shí),兩個(gè)連續(xù)像素經(jīng)過(guò)兩次調(diào)整共需修改4 bit,而嵌入量?jī)H為3 bit,峰值信噪比較低。
表4 兩個(gè)連續(xù)像素修改量
秘密信息m值 P(i,x)=0P(i,y)=0
0000
11+10
22+1+1
33+2+1
44+2+2
55(-2)+4=2(-2)+4=2
66(-1)+4=3(-1)+4=3
7 7(-1)+4=30+4=3
以上就基于PVD的高質(zhì)量圖像隱藏方法在圖像一致區(qū)域的峰值信噪比進(jìn)行了分析。由上述可見(jiàn),該方法在此區(qū)域存在嵌入效率較低、峰值信噪比浪費(fèi)的情況。基于這一點(diǎn),本文在圖像一致區(qū)域使用選擇性3-LSB嵌入方法,避免了上述b)和c)類情況,有效提高了該區(qū)域的嵌入效率。實(shí)驗(yàn)證明,嵌入量明顯提高,峰值信噪比僅降低了1~2 dB,并沒(méi)影響其隱蔽性。
4 結(jié)束語(yǔ)
本文提出了一種基于最低有效位(LSB)和像素值差異(PVD)的圖像信息隱藏方法。單純使用基于PVD的高質(zhì)量圖像隱藏方法,可以得到較高的視覺(jué)質(zhì)量,但一致區(qū)域的嵌入量要低于邊界區(qū)域的嵌入量。為了進(jìn)一步提高嵌入量,本文在一致區(qū)域使用選擇性的最低有效位嵌入方法而在邊界區(qū)域仍使用像素值差異的方法。實(shí)驗(yàn)結(jié)果表明,使用該方法可使隱寫(xiě)圖像具有大于38 dB的峰值信噪比,保證了隱寫(xiě)圖像的視覺(jué)質(zhì)量;平均嵌入量為95 355 Byte,是基于PVD的高質(zhì)量圖像隱藏方法的1.57~1.97倍,有效地提高了秘密信息的嵌入量。同時(shí)該方法思路簡(jiǎn)單清晰,易于實(shí)現(xiàn),并能無(wú)損還原,在秘密信息的安全存儲(chǔ)和傳輸中具有一定的應(yīng)用價(jià)值。
參考文獻(xiàn):
[1]
WALTON S.Image authentication for a slippery new age[J].Dr Dobb’s J,1995,20(4):18-26.
[2]LEE Y K,CHEN L H.High capacity image steganography model[J].IEE Proceedings-vision Image Signal Process,2000,147(3):288-294.
[3] WANG Ran-zan,LIN Chi-fang,LIN Ja-chen.Image hiding by optimal LSB substitution and genetic algorithm[J].Pattern Recognit,2001,34(3):671-683.
[4] WANG C M,WU N I,TSAI C S,et al.A high quality steganographic method with pixel-value differencing and modulus function[J].The Journal of Systems and Software,2008,81(1):150-158.
[5]WU H C,WU N I,TSAI C S,et al.I(xiàn)mage steganographic scheme based on pixel-value differencing and LSB replacement methods[J].IEE Proceedings-vision Images Signal Process,2005,152(5):611-615.
[6]JUNG K H,HA K J,YOO K Y.Image data hiding method based on multi-pixel differencing and LSB substitution methods[C]//Proc of International Conference on Convergence and Hybrid Information Technology.Daejeon,South Korea:IEEE Press,2008:35-358.
[7]YANG C H,WENG C Y,WANG S J,et al.Adaptive data hiding in edge areas of images with spatial LSB domin system[J].IEEE Trans on Information Forensics and Security,2008,3(3):488-497.