在IP通信系統中,SIP通信目前是最流行的一種協議,SIP通信語音編碼是用于把話音轉換成數據方式來傳輸,傳輸協議中包括了 RTP,UDP,與IP 一起成為一個完整的語音協議。我們不難想象,傳輸中包頭也占傳輸的一個重要部分,在20ms 的語音封包長度,包頭可以占40字節(jié),實際語音只有20字節(jié),這文章主要是討論語音壓縮編碼對VoIP話音與傳輸的各種影響。至于包頭的壓縮,則不在這討論范圍。
在IPV4里,IP包占20字節(jié),UDP包占8字節(jié),RTP包頭占12字節(jié),共占40字節(jié),此外,以太網占14字節(jié),在每秒20msec 的負荷和以G.729編碼為例,實際要傳輸的字節(jié)數為20+12+8+20+14=74;傳輸速度應為:74字節(jié)/20msec=29.6K; 在相對的環(huán)境下,G.711編碼卻需要85.6K/sec的帶寬。
帶寬與語音編碼
在實際的應用過程中,用戶真正的關心并不是算法的原理以及采用的壓縮技術,而是每種算法的使用特點,下面列出4種VoIP系統最常用的算法來進行比較。
表一 SIP電話編碼算法與性能比較
編碼類型 |
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 - SIP電話一種新的編碼協議
語音質量一直是VoIP應用的主要難點,如何保證和提高IP網絡傳輸語音的通話效果,是VoIP應用迫切需要解決的問題。"iLBC"編解碼的出現,解決了在包交換的IP網絡中,傳輸語音所遇到的網絡丟包嚴重影響通話質量等實際問題,實現了"語音質量的飛躍"。
在不同的網絡丟包環(huán)境下,使用iLBC與G.729A、G.723.1編解碼的語音質量比較。
無論在高丟包率條件下還是在沒有丟包的條件下,iLBC的語音質量都優(yōu)于目前流行的G.723.1, G.729A等標準編解碼;而且丟包率越大,使用iLBC的語音質量優(yōu)勢越明顯。通常情況下,為了衡量IP網絡語音質量,將≥5%丟包率的網絡情況定義為VoIP的極限網絡條件。經過語音質量測試,即使在5%丟包率的情況下,iLBC仍然能夠提供相當于GSM手機的語音質量。
對IP-PBX的編碼要求
由表一可以看到,不同的語音編碼協議有各種不同的帶寬、話音質量、CPU處理要求,因此上述幾種編碼協議也沒有一種是絕對可以取代其他的能力。G.711是勝于相對與今天內線TDM話音質量,而且無需任何CPU的處理;G.729是勝于相對占小的帶寬,在同一Internet的帶寬上,可以容下3倍的話音通道;但卻需要更多CPU的處理能力,話音則質量遜于G.711;iLBC 類似G.729,但在有掉包率及延時的情況下,iLBC 比其他的編碼都優(yōu)勝。
因為以上原因,重慶申歐的IP-PBX 都能支持以上幾種重要的語音編碼協議。在局域網的環(huán)境里,有充足的帶寬,所有的IP電話,語音網關都使用G.711協議,這樣能達到最理想的話音效果;話音一旦進入了訊時捷IPX服務器后,訊時捷在往Internet傳輸話音時,便可以根據管理員的選擇,對不同的連接點,自動轉換成各種指定的壓縮編碼,達到節(jié)省帶寬,高話音質量的目的。