Dlaczego mogę regulować balans bieli pliku RAW, ale nie pliku JPEG?

30

Niedawno zacząłem ustawiać moją lustrzankę cyfrową do zapisywania plików RAW i używać Adobe Lightroom do ich przetwarzania. Nadal jednak używam mojego małego punktu i często fotografuję aparatem, który nie ma opcji zapisywania plików RAW. Zauważyłem również, że w jasnym pokoju opcje balansu bieli są różne w przypadku plików RAW i JPEG. W przypadku plików RAW istnieje możliwość wyboru spośród wielu ustawień balansu bieli (fluorescencyjny, halogenowy, automatyczny itp.), Podczas gdy w przypadku JPEG nie. Dlaczego to?

Eric
źródło

Odpowiedzi:

13

Szybka i krótka odpowiedź:

Wszystkie obrazy zaczynają się jako pliki RAW, do których należy zastosować balans kolorów.

W przypadku obrazów JPEG ta transformacja jest wykonywana w aparacie przy użyciu ustawień balansu bieli aparatu. Jak wspomniano powyżej, Lightroom nie ma wystarczających informacji, aby cofnąć tę transformację.

W zapisanych plikach RAW aparat nie stosuje żadnych transformacji, dzięki czemu fotograf może później zdecydować, którą transformację balansu bieli chcesz zastosować.

labnut
źródło
26

Rozważmy zdjęcie zarejestrowane przez czujnik (RAW) jako skalibrowane i neutralne.

Równanie jest następujące do wygenerowania JPEG o zrównoważonym kolorze:

JPEG = RAW * T

gdzie T jest color balance transformation

Zwykle, aby zastosować inny balans kolorów do JPEG, musisz zastosować odwrotność transformacji podczas strzału do JPEG (aby przywrócić neutralny obraz)

NEUTRAL = JPEG * 1/T

następnie zastosuj nową transformację kolorów

NEW_JPEG = NEUTRAL * T2

Niestety, obraz JPEG (przynajmniej te generowane przez mojego Nikona D50) nie zawiera ustawienia temperatury obrazu podczas fotografowania. Oznacza to, że Lightroom nie zna T równania, gdy masz tylko obraz JPEG. Dlatego nie może zastosować odwrotnej transformacji, aby przywrócić neutralny obraz.

Zamiast tego używa różnych ogólnych transformacji do transformacji równowagi kolorów.

decasteljau
źródło
1
Nigdy nie myślałem, aby zobaczyć odpowiedź za pomocą matematyki, ale tak po prostu jest!
t3mujin,
4
Lubimy tutaj matematykę. :)
jrista
12

Świetne odpowiedzi techniczne do tej pory. Oto prosta analogia, która może nie być dokładnie właściwa, ale w każdym razie:

Plik RAW jest jak negatyw filmowy. Możesz z nim pracować w ciemni (Lightroom) i wydrukować (JPG). JPG jest jak odcisk. Po wydrukowaniu niewiele możesz zrobić.

CSharpRocks
źródło
Prosty i zwięzły!
t3mujin,
1
Tyle że film ma specyficzny profil pod względem wrażliwości na różne długości fali światła już wypalonego . Bez względu na to, ile robisz w ciemni, nie możesz zmienić tego profilu. W pewnym sensie kolorowy film jest już demoskowany, zanim zostanie naświetlony. To, czym manipulujesz w ciemni pod względem balansu bieli, jest w rzeczywistości znacznie bardziej podobne do tego, co zrobiono z plikiem JPEG niż z plikiem RAW: względne poziomy R, G i B.
Michael C
8

Odpowiedź Decastlejau zapewnia świetny wgląd techniczny dla takich jak ja, którzy kochają wszystkie rzeczy techniczne. Dla nieśmiałych jeleń, jeśli chodzi o matematykę, oto mniej skomplikowana odpowiedź. Dzięki RAW masz oryginalne dane czujnika, które są na ogół przechowywane jako oryginalne odczyty CZUJNIKA dla każdego piksela czujnika cyfrowego, a także inne metadane, takie jak szczegóły ekspozycji, stan aparatu (tj. Balans bieli), aparat ustawienia i ewentualnie różnorodne dodatkowe dane.

Nieprzetworzony obraz jest zasadniczo bezpośrednim zrzutem danych z czujnika cyfrowego, które są zwykle czerwonymi, zielonymi i niebieskimi światłoczułymi pikselami (zdjęciami) ułożonymi w szereg filtrów filtrujących . Ponieważ RAW jest oryginalnymi danymi czujnika, masz maksymalną dostępną ilość informacji, która zwykle obejmuje znacznie większą głębokość bitów (i zakres dynamiczny) niż obraz zapisany w innym formacie. Jest to „neutralny” obraz, o którym wspominał decastlejau ... nie zastosowano żadnych korekt ani krzywych tonalnych, to naprawdę oryginalne dane.

Piksele obrazu RAW nie są bezpośrednio mapowane na piksele na ekranie i jako takie nie mogą być przeglądane bezpośrednio. Aby wyświetlić obraz RAW, te nieprzetworzone dane pikselowe czujnika muszą zostać przepuszczone przez algorytm renderowania, który pobiera nieprzetworzone dane czujnika i stosuje różne korekty i tłumienia, takie jak krzywa tonalna, korekty balansu bieli, korekty ekspozycji itp. w celu wygenerowania pikseli ekranowych, z których każdy zawiera elementy czerwony, zielony i niebieski. Algorytm ten musi być zastosowany za każdym razem, gdy do obrazu RAW zostanie wprowadzona jakakolwiek korekta, aby wyświetlić ostateczny obraz na ekranie. Pracując w ten sposób z RAW, utrzymujesz oryginalne dane czujnika w nieskazitelnym stanie, co pozwala radykalnie zmienić dowolną regulację w tym „potoku przetwarzania” w dowolnym momencie i zobaczyć idealne wyniki na renderowanym obrazie. Większość algorytmicznego przetwarzania danych RAW powoduje utratę informacji w końcowym obrazie w takim czy innym stopniu. Na przykład zastosowanie krzywej tonalnej zwykle skutkuje lepszym kontrastem, ale utratą zakresu dynamicznego.

Obraz JPEG, w przeciwieństwie do obrazu RAW, to taki, który został już przetworzony przez algorytm, który stosuje krzywą tonalną, ustawienia balansu bieli itp. W celu utworzenia końcowego obrazu. Ponieważ plik JPEG jest już przetworzony, oryginalne dane czujnika są tracone. To samo miałoby zastosowanie, jeśli aparat zapisałby plik TIFF zamiast JPEG ... przetwarzanie oryginalnych danych czujnika „zamraża” go do stanu końcowego. Przetworzone obrazy nie są całkowicie pozbawione nadmiaru i nadal można wprowadzać korekty. Im większa głębia bitowa i szersza gama, na którą zapisujesz, tym więcej masz rezerwy, jednak nigdy nie będziesz miał takiej elastyczności, jak w przypadku RAW.

Jednym z przykładów ograniczonego miejsca nad głową jest obszar regulacji balansu bieli. Każdy piksel w pliku JPEG zawiera teraz informacje o kolorze czerwonym, zielonym i niebieskim. Ogranicza to ilość korekcji balansu bieli, którą można osiągnąć bez napotykania dziwnych przebarwień lub podziałów kolorów, szczególnie przy większych dostosowaniach. Możliwe jest dalsze dostosowanie takich ustawień za pomocą RAW, ponieważ można ponownie mieszać każdy piksel na końcowym obrazie z oryginalnych danych czujnika czerwonego, zielonego i niebieskiego, co pozwala wyeliminować przebarwienia.

jrista
źródło
6

W rzeczywistości można regulować balans bieli z obrazu jpg. Tylko wyniki będą znacznie gorsze niż te, które można uzyskać z pliku RAW. Jak omówiono znacznie lepiej w innych odpowiedziach, pliki jpg zawierają znacznie mniej danych niż pliki RAW, więc nie ma takiego marginesu na zmianę balansu kolorów. To samo dotyczy ustawień ekspozycji i kontrastu.

Powiedział, że czy i tak można nieco zmienić balans bieli obrazów jpg za pomocą innych programów, ale w Lightroom zdecydowali, że słabe wyniki, którymi można zarządzać z plików jpg, nie będą wystarczające dla typowego użytkownika Lightrooma.

Zauważ też, że nie ma to nic wspólnego z technikami kompresji jpg, tylko ten format pliku jpg przechowuje mniej informacji.

uberto
źródło
Nie chodzi tylko o to, że informacji jest mniej, ale o to, że konkretne informacje, które zostały utracone, są kluczowe dla tej korekty. Aby dostosować WB w JPEG, musisz mieć pojęcie o dostosowaniu już zastosowanym do niego (albo zgadnij, albo zgadnij komputer).
mattdm,
1
Nie bardzo, z punktu widzenia algorytmu ważna jest tylko inna waga 3 kanałów RGB. Również z praktycznego punktu widzenia wystarczy znaleźć prawdziwy biały (lub neutralny szary) piksel na zdjęciu, aby wybrać balans bieli.
uberto,
4

Być może ta analogia pomoże wyjaśnić, dlaczego balans bieli RAW jest lepszy od balansu bieli JPEG.

Wyobraź sobie, że masz czarno-biały obraz. Jest całkiem jasne, że nie ma zautomatyzowanego sposobu przywrócenia koloru na tym obrazie. Ponieważ istnieje wiele różnych odcieni kolorów, które mapują się na dany odcień szarości, nie ma sposobu, aby powiedzieć, jakie były oryginalne kolory. Możesz zgadywać (tak jak w przypadku kolorowania starych filmów), ale nigdy nie możesz być tego pewien.

Teraz wyobraź sobie zdjęcie, którego balans bieli był tak zepsuty, że wszystko ma odcień niebieskiego. Ta sytuacja jest podobna do czarno-białego obrazu. Straciłeś informacje o czerwonych i zielonych, które były pierwotnie na zdjęciu. Program komputerowy, który usuwa niebieski odcień, dzięki czemu nie ma ogólnego odcienia, nie przywróci oryginalnego obrazu, ale raczej czarno-białe ujęcie.

Oczywiście większość balansów bieli nie jest tak pomieszana jak w powyższych przykładach, a balans bieli JPEG działa dobrze. Ale zawsze uzyskasz dokładniejszą konwersję, gdy będziesz mieć oryginalne informacje ze zdjęcia, tak jak w RAW.

acj
źródło
2

Odpowiedź decasteljau jest doskonała na temat technicznych działań. Dodajmy trochę puchu:

Plik RAW zawiera dane liniowe z czujnika - więcej fotonów trafia na każdą stronę zdjęciową, co oznacza bezpośrednio wyższy odczyt. I to jest podzielone równomiernie na czerwony, zielony i niebieski. (Cóż, technicznie rzecz biorąc, dwa razy więcej zielonych receptorów w większości czujników. Ale to szczegół implementacji.)

Jednak nie tak ludzki system widzenia - oko i mózg - w ogóle postrzega rzeczy.

Po pierwsze, postrzegamy jasność w sposób nieliniowy, dlatego jesteśmy w stanie poradzić sobie z jasnym słońcem i ciemnymi cieniami w tej samej scenie, nie wyglądając dziwnie. Dlatego krzywe są stosowane do obrazu RAW, aby uzyskać atrakcyjny końcowy obraz wyjściowy. Można to pominąć i wygenerować liniowy plik JPEG, ale wyglądałby on płasko (bez zamierzonej gry słów) i dziwny.

Po drugie, postrzegamy kolor oparty na nieodłącznym wyczuciu tego, co należy pokolorować, dlatego wyglądają dla nas normalnie zarówno w chłodnym, jak i ciepłym świetle, a nawet po drobnej regulacji w bardzo dziwnie zabarwionym świetle. Jeśli światło jest „naprawdę” silnie niebieskie, zwykle go nie widzimy - ale jeśli zrobisz zdjęcie, zostanie zarejestrowanych więcej niebieskich zdjęć. Plik obrazu nic nie wie, jak rzeczy powinny „wyglądać”, i musi zostać zastosowana korekcja balansu bieli, aby obraz był zgodny z naszymi oczekiwaniami.

Podczas konwersji z pliku RAW konwerter działa od znanego punktu początkowego. Ma albo szczegółowy profil dla twojego modelu aparatu (lub nawet ten, który sam wygenerowałeś), albo przynajmniej podstawową matrycę kolorów pasującą do ogólnej wydajności tego aparatu. Może więc przejść od tego stanu do zastosowania różnych korekt - jest to „RAW * T” w odpowiedzi decasteljau, a jeśli zmienisz zdanie, ponieważ zwykle oryginalny plik RAW pozostaje niezmodyfikowany, może zacząć od nowa od tego poziomu bazowego i zastosuj inną transformację.

Gdy masz plik JPEG, ta linia bazowa jest tracona i nie wiadomo od czego zacząć.

mattdm
źródło
1

Krzywe tonów i nasycenie utrudniają to, ponieważ:

(1) mają miejsce po balansie bieli

(2) są nieliniowe, co oznacza, że ​​kolejność operacji ma znaczenie

(3) zależą od modelu aparatu i ustawień Picture Control

1 i 2 oznaczają, że to przetwarzanie musi zostać wycofane, aby można było ustawić balans bieli. 3 oznacza, że ​​niemożliwe jest dokładne wycofanie się.

Istnieje transformacja, która może naprawić balans bieli bez wycofywania się z tych innych kroków, ale transformacja ta jest nieliniowa i różni się dla każdego aparatu. Użytkownik pacjenta może go znaleźć ręcznie za pomocą kontrolki Krzywe. Wykonanie tego automatycznie wymagałoby inżynierii wstecznej specyficznej dla kamery.

Serge
źródło
Myślę, że masz najlepszą odpowiedź.
skyde