《電子技術(shù)應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 利用Java實現(xiàn)攜帶隱藏信息的實時語音傳輸

利用Java實現(xiàn)攜帶隱藏信息的實時語音傳輸

2009-01-06
作者:李民政,趙榛,鮑飛,劉克鈞

1. 引言
??? 隨著網(wǎng)絡的發(fā)展和以電子商務為代表的網(wǎng)絡經(jīng)濟的興起,,Java技術(shù)的應用越來越廣泛,特別是在網(wǎng)絡傳輸方面,,Java以其跨平臺的通用性和程序?qū)崿F(xiàn)的簡單性逐漸成為計算機網(wǎng)絡方向的主導技術(shù)之一,,然而由于其通用性的限制,,使得Java在諸如 語音載體的樣本采集,編解碼等領(lǐng)域中很少被應用,這對于純Java技術(shù)的發(fā)展而言無疑是一個需要迫切解決的問題,。
??? 另外,,網(wǎng)絡的發(fā)展也使信息安全問題日益突出,采取有效的技術(shù)實現(xiàn)信息的安全傳輸成為當前網(wǎng)絡安全的主要研究課題,。把保密信息嵌入到圖片,、文本、音頻,、視頻等媒體數(shù)據(jù)中的信息隱藏技術(shù)的研究正好迎合了網(wǎng)絡信息安全發(fā)展的要求。
??? 傳統(tǒng)保密通信的方式主要是加密解密技術(shù),,利用密鑰把信息變換成密文使外部不可理解,,通過公開信道發(fā)送到接收端,沒有密鑰的非法用戶無法進行解密,,也就無法正確使用保密信息,。加密解密技術(shù)經(jīng)歷了經(jīng)典的加密解密(DES)技術(shù),公開密鑰加密解密(RSA)技術(shù),,橢圓曲線加密解密(EEC)技術(shù)三個發(fā)展階段,。雖然技術(shù)不斷提高,但算法復雜度高,、容易被截取,、攻擊的缺點一直沒有解決。
??? 本文提出通過Java來實現(xiàn)攜帶隱藏信息的實時語音傳輸新方案,。該方案利用純Java技術(shù)在實時采集的語音數(shù)據(jù)中隱藏信息,,然后實現(xiàn)了在IP網(wǎng)上的實時傳輸。不但解決了傳統(tǒng)加密技術(shù)易被獲取,,易受攻擊的問題,,也避免了目前很多實時語音傳輸中大量與操作系統(tǒng)相關(guān)而造成的通用性差的缺點。
??? 本文結(jié)構(gòu)如下:第2節(jié)概述了系統(tǒng)的設計思路和要求,,第3節(jié)介紹如何使用Java進行前端語音的采集播放,,壓縮與解壓,同步信息的嵌入檢測,,隱藏信息的嵌入提取的過程,。第4節(jié)介紹實時語音在IP網(wǎng)的傳輸及網(wǎng)絡信息反饋、壓縮碼率的自適應調(diào)整過程,。第5節(jié)介紹系統(tǒng)軟件的Java控制實現(xiàn),。第6,7節(jié)介紹系統(tǒng)的實驗結(jié)果和結(jié)論,。
2.?系統(tǒng)的設計思路和要求
2.1 系統(tǒng)的設計思路
??? 系統(tǒng)的設計思路如圖1所示:虛線框內(nèi)為系統(tǒng)傳輸前端的處理,,包括語音的采集播放,隱藏信息的嵌入提取,語音的壓縮解壓,。虛線框外是實時語音的傳輸和控制部分,,包括發(fā)送方語音數(shù)據(jù)RTP封包、發(fā)送,,網(wǎng)絡狀況信息反饋及發(fā)送碼率自適應調(diào)整,,以及接收方的相應部分。


???????????????????????????????????? 圖 1 IP網(wǎng)信息隱藏傳輸系統(tǒng)的設計框圖
2.2系統(tǒng)前端的處理要求
????由于IP網(wǎng)是一個有限帶寬,、變動,,時延,抖動,,丟包率隨時間變化的通道,,網(wǎng)絡帶寬總是處于一個變動的狀態(tài),在某個時段無法滿足語音壓縮速率的要求時,,就會出現(xiàn)丟包的現(xiàn)象,。解決該問題的方法之一是降低語音數(shù)據(jù)的發(fā)送速率,因此,,語音編碼器的壓縮比必須是可調(diào)節(jié)的,。
??? 隱藏信息的嵌入策略還必須具備:(1)不可察覺性:要提高系統(tǒng)的偽裝性,就必須保證人耳聽覺特性無法識別嵌入保密信息語音與原始語音播放時的不同,。(2)較強的魯棒性:語音信息是在干擾信道中傳輸?shù)?,嵌入在語音數(shù)據(jù)中的保密信息要完整的傳送到接收方就必須有較強的抗噪聲、壓縮的攻擊,。(3)抗強裁剪攻擊的性能:網(wǎng)絡擁塞造成的丟包現(xiàn)象將使接收方接收到的數(shù)據(jù)不完整,,同步信息也將隨之丟失,這將意味者無法提取隱藏信息,。因此隱藏信息的嵌入策略就必須能夠抵抗強裁剪的攻擊,。(4)較低的運算復雜度和時間復雜度:隱藏信息的嵌入處理需要損耗一定的時間,為減少語音延時,,隱藏信息的嵌入算法要盡可能降低處理時間,。
??? 同步信息的魯棒性較隱藏信息更高:接收方要能提取出隱藏信息必須準確的檢測出同步信息,同步信息必須滿足比隱藏信息更強的魯棒性才能檢測出隱藏信息的嵌入位置,。
2.3系統(tǒng)語音傳輸?shù)奶幚硪?/STRONG>
??? IP網(wǎng)有限帶寬,、變動,時延,,抖動,,丟包率隨時間變化的信道特點無法預先得知,它依賴于網(wǎng)絡上其他連接的狀態(tài),。IP網(wǎng)上實現(xiàn)語音數(shù)據(jù)的傳輸和Qos控制有更多需要考慮和解決的地方:
??? 在多媒體數(shù)據(jù)傳輸中對實時性有一定的要求,,相比之下語音傳輸對實時性要求更高,必須采用UDP協(xié)議傳輸實時語音數(shù)據(jù)包。但是這會引起丟包,,導致隱藏信息傳輸?shù)牟煌暾?。因此,語音傳輸?shù)膶崟r性和隱藏信息的傳輸?shù)耐暾灾g存在無法協(xié)調(diào)的矛盾,。
??? IP網(wǎng)上數(shù)據(jù)包是以不同路徑到達目的地,,后發(fā)的包可能會先到。因此每個數(shù)據(jù)包在發(fā)送前必須標記一個序號,。接收方將收到的數(shù)據(jù)包先存放到緩存中,,排序后再播放。
??? 語音數(shù)據(jù)包在傳輸中遭遇網(wǎng)絡擁塞將會丟包嚴重,,這不僅會影響正常的通話過程,,隱藏信息也將隨之丟失。因此必須采取相應措施,。可行的辦法是利用Java的server監(jiān)控平臺實時監(jiān)控網(wǎng)絡狀況,,針對當前網(wǎng)絡狀況自適應的調(diào)整語音數(shù)據(jù)包的發(fā)送速率,。
3?系統(tǒng)前端的的設計實現(xiàn)
3.1 語音的采集和播放
??? 語音的采集和播放的實現(xiàn)是應用Java Sound 的API函數(shù)。采樣頻率根據(jù)需要可以選擇8 KHz,,11.025KHz,,22.05KHz,44.1KHz,;樣本的量化位數(shù)可以是8bit或16bit,;聲道可為單聲道或雙聲道。采樣前將先打開采樣設備(計算機聲卡),,獲得采樣設備句柄,,指定采樣格式(采樣頻率,量化位數(shù)),,分配若干用于保存采樣數(shù)據(jù)的內(nèi)存(內(nèi)存的大小和數(shù)量將進一步分析),。開始采樣時,所有內(nèi)存塊都被提交給采樣設備,,采樣設備將依次把語音數(shù)據(jù)寫入內(nèi)存,,當一塊內(nèi)存寫滿后,采樣設備就會發(fā)消息通知程序作相應的處理,,然后把該內(nèi)存返還給采樣設備進行下次采樣,,這樣就形成一個循環(huán)的采樣過程。結(jié)束采樣時釋放所有內(nèi)存塊,,關(guān)閉采樣設備,。
3.2? 語音壓縮與解壓
  系統(tǒng)中語音的采樣率是11.025KHz,量化精度是8 bits,每秒采集的數(shù)據(jù)量是88.2 kbit,,Modem的最高傳輸速率只有56kbit通常低于38kbit,。 因此數(shù)據(jù)在傳輸前必須進行壓縮處理,且壓縮比大于3:1尚可保證通信的暢通,。語音的壓縮和解壓的編解碼器采用自己用Java API直接編程的Java.audio.realspeech來實現(xiàn),。Java.audio.realspeech實現(xiàn)了G.729.1的語音壓縮標準。其特點是:1基音分析采用開環(huán)基音分析和自適應碼本搜索相結(jié)合,,降低了運算量,,減少了基音的量化比特數(shù),提高了基音預測的準確度,;2代數(shù)碼本算法簡單,,不需要存儲碼本,恢復音質(zhì)清晰,,8Kb/s碼率下合成音質(zhì)不低于32kb/sADPCM的水平,;3算法延時15ms,適合于語音的實時傳輸,;4語音壓縮比達到10:1,。
3.3隱藏信息的嵌入和提取
??? 隱藏信息嵌入法可分為空域嵌入法和變換域嵌入法。權(quán)衡各種信息嵌入方法及系統(tǒng)的要求,,采用離散小波變換法來嵌入和提取隱藏信息是由于小波變換有許多優(yōu)點: 1具有時頻局部性,;2具有更多的靈活性,可選擇不同的分解層數(shù),,分解層數(shù)越多隱藏信息越魯棒,;3計算量小,設音頻樣本的長為N,,DCT的計算量為O(N*N), 則FFT的計算量為O(log2(N)*N),,而小波變換的計算復雜度為O(L*N),其中L是小波基的長度

??? 隱藏信息是要嵌入到語音載體中的字符串,,而字符串是以字節(jié)方式存儲的,,參照[15]為待嵌入和檢測的隱藏字符串設計了一個(r,8)形式的BCH碼,其中r表示BCH碼長,。用一個具有256個BCH碼字的信號集,,Sm, ,,來表示一個字節(jié)的256個不同的值,。
??? 接收方對同步信息的準確識別是隱藏信息被提取出的關(guān)鍵??梢詫⑼叫畔⑶度氲綍r域 或頻域中,。時域算法的好處是搜索時計算量較小,但嵌入強度受到限制,,抗攻擊能力較差。嵌入到DCT,,DFT域中可以得到較好的健壯性,,缺點是搜索困難,計算量較大,。DWT有良好的時頻局部分解特性[16],,如同步信號嵌入到DWT域可保證在較小的搜索計算量前提下,有效地提高同步信號的抗攻擊性能,。設 是原始信號,,對于緊支撐的小波可導出:對于 層小波分解, 每發(fā)生 位平移,,相應的低頻系數(shù)將發(fā)生一位平移,。這樣對于 層小波分解,音頻信號段 與 的低頻系數(shù)中除去邊界幾個系數(shù)外絕大部分系數(shù)只是相對地發(fā)生了一位的平移,。在逐位搜索同步信號時可以節(jié)約大量的計算量,,從而提高同步信號的搜索效率。
??? 將原始的音頻數(shù)據(jù)分段并對每一數(shù)據(jù)段作若干層的小波分解,,在低頻系數(shù)部分嵌入信息序列 ,,嵌入過程如圖2所示:

???????????????????????????????????????????? 圖2 隱藏信息嵌入工作流程
??? 提取隱藏信息時,將待檢測的音頻分段并作相應層數(shù)的小波分解,,同步信號確定后,就可以提取其后的水印信息,。提取過程如圖3所示:

??????????????????????????????????????????????? 圖 3 信息的提取工作流程
4. 語音的傳輸及Qos控制的實現(xiàn)
??? 實時傳輸協(xié)議RTP是IETF專門為聲音,、視頻等實時數(shù)據(jù)提供的端到端的的傳輸服務而設計的。利用RTP幀格式中的Sequence(序列號)和RealTime(時間戳)字段可實現(xiàn)端到端的媒體流內(nèi)和流間同步機制,。網(wǎng)絡帶寬充足的的情況下,,RTP具有一定的帶寬調(diào)控能力,保證多媒體流傳輸?shù)臅惩ā?BR>  網(wǎng)絡狀況信息反饋的實現(xiàn)是參照RTCP的協(xié)議標準來完成,,RTCP協(xié)議是RTP協(xié)議的重要組成部分,,通過RTCP協(xié)議的發(fā)送者報告SR 和接收者報告RR來傳送網(wǎng)絡狀況反饋信息,直接用于語音壓縮碼率的自適應調(diào)整,。
??? RTCP報文的傳送是消耗系統(tǒng)帶寬資源的,,如果該報文收發(fā)過于頻繁,則影響正常的語音數(shù)據(jù)報傳送,。一般來說,,該報文發(fā)送對帶寬消耗不超過5%為宜。即RTCP報文的傳送應是周期性的,。
??? 實際的操作中,,我們利用JMF2.0中的javax.media.rtp.rtcp的類來實現(xiàn),,將網(wǎng)絡的負載情況分為正常和過載兩種狀態(tài)。發(fā)送端根據(jù)RTCP報文所反饋的網(wǎng)絡狀況信息和域值 進行比較,,如果大于 ,,則認為是當前網(wǎng)絡處于過載狀態(tài),就要提高語音的編碼率,如下圖4所示:

???????????????????????????????????? 圖4系統(tǒng)網(wǎng)絡狀況反饋和帶寬調(diào)整框圖
5?系統(tǒng)的軟件設計實現(xiàn)
??? 系統(tǒng)是利用編程實現(xiàn)實時語音進行收發(fā)工作,,發(fā)送方要經(jīng)過語音的采集,、隱藏信息的嵌入、語音數(shù)據(jù)的壓縮和發(fā)送的環(huán)節(jié),。接收方也要經(jīng)過語音數(shù)據(jù)接收,、解壓、播放和隱藏信息提取的環(huán)節(jié),。為減少語音數(shù)據(jù)在多個環(huán)節(jié)處理中的延時,,軟件的設計采用多線程的流水線工作方式。
??? 信息的發(fā)送方通過創(chuàng)建Java.lang.Thread類的子類并重載run()來生成三個工作線程和一個輔助線程,。分別是語音采集線程,、信息嵌入線程、壓縮打包及發(fā)送線程,、網(wǎng)絡監(jiān)控和調(diào)整線程,。在內(nèi)存開辟兩個內(nèi)存隊列:原始語音數(shù)據(jù)隊列、嵌入信息的語音數(shù)據(jù)隊列,。語音采集線程采集滿定長的語音數(shù)據(jù)后置入原始語音數(shù)據(jù)隊列(隊列沒有溢出時),;信息嵌入線程一經(jīng)啟動就始終監(jiān)控原始語音數(shù)據(jù)隊列,當對不空時,,取出數(shù)據(jù)嵌入隱藏信息,,后置入嵌入信息的語音數(shù)據(jù)隊列;壓縮打包發(fā)送線程一經(jīng)啟動就便從嵌入信息的語音數(shù)據(jù)隊列取出數(shù)據(jù)進行壓縮,、封裝成RTP包和發(fā)送,,語音編碼器的壓縮比是可調(diào)的,在網(wǎng)絡監(jiān)控和調(diào)整線程的控制下隨時調(diào)整將要發(fā)送語音數(shù)據(jù)的壓縮比,;而網(wǎng)絡監(jiān)控和調(diào)整線程在定時器的控制下定時發(fā)送SR包,,同時接收RR包,分析當前網(wǎng)絡狀況,,根據(jù)需要調(diào)整語音發(fā)送碼率,。
??? 信息的接收方同時啟動四個工作線程和一個輔助線程,即接收及包處理線程,,語音解壓線程,,信息提取線程,語音播放線程和網(wǎng)絡狀況反饋線程,。開辟四個內(nèi)存隊列:兩個數(shù)據(jù)緩沖線性隊列,,一個語音播放數(shù)據(jù)循環(huán)隊列,、一個信息提取數(shù)據(jù)循環(huán)隊列。接收及包處理線程一經(jīng)啟動就開始從網(wǎng)絡接口接收RTP語音數(shù)據(jù)壓縮包,,按照RTP包中的序列號將拆包后的語音壓縮包重新排序,,置入數(shù)據(jù)緩沖隊列1的相應位置,緩沖數(shù)據(jù)隊列1滿時,,按相同的方法將數(shù)據(jù)置入從緩沖數(shù)據(jù)隊列2的相應位置,。語音解壓縮線程觸發(fā)后先從數(shù)據(jù)緩沖隊列1開始獲取語音壓縮數(shù)據(jù)并解壓,之后分別存入信息提取數(shù)據(jù)隊列和語音播放數(shù)據(jù)隊列,。當數(shù)據(jù)隊列1空后,,便從數(shù)據(jù)隊列2獲取數(shù)據(jù)完成相同的操作。信息提取線程和語音播放線程一經(jīng)啟動便監(jiān)控對應的兩個循環(huán)數(shù)據(jù)隊列,,不為空時,,便從隊列中取出數(shù)據(jù)分別進行隱藏信息的提取和語音的播放。網(wǎng)絡狀況反饋線程在定時器的控制下,,根據(jù)當前接收RTP語音數(shù)據(jù)壓縮包的情況和接收到SR包的情況生成RR包,,通過網(wǎng)絡接口發(fā)送出去。
6?試驗結(jié)果
??? 系統(tǒng)經(jīng)過測試運行,,結(jié)果良好,,能夠在接收方提取出嵌入的隱藏信息和聽到清晰的語音,網(wǎng)絡狀況良好丟包率不大的情況下,,隱藏信息的準確識別率能達到90%以上,。系統(tǒng)能達到的性能指標有1隱藏的信息量為24bits每秒。2穩(wěn)健性好,,能抵抗語音壓縮,,信道噪聲的攻擊。3隱藏信息的同步性能較好,,具有自同步能力。4系統(tǒng)具有良好的偽裝性,,在當前的信息嵌入量和嵌入強度的情況下,,很難用人耳辨別出嵌入信息的語音同原始語音的區(qū)別。
7?結(jié)論
??? 本文的主要貢獻是:1提出了一種新的涉密傳輸系統(tǒng)原型并編程實現(xiàn),;2經(jīng)驗證該系統(tǒng)具有良好的偽裝性和抗攻擊性能,,克服了傳統(tǒng)加密傳輸技術(shù)和隱寫術(shù)的不足;3為信息的隱密傳輸技術(shù)的研究開辟了新的思路,。
參考文獻
[1]?黃繼武.自適應圖象壓縮編碼和圖象水印技術(shù)的研究.博士學位論文.中國科學院自動化研究.1998:72-73
[2]?黃繼武.Yun Q. Shi, Yi Shi. Embedding image watermarks in DC components. IEEE Trans. on Circuits and Systems for Video Technology. 2000, 10(6): 974-979
[3]?黃繼武.Shi Yun Q. An adaptive image watermarking scheme based on visual masking. Electronics Letters, 1998,34(8):748-750
[4]?R. G. Van Schyndel, A.Z. Tirkel, C.F. Osborne. A digital watermark.Proc.of 1994 IEEE Int. Conf. Image Processing.Vol.2: 86-89
[5]?Cox, Ingemar J, Linnartz, Jean-Paul M.G.Public watermarks and resistance to tampering. Proc. of IEEE Int. Conf. O Image Processing,1997
[6]?J.Cox,J.Kilian,T.Leighton,T.Shamoon.Secure spread spectrum watermarking for multimedia.IEEE Trans. on Image Processing,6(12): 1673-1687,Dec.1997
[7]?丁瑋, 齊東旭.數(shù)字圖象變換及信息隱藏與偽裝技術(shù).計算機學報,1998.21(9):838-843
[8]?劉振華,尹萍.信息隱藏技術(shù)及其應用.北京:科學出版社,2002.2
[9]?Stefan Katazenbeisser,Fabien A.P.Petitcolas編.吳秋新,鈕心忻譯.信息隱藏技術(shù)-隱寫術(shù)和數(shù)字水印.北京.人民郵電出版社,2001

[10]?(美)William Stallings.密碼學和網(wǎng)絡安全:原理與實踐.北京:電子工業(yè)出版社,2001
[11]?岳軍巧,鈕心忻,楊義先. 語音保密通信中的信息隱藏技術(shù).北京郵電大學學報,2002,25(1):79-82.
[12]?王泳.快速重同步的有意義音頻水印盲檢測算法.計算機研究與發(fā)展,2003,40(2):215-221.

[13]?Java Sound API Home Page,, java.sun.com/products/java-media/sound
[14]?JMF 2.0 API (03/10/01): Class SourceDescription
java.sun.com/products/java-media/jmf/2.1.1/apidocs/ javax/media/rtp/rtcp/SourceDescription.html



本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]