抖动缓存调节方法及其系统技术方案

技术编号:9599920 阅读:93 留言:0更新日期:2014-01-23 04:31
本发明专利技术提供一种抖动缓存调节方法及其系统。所述抖动缓存调节方法,包括:获取数据传输的接收端的丢包率和延时;根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小。本发明专利技术能够针对网络情况进行抖动缓存自适应,解决网络延迟抖动的同时又可保证数据传输质量,尤其适用于网络视频数据的传输。

【技术实现步骤摘要】
抖动缓存调节方法及其系统
本专利技术涉及数据传输的
,特别是涉及一种抖动缓存调节方法,以及一种抖动缓存调节系统。
技术介绍
网络多媒体实时通信的发展使得很多视频交互产品层出不穷,视频传输和编解码技术在实时网络通信中也广泛使用。然而不管在单人网络视频技术,还是多人网络视频技术中,网络抖动延迟是一个不可避免的问题。抖动是QOS(服务质量)里面常用的一个概念,其意思是指分组延迟的变化程度。如果网络发生拥塞,排队延迟将影响端到端的延迟,并导致通过同一连接传输的分组延迟各不相同,而抖动,就是用来描述这样一延迟变化的程度。因此,抖动对于实时性的传输将会是一个重要参数,很多网络应用产品对网络抖动和延迟的要求都比较高,特别是实时通信领域。网络抖动给数据的传输造成不均匀。数据包离开发送端时,按照规则的间隔均匀排列,在通过网络之后,这一均匀的间隔因数据包经历不同的延迟大小而遭到破坏。例如视频数据传送不均匀,会造成视频卡,画面颤抖等不良体验。抖动的大小取决于数据包的延迟时间的差异程度,差异程度越大,则抖动越大。常用的解决网络抖动延迟的方法主要有两个:一个是优化网络拓扑结构。数据传输依靠于网络的通路,如果各条通路的结构不合理,将会造成传输路径变长,经过的路由器或其他设备变多,大大增加了传输延迟。另一方面,在网络中传输的数据也会随着路径的变长而增加,使得网络变得更加拥塞和忙碌。优化网络拓扑结构的方案包括增加有效网络带宽,提高主干网络速度,提高服务器处理性能等。然而,对于网络拓扑的优化缺乏一定的可控性,客观因素影响比较大,可操作性差,其优化的成本也不可估算。另一个是静态缓冲算法。即数据包的接收端创建固定大小的的抖动缓存指针队列的入队线程接收数据包,对接收到的数据包进行排序后将接收到的数据包插入抖动缓存指针队列的相应位置,然后根据出队线程定时器以一定时间间隔触发出队线程。该方法容易实现,稳定性好。但是,固定的抖动缓存深度无法适应网络的变化和各种视频应用场景的要求,对于抖动延迟较大的应用场景,如果设置较小的抖动缓存,则可能影响数据传输质量,而如果设置较大的抖动缓存,则可能导致网络延迟过大,影响数据的正常传输。
技术实现思路
针对上述设置固定的抖动缓存无法兼顾解决网络延迟抖动和数据传输质量的问题,本专利技术提出一种能够针对网络情况进行抖动缓存自适应的抖动缓存调节方法及其系统,解决网络延迟抖动的同时又可保证数据传输质量,尤其适用于网络视频数据的传输。一种抖动缓存调节方法,包括以下步骤:获取数据传输的接收端的丢包率和延时;根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小,包括:如果所述延时大于预设的延时阈值,则减少所述抖动缓存;如果所述丢包率大于预设的丢包率阈值,并且所述延时小于所述延时阈值,则增大所述抖动缓存;其中,计算所述丢包率与所述丢包率阈值的差值,将所述差值乘以当前抖动缓存,获得调节值,增大所述抖动缓存,增大的幅度等于所述调节值;如果所述丢包率小于所述丢包率阈值,并且所述延时小于所述延时阈值,则维持所述抖动缓存的大小不变。本专利技术的抖动缓存调节方法中,根据数据传输的接收端的丢包率和延时,自适应调节所述接收端的抖动缓存的大小。因此抖动缓存的大小是自适应变化的,能够解决抖动缓存太小,无法处理网络抖动延迟导致的丢包率过大的问题,也能够解决抖动缓存过大而导致的网络延时过大,影响数据传输质量的问题,解决网络延迟抖动的同时又可保证数据传输质量,尤其适用于网络视频数据的传输。一种抖动缓存调节系统,包括:参数获取模块,用于获取数据传输的接收端的丢包率和延时;第一调节模块,用于根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小所述第一调节模块包括:用于如果所述延时大于预设的延时阈值,则减少所述抖动缓存的模块;用于如果所述丢包率大于预设的丢包率阈值,并且所述延时小于所述延时阈值,则增大所述抖动缓存的模块;其中,计算所述丢包率与所述丢包率阈值的差值,将所述差值乘以当前抖动缓存,获得调节值,增大所述抖动缓存,增大的幅度等于所述调节值;以及,用于如果所述丢包率小于所述丢包率阈值,并且所述延时小于所述延时阈值,则维持所述抖动缓存的大小不变的模块。本专利技术的抖动缓存调节系统,根据数据传输的接收端的丢包率和延时,自适应调节所述接收端的抖动缓存的大小。因此抖动缓存的大小是自适应变化的,能够解决抖动缓存太小,无法处理网络抖动延迟导致的丢包率过大的问题,也能够解决抖动缓存过大而导致的网络延时过大,影响数据传输质量的问题,解决网络延迟抖动的同时又可保证数据传输质量,尤其适用于网络视频数据的传输。附图说明图1是本专利技术抖动缓存调节方法第一实施方式的流程示意图;图2是本专利技术抖动缓存调节方法第二实施方式的流程示意图;图3是本专利技术抖动缓存调节方法中测试数据包的发送时刻、到达时刻和播放时间的示意图;图4是本专利技术抖动缓存调节方法第三实施方式的流程示意图;图5是本专利技术抖动缓存调节系统第一实施方式的结构示意图;图6是本专利技术抖动缓存调节系统第二实施方式的结构示意图;图7是本专利技术抖动缓存调节系统第三实施方式的结构示意图。具体实施方式请参阅图1,图1是本专利技术抖动缓存调节方法第一实施方式的流程示意图。所述抖动缓存调节方法,包括以下步骤:S102,获取数据传输的接收端的丢包率和延时;S104,根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小。本专利技术的抖动缓存调节方法,根据数据传输的接收端的丢包率和延时,自适应调节所述接收端的抖动缓存的大小。因此抖动缓存的大小是自适应变化的,能够解决抖动缓存太小,无法处理网络抖动延迟导致的丢包率过大的问题,也能够解决抖动缓存过大而导致的网络延时过大,影响数据传输质量的问题,解决网络延迟抖动的同时又可保证数据传输质量,尤其适用于网络视频数据的传输。其中,对于步骤S102,可以在接收端通过对所接收的数据包进行丢包率和延时统计的方式获得,或者通过发送测试包,检测所述测试包的丢包率和延时的方式获得,又或者通过本领域习知的其他技术手段获取所述接收端的丢包率和延时。在一个优选实施方式中,按预设周期统计接收端的丢包率和延时;然后计算在每一所述预设周期内的丢包率的平均值和延时的平均值,获取所述预设周期内的接收端的丢包率和延时。因为在本专利技术中,抖动缓存的大小是变化的,因此丢包率和延时可能随着抖动缓存的变化而有所变化,另外丢包率和延时还可能受到实时的网络状态而有所改变,因此,按预设周期对所述丢包率和延时进行统计,计算每一所述预设周期内的丢包率和延时的平均值,作为该周期内的丢包率和时延值,能够提高丢包率和时延统计的准确性。所述预设周期可以与抖动缓存的调节周期相对应,也可以不对应。对于S104,在调节所述接收端的抖动缓存时,基本原则是:在丢包率过大时增大接收端的抖动缓存,以提高对数据包的缓存接收时间,减小丢包率;在延时过大时,减小接收端的抖动缓存,以减少对数据包的缓存接收时间,提高效率。在一个实施方式中,对所述丢包率和延时分别预设一个丢包率阈值和延时阈值,通过以下方式执行抖动缓存的调节:如果所述延时大于预设的延时阈值,则减少所述抖动缓存;如果所述丢包率大于预设的丢包率阈值,并且所述延时小于所述延时阈值,则增大所述抖动缓存;本文档来自技高网
...
抖动缓存调节方法及其系统

【技术保护点】
一种抖动缓存调节方法,其特征在于,包括以下步骤:获取数据传输的接收端的丢包率和延时;根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小。

【技术特征摘要】
1.一种抖动缓存调节方法,其特征在于,包括以下步骤:获取数据传输的接收端的丢包率和延时;根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小,包括:如果所述延时大于预设的延时阈值,则减少所述抖动缓存;如果所述丢包率大于预设的丢包率阈值,并且所述延时小于所述延时阈值,则增大所述抖动缓存;其中,计算所述丢包率与所述丢包率阈值的差值,将所述差值乘以当前抖动缓存,获得调节值,增大所述抖动缓存,增大的幅度等于所述调节值;如果所述丢包率小于所述丢包率阈值,并且所述延时小于所述延时阈值,则维持所述抖动缓存的大小不变。2.如权利要求1所述的抖动缓存调节方法,其特征在于,获取数据传输的接收端的丢包率和延时的步骤包括:按预设周期统计接收端的丢包率和延时;计算在每一所述预设周期内的丢包率的平均值和延时的平均值,获取所述预设周期内的接收端的丢包率和延时。3.如权利要求1所述的抖动缓存调节方法,其特征在于,减小所述抖动缓存的步骤中,减小的幅度等于所述延时与所述延时阈值的差值。4.如权利要求1所述的抖动缓存调节方法,其特征在于,减小所述抖动缓存之前,进一步判断减小后的抖动缓存是否小于预设的抖动缓存最小值,是则放弃本次调节,否则减小所述抖动缓存。5.如权利要求1所述的抖动缓存调节方法,其特征在于,增大所述抖动缓存之前,进一步判断增大后的抖动缓存是否大于预设的抖动缓存最大值,是则放弃本次调节,否则增大所述抖动缓存。6.如权利要求1至5任意一项所述的抖动缓存调节方法,其特征在于,在获取数据传输的接收端的丢包率和延时之前,还包括设置所述接收端的抖动缓存的初始值的步骤:发送测试数据包,并在每个测试数据包中添加序列号和时间标记;在接收端接收测试数据包,并根据所述测试数据包的序列号和时间标记获取各个所述测试数据包的发送时间和接收时间;根据各个所述测试数据包的发送时间和接收时间按照下式计算所述抖动缓存的理论最佳值:jns=max{|(Rj—Sj)一(Ri—Si)|};其中,jns为抖动缓存的理论最佳值,Rj表示序列号为第j个的测试数据包的接收时间,Sj表示序列号为第j个的测试数据包的发送时间,j和i是两个相邻的序列号;将所述抖动缓存的理论最佳值设为所述抖动缓存的初始值。7.如权利要求1至5任意一项所述的抖动缓存调节方法,其特征在于,根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小之前,还包括以下步骤:按预设周期计算接收端的抖动缓存的理论最佳值;根据所述理论值调节所述接收端的抖动缓存的大小。8.如权利要求7所述的抖动缓存调节方法,其特征在于,按预设周期计算接收端的抖动缓存的理论最佳值的步骤包括:在所述预设周期内统计所述接收端接收的每个数据包的发送时间和接收时间;根据各个所述数据包的发送时间和接收时间按照下式计算所述预设周期内抖动缓存的理论最佳值:jns=max{|(Rj—Sj)一(Ri—Si)|};其中,jns为抖动缓存的理论最佳值,Rj表示序列号为第j个的测试数据包的接收时间,Sj表示序列号为第j个的测试数据包的发送时间,j和i是两个相邻的序列号。9.如权利要求7所述的抖动缓存调节方法,其特征在于,根据所述理论值调节所述接收端的抖动缓存的大小的步骤包括:如果所述抖动缓存的理论最佳值与其当前值的差值在预设范围内,则不改变所述抖动缓存的当前值;如果所述抖动缓存的理论最佳值小于其当前值,则按照下式调节所述抖动缓存的当前值:jitterBuffer=jns+(jitterBuffer-jns)/2;如果所述抖动缓存的理论最佳值大于其当前值,则按照下式调节所述抖动缓存的当前值:jitterBuffer=j...

【专利技术属性】
技术研发人员:林寿泽
申请(专利权)人:广州华多网络科技有限公司
类型:发明
国别省市:

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

1