Korrektur von Farbverschiebungen (Chroma Shifts)

1. Einführung

Manchmal hat die Aufnahme von einer VHS-Quelle Farbverschiebungen, d.h. eine oder mehrere Farben sind in eine Richtung (vertikal oder horizontal) verschoben. Das folgende Bild weist solche Verschiebungen auf:

Wenn Ihr Euch die Hosen und Jacken der Mädchen anschaut, werdet Ihr feststellen, dass das Blau einige Pixel nach rechts verschoben ist. Ähnlich sieht es auch bei Grün (Gras) aus. Glücklicherweise gibt es Plugins für VirtualDub und AviSynth, die etwas dagegen tun können. Für VirtualDub kann der "flaXen VHS Filter" und für AviSynth das Plugin "ChromaShift" benutzt werden. Bei beiden Plugins kann die Chrominanz justiert werden. Die Farbverschiebung sollte vor anderen Störungsfiltern eingesetzt werden.

2. Etwas Theorie

Ein PAL-Signal verwendet YUV, dort repräsentiert eine Komponente die Helligkeit (Y, Luminanz), die beiden anderen Komponenten repräsentieren die Farbe (UV, Chrominanz). Die Chrominanz besteht aus zwei Komponenten:

U = Cb = Blaudifferenz: Wird U erhöht, verändern sich die Pixel von grün in blau

V = Cr = Rotdifferenz: Wird V erhöht, verändern sich die Pixel von grün in rot

Ein NTSC-Signal verwendet YIQ. Auch hier repräsentiert eine Komponente die Helligkeit (Y, Luminanz), die anderen beiden Komponenten repräsentieren die Farbe (IQ, Chrominanz). Die IQ-Ebene entspricht einer Rotation der UV-Ebene um 33 Grad.

Es gibt horizontale und vertikale Farbverschiebung. Beide werden durch die Aufnahme im Computer bzw. im Camcorder erzeugt, aber sie haben unterschiedliche Ursachen:

Ausbluten der Farben (horizontale Farbverschiebung) ist der Effekt, der auf Videobändern sichtbar ist, wenn starke Farben ihre korrekte Position verlassen und in benachbarte Bereiche "bluten". Dies passiert bei allen Farben gleichmäßig, ist aber besonder auffällig bei rot und weniger auffällig bei blau.

VHS speichert Luma mit einer Bandbreite von 3.0 MHz, Chroma mit einer Bandbreite von etwa 0.6 MHz. Damit erhält man etwa 240 Zeilen Luma und 40 Zeilen Chroma. Mit anderen Worten, die Farbinformation ist stark reduziert. Helle Farben werden dadurch gespreizt, aber solange sie an ihren korrekten Positionen liegen, bleibt das Bild scharf. Allerdings reproduzieren Videorecorder die Farben sehr häufig nicht mehr an ihren exakten Positionen, sondern verschieben sie etwas nach links oder rechts.

Hängende Farben (vertikale Farbverschiebung) ist der Effekt, der auf Videobändern sichtbar ist, wenn Farben unterhalb ihrer korrekten Position verschoben sind und in benachbarte Bereiche "hängen". Dabei erscheinen die oberen Ränder von kräftigen Farbbereichen oft farblos, und normalerweise farblose Bereiche unterhalb von kräftigen Farbbereichen erscheinen im oberen Bereich getönt, farbstichig. Dies passiert bei allen Farben gleichmäßig, ist aber besonder auffällig bei rot und weniger auffällig bei blau.

Das Problem wird durch die in PAL- und SECAM-Decodern verwendeten Verzögerungsleitungen verursacht. Ein weiteres Problem sind die in Videorecordern verwendeten Verzögerungsleitungen. Es ergibt sich ein Kompromiss, der die bestmögliche Gesamtqualität erreichen soll und für gewöhnlich sind solche Effekte akzeptabel, wenn sie aber durch mehrere Generationen einer Video-Kopie kombiniert werden, werden die Effekte deutlich sichtbar und ärgerlich.

Weiterführende Referenzen:
Color bleed: Über ausblutende Farben.
Color droop: Über hängende Farben.
Leopold's Home Video Formats Page: Über die horizontale/vertikale Luminanz- und Chrominanz-Auflösung verschiedener Video-Formate.
Video Color Resolution: Gegenüberstellende Erläuterung von IQ und UV.
Charles Poyton's ColorFAQ: Color FAQ inkl. Konvertierungsregeln zwischen IQ und UV (Seite 17).

3.1 VirtualDub

Verwendet wird der "flaXen VHS Filter 1.0". Blau und grün müssen nach links verschoben werden. Wir verringern die "Chroma I"- und "Chroma Y"-Werte (achtet darauf, ass die NEGative-Checkbox markiert ist).

Ergebnis:

3.2 AviSynth v2.0x / AviSynth v2.5x / GordianKnot

Verwendet wird das ChromaShift Plugin. Mit diesem Plugin werde die "U"- und "V"-Werte separat korigiert, aber zusammen mit dem "C"-Wert. Die entsprechende Script-Zeile:

ConvertToYUY2()  # Das Plugin verwendet YUY2
ChromaShift(C=-6)

oder das selbe:

ConvertToYUY2()  # plugin requires YUY2
ChromaShift(U=-6, V=-6)

Die Ergebnisse sind dem "flaXen VHS Filter" für VirtualDub sehr ähnlich.

Schaut Euch das folgende Bild an:

Dieses Bild hat eine starke Farbverschiebung. Grün ist nach links verschoben, blau und rot dagegen nach rechts. Das Chromashift-Plugin kann nur die beiden Luma-Komponenten getrennt verschieben, nicht aber alle drei Komponenten. Soweit ich weiß gibt es kein Plugin, das diesen Bildfehler korrigieren könnte.


Zurück zum Anfang: <HOME>


Last edited on: 09/07/2003 | First release: n/a 10/22/2002 | Author:Wilbert | Translated by zisoft | Content by Doom9.de | Partner Gleitz.de