Version 1.6 | Datum 06/10/2009
  mediajournal
 
       
 

kein Bild vorhanden

 


Reiner Pfeiffer

 

Digitales Video-Processing unter Betrachtung der Farbräume RGB und Y'CbCr:



Zusammenfassung: Videoprocessing in Y'CbCr und in RBG unterscheiden sich bei Geschwindigkeit und Bearbeitungsmöglichkeiten erheblich.

Digitales Video-Processing und die Farbräume RGB und Y'CbCr:

Videosignale entstehen in der Kamera zwar als RGB - Daten, werden aber praktisch nie als RGB von der Kamera ausgegeben oder gar gespeichert, sondern vorher in den Y’CbCr Farbraum gewandelt. Hierbei wird das RGB-Signal über eine spezielle Matrix in das Luminanzsignal Y‘ und die beiden Farbdifferenzsignale Cb (bewertetes Blau - Luminanz) und Cr (bewertetes Rot - Luminanz) überführt, wobei der Grünanteil des ursprünglichen RGB-Signales im Luminanzsignal enthalten ist und über eine entsprechende Matrix wiedergewonnen wird.

Um Videosignale digital speichern zu können, werden die analogen Signale in 4x4-Pixel-Blöcke unterteilt und anschließend mit einer festgelegten Samplingfrequenz abgetastet. Für jeden Abtastzeitpunkt wird ein entsprechender digitaler Zahlenwert ermittelt und gespeichert.

Da das menschliche Auge für Helligkeitswahrnehmung viel empfindlicher ist als für Farbwahrnehmung, können bei Y‘CbCr die Farbkanäle reduziert werden, ohne nennenswerte Qualitätsverluste befürchten zu müssen. Dies geschieht über die Reduktion der Farbabtastung.
Hierfür existieren verschiedene Formate:

4:1:1
Im Gegensatz zur vollen Auflösung der Luminanz (jedes Pixel, beide Fields), wird das Farbsignal nur bei jedem vierten Pixel, dafür aber in beiden Halbbildern horizontal verschoben abgetastet.

4:2:0
Im Gegensatz zur vollen Auflösung der Luminanz (jedes Pixel, beide Fields), wird das Farbsignal nur bei jedem zweiten Halbbild und nur in halber Auflösung abgetastet.

4:2:2  (entspricht der Norm CCIR-601)
Abtastmethode für professionelles digitales Video. Jedes Pixel wird als Luminanz (Y) und jedes zweite nach den Rot- und Blaudifferenzen (Cr und Cb) abgetastet. Dabei wird die Tatsache ausgenutzt, daß das Auge weniger empfindlich auf die Farbe ist als auf die Helligkeit. Digital Betacam arbeitet mit 4:2:2.

4:4:4
Hochqualitatives digitales Format, bei dem jedes Pixel sowohl in Luminanz wie in den Blau- und Rotdifferenzen abgetastet wird: Wird nur in Effektgeräten verwendet.

Rechner arbeiten in der Regel im RGB - Farbraum (Ausnahme: Apple's Final Cut Pro, das die beste Implementierung bietet, um Y’CbCr durchgehend und ohne Wandlung nach RGB zu bearbeiten und dieses auch wieder auszugeben). Um auf anderen Systemen Y’CbCr-Video bearbeiten zu können, muß der Rechner intern zunächst eine Wandlung nach RGB vornehmen, das Videomaterial bearbeiten und zur Ausgabe wieder nach Y’CbCr zurückwandeln. Da der Farbraum von RGB kleiner ist als der von Y’CbCr, werden bestimmte Farben bei der Wandlung nach RBG und der Rückwandlung nach Y‘CbCr verfälscht bzw. es gehen Farben verloren. Zusätzlich treten bei jeder Wandlung Rundungsfehler auf, die dem Videosignal hinzuaddiert werden und dieses so weiter verfälschen.

Im RGB - Farbraum müssen im Gegensatz zum Y’CbCr - Farbraum wesentlich mehr Pixel bearbeitet werden, was sich in der benötigten Rechenzeit bemerkbar macht.
Beispiele (Bild mit 640 x 480 Pixel):
Im Vergleich zu Y‘CbCr (4:2:0 oder 4:1:1) muß bei RGB (entspricht 4:4:4) die doppelte Anzahl an Pixeln bearbeitet werden:

640 x 480 Pixel RGB:
3 x 640 x 480 x 8 Bit = 7.372.800 Bit

640 x 480 Pixel Y’CbCr (4:2:0):
(1 x 640 x 480 + 2 x 320 x 240) x 8 Bit = 3.686.400 Bit

Videofilter, die nur die Lunimanz betreffen (Kontrast, Gamma, Helligkeit) müssen bei Y‘CbCr lediglich den Y‘ - Kanal bearbeiten (1 x 640 x 480), während bei RGB alle 3 Farbkanäle bearbeitet werden müssen (3 x 640 x 480). Hierdurch wird die Bearbeitung der Luminanz bei Y’CbCr 3 mal schneller als bei RGB.

Videofilter, die nur den Chroma-Anteil betreffen (Saturation) müssen bei Y‘CbCr lediglich 2 reduzierte Farbkanäle bearbeiten (2 x 320 x 240), während bei RGB alle 3 Farbkanäle bearbeitet werden müssen (3 x 640 x 480). Hierdurch wird die Bearbeitung der Chrominanz bei Y’CbCr 6 mal schneller als bei RGB.

Video schlechter Bildqualität von analogen Quellen (z.b. von Umatic oder VHS) lassen sich in Y’CbCr durch einen kleinen Kniff verbessern:
Diese analogen Videoquellen beinhalten oftmals viel Bildrauschen, daß durch Reduktion zwar unterdrückt werden kann, allerdings meistens auf Kosten der Bildschärfe. Da die Bildschärfe hauptsächlich über den Y-Kanal wiedergegeben wird, der größte Anteil an Rauschen allerdings in den Chromakanälen auftaucht, kann man durch gezielte Rauschunterdrückung in den Farbkanälen und ohne Veränderung des Luminanzkanales sehr gute Ergebnisse erzielen. Eine selektive Bearbeitung des Chromasignales unter Beibehaltung des Luminanzsignales ist im RGB-Modus nicht möglich.

Für folgendes Beispiel wurde eine in Chrominanz und Luminanz stark verrauschte Videosequenz gecaptured (320x240) und unkomprimiert gespeichert. Anschliessend wurde die Sequenz mit VirtualDub und dem Videofilter Chroma Noise Reduction (1.1) bei folgenden Einstellungen bearbeitet:

Luma: Wide 75% / 15,98%
Chroma 1(U): 100% / 20,98%
Chroma 2(V): 100% / 20,98%

Die bearbeitete Sequenz wird zum besseren Vergleich mit dem Original als Split-Screen dargestellt. Die obere Hälfte zeigt das Originalmaterial, die untere Hälfte zeigt das bearbeitete Material. Die Videodatei steht in verschiedenen Formaten zum Download bereit:

Dateiname

Format und Kompression

Größe

Codec - Download

CNR_ucp.avi

unkomprimierte avi - Datei

ca. 163 MB

no Codec

CNR_huffyuv.avi

verlustfrei komprimierte avi - Datei

ca. 65 MB

download Huffyuv

CNR_divx.avi

DivX 5.05 - avi - Datei

ca. 10 MB

download DivX

CNR_qt.mov

Quicktime 'Component Video' - Datei

ca. 109 MB

download Quicktime

Bemerkung:
Die DivX - komprimierte Datei zeigt leicht verfälschte Ergebnisse, da ein Teil des Bildrauschens durch die Kompression entfernt wird, das Bild wird dadurch jedoch auch unschärfer.


Was wurde gefiltert?

Zur Beantwortung dieser Frage wurden ein Einzelbild aus der Split-Screen Version und aus dem Original mittels Photoshop Differenzfilter miteinander verglichen. Das Resultat zeigt das durch Chroma Noise Reduction herausgefilterte Farbrauschen. Die Bilder liegen als TIFF-Dateien vor (LZW-komprimiert).

Originalbild

Bild aus Split-Screen (ohne Balken)

Resultat aus Differenzfilter

alle 3 Bilder
nebeneinander

Original.tif

Split_ohne_Balken.tif

Differenz.tif

3in1.tif


Fazit

Y'CbCr 4:2:2 ist offizieller Standard zur Speicherung und Übertragung professioneller Videosignale (Norm CCIR-601). Durch die reduzierten Farbkanäle müssen bei Y'CbCr 4:2:2 im Gegensatz zu RGB (entspricht 4:4:4) weniger Bits pro Pixel verarbeitet werden, was Rechenoperationen beschleunigt.
Wandlungen in den RGB-Farbraum und zurück nach Y'CbCr verfälschen das Material aufgrund von Rundungsfehlern und des kleineren Umfanges des RGB-Farbraumes. Daher kann der Umweg über RGB nur eine Notlösung sein, wenn für die gestellten Anforderungen kein System mit durchgängiger Y'CbCr - Verarbeitung vorhanden ist (z.B. Final Cut Pro).
Spezielle Y'CbCr - Filter ermöglichen im Gegensatz zu RGB - Filtern ein seperates Bearbeiten der Luminanz oder der Chrominanz, was z.B. Farbrauschunterdrückung ohne Veränderung der Luminanz und damit der Bildschärfe erlaubt.

Literatur:

Ben Waggoner - Compression for Great Digital Video, S.36ff