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:
- The gamma values, or response curves, for the red, green, and
blue channels.
- 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.
- 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.
- 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:
- Creators of images adjust their image files for optimum results
on a display with a gamma of 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