视频编码中码率控制的上手实际操作

码率控制的主要步骤

码率控制的研究主要有两个步骤:一、目标比特的分配,将比特数分配到各个级别(GOP级、pic级、LCU级)。其中就有好多的论文研究如何分配精准的比特,网上可以找到。二、根据分配的目标比特进行QP的计算,这个就包括一些与计算QP的相关参数相关工作,如Lambda、alpha、delta等计算,在这不细说。

编码结构中rate control介绍和设置

在基础的环境配置完之后,打开编码结构cfg文件在这里插入图片描述
第一个参数rate control,是默认关闭的(0),做码率相关工作是要开启的。
第二个参数TargetBitrate,上面所说的分配给整个序列的总比特数,如果开启了码率控制则要给定总比特数。
第三个参数KeepHierarchicalBit,后面的注释解释的很清楚,比特分配的方式,一般使用2。
第四个参数LCULevelRateControl ,是否开启LCU级的码率控制,根据自己的相关研究决定。

码率控制的具体操作

在前面说到码率控制的主要步骤一中,把目标比特分配到各个级别,但是目标的比特怎么获得?不同的序列目标比特也肯定不一样,那怎么获得?其次,在许多码率控制论文中的实验部分也能经常看到,某个序列在constant QP mode下,都有显示不同QP的目标比特和实际比特。那这里有个疑问,做码率的研究不是不用设定QP值嘛(因为开启了码率控制,编码器会根据分配的目标比特去计算出QP,从而再利用新的QP值去编码视频),那与论文中提出的使用不同QP得到的比特不是相悖了吗?
其实是这样的,首先我们是在cfg文件中不开启码率控制,然后再使用固定QP模式获得总的目标比特作为目标比特数,接着再开启码率控制根据这个目标比特数去做分配。
这有需要注意的地方,在我们不开码率使用某个QP去获得目标码率时,在最终输出的txt文档中的Bitrate(比特率单位是kpbs)还不是传给编码器的目标比特(bits per picture,bpp),需要进行转换成比特数,才是目标比特。只需将获得的Bitrate乘以1000即可,然后设定为目标比特。


待更新

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值