colore digitale blog

Il blog di Mauro Boscarol sulla gestione digitale del colore dal 1998

Risultati per la parola ‘interpolazione’

Periferiche digitali: monitor e stampa

Metodi di caratterizzazione di un monitor o videoproiettore

“Caratterizzare un monitor” o un videoproiettore significa trovare una relazione tra valori RGB in ingresso al monitor o al proiettore e valori di tristimolo XYZ del colore prodotto. Questa relazione consiste in due trasformazioni: quella diretta, cioè da RGB a XYZ, e quella inversa, cioè da XYZ a RGB.

La trasformazione diretta consente di ottenere i valori di tristimolo XYZ quando sono noti i valori RGB in input; la trasformazione inversa consente di ottenere  i valori RGB necessari per visualizzare un colore con determinati valori di tristimolo.

Se poi un utente è interessato a simulare su un monitor l’aspetto di una immagine come apparirebbe su un secondo monitor può applicare la trasformazione diretta del secondo monitor per avere i valori XYZ seguita dalla trasformazione inversa sul primo monitor per avere i valori RGB. L’insieme di queste due trasformazioni è un esempio di conversione di colore (in questo caso dallo spazio del secondo monitor allo spazio del primo).


Caratterizzazione mediante tabelle 3D
(3D lookup table, LUT)

La più semplice (da capire) forma di caratterizzazione è una coppia di tabelle. La prima è la tabella diretta, come questa:

RGBXYZ
000
001
002
003
.........
255255254
255255255

Questa tabella ha 256 x 256 x 256  = 16,777,216 righe. Se dovesse essere costruita mediante singole misurazioni richiederebbe un mucchio di tempo e un mucchio di spazio. Per il tempo, supponendo 1 secondo a misurazione, risultano necessari 194 giorni; Per lo spazio, supponendo un byte per numero, risultano necessari 96 MByte. Una tabella del genere è praticamente impossibile da creare.

Si ricorre allora all’interpolazione, cioè si fanno poche misure (per esempio 1000) e i valori non misurati si ricavano per interpolazione. Per esempio si misurano 10 x 10 x 10 colori, si calcolano altri 40 x 40 x 40 valori interpolati, e i valori mancanti si interpolano in fase di lettura della tabella.

Naturalmente sorge il problema di calcolare l’errore causato dai valori interpolati.

La seconda è la tabella inversa. Non è semplicissimo calcolare questa tabella a partire dalla prima. Anche in questo caso si tratta di interpolare, ma questa volta l’insieme dei dati XYZ è “sparso” il che rende l’operazione complessa. Un metodo usato è la cosiddetta interpolazione tetraedrica.

La caratterizzazione mediante tabelle richiede dunque molte misure ed è computazionalmente complessa. Ha però il vantaggio che non occorre assumere nessun particolare comportamento del monitor, cioè il monitor può essere considerato una scatola nera (black box) della quale non conosciamo le regola fisiche. Altri tipi di caratterizzazione richiedono invece particoli assunzioni sul comportamento del monitor.


Caratterizzazione mediante modelli
(cioè formule)

Sono stati descritti diversi modelli matematici per la caratterizzazione di un monitor o un videoproiettore. Molti modelli assumono l’indipendenza dei canali R, G e B, che in realtà non è sempre assicurata, e la costanza delle cromaticità dei primari R, G e B.

L’indipendenza dei canali significa che la luminanza emessa da ogni pixel sia uguale alla somma delle luminanze emesse da ogni sottopixel di quel pixel.

Il cosiddetto modello lineare è detto anche PLCC che significa piecewise linear interpolation assuming constant chromaticity coordinates, e il nome stesso mette in evidenza che questo metodo assume che le cromaticità dei primari R, G e B siano costanti e non dipendano dalla luminanza. Se questo è vero o no lo si può verificare misurando, per ogni primario, i colori prodotti da una serie di numeri.

 

Qui sopra, nel diagramma a sinistra le cromaticità dei primari non sono costanti, variano con la luminanza. Nel diagramma a destra sono pressoché costanti, non variano con la luminanza. Se le cromaticità non sono costanti, ciò può essere dovuto al fatto che il nero non è un nero assoluto, ma ha una sua propria cromaticità che viene aggiunta alle cromaticità delle scale di colori dei primari e quindi ha sempre più influenza man mano che la luminanza diminuisce. Un metodo per eliminare questo problema consiste nel togliere la cromaticità del nero a tutte le misure prima di fare i calcoli.

Il metodo lineare consiste nel linearizzare i valori RGB, cioè togliere l’effetto della TRC, la curva di risposta tonale, talvolta in forma di curva gamma, ed applicare una trasformazione lineare mediante una matrice 3 x 3 che ha nelle colonne i valori di tristimolo di ogni primario.

Per la linearizzazione si misurano (ed eventualmente si interpolano) i 256 valori di ogni canale e si applica una tecnica matematica che si chiama “Analisi delle componenti principali”.

Per il calcolo della trasformazione inversa, la matrice 3 x 3 deve essere invertibile, il che è sempre vero se i canali sono linearmente indipendenti. Le funzioni di linearizzazione devono essere monotone; se non lo sono devono essere rese monotone, il che naturalmente riduce l’accuratezza della linearizzazione.

 

Mauro Boscarol

25/10/2012 alle 16:49