What is BDBR?

BDBR stands for Bjontegaard Delta Bitrate.

If you have ever engaged in video coding quality analysis and compared different codecs, you have likely used rate-distortion or RD curves.

RD Curves

Since the X-axis represents bitrate values and the Y-axis represents a quality metric, a higher curve indicates the codec encodes with higher quality at the same bitrate. Visually, the curves are quite close to each other, and one might mistakenly conclude that their quality difference is not significant. However, BDBR metric indicates the codec with the green curve needs to add, on average, 45% more bitrate to achieve the quality of the second one – RD Curves with BDBR calculated.

When asking the question, “how much more or less bitrate is needed to achieve the quality of the compared codec?”, one needs to draw a horizontal line at a given quality level and observe at which bitrate points it intersects the curves.

For this purpose, an “inverted” diagram is more suitable, where the X-axis represents quality and the Y-axis represents the required bitrate:

Quality based RD Curves

Such diagram visually aligns with the question. A “higher” curve now indicates the codec lacks sufficient bitrate to match the quality of the second one.

Alright, we have determined that at the point of 90 VMAF, the “red” codec requires 5.15 Mbps, while the green one requires 9.89 Mbps. But this is not enough to understand how much better one codec is than the other. One could calculate the difference at the boundaries and average the values, continuing to add points to average the overall indicator ad infinitum. This essentially boils down to the ratio of the areas under the curves.

To obtain this ratio, one must compute the polynomials describing the quality-to-bitrate dependency, determine the boundaries of bitrate intersection for the two codecs, and integrate two functions over this interval.

This is precisely what Gisle Bjontegaard proposed back in 2001 for comparing codec quality. Technically, 4 points are sufficient for this approach. In my tests, I use 10. On one hand, this is more accurate. On the other, it reduces the probability of outliers between points when interpolating by the polynomial found, though not 100%.

This approach has a limitation: the function must be monotonically increasing. On one hand, this complicates calculations and requires checks and special methods to “correct” the function. On the other hand, it serves as an indicator a codec behaves unpredictably. That is, if uniformly increasing the bitrate can cause the codec to lower quality, a question about the reliability of its use arises.

The resulting value is interpreted directly as the coefficient by which the bitrate must be increased (or decreased) on average to achieve the quality of the compared codec. For example, +45% indicates that the bitrate needs to be increased by 45%. -15% means the bitrate can be reduced by 15% to encode with the same quality.

This is what promotional articles claim. If AV1 is 30% better than HEVC, it is asserted that one can encode with a 30% lower bitrate while maintaining the same quality as HEVC.

BDBR is a relative metric. Under the hood, any “absolute” metrics can be used, such as VMAF, PSNR, SSIM, etc. It depends on specific tasks and evaluation methodologies. In my tests, I use all three and plan to add SSIMULACRA2 and CIEDE2000 soon for a more complete picture and to detect “hacking” of specific metrics.

Avatar photo
dmitry
http://www.vmetrix.tech

Leave a Reply