|
One of the most impressive features of the human visual system is its ability to
interpret scenes exhibiting a large dynamic range (the intensity ratio
between the brightest and darkest points in an image). Thanks to the adaptation that
takes place in our eyes, we can scan a scene containing both bright light and dark
shadow and still discern the image details in both regions effortlessly. Reproducing this behavior has proven one of the more difficult challenges in photography and image display. Ultimately, the goal of both fields is to provide an observer with a (relatively) accurate representation of the desired image. Unfortunately, while advances in sensor and image fusion techniques have made it possible to accurately capture the full range of luminance data, display technologies have not evolved nearly as quickly. This leaves us with the following problem: how do we best represent an image whose dynamic range can often be as high as 25,000:1 on a display (generally, a CRT monitor) that is only capable of roughly 100:1? While there are a number of ways of attacking the problem, the techniques can all be grouped roughly into one of two groups: tone reproduction curves (TRCs) and tone reproduction operators (TROs) [DiCarlo,Wandell]. TRCs are pixel-wise functions that map input intensities from the high dynamic range image directly to output intensities in the range of the display. The low complexity of these algorithms makes them extremely fast, and the results are often better than you might expect from such a simple conversion. Unfortunately, because TRC algorithms operate only on individual pixels, they are all subject to the same limitation: the curves must be increasing and one-to-one. (Without this constraint, you risk ugly distortions of the intensity field; for example, you might reverse the gradient between two neighboring pixels, or unwittingly eliminate the details the algorithm is trying to highlight/preserve). This ultimately restricts the intensity values you can use in the bright and dark parts of the image, and makes it harder to highlight local detail. Tone reproduction operators are more complicated and take longer to execute, but are more powerful since they take local intensity information into account when converting an image. TROs work on the principle that the human visual system is more sensitive to local contrast ratios than it is to absolute intensity contrasts between relatively distant pixels. These algorithms therefore try to reduce large global differences much more aggressively than local differences. This is generally achieved by examining the image at various resolutions; local contrast ratios in lower resolution representations correspond to global contrast ratios in the original image, so these can be compressed more heavily. Unfortunately, operating on the image independently at various resolutions often introduces significant halo artifacts. The TRO I implemented for this assignment, introduced at last year's SIGGRAPH as "Gradient Domain High Dynamic Range Compression", cleverly avoids this distortion by analyzing the image gradients at several resolutions, but only operating on the image itself at full resolution. |