视频码率自适应调整方法及发送端设备与流程

文档序号:12628335阅读:来源:国知局

技术特征:

1.一种视频码率自适应调整方法,其特征在于,包括:

发送端设备触发码率估计事件;

所述发送端设备根据所述码率估计事件,估计视频编码器的目标编码速率,所述视频编码器为所述发送端设备的视频编码器;

所述发送端设备将所述视频编码器的当前编码速率调整为所述目标编码速率。

2.根据权利要求1所述的方法,其特征在于,所述发送端设备触发码率估计事件之前,还包括:

所述发送端设备判断本地缓存中数据包的数量是否超过预设缓存门限上限,或者,所述本地缓存中数据包的最大等待时间是否超过预设时延门限上限;

若所述发送端设备判断出所述本地缓存中数据包的数量超过所述预设缓存门限上限,或者,所述本地缓存中数据包的最大等待时间超过所述预设时延门限上限,则所述码率估计事件具体为缓存告警事件;否则,

若所述发送端设备判断出所述本地缓存中数据包的数量未超过所述预设缓存门限上限,且所述本地缓存中数据包的最大等待时间未超过所述预设时延门限上限,则所述码率估计事件具体为缓存空闲事件。

3.根据权利要求2所述的方法,其特征在于,所述发送端设备根据所述码率估计事件,估计视频编码器的目标编码速率,具体包括:

若所述发送端设备触发所述缓存告警事件,则估计所述目标编码速率为:

Rnew=max[R-R_down,Rmin],其中,所述Rnew为所述目标编码速率,R为所述视频编码器的当前编码速率,R_down为码率下调步长,Rmin为所述视频编码器的最小编码速率,所述max[ ]表示取最大值;

若所述发送端设备触发所述缓存空闲事件,则估计所述目标编码速率为:

Rnew=min[R+R_up,Rmax],其中,所述R_UP为码率上调步长,Rmax为所述视频编码器的最大编码速率,所述min[ ]表示取最小值。

4.根据权利要求1所述的方法,其特征在于,所述发送端设备触发码率估计事件之前,还包括:

所述发送端设备接收接收端设备发送的反馈信息,所述反馈信息携带所 述接收端设备的丢包率;

所述发送端设备判断所述丢包率是否超过预设丢包率门限上限;

若所述发送端设备判断出所述丢包率超过所述预设丢包率门限上限,则所述码率估计事件具体为丢包严重事件;否则,

若所述发送端设备判断出所述丢包率未超过所述预设丢包率门限上限,则所述码率估计事件具体为丢包正常事件。

5.根据权利要求4所述的方法,其特征在于,所述发送端设备根据所述码率估计事件,估计视频编码器的目标编码速率,具体包括:

若所述发送端设备触发所述丢包严重事件,则估计所述目标编码速率为:

Rnew=max[R×(1-Rloss),Rmin],其中,所述Rnew为所述目标编码速率,R为所述视频编码器的当前编码速率,Rloss为所述丢包率,Rmin为所述视频编码器的最小编码速率,所述max[ ]表示取最大值;

若所述发送端设备触发所述丢包正常事件,则估计所述目标编码速率为:

Rnew=min(R+R_up,Rmax),其中,R_up为码率上调步长,Rmax为所述视频编码器的最大编码速率,所述min[ ]表示取最小值。

6.根据权利要求1所述的方法,其特征在于,所述发送端设备触发码率估计事件之前,还包括:

所述发送端设备接收接收端设备发送的反馈信息,所述反馈信息携带所述接收端设备的丢包率;

所述发送端设备判断本地缓存中数据包的数量是否超过预设缓存门限上限,或者,所述本地缓存中数据包的最大等待时间是否超过预设时延门限上限;以及,所述发送端设备判断丢包率是否超过预设丢包率门限上限;

若所述发送端设备判断出所述本地缓存中数据包的数量超过所述预设缓存门限上限,或者,所述本地缓存中数据包的最大等待时间超过所述预设时延门限上限;以及,若所述发送端设备判断出所述丢包率超过所述预设丢包率门限上限,则所述码率估计事件包括:缓存告警事件与丢包严重事件;否则,

若所述发送端设备判断出所述本地缓存中数据包的数量未超过所述预设缓存门限上限,且所述本地缓存中数据包的最大等待时间未超过所述预设时延门限上限;而且,若所述发送端设备判断出所述丢包率未超过所述预设丢 包率门限上限,则所述码率估计事件包括:缓存空闲事件与丢包正常事件。

7.根据权利要求6所述的方法,其特征在于,所述发送端设备根据所述码率估计事件,估计视频编码器的编码速率,具体包括:

若所述发送端设备同时触发所述缓存告警事件与所述丢包严重事件,则所述发送端设备根据所述缓存告警事件确定第一编码速率,根据所述丢包严重事件确定第二编码速率;

所述发送端设备根据所述第一编码速率与所述第二编码速率,确定所述目标编码速率;其中,

R1=max[R-R_down,Rmin],所述R1为所述第一编码速率,所述R为所述视频编码器的当前编码速率,R_down为码率下调步长,Rmin为所述视频编码器的最小编码速率,所述max[ ]表示取最大值;

R2=max[R×(1-Rloss),Rmin],所述R2为所述第二编码速率,Rloss为丢包率,Rmin为所述视频编码器的最小编码速率;

Rnew=min[R1,R2],所述Rnew为所述目标编码速率,所述min[ ]表示取最小值。

8.根据权利要求6所述的方法,其特征在于,所述发送端设备根据所述码率估计事件,估计视频编码器的编码速率,具体包括:

若所述发送端设备同时触发所述缓存空闲事件与所述丢包正常事件,则所述发送端设备根据所述缓存空闲事件确定第三编码速率,根据所述丢包正常事件确定第四编码速率;

所述发送端设备根据所述第三编码速率与所述第四编码速率,确定所述目标编码速率;其中,

R3=min[R+R_up3,Rmax],所述R3为所述第三编码速率,所述R为所述视频编码器的当前编码速率,所述R_up3为根据所述R3得出的码率上调步长,Rmax为所述视频编码器的最大编码速率,所述min[ ]表示取最小值;

R4=min[R+R_up4,Rmax],其中,所述R4为所述第四编码速率,所述R_up4为根据所述R4得出的码率上调步长;

Rnew=min[R3,R4],所述Rnew为所述目标编码速率。

9.一种发送端设备,其特征在于,包括:

触发模块,用于触发码率估计事件;

估计模块,用于根据所述触发模块触发的所述码率估计事件,估计视频编码器的目标编码速率,所述视频编码器为所述发送端设备的视频编码器;

调整模块,用于将所述视频编码器的当前编码速率调整为所述估计模块估计出的所述目标编码速率。

10.根据权利要求9所述的发送端设备,其特征在于,还包括:

判断模块,用于在所述触发模块触发码率估计事件之前,判断本地缓存中数据包的数量是否超过预设缓存门限上限,或者,所述本地缓存中数据包的最大等待时间是否超过预设时延门限上限;

所述触发模块,用于若所述判断模块判断出所述本地缓存中数据包的数量超过所述预设缓存门限上限,或者,所述本地缓存中数据包的最大等待时间超过所述预设时延门限上限,则触发缓存告警事件;否则,若所述判断模块判断出所述本地缓存中数据包的数量未超过所述预设缓存门限上限,且所述本地缓存中数据包的最大等待时间未超过所述预设时延门限上限,则触发缓存空闲事件。

11.根据权利要求10所述的发送端设备,其特征在于,

所述估计模块,具体用于若所述触发模块触发所述缓存告警事件,则估计所述目标编码速率为:

Rnew=max[R-R_down,Rmin],其中,所述Rnew为所述目标编码速率,R为所述视频编码器的当前编码速率,R_down为码率下调步长,Rmin为所述视频编码器的最小编码速率,所述max[ ]表示取最大值;

若所述触发模块触发所述缓存空闲事件,则估计所述目标编码速率为:Rnew=min[R+R_up,Rmax],其中,所述R_UP为码率上调步长,Rmax为所述视频编码器的最大编码速率,所述min[ ]表示取最小值。

12.根据权利要求9所述的发送端设备,其特征在于,还包括:

处理模块,用于在所述触发模块触发码率估计事件之前,接收接收端设备发送的反馈信息,所述反馈信息携带所述接收端设备的丢包率,判断所述丢包率是否超过预设丢包率门限上限;

所述触发模块,用于若所述处理模块判断出所述丢包率超过所述预设丢包率门限上限,则触发丢包严重事件;否则,

若所述处理模块判断出所述丢包率未超过所述预设丢包率门限上限,则 触发丢包正常事件。

13.根据权利要求12所述的发送端设备,其特征在于,

所述估计模块,具体用于若所述触发模块触发所述丢包严重事件,则估计所述目标编码速率为:

Rnew=max[R×(1-Rloss),Rmin],其中,所述Rnew为所述目标编码速率,R为所述视频编码器的当前编码速率,Rloss为所述丢包率,Rmin为所述视频编码器的最小编码速率,所述max[ ]表示取最大值;

若所述触发模块出所述丢包正常事件,则估计所述目标编码速率为:

Rnew=min(R+R_up,Rmax),其中,R_up为码率上调步长,Rmax为所述视频编码器的最大编码速率,所述min[ ]表示取最小值。

14.根据权利要求9所述的发送端设备,其特征在于,还包括:

处理模块,用于接收接收端设备发送的反馈信息,所述反馈信息携带所述接收端设备的丢包率,判断本地缓存中数据包的数量是否超过预设缓存门限上限,或者,所述本地缓存中数据包的最大等待时间是否超过预设时延门限上限;以及,丢包率是否超过预设丢包率门限上限;

所述触发模块,具体用于若所述处理模块判断出所述本地缓存中数据包的数量超过所述预设缓存门限上限,或者,所述本地缓存中数据包的最大等待时间超过所述预设时延门限上限;以及,所述丢包率超过所述预设丢包率门限上限,则触发缓存告警事件与丢包严重事件;否则,

若所述处理模块判断出所述本地缓存中数据包的数量未超过所述预设缓存门限上限,且所述本地缓存中数据包的最大等待时间未超过所述预设时延门限上限;而且,所述丢包率未超过所述预设丢包率门限上限,则触发缓存空闲事件与丢包正常事件。

15.根据权利要求14所述的发送端设备,其特征在于,

所述估计模块,具体用于若所述触发模块同时触发所述缓存告警事件与所述丢包严重事件,则根据所述缓存告警事件确定第一编码速率,根据所述丢包严重事件确定第二编码速率,根据所述第一编码速率与所述第二编码速率,确定所述目标编码速率;其中,

R1=max[R-R_down,Rmin],所述R1为所述第一编码速率,所述R为所述视频编码器的当前编码速率,R_down为码率下调步长,Rmin为所述视频编码 器的最小编码速率,所述max[ ]表示取最大值;

R2=max[R×(1-Rloss),Rmin],所述R2为所述第二编码速率,Rloss为丢包率,Rmin为所述视频编码器的最小编码速率;

Rnew=min[R1,R2],所述Rnew为所述目标编码速率,所述min[ ]表示取最小值。

16.根据权利要求14所述的发送端设备,其特征在于,

所述估计模块,具体用于若所述触发模块同时触发所述缓存空闲事件与所述丢包正常事件,则根据所述缓存空闲事件确定第三编码速率,根据所述丢包正常事件确定第四编码速率,根据所述第三编码速率与所述第四编码速率,确定所述目标编码速率;其中,

R3=min[R+R_up3,Rmax],所述R3为所述第三编码速率,所述R为所述视频编码器的当前编码速率,所述R_up3为根据所述R3得出的码率上调步长,Rmax为所述视频编码器的最大编码速率,所述min[ ]表示取最小值;

R4=min[R+R_up4,Rmax],其中,所述R4为所述第四编码速率,所述R_up4为根据所述R4得出的码率上调步长;

Rnew=min[R3,R4],所述Rnew为所述目标编码速率。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1