La scatola nera di Adobe Camera Raw – pt. 2

At such speeds… things fly.
(© 1995 S. Hogarth / J. Helmer)

 

Richiamo alla prima parte

Nella prima parte di questo articolo ho esaminato il comportamento di un file tiff aperto in ACR (Adobe Camera Raw). Si trattava di un file di prova creato in Photoshop con campioni dei colori primari di RGB, le loro somme (CMY) e tre neutri di diversa luminosità. I punti salienti erano questi:

  1. Sappiamo che ACR lavora internamente in una variante di ProPhoto RGB. Il file originale viene poi convertito nel profilo di lavoro nel momento in cui viene aperto.
  2. I campionatori colore in ACR restituiscono i valori RGB nello spazio prescelto per l’apertura nella finestra “Opzioni flusso di lavoro”.
  3. Su nove campioni di colore, otto vengono tradotti correttamente; uno, il giallo, presenta una discrepanza piuttosto notevole (sette punti nel canale R).

Autocritica in tre step

Ho individuato almeno tre punti critici possibili nel mio esperimento svolto nella prima parte dell’articolo.

Il primo è relativo alla scelta dei campioni: il fatto che si riscontri un’anomalia nel colore definito come 255R255G0B in sRGB non dice nulla su cosa accada ad altre variazioni del giallo meno vicine al limite del gamut dello spazio colore in esame, né in generale ad altri colori.

Il secondo è che l’immagine scelta per il test è un’immagine sintetica e non fotografica: a noi importa cosa può accadere nel caso che esaminiamo una fotografia, non dei campioni cromatici.

Il terzo è che nella stragrande maggioranza dei casi ACR serve per sviluppare dei files raw. I files raw non hanno un profilo colore predefinito e in qualche modo vengono alla vita solo nel momento in cui vengono processati con un modulo come ACR, e il loro aspetto dipende da parametri definiti al momento dello sviluppo – automaticamente o manualmente. Da questo punto di vista, quanto è rilevante lo spostamento che abbiamo rilevato? Se i gialli ci soddisfano, li teniamo; se non ci soddisfano li correggeremo – in generale non è difficile. Quindi, siamo davanti a un falso problema?

Cinque campioni sRGB vicini al limite del gamut.

Ho affrontato il primo problema ripetendo l’esperimento con il file che potete vedere qui a sinistra. Tutte le gradazioni di giallo sono nella forma XRXG0B, ovvero hanno valori uguali in R e G, mentre il canale B è sempre uguale a 0. Il valore di R e G aumenta di cinque unità alla volta: in ordine, da sinistra, 235, 240, 245, 250, 255. Ho ripetuto esattamente la stessa procedura descritta nella prima parte dell’articolo e ho concluso che la discrepanza esiste ma è variabile con l’intensità del colore. Riguarda, in questo caso, sempre e solo il canale R: ACR fornisce valori in R più elevati nella conversione in ProPhoto RGB di quanto non faccia Photoshop in conversione diretta. Sempre da sinistra a destra, le deviazioni nel canale R sono di 1, 2, 3, 5, 7 unità. L’ultimo risultato conferma l’analisi svolta nella prima parte dell’articolo.

L’immagine fotografica usata per ripetere il test.

Per affrontare il secondo problema ho ripetuto il test con l’immagine qui a fianco. Visto che il problema sembra manifestarsi nell’area dei gialli, ho scelto un fiore con un giallo molto carico e alcune parti estremamente luminose, al limite del clipping. L’immagine non è un granché e si potrebbe migliorare parecchio, ma non è quello il nostro obiettivo: per comparare il risultato delle due conversioni dobbiamo isolare qualsiasi altro parametro, e quindi non ci preoccupa molto se la resa dello scatto è discutibile dal punto di vista (ad esempio) del contrasto, come in questo caso. Solita procedura, dunque: l’originale è sRGB e viene convertito in ProPhoto RGB direttamente in Photoshop e, parallelamente, passando ACR. La differenza esiste ma, in tutta onestà, non è facile da rilevare per un occhio non allenato. Non carico le versioni sRGB delle due immagini perché la loro conversione in questo profilo da ProPhoto RGB finirebbe per annullare in gran parte le differenze a causa del clipping dei colori più saturi.

La mappa delle differenza tra le due versioni in ProPhoto prodotte dall’originale in Photoshop e in ACR.

Posso però mostrarvi la mappa delle differenze tra le due versioni, che presenta una sorpresa. L’immagine a sinistra è molto amplificata e va letta come segue: dove appare il rosso la differenza è nel canale R; dove appare verde, nel canale G; dove appare blu, nel canale B. Dove l’immagine è nera i colori sono identici nelle due versioni. In tutti i casi la versione prodotta da ACR ha valori più alti laddove differisce da quella prodotta da Photoshop. La sorpresa è che finora avevamo riscontrato differenze soltanto nei gialli, ma vediamo anche degli effetti nei magenta chiari (fiori sullo sfondo) e nelle aree che si avvicinano di più al bianco (nel fiore giallo). Le differenze nei magenta riguardano il canale G, quelle nelle parti più chiare dei fiori gialli il canale B. Sembra dunque che l’effetto che abbiamo riscontrato riguardi in generale i colori più chiari: nel file di test della prima parte dell’articolo il giallo è di gran lunga il più chiaro dei colori utilizzati, e il sospetto è che questo sia il motivo per cui è stato l’unico campione a presentare la discrepanza.

Il terzo problema è più sottile. Diversi moduli di sviluppo raw si guardano bene dal concordare su quali siano le impostazioni di default più opportune per sviluppare un dato file. In subordine, certi moduli sembrano eccellere in certi aspetti del risultato, altri in aspetti diversi. So per certo che in alcuni ambienti di lavoro dove la qualità massima è irrinunciabile, certi operatori utilizzano un certo modulo di sviluppo raw per il colore e un altro per la luminosità, fondendo poi i due risultati opportunamente in Photoshop. Una delle peculiarità del formato raw, che forse ancora sfugge ad alcuni, è il fatto paradossale che l’esistenza di un originale immutabile ed estremamente modulabile equivale al fatto che un originale vero non esista più. Intendo dire che scattando in jpeg ci troviamo con un punto di partenza ben definito, buono o cattivo che sia. In raw possiamo avere quasi infiniti punti di partenza diversi (intesi come sviluppi del raw stesso) a seconda delle scelte che faremo nel modulo di sviluppo. E questo, naturalmente, cambia inevitabilmente e nel profondo il nostro modo di pensare l’immagine.

Uno, nessuno, centomila. (E non si mettono più in fila.)

Quattro versioni della stessa immagine realizzate in ACR 7.

Questo concetto rischia di essere un po’ evanescente e vorrei per questo fare un esempio. Qui a destra ho raccolto quattro sviluppi diversi della stessa immagine raw, tutti realizzati in ACR 7 a partire da un file raw. Non è importante come io li abbia ottenuti, ma è importante il fatto che le quattro versioni siano molto diverse tra loro. Potremmo discutere a lungo su quale sia la migliore, ma non è questo il punto: il punto, di nuovo, è la loro diversità. Potrei, però, assegnare un’ immagine come riferimento a una persona esperta nella correzione del colore e chiedergli di avvicinare le altre tre a essa operando solo ed esclusivamente in Photoshop, senza avere accesso al file raw. La domanda che mi sta a cuore è: quale tra le tre versioni renderebbe più facile e più veloce il lavoro? In subordine, quale tra le tre versioni produrrebbe un risultato migliore? Questo è il genere di domande che oggi non ha risposte precise, e quelle che ci sono sono decisamente parziali e forse non ben dimostrate fino in fondo.

Un criterio di scientificità

Mac Oliveight: stavolta non ce ne liberiamo più.

Una delle cose fondamentali in un esperimento che si voglia definire almeno vagamente scientifico è l’isolamento delle variabili. Il problema più grosso legato alla domanda posta poco fa è che le quattro versioni sono state ottenute manipolando l’immagine raw con strumenti diversi in ACR. La prima, ad esempio, utilizza il cursore Esposizione ma non le curve; la seconda utilizza le curve ma non il cursore Esposizione. La presenza di troppi gradi di libertà fa esplodere la complessità già elevata del problema: se vogliamo avere delle risposte anche solo vagamente chiare dobbiamo per forza bloccare tutti i possibili parametri tranne quello che vogliamo investigare. Dobbiamo quindi fare una certa operazione in ACR e la stessa operazione in Photoshop, separatamente, e confrontare i risultati. Questo non è semplice, perché certi strumenti in Photoshop non ci sono, o sono codificati diversamente rispetto a quelli di ACR. Per non impazzire, dunque, è il caso che ci concentriamo su una regolazione alla volta, e vorrei partire dalle curve. Mac Oliveight ci lancia un avvertimento molto chiaro in merito a questo problema:

In un flusso di lavoro come quello che utilizziamo nella correzione del colore, è sempre stata prassi tradizionale operare in Photoshop. Fino ad ACR 6 l’utilizzo delle curve in ACR era certamente limitativo, perché non era possibile curvare i tre canali separatamente: l’unica tipologia di curva era quella sul composito RGB. Questa situazione è cambiata con ACR 7 e ora sono disponibili le curve sui canali. C’è però un problema sottile di cui molti utenti non si rendono conto: ACR lavora internamente in uno spazio con un gamut molto esteso, e questo significa che a piccoli spostamenti dei numeri che rappresentano i colori corrispondono grandi spostamenti cromatici. Non abbiamo scelta su quale spazio colore utilizzare: finché siamo in ACR, siamo vincolati all’unico spazio in cui ACR lavora, il famoso ProPhoto a gamma 1.0. È solo al momento dello sviluppo, con l’entrata in Photoshop o il salvataggio del file in formato bitmap, che possiamo decidere quale sarà il profilo finale di lavoro, e le scelte sono solo quattro. Il sottoprodotto netto di questa situazione è che le curve in ACR sono molto sensibili e delicate, assai più di ciò che accadrebbe se lavorassimo in uno spazio più ridotto, come ad esempio sRGB, in Photoshop. Inoltre, confrontare una curva fatta in ACR con la stessa curva realizzata in Photoshop potrebbe essere un problema. Le stesse curve possono avere un’influenza parecchio diversa sui numeri, nel momento in cui essi fossero codificati in altri spazi colore.

 

Domanda: cosa fa esattamente questa curva nel canale R? Risposta migliore possibile: DIPENDE.

Mac sta dicendo una cosa molto semplice. Osservate la curva qui a fianco: è una curva molto semplice che influenza soltanto il canale R. Qual è il suo effetto? Dipende dallo spazio colore in cui siamo, ovvero quale variante di RGB stiamo usando. È abbastanza intuitivo: la curva che vedete si ottiene istruendo Photoshop a mappare il punto di valore 128R a 178R. Il problema è che “128R” significa una cosa diversa in diversi spazi colore, per i motivi legati alla cromaticità dei primari e del gamma. Lo stesso vale per 178R. Gli altri valori nel canale del rosso vengono spostati in maniera simile, in accordo con la forma della curva: un valore, ad esempio, come 46R viene trasformato in 72R, ma anche qui, i numeri hanno significati diversi in varianti diverse di RGB, e pertanto la stessa curva darà risultati diversi a seconda dello spazio colore che stiamo usando. Questo è noto a chiunque abbia lavorato con un minimo serietà sulla regolazione curve in Photoshop, ed è alla base del fatto, ad esempio, che in molti casi sia più semplice correggere in sRGB che in ProPhoto RGB, e che sRGB sia più adatto di spazi a gamut più ampio per apportare variazioni cromatiche e di luminosità piccole.

Sopra, l’effetto della curva mostrata poco fa in sRGB; sotto, la stessa curva in ProPhoto RGB.

Se avete dei dubbi, guardate l’esempio qui a destra. Il punto di partenza è la seconda versione dell’immagine presentata sopra. L’originale è in sRGB; viene duplicato e convertito in ProPhoto RGB. A entrambe le versioni viene poi applicata la curva che avete appena visto, che modifica soltanto il canale del R. Come ci si aspetterebbe, entrambe le immagini virano verso il rosso, ma in maniera differente: sopra, l’effetto della curva in sRGB; sotto, l’effetto della curva in ProPhoto RGB. Il risultato è in accordo con ciò che Mac sosteneva – il gamut maggiore del secondo spazio causa uno spostamento verso il rosso molto più marcato che in sRGB. Ma ACR come si comporta? Vale la pena di verificarlo.

Curve in Photoshop, curve in ACR

NB: Una precisazione molto importante: quando da qui in avanti mi riferirò a un profilo colore (sRGB o ProPhoto RGB) intenderò sempre che si tratta del profilo colore utilizzato in uscita da ACR o, alternativamente, in Photoshop. Le immagini riprodotte qui sono state però tutte convertite in sRGB per evitare problemi di visualizzazione con certi browser.

Lo sviluppo originale ottenuto da ACR con tutti i parametri azzerati e una curva lineare.

A sinistra possiamo osservare lo sviluppo di un file raw ottenuto da ACR. I parametri di sviluppo sono stati tutti azzerati ed è stata applicata una curva lineare – che significa, in sostanza, nessuna curva.

Il file è stato sviluppato due volte coi medesimi parametri e aperto in Photoshop: la prima volta in sRGB, la seconda in ProPhoto RGB. I due profili sono stati selezionati nella finestra Opzioni flusso di lavoro di ACR descritta nella prima parte di questo articolo. Ai due documenti ottenuti è stata poi applicata un’identica curva nel composito RGB; una curva semplicissima, con un solo punto centrale, e piuttosto aggressiva. È caratterizzata dai parametri Input = 128, Output = 192 e potete vederla qui sotto (nella versione di Photoshop) assieme al risultato che produce sull’immagine che vi ho appena mostrato.

La curva citata nel testo e la sua azione sullo sviluppo in sRGB.

L’effetto della curva è quello di schiarire l’immagine, che in questo caso è la versione sRGB dello sviluppo. Non solo: aumenta la saturazione, a meno che non cambiamo il metodo di fusione del livello di regolazione che stiamo usando in Luminosità – cosa che non faremo almeno per ora.

Ci aspettiamo che questa stessa curva applicata allo sviluppo ProPhoto RGB dia un risultato diverso anche se l’aspetto dell’immagine di partenza è identico. Questo accade perché ciò che una curva fa in Photoshop è modificare i valori dei numeri che caratterizzano i canali, e sappiamo che questi numeri hanno un significato diverso in diversi spazi colore. La modifica dei numeri è uguale, perché la curva è identica; ma i numeri di partenza non sono uguali rispetto all’immagine sviluppata in sRGB. Quanto sarà diverso il risultato?

A sinistra, la curva applicata allo sviluppo sRGB; a destra, la stessa curva applicata allo stesso sviluppo ProPhoto RGB.

Direi molto diverso. Lo spostamento cromatico del colore del cielo è l’effetto più visibile, ma anche arancioni e rossi sono significativamente diversi.

Come possiamo verificare se ACR si comporta allo stesso modo? Dobbiamo aprire il file raw originale, applicare la stessa identica curva e creare uno sviluppo in sRGB; poi, di nuovo, creando però uno sviluppo in ProPhoto RGB. I risultati sono i seguenti:

A sinistra, la stessa curva applicata in ACR e il file sviluppato in sRGB; a destra, uno sviluppo in ProPhoto RGB con gli stessi parametri.

Se non vedete differenze, è perché non ci sono. Questo ci dice una cosa fondamentale, che segna una differenza cruciale tra come ACR e Photoshop applicano le curve. Mac Oliveight…?

Il fatto che le due immagini sviluppate in ACR in spazi colore diversi come sRGB e ProPhoto RGB siano uguali ci conferma una cosa elementare: la selezione dello spazio colore in ACR riguarda solo l’output, ma tutti i processi interni vengono eseguiti nello stesso spazio colore, perché la curva agisce allo stesso modo indipendentemente dal profilo selezionato. Sappiamo anche su quale spazio stiamo lavorando: è ProPhoto RGB a gamma lineare, Adobe lo ha dichiarato. Quindi: un unico risultato visivo, ma due sviluppi – ovvero due traduzioni diverse della stessa immagine. Esattamente l’opposto di ciò che accade in Photoshop dove le curve agiscono a seconda del profilo del documento su cui lavoriamo. Vale la pena di osservare che il risultato della curva in ACR è simile a quello della curva applicata al documento ProPhoto RGB in Photoshop. Questo non ci sorprende, perché a parte il gamma, si tratta dello stesso spazio colore.

 

I pericoli del senso comune

Una cosa a cui dovremmo sempre stare attenti quando ci occupiamo di questioni scientifiche è il senso comune. Il senso comune, nel caso di ACR, si snoda lungo binari che invariabilmente ricalcano a questa linea di ragionamento: “Il formato raw contiene molti più dati rispetto a un bitmap demosaicizzato, a maggior ragione se quest’ultimo è a 8 bit. ACR agisce sui dati raw prima dello sviluppo, e il range dinamico espresso da tali dati è di gran lunga superiore a quello di un jpeg o di un tiff. Pertanto gli strumenti di ACR producono un risultato migliore rispetto a quelli di Photoshop, perché lavorano su dati migliori.” Beh, io lo spero, perché sarebbe davvero una bella cosa. Ma dal punto di vista logico l’affermazione che ho appena sintetizzato fa alzare ben più che un sopracciglio, in quanto è una via di mezzo tra due affermazioni che esemplificano molto bene i limiti di due approcci: rispettivamente, quello idealistico e quello induttivo.

Approccio idealistico: “una rosa è più profumata di un cavolo; di conseguenza, produce anche una minestra migliore”.

Approccio induttivo: “1 è un numero primo, 3 è un numero primo, 5 è un numero primo, 7 è un numero primo, quindi tutti i numeri dispari sono primi.”

Riconoscete i due errori? Attenzione, non sto dicendo che l’affermazione su ACR sia sbagliata: sto, semmai, dicendo che bisogna stare attenti ai termini che si usano. E le cose vanno, comunque, verificate se possibile. Ma non ora: il confronto diretto tra le curve applicate in ACR e le stesse curve applicate in Photoshop va rimandato al prossimo capitolo di questa serie di articoli. Lo scopo di questo era chiarire una volta per tutte come vengono gestiti i profili colore in ACR rispetto a ciò che siamo abituati (perlomeno, alcuni di noi lo sono) a vedere in Photoshop.

Per intanto, e come sempre, grazie per l’attenzione!
MO

6 pensieri su “La scatola nera di Adobe Camera Raw – pt. 2”

  1. Marco, a quanto pare le cose non sono per niente semplici. Il tuo lavoro è sempre interessante. Ma io mi devo essere perso. Ad esempio nella tua conclusione scrivi:

    “Lo scopo di questo era chiarire una volta per tutte come vengono gestiti i profili colore in ACR rispetto a ciò che siamo abituati (perlomeno, alcuni di noi lo sono) a vedere in Photoshop.”

    A me sembra di aver capito questo: ACR lavora sempre in ProPhoto RGB (e, dunque, anche le curve di ACR). Dopo di che posso sviluppare il file in ProPhoto RGB o in sRGB o Adobe RGB o ColoMatch RGB. E io ho l’impressione che lo sviluppo da ACR sia l’equivalente di un “converti profilo” in Photoshop. Ma se ho detto una castroneria correggimi pure.
    Fatico anche a capire quale sia l’effettiva rilevanza dei risultati della stessa curva applicata in sRGB e in ProPhoto RGB. Credo di aver capito l’aspetto teorico, ma a livello pratico a me sembra che la conclusione sia semplicemente il fatto che per ottenere lo stesso risultato devo applicare nei due casi curve leggermente diverse. Ma questo si ripercuote sulla qualità dell’immagine finale? Ho la mente un po’ confusa ma attendo con interesse il prossimo capitolo.
    Grazie

    1. A me sembra di aver capito questo: ACR lavora sempre in ProPhoto RGB (e, dunque, anche le curve di ACR). Dopo di che posso sviluppare il file in ProPhoto RGB o in sRGB o Adobe RGB o ColoMatch RGB. E io ho l’impressione che lo sviluppo da ACR sia l’equivalente di un “converti profilo” in Photoshop. Ma se ho detto una castroneria correggimi pure.

      Stando a quanto dice Adobe, lo spazio di lavoro di ACR è una variante di ProPhoto RGB e non può essere modificato. Questa scelta è sensata, per tanti motivi. Quando entri in ACR hai delle scelte sullo spazio colore che vuoi per l’output, e sono le quattro che elenchi. I colori vengono letti, numericamente, a seconda della scelta che operi, anche se internamente sono rappresentate da numeri diversi (in sostanza: io “vedo” ad esempio i valori sRGB, ma non sono realmente in sRGB – a differenza di quanto accade in PS, che nella palette di Info ti fa leggere in un sacco di modi ma che non può mostrare i numeri di una variante diversa dello spazio colore in cui sei). In questo senso certamente avviene una conversione in profilo quando usciamo da ACR. Diciamo che lo stato dell’immagine in ACR è una specie di limbo, e quando viene sviluppata si fissano finalmente dei parametri che fino a quel momento erano modificabili. In realtà (come vedi nella prima parte) la conversione non è proprio identica in ACR e in PS. ACR sembra avere un meccanismo per cui fa delle cose particolari con i colori molto luminosi. Ma il principio, sostanzialmente, è quello.

      Fatico anche a capire quale sia l’effettiva rilevanza dei risultati della stessa curva applicata in sRGB e in ProPhoto RGB. Credo di aver capito l’aspetto teorico, ma a livello pratico a me sembra che la conclusione sia semplicemente il fatto che per ottenere lo stesso risultato devo applicare nei due casi curve leggermente diverse. Ma questo si ripercuote sulla qualità dell’immagine finale? Ho la mente un po’ confusa ma attendo con interesse il prossimo capitolo.

      In questa fase è una rilevanza puramente accademica. È la controprova del fatto che, siccome in spazi colore diversi le stesse identiche curve si comportano diversamente, la sequenza di ciò che avviene in ACR è: apertura file con conversione provvisoria in ProPhoto RGB modificato; applicazione delle curve; conversione finale in spazio scelto dall’utente allo sviluppo. In realtà non so (e non ho trovato informazioni certe) se quando curvo ACR lavori sui valori convertiti o direttamente sui valori raw, ma vista la rapidità di preview scommetterei sulla prima. Naturalmente quello che mi interessa di più alla fine è capire se qualitativamente un set di curve in ACR si comporti meglio/allo stesso modo/peggio che in PS: ho alcune prove in corso e i risultati sono… curiosi, certamente non univoci. Ma, come dici, questa è roba per la terza parte, che spero arriverà presto :-).

  2. Articoli davvero di ottima fattura. Con non poca difficoltà cerco di intersecare quanto scrivi con le mie nozioni in materia colore e le mie conoscenze assai più modeste.
    Complimenti per tutta questa ricerca data dalla tua competenza e curiosità di trovare un nesso, un metodo, un isola di certezza, in questo fantastico rompicapo

    1. Grazie Marco – penso che tu abbia colto nel segno: alla fine la mia è solo curiosità. Sto scrivendo la terza parte dell’articolo, per inciso, che spero sarà meno nozionistica e noiosa della seconda :). Resta sintonizzato, se ti va!

  3. Gentile Marco, chiedo scusa per aver ritardato di qualche anno la lettura di questi due articoli. Leggo spesso i tuoi articoli e ti seguo anche su Fotografia Reflex. Non ho una gran competenza nella gestione del colore, ci sono entrato da poco, ma quello che ammiro in te (lasciando ovviamente da parte ogni considerazione sulla vasta competenza e preparazione) è la tua capacità di divulgazione. Complimenti.

    1. Roberto – ti ringrazio molto dell’apprezzamento. Confesso di essere stato piuttosto pigro (a causa di vari impegni) nell’aggiornare questo blog, che vorrei mantenere più vivo, ma spero di rimediare presto. Grazie ancora e buon proseguimento!
      MO

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *