Chroma-Subsampling-Labor

Vergleiche, wie Videocodecs die Luma-Detailschärfe erhalten, während sie die Chroma-Auflösung reduzieren.

Interaktive Simulation wird geladen...

warum Codecs zuerst die Farbe opfern 🖖

Das menschliche Sehen löst Helligkeitsdetails schärfer auf als Farbdetails, daher behalten Codecs die volle Luma-(Y)-Auflösung bei und teilen sich Chroma-(Cb/Cr)-Abtastwerte über benachbarte Pixel. 4:4:4 speichert die volle Farbdetailtiefe, 4:2:2 halbiert die horizontale Chroma-Auflösung, und 4:2:0 halbiert die Chroma-Auflösung sowohl horizontal als auch vertikal. Die Bandbreitenersparnis ist real: 4:2:0 benötigt nur etwa die Hälfte der Rohdatenmenge von 4:4:4, doch scharfer farbiger Text und alternierende Farbmuster zeigen den Verlust als Erstes.

was die drei Zahlen bedeuten 🖖

Das Verhältnis ist eine Vorschrift für einen Block, der 4 Pixel breit und 2 Zeilen hoch ist. Die erste Zahl (4) ist die Blockbreite, die zweite zählt die Farbabtastwerte in der oberen Zeile, die dritte, wie viele sich in der unteren Zeile ändern. So nimmt 4:2:2 2 Farbproben je Zeile, während 4:2:0 2 in der oberen Zeile nimmt und sie darunter wiederverwendet (0 neue) — eine Farbe für ein 2×2-Feld. Luma wird immer an jedem Pixel abgetastet.

das tat schon der Fernseher der Großeltern 🖖

Chroma-Subsampling ist keine digitale Erfindung. Als 1953 das NTSC-Farbfernsehen startete, gaben Ingenieure dem Helligkeitssignal rund 4.2 MHz Bandbreite, quetschten die beiden Farbkanäle aber in etwa 1.3 MHz und 0.5 MHz — der schmale „Q"-Kanal nutzte die besonders schlechte Auflösung des Auges für Blau-Violett-Details aus. Analoges Farbfernsehen verwarf Farbauflösung also leise, Jahrzehnte bevor JPEG oder H.264 die Idee formalisierten.

Beispielaufgaben