-
Die
vorliegende Erfindung betrifft eine verbesserte Filmmodusbestimmung.
Im Besonderen betrifft die vorliegende Erfindung ein Verfahren zur
Bestimmung verbesserter Filmmodusbestimmungen und einen entsprechenden
Filmmodusdetektor.
-
Filmmodusangaben
werden bei bewegungskompensierter Bildverarbeitung verwendet, die
in einer steigenden Anzahl von Anwendungen Verwendung findet, im
Besonderen in der digitalen Signalverarbeitung von modernen Fernsehempfänger. Besonders
moderner Fernsehempfänger
führen
eine Umwandlung der Bildrate durch, hauptsächlich in Form einer Hochkonvertierung
oder einer bewegungskompensierten Hochkonvertierung zur Verbesserung
der Bildqualität
der wiederzugebenden Bilder. Bewegungskompensierte Hochkonvertierung
wird zum Beispiel durchgeführt
um eine Videosequenz mit einer Halbbild- oder Vollbild-Frequenz
von 50 Hz auf eine höhere
Frequenz wie 60 Hz, 66,67 Hz, 75 Hz, 100 Hz, usw. zu konvertieren.
Während
ein 50 Hz Eingangsignalfrequenz hauptsächlich Fernsehsignale betrifft,
die basierend auf dem PAL oder SECAM-Standard gesendet werden, haben
NTSC-basierende Videosignale eine Eingangsfrequenz von 60 Hz. Ein
60 Hz Eingangsvideosignal kann auf eine höhere Frequenz wie 72 Hz, 80
Hz, 90 Hz, 120 Hz, usw. umgewandelt werden.
-
Während der
Umwandlung müssten
Zwischenbilder erzeugt werden, die den Videoinhalt zu zeitlichen Positionen
darstellen, die in der 50 Hz oder 60 Hz Eingangsignalfrequenz nicht
vorhanden sind. Dazu muss die Bewegung von Objekten mit in Betracht
gezogen werden um die Änderungen
zwischen aufeinander folgenden Bildern, die durch die Bewegung der
Objekte entstehen, angemessen widerzuspiegeln. Die Bewegung der
Objekte wird auf Blockbasis berechnet, und die Bewegungskompensation
wird basierend auf der relativen Position und Zeit des neu zu erstellenden
Bildes zwischen dem vorherigen und dem nachfolgenden Bild berechnet.
-
Zur
Bestimmung von Bewegungsvektoren wird jedes Bild in eine Mehrzahl
von Blöcken
geteilt. Auf jeden Block wird eine Bewegungsschätzung angewandt, um einen Versatz
eines Objektes von dem vorherigen Bild zu erkennen.
-
Im
Gegensatz zu Zeilensprung-Videosignalen wie PAL oder NTSC Signalen
werden Bewegtbilddaten aus vollständigen Vollbildern zusammengesetzt.
Die am weitesten verbreitete Vollbildrate von Bewegtbilddaten ist
24 Hz (24p). Wenn Bewegtbilddaten in eine Zeilensprung-Videosequenz
zur Darstellung auf einem Fernsehempfänger konvertiert werden, (diese
Umwandlung wird telecine genannt), wird die 24 Hz Vollbildrate durch
Anwendung einer "pull-down"-Technik umgewandelt.
-
Zu
Umwandlung eines Bewegtbildfilms in eine Zeilensprung-Videosequenz
gemäß dem PAL-Rundfunkstandard
mit einer Halbbildrate von 50 Hz (50i), wird eine 2-2 pull-down-Technik angewandt.
Die 2-2 pull-down-Technik erzeugt zwei Halbbilder aus jedem Vollbild
eines Films der Bewegtbildfilm, und wird mit 25 Vollbilder pro Sekunde
(25p) abgespielt. Folglich enthalten zwei aufeinander folgende Halbbilder
Informationen die von dem gleichen Vollbild stammten und stellen
in dem Videoinhalt eine identische zeitliche Position dar, besonders
für bewegte
Objekte.
-
Wenn
ein Bewegtbildfilm in ein NTSC-Signal mit einer Halbbildrate von
60 Hz (60i) umgewandelt wird, wird die Vollbildrate von 24 Hz in
eine 60 Hz Halbbildrate durch Anwendung einer 3-2 pull-down-Technik
umgewandelt. Diese 3-2 pull-down-Technik erzeugt zwei Video Halbbilder
aus einem Bewegtbild-Vollbild und drei Videohalbbilder aus dem nächsten Bewegtbild-Vollbild.
-
Der
Telecine-Umwandlungsprozess zur Erzeugung von Zeilensprung Videosequenzen
in Übereinstimmung
mit unterschiedlichen Fernsehstandards ist in 2 dargestellt.
Die angewandten pull-down Techniken ergeben Videosequenzen, die
Paare oder Triplets von benachbarten Halbbilder mit einer identischen
Bewegungsphase enthalten. Die individuellen Bewegungsphasen werden
basierend auf der Berechnung einer Halbbilddifferenz zwischen aufeinander
folgenden Halbbildern berechnet. Nur Halbbilder, die aus unterschiedlichen Vollbildern
eines Filmes stammen, ermöglichen
die Erkennung von Bewegungen.
-
Die
Erkennung der einzelnen angewandten pull-down Muster ist erforderlich,
um die Prozessierung einer Bildqualitätsverbesserung angemessen auszuführen, im
Besonderen, um zu entscheiden ob eine Bewegungskompensation angewandt
werden soll. Die Erkennung eines entsprechenden pull-down Muster
ist zum Beispiel aus EP-A-O 720 366 und EP-A-1 198 138 bereits bekannt.
-
EP-A-O
994 626 betrifft die Komprimierung von Bildsequenzen basierend auf
Bewegungsschätzungsalgorithmen.
Bewegungsschätzung
wird angewandt, um zeitliche Redundanzen aus aufeinander folgenden Bildern
zu entfernen, Dazu wird ein Makroblock eines aktuellen Bildes entweder
basierend auf einem vorwärts geschätzten Makroblock,
oder basierend auf einem rückwärts geschätzten Makroblock,
oder alternativ, einem Mittelwert von beiden, geschätzt. Ferner
wird eine 3:2 pull down Umwandlungserkennung durchgeführt, um Redundanzen
zu entfernen, die aus einer Verdopplung von Film-Vollbildern während der
Umwandlung in Fernsehbilder stammen.
-
Die
digitale Komprimierung von Filmen und Videomaterial ist in US-A-6
058 140 beschrieben. Redundante Halbbilder, die aus einer 3:2 pull
down Umwandlung stammen werden für
eine Komprimierung erkannt und entfernt. Redundante Halbbilder werden
basierend auf einer Korrelation von Bewegungsvektoren von entsprechenden
Blöcken
in benachbarten Halbbildern erkannt.
-
US-A-2003/0123547
beschreibt einen Transcoder zur neuen Kodierung einer Videosequenz
mit einem unterschiedlichen Eingabe- und Ausgabescanformat.
-
US-A-5
610 662 betrifft die Umwandlung von Bildern aus progressiven Filmquellen
in ein Zeilensprungformat. Zur Eliminierung von Konvertierungsartefakten
in Fernsehsystemen werden Zwischenhalbbilder aus den original Filmbildern
durch eine bewegungskompensierte Interpolation erzeugt. Die Bewegungskompensation
misst die Geschwindigkeit von bewegten Objekten und erzeugte die
Zwischenhalbbilder in denen die bewegten Objekte korrekt positioniert
sind.
-
Die
vorliegende Erfindung hat das Ziel die Filmmoduserkennung weiter
zu verbessern und ein verbessertes Verfahren für eine Filmmoduserkennung und
einen verbesserten Filmmodusdetektor bereitzustellen.
-
Dies
wird durch die Merkmale der unabhängigen Patentansprüche erreicht.
-
Es
ist der besondere Ansatz der vorliegenden Erfindungen die Filmmoduserkennung
zu verbessern, indem die Filmmodusangaben auf einer lokalen Basis
erhalten wird und Filmmodusangaben extrapoliert werden. Die Extrapolierung
hatte das Ziel die Verlässlichkeit
der Filmmodusangaben zu verbessern, wenn die erkannte Filmmodusangabe
sich aufgrund der Bewegung in einem Bewegtbildobjekt ändert, im
Besonderen, um eine Verzögerung
bei der Erkennung der korrekten Filmmodusangabe zu vermeiden. Dazu
wird die Filmmodusangabe eines Blocks, die gemäß eines entgegengesetzten Bewegungsvektors
eines aktuellen Blocks bestimmt wurde, extrapoliert, besonders in
Richtung des aktuellen Blocks. Auf diese Weise können die Filmmodusangaben an
den Randbereichen eines Bewegtbildobjektes mit einer verbesserten
Genauigkeit und Verlässlichkeit
bestimmt werden, Die Bildqualität,
die durch Bildverbesserungsalgorithmen erreicht wird, wird beachtlich
verbessert.
-
Aufgrund
der Verzögerung,
die eingesetzt wird um die Verlässlichkeit
der Filmmodusangaben zu verbessern, wechselnd die Filmmodusangaben
von Bildbereichen um die Ecken eines bewegten Objektes herum nicht
sofort in den neu erkannten Modus. Dieser Gewinn an Zuverlässigkeit
wird jedoch nur durch einen höheren
Aufwand für
die korrekte Bestimmung von Filmmodusangaben an den Ecken eines
bewegten Bildes erreicht. Diese Nachteile wird durch die Anwendung
einer umgekehrten Filmmodusangabenextrapolation gemäß der vorliegenden
Erfindung vermieden.
-
Dafür bewertet
die vorliegende Erfindung Bildbereiche hinter den Ecken eines bewegten
Objektes in eine Richtung, die der Richtung des bewegten Objektes
entgegengesetzt ist. Ein Zielbildbereich wird gemäß dem entgegengesetzten
Bewegungsvektor, der von den aktuellen Bildbereichen in Richtung
des entgegengesetzten Bewegungsvektors zeigt, bestimmt. Die Bildbereiche
dazwischen werden auf die Filmmodusangabe des Zielbildbereiches
eingestellt. Auf diese Weise kann eine Verzögerung der Umschaltung vermieden
werden, ohne dass die Zuverlässigkeit
der Filmmodusangaben verringert wird.
-
Vorzugsweise
wird die Extrapolation nur ausgeführt, wenn der aktuelle Block
nicht im Filmmodus ist. Entsprechend wird eine umgekehrte Extrapolation
dieser Erfindung nur ausgeführt,
wenn eine Änderung
der erkannten Filmmodusangabe zwischen dem aktuellen Bildbereichen
und den Zielbildbereichen auftritt.
-
Wenn
der entgegengesetzte Bewegungsvektor von dem aktuellen Bildbereich
auf eine Position außerhalb
des Bildes zeigt, wird die Länge
des entgegengesetzten Bewegungsvektors vorzugsweise so abgeschnitten,
dass der abgeschnittene Vektor nur auf eine Position innerhalb des
aktuellen Bildes zeigt.
-
Vorzugsweise
werden die Bilder einer Bildfrequenz in eine Mehrzahl von Blöcken eingeteilt,
wobei die Filmmodusangaben und die Bewegungsvektoren auf Blockbasis
bereitgestellt werden, d.h. die Bildbereiche entsprechen der Blockstruktur.
Entsprechend kann die entgegengesetzte Extrapolation auf einfache
Weise basierend auf einer existierenden Bildbereichsstruktur ausgeführt werden.
-
Vorzugsweise
wird der entgegengesetzte Bewegungsvektor, der von einem aktuellen
Block zu einem Zielblock zeigt, quantisiert, um in das Raster der
Bildlage zu passen. Entsprechend kann eine entgegengesetzte Filmmodusextrapolation
in einfacher Weise implementiert werden.
-
Die
Bildbereiche, die auf Filmmodus eingestellt werden sollen wenn eine
entgegengesetzte Filmmodusextrapolation ausgeführt wird, werden vorzugsweise
gemäß einem
vordefinierten Bildbereichesmuster ausgewählten, d.h. ein Muster, das
die einzelnen Bildbereiche angibt, die korrigiert werden sollen.
Auf diese Weise können
die Bildbereiche, für
die die Filmmodusangabe korrigiert werden sollen, einfach und zuverlässig bestimmt
werden.
-
Das
vordefinierte Muster wird vorzugsweise aus einer Mehrzahl von in
einem Speicher vorabgespeicherten Mustern ausgewählten. Die Auswahl wird basierend
auf der relativen Position des augenblicklichen Bildbereichs und
des Zielbildbereichs durchgeführt.
Entsprechend kann das anzuwendende Muster schnell und einfach ausgewählt werden.
-
Vorzugsweise
stellen die vorabgespeicherten Muster alle möglichen Kombinationen von relativen
Positionen des aktuellen Bildbereichs und den Zielbildbereichs dar.
Die Bildbereiche, für
die die Filmmodusangaben korrigiert werden sollen, können somit
auf verlässlicher
Weise bestimmt werden.
-
Der
Schrittweite zur Bestimmung neuer Bildbereiche, die auf Filmmodus
eingestellt werden sollen, wird vorzugsweise basierend auf der Richtung
des Bewegungsvektors bestimmt. Es ist besonders vorzuziehen, die
Schrittweite durch Teilen der größeren Vektorkomponente
durch die kleinere Vektorkomponente, der horizontaler und vertikaler
Vektorkomponente festzulegen.
-
Vorzugsweise
wird eine zusätzliche
Angabe in Verbindung mit jedem der Bildbereiche gespeichert, die angibt
ob die Filmmodusangabe eines Bildbereichs korrigiert wurde. Auf
diese Weise kann eine ursprüngliche Filmmodusangabe
von einer kodierten Filmmodusangabe auf einfache Weise unterschieden
werden. Eine weitere entgegengesetzte Extrapolation von Filmmodusangaben
kann verhindert werden, wenn das auftreten einer „korrigierten" Filmmodusangabe
erkannt wird. Auf diese Weise dient eine einmal extrapolierte Filmmodusangabe
nicht als Basis für
weitere Filmmodusextrapolationen.
-
Gemäß eines
bevorzugten Ausführungsbeispiels
werden Bildbereiche zwischen einem aktuellen Bildbereichen und ein
Zielbildbereich in auf Videomodus eingestellt, wenn die Filmmodusangabe
des Zielbereiches Filmmodus ist. Auf diese Weise können die
Filmmodusangaben eines bewegten Objekts im Videomodus in einer Umgebung
im Filmmodus durch entsprechende Videomodusextrapolation genau bestimmt
werden.
-
Vorzugsweise
wird der Videomodus nur extrapoliert, wenn eine aktueller Bildbereich
im Filmmodus ist. Eine Videomodusextrapolation mit also nur ausgeführt, wenn
eine Filmmodusangabenänderung
zwischen den aktuellen Bildbereichen und den Zielbildbereichen auftritt.
-
1 zeigt
ein Beispiel einer Teilung eines Videobilds in eine Mehrzahl von
Blöcken
gleicher Größe,
-
2 zeigt
einen pull down Schema zur Konvertierung von Bewegtbilddaten in
eine PAL oder NTSC Zeilensprung-Videosequenz,
-
3 zeigt
ein Beispiel für
ein Videobild, das in eine Mehrzahl von Blöcken geteilt ist und die Zusatzinformationen,
die bezüglich
jedes dieser Blöcke
gespeichert wird,
-
4 zeigt
ein Beispiel für
eine verzögerte
Erkennung von Filmmodusangaben an den Rändern eines Bewegtbildobjektes,
-
5 zeigt
das Prinzip der entgegengesetzten Extrapolationen der vorliegenden
Erfindung,
-
6 ist
ein Flussdiagramm, dass die einzelnen Schritte zeigt, die während der
Extrapolationen einer Filmmodusangabe gemäß der vorliegenden Erfindung
ausgeführt
werden,
-
7 ist
ein Flussdiagramm einer interaktiven Blockbestimmung für eine entgegengesetzte
Extrapolationen von Filmmodusangaben gemäß eines bevorzugten Ausführungsbeispiels
der vorliegenden Erfindung,
-
8 zeigt
ein Beispiel einer interaktiven Blockbestimmung für die entgegengesetzte
Extrapolationen einer Filmmodusangabe gemäß eines bevorzugten Ausführungsbeispiels
der vorliegenden Erfindung,
-
9 zeigt
eine schrittweise Bestimmung von Bilddaten, für die die Filmmodusangaben
korrigiert werden sollen, gemäß eines
anderen bevorzugten Beispiels der vorliegenden Erfindung, und
-
10 zeigt ein Beispiel einer Extrapolations-Nachschlagetabelle
gemäß des anderen
bevorzugten Beispiels in der vorliegenden Erfindung.
-
Die
vorliegende Erfindung betrifft die digitale Signalverarbeitung,
im Besonderen die digitale Signalverarbeitung in modernen Fernsehempfängern. Moderne
Fernsehempfänger
verwenden Hochkonvertierungs-Algorithmen, um die wiederzugebende
Bildqualität
zu verbessern. Zu diesen Zwecken werden Zwischenbilder zwischen
zwei aufeinander folgenden Bildern erzeugt. Zur Erzeugung eines
Zwischenbilds muss die Bewegung von Objekten berücksichtigt werden, um diese
Objektpositionen zum Zeitpunkt des Zwischenbildes angemessen anzupassen.
-
Bewegungsschätzung zur
Bestimmung eines Bewegungsvektors und Bewegungskompensation werden
auf Blockbasis durchgeführt.
Dafür wird
jedes Bild in eine Mehrzahl von Blöcken geteilt, wie es ist zum Beispiel
in 1 dargestellt ist. Auf jeden Block wird die Bewegungsschätzung einzeln
angewandt, wobei der Block bestimmt wird, der am besten mit einem
Block des vorherigen Bilds übereinstimmt.
-
Um
eine korrekte Bewegungskompensation auf ein Bildbereich anwenden
zu können,
ist für
diesen Bildbereiche die Bestimmung einer Filmmodusangabe, d.h. Filmmodus
oder Videomodus, erforderlich. Durch Anwendung der korrekten Bildqualitätsverbesserungsverarbeitung
gemäß der erkannten
Filmmodusangabe werden Bildartefakte vermieden.
-
Eine
solche Signalverarbeitung ist besonders erforderlich um progressive
Anzeigen anzusteuern und um sich höherer Bildraten zu bedienen,
im Besonderen für
HDTV-Anzeigegeräte. Die
Erkennung eines Bewegtbildfilmes, der in eine Zeilensprung-Bildfrequenz für eine Fernsehausstrahlung
umgewandelt wurde (im folgenden als Filmmodus bezeichnet) ist für die Signalverarbeitung äußerst wichtig.
-
Für eine Verarbeitung
zur Bildverbesserung ist eine Zeilensprung/Progressiv-Umwandlungen (I/P) durch
Anwendung einer umgekehrten Telecineverarbeitung möglich, d.h.
das neue Verschränkung
von geraden und ungeraden Halbbildern. Für Bildsequenzen, die von einem
3-2 pull down Schema stammen, wird das einzelne redundante Halbbild,
das von einem Triplet eines Halbbilds aus dem gleichen Film-Vollbild stammt, entfernt
(das grau gefärbte
Halbbildern in 2).
-
Verbesserte
Hochkonvertierungs-Algorithmen verwenden einen Bewegungsvektor basierend
auf einer Interpretation von Vollbildern. Die Ausgabebildrate kann
ein ungerader Teil der Eingabe-Bildrate sein, zum Beispiel kann
ein 60 Hz Eingangssignal zu einer 72 Hz Ausgabefrequenz gemäß eines
Verhältnis
von 5:6 hoch konvertiert werden. Entsprechend kann nur jedes sechste
Ausgabebild aus einem einzigen Eingabe-Halbbild erzeugt werden wenn
ein kontinuierlicher Bewegungseindruck der bewegten Objekte beibehalten
werden soll.
-
Die
Moduscharakteristika eines Bilds kann auf Basis eines Bilds oder,
entsprechend eines verbesserten Ansatzes, durch eine lokale Charakteristik
einzelner Bildbereiche bestimmt werden. Besonders Fernsehsignale
können
aus unterschiedlichen Typen von Bildbereichen, wie bewegungsfreie
Bereiche (z.B. Logo, Hintergrund), Videokamerabereiche (z.B. Nachrichtenticker,
Videoeinführung)
und Filmmodus Bereichen (z.B. Hauptfilm, PIP), zusammengesetzt sein.
Eine Erkennung des pull down Schemas wird für jeden dieser Bildbereiche
separat durchgeführt,
wodurch eine Hochkonvertierung mit dem Ergebnis einer verbesserten
Bildqualität
erreicht wird.
-
Filmmoduserkennung
enthält
im allgemeinen die Erkennung eines pull down Musters. Herkömmlicherweise
werden die Unterschiede der Pixel zu einer verlagerten Vollbilddifferenz
(Displaced Frame Difference = DFD) zusammengezählt, was die Bewegung zwischen
aufeinander folgenden Bildern darstellt. Um plötzliche Änderungen der erkannten Filmmodusangabe
zu vermeiden, was für
den Betrachter zu einem instabilen Eindruck führen würde, wird eine Verzögerung der
Erkennung für
das veranlassen einer Änderung
von Filmmodus zu Videomodus oder umgekehrt angewandt.
-
Um
die Genauigkeit der Filmmodusangaben zu verbessern, wird die Erkennung
eines Filmmodus auf Blockbasis durchgeführt, wie zum Beispiel in 3 dargestellt.
Für jeden
Block mit der Größe von m·n Pixel wird
ein Bewegungsvektor und eine Filmmodusangabe bestimmt.
-
Die
Daten, die für
jeden der die Blöcke
erhalten wurden, sind für
einen einzelnen Block in 3 dargestellt. Zusätzlich zu
der horizontalen und vertikalen Bewegungsvektorkomponente wird eine
Filmmodusangabe gespeichert, die angibt ob der aktuelle Block im
Filmmodus oder Videomodus ist. Ferner wird eine Korrektur der zugeordneten
Filmmodusangabe durch „künstlicher
Modus" angezeigt,
um eine ursprüngliche
Filmmodusangabe von einer später
korrigierten zu unterscheiden.
-
Eine
blockbasierte Filmmoduserkennung und die dabei auftretenden Probleme
sind in 4 dargestellt. Ein bewegtes
Objekten (c) mit einer einheitlichen Struktur ermöglicht nur
eine zuverlässig
Erkennung von Bewegungswerten, d.h. DFD-Werte, in den Randbereichen
(b, e). Eine bedeutungsvolle Bewegungserkennung und folglich eine
Erkennung von Bewegungsmustern und Filmmodusangaben ist außerhalb
dieser Randbereichen nicht möglich.
-
Aufgrund
einer Umschaltverzögerung
zur Bestimmung von Filmmodusangaben, die eingeführt wird, um die Zuverlässigkeit
zu verbessern, sind die erkannten Filmmodusangaben (a, d in 4)
bezüglich
der vorderen Ecke (e) und die hintere Ecke (b) des bewegten Objekte
(c) räumlich
versetzt. Dabei tritt als besonderes Problem auf, dass die Randlinien
(b, e) des bewegten Objekte (c) keine korrekt bestimmten Filmmodusangaben
besitzen und somit kann in diesem Bereichen keine effiziente Bildqualitätsverbesserungsverarbeitung durchgeführt werden.
-
Die
Randbereiche eines Bildobjektes sind jedoch besonders wichtig für die wahrgenommene
Bildqualität.
Die Anwendung einer ungeeigneten Bildqualitätsverarbeitung basierend auf
falschen Filmmodusangaben für
bestimmte Bildbereiche führt
zu einer Verschlechterung der Bildqualität anstelle einer Verbesserung
der Bildqualität.
Daher ist es für
eine effiziente Bildqualitätsverbesserungsverarbeitung
besonders wichtig verlässliche
Filmmodusangaben an den Rändern
eines Objektes zu bestimmen.
-
Um
die Filmmodusangaben für
die Randbereiche von Bewegtbildobjekten zuverlässig zu bestimmen, werden die
Filmmodusangaben in die Richtung entgegen der Bewegungsrichtung
des Bildobjektes extrapolierte.
-
Der
Ansatz der vorliegenden Erfindung, Filmmodusangaben zu extrapolieren,
wird unter Bezug auf 5 detailliert beschrieben. Jeder
Block eines Videobilds (vgl. 1) enthält eine
Mehrzahl von Pixel, vorzugsweise 8·4 Pixel in Zeilensprungvideobildern
und 8·8
Pixel in progressiven Bildern. Entsprechend werden 90·60 Blöcke für jedes
NTSC-Zeilensprungvideobild verwendet.
-
Filmmodusbestimmungen
und Bewegungsschätzung
werden für
jeden einzelnen Block durchgeführt. Die
bestimmten Ergebnisse werden, wie in 3 dargestellt,
für jeden
Block in Speicherbereich 100 separat gespeichert, wie in 6 dargestellt.
Während 6 die
einzelnen Schritte zur Extrapolierung von Filmmodusangaben in entgegengesetzter
Weise darstellt, zeigt 5 das entsprechende Ergebnis
davon.
-
Der
Prozess der entgegengesetzten Extrapolierung wird durch das Erhalten
des Bewegungsvektors 30 und des Quellenmodus für einen
aktuellen Block 20 (Schritt 120) gestartet. Wenn
sich herausstellt, dass der aktuelle Block im Schritt 130 im
Videomodus ist, wird die Richtung des Bewegungsvektors 30 des
aktuellen Block 20 umgekehrt, um den entgegengesetzten
Bewegungsvektor 40 im Schritt 140 zu erhalten.
Ferner wird die Länge
des entgegengesetzten Vektors 40 quantisiert damit er in
das Blockraster des Videobildes passt (vgl. 1). Wenn
der entgegengesetzten Bewegungsvektor 40 auf eine Position
außerhalb
des aktuellen Bildes zeigt, wird die Länge des Bewegungsvektors abgeschnitten,
damit er auf einer entsprechenden Block am Bildrand zeigt.
-
Nach
dem der Zielblock 45 basierend auf der Länge des
Bewegungsvektors des entgegengesetzten Vektor 40 beginnend
von dem aktuellen Block 20 bestimmt wurde, wird der Modus
(Zielmodus) von Zielblock 45 bestimmt (Schritt 140).
Eine Extrapolationen des Zielmodus wird nur durchgeführt, wenn
die folgenden Bedingungen erfüllt
sind:
Quellmodus = Videomodus,
Zielmodus = Filmmodus.
-
Nur
wenn in Schritt 150 bestimmt wurde, dass der Modus des
Zielblock Filmmodus ist, wird eine gegengesetzte Extrapolation in
Richtung des aktuellen Blocks 20 in Schritt 160 durchgeführt. Die
Extrapolationen wird durch Einstellen jedes Blocks 50 unterhalb
des entgegengesetzten Bewegungsvektors, der von dem aktuellen Block 20 auf
den Zielblock 45 zeigt, auf Filmmodus, durchgeführt. Alternativ
wird die Filmmodusangabe des aktuellen Blocks ebenfalls auf Filmmodus
eingestellt.
-
Die
Bestimmung von Blöcken,
die auf Filmmodus eingestellt werden sollen, kann durch eine Modulo-Adressierung
des aktuellen Blockindex implementiert werden. Die entgegengesetzte
Bewegungsvektorkomponente der horizontalen und vertikalen Komponente,
die den größeren Wert
hat, wird als primäre
Achse V1 betrachtet, während die kleinere entgegengesetzte
Bewegungsvektorkomponente als sekundäre Achse V2 betrachtet
wird. Die entsprechenden Vorzeichen bestimmen die Richtungen Dir1,
Dir2.
-
Die
Schrittweite zur schrittweisen Bestimmung der Blöcke, die auf Filmmodus eingestellt
werden sollen, wird basierend auf einer ganzzahligen Division der
größeren Bewegungsvektorkomponente
durch die kleinere Bewegungsvektorkomponente wie folgt berechnet:
-
Es
ist anzunehmen, dass jeder dieser künstlich eingestellten Filmmodusblöcke 50 (in 5)
durch einen "Bit
für einen
künstlichen
Modus" entsprechend
markiert wird, wie in 3 dargestellt. Entsprechend
kann für
jede Filmmodusangabe unterschieden werden, ob sie original bestimmt
wurde, oder ob sie künstlich
eingestellt wurde. Dieses Bit für
einen künstlichen
Modus wird ausgewertet bevor der Extrapolationsprozess gestattet
wird, um eine weitere Extrapolationen der Film Modusangabe zu vermeiden,
die künstlich
eingestellt sind.
-
Der
Zielblock wird nicht auf einen künstlichen
Modus eingestellt. Der erste Block wird auf Filmmodus eingestellt
und hat das Bit für
den künstlichen
Modus entsprechend dem Quellmodusblock eingestellt.
-
Das
Verfahren zur interaktiven Bestimmung der Blöcke 50 zwischen dem
Quellblock 20 und den Zielblock 45 ist in 7 dargestellt.
Ein Beispielergebnis für
eine entgegengesetzten Vektor mit Vx = 6,
Vy = 4 ist in 8 dargestellt.
-
Für das Verfahren
einer Modulo-Adressierung werden die typischen Schleifenvariablen
i und j verwendet. Die Variable i wird für die primäre Richtung Dir1 verwendet,
und i wird für
Dir2 verwendet.
-
Der
ursprünglich
bestimmte Quellblock 310 ist im Videomodus, wogegen der
Zielblock 33 in Filmmodus ist. Letzterer soll nicht neu
eingestellt werden und wird als künstlich markierten, wogegen
der erste Quellblock als künstlich
markiert wird und auf Filmmodus eingestellt wird. Hierzu wird in
S210i zu Beginn auf –Dir1 eingestellt.
-
Die
Verarbeitung startet bei Schritt S220 durch Addieren des Vorzeichens
von Dir1 zu dem Index i. Dies ist den 8 der Block 310 "Start".
-
In
Schritt 130 wird die Bedingungen für eine Erhöhung der Variable j geprüft, die
für die
Erhöhung
der künstlich
markierten Positionen in S240 für
die zweite Richtung Dir2 verantwortlich ist. Die Bedingung ist wahr wenn
i gleich einem gerade vielfachen des zuvor berechneten Wertes "Schritt" ist. Dies ist für die Blöcke 331, 333, 335 in 8 der
Fall.
-
In
Schritt S250 wird die absolute Position des künstlichen Filmblocks berechnet,
indem die aktuellen Indices i und j zu der absoluten Positionen
des Quellblocks (Index 1/2 (Quelle)) addiert werden. Das Ergebnis wird
in Variablen k und l gespeichert, die Positionen in dem Bild angeben.
Dann werden in Schritt S260 das künstliche Bit und das Filmbild
in dem Bild eingestellt.
-
Wenn
der Index i der primären
Richtung Dir1 bei einem Wert angekommen ist, der gleich dem Betrag von
V1 ist, was in S270 geprüft
wird, dann endet die Modulo-Adressierung
in S280 (" End" Block 335 in 8),
andernfalls wird zu S220 zurück
gesprungen.
-
Der
iterative Ansatz zur Bestimmung der Blöcke zwischen den aktuellen
Block 20 und dem Zielblock 45 endet bevor der
Zielblock erreicht wird, da der ursprüngliche Filmmodus nicht als
künstlich
markiert werden muss.
-
Gemäß eines
anderen bevorzugten Ausführungsbeispiels
ist die Markierung des künstlichen
Modus durch Anwenden einer Nachschlagetabelle (LUT) für jede möglich Kombination
von x/y Vektorkomponenten implementiert. Jeder Eintrag in der Nachschlagetabelle
gibt die Blöcke
an, die als künstlich
markierte werden sollen. Zu diesem Zweck beschreibt das gespeicherte
Muster welcher Block als nächstes
markiert werden soll. Dies kann durch eine binäre Angabe implementiert werden,
wobei eine "0" einen Schritt nach
oben/unten angibt und eine "1" einen Schritt nach
rechts/links angibt. Das Vorzeichen der entsprechenden Vektorkomponente
gibt die Richtung an. Das in 9 dargestellte
Beispiel basiert auf einem entgegengesetzten Bewegungsvektor, der
zwei negative Komponenten x = –3,
y = –4
hat. Der Tabelleneintrag gibt sechs Schritte von 010101 an, d.h.
unten, links, unten, links,....
-
Dieser
Ansatz erlaubt nicht das agieren von Blöcken in einer diagonaler Richtung
ohne einen benachbarten Block in horizontaler oder vertikaler Richtung
zu haben. Folglich steigt die Anzahl der markierten Blöcke, was
zu einer besseren Vektorspurabdeckung führt.
-
Dem
Fachmann ist bekannt, dass die beschriebenen Ansätze der Bestimmung der Blöcke, die
künstlich
auf Filmmodus zwischen aktuellen Block und den Zielblock eingestellt
werden nicht auf die beschriebenen Ausführungsbeispiele beschränkt ist,
und dass jeder andere Ansatz mit dem gleichen Effekt verwendet werden kann.
-
Der
oben beschriebene Bildbereich entspricht einer Blockgröße, die
aus der Bewegungsschätzung
bekannt ist. Die vorliegende Erfindung ist nicht auf eine solche
Bildbereichsgröße zur Filmmodusbestimmungen, und
im Besonderen zur Filmmodusextrapolationen, beschränkt. Kleinere
Bildbereiche als ein Block verfeinern zum Beispiel die Filmmodusauflösung. Eine
Filmmodusbestimmungen und Extrapolationen kann basierend auf Bildbereichen
mit einer Größe von einen
ganzen Halbbild oder einem einzelnen Pixel oder sogar einer Unterpixelgröße implementiert
werden.
-
Ferner
kann die Filmmodusextrapolation durch einen zusätzlich implementierten Bewegungsvektor zur
Unterstützung
der Extrapolation des erkannten Videomodus von Filmmodusangabe verbessert
werden. Unter der Annahme, dass Videomodus-Erkennung für jeden Block genau und mit
einer hohen Zuverlässigkeit ausgeführt werden
kann, beeinflusst der Bewegungspfad von Videomodusobjekten nicht
den der Filmmodusobjekte.
-
Zusammenfassend
ermöglicht
die vorliegende Erfindung die Verbesserung von Filmmodusbestimmungen
im Besonderen an Randbereichen von bewegten Objekten. Dies wird
durch Filmmodusextrapolation erreicht. Die Richtung eines Bewegungsvektors
eines aktuellen Blocks wird umgekehrt und die Filmmodusangabe des
Zielblocks wird basierend auf dem entgegengesetzten Bewegungsvektor
in Richtung des aktuellen Blocks extrapoliert. Auf diese Weise kann
die Genauigkeit von Filmmodusbestimmungen für das aktuelle Bild verbessert
werden und die Bildverarbeitung, die zu einer verbesserten Bildqualität führt, kann
entsprechend verbessert werden.