-
Gebiet der
Erfindung
-
Die vorliegende Erfindung betrifft
allgemein Video-Codecs
und insbesondere den Codierungswirkungsgrad bei Video-Codecs.
-
Hintergrund
der Erfindung
-
Das Gebiet der digitalen Videokompression
wurde von Techniken dominiert, die das Problem der Kompression mit
bewegungskompensierten vorhersagegestützten Ansätzen lösen wollen. Ein Beweis für diese
Dominanz ergibt sich aus den Standards ISO MPEG 1 und 2, dem Standard
ITU H.261 und dem neu hinzukommenden Standard ITU H.263. Jeder dieser
Videokompressionsstandards arbeitet mit einer blockgestützten Bewegungsschätzung zwischen
Videorahmen mit anschließender
Vorhersage eines Rahmens bzw. Bewegungskompensation, um die Menge
an redundanter Information vor dem Codieren zu ver ringern. Ein solcher Ansatz
führt zu
einer Reduzierung der Bits, die zum wirksamen Codieren der Videoinformation
erforderlich sind.
-
Ein wichtiges Problem im Kontext
der bewegungskompensierten Videocodierung ist die Notwendigkeit der
effizienten Codierung der Bewegungsinformation und die Fehler bei
der bewegungsgestützten
Vorhersage. Der Vorhersagefehler zwischen zwei bewegungskompensierten
Videorahmen wird als Unterschied im Rahmenversatz ("Displaced Frame Difference", DFD) bezeichnet.
Der DFD ist im Allgemeinen ein nichtstationäres Hochpassbild, das aus Fehlern
um die Ränder
sich bewegender Objekte besteht, wo eine Bewegungsschätztechnik
die Bewegung in der Videoszene nicht adäquat darstellen konnte. Oft
wird der DFD auch Bereiche mit großer, homogener Fehlerinformation
enthalten. Dies geschieht, wenn neue Objekte die Szene betreten,
oder wenn Objekte um einen großen
Betrag der Bewegung zwischen Videorahmen verschoben werden.
-
Unterschiedliche Kompressionstechniken
ergeben bei Anwendung auf das Problem der Codierung des DFD unterschiedlich
hohe Wirkungsgrade. Der klassische Ansatz zur Codierung der DFD-Information
ist die Verwendung einer blockweisen diskreten Kosinustransformation
("Discrete Cosine
Transform", DCT)
bei anschließender
Entropiecodierung der Koeffizienten der Transformation. Dieser Ansatz
funktioniert gut, wenn die Pixel in jedem Block durch einen Markowschen
Prozess erster Ordnung gut modelliert werden. Was die Fähigkeit
zur Energiekomprimierung angeht, so kommt die DCT der optimalen
Transformation (der Karhunen-Loeve-Transformation) nahe, wenn dieses Markowsche
Modell erster Ordnung erfüllt
ist. Wenn dieses Modell jedoch zusammen bricht, kann die DCT hinsichtlich
der Codierung des DFD-Bildes
weniger effizient werden als einige alternative Techniken. Einige
der anderen Ansätze,
die auf die Codierung des DFD erfolgreich angewandt wurden, umfassen:
Vektorquantisierung, Wavelets oder Teilbandcodierung und nichtorthogonale
Erweiterungen der Gabor-Funktion. Jeder dieser Ansätze hat
unterschiedliche Codierungseigenschaften aus der DCT und kann bei
der Codierung des DFD unter verschiedenen Umständen effizienter sein. Wenn
der DFD zum Beispiel keine großen
homogenen Informationsbereiche hat, aber aus perzeptorisch wichtiger
Fehlerinformation um die Ränder
signifikanter Objekte besteht, kann der Ansatz mit der Gabor-Erweiterung
im Codierungswirkungsgrad besser sein als die DCT.
-
Die Art des DFD hinsichtlich des
Energiegehalts des Signals sinnvoll zu charakterisieren ist also
ein sehr wichtiges Problem. Eine solche Charakterisierung zu haben,
kann zu einem effizienteren Gebrauch der verschiedenen Arten von
bereits vorhandenen Codierwerkzeugen führen. Im Kontext des Problems
der Ratenkontrolle, der Zuordnung von Bits über eine Videosequenz mit einer
Ziel-Ausgangsbitrate, kann eine solche Charakterisierung zusätzliche
nützliche
Informationen liefern, um die Zuordnung verfügbarer Bits perzeptorisch bedeutsam
zu machen. Frühere
Arbeiten im Zusammenhang mit bestehenden Ratenkontrollsystemen konzentrierten
sich weitgehend auf die Zuordnung von Bits auf Blockebene, um eine
Gesamtbitrate zu erzielen. Die Berücksichtigung der globalen Eigenschaften
des DFD ist jedoch keine Technik, die zur Auswahl aus alternativen
Kompressionstechniken auf Rahmenebene verwendet wurde, um eine Zielbitrate
insgesamt zu erzielen.
-
Es besteht also ein Bedarf an einem
Verfahren, einer Vorrichtung und einem Mikroprozessor zur effizienten
Verwendung einer Vielzahl von Codiertechniken zum Komprimieren von
Videosequenzen mit Variationen in der Menge und Art der Bewegung
zwischen Rahmen in der Szene.
-
Die Erfindung wird in Verfahrensanspruch
1, Vorrichtungsanspruch 5 und Mikroprozessoranspruch 8 spezifiziert.
Bevorzugte Ausführungsformen
werden in den Unteransprüchen
dargelegt.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Flussdiagramm einer bevorzugten Ausführungsform von Schritten eines
Verfahrens gemäß der vorliegenden
Erfindung.
-
2 ist
ein Flussdiagramm einer weiteren bevorzugten Ausführungsform
von Schritten eines Verfahrens gemäß der vorliegenden Erfindung.
-
3 ist
ein Blockdiagramm einer bevorzugten Ausführungsform einer Vorrichtung
gemäß der vorliegenden
Erfindung.
-
4 ist
eine schematische Darstellung einer bevorzugten Ausführungsform
eines Mikroprozessors gemäß der vorliegenden
Erfindung.
-
Beschreibung
einer bevorzugten Ausführungsform
-
Eine Videosequenz besteht aus einzelnen
Bildern, oder Rahmen, von Videodaten, die zweidimensionale Darstellungen
einer dreidimensionalen Szene sind. Ein Videorahmen zum Zeitpunkt
k wird dargestellt durch das zweidimensionale Signal fk(i,
j). Diese Rahmen erscheinen in regelmäßigen Zeitabständen. Den
Unterschied im Rahmenversatz ("Displaced
Frame Difference",
DFD) erhält
man durch Heranziehen des Unterschieds in den Intensitätswerten
an jedem Pixel in einem Rahmen zwischen dem aktuellen Rahmen, fk(i, j), und einer bewegungskompensierten
Version des vorhergehenden Rahmens, fk–1(i – dx(i,
j),j – dy(i,
j)), wobei dx(i, j) und dy(i, j) die geschätzten Verschiebungen in Richtung
x und y am Pixel (i, j) sind, die man anhand einer vorbestimmten
Bewegungsschätztechnik
erhalten hat. Der DFD, der ein Bild des Vorhersagefehlers ist, kann mit
einer Vielzahl von Kompressionstechniken codiert werden, wie oben
erwähnt.
-
Die vorliegende Erfindung stellt
ein Verfahren bereit, das eine entsprechende Codiertechnik aus einem vorbestimmten
Satz von Kandidaten für
jeden ankommenden DFD-Rahmen einer Videosequenz in dem Codierer
auswählt.
Dieses Verfahren führt
zur effizienten Verwendung der Vielzahl von Codiertechniken zum Komprimieren
von Videosequenzen mit Variationen in Menge und Art der Bewegung
zwischen Rahmen in der Szene.
-
l zeigt
unter dem Bezugszeichen 100 ein Flussdiagramm einer bevorzugten
Ausführungsform
eines Verfahrens zur wahlweisen Komprimierung von Videorahmen eines
bewegungskompensierten vorhersagegestützten Video-Codecs gemäß der vorliegenden
Erfindung. Der erste Schritt besteht in der Verwendung des aktuellen
Unterschieds im Rahmenversatz, DFD, zur Berechnung eines aktuellen
Schätzwerts
einer Energie für
den DFD (102). Der nächste
Schritt besteht in der Berechnung eines Verhältnisses dieses Energieschätzwerts
zu einem historischen Mittel von Energieschätzwerten früherer DFDs (104).
Der aktuelle vorbestimmte Schwellenwert wird dann spezifiziert als
der erste vorbestimmte Schwellenwert aus einer Liste von Schwellenwerten
(106). Das Verhältnis
wird dann mit einem vorbestimmten Schwellenwert nach einem vorbestimmten
iterativen Schema verglichen (108). Das vorbestimmte iterative
Schema besteht in der Wiederholung eines Vergleichs des Verhältnisses
mit dem nächsten
aktuellen vorbestimmten Schwellenwert, der zu einer vorbestimmten
DFD-Codiertechnik gehört.
Wenn das Verhältnis
den aktuellen vorbestimmten Schwellenwert übersteigt, wird die entsprechende
Technik zum Codieren des aktuellen DFD gewählt (110). Andernfalls
wird das Verhältnis
mit dem nächsten
vorbestimmten Schwellenwert verglichen (112), der zu einer
anderen Codiertechnik gehört.
Der Prozess wird wiederholt, bis der Satz potentieller Codiertechniken
erschöpft
ist.
-
2 zeigt
unter dem Bezugszeichen 200 ein Flussdiagramm einer weiteren
bevorzugten Ausführungsform
eines Verfahrens zur wahlweisen Komprimierung von Videorahmen eines
bewegungskompensierten vorhersagegestützten Video-Codecs gemäß der vorliegenden
Erfindung. Der erste Schritt besteht in der Gewichtung des aktuellen
Unterschieds im Rahmenversatz, um einen mittenbasierten DFD bereitzustellen (202).
Der gewichtete DFD ist der ursprüngliche
DFD bei einem gegebenen Rahmen multipliziert mit einem stückweisen
Pyramidenfenster. Dieser Fensterwert wird geändert in Abhängigkeit
von dem 16 × 16-Makroblock,
in dem die Pixel des DFD liegen. Der gewichtete DFD für alle Kanäle ist gegeben
durch:
-
-
Hier bezeichnet DFDk(i,
j) das Dreikanalbild des Unterschieds im Rahmenversatz
beim Rahmen k, und das Symbol ⎿⏌ gibt eine ganzzahlige
Rundung an. Die in der Gewichtungsfunktion erscheinenden Konstanten sind
hier für
Videobilder mit QCIF-Auflösung
angegeben, die im Y-Kanal eine Unterstützung von 176 × 144 haben
und in den Cr- und Cb-Kanälen
eine Unterstützung
von 88 × 72.
Diese Konstanten können
durch entsprechende Skalierung auf jedes Bildformat abgeändert werden.
Bei der QCIF-Auflösung
enthält
ein 16 × 16-Makroblock
16 × 16
Pixel aus dem Y-Kanal und 8 × 8
Pixel aus jedem der Chrominanzkanäle. Infolgedessen beschreibt
die obige Funktion ein Fenster, das eins zu eins auf die Pixel des
Y-Kanals abbildet.
Die Chrominanzpixel in jedem Makroblock werden durch denselben Wert
gewichtet wie die entsprechenden Pixel aus dem Y-Kanal in jenem
Makroblock. Bei dieser Gewichtung liegt die Betonung auf Makroblöcken zur
Mitte des Bildes hin, die perzeptorisch wichtig ist.
-
Der nächste Schritt besteht in der
Verwendung des gewichteten Unterschieds im Rahmenversatz zur Berechnung
eines aktuellen Schätzwerts
einer Energie für
den DFD (
204). Hier ist ein spezieller, rechnerisch einfacher
Schätzwert
definiert, der die durchschnittliche Energie in dem DFD eines Videorahmens
ungefähr angibt
(
206). Die Metrik ist die Summe von Absolutwerten ("sum of absolute values", SOA) eines gewichteten DFD,
gemessen über
die Luminanzebene Y und die Chrominanzebenen Cr und Cb eines Farbvideobildes.
Die SOA ist definiert als Sk beim Rahmen k für die einzelnen Kanäle des DFD:
Y, Cr, Cb.
wobei N = 144 und M = 176
für die
QCIF-Auflösung.
-
Der nächste Schritt besteht in der
Berechnung eines historischen Mittels von Energieschätzwerten
früherer
DFDs (
208). Das historische Mittel erhält man durch Mitteln der früheren n
S
ks. Das historische Mittel ist definiert
als:
was ein gleitender Mittelwert
der Energieänderungen
bei den DFDs von Rahmen zu Rahmen ist. Der Wert von n wird auf vier
gesetzt (
210). Die Geschichte dieser Änderungen wird wegen der zeitlichen
Korrelation, die über diesen
kleinen Zeitbereich im Allgemeinen existiert, über vier Rahmen verfolgt. Dieses
gemeinsame Mittel gleicht im Allgemeinen große Schwankungen im Maß der Vorhersagefehlerenergie
aus.
-
Im nächsten Schritt wird das aktuelle
Sk dividiert durch das aktuelle S
k, um ein Energieverhältnis zu bilden (212).
Der aktuelle vorbestimmte Schwellenwert wird dann gleich dem ersten
vorbestimmten Schwellenwert T1 gesetzt (214). Das Verhältnis wird
dann nach einem iterativen Schema mit dem aktuellen vorbestimmten
Schwellenwert Tc verglichen (218). Der iterative Vergleich
umfasst die Wiederho lung einer Reihe von Schritten, die das Verhältnis gegen
vorbestimmte Schwellenwerte prüfen,
die zu vorbestimmten DFD-Codiertechniken gehören. Der iterative Vergleich
besteht aus:
-
- A) wo das Verhältnis größer ist als der vorbestimmte
Schwellenwert, wird eine erste Kompressionstechnik ausgewählt (220);
- B) wo das Verhältnis
kleiner oder gleich dem vorbestimmten Schwellenwert ist, wird das
Verhältnis
mit einem nächsten
vorbestimmten Schwellenwert verglichen (224);
- C) wo das Verhältnis
größer ist
als der nächste
vorbestimmte Schwellenwert, wird eine nächste Kompressionstechnik ausgewählt (220);
- D) wo das Verhältnis
kleiner oder gleich dem nächsten
vorbestimmten Schwellenwert ist, wird Schritt C und D mit aufeinanderfolgenden
vorbestimmten Schwellenwerten und Kompressionstechniken aus einer
vorbestimmten Liste wiederholt, bis die Liste der vorbestimmten
Kompressionstechniken erschöpft
ist.
-
Die verwendeten vorbestimmten Schwellenwerte
erhält
man durch sukzessives Verringern der Größe eines anfänglichen
vorbestimmten Schwellenwerts T1 (214). Der Anfangswert
von T wird auf 1,00 gesetzt (216). Jedes Mal wenn das Verhältnis kleiner
ist als der vorbestimmte Schwellenwert, wird der nächste Schwellenwert
berechnet durch Verkleinern von T um einen Faktor von 0,75 (222).
Bei einem Satz von drei in Frage kommenden DFD-Codiertechniken,
deren Eigenschaften so sind, dass jede aufeinanderfolgende Technik beim
Codieren einer geringeren und örtlich
begrenzteren Vorhersagefehlerenergie effizienter ist als die frühere Technik,
wären zum
Beispiel die zwei vorbestimmten Schwel lenwerte T1 = 1,00 und T2
= 0,75. Ein Beispiel für die
drei DFD-Codiertechniken wäre
die herkömmliche
blockgestützte
DCT-Codierung, die Erweiterung und Codierung nach der Gabor-Funktion
und die Codierung des DFD als absolut null Energie bzw. keine Codierung.
-
Diese Schwellenwertvergleichstests
müssen
auf einem subjektiven Verständnis
der Bedeutung des Vorhersagefehlers im Verhältnis zur Gesamtqualität der Szene
beruhen. Die Schwellenwerte können
also durch einen externen Ratenkontrollmechanismus gesteuert werden,
der die Kompromisse zwischen Codiertechniken anhand ihrer relativen
Ratenverzerrungscharakteristiken auf der Ebene des einzelnen Videorahmens
bestimmt.
-
Zu Beginn des iterativen Vergleichs
wird eine vorbestimmte Technik zur Erfassung der globalen Bewegung
durchgeführt
(226), und wo eine globale Bewegung erfasst wird, wird
eine vorbestimmte Untermenge aus der vorbestimmten Liste von Kompressionstechniken
zur Verwendung bei der Iteration ausgewählt. Eine globale Bewegung
wird erfasst, indem die Zahl der aus einem Videorahmen hinauszeigenden
Vektoren einer uneingeschränkten
Bewegung gemäß dem ITU
Draft International Standard H.263, Annex D, ermittelt wird. Herkömmliche
makroblockgestützte
Bewegungsvektoren erhält
man durch Suchen nach einer Übereinstimmung nur
bei denjenigen Blöcken,
die innerhalb der Grenzen des vorherigen Rahmens liegen. Vektoren
einer uneingeschränkten
Bewegung dürfen über die
Grenzen des vorherigen Rahmens hinauszeigen. Die übereinstimmenden
Blöcke
für jene
Makroblöcke
erhält
man durch Wiederholen der Randpixel des vorherigen Rahmens. Wenn
es eine globale Bewegung gibt (vor allem beim Schwenken der Kamera),
liefern die über
die Grenzen hinauszeigen den Vektoren oft die beste Übereinstimmung
(was das absolute Fehlermaß angeht,
mit dem eine Übereinstimmung
ermittelt wird). Wenn es jedoch keine globale Bewegung gibt, stimmen
die Vektoren der ausgedehnten Suche normalerweise mit den Vektoren
der Standardsuche überein,
und es werden nur wenige gewählt,
die über
die Grenzen hinauszeigen.
-
Bei der Erfassung einer globalen
Bewegung wird die Zahl der gewählten
Vektoren gezählt,
die über die
Grenzen des vorherigen Rahmens hinauszeigen, und jene Zahl wird
mit einem vorbestimmten Schwellenwert t verglichen. Wenn diese Zahl
den vorbestimmten Schwellenwert übersteigt,
gilt dieser Rahmen als Rahmen einer globalen Bewegung. Der vorbestimmte
Schwellenwert t wird für
ein Video mit QCIF-Auflösung auf 15
gesetzt (228). Die Erfassung einer globalen Bewegung führt zu einer
Reduzierung im Satz vorbestimmter Kompressionstechniken. Diejenigen
Techniken, die nicht alle räumlichen
Positionen in dem Bild vollständig
aktualisieren, werden aus dem Satz entfernt. Wenn zum Beispiel drei
vorbestimmte in Frage kommende Techniken eine DCT, eine Gabor-gestützte nichtorthogonale
Erweiterung und keine Codierung waren, würde nur die DCT-Technik in
dem Satz vorbestimmter Techniken belassen werden. Dies würde in diesem
Beispiel zu nur einer verfügbaren,
in Frage kommenden Codierung in Gegenwart einer globalen Bewegung
führen.
-
3 zeigt
unter dem Bezugszeichen 300 ein Blockdiagramm einer bevorzugten
Ausführungsform
einer Vorrichtung zur wahlweisen Komprimierung von Videorahmen eines
bewegungskompensierten vorhergesagegestützten Video-Codecs gemäß der vorliegenden
Erfindung. Die Vorrichtung umfasst eine Schätzeinheit (302), einen
Dividierer (304), einen Komparator (306) und ein
Steuergerät
(308). Die Schätzeinheit (302)
verwendet den aktuellen Unterschied im Rahmenversatz (310)
zur Berechnung eines aktuellen Schätzwerts einer Energie für den Unterschied
im Rahmenversatz gemäß der bevorzugten
Ausführungsform
des oben beschriebenen Verfahrens (200). Der Dividierer
(304) ist mit der Schätzeinheit
(302) verbunden und dient zum Berechnen eines Verhältnisses
des aktuellen Schätzwerts
einer Energie für
den Unterschied im Rahmenversatz (312) zum historischen
Mittel (316) gemäß der bevorzugten
Ausführungsform
des oben beschriebenen Verfahrens (200). Der Komparator
(306) ist mit dem Dividierer (304) verbunden und
dient zum Ermitteln einer Kompressionstechnik durch Vergleichen
des Verhältnisses
(314) mit einem vorbestimmten Schwellenwert (318)
nach einem vorbestimmten iterativen Schema, das eine vorbestimmte
Liste in Frage kommender Kompressionstechniken mit vorbestimmten
Schwellenwerten gemäß der bevorzugten
Ausführungsform
des oben beschriebenen Verfahrens (200) assoziiert. Das
Steuergerät
(308) ist mit dem Komparator und dem Dividierer verbunden
und dient zum Implementieren des iterativen Vergleichsschemas gemäß der bevorzugten
Ausführungsform
des obigen Verfahrens (200). Die Vorrichtung gibt eine
ausgewählte
DFD-Codiertechnik
aus (320).
-
4 zeigt
unter dem Bezugszeichen 400 eine schematische Darstellung
einer bevorzugten Ausführungsform
eines Mikroprozessors gemäß der vorliegenden
Erfindung. Der Mikroprozessor umfasst eine Schätzeinheit (402), einen
Dividierer (404), einen Komparator (406) und ein
Steuergerät
(408). Die Schätzeinheit (402)
verwendet den aktuellen DFD (410) zur Berechnung eines
aktuellen Schätzwerts
einer Energie für
den DFD gemäß der bevorzugten
Ausführungsform
des oben beschriebenen Verfahrens (200). Der Dividierer (404)
ist mit der Schätzeinheit
(402) verbunden und dient zum Berechnen eines Verhältnisses
des aktuellen Schätzwerts
einer Energie für
den DFD (412) zum historischen Mittel (416) gemäß der bevorzugten
Ausführungsform
des oben beschriebenen Verfahrens (200). Der Komparator
(406) ist mit dem Dividierer (404) verbunden und
dient zum Ermitteln einer Kompressionstechnik durch Vergleichen
des Verhältnisses
(414) mit einem vorbestimmten Schwellenwert (418)
nach einem vorbestimmten iterativen Schema, das eine vorbestimmte
Liste von in Frage kommenden Kompressionstechniken mit vorbestimmten
Schwellenwerten gemäß der bevorzugten
Ausführungsform
des oben beschriebenen Verfahrens (200) assoziiert. Das
Steuergerät
(408) ist mit dem Komparator und dem Dividierer verbunden
und dient zum Implementieren des iterativen Vergleichsschemas gemäß der bevorzugten
Ausführungsform
des obigen Verfahrens (200). Der Mikroprozessor gibt eine ausgewählte DFD-Codiertechnik
aus (420).
-
Das Verfahren und die Vorrichtung
können
so gewählt
werden, dass sie in mindestens einem der folgenden verkörpert sind:
A) einer anwendungsspezifischen integrierten Schaltung; B) einer
Field-Programmable Gate Array ("field
programmable gate array");
und C) einem Mikroprozessor; und D) einem maschinenlesbaren Speicher;
die ausgelegt und konfiguriert sind zur wahlweisen Komprimierung
von Videorahmen eines bewegungskompensierten vorhersagegestützten Vidoe-Codecs anhand einer
vorbestimmten geschätzten
Bewegung zwischen zwei Videorahmen, eines Unterschieds im Rahmenversatz
zwischen zwei Videorahmen, und eines historischen Mittels von Energieschätzwerten
der früheren
Unterschiede im Rahmenversatz gemäß dem oben ausführlicher
beschriebenen Schema.
-
Wenngleich beispielhafte Ausführungsformen
oben beschrieben werden, wird es für den Fachmann offensichtlich
sein, dass viele Änderungen
und Modifikationen vorgenommen werden können, ohne von der beanspruchten
Erfindung abzuweichen. Demnach sollen alle solchen Änderungen
und Modifikationen im Rahmen der Erfindung gemäß den beigefügten Ansprüchen enthalten
sein.