x264 码率控制原理

介绍

  1. 码率控制不属于 H264 编码标准中的模块,在 H.264 视频编码标准中仅仅规定了编码后比特流的句法结构和解码器的结构,而对于编码器的结构和实现模式没有具体的规定。然而无论编码器的结构如何,相应的视频编码的控制都是编码器实现的核心问题 。
  2. 码率控制的重点就是确定与速率相关的量化参数 QP( Quantization Parameter )。

文档说明

来自 x264源码项目中 doc/ratecontrol.txt 中说明。

  1. x264 中 rc 基于libavcodec,大多数是经验的,但大多数的算法仍基于一些理论基础:
    (1)希望视频序列电影的质量是恒定的,但恒定的质量不意味着恒定的 PSNR 或恒定的 QP。在高复杂度和高运动场景,细节不太明显注意,所以可以在相同的感知质量下获得更高的 QP。
    (2)如果将更多的比特分配到运动补偿效果更好的场景,每比特能得到更多的质量:确定的失真在低运动场景可能停留几秒,只需要在一帧中修复它,来提升整个场景的质量。
    (3)上面两点都与给定 QP 时候编码一帧图像所使用的比特数相关。
    (4)给定一个帧的编码,我们可以预测在不同的QP下编码它所需的比特数。如果QP相距很远,这种预测的准确性就会降低。
    (5)一个帧的重要性取决于参考这帧的其他帧的数量。因此,设置 I 帧的 QP 值取决于后续帧的数量和复杂度;非参考 B 帧的QP值高于 P 帧,参考 B 帧的 QP 值介于 P 帧和非参考 B 帧之

你可能感兴趣的:(#,x264,H264,x264,视频编解码,码率控制,VBV,MBtree,AQmode)