VideoBits.org
home principles standards vendors publications  
intro color prediction transforms compression filtering streams interlace  
 


Color

RGB

There are many systems for representing color. Since most video displays create colors by displaying combinations of intensities of pure red, green, and blue, one common representation of the color of a pel is to use a separate digital value for each of the pure red, green, and blue components needed to make the desired color for that pel. That is known as the RGB color representation. In many digital video devices, 8 bits are used to represent each of the red, green, and blue color components.

Composing Colors

Any color can be generated on a video display from a mixture of the three pure color components red, green, and blue. To learn more about color visit http://www.rgbworld.com/color.html. Let's consider some special cases. Notice that an 8-bit digit can represent positive numbers with a minimum value of zero and a maximum value of 255.

generated color component color
red green blue
color red 255 0 0
color yellow 255 255 0
color green 0 255 0
color magenta 255 0 255
color blue 0 0 255
color cyan 0 255 255
color white 255 255 255
color gray 75% 192 192 192
color gray 50% 128 128 128
color gray 25% 64 64 64
color black 0 0 0

As one would expect, a maximum red component with a zero green and blue component appears red. Likewise, for a maximum green or maximum blue with zero for the other component colors. A combination of two color components generates a different color, for example red and green generate yellow. Any color in the rainbow can be generated by a combination of red, green, and blue components.

Notice, also, that when all color components have the same value, the color generated is on a gray scale. The smaller the color component value, the closer to black and the larger the color components value, the closer to white. Black and white video is created by displaying the same intensity of each color component, so that the display generates only a range of gray pels.

Even for color representations, where the component color values are not necessarily equal, darker colors will have smaller values of component colors and lighter colors will have larger values of component colors.

YCrCb

R, G, and B components are a fine way to represent the color of each pel, but digital video also commonly uses the Y, Cr, Cb system of representing color. Y is a measure of the brightness or luminance of the color. By convention, Y is derived directly from the G component of an RGB representation. Cr is the red chrominance, which is a measure of the difference between the intensity of the red color component and the green color component. Cb is the blue chrominance, which is a measure of the difference between the intensity of the blue color component and the green color component.

Since the Cr and Cb components of a YCrCb color representation represent differences between the R and G components and the B and G components of an RGB representation, Cr and Cb can be negative numbers.

The YCrCb system of color representation is used in digital video because the human eye is more sensitive to the intensity than it is to color. Digital video systems can takes advantage of this fact to devote more effort and more bits to storing the Y component than to storing the Cr and Cb components of the color representation.

4:2:0

After converting from RGB color representation to YCrCb, 8 bits are used to represent each color component. Each pel of a video frame is represented with 24 bits of YCrCb data, just as it was represented with 24 bits of data in RGB format. This is known as a 4:4:4 sampling format.

# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# = Y and Cr and Cb sample point

Since the eye is less sensitive to chrominance than to luminance, digital video systems typically store only 1 Cr and 1 Cb value for each square of four Y samples. This is known as a 4:2:0 sampling format.

* * * * * * * *
c c c c
* * * * * * * *
* * * * * * * *
c c c c
* * * * * * * *
* * * * * * * *
c c c c
* * * * * * * *
* * * * * * * *
c c c c
* * * * * * * *
* = Y sample point
c = Cr and Cb sample point

To represent a 2x2 square in 4:4:4 format requires

(2 pels * 2 pels) * (8 Y_bits/pel + 8 Cr_bits/pel + 8 Cb_bits/pel) = 96 total bits

To represent a 2x2 square of 4 pels in 4:2:0 format requires

(2 pels * 2 pels) * (8 Y_bits/pel) + 8 Cr_bits/pel + 8 Cb_bits/pel = 48 total bits

A 4:2:0 sampling format takes advantage of the nature of the human eye to achieve a 50% reduction in the number of bits required to represent video. This is an effective form of compression.

Color Corection / Enhancement

Copyright © 2005-2006 Jonah Probell. All rights reserved.