DE19648612A1 - Verfahren zur Bewegtbilddatenkompression und Kodiervorrichtung zur Durchführung des Verfahrens - Google Patents
Verfahren zur Bewegtbilddatenkompression und Kodiervorrichtung zur Durchführung des VerfahrensInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods 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
Die Erfindung betrifft ein Verfahren zur Bewegtbilddatenkom
pression nach der Oberbegriff des Anspruchs 1 und eine Ko
diervorrichtung zur Durchführung des Verfahrens.
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%.
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.
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.
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ß
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9014493B2 (en) * | 2011-09-06 | 2015-04-21 | Intel Corporation | Analytics assisted encoding |
Citations (2)
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)
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 |
-
1996
- 1996-11-14 DE DE19648612A patent/DE19648612A1/de not_active Ceased
-
1997
- 1997-11-14 WO PCT/DE1997/002715 patent/WO1998021894A1/de active Application Filing
Patent Citations (2)
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)
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 |