Saturday, December 6, 2008

8 Bit vs 10 bit Color Precision

Often when 8 bit vs 10 bit color is brought up, many confuse the increase in precision with an increase in ultimate dynamic range. Moving from 8 bit to 10 bit will increase the amount of data you save, but it will still exist inside the color range you're using.

Every 'bit' has an 'on' and 'off' state if you will...the zeros and ones that make up data. One bit would be the equivalent of ancient terminal CRTs...each pixel is 'lit'...or not. Each bit we add gives us another 'on/off switch', which when you
multiply the 2 states of the first bit by the 2 states of the second bit...you have 4 possible states or gray shades in our case...add another bit to increase to 3 bits and double that giving you eight states, or 'shades' if you're referring to imaging...

4 bit=16 shades
5 bit=32
6 bit=64
7 bit=128
8 bit=256
9 bit=512
10 bit =1024

An RGB '8 bit file' in typical use, refers to '8 bits per color channel'...frequently referred to as a 24 bit file with the combined channels, and adding an 8 bit alpha channel gives you a 32 bit file in the case of a Targa or similar file format.

The difference between 8 bits per channel and 10 bits per channel is significant. The possible values inside each channel quadruple. You have the same color range subdivided into four times smaller increments. The subtlety of shades within the palette is increased significantly when all color channels are combined to create the complete palette.

256 x 256 x 256 = 16,777,216 total colors, 8 bit palette

1024 x 1024 x 1024 = 1,073,741,824 total colors, 10 bit palette

Next time you have a project that will require significant color correction, keep in mind how much finer control you'll have over gradients and subtle differences by moving to a 10 bit workflow. Even if your source material is 8 bit (which most video is, even in HD), using a 10 bit pipeline for post will improve you results.

TimK


No comments: