forum.optyczne.pl

Cyfrowe lustrzanki - Czułość matrycy - software czy hardware?

maput - Pią 18 Lut, 2011
Temat postu: Czułość matrycy - software czy hardware?
Dyskusja wydzielona z wątku D90 czy A700.

Czułość miała sens gdy zdjęcia robiło się na błonach ;)

hijax_pl - Pią 18 Lut, 2011

Pojedyncza fotodioda w matrycy łapie tyle fotonów ile będzie na nią "padało" przez określony otwór przysłony w czasie ekspozycji (czas otwarcia migawki).

I tyle też tych fotonów "złapanych" będzie podlegało przetwarzaniu w układzie ADC. Ale to jaką wartość binarną otrzymamy zależy od ustawienie na przetworniku czułości wejścia. Przy zerowym wzmocnieniu sygnału mamy "iso natywne" czyli "tyle elektronów ile fotonów".

Przetwornik ADC sam z siebie nie wzmacnia sygnału. Tym zajmuje się układ kondycjonujący sygnał wejściowy - czyli wzmacniacz. A ma on taką cechę, że wzmocnienie (czy czułość wejścia) ustawianie jest binarnie. Czyli możemy je zwiększyć dwa razy, cztery, osiem, szesnaście itd. A takie binarne zwiększanie czułości odpowiada stopniowaniu ISO przecież ;)

Ważne jest to, że zwiększając czułość przetwornika (ISO) wzmacniamy cały sygnał analogowy - czyli informację i szum jednocześnie. A że szum istnieje zawsze - przy podnoszeniu ISO podnosimy jednocześnie wartość i informacji o natężeniu światła i poziomu szumów.

Poziom szumu jest w zasadzie stały i zależy od konstrukcji fotodiodym jakości toru analogowego, przetwornika ADC. Kiedy mało światła pada na fotodiodę - wtedy to co odczytujemy w zasadzie jest szumem z lekką domieszką informacji. Kiedy naświetlenie jest maksymalne - mamy pełną informację z szumem wyrażonym "gdzieś po przecinku".

Dlatego właśnie szum wychodzi w cieniach - czyli wszędzie tam gdzie niedoświetlamy.

kufel - Sob 19 Lut, 2011

hijax_pl, dzięki za fachowe wyjaśnienie :)
ghost - Sob 19 Lut, 2011

Cytat:
Przetwornik ADC sam z siebie nie wzmacnia sygnału. Tym zajmuje się układ kondycjonujący sygnał wejściowy - czyli wzmacniacz. A ma on taką cechę, że wzmocnienie (czy czułość wejścia) ustawianie jest binarnie. Czyli możemy je zwiększyć dwa razy, cztery, osiem, szesnaście itd. A takie binarne zwiększanie czułości odpowiada stopniowaniu ISO przecież

a jak mam iso 320 to jak to się robi? :mrgreen:

hijax_pl - Sob 19 Lut, 2011

ghost, programowo.
komor - Sob 19 Lut, 2011

Czyli wszystkie kroki pośrednie między 100 a 200 itd. są robione programowo, czy skok jest jakoś inaczej ustalany od ISO bazowego?
hijax_pl - Sob 19 Lut, 2011

komor, nie rozbierałem lustrzanek na części :mrgreen:
Natomiast oglądając sobie specyfikacje sensorów np IMX021 ładnie widać, że zmiana wartości sygnału następuje już po przetworzeniu sygnału analogowego na cyfrowy. Co ma swoje logiczne uzasadnienie - pisałem wyżej że im mniej części analogowej tym mniej szumów. A w tym sensorze nie ma jednego przetwornika tylko jest ich tyle ile kolumn w macierzy senseli - dzięki temu zmniejszono znacznie częstotliwość pracy układu ADC (co też przyczynia się do możliwości filmowania ;) ) a jak przecież wiadomo im wyższa częstotliwość tym większe zakłócenia - ścieżki zaczynają się zachowywać jak swoiste anteny, co powoduje, że indukuje się napięcie w sąsiednich, a to prosta droga do zwiększania szumu ;)

Takie "programowe" podejście pozwala też w łatwy sposób manipulować wartościami aby kalibrować ISO w aparacie.

komor - Sob 19 Lut, 2011

Ale jednak jak łatwo się przekonać znacznie lepsze rezultaty uzyskujemy fotografując bezpośrednio np. ISO 3200 niż robiąc na ISO 100 i podbijając w komputerze 5 EV, czyli jednak coś musi być bardziej skomplikowanego niż po prostu podwajanie bitów już po przejściu przez ADC, nie?
Widzę jeszcze sprzeczność między tym, co napisałeś wcześniej:
hijax_pl napisał/a:
Przetwornik ADC sam z siebie nie wzmacnia sygnału. Tym zajmuje się układ kondycjonujący sygnał wejściowy - czyli wzmacniacz.

a tym, co potem:
hijax_pl napisał/a:
zmiana wartości sygnału następuje już po przetworzeniu sygnału analogowego na cyfrowy.

Czy mógłbyś objaśnić?

hijax_pl - Sob 19 Lut, 2011

komor, no cóż - sprzeczność wynika z tego, że wcześniej opisałem generalną zasadę, a później pokazałem specyficzną konstrukcję.

A co do jakości podbijania... Przecież to co jest w RAWie jest tym co podaje Ci procek sygnałowy, a nie tym co procek czyta z matrycy ;)

jaad75 - Sob 19 Lut, 2011

komor, przecież to proste - masz wzmocnienie sygnału analogowego na wzmacniaczu i skoki pośrednie robione cyfrowo. Tak poza tym, to wcale niekoniecznie te naturalne wartości (ISO100, 200, 400 itd.) są tymi ze wzmacniania analogowego. Niektórzy bawią sie nawet w wyznaczanie naturalnych skoków żeby mieć maksymalna mozliwą jakość jaką mogą wyciągnąć z sensora.
hijax_pl - Sob 19 Lut, 2011

jaad75 napisał/a:
Tak poza tym, to wcale niekoniecznie te naturalne wartości (ISO100, 200, 400 itd.) są tymi ze wzmacniania analogowego.
Zależy od matrycy - w starszych tak było ;)
Luke_S - Sob 19 Lut, 2011

jaad75 napisał/a:
Tak poza tym, to wcale niekoniecznie te naturalne wartości (ISO100, 200, 400 itd.) są tymi ze wzmacniania analogowego.


Dokładnie, teraz najczęściej już tak nie jest. Z reguły faktyczne czułości są niższe od deklarowanych i wówczas iso 100, 200, 400, 800 itd. są właśnie uzyskiwane programowo (w przypadku rawów nawet nie przez soft w aparacie, tylko przez wywoływarki).

hijax_pl - Sob 19 Lut, 2011

Luke_S napisał/a:
w przypadku rawów nawet nie przez soft w aparacie, tylko przez wywoływarki).
Co masz na myśli?
Luke_S - Sob 19 Lut, 2011

Jeśli rzeczywista czułość na różnych iso jest niższa, niż podaje producent, to zdjęcia są niedoświetlone w stosunku do jakiegoś tam wzorca, jaki sobie przyjmiesz. Tego jednak nie zauważysz, bo puszka programowo podbija ekspozycję jpegów do poprawnego poziomu. W rawach tego nie robi, ale robią to producenci oprogramowania do edycji rawów. Taki program wie, o ile ma podbić ekspozycję i robi to automatycznie, bez Twojej wiedzy.
hijax_pl - Sob 19 Lut, 2011

Aha - rozumię, że mówisz o tzw "baseline exposure"... Tyle, że to zależy od wywoływarki. Jedne robią korekcję, inne - nie...

A zapytałem się, gdyż z twojej wypowiedzi zrozumiałem, że w RAW zdjęcie jest zawsze w natywnym ISO, a wyższe czułości są generowane programowo...

komor - Sob 19 Lut, 2011

jaad75 napisał/a:
komor, przecież to proste

Gdyby to było proste, to wszystkie matryce zachowywałyby się podobnie. Obawiam się, że realna rzeczywistość jest o wiele bardziej skomplikowana niż schemaciki na stronach producentów. Dlatego dopytuję, może czegoś ciekawego się dowiem. :)

jerkey - Nie 20 Lut, 2011

komor napisał/a:

Widzę jeszcze sprzeczność między tym, co napisałeś wcześniej:
hijax_pl napisał/a:

Przetwornik ADC sam z siebie nie wzmacnia sygnału. Tym zajmuje się układ kondycjonujący sygnał wejściowy - czyli wzmacniacz.

a tym, co potem:
hijax_pl napisał/a:

zmiana wartości sygnału następuje już po przetworzeniu sygnału analogowego na cyfrowy.

Czy mógłbyś objaśnić?

hijax_pl napisał/a:

komor, no cóż - sprzeczność wynika z tego, że wcześniej opisałem generalną zasadę, a później pokazałem specyficzną konstrukcję


Nie jestem inżynierem pracującym przy produkcji układów CMOS, ale gdyby układy były projektowane w oderwaniu od "generalnych zasad" to by nie działały.

Podbijanie czułości po przejściu przez przetwornik AD byłoby kompletnym bezsensem. Zresztą nie wiem nawet jak by się to miało odbywać z sygnałem cyfrowym. Co najwyżej moglibyśmy mówić wtedy o ekstrapolacji wg zadanej funkcji. Gdy jeszcze w odniesieniu do wyliczenia "nienormatywnej czułości w najbliższych okolicach" ma to sens, to w każdym innym przypadku byłoby głupie.

Zresztą mówiąc o czułości w domyśle mówimy o rzeczywistej odpowiedzi układu na nadchodzący sygnał (w jakiejkolwiek formie). Robienie tego tylko za pomocą obróbki sygnału cyfrowego, czyli za pomocą jakiegoś algorytmu w układzie przetwarzającym jest zwykłym "oszustwem", symulacją ... chociaż w dzisiejszych czasach marketingu wszystko możliwe. :lol:

Jeśli chcemy podbić odczyt sygnału z układu to trzeba podbić sam sygnał wyjściowy, czyli trzeba go wzmocnić. A to jest możliwe tylko w układzie analogowym za pomocą wzmacniacza.

Kończąc spójrzcie na specyfikację układu CMOS-APS strona 2 i opis elementu A1 na s. 6, gdzie to ładnie pokazano. Artykuł jest z 2006 roku więc dość świeży.

jerkey
PS. "Binarnie" być może w twoim znaczeniu hijax_pl odpowiada kolejnym potęgom dwójki, czyli przesuwaniu jedynki w lewo (lub w prawo - to zależy), ale generalnie to słowo zrozumiałbym całkiem inaczej.

jaad75 - Nie 20 Lut, 2011

jerkey napisał/a:
Robienie tego tylko za pomocą obróbki sygnału cyfrowego, czyli za pomocą jakiegoś algorytmu w układzie przetwarzającym jest zwykłym "oszustwem", symulacją ... chociaż w dzisiejszych czasach marketingu wszystko możliwe. :lol:
Tak pracuje większość średnioformatowych ścianek.
jerkey - Nie 20 Lut, 2011

jaad75 napisał/a:
Tak pracuje większość średnioformatowych ścianek.


Nie znam się na średnioformatowych ściankach, więc na podstawie tego co mówisz przyjmę, że tak jest w istocie.
Tyle, że co za różnica wtedy pomiędzy podbiciem czułości w tym urządzeniu, a podbiciem ekspozycji w wywoływarce dla RAW'a z nominalnej czułości? Chodzi tylko o wygodę?

jerkey

jaad75 - Nie 20 Lut, 2011

jerkey napisał/a:
Tyle, że co za różnica wtedy pomiędzy podbiciem czułości w tym urządzeniu, a podbiciem ekspozycji w wywoływarce dla RAW'a z nominalnej czułości?
Nie ma żadnej. Plik RAW jest po prostu niedoświetlany i wołarka dostaje tylko informację o tym, że ma go rozjaśnić.
hijax_pl - Nie 20 Lut, 2011

jerkey napisał/a:
Zresztą nie wiem nawet jak by się to miało odbywać z sygnałem cyfrowym.

Wbrew pozorom banalnie prosto. Zabawmy się w taki eksperyment myślowy...

Wyobraź sobie, że układ ADC jest 24 bitowy. Czyli opisany bitami b23 do b0. Załóżmy, że układ ADC ma stałe, niemodyfikowalne wzmocnienie (upraszczamy logikę a dzięki temu minimalizujemy szum analogowy).

Do pliku RAW na każdą składową RGGB wyciągamy tylko 16 bitów. Gdy chcemy "ISO natywne" - nic nie podbijamy tylko obierzemy 16 najstarszych bitów, czyli b23 - b8. Gdy chcemy symulować wzmocnienie przeskakujemy po jednym bicie. Czyli (załóżmy, że natywne mamy 100 ISO)
ISO100: b23-b8
ISO200: b22-b7
ISO400: b21-b6
ISO800: b20-b5
ISO1600: b19-b4
ISO3200: b18-b3
ISO6400: b17-b2
ISO12800: b16-b1
ISO25600: b15-b0

Wartości pośrednie - to interpolacja.

jerkey napisał/a:
Jeśli chcemy podbić odczyt sygnału z układu to trzeba podbić sam sygnał wyjściowy, czyli trzeba go wzmocnić. A to jest możliwe tylko w układzie analogowym za pomocą wzmacniacza.

Lub odpowiednio wybierając x bitów z dostępnych y, gdy y>x... Da się? Da się... ;)

Przypominam, że zwiększenie rozdzielczości przetwornika jest kosztem częstotliwości próbkowania. A zrównoleglenie układów ADC znacząco obniża częstotliwość.

jaad75 - Nie 20 Lut, 2011

hijax_pl napisał/a:
Wyobraź sobie, że układ ADC jest 24 bitowy
Tyle, że to akurat nie jest popularne... :smile:
hijax_pl - Nie 20 Lut, 2011

jaad75 napisał/a:
Tyle, że to akurat nie jest popularne... :smile:
Ja tylko podałem najprostszy przykład na
jerkey napisał/a:
Zresztą nie wiem nawet jak by się to miało odbywać z sygnałem cyfrowym. Co najwyżej moglibyśmy mówić wtedy o ekstrapolacji wg zadanej funkcji. Gdy jeszcze w odniesieniu do wyliczenia "nienormatywnej czułości w najbliższych okolicach" ma to sens, to w każdym innym przypadku byłoby głupie.
:wink: :mrgreen:
jerkey - Nie 20 Lut, 2011

hijax_pl napisał/a:
Wbrew pozorom banalnie prosto. Zabawmy się w taki eksperyment myślowy...


Cenię cię hijax za poziom wiedzy na tym forum, ale argumentacja, którą przedstawiłeś jest hmmm ... lekko na siłę.

Zwiększenie rozdzielczości przetwornika do 24 bitów i wyciąganie z nich 16 owszem spowodowałoby kompresję sygnału. Teoretycznie mamy więc co "wyciągać". Pytanie tylko: Do jakiego stopnia byłaby to kompresja i czy w ogóle istotna przy takiej rozdzielczości? Osobiście uważam, że niewielka, jeśli nie żadna (weź pod uwagę wielkości prądów tam obecnych i ich zakres - do tego dołącz fakt, że 16 bitów daje nam już 65000 przedziałów - oceń to sam). Po drugie takich urządzeń w ogóle nie ma (chyba, że o czymś nie wiem). Z definicji przetwornik AD konwertuje sygnał analogowy w ściśle określony przedział, więc po co w ogóle go ograniczać (a przynajmniej w raw'ie).
Skoro więc poziom sygnału z układu analogowego byłby wciąż taki sam, więc bardzo możliwe, że realna wartość sygnału na 16 bitach byłaby mocno zbliżona (oczywiście nie w sensie wartości absolutnej) do sygnału na 24 bitach.

Po drugie- stosowanie wzmacniaczy jest ogólnie powszechne (w sensie praktyczne i sensowne) i tanie (jasne - nie tak tanie jak odpowiednio oprogramowany układ). Na dodatek nie ma żadnego wpływu na szybkość sczytywania danych i ich obróbkę. A stosowanie 24 bitowych danych interpolowanych później w przestrzeń 16 bitową już tak.

jerkey

jaad75 - Nie 20 Lut, 2011

jerkey napisał/a:
Po drugie takich urządzeń w ogóle nie ma (chyba, że o czymś nie wiem)
Mój ponad czteroletni K10D ma 22-bitowy ADC i 12-bitowe RAW-y... :smile:
jerkey - Nie 20 Lut, 2011

jaad75 napisał/a:
Mój ponad czteroletni K10D ma 22-bitowy ADC i 12-bitowe RAW-y.


Czyli istnieją :grin:

Sens mojej wypowiedzi jednak nadal aktualny.

jerkey

hijax_pl - Nie 20 Lut, 2011

jerkey napisał/a:
argumentacja, którą przedstawiłeś jest hmmm ... lekko na siłę.
Chyba nie zrozumiałeś przykładu... ni w ząb.
jerkey napisał/a:
Skoro więc poziom sygnału z układu analogowego byłby wciąż taki sam,
Przecież wirtualne podnoszenie ISO będzie powodowało spadek poziomu na wejściu ADC - starsze bity przetwornika będą się sukcesywnie zerować.
jerkey napisał/a:
Z definicji przetwornik AD konwertuje sygnał analogowy w ściśle określony przedział
I w zależności od przetwornika to jest 8, 16, 24 bity.. zależy od konstrukcji...
jerkey napisał/a:
więc po co w ogóle go ograniczać (a przynajmniej w raw'ie).
No właśnie - dlaczego niektóre puszki mają 16 bitowe RAWy, a inne 14 czy 12 bitowe?
jerkey napisał/a:
stosowanie wzmacniaczy jest ogólnie powszechne (w sensie praktyczne i sensowne) i tanie (jasne - nie tak tanie jak odpowiednio oprogramowany układ).
Fakt, ale jednak każdy dodatkowy element analogowy to źródło szumu.
jerkey napisał/a:
Na dodatek nie ma żadnego wpływu na szybkość sczytywania danych i ich obróbkę
Ale na wartość już tak.
jerkey napisał/a:
A stosowanie 24 bitowych danych interpolowanych później w przestrzeń 16 bitową już tak.
Jaka interpolacja? Po prostu żonglowanie liniami magistrali danych... Zero wpływu na szybkość przetwarzania :roll:
Baku - Pon 21 Lut, 2011

hijax_pl napisał/a:
Fakt, ale jednak każdy dodatkowy element analogowy to źródło szumu.


Czy można rozumieć to tak, że jedyne (główne) źródła szumy z matrycy powstają na odcinku sensel - ADC?

hijax_pl - Pon 21 Lut, 2011

Baku napisał/a:
Czy można rozumieć to tak, że jedyne (główne) źródła szumy z matrycy powstają na odcinku sensel - ADC?
Pomijając szum samego sensela - tak
jerkey - Pon 21 Lut, 2011

hijax_pl napisał/a:
jerkey napisał/a:
argumentacja, którą przedstawiłeś jest hmmm ... lekko na siłę.
Chyba nie zrozumiałeś przykładu... ni w ząb.


OK, załóżmy, że twojego poprzedniego tłumaczenie nie zrozumiałem. Wyjdźmy zatem od początkowego założenia, czyli:

hijax_pl napisał/a:
jerkey napisał/a:

Jeśli chcemy podbić odczyt sygnału z układu to trzeba podbić sam sygnał wyjściowy, czyli trzeba go wzmocnić. A to jest możliwe tylko w układzie analogowym za pomocą wzmacniacza.

Lub odpowiednio wybierając x bitów z dostępnych y, gdy y>x... Da się? Da się...


Z tego wynika, że wg ciebie efekt jaki daje analogowe wzmocnie sygnału można z powodzeniem uzyskać stosując większą rozdzielczość próbkowania sygnału i wybierając odpowiednią maską - stosownie do założonej czułości. Tak?

jerkey

jaad75 - Pon 21 Lut, 2011

jerkey napisał/a:
Z tego wynika, że wg ciebie efekt jaki daje analogowe wzmocnie sygnału można z powodzeniem uzyskać stosując większą rozdzielczość próbkowania sygnału i wybierając odpowiednią maską - stosownie do założonej czułości. Tak?
Tak. Ba, można w ten sposób uzyskać teoretycznie lepszy efekt, bo eliminujesz szumy samego wzmacniacza.
hijax_pl - Pon 21 Lut, 2011

jerkey, słyszałeś o cyfrowych wzmacniaczach? Wiesz jak one działają?
dr11 - Pon 21 Lut, 2011

Ale w D90 czy a A700? :D
jerkey - Pon 21 Lut, 2011

hijax_pl napisał/a:
jerkey, słyszałeś o cyfrowych wzmacniaczach? Wiesz jak one działają?


Raczej ogólnikowo. Jaki to ma związek z tematem?

jerkey

jaad75 - Pon 21 Lut, 2011

jerkey napisał/a:
Jaki to ma związek z tematem?
Z tematem wątku - niewielki, z tematem aktualnej dyskusji - bezpośredni... :smile:
MC - Pon 21 Lut, 2011

To może by jakiś uczynny przeniósł tą fascynującą część do bardziej odpowiedniego miejsca?
komor - Pon 21 Lut, 2011

Zrobione. I co teraz? :)
jaad75 - Pon 21 Lut, 2011

Teraz to już koniec tematu, ale statystyki nowych wątków zostały poprawione... :razz:
dr11 - Pon 21 Lut, 2011

Eee, nie wierzę, że się Wam nagle wiedza skończyła :P ;)

W temacie. Do uzyskiwania odpowiednich czułości najczęściej stosuje się odpowiednie wysterowanie sygnału we wzmacniaczu (Canon stosuje podpixelowe) oraz programowy bias dla skrajnych czułości.

B o g d a n - Pon 21 Lut, 2011

"Czułość matrycy - software czy hardware?"

Małe pytanie: co tu się udowadnia? O co właściwie chodzi?

jaad75 - Pon 21 Lut, 2011

B o g d a n, wydzielone z innego wątku zupełnie zbędnie...

Powered by phpBB modified by Przemo © 2003 phpBB Group