Digital Images: 8 bit vs. 10 bit and Log vs. Linear


I will do my best to make sense of this complicated and sometimes confusing topic, that you more than likely did not know existed.

There is a class of techniques that uses specialized color encoding before an image is stored in order to make better use of the bit depth available. Images encoded in this way are said to be stored in a "non-linear color space" or "logarithmic color space" and are used with certain film-specific file formats.

The logarithmic (or non-linear) color space: A color space in which the relationship between a pixel's digital value and it's visual brightness does not remain constant (linear) across the full gamut of black to white.

The logarithmic color space, more closely mimics the natural light response of film emulsions. Due to the limitations of processing speed and memory, compositing artists did not usually have the luxury of having the system make intermediate conversions to linear space for the compositing steps. Now most compositing is done in a linear color space, even in cases where the source imagery is in a logarithmic color space.

8 bit vs.10 bit:
Most desktop systems work with 8 bits per color channel. As we said earlier that's 256 values per color channel (R,G,B) allowing for a possible 16.7 million colors. Some high end workstations work with 10 to 16 bits per color channel. 10 bits allow 1024 permutations per channel, 12 bits allow 4,096 permutations per channel and 16 bit allows 32,767 permutations per channel. The reason for greater bit depths is to provide finer steps between color values. This is most noticeable when transferring to film and viewing a smooth gradation, especially with dark colors.

Many deep color systems do not actually use the entire range. As an example the cineon scanner provide 10 bit log images (0-1023 in values). Black is technically at 95 and white is at 685. This means the values from 685 to 1023 are used only for whiter than whites (glares, flashes, etc). This range is meant to capture entire dynamic range of the original film. This allows for radical adjusting the color/brightness at any point in the process. All of this simulates the film response curve.

Linear vs. Log:
Linear space means the computer values are incremented in the typical way. On an 8 bit system (256 values) 128 would be half the value of 256. This half exposure would be equivalent to 1 film f-stop. Stepping through this progression 256, 128, 64, 32, 16, 8, 4, 2, 1 is equal to 1 f-stop per number. This means that the dark end has very course increments and the high end has very fine increments. This is opposite to the perceptual sensitivity of the human eye.

If the image is in log color space then each f-stop is the same number of values. 32, 64, 96, 128, 160, 192, 224, 256. This provides better response in the dark end of the spectrum and doesn't waste it on the dark end. 8 bit log image is a close equivalent to a 12 bit image.

Linear and non Linear color remapping

If the color space being described is a linear color space, then an equal portion of the bits are used to describe colors in each section of the color spectrum. In a logarithmic color space, the same bits can be used to emphasize details in the white and black areas of an image. Logarithmic color mapping is a more accurate way of describing the great detail that is captured in film, which is highly responsive in areas of extreme dark and light.

In short: log images are optimized for the perceptual range of the human eye.