一种处理网络抖动的方法及装置制造方法及图纸

技术编号:23486428 阅读:57 留言:0更新日期:2020-03-10 13:17
本申请公开了一种处理网络抖动的方法,包括如下步骤。第一步:在每次从网络收到语音数据包时,计算该语音数据包传输过程中的网络抖动。第二步:根据当前网络抖动,计算抖动缓存模块的目标深度。第三步:在每次从抖动缓存模块里面获取语音数据包时,计算抖动缓存模块的当前平滑深度。第四步:调整抖动缓存模块中的语音数据包的消耗速度。所述第三步或者改为在第一步之前、或者改为与第一步同时进行、或者改为在第一步和第二步之间、或者改为与第二步同时进行。本申请通过分析收到的语音数据包的时序,计算当前网络的抖动,并且调整抖动缓存模块中的语音数据包的消耗速度,使其能够自适应网络抖动。

A method and device for dealing with network jitter

【技术实现步骤摘要】
一种处理网络抖动的方法及装置
本申请涉及一种数据传输处理技术,特别是涉及一种语音数据包在网络传输过程中针对网络抖动的处理方法。
技术介绍
随着4G技术的成熟和普及,越来越多的音视频通过有线或者无线网络的分组交换(PacketSwitch,PS)实现互通,例如VoLTE(VoiceoverLTE,长期演进语音承载)、ViLTE(VideooverLTE,长期演进视频承载)等。当语音数据包(Packet)通过分组交换从设备A发送到设备B时,每个数据包可能会经历多个基站、媒体网关等路由。由于每个路由的负载、数据包排队等待序列都不相同,所以不同的数据包在网络中传输的时间是不一样的。例如图1所示,当设备A按时序发送多个语音数据包给设备B时,设备B接收到数据包的时序和设备A发送的时序可能不同,这样数据包在设备B就产生了抖动(Jitter)。这种抖动是由网络状况引起的,也称为网络抖动。在设备B中,为了消除由网络引起的抖动,目前一般的做法是在设备B中添加抖动缓存模块(JitterBuffer)。这样,即使设备B从网络侧收到的数据包时序和设备A发本文档来自技高网...

【技术保护点】
1.一种处理网络抖动的方法,其特征是,包括如下步骤;/n第一步:在每次从网络收到语音数据包时,计算该语音数据包传输过程中的网络抖动;/n第二步:根据当前网络抖动,计算抖动缓存模块的目标深度;所述目标深度是指抖动缓存模块中所缓存的语音数据包的当前理想数量所对应的总时长;/n第三步:在每次从抖动缓存模块里面获取语音数据包时,计算抖动缓存模块的当前平滑深度;所述当前平滑深度是对当前实际深度经过平滑化处理的一个参数;所述当前实际深度是指抖动缓存模块中所缓存的语音数据包的当前实际数量所对应的总时长;/n第四步:调整抖动缓存模块中的语音数据包的消耗速度;/n所述第三步或者改为在第一步之前、或者改为与第一步...

【技术特征摘要】
1.一种处理网络抖动的方法,其特征是,包括如下步骤;
第一步:在每次从网络收到语音数据包时,计算该语音数据包传输过程中的网络抖动;
第二步:根据当前网络抖动,计算抖动缓存模块的目标深度;所述目标深度是指抖动缓存模块中所缓存的语音数据包的当前理想数量所对应的总时长;
第三步:在每次从抖动缓存模块里面获取语音数据包时,计算抖动缓存模块的当前平滑深度;所述当前平滑深度是对当前实际深度经过平滑化处理的一个参数;所述当前实际深度是指抖动缓存模块中所缓存的语音数据包的当前实际数量所对应的总时长;
第四步:调整抖动缓存模块中的语音数据包的消耗速度;
所述第三步或者改为在第一步之前、或者改为与第一步同时进行、或者改为在第一步和第二步之间、或者改为与第二步同时进行。


2.根据权利要求1所述的处理网络抖动的方法,其特征是,所述第一步进一步包括如下步骤;
步骤S12:接收语音数据包;
步骤S14:将该语音数据包存入抖动缓存模块;
步骤S16:判断该语音数据包是否为接收的第一个语音数据包;如果是,则回到步骤S12;如果否,则进入步骤S18;
步骤S18:计算该语音数据包传输过程中的网络抖动。


3.根据权利要求2所述的处理网络抖动的方法,其特征是,所述步骤S18中,该语音数据包传输过程中的网络抖动jitter(k)=max(0,delay(k)),其中max函数表示取最大值,delay(k)表示该语音数据包在网络传输过程中的相对延迟。


4.根据权利要求3所述的处理网络抖动的方法,其特征是,所述delay(k)=[r_time(k)-r_time(j)]-[timestamp(k)-timestamp(j)],其中timestamp()表示语音数据包的时间戳,r_time()表示语音数据包被接收设备收到的时刻。


5.根据权利要求1所述的处理网络抖动的方法,其特征是,所述第二步进一步包括如下步骤;
步骤S22:采用一个统计窗口,其中的N个数值就是保存的最近收到的N个语音数据包的网络抖动数据;
步骤S24:将统计窗口的N个数值与抖动缓存模块当前的目标深度进行比较,将统计窗口的N个数值中大于抖动缓存模块当前的目标深度的数量记为num;
步骤S26:根据num与第一阈值、以及统计窗口的N个数值中的最大值与第二阈值的比较结果,调整抖动缓存模块的目标深度;
如果num大于第一阈值,则将抖动缓存模块的目标深度增大;
如果抖动缓存模块当前的目标深度减去统计窗口的N个数值中的最大值之差大于第二阈值,则将抖动缓存模块的目标深度减小;
否则,保持抖动缓存模块的当前目标深度不变。


6.根据权利要求5所述的处理网络抖动的方法,其特征是,所述步骤S26中,将抖动缓存模块的目标深度增大是指加packet_duration,将抖动缓存模块的目标深度减小是指减packet_duration;所述packet_duration表示每个语音数据包的播放时长。


7.根据权利要求1所述的处理网络抖动的方法,其特征是,所述第二步中,将抖动缓存模块的目标深度设置为最近收到的多个语音数据包中出现的最大网络抖动值加上packet_duration;所述packet_duration表示每个语音数据包的播放时长。...

【专利技术属性】
技术研发人员:董大源张晖戴兴兴侯锐
申请(专利权)人:翱捷科技上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1