The difference between YCbCr and RGB is that RGB represents colors as combinations of red, green and blue signals, while YCbCr represents colors as combinations of a brightness signal and two chroma signals. In YCbCr, Y is luma (brightness), Cb is blue minus luma (B-Y) and Cr is red minus luma (R-Y). The luma channel, typically denoted Y (more accurately Y’, indicating that the channel is gamma encoded), approximates the monochrome picture content. The two chroma channels, Cb and Cr, are color difference channels. During creation of YCbCr signals from RGB (the encoding process), higher frequency signal content is removed from the Cb and Cr channels to compress the signal. YCbCr video is considered a form of lossless compression, as the elements of the original RGB signal that are removed in creating YCbCr are picture elements that humans aren’t able to see at normal viewing distances.
RF tuners, cable and satellite set top boxes, and DVD/Blu-ray disk players all natively transmit or store YCbCr format digital video signals, since each of these limited bandwidth transmission and storage mediums benefit from signal compression. The native video signals produced by computers and game consoles are typically uncompressed RGB signal format, however, since their transmission mediums do not benefit from signal compression.
Human retinal receptors respond to light energy in terms of its red, green, and blue light components, so RGB light control works best for imaging display devices. Hence, the need for a color decoder at the end of a display’s signal processing path to transform color signals from the YCbCr color space back to the RGB color space for presentation on an imaging display device.
Color Decoder Function
The color decoder in modern video displays performs a matrix math transform on the digital YCbCr signal to produce a digital RGB signal. This digital math operation essentially adds the luma channel to the correct proportions of the Cb and Cr color difference channels to recover the original Blue and Red signals. The correct proportions of Blue and Red are then subtracted from the Y luma channel to recover the original Green signal.
The proportions of Red, Green, and Blue that form the YCbCr luma channel are different for the ITU-R BT.709 HDTV and the BT.601 SDTV video systems. Following are the luma encoding formulas for each of these systems (the prime symbols denote gamma encoding).
BT.709 HDTV YCbCr luma encoding: Y' = 0.2126 R' + 0.7152 G' + 0.0722 B'
BT.601 SDTV YCbCr luma encoding: Y' = 0.299 R' + 0.587 G' + 0.114 B'
Since the luma coefficients are different for the HD and SD systems, a display’s color decoder needs to use different matrix transform values to accurately decode HD and SD YCbCr signals. For 480 and 576 line NTSC and PAL SD signals, the display should use BT.601 matrix values. For 720 and 1080 line HD signals, the display should use BT. 709 matrix values. Many displays automatically switch to the appropriate color decoder matrix based on the input signal resolution.
The color errors caused by using the wrong decoder matrix are seen as hue and saturation shifts, primarily in highly saturated colors, with some colors being clipped at the edge of the R’G’B’ gamut. In practice, the color decoder errors resulting from using the wrong decoder matrix may not be severe enough to be noticed by casual viewers, so manufacturers aren’t heavily incented to insure that color decoding is always accurate.
Note: The ITU-R BT.709 HDTV and the BT.601 SDTV specs also define different color primaries.
Color Decoder Controls
Two global color decoder controls, Color and Tint , were originally provided in analog displays to correct for analog signal level errors. The analog level errors either shifted the balance between the chroma channels and the luma channel, resulting in chroma errors, or they shifted the balance between the two chroma channels themselves, resulting in hue errors; or both. With modern digital video transmission, storage, and display systems, the original need for analog level correction is gone, but manufacturers still provide the Color and Tint color decoder controls, mostly for marketing purposes.
In the past, manufacturers have often intentionally misadjusted the color decoder to “push” red saturation higher than green and blue saturation. This was done to partially compensate for the effects of an overly blue white point and grayscale, allowing the production of accurate skin tones. However other picture colors still have hue errors in this case. Color decoder red push cannot be corrected with the global color decoder Color and Tint controls found in a display’s picture menu. These controls globally affect the saturation and hue of the red, green, and blue signals. Individual red, green, and blue color decoder controls, which are seldom available except in outboard processors, are needed to correct the “red push” color saturation imbalance. Thankfully, the practice of producing “red push” in the color decoder is declining.
Manufacturers handle RGB video input signals with one of two design methods. Since an RGB input signal should have no need for color adjustments, the best design method is to leave the signal in RGB format and bypass the color decoder, sending the signal directly to the imaging device driver. This is how RGB computer monitors function. This method disables the color decoder controls when an RGB signal is fed to the display.
Alternately, an RGB signal fed to a video display is first converted to YCbCr, then processed and decoded back to RGB through the normal YCbCr processing circuits. This method enables the color decoder controls when an RGB signal is fed to the display, which provides some marketing advantage but no technical advantage. Moreover, this method degrades the high quality RGB input signal through the conversion to YCbCr, which becomes especially evident at close viewing distances.
The Color (aka Saturation, technically Chroma) control increased or decreased the gain of both the Cb and Cr chroma channels in legacy analog color decoders, allowing the picture colorfulness to be increased or decreased. In modern digital displays, the Color control modifies the color decoder matrix values to again increase or decrease the colorfulness of colors produced by the display.
However, the color decoder Color control (found in the user Picture menu) does not directly adjust the saturation of image colors, as is commonly thought. Instead, it adjusts the Chroma level of image colors. To understand the difference, imagine a fully saturated color object under bright illumination, with half of the object in shadow. The half of the object in shadow is still fully saturated, but it is not as colorful as the brightly illuminated half of the object (Fig. 1). The shadowed side of the object is less bright and has a lower chroma level, with less colorfulness.
Reducing the color decoder Color control has a similar effect to the shadow described above. As the Color control is reduced, the luminance level of all colored objects is reduced, decreasing the chroma level and the picture’s colorfulness. As the the Color control is reduced further, at some point in the control range, the saturation of all colored objects also starts decreasing, reducing the display’s color gamut. Finally, at the Color control’s minimum setting, the saturation of all colored objects is reduced to zero, reducing all objects to a grayscale level. As a result, as the Color control is decreased from its normal setting, meter measurements will first show changes primarily in luminance (Y) rather than in chromaticity (xy or uv). Only when the Color control is decreased significantly will there be substantial changes in chromaticity (reducing saturation).
Thus, since the color decoder Color control does not directly adjust color saturation, it is not useful to reduce the color decoder Color control to attempt to reduce the saturation of a display’s oversaturated color primaries. Unless the Color control is decreased significantly, reducing the Color control would just make all colors darker. Reducing the saturation of a display’s primary colors requires true red, green, and blue Saturation controls, as found in properly implemented CMS color gamut controls.