Un módulo avanzado que trae herramientas de gradación de color de la cinematografía a la canalización referida a la escena fotográfica.

This module is not suitable for beginners with no prior knowledge of color theory, who might want to stick to the global chroma and global vibrance settings until they have a good understanding of the dimensions of color.

Introduction

La gradación de color es una parte importante de la edición de imágenes. Puede ayudar a eliminar los matices de color no deseados y también puede ofrecer un toque de color creativo que agregará atmósfera a sus imágenes. En los días de la fotografía de películas, la mayor parte del ambiente de color se obtenía con la emulsión de película y los productos químicos de revelado, y se realizaba cierta sincronización del color bajo la ampliadora con cabezales de color. Esto consumía recursos costosos y se reservaba principalmente para la industria del cine, donde el trabajo lo realizaba un colorista.

In the digital age, where raw images look flat and even, color-grading assumes the same role that film emulsions did, by re-introducing color shifts for aesthetic purposes. It can also serve to harmonize the color palette of a series of images (which may have been shot under different conditions) to achieve a consistent global look. For this task, the vectorscope is also extremely useful.

Los coloristas suelen dividir la gradación de color en dos pasos distintos:

  1. Primary color-grading aims to fix unwanted color casts and create a neutral starting point,
  2. Secondary color-grading gives the image its final look and atmosphere.

Primary color-grading is best left to the color calibration module, which operates in a physical framework better suited to illuminant correction. color balance, on the other hand, is mostly concerned with secondary color-grading. Performing a truly neutral primary color-grading should make the secondary color-grading easy to transfer between images (via styles, presets or copy & paste) with a similar effect.

General principles

The color balance module is an improvement over the American Society of Cinematographers Color Decision List  (ASC CDL), and uses alpha masks to allow the effect to be properly split between shadows and highlights. The classic CDL acts on the entire luminance range, and each of its parameters is given more weight on some parts of the image only as a side-effect of the mathematics.

This module works, for the most part (4 ways, chroma, vibrance, contrast), in a linear RGB color space designed specifically for color-grading. This color space exhibits a uniform spacing of perceptual hues while retaining a physically-scaled luminance1. The perceptual part of the module (saturation and brilliance) works in the JzAzBz2 color space, which provides a perceptual scaling of both lightness and chromaticity suitable for HDR images. Both color spaces ensure that saturation and chroma changes take place at constant hue, which is not the case for most other saturation operators in Ansel (notably in the older color balance module).

The color balance module expects a scene-referred linear input and produces a scene-referred RGB output, which may or may not be linear, depending on the module settings (contrast and power will delinearize the output).

At its output, color balance checks that the graded colors fit inside the pipeline RGB color space (Rec 2020 by default) and applies a soft saturation clipping at constant hue, aiming to retarget out-of-gamut color to the nearest in-gamut color by scaling both chroma and lightness. This prevents the chroma and saturation settings from pushing colors outside of the valid range and allows more drastic adjustments to be safely used.

Note that this module abides by the CIE definitions of chroma and saturation, as explained in the dimensions of color section.

Module controls

Master tab

hue shift
Rotate all colors in the image by an angle over the chromaticity plane, at constant luminance and chroma. You can use this control to remove spilled colored light on a subject or to quickly change the color of some object. This setting is usually best applied locally, using masks.
vibrance global
Esto afecta la dimensión de croma del color en toda la imagen, dando prioridad a los colores con bajo croma. Esto permite aumentar el croma de los colores neutros sin exagerar los píxeles ya coloridos.
contraste
Este ajuste se aplica al canal de luminancia con tono y croma constantes. El ajuste del punto de apoyo (en la pestaña máscaras, debajo del contrast gray fulcrum) le permite establecer el punto neutro de la curva de contraste:
  • en el punto de apoyo, la curva de contraste no modifica la luminancia,
  • punto de apoyo, la curva de contraste disminuye la luminancia para valores de contraste positivos o la aumenta para valores negativos,
  • por encima del punto de apoyo, la curva de contraste aumenta la luminancia para valores de contraste positivos o la disminuye para valores negativos.

El punto de apoyo tiene un valor de 18,45% de forma predeterminada, que es coherente con el flujo de trabajo actual referido a la escena y debería adaptarse a la mayoría de los casos de uso (suponiendo que el brillo global se haya corregido como se recomienda mediante el módulo exposición).

The contrast algorithm gives natural results that mimic the central part of the contrast curve of analog film. However, it will also increase the image’s dynamic range, which may void filmic settings in the pipe. For global contrast adjustments, you should normally use the tone equalizer module – the color balance contrast slider is best used with masks, e.g. for selective corrections over the foreground or background.

Linear chroma grading

La gradación de color lineal afecta la dimensión de croma proporcionalmente a su valor de entrada, con tono y luminancia constantes. Lo hace globalmente, con un coeficiente plano (utilizando el croma global), así como en cada una de las máscaras sombras, tonos medios y luces (definidas en la pestaña máscaras bajo rangos de luminancia).

Perceptual saturation grading

La gradación de saturación perceptual afecta tanto a la luminancia como a las dimensiones de croma, en un espacio de percepción, proporcionalmente a su valor de entrada, en tono constante. Lo hace globalmente, con un coeficiente plano (utilizando la saturación global), así como en cada una de las máscaras_sombras_, tonos medios y luces (definidas en la pestaña máscaras bajo rangos de luminancia).

Perceptual brilliance grading

La gradación de brillo perceptual afecta tanto a la luminancia como a las dimensiones del croma, en un espacio perceptivo, proporcionalmente a su valor de entrada, en tono constante y en una dirección ortogonal a la saturación. Su efecto es cercano al de cambiar la exposición, pero escalado perceptualmente. Lo hace globalmente, con un coeficiente plano (utilizando la saturación global), así como en cada una de las máscaras sombras, tonos medios y luces (definidas en la pestaña máscaras bajo rangos de luminancia).

pertaña 4 escalas

Cada una de las configuraciones en la pestaña de 4 formas está compuesta por los mismos tres componentes, que definen un color usando coordenadas independientes:

  1. luminance,
  2. hue,
  3. chroma.

La entrada de color como esta define un cambio de color aplicado a la imagen globalmente o sobre el rango de luminancia especificado.

Cada control deslizante de tono tiene un selector de color, que se puede usar para calcular el color del oponente de la región seleccionada. Esto es útil para revertir las tonalidades de color no deseadas (por ejemplo, enrojecimiento de la piel), ya que cambiar el color a su tonalidad oponente lo neutraliza.

Global offset

Esto es equivalente al offset de ASC CDL y se reduce a agregar un valor RGB constante a todos los píxeles, muy parecido al desplazamiento negro en el módulo exposure. Este control no utiliza enmascaramiento.

Shadows lift

Esto es conceptualmente equivalente al realce de realce/gamma/incremento, aunque implementado de manera diferente, y recurre a la multiplicación de los píxeles enmascarados por un valor RGB constante. Se aplica mediante la máscara sombras.

Highlights gain

Esto es equivalente al ASC CDL slope, y vuelve a multiplicar los píxeles enmascarados por un valor RGB constante. Se aplica mediante la máscara highlights.

Global power

Esto es equivalente a la potencia de ASC CDL, y recurre a la aplicación de un exponente RGB constante. No está enmascarado y debe normalizarse, ya que la función de potencia tiene un comportamiento diferente por encima y por debajo de 1, y estamos en una canalización ilimitada donde el blanco suele ser mayor que 1. El parámetro de normalización está disponible en máscaras debajo de punto de referencia del blanco.

Masks tab

Esta pestaña define los controles auxiliares para las pestañas anteriores. Los controles de enmascaramiento generalmente no requieren ninguna modificación por parte del usuario, ya que los valores predeterminados están calibrados para adaptarse a la mayoría de las necesidades y cumplir con las expectativas normales de la canalización de píxeles referida a la escena. Solo debería necesitar cambiar esta configuración en escenarios específicos.

Luminance ranges

Los gráficos muestran la opacidad (en el eje y) de las 3 máscaras de luminancia en relación con la luminancia de píxeles (en el eje x). La curva más oscura representa la máscara sombras, la más brillante representa la máscara luces y la tercera curva representa la máscara tonos medios.

Solo las máscaras sombras y luces se pueden controlar directamente; la máscara de tonos medios se calcula indirectamente a partir de las demás y actúa como una variable de ajuste.

descenso de las sombras
Controle la suavidad o dureza de la transición de completamente opaco (100%) a completamente transparente (0%) para la máscara de sombras.
mask middle-gray fulcrum (punto de apoyo del gris medio)
Establezca el valor de luminancia donde las tres máscaras tengan un 50% de opacidad. En la práctica, esto se utiliza para definir cómo se separa la imagen en sombras y luces.
atenuación de las luces
Controle la suavidad o dureza de la transición de completamente opaco (100%) a completamente transparente (0%) para la máscara de luces.

Para cada una de estas configuraciones, un botón de máscara, provisto a la derecha del control deslizante, muestra la máscara apropiada (sombras, medios tonos, luces), superpuesta como un tablero de ajedrez. El área aún visible de la imagen (no oculta por la máscara) es el área que se verá afectada por los controles deslizantes de sombras, medios tonos y luces en las otras pestañas.

Todas las vistas previas de máscaras muestran la salida del módulo, incluidos los cambios de color realizados, por lo que también puede activarlos durante la edición para ver solo la parte afectada de la imagen.

Las máscaras de luminancia se calculan en la entrada del módulo, lo que significa que son insensibles a los cambios de luminancia realizados dentro del módulo.

Thresholds

punto de refencia del blanco
Establece la luminancia del punto blanco en EV. Esto se usa para normalizar la configuración de potencia en la pestaña 4 escalas. Las implementaciones de funciones de potencia referidas a la pantalla asumen que el blanco está al 100%, lo que elimina la necesidad de normalización. Para fines referidos a la escena, esto debe tenerse en cuenta.

El selector de color a la derecha del control deslizante establece automáticamente el punto de referencia blanco a la luminancia máxima de la región seleccionada, que debería ser suficiente en la mayoría de los casos.

contrast gray fulcrum (punto de apoyo del gris medio)
Establezca el punto de apoyo para la configuración de contraste en la pestaña control principal. Esto corresponde al valor de luminancia que no se modificará con el ajuste de contraste. Esta configuración suele coincidir con el valor lineal del gris medio. Si siguió las recomendaciones del flujo de trabajo referido a la escena y estableció el brillo global al principio de la canalización, utilizando el módulo exposición, el valor correcto generalmente debería estar alrededor del 18-20%.

El selector de color a la derecha del control deslizante establece automáticamente el punto de apoyo del gris de contraste a la luminancia promedio de la región seleccionada. Esto se basa en la suposición de que la luminancia promedio suele estar cerca del gris medio, lo que no es cierto si tiene reflejos especulares o fuentes de luz primarias en el marco, o para imágenes de clave alta/baja.

Saturation formula

Note that this setting is not really appropriate for the masks tab (since it is not technically related to the masks) but is placed here because it is not meant to be used regularly and in the spirit of saving some display real-estate. Two options are provided:

JzAzBz (2021)
This mode is the original saturation algorithm. It uses the JzAzBz uniform color space (UCS) to compute the saturation. This color space is not meant for color changes and its lightness does not account for the Helmholtz-Kohlrausch effect , which states that colorful colors will look brighter than neutral or near-neutral colors (greys and pastels) having the same luminance. It also suffers from non-smooth behaviour near black, with colors being darkened too much.
Ansel UCS (2022)
The Ansel Uniform Color Space has been designed from the ground up , using psychoperceptual measurement datasets, for the sole purpose of the color manipulation (saturation) performed by this module. This color space does account for the Helmholtz-Kohlrausch effect  and has a built-in gamut mapping formula that is more accurate and efficient than can be achieved in JzAzBz. It displays a smoother behaviour which makes saturation changes more even across the lightness range.

Mask preview settings

Esta configuración se aplica a las vistas previas de la máscara, que se muestran al hacer clic en los botones de la máscara en la sección rangos de luminancia. Estos ajustes se guardan globalmente, por lo que se aplicarán a todas las imágenes posteriores a menos que se modifiquen.

color de la cuadrícula 1 y 2
Establece los dos colores para la capa subyacente de la máscara de cuadrícula de verificación de fondo. Puede configurarlos con los colores del oponente de la imagen actual para facilitar la legibilidad.
tamaño de la cuadrícula
Establezca el ancho de las celdas del tablero de ajedrez en píxeles (ajustado de acuerdo con la configuración de DPI de la pantalla).

FAQ

Saturation or chroma?

As described in the dimensions of color section, saturation and chroma roam the (lightness, chroma) plane in different directions. In addition, the chroma of color balance uses a scene-referred linear space, while the saturation uses a perceptual space, which rescales color for even spacing.

En la práctica, debe utilizar la configuración de croma si desea preservar la linearidad de la escena de la emisión de luz y/o mantener la luminancia sin cambios. Sin embargo, estos cambios pueden afectar a algunos matices más que a otros, debido al hecho de que el espacio de color no tiene una escala de percepción completa.

La saturación está más cerca del efecto de mezclar pintura blanca con algún color base. Reducir la saturación del rojo lo degradará a rosa, mientras que reducir su croma se degradará a un tono gris con la misma luminancia. La saturación es quizás una forma más intuitiva de interactuar con el color, debido a su conexión con la pintura.

Elegir uno u otro es principalmente una cuestión de decidir en qué parte del gráfico (luminosidad, croma) desea impulsar sus colores y dónde están para empezar. Para alcanzar los colores pastel, la saturación es el camino a seguir. Para alcanzar colores similares al láser (casi monocromáticos), a riesgo de parecer sintéticos, el croma es el camino a seguir.

What is the connection with lift/gamma/gain?

El algoritmo lift/gamma/gain se basa en un espacio de color referido a la pantalla, ya que asume un rango dinámico simétrico y delimitado, con un punto blanco al 100% y gris al 50%. Como tal, es simplemente inutilizable en un espacio referido a la escena. Sin embargo, la única parte incompatible es el realce/lift. El gamma es exactamente el ASC CDL potencia, y el gain/incremento es exactamente el ASC CDL slope/pendiente.

The color balance module simply has two slopes instead of one: the gain, applied on the highlights extracted from the whole image by a mask, and the lift, applied similarly but on the shadows.

Changing contrast

While color balance is mostly about color (other modules handle the global contrast in chromaticity-preserving ways) luminance is as much a part of color as hue or chroma, and it needs to be dealt with here too, because the perception of saturation relies on it. If you wish to turn red into pink, for example, reducing its chroma will turn it gray, so you need to increase its luminance as well.

There are several ways to change the contrast in color balance, either locally (with masks) or globally (without):

  • In the master tab, use the contrast setting (possibly alongside the contrast gray fulcrum in the masks tab). Be aware that this will raise the white point and therefore increase the dynamic range of the image, which may void filmic settings later in the pipeline.
  • In perceptual saturation grading, desaturate highlights and resaturate shadows to produce a luminance contrast boost,
  • In perceptual brilliance grading, add brilliance in the highlights and remove brilliance in the shadows to produce to a luminance contrast boost,
  • In the 4 ways tab, set the shadows lift luminance to negative values and the highlights gain luminance to positive values, which also produces a luminance contrast boost.

The difference between these methods is how the effect will be weighted relative to the input of the module. You are advised to do the majority of luminance contrast adjustments in the filmic and tone equalizer modules, and then undertake final changes in color balance while examining the colors.

Internal processing

El siguiente es el orden interno de operaciones dentro del módulo:

  1. Transform from pipeline RGB to Kirk/Filmlight Ych space,
  2. Apply hue shift at constant chroma and constant luminance,
  3. Compute luminance masks with Y,
  4. Apply the linear chroma and vibrance settings at constant hue and luminance,
  5. Transform to Kirk/Filmlight RGB space,
  6. Apply the 4 ways settings (except luminance power),
  7. Transform to Kirk/Filmlight Yrg space,
  8. Apply luminance power and contrast on Y,
  9. Transform to JzAzBz space,
  10. Apply the perceptual saturation and perceptual brilliance settings,
  11. Soft-clip the chroma using pipeline RGB gamut at constant hue and lightness,
  12. Transform back to pipeline RGB.

Caveats

Establecer el croma global en -100% no producirá una imagen monocromática real, como es habitual con otros algoritmos. La razón de esto es que el espacio RGB utilizado tiene un punto blanco D65 definido en el espacio CIE LMS 2006, mientras que Ansel utiliza un punto blanco definido en el espacio CIE XYZ 1931, y no existe una conversión exacta entre estos espacios. El resultado será, por tanto, una imagen en blanco y negro ligeramente teñida. Si su intención es obtener una imagen real en blanco y negro utilizando el canal de luminancia, el módulo calibración de color ofrece un ajuste preestablecido B y N: basado en luminancia que hace exactamente lo mismo pero sin la discrepancia del punto blanco.

This module has its gamut-mapping (against pipeline RGB) permanently enabled. This means that if your original image contains some largely out-of-gamut colors to start with, simply enabling color balance with no particular setting will slightly alter its colors. This is probably for the best.

The maximum saturation allowed in the pipeline working RGB space is recorded for each hue when initializing the module, and is later cached in a LUT (look-up table) to save performance. If the working profile is later changed, color balance is not notified, meaning that it will not update its cached hue/saturation LUT. To force a LUT update, you can simply change any setting in the color balance module, then change it back again. It is not recommended that you change the working RGB space half-way through an editing session, as this could result in unexpected chroma and hue changes.

Por razones de velocidad, las conversiones no lineales desde y hacia el espacio de trabajo RGB son ignoradas, lo cual significa que la colorimetría interna será errada cuando se usan espacios de color no lineales. Notar que no hay razón para usar espacios no lineales como RGB de trabajo, dado que hacen el mezclado de alpha más trabajoso sin obtener ningún beneficio.


  1. Richard A. Kirk, Chromaticity coordinates for graphic arts based on CIE 2006 LMS with even spacing of Munsell colours, 2019. ↩︎

  2. Safdar et al., Perceptually uniform color space for image signals including high dynamic range and wide gamut, 2017. https://doi.org/10.1364/OE.25.015131  ↩︎