W jaki sposób RAW zapobiega „brzydkiemu cyfrowemu przycinaniu”?

10

W innej odpowiedzi użytkownik Ilmari pisze w kontekście zapobiegania nadmiernej ekspozycji:

Ogólnie rzecz biorąc, zalecałbym również zawsze fotografowanie w formacie RAW, zarówno w celu lepszego uchwycenia pełnego zakresu dynamicznego aparatu, jak i uniknięcia brzydkiego cyfrowego przycinania prześwietlonych obszarów. W tym drugim przypadku pomaga nieco niedoświetlić swoich zdjęć (powiedzmy ...), a następnie zwiększyć ekspozycję na komputerze, ...

W jaki sposób RAW zapobiega przycinaniu prześwietlonych obszarów?

Jaskółka oknówka
źródło
1
Fotografowanie w formacie RAW nie gwarantuje wyeliminowania przycinania podświetlenia. Jednak pliki RAW zawierają pełną informację przechwyconą przez czujnik obrazu, która ogólnie obejmuje szczegóły wyróżnienia poza tym, co zostałoby uchwycone na zdjęciu JPEG. Pamiętaj, że pliki RAW zwykle zawierają 12 lub 14 bitów tonalnych danych na piksel, podczas gdy JPEG jest ograniczony do 8 bitów, więc w pliku RAW jest znacznie więcej danych do pracy. Znam to z pierwszej ręki i po odzyskaniu pliku RAW w RawTherapee odzyskałem niezliczone fragmenty najlepszych plików JPEG. Zobacz także: photo.stackexchange.com/a/13448
bwDraco
(ciąg dalszy) Heck, zalety RAW, w tym możliwość wydajniejszej redukcji szumów i innej obróbki końcowej na komputerze po wydarzeniu, są na tyle znaczące, że robię zdjęcia sportowe w RAW + JPEG, nawet jeśli znacznie zmniejsza to bufor głębokość! (Mój pracodawca często chce natychmiastowego obrazu JPEG na swojej stronie internetowej zaraz po grze, a resztę obrazów
przekazuję

Odpowiedzi:

13

Ogólnie rzecz biorąc, zalecałbym również zawsze fotografowanie w formacie RAW, zarówno w celu lepszego uchwycenia pełnego zakresu dynamicznego aparatu, jak i uniknięcia brzydkiego cyfrowego przycinania prześwietlonych obszarów. W tym drugim przypadku pomaga nieco niedoświetlić zdjęcia [...], a następnie zwiększyć ekspozycję na komputerze.

OK, tak, byłem trochę zwięzły, kiedy to napisałem . Pozwól, że spróbuję to trochę rozpakować.

Oczywiście samo przejście z JPEG na RAW nie zrobi nic, aby samodzielnie naprawić obcinanie. Podczas pisania powyższego akapitu próbowałem zasugerować:

  1. Celowo niedoświetlaj swoich zdjęć na tyle, aby wyróżnienia nie były przycinane.

  2. Fotografowanie w formacie RAW, który ma większy zakres dynamiczny niż JPEG, w celu zachowania szczegółów cienia na następnym etapie.

  3. Popraw niedoświetlenie w przetwarzaniu końcowym, używając algorytmu, który symuluje miękkie „filmowe” podświetlenie zamiast twardego cyfrowego przycinania. (Uważam, że każdy porządny procesor RAW powinien mieć tę funkcję wbudowaną; wiem , że robi to UFRaw , i to jest wolne oprogramowanie).

Po co zadawać sobie tyle trudu, zamiast robić zdjęcia JPEG bezpośrednio przy domyślnej ekspozycji? Zasadniczo (oprócz wszystkich innych powodów, aby strzelać RAW ), abyś mógł uzyskać:

Przykładowe zdjęcie A z delikatnymi pasemkami Przykładowe zdjęcie B z delikatnymi pasemkami

zamiast tego:

Przykładowe zdjęcie A z twardymi pasemkami Przykładowe zdjęcie B z delikatnymi pasemkami
(Kliknij obrazy, aby powiększyć.)

Oczywiście trochę oszukałem, tworząc obie te przykładowe pary obrazów z tych samych plików RAW - jedyną różnicą jest to, że użyłem trybu „miękkich podświetleń filmowych” dla pierwszej pary i trybu „twardego przycinania cyfrowego” dla druga para, symulująca to, co miałbym, gdybym zrobił je bezpośrednio w formacie JPEG przy dłuższej ekspozycji.

Zwróć szczególnie uwagę na charakterystyczne cyjanowe niebo w prawym górnym rogu w przyciętej wersji pierwszego obrazu, nienaturalną płaskość przyciętych świateł i ogólne zniekształcenie kolorów wokół nich. (Zdjęcia z jasnymi białymi elementami tła, takimi jak śnieg lub chmury, zwykle pokazują ten efekt szczególnie wyraźnie, ale nie znalazłem dobrych przykładów na tym laptopie. Może później spróbuję poszukać lepszych ilustracji.)

Powodem tej płaskości i zniekształceń kolorów jest to, że w przeciwieństwie do płynnie nasycającej krzywej reakcji na światło filmu, cyfrowe czujniki obrazu mają (w przybliżeniu) liniową reakcję aż do punktu nasycenia, a następnie ostre odcięcie:

Czujnik cyfrowy a krzywe reakcji filmu
(W rzeczywistości narysowana powyżej krzywa reakcji filmu jest nieco myląca, ponieważ przekształcenie negatywu filmu w rzeczywisty pozytywny obraz wprowadza kolejną warstwę nieliniowości na dolnym końcu krzywej odpowiedzi, zazwyczaj skutkując nieco sigmoidalną złożoną krzywą odpowiedzi. Ale przy przynajmniej na najjaśniejszym końcu zakresu dynamicznego powyższe krzywe ogólnie przypominają rzeczywiste reakcje świetlne filmów i aparatów cyfrowych.)

W szczególności w fotografii kolorowej każdy kanał koloru (czerwony, zielony i niebieski) ma własną krzywą reakcji. W przypadku czujnika cyfrowego oznacza to, że wraz ze wzrostem jasności światła przychodzącego jeden z kanałów R / G / B zwykle przycina się przed innymi, zniekształcając kolor takich częściowo obciętych pikseli.

Również płaskość krzywej odpowiedzi cyfrowej powyżej punktu nasycenia oznacza, że ​​podczas gdy prześwietlony film po prostu kompresuje rozjaśnienia, wszelkie przycięte rozjaśnienia na zdjęciu cyfrowym (zarówno RAW, jak i JPEG) zniknęły i nie można odzyskać z nich żadnych szczegółów. Dlatego w przypadku fotografii cyfrowej obowiązuje zasada , że jeśli nie masz pewności, jaka będzie optymalna ekspozycja (lub jeśli wiesz, że fotografowana scena zawiera światła, których nie chcesz przycinać), zawsze jest bezpieczniejsza pomylić się na niskim poziomie. Jasne, zwiększenie jasności niedoświetlonego zdjęcia podczas obróbki końcowej zwiększy również szum na obrazie - ale nieco niedoświetlenie i utrata niektórych szczegółów cienia w stosunku do szumu jest zwykle lepsze niż prześwietlenie i całkowita utrata świateł.

Oczywiście żadne z powyższych nie wymaga fotografowania w formacie RAW - możesz równie łatwo zwiększyć jasność zdjęć JPEG, np. W Photoshopie. Ale w porównaniu z RAW format JPEG ma tutaj dwa problemy:

  • JPEG używa tylko 8-bitowych kolorów; to znaczy najmniejsza różnica między dwoma poziomami jasności, jaką może przechowywać, to około 1/256 różnicy między czystą czernią a czystą bielą. JPEG faktycznie używa nieliniowego kodowania kolorów, co nieco pomaga, ale efektywny zakres dynamiczny obrazu JPEG nadal wynosi tylko około 11 przystanków (w przeciwieństwie do 8 przystanków, które można uzyskać przy kodowaniu liniowym). To wystarcza do wyświetlania zdjęć na ekranie, ale wciąż jest mniejszy niż efektywny zakres dynamiczny nawet niższych czujników aparatu i nie pozostawia wiele miejsca na dostosowanie ekspozycji w celu odzyskania szczegółów z cieni.

  • JPEG wykorzystuje także kompresję stratną zaprojektowaną w celu zmniejszenia rozmiaru pliku obrazu poprzez odrzucenie szczegółów, których ludzkie oko nie może łatwo dostrzec. Niestety, ta kompresja ma tendencję do dość agresywnego wyrzucania szczegółów cienia - zbyt daleko zwiększaj jasność obrazu JPEG, a prawdopodobnie uzyskasz obraz pełen zniekształceń kolorów i blokowych artefaktów kompresji.

Dla porównania plik RAW zachowuje pełny zakres dynamiczny czujnika aparatu bez stratnej kompresji, co pozwala na przetwarzanie obrazu w pełnym możliwym zakresie (w tym przypadku ograniczonym głównie przez poziom szumu czujnika).

Ilmari Karonen
źródło
Łał. Zdrowie przyjacielu. ;-)
Martin
3

Krótko mówiąc, plik RAW przechowuje każdy piksel przy użyciu większej liczby bitów niż odpowiadający mu plik JPEG.

Aby zrozumieć, jak to pomaga, rozważ pojedynczy piksel (zignorujemy kolor, ta sama logika obowiązuje, ale wszystko to komplikuje). Jeśli masz 8 bitów dostępnych do zarejestrowania amplitudy (ilość światła, które uderza ten piksel), masz 256 poziomów, w tym „brak światła” (0).

Musisz ustawić maksymalny poziom, który odpowiada wartości 255. Zakres od 0 do tego maksimum to zakres dynamiczny, który można przedstawić na obrazie. Każdy piksel, który odbiera więcej światła niż ten poziom, jest nasycany i rejestrowana jest maksymalna wartość 255. Powoduje to efekt przycinania, w którym prześwietlone obszary wyglądają zupełnie białe.

Jeśli masz dodatkowe bity, możesz reprezentować więcej poziomów. Dzięki temu samemu zakresowi dynamicznemu można uzyskać między nimi drobniejsze kroki lub można rozszerzyć zakres i pozwolić, aby piksele o wyższej (lub niższej) ekspozycji były reprezentowane gdzieś w tym zakresie.

Plik RAW zawiera więcej bitów na piksel niż odpowiedni JPEG (np. 14 dla Canon 5D, w porównaniu do 8 dla JPEG). Pozwala to uchwycić więcej poziomów ekspozycji. Piksele nasycone w reprezentacji 8-bitowej mogą nie nasycać reprezentacji 14-bitowej. Powoduje to przekształcenie całkowicie prześwietlonych obszarów w odcienie szarości i pozwala uchwycić pewne szczegóły.

Oczywiście nadal możliwe jest nasycenie większej reprezentacji głębi bitowej, ale im więcej bitów masz, tym więcej informacji musisz pracować.

Andrzej
źródło
1

Raw jest świetny z kilku innych powodów, ale oczywiście surowy NIE MOŻE zapobiec przycinaniu prześwietlonych obszarów. Gdy dane cyfrowe przekroczą 255, są przycinane, co oznacza, że ​​pozostaje na 255, nie reprezentując już prawdziwego koloru. Cyfrowe po prostu nie ma sposobu na zachowanie większych liczb, największa możliwość jest skalowana do 255. Nie ma innego sposobu na odzyskanie obciętych danych, poza inną próbą z mniejszą ekspozycją.

Pokazany przykład to biały kolor światła. Biel jest wyjątkowa, ponieważ trzy komponenty RGB są prawie równe. Ale wyobraź sobie, że kolor (prześwietlony) był podobny do Czerwonego 500, Zielonego 250, Niebieskiego 250, który jest kolorem czerwonym. Ale po przycięciu do 255 wychodzi 255, 250, 250, zupełnie inny kolor, teraz biały. Cofnięcie się w przetwarzaniu końcowym do około połowy to wciąż 128, 125, 125, wciąż NIE jest czerwone.

Twój linkowany przykład prawdopodobnie NIE był biały, ale wyszedł prześwietlony i przycięty do 255, 255, 255, który jest biały. Nie ma odzyskiwania dla wycinania.

WayneF
źródło
1
Zależy to od tego, w jaki sposób kamera zamapowała surowy obraz na obraz 8-bitowy. Wiele kamer będzie miało opcje HDR dla pojedynczego obrazu, w których można zmodyfikować to mapowanie, ustawienie standardowe będzie miało mniejszy zakres dynamiczny niż inne ustawienia. Tak więc zwykle 8-bitowy obraz z obciętymi częściami nie będzie miał takich samych obciętych obszarów na surowym obrazie. Aby zawsze mapować ton, cały zapisany zakres dynamiczny wiąże się z kosztem; po prostu pozwalając, by małe obszary były prześwietlone, masz zasięg do 255 dostępny dla reszty obrazu, co może prowadzić do lepszego ogólnego wyniku.
Hrabia Iblis,
1
Czekaj, co? Typowe pliki RAW mają 14 bitów informacji o luminancji na piksel. Istnieje niezliczona ilość odcieni bieli, które można odzyskać z formatu RAW, nawet jeśli domyślnie wszystkie byłyby zmapowane do 255,255,255 w formacie JPEG.
JohannesD
2
Gdyby twoja odpowiedź była odpowiedzią na „16-bitowy TIFF vs. JPEG”, byłoby to poprawne, ponieważ z TIFF czarne i białe punkty są już wypalane, a surowe dane tłumaczone na 16 bitów na podstawie wybranych czarno-białych punktów podczas konwersji. Ale prawdziwy plik raw zawiera dane z zamaskowanych pikseli i nie ma wypalonych czarno-białych punktów. To największy problem, jaki mam przy konwersji plików Canon .cr2 do .dng: Zamaskowane piksele są odrzucane, a czarno-białe punkty są wypiekane. DNG bardziej przypomina TIFF niż prawdziwy plik raw.
Michael C
1
Możesz odzyskać bardzo jasne szczegóły, ale nie możesz odzyskać przyciętych wartości. Właśnie dlatego zakres dynamiczny jest tak ważny. Ponadto miksujesz zakres dynamiczny z bitową głębią ADC. To wcale nie jest to samo, patrz: peachpit.com/articles/article.aspx?p=1709190&seqNum=2
Grebu,
1
Oto jak wygląda obraz po renderowaniu w sposób opisany w odpowiedzi: Pierwszy jest renderowany liniowo, drugi ma zastosowaną korekcję gamma, a 0-2047 w pliku 14-bitowym jest mapowany jako 0 w pliku 8-bitowym i 14383 -16383 w pliku 14-bitowym jest mapowany jako 255 w pliku 8-bitowym. Ostatni obraz ma czarny punkt (0 w pliku 8-bitowym) ustawiony na przybliżoną wartość najciemniejszych części sceny, które są znacznie powyżej 2047 roku, a biały punkt (255 w pliku 8-bitowym) ustawiony na najjaśniejsze fragmenty sceny, które są znacznie poniżej 14383. photo.stackexchange.com/a/39478/15871
Michael C