JEM亮度QP和lambda的计算

这篇博客探讨了JEM亮度QP和lambda的计算方法。首先介绍了默认配置下,如何根据QP+QPoffset+QPoffset2计算lambda,其中QPoffset2通过线性模型与QP+QPoffset关联并限制在0到3之间。接着,讨论了DeltaQpRD非零时,虽然编码过程中使用的QP和lambda保持默认关系,但在RDO选择帧级QP时,lambda会有特定的计算方式。最后,当MaxDeltaQP非零,尽管lambda不变,但QP会在默认值基础上加减MaxDeltaQP进行调整。
摘要由CSDN通过智能技术生成

1、默认配置:
使用JCTVC_X0038_LAMBDA_FROM_QP_CAPABILITY中的方法计算:This approach derives lambda from QP+QPoffset+QPoffset2. QPoffset2 is derived from QP+QPoffset using a linear model that is clipped between 0 and 3。
计算帧级QP的代码在TEncCfg::getQPForPicture中,计算帧级lambda的代码在TEncSlice::initEncSlice中(TEncSlice::initEncSlice先调用TEncCfg::getQPForPicture,再计算lambda)。

2、DeltaQpRD非零:
此参数用于做slice级的多QP优化,对应的代码在TEncSlice::precompressSlice中,QP和lambda使用上面所述默认配置计算得到的QP和lambda,也就是说具体编码一帧的时候的QP和lambda跟默认配置一样(QP和lambda满足默认配置的关系)。但选择帧级QP做RDO的时候,lambda由下面的语句计算得到:

  if (m_pcCfg->getGOPSize() > 1)
  {
    dFrameLambda = 0.68 * pow (2, (m_piRdPicQp[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值