Colour science/S5/Academy Color Encoding System

Academy Color Encoding System

ACES: system, encodings and Output Transform

ACES2065-1/AP0, ACEScg and ACEScct/AP1, Input and Look Transforms, ACES 1.x and ACES 2 Output Transform, gamut compression, VFX interchange and DaVinci Resolve workflows.

ACES2065-1 / AP0ACEScg / ACEScctInput TransformLook TransformACES 2 Output
In plain language

ACES is not one huge colour profile and not a 'cinema LUT'. It is a standardised architecture: different cameras are brought into a common scene-referred context, work is represented in defined ACES encodings, and a separate Output Transform renders the result for a specific display.

14 sections5 primary references

Quick reference

Definitions and numbers worth keeping in view

ACES2065-1
Linear · AP0

Canonical interchange/archival encoding.

ACEScg
Linear · AP1

CG/compositing working encoding.

ACEScct
Quasi-log · AP1

Grading-oriented working encoding.

ACES white
x 0.32168 · y 0.33767

D60-like reference white.

ACES 1.3
Reference Gamut Compression

Scene-referred technical Look Transform for problematic out-of-gamut values.

ACES 2
JMh Output Transform

Tone, chroma and gamut rendering are redesigned as a unified display-transform architecture.

ACES ARCHITECTURE

Not one space, but a standardised route

INPUT
Camera / source
Vendor-native encoding
AP0
ACES2065-1
Linear · canonical interchange
AP1
ACEScg / ACEScct
CG linear / grading quasi-log
OUTPUT
ACES 2 Output Transform
JMh tone + chroma + gamut rendering
AP0
Interchange / archive
AP1
Working-oriented
VERSION
1.3 RGC ≠ ACES 2 gamut rendering
01

ACES is a system, not a single colour space

ACES contains standardised encodings, transforms, metadata and interchange conventions. The central idea is to remove ambiguity: a source camera state is converted by an Input Transform into an ACES reference representation; scene-referred work happens in agreed ACES spaces; viewing/delivery is created by an Output Transform. Saying 'the file is in ACES' without specifying ACES2065-1, ACEScg or ACEScct is therefore incomplete.

02

ACES2065-1: linear AP0 for reference interchange

ACES2065-1 is a photometrically linear RGB encoding using AP0 primaries and the ACES white point x=0.32168, y=0.33767. AP0 is intentionally extremely wide and includes imaginary primaries; its purpose is to contain colourimetry for interchange/archival use rather than provide a convenient surface for ordinary grading controls. In production, ACES2065-1 is commonly associated with OpenEXR interchange between departments.

03

AP1: more practical geometry for working encodings

ACEScg and ACEScct use AP1 primaries. AP1 is smaller than AP0 and is more practical for image processing, CG and grading: it reduces extreme RGB relationships and makes many operations more stable. Importantly, AP1 does not mean values are automatically confined to the AP1 triangle — floating-point workflows can contain negative/out-of-gamut values.

04

ACEScg: scene-linear AP1 for CG and compositing

ACEScg uses AP1 primaries with a linear transfer. The linear relationship makes it suitable for light transport, compositing, rendering and physically meaningful operations. But linear data is awkward for most manual grading controls because much of the useful exposure range occupies a small numerical region. ACEScg is therefore a typical VFX working/interchange state rather than a mandatory DI grading state.

05

ACEScct: AP1 + quasi-log for colour grading

ACEScct transforms linear ACES values with a piecewise linear/log function and uses AP1. It can preserve values above 1 and below 0 when the pipeline does not clamp them, and is intended to make colour-correction controls behave more conventionally. ACEScct is not a display gamma and should not be sent directly to a monitor as a finished image; it is viewed through an ACES Output Transform.

06

Input Transform: the camera must be described precisely

An ACES Input Transform maps camera-native encoding into ACES2065-1 relative exposure values. In a RAW pipeline, some camera characterisation may be performed by the decoder, but the resulting input state must still be known. The wrong camera transform creates a systematic error through the rest of the pipeline: white point, saturated colours and exposure response cannot then be 'fixed automatically by ACES'.

07

Look Transform and technical transforms have different roles

A Look Transform modifies scene-referred ACES imagery for a technical or creative purpose before final output rendering. This differs from an Input Transform, which interprets the source, and an Output Transform, which renders for the display. In a node-based application, a creative LUT/DCTL also needs a known expected state; formally, the term 'LMT' belongs to ACES architecture and is not a synonym for every LUT.

08

ACES 1.3 Reference Gamut Compression: why it appeared

In ACES 1.x, highly saturated sources could produce negative/out-of-AP1 values and unpleasant artefacts, especially from bright LEDs. Reference Gamut Compression 1.3 was introduced as a scene-referred Look Transform that gently corrals extreme values before further processing. In ACES 2, display-rendering gamut compression is part of the new Output Transform architecture; do not confuse ACES 1.3 RGC with gamut compression inside the ACES 2 rendering transform.

09

ACES 1.x: RRT + ODT became one logical Output Transform

Historically, ACES 1 described a Reference Rendering Transform and an Output Device Transform. From 1.1 onward their combination is generally treated as one Output Transform because tone scale and device mapping are tightly coupled. The practical lesson is important: output is not simply 'convert AP1 primaries to Rec.709'; it renders scene values into the capabilities of a display.

10

ACES 2: the new Output Transform works in a perceptual JMh domain

ACES 2 completely redesigned display rendering. Scene-referred ACES is converted to a JMh correlate space based on a simplified Hellwig 2022 CAM; the tone scale operates on J (lightness), chroma compression on M (colourfulness), gamut compression on J/M while preserving the hue correlate h, and the result is then encoded for the target display. The goal is more consistent SDR/HDR outputs, softer highlights and better hue preservation under strong gamut/dynamic-range compression.

11

The ACES version is part of the technical contract

ACES 1.2, 1.3 and 2.x can produce different display rendering and provide different transform sets. Project metadata, VFX turnovers and facility documentation should therefore record the system version, Input Transform IDs/definitions, working encoding and Output Transform. You cannot open an old project, switch ACES version and expect a pixel-identical result merely because the timeline grade did not change.

12

ACES in DaVinci Resolve: project-managed and node-level options

For a full ACES workflow, select ACES colour science in Project Settings, lock the ACES version, choose an ACEScc/ACEScct Timeline Colour Space as appropriate, assign Input Device Transforms/input tags and select the Output Transform. The ACES Transform Resolve FX is useful as a local conversion tool but does not replace the overall architecture. If the project is already ACES-managed, an additional ACES output/CST on the timeline can easily create double rendering.

13

VFX interchange: why ACES2065-1 and ACEScg are not the same thing

ACES2065-1/AP0 is the canonical ACES interchange/archival encoding; ACEScg/AP1 is a practical linear working space for CG. A facility may receive a camera plate, convert it to ACEScg for comp/render and return EXR in an agreed state while viewing through a common Output Transform. The key is not to rely on the .exr extension: EXR is a container and does not automatically tell you whether the pixels are ACES2065-1, ACEScg or another linear space.

14

ACES or DWG/Intermediate is an architectural choice, not a 'best gamut' contest

ACES is especially strong where standardised interchange, multi-vendor VFX, transform IDs/metadata and long-term archival conventions matter. DWG/Intermediate is deeply integrated into Resolve and is often simpler for single-application DI/finishing. Both approaches can be wide, scene-referred and multi-output. The choice should be driven by pipeline requirements, interoperability and predictability, not by the area of a triangle on a CIE diagram.

What this changes in post

For a production project, record more than just 'ACES': at minimum ACES system version → source Input Transform → working encoding → Output Transform. Those are four separate decisions.

Common mistakes
Calling ACES one colour space.
Grading linear AP0 like ordinary display RGB.
Confusing ACES2065-1 interchange with ACEScg working space.
Confusing ACES 1.x RGC with ACES 2 output gamut compression.
Changing ACES version without checking the rendering.
Adding a second ODT/Output Transform on top of project-managed ACES.