Academy Color Encoding System Explained

The Academy Color Encoding System (ACES) is a color image encoding system created under the auspices of the Academy of Motion Picture Arts and Sciences. ACES is characterised by a color accurate workflow, with "seamless interchange of high quality motion picture images regardless of source".[1]

The system defines its own color primaries based on spectral locus as defined by the CIE xyY specification. The white point is approximate to the chromaticity of CIE Daylight with a Correlated Color Temperature (CCT) of 6000K.[2] Most ACES compliant image files are encoded in 16-bit half-floats, thus allowing ACES OpenEXR files to encode 30 stops of scene information.[1] The ACESproxy format uses integers with a log encoding. ACES supports both high dynamic range (HDR) and wide color gamut (WCG).[1]

The version 1.0 release occurred in December 2014. ACES received a Primetime Engineering Emmy Award in 2012.[3] The system is standardized in part by the Society of Motion Picture and Television Engineers (SMPTE) standards body.

History

Background

The ACES project began its development in 2004 in collaboration with 50 industry technologists.[4] The project began due to the recent incursion of digital technologies into the motion picture industry. The traditional motion picture workflow had been based on film negatives, and with the digital transition, scanning of negatives and digital camera acquisition. The industry lacked a color management scheme for diverse sources coming from a variety of digital motion picture cameras and film. The ACES system is designed to control the complexity inherent in managing a multitude of file formats, image encoding, metadata transfer, color reproduction, and image interchanges that are present in the current motion picture workflow.

Versions

The following versions are available for the reference implementation:[5]

System overview

The system comprises several components which are designed to work together to create a uniform workflow:

ACES Color Spaces

ACES 1.0 is a color encoding system, defining one core archival color space, and then four additional working color spaces, and additional file protocols. The ACES system is designed to cover the needs film and television production, relating to the capture, generation, transport, exchange, grading, processing, and short & long term storage of motion picture and still image data. These color spaces all have a few common characteristics:

  1. They are based on the RGB color model.
  2. The image data is scene-referred, i.e. the numerical values are related to the original scene lighting, as reflected or emitted from the real objects & lights on the set at the time of filming. The space refers to a "standard reference camera", an imaginary camera that can capture all of human visual perception. Scene-referred code values captured by a real camera are directly related to luminous exposure.
  3. They are capable of holding 30 stops of exposure.
  4. The reference white point is sometimes, and incorrectly, referred to as "D60" though there is no such thing as a CIE D60 standard illuminant. Further, the white point is not on the CIE Daylight Locus nor the Planckian Locus, and does not define the neutral axis. Filmmakers are allowed to choose whatever effective whitepoint they need for technical or artistic reasons.
  5. The white point serves only as a mathematical reference for transforms, and should not be confused with a scene or display reference. It was chosen through an experiment, projecting film containing a LAD test patch onto a theater screen, using a projector with a xenon bulb. That measured white point was then adjusted to be close to, but not on, the CIE daylight locus. The CCT is close to 6000k, with CIE 1931 xy chromaticities of

(0.32168,0.33767)

.[7]

The five color spaces use one of two defined sets of RGB color primaries called AP0 and AP1 (“ACES Primaries#0 and #1); The chromaticity coordinates are listed in the table below:

CIE1931! colspan="3"
AP0: ACES 2065-1WhitePointAP1: cg, cc, cct, proxy
red green blue red green blue
x 0.7347 0.0000 0.0001 0.32168 0.713 0.165 0.128
y 0.2653 1.0000 -0.0770 0.33767 0.293 0.830 0.044

AP0 is defined as the smallest set of primaries that encloses the entire CIE 1931 standard-observer spectral locus; thus theoretically including, and exceeding, all the color stimuli that can be seen by the average human eye. The concept of using non-realizable or imaginary primaries is not new, and is often employed with color systems that wish to render a larger portion of the visible spectral locus. The ProPhoto RGB (developed by Kodak) and the ARRI Wide Gamut (developed by Arri) are two such color spaces. Values outside the spectral locus are maintained with the assumption that they will later be manipulated through color timing or in other cases of image interchange to eventually lie within the locus. This results in color values not being “clipped” or “crushed” as a result of post-production manipulation.

AP1 gamut is smaller than the AP0 primaries, but is still considered “wide gamut”. The AP1 primaries are much closer to realizable primaries, but unlike AP0, none are negative. This is important for use as a working space, for a number of practical reasons:

[0,1]

range represent colors that, converted into output-referred colorimetry via their respective Output Transforms (read above), can be displayed with either present or future projection/display technologies.

ACES2065-1

This is the core ACES color space, and the only one using the AP0 RGB primaries. It uses photo-metrically linear transfer characteristics (i.e. gamma of 1.0), and is the only ACES space intended for interchange among facilities, and most importantly, archiving image/video files.

ACES2065-1 code values are linear values scaled in an Input Transform so that:

(1,1,1)

RGB code value.

(0.18,0.18,0.18)

RGB code value.ACES2065-1 code values often exceed

1.0

for ordinary scenes, and a very high range of speculars and highlights can be maintained in the encoding.The internal processing and storage of ACES2065-1 code values must be in floating-point arithmetics with at least 16 bits per channel.Pre-release versions of ACES, i.e. those prior to 1.0, defined ACES2065-1 as the only color space. Legacy applications might therefore refer to ACES2065-1 when referring to “the ACES color space”. Furthermore, because of its importance and linear characteristics, and being the one based on AP0 primaries, it is also improperly referred to as either “Linear ACES”, “ACES.lin”, “SMPTE2065-1” or even “the AP0 color space”.

Standards are defined for storing images in the ACES2065-1 color space, particularly on the metadata side of things, so that applications honoring ACES framework can acknowledge the color space encoding from the metadata rather than inferring it from other things. For example:

ACEScg

ACEScg is a scene-linear encoding, like ACES2065-1, but ACEScg is using the AP1 primaries, which are closer to realizable primaries. ACEScg was developed for use in visual effects work, when it became clear that ACES2065 was not a useful working space due to the negative blue primary, and the extreme distance of the other imaginary primaries.

The AP1 primaries are much closer to the chromaticity diagram of real colors, and importantly, none of them are negative. This is important for rendering and compositing image data as needed for visual effects.

ACEScc & ACEScct

Like ACEScg, ACEScc and ACEScct are using the AP1 primaries. What sets them apart is that instead of a scene-linear transfer encoding, ACEScc and ACEScct use logarithmic curves, which makes them better suited to color-grading. The grading workflow has traditionally used log encoded image data, in large part as the physical film used in cinematography has a logarithmic response to light.

ACEScc is a pure log function, but ACEScct has a "toe" near black, to simulate the minimum density of photographic negative film, and the legacy DPX or Cineon log curve.

Converting ACES2065-1 RGB values to CIE XYZ values


\begin{bmatrix} X\\ Y\\ Z \end{bmatrix} = \begin{bmatrix} 0.9525523959&0.0000000000&0.0000936786\\ 0.3439664498&0.7281660966&-0.0721325464\\ 0.0000000000&0.0000000000&1.0088251844 \end{bmatrix} \begin{bmatrix} R\\ G\\ B \end{bmatrix}

Converting CIE XYZ values to ACES2065-1 values


\begin{bmatrix} R\\ G\\ B \end{bmatrix} = \begin{bmatrix} 1.0498110175&0.0000000000&-0.0000974845\\ -0.4959030231&1.3733130458&0.0982400361\\ 0.0000000000&0.0000000000&0.9912520182 \end{bmatrix} \begin{bmatrix} X\\ Y\\ Z \end{bmatrix}

Standards

ACES is defined by several Standards by SMPTE (ST2065 family) and documentations by AMPAS, which include:[8]

A SMPTE standard is also under development to allow ACES code streams to be mapped to the Material Exchange Format (MXF) container.[9]

See also

External links

Notes and References

  1. Web site: What are the Advantages of using ACES for Color Correction?. 19 November 2015. Oscars.org. 2016-12-02.
  2. Web site: Derivation of the ACES White Point CIE Chromaticity Coordinates . 2022-07-01 . docs.acescentral.com . en.
  3. Web site: Winners of the 64th Primetime Emmy Engineering Awards Announced - InteractiveTV Today . Itvt.com . 2013-03-08 . 2013-05-09 . https://web.archive.org/web/20130509232446/http://itvt.com/story/9377/winners-64th-primetime-emmy-engineering-awards-announced . dead .
  4. Web site: Academy Color Encoding System | Science & Technology Council | Academy of Motion Picture Arts & Sciences . Oscars.org . 2012-08-24 . 2013-12-20.
  5. Web site: aces-dev/CHANGELOG.md at dev · ampas/aces-dev . GitHub . en.
  6. Web site: Tobenkin . Steve . ACES 1.3 is Available! . ACESCentral . 3 May 2021.
  7. Web site: TB-2018-001 Derivation of the ACES White Point CIE Chromaticity Coordinates . 26 June 2018.
  8. Web site: ACES Documentation . 29 April 2015 . Oscars.org . 2016-09-24.
  9. Web site: 31FS ACES Codestreams in MXF . Oscars.org . 2016-09-24 . https://web.archive.org/web/20160927085320/https://kws.smpte.org/kws/public/projects/project/details?project_id=363 . 2016-09-27 . dead .