Yazılım neden beyaz dengesini RAW dosyaları için JPEG'lerden daha doğru bir şekilde düzeltebilir?


11

İşlem sonrası JPEG beyaz dengesi düzeltmeleri neden Raw ile beyaz dengesi kadar doğru değil?

Anladığım kadarıyla, jpeg çekerken kamera dahili olarak aşağıdaki adımları gerçekleştirir:

  1. Ham sensör verilerini (demosaicing / debayering) algoritmasını kullanarak dönüştürün.
  2. Doğrusal boşluğa dönüştür

    a. Arama tablosu ham değerini doğrusal boşluğa eşleme kullanma

    b. Daha sonra her piksel için siyah seviyesi hesaplanır ve çıkarılır.

    c. Her piksel için değer daha sonra Beyaz Seviye kullanılarak 0,0 ile 1,0 arasında yeniden ölçeklendirilir

    d. Yeniden ölçeklendirilen değer 0,0 ile 1,0 mantıksal aralığa kırpılır.

  3. Beyaz dengesi ayarıyla kamera renk alanını CIE XYZ alanına eşleme

    a. CameraToXYZ_D50 = Chromatic_adapatation_matrix kullanarak XYZ (D50) biçimine dönüştür * CameraToXYZ_matrix

  4. CIE XYZ birimini sRGB birimine dönüştür

    a. Doğrusal RGB matrisine CIE XYZ kullanarak doğrusal RGB hesaplayın

    b. Doğrusal RGB'de gama eğrisi dönüşümünü kullanarak Rec709 sRGB'yi hesaplayın

  5. SRGB'yi 8 bit'e dönüştürün ve JPEG kullanarak sıkıştırın

Bu doğruysa, Jpeg'in neden beyaz dengesini Raw ile aynı şekilde düzeltemediğini anlamıyorum!

Sadece JPEG ve 32bit tiff dosyasının kayıp sıkıştırma nedeniyle bu sorunu olmaz mı?

resim açıklamasını buraya girin


1
JPEG WB'nin ham kadar doğru olmadığını düşünmenizi sağlayan şey nedir? Doğru ile ne demek istiyorsun ? Kameranın genellikle bir ham dönüştürme uygulaması kullanan yetenekli bir kişinin yanı sıra tahmin etmediğini mi kastediyorsunuz? Veya başka bir şey?
Michael C

Demek istediğim, fotoğraf makineme aynı resmin ham ve jpeg kopyasını kaydetmesini ve ardından her ikisini de ışık odasında açmasını ve görüntüdeki tam olarak aynı yere tıklayarak renk seçiciyi kullanarak beyaz dengesini doğru yapmaya çalışmamı söylerdim jpeg hala tuhaf bir renge sahipken mükemmel.
skyde

2
Bu çok farklı bir soru. Aslında istediğini düşündüğümü yansıtacak başlığı düzenleyeceğim ...
Lütfen Profilim

5
İlk görüntü "orijinal ham dosya" DEĞİLDİR. Ham dönüşüm uygulamanızın 8 bit olarak ekranınızda oluşturduğu ve görüntülediği ham verilerin sonsuz sayıda olası yorumundan biridir.
Michael C

2
Muhtemelen en önemli nokta değildir, ancak 2. adımınız aslında iki ayrı adımdır ve bunları sunduğunuz sırayla gerçekleştirilemeyebilir (bu, WB'nin son JPEG'e "pişirildiği" ek bir yol olacaktır) renk).
hurdalık

Yanıtlar:


9

Yazılım neden beyaz dengesini RAW dosyaları için JPEG'lerden daha doğru bir şekilde düzeltebilir?

Ham verilerin farklı bir yorumu üretmek için gerçek ham verilerle çalışmak arasında, ekranınızda gördüğünüz ham dosyanın ilk 8 bit yorumundan, tüm bilgilerin bulunduğu 8 bitlik bir jpeg ile çalışmaya kıyasla, temel bir fark vardır. dosya, ekranda gördüğünüz şeydir.

"Ham" dosyada beyaz tıklamayı kullandığınızda, ekranınızda görüntülenen görüntüyü (ham görüntü dosyasındaki verilerin olası yorumlarından biri olan jpeg benzeri 8 bit işleme) düzeltmezsiniz . ). Ham dönüşüm uygulamasına geri dönmesini ve ham dosyadaki verileri farklı bir renk kanalı çarpanları kümesini kullanarak görüntülenebilir bir görüntüye dönüştürmesini söylüyorsunuz.

Ekranınızda gördüğünüz ilk sürümü oluşturmak için kullanılan aynı ham verilerden başka bir resim oluşturuyorsunuz. Ancak uygulama en başa kadar gider ve ham dosyadaki tüm verileri kullanarak, verilerin nasıl işlenmesi gerektiğine ilişkin farklı talimatlarınıza dayanarak ham verilerin ikinci ve farklı bir yorumunu oluşturur. Ekranınızda görüntülenen sınırlı bilgilerle başlamıyor ve düzeltmiyor. Eğer bunu yaparsa, jpeg ile çalışırken yaptığınız aynı sonucu elde edersiniz. ¹

Ham dosya, bir ham dosyayı 'açtığınızda' monitörünüzde görüntülenenden çok daha fazla bilgi içerir. Ham görüntü dosyaları, 8 bitlik bir jpeg dosyasına sığacak bu verilerin sonsuz sayıda farklı yorumu oluşturmak için yeterli veri içerir.

Bir ham dosyayı açıp ekranınızda her görüntülediğinizde "Ham dosyayı" görüntülemezsiniz. ³ Ham dosyadaki verilerin sayısız sayısız olası yorumu arasından birini görüntülüyorsunuz . Ham verilerin kendisi, her piksel kuyusu tarafından tek (tek renkli) bir parlaklık değeri ölçümü içerir. Bayer maskeli kamera sensörlerinde (renkli dijital kameraların büyük çoğunluğu Bayer filtreleri kullanır) her piksel kuyusunun önünde 'kırmızı', 'yeşil' veya 'mavi' (gerçek 'renkleri') renk filtresi bulunur Çoğu Bayer Maskesindeki filtreler 'kırmızı' için hafif sarımsı-yeşilden turuncu-sarıya, 'yeşil' için biraz mavimsi-yeşil ve 'mavi' için biraz mavimsi-mordur -bu renkler az çok retinalarımızdaki üç koni türü için hassasiyet merkezine karşılık gelir ). Her piksel kuyusunda ölçülen tek parlaklık değerlerinden nasıl renk bilgisi aldığımızla ilgili daha ayrıntılı bir tartışma için lütfen RAW dosyalarının piksel başına 3 renk sakladığını mı, yoksa yalnızca bir tanesini mi?

Ekranınızda gördüğünüz ham dosyanın 8 bit yorumunda değişiklik yapmadığınız bir ham dosyanın beyaz dengesini değiştirdiğinizde, doğrusal 14 bit tek renkli ham verilerin yorumlanma ve ardından güncellenmiş beyaz dengesi ile ekranınızda görüntülenir.Yani, ham dosyanın her bir piksel için içerdiği 16,384 ayrık monokromatik doğrusal adımların tam avantajını kullanıyorsunuz, 8 bit ekranınızda gördüğünüz her piksel için üç renk kanalında 256 ayrık gama düzeltilmiş adım değil bu ham dosyanın bir temsili. Maskelenmiş pikseller ve dosya ekranınızda görüntülenecek 8 bit biçime dönüştürüldüğünde atılan diğer bilgiler de dahil olmak üzere ham görüntü verilerinde bulunan diğer tüm bilgilerden de yararlanıyorsunuz.

Ham dosyayı açtığınızda monitörünüzde gördüğünüz görüntünün nasıl görüneceğini, dosyayı açmak için kullandığınız uygulamanın görüntülenebilir bir görüntü oluşturmak için dosyadaki ham verileri nasıl yorumladığı belirler. Ancak bu "orijinal ham dosyayı" görüntülemenin "tek" yolu değildir. Bu, uygulamanızın veya ham dosyaya eklenmiş jpeg önizlemesini üreten kameranın, ham dosyadaki bilgileri ekranınızda görüntülemek için işlediği yoldur.

Her uygulamanın, ham verilerin nasıl işleneceğini belirleyen kendi varsayılan parametre seti vardır. En önemli parametrelerden biri , ham verileri dönüştürmek için kullanılan beyaz dengesinin nasıl seçildiğidir. Çoğu uygulama, kullanıcı tarafından seçilebilen birçok farklı parametre kümesine sahiptir; bunlar daha sonra ham dosyadaki verileri başlangıçta yorumlamak için kullanılan talimatlar kümesi içinde bireysel ayarları değiştirmekte serbesttir. Birçok uygulama, fotoğraf çekilirken fotoğraf makinesi tarafından tahmin edilen (fotoğraf makinesinde AWB kullanılırken) veya kullanıcı tarafından girilen (fotoğraf makinesinde CT + WB düzeltmesi kullanıldığında) beyaz dengesi / renk kanalı çarpanlarını kullanır. Ancak ham verileri yorumlamak için kullanılabilecek tek meşru beyaz dengesi bu değildir .

14 bit ham dosya ile 0 (saf siyah) ve 1 (saf beyaz) arasında 16.384 ayrı değer vardır. Bu, her değer arasında çok küçük adımlara izin verir. Ancak bunlar monokrom parlaklık değerleridir. Veriler kaldırıldığında, gama eğrileri uygulanır ve belirli bir renk uzayına dönüştürme yapılır, WB dönüşüm çarpanları genellikle bu 14 bit değerlere uygulanır. İşlemdeki son adım, kayıplı dosya sıkıştırması yapmadan önce ortaya çıkan değerleri 8 bite kadar yeniden eşlemektir. 8-bit sadece 0 (saf siyah) ve 1 (saf beyaz) arasında 256 ayrı değere izin verir. Böylece, değerler arasındaki her adım 14-bit'ten 64X daha büyüktür.

Daha sonra WB'yi bu çok sayıdaki derecelendirmeyle değiştirmeye çalışırsak, genişletmeye çalıştığımız alanlar, kullandığımız verilerdeki adımların her birini sonuç dosyasında tek bir adımdan daha ileri iter. Böylece bu bölgelerdeki geçişler daha da kabalaşıyor. Küçüldüğümüz alanlar, bu adımların her birini, elde edilen dosyadaki tek bir adımdan daha küçük bir alana iter. Ancak daha sonra bu adımların tümü, '0' ve '1' arasındaki 256 adım derecelendirmesine uyacak şekilde yeniden düzenlenir. Bu genellikle yumuşak geçişler yerine bantlama veya posterizasyon ile sonuçlanır.

Faster Daha hızlı ve daha az kaynak yoğun olması için, bazı ham işleme uygulamalarında, bir ayar kaydırıcısını hareket ettirdiğinizde ekranınızdaki mevcut 8 bitlik gösterimi gerçekten değiştiren "hızlı" bir mod olacaktır. Bu genellikle bantlama veya sorudaki renk değiştiren jpeg'de gördüğünüz mor renk tonu gibi diğer istenmeyen yapaylıklarla sonuçlanır. Bu, yalnızca görüntülemekte olduğunuz önizlemeye uygulanır. Dosya dönüştürüldüğünde ve kaydedildiğinde (dışa aktarıldığında), ham verilere yeniden işlendiği ve bantlama veya diğer yapay nesnelerin görülmediği (veya şiddetli olmadığı) durumlarla aynı talimatlar uygulanır.

² Tabii ki, tüm görüş alanı içinde tek bir saf renk içeren bir resim çekebilirsiniz. ancak çoğu fotoğraf çok çeşitli ton, renk tonu ve parlaklık düzeyleri içerir.

³ Lütfen bakınız: Henüz ödeme yapılmadıysa RAW görüntülerim neden zaten renkli?

Bu, düşük hassasiyetin neden olduğu görüntüdeki şeritlenmeyi veya posterizasyonu açıklayacaktır, ancak beyaz noktayı doğru pozisyonda hareket ettirmek mümkün olmalıdır hayır?

Bir jpeg'in rengini bir dereceye kadar değiştirebilirsiniz, ancak ham verilerle üretebileceğiniz tüm renkleri üretmek için gereken bilgilerin çoğu artık orada değildir. RGB'ye dönüştürme ve sıkıştırmadan önce 8 bite düşürme sırasında atıldı . Çalışmak için kalan tek şey, bu üç renk kanalındaki her pikselin değerleridir. Bu kanalların her biri için yanıt eğrileri yeniden çizilebilir, ancak tek yapmanız gereken görüntü piksellerinin her birinde o renk kanalının değerini artırmak veya azaltmaktır. Geri dönmez ve yeni kanal çarpanlarına dayalı olarak demografiyi yeniden yapmaz, çünkü bu bilgiler JPEG'de korunmaz.

Soruya eklenen örnek görüntüde, ikinci görüntünün ilk görüntüden türetilmediğini anlamak çok önemlidir. Hem birinci hem de ikinci görüntüler, tamamen aynı ham verilerin iki farklı yorumu.İkisi de diğerinden daha orijinal değil. Her ikisi de ham dosyada bulunan verilerin geçerli bir temsili olması bakımından diğerinden daha “doğru” değildir. Her ikisi de 8 bit görüntü oluşturmak için ham dosyadaki verileri kullanmanın mükemmel meşru yoludur. Birincisi, ham dönüşüm uygulamanızın ve / veya kameranızda oluşturulan jpeg önizlemesinin verileri yorumlamayı seçmesidir. İkincisi, ham dönüşüm uygulamanızın, hangi ham sensör değerlerinin gri / beyaz olarak çevrilmesini istediğinizi söyledikten sonra verileri yorumlama şeklidir. Jpeg görüntüsünün aynı bölümünü tıklattığınızda, görüntüyü ham dosyanın ikinci sürümüne benzeyecek şekilde düzeltmek için gereken renk bilgilerinin çoğu artık orada değildi ve bu nedenle kullanılamıyordu.

Sadece JPEG ve 32bit tiff dosyasının kayıp sıkıştırma nedeniyle bu sorunu olmaz mı?

Hayır, kayıplı sıkıştırma bunun büyük bir parçası olmasına rağmen. 8 bitlik azalma, '0' (saf siyah) ve '1' (tam doygunluk) 64X arasındaki her adımı 14 bit ham dosya ile aynı büyüklükte yapar. Ancak jpeg sıkıştırmasının ötesine geçer.

Gelen paragraflar bir çift bu cevap için TIFF veya PSD 16bit RAW renk derinliğini kaybeder :

Ham dosyasındaki veriler sonra dönüştürülmüş demosaiced bir içine, gama TIFF dosyası düzeltilmiş, süreç geri döndürülemez.

TIFF dosyaları, içerdikleri bilgilere "pişmiş" olan tüm bu işlem adımlarına sahiptir. Sıkıştırılmamış 16 bitlik bir TIFF dosyası, her birinin verileri saklama biçimi nedeniyle türetildiği tipik bir ham dosyadan çok daha büyük olmasına rağmen, dönüşümü tersine çevirmek ve aynı kesin verileri çoğaltmak için gereken tüm bilgileri içermez ham dosyada bulunan. Ham dosyanın piksel düzeyi verilerinde belirli bir TIFF üretmek için kullanılabilecek sonsuz sayıda farklı değer vardır. Benzer şekilde, ham verilerin TIFF'yi üretmek için nasıl işlendiğine dair alınan kararlara bağlı olarak, ham görüntü dosyasındaki verilerden üretilebilecek sonsuz sayıda TIFF dosyası vardır.

16 bit TIFF'lerin 8 bit TIFF'lere kıyasla avantajı, görüntüdeki her renk kanalı için en koyu ve en parlak değerler arasındaki adım sayısıdır. Bu daha ince adımlar, ton geçişi alanlarında bantlama gibi yapaylıklar oluşturmadan sonuçta 8 bit formata dönüştürülmeden önce daha fazla manipülasyona izin verir.

Ancak 16 bit TIFF'in "0" ile "65,535" arasında 12 bit (0-4095) veya 14 bit (0-16383) ham dosyadan daha fazla adımı olması, TIFF dosyasının gösterdiği anlamına gelmez aynı veya daha fazla parlaklık aralığı. 14 bit ham dosyadaki veriler bir TIFF dosyasına dönüştürüldüğünde, siyah nokta 2048 gibi bir değerde seçilebilirdi. Ham dosyada 2048'den düşük bir değere sahip herhangi bir piksele 0 değeri atanır TIFF. Benzer şekilde, beyaz nokta 8,191 olarak ayarlanmışsa, ham dosyada 8191'den daha yüksek herhangi bir değer 65,535 olarak ayarlanır ve ham dosyadaki en parlak ışık durağı geri dönülmez şekilde kaybolur. Ham dosyada seçilen beyaz noktadan daha parlak olan her şey TIFF'de aynı değere sahiptir, bu nedenle hiçbir ayrıntı korunmaz.

Burada aynı zeminin çoğunu kapsayan çok sayıda mevcut soru var. Yararlı bulabileceğiniz birkaç tanesi:

RAW dosyaları piksel başına 3 renk mi yoksa yalnızca bir tane mi?
RAW to TIFF veya PSD 16bit renk derinliğini kaybediyor
Lightroom'daki kamera içi JPEG ayarlarıyla nasıl başlayabilirim?
Darktable'da "lighttable" dan "darkroom" a geçiş yaparken RAW dosyalarının görünümü neden değişiyor?
nikon d810 manual WB Lightroom'daki "As Shot" ile aynı değil
RAW görüntüler düzenleme programlarında neden JPEG'den daha kötü görünüyor?
Lightroom'daki renkleri diğer düzenleme araçlarıyla eşleştirme
RAW ile çekim yaparken, görüntünün iyi görünmesi için onu son işlemden geçirmeniz mi gerekiyor?

Neden kameradan bilgisayar ekranına kalite kaybı var
Fotoğraflarım Photoshop / Lightroom ve Canon EOS yardımcı programında / kamerada neden farklı görünüyor?
Görüntülerim neden dizüstü bilgisayarıma aktarıldığımdan farklı görünüyor?
Lightroom'da kamera içi işleme nasıl taklit edilir?
Nikon in-camera vs lightroom jpg dönüşümü
Lightroom / Photoshop önizlemem yüklendikten sonra neden değişiyor?


2
Bu, düşük hassasiyetin neden olduğu görüntüdeki şeritlenmeyi veya posterizasyonu açıklar, ancak beyaz noktayı doğru pozisyonda hareket ettirmek hala mümkün olmalıdır?
skyde

2
Evet, bu TIFF renk gamına dönüştürüldüğünde ham rengin kırpılmasının mümkün olduğunu söylüyor. Bu nedenle renk dengesi düzeltmesi için gerekli olabilecek bilgileri hala kaybettik.
skyde

1
Skyde ile birlikteyim: Renk çözünürlüğünde daha az ayrık adımlar var, beyaz dengesinin iyi görünür farklı sonuçlarla sonuçlandığı anlamına gelmez. Özellikle jpeg versiyonunun ağır mor bir tonu varsa. Daha uygun bir teori, olası dahili düzeltme değerlerinin jpeg'de ham olandan daha dar bir aralığa kenetlenmesi, ki bu ham bir ham sensör verilerinden yorumlanır ve jpeg, ayrı renk değerleridir.
Horitsu

1
Burada da skyde ile katılıyorum. Bu, ham ve jpeg formatları arasındaki farklar hakkında uzun ve alakasız bir hikaye. Burada asıl soruyu cevaplayan hiçbir şey yok.
jarnbjo

1
@jarnbjo Cevabın çoğu, görüntü dosyasındaki gerçek ham veriler ile ham verilerin olası birçok yorumu arasında "görüntülendiğinde" ekranda gördükleri arasındaki farkı açıklamak için kullanılır. Bu tür soruların çoğunun, birinin ekranında gördüğü şeyin asla "THE" ham dosyası olmadığı konusunda temel bir eksiklik nedeniyle ortaya çıktığı tecrübem oldu. Deneyimime göre, bunu birkaç farklı şekilde belirtmek, ampulün nihayetinde sorgulayan için devam etme şansını arttırıyor. YMMV.
Michael C

3

Bunun basit cevabı, kameranızın ve RAW işlemcinizin (LR, Darktable, birkaç isim) RAW dosyalarını işlemek için farklı algoritmalar kullanmasıdır. Sebepleri çoktur ve bu algoritmaları değerlendiremeyiz çünkü çoğu ticari sırdır. Örneğin, Canon'un (EOS 700D) Günışığı renk sıcaklığı 5200K civarında, Lightroom'lar ise 5500K'dır. Bazı durumlarda bu bir fark yaratır.

Kesin olarak, RAW dosyalarında önceden tanımlanmış renk sıcaklığı yoktur. Meta bilgi olarak dahil edilir. RAW işlemciler, tanımladığınız işlemleri gerçekleştirirken belirli WB uygular.

Düzenleme: ve yorumunuza dayanarak: Zaten "pişmiş" olduğundan JPEG dosyasında çok fazla renk sıcaklığını değiştiremezsiniz. Renk sıcaklığı zaten uygulanmış ve renkleri "kaydırmak" için yeterli renk derinliğiniz yok.


Darktable'ın algoritmaları ticari sır değildir.
Lütfen Profilim

@mattdm, doğru. Ancak LR, ON1, CaptureOne, diğer kaynak dışı RAW işlemciler ...
Romeo Ninov

Ama bunlardan herhangi biri soru ile gerçekten alakalı mı? Beyaz dengesi düzeltmesinin temelleri açık yazılımda yaygın olarak bilinmekte ve uygulanmaktadır.
Lütfen Profilim

Temel bilgiler evet. Ancak uygulama farklı olabilir. Ve tam olarak bu ayrıntılar genellikle gizli tutulur (kaynak dışı yazılımlar için)
Romeo Ninov

1

Bu ise beyaz dengesi JPEG mümkün, ancak diğer görüntüleri farklı (farklı algoritmalar) davranma eğilimindedirler vs düzenleme araçları RAW çalıştırmak için kullandı. Daha ileri:

  • Damlalık aracı, kesin olmayan zor sonuçlar çoğaltmak için yapar.

  • Bit derinliğinde JPEG çoğunu renkler RAW vs kaydırılabilir nasıl sınırlar.

  • Gama eğrisi messes her şey.

  • Lineer veriler ve logaritmik veriler üzerindeki hesaplamalar farklı davranır.

Bu tam olarak değil çalıştığını, ancak göstermek için nasıl:

  • Bazı verileri (1, 4, 8) 2 ile çarpmak istediğinizi varsayalım. Sonuç (2, 8, 16). Doğrusal verilerle, maksimum sonuç (16) minimum sonucun dört katıdır, 2.

  • Ancak logaritmik temsillerle, 2 5 ve 2 6 gibi bitişik değerler arasındaki boşluk, 5 ve 6 doğrusal değerleri arasındaki farktan çok daha büyüktür. Dahası, maksimum sonuç, 2 16 , min sonuç, 2 2 , aynı zamanda orijinal değerinin 256 katıdır, 2 8 .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.