亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

通信終端裝置、通信終端接收方法、通信系統(tǒng)、網(wǎng)關(guān)的制作方法

文檔序號(hào):7590826閱讀:121來源:國知局
專利名稱:通信終端裝置、通信終端接收方法、通信系統(tǒng)、網(wǎng)關(guān)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信終端裝置、通信終端接收方法、具有該通信終端裝置的通信系統(tǒng)、網(wǎng)關(guān),特別涉及進(jìn)行IP通信時(shí)提高話音質(zhì)量的技術(shù)。
背景技術(shù)
經(jīng)過一段時(shí)間的飛速發(fā)展,因特網(wǎng)因?yàn)槠涓采w面積和廉價(jià),已經(jīng)逐漸成為現(xiàn)在人們通信的一種重要手段,因此在因特網(wǎng)上傳送語音數(shù)據(jù),支持IP電話業(yè)務(wù),已經(jīng)成為現(xiàn)在一個(gè)電話發(fā)展的重要方向。VoIP的基本實(shí)現(xiàn)原理是將語音通過編碼后封裝在IP數(shù)據(jù)包中,然后在因特網(wǎng)上用UDP協(xié)議按照盡最大能力轉(zhuǎn)發(fā)的方式傳送數(shù)據(jù)包,到終端后,由終端根據(jù)數(shù)據(jù)包本身的順序去掉IP報(bào)頭,解碼,然后播放語音數(shù)據(jù)。
由于IP電話的語音數(shù)據(jù)包是采用UDP協(xié)議按照盡最大能力轉(zhuǎn)發(fā)方式來傳播的,所以必然對語音業(yè)務(wù)產(chǎn)生一些影響。首先,同一連接的連續(xù)幾個(gè)數(shù)據(jù)包在發(fā)端按照固定的時(shí)間間隔發(fā)出,如果網(wǎng)絡(luò)負(fù)荷相同,所走的網(wǎng)絡(luò)路徑相同,就會(huì)經(jīng)歷相同的時(shí)延,在收端也按照固定的時(shí)間間隔到達(dá);但是,因特網(wǎng)的特點(diǎn)是盡最大能力轉(zhuǎn)發(fā),并且是一跳一跳發(fā)送,沒有固定的路由,所以,同樣一個(gè)連接,不同的數(shù)據(jù)包走過的可能是不同的路由,而且即使走的是同一條路由,不同時(shí)刻網(wǎng)絡(luò)的擁塞狀態(tài)也不同,所以前后幾個(gè)包的排隊(duì)時(shí)延不同,這樣必然導(dǎo)致數(shù)據(jù)包到達(dá)終端不再是按照固定的時(shí)間間隔,這樣,就形成了每個(gè)包應(yīng)該的到達(dá)時(shí)間和實(shí)際的到達(dá)時(shí)間之間的差值,也就是時(shí)延抖動(dòng),并且最嚴(yán)重的情況下時(shí)延抖動(dòng)可能大到造成語言數(shù)據(jù)包亂序和丟失。
圖1表示時(shí)延抖動(dòng)的產(chǎn)生原理。其中,Pi表示第i個(gè)數(shù)據(jù)包。
因?yàn)殡娫捠且环N實(shí)時(shí)業(yè)務(wù),所以延時(shí)太大會(huì)讓用戶無法接受。同時(shí)前后兩個(gè)包延時(shí)抖動(dòng)也會(huì)破壞語音的質(zhì)量,間隔變小,后面的語音會(huì)覆蓋前面的語音;間隔變大,會(huì)在語音持續(xù)過程中出現(xiàn)空白,并且持續(xù)的大間隔造成語音變調(diào)。
因?yàn)橐蛱鼐W(wǎng)的盡力傳輸這個(gè)特點(diǎn),時(shí)延變大和時(shí)延抖動(dòng)的產(chǎn)生不可避免,所以VoIP通信遇到的最大的問題就是時(shí)延和時(shí)延抖動(dòng)的控制,使得語音的質(zhì)量不被破壞。
圖2表示網(wǎng)絡(luò)中端對端延時(shí)的構(gòu)成,其中Dprop和Dtrans由網(wǎng)絡(luò)決定,分別代表網(wǎng)絡(luò)的傳播時(shí)延和傳輸時(shí)延,Dproc是語音包在放出時(shí)需要的機(jī)器處理時(shí)延,Dplay是語音包放出需要的時(shí)間,di是從發(fā)送端發(fā)送到接受端放出經(jīng)歷的時(shí)延,為了維持di成為一個(gè)定值來減少時(shí)延抖動(dòng),所以要調(diào)整Dqueuing,也就是在緩沖區(qū)的等待時(shí)延。
根據(jù)時(shí)延和時(shí)延抖動(dòng)值的不同,網(wǎng)絡(luò)被分成兩種狀態(tài)正常(normal)狀態(tài)和擁塞(spike)狀態(tài)。圖3描述兩種狀態(tài)的不同正常狀態(tài)下,相鄰數(shù)據(jù)包在網(wǎng)絡(luò)中的時(shí)延值一般并不相同(因?yàn)橐蛱鼐W(wǎng)非連接的特點(diǎn)),但是差值也就是時(shí)延抖動(dòng)并不明顯。接收端緩沖區(qū)的大小也被控制在一定的范圍內(nèi),不會(huì)有很大的改變,更加不會(huì)出現(xiàn)數(shù)據(jù)包被取空的可能。而在擁塞狀態(tài)下,可以把這種狀態(tài)分成前后部分。在這個(gè)狀態(tài)的前半?yún)^(qū)間,因?yàn)榇蠖鄶?shù)數(shù)據(jù)包被網(wǎng)絡(luò)阻塞,所以這段時(shí)間內(nèi)數(shù)據(jù)包會(huì)延遲到達(dá),緩沖區(qū)內(nèi)的數(shù)據(jù)包會(huì)有被取空的危險(xiǎn),緩沖區(qū)變空,會(huì)意味無法利用緩沖區(qū)來補(bǔ)償數(shù)據(jù)包到達(dá)時(shí)間的抖動(dòng)。而進(jìn)入擁塞突發(fā)狀態(tài)的后半?yún)^(qū)間,因?yàn)榇蠖鄶?shù)被網(wǎng)絡(luò)阻塞的數(shù)據(jù)包會(huì)一起到達(dá),緩沖區(qū)內(nèi)的數(shù)據(jù)包數(shù)目會(huì)忽然變的很大,數(shù)據(jù)包的延遲也會(huì)變得很大,進(jìn)而不可忍受。

發(fā)明內(nèi)容
本發(fā)明提供一種本發(fā)明涉及通信終端裝置、通信終端接收方法、具有通信終端裝置的通信系統(tǒng)、網(wǎng)關(guān),能夠使進(jìn)行VoIP通信時(shí)的時(shí)延穩(wěn)定,提高話音質(zhì)量。
本發(fā)明的通信終端裝置,進(jìn)行IP電話通信,具備數(shù)據(jù)包解包單元,用于對所接收的含有所述語音信息的包進(jìn)行解包;接收緩沖區(qū),用于存儲(chǔ)被解包后的數(shù)據(jù)包;解碼單元,用于對所述接收緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)包進(jìn)行解碼;播放單元,用于播放由所述解碼單元解碼后獲得的語音信息;及中央控制單元,用于控制數(shù)據(jù)包解包單元、接收緩沖區(qū)和播放單元,其特征在于,所述中央控制單元具備網(wǎng)絡(luò)狀態(tài)判定部,根據(jù)已接收的數(shù)據(jù)包判斷網(wǎng)絡(luò)是否處于擁塞狀態(tài),緩沖區(qū)調(diào)節(jié)部,當(dāng)判斷網(wǎng)絡(luò)處于正常狀態(tài)時(shí),以一組數(shù)據(jù)包為單位對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,調(diào)節(jié)緩沖區(qū)的大?。划?dāng)判斷網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),以一個(gè)數(shù)據(jù)包為單位,對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,加大緩沖區(qū)大小。
所述網(wǎng)絡(luò)狀態(tài)的判斷是,當(dāng)所述數(shù)據(jù)包解包單元接收到的數(shù)據(jù)包的時(shí)間延遲大于預(yù)定的數(shù)據(jù)包的延遲時(shí)間的第1下限值時(shí),判斷網(wǎng)絡(luò)處于擁塞狀態(tài)。
所述網(wǎng)絡(luò)狀態(tài)的判斷是,當(dāng)所述數(shù)據(jù)包解包單元所接收到的數(shù)據(jù)包的時(shí)間間隔大于預(yù)定的數(shù)據(jù)包的間隔時(shí)間的第1下限值時(shí),判斷網(wǎng)絡(luò)處于擁塞狀態(tài)。
所述網(wǎng)絡(luò)狀態(tài)的判斷是,當(dāng)所述接收緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)包的數(shù)量小于預(yù)定的第1下限值時(shí),判斷網(wǎng)絡(luò)處于擁塞狀態(tài),當(dāng)所述接收緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)包的數(shù)量大于比第1下限值高的第2下限值時(shí),判斷網(wǎng)絡(luò)處于正常狀態(tài)。
當(dāng)所述網(wǎng)絡(luò)狀態(tài)判定部判定網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),所述加大緩沖區(qū)大小是由所述中央控制單元向接收緩沖區(qū)從隊(duì)列頭部插入空包。
當(dāng)所述網(wǎng)絡(luò)狀態(tài)判定部判定網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),所述加大緩沖區(qū)大小是由所述中央控制單元向接收緩沖區(qū)中的VAD包的位置插入空包。
所述一組數(shù)據(jù)包單位是一個(gè)語音片段(talk spurt)。
當(dāng)判斷網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),用NLMS算法對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測。
當(dāng)緩沖區(qū)內(nèi)的數(shù)據(jù)包數(shù)目超過預(yù)定的上限值時(shí),刪除緩沖區(qū)中的VAD數(shù)據(jù)包。
本發(fā)明的IP電話數(shù)據(jù)的接收方法,其特征在于,具備以下步驟根據(jù)已接收的數(shù)據(jù)包判斷網(wǎng)絡(luò)是否處于擁塞狀態(tài);當(dāng)判斷網(wǎng)絡(luò)處于正常狀態(tài)時(shí),以一組數(shù)據(jù)包為單位對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,調(diào)節(jié)緩沖區(qū)的大?。划?dāng)判斷網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),以一個(gè)數(shù)據(jù)包為單位,對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,加大緩沖區(qū)大小。
本發(fā)明提供一種網(wǎng)關(guān),連接在路由器和電話之間,進(jìn)行'電話通信,具備數(shù)據(jù)包解包單元,用于對所接收的含有所述語音信息的包進(jìn)行解包;接收緩沖區(qū),用于存儲(chǔ)被解包后的數(shù)據(jù)包;解碼單元,用于對所述接收緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)包進(jìn)行解碼;播放單元,用于播放由所述解碼單元解碼后獲得的語音信息;及中央控制單元,用于控制數(shù)據(jù)包解包單元、接收緩沖區(qū)和播放單元,其特征在于,所述中央控制單元具備網(wǎng)絡(luò)狀態(tài)判定部,根據(jù)已接收的數(shù)據(jù)包判斷網(wǎng)絡(luò)是否處于擁塞狀態(tài),緩沖區(qū)調(diào)節(jié)部,當(dāng)判斷網(wǎng)絡(luò)處于正常狀態(tài)時(shí),以一組數(shù)據(jù)包為單位對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,調(diào)節(jié)緩沖區(qū)的大??;當(dāng)判斷網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),以一個(gè)數(shù)據(jù)包為單位,對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,加大緩沖區(qū)大小。
本發(fā)明提供一種通信系統(tǒng),進(jìn)行IP電話通信,具備發(fā)送裝置,接收裝置,經(jīng)由因特網(wǎng)將所述發(fā)送裝置和接收裝置連接的路由器,其特征在于,所述接收裝置包括數(shù)據(jù)包解包單元,用于對所接收的含有所述語音信息的包進(jìn)行解包;接收緩沖區(qū),用于存儲(chǔ)被解包后的數(shù)據(jù)包;解碼單元,用于對所述接收緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)包進(jìn)行解碼;播放單元,用于播放由所述解碼單元解碼后獲得的語音信息;及中央控制單元,用于控制數(shù)據(jù)包解包單元、接收緩沖區(qū)和播放單元,其特征在于,所述中央控制單元具備網(wǎng)絡(luò)狀態(tài)判定部,根據(jù)已接收的數(shù)據(jù)包判斷網(wǎng)絡(luò)是否處于擁塞狀態(tài),緩沖區(qū)調(diào)節(jié)部,當(dāng)判斷網(wǎng)絡(luò)處于正常狀態(tài)時(shí),以一組數(shù)據(jù)包為單位對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,調(diào)節(jié)緩沖區(qū)的大??;當(dāng)判斷網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),以一個(gè)數(shù)據(jù)包為單位,對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,加大緩沖區(qū)大小。


圖1表示時(shí)延抖動(dòng)的產(chǎn)生原理。
圖2表示網(wǎng)絡(luò)中延時(shí)的構(gòu)成。
圖3表示網(wǎng)絡(luò)的兩種不同的狀態(tài)圖4表示IP電話的傳播原理。
圖5表示本發(fā)明的通信終端裝置的結(jié)構(gòu)框圖。
圖6表示RTP包中的時(shí)間戳的示意圖。
圖7表示NLMS算法的模塊圖。
圖8是緩沖區(qū)大小簡單自適應(yīng)算法。
圖9表示循環(huán)隊(duì)列和插入空包的示意圖。
圖10表示語言的分段時(shí)域特性。
圖11表示控制模塊進(jìn)行緩沖區(qū)控制的流程圖。
具體實(shí)施例方式
圖4表示一般的IP電話的傳播原理。
如圖4所示,本發(fā)明的通信終端系統(tǒng)由VoIP發(fā)送客戶端1,VoIP接收客戶端2,網(wǎng)關(guān)3,路由器4,SIP服務(wù)器5和核心因特網(wǎng)組成。其中VoIP客戶端即通信終端裝置可以是專門的VoIP設(shè)備(如裝了VoIP軟件的電腦或者專門的VoIP電話),也可以是普通電話加上網(wǎng)關(guān)構(gòu)成。在圖4中,舉例說明了發(fā)送客戶端用普通電話加上網(wǎng)關(guān)構(gòu)成,而接收客戶端采用裝了VoIP軟件的電腦來構(gòu)成。但并不限于這種構(gòu)成,也可以是與上述形態(tài)的任一種結(jié)構(gòu)。
發(fā)送客戶端先用SIP控制信令通過SIP服務(wù)器5找到接收客戶端,呼叫并與之建立連接。建立連接后,兩個(gè)通信端通過路由器4及核心網(wǎng)絡(luò),傳送數(shù)據(jù)流。
圖5表示本發(fā)明的通信終端裝置的具體結(jié)構(gòu)框圖。如圖5所示,通信終端裝置具備RTP數(shù)據(jù)包解包單元11,用于對所接收的含有所述語音信息的包進(jìn)行解包;接收緩沖區(qū)13,用于存儲(chǔ)被解包后的數(shù)據(jù)包;解碼單元14,用于對接收所述接收緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)包進(jìn)行解碼;播放單元15,用于播放由所述解碼單元解碼后獲得的語音信息;及中央控制單元12,用于控制RTP數(shù)據(jù)包解包單元、接收緩沖區(qū)和放出單元。
這里,對于通信終端裝置來說,發(fā)送方客戶端完成的是語音的采集、編碼和打包發(fā)送;接受端的客戶端完成的是接收解包,抖動(dòng)調(diào)整,解碼,播放。
發(fā)送方客戶端設(shè)備如果是專門的VoIP設(shè)備,則語音的采集、編碼和打包發(fā)送都在該設(shè)備上完成,而如果是普通電話加網(wǎng)關(guān)組成,則是語音的采集由電話完成,電話完成64kbpsPCM編碼,但是此后再度的壓縮編碼和打包都在網(wǎng)關(guān)處完成。
因此,如果接收方客戶端是專門的VoIP設(shè)備,其功能模塊圖與圖5相同。而如果接收方客戶端是網(wǎng)關(guān)加普通電話組成,則網(wǎng)關(guān)中除不包括圖5中的播放單元外,其余與圖5相同。
RTP數(shù)據(jù)包解包單元采集RTP(實(shí)時(shí)傳輸協(xié)議)數(shù)據(jù)包中的時(shí)間戳(time stamp),提取信息。接收端每個(gè)RTP的包頭都包含一個(gè)時(shí)間戳,這個(gè)時(shí)間戳表示的是發(fā)送端發(fā)出這個(gè)數(shù)據(jù)包的本地絕對時(shí)間,但是一般來說,接收端和發(fā)送端不能做到同步。所以通過將接受端和發(fā)送端的本地時(shí)間對比得到的時(shí)延值并不準(zhǔn)確。所以,時(shí)延參數(shù)的獲取要通過比較前后兩個(gè)數(shù)據(jù)包的時(shí)間戳的差值和前后兩個(gè)包到達(dá)接收端的時(shí)間差來獲得的時(shí)延抖動(dòng)值。而時(shí)延值則需要根據(jù)接受端時(shí)延抖動(dòng)值和緩沖區(qū)的平均大小得到相對的估計(jì)。
控制模塊首先會(huì)設(shè)置一個(gè)定時(shí)器,按一定的間隔從緩沖區(qū)中提取數(shù)據(jù)包進(jìn)行播放,并且利用每一次放出一個(gè)語音包的定時(shí)器來觸發(fā)自適應(yīng)修改緩沖區(qū)的行為。
為了使進(jìn)行VoIP通信時(shí)的時(shí)延穩(wěn)定,需要先檢測網(wǎng)絡(luò)的狀態(tài)。檢測網(wǎng)絡(luò)狀態(tài)的辦法有可以有兩種第一種是通過判斷丟包來斷定擁塞狀態(tài)的開始,一旦連續(xù)兩個(gè)包丟失,也就是在這兩個(gè)數(shù)據(jù)包即將放出的時(shí)候,仍然沒有到達(dá),我們就認(rèn)為網(wǎng)絡(luò)進(jìn)入了擁塞狀態(tài)。進(jìn)入擁塞狀態(tài)后,數(shù)據(jù)包到達(dá)時(shí)延預(yù)測將會(huì)啟動(dòng),當(dāng)預(yù)測算法監(jiān)測到網(wǎng)絡(luò)進(jìn)入正常狀態(tài)后,就認(rèn)為離開擁塞狀態(tài)。
具體來說,檢測網(wǎng)絡(luò)是否進(jìn)入擁塞狀態(tài),例如可以采用以下方法當(dāng)數(shù)據(jù)包解包單元接收到的數(shù)據(jù)包的時(shí)間延遲大于預(yù)定的數(shù)據(jù)包的延遲時(shí)間的閾值時(shí),就可以認(rèn)為網(wǎng)絡(luò)處于擁塞狀態(tài)。
或者,當(dāng)數(shù)據(jù)包解包單元所接收到的數(shù)據(jù)包的時(shí)間間隔大于預(yù)定的數(shù)據(jù)包的間隔時(shí)間的閾值時(shí),判斷網(wǎng)絡(luò)處于擁塞狀態(tài)。
第二種是通過監(jiān)測緩沖區(qū)大小(即緩沖區(qū)中數(shù)據(jù)包的數(shù)量),給緩沖區(qū)的大小設(shè)置上下兩個(gè)門限Lhigh和Llow,當(dāng)緩沖區(qū)大小低于Llow后,就認(rèn)為網(wǎng)絡(luò)進(jìn)入擁塞狀態(tài),而之后只有在緩沖區(qū)大小超過Lhigh后,才認(rèn)為網(wǎng)絡(luò)回到了正常狀態(tài)。
當(dāng)檢測到網(wǎng)絡(luò)處于正常狀態(tài)下時(shí),接收端逐個(gè)數(shù)據(jù)包收集RTP包頭中的時(shí)間戳信息,計(jì)算出數(shù)據(jù)包的到達(dá)的相對時(shí)延值,然后根據(jù)數(shù)據(jù)包的時(shí)延和包丟失情況來判斷網(wǎng)絡(luò)狀態(tài),這種方式會(huì)給接收端帶來一定的計(jì)算量負(fù)荷,圖6表示RTP包中的時(shí)間戳的示意圖。由于這種方式是公知的技術(shù),所以不再詳述。另外,也可以通過監(jiān)視緩沖區(qū)的大小來監(jiān)視網(wǎng)絡(luò)情況,這種方式下面,接收端的任務(wù)量很小,基本沒有額外計(jì)算量,因此是較佳的方式。
收集到網(wǎng)絡(luò)狀態(tài)后,需要對緩沖區(qū)進(jìn)行調(diào)整,這個(gè)調(diào)整的對象是緩沖區(qū)內(nèi)平均的隊(duì)列長度,也就是數(shù)據(jù)包的數(shù)目,在網(wǎng)絡(luò)正常狀態(tài)下,為了不增加通信終端的計(jì)算負(fù)擔(dān),調(diào)整是以一組數(shù)據(jù)包為單位進(jìn)行的。例如是按照語音間隙進(jìn)行的,也就是每一次靜音期結(jié)束的時(shí)候,根據(jù)前一個(gè)語音片段(talk spurt)期間內(nèi)網(wǎng)絡(luò)時(shí)延或者緩沖區(qū)長度的統(tǒng)計(jì)參數(shù)來對即將開始的語音片段決定緩沖區(qū)大小的設(shè)置。
如果用E(vi)表示前一個(gè)語音片段內(nèi)的數(shù)據(jù)包時(shí)延的平均值, 表示前一個(gè)語音片段內(nèi)數(shù)據(jù)包時(shí)延的方差;4是一個(gè)安全系數(shù),保證一定百分率的數(shù)據(jù)包的時(shí)延不會(huì)超過前面的數(shù)值,這樣就可以計(jì)算出下一個(gè)語音片段中應(yīng)該設(shè)置的bi。
bi=E(vi)+4D(vi);]]>當(dāng)網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),接受端的處理方式網(wǎng)絡(luò)檢測模塊一旦檢測到網(wǎng)絡(luò)進(jìn)入擁塞狀態(tài),為了盡快及時(shí)根據(jù)接收到的數(shù)據(jù)包對緩沖區(qū)中的數(shù)據(jù)包進(jìn)行調(diào)整,與網(wǎng)絡(luò)在正常狀態(tài)下以一組數(shù)據(jù)包為單位不同地,立即開始逐個(gè)數(shù)據(jù)包收集RTP包頭中的時(shí)間戳信息,計(jì)算出數(shù)據(jù)包的到達(dá)的時(shí)延抖動(dòng)和相對時(shí)延值。
收集到這些時(shí)延參數(shù)后,可以有幾種處理辦法
1.采用NLMS算法預(yù)測時(shí)延NLMS(Normalized Least Mean Square歸一化最小均方一種估計(jì)算法)已經(jīng)被證明是一種比較好的預(yù)測算法,采取合適的參數(shù),對于變化不劇烈的隨機(jī)過程,可以收斂。本系統(tǒng)設(shè)計(jì)在進(jìn)入擁塞突發(fā)狀態(tài)時(shí),接收端采用NLMS根據(jù)前面包的延時(shí)參數(shù),進(jìn)行后面數(shù)據(jù)包可能的延時(shí)的預(yù)測。
預(yù)測之后,利用改進(jìn)的離散NLMS算法來進(jìn)行緩沖區(qū)參數(shù)的調(diào)整NLMS本身是一種取值連續(xù)的預(yù)測算法,但是在實(shí)際系統(tǒng)中,系統(tǒng)的放出時(shí)間的調(diào)整比較難以做到,比較容易做到的是在緩沖的buffer中添加數(shù)據(jù)包或者刪除數(shù)據(jù)包,所以,當(dāng)進(jìn)入擁塞突發(fā)狀態(tài)后,我們采用插入空白語音包的方法來調(diào)整數(shù)據(jù)包的放出時(shí)間。而在緩沖區(qū)過大的時(shí)候,我們通過刪除空白語音幀來減小緩沖區(qū)的大小。
因此我們的預(yù)測值必須也是和包的放出時(shí)間成整數(shù)倍關(guān)系的離散值,在我們用NLMS預(yù)測出連續(xù)的延時(shí)值后,需要對連續(xù)的延時(shí)值進(jìn)行離散化,獲得離散的數(shù)值后用來控制接收緩沖區(qū)。
圖7表示NLMS算法的模塊圖。其中 是輸入,是當(dāng)前時(shí)刻以前得到的VoIP數(shù)據(jù)包時(shí)延數(shù)據(jù), 是輸出,是通過以前的時(shí)延數(shù)據(jù)對當(dāng)前數(shù)據(jù)包時(shí)延的預(yù)測,d(i)是當(dāng)前數(shù)據(jù)包實(shí)際的時(shí)延值,e(i)是預(yù)測值和實(shí)際值之間的差值。上圖中的計(jì)算方法可以用下面的公式表示di^=W→iTu→i]]>ei=di-d^i]]>w→i+1=w→i+μu→iTu→i+au→iei]]>公式中, 是濾波器系數(shù),μ決定了通過差值對系數(shù)修改的快慢,a保證分母不會(huì)太小。
2類似TCP流量控制的簡單自適應(yīng)算法這是一個(gè)簡化的預(yù)測控制算法,用于對時(shí)延值要求比較小的場合,因?yàn)樾〉臅r(shí)延值就意味著緩沖區(qū)內(nèi)不能存放很多的數(shù)據(jù)包,因此復(fù)雜的調(diào)度算法就沒有意義,這個(gè)時(shí)候,就可以采取一些簡化的算法。這里提出了一種類似于TCP協(xié)議中進(jìn)行流量控制時(shí)重傳窗口大小控制的算法一旦系統(tǒng)檢測出進(jìn)入了擁塞突發(fā)狀態(tài),立即加大緩沖區(qū)大小,使數(shù)據(jù)包的時(shí)延變成該種業(yè)務(wù)可以接收的最大延時(shí)值(離散值),然后不斷的通過每一個(gè)數(shù)據(jù)包的RTP包頭的時(shí)間戳和實(shí)際的到達(dá)時(shí)間來檢測網(wǎng)絡(luò)的擁塞狀態(tài),一旦發(fā)現(xiàn)網(wǎng)絡(luò)擁塞狀態(tài)變好,就將增加的緩沖區(qū)大小值縮小到原來的一半,這樣減小緩沖區(qū)大小,直到恢復(fù)到正常狀態(tài)下的大小。這種緩沖區(qū)大小簡單自適應(yīng)算法如圖8所示。
緩沖區(qū)大小的調(diào)節(jié)方法當(dāng)進(jìn)入擁塞突發(fā)狀態(tài)后,在這個(gè)狀態(tài)的前半?yún)^(qū)間,因?yàn)榇蠖鄶?shù)數(shù)據(jù)包被網(wǎng)絡(luò)阻塞,所以這段時(shí)間內(nèi)數(shù)據(jù)包會(huì)延遲到達(dá),緩沖區(qū)內(nèi)的數(shù)據(jù)包會(huì)有被取空的危險(xiǎn),緩沖區(qū)的大小意味著數(shù)據(jù)包延時(shí)的大小,并且緩沖區(qū)變空,會(huì)意味無法利用緩沖區(qū)來補(bǔ)償數(shù)據(jù)包到達(dá)時(shí)間的抖動(dòng)。而緩沖區(qū)的具體實(shí)現(xiàn)采用循環(huán)隊(duì)列,所以當(dāng)需要加大時(shí)延量來補(bǔ)償時(shí)延抖動(dòng)的時(shí)候,就采用向隊(duì)列頭部插入空包的方法來實(shí)施。
圖9表示循環(huán)隊(duì)列和插入空包的示意圖。
這里,空包(dummy packet)是一種由接收端產(chǎn)生的數(shù)據(jù)包,它本身沒有經(jīng)過網(wǎng)絡(luò)傳輸,是在網(wǎng)絡(luò)出現(xiàn)擁塞時(shí),接收端為了調(diào)整數(shù)據(jù)包的放出時(shí)間而自行在緩沖區(qū)中插入的沒有語音能量的數(shù)據(jù)包。根據(jù)編碼格式的不同,它可以包含完全沒有語音能量的數(shù)據(jù),或者是一種適合人耳聽覺的舒適噪音。
插入空包的時(shí)候,采取從隊(duì)列頭部插入的辦法。緩沖區(qū)的大小設(shè)置上下兩個(gè)門限Lhigh和Llow,當(dāng)緩沖區(qū)大小低于Llow后,就認(rèn)為網(wǎng)絡(luò)進(jìn)入擁塞狀態(tài),此時(shí)就開始在隊(duì)列頭部插入空包,每次插入一個(gè),而之后只有在被阻塞的數(shù)據(jù)包相繼到達(dá),緩沖區(qū)大小超過Lhigh后,才認(rèn)為網(wǎng)絡(luò)回到了正常狀態(tài),停止插入空包。這樣出現(xiàn)網(wǎng)絡(luò)擁塞狀態(tài)后,語音受到的影響是會(huì)在兩段語音中出現(xiàn)中斷,這樣的中斷對語音的語意理解的影響非常小。但是傳統(tǒng)的插包方法則是在缺數(shù)據(jù)包的時(shí)候插入數(shù)據(jù)包,這樣使得原本連續(xù)的語音片段時(shí)斷時(shí)續(xù),對語音內(nèi)容的理解有很大的影響。
此外,根據(jù)發(fā)明人的研究得知,插入空包的位置最佳是在VAD包的位置。其理由如下人耳聽起來為連續(xù)的人類語音,如果把時(shí)間范圍縮小到毫秒級(jí)別,則根據(jù)其時(shí)域特性可以分成語音片段(talk spurt)和靜音片段(silence gaps),其中在語音片段(talk spurt)中,聲音的能量不為零,通過語音編碼編成相應(yīng)的數(shù)據(jù)包進(jìn)行傳輸,但在靜音片段(silencegaps)中,聲音的能量近似為零,不會(huì)被發(fā)送端編碼傳輸,如圖10所示但是即使在一個(gè)語音片段(talk spurt)內(nèi),可能存在某些時(shí)間區(qū)域,在這段比較短的時(shí)間內(nèi),語音的能量非常的低,即使不存在,也基本不會(huì)影響人們對語義的理解,但是由于這段時(shí)間持續(xù)時(shí)間很短,因此為了避免系統(tǒng)狀態(tài)在靜音片段(silence gaps)和語音片段(talkspurt)之間的頻繁切換,當(dāng)這樣的區(qū)域恰好充滿一幀時(shí),仍然進(jìn)行編碼,編碼得到的幀就被稱為VAD幀,這些幀與靜音片段(silence gaps)內(nèi)的數(shù)據(jù)不同,它們是會(huì)被傳送的,因此在VAD包的位置插入空包,以及在必要的時(shí)候丟棄這些數(shù)據(jù)包,都不影響語音的質(zhì)量。
此外,進(jìn)入擁塞突發(fā)狀態(tài)的前半?yún)^(qū)間,因?yàn)榇蠖鄶?shù)被網(wǎng)絡(luò)阻塞的數(shù)據(jù)包會(huì)一起到達(dá),緩沖區(qū)內(nèi)的數(shù)據(jù)包數(shù)目會(huì)忽然變的很大,數(shù)據(jù)包的延遲也會(huì)變得很大,進(jìn)而不可忍受。
具體調(diào)整的方法可以分成三步
1).如果緩沖區(qū)不是非常的大,就采用不再接收VAD(VoiceActivity Detector語音活躍性檢測)數(shù)據(jù)包的方式,在RTP模塊一旦檢測到接收到的數(shù)據(jù)包是VAD數(shù)據(jù)包的時(shí)候就立刻丟掉;2).如果第一步效果不明顯,就清楚已經(jīng)在緩沖區(qū)內(nèi)的VAD數(shù)據(jù)包,減小緩沖區(qū)的大?。?).如果擁塞狀態(tài)特別嚴(yán)重,前兩種方法都不夠的話,對于時(shí)延要求比較小的應(yīng)用,就只能放棄一部分的語音質(zhì)量,壓縮每個(gè)數(shù)據(jù)包的放出時(shí)間,這個(gè)壓縮是靠減少抽樣值完成的。具體就是在每個(gè)數(shù)據(jù)包中按固定的間隔減少語音抽樣值,從而縮短了每個(gè)數(shù)據(jù)包的放出時(shí)間。
圖11表示控制模塊進(jìn)行緩沖區(qū)控制的流程圖。
通過采用本發(fā)明,能夠使通信終端裝置的語音信息的延遲保持為一定,并使數(shù)據(jù)包不丟失。
權(quán)利要求
1.一種通信終端裝置,進(jìn)行IP電話通信,具備數(shù)據(jù)包解包單元,用于對所接收的含有所述語音信息的包進(jìn)行解包;接收緩沖區(qū),用于存儲(chǔ)被解包后的數(shù)據(jù)包;解碼單元,用于對所述接收緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)包進(jìn)行解碼;播放單元,用于播放由所述解碼單元解碼后獲得的語音信息;及中央控制單元,用于控制數(shù)據(jù)包解包單元、接收緩沖區(qū)和播放單元,其特征在于,所述中央控制單元具備網(wǎng)絡(luò)狀態(tài)判定部,根據(jù)已接收的數(shù)據(jù)包判斷網(wǎng)絡(luò)是否處于擁塞狀態(tài),緩沖區(qū)調(diào)節(jié)部,當(dāng)判斷網(wǎng)絡(luò)處于正常狀態(tài)時(shí),以一組數(shù)據(jù)包為單位對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,調(diào)節(jié)緩沖區(qū)的大?。划?dāng)判斷網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),以一個(gè)數(shù)據(jù)包為單位,對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,加大緩沖區(qū)大小。
2.根據(jù)權(quán)利要求1所述的通信終端裝置,所述網(wǎng)絡(luò)狀態(tài)的判斷是,當(dāng)所述數(shù)據(jù)包解包單元接收到的數(shù)據(jù)包的時(shí)間延遲大于預(yù)定的數(shù)據(jù)包的延遲時(shí)間的第1下限值時(shí),判斷網(wǎng)絡(luò)處于擁塞狀態(tài)。
3.根據(jù)權(quán)利要求1所述的通信終端裝置,所述網(wǎng)絡(luò)狀態(tài)的判斷是,當(dāng)所述數(shù)據(jù)包解包單元所接收到的數(shù)據(jù)包的時(shí)間間隔大于預(yù)定的數(shù)據(jù)包的間隔時(shí)間的第1下限值時(shí),判斷網(wǎng)絡(luò)處于擁塞狀態(tài)。
4.根據(jù)權(quán)利要求1所述的通信終端裝置,所述網(wǎng)絡(luò)狀態(tài)的判斷是,當(dāng)所述接收緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)包的數(shù)量小于預(yù)定的第1下限值時(shí),判斷網(wǎng)絡(luò)處于擁塞狀態(tài),當(dāng)所述接收緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)包的數(shù)量大于比第1下限值高的第2下限值時(shí),判斷網(wǎng)絡(luò)處于正常狀態(tài)。
5.根據(jù)權(quán)利要求1所述的通信終端裝置,當(dāng)所述網(wǎng)絡(luò)狀態(tài)判定部判定網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),所述加大緩沖區(qū)大小是由所述中央控制單元向接收緩沖區(qū)從隊(duì)列頭部插入空包。
6.根據(jù)權(quán)利要求1所述的通信終端裝置,當(dāng)所述網(wǎng)絡(luò)狀態(tài)判定部判定網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),所述加大緩沖區(qū)大小是由所述中央控制單元向接收緩沖區(qū)中的VAD包的位置插入空包。
7.根據(jù)權(quán)利要求1所述的通信終端裝置,所述一組數(shù)據(jù)包單位是一個(gè)語音片段(talk spurt)。
8.根據(jù)權(quán)利要求1所述的通信終端裝置,其特征在于,當(dāng)判斷網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),用NLMS算法對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測。
9.根據(jù)權(quán)利要求1所述的通信終端裝置,當(dāng)緩沖區(qū)內(nèi)的數(shù)據(jù)包數(shù)目超過預(yù)定的上限值時(shí),刪除緩沖區(qū)中的VAD數(shù)據(jù)包。
10.一種IP電話數(shù)據(jù)的接收方法,其特征在于,具備以下步驟根據(jù)已接收的數(shù)據(jù)包判斷網(wǎng)絡(luò)是否處于擁塞狀態(tài);當(dāng)判斷網(wǎng)絡(luò)處于正常狀態(tài)時(shí),以一組數(shù)據(jù)包為單位對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,調(diào)節(jié)緩沖區(qū)的大小;當(dāng)判斷網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),以一個(gè)數(shù)據(jù)包為單位,對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,加大緩沖區(qū)大小。
11.根據(jù)權(quán)利要求8的接收方法,其特征在于,當(dāng)所述網(wǎng)絡(luò)狀態(tài)判定部判定網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),所述加大緩沖區(qū)大小是由所述中央控制單元向接收緩沖區(qū)從隊(duì)列頭部插入空包。
12.一種網(wǎng)關(guān),連接在路由器和電話之間,進(jìn)行IP電話通信,具備數(shù)據(jù)包解包單元,用于對所接收的含有所述語音信息的包進(jìn)行解包;接收緩沖區(qū),用于存儲(chǔ)被解包后的數(shù)據(jù)包;解碼單元,用于對所述接收緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)包進(jìn)行解碼;播放單元,用于播放由所述解碼單元解碼后獲得的語音信息;及中央控制單元,用于控制數(shù)據(jù)包解包單元、接收緩沖區(qū)和播放單元,其特征在于,所述中央控制單元具備網(wǎng)絡(luò)狀態(tài)判定部,根據(jù)已接收的數(shù)據(jù)包判斷網(wǎng)絡(luò)是否處于擁塞狀態(tài),緩沖區(qū)調(diào)節(jié)部,當(dāng)判斷網(wǎng)絡(luò)處于正常狀態(tài)時(shí),以一組數(shù)據(jù)包為單位對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,調(diào)節(jié)緩沖區(qū)的大??;當(dāng)判斷網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),以一個(gè)數(shù)據(jù)包為單位,對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,加大緩沖區(qū)大小。
13.一種通信系統(tǒng),進(jìn)行IP電話通信,具備發(fā)送裝置,接收裝置,經(jīng)由因特網(wǎng)將所述發(fā)送裝置和接收裝置連接的路由器,其特征在于,所述接收裝置包括數(shù)據(jù)包解包單元,用于對所接收的含有所述語音信息的包進(jìn)行解包;接收緩沖區(qū),用于存儲(chǔ)被解包后的數(shù)據(jù)包;解碼單元,用于對所述接收緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)包進(jìn)行解碼;播放單元,用于播放由所述解碼單元解碼后獲得的語音信息;及中央控制單元,用于控制數(shù)據(jù)包解包單元、接收緩沖區(qū)和播放單元,其特征在于,所述中央控制單元具備網(wǎng)絡(luò)狀態(tài)判定部,根據(jù)已接收的數(shù)據(jù)包判斷網(wǎng)絡(luò)是否處于擁塞狀態(tài),緩沖區(qū)調(diào)節(jié)部,當(dāng)判斷網(wǎng)絡(luò)處于正常狀態(tài)時(shí),以一組數(shù)據(jù)包為單位對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,調(diào)節(jié)緩沖區(qū)的大??;當(dāng)判斷網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),以一個(gè)數(shù)據(jù)包為單位,對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,加大緩沖區(qū)大小。
全文摘要
本發(fā)明提供一種通信終端裝置、通信終端接收方法、具有通信終端裝置的通信系統(tǒng)、網(wǎng)關(guān),能夠使進(jìn)行VoIP通信時(shí)的時(shí)延穩(wěn)定,提高話音質(zhì)量。具備數(shù)據(jù)包解包單元,接收緩沖區(qū);解碼單元;播放單元;及中央控制單元,具備網(wǎng)絡(luò)狀態(tài)判定部,根據(jù)已接收的數(shù)據(jù)包判斷網(wǎng)絡(luò)是否處于擁塞狀態(tài),緩沖區(qū)調(diào)節(jié)部,當(dāng)判斷網(wǎng)絡(luò)處于正常狀態(tài)時(shí),以一組數(shù)據(jù)包為單位對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,調(diào)節(jié)緩沖區(qū)的大?。划?dāng)判斷網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),以一個(gè)數(shù)據(jù)包為單位,對后續(xù)的數(shù)據(jù)包進(jìn)行預(yù)測,加大緩沖區(qū)大小。
文檔編號(hào)H04L12/56GK1671124SQ20041003017
公開日2005年9月21日 申請日期2004年3月19日 優(yōu)先權(quán)日2004年3月19日
發(fā)明者劉靜, 牛志升, 杜文, 田邊史朗, 池田博樹, 馬元琛 申請人:清華大學(xué), 株式會(huì)社日立制作所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1