6 Einzelheiten der verwendeten Algorithmen

6 Einzelheiten der verwendeten Algorithmen

In diesem Abschnitt werden einige Probleme, die bei der Zwischenbildinterpolation auftreten können, beschrieben und eine Aufstellung möglicher Lösungen gegeben.

6.1 Rekursives Element

Wie schon im fünften Kapitel erwähnt, wurde beim Entwurf der Medianfiltermasken, um unentschiedene Zustände zu vermeiden, Wert auf ein ungerades Gesamtfiltergewicht gelegt. Liegt ein zu interpolierendes Bild zeitlich aber genau in der Mitte zwischen den beiden Originalbildern, d.h. plinks = prechts = 0,5, wird durch das ungerade Gesamtgewicht ein Bild bevorzugt gewichtet. In [Blume97] und [Jostschulte94] wird daher ein rekursives Element verwendet. Bei negativen Geschwindigkeiten des bewegten Objekts können sich aber Fehlinterpolationen einstellen, wie die nachfolgenden Abbildungen 6.1 und 6.2 zeigen.


Interpolation
Abbildung 6.1: Interpolation mit rekursivem Element

Fehlinterpolation
Abbildung 6.2: Fehlinterpolation mit rekursivem Element

In den Beispielen wird von einer realen Bewegung mit Vreal = 5 bzw. -5 und einer geschätzten Bewegung Vschätz = 2 bzw -2 ausgegangen. Im ersten Fall konnte mit Hilfe des rekursiven Elementes die Kantenposition korrekt interpoliert werden. Im zweiten Fall kommt es bei gleichem Filter jedoch zu einem Positionierungsfehler der Kante, da für die Bildschirmdarstellung eine Rundung auf Pixelgenauigkeit erforderlich ist.

Ein anderer Ansatz zur Lösung dieser Problematik ist die Änderung der Definition des Medians. Im Fall einer ungeraden Länge n = 2 · η + 1 der Eingangsfolge xi war der Median durch

med(xi) = x(η + 1)

definiert. Eine modifizierte Darstellung des Medians bei gerader Filterlänge n = 2 · n kann durch

med(xi) = x(η)

gegeben werden. Es wird also anstelle des bei einer geraden Anzahl der Werte nicht existierenden mittleren Wertes der nächst kleinere gewählt. Ebenso hätte auch der nächst größere als Ausgangswert gewählt werden können.

Einen Kompromiß zwischen diesen beiden Werten stellt die folgende Mediandefinition dar:

med(xi) = ½(x(η) + x(η+1))

Hierbei findet eine Mittelung der beiden mittleren Werte statt.

6.2 Rundungsproblematik

Eine Schwierigkeit in der Zwischenbildinterpolation liegt in der maximal pixelgenauen Positionierbarkeit der Bewegungsvektoren und damit auch der Filtermasken. Die vom Bewegungsschätzer ermittelten Vektoren zeigen immer von einem Punkt des Originalbildes auf die neue Position im nachfolgenden Bild der Originalsequenz. Durch die Multiplikation mit einem Projektionsfaktor plinks oder prechts können nicht ganzzahlige Vektorlängen auftreten. Dies ist in Abbildung 6.3 dargestellt.


Vektorlaenge
Abbildung 6.3: Nichtganzzahlige Vektorlänge

Um den Vektoren ganzzahlige Längen zuzuweisen, wird eine Rundungsfunktion verwendet. Dabei sind mehrere Definitionen der Funktion möglich. Zum einen können die Nachkommastellen, wie in [Jostschulte94], in der Betrag-Vorzeichen- oder in der 2er-Komplement-Darstellung abgeschnitten werden, zum anderen kann eine Rundung in einer der beiden Darstellungen erfolgen.

Im obigen Beispiel wird ein zeitlich genau zwischen den Originalbildern liegendes Zwischenbild erzeugt. Eine Kante bewegt sich dabei um fünf Punkte. Durch die Vektorprojektion ergibt sich eine Vektorlänge Vkorrekt von 2,5. Aus einer Rundung resultiert der Vektor Vrund = 3. Nach dem Abschneiden der Nachkommastellen folgt der Vektor Vcut = 2.

Die Betrag-Vorzeichen- und 2er-Komplement-Darstellung unterscheiden sich bei der Behandlung von negativen Zahlen. Während ein Wert von -2,5 in der Betrag-Vorzeichen-Darstellung auf -2 abgeschnitten wird, schneidet die 2er-Komplement-Darstellung den Wert auf -3 ab.

6.3 Erweiterung auf Subpixelgenauigkeit

Die Begrenzung auf pixelgenaue Positionen im Bild stellt eine weitere Schwierigkeit der Formatkonversion dar. Bewegt sich beispielsweise eine Kante in einer mit 50 Hz aufgenommenen Sequenz um einen Pixel pro Bild, muß sich dieselbe Kante in einer nach 60 Hz konvertierten Sequenz um fünf Pixel in sechs Bildern bewegen. Dies kann bei einer auf ganze Pixel beschränkten Darstellung nur dadurch realisiert werden, daß die Kante in zwei aufeinanderfolgenden Bildern an der gleichen Position abgebildet wird. Als Resultat stellt sich eine ungleichmäßige Bewegung ein. Daher ist eine Erweiterung des Interpolationsverfahrens auf Subpixelgenauigkeit erforderlich.

Das Modell der idealen Kante entspricht nicht immer den in realen Szenen vorhandenen Kanten. So wird eine Kante in vertikaler Richtung durch die Zeilensprungdarstellung mehrere Zeilen hoch. Daher wird eine zusätzliche lineare Interpolation zur Positionierung der Filter-masken verwendet. Das Prinzip dieser bilinearen Filterung wird für den Tiefenkanal durch Abbildung 6.4 verdeutlicht.


Filterung
Abbildung 6.4: Bilineare Filterung im Tiefenkanal

Ein Bewegungsvektor "trifft" aufgrund der Vektorprojektion nicht immer genau eine Pixelposition (px, py), sondern eine um dx bzw. dy verschobene Position. Deshalb werden zur Bestimmung der Luminanz des Zielpunktes die Luminanzen der Umgebung nach

lum(px + dx, py + dy)
=
(1 - dx) · (1 - dy)
· lum(px, py) +
dx · (1 - dy)
· lum(px + 1, py) +
(1 - dx) · dy
· lum(px, py + 1) +
dx · dy
· lum(px + 1, py + 1)

hinzugezogen. Sollte der Wert dennoch auf eine Pixelposition zeigen, ist dx = dy = 0, so daß sich nach Gleichung (6.4) als Ausgangswert wieder nur die Luminanz des Zielpunktes (px, py) ergibt.

Im Höhenkanal wird auf ähnliche Weise verfahren, nur erfolgt hier eine einfache lineare Filterung in horizontaler Richtung. Die Luminanz des Zielpunktes wird durch

lum(px + dx , py) = (1 - dx) · lum(px, py) + dx · lum(px + 1, py)

berechnet. Eine Filterung in vertikaler Richtung wird nicht durchgeführt, um einen vertikalen Auflösungsverlust im vertikalen Höhenkanal zu vermeiden.

6.4 Proscan-Konversion

Um Zeilensprungsequenzen auf Geräten wie Computermonitoren oder Flüssigkristall-Displays wiedergeben zu können, ist eine Proscan-Konversion notwendig. Dazu müssen die fehlenden Zwischenzeilen des eingangsseitigen Signals interpoliert werden. Für eine gute Bildqualität müssen sowohl die hochfrequenten Bildanteile im progressiven Ausgangsbild erhalten bleiben, als auch eine korrekte Bewegungsdarstellung gewährleistet sein.

Das im vierten Kapitel beschriebene Verfahren zur Zwischenbildinterpolation kann auf einfache Weise um eine Proscan-Konversion erweitert werden. Da das Verfahren auf einer Vollbilddarstellung beruht, d.h. nur jede zweite Zeile enthält Bildinformationen, kann das Interpolationsschema übernommen werden. Die Halbbildzeilen werden gemäß dem Vollbildraster durchnumeriert. Das Zwischenbild wird Zeile für Zeile, wie in den Kapiteln 4.2.3 und 4.3.3 für den Tiefen- und Höhenkanal beschrieben, interpoliert, so daß sich das progressive Vollbild ergibt. In Abbildung 6.5 ist das Interpolationsschema des Tiefenkanals für zwei aufeinanderfolgende Zeilen dargestellt.


Konversion
Abbildung 6.5: Schema der Proscan-Konversion

Kapitel5 Zurück Kapitel7