Skip to main content

Color management is supposed to life simpler. But in my experience, it’s more confusing the newer you are to it. So to save you the same headache and mistakes I went through, here’s all you need to know for color management for CGI/VFX productions.

  1. Color Management Intro:
    • Why does it exist?
    • What is it?
    • Do I need to use it?
  2. Different types of Color Management in DaVinci Resolve.
  3. Color-managed workflow for CGI/VFX. (ACES, and ACEScg)
    • Getting Footage into DaVinci Resolve
    • Plating Footage for CGI/VFX productions
    • Sending finished VFX work back to DaVinci Resolve

1. Color Management Intro

Why does it exist?

Digital imaging has limitations; period. We can’t, and probably will never be able to capture, and view all the visual information from the real world on a digital screen. So some form of data omission, compression, and processing is required when capturing, editing, and delivering images.

Each stage of digital imaging has a unique way of defining what kind of data is stored and processed. The space that defines this color data is a Color Space.

The most common image-capturing devices are cameras; they capture visual information from the world onto an image sensor and translate that data into an image. Depending on the camera, these images are stored in some sort of color space. We can break this down into two major categories, Standard Dynamic Range (SDR) and High Dynamic Range (HDR).

Standard Dynamic Range (SDR)

Rec709 and sRGB are the most common SDR colorspaces and are the standard for most consumer consumption because of their low requirements for storage and playback. An ideal choice for productions that do not require extensive post-production.

The difference between Rec709 and sRGB is just a small difference in gamma, to accommodate different viewing environments. (Rec709 for darker rooms like living rooms and bedrooms, and sRGB for brighter office spaces, etc.)

Most images and videos shot from consumer mobile phones would be in sRGB and Rec709 respectively.
High Dynamic Range (HDR)

Whilst many modern-day cameras typically record videos in SDR, their sensors are capable of recording more than what is visible within the Rec709 colorspace. Although many forms of deliveries do not require HDR viewing, there is a significant benefit to recording HDR data!

The exposure and color latitude afforded to post-production workflows enable the opportunity to present more information in shadows and highlights. Something commonly found in high-end cinematic/commercial productions.

Cameras employ two methods of recording HDR data for greater flexibility in post-production and output formats. — RAW and LOG recording.

RAW Recording

The most straightforward method for HDR capture is recording the RAW data from the sensor, into something like a digital film negative — a RAW file. This RAW file is not actually an image yet, requiring processing or debayering the RAW data into a final image.

These RAW files contain everything the camera’s sensor is capable of ‘seeing’ into an unprocessed file. Providing maximum flexibility to adjust the image settings on your computer later on. This is why RAW files whilst highly flexible, have very large file sizes and also require more processing power. Compared to storing and viewing SDR images like JPEGs or Rec709 movie files.

Most mirrorless and DSLR cameras can capture RAW photos, and software like Adobe Lightroom comes with Camera RAW Support that allows users to process RAW files.

When it comes to videos, however, RAW video recording is usually only found on higher-end cinema cameras. Most consumers don’t need that much data, and probably wouldn’t want to deal with that sort of storage requirements. (1 minute of RAW footage can consume up to 40GB or more!)

Whilst RAW is a great option for recording HDR images, its file size, compatibility, and performance requirements are sometimes overkill for some productions. So another option for HDR recording is commonly done by capturing the data in LOG.

LOG Recording

Some cameras have the option to record HDR images by squeezing the data into a Logarithmic Colorspace; commonly known as LOG Recording. This takes ‘extra’ information in the shadows and highlights, and squeezes them into a smaller ‘container’, through a logarithmic function. This is why images shot in LOG, appear to be flat and desaturated.

Panasonic V-Log Footage
Panasonic V-Log footage, with ‘V-Log to Rec709’ transform LUT applied.
Difference in Post-Production between data captured in HDR (Left) vs SDR (Right). Bright clouds can be recovered, presenting a more immersive and true-to-life image.

String and Box Analogy
Imagine the length of a piece of string represents the total amount of data the camera sensor can capture. And a small box represents the limitations of how much data per frame of a video file is allowed. If we are trying to fit this long piece of string into a little perimeter, we would need a very large container. Or, we bend the string!


Color science is complicated. Leave it to the scientists.
This ‘bending’ of color data employs mathematical formulas created by color scientists, hence the name ‘color science‘. Different camera manufacturers interpret images differently, and that is why there are different camera-brand color sciences, and functions for transforming (or delogging) their respective LOG footage! These are commonly known as conversion Lookup Tables (LUTs) or Color Transforms.

(Side note: when it comes to ‘bending’ data, image compression plays a big deal in how much bending can take place before data degradation occurs. This is why it is recommended that LOG videos be shot at a minimum of 10-bit, with chroma subsampling of 4:2:0 at the very least, and 4:4:4 being the best.)
See :Video compression formats explained.

So, what is color management?

When it comes to managing different types of images:

  • There are SDR images that are simple to review but lack dynamic range.
  • RAW images, that have loads of extra information but require processing.
  • And ‘flat’ LOG images, where we need some form of ‘transformation’ of the LOG images to unpack the extra information and view them in a proper ‘delogged’ normalized image that isn’t flat.

Whether you want to manage all of this manually or let the software handle it, color management is essentially how you choose to manage all the colorspaces of your images coming in, edited, and delivered for your production.

Do I need to use it?

Working with CGI and VFX, you’re always going to be in some form of color management. So it’s more of a question of whether you want to manually manhandle all your footage, or let the software do this for you auto-magic-ally.


Different types of Color Management in Resolve.

Before we look at the different types of color management in DaVinci Resolve, let’s have a quick overview of the different types of color spaces.

Source Colorspace
First, there is the Source Colorspace, or Input Colorspace. This is the Colorspace of the incoming images; ACEScg for CG renders, ARRI LogC3 for images from an ARRI Camera and so forth.

Working Colorspace
Then there is the Working Colorspace, or Timeline Colorspace. This is the space that you will be editing or working in with all your images. This can be a small like Rec709, or a much larger one that allows for better handling of exposure and color. Like DaVinci Wide Gamut Intermediate or ACES.
Analogy: The size of the table we are working on. Bigger table = more space = flexible working environment.

Output Colorspace
Finally, we have the Output Colorspace, which is the colorspace that your images will be viewed in. This would be Rec709 for regular video, sRGB for web and photos. Or something else depending on your final delivery requirements.

Now let’s explore the three different types of color management in Resolve.

Full-blown Manual Correction-based Color Management

Historically, before software-based color management was introduced, colorists would correct LOG images through a process called ‘color correction’. This involved ‘straightening’ the flat LOG image into something more normal-looking or normalized. This involved exposure correction, saturation restoration, and color balancing to taste. Because this is done by hand, it involves some guesswork, and also artistic compensation for ‘delogging’ LOG footage this way.

A huge amount of work is required to do this for every clip used in your video edit. Not to mention the amount of attention needed to keep the baseline of all images consistent.

Manual Color Management

One step out of ‘full-blown manual color correction’ would be manual color management. Where we use data provided by the camera manufacturers themselves, or other 3rd Party Technical LUTs to ‘de-log’ the respective LOG footage. (See: What is a LUT?)

Sample node tree for a manual color-managed workflow.
Exposure, ratio, and balance adjustments before the Technical Conversion Color Transform allow for more natural changes to the image. Adjustments after this take place in Rec709. A more limited space, but ‘traditionally’ comfortable for older screen-space-based workflows.

Compared to manually correcting LOG by hand, this is a much more efficient and consistent workflow. It takes all the guesswork out of ‘straightening’ the curve, as we are using the manufacturer’s technical LUTs or Color Transformation to perform the inverse function of the initial ‘bending’ of the original data.

Automatic (Software-based) Color Management

Finally, we have software-based color management. This is where we let the software handle the color transformations based on its available internal set of manufacturer’s color transformations.

Set the colorspace you want to work in, select the colorspace your incoming clips are shot in, and finally select the output colorspace you are viewing on/delivering to.

Setting up DavVinci’s timeline colorspace to ACEScct, output as Rec709, and Input as Panasonic V35.
Every clip coming in is automatically converted into ACES, and after all the adjustments, converted out to Rec709.

This does mean that you will not be able to make screen-space (Rec709) type of adjustments so easily compared to Manual Color management. However, it’s unlikely that we would need to suddenly choose to work in a smaller colorspace halfway.

As you can see, the software handles everything in between, providing a very consistent workflow from start to end. Saving time setting up corrections across multiple clips, and leaving no room for correction errors.


Color-managed workflow for CGI/VFX. (ACES, and ACEScg)

Modern CGI and VFX productions all work within the ACEScg colorspace, and it’s like this by default now. ACEScg has replaced the ‘Linear/sRGB’ working space which whilst was large enough for bight and dark values, the color information was severely lacking. ACES is a new standard that has helped to streamline film and VFX productions together.

So when it comes to dealing with CGI and VFX productions in DaVinci Resolve, we’re almost always going to be choosing to work in a color-managed workflow, with ACES as our timeline colorspace.

Since most of productions are delivered for Rec709, and our viewing monitors are also Rec709.
So a typical ACES setup in Davinci Resolve would be:

  • Color Management: ACEScct
  • Input Colorspace: ACEScg
  • Output Colorspace: Rec709

Getting Footage into Resolve

Unless your footage is all RAW, you’re going to have to know what colorspace your clips have been shot in. Once you’ve imported everything into their respective bins, select all the relevant clips and set their ‘Input ACES colorspace’ accordingly.

You can sometimes find this data in the metadata, or just drop the camera guy a text. Once you’ve set the correct Input Colorspace, Resolve will handle the transformations on its own.

Setting clips to Sony Slog3 SGamut3Cine for shots from a Sony A7IV
Same project, we can set clips from a different camera to their respective colorspace, Blackmagic Design Film Gen5. A software color managed workflow automatically converts all these different camera colorspaces into ACES, and back out to Rec709 (since that is what we set it to).

Pro tip: we recommend importing your clips and keeping them in their source directory structure so you don’t have a mixup of colorspaces in the same bin.

Plating Footage for CGI/VFX productions

VFX productions typically work with ‘plated footage’, which is an image sequence of each shot, where every frame is exported in ACEScg, we’ll look into exporting these plates as such.

Once you have the clip you need to export as a plate for your CGI/VFX production, you’ll want to export it as an OpenEXR file, in ACEScg. We use OpenEXR as it’s the only file container from Resolve that can encode the HDR data found in ACEScg without any compression. (We want to always avoid loss of data from compression within the production)

Because we’re letting the software color manage our workflow in Resolve, the only thing you need to do to export the plates it in this space is change the project output colorspace to ACEScg.

Simple change of project settings from Rec709 to ACEScg, allows us to quickly export our plate into ACEScg, ready for VFX work.

These are the export settings we use:

  • You can type “%project name” and or “%timeline index” so that each file will inherit the relevant project name and timeline index number for quick and easy file naming.
  • Add a period “.” at the end of the file name so that the frame number is separated.
  • Choose EXR as this is the only format that will encode ACEScg data properly
  • Save space or not, up to you, but we choose RGB half(piz) to save a little bit of storage.
  • Check “render at source resolution” so that your plate will be the same resolution as the source.
  • For the file saving tab render settings, you can copy the entire file name string into the “File Subfolder” so that each clip will have its image sequences in its own folder. Remove the “.” so that the folder name doesn’t have the separator.

Sending finished VFX work back to Resolve

Once you’ve finished your VFX work, you can choose how you want to deliver the VFX work back to
Resolve.

OpenEXR, ACEScg
You can send back an OpenEXR image sequence in ACEScg to keep the integrity of your quality, or in some cases, where OpenEXR sequences are too large and cumbersome, you can choose to export your work in a movie file, and you guessed it, in LOG.

MOV, LOG
Similar to how camera manufacturers circumvented the problem of encoding HDR images, we can do the same and encode our VFX work similarly. We use ProRes4444 for its production-friendly compatibility and excellent data integrity. ARRILogC3 is our choice of LOG as it is designed to hold a wide range of data and is also commonly available across most video production houses.


Wrapping it up

To wrap this up, color management is just a way of managing multiple colorspaces coming into a working colorspace, and transforming that into whatever is required for the final image. You can choose to do this manually or let the software handle it.

In my view, unless there is a specific need to manually get ‘in-between’ the management of the color transformations, letting the software handle the technical transformations, opens up the opportunity for us to make faster, and better creative decisions.

Which in this day of ‘Human vs AI’, is what creatives should be focusing on. — Using technological advancements as tools to expand how and what we create.


Perhaps after this article you might be interested to read up on why VFX work should not be done on graded footage! Read: Don’t do VFX work on Graded Footage

Or find out why we use ACES as our working color space. Read: Why work in ACES?

Nicholas Chia

Author Nicholas Chia

More posts by Nicholas Chia

Masonry Studios Pte. Ltd. | 81 Ubi Avenue 4 UB. One #03-21 Singapore 408830 | Company Registration No. 201618786D