I file RAW memorizzano 3 colori per pixel o solo uno?


16

Ken Rockwell afferma che i produttori di fotocamere considerano i singoli sensori R / G / B quando parlano di megapixel. Quindi l'immagine qui sotto sarebbe una fotocamera 6x6 pixel, non 3x3 come si immagina.

inserisci qui la descrizione dell'immagine

Se questo è vero, un file RAW conterrebbe solo una informazione di colore per pixel (sia esso R, G o B) come un numero di 10, 12 o 14 bit.

La mia confusione arriva mentre leggo in alcuni posti cose come:

  • I file RAW memorizzano una media dei due sensori verdi per pixel.
  • I file RAW usano 12 bit per pixel, ma ci sono 3 colori, quindi sono 36 bit per pixel.

Il che sarebbe ovviamente falso, se l'affermazione di Ken è corretta.

Quindi qual è la verità?

Risposte:


16

I file raw non memorizzano realmente alcun colore per pixel. Memorizzano solo un singolo valore di luminosità per pixel.

È vero che con una maschera Bayer su ogni pixel la luce viene filtrata con un filtro rosso, verde o blu¹ su ogni pozzetto di pixel. Ma non c'è un taglio netto in cui solo la luce verde passa a un pixel filtrato verde o solo la luce rossa arriva a un pixel filtrato rosso. C'è molta sovrapposizione. Molta luce rossa e un po 'di luce blu attraversano il filtro verde. Molta luce verde e persino un po 'di luce blu attraversano il filtro rosso e una certa luce rossa e verde viene registrata dai pixel che vengono filtrati con il blu.

risposta cromatica

Poiché un file non elaborato è un insieme di singoli valori di luminanza per ciascun pixel sul sensore, non vi sono informazioni sul colore per pixel effettive in un file non elaborato. Il colore viene derivato confrontando i pixel adiacenti che vengono filtrati per uno dei tre colori con una maschera Bayer. Ma proprio come mettere un filtro rosso davanti all'obiettivo quando si riprendono pellicole in bianco e nero non ha portato a una foto monocromatica rossa (o una foto in bianco e nero dove sologli oggetti rossi hanno una certa luminosità), la maschera Bayer di fronte ai pixel monocromatici non crea nemmeno colore. Ciò che fa è cambiare il valore tonale (quanto è luminoso o quanto scuro viene registrato il valore di luminanza di un particolare colore) di vari colori in quantità diverse. Quando vengono confrontati i valori tonali (intensità del grigio) dei pixel adiacenti filtrati con i tre diversi colori utilizzati nella maschera Bayer, i colori possono essere interpolati da tali informazioni. Questo è il processo che chiamiamo demosaicing .

Viene fatta molta matematica per assegnare un valore R, G e B per ciascun pixel. Esistono molti modelli diversi per eseguire questa interpolazione. Quanta distorsione viene data a rosso, verde e blu nel processo di demosaicing è ciò che determina il bilanciamento del bianco / colore . La correzione gamma e qualsiasi ulteriore modellatura delle curve di risposta alla luce è ciò che imposta il contrasto . Ma alla fine un valore R, G e B viene assegnato a ogni pixel. Nell'esempio di 6x6 pixel nella domanda, il risultato della demosaicing sarebbe un'immagine di 36 pixel con 36 pixel, ciascuno con un valore Rosso, Verde e Blu.

Un po 'di risoluzione si perde nella traduzione. Si scopre che in termini di numero di righe bianche e nere alternate per pollice o mm che possono essere risolte da un sensore con una maschera Bayer RGGB e una demosaizzazione ben eseguita, il limite di risoluzione assoluta di un sensore Bayer è di circa 1 / √2 rispetto a un sensore monocromatico che non ha maschera Bayer e quindi non necessita di demosaicing (ma può essere visto solo in bianco e nero).

Anche quando la fotocamera è impostata per salvare i file non elaborati , l'immagine visualizzata sul retro dello schermo LCD della fotocamera non appena vengono scattate le foto non sono i dati non elaborati non elaborati. Si tratta di un'immagine di anteprima generata dalla fotocamera applicando le impostazioni della fotocamera ai dati non elaborati che danno come risultato l'immagine di anteprima jpeg visualizzata sul display LCD. Questa immagine di anteprima viene aggiunta al file non elaborato insieme ai dati del sensore e alle informazioni EXIF ​​che contengono le impostazioni della fotocamera al momento dello scatto della foto.

Le impostazioni di sviluppo della fotocamera per cose come il bilanciamento del bianco, il contrasto, l'ombra, le luci, ecc. Non influiscono sui dati effettivi del sensore registrati in un file non elaborato. Piuttosto, tutte queste impostazioni sono elencate in un'altra parte del file raw.

Quando apri un file "raw" sul tuo computer, vedi una delle due cose diverse:

  • L'immagine jpeg di anteprima creata dalla fotocamera nel momento in cui è stata scattata la foto. La fotocamera ha utilizzato le impostazioni in effetti quando è stata scattata la foto e aggiunta ai dati grezzi nel file .cr2. Se stai guardando l'immagine sul retro della fotocamera, è l'anteprima jpeg che stai vedendo.

  • Una conversione dei dati non elaborati da parte dell'applicazione utilizzata per aprire il file "non elaborato". Quando apri un file "raw" a 12 o 14 bit nella tua applicazione fotografica sul computer, quello che vedi sullo schermo è un rendering a 8 bit del file raw demosaurato che assomiglia molto a un jpeg, non al vero file monocromatico a 14 bit con filtro Bayer. Man mano che si modificano le impostazioni e i dispositivi di scorrimento, i dati "grezzi" vengono rimappati e resi nuovamente in 8 bit per canale di colore.

Quello che vedrai dipenderà dalle impostazioni che hai selezionato per l'applicazione con cui apri il file raw.

Se stai salvando le tue foto in formato non elaborato quando le prendi, quando esegui l'elaborazione successiva avrai le stesse informazioni esatte per lavorare indipendentemente dalle impostazioni di sviluppo selezionate nella fotocamera al momento dello scatto. Alcune applicazioni potrebbero inizialmente aprire il file utilizzando l'anteprima jpeg o applicando le impostazioni incorporate nel momento in cui l'immagine è stata scattata ai dati grezzi, ma sei libero di modificare tali impostazioni, senza alcuna perdita distruttiva di dati, in qualsiasi altra cosa vuoi in posta.

Digital Photo Professional di Canon aprirà un file raw .cr2 nello stesso stile di immagine selezionato nella fotocamera durante lo scatto. Tutto ciò che devi fare per modificarlo è utilizzare il menu a discesa e selezionare un altro Stile immagine . È anche possibile creare una "ricetta" per un'immagine e quindi applicarla in batch a tutte le immagini prima di iniziare a lavorare con esse. Il software di elaborazione raw di altri produttori è simile e di solito esiste un'opzione per fare in modo che l'applicazione apra un'immagine con le impostazioni di sviluppo della fotocamera applicate.

Con applicazioni di elaborazione raw di terze parti come Adobe Lightroom o Camera Raw , Aperture o Foto di Apple , Capture One Pro di PhaseOne , OpticsPro di DxO Lab , ecc., Ottenere immagini da visualizzare in base alle impostazioni della fotocamera può essere un po 'più complicato. I prodotti Adobe, ad esempio, ignorano la maggior parte della sezione delle note del produttore dei dati EXIF ​​di un file non elaborato in cui molti produttori includono almeno alcune delle informazioni sulle impostazioni della fotocamera.

¹ I colori effettivi della maschera Bayer di fronte ai sensori della maggior parte delle fotocamere digitali a colori sono: Blu - una versione leggermente viola del blu centrata a 450 nanometri, Verde - una versione leggermente bluastra del verde centrata su circa 540 nanometri e Rosso - una versione leggermente arancione di giallo. Ciò che chiamiamo "rosso" è il colore che percepiamo per la luce a circa 640 nanometri in lunghezza d'onda. I filtri "rossi" sulla maggior parte degli array Bayer consentono alla maggior quantità di luce di raggiungere tra 590 e 600 nanometri. La sovrapposizione tra i coni "verde" e "rosso" nella retina umana è ancora più vicina di così, con "rosso" centrato a circa 565 nanometri, che è ciò che percepiamo come giallo-verde.


1
Questo è fondamentalmente errato. Dici (o almeno implica molto fortemente) che questo funziona perché le informazioni sul colore fuoriescono dai vicini. Non è necessario Raw funzionerebbe bene se i filtri fossero assolutamente perfetti. Diversi algoritmi di demosaicing "implicano molta matematica", ma il più semplice è solo la media dei pixel vicini e questo funziona sorprendentemente bene. Immagino che sia stato fatto diversi milioni di volte in un'immagine multi-megapixel che è tecnicamente "molto" matematica, ma non è una matematica complicata, è roba di terzo livello.
Leggi il profilo

2
Bayer funziona perché è generalmente una buona ipotesi che il pixel ad esempio in una posizione con filtro blu abbia la stessa quantità di verde dei pixel verdi accanto (e lo stesso per il rosso). Quando questa ipotesi è disattivata, ottieni artefatti, ed è quello che gli algoritmi più complicati tentano di risolvere. Non funzionano assumendo una conoscenza speciale della risposta in frequenza dei filtri.
Leggi il profilo

1
Potrei aver frainteso quello che hai detto da allora, dato che lo fai spesso. :) Soprattutto da quando hai aperto la risposta, potresti forse modificarlo per spiegare in modo da renderlo più chiaro? In particolare, vuoi dire che i filtri sovrapposti significano che il risultato è fondamentalmente impreciso, non importa quale elaborazione venga eseguita e viviamo solo con quello, o che può essere reso accurato da qualche trasformazione in demosiacing o che può essere reso più accurato da un altro passaggio richiesto per il rendering dei file RAW (ma che non fa parte del demosiacing)?
Leggi il profilo

1
Intendo solo che troppe persone descrivono la maschera di Bayer in modo errato, consentendo solo la luce verde attraverso il filtro verde, consentendo solo la luce rossa attraverso il filtro rosso e consentendo solo la luce blu attraverso il filtro blu. Non è più il caso di dire che l'uso di un filtro verde con pellicola in bianco e nero consentirebbe solo di catturare la luce verde nella scena. L'uso di un filtro verde significa solo che la luce verde è permessa ad una velocità di trasmissione superiore rispetto alla luce rossa o blu, ma alcune di tutte e tre le attraversano. È solo confrontando le differenze tra la luce ...
Michael C,

1
La media di @mattdm dei pixel vicini produce una foto molto sfocata e sul mercato non esiste una fotocamera che lo faccia in questo modo. Gli algoritmi di demosaicing sfruttano la correlazione tra i pixel RGB per migliorare notevolmente la risoluzione, a scapito del manufatto occasionale. E c'è sicuramente molta matematica in gioco.
Mark Ransom,

2

È tutto vero, ma l'interpretazione può essere allungata.

Quel modello di colore grezzo specifico è chiamato modello Bayer.

Sì, raw è un colore per pixel e quel pixel è (in genere) 12 bit. Quindi ci sono tre colori di pixel grezzi, alcuni sono blu, alcuni sono rossi e 2x quei conteggi sono verdi.

Successivamente, il software di elaborazione raw (per rendere RGB JPG, potrebbe essere immediatamente nella fotocamera o potrebbe essere esterno molto più tardi) converte i dati grezzi in un'immagine RGB in modo che possiamo usarli. Questa è interpolazione, i pixel adiacenti degli altri due colori sono combinati in ciascuno di questi pixel RGB, ma tutti diventano pixel RGB. A quel punto, sono pixel RGB a 36 bit, tuttavia la risoluzione spaziale è leggermente compromessa, con i vari dati pixel condivisi con i vicini. Potremmo finire con (ad esempio) 6000 pixel RGB di larghezza del sensore, ma proveniva da 2000 sensori blu e 2000 rossi, ecc. (E anche i dati sono condivisi verticalmente, provengono da più di tre pixel). Questo si chiama demosaicing ... che può essere trovato online.


In genere l'IMHO ha 14 bit. Solo le vecchie fotocamere (ad esempio Canon S120) memorizzano 12 bit per pixel
Romeo Ninov l'

@RomeoNinov, non è così semplice come vecchio vs nuovo. Ad esempio, alcuni Nikon consentono di scegliere 12 bit o 14 bit, in modo da poter fare un compromesso tra profondità dell'immagine e velocità di scatto continuo e dimensioni dell'immagine.
Peter Taylor,

@PeterTaylor, non lo so mai, sono uno sparatutto Canon. Ma per me dovrebbe essere un'eccezione, non una regola (12 bit). E per quanto ricordo alcune fotocamere memorizzano in 16 bit per pixel
Romeo Ninov,

Sarebbe un argomento molto più forte se fornissi prove della maggior parte delle fotocamere Canon a 14 bit. Ecco la Canon che dice diversamente: cpn.canon-europe.com/content/education/infobank/… "La maggior parte delle fotocamere digitali EOS acquisisce le immagini in modalità 12 bit"
WayneF,

@WayneF Basato sulla fotocamera indicata come la migliore di Canon all'epoca (1D Mark II), quell'articolo è stato scritto tra aprile 2004 (quando la 1D II ha sostituito la 1D) e giugno 2005 (quando la 1D Mark IIN ha sostituito la 1D II) .
Michael C,

2

Ken ha ragione nell'affermazione che citi - una specie di. È corretto che oggi le fotocamere digitali (ad eccezione di quelle con i sensori Foveon di Sigma) funzionino utilizzando una matrice Bayer e la risoluzione del sensore sia indicata come dimensione della matrice. L'immagine di esempio rappresenta un sensore "36 pixel". Tuttavia, è importante riconoscere che le telecamere lo trasformano in un'immagine a colori della dimensione specificata per intero in pixel effettivi e che ciò non è così grave come Ken lo fa apparire .

Diverse cose che dice in quell'articolo sono decisamente sbagliate, a cominciare da:

A partire dal 2006 questi algoritmi intelligenti consentono di iniziare con un terzo dei dati e di renderli buoni quanto avere la metà del numero di pixel dichiarati.

Questa è stata una sciocchezza nel 2006 e oggi è una sciocchezza. Il processo funziona su alcuni semplici presupposti. Più di questi sono presentati qui , ma quello di base è che puoi prevedere quali informazioni "mancanti" dovrebbero guardare ai pixel vicini di colore diverso. Questo risulta essere un buon presupposto per la maggior parte del tempo, e altre volte molto sbagliato. Nei casi in cui non c'è molta transizione molto dettagliata tra i colori, il risultato è buono come se ogni sensel registrasse a colori. Nei casi in cui il presupposto è sbagliato, è molto peggio. Nel mondo reale, il primo è in realtà molto comune e funziona molto meglio della "metà" - ma la cosa importante è che dipende dal contesto.

RAW non offre alcun vantaggio qui, tranne che per una potenziale scommessa. L'interpolazione Bayer avviene nel software aprendo i dati grezzi. I futuri progressi negli algoritmi di interpolazione Bayer potrebbero essere incorporati nel futuro software grezzo, se e solo se il produttore di fotocamere continua a supportare le fotocamere di ieri nel software di domani. Altrettanto probabilmente, il produttore della tua fotocamera potrebbe non supportare più la tua vecchia fotocamera nel software grezzo di domani!

Ha ragione nel dire che le riprese di RAW non cambiano i fondamenti, ma l'idea che i vecchi file smetteranno di funzionare è fondamentalmente senza senso . Poiché le vecchie fotocamere utilizzano lo stesso principio di base e formati di file sostanzialmente simili, non costa molto portare a lungo il supporto per i vecchi modelli a tempo indeterminato e i fornitori hanno molti incentivi per farlo - e anche se ciò accadesse, ci sono grandi decodificatori open source.

E, naturalmente, mantenere i file RAW offre altri vantaggi non legati alla demosaicing.

Ma è anche sciocco dire che la possibilità di futuri miglioramenti è l' unico vantaggio. Come ho detto, ci sono diverse ipotesi che possono essere fatte sul contenuto della tua immagine e diversi algoritmi (o modifiche a tali algoritmi) si adatteranno meglio alle diverse situazioni del mondo reale, quindi se ti trovi in ​​una situazione in cui ti stai procurando moiré o altri artefatti, potresti essere in grado di affrontarlo. (Anche se, dovrei aggiungere che questo è ad un livello molto esigente - c'è molto raramente una situazione in cui vale la pena sbirciare da vicino.)

C'è anche un fattore per cui Ken può essere scusato perché l'articolo ha dieci anni. Nel 2006, la maggior parte delle fotocamere erano nella gamma da 5-8 megapixel, con modelli DSLR di fascia alta che si estendevano a 12. Ora, le tipiche fotocamere DSLR di fascia medio-bassa e le fotocamere mirrorless offrono 16 e 24 megapixel, e sale da lì. A questo punto, cavillare sui dettagli di colore a livello di pixel fa capolino è davvero accademico, perché nel mondo reale è molto raro che l'illuminazione, le lenti, la stabilità e tutto il resto si allineino così bene che questo è il fattore limitante.

In generale, molti siti di Ken Rockwell sono così. (Vedi questa risposta per ulteriori informazioni .) È un peccato, dato che in realtà ha molte cose interessanti da dire e alcuni buoni consigli, ma ci sono anche molte sciocchezze, e piuttosto che ammetterlo o migliorarlo, tende a raddoppiare giù, e poi afferma che l'intero sito è satira.

Oh, e un fatto divertente: gli schermi LCD posteriori della fotocamera e gli EVF usano anche tre sub-pixel colorati per rappresentare un pixel digitale, e questi schermi sono generalmente commercializzati con il conteggio dei sub-pixel - in effetti 3 volte quello che ti aspetteresti dal modo in cui viene data la risoluzione dello schermo del computer.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.