Mengapa pasca-pemrosesan koreksi white balance JPEG tidak seakurat white balance dengan Raw?
Pemahaman saya adalah bahwa ketika memotret jpeg kamera secara internal melakukan langkah-langkah berikut:
- Konversi data sensor mentah menggunakan algoritma (demosaicing / debayering).
Konversikan ke ruang Linear
Sebuah. Menggunakan tabel pencarian nilai mentah untuk ruang linear
b. Level hitam untuk setiap piksel kemudian dihitung dan dikurangi.
c. Nilai untuk setiap piksel kemudian diubah kembali menjadi 0,0 hingga 1,0 menggunakan Whitelevel
d. Nilai yang di-skala ulang diklip menjadi 0,0 hingga 1,0 rentang logis.
Memetakan ruang warna kamera ke ruang CIE XYZ dengan penyesuaian keseimbangan putih
Sebuah. Konversikan ke XYZ (D50) menggunakan CameraToXYZ_D50 = Chromatic_adapatation_matrix * CameraToXYZ_matrix
Ubah CIE XYZ ke sRGB
Sebuah. Hitung linear RGB menggunakan CIE XYZ ke Linear RGB matrix
b. Hitung Rec709 sRGB menggunakan transformasi kurva gamma pada RGB linier
- Konversikan sRGB ke 8bit dan kompres menggunakan JPEG
Jika ini benar, saya tidak mengerti mengapa Jpeg tidak bisa memiliki white balance diperbaiki dengan cara yang sama seperti Raw!
Apakah hanya karena kompresi JPEG dan file tiff 32bit yang hilang tidak akan memiliki masalah ini?
sumber
Jawaban:
Ada perbedaan mendasar antara bekerja dengan data mentah aktual untuk menghasilkan interpretasi berbeda dari data mentah daripada interpretasi awal 8-bit dari file mentah yang Anda lihat di layar dibandingkan dengan bekerja dengan jpeg 8-bit di mana seluruh informasi dalam file adalah apa yang Anda lihat di layar Anda.
Ketika Anda menggunakan clicker putih pada file "mentah", Anda tidak mengoreksi gambar yang ditampilkan di layar Anda (yang merupakan rendering 8-bit seperti jpeg yang merupakan salah satu dari banyak interpretasi yang mungkin dari data dalam file gambar mentah ). Anda memberi tahu aplikasi konversi mentah untuk kembali dan mengubah data dalam file mentah menjadi gambar yang dapat ditampilkan menggunakan serangkaian pengganda saluran warna yang berbeda.
Anda sedang membuat gambar lain dari data mentah yang sama yang digunakan untuk membuat versi pertama yang Anda lihat di layar Anda. Tetapi aplikasi akan kembali ke awal dan menggunakan semua data dalam file mentah untuk membuat interpretasi data mentah kedua yang berbeda berdasarkan pada instruksi Anda yang berbeda mengenai bagaimana data tersebut harus diproses. Itu tidak dimulai dengan informasi terbatas yang ditampilkan di layar Anda dan memperbaikinya. Jika berhasil, Anda akan mendapatkan hasil yang sama seperti saat bekerja dengan jpeg. ¹
File mentah berisi lebih banyak informasi daripada yang ditampilkan pada monitor Anda ketika Anda 'membuka' file mentah. File gambar mentah berisi data yang cukup untuk membuat interpretasi berbeda dari data tersebut dalam jumlah tak terbatas yang hampir tak terbatas dalam file jpeg 8-bit.²
Setiap kali Anda membuka file mentah dan melihatnya di layar Anda, Anda tidak melihat "THE raw file." ³ Anda melihat satu di antara sejumlah kemungkinan interpretasi data dalam file mentah. Data mentah itu sendiri berisi ukuran nilai kecerahan (monokrom) tunggal oleh setiap piksel dengan baik. Dengan sensor kamera bertopeng Bayer (sebagian besar kamera digital berwarna menggunakan filter Bayer) setiap piksel memiliki filter warna di depannya yaitu 'merah', 'hijau', atau 'biru' ('warna' sebenarnya dari filter di sebagian besar Masker Bayer ada di mana saja dari hijau agak kekuningan ke oranye-kuning untuk 'merah ", sedikit hijau kebiruan untuk' hijau 'dan sedikit ungu kebiruan untuk' biru '-warna-warna ini kurang lebih sesuai dengan pusat sensitivitas untuk tiga jenis kerucut di retina kami ). Untuk diskusi yang lebih lengkap tentang bagaimana kita mendapatkan informasi warna dari nilai kecerahan tunggal yang diukur pada setiap pixel dengan baik, silakan lihat file RAW menyimpan 3 warna per pixel, atau hanya satu?
Ketika Anda mengubah white balance dari file mentah Anda tidak membuat perubahan pada interpretasi 8-bit dari file mentah yang Anda lihat di layar Anda, Anda membuat perubahan pada cara data mentah monokromatik 14-bit linier ditafsirkan dan kemudian ditampilkan di layar Anda dengan white balance yang diperbarui.Artinya, Anda menggunakan keuntungan penuh dari 16.384 langkah linear monokromatik diskrit yang berisi file mentah untuk setiap piksel, bukan 256 langkah gamma diskrit yang dikoreksi dalam tiga saluran warna untuk setiap piksel yang Anda lihat di layar 8-bit sebagai representasi dari file mentah itu. Anda juga memanfaatkan semua informasi lain yang terkandung dalam data gambar mentah, termasuk hal-hal seperti piksel bertopeng dan informasi lain yang dibuang ketika file dikonversi ke format 8-bit untuk ditampilkan di layar Anda.
Bagaimana gambar yang Anda lihat pada monitor Anda ketika Anda membuka file mentah akan terlihat ditentukan oleh bagaimana aplikasi yang Anda gunakan untuk membuka file menafsirkan data mentah dalam file untuk menghasilkan gambar yang dapat dilihat. Tapi itu bukan satu-satunya cara untuk menampilkan "THE raw file asli." Hanya saja cara aplikasi Anda - atau kamera yang menghasilkan pratinjau jpeg yang dilampirkan ke file mentah - telah memproses informasi dalam file mentah untuk menampilkannya di layar Anda.
Setiap aplikasi memiliki set parameter default sendiri yang menentukan bagaimana data mentah diproses. Salah satu parameter paling signifikan adalah bagaimana white balance yang digunakan untuk mengkonversi data mentah dipilih. Sebagian besar aplikasi memiliki banyak set parameter yang berbeda yang dapat dipilih oleh pengguna, yang kemudian bebas untuk mengubah pengaturan individual dalam set instruksi yang digunakan untuk awalnya menginterpretasikan data dalam file mentah. Banyak aplikasi akan menggunakan pengganda white balance / color channel yang diperkirakan oleh kamera (saat menggunakan AWB dalam kamera) atau dimasukkan oleh pengguna (saat menggunakan koreksi CT + WB dalam kamera) pada saat foto diambil. Tapi itu bukan satu - satunya white balance yang sah yang dapat digunakan untuk menafsirkan data mentah.
Dengan file mentah 14-bit, ada 16.384 nilai terpisah antara 0 (hitam murni) dan 1 (putih murni). Itu memungkinkan langkah yang sangat kecil antara setiap nilai. Tapi ini adalah nilai luminance monokrom . Ketika data didemosisis, kurva gamma diterapkan, dan konversi ke ruang warna tertentu dilakukan, pengganda konversi WB biasanya diterapkan pada nilai 14-bit ini. Langkah terakhir dalam proses ini adalah untuk memetakan kembali nilai yang dihasilkan ke 8-bit sebelum melakukan kompresi file lossy. 8-bit hanya memungkinkan 256 nilai diskrit antara 0 (hitam murni) dan 1 (putih murni). Jadi setiap langkah antara nilai adalah 64X lebih besar daripada dengan 14-bit.
Jika kami kemudian mencoba mengubah WB dengan gradasi courser yang banyak ini, area yang kami coba perluas mendorong setiap langkah dalam data yang kami gunakan lebih jauh dari satu langkah dalam file yang dihasilkan. Jadi gradasi di area itu menjadi lebih kasar. Area yang kami susutkan mendorong setiap langkah tersebut ke ruang yang lebih kecil daripada satu langkah di file yang dihasilkan. Tapi kemudian langkah-langkah itu semua ditata ulang agar sesuai dengan gradasi 256 langkah antara '0' dan '1'. Ini sering menghasilkan garis banding atau posterisasi alih-alih transisi yang mulus.
¹ Agar lebih cepat dan kurang intensif sumber daya, beberapa aplikasi pemrosesan mentah akan memiliki mode "cepat" yang benar-benar mengubah representasi 8-bit yang ada di layar Anda ketika Anda memindahkan slider pengaturan. Hal ini sering menghasilkan garis melintang atau artefak yang tidak diinginkan lainnya, seperti warna ungu yang Anda lihat di jpeg yang berubah warna dalam pertanyaan. Ini hanya berlaku untuk pratinjau yang Anda lihat. Ketika file dikonversi dan disimpan (diekspor), instruksi yang sama sebenarnya diterapkan pada data mentah saat diproses kembali dan banding atau artefak lainnya tidak terlihat (atau tidak separah).
² Tentu, Anda bisa mengambil gambar yang mengandung satu warna murni dalam seluruh bidang tampilan. tetapi sebagian besar foto berisi variasi rona, rona, dan tingkat kecerahan yang luas.
³ Silakan lihat: Mengapa gambar RAW saya sudah berwarna jika debayering belum dilakukan?
Anda dapat mengubah warna jpeg ke derajat, tetapi sebagian besar informasi yang diperlukan untuk menghasilkan semua warna yang dapat Anda hasilkan dengan data mentah sudah tidak ada lagi. Itu dibuang selama konversi ke RGB dan reduksi menjadi 8-bit sebelum kompresi. Satu-satunya hal yang tersisa untuk Anda kerjakan adalah nilai setiap piksel dalam tiga saluran warna tersebut. Kurva respons untuk masing-masing saluran tersebut dapat digambar ulang, tetapi semua yang dilakukan adalah menaikkan atau menurunkan nilai untuk saluran warna di masing-masing piksel gambar. Itu tidak kembali dan mengulang demosaicing berdasarkan pengganda saluran baru, karena informasi itu tidak disimpan dalam JPEG.
Sangat penting untuk memahami bahwa dalam contoh gambar ditambahkan ke pertanyaan, gambar kedua tidak berasal dari gambar pertama. Kedua gambar pertama dan kedua adalah dua interpretasi berbeda dari data mentah yang persis sama.Tidak ada yang lebih asli dari yang lain. Tidak ada yang lebih "benar" daripada yang lain dalam hal representasi yang valid dari data yang terkandung dalam file mentah. Keduanya merupakan cara yang sah untuk menggunakan data dalam file mentah untuk menghasilkan gambar 8-bit. Yang pertama adalah cara aplikasi konversi mentah Anda dan / atau pratinjau jpeg yang dihasilkan di kamera Anda memilih untuk menginterpretasikan data. Yang kedua adalah cara aplikasi konversi mentah Anda menafsirkan data setelah Anda memberi tahu nilai sensor mentah apa yang ingin Anda terjemahkan sebagai abu-abu / putih. Ketika Anda mengklik pada bagian yang sama dari gambar jpeg, banyak informasi warna yang diperlukan untuk memperbaiki gambar agar terlihat seperti versi kedua file mentah sudah tidak ada lagi dan dengan demikian tidak dapat digunakan.
Tidak, meskipun kompresi lossy sebagian besar. Begitu juga reduksi menjadi 8-bit, yang membuat setiap langkah antara '0' (hitam murni) dan '1' (saturasi penuh) 64X sama besarnya dengan file mentah 14-bit. Tapi itu melampaui kompresi jpeg.
Beberapa paragraf dari jawaban ini untuk RAW ke TIFF atau PSD 16bit kehilangan kedalaman warna :
Ada sejumlah besar pertanyaan yang ada di sini yang mencakup banyak hal yang sama. Berikut adalah beberapa di antaranya yang mungkin bermanfaat bagi Anda:
File RAW menyimpan 3 warna per piksel, atau hanya satu?
RAW ke TIFF atau PSD 16bit kehilangan kedalaman warna
Bagaimana cara memulai dengan pengaturan JPEG dalam kamera di Lightroom?
Mengapa tampilan file RAW berubah ketika beralih dari "lighttable" ke "darkroom" di Darktable?
nikon d810 manual WB tidak sama dengan "As Shot" di Lightroom.
Mengapa gambar RAW terlihat lebih buruk daripada JPEG dalam program pengeditan?
Mencocokkan warna di Lightroom ke alat editing lainnya
Sementara menembak di RAW, Anda harus pasca-proses untuk membuat gambar terlihat baik?
Mengapa ada penurunan kualitas dari kamera ke layar komputer
Mengapa foto saya terlihat berbeda di Photoshop / Lightroom vs Canon EOS utilitas / di kamera?
Mengapa gambar saya terlihat berbeda di kamera saya daripada ketika diimpor ke laptop saya?
Bagaimana cara meniru pemrosesan dalam kamera di Lightroom?
Konversi Nikon-kamera vs lightroom jpg
Mengapa pratinjau Lightroom / Photoshop saya berubah setelah memuat?
sumber
Jawaban sederhana adalah karena kamera Anda dan prosesor RAW Anda (LR, Darktable, untuk beberapa nama) menggunakan algoritma yang berbeda untuk memproses file RAW. Alasannya banyak, dan kami tidak dapat mengevaluasi algoritma tersebut karena banyak yang merupakan rahasia dagang. Misalnya, suhu warna siang hari Canon (EOS 700D) sekitar 5200K, sedangkan Lightroom adalah 5500K. Dalam beberapa situasi ini membuat perbedaan.
Lebih tepatnya, file RAW tidak memiliki suhu warna yang ditentukan sebelumnya. Ini dimasukkan sebagai informasi meta. Prosesor RAW menerapkan WB tertentu ketika mereka melakukan operasi yang Anda gambarkan.
Sunting: dan berdasarkan komentar Anda: Anda tidak dapat mengubah suhu warna banyak pada file JPEG karena sudah "dimasak". Temperatur warna sudah diterapkan, dan Anda tidak memiliki kedalaman warna yang cukup untuk "menggeser" warna.
sumber
Hal ini dimungkinkan untuk JPEG white balance, tapi alat editing yang digunakan untuk beroperasi pada RAW vs gambar lain cenderung berperilaku berbeda (algoritma yang berbeda). Lebih lanjut:
Alat dropper tidak tepat, yang membuatnya sulit untuk mereplikasi hasil.
The bit mendalam dari JPEG membatasi berapa banyak warna bisa digeser vs RAW.
The gamma kurva messes semuanya.
Perhitungan pada data linier vs data logaritmik berperilaku berbeda.
Ini bukan cara kerjanya, tetapi untuk menggambarkan:
Misalkan Anda ingin mengalikan beberapa data (1, 4, 8) dengan 2. Hasilnya adalah (2, 8, 16). Dengan data linier, hasil maksimal, 16, adalah empat kali hasil minimum, 2.
Tetapi dengan representasi logaritmik, kesenjangan antara nilai-nilai yang berdekatan, seperti 2 5 dan 2 6 , jauh lebih besar daripada perbedaan antara nilai-nilai linier, 5 dan 6. Selanjutnya, hasil maksimal, 2 16 , tidak hanya 32768 kali lebih besar dari hasil min, 2 2 , itu juga 256 kali nilai aslinya, 2 8 .
sumber