SIP网络电话语音网关语音编码说明

来源:重庆申瓯通信  浏览:730次 时间:2017-05-11  

       在IP通信系统中,SIP通信目前是最流行的一种协议,SIP通信语音编码是用于把话音转换成数据方式来传输,传输协议中包括了 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系统最常用的算法来进行比较。

表一 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网络中,传输语音所遇到的网络丢包严重影响通话质量等实际问题,实现了语音质量的飞跃。

   在不同的网络丢包环境下,使用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 比其他的编码都优胜。

   因为以上原因,重庆申欧的IP-PBX 都能支持以上几种重要的语音编码协议。在局域网的环境里,有充足的带宽,所有的IP电话,语音网关都使用G.711协议,这样能达到最理想的话音效果;话音一旦进入了讯时捷IPX服务器后,讯时捷在往Internet传输话音时,便可以根据管理员的选择,对不同的连接点,自动转换成各种指定的压缩编码,达到节省带宽,高话音质量的目的。