在做视频编码时,当我们给编码器设定一个目标码率的时候,编码器内部是怎么达到码率要求的呢 ?
编码器如何合理分配码率,以获得更高的视频质量 ?
这都是码率控制的问题。
x264的码率控制分为帧间级和帧内级,本文介绍帧间级各种码率控制类型,其内涵和使用方法。
1 目的和意义:
码率控制有两个目的
- 兼容传输、播放条件
- 更高的视频质量
1.1 兼容传输、播放条件
视频编码中,越高的码率通常可以产生更高的质量。同时,保持一定质量的情况下,不同复杂度场景需要的码率是不一样的。
如果不进行码率控制,视频的码率会不可控制。下图是对一段40s的视频,采用固定量化参数(也就是没有码率控制)编码后的瞬时码率分布。
可以看到,码率的波动很大。这对于传输是不利的。码率控制通过调节编码参数,控制单位时间内的编码视频流的数据量,以使产生的比特流符合各种应用的需求。
【图1】固定量化参数,码率分布