Corona im Forum

Farbtiefe


gugu

Sehr aktives Mitglied
Da das Thema in dem Thread wo es aufkam etwas OT war, poste ich nochmal ein paar Gedanken zu dem Thema Farbtiefe.

Im wesentlichen ging es darum, daß der Begriff Farbtiefe als solcher kritisiert wurde, denn es handele sich dabei ja nicht um die tatsächliche Farbtiefe. Dazu wurde ich auch auf andere Seiten im Netz verwiesen. Unter anderem Dxo Mark.

Abgesehen davon, daß auch bei DxO Mark der Begriff Farbtiefe verwendet wird (auch wenn sie ihm mit ihrer 'Color Sensitivity' geringere Bitzahlen für die jeweiligen Kameras angeben), spielt es meiner Meinung nach gar keine Rolle, wieviele der 14 Bit nun tatsächlich der Realität entsprechen, denn auch die 'falschen' Farbtöne (z.B. bedingt durch Rauschen) sind ja auch Bestandteil des Bildes. Genauso wie man von einer 36MP Kamera spricht, obwohl mit Sicherheit ein Teil der Bildpunkte nichts mit dem Original gemein hat. Die tatsächliche Menge der Bildpunkte sind aber trotzdem 36 Millionen.

Meiner Meinung nach, können auch die Messungen (ich würde es eher Schätzungen nennen) von DoX Mark nicht ganz richtig sein. Wenn man sich z.B. die 'Color Sensitivity' für die D800 anschaut, gibt Dxo Mark diese mit 25,3 Bit an. Bei weniger als 100 ASA wohlgemerkt. Bei 6400 ASA beträgt diese nur noch 16,5 Bit. In Zahlen bedeutet das, bei 100 ASA liefert die Kamera 346 Farbtöne pro Farbkanal, bei 6400 ASA nur noch 47 Farbtöne pro Kanal. Wie die Kamera damit einen Kontrast von eins zu einundzwanzigtausend bewältigt, ist mir schleierhaft :) Wer mag, kann ja auch mal versuchen auszurechnen, wieviele Farben von den 14 Bit (die maximalen 16384 Farbtöne), mit denen die Kamera zweifelsfrei rechnet, nicht eindeutig einer 'richtigen' Farbe zugeordnet werden kann. Ich glaube man kann durchaus seine Zweifel an diesen Werten haben, genauso wie an vielen anderen ihrer 'Messungen'.

Just my 2 cents :)

VG
 

gugu

Sehr aktives Mitglied
Ich habe verstanden, dass die "color matrix" nach ISO17321 einfach durch Inversion aus den Werten der oberen 3 Grafiken bestimmt wird. Ist ja auch logisch.

Und ich habe gesehen, dass die "white balance scales" einfach nur die Kehrwerte der "relative sensitivities" (4. Grafik) sind. Auch das nicht unlogisch, allerdings verstehe ich dann nicht, warum die einen auf die sRGB-Farbkanäle bezogen sind und die anderen auf die Raw-Kanäle. Ist das richtig so? Und wenn ja, warum? In meinen Augen ist das ein Fehler. Ich wüsste jetzt auch nicht, was von beiden richtiger wäre, vermute aber "sRGB".

Kann das jemand erklären?
Gruß, Matthias
Geht es Dir darum, warum die RAW-RGB-Werte und die sRGB-Werte in der color matrix Tabelle in Beziehung gesetzt werden?

Die spektrale Empfindlichkeit der RAW-RGB-Kanäle ergäbe, umgewandelt in sRGB, kein neutrales Weiß/Grau. Die Tabelle gibt an, wie die einzelnen Farbkanäle korrigiert werden müssen, damit sich im sRGB-Farbraum eine neutrales Weiß erzielen lässt. Wenn man die Werte in der color matriix horizontal addiert, ergeben sie immer 1 und wären damit für jeden der einzelnen Farbkanäle gleich empfindlich. Wenn ich das richtig sehe, sind höhere Korrekturwerte schlechter, weil beim Rendering dann laut DxO den Kanälen durch die 'Verstärkung' Rauschen zugefügt wird ...frag' mich jetzt bitte nicht wieso das so ist :)

VG
 

masi1157

ehemaliges Mitglied
Geht es Dir darum, warum die RAW-RGB-Werte und die sRGB-Werte in der color matrix Tabelle in Beziehung gesetzt werden?
Die Frage war:

Und ich habe gesehen, dass die "white balance scales" einfach nur die Kehrwerte der "relative sensitivities" (4. Grafik) sind. Auch das nicht unlogisch, allerdings verstehe ich dann nicht, warum die einen auf die sRGB-Farbkanäle bezogen sind und die anderen auf die Raw-Kanäle. Ist das richtig so? Und wenn ja, warum? In meinen Augen ist das ein Fehler. Ich wüsste jetzt auch nicht, was von beiden richtiger wäre, vermute aber "sRGB".

Kann das jemand erklären?
...frag' mich jetzt bitte nicht wieso das so ist :)
Siehste, und weil ich mir das schon gedacht hatte...

[...] und wollte eigentlich eine kleine beispielhafte Fehlerrechnung machen, bin dabei aber an einer Stelle hängen geblieben.


Gruß, Matthias
 

falconeye

Sehr aktives Mitglied
Die "color sensitivity" bei DxOMark ist natürlich nicht 3x so groß wie deren "tonal range" (klar, der wird ja für Grau bestimmt, nicht für einzelne Farben). Und es ist strenggenommen auch nicht so, dass die "Farbtiefe" pro Farbkanal jeweils gleich groß und 1/3 der "color sensitivity" ist.
Ich habe ja auch (hoffentlich) nicht gesagt, dass Tonal Range und 1/3 Color Sensitivity das gleiche seien. Aber beide werden analog berechnet, halt entweder für die Luminanz oder einen Farbkanal.

Du hast recht, die Color Sensitivity pro Kanal ist farbabhängig. Aber *diese* Komplikation wollte ich nicht auch noch zur Sprache bringen. DxO garantiert aber, dass die Gesamt Color Sensitivity (also die Summe der drei Bit-Werte bzw. das Volumen) so skaliert, als würde ein Farbkanal mit 3 multipliziert. Dies steht auf im Faktor vor dem log2-Term, im Unterschied CS vs. TR.

Daher ist "mein" Faktor 3 eine zulässige Vereinfachung gewesen.

Übrigens gehe ich davon aus, das DxO nur die 4 RGaGbB Luminanzkanäle des RAW-Outputs vermisst und aus der Color-Response alle farbabhängigen Werte sowie alle Luminanztestwerte ableitet, d.h., ohne weitere Messungen. Daher existieren starke Zusammenhänge zwischen den einzelnen Messwerten (Dynamic Range, Tonal Range, 18% Graurauschen, Color Sensitivity) wenn die Color Response bekannt ist. Eine gute Dynamic Range wird sich i.d.R. auch in guter Tonal Range und Color Sensitivity äussern. Allerdings hängt die Color Sensitivity nicht ganz so an den letzten Bits der ADC Auflösung wie der Dynamic Range. Das kann man z.B. ganz gut sehen, wenn man D5100 und D7000 auf DxO vergleicht: überall absolut identisch, nur bei ISO100 hat die D7000 einen Tacken mehr Dynamik, nicht jedoch Color Sensitivity.
 

masi1157

ehemaliges Mitglied
Die Frage hat sich schon erübrigt, glaube ich. Ich lasse es trotzdem mal stehen (u.a. weil ich keinen Knopf "Beitrag löschen" finden kann).


Da die offenbar etwas unverständlich war, formuliere ich sie nochmal neu.

Wenn ich die Messwerte unter CIE-D50 richtig verstehe, wird der der Sensor mit einem neutralen Weiß oder Grau belichtet, das selber wieder mit einer Farbtemperatur von 5000K beleuchtet wurde. Die Messwerte in den 3 Farbkanälen sind dann aber nicht gleich (also 1:1:1), weil sie unterschiedliche Empfindlichkeiten ("relative sensitivity") haben.

Beim Beispiel der D5000 stehen dort "relative sensitivities" von 0,46, 1 und 0,87, laut Beschriftung bezogen auf die sRGB-Kanäle. Um die unterschiedlichen Empfindlichkeiten auszugleichen, müsste ich also, so verstehe ich die Beschriftung, die Werte der sRGB-Kanäle mit den Kehrwerten dieser Zahlen, also 2,18, 1 und 1,15, multiplizieren. Genau diese Zahlen (mal abgesehen von kleinen Rundungsfehlern) stehen auch unter "white balance scales", diese aber bezogen auf die Raw-Kanäle. Und daraus lese ich, dass ich die Raw-Kanäle mit diesen Zahlen multiplizieren muss, um für den Weißabgleich zu kompensieren.

Und das kann nicht beides stimmen, denn dann müssten die Raw-Kanäle (bei dieser Beleuchtung) exakt den sRGB-Kanälen entsprechen, und das tun sie aber offensichtlich nicht. Welche Beschriftung stimmt also? Ich vermute mittlerweile, dass sich sowohl die "relative sensitivities" als auch die "white balance scales" auf die Raw-Kanäle beziehen (oben hatte ich noch sRGB vermutet).



Gruß, Matthias
 

masi1157

ehemaliges Mitglied
[...] wollte eigentlich eine kleine beispielhafte Fehlerrechnung machen, bin dabei aber an einer Stelle hängen geblieben.
Und mit der Annahme, dass sich sowohl "relative sensitivities" als auch "white balance scales" auf die Raw-Kanäle beziehen, versuche ich mal eine kleine Beispielrechnung um zu zeigen, warum weniger trennscharfe Bayer-Filter zu mehr Farbrauschen führen.

Angenommen der Sensor wird mit Weiß oder Grau beleuchtet bei 5000K belichtet. Nach dem Weißabgleich sollen dann in den sRGB-Kanälen gleich große Werte stehen (*). Ich nenne die Signale (man könnte "Photonen" denken), die die 3 Bayerfilter reffen einfach mal willkürlich 100:100:100. Deren Photonenrauschen wäre jeweils √100=10. Aufgrund der "relative sensitivities" erfassen die 3 Raw-Kanäle aber nur Signale (man könnte auch "Elektronen" denken) im Verhältnis 46:100:87. Diese Signale haben "Elektronenrauschen" von √46=6,8, √100=10 und √87=9,3.

Für den Weißabgleich werden sie mir den "white balance scales" 2,18, 1 und 1,15 multipliziert, das ergibt dann wieder 100:100:100, aber schon hier werden die Fehler (das Rauschen) größer: 100±14,8:100±10:100±10,7.

Jetzt müssen diese Werte in sRGB umgerechnet werden, und das passiert über die "color matrix". Das sieht dann ausgeschrieben so aus:

R(sRGB)=(100±14,8)*1,93 + (100±10)*(-0,85) + (100±10,7)*(-0,08)
G(sRGB)=(100±14,8)*(-0,17) + (100±10)*1,51 + (100±10,7)*(-0,34)
B(sRGB)=(100±14,8)*(-0,03) + (100±10)*(-0,41) + (100±10,7)*1,44

Tatsächlich kommt dabei wie gewünscht ein Mittelwert von je 100 in jedem Farbkanal raus. Aber die Fehler! Die addieren sich nicht einfach linear, sondern es addieren sich ihre Quadrate: σges = √(σ1²+σ2²+σ3²). In diesem Fall wird daraus:

D5000
R(sRGB)=100±22
G(sRGB)=100±14
B(sRGB)=100±16

Wenn man jetzt die gleiche Übung mit den Werten der 500D macht, die weniger Trennschärfe zwischen Rot und Grün zeigt, kommt man zu:

500D
R(sRGB)=100±31
G(sRGB)=100±18
B(sRGB)=100±20

Nur aufgrund des anders ausgelegten Bayerfilters kommt für die 500D also etwa 20-40% stärkeres Farbrauschen raus, und das sind 2-3dB! Die "Farbtiefe" ("color sensitivity") sinkt dadurch auch um ganz grob etwa 1bit. Das wird vielleicht teilweise wieder durch höhere absolute Empfindlichkeiten ausgeglichen (hier ging's ja nur um relative E.), aber die sagen etwas anderes.



Gruß, Matthias


(*) Ich glaube, mit dem Niederschreiben dieses Satzes hat sich meine Frage von weiter oben für mich aufgelöst. Jetzt weiß ich, wie sie's meinen.
 

Um antworten zu können musst du eingeloggt sein.

Hast du dein Passwort vergessen?
Du hast noch kein Benutzerprofil? Jetzt registrieren
Oben
LiveZilla Live Chat Software