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

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 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, la gradation des couleurs assure le même rôle que les émulsions de film, en réintroduisant des changements de couleur à des fins esthétiques. Elle peut également servir à harmoniser les couleurs d’une série d’images (qui peuvent avoir été prises dans des conditions différentes) pour obtenir un aspect 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. 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.

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

principes généraux

Le module balance couleur rvb est une amélioration par rapport à American Society of Cinematographers Color Decision List  (ASC CDL), et utilise des masques alpha pour appliquer séparément l’effet sur 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 en tant qu’effet secondaire des mathématiques.

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 RGB module).

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

À sa sortie, balance des couleurs RGB vérifie que les couleurs transformé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 à recentrer la couleur hors gamut vers la couleur dans le gamut la plus proche, en mettant à l’échelle à la fois la chroma et la clarté. Cela empêche les paramètres de chroma et de saturation de pousser les couleurs en dehors de la plage valide et permet d’utiliser des réglages plus drastiques en toute sécurité.

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 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 analogique. Cependant, cela augmentera également la plage dynamique de l’image, ce qui peut invalider les paramètres filmique dans le pipeline. Pour les réglages de contraste globaux, vous devriez normalement utiliser le module égaliseur de ton – le curseur de contraste dans balance des couleurs RGB est mieux utilisé avec les masques, par ex. pour des corrections sélectives sur le premier plan ou l’arrière-plan.

gradation 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).

gradation de saturation perceptuelle

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).

gradation de la brillance perceptuelle

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).

4 ways tab

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. hue,
  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 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.

global power

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.

masks tab

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.

étendues 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.

thresholds

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é.

paramètres de prévisualisation du masque

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 RGB 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.

quel est le lien avec 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.

Le module balance des couleurs RGB a simplement deux pentes au lieu d’une : le gain, appliqué sur les hautes lumières extraites de l’ensemble de l’image par un masque, et le lift, appliqué de manière similaire mais sur les ombres.

changing contrast

Alors que la balance des couleurs RVB concerne principalement la couleur (d’autres modules gèrent le contraste global de manière à préserver la chromaticité), la luminance fait autant partie de la couleur que la teinte ou la chroma, et elle doit être traitée ici aussi, car la perception de la saturation repose dessus. Si vous souhaitez passer du rouge au rose, par exemple, réduire sa chroma le rendra gris, vous devez donc également augmenter sa luminance.

Il existe plusieurs manières de modifier le contraste dans balance des couleurs RVB, soit localement (avec masques) soit globalement (sans) :

  • 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.

La différence entre ces méthodes réside dans la façon dont l’effet sera pondéré par rapport à l’entrée du module. Il est conseillé d’effectuer la majorité des réglages de contraste de luminance dans les modules filmique et égaliseur de ton, puis d’effectuer les modifications finales de balance des couleurs RVB tout en examinant les couleurs.

traitement interne

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.

Ce module a un mappage de gamut (dans l’espace RGB du pipeline) constamment activé. Cela signifie que si votre image d’origine contient des couleurs largement hors gamme pour commencer, le simple fait d’activer balance des couleurs RVB sans paramètre particulier modifiera légèrement ses couleurs. C’est probablement pour le mieux.

La saturation maximale autorisée dans l’espace RVB de travail du pipeline est enregistrée pour chaque teinte lors de l’initialisation du module, et est ensuite mise en cache dans une LUT (table de correspondance) pour économiser les performances. Si le profil de travail est modifié ultérieurement, balance des couleurs RGB n’est pas notifié, ce qui signifie qu’il ne mettra pas à jour sa LUT de teinte/saturation en cache. Pour forcer une mise à jour LUT, vous pouvez simplement modifier n’importe quel paramètre dans le module balance des couleurs RGB, puis le modifier à nouveau. Il n’est pas recommandé de modifier l’espace RVB de travail à mi-chemin d’une session d’édition, car cela pourrait entraîner des changements inattendus de chroma et de teinte.

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