一种视频实时编码的变码率控制方法技术

技术编号:37796186 阅读:24 留言:0更新日期:2023-06-09 09:26
本发明专利技术提供一种视频实时编码的变码率控制方法,应用于视频实时编码的IPPP结构,采用分级策略,包括GOPs级、GOP级、帧级,依次为不同编码单元分配目标码率。在GOPs级设置编码允许的最大码率,以保证数据的有效传输和存储。在GOP级依据图像特征分析算法获取的图像复杂度和运动强度信息分配目标码率,允许在GOPs统计时间内编码码率波动,从而保证编码图像质量平稳。在帧级对于瞬时估计码率波动在用户容忍范围内的情况下,不调整QP;当瞬时估计码率超出容忍范围时,根据场景变化对码率的影响程度及场景变化位置,计算一个新的码率波动上下限,并指导QP的调整。更好的维持图像质量的稳定。更好的维持图像质量的稳定。更好的维持图像质量的稳定。

【技术实现步骤摘要】
一种视频实时编码的变码率控制方法


[0001]本专利技术涉及视频编码
,特别涉及一种视频实时编码的变码率控制方法。

技术介绍

[0002]目前应用于视频实时编码的VBR算法均采用在简单场景分配较少的目标码率,复杂场景分配较大的目标码率,以达到维持视频图像编码质量稳定的目的。现有VBR优化算法都是基于图像内容和运动状态的,通过对一段时间内的图像复杂度信息进行分析,将其作为计算目标码率的一个影响因子,实现不同复杂度下分配不同的目标码率。
[0003]但是,现有VBR控制技术中仍采用精确的目标码率进行控制,当瞬时码率在目标码率上下波动时易引起QP的振荡,不利于维持图像质量的稳定。而对于不同复杂度和运动强度的场景没有一个合适的分配策略,当视频图像发生场景变化时,易出现实际码率过大或过小的现象。
[0004]此外,现有技术中的常用术语如下:
[0005]视频编码就是通过压缩技术,将原始视频格式的文件转换成另一种便于传输和存储的视频格式文件的方式。
[0006]码率就是数据传输时单位时间传送的数据位数,单位时间内传输的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种视频实时编码的变码率控制方法,其特征在于,所述方法应用于视频实时编码的IPPP结构,实现帧级目标码率控制,包括GOPs和GOP级码率分配、帧级码流分配、帧级QP计算、编码信息统计;所述方法采用分级策略,分为:GOPs级、GOP级、帧级,依次为不同编码单元分配目标码率;在GOPs级设置编码允许的最大码率,以保证数据的有效传输和存储;在GOP级依据图像特征分析算法获取的图像复杂度和运动强度信息分配目标码率,允许在GOPs统计时间内编码码率波动,从而保证编码图像质量平稳;在帧级对于瞬时估计码率波动在用户容忍范围内的情况下,不调整量化参数QP;当瞬时估计码率超出容忍范围时,根据场景变化对码率的影响程度及场景变化位置,计算一个新的码率波动上下限,并指导QP的调整。2.根据权利要求1所述的一种视频实时编码的变码率控制方法,其特征在于,所述方法进一步包括:S1,码率分配:S1.1,GOPs级目标码率分配:只为GOPs级设定最大码率Max
br
,指导该统计时间内的实际编码的平均码率不超出该最大值,保证码率传输和存储:gops
br
≤Max
br
;S1.2,GOP级目标码率分配:GOP级目标码率gop
br
受到GOPs级的剩余最大码率MaxRem
br
、视频图像复杂度cplx、运动强度motionStrength的限制;GOP级目标码率的分配随图像复杂度、运动强度增加而增加,以保证在场景变换后依然平稳的视频质量;根据用户对码率波动的容忍度fluctLvl,确定GOP级码率波动上下限;S1.3,帧级的码流分配:将最后已编码帧的码流值作为GOP剩余未编码帧的码流估计值,从而得到当前的瞬时估计码率est
br
;将est
br
与最大码率max
br
、最小码率min
br
比较,计算新的最大码率newMax
br
和新的最小码率newMin
br
;为当前帧分配目标码流tgtFrm
bits
;S2,帧级P帧QP的计算:1)对于稳定场景,将est
br
与max
br
、min
br
比较,判断当前帧QP的调整方向和偏移量QP
ofst
;2)对于不稳定场景,根据est
br
和max
br
、min
br
获取当前的newMax
br
和newMin
br
,将est
br
与max
br
、min
br
比较,判断当前帧QP的调整方向和偏移量QP
ofst
;则当前待编码P帧QP为当前帧前一已编码帧的QP值lastFrm
qp
与QP
ofst
之和;S3,编码完一帧后或一个GOP后更新相关统计信息,为下一帧或下一个GOP编码做准备。3.根据权利要求2所述的一种视频实时编码的变码率控制方法,其特征在于,所述方法中,设置控制参数:最大码率Max
br
、最大静止码率MaxStill
br
、最小码率Min
br
、码率波动容忍度FluctLvl、QP的最大值Max
Qp
和最小值Min
QP
、GOPs统计时间t
stat
,其中,最大码率Max
br
用来保证编码码率的正常传输和存储;最小码率Min
br
用来控制编码的最差质量;最大静止码率MaxStill
br
用来控制静止场景对码率的不必要浪费;码率波动容忍度FluctLvl用来计算客户对瞬时码率在目标码率上下允许波动的范围;QP最大值Max
QP
和最小值Min
QP
用来控制图像的质量范围;GOPs统计时间t
stat
越长,允许的瞬时码率波动越大,否则允许的瞬时码率波动越小。4.根据权利要求3所述的一种视频实时编码的变码率控制方法,其特征在于,所述步骤
S1.2中,进一步包括:S1.2.1,依据场景复杂度分配码率:根据图像特征分析获取当前帧的复杂度;将最小码率到最大静止码率的范围分为N个区间,其中N≥2的正整数,由小到大依次标号为0~N

1,将视频图像复杂度与阈值cplxThrd[N

1]比较,判断其所在区间的标号cplxIdx,通过查表cplxRatio[cplxIdx]得到码率偏移比率,该表格数值根据经验得到;那么GOP级在该图像复杂度下的静止目标码率cplx
br
计算方法如下:cplx
br
=Min
br
+(MaxStill
br

Mi
br
)
·
cplxRatio[cplxIdx];S1.2.2,依据场景运动强度分配码率:根据图像特征分析获取当前帧的视频图像运动强度;将该复杂度下的静止码率到最大允许码率的范围分为N个区间,其中N≥2的正整数,由小到大依次标号为0~N

1,将当前场景下的运动强度与阈值motionThrd[N

1]比较,判断其所在区间的标号motionIdx,通过查表motionRatio[motionIdx]得到码率偏移比率,该表格数值根据经验得到;那么在该场景运动强度下的GOP级目标码率计算方法如下:gop
br
=cplx
br
+(Max
br

cplx
br
)
·
motionRatio[motionIdx];对GOP级目标码率进行限制,避免GOPs级实际编码的平均码率不可控:其中,剩余最大码率MaxRem
br
;S1.2.3,根据用户对码率波动的容忍度fluctLvl,确定GOP级码率波动上下限:max
br
=gop
br
·
(100+upFluct
br
[fluctLvl])/100min
br
=gop
br
·
(100

dwFluct
br
[fluctLvl])/100,对目标码率上下限进行限制:对目标码率上下限进行限制:max
br
表示当前GOP允许达到的最大码率,maxRem
br
是为满足GOPs级码率可控条件下实时调整的GOPs内剩余未编码GOP的最大平均目标码率。5.根据权利要求4所述的一种视频实时编码的变码率控制方法,其特征在于,所述步骤S1.2.1中,假设N=6,即根据实际测试情况划分了6个区间,由小到大依次标号为0~5,将视频图像复杂度与阈值cplxThrd[5]比较,判断其所在区间的标号cplxIdx,通过查表cplxRatio[cplxIdx]得到码率偏移比率,其中,cplxThrd[5]和cplxRatio[6]分别表示图像复杂度阈值和所计算目标码率相对于最小码率Min
br
向最大静止码率MaxStill
br
偏移的比率值,该表格数值根据经验得到:设cplxThrd[5]

{20,50,80,110,150}设cplxRatio[6]={0,0.15,0.45,0.65,0.8,1.0}
那么GOP级在该图像复杂度下的静止目标码率cplx
br
计算方法如下:根据公式:cplx
br
=Min
br
+(MaxStill
br

Min
br
)
·
cplxRatio[cplxIdx]若最小码率Min
br
设置为500Kbps,最大静止码率MaxStill

【专利技术属性】
技术研发人员:张立兰
申请(专利权)人:北京君正集成电路股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1