一種Android平臺上使用改進仿射投影算法的回聲消除VOIP系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[OOCn] 本發(fā)明設(shè)及一種Amlroid平臺上使用改進仿射投影算法的回聲消除VOIP系統(tǒng),屬 于計算機通信領(lǐng)域。
【背景技術(shù)】
[0002] 近幾年來,計算機技術(shù)與網(wǎng)絡(luò)技術(shù)得到了飛速地發(fā)展,=網(wǎng)融合逐漸成為未來互 聯(lián)網(wǎng)發(fā)展的趨勢。應(yīng)運而生的VOIP得到了蓬勃的發(fā)展。VOIP就是俗稱的IP電話,是一種 數(shù)字電話,是技術(shù)創(chuàng)新的通信服務(wù)業(yè)務(wù)。我們傳統(tǒng)的PSTN電話采用了公共電話交換網(wǎng),通 過電路交換的交換方式來傳輸語音信號,而VOIP則是采用分組交換的交換方式,在輸入端 將模擬語音信號轉(zhuǎn)化數(shù)字信號,再將載有語音信息的數(shù)據(jù)包通過互聯(lián)網(wǎng)傳輸,最后在接收 端將數(shù)字信號轉(zhuǎn)換成模擬語音信號。VOIP技術(shù)更加合理地利用了Internet網(wǎng)絡(luò)資源,降低 了語音業(yè)務(wù)成本,易于部署和易于擴展業(yè)務(wù)。因此,它得到了快速的發(fā)展,比如Skype等IP 電話。
[0003]Amlroid操作系統(tǒng)憑借其強大的功能、良好的界面、廣泛的商業(yè)支持,為用戶帶來 很好的體驗,成為近幾年最熱口且發(fā)展最快的手機操作系統(tǒng)?;贏mlroid操作系統(tǒng)的 VOIP也得到了一定的發(fā)展,如SipDroid,IMSDroid,CSipsimple,Li噸hone,webrtc。
[0004]目前很多An化Oid的VOIP系統(tǒng)采用了SP邸X音頻編碼標準,使用CELP技術(shù),占 用2~44肺PS的帶寬。S陽EX是一套主要用于VOIP語音壓縮開源庫,支持對聲音的壓縮, 非常適合網(wǎng)絡(luò)通信,支持多模式多速率語音編碼,提供了窄帶(8KHZ)、寬帶化KHz)、超寬帶 (32KH幻S種帶寬的語音。
[0005]目前的VOIP常常會有回聲問題?;芈晢栴}產(chǎn)生的原因是遠端用戶產(chǎn)生的語音信 號通過揚聲器的傳播后再被近端傳聲器采集,回傳到遠端用戶的聽筒,使得遠端用戶能聽 到自己的說話內(nèi)容,通話質(zhì)量嚴重下降。
[0006] 目前的SPEEX編碼器的回聲消除模塊采用了頻率多延時自適應(yīng)算法(Muti-delay Rrequen巧Domain, MDFO和標準最小均方差(Normalized LMS,NLM巧算法。
[0007] 目前主流的回聲消除方法是自適應(yīng)濾波器算法。常用的自適應(yīng)算法有最小均方 (Xeastmeansquare,LM巧算法、變步長(Vari油IestepsizeLMS,VLM巧算法和NLMS算 法。
[0008] 因為語音是非平穩(wěn)強相關(guān)的信號,NLMS及其改進信號在處理此類型號的時候,反 饋抑制的性能和穩(wěn)定性都比較差。所W仿射投影算法(AffineProjectionalgorithm, APA)被提出。APA是NLMS的多維推廣,APA算法通過重復使用輸入信號,在輸入數(shù)據(jù)具有 強相關(guān)性的情況下提高算法的收斂速度,但是APA需要選擇合適的步長來取得收斂速度與 穩(wěn)態(tài)誤差之間的折中。而本發(fā)明能夠很好地解決上面的問題。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明目的在于提供了一個基于Amlroid平臺的VOIP系統(tǒng),該系統(tǒng)可W很好地解 決在通話過程中的回聲問題,提高語音質(zhì)量,并且增強語音實時性,增加通話的舒適性。同 時,該系統(tǒng)還具備視頻通話的功能,為用戶提供便利。
[0010] 本發(fā)明解決其技術(shù)問題所采取的技術(shù)方案是:一種Amlroid平臺上使用改進仿射 投影算法的回聲消除VOIP系統(tǒng),該VOIP系統(tǒng)結(jié)合Amlroid開發(fā)技術(shù)W及NDK框架,主要分 為信令模塊、傳輸模塊、語音處理模塊、視頻處理模塊、JNI模塊和JAVA界面模塊。
[0011] 信令模塊實現(xiàn)了系統(tǒng)各種信令的交互功能,具體實現(xiàn)了SIP協(xié)議找。SIP協(xié)議找的 實現(xiàn)直接關(guān)系到整個系統(tǒng)的質(zhì)量與效率,本發(fā)明采用了純C語言開發(fā)的OSIP及EXOSIP庫。
[0012]信令模塊實現(xiàn)了一個完整的用戶代理0JA),它分為用戶代理客戶機扣AC)和用戶 代理服務(wù)器OJA巧,實現(xiàn)了SIP的相關(guān)功能。主要包括注冊功能、撥打電話功能、釋放通話W 及接聽電話的功能。該系統(tǒng)需設(shè)計兩個線程,主線程之外設(shè)計接聽消息的線程。
[0013] 傳輸模塊用于在語音數(shù)據(jù)被編碼后,把數(shù)據(jù)包通過互聯(lián)網(wǎng)傳送到目的方。在無線 網(wǎng)絡(luò)數(shù)據(jù)包的傳輸過程中可能會遇到各種問題,如丟包、延遲、亂序等。如果不對此進行處 理,語音中將會產(chǎn)生抖動、回音或噪聲等問題,從而導致通話質(zhì)量下降。本發(fā)明使用開源的 ORTP協(xié)議來實現(xiàn)此傳輸功能。RTP協(xié)議具備差錯控制的功能,一定程度上減輕丟包等帶來 的影響,提高通話質(zhì)量。ORTP庫是使用純C語言編寫,??谟糜谡Z音數(shù)據(jù)的實時傳輸,具有 很強的移植性。
[0014] 語音處理模塊將語音信號的處理分為語音的采集和播放、語音的編碼和解碼W及 語音數(shù)據(jù)的發(fā)送和接收。在編解碼部分,本發(fā)明的語音處理模塊中使用S陽EX協(xié)議,并在該 協(xié)議的基礎(chǔ)上對其中的回聲消除模塊進行改進;所述回聲消除中采用一種改進的仿射投影 算法,所述算法重復使用輸入信號,并采用變步長算法。
[0015] 本發(fā)明中的回聲消除部分采用了一種改進的仿射投影算法。該算法重復使用輸入 信號,并采用變步長算法,具體算法如下:
[001引W(n+1) =W(n) +y(n)A(n)[AT(n)A(n) ]U(n)
[001引式中:iimin為最小步長;Cf2O')為先驗誤差Un)的能量,即打J(灼)=正CT':為噪聲方差,即式=正jV(")|I。
[0020] 本發(fā)明的系統(tǒng)具備視頻處理模塊,支持H. 264視頻編碼標準,可W實現(xiàn)視頻通話 功能。在視頻編碼方面,使用內(nèi)置編碼器。在Amlroid系統(tǒng)中,提供H. 264編碼的支持,采 用UNIX域協(xié)議,獲取化enCore媒體框架的編碼數(shù)據(jù)。在視頻解碼中。采用移植FFmpeg的 方法,通過編程解決解碼問題。
[0021] 由于本發(fā)明系統(tǒng)中信令模塊、傳輸模塊、語音處理模塊等模塊都采用了C語言編 寫的協(xié)議找,為了能在Amlroid平臺上調(diào)用運些模塊的功能,本系統(tǒng)借助了NDK開發(fā)框架, 編寫了JNI接口,即JNI模塊。
[0022] JNI模塊是為了JAVA界面模塊在Amlroid平臺上調(diào)用信令模塊、傳輸模塊、語音處 理模塊等其它模塊功能而設(shè)計的接口,因為所述系統(tǒng)中信令模塊、傳輸模塊、語音處理模塊 等模塊都采用了C語言編寫的協(xié)議找;
[0023]JAVA界面模塊負責用戶界面的的設(shè)計與實現(xiàn),調(diào)用各個JNI接口實現(xiàn)具體的SIP 功能,W及管理各個模塊之間的通信。
[0024] 有益效果:
[00巧]1、本發(fā)明是一種在Amlroid平臺上使用改進仿射投影算法消除回聲的VOIP系統(tǒng), 該系統(tǒng)具備語音通話和視頻通話的功能。
[0026] 2、本發(fā)明的回聲消除算法相比其它VOIP中的回聲消除算法,具有較快的收斂速 度和較小的穩(wěn)定失調(diào),該VOIP系統(tǒng)相比現(xiàn)有的VOIP系統(tǒng),通話質(zhì)量W及通話的實時性都得 到了提高。
[0027] 3、本發(fā)明中的VOIP系統(tǒng)相比現(xiàn)有VOIP系統(tǒng),增加了視頻通話的功能。
【附圖說明】
[0028] 圖1為本發(fā)明的系統(tǒng)模塊圖。
[0029] 圖2為本發(fā)明的回聲消除原理示意圖。
[0030] 圖3為本發(fā)明的實現(xiàn)環(huán)境示意圖。
[0031] 圖4為本發(fā)明的注冊界面功能圖。
【具體實施方式】
[0032] 下面結(jié)合說明書附圖對本發(fā)明創(chuàng)造作進一步的詳細說明。