<< Paragrafo precedente <<

La gestione digitale del colore

L'obiettivo della gestione del colore (color management) può essere visto come quello di "mantenere" il colore sui diversi dispositivi, ossia di riprodurlo nel modo il più fedele possibile.

Nella gestione digitale del colore i colori sono rappresentati da numeri, ma abbiamo già visto che i vari dispositivi interpretano il colore in modo differente. Infatti i dispositivi digitali codificano il colore con una serie di numeri (di solito tre o quattro), ma questi numeri non hanno significati uguali, o anche se lo hanno non vengono rappresentati come gli stessi colori.

Si pensi a un monitor che codifica i colori come valori R, G, B compresi tra 0 e 255, e si pensi a una stampante i cui i colori possono essere caratterizzati rappresentandoli come percentuali di punto (comprese tra 0 e 100%).

Ma si pensi anche a due differenti monitor, sui quali due differenti terne R, G, B generano due colori un poco diversi.

Fatevi un giro in un negozio di televisioni, anche se sono accese sullo stesso canale, e vi renderete facilmente conto che i colori sono tutti diversi (suggestione questa che mi è stata suggerita dal blog di Mauro Boscarol, che è una miniera di informazioni sulla gestione del colore)

In pratica ogni dispositivo "parla la sua lingua": se vogliamo "mantenere" il colore sui diversi dispositivi dobbiamo tradurre correttamente queste lingue.

Dispositivi di input e dispositivi di output

Ricordiamo che gli spazi cromatici relativi quelli che dipendono da un dispositivo.

Ognuno di questi dispositivi ha pertanto il suo spazio cromatico.

Per metterli in relazione tra loro, ossia per essere in grado di rappresentare lo stesso colore, sarà necessario essere in grado di passare dallo spazio cromatico relativo a un dispositivo, allo spazio cromatico relativo a un altro dispositivo.

Diciamo fin d'ora che questo è un obiettivo al quale è spesso necessario parzialmente rinunciare, accontentandosi di rappresentare il colore in un modo non uguale, ma quanto più possibile simile. Questa operazione prenderà il nome di intento di rendering.

I profili di colore

Il modo più logico per mettere in relazione tra loro gli spazi cromatici relativi di ciascun dispositivo, è quello di mettere in relazione lo spazio cromatico relativo di ogni dispositivo con lo spazio colorimetrico assoluto.

Il profilo di colore di un dispositivo può essere visto come una regola o metodo che permette di mettere in relazione le coordinate cromatiche (relative al dispositivo) con le coordinate colorimetriche (assolute).

Questa regola o metodo può presentarsi sotto forma di trasformazione (un insieme di formule matematiche), o di tabella che mette in relazione le coordinate cromatiche dello spazio relativo del dispositivo con quelle assolute.

Ad esempio un certo monitor può essere caratterizzato da una trasformazione del tipo:

X =  ƒX (R, G, B)
Y =  ƒY (R, G, B)
Z = ƒZ (R, G, B)

per cui una terna di valori R, G, B, genererà sul monitor un certo colore X, Y, Z (mettendo tre valori R, G, B in ciascuna delle tre formule otterrò tre valori X, Y, Z)

Una fotocamera invece potrà essere caratterizzata da un profilo in forma di tabella che mette in relazione le coordinate colorimetriche di un certo numero di colori con i valori con cui la fotocamera li codifica. Ad esempio:


L* a* b* R G B
colore 1 54 81 70 255 5 4
colore 2 88 -79 81 3 255 5
...






È chiaro che i colori memorizzati in tabella non possono essere infiniti. Per conoscere i valori R, G, B a partire da qualsiasi terna L*, a*, B* sarà pertanto necessario, per quei colori che non sono memorizzati, interpolare i relativi valori a partire dai colori più prossimi.

Dispositivi di origine e di destinazione

I dispositivi di input, che possono solo catturare il colore, possono essere solo dispositivi di origine della conversione del colore, mentre i dispositivi di output, possono essere sia di origine che di destinazione.

Un monitor può essere pensato come un dispositivo di destinazione, quando è usato semplicemente per visualizzare delle immagini, rendendo visibili i colori, ma può essere pensato anche come un dispositivo di origine, quando mi permette di visualizzare il colore per modificarlo, e successivamente di confermarlo (si pensi, ad esempio, a un immagine creata a monitor, usando un programma di disegno come Adobe Illustrator@ o Inkscape, o una fotografia i cui colori vengono volutamente modificati con Adobe Photoshop@ o con Gimp).

Anche una stampante è normalmente un dispositivo di destinazione, ma può essere pensata anche come un dispositivo di origine quando mi servirà a prevedere il risultato che si otterrà con un'altra stampante, come nelle prove colore.

L'International Color Consiortium (ICC: www.color.org) definisce le caratteristiche che devono avere i profili (denominati profili ICC) allo scopo di permettere la standardizzazione e la comunicazione tra diversi dispositivi.

Un profilo ICC può essere incorporato in un file di immagine di tipo TIFF, JPEG, GIF, PNG, PDF (e altri), ossia come un'informazione aggiunte al file, e descriverà le caratteristiche, in termini di corrispondenza del colore, del dispositivo che ha generato quel file, ma può esistere anche come profilo presente nel sistema operativo (è un file con estensione .icc o .icm, ed è mutipiattaforma).

Per meglio capire si pensi al flusso di lavoro che segue:
Ma qui c'è già un limite: non è detto che tutti i colori reali siano rappresentabili dal sensore della fotocamera. O meglio, in un qualche modo verranno tradotti in valori R, G, B, ma alcuni colori reali, quelli fuori dal gamut della fotocamera, anche se diversi potrebbero essere rappresentati con la stessa terna R,G,B. Non ci si può fare nulla: dipende dalle caratteristiche della fotocamera e del suo sensore, e sicuramente una fotocamera che riuscirà a differenziare più colori sarà preferibile, ma dei limiti rimarranno sempre;
E questo è un problema in genere non del tutto superabile: il gamut della stampante è in genere più piccolo di quello del monitor (e della fotocamera), quindi dovremo accettare che il colore si modifichi. Dovremo però decidere come modificarlo, applicando un adeguato intento di rendering.

Profili dei dispositivi di input

Profilatura della fotocamera

Per profilare una fotocamera, ossia per crearne il profilo di colore, sarà necessario riprendere con quella fotocamera un target, ossia una tabella riportante dei colori di cui sono note le coordinate colorimetriche, e mettere in relazione ogni colore (e quindi i valori ad esempio L*, a*, b*) con i valori RGB corrispondenti prodotti nel file immagine.


Un target Mcbeth Colorchecker, uno dei più diffusi e affermati sistemi di profilatura per fotocamere



Il profilo ottenuto dipenderà dalla fotocamera utilizzata, dall'illuminazione utilizzata, dal formato del file generato (Raw, JPEG, DNG), dalla sensibilità del sensore impostata ed eventualmente da altre impostazioni della fotocamera.

Profilatura dello scanner

Analogo procedimento è quello di profilatura di uno scanner. Il target che costituisce uno standard è il target IT8, in due versioni, una opaca per lettura a riflessione, e una trasparente per lettura in trasparenza.



Un target IY8 per lettura per riflessione

Ogni quadratino colorato ha una colorimetria nota (ossia coordinate colorimetriche note), nel senso che è stata misurata dal fabbricante del target.

Importando il file ottenuto con una opportuna applicazione si genererà automaticamente il profilo in forma di tabella: l'applicazione metterà nella stessa riga della tabella i valori R, G, B prodotti dal file con i valori colorimetrici (ad esempio (L*, a*, b*) del target che sono noti.

Profili dei dispositivi di output

Profilatura del monitor

La profilatura dei monitor comporta la necessità di generare una serie di colori con coordinate R, G, B note, e misurarne mediante colorimetro le coordinate colorimetriche dei colori generati. La procedura viene fatta automaticamente ponendo la sonda del colorimetro sul monitor mentre l'applicazione genera, in successione, i vari colori.

In realtà, poiché questa operazione comporta la necessità di utilizzare un costoso strumento (il colorimetro),  e poiché i monitor hanno in genere una buona consistenza del colore (ossia generano colori con caratteristiche abbastanza costanti nel tempo), si utilizza di solito questa procedura solo per i monitor utilizzati per applicazioni più rigorose (ad esempio per prove colore "soft").

Per i monitor di uso più normale si utilizzano invece dei profili standard, che si riferiscono a degli spazi colore standard, e la calibrazionedel monitor, per assicurarsi la costanza dei risultati, può avvenire con sistemi che si affidano al confronto visivo, sistemi che sono presenti come applicazioni nel sistema operativo.

Profilatura della macchina da stampa

La profilatura della macchina da stampa, o meglio, del sistema costituito da fotounità, lastre, macchina da stampa, inchiostri può essere fatta stampando delle zone di colore ad inchiostrazione nota, ossia valori C, M, Y, K noti, che poi sono delle percentuali di punto, e rilevando i corrispondenti valori colorimetrici assoluti L*, a*, b* mediante colorimetro.

Sono necessarie, in genere, delle zone che riproducono i valori di pieno (100% di percentuale di punto) per i colori della quadricromia, le sovrastampe dei pieni, e le scale dei singoli colori con percentuali di punto via via crescente (ad esempio 10, 20 ... 90, 100%)

Misurando col colorimetro le varie zone sarà possibile costruire il profilo sotto forma di tabella.

Esistono dei profili standard (o profili generici) che possono essere intesi come "profili obiettivo". Non corrispondono a una stampante o macchina da stampa reale, ma a una stampante o macchina da stampa regolata in modo da dare dei risultati prevedibili.

Tra questi sono assai utilizzati i profili sviluppati dalla FOGRA, che è una organizzazione tedesca di ricerca sulle tecnologie grafiche.

FOGRA propone delle caratterizzazioni del processo di stampa e delle stampanti in genere, contrassegnate da una sigla, ad esempio:

Tali caratterizzazione indicano le caratteristiche colorimetriche che dovrà avere un stampato secondo la caratterizzazione specificata.

Ad esempio uno stampato secondo la caratterizzazione FOGRA 39 dovrà avere le seguenti coordinate L*a*b*:


inchiostro o sovrastampa
L* a* b*
K (100%) 16 0 0
C (100%) 54 -36 -49
M (100%) 46 72 -5
Y (100%) 87 -6 90
R (M+Y) 46 67 47
G (Y+C) 49 -66 24
B (C+M) 24 16 -45
C+M+Y 22 0 0

(è la stessa tabella riportata, come esempio, nel paragrafo "Lo spazio CIE 1976 nelle coordinate colorimetriche L*, a*, b*", alla pagina precedente).

La caratterizzazione FOGRA dà poi delle indicazioni sulle modalità di misurare il colore, su quali sono le tolleranza ammesse, e i valori colorimetrici alle varie percentuali di punto.

Se la conversione di un'immagine RGB in CMYK, che dovrà essere stampata in offset a foglio su carta patinata, viene fatta utilizzando come profilo il file ISOcoated_v2_eci.icc, (incorporandolo nel file pdf) che è il profilo valido per la caratterizzazione FOGRA 39, si ha la (quasi) certezza che calibrando la fotounità e regolando l'inchiostrazione della macchina da stampa  secondo le specifiche si otterrà uno stampato con le caratteristiche previste.

Ecco perché abbiamo parlato di "profilo generico": non si tratterà di regolare la macchina da stampa (il sistema) in un certo modo e di ottenere il profilo conseguente, ma di regolare la macchina da stampa (il sistema) in modo da ottenere il profilo standardizzato.

Gli intenti di rendering

Abbiamo visto come l'obiettivo della gestione colore di mantenere un colore reale nella riproduzione con i vari dispositivi non è sempre possibile raggiungerlo, ma che in generale ci si dovrà accontentare di "quasi mantenerlo".

Si guardi la figura qui sotto:

Nel piano di cromaticità CIE 1931 sono rappresentati il gamut (il triangolo) di un generico monitor e il gamut (l'esagono irregolare) di una possibile stampante (non è certo la maniera più pratica di rappresentare i colori di stampa: per i colori superficiali è stato inventato apposta lo spazio CIE LAB, ma qui abbiamo usato lo spazio CIE 1931 per comodità di rappresentare i colori di due dispositivi diversi, e per più agevolmente capire il concetto)

Il colore C è visualizzabile sul monitor (è all'interno del suo gamut) ma non è stampabile (è all'esterno del gamut della stampante).

Per poterlo stampare dovrà essere portato dentro il gamut del dispositivo di destinazione, dovrà quindi essere modificato.

Ma modificarlo come? Ci sono infiniti modi di modificarlo. Nell'esempio abbiamo visto che è stato spostato verso il colore acromatico, ma è sempre il modo migliore?

Si badi che per semplicità di rappresentazione grafica l'operazione è stata rappresentata nel piano di cromaticità, ma la modifica del colore dovrà in gener avvenire anche per quanto riguarda l'attributo della chiarezza. Sarebbe necessario mostrare l'operazione in uno spazio tridimensionale, ma la figura verrebbe assai più complicata, e quindi alla fine più difficilmente comprensibile.

Nel grafico si vede che i più saturi colori stampabili sono in generale (ma non tutti) meno saturi dei più saturi colori rappresentabili a monitor.

Non si vede invece che il nero stampabile (il "fondino" nero di stampa, stampato con inchiostro nero) in generale non è un nero "profondo" come il nero del monitor.

Non si vede neanche che il bianco di stampa (il bianco carta) è in genere meno bianco del bianco del monitor.

La modifica del colore per potere rappresentare un colore su un altro dispositivo, prende il nome di intento di rendering, e i criteri di modifica sono diversi, criteri che dovranno essere scelti di caso in caso, e saranno piò o meno adatti al tipo di lavoro che si deve realizzare.

Poiché si può modificare un colore in infiniti modi, gli intenti di rendering sono infiniti, ma ne sono stati codificati cinque diversi:
Trasformando un file da RGB a CMYK con rendering colorimetrico assoluto si potrà simulare la cosa sul monitor: il bianco verrà visualizzato come un bianco "sporco" (per simulare il bianco della carta) e il nero come "sbiadito" (per simulare il nero di stampa). È il rendering che viene utilizzato per le prove colore "soft", ossia quelle a monitor.

La quadricromia e la rimozione della componente  grigia.

Sappiamo che il colore ha una natura "a tre dimensioni": gli attributi del colore sono 3 proprio perché i coni nel nostro occhio sono di 3 famiglie diverse, e infatti si parla di tristimolo.

Lo spazio colorimetrico (assoluto) ha infatti tre coordinate, ma gli spazi cromatici (relativi) possono avere anche più di tre coordinate.

Quando effettuiamo una conversione da uno spazio, assoluto o relativo, a 3 coordinate, a un altro spazio a 3 coordinate, ad esempio da RGB a CMY, la conversione possibile  (a meno dell'applicazione del rendering) è una sola (in realtà, come abbiamo, visto la conversione avverrà in due passaggi: da RGB a spazio assoluto, e da spazio assoluto a CMY, eventualmente applicando il rendering).

Ricordiamo che parlando di coordinate CMY, o CMYK si utilizzano per le stesse dei valori che corrispondono alla percentuale di punto, ossia a:

Pertanto le coordinate CMYK vanno da 0 a 100%.

Un colore CMYK con coordinate 0, 0, 0, 0 corrisponde al bianco della carta.

L'algoritmo "1 meno"

La conversione da RGB a CMY può avvenire passando attraverso lo spazio colorimetrico assoluto, noti i profili di colore dei dispositivi di origine e di destinazione:

oppure attraverso un sistema più "primitivo" che non utilizza i profili colore, il cosiddetto "algoritmo 1 meno", che veniva utilizzato nel linguaggio PostScript® Level 2 (Postscript® è un Page Description Language), che permette la conversione diretta da RGB a CMY:.

Tale metodo ha più che altro un valore storico, oppure risulta un metodo, semplice e intuitivo, per ragionare in modo immediato sul passaggio dallo spazio RGB allo spazio CMY, anche se i risultati che dà non sono certamente accurati:

L'algoritmo 1 meno è molto semplice:

C = (1 - R / 255) · 100

M = (1 - G / 255) · 100

Y = (1 - B / 255) · 100

Le relazioni inverse sono:

R = (1 - C/100) · 255

G = (1 - M/100) · 255

B = (1 - Y/100) · 255

È evidente che, mancando i profili per la conversione del colore dei dispositivi, la conversione con questo sistema non potrà essere accurata.

Un algoritmo un po' più accurato, è il seguente, una sorta di algoritmo "1 meno corretto":

C = [1 - (R / 255)2,2] · 100

M = [1 - (G / 255)2,2] · 100

Y = [1 - (B / 255)2,2] · 100

le cui relazioni inverse sono:

R = (1 - C/100) 0,45 · 255

G = (1 - M/100) 0,45 · 255

B = (1 - Y/100) 0,45 · 255

(dove 0,45 è circa pari a 1/2,2)

L'utilizzo del nero

Ma quando la conversione avviene verso uno spazio a 4 coordinate, ad esempio CMYK, le trasformazioni possibili sono infinite.

Perché allora si usa una quarta coordinata? In altre parole perché si usa la quadricromia anziché la tricromia? Ed è proprio necessario usarla?

Alla domanda se è proprio necessario usare la quadricromia, rispondiamo che no, ma nella stampa in pratica lo è. Nella produzione di immagini fotografiche a colori su pellicola invece (fotografica o cinematografica) si usano solo tre coloranti C, M, Y e non il nero.

In stampa invece l'utilizzo del nero è praticamente indispensabile per i seguenti motivi:

In pratica se non si usasse il nero, in stampa il gamut, nello spazio L*a*b*, risulterebbe inutilizzato nella parte più bassa, che corrisponde ai neri più profondi.

Si pone allora il problema di sostituire gli inchiostri C, M, Y con un quantitativo di nero che dia lo stesso risultato cromatico.

Tradizionalmente in quadricromia l'uso del nero era utilizzato proprio per "rinforzare", ossia per aumentare la densità delle parti neutre più scure. Questo però non riduce le componenti C, M, Y, ma semplicemente aggiunge K quando si hanno valori di C, M, Y alti e simili tra loro. Si parlava di "nero aggiunto", o "nero scheletrico".

Con l'introduzione dei sistemi di prestampa digitale, ma in realtà anche prima, si è iniziato a fare uso del metodo UCR (Under Color Removal, ossia "rimozione del sottocolore"): con l'UCR il nero viene sempre aggiunto nelle zone in cui si hanno valori di C, M, Y alti e simili tra loro, ma contemporaneamente vengono tolte una quantità di C, M, Y ("under color removal") che danno un nero corrispondente al K aggiunto.

Il metodo GCR, appannaggio della gestione del colore digitale, aggiunge K e toglie la corrispondente quantità di C, M, Y anche nelle zone chiare e non neutre.

Il GCR (Gray Component Removal)

Questo procedimento prende il nome di Gray Component Removal (rimozione della componente grigia, e sostituzione con il nero), e la sua impostazione modifica la conversione da RGB a CMYK. L'impostazione del GCR si può fare con Photoshop®, o con le impostazioni del RIP che comanda la fotounità.

Il principio è questo: se la conversione da R,G,B a C,M,Y dà, per un certo pixel, ad esempio i valori:

si potrà rimuovere ("removal") una certa quantità di quei colori e sostituirla con una egual quantità di nero. In pratica, poiché il valore inferiore, per quel pixel, è il Cyan, si può togliere a tutti e tre i colori un valore, che al massimo potrà essere il valore del più piccolo (40%), e sostituirlo con altrettanto  nero. Ad esempio, se togliamo il 20%:

È facile verificare che il quantitativo totale dell'inchiostro è diminuito, da 40 + 60 +70 = 170%, a 20 + 40 + 50 + 20 = 130%

Non abbiamo però rimosso (e sostituta) completamente la componente grigia, ma solo parzialmente. Il GCR è stato applicato solo parzialmente.

Potremo anche effettuare una rimozione totale (per cui in quel pixel non ci sarà più Cyan) portando i valori a:

Il valore totale, in questo caso, è diminuito da 170% a 90%.

In questo caso il GCR è stato applicato al 100%.

In realtà l'esempio mostrato è un po' semplificato: il quantitativo di C, M, Y rimosso non sarà esattamente uguale per tutti e tre i colori, e il nero che li sostituisce sarà un valore un poco diverso.

L'entità della rimozione da scegliere (l'entità del GCR) dipende dal tipo di immagine. In linea di massima:

<< Paragrafo precedente <<



Livio Colombo
Alcuni diritti riservati:
Licenza Creative Commons
Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Italia.