DE10147535A1 - Vorrichtung zur Bewegungsschätzung und Bewegungsschätzungsablaufprogramm - Google Patents

Vorrichtung zur Bewegungsschätzung und Bewegungsschätzungsablaufprogramm

Info

Publication number
DE10147535A1
DE10147535A1 DE10147535A DE10147535A DE10147535A1 DE 10147535 A1 DE10147535 A1 DE 10147535A1 DE 10147535 A DE10147535 A DE 10147535A DE 10147535 A DE10147535 A DE 10147535A DE 10147535 A1 DE10147535 A1 DE 10147535A1
Authority
DE
Germany
Prior art keywords
image block
motion vector
parameter
program
image
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
DE10147535A
Other languages
English (en)
Other versions
DE10147535B4 (de
Inventor
Martin Koehler
Frank Recoulie
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 DE10147535A priority Critical patent/DE10147535B4/de
Publication of DE10147535A1 publication Critical patent/DE10147535A1/de
Application granted granted Critical
Publication of DE10147535B4 publication Critical patent/DE10147535B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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

Eine Vorrichtung zur Bewegungsschätzung von blockweise gruppierten Bilddaten von Bildsequenzen durch Vergleichen eines Muster-Bildblocks (MB) eines aktuellen Bildes (AB) mit Kandidaten-Bildblöcken (K) eines vorhergehenden Bildes (VB), wobei die Lageverschiebung der Position des Muster-Bildblocks (MB) im aktuellen Bild (AB) relativ zu der Position eines betrachteten Kandidaten-Bildblocks (K) im Referenzbild (RB) durch einen Bewegungsvektor (V) beschrieben wird: DOLLAR A - einen Programmcodespeicher (RAM) zum Abspeichern einer Reihe von Programmbefehlen zur Festlegung von Bewegungsvektoren (V), wobei die Programmbefehle einen X-Parameter zur Definition einer Lageverschiebung in horizontaler Richtung und einen Y-Parameter zur Definition einer Lageverschiebung in vertikaler Richtung haben, DOLLAR A - eine Bewegungsvektor-Generierungseinheit (G) zur Generierung mindestens eines Bewegungsvektors (V) aus einem Programmbefehl, DOLLAR A - eine Evaluierungseinheit (E), die von der Bewegungsvektor-Generierungseinheit (G) angesteuert wird, zum Vergleich des Muster-Bildblocks (MB) eines aktuellen Bildes (AB) mit dem Kandidaten-Bildblock (K) eines Referenzbildes (RB), der um den Bewegungsvektor (V) versetzt ist, und Berechnen einer Gütefunktion in Abhängigkeit von der Übereinstimmung zwischen dem Muster-Bildblock (MB) und dem Kandidaten-Bildblock (K), und DOLLAR A - eine Optimierungseinheit (O) zur Bestimmung mindestens eines Bewegungsvektors (V), der eine optimale Gütefunktion aufweist.

Description

  • Die Erfindung betrifft eine Vorrichtung zur Bewegungsschätzung von blockweise gruppierten Bilddaten von Bildsequenzen durch Vergleichen eines Muster- Bildblocks eines aktuellen Bildes mit Kandidaten-Bildblöcken eines Referenzbildes, wobei die Lageverschiebung der Position des Muster-Bildblocks im aktuellen Bild relativ zu der Position eines betrachteten Kandidaten-Bildblocks im Referenzbild durch einen Bewegungsvektor beschrieben wird.
  • Die Erfindung betrifft ferner ein Bewegungsschätzungsablaufprogramm mit Programmcodemitteln zur Bewegungsschätzung.
  • Zur digitalen Bildcodierung, Bewegungsdetektion oder Erzeugung von Zwischenbildern bei der Bildratenkonversion werden blockorientierte Algorithmen zur Bewegungsschätzung verwendet. Derartige Bewegungsschätzungsverfahren sind z. B. in dem MPEG-Standard definiert. Bei der Bewegungsschätzung wird versucht, ein aktuelles Bild mit Hilfe eines vorhergehenden oder nachfolgenden Referenzbildes innerhalb einer Bildsequenz optimal vorherzusagen, indem ein Muster- Bildblock eines aktuellen Bildes innerhalb eines Suchbereiches des Referenzbildes mit entsprechenden großen Kandidaten-Bildblöcken des Referenzbildes verglichen wird. Der Muster-Bildblock wird mit einer gewissen Schrittweite und Systematik von Suchposition zu Suchposition in dem Referenzbild verschoben und verglichen, bis eine optimale Übereinstimmung eines Kandidaten-Bildblocks mit dem Muster-Bildblock festgestellt wurde.
  • Die Kandidaten-Bildblöcke werden hierbei durch Bewegungsvektoren definiert, die die Lageverschiebung der Position des Muster-Bildblocks im aktuellen Bild relativ zu der Position des betrachteten Kandidaten-Bildblocks im Referenzbild beschreiben. Das Resultat der Bewegungsschätzung ist ein optimierter Bewegungsvektor.
  • Die Algorithmen zur Bewegungsschätzung sind meist sehr rechenintensiv und werden daher bevorzugt als Hardware-Lösung in einen integrierten Schaltkreis, wie z. B. ASIC oder FPGA, implementiert. Hierbei wird jedoch herkömmlicherweise ein bestimmter Algorithmus mit einer definierten Suchstrategie implementiert.
  • Oftmals ist es jedoch erforderlich, zur Laufzeit der Bewegungsschätzung den Bewegungsschätzungsalgorithmus durch einen anderen Algorithmus zu ersetzen. Dies ist z. B. zur Verminderung des Stromverbrauchs, zur Optimierung der Systembusauslastung oder auch zur Optimierung der codierten Bildqualität bei stark wechselnden Bildinhalten erforderlich.
  • Aufgabe der Erfindung war es daher, eine Vorrichtung zur Bewegungsschätzung sowie ein Bewegungsschätzungsablaufprogramm zu schaffen, um nahezu beliebige Algorithmen zur Bewegungsschätzung sehr flexibel zu implementieren und nach Bedarf ablaufen zu lassen.
  • Die Aufgabe wird mit der gattungsgemäßen Vorrichtung gelöst durch
    • - einen Programmcodespeicher zum Abspeichern einer Reihe von Programmbefehlen zur Festlegung von Bewegungsvektoren, wobei die Pogrammbefehle einen X-Parameter zur Definition einer Lageverschiebung in horizontale Richtung und einen Y-Parameter zur Definition einer Lageverschiebung in vertikale Richtung haben,
    • - eine Bewegungsvektor-Generierungseinheit (G) zur Generierung mindestens eines Bewegungsvektors aus einem Programmbefehl,
    • - eine Evaluierungseinheit, die von der Bewegungsvektor- Generierungseinheit angesteuert wird, zum Vergleich des Bildblocks eines aktuellen Bildes mit dem Kandidaten-Bildblock eines Referenzbildes, der um den Bewegungsvektor versetzt ist, und Berechnen einer Gütefunktion in Abhängigkeit von der Übereinstimmung zwischen dem Bildblock und dem Kandidaten-Bildblock, und
    • - eine Optimierungseinheit zur Bestimmung mindestens eines Bewegungsvektors, der eine optimale Gütefunktion aufweist.
  • Erfindungsgemäß ist somit im Unterschied zu fest implementierten Bewegungsschätzungsalgorithmen vorgesehen, einen Programmcodespeicher verfügbar zu halten, um eine Reihe von Programmbefehlen flexibel abzuspeichern. Die Programmbefehle haben Parameter, um die horizontale und vertikale Lageverschiebung zu definieren.
  • Die Programmbefehle werden von einer Bewegungsvektor-Generierungseinheit ausgelesen und so umgesetzt, dass mindestens ein Bewegungsvektor generiert wird.
  • In einer Evaluierungseinheit erfolgt dann ein Vergleich des Muster-Bildblocks mit dem durch den generierten Bewegungsvektor beschriebenen Kandidatenbildblock und es wird eine Gütefunktion in bekannter Weise berechnet. Die Gütefunktion kann ein Wert als Maß der Übereinstimmung des Muster-Bildblocks mit dem Kandidaten-Bildblocks sein.
  • Der optimale Bewegungsvektor wird dann in einer Optimierungseinheit als der Bewegungsvektor bestimmt, dessen Gütefunktion optimal ist.
  • Nunmehr kann in dem Programmcodespeicher ein beliebiger Bewegungsschätzungsalgorithmus als eine Reihe von Programmbefehlen abgelegt werden. Diese Programmbefehle werden nacheinander von der Bewegungsvektor- Generierungseinheit umgesetzt und durch die Evaluierungseinheit und Optimierungseinheit abgearbeitet.
  • Um ein Umschalten zwischen Bewegungsschätzungsalgorithmen während der Laufzeit der Bewegungsschätzung zu ermöglichen, ist eine Steuereinheit vorgesehen, die für den Zugriff auf die Reihe von Programmbefehlen mittels einer ersten Basisadresse des Programmcodespeichers ausgebildet ist. Die Programmbefehle eines ersten Bewegungsschätzungsablaufprogramms sind hierbei beginnend von der ersten Basisadresse in dem Programmcodespeicher abgelegt. Die Steuereinheit ist ferner so ausgebildet, dass die Programmbefehle mindestens eines weiteren Bewegungsschätzungsablaufprogramms beginnend von einer jeweils weiteren eigenen Basisadresse abgelegt werden. Ein Wechsel des Bewegungsschätzungsablaufprogramms erfolgt dann durch einfaches Umschalten der Basisadressen, so dass im folgenden die Bewegungsvektor-Generierungseinheit auf die Programmbefehle zugreift, die in dem zur neuen Basisadresse zugehörigen Adressbereich des Programmcodespeichers abgelegt sind.
  • Während der Laufzeit können Bewegungsschätzungsablaufprogramme beliebig auf Speicherbereiche des Programmcodespeichers geschrieben werden, die gerade nicht zur Bewegungsschätzung verwendet werden.
  • In der Bewegungsvektor-Generierungseinheit sind mehrere Programmbefehle implementiert.
  • So ist ein Absolutverschiebungsbefehl vorgesehen, um einen Bewegungsvektor als absolute Lageverschiebung des Bildblocks um einen zu dem X-Parameter und Y-Parameter proportionalen Wert relativ zum zu betrachtenden Kandidaten- Bildblock festzulegen.
  • Mit Hilfe des Absolutverschiebungsbefehls ist somit ein Bewegungsvektor ausgehend von dem Muster-Bildblock definiert, der einen vorzugsweisen um X/2 in horizontaler Richtung und Y/2 (aber auch Y/4, Y/8 etc.) in vertikaler Richtung verschobenen Kandidaten-Bildblock beschreibt.
  • Weiterhin ist vorzugsweise ein Relativverschiebungsbefehl vorgesehen, um einen Bewegungsvektor als relative Lageverschiebung eines ausgewählten (z. B. optimalen) Kandidaten-Bildblocks um einen zu dem X-Parameter und Y-Parameter proportionalen Wert relativ zum betrachteten Kandidaten-Bildblock festzulegen. Mit diesem Programmbefehl wird somit ein Kandidaten-Bildblock gekennzeichnet, der relativ zu einem bislang durch die Optimierungseinheit als optimal erkannten Kandidaten-Bildblock, um beispielsweise X/2 in horizontale Richtung und Y/2 in vertikale Richtung verschoben ist. Die Verschiebung kann aber gleichermaßen zu X/4, X/8 und Y/4, Y/8 etc. definiert sein.
  • Weiterhin ist vorzugsweise ein Inkrementverschiebungsbefehl vorgesehen, um eine Anzahl k von Bewegungsvektoren als Lageverschiebung jeweils eines Kandidaten-Bildblocks für einen unmittelbar vorher betrachteten Bewegungsvektor um einen zu dem X-Parameter und Y-Parameter proportionalen Wert relativ zum zu betrachtenden Kandidaten-Bildblock festzulegen. Mit Hilfe dieses Inkrementierungsverschiebungsbefehls wird eine Anzahl k von Bewegungsvektoren mit einem einzigen Befehl erzeugt, die eine Folge von jeweils um vorzugsweise X/2 in horizontaler Richtung und Y/2 in vertikaler Richtung zueinander verschobene Kandidaten-Bildblöcke definieren. Die Verschiebung kann aber auch auf X/4, X/8 und Y/4, Y/8 etc. festgelegt sein.
  • Ein Programmendebefehl "DONE" kann optional vorgesehen sein, um das Ende des Bewegungsschätzungsablaufprogramms zu kennzeichnen.
  • Mit Hilfe dieser vorgenannten Programmbefehle kann nunmehr ein nahezu beliebiger Bewegungsschätzungsalgorithmus programmiert und flexibel in dem Programmcodespeicher abgelegt werden. Bei der Programmierung sind lediglich die X- und Y-Parameter und gegebenenfalls der Parameter für die Anzahl k anzugeben, so dass ein Bewegungsschätzungsalgorithmus sehr einfach und flexibel erstellt werden kann.
  • Die Programmbefehle werden erfindungsgemäß in der Bewegungsvektor- Generierungseinheit in jeweilige Bewegungsvektoren umgesetzt.
  • Entsprechend dieser Erfindung verfügt ein Bewegungsschätzungsablaufprogramm mit Programmcodemitteln über den Absolutverschiebungsbefehl, Relativverschiebungsbefehl, Inkrementverschiebungsbefehl und den Programmendebefehl.
  • Die Erfindung wird nachfolgend anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:
  • Fig. 1 Skizze eines aktuellen Bildes und eines Referenzbildes mit einer Menge von Kandidaten-Bildblöcken, die mit einem Muster- Bildblock verglichen werden;
  • Fig. 2 Blockschaltbild einer Vorrichtung zur Bewegungsschätzung von blockorientierten Bilddaten;
  • Fig. 3 Skizze einer Absolutlageverschiebung zwischen einem Muster- Bildblock und einem Kandidaten-Bildblock;
  • Fig. 4 Skizze einer Relativlageverschiebung eines ausgewählten (z. B. bisher als optimal bestimmten) Kandidaten-Bildblocks relativ zu einem zu betrachtenden Kandidaten-Bildblock;
  • Fig. 5 Skizze einer Inkrementlageverschiebung einer Reihe von Kandidaten- Bildblöcken relativ zu einem jeweils vorhergehenden Kandidaten- Bildblocks;
  • Die Fig. 1 lässt eine Skizze mit einem Muster-Bildblock MB in einem aktuellen Bild AB erkennen, wobei der Muster-Bildblock MB an der horizontalen X-Position X1 und der vertikalen Y-Position Y1 steht.
  • Zur Bewegungsschätzung wird der Muster-Bildblock MB aus dem aktuellen Bild AB auf einem Referenzbild RB abgebildet. Hierbei ist eine Menge M von Kandidaten-Bildblöcken K1, K2, K3. . .Kn vorgesehen, die die gleiche Größe wie der Muster-Bildblock aufweisen. Die Kandidaten-Bildblöcke K werden jeweils durch einen Bewegungsvektor V1, V2, V3. . .Vn beschrieben. Der Bewegungsvektor V kennzeichnet die Lageverschiebung der Position des Muster-Bildblocks MB (X1, Y1) relativ zu der Position des betrachteten Kandidaten-Bildblocks K.
  • Für jeden Muster-Bildblock MB werden zur Bewegungsschätzung folgende Schritte ausgeführt:
    • a) Laden der zur Verarbeitung des Muster-Bildblocks MB benötigten Bilddaten des Suchbereichs S des vorhergehenden oder nachfolgenden Referenzbildes RB;
    • b) Laden der Bilddaten des Muster-Bildblocks MB;
    • c) Durchführen der Bewegungsschätzung auf Basis der geladenen Daten des Muster-Bildblocks MB und des Suchbereichs S, wobei für jeden Bewegungsvektor V aus einer Menge M der zu betrachtenden Kandidaten- Bildblöcke K
      • 1. c1) die Gütefunktion für den Kandidaten-Bildblock K bzw. den zugehörigen Bewegungsvektor V berechnet wird;
      • 2. c2) die Gütefunktion mit dem gespeicherten Ergebnis des bisher optimalen Kandidaten-Bildblocks K, bzw. des zugehörigen Bewegungsvektors V verglichen wird und das die optimale Gütefunktion zusammen mit dem zugehörigen Bewegungsvektor V abgespeichert wird;
    • d) Ausgabe des optimalen Bewegungsvektors V und gegebenenfalls der zugehörigen Gütefunktion.
  • Die Fig. 2 zeigt ein Blockschaltbild einer Vorrichtung zur Bewegungsschätzung. Ein Programmcodespeicher RAM ist vorgesehen, um Bewegungsschätzungsablaufprogramme P1, P2 mit einer Reihe von Programmbefehlen zur Durchführung einer Bewegungsschätzung abzuspeichern. Für das Bewegungsschätzungsprogramm P1, P2 ist eine Basisadresse ADR festgelegt, so dass zwischen den Bewegungsschätzungsablaufprogrammen P1, P2 durch Wahl einer neuen Basisadresse umgeschaltet werden kann. Die Bewegungsschätzungsablaufprogramme P1, P2 können durch ein Nutzer-Programm Interface UPI auch während der Laufzeit eines Algorithmus in den Programmcodespeicher geschrieben werden. Bei ausreichender Größe des Programmcodespeichers RAM kann nahezu jeder beliebige bekannte Algorithmus zur Bewegungsschätzung implementiert werden. Andererseits kann die Vorrichtung für die Evaluierungs- und Optimierungsphase der Architektur des Beschleunigerbausteins hinsichtlich Recheneffizienz und Geschwindigkeit optimiert werden.
  • Eine Bewegungsvektor-Generierungseinheit G greift auf den Programmcodespeicher RAM zu, um den Programmcode eines Bewegungsschätzungsablaufprogramms P1, P2 fortlaufend auszulesen und einen Bewegungsvektor V aus dem jeweiligen Programmbefehl zu generieren. In der Bewegungsvektor- Generierungseinheit G ist ein Absolutverschiebungsbefehl SET_ABS, ein Relativverschiebungsbefehl SET_REL, ein Inkrementverschiebungsbefehl SET_INC sowie ein Programmendebefehl DONE implementiert. An die Bewegungsvektor- Generierungseinheit G ist eine Evaluierungseinheit E geklemmt, die von der Bewegungsvektor-Generierungseinheit G angesteuert wird und zum Vergleichen des Muster-Bildblocks MB eines aktuellen Bildes AB mit einem um den Bewegungsvektor V versetzten Kandidaten-Bildblock K eines vorhergehenden oder nachfolgenden Referenzbildes RB ausgebildet ist. Die Evaluierungseinheit E berechnet eine Güte, die ein Maß für die Übereinstimmung zwischen dem Muster-Bildblock MB und dem betrachteten Kandidaten-Bildblock K darstellt.
  • Die Gütefunktion wird in eine Optimierungseinheit O geleitet, um mindestens einen Bewegungsvektor V zu bestimmen, der eine optimale Gütefunktion aufweist. Die Optimierungseinheit O ist somit ausgebildet, um vorzugsweise einen optimalen Bewegungsvektor V als Kandidatenvektor K zu bestimmen.
  • Die Vorrichtung ist erfindungsgemäß modular aufgebaut und wird von speziell definierten Programmcodebefehlen gesteuert. Diese Programmcodebefehle werden nachfolgend in Bezug auf die Fig. 3 bis 5 näher erläutert.
  • Die Fig. 3 zeigt eine Skizze eines vorhergehenden Bildes mit einem Kandidaten- Bildblock K, dessen Lage relativ zu dem Muster-Bildblock MB eines aktuellen Bildes AB um einen Bewegungsvektor VABS versetzt ist. Ein solcher auf den Muster-Bildblock bezogener Kandidaten-Bildblock K wird durch den Absolutverschiebungsbefehl SET_ABS (X, Y) definiert. Der Kandidaten-Bildblock K ist hierbei um X/2 Bildpunkte in horizontaler und Y/2 Bildpunkte in vertikaler Richtung von dem Muster-Bildblock MB verschoben. Mit dem Absolutverschiebungsbefehl wird der Muster-Bildblock MB aus dem aktuellen Bild AB somit durch Verschiebung um X/2 Bildpunkte in horizontaler und Y/2 Bildpunkte in vertikaler Richtung auf den Kandidaten-Bildblock K abgebildet. Gleichermaßen kann eine Verschiebung um X/4, Y/4 oder X/8, Y/8 etc. festgelegt sein.
  • Die Fig. 4 lässt eine Skizze eines vorhergehenden Bildes VB mit Kandidaten- Bildblöcken K erkennen, die relativ zueinander verschoben sind. Mit dem Relativverschiebungsbefehl SET_REL (X, Y) wird ein Bewegungsvektor V für einen Kandidaten-Bildblock K definiert, der sich durch Verschiebung des Muster-Bildblocks MB des aktuellen Bildes AB um X/2 Bildpunkte in horizontaler und Y/2 Bildpunkte in vertikaler Richtung (oder X/4/, Y/4; X/8, Y/8 etc.) additiv zu einem ausgewählten (z. B. einem bisher optimalen Bewegungsvektor VOPT) ergibt.
  • Die Fig. 5 lässt eine Skizze eines aktuellen Bildes AB mit einer Vielzahl von Bewegungsvektoren V erkennen, die durch additive Verschiebung zum vorhergehenden Kandidaten-Bildblock K hervorgehen. Mit dem Inkrementverschiebungsbefehl SET_INC (K, X, Y) wird eine Menge von Bewegungsvektoren V mit zugehörigen Kandidaten-Bildblöcken K festgelegt, die durch Verschiebung des Muster-Bildblocks MB des aktuellen Bildes AB im Referenzbild RB um X/2 Bildpunkte in horizontaler und Y/2 Bildpunkte in vertikaler Richtung (oder X/4, Y/4; X/8, Y/8 etc.) additiv zum jeweiligen vorhergehenden Bewegungsvektor V nacheinander abbildet. Die Anzahl der erzeugten Bewegungsvektoren V bzw. zugehörigen Kandidaten-Bildblöcke K wird durch den Parameter k festgelegt.
  • Weiterhin ist ein Programmendebefehl DONE in der Bewegungsvektor- Generierungseinheit G implementiert, um das Programmende zu kennzeichnen.
  • Mit den vorgenannten Programmbefehlen ist es möglich, nahezu jeden beliebigen Schätzungsalgorithmus mit geringstem Programmierungs- und Implementierungsaufwand zu realisieren.

Claims (6)

1. Vorrichtung zur Bewegungsschätzung von blockweise gruppierten Bilddaten von Bildsequenzen durch Vergleichen eines Muster-Bildblocks (MB) eines aktuellen Bildes (AB) mit Kandidaten-Bildblöcken (K) eines Referenzbildes (RB), wobei die Lageverschiebung der Position des Muster- Bildblocks (MB) im aktuellen Bild (AB) relativ zu der Position eines betrachteten Kandidaten-Bildblocks (K) im Referenzbild (RB) durch einen Bewegungsvektor (V) beschrieben wird, gekennzeichnet durch
einen Programmcodespeicher (RAM) zum Abspeichern einer Reihe von Programmbefehlen zur Festlegung von Bewegungsvektoren (V), wobei die Programmbefehle einen X-Parameter zur Definition einer Lageverschiebung in horizontaler Richtung und einen Y-Parameter zur Definition einer Lageverschiebung in vertikaler Richtung haben,
eine Bewegungsvektor-Generierungseinheit (G) zur Generierung mindestens eines Bewegungsvektors (V) aus einem Programmbefehl,
eine Evaluierungseinheit (E), die von der Bewegungsvektor- Generierungseinheit (G) angesteuert wird, zum Vergleich des Muster-Bildblocks (MB) eines aktuellen Bildes (AD) mit dem Kandidaten- Bildblock (K) eines Referenzbildes (RB), der um den Bewegungsvektor (V) versetzt ist, und Berechnen einer Gütefunktion in Abhängigkeit von der Übereinstimmung zwischen dem Muster-Bildblock (MB) und dem Kandidaten-Bildblock (K), und
eine Optimierungseinheit (O) zur Bestimmung mindestens eines Bewegungsvektors (V), der eine optimale Gütefunktion aufweist.
2. Vorrichtung nach Anspruch 1, gekennzeichnet durch eine Steuereinheit (UPI) für den Zugriff auf eine Reihe von Programmbefehlen mittels einer ersten Basisadresse (ADR) des Programmcodespeichers (RAM), wobei die Programmbefehle eines ersten Bewegungsschätzungsablaufprogramms (P1) beginnend von der ersten Basisadresse (ADR1) abgelegt werden und
mindestens eine weitere Basisadresse (ADR2) des Programmcodespeichers (RAM), wobei die Programmbefehle des mindestens einen weiteren Bewegungsschätzungsablaufprogramms (P2) beginnend von der weiteren Basisadresse (ADR2) abgelegt werden, und
wobei ein Wechsel des Bewegungsschätzungsablaufprogramms (P1, P2) durch Umschalten der Basisadressen (ADR) erfolgt.
3. Vorrichtung nach Anspruch 1 oder 2 dadurch gekennzeichnet, dass als Programmbefehl ein Absolutverschiebungsbefehl (SET_ABS) in der Bewegungsvektor-Generierungseinheit (G) implementiert ist, um einen Bewegungsvektor (V) als absolute Lageverschiebung des Muster-Bildblocks (MB) um einen zu dem X-Parameter und Y-Parameter proportionalen Wert relativ zum zu betrachtenden Kandidaten-Bildblock (K) festzulegen.
4. Vorrichtung nach einem der vorhergehenden Ansprüche dadurch gekennzeichnet, dass als Programmbefehl ein Relativverschiebungsbefehl (SET_REL) in der Bewegungsvektor-Generierungseinheit (G) implementiert ist, um einen Bewegungsvektor (V) als relative Lageverschiebung eines ausgewählten Kandidaten-Bildblocks (K) um einen zu dem X-Parameter und Y-Parameter proportionalen Wert relativ zum zu betrachtenden Kandidaten- Bildblock (K) festzulegen.
5. Vorrichtung nach einem der vorhergehenden Ansprüche dadurch gekennzeichnet, dass als Programmbefehl ein Inkrementverschiebungsbefehl (SET_INC) in der Bewegungsvektor-Generierungseinheit (G) implementiert ist, um eine Anzahl (k) von Bewegungsvektoren (V) als Lageverschiebung jeweils eines Kandidaten-Bildblocks (K) für einen unmittelbar vorher betrachteten Bewegungsvektor (V) um einen zu dem X-Parameter und Y- Parameter proportionalen Wert relativ zum zu betrachtenden Kandidaten- Bildblock (K) festzulegen.
6. Bewegungsschätzungsablaufprogramm (P1, P2) mit Programmcodemitteln zur Bewegungsschätzung von blockweise gruppierten Bilddaten von Bildsequenzen durch Vergleichen eines Muster-Bildblocks (MB) eines aktuellen Bildes (AB) mit Kandidaten-Bildblöcken (K) eines Referenzbildes (RB), wobei die Lageverschiebung der Position des Muster-Bildblocks (MB) im aktuellen Bild (AB) relativ zu der Position eines betrachteten Kandidaten- Bildblocks (K) im Referenzbild (RB) durch einen Bewegungsvektor (V) beschrieben wird, dadurch gekennzeichnet, dass die Programmcodemittel über
einen Absolutverschiebungsbefehl (SET_ABS) zum Festlegen eines Bewegungsvektors (V) als absolute Lageverschiebung des Muster- Bildblocks (MB) um einen zu dem X-Parameter und Y-Parameter proportionalen Wert relativ zum zu betrachtenden Kandidaten- Bildblock (K),
einen Relativverschiebungsbefehl (SET_REL) zum Festlegen eines Bewegungsvektors (V) als relative Lageverschiebung eines optimalen Kandidaten-Bildblocks (K) um einen zu dem X-Parameter und Y-Parameter proportionalen Wert relativ zum zu betrachtenden Kandidaten-Bildblock (K),
einen Inkrementverschiebungsbefehl (SET_INC) zum Festlegen einer Anzahl (k) von Bewegungsvektoren (V) als Lageverschiebung jeweils eines Kandidaten-Bildblocks (K) für einen unmittelbar vorher betrachteten Bewegungsvektor (V) um einen zu dem X-Parameter und Y-Parameter proportionalen Wert relativ zum zu betrachtenden Kandidaten-Bildblock (K).
verfügen.
DE10147535A 2001-09-26 2001-09-26 Vorrichtung zur Bewegungsschätzung und Bewegungsschätzungsablaufprogramm Expired - Fee Related DE10147535B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10147535A DE10147535B4 (de) 2001-09-26 2001-09-26 Vorrichtung zur Bewegungsschätzung und Bewegungsschätzungsablaufprogramm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10147535A DE10147535B4 (de) 2001-09-26 2001-09-26 Vorrichtung zur Bewegungsschätzung und Bewegungsschätzungsablaufprogramm

Publications (2)

Publication Number Publication Date
DE10147535A1 true DE10147535A1 (de) 2003-04-24
DE10147535B4 DE10147535B4 (de) 2004-12-02

Family

ID=7700404

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10147535A Expired - Fee Related DE10147535B4 (de) 2001-09-26 2001-09-26 Vorrichtung zur Bewegungsschätzung und Bewegungsschätzungsablaufprogramm

Country Status (1)

Country Link
DE (1) DE10147535B4 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0896300A2 (de) * 1997-08-07 1999-02-10 Matsushita Electric Industrial Co., Ltd. Vorrichtung und Verfahren zur Detektion eines Bewegungsvektors
DE19835845A1 (de) * 1998-08-07 2000-02-10 Siemens Ag Verfahren und Anordnung zur Bewegungsschätzung in einem digitalisierten Bild mit Bildpunkten

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0896300A2 (de) * 1997-08-07 1999-02-10 Matsushita Electric Industrial Co., Ltd. Vorrichtung und Verfahren zur Detektion eines Bewegungsvektors
DE19835845A1 (de) * 1998-08-07 2000-02-10 Siemens Ag Verfahren und Anordnung zur Bewegungsschätzung in einem digitalisierten Bild mit Bildpunkten

Also Published As

Publication number Publication date
DE10147535B4 (de) 2004-12-02

Similar Documents

Publication Publication Date Title
DE60105684T2 (de) System und Verfahren zur Fahrerunterstützung
EP0259562B1 (de) Verfahren zur bewegungskompensierten Bild-zu-Bild-Prädiktionscodierung
DE69627138T2 (de) Verfahren zum abschätzen der lage einer bild-zielregion aus mehreren regionen mitverfolgter landmarken
DE102018133582A1 (de) Vorrichtung zur Ausführung einer neuronalen Netzoperation und Verfahren zum Betreiben dieser Vorrichtung
EP0163885A1 (de) Anordnung zur Segmentierung von Linien
DE19613342A1 (de) Automatisches Bildauswertungsverfahren
DE102007040070B4 (de) Bilddichteumwandlungsverfahren, Bildverbesserungsverarbeitungseinrichtung und dafür geeignetes Programm
DE202017007512U1 (de) Bewegungsschätzung durch maschinelles Lernen
DE19704881A1 (de) Bildverfolgungsgerät zum Verfolgen eines Bildes innerhalb einer lokalen Region
DE19648016A1 (de) Verfahren zur fraktalen Bildkodierung und Anordnung zur Durchführung des Verfahrens
DE4415492C2 (de) Verfahren zur Erzeugung von Videoeffekten unter Verwendung von Schlüsselrahmen
DE19752929A1 (de) Bildverarbeitungseinrichtung
DE69821298T2 (de) Verfahren und Vorrichtung zur Detektion von Bewegungsvektoren und Vorrichtung zur Bildkodierung
DE102019210507A1 (de) Vorrichtung und computerimplementiertes Verfahren für die Verarbeitung digitaler Sensordaten und Trainingsverfahren dafür
DE10147535A1 (de) Vorrichtung zur Bewegungsschätzung und Bewegungsschätzungsablaufprogramm
DE69930333T2 (de) Verfahren und Vorrichtung zum Verarbeiten von Bildern und Aufnahmemedium dafür
EP0363677A2 (de) Schaltungsanordnung zur Schätzung von Bewegung in einem aufgenommenen Bild
WO2019242929A1 (de) Verfahren zur bestimmung von zueinander korrespondierenden bildpunkten, soc zur durchführung des verfahrens, kamerasystem mit dem soc, steuergerät und fahrzeug
EP0346635A2 (de) Bildcodierverfahren und Einrichtung
EP0039882B1 (de) Verfahren und Vorrichtung zum automatischen Erkennen eines Bildmusters, insbesondere eines Linienmusters
EP0272723A1 (de) Verfahren zur Bestimmung des zeitlichen Verlaufs eines Sprachparameters und Anordnung zur Durchführung des Verfahrens
WO2003025843A2 (de) Modellbasierte objektklassifikation und zielerkennung
DE69919468T2 (de) Steuergerät und Videoausrüstung
EP0534996B1 (de) Verfahren zur segmentierung bewegter objekte durch hintergrundadaption mit kompensation der kamerabewegung
EP3685352A1 (de) Verfahren und vorrichtung zum bewerten von bildern, betriebsassistenzverfahren und betriebsvorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee