Questo articolo ha due scopi: vuole essere una guida per chi volesse usare Argyll come software di profilazione del monitor (sulla base delle mie prime esperienze con questo programma) e fornire tutta una serie di nozioni generali sull'argomento, sempre valide indipendentemente dallo strumento o dal software utilizzato. L'articolo punto di partenza di tutto questo è stato "Ancora un monitor così... all'improvviso! Eizo S2231W", da PhotoActivity. Eccellente, e grazie infinite a Daniele Pennati.
Lo strumento utilizzato è stato lo Spyder3Pro di Datacolor. I risultati di queste prime prove sono stati buoni ma non eccellenti, e durante l'analisi dei risultati ho trovato alcuni spunti per un futuro miglioramento. Ho deciso di non aspettare il rifacimento della procedura di profilazione con i parametri perfetti ma di riportare proprio questo primo tentativo, perchè mi pare molto più didattico, sia per il lettore che per me stesso. Inoltre, ogni difficoltà incontrata mi ha portato ad approfondire certi aspetti, ed ho scoperto (solo parzialmente, per ora) che la gestione del colore è un mondo di dettagli e sottigliezze.
Prima che i guru mi mangino, ammetto che conosco abbastanza poco Argyll, e che nella stesura di questo articolo mi sono addentrato in parecchi meandri della colorimetria che sinceramente non padroneggio. Confido di non aver sparso inesattezze o errori nei contenuti di questo articolo, che spero di tenere aggiornato con nuove osservazione e esperienze. Nel caso, mandatemi una email e correggerò.
Come sempre, buona lettura.
Beh, se siete arrivati a quest'articolo, vuol dire che già avete una vaga idea di cosa sia la gestione del colore, e perchè si debba profilare un monitor. Se non è così, prima di andare oltre vi consiglio di leggervi "La gestione del colore".
Solo due parole riassuntive. Lo scopo della gestione del colore (color management, in inglese) è quella di mantenere inalterati (per quanto possibile) i colori lungo tutta la catena di processamento di un'immagine, dalla fotocamera al monitor alla stampante. Tale scopo ci pare molto allettante, visto che . Tutta questa aleatorietà dei colori è deleteria, perchè fa' vivere le nostre foto in un limbo fumoso, in cui escono (sotto forma di stampe o visualizzazioni) con risultati quasi casuali.
Vediamo meglio. Di seguito vi elenco i problemi tipici della gestione del colore.
Primo problema: ogni periferica (fotocamera, monitor, stampante) è limitata, e può riprodurre solo alcuni dei colori esistenti (l'insieme dei colori riproducibili da una periferica si chiama gamut). |
Secondo problema: le periferiche di cui parliamo (fotocamera, monitor, stampante) hanno dei gamut molto diversi. Non solo più piccolo o più grandi, ma esistono ad esempio colori visualizzabili sul monitor ma non stampabili e viceversa colori che posso stampare ma non vedere sul monitor. |
Terzo problema: le periferiche, anche della stessa marca e stesso modello (figuriamoci quelle totalmente diverse) possono avere caratteristiche e settaggi totalmente diversi fra loro, quindi con risultati finali molto variabili. |
Quarto problema: ogni periferica è soggetta ad una variabilità nel tempo, sia per invecchiamento, sia per cambiamento della situazione ambientale, sia per cambiamento della calibrazione iniziale. |
Un bel casino, ma è sotto gli occhi di tutti noi, che abbiamo sperimentato di persona almeno una volta situazioni del tipo "ho mandato a stampare ma le foto sono venute tutte rossastre" oppure "la stessa foto vista a casa è diversa che vista in ufficio". La gestione del colore cerca di mettere ordine in questo marasma ed evitare, per quanto possibile, errori e tentativi inutili. Ecco alcune considerazioni impostanti sull'argomento
La gestione del colore non è un "programma" particolare o un driver o qualcos'altro: è un insieme di azioni, una strategia che l'utente deve mettere in atto al fine di mettere ordine e coerenza nel mondo dei colori. |
La gestione del colore "tocca" tanti elementi: i programmi, i drivers, il sistema operativo, le periferiche (fotocamera, scanner, monitor, stampante. Ma anche l'ambiente di lavoro e.. la testa dell'utente di tutto ciò che deve impegnarsi a d attuare tutto con precisione e meticolosità. |
La gestione del colore non fa' miracoli: i colori che non riuscivo a stampare prima, non riuscirò a stamparli neanche dopo averla attivata. In questi casi però evidenzia il problema, in modo che l'utente possa decidere cosa fare. |
La gestione del colore ha avuto una nascita travagliata, ma alla fine è prevalso il "modello ICC" dal nome dell'International Color Consortium. Tale modello si basa sui cosiddetti profili ICC, dei files che descrivono il comportamento di ogni periferica coinvolta. Grazie a queste preziose informazioni, nel nostro PC un programma apposito denominato CMM (Color Management Module) compie acrobazie matematiche per modificare i "numeri" allo scopo di lasciare inalterati i colori (che in un sistema digitale come un PC sono appunto indicati con numeri, tipo una terna RGB).
Per risolvere il problema dei colori cha appartengono ad un gamut di una periferica ma non al gamut di un'altra (vedi l'esempio sopra di monitor e stampante), la gestione del colore mette a disposizione i cosiddetti intenti di rendering (sono 4: percettivo, saturazione, colorimetrico relativo e colorimetrico assoluto) per lasciare all'utente la scelta di quale strategia utilizzare per controllare i colori fuori del gamut.
Scendiamo un po' più in dettaglio. Ogni periferica digitale riproduce o cattura colori che indica con numeri. Ad esempio, un monitor riproduce colori che normalmente sono descritti da tre numeri, uno per ogni canale RGB (rosso, verde, blu). La stampante (in realtà non è proprio così, però poco importa) invece riproduce colori che sono descritti da quattro numeri, uno per ogni primario CMYK (ciano, magenta, giallo e nero). Comunque sia, numeri. Alla fine, tutto su PC è numero (meglio, bits).
Il problema è un numero non identifica univocamente un colore. Se mando gli stessi tre numeri RGB in pasto a tre monitor diversi, ottengo colori diversi, perchè come detto sopra si tratta di oggetti diversi ognuno con le sue caratteristiche.
Stessi numeri, colori diversi (acc...)! |
E' come se un tedesco volesse parlare con un francese, non si capiscono. La soluzione è che entrambi... sappiano parlare inglese. Infatti, il problema nasconde dentro di se la soluzione: dobbiamo trovare una specie di "vocabolario" (uno per ogni periferica) che traduca i numeri in colori, e i colori in numeri. Se ho il colore "verde acquamarina", dal "vocabolario" del monitor scopro che equivale ai numeri (57,180,162) ma nel "vocabolario" della stampante invece è indicato dai numeri (67,205,155).
Numeri diversi, stessi colori (molto meglio)! |
Come avete capito, i "vocabolari" di cui sto parlando sono proprio i profili ICC. I numeri sono indicati come "device-dipendent", perchè ogni periferica reagisce in modo diverso agli stessi numeri. I colori ovviamente cono sono indicati con nomignoli tipo "verde acquamarina", ma con altri numeri speciali detti coordinate colorimetriche: a differenza di quelli precedenti, ogni serie di numeri corrisponde ad un colore ben definito e specifico. Tali coordinate servono proprio da tramite nelle trasformazioni dei colori da una periferica ad un'altra, sono la "lingua comune". Le coordinate colorimetriche vivono nel cosiddetto PCS (Profile Connection Space), che è proprio lo "spazio di connessione" tra i numeri di una periferica ed un'altra, sotto le indicazioni dei profili ICC.
Come già accennato, tutte le operazioni di conversione di coordinate vengono eseguite da un apposito programma chiamato CMM ("color management module", modulo di gestione del colore), invocato alla bisogna dai tutti programmi che gestiscono ilo colore e che ne richiedono i servigi. Si tratta di un programma nascosto, che fa un lavoro sporco dietro le quinte. I sistemi operativi di solito ne mettono a disposizione uno, ma può succedere che certe applicazioni ne installino un altro di maggiore gradimento.
In genere vengono utilizzati due PCS: XYZ oppure LAB. Senza essere troppo fiscali, XYZ (più precisamente CIEXYZ) è un modello matematico che descrive l'insieme dei colori percepibili dall'essere umano tipo. E' il "pollicione" che vedete riprodotto molte volte quando si parla di grafici bidimensionali dei profili. LAB (più precisamente CIELAB) invece è uno spazio molto simpatico, costruito su tre assi: L, a, b. La cosa carina è che L è l'asse della chiarezza (per noi profani, della luminosità), ed in pratica tutti i punti che giacciono sull'asse L sono dei grigi, dal bianco al nero. E' molto interessante avere uno spazio colore in cui ci sia un asse dedicato interamente ai grigi, vista l'importanza del bianco e nero nella fotografia e vista l'estrema sensibilità del nostro occhio a percepire anche lievissime dominanti nelle immagini monocromatiche.
Tirando le somme: se tutte le periferiche che utilizziamo sono descritte da un profilo ICC corretto (poi vedremo cosa vuol dire), il CMM riesce a far bene il suo lavoro, cioè "cambiare i numeri per non cambiare i colori".
La gestione del colore secondo ICC. |
Esistono dei profili ICC che non descrivono periferiche reali ma i cosiddetti "spazi di lavoro" (working space, in inglese): sono dei contenitori di colori, descritti matematicamente, che servono per racchiudere i colori in insiemi standard e ben conosciuti da tutti. In questo modo, possono essere utilizzati per "trasportare" un'immagine digitale senza ambiguità sui colori. Esempi tipici sono sRGB, AdobeRGB, ProPhotoRGB. Quando fornisco ad un centro stampa un file JPEG con profilo incorporato sRGB, sono sicuro che ho fornito tutte le informazioni necessarie e comprensibili.
La procedura completa per ottenere il profilo ICC di un monitor (ma in generale di qualsiasi periferica) consiste di quattro passi fondamentali:
calibrazione
caratterizzazione
profilazione
verifica
Se volete saperne di più, nel solito blog di Mauro Boscarol trovate "Calibrare e profilare un monitor", "Fasi di creazione del profilo del monitor", "Requisiti per poter calibrare un monitor LCD".
La calibrazione (in Argyll è compito del comando dispcal) consiste nel portare il monitor (e la scheda video, vedremo dopo) in uno stato iniziale ben definito, da cui partire per la caratterizzazione e profilazione. Due sono i concetti base:
imposto il monitor in modo che in alcuni suoi parametri (la temperatura del bianco e il gamma in particolare) sia conforme alle condizioni che io considero ottimali per la visione delle immagini;
allo stesso tempo, cerco di agire sugli unici due gradi di libertà che ho a disposizione (i controlli del monitor e la LUT della scheda video) per avvicinarmi al massimo alle condizioni di calibrazione (il resto lo fa la profilazione, ma meno lavoro ha da fare meglio è).
Per un monitor la calibrazione iniziale consiste nell'"inseguimento" di quattro parametri importanti:
il gamma
la temperatura del bianco
la luminosità massima
il livello del nero
Del gamma e della temperatura del bianco ne parliamo più estensivamente in due capitoli qui sotto.
La luminosità massima è un termine... che si spiega da se: quanto è luminoso il bianco massimo (che si porta dietro di conseguenza tutti i grigi). I valori sono espressi in "candele per metro quadro", in cd/m2. Sappiate che i monitors di fabbrica escono tutti abbastanza sparati, con luminosità attorno ai 300-400 cm/m2. I valori consigliati sono invece dai 100 ai 140 cd/m2, quindi durante il processo di calibrazione dovrete abbassare di molto la luminosità. Molti preferiscono valori bassi (sui 100 cd/m2) perchè ritengono che siano più simili alla visione di una stampa nelle normali condizioni di luce. Altro preferiscono valori più elevati (fino a 140 cd/m2) per non "castrare" (scusate il termine) troppo il monitor, che se impostato per luminosità troppo basse produce un bianco troppo... grigiastro. Inoltre, visto che i monitor (sopprattuto quelli di fascia bassa) sono progettati per abbronzarvi, limitare troppo la luminosità potrebbe portare ad effetti collaterali sgradevoli tipo scalini nei gradienti.
Il livello del nero è appunto il livello del nero massimo (R=0, G=0, B=0), solitamente espresso come "luminanza minima", sempre in cd/m2. Sarebbe molto bello che fosse 0, in realtà è qualcosa di più a causa dei difetti degli LCD reali. E' un parametro che probabilmente aveva senso impostare nei monitor CRT, ma per gli LCD si lascia il livello del nero "nativo".
Questi quattro parametri saranno dati in pasto al programma, verranno misurati in tempo reale dal colorimetro e mediante il menù OSD del nostro monitor cambieremo luminosità, contrasto e valori RGB per avvicinarsi il più possibile ai target (cioè ai valori desiderati). Dopo questa fase avverrà una pre-caratterizzazione (una lunga serie di misure con il colorimetro) che serviranno a creare la tabella di calibrazione da scrivere nella LUT della scheda video del vostro PC.
Che è 'sta LUT della scheda video? E' un'altro grado di libertà per "centrare" i quattro parametri di cui sopra. Oltre ai controlli del monitor, possiamo (anzi, dobbiamo) infatti modificare la LUT della scheda video per avvicinarsi al gamma impostato. La LUT è una "tabella" interna alla scheda video che ci permette di "distorcere" la curva naturale del monitor per avvicinarla alla curva gamma desiderata. Le tabelle in realtà sono tre, una per canale, anche se qualche portatile ne ha una, comune a tutti canali (il che costringe a calibrare per un bianco nativo, sennò compaiono fastidiose dominanti). Appena acceso il PC la LUT è resettata e quindi non fa' niente (è una retta a 45°), ma ci sarà un programma apposito che si occuperà di caricare i nuovi valori. Tale programma è installato in modo silente dai programmi commerciali (tipo quello fornito con lo Spyder3Pro), oppure lo dovrete configurare voi manualmente nel caso di Argyll. La LUT è indispensabile: in alcuni vecchi portatili non c'è, mi dispiace, non è possibile profilare il display con risultati decenti. Come si fa a capire se la LUT è presente e se ha le tre tabelle una per canale RGB? Si può utilizzare il programmino Calibration Tester, descritto più avanti.
Si noti che lo standard di qualsiasi dispositivo... che non ha una gestione del colore è di fatto lo spazio colore sRGB, il che vuol dire approssimativamente temperatura del bianco 6500°K e gamma 2.2. Windows e tutti i gli applicativi senza color management assumono che abbiate un monitor che si comporti in questo modo, e i produttori di monitor progettano i display in modo che siano vicini a sRGB, in modo da non creare strani effetti collaterali. Anche i produttori di monitor a gamut esteso come il mio HP LP2475w hanno sempre delle preimpostazioni per simulare un sRGB. Lo stesso dicasi per il web e i browser: tutto e sempre sRGB. Anche quasi tutti i lab di stampa vogliono solamente sRGB. Quindi, anche noi si vorrebbe essere conformi alla massa e ci uniformiamo, anche per evitare che le foto da noi ritoccate (su monitor profilati) siano viste da altri in modo troppo diverso (su monitor non profilati ma simil-sRGB).
Se volete saperne di più, il blog di Mauro Boscarol vi offre su un piatto d'argento "Quali sono i migliori parametri di calibrazione?".
La caratterizzazione (in Argyll è compito del comando dispread) consiste nella misurazione effettiva delle prestazioni del monitor: il programma visualizza una serie di colori, e lo strumento li misura. In generale, più misurazioni vengono effettuate, più la successiva fase di profilazione avrà dati su cui lavorare per produrre un buon profilo. Si tratta di una fase noiosa, in cui bisogna solo... aspettare.
In Argyll in realtà le misurazioni sono due: una per ottenere i dati ci calibrazione da scrivere nella LUT della scheda video, e una per ottenere effettivamente i dati per la profilazione.
Anche la profilazione (in Argyll è compito del comando colprof) è una fase poco dinamica: un programma leggerà i dati di calibrazione e i dati di caratterizzazione e da questi magicamente produrrà un profilo ICC. La cosa importante è impostarlo correttamente, indicando le caratteristiche del profilo desiderate.
Per verificare la bontà di un profilo abbiamo due strade:
la verifica visiva mediante immagini di test (si veda più avanti);
una ulteriore misurazione mediante strumento (in Argyll è compito del comando profcheck)
Una non esclude l'altra, anzi, sono entrambe importanti. Pensate infatti di avere uno strumento mal tarato: gli errori delle misurazioni non possono essere scoperti... attraverso altre misurazioni con lo stesso strumento!
Come abbiamo visto sopra, i profili ICC rivestono un ruolo fondamentale nella gestione del colore. Essi vengono creati attraverso una procedura abbastanza complessa e delicata (questo articolo parla proprio di questo, applicato ad un monitor). Mi pare giusto fare alcune precisazioni.
Come detto sopra, i profili descrivono il comportamento di una periferica dal punto di vista del colore, e si ottengono mediante una procedura basata sulla misurazione mediante un apposito strumento. Da qui partiamo per trovare i limiti di questo approccio.
Per prima cosa, i profili descrivono la periferica misurata in quel momento, in quelle condizioni ambientali e soprattutto con quella calibrazione. Come disse qualcuno: "la mappa non è il territorio". Se cambia qualcosa rispetto al momento della profilazione (e state certi che succede), il profilo comincia a perdere di validità. Nel caso di un monitor, che ha un tempo di warm-up, che è soggetto ad invecchiamento e che è sensibile alle condizioni ambientali (luce ma anche temperatura), vuol dire che un profilo ICC ha una scadenza relativamente breve.
In secondo luogo, visto che partiamo da misurazioni, un profilo si basa su dati che hanno una precisione limitata poiché ottenuti da uno strumento che (poco o tanto) sbaglia. Inoltre, il monitor cambia comportamento anche durante la misura, se non aspettiamo un tempo adeguato dall'accensione affinché si stabilizzi. Quindi, il nostro profilo in realtà non è una fotografia "precisa" del comportamento della periferica, ma sempre e comunque "approssimata". Se gli errori introdotti da questa approssimazione sono contenuti entro certi limiti la gestione del colore sarà efficace, in caso contrario provocherà danni. Gli errori possono essere limitati in vari modi: utilizzando uno strumento di qualità, conoscendo il tempo di warm-up del monitor, utilizzando strumento e software con cognizione di causa, predisponendo delle condizioni ambientali adeguate.
C'è dell'altro, ma ne parliamo dopo aver visto cosa c'è dentro un profilo ICC. Oltre alle varie informazioni accessorie (versione ICC, produttore del profilo, ...), il profilo ICC può descrivere la periferica in due modi.
Utilizzando una matrice e una (o più) curve gamma (nel gergo di Argyll "independent gamma curves + matrix", nel gergo ICC "shaper/matrix"). Questa strategia funziona decentemente solo per i monitor, dove il comportamento è abbastanza simile ad un modello teorico mooolto semplificato basato appunto su una matrice e una curva gamma per ogni canale. In pratica, una formula matematica, neanche tanto complicata. I vantaggi è che il profilo è piccolo come dimensioni su disco (qualche kB) e che è raro che questo tipo di profilo introduca banding o irregolarità nei gradienti, lo svantaggio è che non funziona per periferiche "complesse" tipo le stampanti inkjet o nei monitor nelle zone problematiche. Per dirne una, un profilo di questo tipo pretenderebbe che un monitor pilotato con RGB=(0,0,0) produca un nero perfetto, cosa che invece non succede mai a causa della retroilluminazione che comunque filtra attraverso il pannello LCD (provate a spegnere ogni luce e guardare lo schermo con sfondo completamente nero).
Utilizzando tabella (nel gergo di Argyll "cLUT", nel gergo ICC "shaper/multi-functional-table"). Il profilo contiene una tabella di conversione da numeri RGB a coordinate colorimetriche (in realtà le tabelle sono di più, a causa dei diversi profili di rendering). Il problema è che per descrivere completamente il dispositivo avrei bisogno di svariate milioni di righe (!), e mi ci vorrebbero anni per ottenere tutte le misure: impossibile. Purtroppo, devo limitarmi al massimo a qualche migliaio di righe. Le combinazioni di numeri-coordinate non esplicitamente indicate nella tabella le ottengo per interpolazione (compito del motore di gestione del colore, CMM), uno strumento matematico per "stimare" gli elementi mancanti. Teoricamente, più elementi ci sono (e quindi più misure ho effettuato) meglio dovrebbe risultare il profilo, però non è detto. Inoltre, la posizione dei punti di misura ha la sua influenza. I vantaggi di questo tipo di profilo sono che riesco a descrivere periferiche "irregolari" come le stampanti, oppure i monitor nei punti critici. Gli svantaggi: il profilo è molto grande (anche qualche MB), e può essere più soggetto a banding nei gradienti.
In entrambi i casi, il software di profilazione (colprof per Argyll) legge i dati di caratterizzazione (che sono relativamente pochi rispetto alle 16 milioni di combinazioni possibili, in questo articolo parliamo di 836 misure) e mediante un algoritmo di fitting produce un profilo (a matrice o a tabella) in modo che sia il più vicino possibile ai dati in ingresso. Detto in altri termini, cerca di minimizzare l'errore.
Per chiarire i concetti, utilizziamo un esempio molto semplice, in cui c'è un dispositivo immaginario il cui comportamento è descritto da un curva rappresentabile su un grafico bidimensionale. In pratica, una specie di monitor monocromatico, come quelli di decenni fa. Si tratta di un esempio distante dalla realtà di un profilo RGB di un monitor (che è un oggetto tridimensionale), ma ci serve solo per sottolineare alcuni concetti generali.
Questa è la curva (in rosso) del nostro dispositivo immaginario: per ogni valore RGB in ingresso ho un valore di luminosità L in uscita. Il caso reale di un monitor è più complicato perchè multidimensionale, però i concetti sono gli stessi. |
Si noti che la curva è abbastanza irregolare, e non parte dall'origine, ma anche con valori RGB=0 produce una luminosità minima: rappresenta il livello del nero, che non è mai 0 cd/m2. Durante la fase di caratterizzazione, la curva reale del dispositivo viene misurata ("campionata" in termine tecnico), ottenendo una serie di misure (nel caso di Argyll, faremo poco più di 800 misure).
Durante la fase di caratterizzazione si somministra al dispositivo dei valori RGB e si misura la risposta L, mediante un apposito strumento. Si ottiene una serie di misure (punti blu), di numero limitato (al massimo un migliaio circa). |
Da queste misure il programma di profilazione (il comando colprof di Argyll) può generare il profilo ICC del dispositivo. Come detto sopra, abbiamo due possibilità: un profilo a matrice o una a tabella. Il profilo a matrice descrive una curva matematica poco complicata, che poco si presta a modellizzare tutti i comportamenti strani del dispositivo. Inoltre, la curva dall'origine, mentre il dispositivo parte da una luminosità minima. Da questo profilo ci aspettiamo errori non trascurabili.
Il profilo a matrice è molto semplice: descrive una curva (in nero), e si hanno ben poche possibilità di descrivere esaustivamente la curva reale del dispositivo. |
Il profilo a tabella può produrre risultati migliori: da tutte le misure si crea una tabella di conversione di poche righe, che corrispondono ai punti verdi nel grafico qui sotto. Il CMM si occupa mediante l'interpolazione di ottenere tutti gli altri possibili punti: semplificando, dal punto di vista grafico crea una curva morbida che passa per i punti verdi i punti nella tabella del profilo).
Il profilo a tabella contiene una serie di punti (indicati in verde), in numero molto limitato rispetto alle misure di caratterizzazione (e rispetto ai milioni di punti necessari per descrivere completamente il dispositivo). |
Il profilo a tabella consente errori minori rispetto a quello a matrice, e risolve il problema del livello del nero diverso da 0. Qui sotto potete vedere il confronto di entrambi con la curva reale del dispositivo (in rosso).
Profilo a matrice (in nero) |
Profilo a tabella (in verde) |
L'algoritmo che dalle misure di caratterizzazione produce i profili è uno degli elementi più importanti di un software di profilazione, perchè dalla sua "intelligenza" e dalla possibilità per l'utente di parametrizzarlo secondo le sue esigenze, si ottiene un profilo più o meno buono. E' anche qui che si vede la differenza tra un programma mediocre e uno di fascia alta.
Anche il CMM produce degli "effetti" sulla qualità della gestione del colore: esegue moltissime operazioni matematiche, ognuna con una sua "precisione" ben definita (purtroppo è così quando si parla di algoritmi che girano nei PC), e può mettere del suo in certe situazioni, quando è richiesta una certa "furbizia". Esistono quindi CMM più o meno prestanti: credo che se Photoshop si porta dietro il su CMM denominato ACE, vuol dire che non si fida troppo di quello di Windows...
Concludendo, ognuna delle due tipologie di profili ha i suoi vantaggi ma anche le sue problematiche, che vanno ad aggiungersi a quanto detto prima. Inoltre, i programmi di profilazione come colprof di Argyll pretendono di decidere svariati parametri, che influenzano la qualità finale del profilo ICC. Lo so, è un mondo difficile. Fare un buon profilo costa fatica, conoscenza, esperienza, tentativi falliti, costanza e precisione.
Se volete saperne di più, il blog di Mauro Boscarol vi propone "Monitor: profilo di display v2", "Profilo a matrice: è una formula", "Profilo a tabella: è un elenco".
Il gamma è un numero che ha a che fare con una curva. Il monitor infatti è un dispositivo che viene "pilotato" mediante valori RGB provenienti dalla scheda video, che magicamente diventano "luminosità" e arrivano al nostro occhio: la curva di cui si parla (in inglese viene chiamata "tone reproduction curve", TRC) è la rappresentazione grafica della relazione tra valori RGB in ingresso e "luminosità" in uscita (per inciso: userò il termine assolutamente improprio di luminosità per una maggiore comprensione per noi non addetti ai lavori, ma sappiate che dovremmo parlare di "chiarezza, si veda "Luminanza, brillanza, chiarezza"). Gli estremi di questa curva sono il nero RGB=(0,0,0) e il bianco RGB=(255,255,255), ed in mezzo ci sono tutti i toni intermedi. Tale curva potrebbe essere molto complicata, ma solitamente si fa in modo che abbia un andamento simile ad una curva matematicamente molto semplice, di tipo elevamento a potenza, che è possibile descrivere con un semplice numeretto: il gamma.
La relazione tra i numeri RGB in ingresso al monitor e la "luminosità" prodotta e percepita dal nostro occhio può essere descritta da una relazione matematica o in modo più "user-frendly" con una curva. Qui sopra, in rosso un esempio (estremizzato) di curva nativa reale, in nero la sua approssimazione con una curva gamma. |
Come notate, non è detto che una curva gamma sia la rappresentazione perfetta della curva reale del monitor, ma qui entra in gioco la calibrazione: il suo scopo è quello di lavorare sui controlli del monitor ma soprattutto sulla tabella LUT della scheda video per compensare queste differenze e ottenere una curva globale scheda video-monitor aderente alla curva gamma prescelta.
Un gamma pari a 1 indica un curva che degenera in una retta a 45°. Una curva con gamma 4 è più panciuta di una curva con gamma 2.2. Al di fuori della gestione del colore (si legga più avanti), un gamma maggiore corrisponde ad un contrasto rafforzato.
In blu la curva con gamma pari a 1, in nero la curva con gamma 2.2 e in verde una curva con gamma 4. |
La cosa simpatica del gamma... è che in realtà non dovrebbe avere nessun effetto sulla gestione del colore. Infatti, qualsiasi sia la curva prescelta, il motore CMM ne verrà a conoscenza mediante il profilo ICC del monitor e provvederà subito a compensarla con una curva opposta, in modo la relazione finale tra valori RGB e "luminosità" percepita dall'occhio sia quella corretta, cioè quella in cui ad ogni "raddoppio" dei numeri RGB di un grigio corrisponda un altro grigio che è "doppiamente" più chiaro (il tutto espresso nel modo meno preciso e corretto, lo ammetto). Tale relazione lineare è quella che ci fa' vedere i gradienti in modo corretto, senza compressioni sulle ombre e sulle alte luci.
Strano, mi son detto la prima volta che ho sentito questa concetto, in giro non si parla d'altro che di gamma 2.2 oppure 1.8 oppure L-star, di vantaggi e svantaggi di una e dell'altra soluzione. Se non è importante, perchè ci impegniamo tanto nella scelta di questo numeretto? Ci sono due motivi apparentemente collaterali ma importanti.
Il gamma ha un effetto diretto e drammatico su tutte le applicazioni che non gestiscono il colore. Se ci pensate, la calibrazione è sempre attiva (la LUT viene caricata all'avvio del sistema operativo, e voi avete impostato dei controlli sul monitor). Se non si gestisce il colore allora viene a mancare la profilazione, quella che dovrebbe eseguire la compensazione: siamo nel far west, tutto è deciso da come abbiamo impostato il monitor durante la calibrazione. E' vero che ritocchiamo le foto in un ambiente con gestione del colore attiva, però sfortunatamente dobbiamo lavorare anche con Word o Internet Explorer: se scegliamo un gamma "strano" allora sicuramente tali applicazioni visualizzeranno le foto in modo "strano", cioè troppo (o troppo poco) contrastato. come diremo in seguito, il gamma "normale" per il mondo è 2.2
Se scegliamo un gamma troppo distante dalla curva "nativa" del monitor, allora la LUT conterrà delle correzioni molto potenti, il che corrisponde a far lavorare "male" il sistema con rischi enormi di gradienti pieni di discontinuità. Il motivo è che purtroppo queste correzioni vivono in una LUT a 8bit/canale, e ogni correzione corrisponde ad un degrado, ad una perdita di informazioni (per inciso: mi fanno ridere quelli che parlano di 16bit/canale e magari neanche profilano il monitor) che si può evidenziare anche mediante i gradienti nella verifica visiva. Meglio scegliere un gamma in modo che la curva sia simile a quella reale del monitor, con LUT con pochissime correzioni. Se avete un monitor da migliaia di Euro con LUT interna a 12bit, allora potete scegliere qualunque gamma che volete.
La curva nativa del monitor è determinata in gran parte da chi lo ha progettato: poiché nessuno fa le cose a caso, in generale tale curva è in modo approssimato qualcosa che assomiglia alla curva di sRGB (il quale assomiglia ad una curva con un gamma 2.2), che è considerato lo standard implicito per tutto il mondo del "non gestisco il colore" (da Word al DVD sotto al televisore al cellulare). Il tutto deriva da ragioni storiche: i monitor a tubo catodico (CRT) avevano per loro natura fisica una curva di questo tipo. Gli LCD invece non avrebbero niente in comune con questa legge matematica, ma i costruttori di questi dispositivi in un mercato allora dominato dai CRT, e hanno dovuto implementare un'elettronica interna che simulasse la curva nativa di questi. Quindi, gamma 2.2 mi pare la scelta ovvia da effettuare.
Altre possibilità da esplorare? Per il comando dispcal di Argyll potete provare con il gamma di sRGB (in realtà leggermente diversa dal gamma 2.2) e con L-star (indicato anche con "L*"), la curva dell'asse L dello spazio LAB. Si ricorda che tale asse è molto simpatico: accoglie tutti i grigi, dal nero al bianco, ed è percettivamente uniforme, cioè un grigio L=20 è "distante" da un grigio L=30 come un L=30 è distante da un L=40. Sembrerebbe scontato che questo succeda, però LAB è uno dei pochissimi modelli colore in cui questo avviene. Perchè uno dovrebbe scegliere L-star? Primo perchè ha un bel monitor con una LUT interna che gli permette di impostare il gamma che vuole senza problemi, e secondo perchè L-star dovrebbe permettere di vedere meglio i dettagli nelle ombre più scure, perchè proprio lì concentra il massimo della "precisione". Infatti, poiché la scheda video continua a lavorare comunque a 8bit/canale, scegliere L-star consentirebbe di "ridistribuire" i bit, avvantaggiando le ombre a discapito di un leggero peggioramento delle altre tonalità (mezzitoni e luci). Inoltre, per beneficiare al massimo delle potenzialità della calibrazione L-star sarebbe opportuno utilizzare uno spazio di lavoro che si comporti allo stesso modo: oltre a LAB, esistono altri nuovi spazi colore RGB che sono percettivamente uniformi lungo l'asse dei grigi (e quindi si comportano come L*): ECI-RGB V2 (dovrebbe essere uguale a LStar-RGB), ProPhoto-LStar, ProStarRGB (L*). In questo modo, nelle conversioni di colore non si ha perdita di preziose frazioni di bit, cosa che invece avrei se dovessi continuamente convertire da gamma 2.2 a L* e viceversa. Se tutta la catena lavorasse a 16bit/canale, tutto questo non avrebbe molta rilevanza. Si veda questo thread sul forum di PhotoActivity.
Aggiornamento: ho provato la calibrazione L* al momento del test di dispcalGUI: le curve in LUT ora sono molto accentuate, ma i gradienti non sono male. Sicuramente le ombre si aprono, ora riesco a distinguere il grigio "1" dal nero "0" (vedi le immagini di test nella verifica visiva). A perdere (eh, la coperta è sempre corta, non ci sono miracoli) sono le altissime luci, dove ora non riesco a distinguere il "253" dal bianco "255". Poco male. Mi riservo di testare ancora il profilo, per vedere come si comporta conj un pò di lavoro sulle spalle.
Boscarol consiglia se possibile di utilizzare L-star, se è nelle opzioni del programma. Se dovete utilizzare la LUT della scheda video (come il sottoscritto), probabilmente L-star è troppo distante da gamma 2.2, però non ho fatto prove in merito. In Internet ho trovato gente con il mio stesso monitor (senza LUT, quindi) che usa tranquillamente due calibrazioni: L-star per il ritocco, e gamma 2.2 per valutare le foto per la stampa. Mah, da provare.
Qui sotto alcuni links sull'argomento.
"Cos’è il gamma di un monitor", dal solito immenso blog di Mauro Boscarol.
"Monitor calibration and gamma" di "Norman Koren", con molte immagini di test.
"Gamma FAQ", anche se dedicato al mondo del video.
"Gamma".
La temperatura del bianco è... il "colore" del bianco massimo (R=255, G=255, B=255) del monitor, ed è espressa in gradi Kelvin. La temperatura del bianco viene decisa prima della calibrazione ed è sempre "effettiva", cioè valida anche per le applicazioni al di fuori della gestione del colore.
Il concetto è lo stesso del bilanciamento del bianco ("white balance" in inglese, WB) delle fotocamere digitali: più il numero è elevato, più il bianco è "freddo". Anche qui c'è una strada maestra, quella dei 6500°K, seguita praticamente da tutti. Tra l'altro, 6500°K è anche la temperatura consigliata dagli standards europei. Un'altra possibilità è 5000°K, che però produce un bianco troppo caldo per i miei gusti. Per ultimo, se avete un monitor LCD di scarsissima qualità tipo un display di un portatile, potreste scegliere la temperatura del bianco "nativa", cioè quella propria del monitor: questa potrebbe essere poco attraente (di solito è troppo alta e quindi troppo fredda, tipo 9000°K), però evita una calibrazione in LUT troppo estrema con fenomeni di irregolarità nei gradienti, ed è anche l'unica cosa da fare se la LUT è unica e non separata per ogni canale.
Da quanto leggo in giro, per chi stampa la soluzione ottimale è ritoccare con un monitor calibrato a 6500°K e osservare le foto con lampade con temperatura del bianco di 5000°K.
Ultima nota importante. Se partite dal monitor con una temperatura 9000°K e passate velocemente durante la calibrazione ad una temperatura di 6500°K, avrete una sensazione iniziale di "bianco troppo caldo": prima di valutare aspettate che il vostro occhio si adatti al nuovo bianco!
In tutti gli articoli sulla profilazione dei monitor (e non solo) e in tutti i programmi troverete citato in abbondanza il deltaE, o dE. Si tratta di un unità di misura per indicare la distanza tra due colori, ed in genere si utilizza per indicare la distanza tra il colore atteso e quello misurato. Teoricamente, 1dE è il minimo scarto osservabile da un essere umano. Purtroppo esisto molte "versioni" di dE, indicate con gli anni in cui sono stati definiti: di solito 1976 (dE76), 1994 (dE94), 2000 (dE2000). L'ultima definizione dE2000 dovrebbe essere la più attendibile nei confronti della reale percezione umana.
Un osservatore medio non riesce a discriminare facilmente colori con distanze inferiori a 3dE, valori inferiori per i toni del verde per il quale siamo più sensibili. Si legge in giro che un buon profilo è caratterizzato da errori medi inferiori a 3dB e errori massimi inferiori a 6dB.
Supponiamo di rappresentare un profilo come una curva: niente di più sbagliato (un profilo è qualcosa di molto più complicato), ma ci serve per capire i concetti. Uno dei parametri più semplici per capire la qualità di un profilo ICC è verificare l'errore (massimo e medio). Si misura la distanza tra i punti di misura della caratterizzazione e la curva del profilo (a matrice o a tabella). Nel corso di quest'articolo, useremo una nuova serie di misure, per ottenere una verifica strumentale ancora migliore: è scontato che l'algoritmo cerchi dai far passare la curva di un profilo a tabella il più vicino ai punti di caratterizzazione, meno scontato che produca buoni risultati anche con una nuova serie di misure in posizioni diverse. Solitamente vengono riportati sia l'errore massimo sia l'errore medio (e/o RMS, una media più "intelligente").
Ogni profilo è contraddistinto da una serie di errori, che in pratica corrispondono a quanto distante è la curva del profilo (in questo caso quella ottenuta da un profilo a tabella nel capitolo precedente, in verde) dai punti di misura del dispositivo reale (in blu), che sono i nostri unici riferimenti nei confronti del dispositivo reale. |
Quando confrontate gli errori, attenzione che si tratti dello stesso standard. Inoltre, i numeri sono da prendere con le pinze, usando il buon senso: inutile disquisire su un errore di 0.85432152dE rispetto a uno di 0.81386227dE, quando il nostro strumento di misura ha una precisione molto inferiore... Ci interessa l'informazione contenuta nel numero, non il valore assoluto.
Come forse vi sarete già accorti, esistono due categorie di strumenti per la profilazione dei monitor: i colorimetri e gli spettrofotometri. Al di là dai pregi e difetti di ogni strumento, sappiate che profilare il monitor con il più economico è millemila volte meglio che profilare "a occhio": quest'ultimo è un capolavoro di ingegneria naturale, ma non va assolutamente bene come strumento di misura...
Links sull'argomento:
"What's the difference between a spectrophotometer and a colorimeter?".
"Colorimeters vs Spectroradiometers / Spectrophotometers" (nell'ottica della calibrazione di TV e proiettori).
I colorimetri sono gli strumenti più economici e diffusi. Esempi di questa categoria sono gli Spyder3 di Datacolor e l'EyeOne Display2 di X-Rite. Un colorimetro misura la luce emessa dal monitor attraverso 3 sensori, uno per ogni canale RGB. Ogni sensore ha quindi un apposito filtro per "selezionare" la banda di colore da misurare; i filtri sono dimensionati in base alle curve standardizzate da CIE per l'osservatore standard, per meglio approssimare la visione umana media.
Le "color matching functions" dell'osservatore standard secondo CIE 1931. |
I colorimetri, essendo i più economici, hanno solitamente le peggiori performance: hanno precisioni di lettura basse, i filtri possono degradare nel tempo, hanno ampie tolleranze di produzione. Purtroppo non è immediato capire se lo strumento non funziona bene, se non eseguendo una verifica visiva dopo la profilazione o confrontadone le misure con uno spettrofotometro, solitamente più affidabile. Gli strumenti più economici sono sensibili alla temperatura (e quindi se il vostro processo di calibrazione/profilazione dura ore, questo crea errori nelle misure) e non è possibile ricalibrarli in fabbrica, nel caso comincino a dare misure errate (amche qui, ce ne si accorge solo confrontantolo con un altro strumento). Hanno due vantaggi sugli spettrofotometri: sono più veloci nella lettura e riescono a leggere bene anche i livelli più vicini al nero.
Gli spettrofotometri sono solitamente molto costosi (si parte da 500Euro circa), ma poiché permettono di profilare anche le stampanti, qualche amatore potrebbe pensare di acquistarli. Esempi di questa categoria sono l'EyeOnePro e il ColorMunki di Pantone/X-Rite. Gli spettrofotometri non restituiscono una misura unica, ma "scansionano" lo spettro della luce ottenendo un'indicazione molto più precisa: l'osservatore standard non è più implementato attraverso dei filtri ma nel programma di gestione dello strumento. Nei colorimetri questo passaggio è realizzato direttamente con dei filtri ottici calibrati, che però sono difficili da realizzare e soggetti a degrado. Gli spettrofotometri sono caratterizzati da una "banda", cioè la fetta di lunghezza d'onda che misurano durante la scansione: minore è questa banda, migliore è la precisione di lettura dello spettro, però maggiore è il tempo di lettura. Al contrario dei colorimetri, gli spettrofotometri possono essere utilizzati anche per profilare le stampanti, poiché sono capaci di misurare le tacche colorate stampate sui fogli di carta grazie ad una fonte luminosa interna. Come già detto sopra, gli spettrofotometri sono lenti e hanno problemi di lettura nei livelli vicini al nero.
In Internet ho trovato varie discussioni sulla qualità di questo strumento: molti sono passati a strumenti più prestanti e costosi, insoddisfatti dei risultati (ad esempio, dominanti visibili dopo la profilazione). Cercando in giro, sembra che i primi esemplari non fossero molto performanti, e che il controllo qualità non sia eccellente. Qualcuno vocifera che non siano neanche tarati di fabbrica. In uno scambio di email pubblicato da un acquirente di un costoso monitor NEC professionale, l'assistenza della casa dichiarava lo Spyder3 uno dei pochi colorimetri compatibili, a meno di procurarsi uno strumento recente (e questo confermerebbe quanto detto sopra). Ovviamente in rete si trovano anche molti utenti soddisfatti delle profilazioni ottenute con questo colorimetro, ci mancherebbe.
In secondo luogo, sembra che i colorimetri non siano gli strumenti migliori per calibrare un monitor a gamut esteso (wide-gamut), come il mio HP LP2475w: la scelta migliore sembra essere uno spettrofotometro, oppure un colorimetro di fascia alta, meglio ancora se accoppiato dal produttore al monitor che abbiamo acquistato. In particolare, quelli commercializzati qualche anno fa' (tipo lo Spyder2) non sono assolutamente adatti, perchè non leggono con correttezza i primari RGB dei monitor wide-gamut moderni. Infatti i colorimetri, causa del funzionamento basato sulla misura della luce prodotta dal monitor, devono fare delle assunzioni sulla tipologia di retroilluminazione, il che richiede "matrici di correzione" da realizzare a bordo dello strumento o del software proprietario di profilazione. Se ne legge anche nella pagina iniziale di dispcalGUI, l'interfaccia grafica si Argyll (ne parliamo in questo capitolo). Se così fosse, tutte le misure oggetto di quest'articolo sarebbero fallate, e i profili ICC inutilizzabili.
Le mie considerazioni. Se anche così fosse, quest'articolo è comunque utile, perchè tutti i concetti sono ancora validi, e indipendenti dal tipo di strumento o dalla sua qualità. Inoltre, lo Spyder3 è stato sviluppato da Datacolor proprio considerando i nuovi monitor wide-gamut, che creavano problemi per il precedente Spyder2: quando l'ho acquistato ho ovviamente valutato anche questo aspetto. Lo Spyder3 è supportato anche da programmi di profilazione di terze parti come il prestigioso basICCcolor, e quindi qualcosa vorrà dire. Per ultimo, nella verifica visiva non ho trovato problemi evidenti. Sarebbe ottimo verificare il mio Spyder3 confrontandolo sullo stesso monitor e con lo stesso software (magari Argyll) con uno strumento più performante, magari uno spettrofotometro, però purtroppo non conosco nessuno che ne abbia uno.
Ultim'ora: la discussione su questo tema nella mailing list di Argyll ha prodotto un nuovo documento: "Monitor Wide Gamut e Colorimetri", disponibile sul sito di Argyll e nella release 1.3.0. E' stato creato un nuovo comando che dovrebbe permettere la creazione di matrici di calibrazione del colorimetro, se uno ha uno spettrofotometro in fondo al cassetto.
Profilare il monitor con uno strumento è praticamente obbligatorio, per chi abbia la minima ambizione di vedere e ritoccare le proprie foto. Punto |
Non esistono vie di mezzo. Probabilmente non profilerete mai la fotocamera, a meno che non abbiate pressanti esigenze di fedeltà cromatica da rispettare. In fondo, con qualche fotoritocco arrivate velocemente al contrasto, saturazione e bilanciamento cromatico desiderato, secondo la vostra interpretazione. Probabilmente non profilerete mai una stampante, a meno di non aver investito migliaia di Euro in stampante e spettrofotometro. Ma sicuramente dovrete profilare il monitor, che è il "senso della vista" nei confronti dei byte dei vostri file JPEG. Impossibile giudicare o peggio ritoccare una foto con un paio di occhiali con lenti arancioni, ne converrete. Un monitor non profilato è la causa al 95% di tutti le lamentele del tipo "ho stampato le foto, sono tutte scure" o "il lab mi ha rovinato le foto, sono tutte verdine".
Io steso per molto tempo ho utilizzato sul mio vecchio CRT programmini tipo Adobe Gamma per calibrare alla carlona il gamma del monitor, ma quando ho dovuto affrontare la stampa delle foto di matrimonio di un paio di amici, in cui si parlava di qualche centinaio di Euro, ho sentito la forte spinta a comprarmi uno strumento per garantirmi il risultato (o almeno fare in modo che se ci fossero stati dei problemi in fase di stampa, non era colpa mia).
Devo dire la verità che una volta profilato il mio CRT non sembrava molto cambiato. Anzi, non vedevo quasi nessuna differenza :-) Ma non era così: la prima parte di calibrazione iniziale aveva impostato correttamente la luminosità massima e la temperatura del bianco, e a causa dell'adattamento cromatico del mio occhio non me ne ero accorto. Inoltre, ovviamente, i colori che vedevo dopo la profilazione in Photoshop ora erano sicuramente più corretti, visto il programma dello Spyder3Pro mi aveva fatto modificare i valori dei canali RGB.
Giusto per fare un esempio che vale più di mille parole (già riportato nell'articolo "La gestione del colore"), prendo spunto da una situazione di gestione del colore errata (o del tutto mancante!) trovato nell'ottimo "Color Management", dal sito di Datacolor. Si tratta di un fotoritocco sbagliato a causa di un monitor non profilato.
Scattiamo una foto con la nostra fotocamera digitale. Supponiamo di essere in una condizione favorevole, in cui l'immagine sia già corretta, senza nessuna dominante. In pratica abbiamo avuto fortuna o bravura nel centrale il bilanciamento del bianco della scena.
La foto originale, così come scattata dalla fotocamera, corretta dal punto di vista dei colori. Vabbè, non è un capolavoro :-) |
Carichiamo la foto nel PC e la visualizziamo. Purtroppo abbiamo un monitor scarsissimo, con una forte dominante verdastra: la foto apparirà "sbagliata", ma l'immagine (come file nell'hard-disk) è in realtà corretta!
Immagine reale appena scaricata, così com'è registrata nell'hard-disk del mio PC. E' già corretta dal punto di vista dei colori. |
Monitor starato: vedo l'immagine verdastra. In realtà l'immagine è corretta, solo il mio monitor è una ciofeca! |
Siccome siamo dei maghi del fotoritocco, subito utilizziamo una curva per eliminare questa fastidiosa (e inesistente!) dominante verdastra e salviamo. Il problema è che in realtà modifichiamo un'immagine già corretta, quindi la rendiamo... sbagliata! In particolare, succede che l'immagine salvata ora ha una dominante magenta.
Correggiamo l'immagine eliminando la falsa dominante verdastra e salviamo... |
...e così facendo roviniamo l'immagine reale, che era già corretta! Otteniamo una dominante magenta, dovuta alla compensazione del verde per un'immagine già ok. |
Portiamo l'immagine a stampare... e ci torna indietro tutta magenta! Chissà perchè... e magari siamo anche capaci di arrabbiarci con il povero laboratorio di stampa.
Ecco la stampa finale: sbagliata! Chissà perché... |
Come per ogni... ricetta che si rispetti, ecco gli ingredienti.
Questo è il mio monitor, ormai da un anno. E' relativamente costoso (sui 600Euro), ma corrisponde ai requisiti minimi che mi ero posto per un monitor per ritocco fotografico:
Come ogni mia spesa "fotografica", la valutazione di cosa comprare è stata lunga e sofferta, con svariate ore dedicate alla lettura di recensioni e confronti. L'HP LP2475w è risultato vincitore, con ottime caratteristiche sulla carta e con un buon rapporto qualità-prezzo. I monitor LCD con matrice IPS hanno un'eccellente angolo di visione, indispensabile avere la necessaria fedeltà cromatica anche quando non guardiamo il monitor sulla perpendicolare perfetta: giusto per confronto i monitor dei portatili (che hanno invece la tecnologia TN) sono veramente scarsi, già guardando un angolo i colori e luminosità cambiano. I monitor con superficie lucida sembrano molto attraenti, ma in realtà per uso fotografico sono da evitare come la peste, visto le riflessioni dei vostri vestiti e della stanza dietro di voi inficiano pesantemente l'immagine.
HP LP2475w. |
Pro:
Contro:
Recensioni:
Conclusione: ottimo monitor, assolutamente soddisfatto. Forse oggi ci sono altre proposte ugualmente interessanti, però i contro segnalati sopra non scalfiscono le ottime prestazioni di questo monitor.
Lo Spyder3Pro di Datacolor è il colorimetro di prestazioni decenti (almeno per un fotografo amatoriale) più economico. Sulla carta le caratteristiche dello strumento sono interessanti: la nuova tecnologia del sensore rispetto al precedente Spyder2 dovrebbe essere compatibile con i display wide-gamut (come il mio LW2475w). La versione Pro era la più economica, mi pare oggi esista anche la Express; la versione Elite è la più costosa. Dalle mie informazioni, sembra che lo strumento sia sempre lo stesso e che cambi il software di gestione, che nella versione Elite permette un maggiore controllo di tutti i parametri. Dal punto di vista di questo articolo, tale software non viene utilizzato, e ci teniamo solo lo strumento!
Il colorimetro Datacolor Spyder3 |
Se volete saperne di più sui colorimetri attualmente in commercio, nel solito blog di Mauro Boscarol trovate "Colorimetri per la calibrazione e profilazione del monitor".
Ho un PC abbastanza carrozzato (almeno per gli standard di un anno fa): processore Intel Q9550 (2.83MHz, quadcore) e 8GB di RAM. Il sistema operativo è Vista a 64bit, per poter accedere a tutta la RAM (la versione a 32bit permette di arrivare a soli 3GB). La scheda grafica è di fascia bassa, una NVidia 9600 GT, anche abbastanza rumorosa.
Purtroppo, esigenze di spazio e figli presenti e appena arrivati mi impongono di riservare alla mia passione... ben 1 metro quadro, in un angolo della mia camera da letto matrimoniale, al posto del comodino. Almeno l'ambiente è neutro...
La mia postazione di lavoro, in un angolo della mia camera matrimoniale :-(( |
Argyll è un insieme di programmi a linea di comando per la calibrazione, caratterizzazione e profilazione di monitor, stampanti e scanner. E' un software gratuito, sviluppato da Graeme W. Gill. L'utilizzo è piuttosto scomodo per chi è abituato a lavorare in ambienti grafici, ma le prestazioni sono eccellenti, in linea con i programmi commerciali più blasonati.
Quali sono i vantaggi di Argyll?
E' gratuito!
E' disponibile per molte piattaforme: Windows, Mac OS X, Linux.
E' compatibile con i colorimetri e gli spettrofotometri più utilizzati e diffusi.
I risultati sono eccellenti, pari o meglio dei programmi commerciali (almeno per quanto dicono in giro), sicuramente mooolto meglio dei pacchetti base degli strumenti economici (tipo il mio Spyder2Pro).
E' completamente configurabile e parametrizzabile, moltissime opzioni per ottenere la qualità massima.
E' disponibile il codice sorgente per chi vuole dare un'occhiata più nel profondo
Quali sono gli svantaggi di Argyll?
E' a riga di comando, quindi nessuna interfaccia utente amichevole, anzi.
Nessun supporto commerciale o garanzia (ma c'è una mailing list molto attiva e cordiale).
I tempi di profilazione sono molto lunghi, anche varie ore.
Tanti parametri per tanti programmi separati, facile perdersi e sbagliare.
La documentazione e tutti i messaggi sono in inglese, sorry.
Tenete d'occhio pagina ufficiale di Argyll: l'autore pubblica spesso nuove revisioni del pacchetto, con migliorie e correzioni. La versione oggetto di questo articolo è la 1.2.1, uscita il 9 agosto 2010. Se sapete l'inglese, potete consultare la mailing list, se vi iscrivete potete anche scrivere messaggi. Gente che ne mastica si trova anche nel forum di PhotoActivity, se volte potete chiedere informazioni li, in italiano.
Ecco i links più interessanti del sito di Argyll (purtroppo tutti in inglese):
"Spyder3"
I programmi di Argyll che utilizzeremo saranno:
dispcal (per la fase di calibrazione)
targen (per la creazione del target per la successiva caratterizzazione)
dispread (per la fase di caratterizzazione)
colprof (per la fase di profilazione)
dispwin (per l'installazione del profilo ICC e per il caricamento del calibrazione in LUT)
Come già detto, di ognuno dei comandi esiste una guida in formato HTML sia sul sito di Argyll: sia nella cartella di installazione (se avete seguito le mie indicazioni di installazione come al capitolo successivo, la guida parte dal link C:\argyll\doc\ArgyllDoc.html).
L'installazione è banale: dalla pagina ufficiale di Argyll si scarica il file .zip per Windows e lo si scompatta in una cartella del proprio hard-disk. Vi consiglio di estrarre in "C:\argyll", sarà tutto più comodo in seguito. Vi consiglio inoltre di creare una cartella "data" che conterrà tutti i files intermedi della profilazione. Vi dovreste trovare in una situazione simile alla figura qui sotto.
Dopo la scompattazione del file zip di installazione di Argyll in "C:\argyll", ecco la situazione in cui vi dovreste trovare. Notate la certalla "data", creata per contenere i vari files necessari nel processo di profilazione. Notate anche a destra che ho mantenuto la vecchia versione 1.1.1 (non si sa mai...) e ho rinominato la cartella in "C:\argyll_1.1.1". |
Nella sottocartella "bin" ci sono tutti i programmi di Argyll (sono quasi 50). Per fare in modo che tali programmi siano eseguibili da qualsiasi percorso (ed in particolare dalla cartella "C:\argyll\data" su cui lavoreremo), bisogna aggiungere i percorso "C:\argyll\bin" al path di sistema. Per Windows Vista, si vada in Pannello di Controllo - Sistema - Impostazioni di sistema avanzate - pulsante Variabili d'ambiente.. e nella finestra successiva nella parte alta selezionare la riga PATH e poi cliccare su Modifica... Nella finestra successiva, sulla riga di testo "Valore variabile", portarsi alla fine di tutto il testo e aggiungere ";C:\argyll\bin". Attenzione a non toccare nient'altro...
Nella sottocartella "doc" c'è la guida di Argyll, che comprende tutte informazioni sull'installazione, sui drivers dei vari strumenti, sulle opzioni dei vari comandi. La guida è in formato HTML, ed la pagina iniziale è C:\argyll\doc\ArgyllDoc.html. La stessa guida è disponibile alla pagina ufficiale di Argyll a questo link.
Aggiornamento del path di sistema. |
Fino alla versione 1.2.0 installare i drivers di Argyll per lo Spyder3 sotto Vista 64bit era un casino. Fortunatamente, con la versione 1.2.1 non è più un problema, a patto di disinstallare i drivers originali di Datacolor eliminandoli dal disco sennò Windows li ritrova e li ri-installa (a meno che non abbiate mai installato il software originale Datacolor fornito con lo strumento). Se avevate utilizzato i drivers Argyll prima della 1.2.1, disinstallateli e cancellateli dal disco. Nella guida di Argyll andate nel capitolo "Installing", cliccate su "installing the binary software", poi su "Microsoft Windows" e leggetevi per bene il documento (purtroppo in inglese).
Alla fine del caricamento dei driver Argyll per lo Spyder3, si può verificare la corretta installazione in Gestione dispositivi (in Windows Vista si raggiunge con Pannello di Controllo - Sistema - Impostazioni di sistema avanzate - Hardware - Gestione dispositivi):
Se tutto è andato bene, in Gestione Dispositivi dovrebbe comparire il driver di Argyll per lo Spyder3. |
La procedura completa con Argyll vi richiederà varie ore: organizzatevi, magari predisponete le misure (durante le quali il PC non deve essere toccato) all'ora di pranzo o cena. I tempi si allungano se ci accorgiamo di errori o se vogliamo migliorare il profilo ottenuto cambiando qualche parametro.
Pulite per bene la superficie del monitor per eliminare polvere e macchie. Usate un panno con un prodotto apposito, non usate alcool o altri prodotti che potrebbero rovinare per sempre il monitor.
Accendete il PC ed il monitor almeno 1 ora prima delle misure, meglio di più per monitor (come il mio LP2475w) che ci mettono molto ad andare a regime (credo a causa della retroilluminazione a lampade, forse quella a LED è più stabile e veloce).
Regolate l'illuminazione della stanza come nella condizione in cui utilizzerete più frequentemente il monitor. Se di solito lavorate di sera, e volete calibrare di giorno, chiudere gli scuri e accendete al luce.
Anche se lo Spyder3 ha una ventosa, vi consiglio piuttosto di inclinare verso l'alto il monitor e di appoggiare lo strumento. Magari fissate con un pezzo di scotch di carta il cavetto sulla parte alta del display. Non mi piace l'idea di premere con una certa forza lo strumento sul mio povero monitor psolo per far aderire una ventosa...
Eliminate qualsiasi immagine di sfondo, e metteteci un bel nero tinta unita. Se avete troppe icone, eliminatele o spostate via dal centro, in cui si troverà il quadrato di misurazione.
Disabilitate il salvaschermo (screensaver), il powersaving e qualsiasi programma che si sogni di far comparire improvvisamente finestre (antivirus, operazioni pianificate, aggiornamenti automatici, client per messaging, ...).
Prima di cominciare la calibrazione, giochicchiate con il menù OSD (quello che vi serve per modificare luminosità, contrasto, ...) del monitor. Sicuramente ci sarà la possibilità di impostare luminosità e contrasto. Per quanto riguarda la temperatura di colore, nel mio monitor ci sono tre predisposizioni (9300 K, 6500 K, sRGB) e una modificabile (Custom color) in cui è possibile modificare direttamente i valori dei canali RGB: quest'ultima è la scelta ottimale, in modo da avere il controllo completo. L'impostazione 6500 K del monito HP in realtà non è molto precisa (anzi, è molto sbagliata), meglio lasciar perdere. Verificate anche se potete spostare il menù OSD in posizione laterale, per lasciare il centro del monitor al quadrato di misurazione.
Sarebbe carino cominciare da parametri resettati del monitor, ai valori di fabbrica: cercate l'apposita voce nel menù OSD. In questo modo scartiamo tutte le regolazioni che abbiamo fatto in precedenza.
Per quanto riguarda il contrasto, per i monitor LCD viene consigliato spesso di lasciarlo al valore di fabbrica, e di non aumentarlo o diminuirlo. Per il mio HP LP2475w, il contrasto ottimale è l'80%. Nella recensione di PRAD.de si legge che aumentare il contrasto sopra 80% porta ad un clipping dei canali vicino alle saturazioni massime, e un valore inferiore fa' diventare il bianco troppo grigiasco.
Ogni comando di Argyll battuto nel prompt dei comandi deve essere seguito dal tasto Invio per avviare la sua esecuzione. Fate molta attenzione a tutto quello che Argyll scrive a video (purtroppo in inglese): ci possono essere righe che indicano segnalazioni o errori importanti, che inficiano l'intera procedura. Se ad esempio c'è stato un errore nella fase di calibrazione, tutto il resto della caratterizzazione e profilazione saranno viziate e molto probabilmente produrranno un profilo non corretto.
I programmi verranno lanciati da una shell (in Vista si chiama "prompt di comandi"): per avviarla velocemente basta cliccare sul pulsante Start, scrivere "cmd" nella casella di testo di ricerca e premere Invio. Si aprirà una finestra vecchio stile Dos (per chi l'ha visto) in cui non esiste il mouse ma bisogna scrivere tutto a manina: sembra un vecchiume, ma questo concetto è estremamente potente ed utilizzato (chiedete a chi usa Linux).
Il Prompt dei comandi, per eseguire i vari programmi di Argyll. Sembra scomoda e obsoleta, in realtà ha moltissimi vantaggi. |
Conviene portarsi nella cartella di lavoro, con tre comandi: prima "cd \" per portarsi nella root del disco, poi "cd argyll" e "cd data" per portarsi in "c:\argyll\data". Ogni comando viene eseguito dopo aver battuto Invio. Difficile?
Portiamoci nella cartella di lavoro "c:\argyll\data". |
Consiglio importante: vi conviene sempre tenere traccia delle vostre prove, visto che il processo di profilazione potrebbe portare ad errori e nuovi tentativi. La mia memoria non funziona neanche per il giorno prima, figurarsi il mese dopo per la prossima profilazione. Io utilizzo un normale file di testo che mi salvo a parte, in cui riporto tutti i log dei comandi, così come appaiono nella shell, preceduti da data e note varie. Per copiare del testo dalla shell, si prema il pulsante destro del mouse sopra di essa e si scelga "Seleziona", poi si seleziona il testo e si batte Invio sulla tastiera. Infine, basta aprire il file di testo e incollare.
Visto che a me piace lavorare in un mondo ordinato, spostate la finestra della shell a destra e allungatela il più possibile. Al centro lasciate spazio per il quadrato di misurazione, a sinistra mettete il menù OSD (quello che vi serve per modificare luminosità, contrasto, ...) del monitor quando vi servirà. In alcuni monitor il menù OSD non si può muovere dal centro: peccato, vuol dire che sposteremo il quadrato di misurazione a sinistra.
Spazio di lavoro: a sinistra il menù OSD (quando servirà), al centro il quadrato di misurazione, a destra il prompt dei comandi. |
Potete verificare con il comando dispwin (senza nessun parametro) se Argyll riesce ad accedere alla LUT della scheda video, il che è un prerequisito fondamentale. Sono ormai rarissimi i casi in cui non sia possibile, forse su qualche netbook o simili. In caso non ci siano problemi, vengono visualizzati in sequenza dei quadrati colorati.
C:\argyll\data>dispwin |
Beh, è ora di cominciare. La calibrazione del monitor avviene utilizzando il comando dispcal di Argyll. La guida di Argyll relativa a questo comando è C:/argyll/doc/dispcal.html. Come per tutti gli altri comandi, se scrivete "dispcal" senza nessuna opzione vi verrà fornito un breve help sul comando.
Vi riporto la sintassi e la descrizione delle opzioni più importanti per quanto riguarda i contenuti di questo articolo. Le informazioni complete sono contenute nella guida di Argyll.
dispcal [opzioni] [nomefile] |
[Opzioni] |
-v |
Modo verbose: durante l'esecuzione del programma stampa a video tutte le informazioni disponibili. Sempre attivata, meglio sapere per esteso tutto quello che succede, anche se talvolta le informazioni sono un po' criptiche. |
-yl |
Tecnologia monitor LCD. Se avete un CRT (il vecchio buon tubo catodico) allora usate -yc. |
-t TTTTT |
Imposta la temperatura del bianco desiderata. Il numero TTTTT è la temperatura in gradi Kelvin. Esempio: -t 6500 (imposta temperatura del bianco a 6500°K) |
-g G.G |
Imposta la temperatura del bianco desiderata. Il numero G.G è la temperatura in gradi Kelvin. Esempi: -g 2.2 (imposta gamma 2.2) -gs (imposta gamma sRGB) -gl (imposta gamma L*) |
-b BBB |
Imposta la luminanza del bianco desiderata. Il numero BBB è espresso in candele su metro quadro, cd/m2. Esempio: -b 120 (imposta luminanza 120cd/m2) |
-B KKKK |
Imposta il livello del nero, in cd/m2. Se non utilizzata, il programma assume che si voglia tenere la luminanza del nero minima del monitor. |
-qh |
Imposta la qualità alta (h = high) della calibrazione. Una elevata qualità vuol dire un numero elevato di misurazioni e quindi una elevata durata del procedimento (io ho misurato circa 1 ora e 50 minuti!). Altre possibilità: -qm (imposta qualità media) -ql (imposta qualità bassa) |
[Nomefile] |
nomefile |
Imposta il nome del file di uscita, da indicare senza estensione (il programma metterà comunque ".cal"). |
Com'è giusto, il programma dispcal ha come principali opzioni di ingresso le quattro variabili della calibrazione di un monitor: il gamma, la temperatura del bianco, la luminosità massima, il livello del nero. Come uscita, produce un file di estensione .cal (il cui nome è il parametro [Nomefile]) che contiene i dati di calibrazione, che sarà utilizzato dai programmi di caratterizzazione (dispread) e profilazione (colprof).
Il comando che ho impartito per la prima fase di calibrazione in Argyll è stato il seguente:
dispcal -v -yl -t 6500 -b 130 -g 2.2 -qh HPLP2475w_20100814_1 |
Si noti che ho scelto una temperatura del bianco 6500°K, un gamma 2.2, una luminosità massima di 130cd/m2 e il livello del nero nativo (non avendo indicato nessun parametro -B): tutto conforme a quanto detto prima. Ho impostato anche la qualità massima, che teoricamente porta ai risultati migliori.
L'ultimo parametro HPLP2475w_20100814_1 è il nome del file di uscita (con estensione .cal): come notate è composto dal nome del monitor (HPLP2475w), dalla data scritta in modo inverso annomesegiorno (20100814) e da un numero progressivo (1), perchè in uno stesso giorno potrei eseguire più calibrazioni. E' una scelta personale, qualcuno addirittura nel nome del file indica i parametri di calibrazione.
Una volta avviato il programma (verificare prima di essere nella cartella di lavoro "C:\argyll\data") viene chiesto di posizionare lo strumento sul monitor. come già detto, io preferisco non usare la ventosa ma inclinare il più possibile il monitor verso l'alto, e appoggiare lo strumento eventualmente fissando con un pezzo di scotch di carta il cavetto, in modo che non cada.
C:\argyll\data>dispcal -v -yl -t 6500 -b 130 -g 2.2 -qh C:\argyll\data\HPLP2475w_20100814_1 |
Posizionate lo strumento nel quadrato di misurazione, facendo attenzione che il sensore sia abbastanza centrato. Premete Invio, dopo qualche secondo si ha la presentazione di un menù di 8 voci:
Display type is LCD |
La voce per noi interessante è la numero 2, che verifica il punto del bianco. Premete quindi 2: dispcal eseguirà delle misure preliminari, quindi vi stamperà le misure sull'ultima riga.
Doing some initial measurements |
La linea indicata con target riporta i valori desiderati di luminosità massima (Br) e di coordinate colorimetriche del bianco (x e y, che esprimono cripticamente la temperatura del bianco). La linea indicata con Current invece indica la misurazione attuale dello strumento. In un mondo ideale i tre numeri Br, x e y dovrebbero essere uguali a quelli appena sopra, nella linea target. Purtroppo non sarà mai così, ed infatti viene riportato anche l'errore espresso in dE94 (DE, vedi il paragrafo qui sopra) e le indicazioni per agire sui canali R, G e B.
Attivate il menù OSD del monitor, attenzione che non si sovrapponga al quadrato di misurazione.
Assicuratevi che il contrasto sia al valore predefinito di fabbrica, come indicato sopra. Per il mio HP LP2475w, valore 80%.
Per regolare la luminosità massima e fare in modo che ci si avvicini al valore desiderato (nel mio caso, 130cd/m2), agite sul controllo "Luminosità" del menù OSD.
Per centrare la temperatura del bianco (x e y) trovate la regolazione indipendente dei canali RGB: nel mio HP LP2475w è sotto "Color..." - "Custom color".
alla fine della linea Current sono riportati i 3 canali RGB e di fianco ad ogni lettera c'è un "+" o un "-" per indicare se aumentare o diminuire il valore del canale. Se ci sono "++" (o "--") allora quello è il primo canale su cui lavorare, visto che è il più sbagliato.
L'idea è di lavorare su luminosità e soprattutto su canali per rendere il più piccolo possibile il valore DE, che dovrebbe diventare inferiore all'unità.
Le misure sono ripetitive, una ogni 1-2s: quando l'errore DE rimane costate per qualche misura, potete terminare premendo la barra spaziatrice sulla tastiera.
Calibrazione iniziale del monitor: a sinistra il menù OSD, al centro il quadrato di misurazione, a destra il prompt dei comandi. |
Per il mio monitor HP LP2475w ho settato i seguenti parametri di funzionamento:
Luminosità = 20 Contrasto = 80 Canale R = 255 Canale G = 220 Canale B = 219 |
Abbiamo impostato il monitor in modo che sia il più vicino possibile ai valori desiderati di calibrazione. Una volta premuto Spazio, si ritorna al menù iniziale e adesso possiamo battere 7 per iniziale la procedura di misurazione che fornirà i dati per ottenere la calibrazione da caricare in LUT. Attenzione che queste misurazioni durano parecchio: io ho aspettato quasi 2 ore!
Commencing device calibration |
Consiglio importante, valido per tutti i comandi di Argyll.
Leggete sempre per bene tutte le righe che Argyll stampa a video durante l'esecuzione del programma: ci possono essere righe che indicano segnalazioni o errori importanti, che inficiano l'intera procedura. |
Se ad esempio c'è stato un errore nella fase di calibrazione, tutto il resto della caratterizzazione e profilazione saranno viziate e molto probabilmente produrranno un profilo non corretto.
Come vedete, ci sono state 4 successivi passaggi, ognuno con un numero di misure sempre maggiore e con la ricerca di un errore deltaE sempre minore. Le misure totali sono state 341 ("Number of measurements taken = 341"), per circa 1 ora e 50 minuti. Nel log qui sopra, ho evidenziato due righe importanti. Il programma ha tentato di stare dentro un errore massimo di 0.4dE tra la curva ideale del gamma 2.2 e la curva modificata con la LUT, purtroppo ha sforato ma non di molto ("Failed to meet target 0.400000 delta E, got worst case 0.463846"): amen, non abbiamo sbagliato di molto, però sappiamo che questo è un punto in cui potremmo migliorare qualcosa.
Anche la luminosità è leggermente sbagliata ("Brightness error = 0.954970 cd/m^2 (is 130.954970, should be 130.000000)"), ma non ci importa molto, il monitor di per se ha una deriva nel tempo maggiore (si vedano anche le considerazioni nel paragrafo relativo al programma Calibration Tester di X-Rite).
Dalla procedura con il comando dispwin precedente abbiamo ereditato un file "HPLP2475w_20100814_1.cal" che contiene i dati per la calibrazione della LUT. Ora dobbiamo eseguire la caratterizzazione vera e propria, cioè misurare come il monitor riproduca i vari colori: i dati ottenuti saranno utilizzati per la successiva creazione del profilo ICC.
Qui si utilizzeranno due comandi Argyll: targen e dispread.
Il programma targen serve per creare il cosiddetto target: l'elenco di colori (normalmente indicati con "patch", termine che deriva dalle tacche stampate su un foglio per la caratterizzazione delle stampanti) che il successivo comando dispread utilizzerà per eseguire le misure. Il target sarà un file con estensione ".ti1".
Questo è uno dei punti cardine per ottenere un buon profilo ICC: se scegliamo i colori dal target in un numero elevato e posizionati nel "mondo" dei colori in modo intelligente, otterremo un buon risultato finale. |
E' escluso infatti di misurare tutti i possibili colori RGB: sono infatti più di 16 milioni, quindi dobbiamo restringere di molto le misure, al massimo a qualche centinaio se non vogliamo eseguire la procedura in una settimana! Un numero limitato di colori da misurare vuol dire che la successiva profilazione non sarà perfetta, ma dovrà creare un profilo avendo sott'occhio solo una fotografia imperfetta e parziale del comportamento reale del monitor: questo è una delle sorgenti di imperfezione purtroppo inevitabile della profilazione del monitor, ma che si presenta per qualsiasi altro programma (e non solo per Argyll) ed anche per la profilazione degli altri dispositivi (stampanti, scanner).
Ad esempio, nel target sarebbe opportuno che ci fossero un bel numero di grigi (i colori disposti lungo l'asse L di LAB), dal bianco al nero, in modo che eseguendo le misure poi ottenga un profilo ICC che, essendo vincolato in qualche modo alle misure precedenti, sia soddisfacente per le tonalità di grigio e quindi per il ritocco delle foto in bianco e nero. Se non facessimo così, Argyll potrebbe permettersi di non essere così preciso su questi "colori" particolari, e quindi potrebbe succedere che ci siano delle deviazioni e quindi delle dominanti nelle foto in bianco e nero.
Vediamo ora come utilizzare il programma targen, riporto solo le opzioni per me più interessanti. Come sempre, nella guida di Argyll trovate tutto e di più.
targen [opzioni] [nomefile] |
[Opzioni] |
-v |
Modo verbose: durante l'esecuzione del programma stampa a video tutte le informazioni disponibili. Sempre attivata, meglio sapere per esteso tutto quello che succede, anche se talvolta le informazioni sono un po' criptiche. |
-w |
Crea un file di tipo da .wrl secondo lo standard VRML per la visualizzazione dei colori del target in 3D. Se ne parla più avanti in questo paragrafo. |
-G |
Sceglie il modo "good", cioè privilegia la qualità dal target rispetto ad un numero inferiore di tacche e quindi di successivo tempo di misurazione. |
-d N |
Se N=3, allora i colori generati sono quelli dello spazio RGB video, quello che ci interessa per un monitor. |
[Nomefile] |
nomefile |
Imposta il nome del file di uscita contenente il target, da indicare senza estensione (il programma metterà comunque ".ti1"). |
Il comando che ho impartito è stato il seguente:
targen -v -w -G -d3 C:\argyll\data\HPLP2475w_20100814_targen_1 |
Se non indichiamo altro, targen creerà un target con ben 836 patches. Qui non c'è bisogno dello Spyder3, e tutto si svolge in pochi secondi.
C:\argyll\data>targen -v -w -G -d3 HPLP2475w_20100814_targen_1 |
Ecco il grafico tridimensionale nello spazio LAB, basato sul file ".wrl" prodotto grazie al parametro -w. Maggiori informazioni in questo paragrafo.
Grafico 3D del target di caratterizzazione da 836 patches. |
Abbiamo ottenuto quindi un file "HPLP2475w_20100814_targen_1.ti1" da dare in pasto a dispread.
Il programma dispread serve per eseguire la caratterizzazione vera e propria, cioè la misurazione delle patch del target appena creato con targen.
dispread [opzioni] [nomefile] |
[Opzioni] |
-v |
Modo verbose: durante l'esecuzione del programma stampa a video tutte le informazioni disponibili. |
-yl |
Tecnologia monitor LCD. Se avete un CRT (il vecchio buon tubo catodico) allora usate -yc. |
-k [filecalibrazione.cal] |
Indica il file di calibrazione (creato in precedenza con dispcal) da caricare. |
[Nomefile] |
nomefile |
Imposta il nome del file di ingresso con estensione ".ti1" contenente il target, e con lo stesso nome verrà creato un file con estensione "ti3" che conterrà i dati delle misurazioni. |
Il comando che ho impartito è stato il seguente:
dispread -v -yl -k HPLP2475w_20100814_1.cal HPLP2475w_20100814_targen_1 |
Come per dispcal, il comando dispread chiede di posizionare lo strumento nel quadrato grigio di misura e di premere Invio. Dopodichè, cominciano le misure, che durano poco meno di un'ora. Qui sotto il log del risultato.
C:\argyll\data>dispread -v -yl -k HPLP2475w_20100814_1.cal HPLP2475w_20100814_targen_1 |
Benissimo, il grosso è fatto!
La profilazione è la fase finale per la creazione del profilo ICC. Il comando Argyll da utilizzare è colprof.
Qui non ci sono più misurazioni da effettuare, ma scelte sul tipo di profilo da creare. Ci sono varie possibilità, alcune molto difficili da comprendere. Nulla vieta di creare tutti i tipi di profili desiderati partendo dalle stesse misure di caratterizzazione, anzi, sarà possibile confrontarne in seguito i risultati. Per maggiori informazioni, rileggete il capitolo "Approfondimento sui profili ICC" e la guida online del "comando colprof".
Cominciamo dal più semplice, quello che nella guida di colprof si chiama "matrix profile with three independent gamma curves", che noi abbrevieremo in "gamma/matrix".
colprof [opzioni] [nomefile] |
[Opzioni] |
-v |
Modo verbose: durante l'esecuzione del programma stampa a video tutte le informazioni disponibili. |
-qu |
Qualità massima (ultra). Altre possibilità: bassa (-ql), media (-qm), valore di default), alta (-qh). |
-ni |
Per profili cLUT, non crea le curve di ingresso. |
-np |
Per profili cLUT, non crea le curve di distribuzione omogenea dei dati in ingresso. |
-no |
Per profili cLUT, non crea le curve di uscita. |
-ag |
Importante: imposta un profilo a matrice, con una curva gamma per ogni canale: "independent gamma curves + matrix". Altre possibilità interessanti (consultate la guida!): -as profilo a matrice con "shaper" indipendenti per ogni canale -al profilo a tabella con LAB come PCS -aX profilo a tabella con XYZ come PCS |
-O [nomeprofilo.icc] |
Indica il nome del profilo ICC da creare. L'estensione può essere ".icc" (consigliata) o ".icm". |
[Nomefile] |
nomefile |
Imposta il nome del file di ingresso con estensione ".ti3" contenente i dati della caratterizzazione (dispread). |
Riguardo alle opzioni "-ni", -no e "-np" (valide in realtà solo per i profili cLUT), dovrebbero disabilitare la creazione di curve in ingresso e in uscita del profilo ICC. Tali curve sarebbero utilizzate dal CMM prima di ogni conversione. Se da un lato migliorano la precisione per profilo, dall'altro possono introdurre discontinuità nei gradienti, visto che ogni operazione matematica nel mondo digitale introduce artefatti. Sarebbe da provare, e verificare quale sia il compromesso migliore tra basso errore deltaE e uniformità dei gradienti. Tutto questo mi è stato confermato da Alberto di PhotoActivity. Se lo dice lui, per me è legge :-)
Il comando che ho impartito per generare il profilo "gamma/matrix" è stato il seguente:
colprof -v -qu -ni -no -ag -O HPLP2475w_20100814_gm_1.icc HPLP2475w_20100814_targen_1 |
Il log dell'esecuzione del comando è questo:
C:\argyll\data>colprof -v -qu -ni -no -ag -O HPLP2475w_20100814_gm_1.icc HPLP2475w_20100814_targen_1 |
L'ultima riga riporta l'errore massimo e medio del profilo ottenuto nei confronti dei dati di ingresso (le misure della caratterizzazione). Come abbiamo già detto, un profilo è un'approssimazione, perchè non può descrivere in modo completo il comportamento del monitor. In questo caso, il profilo è del tipo a matrice, e quindi l'errore è inevitabilmente non trascurabile, visto che una semplice formula matematica non può modellizzare perfettamente un dispositivo reale come un monitor. Dalla guida di Argyll si legge che errori massimi fino a 15dE e errori medi fino a 5dE sono accettabili: oltre, vuol dire che qualcosa non funziona, probabilmente le misure di caratterizzazione sono viziate da qualche problema.
Come notate, il nome del profilo è scelto in modo intelligente: contiene il modello del monitor, la data di creazione, il tipo ("_gm_" per profilo "gamma/matrix") ed un numero progressivo. Voi potete integrare con altri parametri tipo temperatura del bianco, gamma, ... L'estensione del file del profilo ICC di default è ".icm" per gli ambienti Windows, ".icc" per gli altri, ma in realtà non c'è nessuna differenza se non formale.
Nel file ".ti3" di ingresso, proveniente da dispread, ci sono anche i dati di calibrazione (originariamente creati da dispcal), quindi colprof può immettere nel profilo ICC finale anche questi dati, nell'apposito tag "vcgt". Tali dati saranno indispensabili per il programma che all'avvio di Windows leggerà il profilo ICC e aggiornerà la LUT della scheda video. Da notare che i dati di calibrazione saranno gli stessi per tutti i profili che genereremo in seguito
Generiamo ora un profilo "shaper curve and matrix profile", che chiameremo "shaper/matrix". Dalla guida di colprof si legge che dovrebbe essere migliore del "gamma/matrix". Il parametro di colprof da usare è "-as".
colprof -v -qu -ni -no -as -O HPLP2475w_20100814_sm_1.icc HPLP2475w_20100814_targen_1< |
Ecco il log del risultato. L'errore di profilazione (ultima riga) migliora sensibilmente.
C:\argyll\data\2010-08-14>colprof -v -qu -ni -no -as -O HPLP2475w_20100814_sm_1.icc HPLP2475w_20100814_targen_1 |
Proviamo ora con un profilo a tabella con LAB come PCS ("cLUT based table profile with a PCS of L*a*b*" nel gergo di Argyll, noi lo chiameremo "CLUT-LAB") utilizzando il parametro "-al". Ecco il comando completo, con un nome del file del profilo ovviamente diverso (notate "_cLUT_"):
colprof -v -qu -ni -no -al -O HPLP2475w_20100814_cLUT_1.icc HPLP2475w_20100814_targen_1 |
Ecco il corposo log del risultato. Da leggere molto attentamente.
C:\argyll\data>colprof -v -qu -ni -no -al -O HPLP2475w_20100814_cLUT_1.icc HPLP2475w_20100814_targen_1 |
In alto ho evidenziato in rosso due righe del log che riportando un avvertimento importante (che mi è stato segnalato a suo tempo dal buon Alberto di PhotoActivity, in questo thread): il primario verde è così... verde che esce dallo spazio LAB utilizzato come spazio di collegamento (PCS): non và bene! Infatti l'ultima riga (pure evidenziata) riporta un errore massimo (scarto tra il profilo ottenuto e i dati di caratterizzazione in ingresso) inaccettabile. Alberto mi ha consigliato di utilizzare invece XYZ come PCS (chiameremo questo profilo "cLUT-XYZ"), come anche riportato nella guida di Argyll, mediante il parametro "-aX".
colprof -v -qu -ni -no -aX -O HPLP2475w_20100814_cLUT_XYZ_1.icc HPLP2475w_20100814_targen_1 |
Il PC lavora un bel po', ecco il risultato.
C:\argyll\data\2010-08-14>colprof -v -qu -ni -no -aX -O HPLP2475w_20100814_cLUT_XYZ_1.icc HPLP2475w_20100814_targen_1 |
Sembra sia andato tutto bene, ora. L'errore riportato è molto basso, quindi siamo tranquilli. Possiamo utilizzare ora il comando profcheck (che useremo in seguito nella verifica strumentale) per fare una primo controllo: confrontiamo i dati di caratterizzazione con il profilo ottenuto. Si tratta di una verifica non molto distante dalle informazioni già ottenute controllando gli errori massimi e minimi restituiti da colprof.
profcheck -v -k -w HPLP2475w_20100814_targen_1.ti3 HPLP2475w_20100814_gm_1.icc |
Per il profilo a matrice si ottiene:
No of test patches = 836 |
Possiamo ripetere il tutto anche per gli altri tre profili: "shaper/matrix", "cLUT-LAB" e "cLUT-XTZ". Ottime le prestazioni di quest'ultimo, come atteso (si vedano le considerazioni nel capito di approfondimento sui profili ICC).
[shaper/matrix] |
[cLUT-LAB] |
[cLUT-XYZ] |
Ora abbiamo ottenuto il nostro profilo ICC, il file "HPLP2475w_20100814_gm_1.icc". Questo profilo deve ora essere installato nel sistema operativo, nel senso che deve essere copiato nel posto giusto (per i sistemi Windows, la cartella dei profili ICC è "c:\windows\system32\spool\drivers\color"), indicato come profilo del monitor nel registro di sistema (affinché tutte le applicazioni sappiano quale sia automaticamente) e ad ogni avvio qualcuno dovrà caricare i dati di calibrazione nella LUT della scheda video.
Per eseguire tutte queste operazioni utilizziamo il comando dispwin di Argyll. La sintassi per questo scopo è la seguente (per il profilo a matrice):
dispwin -v -I C:\argyll\data\HPLP2475w_20100814_gm_1.icc |
Il log del comando è semplice:
C:\argyll\data>dispwin -v -I HPLP2475w_20100814_gm_1.icc |
Se andiamo a controllare nella cartella "c:\windows\system32\spool\drivers\color" dovremmo ritrovare il nostro profilo. |
Ad ogni avvio del sistema operativo, bisogna caricare la calibrazione in LUT, visto che almeno per i sistemi Windows non esiste nessun servizio che si occupa di questo. Se abbiamo già installato il profilo, basta lanciare il seguente comando dispwin:
dispwin -L |
Io ho creato un file batch (.bat) contenente questo comando e l'ho aggiunto alla cartella "esecuzione automatica", in modo che venga eseguito all'avvio del sistema operativo. Mi dicono poi che Vista abbia un bug per il quale la LUT viene resettata quando il PC va' in stand-by o in sospensione: conviene tenere un link al file .bat anche sul desktop, da richiamare in queste situazioni, giusto per essere sicuri.
Cosa succede se la LUT è viene caricata correttamente? Il vostro profilo non "funziona" più, visto che si basava proprio sulla calibrazione in LUT. Quindi, fate molta attenzione, eventualmente potete anche verificare ogni tanto con i comandi qui sotto.
Per verificare che la LUT sia stata caricata correttamente, possiamo usare il seguente comando (attenzione alle virgolette):
dispwin -V "C:\Windows\System32\spool\drivers\color\HPLP2475w_20100814_gm_1.icc" |
Se tutto è andato bene, il risultato a video segnala che non c'è discrepanza (0.0%):
Verify calibration |
Se invece c'è stato qualche problema, viene segnalato che c'è una discrepanza:
Verify calibration |
Per ultimo, se volete resettare la LUT (attenzione, avete eliminato i dati della calibrazione, siete in posizione pericolosa perchè il profilo non è più valido!):
dispwin -c |
Anzi, se volete giochicchiare un po' fate così: tenete aperto Photoshop (o Gimp), caricate un'immagine di test come quelle che trovate qui sotto, e contemporaneamente tenete aperto un prompt dei comandi. Alternate il comando dispwin -c che resetta la LUT e annulla la calibrazione al comando dispwin -L che carica la LUT secondo il profilo installato: in questo modo vedrete gli effetti della calibrazione. Nel mio caso, con LUT resettate le immagini in bianco e nero hanno una leggerissima dominante verdastra e cambia l'andamento dei toni nei grigi intermedi.
Provate a vedere cosa succede togliendo la calibrazione... |
La verifica strumentale consiste nel rimisurare le prestazioni del monitor, magari con un target diverso, con meno patches, e di raffrontare i risultati con quanto teoricamente previsto dal profilo ICC. Valgono le considerazioni già espresse sopra nel capitolo "Prima di cominciare": è importante lasciare il monitor acceso un bel po' prima di cominciare, soprattutto se le misure avvengono in un giorno diverso da quello di profilazione. Se tutto è ok, gli errori dovrebbero essere contenuti. In caso contrario, qualcosa non ha funzionato in una delle tre fasi: la calibrazione (è ancora valida? la LUT è stata caricata correttamente?) le misurazioni (quelle di caratterizzazione o quelle di verifica?), la profilazione (ci sono stati errori?).
Importantissimo: la verifica strumentale si basa unicamente... sullo strumento. Se è sballato perchè è troppo economico o invecchiato o danneggiato, è possibile che non ce ne accorgiamo, visto che lo stesso strumento che abbiamo usato per profilare il monitor lo stiamo usando per verificare il profilo. Si tratta di una situazione pericolosa, perchè crediamo che sia tutto perfetto, ma così non è. Da qui, l'importanza complementare della verifica visiva. |
Come già detto in precedenza è scontato che l'algoritmo cerchi dai far "passare" i punti interni del profilo a tabella (o le curve gamma di un profilo a matrice) il più vicino ai punti di caratterizzazione, meno scontato che produca buoni risultati anche con una nuova serie di misure in posizioni diverse. Solitamente vengono riportati sia l'errore massimo sia l'errore medio (e/o RMS, una media più "intelligente"). E' una verifica che si può eseguire ogni tanto, per controllare che il profilo sia ancora valido.
Per prima cosa creiamo un nuovo target di verifica:
targen -v -w -d3 -e1 -g32 -f320 -r check_monitor_20100814_1 |
Il nuovo target ha 320 tacche (parametro -f 320), ha una patch di bianco (parametro -e1) e 32 di grigio (parametro -g32). La disposizione delle patch nello spazio dei colori non è ottimizzata come nel comando precedente ma ora è casuale (parametro -r), in modo da misurare colori che non siano correlati con il target utilizzato per costruire il profilo. L'ultimo parametro è il file di uscita (che automaticamente avrà estensione ".ti1"), ora con un nome diverso dal precedente.
Ecco il grafico tridimensionale nello spazio LAB, basato sul file ".wrl" prodotto grazie al parametro -w. Maggiori informazioni in questo paragrafo.
Grafico 3D del target di verifica strumentale da 320 patches. |
Come sempre, date un'occhiata alla documentazione di Argyll sul comando targen per informazioni più precise e dettagliate.
Il log di esecuzione del comando è il seguente:
C:\argyll\data>targen -v -d3 -e1 -g32 -f320 -r check_monitor_20100814_1 |
Ora che abbiamo il nuovo target, possiamo passare alle misure mediante il comando dispread:
dispread -v -k HPLP2475w_20100814_1.cal -yl check_monitor_20100814_1 |
Ecco il log di esecuzione del comando:
C:\argyll\data>dispread -v -k HPLP2475w_20100814_1.cal -yl check_monitor_20100814_1 |
Ora abbiamo le misurazioni. Il comando profcheck ci permetterà di verificare l'errore massimo e medio delle misure rispetto a quanto predetto dal profilo. Questa serie di dati può essere utilizzata per controllare tutti i profili che abbiamo generato in precedenza. Cominciamo dal profilo "gamma/matrix" (a matrice con gamma indipendente per ogni canale, opzione "-ag" per colprof).
profcheck -v -k -w check_monitor_20100814_1.ti3 HPLP2475w_20100814_gm_1.icc |
Se indicate il parametro "-v2" Argyll vi stampa anche tutte le informazioni colorimetriche di ogni patch del target di verifica. Il log di esecuzione del comando contiene il risultato finale del controllo:
C:\argyll\data>profcheck -v -k -w check_monitor_20100814_1.ti3 HPLP2475w_20100814_gm_1.icc |
Come sopra, ma per il profilo "shaper-matrix" (a matrice con shaper indipendente per ogni canale, opzione "-as" per colprof).
C:\argyll\data>profcheck -v -k -w check_monitor_20100814_1.ti3 HPLP2475w_20100814_sm_1.icc |
Come sopra, ma per il profilo "cLUT-LAB" (a tabella con PCS in LAB, opzione "-al" per colprof).
C:\argyll\data>profcheck -v -k -w check_monitor_20100814_1.ti3 HPLP2475w_20100814_cLUT_1.icc |
Come sopra, ma per il profilo "cLUT-XYZ" (a tabella con PCS in XYZ, opzione "-aX" per colprof).
C:\argyll\data>profcheck -v -k -w check_monitor_20100814_1.ti3 HPLP2475w_20100814_cLUT_XYZ_1.icc |
Beh, tutto secondo le attese. Il peggiore è "gamma/matrix", il migliore è "cLUT-XYZ". Il profilo "shaper/matrix" si difende bene, tralascerei il profilo "cLUT-LAB" perchè viziato da errori durante la generazione. Si vedano le considerazioni nel capito di approfondimento sui profili ICC.
Come già detto sopra, lo scopo della verifica visiva è quello di controllare che il profilo si comporti bene proprio per quel che serve, cioè nel visualizzare le immagini in modo corretto, non solo dal punto di vista strumentale.
Attenzione: se visualizzate queste immagini in una applicazione che NON gestisce il colore (ad esempio Word, o i vecchi browser tipo Internet Explorer 6, oppure anche lo sfondo del desktop di Windows) allora state valutando solamente la calibrazione in LUT (sempre attiva, una volta caricata) e non il profilo ICC! |
Se invece visualizzate queste immagini in una applicazione che gestisce il colore (ad esempio Photoshop, GIMP) allora state valutando solamente il profilo ICC nella sua interezza, compresa ovviamente la calibrazione in LUT! |
Da notare che è questa ultima situazione quella che ci interessa di più: poco ci importa se le foto visualizzate fuori dalla gestione del colore non sono corrette (lo sapevamo già!), ci interessa invece che il profilo funzioni quando ci serve, quindi nel momento della visualizzazione e fotoritocco con i programmi che gestiscono il colore (ovviamente noi dobbiamo impostarli a dovere, quando serve).
Quali sono i principali parametri da controllare mediante le immagini di test? Ecco quelli che ho visto citare in giro e a cui faccio attenzione:
i dettagli nelle ombre più scure;
i dettagli nelle alte luci;
la continuità delle sfumature più delicate;
la correttezza delle tinte sature.
I parametri qui sopra si dovrebbero applicare sia ai colori (in particolare i tre primari rosso, verde, blu) sia ai toni di grigio, per verificare il profilo nei due tipi principali di riprese fotografiche.
La verifica visuale si basa sul fatto che dobbiamo conoscere a menadito le immagini di test che utilizzeremo. Bella affermazione, più difficile metterla in pratica. Secondo me ci sono tre possibili fonti per immagini che soddisfano quanto sopra:
immagini artificiali, che abbiamo creato per esaltare particolari parametri (esempio: i gradienti;
immagini fotografiche, che abbiamo stampato e osservato attentamente più volte in varie situazioni;
immagini fotografiche che abbiamo trovato in Internet, magari accompagnate da un articolo di descrizione e utilizzo.
Per quanto riguarda le immagini artificiali, ecco quelle che ho trovato in giro.
Se volete, potete scaricare questo file .zip che contiene le immagini di test qui sotto! |
E' il più banale, ma già ci permette di verificare vari possibili problemi. In Internet ne trovate a bizzeffe:
Gradiente lineare continuo. |
Ecco le prime valutazioni da eseguire.
Controllate che il gradiente non abbia irregolarità o gradini, anche lievi: se così fosse, la calibrazione in LUT e/o il profilo ICC stesso non sono "smooth" (graduali, omogenei) lungo l'asse dei grigi ma hanno delle discontinuità. Se avete utilizzato un profilo ICC a tabella (cLUT in gergo di Argyll) provate a rifarlo con un numero diverso di tacche (provate sia con un numero superiore che inferiore), magari provate ad utilizzare l'opzione -g NNN su targen, che piazza un numero NNN (provate con 32) di patch sull'asse dei grigi nel target di caratterizzazione, oppure passate ad un profilo a matrice (shaper/matrix" oppure "gamma/matrix"). Se invece avevate già scelto un profilo a matrice, il problema potrebbe stare nella calibrazione in LUT, troppo "tirata", e qui non va bene: il vostro monitor è "troppo distante" dalla calibrazione desiderata, e dovrete cambiare qualcuno dei 4 parametri. Provate prima con la luminosità, magari alzatela se il vostro monitor nasce "sparato". Oppure rinunciate alla temperatura del bianco 6500°K e provate con quella nativa (come già detto, certe volte piazzata vicino a 9000°K).
Gradiente lineare continuo con discontinuità. |
Controllate che lungo tutto il gradiente i grigi siano neutri, e che non compaiano colorazioni anche se lievi. Qui il problema potrebbe risiedere nel profilo ICC, non adeguatamente neutro lungo l'asse dei grigi. Come detto sopra, provate a forzare nel target di caratterizzazione le patch di grigio con l'opzione -g NNN su targen.
Gradiente lineare continuo con dominanti. |
Anche questo è abbastanza banale, ne trovate in giro con un numero variabile di gradini.
Gradiente lineare a 21 gradini. |
Gradiente lineare a 51 gradini. |
Anche qui da valutare l'omogeneità dell'andamento dei grigi, per verificare che non ci siano compressioni o addensamenti. Chi ha occhio potrebbe anche valutare se l'andamento è corretto oppure se ci sia un andamento non lineare nelle ombre, mezzitoni, luci.
Questi li ho trovati sul sito Northlight Images e successivamente anche nella cartella pubblica del gruppo DigitalBackandWhiteThePrint, utilizzati per la linearizzazione delle stampanti a getto di inchiostro nelle stampe in bianco e nero. Rispetto ai gradienti lineari hanno un vantaggio: ogni minima discontinuità è molto più evidente.
Gradiente circolari. |
L'immagine qui sotto è composta da barre di bianco puro (RGB=255,255,255) a barre di grigio, dal valore (RGB=254,254,254) al valore (RGB=240,240,240). In un mondo ideale dovreste distinguere la tacca 255 dalla 254, in realtà penso non sia male riuscire ad intravedere per prima la 253.
Gradiente per le alte luci. |
Come sopra, ma i grigi più scuri: l'immagine qui sotto è composta da barre di nero puro (RGB=0,0,0) alternate a barre di grigio, dal valore (RGB=1,1,1) al valore (RGB=15,15,15). In un mondo ideale dovreste distinguere la tacca 0 dalla 1, in realtà penso non sia male riuscire ad intravedere per prima la 3.
Gradiente per le ombre. |
Vi segnalo alcuni links ai quali potrete trovare immagini di test. Alcune hanno come scopo la verifica di profili per la stampa, però possono essere utilizzate anche per i nostri scopi.
"Test images for printing and lens resolution" da Northlight Images.
Recensione del monitor Samsung T220 da PhotoActivity, per le immagini per verificare l'omogeneità al variare dell'angolo di visuale del monitor (non ha a che fare con i profili, ma provateli).
Date un'occhiata all'articolo "Monitor calibration and gamma" di Norman Koren: ci sono tante immagini per la calibrazione visuale (bestemmia!).
Mooolto interessanti le pagine di test "LCD monitor test images": sono tanti test, divisi per pagine, ognuno con la sua spiegazione. A questo link trovate i test tutti in una pagina.
Mediante il comando dispcal è possibile verificare la calibrazione mediante una serie di misure automatiche da 30 secondi circa.
dispcal -yl -r |
Ecco il log dopo pochi minuti dall'accensione (quindi il monitor deve ancora andare a regime, sono presenti evidenti errori).
Place instrument on test window. |
La temperatura del bianco è espressa in 4 forme, ma l'importante è vedere che all'inizio il monitor è leggermente "caldo" (temperatura del bianco inferiore) rispetto alla temperatura desiderata di 6500°K. Comunque sia, questo è un comando che potreste utilizzare saltuariamente per verificare la calibrazione. Se volete saperne di più, nell'eccellente blog di Mauro Boscarol trovate "Argyll: calibrazione e profilazione del monitor (Mac OS X)".
Mi sono messo a misurare con lo Spyder3 e Argyll l'andamento della luminanza massima del bianco del mio amato HP LP2475w dal momento dell'avvio di Windows (meglio, da quando ho potuto interagire con il desktop), utilizzando il comando dispcal ne più ne meno come durante la fase iniziale della calibrazione (opzione 2 del menù del comando).
Ecco i risultati.
Tempo |
Risultato del comando dispcal Target Br 130.00, x 0.3128, y 0.3291 |
0 min. |
Current Br 71.94, x 0.3189, y 0.3453 DE 8.3 R- G-- B+ |
1 min. |
Current Br 80.97, x 0.3197, y 0.3440 DE 7.5 R- G-- B+ |
2 min. |
Current Br 94.10, x 0.3199, y 0.3422 DE 6.5 R- G- B++ |
3 min. |
Current Br 98.95, x 0.3201, y 0.3411 DE 5.9 R- G- B++ |
4 min. |
Current Br 102.79, x 0.3203, y 0.3405 DE 5.6 R- G- B++ |
5 min. |
Current Br 105.85, x 0.3198, y 0.3396 DE 5.2 R- G- B++ |
10 min. |
Current Br 116.58, x 0.3192, y 0.3370 DE 4.0 R- G- B++ |
15 min. |
Current Br 122.30, x 0.3187, y 0.3350 DE 3.2 R-- G- B+ |
20 min. |
Current Br 125.50, x 0.3177, y 0.3336 DE 2.6 R-- G- B+ |
25 min. |
Current Br 127.17, x 0.3171, y 0.3325 DE 2.2 R-- G- B+ |
30 min. |
Current Br 128.13, x 0.3164, y 0.3316 DE 1.8 R-- G- B+ |
40 min. |
Current Br 129.34, x 0.3154, y 0.3301 DE 1.5 R-- G+ B+ |
50 min. |
Current Br 129.74, x 0.3145, y 0.3294 DE 1.2 R-- G+ B- |
1 ora |
Current Br 129.60, x 0.3140, y 0.3290 DE 1.0 R-- G+ B- |
1 ora 10 min. |
Current Br 129.93, x 0.3132, y 0.3286 DE 0.7 R- G++ B- |
1 ora 20 min. |
Current Br 130.02, x 0.3129, y 0.3285 DE 0.6 R- G++ B- |
Si nota che solo dopo un'ora abbondante si scende sotto 1dE di errore del bianco. Forse tutti gli LCD si comportano allo stesso modo, credo che quelli con la retroilluminazione a LED e quelli con elettronica interna più prestigiosa (con compensazioni automatiche) facciano meglio. Niente di drammatico, ma meglio saperlo.
I Grafici tridimensionali dei profili sono molto interessanti, soprattutto se si effettuano confronti tra un profilo ICC e uno spazio colore standard (sRGB e AdobeRGB in particolare) e tra due profili ICC.
Argyll mette a disposizione il programma iccgamut per creare un file VRML tridimensionale del gamut di un profilo ICC. Per visualizzare questo file (con estensione .wrl) è necessario un apposito viewer: vi consiglio "Cortona 3D Viewer", che si integra in un browser (Internet Explorer, Firefox, Opera, ...).
iccgamut -v -w -d5 -ip -pl HPLP2475w_20100814_gm_1.icc |
Consultate la guida di Argyll per le varie opzioni. Vi consiglio solo di non abbassare troppo il parametro -d5 che imposta la qualità del rendering tridimensionale (più basso, migliore definizione): potreste aspettare parecchio. Ecco il risultato caricato in Cortona 3D Viewer su Firefox, per il profilo ICC di tipo matrice ("independent gamma curves + matrix").
Plot 3D del gamut del nostro profilo ICC. Nel browser è possibile girarlo in tutte le direzioni, e indagare ogni angolo. |
Svariati programmi di Argyll che abbiamo usato possono produrre un file ".wrl" per permettere all'utente di visualizzare graficamente i risultati. In particolare, è possibile caricare il file .wrl prodotto in precedenza da profcheck (se avevate utilizzato il parametro -w). Il grafico tridimensionale è composto da segmenti, ognuno relativo alla patch misurata: più è lungo, più l'errore è elevato. Ecco il risultato, sempre per il profilo ICC di tipo matrice ("independent gamma curves + matrix").
Plot 3D gli errori di verifica del comando profcheck, per il profilo ICC di tipo matrice ("independent gamma curves + matrix"). In alcune zone gli errori sono maggiori, come nella punta esterna dei verdi. |
Come potete vedere, gli errori maggiori si hanno negli "angoli" dei prima rosso e verde: probabilmente un profilo di tipo matrice non può modellare bene il comportamento del monitor in quegli estremi, dove ci sono forti scostamenti dall'andamento teorico. Sono colori difficilmente osservabili nella pratica, però se fosse richiesta una maggiore precisione del profilo, sarebbe meglio passare a uno a tabella ("cLUT).
Per visualizzare dei confronti tra il profilo ICC e gli spazi standard o altri profili, vi consiglio due strade: se avete soldini da spendere l'applicazione ColorThinkPro è eccellente (e serve anche a molto altro), se non volete spendere niente allora sul sito ICCView potete caricare i profili e compararli online (sempre in formato VRML). Proprio da quest'ultima fonte possiamo comparare il profilo a matrice con quello a tabella, ottenuti dalla stessa serie di misure.
Plot 3D del profilo ICC a matrice ("independent gamma curves + matrix", wireframe) e a tabella ("cLUT", solido). |
Il confronto conferma quanto abbiamo intuito sopra: un profilo di tipo matrice (in wireframe) non può modellare bene il comportamento del monitor quanto un profilo a tabella (in colore solido): per il mio monitor HP LP2475w negli angoli estremi dei primari rosso e verde sembrano esserci forti scostamenti dall'andamento teorico. Il profilo a tabella ha gli angoli tagliati, e rappresenta meglio le caratteristiche reali del monitor, e sicuramente evita gli alti errori in quelle zone. Ci sono delle differenze anche alla base del solido, per le basse luminosità, evidenziate anche queste nel grafico degli errori (anche se in misura minore).
Se specificate l'opzione -w nell'esecuzione di targen, potete visualizzare il file ".wrl" risultante (con lo stesso nome del file ".ti1"). Di seguito il grafico per il target di caratterizzazione, nello spazio LAB.
Grafico 3D del target di caratterizzazione da 836 patches. |
Ecco invece il grafico per il target di verifica strumentale. Si notino le patches lungo l'asse del grigio, create grazie al parametro -g32 di targen.
Grafico 3D del target di verifica strumentale da 320 patches. |
Se non volete rompervi le scatole con righe di comando e logs di testo, vi consiglio caldamente di provare "dispcalGUI" di Florian Höch, un'interfaccia grafica per la calibrazione del monitor mediante Argyll. Il progetto è open-source, quindi completamente gratuito, al pari di Argyll.
L'interfaccia grafica "dispcalGUI". |
In pratica, un'amichevole e comoda finestra di configurazione, con svariati vantaggi.
dispcalGUI sfrutta tutta la "potenza" di Argyll, e viene aggiornato continuamente seguendo le varie revisioni dello stesso.
E' dedicato alla sola profilazione del monitor, e quindi presenta i parametri relativi (scartando tutti i comandi o le opzioni che hanno a che fare con altre possibilità di Argyl, come la profilazione della stampante).
E' tradotto quasi completamente in italiano (anche se io preferisco usarlo in inglese).
Una volta decisi i vari parametri, può eseguire il ciclo completo di calibrazione-caratterizzazione-profilazione in modo "unattended", cioè in modo completamente automatico e senza bisogno dell'utente.
Può creare dei report di verifica della profilazione molto professionali.
Per chi sa l'inglese, è disponibile una comoda guida molto completa, complementare alla documentazione di Argyll.
Ogni attività del programma produce un log su disco (ricordatevi di impostare un cartella "comoda" impostando la voce "Choose save path.." dal menù File, sennò di default dispcalGUI salva i files in una cartella introvabile, del tipo "C:\Users\
Tutte le profilazioni restano in memoria, ed è possibile vederne i parametri iniziali (basta selezionare il profilo nella combobox princiaple "Settings").
dispcalGUI installa uno script ("dispcalGUI Profile Loader") per caricare il profilo ad ogni avvio, messo nella cartella "Esecuzione automatica" del menù di Windows. Se avete Vista (e forse anche Windows 7), ricordatevi che c'è un bug che annulla la calibrazione ad ogni sospensione in standby del monitor e ad ogni oscuramento per richiesta conferma utente (qui, spesso). Se siete insicuri, eseguite lo script a mano, male non fa.
Sinceramente ho preferito sporcarmi le mani direttamente con i comandi Argyll, almeno in un primo tempo. Ad un certo punto ho deciso di aggiornare Argyll (in questo momento siamo alla release 1.3.2) e di provare dispcalGUI (release 0.6.6.7). Ho impostato il profilo Photo, e ho cambiato solo la temperatura del punto del bianco (nativa, contro i 5000°C preimpostati dal profilo) e ho scelto il gamma L*, tanto per provare anche quetsa possibilità. Ho poi deciso di disabilitare l'opzione "Interactive display adjustment" e di lasciare la calibrazione precedente (di qualche mese fa), disinteressandomi della luminosità massima e della temperatura del bianco effettive: in questo modo dovrei limitare i problemi sui gradienti. Il resto è tutto come da profilo Photo.
Beh, che dire? Molto comodo, ha impiegato molto tempo ma ha fatto tutto da solo. La temperatura del bianco è risultata circa 6200°C, e la luminosità circa 117cd/m2. La calibrazione L* ha prodotto una curva molto accentuata nella calibrazione in LUT (vedi il capitolo successivo sul programma Calibration Tester), però i gradienti non sono male. Le considerazioni le ho riportate nel capitolo sul gamma.
I reports prodotti dalla voce "Verify profile" sono in formato HTML e sono molto esaustivi. Tra le varie informazioni, vengono riportate quali siano le tacche (e quindi i colori) più problematiche.
Il report di dispcalGUI, molto professionale. |
Potete scoprire se la vostra scheda video ha una LUT separata per i tre canali e visualizzare le curve di calibrazione in essa contenuta mediante il programmino gratuito "Calibration Tester" di X-Rite. scomprimete il file zip in una cartella e lanciate il programma "CalibrationTester.exe". Il suo funzionamento è immediato: con il pulsante "Refresh" si visualizza la situazione attuale della LUT, con il pulsante "Reset" si resetta la LUT (come il comando di Argyll dispwin -c).
LUT caricata con i dati di calibrazione (profilo con gamma 2.2). Si noti che le rette dei 3 canali RGB sono leggermente distorte, e che le tre colonne a destra non hanno i numeri perfettamente uguali. |
LUT resettata: adesso abbiamo tre rette perfette a 45° e i numeri nella tabella a destra sono uguali per le tre colonne. |
Il fatto che i dati di calibrazione per un profilo con gamma 2.2 siano molto vicini a quanto contenuto in una LUT resetta
Dando un'occhiata alle ultime righe della tabella si nota che i valori non arrivano al valore massimo 65535 ma si fermano prima: come avevo sospettato, Argyll (quando abbiamo eseguito il comando dispcal) ha utilizzato la calibrazione anche per limitare leggermente la luminosità massima. Se andiamo a rivedere il log ne abbiamo conferma:
Commencing device calibration ... Brightness error = 0.954970 cd/m^2 (is 130.954970, should be 130.000000) ... |
Potremmo quindi migliorare il profile eliminando il vincolo di luminosità (non è fondamentale se è 130cd/m2 o 132cd/m2) e rifacendo l'intera procedura. La prossima volta...
Aggiornamento: qui sotto la curva relativa alla calibrazione L*, ottenuta durante gli esperimenti con dispcalGUI.
LUT caricata con i dati di calibrazione per L*. Si tratta ora di curve abbastanza distanti dalle rette iniziali. |
Le specifiche Icc sono diventate standard internazionale nel 2005, con la norma ISO 15076. Purtroppo i dati interni dl profilo sono salvati in formato binario, e non sono leggibili direttamente da un normale edito di testo tipo Notepad, ma devono essere "estratti" da appositi programmi.
Per chi volesse analizzare puntigliosamente il contenuto del profilo ICC appena creato e avere conferma di quanto impostato nei vari comandi di Argyll, vi consiglio di provare l'utility gratuita "ICC Profile Inspector" direttamente dal sito ICC.
Ecco i dati interni del nostro profilo tipo "independent gamma curves + matrix", opzione "-ag" del comando colprof di Argyll. |
Ecco i dati di un profilo a tabella (tipo "cLUT" in LAB), opzione "-al" del comando colprof di Argyll. |
Utilizzo questo capitolo per segnarmi alcune note su quello che potrei fare in futuro per migliorare i profili ICC o altre attività collaterali. Se avessi aspettato di aver seguito anche queste nuove direzioni, questo articolo non avrebbe mai una data di pubblicazione...
Calibrare con dispcal senza l'opzione -b BBB, in modo da eliminare il vincolo della luminosità massima (sicuramente avere 120cd/m2 o 121cd/m2 non cambia), dovrebbe eliminare eventuali discontinuità nei gradienti dovute alla calibrazione.
Calibrare con dispcal senza l'opzione -t TTTT, in modo da eliminare il vincolo della temperatura del bianco (in fondo, se ho 6550°K o 6475°K è fondamentale? Non credo) e di lasciare la temperatura nativa, comunque impostata nelle vicinanza dei canonici 6500°K, dovrebbe eliminare eventuali discontinuità nei gradienti dovute alla calibrazione.
Provare l'opzione -u per dispcal: dovrebbe aggiornare la sola calibrazione, senza rifare il profilo, che viene solo aggiornato.
Provare la calibrazione con gamma sRGB.
Provare la calibrazione con gamma L-star.
Provare i comandi dispcal -yl -r e dispcal -yl -R, per eseguire un set di misure iniziali con o senza LUT caricata.
Provare a creare i profili cLUT con e senza le opzioni -ni, -no e -np.
Trovare delle immagini di test peri dettagli nelle ombre e nelle alte luci, per la verifica visiva.
Provare... la nuova release di Argyll (a inizio settembre 2010 è appena uscita la 1.3.0)!
Ovvio che se volete potete procedere per conto vostro: sarei molto felice di riportare le vostre osservazioni in questo articolo, anche se avete monitor o strumenti diversi. Credo che integrerò l'articolo alla prossima profilazione del monitor. Se avrò tempo :-)
PhotoActivity è uno dei migliori siti sulla gestione del colore e argomenti correlati. In realtà è un negozio online, ma con una forte propensione alla divulgazione, non esitate a cercare e chiedere nel forum sul sito, troverete gente ben disposta e preparata, non ultimo Alberto, il titolare. Vi segnalo gi articoli più interessanti.
"Ancora un monitor così... all'improvviso! Eizo S2231W" di Daniele Pennati è stato l'articolo da cui ho preso spunto per iniziale la mia Avventura con Argyll.
Date un'occhiata anche alla recensione del monitor Samsung T220, da dove potete scaricare alcune immagini di test sull'uniformità del monitor.
Di threads interessanti sull'argomento nel forum ce ne sono molti. Cercate e leggete.
Il sito più importante nel panorama italiano sulla gestione del colore è senza ombra di dubbio quello di Mauro Boscarol, una divinità del settore. In realtà gestisce vari siti: il suo sito professionale, il suo blog, il forum colore digitale e la WikiColore. Nel blog ci sono svariati micro-articoli, tutti estremamente interessanti: difficilmente non troverete risposte alle vostre domande. Vi indico gli interventi correlati a quest'articolo.
"Colorimetri per la calibrazione e profilazione del monitor"
"Argyll: calibrazione e profilazione del monitor (Mac OS X)"
"Controllo della qualità del profilo di un monitor con Eye-One Match"
Nella "pagina ufficiale di Argyll" potete scaricare il programma e potete consultare la documentazione online (in inglese, in gran parte è presente anche nel file di installazione, e quindi potrete consultarla anche nel vostro hard disk). Alziamoci in piedi e ringraziamo l'autore Graeme W. Gill per il suo dono a tutta l'umanità. Per iniziare vi consiglio di leggervi attentamente la "documentazione ufficiale di Argyll", con la descrizione di tutti i comandi e tanti altre utili informazioni.
"dispcalGUI" di Florian Höch è l'interfaccia grafica per la calibrazione del monitor mediante Argyll, disponibile in vari sistemi operativi (Windows, Mac OS X, Linux). Consigliatissimo, ne abbiamo parlato sopra.
Un'ottima fonte di indicazioni sull'utilizzo di Argyll per la profilazione del monitor è quello di Marcel Patek. Vi consiglio di dare un'occhiata agli articoli "Argyll Color Management System", "Monitor and Color Management", "Gamma", "Color and Colorimetry".
Una buona fonte di informazioni è la sezione "monitor" nei forum di HW Upgrade. In particolare, se siete interessati al monitor HP LP2475w, c'è il "[Thread Ufficiale] HP2475w: 24 pollici, 16:10, Tecnologia IPS", con centinaia di commenti degli utilizzatori.
Microsoft mette a disposizione un'applet per Windows XP per gestire e visualizzare i profili colore, chiamata "Color Control Panel Applet": potete scaricarla qui.
"Anatomia di un profilo ICC" di Giuseppe Andretta (l'ho conosciuto di persona, una sagoma...).
"Color Matching Between sRGB Monitors and Wide Color Gamut Monitors".
Altri links sono riportati nell'articolo "La gestione del colore".