DE4307936A1 - Bildprozessor und digitaler Signalprozessor - Google Patents

Bildprozessor und digitaler Signalprozessor

Info

Publication number
DE4307936A1
DE4307936A1 DE19934307936 DE4307936A DE4307936A1 DE 4307936 A1 DE4307936 A1 DE 4307936A1 DE 19934307936 DE19934307936 DE 19934307936 DE 4307936 A DE4307936 A DE 4307936A DE 4307936 A1 DE4307936 A1 DE 4307936A1
Authority
DE
Germany
Prior art keywords
data
image
object block
memory
memories
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19934307936
Other languages
English (en)
Other versions
DE4307936C2 (de
Inventor
Kazuya Ishihara
Shinichi Uramoto
Shinichi Nakagawa
Satoshi Kumaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE4307936A1 publication Critical patent/DE4307936A1/de
Application granted granted Critical
Publication of DE4307936C2 publication Critical patent/DE4307936C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20052Discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Description

Die vorliegende Erfindung betrifft eine Bildverarbeitungs­ technik, welche die Bewegung von Rahmen-zu-Rahmen eines Bil­ des benutzt, und insbesondere betrifft sie eine Bildverarbeitungstechnik, um die Bewegung eines Bildes von einem Bildrahmen zu einem nächsten Bildrahmen zu detek­ tieren.
Fig. 1 ist ein Blockdiagramm, in dem die Struktur einer konventionellen Detektionsvorrichtung 100 gezeigt ist, mit der Bewegungen von Bildrahmen zu Bildrahmen detektiert wer­ den können. Die Detektionsvorrichtung 100 für Bewegungen von Bildrahmen zu Bildrahmen detektiert eine Bewegung eines uni­ tä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 Bildda­ ten 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 Referenz­ bereich eines vorigen Bildrahmens mit einem Objektblock ei­ nes 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 ge­ zeigt 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 Referenzbe­ reich umfaßt einen Bereich von +16 Pixeln um einen Objekt­ block 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 Refe­ renzbereich 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 verbun­ den. Die Objektblockdaten und die Referenzbereichsdaten wer­ den 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 Da­ ten des Objektblockes am ähnlichsten sind, und sie gibt eine Bewegung des Objektblockes relativ zu dem am nächsten kom­ menden Block aus.
Darauffolgend 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 Ob­ jektblock ausgewählt wird. Mit dem Block R(3, 2) als Objekt­ block wird ein ähnliches Verfahren wiederholt. Um den Ob­ jektblock 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 darge­ stellt.
Der konventionelle Bildprozessor für die Detektion einer Bildbewegung von Bildrahmen zu Bildrahmen, wie er zuvor be­ schrieben worden ist, benötigt eine erhebliche Rechnerzeit, da es nötig ist, Daten von einer groben Anzahl von Pixeln zu lesen, die in einem Referenzbereich enthalten sind, und zwar aus dem Bildspeicher jedesmal vollständig neu, wenn der Ob­ jektblock 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 Referenzbe­ reiches eines vorigen Rahmens enthalten sind, wie der Fig. 4 zu entnehmen ist.
Es ist daher die Aufgabe der vorliegenden Erfindung, einen Bildprozessor und einen digitalen Signalprozessor bereitzu­ stellen, die die obigen Nachteile des Standes der Technik nicht mehr aufweisen.
Erfindungsgemäß wird dies durch einen Bildprozessor gemäß dem Patentanspruch 1 sowie durch einen digitalen Signalpro­ zessor gemäß dem Patentanspruch 9 gelöst.
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 Zah­ len sind), dann werden die Blöcke des Bildrahmens, wie er zu einem ersten Zeitpunkt ist, abgetastet, um dadurch einen Ob­ jektblock zu aktualisieren, dessen Bewegung zu detektieren ist, dann wird ein Referenzbereich für den Objektblock be­ zeichnet, und zwar aus dem Bildrahmen, wie er zu einem zwei­ ten Zeitpunkt ist, und nachfolgend wird eine Bewegung des Objektblockes detektiert, indem die Bilddaten über den Ob­ jektblock und die Bilddaten über den Referenzbereich verwen­ det werden. Der Bildprozessor umfaßt: einen ersten Bildspei­ cher, 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-Ab­ tastung aktualisiert werden; einen zweiten Bildspeicher zum Speichern der Bilddaten des Bildrahmens, wie er zu einem zweiten Zeitpunkt ist; und eine Mehrzahl von Detektions­ datenspeichern, 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 Objekt­ block 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 Detek­ tionsdatenspeicher jeweils die Bilddaten von dem ersten bis hin zum dritten Teil speichern, und die bestimmte Anzahl der Detektionsdatenspeicher einen oder zwei von den drei Detek­ tionsdatenspeichern umfaßt.
Gemäß einer weiteren bevorzugten Ausführungsform werden die Blöcke entlang den Zeilen abgetastet, und der Referenzbe­ reich enthält: (a-1) einen ersten Teil, welcher im wesentli­ chen 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 be­ steht, die zu einer Spalte gehören, die rechts von dem Ob­ jektblock 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 spei­ chern und die bestimmte Anzahl der Detektionsdatenspeicher einen verbleibenden Detektionsdatenspeicher umfaßt, mit Aus­ nahme 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 ge­ speichert werden.
Alternativerweise weisen der Objektdatenspeicher und die Detektionsdatenspeicher jeweils eine Mehrzahl von Torspei­ chern auf.
Darüberhinaus weisen der Objektdatenspeicher und die Detektionsdatenspeicher jeweils vorzugsweise eine Daten­ breite 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 Erzeu­ gung von Adressen der Detektionsdatenspeicher; und (b-2) einen Adressenkonversionsschaltkreis zum Ändern der Adressen durch Umdrehungen (for changing the addresses by turns).
Ein digitaler Signalprozessor gemäß einem ersten Aspekt der vorliegenden Erfindung umfaßt: eine Mehrzahl von Datenspei­ chern, einen Schaltkreis zum Erzeugen von Adressen der Detektionsdatenspeicher; und einen Adressenkonversions­ schaltkreis zum Ändern der Adressen mittels Umdrehungen (turns).
Wenigstens drei Datenspeicher werden vorzugsweise verwendet, und der Adressenkonversionsschaltkreis ändert die Adressen bevorzugterweise, die zu den drei Datenspeichern abgebildet worden sind, mittels Umdrehungen.
Alternativerweise können wenigstens vier Datenspeicher eingesetzt werden, und der Adressenkonversionsschaltkreis ändert die Adressen vorzugsweise, die zu den vier Datenspei­ chern abgebildet werden, und zwar durch Umdrehungen. Darüber­ hinaus kann der digitale Signalprozessor desweiteren einen direkten Speicherzugriffscontroller umfassen, der die Auf­ gabe hat, Daten zu und von den Datenspeichern zu transferie­ ren.
Daher müssen in dem Bildprozessor gemäß einer ersten Ausfüh­ rungsform 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 vor­ liegenden 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 auf­ grund des Adressenkonversionsschaltkreises, der die Adressen der Speicher ändert, Bilddaten über den gesamten Referenzbe­ reich für jede Block-zu-Block-Abtastung auszulesen. Daher liest der digitale Signalprozessor, wenn er in dem Bildpro­ zessor 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 ei­ ner Bewegung eingelesen werden, wodurch sich die Verarbei­ tungszeit 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 ver­ minderten 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 ent­ spricht, in einer verminderten Zeit eingelesen werden. Ein weiterer Vorteil der vorliegenden Erfindung liegt darin, daß ein digitaler Signalprozessor bereitgestellt wird, welcher für die Verwendung in einem derartigen Bildprozessor ge­ eignet ist.
Die Unteransprüche haben vorteilhafte Weiterbildungen der Erfindung zum Inhalt.
Weitere Vorteile, Merkmale und Eigenschaften der vorliegen­ den 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 be­ vorzugten Ausführungsform der vorliegenden Erfindung dargestellt ist;
Fig. 6 ein Blockdiagramm, in dem die Kodierung ei­ nes Bewegungsbildes dargestellt ist, auf das die vorliegende Erfindung anwendbar ist;
Fig. 7 ein Blockdiagramm, in dem die Struktur der in Fig. 5 gezeigten Vorrichtung detaillier­ ter dargestellt ist;
Fig. 8 ein Blockdiagramm, in dem die innere Struk­ tur einer Rechnereinheit dargestellt ist;
Fig. 9 ein Flußdiagramm, in dem die Verfahrens­ schritte gemäß der ersten Ausführungsform der vorliegenden Erfindung dargestellt sind;
Fig. 10 eine Bildrahmengröße zur Erklärung der be­ vorzugten Ausführungsformen gemäß der vor­ liegenden Erfindung;
Fig. 11 und 12 Darstellungen, aus denen hervorgeht, wie ein Block gemäß der ersten bevorzugten Ausfüh­ rungsform der vorliegenden Erfindung verar­ beitet 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üh­ rungsform der vorliegenden Erfindung verar­ beitet wird;
Fig. 17 ein Flußdiagramm, in dem die Verfahrens­ schritte gemäß der zweiten bevorzugten Aus­ fü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 Verfahrens­ schritte gemäß der dritten bevorzugten Aus­ führungsform der vorliegenden Erfindung dar­ gestellt sind;
Fig. 21 ein Blockdiagramm, in dem eine vierte bevor­ zugte Ausführungsform der vorliegenden Er­ findung dargestellt ist;
Fig. 22 ein Blockdiagramm, in dem die innere Struk­ tur einer Rechnereinheit dargestellt ist;
Fig. 23 ein Blockdiagramm, in dem eine fünfte bevor­ zugte Ausführungsform der vorliegenden Er­ findung dargestellt ist;
Fig. 24 ein Blockdiagramm, in dem die innere Struk­ tur einer Rechnereinheit dargestellt ist;
Fig. 25 ein Blockdiagramm, in dem eine sechste be­ vorzugte Ausführungsform der vorliegenden Erfindung dargestellt ist;
Fig. 26 ein Blockdiagramm, in dem die innere Struk­ tur einer Rechnereinheit dargestellt ist,
Fig. 27 ein Blockdiagramm, in dem eine siebte bevor­ zugte Ausführungsform der vorliegenden Er­ findung dargestellt ist;
Fig. 28 eine Darstellung, in der innere Speicher­ plätze in der siebten bevorzugten Ausfüh­ rungsform der vorliegenden Erfindung darge­ stellt sind;
Fig. 29 die Struktur eines Adressenkonversions­ schaltkreises;
Fig. 30 ein Blockdiagramm, in dem eine achte bevor­ zugte 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 Adressenkonversions­ schaltkreises;
Fig. 33 ein Blockdiagramm, in dem eine neunte bevor­ zugte Ausführungsform der vorliegenden Er­ findung dargestellt ist; und
Fig. 34 ein Blockdiagramm, in dem eine zehnte bevor­ zugte Ausführungsform der vorliegenden Er­ findung dargestellt ist.
Unter den anderen Techniken, die mit der Bildverarbeitung befaßt sind, betrifft die vorliegende Erfindung die Vorher­ sage einer Bewegungskompensation von Bildrahmen-zu-Bildrah­ men, die für die Quellenkodierung während der Kodierung ei­ nes Bewegungsbildes benötigt wird, so wie das in Fig. 6 ge­ zeigte.
Bevorzugte Ausführungsformen der vorliegenden Erfindung wer­ den im folgenden beschrieben. Um die Beschreibung zu er­ leichtern, 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 hinge­ wiesen, daß die vorliegende Erfindung nicht auf diese spezi­ fische 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 Ein­ gangsanschluß einer Rechnereinheit 5 wird mit einem Bild­ speicher 1 über einen Speicher 3 verbunden, während ein zweiter Eingangsanschluß der Rechnereinheit 5 mit einem Rah­ menspeicher 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 vo­ rigen Bildrahmens hält. Der Speicher 3 empfängt von dem Bildspeicher 1 Daten über einen Objektblock, dessen Bewegung zu detektieren ist. Die Speicher 67 und 8 empfangen je­ weils 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 Blockanpassungs­ verfahren der Daten durchgeführt wird, die so von der Rech­ nereinheit 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 eingele­ sen.
Nachfolgend werden Daten über einen Referenzbereich aus dem Bildspeicher 2 ausgelesen, welcher die Daten über einen vo­ rigen Bildrahmen enthält. Da ein Block R(1, 2) der Objekt­ block 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 ge­ speichert 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üg­ bar. Die Rechnereinheit 5 errechnet eine Bewegung des Ob­ jektblockes, 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 weitergeta­ stet, so daß ein Block R(3, 2) als Objektblock ausgewählt wird, welcher in Fig. 12 dargestellt ist, und eine Bewe­ gungsdetektion 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) gele­ sen 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 Si­ gnal-Erzeugungsschaltkreis für das Speicherzeitverhalten 202 und ein Steuerschaltkreis für die Rechnereinheit 203. Der Speicheradressen-Erzeugungsschaltkreis 201 und der Signal-Er­ zeugungsschaltkreis 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-Kalku­ lator 5b wird dann an einen Addierer 5c übergeben, in dem Verzerrungen akkumuliert werden. Ein Verzerrungs-Akkumula­ tionsregister 5d akkumuliert gleichfalls Verzerrungen. Die Akkumulationsergebnisse in dem Addierer 5c und dem Verzer­ rungs-Akkumulationsregister 5d werden dann in einem Verzer­ rungs-Komparator 5f verglichen, und zwar mit Daten, die in einem Halteregister für minimale Verzerrungen 5 gespeichert waren.
Das Betriebsverfahren in der ersten bevorzugten Ausführungs­ form ist in einem in Fig. 9 gezeigten Flußdiagramm darge­ stellt. 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 be­ reits zuvor beschrieben, nur Daten von ungefähr einem Drit­ tel 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 Zyklus aktualisieren muß. Im Schritt P6 wird die Bildverarbeitung so lange 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 weitestge­ hend ä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 verblei­ bende eine Speicher enthält ein Drittel der Daten über einen Referenzbereich für den nächsten oder den übernächsten Ob­ jektblock.
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äch­ sten Objektblockes R(4, 1), der Speicher 9 aus dem Bildspei­ cher 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äch­ sten 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 Bild­ verarbeitung erzielt wird.
Nachdem dies geschehen ist, wird der Rahmen weiter abge­ tastet, 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 Objekt­ blockes, 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 Bild­ speicher 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 befin­ den. 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 Ob­ jektblock, 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 Referenzberei­ ches 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 Spei­ cher 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 Objekt­ blockes durch die Rechnereinheit 5 eingelesen. Daher führt die zweite bevorzugte Ausführungszeit zu einer kürzeren Ver­ arbeitungszeit als die erste bevorzugte Ausführungsform.
Der Betriebsablauf gemäß der zweiten bevorzugten Ausführungsform ist in der Fig. 17 in der Form eines Flug­ 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 Bewe­ gung 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 Objekt­ blockes (Schritt P14) durch die Rechnereinheit 5. Nachfol­ gend 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 ge­ mäß 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üh­ rungsform 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 glei­ che 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 Bildspei­ cher 1 aus lesen und wenn dabei die nächsten Referenzbe­ reichsdaten gleichzeitig mit der Errechnung der Bewegung eingelesen werden, dann sorgt die dritte bevorzugte Ausfüh­ rungsform für eine noch schnellere Verarbeitung.
Die Fig. 19A bis 19C sind Diagramme, die jeweils die Rechnerzeit zeigen, um eine Bewegung eines Objektblockes ge­ mäß der jeweiligen bevorzugten Ausführungsform zu errechnen. Fig. 19A stellt die Rechnerzeit dar, die die erste bevor­ zugte 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 bevor­ zugte Ausführungsform erreicht eine Verminderung der Rech­ nerzeit, da sie die Eingabe von Referenzdaten für die Ver­ vollständigung während der Errechnung einer Blockbewegung verlangt. Dies ist gegenüber der ersten bevorzugten Ausfüh­ rungsform vorteilhaft, bei der die Eingabe von Referenzdaten eine Zeit benötigt, die zu der Rechnerzeit einer Blockbewe­ gung hinzukommt. Die dritte bevorzugte Ausführungsform ver­ mindert die Rechnerzeit weiter, indem Daten über einen Ob­ jektblock 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 gegen­ wä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üh­ rungsform 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 Bild­ speicher 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 Rech­ nereinheit 41 enthält.
Der Bildspeicher 11 enthält Bilddaten eines gegenwärtigen Bildrahmens während der Bildspeicher 12 Bilddaten eines vo­ rigen Bildrahmens enthält. Von dem Bildspeicher 11 empfängt der Speicher 13 Daten über einen Objektblock, dessen Bewe­ gungen zu detektieren sind. Die Speicher 14, 15 und 16 emp­ fangen jeweils ein Drittel der Daten über einen Referenzbe­ reich, 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 Be­ wegung 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 Rech­ nereinheit 41 liest pro Zeiteinheit Daten für vier Pixel aus dem Speicher 13. Die Rechnereinheit 41 empfängt darüber­ hinaus 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ührungs­ form ä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 Bewegungsberech­ nungszeit gilt, da die Vier-Pixel-Daten-pro-Wort-Struktur eines jeden Speichers es ermöglicht, daß Daten für vier Pi­ xel pro Zeit bei einem Speicherzugriff gelesen und geschrie­ ben werden.
Die Rechnereinheit 41 ist detailliert in Fig. 22 darge­ stellt. 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 Sub­ trahierer 5a und dem Absolutwert-Kalkulator 5b der Rech­ nereinheit 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 Synthetisierungs­ teil 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 Opera­ tionsfluß ist dem in der Rechnereinheit 5 der ersten Ausfüh­ rungsform ähnlich, d. h. ein Verzerrungskomparator 41i ver­ gleicht Daten aus einem Halteregister 41h für eine minimale Verzerrung mit Daten aus dem Verzerrungs-Akkumulations­ register 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üh­ rungsform 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 an­ stelle 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är­ tigen Bildrahmen und Bilddaten über einen vorigen Bildrah­ men, und ein Speicher 3 empfängt von dem Bildrahmen 1 Daten über einen Objektblock, dessen Bewegung zudetektieren ist.
Die Speicher 17, 18 und 19, welche jeweils aus einem Spei­ cher mit zwei Toren bestehen, empfangen ein Drittel der Da­ ten über einen Referenzbereich, der dem Objektblock ent­ spricht. Eine Rechnereinheit 20 liest die Daten über den Ob­ jektblock aus dem Speicher 3 und die Daten über den Refe­ renzbereich aus den Speichern 17, 18 und 19. Die so an die Rechnereinheit 20 übergebenen Daten werden dann in ihr mit­ tels 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 aus­ liest, 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 ver­ glichen 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ön­ nen, enthält die Rechnereinheit 20 verschiedene Elemente 20a und 20b (differential elements), 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 je­ weils an Verzerrungs-Akkumulationsteile 20c und 20d überge­ ben. Ein Komparator 20e vergleicht dann die Ausgänge aus den Verzerrungs-Akkumulationsteilen 20c und 20d.
Die Verzerrungs-Akkumulationsteile 20c und 20d enthalten je­ weils das, was dem Addierer 5c und dem Verzerrungs-Akku­ mulationsregister 5d der in Fig. 8 gezeigten Rechnerein­ heit 5 entspricht.
Ähnlich wie die Rechnereinheit 5 gemäß der ersten bevorzug­ ten 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 Rechnerein­ heit 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üh­ rungsform 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 Da­ ten 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 Ope­ rationsabläufe der vierten und der fünften bevorzugten Aus­ fü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 Blockanpassungs­ verfahren Vier-Pixel-Daten über zwei Blöcke zu einem Zeit­ punkt. Dies erlaubt es der sechsten bevorzugten Ausführungs­ form 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 unterschied­ lichen Synthetisierungsteile enthält das, was den unter­ schiedlichen Elementen 41a, 41b, 41c und 41d und dem Synthe­ tisierungsteil 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 je­ weils 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 Er­ gebnis 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 er­ reicht.
In Fig. 27 erzeugt ein Adressengenerator 25 Adressen, welche in Speicherfreigabesignale 51, 52 und 53 mittels eines Adressen-Konversionsschaltkreises 26 konvertiert werden, und er wählt einen Datenspeicher 27, 28 oder 29 über den Adres­ sen-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-Spei­ cheradresse).
Die Speicher 27, 28 und 29, welche mit dem Y-Bus 33 verbun­ den 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 si­ gnifikaten vier Bits mal die am meisten signifikanten sechs Bits der Y-Speicheradresse). Die Speicher 27, 28 und 29 be­ legen jeweils einen der Speicherräume Y0, Y1 und Y2.
Änderungen in den fünften und sechsten am wenigsten signifikanten Bits A5 A4 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 A5 A4 jeweils "00", "01" und "10" sind.
Die innere Struktur des Adressen-Konversionsschaltkreises 26 ist in Fig. 29 dargestellt. Die am wenigsten signifikanten zwei Bits A5 A4 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 auszu­ geben ist, wird durch 2-Bit-Moden-Signale M1, M0 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 Speicherfreiga­ besignale S1, S2 und S3.
Die Wahlschalter N1, N2 und N3 konvertieren die am wenigsten signifikanten zwei Bits A5 A4 wie folgt.
In einem Übertragungsmodus O sind die Moden-Signale M1, M0 gleich "00". Wie in Tabelle 1 dargestellt werden, wenn die am wenigsten signifikanten zwei Bits A5 A4 gleich "00", "01" und "10" sind, die Speicherfreigabesignale S1, S2 und S3 je­ weils "100", "010" und "001". Als ein Ergebnis hiervon wer­ den 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 M1 M0 gleich "01" sind), so daß in Antwort auf die am wenigsten zwei signifikanten Bits A5 A4, 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 ausge­ wählt (in dem die Moden-Signale M1 M0 "10" sind). In den Konversionsmodus 2 werden, in Antwort auf die am wenigsten signifikanten zwei Bits A5 A4 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 Signalpro­ zessor 300a Bewegungen von Rahmen-zu-Rahmen detektiert, und zwar auf eine ähnliche Art und Weise, wie die erste bevor­ zugte 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 darge­ stellt 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 Daten­ speicher 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 Da­ ten über diese Blöcke noch einmal empfangen. Was im vorlie­ genden 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 31 emp­ fängt gleichfalls auf dem Y-Bus 33 die Daten über den Refe­ renzbereich 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 Konversions­ mode 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-Konversions­ schaltkreis 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 ande­ ren Worten, die neu einzugebenden Daten werden in dem Adres­ senraum Y2 gespeichert.
Daher wird, wenn die am wenigsten signifikanten zwei Bits A5 A4 "10" werden, um dabei erneut Daten über den Referenzbe­ reich 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 bevorzug­ ten Ausführungsform der vorliegenden Erfindung dargestellt ist.
In Fig. 30 wählt ein Adressengenerator 25 einen Datenspei­ cher 27, 28, 29 oder 36 über einen Adressenkonversions­ schaltkreis 35 aus, welcher Adressen, die in dem Adressenge­ nerator 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 Spei­ cher 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-Schalt­ kreis 38 wird mit den X-, Y- und Z-Bussen 34, 33 und 37 ver­ bunden.
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 signifikan­ ten 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-Bus­ sen 33 und 37 verbunden sind, sind jeweils derartig organi­ siert, daß sie 1024 Wörter enthalten und daß sie in zwei Di­ mensionen 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 Adres­ senräume Y0, Y1, Y2 und Y3.
Änderungen in den fünften und sechsten am wenigsten signifikanten zwei Bits A5 A4 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 il­ lustriert.
Tabelle 2
Die Adressenräume Y0, Y1, Y2 und Y3 werden bestimmt, wenn die am wenigsten signifikanten zwei Bits A5 A4 jeweils "00", "01", "10" und "11" sind.
Die innere Struktur des Adressenkonversionsschaltkreises 35 ist in Fig. 32 dargestellt. Die am wenigsten signifikanten zwei Bits A5 A4 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 empfan­ gen werden und von diesen Wahlschaltern N4, N5, N6 und N7 auszugeben ist, wird von zwei Bit-Moden-Signalen M1 M0 ent­ schieden. 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 A5 A4 wie folgt.
In dem Konversionsmode 0 sind die Modensignale M1 M0 gleich "00". Wie in Tabelle 2 dargestellt werden, sofern die am wenigsten signifikanten zwei Bits A5 A4 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 je­ weils in die Adressenräume Y0, Y1, Y2 und Y3 abgebildet.
Demgegenüber muß, sofern die Speicher 28, 29, 36 und 27 je­ weils in die Adressenräume Y0, Y1, Y2 und Y3 abgebildet wer­ den sollen, ein Konversionsmode 1 ausgewählt werden (in dem die Modensignale M1 M0 gleich "01" sind), so daß in Antwort auf die am wenigsten signifikanten zwei Bits A5 A4, welche "00", "01", "10" und "11" speichern, die Speicherfreigabesi­ gnale S1, S2, S3 und S4 so konvertiert werden, daß sie je­ weils die Werte "0100", "0010", "0001" und "1000" annehmen.
Um die Speicher 29, 36, 27 und 28 jeweils in die Adressen­ räume Y0, Y1, Y2 und Y3 abzubilden, wird ein Konversionsmode 2 ausgewählt (in dem die Modensignale M1 M0 gleich "10" sind). In dem Konversionsmode 2 werden, in Antwort auf die am wenigsten signifikanten zwei Bits A5 A4 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 ausge­ wählt (in dem die Modensignale M1 M0 gleich "11" sind). In dem Konversionsmode 3 werden, in Antwort auf die am we­ nigsten signifikanten zwei Bits A5 A4, 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 detek­ tiert, 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 Daten­ pfad 31 empfangen worden sind.
Gleichzeitig mit der Bewegungsdetektion bereitet sich der digitale Signalprozessor 300b für eine nachfolgende Detek­ tion 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. Da­ ten über die Blöcke R(5, 0), R(5, 1) und R(5, 2). Mit ande­ ren Worten werden die neu einzugebenden Daten in dem Adres­ senraum 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 Adressenkonver­ sionsschaltkreis 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 Adres­ senrä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 Objekt­ block R(5, 1) sind gleichfalls bereits in die Speicher 29 und 36 eingelesen worden. Daher liest, während der Bewe­ gungsdetektion 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 Objekt­ block 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 Da­ ten ü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 Referenzbereichs­ daten über den nächsten Objektblock R(0, 2), eingegeben.
Wie man der Tabelle 2 entnehmen kann, entspricht der Spei­ cher 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 Adressenkonversions­ schaltkreis 35 in den Konversionsmode 3 gebracht (der vier­ ten Zeile von Tabelle 2), und zwar um die nachfolgende De­ tektion 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 ei­ nes 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 bevorzug­ ten 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 DNA-Bus 39 enthält, welche miteinander verbunden sind. Der DNA-Bus 39 ist gleichfalls mit den Datenspeichern 27, 28 und 29 verbun­ den, um so einen effizienten Bus/Speicherdatentransfer si­ multan mit dem Rechnervorgang in den Speichern zu erreichen.
Zehnte bevorzugte Ausführungsform
Indem man einen DMA-Controller 40 und einen DNA-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 trans­ feriert.
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 digita­ len Signalprozessor, der sich für einen derartigen Bildpro­ zessor 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 detek­ tieren ist. Aus einem Bildspeicher 2, welcher Daten über einen vorigen Rahmen enthält, lesen Speicher 6, 7 und 8 je­ weils 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 Drit­ tel der Referenzbereichsdaten aktualisiert werden muß.
Während die Erfindung im Detail beschrieben worden ist, soll die obige Beschreibung in all ihren Aspekten illustrierend und nicht beschränkend verstanden werden. Es wird darauf hingewiesen, daß verschiedene andere Modifikationen und Variationen realisiert werden können, ohne den Gegenstand der Erfindung zu verlassen.

Claims (15)

1. Bildprozessor, in dem ein Bildrahmen, welcher eine Mehrzahl von Bilddaten enthält, in in Zeilen und n Spal­ ten 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 ist, ab­ getastet werden, um dabei einen Objektblock zu aktuali­ sieren, dessen Bewegung zu detektieren ist, wobei dann ein Referenzbereich für den Objektblock aus dem Bild­ rahmen bestimmt wird, wie er zu einem zweiten Zeitpunkt ist, und wobei nachfolgend eine Bewegung des Ob­ jektblockes detektiert wird, indem die Bilddaten über den Objektblock und die Bilddaten über den Referenzbe­ reich verwendet werden, wobei der Bildprozessor ent­ hält:
einen ersten Bildspeicher zum Speichern der Bilddaten des Bildrahmens, wie er zu einem ersten Zeitpunkt ist;
einen Objektdatenspeicher 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-Ab­ tastung aktualisiert wird;
einen zweiten Bildspeicher zum Speichern der Bilddaten des Bildrahmens, wie er zu einem zweiten Zeitpunkt ist; und
eine Mehrzahl von Detektionsdatenspeichern, welche je­ weils die Bilddaten über den Referenzbereich aufteilen, welcher einen Teil der Bilddaten über den Bildrahmen darstellt, wie er zu dem zweiten Zeitpunkt ist, und zum Speichern derselben;
wobei zu jedem Zeitpunkt, an dem der Objektblock aktualisiert wird, Daten, die in einer bestimmten An­ zahl der Detektionsdatenspeicher gespeichert sind, ak­ tualisiert werden.
2. Der Bildprozessor nach Anspruch 1, worin die Blöcke entlang Zeilen abgetastet werden und wobei der Refe­ renzbereich enthält:
  • (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 be­ nachbart 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 Objekt­ block gehört; und
  • (a-3) einen dritten Teil, der im wesentlichen aus drei Blöcken besteht, die zu einer Spalte gehören, die sich rechts von dem Objektblock und benach­ bart zu dem Objektblock befindet;
wobei die Anzahl der Detektionsdatenspeicher drei ist;
die drei Detektionsdatenspeicher jeweils die Bilddaten über die ersten bis dritten Teile speichern; und
die bestimmte Anzahl der Detektionsdatenspeicher einen oder zwei der drei Detektionsdatenspeicher umfaßt.
3. Der Bildprozessor nach Anspruch 1, worin die Blöcke entlang Zeilen abgetastet werden, wobei der Referenzbereich enthält:
  • (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 Objekt­ block gehört; und
  • (a-3) einen dritten Teil, der im wesentlichen aus drei Blöcken besteht, welche zu einer Spalte zur Rechten des Objektblockes gehören, die sich be­ nachbart zu dem Objektblock befindet,
wobei die Anzahl der Detektionsdatenspeicher vier ist;
drei Datenspeicher von den vier Datenspeichern jeweils die Bilddaten über den ersten bis dritten Teil spei­ chern; und
die bestimmte Anzahl der Detektionsdatenspeicher einen verbleibenden Detektionsspeicher enthält, der nicht zu den drei Detektionsdatenspeichern gehört.
4. Der Bildprozessor nach Anspruch 3, in dem Bilddaten in dem verbleibenden Detektionsdatenspeicher aktualisiert werden, während Bilddaten in den drei Detektionsdaten­ speichern eingelesen werden.
5. Der Bildprozessor nach Anspruch 1, in dem der Objektdatenspeicher und die Detektionsdatenspeicher je­ weils eine Datenbreite aufweisen, mit der Daten über eine Mehrzahl von Pixeln in einem Wort gespeichert wer­ den können.
6. Der Bildprozessor nach Anspruch 3, in dem der Objektdatenspeicher und die Detektionsdatenspeicher je­ weils Speicher mit einer Mehrzahl von Toren umfassen.
7. Der Bildprozessor nach Anspruch 6, in dem der Objektdatenspeicher und die Detektionsdatenspeicher je­ weils eine Datenbreite aufweisen, mit der Daten über eine Mehrzahl von Pixeln in einem Wort gespeichert wer­ den können.
8. Der Bildprozessor nach Anspruch 1, welcher desweiteren einen digitalen Signalprozessor enthält, wobei der di­ gitale Signalprozessor umfaßt:
  • (b-1) einen Schaltkreis zur Erzeugung von Adressen der Detektionsdatenspeicher; und
  • (b-2) einen Adressenkonversionsschaltkreis zum Ändern der Adressen mittels Umdrehungen.
9. Ein digitaler Signalprozessor mit:
einer Mehrzahl von Datenspeichern;
einem Schaltkreis zur Erzeugung von Adressen der Detektionsdatenspeicher;
einem Adressenkonversionsschaltkreis zum Ändern der Adressen mittels Umdrehungen.
10. Der digitale Signalprozessor nach Anspruch 9, in dem wenigstens drei Datenspeicher als Mehrzahl vorgesehen ist, und der Adressenkonversionsschaltkreis die Adressen ändert, die zu den drei Datenspeichern abgebildet werden, und zwar mittels Umdrehungen.
11. Der digitale Signalprozessor nach Anspruch 9, worin wenigstens vier Datenspeicher als die Mehrzahl der Da­ tenspeicher vorgesehen sind, und der Adressenkonversionsschaltkreis die Adressen ändert, welche zu den vier Datenspeichern abgebildet werden, und zwar mittels Umdrehungen.
12. Der digitale Signalprozessor nach Anspruch 10, welcher desweiteren einen Controller mit direktem Speicherzu­ griff enthält, welcher vorgesehen ist, Daten zu und von den Datenspeichern zu transferieren.
13. Der digitale Signalprozessor nach Anspruch 11, welcher desweiteren einen Controller für den direkten Speicherzugriff umfaßt, welcher vorgesehen ist, um Da­ ten zu und von den Datenspeichern zu transferieren.
DE19934307936 1992-04-21 1993-03-12 Bildprozessor zum Detektieren von Bewegungen Expired - Fee Related DE4307936C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10093792A JPH05300497A (ja) 1992-04-21 1992-04-21 画像処理装置及びディジタル信号処理プロセッサ

Publications (2)

Publication Number Publication Date
DE4307936A1 true DE4307936A1 (de) 1993-10-28
DE4307936C2 DE4307936C2 (de) 1997-04-03

Family

ID=14287269

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19934307936 Expired - Fee Related DE4307936C2 (de) 1992-04-21 1993-03-12 Bildprozessor zum Detektieren von Bewegungen

Country Status (2)

Country Link
JP (1) JPH05300497A (de)
DE (1) DE4307936C2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0698861A1 (de) * 1994-08-23 1996-02-28 Nec Corporation Blockübereinstimmungsverfahren mit reduzierter Anzahl von Zugriffen auf einem Referenz-Rasterspeicher
EP1120747A2 (de) * 2000-01-27 2001-08-01 SAMSUNG ELECTRONICS Co. Ltd. Bewegungsschätzer

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2719398B1 (fr) * 1994-04-27 1996-07-19 Sgs Thomson Microelectronics Dispositif et procédé d'adressage d'une mémoire cache d'un circuit de compression d'images mobiles.
DE10120140C2 (de) * 2001-04-25 2003-03-13 Sci Worx Gmbh Verfahren zum Zugriff auf Suchbilddaten bei der Bewegungsschätzung
JPWO2004017640A1 (ja) * 2002-08-13 2005-12-08 株式会社ルネサステクノロジ 信号処理装置およびシステム
JP4597103B2 (ja) * 2006-08-30 2010-12-15 Okiセミコンダクタ株式会社 動きベクトル探索方法及び装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4023449C1 (de) * 1990-07-24 1992-01-23 Ant Nachrichtentechnik Gmbh, 7150 Backnang, De

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0247696A (ja) * 1988-08-09 1990-02-16 Matsushita Electric Ind Co Ltd 画像表示装置
JPH0453389A (ja) * 1990-06-21 1992-02-20 Graphics Commun Technol:Kk 動ベクトル検出装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4023449C1 (de) * 1990-07-24 1992-01-23 Ant Nachrichtentechnik Gmbh, 7150 Backnang, De

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0698861A1 (de) * 1994-08-23 1996-02-28 Nec Corporation Blockübereinstimmungsverfahren mit reduzierter Anzahl von Zugriffen auf einem Referenz-Rasterspeicher
US5828785A (en) * 1994-08-23 1998-10-27 Nec Corporation Method of reducing the number of access times to a reference frame memory in image compression
EP1120747A2 (de) * 2000-01-27 2001-08-01 SAMSUNG ELECTRONICS Co. Ltd. Bewegungsschätzer
EP1120747A3 (de) * 2000-01-27 2004-05-19 SAMSUNG ELECTRONICS Co. Ltd. Bewegungsschätzer

Also Published As

Publication number Publication date
JPH05300497A (ja) 1993-11-12
DE4307936C2 (de) 1997-04-03

Similar Documents

Publication Publication Date Title
DE69506059T2 (de) Blockübereinstimmungsverfahren mit reduzierter Anzahl von Zugriffen auf einem Referenz-Rasterspeicher
DE69214566T2 (de) Bildprediktor
DE3804938C2 (de) Bildverarbeitungseinrichtung
DE69227821T2 (de) Fernsehsystem mit einem Speicher mit mehrfachem seriellen Zugriff
DE68929101T2 (de) Digitalsignalverarbeitungsanlage
DE10101073B4 (de) Bildaufbereitungsvorrichtung mit niedrigeren Speicherkapazitätsanforderungen und Verfahren dafür
DE69425847T2 (de) Rechner für die inverse diskrete Cosinus-Transformation
DE3789750T2 (de) Speicher zur Bildtransformation.
DE3438512A1 (de) Computer-display-system
DE2907992A1 (de) Verfahren zur behandlung von videodaten
DE3632639C2 (de) Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung
DE4309105A1 (de) Verfahren und Einrichtung zum Behandeln eines Teils eines verdichteten Bildes für ein Aufbereiten
DE4408522C2 (de) Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten
DE68925569T2 (de) Dynamischer Video-RAM-Speicher
DE3248978T1 (de) Bildanzeigeeinrichtung
DE4307936C2 (de) Bildprozessor zum Detektieren von Bewegungen
DE4230327A1 (de) Multi-port speicher und digitales interpoliergeraet
DE3150203A1 (de) Verfahren und anordnung zum erzeugen kodierter bildsignalwerte und zum rueckgewinnen der bildsignale
DE3243444C2 (de)
DE68909427T2 (de) Einrichtung zur blockweisen Fernsehzeilenpermutation.
DE69424230T2 (de) Verfahren und Vorrichtung zum Suchen nach einem Prädiktionsblock in prädiktive Bildkompression
DE3729494A1 (de) Einrichtung zur speicherung von videosignalen
DE69523083T2 (de) Verfahren und Gerät zur Wiedergabe von einem abstrakten Bild
DE19743316C2 (de) Cursorspeichervorrichtung
DE102004049094B4 (de) Verfahren zur Reduktion von Blockartefakten an Blockgrenzen digitaler Bildblöcke, die aus einem Feld von Pels bestehen, wobei eine Mehrzahl von Bildblöcken ein Bild oder Teilbild bilden

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee