[go: up one dir, main page]

DE602005000425T2 - Verfahren und Anordnung zur Erzeugung von Kandidatenvektoren für Bildinterpolierungssysteme, die Bewegungsabschätzung und -kompensation verwenden - Google Patents

Verfahren und Anordnung zur Erzeugung von Kandidatenvektoren für Bildinterpolierungssysteme, die Bewegungsabschätzung und -kompensation verwenden Download PDF

Info

Publication number
DE602005000425T2
DE602005000425T2 DE602005000425T DE602005000425T DE602005000425T2 DE 602005000425 T2 DE602005000425 T2 DE 602005000425T2 DE 602005000425 T DE602005000425 T DE 602005000425T DE 602005000425 T DE602005000425 T DE 602005000425T DE 602005000425 T2 DE602005000425 T2 DE 602005000425T2
Authority
DE
Germany
Prior art keywords
vectors
pixel
candidate
block
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.)
Expired - Lifetime
Application number
DE602005000425T
Other languages
English (en)
Other versions
DE602005000425D1 (de
Inventor
Marina Nicolas
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.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
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 STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of DE602005000425D1 publication Critical patent/DE602005000425D1/de
Application granted granted Critical
Publication of DE602005000425T2 publication Critical patent/DE602005000425T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • 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

Landscapes

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

Description

  • Die vorliegende Erfindung betrifft das Gebiet der sequentiellen Bildanzeige und genauer die Verfahren zur Bearbeitung von Bildern zum Codieren von Bildern oder Einfügen von Bildern in eine Bilderfolge vom Typ Video oder Film.
  • Bei gewissen Systemen zur Bearbeitung von Video- oder Filmbildern ist die Bildmenge (Anzahl von Bildern pro Sekunde) für eine qualitativ hochwertige Anzeige nicht ausreichend. Folglich werden zusätzliche Bilder über eine Interpolationsfunktion erzeugt und zwischen Ursprungsbildern angezeigt, um die Bildmenge zu erhöhen und die Qualität der Anzeige zu verbessern. Eine Interpolationsfunktion dieses Typs berechnet herkömmlicherweise den Wert der Bildpunkte eines interpolierten Bildes insbesondere in Abhängigkeit vom Wert der Bildpunkte des vorhergehenden Ursprungsbildes und/oder vom Wert der Bildpunkte des folgenden Ursprungsbildes.
  • Eine solche Interpolationsfunktion basiert auf der Korrelation, die zwischen aufeinander folgenden Bildern eines Videos oder eines Films besteht. In einer Videobildfolge erscheinen nämlich Gegenstände, die sich bewegen, im Allgemeinen in jeweils unterschiedlichen Zonen von mehreren aufeinander folgenden Bildern. Es werden somit interpolierte Bilder aus Teilen von vorhergehenden und/oder nachfolgenden Ursprungsbildern erzeugt.
  • Ein Bild ist herkömmlicherweise in Bildpunktblöcke unterteilt, und es wird angenommen, dass jeder Block im Wesentlichen von einem Bild zum anderen identisch ist, auch wenn eine Bewegung dieses Blocks zwischen zwei Bildern erfolgt ist. Aus diesem Grund wird ein Bild aus Ursprungsbildern interpoliert, wobei für jeden laufenden Block des Bildes während der Interpolation jener der Blöcke eines vorhergehenden Ursprungsbildes und/oder eines folgenden Ursprungsbildes gesucht wird, der der wahrscheinlichste ist.
  • Verfahren zur Bewegungsabschätzung und/oder -kompensation schlagen Methoden zum Suchen von so angepassten Blöcken für die Erzeugung von interpolierten Bildern vor. Eine Korrelation zwischen den Teilen der aufeinander folgenden Bilder, in denen ein Objekt in Bewegung erscheint, kann nämlich über einen Bewegungsvektor ausgedrückt werden. Dieser letztgenannte stellt die Bewegung eines Bildpunktblocks von einem Bild zum anderen dar. Er hat eine vertikale Komponente und eine horizontale Komponente, die die Verschiebung darstellen, die an den Block eines vorhergehenden Blocks anzulegen ist, um zur Position eines im Wesentlichen identischen Bildpunktblocks in einem folgenden Bilde zu gelangen.
  • Solche Verfahren werden herkömmlicherweise in Systemen zur Videodatenkompression, wie beispielsweise auf der MPEG-Norm basierenden Systemen, verwendet. Solche Systeme ermöglichen es, die Menge der zu übertragenden oder zu speichernden Bilddaten zu verringern, wobei diese Daten komprimiert werden, um ihre rasche Weiterleitung auf digitalen Netzen oder auch Telefonleitungen oder ihre Aufzeichnung auf digitalen Medien zu ermöglichen. Folglich werden nur gewisse Referenzbilder codiert und übertragen, dann werden empfängerseitig die fehlenden Zwischenbilder in Abhängigkeit von den mit den codierten Bildern übertragenen Bewegungsvektoren interpoliert.
  • In solchen Systemen wird senderseitig das Zwischenbild bearbeitet, um möglichst wenige Informationen zu übertragen, wie dies oben erwähnt ist. So ist das Zwischenbild in Blöcke unterteilt. Für jeden Block wird eine Korrelation zwischen dem laufenden Block und einer Auswahl von Kandidatenblöcken eines Ursprungsbildes oder eines bereits bearbeiteten vorhergehenden und/oder folgenden Bildes berechnet. Diese Korrelationsberechnung liefert einen Fehler in Verbindung mit jedem Kandidatenblock. Ein Kandi datenblock wird gewählt, um den laufenden Block des Zwischenbildes darzustellen. Der gewählte Kandidatenblock ist jener, der die größte Korrelation mit dem laufenden Block oder auch den geringsten Fehler aufweist. Um die Interpolation der Zwischenbilder empfängerseitig zu ermöglichen, wird das bearbeitete Bild über die folgenden Informationen übertragen, die im Allgemeinen in Zusammenhang mit einem laufenden Block eines zu interpolierenden Bildes entsandt werden:
    • – Angabe des gewählten Kandidatenblocks;
    • – Bewegungsvektor, der eine Translation des gewählten Kandidatenblocks zu der Position des laufenden Blocks darstellt;
    • – Fehler, der durch die Korrelationsberechnung geliefert wird.
  • So werden empfängerseitig die fehlenden bearbeiteten Bilder auf Basis der empfangenen Informationen mit den codierten Bildern interpoliert, und ein Wert der Bildpunkte jedes Blocks dieser Bilder wird somit bestimmt.
  • Gewisse verschlungene Bildanzeigesysteme verwenden auch Verfahren zur Abschätzung und/oder Kompensation einer Bewegung.
  • Vorrichtung zur Umsetzung von Bildmengen setzen ebenfalls solche Verfahren sein. Diese Vorrichtungen ermöglichen es nämlich, eine Ursprungsbildmenge zu erhöhen, wobei zusätzliche Bilder durch Interpolation der Ursprungsbilder erzeugt werden. Diese Vorrichtungen werden herkömmlicherweise verwendet, um Bildmengen zwischen einem Erzeugungs-, Codier-, Übertragungs- und/oder Speichersystem einerseits und einen Bildanzeigesystem andererseits, die unterschiedliche Bildmengen erfordern, anzupassen.
  • In diesem Fall ist das zu interpolierende Bild in Blöcke unterteilt. Für jeden der Blöcke erfolgt im Allgemeinen eine Erzeugung von Kandidatenvektoren. Für jeden der Kandidatenvektoren werden ein Block im vorhergehenden Ursprungsbild und ein Block im folgenden Ursprungsbild, die einer Translation der Position des laufenden Blocks in Bezug zum Kandidatenvektor entsprechen, ausgewählt, dann erfolgt eine Berechnung der Korrelation zwischen dem ausgewählten Block des vorhergehenden Bildes und dem ausgewählten Block des folgenden Bildes. Der gewählte Kandidatenvektor ist der Vektor, für den die größte Korrelation berechnet wird. Der laufende Block wird nun aus dem Block im vorhergehenden Ursprungsbild und dem Block im nachfolgenden Ursprungsbild, die dem gewählten Kandidatenvektor zugeordnet sind, interpoliert. So wird die Erzeugung von Bildern durch Interpolation erzielt.
  • Die Begriffe „bearbeitetes Bild" beziehen sich auf Bilder, die in eine Vielzahl von Blöcken unterteilt sind, für die ein Bewegungsvektor gewählt wurde. So werden durch Interpolation der bearbeiteten Bilder interpolierte Bilder erzeugt.
  • Das Dokument EP 1 128 678 A1 beschreibt ein Verfahren zur Bewegungsabschätzung für Videoanwendungen. Jedem Bildblock ist ein Bewegungsvektor zugeordnet, der aus den Bewegungsvektoren einer begrenzten Anzahl von benachbarten Blöcken (räumlich oder zeitlich) bestimmt wird.
  • Der folgende Abschnitt führt Grundbegriffe an, die herkömmlicherweise bei Verfahren zur Bewegungsabschätzung verwendet werden. Gemeinhin werden mehrere Bildtypen unterschieden: Ursprungsbilder des Typs I (Intra), die ohne Bezug zu anderen Bildern codiert sind, Bilder des Typs P (Prädiktiv), die über einen Bewegungsabschätzungsalgorithmus auf Basis eines vorhergehenden Ursprungsbildes interpoliert werden, und Bilder des Typs B (Bidirektional), die über einen Bewegungsabschätzungsalgorithmus auf Basis eines vorhergehenden Ursprungsbildes und eines nachfolgenden Ursprungsbildes interpoliert werden.
  • Wie vorher beschrieben, beruht eine Bewegungsabschätzung auf der Annahme, dass ein Bildpunktblock des in Bearbeitung befindlichen Bildes als Translation eines Blocks des vorhergehenden und/oder nachfolgenden Ursprungsbildes modelliert werden kann. Folglich wird jeder laufende Block des in Bearbeitung befindlichen Bildes normalerweise aus einem Block des vorhergehenden und/oder nachfolgenden Ursprungsbildes erzeugt. Es wird somit angenommen, dass jeder Bildpunkt eines selben Blocks im Wesentlichen derselben Translation unterliegt. Die Bewegungsvektoren stellen diese Translationsinformation dar. Folglich ist ein Bewegungsvektor jedem der Blöcke eines bearbeiteten Bildes zugeordnet, und aus diesem Grund wird ein interpoliertes Bild erhalten, wenn an die Blöcke des vorhergehenden Ursprungsbildes und/oder an die Blöcke des nachfolgenden Ursprungsbildes eine Translation angelegt wird, die den jeweils zugehörigen Bewegungsvektoren entspricht.
  • Eine Schwierigkeit solcher Verfahren besteht darin, für jeden der Blöcke eines zu interpolierenden laufenden Bildes den/die vorhergehenden und/oder nachfolgenden Bildblock(blöcke) zu suchen, die unter einer Gesamtheit von Kandidatenblöcken am besten geeignet sind. Zu diesem Zweck basieren die Verfahren zur Bewegungsabschätzung herkömmlicherweise auf Techniken zur Übereinstimmung der Blöcke, bei denen ein Bewegungsvektor durch die Reduktion einer Kostenfunktion, die die Differenz zwischen den übereingestimmten Blöcken misst, erhalten wird.
  • Für jeden gegebenen Block des in Bearbeitung befindlichen Bildes wird eine Technik der Bewegungssuche verwirklicht, um zu bestimmen, wo sich dieser Block in dem vorhergehenden Ursprungsbild und/oder dem nachfolgenden Ursprungsbild befindet. Dann wird der am besten geeignete unter den vorhergehenden und/oder nachfolgenden Bildblöcken gewählt. Dies basiert auf der Annahme, dass jeder Block im Wesentlichen von einem Bild zum anderen identisch wieder zu finden ist, wie dies vorher erwähnt wurde.
  • Es ist auch eine Technik bekannt, die auf einem kompletten Suchalgorithmus (in Englisch „full search") basiert, nach dem eine Gesamtheit von Blöcken in dem vorhergehenden Ursprungsbild und/oder in dem nachfolgenden Ursprungsbild ausgewählt wird, die sich innerhalb eines auf den Block zentrierten Fensters mit bestimmten Dimensionen befinden, das Suchfenster genannt wird. Es wird eine Korrelation für jeden der Blöcke des Suchfensters des vorhergehenden und/oder nachfolgenden Ursprungsbildes berechnet. Es wird der Block ausgewählt, der die beste Korrelation (oder auch den kleinsten Fehler) ergibt.
  • 1 stellt eine solche Suche dar, die an einem Suchfenster angewandt wird, dessen Dimensionen 8 Blöcke zu 4 Blöcken sind.
  • Ein Hauptnachteil dieses Prinzips ist die Anzahl von durchzuführenden Berechnungen, und zwar umso mehr, als das Suchfenster groß ist.
  • Weitere Suchtechniken liefern eine Bewegungsabschätzung in Abhängigkeit von Informationen, die jeweils den Blöcken eines vorhergehenden bearbeiteten Bildes und/oder den Blöcken des in Bearbeitung befindlichen Bildes zugeordnet sind, um eine Bewegungsabschätzung jedes der laufenden Blöcke des in Bearbeitung befindlichen Bildes zu erhalten. Bei diesem Verfahrenstyp wird ein Bewegungsvektor jedem der Blöcke der bearbeiteten Bilder zugeordnet, und werden diese Bewegungsvektoren gespeichert, um bei der Bearbeitung des folgenden zu bearbeitenden Bildes zu dienen.
  • Zu diesem Zweck werden herkömmlicherweise zwei Typen von Bewegungsvektoren definiert:
    • – räumliche Bewegungsvektoren, die eine räumliche Korrelation darstellen, d.h. die die Bewegung von benachbarten Blöcken in dem in Bearbeitung befindlichen Bild darstellen; und
    • – zeitliche Bewegungsvektoren, die eine zeitliche Korrelation darstellen, d.h. die die Bewegung von beliebigen Blöcken in dem vorhergehenden bearbeiteten Bild darstellen.
  • Es sind Verfahren bekannt, die vorschlagen, die Menge der Berechnungen zur Suche von für die Bearbeitung eines Bildes geeigneten Blöcken zu verringern, wobei Kandidatenbewegungsvektoren in einem Suchfenster ausgewählt werden. Die Korrelationsberechnung erfolgt nur für diese ausgewählten Kandidatenvektoren. So wird durch Begrenzung der Anzahl von Bewegungsvektoren die erforderliche Anzahl von Korrelationsberechnungen verringert. Aus diesem Grund ist die Auswahl eines Bewegungsvektors für einen laufenden Block eines in Bearbeitung befindlichen Bildes weniger kostspielig.
  • Gewisse Verfahren schlagen eine Auswahl von Kandidatenbewegungsvektoren auf Basis eines Kriteriums vor, das mit der relativen Position von Blöcken des vorhergehenden bearbeiteten Bildes in Bezug zur Position des laufenden Blocks in dem in Bearbeitung befindlichen Bild zusammenhängt. So werden Kandidatenbewegungsvektoren nur dahingehend ausgewählt, dass sie Blöcken zugeordnet sind, die auf Grund ihrer Position als stichhaltig angesehen werden.
  • Überdies wird angenommen, dass die Bewegung eines Blocks im Wesentlichen gleichwertig mit der Bewegung eines benachbarten Blocks ist. Aus diesem Grund werden im Allgemeinen ferner räumliche Kandidatenbewegungsvektoren ausgewählt, d.h. Bewegungsvektoren, die bereits benachbarten Bildpunktblöcken in dem in Bearbeitung befindlichen Bild zugeordnet wurden.
  • Bei diesem Verfahrenstyp besteht die Gefahr, dass eine Gesamtheit von nicht stichhaltigen Kandidatenvektoren für einen gegebenen laufenden Block ausgewählt und aus diesem Grund ein Bewegungsvektor unter einer Gesamtheit von Kandidatenbewegungsvektoren gewählt wird, der für einen laufenden Block nicht stichhaltig sein kann. Die Auswahl der Kandidatenbewegungsvektoren erfolgt nämlich nach einer festen Regel, die mit der Position der Blöcke in Bezug zum laufenden Block verbunden ist: sie erfolgt somit unabhängig von der tatsächlichen Stichhaltigkeit der Blöcke in Bezug zum laufenden Block.
  • Die 2a und 2b stellen eine Auswahl von Kandidatenbewegungsvektoren dieses Typs in einem Suchfenster um einen laufenden Block 201 eines in Bearbeitung befindlichen Bildes 200 dar (2a). Das entsprechende Suchfenster in dem vorhergehenden bearbeiteten Bild trägt das Bezugszeichen 206 (2b). Es werden Kandidatenblöcke für den laufenden Block 201 in Abhängigkeit von ihrer relativen Position zum laufenden Block ausgewählt. So werden die Blöcke 202, 203, 204 und 205 des laufenden bearbeiteten Bildes und die Blöcke 207, 208, 209, 210 und 211 des vorhergehenden bearbeiteten Bildes ausgewählt. Die ausgewählten Kandidatenbewegungsvektoren für den laufenden Block 201 sind folglich die Bewegungsvektoren V1, V2, V3, V4, V5, V6, V7, V8 und V9, die den Blöcken 202, 203, 204, 205, 206, 207, 208, 209, 210 bzw. 211 zugeordnet sind.
  • Die Auswahl der Kandidatenvektoren gehorcht einer festen Regel. Unter solchen Umständen führt die Auswahl zu relativ geringen Leistungen, insbesondere wenn der laufende Bildpunktblock in dem in Bearbeitung befindlichen Bild der Grenze eines Objekts in Bewegung entspricht.
  • Nun ist die Leistung der Vorrichtungen zur Abschätzung und/oder Kompensation einer Bewegung in hohem Maße von der Qualität der Auswahl der Kandidatenbewegungsvektoren abhängig. Eine leistungsstarke Auswahl von Kandidatenbewegungsvektoren ermöglicht es nämlich, die Anzahl von Korrelationsberechnungen, die gleich der Anzahl von ausgewählten Kandidatenbewegungsvektoren ist, zu verringern. Folglich ist es wünschenswert, über eine Methode zur Auswahl von Kandidatenvektoren zu verfügen, die wirksam ist. Andererseits muss diese Auswahl mit Hilfe von Auswahlregeln durchführbar sein, die einfach sind.
  • Die vorliegende Erfindung soll diese Bedürfnisse abdecken, wobei sie eine Methode zur Erzeugung von Kandidatenbewegungsvektoren aus in Abhängigkeit von einem Qualitätskriterium für die Bewegungsvektoren ausgewählten Bewegungsvektoren vorschlägt. Aus diesem Grund bietet die vorliegende Erfindung einen Kompromiss zwischen einer wirksamen Erzeugung mit Hilfe von relativ raschen und einfach einzusetzenden Auswahlregeln und einer guten Qualität der Bilder.
  • Ein erster Aspekt der Erfindung betrifft somit ein Verfahren zur Bewegungsabschätzung für die Bearbeitung von Bildern, die dazu bestimmt sind, sich jeweils zwischen ein vorhergehendes Ursprungsbild und ein nachfolgendes Ursprungsbild in einer bestimmten Bilderfolge einzufügen, wobei jedes Bild in eine Vielzahl von Bildpunktblöcken unterteil ist, wobei ein Bewegungsvektor jedem der Bildpunktblöcke eines bearbeiteten Bildes zugeordnet ist, wobei das Verfahren für einen laufenden Block eines in Bearbeitung befindlichen Bildes die folgenden Schritte umfasst:
    • – Auswahl von Bewegungsvektoren, die jeweiligen Bildpunktblöcken des in Bearbeitung befindlichen Bildes zugeordnet sind, und von Bewegungsvektoren, die je weiligen Bildpunktblöcken eines vorhergehenden bearbeiteten Bildes zugeordnet sind, jeweils räumliche Bewegungsvektoren und zeitliche Bewegungsvektoren genannt;
    • – Erzeugung von Kandidatenbewegungsvektoren aus den ausgewählten Bewegungsvektoren;
    • – Auswahl eines Bewegungsvektors unter den Kandidatenbewegungsvektoren;
    • – Speicherung einer Zuordnung des gewählten Bewegungsblocks zum laufenden Bildpunktblock;
    wobei ein zeitlicher Bewegungsvektor nur dann ausgewählt wird, wenn er einem bestimmten Auswahlkriterium entspricht, das auf der Ausrichtung des Bewegungsvektors basiert.
  • Ein zweiter Aspekt der Erfindung betrifft eine Vorrichtung zur Bewegungsabschätzung, um Bilder zu bearbeiten, die dazu bestimmt sind, sich jeweils zwischen ein vorhergehendes Ursprungsbild und ein folgendes Ursprungsbild in eine bestimmte Bilderfolge einzufügen, wobei jedes Bild in eine Vielzahl von Bildpunktblöcken unterteilt ist, wobei ein Bewegungsvektor jedem der Bildpunktblöcke eines bearbeiteten Bildes zugeordnet ist, wobei die Vorrichtung für einen laufenden Block eines in Bearbeitung befindlichen Bildes umfasst:
    • – eine Auswahleinheit, um Bewegungsvektoren, die jeweiligen Bildpunktblöcken des in Bearbeitung befindlichen Bildes zugeordnet sind, und Bewegungsvektoren auszuwählen, die jeweiligen Bildpunktblöcken eines vorhergehenden bearbeiteten Bildes zugeordnet sind, jeweils räumliche Bewegungsvektoren und zeitliche Bewegungsvektoren genannt;
    • – eine Erzeugungseinheit, um Kandidatenbewegungsvektoren aus den ausgewählten Bewegungsvektoren zu erzeugen;
    • – eine Auswahleinheit, um einen Bewegungsvektor unter den Kandidatenbewegungsvektoren auszuwählen;
    • – einen Speicher, um eine Zuordnung des gewählten Bewegungsvektors zum laufenden Bildpunktblock zu speichern;
    wobei ein zeitlicher Bewegungsvektor nur dann gewählt wird, wenn er einem bestimmten Auswahlkriterium entspricht, das auf der Ausrichtung des Bewegungsvektors basiert.
  • Ein dritter Aspekt der Erfindung betrifft ein „Computerprogramm", das direkt in den internen Speicher eines digitalen Computers geladen werden kann und Softwarecodeabschnitte für die Ausführung der Schritte des Verfahrens nach dem ersten Aspekt umfasst, wenn das Programm im Computer ausgeführt wird.
  • Weitere Aspekte, Ziele und Vorteile der Erfindung gehen aus der Studie der Beschreibung einer ihrer Ausführungsarten hervor.
  • Die Erfindung wird auch mit Hilfe der Zeichnungen besser verständlich, wobei:
  • 1, die bereits kommentiert wurde, eine Technik zur Auswahl von Bewegungsvektoren basierend auf einem kompletten Suchalgorithmus darstellt;
  • die 2a und 2b, die bereits kommentiert wurden, eine Technik zur Auswahl von Kandidatenbewegungsvektoren in Abhängigkeit von der Position der entsprechenden Bildpunktblöcke in Bezug zum laufenden Block;
  • 3 ein Organigramm darstellt, das der Erzeugung von Kandidatenbewegungsblöcken des in Bearbeitung befindlichen Bildes nach einer Einsatzart der vorliegenden Erfindung entspricht;
  • die 4a bis 4f die Erzeugung von Kandidatenbewegungsvektoren des in Bearbeitung befindlichen Bildes nach einer Einsatzart der vorliegenden Erfindung darstellen;
  • 5a und 5b eine Technik zur Erzeugung von Kandidatenbewegungsvektoren des in Bearbeitung befindlichen Bildes nach einer Einsatzart der vorliegenden Erfindung darstellen;
  • 6 eine Technik zur Erzeugung von Kandidatenbewegungsvektoren des in Bearbeitung befindlichen Bildes unter zeitlichen Bewegungsvektoren nach einer Einsatzart der Erfindung darstellen.
  • Bei allen Einsatzarten der vorliegenden Erfindung erfolgt für zumindest gewisse der Bildpunktblöcke des in Bearbeitung befindlichen Bildes (nachstehend laufender Block) eine Erzeugung von Kandidatenbewegungsvektoren aus Bewegungsvektoren, die unter räumlichen Bewegungsvektoren (nachstehend räumliche Vektoren) und unter zeitlichen Bewegungsvektoren (nachstehend zeitliche Vektoren) ausgewählt wurden.
  • Es ist anzumerken, dass sich die Begriffe „Erzeugung eines Kandidatenvektors aus Bewegungsvektoren" auf die Tatsache beziehen, dass die Kandidatenvektoren zu den ausgewählten Bewegungsvektoren unterschiedlich sein können. Die ausgewählten Bewegungsvektoren, räumlicher oder zeitlicher Natur, können nämlich für die Erzeugung von Kandidatenvektoren angepasst sein, die es ermöglichen, die Leistung solcher Bildbearbeitungsverfahren zu optimieren.
  • Räumliche Kandidatenvektoren sind stichhaltig, wenn sie einem Bildpunktblock zugeordnet sind, der dasselbe Objekt wie der laufende Block darstellt. Ein Block, der der Umrandung des Objekts entspricht, weist einen zugehörigen räumlichen Vektor auf, der aus diesem Grund weniger stich haltig ist. Um die Bewegungsabschätzung zusammenzuführen und eine gewisse Homogenität in einer Bildfolge zu gewährleisten, ist es in jedem Fall üblich, räumliche Bewegungsvektoren auszuwählen.
  • Die Auswahl von räumlichen Vektoren erfolgt vorzugsweise in Abhängigkeit von der Position der Bildpunktblöcke des in Bearbeitung befindlichen Bildes in Bezug zum laufenden Block. So werden als Kandidatenbewegungsvektoren räumliche Vektoren ausgewählt, die Blöcken des in Bearbeitung befindlichen Bildes zugeordnet sind, die durch ihre relative Position zum laufenden Block bestimmt werden.
  • Überdies werden auch zeitliche Vektoren ausgewählt. Vorzugsweise wird eine Gesamtheit von zeitlichen Vektoren vorher in Abhängigkeit von einfachen Kriterien bestimmt. Eine solche Gesamtheit von zeitlichen Bewegungsvektoren kann leicht bestimmt werden, wobei ein Suchfenster definiert wird, dessen Dimensionen N Blöcke zu M Blöcken sind, wobei N und M ganze Zahlen sind, und das die dem laufenden Block im vorhergehenden bearbeiteten Bild entsprechende Position umgibt. 6 stellt eine solche Gesamtheit von Bildpunktblöcken dar, die dem vorhergehenden bearbeiteten Bild angehören. Die dem laufenden Block im vorhergehenden bearbeiteten Bild 613 entsprechende Position befindet sich im Zentrum der Gesamtheit von Blöcken, die von den 25 Blöcken 601625 gebildet ist. Bewegungsvektoren V1–V25 sind jeweils den Blöcken 601625 zugeordnet.
  • Unter dieser Gesamtheit von zeitlichen Vektoren werden Kandidatenbewegungsvektoren in Abhängigkeit von einem Auswahlkriterium in Bezug auf ihre jeweilige Ausrichtung ausgewählt.
  • Bei einer bevorzugten Einsatzart der Erfindung werden nur die zeitlichen Vektoren ausgewählt, die die Bildpunktblöcke, denen sie jeweils zugeordnet sind, dem laufenden Block annähern. So werden nur zeitliche Vektoren, die in Richtung des laufenden Blocks ausgerichtet sind, ausgewählt, um Kandidatenvektoren zu erzeugen. Solche zeitlichen Bewegungsvektoren werden im Sinne der vorliegenden Erfindung als stichhaltig bezeichnet.
  • Um die an jeden der Kandidatenbewegungsvektoren angelegten Berechnungen zu begrenzen, um die am besten angepassten der Kandidatenbewegungsvektoren auszuwählen, ist es interessant, eine feste Anzahl von Kandidatenbewegungsvektoren zu bestimmen, wobei diese feste Anzahl derart bestimmt ist, dass sie einem Kompromiss zwischen einer guten Qualität der durch Interpolation erhaltenen Bilder (aus bearbeiteten Bildern für die Codierung oder für die Umsetzung einer Bildermenge) und einer begrenzten Menge an Berechnungen gerecht wird.
  • Zu diesem Zweck wird bei einer Einsatzart der Erfindung eine bestimmte Anzahl Q von Kandidatenbewegungsvektoren erzeugt, wobei Q sehr viel kleiner als die Gesamtzahl von Bildpunktblöcken eines Bildes ist (wenn Bildpunktblöcke von fester Größe zur Vereinfachung betrachtet werden).
  • 3 stellt ein Organigramm der Erzeugung von Kandidatenbewegungsvektoren des in Bearbeitung befindlichen Bildes nach einer Einsatzart der vorliegenden Erfindung dar. Die Erzeugung erfolgt durch Erzeugen der Kandidatenvektoren aus räumlichen Bewegungsvektoren in einem ersten Schritt, dann durch Erzeugung der Kandidatenvektoren aus zeitlichen Bewegungsvektoren in einem zweiten Schritt, dann gegebenenfalls durch Reiteration dieser beiden Schritte. Ein Zähler I entspricht der Iterationszahl dieser beiden Erzeugungsschritte. Ein Zähler Z entspricht der Anzahl von bereits erzeugten Kandidatenvektoren. Ein Zähler S entspricht der Anzahl von Kandidatenvektoren, die aus räumlichen Bewegungsvektoren während einer Iteration der Erzeugungsschritte erzeugt werden.
  • Die Zähler S, I und Z werden auf Null initialisiert (Schritt 301). Dann wird der Zähler S wieder initialisiert und der Iterationszähler der Auswahlschritte um 1 inkrementiert (Schritt 302).
  • In dem ersten Schritt (Schritt 305) wird eine bestimmte Anzahl X von Kandidatenvektoren aus räumlichen Kandidatenbewegungsvektoren erzeugt (schritt 304 und 305). Der Zähler Z von erzeugten Kandidatenbewegungsvektoren wird um 1 inkrementiert (Schritt 306).
  • Dann werden in dem zweiten Erzeugungsschritt, solange dies möglich ist (Schritt 307), stichhaltige zeitliche Bewegungsvektoren in einer Gesamtheit von vorher definierten zeitlichen Bewegungsvektoren ausgewählt (Schritt 308), wobei der Zähler Z der erzeugten Kandidatenbewegungsvektoren jeweils inkrementiert wird (Schritt 309). Die zeitlichen Bewegungsvektoren werden ausgewählt, wenn sie einem Stichhaltigkeitskriterium entsprechen, das mit ihrer Ausrichtung verbunden ist, um Kandidatenbewegungsvektoren zu erzeugen (Schritt 307). Dieser zweite Erzeugungsschritt wird durchgeführt, solange die Gesamtzahl von bereits erzeugten Kandidatenbewegungsvektoren, d.h. die Summe der Anzahl der Kandidatenvektoren, die aus räumlichen Bewegungsvektoren erzeugt wurden, und der Anzahl der Kandidatenvektoren, die aus zeitlichen Bewegungsvektoren erzeugt wurden, kleiner oder gleich der bestimmten Anzahl Q ist (Schritt 306).
  • Wenn nach dem zweiten Schritt (310) die Gesamtzahl von erzeugten Kandidatenbewegungsvektoren deutlich kleiner als die bestimmte Anzahl Q ist, wird vorzugsweise die Gesamtheit oder ein Teil des ersten Schritts reiteriert. Der Zähler I wird um 1 inkrementiert und der Zähler S wird auf 0 initialisiert (Schritt 302). Dann werden Kandidatenbewegungsvektoren aus räumlichen Vektoren (Schritt 305) erzeugt. Bei einer bevorzugten Ausführungsart der vorliegenden Erfindung werden im ersten reiterierten Erzeugungsschritt mit der Iterationszahl I Kandidatenbewegungsvektoren aus bereits im ersten Erzeugungsschritt der vorhergehenden Iteration erzeugten Kandidatenbewegungsvektoren mit der Iterationszahl I-1 erzeugt. Bei einer weiteren Ausführungsart der Erfindung werden Kandidatenbewegungsvektoren aus bereits bei der vorhergehenden Iteration dieses ersten Erzeugungsschrittes ausgewählten räumlichen Vektoren erzeugt. Der erste Erzeugungsschritt wird unterbrochen, sobald eine Anzahl von Kandidatenbewegungsvektoren gleich Q erreicht ist (Schritt 303).
  • Wenn am Ende des ersten Schritts der zweiten Iteration die bestimmte Anzahl Q von Kandidatenbewegungsvektoren immer noch nicht erreicht ist, werden bei einer bevorzugten Ausführungsart der Erfindung Kandidatenbewegungsvektoren aus Kandidatenbewegungsvektoren erzeugt, die bereits aus zeitlichen Bewegungsvektoren erzeugt wurden. Bei einer weiteren Ausführungsart der Erfindung werden Kandidatenvektoren aus zeitlichen Bewegungsvektoren erzeugt, die bereits bei der vorhergehenden Iteration dieses ersten Erzeugungsschritts erzeugt wurden. Und so weiter.
  • Dieses Prinzip der Reiteration der ersten und zweiten Auswahlschritte wird, wie vorher beschrieben, angewandt, bis die Anzahl von Kandidatenbewegungsvektoren gleich Q ist.
  • Bei einer Ausführungsart der vorliegenden Erfindung werden die ausgewählten räumlichen und zeitlichen Bewegungsvektoren sowie die bereits ausgewählten Kandidatenvektoren bearbeitet, um die Kandidatenvektoren zu erzeugen. Bei einer Ausführungsart der Erfindung besteht die Bearbeitung darin, einen Zufallsvektor zu jedem ausgewählten Vektor hinzuzufügen, egal ob es ein räumlicher Bewegungsvektor, ein zeitlicher Bewegungsvektor oder auch ein bereits bei einer vorhergehenden Iteration des ersten oder zweiten Erzeugungsschrittes ausgewählter Kandidatenvektor ist, um einen Kandidatenvektor zu erzeugen, der es ermöglicht, eine Diversität der Kandidatenvektoren zu gewährleisten.
  • Bei einer bevorzugten Einsatzart der vorliegenden Erfindung ist das an die zeitlichen Bewegungsvektoren im Falle des in 6 dargestellten Beispiels nachstehend beschrieben, wobei Vix die horizontale Komponente und Viy die vertikale Komponente eines Bewegungsvektors Vi mit 1 ≤ i ≤ 25 bezeichnet.
    • V1 wird ausgewählt, wenn Min(V1x, V1y) ≥ 0
    • V2 wird ausgewählt, wenn Min(V2x, V2y) ≥ 0
    • V3 wird ausgewählt, wenn V3y ≥ 0
    • V4 wird ausgewählt, wenn Min(–V4x, V4y) ≥ 0
    • V5 wird ausgewählt, wenn Min(–V5x, V5y) ≥ 0
    • V6 wird ausgewählt, wenn Min(V6x, V6y) ≥ 0
    • V7 wird ausgewählt, wenn Min(V7x, V7y) ≥ 0
    • V8 wird ausgewählt, wenn V8y ≥ 0
    • V9 wird ausgewählt, wenn Min(V9x, –V9y) ≥ 0
    • V10 wird ausgewählt, wenn Min(–V10x, V10y) ≥ 0
    • V11 wird ausgewählt, wenn V11x ≥ 0
    • V12 wird ausgewählt, wenn V12x ≥ 0
    • V13 wird ausgewählt, wenn Max(Abs(V13x), Abs(V13y) ≤ Larg (Block)
    • V14 wird ausgewählt, wenn Vt14x ≤ 0
    • V15 wird ausgewählt, V15x ≤ 0
    • V16 wird ausgewählt, wenn Min(V16x, –V16y) ≥ 0
    • V17 wird ausgewählt, wenn Max(V17x, –V17y) ≥ 0
    • V18 wird ausgewählt, wenn V18y ≤ 0
    • V19 wird ausgewählt, wenn Min(V19x, V19y) ≤ 0
    • V20 wird ausgewählt, wenn Max(V20x, V20y) ≤ 0
    • V21 wird ausgewählt, wenn Min(V21x, –V21y) ≤ 0
    • V22 wird ausgewählt, wenn Min(V22x, –V22y) ≤ 0
    • V23 wird ausgewählt, wenn V23y) ≤ 0
    • V24 wird ausgewählt, wenn Max(V24x, V24y) ≤ 0
    • V25 wird ausgewählt, wenn Max(V25x, V25y) ≤ 0
    wobei
    • Min(a, b) den kleinsten Wert von a oder b darstellt;
    • Max(a, b) den größten Wert von a oder b darstellt;
    • Abs(a) den Absolutwert von a darstellt;
    • Larg(Block) den konstanten Wert eines Bildpunktblocks darstellt.
  • Die 4a bis 4f stellen die Auswahl einer Gesamtheit von Bewegungsvektoren nach einem Einsatzbeispiel der vorliegenden Erfindung dar.
  • 4b stellt die Übereinanderpositionierung des laufenden Blocks 207 und des Blocks 405 dar, die das Ergebnis der vektoriellen Translation des Kandidatenblocks 207 entlang des Bewegungsvektors V5 bildet. Da die beiden Blöcke 207 und 405 einander auf einem Teil im Wesentlichen gleich einer Hälfte der Oberfläche eines Blocks überlagern, stellt sich der als Kandidatenbewegungsvektor ausgewählte Bewegungsvektor V5 als eher stichhaltig heraus.
  • 4c stellt die Übereinanderpositionierung des laufenden Blocks 207 und des Blocks 406 dar, die das Ergebnis der vektoriellen Translation des Kandidatenblocks 208 entlang des zugehörigen Bewegungsvektors V6 bildet. Da die beiden Blöcke 207 und 406 einander auf einem Teil im Wesentlichen gleich einem Neuntel der Oberfläche eines Blocks überlagern, stellt sich der ausgewählte Bewegungsvektor V6 als ein relativ stichhaltiger Vektor für den laufenden Block 207 heraus.
  • 4d stellt die Übereinanderpositionierung des laufenden Blocks 207 und des Blocks 407 dar, die das Ergebnis der vektoriellen Translation des Kandidatenblocks 109 entlang des Bewegungsvektors V7 bildet. Da die beiden Blöcke 207 und 407 einander auf einem Teil im Wesentlichen gleich 9/10-tel der Oberfläche eines Blocks überlagern, ist der Kandidatenbewegungsvektor V7 sehr stichhaltig.
  • 4e stellt die Übereinanderpositionierung des laufenden Blocks 207 und des Blocks 408 dar, die das Ergebnis der vektoriellen Translation des Kandidatenblocks 210 entlang des Bewegungsvektors V8 bildet. Die beiden Blöcke 207 und 408 überlagern einander auf einem Teil im Wesentlichen gleich der Hälfte der Oberfläche eines Blocks, wobei sich der Vektor V8 als relativ stichhaltig herausstellt.
  • 4f stellt die Übereinanderpositionierung des laufenden Blocks 207 und des Blocks 409 dar, die das Ergebnis der vektoriellen Translation des Kandidatenblocks 211 entlang des Bewegungsvektors V9 bildet. Die Blöcke 207 und 409 überlagern einander gar nicht der Kandidatenvektor V9 ist nicht stichhaltig.
  • Die 5a und 5b stellen den Einsatz der vorliegenden Erfindung in einem Beispiel dar, in dem nur ein zeitlicher Bewegungsvektor in dem Suchfenster 500 als zeitlicher Kandidatenbewegungsvektor ausgewählt wird und somit stichhaltig ist. So ist die Gesamtheit der Blöcke 500 in dem vorhergehenden bearbeiteten Bild enthalten, wobei die Blöcke 501, 502, 503, 504, 505, 506, 507, 508 und 509 jeweils Bewegungsvektoren V1, V2, V3, V4, V5, V6, V7, V8 und V9 zugeordnet sind. 5b stellt die Blöcke 511, 512, 513, 514, 515, 516, 517, 518 und 519 dar, die der Translation der zeitlichen Kandidatenblöcke entlang ihres jeweiligen zugehörigen Bewegungsvektors entsprechen. Nur der Bewegungsvektor V5 ist stichhaltig.
  • Ferner stellt ein Bewegungsvektor, der einem gegebenen Bildpunktblock zugeordnet ist, tatsächlich die Bewegung jedes Bildpunktes des Blocks auf annähernde Weise von einem Bild zum anderen dar, da alle Bildpunkte eines selben Blocks nicht genau dieselbe Bewegung haben. Bei einer Ausführungsart der Erfindung wird ein Bildpunkt selbst, um die Genauigkeit der interpolierten Bilder, die aus bearbeiteten Bildern erhalten werden, zu erhöhen, wenn die Anwendung eine Umsetzung einer Bildermenge betrifft, in mehrere Bildpunktunterblöcke unterteilt, und ein korrigierter Bewegungsvektor wird für jeden Unterblock berechnet. Die korrigierten Bewegungsvektoren eines Unterblocks werden in Abhängigkeit vom Bewegungsvektor des jeweiligen Blocks und von Bewegungsvektoren eines Bildpunktblocks oder von benachbarten Bildpunktunterblöcken berechnet.
  • In der Praxis werden zufrieden stellende Leistungen des erfindungsgemäßen Auswahlverfahrens erhalten, wenn die Anzahl Q von Kandidatenbewegungsvektoren auf 16 oder 32, die Anzahl von verfügbaren räumlichen Bewegungsvektoren, wie oben definiert, auf 4 und die Anzahl von verfügbaren zeitlichen Bewegungsvektoren, wie oben definiert, auf 9 oder 25 festgesetzt wird.
  • Bei einer Ausführungsart der Erfindung wird das bearbeitete Bild durch Bestimmung der Werte der Bildpunkte des laufenden Blocks in Abhängigkeit von den Werten der vom Bewegungsvektor angezeigten Bildpunkte, welcher in dem vorhergehenden Ursprungsbild aus Positionen der Bildpunkte des laufenden zu interpolierenden Bildpunktblocks ausgewählt wurde, und/oder von den Werten der vom Bewegungsvektor angezeigten Bildpunkte, welcher in dem nachfolgenden Ursprungsbild aus Positionen der Bildpunkte des zu interpolierenden laufenden Bildpunktblocks ausgewählt wurde.
  • In diesem Fall kann der Bildpunktblock in eine Vielzahl von Bildpunktunterblöcken unterteilt werden. Der Schritt der Bestimmung der Bildpunktwerte kann nun für jeden Unterblock eines laufenden Blocks die folgenden Schritte umfassen:
    • – Berechnung eines korrigierten Bewegungsvektors in Zusammenhang mit dem Unterblock aus dem ausgewählten Bewegungsvektor des laufenden Blocks und mindestens einem ausgewählten Bewegungsvektor eines benachbarten Blocks oder Unterblocks;
    • – Zuordnung des korrigierten Bewegungsvektors dem Unterblock;
    • – Bestimmung der Bildpunktwerte des Unterblocks in Abhängigkeit von den Werten der von dem Bewegungsvektor angezeigten Bildpunkte, welcher in dem vorhergehenden Ursprungsbild aus Positionen der Bildpunkte des zu interpolierenden Bildpunktunterblocks korrigiert wurde, und von den Werten der Bildpunkte, die von dem Bewegungsvektor angezeigt werden, der in dem nachfolgenden Ursprungsbild aus Positionen der Bildpunkte des zu interpolierenden Bildpunktunterblocks korrigiert wurde.
  • Bei einer Ausführungsart der vorliegenden Erfindung werden die zeitlichen Bewegungsvektoren aus einer Gesamtheit ausgewählt, die zeitliche Bewegungsvektoren umfasst, die Bildpunktblöcken des vorhergehenden bearbeiteten Bildes entsprechen, dessen Positionen in Bezug auf die Position des laufenden Bildpunktblocks des in Bearbeitung befindlichen Bildes vorbestimmt und festgesetzt sind, wobei die Gesamtheit, die eine Gesamtheit eine Gesamtheit von Bildpunktblöcken um den laufenden Bildpunktblock bildet.
  • Der Auswahlschritt kann nach einer Ausführungsart der Erfindung in folgenden Schritten durchgeführt werden:
    • – für jeden der Kandidatenbewegungsvektoren Berechnung eines Fehlers basierend auf der Korrelation zwischen den Werten der Bildpunkte eines ersten Bildpunktblocks, der von dem Kandidatenbewegungsvektor angezeigt wird, welcher in dem vorhergehenden Ursprungsbild aus Positionen der Bild punkte des zu bearbeitenden laufenden Bildpunktblocks gegeben ist, und/oder den Bildpunktwerten eines zweiten Bildpunktblocks, der vom Kandidatenbewegungsblock angezeigt wird, der in dem nachfolgenden Ursprungsbild aus den Positionen der Bildpunkte des zu bearbeitenden laufenden Bildpunktblocks gegeben ist;
    • – Auswahl des Kandidatenbewegungsvektors, für den der Fehler am geringsten ist.
  • Die Erfindung ermöglicht es, die Komplexität der Berechnungen erheblich zu verringern, und gestattet eine bessere Wiedergabe des Bildes im Hinblick auf die raschen Bewegungen und eine bessere Leistungshomogenität in der Bilderfolge. Sie kann vorzugsweise in Systemen, wie in der Einleitung definiert, eingesetzt werden, wobei die Bildwiedergabe verbessert wird.

Claims (15)

  1. Verfahren zur Bewegungsabschätzung für die Bildbearbeitung von Bildern, die dazu vorgesehen sind, um in einer bestimmten Bilderfolge sich jeweils zwischen ein vorangehendes Ursprungsbild und ein folgendes Ursprungsbild einzufügen, wobei jedes Bild in eine Vielzahl von Bildpunktblöcke unterteilt ist, wobei jedem Bildpunktblock eines verarbeiteten Bildes ein Bewegungsvektor zugewiesen ist, wobei das Verfahren für einen laufenden Block eines in Bearbeitung befindlichen Bildes folgende Schritte umfasst: – Auswahl von jeweiligen zu Bildpunktblöcke des in Bearbeitung befindlichen Bildes zugeordneten Bewegungsvektoren und von jeweiligen zu Bildpunktblöcke eines vorangehenden bereits bearbeiteten Bildes zugeordneten Bewegungsvektoren, jeweils als räumliche Bewegungsvektoren und zeitliche Bewegungsvektoren bezeichnet; – Bildung aus den genannten ausgewählten Bewegungsvektoren von Kandidatenbewegungsvektoren; – Wahl eines Bewegungsvektors unter den genannten Kandidatenbewegungsvektoren; – Abspeicherung einer Information, welche den genannten gewählten Bewegungsvektor dem laufenden Bildpunktblock zuweist; wobei das Verfahren dadurch gekennzeichnet ist, dass ein zeitlicher Bewegungsvektor nur dann ausgewählt wird, wenn er einem festgelegten Auswahlkriterium genügt, das auf die Ausrichtung des genannten Bewegungsvektors basiert.
  2. Verfahren nach Anspruch 1, in welchem beim Auswahlschritt, die zeitlichen Kandidatenbewegungsvektoren ausgewählt werden, die an den laufenden Block die Bildpunktblöcke heranführen, welchen sie jeweils zugeordnet sind.
  3. Verfahren nach Anspruch 1 oder 2, in welchem das bearbeitete Bild interpoliert wird durch – Wertbestimmung der Bildpunktwerte des laufenden Blocks in Abhängigkeit von den Werten der vom im vorangehenden Ursprungsbild gewählten Bewegungsvektor aufgezeigten Vektoren, aufgrund der Bildpunktpositionen der Bildpunkte des vom laufenden zu interpolierenden Bildpunktblocks und/oder der Bildpunktwerte der vom im folgenden Ursprungbild gewählten Bewegungsvektor aufgezeigten Bildpunkte, aufgrund der Bildpunktpositionen des laufenden zu interpolierenden Bildpunktblocks.
  4. Verfahren nach Anspruch 3, bei welchem der Bildpunktblock in eine Vielzahl von Teil-Bildpunktblöcken unterteilt ist und bei welchem der Bestimmungsschritt der Bildpunktwerte für jeden Teilblock eines laufenden Blocks folgende Schritte umfasst – Berechnung des korrigierten Bewegungsvektors bezogen auf den Teilblock aufgrund des gewählten Bewegungsvektors im laufenden Block und mindestens eines gewählten Bewegungsvektors eines benachbarten Blocks oder Teilblocks; – Zuordnung des genannten korrigierten Bewegungsvektors zum genannten Teilblock; – Wertbestimmung der Bildpunktwerte des genannten Teilblocks in Abhängigkeit von den Bildpunktwerten der vom genannten, im vorangehenden Ursprungsbild korrigierten Bewegungsvektor aufgezeigten Bildpunkten aufgrund der Position der Bildpunkte des genannten zu interpolierenden Bildpunkt-Teilblocks und/oder der Bildpunktwerte der vom genannten im folgenden Ursprungsbild korrigierten Bewegungsvektors aufgezeigten Bildpunkte, aufgrund der Bildpunktpositionen der Bildpunkte des genannten zu interpolierenden Bildpunkt-Teilblocks.
  5. Verfahren nach einem der vorangehenden Ansprüche, bei welchem die zeitlichen Bewegungsvektoren aus einer Gruppe ausgewählt werden, die zeitliche Bewegungsvektoren umfassen, die jeweils Bildpunktblöcke des vorangehenden bearbeiteten Bildes entsprechen, deren Positionen relativ zur Position des laufenden Bildpunktblocks des in Bearbeitung befindlichen Bildes vorbestimmt und festgelegt sind, wobei die genannte Gruppe um dem laufenden Bildpunktblock herum eine Bildpunktblockgruppe bildet.
  6. Verfahren nach einem der vorangehenden Ansprüche, bei welchem eine bestimmte Vektorenanzahl Q von Kandidatenbewegungsvektoren durch folgende Schritte ausgewählt wird a) Bildung einer festgelegten Vektorenanzahl X von Kandidatenvektoren aus räumlichen Bewegungsvektoren, wobei X kleiner ist als die Vektorenanzahl der für den laufenden Bildpunktblock noch auszuwählenden Kandidatenbewegungsvektoren; b) Bildung von Kandidatenvektoren aus zeitlichen Bewegungsvektoren, die dem Auswahlkriterium genügen, solange die Anzahl der bereits erzeugten Bewegungsvektoren größer oder gleich Q ist; c) ggf. aufeinanderfolgende Wiederholung der Schritte a und b, bis die Vektorenanzahl der ausgewählten Kandidatenbewegungsvektoren gleich Q ist.
  7. Verfahren nach einem der vorangehenden Ansprüche, bei welchem eine bestimmte Vektorenanzahl Q von Kandidatenbewegungsvektoren durch folgende Schritte ausgewählt wird a) Bildung einer bestimmten Vektorenanzahl X von Kandidatenvektoren aus räumlichen Bewegungsvekto ren, wobei X kleiner ist als die Anzahl der im laufenden Bildpunktblock noch auszuwählenden Kandidatenbewegungsvektoren; b) Bildung von Kandidatenvektoren aus zeitlichen Bewegungsvektoren die dem Auswahlkriterium genügen, solange die Anzahl der bereits erzeugten Kandidatenbewegungsvektoren kleiner oder gleich Q ist; c) ggf. Bildung von Kandidatenvektoren aus bereits in den Schritten a und b erzeugte Kandidatenvektoren, bis die Anzahl der gebildeten Kandidatenbewegungsvektoren gleich Q ist.
  8. Verfahren nach einem der vorangehenden Ansprüche, bei welchem die Wahl durch folgende Schritte getroffen wird – für jeden der Kandidatenbewegungsvektoren, Berechnung eines Fehler aufgrund der Wechselbeziehung zwischen den Bildpunktwerten eines ersten vom genannten im vorangehenden Ursprungsbild gegebenen Kandidatenbewegungsvektor aufgezeigten Bildpunktblocks, aus den Bildpunktpositionen des laufenden zu bearbeitenden Bildpunktblocks und/oder aus den Bildpunktwerte eines vom genannten im vorangehenden Ursprungsbild gegebenen Kandidatenbewegungsvektor aufgezeigten zweiten Bildpunktblocks, aus den Bildpunktpositionen des laufenden zu bearbeitenden Bildpunktblocks, – Wahl des Kandidatenbewegungsvektors für welchen der genannte Fehler am geringsten ist.
  9. Vorrichtung zur Bewegungsabschätzung für die Bildbearbeitung von Bildern, die dazu vorgesehen sind, um in einer bestimmten Bilderfolge sich jeweils zwischen ein vorangehendes Ursprungsbild und ein folgendes Ursprungsbild einzufügen, wobei jedes Bild in eine Vielzahl von Bildpunktblöcke unterteilt ist, wobei jedem Bildpunktblock eines verarbeiteten Bildes ein Bewe gungsvektor zugeordnet ist, wobei das Verfahren für einen laufenden Block eines in Verarbeitung befindlichen Bildes: – eine Auswahleinheit für die Auswahl von jeweiligen zu Bildpunktblöcken des in Bearbeitung befindlichen Bildes zugeordneten Bewegungsvektoren und von jeweiligen zu Bildpunktblöcken eines vorangehenden bereits bearbeiteten Bildes zugeordneten Bewegungsvektoren, jeweils als räumliche Bewegungsvektoren und zeitlichen Bewegungsvektoren bezeichnet; – eine Bildungseinheit, um aus den genannten ausgewählten Bewegungsvektoren Kandidatenbewegungsvektoren zu bilden; – eine Wahleinheit, um unter den genannten Kandidatenbewegungsvektoren einen Bewegungsvektor zu wählen; – einen Speicher, zur Abspeicherung einer Zuordnung des genannten gewählten Bewegungsvektors zum vorangehenden Ursprungsbild, aufgrund der Bildpunktpositionen des laufenden Bildpunktblocks umfasst, wobei die Vorrichtung dadurch gekennzeichnet ist, dass ein zeitlicher Bewegungsvektor nur dann ausgewählt wird, wenn er einem festgelegten Auswahlkriterium genügt, das auf die Ausrichtung des genannten Bewegungsvektors basiert.
  10. Vorrichtung nach Anspruch 9, in welcher die Auswahleinheit die zeitlichen Kandidatenbewegungsvektoren auswählt, die an den laufenden Block den Bildpunktblock heranführen, welchem sie zugeordnet sind.
  11. Vorrichtung nach Anspruch 9 oder 10, umfassend außerdem eine Bestimmungseinheit, um Bildpunktwerte des laufenden Blocks im Zusammenhang mit den von dem im vorangehenden Ursprungsbild gewählten Bewegungsvektors aufgezeigten Bildpunktwerten, aufgrund der Bildpunktpositionen der Bildpunkte des vom laufenden zu interpolierenden Bildpunktblocks und/oder Bildpunktwerte der vom im folgenden Ursprungbild gewählten Bewegungsvektor aufgezeigten Bildpunkte, aufgrund der Bildpunktpositionen des laufenden zu interpolierenden Bildpunktblocks zu bestimmen.
  12. Vorrichtung nach einem der Ansprüche 9 bis 11, in welcher die Auswahleinheit in der Lage ist, die zeitlichen Bewegungsvektoren aus einer Gruppe auszuwählen, die zeitliche Bewegungsvektoren umfasst, die jeweils Bildpunktblöcke des vorangehenden bearbeiteten Bildes entsprechen, deren Positionen relativ zur Position des laufenden Bildpunktblocks des in Bearbeitung befindlichen Bildes vorbestimmt und festgelegt sind, wobei die genannte Gruppe um dem laufenden Bildpunktblock herum eine Bildpunktblockgruppe bildet.
  13. Vorrichtung nach einem des Ansprüche 9 bis 12, in welcher die Auswahleinheit in der Lage ist, eine bestimmte Vektorenanzahl Q von Kandidatenbewegungsvektoren für die folgenden Vorgänge auszuwählen: d) Bildung einer bestimmten Vektorenanzahl X von Kandidatenvektoren aus räumlichen Bewegungsvektoren, wobei X kleiner ist als die Anzahl der im laufenden Bildpunktblock noch auszuwählenden Kandidatenbewegungsvektoren; e) Bildung von Kandidatenvektoren aus zeitlichen Bewegungsvektoren die dem Auswahlkriterium genügen, solange die Anzahl der bereits erzeugten Kandidatenbewegungsvektoren kleiner oder gleich Q ist; f) ggf. Bildung von Kandidatenvektoren aus bereits in den Schritten a und b erzeugten Kandidatenvektoren, bis die Anzahl der erzeugten Kandidatenbewegungsvektoren gleich Q ist.
  14. Vorrichtung nach einem der Ansprüche 9 bis 13, in welcher die Auswahleinheit in der Lage ist, folgende Vorgänge auszuführen – für jeden der Kandidatenbewegungsvektoren, Berechnung eines Fehler aufgrund der Wechselbeziehung zwischen den Bildpunktwerten eines ersten vom genannten im vorangehenden Ursprungsbild gegebenen Kandidatenbewegungsvektor aufgezeigten Bildpunktblocks, aus den Bildpunktpositionen des laufenden zu bearbeitenden Bildpunktblocks und/oder der Bildpunktwerte eines vom genannten im vorangehenden Ursprungsbild gegebenen Kandidatenbewegungsvektor aufgezeigten zweiten Bildpunktblocks, aus den Bildpunktpositionen des laufenden zu bearbeitenden Bildpunktblocks, – Wahl des Kandidatenbewegungsvektors für welchen der genannte Fehler am geringsten ist.
  15. Produkt "Computerprogramme", das unmittelbar in den internen Speicher eines digitalen Computers geladen werden kann, mit Softwarecodeabschnitten für die Ausführung der Verfahrensschritte nach einem der Ansprüche 1 bis 8, wenn das Programm im Computer ausgeführt wird.
DE602005000425T 2004-03-30 2005-03-16 Verfahren und Anordnung zur Erzeugung von Kandidatenvektoren für Bildinterpolierungssysteme, die Bewegungsabschätzung und -kompensation verwenden Expired - Lifetime DE602005000425T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0403307A FR2868579A1 (fr) 2004-03-30 2004-03-30 Procede et dispositif de generation de vecteurs candidats pour les systemes d'interpolation d'images par estimation et compensation de mouvement
FR0403307 2004-03-30

Publications (2)

Publication Number Publication Date
DE602005000425D1 DE602005000425D1 (de) 2007-02-22
DE602005000425T2 true DE602005000425T2 (de) 2007-10-18

Family

ID=34942010

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005000425T Expired - Lifetime DE602005000425T2 (de) 2004-03-30 2005-03-16 Verfahren und Anordnung zur Erzeugung von Kandidatenvektoren für Bildinterpolierungssysteme, die Bewegungsabschätzung und -kompensation verwenden

Country Status (4)

Country Link
US (1) US8144775B2 (de)
EP (1) EP1591962B1 (de)
DE (1) DE602005000425T2 (de)
FR (1) FR2868579A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090207314A1 (en) * 2008-02-14 2009-08-20 Brian Heng Method and system for motion vector estimation using a pivotal pixel search
WO2009115901A2 (en) 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
WO2012097749A1 (en) * 2011-01-19 2012-07-26 Mediatek Inc. Method and apparatus for parsing error robustness of temporal motion vector prediction
US9131239B2 (en) 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
US9300975B2 (en) * 2011-09-11 2016-03-29 Texas Instruments Incorporated Concurrent access shared buffer in a video encoder
KR20130050405A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 시간 후보자 결정방법
US10178410B2 (en) 2012-10-03 2019-01-08 Mediatek Inc. Method and apparatus of motion information management in video coding
CN109391821B (zh) * 2017-08-02 2020-08-28 联咏科技股份有限公司 运动估计方法以及运动估计装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW321748B (de) * 1994-02-23 1997-12-01 Rca Thomson Licensing Corp
EP0765087B1 (de) * 1995-08-29 2003-11-12 Sharp Kabushiki Kaisha Videokodierungsvorrichtung
DE69904610T2 (de) * 1998-09-07 2003-10-02 Thomson Multimedia, Boulogne Bewegungsschätzungsverfahren zur Reduzierung der Übertragungskosten von Bewegungsvektoren
EP1128678A1 (de) * 2000-02-24 2001-08-29 Koninklijke Philips Electronics N.V. Bewegungsschätzungsverfahren und -vorrichtung
US6782054B2 (en) * 2001-04-20 2004-08-24 Koninklijke Philips Electronics, N.V. Method and apparatus for motion vector estimation

Also Published As

Publication number Publication date
US20050232358A1 (en) 2005-10-20
EP1591962B1 (de) 2007-01-10
FR2868579A1 (fr) 2005-10-07
EP1591962A2 (de) 2005-11-02
DE602005000425D1 (de) 2007-02-22
EP1591962A3 (de) 2005-12-07
US8144775B2 (en) 2012-03-27

Similar Documents

Publication Publication Date Title
DE69908562T2 (de) Bewegungsvektorenextrapolation zur transkodierung von videosequenzen
DE69725186T2 (de) Sprite-gestütztes videocodiersystem
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE69421837T2 (de) Videokoder und -dekoder
DE69525525T2 (de) Bildverarbeitungssystem unter Verwendung von Pixel-zu-Pixel Bewegungsschätzung und Bilddezimation
DE69801209T2 (de) Hierarchischer rekursiver Bewegungsschätzer für Bewegtbildkodierer
EP0293644A1 (de) Verfahren zur Ermittlung von Bewegungsvektorfeldern aus digitalen Bildsequenzen
WO2008034715A2 (de) Verfahren zur datenkompression in einer videosequenz
DE69919205T2 (de) Verfahren und gerät für die mpeg-bildkodierung von eingefügten bildern
DE102013015821A1 (de) System und Verfahren zur Verbesserung der Videokodierung unter Verwendung von Inhaltsinformation
DE60031014T2 (de) Verfahren zur bewegungsschätzung zwischen zwei bildern mit verwaltung der wendung einer masche und entsprechendes kodierungsverfahren
DE602005000425T2 (de) Verfahren und Anordnung zur Erzeugung von Kandidatenvektoren für Bildinterpolierungssysteme, die Bewegungsabschätzung und -kompensation verwenden
EP1177690B1 (de) Verfahren und anordnungen zur rechnergestützten bewegungskompensation eines digitalisierten bildes sowie computerprogramm-erzeugnisse und computerlesbare speichermedien
DE69737711T2 (de) Verfahren und Vorrichtung zur Kodierung einer Objektkontur unter Verwendung ihrer Zeitkorrelation
EP0897247A2 (de) Verfahren zur Berechnung von Bewegungsvektoren
DE602005001583T2 (de) Verfahren und Anordnung für Bildinterpolierungssysteme mit Bewegungsschätzung und -kompensation
EP1101196B1 (de) Verfahren und anordnung zur bewegungsschätzung in einem digitalisierten bild mit bildpunkten
EP1110407B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors
DE102007051174B4 (de) Verfahren zur Bewegungsschätzung in der Bildverarbeitung
DE602005001292T2 (de) Verfahren und Anordnung zur Erzeugung von Kandidatenvektoren für Bildinterpolierungssyteme, die Bewegungsabschätzung und -kompensation verwenden
EP1829378B1 (de) Bildencodierverfahren, sowie dazugehöriges bilddecodierverfahren, encodiervorrichtung und decodiervorrichtung
DE102007051175B4 (de) Verfahren zur Bewegungsschätzung in der Bildverarbeitung
WO2005104559A1 (de) Prädiktionsverfahren, sowie zugehöriges verfahren zur decodierung eines prädiktionsverfahrens, zugehörige encodiervorrichtung und decodiervorrichtung
WO2001049038A1 (de) Verfahren, anordnung und computerprogrammerzeugnis zur prädiktion bei der codierung eines in bildblöcke unterteilten bildes
DE19944300C2 (de) Verfahren, Anordnung und Computerprogrammerzeugnis zur Bewegungsschätzung bei der Codierung von einem Bildobjekt in einem Bild

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M