论文部分内容阅读
随着Internet的快速发展,网络电话VoIP也得到了推广,由于其较传统电话资费便宜、可视频通话等优点,VoIP在长途电话、越洋电话等方面应用尤其广泛,但与传统电话相比,VoIP话音质量还有待提高,这也成为本文研究的目标。
影响VoIP话音质量的主要因素有端到端时延、抖动、丢包率及话音编解码技术等。其中端到端时延、抖动和丢包率是影响话音质量的最重要三大因素,目前基于终端的对端到端时延和抖动改善研究主要集中在接收端,采用播放时刻预测法或设置接收缓冲区这两大类方法对抖动进行平滑改善并控制话音包在接收端的调度时延。该方法在接收端有效地控制了抖动的影响,提高了话音质量,但忽略了发送端本身对于话音时延、丢包率和抖动的影响,限制了话音质量的可改善程度。
本论文提出在发送端和接收端同时参与控制以改善VoIP话音质量的方法。
发送端的改进主要是保证话音源的完整、控制话音包的时延及控制话音源的抖动,这通过在发送端设计的编码方法周期控制算法(EMPCA)和发送方法周期控制算法(SMPCA)实现。编码方法从编码缓冲区中取出数据编码并放入发送缓冲区,根据实验,EMPCA控制编码方法的周期保证了编码缓冲区的数据量占整个缓冲区大小的25%到37.5%,增加编码方法的周期使编码缓冲区中数据增多,减少编码方法的周期使编码缓冲区中数据减少,这样首先保证采集的话音全部编码,防止了编码缓冲区溢出造成的话音包丢失,同时也控制了话音包的时延,即防止了编码缓冲区中数据量过多造成的话音包处理时延;SMPCA尽可能保证话音包发送间隔稳定,即控制话音源的抖动,同时也控制了发送缓冲区数据量。EMPCA和SMPCA这两种控制算法结合使用,达到控制话音在发送端时延、抖动和丢包率的效果,保证了发送到网络的话音质量。
接收端的改进重在接收端设置缓冲区,设计接收缓冲区动态调整算法,尽可能减少话音源抖动、网络抖动和网络时延造成的话音包乱序到达造成的影响,并使得话音包在接收端的调度时延与丢包率得到一定的平衡。
基于上述方案,本论文设计并实现VoIP原型系统,采用在局域网环境中使用NIST net软件模拟广域网环境的方法,使用PC进行VoIP会话,使用PESQ话音质量测量工具对各个会话阶段的话音进行评测。评测结果表明:与未改进算法的原型系统相比较,本论文提出的控制算法对VoIP话音质量有明显的改善效果。