DE69928010T2 - Erhöhte videowiedergabebildfrequenz in videoanwendungen - Google Patents

Erhöhte videowiedergabebildfrequenz in videoanwendungen Download PDF

Info

Publication number
DE69928010T2
DE69928010T2 DE69928010T DE69928010T DE69928010T2 DE 69928010 T2 DE69928010 T2 DE 69928010T2 DE 69928010 T DE69928010 T DE 69928010T DE 69928010 T DE69928010 T DE 69928010T DE 69928010 T2 DE69928010 T2 DE 69928010T2
Authority
DE
Germany
Prior art keywords
frame
interpolation
block
blocks
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
DE69928010T
Other languages
English (en)
Other versions
DE69928010D1 (de
Inventor
Rajeeb Hazra
Arlene Kasai
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of DE69928010D1 publication Critical patent/DE69928010D1/de
Publication of DE69928010T2 publication Critical patent/DE69928010T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence

Description

  • Die vorliegende Erfindung betrifft Multimedia-Anwendungen und insbesondere die Anzeige von Videoanwendungen mit einer erhöhten Video-Framerate.
  • Während die Übertragungsbandbreitenrate über Computernetzwerke hinweg immer größer wird, wächst die zu übertragende Datenmenge sogar noch schneller. Computerbenutzer möchten mehr Daten in einem gleichwertigen oder kürzeren Zeitrahmen senden und empfangen können. Die gegenwärtigen Bandbreitenbeschränkungen begrenzen diese Fähigkeit zum Empfang von mehr Daten in kürzerer Zeit, da sich Daten und Zeit in einer Computernetzwerkumgebung im Allgemeinen umgekehrt proportional verhalten. Ein bestimmter über verschiedene Computernetzwerke übertragener Datentyp ist ein durch eine Serie von Frames repräsentiertes Videosignal. Die Bandbreitenbeschränkungen begrenzen auch die Framerate eines über ein Netzwerk übertragenen Videosignals, was wiederum die temporale Bildqualität des auf der Empfangsseite produzierten Videosignals mindert.
  • Durch die Anwendung von Echtzeit-Frameinterpolation auf ein Videosignal wird die Wiedergaberate des Signals erhöht, was wiederum zu einer besseren Bildqualität führt. Ohne eine Erhöhung der Netzbandbreite zu erfordern, ermöglicht die Frameinterpolation eine Erhöhung der Framerate eines Videosignals durch Einfügen neuer Frames zwischen die über das Netzwerk empfangenen Frames. Bei der Anwendung der gegenwärtigen Echtzeit-Frame-Interpolationsverfahren auf ein komprimiertes Videosignal kommt es jedoch zum Einfügen von signifikanten Interpolationsartefakten in die Videosequenz. Aus diesen und anderen Gründen besteht daher ein Bedarf an der vorliegenden Erfindung.
  • Die EP-A-0386805 beschreibt eine Dekodiervorrichtung für ein Fernsehsignal mit Bewegungsinformationen in Digitaldatenform und Bereitstellung der Interpolation gesteuert von Bewegungsvektoren für in Kategorien relativer Bewegung eingeteilte Blöcke.
  • Ausführungsformen der vorliegenden Erfindung sind in den beigefügten Ansprüchen dargelegt.
  • Bei einer Ausführungsform umfasst ein Verfahren die Auswahl einer Anzahl von Blöcken eines Frame-Paares und die Synthetisierung eines interpolierten Frames auf der Basis dieser aus dem Frame-Paar ausgewählten Blöcke. Außerdem wird die Synthese des Interpolations-Frames abgebrochen, wenn festgestellt wird, dass der Interpolations-Frame von unannehmbarer Qualität ist.
  • Bei einer weiteren Ausführungsform umfasst ein Verfahren die Auswahl einer Blockgröße auf der Basis eines Aktivitätsniveaus für einen aktuellen Frame und einen vorherigen Frame und die Synthetisierung eines Interpolations-Frames auf der Grundlage der für diese beiden Frames ausgewählten Blockgröße.
  • Bei einer weiteren Ausführungsform umfasst ein Verfahren die Führung einer Anzahl von Listen, von denen jede einen aktuellen Gewinnblock enthält, für eine Anzahl von Interpolationsblöcken eines Interpolations-Frames zur Ermittlung eines am besten passenden Blocks aus einem Frame-Paar für die einzelnen Interpolationsblöcke. Zusätzlich wird der am besten passende Block für die einzelnen Interpolationsblöcke aus dem aktuellen Gewinnblock der einzelnen Listen nach einem Fehlerkriterium und einem Überlappungskriterium ausgewählt. Der Interpolations-Frame wird auf der Basis des am besten passenden Blocks für die einzelnen Interpolationsblöcke synthetisiert.
  • Bei einer weiteren Ausführungsform umfasst ein Verfahren die Auswahl eines Nullbewegungsvektors für ein gegebenes Pixel im Interpolations-Frame, wenn ein dem gegebenen Pixel im Interpolations-Frame entsprechendes aktuelles Pixel in einem aktuellen Frame ermittelt wird, das als abgedeckt oder unabgedeckt klassifiziert wird. Der Interpolations-Frame wird auf der Basis des Nullbewegungsvektors für das gegebene Pixel im Interpolations-Frame synthetisiert, wenn das dem gegebenen Pixel im Interpolations-Frame entsprechende aktuelle Pixel im aktuellen Frame als abgedeckt oder unabgedeckt ermittelt wird.
  • Bei einer weiteren Ausführungsform umfasst ein Verfahren die Klassifizierung einer Anzahl von Pixeln in einem aktuellen Frame als eine aus einer Anzahl von unterschiedlichen Pixelklassifizierungen zur Synthese eines Interpolations-Frames. Die Synthese des Interpolations-Frames wird abgebrochen und der vorherige Frames wiederholt, wenn anhand der Zuweisung der Anzahl von Pixeln im aktuellen Frame festgestellt wird, dass der Interpolations-Frame von unannehmbarer Qualität ist.
  • Bei einer weiteren Ausführungsform umfasst ein Verfahren die Auswahl eines besten Bewegungsvektors für jeden aus einer Anzahl von Blöcken für einen hypothetischen Interpolations-Frame, der sich zeitlich zwischen einem aktuellen und einem vorherigen Frame befindet. Der beste Bewegungsvektor wird für jeden aus der Anzahl von Blöcken für einen hypothetischen Interpolations-Frame für eine Anzahl von Interpolations-Frames im relativen Abstand der Anzahl an Interpolations-Frames vom aktuellen Frame skaliert. Die Anzahl von Interpolations-Frames wird auf der Basis des besten Bewegungsvektors für die einzelnen Blöcke innerhalb der Anzahl von Interpolations-Frames synthetisiert.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Blockdiagramm eines Systems entsprechend einer erfindungsgemäßen Ausführungsform.
  • 2 zeigt ein Blockdiagramm einer Frameinterpolation entsprechend einer erfindungsgemäßen Ausführungsform.
  • 3 zeigt ein Ablaufdiagramm entsprechend einer erfindungsgemäßen Ausführungsform.
  • 4 zeigt ein Diagramm der entsprechenden Blöcke für einen vorherigen Frame, einen Interpolations-Frame und einen aktuellen Frame entsprechend einer erfindungsgemäßen Ausführungsform.
  • 5 zeigt ein Ablaufdiagramm eines Blockbewegungsschätzverfahrens entsprechend einer erfindungsgemäßen Ausführungsform.
  • 6 zeigt ein Diagramm der entsprechenden Blöcke für einen vorherigen Frame, einen Interpolations-Frame und einen aktuellen Frame für eine erste Iteration zur Vorwärtsbewegungsschätzung bei der Ermittlung des besten Bewegungsvektors für Blöcke des Interpolations-Frames.
  • 7 zeigt ein Diagramm der entsprechenden Blöcke für einen vorherigen Frame, einen Interpolations-Frame und einen aktuellen Frame für eine zweite Iteration zur Vorwärtsbewegungsschätzung bei der Ermittlung des besten Bewegungsvektors für Blöcke des Interpolations-Frames.
  • 8 zeigt ein Ablaufdiagramm eines Blockbewegungsschätzverfahrens entsprechend einer weiteren erfindungsgemäßen Ausführungsform.
  • 9 zeigt ein Ablaufdiagramm eines Verfahrens zur Fehlervorhersage und Fehlererkennung entsprechend einer erfindungsgemäßen Ausführungsform.
  • 10 zeigt ein Diagramm der entsprechenden Blöcke für einen vorherigen Frame, einen Interpolations-Frame und einen aktuellen Frame zur Beschreibung der mehrfachen Frame-Interpolation entsprechend einer erfindungsgemäßen Ausführungsform.
  • 11 zeigt ein Ablaufdiagramm eines Verfahrens zur Verwendung von Blockbewegungsvektoren aus einem komprimierten Bitstrom für die Ermittlung des besten Bewegungsvektors.
  • 12 zeigt ein Ablaufdiagramm eines Verfahrens zur Prüfung, ob für die in 10 dargestellte erfindungsgemäße Ausführungsform Frame-Interpolation durchgeführt werden soll, wenn der aktuelle Frame nicht INTRA-kodiert ist, sondern über eine von Null verschiedene Anzahl von INTRAkodierten Makroblöcken verfügt.
  • 13 zeigt das Schema eines Computers, in Verbindung mit dem die erfindungsgemäße Ausführungsform praktiziert werden kann.
  • BESCHREIBUNG
  • Zu den Ausführungsformen der Erfindung gehören rechnergestützte Systeme, Verfahren, Computer und Medien in wechselndem Umfang. Zusätzlich zu den Aspekten und Vorzügen der in diesem Überblick beschriebenen vorliegenden Erfindung ergeben sich weitere Aspekte und Vorzüge der Erfindung unter Bezugnahme auf die Zeichnungen und aus der Lektüre der folgenden detaillierteren Beschreibung.
  • Im Folgenden wird eine detaillierte Beschreibung einzelner Ausführungsformen der Erfindung unter Bezugnahme auf die beigefügten und zu diesem Dokument gehörenden Zeichnungen gegeben, die spezielle Ausführungsbeispiele zur Durchführung der Erfindung veranschaulicht. Diese Ausführungsformen sind ausreichend genau beschrieben, um dem Fachmann die Anwendung der Erfindung zu ermöglichen, wobei sich versteht, dass weitere Ausführungsformen nutzbar sowie logische, mechanische, elektrische und sonstige Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Erfindung abzuweichen. Die folgende detaillierte Beschreibung ist daher nicht in einschränkendem Sinne zu verstehen; der Umfang der vorliegenden Erfindung wird einzig durch die beigefügten Ansprüche definiert.
  • Die folgenden Ausführungen beziehen sich auf 1, die ein System entsprechend einer erfindungsgemäßen Ausführungsform darstellt. Das System aus 1 umfasst die Bildquelle 100, den Computer 102, das Netzwerk 104, den Computer 106, den Blockteiler 108, den Mechanismus 110, den Pixelzustandszuweiser 112, den Synthetisierer 114 und die Bildausgabe 116. Wie dargestellt sind Blockteiler 108, Mechanismus 110, Pixelzustandszuweiser 112 und Synthetisierer 114 vorzugsweise Teil des Computers 106, obwohl die Erfindung darauf nicht beschränkt ist. Bei einer solchen Ausführungsform sind Blockteiler 108, Mechanismus 110, Pixelzustandszuweiser 112 und Synthetisierer 114 vorzugsweise Computerprogramme auf dem Computer 106 sind – das heißt, dass Programme (mithin ein Blockteilerprogramm, ein Mechanismusprogramm, ein Pixelzustandszuweiserprogramm und ein Synthetisiererprogramm) durch einen Prozessor des Computers von einem computerlesbaren Medium wie dessen Speicher aus ausgeführt werden. Der Computer 106 umfasst vorzugsweise auch ein in 1 nicht dargestelltes Betriebssystem, in dem und in Verbindung mit dem die Programme laufen und dessen Bedeutung der Fachmann zu würdigen weiß.
  • Die Bildquelle 100 generiert mehrere Frames einer Videosequenz. Bei einer Ausführungsform umfasst die Bildquelle 100 eine Videokamera zur Generierung der Mehrfach-Frames. Die Bildquelle 100 ist funktional an den Computer 102 gekoppelt. Der Computer 102 empfängt die Mehrfach-Frames einer Videosequenz von der Bildquelle 100 und kodiert die Frames + Bei einer Ausführungsform werden die Frames mit dem Fachmann bekannten Datenkomprimierungsalgorithmen kodiert. Der Computer 102 ist funktional an das Netzwerk 104 gekoppelt, das wiederum funktional an den Computer 106 gekoppelt ist. Das Netzwerk 104 leitet die Mehrfach-Frames vom Computer 102 an den Computer 106 weiter. Bei einer Ausführungsform ist dieses Netzwerk das Internet. Der Computer 106 empfängt die Mehrfach-Frames vom Netzwerk 104 und erzeugt einen Interpolations-Frame zwischen zwei aufeinander folgenden Frames in der Videosequenz.
  • Nach der genaueren Darstellung in 2 teilt der auf dem Computer 106 residente Blockteiler 108 die beiden aufeinander folgenden Frames Frame(t) 202 (den aktuellen Frame) und Frame(t-1) 204 (den vorherigen Frame) gemeinsam mit dem Interpolations-Frame(t-1/2) 208 in Blöcke. Der Mechanismus 110 nimmt die einzelnen Blöcke des Interpolations-Frames(t-1/2) 208 und ermittelt für jeden Block den besten Bewegungsvektor auf der Grundlage der beiden entsprechenden aufeinander folgenden Frames (Frame(t) 202 und Frame(t-1) 204) zwischen denen der Interpolations-Frame(t-1/2) 208 residieren wird.
  • Der Pixelzustandszuweiser 112 nimmt einen Satz von drei Frames – Frame(t) 202, Frame(t-1) 204 und Frame(t-2) 206 (der dem vorherigen vorangehende Frame) und charakterisiert die einzelnen Pixel im aktuellen Frame. Bei einer Ausführungsform werden die einzelnen Pixel einem von vier Zuständen zugeordnet: in Bewegung, stationär, abgedeckter Hintergrund und nicht abgedeckter Hintergrund.
  • Der Synthetisierer 114 empfängt den besten Bewegungsvektor für die einzelnen Blöcke im Interpolations-Frame(t-1/2) 208 vom Mechanismus 110 und die Pixelzustandszuweisung der einzelnen Pixel im Frame(t) 202 vom Pixelzustandszuweiser 112 und erstellt den Interpolations-Frame(t-1/2) 208 durch Synthetisierer auf blockweiser Basis. Nach der Generierung des Interpolations-Frames(t-1/2) 208 durch den Computer 106, empfängt die funktional an den Computer 106 gekoppelte Bildwiedergabe 116 Frame(t) 202 und Frame(t-1) 204 zusammen mit dem Interpolations-Frame(t-1/2) 208 und zeigt diese entsprechend an. Bei einer Ausführungsform umfasst die Bildwiedergabe 116 einen Computermonitor oder ein Fernsehgerät.
  • Die folgenden Ausführungen beziehen sich auf 3, die ein Ablaufdiagramm eines Verfahrens entsprechend einer erfindungsgemäßen Ausführungsform darstellt. Das Verfahren wird vorzugsweise zumindest zum Teil als eines oder mehrere auf dem Computer laufende Programme durchgeführt, das heißt, als ein Programm, das von einem computerlesbaren Medium wie einem Speicher vom Prozessor eines Computers ausgeführt. Die Programme sind zur Verteilung, Installation und Ausführung auf einem anderen (in geeigneter Weise ausgestatteten) Computer vorzugsweise auf einem computerlesbaren Medium wie einer Diskette oder einer CD-ROM (Compact Disk-Read Only Memory) speicherbar.
  • In Block 300 werden alle Pixel im aktuellen Frame unterschiedlichen Pixelkategorien zugewiesen. Bei einer Ausführungsform umfassen diese Kategorien die Zustände in Bewegung, stationär, abgedeckter Hintergrund und nicht abgedeckter Hintergrund. In Block 302 werden der aktuelle und der vorherige Frame aus der vom Netzwerk 104 ankommenden Videosequenz gemeinsam mit dem Interpolations-Frame zwischen diesen beiden Frames in Blöcke eingeteilt. In Block 304 wird für jeden Block des Interpolations-Frames ein bester Bewegungsvektor gewählt. In Block 306 wird der Interpolations-Frame aufgrund der Pixelzustandszuweisung der Pixel im aktuellen Frame und dem besten Bewegungsvektor für den entsprechenden Interpolations-Frame blockweise synthetisiert.
  • Bei einer Ausführungsform wird den Blöcken bei der Teilung der Frames in Blöcke im Block 302 pro Frame dynamisch eine an das Aktivitätsniveau des Frame-Paars, aus dem der Interpolations-Frame synthetisiert wird, angepasste Größe zugewiesen. Der Vorteil der Verwendung einer solchen adaptiven Blockgröße liegt darin, dass die Auflösung des durch die Bewegungsschätzung erzeugten Bewegungsfeldes zur Berücksichtigung sowohl großer als auch kleiner Bewegungsmengen geändert werden kann.
  • Bei einer Ausführungsform verwendet Block 302 bei Einsatz der dynamischen Blockgrößenauswahl die Pixelzustandszuweisung aus Block 300 zur Ermittlung der Blockgröße für einen Satz von Interpolations-Frames. Anfänglich wird eine Blockgröße von N × N gewählt (N = 16 für das Common Intermediate Format (CIF), bei einer Ausführungsform gleich 32 für größere Videoformate) und tesselliert (d.h. teilt) eine Klassifikationszuordnung des Bildes in Blöcke dieser Größe. Die Klassifikationszuordnung für ein Bild enthält einen Zustand (aus den vier Zuweisungen (in Bewegung, stationär, abgedeckt oder nicht abgedeckt)) für die einzelnen Pixel innerhalb des Bildes. Für jeden Block in dieser Klassifikationszuordnung werden die zu einer Klasse gehörenden relativen Pixelanteile berechnet. Dann wird die Anzahl an Blöcken mit einer Pixelklasse berechnet, die den Prozentsatz P der Gesamtpixelanzahl überschreitet. Bei einer Ausführungsform ist P = 75. Wenn der Anteil solcher homogener Blöcke in der Klassifikationszuordnung größer als ein zuvor festgelegter Prozentsatz P'' ist, wird N als Blockgröße für die Bewegungsschätzung ausgewählt. Andernfalls wird N durch 2 geteilt und der Prozess wiederholt, bis ein Wert für N gewählt wurde oder N unter einen bestimmten Mindestwert gefallen ist. Bei einer Ausführungsform beträgt dieser Mindestwert acht, da eine kleinere Blockgröße zum wohlbekannten Effekt der Bewegungsfeldinstabilität führt und den Einsatz von rechnerisch aufwändigen Feldregulierungsverfahren zu deren Korrektur erfordert.
  • Bei einer Ausführungsform wählt der Blockauswahlprozess während eines Interpolationsprozesses eine einzige Blockgröße für einen ganzen Frame aus. Eine einzige Blockgröße für einen ganzen Frame hat den Vorteil einer verringerten Komplexität der Bewegungseinschätzungs- und Bewegungskompensationsaufgaben gegenüber einer Ausführungsform, bei der sich die Blockgrößenauswahl in einem einzigen Frame von Block zu Block ändern darf.
  • Eine Ausführungsform von Block 304 aus 3 zur Ermittlung des besten Bewegungsvektors für die einzelnen Blöcke des Interpolations-Frames ist in 4, 5, 6, 7 und 8 dargestellt. Zur Ermittlung des besten Bewegungsvektors bietet diese Ausführungsform eine Blockbewegungsschätzung aus Vorwärts- und Rückwärtsbewegungsschätzung mit dem Nullbewegungsvektor. 4 zeigt die einbezogenen Frames sowie deren zur Ermittlung des besten Bewegungsvektors herangezogenen Blöcke. Für nichtstationäre Blöcke gilt: Wenn (mvx, mvy) den besten Bewegungsvektor (entsprechend Block 408) bezeichnet und von einer linearen Translationsbewegung ausgegangen wird, müsste Block 408 im Interpolations-Frame 402 bei (x + mvx/2, y + mvy/2) auftreten. Im Allgemeinen passt Block 408 nicht genau in den Rasterblock im Interpolations-Frame 402. Stattdessen würde er die vier N × N-Blöcke 412, 414, 416 und 418 abdecken. Im Beispiel für die Vorwärtsbewegungsschätzung ist der Block 406 entsprechend Block 410 im aktuellen Frame 404 der am besten passende Block im vorherigen Frame 400. Im Interpolations-Frame 402, deckt die Projektion Teile der vier Blöcke 412, 414, 416 und 418 ab; der Überlappungsgrad ist für die vier betroffenen Blöcke nicht unbedingt der gleiche.
  • In 5 werden für jeden Block im Interpolations-Frame drei Listen von Bewegungsvektorkandidaten (d.h. die Kandidatenlisten) erstellt und der/die Bewegungsvektor(en), mit dem/denen die Bewegungsprojektion den Block teilweise oder ganz abdeckt, in die Listen eingefügt. Es gibt eine Liste für den Nullbewegungsvektor, den Vorwärtsbewegungsvektor und den Rückwärtsbewegungsvektor. Jede Liste enthält nur ein Element: den aktuell führenden Bewegungsvektor in dieser Kategorie. In Block 502 wird die mittlere absolute Differenz (MAD) des Nullbewegungsvektors berechnet und in der Nullbewegungsvektor-Kandidatenliste in Block 504 vermerkt. In Block 506 und 510 werden die Vorwärts- und Rückwärtsbewegungsvektoren mit der entsprechenden MAD und Überlappung berechnet. In Block 508 und Block 512 werden bei der Ausführung der Vorwärts- und Rückwärtsbewegungsvektorschätzung bei Bedarf die Bewegungsvektorlisten unter Verwendung des maximalen Überlappungskriteriums in Block 508 und 512 aktualisiert. In Block 514 wird für jede der drei Listen (Nullbewegungsvektorliste, Vorwärtsbewegungsvektorliste und Rückwärtsbewegungsvektorliste) ein führender Bewegungsvektor gewählt.
  • In 6 und 7 werden zwei Vorwärtsbewegungsvektoren ermittelt, die den besten Bewegungsvektor für die Blöcke 612, 614, 616 und 618 des Interpolations-Frames(t-1/2) 602 bestimmen. Zur besseren Übersicht sind die Teile, in denen 6 und 7 gleich sind, in gleicher Weise nummeriert. Die Frames sind in Blöcke unterteilt. In 6 wird Block 606 des Frames(t-1) 602 als am besten passender Block für Block 610 des Frames(t) 604 ermittelt. Es werden daher Bewegungsvektoren auf der Basis einer linearen Translationsbewegung zwischen den Blöcken 606 und 610 erstellt. Block 608 für den Interpolations-Frame(t-1/2) 602 wird auf der Basis des Bewegungsvektors zwischen den Blöcken 606 und 610 gebildet. Jedoch passt Block 608 nicht perfekt in einen beliebigen der zuvor abgeteilten Blöcke des Interpolations-Frames(t-1/2) 602; stattdessen bedeckt (d.h. überlappt) Block 608 teilweise die Blöcke 612, 614, 616 und 618 des Interpolations-Frames(t-1/2) 602. Daher werden die zu Block 608 gehörenden Bewegungsvektoren auf die Kandidatenlisten für die Blöcke 612, 614, 616 und 618 gesetzt.
  • In gleicher Weise wird in 7 Block 702 des Frames(t-1) 600 als am besten passender Block für Block 706 des Frames(t) 604 ermittelt. Es werden Bewegungsvektoren auf der Basis einer linearen Translationsbewegung zwischen den Blöcken 702 und 706 erstellt. Block 704 für den Interpolations-Frame(t-1/2) 602 wird auf der Basis des Bewegungsvektors zwischen den Blöcken 702 und 706 gebildet. Jedoch passt Block 704 wie Block 608 nicht perfekt in einen beliebigen der zuvor abgeteilten Blöcke des Interpolations-Frames(t-1/2) 602; stattdessen bedeckt (d.h. überlappt) Block 704 teilweise die Blöcke 612, 614, 616 und 618 des Interpolations-Frames(t-1/2) 602. Daher werden die zu Block 703 gehörenden Bewegungsvektoren auf die Kandidatenlisten für die Blöcke 612, 614, 616 und 618 gesetzt.
  • Auf der Grundlage dieser beiden Vorwärtsbewegungsvektorkandidaten überlappt beim Interpolations-Frame(t-1/2) 602 Block 608 den Block 612 stärker als Block 704 und daher ist Block 608 der aktuell führende Vorwärtsbewegungsvektorkandidat für Block 612. In gleicher Weise überlappt bei Block 614 des Interpolations-Frames(t-1/2) 602 Block 704 den Block 614 stärker als Block 608 und daher ist Block 704 der aktuell führende Vorwärtsbewegungsvektorkandidat für Block 614.
  • In 5 wird der Block 514 bei einer Ausführungsform durch das Verfahren aus 8 ausgeführt, wenn der endgültige Bewegungsvektor aus einer der Kandidatenlisten ausgewählt wird. In 8 bei Block 808 verwendet das Auswahlkriterium für die drei Kandidaten Forward Motion Vector (FMV; Vorwärtsbewegungsvektor)-Kandidat 802, Backward Motion Vector (BMV; Rückwärtsbewegungsvektor)-Kandidat 804 und Zero Motion Vector (ZMV; Nullbewegungsvektor)-Kandidat 806 aus den Kandidatenlisten sowohl den Blockzuordnungsfehler (MAD oder Summe der absoluten Differenz (SAD)) und die Überlappuny zur Wahl des besten Bewegungsvektors. Der Grundgedanke für die Verwendung des Blockzuordnungsfehlers besteht in der Benachteiligung unzuverlässiger Bewegungsvektoren auch dann, wenn sie eine große Überlappung ergeben. Im Besonderen ist der gewählte Bewegungsvektor derjenige, bei dem das Verhältnis Em des Blockzuordnungsfehlers zur Überlappung von den drei Kandidaten am kleinsten ist. In Block 810 wird ermittelt, ob alle drei Verhältniswerte unter einem vorbestimmten Schwellenwert A1 liegen. Wenn festgestellt wird, dass alle drei Verhältniswerte unter einem vorbestimmten Schwellenwert A1 liegen, wählt Block 812 den Kandidaten mit der stärksten Überlappung, den Nullbewegungsvektor, aus. Bei einer Ausführungsform beträgt A1 1,0. Wenn festgestellt wird, dass alle drei Verhältniswerte nicht unter einem vorbestimmten Schwellenwert A1 in Block 814 liegen, wird der Vektor mit dem kleinsten Verhältnis Em ausgewählt.
  • Überdies wird der Nullbewegungsvektor in Block 816 selbst dann erneut gewählt, wenn entweder der Vorwärts- oder der Rückwärtsbewegungsvektor ausgewählt wurden und die Überlappung für den gewählten Bewegungsvektor unter einem vorbestimmten Schwellenwert 0 liegt. Bei einer Ausführungsform liegt 0 im Bereich von 50–60% der bei der Bewegungsschätzung verwendeten Blockgröße. Zudem wird in Block 818 die Fehlererkennung benachrichtigt, wenn der Nullbewegungsvektor in Block 816 entweder durch den Vorwärts- oder den Rückwärtsbewegungsvektor ersetzt wird. Die Fehlererkennung wird weiter unten genauer beschrieben. Bei einer weiteren Ausführungsform wird die Rückwärtsbewegungsvektorschätzung eliminiert und so bei der Blockbewegungsschätzung nur die Nullbewegungsvektor- und Vorwärtsbewegungsvektorschätzung verwendet. Wenn in Block 818 das gewählte Verhältnis Em größer als der vorbestimmte Schwellenwert 0 ist, wird der zugehörige Bewegungsvektor als bester Bewegungsvektor akzeptiert.
  • Bei einer weiteren Ausführungsform wird bei der Synthetisierung des Interpolations-Frames in Block 306 von 3 für die als abgedeckt oder nicht abgedeckt eingestuften Pixel ein Nullbewegungsvektor statt des eigentlichen zu diesem bestimmten Interpolationsblock gehörenden Bewegungsvektors verwendet. Dies führt zu einer Reduzierung von Artefakten an den Kanten von sich bewegenden Objekten, weil die abgedeckten und nicht abgedeckten Regionen per Definition lokale Szenenwechsel darstellen und daher nicht durch Blockzuordnungsverfahren kompensiert werden können. Außerdem kann ein Tiefpassfilter (z.B. ein 2D 1-2-1-Filter) zur Glättung der Kantenbildfehler an den Kanten von abgedeckten Regionen eingesetzt werden.
  • Die Fähigkeit zur Entdeckung von Interpolations-Frames mit signifikanten Artefakten ermöglicht eine insgesamt bessere Wahrnehmung von Bildqualität. Ohne diese Fähigkeit beeinträchtigen nur wenige schlecht interpolierte Frames die Wahrnehmung der Bildqualität durch den Benutzer bei einer ganzen Sequenz, die im Großen und Ganzen erfolgreich interpoliert wurde. Die Erkennung dieser schlecht interpolierten Frames und deren Entfernung aus der Sequenz ermöglicht eine bedeutende Frameratenverbesserung ohne spürbaren Verlust an Raumqualität durch die Gegenwart von Artefakten. Interpolationsfehler sind unvermeidlich, da nichttranslatorische Bewegungen wie Drehung und Objektverformung nie vollständig mit Verfahren auf Blockbasis erfasst werden können und daher eine Art von Fehlerprognose und -erkennung ein integraler Bestandteil der Frame-Interpolation sein muss.
  • Bei einer in 9 dargestellten Ausführungsform sind Fehlerprognose und Fehlererkennung in den Interpolationsprozess einbezogen. Die Fehlerprognose ermöglicht einer rechtzeitigen Abbruch der Interpolation und verhindert somit einige mit hohem Rechenaufwand verbundene Tasks wie die Bewegungsschätzung für einen Interpolations-Frame, der im Nachhinein als unannehmbar beurteilt wird. In Block 906 wird die Klassifikationszuordnung mit der gewählten Blockgröße tesselliert, wobei als Eingangswerte Frame(t) 904 (der aktuelle Frame), Frame(t-1) 902 (der vorherige Frame) und Frame(t-2) 901 (der dem vorherigen vorangegangene Frame) genommen werden. In Block 908 der einzelnen Blöcke in Frame(t) 904 werden die relativen Anteile der abgedeckten und nicht abgedeckten Pixel berechnet. Wenn festgestellt wird, dass die Summe dieser Anteile einen vorbestimmten Schwellenwert L überschreitet, wird der Block als verdächtig markiert. Der Grundgedanke ist hierbei, dass abgedeckte und nicht abgedeckte Regionen nicht gut bewegungskompensiert werden können und normalerweise zu Artefakten an der Peripherie sich bewegender Objekte führen. Nachdem alle Blöcke in der Klassifikationszuordnung verarbeitet wurden und festgestellt wird, dass die Anzahl der für den aktuellen Frame als verdächtig markierten Blöcke einen vorbestimmten Schwellenwert überschreitet, wird der vorherige Frame in Block 910 wiederholt.
  • Die Prognose ist normalerweise nur ein frühzeitiger Indikator für mögliche Fehler und muss in Verbindung mit der Fehlererkennung eingesetzt werden. Nach der Bewegungsschätzung in Block 912 und Block 914 verwendet die Fehlererkennung die Anzahl an nichtstationären Blöcken, die infolge eines geringeren Überlappungsverhältnisses als dem in Block 818 in 8 oben beschriebenen vorbestimmten Schwellenwerts zur Verwendung des Nullbewegungsvektors gezwungen wurden. Wenn festgestellt wird, dass die Anzahl solcher Blöcke einen zuvor festgelegten Anteil von aller Blöcke überschreitet, wird der Frame in Block 910 abgewiesen und der vorherige Frame wiederholt. Wenn jedoch festgestellt wird, dass diese Anzahl von Blöcken einen zuvor festgelegten Anteil nicht überschritten hat, erfolgt die Synthese von Block 916, der dem Block 306 in 3 gleicht.
  • In 10 wird eine weitere Ausführungsform veranschaulicht, in der der Blockbewegungsschätzer auf die Synthese mehrerer Interpolations-Frames zwischen zwei aufeinander folgenden Frames erweitert wird. Frame(t-2/3) 1004 und Frame(t-1/3) 1008 werden zwischen dem vorherigen Frame(t-1) 1002 und dem aktuellen Frame(t) 1010 interpoliert. Der hypothetische Interpolations-Frame(t-1/2) 1006 befindet sich temporal zwischen Frame(t-1) 1002 und Frame(t) 1010. Ein einziger Kandidat für die einzelnen Blöcke im hypothetischen Interpolations-Frame(t-1/2) 1006 wird mit dem Nullbewegungsvektor sowie dem Vorwärts- und Rückwärtsbewegungsvektor erstellt. Dann wird der beste Bewe gungsvektor aus den drei Kandidaten für die einzelnen Blöcke des hypothetischen Interpolations-Frames(t-1/2) 1006 nach der bereits gegebenen Beschreibung unter Verweis auf 4, 5, 6, 7 und 8 ausgewählt.
  • Zur Synthetisierung der einzelnen Blöcke in jedem der eigentlichen Interpolations-Frames(t-2/3) 1004 und (t-1/3) 1008 wird der beste Bewegungsvektor für den hypothetischen Interpolations-Frame(t-1/2) 1006 mit dem relativen Abstand der eigentlichen Interpolations-Frames(t-2/3) 1004 und (t-1/3) 1008 vom Bezugs-Frame (entweder Frame(t-1) 1002 oder Frame(t) 1010) skaliert. Im Vergleich zu dem Prozess, bei dem eine Kandidatenliste für die einzelnen Blöcke in jedem der eigentlichen Interpolations-Frames erstellt wird, führt dies zu einer fließenderen Bewegung ohne Bildschwankungen. Dieser Prozess hat auch den zusätzlichen Vorteil, weniger Rechenaufwand zu erfordern, da die Komplexität der Bewegungsvektorauswahl mit der Anzahl der zu interpolierenden Frames nicht zunimmt, weil eine einzige Kandidatenliste konstruiert wird.
  • Es lassen sich weitere Ausführungsformen zum Zuschnitt auf eine diverse Menge von Plattformen mit unterschiedlichen Rechner-Ressourcen (z.B. Verarbeitungsleistung, Speicherkapazität usw.) entwickeln. In 11 ist zum Beispiel eine Ausführungsform für Block 304 in 3 dargestellt, wo der beste Bewegungsvektor für die einzelnen Blöcke des Interpolations-Frames ausgewählt wird. Diese Ausführungsform in 11 verwendet die Blockbewegungsvektoren aus einem komprimierten Bitstrom zur Ermittlung des besten Bewegungsvektors, wodurch der Bewegungsschätzprozess eliminiert wird. Viele blockbewegungskompensierte Bildkomprimierungsalgorithmen wie H.261, H.263 und H.263+ generieren Block- (und Makroblock-) Bewegungsvektoren, die als Teil der temporalen Prognoseschleife verwendet werden und zur Verwendung durch den Dekodierer in den Bitstrom einkodiert sind. ITU Telecom, Bereich Standardisierung der ITU, CODEC Empfehlung für einen Video-CODEC der audiovisuelle Dienste mit p·64 kbps ermöglicht, Entwurf der ITU-T-Empfehlung H.261, 1693; ITU Telecom, Bereich Standardisierung der ITU, Video-Kodierung für die Kommunikation audiovisueller Dienste im Bereich niedriger Bitraten, ITU-T-Empfehlung H.263, 1996; ITU Telecom, Bereich Standardisierung der ITU, Video-Kodierung für die Kommunikation audiovisueller Dienste im Bereich niedriger Bitraten, Entwurf der ITU-T-Empfehlung H.263 Version 2, 1997 (d.h. H.263+). Bewegungsvektoren sind üblicherweise Vorwärtsbewegungsvektoren, doch können sowohl Rückwärts- als auch Vorwärtsbewegungsvektoren zur temporalen Skalierbarkeit herangezogen werden. Bei einer Ausführungsform sind die kodierten Vektoren ausschließlich Vorwärtsbewegungsvektoren. Bei dieser Ausführungsform wird die für die Blockgröße verwendete Bewegungsschätzung vom Kodierer bestimmt, wodurch das Blockauswahlmodul eliminiert wird. Zum Beispiel kann die H.263+ entweder 8 × 8-Blöcke oder 16 × 16-Makroblöcke zur Bewegungsschätzung verwenden, und der Kodierer wählt einen dieser Blöcke mit einer Kodierstrategie zur Erfüllung von Übertragungsgeschwindigkeits- und Qualitätszielen. Die Blockgröße kann aus den Header-Angaben bezogen werden, die als Teil der einzelnen Video-Frames kodiert sind. Die Blockgröße wird sowohl beim Aufbau der Kandidatenliste als auch bei der Fehlerprognose verwendet.
  • Eine Folge der Verwendung von im Bitstrom kodierten Bewegungsvektoren ist, dass der Bewegungsvektorwähler während der Frame-Interpolation keine MAD-zu-Überlappung- Verhältnisse nutzen kann, weil der Bitstrom keine Angaben zu mit den übertragenen Bewegungsvektoren assoziierten MADs enthält. Stattdessen wählt der Bewegungsvektorauswahlprozess für die einzelnen Blöcke im Interpolations-Frame den Bitstrom-Bewegungsvektorkandidaten mit der maximalen Überlappung. Der Nullbewegungsvektorkandidat wird aus der Kandidatenliste ausgeschlossen.
  • Unter weiterer Bezugnahme auf 11 wird in Block 1102 die Videosequenz dekodiert. Wie bei zuvor beschriebenen Ausführungsformen werden die Frames zur Klassifizierung der Pixel im aktuellen Frame zum Block 1104 geschickt. Außerdem werden die Bitstromdaten einschließlich der Bewegungsvektoren und ihrer jeweiligen Eigenschaften zum Aufbau der Kandidatenliste und damit zur Auswahl des besten Bewegungsvektors an Block 1106 weitergeleitet. Die Blöcke 1108, 1110 und 1112 zeigen, wie die Prognose von Interpolationsfehlern, die Erkennung von Interpolationsfehlern bzw. die Synthetisierung von Interpolations-Frames auch in die Ausführungsform in 11 eingebunden sind, wie dies zuvor bei anderen Ausführungsformen anhand von 3 und 9 beschrieben wurde. Im Block 1114 wird die Videosequenz gerendert.
  • Bei dieser Ausführungsform muss aufgrund der Verwendung von kodierten Bewegungsvektoren das Problem behandelt werden, was geschieht, wenn die Bewegungsdaten nicht im Bitstrom zur Verfügung stehen. Diese Situation kann entstehen, wenn ein Frame ohne temporale Prognose kodiert wird (INTRA-kodierter Frame) oder einzelne Makroblöcke in einem Frame ohne temporale Prognose kodiert werden. Um diese Fälle behandeln zu können, müssen ein paar Annahmen über die zur INTRA-Kodierung von Frames führende Kodierstrategie aufgestellt werden.
  • Der übermäßige Gebrauch von INTRA-kodierten Frames (bzw. eine signifikante Anzahl von INTRA-kodierten Blöcken in einem Frame) wird vermieden, weil die INTRA-Kodierung im Allgemeinen (in Bezug auf Bits) weniger effektiv ist als die bewegungskompensierte INTER-Kodierung. In folgenden Situationen ist die INTRA-Kodierung auf Frame-Ebene entweder effektiver und/oder absolut notwendig: (1) die temporale Korrelation zwischen dem vorherigen Frame und dem aktuellen Frame ist gering (z.B. wenn ein Szenenwechsel zwischen den Frames auftritt) und (2) der INTRA-Frame wird vom entfernten Dekodierer speziell angefordert, weil der Dekodierer versucht, (a) Zustandsinformationen zu initialisieren (z.B. wenn sich der Dekodierer einer bereits bestehenden Konferenz anschließt) oder (b) die Zustandsinformationen nach einer Bitstrombeschädigung durch den Übertragungskanal erneut zu initialisieren (z.B. bei Paketverlust über das Internet oder bei Leitungsgeräuschen über Telefonleitungen).
  • Die Situationen, die eine INTRA-Kodierung auf Blockebene erfordern sind analog zu den Genannten, wobei hier noch ein durch einige Kodierungsalgorithmen wie H.261 und H.263 eingeführtes weiteres Szenario hinzukommt, da diese in regelmäßigen Abständen (z.B. alle 132 übertragenen Makroblöcke) eine INTRA-Kodierung von Makroblöcken erfordern. Zur Erhöhung der Elastizität eines Bitstroms bei Verlust oder Beschädigung von Daten kann ein Kodierer zudem eine Strategie annehmen, bei der dieses Intervall in Abhängigkeit von den Verlusteigenschaften des Übertragungskanals variiert wird. Es wird vermutet, dass ein Frame nur dann INTRA-kodiert wird, wenn der Kodierer feststellt, dass die temporale Korrelation zwischen dem aktuellen und dem vorherigen Frame für eine effektive bewegungskompensierte Kodierung zu gering ist. Daher werden in dieser Situation in Block 1112 von 11 keine Interpolations-Frames synthetisiert, sondern der vorherige Frame wird von Block 1114 wiederholt, wobei der von Block 1102 kommende dekodierte Frame direkt verwendet wird.
  • 12 zeigt eine Ausführungsform, bei der der aktuelle Frame nicht INTRA-kodiert ist, aber eine von Null verschiedene Anzahl von INTRA-kodierten Makroblöcken aufweist, deren relativer Anteil bestimmt, ob eine Frame-Interpolation erfolgt. In Block 1204 wird die Anzahl an INTRA-kodierten Blöcken für den aktuellen Frame 1202 berechnet. In Block 1206 wird eine Festlegung getroffen, ob die Anzahl an INTRA-kodierten Makroblöcken geringer ist als der festgelegte Schwellenwert P5. Wenn dabei festgestellt wird, dass die Anzahl an INTRA-kodierten Blöcken größer als der festgelegte Schwellenwert P5 ist, wird der vorherige Block in Block 1208 wiederholt. Wenn dabei festgestellt wird, dass die Anzahl an INTRA-kodierten Blöcken kleiner als der festgelegte Schwellenwert P5 ist, wird in Block 1210 eine Frame-Interpolation durchgeführt.
  • In Block 1210 wird die Frame-Interpolation bei einer Reihe von verschiedenen Ausführungsformen für INTRA-kodierte Makroblöcke durchgeführt, die keine Bewegungsvektoren haben. Die erste Ausführungsform besteht in der Verwendung des Nullbewegungsvektors für INTRA-kodierte Makroblöcke und optional darin, alle Pixelblöcke in diesem Block als zur nicht abgedeckten Klasse gehörend anzusehen. Bei dieser Ausführungsform wird angenommen, dass, wenn der Makroblock tatsächlich INTRA-kodiert wurde, weil keine gute Prognose gefunden wurde, eine hohe Wahrscheinlichkeit besteht, dass der Makroblock abgedeckte oder nicht abgedeckte Pixel enthält.
  • Eine weitere Ausführungsform der Frame-Interpolation 1210 besteht in der Synthetisierung eines Bewegungsvektors für den Makroblock aus den Bewegungsvektoren der umliegenden Makroblöcke mit einem trennbaren 2D-Interpolationskern, der die horizontalen und vertikalen Komponenten des Bewegungsvektors interpoliert. Bei diesem Verfahren wird davon ausgegangen, dass der Makroblock Teil eines größeren einem Translationsprozess unterworfenen Objekts ist und dass er nicht wegen einer fehlenden genauen Prognose sondern auf Anforderung von einem Dekodierer oder als Teil einer elastischen Kodierstrategie INTRA-kodiert wurde.
  • Eine weitere Ausführungsform der Frame-Interpolation 1210 verwendet eine Kombination aus den genannten Ausführungsformen mit einem Mechanismus zur Entscheidung, ob der Makroblock wegen einer schlechten temporalen Prognose INTRA-kodiert wurde oder nicht. Dieser Mechanismus kann durch Untersuchung des entsprechenden Blocks in der Zustandsklassifikationszuordnung implementiert werden; wenn der Makroblock eine Überlegenheit von abgedeckten und/oder nicht abgedeckten Pixeln aufweist, kann im vorherigen Frame keine gute Prognose für diesen Makroblock gefunden werden. Wenn die Klassifikationszuordnung impliziert, dass der betreffende Makroblock eine schlechte temporale Progose haben würde, wird die erste Ausführungsform mit dem Einsatz von Nullbewegungsvektoren für die INTRA-kodierten Makroblocks ausgewählt, ansonsten wird die zweite Ausführungsform der Synthetisierung des Bewegungsvektors gewählt. Diese dritte Ausführungsform der Frame-Interpolation 1210 ist komplexer als jede der bereits beschriebenen Ausführungsformen und ist daher die bevorzugte Ausführungsform, wenn die Anzahl an INTRA-kodierten Makroblöcken klein ist (d.h. der festgelegte Schwellenwert für die Anzahl an INTRA-kodierten Makroblöcken wird aggressiv eingestellt).
  • Bei anderen Ausführungsformen verwendet die Bewegungsschätzung die Klassifizierungszuordnung zur Bestimmung der Kandidatenblöcke für die Kompensation und eine geeignete Blockzuordnungsmaßnahme (z.B. gewichtete SADs mit Klassifizierungszuständen zum Ausschluss von unwahrscheinlichen Pixeln). Bei einer anderen Ausführungsform besteht eine variable Blockgrößenauswahl innerhalb eines Frames zur Verbesserung der Körnigkeit des Bewegungsfeldes in kleinen einer Bewegung unterworfenen Bereichen.
  • 13 schließlich zeigt das Schema eines repräsentativen Computers, mit dem die erfindungsgemäßen Ausführungsformen praktiziert werden können. Es wird angemerkt, dass Ausführungsformen der Erfindung auf anderen elektronischen Geräten praktiziert werden können und nicht auf einen Digitalempfänger mit Internet-Anschluss beschränkt sind. Der Computer 1310 ist funktional an den Monitor 1312, das Zeigegerät 1314 und die Tastatur 1316 gekoppelt. Der Computer 1310 umfasst einen Prozessor, einen Arbeitsspeicher (RAM), einen Nurlesespeicher (ROM) und ein oder mehrere Speichervorrichtungen wie ein Festplattenlaufwerk, ein Diskettenlaufwerk (in das eine Diskette eingelegt werden kann), ein CD-Laufwerk und ein Bandkassettenlaufwerk. Speicher, Festplattenlaufwerke, Disketten usw. sind Arten von computerlesbaren Medien. Die Erfindung ist nicht auf einen bestimmten Computer 1310 beschränkt. Auf dem Computer 1310 befindet sich ein computerlesbares Medium, das ein Computerprogramm speichert, welches auf dem Computer 1310 ausgeführt wird. Die von dem Computerprogramm durchgeführte Frame-Interpolation entspricht einer Ausführungsform der Erfindung.
  • Obwohl in diesem Dokument spezielle Ausführungsformen dargestellt und beschrieben wurden, ist dem Fachmann damit bekannt, dass jede Anordnung zur Erreichung des gleichen Ziels an die Stelle der dargestellten Ausführungsformen treten könnte. Diese Anmeldung soll auch Adaptionen oder Variationen der Erfindung abdecken. Es wird offenkundig beabsichtigt, dass die Erfindung nur durch die folgenden Ansprüche eingeschränkt wird.

Claims (38)

  1. Verfahren zum Betrieb eines Bildsignal-Verarbeitungssystems (106), das folgende Schritte aufweist: Auswahl einer Anzahl von Blöcken aus einem Frame-Paar (202, 204) und Synthetisieren (306) eines Interpolations-Frames (308) auf der Basis der aus dem Frame-Paar ausgewählten Blöcke; dadurch gekennzeichnet, dass die Synthese des Interpolations-Frames abgebrochen wird, wenn festgestellt (908) wird, dass der Interpolations-Frame von unannehmbarer Qualität ist.
  2. Verfahren nach Anspruch 1, das folgende Schritte aufweist: Auswahl einer Blockgröße auf der Basis eines Aktivitätsniveaus für einen aktuellen Frame und einen vorherigen Frame und Synthetisieren des Interpolations-Frames auf der Basis der gewählten Blockgröße des aktuellen und vorherigen Frames.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Auswahl einer Blockgröße auf der Basis eines Aktivitätsniveaus für einen aktuellen Frame und einen vorherigen Frame die Auswahl einer variablen Blockgröße in einem Frame auf der Basis des Aktivitätsniveaus für den aktuellen Frame und den vorherigen Frame umfasst.
  4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Auswahl einer Blockgröße auf der Basis eines Aktivitätsniveaus für den aktuellen Frame und den vorherigen Frame die Ermittlung des Anteils einer Anzahl von Pixeln im aktuellen Frame, die zu einer Anzahl von bestimmten Klassen gehören, umfasst.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Ermittlung des Anteils einer Anzahl von Pixeln im aktuellen Frame, die zu einer Anzahl von bestimmten Klassen gehören, folgende Schritte umfasst: (a) Auswahl einer Anfangsblockgröße von N × N, wobei N eine Blockgrößenvariable darstellt; (b) Ermitteln des relativen Pixelanteils pro Block, der zu einer bestimmten Klasse gehört; (c) Ermitteln der Anzahl von Blöcken mit einer einzigen Pixelklasse über den ersten vorbestimmten Schwellenwert hinaus, um einen homogenen Wert zu bilden; (d) Vergleich des homogenen Werts mit einem zweiten vorbestimmten Schwellenwert; (e) Verwenden der Blockgröße N × N, wobei N die Blockgrößenvariable bei Ermittlung des homogenen Wertes als größer als der zweite vorbestimmte Schwellenwert ist; und (f) Teilen der Blockgrößenvariablen durch zwei und Wiederholen von (b) bis (e), bis der homogene Wert über dem zweiten vorbestimmten Grenzwert liegt oder die Blockgrößenvariable kleiner als ein dritter vorgegebener Schwellenwert ist.
  6. Verfahren nach Anspruch 1, das folgende Schritte aufweist: Führen einer Anzahl von Listen für eine Anzahl von Interpolationsblöcken des Interpolations-Frames zur Ermittlung des zu den einzelnen Interpolationsblöcken am besten passenden Blocks aus dem Frame-Paar, dadurch gekennzeichnet, dass jede Liste aus der Anzahl von Listen einen aktuellen Gewinnblock aufweist; Auswahl des am besten passenden Blocks für die einzelnen Interpolationsblöcke aus dem aktuellen Gewinnblock der einzelnen Listen nach einem Fehlerkriterium und einem Überlappungskriterium; und Synthetisieren des Interpolations-Frames auf der Basis des am besten passenden Blocks für die einzelnen Interpolationsblöcke.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass zum Führen der Anzahl an Listen für die einzelnen Interpolationsblöcke zur Ermittlung des am besten passenden Blocks aus dem Frame-Paar die Anzahl an Listen aus einer Gruppe bestehend aus einer Nullbewegungs-Vektorliste, einer Vorwärtsbewegungs-Vektorliste und einer Rückwärtsbewegungs-Vektorliste ausgewählt wird.
  8. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Auswahl des am besten passenden Blocks für die einzelnen Interpolationsblöcke auf der Basis von Fehlerkriterium und Überlappungskriterium die Auswahl des am besten passenden Blocks darstellt, bei dem das Verhältnis eines Bereichszuordnungsfehlers zu einer entsprechenden Überlappung am kleinsten ist.
  9. Verfahren nach Anspruch 8, das weiterhin das Substituieren eines Nullbewegungsvektors als besten Bewegungsvektor zur Erstellung der einzelnen Interpolationsblöcke des Interpolations-Frames vorsieht, wenn festgestellt wird, dass die entsprechende Überlappung unter einer ersten vorbestimmten Grenze liegt.
  10. Verfahren nach Anspruch 9, das weiterhin den Abbruch der Synthese des Interpolations-Frames und das Wiederholen eines vorherigen Frames vorsieht, wenn festgestellt wird, dass die entsprechende Überlappung unter einer ersten vorbestimmten Grenze und über einer zweiten vorbestimmten Grenze liegt.
  11. Verfahren nach Anspruch 1, das folgende Schritte aufweist: Auswahl eines Nullbewegungsvektors für ein gegebenes Pixel im Interpolations-Frame, wenn ein dem gegebenen Pixel im Interpolations-Frame entsprechendes aktuelles Pixel in einem aktuellen Frame ermittelt wird, das als abgedeckt oder unabgedeckt klassifiziert wird, und Synthetisieren des Interpolations-Frames auf der Basis des Nullbewegungsvektors für das gegebene Pixel im Interpolations-Frame, wenn das dem gegebenen Pixel im Interpolations-Frame entsprechende aktuelle Pixel im aktuellen Frame als abgedeckt oder unabgedeckt ermittelt wird.
  12. Verfahren nach Anspruch 1, das folgende Schritte aufweist: Klassifizieren einer Anzahl von Pixeln in einem aktuellen Frame in eine Anzahl von unterschiedlichen Pixelklassifizierungen zur Synthese des Interpolations-Frames und Abbruch der Synthese des Interpolations-Frames und Wiederholen des vorherigen Frames, wenn anhand der Klassifizierung der Anzahl von Pixeln im aktuellen Frame festgestellt wird, dass der Interpolations-Frame von unannehmbarer Qualität ist.
  13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass der Abbruch der Synthese des Interpolations-Frames und die Wiederholung des vorherigen Frames, wenn anhand der Klassifizierung der Anzahl von Pixeln im aktuellen Frame festgestellt wird, dass der Interpolations-Frame von unannehmbarer Qualität ist, einen Abbruch der Synthese des Interpolations-Frames und die Wiederholung des vorherigen Frames, wenn eine über einem vorbestimmten Schwellenwert liebende Anzahl von abgedeckten und unabgedeckten Pixeln entdeckt wird, darstellt.
  14. Verfahren nach Anspruch 1, das folgende Schritte aufweist: Auswahl eines besten Bewegungsvektors für die gesamte ausgewählte Anzahl von Blöcken für einen hypothetischen Interpolations-Frame, der sich zeitlich zwischen einem aktuellen und einem vorherigen Frame befindet; Skalieren des besten Bewegungsvektors für jeden aus der Anzahl von Blöcken für einen hypothetischen Interpolations-Frame für eine Anzahl von Interpolations-Frames im relativen Abstand der Anzahl an Interpolations-Frames vom aktuellen Frame und Synthetisieren der Anzahl von Interpolations-Frames auf der Basis des besten Bewegungsvektors für die einzelnen Blöcke innerhalb der Anzahl von Interpolations-Frames.
  15. Verfahren nach Anspruch 1, das folgende Schritte aufweist: Ermitteln einer Anzahl von Kandidatenblöcken zur Bewegungskompensation und Synthetisieren des Interpolations-Frames anhand der Ermittlung der Anzahl von Kandidatenblöcken zur Bewegungskompensation.
  16. Verfahren nach Anspruch 1, das folgende Schritte aufweist: Ermitteln eines geeigneten Bereichszuordnungsmaßes zur Bewegungskompensation und Synthetisieren des Interpolations-Frames anhand der Ermittlung des geeigneten Bereichszuordnungsmaßes zur Bewegungskompensation.
  17. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Feststellung unzureichender Qualität für einen Interpolations-Frame weiterhin Folgendes umfasst: Feststellen, dass eine Summe von relativen Anteilen abgedeckter und unabgedeckter Pixel in einem Block einen ersten vorbestimmten Grenzwert überschreitet.
  18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass die Feststellung unzureichender Qualität für einen Interpolations-Frame weiterhin Folgendes umfasst: Feststellen, dass eine Summe von relativen Anteilen abgedeckter und unabgedeckter Pixel in einem anderen Block den ersten vorbestimmten Grenzwert überschreitet; Markieren des Blocks und des anderen Blocks als verdächtig und Feststellen, dass eine Anzahl der als verdächtig markierten Blöcke einen zweiten vorbestimmten Grenzwert überschreitet.
  19. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Auswahl der Blockgröße weiterhin Folgendes umfasst: Dynamisches Ändern der Blockgröße pro Frame.
  20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, dass die Auswahl der Blockgröße weiterhin Folgendes umfasst: Ändern der Auflösung eines Bewegungsfeldes zur Berücksichtigung sowohl großer als auch kleiner Bewegungsmengen.
  21. Verfahren nach Anspruch 11, das weiterhin folgende Schritte aufweist: Ermitteln der Anzahl von Pixeln im aktuellen Frame, die abgedeckt oder nicht abgedeckt sein sollen.
  22. Verfahren nach Anspruch 21, das weiterhin folgende Schritte aufweist: Tiefpassfiltern einer Flanke eines abgedeckten Bereichs.
  23. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Feststellung unannehmbarer Qualität für einen Interpolations-Frame weiterhin Folgendes umfasst: Feststellen, dass eine Anzahl von nichtstationären Blöcken im Interpolations-Frame zur Verwendung eines Nullbewegungsvektors gezwungen wurde.
  24. Verfahren nach Anspruch 23, dadurch gekennzeichnet, dass die Feststellung unannehmbarer Qualität für einen Interpolations-Frame weiterhin Folgendes umfasst: Feststellen, dass die Anzahl der nichtstationären Blöcke einen vorbestimmten Anteil an allen Blöcken im Interpolations-Frame überschreitet.
  25. Verfahren nach Anspruch 24, das weiterhin folgende Schritte aufweist: Erstellen einer Kandidatenliste für die einzelnen Blöcke aus der Anzahl von Blöcken.
  26. Verfahren nach Anspruch 25, dadurch gekennzeichnet, dass die Kandidatenliste einen Nullbewegungsvektor, einen Rückwärtsbewegungsvektor und einen Vorwärtsbewegungsvektor umfasst.
  27. Bildsignalverarbeitungssystem (106), das folgende Komponenten aufweist: einen Blockwähler (112; 1106) zur Auswahl einer Anzahl von Blöcken aus einem Frame-Paar (202, 204) und einen Synthesizer (114; 1112) zum Synthetisieren eines Interpolations-Frames (208) auf der Basis der aus dem Frame-Paar ausgewählten Blöcke; gekennzeichnet durch einen Mechenismus (110; 1110) zum Abbrechen der Synthese des Interpolations-Frames, wenn festgestellt wird, dass der Interpolations-Frame von unannehmbarer Qualität ist.
  28. System nach Anspruch 27, das weiterhin eine Bildanzeige (116) aufweist, dadurch gekennzeichnet, dass die Bildanzeige so eingerichtet werden kann, dass sie das Frame-Paar und den Interpolations-Frame vom Synthesizer empfängt, um das Frame-Paar und den Interpolations-Frame anzuzeigen.
  29. System nach Anspruch 27, dadurch gekennzeichnet, dass der Blockwähler so betrieben werden kann, dass er eine Blockgröße auf der Basis eines Aktivitätsniveaus für einen aktuellen Frame und einen vorherigen Frame auswählt, und der Synthesizer so betrieben werden kann, dass er den Interpolations-Frame auf der Basis der gewählten Blockgröße des aktuellen und vorherigen Frames synthetisiert.
  30. System nach Anspruch 27, das folgende Komponenten aufweist: einen ersten Mechanismus zum Führen einer Anzahl von Listen für eine Anzahl von Interpolationsblöcken des Interpolations-Frames zur Ermittlung des zu den einzelnen Interpolationsblöcken am besten passenden Blocks aus dem Frame-Paar, dadurch gekennzeichnet, dass jede Liste aus der Anzahl von Listen einen aktuellen Gewinnblock aufweist; einen Blockwähler, der so betrieben werden kann, dass er den am besten passenden Block für die einzelnen Interpolationsblöcke aus dem aktuellen Gewinnblock der einzelnen Listen nach einem Fehlerkriterium und einem Überlappungskriterium auswählt; und einen Synthesizer, der so betrieben werden kann, dass er den Interpolations-Frame auf der Basis des am besten passenden Blocks für die einzelnen Interpolationsblöcke synthetisiert.
  31. System nach Anspruch 30, dadurch gekennzeichnet, dass die Auswahl des am besten passenden Blocks durch den Blockwähler auf der Basis von Fehlerkriterium und Überlappungskriterium die Auswahl des am besten passenden Block darstellt, bei dem das Verhältnis eines Bereichszuordnungsfehlers zu einer entsprechenden Überlappung am kleinsten ist.
  32. System nach Anspruch 31, das weiterhin folgende Komponenten aufweist: einen zweiten Mechanismus zum Substituieren eines Nullbewegungsvektors als besten Bewegungsvektor zur Erstellung der einzelnen Interpolationsblöcke des Interpolations-Frames, wenn festgestellt wird, dass die entsprechende Überlappung unter einer ersten vorbestimmten Grenze liegt; und einen dritten Mechanismus zum Abbruch der Synthese des Interpolations-Frames und zum Wiederholen eines vorherigen Frames, wenn festgestellt wird, dass die entsprechende Überlappung unter einer ersten vorbestimmten Grenze und über einer zweiten vorbestimmten Grenze liegt.
  33. System nach Anspruch 27, das folgende Komponenten aufweist: einen Mechanismus zur Auswahl eines Nullbewegungsvektors für ein gegebenes Pixel im Interpolations-Frame, wenn ein dem gegebenen Pixel im Interpolations-Frame entsprechendes aktuelles Pixel in einem aktuellen Frame ermittelt wird, das als abgedeckt oder unabgedeckt klassifiziert wird, und dadurch gekennzeichnet, dass der Synthesizer so betrieben werden kann, dass er den Interpolations-Frame auf der Basis des Nullbewegungsvektors für das gegebene Pixel im Interpolations-Frame synthetisiert, wenn das dem gegebenen Pixel im Interpolations-Frame entsprechende aktuelle Pixel im aktuellen Frame als abgedeckt oder unabgedeckt ermittelt wird.
  34. System nach Anspruch 27, das folgende Komponenten aufweist: einen ersten Mechanismus zum Klassifizieren einer Anzahl von Pixeln in einem aktuellen Frame in eine Anzahl von unterschiedlichen Pixelklassifizierungen zur Synthese des Interpolations-Frames und einen zweiten Mechanismus zum Abbruch der Synthese des Interpolations-Frames und zum Wiederholen des vorherigen Frames, wenn anhand der Klassifizierung der Anzahl von Pixeln im aktuellen Frame festgestellt wird, dass der Interpolations-Frame von unannehmbarer Qualität ist.
  35. System nach Anspruch 27, dadurch gekennzeichnet, dass: der Blockwähler so betrieben werden kann, dass er einen besten Bewegungsvektor für jeden aus einer Anzahl von Blöcken für einen hypothetischen Interpolations-Frame, der sich zeitlich zwischen einem aktuellen und einem vorherigen Frame befindet, auswählt; es weiterhin einen Mechanismus zum Skalieren des besten Bewegungsvektors für jeden aus der Anzahl von Blöcken für einen hypothetischen Interpolations-Frame für eine Anzahl von Interpolations-Frames im relativen Abstand der Anzahl an Interpolations-Frames vom aktuellen Frame aufweist, und dass der Synthesizer so betrieben werden kann, dass er die Anzahl von Interpolations-Frames auf der Basis des besten Bewegungsvektors für die einzelnen Blöcke innerhalb der Anzahl von Interpolations-Frames synthetisiert.
  36. System nach Anspruch 27, das weiterhin folgende Komponenten aufweist: eine Klassifikationszuordnung, die einen Zustand für jedes aus einer Vielzahl von Pixeln aufweist, wobei der Blockwähler auf diese Klassifikationszuordnung zugreifen kann.
  37. System nach Anspruch 27, dadurch gekennzeichnet, dass die Klassifikationszuordnung eine Anzahl von unterschiedlichen Pixelklassifizierungen aufweist, darunter abgedeckt, unabgedeckt, beweglich und stationär.
  38. Computerlesbares Medium mit einem darauf gespeicherten Computerprogramm zur Steuerung eines Systems, das das Verfahren nach einem der Ansprüche 1 bis 26 ausführt.
DE69928010T 1998-12-23 1999-12-21 Erhöhte videowiedergabebildfrequenz in videoanwendungen Expired - Lifetime DE69928010T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US221666 1994-04-01
US09/221,666 US6594313B1 (en) 1998-12-23 1998-12-23 Increased video playback framerate in low bit-rate video applications
PCT/US1999/030759 WO2000038423A1 (en) 1998-12-23 1999-12-21 Increased video playback framerate in video applications

Publications (2)

Publication Number Publication Date
DE69928010D1 DE69928010D1 (de) 2005-12-01
DE69928010T2 true DE69928010T2 (de) 2006-07-13

Family

ID=22828797

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69928010T Expired - Lifetime DE69928010T2 (de) 1998-12-23 1999-12-21 Erhöhte videowiedergabebildfrequenz in videoanwendungen

Country Status (7)

Country Link
US (2) US6594313B1 (de)
EP (1) EP1142327B1 (de)
JP (1) JP2002534014A (de)
AU (1) AU2382600A (de)
CA (1) CA2355945C (de)
DE (1) DE69928010T2 (de)
WO (1) WO2000038423A1 (de)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2154918C1 (ru) * 1998-08-01 2000-08-20 Самсунг Электроникс Ко., Лтд. Способ и устройство для цикл-фильтрации данных изображения
US6876703B2 (en) * 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding
EP1287492A2 (de) * 2000-05-18 2003-03-05 Koninklijke Philips Electronics N.V. Bewegungsschätzer für reduzierte halos in der bewegungskompensierten bildratenerhöhung
KR100708091B1 (ko) * 2000-06-13 2007-04-16 삼성전자주식회사 양방향 움직임 벡터를 이용한 프레임 레이트 변환 장치 및그 방법
KR100360893B1 (ko) * 2001-02-01 2002-11-13 엘지전자 주식회사 영상 움직임 보상 장치 및 방법
DE60218928D1 (de) * 2001-04-30 2007-05-03 St Microelectronics Pvt Ltd Effiziente Niedrigleistungsbewegungsschätzung für eine Video-Vollbildsequenz
JP3596520B2 (ja) * 2001-12-13 2004-12-02 ソニー株式会社 画像信号処理装置及び方法
JP3840129B2 (ja) * 2002-03-15 2006-11-01 株式会社東芝 動きベクトル検出方法と装置、補間画像作成方法と装置及び画像表示システム
US7224731B2 (en) * 2002-06-28 2007-05-29 Microsoft Corporation Motion estimation/compensation for screen capture video
US7197075B2 (en) * 2002-08-22 2007-03-27 Hiroshi Akimoto Method and system for video sequence real-time motion compensated temporal upsampling
US7421129B2 (en) * 2002-09-04 2008-09-02 Microsoft Corporation Image compression and synthesis for video effects
JP3898606B2 (ja) * 2002-09-12 2007-03-28 株式会社東芝 動きベクトル検出方法及び装置並びにフレーム補間画像作成方法及び装置
EP1422928A3 (de) 2002-11-22 2009-03-11 Panasonic Corporation Bewegungskompensierte Interpolation digitaler Videosignale
US9314691B2 (en) 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US9446305B2 (en) 2002-12-10 2016-09-20 Sony Interactive Entertainment America Llc System and method for improving the graphics performance of hosted applications
US8964830B2 (en) 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US8526490B2 (en) 2002-12-10 2013-09-03 Ol2, Inc. System and method for video compression using feedback including data related to the successful receipt of video content
US8366552B2 (en) 2002-12-10 2013-02-05 Ol2, Inc. System and method for multi-stream video compression
US10201760B2 (en) 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
US9192859B2 (en) 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US8549574B2 (en) 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US9061207B2 (en) 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
US9138644B2 (en) 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US8949922B2 (en) * 2002-12-10 2015-02-03 Ol2, Inc. System for collaborative conferencing using streaming interactive video
US9108107B2 (en) * 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US20090118019A1 (en) 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US7558320B2 (en) * 2003-06-13 2009-07-07 Microsoft Corporation Quality control in frame interpolation with motion analysis
US7408986B2 (en) * 2003-06-13 2008-08-05 Microsoft Corporation Increasing motion smoothness using frame interpolation with motion analysis
KR101135454B1 (ko) * 2003-09-02 2012-04-13 엔엑스피 비 브이 특정 이미지의 특정 픽셀 값 결정 방법, 픽셀 값 결정 유닛, 이미지 처리 장치 및 컴퓨터 판독 가능한 저장 매체
JP4451730B2 (ja) * 2003-09-25 2010-04-14 富士フイルム株式会社 動画生成装置、方法及びプログラム
US20050162565A1 (en) * 2003-12-29 2005-07-28 Arcsoft, Inc. Slow motion processing of digital video data
KR100834748B1 (ko) * 2004-01-19 2008-06-05 삼성전자주식회사 스케일러블 비디오 스트림 재생 방법 및 장치
US20110025911A1 (en) * 2004-05-17 2011-02-03 Weisgerber Robert C Method of enhancing motion pictures for exhibition at a higher frame rate than that in which they were originally produced
US20060233258A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Scalable motion estimation
US7733959B2 (en) * 2005-06-08 2010-06-08 Institute For Information Industry Video conversion methods for frame rate reduction
US7983458B2 (en) * 2005-09-20 2011-07-19 Capso Vision, Inc. In vivo autonomous camera with on-board data storage or digital wireless transmission in regulatory approved band
KR100870115B1 (ko) * 2005-12-21 2008-12-10 주식회사 메디슨 블록정합 및 움직임 보상 보간을 이용한 영상 형성 방법
US8472524B2 (en) * 2006-04-03 2013-06-25 Intel Corporation Motion compensated frame rate conversion with protection against compensation artifacts
US8155195B2 (en) * 2006-04-07 2012-04-10 Microsoft Corporation Switching distortion metrics during motion estimation
US8494052B2 (en) * 2006-04-07 2013-07-23 Microsoft Corporation Dynamic selection of motion estimation search ranges and extended motion vector ranges
US20070268964A1 (en) * 2006-05-22 2007-11-22 Microsoft Corporation Unit co-location-based motion estimation
US8374464B2 (en) * 2006-05-31 2013-02-12 Nec Corporation Method, apparatus and program for enhancement of image resolution
CN101479767A (zh) * 2006-06-30 2009-07-08 Nxp股份有限公司 视频缝合的方法和设备
US7940973B2 (en) * 2006-09-19 2011-05-10 Capso Vision Inc. Capture control for in vivo camera
US8421842B2 (en) * 2007-06-25 2013-04-16 Microsoft Corporation Hard/soft frame latency reduction
US9168457B2 (en) 2010-09-14 2015-10-27 Sony Computer Entertainment America Llc System and method for retaining system state
US8953685B2 (en) * 2007-12-10 2015-02-10 Qualcomm Incorporated Resource-adaptive video interpolation or extrapolation with motion level analysis
US20100109974A1 (en) * 2008-04-03 2010-05-06 Manufacturing Resources International, Inc. System for supplying varying content to multiple displays using a single player
JP4508279B2 (ja) * 2008-07-17 2010-07-21 ソニー株式会社 画像処理装置、画像処理方法、及び、プログラム
US8259225B2 (en) * 2008-08-20 2012-09-04 Samsung Electronics Co., Ltd. System and method for reducing visible halo in digital video with dual motion estimation
TWI398159B (zh) * 2009-06-29 2013-06-01 Silicon Integrated Sys Corp 具動態控制畫質功能的幀率轉換裝置及相關方法
KR20110022133A (ko) * 2009-08-27 2011-03-07 삼성전자주식회사 영상의 움직임 추정방법 및 영상처리장치
US20110134315A1 (en) * 2009-12-08 2011-06-09 Avi Levy Bi-Directional, Local and Global Motion Estimation Based Frame Rate Conversion
TWI393074B (zh) * 2009-12-10 2013-04-11 Ind Tech Res Inst 移動物體偵測裝置與方法
US9602763B1 (en) * 2010-12-16 2017-03-21 Pixelworks, Inc. Frame interpolation using pixel adaptive blending
US9094561B1 (en) * 2010-12-16 2015-07-28 Pixelworks, Inc. Frame interpolation and motion vector reconstruction
US20120176536A1 (en) * 2011-01-12 2012-07-12 Avi Levy Adaptive Frame Rate Conversion
PL3136727T3 (pl) 2011-04-12 2018-11-30 Sun Patent Trust Sposób kodowania ruchomych obrazów i urządzenie do kodowania ruchomych obrazów
WO2012157618A1 (ja) * 2011-05-18 2012-11-22 シャープ株式会社 映像信号処理装置および表示装置
CA2834123C (en) 2011-05-27 2020-02-11 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
EP4270953A3 (de) 2011-05-31 2023-11-22 Sun Patent Trust Vorrichtung und verfahren zur dekodierung von bewegten bildern
KR101900986B1 (ko) 2011-06-30 2018-09-20 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치, 및, 화상 부호화 복호 장치
EP2741499A4 (de) 2011-08-03 2014-12-10 Panasonic Ip Corp America Videokodierungsverfahren, videodekodierungsverfahren, videokodierungsvorrichtung, videodekodierungsvorrichtung und videokodierungs-/dekodierungsvorrichtung
CN103858428B (zh) 2011-10-19 2018-07-03 太阳专利托管公司 图像编码方法、图像编码装置、图像解码方法及图像解码装置
MX2013008894A (es) * 2011-10-27 2013-08-21 Panasonic Corp Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, y aparato de decodificacion de imagenes.
JP5383958B2 (ja) * 2011-10-28 2014-01-08 パナソニック株式会社 復号方法および復号装置
ES2780188T3 (es) 2011-10-28 2020-08-24 Sun Patent Trust Método de codificación de imagen, método de decodificación de imagen, aparato de codificación de imagen y aparato de decodificación de imagen
RU2566957C2 (ru) 2011-11-08 2015-10-27 Самсунг Электроникс Ко., Лтд. Способ и устройство для определения вектора движения в кодировании или декодировании видео
KR20130103140A (ko) * 2012-03-09 2013-09-23 한국전자통신연구원 영상압축 전에 행해지는 전처리 방법, 영상 압축률 개선을 위한 적응성 움직임 추정방법 및 영상 타입별 영상 데이터 제공방법
KR101908388B1 (ko) * 2012-07-19 2018-10-17 삼성전자 주식회사 폐색 영역 복원 장치, 폐색 영역을 복원하는 비디오 디코딩 장치 및 폐색 영역 복원 방법
CN102883163B (zh) 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
US9679252B2 (en) 2013-03-15 2017-06-13 Qualcomm Incorporated Application-controlled granularity for power-efficient classification
US9300906B2 (en) * 2013-03-29 2016-03-29 Google Inc. Pull frame interpolation
US9392215B2 (en) * 2014-03-25 2016-07-12 Robert C. Weisgerber Method for correcting corrupted frames during conversion of motion pictures photographed at a low frame rate, for exhibition at a higher frame rate
US9232118B1 (en) * 2015-01-23 2016-01-05 Interra Systems, Inc Methods and systems for detecting video artifacts
US10319408B2 (en) 2015-03-30 2019-06-11 Manufacturing Resources International, Inc. Monolithic display with separately controllable sections
US10922736B2 (en) 2015-05-15 2021-02-16 Manufacturing Resources International, Inc. Smart electronic display for restaurants
US10269156B2 (en) 2015-06-05 2019-04-23 Manufacturing Resources International, Inc. System and method for blending order confirmation over menu board background
WO2017030380A1 (en) * 2015-08-20 2017-02-23 Lg Electronics Inc. Digital device and method of processing data therein
AU2016316309B2 (en) * 2015-09-02 2019-01-24 Hfi Innovation Inc. Method and apparatus of decoder side motion derivation for video coding
US10319271B2 (en) 2016-03-22 2019-06-11 Manufacturing Resources International, Inc. Cyclic redundancy check for electronic displays
CA3024512C (en) 2016-05-31 2020-12-29 Manufacturing Resources International, Inc. Electronic display remote image verification system and method
US10510304B2 (en) 2016-08-10 2019-12-17 Manufacturing Resources International, Inc. Dynamic dimming LED backlight for LCD array
CN114286126A (zh) * 2020-09-28 2022-04-05 阿里巴巴集团控股有限公司 视频处理方法及装置
US11558621B2 (en) 2021-03-31 2023-01-17 Qualcomm Incorporated Selective motion-compensated frame interpolation
US11895362B2 (en) 2021-10-29 2024-02-06 Manufacturing Resources International, Inc. Proof of play for images displayed at electronic displays

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5384912A (en) 1987-10-30 1995-01-24 New Microtime Inc. Real time video image processing system
US5081531A (en) 1989-01-11 1992-01-14 U.S. Philips Corporation Method and apparatus for processing a high definition television signal using motion vectors representing more than one motion velocity range
GB2265783B (en) 1992-04-01 1996-05-29 Kenneth Stanley Jones Bandwidth reduction employing a classification channel
GB2301971B (en) * 1995-06-06 1999-10-06 Sony Uk Ltd Video compression
EP1274254B1 (de) * 1995-08-29 2011-07-06 Sharp Kabushiki Kaisha Videokodierungsvorrichtung und Videodekodierungsvorrichtung mit bewegungskompensierter Interframe-Prädiktion
FR2742900B1 (fr) * 1995-12-22 1998-02-13 Thomson Multimedia Sa Procede d'interpolation de trames progressives
US5973755A (en) * 1997-04-04 1999-10-26 Microsoft Corporation Video encoder and decoder using bilinear motion compensation and lapped orthogonal transforms
SG65064A1 (en) * 1997-04-09 1999-05-25 Matsushita Electric Ind Co Ltd Image predictive decoding method image predictive decoding apparatus image predictive coding method image predictive coding apparatus and data storage media
US6404817B1 (en) * 1997-11-20 2002-06-11 Lsi Logic Corporation MPEG video decoder having robust error detection and concealment
US6192079B1 (en) 1998-05-07 2001-02-20 Intel Corporation Method and apparatus for increasing video frame rate

Also Published As

Publication number Publication date
EP1142327B1 (de) 2005-10-26
EP1142327A1 (de) 2001-10-10
US20030202605A1 (en) 2003-10-30
CA2355945A1 (en) 2000-06-29
US6963614B2 (en) 2005-11-08
JP2002534014A (ja) 2002-10-08
WO2000038423A1 (en) 2000-06-29
US6594313B1 (en) 2003-07-15
CA2355945C (en) 2005-09-20
DE69928010D1 (de) 2005-12-01
AU2382600A (en) 2000-07-12

Similar Documents

Publication Publication Date Title
DE69928010T2 (de) Erhöhte videowiedergabebildfrequenz in videoanwendungen
DE69735743T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE69628467T2 (de) Videokodierung- und dekodierungsvorrichtung
DE69908562T2 (de) Bewegungsvektorenextrapolation zur transkodierung von videosequenzen
DE69530336T2 (de) Bewegungskompensation für digitale Videosignale mit Zeilensprung
DE60009159T2 (de) Video kompression für mehrfachsendeverteilungen unter verwendung von räumlicher skalierbarkeit und gleichwellenfunkkodierung
DE69817460T2 (de) Bildsequenzdekodierungsverfahren
DE602004002455T2 (de) Bewegungsvektorschätzung durch adaptive zeitliche Vorhersage
EP0359094B1 (de) Übertragungssystem für ein zeitlich und örtlich hochaufgelöstes Bildsignal
DE10190285B4 (de) Verfahren und System zur Verarbeitung von komprimierten Videosignalen
DE69920429T2 (de) Bewegungsschätzungssystem und -verfahren
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE60215241T2 (de) Verfahren und Vorrichtung zur Reduzierung von Störungen in dekodierten Bildern mit Nachfilterung
DE69233411T2 (de) Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung
DE69632232T2 (de) Verfahren und Vorrichtung zur Komprimierung von Videoinformationen mit bewegungsabhängiger Prädiktion
DE19739266B4 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
EP1025708B1 (de) Verfahren und vorrichtung zur verarbeitung eines digitalisierten bildes
US20020001345A1 (en) Image coding device and method of image coding
DE19618984B4 (de) Verfahren zur Bewegungsbewertung in Bilddaten sowie Vorrichtung zur Durchführung dieses Verfahrens
DE60312960T2 (de) Kodierungsverfahren und Dekodierungsverfahren für bewegliche Bilder
DE19743202A1 (de) Verfahren und Vorrichtung zum Codieren eines Bewegungsvektors
DE602005000425T2 (de) Verfahren und Anordnung zur Erzeugung von Kandidatenvektoren für Bildinterpolierungssysteme, die Bewegungsabschätzung und -kompensation verwenden
EP0525900B1 (de) Filterschaltung zur Vorverarbeitung eines Videosignals
DE69636273T2 (de) Bewegtbildcodiervorrichtung, Bewegtbilddecodiervorrichtung und Bewegtbildcodier-/-Decodiervorrichtung
EP1110407B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors

Legal Events

Date Code Title Description
8364 No opposition during term of opposition