張林科 康 凱 肖明芳 王 苗
1(火箭軍工程大學 陜西 西安 710025)2(火箭軍裝備研究院 北京 100000)
音頻信息隱藏是基于人耳聽覺掩蔽特性在音頻信號中嵌入秘密信息,以實現隱蔽通信功能。語音信號使用廣泛,以語音為載體隱藏信息更不易被察覺,在信息安全傳輸領域具有重要應用價值。語音自適應隱藏考慮信號的局部特征,使得信息嵌入的位置、強度和容量隨著局部特征的變化而變化,進一步改善語音信息隱藏性能。文獻[1]通過小波包分解和DCT變換估算掩蔽閾值,自適應選取嵌入音頻段、嵌入的頻率系數和量化步長,與人耳頻域掩蔽特性關聯好,但掩蔽閾值計算過于復雜,嵌入強度提取誤差易導致算法不穩定,隱藏容量有限。文獻[2]在DCT變換低頻系數計算掩蔽閾值,確定嵌入強度,設置能量補償點保持信息隱藏前后能量一致,算法穩定、魯棒性強,但計算復雜,隱藏容量有限。文獻[3]在DWT域計算掩蔽閾值,通過以前載密數據計算當前嵌入強度,盲檢測嵌入強度準確,魯棒性強,但同樣存在計算復雜、隱藏容量有限等不足。文獻[4]在小波變換域依據信噪比最優原則調整嵌入強度,與人耳掩蔽特性關聯不好。文獻[5]基于DWT-SVD和SNR優化隱藏信息,不可感知性和魯棒性很好,但運算量太大,隱藏容量太小,在80 bit/s左右,不適用于隱蔽通信。以上算法采用固定分幀或對固定分幀進行優選的方法確定信息隱藏位置,與語音信號的非平穩特性關聯較差。
針對以上不足,本文提出一種基于人耳時域掩蔽效應的語音自適應隱藏算法,采用能零比和m序列動態選取和標記適于信息隱藏的語音段;通過QIM方法檢測時域掩蔽效應,根據時域掩蔽效應強弱自適應調整小波域嵌入強度和嵌入容量;結合QIM和容錯處理消除提取端嵌入強度誤差。本文算法不可感知性好,隱藏容量大,算法簡單,計算量小,同時具有不差的抗干擾性能,能夠實現基于語音載體的隱蔽通信。
語音信號能零比能夠檢測語音端點,區分有聲段和無聲段,但對數據平移不敏感,尤其是在信息嵌入和受擾后,提取端難以再次準確定位隱藏信息。本文采用時域能零比檢測語音有聲段起始幀,插入m序列標識起始幀位置;三層尺度系數能零比檢測當前語音段結束幀,在起始幀和結束幀之間逐幀嵌入信息。隱藏數據幀結構如圖1所示。

圖1 隱藏數據幀結構
由人耳時域掩蔽效應可知,大強度信號會對小強度信號產生較強的前向、后向和同時掩蔽效應。由人耳的聽閾特性可知,人耳對2~4 kHz的聲音最為敏感,對低頻和高頻成分都不敏感。大強度和低頻率可以通過信號能零比來表征,在能零比大的語音段隱藏信息具有更好的魯棒性和不可感知性。
由語音信號的激勵模型可知,基音范圍為60~500 Hz, 由基音激勵產生的濁音集中了語音信號的大部分能量;基音范圍與8 kHz采樣語音信號三層尺度系數所表征的頻率范圍基本一致,則三層尺度系數能零比恰能反映語音信號的時域能零比變化,且較時域能零比檢測具有更好的穩定性。本文采用時域能零比檢測語音起始幀,采用尺度系數能零比檢測語音結束幀,將隱藏信息嵌入在有聲段。
設幀長為L,第i幀信號為yi(n),1≤n≤L,第i幀短時能量為:
(1)
設第i幀短時過零率為ZCR(i),則短時能零比為:
ECR(i)=E(i)/(ZCR(i)+b)
(2)
式中:b是一個較小的常數,防止ZCR(i)為0時發生溢出情況。
提取端采用尺度系數能零比檢測當前段結束幀時,能零比靠近閾值的語音幀易因干擾、數據隱藏等因素造成提取端錯檢,進而導致提取信息錯誤。為克服上述問題,在發送端對尺度系數能零比做容錯處理。
本文采用線性放大縮小尺度系數的方法調整能零比,不改變信號的過零率和頻譜結構,且設定多個調整閾值對尺度系數劃分區間,不同區間采用不同的調整系數,盡量減小容錯處理對原信號的影響。尺度系數能零比容錯處理算法數學形式表示如下:
(3)

語音信號小波變換三層系數具有較好的穩定性,在三層尺度系數中嵌入信息具有很好魯棒性[6],但仿真實驗表明,過強的魯棒性會導致定位不精準。因此本文在三層小波系數中采用QIM的方法嵌入m序列作為起始幀檢測標識。設m序列為m(i),則有:

(4)
式中:d(i)、d′(i)為嵌入前后的小波系數;s表示嵌入強度;?·」表示向下取整。
1.2.1 自適應隱藏
由人耳的時域掩蔽效應可知,同時掩蔽效果最好,一般前向掩蔽發生在掩蔽音出現前5~20 ms,后向掩蔽發生在掩蔽音消失后50~200 ms,掩蔽效應具有疊加特性,每個數據點嵌入1比特信息的方法不能很好地利用時域掩蔽效應。本文采用改進的量化索引調制(QIM)方法對三層系數大小進行區分。首先對大于設定閾值的系數,根據系數大小確定不同的嵌入強度,嵌入不等量信息;再用已嵌入信息量的多少表征時域前向和后向疊加掩蔽效應強弱,據此確定小于閾值系數的嵌入信息量。
不等距QIM量化器結構如圖2所示。

圖2 不等距QIM量化器結構示意圖
量化器以某一閾值Y為起點,設基本量化步長為J,嵌入強度為Qn,則第n個量化區間對應的嵌入強度Qn= 2n + 1J,嵌入n+1比特信息;第n個量化區間量化步長為:
Jn=2×Qn+2×J
(5)
式中:n為正整數,不大于nmax。
Y+J1+J2+…+Jn (6) 設待量化數據為x,根據x絕對值對應量化區間確定嵌入強度Qn,確定嵌入強度的數學表示形式為: (7) 設由式(7)確定當前幀嵌入信息比特總數為N,再通過判斷N值大小確定x絕對值小于Y值樣點嵌入強度Q0。數學表示形式為: (8) 式中:Nmax、Nmin為設定的閾值,取值大小根據基本步長J和實驗結果確定,本文取Nmax=100,Nmin=20。 為與前文一致,便于下文表述,將前述嵌入強度Qn(n為正整數)與此處Q0統一采用Qn表示,n取非負整數。 各量化區間內均以基本步長J再量化,以不同量化區間號代表嵌入信息;量化區間嵌入強度Qn不同,嵌入信息多少不同。上述方案數學形式表示為: (9) 式中:md為嵌入強度Qn對應的m比特待隱藏信息M(i:i+m-1)的十進制表示;x′表示嵌入信息前數值;x″表示嵌入信息后數值;?·」表示向下取整。 由上述嵌入算法可知,載體數據嵌入前后最大增量為嵌入強度的1/2,小波域抗干擾能力均為J/2,為防止載體數據在嵌入和受擾后越界導致提取錯誤,上下邊界各設置大小為J的保護區間,由此確定各量化區間量化步長Jn和容錯處理容限。 嵌入和受擾后數據會發生變化,靠近量化區間邊界的數據易發生越界造成提取錯誤。因此,數據量化前先進行容錯處理,使待量化數據遠離量化區間邊界,容錯處理容限設為Qn/2+J。容錯處理算法的數學形式表示如下: x>0時, x<0時, (10) 式中:x表示原始數值;x′表示x容錯處理后的值。 1.2.2 重定位 提取端利用小波變換的時頻局部特性,在小波域搜索匹配m序列實現精準重定位。DWT變換不是平移不變的,但DWT變換具有時頻局部特性。以哈爾(Haar)三層小波變換為例,由經典的Mallat離散小波變換公式可得哈兒小波變化三層尺度系數cj-3(i)和三層小波系數dj-3(i)分別為: (11) 式中:k=1,2,…,L,i=0,1,…,(L/8-1);L為幀長,為便于計算,本文取L=2N,N為不小于3的整數,通過控制N的大小調整幀長;cj是語音信號采樣值。 由式(11)易知, Haar小波變換三層系數只與原信號8個樣點有關,當原信號平移8個樣點時,三層系數產生1個樣點的平移。在三層小波系數中搜索同步碼時,可利用這種特殊的平移性,只全部計算前8次逐點平移的小波系數,后續小波系數可依次通過對應的前8次小波系數向左平移1位,再計算最后8個樣點對應的小波系數作為最后1位而得到,這樣可以極大提高搜索效率。 設待檢序列為m′(i),提取端三層小波系數為hd′(i),待檢序列盲提取公式如下: (12) m序列自相關函數為: (13) 式中:p為m序列周期。 做自相關檢測,如果有: (14) 則認為檢測到同步碼。式中:z是一個適當的閾值。z的取值應根據信道質量、同步碼嵌入強度確定,過小易發生假同步,過大易發生漏同步。 1.2.3 盲提取 采用QIM的方法嵌入信息,提取端在搜索匹配m序列后,只需知道閾值Y、量化步長J、Nmax、Nmin,就能夠通過構造同樣的量化器實現盲提取。 三層系數盲提取公式如下: cmd′(i)=?(hcj-3(i)-?hcj-3(i)/Qn」×Qn)/J」dmd′(i)=?(hdj-3(i)-?hdj-3(i)/Qn」×Qn)/J」 (15) 式中:hcj-3(i)、hdj-3(i)分別表示提取端當前幀三層小波變換的尺度系數和小波系數,仍由式(7)無誤差恢復hcj-3(i)、hdj-3(i)對應的嵌入強度Qn和嵌入位數n;cmd′(i)、dmd′(i)分別表示從尺度系數和小波系數提取到的量化區間索引號十進制表示值。 先對每幀大于閾值Y的系數提取隱藏信息,根據已提取信息比特數與Nmax、Nmin關系由式(8)確定Q0,再采用式(15)提取小于閾值Y系數隱藏的信息,將cmdec′(i)、dmdec′(i)轉換為對應n位二進制序列,順序組合得到隱藏的二進制信息碼流。 仿真實驗流程如圖3所示。性能測試載體語音采用采集的3段8 kHz采樣率、16位采樣精度、時長5 s(40 000點)單聲道語音信號(樣本一為女聲、樣本二為男中音、樣本三為男低音),隱藏信息用偽隨機序列進行模擬,m序列周期p=63,使用MATLAB R2016b進行仿真。 圖3 仿真實驗流程框圖 文獻[1]采用db8小波基進行部分小波包分解,再對小波包分解系數進行DCT變換和Bark域映射,通過擴展函數做卷積計算掩蔽閾值,幀長L為2 048;文獻[2]采用DCT變換,映射到Bark域后只計算單個臨界頻帶掩蔽閾值,幀長L為4 160;文獻[3]采用db8小波對44.1 kHz采樣30秒時長信號進行5層DWT變換,由前128個嵌入后的小波系數和掩蔽閾值計算當前嵌入強度,關聯運算量大;文獻[6]在DWT域低頻系數直接嵌入固定容量隱藏信息,幀長L選取對性能影響不大;本文算法在DWT域利用時域掩蔽效應隱藏信息,測試中選取幀長L為504,對于8 kHz采樣信號相當于時長63毫秒,在后向掩蔽效應作用時間范圍內。 涉及頻域掩蔽閾值計算時,必須保證足夠的幀長以滿足分辨率要求,因此文獻[1-3]幀長L難以縮短,且算法本身涉及DCT、卷積、相關運算等,導致運算量極大。本文算法采用只采用DWT變換,幀長小,只在幀內進行簡單比較和選擇運算,因而運算量只略大于文獻[6],遠小于文獻[1-3]。 圖4 樣本一嵌入前后時域圖和時域差值圖 圖5給出文獻[12]嵌入前后時域差值圖,由于采用固定分幀方法,所有幀都有隱藏信息,導致時域差值始終存在,實測中能夠聽到類似底噪的聲音,而本文算法不是所有數據幀都有數據嵌入,具有更好的不可感知性。 圖5 文獻[12]嵌入前后時域差值圖 圖6給出分段信噪比與對應的隱藏量對比圖。 圖6 分段信噪比與隱藏量對比圖 分段信噪比圖中,SNR大于100 dB的幀沒有隱藏數據,只是限于計算精度而存在有限極大值;信噪比低的段隱藏容量大,時域差值大,但載體語音能零比大、掩蔽效應強,不可感知性仍然較好。 表1給出不同樣本、不同幅度在不同J、Y值時的MOS和SNR值。由測試數據可知,選取合適的J、Y值,MOS值始終大于4.5,SNR值不低于25 dB,不隨載體語音類別和幅度變化而大幅變化。 表1 不可感知性測試表 分/db 表2給出基于頻域掩蔽效應[1-3]和采用固定強度小波域隱藏算法[6]的MOS和SNR參考值,并與本文算法進行對比。結果表明本文算法不可感知性與文獻[1-3]相當,優于文獻[6],尤其是信噪比不隨語音信號大動態范圍變動而劇烈改變,MOS值基本保持不變,不可感知性好,性能穩定。 表2 不同隱藏算法MOS和SNR值 表3給出不同樣本、樣本不同幅度、不同參數選取時的隱藏容量值。由測試數據可知,參數J、Y值對隱藏容量影響很大,需根據應用環境選取合理值。參數確定后,隱藏容量受語音樣本、幅度影響,載體語音能零比大,隱藏容量大;反之,隱藏容量小。語音信號是典型的非平穩隨機信號,且不同于連續音頻信號,有聲段無聲段特征明顯,固定隱藏容量顯然不能適應其特點,自適應隱藏容量具有更高應用價值。由表2-表3測試結果可知,本文算法嵌入容量動態范圍大。 表3 隱藏容量測試表 bit/s 表4給出基于頻域掩蔽效應[1-3]和不采用自適應小波域隱藏算法[6]隱藏容量參考值,并與本文算法進行對比。文獻[1]自適應選取嵌入幀和嵌入強度,隱藏容量受載體信號影響大;文獻[2-3]嵌入容量不受載體音頻影響;文獻[6]是小波域非自適應嵌入,嵌入容量固定;本文算法自適應選取嵌入位置、嵌入強度和嵌入量,嵌入容量隨載體信號不同而大范圍變化。 表4 不同算法隱藏容量 信息隱藏受到的干擾主要為采樣精度和計算精度引入的噪聲和信道傳輸過程中誤碼導致的噪聲,本文采用高斯白噪聲模擬干擾,誤比特率(BER)測試抗擾能力。表5給出不同樣本加入σ=0.001、σ=0.000 2高斯白噪聲和無干擾情況下的誤比特率(BER)。 表5 抗噪聲能力(BER)測試表 不同樣本BER值差距很小,考慮隱藏信息偽隨機特性對測試結果的影響,可以認為抗擾能力不受載體影響。各種參數下無干擾時誤比特率均為0,說明本文算法基于QIM和多重容錯處理方法在提取端檢測嵌入強度和嵌入量沒有誤差,不受數據隱藏過程影響,允許采用較大的嵌入強度,算法自身十分穩定;文獻[1]提取端嵌入強度誤差影響數據提取問題,導致算法自身不夠穩定。文獻[2-3]嵌入強度根據掩蔽閾值自適應調整,而掩蔽閾值與載體音頻密切相關,采用固定分幀時小信號或靜音段嵌入強度小,將導致抗干擾能力急劇下降。 基于小波變換的隱藏算法,采樣率高,低頻子帶穩定,抗噪聲能力就強。本文算法測試載體采樣率為8 kHz,因而抗擾能力相對有限;采樣率44.1 kHz情況下,抗擾能力與文獻[6]相同,能夠對抗重采樣、8位重量化、4 kHz低通濾波等;由于加入m序列標識信息隱藏位置,因而還具有一定抗裁剪能力。 本文基于時域掩蔽效應的語音自適應隱藏算法,采用能零比檢測有聲段和無聲段,m序列標識信息隱藏位置,小波變換時頻局部特性加速m序列搜索匹配,實現信息隱藏位置的動態自適應優選和精確重定位;采用不等距的QIM方法實現時域掩蔽效應檢測,逐點調整嵌入強度和隱藏量,以較小運算量得到很好的不可感知性和大動態范圍的嵌入容量,自適應效果明顯;采用QIM和多重容錯處理方法消除了提取端嵌入強度誤差,算法自身十分穩定,能夠穩定適應各種語音信號;小波域隱藏提取具有較好抗干擾能力,滿足語音隱蔽通信抗干擾性能要求。


2 仿真實驗及性能分析
2.1 實驗方案

2.2 運算復雜度分析
2.3 不可感知性分析






2.4 隱藏容量分析


2.5 抗干擾能力分析

3 結 語