What is VBR or Variable Bitrate in Video Compression?

While compressing a video, one needs to do a lot of work and tuning to achieve a balance between video quality and file size. One of the important parameters in the video compression process is “rate control” and this specifies how the video is compressed and how the “bit budget” is distributed across a video.

One of the rate control techniques is VBR (Variable Bitrate) rate control that offers a nice trade-off between quality and bitrate (filesize) for a video.

How does CBR work?

A very common form of rate control is CBR (Constant Bitrate) encoding. It divides the video file into a number of segments and for each one of those segments allocates a more or less fixed amount of data—its bitrate. Whilst this CBR approach offers predictability, it is somehow inefficient.

Imagine you have a video which is a sequence of fast changing action scenes followed by slower dialogue scenes. CBR will allocate a fixed amount of data to both scenes. This might lead to a waste of bits on scenes which are simpler and a potential drop in quality for scenes which contain more detail.

How does VBR (Variable Bitrate) work?

VBR (or Variable BitRate), however, is a bit more sophisticated. It looks at the video content, and dynamically adjusts the bitrate allocation per segment.

  • Very complex segments with a lot of movement or fine detail get an increased bitrate to ensure its clarity.
  • On the other hand, if the segment is very simple it gets a lower bitrate.

This allows the file size to be significantly diminished, without losing quality in places, where it matters less.

Pros and Cons of VBR

Pros: VBR’s nature provides numerous benefits like improved video quality, reduced filesize and bitrate, and this in-turn improves the QoE of the end user.

Cons: One problem of VBR is the uncertainty of file size of a VBR-encoded video and it can cause problems for certain video players. When a player downloading content using HLS or MPEG-DASH is told by the manifest that a video segment’s size of 2 mbps, the player expects the file size to be 2MB and it should take 1 second to download. However, if due to VBR encoding, the file size is 4 MB, then the player’s buffer management and planning will get affected and this could lead to buffer-underflow and the user will experience buffering or stalls.

If you are interested in rate control mechanisms, then you should consider reading this article on CBR rate control as well to get a good idea of the possible rate control schemes in video streaming.

Related Posts