怎样选择VoIP系统中的语音压缩编码
时间:2017-11-02 来源:中国集群通信网 作者:Swichvox 点击:
次
主页(http://www.pttcn.net):怎样选择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传输话音时,便可以根据管理员的选择,对不同的连接点,自动转换成各种指定的压缩编码,达到节省带宽,高话音质量的目的。
(中国集群通信网 | 责任编辑:李俊勇) |