openh264码控笔记二(帧级QP的计算)

本文详细介绍了H.264编码器中RC_BITRATE_MODE模式的帧级码控流程,包括帧级QP计算的整体框架、QP计算公式、参数更新与计算方法,以及关键函数的作用。

以下都是RC_BITRATE_MODE模式的处理流程。

一、帧级码控计算整体框架图

二、帧级QP的计算公式

openh264用的码控用的是R-Q模型,使用历史帧的平均QP、SAD、帧长,来预测当前帧的QP。计算公式如下:

QStep = (IntraComplexity * CmplxRatio)/(TargetBits * 100)

IntraComplexity参数根据上一帧单帧长度和历史帧平均QP确定。

计算公式为:IntraComplexity(i)=0.8*IntraComplexity(i-1)+0.2*QStep*FrameDqBits

CmplxRatio参数根据历史帧的SAD(绝对残差和)确定。

计算公式为:CmplxRatio(i)=0.8*SAD(i-1)+0.2*SAD(i)

TargetBits当前帧可分配的码率。

1)IntraComplexity参数计算

RcUpdateIntraComplexity (sWelsEncCtx* pEncCtx)

RcUpdateFrameComplexity (sWelsEncCtx* pEncCtx)

2)CmplxRatio参数计算

RcCalculateIdrQp (sWelsEncCtx* pEncCtx) 

RcCalculatePictureQp (sWelsEncCtx* pEncCtx)

3)TargetBits参数计算

RcDecideTargetBits (sWelsEncCtx* pEncCtx)函数

 

另外WelsRcPictureInitGom实际计算帧级QP的值。WelsRcPictureInfoUpdateGom更新码控的参数,用于后续再次调用WelsRcPictureInitGom时,计算帧级QP的值。

4)WelsRcPictureInitGom

5)WelsRcPictureInfoUpdateGom

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值