一、引言
1.傳統的LSB方法
LSB方法是信息隱藏中應用最廣泛,實現最簡單的方法之一。這種方法是利用多媒體(圖像、聲音、視頻等)在數字化后產生的量化噪聲不被人類的感觀系統所感知的特性和本身存在冗余空間的特性,將秘密信息嵌入量化誤差的位置,從而達到隱藏信息的目的。任何形式的秘密信息都可以看作是一串二進制位流,而音頻文件的每一個采樣數據也是用二進制數來表示,這樣可以將每個采樣值的最不重要的二進制位(多數情況下為最低位)用代表秘密信息的二進制位代替,以達到在音頻信號中嵌入秘密信息的目的。
在隱藏容量方面,如果把音頻信號看作是秘密信息的傳輸通道,而秘密信息看作是在信道中傳輸的信號,理想情況下,這種信道的容量為Rbps,在此R為音頻信號的采樣率。例如,在無噪聲的信道中,對8KHz采樣率的信號,比特率是8Kbps。
音頻信號里可編碼的數據量大。對于16比特的音頻信號,最高可負載10比特的信息量。在等概率的情況下,每個字節(8比特)可攜帶2.75個比特。
2.Nedeljko的增強健壯性的LSB方法
為了提高傳統LSB方法的健壯性,Nedeljko等人提出了一種提高健壯性的方法。這種方法的核心思想就是將秘密信息嵌入載體信息LSB的高位(第4位以上),同時修改載體信息的低位,以減少因嵌入帶來的嵌入誤差。
Nedeljko的LSB方法比傳統的LSB方法在健壯性方面有了較大的提高,但是這種提高是建立在降低感知透明性(不可感知性)的基礎上的。
二、一種基于能量特征的LSB方法設計
傳統的LSB方法和Nedeljko的LSB方法都是將秘密信息嵌入到時域中的每一個樣本點上,其結果會使人的聽覺系統產生感知。因為,如果音頻信號是幾乎沒有背景噪聲的音樂演奏,則最低比特位的編碼噪聲就會被聽到。所以,本文提出了一種基于能量特征的LSB方法。即將一個樣本點的改動分布到多個樣本點的改動上。其核心思想就是選取前后相鄰的兩段樣本,分別計算兩段樣本的能量,再計算它們的比值,如果比特1被嵌入,則修改比值使其大于1,如果比特0被嵌入則修改比值使其小于1。
1.嵌入算法
(1)算法描述
①將音頻信號序列f(x)分段,每段長度為L。將任意相連的兩段分別記為sec_1和sec_2。如圖1所示。
每段的能量定義為:
令(3)
其中xi表示sec_1的起始樣點。
②將秘密信息轉換成比特序列。根據ratio的值來嵌入1比特的秘密信息。
一方面,當秘密信息的比特為1時,如果ratil≥1,則不對信號修改;否則增大Ei1或減小Ei2。
另一方面,當秘密信息的比特為0時,如果ratio<1,則不對信號修改;否則減小Ei1或增大Ei2。
(2)具體算法
說明:sec_1的16位編碼的原始音頻序列的一個采樣值用ai,xi≤i≤xi+L-1表示,其二進制序列用aij,j=0,1,…15表示。
sec_2的16位編碼的原始音頻序列的一個采樣值用bi,xi+L≤i≤xi+2L-1表示,其二進制序列用bij,j=0,1…15表示。
①根據公式(3)計算ratio的值
②if秘密信息的比特是1
if ratio<0
for(j=0;j≤15;j++)
for(i=xi+L;i≤xi+2L-1;i++)
bij=0
重新計算ratio的值
if ratio≥1 then break
if ratio≥1 then break
if ratio≥1 then return
for(j=0;j≤15;j++)
for(i=xi;i≤xi+L-1;i++)
aij=1
重新計算ratio的值
if ratio≥1 then break
if ratio≥1 then break
2.提取算法
提取算法:秘密信息的提取不需要原始載體信息的參與,是一種盲信息隱藏。同時假設嵌入的起始點得到同步。取相鄰的每兩段隱秘載體信息(每段長度為L)以提取秘密信息,令各段的能量分別為E`1和E`2,進行如下計算
如果ratio`≥1,則秘密信息比特為1,否則秘密信息的比特為0。重復上述過程,對每兩段信號進行一個秘密信息比特的提取,直到所有的秘密信息的比特都得到提取。
3.實驗結果分析
實驗在windows xp操作系統上,用java語言在jdk5.0平臺實現了本算法,利用Matlab對該算法進行了分析,并從主觀和客觀兩方面對該算法進行了評價。在實驗中,選取的載體音頻信號為許多段16位,單聲道,44.1KHz的語音信號,持續的時間為10秒~15秒。
(1)主觀評價。主觀評價采用MOS方法。選取10個人參加測試。將測式人員分成三組,一組是普通者,一組是音樂業余愛好者,一組是具有專業水平的音樂人。評分方法采用五級評分制,5代表極好,不可察覺;4代表較好,可察覺,但不影響聽覺效果;3代表一般,輕微影響聽覺效果;2代表較差,影響聽覺效果;1代表極差,嚴重影響聽覺效果。
①對原始音頻信號和含有秘密信息的載體音頻信號進行隨機抽取,并對參加者保密。同時對參數L進行不同數值的選取。實驗結果見表1。
實驗結果表明,原始音頻信號和嵌入秘密信息的音頻信號沒有差別。但是,不同參數L的選取可能會帶來一些噪聲,但是對參加測試人員的理解不會產生影響。此外,參數L如果選擇過大,雖然對不可感知性帶來極大好處,但是影響了信息的隱藏容量。
②對Nedeljko等人的LSB方法和本文提出的基于能量特征的LSB方法進行比較。如表2所示。
結果表明,本文提出的算法在不可感知性方面優于Nedeljko等人的方法,但是這是以犧牲信息的隱藏容量為代價的。
(2)客觀評價。采用信噪比(SNR)的評價方法。SNR按式(5)方法計算。
其中x(n)為原始音頻采樣數據,x`(n)為嵌入秘密信息后的音頻采樣數據。
實驗選取了10個不同的音頻信號,對嵌入秘密信息后的載體音頻信號進行SNR分析。Nedeljko等人的LSB方法和本文提出的LSB方法進行的比較如圖2所示。從圖中可以看出,兩種方法的信噪比很接近幾乎無差別,說明兩種方法在健壯性方面都具有較好的優越性。外,對參數L的選擇不應過大,否則會影響信噪比的提升。
三、結束語
本文提出的基于能量特征的LSB方法具有較好的不可感知性和健壯性。這種方法將因最不重要位替換而帶來的噪聲分布在各個采樣數據上,避免了將這種噪聲負擔給一個采樣數據的風險。這是以損失部分隱藏容量為代價的。這同時也說明,不可感知性、健壯性和隱藏容量三者是矛盾的。如何尋找三者的平衡點是本文下一步要深入研究的問題。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。