DE69908562T2 - Bewegungsvektorenextrapolation zur transkodierung von videosequenzen - Google Patents

Bewegungsvektorenextrapolation zur transkodierung von videosequenzen Download PDF

Info

Publication number
DE69908562T2
DE69908562T2 DE69908562T DE69908562T DE69908562T2 DE 69908562 T2 DE69908562 T2 DE 69908562T2 DE 69908562 T DE69908562 T DE 69908562T DE 69908562 T DE69908562 T DE 69908562T DE 69908562 T2 DE69908562 T2 DE 69908562T2
Authority
DE
Germany
Prior art keywords
bit stream
images
input
output
represented
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
DE69908562T
Other languages
English (en)
Other versions
DE69908562D1 (de
Inventor
Jay Stuart GOLIN
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Application granted granted Critical
Publication of DE69908562D1 publication Critical patent/DE69908562D1/de
Publication of DE69908562T2 publication Critical patent/DE69908562T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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

Description

  • LIZENZRECHTE DER REGIERUNG
  • Die Regierung der Vereinigten Staaten von Amerika hat an dieser Erfindung eine bereits vollständig bezahlte Lizenz erworben und unter bestimmten Umständen das Recht, vom Patentinhaber zu verlangen, Dritte zu angemessenen Bedingungen zu lizensieren, wie sie durch die Bedingungen des Vertrags mit der Nummer 70NANB5H1171 bestimmt sind, der durch das National Institute of Standards and Technology vorgelegt wurde.
  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein die Bewegungsschätzung in der Transcodierung einer Videofolge und insbesondere eine Lösung für die Transcodierung einer empfangenen Videofolge durch Anwendung extrapolierter Bewegungsinformationen aus der empfangenen Videofolge, um dadurch eine Bewegungsschätzung aus dem Transcodiervorgang zu minimieren oder zu beseitigen.
  • HINTERGRUND DER ERFINDUNG
  • Lösungen mit einer Datenkomprimierung machen es möglich, dass große Mengen von Daten über relativ kleine Bandbreiten übertragen werden können. Die in einem Komprimiersystem benutzen Algorithmen sind abhängig von der verfügbaren Bandbreite und der Speicherkapazität, der durch die Anwendung geforderten Merkmale und der Leistungsfähigkeit der Hardware, die für die Durchführung des Komprimieralgorithmus benötigt wird (Coder sowie Decoder). Die sogenannte "moving pictures expert group-type 2 ("MPEG-2") – Komprimiernorm, die hiermit als Entgegenhaltung eingeführt wird, ist eine hinreichend bekannte Lösung für die Komprimierung von Videodaten. Die Bewegungsschätzung, die den Vorgang bildet, den die Videocoder für die Berechnung der Bewegungsvektoren benutzen, wird im Allgemeinen als der kostenintensivste Teil des Codiervorgangs ange-sehen. Auf ähnliche Weise ist die Bewegungsschätzung wahrscheinlich der kostenintensivste Teil eines Transcodiervorgangs, in dem eine Videofolge de-codiert und dann mit neuen Parametern neucodiert wird. Mit der Einführung des hochauf-lösenden Fernsehens ("HDTV") ist dies ein wichtiges Anliegen, da Fernsehstudios gezwungen sein werden, MPEG-2-Bitströme von Bilddaten von einem Format in ein anderes Format zu transcodieren. Z. B. müssen Fernsehstudios für die HDTV-Norm in der Lage sein, einen MPEG-2-Bitstrom von einer Struktur von Gruppen von Bildern ("GOP" = group of pictures) in eine andere, von einer Bildgröße in eine andere und/oder von einer Bitrate in eine andere zu transcodieren. Es kann Fälle geben, wo diese Studios MPEG-2- Bilder von Halbbildern in Vollbilder oder von Vollbildern in Halbbilder transcodieren müssen. Es kann auch Fälle geben, wo die Studios Bilder aus einer verschachtelten Folge in eine progressive Folge oder von einer progressiven Folge in eine verschachtelto Folge transcodieren müssen. Die Transcodierung kann auch dazu dienen, eine "Zuschneide" (cropping)-Funktion durchzuführen, in der ein Eingang ein Hauptbild und der transcodierte Ausgang ein Unterbild in dem Hauptbild darstellt. Die EP-A-0 637 893 zeigt ein Transcodier-gerät.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist daher eine Aufgabe der vorliegenden Erfindung, eine Lösung für die Transcodierung einer Videofolge zu schaffen, die Bewegungsschätzungen minimiert oder beseitigt, wie sie in den Ansprüchen 1 und 16 angegeben ist.
  • Es ist eine weitere Aufgabe, eine Lösung für die Transcodierung einer Videofolge zu schaffen, in der Bewegungsinformationen aus einem Eingangsbitstrom zur Erzeugung von Bewegungsvektoren für einen transcodierten Ausgangsbitstrom benutzt werden.
  • Es ist eine weitere Aufgabe, eine Lösung für eine Bewegungsschätzung für den Transcodiervorgang zu schaffen, die für alle MPEG-2-Vorraussagemodi geeignet ist.
  • Diese und andere Aufgaben können gemäß Prinzipien der vorliegenden Erfindung mit einem Transcodierverfahren gelöst werden, das durch den Empfang eines ersten Bitstroms mit komprimierten Bilddaten mit identifizierbaren Codierparametern erfolgt. Diese Parameter können die GOP-Struktur von Bildern, die in dem ersten Bitstrom dargestellt werden, die Größe der in dem ersten Bitstrom dargestellten Bilder betreffen, ob die in dem ersten Bitstrom dargestellten Bilder Halbbilder oder Vollbilder sind, und/oder ob die in dem ersten Bitstrom dargestellten Bilder eine progressive oder verschachtelte Folge bilden. Zunächst werden Bewegungsinformationen aus dem ersten Bitstrom gewonnen und diesen zur Extrapolierung der zweiten Bewegungsinformationen für einen zweiten Bitstrom von komprimierten Bilddaten. Der zweite Bitstrom, der ein oder mehrere Parameter enthält, die von den Parametern des ersten Bitstroms abweichen, wird als ein transcodierter Ausgang geliefert.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Eine vollständigere Würdigung dieser Erfindung und viele ihrer Vorteile ergeben sich und werden besser verständlich durch die folgende detaillierte Beschreibung im Zusammenhang mit der beigefügten Zeichnung:
  • 1 zeigt die Grundprinzipien der Extrapolation der Bewegungsvektoren,
  • 2 zeigt ein Transcodiersystem, das gemäß den Prinzipien der vorliegenden Erfindung aufgebaut ist,
  • 3 zeigt den Vorgang der Bildtranscodierung von einer GOP-Struktur in eine andere gemäß den Prinzipien der vorliegenden Erfindung, und
  • 4 zeigt den allgemeinen Fall der Extrapolation von Bewegungsvektoren und kann für ein besseres Verständnis der Extrapolation der Bewegungsvektoren dienen, wie sie bei der Transcodierung angewendet wird.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • In 1 der Zeichnung sind die Grundprinzipien der Extrapolation der Bewegungsvektoren dargestellt. Im Allgemeinen ist eine Bewegungsvektor-Extrapolation eine Lösung zur Bewegungsschätzung für ein Bild in einer Videofolge, wenn die Bewegung irgendwo in der Folge bekannt ist. In 1 das fett gezeichnete Quadrat im Bild B einen individuellen Block von Pixeln (a.k.a., pels) in einem Videobild. Es wird angenommen, dass jeder Block in dem Bild eine feste Lage hat. In MPEG-2 werden diese Blöcke mit "Makroblöcken" bezeichnet, und jeder von ihnen besteht aus einem Block mit 16 × 16 Pixeln. Der stark ausgezogene Pfeil in 1 bezeichnet die bekannte Bewegung des stark gezeichneten Blocks, wenn sich der Block von dem Bild A zu dem Bild B bewegt. Tatsächlich ist es der Bildanteil (imagery) in dem Block, der sich bewegt, und nicht der Block selbst, der sich in einer festen Lage befindet. Die bekannte Bewegung, definiert durch einen Bewegungsvektor, dient zur Extrapolation der Bewegung des Blocks, wenn er sich von dem Bild B zu dem Bild C bewegt. Der gestrichelte Pfeil in 1 bezeichnet den extrapolierten Bewegungsvektor. Die Pfeile in 1 zeigen tatsächlich in einer zu der Bewegung entgegengesetzten Richtung, da 1 (sowie die anderen beigefügten Figuren) die allgemeinere Codierkonventionen benutzen, in der der Vektor für einen Block auf die "Quelle" des Blocks in dem Referenzbild zeigt. In der Praxis wird ein bestimmter Bewegungsvektor als ein Satz von x und y-Koordinaten dargestellt, der jeweils die horizontale und die vertikale Bewegung eines Blocks zwischen zwei Bildern anzeigt. Im Allgemeinen geht die Extrapolation davon aus, dass die Bewegung in der Zeit gleichmäßig und räumlich "weich" (smooth) ist. Daher wird erwartet, dass der Block im Bild B sich zu der in Bild C gezeigten Lage verschiebt und alle Blöcke, die er überlappt, im Wesentlichen dieselbe Bewegung durchführen.
  • In 2 ist ein Transcodiersystem gezeigt, das gemäß den Prinzipien der vorliegenden Erfindung aufgebaut ist. In 2 empfängt das Transcodiersystem 200 einen Eingangs-Bitstrom 201 aus MPEG-2-komprimierten Bilddaten. Der Eingangbitstrom 201, der eine bestimmte Bitrate aufweist, stellt Bilder einer bestimmten Größe und GOP-Struktur dar. Die Bilddaten des Eingangsbitstroms 201 können aus Halb bild- oder Vollbild-Bildern bestehen und können eine progressive oder eine verschachtelte Folge darstellen. Ein MPEG-2-Decoder 202, der im Stand der Technik bekannt ist, empfängt den Eingangsbitstrom 201 und decodiert denselben zur Erzeugung eines Ausgangs von dekomprimierten, digitalen Bilddaten 203. Der Decoder 202 liefert außerdem die Bewegungsinformationen (d. h. Bewegungsvektoren) von dem Eingangsbitstrom 201 als einen getrennten Ausgang 204. Die digitalen Bilddaten 203 werden in eine Zwischenverarbeitungseinheit 205 eingegeben, die im Pixelbereich arbeitet und in der Lage ist, die durch die digitalen Bilddaten 203 dargestellten Bilder in bekannter Weise in der Größe zu ändern. Zusätzlich zu der Größenänderung des Bildes kann die Zwischenverarbeitungseinheit 205 die bekannte Zuschneide- oder Zuricht (cropping)-Funktion durch Isolierung eines Unterbilds in den durch die digitalen Bilddaten 203 dargestellten Hauptbild durchführen und einen Ausgang von das Unterbild darstellenden Daten liefern. Die Zwischenverarbeitungseinheit 205 ist außerdem in der Lage, bekannte Verschachtelungs- und Entschachtelungsvorgänge durchzuführen, die bei der Transcodierung einer progressiven Folge von Bildern in eine verschachtelte Folge von Bildern und bei der Transcodierung einer verschachtelten Folge von Bildern in eine progressive Folge von Bildern notwendig sind. Die Zwischenverarbeitungseinheit 205 führt ihre Vorgänge aufgrund eines externen Eingangs 206 durch, der anzeigt, welcher (wenn überhaupt) der Verarbeitungsvorgänge erfolgen muss, und außerdem die bei einer derartigen Verarbeitung anzuwendenden Parameter anzeigt. Da die Vorgänge der Zwischenverarbeitungseinheit 205 optional sind, wenn die Größenänderung des Bildes, das Zurichten, die Verschachtelung und die Entschachtelung nicht für eine bestimmte Transcodieranwendung erfolgen, arbeitet die Zwischenverarbeitungseinheit 205 einfach als eine Durchlaufeinheit und liefert den Ausgang der digitalen der digitalen Bilddaten 207 ohne eine Verarbeitung im Pixelbereich. In diesem Fall sind die digitalen Bilddaten 207 und die digitalen Bilddaten 203 offensichtlich nicht dieselben.
  • Alternativ bewirkt die Zwischenverarbeitungseinheit 205, wenn eine oder mehrere dieser Verarbeitungsvorgänge für eine bestimmte Transcodieranwendung erfol-gen müssen, den Verarbeitungsvorgang oder die Verarbeitungsvorgänge im Pixelbereich und liefert einen Ausgang der resultierenden, verarbeiteten, digitalen Bilddaten 207. Die digitalen Bilddaten 207, ob sie durch die Zwischenverabeitungseinheit 205 verarbeitet werden oder nicht, werden in einen MPEG-2-Coder 208 eingegeben, der die empfangenen Bilddaten 207 mit neuen Parametern neu codiert, die durch einen externen Eingang 209 angezeigt werden. Z. B. kann der Coder 208 die digitalen Bilddaten 207 codieren, um Bilder einer GOP-Struktur darzustellen, die abweicht von der GOP-Struktur der durch den Eingangsbitstrom 201 dargestellten Bilder, und/oder kann die Bitrate einstellen. Der Coder 208 kann außerdem die digitalen Bilddaten 207 als Halbbild- oder Vollbild-Bilder codieren. Zur Durchführung des Codiervorgangs benutzt der Coder 208 die Bewegungsinformationen in dem Ausgang 204 von dem Decoder 202, um die Bewegungsvektoren für die neu-codierten Bilder zu extrapolieren. Danach werden die neu-codierten Bilder von dem Transcodiersystem 200 als ein Ausgangsbitstrom 210 von komprimierten, digitalen MPEG-2-Bilddaten geliefert.
  • Wie oben gezeigt, kann dieser Ausgangsbitstrom 210 eine Bildgröße und eine GOP-Struktur darstellen, die abweichen von der Größe und der GOP-Struktur des Eingangsbitstroms 201, und die Bitrate des Ausgangsbitstroms 210 kann so gesteuert werden, dass sie abweicht von der Bitrate des Eingangsbitstroms 201. Außerdem kann der Ausgangsbitstrom 210 Halbbild-Bilder darstellen, während der Eingangbitstrom 201 Vollbild-Bilder darstellt, oder der Ausgangsbitstrom 210 kann Vollbild-Bilder darstellen, während der Eingangsbitstrom 201 Halbbild-Bilder darstellt. Auf ähnliche Weise kann der Ausgangsbitstrom 210 eine verschachtelte Folge darstellen, während der Eingangsbitstrom 201 eine progressive Folge darstellt, oder der Ausgangsbitstrom 210 kann eine progressive Folge darstellen, während der Eingangsbitstrom 201 eine verschachtelte Folge darstellt. Ebenso kann der Ausgangsbitstrom 210 eine "zugerichtete" (cropped)-Version des Eingangsbitstroms 201 darstellen. Im Wesentlichen empfängt das Transcodiersystem 200 den Eingangsbitstrom 201 mit bestimmten Parametern und transcodiert den Eingangsbitstrom 201 zur Erzeugung des Ausgangbitstroms 210 mit einem oder mehreren Parametern, die von den Parametern des Eingangsbitstroms 201 abweichen. Das Transcodiersystem 200 ist insofern einmalig, als es Bewegungsinformationen aus dem Eingangsbitstrom 201 benutzt, um die Bewegungsinformationen für den Ausgangsbitstrom 210 zu extrapolieren.
  • In 3 ist der Vorgang der Transcodierung der Bilder von einer GOP-Struktur in eine andere gemäß den Prinzipien der vorliegenden Erfindung dargestellt. In 3 stellt ein Eingangsbitstrom Bilder mit einer GOP-Struktur dar: ein intra-codiertes Bild ("I-Bild"), ein bidirektional-vorausgesagtes codiertes Bild ("B-Bild"), ein B-Bild und ein voraussage-codiertes Bild ("P-Bild"). D. h., der Eingangsbitstrom stellt eine "IBBP"-GOP-Struktur dar. Wie in 3 gezeigt, sind die beiden aufeinanderfolgenden B-Bilder des Eingangsbitstroms zur Klarheit mit B1 und B2 bezeichnet. Dieser Eingangsbitstrom ist analog zu dem Eingangsbitstrom 201 in 2. Während des Transcodiervorgangs wird der Eingangsbitstrom mit einer "IBBP"- GOP- Struktur in einen Ausgangsbitstrom mit einer "IPPP"- GOP- Struktur umgesetzt. Wie 3 zeigt, sind die drei aufeinanderfolgenden P-Bilder des Ausgangsbitstroms zur Klarheit mit P1, P2 und P3 bezeichnet. Dieser Ausgangsbitstrom ist analog zu dem Ausgangsbitstrom 210 in 2. Zur Vereinfachung der Figur sind die Makroblöcke, die die einzelnen Bilder ausmachen, in 3 nicht dargestellt. Zur Durchführung des Transcodiervorgangs dienen die I-P und P-B2 Bewegungsvektoren aus dem Eingangsbitstrom zur Extrapolation der Bewegungsvektoren für den Ausgangsbitstrom. Z. B. kann, wie 3 zeigt, der I-P-Bewegungsvektor aus dem Eingangbitstrom zur Schätzung eines P1-P2-Bewegungsvektors für den Ausgangsbitstrom benutzt werden. Auf ähnliche Weise kann der P-B2-Bewegungsvektor aus dem Eingangsbitstrom zur Schätzung eines P2-P3-Bewegungsvektors für den Ausgangsbitstrom benutzt werden.
  • Eine detailliertere Erläuterung des Extrapoliervorgangs für den Bewegungsvektor der vorliegenden Erfindung erfolgt nunmehr anhand der 4, die vier Bilder in einer Videofolge zeigt. Begrifflich existieren diese vier Bilder in dem Ausgangsbitstrom sowie in dem Eingangsbitstrom, und das ist im allgemeinen tatsächlich der Fall. In jedem Fall ist das Bild T in 4 das "Ziel"-Bild (target picture), dessen Bewegung relativ zu dem Bild R ermittelt werden muss. Beide dieser Bilder existieren in dem Ausgangsbitstrom. Die Bilder KR und KT sind Bilder, deren Relativbewegung aus dem Eingangsbitstrom bekannt ist. Gemäß Prinzipien der vorliegenden Erfindung kann die bekannte Bewegung zwischen den Bildern KR und KT zur Extrapolation der Bewegungsvektoren für den Ausgangsbitstrom benutzt werden. Die Bilder KR und KT werden als "Grundpaar" (base pair) bezeichnet, und die Bilder R und T werden als "laufendes Paar" (current pair) bezeichnet. Mehrere Grundpaare können nützlich sein zur Schätzung der Bewegung für ein laufendes Paar. Im Allgemeinen wird jedes Grundpaar, das zeitlich in der Nähe des laufenden Paares liegt, potentiell für diesen Zweck benutzt.
  • Während des Transcodiervorgangs kann es Fälle geben, wo einige Blöcke in dem Bild T keine Bewegungs-Expolierinformationen empfangen. D. h., es kann Fälle geben, wo einige Blöcke in dem Bild T nicht durch die Bewegung einiger Blöcke in nahegelegenen Grundpaaren überlappt werden. Derartige Blöcke in dem Bild T können einfach intra-codiert werden, oder ihre Bewegung kann in einer konventionellen Weise berechnet werden. Alternativ kann die Bewegung derartiger Blöcke aus nahegelegenen Blöcken gefolgert oder interpoliert werden. In den meisten Fällen, jedoch, überlappen mehrere Blöcke in den Grundpaaren die meisten der Blöcke in dem Bild T, und die Aufgabe besteht dann darin, den besten Bewegungsvektor aus mehreren Hilfs-Bewegungsvektoren auszuwählen. Jeder überlappende Block von einem Grundpaar liefert einen einzigen Hilfs-Bewegungsvektor. Bei der Auswahl aus mehreren Hilfs-Bewegungsvektoren ist es nützlich, jedem Bewegungsvektor ein Gewicht zuzuordnen und den Bewegungsvektor mit dem größten Gewicht zu wählen. Unter Anwendung der Bilder von 4 als ein Beispiel wird das Gewicht für jeden Hilfs-Bewegungsvektor MV folgendermaßen berechnet:
    Gesamtgewicht (MV) = (Überlappungsgewicht) * (Bildgewicht) * (1)
    (Rundungsgewicht)
    wobei, Überlappungsgewicht = (die Anzahl der Pixel in einem Bildblock KT, der (2)
    Pixel in den entsprechenden Bildblock T überlappt
    Bildgewicht = 1/[1 + abs (Zeitliches Gewicht)] (3)
    wobei,
    Zeitliches Gewicht = (tKT – tKR) * [(tKr + tKT) – (tT + tR)] (4)
    und,
    Rundungswicht = [1 – (horizontaler Rundungsfehler)] * (5)
    [1 – (vertikaler Rundungsfehler )]
  • In den obigen Gleichungen (1) bis (5) bezeichnen tKR, tKT, tR und tT die Wiedergabezeiten der Bilder KR, KT, R beziehungsweise T. Die Ausdrücke * und abs bezeichnen den Multiplikationsoperator beziehungsweise die Absolutwertbezeichnung. Die horizontalen und vertikalen Rundungsfehler treten auf, wenn der extrapolierte Vektor auf das nächstgelegene halbe Pixel gerundet wird, jeder nimmt einen Wert von null (0) bis einhalb (1/2) an. Wenngleich die Gleichungen (1) bis (5) als für die Bilder von 4 angewendet dargestellt sind, sollte es intuitiv sein, dass diese allgemeinen Gleichungen auf andere Bildkonfigurationen angewendet werden können.
  • Zusätzlich zu der Lösung der einfachen Wahl des Hilfs-Bewegungsvektors mit dem größten Gewicht betrifft die vorliegende Erfindung andere Möglichkeiten zur Gewinnung des besten Bewegungsvektors oder der besten Bewegungsvektoren für einen bestimmten Block. Gemäß einer alternativen Ausführungsform kann man den gewichteten Mittelwert berechnen, wo die Gewichte unter Anwendung der obigen Gleichungen (1) bis (5) berechnet werden. Unter Anwendung dieser Gewichte kann dann der beste Bewegungsvektor auf einer Komponentenbasis durch Multiplikation der Gewichte mit den x oder y Komponenten der entsprechenden Bewegungsvektoren berechnet werden, um die gewichteten Komponenten zu erzeugen, durch Summie rung der gewichteten Komponenten und Teilung der Summe der gewichteten Komponenten durch eine Summe der Gewichte.
  • Die obige Lösung mit der gewichteten Mittelung kann auch auf einer "Gruppen" oder "Bündel" (cluster) Basis erfolgen. D. h., wenn eine x-y-Darstellung der Hilfs-Bewegungsvektoren mehr als eine Gruppe (cluster) (d. h. enge Gruppierung) von Bewegungsvektoren zeigt, kann ein bester Bewegungsvektor für jede Gruppe (cluster) berechnet werden. Das ist der Schwerpunkt oder "Mittelpunkt der Masse" (center of mass) der Gruppe. Ein endgültiger bester Bewegungsvektor kann dann aus den besten Bewegungsvektoren der einzelnen Gruppen (cluster) ausgewählt werden.
  • Es sollte bemerkt werden, dass ein bester Bewegungsvektor auch aus mehreren Hilfs-Bewegungsvektoren ausgewählt werden kann, ohne überhaupt Gewichte zu benutzen. Z, B. können Quadratmittelwert (MSE = mean-square error) oder Mittel-Absolutdifferenz (MAD = mean-absolute-difference)-Berechnungen durchgeführt werden, die Pixeldifferenzen zwischen den Blöcken darstellen, um den besten Bewegungsvektor zu identifizieren. Die Anwendung von MSE- und MAD-Berechnungen ist natürlich dem Fachmann auf diesem Gebiet hinreichend bekannt.
  • Der in Tabelle 1 dargestellte folgende Algorithmus zeigt die Schritte der Auffindung des besten Bewegungsvektors für jeden möglichen Voraussagemodus eines Zielbilds (z. B. Bild T in 4). Diese Schritte, die durch den Pseudo-Code dargestellt sind, können in einer beliebigen, dem Fachmann auf diesem Gebiet bekannten Programmiersprache, programmiert werden.
  • Tabelle 1: Pseudo-Code zur Auffindung des besten Bewegungsvektors
    • – für jeden Voraussagemodus, der für das Zielbild (laufendes Paar) erwogen wird
    • – für jedes Halbbild oder Vollbild des anwendbaren Modus (oberes Halbbild, unteres Halbbild, Vollbild)
    • – Initialisierung einer Tabelle, die durch Blöcke in dem Zielbild indexiert ist
    • – für jedes Grundpaar das als nützlich für ein laufendes Paar angesehen wird (z. B. ein Grundpaar wird im allgemeinen als "nützlich" angesehen, wenn es zeitlich annähernd in einem vorgegebenen Bereich liegt)
    • – für jeden Bewegungsvektor jedes inter-codierten Blocks in dem Ziel (target) des Grundpaars
    • – Ermittlung, wo der Vektor den Block in dem Zielbild bewegt
    • – Berechnung des Vektorgewichts oder Auswertung seiner Übereinstimmung (z. B. MSE, MAD)
    • – Speicherung von Informationen in Tabelleneingaben von relevanten Zielbild-Blöcken
    • – für jeden Block in dem Zielbild
    • – Ermittlung des besten Bewegungsvektors für ein Halbbild oder Vollbild
    • – für jeden Block in dem Zielbild
    • – Ermittlung des besten Voraussagemodus und des entsprechenden Bewegungsvektors oder der Bewegungsvektoren
  • Es sei bemerkt, dass mehrere Bewegungsvektoren zu einem bestimmten Block in manchen Voraussagemodi gehören wie eine Halbbildvoraussage für Vollbild-Bilder und einen so genannten "dual prime" für P-Bilder. Ebenso muß für B-Bilder der Coder für jeden Block entscheiden, ob eine Vorwärtsvoraussage, eine Rückwärtsvoraussage oder beides angewendet werden sollen. In manchen Fällen ergibt kein Voraussagemodus akzeptable Ergebnisse. Das tritt auf, wenn es keine Hilfs-Bewegungsvektoren gibt oder wenn der beste Bewegungsvektor gemäß einer der vorangehenden Lösungen ermittelte Bewegungsvektor für die bestimmte Anwendung nicht gut genug ist. Zusätzlich gibt es Fälle, wo der Coder einfach die Bewegungsvektoren (unverändert) aus der Eingangsfolge für die Ausgangsfolge benutzt werden kann.
  • In 4 wird eine Situation angenommen, wo eine Vollbildvoraussage ohne Größenänderung für die Vollbild-Bilder benutzt wird. Wenn ein Block in dem Bild KT einen zugehörigen Vektor, vK, aufweist, dann haben ein oder mehrere Blöcke in dem Bild T einen zugehörigen Vektor, v, der folgendermaßen definiert ist: v = Tv * vK (6)wobei, Tv = (tT – tR)/(tKT – tKR) (7)
  • Hier ist Tv der zeitliche Skalierfaktor für Vektoren, und tKR, tKT, tR und tT bezeichnen die Wiedergabezeiten der Bilder KR, KT, R bzw. T. Es besteht eine Mehrdeutigkeit in den Wiedergabezeiten für Vollbild-Bilder, deren Halbbilder zu verschiedenen Zeiten wiedergegeben werden. In derartigen Fällen sollten die Zeiten die Mittelwerte der jeweiligen Halbbilder sein. Um die Bewegung eines Blocks vom Bild KT an das Bild T anzupassen betrachten wir einen Punkt an der oberen linken Ecke des bestimmten Blocks. Im Zusammenhang mit 4 ist dieser Punkt als Punkt qK in dem Bild KT und als Punkt q in dem Bild T dargestellt. Die Bewegung des Punktes q ist gegeben durch: q = qK – (Tb * vK) (8) wobei, Tb = (tT – tKT) / (tKT – tKR) (9)
  • In einem Transcodiervorgang für die in der Größe geänderten Bilder haben die Bilder KR und KT nicht dieselbe Größe wie die Bilder R und T. Die Größenänderung wird folgendermaßen angepasst. Rx und Ry bezeichnen die horizontale bzw. die vertikale Vergrößerung der Bilder. D. h.:
    Rx = (Breite des Bilds T) / (Breite des Bilds KT) (10) und,
    Ry = (Höhe des Bilds T) / (Höhe des Bilds KT) (11)
  • Die Größenänderung der Bilder erfordert die folgende Änderung der Gleichungen (6) und (8):
    v = R (Tv * vK) (12)und, q = R (qK – (Tb * vK)) (13)
  • Die vorangehenden Gleichungen haben die Bedeutung: R(V) = (Vx * Rx, VY * RY) (14)
  • Dabei ist V ein Zwei-Komponenten-Punkt (Pixel) oder Vektor. Es sei bemerkt, dass sich R auf unterschiedliche Bildgrößen, nicht auf unterschiedliche Blockgrößen bezieht.
  • Die Größenänderung wird nicht nur für die in der Größe geänderten Bilder angewandt, sondern auch auf die jeweiligen Halbbild- und Vollbild-Bilder und auf die Halbbild- und Vollbild-Voraussage. Zur Anpassung der Halbbild-Voraussage (von Halbbild- und Vollbild-Bildern} sei bemerkt, dass die unteren Halbbilder um 0,5 Pixel niedriger liegen als ihre Koordinaten anzeigen würden. Der Verschiebevektor dX eines Halbbild- oder Vollbild- Bilds ist folgendermaßen definiert:
    dX = (0,0), wenn X ein oberes Halbbild oder ein Vollbild ist (15) und,
    dX = (0,05), wenn X ein unteres Halbbild ist (16)
  • Wenn man dieses auf die Gleichungen (12) und (13) anwendet, werden die neuen Gleichungen für v und q: v = R (Tv * (vK + dKR – dKT)) + dT – dR (17)und, q = R(qK + dKT – [Tb * (vK + dKR – dKT)])– dT (18)
  • Somit sind die endgültigen Gleichungen, die in der Praxis der vorliegenden Erfindung benutzt werden, die Gleichungen (7), (9) und (14) bis (18).
  • Schließlich wird angenommen, dass die Zwischenverarbeitungseinheit 205 von 2 die Bilder beschneidet (crops). Die obigen Gleichungen können folgendermaßen angewendet werden. Wir nehmen an, dass die Bilder R und T dieselbe Größe haben wie das Original mit den in sie eingebetteten Ausgangsbildern bei der geeigneten Lage. Diese Lage definiert den Bereich von Interesse. Nur Blöcke, die den Interessenbereich überlappen, werden bei der Extrapolation benutzt. Dann werden die 1 bis 4 sowie die daraus abgeleiteten Gleichungen auf diesen Fall angewendet.
  • Die vorangehende Beschreibung kann eine Homogenität annehmen. D. h., wenn das Bild T ein Vollbild mit einer Halbbild-Voraussage ist, dann ist das Bild KT ebenfalls ein Vollbild mit Anwendung einer Halbbild-Voraussage. Jedoch sind die oben diskutierten Formeln allgemeiner, wie die folgenden Beispiele zeigen: Es wird angenommen, dass das Bild T eine Vollbild-Voraussage und das Bild KT eine Halbbild-Voraussage benutzt. Bei der vorliegenden Erfindung macht es nichts aus, ob das Bild KT ein Halbbild oder ein Vollbild ist. In jedem Fall beruhen die Bewegungsvektoren der Bilder KT's auf Halbbildern, so dass Ry = 2 und Rx = 1 ist. Wenn das Bild KT ein Vollbild ist, betragen seine Blöcke 16 × 8. Das ist jedoch transparent für die obigen Formeln. Wenn ein Block eine Voraussage 16 × 8 benutzt, sollten seine beiden Hälften als zwei getrennte Blöcke behandelt werden.
  • Als nächstes wird angenommen, dass das Bild T und das Bild KT auf einer Halbbild-Voraussage beruhen. Hier wird, da die Vektoren in beiden Bildern sich auf Bilder mit derselben Größe beziehen, eine Größenänderung nicht benötigt und Rx = Ry = 1. D. h., in der Praxis der vorliegenden Endung ist es irrelevant für die Gleichungen, ob es sich um eine Mischung von Halbbildern und Vollbildern oder um eine Halbbild- und Vollbild-Voraussage handelt.
  • Wie durch die obige Beschreibung angedeutet, werden, wenn ein Block im Bild KT eine duale Primzahl benutzt, seine beiden Vektoren getrennt angewendet, vielleicht mit unterschiedlichen Gewichten. Ebenso ist die Auswertung des Bilds T für eine duale Primärzahl wesentlich gleicher der Auswertung derselben für eine bidirektionale Interpolation. D. h., jeder Vektor wird getrennt ausgewertet, und dann wird die Kombination ausgewertet. Daher umfasst die vorliegende Erfindung alle MPEG-2-Voraussagemodi: Vollbild, Halbbild und duale erstmalige Voraussage für Vollbilder und Halbbild, duale erstmalige und 16 × 8 Voraussage von Halbbildern.
  • Es sei bemerkt, dass die hier angegebenen Gleichungen allgemein auf Situationen mit einer linearen Bewegung gerichtet sind, und nicht auf eine nichtlineare Bewegung. Eine nichtlineare Bewegung kann z. B. aus einem Kamera-Jitter oder aus einer ungleichmäßigen Beschleunigung von Objekten in den Bildern resultieren. Derartige Fälle einer nichtlinearen Bewegung können folgendermaßen behandelt werden. Für eine nichtlineare Bewegung bei einem Kamera-Jitter kann es erwünscht sein, die Gesamtbewegung vor dem Vergleich der Blockbewegung auszuklammern. Die bekannten MSE- und MAD-Berechnungen können für diesen Zweck anwendet werden. Für eine nichtlineare Bewegung bei der ungleichmäßigen Beschleunigung von Objekten kann erwünscht sein, diese Bewegung durch Anwendung von drei Bildern und nicht von zwei zu extrapolieren.
  • Wenngleich hier gezeigt und beschrieben wurde, was als die bevorzugten Ausführungsformen der vorliegenden Erfindung angesehen wird, wird der Fachmann auf diesem Gebiet verstehen, dass verschiedene Änderungen und Modifikationen erfol gen und Äquivalente für die Bauteile ersetzt werden können, ohne von dem wahren Schutzumfang der vorliegenden Erfindung abzuweichen. Zusätzlich können viele Modifikationen erfolgen, ohne von dem zentralen Schutzumfang abzuweichen. Die vorliegende Erfindung soll daher nicht auf die besondere Ausführungsform beschränkt sein, die als die beste Möglichkeit zur Durchführung der Erfindung beschrieben wird. Vielmehr soll die vorliegende Erfindung alle Ausführungsformen einschließen, die in den Schutzumfang der beigefügten Ansprüche fallen.

Claims (22)

  1. Transcodierverfahren mit folgenden Schritten: Empfang eines Eingangsbitstroms von komprimierten Bilddaten mit einer Struktur einer ersten Gruppe von Bildern (GOP), Gewinnung eines ersten Satzes von Bewegungsinformationen aus dem Eingangsbitstrom, Erzeugung eines Ausgangsbitstroms von komprimierten Bilddaten aufgrund der Eingangsbilddaten, gekennzeichnet durch: Gewinnung eines zweiten Satzes von Bewegungsinformationen aus dem Eingangsbitstrom, Anwendung von Wichtungsfunktionen auf die ersten und zweiten Bewegungsinformationen, die eine Auswahl der besten Bewegungsinformationen aus dem ersten und dem zweiten Satz von Bewegungsinformationen ermöglichen, und Anwendung der besten der ersten und zweiten Bewegungsinformationen zur Extrapolation dritter Bewegungsinformationen für den Ausgangsbitstrom der komprimierten Daten, gemäß denen die ersten und die zweiten gewichteten Bewegungsinformationen die andere überwiegen, wobei der Ausgangsbitstrom eine Struktur einer zweiten Gruppe von Bildern (GOP) aufweist, die von der Struktur der ersten Gruppe von Bildern (GOP) abweicht.
  2. Verfahren nach Anspruch 1 mit dem Schritt der Steuerung einer Bitrate des Ausgangsbitstroms derart, dass eine Bitrate des Eingangsbitstroms von der Bitrate des Ausgangbitstroms abweicht.
  3. Verfahren nach Anspruch 1 mit dem Schritt der Einstellung einer Größe der durch den ersten Bitstrom dargestellten Bilder derart, dass durch den Ausgangsbitstrom dargestellte Bilder eine Größe aufweisen, die von der Größe der durch den Eingangsbitstrom dargestellten Bilder abweicht.
  4. Verfahren nach Anspruch 2 mit einem Schritt zur Einstellung einer Größe der durch den Eingangsbitstrom dargestellten Bilder, so dass durch den Ausgangsbitstrom dargestellte Bilder eine Größe aufweisen, die von der Größe der durch den Eingangsbitstrom dargestellten Bilder abweicht.
  5. Verfahren nach Anspruch 4 mit einem Schritt zur Codierung der durch den Ausgangsbitstrom dargestellten Bilder als Halbbilder, wenn die durch den Eingangsbitstrom dargestellten Bilder als Vollbilder codiert sind.
  6. Verfahren nach Anspruch 4 mit einem Schritt der Codierung der durch den Ausgangsbitstrom dargestellten Bilder als Vollbilder, wenn die durch den Eingangsbitstrom dargestellten Bilder als Halbbilder codiert sind.
  7. Verfahren nach Anspruch 4 mit einem Schritt der Verschachtelung der durch den Eingangsbitstrom dargestellten Bilder, wenn die durch den Eingangsbitstrom dargestellten Bilder als eine progressive Folge empfangen werden, so dass die durch den Ausgangbitstrom dargestellten Bilder als eine verschachtelte Folge ausgegeben werden.
  8. Verfahren nach Anspruch 4 mit einem Schritt der Entschachtelung der durch den Eingangsbitstrom dargestellten Bilder, wenn die durch den Eingangsbitstrom dargestellten Bilder als eine verschachtelte Folge empfangen werden, so dass die durch den Ausgangsbitstrom dargestellten Bilder als eine progressive Folge ausgegeben werden.
  9. Verfahren nach Anspruch 1 mit einem Schritt der Codierung der durch den Ausgangsbitstrom dargestellten Bilder als Halbbilder, wenn die durch den Eingangsbitstrom dargestellten Bilder als Vollbilder codiert sind.
  10. Verfahren nach Anspruch 1 mit einem Schritt der Codierung der durch den Ausgangsbitstrom dargestellten Bilder als Vollbilder, wenn die durch den Eingangsbitstrom dargestellten Bilder als Halbbilder codiert sind.
  11. Verfahren nach Anspruch 1 mit einem Schritt der Verschachtelung der durch den Eingangsbitstrom dargestellten Bilder, wenn die durch den Eingangsbitstrom dargestellten Bilder als eine progressive Folge empfangen werden, so dass durch den Ausgangsbitstrom dargestellte Bilder als eine verschachtelte Folge ausgegeben werden.
  12. Verfahren nach Anspruch 1 mit einem Schritt der Entschachtelung der durch den Eingangsbitstrom dargestellten Bilder, wenn die durch den Eingangsbitstrom dargestellten Bilder als eine verschachtelte Folge empfangen werden, so dass durch den Ausgangsbitstrom dargestellte Bilder als eine progressive Folge ausgegeben werden.
  13. Transcodierverfahren nach Anspruch 1, wobei: der Eingangsbitstrom der komprimierten Bilddaten ein Hauptbild darstellt, der Ausgangsbitstrom einen Teil des Hauptbilds darstellt.
  14. Transcodierverfahren nach Anspruch 1, wobei der Schritt der Gewinnung der ersten und zweiten Bewegungsinformationen folgende Schritte enthält: Ermittlung, ob geprüfte Bewegungsinformationen innerhalb eines vorbestimmten zeitlichen Bereichs liegen, und Gewinnung der geprüften Bewegungsinformationen, wenn ermittelt wird, dass die geprüften Bewegungsinformationen innerhalb des vorbestimmten zeitlichen Bereichs liegen.
  15. Transcodierverfahren nach Anspruch 1, wobei der Schritt der Wichtung der ersten und zweiten Bewegungsinformationen folgende Schritte enthält: Berechnung eines Überlappungsgewichtes, eines zeitlichen Gewichtes und eines Rundungsgewichtes für gewählte Bewegungsinformationen und Ableitung eines Wichtungswertes für die gewählten Bewegungsinformationen aufgrund wenigstens eines der berechneten Gewichte.
  16. Transcodierverfahren mit folgenden Schritten: Empfang eines Eingangsbitstroms von komprimierten Bilddaten mit einem Eingangs-Codierparameter, Gewinnung eines ersten Satzes von Bewegungsvektoren aus dem Eingangsbitstrom, Erzeugung eines Ausgangsbitstroms von komprimierten Bilddaten aufgrund der Eingangsbilddaten, gekennzeichnet durch: Gewinnung eines zweiten Satzes von Bewegungsvektoren aus dem Eingangsbitstrom, Anwendung der Wichtungsfunktionen auf den ersten und den zweiten Satz von Bewegungsvektoren, die die Wahl besten Bewegungsvektoren aus dem ersten und dem zweiten Satz von Bewegungsvektoren ermöglichen, Benutzung des besten des ersten und zweiten Satzes von Bewegungsvektoren zur Extrapolation dritter Bewegungsvektoren für den Ausgangsbitstrom von komprimierten Bilddaten, gemäß denen der erste und der zweite gewichtete Bewegungsvektor den anderen überwiegt, wobei der Ausgangsbitstrom einen Ausgangs-Codierparameter aufweist, der von dem Eingangscodierparameter des Eingangsbitstroms abweicht.
  17. Transcodierverfahren nach Anspruch 16, wobei der Schritt der Gewinnung des ersten und des zweiten Bewegungsvektors folgende Schritte enthält: Ermittlung, ob ein geprüfter Bewegungsvektor innerhalb eines vorbestimmten zeitlichen Bereichs liegt, und Gewinnung des geprüften Bewegungsvektors, wenn ermittelt wird, dass der geprüfte Bewegungsvektor innerhalb des vorbestimmten zeitlichen Bereichs liegt.
  18. Transcodierverfahren nach Anspruch 16, wobei der Schritt der Wichtung des ersten und des zweiten Bewegungsvektors folgende Schritte enthält: Berechnung wenigstens eines Überlappungsgewichts, eines zeitlichen Gewichts und eines Rundungsgewichts für einen gewählten Bewegungsvektor und Ableitung eines Wichtungswertes für den gewählten Bewegungsvektor aufgrund wenigstens eines der berechneten Gewichte.
  19. Transcodierverfahren nach Anspruch 16, wobei der Schritt der Wichtung des ersten und des zweiten Bewegungsvektors folgende Schritte enthält: Berechnung wenigstens eines Überlappungsgewichts, eines zeitlichen Gewichts und eines Rundungsgewichts für einen gewählten Bewegungsvektor und Ableitung von Wichtungswerten für Komponenten x und y des gewählten Bewegungsvektors aufgrund wenigstens eines der berechneten Gewichte.
  20. Transcodierverfahren nach Anspruch 16, wobei der Eingangs-Codierparameter wenigstens einer einer Gruppe ist, die aus einer Bild (GOP)- Struktur, einer Bildgröße, einer Bitrate, einem Vollbildformat, einem Halbbildformat, einen progressiven Folge und einer verschachtelten Folge besteht.
  21. Transcodierverfahren nach Anspruch 16, wobei der Ausgangs-Codierparameter wenigstens einer einer Gruppe ist, die eine Bild (GOP)-Struktur, eine Bildgröße, eine Bitrate, ein Vollbildformat, ein Halbbildformat, eine progressive Folge und eine verschachtelte Folge enthält.
  22. Transcodierverfahren nach Anspruch 16, wobei der erste und der zweite Bewegungsvektor erste und zweite Bewegungsvektor-Gruppen sind.
DE69908562T 1998-02-20 1999-02-02 Bewegungsvektorenextrapolation zur transkodierung von videosequenzen Expired - Lifetime DE69908562T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US27140 1998-02-20
US09/027,140 US6058143A (en) 1998-02-20 1998-02-20 Motion vector extrapolation for transcoding video sequences
PCT/US1999/002318 WO1999043162A1 (en) 1998-02-20 1999-02-02 Motion vector extrapolation for transcoding video sequences

Publications (2)

Publication Number Publication Date
DE69908562D1 DE69908562D1 (de) 2003-07-10
DE69908562T2 true DE69908562T2 (de) 2004-04-29

Family

ID=21835928

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69908562T Expired - Lifetime DE69908562T2 (de) 1998-02-20 1999-02-02 Bewegungsvektorenextrapolation zur transkodierung von videosequenzen

Country Status (10)

Country Link
US (1) US6058143A (de)
EP (1) EP1057341B1 (de)
JP (1) JP4514081B2 (de)
KR (1) KR100515199B1 (de)
CN (1) CN1245029C (de)
AU (1) AU2578799A (de)
BR (1) BR9908063A (de)
DE (1) DE69908562T2 (de)
RU (1) RU2251820C2 (de)
WO (1) WO1999043162A1 (de)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339656B1 (en) * 1997-12-25 2002-01-15 Matsushita Electric Industrial Co., Ltd. Moving picture encoding decoding processing apparatus
JPH11275592A (ja) * 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
US6466623B1 (en) * 1998-03-27 2002-10-15 Industrial Technology Research Institute Method and apparatus for motion estimation for high performance transcoding
US6477706B1 (en) 1998-05-01 2002-11-05 Cogent Technology, Inc. Cable television system using transcoding method
US6128047A (en) * 1998-05-20 2000-10-03 Sony Corporation Motion estimation process and system using sparse search block-matching and integral projection
GB2339101B (en) * 1998-06-25 2002-09-18 Sony Uk Ltd Processing of compressed video signals using picture motion vectors
EP1046303A1 (de) 1998-09-29 2000-10-25 Koninklijke Philips Electronics N.V. Umwandlung von kodierten videodaten
US6310915B1 (en) * 1998-11-20 2001-10-30 Harmonic Inc. Video transcoder with bitstream look ahead for rate control and statistical multiplexing
US6434197B1 (en) * 1999-01-07 2002-08-13 General Instrument Corporation Multi-functional transcoder for compressed bit streams
JP3855522B2 (ja) * 1999-02-23 2006-12-13 松下電器産業株式会社 動画変換装置
US6567557B1 (en) * 1999-12-10 2003-05-20 Stmicroelectronics, Inc. Method for preventing dual-step half-pixel motion compensation accumulation errors in prediction-rich MPEG-2 sequences
DE69942157D1 (de) * 1999-05-13 2010-04-29 St Microelectronics Asia Adaptiver bewegungsschätzer
EP1067798A3 (de) * 1999-06-30 2005-11-30 Media Glue Corporation Vorrichtung, Verfahren und Computerprogrammprodukt zur Transkodierung einer kodierten Bewegtbildfolge
US6300973B1 (en) * 2000-01-13 2001-10-09 Meir Feder Method and system for multimedia communication control
CN101035277A (zh) * 2000-03-13 2007-09-12 索尼公司 产生压缩的代码转换提示元数据的方法和设备
KR100796177B1 (ko) * 2000-04-18 2008-01-21 코닌클리케 필립스 일렉트로닉스 엔.브이. 공동 비트율 트랜스코딩의 비트율 할당
US7168069B1 (en) * 2000-07-12 2007-01-23 Stmicroelectronics, Inc. Dynamic generation of multimedia code for image processing
US6754270B1 (en) 2000-09-29 2004-06-22 Lucent Technologies, Inc. Encoding high-definition video using overlapping panels
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US7266148B2 (en) * 2001-01-05 2007-09-04 Lg Electronics Inc. Video transcoding apparatus
EP1231794A1 (de) * 2001-02-09 2002-08-14 STMicroelectronics S.r.l. Verfahren, System und Rechnerprogram zur Abänderung der Auflösung von MPEG Datenströmen
DE10119214A1 (de) * 2001-04-19 2002-10-24 Highlight Comm Ag Pfaeffikon Verfahren zum Komprimieren von Videodaten
US7266150B2 (en) 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
KR100440953B1 (ko) * 2001-08-18 2004-07-21 삼성전자주식회사 영상 압축 비트 스트림의 트랜스코딩 방법
US7236529B2 (en) * 2001-10-30 2007-06-26 Industrial Technology Research Institute Methods and systems for video transcoding in DCT domain with low complexity
KR100460950B1 (ko) * 2001-12-18 2004-12-09 삼성전자주식회사 트랜스코더 및 트랜스코딩 방법
US7216295B2 (en) * 2001-12-20 2007-05-08 Canon Kabushiki Kaisha Method of automatic production of image presentations
US7190723B2 (en) * 2002-03-27 2007-03-13 Scientific-Atlanta, Inc. Digital stream transcoder with a hybrid-rate controller
US7295610B2 (en) * 2002-03-27 2007-11-13 Scientific-Atlanta, Inc. Hybrid rate control in a digital stream transcoder
US7236521B2 (en) * 2002-03-27 2007-06-26 Scientific-Atlanta, Inc. Digital stream transcoder
JP4193406B2 (ja) * 2002-04-16 2008-12-10 三菱電機株式会社 映像データ変換装置および映像データ変換方法
US7362374B2 (en) * 2002-08-30 2008-04-22 Altera Corporation Video interlacing using object motion estimation
US7636481B2 (en) * 2002-10-09 2009-12-22 Sony Corporation Image processing apparatus, method, storage medium, and program for compressing an input image using a motion vector that is detected based on stored position information of pixels
JP4003128B2 (ja) * 2002-12-24 2007-11-07 ソニー株式会社 画像データ処理装置および方法、記録媒体、並びにプログラム
EP1455534A1 (de) * 2003-03-03 2004-09-08 Thomson Licensing S.A. Skalierbare Kodierung und Dekodierung von digitalen Zeilensprungvideosignalen
US6993073B2 (en) * 2003-03-26 2006-01-31 James Foong Optimization software module and method for video compression under MPEG
US7457438B2 (en) * 2003-12-23 2008-11-25 Genesis Microchip Inc. Robust camera pan vector estimation using iterative center of mass
KR101196429B1 (ko) * 2004-03-12 2012-11-01 삼성전자주식회사 동영상 트랜스코딩 방법 및 그 장치, 이에 사용되는움직임 벡터 보간방법
US7965774B2 (en) * 2006-01-06 2011-06-21 International Business Machines Corporation Method for visual signal extrapolation or interpolation
US7916791B2 (en) * 2006-06-16 2011-03-29 International Business Machines Corporation Method and system for non-linear motion estimation
US8250618B2 (en) 2006-09-18 2012-08-21 Elemental Technologies, Inc. Real-time network adaptive digital video encoding/decoding
FR2908585B1 (fr) * 2006-11-15 2008-12-26 Canon Kk Procede et dispositif de transmission de donnees video.
US8494053B2 (en) * 2007-01-03 2013-07-23 International Business Machines Corporation Method and apparatus of temporal filtering for side information interpolation and extrapolation in Wyner-Ziv video compression systems
US8233527B2 (en) 2007-05-11 2012-07-31 Advanced Micro Devices, Inc. Software video transcoder with GPU acceleration
US8861591B2 (en) * 2007-05-11 2014-10-14 Advanced Micro Devices, Inc. Software video encoder with GPU acceleration
US8184715B1 (en) 2007-08-09 2012-05-22 Elemental Technologies, Inc. Method for efficiently executing video encoding operations on stream processor architectures
EP2061248A1 (de) * 2007-11-13 2009-05-20 IBBT vzw Verfahren und Vorrichtung für Bewegungsschätzung und -ausgleich
US8121197B2 (en) * 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
JP4296218B1 (ja) * 2008-02-21 2009-07-15 シャープ株式会社 映像表示装置
CN102742276B (zh) 2010-02-09 2016-08-03 日本电信电话株式会社 运动向量预测编码方法、运动向量预测解码方法、活动图像编码装置、活动图像解码装置及其程序
BR112012019671A2 (pt) * 2010-02-09 2019-09-24 Nippon Telegraph & Telephone método de codificação de previsão de vetor de movimento, método de decodificação de previsão de vetor de movimento, aparelho de codificação de gravura em movimento, aparelho de decodificação de gravura em movimento e programas dos mesmos.
CA2788954A1 (en) 2010-02-09 2011-08-18 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
WO2013006386A1 (en) * 2011-07-01 2013-01-10 General Instrument Corporation Motion vector prediction design simplification
US9369723B2 (en) 2011-07-14 2016-06-14 Comcast Cable Communications, Llc Preserving image quality in temporally compressed video streams
EA016695B1 (ru) * 2011-09-01 2012-06-29 Закрытое Акционерное Общество "Импульс" Способ уменьшения шумов в видеоизображении
RU2487489C2 (ru) * 2011-10-18 2013-07-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Способ поиска векторов перемещений в динамических изображениях
CN104041041B (zh) 2011-11-04 2017-09-01 谷歌技术控股有限责任公司 用于非均匀运动向量栅格的运动向量缩放
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
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
US9521176B2 (en) 2014-05-21 2016-12-13 Sony Corporation System, method, and computer program product for media publishing request processing

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3930964A1 (de) * 1989-09-15 1991-03-28 Thomson Brandt Gmbh Fernsehuebertragungssystem
DE59209063D1 (de) * 1991-04-25 1998-01-22 Thomson Brandt Gmbh Verfahren zur kompatiblen übertragung, decodierung oder aufzeichnung von progressiv abgetasteten bildsignalen im zwischenzeilenformat
NL9301358A (nl) * 1993-08-04 1995-03-01 Nederland Ptt Transcodeerinrichting.
US5537440A (en) * 1994-01-07 1996-07-16 Motorola, Inc. Efficient transcoding device and method
US5541852A (en) * 1994-04-14 1996-07-30 Motorola, Inc. Device, method and system for variable bit-rate packet video communications
US5512953A (en) * 1994-08-09 1996-04-30 At&T Corp. Method and apparatus for conversion of compressed bit stream representation of video signal
US5708473A (en) * 1994-08-30 1998-01-13 Hughes Aircraft Company Two stage video film compression method and system
JP3293369B2 (ja) * 1994-10-12 2002-06-17 ケイディーディーアイ株式会社 画像情報の再符号化方法及び装置
US5600646A (en) * 1995-01-27 1997-02-04 Videoserver, Inc. Video teleconferencing system with digital transcoding
EP0755610B1 (de) * 1995-02-15 2000-04-12 Koninklijke Philips Electronics N.V. Vorrichtung und verfahren zur transkodierung von videosignalen
US5530484A (en) * 1995-05-19 1996-06-25 Thomson Multimedia S.A Image scanning format converter suitable for a high definition television system
SE515535C2 (sv) * 1996-10-25 2001-08-27 Ericsson Telefon Ab L M En transkoder

Also Published As

Publication number Publication date
CN1293872A (zh) 2001-05-02
WO1999043162A1 (en) 1999-08-26
US6058143A (en) 2000-05-02
BR9908063A (pt) 2000-10-31
EP1057341B1 (de) 2003-06-04
CN1245029C (zh) 2006-03-08
AU2578799A (en) 1999-09-06
EP1057341A1 (de) 2000-12-06
DE69908562D1 (de) 2003-07-10
RU2251820C2 (ru) 2005-05-10
KR100515199B1 (ko) 2005-09-16
JP4514081B2 (ja) 2010-07-28
KR20010041095A (ko) 2001-05-15
JP2002504789A (ja) 2002-02-12

Similar Documents

Publication Publication Date Title
DE69908562T2 (de) Bewegungsvektorenextrapolation zur transkodierung von videosequenzen
DE69530336T2 (de) Bewegungskompensation für digitale Videosignale mit Zeilensprung
DE69738264T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE69824554T2 (de) Verfahren und anordnung zum erzeugen eines standbildes mit hoher auflösung
DE69928010T2 (de) Erhöhte videowiedergabebildfrequenz in videoanwendungen
EP0259562B1 (de) Verfahren zur bewegungskompensierten Bild-zu-Bild-Prädiktionscodierung
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE69628467T2 (de) Videokodierung- und dekodierungsvorrichtung
DE69735756T2 (de) Dynamische steuerung der kodierrate in einem blockbasierten videokodierungssystem
DE69725186T2 (de) Sprite-gestütztes videocodiersystem
DE69836473T2 (de) Bewegungsschätzung und bewegungskompensierte interpolation
DE60015566T2 (de) Verfahren und vorrichtung zur komprimierung eines bewegungsvektorfeldes
DE69827548T2 (de) Anordnung zur Vorverarbeitung für MPEG-2-Kodierung
DE602004002455T2 (de) Bewegungsvektorschätzung durch adaptive zeitliche Vorhersage
DE69632232T2 (de) Verfahren und Vorrichtung zur Komprimierung von Videoinformationen mit bewegungsabhängiger Prädiktion
DE60214837T2 (de) Erkennung und genaue skalierung bewegter bereiche mit zeilensprung in mpeg-2 komprimiertem video
DE69633815T2 (de) Vorrichtung zur Codierung und Decodierung eines digitalen Bildsignales
DE19826313A1 (de) Vorrichtung und Verfahren zum Ändern der Vollbildfrequenz
DE19739266B4 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
DE19825042A1 (de) Verfahren zur Bewegungsvektorcodierung bei MPEG-4
DE19618984B4 (de) Verfahren zur Bewegungsbewertung in Bilddaten sowie Vorrichtung zur Durchführung dieses Verfahrens
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
DE19816898B4 (de) Vorrichtung und Verfahren zum adaptiven Codieren eines Bildsignals
DE60031014T2 (de) Verfahren zur bewegungsschätzung zwischen zwei bildern mit verwaltung der wendung einer masche und entsprechendes kodierungsverfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition