Color Depth and Monitor Gamma

In order to get a feel for the quality of the images on these pages, you need to be using 24-bit video hardware. 24-bit color uses three bytes per pixel: one for each of the three video color channels (red, green, and blue). A total of 16.7 million colors can be represented with 24-bit color.

The number of bits used to represent a single pixel in video memory is commonly known as "color depth." Frequently-used color depths are 24-bit, 16-bit, and 8-bit.

Many systems use 8-bit color, in which each pixel uses up one byte of video memory. Each pixel selects one of 256 colors; these colors are defined using either 18 or 24 bits per pixel; this allows 256 colors chosen from a palette of 262,144 or 16.7 million to be displayed at one time. By using a palette, image quality can be improved despite the limited color resolution; colors can be chosen based on the image content. If the image is an outdoor scene rich in greens and browns, the palette can include a large number of shades of green and brown. For a portrait, the palette might be rich in skin tones instead.

This scheme works fairly well until one tries to display multiple images with different palettes at the same time. Consider the outdoor scene with its mostly-green-and-brown palette when displayed on the same Web page as a portrait with a mostly-skintone palette. One image or the other is going to look really horrible since only one palette can be used at a time.

Web browsers like Netscape address this problem by installing their own fixed palette, then adjusting incoming image data to match up with this palette as well as it can. This is why photographic images on the Web look really grainy on 256-color systems. If 8-bit color is all you have available, you can often really improve the quality of a displayed image by saving it to disk, then loading it in a tool like LView (on the PC) which can install its own color palette based on the particular single image you're viewing.

Some systems (usually PCs) also support an intermediate mode, 16-bit color, in which each pixel takes up two bytes. Five bits are used for the red and blue color value; six bits are used for green (the human eye is most sensitive to colors in the yellow-green portion of the visible spectrum, so the extra information is most valuable here). Image quality is, predictably, better than that available on 8-bit color video systems--but not nearly so good as that attainable on 24-bit color video systems.

The bottom line? If you're serious about imaging, 24-bit color is the only reasonable choice.

As if color depth weren't enough of a problem, there's monitor gamma to contend with.

Simply put, monitor gamma describes the relationship between the strength of a monitor's input signal and the brightness of the displayed image. Some systems do some or all of this translation in hardware (Macs, SGIs); others don't (PCs). This causes major headaches when you're trying to come up with images which look good on all platforms; it's particularly nettlesome when looking at images such as these, where highlight and shadow detail is important.

You'll find that images from this review look a bit dark if viewed on a PC or most Unix workstations; on a Mac or Silicon Graphics machine, they'll be a bit light instead.

Since the JPEG format in which these files are stored relies on perceptual coding to achieve its compression, it's not even possible to tweak the image brightness up or down in hard/software in order to get maximum highlight or shadow detail; you'll discover that the JPEG algorithm has, for your convenience, discarded the information already since you couldn't see it before the brightness change (the theory: why store for display what you can't see?) The only solution right now is to rely on a lossless storage format such as TIFF; these images tend to be really big. Here's a copy of the first slide image from this review in uncompressed form; be warned, though: at 780,084 bytes, it's really big.

Computer Graphics Systems Development has put together a much more comprehensive overview of monitor gamma and gamma correction; take a look at it if you'd like more information on these topics.