Learn how color information is defined, modelled and encoded for video. Find out exactly what a color space is, and what it means for your videos.
A video color space is a standard that defines the color gamut, white point, and color component transfer function (often referred to using a confusing and unhelpful but common term “gamma”) for color encoding in a video system. These standards are decided and set by various groups such as SMPTE and ITU. The standards exist because video capture, recording, delivery and display technologies are limited in their ability to encode, decode and display color. As video technology has evolved and improved, from analog black and white video, to color, and on to digital video, these limits have expanded ever closer to the ultimate limit, which is the full range of human color perception. With different generations of video technology, new standards have been set.
What’s more important than the standards themselves, is to understand how color information is modeled, encoded, and how it relates to our physiological experience of color, and radiometric energies of light. These fundamental concepts help to answer the question of what a color space actually means for anyone creating anything that will be displayed on any kind of display.
If you’re looking to dive a lot deeper than the overview I’m presenting in this article, I highly recommend you head over to the hitchhikers guide to digital color, written by Troy Sobotka. I am grateful to Troy for helping me figure out how to simplify and communicate these concepts, in a way that I hope, you can understand.
Color in Three Dimensions
The CIE defines a color space as a:
The three dimensions we are concerned with for the purposes of this discussion are Red, Green and Blue, of the RGB color encoding model.
Defining a color space, as mentioned in my opening paragraph requires:
- A set of three individual color primaries with defined chromaticities. This defines the gamut or color volume of the color space.
- A defined chromaticity representing the white point (where R=G=B).
- A color component transfer function that relates the encoded value to real-world linear light value.
A Color Model vs a Color Space
Color information can be modeled in different ways. RGB is a color encoding model, not a color encoding space.
A color encoding model is simply a method of encoding color information. It has no intrinsic reference to our physiological sense of color, or radiometric energy levels of light. It’s just a container. It’s a method to encode values that suit a particular purpose.
A color encoding space defines actual values as they relate to our physiological experience of color, and real world radiometric light energy. It also relates these values to a specific capture or display technology.
A mathematical model that outlines a method for encoding three dimensions of color information is useless without a means to relate encoded values to actual colors that we see. So what do I mean by “actual colors”?
What we sense and experience as color is a physiological visual response to a mix of different wavelengths of visible light at certain energy levels. The relationship between our perception of color, and physics has been mapped out by the International Commission on Illumination (CIE) in 1931.
The CIE 1931 color spaces are the first defined quantitative links between distributions of wavelengths in the electromagnetic visible spectrum, and physiologically perceived colors in human color vision. – Wikipedia
Maybe you have seen this before. The CIE 1931 xy chromaticity diagram plots a map of perceived color against physical wavelengths of light, arranged around the outside of the diagram (called the spectral locus). There are in fact three axes, the Y axis (not the same as the y in the x and y shown) represents a luminance value, so this common diagram is a two dimensional representation of chromaticity only.
Any pair of x and y chromaticity coordinates define an absolute chromaticity, and if you add a Y value, you can define an exact chromaticity plus luminance.
You can think of the CIE 1931 color space as a master map upon which every other color space relates back to. It ties encoded values, and all the math to absolute visible wavelengths of light.
As long as you know the three RGB primary chromaticities, white point, and transfer function for a given color space, you can relate otherwise meaningless encoded values to actual meaningful chromaticity and light energy.
As a side note, the colors you see in the diagram are just a graphic representation, not actual values.
Defining a Color Gamut
The gamut of a color space is the volume of color that can be defined within the limits of that color space. It is the chromaticity values of the RGB primaries that define these limits, and the gamut of the color space.
You’ll often see the gamut of any given color space as a triangle outline overlaid onto the CIE 1931 chromaticity diagram. The three points of the triangle represent the RGB primaries, and the space inside the triangle is the gamut.
Any color values inside the triangle are considered in gamut for that color space. Any values outside the triangle are considered out of gamut, and can’t be encoded using that color space.
Whenever I ask the question, what is white? I am usually greeted with a blank expression. It’s easy to think of white simply as an encoded value of R=G=B, or 255, 255, 255, but without a reference back to an absolute chromaticity, R=G=B doesn’t actually mean anything.
Just as a color space requires absolute chromaticity coordinates of individual RGB primaries, it also requires defining the absolute chromaticity of the white point.
You’ll often see the white point for a color space stated as a CCT (correlated color temperature) value in degrees Kelvin. You can notice this in fig. 2 and fig. 3 given as “D65”. This defines a white point of 6500K, but the white point will always have a xy chromaticity coordinate.
Color Component Transfer Function
A transfer function is simply a mathematical relationship that defines how encoded intensity or luminance values relate to real light energy at the input or output of a capture or display device.
It’s most often, but incorrectly referred to as “gamma”. Whenever you hear anyone use the term “gamma” (including me, because I still do this) in the context of a color space, or a display, or camera system, they are talking about a transfer function.