Das YUV-Farbmodell verwendet zur Darstellung der Farbinformation zwei Komponenten, die Luma (Lichtstärke pro Fläche) und die Chrominanz oder Farbanteil (chroma), wobei die Chrominanz wiederum aus zwei Komponenten besteht. Die Entwicklung des YUV-Farbmodells geht auf die Entwicklung des Farbfernsehens (PAL) zurück, wo nach Wegen gesucht wurde, zusätzlich zum Schwarz/Weiß-Signal die Farbinformation zu übertragen, um eine Abwärtskompatibilität mit alten Schwarz/Weiß-Fernsehgeräten zu erreichen ohne die zur verfügung stehende Übertragungsbandbreite erhöhen zu müssen. Aus dem YUV-Farbmodell der analogen Fernsehtechnik wurde das YCbCr-Farbmodell entwickelt, das bei den meisten Arten der digitalen Bild- und Videokompression eingesetzt wird. Fälschlicherweise wird in jenem Bereich auch oft vom YUV-Farbmodell gesprochen, obwohl eigentlich das YCbCr-Modell benutzt wird. Dies sorgt oft für Verwirrung.
Die NTSC-Fernsehnorm benutzt ein anderes Farbmodell, welches YIQ genannt wird.
Grundprinzip
Zur Berechnung des Luma-Signals auch Leuchtdichte-Signal werden die zugrundeliegenden RGB-Daten zunächst mit dem Gamma-Wert des Ausgabegerätes verrechnet, man erhält ein R'G'B'-Signal. Die drei Einzelkomponenten werden mit unterschiedlicher Gewichtung addiert, um die Helligkeitsinformation zu bilden, die als BAS-Signal auch bei alten Schwarz/Weiß-Fernsehgeräten funktioniert.
- Y=R+G+B
Die genaue Berechnung ist jedoch komplizierter, da einige Aspekte des Farbensehens des menschlichen Auges berücksichtigt werden müssen. So wird Beispielsweise Grün heller wahrgenommen, als Rot, und dieses heller als Blau. Weiterhin wird bei einigen Systemen zunächst eine Gammakorrektur der Grundfarben vorgenommen.
Die Crominanzsignale, auch Farbdifferenzsignale enthalten die Farbinformation. Sie entstehen aus der Differenz Blau minus Luma bzw. Rot minus Luma.
- U=B-Y
- V=R-Y
Aus den drei erzeugten Komponenten Y, U und V können später wieder die einzelnen Farbanteile der Grundfarben berechnet werden:
- Y + U = Y + ( B - Y ) = Y - Y + B = B
- Y + V = Y + ( R - Y ) = Y - Y + R = R
- Y - B - R = ( R + G + B ) - B - R = G
Weiterhin ergibt sich durch den Aufbau der Netzhaut des menschlichen Auges, dass die Helligkeitsinformation in einer höheren Auflösung wahrgenommen wird als die Farbe, sodass viele auf dem YUV-Farbmodell aufbauende Formate eine Komprimierung der Chrominanz vornehmen, um Bandbreite bei der Übertragung einsparen zu können.
Die Bildauflösung ist standardisiert durch das Common Intermediate Format (CIF).
Formeln zur Umrechnung zwischen RGB- und YUV-Format
Computer RGB oder auch "full-scale" RGB, benutzt 8 Bits für jeden einzelnen der roten, grünen und blauen Kanäle. Schwarz erhält man somit aus R=G=B=0 und Weiß aus R=G=B=255. Das 4:4:4 YUV Format benutzt 8 Bits für jeden der Y, U und V Kanäle.
Der U Kanal reicht von Blau bis Gelb und der V Kanal von Rot bis Gelb. Weil Gelb aus Rot und Grün besteht werden Grün und Rot jeweils mehrfach und Blau nur einfach gesendet.
foreman iso referenz stream 4:2:0 YUV luma only | ||
foreman iso referenz stream 4:2:0 YUV luma plus chroma U | foreman iso referenz stream 4:2:0 YUV luma plus chroma V |
Foreman YUV 4:2:0 a alle Kanäle b 4:2:0 nur Y-Kanal c YU-Kanal d YV-Kanal
Formeln für die Konvertierung von 8-Bit RGB zu YUV 4:4:4 nach (ITU-R Recommendation BT.601):
In guter Näherung kann man auch folgende Formel verwenden:
Die Rückkonvertierung von YUV 4:4:4 zu 8-Bit RGB läßt sich wie folgt ableiten. Dabei wird zunächst eine Vereinfachung vorgenommen:
Durch Umformung gewinnt man:
Wobei clip()
bedeutet, dass nur Werte aus dem Bereich von 0 bis 255 vorkommen dürfen. Negative Werte werden zu 0 und Werte größer als 255 zu 255. Wieder kann die Konvertierung mit guter Näherung vereinfacht werden:
YUV Abtastfrequenz für Luma und Chrominanz
Einer der großen Vorteile von YUV 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).
- YUV 4:4:4 Chrominanz-Auflösung identisch zur Luma-Aufloesung
- YUV 4:1:1 Chrominanz-Auflösung horizontal geviertelt und vertikal unveraendert
4:2:2
Bei YUV 4:2:2 handelt es sich um horizontale Unterabtastung der Farbinformation (Chrominanz) um den Faktor 2 somit wurde die Chrominanz-Auflösung horizontal halbiert. 4:2:2-Kodierung entspricht "Studioqualität" für digitales Video (ITU-R 601-4) und wird von professioneller Aufnahme- und Schnitthardware verwendet.
4:2:0
Bei YUV 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 U und V im Vergleich zu Y abgetastet werden.
A:B:C Notation 4:4:4 Abtastung YUV 4:4:4 |
A:B:C Notation 4:2:2 Abtastung YUV 4:2:2 | |
A:B:C Notation 4:2:0 Abtastung YUV 4:2:0 |
A:B:C Notation 4:2:0 Abtastung MPEG-2 YUV 4:2:0 MPEG-2 Abtastpositionen |
Weblinks
Unterschied zwischen den verschiedenen Abtastraten
- mediaprofis.net 4:4:4 vs 4:2:2 vs 4:2:0 vs 4:1:1
- mediaprofis.net Digitale Bandformate im Überblick
- fourcc.org YUV-Datenformate
- msdn.microsoft.com auf eglish von Gary Sullivan und Stephen Estrop
YUV 4:2:0 Streams
Open Source YUV Viewer
License: GNU General Public License (GPL)