Pliki RAW przechowują 3 kolory na piksel, czy tylko jeden?


16

Ken Rockwell mówi, że producenci aparatów biorą pod uwagę poszczególne czujniki R / G / B, gdy mówią o megapikselach. Obraz poniżej to aparat 6 x 6 pikseli, a nie 3 x 3, jak można sobie wyobrazić.

wprowadź opis zdjęcia tutaj

Jeśli to prawda, plik RAW zawierałby tylko jedną informację o kolorze na piksel (R, G lub B) jako liczbę 10, 12 lub 14 bitów.

Moje zamieszanie pojawia się, gdy czytam w niektórych miejscach rzeczy takie jak:

  • Pliki RAW przechowują średnią dwóch zielonych czujników na piksel.
  • Pliki RAW używają 12 bitów na piksel, ale są 3 kolory, więc w rzeczywistości jest to 36 bitów na piksel.

Co oczywiście byłoby fałszywe, gdyby twierdzenie Kena było prawidłowe.

Więc jaka jest prawda?

Odpowiedzi:


16

Pliki Raw nie przechowują żadnych kolorów na piksel. Przechowują tylko jedną wartość jasności na piksel.

Prawdą jest, że przy masce Bayera nad każdym pikselem światło jest filtrowane za pomocą filtra czerwonego, zielonego lub niebieskiego¹ nad każdym dołkiem piksela. Ale nie ma twardego punktu odcięcia, w którym tylko zielone światło przechodzi do zielonego filtrowanego piksela lub tylko czerwone światło przechodzi do filtrowanego na czerwono piksela. Wiele się nakłada. Dużo czerwonego światła i trochę niebieskiego światła przechodzi przez zielony filtr. Dużo zielonego światła, a nawet odrobiny niebieskiego światła, przechodzi przez czerwony filtr, a niektóre czerwone i zielone światło jest rejestrowane przez piksele, które są filtrowane na niebiesko.

reakcja koloru

Ponieważ nieprzetworzony plik jest zbiorem pojedynczych wartości luminancji dla każdego piksela na czujniku, nie ma rzeczywistej informacji o kolorze na piksel w surowym pliku. Kolor jest uzyskiwany przez porównanie sąsiednich pikseli, które są filtrowane dla jednego z trzech kolorów za pomocą maski Bayera. Ale podobnie jak umieszczenie czerwonego filtra przed obiektywem podczas filmowania w czerni i bieli nie spowodowało uzyskania monochromatycznego czerwonego zdjęcia (lub zdjęcia czarno-białego, w którym tylkoczerwone obiekty mają jakąkolwiek jasność), maska ​​Bayera przed monochromatycznymi pikselami również nie tworzy kolorów. Zmienia to wartość tonalną (jasność lub ciemność rejestrowanej wartości luminancji danego koloru) dla różnych kolorów w różnym stopniu. Gdy porównywane są wartości tonalne (intensywność szarości) sąsiadujących pikseli filtrowanych za pomocą trzech różnych kolorów używanych w masce Bayera, wówczas kolory mogą być interpolowane na podstawie tych informacji. Jest to proces, który nazywamy demosaicing .

Dużo matematyki wykonuje się w celu przypisania wartości R, G i B dla każdego piksela. Istnieje wiele różnych modeli wykonywania tej interpolacji. To, jak duży jest nacisk na czerwony, zielony i niebieski w procesie odkażania, decyduje o równowadze bieli / koloru . Korekcja gamma i wszelkie dodatkowe kształty krzywych reakcji na światło decydują o kontraście . Ale ostatecznie wartość R, G i B jest przypisywana do każdego piksela. W przykładzie 6x6 pikseli w pytaniu wynikiem demaskowania byłby obraz 36 pikseli z 36 pikselami, z których każdy ma wartość koloru czerwonego, zielonego i niebieskiego.

Trochę rozdzielczości jest tracone w tłumaczeniu. Okazuje się, że pod względem liczby naprzemiennych czarnych i białych linii na cal lub mm, które można rozwiązać za pomocą czujnika z maską Bayer RGGB i dobrze wykonanego demozaikowania, bezwzględny limit rozdzielczości czujnika Bayera wynosi około 1 / √2 w porównaniu do czujnika monochromatycznego, który nie ma maski Bayera, a zatem nie wymaga demosikowania (ale można go zobaczyć tylko w czerni i bieli).

Nawet jeśli aparat jest ustawiony na zapisywanie nieprzetworzonych plików, obraz widoczny z tyłu ekranu LCD aparatu tuż po zrobieniu zdjęcia nie jest nieprzetworzonymi nieprzetworzonymi danymi. Jest to obraz podglądu generowany przez kamerę poprzez zastosowanie ustawień w kamerze do surowych danych, co powoduje wyświetlenie obrazu podglądu JPEG na ekranie LCD. Ten podgląd obrazu jest dołączany do nieprzetworzonego pliku wraz z danymi z czujnika i informacjami EXIF, które zawierają ustawienia w aparacie w momencie wykonania zdjęcia.

Ustawienia wywoływania w kamerze, takie jak balans bieli, kontrast, cień, światła itp., Nie wpływają na rzeczywiste dane z czujnika zapisane w nieprzetworzonym pliku. Wszystkie te ustawienia są raczej wymienione w innej części nieprzetworzonego pliku.

Gdy otworzysz plik „raw” na swoim komputerze, zobaczysz jedną z dwóch różnych rzeczy:

  • Podgląd obrazu JPEG utworzonego przez aparat w momencie robienia zdjęcia. Aparat używał ustawień obowiązujących podczas robienia zdjęcia i dołączał go do nieprzetworzonych danych w pliku .cr2. Jeśli patrzysz na obraz z tyłu kamery, widzisz podgląd jpeg.

  • Konwersja surowych danych przez aplikację, której użyłeś do otwarcia pliku „surowego”. Po otwarciu 12-bitowego lub 14-bitowego „surowego” pliku w aplikacji fotograficznej na komputerze, na ekranie widać 8-bitowy rendering demozaikowanego surowego pliku, który przypomina jpeg, a nie rzeczywisty monochromatyczny plik 14-bitowy z filtrem Bayera. Po zmianie ustawień i suwaków „surowe” dane są ponownie mapowane i renderowane ponownie w 8 bitach na kanał koloru.

To, co zobaczysz, będzie zależeć od ustawień wybranych dla aplikacji, w której otwierasz plik raw.

Jeśli zapisujesz zdjęcia w formacie RAW, kiedy je robisz, podczas przetwarzania końcowego będziesz mieć dokładnie te same informacje do pracy, bez względu na to, jakie ustawienia programistyczne zostały wybrane w aparacie podczas fotografowania. Niektóre aplikacje mogą początkowo otwierać plik za pomocą podglądu JPEG lub przez zastosowanie ustawień w aparacie aktywnych w momencie wykonania zdjęcia do surowych danych, ale możesz je zmienić bez niszczącej utraty danych, cokolwiek innego chcesz w poście.

Program Digital Photo Professional firmy Canon otworzy plik .cr2 raw w tym samym stylu obrazu, który został wybrany w aparacie podczas fotografowania. Aby to zmienić, wystarczy użyć menu rozwijanego i wybrać inny styl obrazu . Możesz nawet utworzyć „przepis” na jeden obraz, a następnie wsadowo zastosować go do wszystkich obrazów przed rozpoczęciem pracy z nimi. Oprogramowanie do przetwarzania nieprzetworzonego innego producenta jest podobne i zazwyczaj istnieje opcja, aby aplikacja otworzyła obraz z zastosowanymi ustawieniami programowania w kamerze.

Dzięki aplikacjom do przetwarzania surowców innych firm, takim jak Adobe Lightroom lub Camera Raw , Aperture lub zdjęcia Apple, Capture One Pro firmy PhaseOne , OpticsPro firmy DxO Lab itp., Wyświetlanie obrazów zgodnie z ustawieniami aparatu może być nieco trudniejsze. Na przykład produkty Adobe ignorują większość wszystkich sekcji notatek producenta danych EXIF ​​nieprzetworzonych plików, w których wielu producentów zawiera przynajmniej niektóre informacje o ustawieniach aparatu.

¹ Rzeczywiste kolory maski Bayer przed czujnikami większości kolorowych aparatów cyfrowych to: Niebieski - lekko fioletowa wersja niebieskiego ześrodkowana na 450 nanometrach, Zielony - lekko niebieskawa wersja zielonego ześrodkowana na około 540 nanometrach, i Czerwona - lekko pomarańczowa wersja żółtego. To, co nazywamy „czerwonym”, to kolor, który postrzegamy dla światła o długości fali około 640 nanometrów. „Czerwone” filtry w większości układów Bayera przepuszczają najwięcej światła około 590–600 nanometrów. Nakładanie się stożków „zielonych” i „czerwonych” w ludzkiej siatkówce jest jeszcze bliższe, z „czerwonym” wyśrodkowanym na około 565 nanometrach, co postrzegamy jako żółto-zielone.


1
Jest to zasadniczo niepoprawne. Mówisz (lub przynajmniej bardzo mocno sugerujesz), że to działa, ponieważ informacja o kolorze wycieka do sąsiadów. To nie jest konieczne. Raw działałby dobrze, gdyby filtry były absolutnie idealne. Różne algorytmy demaskowania „wymagają dużo matematyki”, ale najprostszym z nich jest uśrednienie pobliskich pikseli i działa to zaskakująco dobrze. Wydaje mi się, że zrobiono to kilka milionów razy na obrazie o rozdzielczości wielu megapikseli, który technicznie „dużo” matematyki, ale nie jest to skomplikowana matematyka - to rzeczy trzeciego poziomu.
Proszę przeczytać Profil

2
Bayer działa, ponieważ generalnie dobrze jest zgadywać, że piksel na przykład w miejscu filtrowanym na niebiesko ma taką samą ilość zieleni, co zielone piksele obok (i to samo dla czerwieni). Gdy zgadywanie jest wyłączone, otrzymujesz artefakty i właśnie to próbują rozwiązać bardziej skomplikowane algorytmy. Nie działają, zakładając specjalną wiedzę na temat odpowiedzi częstotliwościowej filtrów.
Proszę przeczytać Profil

1
Mogłem nie rozumieć tego, co mówiłeś przez cały czas, ponieważ często to poruszasz. :) Zwłaszcza, że ​​otwierając odpowiedź, możesz edytować, aby wyjaśnić w sposób, który to wyjaśni. W szczególności, czy masz na myśli to, że nakładające się filtry oznaczają, że wynik jest zasadniczo niedokładny, bez względu na to, jakie przetwarzanie jest wykonywane i po prostu z tym żyjemy, lub że może on być dokładny przez jakąś transformację w odszranianiu, lub że może być dokładniejszy przez kolejny krok wymagany do renderowania plików RAW (ale który nie jest częścią demosacing)?
Proszę przeczytać Profil

1
Chodzi mi tylko o to, że zbyt wiele osób błędnie opisuje maskę Bayera jako przepuszczającą tylko zielone światło przez zielony filtr, przepuszczającą tylko czerwone światło przez czerwony filtr i tylko dopuszczającą niebieskie światło przez niebieski filtr. To nie jest więcej niż stwierdzenie, że użycie zielonego filtra z filmem czarno-białym pozwoli uchwycić tylko zielone światło w scenie. Zastosowanie zielonego filtra oznacza tylko, że przepuszcza się zielone światło z wyższą szybkością przepuszczalności niż światło czerwone lub niebieskie, ale niektóre ze wszystkich trzech przechodzą. Tylko porównując różnice między światłem ...
Michael C

1
@mattdm uśrednianie pobliskich pikseli powoduje, że zdjęcie jest bardzo rozmyte i nie ma na rynku aparatu, który by to robił. Algorytmy demosykowania wykorzystują korelację między pikselami RGB, aby znacznie poprawić rozdzielczość, kosztem okazjonalnego artefaktu. W grę wchodzi zdecydowanie ciężka matematyka.
Mark Ransom,

2

To wszystko prawda, ale interpretację można rozciągnąć.

Ten konkretny wzór surowego koloru nazywa się wzorem Bayera.

Tak, raw ma jeden kolor na piksel, a ten piksel ma (zazwyczaj) 12 bitów. Istnieją więc trzy kolory surowych pikseli, niektóre są niebieskie, niektóre są czerwone, a 2x te liczby są zielone.

Później oprogramowanie do przetwarzania nieprzetworzonych plików (w celu wytworzenia RGB JPG, może być natychmiast w kamerze lub może być zewnętrzne znacznie później) przekształca nieprzetworzone dane w obraz RGB, abyśmy mogli go użyć. Jest to interpolacja, sąsiednie piksele pozostałych dwóch kolorów są łączone w każdy z tych pikseli RGB, ale wszystkie stają się pikselami RGB. W tym momencie jest to 36 bitowych pikseli RGB, jednak rozdzielczość przestrzenna jest nieco obniżona, a dane różnych pikseli są dzielone z sąsiadami. Możemy skończyć z (na przykład) 6000 pikselami RGB o szerokości czujnika, ale pochodzi on z 2000 czujników niebieskich i 2000 czerwonych czujników itp. (A dane są również udostępniane w pionie, pochodzą z więcej niż trzech pikseli). To się nazywa demosaicing ... które można znaleźć w Internecie.


IMHO zazwyczaj ma 14 bitów. Tylko stare aparaty (na przykład Canon S120) przechowują 12 bitów na piksel
Romeo Ninov

@RomeoNinov, to nie jest tak proste jak stare kontra nowe. Np. Niektóre Nikony umożliwiają wybór 12 bitów lub 14 bitów, dzięki czemu można uzyskać kompromis między głębią obrazu a szybkością ciągłego fotografowania i rozmiarem obrazu.
Peter Taylor

@PeterTaylor, nigdy o tym nie wiem, jestem strzelcem Canon. Ale to powinno być dla mnie jak wyjątek, a nie zasada (12 bitów). I o ile pamiętam niektóre kamery przechowują 16 bitów na piksel
Romeo Ninov

Byłby znacznie silniejszy argument, gdybyś przedstawił dowód, że większość aparatów Canon ma 14 bitów. Oto Canon, który mówi inaczej: cpn.canon-europe.com/content/education/infobank/… „Większość aparatów cyfrowych EOS przechwytuje obrazy w trybie 12-bitowym”
WayneF

@WayneF Na podstawie aparatu określanego jako najlepszy w tamtym czasie Canon (1D Mark II), ten artykuł został napisany między kwietniem 2004 (kiedy 1D II zastąpił 1D) a czerwcem 2005 (kiedy 1D Mark IIN zastąpił 1D II) .
Michael C

2

Ken ma rację w twierdzeniu, które zacytowałeś - w pewnym sensie. Prawdą jest, że dzisiejsze aparaty cyfrowe (z wyjątkiem aparatów z czujnikami Foveon firmy Sigma) działają przy użyciu matrycy Bayer, a rozdzielczość czujnika jest podawana jako rozmiar matrycy. Twój przykładowy obraz przedstawia czujnik „36 pikseli”. Ważne jest jednak, aby zdawać sobie sprawę, że kamery zamieniają to w pełny kolorowy obraz o pełnym określonym rozmiarze w rzeczywistych pikselach i że nie jest tak źle, jak Ken .

Kilka rzeczy, które mówi w tym artykule, są całkowicie błędne, zaczynając od:

Od 2006 roku te sprytne algorytmy pozwalają na rozpoczęcie od jednej trzeciej danych i sprawiają, że wygląda tak dobrze, jak posiadanie połowy deklarowanej liczby pikseli.

To był nonsens w 2006 roku i dzisiaj jest nonsens. Proces działa na kilku prostych założeniach. Więcej z nich znajduje się tutaj , ale podstawową jest to, że możesz przewidzieć, co „brakująca” informacja powinna wyglądać na sąsiadujących pikselach o różnych kolorach. Okazało się, że jest to dobre założenie przez większość czasu, a bardzo źle w innych przypadkach. W przypadkach, w których nie ma bardzo szczegółowych przejść między kolorami, wynik jest tak dobry, jakby każdy sensel zarejestrował pełny kolor. W przypadkach, w których założenie jest błędne, jest znacznie gorzej. W prawdziwym świecie ten pierwszy jest w rzeczywistości bardzo powszechny i ​​działa znacznie lepiej niż „połowa” - ale ważne jest to, że jest zależny od kontekstu.

RAW nie oferuje tutaj żadnych korzyści, z wyjątkiem jednego potencjalnego hazardu. Interpolacja Bayera odbywa się w oprogramowaniu otwierającym surowe dane. Przyszłe postępy w algorytmach interpolacji Bayera mogą zostać włączone do przyszłego oprogramowania RAW, pod warunkiem, że producent aparatu nadal obsługuje kamery z wczorajszego oprogramowania w oprogramowaniu jutra. Równie prawdopodobne jest, że twórca aparatu może nie obsługiwać twojego starego aparatu w jutrzejszym oprogramowaniu!

Ma rację, że strzelanie do RAW nie zmienia podstaw, ale pomysł, że stare pliki przestaną działać, jest w zasadzie nonsensem . Ponieważ stare aparaty wykorzystują tę samą podstawową zasadę i zasadniczo podobne formaty plików, nie ma potrzeby długo zapewniać wsparcie dla starych modeli na czas nieokreślony, a dostawcy mają do tego dużą motywację - a nawet gdyby tak się stało, są świetne dekodery open source.

Oczywiście przechowywanie plików RAW oferuje inne korzyści niezwiązane z demosicing.

Ale głupio jest też powiedzieć, że jedyną zaletą jest możliwość przyszłych ulepszeń . Jak powiedziałem, można przyjąć różne założenia dotyczące zawartości obrazu, a różne algorytmy (lub poprawki do tych algorytmów) będą lepiej pasowały do ​​różnych rzeczywistych sytuacji, więc jeśli znajdziesz się w sytuacji, w której dostajesz mory lub inne artefakty, możesz sobie z tym poradzić. (Chociaż powinienem dodać, że jest to bardzo wybredny poziom - bardzo rzadko zdarza się sytuacja, w której warto zerknąć na to z bliska).

Jest także czynnik, za który Ken może być usprawiedliwiony, ponieważ artykuł ma dziesięć lat. W 2006 r. Większość aparatów była w zakresie 5-8 megapikseli, a wysokiej klasy modele lustrzanek rozciągały się do 12. Obecnie typowe lustrzanki niskiej i średniej klasy oraz aparaty bezlusterkowe oferują 16 i 24 megapiksele, i to od tego momentu rośnie. W tym momencie spieranie się o szczegóły kolorów na poziomie podglądania pikseli jest naprawdę akademickie, ponieważ w prawdziwym świecie bardzo rzadko oświetlenie, soczewki, stabilność i wszystko inne są tak dobrze ustawione, że jest to czynnik ograniczający.

Ogólnie wiele witryn Kena Rockwella jest takich. (Zobacz tę odpowiedź, aby dowiedzieć się więcej .) To niefortunne, ponieważ faktycznie ma wiele ciekawych rzeczy do powiedzenia i kilka dobrych rad, ale jest też wiele bzdur, a zamiast przyznać się do tego lub poprawić to, ma tendencję do podwojenia się w dół, a następnie twierdzi, że cała strona jest satyrą.

Aha, i dodatkowy fajny fakt: tylne ekrany LCD aparatu i EVF również używają trzech kolorowych subpikseli, które reprezentują jeden piksel cyfrowy, a te ekrany są zwykle sprzedawane z liczbą subpikseli - efektywnie 3 razy więcej niż można się spodziewać z podanej rozdzielczości ekranu komputera.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.