【技术实现步骤摘要】
一种实时视频中保证视频质量的拥塞控制方法及系统
本专利技术涉及网络传输
,具体涉及一种实时视频中保证视频质量的拥塞控制方法及系统。
技术介绍
网络拥塞是基于IP协议的数据报交换网络中常见的一种网络传输问题,它对网络传输的质量有严重的影响,网络拥塞是导致网络吞吐降低,网络丢包等的主要原因之一,这些问题使得上层应用无法有效地利用网络带宽获得高质量的网络传输效果。特别是在通信领域,网络拥塞导致的丢包、延迟、抖动等问题,严重的影响了通信质量,如果不能很好的解决这些问题,一个通信产品就无法在现实环境中正常使用。GCC(GoogleCongestionControl)拥塞控制算法主要分成两个部分:一个是基于丢包的拥塞控制,一个是基于延迟的拥塞控制。这两个拥塞控制算法分别是在发送端和接收端实现的,接收端的拥塞控制算法所计算出的估计带宽,会通过RTCP的remb报文反馈到发送端,发送端综合两个控制算法的结果得到一个最终的发送码率,并以此码率发送数据包。基于丢包的拥塞控制的基本思想是根据丢包的多少来判断网络的拥塞程度,丢 ...
【技术保护点】
1.一种实时视频中保证视频质量的拥塞控制方法,其特征在于,包括如下步骤:/n步骤一、实时接收视频数据包,并计算延迟梯度;/n步骤二、根据所述延迟梯度对当前网络状态进行过载检测,获得当前网络状态信号;所述当前网络状态信号为过载状态信号Overuse、正常状态信号Normal或低载状态信号Underuse;/n步骤三、构建有限状态机:包括码率减小状态Decrease、码率维持状态Hold以及码率增加状态Increase,预先设置有限状态机所处的初始状态,所述当前网络状态信号输入至所述有限状态机中,若输入为Overuse,所述有限状态机直接转换为Decrease状态;若输入为No ...
【技术特征摘要】
1.一种实时视频中保证视频质量的拥塞控制方法,其特征在于,包括如下步骤:
步骤一、实时接收视频数据包,并计算延迟梯度;
步骤二、根据所述延迟梯度对当前网络状态进行过载检测,获得当前网络状态信号;所述当前网络状态信号为过载状态信号Overuse、正常状态信号Normal或低载状态信号Underuse;
步骤三、构建有限状态机:包括码率减小状态Decrease、码率维持状态Hold以及码率增加状态Increase,预先设置有限状态机所处的初始状态,所述当前网络状态信号输入至所述有限状态机中,若输入为Overuse,所述有限状态机直接转换为Decrease状态;若输入为Normal,所述有限状态机直接转换为Hold状态;若输入为Underuse,且所述有限状态机的当前状态是Decrease,则所述有限状态机转换为Hold状态;若输入为Underuse,且所述有限状态机的当前状态不是Decrease,则所述有限状态机转换为Incease状态;
步骤四、根据状态机的当前状态,按照如下方式进行码率计算:
1)当状态机的当前状态为Increase状态时,且距离探测带宽相差大于设定阈值时,则下一时刻即ti时刻的码率为
Ar(ti)=max(min(Ar(ti-1)+max(0.2×Ar(ti-1),1000),1.4×incoming_bitrate),incoming_bitrate)
其中Ar(ti)为ti时刻的码率;Ar(ti-1)为当前时刻即ti-1时刻的码率;incoming_bitrate为根据接收视频数据包统计计算得出的接收数据码率;根据接收所述视频数据包的速率计算距离探测带宽相差是否大于设定阈值;
2)当状态机的当前状态为Increase状态时,且距离探测带宽相差不大于设定阈值时,则下一时刻即ti时刻的码率为
Ar(ti)=max(min(Ar(ti-1)+max(averOfPacket,1000),1.4×incoming_bitrate),incoming_bitrate)
其中,averOfPacket是视频数据包的平均数据量,incoming_bitrate是根据接收视频数据包统计计算得出的接收数据码率;
averOfPacket=bits_per_frame/packets_per_frame
其中bits_per_frame是每帧数据量,packets_per_frame是一帧包含的数据包数量;
3)当状态机的当前状态为Decrease状态时,则下一时刻即ti时刻的码率为
Ar(ti)=min(0.75×incoming_bitrate,Ar(ti-1))
其中incoming_bitrate是根据接收视频数据包统计计算得出的接收数据码率;
4)当状态机的当前状态信号为Hold时,则码率保持不变,即下一时刻ti时刻的码率等于当前时刻ti-1时刻的码率;
步骤五、根据计算出来的下一时刻即ti时刻的码率设定视频数据包的发送码率。
2.如权利要求1所述的方法,其特征在于,所述步骤一,实时接收视频数据包,并计算延迟梯度,具体为:
预先设定数据包组的时间间隔,在一个数据包组的时间间隔内接收的所有视频数据包为一组;
对于当前一组视频数据包,以最后一个视频数据包的到达时间减去第一个视频数据包的发送时间作为时间延迟;
当前一组视频数据包与上一组视频数据包的时间延迟的差值作为当前一组视频数据包的延迟梯度。
3.如权利要求1或2所述的方法,其特征在于,所述步骤二,具体为:
预先设定过载阈值Th1和低载阈值Th0,若所述延迟梯度大于所述过载阈值Th1,则所述当前网络状态信号为Overuse;
若所述延迟梯度小于所述低载阈值Th0,则所述当前网络状态信号为Underuse;
若所述延迟梯度处于[Th0,Th1]范围内,则所述当前网络状态信号为Normal。
4.如权利要求3所述的方法,其特征在于,所述步骤四中,根据接收所述视频数据包的速率计算距离探测带宽相差是否大于设定阈值,具体为:
所述视频数据包的接收速率为incoming_bitrate,设定平均最大码率avg_max_bitrate的初始值为第一组视频数据包的接收速率,每接收一组视频数据包更新平均最大码率avg_max_bitrate为:
avg_max_bitrate=(1-α)×avg_max_bitrate_last+α×incoming_bitrate
其中α为设定的系数常量;
更新最大码率方差var_max_bitrate为:
var_max_b...
【专利技术属性】
技术研发人员:李海,耿若琳,侯舒娟,张钦,宋政育,
申请(专利权)人:北京理工大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。