IDTs: How Do They Work

The basic steps and responsibilities of a simple Input Transform are:

  • Linearization
  • White balancing
  • Clipping
  • Color space conversion
  • Neutral chromaticity difference compensation
  • Encoding ACES RGB relative exposure values


Linearization requires application of either a per-channel function or a 1-dimensional look-up table (1D-LUT). Most camera systems have published their linearization function in the form of their “camera log” formula (e.g. Log-C, Canon Log, Log3G10, S-Log, V-Log, etc.).

The desired output of the linearization step is an RGB encoding in which RGB channel values are directly and linearly proportional to radiometric energy at the camera focal plane.

White Balancing

The linearized RGB image data are scaled by RGB channel multipliers such that a perfect reflecting diffuser in the scene, illuminated by the scene adopted white, would be encoded with equal RGB channel values.


Clipping can be done simply or in more complex manners that attempt to reconstruct or extrapolate clipped values. Though more ambitious clipping strategies are possible, a simple clipping method wherein RGB channel values are clipped to the maximum RGB values imposed by the original camera system encoding is usually sufficient.

Matrix Application, Color Analysis, and Neutral Chromaticity Difference Compensation

The linearized, white-balanced and clipped RGB image data are multiplied by a 3×3 matrix. This matrix implements two functions simultaneously: color space conversion, and neutral chromaticity difference compensation. Color space conversion entails minimizing the difference in spectral responsivities of the real camera sensor and of a hypothetical colorimetric camera, the ACES Reference Image Capture Device (RICD).

Neutral chromaticity difference compensation minimizes differences between the chromaticity of the scene-adopted white and the ACES white point chromaticity. Methods vary for the derivation of an appropriate 3×3 matrix for implementation.

A co-optimized 3×3 matrix follows long-established industry practice and carries the following benefits:

  • Simple to understand, apply, and implement in hardware or software
  • Chromaticity is invariant with exposure changes
  • Neutral camera system RGB code values can be mathematically enforced
  • The degrees of freedom of the transform are limited, which helps to prevent the transform from following the training set colors too closely at the expense of other colors
  • A smaller amount of error is introduced than would be the case if RICD emulation and neutral chromaticity compensation were separate, individually-optimized transforms
  • Readily invertible, allowing for reconstruction of white-balanced radiometrically linear camera system RGB code values from ACES RGB relative exposure values

Exposure Scaling

The linearized, white-balanced and matrixed values are uniformly scaled such that a spectrally neutral 18% reflector captured under the scene adopted white would map to ACES RGB relative exposure values of [0.18, 0.18, 0.18].