skip to main content

Photographic colors that exceed the very small sRGB color gamut

Even today the occasional photographer or software developer will claim that all photographically important colors fit within the sRGB color gamut. Contrary to this quaint and thoroughly outdated point of view, commonly encountered photographic colors do exceed the very small sRGB color gamut.

Written April 2014. Updated June 2014.

Introduction: sRGB vs raw file camera input profiles

This article examines target chart shots and also shots of colorful natural objects to see whether and to what extent photographic colors exceed the very small sRGB color gamut.

The target charts and colorful natural objects shown below were shot raw, interpolated with all image enhancing algorithms disabled, and then converted to 32-bit floating point unbounded sRGB. In a normal "bounded" ICC profile conversion, out of gamut colors are clipped to 0.0 or 1.0 in one or more RGB channels. Unbounded ICC profile conversions allow otherwise out of gamut RGB channel values to go less than 0.0 or greater than 1.0.

High bit depth GIMP 2.9 from git was used for all unbounded ICC profile conversions and also to produce the screenshots shown below.

Which colors are driven out of gamut after converting to sRGB?

The older model, entry-level DSLR Canon 400D

My own digital camera is the older model, entry-level Canon 400D. I applied my ArgyllCMS-made (simple linear gamma matrix) camera input profile to an interpolated Wolf IT8 Target shot and then converted the target shot to 32-bit floating point unbounded sRGB. In Figure 1 below, the color patches with dots in the middle exceeded the sRGB color gamut, being negative in one channel:

IT8 target chart shot
The IT8 Target color patches with dots in the middle are out of gamut after being converted to the sRGB color space:
  • A red dot means the color patch is negative in the red channel. The more saturated green, cyan, and cyan blue patches are negative in the red channel.
  • A blue dot means the color patch is negative in the blue channel. The more saturated yellow and orange patches are negative in the blue channel.
  • Saturated reds do go negative in the green channel. However, none of the IT8 red color patches are saturated enough to be negative in the green channel.

Real world colors that photographers might choose to photograph can easily be more saturated than the colors that appear on an IT8 chart. The dots on the chart represent only a fraction of photographic colors that exceed the sRGB color gamut.

The newer model, high-end Nikon D800

The objection can be made that my old Canon 400D camera and/or my custom camera input profile are somehow atypical. The Nikon D800 is an impressive camera. Its DXOMark sensor rating is 95, a score that as of April 2014 is exceeded only by its cousin the D800E, which has a sensor rating of 96.

The excellent camera review site Imaging Resource (Dave's Camera Reviews) provides Multi-Target raw files for the Nikon D800. I interpolated the Imaging Resource Nikon D800 100 ISO Multi-Target raw file, using Darktable and the "standard" (not enhanced) camera input profile. All image enhancements were disabled.

I did not ask permission to post screenshots, so of course I won't. However, the GIMP color picker shows that as interpolated by the standard D800 input profile, the following MacBeth ColorChecker SG Target color patches are out of gamut with respect to the very small sRGB color gamut (the color patches in the Table are listed in order by the color locations on a standard color wheel):

Nikon D800 Multi-Test "MacBeth ColorChecker SG Target" colors that are outside the sRGB color gamut:
Chart location Color Wheel location Descriptive color name Negative channel
4-C cyan-blue dark turquoise red
4-E cyan-blue electric blue red
4-J cyan-blue cyan red
5-B cyan-blue sky blue red
6-C cyan-blue dark turquoise blue red
8-C cyan-blue turquoise blue red
8-B cyan-green light turquoise green red
9-D cyan-green medium sea green red
7-L yellow-green lime green blue
7-M yellow-green yellow green blue
8-M yellow-green lime green blue
9-L yellow-green lime green blue
4-H yellow yellow blue
6-M yellow yellow blue
3-J orange yellow orange blue
3-E orange orange blue
6-L orange orange blue
4-G red cranberry red green

Again, real world colors that appear in front of a photographer's camera can easily exceed the most saturated colors on the MacBeth ColorChecker SG Target.

Summary: colors that are out of gamut with respect to the very small sRGB color gamut

In the sRGB color space:

  1. Saturated yellow greens, yellows, and oranges are negative in the blue channel.
  2. Saturated cyans, cyan greens, and cyan blues are negative in the red channel.
  3. Saturated reds are negative in the green channel.
  4. In my limited photographic experience, I rarely encounter any true blues and violet blues that exceed the sRGB color space (I photographed a deep blue glass that had some dark violet blues that exceeded the sRGB and also the ProPhotoRGB color gamut). However, saturated blues that heads toward cyan rather than violet very quickly exceed the sRGB color gamut.
  5. Magenta is not an especially common color out there in the real world. Printable saturated magenta seems to be well within the sRGB color gamut.

Colors that have been captured by digital cameras and then interpreted by camera input profiles, can easily be far more saturated than the colors that are printed on an IT8 Target or a MacBeth ColorChecker SG Target.

Target charts are one thing. What about actual images?

Target charts are one thing. Photographically captured real world colors are another. None of the target chart colors had RGB channel values that exceeded 1.0. However, photographs of subjects out there in the world can very easily have channel data that is less than 1.0 in the source (camera input) color space, but greater than 1.0 in the sRGB color space.

The images below show channel data before and after a selection of naturally saturated (no post-interpolation image enhancements were performed) interpolated camera raw files, before and after conversion from the camera input profile to sRGB:

Sample images with saturated colors

Sample images: crayons, lettuce and tomatos, dandelion, green leaf, red flowers, magenta flowers
Screenshot of sample images from interpolated camera raw files. Left: Custom RGB color space; Right: sRGB.

The screenshot makes the colors in the two images look almost exactly the same. But as we'll see below, the conversion to unbounded sRGB caused a radical rearrangement of channel data, driving many colors out of gamut in one or more of the red, green, and blue channels.

Camera input profile vs sRGB Red, Green, and Blue channel data

Color information is composed of channel data. In the digital darkroom, channel data can also be used as blending layers, for making channel-based selections, and for black and white conversions.

The screenshots below compare channel data for the camera input profile color space and sRGB. For the sample array of images, converting to sRGB drove 1.5% of the red channel, 13% of the green channel, and 23% of the blue channel to values that are either less than 0.0 or greater than 1.0. In other words, converting the interpolated camera raw files to sRGB means much potentially useful channel data is no longer available.

In the screenshots below, the out-of-sRGB-gamut areas in the red, green, and blue channels are circled in, respectively, red, green, and blue.

Red channel:

Sample images red channel data
Red channel data. Left: Camera input profile color space; Right: sRGB.

Comparing the two Red channels, the sRGB Red channel on the right is noticeably brighter (blown out, in fact) in the orange crayons, portions of the red flower petals, and the brightest petals in the yellow dandelion:

  • Left histogram: The entire array of images is within gamut with respect to the Custom RGB color space.
  • Right histogram: After conversion to sRGB, 25851 pixels (1.5%) have Red channel values above 1.0, and hence are out of gamut with respect to the very small sRGB color gamut.

Green channel:

Sample images green channel data
Green channel data. Left: Camera input profile color space; Right: sRGB.

Comparing the two Green channels, the sRGB Green channel on the right is noticeably darker (in fact the channel values are below zero) over the entire petal region of the red flowers and much of the magenta flowers.

  • Left histogram: The entire array of image is within gamut with respect to the camera input profile color space.
  • Right histogram: After conversion to sRGB, 229317 pixels (13%) have Green channel values below 0.0, and hence are out of gamut with respect to the very small sRGB color gamut.

Blue channel:

Sample images blue channel data
Blue channel data. Left: Camera input profile color space; Right: sRGB.

Comparing the two Blue channels, the sRGB Blue channel on the right is noticeably darker (in fact the channel values are below zero) over the yellow and lime-green crayons, a considerable portion of the picture of the lettuce and tomatoes, all of the yellow dandelion petals, and the entire green leaf.

  • Left histogram: The entire array of images is within gamut with respect to the camera input profile color space.
  • Right histogram: After conversion to sRGB, 406551 pixels (23%) have Blue channel values below 0.0, and hence are out of gamut with respect to the very small sRGB color gamut.

To summarize, converting the image to sRGB drove 1.5% of the red channel, 13% of the green channel, and 23% of the blue channel to values that are either less than 0.0 or greater than 1.0. These out of gamut channel values represent channel data that you, the photographer, no longer have available to you for use while editing if you convert such colorful images from your camera input profile or other larger RGB color space to the very small sRGB color space.

Conclusion: Commonly encountered photographic colors do exceed the sRGB color gamut

Contrary to any quaintly outdated opinions to the contrary, when shooting raw it's very easy to capture photographic colors that exceed the very small sRGB color gamut.

Stepping back to gain a wider perspective, RGB color spaces by their very nature are device-oriented color spaces. The sRGB color space is based on the light-emitting phosphors used in consumer grade monitors from the 1990s. Digital cameras capture color data when lightwaves stimulate charge-collecting sensels. The two technologies have nothing in common, and neither do the respective device-based profiles:

sRGB and Canon 400D camera input profile color gamuts shown in CIELAB.
Canon 400D custom camera input profile vs the sRGB color gamut. The camera input profile and sRGB color gamuts are shown inside the CIELAB reference color space. The camera input profile color gamut is the white wire frame. The sRGB color gamut is indicated by the multicolored blob.

The sRGB color gamut is completely enveloped and engulfed by the camera input profile's color gamut. However, the disparity in size is not as bad as the wire frames make it look. All sRGB colors are real colors. A considerable portion of the camera input profile color gamut contains entirely imaginary colors. Nonetheless, camera input profiles do capture much larger percentages of real colors than can be contained within the sRGB color gamut.