UNDERSTANDING COLOR SPACES
When beginning to work in film and post production, understanding what a color space is and why it’s important is one of the trickier topics to get your head around. After all, we see, edit and watch in color all the time and unless you have some knowledge of color as it relates to film and video, it’s tough to understand what more there is to know. So then, what is a color space and why do we need it?
Why do we need color spaces?
The human eye is quite an amazing thing and its ability to see a large spectrum of colours is quite exceptional. In 1931 the International Commission on Illumination (CIE) mapped out human vision and created what is known as the CIE 1931 chromaticity diagram. It maps out all the color values that human vision can see to x and y coordinates.
Despite human ingenuity, we are still a long way from creating electronic displays that can reproduce all the colors that our eyes are capable of seeing. Inevitably, that leads to a problem – namely, if different manufacturers are creating devices that are all only capable of displaying a portion of the colors we can see in the CIE diagram to the right, which colors are those and how do we ensure that everyone sees the same portion of colors that we intend for them to see when creating content? Color spaces are the answer.
Color spaces are typically graphed in reference to the CIE 1931 Color diagram and provide a standard reference point that manufactures can aim for. The idea here is that even if we aren’t capable of creating displays that can encompass the entirety of human vision, if we create a more limited standard to aim for, that should result in a consistent experience across different displays. Colors will look the same regardless of the screen it’s being viewed on if a device is calibrated to the correct color space (or at least that’s the theory). So what color spaces are there and where are they used?
The sRGB color space is one of the most frequently used color spaces. In fact, if a color profile isn’t embedded in an image, it's often presumed to be sRGB. It was created in 1996 by Microsoft and HP to be used on computers, printers and the internet. It’s most likely to be the color space your monitor is using right now while you’re reading this article. So how is the sRGB color space measured and defined? As previously mentioned, color spaces are defined in reference to the CIE 1931 Color Diagram. We are given the maximum Red, Green and Blue values possible, and these together define how large the color space is.
In the diagram to the right you can see the area of human vision as given by the CIE 1931 diagram. Then inside that, we have a triangle that covers the sRGB color space. Each corner of that triangle is what is called a primary – that is the maximum red, green or blue value permitted within that color space. Primaries are pivotal in defining the area of human vision covered by a color space. Primaries are located at predefined fixed points on the CIE 1931 diagram.
So for example the red primary in the sRGB color space maps to x= 0.640, y=0.330. You can check that with the image above and see that it lines up. Plotting all three primaries then gives you the permitted color values within a color space.
In the real world this means that if a manufacturer wants to create a display that accurately shows the sRGB color space, they need to ensure that they design it to accurately display the 3 primaries and map out the rest of the color space in between those primaries accurately too. You may be surprised to learn that even though the sRGB standard is quite old, very few manufacturers take the time to do this and finding a monitor with accurate 100% sRGB coverage can be quite a difficult task.
The white point is also an element of a color space. This is the point that is to be regarded as true white in that color space. For sRGB, that white space is called D65. This is a common white point for color spaces designed for electronic screens. D65 is given the name because it is similar in temperature to 6500 kelvin. However since Kelvin is a single axis measurement, it doesn’t allow us to be very precise in exactly where that white point is. Put simply, Kelvin roughly describes whether something tends to push toward yellow or blue, but doesn’t specify if it pushes toward green or magenta on another axis. As a result, xy coordinates are given that allow us to accurately plot where D65 is on the CIE 1931 Diagram. In the case of D65, the white point is located where x = 0.31271 and y = 0.32902 meet.
SMPTE-C (Supersedes Rec.601 + NTSC)
SMPTE-C is generally regarded as the color space to aim for when delivering standard definition content in the US and most countries where NTSC had previously been deployed. It was pragmatically created in response to TV manufacturers not closly following the NTSC standards which created a rift between mastered content and what was likely being viewed by consumers. It maintains the same D65 white point.
EBU Tech. 3213-E (Supersedes PAL)
Commonly just referred to as “EBU”, this color space superseded the PAL standard in most countries where PAL was previously in use. In practical application it is very similar to PAL in regard to its primary chromaticities (ie, it's Red Green and Blue primaries)
Rec.709 is the current standard color space for HDTV work. It shares the same primaries and white point as sRGB but generally is regarded as having a different gamma or transfer function. This means that it has exactly the same limit on the variety of colors that can potentially be displayed, but the way its luminance is mapped differs from sRGB. It also maintains the same D65 whitepoint as sRGB.
When writing this article (early 2018), P3 is the color space that many display manufacturers are now targeting and many are beginning to come close to achieving full coverage. Apple has begun using P3 capable displays in their computers, tablets and phones and we have groups such as the UHD Alliance that specify a minimum of 90% P3 coverage as one component in a TV receiving a "UHD Premium" badge.
Even though many manufacturers struggle to deliver an accurate Rec.709 or sRGB image (and will continue to struggle to deliver an accurate P3 image), that hasn't stopped display technology from evolving so that we are now able to reproduce an this wider array of colors. The P3 color space has been used for quite a long time in digital cinema and has a 25% larger color gamut than sRGB or Rec.709.
P3 D65 uses the D65 white point in line with TV color spaces that have come before it.
P3 Theatrical has the exact same primaries as P3 D65 and has been used in digital cinema since its standards were ratified. The key difference between the two is the white point which looks a little greener. In practice, the white value used is completely up to those involved on the project. Because a cinema is a darkened environment, the eye will quite quickly adjust to whatever white point is decided upon by the creative team. In this instance the white point is more of a reference for the way the encoding works than a rule forcing a particular perceptive color choice upon an audience watching a film.
The Rec.2020 color space can reproduce a wider range of colors than any of the other spaces we have previously looked at. In fact it comes close to maximizing the amount possible colors that can be seen by humans when using only 3 primaries (Red, Green and Blue). Or in other words, the triangle in the diagram is almost as large as it possibly can be (without extending beyond the limits of colors visible to humans).
Rec.2020 covers over twice as much of the visible spectrum when compared to sRGB or Rec.709 and as things currently stand, no consumer or professional display exists that can accurately display the entire gamut available. Displays that have Rec.2020 support can typically only display a portion of of the gamut (commonly advertised as a percentage of total coverage). Today, the only technology cable of reproducing all the colors available in the gamut is lasers.
As a result of it’s large gamut, Rec.2020 is a supported color space in the UltraHD Bluray spec and will likely serve as the largest color space available to creative film and media professionals for the foreseeable future.
What about ACES? (Academy Color Encoding System)
The Academy Color Encoding system, or ACES really deserves an article unto itself and isn’t a color space for viewing content in. Rather, it’s designed as an entire color encoding system that helps manage color on professional productions all the way from shooting through to post production and archival. You will never see a display that has an “ACES” color mode. ACES color values are always converted using an Output Device Transform (ODT) to bring values back into a color space designed for human viewing such as Rec.709, P3, Rec.2020 etc.
For a good overview of ACES, take a look Bennet Cain’s 10 minute intro here: http://shootdatapost.com/blog/2014/5/16/aces-in-10-minutes
Color spaces in practice
One of the more confusing elements when learning about color theory is trying to get a hold of how the theory translates into practical application. Simple questions such as “how do I know what color space a piece of media is in?” or, “how do I know what color space I’m editiing in?“ can be very confusing when starting out.
RGB encoded values have no effect on displayed color gamut
Speaking on a personal level, the one area I struggled to get a hold of was how different colorspaces are recorded. I had wrongly assumed that colors were somehow magically recorded and transmitted in a different way when working in a different color space. But this is incorrect, colors aren’t recorded or transmitted in a different way, they are displayed in a different way. Let’s break this down a little more to make the point clearly.
Let’s say we’re creating a film or TV show for HDTV or Blu-ray use. The color space we should be working in is more than likely Rec.709. In that case we should have a display connected to our computer system that can accurately display a Rec.709 signal and we would use this monitor to make our color decisions.
Once we have a color grade locked off, what makes that resulting file a Rec.709 delivery? The real reason it’s a Rec.709 deliverable is because the colour decisions have been made on a monitor that is displaying a Rec.709 signal, it’s got nothing do with the RGB values that are recorded in your file, it could just a easily be a P3 video or Rec.2020 to an unknowing observer unless you take care to ensure that the intended color space is interpreted correctly down the chain.
If your video file’s color space is incorrectly interpreted, then the colors will look different than you intended. For example here’s a simulated example of what a Rec.709 graded image might look like when incorrectly interpreted as P3 D65 or Rec.2020.
RGB data correctly mapped to
RGB data incorrectly mapped to
RGB data incorrectly mapped to
Why is this happening? Well simply because the Rec.709 primaries are now being stretched out to fill out a larger color gamut and that results in saturation/intensity of all the color channels being increased. The Red Primary specified in the Rec.709 grade originally corresponded to x = 0.640, y = 0.330, but if that same file is interpreted as Rec.2020 by a display, then it will instead map that Red Primary all the way out to x = 0.708, y = 0.292 and the resulting image is more saturated/intense than was originally intended.
So while the RGB data is recorded in the same way between all file types, it’s the color space that informs the display how to interpret and map out that RGB data. This also means that the interface used (ie, HDMI, DVI, SDI etc) is not a limiting factor in what color space can be transmitted. Interfaces don't transmit color spaces, they transmit RGB (or YUV) data that is then interpreted by the display.
So how do you know what color space a piece of media is in?
As there's nothing special about the RGB data that makes a piece of media a particular color space, the only way to know is to ask, clarify or take an educated guess. While sometimes you might find media that will embed the color space profile into the metadata of the file, this can't always be trusted. If the grading monitor used was calibrated to Rec.709, and the content was signed off on that monitor, then Rec.709 is the color space that should be used to correctly interpret and display the colors elsewhere. Accordingly mistakes can easily be made interpreting colors, hence why it’s important to clarify this information when exchanging video files.
As mentioned in the overview of the color spaces present in this article, it is sometimes possible to have an educated guess at the color space used. A piece of content on Blu-ray should be Rec.709, a feature film in a theatre should be interpreted as P3 Theatrical etc. The point here though is that wherever possible, the color space should be identified explicitly since there's nothing inherent to the RGB data that makes it one space or another.
What color space am I editing in?
As you might have guessed by now, the colorspace your display is set to is the color space you are editing in. You modify RGB data with software, and you interpret this RGB data with a monitor set to the desired color space.
This is an important point - let’s say you’re doing a color grade in Davinici Resolve and have the project setup to be P3 D65; if you have a display connected to that that is actually set up as Rec.709 then you aren’t create a P3 D65 grade at all. Sure, you’re metadata might say that it’s a P3 D65 grade, but that would be mislabelled as your colors will only look correct when interpreted/viewed as Rec.709. If you were to interpret your colors as P3 D65, you will end up in similar situation as presented earlier where all your colors are more saturated than intended.
This is all of course presuming that you don’t have your software package set up do any color management for you. If you do (and as Resolve can do when set up correctly), software packages can transform your RGB data so that when interpreted by a different color space they still map out to the the intended colors.
In simpler terms, if you were to create a Rec.709 grade, this grade could be moved into a Rec.2020 container without shifting the displayed colors by using software to perform the transformation in RGB data.
Tying it all together
As we've seen, color spaces play a critical role in enabling consistent colors across a variety of mediums. For creative professionals in post production they are an essential part of ensuring that your color choices represent what an audience should end up viewing. In some sense this seems like a futile exercise since display manufactures appear to place more importance on what helps sell screens in a showroom rather than the accuracy of the colors their display produces. While one may be tempted to give up on color management as a result, throwing away predefined standards will only exacerbate the problem. When standards are in place one can accurately work out where responsibility lies when things go wrong. If no standards are used in post production, then every delivery medium is the wild west. You really have no idea what your image should look like when it's viewed by a wider audience.
As a result, I'm firmly of the belief that the best way to deal with inaccurate displays is to double down on ensuring that correct standards are implemented during post production and by placing pressure on display manufacturers to accurately calibrate their displays.
This means that if color accuracy is important in any way to your work, you need to have your head around color spaces and have the correct gear and processes in place in your facility. Ultimately it's the only way to ensure that what you're seeing on your screen is an accurate representation for how it should look for your audience.