发明名称 语音传输过程中实现动态调整抖动缓存的方法
摘要 本发明涉及一种语音传输过程中实现动态调整抖动缓存的方法。该方法通过实时统计网络的平均延时和平均抖动以准确地反映出当前网络的状况,并根据不断变化的网络中的平均延时和平均抖动状况对JB深度进行实时调整,从而使得接收网关的抗抖动机制能够动态地适配变化的IP网络,降低了在网络中传输语音的过程中的丢包率。同时,改变了原有的静态JB的技术方案所存在的因JB无法灵活地适应网络状况的变化而导致丢包率上升的问题。在相应产品中的测试结果表明本发明能很好地达到语音传输过程中的较佳的抗抖动效果,特别在网络质量较差的情况下可以较大地提高VOIP的语音质量。
申请公布号 CN100525281C 申请公布日期 2009.08.05
申请号 CN200310121961.X 申请日期 2003.12.09
申请人 华为技术有限公司 发明人 王麒;樊荣
分类号 H04L29/02(2006.01)I;H04L12/56(2006.01)I 主分类号 H04L29/02(2006.01)I
代理机构 北京凯特来知识产权代理有限公司 代理人 郑立明
主权项 1、一种语音传输过程中实现动态调整抖动缓存的方法,其特征在于包括:A、统计并计算语音传输过程中的延时和抖动,且所述的延时为语音数据包从发送方到接收方需要的时间,所述的抖动为各个语音数据包的延时的变化,具体包括:统计并计算语音传输过程中的平均延时和平均抖动作为所述的延时和抖动,所述的平均延时di和对应的平均抖动vi分别为:di=α×di-1+(1-α)×ni,vi=α×vi-1+(1-α)|di-ni|,α为通过测试获得的权值因子,且0≤α≤1,i为语音数据包的序号,ni为第i个语音数据包在网络中的总延时;或者,统计并计算语音传输过程中的最小延时和平均抖动作为所述的延时和抖动,所述的最小延时为dmin和对应的平均抖动为vi分别为:dmin=min(dmin,ni),vi=α×vi-1+(1-α)(ni-dmin);B、根据所述的延时和抖动对接收端的抖动缓存进行深度的调整,该步骤具体包括:B1、根据当前的系统时间计算当前语音数据包的实际播放时间,即为旧播放时间,并根据计算获得的平均延时和平均抖动或根据计算获得的最小延时和平均抖动计算当前语音数据包的播放时间,称为新播放时间;其中,如果为基于平均延时和平均抖动计算,则所述的当前的第一个语音数据包的新播放时间为:pi=tsi+di+γ×vi,所述的后续的语音数据包的新播放时间为:pj=pi+tsj-tsi,所述的i为当前语音段的第一个语音数据包的序号,所述的j为后续的语音数据包的序号,所述的γ为对平均抖动的放大倍数,所述的tsi和tsj分别为发送端发送第i个和第j个语音数据包的时间;如果为基于最小延时dmin和平均抖动计算,则所述的当前语音数据包的新播放时间pi为:pi=tsi+dmin+γ×vi,所述的后续的语音数据包的新播放时间pj为:pj=pi+tsj-tsi;B2、根据所述的旧播放时间和所述的新播放时间,对接收端的抖动缓存队列进行深度的调整。
地址 518129广东省深圳市龙岗区坂田华为总部办公楼