Why Do Images Appear Darker on Some Displays?

An Explanation of Monitor Gamma

Robert W. Berger

rwb@cs.cmu.edu

Note: All inline images in this document are links to the inline image files themselves. This is done to support non-inline web clients, and to make it easier to experiment with the images using external viewers.

What is gamma?

In the early days of television it was discovered that CRT's do not produce a brightness that is proportional to the input voltage. Instead, the brightness produced by a CRT is proportional to the input voltage raised to the power gamma. The value of gamma varies depending on the CRT, but is usually between 1.4 and 3.0. A CRT with gamma of 2.0 has a response like this:

Gamma Chart

Note that the effect of the CRT gamma is to darken the midtones relative to the dark and light regions. An input voltage of 50% produces a brightness of only 25%.

What do television standards do about gamma?

Since most sensors used in television cameras produce output voltages proportional to scene brightnesses, a correction for CRT gamma must be applied to the camera signal to avoid having midtones in the scenes being too dark on the TV set. When television standards were defined it was decided to correct for the gamma of the CRT in every television set by using a correction circuit in the camera which applies a gamma of 1/2.2. With a single TV camera feeding millions of TV receivers it made economic sense to compensate for CRT gamma in the studio's equipment.

What do computer displays do about gamma?

Most computer displays ignore the effect of monitor gamma. The frame buffer values provided by the application software are converted linearly into voltages that drive the CRT in the display. The values in the frame buffer are not proportional to the resulting brightness. A frame buffer value of 1/2 the maximum will produce less than 1/2 the brightness, as shown by the gamma curve above.

Some display systems such as NeXT's Dimension board do contain circuitry that correct for monitor gamma. On a NeXT Dimension system the frame buffer values provided by the application are corrected for the gamma of the CRT, producing a display system gamma of 1.0 which linearly maps frame buffer values into brightness.

A 1 bit display that produces grayscales by dithering between two values will have a linear brightness response no matter what the monitor's gamma response is. This fact is used in the tests below.

The lack of standardization in dealing with monitor gamma has caused significant problems with systems like World Wide Web which distribute images to different types of displays. An image that looks good on one brand of display might have the midtones too bright or too dark on a different brand, because of the difference in the displays' gamma.

What is the gamma of my display?

As mentioned above, a display which simulates grayscales by dithering adjacent pixels between 0% (black) and 100% (white) will have a linear brightness response regardless of the monitor's gamma. This fact is used to demonstrate the effect of display gamma in this image:

Gamma Demonstration Image

The image contains 2 rows of 3 squares, with the brightness of the squares in each row varying from 25% to 75%. The top row uses gray values; the bottom row simulates the grays by dithering. On a display which corrects for monitor gamma the top squares will have the same brightness as the corresponding bottom squares. On a system which does not correct for monitor gamma the top row of squares will appear darker than the bottom row. Standing about 6 feet from the monitor gives the best results.

The image below allows you to directly estimate the gamma of your display system. Stand about 6 feet away and decide which column of the image comes closest to having equal brightness in the top and bottom halves. The number under this column is the gamma of your display system.

Gamma Measurement Image

What about color matching?

Color displays can have different gamma responess for the red, green and blue channels. Also, color displays can differ in other ways in addition to gamma response. The colors of the red, green, and blue primaries can be different for different displays. Color can be measured in a device independant way using the CIE color model, which is based on an analysis of the human visual system. Two color sources with the same CIE color coordinates will look the same to the human eye. The color of a source is specified in the CIE system as two coordinates, X and Y. A third coordinate Z specifies perceived intensity.

A fairly complete characterization of the response of a color display can be had by specifying:

  1. The gamma values, or response curves, for the red, green, and blue channels.

  2. The CIE colors produced by displaying white, red, green, and blue on the device. The first is known as the display's White Point, the last three are known as the display's Primary Chromaticities.

The TIFF file format already has provisions for specifying the properties listed above.

What can the World Wide Web community do about display matching?

There are two approaches that can be taken to produce better matching of images between different displays.
  1. The gamma and chromaticity information for the display the images were produced for could be added to the image formats or to the HTML tags.

  2. All image files can be pre-adjusted for the gamma and chromaticity response of a "standard" display.
In either case the viewer software can be made aware of the gamma and chromaticity responses of the local display, and correct the image display accordingly. Choice 2 would probably be the best choice, since the file formats need not be changed, and old viewers would still produce an approximately correct image. A suitable "standard" display model already exists in the NTSC standard used in television. Essentially, the viewer software would compensate for the specific characteristics of the display hardware, providing a "virtual" display that has the gamma and chromaticity responses of an NTSC standard display.

An Interim Solution

As an interim solution I suggest:
  1. Creators of images adjust their image files for optimum results on a display with a gamma of 2.2

  2. Users whose display gamma differs significantly from 2.2 set up their viewers to compensate.
As an example, the Sun on which I run the X version of Mosiac has a gamma of 3.0, measured using the method demonstrated above. I therefore created the following X resources on my Sun: xv.default.rgraf: G 1.36
xv.default.ggraf: G 1.36
xv.default.bgraf: G 1.36
This tells XV to emulate a display with a gamma of 2.2 (1.36 = 3.0/2.2). Note that setting the Intensity gamma in XV affects the V component of an HSV color model, which is not the same as setting the same gamma for Red, Green, and Blue.

This solution gives external images some consistency across different displays, but does not help with inline images.


NLM HyperDOC / An Explanation of Monitor Gamma / April 1994