PatentDe  


Dokumentenidentifikation DE4307936C2 03.04.1997
Titel Bildprozessor zum Detektieren von Bewegungen
Anmelder Mitsubishi Denki K.K., Tokio/Tokyo, JP
Erfinder Ishihara, Kazuya, Itami, Hyogo, JP;
Uramoto, Shinichi, Itami, Hyogo, JP;
Nakagawa, Shinichi, Itami, Hyogo, JP;
Kumaki, Satoshi, Itami, Hyogo, JP
Vertreter Kuhnen, Wacker & Partner, Patent- und Rechtsanwälte, 85354 Freising
DE-Anmeldedatum 12.03.1993
DE-Aktenzeichen 4307936
Offenlegungstag 28.10.1993
Veröffentlichungstag der Patenterteilung 03.04.1997
Veröffentlichungstag im Patentblatt 03.04.1997
IPC-Hauptklasse G06T 7/20
IPC-Nebenklasse H04N 7/32   

Beschreibung[de]

Die vorliegende Erfindung betrifft eine Bildverarbeitungstechnik, welche die Bewegung von Rahmen-zu-Rahmen eines Bildes benutzt, und insbesondere betrifft sie eine Bildverarbeitungstechnik, um die Bewegung eines Bildes von einem Bildrahmen zu einem nächsten Bildrahmen zu detektieren.

Fig. 1 ist ein Blockdiagramm, in dem die Struktur einer konventionellen Detektionsvorrichtung 100 gezeigt ist, mit der Bewegungen von Bildrahmen zu Bildrahmen detektiert werden können. Die Detektionsvorrichtung 100 für Bewegungen von Bildrahmen zu Bildrahmen detektiert eine Bewegung eines unitären Blockes von 16×16-Pixeln eines Bildrahmens mit 96×80-Pixeln, so wie der in Fig. 10 gezeigte.

Ein Bildspeicher 1 enthält die Bilddaten eines Bildes, so wie sie gegenwärtig sind, während ein Bildspeicher 2 Bilddaten eines Bildrahmens enthält, wie er zuvor war, oder eines Bildrahmens, wie er nachfolgend sein würde. Der Ausdruck "voriger Bildrahmen" betrifft einen Bildrahmen, wie er zuvor gewesen ist und ein "gegenwärtiger Bildrahmen" betrifft einen Bildrahmen, wie er jetzt gerade ist. Im nachfolgenden wird eine Bewegungsdetektion realisiert, indem ein Referenzbereich eines vorigen Bildrahmens mit einem Objektblock eines gegenwärtigen Bildrahmens verglichen wird. Indessen kann auch ein nachfolgender Bildrahmen anstelle eines vorigen Bildrahmens verwendet werden, wobei dann in diesem Fall die technischen Aspekte der Bewegungsdetektion ähnlich mit denen der Bewegungsdetektion sind, die einen vorigen Bildrahmen verwendet.

Ein Speicher 3, der mit dem Bildspeicher 1 verbunden ist, empfängt von dem Speicher 1 Daten über einen Objektblock, dessen Bewegung zu detektieren ist. Die Bewegungsdetektion eines Blockes R(2, 2), wie er beispielsweise in Fig. 2 gezeigt ist, wird in der folgenden Art und Weise realisiert. Zunächst wird der Block R(2, 2) aus dem Bildspeicher 1 als ein Objektblock ausgewählt und Daten seine Pixel betreffend (16×16 = 256 Pixel) werden in den Speicher 3 eingelesen.

Ein Speicher 4, welcher mit dem Bildspeicher 2 verbunden ist, empfängt von dem Bildspeicher 2 Daten über einen Referenzbereich eines vorigen Bildrahmens. Der Referenzbereich umfaßt einen Bereich von ± 16 Pixeln um einen Objektblock herum, und zwar sowohl in einer vertikalen als auch in einer horizontalen Richtung.

Im Hinblick auf das obige Beispiel liest der Speicher 4 aus dem Bildspeicher 2 Daten über Pixel aus, die in dem Referenzbereich eines vorigen Rahmens enthalten gewesen sind, d. h. Daten über 2304 Pixel (48×48) der Blöcke R(1, 1), R(2, 1), R(3, 1), R(1, 2), R(2, 2), R(3, 2), R(1, 3), R(2, 3) und R(3, 3).

Eine Rechnereinheit 5 wird mit den Speichern 3 und 4 verbunden. Die Objektblockdaten und die Referenzbereichsdaten werden jeweils von dem Speicher 3 und dem Speicher 4 zu der Rechnereinheit 5 geführt, wo sie unter Verwendung von Blockanpassungstechniken bearbeitet werden. Als ein Ergebnis hiervon wird eine Bewegung des Objektblockes detektiert.

Genauer gesagt, errechnet die Rechnereinheit 5, welcher der Blöcke des Referenzbereiches die Daten aufweist, die den Daten des Objektblockes am ähnlichsten sind, und sie gibt eine Bewegung des Objektblockes relativ zu dem am nächsten kommenden Block aus.

Darauf folgend wird der Bildrahmen in einer horizontalen Richtung um einen Block verschoben abgetastet, so daß der Objektblock aktualisiert wird und der Block R(3, 2) als Objektblock ausgewählt wird. Mit dem Block R(3, 2) als Objektblock wird ein ähnliches Verfahren wiederholt. Um den Objektblock zu aktualisieren, wird der Bildrahmen lateral von links nach rechts abgetastet, und dann von dem ganz rechts gelegenen Ende zu dem ganz links gelegenen Ende der nächsten Zeile der Blöcke, und dann erneut lateral von dem linken Ende hin zu dem rechten Ende, wie auch in Fig. 3 dargestellt.

Der konventionelle Bildprozessor für die Detektion einer Bildbewegung von Bildrahmen zu Bildrahmen, wie er zuvor beschrieben worden ist, benötigt eine erhebliche Rechnerzeit, da es nötig ist, Daten von einer großen Anzahl von Pixeln zu lesen, die in einem Referenzbereich enthalten sind, und zwar aus dem Bildspeicher jedesmal vollständig neu, wenn der Objektblock aktualisiert wird. Für das obige Beispiel bedeutet dies, da der Block R(3, 2) als neuer Objektblock ausgewählt wird, daß der Speicher 4 2304 (= 48×48) Pixel einlesen muß, die in den Blöcken R(2, 1), R(3, 1), R(4, 1), R(2, 2), R(3, 2), R(4, 2), R(2, 3), R(3, 3) und R(4, 3) eines Referenzbereiches eines vorigen Rahmens enthalten sind, wie der Fig. 4 zu entnehmen ist.

Die DE 40 23 449 C1 betrifft ein Verfahren zum Bestimmen von Bewegungsvektoren für Teilbildbereiche einer Quellbildsequenz. Bei der Übertragung von bewegten Bildern über einen Übertragungskanal mit begrenzter Datenrate können unter Verwendung sogenannter hierarchischer Blockmatching-Verfahren zur Herstellung von Bewegungsvektoren für Teilbildbereiche (Blöcke) nach der Übertragung die bewegten Bilder rekonstruiert werden. Ausgehend von einem Referenzblock einer ersten Anzahl von Bildpunkten im aktuellen Quellbild wird dieser Referenzblock in einem Subbereich einer zweiten Anzahl von Bildpunkten des zeitlich davor liegenden Bildes an alle Bildpositionen dieses Subbereiches gebracht. Für alle Bildpunktpositionen wird untersucht, wo die Übereinstimmung der Bildpunkte des Referenzblocks gegenüber den Bildpunkten des Suchbereichs am größten ist. In mehreren Suchschritten werden Bewegungsvektoren bestimmt. In einem ersten Suchschritt wird ein Bewegungsvektor in einem Bild mit nur grober Auflösung ermittelt, der dann als Startwert für einen zweiten Suchschritt dient. Im zweiten Suchschritt wird dann der im ersten Suchschritt ermittelte Bewegungsvektor durch Feststellen des Fehlerminimums in seiner Umgebung in einem Bild mit höherer Auflösung verbessert. Die DE 40 23 449 C1 lehrt ein Verfahren, bei welchem die Gefahr minimiert wird, daß lediglich ein lokales Minimum des Fehlerkriteriums gefunden und somit ein falscher Bewegungsvektor bestimmt wird. Dazu wird eine Filterung und eine Abtastratenwandlung bei der Grobsuche im ersten Suchschritt vorgeschlagen, bei welcher Bilddetails, z. B. scharfe Kanten, nicht vollständig unterdrückt werden. Zwar wird durch dieses Verfahren die Gefahr verringert, daß lediglich ein lokales Minimum des Fehlerkriteriums und somit ein falscher Bewegungsvektor bestimmt wird, ausgeschlossen wird sie jedoch nicht.

Aufgabe der Erfindung ist es, einen Bildprozessor zu schaffen, bei welchem die Bewegung von in einem Bildrahmen definierten Objektblöcken exakt erfaßt werden und bei welchem der Rechenaufwand minimiert ist.

Die Lösung der Aufgabe erfolge durch die Merkmale des Anspruchs 1.

Im einzelnen wird in einem Bildprozessor gemäß eines ersten Aspektes der vorliegenden Erfindung ein Bildrahmen, der eine Vielzahl von Bilddaten enthält, in m Zeilen und n Spalten aufgeteilt, um dadurch eine Mehrzahl von Blöcken in dem Bildrahmen zu definieren (wobei m und n positive ganze Zahlen sind), dann werden die Blöcke des Bildrahmens, wie er zu einem ersten Zeitpunkt ist, abgetastet, um dadurch einen Objektblock zu aktualisieren, dessen Bewegung zu detektieren ist, dann wird ein Referenzbereich für den Objektblock bezeichnet, und zwar aus dem Bildrahmen, wie er zu einem zweiten Zeitpunkt ist, und nachfolgend wird eine Bewegung des Objektblockes detektiert, indem die Bilddaten über den Objektblock und die Bilddaten über den Referenzbereich verwendet werden. Der Bildprozessor umfaßt: einen ersten Bildspeicher, um die Bilddaten eines Bildrahmens zu speichern, wie er zu einem ersten Zeitpunkt ist; einen Objektdatenspeicher, zum Speichern der Bilddaten über den Objektblock, welcher ein Teil der Bilddaten über den Bildrahmen sind, wie er zu dem ersten Zeitpunkt ist, und die für jede Block-zu-Block-Abtastung aktualisiert werden; einen zweiten Bildspeicher zum Speichern der Bilddaten des Bildrahmens, wie er zu einem zweiten Zeitpunkt ist; und eine Mehrzahl von Detektionsdatenspeichern, welche jeweils die Bilddaten über den Referenzbereich aufteilen, welche ein Teil der Bilddaten über den Bildrahmen sind, wie er zu dem zweiten Zeitpunkt ist, und welche dieselbigen speichern. Daten, die in einer bestimmten Anzahl der Detektionsdatenspeicher gespeichert worden sind, werden aktualisiert, wenn der Objektblock aktualisiert wird.

Gemäß einer bevorzugten Ausführungsform werden die Blöcke entlang den Zeilen abgetastet, und der Referenzbereich enthält: (a-1) einen ersten Teil, welcher im wesentlichen aus drei Blöcken besteht, die zu einer Spalte links von dem Objektblock gehören und welche zum Objektblock benachbart sind; (a-2) einen zweiten Teil, welcher im wesentlichen aus dem Objektblock und zwei Blöcken besteht, die zu dem Objektblock benachbart sind und die zu einer Spalte gehören, zu der der Objektblock gehört; und (a-3) einem dritten Teil, der im wesentlichen aus drei Blöcken besteht, die zu einer Spalte auf der rechten Seite des Objektblockes gehören und welche zu dem Objektblock benachbart sind, wobei die Zahl der Detektionsdatenspeicher drei ist, und die drei Detektionsdatenspeicher jeweils die Bilddaten von dem ersten bis hin zum dritten Teil speichern, und die bestimmte Anzahl der Detektionsdatenspeicher einen oder zwei von den drei Detektionsdatenspeichern umfaßt.

Gemäß einer weiteren bevorzugten Ausführungsform werden die Blöcke entlang den Zeilen abgetastet, und der Referenzbereich enthält: (a-1) einen ersten Teil, welcher im wesentlichen aus drei Blöcken besteht, die zu einer Spalte gehören, die links von dem Objektblock liegt und die benachbart zu dem Objektblock ist; (a-2) einen zweiten Teil, welcher im wesentlichen aus dem Objektblock und zwei Blöcken besteht, die benachbart zu dem Objektblock sind und die zu einer Spalte gehören, zu der der Objektblock gehört; (a-3) einem dritten Teil, welcher im wesentlichen aus drei Blöcken besteht, die zu einer Spalte gehören, die rechts von dem Objektblock liegt und die zu dem Objektblock benachbart ist, wobei die Anzahl der Detektionsdatenspeicher vier ist und wobei drei Datenspeicher von den vier Datenspeichern jeweils die Bilddaten über den ersten bis hin zum dritten Teil speichern und die bestimmte Anzahl der Detektionsdatenspeicher einen verbleibenden Detektionsdatenspeicher umfaßt, mit Ausnahme der drei Detektionsdatenspeicher.

Darüberhinaus werden die Bilddaten in dem verbleibenden Detektionsdatenspeicher vorzugsweise aktualisiert, während Bilddaten in den drei Detektionsdatenspeichern eingelesen werden.

Alternativerweise weisen der Objektdatenspeicher und die Detektionsdatenspeicher jeweils eine Datenbreite auf, mit der Daten über eine Mehrzahl von Pixeln in einem Wort gespeichert werden.

Alternativerweise weisen der Objektdatenspeicher und die Detektionsdatenspeicher jeweils eine Mehrzahl von Torspeichern auf.

Darüberhinaus weisen der Objektdatenspeicher und die Detektionsdatenspeicher jeweils vorzugsweise eine Datenbreite auf, mit der Daten über eine Mehrzahl von Pixeln in einem Wort gespeichert werden.

Alternativerweise kann der Bildprozessor weiterhin einen digitalen Signalprozessor umfassen, wobei der digitale Signalprozessor enthält: (b-1) einen Schaltkreis zur Erzeugung von Adressen der Detektionsdatenspeicher; und (b-2) einen Adressenkonversionsschaltkreis zum Ändern der Adressen.

Der digitale Signalprozessor gemäß einem ersten Aspekt der vorliegenden Erfindung umfaßt: eine Mehrzahl von Datenspeichern, einen Schaltkreis zum Erzeugen von Adressen der Detektionsdatenspeicher; und einen Adressenkonversionsschaltkreis zum Ändern der Adressen.

Wenigstens drei Datenspeicher werden vorzugsweise verwendet, und der Adressenkonversionsschaltkreis ändert die Adressen bevorzugterweise, die zu den drei Datenspeichern abgebildet worden sind.

Alternativerweise können wenigstens vier Datenspeicher eingesetzt werden, und der Adressenkonversionsschaltkreis ändert die Adressen vorzugsweise, die zu den vier Datenspeicher abgebildet werden, und zwar durch Umdrehungen. Darüberhinaus kann der digitale Signalprozessor desweiteren einen direkten Speicherzugriffscontroller umfassen, der die Aufgabe hat, Daten zu und von den Datenspeichern zu transferieren.

Daher müssen in dem Bildprozessor gemäß einer ersten Ausführungsform der vorliegenden Erfindung Bilddaten über den vollständigen Referenzbereich nicht für, jede Block-für-Block-Abtastung eingelesen werden, da die Bilddaten über den Referenzbereich aufgeteilt und in den Speichern gespeichert werden. Als ein Ergebnis hiervon wird eine Verminderung der Datenlesezeit erzielt.

Das obige Merkmal bleibt auch dann wirksam, wenn der Bildprozessor gemäß einer weiteren Ausführungsform der vorliegenden Erfindung verwendet wird. Zusätzlich werden Daten über eine Mehrzahl von Pixeln zu einem Zeitpunkt gelesen, was die Datenlesezeit weiter vermindert.

In dem digitalen Signalprozessor gemäß einer Ausführungsform der vorliegenden Erfindung ist es nicht nötig, da die in ihm eingefügten Speicher jeweils Daten über einen aufgeteilten Bereich eines Referenzspeichers gespeichert haben, und aufgrund des Adressenkonversionsschaltkreises, der die Adressen der Speicher ändert, Bilddaten über den gesamten Referenzbereich für jede Block-zu-Block-Abtastung auszulesen. Daher liest der digitale Signalprozessor, wenn er in dem Bildprozessor zur Detektion von Bewegungen gemäß der vorliegenden Erfindung verwendet wird, Daten in einer verkürzten Zeit.

Wie zuvor beschrieben worden ist, wird der Bildprozessor so aufgebaut, daß die Referenzbereichsdaten gleichzeitig mit der Berechnung einer Bewegung eingelesen werden, wodurch sich die Verarbeitungszeit vermindert.

Darüberhinaus ist der Bildprozessor so aufgebaut, daß die Daten des Objektblockes gleichzeitig mit der Errechnung einer Bewegung eingelesen werden, wodurch sich die Verarbeitungszeit vermindert.

Zusätzlich ist der Bildprozessor so aufgebaut, daß Daten über eine Mehrzahl von Pixeln in den Speichern in einem Wort gespeichert werden und derartige Daten werden durch einen Rechnervorgang zu einer Zeit verarbeitet, was zu einer verminderten Verarbeitungszeit führt.

Gemäß eines weiteren Aspektes der vorliegenden Erfindung wird, da der Bildprozessor derartig aufgebaut ist, daß eine parallele Verarbeitung durch Speicher mit einer Vielzahl von Toren erreicht wird, die Verarbeitungszeit vermindert.

Demgemäß wird also gemäß der vorliegenden Erfindung ein verbesserter Prozessor für die Detektion einer Bewegung von Bildrahmen-zu-Bildrahmen eines Bildes bereitgestellt, indem Daten über einen Referenzbereich, der einem Block entspricht, in einer verminderten Zeit eingelesen werden. Einweiterer Vorteil der vorliegenden Erfindung liegt darin, dar ein digitaler Signalprozessor bereitgestellt wird, welcher für die Verwendung in einem derartigen Bildprozessor geeignet ist.

Die Unteransprüche haben vorteilhafte Weiterbildungen der Erfindung zum Inhalt.

Weitere Vorteile, Merkmale und Eigenschaften der vorliegenden Erfindung werden aus der nachfolgenden Beschreibung deutlich, die in Zusammenhang mit der Zeichnung zu verstehen ist. Es zeigt:

Fig. 1 ein Blockdiagramm, in dem eine Technik gemäß dem Stand der Technik erläutert wird;

Fig. 2 bis 4 erklärende Diagramme, in denen die bekannte Technik dargestellt ist;

Fig. 5 ein Blockdiagramm, in dem die Struktur einer Detektionsvorrichtung gemäß einer ersten bevorzugten Ausführungsform der vorliegenden Erfindung dargestellt ist;

Fig. 6 ein Blockdiagramm, in dem die Kodierung eines Bewegungsbildes dargestellt ist, auf das die vorliegende Erfindung anwendbar ist;

Fig. 7 ein Blockdiagramm, in dem die Struktur der in Fig. 5 gezeigten Vorrichtung detaillierter dargestellt ist;

Fig. 8 ein Blockdiagramm, in dem die innere Struktur einer Rechnereinheit dargestellt ist;

Fig. 9 ein Flußdiagramm, in dem die Verfahrensschritte gemäß der ersten Ausführungsform der vorliegenden Erfindung dargestellt sind;

Fig. 10 eine Bildrahmengröße zur Erklärung der bevorzugten Ausführungsformen gemäß der vorliegenden Erfindung;

Fig. 11 und 12 Darstellungen, aus denen hervorgeht, wie ein Block gemäß der ersten bevorzugten Ausführungsform der vorliegenden Erfindung verarbeitet wird;

Fig. 13 ein Blockdiagramm, in dem die Struktur einer Detektionsvorrichtung gemäß einer zweiten bevorzugten Ausführungsform der vorliegenden Erfindung dargestellt ist;

Fig. 14 bis 16 Darstellungen, aus denen hervorgeht, wie ein Block gemäß der zweiten bevorzugten Ausführungsform der vorliegenden Erfindung verarbeitet wird;

Fig. 17 ein Flußdiagramm, in dem die Verfahrensschritte gemäß der zweiten bevorzugten Ausführungsform dargestellt sind;

Fig. 18 ein Blockdiagramm, in dem die Struktur einer Detektionsvorrichtung gemäß einer dritten bevorzugten Ausführungsform der vorliegenden Erfindung dargestellt ist;

Fig. 19A-19C Diagramme, um Effekte der ersten bis dritten bevorzugten Ausführungsform der vorliegenden Erfindung zu erläutern;

Fig. 20 ein Flußdiagramm, in dem die Verfahrensschritte gemäß der dritten bevorzugten Ausführungsform der vorliegenden Erfindung dargestellt sind;

Fig. 21 ein Blockdiagramm, in dem eine vierte bevorzugte Ausführungsform der vorliegenden Erfindung dargestellt ist;

Fig. 22 ein Blockdiagramm, in dem die innere Struktur einer Rechnereinheit dargestellt ist;

Fig. 23 ein Blockdiagramm, in dem eine fünfte bevorzugte Ausführungsform der vorliegenden Erfindung dargestellt ist;

Fig. 24 ein Blockdiagramm, in dem die innere Struktur einer Rechnereinheit dargestellt ist;

Fig. 25 ein Blockdiagramm, in dem eine sechste bevorzugte Ausführungsform der vorliegenden Erfindung dargestellt ist;

Fig. 26 ein Blockdiagramm, in dem die innere Struktur einer Rechnereinheit dargestellt ist;

Fig. 27 ein Blockdiagramm, in dem eine siebte bevorzugte Ausführungsform der vorliegenden Erfindung dargestellt ist;

Fig. 28 eine Darstellung, in der innere Speicherplätze in der siebten bevorzugten Ausführungsform der vorliegenden Erfindung dargestellt sind;

Fig. 29 die Struktur eines Adressenkonversionsschaltkreises;

Fig. 30 ein Blockdiagramm, in dem eine achte bevorzugte Ausführungsform gemäß der vorliegenden Erfindung dargestellt ist;

Fig. 31 eine Darstellung, in der die inneren Speicherplätze gemäß der achten bevorzugten Ausführungsform der vorliegenden Erfindung gezeigt werden;

Fig. 32 die Struktur eines Adressenkonversionsschaltkreises;

Fig. 33 ein Blockdiagramm, in dem eine neunte bevorzugte Ausführungsform der vorliegenden Erfindung dargestellt ist; und

Fig. 34 ein Blockdiagramm, in dem eine zehnte bevorzugte Ausführungsform der vorliegenden Erfindung dargestellt ist.

Unter den anderen Techniken, die mit der Bildverarbeitung befaßt sind, betrifft die vorliegende Erfindung die Vorhersage einer Bewegungskompensation von Bildrahmen-zu-Bildrahmen, die für die Quellenkodierung während der Kodierung eines Bewegungsbildes benötigt wird, so wie das in Fig. 6 gezeigte.

Bevorzugte Ausführungsformen der vorliegenden Erfindung werden im folgenden beschrieben. Um die Beschreibung zu erleichtern, wird die vorliegende Erfindung nur im Hinblick auf eine Bewegungsdetektion eines unitären Blockes von 16×16-Pixeln eines Bildrahmens von 96×80-Pixeln beschrieben, so wie der in Fig. 10 gezeigte. Indessen wird darauf hingewiesen, daß die vorliegende Erfindung nicht auf diese spezifische Bewegungsdefinition beschränkt ist.

Erste bevorzugte Ausführungsform

Fig. 5 ist ein schematisches Blockdiagramm, in dem die Struktur einer Detektionsvorrichtung 200a für Bewegungen von Bildrahmen zu Bildrahmen gemäß einer ersten Ausführungsform der vorliegenden Erfindung dargestellt ist. Ein erster Eingangsanschluß einer Rechnereinheit 5 wird mit einem Bildspeicher 1 über einen Speicher 3 verbunden, während ein zweiter Eingangsanschluß der Rechnereinheit 5 mit einem Rahmenspeicher 2 über Speicher 6, 7 und 8 verbunden wird.

Der Bildspeicher 1 hält Bilddaten eines gegenwärtigen Bildrahmens, während der Bildspeicher 2 Bildrahmen eines vorigen Bildrahmens hält. Der Speicher 3 empfängt von dem Bildspeicher 1 Daten über einen Objektblock, dessen Bewegung zu detektieren ist. Die Speicher 6, 7 und 8 empfangen jeweils ein Drittel der Daten über einen Referenzbereich für den Objektblock. Die Rechnereinheit 5 liest die Daten über den Objektblock aus dem Speicher 3 und die Daten über den Referenzbereich aus den Speichern 6, 7 und 8. Eine Bewegung des Objektblockes wird errechnet, indem ein Blockanpassungsverfahren der Daten durchgeführt wird, die so von der Rechnereinheit 5 empfangen worden sind.

Es wird nun angenommen, daß eine Bewegung eines Blockes R(2, 2) zu detektieren ist. Zunächst wird der Block R(2, 2) als Objektblock aus dem Bildspeicher 1 ausgewählt und Daten über seine 256 Pixel (= 16×16) werden in den Speicher 3 eingelesen.

Nachfolgend werden Daten über einen Referenzbereich aus dem Bildspeicher 2 ausgelesen, welcher die Daten über einen vorigen Bildrahmen enthält. Da ein Block R(1, 2) der Objektblock während der vorigen Bewegungsdetektion war, sind Daten über die Blöcke R(1, 1), R(2, 1), R(1, 2), R(2, 2), R(1, 3) und R(2, 3) bereits in zwei von den Speichern 6, 7 und 8 gespeichert worden. Daher ist es nicht nötig, die Daten über diese Blöcke ein zweites Mal einzulesen. Wenn angenommen wird, daß die Speicher 7 und 8 die Daten über diese Blöcke enthalten, dann ist es nur nötig, die Daten über die Blöcke R(3, 1), R(3, 2) und R(3, 3) in den Speicher 6 zu lesen.

In Fig. 11 ist ein nach rechts unten straffierter Bereich der Objektblock und ein Bereich, der nach links unten kreuzstraffiert ist, der Referenzbereich, der neu in den Speicher eingelesen werden muß (diese Interpretation gilt auch für die anderen, ähnlichen Figuren).

Daher sind nun die Daten über den gesamten Referenzbereich in den Speichern 6, 7 und 8 für die Rechnereinheit 5 verfügbar. Die Rechnereinheit 5 errechnet eine Bewegung des Objektblockes, indem sie Daten aus den Speichern 6, 7 und 8 verwendet, sowie die Daten über den Objektblock, die aus dem Speicher 3 empfangen werden, und sie gibt eine errechnete Blockbewegung aus.

Der Block wird dann in der horizontalen Richtung weitergetastet, so daß ein Block R(3, 2) als Objektblock ausgewählt wird, welcher in Fig. 12 dargestellt ist, und eine Bewegungsdetektion wird in ähnlicher Art und Weise durchgeführt, wie zuvor in Zusammenhang mit dem Block R(2, 2). Da der Speicher 8, der bereits die Daten über die Blöcke R(2, 1), R(2, 2) und R(2, 3) gelesen hat und der Speicher 6 bereits die Daten über die Blöcke R(3, 1), R(3, 2) und R(3, 3) gelesen hat, ist es nun nur noch nötig, daß der Speicher 7 die Daten über die Blöcke R(4, 1), R(4, 2) und R(4, 3) liest.

Daher werden gemäß der ersten bevorzugten Ausführungsform der vorliegenden Erfindung Daten eines Referenzbereiches, die für jede Bewegungsdetektion eingelesen werden müssen, auf ein Drittel der entsprechenden Daten vermindert, die in einer konventionellen Vorrichtung eingelesen werden müssen. Daher verlangt die erste bevorzugte Ausführungsform weniger Zeit zum Auslesen der Referenzbereichsdaten.

Fig. 7 zeigt die Struktur der Detektionsvorrichtung 200a für Bewegungen von Bildrahmen-zu-Bildrahmen detaillierter. Unter der Steuerung eines Haupt-Steuerschaltkreises 204 befinden sich ein Speicheradressen-Erzeugungsschaltkreis 201, ein Signal-Erzeugungsschaltkreis für das Speicherzeitverhalten 202 und ein Steuerschaltkreis für die Rechnereinheit 203. Der Speicheradressen-Erzeugungsschaltkreis 201 und der Signal-Erzeugungsschaltkreis für das Speicherzeitverhalten 202 bewirken jeweils einen Datentransfer von den Bildspeichern 1 und 2 zu den Speichern 3, 6, 7 und 8.

Der Steuerschaltkreis für die Rechnereinheit 203 ist für die Steuerung der Rechnereinheit 5 verantwortlich. Die innere Struktur der Rechnereinheit 5 ist in Fig. 8 gezeigt. Ein Subtrahierer 5a empfängt die Daten von dem Speicher 3 und den Speichern 6, 7 und 8 und befördert Daten, die in ihm verarbeitet worden sind, zu einem Absolutwert-Kalkulator 5b. Das Ergebnis des Rechnervorganges in dem Absolutwert-Kalkulator 5b wird dann an einen Addierer 5c übergeben, in dem Verzerrungen akkumuliert werden. Ein Verzerrungs-Akkumulationsregister 5d akkumuliert gleichfalls Verzerrungen. Die Akkumulationsergebnisse in dem Addierer 5c und dem Verzerrungs-Akkumulationsregister 5d werden dann in einem Verzerrungs-Komparator 5f verglichen, und zwar mit Daten, die in einem Halteregister für minimale Verzerrungen 5e gespeichert waren.

Das Betriebsverfahren in der ersten bevorzugten Ausführungsform ist in einem in Fig. 9 gezeigten Flußdiagramm dargestellt. Im Schritt P1 werden aus den Bildspeichern 1 und 2 jeweils Bilddaten des vorigen Bildrahmens und Bilddaten des gegenwärtigen Bildrahmens ausgelesen. Dann wird in dem Schritt P2 der Objektblock ausgewählt, dessen Bewegung zu detektieren ist, und Bilddaten über den Objektblock werden ausgelesen. Im Schritt P3 wird ein Referenzbereich für den Objektblock definiert und Bilddaten über den Referenzbereich werden ausgelesen, wobei während dieses Vorganges, wie bereits zuvor beschrieben, nur Daten von ungefähr einem Drittel der Referenz ausgelesen werden müssen.

Im Schritt P4 detektiert die Rechnereinheit 5 eine Bewegung des Objektblockes. Nachfolgend werden in dem Schritt P5 die Adressen der Speicher 6, 7 und 8 geändert, was es erlaubt, daß nur einer der Speicher 6, 7 und 8 seine Daten in dem Schritt P3 des nächsten Zyklusses aktualisieren muß. Im Schritt P6 wird die Bildverarbeitung solange fortgeführt, bis alle Objektblöcke verarbeitet sind.

Zweite bevorzugte Ausführungsform

Fig. 13 ist ein schematisches Blockdiagramm, in dem die Struktur einer Detektionsvorrichtung 200b für Bewegungen von Bildrahmen-zu-Bildrahmen gemäß einer zweiten bevorzugten Ausführungsform der vorliegenden Erfindung dargestellt ist. Die Vorrichtung 200b ist zu der Vorrichtung 200a weitestgehend äquivalent, sie ist nur dahingehend modifiziert worden, einen zusätzlichen Speicher 9 zu enthalten, welcher die gleiche Kapazität hat wie die Speicher 6, 7 und 8. Daten über einen Referenzbereich werden jeweils in drei beliebigen der vier Speicher 6, 7, 8 und 9 gespeichert. Der verbleibende eine Speicher enthält ein Drittel der Daten über einen Referenzbereich für den nächsten oder den übernächsten Objektblock.

Im folgenden wird angenommen, daß eine Bewegung eines Blockes R(3, 1) zu detektieren ist, wie in Fig. 14 dargestellt. In diesem Fall wird der Block R(3, 1) aus dem Bildspeicher 1 als Objektblock ausgewählt, und Daten über den Block R(3, 1) werden in den Speicher 3 eingelesen. Ein Referenzbereich für diesen Objektblock besteht aus den Blöcken R(2, 0), R(2, 1), R(2, 2), R(3, 0), R(3, 1), R(3, 2), R(4, 0), R(4, 1) und R(4, 2).

Daten über die Blöcke R(2, 0), R(2, 1), R(2, 2) sind bereits in den Speicher 6 eingelesen worden, als der Block R(0, 1) der Objektblock war, die Daten über die Blöcke R(3, 0), R(3, 1), R(3, 2) sind bereits in den Speicher 7 gelesen worden, als ein Block R(1, 1) der Objektblock war, während Daten über die Blöcke R(4, 0), R(4, 1) und R(4, 2) bereits in den Speicher 8 gelesen worden sind, als der Block R(2, 1) der Objektblock war.

Die Rechnereinheit 5 liest die Daten über den Objektblock aus dem Speicher 3 und die Daten über den Referenzbereich aus den Speichern 6, 7 und 8 und errechnet eine Bewegung des Objektblockes und gibt diese aus. Während dieses Vorganges wird, in Vorbereitung für die Bewegungsdetektion des nächsten Objektblockes R(4, 1), der Speicher 9 aus dem Bildspeicher 2 Daten über die Blöcke R(5, 0), R(5, 1) und R(5, 2) auslesen, welche zuvor noch nicht in den Speichern 6, 7 und 8 gespeichert gewesen sind.

Daher werden Daten über einen Referenzbereich für den nächsten Objektblock eingelesen, während die Rechnereinheit 5 noch an der Errechnung und Ausgabe einer Bewegung arbeitet. Dies macht die Notwendigkeit für die Bereitstellung einer separaten Zeitspanne für die Einlesung nach der Errechnung für die Referenzdaten unnötig, wodurch eine schnellere Bildverarbeitung erzielt wird.

Nachdem dies geschehen ist, wird der Rahmen weiter abgetastet, so daß der nächste Zyklus der Bewegungsdetektion mit dem Block R(4, 1) als Objektblock begonnen werden kann (vgl. Fig. 15). Ein Referenzbereich für diesen Objektblock besteht aus den Blöcken R(3, 0), R(3, 1), R(3, 2), R(4, 0), R(4, 1), R(4, 2), R(5, 0), R(5, 1) und R(5, 2). Die Daten über diese Blöcke befinden sich bereits in den Speichern 7, 8 und 9. Die Rechnereinheit 5 errechnet eine Bewegung dieses Objektblockes, indem die Daten aus den Speichern 7, 8 und 9 und die Daten aus dem Speicher 3 verwendet werden. Gemäß der Verfahrenssequenz, wie sie zuvor beschrieben worden ist, wird der Speicher 6 als nächstes veranlaßt, aus dem Bildspeicher 2 ein Drittel der Daten über einen Referenzbereich für den nächsten Objektblock R(5, 1) einzulesen (vgl. Fig. 16).

Der Referenzbereich für den Block R(5, 1) besteht aus den Blöcken R(4, 0), R(4, 1), R(4, 2), R(5, 0), R(5, 1) und R(5, 2), deren Daten sich bereits in den Speichern 8 und 9 befinden. Daher wird während der Errechnung einer Bewegung des Blockes R(4, 1) in der Rechnereinheit 5 der Speicher 6 Daten über einen Teil eines Referenzbereiches für den übernächsten Block R(0, 2) auslesen, d. h. die Daten über die Blöcke R(0, 1), R(0, 2) und R(0, 3), welche noch nicht von den Speichern 6, 7 und 8 eingelesen worden sind.

Während der Errechnung der Bewegung des Blockes R(4, 1) wird der Bildrahmen weiter abgetastet, und der Block R(5, 1) wird als der nächste Objektblock ausgesucht, mit dem die Bewegungsdetektion fortzusetzen ist. Die Speicher 8 und 9 enthalten bereits die Referenzbereichsdaten für diesen Objektblock, und der Speicher 6 enthält bereits die Daten über einen Referenzbereich für den nächsten Zyklus, d. h. Daten über die Blöcke R(0, 1), R(0, 2) und R(0, 3) Daher wird, während eine Bewegung des Objektblockes R(5, 1) errechnet wird, der Speicher 7 Daten über die Blöcke R(1, 1), R(1, 2) und R(1, 3) als Daten über einen Teil eines Referenzbereiches für den nächsten Objektblock R(0, 2) einlesen.

Wie zuvor beschrieben worden ist, wird während des Vorgangs des Abtastens eines Bildrahmens von Block zu Block der Speicher ein Drittel der Daten über einen Referenzbereich für den nächsten oder für den übernächsten Objektblock simultan mit der Errechnung der Bewegung eines gegenwärtigen Objektblockes durch die Rechnereinheit 5 eingelesen. Daher führt die zweite bevorzugte Ausführungszeit zu einer kürzeren Verarbeitungszeit als die erste bevorzugte Ausführungsform.

Der Betriebsablauf gemäß der zweiten bevorzugten Ausführungsform ist in der Fig. 17 in der Form eines Flußdiagrammes dargestellt. Zunächst lesen die Bildspeicher 1 und 2 jeweils Bilddaten des vorigen Rahmens und Bilddaten des gegenwärtigen Bildrahmens, vgl. Schritt P11. Dann wird in dem Schritt P12 der Objektblock ausgewählt, dessen Bewegung zu detektieren ist, und Bilddaten über den Objektblock werden eingelesen.

Bilddaten über einen Referenzbereich für den Objektblock werden nachfolgend ausgelesen (Schritt P13), und zwar gleichzeitig mit der Errechnung einer Bewegung des Objektblockes (Schritt P14) durch die Rechnereinheit 5. Nachfolgend werden die Adressen der Speicher 6, 7, 8 und 9 im Schritt P15 geändert. Schließlich wird eine Bewegung eines Bildes für alle Blöcke gefunden (vgl. Schritt P16).

Die Rechnereinheit 5 gemäß der zweiten bevorzugten Ausführungsform ist die gleiche wie die Rechnereinheit 5 gemäß der ersten bevorzugten Ausführungsform, die in Fig. 7 gezeigt ist.

Dritte bevorzugte Ausführungsform

Fig. 18 ist ein schematisches Blockdiagramm, in dem die Struktur einer Detektionsvorrichtung 200c für die Bewegung von Rahmen-zu-Rahmen gemäß einer dritten bevorzugten Ausführungsform der vorliegenden Erfindung dargestellt ist. Die Vorrichtung 200c ist weitestgehend mit der Vorrichtung 200b gemäß der zweiten bevorzugten Ausführungsform (vgl. Fig. 13) äquivalent, sie ist hingegen dahingehend modifiziert worden, zusätzlich einen Speicher 10 zu enthalten, welcher die gleiche Kapazität aufweist wie der Speicher 3. Die Speicher 6, 7, 8 und 9 lesen Daten in der gleichen Art und Weise aus wie die entsprechenden Speicher gemäß der zweiten bevorzugten Ausführungsform.

Genau wie auch der Speicher 3 liest der Speicher 10 Daten über einen Objektblock aus dem Bildspeicher 1 aus, der die Bilddaten eines gegenwärtigen Bildrahmens enthält. Wenn die Speicher 3 und 10 alternierend Bilddaten aus dem Bildspeicher 1 aus lesen und wenn dabei die nächsten Referenzbereichsdaten gleichzeitig mit der Errechnung der Bewegung eingelesen werden, dann sorgt die dritte bevorzugte Ausführungsform für eine noch schnellere Verarbeitung.

Die Fig. 19A bis 19C sind Diagramme, die jeweils die Rechnerzeit zeigen, um eine Bewegung eines Objektblockes gemäß der jeweiligen bevorzugten Ausführungsform zu errechnen. Fig. 19A stellt die Rechnerzeit dar, die die erste bevorzugte Ausführungsform benötigt, Fig. 19B stellt die der zweiten bevorzugten Ausführungsform dar, und Fig. 19C die der dritten bevorzugten Ausführungsform. Die zweite bevorzugte Ausführungsform erreicht eine Verminderung der Rechnerzeit, da sie die Eingabe von Referenzdaten für die Vervollständigung während der Errechnung einer Blockbewegung verlangt. Dies ist gegenüber der ersten bevorzugten Ausführungsform vorteilhaft, bei der die Eingabe von Referenzdaten eine Zeit benötigt, die zu der Rechnerzeit einer Blockbewegung hinzukommt. Die dritte bevorzugte Ausführungsform vermindert die Rechnerzeit weiter, indem Daten über einen Objektblock simultan mit der Errechnung einer Blockbewegung eingelesen werden.

Fig. 20 zeigt den Betriebsfluß in der dritten bevorzugten Ausführungsform in der Form eines Flußdiagrammes. Zunächst lesen die Bildspeicher 1 und 2 jeweils Bilddaten des vorigen Bildrahmens und Bilddaten des gegenwärtigen Bildrahmens, vgl. Schritt P21. In dem nachfolgenden Schritt P24 wird der Objektblock ausgewählt, dessen Bewegung zu detektieren ist, und Bilddaten über den Objektblock werden eingelesen. Zu der gleichen Zeit werden Bilddaten über einen Referenzbereich für den nächsten Objektblock eingelesen (vgl. Schritt P22), und die Rechnereinheit 5 errechnet eine Bewegung des gegenwärtigen Objektblockes (vgl. Schritt P23). Die Adressen der Speicher 6, 7, 8, 9 und 10 werden dann in dem Schritt P25 geändert. Schließlich wird eine Bewegung eines Bildes für alle Blöcke gefunden (vgl. Schritt P26).

Vierte bevorzugte Ausführungsform

Fig. 21 ist ein schematisches Blockdiagramm, in dem die Struktur einer Detektionsvorrichtung 200d für die Bewegung von Rahmen-zu-Rahmen gemäß einer vierten bevorzugten Ausführungsform der vorliegenden Erfindung dargestellt ist. In Fig. 21 besteht die Vorrichtung 200d aus Komponenten, die miteinander auf der gleichen Art und Weise verbunden sind, wie die entsprechenden Komponenten der Vorrichtung 200a von Fig. 5. D. h., daß die Vorrichtung 200d anstelle der Bildspeicher 1 und 2 sowie der Speicher 3, 6, 7 und 8 und der Rechnereinheit 5, wie die Vorrichtung 200a, die Bildspeicher 11 und 12, die Speicher 13, 14, 15 und 16 und eine Rechnereinheit 41 enthält.

Der Bildspeicher 11 enthält Bilddaten eines gegenwärtigen Bildrahmens während der Bildspeicher 12 Bilddaten eines vorigen Bildrahmens enthält. Von dem Bildspeicher 11 empfängt der Speicher 13 Daten über einen Objektblock, dessen Bewegungen zu detektieren sind. Die Speicher 14, 15 und 16 empfangen jeweils ein Drittel der Daten über einen Referenzbereich, der einem Objektblock entspricht. Die Rechnereinheit 41 liest die Daten über den Objektblock aus dem Speicher 13 und die Daten über den Referenzbereich aus den Speichern 14, 15 und 16. Die auf diese Art und Weise zu der Rechnereinheit 41 beförderten Daten werden dann in ihr verarbeitet, indem ein Blockanpassungsverfahren verwendet wird, so daß die Bewegung detektiert wird.

Die Bildspeicher 11 und 12 und die Speicher 13, 14, 15 und 16 sind jeweils so organisiert, daß sie in der Lage sind, Daten über vier Pixel in einem Wort zu speichern. Die Rechnereinheit 41 liest pro Zeiteinheit Daten für vier Pixel aus dem Speicher 13. Die Rechnereinheit 41 empfängt darüberhinaus pro Zeiteinheit Daten für vier Pixel von einem jeden der Speicher 14, 15 und 16. Die Rechnereinheit 41 führt die Blockanpassung für die derart empfangenen Daten durch.

Daher ist, obgleich der Betriebsablauf in der Vorrichtung 200d dem der Vorrichtung 200a gemäß der ersten Ausführungsform ähnlich ist, die Vorrichtung 200d vorteilhaft gegenüber der Vorrichtung 200a, weil die Dateneinlesezeit nur ungefähr ein Viertel von der ist, die von der Vorrichtung 200a benötigt wird, was entsprechend auch für die Bewegungsberechnungszeit gilt, da die Vier-Pixel-Daten-pro-Wort-Struktur eines jeden Speichers es ermöglicht, daß Daten für vier Pixel pro Zeit bei einem Speicherzugriff gelesen und geschrieben werden.

Die Rechnereinheit 41 ist detailliert in Fig. 22 dargestellt. Um gleichzeitig die vier Pixel bearbeiten zu können, enthält die Rechnereinheit 41 verschiedene Elemente 41a, 41b, 41c und 41d, welche parallel zueinander angeordnet sind. Jedes der verschiedenen Elemente enthält, was dem Subtrahierer 5a und dem Absolutwert-Kalkulator 5b der Rechnereinheit 5 aus Fig. 8 entspricht.

Ausgänge der verschiedenen Elemente 41a, 41b, 41c und 41d werden in ein Synthetisierungsteil 41e eingeführt, in dem sie aufaddiert werden. Ein Ausgang aus dem Synthetisierungsteil 41e wird dann in einer Sequenz zu einem Addierer 41f und einem Verzerrungs-Akkumulationsregister 41g geführt, so daß eine Verzerrung gefunden wird. Der nachfolgende Operationsfluß ist dem in der Rechnereinheit 5 der ersten Ausführungsform ähnlich, d. h. ein Verzerrungskomparator 41i vergleicht Daten aus einem Halteregister 41h für eine minimale Verzerrung mit Daten aus dem Verzerrungs-Akkumulationsregister 41g und gibt das Ergebnis dieses Vergleiches aus.

Fünfte bevorzugte Ausführungsform

Fig. 23 ist ein schematisches Blockdiagramm, in dem die Struktur einer Detektionsvorrichtung 200e für Bewegungen von Rahmen-zu-Rahmen gemäß einer fünften bevorzugten Ausführungsform der vorliegenden Erfindung dargestellt ist. In Fig. 23 besteht die Vorrichtung 200e aus Komponenten, welche miteinander in der gleichen Art und Weise verbunden sind, wie die entsprechenden Komponenten der Vorrichtung 200a, die in Fig. 5 gezeigt ist. D. h., daß die Vorrichtung 200e anstelle der Speicher 6, 7 und 8 und der Rechnereinheit 5 wie die Vorrichtung 200a die Speicher 17, 18 und 19 und eine Rechnereinheit 20 enthält.

Ähnlich wie in der ersten Ausführungsform enthalten die Bildspeicher 1 und 2 jeweils Bilddaten über einen gegenwärtigen Bildrahmen und Bilddaten über einen vorigen Bildrahmen, und ein Speicher 3 empfängt von dem Bildrahmen 1 Daten über einen Objektblock, dessen Bewegung zu detektieren ist.

Die Speicher 17, 18 und 19, welche jeweils aus einem Speicher mit zwei Toren bestehen, empfangen ein Drittel der Daten über einen Referenzbereich, der dem Objektblock entspricht. Eine Rechnereinheit 20 liest die Daten über den Objektblock aus dem Speicher 3 und die Daten über den Referenzbereich aus den Speichern 17, 18 und 19. Die so an die Rechnereinheit 20 übergebenen Daten werden dann in ihr mittels des Blockanpassungsverfahrens verarbeitet, so daß die Bewegung detektiert wird.

Ein Betriebsablauf gemäß der Vorrichtung 200e ist dem der Vorrichtung 200a gemäß der ersten Ausführungsform ähnlich, mit der Ausnahme, daß die Rechnereinheit 20 Daten über zwei Blöcke pro Zeitpunkt aus den Speichern 17, 18 und 19 ausliest, die durch die Speicher mit den zwei Toren gebildet werden, und daß die Daten über die zwei Blöcke parallel durch das Blockanpassungsverfahren verarbeitet werden, um eine Bewegung zu detektieren.

Daher erreicht die fünfte bevorzugte Ausführungsform eine weitere Verminderung der Verarbeitungszeit, und zwar verglichen mit der ersten bevorzugten Ausführungsform.

Die Rechnereinheit 20 ist im Detail in Fig. 24 illustriert. Um Daten für zwei Blöcke zu einer Zeit verarbeiten zu können, enthält die Rechnereinheit 20 verschiedene Elemente 20a und 20b (Differentialelements), welche parallel zueinander angeordnet sind. Jedes dieser verschiedenen Elemente enthält das, was dem Subtrahierer 5h und dem Absolutwertkalkulator 5b der in Fig. 8 gezeigten Rechnereinheit 5 entspricht.

Die Ausgänge der verschiedenen Elemente 20a, 20b werden jeweils an Verzerrungs-Akkumulationsteile 20c und 20d übergeben. Ein Komparator 20e vergleicht dann die Ausgänge aus den Verzerrungs-Akkumulationsteilen 20c und 20d.

Die Verzerrungs-Akkumulationsteile 20c und 20d enthalten jeweils das, was dem Addierer 5c und dem Verzerrungs-Akkumulationsregister 5d der in Fig. 8 gezeigten Rechnereinheit 5 entspricht.

Ähnlich wie die Rechnereinheit 5 gemäß der ersten bevorzugten Ausführungsform vergleicht ein Verzerrungskomparator 20g Daten, die in einem Halteregister für minimale Verzerrungen 20f enthalten sind, mit den Daten aus dem Komparator 20e (wobei das Halteregister 20f für minimale Verzerrungen dem Halteregister 5e für minimale Verzerrungen der Rechnereinheit 5 der ersten bevorzugten Ausführungsform entspricht). Der Verzerrungskomparator 20e gibt dann ein Ergebnis des Vergleiches aus.

Sechste bevorzugte Ausführungsform

Fig. 25 ist ein schematisches Blockdiagramm, in dem die Struktur einer Detektionsvorrichtung 200f für Bewegungen von Rahmen-zu-Rahmen gemäß einer sechsten bevorzugten Ausführungsform der vorliegenden Erfindung dargestellt ist. In Fig. 25 besteht die Vorrichtung 200f aus Komponenten, welche miteinander in der gleichen Art und Weise verbunden sind, wie die entsprechenden Komponenten der Vorrichtung 200e, die in Fig. 23 dargestellt ist. D. h., daß die Vorrichtung 200f anstelle der Bildspeicher 1 und 2, der Speicher 3, 17, 18 und 19 und der Rechnereinheit 20 wie die Vorrichtung 200e die Bildspeicher 11 und 12 sowie die Speicher 13, 21, 22 und 23 und eine Rechnereinheit 24 enthält.

Ähnlich wie die Vorrichtung 200d aus Fig. 21 enthalten in der Vorrichtung 200f die Bildspeicher 11 und 12 jeweils Bilddaten über einen gegenwärtigen Bildrahmen und Bilddaten über einen vorigen Bildrahmen, und der Speicher 13 empfängt von dem Bildspeicher 11 Daten über einen Objektblock, dessen Bewegung zu detektieren ist.

Die Speicher 21, 22 und 23, welche jeweils einen Speicher mit zwei Toren umfassen, empfangen ein Drittel der Daten über einen Referenzbereich, der dem Objektblock entspricht. Die Bildspeicher 11 und 12, der Speicher 13 und die Speicher mit zwei Toren 21, 22 und 23 sind jeweils so organisiert, daß sie in der Lage sind, Daten für vier Pixel in einem Wort zu speichern.

Die Rechnereinheit 24 empfängt Daten über vier Pixel pro Zeit von dem Speicher 13 und Vier-Pixel-Daten über zwei Blöcke pro Zeit von den Speichern 21, 22 und 23. Die auf diese Art und Weise zu der Rechnereinheit 24 beförderten Daten werden dann in ihr durch das Blockanpassungsverfahren verarbeitet, so daß die Bewegung detektiert wird.

Daher arbeitet die Vorrichtung 200f gemäß der sechsten Ausführungsform in einer Art und Weise, in der die Operationsabläufe der vierten und der fünften bevorzugten Ausführungsform miteinander vermischt sind. Da jeder Speicher derartig eingerichtet ist, daß er Vier-Pixel-Daten pro Wort speichern kann und die Speicher 21, 22 und 23 jeweils aus einem Speicher mit zwei Toren gebildet sind, liest und verarbeitet die Rechnereinheit 24 mit dem Blockanpassungsverfahren Vier-Pixel-Daten über zwei Blöcke zu einem Zeitpunkt. Dies erlaubt es der sechsten bevorzugten Ausführungsform im Hinblick auf die Verarbeitungszeit noch schneller zu werden als die erste, die vierte und die fünfte bevorzugte Ausführungsform.

Die Rechnereinheit 24 ist im Detail in Fig. 26 illustriert. Um Daten für zwei Blöcke zu einem Zeitpunkt verarbeiten zu können, enthält die Rechnereinheit 24 unterschiedliche Synthetisierungsteile 24a und 24b. Jeder dieser unterschiedlichen Synthetisierungsteile enthält das, was den unterschiedlichen Elementen 41a, 41b, 41c und 41d und dem Synthetisierungsteil 41e aus Fig. 22 entspricht.

Ausgänge aus den unterschiedlichen Synthetisierungsteilen 24a und 24b werden jeweils in Verzerrungs-Akkumulationsteile 24c und 24d eingegeben. Ein Komparator 24e vergleicht dann die Ausgänge aus den Verzerrungs-Akkumulationsteilen 24c und 24d.

Die Verzerrungs-Akkumulationsteile 24c und 24d enthalten jeweils das, was den Verzerrungs-Akkumulationsteilen 20c und 20d aus Fig. 24 entspricht.

Ähnlich wie die Rechnereinheit 20 der fünften bevorzugten Ausführungsform vergleicht ein Verzerrungskomparator 24g einen Ausgang aus dem Komparator 24e mit Daten aus einem Halteregister 24f für minimale Verzerrungen und gibt ein Ergebnis dieses Vergleiches aus.

Siebte bevorzugte Ausführungsform

Fig. 27 ist ein Blockdiagramm, in dem ein digitaler Signalprozessor (DSP) 300a gemäß einer siebten bevorzugten Ausführungsform der vorliegenden Erfindung dargestellt ist. Die bislang beschriebene Detektion von Bewegungen von Rahmen zu Rahmen wird auch in dem digitalen Signalprozessor erreicht.

In Fig. 27 erzeugt ein Adressengenerator 25 Adressen, welche in Speicherfreigabesignale S1, S2 und S3 mittels eines Adressen-Konversionsschaltkreises 26 konvertiert werden, und er wählt einen Datenspeicher 27, 28 oder 29 über den Adressen-Konversionsschaltkreis aus. Wenn die Signale S1, S2 und S3 "1" sind, dann werden jeweils die Speicher 27, 28 und 29 ausgewählt.

Die Datenspeicher 27, 28 und 29 werden mit einem Y-Bus 33 verbunden. Ein X-Bus 34 wird mit einem Datenspeicher 32 verbunden. Ein Datenpfad 31 wird mit sowohl dem X-Bus 34 als auch mit dem Y-Bus 33 verbunden, und gleiches wird mit einem externen I/F-Schaltkreis 30 gemacht.

Die Fig. 28 zeigt Adressenkarten der Datenspeicher 27, 28, 29 und 32. Der Speicher 32, der mit dem X-Bus 34 verbunden ist, ist derartig organisiert, daß er 512 Worte enthält und er wird in zwei Dimensionen als ein 16×32-Wort X-Speicher abgebildet (d. h. die am wenigsten signifikanten vier Bits mal die am meisten signifikanten fünf Bits der X-Speicheradresse).

Die Speicher 27, 28 und 29, welche mit dem Y-Bus 33 verbunden sind, sind jeweils so organisiert, daß sie 1024 Worte enthalten, und sie sind in zwei Dimensionen abgebildet als ein Y-Speicher mit 16×64 Worten (d. h., die am wenigsten signifikaten vier Bits mal die am meisten signifikanten sechs Bits der Y-Speicheradresse). Die Speicher 27, 28 und 29 belegen jeweils einen der Speicherräume Y0, Y1 und Y2.

Änderungen in den fünften und sechsten am wenigsten signifikanten Bits A&sub5; A&sub4; der Y-Speicheradresse (im folgenden bezeichnet als "die am wenigsten signifikanten zwei Bits") entscheiden, in welchem der Adressenräume Y0, Y1 und Y2 die Speicher 27, 28 und 29 jeweils abgebildet werden. Dies ist in Tabelle 1 illustriert. Tabelle 1



Die Adressenräume Y0, Y1 und Y2 werden bezeichnet, wenn die am wenigsten signifikanten zwei Bits A&sub5; A&sub4; jeweils "00", "01" und "10" sind.

Die innere Struktur des Adressen-Konversionsschaltkreises 26 ist in Fig. 29 dargestellt. Die am wenigsten signifikanten zwei Bits A&sub5; A&sub4; werden von dem Adressengenerator 25 an die Gatter G1, G2 und G3 angelegt, welche ihre Ausgänge an die Wahlschalter N1, N2 und N3 ausgeben. Die Wahlschalter N1, N2 und N3 sind als Drei-in-Eins-Wahlschalter ausgelegt. Welches Signal, das von den Wahlschaltern N1, N2 und N3 empfangen wird, nachfolgend von den Wahlschaltern N1, N2 und N3 auszugeben ist, wird durch 2-Bit-Moden-Signale M&sub1;, M&sub0; bestimmt. Ausgänge der Wahlschalter N1, N2 und N3 werden jeweils in Speicherfreigabesignale S1, S2 und S3 konvertiert, welche dann an Auswahleingänge der Speicher 27, 28 und 29 angelegt werden.

Die Tabelle 1 zeigt Zahlen mit drei Stellen. In jeder dieser Zahlen repräsentiert die linke Stelle, die mittlere Stelle und die rechte Stelle jeweils der Werte der Speicherfreigabesignale S1, S2 und S3.

Die Wahlschalter N1, N2 und N3 konvertieren die am wenigsten signifikanten zwei Bits A&sub5; A&sub4; wie folgt.

In einem Übertragungsmodus 0 sind die Moden-Signale M&sub1; M&sub0; gleich "00". Wie in Tabelle 1 dargestellt werden, wenn die am wenigsten signifikanten zwei Bits A&sub5; A&sub4; gleich "00", "01" und "10" sind, die Speicherfreigabesignale S1, S2 und S3 jeweils "100", "010" und "001". Als ein Ergebnis hiervon werden die Speicher 27, 28 und 29 jeweils in die Adressenräume Y0, Y1 und Y2 abgebildet.

Demgegenüber muß, wenn die Speicher 28, 29 und 27 jeweils in die Adressenräume Y0, Y1 und Y2 abgebildet werden sollen, ein Konversionsmode 1 ausgewählt werden (in dem die Moden-Signale M&sub1; M&sub0; gleich "01" sind), so daß in Antwort auf die am wenigsten zwei signifikanten Bits A&sub5; A&sub4;, welche "00", "01" und "10" speichern, die Speicherfreigabesignale S1, S2 und S3 jeweils so konvertiert werden, daß sie die Werte "010", "001" und "100" annehmen.

Um die Speicher 29, 27 und 28 jeweils in die Adressenräume Y0, Y1 und Y2 abzubilden, wird ein Konversionsmode 2 ausgewählt (in dem die Moden-Signale M&sub1; M&sub0; "10" sind). In den Konversionsmodus 2 werden, in Antwort auf die am wenigsten signifikanten zwei Bits A&sub5; A&sub4; mit "00", "01" und "10" die Speicherfreigabesignale S1, S2 und S3 derartig konvertiert, daß sie jeweils die Werte "001", "100" und "010" annehmen.

Im folgenden wird beschrieben, wie der digitale Signalprozessor 300a Bewegungen von Rahmen-zu-Rahmen detektiert, und zwar auf eine ähnliche Art und Weise, wie die erste bevorzugte Ausführungsform beschrieben worden ist.

Um eine Bewegung des Blockes R(2, 2) zu detektieren, wie er in Fig. 11 dargestellt ist, werden Daten über den Block R(2, 2) von einem Bildspeicher (welcher in Fig. 27 nicht dargestellt ist) an den Datenspeicher 32 übergeben, und zwar über den externen I/F-Schaltkreis 30 und den X-Bus 34. Daten über einen Referenzbereich für den Block R(2, 2) werden dann von einem anderen Bildspeicher (nicht dargestellt) in die Datenspeicher 27, 28 und 29 eingelesen, und zwar auch über den externen I/F-Schaltkreis 30 und den Y-Bus 33. Zu diesem Zeitpunkt wird der Konversionsmode 0 ausgewählt.

Daten über die Blöcke R(1, 1), R(1, 2) und R(1, 3) befinden sich bereits in dem Speicher 27 und Daten über die Blöcke R(2, 1), R(2, 2) und R(2, 3) befinden sich bereits in dem Speicher 28, wodurch es unnötig wird, daß diese Speicher Daten über diese Blöcke noch einmal empfangen. Was im vorliegenden Fall nötig ist, ist Daten über die Blöcke R(3, 1), R(3, 2) und R(3, 3) in den Speicher 29 einzulesen; d. h., die Daten zu speichern, welche neu in den Adressenraum Y2 einzulesen sind.

Der Datenpfad 31 empfängt auf dem X-Bus 34 die Daten über den Objektblock aus dem Speicher 32. Der Datenpfad 31empfängt gleichfalls auf dem Y-Bus 33 die Daten über den Referenzbereich aus den Speichern 27, 28 und 29. Eine Bewegung wird dann detektiert, und zwar aus den Daten, die auf diese Art und Weise von dem Datenpfad 31 empfangen worden sind.

Dem folgt eine horizontale Abtastung, in der der Block R(3, 2) als ein Objektblock bezeichnet wird und der Konversionsmode 1 ausgewählt wird. Genauer gesagt werden die Speicher 28, 29 und 27, welche auf die Adressenräume Y0, Y1 und Y2 übertragen worden sind, mittels dem Adressen-Konversionsschaltkreis 26 readressiert, und zwar in Übereinstimmung mit der Tabelle 1, so daß die Speicher 27, 28 und 29 jeweils an die Adressenräume Y0, Y1 und Y2 übertragen werden. In anderen Worten, die neu einzugebenden Daten werden in dem Adressenraum Y2 gespeichert.

Daher wird, wenn die am wenigsten signifikanten zwei Bits A&sub5; A&sub4; "10" werden, um dabei erneut Daten über den Referenzbereich einzugeben, nur der Ausgang S3 aus dem Adressenkonversionsschaltkreis 26 "1", und die Ausgänge S1 und S2 werden "0".

Dies führt dazu, daß nicht der Speicher 29, sondern der Speicher 27 die Daten über die Blöcke R(4, 1), R(4, 2) und R(4, 3) liest.

Achte bevorzugte Ausführungsform

Fig. 30 ist ein schematisches Blockdiagramm, in dem ein digitaler Signalprozessor 300b gemäß einer achten bevorzugten Ausführungsform der vorliegenden Erfindung dargestellt ist.

In Fig. 30 wählt ein Adressengenerator 25 einen Datenspeicher 27, 28, 29 oder 36 über einen Adressenkonversionsschaltkreis 35 aus, welcher Adressen, die in dem Adressengenerator 25 erzeugt worden sind, in Speicherfreigabesignale S1, S2, S3 und S4 konvertiert. Wenn die Signale S1, S2, S3 und S4 den Wert "1" annehmen, dann werden jeweils die Speicher 27, 28, 29 und 36 ausgewählt.

Die Datenspeicher 27, 28, 29 und 36 sind mit einem Y-Bus 33 und einem Z-Bus 37 verbunden. Ein X-Bus 34 ist mit einem Datenspeicher 32 verbunden. Ein Datenpfad 31 wird mit dem X-Bus 34 und dem Y-Bus 33 verbunden. Ein externer I/F-Schaltkreis 38 wird mit den X-, Y- und Z-Bussen 34, 33 und 37 verbunden.

Fig. 31 zeigt Adressenkarten der Datenspeicher 27, 28, 29, 32 und 36. Der Speicher, der mit dem X-Bus 34 verbunden ist, ist derartig organisiert, daß er 512 Wörter enthält und daß er in zwei Dimensionen abgebildet wird und zwar als ein 16×32-Wörter X-Speicher (d. h., die am wenigsten signifikanten vier Bits mal den am meisten signifikanten fünf Bits der X-Speicheradresse).

Die Speicher 27, 28, 29 und 36, welche mit den Y- und Z-Bussen 33 und 37 verbunden sind, sind jeweils derartig organisiert, daß sie 1024 Wörter enthalten und daß sie in zwei Dimensionen als ein 16×64-Wörter Y-Speicher abgebildet werden (d. h., die am wenigsten signifikanten vier Bits mal die am meisten signifikanten sechs Bits der Y-Speicheradresse). Die Speicher 27, 28, 29 und 36 belegen jeweils einen der Adressenräume Y0, Y1, Y2 und Y3.

Änderungen in den fünften und sechsten am wenigsten signifikanten zwei Bits A&sub5; A&sub4; entscheiden, in welchem der Speicherräume Y0, Y1, Y2 und Y3 die Speicher 27, 28, 29 und 36 jeweils abgebildet werden. Dies ist in Tabelle 2 illustriert. Tabelle 2



Die Adressenräume Y0, Y1, Y2 und Y3 werden bestimmt, wenn die am wenigsten signifikanten zwei Bits A&sub5; A&sub4; jeweils "00", "01", "10" und "11" sind.

Die innere Struktur des Adressenkonversionsschaltkreises 35 ist in Fig. 32 dargestellt. Die am wenigsten signifikanten zwei Bits A&sub5; A&sub4; werden von dem Adressengenerator 25 an die Gatter G4, G5, G6 und G7 angelegt, welche ihre Ausgänge an die Wahlschalter N4, N5, N6 und N7 anlegen, welche jeweils als Vier-in-Eins-Wahlschalter ausgelegt sind. Welches der Signale, die von den Wahlschaltern N4, N5, N6 und N7 empfangen werden und von diesen Wahlschaltern N4, N5, N6 und N7 aus zugeben ist, wird von zwei Bit-Moden-Signalen M&sub1; M&sub0; entschieden. Ausgänge von den Wahlschaltern N4, N5, N6 und N7 werden jeweils in Speicherfreigabesignale S1, S2, S3 und S4 konvertiert, welche dann ihrerseits an den Auswahleingängen der Speicher 27, 28, 29 und 36 angelegt werden.

Die Tabelle zeigt Zahlen mit vier Stellen. Von links nach rechts bedeuten die Stellen einer jeden solchen Zahl die Werte der Speicherfreigabesignale S1, S2, S3 und S4.

Die Wahlschalter N4, N5, N6 und N7 konvertieren die am wenigsten signifikanten zwei Bits A&sub5; A&sub4; wie folgt.

In dem Konversionsmode 0 sind die Modensignale M&sub1; M&sub0; gleich "00". Wie in Tabelle 2 dargestellt werden, sofern die am wenigsten signifikanten zwei Bits A&sub5; A&sub4; gleich "00", "01", "10" und "11" sind, die Speicherfreigabesignale S1, S2, S3 und S4 jeweils "1000", "0100", "0010" und "0001". Als ein Ergebnis hiervon werden die Speicher 27, 28, 29 und 36 jeweils in die Adressenräume Y0, Y1, Y2 und Y3 abgebildet.

Demgegenüber muß, sofern die Speicher 28, 29, 36 und 27 jeweils in die Adressenräume Y0, Y1, Y2 und Y3 abgebildet werden sollen, ein Konversionsmode 1 ausgewählt werden (in dem die Modensignale M&sub1; M&sub0; gleich "01" sind), so daß in Antwort auf die am wenigsten signifikanten zwei Bits A&sub5; A&sub4;, welche "00", "01", "10" und "11" speichern, die Speicherfreigabesignale S1, S2, S3 und S4 so konvertiert werden, daß sie jeweils die Werte "0100", "0010", "0001" und "1000" annehmen.

Um die Speicher 29, 36, 27 und 28 jeweils in die Adressenräume Y0, Y1, Y2 und Y3 abzubilden, wird ein Konversionsmode 2 ausgewählt (in dem die Modensignale M&sub1; M&sub0; gleich "10" sind). In dem Konversionsmode 2 werden, in Antwort auf die am wenigsten signifikanten zwei Bits A&sub5; A&sub4; von "00", "01", "10" und "11", die Speicherfreigabesignale S1, S2, S3 und S4 derartig konvertiert, so daß sie die Werte "0010", "0001", "1000" und "0100" annehmen.

Um die Speicher 36, 27, 28 und 29 in die Adressenräume Y0, Y1, Y2 und Y3 abzubilden, wird ein Konversionsmode 3 ausgewählt (in dem die Modensignale M&sub1; M&sub0; gleich "11" sind). In dem Konversionsmode 3 werden, in Antwort auf die am wenigsten signifikanten zwei Bits A&sub5; A&sub4;, die bei "00", "01", "10" und "11" verbleiben, die Speicherfreigabesignale S1, S2, S3 und S4 derartig konvertiert, daß sie jeweils die Werte "0001", "1000", "0100" und "0010" annehmen.

Im folgenden wird beschrieben werden, wie der digitale Signalprozessor 300b Bewegungen von Rahmen zu Rahmen detektiert, und zwar auf eine ähnliche Art und Weise, wie zuvor die zweite bevorzugte Ausführungsform beschrieben worden ist.

Um eine Bewegung des Blockes R(3, 1) aus Fig. 14 zu detektieren, werden Daten aus einem Bildspeicher (in Fig. 27 nicht dargestellt) an den Datenspeicher 32 über den externen I/F-Schaltkreis 38 und den X-Bus 34 übergeben. Von den Daten über einen Referenzbereich für den Block R(3, 1) befinden sich die Daten über die Blöcke R(2, 0), R(2, 1) und R(2, 2) bereits in dem Speicher 27, die Daten über die Blöcke R(3, 0), R(3, 1) und R(3, 2) bereits in dem Speicher 28 und die Daten über die Blöcke R(4, 0), R(4, 1) und R(4, 2) bereits in dem Speicher 29. Der Adressenkonversionsschaltkreis 35 befindet sich in dem Mode 0 (die erste Zeile aus Tabelle 2).

Der Datenpfad 31 empfängt auf dem X-Bus 34 die Daten über den Objektblock aus dem Speicher 32 und auf dem Y-Bus 33 die Daten über den Referenzbereich aus den Speichern 27, 28 und 29. Eine Bewegung wird dann detektiert, indem man die Daten verwendet, die auf diese Art und Weise von dem Datenpfad 31 empfangen worden sind.

Gleichzeitig mit der Bewegungsdetektion bereitet sich der digitale Signalprozessor 300b für eine nachfolgende Detektion einer Bewegung des nächsten Objektblockes R(4, 1) vor. Genauer gesagt, liest der Speicher 36 über den externen I/F-Schaltkreis 38 und den Z-Bus 37 einen Teil der Daten über einen Referenzbereich für den Block R(4, 1) ein, die noch nicht in die Datenspeicher eingelesen worden sind, d. h. Daten über die Blöcke R(5, 0), R(5, 1) und R(5, 2). Mit anderen Worten werden die neu einzugebenden Daten in dem Adressenraum Y3 gespeichert.

Diesem Vorgang folgt eine weitere Abtastung, so daß die Detektion einer Bewegung des nächsten Objektblockes R(4, 1) begonnen wird, wobei simultan mit ihr der Adressenkonversionsschaltkreis 35 in den Konversionsmode 1 geschaltet wird (die zweite Zeile der Tabelle 2). Als ein Ergebnis hiervon werden die Speicher 28, 29, 36 und 27 jeweils in die Adressenräume Y0, Y1, Y2 und Y3 abgebildet. Zu diesem Zeitpunkt befinden sich Daten über den Referenzbereich für den Block R(4, 1) bereits in den Speichern 28, 29 und 36.

Daten über einen Referenzbereich für den nächsten Objektblock R(5, 1) sind gleichfalls bereits in die Speicher 29 und 36 eingelesen worden. Daher liest, während der Bewegungsdetektion für den Block R(4, 1), der Speicher 27 über den externen I/F-Schaltkreis 38 und den Z-Bus 37 Daten über die Blöcke R(0, 1), R(0, 2) und R(0, 3) ein, d. h. einen Teil der Referenzbereichsdaten für den übernächsten Objektblock R(0, 2) (vgl. Fig. 15). Der Speicher 27 wird dem Adressenraum Y3 zugewiesen.

Der Rahmen wird dann weiter abgetastet, um eine Detektion einer Bewegung des Objektblockes R(5, 1) zu initiieren. Zunächst wird der Adressenkonversionsschaltkreis 26 in den Konversionsmode 2 geschaltet (die dritte Zeile der Tabelle 2), wodurch die Speicher 29, 36, 27 und 28 jeweils in die Adressenräume Y0, Y1, Y2 und Y3 abgebildet werden. Alle Daten über einen Referenzbereich für den Objektblock R(5, 1) sind bereits in die Speicher 29 und 36 eingelesen worden. Daher werden gleichzeitig mit der Bewegungsdetektion für den Block R(5, 1) Daten über die Blöcke R(1, 1), R(1, 2) und R(1, 3), d. h. Daten über einen Teil der Referenzbereichsdaten über den nächsten Objektblock R(0, 2), eingegeben.

Wie man der Tabelle 2 entnehmen kann, entspricht der Speicher 28 zu diesem Zeitpunkt dem Speicherraum Y3, so daß der Speicher 28 Daten über die Blöcke R(1, 1), R(1, 2) und R(1, 3) über den externen I/F-Schaltkreis 38 und auf dem Z-Bus 37 empfängt.

Nach der Bewegungsdetektion wird der Adressenkonversionsschaltkreis 35 in den Konversionsmode 3 gebracht (der vierten Zeile von Tabelle 2), und zwar um die nachfolgende Detektion einer Bewegung des nächsten Objektblockes R(0, 2) vorzubereiten. Als ein Ergebnis hiervon werden die Speicher 36, 27, 28 und 29 jeweils in die Adressenräume Y0, Y1, Y2 und Y3 abgebildet.

Wie zuvor beschrieben worden ist, schreitet die Abtastung von Block zu Block fort, und zwar während eine Bewegung eines Objektblockes detektiert wird, und gleichzeitig mit der Bewegungsdetektion lesen die Speicher ein Drittel der Daten über einen Referenzbereich für den nächsten oder für den übernächsten Objektblock und, sofern dies nötig ist, werden die Adressen der Speicher aktualisiert.

Neunte bevorzugte Ausführungsform

Fig. 33 ist ein schematisches Blockdiagramm, in dem ein digitaler Signalprozessor 300c gemäß einer neunten bevorzugten Ausführungsform der vorliegenden Erfindung dargestellt ist. Der digitale Signalprozessor 300c ist mit dem digitalen Signalprozessor 300a aus Fig. 27 insofern äquivalent, als daß er modifiziert worden ist, so daß er nunmehr einen DMA(Direct Memory Access)-Controller 40 und einen DMA-Bus 39 enthält, welche miteinander verbunden sind. Der DMA-Bus 39 ist gleichfalls mit den Datenspeichern 27, 28 und 29 verbunden, um so einen effizienten Bus/Speicherdatentransfer simultan mit dem Rechnervorgang in den Speichern zu erreichen.

Zehnte bevorzugte Ausführungsform

Indem man einen DMA-Controller 40 und einen DMA-Bus 39 verwendet, wie im einzelnen in Fig. 34 dargestellt, werden Daten zu den Speichern 27, 28, 29 und 36 gleichzeitig mit dem Rechnervorgang in einer effizienten Art und Weise transferiert.

Zusammenfassend kann also festgehalten werden, daß die vorliegende Erfindung einen Bildprozessor betrifft, welcher Bewegungen eines Bildes von Rahmen-zu-Rahmen innerhalb einer verminderten Verarbeitungszeit detektiert, und einen digitalen Signalprozessor, der sich für einen derartigen Bildprozessor eignet. Aus einem Bildspeicher 1, welcher Daten über einen gegenwärtigen Bildrahmen enthält, liest ein Speicher 3 Daten über einen Objektblock aus, dessen Bewegung zu detektieren ist. Aus einem Bildspeicher 2, welcher Daten über einen vorigen Rahmen enthält, lesen Speicher 6, 7 und 8 jeweils ein Drittel der Daten über einen Referenzbereich für den Objektblock aus. Die Daten über den Objektblock und die Daten über den Referenzbereich werden verarbeitet, indem ein Blockanpassungsverfahren durchgeführt wird, um eine Bewegung des Objektblockes zu ermitteln. Wenn der Objektblock durch Abtastung aktualisiert wird, dann wird der Referenzbereich in Antwort darauf auch aktualisiert. Indessen sind zwei Drittel des neuen Referenzbereiches die gleichen wie zwei Drittel des vorigen Referenzbereiches, so daß nur ein Drittel der Referenzbereichsdaten aktualisiert werden muß.


Anspruch[de]
  1. 1. Bildprozessor zum Detektieren von Bewegungen, in dem ein Bildrahmen, welcher eine Mehrzahl von Bilddaten enthält, in m Zeilen und n Spalten aufgeteilt wird, um dadurch eine Mehrzahl von Blöcken in dem Rahmen zu definieren (wobei m und n positive ganzzahlige Zahlen sind), wobei dann die Blöcke des Bildrahmens, wie er zu einem ersten Zeitpunkt vorliegt, sequentiell abgetastet werden, um dabei einen Objektblock zu aktualisieren, dessen Bewegung zu detektieren ist, wobei dann ein Referenzbereich für den Objektblock aus dem Bildrahmen bestimmt wird, wie er zu einem zweiten Zeitpunkt vorliegt, und wobei nachfolgend eine Bewegung des Objektblockes detektiert wird, indem die Bilddaten über den Objektblock und die Bilddaten über den Referenzbereich verwendet werden, gekennzeichnet durch:
  2. einen ersten Bildspeicher (1) zum Speichern der Bilddaten des Bildrahmens, wie er zu einem ersten Zeitpunkt vorliegt;

    einen Objektdatenspeicher (3) zum Speichern der Bilddaten über den Objektblock, welcher einen Teil der Bilddaten über den Bildrahmen darstellt, wie er zu dem ersten Zeitpunkt ist, und welcher für jede Block-zu-Block-Abtastung aktualisiert wird;

    einen zweiten Bildspeicher (2) zum Speichern der Bilddaten des Bildrahmens, wie er zu einem zweiten Zeitpunkt vorliegt; und

    eine Mehrzahl von Detektionsdatenspeichern (6, 7, B), welche jeweils die Bilddaten über den Referenzbereich aufteilen, welcher einen Teil der Bilddaten über den Bildrahmen darstellt, wie er zu dem zweiten Zeitpunkt vorliegt, und zum Speichern derselben;

    wobei zu jedem Zeitpunkt, an dem der Objektblock aktualisiert wird, lediglich Daten, die in einer Untergruppe der Mehrzahl der Detektionsdatenspeicher gespeichert sind, aktualisiert werden.
  3. 2. Bildprozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Blöcke entlang Zeilen abgetastet werden und der Referenzbereich:
  4. (a-1) einen ersten Teil, welcher im wesentlichen aus drei Blöcken besteht, die zu einer Spalte gehören, die sich links von dem Objektblock und benachbart zu dem Objektblock befindet;

    (a-2) einen zweiten Teil, welcher im wesentlichen aus dem Objektblock und zwei Blöcken besteht, die benachbart zu dem Objektblock liegen und die zu einer Spalte gehören, zu der auch der Objektblock gehört; und

    (a-3) einen dritten Teil enthält, der im wesentlichen aus drei Blöcken besteht, die zu einer Spalte gehören, die sich rechts von dem Objektblock und benachbart zu dem Objektblock befindet;

    wobei die Anzahl der Detektionsdatenspeicher wenigstens drei ist;

    die drei Detektionsdatenspeicher jeweils die Bilddaten über die ersten bis dritten Teile speichern;

    die Untergruppe der Detektionsdatenspeicher einen oder zwei der drei Detektionsdatenspeicher umfaßt, und

    ein Adressenkonversionsschaltkreis die Adressen ändert, die den drei Detektionsdatenspeichern zugeordnet werden.
  5. 3. Bildprozessor nach Anspruch 1, dadurch gekennzeichnet, daß

    die Blöcke entlang Zeilen abgetastet werden, der Referenzbereich:

    (a-1) einen ersten Teil, welcher im wesentlichen aus drei Blöcken besteht, welche zu einer Spalte zur Linken des Objektblockes gehören, die benachbart zu dem Objektblock ist;

    (a-2) einen zweiten Teil, welcher im wesentlichen aus dem Objektblock und zwei Blöcken besteht, welche benachbart zu dem Objektblock sind und die zu einer Spalte gehören, zu der auch der Objektblock gehört; und

    (a-3) einen dritten Teil enthält, der im wesentlichen aus drei Blöcken besteht, welche zu einer Spalte zur Rechten des Objektblockes gehören, die sich benachbart zu dem Objektblock befindet, wobei

    die Anzahl der Detektionsdatenspeicher wenigstens vier ist;

    drei Detektionsdatenspeicher von den vier Detektionsdatenspeichern jeweils die Bilddaten über den ersten bis dritten Teil speichern;

    die Untergruppe der Detektionsdatenspeicher einen verbleibenden Detektionsdatenspeicher enthält, der nicht zu den drei Detektionsdatenspeichern gehört, und

    ein Adressenkonversionsschaltkreis die Adressen ändert, welche den vier Detektionsdatenspeichern zugeordnet werden.
  6. 4. Bildprozessor nach Anspruch 3, dadurch gekennzeichnet, daß Bilddaten in dem verbleibenden Detektionsdatenspeicher aktualisiert werden, während Bilddaten in den drei Detektionsdatenspeichern eingelesen werden.
  7. 5. Bildprozessor nach Anspruch 1, dadurch gekennzeichnet, daß der Objektdatenspeicher und die Detektionsdatenspeicher jeweils eine Datenbreite aufweisen, mit der Daten über eine Mehrzahl von Pixeln in einem Wort gespeichert werden können.
  8. 6. Bildprozessor nach Anspruch 3, dadurch gekennzeichnet, daß der Objektdatenspeicher und die Detektionsdatenspeicher jeweils Speicher mit einer Mehrzahl von Toren umfassen.
  9. 7. Bildprozessor nach Anspruch 6, dadurch gekennzeichnet, daß der Objektdatenspeicher und die Detektionsdatenspeicher jeweils eine Datenbreite aufweisen, mit der Daten über eine Mehrzahl von Pixeln in einem Wort gespeichert werden können.
  10. 8. Bildprozessor nach Anspruch 1, gekennzeichnet durch einen digitalen Signalprozessor, wobei der digitale Signalprozessor:

    (b-1) einen Schaltkreis zur Erzeugung von Adressen der Detektionsdatenspeicher;

    (b-2) einen Adressenkonversionsschaltkreis zum Ändern der Adressen und

    (b-3) eine Mehrzahl von Detektionsdatenspeichern umfaßt.
  11. 9. Bildsignalprozessor nach Anspruch 2, gekennzeichnet durch einen Controller mit direktem Speicherzugriff, welcher vorgesehen ist, Daten zu und von den Detektionsdatenspeichern zu transferieren.
  12. 10. Bildprozessor nach Anspruch 3, gekennzeichnet durch einen Controller mit direktem Speicherzugriff, welcher vorgesehen ist, um Daten zu und von den Detektionsdatenspeichern zu transferieren.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com