DE19648612A1 - Verfahren zur Bewegtbilddatenkompression und Kodiervorrichtung zur Durchführung des Verfahrens - Google Patents

Verfahren zur Bewegtbilddatenkompression und Kodiervorrichtung zur Durchführung des Verfahrens

Info

Publication number
DE19648612A1
DE19648612A1 DE19648612A DE19648612A DE19648612A1 DE 19648612 A1 DE19648612 A1 DE 19648612A1 DE 19648612 A DE19648612 A DE 19648612A DE 19648612 A DE19648612 A DE 19648612A DE 19648612 A1 DE19648612 A1 DE 19648612A1
Authority
DE
Germany
Prior art keywords
motion vector
frame
reference frame
determined
video
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.)
Ceased
Application number
DE19648612A
Other languages
English (en)
Inventor
Stephan Dr Wenger
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.)
Teles AG Informationstechnologien
Original Assignee
Teles AG Informationstechnologien
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 Teles AG Informationstechnologien filed Critical Teles AG Informationstechnologien
Priority to DE19648612A priority Critical patent/DE19648612A1/de
Priority to PCT/DE1997/002715 priority patent/WO1998021894A1/de
Publication of DE19648612A1 publication Critical patent/DE19648612A1/de
Ceased 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

Gegenstand der Erfindung
Die Erfindung betrifft ein Verfahren zur Bewegtbilddatenkom­ pression nach der Oberbegriff des Anspruchs 1 und eine Ko­ diervorrichtung zur Durchführung des Verfahrens.
Hintergrund der Erfindung
Die internationalen Standards zum Austausch von Bewegtbil­ dern der MPEG-Familie sowie ITU-T H.261 und H.263 umfassen mehrere Verfahren zur Kompression von in digitaler Form vorliegender Videodaten. Zur Reduktion der zeitlichen Redundanz aufeinanderfolgender Videobilder (Frames) ist ein Verfahren bekannt, bei dem ein Frame in Makroblöcke aufge­ teilt und untersucht wird, welche Verschiebung der Makro­ blöcke von Frame zu Frame erfolgt. Das Ergebnis dieser Bewe­ gungsschätzung wird durch einen Bewegungsvektor ausgedrückt und dieser dem Empfänger mitgeteilt.
Im einzelnen wird bei einem zum Zeitpunkt t von einer Video­ kamera kommenden Frame jeder Makroblock zunächst mit dem spatial korrespondierenden Makroblock eines Referenzframes für den Zeitpunkt t-1 verglichen. Das Referenzframe ent­ steht durch Dekodierung des kodierten, vorangegangenen Frames. Bei signifikanten Unterschieden zwischen den Makroblöcken wird ermittelt, ob der neue Makroblock des betrach­ teten Frames sich aus spatial verschobenen Makroblöcken des Referenzframes ermitteln läßt. Gleichzeitig wird überprüft, ob die Pixelwerte zwischen einem betrachteten Makroblock und dem korrespondieren Makroblock des Referenzframes differenzieren. Auftretende Differenzen werden als Ände­ rungsinformation zusätzlich codiert und übertragen.
Das kodierte Bild wird innerhalb des Kodierers wieder dekodiert und als Referenzframe für das nächste, von der Kamera eingelesene Frame verwendet.
Das bekannte Kompressionsverfahren zur Reduktion der zeitli­ chen Redundanz zwischen aufeinanderfolgenden Bildern ist mit erheblichen Kodierungszeiten verbunden, insbesondere da die Bewegungsvektorsuche sehr rechen- und zeitintensiv ist. Auch kann zu einem neuen Bild die Bewegungsvektorsuche erst beginnen, nachdem nach einer Kodierung des vorangehenden Bildes dieses zur Bildung eines Referenzframes wieder dekodiert wurde.
Üblicherweise beträgt die Latenzzeit im Kodierer mindestens zwei volle Frames. Für den Fall, daß etwa aufgrund einer begrenzt zur Verfügung stehenden Bandbreite bei der Übertra­ gung des komprimierten Videodatenstroms oder aufgrund fehlender Rechengeschwindigkeit nicht die volle Framerate der Videokamera kodiert werden kann, so bleibt die minimale Latenz zeit bei der doppelten zur Verfügung stehenden Frame­ rate. Wenn ein Kodierer beispielsweise nur zehn Frames pro Sekunde kodieren kann, so beträgt die minimale Latenzzeit 200 ms.
Die Bewegungsvektorsuche beansprucht bei dem derzeit einge­ setzten Algorithmen gemessen an den anderen Aufgaben eines Kodierers sehr viel Rechenzeit. Bei einem typischen Video­ konferenz-Videosignal mit wenig Bewegung beträgt diese Rechenzeit typischerweise 70% der gesamten erforderlichen Rechenzeit. Bei Filmsequenzen mit Kameraschwenks steigt die Rechenzeit auf bis zu 95%.
Aufgabe der Erfindung
Ausgehend von diesem Stand der Technik liegt der vorliegen­ den Erfindung die Aufgabe zugrunde, ein Verfahren zur Be­ wegtbilddatenkompression sowie eine Kodiervorrichtung zur Durchführung des Verfahrens zur Verfügung zu stellen, die sich durch eine geringe Latenz zeit der einzelnen Frames im Kodierer auszeichnen und eine hohe Framerate bei der Kodie­ rung ermöglichen.
Zusammenfassung der Erfindung
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Anspruchs 1 und durch eine Kodiervorrich­ tung mit den Merkmalen des Anspruch 11 gelöst. Bevorzugte und vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Gemäß der erfindungsgemäßen Lösung werden die Bewegungsvek­ toren nicht mehr allein auf der Basis eines im Kodierer durch Kodieren und Dekodieren erzeugten Referenzbildes berechnet. Statt dessen wird als Basis für die Berechnung der Bewegungsvektoren zunächst das letzte, noch nicht kodierte Kamerabild verwendet. Da die dabei berechneten Nä­ herungs-Bewegungsvektoren möglicherweise nicht exakt dem Be­ wegungsvektor entsprechen, der nach dem bekannten standard­ gemäßen Verfahren "korrekt" ist, wird nach Berechnung der Näherungs-Bewegungsvektoren eine Feinsuche auf dem durch Kodieren und Dekodieren des vorangegangenen Bildes erzeug­ ten Referenzframes durchgeführt. Dabei kann die maximale Vektorlänge der Bewegungsvektor-Feinsuche um eine Größenord­ nung geringer gehalten werden als bei dem bekannten Verfah­ ren, wodurch sich der Rechenaufwand um zwei Größenordnungen verringern läßt.
Die erfindungsgemäße Lösung ermöglicht eine wesentlich schnellere Berechnung der Bewegungsvektoren und verringert dadurch die Verzögerungszeit im Kodierer. Damit ist es möglich, gegenüber bekannten Verfahren höhere Frameraten bei der Kodierung der Videodaten und/oder höhere Kodierqua­ litäten zu verwirklichen. Die Qualität der Bewegtbildüber­ tragung wird dadurch insgesamt verbessert.
Bevorzugt erfolgt ein Vergleich zwischen den Makroblöcken eines von der Videokamera eingelesenen Frames und den Makroblöcken des vorangegangenen, unbearbeiteten Referenz­ frames bereits während des Einlesens des neuen Frames. Hierzu wird jedes neue Frame zwischengespeichert, um für das nächstfolgende Frame als Referenzframe zu dienen. Die Berechnung der Näherungs-Bewegungsvektoren setzt somit noch bei Einlesen eines neuen Frames ein. Bei dem bekannten Verfahren kann eine Bewegungsvektorsuche erst beginnen, nachdem das vorherige Frame kodiert und wieder dekodiert ist.
Wenn man Makroblöcke einer Größe von 16 × 16 Pixel verwen­ det und die maximale Länge des Bewegungsvektors auf 48 Pixel festlegt, so kann schon nach Einlesen von 112 Zeilen des Videobildes eine vollständige Näherungs-Bewegungsvektor­ suche beginnen. Da bei der Suche nach einem Bewegungsvektor jedoch zunächst Bewegungsvektoren mit einer geringen Länge getestet werden, kann die Näherungs-Bewegungsvektorsuche sogar noch eher beginnen.
Bei einer geringen zur Verfügung stehenden Bandbreite des Übertragungsweges zum Empfänger sowie bei sehr hohen Rechen­ leistungen werden nicht alle von der Videokamera kommenden Frames komprimiert, sondern einzelne Frames ausgelassen. Auch in diesem Fall wird jedoch eine "Grobsuche" durchge­ führt. Die bei der "Grobsuche" ermittelten Näherungs-Bewe­ gungsvektoren werden summiert und bei dem nächstfolgenden komprimierte Frame als Ausgangsvektor für die Bewegungsvek­ tor-Feinsuche verwendet. Dies führt bei bis zu drei ausge­ lassenen Frames noch zu guten Ergebnissen, d. h. die maxima­ le Bewegungsvektorlänge kann bei der Feinsuche klein gehal­ ten werden.
Um eine konstante Übertragung der Daten zum Empfänger zu ge­ währleisten, werden die komprimierten Videodaten in einen Puffer eingelesen und aus diesem mit konstanter Bitrate wieder ausgelesen. Sofern sich die zur Verfügung stehende Bandbreite des Übertragungsweges oder die erforderliche Rechenkapazität ändert, erfolgt eine Rückkopplung auf den Kodierer derart, daß die Zahl der komprimierten Frames verringert und/oder die bei der Kodierung auftretenden Informationsverluste erhöht werden. Auf diese Weise wird ein Überlaufen des Puffers verhindert.
Zur Bewegungsvektorsuche wird ein Makroblock Bildinforma­ tion gegen eine Vielzahl von jeweils zu testenden Bewegungs­ vektoren verschoben. Um festzustellen, ob ein getesteter Bewegungsvektor der "richtige" Vektor für einen betrachte­ ten Makroblock ist, wird üblicherweise entweder die Summe der Beträge oder die Summe der Quadrate der Abweichungen zwischen den Pixelwerten des neuen Makroblocks und denen des um den zu testenden Bewegungsvektor verschobenen Makro­ blocks des Referenzbildes benutzt. Die Schwelle, ab der ein Bewegungsvektor als "richtig" erkannt und der Suchvorgang abgebrochen wird, wird bevorzugt adaptiv der Bandbreitesi­ tuation sowie im Falle einer Softwareimplementierung des Kodierers auch der Prozessorlast angepaßt. Die Bewegungsvek­ torsuche erfolgt durch Testen verschiedener Testvektoren.
Die bei dem erfindungsgemäßen Verfahren betrachteten Makro­ blöcke weisen bevorzugt eine Größe von 8 × 8 oder von 16 × 16 Pixel auf. Die maximale Länge des Bewegungsvektors liegt bevorzugt zwischen 16 und 48 Pixel. Jedoch wird darauf hingewiesen, daß das erfindungsgemäße Verfahren grundsätz­ lich bei Makroblöcken beliebiger Größe und bei einer belie­ bigen maximalen Länge des Bewegungsvektors anwendbar ist.
Gemäß den bekannten internationalen Standards wird zusätz­ lich zum Bewegungsvektor für jeden Makroblock die Änderungs­ information gegenüber dem "passenden" Makroblock des Refe­ renzframes ermittelt. Das dabei ermittelte Differenzbild (nicht jedoch die Bewegungsvektoren) wird verlustbehaftet kodiert und zum Empfänger gesandt. Hierzu wird an dem Diffe­ renzbild eine 2-dimensionale diskrete Cosinus-Tranformation durchgeführt. Die ermittelten Matrixelemente werden quanti­ siert und gewichtet, wodurch zwar die Feinstruktur im Bild gesenkt, aber auch das Datenaufkommen deutlich reduziert wird.
Beschreibung eines Ausführungsbeispiels
Die Erfindung wird nachfolgend unter Bezugnahme auf die Figuren der Zeichnung an einem Ausführungsbeispiel näher erläutert. Es zeigen
Fig. 1 eine schematische Darstellung eines bekannten Systems zur Übertragung von Bewegtbildern;
Fig. 2 eine schematische Darstellung einer erfindungsge­ mäßen Kodiervorrichtung;
Fig. 3a die linke obere Ecke eines von einer Kamera eingelesenen Videobildes Ft zum Zeitpunkt t mit einem hervorgehobenen Makroblock;
Fig. 3b die linke obere Ecke eines von einer Kamera eingelesenen Videobildes Ft-1 zum Zeitpunkt t-1, bei dem neben dem Makroblock zum Zeitpunkt t der korrespondierende Makroblock zum Zeitpunkt t-1 dargestellt ist und
Fig. 4 die linke obere Ecke eines Videobildes F't-1 zum Zeitpunkt t-1 nach Kodieren und Dekodieren des Bildes, bei dem neben den Makroblöcken der Fig. 3a und 3b der "korrekte", korrespondieren­ de Makroblock zum Zeitpunkt t-1 dargestellt ist.
Fig. 1 zeigt ein im Stand der Technik bekanntes System zur Übertragung von Videosignalen, bei dem eine Bitraten-Reduk­ tion nach den bekannten internationalen Standards erfolgt. Ein Videosignal wird in einer Videokamera 1 in bekannter Weise erzeugt. Das Videosignal enthält die jeweiligen Luminanz- und Chrominanzwerte der einzelnen Pixel eines Videobildes. In einem Digitalisierer 2 wird das analoge Signal abgetastet und digitalisiert. Zuvor erfolgt gegebe­ nenfalls eine Tiefpaßfilterung. Für eine Übertragung der Videobilder über das ISDN-Telefonnetz, beispielsweise im Rahmen der Bildtelefonie, ist es erforderlich, die bei der Digitalisierung des analogen Videosignals entstehende sehr hohe Bitrate von bis zu 400 Mbit/s ganz erheblich zu redu­ zieren.
In einer Vorverarbeitungseinheit 3 erfolgt eine Chrominanz­ unterabtastung, das heißt die Farbdifferenzkomponenten U und V des Chrominanzsignals werden mit geringerer Häufig­ keit übertragen als die Luminanzkomponente Y.
Anschließend erfolgt in einer Kodiervorrichtung 4 eine Interframe-Kodierung des Bitdatenstroms. Hierbei wird die zeitliche Redundanz in aufeinanderfolgenden Videobildern, im folgenden auch Frames genannt, reduziert.
Die Kodiervorrichtung 4 weist einen Kodierer 41, einen Dekodierer 42, einen variablen Lauflängenkodierer 43 und einen Puffer 44 auf. Das im Kodierer 4 bitratenreduzierte digitale Videosignal wird über eine Telekommunikationsver­ bindung 6 zum Empfänger gesendet, wo es in einer Dekodier­ vorrichtung 7 dekodiert und auf einem Bildschirm 8 darge­ stellt wird. Die Übertragung des Videosignals erfolgt dabei bevorzugt über eine ISDN-Leitung mit Bandbreiten zwischen 40 kbit/s und 366 kbit/s. Die Übertragung kann jedoch auch paketvermittelt über das Internet oder Intranets mit ausrei­ chender Bandbreite oder auf beliebigen anderen Datennetzen erfolgen.
Im Kodierer 41 wird das zum Zeitpunkt t von der Kamera kom­ mende Frame in Makroblöcke einer Größe von 16 × 16 Pixel un­ terteilt. Zur Reduktion oder zeitlichen Redundanz aufeinan­ derfolgender Frames wird die Verschiebung korrespondieren­ der Makroblöcke von Bild zu Bild festgestellt. Hierzu wird jeder der Makroblöcke eines Frames mit dem spatial korre­ spondierenden Makroblock eines Referenzframes verglichen. Der Referenzframe wird am Ausgang des Dekodierers 42 zur Verfügung gestellt und wird durch Dekodierung des kodierten vorangegangenen Frames erzeugt. Der Vorteil in der Wahl eines derartigen Referenzframes liegt darin, daß das am Ausgang des Dekodierers 42 vorliegende Frame identisch mit dem beim Empfänger 8 empfangenen Frame ist. Es wird daher die Verschiebung eines Makroblocks in Bezug auf das "tat­ sächliche" vom Empfänger empfangene Bild ermittelt.
Sofern bei einem Vergleich eines Makroblocks eines neuen Frames mit dem spatial korrespondierenden Makroblock des Re­ ferenzframes signifikante Unterschiede auftreten, wird ermittelt, ob der neue Makroblock sich aus spatial verscho­ benen Makroblöcken des Referenzframes ermitteln läßt. Die Verschiebung zwischen korrespondierenden Makroblöcken des neuen Frames und des Referenzframes wird durch einen Bewegungsvektor einer bestimmten Richtung und Länge ausge­ drückt.
Die Verfahren zur Bestimmung des richtigen Bewegungsvektors sind an sich bekannt. Für den Test, ob ein getesteter Bewegungsvektor der "richtige" Vektor für den betrachteten Makroblock ist, wird üblicherweise entweder die Summe oder die Summe der Quadrate der Abweichungen zwischen den Pixel­ werten des neuen Makroblocks und denen des um den zu testen­ den Bewegungsvektor verschobenen Makroblocks des Referenz­ bildes betrachtet und ein Minimum dieser Summe gesucht. Die maximale Länge des Bewegungsvektors hängt von dem verwendeten Standard ab und beträgt üblicherweise (+-16/+-16), maximal derzeit (+-48/+-48) Pixel. Sofern keine Verschiebung eines betrachteten Makroblocks von Bild zu Bild auftritt, ist der Bewegungsvektor gleich (0, 0).
Des weiteren wird im Kodierer 41 die Änderungsinformation zwischen einem Makroblock des betrachteten Frames und dem korrespondierenden ("richtigen") Makroblock des Referenzfra­ mes festgestellt, das heißt es werden die jeweiligen Pixel­ werte vergleichen. Das Differenzbild erfährt in an sich bekannter Weise eine zweidimensionale Diskrete Cosinus-Transformation. Daran schließt sich eine Quantisie­ rung und Gewichtung der Matrixelemente der diskreten Cosi­ nus-Transformation an, wobei die Matrixelemente unterhalb einer bestimmten Größe auf den Wert 0 gesetzt werden, was mit einer Verminderung der Feinstruktur im Bild einhergeht und eine verlustbehaftete Kodierung bedeutet, allerdings durch die anschließende Huffman-Codierung signifikant Bandbreite spart.
Die quantisierte Matrix der diskreten Cosinus-Transforma­ tion wird ausgelesen und die entsprechende Bitfolge zusam­ men mit der Bitfolge für die Bewegungsvektoren dem varia­ blen Lauflängenkodierer 43 zugeführt. Daran schließt sich der Puffer 44 an, aus dem die Daten mit konstanter Bitrate ausgelesen werden. Durch eine durch den Pfeil 9 angedeutete Rückkopplung zwischen Puffer 44 und Kodierer 41 wird für den Fall, daß der Puffer 44 überzulaufen droht, die Anzahl der im Kodierer 41 kodierten Frames verringert, das heißt es werden einzelne von der Kamera 1 kommende Frames nicht kodiert und nicht zum Empfänger übertragen. Hierdurch fällt die Eingangsbitrate des Puffers und der Pufferbestand nimmt wieder ab. Alternativ wird lediglich die Quantisierung der Koeffizienten der diskreten Cosinus-Transformation vergrö­ bert.
Fig. 2 zeigt schematisch einen erfindungsgemäßen Kodie­ rer 410. Es wird darauf hingewiesen, daß die dargestellten funktionellen Einheiten nicht notwendigerweise auch real existieren. Die Verwirklichung der einzelnen Komponenten des Kodierers 410 kann wahlweise in Hardware, in Software, auf einem Video-Chip und/oder in der CPU des Systems, etwa eines PC's erfolgen.
Der Kodierer 410 weist Speichermittel 411 auf, in denen das vorherige, von der Kamera ankommende Bild Ft-1 gespeichert wird, ohne daß dieses zuvor eine Kodierung erfährt. Auf der Basis des letzten Kamerabildes Ft-1 werden in einem ersten Verfahrensschritt die Bewegungsvektoren zu den einzelnen Makroblöcken des Frames Ft berechnet. Dies ist in den Fig. 3a und 3b schematisch dargestellt.
Die Fig. 3a, 3b zeigen die linke obere Ecke eines Video­ bildes, das aus einzelnen Pixeln 10 besteht. In Fig. 3a ist das betrachtete Frame Ft mit einem Makroblock 11 darge­ stellt. Zu diesem Makroblock 11 wird der korrespondierende Makroblock des Referenzframes Ft-1 gesucht. Der Makroblock 11 ist der Anschaulichkeit halber mit lediglich 4 × 4 Pixeln dargestellt. Tatsächlich weist der Makroblock eine Größe von 16 × 16 oder 8 × 8 Pixeln auf. Die im Makro­ block dargestellte Bildinformation (Auto) ist ebenfalls lediglich schematisch aufzufassen.
In einer Vergleichseinrichtung 412 des Kodierers 410 wird nun im Referenzframe Ft-1, der das vorangegangene, unbear­ beitete, von der Kamera kommende Bild darstellt, der "rich­ tige" Bewegungsvektor V gesucht. Es bieten sich hierzu zum einen eine hierarchische Suche (hierarchical search) und zum anderen eine spirale Suche (spiral search) an. Beide Verfahren sind an sich bekannt, so daß nicht im Detail auf diese Verfahren eingegangen wird (vgl. etwa Krumpa, Gerd: Algorithmen zur Bewegungsschätzung im Videotelephon, Disser­ tation, TU Chemnitz, 1991).
Es sei lediglich erwähnt, daß bei der hierarchischen Suche ausgehend vom dem spatial mit dem Makroblock 11 des Frames Ft korrespondierenden Makroblock des Frames Ft-1 zunächst alle Bewegungsvektoren der Länge n = 1 mit den Richtungen 0°, 45°, 90°, . . ., 315° getestet werden. Ist keiner der Vek­ toren der gesuchte Bewegungsvektor, so wird die Länge des Vektors verdoppelt und die Suche wiederholt, bis n gleich der maximalen Bewegungsvektorlänge ist. Um das "Best Match" erfolgt eine zusätzliche Suche.
Bei der spiralen Suche werden ausgehend vom dem spatial mit dem Makroblock 11 des Frames Ft korrespondierenden Makro­ block des Frames Ft-1 alle denkbaren Vektoren der Länge n = 1 überprüft. Ist der Vektor nicht gefunden, so wird n erhöht und die Suche beginnt von neuem. Dieses Verfahren macht sich zunutze, daß kleine Vektoren statistisch häufi­ ger vorkommen.
Fig. 3b zeigt das Referenzframe Ft-1 mit dem korrespondie­ renden, "richtigen" Makroblock 12, der die meiste Überein­ stimmung in der Bildinformation mit dem Makroblock 11 des Frames Ft aufweist, der zur besseren Anschaulichkeit auch in Fig. 3b dargestellt ist. Wie bereits ausgeführt, wird ein Bewegungsvektor als der "richtige" Vektor angesehen, wenn die Summe der Beträge oder die Summe der Quadrate der Abweichungen zwischen den Pixelwerten des neuen Makroblocks 11 und denen des um den zu testenden Bewegungs­ vektor V verschobenen Makroblocks 12 minimal ist. Die Schwelle, ab der ein Bewegungsvektor als "richtig" erkannt und der Suchvorgang abgebrochen wird, wird adaptiv der Bandbreitesituation und ggf. der Prozessor-Last angepaßt.
Die Berechnung des Bewegungsvektors V beginnt bereits während des Einlesens des Frames Ft von der Videokamera 1. Es muß nicht abgewartet werden, bis der Kodierungs- und Dekodierungsvorgang zu dem vorangegangenen Bild abgeschlos­ sen ist. Hierdurch wird die Verzögerungszeit im Kodierer 4 herabgesetzt. Bei einer maximalen Länge des Bewegungsvek­ tors von +-48 Pixel und einer Makroblockgröße von 16 × 16 Pixel kann die Bewegungsvektorsuche erstmalig nach Einlesen der ersten 112 Zeilen des Frames beginnen.
Der auf der Basis des Referenzbildes Ft-1 berechnete Bewe­ gungsvektor V entspricht allerdings nicht notwendig exakt dem Bewegungsvektor, der nach den bekannten Verfahren der MPEG-Familie sowie der Standards ITU-T H.261 und H.263 "korrekt" wäre. Dies ist insofern nachteilig, als beim Empfänger 8 das dekodierte Frame F't-1 vorliegt und dieses daher zur Grundlage für die Bewegungsvektorsuche gemacht werden sollte.
In einem zweiten Verfahrensschritt wird daher nachfolgend in der Vergleichseinrichtung 412 eine Bewegungsvektor-Fein­ suche auf der Basis des am Ausgang des Dekodierers 42 vorliegenden Referenzbildes F't-1 durchgeführt, das das kodierte und anschließend dekodierte vorausgehende Frame Ft-1 darstellt.
Wie in Fig. 4 dargestellt, kann die maximale Vektorlänge bei der Feinsuche jedoch um eine Größenordnung geringer gehalten werden, wodurch sich der Rechenaufwand um insge­ samt zwei Größenordnungen verringert. So wird der Feinsuche der zuvor ermittelte Näherungs-Bewegungsvektor V zugrundege­ legt. Im Frame F't-1 wird also die Suche nach dem "korrek­ ten" korrespondierenden Makroblock 13 sogleich bei dem dem Makroblock 12 des Referenzframes Ft-1 spatial korrespondie­ renden Makroblock begonnen. Hiervon ausgehend wird der "korrekte" Makroblock und der entsprechende "korrekte" Bewegungsvektor V' ermittelt.
Bevorzugt wird bei der Feinsuche aufgrund der nur kleinen erforderlichen maximalen Vektorlänge und aufgrund der besseren Ergebnisse eine spirale Suche (spiral search) vorgenommen.
Nach Ermittlung des Bewegungsvektors V' wird in einer DCT-Einrichtung 413 die Änderung zwischen dem Makroblock 13 des Referenzframes F't-1 und dem Makroblock 11 des Fra­ mes Ft berechnet und das Differenzsignal einer diskreten Cosinus-Transformation unterzogen. Dies erfolgt in an sich bekannter Weise, so daß hierauf nicht näher eingegangen werden muß.
Die Bewegungsvektorstiche wird in einer Ausgestaltung der Erfindung in einer einfachen Dataflow-Architektur in einem Video-Frontend- oder Video-Accelerator-Chip durchgeführt. Hierdurch kann das komplexe Handshaking des dekodierten Referenzframes mit diesem Chip entfallen. Alternativ wird lediglich die Grobsuche nach dem Näherungs-Bewegungsvek­ tor V auf einem Accelerator-Chip verwirklicht, die Nachsu­ che hingegen in Software auf dem Hauptprozessor des Sy­ stems. Aufgrund des neuen Verfahrens zur Berechnung des Bewegungsvektors V' reduziert sich der Rechenaufwand für den Hauptprozessor in Bezug auf die Bewegungsvektorsuche um mindestens den Faktor 10. Bei einer typischen Videokonfe­ renzumgebung beträgt der Aufwand für die Bewegungsvektorsu­ che damit lediglich 1,6% statt rund 70% gemäß dem Stand der Technik. Dies ermöglicht höhere Kodierqualitäten auch bei Software-basierten Kodierungssystemen.
Das Accelerator-Chipteil kann zum Beispiel aufgrund der einfachen Data-Flow-Architektur in Video-<PCI-Bridges integriert werden.
Als Speichermittel 411 wird in einem Ausführungsbeispiel (nicht dargestellt) der Hauptspeicher eines PC oder eines vergleichbaren Rechners verwendet. Die Information des Referenzframes Ft-1 gelangt dabei über einen Datenbus zum Kodierer 410 (Unified Memory Architecture (UMA)).
Die Erfindung beschränkt sich in ihrer Ausführung nicht auf die vorstehend angegebenen Ausführungsbeispiele. Vielmehr sind eine Anzahl von Varianten denkbar, welche von der Erfindung auch bei grundsätzlich anders gearteten Ausführun­ gen Gebrauch machen.

Claims (13)

1. Verfahren zur Bewegtbilddatenkompression, bei dem von einer Videokamera oder einer anderen Quelle kommende Frames in Makroblöcke mit N mal M Pixeln unterteilt werden und zu jedem Makroblock eines Frames durch Ver­ gleich mit Makroblöcken eines zeitlich früher liegenden Referenzframes ein Bewegungsvektor ermittelt wird, der die Richtung und die Länge der Verschiebung eines Makro­ blocks in Bezug auf das Referenzframe angibt,
dadurch gekennzeichnet, daß
  • a) als Referenzframe zunächst ein von der Videokamera kommendes, unbearbeitetes Frame (Ft-1) verwendet und auf der Basis dieses Referenzframes (Ft-1) zu jedem Makro­ block (11) ein Näherungs-Bewegungsvektor (V) ermittelt wird und
  • b) anschließend ausgehend von dem ermittelten Näherungs- Bewegungsvektor (V) eine Bewegungsvektor-Feinsuche in einem weiteren Referenzframe (F't-1) erfolgt, das durch Dekodieren des kodierten vorherigen Frames (Ft-1) er­ zeugt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zusätzlich zum Bewegungsvektor (V') für jeden Makroblock (11) die Änderungsinformation gegenüber dem korrespondie­ renden Makroblock (13) des Referenzframes (F't-1) ermit­ telt wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die Änderungsinformation verlustbehaftet kodiert wird.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß bezüglich der Änderungsinformation zu jedem Makroblock eine Diskrete Cosinus-Transformation vorgenommen und die dabei ermittelten Koeffizienten mit einer Gewichtungsma­ trix bewertet werden.
5. Verfahren nach mindestens einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, daß ein Vergleich zwischen den Makroblöcken (11) eines Frames (Ft) und den Makroblöcken (12) des vorangegangenen, unbearbeiteten Re­ ferenzframes (Ft-1) bereits während des Einlesens des Frames (Ft) von der Kamera (1) beginnt.
6. Verfahren nach mindestens einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, daß die kodierten Daten vor ihrer Übertragung an einen Empfänger in einen Puffer (44) eingelesen und bei einem verzögerten Ausle­ sen der Videodaten aus dem Puffer (44) nur einzelne von der Kamera kommende Frames kodiert werden und/oder die Kodierungsqualität verringert wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß im Falle des Auslassens der Kodierung einzelner Frames die Näherungs-Bewegungsvektoren (V) summiert und bei dem nächstfolgenden komprimierten Frame als Ausgangsvektor für die Bewegungsvektor Feinsuche verwendet werden.
8. Verfahren nach mindestens einem der vorangehenden Ansprü­ che, dadurch gekennzeichnet, daß die Schwelle, ab der ein Bewegungsvektor (V') bzw. ein Näherungs-Bewegungsvek­ tor (V) als korrekt angesehen wird, adaptiv der Bandbrei­ tesituation des Übertragungswegs und der Last des verwen­ deten Prozessors angepaßt wird.
9. Verfahren nach mindestens einem der vorangehenden Ansprü­ che, dadurch gekennzeichnet, daß die maximale Länge des Bewegungsvektors zwischen 4 und 48 Pixel beträgt.
10. Verfahren nach mindestens einem der vorangehenden An­ sprüche, dadurch gekennzeichnet, daß die Ermittlung eines Näherungs-Bewegungsvektors (V) im ersten Referenz­ frame (Ft-1) in einem eigenen Videochip erfolgt, wäh­ rend die anschließende Feinsuche im zweiten Referenzfra­ me (F't-1) auf einem Hauptprozessor des Systems er­ folgt.
11. Kodiervorrichtung zur Durchführung des Verfahrens nach Anspruch 1, gekennzeichnet durch
  • a) Speichermittel (411) zum Speichern eines unbearbeite­ ten, direkt von einer Videokamera (1) kommenden Frames (Ft-1),
  • b) einen Dekodierer (42) zum Dekodieren eines kodierten Frames und
  • c) einen Kodierer (410) mit Mittel (412) zum Berechnen eines Näherungs-Bewegungsvektors (V) auf der Basis des in den Speichermitteln (411) gespeicherten Referenz­ frames (Ft-1) sowie mit Mitteln (412) zum Berechnen eines Bewegungsvektors (V') auf der Basis der ermittel­ ten Näherungs-Bewegungsvektoren (V) und dem durch Deko­ dieren des kodierten vorherigen Frames erzeugten Refe­ renzframe (F't-1).
12. Kodiervorrichtung nach Anspruch 11, dadurch gekennzeich­ net, daß das Speichermittel (411) der Hauptspeicher eines PC oder eines vergleichbaren Rechners ist und die Information des Referenzframes (Ft-1) über einen Daten­ bus zum Kodierer (410) gelangt.
13. Kodiervorrichtung nach Anspruch 11, dadurch gekennzeich­ net, daß sämtliche Einrichtungen der Kodiervorrichtung (4) in einen Video-Chip integriert sind.
DE19648612A 1996-11-14 1996-11-14 Verfahren zur Bewegtbilddatenkompression und Kodiervorrichtung zur Durchführung des Verfahrens Ceased DE19648612A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE19648612A DE19648612A1 (de) 1996-11-14 1996-11-14 Verfahren zur Bewegtbilddatenkompression und Kodiervorrichtung zur Durchführung des Verfahrens
PCT/DE1997/002715 WO1998021894A1 (de) 1996-11-14 1997-11-14 Verfahren zur bewegtbilddatenkompression und kodiervorrichtung zur durchführung des verfahrens

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19648612A DE19648612A1 (de) 1996-11-14 1996-11-14 Verfahren zur Bewegtbilddatenkompression und Kodiervorrichtung zur Durchführung des Verfahrens

Publications (1)

Publication Number Publication Date
DE19648612A1 true DE19648612A1 (de) 1998-05-20

Family

ID=7812608

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19648612A Ceased DE19648612A1 (de) 1996-11-14 1996-11-14 Verfahren zur Bewegtbilddatenkompression und Kodiervorrichtung zur Durchführung des Verfahrens

Country Status (2)

Country Link
DE (1) DE19648612A1 (de)
WO (1) WO1998021894A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9014493B2 (en) * 2011-09-06 2015-04-21 Intel Corporation Analytics assisted encoding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0652676A1 (de) * 1993-11-08 1995-05-10 Sony Corporation Verfahren und Vorrichtung zur Komprimierung eines digitalen Bewegtbildsignals
EP0691789A2 (de) * 1994-07-06 1996-01-10 AT&T Corp. Verfahren und Apparat zur Emittung, Segmentierung und Kodierung von Bewegung beinhaltenden Bereichen

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2141192T3 (es) 1991-03-27 2000-03-16 Smithkline Beecham Consumer Cepillo de dientes con una zona de union flexible entre la cabeza y el mango.
GB9414140D0 (en) 1994-07-13 1994-08-31 Procter & Gamble Toothbrush

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0652676A1 (de) * 1993-11-08 1995-05-10 Sony Corporation Verfahren und Vorrichtung zur Komprimierung eines digitalen Bewegtbildsignals
EP0691789A2 (de) * 1994-07-06 1996-01-10 AT&T Corp. Verfahren und Apparat zur Emittung, Segmentierung und Kodierung von Bewegung beinhaltenden Bereichen

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Proceedings of the IEEE, Vol. 69, No. 3, March 1981, S. 349-389 Sandbank, C.P.: Digital Television, John Wiley & Sons, Chichester, New Vork, Brisbane u.a., S. 598-632 *
Proceedings of the IEEE, Vol. 83, No. 6, June 1995, S. 877-891 *
Stafford, R.H.: Digital Television John Willey & Sohns, New York, u.a. 1980, S. 30-57, 72-137 *
Yutaka Yoloyama, Yoshikiro Miyamoto, Mutsumi Oka: Very Low Bit Rate Video Coding Using Arbitranrily Shapeta Region- Based Motion Compensation In: IEEE Transactions on Circuits and Systems for Video Technology, Vol. 5, No. 6, Dec. 1995, S. 500-507 *

Also Published As

Publication number Publication date
WO1998021894A1 (de) 1998-05-22

Similar Documents

Publication Publication Date Title
DE10190285B4 (de) Verfahren und System zur Verarbeitung von komprimierten Videosignalen
DE69738264T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE69735402T2 (de) System und Methode zur Bewegungskompensation mit Hilfe eines Schrägziegelspeicherformats für verbesserte Effizienz
DE60215241T2 (de) Verfahren und Vorrichtung zur Reduzierung von Störungen in dekodierten Bildern mit Nachfilterung
DE69826155T2 (de) Verfahren und Vorrichtung zur digitalen Videosignalfilterung und -kodierung
DE69834902T2 (de) Bewegungskompensierte prädiktive bildkodierung und -dekodierung
DE69635369T2 (de) Videokodierungsvorrichtung
DE60214837T2 (de) Erkennung und genaue skalierung bewegter bereiche mit zeilensprung in mpeg-2 komprimiertem video
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE60309375T2 (de) Parametrisierung für verlauf-kompensation
DE19739266B4 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
DE19743202B4 (de) Verfahren zum Codieren eines Bewegungsvektors
DE102004021854A1 (de) Vorrichtung für sowohl eine Block-Matching Motion Compensation als auch eine Global Motion Compensation sowie Verfahren hierfür
DE4442643B4 (de) Verfahren zum Abschätzen der Bewegung in einem Bewegtbild
WO1999022518A1 (de) Verfahren und vorrichtung zur verarbeitung eines digitalisierten bildes
DE69915843T2 (de) Teilbandkodierung/-dekodierung
DE102020128902A1 (de) Bewegungsadaptive video-codierung
DE69828144T2 (de) Verfahren und vorrichtung zur videocodierung und -decodierung
EP0525900B1 (de) Filterschaltung zur Vorverarbeitung eines Videosignals
DE69824983T2 (de) Verfahren und Gerät zur Codierung durch Luminanzschätzung
DE60210757T2 (de) Vorrichtung zur videokodierung und -aufzeichnung
EP1110407B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors
EP0752788A2 (de) Videocoder und -decoder
DE19648612A1 (de) Verfahren zur Bewegtbilddatenkompression und Kodiervorrichtung zur Durchführung des Verfahrens
EP0533675B1 (de) Übertragungssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection