一种传输速率控制方法及系统的制作方法

文档序号:7855800阅读:325来源:国知局
专利名称:一种传输速率控制方法及系统的制作方法
技术领域
本发明属于网络通信领域,尤其涉及一种传输速率控制方法及系统。
背景技术
随着信息社会的飞速发展,各种各样的通信工具如飞信、QQ等被人们普遍使用,除了个人应用以外,一些企业版的即时通信方式也逐渐为大众所熟悉,譬如视频会议等。能否连续流畅地播放音视频数据,成为影响视频会议质量的关键因素。然而在现实应用中,音视频数据的传输中常存在抖动延时的现象,当延迟时间过长时,容易导致接收端播放音视频中断。而现有技术中,当接收端本地缓存的数据量不足以支持音视频连续播放时,发送端会在短时间内发送大量音视频数据到接收端,容易引起数据包拥塞,甚至导致其它网络应用卡死。

发明内容
本发明提供一种传输速率控制方法及系统以解决上述问题。本发明提供一种传输速率控制方法,包括以下步骤。发送端以预设速率发送数据包到接收端,所述接收端缓存所述数据包并当开始播放所述数据包后,所述接收端比较所述缓存的数据包个数与接收端缓冲区预警值的大小。当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,所述接收端获取数据包网络延迟时间并发送给发送端。所述发送端比较所述接收到的数据包网络延迟时间及单个数据包播放时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述发送端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算并调整发送速率。本发明提供一种传输速率控制系统,包括发送端及接收端,所述发送端连接所述接收端。所述发送端,用于以预设速率发送数据包到所述接收端,还用于比较所述接收端发送的数据包网络延迟时间及单个数据包播放时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述发送端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算并调整发送速率。所述接收端,用于缓存数据包并当开始播放所述数据包后,比较所述缓存的数据包个数与接收端缓冲区预警值的大小,还用于当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,获取数据包网络延迟时间并发送给发送端。相较于先前技术,根据本发明提供的传输速率控制方法及系统,发送端以预设速率发送数据包到接收端,接收端开始播放数据包后,比较接收后缓存的数据包个数与接收端缓冲区预警值的大小。通过对接收端设置缓冲区预警值,可有效监控接收端的数据包个数。当接收端缓存的数据包大小小于或等于缓冲区预警值时,所述接收端获取数据包网络延迟时间并发送给发送端,当所述数据包网络延迟时间大于单个数据包播放时间时,所述发送端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算并调整发送速率。如此,发送端根据接收到的数据包延迟时间控制发送速率,保证了音视频数据的连续播放。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I所示为根据本发明的较佳实施例提供的传输速率控制方法的流程图;图2所示为根据本发明的较佳实施例提供的传输速率控制系统的示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图I所示为根据本发明的较佳实施例提供的传输速率控制方法。如图I所示,本 发明的较佳实施例提供的传输速率控制方法包括步骤101 103。步骤101 :发送端以预设速率发送数据包到接收端,所述接收端缓存所述数据包并当开始播放所述数据包后,所述接收端比较所述缓存的数据包个数与接收端缓冲区预警值的大小。具体而言,接收端于接收发送端发送的数据前预设自身的缓冲区大小,且接收端设置缓冲区播放值,所述缓冲区播放值小于或等于缓冲区大小。当接收端缓存的数据包个数第一次达到缓冲区播放值时,接收端开始播放所述数据包。于此,所述缓冲区播放值仅在数据包第一次开始播放前起限定作用,并不影响数据包之后的连续播放。所述接收端开始播放缓存的数据包后,将所述已播放的数据包从接收端的缓存中删除。于本实施例中,所述速率单位为个/秒,缓冲区计量单位为数据包个数。此外,接收端存储缓冲区预警值对照表,所述对照表包括单个数据包播放时间、数据包网络延迟时间及缓冲区预警值。所述接收端根据数据包网络延迟时间确定缓冲区预警值。所述缓冲区预警值对照表格式例如下表所示。
~单个数据播放时间^数据包网络延迟时间t I接收端缓冲区预警值_(ms)__(ms)__(数据包个数)
2000 200I
200200<t<6003---
2U0600 彡 t5在本实施例中,接收端第一次获取数据包网络延迟时间的方式为,所述接收端根据接收到的第一个数据包及第二个数据包的时间戳确定所述第一次的数据包网络延迟时间,所述接收端根据第一次获取的数据包网络延迟时间确定第一次缓冲区预警值。步骤102 :当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,所述接收端获取数据包网络延迟时间并发送给发送端。具体而言,按照步骤101,当接收端缓存的数据包个数第一次达到缓冲区播放值时,接收端开始播放所述数据包。当接收端监控到本地缓存的数据包个数小于或者等于所述缓冲区预警值时,接收端根据缓存的最近一次接收的数据包及后续接收的首个数据包的时间戳获取所述数据包网络延迟时间。若接收端没有缓存的数据包,所述接收端根据后续接收的连续两个数据包的时间戳获取所述数据包网络延迟时间,且所述接收端将获取的数据包网络延迟时间发送给发送端。步骤103 :所述发送端比较所述接收到的数据包网络延迟时间及单个数据包播放时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述发送端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算并调整发送速率。具体而言,发送端获取单个数据包播放时间的方式为,所述发送端本地待发送数据包中包括单个数据包播放时间信息,所述发送端解析本地待发送数据包后获得所述单个数据包播放时间,或者由接收端获取所述单个数据包播放时间后发送给发送端。所述接收端获取单个数据包播放时间的方式为,所述发送端向所述接收端发送的数据包中携带单个数据包播放时间信息,所述接收端接收并解析所述数据包后获得所述单个数据包播放时间,或者当发送端向接收端开始发送数据包后,所述接收端播放单个数据包后获取单个数据包播放时间。当接收端发送的数据包网络延迟时间大于单个数据包播放时间时,发送端计算发送速率的方式为若以n表示数据包传输速率,所述传输速率可以为数据包网络延迟时间为零时发送端的发送速率,并由发送端预设,或者为数据包网络延迟时间为零时接 收端的播放速率,并由接收端预设;T表示单个数据包播放时间,t表示数据包网络延迟时间,则(n-T*n/t)表示数据包传输存在网络延迟时,播放完缓冲数据期间网络能够传送的数据包个数。n+ (n-T*n/t)表示在预设速率上加了修正后的发送数据包速率,来修正网络延时变化时少发送的数据包个数,即发送端调整后的发送速率V = n+(n-T*n/t)。于此,当发送端比较接收到的数据包网络延迟时间小于或等于单个数据包播放时间时,所述发送端按所述预设速率发送所述数据包。举例而言,若发送端在Tl时刻以5个/秒的预设速率开始向接收端发送数据包,接收端接收并播放单个数据包后,获取单个数据包播放时间为200ms,且所述接收端根据接收到的第一个数据包及第二个数据包的时间戳确定第一次的数据包网络延迟时间为50ms。根据步骤101中的对照表,接收端确定缓冲区预警值为I个数据包。若接收端设定缓冲区播放值为5个数据包,当接收端缓存的数据包达到5个后,接收端开始播放数据包。若T2时刻接收端监控到缓存的数据包个数小于缓冲区预警值(I个),且所述接收端该时刻无缓存的数据包。则所述接收端根据T2时刻起后续接收的连续两个数据包的时间戳,获取数据包网络延迟时间为500ms并发送给发送端,且接收端按照所述对照表将缓冲区预警值调整为3个数据包。于此,发送端比较接收到的数据包网络延迟时间(500ms)大于单个数据包播放时间(200ms),则发送端计算发送速率为5+(5-200*5/500) =8,并将发送速率调整为8个/秒。接下来在T3时刻,接收端监控到缓存的数据包大小达到缓冲区预警值(3个数据包),所述接收端根据缓存的最近一次接收的数据包及后续接收的首个数据包的时间戳,获取数据包网络延迟时间为IOOms并发送给发送端,且所述接收端按照所述对照表调整缓冲区预警值为I个数据包。于此,发送端比较接收到的数据包网络延迟时间(100ms)小于单个数据包播放时间(200ms),则发送端按预设速率(5个/秒)发送所述数据包。图2所示为根据本发明的较佳实施例提供的传输速率控制系统的示意图。如图2所示,本发明较佳实施例提供的传输速率控制系统包括发送端201及接收端202,所述发送端201连接所述接收端202。所述发送端201,用于以预设速率发送数据包到所述接收端202,还用于比较单个数据包播放时间及所述接收端202发送的数据包网络延迟时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述发送端201根据传输速率、单个数据包播放时间及数据包网络延迟时间计算并调整发送速率。所述接收端202,用于缓存数据包并当开始播放所述数据包后,比较所述缓存的数据包个数与接收端202缓冲区预警值的大小,还用于当所述接收端202缓存的数据包个数小于或等于所述缓冲区预警值时,获取数据包网络延迟时间并发送给 发送端201。关于上述系统的操作流程同上述方法所述,故于此不再赘述。综上所述,根据本发明的较佳实施例提供的传输速率控制方法及系统,发送端以预设速率发送数据包到接收端,接收端开始播放数据包后,比较接收后缓存的数据包个数与接收端缓冲区预警值的大小。通过对接收端设置缓冲区预警值,可有效监控接收端的数据包个数。当接收端缓存的数据包大小小于或等于缓冲区预警值时,所述接收端获取数据包网络延迟时间并发送给发送端,发送端比较所述接收到的数据包网络延迟时间及单个数据包播放时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述发送端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算并调整发送速率。如此,发送端根据接收到的数据包延迟时间控制发送速率,保证了音视频数据的连续播放。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种传输速率控制方法,其特征在于,包括以下步骤 发送端以预设速率发送数据包到接收端,所述接收端缓存所述数据包并当开始播放所述数据包后,所述接收端比较所述缓存的数据包个数与接收端缓冲区预警值的大小; 当所述接收端缓存的数据包个数小 于或等于所述缓冲区预警值时,所述接收端获取数据包网络延迟时间并发送给发送端; 所述发送端比较所述接收到的数据包网络延迟时间及单个数据包播放时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述发送端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算并调整发送速率。
2.根据权利要求I所述的方法,其特征在于,所述接收端存储缓冲区预警值对照表,所述对照表包括单个数据包播放时间、数据包网络延迟时间及缓冲区预警值。
3.根据权利要求I或2所述的方法,其特征在于,当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,所述接收端获取数据包网络延迟时间,并根据所述缓冲区预警值对照表调整自身缓冲区预警值。
4.根据权利要求2所述的方法,其特征在于,接收端获取单个数据包播放时间的方式为,所述发送端向所述接收端发送的数据包中携带单个数据包播放时间信息,所述接收端接收并解析所述数据包后获得所述单个数据包播放时间,或者所述发送端向所述接收端发送所述数据包后,所述接收端播放单个数据包获取所述单个数据包播放时间。
5.根据权利要求I所述的方法,其特征在于,所述发送端根据公式V=n+(n-T*n/t)计算发送速率,其中V表示发送速率,n表示传输速率并由发送端或接收端预设,T表示单个数据包播放时间并由发送端解析本地数据包后获取,或由接收端播放数据包获取后发送给发送端,t表示数据包网络延迟时间。
6.根据权利要求I所述的方法,其特征在于,当发送端比较接收到的数据包网络延迟时间小于或等于单个数据包播放时间时,所述发送端按所述预设速率发送所述数据包。
7.根据权利要求I所述的方法,其特征在于,接收端第一次获取数据包网络延迟时间的方式为,所述接收端根据接收到的第一个数据包及第二个数据包的时间戳确定所述第一次的数据包网络延迟时间,所述接收端根据第一次获取的数据包网络延迟时间第一次确定缓冲区预警值。
8.根据权利要求I所述的方法,其特征在于,当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,接收端根据缓存的最近一次接收的数据包及后续接收的首个数据包的时间戳获取所述数据包网络延迟时间。
9.根据权利要求I所述的方法,其特征在于,当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,若接收端没有缓存的数据包,所述接收端根据后续接收的连续两个数据包的时间戳获取所述数据包网络延迟时间。
10.一种传输速率控制系统,其特征在于,包括发送端及接收端,所述发送端连接所述接收端, 所述发送端,用于以预设速率发送数据包到所述接收端,还用于比较所述接收端发送的数据包网络延迟时间及单个数据包播放时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述发送端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算并调整发送速率;所述接收端,用于缓存数据包并当开始播放所述数据包后,比较所述缓存的数据包个数与接收端缓冲区预警值的大小,还用于当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,获取数据包网络 延迟时间并发送给发送端。
全文摘要
本发明提供一种传输速率控制方法及系统,本发明方法包括以下步骤。发送端以预设速率发送数据包到接收端,所述接收端缓存所述数据包并当开始播放所述数据包后,所述接收端比较所述缓存的数据包个数与接收端缓冲区预警值的大小。当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,所述接收端获取数据包网络延迟时间并发送给发送端。所述发送端比较所述接收到的数据包网络延迟时间及单个数据包播放时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述发送端根据传输速率、单个数据包播放时间及数据包网络延迟时间计算并调整发送速率。
文档编号H04L29/06GK102752212SQ20121023988
公开日2012年10月24日 申请日期2012年7月12日 优先权日2012年7月12日
发明者刘晓东, 胡加明 申请人:苏州阔地网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1