Fondamenti sulla gestione dei colori

Panoramica

La ragione dell’esistenza di una procedura per gestire il colore è quella di assicurare che i colori che provengono dalla tua macchina fotografica o dal tuo scanner abbiano una relazione prevedibile con i colori che hai veramente fotografato o scansionato, che i colori mostrati sul tuo schermo combacino con quelli provenienti dalla tua macchina fotografica o dallo scanner, e che i colori che stampi o che visualizzi sul web siano gli stessi prodotti nella tua camera oscura digitale.

Il tipico flusso di lavoro sui colori acquisisce le immagini con una macchina fotografica o uno scanner, visualizza le immagini su uno schermo e le stampa con una stampante. Sebbene ognuno di questi dispositivi è in grado di rappresentare i colori utilizzando i valori RGB a 8 bit, essi non lo fanno esattamente allo stesso modo. Nello specifico, un valore RGB di (200,130,200) corrisponderà probabilmente a sfumature diverse di viola in ciascuno di questi dispositivi. Lo scopo della gestione dei colori è regolare i valori RGB dei dati dell’immagine durante lo spostamento dall’ingresso alla visualizzazione e alla stampa, in modo che l’immagine conservi gli stessi colori percepiti su tutti i dispositivi.

La Gestione dei colori funziona caratterizzando la capacità di riproduzione dei colori (chiamata anche «spazio dei colori») di ciascun dispositivo (fotocamera, scanner, monitor o stampante) in quello che è chiamato profilo ICC. I profili ICC sono definiti, possono essere dunque usati per tradurre i numeri RGB utilizzati per rappresentare un colore specifico, in un punto del flusso di lavoro, nei corretti numeri RGB in un altro punto del flusso di lavoro, al fine di rappresentare lo stesso preciso colore. Nella figura che segue è rappresentata la Gestione dei colori che utilizza le conversioni ICC.

Lo schema complessivo degli spazi dei colori utilizzato in un’applicazione con gestione dei colori come digiKam

Per convertire da qualsiasi spazio dei colori a qualsiasi altro spazio dei colori, è stato deciso che tutti i profili ICC debbano essere definiti, in modo che siano in grado di convertire tra lo spazio dei colori del dispositivo e uno spazio dei colori di lavoro comune. Sono pertanto due le conversioni ICC mostrate nel grafico per convertire i dati da una fotocamera in dati adatti alla visualizzazione in un monitor: una dalla fotocamera allo spazio di lavoro e una dallo spazio di lavoro al monitor. Alla luce di questo, la gestione dei colori è fondamentalmente una questione di utilizzare i corretti profili dei dispositivi per consentire la giusta conversione dei dati dell’immagine, nel suo movimento da un dispositivo a un altro.

Quando si arriva alla gestione dei colori, tutti vogliono sapere quali pulsanti vanno premuti per ottenere i colori corretti. Sfortunatamente, la gestione del colore implica fare delle scelte consapevoli in ogni passaggio dell’elaborazione dell’immagine. Lo scopo di questa guida è proprio quello di fornire una sufficiente formazione di base sulla gestione del colore, insieme ad alcuni collegamenti a informazioni più approfondite, per far sì che tu possa iniziare a prendere delle decisioni consapevoli.

Quando non hai bisogno della Gestione dei colori

Se il flusso di lavoro di gestione delle tue immagini soddisfa tutti e sei i criteri elencati qui sotto, allora non hai bisogno di preoccuparti della gestione dei colori:

  • Stai lavorando in uno schermo correttamente calibrato nello spazio dei colori sRGB (per una descrizione dettagliata dello spazio dei colori sRGB, consulta questa sezione del manuale).

  • La tua gestione delle immagini inizia da un’immagine JPEG prodotta dalla fotocamera che è già nello spazio colore sRGB.

  • Modifichi esclusivamente nello spazio dei colori sRGB.

  • La tua stampante vuole immagini nello spazio dei colori sRGB.

  • Il tuo scanner produce immagini nello spazio dei colori sRGB.

  • Il tuo unico altro modo di utilizzare le immagini è tramite la posta elettronica o il web, dove sRGB è lo standard de facto.

Definizioni utili

Per capire meglio la Gestione dei colori dobbiamo definire alcuni termini chiave:

Il profilo ICC è un gruppo di dati che caratterizza un input di colori o un dispositivo di uscita, oppure uno spazio dei colori, conformemente a standard promulgati dall’Interglobal Color Consortium (ICC). I profili descrivono gli attributi dei colori di un dispositivo specifico (o i requisiti di visualizzazione per un’immagine) definendo una mappatura tra la sorgente del dispositivo o lo spazio dei colori di destinazione e uno spazio di connessione tra profili (PCS, Profile Connection Space). Questo PCS può essere CIELAB (L*a*b*) o CIEXYZ. Le mappature possono essere specificate tramite tabelle, a cui viene applicata l’interpolazione, o tramite una serie di parametri per le trasformazioni.

Il paragrafo sulla panoramica semplifica molto il profilo ICC, considerandolo una mappatura tra il dispositivo e uno spazio di lavoro, quando in realtà essi convertono in un PCS. Si può pensare al PCS come uno spazio dei colori universale. Il flusso dalla fotocamera al monitor può dunque implicare in realtà quattro conversioni dello spazio dei colori: da fotocamera a PCS, da PCS a spazio di lavoro, da spazio di lavoro a PCS e da PCS a monitor. Le ragioni per questi passaggi aggiuntivi sono descritti sotto.

Gamut è la gamma dei colori che può essere precisamente codificata all’interno di un’immagine, o rappresentata da un dispositivo.

Punto di bianco è un gruppo di valori RGB che serve per definire il colore «bianco» in un’immagine o una riproduzione.

Correzione gamma è un’operazione non lineare utilizzata per codificare e decodificare i valori in immagini, in modo da ridurre gli artefatti visivi causati dalla memorizzazione dei dati di pixel con un numero finito di bit. Per esempio, le immagini sono codificate con una gamma di circa 0,45 e decodificate con la gamma reciproca di 2,2 per la visualizzazione sulla maggior parte dei monitor dei computer.

Un semplice esempio di questo tipo di conversione potrebbe risultare utile. Per applicare una correzione di gamma di 2,2 a un valore di dati di 212 in una rappresentazione a 8 bit, dividi il valore per 2^8 = 256 per convertire in una scala da 0 a 1. In questo caso 212/256 = 0,828. Quindi eleva questo valore alla potenza di 2,2, 0,828^2.2 = 0,660. Poi moltiplica per 256 per riconvertire a una scala da 0 a 255: 0,660 * 256 = 169. La correzione di gamma applica questo stesso algoritmo a ogni colore in ciascun pixel nell’immagine, tutto in tempo reale.

Gli spazi dei colori più semplici possono essere specificati da una combinazione di gamut, punto di bianco e gamma.

Convertire un’immagine a un nuovo profilo incorpora il nuovo profilo nell’immagine, ma cambia anche i numeri RGB nell’immagine, in modo che il significato dei valori RGB (cioè, i colori visibili del mondo reale sono rappresentati dal trio numerico RGB associato a ogni pixel dell’immagine) rimanga lo stesso prima e dopo la conversione da uno spazio all’altro.

Se gli spazi differiscono soltanto per le loro gamme, allora la conversione implica la correzione di gamma con uso delle rispettive gamme degli spazi dei colori iniziali e finali. Le conversioni dei colori che comportano gamut e punti di bianco sono matematicamente più complessi ma si basano su una logica simile.

In teoria dovresti essere in grado di fare conversioni multiple di un’immagine da uno spazio dei colori a un altro e, se stai usando un editor di immagini che viene gestito dal colore, l’immagine mostrata sul tuo schermo dovrebbe sembrare la stessa anche se tutti i numeri RGB nell’immagine cambiassero a ogni conversione. In verità, gli errori di arrotondamento si verificano a ogni conversione, e può verificarsi il taglio del gamut quando si passa da uno spazio dei colori più grande a uno più piccolo. Pertanto, la precisione dei colori dell’immagine degrada un pochino ogni volta che converti da uno spazio a un altro.

Assegnare un profilo dei colori cambia il significato dei numeri RGB in un’immagine, incorporando un nuovo profilo senza cambiare i numeri RGB reali associati a ciascun pixel nell’immagine. Quando assegni semplicemente un nuovo profilo dei colori, l’aspetto dell’immagine dovrebbe cambiare più o meno drasticamente (di solito in peggio, a meno che il profilo sbagliato non sia stato precedentemente incorporato inavvertitamente nell’immagine). L’unica eccezione si verifica quando si assegna inizialmente un profilo della fotocamera al file immagine ottenuto dal software di elaborazione RAW. Rappresenta un’eccezione perché l’assegnazione è presumibilmente il profilo dei colori corretto per un’immagine prodotta da quella fotocamera.

Profili dipendenti dal dispositivo e indipendenti dal dispositivo: un profilo della fotocamera, un profilo dello scanner, il profilo del monitor e quello della tua stampante sono tutti profili dipendenti dal dispositivo: questi profili funzionano solo con un dispositivo specifico per il quale sono stati prodotti attraverso la profilazione. I profili degli spazi di lavoro e lo spazio di connessione tra profili (PCS) sono indipendenti dal dispositivo. Una volta che il file di immagine è stato tradotto da LCMS (il sistema di gestione dei colori open source utilizzato in digiKam) a uno spazio di lavoro indipendente dal dispositivo, in un certo senso non ha più importanza quale dispositivo ha originariamente prodotto l’immagine. Ma non appena vuoi visualizzare o stampare l’immagine, allora il dispositivo di uscita (monitor, stampante) assume molta importanza, e l’immagine deve essere convertita all’interno del profilo del dispositivo di uscita.

Un file RAW demosaicizzato non è un file RAW. Per qualche ragione, questo semplice punto causa molta confusione. Dopo che un file RAW è stato interpolato e demosacizzato dal programma di elaborazione RAW, e dunque restituito come file TIFF o JPEG, mentre il file RAW originale è ancora un file RAW, ma il file demosacizzato è semplicemente un file immagine. Non è più un file RAW.

Lineare ha due definizioni correlate e facilmente confondibili. Lineare può significare che la tonalità dell’immagine riflette la tonalità della scena originale, esattamente come è stata fotografata, invece di essere alterata da qualche applicazione con una curva a S o altri mezzi di modifica della tonalità locale e globale. Può anche voler significare che la curva di trasferimento della gamma dello spazio dei colori è lineare. Un’immagine può essere lineare in uno dei due sensi, entrambi o nessuno dei due. Un’immagine RAW come sviluppata da Libraw è lineare in entrambi i sensi, mentre la stessa immagine sviluppata dal software di elaborazione RAW della Canon non sarà lineare in alcun senso.

HDR e LDR non si riferiscono alla profondità in bit dell’immagine. High dynamic range e low dynamic range si riferiscono all’estensione dinamica totale abbracciata da un’immagine. Un’immagine LDR regolare, diciamo che comprenda solo 5 stop (una macchina digitale media oggigiorno può facilmente accomodare 8 o 9 stop), può essere salvata come un’immagine a 8, 16, 32 e perfino 64 bit in base al tuo software. Ma memorizzare con più bit non aumenta l’intervallo dinamico dell’immagine. Solamente il numero di passi discreti dal tono più chiaro al tono più scuro in un’immagine viene cambiato. Di converso, una scena a 22 stop (decisamente oltre la capacità di una macchina fotografica digitale amatoriale senza usare esposizioni multiple) può essere salvata come immagine a 8 o 16 bit, ma l’immagine risultante mostrerà un effetto banding estremo (cioè, mostrerà un effetto banding estremo in ogni intervallo di toni dato che può essere realmente mostrato su un monitor tipico allo stesso tempo) a causa dei relativamente pochi passaggi di tono discreti disponibili, dal tono più luminoso al più scuro nell’immagine.

Le immagini JPEG prodotte all’interno della fotocamera non hanno bisogno di un profilo della macchina: tutte le immagini JPEG (o TIFF) che escono direttamente dalla fotocamera (anche se prodotte da macchine punta-e-scatta che non ti permettono di salvare in formato RAW) prendono vita dentro la fotocamera come un file RAW prodotto dal convertitore da analogico a digitale. Se tu salvassi le tue immagini come JPEG, allora il processore interno della fotocamera interpolerebbe il file RAW, assegnerebbe un profilo di fotocamera, tradurrebbe i numeri RGB risultanti in uno spazio di lavoro (di solito sRGB, ma a volte è possibile scegliere AdobeRGB, a seconda della macchina fotografica), comprimerebbe in JPEG e memorizzerebbe il file nella scheda di memoria. Dunque, alle immagini JPEG (o TIFF) provenienti dalla tua fotocamera non è necessario assegnare un profilo di fotocamera per tradurli all’interno di uno spazio di lavoro. Le immagini JPEG dalla fotocamera si trovano già in uno spazio di lavoro.

Spazio di connessione tra profili

Supponiamo che Libraw produca un’immagine TIFF a 16 bit da un file RAW prodotto da uno specifico modello di fotocamera. La domanda allora è: cosa ciascun particolare trio di valori RGB assegnati a ciascun pixel nell’immagine implica davvero in termini di un determinato standard assoluto, con riferimento a un determinato osservatore ideale? Ed è possibile persino definire un osservatore ideale? Le persone reali percepiscono gli stessi colori quando guardano il mondo?

Nel 1931 lo International Color Consortium decise di mappare e descrivere matematicamente tutti i colori visibili dalle persone reali, nel mondo reale. Lo fecero mostrando tantissimi colori a un nutrito gruppo di persone, chiedendo loro di individuare la corrispondenza tra i vari colori. Questa prova fu complicata dal fatto che due colori visivamente coincidenti possono essere prodotti da combinazioni diversi di lunghezze d’onda. La percezione umana dei colori dipende dal fatto che possediamo tre tipi di coni recettori con sensibilità di picco alla luce alle lunghezze d’onda di circa 430, 540 e 570 nm (nanometri), ma con considerevole sovrapposizione nella sensibilità tra i diversi tipi di coni. Una delle conseguenze di come percepiamo i colori è che molte diverse combinazioni di differenti lunghezze d’onda della luce sembrano lo stesso colore.

Alla fine, ICC produsse lo spazio dei colori CIE-XYZ che descrive e modella matematicamente tutti i colori visibili da un osservatore umano ideale. Il termine ideale in questo caso significa che la modellazione si era basata sulla risposta media di molte persone.

In pratica, questo spazio dei colori che attraversa la percezione umana non è un profilo dei colori nel verso senso della parola. Fornisce piuttosto uno spazio di riferimento per descrivere tutti i colori. I sistemi di gestione dei colori usano normalmente lo spazio dei colori CIE-XYZ come uno Spazio di connessione tra profili (PCS, Profile Connection Space). Per esempio, il profilo di una fotocamera è richiesto per caratterizzare in modo accurato o descrivere la risposta dei pixel di una fotocamera specificata alla luce che entra in quella fotocamera, affinché i colori possano essere mappati all’interno di uno spazio di lavoro. I profili ICC per macchine fotografiche funzionano prima convertendo i valori RGB in uno spazio di connessione tra profili, spesso basato su CIE-XYZ, quindi dallo spazio di connessione tra profili allo spazio di lavoro che hai scelto.

CIE-XYZ non è l’unico Spazio di connessione tra profili. Un altro spazio comunemente utilizzato è CIE-Lab, che deriva matematicamente dallo spazio CIE-XYZ. CIE-Lab è concepito per essere percettivamente uniforme, a significare che una modifica della stessa quantità nel valore di un colore dovrà produrre una modifica di circa la stessa importanza visiva.

Le tre coordinate di CIE-Lab rappresentano la chiarezza (lightness) del colore (L = 0 indica nero e L = 100 indica bianco diffuso; il bianco speculare può essere più elevato), la sua posizione tra rosso/magenta e verde (a, i valori negativi indicano verde mentre i valori positivi indicano magenta) e la sua posizione tra giallo e blu (b, i valori negativi indicano blu e quelli positivi indica giallo).

Il software utilizzato in digiKam per tradurre dal profilo della fotocamera allo spazio di connessione tra profili e da quest’ultimo allo spazio di lavoro che hai scelto, ed eventualmente allo spazio del risultato che hai scelto (per la stampa o magari per la visualizzazione su schermo) si basa su Lcms (il motore Little Color Management).

Per quel che vale, Lcms esegue conversioni più precise rispetto al motore di conversione dei colori proprietario di Adobe. Inoltre, la conversione RAW in digiKam si basa sulla decodifica del file RAW proprietario eseguita da Libraw. Questa libreria è un grande componente open source poiché se usassimo solo il software proprietario Windows o Mac, fornito con le nostre fotocamere digitali, ci troveremmo impantanati. Gli algoritmi di demosaicizzazione di Libraw (da non confondere con la decodifica del file RAW proprietario sopracitata) producono risultati uguali o superiori al software commerciale con codice chiuso.

In sintesi, tutte le conversioni nella gestione dei colori sono eseguite verso e da gli spazi di connessione tra profili, i quali sono definiti con un gamut dei colori che corrisponde da vicino alla percezione umana. Il PCS viene usato internamente nel processo di conversione, e non vedrai mai dati nel PCS. Ma puoi considerare uno spazio di connessione tra profili come un traduttore universale tra tutti i profili dei colori.

Connessioni degli spazi dei colori

Il flusso di lavoro che potrebbe seguire una normale immagine nel corso del suo viaggio dal file RAW della fotocamera al risultato finale include i passaggi seguenti:

  1. Lcms usa il profilo della fotocamera, chiamato anche profilo di input, per tradurre i numeri RGB interpolati prodotti da Libraw, che hanno solo un significato relativo alla (marca e modello) fotocamera, in un secondo set di numeri RGB che hanno un significato solo nello spazio di connessione tra profili.

  2. Lcms traduce i numeri RGB dello spazio di connessione tra profili nei numeri corrispondenti allo spazio di lavoro che hai scelto, così che tu possa modificare la tua immagine. Di nuovo, questi numeri dello spazio di lavoro hanno solamente significato relativamente allo spazio di lavoro specificato. Lo stesso rosso, visivamente parlando, è rappresentato da differenti triplette di numeri RGB nei differenti spazi di lavoro; e se assegni il profilo sbagliato l’immagine apparirà o leggermente sbagliata oppure molto sbagliata, a seconda delle differenze tra i due profili.

  3. Mentre stai modificando un’immagine nello spazio di lavoro che hai scelto, Lcms è solito tradurre tutti i numeri RGB dello spazio di lavoro di nuovo nello spazio di connessione tra profili, quindi sui numeri RGB corretti che abilitano il tuo monitor (il dispositivo di visualizzazione) a fornire la rappresentazione più precisa possibile della tua immagine. Questa traduzione all’interno dello spazio dei colori della visualizzazione viene fatta al volo e non dovresti mai accorgerti che sta avvenendo.

  4. Quando l’immagine che hai modificato è pronta per essere condivisa, Lcms traduce i numeri RGB dello spazio di lavoro nello spazio di connessione tra profili e nello spazio di colore della stampante utilizzando il profilo della stampante che caratterizza la combinazione della tua stampante e carta, se hai deciso di stampare l’immagine, oppure nello spazio dei colori sRGB, se hai deciso di mostrare l’immagine sul web, inviarla ai tuoi amici o magari creare una presentazione da proiettare su monitor diversi dal tuo.

Questa conversione tra profili supporta anche la Prova colore, che è un metodo di visualizzare l’anteprima sullo schermo del risultato che ci si aspetta di ottenere su un altro dispositivo, tipicamente una stampante. La Prova colore ti mostra il risultato atteso prima di stampare realmente l’immagine e sprecare il costoso inchiostro. Ciò ti consente di migliorare le tue impostazioni dei colori senza perdere tempo e soldi. Per maggiori informazioni, dai un’occhiata alla sezione Prova colore di questo manuale.

Naturalmente, le conversioni dei profili non sono perfette, specialmente quando si converte tra gli spazi con gamut differenti. Obiettivo di resa si riferisce al modo in cui i gamut sono gestiti lo spazio dei colori di destinazione previsto non è in grado di gestire l’intero gamut. Per maggior informazioni dai un’occhiata a questa sezione del manuale.

Ora che hai appreso lo schema di come la gestione del colore viene utilizzata per convertire dalla fotocamera allo spazio di lavoro (per la modifica) e alla visualizzazione e alla stampa, dovrebbe essere chiaro che la gestione dei colori riguarda l’applicazione dei profili corretti per i dispositivi che stai utilizzando e la scelta degli spazi dei colori corretti per la modifica e l’archiviazione delle immagini. Quindi, dove prendiamo i profili e come scegliamo uno spazio di lavoro? Questi sono gli argomenti dei capitoli seguenti.