Po napisaniu dwóch poprzednich wpisów (Wiaderko do pełna czyli ETTR i elektronyWiaderka nie do końca do pełna) czułem pewien niedosyt wiedzy związany z dwoma konkretnymi elementami, o których tylko wspomniałem – ISOless oraz dual-gain. Pogłębienie wiedzy wymagało jednak znacznie więcej szperania po sieci niż się spodziewałem a nawet sięgnięcia po własne doświadczenia i obliczenia. Przy okazji odkryłem kilka bardzo fajnych stron, na których autorzy w zasadzie wszystko już „odkryli” tym nie mniej potrzebowałem całą tą wiedzę przełożyć na „moje” – po prostu tak mam, jak czegoś do końca nie zrozumiem to potem mnie męczy nocami 😉 A nie da się ukryć, że z przemyśleń wynikły również wnioski praktyczne, oraz upadły pewne mity. Żeby temat opisać systematycznie rozpocznę od przypomnienia podstaw.

Jak działa matryca i skąd się bierze szum

Jak wiadomo, matryca w aparacie to zestaw światłoczułych pikseli, w których padające światło zamienia się na elektrony (i odtąd będę mówił już tylko o elektronach). Każdy z pikseli ma określoną maksymalną pojemność wyrażoną w elektronach – czyli jeszcze na chwilę wracając do fotonów – maksymalną ilość „światła” jaką jest w stanie pomieścić. Warto tu ponownie podkreślić, że ilość światła a co za tym idzie ilość elektronów zgromadzonych w pikselu zależy wyłącznie od ekspozycji (czyli jasności sceny, czasu naświetlania i jasności obiektywu). W żadnym stopniu nie zależy od wybranego ISO. W ogóle pojęcie ISO w stosunku do matryc jest mylne – każda matryca posiada tak na prawdę tylko jedno ISO – czyli czułość przy której jest w stanie osiągnąć maksymalne wypełnienie pikseli elektronami. Wszystkie pozostałe ISO są uzyskiwane w drodze elektronicznego przetwarzania sygnału. Bezpośrednio z pojemności piksela wynika też teoretyczny zakres dynamiki – jeżeli matryca potrafi pomieścić 16384 elektrony, to posiada teoretyczną dynamikę wynoszącą 14 EV (o ile najmniej ile jest w stanie zarejestrować to 1 elektron, 2^14 = 16384). Wyjaśnienie – dynamika matrycy tak na prawdę zależy od składowej pojemności samego piksela oraz rozdzielczości przetwornika ADC (można sobie to wyobrazić jako analogię schodów – jak wysokie są schody oraz z ilu składają się stopni), tym nie mniej dla tych rozważań przyjęte uproszczenie powinno wystarczyć.

Skoro wiemy już jak działa sam piksel należy teraz pochylić się nad procesem uzyskiwania ostatecznej wartości cyfrowej reprezentującej jego napełnienie (czyli wartości piksela w pliku RAW). Zgromadzone elektrony reprezentują sobą odpowiedni potencjał elektryczny, który następnie podlega wzmocnieniu analogowemu po którym to trafia do przetwornika analogowo-cyfrowego gdzie przetwarzany jest na wartość cyfrową (będę ją dalej zwał ADU). W wypadku pracy matrycy na jej natywnym ISO – wzmacniacz ustawiony jest na 1 (czyli sygnał nie jest wzmacniany). Wartość maksymalna ADU uzyskiwana jest dla maksymalnego sygnału elektrycznego, który uzyskiwany jest na wyjściu wzmacniacza analogowego. Stąd wynika, że przy wzmocnieniu większym niż 1 maksymalne ADU uzyskuje się dla niepełnej pojemności piksela, a co za tym idzie ogranicza się dynamikę piksela (zwiększenie wzmocnienia o 1 EV powoduje spadek dynamiki o 1 EV).

W całości tekstu przyjmuję model szumu Gauss’a – dzięki czemu mogę szum sumować w kwadratach (C²=A²+B²) – jest to model zgodny z naturalnym szumem elektrycznym, termicznym i fotonowym, tak więc w naszym przypadku można uznać, że z dużym przybliżeniem odwzorowujemy rzeczywistość. Pierwszym źródłem szumu w matrycy jest szum elektryczny pojawiający się w samym pikselu – są to dodatkowe elektrony które pojawiają się bez związku ze „złapanymi” fotonami. Oznaczać go będziemy Rpx i wyrażać w elektronach. Kolejnym źródłem szumu jest szum konwersji, który pojawia się przed samym wzmacniaczem analogowym i związany jest z procesem odczytu poszczególnych pikseli, oznaczać go będziemy Rcv i również wyrażać w elektronach. Tak więc, zgodnie z wcześniejszym założeniem, szum jaki trafia do wzmacniacza analogowego wynosi R0²=Rpx²+Rcv². We wzmacniaczu analogowym następuje wzmocnienie sygnału a następnie jego konwersja na wartość ADU. Oczywiście i w tej ścieżce pojawia się szum – pomiędzy wzmacniaczem a konwerterem. Opiszemy ten proces dwoma parametrami: wzmocnieniem G wyrażanym w (e/ADU) oraz szumem konwersji R1, ale wyrażonym już w ADU (ponieważ szum ten przekłada się bezpośrednio na wartości cyfrowe – po prostu tak będzie łatwiej liczyć). W nomenklaturze spotykanej w sieci szum R0 zwany jest szumem upstream a szum R1 szumem downstream.

Droga do ISOless

Zbudujemy teraz naszą hipotetyczną matrycę, w której założymy sobie pewne parametry: Rpx=0,9 elektrona, Rcv=2,5 elektrona oraz R1=2 ADU. Dodatkowo założymy że przy ISO=100 (natywnym) wzmacniacz posiada wzmocnienie G=1 ADU/e. Możemy już wykonać obliczenia dla tejże matrycy:

Kolumna N wskazuje na szum jaki wnosi matryca przy danym ISO (uzyskanym poprzez odpowiednie zwiększanie współczynnika G). Najciekawsze dzieje się w kolejnych kolumnach. Kolumna Push ISO 100 symuluje cyfrowe zwiększenie ekspozycji w postprocesingu poprzez wymnożenie szumu uzyskanego przy ISO 100, a kolumna Diff ISO 100 pokazuje różnicę pomiędzy szumem zanotowanym przy danym ISO a uzyskanym poprzez cyfrowe jego wzmocnienie (potoczne wyciągnięcie w RAW). W tym modelu widać, że różnica jest spora – co oznacza, że obraz zarejestrowany na ISO 100 i wyciągnięty do ISO 400 będzie znacznie gorszy niż ten zarejestrowany przy ISO 400. Jest to model klasycznej matrycy, w której występuje znaczący szum downstream (R1). Jeżeli spojrzymy na analogiczne kolumny Push ISO 800 – czyli tym razem wyciągamy w postprocesingu obraz uzyskany przy ISO 800. Warto zwrócić uwagę, że tutaj różnice zaczynają być bardzo małe – a to dlatego, że przy wysokich ISO znacznie większe znaczenie ma wzmacniany przez wzmacniacz analogowy szum R0.

A więc, zmodyfikujmy naszą matrycę tak aby znacznie zmniejszyć szum downstream. Powiedzmy, że zamiast 2 ADU będzie to 0,2 ADU i popatrzmy cos się stanie:

Warto zauważyć, że szum N dla niskich ISO zmalał, za to dla wysokich pozostał w zasadzie bez zmian. Za to różnice w Push 100 stały się marginalne. Okazuje się, że przy takiej matrycy obraz uzyskany poprzez wyciągnięcie cyfrowe praktycznie niczym nie różni się od obrazu uzyskanego na wyższym ISO. Jest to właśnie definicja matrycy, która jest ISOless. Matryca taka praktycznie może być używana wyłącznie na bazowym ISO a dalsza obróbka obrazu może przebiegać już w postprocesingu. Nie zyskujemy niczego stosując wyższe ISO (albo zyskujemy bardzo mało). Warto też dodać, że stosowanie wyższego ISO powoduje utratę dynamiki, albowiem przy wyższym współczynniku G pojemność naszych pikseli maleje – a co za tym idzie maleje dynamika rejestrowanego obrazu.

Przejdźmy do ostatniego modelu matrycy, czyli najnowszego osiągnięcia techniki – dual-gain. Matryce te posiadają specjalną cechę umożliwiającą zmianę pojemności elektrycznej piksela. Jej zmniejszenie powoduje zwiększenie czułości na poziomie samego piksela (potrzeba mniej elektronów/fotonów aby go wypełnić). W naszych rozważaniach możemy nazwać tą właściwość parametrem Gpx. Załóżmy, że nasza matryca potrafi 8-krotnie zmniejszyć pojemność piksela, tak więc parametr ten może przybrać wartość 1 lub 8 (zmniejszenie pojemności jest równoważne wzmocnieniu). Jeżeli ograniczenie to włączymy przy ISO 800, to możemy ponownie ustawić wzmacniacz analogowy na wartość początkową (ponieważ sygnał został wzmocniony już na poziomie piksela). Musimy zmodyfikować wzór na R0 w następujący sposób: R0²=(Gpx*Rpx)²+Rcv². Obliczenia dla takiego modelu:

Zauważymy, że uzyskaliśmy zmniejszenie szumu N dla ISO 800 poniżej wartości jaka występowała dla ISO 400. Można powiedzieć, że wyposażyliśmy naszą matrycą w dodatkowe natywne ISO (jednakże w dalszym ciągu o ograniczonej pojemnością piksela dynamice). Warto też zwrócić uwagę na to co stało się w kolumnach Push: matryca ta jest ISOless w zakresie 100-400 oraz 800-6400 ale nie pomiędzy nimi, to znaczy że „bezboleśnie” można wyciągać obraz naświetlony przy ISO 100 ale tylko do wartości ISO 800. Następnie ponownie „bezboleśnie” można wyciągać obraz naświetlony przy ISO 800.

I co z tego wynika

Dotąd byłem przekonany, że matryca ISOless to szczyt osiągnięć i sam fakt bycia taką czyni ją doskonałą. Wcale tak nie jest – można wyobrazić sobie matrycę ISOless, która mocno szumi. Wystarczy że szum R0 będzie odpowiednio wysoki. Oczywiście matryca ISOless jest lepsza od posiadającej podobne parametry szumowe matrycy nie spełniającej tego warunku ze względu na podstawowy fakt – na niższym ISO można zarejestrować znacznie większą dynamikę. Tak więc przy matrycy ISOless robiąc zdjęcia na ISO 100 i następnie wyciągając je do powiedzmy poziomu ISO 800 zachowujemy taką samą jakość jednakże uzyskujemy znacząco większą (4 razy) dynamikę. Sprawa nieco komplikuje się przy matrycach typu dual-gain, albowiem posiadają one podwójne natywne ISO i dwa zakresy w których są ISOless. Przy doborze parametrów należy pamiętać, że w późniejszej obróbce trzeba zmieścić się w tych granicach. Oczywiście korzyścią jest niższy poziom szumu przy drugim natywnym ISO. W wypadku takich matryc w zasadzie powinno się używać tylko natywnych ISO matrycy. Używając wyższych ISO nie zyskujemy nic (lub zyskujemy marginalnie mało) w aspekcie szumu a jednocześnie z każdym zwiększeniem ISO o 1 EV tracimy 1 EV dynamiki.

W moich rozważaniach pominąłem matrycę dual-gain, która nie jest ISOless. Choć taki model jest możliwy, to nie występują matryce o takich parametrach, tak więc nie ma co się nad tym rozwodzić.

Oczywiście rozważania te wpływają nieco na przemyślenia dotyczące ETTR oraz sposobu dobierania ekspozycji tak aby zapewnić najlepszą jakość oraz dynamikę rejestrowanej sceny. Myślę, że każdy powinien wyciągnąć własne wnioski.

Jak sprawdzić własną matrycę? Wystarczy skorzystać przygotowanego przez serwis Photonstophotos.net wykresu shadow improvement. Pozioma lub prawie pozioma linia na tym wykresie wskazuje na obszary, w których nasza matryca jest ISOless.

Jako, że matryca w moim A6500 jest zarówno ISOless jak i dual-gain, zrobiłem kilka testów. Natywne ISO w moim wypadku to 100 i 400, tak więc przygotowałem 3 obrazki pokazujące po kolei:

Obraz naświetlony przy ISO 100 i wyciągnięty o 5 EV:

Obrazek naświetlony w ISO 400 i wyciągnięty o 3 EV:

i obrazek naświetlony na ISO 1600 i wyciągnięty o 1 EV:

Zgodnie z oczekiwaniami na pierwszym jest więcej szumu, a dwa pozostałe praktycznie się nie różną.

Dla mnie osobiście te dwa tygodnie poświęcone na stworzenie tych przemyśleń to przede wszystkim satysfakcja z tego, że wiem w końcu jak to działa. Pewnie też małe co nie co przyda się w praktyce.

Mam nadzieję, że CDN 😉

Ps

Większość wiedzy oraz model matematyczny matrycy zaczerpnąłem z opracowań Williama Claff’a oraz Emila Martinec’a ze strony photonstophotos.net.

Jedna odpowiedź do “ISOless i okolice”

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *