DE10120140C2 - Verfahren zum Zugriff auf Suchbilddaten bei der Bewegungsschätzung - Google Patents

Verfahren zum Zugriff auf Suchbilddaten bei der Bewegungsschätzung

Info

Publication number
DE10120140C2
DE10120140C2 DE10120140A DE10120140A DE10120140C2 DE 10120140 C2 DE10120140 C2 DE 10120140C2 DE 10120140 A DE10120140 A DE 10120140A DE 10120140 A DE10120140 A DE 10120140A DE 10120140 C2 DE10120140 C2 DE 10120140C2
Authority
DE
Germany
Prior art keywords
image
data
search
image pixel
block
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.)
Expired - Fee Related
Application number
DE10120140A
Other languages
English (en)
Other versions
DE10120140A1 (de
Inventor
Richard Hoffer
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.)
Sci Worx GmbH
Original Assignee
Sci Worx GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sci Worx GmbH filed Critical Sci Worx GmbH
Priority to DE10120140A priority Critical patent/DE10120140C2/de
Publication of DE10120140A1 publication Critical patent/DE10120140A1/de
Application granted granted Critical
Publication of DE10120140C2 publication Critical patent/DE10120140C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

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

Description

Die Erfindung betrifft ein Verfahren zum Zugriff auf Suchbilddaten bei der Bewe­ gungsschätzung mit dem Blockmatching-Verfahren, um
  • - Referenzbildblöcke eines aktuellen Bildes mit Kandidatenbildblöcken eines Suchbildes innerhalb eines Suchbereichs miteinander zu vergleichen und ein Ähnlichkeitsmaß zwischen den Bildpixeln der Bildblöcke zu berechnen, und
  • - für jeden Referenzbildblock einen Bewegungsvektor für die Verschiebung eines Referenzbildblocks relativ zu einem Kandidatenbildblock, bei dem das Ähnlichkeitsmaß am geringsten ist, zu bestimmen.
Zur Datenkompression von Bildsequenzen wird die Ähnlichkeit aufeinanderfol­ gender Bilder ausgenutzt, indem von Bild zu Bild nur die Unterschiede zwischen den Bildsequenzen übertragen werden. Hierzu wird die Bewegung von Objekten, z. B. nach dem Blockmatching-Verfahren, geschätzt. Da es relativ aufwendig ist, beliebige Objekte in den Bildern zu identifizieren und deren Bewegungen zu messen, wird im Blockmatching-Verfahren ein aktuelles Bild in Referenzbildblöcke aufgeteilt und ein Referenzbildblock innerhalb eines Suchbereichs mit einer ge­ wissen Schrittweite von Suchposition zu Suchposition verschoben und mit einem vorhergehenden oder nachfolgenden Suchbild verglichen. Die Verschiebung, bei der die größte Ähnlichkeit festgestellt wurde, wird als gesuchte Bewegung inter­ pretiert. Die x- und y-Komponente der Verschiebung wird an einen Empfänger übersandt, dem dadurch mitgeteilt wird, welchen Bildblock er zu dem übertrage­ nen Differenzblock addieren muß, um ein bewegungskompensiertes Bild zu erhal­ ten.
Das Blockmatching-Verfahren ist zum Beispiel in S. Hartwig W. Endemann, Digi­ tale Bildkodierung - Bewegungskompensierte Interframe-DPCM in: Fernseh- und Kinotechnik, 46. Jahrgang Nr. 6/1992, Seiten 416 bis 424 detailliert erläutert.
In Jürgen Buck - Komprimierte Bewegung in: mc, April 1994, Seiten 114 bis 123 ist die Anwendung des Blockmatching-Verfahrens zur Bildkomprimierung nach dem MPEG-Standard "Coding of Moving Picture and associated Audio for Digital Storage Media" ISO/IEC DIS 11172 Beuth-Verlag, Berlin, beschrieben. Hierbei wird ein MPEG-Coder vorgestellt, der einen Baustein zur Bewegungs­ schätzung aufweist. Zur Verarbeitung eines Bildes sind mehrere Prozessoren vor­ gesehen, die jeweils einen horizontalen Streifen des Bildes verarbeiten. Diese Aufteilung des Bildes in sich überlappende Streifen erfolgt zur Bewältigung des zur Bewegungsschätzung erforderlichen hohen Rechenaufwandes.
Ein entsprechendes Blockmatching-Verfahren ist auch in der DE-PS 40 23 449 C2 offenbart.
Die rechenaufwendige Verarbeitung von Bilddaten erfolgt bei der Codierung in Echtzeit. Problematisch ist hierbei die Zeit für den Speicherzugriff und die Adres­ sierung, insbesondere beim Wechsel eines Suchbereiches und beim Berechnen eines Ähnlichkeitsmaßes für einen Referenzbildblock.
Von SGS-Thomson ist ein Prozessor zur Durchführung des Blockmatching- Verfahrens bekannt, der unter der Bezeichnung Sti3220 vertrieben wird. Zur Ver­ ringerung der Speicherzugriffe werden in diesem Prozessor die Bilddaten eines Suchbereiches in einen Pipeline-Speicher geladen und abgearbeitet. Bei einer Verschiebung des Suchbereichs derart, dass sich der vorhergehende und der neue Suchbereich überlappen, werden nur die nicht überlappenden neuen Bildda­ ten des neuen Suchbereichs in den Pipeline-Speicher nachgeladen. Dabei fallen die am Anfang des Pipeline-Speichers anliegenden nicht überlappenden Bilddaten des alten Suchbereiches aus dem Pipeline-Speicher heraus. Auf diese Weise kön­ nen die Bilddaten kontinuierlich nachgeladen werden. Das Problem bei diesem Verfahren ist jedoch, dass die Verschiebung des Suchbereichs nicht immer konti­ nuierlich in eine Richtung erfolgt. Zudem erfordert der Vergleich eines Referenz­ bildblockes mit einem geladenen Suchbereich einen mehrfachen Zugriff auf die in dem Pipeline-Speicher abgelegten Bilddaten.
Aus Norbert Huth, Rennstrecke für Bildschirmpixel, Elektronik 26/1992, Seiten 32 bis 38, ist weiterhin zur Beschleunigung des Speicherzugriffs bei der Bild­ datenverarbeitung bekannt, das sogenannte Mapping, d. h. die Zuordnung der Daten auf bestimmte physikalische Bereiche der Speicherbausteine so zu opti­ mieren, dass aufeinanderfolgende Datenzugriffe innerhalb einer Page eines DRAM-Speichers ausgeführt werden.
In der EP 0 734 175 A1 ist eine Vorrichtung für ein Blockmatching-Verfahren beschrieben, bei dem ein Video-Eingangsdatenstrom in einem Blockformatierer aufgeteilt und mit Bilddaten aus einem Bildrahmenspeicher verglichen werden. Nachteilig sind eine Vielzahl von Blockformatierern erforderlich.
In der DE 43 33 368 A1 ist ein Verfahren zur Aufbereitung von Daten zur Be­ schreibung von Bildbereichen nach dem Block-Matching-Verfahren beschrieben, bei dem aktuelle Bilddaten für einen Referenz-Bildbereich an einer Suchposition innerhalb eines Suchbereichs in einem ersten Speicher und Bilddaten für den Suchbereich in einem zweiten Speicher bereitgestellt werden. Die Daten aus den Speichern werden mehreren Vergleichseinheiten zugeführt, so dass die Ver­ gleichseinheiten in einem Schritt gleichzeitig Vergleichsergebnisse für mehrere Suchpositionen liefern. Der Hardware-Aufwand ist hierfür relativ groß und beim Wechsel des Suchbereichs ist ein vollständiges Nachladen der Speicher erforder­ lich.
In der DE 43 07 936 C2 ist ein Bildprozessor zum Detektieren von Bewegungen für das Blockmatching-Verfahren beschrieben, bei dem drei Bildspeicher nur ei­ nen Teil des Suchbereichs enthalten. Die drei Bildspeicher werden ständig aus einem weiteren Bildspeicher zum Speichern der Bilddaten eines Bildrahmens nachgeladen. Der Hardware-Aufwand und die Datendurchsatzrate ist relativ groß.
In der DE 37 21 074 A1 ist eine Schaltungsanordnung zur Verschiebungsvektor­ suche offenbart, die auf jeweils zwei Speichern für Suchbereichsdaten und Refe­ renzdaten basiert. Beim Wechsel des Suchbereichs müssen die Suchbereichsda­ tenspeicher vollständig nachgeladen werden, was den Datendurchsatz nachteilig erhöht. Zudem ist die Zugriffsgeschwindigkeit für die rechenaufwändige Bewe­ gungsschätzung nicht optimal.
Aufgabe der Erfindung war es, ein verbessertes Verfahren zum Zugriff auf Such­ bilddaten bei der Bewegungsschätzung mit dem Blockmatching-Verfahren zu schaffen.
Die Aufgabe wird erfindungsgemäß durch das Verfahren mit dem Merkmalen des Patentanspruchs 1 gelöst durch:
  • - Abspeichern der Suchbilddaten eines Suchbereichs in drei voneinander un­ abhängige Speicherblöcke, wobei eine ganzzahlige Anzahl von im Suchbild nebeneinander angeordneten Bildpixeln eine Bildpixelgruppe bilden und die im Suchbild nebeneinander angeordneten Bildpixelgruppen alternierend in den drei Speicherblöcken abgelegt werden,
  • - paralleles Auslesen von drei Bildpixelgruppen aus den drei Speicherblöc­ ken,
  • - Permutation der ausgelesenen Bildpixelgruppen derart, dass die Bildpixel­ daten der Bildpixelgruppen in der Reihenfolge entsprechend der Anordnung im Suchbild als Permutationsdatenvektor eines Kandidatenbildblocks auf einem parallelen Datenblock anliegen, und
  • - Auswählen eines Kandidatenbilddatenvektors mit einer ganzzahlingen An­ zahl m von Bildpixeldaten aus dem Permutationsdatenvektor ohne Vertau­ schung der Reihenfolge der Bildpixeldaten, wobei
  • - sich die Anzahl der Bildpixel einer Bildpixelgruppe aus der Formel
    als Integer des Quotienten der Anzahl m der Bildpixeldaten des Kandidatenbilddatenvektors und der um 1 verminderten Anzahl n der voneinander unabhängigen Speicherblöcke berechnet.
Durch die Untersuchung einer Vielzahl von Blockmatching-Verfahren mit unter­ schiedlich großen Referenzbildblöcken, Suchbereichen und Suchstrategien wurde gefunden, dass die Suchbilddaten eines Suchbereichs optimalerweise in drei voneinander unabhängige Speicherblöcke abgespeichert werden. Die Abspeiche­ rung erfolgt dann derart, dass die im Suchbild nebeneinander angeordneten Bild­ pixel zu Bildpixelgruppen zusammengefasst und alternierend in den Speicherblöc­ ken abgelegt werden. Auf diese Bildpixelgruppen kann dann parallel zugegriffen werden. Der Vergleich eines Referenzbildblocks mit einem Kandidatenbildblock eines Suchbildes erfolgt dann für Bilddatenvektoren, die sämtliche Bildpixel der drei ausgelesenen Bildpixelgruppen oder einen Teil davon umfassen. Die drei parallel ausgelesenen Bildpixelgruppen bilden somit ein Fenster, dass jeweils be­ trachtet wird. Für den Vergleich eines Referenzbildblockes wird dieses Fenster dann nacheinander über den jeweils zu vergleichenden Ausschnitt des Suchbildes verschoben. Hierbei erfolgt eine Permutation der ausgelesenen Bildpixelgruppen derart, dass die Bildpixeldaten der Bildpixelgruppen in der korrekten Reihenfolge entsprechend der Anordnung in dem Suchbild auf einem parallelen Datenbus an­ liegen. Die Permutation ist erforderlich, da nicht immer die Bilddaten in den drei Speicherblöcken in der tatsächlichen Bildfolge abgelegt sind. Vielmehr werden bei einer Verschiebung des Suchbereichs, wobei sich der vorhergehende und der neue Suchbereich überlappen, die Bilddaten des nicht überlappenden neuen Suchbereichs in den Speicherbereich der Speicherblöcke nachgeladen, in denen die Bilddaten des nicht überlappenden alten Suchbereichs abgelegt sind. Es er­ folgt also keine vollständige neue Nachladung der Bilddaten eines neuen Suchbe­ reichs. Vielmehr werden nur die Teile des neuen Bildbereichs nachgeladen, die noch nicht in den drei Speicherblöcken abgelegt sind.
Wenn ein Suchbereich verschoben und neue Bilddaten nachgeladen wurden, wird das Steuersignal für die Permutation entsprechend angepaßt und für den Zugriff auf die Suchbilddaten des entsprechenden Suchbildes konstant gehalten.
Im Unterschied zu der Erfindung wurden herkömmlicherweise beim systemati­ schen Entwurf von Blockmatching-Schaltungen ein vierdimensionaler Depen­ dence-Graph auf einen eindimensionalen oder zweidimensionalen Signalfluss­ graph unter Vorgabe einer Projektion und eines Schedule-Vektors nach S. Y. Kung, VLSI Array Processors, May 1990) abgebildet und hiervon ausgehend eine Vielzahl von Schaltungen realisiert, die einen unterschiedlichen Grad an Paralleli­ tät für unterschiedliche Datenraten aufweisen und in der Regel nur einen Algo­ rithmus abarbeiten können.
Mit dem erfindungsgemäßen Verfahren können hingegen verschiedene Suchstra­ tegien durchgeführt werden, so dass die Auswahl der Suchstrategie auch im Betrieb z. B. in Abhängigkeit von der verfügbaren Bandbreite des Kanals oder der Bildqualität erfolgen kann.
Bei dem Vergleich der Referenzbildblöcke und Kandidatenbildblöcke wird erfin­ dungsgemäß nicht das vollständige durch den Permutationsdatenvektor definierte Fenster, sondern ein überlagertes kleineres Fenster untersucht.
Die Aufgabe wird weiterhin durch eine Schaltungsanordnung zur Durchführung des beschriebenen Verfahrens gelöst, wobei drei voneinander unabhängige Spei­ cherblöcke zum Abspeichern der Suchbilddaten eines Suchbereiches und eine Permutations-Schaltungseinheit zur Permutation der ausgelesenen Bildpixelgrup­ pen vorgesehen ist.
Vorzugsweise ist an dem Ausgang der Permutations-Schaltungseinheit eine Aus­ richt-Schaltungseinheit zum Auswählen eines Kandidatenbilddatenvektors ange­ ordnet.
Die Ansteuerung der Permutations-Schaltungseinheit und Ausricht- Schaltungseinheit erfolgt dann durch systematische Steuersignale.
Die Erfindung wird nachfolgend anhand der beigefügten Zeichnungen näher er­ läutert. Es zeigen:
Fig. 1 Blockschaltbild der Schaltungsanordnung zur Durchführung des Blockmatching-Verfahrens;
Fig. 2 Zugriff für Speicherung eines 48 × 48 großen Suchbildblocks in drei Speicherblöcken;
Fig. 3 Blockschaltbild mit einer Permutations-Schaltungseinheit, einer Ausricht-Schaltungseinheit und einen Halbpelfilter;
Fig. 4 Skizze der Permutations-Schaltungseinheit;
Fig. 5 Skizze der Ausricht-Schaltungseinheit;
Fig. 6 Blockschaltbild einer Schaltungsanordnung zur Durchführung des Speicherzugriffs für das Blockmatching-Verfahren mit Randbildausgleich.
Die Fig. 1 läßt ein Blockschaltbild einer Schaltungsanordnung zur Durchführung des Speicherzugriffs für die Bewegungsschätzung mit dem Blockmatching- Verfahren erkennen, bei dem ein Referenzbildblock R mit 16 × 16 Bildpixeln in einem Referenz-Speicherblock 1 abgelegt ist. Jeder Bildpixel wird durch 8 Bit be­ schrieben, so dass der Referenz-Speicherblock 1 32 × 64 Bit groß ist. Die Bildda­ ten eines Suchbildes werden hingegen in drei voneinander unabhängigen Spei­ cherblöcken MEM1, MEM2 und MEM3 abgelegt, wobei die Speicherblöcke MEM1, MEM2 und MEM3 jeweils 192 × 32 Bit groß sind. Es werden somit Suchbereichsdaten von 16 × 48 Bildpixeln jeweils pro Speicherblock MEM1, MEM2 und MEM3 abgelegt.
Pro Takt werden 4 Pel mit jeweils 8 Bits aus den Speicherblöcken MEM1, MEM2 und MEM3 und 8 Pel mit jeweils 8 Bits aus dem Referenz-Speicherblock 1 aus­ geladen und simultan verarbeitet. Das heißt, dass pro Speicherblock MEM jeweils eine Bildpixelgruppe mit einer Anzahl a = 4 Bildpixel ausgelesen werden.
Diese Daten werden in einer Datenzufuhr-Schaltungseinheit 2 so permutiert, dass die Bildpixeldaten der Bildpixelgruppen in der Reihenfolge entsprechend der An­ ordnung in dem Suchbild als Permutationsdatenvektor eines Kandidantenbild­ blocks auf einem parallelen Datenbus anliegen. Der 12-Pel breite Permutationsda­ tenvektor wird entsprechend der Positionierung des zu betrachtenden Bildpixel­ fensters im Suchbild relativ zu dem 8-Pel breiten Referenzdatenvektor ausgerich­ tet, wobei ein Kandidatenbilddatenvektor mit einer Anzahl von m = 8 Bildpixel­ daten aus dem 12-Pel breiten Permutationsdatenvektor ohne Vertauschen der Reihenfolge der Bildpixeldaten ausgewählt wird. In einer Schaltungseinheit 3 zur Berechnung eines Ähnlichkeitsmaßes SAD wird aus dem Kandidatenbilddaten­ vektor und dem Referenzdatenvektor ein Ähnlichkeitsmaß SAD (sum of absolute differences) in bekannter Weise zum Beispiel nach der Formel
berechnet und der Bewegungsvektor bestimmt.
Die Aufteilung der Suchbilddaten in die Speicherblöcke MEM1, MEM2 und MEM3 wird anhand der Skizze in der Fig. 2 deutlich. Ein Suchbereich S mit 48 × 48 Bildpixeln wird in den drei Speicherblöcken MEM abgespeichert, wobei Bildpixel­ gruppen G bestehend aus jeweils a = 4 Bildpixeln alternierend in den drei Spei­ cherblöcken MEM1, MEM2 und MEM3 abgelegt werden. Es wird deutlich, dass die im Suchbild nebeneinander angeordneten Bildpixelgruppen G alternierend in den Speicherblöcken MEM abgelegt werden.
Pro Takt werden jeweils drei Bildpixelgruppen G gleichzeitig aus den drei Spei­ cherblöcken MEM1, MEM2 und MEM3 ausgelesen. Hierbei wird die Position des Fensters 4a der ausgelesenen drei Bildpixelgruppen G ständig verändert. In dem dargestellten Beispiel sind die Suchbilddaten so geordnet abgelegt, dass die linke Bildpixelgruppe 0MEM1 des Suchbildes in dem ersten Speicherblock MEM1 und die horizontal daran anschließenden Bildpixelgruppen 0MEM2 und 0MEM3 in den zweiten und dritten Speicherblöcken MEM2 und MEM3 systematisch abgelegt sind. Beim Auslesen des Fensters sind die Bildpixel somit in der korrekten Reihenfolge ent­ sprechend ihrer Position im Suchbild angeordnet.
Wenn hingegen ein im Suchbild verschobenes Fenster 4b ausgelesen wird, kann sich die Systematik der Reihenfolge ändern, so dass eine Permutation der Bildpi­ xelgruppen G derart erfolgen muß, dass auf dem parallelen Datenbus ein Permu­ tationsdatenvektor anliegt, bei dem zunächst die Bildpixelgruppen auf 0MEM3 des dritten Speicherblocks MEM3 und dann die Bildpixelgruppen 1 MEM1 und 1 MEM2 des ersten und zweiten Speicherblocks MEM1 und MEM2 anliegen. Diese Permutati­ on kann auch erforderlich sein, nachdem der Suchbereich S zum Beispiel um 16 Bildpixel nach rechts verschoben wurde und die nicht überlappenden Bildpixel­ gruppen 0MEM1, 0MEM2, 0MEM3 und 1MEM1 des alten Suchbereichs S mit den rechts neben dem alten Suchbereich befindlichen neuen Bildpixeldaten überschrieben worden sind.
Die Fig. 2 läßt weiterhin in dem Fenster bzw. Permutationsdatenvektor 4b einen fett umrandeten Bereich von 8 Bildpixeln erkennen, der mit dem Referenzdaten­ vektor verglichen wird. Dieser Bereich wird als Kandidatenbilddatenvektor K be­ zeichnet. Um diesen Kandidatenbilddatenvektor K aus dem Permutationsdaten­ vektor 4b auszuwählen, wird ein Steuersignal generiert, das die Verschiebung des Fensters relativ zu dem Permutationsdatenvektor 4b angibt. Hierbei wird die Reihenfolge der Bildpixeldaten nicht weiter vertauscht.
Die Fig. 3 läßt ein Blockschaltbild der Permutations-Schaltungseinheit 5 und der Ausricht-Schaltungseinheit 6 erkennen, wobei an den Ausgang der Ausricht- Schaltungseinheit 6 eine Halbpel-Filter 7 geschaltet ist.
An dem Eingang der Permutations-Schaltungseinheit 5 liegt das in der Fig. 2 skizzierte Fenster 4b an. Durch die Permutations-Schaltungseinheit 5 werden die Bildpixelgruppen G so umgeordnet, dass in dem dargestellten Beispiel die aus dem dritten Speicherblock MEM3 ausgelesenen Bildpixelgruppe an den oberen Teil des Ausgangs-Datenbusses der Permutations-Schaltungseinheit 5 gelegt wird. Die Bildpixelgruppe aus dem ersten Speicherblock MEM1 und die Bildpixel­ gruppe aus dem zweiten Speicherblock MEM2 wird entsprechend verschoben.
Durch die Ausricht-Schaltungseinheit 6 wird aus dem 12 Bildpixel breiten Permu­ tationsdatenvektor P ein 8 oder 9 Bildpixel breiter Kandidatenbilddatenvektor K ausgewählt, der einem Halbpel-Filter 7 zugeführt wird. Mit Hilfe des Halbpel- Filters 7 kann optional eine Halbpel-Filterung durchgeführt werden.
Die Permutations-Schaltungseinheit 5 ist in der Fig. 4 skizziert. Sie besteht im wesentlichen aus drei Multiplexern M, die mit einem Kontrollsignal p nach dem folgenden Schema angesteuert werden:
p = 0: (1, 2, 3): xmem_1[4] → y[0 . . . 3], xmem_2[4] → y[4 . . . 7], xmem_3[4] → y[8 . . . 11]
p = 1: (2, 3, 1): xmem_1[4] → y[8 . . . 11], xmem_2[4] → y[0 . . . 3], xmem_3[4] → y[4 . . . 7]
p = 2: (3, 1, 2): xmem_1[4] → y[4 . . . 7], xmem_2[4] → y[8 . . . 11], xmem_3[4] → y[0 . . . 3]
Die aus den drei Speicherblöcken MEM1, MEM2 und MEM3 ausgelesenen Bildpi­ xelgruppen G werden somit entsprechend dem Wert des Kontrollsignals p so an die drei 4 × 8 Bit breiten Ausgangsports der Multiplexer M angelegt, so dass für p = 0 eine Reihenfolge MEM1, MEM2, MEM3, für p = 1 eine Reihenfolge MEM2, MEM3, MEM1 und für p = 2 eine Reihenfolge MEM3, MEM1 und MEM2 bewirkt wird.
Die Fig. 5 läßt die Ausricht-Schaltungseinheit 6 im Detail erkennen. Die Aus­ richt-Schalteinheit 6 besteht ebenfalls aus drei Multiplexern M, die jeweils an die Ausgangsports der Multiplexer M der Permutations-Schaltungseinheit 5 ange­ schlossen sind. Die Ausricht-Schaltungseinheit 6 wird mit einem Kontrollsignal align angesteuert, das die Multiplexer M wie folgt schaltet:
align = 0: x[0 . . . 8] → y[0 . . . 8]
align = 1: x[1 . . . 9] → y[0 . . . 8]
align = 2: x[2 . . . 10] → y[0 . . . 8]
align = 3: x[3 . . . 11] → y[0 . . . 8]
Mit Hilfe des Kontrollsignals align und der Ausricht-Schaltungseinheit 6 wird aus dem 12 Bildpixel breiten Permutationsdatenvektor P ein 8 oder 9 Bildpixel breiter Kandidatenbilddatenvektor K ausgewählt.
Die Fig. 6 läßt das Blockschaltbild der Fig. 3 erkennen, wobei jedoch zusätz­ lich eine Randausgleich-Schaltungseinheit 8 vorgesehen ist, um in Randbereichen des Suchbildes innerhalb eines betrachteten Bildes Bilddaten z. B. mit Null- Werten aufzufüllen, die über die Grenzen des Bildes hinausgehen. Die Randaus­ gleichs-Schaltungseinheit 8 wird mit einem 9 Bit breiten Kontrollsignal bval nach folgenden Vorschriften gesteuert:
bval = 000000000b: x[0 . . . 8] → y[0 . . . 8]
bval = 111111111b: bval → y[0 . . . 8]
bval = 000000000b: x[0 . . . 7] → y[0 . . . 7], bval → y[8]

Claims (8)

1. Verfahren zum Zugriff auf Suchbilddaten bei der Bewegungsschätzung mit dem Blockmatching-Verfahren, um
Referenzbildblöcke (R) eines aktuellen Bildes mit Kandidatenbildblöc­ ken eines Suchbildes innerhalb eines Suchbereichs (S) miteinander zu vergleichen und ein Ähnlichkeitsmaß zwischen den Bildpixeln der Bildblöcke zu berechnen, und
für jeden Referenzbildblock (R) einen Bewegungsvektor für die Ver­ schiebung eines Referenzbildblocks (R) relativ zu einem Kandidaten­ bildblock, bei dem das Ähnlichkeitsmaß (SAD) am geringsten ist, zu bestimmen,
gekennzeichnet durch
Abspeichern der Suchbilddaten eines Suchbereichs (S) in drei von­ einander unabhängige Speicherblöcke (MEM1, MEM2, MEM3), wobei eine ganzzahlige Anzahl (a) von im Suchbild nebeneinander an­ geordneten Bildpixeln eine Bildpixelgruppe (G) bilden und die im Suchbild nebeneinander angeordneten Bildpixelgruppen (G) alternie­ rend in den drei Speicherblöcken (MEM1, MEM2, MEM3) abgelegt werden,
paralleles Auslesen von drei Bildpixelgruppen (G) aus den Speicher­ blöcken (MEM1, MEM2, MEM3),
Permutation der ausgelesenen Bildpixelgruppen (G) derart, dass die Bildpixeldaten der Bildpixelgruppen (G) in der Reihenfolge entspre­ chend der Anordnung in dem Suchbild als Permutationsdatenvektor (P) eines Kandidatenbildblocks auf einem parallelen Datenbus anlie­ gen, und
Auswählen eines Kandidatenbilddatenvektors (K) mit einer ganzzah­ ligen Anzahl (m) von Bildpixeldaten aus dem Permutationsdatenvek­ tor (P) ohne Vertauschen der Reihenfolge der Bildpixeldaten, wobei sich die Anzahl (a) der Bildpixel einer Bildpixelgruppe (G) aus der Formel
berechnet, wobei m die Anzahl der Bildpixelda­ ten des Kandidatenbilddatenvektors (K) und n die Anzahl der von­ einander unabhängigen Speicherblöcke (MEM) ist.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass für einen 8- oder 9-Bildpixeldaten breiten Kandidatenbilddatenvektor (K) und drei Spei­ cherblöcken (MEM1, MEM2, MEM3) vier Bildpixel pro Bildpixelgruppe (G) verwendet werden.
3. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch
Verschieben des Suchbereichs (S), wobei sich der vorhergehende und der neue Suchbereich (S) überlappen,
Nachladen der Bilddaten des nicht überlappenden neuen Suchbe­ reichs (S) in den Speicherbereich der Speicherblöcke (MEM), in de­ nen die Bilddaten des nicht überlappenden alten Suchbereichs (S) abgelegt sind,
Festlegen eines neuen Steuersignals zur Permutation für den neuen Suchbereich (S).
4. Schaltungsanordnung zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche mit drei voneinander unabhängigen Speicher­ blöcken (MEM1, MEM2 und MEM3) zum Abspeichern der Suchbilddaten eines Suchbereichs (S), wobei eine ganzzahlige Anzahl (a) von im Suchbild nebeneinander angeordneten Bildpixeln eine Bildpixelgruppe (G) bilden und die im Suchbild nebeneinander angeordneten Bildpixelgruppen (G) alternie­ rend in den drei Speicherblöcken (MEM1, MEM2, MEM3) abgelegt werden, und mit einer Permutations-Schaltungseinheit (5) zur Permutation der aus­ gelesenen Bildpixelgruppen (G) derart, dass die Bildpixeldaten der Bildpi­ xelgruppen (G) in der Reihenfolge entsprechend der Anordnung in dem Suchbild als Permutationsdatenvektor (P) eines Kandidatenbildblocks auf einem parallelen Datenbus anliegen.
5. Schaltungsanordnung nach Anspruch 4, dadurch gekennzeichnet, dass es an den Ausgängen der Permutations-Schaltungseinheit (5) eine Ausricht- Schaltungseinheit (6) zum Auswählen eines Kandidatenbilddatenvektors (K) mit einer ganzzahligen Anzahl (m) von Bildpixeldaten aus dem Permuta­ tionsdatenvektor (P) ohne Vertauschen der Reihenfolge der Bildpixeldaten angeordnet ist.
6. Schaltungsanordnung nach Anspruch 5, gekennzeichnet durch einen Refe­ renzspeicherblock (1) zum Abspeichern eines Referenzbildblocks (R) und Schaltungseinheit (3) zur Berechnung eines Ähnlichkeitsmaßes (SAD), wo­ bei die Schaltungseinheit (3) zur Berechnung des Ähnlichkeitsmaßes (SAD) an den Ausgang der Ausricht-Schaltungseinheit (6) und des Referenz­ speicherblocks (1) gekoppelt ist.
7. Computer-Programm mit Programmcodemitteln, um alle Schritte gemäß einem der Ansprüche 1 bis 3 durchzuführen, wenn das Programm auf ei­ nem Datenverarbeitungsprozessor ausgeführt wird.
8. Computer-Programm mit Programmcodemitteln gemäß Anspruch 7, die auf einen computerlesbaren Datenspeicher gespeichert sind.
DE10120140A 2001-04-25 2001-04-25 Verfahren zum Zugriff auf Suchbilddaten bei der Bewegungsschätzung Expired - Fee Related DE10120140C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10120140A DE10120140C2 (de) 2001-04-25 2001-04-25 Verfahren zum Zugriff auf Suchbilddaten bei der Bewegungsschätzung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10120140A DE10120140C2 (de) 2001-04-25 2001-04-25 Verfahren zum Zugriff auf Suchbilddaten bei der Bewegungsschätzung

Publications (2)

Publication Number Publication Date
DE10120140A1 DE10120140A1 (de) 2002-11-07
DE10120140C2 true DE10120140C2 (de) 2003-03-13

Family

ID=7682594

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10120140A Expired - Fee Related DE10120140C2 (de) 2001-04-25 2001-04-25 Verfahren zum Zugriff auf Suchbilddaten bei der Bewegungsschätzung

Country Status (1)

Country Link
DE (1) DE10120140C2 (de)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3721074A1 (de) * 1986-12-24 1988-07-07 Licentia Gmbh Schaltungsanordnung zur verschiebungsvektorsuche in der digitalen bildanalyse
DE4023449C1 (de) * 1990-07-24 1992-01-23 Ant Nachrichtentechnik Gmbh, 7150 Backnang, De
DE4333368A1 (de) * 1993-09-30 1995-04-06 Ant Nachrichtentech Verfahren zur Aufbereitung von Daten zur Beschreibung von Bildbereichen, sowie Anordnung hierzu
EP0734175A1 (de) * 1995-03-20 1996-09-25 Daewoo Electronics Co., Ltd Hierarchische Bewegungsvektorsschätzung mit mehreren Blockgrössen
DE4307936C2 (de) * 1992-04-21 1997-04-03 Mitsubishi Electric Corp Bildprozessor zum Detektieren von Bewegungen

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3721074A1 (de) * 1986-12-24 1988-07-07 Licentia Gmbh Schaltungsanordnung zur verschiebungsvektorsuche in der digitalen bildanalyse
DE4023449C1 (de) * 1990-07-24 1992-01-23 Ant Nachrichtentechnik Gmbh, 7150 Backnang, De
DE4307936C2 (de) * 1992-04-21 1997-04-03 Mitsubishi Electric Corp Bildprozessor zum Detektieren von Bewegungen
DE4333368A1 (de) * 1993-09-30 1995-04-06 Ant Nachrichtentech Verfahren zur Aufbereitung von Daten zur Beschreibung von Bildbereichen, sowie Anordnung hierzu
EP0734175A1 (de) * 1995-03-20 1996-09-25 Daewoo Electronics Co., Ltd Hierarchische Bewegungsvektorsschätzung mit mehreren Blockgrössen

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BUCK, Jürgen "Komprimierte Bewegung" In: mc, April 1994, S. 114-123 *
HARTWIG, S., ENDEMANN, W.: "Digitale Bildcodierung (Teil 6) - Bewegungskompensierte Interframe-DPCM", In: Fernseh- und Kinotechnik, 46, Jg. Nr. 6/1992, S. 416-424 *

Also Published As

Publication number Publication date
DE10120140A1 (de) 2002-11-07

Similar Documents

Publication Publication Date Title
DE69524522T2 (de) Verfahren und System zur bidirektionalen Bewegungskompensation zur Kompression bewegter Bilder
DE69208737T2 (de) Schaltung zur Interpolation eines Bildsignals
DE69330191T2 (de) Prädiktive Zwischenbildkodierungsvorrichtung mit Bewegungsausgleich
DE69506059T2 (de) Blockübereinstimmungsverfahren mit reduzierter Anzahl von Zugriffen auf einem Referenz-Rasterspeicher
DE3814627C2 (de)
DE69728247T2 (de) Pyramidenförmiger pipeline-prozessor für ein bildverarbeitungssystem
DE69405740T2 (de) Verfahren und anordnung für bewegungskompensierende interpolation
DD293933A5 (de) Bewegungsabschaetzeinrichtung
DE69627920T2 (de) Speichersteuerungsanordnung und Bilddekodierer damit
DE19739266A1 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
DE69331174T2 (de) Bildverarbeitungsvorrichtung
DE69324549T2 (de) Bewegtbilddekodierer
DE4221320A1 (de) Bewegungsvektor-erfassungsvorrichtung
DE69802269T2 (de) Vorrichtung und verfahren zum vergleichen von pixelblöcken
DE4408522A1 (de) Vorrichtung und Verfahren zur Bilddatenverarbeitung, die zur Verarbeitung von Bilddaten mit hoher Geschwindigkeit in der Lage sind
DE60207756T2 (de) Bilddatenzugriff
DE19737814B4 (de) Bilddatenspeicherungsverfahren und Verarbeitungsapparat dafür
DE69222240T2 (de) Vorrichtung zum Decodieren eines Bildsignals
EP0732670B1 (de) Verfahren und Schaltungsanordnung zur Unterabtastung bei Bewegungsschätzung
DE10120140C2 (de) Verfahren zum Zugriff auf Suchbilddaten bei der Bewegungsschätzung
DE3936935C1 (de)
DE69636139T2 (de) Hierarchische Kodierungs- Dekodierungs-Vorrictung mit Speichervorrichtung für ein digitales Bildsignal
DE69628269T2 (de) Konversionsverfahren einer Ausgangsdatenfolge in Invers-DCT und Schaltung davon
DE69324128T2 (de) Doppelbusarchitektur für Bewegungskompensation
EP1110407B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8304 Grant after examination procedure
8364 No opposition during term of opposition
R082 Change of representative

Representative=s name: GRAMM, LINS & PARTNER PATENT- UND RECHTSANWAEL, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee