An advanced module which brings color-grading tools from cinematography into the photographic scene-referred pipeline.

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.

introduzione

Il color-grading è una parte importante dell’elaborazione immagini. Può aiutare a rimuovere dominanti di colore non desiderate e può anche consegnare un guizzo creativo di colore che aggiunge atmosfera alla tua immagine. Nei giorni della fotografia su pellicola, la maggior parte dell’atmosfera cromatica veniva ottenuta con le emulsioni della pellicola e gli elementi chimici di sviluppo, con alcune tempistiche per il colore eseguite sotto l’ingranditore con un filtro colorato. Questo consumata risorse costose ed era il larga parte riservato all’industria del cinema, dove il lavoro veniva eseguito da un colorista.

Nell’era digitale, dove le immagini raw appaiono piatte e regolari, il color-grading assume lo stesso ruolo che ebbero le emulsioni nella pellicola, reintroducendo lo spostamento del colore per obiettivi estetici. Può servire anche per armonizzare la tavolozza dei colori di una serie di immagini (che potrebbero esser state scattate sotto condizioni differenti) per ottenere un aspetto consistente. Per questo compito è estremamente utile anche il vettorscopio.

I coloristi di solito suddividono il processo di color-grading in due passi distinti:

  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 color-grading primario è meglio lasciarlo al modulo calibrazione colore, il quale opera in un contesto di accuratezza fisica più idoneo alla correzione delle illuminanti. Il bilanciamento colore RGB, d’altro canto, si preoccupa maggiormente del color-grading secondario. Effettuare un color-grading primario realmente neutrale dovrebbe rendere il color-grading secondario facile da trasferire tra le immagini (con gli stili, preset o copia&incolla) con un effetto simile.

principi generali

Il modulo bilanciamento colore RGB è un miglioramento della Lista Decisione Colori (“Color Decision List”) dell’American Society of Cinematographers (EN)  (ASC CDL), e usa maschere alfa per permettere all’effetto di essere suddiviso correttamente tra ombre e alteluci. Il CDL classico agisce sull’intero intervallo di luminanza, ed a ciascuno dei suoi parametri è dato più peso in alcune parti dell’immagine soltanto come effetto collaterale della matematica.

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

Il modulo bilanciamento colore RGB si aspetta un input lineare riferito alla scena e produce un output RGB riferito alla scena, il quale potrebbe essere non lineare, in base alle impostazioni del modulo (contrasto e potenza “de-linearizzeranno” l’output).

Nella fase di output, bilanciamento colore RGB, controlla che i colori corretti si adattino all’interno dello spazio colore RGB della coda di elaborazione (predefinito Rec 2020) e applica un taglio della saturazione morbido con tonalità costante, puntando a ridirezionare i colori fuori scala (gamut) verso i colori in scala più vicini, ridimensionando sia luminosità che cromaticità. Ciò previene che le impostazioni di crominanza e saturazione spingendo i colori fuori dall’intervallo valido, e permettono di operare in modo sicuro regolazioni più drastiche.

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

Controlli modulo

scheda master

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.
vibranza globale
Questo interessa la dimensione del colore della crominanza sull’intera immagine, dando priorità a quei colori con bassa crominanza. Permette di incrementare la crominanza dei colori neutrali senza esagerare i pixel già vivaci.
contrasto
Questa impostazione viene applicata sul canale della luminanza con tonalità e crominanza costante. L’impostazione del fulcro (nella scheda maschere, sotto fulcro del contrasto del grigio) ti permette di impostare il punto neutrale della curva di contrasto:
  • sul fulcro, la curva di contrasto lascia la luminanza invariata,
  • sotto il fulcro, la curva di contrasto riduce la luminanza per valori di contrasto positivi o la incrementa per i valori negativi,
  • sopra il fulcro, la curva di contrasto incrementa la luminanza per valori di contrasto positivi o la riduce per i valori negativi.

Il fulcro ha un valore predefinito di 18.45%, che è consistente con il flusso di lavoro riferito alla scena corrente e dovrebbe essere appropriato nella maggior parte dei casi (se si assume che la luminosità globale sia stata corretta con il modulo esposizione come raccomandato).

L’algoritmo di contrasto restituisce risultati naturali che imitano la parte centrale della curva di contrasto di una pellicola analogica. Ciononostante incrementerà anche la gamma dinamica dell’immagine, il che potrebbe invalidare le impostazioni di filmic nella coda di elaborazione. Per le regolazioni sul contrasto globale, normalmente dovresti usare il modulo equalizzatore toni – il selettore scorrevole di contrasto in bilanciamento colore RGB si usa al meglio con le maschere, per esempio per correzioni selettive in primo o in secondo piano.

Gradiente cromatico lineare

La gradazione di crominanza lineare influenza la dimensione di crominanza proporzionalmente al suo valore di input, con tonalità e luminanza costante. Lo fa a livello globale, con un coefficiente piatto (usando crominanza globale), così come su ciascuna delle maschere delle ombre, mezzi toni e alteluci (definite nella scheda maschere sotto gamme di luminanza).

Gradiente di saturazioen percettivo

La gradazione percettiva della saturazione influenza assieme le dimensioni di luminanza e crominanza, nello spazio percettivo, proporzionalmente al suo valore di input, a tonalità costante. Lo fa a livello globale, con un coefficiente piatto (usando saturazione globale), così come su ciascuna delle maschere delle ombre, mezzi toni e alteluci (definite nella scheda maschere sotto gamme di luminanza).

Gradiente percettivo di brillantezza

La gradazione percettiva della brillantezza influenza assieme le dimensioni di luminanza e crominanza, nello spazio percettivo, proporzionalmente al suo valore di input, a tonalità costante e in direzione ortogonale alla saturazione. Is suo effetto è simile a cambiare l’esposizione, ma ridimensionato percettivamente. Lo fa a livello globale, con un coefficiente piatto (usando brillantezza globale), così come su ciascuna delle maschere delle ombre, mezzi toni e alteluci (definite nella scheda maschere sotto gamme di luminanza).

scheda 4 vie

Ognuna delle impostazioni nella scheda 4 vie è composta dagli stessi tre componenti, i quali definiscono un colore usando coordinate indipendenti:

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

Input di colore come questo stabiliscono uno spostamento del colore applicato all’intera immagine o alle specifica gamma di luminanza.

Each hue slider has a color picker, which may be used to compute the opponent color of the selected region. This is useful to revert unwanted color casts (e.g. skin redness), since shifting the color to its opponent cast neutralizes it.

Spostamento globale

Questo è l’equivalente dell’offset ASC CDL, e funziona aggiungendo un valore RGB costante a tutti i pixel, similarmente a quello che fa spostamento livello del nero del modulo esposizione. Questo controllo non usa maschere.

Aumento ombre

Questo è concettualmente equivalente a lift from lift/gamma/gain, sebbene sia implementato differentemente, e funziona moltiplicando per un valore RGB costante i pixel sotto la maschera. Viene applicato usando la maschera ombre.

Guadagno alteluci

Questo è equivalente alla pendenza ASC CDL, e funziona moltiplicando per un valore RGB costante i pixel sotto la maschera. Viene applicato usando la maschera alteluci.

power globale

Questo è l’equivalente del power ASC CDL, e funziona applicando un valore RGB costante come esponente. Non viene mascherato e necessita di essere normalizzato, in quanto la funzione di potenza ha un comportamento differente sopra e sotto il valore di 1, e siamo in una coda di elaborazione senza vincoli dove il bianco è tipicamente maggiore di 1. Il parametro di normalizzazione è disponibile nella scheda maschere sotto fulcro del bianco.

scheda maschere

Questa scheda definisce controlli ausiliari per le schede precedenti. I controlli del mascheramento tipicamente non necessitano alcun intervento dell’utente, dato che i valori predefiniti sono calibrati per adattarsi alla maggior parte delle necessità e per soddisfare le normali aspettative nella coda di elaborazione riferita alla scena. Dovresti cambiare queste impostazioni soltanto in scenari specifici.

gamme di luminanza

Il grafico mostra l’opacità (sull’asse delle y) delle 3 maschere di luminanza relative alla luminosità dei pixel (sull’asse delle x). La curva più scura rappresenta la maschera delle ombre, la più chiara rappresenta la maschera delle alteluci, e la terza curva rappresenta la maschera dei mezzi toni.

Solo le maschere di ombre e alteluci possono essere controllate direttamente – la maschera dei mezzi toni viene calcolata indirettamente dalle altre e lavora come variabile di aggiustamento.

caduta delle ombre
Controlla la morbidezza o la durezza della transizione da completamente opaco (100%) a completamente trasparente (0%) per la maschera delle ombre.
fulcro della maschera del grigio medio
Imposta il valore di luminanza dove tutte e tre le maschere hanno il 50% di opacità. In pratica serve per stabilire dove l’immagine è divisa in ombre e alteluci.
caduta delle alteluci
Controlla la morbidezza o la durezza della transizione da completamente opaco (100%) a completamente trasparente (0%) per la maschera delle alteluci.

Per ciascuna di queste impostazioni un pulsante di maschera, fornito alla destra del selettore scorrevole, mostra la maschera appropriata (ombre, mezzi toni, alteluci), sovrapposta come una scacchiera. L’area dell’immagine ancora visibile (non nascosta dalla maschera) è l’area che verrà interessata dai selettori scorrevoli di ombre, mezzi toni e alteluci nelle altre schede.

Tutti i preview delle maschere mostrano l’output del modulo, includendo qualsiasi cambiamento del colore fatto, in modo tale che puoi attivarle mentre fai le modifiche, per poter vedere solo le aree interessate dell’immagine.

La maschera di luminanza viene calcolata sull’input del modulo, il che significa che è insensibile a qualsiasi variazione della luminanza effettuata all’interno del modulo.

soglia

fulcro del bianco
Imposta in EV il punto di luminanza del bianco. Questo viene usato per normalizzare l’impostazione di potenza nella scheda 4 vie. Le implementazioni della funzione di potenza riferite al monitor assumono che il bianco sia 100%, il ché elimina l’esigenza di normalizzazione. Per gli output riferiti alla scena questo deve essere tenuto a mente.

The color picker to the right of the slider automatically sets the white fulcrum to the maximum luminance from the selected region, which should be sufficient in most cases.

fulcro del contrasto del grigio
Imposta il fulcro per il parametro contrasto nella scheda master. Corrisponde al valore di luminanza che deve essere lasciato inalterato dalla regolazione del contrasto. Questa impostazione corrisponde solitamente al valore lineare del grigio medio. Se hai seguito le raccomandazioni del flusso di lavoro riferito alla scena e impostato la luminosità globale all’inizio della coda di elaborazione (usando il modulo esposizione), il valore corretto dovrebbe essere di solito attorno al 18-20%.

The color picker to the right of the slider automatically sets the contrast gray fulcrum to the average luminance from the selected region. This relies on the assumption that the average luminance is usually close to middle-gray, which is not true if you have specular highlights or primary light sources in the frame, or for low/high-key images.

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.

Impostazioni maschera di anteprima

Queste impostazioni si applicano all’anteprima della maschera, visualizzata quando si clicca sui pulsanti maschera nella sezione gamme di luminanza. Queste impostazioni sono registrate globalmente, e verranno applicate a tutte le immagini future, a meno che non vengano cambiate.

colore scacchiera 1 e 2
Imposta i due colori della scacchiera di sfondo alla maschera. Puoi impostarli su colori opposti all’immagine corrente per aiutare la leggibilità.
dimensione scacchiera
Imposta la dimensione in pixel delle caselle della scacchiera (ridimensionate rispetto alla risoluzione in DPI del monitor).

FAQ

saturazione o cromaticità?

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.

In pratica, dovresti usare l’impostazione della cromaticità se vuoi riservare la linearità dell’emissione della luce propria della scena, e/o mantenere la luminanza invariata. In ogni caso, questi cambiamenti potrebbero interessare alcune tonalità più che altre, dato che lo spazio colore non è completamente ridimensionato percettivamente.

La saturazione è più vicina all’effetto del mischiare la vernice bianca con un colore di base. Ridurre la saturazione del rosso degraderà in rosa, mentre ridurre la sua cromaticità degraderà verso un’ombra grigia della stessa luminanza. La saturazione è forse un modo più intuitivo per interagire con il colore, grazie alla sua analogia con la pittura.

Scegliere uno o l’altro è più che altro una questione di decidere dove vuoi spingere i tuoi colori sul grafico (luminosità, cromaticità), e da dove partire. Per raggiungere colori pastello, saturazione è la strada da percorrere. Per raggiungere colori “laser” (quasi monocromatici), al confine da sembrare sintetici, cromaticità è la via da seguire.

qual’è la relazione con lift/gamma/guadagno?

L’algoritmo lift/gamma/guadagno fa riferimento allo spazio colore riferito al monitor, in quanto assume una gamma dinamica simmetrica e delimitata, con il punto del bianco al 100% e il grigio al 50%. Con questi presupposti è semplicemente inusabile nello spazio colore riferito alla scena. Comunque sia, l’unica parte incompatibile è il lift. La gamma è esattamente come il power definito da ASC CDL, e il guadagno è esattamente la pendenza di ASC CDL.

Il modulo bilanciamento colore RGB ha semplicemente due pendenze invece che una: il guadagno, applicato alle alteluci estratto dall’intera immagine con una maschera, e il lift, applicato similarmente ma sulle ombre.

cambiare il contrasto

Mentre bilanciamento colore RGB è per lo più riguardo i colori (altri moduli gestiscono il contrasto globale preservando la cromaticità), la luminanza è parte del colore esattamente come tonalità e cromaticità, e necessita anche questa di essere gestita qui, dato che la percezione della saturazione si basa su di essa. Se vuoi trasformare il rosso in rosa, per esempio, riducendo la sua cromaticità otterrai il grigio, quindi hai bisogno di incrementare anche la luminanza.

Ci sono molti modi di cambiare il contrasto in bilanciamento colore RGB, sia localmente (con le maschere) o globalmente (senza maschere):

  • 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 differenza tra questi metodi sta in come il loro effetto verrà pesato in relazione all’input del modulo. Si consiglia di effettuare la maggior parte delle regolazioni sul contrasto di luminanza nei moduli filmic e equalizzatore toni, di intraprendere le modifiche finali in bilanciamento colore RGB mentre si controllano i colori.

funzionamento interno

Il seguente è la l’ordine interno delle operazioni all’interno del modulo:

  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.

note

Impostare la cromaticità globale al -100% non produrrà un’immagine realmente monocromatica come di consueto con altri algoritmi. La ragione sta nel fatto che lo spazio colore RGB usa D65 come punto di bianco predefinito nello spazio CIE LMS 2006, mentre Ansel usa un punto di bianco definito nello spazio CIE XYZ 1931, e non esiste una conversione precisa tra questi due spazi. Il risultato sarà quindi un’immagine in bianco e nero ma leggermente tinta. Se l’intenzione è di creare una vera immagine in bianco e nero usando il canale della luminanza, il modulo calibrazione colore offre un preset B/N: basato sulla luminanza che fa esattamente la stessa cosa senza la discrepanza del punto di bianco.

Questo modulo ha la sua mappatura della gamma (gamut) (contro la coda di elaborazione RGB) sempre abilitato. Questo significa che, se la tua immagine contiene colori ampiamente fuori gamma, iniziare semplicemente attivando bilanciamento colore RGB senza particolari impostazioni altererà leggermente i suoi colori. Probabilmente in meglio.

La saturazione massima permessa nella coda di elaborazione RGB è registrata per ciascuna tonalità quando il modulo viene inizializzato, e viene messa in cache in LUT (Look Up Table, tabella di ricerca) per salvare le prestazioni. Se il profilo colore viene cambiato più tardi, bilanciamento colore RGB non viene notificato, e significa che non aggiornerà la cache con i valori di tonalità/saturazione. Per forzare l’aggiornamento della LUT, puoi semplicemente modificare qualsiasi impostazione nel modulo bilanciamento colore RGB, e ripristinarlo subito dopo. Non è comunque raccomandato di cambiare lo spazio di lavoro RGB a metà di una sessione di sviluppo, in quanto potrebbe produrre cambiamenti indesiderati in cromaticità e tonalità.

Per ragioni di prestazioni, le conversioni non-lineare da e verso gli spazi di lavoro RGB vengono saltate, quindi il colorimetro interno valuterà in errore quando si usano spazi colore non lineari. Notare che non c’è ragione di usare spazi non-non lineari per lavorare in RBG, dato che rendono la fusione sul canale alfa più complicata senza alcun 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  ↩︎