You are on page 1of 5

Color Spaces and ACES

General
This document explains how SCRATCH deals with color spaces and in particular the ACES color space.
Although ACES for SCRATCH is just another color space, it has been the trigger for implementing a
series of functional and user-interface changes in order to easily manage media of multiple color spaces
within a single project. To understand this document a rudimentary knowledge of color and gamma
spaces is required. Note that this article applies to SCRATCH v7.0 as of build 745.
Color Spaces
Inside SCRATCH the colors of an image are represented by RGB values. All shots in SCRATCH - as well
as the diferent displays identied in SCRATCH - are agged with a color space. Flagging a shot with a
certain color space does nothing to the color values. The color space only afects the color values when
converting an image from one color space to another.
SCRATCH handles the following standard color spaces:
Lin/sRGB (previously called Lin)
Log/Film (previously called Log)
Rec709
XYZ P3
ACES - discussed in more detail later in this document
Wide Gamut
Scene Linear - a color space often used in a compositing / 3D environment with a 1.0 gamma.
Lin/sRGB, Log/Film, Rec709, and Scene Linear all use the same color primaries. The diference is the
associated gamma (resp. 2.2, 1.0, 2.4 and 1.0). For some formats the color space is automatically deter-
mined from the metadata. If the color space cannot be determined automatically, SCRATCH assumes
Lin/sRGB.
The shots color space is shown and can be adjusted in the Source Mode section of the Input menu of
the Matrix. The Source Mapping section below can be used to adjust the levels of the source media,
getting it in line with the standard color spaces set in the Source mode. You can use this section, for
example, if you have Log/Film footage but want to grade in Lin/sRGB, or add an F65-Rec709 gamma
curve to Sony F65 footage to adjust it to REC709.
Color Spaces and ACES
Next to the series of standard adjustments you can also load a custom LUT or color transform (CTL) in
the Source Mapping section to perform the desired transformation.
Conversions
SCRATCH can manage multiple color spaces in a single project, a single timeline, or inside a composite
without having to convert color spaces. However, in some cases SCRATCH will do an automatic color-
space conversion.
First, and similar to other nodes, an Output or Nest-node has an associated color space. By default
if the color spaces of the output node difer from that of an input, SCRATCH will pass that data along
unchanged. It is only by enabling the Apply option (next to the color space settings) on an output node
that SCRATCH will perform a conversion when processing an output node that has an input with a
diferent color space.
Second, SCRATCH will always do a color space conversion if the color space of the node being
viewed difers from the color space that is associated with the monitor it is viewed on. You can set the
associated color space for each monitor in the Player - Settings - Monitor menu. For the main monitor
you can select how conversion is applied separately for your left and right view.
A color-space conversion consists of a color transformation and a possible gamma adjustment. The
default gamma associated with the diferent color spaces and used in a conversion can be adjusted in
the Project Settings, except for Log/Film. For Log/Film the gamma used depends on the target and is
automatically determined.
Workfows
The current setup for dealing with color spaces provides exibility, whether on one end you prefer to
work in a single color space by converting all source media at the input transform; or, on the other end
to work with multiple color spaces and only convert before rendering to the target format; or anything
in between. As such, there is not a single preferred workow, but there are various considerations to
determine the right workow for your situation - with preference also being a major determinant.
Color Spaces and ACES
Keeping the number of conversions down is in general a good practice; each transformation means
math is applied to the color values and rounding errors are introduced. However, note that in general
these errors are very small and are not noticeable .
Maintaining multiple color spaces in a single project or timeline will hinder your ability to copy a grade
from one shot to the next. But then again, how often do you actually copy a (primary) grade between
two unrelated shots coming from diferent (camera) sources?
It is not always possible to convert an image to the desired color space. Converting to ACES without
a proper IDT (from the camera manufacturer) is just a color-space transformation of the image without
the proper tone-mapping.
Grading controls have a diferent feel / response to them depending on the color space, most
noticeably the diference between Lin/sRGB and Log/Film or Scene Linear footage.
XYZ is only output format, not a working space: the color primaries are rotated compared to the
other standard color spaces, making the SCRATCH grading controls hard to use. (Like grading before
applying a hue-shift to an image.)
ACES
This section covers a number of aspects of ACES in relation to SCRATCH. As such, it is not an
explanation of what ACES is. There is a large amount of ACES information available on-line.
In broad terms ACES covers two concepts. First, ACES as a color space which difers from most other
color spaces in that is has a much broader gamut. In SCRATCH, the ACES color space is treated just
like any other color space. Secondly, there is the ACES Color Transformation Language (CTL) for
creating for example an IDT, RRT or ODT (described later). CTL is a programming language. It is often
viewed as a replacement for LUTs, but as a programming language it has many more options and
potential applications. SCRATCH is capable of interpreting CTL script directly. You can load a CTL script
everywhere you can load a LUT. Note however that a CTL script often references other scripts. These
references should be available in the same folder or rst combine the scripts in a single le.
IDT, RRT and ODT
The Input Device Transform (IDT) is used to convert a (camera raw/native) format into the ACES color
space. As such, an IDT can only be provided by the camera manufacturer. Manufacturers like ARRI and
Sony have built in the IDT with their SDK for decoding their images, and SCRATCH uses that SDK. ARRI
also published multiple IDTs for diferent ISO values. Other camera manufacturers, like RED, have not
(yet) published an IDT or incorporated it into their SDK.
Without an IDT SCRATCH does not have a proper way to convert shots to an ACES color space. You can
force SCRATCH to convert footage into ACES (for example, by using a nest-node + the Apply option)
but this will only perform a color-space conversion, not a tone-mapping. If you do have an IDT for your
source footage, you would typically load that in the Source Mapping section in the Matrix - Input menu.
Color Spaces and ACES
Note that you can also load an ACES image directly into SCRATCH. If an EXR image contains metadata
describing the ACES primaries, SCRATCH will automatically ag it as being ACES after loading.
The Reference Rendering Transform (RRT) normalizes the ACES values to a standard output / capture
device, bringing it into the OCES color space. From that point, output device manufacturers can create
their own specic Output Device Transform (ODT) to convert it further for their specic device.
SCRATCH incorporates the standard RRT as is published by the Academy of Motion Picture Arts and
it has standard (built in) ODTs for conversion from ACES to the other standard color spaces. If you
have a custom ODT, you can only load that in combination with a (custom) RRT. This means you have
to combine the two CTL scripts into one single script and then load that with the specic device in the
Player-Settings-Monitor menu.
Note that if you have a custom RRT and ODT loaded the Apply Always option is in efect. All non-ACES
shots will also be processed.
If you want to apply a custom RRT and ODT separately on a single node, you can load the RRT in
the Source Mapping section and the ODT as a Grading LUT. That way they are applied in sequence
to execute the full ACES transform. Preferably you would do this in a nest-node or derived output.
Alternatively, you could combine the RRT and ODT into a single script and load it as a grading LUT.
ACES Workfow
When you have an IDT with all your source footage, working in ACES is straight forward. If the footage
is ARRI you can just set it to decode to ACES in the FX Ctrl menu. Currently that does not auto-ag the
nodes color space (in Matrix-Input) to ACES. This you need to set manually, possibly using the Media
Browser to change the ag for multiple shots at once (setting the proper color space will be automated
in a future version).
In case of Sony footage the ACES implementation in v7.0 is still a bit less straight forward. The current
transform to ACES does not include an (S-Log) gamma conversion. To get ACES in a linear gamma space
a diferent IDT is needed. The required steps are:
set color settings in FX Ctrl to Raw
in Input - set the Source Mode to ACES
and in with the Source Mapping load this F65_RAW_to_ACES.ctl (to load it select the Color
Transformation Language lter in the le browser)
Note that you can copy this setup easily from one (Sony) shot to the next with the Copy Forward
function.
Color Spaces and ACES
Next, in the Player - Settings - Monitor menu you ag your output device(s) with one of the available
color spaces. SCRATCH will then auto convert views of all nodes to that color space. Note that you can
only choose between Lin/sRGB, REC709, Wide Gamut and (for your dual-head monitor) XYZ/P3. ACES
is not considered a valid device output format. Also note that you need to have the Auto Apply viewing
option selected for this behavior. With the Disabled viewing option, no conversions are performed. The
Apply Always option has no particular meaning when using the default conversions.
Instead of the default conversions you can also implement a custom conversion for your output device
by loading a custom LUT or CTL. When using this option you become responsible for making sure that
all footage viewed is of the correct input format for that custom transform. You could use this option to
load a custom RRT+ODT script. Setting the Apply Always option will ensure that all nodes are converted
using the script. However, this will also mean that any non-ACES node is converted using the script.
The custom LUT / CTL should be used for a uniform timeline. In addition to custom ACES transform, it is
often used for other functions, such as implementing a calibration LUT or a lm-stock LUT.
For rendering out ACES footage to a diferent target, just ag the (derived) output node to that target and
enable the Apply button.
Other considerations:
It is not recommended to convert media into ACES without an appropriate IDT, even if the media is in
one of the other default color spaces. When converting from ACES an RRT is involved, which is a non-
reversible operation. When forcing a conversion to ACES, SCRATCH only applies the color transform
and no tone-mapping. Rather, footage should be maintained in its original color space.
There are tools available to convert a custom RRT and ODT into a LUT. Though a LUT might carry less
precision than interpreted CTL script, the diferences are generally small enough that this alternative
might make more sense for your situation than using a custom RRT directly.
Visit the ASSIMILATE Support Site (www.assimilatesupport.com) for the most up to date document.

You might also like