关于Vol P语音时延的分析和研究
2018-09-13吕方舟
吕方舟
摘要:结合VoIP语音质量问题,文章对VoIP语音时延展开了分析,发现传输时延、处理时延和打包时延的存在将影响语音质量,还要采用QoS等技术进行消除。
关键词:VoIP;语音质量;时延;QoS技术
在现代通信技术取得快速发展的同时,IP协议已经成为网络通信的核心技术,能够为语音、数据和多媒体业务的融合提供支持。而采用VoIP通信技术,只需要占用少量网络资源就能完成语音信号传输。但就目前来看,VoIP语音存在时延,将给信号质量带来不良影响。因此,还应加强对VoIP语音时延的分析,以便更好地进行VoIP的推广和应用。
1 VoIP语音质量问题分析
VoIP为基于网络之间互联协议的语音通信,可以利用语音压缩设备将语音进行压缩编码处理,然后按照相关协议完成语音数据打包,并利用IP网络将数据包传送至目的地。将数据包串起来,然后进行解压解码处理,则能得到原来的语音信号,以实现网络语音传输。在互联网时代,VoIP具有较强的成本优势和便利性,如MSN,Skype等常用软件都采用VoIP进行语音通信。但就目前来看,VoIP语音质量成了约束VoIP技术发展的重要因素。从VoIP语音质量检测情况来看,时常出现时延、抖动和丢包问题。相较于其他因素,时延因素对VoIP语音传输的影响最为严重,不仅会导致语音掩盖,还会造成语音回声。在时延超出250 ms时,语音通话将受到严重的语音掩盖影响。在时延超出50 ms时,语音回声则会影响语音通话。
2 VoIP语音时延的分类研究
从VoIP语音时延分类上来看,主要包含3种,即传输时延、处理时延和打包时延。
2.1 传输时延
传输时延为VoIP语音信号传输过程中发生的时延,包含传输时间、链路排队时间、接入时间、中继转发时间等等,与网络拥堵情况相关,由传播距离和速度决定。从网络接入情况来看,可以采用的网络接入方式有较多中,不同接入方式的速率不同,将产生不同的接入时延。在接入时延计算时,需要采用时延Taccess= LIP/RUP+LIP/Rdown)的式子,其中LIP指的是语音流的IP包长,RUP和Rdown分别为接入网上行和下行速率。例如,在打包得到的语音数据包为80字节的情况下,如果IP网络接入速率为64 kbit/s,以8 kbit/s速率编码的语音数据包将产生10 ms的接入时延,以1.544 Mbit/s速率编码的数据包接入线路时延为0.415 ms。所以在网络接入上,如果上下行都采用光纤接入方式,可以减少约20 ms的时延。
2.2 处理时延
处理时延由两部分构成,即编码时延和解码时延,分别利用T(code)和T(deco)表示。在语音信号发送的过程中,需要经过抽样、量化、编码和解码处理,采用不同编码和解码算法将产生不同的时延。在语言编码阶段,需要利用编码器对采样帧信号进行处理,所以编码时延将受到数据帧时延T(frag)、处理时延T(proc)和前视时延T(la)的影响。其中,數据帧时延为语音流量用的时间长度,帧为语音信号分解元素。在采样点不同的情况下,帧将发生变化。在打包分组中,就包含每帧的信息,需要进行传输。处理时延为利用编码算法对语音帧进行计算所花费的时间,实际就是编码器的处理时延。前视时延为下一帧长度检查花费的时间,用于确认相邻语音帧间相关性。帧长度为经过编码处理后的字节数,不包含帧头。如果前帧编码有助于后帧,长可以看成是前视时延[1]。利用帧的长,可以进行编码处理后字节的表示,但不包含帧头。而T(code)=T(frag)+T(proc)+T(la)。在编码过程中,利用不同协议,将产生不同时延。例如,采用G.729协议,在数据帧时延和处理时延均为10 ms、前视时延为5 ms的条件下,其将产生25 ms的时延,比特率为8 kbit/s。而解码时延通常比编码时延小,为编码时延的一半左右。
2.3 打包时延
打包时延为IP包封装所耗费的时间。利用IP网络进行语音数据传输,需要对得到编码处理的语音数据帧进行打包处理。IP包由UDP包头、RTP包头、IP包头过程,分别占8Byte,12 Byte和20 Byte。RTP包中包含多少个语音数据帧,直接决定打包时延。如果其中存在的数据帧过多,将导致打包时延较大,在传输过程中容易出现数据包丢失问题,从而导致语音质量受到影响[2]。如果其中存在的数据帧过少,打包时延也将降低,但是包封装效率较低,因此将导致VoIP语音通信效率较低。在编码的过程中,编码器采用以帧为单位的方式进行编码,通常帧长Tflong为10 ms,语音包即以10 ms为单位。而打包时延为Tpaeket=n×Tflong,n指的是语音包个数。在对封装效率进行估算时,可以按照封装效率=(压缩后语音包×n×Tflong/8)/[(压缩后语音包×n×Tflong/8)+40]通常的情况下,打包处理产生的时延较小,可以忽略。例如,针对G.729编码,其净码流速率为8 kbit/s,将一个RTP包打包成一个语音包,时延约10 ms,传送码流为40 kbit/s,封装效率为20%。如果打包2个语音包,时延为20 ms,码流速率为24 kbit/s,封装效率为33.3%。打包成4个,时延为40 ms,码流速率为16 kbit/s,封装效率为50%。由此可见,在VoIP全程,打包时延仅占30 ms。通常的情况下,RTP中打包语音包不超出2个,因此时延可以忽略。
分析VoIP语音时延产生的原因可以发现,在对模拟声音信号进行采集时,通过采样、量化得到PCM信号需要将过压缩处理。在这一阶段,设备侧容易出现编码处理时延。因为就目前来看,得到广泛使用的编码技术依然为高时延编码技术。由于编码方式固定,这部分时延较为固定,所以难以解决时延问题。在此基础上,IP网络结构和运行情况也将对VoIP语音时延产生影响,想要改善这一情况,还要完成整个网络环境和结构的改造。此外,VoIP语音采用的压缩算法带来的打包时延也为固定时延,与语音数据量相关,只有通过合理选择压缩算法才能减少打包数据量,实现DSP负荷的合理分配,继而使打包时延得到改进。
3 VoIP语音时延的解决方法探讨
3.1 QoS技术核心思想
针对VoIP语音时延,可以引入QoS技术进行解决。在IP电话网关中,语音编码处理主要采用G.729等协议,协议传输速率较低,MOS值为4.0,占用宽带较窄,语音质量良好,编码时延为10 ms。在编码器进行数字语音输出时,可以将数字语音放到RTP/UDP/IP包中,通过包化实现运算简化。采取该种措施,可以在增加包头的同时,进行校验码的计算。相较于编码,包化的时延较小。完成包化后,需要将语音数据传输至目的地[3]。为避免包在局域网和广域网的路由接口处排队,还要按照不同规则将流量进行分类,并通过拥堵管理实现队列调度,以便使可调配流量进入空闲队。最后,通过实现IP网络带宽合理调配,则能获得最大的数据传输效率。
3.2 QoS技术具体运用
在运用QoS技术时,首先还要实现流量分类。具体来讲,就是依据优先级或服务级进行流量划分。在优先级设置上,可以根据编码字段进行报文标记,如果字段长度为〃,可将报文分为类。针对IP报头字段Tos域前3位,可以分为2A3=8类。如果使用DSCP,Tos域前6位可以分为2A6=64类。采用该种分类方法,能够完成对源IP地址、源端口号、协议ID、目的端口号等各种报文信息段的划分。其次,加强拥堵管理,可以采用CBQ机制。按照机制规则,可以结合IP报文、优先级、输入接口等进行报文分类,使不同报文进入不同队列。队列主要有3种,一种为LLQ低时延队列,拥有较高的优先级,可以进行报文优先发送。队列带宽较小,可以进行小流量数据包存放,如IP语音包。在接口堵塞的情况下,超出流量限制的数据包将被丢弃,以降低时延。带宽保证列队BQ可以为语音转发类业务体用支持,对时延和帶宽进行平衡。相比较而言,该种列队带宽更高,时延更大,如视频信号、网页数据等数据包对时延要求较低,所以可以利用该队列进行信号传输。此外,针对BE业务,可以利用WFQ列队进行数据传输,利用接口剩余带宽进行业务发送。而通过合理设置带宽比例,可以使线路的利用率得到提高,继而使各类报文在接口拥堵时依然能够以最小带宽传送。语音信号拥有较高的优先级,则能不经过排队直接传送,继而达到降低时延的目的。最后,在网络传输方面,需要合理调配带宽。针对ISP提供的广域网链路,链路路由器和交换机会产生串行化、包化等时延。在用户网络结构不同的情况下,产生的时延也不同[4]。针对这一情况,还要完成适合的ISP线路租用,以便使IP网络物理带宽得到最大效率的利用,采用该方法,能够满足用户对原始IP网络业务需求,也能为语音业务的传送提供质量保障。
4 结语
通过研究可以发现,在VoIP语音信号传输方面,时延的产生将给语音信号质量带来不良影响。针对VoIP语音的传输时延、处理时延和打包时延,还要采用QoS等技术进行处理,以便通过降低时延提高语音质量,继而为业务的开展提供更多保障。
[参考文献]
[1]张旭博.VOIP语音传输终端的设计和实现[J].通信技术,2016(9):1255-1259.
[2]李腾,杨霄鹏,杨朝阳,等基于时延预测的VoIP抖动缓冲控制算法[J].兰州理工大学学报,2014(6):110-114.
[3]邓玲.QoS技术解决VoIP时延中的应用[J].信息与电脑(理论版),2014(8):89-90.
[4]曲桦,赵季红,王丽霞,等基于路径优先度的VoIP中继选择算法[J].电信科学,2014(5):75-80.