Color Space Animations

The ostensible purpose of a high dynamic range image format is to cover a greater range than can normally be displayed, both in terms of contrast and in terms of color. This poses a challenge when we wish to demonstrate this range using conventional media. On this page, we attempt to show the gamuts (i.e., ranges) of each of our candidate HDR color spaces. Since 3-D visualization of these gamuts is difficult, we have chosen to display each color space via a sequence of isoluminance slices, where we keep the luminance/brightness the same across each slice. By moving through all the representable luminances for a particular format, we are able to show how the color gamut is affected throughout its range.




The basic slice looks like the image shown above, which some may recognize as the CIE (u’,v’) color diagram. The triangular region in the center shows the displayable gamut in the standard sRGB monitor space. The region between this triangle and the gray surround contains the colors within the visible gamut but outside the displayable gamut. This area is shown because we wish to indicate what portions of the visible gamut may be represented in these color spaces, though we cannot show them in their true colors due to limitations of conventional image formats and displays. The gray background area is outside the range of visible colors, though it may still be included by some of the formats we show here.




To show the gamut of a given format, we take slices through the representable luminance range, indicating what part of the gamut is visible by darkening the rest. An example of this is shown in the still capture above. This capture is taken from the scRGB-nl color space animation, linked below. The text caption on the lower right indicates the luminance value corresponding to this slice, 100.0921875, or 1.24. The value is given as a log since the slices are taken at equal logarithmic steps. As we can see in this image, the representable gamut at this luminance covers part (but not all) of the sRGB gamut, misses good portions of the visible gamut, and steps outside the range of what is visible to include imaginary (supersaturated) colors off the top of the diagram.


The degree of color gamut contraction is a function of luminance and the encoding. Ideally, the entire visible gamut would be covered over the entire range, but in most RGB encodings the color space comes to a point at the maximum white, thus the color range is more limited near the maximum. If there is sufficient dynamic range in the format, this may not matter, but for HDR formats that cover only a few orders of magnitude, it means that bright, saturated colors may not be represented. Also, a color encoding that spends a lot of its values on imaginary colors is wasteful, since these colors will never be needed in any real image.


For the TIFF LogLuv encodings, the diagram is static over the entire range, since the color is encoded independently of the luminance channel. The first image we showed at the beginning of this page is what the 32-bit LogLuv gamut looks like over its range, from a minimum luminance of 10-20 to its maximum of 1019. The image below shows the gamut coverage of the 24-bit LogLuv encoding over its full range from 0.00025 to 15.9. The ragged edge shows how the indexing scheme just covers the visible gamut with no wasted codes on imaginary colors.



Click on the links below to see the animations of the represented gamut for each encoding. The sRGB gamut is shown for comparison purposes, only.


24-bit/pixel sRGB from 0.025 to 1.0

We see how quickly the color gamut collapses near the top end. Saturated colors in this space are necessarily dark, especially in the blues and purples.


48-bit/pixel OpenEXR from 0.00016 to 65,000

This color space has ample gamut over a wide range, collapsing only at the very top end.


48-bit/pixel scRGB from 0.0023 to 7.5

This color space, despite its allocation of 48 bits, collapses rather quickly.


36-bit/pixel scRGB-nl from 0.0039 to 6.2

Like the 48-bit version, this space also collapses quickly, but at least it only uses 36 bits.


36-bit/pixel scYCC-nl from 0.0039 to 6.2

This color space has better saturation at the top end than its RGB counterparts, but it also has the odd behavior we mentioned where the brightest representable values are not white.


Back to main document.