Un module avancé qui apporte les outils de gradation des couleurs de la cinématographie dans le pipeline graphique relatif à la scène.

Ce module ne convient pas aux débutants n’ayant aucune connaissance préalable de la théorie des couleurs, qui pourraient préférer s’en tenir aux réglages chroma globale et vibrance globale jusqu’à ce qu’ils aient une bonne compréhension des dimensions de la couleur.

Introduction

La gradation de couleurs est une partie importante de l’édition d’images. Elle peut aider à éliminer les dominantes indésirables et peut également apporter une touche de couleur créative qui ajoutera une atmosphère à vos images. À l’époque de la photographie argentique, la majeure partie de l’ambiance des couleurs était due au film et aux produits chimiques de développement, avec un étalonnage basique effectué sous l’agrandisseur avec des têtes couleur. Cela consommait des ressources coûteuses et était principalement réservé à l’industrie du cinéma, où le travail était effectué par un coloriste.

À l’ère numérique, où les images raw ont une apparence plate et uniforme, l’étalonnage des couleurs assume le même rôle que les émulsions de film, en réintroduisant des décalages de couleur à des fins esthétiques. Il peut aussi servir à harmoniser la palette de couleurs d’une série d’images (qui peuvent avoir été prises dans des conditions différentes) pour obtenir un rendu global cohérent. Pour cette tâche, le vectorscope est également extrêmement utile.

Les coloristes divisent généralement la gradation des couleurs en deux étapes distinctes :

  1. L’étalonnage primaire des couleurs vise à corriger les dominantes de couleur indésirables et à créer un point de départ neutre,
  2. L’étalonnage secondaire des couleurs donne à l’image son rendu et son atmosphère définitifs.

Il est préférable de laisser l’étalonnage primaire des couleurs au module calibration des couleurs, qui opère dans un cadre physique mieux adapté à la correction de l’illuminant. La balance des couleurs, quant à elle, concerne principalement l’étalonnage secondaire des couleurs. Effectuer un étalonnage primaire vraiment neutre devrait faciliter le transfert de l’étalonnage secondaire entre les images (via styles, préréglages ou copier-coller) avec un effet similaire.

Principes généraux

Le module balance des couleurs est une amélioration de l’American Society of Cinematographers Color Decision List  (ASC CDL), et utilise des masques alpha pour permettre de répartir correctement l’effet entre les ombres et les hautes lumières. Le CDL classique agit sur toute la plage de luminance, et chacun de ses paramètres se voit attribuer plus de poids sur certaines parties de l’image uniquement comme effet secondaire des mathématiques.

Ce module fonctionne, pour l’essentiel (4 voies, chroma, vibrance, contraste), dans un espace colorimétrique RVB linéaire conçu spécifiquement pour l’étalonnage des couleurs. Cet espace colorimétrique présente un espacement uniforme des teintes perceptives tout en conservant une luminance à l’échelle physique1. La partie perceptive du module (saturation et brillance) fonctionne dans l’espace colorimétrique JzAzBz2, qui fournit une mise à l’échelle perceptive à la fois de la clarté et de la chromaticité, adaptée aux images HDR. Les deux espaces colorimétriques garantissent que les changements de saturation et de chroma ont lieu à teinte constante, ce qui n’est pas le cas de la plupart des autres opérateurs de saturation dans Ansel (notamment dans l’ancien module balance des couleurs).

Le module balance des couleurs attend une entrée linéaire relative à la scène et produit une sortie RVB relative à la scène, qui peut être linéaire ou non, selon les réglages du module (contraste et puissance délinéariseront la sortie).

À sa sortie, balance des couleurs vérifie que les couleurs étalonnées rentrent dans l’espace colorimétrique RVB du pipeline (Rec 2020 par défaut) et applique un écrêtage de saturation progressif à teinte constante, visant à recibler les couleurs hors gamut vers la couleur dans le gamut la plus proche en mettant à l’échelle à la fois le chroma et la clarté. Cela empêche les réglages de chroma et de saturation de pousser les couleurs hors de la plage valide et permet d’utiliser en toute sécurité des ajustements plus drastiques.

Notez que ce module respecte les définitions CIE du chroma et de la saturation, comme expliqué dans la section dimensions de la couleur.

Contrôles du module

Onglet maître

décalage de teinte
Fait pivoter toutes les couleurs de l’image d’un angle sur le plan de chromaticité, à luminance et chroma constants. Vous pouvez utiliser ce contrôle pour supprimer une lumière colorée parasite sur un sujet ou pour changer rapidement la couleur d’un objet. Ce réglage est généralement mieux appliqué localement, à l’aide de masques.
vibrance globale
Cela affecte la dimension chroma de la couleur sur l’ensemble de l’image, en donnant la priorité aux couleurs à faible chroma. Cela permet d’augmenter la chroma des couleurs neutres sans exagérer les pixels déjà colorés.
contraste
Ce réglage est appliqué sur le canal de luminance à teinte et à chroma constantes. Le paramètre pivot du gris du contraste (dans seuil de l’onglet masques), vous permet de définir le point neutre de la courbe de contraste :
  • au point pivot, la courbe de contraste laisse la luminance inchangée,
  • en dessous du point pivot, la courbe de contraste diminue la luminance pour les valeurs de contraste positives, ou l’augmente pour les valeurs négatives,
  • au dessus du point pivot, la courbe de contraste augmente la luminance pour les valeurs de contraste positives, ou la diminue pour les valeurs négatives.

Le pivot a une valeur de 18,45 % par défaut, ce qui est cohérent avec le flux de travail actuel relatif à la scène et devrait s’adapter à la plupart des cas d’utilisation (en supposant que la luminosité globale ait été corrigée comme recommandé à l’aide du module exposition.

L’algorithme de contraste donne des résultats naturels qui imitent la partie centrale de la courbe de contraste d’un film argentique. Cependant, il augmentera aussi la plage dynamique de l’image, ce qui peut invalider les réglages de filmique dans le pipeline. Pour les ajustements de contraste globaux, vous devriez normalement utiliser le module égaliseur de tons – le curseur de contraste de balance des couleurs est mieux utilisé avec des masques, par exemple pour des corrections sélectives sur le premier plan ou l’arrière-plan.

Étalonnage de chroma linéaire

Le réglage de chroma linéaire affecte la dimension chroma proportionnellement à sa valeur d’entrée, à teinte et luminance constantes. Il le fait globalement, avec un coefficient constant (en utilisant la chroma globale), et sur chacun des masques ombres, tons moyens et hautes lumières (définis dans l’onglet masques sous étendues de luminance).

Étalonnage de saturation perceptive

Le réglage de saturation perceptuelle affecte à la fois la luminance et la chroma, dans un espace perceptuel, proportionnellement à sa valeur d’entrée, à teinte constante. Il le fait globalement avec saturation globale, et sur chacun des masques ombres, tons moyens et hautes lumières (définis dans l’onglet masques sous étendues de luminance).

Étalonnage de brillance perceptive

Le réglage de la brillance perceptuelle affecte à la fois les dimensions de luminance et de chroma, dans un espace perceptuel, proportionnellement à sa valeur d’entrée, à teinte constante, et dans une direction orthogonale à la saturation. Son effet est proche de celui d’une modification de l’exposition, mais à l’échelle perceptuelle. Il le fait globalement avec saturation globale, et sur chacun des masques ombres, tons moyens et reflets (définis dans l’onglet masques sous étendues de luminance).

Onglet 4 voies

Chacun des paramètres de l’onglet 4 voies est composé des trois mêmes composants, qui définissent une couleur à l’aide de coordonnées indépendantes :

  1. luminance,
  2. teinte,
  3. chroma.

Une entrée de couleur comme celle-ci définit un virage de couleur appliqué à l’image globalement ou sur la plage de luminance définie.

Chaque curseur de teinte a une pipette de couleur, qui peut être utilisé pour calculer la couleur opposée de la région sélectionnée. Ceci est utile pour réduire les dominantes de couleur indésirables (par exemple, la rougeur de la peau), car le fait de déplacer la couleur vers son opposée la neutralise.

Décalage global

Cela équivaut au décalage ASC CDL et revient à ajouter une valeur RVB constante à tous les pixels, tout comme la correction du niveau de noir dans le module exposition. Ce contrôle n’utilise pas de masquage.

Lift des ombres

Ceci est conceptuellement équivalent au lift de lift/gamma/gain, bien qu’implémenté différemment, et revient à multiplier les pixels masqués par une valeur RVB constante. Il est appliqué à l’aide du masque ombres.

Gain des hautes lumières

Cela équivaut à la pente ASC CDL et revient à multiplier les pixels masqués par une valeur RVB constante. Il est appliqué à l’aide du masque hautes lumières.

Puissance globale

Cela équivaut à la puissance ASC CDL et revient à appliquer un exposant constant en RVB. Il n’est pas masqué et doit être normalisé, car la fonction puissance a un comportement différent au-dessus et en dessous de 1, et nous sommes dans un pipeline illimité où le blanc est généralement supérieur à 1. Le paramètre de normalisation pivot du blanc est disponible dans seuil de l’onglet masques.

Onglet masques

Cet onglet définit des contrôles auxiliaires pour les onglets précédents. Les contrôles de masquage ne nécessitent généralement aucune modification de l’utilisateur, car les valeurs par défaut sont calibrées pour répondre à la plupart des besoins et répondent aux attentes normales du pipeline de pixels relatif à la scène. Vous ne devriez avoir besoin de modifier ces paramètres que dans des scénarios spécifiques.

Plages de luminance

Les graphiques montrent l’opacité (sur l’axe y) des 3 masques de luminance par rapport à la luminance du pixel (sur l’axe x). La courbe la plus sombre représente le masque ombres, la plus claire représente le masque hautes lumières et la troisième courbe représente le masque tons moyens.

Seuls les masques ombres et hautes lumières peuvent être contrôlés directement – le masque tons moyens est calculé à partir des deux autres et agit comme une variable d’ajustement.

transition des ombres
Contrôle la douceur ou la dureté de la transition de totalement opaque (100%) à totalement transparent (0%) pour le masque d’ombres.
pivot du gris moyen du masque
Définit la valeur de luminance où les trois masques ont une opacité de 50 %. En pratique, cela est utilisé pour définir comment l’image est séparée en ombres et en hautes lumières.
transition des hautes lumières
Contrôle la douceur ou la dureté de la transition d’entièrement opaque (100%) à entièrement transparent (0%) pour le masque de hautes lumières.

Pour chacun de ces paramètres, un bouton de masque, à droite du curseur, affiche le masque correspondant (ombres, demi-tons, hautes lumières), superposé en damier. La zone encore visible de l’image (non masquée par le masque) est la zone qui sera affectée par les curseurs ombres, tons moyens et hautes lumières des autres onglets.

Tous les aperçus de masque affichent la sortie du module, y compris les modifications de couleur apportées, vous pouvez donc également les activer lors de l’édition, pour ne voir que la partie affectée de l’image.

Les masques de luminance sont calculés à l’entrée du module, ce qui signifie qu’ils sont insensibles aux changements de luminance effectués par le module.

Seuils

pivot du point blanc
Règle la luminance du point blanc en IL. Ceci est utilisé pour normaliser le paramètre puissance dans l’onglet 4 voies. Les implémentations relatives à la scène des fonctions de puissance supposent que le blanc est à 100 %, ce qui élimine le besoin de normalisation. Dans un contexte relatif à la scène, cela doit être pris en compte.

La pipette de couleur à droite du curseur règle automatiquement le pivot du blanc sur la luminance maximale de la région sélectionnée, ce qui devrait être suffisant dans la plupart des cas.

pivot du gris du contraste
Définit le pivot pour le paramètre contraste dans l’onglet maître. Cela correspond à la valeur de luminance qui sera laissée inchangée par le réglage du contraste. Ce paramètre correspond généralement à la valeur linéaire du gris moyen. Si vous avez suivi les recommandations de flux de travail relatif à la scène et défini la luminosité globale au début du pipeline, à l’aide du module exposition, la valeur correcte doit généralement être d’environ 18 à 20 %.

La pipette de couleur à droite du curseur règle automatiquement le pivot du gris du contraste sur la luminance moyenne de la région sélectionnée. Cela repose sur l’hypothèse que la luminance moyenne est généralement proche du gris moyen, ce qui n’est pas vrai si vous avez des reflets spéculaires ou des sources lumineuses primaires dans le cadre, ou pour des images low/high-key.

Formule de saturation

Notez que ce paramètre n’est pas vraiment approprié pour l’onglet masques (puisqu’il n’est pas techniquement lié aux masques) mais il est placé ici pour économiser de l’espace d’affichage et parce qu’il n’est pas destiné à être utilisé régulièrement. Deux options sont proposées :

JzAzBz (2021)
Ce mode est l’algorithme de saturation d’origine. Il utilise l’espace colorimétrique uniforme JzAzBz (UCS) pour calculer la saturation. Cet espace colorimétrique n’est pas destiné aux changements de couleur et sa clarté ne tient pas compte de l’effet Helmholtz-Kohlrausch , qui stipule que les couleurs vives paraîtront plus lumineuses que les couleurs neutres ou presque neutres (gris et pastels) de même luminance. Il souffre également d’un comportement non lisse près du noir, les couleurs étant trop assombries.
UCS Ansel (2022)
L’espace colorimétrique uniforme de Ansel a été conçu dès le départ , en utilisant des ensembles de données de mesures psychoperceptuelles, dans le seul but de la manipulation des couleurs (saturation) effectuée par ce module. Cet espace colorimétrique tient compte de l’effet Helmholtz-Kohlrausch  et possède une formule de mappage du gamut intégrée qui est plus précise et efficace que celle qui peut être réalisée en JzAzBz. Il affiche un comportement plus fluide qui rend les changements de saturation plus uniformes sur toute la plage de clarté.

Mask preview settings

Ces paramètres s’appliquent aux aperçus de masque, affichés en cliquant sur les boutons de masque dans la section étendues de luminance. Ces paramètres sont enregistrés globalement et seront donc appliqués à toutes les images suivantes, à moins qu’ils ne soient modifiés.

couleur 1 et 2 du damier
Définit les deux couleurs de la sous-couche du masque du damier d’arrière-plan. Vous pouvez les définir sur des couleurs opposées de l’image actuelle pour faciliter la lisibilité.
taille du damier
Définit la largeur des cellules du damier en pixels (ajustée en fonction du paramètre DPI de l’écran).

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 pratique, vous devez utiliser le réglage de chroma si vous souhaitez conserver la linéarité de la scène de l’émission lumineuse et/ou conserver la luminance inchangée. Cependant, ces changements peuvent affecter certaines teintes plus fortement que d’autres, en raison du fait que l’espace colorimétrique n’est pas entièrement mis à l’échelle perceptuellement.

La saturation est plus proche de l’effet du mélange de peinture blanche avec une couleur de base. La réduction de la saturation du rouge le dégradera en rose, tandis que la réduction de sa chroma se dégradera en une nuance de gris à la même luminance. La saturation est peut-être un moyen plus intuitif d’interagir avec la couleur, en raison de son lien avec la peinture.

Choisir l’un ou l’autre est principalement une question de décider où sur le graphique (clarté, chroma) vous voulez pousser vos couleurs, et où elles doivent commencer. Pour atteindre des couleurs pastel, la saturation est la voie à suivre. Pour atteindre des couleurs laser (presque monochromatiques), au risque de paraître synthétiques, la chroma est la voie à suivre.

What is the connection with lift/gamma/gain?

L’algorithme lift/gamma/gain repose sur un espace colorimétrique relatif à l’affichage, car il suppose une plage dynamique limitée et symétrique, avec un point blanc à 100 % et un gris à 50 %. En tant que tel, il est tout simplement inutilisable dans un espace relatif à la scène. Cependant, la seule partie incompatible est le lift. Le gamma est exactement la puissance ASC CDL, et le gain est exactement la pente ASC CDL.

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

Voici l’ordre interne des opérations au sein du module :

  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.

Mises en garde

Le réglage de la chroma globale à -100 % ne produira pas une véritable image monochrome, comme c’est le cas avec d’autres algorithmes. La raison en est que l’espace RVB utilisé a un point blanc D65 défini dans l’espace CIE LMS 2006, tandis que Ansel utilise un point blanc défini dans l’espace CIE XYZ 1931, et il n’y a pas de conversion exacte entre ces espaces. Le résultat sera donc une image en noir et blanc légèrement teintée. Si votre intention est d’obtenir une vraie image en noir et blanc en utilisant le canal de luminance, le module calibration des couleurs propose un préréglage N&B : basé sur la luminance qui fait exactement la même chose mais sans la différence de point blanc.

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.

Pour des raisons de performances, les conversions non linéaires depuis et vers l’espace RVB de travail sont ignorées, ce qui signifie que la colorimétrie interne sera erronée lors de l’utilisation d’espaces colorimétriques non linéaires. Notez qu’il n’y a aucune raison d’utiliser des espaces non linéaires comme espace RVB de travail car ils rendent le mélange alpha plus difficile sans aucun avantage.


  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  ↩︎