Home > Gestione digitale del colore > Tecnologia ICC
Struttura di un profilo ICC

Tag e tabelle

La struttura di un profilo ICC consiste di una testata (header) e di numerosi tag. La testata contiene lo stesso tipo di informazioni per ogni profilo (la versione, lo spazio colore della periferica, il PCS e così via). Un tag è un puntatore ad un record che contiene una determinata informazione del profilo. Ogni profilo necessita di informazioni diverse secondo la sua classe, il fatto che utilizzi matrici o tabelle, la modalità di colore della periferica e così via. Il tag è per così dire il "tipo" di informazioni, cui segue l'informazione stessa.

Nei profili ICC a tabella, i diversi intenti di rendering (escluso quello colorimetrico assoluto) sono implementati mediante diverse tabelle. Nei profili di stampante ci possono essere fino a sei tag che si riferiscono a tabelle:

  • da periferica a PCS (per esempio da CMYK a Lab):
    • AtoB0: percettivo;
    • AtoB1: colorimetrico relativo;
    • AtoB2: saturazione;
  • da PCS a periferica (per esempio da Lab a CMYK):
    • BtoA0: percettivo;
    • BtoA1: colorimetrico relativo;
    • BtoA2: saturazione.

Qui con A si indica lo spazio di colore della periferica e con B lo spazio di connessione profili (PCS). Con 0 l'intento percettivo, con 1 il colorimetrico relativo e con 2 l'intento di saturazione. Nell'uso tecnico americano, spesso il "to" viene scritto "2", quindi AtoB lo si può trovare scritto A2B.

Tag e tabella sono due cose diverse. Non necessariamente tag (di questo tipo) diversi fanno riferimento a tabelle diverse. E' ammesso che tag diversi possano fare riferimento alla stessa tabella. Per esempio un profilo potebbe contenere i tag AtoB0 e AtoB2, ed entrambi potrebbero fare riferimento ad una stessa tabella.

Il rendering colorimetrico assoluto non ha una propria specifica tabella: la tabella di questo rendering viene costruita in modo dinamico e trasparente a partire quella dell'intento colorimetrico relativo tenendo conto del punto bianco. L'intento colorimetrico assoluto, viene indicato, se necessario, con i tag AtoB3 e BtoA3.

Tag obbligatori, facoltativi, proprietari
Le specifiche ICC indicano, per ogni classe di profilo, quali tag sono obbligatori. Il profilo può comunque contenere altri tag, sia di quelli previsti e non obbligatori, sia non previsti dalle specifiche, cioè proprietari, che saranno esaminati dai motori di colore che sono in grado di farlo ed ignorati dagli altri motori di colore.

Codifica
Lo standard ICC specifica che ogni componente di XYZ è codificata con 16 bit. Per quanto rigurda lo spazio Lab può essere codificato in due modi: con 8 bit o con 16 bit.

In entrambi i casi le tre coordinate (XYZ oppure Lab) possono assumere valori discreti tra i limiti

  • L: da 0 a 100
  • a: da -128 a 127
  • b: da -128 a 127

Quando Lab è codificato a 8 bit i valori che le tre coordinate possono assumere hanno passo 1: L può assumere i valori 0, 1, 2, 3, ..., 99, 100, mentre a e b possono assumere i valori -128, -127, -126 , ..., 0, ... , 126, 127.

Quando Lab è codificato a 16 bit le coordinate hanno un incremento di 1/256 e quindi L assume i valori 0, 1/256, 2/256, 3/256, ..., 256/256=1, 1+1/256, ..., 100 mentre a e b assumono i valori -128, -128+1/256, -128+2/256, ..., -127, ..., 127.

Interpolazione
Le righe delle tabelle, se dovessero essere riportate tutte, renderebbero il profilo di dimensioni insostenibili. Vengono dunque riportate nel profilo solo un numero limitato di righe e spetta al motore di colore interpolare tra queste righe.

Motore di colore ICC

La gestione del colore secondo lo standard ICC avviene on-host, cioè all'interno di una applicazione o nel driver di stampa (quindi mai durante la stampa).

Consiste di una conversione di coordinate di periferica, effettuata da un motore di colore, a partire da un profilo di origine (di cui viene utilizzata la parte da periferica a PCS) per arrivare ad un profilo di destinazione (di cui si usa la parte da PCS a periferica) con un determinato intento di rendering.

La conversione viene realizzata materialmente da un software chiamato motore di colore ICC, color engine, o anche CMM, color management module o method.

Ogni CMM conforme alle specifiche ICC deve supportare entrambi i PCS previsti, cioè sia Lab che XYZ e tutti i tag obbligatori. Eventuali tag proprietari (il cui scopo è di fare in modo che il profilo possa fare cose "speciali") sono interpretati solo dal CMM proprietario che li accompagna.

Home | Commenti a Mauro Boscarol | Ultimo aggiornamento 9 novembre 2002