ACES Output Transforms - Background Information

Introduction

Key pre-release versions

[Clicking each version title will take you directly to the version tag on Github.]

DC22

Overview
  • Derived from film work by M. Uchida and Fuji team
  • Very filmic based - tone scale was more contrasty, especially in the toe
  • Dependent on lots of LUTs
  • No closed-form inverse

v0.1 (also known as UT33)

Overview
  • Ratio-restoring tone scale in ODT only
  • Problems:
  • lots of clipping steps which means:
  • gamut coverage in OCES is poor relative to the OCES encoding primaries
  • gamut coverage through the ODT is poor relative to the P3 encoding primaries
  • overly complex
  • non-invertible

Rendering Steps
RRT
  1. Tone scale: applied to ACES RGB independently
  1. Clip negatives
  1. 3x3 adjustment matrix
  1. Clip negatives
  1. Per-hue contrast adjustments: several 11-point 1D LUTs with blending between 6 hue regions
  1. Desaturation matrix: with equal 1/3 channel weighting, sat=0.86
  1. Clip negatives
ODT
  1. Ratio-restoring tone scale: applied to OCES RGB; norm = (R2 + G2 + B2) / (R + G + B)
  1. 3x3 matrix: OCES to XYZ
  1. 3x3 matrix: XYZ to display primaries
  1. Clip 0-1
  1. Inverse EOTF

v0.1.1

Overview
Mostly the same as v0.1, but with a few changes in the ODT only. Specifically, the norm used in the ODT’s ratio-restoring tone scale was changed to use the max value.
In addition, an “inverse saturation” function was added in order to “reduce the rate of desaturation” (i.e. keep bright saturated lights more saturated).

Rendering Steps
RRT - unchanged from v0.1
ODT
  1. Ratio-restoring tone scale: applied to OCES RGB; norm = max(R,G,B)
  • Introduced an inverse saturation function to “reduce the rate of desaturation”
  • Desaturation of low-chroma highlights toward a neutral with the same norm
  1. 3x3 matrix: OCES to XYZ
  1. 3x3 matrix: XYZ to display primaries
  1. Clip 0-1