Notch Notch Manual 1.0
 Light | Dark
Colour Management

Colour Management

This page is under heavy construction and is likely to be incomplete or inaccurate.

Introduction #

Colour management is a key part of modern content workflows. Notch supports Wide Colour Gamut (WCG), High Dynamic Range (HDR) and ACES workflows.

Concepts #

If you’re new to Colour Management, it’s important to understand the two foundations:

  • Colour / Chromacity Handling : How colours are addressed; colour gamut, colour primares, wide colour gamut
  • Luminance Handling : How brightness / light level is handled; HDR, gamma curves, linear

Let’s unpack the core concepts of these two foundations.

Colour #

Colour Gamut The human eye can see a much larger range of colours than digital devices have historically been capable of reproducing. The Colour Gamut is the range of colours that can be digitially reproduced. These gamuts have been standardised into a set of Colour Spaces. It’s worth reading up on Colour Gamuts and their relationship to the CIE model.

See the below CIE diagrams to see how different colour spaces/gamuts cover different amounts of the colour range the human eye can see.
Colour Space Colour Spaces are the standardisation of Colour Gamuts. Technically, they specify the colour/chromatic primaries, which are the reference points for Red, Green and Blue channels within the CIE model - and therefore the range of colours that the gamut can produce. You’ll recognise their names: Rec.709, sRGB, and more.
Wide Colour Gamut For a long time, software and displays have been capable of displaying a fairly narrow colour gamut called sRGB. Wide Colour Gamut are gamuts that can display beyond sRGB colours - examples of Colour Spaces that support wide gamuts are ACEScg, Rec.2020, DCI-P3.
Colour Spaces do NOT specify the luminance encoding or the bit depth of the data. It’s purely about colour references.
Myndex, CC BY-SA 4.0, via Wikimedia Commons

Various Colour Spaces laid over the CIE 1931xy Range

Myndex, CC BY-SA 4.0, via Wikimedia Commons

Pixar in a Box has a great little short course on Colour Science, including their chapter on Introduction to Gamuts below.

Luminance #

Nits The physical unit of luminance / light intensity. Some examples:
  • Moonlight: 0.1 nits
  • Living Room Lighting: ~40-60 nits
  • Office Lighting: ~300-500 nits
  • Overcast Day: ~1,000 nits
  • Standard TV or Computer Screen: Ranges from 200 to 500 nits for most standard isplays.
  • HDR (High Dynamic Range) TVs: Can go above 1,000 nits, with some models reaching up to 1,500 nits or more
  • High-end Professional Reference Monitors: Used in colour grading and high-end video production, can range from 1,000 to 4,000 nits
  • Direct Sunlight: ~100,000 to 130,000 nits
Dyanamic Range The range of luminance values that an image can contain. From the darkest black point to the peak white point.
Standard Dynamic Range (SDR) The traditional imaging standard of peak white point being 100 nits of light intensity.
High Dynamic Range (HDR) This is a heavily misused term (due to consumer TV product names like HDR10 & HDR10+ etc.), but it strictly means the ability to represent light at much higher intenstities (e.g. 1,000 or 10,000nits). In practical terms it means the ability to represent light levels beyond Standard Dynamic Range (100nits).

When in a compositing / VFX pipeline, HDR and WCG are both critical for matching rendered content with shot footage and providing creative flexibility in grading.

Luminance Encoding #

The human eye perceives light in a non-linear way; we’re more sensitive to changes in darker tones than in lighter ones. This means it’s better to have greater granularity/data in the darker tones. This is especially important when you have limited amount of data steps - i.e. 8bit (255 values). For this reason, engineers used mathematic curves to map digital values to light/nit values.

Curves There are range of ‘curve’ methods, to remap light values to data values. The most common ‘curve’ method as used in ‘SDR’ workflows is Gamma which is geared towards displays. Most computer graphics on the web use a Gamma Curve of 2.2. However, there are other curve methods, such as Log (used in cameras), Hybrid Log-Gamma and Perceptual Quantizer curves.
Linear Luminance and pixel values are directly proportional. This means that a change in a pixel value results in a proportional change in brightness. Linear workflows are the basis of compositing and graphics rendering workflows as they allow for accurate light behaviour simulation, correct colour blending, post-processing and more.

Data Storage Concepts #

All our image & video data needs to be stored on disk.

Bit Depth The number of data bits that are assigned to each pixel. The greater the number of bits, the greater accuracy/detail.
ICC Profiles An ICC profile holds Colour Gamut and Luminance Encoding metadata.

Notch’s Working Colour Space & Luminance Encoding #

When setting up a project, you’ll select a Working Colour Space for rendering and compositing. This is different from the final output colour space (like Rec.709, Rec.2020, DCI-P3).

It’s important to choose the Working Colour Space at the outset of the project, as altering it later may affect how lighting and colour nodes (like Colour Correction) behave.

You have three Working Colour Spaces to choose from: ACEScg is the default, offering the widest colour gamut and and linear luminance encoding. While ACEScg is generally preferred, specific scenarios may warrant using SRGB Linear or SRGB Gamma 2.2 instead.

Space Colour Gamut Luminance Encoding Bit Depth Use Case
ACEScg Wide (AP1) Linear 16 bit The default for almost all 2D & 3D workflows, but especially where wide colour gamut and high dynamic range are required.

Use when you are exporting to Rec.2020, DCI-P3, ACEScg, ACES 2065-1
sRGB Linear Narrow (sRGB) Linear 16 bit When working working in specific legacy sRGB Linear pipelines.
sRGB Gamma Narrow (sRGB) Gamma 2.2 8 bit Pure sRGB/SDR Workflows, where lighting & colour accuracy is less of a concern.

Only useful for outputting to sRGB 2.2 renders.
ACEScg has a small performance penalty when receiving sRGB texture inputs or outputting to non-ACEScg colour spaces, as the input and output colour transforms have a small cost.

How to set the Working Colour Space #

You can set the Working Colour Space:

  • At the Project level (Project Settings -> Rendering -> Colour Space)
  • At Composition level (Click Root node and alter Properties -> Colour Space)

Importing content into Builder #

All content that is imported into Notch will have it’s own colour space (whether specified in the file metadata or not). Most content will be `sRGB Gamma 2.2``, which is the defacto for computer graphics.

However, if your content is provided in a different colour space (such as Rec.2020 or DCI-P3) you can specify this in the Resource Inspector. Notch will then transform that content to the Working Colour space.

At present, Notch cannot read embedded colour profiles in image or video files. Therefore, you must set them in the Resource Inspector.

Exporting content from Builder #

Builder can export content in a range of different colour spaces, but it’s important to choose a file format to meet your colour space requirements.

File Format Bit Depth WCG HDR Colour Space Metadata Added
OpenEXR 16 bit (half) Yes Yes -
ACEScg EXR (coming soon) 16 bit (half) Yes Yes Yes
PNG 16 bit (coming soon) 16 bit Yes Yes Yes as ICC
PNG 8 bit 8 bit - - Yes as ICC
TIF (coming soon) 16 bit Yes Yes Yes as ICC
BMP 8 bit - - -
DDS 8 bit - - -
NotchLC 10/12 bit Yes Yes -
HAP 8 bit - - -
DXV1 5/6 bit - - -

(To be completed)

If you are exporting to a downstream package for compositing / editing (Resolve, Nuke, Flame etc) and want to retain the greatest data in the process, we’d recommend a ACEScg Working Colour Space and ACEScg EXR export.

Displaying WCG & HDR content in the Builder Viewport #

To be able to display Wide Colour Gamut and High Dynamic Range in Notch Builder you will need:

  • WCG/HDR Capable monitor
  • To have enabled HDR for the monitor in Windows 10/11.

Related Videos