colore digitale blog

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

Nella serie Profilo di fotocamera secondo Adobe

Meccanismo di conversione fino ad ACR 4.4

Fino alla versione 4.4 di ACR e 1 di Lightroom, non esisteva un vero e proprio “profilo di fotocamera” separato dall’applicazione, ma veniva usato il seguente meccanismo interno di conversione da RGB sensore a RGB riferito alla scena.


Due matrici di fotocamera e una matrice interpolata

Per ogni fotocamera supportata, Adobe (in realtà Thomas Knoll) ha creato una coppia di matrici di caratterizzazione. Quando si apre una immagine Raw, Camera Raw individua la fotocamera con cui è stata scattata l’immagine e recupera la coppia di matrici che la caratterizzano.

Ogni matrice è un insieme di 9 numeri che caratterizza una determinata fotocamera per una determinata illuminazione della scena, nel senso che specifica la conversione da RGB (nello spazio sensore) a XYZ (coordinate colorimetriche) per quella illuminazione.

Le due matrici di Adobe costituiscono due caratterizzazioni della fotocamera, rispettivamente per l’illuminante A e per l’illuminante D65 come indicato nello schema qui sotto.

due_matrici

Durante l’utilizzo di Camera Raw l’utente può selezionare un illuminante qualunque nelle impostazioni di bilanciamento del bianco, un illuminante diverso da A e D65. Camera Raw calcola allora per interpolazione  una singola matrice di caratterizzazione per l’illuminante indicato dall’utente. Nello schema qui sotto l’utente ha scelto una illuminazione di 5350 K e Camera Raw ha calcolato la relativa matrice.

tre_matrici

La matrice interpolata è quella che viene utilizzata per convertire i dati RGB Raw della fotocamera in dati colorimetrici XYZ riferiti alla scena e successivamente da XYZ in dati RGB RIMM, cioè ProPhoto a gamma 1.

hsl

La matrice non è un profilo ICC ma ha un ruolo analogo ad un profilo ICC di fotocamera, cioè consente di convertire da uno spazio ad un altro (in questo caso da spazio del sensore a spazio colorimetrico scene-referred).

Più specificamente la matrice, per definizione, è in grado di operare una conversione lineare da RGB sensore a XYZ. Questa conversione porta il bianco di fotocamera nel bianco D50 di XYZ (cioè si tratta di una conversione con adattamento cromatico, oppure in termini ICC con intento colorimetrico relativo).

Esistono Raw converter (per esempio dcraw, RawDeveloper, RawShooter, Bibble, Capture One) che consentono di salvare una immagine lineare e sulla base di questa creare un profilo ICC con un software tipo ProfileMaker, ma con i Raw converter di Adobe non si può.

Adobe sostiene che un profilo ICC di fotocamera non è adatto per la conversione da spazio sensore a spazio scene referred per molti motivi. Un motivo è che i profili ICC sono adatti per immagini di cui è già stato stato fatto il rendering, non per immagini ancora in uno spazio lineare. Un secondo motivo è che la sequenza di trasformazioni di un profilo ICC non consente elaborazioni particolari, come il recupero delle alte luci. Un terzo motivo è che non esiste uno standard che specifica lo spazio di input di fotocamera in ICC e quindi un profilo ICC non è portabile: può essere usato solo con il Raw converter per cui è stato creato.

Ancora, un profilo ICC usato su dati lineari comprime il range dinamico della scena sempre nello stesso modo per ogni immagine (come diceva Bruce Fraser, sia che si tratti di un orso polare sulla neve che di un gatto nero sul carbone). Infine il profilo ICC dipende dall’illuminante, quindi servirebbe un profilo per ogni illuminante.

In realtà tutti questi argomenti sono ancora materia di dibattito. Sicuramente un profilo ICC v4 è più adatto come profilo di fotocamera di un profilo ICC v2.


Oltre la caratterizzazione generica: calibrazione di Adobe

Le due matrici di caratterizzazione sono generiche per tutte le fotocamera di quella marca/modello, e quindi anche la matrice interpolata è generica.

Adobe ha predisposto due modi per “calibrare” le matrici generiche in modo che siano adatte ad uno specifico esemplare di fotocamera, individuato da un numero di serie. Il primo modo è riservato ad Adobe ed il secondo modo è riservato all’utente.

Per calibrare le matrici di caratterizzazione Adobe utilizza altre due matrici. Nella specifiche le due matrici di caratterizzazione sono chiamate ColorMatrix1 e ColorMatrix2. Le due matrici di calibrazione sono chiamate CameraCalibration1 e CameraCalibration2.

Queste due matrici di calibrazione non sempre vengono usate, ma se sono usate vengono popolate sulla base dei metadati del file Raw (tipicamente confrontando i fattori di bilanciamento del bianco della fotocamera con quelli di una fotocamera di riferimento usata da Adobe per la calibrazione).

Dunque le due matrici ColorMatrix sono scritte in Camera Raw/Lightroom, e vengono modificate dalle matrici CameraCalibration che invece dipendono dalla singola immagine (tecnicamente la modifica avviene mediante una moltiplicazione ColorMatrix per CameraCalibration).

In particolare, in un file DNG vengono registrate entrambe le coppie di matrici. All’apertura con Camera Raw/Lightroom di una immagine DNG

  • se Camera Raw/Lightroom riconosce il nome della fotocamera nel DNG, ignora le matrici ColorMatrix del DNG e usa quelle dell’applicazione; invece usa le matrici CameraCalibration del DNG.
  • se Camera Raw/Lightroom non riconosce il nome della fotocamera usa entrambe le coppie di matrici che trova nel DNG (perché nell’applicazione non ci sono).

Questo comportamento è stato verificato da Sandy McGuffog e pubblicato nel suo blog.


Oltre la caratterizzazione generica: calibrazione dell’utente

Anche l’utente ha la possibilità di “calibrare” (cioè modificare) la conversione fatta dalla matrice di caratterizzazione generica  in modo che la conversione sia specifica per la propria fotocamera. Questo viene fatto con le impostazioni Camera Calibration che si trovano sia in Camera Raw che in Lightroom.

Le impostazioni possono essere modificate manualmente o mediante uno script e poi possono essere salvate in modo che siano sempre applicate a quell’esemplare di fotocamera.

Questa meccanismo creato da Adobe (due matrici da interpolare e calibrare) è orientato all’accuratezza colorimetrica. Cioè il risultato finale, se tutto è fatto per bene  è la riproduzione colorimetrica esatta (entro una certa tolleranza) della scena.

 

Visitato 135 volte, negli ultimi 7 giorni 1 visite

Torna all'indice di Profilo di fotocamera secondo Adobe

Mauro Boscarol

29/8/2008 alle 15:00

Parole chiave , , , , ,

Visitato 135 volte, negli ultimi 7 giorni 1 visite

Un commento

Abbonati ai commenti a questo post con RSS

  1. Sono stati citati i personaggi che compongono il cuore del Team di sviluppo di Camera Raw, ne manca uno fondamentale: Zalman Stern.

    Riporto sotto per curiosità il “quadro” descritto da Jeff Schewe in un post sullo sharpening di ACR:

    “>and whoever else is keeping ACR on the cutting edge!!!

    That would be Mark Hamburg and of course, Thomas Knoll. Both worked on the sharpening. Zalman Stern and new hire Eric Chan round out the Camera Raw team (although Mark has left Adobe) so it’s down to 3 engineers, Thomas, Zalman and Eric. Plus some management and marketing (Tom Hogarty) and a few important QE people. Pretty amazing what a small team like this can accomplish, huh?

    :~) ”

    Marco

    MN

    18/4/09 alle 15:12

Vuoi fare un commento a questo post?

Devi essere collegato per scrivere un commento.