DE60003070T2 - Adaptive bewegungsvektorfeldkodierung - Google Patents

Adaptive bewegungsvektorfeldkodierung Download PDF

Info

Publication number
DE60003070T2
DE60003070T2 DE60003070T DE60003070T DE60003070T2 DE 60003070 T2 DE60003070 T2 DE 60003070T2 DE 60003070 T DE60003070 T DE 60003070T DE 60003070 T DE60003070 T DE 60003070T DE 60003070 T2 DE60003070 T2 DE 60003070T2
Authority
DE
Germany
Prior art keywords
motion
sub
vector
coefficients
image
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
DE60003070T
Other languages
English (en)
Other versions
DE60003070D1 (de
Inventor
Marta Karczewicz
Jani Lainema
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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
Priority claimed from US09/371,641 external-priority patent/US6735249B1/en
Application filed by Nokia Oyj filed Critical Nokia Oyj
Application granted granted Critical
Publication of DE60003070D1 publication Critical patent/DE60003070D1/de
Publication of DE60003070T2 publication Critical patent/DE60003070T2/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft die Videokomprimierung. Die Erfindung betrifft insbesondere das Codieren eines geschätzten Bewegungsfeldes und das Erzeugen von Bewegungsinformationen in einer Videosequenz.
  • HINTERGRUND DER ERFINDUNG
  • Die bewegungskompensierte Vorhersage ist ein Grundelement der meisten Videocodierungsschemata. Um die Funktionsweise der bewegungskompensierten Vorhersage zu beschreiben, sollte bekannt werden, daß jedes digitale Bild Gruppen von Bildelementen (Pixel) enthält, die bestimmten Teilen des Bildes entsprechen. Jedes Bildelement kann z. B. als die Intensitäten von Rot, Grün und Blau (im RGB-Farbsystem) oder als die Intensitäten der Luminanz und von zwei Chrominanz-Komponenten repräsentiert werden.
  • 1 zeigt veranschaulichend zwei Segmente Sk und Sl eines Bildes, wovon jedes eine Gruppe von Bildelementen 10 bis 15 an alten Orten, d. h. in einem vorherigen Bild der Bildsequenz zeigt. Die neuen Orte dieser Bildelemente in einem momentanen Bild sind als Positionen 10' bis 15' dargestellt. Die Änderung ihrer Orte, d. h. ihre Bewegung definiert entsprechende Bewegungsvektoren v1 k bis v3 k und v1 l bis v3 l der Bildelemente in diesen Segmenten. Im einfachsten Fall sind diese Segmente Quadrate oder Rechtecke. Alternativ und in Legacy-Schemata können sie außerdem eine willkürliche Form besitzen, wie in 1 gezeigt ist.
  • 2 ist eine schematische Darstellung eines Codierers zum Komprimieren von Videosequenzen unter Verwendung der Bewegungskompensation. Wesentliche Elemente im Codierer sind ein Block 1 "bewegungskompensierte Vorhersage", ein Block 2 "Bewegungsfeldschätzung" und ein Bewegungsfeld-Codierer 3. Das Funktionsprinzip von bewegungskompensierten Videocodierern besteht darin, den Vorhersagefehler En(x, y), der eine Differenz zwischen dem ankommenden Bild In(x, y), das codiert ist und als das momentane Bild bezeichnet wird, und einem Vorhersagebild În(x, y) zu komprimieren, wobei gilt: En(x, y) = In(x, y) – În(x, y) (1)
  • Das Vorhersagebild În(x, y) wird durch den Block 1 "bewegungskompensierte Vorhersage" konstruiert und wird unter Verwendung von Bildelementwerten des vorherigen Bildes oder irgendeines anderen, bereits codierten Bildes, das mit Ĩre f(x, y) bezeichnet wird und ein Referenzbild genannt wird, und den Bewegungsvektoren von Bildelementen zwischen dem momentanen Bild und dem Referenzbild aufgebaut. Bewegungsvektoren werden durch den Block 2 "Bewegungsfeldschätzung" berechnet und das resultierende Vektorfeld wird anschließend auf irgendeine Weise codiert, bevor es als eine Eingabe an den Vorhersageblock 1 bereitgestellt wird. Das Vorhersagebild lautet dann:

    În(x, y) = Ĩref[x +
    Figure 00020001
    x(x, y), y +
    Figure 00020002
    y(x, y) (2)

    wobei
    Figure 00020003
    x(x, y) und
    Figure 00020004
    y(x, y) die Werte der horizontalen und vertikalen Verschiebung eines Bildelements am Ort (x, y) sind und das Zahlenpaar
    Figure 00020005
    x(x, y),
    Figure 00020006
    y(x, y) als Bewegungsvektor dieses Bildelements bezeichnet wird. Die Menge von Bewegungsvektoren aller Bildelemente im momentanen Bild In(x, y) wird als Bewegungsvektorfeld bezeichnet. Das codierte Bewegungsvektorfeld wird als Bewegungsinformation gemeinsam mit den codierten Vorhersagefehlerinformationen an den Decodierer übertragen.
  • In dem Decodierer, der in 3 gezeigt ist, wird das momentane Ausgangsbild Ĩn(x, y) rekonstruiert, indem die Vorhersage des Bildelements În(x, y) im Referenzbild Ĩref(x, y) gefunden wird und der decodierte Vorhersagefehler addiert wird. Der Block 21 "bewegungskompensierte Vorhersage" erzeugt das Vorhersagebild unter Verwendung der empfangenen Bewegungsinformationen und des Referenzbildes Ĩref(x, y). Der Vorhersagefehler-Decodierer 22 erzeugt den decodierten Vorhersagefehler Ên(x, y) zum Addieren zum Vorhersagebild, wobei das Ergebnis das momentane Ausgangsbild Ĩn(x, y) ist.
  • Die allgemeine Aufgabe der bewegungskompensierten (MC) Vorhersage besteht darin, den Umfang der Informationen, die an den Decodierer übertragen werden müssen, gemeinsam mit dem Umfang des gemessenen Vorhersagefehlers, z. B. als die Energie von En(x, y) minimal zu machen.
  • Das Dokument "Representation of motion information for image coding" von H. Nguen, E. Dubois, Proc. Picture Coding Symposium '90, Cambridge, Massachusetts, 18.–26. März 1990, S. 841–845 gibt einen Überblick der Bewegungsfeld-Codierungstechniken. Als Faustregel gilt, eine Verringerung des Vorhersagefehlers erfordert ein intelligenteres Bewegungsfeldmodell, d. h. es müssen für seine Codierung mehr Bits verwendet werden. Deswegen besteht das Gesamtziel der Videocodierung darin, das Bewegungsvektorfeld so kompakt wie möglich zu codieren, während der Vorhersagefehler so klein wie möglich gehalten wird.
  • Der Block 2 "Bewegungsfeldschätzung", der in 2 gezeigt ist, berechnet Bewegungsvektoren aller Bildelemente eines vorgegebenen Bildsegments, wobei der Vorhersagefehler in diesem Segment, z. B. der quadratische Vorhersagefehler minimal gemacht wird.
  • Wegen der sehr großen Anzahl von Bildelementen in dem Bild ist es nicht effektiv, für jedes Bildelement einen separaten Bewegungsvektor zu übertragen. Statt dessen wird in den meisten Videocodierungsschemata das momentane Bild in größere Bildsegmente unterteilt, so daß alle Bewegungsvektoren des Segments durch wenige Parameter beschrieben werden können. Bildsegmente können quadratische Blöcke sein, es werden z. B. Blöcke mit 16 × 16 und 8 × 8 Bildelementen in Codecs gemäß internationalen Standards ISO/IEC MPEG-1, MPEG-2, MPEG-4 oder ITU-T H.261 und H.263 verwendet oder sie können willkürlich geformte Bereiche enthalten, die z. B. durch einen Segmentierungs-Algorithmus erhalten werden. In der Praxis enthalten Segmente wenigstens einige Zehn Bildelemente.
  • Um die Bewegungsvektoren der Bildelemente in einem Segment kompakt darzustellen, sollen die Bewegungsvektoren durch eine Funktion von wenigen Parametern beschrieben werden. Eine derartige Funktion wird als Bewegungsvektorfeldmodell bezeichnet. Eine bekannte Gruppe von Modellen ist ein lineares Bewegungsmodell, bei dem die Bewegungsvektoren durch Linearkombinationen von Bewegungsfeld-Basisfunktionen dargestellt werden. Bei derartigen Modellen werden die Bewegungsvektoren von Bildsegmenten durch eine allgemeine Formel beschrieben:
    Figure 00030001
    wobei die Parameter ci als Bewegungskoeffizienten bezeichnet werden und an den Decodierer übertragen werden. Das Bewegungsmodell für ein Segment basiert im allgemeinen auf N + M Bewegungskoeffizienten. Die Funktionen fi(x, y) werden als Bewegungsfeld-Basisfunktionen bezeichnet und sind sowohl dem Codierer als auch den Decodierer bekannt. Bekannte Bewegungsfeld-Schätztechniken unterscheiden sich sowohl in bezug auf das Modell, das verwendet wird, um das Bewegungsfeld zu repräsentieren, als auch im Algorithmus, um eine gewählte Größe des Vorhersagefehlers minimal zu machen.
  • Sowohl der Umfang als auch die Komplexität der Bewegung ist zwischen Bildern und zwischen Segmenten unterschiedlich. In einem Fall kann ein Teil des Bildinhalts gedreht, verwunden und von einer Seite des Bildes zur gegenüberliegenden Seite des Bildes verschoben sein. In einem anderen Fall kann sich dagegen eine Videokamera langsam um ihre vertikale Achse drehen, so daß sich die Bildelemente in einer horizontalen Ebene leicht bewegen. Es ist deswegen nicht effektiv, immer alle N + M Bewegungskoeffizienten pro Segment zu verwenden.
  • Eine Möglichkeit, die Bewegungsinformationen zu reduzieren, besteht darin, einfach die Anzahl der Bewegungskoeffizienten des Bewegungsfeldmodells, das die Bewegung von Bildelementorten von einem Bild zum anderen modelliert, zu reduzieren. Der Vorhersagefehler wird jedoch größer, wenn das Bewegungsfeldmodell gröber wird.
  • Es ist für jedes Segment erforderlich, die minimale Anzahl von Bewegungskoeffizienten zu bestimmen, die einen zufriedenstellend kleinen Vorhersagefehler erzielt. Der Vorgang einer derartigen adaptiven Auswahl der Bewegungskoeffizienten wird als Bewegungskoeffizientenentfernung bezeichnet. Dieser Vorgang wird im Codierer durch den Block 3 "Bewegungsfeld-Codierung" ausgeführt, siehe 2. Er wird nach der Bewegungsfeldschätzung ausgeführt, die durch den Block 2 "Bewegungsfeldschätzung" ausgeführt wird.
  • In Zukunft wird die digitale Videoübertragung zwischen drahtlosen Mobilterminals möglich sein. Derartige Terminals besitzen gewöhnlich einen begrenzten Platz für zusätzliche Komponenten und werden durch eine Batterie betrieben, so daß sie wahrscheinlich keine Rechenkapazität beinhalten, die mit der von feststehenden Vorrichtungen, wie etwa Desktop-Computer, vergleichbar ist. Es ist deswegen wesentlich, daß die Bewegungsfeld-Codierung, die in einem Video codierer ausgeführt wird, rechentechnisch einfach ist, so daß sie für den Prozessor der Vorrichtung keine übermäßige Belastung darstellt. Außerdem sollte das Modell des codierten Bewegungsfeldes rechentechnisch einfach sein, um eine spätere Decodierung in einem Decodierer des empfangenden Terminals (Mobilterminal) zu vereinfachen.
  • Verfahren zum Ausführen der Bewegungsschätzung mit verschiedenen Modellen und zum Auswählen des am besten geeigneten Modells werden in den Dokumenten "Region-based motion estimation using deterministic relaxation schemes for image sequence coding", von H. Nicolas und C. Labit, Proc. 1994, International Conference on Acoustics, Speech and Signal Processing, S. III265–268 und "Efficient region-based motion estimation and symmetry oriented segmentation for Image sequence coding" von P. Cicconi und H. Nicolas, IEEE Tran. on Circuits and Systems for Video Technology, Bd. 4, Nr. 3, Juni 1994, S. 357–364 vorgeschlagen. Die Verfahren versuchen, das Bewegungsmodell in Abhängigkeit von der Komplexität der Bewegung anzupassen, indem die Bewegungsschätzung mit verschiedenen Modellen ausgeführt und das am besten geeignete Modell ausgewählt wird. Der Hauptnachteil dieser Modelle ist ihre hohe rechentechnische Komplexität und die kleine Anzahl von unterschiedlichen Bewegungsfeldmodellen, die in der Praxis getestet werden können.
  • Ein weiteres Verfahren ist in WO 97/16025 beschrieben. Ein Video-Codec enthält einen Bewegungsfeld-Codierer, der die Anzahl der Bewegungskoeffizienten eines Bewegungsvektorfeldes minimal macht. In dem Codierer enthält ein erster Block Mittel zum Bilden einer neuen Matrixdarstellung des Bewegungsvektorfeldes. Das neue codierte Bewegungsvektorfeld ist linear. Ein zweiter Hauptblock enthält Mittel zum Verschmelzen von benachbarten Segmenten, wenn der kombinierte Segmentbereich unter Verwendung eines gemeinsamen Bewegungsfeldes vorhergesagt werden kann. Die verschmolzenen Informationen werden an einen Decodierer übertragen. Ein dritter Hauptblock enthält Mittel zur Entfernung von Bewegungsfeld-Basisfunktionen. Nach jedem Entfernungsschritt wird der quadratische Vorhersagefehler berechnet und die Entfernung wird fortgesetzt, bis die Größe des Fehlers nicht mehr annehmbar ist. Die endgültigen Koeffizienten werden durch das Lösen einer linearen Matrixgleichung berechnet. Im Ergebnis wird für jedes Segment eine verringerte Anzahl von Bewegungskoeffizienten erreicht. Die Bewegungskoeffizienten werden an den Decodierer übertragen. Diese Lösung ermöglicht, daß Bewegungskoeffizienten entnommen werden, bis ein bestimmter Schwellenwert des Vorhersagefehlers erreicht wird.
  • Es besteht jedoch trotzdem ein Bedarf, die Komplexität des Vorgangs der Bewegungscodierung sowie den Umfang der Bewegungsinformationen, die an den Decodierer gesendet werden muß, zu reduzieren, während eine minimale Verschlechterung der Qualität eines decodierten Bildes bewirkt wird.
  • Es ist eine Aufgabe der vorliegenden Erfindung, den Umfang der Bewegungsinformationen um einen großen Faktor zu reduzieren, ohne den Rekonstruktionsfehler stark zu vergrößern.
  • Es ist eine weitere Aufgabe, die Komplexität des Bewegungsfeld-Codierers gering zu halten, um eine praktische Implementierung unter Verwendung verfügbarer Signalprozessoren oder Universal-Mikroprozessoren zu ermöglichen.
  • Zusammenfassung der Erfindung
  • Die Erfindung ist durch die beigefügten Ansprüche definiert.
  • Durch die Nutzung des Vorteils der vorhergesagten Bewegungskoeffizienten in einem Bewegungsanalysator, der Teil des Bewegungsfeld-Codierers eines Videocodierers ist, wird eine bessere Leistung von Rate und Verzerrung als bei bisher bekannten Lösungen erreicht.
  • Ferner kann ein Block "Bewegungskoeffizientenentfernung" verwendet werden, um mehrere alternative Kombinationen der Bewegungskoeffizienten für die Verwendung bei der weiteren Optimierung der Leistung von Rate und Verzerrung berechnet werden. Der Block "Bewegungskoeffizientenentfernung" ist vorzugsweise geeignet, bestimmte Kostenfunktionen zu implementieren, um eine Kombination zu finden, bei der die endgültige Rate/Verzerrung optimiert ist.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • 1 ist eine schematische Darstellung eines Bildes, das in Segmente unter teilt ist;
  • 2 ist eine schematische Darstellung eines Codierers gemäß dem Stand der Technik;
  • 3 ist eine schematische Darstellung eines Decodierers gemäß dem Stand der Technik;
  • 4 ist ein Bewegungsfeld-Codierer gemäß einer Ausführungsform der Erfindung;
  • 5 ist ein Bewegungsanalysator gemäß einer Ausführungsform der Erfindung;
  • 6 ist eine schematische Darstellung einer Mobilstation gemäß einer Ausführungsform der Erfindung; und
  • 7 ist eine schematische Darstellung eines Mobiltelekommunikationsnetzes gemäß einer Ausführungsform der Erfindung.
  • GENAUE BESCHREIBUNG
  • Die 1 bis 3 wurden bereits oben beschrieben.
  • Im folgenden wird ein Überblick über die Erfindung gegeben, um die weitere Beschreibung von verschiedenen Ausführungsformen der Erfindung zu vereinfachen.
  • Gemäß einer bevorzugten Ausführungsform der Erfindung umfaßt der Bewegungsfeld-Codierer eines Videocodierers zwei Hauptblöcke.
  • Der erste Hauptblock wird als Bewegungsanalysator 32, 4 und 5, bezeichnet. Seine Aufgabe besteht darin, eine neue Darstellung des eingegebenen Bewegungsfeldes, das durch den Block 2 "Bewegungsfeldschätzung" von 2 erzeugt wird, zu finden. Diese neue Darstellung wird an den zweiten Hauptblock, einen Block 4 "Bewegungskoeffizientenentfernung" von 4 angelegt. Die Operationen des Bewegungsanalysators enthalten mehrere Schritte, die Matrixoperationen umfassen: In einem ersten Schritt wird die Abhängigkeit des Vorhersagebildes von Bewegungsvektoren unter Verwendung eines Approximationsverfahrens linearisiert. Im zweiten Schritt werden eine Matrix Ak und ein Vektor dk konstruiert, um den quadratischen Vorhersagefehler minimal zu machen. Im dritten Schritt wird ein diagonales System aus linearen Gleichungen auf der Grundlage der Faktoren von Ak aufgebaut, um eine flexible Bewegungsdarstellung in der Form einer diagonalen Matrix Rk und eines Hilfsvektors zk zu erzeugen.
  • Der Block 34 "Bewegungskoeffizientenentfernung" empfängt die diagonale Matrix Rk und den Hilfsvektor zk, die durch den Block "Bewegungsanalysator" erzeugt werden. Die Bewegungsvektoren eines Segments werden durch eine Anzahl Bewegungskoeffizienten repräsentiert. Für jedes dieser Segmente bestimmt der Block 34 "Bewegungskoeffizientenentfernung" ob es möglich ist, das Bewegungsfeldmodell zu vereinfachen, ohne eine übermäßige Vergrößerung des Rekonstruktionsfehlers zu bewirken. Typischerweise werden einige Basisfunktionen aus dem Bewegungsmodell entfernt, wodurch weniger Koeffizienten erforderlich sind, um ein solches vereinfachtes Bewegungsfeldmodell zu beschreiben.
  • Der Block 34 "Bewegungskoeffizientenentfernung" modifiziert Matrixgleichungen, die die diagonale Matrix Rk enthalten, indem eine Spalte der diagonalen Matrix Rk entfernt und das neue System in Dreieckform gebildet wird. Im Ergebnis ist in den Gleichungen ein Bewegungskoeffizient weniger vorhanden und vom Vektor zk wurde ein Term entfernt. Diese Operation entspricht dem Entfernen einer Basisfunktion aus dem Bewegungsfeldmodell. Um ein Bewegungsfeldmodell zu bestimmen, das eine gewählte Vorsagefehlergröße oder eine Kostenfunktion optimiert, werden diese Operationen wiederholt, bis in dem Bewegungsfeldmodell keine Basisfunktionen mehr vorhanden sind. Jedes Mal, wenn eine Basisfunktion entfernt wird, wird eine neue Menge aus Bewegungskoeffizienten bewertet, indem die Matrixgleichungen gelöst werden. Das kann durch Verwendung eines der wohlbekannten Algorithmen erfolgen, z. B. die Rücksubstitution. Die endgültige Menge aus Bewegungsparametern, d. h. die ausgewählt wird, um die Bewegung eines bestimmten Segments zu repräsentieren, ist die Menge, die die Kostenfunktion minimal macht. Die Kostenfunktion ist vorzugsweise eine gewichtete Summe aus einem Maß des Vorhersagefehlers und einem Maß der Informationen, die für das Decodieren des Bildes erforder lich sind.
  • Für jedes verarbeitete Segment gibt der Block 34 "Bewegungskoeffizientenentfernung" Auswahlinformationen aus, die die Basisfunktionen definieren, die aus dem Bewegungsfeldmodell entfernt wurden. Außerdem gibt er neue Bewegungskoeffizienten aus, die den restlichen Basisfunktionen entsprechen. Sowohl die Auswahlinformationen als auch die neuen Bewegungskoeffizienten werden an den Decodierer übertragen.
  • 4 veranschaulicht einen Bewegungsfeld-Codierer 3 gemäß einer Ausführungsform der Erfindung. Er entspricht dem Block 3 von 2. Er empfängt das Referenzbild Ĩref(x, y), das momentane Bild Ĩn(x, y), vorhergesagte Bewegungskoeffizienten, falls diese vorhanden sind, und das Bewegungsvektorfeld [Δx(x, y), Δy(x, y)], das vom Block 2 "Bewegungsfeldschätzung" von 2 erzeugt wird.
  • Der Ausgang des Videocodierers enthält ein komprimiertes Bild, das in Segmente unterteilt ist, die durch Bewegungskoeffizienten für ein Segment Sk definiert sind, das P Bildelemente mit den Koordinaten (xi, yi), i = 1, 2, ..., P enthält. Die Aufgabe des Bewegungsfeld-Codierers besteht darin, die Bewegungskoeffizienten
    Figure 00090001
    eines komprimierten Bewegungsvektorfeldes [
    Figure 00090002
    x(·),
    Figure 00090003
    y(·)] zu finden wobei die Bewegungsvektoren durch ein lineares Bewegungsmodell beschrieben werden und das Feld die folgende Form besitzt:
    Figure 00090004
    so daß es eine ausgewählte Kostenfunktion, z. B. die Lagrangian-Kosten, minimal macht: L(Sk) = D(Sk) + λR(Sk) (5)wobei die Verzerrung D(Sk) der quadratische Fehler zwischen dem ursprünglichen und dem codierten Segment ist. Die Rate R(Sk) ist gleich der Anzahl von Bits, die benötigt werden, um das Segment zu codieren, und der Parameter λ ist ein im voraus definierter Koeffizient, der den Kompromiß zwischen der Qualität des codierten Segments und der Anzahl von Bits, die für die Komprimierung des Segments benötigt werden, definiert.
  • Um diese Aufgabe zu erfüllen, umfaßt der Bewegungsfeld-Codierer 3 zwei Hauptblöcke, die der Block 32 "Bewegungsanalysator" und der Block 34 "Bewegungskoeffiziententfernung" sind. Die Aufgabe des Bewegungsanalysators 32 besteht darin, eine neue Darstellung des Bewegungsfeldes zu finden. Diese neue Darstellung wird später in dem Block 34 "Bewegungskoeffiziententfernung" verwendet, um Bewegungskoeffizienten für ein vorgegebenes Bildsegment schnell und zuverlässig zu finden. Der Block 34 "Bewegungskoeffiziententfernung" verringert den Umfang der Bewegungsinformationen, die verwendet werden, um das Bewegungsfeld eines Segments zu beschreiben, was ein Anwachsen des quadratischen Vorhersagefehlers zur Folge hat, der definiert ist als
    Figure 00100001
  • Die Funktion des Bewegungsanalysators 32 wird anschließend unter Bezugnahme auf 5 genau beschrieben. Die Funktion des Bewegungsanalysators 32 umfaßt die folgenden Schritte:
  • Schritt 1: Linearisierung des Fehlers, Block 42. Bei diesem Schritt wird das Referenzbild Ĩref(·) in Formel (6) unter Verwendung eines bekannten Approximationsverfahrens näherungsweise so dargestellt, daß seine Abhängigkeit von [Δx(x, y), Δy(x, y)] linear wird. Dann werden die Elemente in der Summe von Formel (6) eine Linearkombination der Bewegungskoeffizienten ci
    Figure 00100002
  • Schritt 2: Bildung von Matrizen, Block 43. Die Minimierung von Formel (7) ist vollständig gleichbedeutend mit der Minimierung des Matrixausdrucks (Ekck – yk)T(Ekck – yk) oder mit der Lösung der folgenden Gleichung: Akck = dk (8)wobei Ak = Ek TEk und dk = Ek Tyk. Der Vektor yk wird im Block 46 gebildet.
  • Figure 00100003
  • Schritt 3: Bildung der Dreieckform und Erzeugen des Ausgangs, Block 44. In diesem Schritt wird die Gleichung (8) unter Verwendung eines bekannten Verfahrens in Dreieckform gebildet, um Ak in ein Produkt aus einer niedrigeren Matrix RkT und ihrer Transponierten Rk zu zerlegen: Ak = Rk TRk (10)
  • Das kann unter Verwendung der Cholesky-Zerlegung ausgeführt werden.
  • Ein Hilfsvektor zk O wird erzeugt, indem Rk Tzk O = dk (11)z. B. unter Verwendung der Rücksubstitution gelöst wird. Der Vektor der Bewegungskoeffizienten ck, der die Formel (7) minimal macht, ist nun der unbekannte Vektor in dem diagonalen System Rkck = zk O (12)und kann bei Bedarf z. B. unter Verwendung der Rücksubstitution ermittelt werden.
  • Die Bewegungskoeffizienten ck können als Summen der vorhergesagten Bewegungskoeffizienten pk und der Verfeinerungsbewegungskoeffizienten rk gegeben sein. Die vorhergesagten Bewegungskoeffizienten werden aus zuvor erzeugten Bewegungskoeffizienten vorhergesagt und die Verfeinerungsbewegungskoeffizienten entsprechen der Differenz zwischen den vorhergesagten Bewegungskoeffizienten und den Bewegungskoeffizienten, die im Block "Bewegungsfeldschätzung" (2) berechnet wurden. In diesem Fall besitzt die Gleichung (12) die Form Rk(rk + pk) = zk O (13)und ein Ausgangsvektor wird erzeugt, indem zk = zk O – Rkpk (14)berechnet wird. Der Block 47 bildet den Term zk O und der Block 45 erzeugt den Term Rkpk. Der Ausgang des folgenden Blocks 34 "Bewegungskoeffiziententfernung" wird an Stelle der Absolutbewegungskoeffizienten zu den Verfeinerungsbewegungskoeffizienten. Andernfalls ist der Ausgangsvektor zk = zk O.
  • Der Block 34 "Bewegungskoeffiziententfernung" empfängt als Eingang die Matrix Rk und den Vektor zk, der durch den Block 32 "Bewegungsanalysator" erzeugt wird. Die Bewegungsvektoren jedes Segments werden durch N + M Bewegungskoeffizienten repräsentiert.
  • Für ein gegebenes Segment Sk bestimmt der Block "Bewegungskoeffiziententfernung", ob es möglich ist, das Bewegungsfeldmodell zu vereinfachen, ohne daß die gewählte Fehlergröße übermäßig anwächst. Ein vereinfachtes Bewegungsfeldmodell wird erhalten, wenn aus dem Modell von Gleichung (3), das im technischen Hintergrund dieser Anmeldung beschrieben wurde, einige Basisfunktionen entfernt werden. Es werden weniger Koeffizienten benötigt, um ein derartiges vereinfachtes Bewegungsfeldmodell zu beschreiben.
  • Der folgende iterative Vorgang wird ausgeführt, um das optimale Bewegungsvektorfeld zu finden.
  • Schritt A: Anfängliche Kostenberechnung. Die Lagrangian-Kosten für das Segment werden für das vollständige Bewegungsmodell bewertet und zusammen mit einer vollständigen Menge aus Bewegungskoeffizienten gespeichert.
  • Schritt B: Ermitteln der Basisfunktion mit dem geringsten Einfluß auf die Vorhersagequalität. Rk n soll eine obere diagonale charakteristische n × n-Matrix, in der n Basisfunktionen verbleiben, und Rk n,i soll dieselbe Matrix, bei der die i-te Spalte entfernt wurde, bezeichnen. Es werden n Mengen aus Gleichungen erzeugt, wobei jeweils die i-te Spalte von der Matrix Rk n entfernt ist und das i-te Element vom Vektor ck n entfernt ist: Rk n,ick n,i = zk n, i = 1, ..., n (15)
  • Alle erzeugten Gleichungen werden in bekannter Weise in Dreieckform gebracht, indem eine Reihe von Multiplikationen der Zeilen mit skalaren Größen ausgeführt werden, woraufhin die Addition der Zeilen folgt, d. h. die Gleichung (15) wird in die folgende Form umgewandelt:
    Figure 00120001
    wobei (qi)2 eine Approximation des Anstiegs des quadratischen Vorhersagefeh lers infolge der Entfernung der i-ten Basisfunktion aus dem Bewegungsmodell ist. Die Spalte, die bei ihrer Entfernung den kleinsten Wert (qi)2 erzielt, ist die Spalte, die bei dieser Iteration entfernt wird, wodurch effektiv bewirkt wird, daß die i-te Basisfunktion aus dem Bewegungsmodell entfernt wird.
  • Schritt C: Entfernen einer Basisfunktion aus dem Modell. Eine neue Matrixgleichung wird aufgestellt, indem die Matrix Rk n,i und der Vektor zk n,i ausgewählt werden, die der zu entfernenden Basisfunktion zugehörig sind, und die letzte Zeile der Matrix und das letzte Element des Vektors in der folgenden Weise entfernt werden:
    Figure 00130001
  • Schritt D: Koeffizientenberechnung. Eine neue Menge aus Bewegungskoeffizienten für die reduzierte Menge aus Basisfunktionen wird berechnet, indem das dreieckförmige System Rk n–1ck n–1 = zk n–1 (18)z. B. durch Rücksubstitution gelöst wird.
  • Schritt E: Kostenberechnung. Die Lagrangian-Kosten für das Segment werden errechnet und gemeinsam mit der Menge aus Bewegungsparametern gespeichert, wenn dieses Modell das bisher beste Modell ist.
  • Schritt F: Endgültige Bewegungsmodellauswahl. Falls noch zu entfernende Basisfunktionen vorhanden sind, werden die Schritte B bis E wiederholt. Wenn aus dem Modell alle Basisfunktionen entfernt worden sind, wird der Ausgang erzeugt. Der Ausgang umfaßt Auswahlinformationen, die beschreiben, welche Basisfunktionen aus dem Bewegungsfeldmodell entfernt werden sollten, sowie neue Bewegungskoeffizienten, die den restlichen Basisfunktionen entsprechen. Sowohl die Auswahlinformationen als auch die Bewegungskoeffizienten werden an den Decodierer übertragen.
  • Der Hauptvorteil der vorliegenden Erfindung gegenüber Lösungen des Standes der Technik liegt in der Fähigkeit, den Umfang der Bewegungsinformationen um einen großen Faktor zu verringern, ohne einen starken Anstieg des Rekonstruktionsfehlers zu bewirken. Außerdem ist die Komplexität des Gesamtsystems gering, wodurch eine praktische Implementierung bei verfügbaren Signalprozessoren oder Universal-Mikroprozessoren möglich ist.
  • Der Block "Bewegungskoeffiziententfernung" ist ein sehr leistungsfähiges Werkzeug zur schnellen Anpassung des Bewegungsmodells an den momentanen Umfang und Typ der Bewegung in der Videoszene. Dieser Block kann verwendet werden, um eine große Anzahl von Bewegungsmodellen mit oder ohne Vorhersage der Bewegungsparameter zu testen. Ein starker Vorteil dieses Schemas besteht darin, daß es den Vorgang der Bewegungsschätzung nicht wiederholen muß, wenn das Bewegungsmodell geändert wird, und es ist somit berechnungstechnisch einfach. Durch die Verwendung der Bewegungsschätzung, der der Bewegungsanalysator folgt, kann der Bewegungsfeld-Codierer für jedes gewünschte Modell des Bewegungsfeldes durch das Lösen von einem System linearer Gleichungen, das berechnungstechnisch sehr einfach ist, neue Bewegungskoeffizienten finden.
  • In der bevorzugten Ausführungsform wird ein orthonormiertes affines Bewegungsvektorfeldmodell mit sechs Koeffizienten verwendet. In der Praxis kann dieses Modell sogar eine sehr komplexe Bewegung in Videosequenzen mit einem hohen Grad der Genauigkeit behandeln und erzielt gute Vorhersageergebnisse.
  • Das affine Bewegungsvektorfeld ist ein Bewegungsmodell, das verwendet werden kann, um Bewegungsvektoren mit einer Menge von Bewegungskoeffizienten näherungsweise zu bestimmen. Das affine Bewegungsmodell ermöglicht eine Beschreibung von verschiedenen Bewegungstypen, einschließlich translierende, rotatorische, zoomende und verwundene Bewegungen. Es enthält sechs Basisfunktionen, wobei die Bewegungsvektoren in diesem Fall im wesentlichen durch eine Summe ersetzt werden können, die sechs Basisfunktionen enthält, die mit Bewegungskoeffizienten multipliziert werden, wobei jeder Bewegungskoeffizient für eine bestimmte Basisfunktion berechnet wird. Die Basisfunktionen selbst sind sowohl dem Codierer als auch dem Decodierer bekannt.
  • Im Block 32 "Bewegungsanalysator" wird die Linearisierung von Schritt 1 unter Verwendung der Taylor-Erweiterung des Referenzbildes Ĩref(x, y) an jedem Bildelement (xi, yi) in der Umgebung der Punkte ausgeführt, mit i = 1, 2, ..., P (wobei P die Anzahl der Bildelemente im Segment ist): xi' = xi + Δx(xi, yi) Yi' = yi + Δy(xi, yi) (19)
  • Unter Verwendung der Eigenschaft Σa2 = Σ(–a)2 lautet der Vorhersagefehler dann
    Figure 00150001
  • Die Hilfswerte gj(x, y) werden unter Verwendung der folgenden Formel berechnet:
    Figure 00150002
    wobei die Funktionen fj(xi, yi) Basisfunktionen sind, die in Gleichung (4) definiert wurden. Die Matrix Ek und der Vektor yk in Gleichung (9) werden unter Verwendung der folgenden Formeln gebildet:
    Figure 00150003
  • Gx(x, y) und Gy(x, y) sind Werte des horizontalen und des vertikalen Gradienten des Referenzbildes Ĩref(x, y), der unter Verwendung der Ableitung der wohlbekannten kubischen Spline-Interpolationsfunktion berechnet wird.
  • Die Faktoren der Matrix Ak werden unter Verwendung der Cholesky-Zerlegung bestimmt und das System in Formel (15) wird unter Verwendung einer Folge von Givens-Rotationen in Dreieckform gebracht.
  • Die Bewegungskoeffizienten für neue Bewegungsmodelle werden berechnet, indem die Gleichung (18) unter Verwendung eines Rücksubstitutions-Algorithmus gelöst wird.
  • Die Bildelementwerte von Ĩref(x, y), Gx(x, y) und Gy(x, y) sind lediglich für ganzzahlige Koordinaten x und y definiert. Wenn x und y nicht ganzzahlig sind, werden die Bildelementwerte unter Verwendung der kubischen Spline-Interpolation berechnet, die ganzzahlige Bildelementwerte in der Umgebung von x und y verwendet.
  • 6 zeigt eine Mobilstation MS gemäß einer Ausführungsform der Erfindung. Eine zentrale Verarbeitungseinheit, ein Mikroprozessor μP, steuert die Blöcke, die für verschiedene Funktionen der Mobilstation verantwortlich sind: einen Arbeitsspeicher RAM, einen Hochfrequenzblock RF, einen Festwertspeicher ROM, eine Benutzerschnittstelle UI mit einer Anzeige DPL und einer Tastatur KBD sowie einen Digitalkamera-Block CAM. Die Betriebsanweisungen des Mikroprozessors, d. h. der Programmcode und die Basisfunktionen der Mobilstation wurden bereits im voraus, z. B. während des Herstellungsvorgangs im ROM gespeichert. Der Mikroprozessor verwendet gemäß seinem Programm den RF-Block zum Senden und Empfangen von Nachrichten auf dem Funkweg. Der Mikroprozessor überwacht den Zustand der Benutzerschnittstelle UI und steuert den Digitalkamera-Block CAM. In Reaktion auf einen Benutzerbefehl weist der Mikroprozessor den Kamerablock CAM an, ein digitales Bild im RAM aufzuzeichnen. Wenn das Bild aufgenommen wurde oder alternativ während des Aufnahmevorgangs unterteilt der Mikroprozessor das Bild in Bildsegmente und berechnet Bewegungsfeldmodelle für die Segmente, um ein komprimiertes Bild zu erzeugen, wie in der vorhergehenden Beschreibung erläutert wurde. Ein Benutzer kann der Mobilstation befehlen, das Bild auf ihrer Anzeige anzuzeigen oder das komprimierte Bild unter Verwendung des RF-Blocks an eine andere Mobilstation, ein leitungsgebundenes Telephon, eine Fax-Vorrichtung oder eine andere Telekommunikationsvorrichtung zu senden. In einer bevorzugten Ausführungsform wird eine solche Übertragung des Bildes begonnen, sobald das erste Segment codiert ist, so daß der Empfänger den Decodierungsvorgang mit einer minimalen Verzögerung beginnen kann. In einer alternativen Ausführungsform umfaßt die Mobilstation einen Codiererblock ENC, der speziell für das Codieren und möglicherweise außerdem für das Decodieren von digitalen Videodaten vorgesehen ist.
  • 7 ist ein Blockschaltplan eines Mobiltelekommunikationsnetzes gemäß einer Ausführungsform der Erfindung. Mobilstationen MS stehen über Funkverbindungen mit Basisstationen BTS in Kommunikation. Die Basisstationen BTS sind ferner über eine sogenannte Abis-Schnittstelle mit einem Basisstation-Controller BSC verbunden, der mehrere Basisstationen steuert und verwaltet. Das Gesamtsystem, das durch mehrere Basisstationen BTS (typischerweise einige Dutzend Basisstationen) und einen einzelnen Basisstation-Controller BSC gebildet wird, wird als ein Basisstationssystem BSS bezeichnet. Im einzelnen verwaltet der Basisstation-Controller BSC die Funkkommunikationskanäle und die Gesprächsübergaben. Der Basisstation-Controller BSC ist andererseits über die sogenannte A-Schnittstelle mit einem Mobildienst-Vermittlungszentrum MSC verbunden, das die Herstellung von Verbindungen sowohl von den Mobilstationen als auch zu diesen koordiniert. Eine weitere Verbindung wird über das Mobildienst-Vermittlungszentrum MSC in den Bereich außerhalb des Mobilkommunikationsnetzes hergestellt. Außerhalb des Mobilkommunikationsnetzes können sich weitere Netze, z. B. das Internet befinden, die über Gateways GTW (Anschlußstellen) an das Mobilkommunikationsnetz angeschlossen sind. In einem derartigen Netz oder im Mobilkommunikationsnetz können sich weitere Stationen, die Videosignale codieren oder decodieren, befinden, wie etwa Computer (PCs). In einer Ausführungsform der Erfindung umfaßt das Mobilkommunikationsnetz einen Videoserver, um Videodaten an eine MS zu senden, die bei einer derartigen Vorrichtung registriert ist. Diese Videodaten werden unter Verwendung des Verfahrens der bewegungskompensierten Videokomprimierung, das in diesem Dokument oben beschrieben wurde, komprimiert. Der Videoserver kann als Gateway zu einer Online-Videoquelle dienen oder kann vorher aufgezeichnete Videoclips (Video-Kurzfilme) enthalten.
  • Das System kann auf verschiedene Arten implementiert werden, ohne vom Erfindungsgedanken und vom Umfang der Erfindung abzuweichen. Es können z. B.:
    • – andere Bewegungsmodelle verwendet werden;
    • – an Stelle der Lagrangian-Kosten, die in Gleichung (5) angegeben sind, andere Kostenfunktionen verwendet werden;
    • – andere Verfahren verwendet werden, um den Term in der Formel (6) linear zu machen; und
    • – andere Algorithmen zur Bildung der Faktoren im Bewegungsanalysator verwendet werden (z. B. die QR-Zerlegung an Stelle der Cholesky-Zerlegung)
    • – Die Strategie zum Festlegen der Entfernungreihenfolge von Basisfunktionen kann variieren (es kann z. B. eine im voraus definierte Reihenfolge an Stelle der Bewertung der Werte qi in der Gleichung (16) verwendet werden).
    • – Einige Bewegungsmodelle können im Block "Bewegungskoeffizientenentfernung" übersprungen werden (wenn z. B. einige Eingangskoeffizienten eine vernachlässigbare Amplitude besitzen, kann der Algorithmus entscheiden, die entsprechenden Basisfunktionen zu verwerfen).
    • – Die Kostenberechnung im Block "Bewegungskoeffizientenentfernung" muß nicht unmittelbar nach der Entfernung einer Basisfunktion stattfinden, sondern kann später erfolgen. Das bedeutet, daß im Block "Koeffizientenentfernung" an Stelle der Schritte B–E die Schritte B–D wiederholt werden können. Der Schritt E (Kostenberechnung) kann anschließend (für dieses Segment) in einer anderen Schleife für alle erzeugten Bewegungsmodelle ausgeführt werden.
    • – Die Bildung der Dreieckform des Systems von Gleichung (15) kann unter Verwendung verschiedener Algorithmen ausgeführt werden.
    • – Die Berechnung der endgültigen Koeffizienten durch Gleichung (18) kann ausgeführt werden, indem mehrere bekannte Algorithmen zum Lösen von Systemen aus linearen Gleichungen verwendet werden.
    • – Vorhersageterme in den Gleichungen (13) und (14) können alternativ aufgenommen werden, indem Bewegungsvektoren (Δx(xi, yi) und Δy(xi, yi)) in der Gleichung (23) durch Bewegungsvektorverfeinerungen (Differenzen zwischen geschätzten Bewegungsvektoren und vorhergesagten Bewegungsvektoren) ersetzt werden.
    • – Es können andere Interpolationsverfahren verwendet werden, um Werte von In–1(x, y), Gx(x, y) und Gy(x, y) bei nicht ganzzahligen Koordinaten zu erhalten.

Claims (20)

  1. Videocodierer für eine bewegungskompensierte Codierung von Videodaten, mit: Mitteln, die auf der Grundlage eines Referenzbildes einen ersten Bewegungsvektor für ein erstes Bildsegment Sk eines zu codierenden momentanen Bildes erzeugen; einem Bewegungsfeld-Codierer, der den ersten Bewegungsvektor codiert, um komprimierte Bewegungsinformationen zu schaffen, die einen ersten Bewegungskoeffizienten-Vektor ck umfassen, der eine Menge aus Absolutbewegungskoeffizienten ci enthält, derart, daß ci·fi(x, y) eine Approximation des ersten Bewegungsvektors repräsentiert, wobei fi(x, y) eine Menge aus Basisfunktionen definiert und i ein Index ist, der Entsprechungen zwischen besonderen Basisfunktionen und Absolutbewegungskoeffizienten ci definiert; Mitteln, die auf der Grundlage des Referenzbildes einen zweiten Bewegungsvektor für ein zweites Bildsegment SI des anschließend zu codierenden momentanen Bildes erzeugen; Mitteln, die den zweiten Bewegungsvektor codieren, um komprimierte Bewegungsinformationen zu schaffen, die einen zweiten Bewegungskoeffizientenvektor cI umfassen, der eine zweite Menge aus Absolutbewegungskoeffizienten cj enthält, derart, daß cj·fj(x, y) eine Approximation des zweiten Bewegungsvektors für das zweite Bildsegment SI repräsentiert, wobei fj(x, y) eine Menge aus Basisfunktionen definiert und j ein Index ist, der Entsprechungen zwischen besonderen Basisfunktionen und Absolutbewegungskoeffizienten cj definiert; und Mitteln, die auf der Grundlage des vorher erzeugten ersten Bewegungskoeffizientenvektors ck einen vorhergesagten Bewegungskoeffizienten-Vektor pI für das zweite Bildsegment SI vorhersagen, der eine Menge aus vorhergesagten Bewegungskoeffizienten pj enthält; dadurch gekennzeichnet, daß der Videocodierer ferner umfaßt: Mittel, die jeden der Absolutbewegungskoeffizienten cj der zweiten Menge aus Absolutbewegungskoeffizienten als eine Summe aus einem entsprechenden vorhergesagten Bewegungskoeffizienten pj und aus einem Verfeinerungsbewegungskoeffizienten rj darstellen, wobei jeder der Verfeinerungsbewegungskoeffizienten rj die Differenz zwischen einem der Absolutbewegungskoeffizienten cj und dem entsprechenden vorhergesagten Bewegungskoeffizienten pj repräsentiert; Mittel, die Werte für die Verfeinerungsbewegungskoeffizienten rj bestimmen; und Mittel, die den zweiten Bewegungskoeffizientenvektor cI für das zweite Bildsegment SI als einen Vektor aus Verfeinerungsbewegungskoeffizienten rj repräsentieren.
  2. Videocodierer nach Anspruch 1, dadurch gekennzeichnet, daß jeder der Bewegungsvektoren durch ein affines Bewegungsmodell repräsentiert wird.
  3. Videocodierer nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Absolutbewegungskoeffizienten, die Verfeinerungsbewegungskoeffizienten und die vorhergesagten Bewegungskoeffizienten zusammen mit den entsprechenden Basisfunktionen ein affines Bewegungsmodell repräsentieren.
  4. Videocodierer nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Codierer ferner umfaßt: Mittel, die erste Kosten (L(SI)) berechnen, die einen ersten Bildverzerrungsbetrag und eine erste Menge von Informationen, die für die Darstellung des Segments SI mit dem ersten Verzerrungsbetrag erforderlich sind, darstellen und einer ersten Auswahl von Bewegungskoeffizienten entsprechen; Mittel, die zweite Kosten (L(SI)) berechnen, die einen zweiten Bildverzerrungsbetrag und eine zweite Menge von Informationen, die für die Darstellung des Segments SI mit dem zweiten Verzerrungsbetrag erforderlich sind, darstellen und einer zweiten Auswahl von Bewegungskoeffizienten entsprechen, wobei die zweite Auswahl von der ersten Auswahl verschieden ist; Mittel, die unter den ersten und zweiten Kosten jene auswählen, die näher bei vorgegebenen Maximalkosten liegen, diese jedoch nicht überschreiten; und Mittel, die Bewegungskoeffizienten cj entsprechend den gewählten Kosten berechnen.
  5. Videocodierer nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Codierer ferner umfaßt: Mittel, die für das zweite Bildsegment SI eine Matrix EI und einen Vektor yI berechnen; Mittel, die ein im voraus definiertes Verzerrungsmaß für das zweite Segment als eine Funktion von EjcI – yI berechnen, wobei cI der zweite Bewegungsvektor ist, der die zweite Menge aus Absolutbewegungskoeffizienten cj enthält; und Mittel, die aus der Matrix EI und einem Vektor yI eine diagonale Matrix RI und einen entsprechenden Vektor zI O erzeugen.
  6. Videocodierer nach Anspruch 5, dadurch gekennzeichnet, daß er ferner Mittel umfaßt, die die Matrix RI durch Zerlegung der Matrix AI = EI TEI in eine niedrigere diagonale Matrix RI T und ihre Transponierte RI zerlegen, so daß Al = Rl TRl gilt.
  7. Videocodierer nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß er ferner Mittel umfaßt, die einen Vektor zI O dadurch erhalten, daß sie dI = EI TyI berechnen und die Menge von Gleichungen Rl Tzl O = dl lösen.
  8. Videocodierer nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß er ferner Mittel umfaßt, die einen Ausgangsvektor zl = zl O – Rlpl berechnen.
  9. Speichervorrichtung, die einen Videocodierer nach einem der Ansprüche 1 bis 8 enthält.
  10. Mobilstation, die einen Videocodierer nach einem der Ansprüche 1 bis 8 enthält.
  11. Mobiltelekommunikationsnetz, das einen Videocodierer nach einem der Ansprüche 1 bis 8 enthält.
  12. Computerprogrammprodukt, das einen Videocodierer nach einem der Ansprüche 1 bis 8 enthält.
  13. Verfahren für die bewegungskompensierte Codierung von Videodaten, das die folgenden Schritte umfaßt: Erzeugen eines ersten Bewegungsvektors für ein erstes Bildsegment Sk eines zu codierenden momentanen Bildes auf der Grundlage eines Referenzbildes; Codieren des ersten Bewegungsvektors, um komprimierte Bewegungsinformationen zu schaffen, die einen ersten Bewegungskoeffizientenvektor ck enthalten, der eine erste Menge aus Absolutbewegungskoeffizienten cj umfaßt, derart, daß cj·fj(x, y) eine Approximation des ersten Bewegungsvektors repräsentiert, wobei fj(x, y) eine Menge von Basisfunktionen definiert und i ein Index ist, der Entsprechungen zwischen besonderen Basisfunktionen und Absolutbewegungskoeffizienten cj definiert; Erzeugen eines zweiten Bewegungsvektors für ein zweites Bildsegment SI des anschließend zu codierenden momentanen Bildes auf der Grundlage des Referenzbildes; Codieren des zweiten Bewegungsvektors, um komprimierte Bewegungsinformationen zu schaffen, die einen zweiten Bewegungskoeffizientenvektor cI enthalten, der eine zweite Menge aus Absolutbewegungskoeffizienten cj enthält, derart, daß cj·fj(x, y) eine Approximation des zweiten Bewegungsvektors für das zweite Bildsegment SI repräsentiert, wobei fj(x, y) eine Menge aus Basisfunktionen definiert und j ein Index ist, der Entsprechungen zwischen besonderen Basisfunktionen und Absolutbewegungskoeffizienten cj definiert; und Vorhersagen eines vorhergesagten Bewegungskoeffizientenvektors pI für das zweite Bildsegment SI, der eine Menge aus vorhergesagten Bewegungskoeffizienten pj enthält, auf der Grundlage des ersten Bewegungskoeffizientenvektors ck; dadurch gekennzeichnet, daß das Verfahren ferner umfaßt: Darstellen jedes der Absolutbewegungskoeffizienten cj der zweiten Menge aus Absolutbewegungskoeffizienten als einer Summe aus einem entsprechenden vorhergesagten Bewegungskoeffizienten pj und einem Verfeinerungsbewegungskoeffizienten rj, wobei jeder der Verfeinerungsbewegungskoeffizienten rj eine Differenz zwischen einem der Absolutbewegungskoeffizienten cj und einem entsprechenden vorhergesagten Bewegungskoeffizienten pj repräsentiert; Bestimmen von Werten für die Verfeinerungsbewegungskoeffizienten rj; und Darstellen des zweiten Bewegungskoeffizientenvektors cI als einen Vektor aus Verfeinerungsbewegungskoeffizienten rj.
  14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß die Bewegungsvektoren durch ein affines Bewegungsmodell dargestellt werden.
  15. Verfahren nach Anspruch 13 oder 14, dadurch gekennzeichnet, daß die Absolutbewegungskoeffizienten, die Verfeinerungsbewegungskoeffizienten und die vorhergesagten Bewegungskoeffizienten zusammen mit den entsprechenden Basisfunktionen ein affines Bewegungsmodell repräsentieren.
  16. Verfahren nach einem der Ansprüche 13 bis 15, dadurch gekennzeichnet, daß das Verfahren ferner die folgenden Schritte umfaßt: Berechnen erster Kosten (L(SI)), die einen ersten Bildverzerrungsbetrag und eine erste Menge von Informationen, die für die Darstellung des Segments SI mit dem ersten Verzerrungsbetrag notwendig sind, repräsentieren und einer ersten Auswahl von Bewegungskoeffizienten entsprechen; Berechnen zweiter Kosten (L(SI)), die einen zweiten Bildverzerrungsbetrag und eine zweite Menge von Informationen, die für die Darstellung des Segments SI mit dem zweiten Verzerrungsbetrag erforderlich sind, repräsentieren und einer zweiten Auswahl von Bewegungskoeffizienten entsprechen, wobei die zweite Auswahl von der ersten Auswahl verschieden ist; Wählen jener Kosten unter den ersten und zweiten Kosten, die näher bei vorgegebenen maximalen Kosten liegen, diese jedoch nicht überschreiten; und Berechnen von Bewegungskoeffizienten cj, die den gewählten Kosten entsprechen.
  17. Verfahren nach einem der Ansprüche 13 bis 16, dadurch gekennzeichnet, daß das Verfahren ferner die folgenden Schritte umfaßt: Berechnen einer Matrix EI und eines Vektors yI für das zweite Bildsegment SI; Berechnen eines im voraus definierten Verzerrungsmaßes für das zweite Segment SI als eine Funktion von EIcI – yI, wobei cI der zweite Bewegungsvektor ist, der die zweite Menge aus Absolutbewegungskoeffizienten cj enthält; und Erzeugen einer diagonalen Matrix RI und eines entsprechenden Vektors zI O aus der Matrix EI und aus einem Vektor yI.
  18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, daß das Verfahren ferner den Schritt umfaßt, bei dem die Matrix RI dadurch erhalten wird, daß die Matrix AI = EI TEI in eine niedrigere diagonale Matrix RI T und ihre Transponierte RI zerlegt wird, so daß Al = Rl TRl gilt.
  19. Verfahren nach Anspruch 17 oder 18, dadurch gekennzeichnet, daß das Verfahren ferner den Schritt umfaßt, bei dem ein Vektor zI O erhalten wird durch Berechnen von dI = EI TyI und durch Lösen der Menge von Gleichungen Rl Tzl O = dl.
  20. Verfahren nach einem der Ansprüche 17 bis 19, dadurch gekennzeichnet, daß das Verfahren ferner die folgenden Schritte umfaßt: Berechnen eines Ausgangsvektors zl = zl O – Rlpl.
DE60003070T 1999-08-11 2000-08-10 Adaptive bewegungsvektorfeldkodierung Expired - Lifetime DE60003070T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US371641 1999-08-11
US09/371,641 US6735249B1 (en) 1999-08-11 1999-08-11 Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
US489327 2000-01-21
US09/489,327 US6711209B1 (en) 1999-08-11 2000-01-21 Adaptive motion vector field coding
PCT/US2000/021824 WO2001011892A1 (en) 1999-08-11 2000-08-10 Adaptive motion vector field coding

Publications (2)

Publication Number Publication Date
DE60003070D1 DE60003070D1 (de) 2003-07-03
DE60003070T2 true DE60003070T2 (de) 2004-04-01

Family

ID=27005456

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60003070T Expired - Lifetime DE60003070T2 (de) 1999-08-11 2000-08-10 Adaptive bewegungsvektorfeldkodierung

Country Status (7)

Country Link
US (1) US7161983B2 (de)
EP (1) EP1228645B1 (de)
JP (1) JP4596718B2 (de)
CN (1) CN1229997C (de)
AT (1) ATE241887T1 (de)
DE (1) DE60003070T2 (de)
WO (1) WO2001011892A1 (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735249B1 (en) * 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
US6530329B2 (en) * 2001-05-15 2003-03-11 Matthew A. Katzer Model train control system
GB2374479B (en) * 2001-04-12 2005-05-04 Snell & Wilcox Ltd Video signal processing
US20060100753A1 (en) * 2004-11-10 2006-05-11 Katzer Matthew A Model train control
CN100393133C (zh) * 2004-12-30 2008-06-04 中兴通讯股份有限公司 一种视频序列中运动物体的分割方法
KR100746022B1 (ko) * 2005-06-14 2007-08-06 삼성전자주식회사 서브픽셀 움직임 추정시 모델 스위칭을 통한 압축 효율을증가시키는 인코딩 방법 및 장치
US7944965B2 (en) * 2005-12-19 2011-05-17 Seiko Epson Corporation Transform domain based distortion cost estimation
KR100939917B1 (ko) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
US8107750B2 (en) * 2008-12-31 2012-01-31 Stmicroelectronics S.R.L. Method of generating motion vectors of images of a video sequence
US8254443B2 (en) * 2009-08-28 2012-08-28 Ericsson Television, Inc. Latency rate distortion optimisation
TWI498008B (zh) * 2009-12-30 2015-08-21 Altek Corp Method of Adjusting Camera Parameters of Whole - week Images
JP5441803B2 (ja) * 2010-04-12 2014-03-12 キヤノン株式会社 動きベクトル決定装置及び動きベクトル決定方法、コンピュータプログラム
EP2490448A1 (de) * 2011-02-18 2012-08-22 Siemens Aktiengesellschaft Kodierverfahren und Bildkodiervorrichtung zur Kompression einer Bildsequenz
US8644383B2 (en) * 2011-03-10 2014-02-04 Microsoft Corporation Mean absolute difference prediction for video encoding rate control
US8891626B1 (en) * 2011-04-05 2014-11-18 Google Inc. Center of motion for encoding motion fields
KR20140034292A (ko) 2011-07-01 2014-03-19 모토로라 모빌리티 엘엘씨 움직임 벡터 예측 설계 간소화
US20130083845A1 (en) 2011-09-30 2013-04-04 Research In Motion Limited Methods and devices for data compression using a non-uniform reconstruction space
KR101616010B1 (ko) 2011-11-04 2016-05-17 구글 테크놀로지 홀딩스 엘엘씨 비균일 움직임 벡터 그리드에 대한 움직임 벡터 스케일링
EP2595382B1 (de) 2011-11-21 2019-01-09 BlackBerry Limited Verfahren und Vorrichtungen zur Codierung und Decodierung von Transformationsdomänenfiltern
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
ITVI20120087A1 (it) 2012-04-17 2013-10-18 St Microelectronics Srl Stabilizzazione video digitale
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
US20140169444A1 (en) * 2012-12-14 2014-06-19 Microsoft Corporation Image sequence encoding/decoding using motion fields
EP2997732A1 (de) * 2013-05-15 2016-03-23 VID SCALE, Inc. Einzelloop-decodierungsbasierte zwischenschichtvorhersage
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
KR102059066B1 (ko) * 2015-08-24 2019-12-24 후아웨이 테크놀러지 컴퍼니 리미티드 모션 벡터 필드 코딩 방법 및 디코딩 방법, 및 코딩 및 디코딩 장치들
US10375156B2 (en) 2015-09-11 2019-08-06 Facebook, Inc. Using worker nodes in a distributed video encoding system
US10063872B2 (en) 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
US10341561B2 (en) * 2015-09-11 2019-07-02 Facebook, Inc. Distributed image stabilization
US10499070B2 (en) 2015-09-11 2019-12-03 Facebook, Inc. Key frame placement for distributed video encoding
US10602153B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Ultra-high video compression
US10506235B2 (en) 2015-09-11 2019-12-10 Facebook, Inc. Distributed control of video encoding speeds
US10602157B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Variable bitrate control for distributed video encoding
US10814238B2 (en) * 2015-10-16 2020-10-27 Anthony John Ireland Overlay speed improvements for a layout control system
JP6669617B2 (ja) * 2016-09-12 2020-03-18 ルネサスエレクトロニクス株式会社 動画像処理システム
WO2018209067A1 (en) * 2017-05-11 2018-11-15 Vid Scale, Inc. Higher-order motion models and graduated motion parameter estimation for video coding

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE469866B (sv) * 1991-04-12 1993-09-27 Dv Sweden Ab Metod för estimering av rörelseinnehåll i videosignaler
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
WO1997016025A1 (en) * 1995-10-20 1997-05-01 Nokia Mobile Phones Ltd. Motion vector field coding
US5778192A (en) * 1995-10-26 1998-07-07 Motorola, Inc. Method and device for optimal bit allocation between different sources of information in digital video compression
US6212235B1 (en) * 1996-04-19 2001-04-03 Nokia Mobile Phones Ltd. Video encoder and decoder using motion-based segmentation and merging
EP0919099B1 (de) * 1997-03-14 2001-11-21 CSELT Centro Studi e Laboratori Telecomunicazioni S.p.A. Schaltung zur bewegungsschätzung in codierern für digitalisierte videosequenzen
JP3351705B2 (ja) * 1997-04-25 2002-12-03 日本ビクター株式会社 動き補償符号化装置、動き補償符号化方法、及び記録媒体への記録方法
JP4573366B2 (ja) * 1997-09-25 2010-11-04 株式会社大宇エレクトロニクス 動きベクトル符号化方法及び符号化装置
GB2343319B (en) * 1998-10-27 2003-02-26 Nokia Mobile Phones Ltd Video coding
US6418166B1 (en) * 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern

Also Published As

Publication number Publication date
WO2001011892A9 (en) 2001-08-16
CN1229997C (zh) 2005-11-30
US7161983B2 (en) 2007-01-09
EP1228645B1 (de) 2003-05-28
ATE241887T1 (de) 2003-06-15
WO2001011892A1 (en) 2001-02-15
US20040258155A1 (en) 2004-12-23
EP1228645A1 (de) 2002-08-07
CN1370376A (zh) 2002-09-18
DE60003070D1 (de) 2003-07-03
JP4596718B2 (ja) 2010-12-15
JP2003532309A (ja) 2003-10-28

Similar Documents

Publication Publication Date Title
DE60003070T2 (de) Adaptive bewegungsvektorfeldkodierung
DE60015566T2 (de) Verfahren und vorrichtung zur komprimierung eines bewegungsvektorfeldes
EP0309669B1 (de) Verfahren zur szenenmodellgestützten Bilddatenreduktion für digitale Fernsehsignale
DE10190285B4 (de) Verfahren und System zur Verarbeitung von komprimierten Videosignalen
DE69722637T2 (de) Bewegungsschätzungssystem und -verfahren für einen videokodierer
DE60215241T2 (de) Verfahren und Vorrichtung zur Reduzierung von Störungen in dekodierten Bildern mit Nachfilterung
DE69837003T2 (de) Vorrichtung und verfahren zur optimierung der bitratensteurung in einem kodiersystem
DE69825811T2 (de) Kodiergerät und Kodierverfahren mit Bewegungskompensation für hocheffiziente Videokodierung durch selektive Auswahl von vergangenen Bewegungsvektoren statt Benutzung von Bewegungsvektoren abgeleitet von Bewegungsschätzung
DE60027955T2 (de) Verfahren und Vorrichtung zur kontextbasierten Inter/Intra Kodierungsmodeauswahl
DE60307354T2 (de) Chrominanz-Bewegungsvektorrundung
DE112017006638T5 (de) Verbesserte Videobitstromkodierung
DE69932429T2 (de) Verfahren und gerät für die inverse quantisierung von mpeg-4 video
DE69630199T2 (de) Verfahren und gerät zur selektiven kompression von video-codec
DE602004001993T2 (de) Transformations basiertes restbewegungsrahmen kodierungsverfahren mit übervollständiger basis und zugehörige vorrichtung zur videokompression
DE60317670T2 (de) Verfahren und Vorrichtung zur 3D-Teilbandvideokodierung
DE60119904T2 (de) Vorrichtung und Verfahren zur Entfernung des Mosaikeffekts in Rohbilddaten im Hinblick auf die Datenkompression
WO1999022518A1 (de) Verfahren und vorrichtung zur verarbeitung eines digitalisierten bildes
DE19739266A1 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
DE112012006541B4 (de) Verfahren zur Videokompression
DE112015004399T5 (de) Frequenzbereichsentstörung
DE102011006036B4 (de) Verfahren und Vorrichtungen zur Bildung eines Prädiktionswertes
DE102016125539A1 (de) Adaptive überlappungsblockprädiktion bei videokodierung mit variabler blockgrösse
DE69929660T2 (de) Verfahren und Vorrichtung für Makroblock DC- und AC-Koefficienten-Prädiktion in Videocodierung
DE19717608A1 (de) Wahrnehmungsfehlerbearbeitungsverfahren und Bildkodierungsvorrichtung, welche dieses Verfahren verwendet
EP1941744B1 (de) Verfahren und vorrichtungen zur bestimmung und rekonstruktion eines prädizierten bildbereichs

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: BECKER, KURIG, STRAUS, 80336 MUENCHEN