One of the first steps down the ever fascinating rabbit hole known as “color science,” involves widening your understanding of how different color data is stored in a 3d space. Known as color spaces, these “containers” all have different purposes, advantages, and qualities to them that will enhance your work as a colorist.
Learning to use different color spaces as tools for image manipulation can widen your creative opportunities as a colorist. Try to think of it like using different interments as a musician. You can create something sonically interesting with a guitar. Layering that guitar with drums, a keyboard, or other methods of sound manipulation, and you’re faced with a wider array of creative possibilities.
As with different instruments, each color space can have specific characteristics and qualities. They behave in differing ways and have their own unique feel when working in them. One color space may be able to perform a specific task in an entirely different manner than another one.
Experimenting With Different Color Spaces
As a musician may experiment or play with a variety of instruments, searching for the right sounds or textures to use in their work, colorists can in a sense do the same with color spaces.
Begin experimenting with different color spaces as if they are instruments. What unique qualities can they add to your image? How can they help harmonize with your other tools and adjustments in a way that they couldn’t do on their own?
The LAB color space, also known as CIELAB, attempts to recreate the full gamut of human vision and will be the focus of this article. It manages color data with a different approach than other spaces that use RGB or CMYK color models. Instead of representing color data as a combination of red, green, and blue values, LAB looks at Lightness, A, and B channels to make up color data.
What is the CIE LAB Color Space?
The CIELAB color space, also known as the LAB color space, specifies colors along three separate scales – Lightness (L), Red – Green (A), and Yellow – Blue (B). Designed to be an approximation of how the human eye sees, the CIELAB color space has a variety of uses for a colorist.
CIELAB is entirely device-independent and doesn’t relate to any display or hardware. It is a model for color measurement defined by the International Commission on Illumination (ICC), and was designed to be a “perceptually uniform space.” Based off the CIE Standard Observer function – CIELAB was derived from an array of experiments and data sets to capture the full gamut of human vision.
LAB Color Space vs RGB Color Space
To gain a better understanding of the LAB space, let’s first look at how your monitor works – which works with an RGB color model.
When you are looking at the below image on your screen – what are you seeing? And if you wanted to manipulate the blue backdrop, what would you do?
When you look at an image on your screen, you are looking at millions of pixels. These pixels are made up of tiny subpixels, each showing different levels of red, green, or blue. These subpixels and pixels come together to show what your eyes perceive as a color and a cohesive image.
So what if we want to manipulate a color on the screen? Let’s take the blue sky in the image, and shift it with a simple hue vs hue adjustment. What is actually happening here?
In the context of the usual RGB color space, you’re simply changing the levels of red, green, and blue the pixels in the backdrop are putting out.
Need that blue to be more cyan? Increase the output of the green diode, and bingo – the image you are looking at now looks more cyan.
The LAB color space on the other hand, instead of passing along Red, Green, and Blue values, represents colors in Luminance, A, and B values. Of course, to your computer screen expecting RGB values the image looks all sorts of wrong.
But with some simple math we are able to move in and out of this space with ease, making changes and manipulations during the time our image is passing through this space.
This means that instead of changing those R, G or B values, we can now change entirely different values to achieve a entirely different manipulations – all to better serve our final image.
What Does LAB Stand For
What is the L*A*B* color space, and what does LAB stand for? The CIE LAB color space represents it’s data as Lightness (L), Red to Green (A), and Yellow to Blue (B).
L: Lightness – The lightness channel represents lightness on a scale from 0 to 100 – with the white point at 100, and black point at 0. L* has perceptual uniformity across it’s scale, and moves in simple steps or increments that closely represent the human perception of brightness. Similar in fashion to L in HSL, or V in HSV
A: Red to Green – The A* channel represents an axis from red to green. While the model itself is unbounded, Davinci Resolve (and most other programs) cap these axes at 127 and -127. In the A* channel, positive numbers represent movement towards red, while negative numbers move towards green.
B: Yellow to Blue – Similar to the A* channel, the B* channel is an axis representing movements from yellow to blue. Again, the B* axis is unbounded in the CIELAB model, but Resolve and other programs cap B parameters at 127 and -127. In the B* channel, positive values move towards yellow, while negative values move towards blue colors.
Why Should You Use The LAB Color Space
Since your computer screen doesn’t show an image in a LAB context, what’s the point of the color space? Well – we can control our image with an entirely different set of data manipulations. And at the end of the day it’s as simple as that.
Just as there are instances where you may want to separate red, green, and blue channels, the LAB space has it’s own variety of tools for image manipulation hidden within each channel.
First and foremost, the LAB space gives you an axis as a specific representation of luminance. This is not something you can get in most other color spaces. In an RGB color model, an adjustment of luminance or chroma are inherently tied together, as the combination of R, G, and B combine to make up luminance.
In the context of a LAB space, manipulating only your L channel lets you adjust the Luminance data in an image independent of the chromaticity coordinates along the A channel (red axis) or B channel (yellow axis).
Having colors represented on unique A and B axes also comes with some interesting possibilities. While it ultimately is just a different way to manipulate colors in an image, it still comes with it’s unique feel. Similar to how the textures and tones of a guitar differ from a piano. Sure, you can play the same notes, but the texture, meaning, and feel can all vary.
Practical Use Cases
Below I’ve taken note of some ways I’m leveraging the LAB color space in my own color grading workflow.
The most simple example of use cases for the CIELAB space, is using the luminance channel to sharpen your image. This is probably one of the simplest applications, but comes with a unique benefit.
By transforming an image from RGB to a LAB color model, you now have access to an isolated luminance channel. Conveniently that’s the channel you want to sharpen. By sharpening only the luminance channel, you avoid sharpening any chroma data which results in a cleaner sharpening effect.
Check out more on LAB Sharpening on this article here: https://www.digitalfieldguide.com/faqs/selective-lab-sharpening
While I’ve only been playing around with look development in the LAB space, I’m also not the first one to do so. So throughout this I’ll likely link off to those who have paved the way for my own learning.
When balancing or otherwise manipulating the overall scheme of an image, one may turn to the RGB mixer tool within Davinci Resolve. Using this same tool to mix the LAB color channels can result in a different feel and variety of changes for your image. I’ll use this from time to time – either on it’s own or in conjunction with the RGB mixer.
Another method for look development within this color space is with Benoit Cote’s Jacob’s Ladder Powergrade. (Provided for free I believe by Benoit through the link above, found on an article via Demysify-Color).
This node tree can be a bit intimidating at first, but once you know what’s going on it’s relatively simple to grasp. Ultimately – this node tree let’s you cross each of the three values in any given color space with each other. Plus, it helps understand the relationship between channels, and what adjustments are possible.
#### Jacobs Ladder Tree Breakdown
- L vs L: effectively a lum vs lum curve. Just a different way to dial in contrast or make a gamma adjustment in this instance.
- L vs A: Lightness vs A (Red to Green). Can be used to shift certain sections of the image along the A channel. You can think of this as adding red (or subtracting red IE adding green) to the shadows, highlights, etc.
- L vs B: lightness vs B (yellow to blue). Similar to LvsA. But on yellow vs blue.
- A vs L: adjusting Luminance values along the A axis. So increasing lightness in regions of the image with more red (or green) values.
- A vs A: moving any regions along the A axis along the axis, in either direction. Pushing the “midtones” up, would result in pushing less saturated pixels towards the upper end of the A axis and add red to them.
- A vs B: similar to a vs a but along the B axis. Meaning increasing the upper end of the axis would take the yellows in the image, and add more red to them.
- B vs L: similar to A vs L but instead of red vs green, you’re looking at yellow v blue.
- B vs A: moving a axis more towards yellow or blue. Low end moves green towards yellow, top end mores red towards yellow
- B vs B: moving b axis along itself. Top end moves yellows more yellow.
### Isolating, Qualifying, and Manipulating Specific Colors
Caution: this is probably the least efficient of the use cases.
I don’t know if I’d recommend really using this as a regular tool, or even at all. That being said, I did use it in a music video recently to experiment with the LAB space so I figure I’ll mention it. But keep in mind that you could likely get a similar (or better) result with a qualifier.
In Phantom’s “Hands Inside” music video, I wanted to have the environment around Phantom drain away. Having all color fall away until only the blue backdrop was left. Since I was playing with the LAB color space around the time, I turned to it as a potential solution.
I started by creating a monochromatic look, and effectively layering a selective something or other of color on top of it. In order to select this specified color, I turned to the A channel in the LAB space.
Once in LAB, I used the A channel to create a mask on a solid color. This solid color acts almost like a gradient map in Photoshop, and is looking for the color difference along the A axis. Where colors that are “more blue” get more of the color, and colors that are “less blue” on the A axis get less of the solid color.
Once this was set up, I effectively adjusted my contrast to better aim at the color I was hoping to qualify. Once locked in, I could adjust the hue, saturation, and levels of the selected color. The more “blue” the color was along my selected axis, the more it was affected by my adjustments.
Was it worth it? I’m not totally sure. It does work though…
Conclusion: LAB Use Cases
I hope if you’re still here at this point in the blog, you’ve gotten some useful knowledge about the CIELAB Color space. Go experiment with it and see what you can make.