Lo spazio colore CIE 1931 XYZ

Introduzione

Lo SPAZIO COLORE CIE XYZ è stato quindi uno dei primi spazi colore definito matematicamente. Deriva da una serie di esperimenti fatta alla fine degli anni 20 del XX secolo da W. David Wright e John Guild. I loro risultati sperimentali furono combinati nelle specifiche di questo spazio colore. (Vienna 1931).

Era necessario trovare uno spazio colore di riferimento derivato da quantità fisiche così da poter effettuare trasformazioni da qualsiasi altro spazio colore a questo e poter identificare correttamente i colori


La radiazione visibile

La radiazione visibile costituisce una piccola parte dello spettro elettromagnetico: i nostri occhi possono percepire soltanto le lunghezze d'onda comprese tra circa 380 nm e 780 nm (1 nanometro, nm, è pari a un miliardesimo di metro). Alle lunghezze d'onda più corte (vale a dire frequenze maggiori) corrisponde la luce blu/viola, mentre alle lunghezze d'onda più ampie (vale a dire frequenze minori) troviamo la luce rossa. Al di sotto dei 380 nm troviamo la luce ultravioletta mentre al di sopra dei 780 nm troviamo l'infrarosso.

I colori spettrali sono quelli che corrispondono a una precisa lunghezza d'onda. Ad esempio una di luce con lunghezza d'onda di 570 nm produce un puro giallo spettrale. 

Ricordiamo: il colore esiste solo nella nostra testa, è una interpretazione del nostro cervello ai segnali trasmessi dalla retina colpita dalle radiazioni dello spettro visibile

Rappresentazione dello spettro elettromagnetico
Rappresentazione dello spettro elettromagnetico

(Tatoute and Phrood, CC BY-SA 3.0)

Un oggetto ci appare di un colore perchè assorbe tutta la radiazione luminosa e riflette quella di una particolare lunghezza d'onda. Ad esempio un oggetto che riflette la radiazione luminosa con una lunghezza d'onda di 550 nm ci appare verde.

Quando la luce giunge sul fondo dell'occhio, attiva i fotorecettori presenti sulla retina e viene convertita in segnali bioelettrici che sono inviati al cervello attraverso il nervo ottico. Esistono due tipi di fotorecettori, i coni e i bastoncelli. I coni, concentrati nella zona centrale della retina (fovea), sono deputati alla visione dei colori, in condizioni di buoni livelli di illuminazione (visione fotopica). I bastoncelli, concentrati nella zona periferica della retina, servono invece per la visione al buio (visione scotopica) e non riconoscono i colori. Appare quindi chiaro come ai fini dell'articolo possiamo concentrare l'attenzione solamente sui coni.


I tre tipi di coni

Si possono distinguere tre tipi di cellule coniche,  che si differenziano per la differente sensibilità alla radiazione luminosa. Sperimentalmente si è visto infatti come alcuni coni percepiscano la luce con un picco di sensibilità  nelle lunghezze d'onda brevi  (420-440 nm), altri coni nelle lunghezze d'onda medie (530-540 nm) e  altri coni ancora nelle lunghezze d'onda lunghe (560-580 nm).  Ciascun tipo è stato quindi contrassegnato con le lettere  L (long), M (medium) e S (short) per identificare la lunghezza d'onda a cui è più sensibile. Dato che queste lunghezze d'onda corrispondono nell'ordine ai colori rosso (red, R), verde (green, G) e blu (blue, B) i tre tipi di recettori vengono indicati talvolta anche con queste lettere. Nella figura seguente sono tracciate le curve di sensibilità di questi tre tipi di coni alla radiazione visibile. Si è visto anche che la risposta  allo stimolo luminoso da parte delle cellule coniche è sì proporzionale all'intensità della luce , ma solo entro certi limiti: un limite inferiore sotto il quale  il cono non è più sensibile, e un limite superiore (di saturazione) oltre il quale la risposta è la stessa.

La percezione cromatica di un determinato colore è data quindi dalla combinazione delle risposte dei tre tipi di cono. Si osservi come l'occhio umano sia decisamente più sensibile al verde: noi siamo infatti in grado di distinguere molto bene le sfumature nei gialli e nei verdi, mentre ci è più difficile distinguere due rossi simili, e ancora più difficile distinguere i blu. Una ipotesi è che questo provenga da motivi evolutivi: per migliaia di anni l'uomo ha vissuto a contatto con la natura, dove i colori gialli e verdi prevalgono, e potrebbe avere sviluppato una maggiore sensibilità per la luce con queste lunghezze d'onda. I colori blu invece in natura sono molto rari, di qui la scarsa sensibilità per questo colore. Qui di seguito è riportata la curva della sensibilità risultante dell'occhio alla radiazione visibile: come si vede, la curva ha la classica forma a campana con picco in corrispondenza della luce giallo/verde.

Il sistema dei coni presenta globalmente una complessa distribuzione spettrale, e la riduce a tre valori numerici che indicano quanto ciascuno dei tre tipi di coni è stato stimolato. Da questo output non è però possibile risalire alla curva di distribuzione spettrale che l'ha originato dato che differenti distribuzioni spettrali possono stimolare i coni (globalmente) nello stesso modo. Questo significa che ogni colore può essere creato da diverse distribuzioni spettrali. Si parla di metamerismo. Questo aspetto è fondamentale: per riprodurre un certo colore osservato non dobbiamo avere per forza la sorgente originale, lo possiamo riprodurre se siamo in grado di creare una distribuzione spettrale che determina la stessa risposta da parte dei coni.

In definitiva, abbiamo visto che tre parametri corrispondenti ai livelli di stimolo dei tre tipi di coni descrivono teoricamente qualsiasi colore visibile dall'uomo.


Le funzioni di corrispondenza colore

Quanto segue è frutto del lavoro fatto alla fine degli anni 20 del XX secolo da W. David Wright e John Guild. I loro risultati determinarono le specifiche dello spazio colore CIE XYZ, adottato come standard internazionale nel 1931 (CIE è l'acronimo di Commission Internationale de l'Eclarage - Commissione Internazionale sull'Illuminazione). Ancora oggi, esso è alla base della rappresentazione dei colori nei display, nelle stampe a colori e in molti altri settori.

Negli esperimenti delle persone dovevano matchare dei colori spettrali con incrementi di 10 nm facendo variare l'intensità di tre sorgenti luminose rossa, verde e blu.

 

(da integrare: dato che l'occhio ha tre tipi di fotorecettori, ogni sensazione di colore può essere matchata combinando tre colori fissi con intensità variabile. con tre primari si è in grado di riprodurre tutti i colori visibili dall'uomo, questa proprietà del sistema visivo umano è detta tricromia)

 

Essi definirono tre curve r, g, b dette "Color Matching Functions" ottenute sperimentalmente attraverso prove di corrispondenze di colori. Si trattava in sostanza di regolare l'intensità di tre sorgenti di luce monocromatica (di colore rosso, verde e blu con lunghezze d'onda prese come standard dal CIE pari rispettivamente a 700, 546.1 e 435.8 nm) in modo che il colore risultante corrispondesse a quello di un'altra sorgente di luce monocromatica di riferimento, caratterizzata da una precisa lunghezza d'onda. Si registravano quindi i valori di luminosità (in candele/m2 ) delle tre sorgenti così ottenute , vale a dire la quantità di rosso, verde e blu necessarie a riprodurre il colore di riferimento quando miscelati. Facendo variare la lunghezza d'onda della sorgente di riferimento lungo tutto lo spettro visibile e ripetendo l'esperimento, si determinarono  queste tre curve: CIE rgb color matching functions

Esse ci dicono quindi la quantità di rosso a 700 nm, di verde a 546 nm e di blu a 436 nm necessarie a riprodurre la luce a qualsiasi lunghezza d'onda. In realtà a queste funzioni si accompagnano anche dei fattori di scala per tenere conto del fatto che la sensibilità dell'occhio umano ai colori non è uniforme, ad esempio è molto più sensibile ai verdi che ai blu. Questo è chiaramente visibile nella curva V qui sotto, che rappresenta la sensibilità dell'occhio alla luce del sole:

Ma non entriamo troppo in questioni tecniche. Quello che importa è aver capito che ogni radiazione monocromatica risulta quindi associata a tre numeri R, G, B, detti valori tristimolo, che rappresentano le luminosità delle tre sorgenti necessarie a ottenere il colore richiesto. Preso ad esempio il giallo a 570 nm, segnamo i valori di r, g, b corrispondenti a 570 nm e li riportiamo in un grafico 3D. E' possibile quindi riportare le terne di coordinate, per qualsiasi lunghezza d'onda dello spettro visibile, nello spazio tridimensionale RGB per avere una visualizzazione grafica del risultato. In questo spazio 3D i valori sono normalizzati e riscalati così che il massimo sia 1.

In realtà il riferimento RGB così ottenuto non è utilizzato perchè le tre funzioni di corrispondenza dei colori presentano alcune problematiche, in particolare si può notare come la curva r presenta dei valori negativi in un intervallo di lunghezze d'onda piuttosto ampio. Questo vuol dire che negli esperimenti di color matching tutti i colori corrispondenti a questo intervallo di lunghezze d'onda non potevano essere ottenuti combinando i tre primari rosso, verde e blu. L'unico era aggiungere il rosso alla sorgente di riferimento invece che al verde e al blu (come se in un'equazione si spostasse un termine negativo dall'altra parte dell'uguale).

Per evitare questi problemi si pensò di convertire, mediante una opportuna trasformazione lineare di coordinate,  le curve r, g, b in nuove curve chiamate x, y, z, che non presentano valori negativi. Il loro grafico è riportato qui sotto: 

Queste curve definiscono l'Osservatore Standard CIE 1931. Si passa quindi dal sistema di riferimento RGB al sistema di riferimento XYZ. Esso è stato realizzato utilizzando ulteriori accortezze matematiche (il cui approfondimento non è interessante ai fini di questo articolo), ad esempio data la grande somiglianza tra la funzione y e la curva V della sensibilità dell'occhio alla luce, i numeri che determinano la trasformazione lineare fanno anche in modo che la curva y sia mappata nella curva della luminosità V. In questo modo nel riferimento XYZ si ha il grande vantaggio che la luminosità di un colore (quindi la quantità di bianco) può essere individuata dal solo valore di una sorgente primaria. Ciò consente di separare la cromaticità, vale a dire la tonalità e saturazione di un colore, dalla sua luminosità. Un'altro accorgimento è stato quello di scegliere in modo opportuno gli assi X, Y e Z per facilitare la rappresentazione grafica.

Le trasformazioni per rendere positive le funzioni di corrispondenza colore determinano tuttavia uno svantaggio nel passaggio dal riferimento RGB a XYZ: i colori primari (che in RGB erano il rosso, il verde e il blu) ora non corrispondono più a colori reali: sono colori immaginari. 

 

In definitiva, nel riferimento XYZ ogni radiazione monocromatica (ogni colore spettrale) è individuata da una terna di coordinate X, Y, Z. Si ottiene quindi nello spazio XYZ la curva dei colori spettrali:

 

[da integrare: spazio XYZ dentro spazio RGB], l'XYZ è già normalizzato con le coordinate a 1 quindi è più piccolo. in particolare la Y che rappresenta la luminosità ha valore massimo 1 che coincide con la lunghezza d'onda di 555 nm, che è quella più luminosa percepita (come si vede dalla curva V). Lo spazio colore XYZ è lo spazio di riferimento utilizzato per tutte le conversioni degli spazi colore dei display RGB tramite matrice. E' fondamentale perchè così non dobbiamo mai convertire i due colori tra due spazi colore, ma sempre convertirli entrambi allo spazio colore XYZ.

Tutti gli altri colori, cioè quelli non spettrali, si ottengono sommando vettorialmente due o più colori spettrali, e si arriva finalmente alla rappresentazione dello spazio colore CIE XYZ 1931, che comprende tutti i colori visibili dall'occhio umano medio:

Nell'origine (coordinate X=Y=Z=0) troviamo il nero.


Il diagramma di cromaticità

La visualizzazione tridimensionale in realtà non è di utilizzo molto pratico, per questo si è pensato di ricorrere a un piccolo espediente per arrivare a una rappresentazione su un piano. Normalizziamo le tre coordinate imponendo che X+Y+Z = 1, così che ci siano solo due variabili indipendenti. Per chi ha un po' di dimestichezza con la matematica, questo equivale a intersecare la curva dei colori spettrali con un piano inclinato di 45°, ottenendo la curva rossa come in figura: 


Proiettando infine questa curva sul piano orizzontale XZ (dal sito del russo invece sembra direttamente XY) si ottiene finalmente la rappresentazione bidimensionale utilizzata comunemente ogni volta che si parla di spazi colore: il diagramma delle cromaticità, che contiene quindi tutte le tinte visibili dall'occhio umano, a prescindere dalla luminanza.


Per comodità le coordinate vengono chiamate x e y. Il diagramma si trova all'interno di un triangolo rettangolo che ha i vertici nei punti (0,0), (1,0) e (0,1). I colori che coincidono con i vertici sono proprio i primari dai quali si possono ottenere tutti gli altri colori. Ricordiamo che questi primari sono immaginari (lo sono diventati passando dallo spazio RGB allo spazio XYZ). Le coordinate di tutti i punti del diagramma sono quindi comprese tra 0 e 1. 

 

Il diagramma delle cromaticità presenta queste caratteristiche:

 

- i colori spettrali puri, corrispondenti una precisa lunghezza d'onda compresa nello spettro del visibile, stanno sulla curva esterna a forma di ferro di cavallo. Nella figura sopra sono riportate le lunghezze d'onda corrispondenti. I primari RGB, essendo colori spettrali, giacciono su questa curva.

- in basso il diagramma è chiuso dalla linea di porpora pura, un colore non spettrale

- tutti i punti interni al diagramma sono colori non spettrali, cioè colori che possono essere ottenuti combinando tra loro i colori spettrali

- i punti esterni al diagramma non sono colori reali

 

Il punto W al centro del diagramma (che ha quindi coordinate (0.33, 0.33)) è il bianco (White). E' il cosiddetto "illuminante CIE" e corrisponde alla radiazione emessa da una superficie bianca illuminata dalla luce diurna media. Nel triangolo individuato dalla linea di porpora e il punto W troviamo tutti i colori non spettrali a saturazione via via decrescente (andando verso il punto W). Preso un qualsiasi punto P interno al diagramma ma fuori a questo triangolo, la sua tinta (cioè il suo colore dominante) si trova unendo W a P e prolungando il segmento fino alla curva dei colori spettrali. In altre parole, sul segmento che unisce qualsiasi punto della curva spettrale al centro W troviamo tutte le tinte di quel preciso colore, con saturazione via via decrescente muovendosi verso il bianco. L'intersezione C dal lato opposto individua il colore complementare, cioè quello ottenuto togliendo dal bianco il colore con lunghezza d'onda D.

Il nero si ha quando si è sotto la soglia di sensibilità di ciascun cono, per cui non si registra nessuno stimolo.

 

osservazione da integrare: dato che nessun monitor riesce a riprodurre tutti i colori del diagramma, la rappresentazione che vediamo è una approssimazione con i colori fuori gamma mappati in sRGB.

Quindi un colore corrispondente a un punto P è dato da una miscela tra il colore spettrale dominante e il bianco. Ma questa proprietà vale per qualsiasi altri due punti all'interno del diagramma: prendendo due tinte qualsiasi il segmento che le unisce rappresenta  tutte le loro possibili mescolanze additive, e la posizione relativa lungo questo segmento rappresenta la percentuale  di mescolanza. Quindi nel baricentro del segmento c'è sempre la tinta formata al 50% dal primo colore e al 50% dal secondo colore.  Se il segmento passa per il centro W, le tinte sono complementari. Se inoltre W cade nel baricentro del segmento, le due tinte hanno la stessa saturazione, quindi sommandole si ottiene esattamente il colore bianco.

 

Ma veniamo a un aspetto fondamentale: con tre tinte, tutte quelle riproducibili per loro mescolanza si trovano all'interno del triangolo che ha esse come vertici.

 

Scelti quindi 3 colori primari reali (quindi all'interno del diagramma), tutti i colori che si possono ottenere attraverso la loro sintesi additiva sono situati all'interno del triangolo che ha i tre primari come vertici. I punti interni alla curva ma fuori da questo triangolo sono reali ma hanno bisogno di differenti colori primari per essere creati.


Non linearità del diagramma di cromaticità

Il diagramma finale non è percettivamente uniforme/lineare: le lunghezze d'onda non sono uniformemente distribuite, sono più rade nella zona dei blu e più concentrate nei rossi. Si vede anche che la zona del verde è molto più estesa di quella dei rossi e dei blu, cioè a due punti equidistanti non corrispondono colori ugualmente simili. E' un fenomeno studiato da Mac Adams: due punti a una certa distanza in questo piano xy sono riconosciuti facilmente nella zona del rosso mentre due punti alla stessa distanza nei verdi potrebbero non essere distinguibili. Disegnò delle ellissi che includono tutti i punti indistinguibili per l'osservatore: nella zona del verde le eclissi sono molto più estese perchè i colori devono essere molto più distanti.


Spazi colore e Color gamut

AI fini fotografici, quello che conta è sapere che è il grafico di riferimento dei colori assoluti, al di fuori il nostro occhio non è in grado di percepire i colori. Il problema è che le apparecchiature digitali non sono in grado ci riprodurre tutta questa estensione di colore, pertanto si è reso necessario creare degli specifici SPAZI COLORE che fossero interpretati nello stesso modo da tutte le apparecchiature.

 

Gli spazi sRGB (creato da Microsoft nel 1996) e Adobe RGB hanno ciascuno i loro colori primari. Questi primari si ottengono definendo i loro valori XYZ. Si possono quindi andare  a rappresentare nel diagramma XYZ per vedere il triangolo che formano: ogni cromaticità all'interno del triangolo può essere rappresentata all'interno di quello spazio colore. L'area interna a un triangolo di primari è detta Color Gamut. Quindi il diagramma di cromaticità è perfetto per visualizzare il gamut di uno spazio colore anche se è una rappresentazione 2D quindi non completa.

 

In un monitor i 3 colori dei sub pixels sono i colori dei 3 primari del display. Dato un valore sRGB (o quello che è) si fa una trasformazione nello spazio XYZ poi un'altra per avere il colore nei termini dei 3 primari del monitor.

Attualmente però il riferimento per la descrizione dei colori è il CIE1976 o L*a*b*, più conforme al funzionamento biologico dell'occhio umano.Vengono infatti distinte le informazioni acromatiche di luminosità sul canale indipendente L, mentre la componente cromatica è descritta nel canali a e b, ognuno dei quali considera variazioni comprese tra toni complementari (da blu a giallo e da magenta  a verde).

 

GAMUT: gamut di una periferica o di uno spazio colore è l'insieme dei colori che essa è in grado di riprodurre (monitor stampante)/catturare (fotocamera scanner)  o contenere (spazio colore).  Il gamut delle periferiche è descritto nel profilo ICC.  Il gamut è tridimensionale ma si usa di solito la rappresentazione 2D sul diagramma di cromaticità.

Un po' di note per proseguire:

- è comodo avere le coordinate normalizzate perchè si hanno delle indicazioni sulle quantità di primari indipendentemente dal metodo di discretizzazione dello spazio colore! Ad es. (64, 35, 240) indica un certo colore in sRGB, ma è valido per gli 8 bit. Invece se io normalizzo dividendo tutto per 255 ottengo tre numeri compresi tra [0,1] che vanno bene per qualsiasi discretizzazione.

- la terza di numeri di per sè non ha senso, ci deve essere sempre uno spazio colore che assegna un significato a questi numeri mappandoli alle intensità delle rispettive sorgenti di luce

- ad esempio la mappatura potrebbe essere lineare (valore di 0.8 corrisponde a intensità dell'80%) ma anche non lineare, ad esempio la risposta del nostro occhio alla luce non è lineare. Lo spazio sRGB usa una TRC (tone response curve) non lineare, che permette di avere maggiori gradazioni nei neri e minori gradazioni nei bianchi

- quindi una delle proprietà che uno spazio colore RGB deve avere è una TRC per ciascuna delle sue tre componenti

- come introduzione agli esperimenti di Wright, dobbiamo trovare il modo, dati due spazi colore, di esprimere un dato colore del primo spazio con una opportuna terna di numeri del secondo spazio

- cercare di matchare tutti i colori però è un lavoro infinito, allora proviamo a matchare solo i primari

- quindi prendiamo ad esempio il rosso: nello spazio ABC è (1,0,0); troviamo che nello spazio DEF è (0.8,0.3,0.6). Allora per ricreare un altro rosso (0.7,0,0) di ABC in DEF è sufficiente moltiplicare 0.7 per le 3 componenti: (0.7x0.8,0.7x0.3,0.7x0.6). Si fa lo stesso con verde e blu ricordando che per ora questo vale solo se il colore in ABC ha solo la corrispondente componente non nulla

- ora, grazie alle leggi di Grassman che dicono che sommando due colori uguali anche la somma ha lo stesso colore, possiamo calcolare singolarmente le componenti nuove di r, g e b e poi sommarle. Si arriva quindi a una equazione matriciale: vettore nuove componenti = matrice per vettore vecchi componenti. Le tre colonne della matrice riportano i numeri per le trasformazioni da primario a primario. Questa è la matrice che definisce la conversione tra lo spazio di colore ABC e lo spazio di colore DEF

- ovviamente il passaggio tra due spazi colore non si può sempre fare. Se quello di partenza è interamente contenuto in quello di arrivo sì, altrimenti non è detto. Algebricamente risolvendo il sistema si ottengono delle coordinate maggiori di 1 (cioè la massima intensità del relativo primario dello spazio di partenza non è abbastanza alta) o negative (cosa che ha senso matematicamente ma impossibile da ottenere nel mondo reale...comunque il match si avrebbe aggiungendo il colore allo spazio di partenza invece che toglierlo a quello di arrivo)

- inoltre la matrice da uno spazio all'altro è l'inversa di quella del passaggio opposto, quindi ne serve solo una

- risulta che uno spazio colore RGB deve essere definito da: 1) tre "tone response curves" per i primari rosso verde e blu 2) localizzazione dei primari sul diagramma di cromaticità 3) localizzazione del punto di bianco sul diagramma di cromaticità (il bianco è il colore ottenuto con tutte e tre i primari a 1)

Partita Iva    11458010011