next up previous contents
Next: Minimum Information Loss Methods Up: Non-Linear Scale-Factor Methods Previous: Model of Visual Adaptation

Visibility Matching Tone Reproduction Operator

The tone mapping operator described in this section has not been published yet. Actually, only a short sketch was published at SIGGRAPH '97, and the whole paper is available electronically from the RADIANCE WWW site [RADI97]. We decided to include this mapping in this work as it seems that this mapping will be widely spread in the future. It is based on Ferwerda's mapping, but adaptation level determination is improved. In contrast to all previous methods, that used only one adaptation level for the whole raw image, this mapping uses many adaptation levels, just as our visual system does.

The tone mapping process starts with computing a small image where each pixel corresponds to one visual degree. Actually only center pixels correspond to the 1 degree angle, but the error introduced in the border pixels is neglectable. The 1 degree area corresponds to the adaptation area of our visual system. This small image will be used to determine adaptation levels at each fixation point. Luminance is converted to brightness simply by taking the logarithmic values of luminances. Once the auxiliary image is generated, a logarithmic histogram is built.

A logarithmic histogram is built in the luminance range from the threshold of human vision tex2html_wrap_inline5231) or the minimum auxiliary image luminance, whichever is larger, to the maximum auxiliary image luminance.

The next step is histogram equalization. Actually this is not the next step in the fully implemented method, but this is the base of the whole algorithm, and therefore it is described first.

Histogram equalization is a well known technique from image processing. The cumulative frequency distribution P(b) is needed to equalize a histogram. P(b) is defined as:
 equation773
where T is the total number of histogram entries, and tex2html_wrap_inline5239 is the frequency count for the histogram bin at tex2html_wrap_inline5241. Later on, the derivative of the above function will be needed as well. The derivative is:
 equation778
where
displaymath5229
and N is the number of histogram bins, therefore tex2html_wrap_inline5245 corresponds to the size of each bin. Note that since the cumulative frequency distribution is a numerical integration of the interval, the derivative of the cumulative distribution is the histogram with an appropriate normalization factor.

A common histogram equalization (but here applied on the raw-image) would produce an image where all brightness values have equal probability. The equalization formula can be written as:
 equation788
where tex2html_wrap_inline5201 stands for display brightness, and B for the raw image brightness. The problem with this approach is that the dynamic range will be compressed in the regions where there are only a few samples, and it will be expanded in highly populated regions. This results in an unnatural appearance of the final image, and certainly can not be used as useful tone mapping operator.

Suppose that the 60% of pixels have luminnace lower than tex2html_wrap_inline5251. In this case, small original luminnce range (tex2html_wrap_inline5253) will use 60% of available display luminances. In order to prevent this unwanted effect, Larson et al. suggest limiting an allowed contrast in a particular region. Actually, although naive histogram equilasation will propose enlarging of the original contrast, it will not be allowed. At the beginning they used a linear ceiling, which can be written as:
 equation798
In this way the contrast can not exceed the contrast obtained by using a linear scaling operator. Note that tex2html_wrap_inline5255 is actually the slope of the mapping function tex2html_wrap_inline5257. Using this type of ceiling the slope of the mapping function can not exceed that of appropriate linear mapping. From the above equations it is easy to derive following inequality:
 equation806
where f(b) is the frequency count for the histogram bin b.

Using this inequality we can be sure that as long as no frequency count exceeds this ceiling, the resulting histogram will not exaggerate contrast. If some histogram bin is too populated, it is simply cut off and the ceiling procedure is repeated iteratively, until there are no more overpopulated histogram bins. This process is called histogram adjustment rather than histogram equalization by the authors.

Up to now, there were no human vision characteristics taken into account in this process. The authors say that if the raw image is not rendered in absolute units, a histogram adjustment, as just described, can be applied to the raw image. If absolute units are known, the method can be improved.

In the case of absolute unit raw image, the ceiling function is derived from the just noticeable difference functions (see section Human Vision). The just noticeable difference for adaptation level tex2html_wrap_inline4763 will be called tex2html_wrap_inline5263. To guarantee that the display representation does not exhibit contrast that is more noticeable than it would be in the actual scene, the slope of the operator is constrained to the ratio of the two adaptation thresholds for the display and actual scene. Note that this is the same principle introduced by Ward in his contrast based scale-factor [Ward94] and used by Ferwerda et al. in [FPSG96]. In contrast to the earlier approaches, where only one adaptation level was chosen, this constraint will be met at all potentional adaptation levels, making this operator more accurate. The new ceiling is then:
 equation815
After a similar derivation as with the linear ceiling a ceiling inequation for f(b) is defined as:
 equation822
Just as before, an iterative process leads to the solution. Applying this sort of ceiling function will produce images that reproduce original visibility on the final image. This operator is further improved by taking the veiling luminance into account (see section Human Vision).

The formulas described in the Human Vision section are used to incorporate veiling luminance. This is the computationally most expensive part of the algorithm, as the sum (integral in the original formulas) has to be computed over all samples for each fixation point using the following equation
 equation830
where tex2html_wrap_inline5267 is the veiling luminance for fixation point i, tex2html_wrap_inline5271 is original fixation luminance for fixation point j, and tex2html_wrap_inline5275 is the angle between sample i and j (in radians, that is why 0.087 stands at the begining of the eq. 5.18).

Once the veiling luminances tex2html_wrap_inline5267 are computed, the original luminances tex2html_wrap_inline4971 are replaced by tex2html_wrap_inline5283 using the formula derived from eq. 2.22:
 equation848
Visual acuity is taken into account, as well. The data used was the same used by Ferwerda et al., it is described in the human vision section. The dark image parts are blurred, as the human vision acuity drops with luminance. Ward et al. used the mip-maps approach well known from texture mapping to realize various acuities depending on the absolute luminance levels.

The visibility matching tone operator described in this section, tries to match the visibilities in the original scenes with the display visibilities. Various aspects of human vision were taken into account, and the produced images match the visibilities. On the other hand, the final images look a little bit unusual. Maybe that is because we are not used to images and photos that match the visibility in high range images. This means that if there is a scene with a window on a sunny day, the new operator will display the interior and exterior part, and will try to match the visibility in both parts. It may look unusual to us, as we are used to seeing either the interior or the exterior in such a case (although we can see both in real life).

If the analysis of visibility is crucial in a rendering process (e.g. simulation of emergency lighting) this operator should be used. On the other hand, in everyday use it can sometimes render unusual (that does not mean incorrect) images.


next up previous contents
Next: Minimum Information Loss Methods Up: Non-Linear Scale-Factor Methods Previous: Model of Visual Adaptation

matkovic@cg.tuwien.ac.at