colore digitale blog

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

Nella serie Colore in fotografia digitale

Ricostruzione della scena: linearizzazione

I dati Raw generati dal sensore e salvati (in un formato Raw) nella memoria della fotocamera, vengono trasferiti ad un computer dove verranno elaborati da un Raw converter, cioè una applicazione specializzata per l’elaborazione dei dati Raw delle fotocamere digitali.

Il Raw converter fa essenzialmente due cose per formare l’immagine: prima esegue la cosiddetta ricostruzione della scena e successivamente la cosiddetta resa del colore.

La ricostruzione della scena comprende le seguenti operazioni, che agiscono sui dati Raw forniti dal sensore, dati che rappresentano la luminanza della scena:

  • decodificare il formato, identificare il modello di fotocamera, trovare le dimensioni dell’immagine, trovare le informazioni di bilanciamento del bianco;
  • decomprimere e/o decrittare i dati Raw;
  • linearizzare i dati Raw;
  • rimuovere il rumore read-out e fixed pattern se non è già stato fatto dall’hardware della macchina;
  • sottrarre il rumore dark current e shot noise;
  • compensare il flare ottico;
  • bilanciare il bianco;
  • demosaicizzare i dati Raw per ottenere dati RGB device dependent;
  • convertire i dati RGB device dependent in dati colorimetrici (per esempio XYZ).

Decrittazione

Secondo Dave Coffin autore di dcraw, alcuni dati Raw sono criptati, altri sono compressi, altri sono sia criptati che compressi:

Compression is not encryption. Phase One and Sony do encryption only. Kodak does compression only. Canon, Nikon, and Foveon compress the image data and encrypt some of the metadata.

Il primo passo per ogni conversione è dunque la decrittazione e/o la decompressione.

Decompressione e linearizzazione

I dati del sensore sono numeri proporzionali al numero di fotoni catturati da ogni photosite e quindi alla esposizione. Questo si esprime dicendo che i dati dei sensori sono lineari rispetto alla luminanza emessa dalla scena. Tuttavia nella conversione da segnale analogico a segnale digitale può essere introdotta una curva di quantizzazione (che agisce come compressione dei dati) che va rimossa. Tipicamente la quantizzazione comporta una perdita delle informazioni disponibili sul sensore, ma questa perdita è controllata in modo che gli effetti non siano percepibili ad occhio nudo.

Per esempio il formato NEF (cioè il formato Raw di Nikon) può essere compresso o non compresso. La compressione è disponibile come opzione nelle fotocamere Nikon D100, D200, D2x, D2h, mentre è sempre fatta in D70, D70s, D50, D40, D40x.

In una Nikon D40 il segnale analogico che esce dal sensore Sony ICX413AQ entra in un convertitore analogico-digitale (ADC) che lo digitalizza a 12 bit, che garantiscono 4096 possibili livelli. A questo punto viene applicata una curva di quantizzazione che riduce questi 4096 livelli a 683 (qui sotto) che a loro volta sono compressi in modo lossless.

Quantizzazione NEF

Ho trovato queste informazioni nella pagina A proposito del NEF compresso di Maurizio Firmani, dove si trova anche il metodo per estrarre la curva di quantizzazione di altre fotocamere mediante dcraw.

In generale la relazione tra segnale analogico e segnale digitale è descritta da una funzione di conversione opto-elettronica (OECF, opto-electronic conversion function) che può essere misurata. La norma ISO 14524:1999 specifica le modalità di misurazione, che consistono nel fotografare un target come questo:

di cui si conoscono le luminanze, che si possono mettere in relazione con i valori digitali forniti dal sensore. I dati vengono forniti al Raw converter per la linearizzazione.

Per i motivi indicati nel primo commento di Alberto qui sotto, le due successive elaborazioni, cioè il bilanciamento del bianco e la demosaicizzazione, vengono spesso (ma non sempre) fatte dai Raw converter in questo ordine (prima il bilanciamento e poi la demosaicizzazione). Per meglio comprendere il funzionamento è però opportuno invertire questo ordine, e nella prossima pagina vediamo la demosaicizzazione e successivamente il bilanciamento del bianco.

Visitato 244 volte, negli ultimi 7 giorni 1 visite

Torna all'indice di Colore in fotografia digitale

Mauro Boscarol

23/8/2008 alle 19:29

Parole chiave , , , , , ,

Visitato 244 volte, negli ultimi 7 giorni 1 visite

10 commenti

Abbonati ai commenti a questo post con RSS

  1. Ciao Mauro,
    volevo solo evidenziare che molto probabilmente nel raw converter l’operazione di bilanciamento del bianco viene fatta prima della demosaicizzazione.
    Sia perchè è più favorevole il calcolo (si esegue un numero di operazioni pari al numero di pixel, e non il triplo), ma anche perchè l’algoritmo di demosaicizzazione può essere fortemente influenzato dal bilanciamento del bianco scelto.
    Certo hai fatto bene a spiegare il bilanciamento dopo la demosaicizzazione, perchè sarebbe arduo parlarne riferendosi ad un’immagine ancora mosaicizzata.

    Alberto Maccaferri

    AlbertoM

    21/9/08 alle 00:51

  2. oops.. mi sono accorto ora che nel riassunto finale hai considerato il bilanciamento del bianco prima della demosaicizzazione 🙂

    AlbertoM

    21/9/08 alle 01:53

  3. Grazie Alberto per la precisazione. Ho modificato un po’ il testo del post per rendere più chiara la successione delle operazioni.

    Mauro Boscarol

    21/9/08 alle 13:23

  4. Ho visto di recente l’opera che stai svolgendo in questo settore: grazie per “Wikicolore”, grazie per “colore digitale blog” e grazie in generale.

    Volevo dare il mio contributo alla questione del trattamento del rumore.
    Per quanto mi risulta, avendo analizzato l’hardware di alcune fotocamere su documentazione originale del costruttore ed essendo venuto in contatto con le procedure di servicing delle stesse (sulla manualistica originale), ho visto alcuni fatti che mi fanno propendere per analizzare separatamente il trattamento dei vari tipi di rumore che si generano nei sensori.
    Il rumore di “dark current” e il “shot noise”, sono registrati nel file raw e possono venire trattati esternamente dalla fotocamera da un raw converter, in quanto introducono variazioni di luminosità spurie in uscita dai photodetector che dipendono rispettivamente dalla temperatura e dal tipo di immagine catturata e dall’ottica, fattori non controllabili a priori.
    Per quanto riguarda il “read out noise” è vero che va a sommarsi al rumore precedente, ma ormai tutti i sensori di un certo livello (basati sia su CCD che su CMOS) affrontano questo tipo di rumore immediatamente fuori dagli shift register del sensore (nei CCD).
    Fra la matrice dei photosites e prima della conversione A/D, viene infatti collocato un dispositivo, il CDS (Correlated Data Sample), che svolge proprio la funzione di riduzione di questo rumore che si forma e tende ad aggiungersi, nella fase di lettura dei dati di tensione, al segnale prodotto dalla luce incidente.
    Per quanto riguarda la rimozione del “fixed pattern noise”, il frame da sottrarre all’immagine catturata è probabilmente contenuto nella fotocamera e la rimozione può venire applicata dopo la conversione A/D all’interno della fotocamera. Infatti ogni volta che si sostituisce il sensore in una fotocamera occorre aggiornare il software interno alla fotocamera con un file contenente i dati di caratterizzazione di quello specifico sensore (non il modello di sensore, proprio quello specifico sensore che è stato spedito dotato di una identificazione con un codice univoco).
    Questi ultimi due tipi di rumore – per le loro caratteristiche di generazione in lettura e di ripetitività – vengono prevalentemente trattati via hardware (il primo) o via software (il secondo), ma dentro la fotocamera e prima della formazione del file raw da registrare ed inviare all’esterno.
    Ad un qualunque raw converter che elabora quel file in un PC rimane quindi prevalentemente da ridurre il rumore residuo, quello non controllabile prima della formazione del file raw.
    Grazie dell’attenzione.
    Andrea Vaccari

    Andrea

    30/11/08 alle 22:37

  5. Sono informazioni molto interessanti, grazie per averle condivise con il blog.

    Adesso vedo di integrarle nel mio testo.

    Ciao e grazie ancora.

    Mauro Boscarol

    30/11/08 alle 23:48

  6. E’ possibile trovare qual’è l’intevallo dinamico delle reflex professionali? canon 1ds MKIII per esempio?

    Se, per esempio l’intervallo è (come ipotizzato nel Suo articolo) 8192 (12 stop) e il sensore lavora a 12 bit di profondità colore abbiamo a disposizione 4096 valori per descrivere gli 8192 livelli di quel sensore, quindi alcuni livelli verranno compressi (accorpati?). Se invece l’intervallo dinamico fosse 6 stop avremmo 4096 livelli e con il sensore a 12 bit pari possibilità di descrizione (di abbinamento) dei relativi livelli. E’ così?
    grazie
    sangiorgio

    sanluc

    20/3/09 alle 22:08

  7. L’intervallo dinamico in EV di circa 50 fotocamere reflex è stato misurato da DxO Labs e i risultati sono qui:

    http://www.dxomark.com/index.php/eng/DxOMark-Sensor

    (clic su Dynamic Range).

    La profondità in bit è un’altra cosa, è cioè il “campionamento” dell’intervallo dinamico.

    Mauro Boscarol

    20/3/09 alle 22:22

  8. La decomprssione e la linearizzazione sono la stessa cosa? nel sottotitolo si parla solo di decompressione mentre nell’elenco iniziale delle operazioni compaiono come fasi separate.

    nonchiedercilaparola

    5/6/11 alle 16:22

  9. Generalmente cose diverse. Se il file è compresso, va decompresso, e questa è una cosa. Se i dati non sono lineari (cioè non sono dati di luminanza), vanno resi lineari, e questa è un’altra cosa.

    Mauro Boscarol

    5/6/11 alle 17:58

  10. Quindi quando si scatta in raw e si processano questi scatti ci può essere un’eventuale decompressione. per quanto riguarda la fase di linearizzazione questa non avviene giusto?

    nonchiedercilaparola

    5/6/11 alle 19:22

Vuoi fare un commento a questo post?

Devi essere collegato per scrivere un commento.