華東理工大學(xué)信息學(xué)院 孫豐強(qiáng)
VoIP又稱IP電話或IP網(wǎng)絡(luò)電話,是Voice over IP的縮寫,這種技術(shù)通過(guò)對(duì)語(yǔ)音信號(hào)進(jìn)行編碼數(shù)字化、壓縮處理成壓縮幀,然后轉(zhuǎn)換為IP數(shù)據(jù)包在IP網(wǎng)絡(luò)上進(jìn)行傳輸,從而達(dá)到了在IP網(wǎng)絡(luò)上進(jìn)行語(yǔ)音通信的目的。
VoIP技術(shù)最初只是一種互聯(lián)網(wǎng)上的增值應(yīng)用,形式也較為簡(jiǎn)單。隨著互聯(lián)網(wǎng)的普及,其在商業(yè)運(yùn)營(yíng)中的應(yīng)用價(jià)值被人們發(fā)現(xiàn),很多新興的電信運(yùn)營(yíng)商將VoIP技術(shù)引入到電信運(yùn)營(yíng)中,并在上個(gè)世紀(jì)的最后幾年內(nèi)取得了爆炸式的增長(zhǎng)。
VoIP技術(shù)的體系結(jié)構(gòu)
VoIP技術(shù)的主要目的是用于處理語(yǔ)音和信令,因此可以將它分為四個(gè)功能模塊:語(yǔ)音包處理模塊(Voice Package Module)、電話信令網(wǎng)關(guān)模塊(Telephone Signaling Gateway Module)、網(wǎng)絡(luò)協(xié)議模塊(Network Protocol Module)、網(wǎng)絡(luò)管理模塊(Network Management Module)。VoIP技術(shù)功能結(jié)構(gòu)見(jiàn)圖1。
語(yǔ)音包處理模塊
一般而言,語(yǔ)音包處理模塊主要是在數(shù)字信號(hào)處理器(DSP)芯片上運(yùn)行。主要實(shí)現(xiàn)以下功能:
◆ 語(yǔ)音的編碼及解碼
◆ 靜音檢測(cè)
通過(guò)對(duì)無(wú)話音時(shí)的噪聲進(jìn)行檢測(cè),從而判斷所接收的信號(hào)是否含有語(yǔ)音信號(hào),如果沒(méi)有檢測(cè)到語(yǔ)音信號(hào),將會(huì)反饋至“語(yǔ)音包處理器”,讓它發(fā)出一個(gè)含有“靜音”的信息包,從而最大限度地節(jié)省通訊帶寬。
◆ 回音抵消器
基于國(guó)際標(biāo)準(zhǔn)G.165/G.168實(shí)現(xiàn)語(yǔ)音通訊中的回音抵消,以改善語(yǔ)音的通訊質(zhì)量。
◆ 自適應(yīng)語(yǔ)音恢復(fù)
通過(guò)一個(gè)緩沖器,對(duì)接收到的延后語(yǔ)音包信號(hào),進(jìn)行語(yǔ)音恢復(fù)。從而達(dá)到抗“延時(shí)”、抗“時(shí)延抖動(dòng)”的目的。并且可以“自適應(yīng)”地調(diào)節(jié)時(shí)延值,實(shí)現(xiàn)達(dá)到語(yǔ)音傳輸時(shí)延最小的目的,從而改善語(yǔ)音通訊質(zhì)量。當(dāng)然,它同時(shí)必須支持“內(nèi)插”算法,即當(dāng)語(yǔ)音包在傳輸過(guò)程中丟失時(shí),能夠利用“內(nèi)插”技術(shù)進(jìn)行恢復(fù)。
◆ 語(yǔ)音包處理器
對(duì)經(jīng)過(guò)編碼后的語(yǔ)音信號(hào)進(jìn)行“語(yǔ)音打包”處理,或者是對(duì)接收到的語(yǔ)音包進(jìn)行“拆包”處理,實(shí)際上它是一種封裝協(xié)議的處理。
電話信令網(wǎng)關(guān)模塊
一般而言,電話信令網(wǎng)關(guān)模塊主要是在Host CPU上運(yùn)行。作為一個(gè)“網(wǎng)關(guān)處理器”,它主要是作為電話信令,在電訊設(shè)備與網(wǎng)絡(luò)協(xié)議處理之間進(jìn)行協(xié)議轉(zhuǎn)換。這些信令包含如:掛機(jī)、摘機(jī)、呼入保持、來(lái)電顯示等。它主要是指原有傳統(tǒng)電話設(shè)備上的業(yè)務(wù)及其將來(lái)的增值服務(wù)。
網(wǎng)絡(luò)協(xié)議模塊
這個(gè)模塊主要是用于處理信令的信息。同時(shí)也可以將信令信息轉(zhuǎn)換成對(duì)應(yīng)的特殊網(wǎng)絡(luò)的信令協(xié)議,通過(guò)交換網(wǎng)絡(luò)傳輸。一般而言,國(guó)際上目前比較通用的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)是:H.323協(xié)議,MGCP協(xié)議和SIP協(xié)議等。
網(wǎng)絡(luò)管理模塊
主要是提供一個(gè)語(yǔ)音管理的接口,實(shí)現(xiàn)VoIP的配置及維護(hù)。管理信息是基于國(guó)際標(biāo)準(zhǔn)ASN.1及SNMP簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的要求所建立的。
VoIP的傳輸過(guò)程分析
VoIP是以IP分組交換網(wǎng)絡(luò)為傳輸平臺(tái),對(duì)模擬的語(yǔ)音信號(hào)進(jìn)行壓縮、打包等一系列的特殊處理,使之可以采用無(wú)連接的UDP協(xié)議進(jìn)行傳輸。
為了在一個(gè)IP網(wǎng)絡(luò)上傳輸語(yǔ)音信號(hào),要求幾個(gè)元素和功能。最簡(jiǎn)單形式的網(wǎng)絡(luò)由兩個(gè)或多個(gè)具有VoIP功能的設(shè)備組成,共同通過(guò)一個(gè)IP網(wǎng)絡(luò)連接。VoIP設(shè)備先把語(yǔ)音信號(hào)轉(zhuǎn)換為IP數(shù)據(jù)流,并把這些數(shù)據(jù)流轉(zhuǎn)發(fā)到IP目的地址,IP目的地址又把它們轉(zhuǎn)換回到語(yǔ)音信號(hào)。兩者之間的網(wǎng)絡(luò)必須支持IP傳輸,且可以是IP路由器和網(wǎng)絡(luò)鏈路的任意組合。
VoIP傳輸過(guò)程可分為語(yǔ)音數(shù)字化、信號(hào)編碼分組、信號(hào)打包傳送、解包及解壓縮過(guò)程及數(shù)字語(yǔ)音模擬化五個(gè)過(guò)程。VoIP傳輸過(guò)程見(jiàn)圖2。
語(yǔ)音信號(hào)數(shù)字化
語(yǔ)音信號(hào)是模擬波形,通過(guò)IP方式來(lái)傳輸語(yǔ)音,首先要對(duì)語(yǔ)音信號(hào)進(jìn)行模擬數(shù)據(jù)轉(zhuǎn)換,也就是對(duì)模擬語(yǔ)音信號(hào)進(jìn)行量化,然后送入到緩沖存儲(chǔ)區(qū)中。數(shù)字化可以使用各種語(yǔ)音編碼方案來(lái)實(shí)現(xiàn),目前采用的語(yǔ)音編碼標(biāo)準(zhǔn)主要有ITU-TG.711。
信號(hào)編碼分組
語(yǔ)音信號(hào)進(jìn)行數(shù)字編碼以后,下一步就要對(duì)語(yǔ)音包以特定的幀長(zhǎng)進(jìn)行壓縮編碼。編碼后,壓縮的幀合成一個(gè)壓縮的語(yǔ)音包送入網(wǎng)絡(luò)處理器。網(wǎng)絡(luò)處理器為語(yǔ)音添加包頭、時(shí)標(biāo)和其它信息后通過(guò)IP網(wǎng)絡(luò)傳送到另一端。語(yǔ)音網(wǎng)絡(luò)簡(jiǎn)單地建立通信端點(diǎn)間的物理連接,并在端點(diǎn)間傳輸編碼信號(hào)。IP網(wǎng)絡(luò)不會(huì)形成連接,而要求把數(shù)據(jù)放在可變長(zhǎng)的數(shù)據(jù)報(bào)或分組中,然后給每個(gè)數(shù)據(jù)報(bào)附帶尋址和控制信息,并通過(guò)網(wǎng)絡(luò)發(fā)送。
信號(hào)打包傳送
信號(hào)(數(shù)據(jù))被壓縮后,就需要對(duì)它進(jìn)行打包,加進(jìn)一些協(xié)議信息。在收集語(yǔ)音數(shù)據(jù)的處理過(guò)程中需要一些存儲(chǔ)時(shí)間,因?yàn)閷⒄Z(yǔ)音數(shù)據(jù)發(fā)送到IP網(wǎng)絡(luò)之前必須先收到一定數(shù)量的語(yǔ)音數(shù)據(jù)。在對(duì)信號(hào)進(jìn)行編碼及壓縮過(guò)程中,也需要一定的時(shí)間來(lái)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),從而也產(chǎn)生了一定的時(shí)間延遲。
協(xié)議信息被加入包中是為了更好地保障完成數(shù)據(jù)的傳輸過(guò)程。由于IP協(xié)議是為各種不同的網(wǎng)絡(luò)互聯(lián)而設(shè)計(jì)的,與專用網(wǎng)相比它含有許多復(fù)雜的處理過(guò)程,它要求將一個(gè)包封裝到另外一個(gè)包中,而且數(shù)據(jù)在傳輸?shù)倪^(guò)程中還要經(jīng)過(guò)再打包、重尋址和重新封裝等過(guò)程。
解包及解壓縮過(guò)程
當(dāng)每個(gè)包到達(dá)目的地主機(jī)(網(wǎng)關(guān)、服務(wù)器或用戶計(jì)算機(jī)終端)時(shí),要檢查該包的序號(hào)并將其放到正確的位置,然后用一個(gè)解壓縮算法來(lái)盡量恢復(fù)原始信號(hào)數(shù)據(jù),這時(shí)通過(guò)利用時(shí)鐘同步及時(shí)延處理技術(shù)來(lái)填充由發(fā)送端處理過(guò)程中導(dǎo)致的空缺。由于各個(gè)包在傳輸過(guò)程中經(jīng)過(guò)了不同的路由,所以它們到達(dá)目的地的順序有很大差別,因此接收端要將先達(dá)到的包放到存儲(chǔ)器里一段時(shí)間以后等待后達(dá)到的包,等待時(shí)間的長(zhǎng)短要根據(jù)網(wǎng)絡(luò)的擁塞情況而定。
數(shù)字語(yǔ)音模擬化
目前,IP電話主要應(yīng)用于Internet上,是Internet上的一個(gè)增值業(yè)務(wù)。由于Internet是一個(gè)開(kāi)放的網(wǎng)絡(luò),另外,由于它的帶寬還不夠?qū),尤其在網(wǎng)絡(luò)惡化的情況下,在傳輸過(guò)程中很大一部分包會(huì)被丟失或被延遲傳送,這些丟棄、延遲和被破壞的包是導(dǎo)致語(yǔ)音質(zhì)量下降的根本原因。
按Internet傳統(tǒng)糾錯(cuò)機(jī)制,接收端如果收到錯(cuò)誤的數(shù)據(jù)包就將其丟棄并請(qǐng)求重傳,因此用戶最終收到的數(shù)據(jù)跟原始發(fā)送的數(shù)據(jù)是完全一樣的。由于IP電話業(yè)務(wù)是一種對(duì)時(shí)間敏感的業(yè)務(wù),不能使用重傳機(jī)制,這就需要專用的檢錯(cuò)和糾錯(cuò)機(jī)制來(lái)再造聲音和填補(bǔ)空隙,需要接收端存儲(chǔ)接收到一定數(shù)量的語(yǔ)音數(shù)據(jù),然后使用一種復(fù)雜的算法來(lái)“猜測(cè)”丟失包的內(nèi)容,產(chǎn)生新的語(yǔ)音信息,從而提高通信的質(zhì)量。因此,接收端聽(tīng)到的語(yǔ)音并不與發(fā)送端講的語(yǔ)音完全一樣,其中一部分信息是由VoIP系統(tǒng)“再造”的。
摘自 賽迪網(wǎng)-中國(guó)計(jì)算機(jī)用戶