i
i
i
i
i
i
i
i
610 23. Tone Reproduction
following two functional forms:
L
d
(x, y)=
L
v
(x, y)
f(x, y)
, (23.2)
L
d
(x, y)=
L
v
(x, y)
L
v
(x, y)+f
n
(x, y)
. (23.3)
In these equations, f(x, y) may either be a constant or a function which varies per
pixel. In the former case, we have a global operator, whereas a spatially varying
function f(x, y) results in a local operator. The exponent n is usually a constant
which is fixed for a particular operator.
Equation (23.2) divides each pixel’s luminance by a value derived from either
the full image or a local neighborhood. Equation (23.3) has an S-shaped curve on
a log-linear plot and is called a sigmoid for that reason. This functional form fits
data obtained from measuring the electrical response of photoreceptors to flashes
of light in various species. In the following sections, we discuss both functional
forms.
23.8 Division
Each pixel may be divided by a constant to bring the high dynamic range image
within a displayable range. Such a division essentially constitutes linear scaling,
as shown in Figure 23.3. While Figure 23.3 shows ad-hoc linear scaling, this
approach may be refined by employing psychophysical data to derive the scaling
constant f(x, y)=k in Equation (23.2) (G. J. Ward, 1994; Ferwerda et al., 1996).
Alternatively, several approaches exist that compute a spatially varying di-
visor. In each of these cases, f(x, y) is a blurred version of the image, i.e.,
f(x, y)=L
blur
v
(x, y). The blur is achieved by convolving the image with a
Gaussian filter (Chiu et al., 1993; Rahman et al., 1996). In addition, the computa-
tion of f(x, y) by blurring the image may be combined with a shift in white point
for the purpose of color appearance modeling (Fairchild & Johnson, 2002; G. M.
Johnson & Fairchild, 2003; Fairchild & Johnson, 2004).
The size and the weight of the Gaussian filter has a profound impact on the
resulting displayable image. The Gaussian filter has the effect of selecting a
weighted local average. Tone reproduction is then a matter of dividing each pixel
by its associated weighted local average. If the size of the filter kernel is chosen
too small, then haloing artifacts will occur (Figure 23.20 (left)). Haloing is a com-
mon problem with local operators and is particularly evident when tone mapping
relies on division.