Das YCbCr-Farbmodell wurde für die digitale PAL-Fernsehnorm als ein vergleichsweise leicht vom YUV-Farbmodell abweichendes Farbmodell entwickelt. Es findet unter anderem bei dem CCIR-601-Standard für digitale Bild- und Videoaufzeichnung Anwendung und wird auch für digitales NTSC-Fernsehen genutzt. Es wird zudem beispielsweise für JPEG-Bilder und MPEG-Videos verwendet, und damit auch auf DVDs, Video CDs und bei den meisten anderen verbreiteten digitalen Videonormen. Man beachte, dass ein Farbmodell noch kein Farbraum ist, denn es legt noch nicht fest, welche Farben eigentlich mit "Rot", "Grün" und "Blau" genau gemeint sind. Für einen Farbraum bedarf es noch des Bezuges auf bestimmte absolute Farbwerte.

Das YCbCr-Farbmodell
Es gibt Farbmodelle, die eine Farbe nicht durch die additiven Grundfarben Rot, Grün und Blau (kurz RGB), sondern durch andere Eigenschaften ausdrücken. So zum Beispiel das Helligkeit-Farbigkeit-Modell. Hier sind die Kriterien die Grundhelligkeit der Farbe (von Schwarz über Grau bis Weiß), die Farbe mit dem größten Anteil (Rot, Gelb, Grün, Türkis, Blau, Violett bzw. weitere dazwischen liegende reine Farben) und die Sättigkeit der Farbe, ("knallig" gegenüber blass). Dieses Farbmodell beruht auf der Fähigkeit des Auges, geringe Luminanzunterschiede (Helligkeitsunterschiede) besser zu erkennen als kleine Farbtonunterschiede, und diese wiederum besser als kleine Farbsättigungsunterschiede. So ist ein grau auf schwarz geschriebener Text sehr gut zu lesen, ein blau auf rot geschriebener, bei gleicher Grundhelligkeit der Farben, allerdings sehr schlecht. Solche Farbmodelle nennt man Helligkeit-Farbigkeit-Modelle.
Das YCbCr-Modell ist eine leichte Abwandlung eines solchen Helligkeit-Farbigkeits-Modells. Es wird ein RGB-Farbwert in eine Grundhelligkeit Y und zwei Komponenten Cb und Cr aufgeteilt, wobei Cb ein Maß für die Abweichung von Grau in Richtung Blau ist bzw., wenn es kleiner als 0,5 ist, in Richtung Gelb (Komplementärfarbe von Blau). Cr ist die entsprechende Maßzahl für Abweichung in Richtung Rot bzw. Türkis (Komplementärfarbe von Rot). Diese Darstellung verwendet die Besonderheit des Auges, für grünes Licht besonders empfindlich zu sein. Daher steckt die meiste Information über den Grünanteil (und damit indirekt für dessen Komplementärfarbe Violett) in der Grundhelligkeit Y und man braucht daneben nur noch die Abweichungen beim Rot/Türkis- oder Blau/Gelb-Anteil darzustellen. Die Y-Werte werden dann in den meisten praktischen Anwendungen, etwa auf DVDs, doppelt so fein aufgelöst wie die beiden Werte Cb und Cr (Chroma Subsampling);
Umrechnung zwischen RGB und YCbCr
Vor der Umrechnung müssen die Werte für RGB zunächst einer Gammakorrektur und einer Normalisierung auf [0; 1] unterworfen werden. Das daraus gebildete Farbtripel wird zur Unterscheidung in der Literatur meist als R'G'B' bezeichnet. Die YCbCr-Werte sind auf eine bestimmte Auflösung digitalisiert und bei Bedarf mit einem Offset versehen, um negative Werte zu vermeiden. Bevor also die YCbCr-Daten bestimmt werden können, werden aus den R'G'B'-Farbdaten die so genannten YPbPr-Werte berechnet. Diese Werte von YPbPr sind fix auf den Wertebereich [0; 1] für Y und [-0,5; 0,5] für die beiden Farbkomponenten PbPr beschränkt und unterliegen keinerlei Beschränkung betreffend der Auflösung, sind also analoge Signale. Durch eine bestimmte Auflösung, beispielsweise 8 Bit pro Wert mit einem Wertebereich von {0, 1, …, 255}, werden aus den Y'PbPr-Werten die Werte Y'CrCb gebildet, jeweils im Wertebereich von {0, 1, …, 255}. Es kann aber auch bei Y'CbCr eine Abbildung auf 10 Bit mit einem Wertebereich von {0, 1, …, 1023} erfolgen, was vor allem der höheren Farbdynamik im Studiobereich anzutreffen ist. Die Gammakorrektur von R'G'B' wirkt sich dabei nur auf das Helligkeitssignal Y' aus, wobei die Schreibweise dann oft nicht ganz korrekt als YCbCr statt Y'CbCr vorgenommen wird.
Die folgenden Gleichungen zeigen die allgemeine Berechnung der Y'PbPr-Wertetripel ohne zunächst einen Bezug auf einen bestimmten Standard zu nehmen:
Die dabei auftreten Konstanten Kr und Kb sind in der ITU-R BT.601 (ehemals CCIR 601) für Fernsehen in der Standardauflösung (SDTV) definiert, somit von diesem Standard abhängig, und festgelegt als: Kb = 0,114 und Kr = 0,299.
Die Wahl dieser Koeffizienten ist von den Darstellungseigenschaften der Kathodenstrahlröhre, motiviert. Damit lässt sich obige Umrechnungstabelle der Y'PbPr-Werte für ITU-R-B.601-konforme Umrechnung in folgender Form darstellen:
Danach werden diese Werte mit einer bestimmten Auflösung digitalisiert und mit einem Offset versehen, woraus die YCbCr-Werte folgen. Der Offset ist deswegen notwendig, da vor allem bei digitalen Videodaten bestimmte Werte wie 0 und 255 für spezielle Steueraufgaben (Synchronisation) reserviert sind und nicht als Helligkeits- bzw. Farbwert im Datenstrom vorkommen dürfen. Die Werte im Bereich „Reserve oben“ bzw. „Reserve unten“ geben Bereiche an die für die Übersteuerung der Videosignale reserviert sind und normalerweise nicht verwendet werden sollten.
In der folgenden Tabelle ist die Digitalisierung für eine 8 Bit-Dynamik gezeigt mit einer unteren Reserve von {1, 2, …, 15}, einer oberen von {236, 237, …, 254} und den Synchronisationswerten {0, 255}. Y' ist damit im Wertebereich {16, 17, …, 235} und Cb und Cr in {16, 17, …, 240}:
Liegen die R'G'B'-Daten bereits digital als R'dG'dB'd im Wertebereich {0, 1, …, 255} vor, so erfolgt die Umrechnung für 8 Bit-Dynamik nach folgenden Formeln:
Die geringe Abweichungen der Koeffizienten in der Matrix ergeben sich durch den Faktor 256/255. Diese Form der Umrechnung wird wie Eingangs erwähnt primär bei der digitalen Darstellung der analogen PAL bzw NTSC Farbfernsehsignalen in Standardauflösung (SDTV) verwendet.
Bei den von HDTV verwendeten Standard ITU-R BT.709 kommen hingegen andere Konstanten für Kb, Kr zum Einsatz, was andere Transformationswerte ergibt. Konkret werden bei HDTV diese Werte auf Kb = 0,0722 und Kr = 0,2126 gesetzt, was den etwas anderen Darstellungsmöglichkeiten moderner LCD- und Plasmabildschirmen Rechnung trägt. Die konkreten Werte in den Matrizen ergeben sich analog wie oben. Darüber hinaus existieren eine nahezu unüberschaubare Anzahl an weiteren Varianten für die YCbCr Farbkonvertierung. Beispielsweise definiert die Norm SMPTE 240M diese Konstanten mit den Werten Kb = 0,087 und Kr = 0,212. Das YCC-Farbmodell von Kodak als eine weitere Variation von YCbCr besitzt speziell auf Fotopapier optimierte Koeffizienten.
Abschließend sei noch die YCbCr-Transformation erwähnt, wie sie bei dem Bildformat JPEG (bzw. MPEG) verwendet wird. Da JPEG keine Synchronisationswerte in den Bilddatenstrom abbilden muss, können dort für die Werte von YCbCr der volle Wertebereich von 8 Bit verwendet werden, d.h. Y', Cb' und Cr' sind im Wertebereich {0, 1, …, 255}:
YCbCr-Abtastfrequenz für Luma und Chrominanz
Einer der großen Vorteile von YCbCr ist, dass die Abtastrate der Chrominanz-Kanäle niedriger als die des Y Kanals sein kann, ohne dass es zu einer spürbaren Verringerung der zu gewährleistenden Qualität kommt (Chroma Subsampling).
- YCbCr 4:4:4 Chrominanz-Auflösung identisch zur Luma-Auflösung
- YCbCr 4:1:1 Chrominanz-Auflösung horizontal geviertelt und vertikal unverändert
4:2:2
Bei YCbCr 4:2:2 handelt es sich um horizontale Unterabtastung der Farbinformation (Chrominanz) um den Faktor 2, somit wurde die Chrominanz-Auflösung horizontal halbiert. Die 4:2:2-Kodierung entspricht der "Studioqualität" für digitales Video (ITU-R 601-4) und wird von professioneller Aufnahme- und Schnitthardware verwendet.
4:2:0
Bei YCbCr 4:2:0 wird die Chrominanz-Auflösung sowohl horizontal als auch vertikal halbiert. Für Übertragung und für den Heimgebrauch wird typischerweise 4:2:0 verwendet.
A:B:C-Notation
Es gibt weiterhin noch Unterschiede über das Zentrum der Chrominanzwerte. Diese können zentriert oder nicht zentriert sein:
Zur Beschreibung wird eine so genannte A:B:C-Notation verwendet. Sie gibt wieder, wie oft Cb und Cr im Vergleich zu Y abgetastet werden.
YCbCr 4:4:4 |
YCbCr 4:2:2 | |
YCbCr 4:2:0 |
YCbCr 4:2:0 MPEG-2-Abtastpositionen |
Weiße Kreise symbolisieren hier die Abtastpositionen für die Luminanz, graue Kreise die Positionen für die Chrominanz.
Siehe auch
- Farbraum (weitere Farbräume, Farbraumsysteme, Farbmodelle)
Literatur
- Charles Poynton: Digital Video and HTDV Algorithms and Interfaces, San Francisco: Morgan Kaufmann Publishers 2003. ISBN 1-55860-792-7
Weblinks
- Unterschied zwischen den verschiedenen Abtastraten bei YCbCr
- fourcc.org YCbCr-Datenformate
- msdn.microsoft.com in englischer Sprache von Gary Sullivan und Stephen Estrop
- YCbCr 4:2:0 Streams
- Freier YCbCr Viewer
- Ein YCbCr-4:2:0-Viewer unter GPL, lauffähig unter Java mit Java Native Interface (JNI)
- Ein weiter YCbCr-4:2:0 Viewer unter GPL, win32 und linux Version