|
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?
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
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.
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. | 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...
hijax_pl - Nie 20 Lut, 2011
jaad75 napisał/a: | Tyle, że to akurat nie jest popularne... | 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. |
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...
jerkey - Nie 20 Lut, 2011
jaad75 napisał/a: | Mój ponad czteroletni K10D ma 22-bitowy ADC i 12-bitowe RAW-y. |
Czyli istnieją
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
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?
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...
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...
dr11 - Pon 21 Lut, 2011
Eee, nie wierzę, że się Wam nagle wiedza skończyła
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...
|
|