DE602004002455T2 - Bewegungsvektorschätzung durch adaptive zeitliche Vorhersage - Google Patents

Bewegungsvektorschätzung durch adaptive zeitliche Vorhersage Download PDF

Info

Publication number
DE602004002455T2
DE602004002455T2 DE602004002455T DE602004002455T DE602004002455T2 DE 602004002455 T2 DE602004002455 T2 DE 602004002455T2 DE 602004002455 T DE602004002455 T DE 602004002455T DE 602004002455 T DE602004002455 T DE 602004002455T DE 602004002455 T2 DE602004002455 T2 DE 602004002455T2
Authority
DE
Germany
Prior art keywords
motion
block
offset
image
motion vector
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
DE602004002455T
Other languages
English (en)
Other versions
DE602004002455D1 (de
Inventor
Ralf Hubrich
Michael Eckhardt
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE602004002455D1 publication Critical patent/DE602004002455D1/de
Application granted granted Critical
Publication of DE602004002455T2 publication Critical patent/DE602004002455T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47KSANITARY EQUIPMENT NOT OTHERWISE PROVIDED FOR; TOILET ACCESSORIES
    • A47K3/00Baths; Douches; Appurtenances therefor
    • A47K3/001Accessories for baths, not provided for in other subgroups of group A47K3/00 ; Insertions, e.g. for babies; Tubs suspended or inserted in baths; Security or alarm devices; Protecting linings or coverings; Devices for cleaning or disinfecting baths; Bath insulation
    • A47K3/002Non-slip mats for baths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • 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
    • 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
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0112Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards corresponding to a cinematograph film standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf eine verbesserte Bewegungsschätzung. Insbesondere bezieht sich die vorliegende Erfindung auf ein Verfahren zur Schätzung eines Bewegungsvektors zwischen Bildblöcken in einer Videosequenz und einem zugehörigen Bewegungsschätzer.
  • Die Bewegungsschätzung kommt in immer mehr Anwendungen zum Einsatz, insbesondere bei der digitalen Signalverarbeitung moderner Fernsehgeräte. Insbesondere führen moderne Fernsehgeräte eine Vollbildraten-Umwandlung durch, vor allem in Form einer Aufwärts-Umwandlung oder einer bewegungskompensierten Aufwärts-Umwandlung, um die Bildqualität der wiedergegebenen Bilder zu erhöhen. Die Aufwärts-Umwandlung mit Bewegungskompensation wird zum Beispiel für Videosequenzen mit einer Halbbild- oder Vollbild-Frequenz von 50 Hz auf höhere Frequenzen wie 60 Hz, 66,67 Hz, 75 Hz, 100 Hz etc. durchgeführt. Während eine 50 Hz-Eingangssignalfrequenz vor allem für die Ausstrahlung von Fernsehsignalen auf der Basis des PAL- oder SECAM-Standards gedacht ist, weisen NTSC-basierte Videosignale eine Eingangsfrequenz von 60 Hz auf. Ein 60 Hz-Eingangsvideosignal kann auf höhere Frequenzen wie 72 Hz, 80 Hz, 90 Hz, 120 Hz usw. umgewandelt werden.
  • Bei der Aufwärts-Umwandlung müssen Zwischenbilder generiert werden, die den Videoinhalt an den zeitlichen Positionen widerspiegeln, die nicht durch die 50 Hz- oder 60 Hz-Eingangsvideosequenz dargestellt werden. Zu diesem Zweck muss die Bewegung der Bewegungsobjekte berücksichtigt werden, um die Änderungen zwischen den nachfolgenden Bildern angemessen widerzuspiegeln, die durch die Bewegung der Objekte verursacht wurden. Die Bewegung der Objekte wird auf der Basis von Blöcken berechnet, und eine Bewegungskompensation wird auf der Basis der relativen zeitlichen Position des neu generierten Bildes zwischen dem vorhergehenden und den nachfolgenden Bildern generiert.
  • Bei der Bestimmung eines Bewegungsvektors wird jedes Bild in eine Mehrzahl von Blöcken unterteilt. Jeder Block wird der Bewegungsschätzung unterzogen, um die Verschiebung eines Objekts im Vergleich zum vorhergehenden Bild zu erfassen. Ein zeitaufwändiger Vollsuchalgorithmus zum Erfassen eines am besten passenden Blocks im vorhergehenden Bild in einem vorab festgelegten Suchbereich wird vorzugsweise vermieden durch die Verwendung einer Mehrzahl von vorab definierten Vektorkandidaten. Die Menge der Vektorkandidaten umfasst mehrere vordefinierter Bewegungsvektoren, die höchstwahrscheinlich auftreten.
  • Ein Bewegungsvektor wird aus den Vektorkandidaten auf der Basis eines Fehlerwertes ausgewählt, der für jeden Vektorkandidaten berechnet wird. Diese Fehlerfunktion berechnet den Übereinstimmungsgrad zwischen dem aktuellen Block und dem Kandidatenblock im vorherigen Bild, das in Übereinstimmung mit dem entsprechenden Vektorkandidat ausgewählt wurde. Der am besten passende Vektor mit der kleinsten Fehlerfunktion wird als Bewegungsvektor des aktuellen Blocks ausgewählt. Als Maß für den Ähnlichkeitsgrad zwischen dem aktuellen und dem vorherigen Block kann die Summe der absoluten Differenzen (SAD) verwendet werden.
  • Die Menge der vordefinierten Vektorkandidaten kann diejenigen Bewegungsvektoren als Vektorkandidaten enthalten, die bereits für die benachbarten Blöcke des aktuellen Bildes bestimmt wurden, Bewegungsvektoren, die für Blöcke in dem vorhergehenden Bild an einer ähnlichen Position bestimmt wurden usw.
  • Der Artikel "An Efficient True-Motion Estimator Using Candidate Vectors from a Parametric Motion Model" von Gerard de Haan u.a. in IEEE Transactions on Circuits and Systems for Video Technology, Vol. 8, Nr.1, Februar 1998, beschreibt die Berechnung eine globalen Bewegungsvektors als Vektorkandidat. Der globale Bewegungsvektor spiegelt eine gemeinsame Bewegung aller Blöcke im Bild wider.
  • EP-A-0 578 290 beschreibt weitere Vektorkandidaten, die auf den Bewegungsvektoren benachbarter Blöcke des aktuellen Bildes basieren. Die Länge und Richtung diese Vektoren wird durch das Hinzufügen eines Aktualisierungsvektors geändert, der eine Zufallsgröße aufweist. Die Auswahl dieses Vektortyps als Bewegungsvektor des aktuellen Blocks kann durch das Hinzufügen vordefinierter Strafabzugswerte zur entsprechenden SAD gesteuert werden. In Übereinstimmung mit dem hinzugefügten Strafabzug kann eine als Bewegungsvektor des aktuellen Blocks auszuwählende Wahrscheinlichkeit entsprechend reduziert werden.
  • Zusätzlich zur Interpolation des Bildes kann eine Bewegungsschätzung weiter während der Kodierung der Videobilder verwendet werden, um zeitweilige Redundanzen auszunutzen. Zu diesem Zweck wurden verschiedene Videocodierstandards entwickelt. Weit verbreitet sind die als H.26x oder MPEG-x bezeichneten Kodierstandards.
  • Die Bewegungsschätzung mit einer zeitlichen Vorhersage für die Bestimmung des Bewegungsvektors kann nur die Bewegung des aktuellen Blocks korrekt vorhersagen, wenn der referenzierte Block im vorhergehenden Bild zum selben Bewegungsobjekt wie im aktuellen Block gehört. Wenn der Block in einem vorhergehenden Bild, das für den Erhalt eines Bewegungsvektors referenziert wird, nicht zum selben Bewegungsobjekt gehört, spiegelt der vorhergehende Bewegungsvektor nicht die Bewegung des Objekts wieder und kann in der Folge nicht als Bewegungsvektor für den aktuellen Block dienen. Insbesonders leiden die Randbereiche der Bewegungsobjekte unter der schlechten Vorhersagequalität, da die referenzierten Blöcke in dem vorhergehenden Bild mit höherer Wahrscheinlichkeit nicht zum selben Bildobjekt gehören.
  • Diese Unzulänglichkeit bei der Bestimmung des Bewegungsvektors auf der Basis einer zeitlicher Vorhersage ist noch schwerwiegender für Videosequenzen, die aus Bewegtbildern stammen. Entsprechend dem Umwandlungsschema Bewegtbild-in-Video werden identische Bilder häufig in der Videosequenz wiederholt, in Übereinstimmung mit einem vordefinierten Pull-down-Muster. Aufgrund der geringeren Zahl der Bewegungsphasen, die von den Bewegtbildern dargestellt werden, wird die Verschiebung eines Bewegungsobjekts zwischen Bildern, die unterschiedliche Bewegungsphasen darstellen, noch größer. Die größere Verschiebung der Bewegungsobjekte zwischen den Bildern gestaltet die zeitliche Vorhersage schwieriger und führt sichtbare Artefakte in die bewegungskompensierten Bilder ein, insbesondere bei den Konturen von schnellen Bewegungsobjekten.
  • Die vorliegende Erfindung zielt darauf ab, diese Nachteile des Stands der Technik zu überwinden und ein verbessertes Verfahren zur Bestimmung eines Bewegungsvektors und einen verbesserten Bewegungsschätzer bereitzustellen.
  • Dies wird durch die Merkmale in den Hauptansprüchen verwirklicht.
  • Nach einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren für die Bestimmung eines Bewegungsvektors für einen Block eines aktuellen Bildes in einer Sequenz von Videobildern bereitgestellt. Jedes Bild ist in eine Mehrzahl von Blöcken unterteilt. Das Verfahren bestimmt einen Bewegungsvektor für den aktuellen Block auf der Basis eines Bewegungsvektors, der für einen Block eines vorhergehenden Bildes geschätzt wurde. Der Block des vorhergehenden Bildes befindet sich an einer Position, die einen vordefinierten Versatz zur Position des aktuellen Blocks aufweist. Die Größe des Versatzes wird in Abhängigkeit davon festgelegt, ob die Bilddaten ein Bild eines Bewegtbildtyps darstellen.
  • Nach einem weiteren Aspekt der vorliegenden Erfindung wird ein Bewegungsschätzer für die Bestimmung eines Bewegungsvektors für einen Block eines aktuellen Bildes in einer Sequenz von Videobildern bereitgestellt. Jedes Videobild ist in eine Mehrzahl von Blöcken unterteilt. Der Bewegungsschätzer bestimmt einen Bewegungsvektor für den aktuellen Block auf der Basis eines Bewegungsvektors, der für einen Block eines vorhergehenden Bildes geschätzt wurde. Der Block des vorhergehenden Bildes befindet sich an einer Position, die einen vordefinierten Versatz zur Position des aktuellen Blocks aufweist. Ein Filmmaduserkenner, der im Bewegungsschätzer enthalten ist, bestimmt, ob die Bilddaten des aktuellen Blocks aus einem Bewegungsbildtyp stammen. Eine Versatzanpassungseinheit des Bewegungsschätzers legt die Größe des Versatzes in Abhängigkeit von dem Erfassungsergebnis des Filmmodusdetektors fest.
  • Es ist der besondere Ansatz der vorliegenden Erfindung, den Versatz anzupassen, wenn ein zeitlicher Vorhersagevektor für die Bestimmung des Bewegungsvektors ausgewählt wird, in dem der Bilddatentyp berücksichtigt wird. Wenn es sich herausstellt, dass die Bilddaten, für die ein Bewegungsvektor bestimmt werden soll, von einem Bewegtbild stammt, sind größere Verschiebungen der Objektränder zwischen den aufeinander folgenden Bildern der unterschiedlichen Bewegungsphasen zu erwarten. In der Folge wird der räumliche Versatz zwischen der zeitlichen Vorhersage erhöht. Auf diese Weise berücksichtigt die zeitliche Vorhersage der Bewegungsvektoren die Eigenschaften bestimmter Bildtypen, um die Bewegungsschätzqualität zu verbessern und Artefakte zu reduzieren, die in den bewegungskompensierten Bildern sichtbar sind.
  • Vorzugsweise wird eine Bestimmung der Bewegtbilddaten auf der Basis eines erfassten Umwandlungsmusters durchgeführt, das in der Videosequenz vorhanden ist. Das Umwandlungsmuster spiegelt das verwendete Pull-down-Schema wider, das bei der Umwandlung des Bewegtbilds in Videodaten verwendet wird.
  • Nach einer bevorzugten Ausführungsform wird der Bildtyp auf Bildbasis bestimmt, entweder pro Halbbild- oder pro Vollbild. Auf diese Weise wird eine zuverlässige Vorhersage ermöglicht, die nur einen geringen Berechnungsaufwand erfordert.
  • Nach einer alternativen bevorzugten Ausführungsform wird der Bildtyp, insbesondere im Filmmodus, auf einer Blockbasis bestimmt. Dementsprechend ist eine exaktere Bestimmung des vorliegenden Bildtyps möglich und die vorliegende Erfindung kann vorteilhafterweise auf Sequenzen gemischter Bildtypen angewandt werden. Solche Sequenzen gemischter Bildtypen umfassen Bilddaten, die aus unterschiedlichen Quellen stammen, wie Bewegtbild- und Videokameradaten.
  • Der Versatzwert wird für Bilddaten des Bewegtbildtyps im Vergleich zu Standardvideobilddaten vorzugsweise doppelt so groß festgelegt. Dementsprechend kann die Bewegung exakt bestimmt werden, selbst wenn in jedem zweiten Bild der Bildsequenz unterschiedliche Bewegungsphasen vorhanden sind. Die Versatzwerte für Standardtypbilder werden vorzugsweise auf eine Blocklänge zwischen 1 und 4 festgelegt, während die Versatzwerte für Bilder des Bewegtbildtyps auf eine Blocklänge zwischen 2 und 8 festgelegt werden. Am besten wird der Versatzwert für Standardbildtypen auf eine Blocklänge von 2 eingestellt und der Versatzwert für Bilder des Bewegtbildtyps wird auf eine Blocklänge von 4 eingestellt.
  • Vorzugsweise wird der Versatz in horizontaler und vertikaler Richtung unterschiedlich festgelegt. Auf diese Weise können unterschiedliche Bewegungsrichtungen korrekt berücksichtig werden.
  • Am besten wird der Versatzwert für entweder die horizontale oder vertikale Richtung auf Null eingestellt. Dementsprechend wird der räumliche Versatz für die zeitliche Vorhersage entweder horizontal oder vertikal festgelegt.
  • Nach einer bevorzugten Ausführungsform wird die Bewegungsschätzung auf der Basis einer Mehrzahl von Vektorkandidaten durchgeführt. Die Mehrzahl der Vektorkandidaten umfassen den Bewegungsvektor eines Blocks in einem vorhergehenden Bild an einer Position, die von der Position des aktuellen Blocks versetzt ist, um den am besten passenden Bewegungsvektor zu bestimmen. Basierend auf einer begrenzten Menge von Bewegungsvektorkandidaten, von denen jeder eine individuelle Bewegungsschätzung für den aktuellen Block bietet, kann eine Bestimmung eines Bewegungsvektors mit zuverlässigen Ergebnissen mit nur minimalem Hardware-Aufwand und einer minimalen Zahl erforderlicher Berechnungen durchgeführt werden.
  • Um auf zuverlässige Weise eine mögliche Bewegung zu erfassen, werden unterschiedliche zeitliche Vorhersagen erfasst. Insbesondere beziehen sich die zeitlichen Vorhersagen auf dasselbe vorhergehende Bild, weisen aber unterschiedliche Versatzwerte auf, vorzugsweise entweder einen vertikalen oder horizontalen Versatz.
  • Im Unterschied zu einem Vollsuchansatz zur Bestimmung des Bewegungsvektors basiert eine Bewegungsschätzung vorzugsweise auf Vektorkandidaten, einschließlich mindestens einem aus einem Null-Bewegungsvektor, der auf dieselben Blockposition im aktuellen Block zeigt, einen Bewegungsvektor, der für einen benachbarten Block des aktuellen Bildes bestimmt wird, wobei die Länge des Vektors durch einen Aktualisierungsvektor variiert wird, und einen Bewegungsvektor aus einem vorhergehenden Bild, wobei die Position entsprechend einem Versatzwert verschoben wurde. Solch eine begrenzte Menge an Bewegungsvektoren ermöglicht eine schnelle und zuverlässige Bestimmung des Bewegungsvektors.
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung werden in den Unteransprüchen definiert.
  • Weitere Ausführungsformen und Vorteile der vorliegenden Erfindung werden in der folgenden Beschreibung der bevorzugten Ausführungsformen deutlich, in denen gilt:
  • 1 stellt eine Unterteilung eines Videobildes in eine Mehrzahl von Blöcken einheitlicher Größe zum Zwecke der Bewegungsschätzung und -kompensation dar,
  • 2 zeigt einen aktuellen Block B(x, y) und mögliche räumliche Vorhersagepositionen,
  • 3 zeigt einen aktuellen Block B(x, y) und mögliche räumliche und zeitliche Vorhersagepositionen,
  • 4 zeigt eine Gestaltung eines Bildraten-Umwandlers,
  • 5 stellt ein Bewegungsobjekt und zeitliche Vorhersagepositionen für die Schätzung eines Bewegungsvektors basierend auf kleinen im Blockraster markierten Versatzwerten dar,
  • 6 stellt ein Bewegungsobjekt und zeitliche Vorhersagepositionen für die Schätzung eines Bewegungsvektors basierend auf größeren im Blockraster markierten Versatzwerten dar,
  • 7 zeigt unterschiedliche Bewegungsphasen in einer Videosequenz, die aus einer Videokamera stammen,
  • 8 stellt verschiedene Bewegungsphasen desselben Bewegungsobjekts von 7 in einer Bewegtbildsequenz dar,
  • 9 zeigt unterschiedliche Bewegungsphasen in einer Videosequenz, die aus der Bewegungsbildsequenz von 8 stammen, die in eine Videosequenz umgewandelt wurde, und
  • 10 zeigt eine Gestaltung eines Videocodierers, der einen Bewegungsschätzer nach der vorliegenden Erfindung enthält.
  • Die vorliegende Erfindung bezieht sich auf eine digitale Signalverarbeitung, insbesondere auf die Signalverarbeitung in modernen Fernsehgeräten. Moderne Fernsehgeräte nutzen Aufwärts-Umwandlungs-Algorithmen, um die Qualität der wiedergegebenen Bilder zu erhöhen. Zu diesem Zweck sollen Zwischenbilder aus zwei aufeinander folgenden Bildern generiert werden. Um ein Zwischenbild zu generieren, muss die Bewegung der Bewegungsobjekte berücksichtigt werden, um die Objektposition angemessen an den Zeitpunkt anzupassen, der durch das interpolierte Bild widergespiegelt wird.
  • Die Bewegungsschätzung erfolgt auf einer Blockbasis. Zu diesem Zweck wird jedes empfangene Bild, wie beispielsweise in 1 dargestellt, in eine Mehrzahl von Blöcken unterteilt. Jeder aktuelle Block wird einzeln einer Bewegungsschätzung unterzogen, indem der am besten passende Block in dem vorhergehenden Bild bestimmt wird.
  • Um eine zeitraubende Vollsuche in einem vordefinierten Suchbereich zu vermeiden, wird nur eine begrenzte Menge von Kandidatenvektor dem Bewegungsschätzer bereitgestellt. Aus diesen Kandidatenvektoren wählt der Bewegungsschätzer den Vektor, der den aktuellen Block aus dem entsprechenden Block des vorhergehenden Bildes mit einem minimalen Abweichungsbetrag vorhersagen kann.
  • 1 zeigt die Unterteilung eines jeden Videobildes in einer Vielzahl von Blöcken B(x, y). Jeder Block verfügt über eine Breite X und eine Höhe Y, wobei X und Y jeweils die Anzahl der Pixel in Zeilen- und Spaltenrichtung darstellen. Die Anzahl der Blöcke pro Zeile oder Spalte kann mit folgenden Formeln berechnet werden: Xmax = Pixel pro Zeile/X ymax = Pixel pro Spalte/Y
  • Für jeden dieser Blöcke wird ein Bewegungsvektor aus einer Mehrzahl verschiedener Vektorkandidaten berechnet. Herkömmlicherweise enthält die Menge der Vektorkandidaten zum Beispiel die folgenden Bewegungsvektoren: C1 = (0;0) C2 = ν →[(× – 1; y), n] C3 = ν →[(×; y – 1), n] C4 = ν →[(× – 1; y), n]+u → C5 = ν →[(×; y – 1), n]+u → C6 = ν →[(× + 2 ; y), n – 1] C7 = ν →[(×; y + 2), n – 1]Wobei n das aktuelle Halbbild, n-1 das vorhergehende Halbbild und u → den Aktualisierungsvektor angibt.
  • Wie aus den obigen Gleichungen ersichtlich, können die Vektorkandidaten einen Null-Bewegungsvektor (C1) umfassen, Bewegungsvektoren der angrenzenden Blöcke für eine räumliche Vorhersage (C2, C3), und/oder Bewegungsvektoren des vorhergehenden Bildes für eine zeitliche Vorhersage (C6, C7).
  • Die räumliche Vorhersage kann verbessert werden, indem Aktualisierungsvektoren verwendet werden, die in den Vektoren für die räumliche Vorhersage C2, C3 kumuliert sind. Um kleinere Änderungen der Objektbewegung im Vergleich zu einem ausgewählten Vektorkandidaten zu berücksichtigen, wird ein Aktualisierungsvektor auf einem Bewegungsvektor angewendet, um neue Vektorkandidaten C4, C5 zu erstellen. Obwohl in der obigen Liste der Kandidatenvektoren der Aktualisierungsvektor u → nur auf die Vektorkandidaten C2 und C3 angewendet wird, kann er auf dieselbe Weise auf jeden anderen Vektorkandidaten angewendet werden, zum Beispiel auf die Vektorkandidaten C6, C7.
  • Obwohl die zeitlichen Vorhersagevektoren C6 und C7 der obigen Liste die Verwendung von Vektorkandidaten definieren, die einen Versatz von zwei Blöcken aufweisen, kann ein beliebiger anderer Versatz stattdessen anstelle von zwei verwendet werden, wie null, einer, drei usw.
  • Während die zeitlichen Vorhersagevektoren bezüglich eines aktuellen und eines vorhergehenden Bildes beschrieben wurden, kann sich der Begriff "Bild" entweder auf die Halbbilder einer Zeilensprung-Videosequenz oder auf Vollbilder einer progressiven Videosequenz beziehen. Dementsprechend können die generierten Zwischenbilder Halbbilder oder Vollbilder abhängig vom Typ der Videosequenz sein.
  • Weiterhin ist die obige Liste der Vektorkandidaten weder vollständig noch müssen alle der oben erwähnten Kandidatenvektoren aufgenommen werden. Jede andere Menge an Vektorkandidaten kann verwendet werden, was zur Bestimmung eines am besten passenden Bewegungsvektors für den aktuellen Block führt.
  • Für jeden Vektorkandidat wird ein Vorhersagefehler berechnet und ausgewertet, um den am besten passenden Bewegungsvektor zu bestimmen. Als Maß für den Vorhersagefehler kann die Summe der absoluten Differenzen (SAD) bestimmt werden. Der Kandidatenvektor wird ausgewählt und erachtet, die Bewegung des Blockes, der die kleinste SAD hat, am besten darzustellen.
  • Da einige der Bewegungsvektorkandidaten C1 bis C7 gegenüber anderen Kandidatenvektoren bevorzugt sein können, kann ein programmierbarer "Strafabzug" zur bestimmten SAD für einzelne Kandidaten hinzugefügt werden. Auf diese Weise kann die Auswahl bestimmter Kandidaten priorisiert werden. Vorzugsweise ist der Strafabzugswert proportional zur Länge des Aktualisierungsvektors u → für Bewegungsvektorkandidaten C4, C5.
  • Zusätzlich zu der obigen Liste von Vektorkandidaten kann ein globaler Bewegungsvektor weiterhin berücksichtigt werden. Ein globaler Bewegungsvektor stellt die Bewegung dar, die auf alle Blöcke des Videobilds anwendbar ist. Solche Bewegungsvektoren gelten entsprechend für einen Kameraschwenk.
  • Die oben aufgeführten Vektorkandidaten C1 bis C7 enthalten bereits berechnete Bewegungsvektoren aus der räumlichen Nachbarschaft, wie in 2 dargestellt. Diese Vektorkandidaten umfassen die bereits verarbeiteten Blöcke B(x-1, y) und B(x, y-1) aus benachbarten Positionen zur Position des aktuellen Blocks B(x, y) als Vektorkandidaten C2 und C3.
  • Die Vektorkandidaten C6 und C7 stellen zeitliche Vorhersagevektoren dar, die bereits berechnete Bewegungsvektoren des vorhergehenden Halbbildes n-1 darstellen. Ein Beispiel für zeitliche Bewegungsvorhersagevektoren ist in 3 dargestellt, wobei die Blöcke B'(x+2, y) und B'(x, y+2) als Vorhersagevektoren markiert sind.
  • Die zeitlichen Vorhersagevektoren liefern eine homogene Geschwindigkeit eines Bewegungsobjekts, wenn die Bewegung einer Szene über mehrere Halbbilder nahezu konstant ist. Basierend auf Vektorinformationen, die durch den Bewegungsschätzungsalgorithmus generiert wurden, wird ein Zwischenhalbbild mit Hilfe von Bewegungskompensationstechniken interpoliert.
  • Eine Beispielgestaltung eines bekannten Halbbildraten-Umwandlers wird in 4 dargestellt. Die Bewegungsschätzungsschaltung ME berechnet ein Bewegungsvektor-Halbbild und übergibt das Bewegungsvektor-Halbbild an die bewegungskompensierte Interpolationsschaltung MCl. Das bewegungskompensierte Ausgabebild wird auf einem angeschlossenen Anzeigegerät ausgegeben.
  • Aufwärts-Umwandlungs-Algorithmen, die in Fernsehgeräten der oberen Leistungsklasse verwendet werden, leiden unter einer schlechten Bildqualität, wenn das Quellmaterial von Bewegtbildern abstammt. Im Falle einer schnellen Bewegung können Randlinien von Bewegungsobjekten während der Interpolation nicht rekonstruiert werden. Dieser Nachteil resultiert aus zeitlichen Vorhersageblockpositionen in dem vorhergehenden Halbbild, die sich in der Nähe des aktuellen Blocks befinden. Solche zeitlichen Vorhersagepositionen befinden sich außerhalb des aktuellen Bewegungsobjekts im vorhergehenden Halbbild. Dieses Problem wird im Detail in 5 dargestellt.
  • 5 stellt ein graues Bewegungsobjekt im aktuellen Halbbild n und im vorhergehenden Halbbild n-1 dar. Die grau markierten Blöcke stellen ein Objekt dar, das sich mit hoher Geschwindigkeit nach links bewegt. Der aktuelle Block B(x, y) befindet sich am linken Rand des Bewegungsobjekts. Die entsprechend verwendeten zeitlichen Vorhersagevektorpositionen TP1 und TP2 im vorhergehenden Halbbild n-1 befinden sich außerhalb des Bewegungsobjekts. In der Folge können die zeitlichen Vorhersagevektoren TP1 und TP2 keinen Bewegungsvektor liefern, der die Bewegung des aktuellen Objekts widerspiegelt.
  • Die Bewegungsphasen in den Halbbildern n und n-1, die in 5 dargestellt werden, stammen von Videodaten, die aus Bewegtbildern umgewandelt wurden. Aufgrund der Halbbildrate von 24 Hz von Bewegtbildern unterscheiden sich die Objektpositionen erheblich zwischen den angrenzenden Bildern im Vergleich zu Videodaten, die aus einem Kameraquellmaterial mit einer Halbbildrate von 50 Hz oder 60 Hz stammen. Daher könnte ein zeitlicher Vorhersagevektor, der auf dieselbe Weise bestimmt wird, aber aus einem Kameraquellmaterial stammt, einen Bewegungsvektor bestimmen, der die korrekte Bewegung des aktuellen Bildhalbbildobjekts aus denselben zeitlichen Vorhersagepositionen TP1 und TP2 im vorhergehenden Halbbild widerspiegelt.
  • Die unterschiedlichen Bewegungsphasen, die entweder durch eine Kamera oder eine Filmkamera aufgezeichnet und von Filmkamera-Bewegtbilddaten in Videokameradaten umgewandelt wurden, werden in 7, 8 und 9 dargestellt.
  • 7 zeigt die Bewegungsphasen, die durch eine elektronische Kamera mit einem Zeilensprung-Aufnahmeformat in einer 50 Hz- oder 60 Hz-Halbbildrate aufgezeichnet wurden. Im Unterschied dazu wird dieselbe von einer Filmkamera aufgezeichnete Szene in 8 dargestellt. Dementsprechend spiegeln die Bewegtbilddaten nur die Phasen mit geringerer Bewegung wider, im Vergleich zu den Videodaten nach Fernsehstandards wie PAL, SECAM oder NTSC.
  • Bei der Umwandlung von Bewegtbilddaten, wie in 8 dargestellt, in einen Fernsehstandard wie das Videoformat, werden die Bewegungsphasen aus den Bewegtbildern wiederholt in eine Mehrzahl von Halbbildern umgewandelt. Wie aus 9 ersichtlich, wird jede Bewegungsphase aus Bewegtbildern in zwei Halbbilder einer Halbbildsequenz nach einer zwei-zwei Pull-down-Umwandlung umgewandelt.
  • Beim Vergleich der Objektpositionen der verschiedenen Bewegungsphasen, die in den Videosequenzen von 7 und 9 dargestellt werden, ist eine zeitliche Vorhersage basierend auf den Bewegungsphasen von 9 ziemlich fehleranfällig. Da nur weniger Bilder der Videosequenz in 9 die unterschiedlichen Bewegungsphasen widerspiegeln, muss eine zeitliche Bewegungsvektorvorhersage größere Verschiebungen des Bewegungsobjekts zwischen den Bewegungsphasen behandeln können.
  • Die auf Videosequenzen angewendete Bewegungsschätzung kann nicht exakt beide Arten von Bilddaten berücksichtigen, d.h. Videomodusdaten und Filmmodusdaten. In der Folge misslingt die zeitliche Vorhersage des Bewegungsvektors im Allgemeinen für schnelle Bewegungsobjekte, die aus einem Bewegtbild stammen. Somit sind starke Artefakte in einer bewegungskompensierten Halbbildsequenz für schnelle Bewegungsobjekten sichtbar, insbesondere an den Randlinien der Bewegungsobjekte.
  • Die vorliegende Erfindung löst dieses Problem durch die Anpassung des Versatzes der zeitlichen Vorhersagevektoren abhängig vom Typ der Bilddaten. Im Videomodus sind die Blockpositionen im vorhergehenden Halbbild näher an der aktuellen Blockposition eingestellt, während im Filmmodus die zeitlichen Vorhersagepositionen weiter von der aktuellen Blockposition entfernt eingestellt sind. Diese verschiedenen Vorhersagemodi für den Videomodus und den Filmmodus werden in 5 und 6 dargestellt. Während 5 die Versatzwerte zweier Blöcke in horizontaler (TP1) und vertikaler (TP2) Richtung darstellt, zeigt 6, wie die Vorhersageversatzwerte größer eingestellt werden. Der horizontale und vertikale Versatz ist in vier Blöcken festgelegt.
  • Im Allgemeinen werden die zeitlichen Vorhersagevektoren als Vektorkandidaten wie folgt eingestellt: • C6 = ν →[(× + tpx1; y + tPy1),n-1] • C7 = ν →[(× + tpx2; y + tpy2),n-1]
  • Die Variablen (tpx1, tpy1l), (tpx2, tpy2) stellen die zeitlichen Vorhersageversatzpositionen dar. Die zeitlichen Vorhersageversatzpositionen hängen von dem erfassten Quellmodus für das aktuelle Bild oder den aktuellen Block ab. Beim Filmmodus müssen die Werte der zeitlichen Vorhersageversatzpositionen (tpx1, tpy1), (tpx2, tpy2) größer gesetzt werden als für den Videomodus. Die Erfassung des Filmmodus oder Videomodus kann auf Blockbasis, auf Bildbasis oder sogar auf einer Sequenz von Bildern basierend durchgeführt werden.
  • In einer bevorzugten Ausführungsform werden die zeitlichen Vorhersageversatzpositionen auf Blockbasis entsprechend den Gleichungen (1) bis (4) bestimmt:
    Figure 00130001
  • Der Parameter block mode = 0 gibt an, dass für den aktuellen Block der Videomodus erfasst wurde.
  • Um die Qualität der Bewegungsschätzung für größere Objekte zu verbessern, die sich mit nahezu konstanter Geschwindigkeit bewegen, werden die Vektorkandidaten C6 und C7 (zeitliche Vorhersagevektoren) in die Menge der Vektorkandidaten aufgenommen. Im Falle der Objektbewegung, die nahezu identisch ist mit der Objektbewegung im vorhergehenden Halbbild, spiegelt der zeitliche Vorhersagekandidat die Bewegung des aktuellen Objekts perfekt wider. In der Folge weist der berechnete Fehlerwert, vorzugsweise die Summe der absoluten Differenzen (SAD), den kleinsten Wert dergestalt auf, dass die zeitlichen Vorhersagevektoren C6 oder C7 als der beste Bewegungsvektor für den aktuellen Block ausgewählt werden.
  • Während die vorliegende Erfindung vor allem im Kontext der Interpolation von Zwischenbildern beschrieben wurde, kann insbesondere für die Vollbildraster-Umwandlung in modernen Fernsehgeräten die verbesserte Bewegungsschätzung der vorliegenden Erfindung in entsprechender Weise auf die Videodatenkompression angewendet werden.
  • Die Kompression von Videodaten verwendet in der Regel mehrere Hauptstufen. Jedes Einzelbild wird in Pixel-Blöcke unterteilt, um jedes Bild auf Blockebene einer Datenkompression zu unterziehen. Solch eine Blockunterteilung kann der Unterteilung in 1 entsprechen. Räumliche Redundanzen in einem Bild werden dadurch reduziert, dass jeder Block auf eine Transformationseinheit angewendet wird, um die Pixel eines jeden Blocks vom räumlichen Bereich in den Frequenzbereich zu transformieren. Die resultierenden Transformationskoeffizienten werden quantisiert und die quantisierten Transformationskoeffizienten werden einer Entropiecodierung unterzogen.
  • Weiterhin werden die zeitlichen Abhängigkeiten zwischen Blöcken aufeinander folgender Bilder genutzt, um nur die Differenzen zwischen den aufeinander folgenden Bildern zu übertragen. Dies wird durch die Verwendung einer Bewegungsschätzungs-/Kompensationstechnik erreicht. Die Nutzung zeitlicher Abhängigkeiten wird durch so genannte hybride Codierungstechniken durchgeführt, die zeitliche und räumliche Kompressionstechniken mit der statistischen Codierung vereinen.
  • In 10 wird ein Beispiel eines hybriden Videocodierers dargestellt. Der Videocodierer, der allgemein durch die Referenzkennung 1 bezeichnet ist, umfasst einen Subtraktor 10 zum Bestimmen der Differenzen zwischen einem aktuellen Videobild und einem Vorhersagesignal des aktuellen Bildes, das auf einem bewegungskompensierten, bereits codierten Bild basiert. Eine Transformations- und Quantisierungseinheit 20 transformiert den Vorhersagefehler aus dem räumlichen Bereich in den Frequenzbereich und quantisiert die erhaltenen Transformationskoeffizienten. Eine Entropiecodierungseinheit 90 codiert die quantisierten Transformationskoeffizienten auf entrope Weise.
  • Codierer 1 verwendet eine Differential Pulse Code Modulation (DPCM), die nur die Differenzen zwischen den aufeinander folgenden Bildern einer Eingangsvideosequenz überträgt. Diese Differenzen werden durch den Subtraktor 10 bestimmt, der die zu codierenden Videobilder und ein Vorhersagesignal empfängt, das hiervon subtrahiert wird.
  • Das Vorhersagesignal basiert auf dem Dekodierergebnis der zuvor codierten Bilder auf der Codiererseite. Dies wird durch eine Decodiereinheit erreicht, die in den Videocodierer integriert ist. Die Decodiereinheit führt die Codierschritte in umgekehrter Weise durch. Die Einheit zur inversen Quantisierung und inversen Transformation 30 dequantisiert die quantisierten Koeffizienten und wendet eine inverse Transformation auf die dequantisierten Koeffizienten an. Der Addierer 35 kumuliert die decodierten Differenzen und das Vorhersagesignal.
  • Das Vorhersagesignal stammt aus einer Schätzung der Bewegung zwischen dem aktuellen und vorhergehenden Halbbildern oder Vollbildern. Die Bewegungsschätzung wird durch einen Bewegungsschätzer 70 durchgeführt, der das aktuelle Eingangssignal und die lokal decodierten Bilder empfängt. Die Bewegungsschätzung wird vorzugsweise in Übereinstimmung mit der vorliegenden Erfindung durchgeführt. Basierend auf den Ergebnissen der Bewegungsschätzung wird die Bewegungskompensation durch den Bewegungskompensator 60 durchgeführt.
  • Zusammengefasst bietet die vorliegende Erfindung ein verbessertes Verfahren für die Bewegungsschätzung und im Besonderen für eine bewegungskompensierte Interpolation. Indem die Quelle der Videodaten berücksichtigt wird, wird ein räumlicher Versatz für die Auswahl eines zeitlichen Vorhersagevektors in Übereinstimmung mit dem erfassten Quellmodus festgelegt. Durch die Auswahl eines entsprechenden Versatzes aus der aktuellen Blockposition in einem vorhergehenden Halbbild, kann die Genauigkeit der vorhergesagten Bewegung und in der Folge die Bildqualität der bewegungskompensierten Bilder erheblich verbessert werden.

Claims (33)

  1. Verfahren zur Bestimmung eines Bewegungsvektors für einen Block eines aktuellen Bildes in einer Sequenz von Videobildern, wobei jedes Videobild in eine Mehrzahl von Blöcke unterteilt ist, das Verfahren bestimmt einen Bewegungsvektor eines aktuellen Blockes basierend auf einem Bewegungsvektor, der für einen Block eines vorhergehenden Bildes geschätzt wurde, wobei sich der Block des vorhergehenden Bildes an einer Position mit einem vordefinierten Versatz zu der Position des aktuellen Blocks befindet, gekennzeichnet durch den Schritt Einstellen der Größe des Versatzes in Abhängigkeit davon, ob die Bilddaten des aktuellen Blocks von einem Bild eines Bewegtbildtyps stammen.
  2. Verfahren nach Anspruch 1, wobei eine Bestimmung, dass Bilddaten von einem Bildtyp eines Bewegtbilds stammen, auf der Detektion eines Umwandlungsmusters eines Bewegtbilds in Videodaten in der Videobildsequenz basieren.
  3. Verfahren nach Anspruch 2, wobei das Umwandlungsmuster ein 2:2 oder 3:2 Umwandlungsmuster ist.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei eine Bestimmung, dass Bilddaten von einem Bild eines Bewegtbildstyp stammen, auf Basis eines Bildes bestimmt wird, im besonderen pro Halbbild oder Vollbild.
  5. Verfahren nach einem der Ansprüche 1 bis 3, wobei eine Bestimmung, dass Bilddaten von einem Bild eines Bewegtbildtyps stammen, auf Blockbasis bestimmt wird.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei der Versatz größer eingestellt wird, wenn die Bilddaten von einem Bewegtbild stammen.
  7. Verfahren nach Anspruch 6, wobei im Fall von Bilddaten von Bewegtbilder der Versatz notwendigerweise zweimal so groß eingestellt wird, wie ein Versatz für Bilddaten eines Nicht-Bewegtbildtyps,
  8. Verfahren nach Anspruch 6 oder 7, wobei der Versatz im Falle von Bilddaten eines Nicht-Bewegtbildtyps auf Werte zwischen 1 und 4 Blocklängen eingestellt wird, und im Falle von Bilddaten die auf Bewegtbilder basieren auf Werte zwischen 2 und 8 Blocklängen eingestellt wird.
  9. Verfahren nach einem der Ansprüche 6 bis 8, wobei der Versatz im Falle von Bilddaten eines Nicht-Bewegtbildtyps auf einen Wert von 2 Blocklängen eingestellt wird, und im Falle von Bilddaten, die auf Bewegtbilder basieren auf einen Wert von 4 Blocklängen eingestellt wird.
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei der Versatz in horizontale und vertikale Richtung unterschiedlich eingestellt wird.
  11. Verfahren nach Anspruch 10, wobei der Versatz entweder in horizontale oder vertikale Richtung auf Null eingestellt wird.
  12. Verfahren nach einem der Ansprüche 1 bis 11, das weiter die Schritte umfasst: Auswählen eines Bewegungsvektors für den aktuellen Block aus einer Mehrzahl von Bewegungsvektorkandidaten (C1-C7), die den Bewegungsvektor enthalten, der für einen Block eines vorhergehenden Bildes an einer von der Position des aktuellen Blockes versetzten Positionen geschätzt wurde, und Zuordnen des ausgewählten Bewegungsvektors zu dem aktuellen Block.
  13. Verfahren nach Anspruch 12, wobei der Auswahlschritt die Schritte umfasst: Berechnen eines Fehlerwerts für jeden Bewegungsvektorkandidaten (C1-C7), und Auswählen des Bewegungsvektors, der den kleinsten Fehlerwert hat.
  14. Verfahren nach Anspruch 12 oder 13, wobei der Vektorkandidat (C1-C7) mindestens einen der folgenden Vektoren enthält: einen Null-Bewegungsvektor (C1), der auf die identische Blockposition des aktuellen Blockes zeigt, einen Bewegungsvektor (C2, C3), der für einen Nachbarblock des aktuellen Bildes bestimmt wird, einen Bewegungsvektor (C4, C5), der für einen Nachbarblock in dem aktuellen Bild bestimmt wird, wobei die Vektorlänge durch Addition eines Aktualisierungsvektors (u) variiert wird.
  15. Verfahren zur Kodierung einer Sequenz von Videobildern, das Bewegungskompensation enthält, wobei ein Verfahren zu Bewegungsschätzung gemäß einem der Ansprüche aus 1 bis 14 angewendet wird.
  16. Verfahren zur Interpolation einer Sequenz von Videobilder das Bewegungskompensation enthält, wobei ein Verfahren zu Bewegungsschätzung gemäß einem der Ansprüche aus 1 bis 14 angewendet wird.
  17. Verfahren zur Umwandlung einer Halbbild- oder Vollbild-Rate einer Videosequenz durch die Anwendung von Bewegungskompensation gemäß Anspruch 16.
  18. Bewegungsschätzer zur Bestimmung eines Bewegungsvektor für einen Block eines aktuellen Bildes in einer Sequenz von Videobildern, wobei jedes Videobild in eine Mehrzahl von Blöcke unterteilt ist, der Bewegungsschätzer bestimmt den Bewegungsvektor für einen aktuellen Block basierend auf einem Bewegungsvektor, der für einen Block eines vorhergehenden Bildes bestimmt wurde, wobei sich der Block des vorhergehenden Bildes an einer Position mit einem vordefinierten Versatz zu der Position des aktuellen Blocks befindet, gekennzeichnet durch einen Filmmodusdetektor, der bestimmt, ob die Bilddaten des aktuellen Blockes von einem Bild eines Bewegtbildtyps stammen, und eine Versatzanpassungseinheit zum Einstellen der Größe des Versatzes abhängig von den Detektionsergebnis des Filmmodusdetektors.
  19. Bewegungsschätzer nach Anspruch 18, wobei der Filmmodusdetektor so angepasst ist, dass er basierend auf der Detektion eines Umwandlungsmusters eines Bewegt bilds in Videodaten in einer Sequenz von Videobildern bestimmt, dass Bilddaten von einem Bild eines Bewegtbildtyps stammen.
  20. Bewegungsschätzer nach Anspruch 19, wobei das Umwandlungsmuster ein 2:2 oder 3:2 Umwandlungsmuster ist.
  21. Bewegungsschätzer nach einem der Ansprüche 18 bis 20, wobei der Filmmodusdetektor so angepasst ist, dass er auf Bildbasis, im besonderen je Halbbild oder Vollbild, bestimmt, dass Bilddaten von einem Bild eines Bewegtbildtyps stammen.
  22. Bewegungsschätzer nach einem der Ansprüche 18 bis 20, wobei der Filmmodusdetektor so angepasst ist, dass er auf Blockbasis bestimmt, dass Bilddaten von einem Bild eines Bewegtbildtyps stammen.
  23. Bewegungsschätzer nach einem der Ansprüche 18 bis 22, wobei die Versatzanpassungseinheit so angepasst ist, dass sie den Versatz größer eingestellt, wenn die Bilddaten von einem Bewegtbild stammen
  24. Bewegungsschätzer nach Anspruch 23, wobei die Versatzanpassungseinheit so angepasst ist, dass im Falle von Bewegtbilddaten den Versatz auf die zweifache Größe des Versatzwertes für Bilddaten für Nicht-Bewegtbildtypen einstellt.
  25. Bewegungsschätzer nach Anspruch 23 oder 24, wobei die Versatzanpassungseinheit so angepasst ist, dass sie im Fall von Bilddaten von Nicht-Bewegtbildtypen den Versatz auf Werte zwischen 1 und 4 Blocklängen eingestellt, und im Fall von Bilddaten, die auf Bewegtbildern basieren, einen Wert zwischen 2 und 8 Blocklängen einstellt.
  26. Bewegungsschätzer nach einem der Ansprüche 23 bis 25, wobei die Versatzanpassungseinheit so angepasst ist, dass sie im Fall von Bilddaten von Nicht-Bewegtbildtypen den Versatz auf 2 Blocklängen eingestellt, und im Fall von Bilddaten, die auf Bewegtbildern basieren, einen Wert von 4 Blocklängen einstellt.
  27. Bewegungsschätzer nach einem der Ansprüche 18 bis 26, wobei die Versatzanpassungseinheit so angepasst ist, dass sie den Versatz in horizontale und vertikale Richtung unterschiedlich einstellt.
  28. Bewegungsschätzer nach Anspruch 27, wobei die Versatzanpassungseinheit so angepasst ist, dass der Versatz entweder in horizontale oder vertikalen Richtung Null ist.
  29. Bewegungsschätzer nach einem der Ansprüche 18 bis 28, der ferner eine Auswahleinheit enthält, zur Auswahl eines Bewegungsvektors für den aktuellen Block aus einer Mehrzahl von Bewegungsvektorkandidaten (C1-C7), die den Bewegungsvektor enthalten, der für den Block eines vorherigen Bildes an einer Position, die von der Position des aktuellen Blocks versetzt ist, geschätzt wurde, und Zuordnen des ausgewählten Bewegungsvektors zu dem aktuellen Block.
  30. Die Bewegungsschätzer nach Anspruch 29, wobei die Auswahleinheit umfasst: eine Verarbeitungseinheit zur Berechnung eines Fehlerwert für jeden Bewegungsvektorkandidaten (C1-C7), und eine Vergleichseinheit zur Auswahl des Bewegungsvektors, der den kleinsten Fehlerwert hat.
  31. Bewegungsschätzer nach Anspruch 29 oder 30, wobei die Vektorkandidaten (C1-C7) mindestens einen der folgenden Vektoren enthalten: einen Null-Bewegungsvektor (C1), der auf die identische Blockposition des aktuellen Blockes zeigt, einen Bewegungsvektor (C2, C3), der für einen Nachbarblock des aktuellen Bildes bestimmt wird, einen Bewegungsvektor (C4, C5), der für einen Bachbarblock in dem aktuellen Bild bestimmt wird, wobei die Vektorlänge durch Addition eines Aktualisierungsvektors (u) variiert wird.
  32. Ein Videokodierer zu Kodierung einer Sequenz von Videobilder, wobei der Videokodierer einen Bewegungskompensator enthält, der einen Bewegungsschätzer gemäß einem der Ansprüche 18 bis 31 verwendet.
  33. Ein Interpolator zur Interpolation einer Sequenz von Videobilder, wobei der Interpolator eine Bewegungskompensator enthält, der einen Bewegungsschätzer gemäß einem der Ansprüche 18 bis 31 verwendet.
DE602004002455T 2004-04-30 2004-04-30 Bewegungsvektorschätzung durch adaptive zeitliche Vorhersage Expired - Lifetime DE602004002455T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP04010299A EP1592248B1 (de) 2004-04-30 2004-04-30 Bewegungsvektorschätzung durch adaptive zeitliche Vorhersage

Publications (2)

Publication Number Publication Date
DE602004002455D1 DE602004002455D1 (de) 2006-11-02
DE602004002455T2 true DE602004002455T2 (de) 2007-01-11

Family

ID=34924803

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004002455T Expired - Lifetime DE602004002455T2 (de) 2004-04-30 2004-04-30 Bewegungsvektorschätzung durch adaptive zeitliche Vorhersage

Country Status (6)

Country Link
US (1) US20050243926A1 (de)
EP (1) EP1592248B1 (de)
JP (1) JP4724459B2 (de)
KR (1) KR20060047595A (de)
CN (1) CN100370807C (de)
DE (1) DE602004002455T2 (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070069615A (ko) 2005-12-28 2007-07-03 삼성전자주식회사 움직임 추정장치 및 움직임 추정방법
JP4181592B2 (ja) * 2006-09-20 2008-11-19 シャープ株式会社 画像表示装置及び方法、画像処理装置及び方法
US8249371B2 (en) * 2007-02-23 2012-08-21 International Business Machines Corporation Selective predictor and selective predictive encoding for two-dimensional geometry compression
JP4935771B2 (ja) * 2008-06-27 2012-05-23 三菱電機株式会社 動きベクトル検出装置および動画像符号化装置
CN101635789B (zh) * 2008-07-21 2012-12-19 奇美电子股份有限公司 动态图像补偿装置及方法
US8718142B2 (en) * 2009-03-04 2014-05-06 Entropic Communications, Inc. System and method for frame rate conversion that utilizes motion estimation and motion compensated temporal interpolation employing embedded video compression
US8295551B2 (en) * 2009-04-08 2012-10-23 Samsung Electronics Co., Ltd. System and method of adaptive vertical search range tracking for motion estimation in digital video
GB2469679B (en) 2009-04-23 2012-05-02 Imagination Tech Ltd Object tracking using momentum and acceleration vectors in a motion estimation system
CN102918839B (zh) * 2010-03-31 2016-05-18 英特尔公司 用于视频编码的功率高效的运动估计技术
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
US8736767B2 (en) 2010-09-29 2014-05-27 Sharp Laboratories Of America, Inc. Efficient motion vector field estimation
US8891626B1 (en) 2011-04-05 2014-11-18 Google Inc. Center of motion for encoding motion fields
KR101956284B1 (ko) 2011-06-30 2019-03-08 엘지전자 주식회사 보간 방법 및 이를 이용한 예측 방법
JP2014523708A (ja) 2011-07-01 2014-09-11 モトローラ モビリティ エルエルシー 動きベクトル予測設計の簡易化
CN102263958A (zh) * 2011-07-26 2011-11-30 中兴通讯股份有限公司 基于h264运动估计算法的初始点获取方法及装置
US8520140B2 (en) * 2011-10-12 2013-08-27 Intel Corporation Mode based film mode detection
US9185428B2 (en) 2011-11-04 2015-11-10 Google Technology Holdings LLC Motion vector scaling for non-uniform motion vector grid
EP2777259A2 (de) * 2011-11-08 2014-09-17 Motorola Mobility LLC Vorrichtungen und verfahren für adaptive musterversatzkodierung und/oder -signalisierung
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
TWI601075B (zh) * 2012-07-03 2017-10-01 晨星半導體股份有限公司 移動補償影像處理裝置與影像處理方法
EP2905961A4 (de) 2012-10-05 2016-07-06 Lg Electronics Inc Verfahren und vorrichtung zur verarbeitung eines videosignals
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US10469866B2 (en) 2013-04-05 2019-11-05 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding video with respect to position of integer pixel
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
US20150110190A1 (en) * 2013-10-21 2015-04-23 Sony Corporation Method and apparatus for motion estimation
US10009626B2 (en) 2014-01-29 2018-06-26 Ecole De Technologie Superieure Method and system for rate-constrained search ordering
WO2016119046A1 (en) * 2015-01-29 2016-08-04 Ecole De Technologie Superieure Methods and systems for determining motion vectors in a motion estimation process of a video encoder
GB2539198B (en) * 2015-06-08 2019-09-25 Imagination Tech Ltd Motion estimation using collocated blocks
CN113574869B (zh) 2019-03-17 2024-01-05 北京字节跳动网络技术有限公司 基于光流的预测细化

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4982280A (en) * 1989-07-18 1991-01-01 Yves C. Faroudja Motion sequence pattern detector for video
US5317398A (en) * 1992-08-17 1994-05-31 Rca Thomson Licensing Corporation Video/film-mode (3:2 pulldown) detector using patterns of two-field differences
JP3121519B2 (ja) * 1994-12-12 2001-01-09 沖電気工業株式会社 動きベクトルを用いた動き内挿方法および動き内挿回路ならびに動きベクトル検出方法および動きベクトル検出回路
JP3155509B2 (ja) * 1997-06-17 2001-04-09 日本電信電話株式会社 動きベクトル探索方法および動きベクトル探索装置ならびに動きベクトル探索プログラムを記憶した記憶媒体
WO1999016251A1 (en) * 1997-09-23 1999-04-01 Koninklijke Philips Electronics N.V. Motion estimation and motion-compensated interpolation
EP1119975B1 (de) * 1998-10-13 2003-04-23 STMicroelectronics Asia Pacific Pte Ltd. VERFAHREN ZUR BESTIMMUNG VON BEWEGUNGSVEKTORFELDERN MIT LOKALER BEWEGUNGSSCHäTZUNG
US6870568B1 (en) * 1998-12-02 2005-03-22 Stmicroelectronics Asia Pacific Pte Ltd. Progressive/interlace and redundant field detection for encoder
JP2001024988A (ja) * 1999-07-09 2001-01-26 Hitachi Ltd 画像信号の動き補償フレーム数変換方式および装置
US6707853B1 (en) * 2000-01-10 2004-03-16 Intel Corporation Interface for performing motion compensation
CN1456015A (zh) * 2001-01-11 2003-11-12 皇家菲利浦电子有限公司 识别并行地出现在单个电视信号场中的影片和视频对象
KR100854091B1 (ko) * 2002-07-13 2008-08-25 삼성전자주식회사 영상신호의 필름 모드 검출장치 및 방법
US7453940B2 (en) * 2003-07-15 2008-11-18 Lsi Corporation High quality, low memory bandwidth motion estimation processor
US7480334B2 (en) * 2003-12-23 2009-01-20 Genesis Microchip Inc. Temporal motion vector filtering
DE602004030993D1 (de) * 2004-04-30 2011-02-24 Panasonic Corp Bewegungsschätzung unter Verwendung von adaptiven räumlichen Verfeinerungsvektoren

Also Published As

Publication number Publication date
EP1592248B1 (de) 2006-09-20
KR20060047595A (ko) 2006-05-18
CN100370807C (zh) 2008-02-20
DE602004002455D1 (de) 2006-11-02
JP2005318620A (ja) 2005-11-10
EP1592248A1 (de) 2005-11-02
CN1694495A (zh) 2005-11-09
JP4724459B2 (ja) 2011-07-13
US20050243926A1 (en) 2005-11-03

Similar Documents

Publication Publication Date Title
DE602004002455T2 (de) Bewegungsvektorschätzung durch adaptive zeitliche Vorhersage
DE69817460T2 (de) Bildsequenzdekodierungsverfahren
EP0259562B1 (de) Verfahren zur bewegungskompensierten Bild-zu-Bild-Prädiktionscodierung
DE69530336T2 (de) Bewegungskompensation für digitale Videosignale mit Zeilensprung
DE69928010T2 (de) Erhöhte videowiedergabebildfrequenz in videoanwendungen
EP0359094B1 (de) Übertragungssystem für ein zeitlich und örtlich hochaufgelöstes Bildsignal
DE69434467T2 (de) Verfahren und Vorrichtung zum Bilden eines Videosignals durch Bewegungsschätzung und Signalwege mit verschiedenen Interpolationsverarbeitungen
DE69233505T2 (de) Videokodierungssystem
DE69634423T2 (de) Videokodierung- und dekodierungsvorrichtung
DE69837003T2 (de) Vorrichtung und verfahren zur optimierung der bitratensteurung in einem kodiersystem
DE60302602T2 (de) Sub-Pixel-Interpolation in Bewegungsschätzung und Bewegungskompensation
EP0309669B1 (de) Verfahren zur szenenmodellgestützten Bilddatenreduktion für digitale Fernsehsignale
DE60307354T2 (de) Chrominanz-Bewegungsvektorrundung
DE69836473T2 (de) Bewegungsschätzung und bewegungskompensierte interpolation
DE60310800T2 (de) Approximierter Kubikfilter
DE60306011T2 (de) Rundungskontrolle für mehrstufige Interpolation
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE3837590A1 (de) Verfahren zum reduzieren der datenrate von digitalen bilddaten
DE112005000033T5 (de) Adaptiv gewichtetes Bewegungsabschätzungsverfahren und Bildwechselfrequenz-Wandlereinrichtung, die das Verfahren einsetzt
DE602004002935T2 (de) Bearbeitung von Tickern in Videosequenzen
DE10300692A1 (de) Blockvorhersageverfahren unter Verwendung eines verbesserten Direkt-Modus
DE10331048B4 (de) Vorrichtung und Verfahren für die Detektion, ob sich ein ankommendes Bildsignal in einem Filmmodus befindet
DE19618984B4 (de) Verfahren zur Bewegungsbewertung in Bilddaten sowie Vorrichtung zur Durchführung dieses Verfahrens
DE60209773T2 (de) Vorrichtung und verfahren zum erkennen von verdeckung
DE60213039T2 (de) MPEG4-Videokodierung mit "skipped macroblock" Mode

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP

8320 Willingness to grant licences declared (paragraph 23)