-
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 601–625 gebildet
ist. Bewegungsvektoren V1–V25 sind
jeweils den Blöcken 601–625 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.