Understanding Tone Mapping


Today’s Question: On December 22nd you discussed issues with saving a 32-bit image. In that reply, you mentioned tone mapping. I hadn’t heard of that. Could you discuss that a bit more?

Tim’s Quick Answer: Tone mapping is a process of translating the pixel data from a high dynamic range (HDR) image to a “normal” range of tonal values. In many cases tone mapping is an automatic part of the process of assembling an HDR image, but it can also be performed as a separate step.

More Detail: Creating a high dynamic range (HDR) image involves capturing a set of bracketed exposures that cover a wider range of tonal values than could be captured in a single photo. Those bracketed exposures can then be assembled into an HDR image. Tone mapping is the process of translating the HDR image to the tonal range of a normal image at a lower bit depth again.

You can think of a “normal” photograph as having a potential tonal range that extends from black to white. When you captured a bracketed set of exposures for an HDR image, the cumulative captures represent a greater tonal range than the black to white that is possible with a normal image.

Let’s imagine a hypothetical scenario where you have captured images for an HDR that represent triple the tonal range of a normal photo. For simplicity let’s pretend that this range is represented by three photos, even though it would take more photos (with overlap in tonal range for each) to cover such a range.

In this hypothetical example we can think of the middle exposure as representing a somewhat normal range from black to white. The darker exposure covers a range that we can think of as being something like going from “double black” to black, since it is darker than the normal exposure. The bright exposure can be thought of as going from white to “double white”.

This is obviously a theoretical example just to illustrate the concept. The point is that with the photos in this hypothetical example we have captured the equivalent of a tonal range that goes from twice as dark as what can be represented in a normal photo to twice as bright. That’s where tone mapping comes in.

After processing the bracketed exposures at a very high bit depth that enables a wider range of tonal values, we generally need to convert that image to a normal range of tonal values so we can use our familiar tools to further refine the appearance of the image.

Tone mapping involves the process of taking a very wide range of tonal values and mapping them to the range of a normal photo, in the process attempting to retain maximum detail and image quality.

Again, in many cases the tone mapping is simply part of the process of assembling an HDR image, while with some software there may be two steps involved. But the overall concept is the same when it comes to mapping the tonal range of a 32-bit per channel image, for example, to the range available with a 16-bit (or 8-bit) per channel image.