Die Ergebnisse
Interessant ist, dass sich das 8 Bit-Downsampling systematisch um einen Wert verschätzt. Wir erklären uns dies durch das Verfahren wie Computer Integer-Werte runden. D.h. auch 0,99 wird zu 0 gerundet, und nicht zu 1. Das bedeutet, dass das gesamte Bild durch das Downskaling im Schnitt um ca. eine 10 Bit-“Helligkeits-Einheit” dunkler wird.
Addiert man als Korrekturfaktor "+1" auf den 8/10 Bit-Pixelwert, so liefern anschließend über 60 Prozent aller 8 Bit Downsampling-Werte den exakt selben Wert wie das 10 Bit Downsampling. In den restlichen 39 Prozent der Fällen liegt das 8/10 Bit-Verfahren um genau einen Wert daneben, verschätzt sich also gegenüber dem korrektem 10 Bit Wert um +-1.
In sehr seltenen Fällen (ca. 0,38 Prozent aller Samples) liegt das Downsampling auf 10 Bit sogar um 2 Sample-Werte daneben. D.h. der ermittelte Wert aus 4 x 8 Bit liegt 2 10 Bit-Werte neben dem "echten" 10 Bit Wert. Damit ist es aber immer noch näher am “10 Bit Original” als jeder nackte 8 Bit-Wert, der entsteht, wenn man die vier 8 Bit-Werte einfach zu einem 8 Bit Wert zusammenfassen würde.
Dazu gibt es noch den denkbar allerschlechtesten Fall, der praktisch gar nie eintritt (höchstens 1: 10.000.000.000): Wenn alle 4 Pixel genau den gleichen 10 Bit-Sample-Wert haben, der gleichzeitig nicht auf ein 8 Bit Raster fällt, kann das 8/10 Bit Verfahren sogar bis zu drei 10 Bit-Werte neben dem exakten 10 Bit wert liegen. Doch selbst in diesem Fall kann es niemals schlechter abschneiden, als ein echtes 8 Bit Downsampling.
Fazit
Wenn man die 8 Bit Luminanz von 4K mit diesem einfachen Verfahren linear auf 2K herunterskaliert, gewinnt man IMMER mehr Helligkeitsinformation im Luma-Kanal, solange man anschließend mindestens im 10 Bit-Farbraum weiterarbeitet. Selbst in sehr seltenen, denkbar schlechtesten Fällen fällt man niemals unter das Niveau einer reinen 8 Bit Wandlung. Entscheidet man sich dagegen nach der Wandlung, im 8 Bit Farbraum weiterzuarbeiten verschenkt man immer einen Teil "echte" 10 Bit Helligkeitsinformation.
Im Umkehrschluss bedeutet dies auch, dass eine Erweiterung der Helligkeits-Information von 8 auf 10 Bit beim halbierten Downskaling zwar sehr oft auftritt, jedoch keineswegs immer. Statistisch gesehen wird das Ergebnis immer besser als 8 und schlechter als “reines” 10 Bit sein. Wobei bei diesem Verfahren durschnittlich 60 Prozent aller Werte exakt treffen und insgesamt 99,6 Prozent aller Samples immer noch bemerkenswert nahe (+/-1) am echten 10 Bit Wert landen. Darf man so ein Ergebnis dann 9,2 Bit nennen?
Addendum: Code
Alle die schon mal C/C++-Code gelesen hier noch der sehr einfache Code, um das Geschriebene nochmal nachzuvollziehen: Übrigens könnt Ihr den Code auch direkt hier einpasten und ohne eigenen Compiler stanta pede damit herumspielen…. Hier der Quellcode als Zipfile.