Perché le telecamere non registrano i dati di luce nell'intero otturatore?


13

Scusa se il titolo della domanda è confuso, non conosco il modo migliore per esprimerlo, quindi sentiti libero di cambiarlo se riesci a pensare a qualcosa di meglio. Ho imparato che le persiane elettroniche possono catturare l'immagine in una volta sola invece di usare una tapparella meccanica che usa la tenda. Questo mi ha dato un'idea. Supponiamo che un determinato scatto venga correttamente esposto a 1 / 200s, ma la gamma dinamica dell'immagine è troppo ampia per essere catturata dalla fotocamera.

Perché una videocamera con otturatore elettronico non è in grado di catturare e registrare continuamente i dati di luce da un'immagine per tutta la durata dell'otturatore anziché semplicemente raccogliere i dati di luce e infine memorizzarli come un'unica immagine? Sarebbe come vedere una stanza partire dall'oscurità e aumentare gradualmente di luminosità. La fotocamera sarebbe quindi in grado di catturare l'intera gamma dinamica di un'immagine e compilare i dati in un'immagine con l'intera gamma dinamica in una sola foto invece di aver bisogno di esposizioni multiple per un HDR. Ciò consentirebbe anche la regolazione dell'esposizione nella post elaborazione senza alcuna perdita di informazioni poiché la fotocamera ha memorizzato i dati di luce da un'intera gamma di esposizioni. Perché questa idea non viene attualmente implementata?


3
Puoi spiegare più dettagliatamente in che modo la "cattura continua" differisce dalla "raccolta di dati chiari" in termini di salvataggio di un'immagine?
Zenit,

@ Alex.S adesso come funzionano le telecamere, la luce colpisce il sensore e raccoglie i dati della luce fino alla chiusura dell'otturatore, quindi i dati vengono registrati dopo la chiusura dell'otturatore e trasformati in un'immagine. Quello che sto suggerendo è, perché non registrare continuamente i dati della luce durante l'otturatore quando colpisce il sensore, quindi il confronto con il vedere una stanza buia essere gradualmente illuminata.
Ryan,

1
Come dovrebbero essere registrati i dati? Dove verrà memorizzato fino al salvataggio dell'immagine?
Zenit,

1
@ Alex.S sta diventando piuttosto tecnico e direi che non lo so esattamente, se sapessi che potrei non fare questa domanda. Ma potrebbe essere specifico quanto il numero di fotoni che colpiscono ciascun pixel sul sensore dopo ogni intervallo di tempo (diciamo 1 / 1000s). O ogni volta che un fotone colpisce un pixel sul sensore, dategli un timestamp. Qualcosa del genere
Ryan,

Risposte:


19

È stato fatto ai raggi X.

Il TimePix è un rivelatore 256x256. Ha tre modalità operative :

  • la solita "energia totale in questo pixel da quando abbiamo iniziato l'integrazione";
  • Time-over-Threshold (TOT): l'altezza dell'impulso rilevata viene registrata nel contatore di pixel in modalità TOT; e
  • Time-of-Arrival (TOA): la modalità TOA misura il tempo tra il trigger e l'arrivo della radiazione in ciascun pixel.

Questa tecnologia è stata adattata all'imaging ottico . La modalità TOT è meglio descritta come un ADC di Wilkinson: la lettura corrisponde al tempo totale in cui la carica accumulata è alla soglia o sopra. Sottraendo questo dal tempo di scatto si indica quanto tempo ci è voluto per saturare questo pixel. Pertanto, per ogni pixel, è possibile disegnare la linea da 0 a saturazione nel tempo dall'apertura dell'otturatore. Quindi puoi scegliere qualsiasi tempo di otturazione virtuale desiderato (purché tutti i pixel siano saturi) e utilizzare la linea di ciascun pixel per stimare la sua luce accumulata fino a quel tempo di otturatore virtuale.


Un'implementazione più diretta della vostra idea è stato fatto in CMOS. Ogni pixel registra e riporta il proprio tempo per raggiungere una carica di soglia. (Invece di ADC i pixel che non si saturano nel tempo, la soglia viene spazzata, quindi ogni pixel alla fine supera una soglia sufficientemente abbassata.)


Ricordo che anche il Pixim Digital Pixel System ( esempio ) lo ha fatto usando un ADC per pixel e leggendo non distruttivamente la carica accumulata ripetutamente (per ottenere la pendenza di accumulo). Ma non riesco a trovare prove corroboranti attuali.


L '"implementazione diretta" che colleghi ha una risoluzione incredibilmente bassa, che credo dimostra ampiamente il problema pratico. Dall'esempio nel documento, sembra essere anche meno di 256 × 256 in pratica.
Leggi il profilo

@mattdm: Beh, sì ... 13 anni fa. Non sostengo che questa tecnologia sia stata ulteriormente sviluppata. Ma 13 anni sono abbastanza lunghi che, se lo sviluppo continuasse, ora esisterebbe qualcosa di molto più elaborato.
Eric Towers,

18

Ti stai perdendo alcuni ovvi problemi con questa idea.

Volete "continuamente" acquisire i dati della luce, ma questo è già stato fatto.

Apparentemente intendi avere una serie di immagini disponibili dopo l'esposizione, ognuna esposta dall'inizio ai tempi che avanzano con l'intera esposizione. Le immagini successive avrebbero maggiori dettagli nelle aree in ombra, ma potrebbero avere aree luminose troncate. Il firmware della fotocamera potrebbe quindi assemblare una singola immagine con un intervallo dinamico più ampio rispetto a qualsiasi delle singole immagini.

I due problemi evidenti con questo sono:

  • come leggere tutti i milioni di pixel così velocemente e
  • dove mettere i risultati.

La tecnologia non è disponibile oggi per farlo.


3
Non è davvero necessario registrare una serie di immagini. Per ogni pixel, un sensore di immagine riporta un valore che rappresenta la luce totale accumulata in quel punto. Il suggerimento di OP sembra essere quello di registrare come quel valore cambia nel tempo. Un modo per farlo è attraverso il campionamento periodico, ovvero la registrazione di un numero di immagini, ma non è irragionevole pensare che ogni pixel possa essere abbastanza intelligente da riportare i parametri che descrivono la sua risposta. Ad esempio, se la risposta di un pixel è lineare (probabilmente non lo è) tutto ciò di cui hai bisogno sarebbe la pendenza della linea.
Caleb,

3
Il "campionamento in momenti diversi" non equivale alle esposizioni al bracketing? E il bracketing e l'elaborazione automatici dell'esposizione è esattamente ciò che è la fotografia HDR, giusto?
Todd Wilcox,

1
@Caleb se hai solo il pixel + la pendenza (presumibilmente anche alla stessa profondità di bit) è esattamente lo stesso di 2 immagini con una dissolvenza incrociata lineare. Se aggiungi N più termini polinomiali al tuo adattamento alla funzione, ciò equivale allo stesso modo di un adattamento polinomiale pixel-saggio su N immagini. Mentre ci sono schemi di campionamento alternativi, penso che scoprirai (grazie a Shannon e Nyquist) che il campionamento lineare è praticamente il meglio che puoi fare per catturare risposte limitate.
Steve Cox,

11

Suggerisci "O ogni volta che un fotone colpisce un pixel sul sensore, assegnagli un timestamp": questa sarebbe un'enorme quantità di dati. Una rapida ricerca suggerisce che ogni pixel - o sensel - in una fotocamera digitale si satura in qualche luogo tra 20.000 e 100.000 fotoni. Diciamo che siamo contenti di una fotocamera da 12 megapixel e siamo d'accordo con il lato inferiore della sensibilità qui. Sono ancora un quarto di trilioni di punti dati. Se stiamo parlando di una fotocamera da 50 megapixel con molta gamma dinamica, forse cinque trilioni . Anche se i nostri timestamp sono solo di due byte ciascuno (un byte fornisce solo 256 valori, quindi è improbabile che sia sufficiente per rendere tutto questo utile), sono ... molti dati per un'immagine. Voglio dire, letteralmente terabyte.

Questo non è attualmente possibile in termini di pipeline di dati con la tecnologia di oggi, per non parlare del metterlo da qualche parte .


2
Fattibile a livello di videocamera di consumo. Questo è esattamente il tipo di cose che LHC sta facendo su una scala ancora più grande e complessa.
PlasmaHH,

1
@PlasmaHH inoltre, LHC più grande in termini di dimensioni dei sensori, dimensioni fisiche della memoria e costi. Un sacco. Ma non importa quanto $, non potrebbero neanche farlo in una dimensione così compatta.
Mołot,

7

Quello che stai chiedendo, campionamento continuo della luce, potrebbe essere teoricamente possibile ma praticamente troppo costoso. Potrebbe essere possibile approssimarlo con una frequenza di campionamento molto alta. Questo potrebbe essere fatto con una videocamera ad alta velocità (slo-mo) con frame rate molto elevati. Quindi l'output potrebbe essere post-elaborato per creare un'immagine.

Una rapida ricerca mostra suff come questo Phantom

Queste cose funzionano grazie a sensori veloci e alla capacità di spostare e archiviare enormi quantità di dati. Il tentativo di campionamento continuo o una frequenza di campionamento abbastanza veloce da sembrare continuo, aumenta il problema e il costo.


4

L'otturatore elettronico è già un passo avanti. Ora siamo in grado di prendere tutti i pixel contemporaneamente, quindi dire loro di interrompere la raccolta (ovvero campionare ciascun pixel) e misurare le informazioni per ciascun colore di ciascun pixel in serie, catturando i dati su un'immagine che è stata scattata contemporaneamente.

Questo non era il caso.

Dobbiamo ancora fare alcuni hack per lo scenario HDR, tuttavia, tuttavia non è un male come in passato, sempre a causa dei progressi nella tecnologia dei sensori. Ora abbiamo una maggiore sensibilità del sensore e una gamma dinamica, quindi una foto che richiedeva uno scatto a due bracketing e una post-elaborazione può ora essere catturata nella fotocamera perché il sensore può misurare sia gli alti che i bassi di alcune immagini. In effetti, i sensori sono diventati così buoni che raramente ti imbatti in una situazione che richiede più di tre scatti tra parentesi per ottenere l'intera gamma dinamica. I sensori più vecchi potrebbero aver richiesto 5 o più scatti tra parentesi.

La tua idea, a quanto ho capito, richiede una misurazione continua su una base per pixel.

Sebbene questa sia un'ottima idea, l'implementazione rimane un problema. Le telecamere sono progettate per lo streaming seriale dei dati dal sensore. Non esiste una linea per ciascun pixel per il processore, ma il sensore di immagine ha una logica che consente al processore di leggere il valore di un pixel o di molti pixel contemporaneamente ma non tutti in una volta. Deve scorrere tutti i pixel e questo richiede tempo.

Non possiamo superare questo perché non saremo in grado di avere 50 milioni di cavi tra il sensore e il processore. Potremmo integrare una parte maggiore dell'elaborazione nel sensore, ma il sensore è specializzato per fare una cosa e farlo bene. L'aggiunta di circuiti digitali comporterebbe più rumore e probabilmente pixel più piccoli anche se venissero utilizzati circuiti integrati 3D. Inoltre, i processi utilizzati per creare un buon silicio sensibile alla luce sono diversi da quelli utilizzati per creare un silicio digitale buono, a bassa potenza e ad elaborazione rapida.

Tutte queste cose sono impedimenti, tuttavia per alcune applicazioni specializzate sono già in uso. Di solito nell'area scientifica e industriale.

Ma ciò non significa che veniamo esclusi dal freddo. Man mano che i sensori migliorano, in particolare nella gamma dinamica, scoprirai che alla fine otterrai "HDR" nella fotocamera senza staffe: i sensori saranno semplicemente abbastanza sensibili da ottenere l'intera gamma e gli obiettivi e il corpo della fotocamera saranno buoni abbastanza per prevenire emorragie, riflessioni e altri problemi che impediscono al sensore di raggiungere la sua piena capacità.

Quindi, sebbene l'idea non sia negativa, è complessa, costosa e abbiamo ancora spazio per crescere in altre aree migliorabili in modo che il tuo metodo potrebbe non essere nemmeno necessario.


2

La vera risposta è il prezzo. Se sei disposto a pagare 10-100 volte di più per la tua fotocamera, puoi ottenere dei sensori davvero fantasiosi.

Il risultato desiderato che descrivi è un intervallo dinamico più elevato per ciascun pixel. Ci sono alcuni modi per farlo. Il modo più ovvio è ottenere un sensore ADC e CMOS migliore, ma questo costa denaro e non è nella vena di quello che stai pensando. Il prossimo approccio sarebbe quello di risucchiare la carica in un processo continuo , in analogico. Ciò ti consentirebbe di ottenere una funzione continua che descrive il numero di fotoni che colpiscono il pixel. Tuttavia, questo tipo di hardware analogico è tremendamente difficile. Nella tua fotocamera, tutti i dati pixel sono copiati attraverso un numero piuttosto piccolo di ADC. Parte della bellezza dei nostri sensori è il modo in cui possono farlo, producendo hardware più economico di fattori di centinaia. Per farlo continuamente richiederebbe che ogni pixel abbia una quantità straordinaria di hardware analogico ottimizzato.

Il che ci porta all'approccio del campionamento digitale. Hai menzionato l'idea di acquisire dati ogni 1/1000 di secondo, il che mi suggerisce che in realtà non stavi pensando a un processo continuo , tanto quanto a un processo di campionamento in cui ottieni molti punti dati per intervalli di tempo sottili e li punti insieme. Come menzionato in altre risposte, HDR + su alcuni telefoni fa esattamente questo. Scatta diverse foto in rapida successione e le fonde per ottenere l'effetto HDR. Per fare ciò, hanno ovviamente una larghezza di banda ADC molto più alta di quella di cui avresti bisogno per una singola immagine, ma non avrebbero bisogno di quanto sarebbe necessario per trattare ogni pixel in modo continuo.

Dal suo suono, vorresti che ogni pixel eseguisse il campionamento da solo. Per fare ciò, dovremmo prima fare un tentativo nella progettazione di circuiti integrati 3d. Non si desidera che l'hardware di ciascun pixel occupi spazio sulla superficie del sensore, oppure si avranno problemi con la presenza di troppi pixel o la perdita di un fascio di luce quando cade su parti non sensoriali dell'IC. L'unico modo per farlo è costruire un chip 3d. Queste sono davvero una tecnologia futura. Stiamo iniziando a esplorare come farlo, ma non è facile. Se hai centinaia di migliaia di dollari da risparmiare per la tua fotocamera, possiamo realizzare questo tipo di cose.

Alla fine, sembra che desideri che l'output di ciascun pixel sia un "numero in virgola mobile" anziché un "numero intero". Ciò significa che ogni pixel avrebbe un valore per il numero di fotoni colpiti e un esponente che sostanzialmente dice quanto moltiplicare quel valore per ottenere il numero effettivo di fotoni. Man mano che il pixel viene esposto, campionerebbe a una velocità molto elevata (forse 5000Hz) e se il conteggio dei fotoni diventa troppo grande, prende un esponente più grande.

Ora la vera domanda è: quanti benefici ottieni da questo? Ricorda, l'approccio HDR + è la tecnologia attuale, per telefoni cellulari in centinaia di dollari. Stai parlando di utilizzare una tecnologia all'avanguardia con tolleranze molto più esigenti rispetto a qualsiasi altra fotocamera. Ciò avrà un costo. Cosa ti ha comprato? Cosa ti hanno effettivamente comprato quei dispositivi a singolo pixel durante l'otturatore che la tecnologia CMOS economica che Google sta spingendo non ha fatto? La risposta non è molto Potrebbero esserci alcuni piccoli casi angolari in cui questo è un approccio preferito, ma con un prezzo sostanzialmente superiore alla tecnologia esistente, è un non-avviatore commerciale.


0

Si sta implementando qualcosa di molto simile. Funziona ancora con frame distinti, perché ci sono vantaggi significativi di un approccio digitale piuttosto che analogico. Ma gli approcci esistono con una risoluzione temporale nei secondi pico.

https://www.ted.com/talks/ramesh_raskar_a_camera_that_takes_one_trillion_frames_per_second


1
Anche se questa è stata certamente una demo e un concetto interessanti, in realtà non si associa alla fotografia di cui stiamo parlando. Dal discorso TED, se scatti una foto a breve esposizione, ottieni poca luce. Ma andremo un miliardo di volte più velocemente della tua esposizione più breve, quindi non otterrai quasi nessuna luce. Quindi quello che facciamo è inviare quel pacchetto di fotoni milioni di volte, e registrare ancora e ancora con una sincronizzazione molto intelligente, e dai gigabyte di dati, ci intrecciamo computazionalmente per creare quei femto-video che ti ho mostrato.
scottbb,

1
Pertanto, la tecnica introdotta dal team di Raskar è molto più nel campo della fotografia / videografia computazionale e statistica e certamente non viene applicata da alcuna applicazione commerciale.
scottbb,

@scottbb Considerando che OP richiede una telecamera che "... ogni volta che un fotone colpisce un pixel sul sensore, gli dà un timestamp". Sento che l'approccio di Raskar corrisponde abbastanza da vicino alla sua idea.
Taemyr,

Non proprio. L'approccio di Raskar non può "catturare un momento". Cattura ripetutamente fotoni nello stesso spazio, più e più volte più volte, per costruire una conoscenza statistica della posizione dei fotoni. Questo approccio richiede un sacco di tempo e, cosa ancora più importante, richiede la conoscenza che i fotoni saranno già in un determinato posto. Richiede ripetibilità e prevedibilità.
scottbb,

0

Perché una videocamera con otturatore elettronico non è in grado di catturare e registrare continuamente i dati di luce da un'immagine per tutta la durata dell'otturatore anziché semplicemente raccogliere i dati di luce e infine memorizzarli come un'unica immagine?

Quello che penso che tu stia davvero proponendo qui è descrivere un'immagine non in termini di "quanta luce è stata raccolta durante l'intera esposizione?" ma piuttosto "quanto era luminosa la scena in ogni punto?" È un'ottima idea, e posso pensare a diversi modi per farlo, ma la cosa che tutti hanno in comune è che aggiungono complessità al sensore.

I produttori di fotocamere hanno lavorato a lungo per fornire più pixel e immagino che mantenere semplice la struttura di ogni singolo pixel aiuti in questo sforzo. Ora che le reflex digitali hanno generalmente sensori con tra 20 e 50 milioni di pixel, forse li vedremo funzionare invece per costruire pixel migliori . Lo stiamo già vedendo in qualche modo: l'autofocus a doppio pixel ne è un esempio. E ci sono certamente aziende che lavorano alla costruzione di sensori che offrono una gamma più dinamica , meno rumore, ecc.

In breve, penso sia probabile che vedremo qualcosa sulla falsariga di ciò che hai proposto in futuro, anche se non funziona in questo modo, e il motivo per cui non ci siamo già è probabilmente solo quello altri obiettivi come l'aumento della densità dei pixel erano priorità più elevate in passato.


0

Può essere fatto in un modo un po 'diverso. Invece di una foto, scatti un numero di fotogrammi con tempi di esposizione diversi. Quindi impilare le immagini per ottenere una sorta di media a seconda dell'algoritmo che si sta utilizzando per l'impilamento.

Ad esempio, con la recente eclissi solare totale, la quantità di corona visibile ad occhio nudo era molto più grande di quella mostrata da un tempo di esposizione della fotocamera. Questo perché l'occhio ha una gamma dinamica logaritmica mentre l'occhio ha una gamma dinamica lineare. Quindi, con l'accumulo di vari tempi di esposizione è possibile approssimare molto meglio in un'immagine ciò che gli osservatori hanno visto ad occhio.


0

Le modalità Olympus Live Bulb e Live Time vanno nella direzione che stai descrivendo.

inserisci qui la descrizione dell'immagine

Dal manuale OM-D E-M5 :

Per visualizzare l'avanzamento dell'esposizione durante lo scatto, scegliere un intervallo di visualizzazione per [LAMPADINA live] (P. 89) o [ORA live] (P. 89).

Ecco un video di . Nota che alla fine ottieni solo un'esposizione, anche se ne vedi più di una durante il processo. I pixel del sensore si preoccupano solo della quantità totale di fotoni che hanno ricevuto durante l'esposizione, non sanno quando o in quale ordine quei fotoni sono atterrati sul sensore.


-1

Hai l'idea giusta. La Sony sta essenzialmente facendo qualcosa in tal senso nell'RX100M5 e in altre fotocamere che presentano una caratteristica che chiamano D-Range Optimizer - analizzando la scena e regolando e compensando le aree problematiche.

La funzione D-Range Optimizer analizza istantaneamente i dati di immagine acquisiti e corregge automaticamente l'esposizione ottimale e la riproduzione dei toni. Spesso quando si riprendono scene in controluce, il volto del soggetto o altre aree in ombra appaiono più scure nella fotografia di quanto non appaiano all'occhio umano. La funzione D-Range Optimizer discrimina tra diverse condizioni per le scene fotografate corregge automaticamente la curva gamma, il livello di esposizione e altri parametri per rimuovere porzioni più scure di quanto sembrerebbero all'occhio umano.

La funzione di ottimizzazione della gamma D contiene anche la modalità Standard, che regola uniformemente l'intera immagine (efficace per correggere aspetti come l'esposizione) e la modalità Avanzata, che corregge automaticamente le aree all'interno della composizione. Utilizzando la modalità Avanzata, il fotografo può produrre un'immagine chiara in cui sia il soggetto che lo sfondo sono raffigurati con la luminosità appropriata, anche quando c'è una grande differenza nella luminosità dei due.

fonte: https://sony-paa-pa-en-web--paa.custhelp.com/app/answers/detail/a_id/26259/~/what-is-the-function-of-d-range-optimizer % 3F


3
Ma ... questa è semplicemente una vecchia post-elaborazione della cattura, per nulla correlata al metodo di cattura descritto.
Junkyardsparkle,

3
DRO è un metodo di post-elaborazione.
Zenit,
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.