怎樣選擇VoIP系統中的語音壓縮編碼
時間:2017-11-02 來源:中國集群通信網 作者:Swichvox 點擊:
次
主頁(http://m.by236.com):怎樣選擇VoIP系統中的語音壓縮編碼
在VoIP系統中,語音編碼是用于把話音轉換成數據方式來傳輸,傳輸協議中包括了 RTP,UDP,與IP 一起成為一個完整的語音協議。我們不難想象,傳輸中包頭也占傳輸的一個重要部分,在20ms 的語音封包長度,包頭可以占40字節,實際語音只有20字節,這文章主要是討論語音壓縮編碼對VoIP話音與傳輸的各種影響。至于包頭的壓縮,則不在這討論范圍。
在IPV4里,IP包占20字節,UDP包占8字節,RTP包頭占12字節,共占40字節,此外,以太網占14字節,在每秒20msec 的負荷和以G.729編碼為例,實際要傳輸的字節數為20+12+8+20+14=74;傳輸速度應為:74字節/20msec=29.6K; 在相對的環境下,G.711編碼卻需要85.6K/sec的帶寬。
帶寬與編碼
在實際的應用過程中,用戶真正的關心并不是算法的原理以及采用的壓縮技術,而是每種算法的使用特點,下面列出4種VoIP系統最常用的算法來進行比較。
表一 編碼算法與性能比較
編碼類型 | G.711 | G.723.1 | G.729A | GSM | iLBC | 語音編碼速率(kbps) | 64 | 5.3 | 8 | 13 | 13.3 | RTP封包長度(ms) | 20 | 30 | 20 | 20 | 30 | 凈語音數據(bytes) | 160 | 20 | 20 | 33 | 50 | 分組包總長度(bytes) | 54+160 | 54+20 | 54+20 | 54+33 | 54+50 | 實際總速率(kbps) | 85.6 | 19.7 | 29.6 | 34.8 | 27.7 | CPU需求 (MIPS) | - | 16 | 18 | ~10 | 19 | 語音質量(PESQ MOS) | 4.5 | 3.7 | 3.9 | 3.4 | 4.0 |
iLBC - 一種新的編碼協議
語音質量一直是VoIP應用的主要難點,如何保證和提高IP網絡傳輸語音的通話效果,是VoIP應用迫切需要解決的問題。"iLBC"編解碼的出現,解決了在包交換的IP網絡中,傳輸語音所遇到的網絡丟包嚴重影響通話質量等實際問題,實現了"語音質量的飛躍"。
下圖為在不同的網絡丟包環境下,使用iLBC與G.729A、G.723.1編解碼的語音質量比較。

無論在高丟包率條件下還是在沒有丟包的條件下,iLBC的語音質量都優于目前流行的G.723.1, G.729A等標準編解碼;而且丟包率越大,使用iLBC的語音質量優勢越明顯。通常情況下,為了衡量IP網絡語音質量,將≥5%丟包率的網絡情況定義為VoIP的極限網絡條件。經過語音質量測試,即使在5%丟包率的情況下,iLBC仍然能夠提供相當于GSM手機的語音質量。
對IP-PBX的編碼要求
由表一可以看到,不同的語音編碼協議有各種不同的帶寬、話音質量、CPU處理要求,因此上述幾種編碼協議也沒有一種是絕對可以取代其他的能力。G.711是勝于相對與今天內線TDM話音質量,而且無需任何CPU的處理;G.729是勝于相對占小的帶寬,在同一Internet的帶寬上,可以容下3倍的話音通道;但卻需要更多CPU的處理能力,話音則質量遜于G.711;iLBC 類似G.729,但在有掉包率及延時的情況下,iLBC 比其他的編碼都優勝。
因為以上原因,訊時捷(Switchvox)的IP-PBX 都能支持以上幾種重要的語音編碼協議。在局域網的環境里,有充足的帶寬,所有的IP電話,語音網關都使用G.711協議,這樣能達到最理想的話音效果;話音一旦進入了訊時捷IPX服務器后,訊時捷在往Internet傳輸話音時,便可以根據管理員的選擇,對不同的連接點,自動轉換成各種指定的壓縮編碼,達到節省帶寬,高話音質量的目的。
(中國集群通信網 | 責任編輯:李俊勇) |