DE10120140C2 - Verfahren zum Zugriff auf Suchbilddaten bei der Bewegungsschätzung - Google Patents
Verfahren zum Zugriff auf Suchbilddaten bei der BewegungsschätzungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
- G06T7/238—Analysis of motion using block-matching using non-full search, e.g. three-step search
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
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]
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]
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]
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.
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).
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.
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)
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 |
-
2001
- 2001-04-25 DE DE10120140A patent/DE10120140C2/de not_active Expired - Fee Related
Patent Citations (5)
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)
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 |