YUV / YCbCr color componet data ranges

Currently Breeze supports 3 variants of 8-bit data ranges for YUV / YCbCr color components:

  • 0 - 255, 0 - 255
  • 16 - 255, 16 - 255
  • 16 - 235, 16 - 240

These data ranges are applied to all supported YCbCr image formats with 3 major YUV sub sampling ratios: 4:4:4, 4:2:2, 4:2:0.


Table 1: YUV / YCbCr color componet data rages supported by Breeze
Color space Sub sampling ratio Data range Clipping Data range name
Luma Y Chroma Cb Chroma Cr Luma Chroma Cb Chroma Cr
YCbCr 4:4:4
4:2:2
4:2:0
0 - 255 0 - 255 0 - 255 0, 255 0, 255 0, 255 0 - 255
16 - 255 16 - 255 16 - 255 16, 255 16, 255 16, 255 16-255
16 - 235 16 - 240 16 - 240 16, 235 16, 240 16, 240 16-235-240

Out of 3 supported data ranges only the data range 16-236-24 follows strictly to the standard recommendations ITU-T 601 [1], and ITU-T 709 [2]. This data range provides full compatability with classic TV standards.

Narrowing the data range of 8-bit data from available 0 - 255 to 16 - 235 and 16 - 240 leads unavoidably to the additional data loss during RGB - YUV conversion. Therefore many applications, using RGB-YCbCr data conversions defined by ITU-T 601 [1], and ITU-T 709 [2], do not follow the strict rulles of ITU-T recommendations, and utilize full data range to 0 - 255, or sometimes to 16 - 255. That class applications are called "application based on the ITU-T 601, ITU-T 709 standards".

For example, popular JPEG / JFIF image compression standard uses data range 0 - 255 for luma and chromas.

References:

  1. RECOMMENDATION ITU-R BT.601-5, 1982-1995.
  2. RECOMMENDATION ITU-R BT.709-5, 1990-2002.

The following below topics give more detailed technical information about YUV formats implemented in the Breeze media software. Click highlighted links to learn more: