-
Die Erfindung betrifft die bewegungskompensierte Interpolation von digitalen
Fernsehbildern. Man benutzt eine solche Interpolation insbesondere, jedoch nicht ausschließlich, in
Fernsehnormenwandlern und in Zeitlupenprozessoren.
-
Da in verschiedenen Ländern unterschiedliche Fernsehnormen verwendet werden, z.B. in
Großbritannien das PAL-System mit 625 Zeilen und 50 Halbbildern pro Sekunde
(625/SO-System) und in den USA das NTSC-System mit 525 Zeilen und 60 Halbbildern pro Sekunde
(525/60-System), benötigt man für den internationalen Fernsehprogrammaustausch
Normenwandler.
-
Es wurden bereits zahlreiche verschiedene Normenwandler vorgeschlagen. Einer der besten
bekannten Normenwandler ist das von der British Broadcasting Corporation entwickelte
Gerät mit der Bezeichnung ACE (Advanced Conversion Equipment). Dieser Normenwandler
ACE verarbeitet ein digitales Eingangsfernsehsignal grundsätzlich Zeile für Zeile und erzeugt
interpolierte Abtastproben, die zur Bildung eines digitalen Ausgangsfernsehsignals
herangezogen werden. Die Interpolation geschieht nicht nur räumlich, wobei vier
aufeinanderfolgende horizontale Abtastzeilen des Eingangsfernsehsignals verwendet werden, sondern
auch zeitlich, wobei vier aufeinanderfolgende Eingangshalbbilder des
Eingangsfernsehsignals verwendet werden. Dabei erzeugt man die einzelnen Zeilen des
Ausgangsfernsehsignals, indem man die entsprechenden Abtastproben aus sechzehn Zeilen des
Eingangsfernsehsignals jeweils mit entsprechenden Gewichtungskoeffizienten multipliziert.
-
Weitere Einzelheiten des Systems AGE finden sich in der britischen Patentschrift GB-A-2
059 712 und in dem Aufsatz "Four-field digital standards converter for the eighties" von R.
N. Robinson und G. J. Cooper, Seiten 11-13 der Zeitschrift "Television" (The Journal of the
Royal Television Society), Januar/Februar 1982.
-
Das ACE-System liefert zwar gute Ergebnisse, hat jedoch den Nachteil, daß das Gerät sehr
sperrig ist. Zur Beseitigung dieses Nachteils haben wir einen Fernsehnormenwandler
vorgeschlagen, der drei Halbbildspeicher und vier Vier-Zeilenspeicher aufweist, die ein digitales
Eingangsfernsehsignal einer gegebenen Norm aufnehmen und daraus Arrays von sechzehn
Zeilen gewinnen, wobei jedes dieser Arrays aus vier aufeinanderfolgenden Zeilen aus
jeweils vier aufeinanderfolgenden Halbbildern gebildet ist. Ein
Gewichtungskoeffizientenspeicher speichert Satze von sechzehn Gewichtungskoeffizienten. Die jeweiligen Satze
entsprechen
sowohl räumlichen als auch zeitlichen Positionen der betreffenden Zeilen eines
digitalen Ausgangsfernsehsignals einer anderen Norm relativ zu den sechzehn Zeilen des
Eingangsfernsehsignals. Zwei Interpolationsfilter erzeugen dann das Ausgangsfernsehsignal
Zeile für Zeile, indem entsprechende Abtastwerte aus jeder der sechzehn Zeilen des
Eingangsfernsehsignals mit den entsprechenden Gewichtungskoeffizienten eines
Gewichtungskoeffizientensatzes multipliziert und die resultierenden Produkte zur Gewinnung eines
interpolierten Abtastwerts summiert werden und wobei vier Ausgangshalbbildspeicher die
so abgeleiteten Zeilen des Ausgangsfernsehsignals aufnehmen und speichern. Zur
Speicherung der zusätzlichen Zeilen, die dann erzeugt werden, wenn das
Ausgangsfernsehsignal mehr Zeilen besitzt als das Eingangsfernsehsignal, dient ein 45-Zeilen-Speicher, der
zwischen einem der Interpolationsfilter und dem Ausgangshalbbildspeicher angeordnet ist.
Weitere Einzelheiten finden sich in unserer britischen Patentschrift GB-A-2 140 644.
-
Die Leistungsmerkmale von Normenwandlern, die mit vertikalen/zeitlichen
Internolationsverfahren arbeiten, stellen einen Kompromiß dar zwischen der Erzeugung von unscharfen
Bildern unter Beibehaltung einer guten Bewegungsabbildung und der Beibehaltung der
vertikalen Auflösung, allerdings mit dem Nachteil größerer Verwackungsunschärfe. Ersteres
ist auf das Nachfiltern zurückzuführen, durch das störende Aliasing-Effekte vermieden
werden sollen, letzteres auf das Eindringen der benachbarten zweidimensionalen
Abtastwiederholstrukturen.
-
Wir haben deshalb vorgeschlagen, in Fernsehnormenwandlern und Zeitlupenprozessoren
eine Bewegungsvektorschätzung einzusetzen. Bei den meisten existierenden
Bewegungsvektorschätzverfahren besteht allerdings das Problem, daß ihr Einsatz einseitig für
Anwendungen in Form von Videokonferenzen bestimmt ist, bei denen der Abbildungsgegenstand
entweder aus dem Kopf und den Schultern einer Einzelperson oder aus einer kleinen
Gruppe von Personen besteht, die um einen Tuch sitzen. Fernsehbilder dieser Art weisen
relativ einfache Bewegungsabläufe auf, wenn man sie mit Bildern vergleicht, die für den
Fernsehrundfunk bestimmt sind, bei denen beispielsweise in einem Pferderennen die
Kamera den führenden Teilnehmern des Rennens folgt. In dieser Situation liegt eine
komplexe Bewegung vor, weil sich beispielsweise beim Schwenken der Kamera der Hintergrund
mit Geschwindigkeiten bewegen kann, die größer sind als 8 Pixel pro Halbbild, während im
Vordergrund wenigstens ein Pferd galoppiert. Dies bedeutet, daß die Bewegungsvektor-
Schätzung versuchen muß, den Beinen der Pferde zu folgen, die sich durchaus in anderen
Richtungen bewegen können als der bewegte Hintergrund. Dies macht eine Reduzierung
der Bewegungsvektoren erforderlich.
-
Eine adaptive Interpolation wurde z.B. in dem NHK-Abwärtskonverter vorgeschlagen, der
das hochauflösende Videosignal (HDVS) mit 1125 Zeilen und 60 Halbbildern pro Sekunde in
das PAL-System mit 625 Zeilen und 50 Halbbildern pro Sekunde umsetzt. Dieser
Abwärtskonverter führt die Interpolation in zwei Stufen durch. Zunächst wandelt ein
Abtastumwandlungsprozeß die 1125 Zeilen in 625 Zeilen um, was wegen der großen Datenmenge, die in
dem HDVS-System zur Verfügung steht, leicht zu bewerkstelligen ist. Darauffolgt eine
Interpolation, durch lediglich zeitliche Alias-Artefakte beseitigt werden.
-
Das Papier International Zurich Seminar on Digital Communications, 1984, Seiten 57 bis 61;
H.C. Bergmann: "Motion Adaptive Frame Interpolation" beschreibt ein Verfahren zur
bewegungskompensierten Interpolation von digitalen Eingangsfernsehbildern, bei dem
Bewegungsvektoren abgeleitet werden, die die Pixelbewegung in den Bildern repräsentieren. Die
Eingangsbilder werden mit Hilfe eines dreidimensionalen Interpolationsfilters mit endlicher
Impulsantwort (FIR-Filter) interpoliert, das in der horizontalen, vertikalen und zeitlichen
Domäne arbeitet. Dies geschieht in Abhängigkeit von den abgeleiteten Bewegungsvektoren
und dem zeitlichen Abstand zwischen den interpolierten Bilddaten und den
Eingangsbildern.
-
Dieses Verfahren findet Anwendung bei einem Fernsehsystem mit reduzierter
Übertragungsrate, bei dem z.B. nur jedes zweite Halbbild gesendet und empfangen wird und dann
die fehlenden Halbbilder durch Interpolation zwischen den empfangenen Halbbildern
rekonstruiert werden.
-
Gemäß vorliegender Erfindung ist ein Fernsehnormenwandler oder Zeitlupenprozessor
vorgesehen mit
-
einem Eingangs-Zeitbasiskorrigierer zur Aufnahme eines digitalen
Eingangsfernsehsignals,
-
einem mit dem Ausgang des genannten Zeitbasiskorrigierers verbundenen
Bewegungsanalysierer zur Analysierung der Bewegung in dem Eingangsfernsehsignal,
-
einem Schieberegister, das ebenfalls mit dem Ausgang des Zeitbasiskorrigierers
verbunden ist,
-
einem Interpolator mit einem dreidimensionalen Interpolationsfilter mit endlicher
Impulsantwort, das in der horizontalen, der vertikalen und der zeitlichen Domäne arbeitet, zur
Ableitung von Abtastproben eines geforderten digitalen Ausgangsfernsehsignals in
Abhängigkeit von aus dem Schieberegister abgeleiteten Abtastproben und von mit Hilfe des
Bewegungsanalysierers abgeleiteten Bildbewegungsdaten,
-
und einem Ausgangs-Zeitbasiskorrigierer zum Zusammensetzen der abgeleiteten
Abtastproben zur Bildung des Ausgangsfernsehsignals.
-
Im folgenden sei die Erfindung anhand der Zeichnungen beispielhaft beschrieben, wobei
gleiche Teile durchgehend mit gleichen Bezugszeichen versehen sind.
-
Fig. 1 zeigt einen Fernsehnormenwandler in einer Darstellung als stark vereinfachtes
Blockschema,
-
Fig. 2 zeigt einen ersten Fernsehnormenwandler als Blockschaltbild,
-
Fig. 3 zeigt einen zweiten Fernsehnormenwandler als Blockschaltbild,
-
Fig. 4 zeigt einen Teil des Normenwandlers von Fig. 3 in einer Darstellung als
ausführlicheres Blockschaltbild,
-
Fig. 5 zeigt Zeitdiagramme zur Erläuterung der Funktion von Fig. 4,
-
Fig. 6 zeigt einen Teil des Normenwandlers von Fig. 2 in einer Darstellung als
ausführlicheres Blockschaltbild,
-
Fig. 7 zeigt Zeitdiagramme zur Erläuterung der Funktion von Fig. 6,
-
Fig. 8 zeigt einen Teil des Normenwandlers von Fig. 2 in einer Darstellung als
ausführlicheres Blockschaltbild,
-
Fig. 9 zeigt einen Teil des Normenwandlers von Fig. 2 in einer Darstellung als
ausführlicheres Blockschaltbild,
-
Fig. 10 zeigt einen Teil des Normenwandlers von Fig. 2 in einer Darstellung als
ausführlicheres Blockschaltbild,
-
Fig. 11 und 1 2 zeigen schematisch, wie ein interpoliertes Pixel aus den verfügbaren
Umgebungspixeln erzeugt wird,
-
Fig. 13 zeigt schematisch eine zweidimensionale Darstellung der linearen
Bewegungsinterpolation,
-
Fig. 14 zeigt einen Teil eines Interpolators in dem Normenwandler von Fig. 2 in Form eines
ausführlicheren Blockschaltbilds,
-
Fig. 15 zeigt einen Interpolator in dem Normenwandler von Fig. 2 in Form eines
ausführlicheren Blockschaltbilds,
-
Fig. 16 zeigt einen Teil von Fig. 15 in Form eines ausführlicheren Blockschaltbilds.
-
Zum besseren Verständnis der den Gegenstand der vorliegenden Erfindung bildenden
bewegungsadaptiven Interpolation, seien zunächst der Aufbau und die Funktion zweier
Normenwandler und eines Zeitlupenprozessors erläutert, bei denen eine solche
Bewegungsvektorreduktion Anwendung findet. Bei den im folgenden zu beschreibenden
Normenwandlern wird die vertikale Auflösung beibehalten, und das "Wackeln" wird durch
Kompensieren der Bewegung zwischen den Halbbildern beseitigt. Die Bewegung zwischen
aufeinanderfolgenden Halbbildern wird analysiert. Diese Halbbilder können dann Pixel für
Pixel fluchtend ausgerichtet werden, so daß sie statische Bilder darstellen, die dann der
Wandlung unterzogen werden können. Infolgedessen kann die vertikale Auflösung
beibehalten werden.
-
Die im folgenden beschriebenen Normenwandler lassen sich in zwei Teile unterteilen: Der
erste Teil, der einem bekannten Normenwandler entspricht, bewirkt die Umwandlung
zwischen
der 525/60- und der 625/50-Fernsehnorm durch eine vertikale/zeitliche Interpolation.
Hierdurch würde jedoch ein Ausgangssignal entstehen, in dem zwar die vertikale Auflösung
beibehalten wäre, das jedoch einen Wackeleffekt aufweisen würde. Zur Beseitiung dieses
Wackelns werden vier bei dem Umwandlungsprozeß benutzte Halbbilder des digitalen
Eingangsfernsehsignals unter dem Steuereinfluß von Bewegungsvektoren fluchtend
ausgerichtet, die von einem Bewegungsanalysierer erzeugt werden, der den zweiten Teil des
Normenwandlers bildet. Dies ist in Figur 1 als stark vereinfachtes Blockschema dargestellt.
Der Videoteil eines digitalen Eingangsfernsehsignals einer gegebenen Norm, das
beispielsweise durch Abtastung eines analogen Fernsehsignal mit 13,5 MHz gewonnen wird, wird
einem Interpolator 1 zugeführt, der daraus den Videoteil des gewünschten
Ausgangsfernsehsignals mit einer abweichenden Norm ableitet. Das Videoluminanzsignal wird von einem
Bewegungsanalysierer 2 aufgenommen, der Bewegungsvektoren erzeugt. Diese liefern
Daten, die die Bewegung zwischen aufeinander folgenden Halbbildern des
Eingangsfernsehsignals repräsentieren und zur Steuerung der Funktion des Interpolators 1 dienen. Der
Interpolator 1 arbeitet im wesentlichen ähnlich wie die entsprechende Stufe eines
bekannten Normenwandlers, z.B. des oben erwähnten Normenwandlers. Er enthält jedoch darüber
hinaus die Mittel, mit denen die bei der Interpolation verwendeten vier Halbbilder unter
dem Steuereinfluß der Bewegungsvektoren fluchtend ausgerichtet werden.
-
Die Neupositionierung der vier Halbbilder erfolgt in zwei Schritten. Der erste Schritt
beinhaltet eine Änderung der Adresse eines jedem der Halbbilder zugeordneten variablen
Verzögerungselements, um das Bild an der nächstliegenden Zeile oder Abtastprobe neu zu
positionieren. Der zweite Schritt benutzt Verfahren zur Interpolation sowohl in vertikaler als auch in
horizontaler Richtung zur Neupositionierung innerhalb ±1/16 Zeile oder ±1/8 Abtastprobe.
Selbst wenn keine Bewegung stattfindet, werden beide Verfahren benutzt, um eine
Zeilennormenwandlung herbeizuführen.
-
Der Vertikalinterpolator besitzt vier Abgriffe pro Halbbild. Dies macht es möglich, auf die
statischen Bilder effektiv ein Vertikalfilter mit 8 Abgriffen anzuwenden. Ein Interpolator mit 8
Abgriffen erlaubt die Beibehaltung einer guten vertikalen Auflösung mit minimaler
Verzerrung. Die Verzerrungswirkung in dem Horizontalinterpolator stellt ein geringeres Problem
dar, so daß ein Horizontalfilter mit zwei Abgriffen verwendet wird, obwohl auch die
Verwendung eines Horizontalfilters mit beispielsweise vier Abgriffen möglich ist.
-
Der zeitliche Interpolator soll im normalen Betrieb oder dann, wenn kein merklicher
Bewegungsvektor detektiert werden kann, eine Interpolation von Änderungen der Perspektive
ermöglichen. Der Interpolator 1 muß in diesem Fall zu der normalen Normenwandlung
zurückkehren, bei der keine Neupositionierung des Bildes stattfindet.
-
Bei der Umwandlung aus einer hohen in einer niedrigeren Halbbildfrequenz werden die
ankommenden Halbbilder so interpoliert, daß eines der interpolierten Halbbilder gelegentlich
unterdrückt werden kann, ohne daß eine Verschlechterung der Bewegung auftritt. Die
gesamte Interpolation erfolgt mit der Eingangshalbbildfrequenz und wird einem
Zeitbasiskorrigierer übergeben, der dann die Halbbilder "spreizt", die während der für die Ausgangsnorm
erforderlichen Zeitperiode erzeugt werden.
-
Die oben beschriebene Operation ist bei der Umwandlung von der 525/60-Norm auf die
625/50-Norm erforderlich. Andererseits müssen offensichtlich 625 Zeilen erzeugt werden,
obwohl das Eingangssignal nur 525 Zeilen hat.
-
Zur Lösung des mit der Wandlung der Zeilenzahl verbundenen Problems dient ein
Korrigierer am Eingang, mit dessen Hilfe ein Signal mit 585 Zeilen und einer Halbbildfrequenz von
60 Hz erzeugt wird. Ein 585-Zeilenformat kann die gesamte aktive Bildinformation des 625-
Zeilenformats enthalten. Hinter diesem ersten Zeitbasiskorrigierer befinden sich
gelegentlich Zeilen, die keine Videoinformation enthalten. Die Speicher des Interpolators werden
während dieser Zeit "eingefroren", so daß eine zusätzliche interpolierte Zeile aus den
gleichen Zeilen erzeugt werden kann, die auch zur Erzeugung der vorhergehenden
Ausgangszeile verwendet werden. Dieses Verfahren erlaubt es, aus den ursprünglichen 525 Zeilen
625 Zeilen zu interpolieren.
-
Es werde nun der Grund für die Auswahl des 585/60-Formats näher erläutert: Bei einer
Abtastfrequenz von 13,5 MHz enthält ein 625-Zeilen-Bild in jedem Halbbild 288 aktive Zeilen
und in jeder horizontalen Zeile 720 Abtastproben. Die weiter unter beschriebenen
Schaltungen der Fernsehnormenwandler von Fig. 2 und 3 benutzen Verfahren, die es ermöglichen,
das Bild in horizontaler Richtung um ±24 Abtastproben zu verschieben. Dies erfordert eine
minimale horizontale Austastung von 48 Abtastproben. Die Gesamtzahl der in einem
Halbbild benötigten Abtastpositionen ist deshalb
-
(720 + 48) x 288 = 221184.
-
Wenn über das gesamte System ein 13,5 MHz-Takt verwendet wird, ergeben sich
erkennbar erhebliche Vorteile. In diesem Fall beträgt die Anzahl der Taktzyklen in einer 60
Hz-Periode (genauer einer 59,94 Hz-Periode)
-
225225.
-
Falls in einem Vollbild 576 Datenzeilen benötigt werden, beträgt die Anzahl der horizontalen
Abtastproben 782,03125. Obwohl diese Zahl groß genug ist, um die erforderlichen
(720+48) Abtastproben zu enthalten, bedeutet der Bruchteil einer Abtastprobe, daß die
Struktur auf einer Zeilen-zu-Zeilen-Basis nicht orthogonal ist. Dies würde erhebliche
Probleme bei der Ausbildung des übrigen Teils des Normenwandlers mit sich bringen. Deshalb
wurde die Anzahl der erforderlichen Zeilen von 576 allmählich vergrößert, bis in jeder Zeile
eine ganze Zahl von Abtastproben, und zwar 770, vorhanden war.
-
Das einzige Format, mit dem die orthogonale Struktur erreicht wird, ist das 585/60-Format,
das zusätzlich eine nutzbare vertikale Austastung von vier Zeilen im ersten Halbbild, fünf
Zeilen im zweiten Halbbild und 50 Abtastproben der horizontalen Austastung ergibt.
-
In dem weiter unten erläuterten 625/50:625/50-Zeitlupenmodus ist es nicht erforderlich,
das aktive Videosignal des 625-Zeilenformats innerhalb einer 60 Hz-Periode zu speichern,
so daß die Interpolation und die weitere Verarbeitung im normalen 625/50-Format
vorgenommen werden.
-
Bei der Wandlung von einer niedrigen in eine höhere Halbbild-Frequenz muß der Eingangs-
Zeitbasis-Korrigierer einen Videodatenstrom mit der Ausgangsfrequenz erzeugen. Dies
geschieht dadurch, daß gelegentlich ein Eingangshalbbild wiederholt wird. Wenn das
wiederholte Halbbild auftritt, müssen alle Speicher des Interpolators eingefroren werden, so daß
die Interpolation auf dieselben Eingangshalbbilder angewendet wird, die zur Erzeugung des
vorhergehenden Ausgangshalbbildes verwendet werden.
-
Ohne Anwendung dieser Verfahren wären zwei Sätze von Interpolatoren und
Bewegungsdetektoren erforderlich, um das fehlende Halbbild zu erzeugen.
-
Die oben beschriebene Operation wird bei der Umwandlung aus dem 625/50-Format in das
525/60-Format durchgeführt. Damit während einer Periode von 60 Halbbildern pro Sekunde
625 Zeilen zur Verfügung stehen, muß wieder das 585/60-Zwischenformat angewendet
werden. Da während dieses Prozesses einige der interpolierten Zeilen nicht benötigt
werden, weil aus den ursprünglichen 625 Zeilen nur 525 Zeilen erzeugt werden sollen, benötigt
man auf der Ausgangsseite einen Zeitbasiswandler, um das endgültige 525/60-Format zu
erzeugen.
-
Der erforderliche Interpolationsbetrag wird durch Vergleichen der Eingangs- und Ausgangs-
Synchronisierimpulsphasen bestimmt.
-
Die Bewegungsanalyse wird, wie oben erwähnt, im Luminanzteil des Eingangs-Videosignals
durchgeführt. Das benutzte Verfahren erfordert eine Anzahl von Schritten, um zu einem
einzigen Bewegungsvektor für jedes Pixel zu gelangen. Die Bewegung kann in dem
Bereich von ±24 Pixel horizontal und ±8 (Halbbild-Frequenz) vertikal detektiert werden.
-
In einem ersten Schritt wird die Bewegung in dem Bild an Punkten auf dem Bildschirm
bestimmt, die in horizontaler Richtung einen Abstand von 10 Abtastproben und in vertikaler
Richtung einen Abstand von 8 Zeilen haben, wobei ein Blockausgleichverfahren eingesetzt
wird. Für jede sechzehnte Abtastprobe und für jede achte Zeile werden die ursprünglichen
Bewegungsvektoren in einem Halbbild berechnet. Jeder dieser Punkte befindet sich im
Zentrum eines Suchblocks. Begrifflich wird jeder Block über ±24 Abtastproben in
horizontaler Richtung und ±8 Abtastproben in vertikaler Richtung über das nächste Halbbild
abgetastet, wobei jedesmal die Summe der Differenzen zwischen den beiden Halbbildern über die
Fläche des Suchblocks erzeugt wird. Die kleinste Gesamtdifferenz zeigt dann an, in welcher
Richtung sich das Objekt an-dem betreffenden Punkt bewegt hat.
-
In der Praxis wird das beschriebene Verfahren in separaten Schritten durchgeführt,
wodurch Umfang und Komplexität der erforderlichen Hardware erheblich reduziert werden:
Schritt 1:
-
Prüfung der kleinsten Differenz in genau drei Positionen, nämlich der Zentrumsposition,
sechzehn Abtastproben nach links und sechzehn Abtastproben nach rechts.
Schritt 2:
-
Beginnend von dem obigen Punkt: Prüfen der kleinsten Differenz in neun Positionen, die
symmetrisch um den obigen Startpunkt verteilt sind, in Schritten von acht Abtastproben
oder Zeilen.
Schritt 3:
-
Beginnend von dem obigen Punkt: Prüfen der kleinsten Differenz in neun Positionen, die
symmetrisch um den obigen Startpunkt verteilt sind, in Schritten von vier Abtastproben
oder Zeilen.
Schritt 4:
-
Beginnend von dem obigen Punkt: Prüfen der kleinsten Differenz in neun Positionen, die
symmetrisch um den obigen Startpunkt verteilt sind, in Schritten von zwei Abtastproben
oder Zeilen.
Schritt 5:
-
Beginnend von dem obigen Punkt: Prüfen der kleinsten Differenz in neun Positionen, die
symmetrisch um den obigen Startpunkt verteilt sind, in Schritten von einer Abtastprobe
oder Zeile.
Schritt 6:
-
Nach Schritt 5 ist die Bewegung des Objekts zum nächstgelegenen Pixel detektiert. Ein
genauerer Vektorwert kann gewonnen werden, indem man einen sechsten Schritt hinzufügt,
in welchem Differenz, die in der durch Schritt 5 angezeigten Endposition erzeugt wird, zur
Justierung des vertikalen Vektorwerts mit den beiden Differenzen darüber und darunter und
zur Justierung des horizontalen Vektorwerts mit den beiden Differenzen auf der linken und
der rechten Seite verglichen wird.
-
Das obige Verfahren geht davon aus, daß zwischen dem Referenzsuchblock und einem
ähnlichen Block von Videodaten in dem folgenden Halbbild (den Suchpositionen) Korrelation
erreicht wird. In Schritt 5 kann die tatsächliche Bewegung ein halbes Pixel größer oder
kleiner sein, als dies detektiert wurde. Für die beste Korrelation ist es jedoch erforderlich, zu
diesem Punkt zu kommen, selbst wenn eine exakte Korrelation nicht erreichbar ist. Um
sicherzustellen, daß dies geschieht, kann das Bild sowohl vertikal als auch horizontal mit Hilfe eines
Gauß-Filters mit +6 dB-Dämpfung bei 1/2 Nyquistfrequenz gefiltert werden.
-
Ähnlich kann im Schritt 4 das Bild mit 6 dB-Dämpfung bei 1/4 Nyquistfrequenz gefiltert
werden. Dies läßt einen 1-Pixel-Fehler bei der Detektierung zu.
-
Schritt 3 verwendet ein Bild, das mit 6 dB-Dämpfung bei 1/8 Nyquisffrequenz gefiltert wird
und einen 2-Pixel-Fehler zuläßt.
-
Schritt 2 verwendet ein Bild, das mit 6 dB-Dämpfung bei 1/16 Nyquistfrequenz gefiltert wird
und einen 4-Pixel-Fehler zuläßt.
-
Schritt 1 schließlich verwendet ein Bild, das mit 6 dB-Dämpfung bei 1/32 Nyquisffrequenz
gefiltert wird und einen 8-Pixel-Fehler zuläßt. Wegen der starken Filterung der Bilder
während der Schritte 1, 2, 3 und 4 können außerdem die Abtastproben reduziert, z.B. halbiert
werden, was zu einer erheblichen Reduzierung in der Anzahl der Berechnungen und des
Umfangs der erforderlichen Hardware führt.
-
Der effektive Suchblock hat eine Höhe von 16 Zeilen und eine Länge von 48 Abtastproben.
Um die Bewegung großer ebener Flächen genau zu detektieren, benötigt man einen
großen Suchblock. Der zentrale Teil von ebenen Flächen ist unwichtig, weil sich die Pixelwerte
an diesen Punkten von einem Bild zum nächsten nicht ändern. Die Kanten solcher Objekte
sind jedoch offensichtlich wichtig. Falls die Bewegungsdetektierung auf ±24 Abtastproben
horizontal und ±8 Zeilen vertikal beschränkt wird, stellt ein Block der oben genannten Größe
das Minimum dar, um eine genaue Bewegungsdetektierung zu gewährleisten.
-
In Normenwandlern liegt das Luminanz-Videosignal am Eingang des
Bewegungsanalysierers 2 je nach Umwandlungsmodus in verschiedenen Formen mit 585 Zeilen und 60
Halbbildern pro Sekunde vor. Für die 525-Zeilen-Einangssignale kann dies die Wiederholung von
Zeilen oder für die 625-Zeilen-Einangssignale die Wiederholung von Halbbildern umfassen.
Außerdem enthält das Eingangssignal beide Feldpolaritäten. Der erste Prozeßschritt besteht
darin, die Datenkontinuität und eine einzige Feldpolarität für die Bewegungsschätzung
sicherzustellen. Dies geschieht durch Interpolation der Eingangsdaten mit Hilfe eines
Vektor-Interface, um Kontinuität beizubehalten, sowie durch horizontale Filterung, um die anschließende
Bewegungsdetektierung/Korrelation zu unterstützen.
-
Getrennte Ausgangssignale dieser Schaltung werden an Bewegungsschätzungs-Vektorfilter
und Bewegungsdetektierung/Halbbildspeicher (Vektorwähler) weitergegeben. Das
Ausgangssignal
des Vektor-Interface bilden, wie oben beschrieben, räumlich kontinuierliche
Daten mit einer einzigen Halbbildpolarität. Das Ausgangssignal für die
Halbbildspeicher/Vektorwähler hängt von den Eingangs- und Ausgangsmoden ab. Bei einigen Moden ist es
kontinuierlich, bei anderen enthält es wiederholte Zeilen/Halbbilder. Die oben beschriebenen
Schritte werden von den Vektorfiltern und Vektorrechnern ausgeführt.
-
Die Verarbeitung erfolgt in den einzelnen Schritten durch Vektorrechner bzw. einen
Vektorprozessor. Die Vektorrechner führen die Schritte 1 bis 5 aus, der Vektorprozessor den
Schritt 6. Der Vektorprozessor führt außerdem die zweite Stufe der Bewegungsschätzung
aus. Dies geschieht folgendermaßen:
-
Für jeden (8 x 16)-Block werden vier aus sieben Bewegungsvektoren ausgewählt. Diese
sieben Bewegungsvektoren sind der eine Bewegungsvektor für diesen speziellen Block
und die sechs Bewegungsvektoren für die jeweils nächstgelegenen Blöcke.
-
Außerdem bestimmt der Vektorprozessor die vier allgemeinsten Bewegungsvektoren über
das ganze Eingangshalbbild. Diese werden als modale Bewegungsvektoren bezeichnet. Die
erste Benutzung der modalen Bewegungsvektoren findet in den Randflächen in der Nähe
der Kante eines Halbbildes statt, wo eine tatsächliche Berechnung irgendwelcher lokaler
Bewegungsvektoren nicht möglich ist. Auch dann, wenn einer oder mehrere der lokalen
Bewegungsvektoren gleich sind, werden diese durch die modalen Bewegungsvektoren
ersetzt.
-
In dem nächsten Schritt der Bewegungsdetektierung werden die vier Bewegungsvektoren
für jedes Pixel geprüft, indem die Differenz zwischen den extrapolierten Positionen vom
Halbbild 0 zum Halbbild 1 erzeugt wird. Während der Normenwandlung muß zwischen zwei
Halbbildern, z.B. zwischen dem Halbbild 0 und dem Halbbild 1, ein Halbbild interpoliert
werden. So werden die zwischen diesen beiden Halbbildern erzeugten Bewegungsvektoren als
diejenigen betrachtet, die die Bewegung am besten repräsentieren. Aus diesen zwei
Halbbildern werden vier Bewegungsvektoren verwendet. Um zu entscheiden, welches der
korrekte Bewegungsvektor ist, wird ein Pixel aus dem Halbbild 0 mit einem Pixel, aus dem
Halbbild 1 verglichen, wobei der Bewegungsvektor dazu benutzt wird, zu entscheiden,
woher aus dem Halbbild 0 das zu erzeugende Pixel stammt und wohin es in dem Halbbild 1
gewandert ist. Mathematisch ausgedrückt: Falls die Position x, y und z erzeugt werden
muß, wobei x die horizontale Position, y die vertikale Position und z die zeitliche Position
zwischen dem Halbbild 0 und dem Halbbild 1 bedeuten, haben die für den Vergleich
herangezogenen Pixel die unten angegebenen Werte. Das Halbbild 0 liege bei z = 0 und das
Halbbild 1 bei z = 1.
-
Pixel aus dem Halbbild 0
-
x0 =x-(Vh* z)
-
y0 = y - (Vv* z)
-
Pixel aus dem Halbbild 1
-
x&sub1; = x + (1-z)Vh
-
y&sub1; =y+(1-z)Vh
-
wobei Vh die horizontale Vektorkomponente und
-
Vv die vertikale Vektorkomponente bedeuten.
-
Für jeden Bewegungsvektor wird ein Modul der Differenz zwischen den in dem Halbbild 0
und dem Halbbild 1 angezeigten Pixeln aufgesucht. Als erste Schätzung wird angenommen,
daß die kleinste Differenz den korrekten Bewegungsvektor angibt. Falls eine Anzahl von
Bewegungsvektoren eine sehr ähnliche Differenz ergeben, werden diese
Bewegungsvektoren erneut geprüft, wobei ein Vergleich zwischen den Halbbildern -1 und 0 benutzt wird.
-
Pixel aus dem Halbbild -1
-
x-1 =x-(1+z)Vh
-
y-1 =y-(1-z)Vv
-
Der bei dieser zweiten Prüfung erzeugte kleinste Modul der Differenz der verbleibenden
Bewegungsvektoren wird dann als derjenige betrachtet, der den Bewegungsvektor am
genauesten repräsentiert.
-
Falls eine Anzahl von Bewegungsvektoren wiederum ähnliche Differenzen ergeben, ist zu
vermuten, daß keine Bewegung vorhanden ist. Falls sich nur die horizontale Komponente
änderte, die vertikale Komponente hingegen nicht, wird nur die horizontale Komponente auf
Null gesetzt, und die vertikale Komponente wird auf dem detektierten Wert gehalten. Falls
sich nur die vertikale Komponente geändert hat, wird die horizontale Komponente
beibehalten und nur die vertikale Komponenten auf Null gesetzt. Falls die gewählte Pixeldifferenz zu
groß gewählt ist, besteht die Alternative, den gesamten Bewegungsvektor in beiden
Richtungen auf 0 zu setzen.
-
Sobald jedem Pixel ein Bewegungsvektor zugeordnet ist, findet ein letzter Schritt statt.
Dabei wird die Bewegung jedes Pixels von einem Halbbild zum nächsten Halbbild verfolgt und
der Vektorwert einer rekursiven Filterung unterzogen. Dadurch werden die Auswirkungen
von Rauschen und kleinen Bewegungsschätzfehlern beseitigt und die Bahn der
Bewegungsvektoren geglättet.
-
Es gibt zwei Möglichkeiten, um die Bewegung eines Pixels zu verfolgen.
-
Die erste Möglichkeit besteht darin, daß der Bewegungsvektor für ein Pixel in dem Halbbild t
dazu herangezogen wird, auf ein Pixel in dem Halbbild (t+1) zu zeigen. Der
Bewegungsvektor, der für dieses Pixel in dem Halbbild (t+1) ermittelt wurde, wird dann rekursiv gefiltert,
um den endgültigen Bewegungsvektor für das Pixel in dem Halbbild (t+1) zu gewinnen.
-
Die zweite Möglichkeit besteht darin, daß der Bewegungsvektor für ein gegebenes Pixel in
dem Halbbild t dazu verwendet wird, auf ein Pixel in dem Halbbild (t-1) zu zeigen. Der
Bewegungsvektor für dieses Pixel wird dann mit dem Bewegungsvektor für das gegebene
Pixel rekursiv gefiltert, um den endgültigen Bewegungsvektor für dieses gegebene Pixel in
dem Halbbild t zu gewinnen.
-
In beiden Fällen ist das endgültige Ausgangssignal ein Bewegungsvektor für jedes Pixel.
Dieses wird von dem Bewegungsanalysierer 2 dem Interpolator 1 zugeführt und dann bei
der fluchtenden Ausrichtung der vier bei der Normenwandlung benutzten Halbbilder
benutzt.
-
Fig. 2 zeigt ein ausführliches Blockschaltbild des ersten Normenwandlers zur Umwandlung
eines digitalen Eingangsfernsehsignals mit 625 Zeilen und 50 Halbbildern pro Sekunde in
ein digitales Ausgangsfernsehsignal mit 525 Zeilen und 60 Halbbildern pro Sekunde.
-
Das ankommende Videosignal mit 50 Halbbildern pro Sekunde und einer Abtastfrequenz
von 13,5 MHz, d.h. ein Signal in Form von Daten nach CCIR 601, wird einem Demultiplexer
31 zugeführt, in dem es in Luminanzkomponenten Y, Synchronisiersignale SYNC und
Chrominanzkomponenten UV zerlegt wird. Die Luminanzkomponenten Y werden einem
Vier-Halbbild-Luminanz-Zeitbasiskorrigierer (TBC) 11Y zugeführt. Die
Chrominanzkomponenten UV werden einem Vier-Halbbild-Chrominanz-Zeitbasiskorrigierer 11C zugeführt. Die
Synchronisiersignale SYNC werden zusammen mit einem Eingangshalbbild-Polaritätssignal
von einem externen Eingang und einem Ausgangshalbbild-Synchronisierreferenzsignal von
einem weiteren externen Eingang einer Steuerung 32 zugeführt. Bestimmte Halbbilder
werden von den Zeitbasiskorrigierern 11Y und 11C gelegentlich wiederholt, so daß das
Ausgangssignal 60 Halbbilder pro Sekunde aufweist. Die Steuerung der Zeitbasiskorrigierer
11Y und 11C, durch die die Wiederholung eines Halbbilds verursacht wird, wird aus den
Eingangshalbbild-Synchronisierimpulsen und den geforderten
Ausgangshalbbild-Synchronisierimpulsen abgeleitet. Der Vergleich der Synchronisierimpulse liefert auch eine Zahl für
den Zeit-Offset, die die Größe der zeitlichen Interpolation anzeigt, die für die
Ausgangssignale der Zeitbasiskorrigierer 11 Y und 11 C benötigt wird, um eine glatte Bewegung mit 60
Halbbildern pro Sekunde zu erreichen.
-
Bei der so vorgenommenen Umwandlung von 50 Halbbildern pro Sekunde in 60 Halbbilder
pro Sekunde ist auch eine Umwandlung von 625 Zeilen in 525 Zeilen erforderlich. Deshalb
müssen die ursprünglichen 625 Informationszeilen bei einer Halbbildfrequenz von 60
Halbbildern pro Sekunde beibehalten werden, damit sie alle zur Bildung der interpolierten Zeilen
zur Verfügung stehen.
-
Der Normenwandler bedient sich einer Zwischennorm, die die gesamte aktive vertikale
Information des Signals von 50 Halbbildern pro Sekunde bei der Rate von 60 Halbbildern pro
Sekunde enthalten kann. Die Zwischennorm enthält außerdem die gesamte aktive
Zeileninformation, die Zeile für Zeile orthogonal angeordnet ist, wobei weiterhin die ursprüngliche
Abtastfrequenz von 13,5 MHz verwendet wird.
-
Die verwendete Zwischennorm, die, wie oben erwähnt, allen diesen Forderungen
entsprechen kann, ist ein Format mit 585 Zeilen und 60 Halbbildern pro Sekunde. Da die aktive
Zeilenbreite nur 720 Abtastproben beträgt, stehen noch 50 Abtastproben für die horizontale
Austastung zur Verfügung.
-
Die Luminanzdaten (D) aus dem Luminanz-Zeitbasiskorrigierer 11Y werden über eine
Verzögerungsanordnung 17Y zur Kompensation der Verarbeitung einem zeitlichen Luminanz-
Schieberegister 16Y mit vier Halbbildspeichern (FS) 12Y, 13Y, 14Y und 15Y zugeführt. Der
Luminanz-Zeitbasiskorrigierer 11Y liefert außerdem über die Verzögerungsanordnung 17Y
an das Schieberegister 16Y ein "Einfriersignal" (F) zum zeitlichen Einfrieren. Der Chrominanz-
Zeitbasiskorrigierer 11C liefert über eine Verzögerungsanordnung 17C die Chrominanzdaten
(D) zur Kompensation der Verarbeitung an ein zeitliches Chrominanz-Schieberegister 16C
mit vier Halbbildspeichern 12C, 13C, 14C und 15C. Der Chrominanz-Zeitbasiskorrigierer 11C
liefert außerdem über die Verzögerungsanordnung 17C an das Schieberegister 16C ein
"Einfriersignal" zum zeitlichen Einfrieren. Dem Schieberegister 16Y ist ein
Luminanzinterpolator 1Y zugeordnet, der von jedem der Halbbildspeicher 12Y, 13Y 14Y und 15Y
Eingangssignale aufnimmt und daraus das 585-Zeilenformat ableitet. Das Ausgangssignal des
Luminanzinterpolierers 1Y wird einem Zwei-Halbbild-Luminanz-Zeitbasiskorrigierer 18Y
zugeführt. Dem Schieberegister 16C ist ein Chrominanz-Interpolator 1C zugeordnet, der von
jedem der Halbbildspeicher 12C, 13C, 14C und 15C Eingangssignale aufnimmt und ebenfalls
das 585-Zeilenformat ableitet. Das Ausgangssignal des Chrominanzinterpolierers 1C wird
einem Zwei-Halbbild-Chrominanz-Zeitbasiskorrigierer 18C zugeführt. Wenn die
Ausgangssignale der Zeitbasiskorrigierer 11Y und 11C während der Wiederholung eines Halbbildes
"eingefroren" werden, werden auch die Schieberegister 16Y und 16C "eingefroren", so daß
in diesen ständig vier verschiedene aufeinanderfolgende Halbbilder des Eingangssignals
vorhanden sind. Die Schieberegister 16Y und 16C liefern also die zeitlichen Abgriffe für die
Interpolatoren 1Y und 1C. Die vorliegende befaßt sich speziell mit diesen Interpolatoren 1Y
und 1C.
-
Jeder zeitliche Abgriff erzeugt vier Zeilenabgriffe an einer Position, die von den
Bewegungsvektoren abhängt, so daß zur Durchführung der erforderlichen Interpolation ein
zweidimensionales Filter verwendet werden kann. Das interpolierte Bild enthält 576 aktive Zeilen, so
daß ein korrektes Bild gewonnen wird, wenn jede sechste Zeile in einem Halbbild
unterdrückt wird. Die verbleibenden 484 Zeilen erzeugen den aktiven Bildabschnitt für das 525-
Zeilenformat. Um Zeilen auf diese Weise unterdrücken zu können, werden die
Ausgangssignale der Interpolatoren 1Y und 1C dem Zwei-Halbbild-Zeitbasiskorrigierer 18 zugeführt. Die
Zeitbasiskorrigierer 18Y und 18C schreiben in alle 576/2 Zeilen ein, lesen jedoch nur die
benötigten 484/2 Zeilen aus, um das erforderliche Ausgangsfernsehsignal zu erzeugen. Die
Ausgangssignale der Luminanz- und Chrominanz-Zeitbasiskorrigierer 18Y bzw. 18C werden
einem Multiplexer 34 zugeführt, der die Luminanzkomponenten Y und die
Chrominanzkomponenten UV zusammenfaßt und Ausgangsdaten nach CCIR 601 in Form eines digitalen
Fernsehsignals mit 525 Zeilen und 60 Halbbildern pro Sekunde liefert.
-
Die Steuerung 32 führt dem Luminanz-Zeitbasiskorrigierer 11Y und dem
Chrominanz-Zeitbasiskorrigierer 11C Steuersignale (C) zu. Die Steuerung 32 führt außerdem dem Luminanz-
Zeitbasiskorrigierer 11Y und dem Chrominanz-Zeitbasiskodierer 18C Steuersignale zu. Sie
führt weiterhin dem Luminanz-lnterpolator 1L und dem Chrominanz-lnterpolator 1C
Interpolations-Steuersignale (IC) zu.
-
Die Luminanzdaten werden so, wie sie von dem Luminanz-Zeitbasiskodierer 11Y kommen,
allein auch dem in den oberen Teil von Fig. 2 dargestellten Bewegungsanalysierer 2 zur
Erzeugung von Bewegungsvektoren zugeführt. Zwischen den Zeitbasiskorrigierern 11Y und
11C und dem Schieberegister 16Y bzw. 16C ist eine Verzögerung um ein Vollbild
erforderlich, damit die für die Verarbeitung der Bewegungsvektoren erforderliche Zeit zur Verfügung
steht. Das Einfrieren der Schieberegister 16Y und 16C muß deshalb ebenfalls um ein
Vollbild verzögert werden. Diese Verzögerungen werden von den Verzögerungsanordnungen
17Y und 17C erzeugt.
-
Der Bewegungsanalysierer 2 umfaßt ein Vektor-Interface 35, dem die Luminanzdaten von
dem Luminanz-Zeitbasiskorrigierer 11Y zusammen mit dem Interpolationssteuersignal von
der Steuerung 32 zugeführt werden. Das Vektor-Interface 35 liefert auf 625 Zeilen
interpolierte Daten an ein Vektorfilter 36 und an einen Vektorrechner 37, die zusammen die oben
beschriebene Bewegungsschätzung durchführen. Das Ausgangssignal des Vektorrechners
67 wird einem modalen Bewegungsvektorprozessor 38 sowie einer
Subpixel-Bewegungsschätzeinrichtung 37 zugeführt. Der Bewegungsvektorprozessor 38 liefert vier
Ausgangssignale und die Subpixel-Bewegungsschätzeinrichtung ein Ausgangssignal an einen
Bewegungsvektorreduzierer 40, der vier Ausgangssignale an einen Vektorwähler 41 liefert, der
von der Erfindung in besonderer Weise betroffen ist.
-
Das Vektor-Interface 35 liefert außerdem die auf geradzahlige Halbbilder interpolierten
Daten an eine Verzögerungsanordnung 42 zur Kompensation der Verarbeitungszeit, der es
auch das empfangene Interpolationssteuersignal sowie ein zeitliches Einfriersignal (F)
zuführt, das in der Vektorschnittstelle 35 erzeugt wird. Die Daten aus der
Verzögerungsanordnung 42 werden einem zeitlichen Schieberegister 43 mit drei Halbbildspeichern 44, 45 und
46 zugeführt, die entsprechende Datenausgangssignale an den Vektorwähler 41 liefern. Die
Verzögerungsanordnung 42 liefert das Interpolationssteuersignal an den Vektorwähler 41,
der den ausgewählten Bewegungsvektor einem rekursiven Bewegungsvektorfilter 47
zuführt, dessen Ausgangssignal die Bewegungsvektordaten darstellt, die dem
Luminanzinterpolator 1Y und dem Chrominanzinterpolator 1C zugeführt werden.
-
Die Art und Weise, in der der Bewegungsanalysierer 2 die Bewegungsvektordaten ableitet,
wurde oben ausführlich beschrieben und wird weiter unten weiter erläutert. Zunächst sei
jedoch kurz die Funktion der Elemente 35 bis 43 und 47 beschrieben.
-
Das Vektor-lnterface 35 empfängt die Luminanzdaten aus dem Luminanz-Zeitbasiskodierer
11Y und die Interpolationssteuersignale aus der Steuerung 32. Sie liefert an das Vektorfilter
36 Daten von 625 Zeilen, die normalerweise in dem 585/60-Format enthalten sind. Sie
liefert außerdem Daten an die Verzögerungseinrichtung 42. Diese Daten müssen ein Bild
enthalten, das dieselbe Zeilennorm hat, wie das geforderte Ausgangssignal und das wiederum
normalerweise in dem 585/60-Format enthalten ist. Jedes Halbbild der interpolierten Daten
ist außerdem so gestaltet, daß es geradzahlig erscheint.
-
Das Vektorfilter 36 erzeugt die gefilterten Bilddaten, die für die oben beschriebenen Schritte
1 bis 5 der Bewegungsdetektierung benötigt werden. Die gefilterten Bilddaten werden in
Form reduzierter Abtastproben an den Vektorrechner 37 gegeben.
-
Der Vektorrechner 37 bearbeitet die gefilterten und durch Abtastung reduzierten Daten aus
dem Vektorfilter 36 unter Verwendung eines Algorithmus, der durch die Ausdrücke in den
obigen Schritte 1 bis 5 der Bewegungsdetektierung beschrieben wurde. Der Prozeß stellt
im wesentlichen eine zweidimensionale binäre Suche nach Bewegung bis hinunter zur
Pixel/Zeile-Auflösung dar. Für jedes Halbbild werden 1200 Bewegungsvektoren erzeugt und
sowohl dem modalen Bewegungsvektorprozessor 38 als auch der Subpixel-Bewegungs-
Schätzeinrichtung 39 zugeführt. Er liefert außerdem umgebende gewichtete absolute
Differenzwerte (WAD), die in dem oben erwähnten Schritt 5 berechnet wurden, an die Subpixel-
Bewegungs-Schätzeinrichtung 39. Einzelheiten der WAD-Berechnungen sind in "Advances
in Picture Coding", Musmann et al. Proceedings of the IEEE, April 1985, beschrieben. Der
spezifische WAD-Wert, der das Minimum in dem Schritt 5 der Bewegungsdetektierung
darstellt, liefert eine Gütezahl (FOM).
-
Der Vektorprozessor 38 berechnet die vier allgemeinsten Bewegungsvektoren, die in jedem
Halbbild detektiert werden, und liefert sie an den Vektorreduzierer 40.
-
Die Subpixel-Bewegungsschätzeinrichtung 39 empfängt die Bewegungsvektoren von dem
Vektorrechner 37 zusammen mit den umgebenden WAD-Werten. Aus diesen schätzt er die
Subpixel-Bewegung, die den Bewegungsvektorwerten angefügt wird. Mit jedem
Bewegungsvektor wird auch sein entsprechender endgültiger WAD-Wert dem Vektorreduzierer
40 zugeführt.
-
Der Vektorreduzierer 40 nimmt die Bewegungsvektoren von dem Vektorprozessor 38 und
von der Subpixel-Bewegungs-Schätzeinrichtung 3 auf. Für jeden Bewegungsvektor aus der
Subpixel-Bewegungs-Schätzeinrichtung 39 werden die sechs Bewegungsvektoren
zusammengefaßt, die ihm am nächsten liegen. Für jedes Bewegungsvektor gibt es dann elf
Auswahlvorgänge. Der Reduzierungsprozeß wählt aus den elf Bewegungsvektoren vier aus, die
dann dem Vektorwähler 41 zugeführt werden.
-
Der Vektorreduzierer 40 liefert an den Vektorwähler 41 vier repräsentative
Bewegungsvektoren für jeden aus 16 Pixeln x 8 Zeilen bestehenden Bildblock. Durch Pixelvergleich über
drei Halbbilder wählt der Vektorwähler 41 für jedes Pixel in dem Bild einen einzigen besten
Bewegungsvektor aus, wie dies weiter unten ausführlicher beschrieben wird. Der
ausgewählte Bewegungsvektor wird dem Bewegungsvektorfilter 47 zugeführt.
-
Die Verzögerungsanordnung 42 verzögert die Daten um ein Vollbild minus 21 Zeilen, um
andere Verzögerungen in dem System zu kompensieren.
-
Das zeitliche Schieberegister 43 hält die Daten der drei Halbbilder, die von den
Vektorwählern 41 verwendet werden, und liefert sie aus.
-
Das Bewegungsvektorfilter 47 verfolgt einen Bewegungsvektor von einem Halbbild zum
nächsten und bewirkt eine gewisse Filterung der Bewegungsvektoren, indem es
Bewegungsvektoren in verschiedenen Halbbildern kombiniert und dadurch Fehler bei der
Bewegungsdetektierung reduziert. Das Ausgangssignal des Bewegungsvektorfilters 47 wird den
Luminanz-Interpolatoren 1Y und 1C zugeführt und steuert das Ausrichten der Halbbilddaten.
-
Genau die gleiche Hardware kann auch als Zeitlupenprozessor mit guter
Bewegungswiedergabe entweder für ein 625/50- oder ein 525/60-Fernsehsignal benutzt werden. Der
Vertikalinterpolator für die Umwandlung der Zeilenzahl ist jedoch nicht erforderlich. In jedem
Fall bestimmt die Steuerung 32 den jeweils erforderlichen Vorgang, indem sie aus den
Eingangs- und Ausgangshalbbild-Synchronisierimpulsen die Eingangs/Ausgangs-Norm
ermittelt. Bei der Zeitlupe wird die Polarität des Eingangshalbbildes benutzt.
-
Während bei der Umwandlung von 50 Halbbildern pro Sekunde in 60 Halbbilder pro
Sekunde ein Halbbild gelegentlich wiederholt wurde, wird bei der Zeitlupe das Halbbild ebenso oft
wiederholt, wie das Eingangshalbbild wiederholt wird. Da wiederholte Halbbilder nicht in die
Schieberegister 16Y und 16C eingeschrieben werden, enthalten diese wieder
aufeinanderfolgende unterschiedliche Halbbilder. Es ist in der Tat so, daß dann, wenn ein Videorekorder
ohne irgendeine Interpolation von seiner Seite wiedergibt, die ursprüngliche Zwischenzei-
lenstruktur beibehalten wird, die die Erzeugung von Bildern mit voller Auflösung ermöglicht.
Der erforderliche Zeit-Offset wird berechnet, indem die tatsächlichen
Halbbildfrequenzimpulse, seien es 50 Halbbilder pro Sekunde oder 60 Halbbilder pro Sekunde, mit der
Frequenz verglichen wird, mit der ein neues Halbbild empfangen wird. Um auf diese Weise
den Zeit-Offset zu bestimmen, muß dem System ein Signal zur Verfügung stehen, das die
wirkliche Halbbildpolarität des wiederholt wiedergegebenen Halbbildes anzeigt. Der
Vertikalinterpolator erzeugt stets die am Ausgang benötigte Halbbildpolarität.
-
Vom Konzept her werden die Zeitbasiskorrigierer 11Y und 11C für den Zeitlupenbetrieb
nicht unbedingt benötigt. Sie erleichtern jedoch die Rahmensynchronisation und
vereinfachen die Systemkonfiguration.
-
Der zweite Normenwandler zur Umwandlung eines digitalen Eingangsfernsehsignals mit
525 Zeilen und 60 Halbbildern pro Sekunde in ein digitales Ausgangsfernsehsignal mit 625
Zeilen und 50 Halbbildern pro Sekunde ist in Fig. 3 als ausführliches Blockschaltbild
dargestellt.
-
In diesem Fall erfordert die Interpolation, daß nacheinander alle Eingangsdaten zur
Verfügung stehen. Es ist deshalb in diesem Fall nicht möglich, vor den Interpolatoren 1Y und 1C
in 50 Halbbilder pro Sekunde umzuwandeln. Die Eingangsdaten enthalten jedoch nur 484
aktive Zeilen, während die Interpolatoren 1Y und 1C 576 Zeilen erzeugen müssen. Die
Zwei-Halbbild-Zeitbasiskorrigierer 18Y und 18C befinden sich deshalb vor dem
Normenwandler, um die erforderlichen Zeitschlitze für die Umwandlung von 484 in 576 Zeilen zur
Verfügung zu stellen.
-
Die ursprüngliche kontinuierliche Zeilenstruktur wird in die Zeitbasiskorrigierer 18Y und 18c
eingeschrieben und in der 585-Zeilennorm ausgelesen, wobei etwa jede sechste Zeile leer
ist. Die Interpolatoren 1Y und 1C dienen dann dazu, ein kontinuierliches Bild mit der
Ausgangszeilenzahl zu erzeugen, indem ihre Zeilenspeicher während der leeren Eingangszeile
eingefroren werden und die erforderliche zusätzliche Zeile am Ausgang erzeugt wird, so
daß die Erzeugung eines räumlich korrekten Bildes gewährleistet ist. Der erforderliche Zeit-
Offset wird wie bei dem ersten Normenwandler detektiert und angewendet, obwohl die
Interpolation so vorgenommen wird, daß ein Halbbild gelegentlich unterdrückt werden kann,
wodurch die glatte Bewegung aufgegeben wird. Das Halbbild wird in der Weise
unterdrückt,
daß eine Umwandlung von 60 Halbbildern pro Sekunde in 50 Halbbilder pro Sekunde
erreicht wird. Die Unterdrückung eines Halbbildes erfolgt mit Hilfe der
Vier-Halbbild-Zeitbasiskorrigierer 11Y und 11C am Ausgang.
-
Somit unterscheidet sich der zweite Normenwandler von dem in Fig. 2 dargestellten ersten
Normenwandler nur geringfügig. Insbesondere sind die Luminanz-Zeitbasiskorrigierer 11Y
und 18Y und die Chrominanz-Zeitbasiskorrigierer 11C und 18C jeweils vertauscht.
Außerdem werden keine Signale für das zeitliche Einfrieren benötigt.
-
In beiden Fällen hat die Steuerung 32 verschiedene Funktionen: Sie steuert das Auslesen
und Einschreiben der Zeitbasiskorrigierer 11Y, 11C, 18Y und 18C; sie erzeugt eine Zeit-
Offset-Zahl und, im Fall des ersten Normenwandlers, das Signal für das zeitliche Einfrieren,
und sie erzeugt zusammen mit den Steuersignaien für die vertikale Interpolation eine
vertikale Offset-Zahl. Diese Funktionen werden nun näher beschrieben.
-
Zunächst schalten die Zwei-Halbbild-Luminanz- und -Chrominanz-Zeitbasiskorrigierer 18Y
und 18C am Ende jedes 60 Hz Halbbildes stets zwischen Halbbildspeichern um. Die
Betätigung der Vier-Halbbild-Luminanz- und -Chrominanz-Zeitbasiskorrigierer 11Y und 11C hängt
jedoch von der Betriebsart ab, und ihre Steuerung ist außerdem mit der Erzeugung des
Zeit-Offset-Signals verknüpft. Und zwar wird die Steuerung der Luminanz- und Chrominanz-
Zeitbasiskorrigierer 11Y und 11C durch die Eingangs- und
Ausgangshalbbild-Synchronisiersignale bestimmt.
-
Anhand von Fig. 4 und 5 sei nun die Ableitung des Zeit-Offset-Signals bei der Umwandlung
von dem 525/60-Format auf das 625/50-Format beschrieben.
-
Wie Fig. 4 zeigt, enthält die Steuerung 32 einen Zeilenzähler 61 und eine erste und eine
zweite Halteschaltung 62 bzw. 63. Dem Takteingang des Zeilenzählers 61 wird ein
Zeilentaktsignal zugeführt. Dem Rücksetzeingang des Zeilenzählers 61 und dem Takteingang der
zweiten Halteschaltung 63 wird ein Eingangshalbbild-Synchronisiersignal zugeführt. Das
Ausgangshalbbild-Synchronisiersignal wird dem Takteingang der ersten
Verriegelungsschaltung 62 zugeführt. Das Ausgangssignal des Zeilenzählers 61 wird dem Eingang der ersten
Halteschaltung 62 zugeführt, deren Ausgangssignal dem Eingangssignal der zweiten
Halteschaltung 63 zugeführt wird. Das Ausgangssignal der zweiten Halteschaltung 63 bildet das
Zeit-Offset-Signal, das den Luminanz- und Chrominanz-Schieberegistern 11Y, 11C, 18Y und
18C zugeführt wird.
-
Die Eingangs- und Ausgangshalbbild-Synchronisiersignale sind in Fig. 5A bzw. 58
dargestellt. Fig. 5C zeigt das Ausgangssignal des Zeilenzählers 61, das wiederholt von 0 bis 524
zählt. Fig. 5D und 5E zeigen die Ausgangssignale der ersten Halteschaltung 62 bzw. der
zweiten Halteschaltung 63. Durch das Verriegeln des Zählers 61 wird die geforderte
Proportion der Eingangshalbbildperiode bestimmt. Der Wert tn der zeitlichen Verschiebung
zeigt die Position zwischen zwei Eingangshalbbildern an, an der das Ausgangshalbbild
interpoliert werden muß, damit dann, wenn das in Fig. 5A schraffiert dargestellte Halbbild
unterdrückt wird, trotzdem noch eine kontinuierliche Bewegung stattfindet. Das in Fig. 5E
schraffiert dargestellte Halbbild, das den Zeit-Offset benutzt, ist das unterdrückte Halbbild.
Man erkennt in Fig. 5A und 5B, daß das unterdrückte Halbbild dasjenige ist, dem keine
neue zeitliche Verschiebung zugeordnet ist. Das (durch einen Pfeil gekennzeichnete)
Halbbild, das unterdrückt werden soll, wird der folgenden Schaltung durch das zeitliche
Einfriersignal angezeigt.
-
Anhand von Fig. 6 und 7 sei nun die Gewinnung des Zeit-Offset-Signals für den Fall einer
Normenwandlung von dem 625/50-Format in das 525/60-Format beschrieben.
-
Wie Fig. 6 zeigt, umfaßt die Steuerung 32 einen Zeilenzähler 71 und eine Halteschaltung
72. Dem Takteingang des Zeilenzählers 71 wird ein Zeilentaktsignal zugeführt, während
dem Rücksetzeingang des Zeilenzählers 71 das Eingangshalbbild-Synchronisiersignal
zugeführt wird. Das Ausgangshalbbild-Synchronisiersignal wird dem Takteingang der
Halteschaltung 72 zugeführt. Das Ausgangssignal des Zeilenzählers 71 wird dem Eingang der
Halteschaltung 72 zugeführt, deren Ausgangssignal das Zeit-Offset-Signal bildet, das den
Luminanz- und Chrominanz-Schieberegistern 11Y, 11C, 18Y und 18C zugeführt wird.
-
Die Eingangs- und Ausgangshalbbild-Synchronisiersignale sind in Fig. 7A bzw. 78
dargestellt. Fig. 7C zeigt das Ausgangssignal des Zeilenzählers 71, der wiederholt von 0 bis 624
zählt. Fig. 7D zeigt das Ausgangssignal der Halteschaltung 72. Durch Verriegeln des Zählers
71 wird die geforderte Proportion der Eingangshalbbildperiode bestimmt. Der Wert tn der
zeitlichen Verschiebung zeigt also wieder die Position zwischen zwei Eingangshalbbildern
an, an der das Ausgangshalbbild interpoliert werden muß, so daß dann, wenn das
schraffierte Halbbild wiederholt wird, noch eine kontinuierliche Bewegung stattfindet. Das
wiederholte Halbbild ist dasjenige, dem zwei zeitliche Verschiebungswerte zugeordnet sind. Das
(durch einen Pfeil gekennzeichnete) Halbbild, das wiederholt werden soll, wird der
nachfolgenden Schaltung durch das zeitliche Einfriersignal angezeigt.
-
Die Gewinnung des Zeit-Offset-Signals für den Zeitlupenfall ist unabhängig davon, ob von
525/60 auf 525/60 oder von 625/50 auf 625/50 umgesetzt wird, immer gleich und wird im
folgenden anhand von Fig. 8 und 9 beschrieben.
-
Wie Fig. 8 zeigt, besitzt die Steuerung 32 einen Zeilenzähler 81, einen Halbbildzähler 82,
erste bis vierte Halteschaltungen 83 bis 86, ein Exklusiv-ODER-Gatter 87 und einen Skalierer
88. Das Eingangshalbbild-Synchronisiersignal wird dem Takteingang der ersten
Halteschaltung
83, dem Takt-Aktivierungseingang des Halbbildzählers 82 und einem zweiten
Rücksetzeingang des Zeilenzählers 81 zugeführt. Das Eingangshalbbild-Polaritätssignal wird der
ersten Halteschaltung 83 und von dort der zweiten Halteschaltung 84 und einem Eingang
der Gatterschaltung 87 zugeführt. Die zweite Halteschaltung 84 liefert ein Ausgangssignal
an den zweiten Eingang der Gatterschaltung 87, deren Ausgangssignal dem ersten
Rücksetzeingang des Zeilenzählers 81, dem Rücksetzeingang des Halbbildzählers 82 und dem
Takteingang der dritten Halteschaltung 85 zugeführt wird, die eine
Geschwindigkeitsdetektor-Halteschaltung bildet. Dem Takteingang der zweiten Halteschaltung 84 und den
Takteingängen des Zeilenzählers 81 und des Halbbildzählers 84 wird ein Zeilentaktsignal
zugeführt. Das Ausgangssignal des Zeilenzählers 81 wird einem Eingang des Skalierers 88
zugeführt. Das Ausgangssignal des Halbbildzählers 82 wird dem Eingang der dritten
Halteschaltung 85 und einem Offset-Eingang des Skalierers 88 zugeführt. Das
Ausgangshalbbild-Synchronisiersignal wird dem Takteingang der vierten Halteschaltung 86 zugeführt. Das
Ausgangssignal der dritten Halteschaltung 85 wird dem Skalierungsfaktor-Eingang des
Skalierers 88 zugeführt, dessen Ausgangssignal der vierten Halteschaltung 86 zugeführt wird.
Das Ausgangssignal der vierten Halteschaltung 86 bildet das Zeit-Offset-Signal.
-
Das Eingangshalbbild-Synchronisiersignal und das Eingangshalbbild-Polaritätssignal sind in
Fig. 9A bzw. 9B dargestellt. Fig. 9C zeigt ebenfalls die
Eingangshalbbild-Synchronisiersignale, Fig. 9D die Ausgangshalbbild-Synchronisiersignale. Fig. 9E und 9F zeigen die Funktion
des Halbbildzählers 82 und des Zeilenzählers 81, die Halbbilder bzw. Zeilen von 0 bis N
zählen. Fig. 9G zeigt das Ausgangssignal der vierten Halteschaltung 86, das das Zeit-Offset-
Signal darstellt. Fig. 9H zeigt das zeitliche Einfriersignal (das bei niedrigem Pegel aktiv ist).
Wie durch die Pfeile angedeutet, ist das schraffierte Halbbild, das den Zeit-Offset benutzt,
eine Wiederholung des vorhergehenden Halbbildes, das den Zeit-Offset t1 benutzte.
-
Zur Erzeugung des zeitlichen Einfriersignals enthält die Steuerung 30, wie in Fig. 10
dargestellt, ein synchrones RS-Flip-Flop 91, eine Halteschaltung 92, einen Inverter 93 und ein
UND-Glied 94. Das Ausgangshalbbild-Synchronisiersignal wird einem Eingang des Flip-Flops
91, dem Eingang des Inverters 93 und einem Takt-Aktivierungseingang der Halteschaltung
92 zugefuhrt. Das Eingangshalbbild Synchronisiersignal wird dem anderen Eingang des Flip-
Flops 91 zugefuhrt, wahrend den Takteingangen des Flip-Flops 91 und der Halteschaltung
92 ein Zeilentaktsignal zugeführt wird. Das Ausgangssignal des Flip-Flops 91 wird einem
Eingang der Gatterschaltung 94 zugeführt, an deren anderem Eingang das Ausgangssignal
des Inverters 93 anliegt. Das Ausgangssignal der Gatterschaltung 94 wird dem Eingang der
Halteschaltung 92 zugeführt, deren Ausgangssignal das zeitliche Einfriersignal bildet. Die
Wirkungsweise dieser Schaltung ist so, daß dann, wenn mehr als ein Ausgangshalbbild-
Synchronisierimpuls auf einen Eingangshalbbild-Synchronisierimpuls folgt, ein Einfrieren
stattfindet.
-
Anhand von Fig. 2 sei nun die Erzeugung der vertikalen Offset-Zahl durch die Steuerung 32
beschrieben. Der gleiche Adressengenerator, der die Daten aus dem
Luminanz-Zeitbasiskorrigierer 11Y in den Luminanz-Interpolator 1Y und den Bewegungsanalysierer 2 einliest,
adressiert auch einen Iöschbaren programmierbaren Nur-Lese-Speicher (EPROM), der die
vertikale Offset-Zahl nötigenfalls zusammen mit vertikalen Einfriersignalen liefert.
-
(In der Anordnung nach Fig. 3, die für die Umwandlung von dem 525/60-Format in das
625/50-Format dient, werden die Leseadressen des Luminanz-Zeitbasiskorrigierers 18Y
verwendet, in allen anderen Betriebsarten jedoch die Leseadressen des
Luminanz-Zeitbasiskorrigierers 11Y).
-
Die vertikale Offset-Zahl wird unter der Annahme erzeugt, daß sowohl die Eingangs- als
auch die Ausgangshalbbilder geradzahlig sind. Sie zeigt dann die Position zwischen zwei
Eingangszeilen an, an der die Ausgangszeile so interpoliert werden muß, daß ein
verzerrungsfreies Bild erzeugt wird, wenn
-
- bei der Umwandlung von 625/50 auf 525/60 gelegentlich eine Zeile unterdrückt wird
oder
-
- bei der Umwandlung von 525/60 auf 625/50 gelegentlich eine Zeile wiederholt wird.
-
Wenn von dem Luminanz-Zeitbasiskorrigierer 11Y (18Y) eine Zeile wiederholt wird, wird ein
vertikales Einfriersignal erzeugt.
-
Falls die Eingangshalbbilder nicht geradzahlig sind, müssen sich die Interpolatoren 1Y und
1C der Eingangshalbbildpolarität und der Ausgangshalbbildpolarität bedienen, um eine
korrekte Interpolation zu gewährleisten.
-
Der Speicherinhalt des EPROMS wird in ähnlicher Weise erzeugt, wie dies oben in
Verbindung mit Fig. 10 für das Zeit-Offset-Signal beschrieben wurde, wobei die bekannte
Zeilenposition sowohl in einem 525-Zeilen- als auch in einem 625-Zeilen-Bild verwendet wird.
-
Im folgenden seien nun anhand von Fig. 11 bis 15 Aufbau und Funktion des
Luminanzinterpolators 1Y (Fig. 2) ausführlicher beschrieben, der von der vorliegenden Erfindung in
besonderer Weise betroffen ist. Die Aufbau und Funktion des Chrominanzinterpolators 1C
sind ähnlich, so daß sich ihre getrennte Beschreibung erübrigt.
-
Während bekannte Interpolatoren von Normenwandlern ein festes Abtastraum-Array haben,
besitzt der Interpolator 1Y ein dynamisch wechselndes Abtastraum-Array, das sich auf einer
Pixelbasis nach einer Funktion ändert, die definiert ist durch die detektierte Bewegung, wie
sie durch den von dem Bewegungsvektorfilter 47 (Fig. 2) gelieferten Bewegungsvektor
repräsentiert wird, ferner die Halbbildposition und den Interpolationsbefehl. Dies führt dazu, daß
in dem interpolierten Ausgangssignal Interpolationsartefakte der Normenwandlung, wie z. B.
Mehrfachabbildung, Verwackeln und Unschärfe eliminiert sind.
-
Im allgemeinen besteht die Interpolation in Zusammenhang mit Normenwandlung in der
Anwendung eines digitalen Filters in der horizontalen und vertikalen Dimension und der
zeitlichen Dimension auf ein Array von Pixeln, das zeitlich und räumlich fixiert ist, um ein
neues Array von Pixeln in Zeit und Raum zu erzeugen. Der Interpolationsprozeß erzeugt
also ein Ausgangspixel aus der gewichteten Summe der umgebenden festen Pixel, wie dies
schematisch in Fig. 11 angedeutet ist, in der jedes "X" ein festes (verfügbares) Pixel und "0"
das interpolierte Pixel repräsentiert.
-
Zum leichteren Verständnis der Vorteile des hier zu beschreibenden bewegungsadaptiven
Interpolators seien zunächst ein normaler Interpolationprozeß und die Artefakte
beschrieben, die durch die Ignorierung der Bewegung in einem Bild entstehen.
-
Bei einer Normenwandlung ohne Bewegungskompensation berechnen die Interpolatoren
die Größe des Ausgangspixels aus der gewichteten Summe der Pixel eines Pixel-Arrays,
das zeitlich und räumlich fixiert ist. Fig. 12 zeigt ein vereinfachtes Diagramm des
vertikalen/zeitlichen Abtastraums, der für die Interpolation verwendet wird, wobei die Probleme
der Verschachtelung ignoriert werden. Jedes "X" repräsentiert ein festes (verfügbares) Pixel,
und "0" repräsentiert das interpolierte Pixel.
-
Die Größe des ausgegebenen interpolierten Pixels wird aus der gewichteten Summe der in
dem 4 x 4-Array dargestellten Pixel berechnet. Die Position des Ausgangspixels wird durch
den Interpolationsbefehl bestimmt, der aus dem Vergleich der Eingangs- und Ausgangs-
Halbbildsynchronsignale und Zeilennummern abgeleitet wird. Dieser Abtastraum liefert gute
Ergebnisse für das Bild einer stationären Szene, wenn die Daten in aufeinanderfolgenden
Halbbildern fluchten, weil A mit B, C und D korreliert ist.
-
Falls in der Szene jedoch Bewegung auftritt, z.B. eine vertikale Bewegung, die verursacht,
daß A mit E in dem Halbbild f1 und F in dem Halbbild f2 korreliert ist, entstehen bei
Verwendung des gleichen Interpolations-Abtastraums wie für die stationäre Szene (wie in Fig.
12) Fehler, wie Mehrfachabbildung, Verwackeln und Unschärfen, weil zur Erzeugung des
Ausgangssignals unkorrelierte Pixel summiert werden.
-
Um diese mit der normalen Normenwandlung verbundenen Artefakte zu beseitigen,
müssen die korrelierenden Pixel vor der Interpolation in jedem Halbbild fluchtend ausgerichtet
werden. Dies geschieht im vorliegenden Fall dadurch, daß man am Eingang jedes
Interpolatorabgriffs
eine variable Datenverzögerung vorsieht, die es erlaubt, die korrelierenden Pixel
in jedem Halbbild entsprechend der detektierten Bewegung fluchtend auszurichten. Wenn
die Bewegung in einer Szene detektiert ist, übernimmt die Interpolatorfunktion den
Bewegungsvektor und einen Interpolationsbefehl zusammen mit den Videodaten aus
Halbbildspeichern und erzeugt ein neues bewegungskompensiertes interpoliertes Halbbild.
-
Dies sei anhand eines in Fig. 13 dargestellten Beispiels näher beschrieben. Wenn zwischen
den Halbbildern f1 und f2 Bewegung detektiert wird, bei der sich das gerade analysierte
Pixel von B nach C bewegt, wird in der oben beschriebenen Weise ein Bewegungsvektor V
erzeugt, der die Anzahl von Pixeln angibt, um die sich das Pixel während einer Eingangs-
Halbbildperiode sowohl horizontal als auch vertikal bewegt hat. Der Interpolator nimmt den
Bewegungsvektor V auf und unterstellt lineare Bewegung von A nach B nach C nach D
über die vier Halbbilder f0, f1, f2 und f3. Der Interpolationsbefehl T spezifiziert die zeitliche
Position des interpolierten Halbbilds als einen Bruchteil des Abstands vom Eingangs- zum
Ausgangshalbbild, der in Fig. 13 einem Halbbild bei f'2 entspricht. Dies heißt, daß das
Ausgangspixel einem Pixel bei C' entspricht. Die Erzeugung dieses Pixels mit einem
bewegungsadaptiven Interpolator über vier Halbbilder erfordert die Übernahme der gewichteten
Summe der Pixel bei A', B', C' und D'. Dies geschieht dadurch, daß jedes Pixel in einem
Halbbild um einen Betrag verschoben wird, der der Funktion der Halbbildposition, der
detektierten Bewegung (Bewegungsvektor V) und dem Interpolationsbefehl T entspricht, so
daß die korrelierenden Pixel A', B', C' und D' gleichzeitig verarbeitet werden können.
-
Die korrelierenden Pixel werden mit Hilfe eines 32-Zeilen-Speichers an jedem vertikalen
Abgriff ausgerichtet. In diese Speicher werden Daten eingeschrieben und 16 Zeilen später
ausgelesen (falls keine vertikale Bewegung detektiert wurde). Wenn Bewegung detektiert
wird, wird der Bewegungsvektor V zu der vertikalen Adresse des Zeilenspeichers addiert,
wodurch das Bild effektiv aufwärts oder abwärts verschoben wird. Das Bild wird in
ähnlicher Weise horizontal verschoben, indem der Bewegungsvektor V der horizontalen
Leseadresse des Zeilenspeichers hinzuaddiert wird. Die vier vertikalen und zwei horizontalen
Abgriffe an jedem Halbbild werden um den gleichen Betrag verschoben. Jedes Halbbild
berechnet jedoch seinen eigenen Bewegungsvektor V entsprechend seiner Position in dem
Filter. Deshalb wird zur korrekten Ausrichtung jedes der vier Halbbilder um einen anderen
Betrag verschoben.
-
Der Betrag der Verschiebung und Interpolation, die für jedes Pixel benötigt werden, wird
aus einer Funktion abgeleitet, die beschrieben wird durch
-
(detektierte Bewegung) x (zeitliche Interpolation + Halbbildposition).
-
Aus dieser Funktion wird jedem Pixel eine horizontale Gesamtverschiebung und ein Subpixel-
Interpolationswert gegeben. Für die vertikale Bewegung muß die Funktion erweitert
werden, damit sie eine zusätzliche vertikale Verschiebung beinhaltet, die für die Abtastwandlung
benötigt wird. Deshalb wird die vertikale Verschiebung und Interpolation abgeleitet aus
-
(detektierte Bewegung) x (zeitliche Interpolation + Feldposition)
+ (Abtastwandlungsinterpolation).
-
So können durch Verwendung der obigen Funktionen die Gesamtverschiebungswerte und
die Werte der Subpixelverschiebung und Interpolation nach den oben angegebenen beiden
Beziehungen in einem Schritt berechnet werden, wie dies schematisch in Fig. 14
dargestellt ist. Dies geschieht mit Hilfe eines Skalierers 101 und eines Addierers 102, die in der
dargestellten Weise Eingangssignale aufnehmen und Ausgangssignale liefern.
-
Der Luminanzinterpolator 1Y ist - anders als die Interpolatoren von Normenwandlern ohne
Bewegungskompensation - als digitales dreidimensionales variablenseparables
Interpolationsfilter mit endlicher Impulsantwort (FIR-Filter) ausgebildet, das in der horizontalen,
vertikalen und zeitlichen Domäne arbeitet. Es könnte alternativ auch als dreidimensionales
digitales Interpolationsfilter mit endlicher Impulsantwort ausgebildet sein, das in der
horizontalen, vertikalen und zeitlichen Domäne arbeitet, jedoch kein variablenseparables Filter ist. In
normalen Normenwandlern findet keine horizontale Interpolation statt, weil die Anzahl der
Abtastproben pro aktive Zeilenperiode so ähnlich sind, daß sie als zusammenliegend
betrachtet werden können. Dies führt zu einer minimalen Bildverzerrung. In dem
Luminanzinterpolator 1Y ist jedoch eine horizontale Interpolation für die Wiedergabe der
Subpixelbewegung erforderlich. Dies Pixelbewegung wird durch das Verschieben der Videodaten in dem
Zeilenspeicher mit variabler Länge kompensiert, und die Subpixelbewegung wird sowohl in
horizontaler als auch in vertikaler Richtung durch Interpolation zwischen Abtastproben
kompensiert. Deshalb wird die Bewegung durch eine Kombination aus Bildverschiebung und
zusätzlicher Interpolation kompensiert.
-
Der Interpolator ist ein 32-Abgriff-Filter mit zwei horizontalen Abgriffen mal vier vertikalen
Abgriffen mal vier zeitlichen Abgriffen.
-
Der Luminanzinterpolator 1Y ist ausführlicher in Fig. 15 zusammen mit den vier
Halbbildspeichern 12Y, 13Y, 14Y und 15Y des Schieberegisters 16Y dargestellt, die effektiv Bestandteil
des Interpolators 1Y sind. Der Ausgang des Halbbildspeichers 12Y ist mit vier variablen
Zeilen-Verzögerungen (L) 111 bis 114 verbunden, deren Ausgänge mit entsprechenden
Multiplizierer-Akkumulatoren 115 bis 118 verbunden sind. Der Ausgang des Halbbildspeichers
12Y ist außerdem über eine Ein-Pixel- oder Abtastwert-Verzögerung (S) 119 mit vier variablen
Zeilen-Verzögerungen 120 bis 123 verbunden, deren Ausgänge mit entsprechenden
Multiplizierer-Akkumulatoren 124 bis 127 verbunden sind. Der Ausgang des Halbbildspeichers
13Y ist mit vier variablen Zeilen-Verzögerungen 128 bis 131 verbunden, deren Ausgänge mit
entsprechenden Multiplizierer-Akkumulatoren 132 bis 135 verbunden sind. Der Ausgang des
Halbbildspeichers 13Y ist außerdem über eine Ein-Pixel-Verzögerung 136 mit vier variablen
Zeilen-Verzögerungen 137 bis 140 verbunden, deren Ausgänge mit entsprechenden
Multiplizierer-Akkumulatoren 141 bis 144 verbunden sind. Der Ausgang des Halbbildspeichers
14Y ist mit vier variablen Zeilen-Verzögerungen 145 bis 148 verbunden, deren Ausgänge mit
entsprechenden Multiplizierer-Akkumulatoren 149 bis 152 verbunden sind. Der Ausgang des
Halbbildspeichers 14Y ist außerdem über eine Ein-Pixel-Verzögerung 153 mit vier variablen
Zeilen-Verzögerungen 154 bis 157 verbunden, deren Ausgänge mit entsprechenden
Multiplizierer-Akkumulatoren 158 bis 161 verbunden sind. Der Ausgang das Halbbildspeichers
15Y ist mit vier variablen Zeilen-Verzögerungen 162 bis 165 verbunden, deren Ausgänge
mit entsprechenden Multiplizierer-Akkumulatoren 166 bis 169 verbunden sind. Der Ausgang
des Halbbildspeichers 15Y ist außerdem über eine Ein-Pixel-Verzögerung 170 mit vier
variablen Zeilen-Verzögerungen 171 bis 174 verbunden, deren Ausgänge mit entsprechenden
Multiplizierer-Akkumulatoren 175 bis 178 verbunden sind.
-
Die Multiplizierer-Akkumulatoren 118 und 1 27 sind mit den Eingängen eines Addierers 179
verbunden, dessen Ausgang mit einem Multiplizierer-Akkumulator 183 verbunden ist. In
ähnlicher Weise sind die Ausgänge der Multiplizierer-Akkumulatoren 135 und 144, 152 und
161 sowie 169 und 178 mit den Eingängen von Addierern 180, 181 bzw. 182 verbunden
deren Ausgänge mit einem Eingang von Multiplizierer-Akkumulatoren 184, 185 bzw. 186
verbunden sind. Der Ausgang des Multiplizierer-Akkumulators 183 ist mit einem weiteren
Eingang des Multiplizierer-Akkumulators 184 verbunden, dessen Ausgang mit einem
weiteren Eingang des Multiplizierer-Akkumulators 185 verbunden ist, dessen Ausgang wiederum
mit einem weiteren Eingang des Multiplizierer-Akkumulators 186 verbunden ist. Der
Ausgang des Multiplizierer-Akkumulators 186 schließlich liefert das interpolierte Videodaten-
Ausgangssignal.
-
Die Gewichtungskoeffizienten W1 bis W8 dienen zur Erzeugung eines zweidimensionalen
horizontalen/vertikalen Filters, die Gewichtungskoeffizienten W9 bis W12 zur Erzeugung
einer variablenseparablen zeitlichen Antwort.
-
Anhand von Fig. 16 seien nun die Anordnung und die Schaltungen, die mit vier der
variablen Zeilen-Verzögerungen 111 bis 114 verbunden sind, näher beschrieben. Die variablen
Zeilen-Verzögerungen 111 bis 114 bilden einen 32-Zeilen-Speicher, der aus vier 8-Zeilen-
Speichern 191 bis 194 gebildet ist. Den Dateneingängen (DI) jedes dieser 8-Zeilen-Speicher
werden die Videodaten aus dem entsprechenden Exemplar der Halbbildspeicher 12Y, 13Y,
14Y und 15Y, im vorliegenden Fall des Halbbildspeichers 12Y, zugeführt.
-
Über einen Multiplexer (MX) 195 werden den Adresseneingängen (ADD) der Speicher 191
bis 194 horizontale Schreib- und Leseadressen zugeführt.
-
Über Schreibeingänge (W) von Multiplexern 196 bis 199 werden weiteren
Adresseneingängen der jeweiligen Speicher 191 bis 194 vertikale Schreibadressen zugeführt. Die beiden
niedrigstwertigen Bits (2LSB) der vertikalen Schreibadressen werden außerdem über einen
2-auf-4-Bit-Wandler 200 den Chip-Select-Eingängen (CS) der jeweiligen Speicher 191 bis
194 zugeführt, um die erforderliche Stufung durch die Zeilen zu bewirken.
-
Funktions-Modifizierschaltungen 201 bis 204, die ihre Ausgangssignale über Leseeingänge
(R) der betreffenden Multiplexer 196 bis 199 den Auswahleingängen (S) der betreffenden
Speicher 191 bis 194 zuführen, werden vertikale Leseadressen zugeführt. Die Funktions-
Modifizierschaltungen 201 bis 204 teilen die vertikale Adresse durch vier und addieren, wie
dargestellt 3/4, 1/2, 1/4 bzw. 0 und bewirken eine notwendige Rundung, um Bruchteile zu
entfernen. Die beiden niedrigstwertigen Bits (2LSB) der vertikalen Leseadressen werden
außerdem einer Trommeldrehschaltung 204 zugeführt, die auch vier Daten a, b, c und d aus
entsprechenden Datenausgängen (DO) der Speicher 191 bis 194 aufnimmt und vier
Datenausgangssignale A, B, C und D an den jeweiligen geeigneten Multiplizierer-Akkumulator, im
vorliegenden Fall den Multiplizierer-Akkumulatoren 115 bis 118 (Fig. 1 5) liefert.
-
Im Betrieb werden Zeilen von Daten abwechselnd in die Speicher 191 bis 194
eingeschrieben, so daß jeder von ihnen jede vierte Zeile enthält. Wenn die Speicher 191 bis 194
ausgelesen werden, wird die vertikale Adresse durch die betreffende
Funktions-Modifizierschaltung 201 bis 204 modifiziert. Dadurch wird sichergestellt, daß die erforderlichen vier Pixel
für jede vertikale Adresse verfügbar sind. Die gegebene Reihenfolge der Pixel ist jedoch
nicht notwendigerweise die benötigte Reihenfolge, und die Trommeldrehschaltung 204
bringt sie in die erforderliche aufsteigende Reihenfolge. Die Wahrheitstabelle für die
Trommeldrehschaltung 205 lautet:
-
So werden für jede Leseadresse die Daten von vier vertikal ausgerichteten Pixeln in der
Weise erzeugt, daß das Pixel A über dem Pixel B, B über C und C über D liegt. Die
betreffenden Daten werden dann mit dem entsprechenden Gewichtungskoeffizienten multipliziert.
-
Zusammenfassend läßt sich feststellen, daß der Hauptunterschied zwischen dem
Interpolator 1Y und den Interpolatoren von Normenwandlern ohne Bewegungskompensation darin
besteht, daß der Interpolator 1Y ein dynamisch wechselndes Abtastraum-Array besitzt, das
sich auf einer Pixelbasis nach der durch den Bewegungsvektor, die Halbbildposition und
den Interpolationsbefehl definierten Funktion ändert. Der Interpolator 1Y benutzt also eine
Steuerungsmethode, bei der die Halbbilder mit Subpixelauflösung fluchtend ausgerichtet
werden. Darüber hinaus wird die Interpolation im vertikalen und zeitlichen Raum durch
einen 4-Halbbild-Interpolationsprozeß durchgeführt, bei dem eine verschachtelte
Halbbildstruktur verwendet wird. Die Zeilenabtastung und die Umwandlung der Halbbildrate werden
gleichzeitig durchgeführt, wodurch sowohl vertikale als auch zeitliche Alias-Artefakte
beseitigt werden.