DE19752929A1 - Bildverarbeitungseinrichtung - Google Patents
BildverarbeitungseinrichtungInfo
- Publication number
- DE19752929A1 DE19752929A1 DE19752929A DE19752929A DE19752929A1 DE 19752929 A1 DE19752929 A1 DE 19752929A1 DE 19752929 A DE19752929 A DE 19752929A DE 19752929 A DE19752929 A DE 19752929A DE 19752929 A1 DE19752929 A1 DE 19752929A1
- Authority
- DE
- Germany
- Prior art keywords
- image
- block
- candidate
- image data
- data
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
Die vorliegende Erfindung betrifft eine Bildverarbeitungsvorrichtung, vorzugsweise zum
Durchführen einer Verarbeitung beispielsweise einer Bilddetektionsverarbeitung beim
Codieren sich bewegender Bilder bzw. von Bewegtbildern.
In den letzten Jahren wurde ein bemerkenswerter Fortschritt in Codierungstechniken zum
Codieren von sich bewegenden Bildern mit einer hohen Qualität und einer hohen
Komprimierungsrate erzielt.
Eine der Haupttechniken zum Durchführen einer derartigen Komprimierung sich
bewegender Bilder mit einer hohen Effizienz ist die Bewegungsdetektion zum Bestimmen
des Bewegungsvektors, der die Bewegung des Bildes darstellt. Verschiedene Techniken
zum Bestimmen dieses Bewegungsvektors sind vorgeschlagen worden. Eine der
Haupttechniken ist die Technik, die als "Blockanpassung" bzw. "Blockmatching"
bezeichnet wird.
Eine Erklärung dieser Blockanpassung wird unter Bezug auf Fig. 1 gegeben.
Bei dieser Blockanpassung wird das von der Bewegungsdetektion erfaßte Bild (im
folgenden als ein "gegenwärtiges Bild" bezeichnet) in Blöcke aus beispielsweise einer
Anzahl von M Bildpunkten × einer Anzahl von N Zeilen (im folgenden als "gegenwärtiger
Block" bezeichnet) unterteilt und der Bewegungsvektor wird für jeden gegenwärtigen
Block bestimmt.
Zuerst wird in der Nachbarschaft der dem gegenwärtigen Block des Bildes entsprechenden
Position ein vorbestimmter Suchbereich vor dem üblichen gegenwärtigen Bild eingestellt,
um gleichzeitig einen Vergleich für die Bewegungsdetektion durchzuführen (im folgenden
als Referenzbild bezeichnet). Mehrere Blöcke einer Anzahl von M Bildpunkten × einer
Anzahl von N Zeilen (im folgenden als Prüf- bzw. Kandidatenblöcke bezeichnet), die
denen des gegenwärtigen Blockes entsprechen, werden auf der Basis des Prüf- bzw.
Kandidaten-Bewegungsvektors entnommen, der von innerhalb dieses Suchbereiches
vorgegeben wird.
Als nächstes wird der Unterschied zwischen entsprechenden Bildpunkten des
gegenwärtigen Blockes und des Kandidatenblockes herausgefunden. Als nächstes wird
beispielsweise der kumulierte Wert der Unterschiede aller Bildpunkte in dem Block
bestimmt und zum Auswertungswert dieses Kandidatenblockes gemacht.
Als nächstes wird der Kandidatenblock herausgefunden, der den geringsten
Auswertungswert ergibt, und der diesem Kandidatenblock entsprechende Kandidaten-
Bewegungsvektor wird als Bewegungsvektor für den gegenwärtigen Block verwendet.
Bei einem derartigen Bewegungsdetektionsverfahren wird jedoch die Qualität des
komprimierten und dekomprimierten Bildes durch die Größe des Suchbereiches des
Kandidatenblockes stark beeinflußt. Somit ist es wünschenswert, eine
Hochgeschwindigkeitsbewegungsdetektion durch Verwendung eines großen Suchbereiches
durchzuführen. Aus diesem Grund wird in einer tatsächlichen Bewegtbild-Codierschaltung
manchmal das Verfahren verwendet, so oft wie möglich Hochgeschwindigkeitsblöcke zur
Verarbeitung zu verwenden und außerdem eine Fließband-Verarbeitung für die
Bewegungsdetektionsschaltung zu verwenden. Weiterhin wird manchmal das Verfahren
angewendet, die Bilddaten des Suchbereiches des Referenzbildes, das den Kandidatenblock
erzeugt, in der Registerdatei zu speichern, diese in einem FIFO-Format auszulesen, und
hierbei die Unterschiede der Bildpunkte des gegenwärtigen Blockes mit einer hohen
Geschwindigkeit zu berechnen.
Bewegtbild-Codierschaltungen, einschließlich derartiger Bewegungsdetektionsschaltungen,
sind oft in LSIs (hochintegrierte Schaltungen) eingebaut. Es ist somit wünschenswert, den
Energieverbrauch zu verringern.
Diese Bewegungsdetektionsschaltung ist jedoch dahingehend nachteilig, daß es schwierig
ist, den Energieverbrauch beim Verarbeiten einer großen Menge von Daten mit einer
hohen Geschwindigkeit in einem Hochgeschwindigkeitsbetrieb zu verringern.
Insbesondere treten beispielsweise, da normalerweise binäre Code-Adressen zum Auslesen
einer Registerdatei verwendet werden, wenn Daten durch kontinuierliches Ändern der
Adressen ausgelesen werden, Störeffekte im Ausgang des Adressendecodierers auf,
Ausgangssignale in dem Ausgangsbus der Registerdatei kollidieren infolge der Störeffekte
häufig und der Energieverbrauch der Registerdatei insgesamt wird größer.
Weiterhin wird, wenn Bilddaten nacheinander durch eine Fließband-Parallelverarbeitung
etc. verschoben werden, ein Ein-/Ausschalten der Datenleitung zwischen den
Prozessorelementen wiederholt, so daß der Energieverbrauch infolge dieser Betriebsweise
größer wird.
Weiterhin arbeitet, wie oben erklärt wurde, diese Bewegungsdetektionsschaltung mit einer
hohen Geschwindigkeit, so daß das Ansteigen des Energieverbrauches infolge der
Kollisionen in dem Ausgangssignal und der Verschiebung der Daten kleiner wird, was eine
starke Auswirkung auf den Energieverbrauch der Bewegtbild-Codierschaltung insgesamt
hat.
Eine Aufgabe der vorliegenden Erfindung ist, eine Bildverarbeitungsvorrichtung
bereitzustellen, die gespeicherte Bilddaten mit einem geringeren Energieverbrauch mit
einer höheren Geschwindigkeit zur Bewegungsdetektionsverarbeitung abtasten kann.
Um die obige Aufgabe zu erfüllen, verwendet die Bildverarbeitungsvorrichtung der
vorliegenden Erfindung einen Gray-Code-Wert als eine Adresse, wenn sich die
ausgelesene Adresse kontinuierlich ändert, um Buskollisionen zu vermeiden und ein
Anwachsen des Energieverbrauches zu unterdrücken.
Weiterhin verbleiben die Bilddaten eines gegenwärtigen Blockes unverändert, bis dieser
kumulative Wert der Unterschiede für alle Kandidatenblöcke für einen gegenwärtigen
Block bestimmt ist, so daß die Bilddaten des gegenwärtigen Blockes in einem festen
Register gespeichert werden, um das Verschieben der Daten zu eliminieren. Dafür wird
eine Barrel- bzw. Walzenverschiebevorrichtung (engl. barrel shifter) verwendet, um es zu
ermöglichen, Bilddaten des gegenwärtigen Blockes mehreren Prozessorelementen einer
Prozessorelementanordnung in einem auf irgendeine Position verschobenen Zustand
einzugeben.
Demgemäß ist eine Bildverarbeitungsvorrichtung der vorliegenden Erfindung eine
Bildverarbeitungsvorrichtung zum sukzessiven Abtasten von Bilddaten, um eine
vorbestimmte Verarbeitung durchzuführen, mit mehreren Speichereinrichtungen, denen
jeweils eine Adresse zugeordnet ist, wobei die mehreren Speichereinrichtungen jeweils die
Bilddaten in vorbestimmten Einheiten speichern und sukzessive kontinuierliche
vorbestimmte Einheiten von Bilddaten in Speichereinrichtungen mit Adressen speichern,
die sich nur um ein Bit unterscheiden, mit mehreren Ausgangs-
Steueranschlußeinrichtungen, die entsprechend den mehreren Speichereinrichtungen
vorgesehen sind, zum Ausgeben von in den Speichereinrichtungen gespeicherten Inhalten
nur dann, wenn ein Auswahlsignal der Speichereinrichtungen angelegt wird, mit einer
Adressenerzeugungseinrichtung zum sukzessiven Erzeugen von Adressen, die sich jeweils
um ein Bit unterscheiden, bei denen die kontinuierlichen mehreren Einheiten von Bilddaten
gespeichert werden, einer Dekodiereinrichtung zum Dekodieren der erzeugten Adressen,
um ein Auswahlsignal zum Auswählen einer der mehreren Speichereinrichtungen zu
erzeugen und dieses an die Ausgangs-Steueranschlußeinrichtung anzulegen, die in der
Speichereinrichtung vorgesehen ist, und mit einer Bildverarbeitungseinrichtung zum
Durchführen einer vorbestimmten Verarbeitung unter Verwendung der sukzessive über die
mehreren Ausgangs-Steueranschlußeinrichtungen ausgegebenen Bilddaten.
Vorzugsweise umfaßt die Bildverarbeitungsvorrichtung der vorliegenden Erfindung
weiterhin eine Bilddaten-Schreibeinrichtung zum Speichern der Eingangsbilddaten in den
mehreren Speichereinrichtungen dergestalt, daß die kontinuierlichen mehreren Einheiten
von Bilddaten mit Adressen in den Speichereinrichtungen gespeichert werden, die sich nur
um ein Bit unterscheiden.
Vorzugsweise sind die Einrichtungen als integrierte Schaltung ausgeführt, und die
mehreren Speichereinrichtungen, die mehreren Ausgangs-Steueranschlußeinrichtungen, die
entsprechend den mehreren Speichereinrichtungen ausgestaltet sind, und die
Decodiereinrichtung zum Anlegen des Auswahlsignales auf der Basis der Adressen an die
Ausgangs-Steueranschlußeinrichtungen sind als Registerdateieinrichtungen aufgebaut.
Vorzugsweise speichert jede der Speichereinrichtungen der mehreren
Speichereinrichtungen Bilddaten jeweils in Bildpunkteinheiten der Bilddaten.
Genauer gesagt speichern die mehreren Speichereinrichtungen zumindest Bilddaten
innerhalb eines vorbestimmten Bewegungssuchbereiches eines Referenzbildes, um eine
Bewegungsdetektion durchzuführen, erzeugt die Adressenerzeugungseinrichtung Adressen
dergestalt, daß mehrere Kandidatenblöcke der Bilddaten, die den gespeicherten Bilddaten
innerhalb des vorbestimmten Bewegungssuchbereiches entnommen sind, sukzessive
ausgegeben werden, und entnimmt die Bildverarbeitungseinrichtung einen vorbestimmten
Auswertungswert auf der Basis eines differentiellen Wertes entsprechender Bildpunkte
zwischen den mehreren Kandidatenblöcken der Bilddaten, die auf der Basis der erzeugten
Adressen sukzessive ausgegeben werden, und den Bildblöcken der Bilddaten, die von der
Bewegungsdetektion erfaßt werden, für jeden Kandidatenblock, entnimmt den
Kandidatenblock, der dem Bildblock der Bilddaten entspricht, die von der
Bewegungsdetektion erfaßt werden, auf der Basis des Auswertungswertes, und detektiert
einen Bewegungsvektor auf der Basis des entnommenen Kandidatenblockes.
Weiterhin umfaßt die Bildverarbeitungsvorrichtung der vorliegenden Erfindung eine
Speichereinrichtung für ein gegenwärtiges Bild zum Speichern einer Anzahl von n
Bildpunktdaten eines gegenwärtigen Bildblockes in einer vorbestimmten Reihenfolge, eine
Barrelverschiebeeinrichtung zum Verschieben der gespeicherten Anzahl von n
Bildpunktdaten um eine gewünschte Zahl und zum Ausgeben von ihnen in einem
verschobenen Zustand an eine Anzahl von n Ausgabeeinrichtungen, eine Referenzbild-
Speichereinrichtung zum Speichern von Referenzbilddaten, eine Kandidatenbildblock-Ein
gabeeinrichtung zum sukzessiven Entnehmen eines Kandidatenblockes aus einem
vorbestimmten Suchbereich der Referenzbilddaten und zum Eingeben der Anzahl der n
Bilddaten des Kandidatenbildblockes, einer Anzahl von n Betriebseinrichtungen, die der
Anzahl von n Ausgangseinrichtungen der Barrelverschiebeeinrichtung und der Eingänge
der Anzahl der n Bildpunktdaten der Kandidatenbildblock-Eingabeeinrichtung entsprechen
und den Unterschied der jeweiligen Bildpunktdaten des gegenwärtigen Bildblockes und des
Kandidatenbildblockes berechnen, eine Kumulativ-Addiereinrichtung zum kumulativen
Addieren der berechneten Unterschiede der Bilddaten für alle Bildblöcke und eine
Bildblock-Bestimmungseinrichtung zum Bestimmen eines Bildblockes zum Detektieren
eines Bewegungsvektors auf der Basis des kumulativen Wertes.
Vorzugsweise ist jeder der mehreren Kandidatenbildblöcke ein Bildblock, der durch
leichtes Verschieben des Suchbereiches des Referenzbildes entnommen wurde. Die
Kandidatenbildblock-Eingabeeinrichtung verändert sukzessive einen Teil der Bilddaten in
der Anzahl der n Bilddaten, um sukzessive mehrere Kandidatenbildblöcke einzugeben. Die
Barrelverschiebeeinrichtung verändert die Größe der Verschiebung dergestalt, daß die
entsprechenden Bildpunktdaten in bezug auf einen Kandidatenbildblock der gleichen
Betriebseinrichtung eingegeben werden.
Vorzugsweise sind der gegenwärtige Bildblock und die Kandidatenbildblöcke Bildblöcke
mit einer Anzahl von n Bildpunkten und die Anzahl der n Betriebseinrichtungen und der
Kumulativ-Addiereinrichtungen berechnen den kumulativen Wert des Unterschiedes alle
zusammen für einen Kandidatenblock.
Insbesondere ist die Betriebseinrichtung eine Einrichtung zum Berechnen des
Unterschiedes zwischen einem Bildpunktwert eines gegenwärtigen Bildblockes und einem
Bildpunktwert eines Kandidatenbildblockes, wie oben erläutert wurde.
Genauer gesagt ist sie eine Einrichtung zum Berechnen eines Quadratwertes des
Unterschiedes zwischen einem Bildpunktwert eines gegenwärtigen Bildblockes und einem
Bildpunktwert eines Kandidatenbildblockes und die Kumulativ-Addiereinrichtung addiert
die Quadratwerte des Unterschiedes kumulativ.
Genauer gesagt speichert die Referenz-Speichereinrichtung das Referenzbild dergestalt,
daß die kontinuierlichen Bildpunktdaten in Adressen gespeichert werden, die sich jeweils
um ein Bit unterscheiden, und die Kandidatenbildblock-Eingabeeinrichtung greift
sukzessive auf die sich jeweils um ein Bit unterscheidenden Adressen zu, um die
kontinuierlichen Bilddaten des Kandidatenbildblockes zu lesen, erhält eine Anzahl n von
Bildpunktdaten und gibt diese durch die Anzahl der n Eingabeeinrichtungen der Anzahl der
n Betriebseinrichtungen ein.
Diese und andere Aufgaben und Merkmale der vorliegenden Erfindung werden in der
folgenden Beschreibung bevorzugter Ausführungsbeispiele in bezug auf die beigefügten
Fig. näher erläutert, in denen zeigen:
Fig. 1 eine Ansicht zur Erläuterung eines gegenwärtigen Blockes, eines
Bewegungsvektor-Suchbereiches und eines Kandidatenblockes,
Fig. 2 ein Blockdiagramm des Aufbaus einer Bewegtbild-Codiervorrichtung, die
zur Verwendung in einer Bildverarbeitungsvorrichtung der vorliegenden Erfindung
bevorzugt wird,
Fig. 3 ein Blockdiagramm des Aufbaus einer Bewegungsdetektionsvorrichtung
eines Ausführungsbeispieles der vorliegenden Erfindung,
Fig. 4 ein Blockdiagramm des Aufbaus eines Suchfensterspeichers der in Fig. 3
gezeigten Bewegungsdetektionsvorrichtung,
Fig. 5 ein Blockdiagramm des Aufbaus eines Prozessorelementes der in Fig. 3
gezeigten Bewegungsdetektionsvorrichtung,
Fig. 6A bis 6D Ansichten von Signalformen eines Adressensignales beim Auslesen
von Bildpunktdaten, die in einer Zelleneinheitenanordnung eines in Fig. 4 gezeigten
Suchfensterspeichers gespeichert sind, wobei Fig. 6A eine Ansicht einer
Leseadresse ist, Fig. 6B eine Ansicht der Adresse in einem für jedes Bit
entwickelten Binärcode ist, Fig. 6C eine Ansicht der Adresse in einem für jedes Bit
entwickelten Gray-Code ist, und Fig. 6D eine Ansicht eines Ausgangs-
Steueranschluß-Freigabesignals ist, das durch Decodieren der Adresse in dem
binären Code erhalten wird,
Fig. 7 ein Blockdiagramm des Aufbaus einer Bewegungsdetektionsvorrichtung
eines zweiten Ausführungsbeispieles der vorliegenden Erfindung, und
Fig. 8 ein Blockdiagramm des Aufbaus eines Prozessorelementes einer in Fig. 7
gezeigten Bewegungsdetektionsvorrichtung.
Als nächstes werden Ausführungsbeispiele der vorliegenden Erfindung unter Bezug auf die
Zeichnungen näher erläutert.
Fig. 2 ist ein Blockdiagramm des Aufbaus der Bewegtbild-Codiervorrichtung, die zur
Verwendung in einer Bildverarbeitungsvorrichtung der vorliegenden Erfindung geeignet
ist.
Diese Bewegtbild-Codiervorrichtung 10 ist eine Vorrichtung zum Komprimieren und
Codieren von digitalen Videodaten, die durch das MPEG2-System (Bewegtbild-
Codiersystem mit einer hohen Qualität von der Bewegtbild-Codierungs-Expertengruppe)
eingegeben werden.
Die Bewegtbild-Codiervorrichtung 10 umfaßt eine Formatumsetzeinheit 11, eine
Umsortiereinheit 12, einen Addierer 13, eine DCT-Einheit 14, eine Quantisierungseinheit
15, eine Variabellängen-Codiereinheit 16, einen Speicher 17, eine Ratensteuerungseinheit
18, eine Invers-Quantisierungseinheit 19, eine Invers-DCT-Einheit 20, einen Addierer 21,
einen Vollbildspeicher 22 und ein Bewegungskompensations-Vorhersageeinheit 23.
In dieser Bewegtbild-Codiervorrichtung 10 werden die eingegebenen digitalen Videodaten
zuerst in eine räumliche Auflösung umgesetzt, die für das Codieren in der
Formatumsetzeinheit 11 verwendet wird. Weiterhin wird in einem B-Bild (bidirektional
vorhersagecodiertes Bild) das Codieren unter gleichzeitiger Verwendung der Bilder vorher
und nachher durchgeführt, somit wird das Umsortieren der Bilder in der Umsortiereinheit
12 entsprechend dem Bildtyp (I-(intracodiertes)Bild, P-(vorhersagecodiertes)Bild, und
B-Bild) durchgeführt.
Als nächstes werden die eingegebenen Bilder in Makroblockeinheiten von acht Bildpunkten
× 8 Zeilen codiert. Zuerst wird, wenn der Codierzustand des Makroblockes der
Bewegungskompensations-Vorhersagezustand ist, in dem Addierer 13 der durch die
Bewegungsvorhersage aus dem Referenzbild erhaltene Unterschied der Makroblock-
Bilddaten erhalten und ein Vorhersagefehlersignal wird erzeugt.
Dieses Vorhersagefehlersignal wird in der DCT-Einheit 14 DCT-codiert.
Der erhaltende DCT-Codierkoeffizient wird in einer Quantisierungseinheit 13 entsprechend
einem Zielbit und visuellen Eigenschaften, die sukzessive aus einer
Niedrigfrequenzkomponente abgetastet werden, quantisiert und in eine eindimensionale
Information umgesetzt.
Dann wird er in der Variabellängen-Codiereinheit 16 zusammen mit dem
Bewegungsvektor und der Codierzustandinformationen, die in dem Speicher 17
akkumuliert werden, einer Variabellängen-Codierung unterzogen und dann als MPEG-
Videobitstrahl ausgegeben.
Weiterhin ist, wenn das codierte Bild ein I-Bild oder ein P-Bild ist, es notwendig, dieses
später als das Referenzbild der Bewegungskompensationsvorhersage zu verwenden, somit
wird die quantisierte Information in der Invers-Quantisierungseinheit invers quantisiert, in
der Invers-DCT-Einheit 20 einer inversen DCT unterzogen und weiterhin durch den
Addierer 21 zur lokalen Decodierung der Bewegungskompensation unterzogen, zu dem
gleichen Bild wie das der Decodiervorrichtung wiederhergestellt und in dem
Vollbildspeicher 23 akkumuliert.
Auf der Basis der in diesem Vollbildspeicher 22 akkumulierten Bilddaten wird die
Bewegungskompensationsvorhersage unter Bezug auf die eingegebenen Bilddaten in der
Bewegungskompensations-Vorhersageeinheit 23 durchgeführt. Das Ergebnis wird dem
Addierer 13 als Referenzsignal zum Bestimmen des Vorhersagefehlers ausgegeben.
Es ist anzumerken, daß die Menge der von der Variabellängen-Codierungseinheit 16
erzeugten Codes bzw. Codierungen variabel wird, somit überwacht, wenn den codierten
Daten die feste Bitrate gegeben wird, die Ratensteuerungseinheit 18 den Speicher 17 und
erfaßt die Bitmenge und führt die Quantisierungssteuerung entsprechend der Zielbitrate
durch.
In einer derartigen Bewegtbild-Codiervorrichtung 10 wird die
Bildverarbeitungsvorrichtung der vorliegenden Erfindung beispielsweise zur Detektion des
Bewegungsvektors in der Bewegungskompensations-Vorhersageeinheit 23 verwendet.
Im folgenden wird die Bewegungsdetektionsvorrichtung eines ersten Ausführungsbeispieles
der vorliegenden Erfindung unter Bezug auf die Fig. 3 bis 6 erläutert.
Fig. 3 ist ein Blockdiagramm des Aufbaus der Bewegungsdetektionsvorrichtung 30.
Die Bewegungsdetektionsvorrichtung 30 umfaßt einen Speicher 31 für einen
gegenwärtigen Block, einen Suchfensterspeicher 32, eine Prozessorelementanordnung 33
und eine Vergleichseinheit 34.
Zuerst wird der Aufbau und die Funktion der Einheiten dieser
Bewegungsdetektionsvorrichtung 30 erläutert.
Der Speicher 31 für einen gegenwärtigen Block ist ein Speicher, dem die von der
Bewegungsvektordetektion erfaßten gegenwärtigen Blöcke, die durch Unterteilen der
gegenwärtigen Bilddaten in Blöcke aus 16 Bildpunkten × 16 Zeilen erhalten werden,
sukzessive eingegeben werden.
Der Suchfensterspeicher 32 ist eine Registerdatei zum gleichzeitigen Aufzeichnen der
Bilddaten des vorbestimmten Suchbereiches in der Nachbarschaft des gegenwärtigen
Blockes des Bildes einen Rahmen vor dem gegenwärtigen Bild. In dem vorliegenden
Ausführungsbeispiel ist dieser Suchbereich ein Bereich von ± 32 Bildpunkten in der
horizontalen Richtung des gegenwärtigen Blockes und ± 16 Zeilen in der vertikalen
Richtung. Insbesondere werden die Referenzbilddaten des in Fig. 1 gezeigten Bereiches,
wenn N = M = 16 ist, in dem Suchfensterspeicher 32 gespeichert.
Im folgenden wird der genaue Aufbau dieses Suchfensterspeichers 32 unter Bezug auf Fig.
4 erläutert.
Fig. 4 ist ein Blockdiagramm des Aufbaus des Suchfensterspeichers 32. Der
Suchfensterspeicher 32 umfaßt einen Schreibadressendecodierer 51, eine
Zelleneinheitenanordnung 53 mit einer Anzahl von in Speichertabellenfeldern 52 -1 bis 52 -m,
eine Anzahl m von Ausgangsanschlüssen 54 -1 bis 52 -m, die an den Ausgangseinheiten
entsprechend einer Anzahl von in Speicherzelleneinheiten 52 -1 bis 52 -m vorgesehen sind,
und einen Leseadressendecodierer 55.
In diesem Suchfensterspeicher 32 werden eine Anzahl von m Speicherzelleneinheiten 52 -1
bis 52 -m durch einen Gray-Code Adressen zugeordnet. Insbesondere werden in der
Reihenfolge von der obersten Position Adressen vergeben, die sich zwischen benachbarten
Speicherzelleneinheiten um nur ein Bit unterscheiden, beispielsweise 0000b (=0), 0001b
(=1), 0011b (=2), 0010b (=3), 0110b (=4), 0111b (=5), 0101b (=6), 0100b (=7),
1100b (=8), . . . . Es ist anzumerken, daß b die binäre Schreibweise kennzeichnet.
Dann werden in dem Schreibadressendecodierer 51 die mit diesen Gray-Code-Adressen
eingegeben Schreibadressen decodiert, das Auswahlsignal und das Schreib-Freigabesignal
werden der durch die Adresse gekennzeichneten Speicherzelleneinheit 52 -i (i = 1 bis m)
ausgegeben und die eingegebenen Daten werden in die Speicherzelleneinheit 52 -i
eingeschrieben.
Weiterhin wird in dem Leseadressendecodierer 55 die in ähnlicher Weise durch die gleiche
Gray-Code-Adresse eingegebene Leseadresse decodiert und ein Ausgabe-Freigabesignal
zum Einschalten der Ausgänge wird dem von dieser Adresse gekennzeichneten Ausgangs-
Steueranschluß 54 ausgegeben, der entsprechend der Speicherzelleneinheit 52 -j (j = 1 bis
m) vorgesehen ist.
Weiterhin werden unter Bezug auf diesen Suchfensterspeicher 32 das Adressensignal und
das Steuersignal von einer nicht dargestellten Steuereinheit der
Bewegungsdetektionsvorrichtung für die Steuerung eingegeben. Hierdurch werden die
Bilddaten über den Schreibadressendecodierer 51 sukzessive in der
Zelleneinheitenanordnung 53 aufgezeichnet. Weiterhin wird der Kandidatenblock in
geeigneter Weise aus den aufgezeichneten Bilddaten entnommen, das die Bilddaten des
Kandidatenblockes anzeigende Leseadressensignal wird dem Leseadressendecodier 55
eingegeben und die Bildpunktdaten des Kandidatenblockes werden sukzessive von dem
Suchfensterspeicher 32 ausgegeben.
Es ist anzumerken, daß als die Bilddaten des Kandidatenblockes alle Blöcke aus 16
Bildpunkten × 16 Zeilen gleich dem gegenwärtigen Block, die den in der
Zelleneinheitenanordnung 53 aufgezeichneten Bilddaten entnommen werden können,
entnommen und sukzessive ausgegeben werden. Insbesondere werden zuerst die
Kandidatenblöcke von 16 Bildpunkten × 16 Zeilen um einen Bildpunkt voneinander
verschoben von der oberen linken Position des Bildes des Suchbereiches entnommen.
Wenn der Block rechts oben entnommen ist, werden die Kandidatenblöcke als nächstes in
ähnlicher Weise von links nach rechts unter Verschieben des Bereiches um eine Zeile nach
unten sukzessive entnommen.
Die Prozessorelementanordnung 33 bestimmt den Unterschied bzw. Differenz zwischen
entsprechenden Bildpunkten der Bildpunktdaten des gegenwärtigen Blockes, die von dem
Speicher 19 für den gegenwärtigen Block eingegeben werden und in geeigneter Weise
zwischen den Prozessorelementen 33 -1 bis 33 -n verschoben sind, und den Bildpunktdaten
des Kandidatenblockes, der an den Prozessorelementen 33 -i (i = 1 bis n) an dem
Suchfensterspeicher 32 eingegeben wird. Dann wird der gefundene Unterschied sukzessive
übergeben und für die Prozessorelemente 33 -1 bis 33 -n akkumuliert, wobei der kumulative
Fehlerwert in bezug auf die Kandidatenblöcke schließlich bestimmt und der
Vergleichseinheit 34 ausgegeben wird.
Der genaue Aufbau der Prozessorelementanordnung 33 -i (i = 1 bis n) ist in Fig. 5 gezeigt.
Die Prozessorelementanordnung 33 -i hat ein erstes Register 61 zum Speichern der
gegenwärtigen Blockdaten, eine Unterschiedsberechnungsschaltung 62 zum Berechnen des
Unterschiedes zwischen den in dem ersten Register 61 gespeicherten gegenwärtigen
Blockdaten und den eingegebenen Kandidatenblockdaten, eine Betriebseinheit 62 zum
Addieren des in der Unterschiedsberechnungsschaltung 62 berechneten Unterschiedes und
eines kumulativen Wertes einer in der früheren Prozessorelementanordnung 33 -i-1
berechneten Unterschiedes (kumulativer Fehlerwert), und ein zweites Register 64 zum
Speichern des in der Betriebseinheit 63 berechneten kumulativen Fehlerwertes.
Dann wird der Ausgang des Prozessorelementes 33 -i sukzessive dem nächsten
Prozessorelement 33 -i+1 eingegeben. Hierdurch wird im wesentlichen der kumulative Wert
des Unterschiedes aller Bildpunkte zwischen den gegenwärtigen Blockdaten und den
Kandidatenblockdaten erhalten.
Weiterhin wird auch der Ausgang des ersten Registers 61 sukzessive den nächsten
Prozessorelementen 33 -i+1 eingegeben. Ein Schieberegister besteht im wesentlichen aus
einer Anzahl von n Prozessorelementen 33 -1 bis 33 -n. Durch sukzessives Verschieben der
gegenwärtigen Bilddaten von einem Prozessorelement zu einem anderen Prozessorelement
entsprechend den eingegeben Kandidatenblockdaten können zwischen entsprechenden
Bildpunkten in den Kandidatenblöcken Verarbeitungen bzw. Berechnungen durchgeführt
werden.
Die Vergleichseinheit 34 vergleicht die kumulativen Werte der sukzessive in bezug auf die
Kandidatenblöcke in der Prozessorelementanordnung 33 bestimmten Unterschiede,
detektiert deren Minimalwert und entnimmt gleichzeitig den Kandidatenblock.
Dann detektiert die nicht dargestellte Steuereinheit in der Bewegungsdetektionsvorrichtung
30 den Kandidatenvektor auf der Basis des Kandidatenblockes, der den geringsten in der
Vergleichseinheit 34 entnommenen kumulativen Unterschiedswert ergibt, und gibt diesen
der Variabellängen-Codiereinheit etc. der Bewegtbild-Codiervorrichtung 10 aus.
Eine derartige Bewegungsdetektionsvorrichtung 30 speichert die gegenwärtigen Bilddaten
in dem Speicher 31 für den gegenwärtigen Block und speichert die Bilddaten innerhalb des
Suchbereiches des Referenzbildes in dem Suchfensterspeicher 32. Die Bildpunktdaten der
gegenwärtigen Blöcke und der Kandidatenblöcke, die in diesem Speicher 31 für den
gegenwärtigen Block und dem Suchfensterspeicher 32 gespeichert sind, werden den
Prozessorelementen (PE) 33 -1 bis 33 -n in der Prozessorelementanordnung 33 eingegeben.
Diese Prozessorelemente 33 -1 bis 33 -n führen eine Fließband-Verarbeitung durch, um den
kumulativen Wert des Unterschiedes der gegenwärtigen Blöcke und der Kandidatenblöcke
der gesamten Prozessoranordnung 33 zu bestimmen. Dann werden die kumulativen Werte
von für mehrere Kandidatenblöcke erhaltenen Unterschieden in der Vergleichseinheit 34
verglichen, der den geringsten Wert ergebende Kandidatenblock wird entnommen und ein
Bewegungsvektor wird auf der Basis dieses Kandidatenblockes detektiert.
Insbesondere liest dann der Suchfensterspeicher 32 sukzessive die Bilddaten entsprechend
dem Leseadressensignal, das in der Steuereinheit der Bewegungsdetektionsvorrichtung 30
erzeugt wurde, aus und gibt sie sukzessive der Prozessorelementanordnung 33 aus, aber zu
diesem Zeitpunkt treten, da der Gray-Code verwendet wird, in den Leseadressen
überhaupt keine Störeffekte auf. Es treten infolge der Anzahl der m Speichertabellenfelder
52 -1 bis 52 -m auch keine Kollisionen in dem Bus in dem Suchfensterspeicher 32 auf.
Dies wird unter Bezug auf die Fig. 6A bis 6D erläutert.
Die Fig. 6A bis 6D sind Ansichten von Signalformen des Adressensignales beim Lesen
der in der Tabellenfelderanordnung 53 gespeicherten Bildpunktdaten, wobei Fig. 6A eine
Ansicht der Leseadresse ist, Fig. 6B eine Ansicht der Adresse in dem für jedes Bit
entwickelten binären Code ist, Fig. 6C eine Ansicht der Adresse in dem für jedes Bit
entwickelten Gray-Code ist, und Fig. 6D eine Ansicht des Ausgangs-Steueranschluß-
Freigabesignales ist, das durch Decodieren der Adresse in dem binären Code erhalten
wird.
Wie in Fig. 6A gezeigt ist, in der sich die Leseadresse gemäß 0, 1, 2 . . . verändert,
verändert sich, wenn diese Adresse in dem binären Code eingegeben worden ist, das
Signal jedes Bits dieser Adresse, wie es in Fig. 6B gezeigt ist. Insbesondere tritt der Fall
auf, in dem zwei oder mehr Signalzeilen sich gleichzeitig ändern. Als Ergebnis tritt als
Ergebnis des Decodierens ein Störsignal, wie es in Fig. 6D gezeigt ist, in dem Ausgangs-
Freigabesignal auf, und gleichzeitig tritt eine Koilision in dem Bus auf.
Andererseits ist, wenn diese Leseadresse als Gray-Code-Adresse eingegeben worden ist,
die Anzahl der Signalzeilen, die sich ändern, immer 1, wie in Fig. 6C gezeigt ist. Als
Ergebnis wird kein Störsignal erzeugt, wie in Fig. 6D gezeigt ist, und es tritt ebenfalls
keine Buskollision auf.
Es ist anzumerken, daß in einem solchen Fall der Energieverbrauch allgemein durch
Gleichung (1) wiedergegeben wird. In dem vorliegenden Ausführungsbeispiel bedeutet
das, daß der Term Σ(dQ/dt) gleich 0 gesetzt werden kann.
P = PCK + PD + PDC + Σ(dQ/dt)V (1)
wobei PCK der Energieverbrauch der Taktsignalleitung ist,
PD der Energieverbrauch der Datenleitung ist,
PDC der Energieverbrauch durch einen DC-Durchgangsstrom ist, und
Σ(dQ/dt) der Energieverbrauch durch dynamische Störsignale ist.
PD der Energieverbrauch der Datenleitung ist,
PDC der Energieverbrauch durch einen DC-Durchgangsstrom ist, und
Σ(dQ/dt) der Energieverbrauch durch dynamische Störsignale ist.
Auf diese Weise übernimmt die Bewegungsdetektionsvorrichtung 30 des ersten
Ausführungsbeispieles, wenn sie Daten aus der Registerdatei kontinuierlich ausliest, eine
Gray-Code-Adresse als Leseadresse, kann somit die Anzahl von Ein-/Aus-Betriebsschritten
des Speichers in bezug auf den Ausgangsbus der Registerdatei verringern und hierdurch
den Energieverbrauch senken.
Als Ergebnis kann beispielsweise in einem Fall, in dem eine MPEG-Decodierung in einen
LSI eingebaut wird, eine Bildverarbeitungsvorrichtung bereitgestellt werden, die
vorzuziehen ist, wenn ein FIFO mit einer besonders hohen Geschwindigkeit erforderlich
ist.
Es ist anzumerken, daß das erste Ausführungsbeispiel auf verschiedene Arten modifiziert
werden kann.
Zum Beispiel übernimmt der Suchfensterspeicher 32 der Bewegungsdetektionsvorrichtung
30 des vorliegenden Ausführungsbeispieles eine Gray-Code-Adresse sowohl für den
Schreibadressendecodierer 51 beim Schreiben von Daten in bezug auf die
Zelleneinheitenanordnung 53 als auch den Leseadressencodierer 55 zum Lesen der Daten.
Es ist jedoch ebenso möglich, einen Aufbau zu verwenden, bei dem das nur für den
Leseadressendecodierer 55 verwendet ist. Insbesondere kann der
Schreibadressendecodierer 51 den Zugriff mittels dem üblichen binären Code durchführen.
Es ist anzumerken, daß in diesem Fall zwei Adressierungen der Schreibadresse und der
Leseadresse in bezug auf jede Speicherzelleneinheit 52 der Zelleneinheitenanordnung 53
ausgeführt wird. Jedoch ist ein derartiger Aufbau möglich, wenn die Verwendung eines
binären Codes gewünscht wird.
Weiterhin sind in dem vorliegenden Ausführungsbeispiel der Speicher 31 für den
gegenwärtigen Block und der Suchfensterspeicher 32 so aufgebaut, als wären sie zwei
unterschiedliche Bildspeicher, aber es ist ebenso möglich, sie als im wesentlichen die
gleiche Speichereinrichtung aufzubauen.
Weiterhin wird in dem vorliegenden Ausführungsbeispiel ein Block aus mehreren
Kandidatenblöcken unter Verwendung des Gesamtwertes aller Bildpunkte von
Unterschieden der Bildpunktdaten als Auswertungswert des Kandidatenblockes ausgewählt,
aber es ist beispielsweise ebenso möglich, den Quadratwert des Unterschiedes für jeden
Bildpunkt zu bestimmen, ihn für alle Bildpunkte aufzuaddieren und diesen als den
Auswertungswert des Kandidatenblockes zu verwenden. In diesem Fall wird die
Betriebseinheit 33 jedes Prozessorelementes der Prozessorelementanordnung 63 eine
Quadratberechnung durchführen. Natürlich kann der Aufbau jedes Prozessorelementes
ebenfalls ein derartiger Aufbau sein und ist nicht auf den Aufbau des in Fig. 5 gezeigten
vorliegenden Ausführungsbeispieles beschränkt.
Gemäß der Bildverarbeitungsvorrichtung der vorliegenden Erfindung, wie sie unter Bezug
auf die Bewegungsdetektionsvorrichtung des ersten Ausführungsbeispieles erläutert wurde,
kann, wenn Bilddaten unter Verwendung einer Registerdatei sukzessive abgetastet werden,
ihr Energieverbrauch gesenkt werden.
Als nächstes wird eine Bewegungsdetektionseinrichtung eines zweiten
Ausführungsbeispieles der vorliegenden Erfindung unter Bezug auf die Fig. 7 und 8
erläutert.
Die Bewegungsdetektionsvorrichtung 30 des ersten Ausführungsbeispieles verwendet einen
Gray-Code für die Adressen beim Abtasten des Bildes, um Buskollisionen und ein
Anwachsen des Energieverbrauches zu vermeiden. Da die Ein-/Ausschaltschritte der
Datenleitung durch sukzessives Verschieben der gegenwärtigen Blöcke der Bilddaten
kontinuierlich wiederholt werden, wird ein Anwachsen des Energieverbrauches nicht
vermieden.
In dem weiten Ausführungsbeispiel wird eine Bewegungsdetektionsvorrichtung erläutert,
bei der die Wiederholung der Ein-/Ausschaltschritte der Datenleitung vermieden werden.
Fig. 7 ist ein Blockdiagramm des Aufbaus dieser Bewegungsdetektionsvorrichtung 70.
Die Bewegungsdetektionsvorrichtung 70 hat einen Speicher 71 für einen gegenwärtigen
Block, ein Register 72, eine Barrelverschiebevorrichtung 73, eine Suchfensterspeicher 74,
eine Prozessorelementanordnung 75, eine Addiereinheit 76 und eine Vergleichseinheit 77.
Zuerst werden der Aufbau und die Funktionen der Einheiten der
Bewegungsdetektionsvorrichtung 70 erläutert.
Der Speicher 71 für den gegenwärtigen Block ist ein Speicher, dem die von der
Bewegungsvektordetektion erfaßten gegenwärtigen Blöcke, die durch Teilen der
gegenwärtigen Bilddaten in Blöcke von 16 Bildpunkten × 16 Zeilen erhalten werden,
sukzessive eingegeben.
Das Register 72 ist ein Register zum Speichern des gegenwärtigen Blockes. In dem
vorliegenden Ausführungsbeispiel besteht jedes Stück der Bilddaten aus 8-Bit-Daten. Somit
hat das Register 72 eine Kapazität von 8 Bits × 256 Worten. Weiterhin ist jedes Wort des
Registers 72 so aufgebaut, daß es der weiter unten erläuterten Barrelverschiebevorrichtung
73 parallel ausgegeben werden kann.
Die Barrelverschiebevorrichtung 73 bewirkt, daß die an den 256 Eingangsanschlüssen
eingegebenen Daten exakt um die vorbestimmte Anzahl von eingegebenen Verschiebungen
verschoben werden, und gibt diese an den 256 Ausgangsanschlüssen aus. Die Anzahl von
Verschiebungen wird durch ein Steuersignal angegeben, das von einer nicht gezeigten
Steuereinheit der Bewegungsdetektionsvorrichtung 70 eingegeben wird. Weiterhin werden
die 256 Stücke der Ausgabedaten den Prozessorelementen der Prozessorelementanordnung
75 ausgegeben.
Der Suchfensterspeicher 74 ist eine Registerdatei zum gleichzeitigen Aufzeichnen der
Bilddaten des vorbestimmten Suchbereiches in der Nachbarschaft des gegenwärtigen
Blockes des Bildes einen Rahmen vor dem gegenwärtigen Bild. In dem vorliegenden
Ausführungsbeispiel ist dieser Suchbereich ein Bereich von ± 32 Bildpunkten in der
horizontalen Richtung des gegenwärtigen Blockes und von ± 16 Zeilen in der vertikalen
Richtung. Insbesondere werden die Referenzbilddaten in dem in Fig. 1 gezeigten Bereich,
wenn N = M = 16 ist, in dem Suchfensterspeicher 74 gespeichert.
Weiterhin wird eine Datenleseadresse von einer nicht gezeigten Steuereinheit der
Bewegungsdetektionsvorrichtung 70 dem Suchfensterspeicher 74 eingegeben und die Daten
werden durch den Adressendecodierer in dem Suchfensterspeicher 74 ausgelesen. Als diese
Lesedaten werden alle 16 Bildpunkte × 16 Zeilen Blöcke, die die gleichen wie der
gegenwärtige Block sind, welche den in dem Suchfensterspeicher 74 aufgezeichneten
Bilddaten entnommen werden können, ausgegeben. Insbesondere werden zuerst die
Kandidatenblöcke von 16 Bildpunkten × 16 Zeilen jeweils um einen Bildpunkt verschoben
sukzessive von der oberen linken Position des Bildes des Suchbereiches entnommen. Wenn
der Block rechts oben entnommen ist, werden die Kandidatenblöcke als nächstes in
ähnlicher Weise von links nach rechts unter Verschiebung des Bereiches um eine Zeile
nach unten entnommen.
Die 256 Teile der Daten des gekennzeichneten Kandidatenblockes werden aus dem
Suchfensterspeicher 74 parallel ausgegeben und den Prozessorelementen der
Prozessorelementanordnung 75 ausgegeben.
Die Prozessorelementanordnung 75 bestimmt den Unterschied zwischen entsprechenden
Bildpunkten der Bildpunktdaten des gegenwärtigen Blockes, die von dem Speicher 73 für
den gegenwärtigen Block eingegeben werden, und der Bildpunktdaten der
Kandidatenblöcke, die von dem Suchfensterspeicher 74 eingegeben und gibt ihn den
Addiereinheiten 74 aus.
Die Prozessorelementanordnung 75 hat 256 Prozessorelemente 75 -1 bis 75 -256, die
dergestalt verbunden sind, daß sie Eingangsdaten von einem Ausgangsanschluß von jeder
der Barrelverschiebevorrichtungen 73 und einem Ausgangsanschluß des
Suchfensterspeichers 74 empfangen und den Unterschied zwischen entsprechenden
Bildpunkten in den Prozessorelementen 75 -i (i = 1 bis 256) bestimmen.
Die Prozessorelemente 75 -i (i = 1 bis 256) sind, wie in Fig. 8 gezeigt ist, so aufgebaut,
daß sie nur eine Betriebseinheit 81 zum Erhalten des Unterschiedes der zwei eingegebenen
Bildpunktdaten aufweisen.
Die Addiereinheit 76 berechnet die Gesamtheit der Unterschiede der Bildpunkte, die von
den 256 Prozessorelementen 75 -i bis 75 -256 der Prozessorelementanordnung 75 ausgegeben
werden, und gibt sie der Vergleichseinrichtung 77 aus.
Die Vergleichseinheit 77 vergleicht sukzessive die kumulativen Werte der Unterschiede,
die für jeden Kandidatenblock in der Prozessorelementanordnung 75 und der Addiereinheit
76 sukzessive berechnet worden, detektiert den geringsten Wert und entnimmt gleichzeitig
den Kandidatenblock.
Die nicht gezeigte Steuereinheit der Bewegungsdetektionsvorrichtung 70 detektiert den
Kandidatenvektor auf der Basis des Kandidatenblockes, der den geringsten von der
Vergleichseinheit 77 entnommenen kumulativen Wert der Unterschiede ergibt und gibt
diesen einer Variabellängen-Codiereinheit 16 der oben erwähnten
Bewegtbild-Codiervorrichtung 10 aus.
Als nächstes wird die Betriebsweise der Bewegungsdetektionsvorrichtung 70 erläutert.
Zuerst werden der von der Bewegungsdetektion erfaßte gegenwärtige Block und die
Bilddaten einem Suchbereich des Referenzbildes, das auf der Basis des gegenwärtigen
Blockes bestimmt wird, in dem Speicher 71 für den gegenwärtigen Block und dem
Suchfensterspeicher 74 gespeichert.
Zuerst wird ein erster Kandidatenblock aus den in dem Suchfensterspeicher 74
gespeicherten Bilddaten entnommen. Die 256 Stücke der Bilddaten werden den 256
Prozessorelementen 75 -1 bis 75 -256 der Prozessorelementanordnung eingegeben.
Andererseits werden die Daten des gegenwärtigen Blockes, die in dem Speicher 71 des
gegenwärtigen Blockes gespeichert sind, dem Register 72 eingegeben und durch die
Barrelverschiebevorrichtung 73 den 256 Prozessorelementen 75 -1 bis 75 -256 der
Prozessorelementanordnung 75 eingegeben. Dabei bewirkt die Barrelverschiebevorrichtung
73 ein Verschieben dergestalt, daß die Bildpunkte des gegenwärtigen Blockes dem gleichen
Prozessorelement 75 -I (I = 1 bis 256) als das entsprechende Element des
Kandidatenblockes eingegeben werden.
In diesem Zustand berechnen die Prozessorelementen 75 -1 bis 75 -256 den Unterschied
zwischen Bildpunkten, berechnen die Gesamtheit in der Addiereinrichtung 76 und
speichern das Ergebnis in der Vergleichseinheit 77.
Als nächstes wird der nächste Kandidatenblock verarbeitet. Die von dem
Suchfensterspeicher 74 eingegebenen Bilddaten werden in bezug auf den vorherigen
Kandidatenblock um eine Zeile von Bilddaten verschoben und werden zu neuen Bilddaten.
Die verbleibenden 15 Zeilen von Bilddaten sind die gleichen wie die Bilddaten des
vorherigen Kandidatenblockes. Somit ändert der Suchfensterspeicher 74 die eine Zeile der
Daten aus 16 Bildpunkten und gibt die Bilddaten des Kandidatenblockes den
Prozessorelementen 75 ein. Dabei wird die Verschiebungsgröße der
Barrelverschiebevorrichtung für den gegenwärtigen Bildpunkt verändert und der
entsprechende Bildpunkt des gegenwärtigen Blockes wird dem gleichen Prozessorelement
75 -I für alle Bildpunktdaten des neuen Kandidatenblockes eingegeben.
Wenn die entsprechenden Bildpunktdaten jedem der Prozessorelemente 75 einmal
eingegeben sind, berechnen die Prozessorelemente 75 -1 bis 75 -256 den Unterschied zwischen
den Bildpunkten, berechnen die Gesamtheit in der Addiereinheit 76 und vergleichen den
kumulativen Wert des Unterschiedes, der bereits gespeichert ist, mit der Gesamtheit in der
Vergleichseinheit 77, um den minimalen kumulativen Wert des Unterschiedes zu
detektieren.
Auf diese Weise wird, wenn der kumulative Wert des Unterschiedes für alle
Kandidatenblöcke einmal detektiert ist, der Kandidatenvektor für den gegenwärtigen Block
auf der Basis des Kandidatenblockes bestimmt, der den geringsten kumulativen Wert des
Unterschiedes ergibt, der zu diesem Zeitpunkt in der Vergleichseinheit 77 gespeichert ist.
Auf diese Weise verwendet die Bewegungsdetektionsvorrichtung 70 des zweiten
Ausführungsbeispieles die Barrelverschiebevorrichtung, um das Schieberegister zu
ersetzen. Das heißt, es wird möglich, die gewünschten Daten dem gewünschten
Prozessorelement lediglich durch ein Umschalten der Steuerung einzugeben und somit
wird in der Praxis eine Datenverschiebung unnötig. Somit ist es möglich, den
Energieverbrauch der Bewegungsdetektionsvorrichtung 70 zu verringern.
Weiterhin kann der Aufbau der Prozessorelemente der Prozessorelementvorrichtung 75
wesentlich einfacher gestaltet werden.
Als Ergebnis ist es beispielsweise möglich, eine Bewegungsdetektionsvorrichtung, wie
z. B. die in Fig. 2 gezeigte Bewegtbild-Codiervorrichtung 10, bereitzustellen, die zum
Anordnen eines MPEG-Codierers auf einem LSI vorzuziehen ist.
Es ist anzumerken, daß auch das zweite Ausführungsbeispiel auf verschiedene Arten
modifiziert werden kann. Zum Beispiel sind in dem vorliegenden Ausführungsbeispiel der
Speicher 71 für den gegenwärtigen Block und der Suchfensterspeicher 74 durch getrennte
Bildspeicher aufgebaut, aber sie können auch als eine Speichereinrichtung aufgebaut sein.
Weiterhin wird in dem vorliegenden Ausführungsbeispiel ein Block aus mehreren
Kandidatenblöcken unter Verwendung des Gesamtwertes aller Bildpunkte der Unterschiede
der Bildpunktdaten als Auswertungswert des Kandidatenblockes ausgewählt, aber es ist
beispielsweise ebenso möglich, den Quadratwert des Unterschiedes für jeden Bildpunkt
herauszufinden, ihn für alle Bildpunkte aufzuaddieren und das Ergebnis als den
Auswertungswert des Kandidatenblockes zu verwenden. In diesem Fall sind die
Prozessorelemente 75 -I (I = 1 bis 256) der Prozessorelementanordnung 75 mit
Quadratberechnungsvorrichtungen ausgestattet. Natürlich kann der Aufbau jedes
Prozessorelementes auch ein derartiger Aufbau sein und ist nicht auf den Aufbau des in
Fig. 8 gezeigten Ausführungsbeispieles beschränkt.
Weiterhin kann, wenn die 256 Bildpunkte eines Blockes parallel aufsummiert wurden, um
in dem vorliegenden Ausführungsbeispiel den Unterschied zu finden, dieses Verfahren
auch zum Durchführen einer Verarbeitung zum sukzessiven Bestimmen des Unterschiedes
für jeweils 8 Bildpunkte, 16 Bildpunkte und 64 Bildpunkte und zum sukzessiven Ermitteln
der Gesamtheit angepaßt werden.
Der Aufbau des Inneren der Addiereinheit 76 und der Vergleichseinheit 77 kann ebenso
irgendein Aufbau sein.
Wie oben unter Bezug auf die Bewegungsdetektionsvorrichtung des zweiten
Ausführungsbeispieles erläutert wurde, ist es gemäß der Bildverarbeitungsvorrichtung der
vorliegenden Erfindung möglich, eine Bewegungsdetektionsvorrichtung mit einem
einfachen Schaltungsaufbau bereitzustellen, und folglich eine Bildcodiervorrichtung zu
realisieren, die für LSIs besser geeignet ist.
Claims (11)
1. Bildverarbeitungsvorrichtung, die sukzessive Bilddaten abtastet, um eine vorbestimmte
Verarbeitung durchzuführen,
gekennzeichnet durch
mehrere Speichereinrichtungen (52), denen jeweils eine Adresse zugeordnet ist, wobei die mehreren Speichereinrichtungen (52) jeweils die Bilddaten in vorbestimmten Einheiten speichern, und sukzessive kontinuierliche vorbestimmte Einheiten von Bilddaten in den Speichereinrichtungen (52) in Adressen speichern, die sich nur um ein Bit unterscheiden, mehrere Ausgangs-Steueranschlußeinrichtungen (54), die entsprechend den mehreren Speichereinrichtungen (52) vorgesehen sind, um in den Speichereinrichtungen (52) gespeicherte Inhalte nur dann auszugeben, wenn ein Auswahlsignal der Speichereinrichtungen (52) angelegt wird,
eine Adressenerzeugungseinrichtung (51) zum sukzessiven Erzeugen von Adressen, die sich jeweils um ein Bit unterscheiden, bei denen die kontinuierlichen mehreren Einheiten von Bilddaten gespeichert werden,
eine Decodiereinrichtung (55) zum Decodieren der erzeugten Adressen, um ein Auswahlsignal zum Auswählen einer der mehreren Speichereinrichtungen (52) zu erzeugen und es der Ausgangs-Steueranschlußeinrichtung zuzuführen, die in der Speichereinrichtung vorgesehen ist, und
eine Bildverarbeitungseinrichtung (33) zum Durchführen einer vorbestimmten Verarbeitung unter Verwendung der Bilddaten, die über die mehreren Ausgangs- Steueranschlußeinrichtungen sukzessive ausgegeben werden.
gekennzeichnet durch
mehrere Speichereinrichtungen (52), denen jeweils eine Adresse zugeordnet ist, wobei die mehreren Speichereinrichtungen (52) jeweils die Bilddaten in vorbestimmten Einheiten speichern, und sukzessive kontinuierliche vorbestimmte Einheiten von Bilddaten in den Speichereinrichtungen (52) in Adressen speichern, die sich nur um ein Bit unterscheiden, mehrere Ausgangs-Steueranschlußeinrichtungen (54), die entsprechend den mehreren Speichereinrichtungen (52) vorgesehen sind, um in den Speichereinrichtungen (52) gespeicherte Inhalte nur dann auszugeben, wenn ein Auswahlsignal der Speichereinrichtungen (52) angelegt wird,
eine Adressenerzeugungseinrichtung (51) zum sukzessiven Erzeugen von Adressen, die sich jeweils um ein Bit unterscheiden, bei denen die kontinuierlichen mehreren Einheiten von Bilddaten gespeichert werden,
eine Decodiereinrichtung (55) zum Decodieren der erzeugten Adressen, um ein Auswahlsignal zum Auswählen einer der mehreren Speichereinrichtungen (52) zu erzeugen und es der Ausgangs-Steueranschlußeinrichtung zuzuführen, die in der Speichereinrichtung vorgesehen ist, und
eine Bildverarbeitungseinrichtung (33) zum Durchführen einer vorbestimmten Verarbeitung unter Verwendung der Bilddaten, die über die mehreren Ausgangs- Steueranschlußeinrichtungen sukzessive ausgegeben werden.
2. Bildverarbeitungsvorrichtung gemäß Anspruch 1,
gekennzeichnet durch
eine Bilddaten-Schreibeeinrichtung zum Speichern der eingegeben Bilddaten in den
mehreren Speichereinrichtungen (52) dergestalt, daß die kontinuierlichen mehreren
Einheiten von Bilddaten in den Speichereinrichtungen (52) mit Adressen gespeichert
werden, die sich nur um ein Bit unterscheiden.
3. Bildverarbeitungsvorrichtung gemäß Anspruch 1 oder 2,
dadurch gekennzeichnet,
daß die Einrichtungen als integrierte Schaltung ausgeführt sind, und die mehreren
Speichereinrichtungen (52), die mehreren Ausgangs-Steueranschlußeinrichtungen (54), die
entsprechend den mehreren Speichereinrichtungen (52) vorgesehen sind, und die
Decodiereinrichtung (55) zum Zuführen des Auswahlsignales zu den Ausgangs-
Steueranschlußeinrichtungen (54) auf der Basis der Adressen als Registerdateieinrichtungen
aufgebaut sind.
4. Bildverarbeitungsvorrichtung gemäß einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß jede der Speichereinrichtungen (52) der mehreren Speichereinrichtungen (52) jeweils
Bilddaten in Bildpunkteinheiten der Bilddaten speichert.
5. Bildverarbeitungsvorrichtung gemaß einem der vorhergehenden Ansprüche
dadurch gekennzeichnet,
daß die mehreren Speichereinrichtungen (52) zumindest Bilddaten innerhalb eines
vorbestimmten Bewegungssuchbereiches eines Referenzbildes speichern, um eine
Bewegungsdetektion durchzuführen,
die Adressenerzeugungseinrichtung (51) Adressen dergestalt erzeugt, daß mehrere Kandidatenblöcke von Bilddaten, die den gespeicherten Bilddaten innerhalb des vorbestimmten Bewegungssuchbereiches entnommen werden, sukzessive ausgegeben werden, und
die Bildverarbeitungseinrichtung (33) einen bestimmten Auswertungswert auf der Basis eines differentiellen Wertes entsprechender Bildpunkte zwischen den mehreren Kandidatenblöcken der Bilddaten, die auf der Basis der erzeugten Adressen sukzessive ausgegeben werden, und der Bildblöcke der Bilddaten, die von der Bewegungsdetektion erfaßt werden, für jeden Kandidatenblock entnimmt, den Kandidatenblock, der dem Bildblock der von der Bewegungsdetektion erfaßten Bilddaten entspricht, auf der Basis des Auswertungswertes entnimmt, und einen Bewegungsvektor auf der Basis des entnommenen Kandidatenblockes detektiert.
die Adressenerzeugungseinrichtung (51) Adressen dergestalt erzeugt, daß mehrere Kandidatenblöcke von Bilddaten, die den gespeicherten Bilddaten innerhalb des vorbestimmten Bewegungssuchbereiches entnommen werden, sukzessive ausgegeben werden, und
die Bildverarbeitungseinrichtung (33) einen bestimmten Auswertungswert auf der Basis eines differentiellen Wertes entsprechender Bildpunkte zwischen den mehreren Kandidatenblöcken der Bilddaten, die auf der Basis der erzeugten Adressen sukzessive ausgegeben werden, und der Bildblöcke der Bilddaten, die von der Bewegungsdetektion erfaßt werden, für jeden Kandidatenblock entnimmt, den Kandidatenblock, der dem Bildblock der von der Bewegungsdetektion erfaßten Bilddaten entspricht, auf der Basis des Auswertungswertes entnimmt, und einen Bewegungsvektor auf der Basis des entnommenen Kandidatenblockes detektiert.
6. Bildverarbeitungsvorrichtung,
dadurch gekennzeichnet,
daß sie einen gegenwärtigen Bildblock, der durch Unterteilen der von der Bewegungs detektion erfaßten Bildpunkte erhalten wird, und jeden von mehreren Kandidatenbild blöcken vergleicht, die aus einem vorbestimmten Bereich eines Referenzbildes entnommen werden, einen dem gegenwärtigen Bildblock entsprechenden Bildblock detektiert und auf der Basis des Bildblockes einen Bewegungsvektor detektiert, mit
einer Speichereinrichtung (71) für ein gegenwärtiges Bild zum Speichern einer Anzahl von n Bildpunktdaten eines gegenwärtigen Bildblockes in einer vorbestimmten Reihenfolge,
einer Schiebeeinrichtung zum Verschieben der gespeicherten Anzahl von n Bildpunktdaten um eine gewünschte Zahl und zum Ausgeben von ihnen in einem verschobenen Zustand an eine Anzahl von n Ausgabeeinrichtungen,
einer Referenzbild-Speichereinrichtung (74) zum Speichern zumindest der Bilddaten des vorbestimmten Bereiches eines Referenzbildes,
einer Kandidatenbildblock-Eingabeeinrichtung zum sukzessiven Entnehmen eines Kandidatenbildblockes aus den gespeicherten Bilddaten des Referenzbildes und zum Eingeben der Anzahl von n Bilddaten des Kandidatenbildblockes durch eine Anzahl von n Eingabeeinrichtungen,
einer Anzahl von n Betriebseinrichtungen (75), die entsprechend der Anzahl von n Ausgabeeinrichtungen der Schiebeeinrichtung (73) und der Anzahl von n Eingabeeinrichtungen der Kandidatenbildblock-Eingabeeinrichtung vorgesehen sind, und
die einen vorbestimmten Auswertungswert berechnen, der eine Differenz der Bildpunktdaten auf der Basis eines Bildpunktdatenpaketes des gegenwärtigen Bildblockes und eines Bildpunktdatenpaketes des Kandidatenbildblockes anzeigt,
einer Kumulativ-Addiereinrichtung zum kumulativen Addieren der berechneten Auswertungswerte für alle Bildpunktdaten für alle Bildpunkte des Bildblockes, um den Auswertungswert für den Kandidatenbildblock zu berechnen, und
einer Bildblock-Bestimmungseinrichtung (77) zum Bestimmen eines Bildblockes zum Detektieren eines Bewegungsvektors auf der Basis des berechneten Auswertungswertes für den Kandidatenbildblock.
dadurch gekennzeichnet,
daß sie einen gegenwärtigen Bildblock, der durch Unterteilen der von der Bewegungs detektion erfaßten Bildpunkte erhalten wird, und jeden von mehreren Kandidatenbild blöcken vergleicht, die aus einem vorbestimmten Bereich eines Referenzbildes entnommen werden, einen dem gegenwärtigen Bildblock entsprechenden Bildblock detektiert und auf der Basis des Bildblockes einen Bewegungsvektor detektiert, mit
einer Speichereinrichtung (71) für ein gegenwärtiges Bild zum Speichern einer Anzahl von n Bildpunktdaten eines gegenwärtigen Bildblockes in einer vorbestimmten Reihenfolge,
einer Schiebeeinrichtung zum Verschieben der gespeicherten Anzahl von n Bildpunktdaten um eine gewünschte Zahl und zum Ausgeben von ihnen in einem verschobenen Zustand an eine Anzahl von n Ausgabeeinrichtungen,
einer Referenzbild-Speichereinrichtung (74) zum Speichern zumindest der Bilddaten des vorbestimmten Bereiches eines Referenzbildes,
einer Kandidatenbildblock-Eingabeeinrichtung zum sukzessiven Entnehmen eines Kandidatenbildblockes aus den gespeicherten Bilddaten des Referenzbildes und zum Eingeben der Anzahl von n Bilddaten des Kandidatenbildblockes durch eine Anzahl von n Eingabeeinrichtungen,
einer Anzahl von n Betriebseinrichtungen (75), die entsprechend der Anzahl von n Ausgabeeinrichtungen der Schiebeeinrichtung (73) und der Anzahl von n Eingabeeinrichtungen der Kandidatenbildblock-Eingabeeinrichtung vorgesehen sind, und
die einen vorbestimmten Auswertungswert berechnen, der eine Differenz der Bildpunktdaten auf der Basis eines Bildpunktdatenpaketes des gegenwärtigen Bildblockes und eines Bildpunktdatenpaketes des Kandidatenbildblockes anzeigt,
einer Kumulativ-Addiereinrichtung zum kumulativen Addieren der berechneten Auswertungswerte für alle Bildpunktdaten für alle Bildpunkte des Bildblockes, um den Auswertungswert für den Kandidatenbildblock zu berechnen, und
einer Bildblock-Bestimmungseinrichtung (77) zum Bestimmen eines Bildblockes zum Detektieren eines Bewegungsvektors auf der Basis des berechneten Auswertungswertes für den Kandidatenbildblock.
7. Bildverarbeitungsvorrichtung gemäß Anspruch 6,
dadurch gekennzeichnet,
daß jeder der mehreren Kandidatenbildblöcke ein Bildblock ist, der durch leichtes Verschieben des erfaßten Bereiches entnommen wird, so daß nahe Kandidatenbildblöcke miteinander gemeinsame Bildpunkte in den Bildpunkten in dem vorbestimmten Bereich des Referenzbildes haben,
die Kandidatenbildblock-Eingabeeinrichtung sukzessive einen Teil der Bilddaten in der Anzahl von n Bilddaten ändert, um sukzessive mehrere Kandidatenbildblöcke einzugeben, und
die Schiebeeinrichtung (73) die Größe der Verschiebung in bezug auf die sukzessive eingegebenen Kandidatenbildblöcke ändert, so daß die entsprechenden Bildpunktdaten des Kandidatenbildblockes und des gegenwärtigen Bildblockes der gleichen Betriebseinrichtung (75) eingegeben werden.
daß jeder der mehreren Kandidatenbildblöcke ein Bildblock ist, der durch leichtes Verschieben des erfaßten Bereiches entnommen wird, so daß nahe Kandidatenbildblöcke miteinander gemeinsame Bildpunkte in den Bildpunkten in dem vorbestimmten Bereich des Referenzbildes haben,
die Kandidatenbildblock-Eingabeeinrichtung sukzessive einen Teil der Bilddaten in der Anzahl von n Bilddaten ändert, um sukzessive mehrere Kandidatenbildblöcke einzugeben, und
die Schiebeeinrichtung (73) die Größe der Verschiebung in bezug auf die sukzessive eingegebenen Kandidatenbildblöcke ändert, so daß die entsprechenden Bildpunktdaten des Kandidatenbildblockes und des gegenwärtigen Bildblockes der gleichen Betriebseinrichtung (75) eingegeben werden.
8. Bildverarbeitungsvorrichtung gemäß Anspruch 7 oder 8,
dadurch gekennzeichnet,
daß der gegenwärtige Bildblock und die Kandidatenbildblöcke Bildblöcke mit einer Anzahl
von n Bildpunkten sind,
die Speichereinrichtung (71) für das gegenwärtige Bild alle Bildpunktdaten des gegenwärtigen Bildblockes speichert,
die Schiebeeinrichtung (73) alle Bildpunktdaten des gegenwärtigen Bildblockes um eine vorbestimmte Zahl verschiebt und sie an einer Anzahl von n Ausgabeeinrichtungen ausgibt,
die Kandidatenbildblock-Eingabeeinrichtung alle Bildpunktdaten des Kandidatenbildblockes an einer Anzahl von n Eingabeeinrichtungen eingibt,
eine Anzahl von n Betriebseinrichtungen (75) entsprechend allen Bildpunkten der Bildblöcke vorgesehen ist und alle gemeinsam die vorbestimmten Auswertungswerte, die die Differenz zwischen Bildpunkten zeigen, für alle Bildpunkte der Bildblöcke berechnen,
die Kumulativ-Addiereinrichtung (76) kumulativ alle gemeinsam berechneten Auswertungswerte für alle Bildpunkte des Bildblockes addiert.
die Speichereinrichtung (71) für das gegenwärtige Bild alle Bildpunktdaten des gegenwärtigen Bildblockes speichert,
die Schiebeeinrichtung (73) alle Bildpunktdaten des gegenwärtigen Bildblockes um eine vorbestimmte Zahl verschiebt und sie an einer Anzahl von n Ausgabeeinrichtungen ausgibt,
die Kandidatenbildblock-Eingabeeinrichtung alle Bildpunktdaten des Kandidatenbildblockes an einer Anzahl von n Eingabeeinrichtungen eingibt,
eine Anzahl von n Betriebseinrichtungen (75) entsprechend allen Bildpunkten der Bildblöcke vorgesehen ist und alle gemeinsam die vorbestimmten Auswertungswerte, die die Differenz zwischen Bildpunkten zeigen, für alle Bildpunkte der Bildblöcke berechnen,
die Kumulativ-Addiereinrichtung (76) kumulativ alle gemeinsam berechneten Auswertungswerte für alle Bildpunkte des Bildblockes addiert.
9. Bildverarbeitungsvorrichtung gemäß Anspruch 8,
dadurch gekennzeichnet,
daß jede der Anzahl von n Betriebseinrichtungen (75) die Differenz zwischen einem Bildpunktwert eines eingegebenen gegenwärtigen Bildblockes und einem Bildpunktwert eines Kandidatenbildblockes als ein Auswertungswert berechnet, der die Differenz der Bilddaten zeigt, und
die Kumulativ-Addiereinrichtung (76) kumulativ die berechneten Differenzen der Bildpunktwerte für alle Bildpunkte des Bildblockes addiert, um einen Auswertungswert für den Kandidatenbildblock zu berechnen.
daß jede der Anzahl von n Betriebseinrichtungen (75) die Differenz zwischen einem Bildpunktwert eines eingegebenen gegenwärtigen Bildblockes und einem Bildpunktwert eines Kandidatenbildblockes als ein Auswertungswert berechnet, der die Differenz der Bilddaten zeigt, und
die Kumulativ-Addiereinrichtung (76) kumulativ die berechneten Differenzen der Bildpunktwerte für alle Bildpunkte des Bildblockes addiert, um einen Auswertungswert für den Kandidatenbildblock zu berechnen.
10. Bildverarbeitungsvorrichtung gemäß Anspruch 9,
dadurch gekennzeichnet,
daß jede der Anzahl von n Betriebseinrichtungen (75) die Differenz zwischen einem Bildpunktwert eines gegenwärtigen Bildblockes und einem Bildpunktwert eines Kandidatenblockes quadriert, um einen Auswertungswert zu berechnen, der eine Differenz der Bilddaten zeigt, und
die Kumulativ-Addiereinrichtung (76) die berechneten Quadratwerte der Differenzen der Bildpunktwerte kumulativ addiert, um den Auswertungswert für den Kandidatenbildblock zu berechnen.
daß jede der Anzahl von n Betriebseinrichtungen (75) die Differenz zwischen einem Bildpunktwert eines gegenwärtigen Bildblockes und einem Bildpunktwert eines Kandidatenblockes quadriert, um einen Auswertungswert zu berechnen, der eine Differenz der Bilddaten zeigt, und
die Kumulativ-Addiereinrichtung (76) die berechneten Quadratwerte der Differenzen der Bildpunktwerte kumulativ addiert, um den Auswertungswert für den Kandidatenbildblock zu berechnen.
11. Bildverarbeitungsvorrichtung gemäß Anspruch 10,
dadurch gekennzeichnet,
daß die Referenzbild-Speichereinrichtung (74) das Referenzbild speichert, so daß die kontinuierlichen Bildpunktdaten in Adressen gespeichert werden, die sich jeweils um ein Bit unterscheiden, und
die Kandidatenbildblock-Eingabeeinrichtung sukzessive auf Adressen zugreift, die sich jeweils um ein Bit unterscheiden, um die kontinuierlichen Bilddaten des Kandidatenbildblockes auszulesen, eine Anzahl von n Bildpunktdaten erhält und diese durch die Anzahl von n Eingabeeinrichtungen der Anzahl von n Betriebseinrichtungen (75) eingibt.
daß die Referenzbild-Speichereinrichtung (74) das Referenzbild speichert, so daß die kontinuierlichen Bildpunktdaten in Adressen gespeichert werden, die sich jeweils um ein Bit unterscheiden, und
die Kandidatenbildblock-Eingabeeinrichtung sukzessive auf Adressen zugreift, die sich jeweils um ein Bit unterscheiden, um die kontinuierlichen Bilddaten des Kandidatenbildblockes auszulesen, eine Anzahl von n Bildpunktdaten erhält und diese durch die Anzahl von n Eingabeeinrichtungen der Anzahl von n Betriebseinrichtungen (75) eingibt.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31989996A JPH10164595A (ja) | 1996-11-29 | 1996-11-29 | 画像処理装置 |
JP31990096A JPH10164596A (ja) | 1996-11-29 | 1996-11-29 | 動き検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19752929A1 true DE19752929A1 (de) | 1998-06-04 |
Family
ID=26569871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19752929A Ceased DE19752929A1 (de) | 1996-11-29 | 1997-11-28 | Bildverarbeitungseinrichtung |
Country Status (3)
Country | Link |
---|---|
US (1) | US6058142A (de) |
DE (1) | DE19752929A1 (de) |
GB (1) | GB2320388B (de) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW361051B (en) * | 1997-01-09 | 1999-06-11 | Matsushita Electric Ind Co Ltd | Motion vector detection apparatus |
JPH11112991A (ja) * | 1997-10-08 | 1999-04-23 | Sharp Corp | 動きベクトル検出装置 |
US6421698B1 (en) * | 1998-11-04 | 2002-07-16 | Teleman Multimedia, Inc. | Multipurpose processor for motion estimation, pixel processing, and general processing |
US6765964B1 (en) | 2000-12-06 | 2004-07-20 | Realnetworks, Inc. | System and method for intracoding video data |
US6696993B2 (en) * | 2001-03-23 | 2004-02-24 | Nokia Corporation | Variable length coding |
WO2002101538A1 (en) * | 2001-06-13 | 2002-12-19 | Teleman Multimedia, Inc. | Multipupose processor for motion estimation, pixel processing, and general processing |
US20040042551A1 (en) * | 2002-09-04 | 2004-03-04 | Tinku Acharya | Motion estimation |
US7266151B2 (en) * | 2002-09-04 | 2007-09-04 | Intel Corporation | Method and system for performing motion estimation using logarithmic search |
US20040057626A1 (en) * | 2002-09-23 | 2004-03-25 | Tinku Acharya | Motion estimation using a context adaptive search |
US7646817B2 (en) * | 2003-03-28 | 2010-01-12 | Microsoft Corporation | Accelerating video decoding using a graphics processing unit |
US20050273559A1 (en) * | 2004-05-19 | 2005-12-08 | Aris Aristodemou | Microprocessor architecture including unified cache debug unit |
EP1978484A1 (de) * | 2007-04-03 | 2008-10-08 | MobilEye Technologies, Ltd. | Zyklischer Bildpuffer |
US9654792B2 (en) | 2009-07-03 | 2017-05-16 | Intel Corporation | Methods and systems for motion vector derivation at a video decoder |
US8917769B2 (en) * | 2009-07-03 | 2014-12-23 | Intel Corporation | Methods and systems to estimate motion based on reconstructed reference frames at a video decoder |
US8462852B2 (en) | 2009-10-20 | 2013-06-11 | Intel Corporation | Methods and apparatus for adaptively choosing a search range for motion estimation |
KR101422422B1 (ko) | 2010-12-21 | 2014-07-23 | 인텔 코오퍼레이션 | Dmvd 처리 향상을 위한 시스템 및 방법 |
WO2012125178A1 (en) * | 2011-03-15 | 2012-09-20 | Intel Corporation | Low memory access motion vector derivation |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8722612D0 (en) * | 1987-09-25 | 1987-11-04 | British Telecomm | Motion estimator |
GB2214751B (en) * | 1988-02-01 | 1992-06-17 | Plessey Co Plc | Video signal coding |
US5430886A (en) * | 1992-06-15 | 1995-07-04 | Furtek; Frederick C. | Method and apparatus for motion estimation |
DE4322343C2 (de) * | 1992-07-06 | 1996-10-02 | Mitsubishi Electric Corp | Mittel zum Erfassen eines Bewegungsvektors und Verfahren zum Bestimmen eines Bewegungsvektors |
EP0702485A3 (de) * | 1994-09-19 | 1997-05-28 | Graphics Communication Lab | Vorrichtung zur Bewegungsschätzung |
US5619268A (en) * | 1995-01-17 | 1997-04-08 | Graphics Communication Laboratories | Motion estimation method and apparatus for calculating a motion vector |
US5715016A (en) * | 1995-04-05 | 1998-02-03 | Graphic Communication Laboratories | Motion estimation method and apparatus for calculating a motion vector |
-
1997
- 1997-11-26 US US08/979,789 patent/US6058142A/en not_active Expired - Fee Related
- 1997-11-26 GB GB9725054A patent/GB2320388B/en not_active Expired - Fee Related
- 1997-11-28 DE DE19752929A patent/DE19752929A1/de not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
GB9725054D0 (en) | 1998-01-28 |
US6058142A (en) | 2000-05-02 |
GB2320388A (en) | 1998-06-17 |
GB2320388B (en) | 1999-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69126804T2 (de) | Kompressionssystem von bewegten Bilddaten | |
DE19752929A1 (de) | Bildverarbeitungseinrichtung | |
DE69720559T2 (de) | Methode zur Bildkodierung mit Kodes variabler Länge | |
DE69816342T2 (de) | Prädiktives Bilddekodierungsverfahren | |
DE69127420T2 (de) | Kodierungsgerät | |
DE69032437T2 (de) | Bewegungseinschätzer | |
DE69333103T2 (de) | Vorrichtung zur Umsetzung von digitalen Daten | |
DE69637335T2 (de) | Bildsignalkodierungsmethode und -vorrichtung | |
DE69213271T2 (de) | Kodierung von Videosignalen | |
DE3751416T2 (de) | Bildcodiersystem zum Ueberwachen einer Informationsmenge durch Bildung eines Histogramms. | |
DE68927082T2 (de) | Verfahren und Vorrichtung für die Bilddatenkomprimierung | |
DE69119468T2 (de) | Kodier- und Dekodiervorrichtung für Daten variabler Länge | |
DE69031638T2 (de) | System zum Übertragen von Bildinformation | |
EP0232417A1 (de) | Verfahren zur korrektur von übertragungsfehlern. | |
DE4442643B4 (de) | Verfahren zum Abschätzen der Bewegung in einem Bewegtbild | |
DE19958553A1 (de) | Verfahren zur Kompression von gescannten Farb- und/oder Graustufendokumenten | |
DE69735968T2 (de) | Vorrichtung und Verfahren zur Bildinformationsumwandlung | |
DE19821727A1 (de) | Vorrichtung und Verfahren zur Codierung mit variabler Länge | |
DE69531364T2 (de) | Verfahren und Vorrichtung zum Bildvergleich | |
EP0661667A1 (de) | Verfahren und Vorrichtung zur Bewegungsschätzung | |
DE69634896T2 (de) | Verfahren und struktur zur bewegungsschätzung unter verwendung von bildelementintensitätswerten mit niedriger präzision | |
DE69026634T2 (de) | Verfahren und System zum Schreiben und Lesen von kodierten Daten | |
DE69912208T2 (de) | Verfahren und Vorrichtung zur Videocodierung mit hoher Effizienz | |
DE3486398T2 (de) | Vektor-Quantisiergerät. | |
DE19738917A1 (de) | Apparat und Verfahren für bidirektionales Abtasten von Videokoeffizienten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8131 | Rejection |