Film, HDR, and 32 Bit Compositing
That medium is film.
Cineon Log Space
A film negative gets its name because areas exposed to light ultimately become dark and opaque, and areas
unexposed are made transparent during developing. Light makes dark. Hence, negative.
Dark is a relative term here. A white piece of paper makes a nice dark splotch on the negative, but a lightbulb
darkens the film even more, and a photograph of the sun causes the negative to turn out darker still. By not com-
pletely exposing to even bright lights, the negative is able to capture the differences between bright highlights
and really bright highlights. Film, the original image capture medium, has always been high dynamic range.
If you were to graph the increase in film “density” as increasing amounts of light expose it, you’d get something
like Figure 11.7. In math, this is referred to as a logarithmic curve. I’ll get back to this in a moment.
Figure 11.7. Graphing the darkening of film as increasing amounts of light expose it
results in a logarithmic curve.
Because all the computer film work is essentially the processing of Cineon files and then sending a new set back
to the client to be printed on film, some further examination of the Cineon log color space and its properties
will serve you well.
I’ll tell you now that if a monitor’s maximum brightness is considered to be 1.0, the brightest value film can
represent is officially considered by Kodak to be 13.53 (although using the more efficient ICC color conversion,
outlined later in the chapter, reveals brightness values above 70). Note this only applies to a film negative that
is exposed by light in the world as opposed to a film positive, which is limited by the brightness of a projector
bulb and is therefore not really considered high dynamic range. A Telecine captures the entire range of each
frame and stores the frames as a sequence of 10-bit Cineon files. Those extra two bits mean that Cineon pixel
values can range from 0 to 1023 instead of the 0 to 255 in 8-bit files.
Having four times as many values to work with in a Cineon file helps, but considering you have 13.53 times
the range to record, care must be taken in encoding those values. The most obvious way to store all that light
would simply be to evenly squeeze 0.0 to 13.53 into the 0 to 1023 range. The problem with this solution is that
it would only leave 75 code values for the all-important 0.0 to 1.0 range, the same as allocated to the range
10.0 to 11.0, which you are far less interested in representing with much accuracy. Your eye can barely tell the
difference between two highlights that bright—it certainly doesn’t need 75 brightness variations between them.