An In-Depth Look at ASC-CDL Based Color Controls

7 min read
An In-Depth Look at ASC-CDL Based Color Controls

The ASC-CDL specification is one of the few widely supported formats for look exchange between color correction systems. The specification of ASC-CDL was finished in its current form in 2009 by Josh Pines and David Reisner as part of their work for the Digital Intermediate Subcommittee of the ASC Technology Committee. ASC-CDL is intended for the interchanging of basic, primary color correction metadata in order to “help share and maintain the cinematographers look through the production process” (from the ASC-CDL README file).

In this article, we would like to highlight how Livegrade Pro’s and Livegrade Studio’s implementation of this standard impacts your work. We’ll revisit the details about the parameters and filter formula specified by ASC-CDL, discuss the different interaction types in the software, and show an example for setting up the color grading in multiple nodes.

Slope, Offset, Power (SOP)

The ASC-CDL standard defines the filter formula and its parameters that can be applied to code values of each of the three RGB color channels of an image:

  • Slope multiplies the code values with a factor.
  • Offset applies an offset (adds or subtracts) to all code values.
  • Power is the power function of the results.
An In-Depth Look at ASC-CDL Based Color Controls

Result curves in Livegrade Pro and Livegrade Studio of applying the ASC-CDL formula

One additional filter and parameter is specified that influences all three color channels at once:

  • Saturation saturates / desaturates the colors (with color components weighted with values from the Rec.709 matrix).

The formula for ASC-CDL is defined per color channel as

out = ((in * slope) + offset) ^ power

where (in * slope) + offset) needs to be clamped to positive values before applying the exponent.

Although the parameters for these filters are just ten values (S, O, and P for each of the three color channels, plus saturation), they represent a pretty powerful arsenal of controls for modifying the look of the image. In fact, it’s so simple and yet powerful that it has been adopted in more or less all color correction systems for film and video.

New Control Options for ASC-CDL in Livegrade Pro and Livegrade Studio

When using these parameters in combination, you can achieve a wide range of helpful image changes, e.g. for balancing the image or giving it a creative grade such as brightness and contrast, rising or crushing blacks and highlights, and tinting the image in different colors. But using the parameters slope, offset, and power directly can result in iterative adjustments of multiple controls in order to reach a certain visual goal. 

Think about the very common task of adjusting the black level of an image. The offset parameters can be used to lower and raise the black level, but at the same time, the entire code value range is moved up or down – which results in changed highlight clipping levels as well.

So you can use the slope parameters to counter correct the changed highlights clipping level – which, in turn, changes the black level again a bit. Consequently, you need to either interact with both (offset and slope) controls at the same time, or repeat the adjustments of both to get closer to the desired result.

Livegrade Pro and Livegrade Studio v5 add new control options to interact with the ”ASC-CDL filter”. The interaction types are

  • CDL: SOP-based color wheels
  • SPL: Simplified color controls
  • LGG: Lift, gamma, gain-based color wheels (Livegrade Studio only)
  • PRT: Printer lights (Livegrade Studio only)

All these control types interact with the same underlying set of SOP values. However, the controls of the different interaction types change these values in different combinations.

Simplified Grade Controls

The simplified grade controls allow basic changes of image appearance with just one control each.

The contrast control of the simplified grade controls is steepening the curve by lowering the black clipping level and increasing the white clipping level simultaneously.

An In-Depth Look at ASC-CDL Based Color Controls

Adjusting contrast steepens the curve

The stretch control is making the curve steeper in darker or brighter areas. The Warmer / Greener controls are tinting the image while leaving the whitepoint the same.

An In-Depth Look at ASC-CDL Based Color Controls

Adjusting the warmer control

Lift, Gamma, Gain

The lift, gamma, gain (LGG)-based color wheels have their origin in video-style grading tools and work slightly different than SOP-based color wheels. Please note that the behavior of “lift, gamma, gain” is not specified in a standard or specification but is a convention used similarly in different implementations.

When comparing the left color wheel of SOP-based and LGG-based controls, the lift control (from LGG) leaves the white clipping point and just changes the black clipping level, while the offset (from SOP) changes all code values in the same way.

Also, the right color wheel behaves differently. When the black level is not exactly at zero, a change of slope (from SOP) will also change the black clipping level, while the gain (from LGG) leaves the black level at the same point.

An In-Depth Look at ASC-CDL Based Color Controls

Adjusting offset (SOP) and lift (LGG) in comparison

Printer Lights

The printer lights controls have their origin in the interaction with a Telecine during digitizing film. The printer lights control the amount of red, green, and blue light shining through the film before it hits the sensor. This balance influences the image with an overall color cast. Typical for printer lights are the buttons for adjusting the lights for each channel in steps (“points”).

An In-Depth Look at ASC-CDL Based Color Controls

Adjusting printer lights in Livegrade Studio

The printer lights can be implemented with an offset in the log image (e.g., in Cineon, LogC, and others): The offset in log represents changes of gain in linear, which is the same as changing exposure. A rule of thumb in times of scanned film was that in a 10-bit Cineon image (e.g., of 1024 code values), an offset of 90 code values is the equivalent of stopping up or down by one stop.

Using Multiple CDL Nodes in Livegrade Pro and Livegrade Studio

Interacting with the SOP values of ASC-CDL can be a combined effort with multiple purposes. In Livegrade Pro and Livegrade Studio you can choose and switch between the interaction types that are best suited for the job.

Here are a few examples:

  • Adjusting overall contrast: SPL (contrast) interaction type
  • Adjusting black levels: LGG (lift master control) interaction type
  • Fine-tuning contrast in the highlights or blacks: SPL (stretch), CDL (power), LGG (gamma)
  • Tinting the overall image: SPL (warmer, greener), PRT (printer lights), CDL (offset wheel)
  • Fine-tuning tint in mid-tones, highlights, or blacks: CDL (offset, power, slope wheels), LGG (lift, gamma, gain wheels)

Working with the interaction types of the same node, you will experience that the controls influence each other (as they all operate on the same ASC-CDL parameters). For example, if you increase the contrast in SPL interaction type and then switch to CDL and modify the offset master control, you will see that this at the same time changed the value of the contrast control. 

An In-Depth Look at ASC-CDL Based Color Controls

Using SPL and CDL interaction types in two CDL nodes in Livegrade for different purposes (combined into one CDL)

In the example above, you would use the CDL node with SPL interaction type for adjusting overall contrast and the CDL node with LGG interaction for adjusting color in highlights and blacks.

The parameters of the multiple CDL nodes are combined into one set of CDL parameters, so even using multiple CDL nodes (with or without different interaction types) still maintains compatibility with workflows where sharing one set of CDL parameters is the interface between color correction systems.

Try it Out

With the 10 days free trial version of Livegrade Studio, you can experiment with all these interaction types yourself. Livegrade Studio can import still images, or import still frames from QuickTime movies, so if you have material at hand, you can even try the interaction types without using live signals and LUT boxes at hand.

These are the steps to import a still frame into Livegrade Studio:

  • Drag an image file (e.g., a TIFF file in Log-C or a ProRes Quicktime file) to Livegrade Studio’s icon in the macOS Dock.
  • The imported still will show up as a new entry in the shot library with a thumbnail of your imported frame.
  • Make sure Slot A is selected, and a CDL compatible grading mode is selected in the header bar of the grade controls (e.g., “CDL and LUT“ or “CDL Advanced“). 
  • Select the imported shot in the shot table and choose “Set shot as image for current slot“ in the “Library“ menu.
  • The image viewer window opens with your imported frame, and changing the grade controls will change the  image’s appearance.

Please see the knowledge base article Color Controls and Grading Modes for more information about using the color controls in Livegrade Pro and Livegrade Studio.

The State-of-the-Art Digital Imaging System

Test Livegrade Studio with our free 10 day trial!

About the Author
Patrick is head of products for Pomfort’s on-set applications. He combines a technical background in software engineering with practical experience in digital film productions – and a preference for things that actually work.