A Digital Camera Does Not Have A Color Gamut

Color gamut is a popular concept in digital color management, and is frequently mentioned in discussions about the selection of a color space (e.g., sRGB or ProPhoto RGB) or the compression of colors in a color-managed workflow. Color gamut volume and color gamut boundary colors are the two aspects of a color gamut that get the most attention, and both provide useful information.

Unfortunately, the concept of a color gamut has been applied to color imaging devices that do not actually have a color gamut. Only devices, or systems, that render color have a color gamut. To quote Dr. Roy S. Berns from RIT in the book Billmeyer and Saltzman’s Principles of Color Technology, “Color gamut: Range of colors produced by a coloration system.” To be a little clearer about this, the concept of a color gamut applies to systems that produce color (e.g., color printer, color television, color monitor, or color projector).

The concept of a color gamut is not relevant to systems, or devices, that measure color. In the context of digital color imaging, a color measurement device is exposed to colored light and delivers a set of digital values to represent that colored light. The obvious examples are colorimeters and spectrophotometers, which are used in scientific color measurement work. Digital color cameras and scanners are also color measurement devices. These devices do not render or produce color, they measure color. Therefore, none of them have a color gamut.

We can characterize a color measurement device, with some constraints on the exposure conditions, and use that characterization in an ICC profile for that device (e.g., an ICC profile for a digital color camera or a color film scanner). But that characterization is not the same as a color gamut. The characterization may look a lot like a color gamut in a software tool that displays color gamuts and device characterizations, and that may be the reason why people think the concept of a color gamut is relevant for digital color cameras.

Another contributing factor to the confusion is the option on a digital color camera to choose an RGB color space (e.g., sRGB, Adobe RGB (1998), or ProPhoto RGB) for the encoding of a photograph within the digital color camera. These RGB color spaces are convenient color spaces that simplify color management of a digital photograph downstream from the digital camera. Encoding a digital photograph in one of these RGB color spaces will constrain the digital photograph to the gamut of the color space (Yes, each of these RGB color spaces has a color gamut that is constrained by the colorimetric values of the red, green, and blue primaries of the color space). It will also tie the digital photograph to the white point of the color space and establish the digital resolution within the color space (e.g., 8-bits per channel or 16-bits per channel). But the selected RGB color space is not the color gamut of the digital camera. If this distinction is not obvious after you have read the entire blog post, please leave a comment and I will go into more detail.

I recognize that it is easier to understand color management when we can see the color gamut of each device displayed in the same color space. Unfortunately, we cannot display the color gamut of a digital color camera in CIELAB space, or the CIE xy chromaticity space, for comparison with the color gamut of a color monitor or a color printer because the digital color camera does not have a color gamut. I am sympathetic with the desire to give a digital color camera a color gamut in order to facilitate a comparison to color rendering devices. The good news is that we have a simple solution: device characterization with a common colorimetric color space (e.g., CIELAB).

In the practical application of a color management system, the characterization of a color-imaging device is the information that enables color management. This is true for any color rendering device and any color measurement device in the digital color workflow. The data within an ICC profile are based on characterization data, not the limits of a color gamut. The information taken from an ICC profile and rendered by software tools to visualize the color volume and boundaries of the color-imaging device is based on the characterization data. We should keep this in mind when someone incorrectly talks about the color gamut for a digital camera. We know that a digital color camera does not have a color gamut, but we can talk about the characterization of a digital camera, or the selection of a standard RGB color space within the camera, and frame the discussion in that context.

Post written by Parker Plaisted

References:
R. S. Berns, Billmeyer and Saltzman’s Principles of Color Technology, 3rd Edition, John Wiley & Sons, New York, N.Y. (2000).

International Color Consortium, ICC Profile Format Specification. (http://www.color.org)

Imaging FAQ on the RIT CIS Munsell Color Science Laboratory (MCSL) Website https://www.rit.edu/cos/colorscience/rc_faq_faq3.php#255

Comparison of Adobe RGB and sRGB Colors

Two of the most commonly used ICC profiles for RGB images are Adobe RGB (1998) and sRGB IEC61966-2.1. The Adobe RGB (1998) color space has a larger color gamut than the sRGB IEC61966-2.1 color space, but you may be surprised to see that they share many similarities.

In order to compare the two color spaces, I will use the CIE and ICC data that define the color spaces:

  1. Gamma value
  2. White point
  3. Red primary CIE chromaticity coordinates
  4. Green primary CIE chromaticity coordinates
  5. Blue primary CIE chromaticity coordinates

Adobe RGB and sRGB attribute values

As you can see in the table, Adobe RGB (1998) and sRGB IEC61966-2.1 share the same values for four of the five attributes. The only difference is the set of CIE chromaticity coordinates for the green primary.

Now let me show you two versions of a sample image. For the first image, the sRGB IEC61966-2.1 ICC profile was assigned to the image in Adobe Photoshop. For the second image, the Adobe RGB (1998) ICC profile was assigned to the image in Adobe Photoshop. (Note: To make sure you see a difference between the two images, I converted the second image from Adobe RGB (1998) to sRGB IEC61966-2.1 so that both images are coded to the same color space. Yes, I could have coded both of them in the Adobe RGB (1998) color space to make sure no colors got clipped. Feel free to repeat this experiment in a color-managed display environment to see the color differences.)

sRGB IEC61966-2.1 ICC Profile
food image sRGB

Adobe RGB (1998) ICC Profile
food image Adobe RGB

As you can see, the colors in the image with the sRGB IEC61966-2.1 ICC profile are significantly different from the colors in the image with the Adobe RGB (1998) ICC profile.

Based on the data comparison above, I would have expected the reds and blues to be similar in both images, and I would have expected the greens to be very different. However, the greens and blues have small shifts in color, and the reds and oranges have large shifts in color. Here is another set of images that demonstrates the color differences.

sRGB IEC61966-2.1 ICC Profile
park slide image sRGB

Adobe RGB (1998) ICC Profile
park slide image Adobe RGB

Why do we see these large color differences in the reds and oranges when the only difference in the two color spaces is the set of CIE chromaticity coordinates for the green primary? The answer can be found in the CIE XYZ tristimulus values for the red, green, and blue primaries.

sRGB IEC61966-2.1 CIE XYZ Tristimulus Values
sRGB CIE XYZ tristimulus values

Adobe RGB (1998) CIE XYZ Tristimulus Values
Adobe RGB CIE XYZ tristimulus values

The two color spaces share the same CIE chromaticity coordinates for the red and blue primaries, and share the same D65 white point and 2.2 gamma value, but the two sets of CIE XYZ tristimulus values are completely different.

To fully understand the differences when the images are viewed with proper color management, we have to look at the 3×3 matrix in the ICC profile. As I described in an earlier post, a chromatic adaptation transform must be applied to the CIE XYZ tristimulus values to force the 3×3 matrix to deliver the D50 white point that is required in the specification for ICC profiles. For the Adobe RGB (1998) and sRGB IEC61966-2.1 ICC profiles, the Bradford transform and proper von Kries scaling were used to move the white point from D65 to D50. The CIE XYZ tristimulus values in the 3×3 matrices are shown below.

sRGB IEC61966-2.1 ICC Profile 3×3 Matrix
sRGB ICC 3x3 matrix values

Adobe RGB (1998) ICC Profile 3×3 Matrix
Adobe RGB ICC 3x3 matrix values

The CIE XYZ tristimulus values in these two 3×3 matrices help explain the color shifts seen in the two sets of example images. Further analysis can be done with these two matrices to compare the CIELAB values associated with a given set of RGB pixel values.

The point of this post is to alert people to be careful when comparing color spaces in color managed workflows. It is convenient to compare RGB color spaces based on the CIE chromaticity coordinates of the primaries, but it is difficult to predict the color differences in color-managed images from a comparison of CIE chromaticity coordinates of the primaries.

Post written by Parker Plaisted

References:
International Color Consortium, ICC Profile Format Specification, http://www.color.org

M. Fairchild, Color Appearance Models, Addison-Wesley, Reading, Massachusetts (1998).

Bruce Lindbloom Website, RGB Working Space Information page, http://www.brucelindbloom.com