一种实现流量控制的丢包重传方法_2

文档序号:8447761阅读:来源:国知局
端接收到是不连续的视频数据包,根据视频数据包序号计算出丢失的视频数据包,每一个丢失的视频数据包生成一个对应的丢包序号信息,存放入重传请求队列中,重传请求队列用来记录各个丢包的丢包序号信息,丢包序号信息包括视频数据包的序列号和等待值,等待值初始为0,接收端每接收到一个视频数据包则重传请求队列刷新一次,每刷新一次所有丢包序号信息中的等待值加1,
若接收端接收到的视频数据流是连续视频数据包则继续接收视频数据包,接收到的视频数据包按照视频数据包序列号从小到大的顺序依次放入数据输出缓冲区。
[0013]若接收端收到视频数据包是重传视频数据包(根据序号判断),则根据重传视频数据包的视频数据包序号将重传请求队列中对应的丢包序号信息移除,同时将重传视频数据包存储在数据输出缓冲区;存储动作需要判断所述数据输出缓冲区是否溢出,如数据输出缓冲区已满,则将数据输出缓冲区前端的视频数据包(即视频数据包序列号最小的视频数据包)移除后,再将重传视频数据包按照视频数据包序列号的顺序存放在数据输出缓冲区;
当等待值增加到等待阀值(等待阀值可设置)后,接收端根据等待值达到等待阈值的丢包序号信息中的序列号即时生成重传请求数据包发送至发送端,此时上述丢包序号信息中的等待值归O;重传请求数据包内容为丢失的视频数据包序号,格式为标准RTP数据包格式;接收端同一时间生成的重传请求数据包数量有上限;接收端提供接口对所述的等待阀值和重传请求数据包生成数量上限值(根据实际带宽值设置,一般最大为10)可设置;
C2、接收端每接收到一个视频数据包,各个丢包序号信息中的等待值加I ;
C3、当重传请求队列中的丢包序号信息过期时,过期即所述丢包序号信息包含的序列号小于数据输出缓冲区最前端的视频数据包序列号(即视频数据包序列号最小的视频数据包的序列号),所述丢包序号信息也会从所述重传请求队列移除; 如上所述的步骤D还包括以下步骤:
D1、发送端收到重传请求后,会将重传请求数据包进行解析,获取丢失视频数据包的序号,在待重传视频数据包队列中查找对应的视频数据包,待重传视频数据包队列指发送端发出去的所有视频数据包的一个备份存储区;
D2、发送端收到重传请求后会检测重传权标值是否有效,重传权标值小于固定单位则无效,重传请求数据包丢弃;重传权标值等于或大于固定单位则有效,重传权标值减少一个固定单位,将对应序列号的视频数据包发送给接收端;
以上对本发明实施例所提供的一种实现流量控制的丢包重传方法进行了详细介绍,通过上述方法可以实现当视频会议或者视频监控过程中网络不稳定,存在很大的丢包率情况下仍然可以完整效率的传输音视频资源,且可以实现将网络流量控制住,防止过度重传数据导致流量增长过大以及瞬间大量重传导致对传输网络产生冲击,以至于断网,让点播的图像不花屏也不黑屏。
[0014]本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
【主权项】
1.一种实现流量控制的丢包重传方法,其特征在于,包括以下步骤: 步骤1、发送端设置重传权标的固定单位以及上限阀值; 步骤2、发送端使用标准RTP数据包格式将视频数据包发送给接收端,发送端每发送一个视频数据包,重传权标值增加一个固定单位,重传权标值达到上限阀值后不再增长; 步骤3、接收端设置一个重传请求队列, 若接收端接收到是不连续的视频数据包,每一个丢失的视频数据包生成一个对应的丢包序号信息,存放入重传请求队列中,丢包序号信息包括视频数据包的序列号和等待值,等待值初始为O ; 若接收端接收到是连续的视频数据包,则继续接收下一个视频数据包,将接收到的视频数据包按照视频数据包序列号从小到大的顺序依次放入数据输出缓冲区; 若接收端收到的是重传的视频数据包,则根据重传视频数据包的视频数据包序号将重传请求队列中对应的丢包序号信息移除,同时将重传的视频数据包存储在数据输出缓冲区; 接收端每接收到一个视频数据包,将所有丢包序号信息中的等待值各加1,当等待值增加到等待阀值后,接收端根据等待值达到等待阈值的丢包序号信息中的序列号即时生成重传请求数据包发送至发送端并将该丢包序号信息中的等待值归O ; 步骤4、发送端接收到重传请求后,将丢失的视频数据包重新发送给接收端。
2.根据权利要求1所述的一种实现流量控制的丢包重传方法,其特征在于,所述的将重传视频数据包存储在数据输出缓冲区包括以下步骤: 判断所述数据输出缓冲区是否溢出, 若数据输出缓冲区已满,则将数据输出缓冲区前端的视频数据包,即视频数据包序列号最小的视频数据包移除后,再将重传视频数据包按照视频数据包序列号的顺序存放在数据输出缓冲区; 若数据输出缓冲区未满,则将重传视频数据包按照视频数据包序列号的顺序存放在数据输出缓冲区。
3.根据权利要求2所述的一种实现流量控制的丢包重传方法,其特征在于,所述的步骤2当重传请求队列中的丢包序号信息的序列号小于数据输出缓冲区最前端的视频数据包序列号,上述丢包序号信息从所述重传请求队列移除。
4.根据权利要求1所述的一种实现流量控制的丢包重传方法,其特征在于,所述的步骤4包括以下步骤: 步骤4.1、发送端收到重传请求后,将重传请求数据包进行解析,获取丢失视频数据包的序号,在待重传视频数据包队列中查找对应的视频数据包,待重传视频数据包队列为发送端发出去的所有视频数据包的一个备份存储区; 步骤4.2、发送端收到重传请求后会检测重传权标值是否有效, 若重传权标值小于固定单位则无效,重传请求数据包丢弃; 若重传权标值等于或大于固定单位则有效,重传权标值减少一个固定单位,将对应序列号的视频数据包发送给接收端。
【专利摘要】本发明公开了一种实现流量控制的丢包重传方法;发送端使用标准RTP数据包格式将视频数据发送给接收端;接收端对接收到的视频数据流进行处理,如检测结果为有视频数据包丢失情况发生,则以标准RTP数据包格式发送重传请求给发送端;发送端接收到重传请求后,进行处理,将丢失的视频数据包重新发送给接收端。本发明更能适应恶劣网络环境,即时存在很大丢包率情况下仍然可以传输音视频数据;实现网络流量控制,避免网络因流量峰值过高而受到冲击;恶劣网络环境仍然可以完整效率传输音视频数据,音视频资源不会损失;在带宽冗余不大的网络环境仍能适应高达40%的丢包恢复能力,并且视频传输延时控制在5S左右。
【IPC分类】H04N21-647
【公开号】CN104768081
【申请号】CN201510184285
【发明人】程家明
【申请人】武汉兴图新科电子股份有限公司
【公开日】2015年7月8日
【申请日】2015年4月17日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1