Dynamic Range of an Image

(Intensity Detail of an Image)

What is the dynamic range of an image? The sample shown here, which
is not uncommon, shows a range of over 2300 to 1, or about 11 bits
(2 to the 11th power), or 11 stops of intensity range.

A test image was made showing a deck, some trees, some objects in shadow,
and a white stuffed animal in full sun. What is the dynamic range
from the darkest darks to the brightest highlights? The images
were recorded with a Canon 10D camera in raw + jpeg mode at
77 degrees F, ISO 100, Canon 28-135 mm zoom at 28mm.
The image shows a large dynamic range that does not display
well in any one exposure. Exposures were obtained from 1/30 second
to 1/4000 second to be sure the darkest areas were recorded
above the noise floor, and the brightest portions did not
saturate.

Figure 1. This image was converted to 16-bit linear tiff and then
with the photoshop shadow tool increase the shadow levels 3 times,
with a setting of 100, then 100, then 50. Contrast is very low but
it illustrates everything that is in the image.

Figure 2. This image was converted to 16-bit linear tiff
from a 1/2000 second exposure. In photoshop, the highlights
have a max value of 27,580 DN (55160 in ImagesPLus 16-bit unsigned integer)..

Figure 3. This image was converted to 16-bit linear tiff
from a 1/125 second exposure. Many portions of the scene are above the
maximum DN of 32767 in Photoshop. In photoshop, the darkest portions
of a 1/30 second image have DNs around 924.

Figure 4. This image was the best overall jpeg, a 1/2000 second exposure.
The photoshop shadow tool increase the shadow levels 2 times,
with a setting of 100, then 50. Contrast is very low but
it illustrates everything that is in the image. The highlights are
clipped.

What have we learned so far. Extrapolating the 924 low DN at 1/30 second,
we get (1/2000)/(1/30)*924 = 13.86 DN at 1/2000 second. Thus the dynamic range of the
daytime outdoor scene is 27580/13.86 = 1990, or 11 bits if information (2
to the 11th power), or 11 stops of information.
(In other words, the 1/30 second exposure shows details in the shadows,
but saturates the highlights. The 1/2000 second image
was need to not saturate the highlights. But the 1/2000
second exposure loses the shadow details so I could not
get an accurate measurement of the levels in the shadows.
The 1/2000 second exposure is 66.67 times shorter than 1/30.
So divide 924 by 66.67 and you get 13.86. Two exposures
are needed to get a precise measurement of the scene dynamic
range.)

The original 16-bit image, the lowest values had a value of 12 with a standard
deviation in an 11x11 pixel box of 12 (in photoshop) (24 with a standard
deviation of 24 in ImagesPLus). This corresponds to an image with
a recorded dynamic range of 27580/12 = 2298, almost the same as the extrapolated
dynamic range from the 1/30 to 1/2000 second exposures.

Figure 5a. Jpeg image values plotted against 16-bit linear
image values shows the jpeg transfer function (the default contrast on the 10D).
Note that the jpeg saturates at about half the level of the
16-bit data. The 16-bit file has a greater than 1 stop increase in dynamic range before
data saturation compared to the jpeg image.

The jpeg image has less dynamic range recorded (the lows and highs are
clipped), and less signal to noise. While the low end of the
jpeg is close to linear, the Jpeg has only 50 integer levels while the
16-bit tif image has about 1880 integer levels over the same intensity
range, or about 37 times finer intensity detail. Toward the bright
end, the 16-bit tiff image has even more detail than the low end of
the jpeg image. For example, in the jpeg data from DN 337 to 247,
the 16-bit image goes from 22800 to 25200 or 2400 DN. Thus the 16-bit
tiff imge has 2400/10 = 240 times the intensity detail!

How Complex is this typical image?

The plots below show a traverse across the image to illustrate
the intensity variations. Two plots are shown, Figure 6a shows
scene intensity (on a 0 to 65535 DN scale) and the other in
relative photographic stops. This traverse shows over 10 stops
of intensity. The traverse is like having a spot meter measuring
2000 spots, each less than 2-arc-minutes in diameter. The full
image is like having a spot meter with over 6-million measurements
of the intensities in the image.

Figure 6a. A traverse across the image shows the complexity
from pixel to pixel.

Figure 6b. The same traverse as in Figure 6a, but converted
to relative photographic stops. This shows the scene has over
10 photographic stops of intensity range. If the traverse
went over the darkest portion of the image, it would show
another two stops lower, or over 12 stops of scene intensity!

Conclusions

Real scenes can have more than 10 stops of dynamic range. Nearby positions
in an image often have 4 to 8 stops of dynamic range (factors of 32 to 256).
I'm going to record raw files more often!

DN is "Data Number." That is the number in the file for each
pixel. I'm quoting the luminance level (although red, green
and blue are almost the same in the cases I cited).

16-bit signed integer: -32768 to +32767

16-bit unsigned integer: 0 to 65535

Photoshop uses signed integers, but the 16-bit tiff is
unsigned integer (correctly read by ImagesPlus).

Dynamic range is defined as maximum intensity / minimum intensity,
where intensity is scene radiance. For a sensor, like in a
digital camera, the minimum is usually limited by noise.
Thus the dynamic range that can be recorded by a sensor can
be smaller than actual scene dynamic range. In the test
case here, they are close to the same.