DE19752929A1 - Bildverarbeitungseinrichtung - Google Patents

Bildverarbeitungseinrichtung

Info

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
Application number
DE19752929A
Other languages
English (en)
Inventor
Toshiro Ishikawa
Yukio Yanagida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP31989996A external-priority patent/JPH10164595A/ja
Priority claimed from JP31990096A external-priority patent/JPH10164596A/ja
Application filed by Sony Corp filed Critical Sony Corp
Publication of DE19752929A1 publication Critical patent/DE19752929A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform 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.
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.
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.
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.
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.
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.
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.
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.
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.
DE19752929A 1996-11-29 1997-11-28 Bildverarbeitungseinrichtung Ceased DE19752929A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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