DE4307936A1 - Bildprozessor und digitaler Signalprozessor - Google Patents
Bildprozessor und digitaler SignalprozessorInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20048—Transform domain processing
- G06T2207/20052—Discrete 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.
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 6′ 7 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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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)
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)
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)
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 | 動ベクトル検出装置 |
-
1992
- 1992-04-21 JP JP10093792A patent/JPH05300497A/ja active Pending
-
1993
- 1993-03-12 DE DE19934307936 patent/DE4307936C2/de not_active Expired - Fee Related
Patent Citations (1)
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)
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 |