CBR/VBR


CBR/VBR


CBR和VBR都是控制编码器输出码率大小的方法,即码率控制模式。


CBR(Constant bitrate)即固定码率,就是静态(恒定)比特率的意思,CBR是一种固定采样率的压缩方式。,效果不十分理想,现已逐步被VBR的方式取代。固定码率是一个用来形容通信服务质量(QoS,Quality of Service)的术语。一般来说,音视频质量越好,记录音视频的数据量就越多,要求的编码码率就会越高,和该词相对应的词是可变码率或可变比特率(英文Variable Bitrate,缩写VBR)


对于视频编码来说,CBR编码指的是编码器每秒钟的输出码数据量(或者解码器的输入码率)应该是固定制(常数)。编码器检测每一帧图像的复杂程度,然后计算出码率。如果码率过小,就填充无用数据,使之与指定码率保持一致;如果码率过大,就适当降低码率,也使之与指定码率保持一致。因此,固定码率模式的编码效率比较低。在快速运动画面部分,画面细节较多,一般需要更多的比特来描述,但由于强行降低码率,因此会丢失部分画面的细节信息,而出现画面模糊、不清晰现象。对于音频压缩来说,比如MP3,比特率是最重要的因素,它用来表示每秒钟的音频数据占用了多少个比特,这个值越高,音质就越好。CBR使用固定比特率编码音频,一首MP3从头至尾为某固定值,如128 kbps进行编码。


总之,无论对于音频编码还是视频编码,CBR方式编码的优点是压缩快,能被大多数软件和设备支持;而且当在一个带宽受限的信道中进行多媒体通讯的时候,CBR是非常有用的,因为这时候受限的是最高码率,CBR可以更好的易用这样的信道。但是缺点是占用空间相对大,不适合进行存储,因为CBR将导致没有足够的码率对复杂的内容部分进行编码,从而导致质量下降,同时在简单的内容部分会浪费一些码率。


大部分编码方案的输出都是可变长的码字,例如霍夫曼编码或者游程编码(run-length coding),这使得编码器很难做到完美的CBR。编码器可以通过调整量化(进而调整编码质量)来部分的解决这个问题,如果同时使用填充码来完美的达到CBR。(有时候,CBR也指一种非常简单的编码方案,比如将一个16位精度的音频数据流通过抽样得到一个8位精度的数据流)