Dlaczego kamery nie rejestrują danych świetlnych przez całą migawkę?

13

Przepraszam, jeśli tytuł pytania jest mylący, nie znam najlepszego sposobu na sformułowanie tego, więc możesz go zmienić, jeśli możesz wymyślić coś lepszego. Nauczyłem się, że elektroniczne migawki mogą uchwycić obraz naraz zamiast korzystać z mechanicznej migawki, która korzysta z kurtyny. To dało mi pomysł. Załóżmy, że dane zdjęcie zostanie odpowiednio naświetlone w 1 / 200s, ale zakres dynamiczny obrazu jest zdecydowanie zbyt szeroki, aby mógł go uchwycić aparat.

Dlaczego nie można aparatu z elektroniczną migawką w sposób ciągły rejestrować i rejestrować dane świetlne z obrazu przez cały czas otwarcia migawki zamiast tylko gromadzić dane świetlne i ostatecznie przechowywać je jako jedno zdjęcie? To tak, jakby pokój zaczynał się od ciemności i stopniowo zwiększał jasność. Aparat byłby wówczas w stanie uchwycić cały zakres dynamiczny obrazu i skompilować dane w obraz z całym zakresem dynamicznym na jednym zdjęciu zamiast konieczności wielokrotnej ekspozycji dla HDR. Pozwoliłoby to także na regulację ekspozycji na stanowiskach obróbki bez jakiejkolwiek utraty danych, ponieważ aparat przechowywane dane światło z całej gamy ekspozycji. Dlaczego ten pomysł nie jest obecnie wdrażany?

Ryan
źródło
3
Czy możesz wyjaśnić bardziej szczegółowo, w jaki sposób „ciągłe przechwytywanie” różni się od „zbierania danych świetlnych” pod względem zapisywania zdjęcia?
Zenit
@ Alex.S, w jaki sposób działają teraz kamery, światło uderza w czujnik i gromadzi dane świetlne aż do zamknięcia migawki, a następnie dane są rejestrowane po zamknięciu migawki i zamieniane w obraz. Sugeruję, żeby nie rejestrować danych światła w sposób ciągły podczas migawki, gdy uderza ona w czujnik, stąd porównanie do stopniowego oświetlania ciemnego pokoju.
Ryan
1
Jak należy rejestrować dane? Gdzie będzie przechowywany do momentu zapisania zdjęcia?
Zenit
1
@ Alex.S robi się dość techniczny i powiedziałbym, że nie wiem dokładnie, gdybym wiedział, że nie zadałbym tego pytania. Ale może być tak szczegółowe, jak to, ile fotonów uderza w każdy piksel czujnika po każdym przedziale czasu (powiedzmy 1 / 1000s). Lub za każdym razem, gdy foton uderza w piksel czujnika, nadaj mu znacznik czasu. Coś w tym rodzaju
Ryan

Odpowiedzi:

19

Dokonano tego za pomocą promieni rentgenowskich.

TimePix to 256x256 detektor. Ma trzy tryby pracy :

  • zwykła „całkowita energia w tym pikselu, odkąd zaczęliśmy integrować”;
  • Time-over-Threshold (TOT): wykryta wysokość impulsu jest rejestrowana w liczniku pikseli w trybie TOT; i
  • Czas przybycia (TOA): tryb TOA mierzy czas między wyzwoleniem a przybyciem promieniowania do każdego piksela.

Ta technologia została dostosowana do obrazowania optycznego . Tryb TOT najlepiej opisać jako działanie ADC Wilkinsona - odczyt odpowiada całkowitemu czasowi, w którym zakumulowany ładunek jest na poziomie progowym lub powyżej niego. Odjęcie tego od czasu migawki informuje, ile czasu zajęło nasycenie tego piksela. Dlatego dla każdego piksela możesz narysować linię od 0 do nasycenia w czasie od otwarcia migawki. Możesz więc wybrać dowolny czas wirtualnej migawki, jaki chcesz (pod warunkiem, że wszystkie piksele są nasycone) i użyć linii każdego piksela do oszacowania skumulowanego światła do tego czasu wirtualnej migawki.


Bardziej bezpośrednią realizację swojego pomysłu zostało zrobione w CMOS. Każdy piksel rejestruje i zgłasza swój czas do osiągnięcia ładunku progowego. (Zamiast ADC pikseli, które nie nasycają się w czasie, próg jest zamiatany, więc każdy piksel ostatecznie przekracza odpowiednio obniżony próg).


Pamiętam, że Pixim Digital Pixel System ( przykład ) również to zrobił, używając ADC na piksel i nieniszcząco odczytując wielokrotnie nagromadzony ładunek (aby uzyskać nachylenie akumulacji). Ale nie mogę znaleźć aktualnych dowodów potwierdzających.

Eric Towers
źródło
„Bezpośrednia implementacja”, którą łączysz, ma niewiarygodnie niską rozdzielczość, co moim zdaniem doskonale pokazuje praktyczny problem. Z przykładu w pracy wydaje się, że w praktyce jest on mniejszy niż 256 × 256.
Proszę przeczytać mój profil
@mattdm: Cóż, tak ... 13 lat temu. Nie twierdzę, że ta technologia została dalej rozwinięta. Ale 13 lat to wystarczająco długo, aby przy dalszym rozwoju istniałoby coś znacznie bardziej wyszukanego.
Eric Towers
18

Brakuje oczywistych problemów z tym pomysłem.

Chcesz „stale” przechwytywać dane świetlne, ale to już jest zrobione.

Najwyraźniej masz na myśli dostęp do serii zdjęć dostępnych po ekspozycji, z których każda jest eksponowana od początku do czasów postępujących wraz z całą ekspozycją. Późniejsze obrazy miałyby więcej szczegółów w obszarach cienia, ale mogą mieć przycięte jasne obszary. Oprogramowanie aparatu może następnie złożyć pojedynczy obraz o większym zakresie dynamicznym niż jakikolwiek pojedynczy obraz.

Dwa rażące problemy z tym to:

  • jak odczytać wszystkie miliony pikseli tak szybko i
  • gdzie umieścić wyniki.

Technologia nie jest obecnie dostępna, aby to zrobić.

Olin Lathrop
źródło
3
Naprawdę nie jest konieczne rejestrowanie serii obrazów. Dla każdego piksela czujnik obrazu zgłasza wartość reprezentującą całkowitą ilość światła zgromadzonego w tym miejscu. Wydaje się, że sugestią OP jest zapisanie, jak ta wartość zmienia się w czasie. Jednym ze sposobów na to jest okresowe próbkowanie, tj. Rejestrowanie pewnej liczby obrazów, ale nie jest nierozsądne sądzić, że każdy piksel może być wystarczająco inteligentny, aby zgłosić parametry opisujące jego odpowiedź. Na przykład, jeśli odpowiedź piksela jest liniowa (prawdopodobnie nie jest), wystarczyłoby nachylenie linii.
Caleb
3
Czy „próbkowanie w różnych momentach” nie jest tym samym, co ekspozycja braketingowa? A automatyczny braketing ekspozycji i przetwarzanie jest dokładnie tym, czym jest fotografia HDR, prawda?
Todd Wilcox
1
@Caleb, jeśli masz tylko piksel + nachylenie (przypuszczalnie także na tej samej głębokości bitowej), które jest dokładnie takie samo jak 2 obrazy z liniowym przenikaniem. Jeśli dodasz N więcej terminów wielomianowych do dopasowania funkcji, będzie to również równoważne pikselowemu dopasowaniu wielomianowemu na N obrazach. Chociaż istnieją alternatywne schematy próbkowania, myślę, że przekonasz się (dzięki shannon i nyquist), że próbkowanie liniowe jest prawie najlepsze, co możesz zrobić, aby uchwycić ograniczone odpowiedzi pasma.
Steve Cox,
11

Sugerujesz „Lub za każdym razem, gdy foton uderza w piksel czujnika, nadaj mu znacznik czasu” - byłaby to ogromna ilość danych. Szybkie wyszukiwanie sugeruje, że każdy piksel - lub sensel - w aparacie cyfrowym nasyca się gdzieś pomiędzy 20 000 a 100 000 fotonów. Powiedzmy, że jesteśmy zadowoleni z 12-megapikselowego aparatu i jesteśmy w porządku z niższą stroną czułości tutaj. To wciąż jedna czwarta bilionów punktów danych. Jeśli mówimy o aparacie o rozdzielczości 50 megapikseli z dużym zakresem dynamicznym, może pięć bilionów . Nawet jeśli sprawimy, że nasze znaczniki czasu będą mieć po prostu dwa bajty każdy (jeden bajt daje tylko 256 wartości, więc jest mało prawdopodobne, aby było to warte zachodu), to ... dużo danych dla jednego obrazu. Mam na myśli dosłownie terabajty.

W przypadku dzisiejszej technologii nie jest to obecnie możliwe, jeśli chodzi o przepływ danych, nie mówiąc już o umieszczeniu go gdzieś .

Proszę przeczytać mój profil
źródło
2
Wykonalne na poziomie kamery konsumenckiej. To jest dokładnie to, co LHC robi na jeszcze większą i bardziej złożoną skalę.
PlasmaHH
1
@PlasmaHH również, LHC większy pod względem rozmiarów czujników, fizycznego rozmiaru pamięci i kosztów. Dużo. Ale bez względu na to, ile $, nie mogliby tego zrobić w tak kompaktowym rozmiarze.
Mołot
7

To, o co prosisz, ciągłe próbkowanie światła, może być teoretycznie możliwe, ale praktycznie zbyt drogie. Może być możliwe przybliżenie go przy bardzo wysokiej częstotliwości próbkowania. Można to zrobić za pomocą kamery wideo o wysokiej prędkości (w zwolnionym tempie) z bardzo dużą liczbą klatek na sekundę. Następnie dane wyjściowe mogą zostać przetworzone w celu utworzenia obrazu.

Szybkie wyszukiwanie pokazuje tyle jak ten Upiór

Te rzeczy działają dzięki szybkim czujnikom i możliwości przenoszenia i przechowywania ogromnych ilości danych. Próba ciągłego próbkowania lub wystarczająco szybkiego próbkowania, aby wyglądało na ciągłe, powiększa ten problem i koszty.

łapacz snów
źródło
4

Elektroniczna migawka jest już krokiem naprzód. Jesteśmy teraz w stanie wziąć wszystkie piksele jednocześnie, a następnie powiedzieć im, aby przestały zbierać (tj. Próbkować każdy piksel) i mierzyć informacje dla każdego koloru każdego piksela seryjnie, przechwytując dane o zdjęciu, które zostało wykonane jednocześnie.

Nie zawsze tak było.

Nadal musimy zrobić kilka hacków dla scenerii HDR, jednak nie jest to takie złe, jak kiedyś, znowu ze względu na postęp w technologii czujników. Mamy teraz większą czułość matrycy i zakres dynamiczny, więc zdjęcie, które kiedyś wymagało zdjęcia z dwoma nawiasami i przetwarzania końcowego, można teraz zarejestrować w aparacie, ponieważ czujnik może mierzyć zarówno wysokie, jak i niskie wartości niektórych zdjęć. W rzeczywistości czujniki stały się tak dobre, że rzadko można spotkać się z sytuacją, która wymaga więcej niż trzech ujęć w celu uzyskania pełnego zakresu dynamicznego. Starsze czujniki mogły wymagać 5 lub więcej zdjęć z bracketingiem.

Twój pomysł, jak rozumiem, wymaga ciągłego pomiaru na podstawie jednego piksela.

Chociaż jest to świetny pomysł, wdrożenie pozostaje problemem. Kamery są zaprojektowane do szeregowego przesyłania danych z czujnika. Procesor nie ma linii dla każdego piksela, zamiast tego czujnik obrazu ma logikę, która pozwala procesorowi odczytać wartość piksela lub wielu pikseli jednocześnie, ale nie wszystkie jednocześnie. Musi iterować przez wszystkie piksele, a to wymaga czasu.

Nie możemy tego przezwyciężyć, ponieważ między czujnikiem a procesorem nie będziemy mieć 50 milionów przewodów. Możemy zintegrować więcej przetwarzania z czujnikiem, ale czujnik specjalizuje się w robieniu jednej rzeczy i robieniu tego dobrze. Dodanie obwodów cyfrowych spowodowałoby więcej szumów i prawdopodobnie mniejszych pikseli, nawet gdyby zastosowano układy 3D. Ponadto procesy zastosowane do wytworzenia dobrego krzemu światłoczułego są inne niż procesy zastosowane do stworzenia dobrego cyfrowego krzemu o niskiej mocy i szybkiej obróbce.

Wszystkie te rzeczy są przeszkodą, jednak w przypadku niektórych specjalistycznych aplikacji są już używane. Zwykle w dziedzinie nauki i przemysłu.

Ale to nie znaczy, że jesteśmy pozostawieni na lodzie. W miarę poprawy czujników, szczególnie w zakresie dynamicznym, okaże się, że w końcu dostaniesz „HDR” w aparacie bez wsporników - czujniki będą po prostu wystarczająco czułe, aby uzyskać pełny zakres, a obiektywy i korpus aparatu będą dobre wystarczająco, aby zapobiec spadowi, odbiciu i innym problemom, które uniemożliwiają czujnikowi osiągnięcie pełnej zdolności.

Chociaż pomysł nie jest zły, jest skomplikowany, drogi, a my wciąż mamy miejsce na rozwój w innych obszarach, które można poprawić, więc Twoja metoda może nawet nie stać się konieczna.

Adam Davis
źródło
2

Prawdziwą odpowiedzią jest cena. Jeśli chcesz zapłacić 10–100 razy więcej za aparat, możesz zdobyć naprawdę wymyślne czujniki.

Pożądany wynik, który opisujesz, to wyższy zakres dynamiczny dla każdego piksela. Można to zrobić na kilka sposobów. Oczywistym sposobem jest uzyskanie lepszego czujnika ADC i CMOS, ale to kosztuje i nie jest zgodne z tym, co myślisz. Kolejnym podejściem byłoby odsysanie ładunku w procesie ciągłym , analogicznie. Pozwoliłoby to uzyskać ciągłą funkcję opisującą liczbę fotonów trafiających w piksel. Jednak tego rodzaju sprzęt analogowy jest niezwykle trudny. W twoim aparacie wszystkie dane pikseli są przeszukiwane przez raczej niewielką liczbę ADC. Piękno naszych czujników polega na tym, jak mogą to zrobić, uzyskując tańszy sprzęt setki razy. Aby to robić w sposób ciągły, każdy piksel musiałby mieć nadzwyczajną ilość dostrojonego sprzętu analogowego.

Co prowadzi nas do podejścia do próbkowania cyfrowego. Wspomniałeś o pomiarze przechwytywania danych co 1/1000 sekundy, co sugeruje mi, że tak naprawdę nie myślałeś o procesie ciągłym , a raczej o procesie próbkowania , w którym otrzymujesz wiele punktów danych dla cienkich przedziałów czasu i łączysz je razem. Jak wspomniano w innych odpowiedziach, HDR + na niektórych telefonach właśnie to robi. Szybko wykonuje kilka zdjęć i łączy je w celu uzyskania efektu HDR. Aby to zrobić, mają oczywiście znacznie większą przepustowość ADC niż potrzebujesz dla pojedynczego obrazu, ale nie potrzebowaliby tyle, ile potrzeba do ciągłego traktowania każdego piksela.

Z tego dźwięku chciałbyś, aby każdy piksel sam tym razem samplował. Aby to zrobić, najpierw musielibyśmy wypróbować 3d układ scalony. Nie chcesz, aby jakikolwiek sprzęt na każdym pikselu zajmował miejsce na powierzchni czujnika, lub będziesz miał problemy z posiadaniem zbyt małej liczby pikseli lub utratą wiązki światła, gdy pada na nieczujnikowe części układu scalonego. Jedynym sposobem na osiągnięcie tego jest zbudowanie układu 3D. To naprawdę technologia przyszłości. Jesteśmy począwszy zbadać, jak to zrobić, ale to nie jest łatwe. Jeśli masz setki tysięcy dolarów na swój aparat, możemy to zrobić.

W końcu wygląda na to, że chcesz, aby wyjściem każdego piksela była „liczba zmiennoprzecinkowa” zamiast „liczba całkowita”. Oznacza to, że każdy piksel miałby wartość liczby trafionych fotonów oraz wykładnik, który w zasadzie mówi, przez ile należy pomnożyć tę wartość, aby uzyskać rzeczywistą liczbę fotonów. Gdy piksel jest odsłonięty, próbkuje z bardzo dużą częstotliwością (być może 5000 Hz), a jeśli liczba fotonów staje się zbyt duża, wybiera większy wykładnik.

Teraz prawdziwe pytanie brzmi: ile korzyści z tego czerpiesz? Pamiętaj, że podejście HDR + to obecna technologia dla telefonów komórkowych za setki dolarów. Mówisz o zastosowaniu najnowocześniejszej technologii o znacznie bardziej wymagających tolerancjach niż jakikolwiek aparat tam dostępny. To będzie kosztować. Co ci to kupiło? Co tak naprawdę kupiły te jednopikselowe urządzenia w trakcie migawki, których nie oferuje tania technologia CMOS, którą Google wypycha? Odpowiedź to niewiele. Może być kilka małych przypadków narożnych, w których jest to preferowane podejście, ale z ceną znacznie wyższą niż istniejąca technologia, jest to komercyjny nonstarter.

Cort Ammon
źródło
0

Realizowane jest coś bardzo podobnego. Nadal działa według odrębnych ramek, ponieważ istnieją znaczące zalety podejścia cyfrowego zamiast analogowego. Ale istnieje podejście z rozdzielczością czasu w piko sekundach.

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

Taemyr
źródło
1
Choć z pewnością było to ciekawe demo i koncepcja, tak naprawdę nie odwzorowuje fotografii, o której mówimy. Z rozmowy TED, jeśli zrobisz zdjęcie z krótką ekspozycją, dostaniesz bardzo mało światła. Ale pójdziemy miliard razy szybciej niż twoja najkrótsza ekspozycja, więc nie dostaniesz prawie żadnego światła. Wysyłamy więc ten pakiet fotonów miliony razy i nagrywamy raz po raz z bardzo sprytną synchronizacją, a na podstawie gigabajtów danych łączymy obliczeniowo, aby stworzyć te femto-filmy, które wam pokazałem.
scottbb
1
Tak więc technika wprowadzona przez zespół Raskara jest znacznie bardziej związana z fotografią / wideografią obliczeniową i statystyczną, a na pewno nie jest wykonywana przez aplikacje komercyjne.
scottbb
@scottbb Biorąc pod uwagę, że OP prosi o kamerę, która „... za każdym razem, gdy foton uderza w piksel czujnika, nadaje mu znacznik czasu”. Uważam, że podejście Raskara dość ściśle pasuje do jego pomysłu.
Taemyr
Nie całkiem. Podejście Raskara nie może „uchwycić chwili”. Wielokrotnie przechwytuje fotony w tej samej przestrzeni, wielokrotnie i wielokrotnie, aby budować statystyczną wiedzę o tym, gdzie znajdują się fotony. Takie podejście wymaga mnóstwo czasu, a co ważniejsze, wymaga wiedzy, że fotony będą już w określonym miejscu. Wymaga powtarzalności i przewidywalności.
scottbb
0

Dlaczego nie można aparatu z elektroniczną migawką w sposób ciągły rejestrować i rejestrować dane świetlne z obrazu przez cały czas otwarcia migawki zamiast tylko gromadzić dane o świetle i ostatecznie przechowywać je jako jedno zdjęcie?

To, co myślę, że naprawdę proponujesz tutaj, to opisanie obrazu nie w kategoriach „ile światła zebrano podczas całej ekspozycji?”. ale raczej „jak jasna była scena w każdym punkcie?” To świetna myśl i mogę wymyślić kilka sposobów, aby to zrobić, ale ich wspólną cechą jest to, że zwiększają złożoność czujnika.

Producenci aparatów od dawna pracują nad tym, aby zapewnić więcej pikseli, i sądzę, że utrzymanie prostej struktury każdego pojedynczego piksela pomaga w tym wysiłku. Teraz, gdy lustrzanki na ogół mają czujniki o wielkości od 20 do 50 milionów pikseli, być może zobaczymy, jak działają zamiast tego na tworzeniu lepszych pikseli. Widzimy to już w pewien sposób - jednym z przykładów jest autofocus z dwoma pikselami. I z pewnością istnieją firmy pracujące nad czujnikami budowlanymi, które zapewniają większy zakres dynamiki , mniej hałasu itp.

Krótko mówiąc, myślę, że prawdopodobnie zobaczymy coś podobnego do tego, co zaproponowałeś w przyszłości, nawet jeśli nie zadziała to w ten sposób, a powodem, dla którego nas jeszcze nie ma, jest prawdopodobnie to, że inne cele, takie jak zwiększona gęstość pikseli, były w przeszłości wyższymi priorytetami.

Caleb
źródło
0

Można to zrobić w nieco inny sposób. Zamiast jednego zdjęcia wykonujesz wiele klatek o różnych czasach ekspozycji. Następnie układasz zdjęcia w stos, aby uzyskać średnią w zależności od algorytmu stosowanego do układania w stos.

Na przykład przy ostatnim całkowitym zaćmieniu Słońca ilość korony widocznej gołym okiem była znacznie większa niż to, co pokazałby czas ekspozycji kamery. Jest tak, ponieważ oko ma logarytmiczny zakres dynamiczny, podczas gdy oko ma liniowy zakres dynamiczny. Dzięki stosowi różnych czasów ekspozycji można znacznie lepiej przybliżyć na zdjęciu to, co obserwatorzy widzieli na własne oczy.

Max
źródło
0

Tryby Live Bulb i Live Time firmy Olympus idą w kierunku, który opisujesz.

wprowadź opis zdjęcia tutaj

Z podręcznika OM-D E-M5 :

Aby wyświetlić postęp ekspozycji podczas fotografowania, wybierz interwał wyświetlania dla opcji [Live BULB] (str. 89) lub [Live TIME] (str. 89).

Oto wideo . Pamiętaj, że na końcu dostajesz tylko jedną ekspozycję, mimo że podczas procesu widzisz wiele z nich. Piksele czujników dbają tylko o całkowitą liczbę fotonów, które otrzymali podczas ekspozycji, nie wiedzą, kiedy ani w jakiej kolejności te fotony wylądowały na czujniku.

Eric Duminil
źródło
-1

Masz dobry pomysł. Sony zasadniczo robi coś z tym efektem w RX100M5 i innych aparatach wyposażonych w funkcję, którą nazywają Optymalizatorem D-Range - analizując scenę oraz dostosowując i kompensując problemy.

Funkcja D-Range Optimizer natychmiast analizuje przechwycone dane obrazu i automatycznie koryguje pod kątem optymalnej ekspozycji i reprodukcji tonów. Często podczas fotografowania pod światło twarz fotografowanej osoby lub inne obszary w cieniu wydają się ciemniejsze na zdjęciu niż dla ludzkiego oka. Funkcja D-Range Optimizer rozróżnia różne warunki dla fotografowanych scen automatycznie koryguje krzywą gamma, poziom ekspozycji i inne parametry, aby usunąć fragmenty ciemniejsze niż byłyby widoczne dla ludzkiego oka.

Funkcja optymalizacji zakresu D zawiera także tryb standardowy, który równomiernie dostosowuje cały obraz (skuteczny w korygowaniu takich aspektów, jak ekspozycja), a tryb zaawansowany, który automatycznie koryguje obszary w kompozycji. Korzystając z trybu zaawansowanego, fotograf może uzyskać wyraźne zdjęcie, na którym zarówno fotografowany obiekt, jak i tło mają odpowiednią jasność, nawet jeśli występuje duża różnica w jasności obrazu.

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

Max Hodges
źródło
3
Ale ... jest to po prostu stary post-processing przechwytywania, wcale nie związany z opisywaną metodą przechwytywania.
junkyardsparkle
3
DRO jest metodą przetwarzania końcowego.
Zenit