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 completely 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 brightit certainly doesn't need 75 brightness variations between them.
A proper way to encode light on film would quickly fill up the useable values with the most important 0.0 to 1.0 light and then leave space left over for the rest of the negative's range. Fortunately, the film negative itself with its logarithmic response behaves just this way.
Cineon files are often said to be stored in log color space. Actually it is the negative that uses a log response curve and the file is simply storing the negative's density at each pixel. In any case, the graph in Figure 11.8 describes how light exposes a negative and gets encoded into Cineon color values according to Kodak, creators of the format.
Figure 11.8. Kodak's Cineon log encoding is expressed as a logarithmic curve, with labels for the visible black and white points that correspond to 0 and 255 in normal 8-bit pixel values.
One strange feature in this graph is that black is mapped to code value 95 instead of 0. Not only does the Cineon file store whiter-than-white (overbright) values, it also has some blacker-than-black information. This is mirrored in the film lab when a negative is printed brighter than usual and the blacker-than-black information can reveal itself. Likewise, negatives can be printed darker and take advantage of overbright detail. The standard value mapped to monitor white is 685, and everything above is considered overbright.
Although the Kodak formulas are commonly used to transform log images for compositing, other methods are emerging. The idea of having light values below 0.0 is dubious at best, and many take issue with the idea that a single curve can describe all film stocks, cameras, and shooting environments. As a different approach, some visual effects facilities take care to photograph well-defined photographic charts and use the resultant film to build custom curves that differ subtly from the standard Kodak one.
Close-Up: All About Log
You may first have heard of logarithmic curves in high school physics class, if you ever learned about the decay of radioactive isotopes.
If a radioactive material has a half-life of one year, half of it will have decayed after that time. The next year, half of what remains will decay, leaving a quarter, and so on. To calculate how much time has elapsed based on how much material remains, a logarithmic function is used.
Light, another type of radiation, has a similar effect on film. At the molecular level, light causes silver halide crystals to react. If film exposed for some short period of time causes half the crystals to react, repeating the exposure will cause half of the remaining to react, and so on. This is how film gets its response curve and the ability to capture even very bright light sources. No amount of exposure can be expected to affect every single crystal.
As much as Cineon log is a great way to encode light captured by film, it should not be used for compositing or other image transformations. This point is so important that it just has to be emphasized again:
Encoding color spaces are not compositing color spaces.
To illustrate this point, imagine you had a black pixel with Cineon value 95 next to an extremely bright pixel with Cineon's highest code value, 1023. If these two pixels were blended together (say, if the image was being blurred), the result would be 559, which is somewhere around middle gray (0.37 to be precise). But when you consider that the extremely bright pixel has a relative brightness of 13.5, that black pixel should only have been able to bring it down to 6.75, which is still overbright white! Log space's extra emphasis on darker values causes standard image processing operations to give them extra weight, leading to an overall unpleasant and inaccurate darkening of the image. So, final warning: If you're working with a log source, don't do image processing in log space!
Video Gamma Space