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

Verfahren zum Zugriff auf Suchbilddaten bei der Bewegungsschätzung

Info

Publication number
DE10120140A1
DE10120140A1 DE10120140A DE10120140A DE10120140A1 DE 10120140 A1 DE10120140 A1 DE 10120140A1 DE 10120140 A DE10120140 A DE 10120140A DE 10120140 A DE10120140 A DE 10120140A DE 10120140 A1 DE10120140 A1 DE 10120140A1
Authority
DE
Germany
Prior art keywords
image
search
data
image pixel
permutation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE10120140A
Other languages
English (en)
Other versions
DE10120140C2 (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

Abstract

Ein Verfahren zum Zugriff auf Suchbilddaten bei der Bewegungsschätzung mit dem Blockmatching-Verfahren, um DOLLAR A - Referenzbildblöcke (R) eines aktuellen Bildes mit Kandidatenbildblöcken eines Suchbildes innerhalb eines Suchbereiches (S) miteinander zu vergleichen und ein Ähnlichkeitsmaß zwischen den Bildpixeln der Bildblöcke zu berechnen, und DOLLAR A - für jeden Referenzbildblock (R) einen Bewegungsvektor für die Verschiebung eines Referenzbildblocks (R) relativ zu einem Kandidatenbildblock, bei dem das Ähnlichkeitsmaß (SAD) am geringsten ist, zu bestimmen, DOLLAR A hat die Schritte DOLLAR A - Abspeichern der Suchbilddaten eines Suchbereichs (S) in drei voneinander unabhängigen Speicherblöcken (MEM1, MEM2, MEM3), wobei eine ganzzahlige Anzahl (a) von im Suchbild nebeneinander angeordneten Bildpixeln eine Bildpixelgruppe (G) bilden und die im Suchbild nebeneinander angeordneten Bildpixelgruppen (G) alternierend in den drei Speicherblöcken (MEM1, MEM2, MEM3) abgelegt werden, DOLLAR A - paralleles Auslesen von drei Bildpixelgruppen (G) aus den drei Speicherblöcken (MEM1, MEM2, MEM3), DOLLAR A - Permutation der ausgelesenen Bildpixelpruppen (G) derart, dass die Bildpixeldaten der Bildpixelgruppen (G) in der Reihenfolge entsprechend der Anordnung in dem Suchbild als Permutationsdatensektor (P) eines Kandidatenbildblocks auf einem parallelen Datenbus anliegen.

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.
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.
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 par­ allel 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 Be­ trieb z. B. in Abhängigkeit von der verfügbaren Bandbreite des Kanals oder der Bildqualität erfolgen kann.
Um jegliche Verschiebung des Suchbereiches berücksichtigen zu können, erfolgt vorzugsweise eine Auswahl eines Kandidatenbilddatenvektors mit einer ganzzah­ ligen Anzahl m von Bildpixeldaten aus dem Permutationsdatenvektor ohne Ver­ tauschung der Reihenfolge der Bildpixeldaten. Bei dem Vergleich der Referenzbildblöcke und Kandidatenbildblöcke wird daher nicht das vollständige durch den Permutationsdatenvektor definierte Fenster, sondern ein überlagertes kleineres Fenster untersucht.
Die Anzahl a der Bildpixel einer Bildpixelgruppe berechnet sich aus der Formel
als Integer des Quotienten der Anzahl m der Bildpixeldaten des Kandidatenbilddatenvektors und der um 1 verminderten Anzahl n der voneinan­ der unabhängigen Speicherblöcke. Für einen Kandidatenbilddatenvektor bzw. ein betrachtetes Fenster mit acht oder neun Bildpixeldaten und drei Speicherblöcken werden somit vier Bildpixel pro Bildpixelgruppe verwendet. Für ein 16 oder 17- Bildpixel breites Fenster bzw. Kandidatenbilddatenvektor und drei Speicherblöc­ ken werden entsprechend 8 Bildpixel pro Bildpixelgruppe verwendet.
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] → [0. . .3], xmem_2[4] → y[4. . .7], xmem_3[4] → y[8. . .11]
p = 1: (2, 3, 1): xmem_1[4] → [8. . .11], xmem_2[4] → y[0. . .3], xmem_3[4] → y[4. . .7]
p = 2: (3, 1, 2): xmem_1[4] → [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 b: bval → y[0. . .8]
bval = 000000000b: x[0. . .7] → y[0. . .7], bval → y[8]

Claims (10)

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 drei Spei­ cherblö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.
2. Verfahren nach Anspruch 1, gekennzeichnet durch Auswählen eines Kan­ didatenbilddatenvektors (K) mit einer ganzzahligen Anzahl (m) von Bildpi­ xeldaten aus dem Permutationsdatenvektor (P) ohne Vertauschen der Rei­ henfolge der Bildpixeldaten.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass sich die Anzahl (a) der Bildpixel einer Bildpixelgruppe (G) aus der Formel
berechnet, wobei m die Anzahl der Bildpixeldaten des Kandi­ datenbilddatenvektors (K) und n die Anzahl der voneinander unabhängigen Speicherblöcke (MEM) ist.
4. Verfahren nach Anspruch 3, 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.
5. 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).
6. 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.
7. Schaltungsanordnung nach Anspruch 6, 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.
8. Schaltungsanordnung nach Anspruch 7, 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.
9. Computer-Programm mit Programmcodemitteln, um alle Schritte gemäß einem der Ansprüche 1 bis 5 durchzuführen, wenn das Programm auf ei­ nem Datenverarbeitungsprozessor ausgeführt wird.
10. Computer-Programm mit Programmcodemitteln gemäß Anspruch 9, 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 true DE10120140A1 (de) 2002-11-07
DE10120140C2 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
DE10120140C2 (de) 2003-03-13

Similar Documents

Publication Publication Date Title
DE69838630T2 (de) Prädiktive Digitalvideosignalkodierung- und Dekodierungsmethode unter Verwendung von Blockinterpolation
DE3814627C2 (de)
DE3804938C2 (de) Bildverarbeitungseinrichtung
DE69333789T2 (de) Kodierung von kontinuierlichen Bilddaten
DE69737852T2 (de) Durch verbessertes speicher- und auslesesystem verschiedene arten von durch bildspeicherspezifischen hardwarespezifikationen verursachte verzögerungsfaktoren überwindender bilddekoder und bildspeicher
DE3338167A1 (de) Verfahren und vorrichtung zur speicherung von bilddaten in einer speichereinrichtung eines layout-abtastsystems
DE69627920T2 (de) Speichersteuerungsanordnung und Bilddekodierer damit
DE60029828T2 (de) Verfahren und vorrichtung zur dekodierung von videosignalen mittels eines multiprozessorsystems
DE19739266A1 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
EP0276434A1 (de) Schaltungsanordnung zur Verschiebungsvektorsuche in der digitalen Bildanalyse
DE4408522C2 (de) Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten
DE102005001181B4 (de) Vorrichtung und Verfahren zum Transponieren von Daten
DE19752929A1 (de) Bildverarbeitungseinrichtung
DE4221320A1 (de) Bewegungsvektor-erfassungsvorrichtung
DE60207756T2 (de) Bilddatenzugriff
DE4409066C2 (de) Bilddaten-Kompressions/Expansions-Schaltung
EP0732670B1 (de) Verfahren und Schaltungsanordnung zur Unterabtastung bei Bewegungsschätzung
DE69731342T2 (de) Bildverarbeitungsvorrichtung
EP1605405A1 (de) Verfahren zur Ermittlung von Bewegungsvektoren, die Bildbereichen eines Bildes zugeordnet sind
DE10120140C2 (de) Verfahren zum Zugriff auf Suchbilddaten bei der Bewegungsschätzung
DE69636352T2 (de) Hierarchische Kodierungs-Vorrichtung und -Verfahren mit Speicher für ein digitales Bildsignal
DE69628269T2 (de) Konversionsverfahren einer Ausgangsdatenfolge in Invers-DCT und Schaltung davon
DE102005025634A1 (de) Verfahren und Vorrichtung zur Ermittlung von Bewegungsvektoren
WO2019057473A1 (de) Verfahren und vorrichtung zum bewerten von bildern, betriebsassistenzverfahren und betriebsvorrichtung
EP0786186A1 (de) Segmentadaptive zweidimensionale orthogonale transformationskodierung für ein digitales fernsehsystem

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