[发明专利]一种低延迟实时视频流媒体无线传输的丢帧控制方法有效
申请号: | 201710276451.1 | 申请日: | 2017-04-25 |
公开(公告)号: | CN106954101B | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 林耀荣;陈志之 | 申请(专利权)人: | 华南理工大学 |
主分类号: | H04N21/647 | 分类号: | H04N21/647;H04L12/823 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 李斌 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 延迟 实时 视频 流媒体 无线 传输 控制 方法 | ||
1.一种低延迟实时视频流媒体无线传输的丢帧控制方法,其特征在于,包括如下步骤:
S1、通过服务器端的虚拟传输时延估计模块,对服务器端发送队列中的封包从头至尾扫描,并判断封包是否在设定的扫描范围内,若在,则对封包的虚拟传输时延进行计算;若否,则结束;
其中,虚拟传输时延包括队列停留时延、队列发送时延与传输时延三部分;
虚拟传输时延的计算方式为:
vir_trans_time=wait_delay+dq_delay+trans_delay
式中,vir_trans_time表示虚拟传输时延,wait_delay表示队列停留时延,dq_delay表示队列发送时延,trans_delay表示传输时延;
S2、对步骤S1的虚拟传输时延与预设的丢帧时延阈值进行比较,若虚拟传输时延大于预设的丢帧时延阈值,则进入下一步骤S3,若否则返回步骤S1;
S3、对虚拟传输时延大于丢帧时延阈值的封包,判定需要进行主动丢帧,并按策略进行丢弃:
考虑封包所属的编码组GOP和前一个GOP中不同类型帧的重要程度,主动丢弃重要程度相对更低的帧中的封包。
2.根据权利要求1所述的一种低延迟实时视频流媒体无线传输的丢帧控制方法,其特征在于,所述队列停留时延wait_delay的计算方法为:
wait_delay=current_time-enqueue_time
其中,current_time为扫描该封包时的当前时间,enqueue_time为封包入队列时间。
3.根据权利要求1所述的一种低延迟实时视频流媒体无线传输的丢帧控制方法,其特征在于,所述队列发送时延dq_delay,其具体计算方式为:
计算当前发送队列的出队列速率dq_rate,如下所示:
dq_rate=dq_count/dq_int
其中,dq_count为本次计算时间间隔内的出队列数据量总和,dq_int为计算的时间间隔;
平滑当前发送队列的出队列速率dq_rate,计算队列平均出队列速率avg_dqrate:
avg_dqrate=ε×avg_dqrate+(1-ε)×dq_rate
式中,ε表示平滑因子;
则封包的队列发送时延dq_delay计算方法如下:
dq_delay=qsize/avg_dqrate
式中,qsize表示队列中该封包与该封包之前的所有封包的总数据量大小。
4.根据权利要求1所述的一种低延迟实时视频流媒体无线传输的丢帧控制方法,其特征在于,所述传输时延trans_delay通过对封包的发送进行监控,测量上一个封包出队列后成功发送或最终被丢弃所需的时间,作为当前封包的传输时延trans_delay。
5.根据权利要求1所述的一种低延迟实时视频流媒体无线传输的丢帧控制方法,其特征在于,所述步骤S1中设定的扫描范围,其由参数α决定;所述参数α为0到1之间的一个数值;队列扫描范围为α*队列长度,参数α为一个预设常数或者根据网络情况进行动态改变。
6.根据权利要求1所述的一种低延迟实时视频流媒体无线传输的丢帧控制方法,其特征在于,所述步骤S3中判定需要进行主动丢帧后,进行按策略丢弃,其丢弃策略包括:
在队列的扫描范围内,若丢弃的封包属于H.264编码组GOP中的I帧,则丢弃同一个GOP中的所有帧;若丢弃的封包属于H.264编码组GOP中的P帧,则需要丢弃同一GOP中依赖该P帧的其他P帧与B帧。
7.根据权利要求1所述的一种低延迟实时视频流媒体无线传输的丢帧控制方法,其特征在于,所述步骤S3中判定需要进行主动丢帧后,进行按策略丢弃,其丢弃策略包括:
若丢弃的封包属于H.264编码组GOP中的I帧,则保留此I帧,从该I帧位置开始向后遍历队列中的同一个GOP中的封包,并丢弃第1个找到的B帧的所有封包;若无法找到B帧封包,则丢弃第1个找到的P帧的所有封包;若仍无法找到,则从该I帧位置开始向前遍历队列中的前一个GOP中的封包,丢弃第1个找到的B帧的所有封包;若无法找到B帧封包,则丢弃第1个找到的P帧的所有封包;
若丢弃的封包属于H.264编码组GOP中的P帧,则暂时保留此P帧,从该P帧位置开始向后遍历队列中的同一个GOP中的封包,并丢弃第1个找到的B帧的所有封包;若无法找到B帧封包,则从该P帧位置开始向前遍历队列中的同一个GOP中的封包,丢弃第1个找到的B帧的所有封包;若仍无法找到,丢弃当前P帧的所有封包;若当前封包属于B帧,则直接丢弃该B帧所有封包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710276451.1/1.html,转载请声明来源钻瓜专利网。