-
Die
Erfindung betrifft ein Verfahren zur Videocodierung gemäß dem Oberbegriff
des Anspruchs 1, ein Verfahren zur Decodierung gemäß dem Gattungsbegriff
des Anspruchs 22 sowie Codierer zur Videocodierung gemäß dem Gattungsbegriff
des Anspruchs 23 und eine Decodiervorrichtung gemäß dem Gattungsbegriff
des Anspruchs 24.
-
Digitale
Videodaten werden für
eine Speicherung oder Übertragung
in der Regel komprimiert, um das enorme Datenvolumen signifikant
zu reduzieren. Die Kompression erfolgt dabei sowohl durch Elimination
der in den Videodaten enthaltenen Signalredundanz als auch durch
Beseitigung der für
das menschliche Auge nicht wahrnehmbaren irrelevanten Signalteile.
Dies wird in der Regel durch ein hybrides Codierverfahren erreicht,
bei dem das zu codierende Bild zunächst zeitlich prädiziert
und der verbleibende Prädiktionsfehler
anschließend
in den Frequenzbereich, zum Beispiel durch eine diskrete Cosinustransformation,
transformiert und dort quantisiert und durch einen variablen Längencode
codiert wird. Die Bewegungsinformation und die quantisierten Spektralkoeffizienten
werden schließlich übertragen.
-
Je
besser diese Vorhersage der nächsten
zu übertragenden
Bildinformation ist, desto kleiner ist der nach der Prädiktion
verbleibende Prädiktionsfehler
und um so weniger Datenrate muss anschließend für die Codierung dieses Fehlers
aufgewendet werden. Eine wesentliche Aufgabe bei der Kompression von
Videodaten besteht also darin, eine möglichst exakte Prädiktion
des zu codierenden Bildes aus der bereits zuvor übertragenden Bildinformation
zu gewinnen.
-
Die
Prädiktion
eines Bildes wird bisher dadurch bewirkt, dass das Bild zunächst zum
Beispiel in regelmäßige Teilstücke, typischerweise
quadratische Blöcke
der Größe 8 × 8 oder
16 × 16
Bildpunkte, eingeteilt wird, und für jeden dieser Bildblöcke anschließend eine
Prädiktion
aus der bereits im Empfänger bekannten
Bildinformation durch Bewegungskompensation ermittelt wird. (Es
können
sich allerdings auch Blöcke
mit unterschiedlicher Größe ergeben.) Derartige
Vorgehensweise lässt
sich der 1 entnehmen.
Es können
hierbei zwei grundsätzliche
Fälle der
Prädiktion
unterschieden werden:
- – Uni-direktionale Prädiktion:
Die Bewegungskompensation erfolgt hier ausschließlich auf der Basis des zuvor übertragenden
Bildes und führt zu
sogenannten "P-Frames".
- – Bi-direktionale
Prädiktion:
Die Prädiktion
des Bildes erfolgt durch Überlagerung
von zwei Bildern, von denen eines zeitlich voran liegt und ein weiteres
zeitlich nachfolgt und das zu sogenannten "B-Frames" führt.
Zu beachten ist hierbei, dass beide Referenzbilder bereits übertragen
worden sind.
-
Entsprechend
dieser beiden möglichen
Fälle der
Prädiktion
ergeben sich bei bewegungskompensierten zeitliche Filterungen („Motion
Compensated Temporal Filtering",
MTCF) fünf
Richtungsmodi im Verfahren von MSRA [1] wie sie in 2 zu entnehmen ist.
-
MCTF-basierte
skalierbaren Videocodierung wird eingesetzt, um eine gute Videoqualität für einen sehr
großen
Bereich möglicher
Bitraten und auch zeitlichen und örtlichen Auflösungsstufen
zu gewährleisten.
Die heute bekannten MCTF-Algorithmen zeigen dabei aber unakzeptable
Ergebnisse für
reduzierte Bitraten, was darauf zurückzuführen ist, dass zu wenig Textur
(Blockinformationen) im Verhältnis zu
den Informationen, welche auf die Bewegungsinformationen (Blockstrukturen
und Bewegungsvektoren) eines durch eine Bildfolge definierten Videos
Bezug nehmen, vorhanden sind.
-
Es
bedarf daher einer skalierbaren Form der Bewegungsinformation, um
ein optimales Verhältnis zwischen
Textur und Bewegungsdaten bei jedweder Bitrate und auch Auflösung zu
erzielen. Hierzu ist aus [1] eine Lösung von MSRA (Microsoft Research
Asia) bekannt, welche den aktuellen Stand der MCTF-Algorithmen darstellt.
-
Dabei
schlägt
die MSRA-Lösung
vor, Bewegungen schichtenweise darzustellen, respektive sie in sich
sukzessive verfeinerten Strukturen aufzulösen. Das MSRA-Verfahren erzielt
damit, dass die Qualität
von Bildern bei niedrigen Bitraten im Allgemeinen verbessert wird.
-
Diese
Lösung
hat jedoch den Nachteil, dass sie zu einigen Verschiebungen im rekonstruierten Bild
führen,
welche auf einen Versatz zwischen den Bewegungsinformationen und
der Textur zurückzuführen sind.
-
Eine
Verbesserung hierzu ist aus der deutschen Patentanmeldung mit dem
Aktenzeichen 10 2004 038 110.0 bekannt.
-
Bei
dem dort beschriebenen Verfahren, welches insbesondere ein gemäß MSRA erzeugtes komplettes
Bewegungsvektorfeld (Temporäre
Blockstrukturen MV_QCIF, MV_CIF und MV_4CIF), das encoderseitig
definiert wird, eben nicht komplett überträgt|, sondern vielmehr lediglich
den signifikantesten Teil dieses Bewegungsvektorfelds. Die Erzeugung
des signifikantesten Teils wird dabei durch eine Art Verfeinerung
der Blockstrukturen erwirkt, die dadurch erreicht wird, dass auf
Grund von Struktureigenschaften nur Teile der Strukturunterschiede
zwischen aufeinander folgenden Blockstrukturen ermittelt und zur
Erzeugung von verfeinerten Blockstrukturen verwendet werden.
-
Problematisch
ist hierbei, dass nicht jede durch verfeinerte Blockstruktur und
zugehöriger
Textur erreichte visuelle Qua lität
gegenüber
einer durch eine entsprechende Grundstruktur und zugehöriger Textur
erreichbaren visuellen Qualität
eine Steigerung bedeutet.
-
Die
der Erfindung zugrunde liegende Aufgabe ist es ein Verfahren zum
Codieren und Decodieren, sowie einen Codierer und Decoder anzugeben, welche
eine bessere Einbettung verfeinerter Strukturen ermöglichen.
-
Diese
Aufgabe wird ausgehend von dem Verfahren zur Codierung gemäß dem Oberbegriff
des Anspruchs 1 durch dessen kennzeichnende Merkmale gelöst. Ferner
wird diese Aufgabe durch ein Verfahren zur Decodierung gemäß dem Gattungsbegriff
des Anspruchs 22, dem Codierer gemäß dem Gattungsbegriff des Anspruchs
23 sowie dem Decodierer gemäß dem Gattungsbegriff
des Anspruchs 24 durch deren Merkmale gelöst.
-
Bei
dem erfindungsgemäßen Verfahren
zur Videocodierung von Bildfolgen, bei dem Bilder der Bildfolge
derart skaliert codiert werden, dass die sich ergebenden Videodaten
Informationen enthalten, die eine Darstellung der Bilder in einer
Vielzahl sich unterscheidender Stufen von einer durch die Anzahl von
Bildpunkten je Bilddarstellung definierten Auflösung der Bilder und/oder Bildqualitäten (z.B.
abhängig
von der Datenrate) gewährleisten,
wobei die Codierung derart blockbasiert erfolgt, dass für eine Beschreibung
einer etwaigen in der Bildfolge enthaltenen Bewegung von Teilen
eines der Bilder zumindest eine die Bewegung beschreibende Blockstruktur
erzeugt wird, die derart ausgestaltet ist, dass sie ausgehend von
einem Block in Teilblöcke
zum Teil mit die Teilblöcke
sukzessive feiner unterteilenden Subblöcken unterteilt wird, wird
temporär
für zumindest
eine erste Auflösungsstufe
eine erste Blockstruktur und für
eine zweite Auflösungsstufe
eine zweite Blockstruktur erzeugt, wobei die erste Auflösungsstufe eine
niedrigere Bildpunktanzahl und/oder Bildqualität aufweist als die zweite Auflösungsstufe.
Ferner wird die zweite Blockstruktur mit der ersten Blockstruktur derart
verglichen, dass Unterschiede in der Blockstruktur ermittelt werden,
so dass auf Grundlage von Eigenschaften der Strukturunterschiede
eine modifizierte zweite Blockstruktur derart erzeugt wird, dass deren
Struktur eine Teilmenge der zweiten Blockstruktur darstellt. Anschließend werden
die modifizierte zweite Blockstruktur und zweite Blockstruktur anhand
zumindest eines zu einer Qualität
des Bildes proportionalen Wertes verglichen und diejenige Blockstruktur
der Codierung der Bitfolge zugrunde gelegt, dessen Wert direkt proportional
zu einer besseren Qualität
ist.
-
Durch
diese Verfahrensweise wird der Unterschied zwischen Texturinformationen
minimiert und zudem lassen sich diese Informationen mit minimalem
Aufwand codieren. Zudem verschwindet der Versatz für die Fälle, wo
beispielsweise das feinste Bewegungsvektorfeld gewählt worden
ist, so dass eine Verbesserung der Bildqualität auch bei niedrigeren Bitraten
sowie niedrigeren Auflösungen
gewährleistet
ist.
-
Durch
das erfindungsgemäße Vergleichen wird
des Weiteren vor allem durch den Vergleich gewährleistet, dass eine schrittweise
sich immer besser anpassende und vor allem eine optimale Anpassung zwischen
einer Bewegungsschätzung
und der Eingebettetheit von Restfehlerbildern erreicht wird. Zudem zeichnet
es sich durch besondere Effizienz aus.
-
Vorzugsweise
werden hierzu zur Unterschiedsermittlung hinzugekommene Subblöcke erfasst,
wobei zu den Unterschiedsermittlungen alternativ bzw. ergänzend die
Eigenschaften der Subblöcke
erfasst werden.
-
Wird
als Subblockeigenschaft die Blockgröße der Subblöcke erfasst,
erhält
man einen in praxi sehr guten Indikator für den Grad der Feinheit der
erzeugten Blockstrukturen.
-
Wird
für die
Unterschiedsermittlung nur derjenige Teilblock der ersten Blockstruktur
herangezogen, der dem Teilblock der zweiten Blockstruktur entspricht,
können
die Differenzen der Texturinformationen noch weiter reduziert werden.
-
Hierbei
werden vorzugsweise nur diejenigen Subblöcke der zweiten Blockstruktur
in die modifizierte zweite Blockstruktur übernommen, deren Blockgröße einen
definierbaren Schwellwert erreichen. Hierdurch wird erreicht, dass
nicht eine komplette Blockstruktur, d.h. ein komplettes Bewegungsvektorfeld übertragen
werden muss, sondern lediglich der signifikanteste Teil der Struktur.
Dies führt zum
einen zu einer Reduzierung der zu übertragenen Information und
zudem trotz dieser Reduktion zu einer Eliminierung bzw. Reduktion
des Versatzes, so dass Artefakte im encodierten Bild reduziert bzw.
eliminiert werden. In praxi ist dabei der Einsatz eines definierbaren
Schwellwertes von besonders großem Vorteil,
da beispielsweise durch Simulation oder Experimentalversuche ermittelte
optimale Werte hier eingestellt werden können, von denen aufgrund der Ergebnisse
der Simulation bzw. Experimente sehr gute Ergebnisse zu erwarten
sind.
-
Bevorzugt
wird dabei der Schwellwert derart definiert, dass er ein Verhältnis der
Blockgröße eines Subblocks
der zweiten Blockstruktur zu einer in einem zum Vergleich herangezogenen
Bereich der ersten Blockstruktur enthaltenen Blockgröße angibt, welche
dem kleinsten Subblock des Bereiches zugeordnet ist.
-
Des
Weiteren wird bei einer Weiterbildung vorgesehen, zu kennzeichnen,
dass die übernommenen
Subblöcke
nicht-dyadisch sein können.
-
Eine
weitere Verbesserung der Ergebnisse hinsichtlich der Darstellung
des decodierten Bildes lässt
sich erreichen, wenn als erste Blockstruktur einer dritten Auflösungsstufe
die modifizierte zweite Blockstruktur der zweiten Auflösungsstufe
verwendet wird, wobei die zweite Auflösungsstufe eine niedrigere
Bildpunktanzahl und/oder Bildqualität aufweist als die dritte Auflösungsstufe.
|Hiermit werden also mögliche
weitere Blockstrukturen höherer
Auflösungsstufen
zur Erzeugung der modifizierten zweiten Blockstruktur herangezogen,
bei denen die modifizierte zweite Blockstruktur der jeweils vorhergehenden
Auflösungsstufe
zum erfindungsgemäßen Vergleich
verwendet wird.
-
Für eine Decodierung
von Vorteil ist es auch, dass die Codierung derart erfolgt, dass
in die zweite modifizierte Blockstruktur nicht übernommene Subblöcke jeweils
gekennzeichnet werden.
-
Hierzu
ist es vorzugsweise vorgesehen, dass die Kennzeichnung durch die
Verwendung eines insbesondere als „not_refind" bezeichneten Richtungsmodus
erfolgt.
-
Bei
einer Weiterbildung der Erfindung wird im Rahmen der Codierung der
Bitfolge ein Bitstrom derart erzeugt, dass er eine skalierbare Textur
repräsentiert,
wobei dies vorzugsweise dadurch erfolgt, dass der Bitstrom durch
eine Anzahl von Bitebenen realisiert sowie insbesondere zumindest
abhängig
vom Vergleichsergebnis sowie von einer für eine Übertragung zu realisierenden
Bitrate variiert wird. Hierdurch wird eine angepasste SNR Skalierbarkeit
erreicht.
-
Wird
zudem noch die Anzahl der Bitebenen in Abhängigkeit der Auflösungsstufe
variiert, wird eine feine Granularität der SNR Skalierbarkeit gewährleistet.
-
Vorteilhaft
ist es dabei auch, wenn im Fall der direkten Proportionalität des Wertes
der modifizierten zweiten Blockstruktur zumindest ein erster Teil
der die zweite Blockstruktur repräsentierenden Bitebenen aktualisiert
wird. Hierdurch wird erreicht, dass decoderseitig die entsprechende
zweite modifizierte Blockstruktur zur Verfügung steht.
-
Dabei
kann die Aktualisierung beispielsweise derart erfolgen, dass die Übertragung
eines zweiten Teils erfolgt oder alternativ, dass der erste Teil durch
einen zweiten Teil von Bitebenen modifiziert wird.
-
Vorzugsweise
erfolgt die Aktualisierung dabei derart, dass diejenigen Regionen
einer der zweiten Blockstruktur zugeordneten Textur verfeinert werden,
die durch die modifizierte zweite Blockstruktur definiert sind,
so dass hierdurch im Endergebnis eine gute Bildqualität selbst
für verschiedene örtlich-zeitliche
Auflösungen
bzw. Bitraten zur Verfügung
steht, ohne dabei einer Drift zu unterliegen, welche durch einen
Versatz zwischen Bewegungsvektorfeldern und Restfehlerblöcken, welche
die Verfeinerung der Blockstrukturen nicht nutzen, entsteht.
-
Eine
zusätzliche
Stützung
der feineren Granularität
wird erreicht, wenn bei einer hohen Bitrate eine über die
Anzahl hinausgehende zweite Anzahl von Bitebenen übertragen
wird.
-
Die
der Erfindung zugrunde liegende Aufgabe wird auch durch das Verfahren
zum Decodieren einer codierten Bildfolge dadurch gelöst, dass
unter Berücksichtigung
der in der Bildfolge enthaltenen nach einem Verfahren, insbesondere
dem oben beschriebenen, zum Aktualisieren von Bewegungsinformationen
erzeugten Informationen sowie einem eine skalierbare Textur repräsentierenden
Bitstrom eine skalierte Darstellung der Bildfolge erzeugt wird.
-
Einen
Beitrag zur Lösung
der Aufgabe leisten auch der erfindungsgemäße Codierer, welcher Mittel
zur Durchführung
des Verfahrens aufweist sowie ein entsprechender Decodierer, welcher
Mittel zum Decodieren einer nach dem Verfahren erzeugten codierten
Bildfolge aufweist.
-
Vorzugsweise
weist der Decodierer hierzu Mittel zum Detektieren skalierbare Texturen
repräsentierenden
Teilen des Bitstroms anzeigender erster Signale sowie ergänzend Mittel
zum Detektieren zu aktualisierende Regionen anzeigender zweiter
Signale, wobei die Signale jeweils insbesondere als Syntaxelemente
ausgestaltet sind. Hierdurch werden die durch das erfindungsgemäße Verfahren
erzielten Verbesserungen in der Qualität der Darstellung decoderseitig
durchführbar.
-
Wenn
der Decoder über
Mittel zur Bestimmung derjeniger Bitebenen, bei der eine Aktualisierung
zu Verbesserungen einer Darstellung der codierten Bildfolge führt und
alternativ oder ergänzend über Mittel
zur Bestimmung derjenigen Bitebene verfügt, bei der die Aktualisierung
einer Textur erfolgen soll, lässt
sich die verfeinerte bzw. skalierbare Darstellung der Bildfolge
exakt rekonstruieren.
-
Weist
der Decoder Mittel zur Aktualisierung einer Textur auf, die derart
ausgestaltet sind, dass eine Berücksichtigung
einer aktualisierten Bewegungsinformation erfolgt, lässt sich
die durch das erfindungsgemäße Verfahren
zum Codieren erzielte Eliminierung des Versatzes bei der decoderseitig
erzeugten skalierbaren Darstellung der Bildfolge gewährleisten.
-
Dabei
ist Decoder vorzugsweise durch Aktualisierungsmittel gekennzeichnet,
die derart ausgestaltet sind, dass aus einer vorhandenen Textur
eine aktualisierte Textur derart gebildet wird, dass aus der zu
der Textur zugeordneten Texturinformation und einer Texturaktualisierungsinformation
die aktualisierte Texturinformation gebildet wird, wobei die Aktualisierungsmittel
derart ausgestaltet sind, dass die Texturinformation zumindest teilweise
durch die Texturaktualisierungsinformation ersetzt wird.
-
Weitere
Einzelheiten der Erfindungen sowie Vorteile werden anhand der 1 bis 7 mit Bezug auf ein Ausführungsbeispiel
der Erfindung erläutert. Dabei
zeigt:
-
1 das
Modell einer Bewegungsschätzung
zum Generieren skalierbarer Bewegungsinformation,
-
2 die
hierzu notwendigen Richtungsmodi,
-
3 die
hierbei zur Anwendung kommenden Subblockgrößen,
-
4 die
schematische Darstellung erfindungsgemäß erzeugter Blockstrukturen,
-
5 schematisch
die erfindungsgemäße Entscheidung über Aktualisierungen
-
6 schematisch
die erfindungsgemäße Erzeugung
eines Aktualisierten Bistroms
-
In 1 ist
schematisch die aus dem Stand der Technik bekannte MSRA-Lösung dargestellt,
die zum besseren Verständnis
der Erfindung erläutert wird,
da sie bei dem beschriebenen Ausführungsbeispiel zumindest in
Teilen zum Einsatz kommt.
-
Gemäß MSRA wird
die angesprochene Multilayer-Bewegungsschätzung in jeder temporären Schicht
(Layer) durchgeführt.
Die Bewegungsschätzung
ist dabei bei einer festen räumlichen
Auflösung mit
verschiedenen Makroblockgrößen realisiert,
damit das sich ergebende Bewegungsvektorfeld an die decodierte Auflösung adaptiert.
Beispielsweise wird, wenn es sich bei der originalen Auflösungsstufe
um ein CIF-codiertes Format handelt und die decodierte Auflösungsstufe
als QCIF-Format erfolgt, die Bewegungsschätzung auf der Auflösungsebene
des CIF-Formats bzw. der CIF-Auflösung durchgeführt, wobei
dies mit einer Blockgröße von 32 × 32 als
Basis und mit einer Makroblockgröße von 8 × 8 als kleinste
Blockgröße erfolgt.
Wenn es sich dagegen bei dem decodierten Format um das CIF-Format
handelt, wird die Größe der Makroblöcke um den
Faktor 2 herunter skaliert, wie es aus der 1 zu entnehmen
ist.
-
Wie
des Weiteren in 1 zu erkennen ist, werden im
unteren Zweig der dort dargestellten Verarbeitung für das Decodieren
des im QCIF-Format vorhandenen Blocks die ursprünglichen Bewegungsvektoren übertragen,
während
für jede
höhere Schicht,
beispielsweise jene, die für
das Decodieren des CIF-Blocks
dient, lediglich die Differenzinformation bezüglich der Bewegungsvektoren
verwendet wird. Dabei kann ein einzelner Bewegungsvektor einer niedrigeren
Schicht zur Prädiktion
mehreren Vektoren der höheren
Schicht dienen, wenn der Block in kleinere Teilblöcke aufgesplittet
wird.
-
Unterschiedliche
Modi weisen dabei auf die Richtung der Bewegungskompensation hin,
wie dies bereits angesprochen und in 2 dargestellt
ist, während
aus 3 zu erkennen ist, dass die Blockstrukturen gemäß dem MSRA-Verfahren
nach der gleichen Methode codiert werden, wie sie im Standard MPEG-4
AVC (Advanced Video Coding) [2] verwendet wird.
-
Um
eine die Blockstruktur und die Richtung der Bewegungskompensation
auszuwählen,
welche encodiert werden sollen, ist gemäß MSRA-Ansatz vorgesehen, eine
sogenannte Kostenfunktion zu nutzen, die für diese Funktion definiert
worden ist und welche unter dem Begriff „Rate Distortion Optimisation" bekannt ist.
-
In
der Multilayer-Darstellung der Bewegung gemäß MSRA werden verschiedene
Bewegungsdeskriptionen, welche an verschiedene örtliche Auflösungen angepasst
sind, für
die gleiche temporäre Schicht
(Frame Rate) generiert. Dabei wird die Bewegungsschätzung, welche
zu den höheren
Auflösungen
gehört,
als bereichernde Information (enhancement layer/information) betrachtet,
auf Grundlage einer Detektion der groben Bewegungsinformation. Da der
durch das grobe Bewegungsvektorfeld er zeugte Restfehlerblock sehr
viel Energie enthält,
wird nur derjenige Restfehlerblock übertragen, welcher nach der
feinsten Bewegungskompensation erzeugt wird. Dies führt, vor
allem wenn die grobe Bewegungsinformation gewählt wird, zu sehr starken Artefakten
in dem rekonstruierten Restfehlerbild, wobei dies sogar selbst bei
hoher Bitrate erfolgt.
-
In 4 ist
dargestellt, wie gemäß der Erfindung
erzeugte temporäre
Blockstrukturen unter Anwendung des erfindungsgemäßen Verfahrens
zu Blockstrukturen führen,
die letztendlich übertragenen werden
sollen.
-
Zu
erkennen sind drei temporäre
Blockstrukturen MV_QCIF, MV_CIF und MV_4CIF. Dabei ist jede dieser
Blockstrukturen erfindungsgemäß jeweils einer
Auflösungsstufe
zugeordnet, wobei mit Auflösungsstufe
das Format der Auflösung
bezeichnet wird, mit der ein nach dem erfindungsgemäßen Verfahren
codiertes Videosignal, welches aus Bildfolgen besteht, dargestellt
werden kann.
-
Für das vorliegende
Ausführungsbeispiel handelt
es sich dabei um das Common Intermediate Format (CIF), das QCIF
sowie das 4CIF Format.
-
QCIF
stellt dabei eine erste Auflösungsstufe, dass
heißt
die niedrigste Auflösungsstufe
für das
erfindungsgemäße Verfahren
gewählte
Auflösungsstufe
dar, so dass ihr erfindungsgemäß auch eine
erste Blockstruktur MV_QCIF zugeordnet wird, während CIF eine zweite Auflösungsstufe
darstellt, für
die erfindungsgemäß eine zweite
Blockstruktur MV_CIF erzeugt wird.
-
Das
Erzeugen der Blockstrukturen erfolgt dabei im Rahmen eines Bewegungsschätzungsalgorithmus,
beispielsweise unter Nutzung des bereits angesprochenen MCTF und/oder
MSRA Verfahrens.
-
Zu
erkennen ist des Weiteren, dass die temporären Blockstrukturen MV_QCIF,
MV_CIF und MV_4CIF sukzessive verfeinernde Subblockstrukturen aufweisen,
die dadurch gekennzeichnet sind, dass ausgehend von je temporärer Blockstruktur MV_QCIF,
MV_CIF und MV_4CIF definierten Teilblöcken MB1_QCIF...MB4_QCIF immer
feiner werdende weitere Subblöcke
hinzukommen.
-
Ferner
ist aus der Darstellung zu erkennen, dass die temporären Blockstrukturen
MV_QCIF, MV_CIF und MV_4CIF die gleiche örtliche Auflösung haben,
dies also trotz der sich von Auflösungsstufe zu Auflösungsstufe
erhöhenden
Bildpunktanzahl konstant bleibt.
-
In 4 sind
des Weiteren die zu übertragenden
bzw. letztendlich, beispielsweise für eine Streaming-Anwendung, übertragenen
Blockstrukturen MV_QCIF, MV_CIF und MV_4CIF zu erkennen, welche
unter Anwendung des erfindungsgemäßen Verfahrens aus den temporären Blockstrukturen MV_QCIF,
MV_CIF und MV_4CIF dadurch erzeugt werden, dass jeweils eine zu
einer hohen Auflösungsstufe
gehörige
Blockstruktur mit einer zu einer nächstniedrigeren Auflösungsstufe
gehörenden Blockstruktur
verglichen wird und als Ergebnis eine zur betrachteten Auflösungsstufe
gehörige
modifizierte Blockstruktur erzeugt wird, welche Subblockstrukturen
aufweist, die nur eine Teilmenge des der zur gleichen Auflösungsstufe
gehörigen
temporären Blockstruktur
enthält,
wobei es sich hierbei nicht um eine echte Teilmenge handelt, die
den Fall ausschließen
würde,
dass die Subblockstruktur der modifizierten Blockstruktur mit der
Subblockstruktur der entsprechenden temporären Blockstruktur identisch
ist, sondern, da es vielmehr es sogar so ist, dass dieser Sonderfall
nach dem erfindungsgemäßen Verfahren auch
auftreten kann, es sich lediglich um eine beispielsweise aus der
Mathematik bekannten (einfachen) Teilmenge handelt.
-
Dieser
erfindungsgemäße Algorithmus
soll im Folgenden etwas detaillierter erläutert werden.
-
Erfindungsgemäß wird mit
der Erzeugung einer zur niedrigsten Auflösungsstufe gehörenden Blockstruktur
begonnen. Aus dieser ersten Blockstruktur MV_QCIF ergibt sich gemäß der Erfindung dabei
unmittelbar die modifizierte Blockstruktur MV_QCIF, da für diesen
Fall naturgemäß kein Vergleich
mit einer vorherigen Blockstruktur erfolgen kann. Die sich unmittelbar
ergebende modifizierte Blockstruktur MV_QCIF hat daher die gleiche Subblockstruktur,
wie sie die erste Blockstruktur MV_QCIF aufweist.
-
Erfindungsgemäß wird in
einem weiteren Schritt zur nächsthöheren Auflösungsstufe,
in diesem Fall CIF, eine zweite Blockstruktur MV_CIF erzeugt. Zu
erkennen ist dabei, dass in die zweite Blockstruktur MV_CIF weitere
Subblöcke
hinzugekommen sind, welche zu einer feineren Subblockstruktur führen, wie
es im Vergleich hierzu die erste Blockstruktur MV_QCIF aufweist.
Die Subblöcke bzw.
Subblockstrukturen, welche hinzugekommen sind, sind dabei in der
Figur strichpunktiert dargestellt.
-
Erfindungsgemäß wird daher
in einem nächsten
Schritt ein Vergleich durchgeführt,
bei dem die hinzugekommenen Subblöcke dahingehend überprüft werden,
ob sie eine Blockgröße aufweisen, die
mehr als viermal kleiner ist, als die kleinste Blockgröße des entsprechenden
Teilbereiches der ersten Blockstruktur.
-
Trifft
dies zu, so wird die entsprechende Subblockstruktur in einer modifizierten
zweiten Blockstruktur MV_CIF aufgenommen, während in den Fällen, wo
der zu untersuchende Subblock eine geringere Verfeinerung darstellt,
auf die Übernahme der
Subblockstruktur in der zu übertragenden
modifizierten zweiten Blockstruktur verzichtet wird.
-
Um
dies besser erläutern
zu können,
sind in der 4 beispielhaft zwei der in der
zweiten Blockstruktur MV_CIF ent haltenen Subblöcke herausgegriffen worden,
nämlich
ein erster Subblock SB1 und ein zweiter Subblock SB2.
-
Der
erste Subblock SB1 befindet sich in einem ersten Teilblock MB1_CIF
der zweiten Blockstruktur MV_CIF. Entsprechend wird erfindungsgemäß in einem
zum ersten Teilblock MB1_CIF der zweiten Blockstruktur MV_CIF korrespondierenden ersten
Teilblock MB1_QCIF der ersten Blockstruktur MV_QCIF untersucht,
welches die hier auftretende kleinste Subblockgröße ist. Bei dem vorliegenden Beispiel
wird diese minimale Blockgröße durch
einen minimalen ersten Subblock MIN_SB1 definiert. Wie zu erkennen
ist, entspricht die Größe des ersten Subblocks
der Größe des ersten
minimalen Subblocks, so dass in diesem Fall gar keine Verfeinerung
vorliegt. Entsprechend wird erfindungsgemäß in der zu übertragenden
zweiten Blockstruktur MV_CIF die dem ersten Subblock zugrunde liegende Subblockstruktur
nicht übernommen,
so dass in der Darstellung gemäß 4 der
zweiten modifizierten Blockstruktur MV_CIF das strichpunktierte
Gitter an der entsprechenden Stelle fehlt.
-
Bei
dem Vergleich wird unter anderem auch ein zweiter Subblock SB2 für den Vergleich
herangezogen. Da der zweite Subblock SB2 sich in einen vierten Teilblock
MB4_CIF der zweiten Blockstruktur MV_CIF enthalten ist, wird entsprechend
in einem vierten Teilblock MB4_QCIF der ersten Blockstruktur MV_QCIF
nach einer minimalen Subblockgröße gesucht.
Dies ist durch einen zweiten minimalen Subblock MIN_SB2 gegeben,
der in diesem Fall den vierten Teilblock MB4_QCIF der ersten Blockstruktur MV_QCIF
exakt teilt. Wie zu erkennen ist, stellt in diesem Fall die Größe des zweiten
Subblocks SB2 ein Achtel der Größe des minimalen
zweiten Subblocks MIN_SB2 dar, so dass sogar eine achtfache Verfeinerung
im Vergleich zur ersten Blockstruktur MV_QCIF gegeben ist. Erfindungsgemäß wird daher
die den zweiten Subblock definierende Subblockstruktur auch in die
modifizierte zweite Blockstruktur MV'_CIF übernommen. Gleiches geschieht
für all diejenigen Blöcke der
zweiten Blockstruktur MV_CIF wie in der Darstellung gemäß 4 an
den gestrichelten Strukturen der modifizierten zweiten Blockstruktur
MV'_CIF zu erkennen
ist.
-
Wie
sich aus einem Vergleich der zweiten Blockstruktur MV_CIF und der
modifizierten zweiten Blockstruktur MV'_CIF zeigt, sind nicht alle Subblockstrukturen
der zweiten Blockstruktur MV'_CIF übernommen
worden. Damit nun eine derartig codierte Bildfolge richtig dargestellt
werden kann, wird bei der Codierung der Blockstrukturen, die übertragen
werden sollen, eine Kennzeichnung derjenigen Subblöcke hineincodiert,
welche nicht in die modifizierten Blockstrukturen übernommen
worden sind. Das erfindungsgemäße Verfahren
findet dabei auch bei weiteren Auflösungsstufen in der gleichen
Art seine Anwendung. Beispielsweise wird gemäß dem vorliegenden Ausführungsbeispiel
für das
Format 4CIF ebenfalls eine Blockstruktur MV_4CIF erzeugt. Erfindungsgemäß wird diese
nun wiederum als eine zweite Blockstruktur verwandt, während die
erste Blockstruktur von durch die vorhergehende zweite Blockstruktur
MV_CIF gegeben ist. Die sich durch den Vergleich der beiden Blockstrukturen
ergebende zweite modifizierte Blockstruktur MV'_4CIF ist dabei in der Darstellung von 4 wiederum
nur durch einen Teil der hinzugekommenen Subblockstrukturen verfeinert worden,
welche in der Darstellung punktiert gezeichnet sind.
-
Alternativ
oder ergänzend
kann für
den Vergleich statt eine temporäre
Blockstruktur eine bereits erzeugte übertragene, d.h. modifizierte
zweite Blockstruktur als erste Blockstruktur genutzt werden.
-
Es
ist dabei erfindungsgemäß nicht
erforderlich, für
alle in der Bildfolge codierten Auflösungsstufen erfindungsgemäß zu übertragene
Blockstrukturen zu erzeugen, sondern beispielsweise nur in den Teilauflösungen der
genannten Auflösungen,
d.h. beispielsweise nur für
CIF im Falle, dass QCIF, CIF oder 4CIF angewendet wurde oder nur
für CIF,
für den
Fall, das QCIF und CIF angewendet wurde. In Praxi ist es vielmehr
ausreichend, dies auf im Vergleich zu allen vorhandenen Auflösungsstufen
mittlere Auflösungsstufen
anzuwenden, da bei einer mittleren Auflösungsebene die beste Performance
gegeben ist, weil hierbei ein vielfaches Up and Down Sampling der
Blockstrukturen und der Bewegungsvektoren vermieden werden kann.
Hierbei wird durch einen Parameter jeweils die Datenrate für die Bewegungsinformation
für die
verschiedenen örtlichen Auflösungsstufen
eingestellt, sodass sich auf jeder Auflösungsstufe ein optimales Verhältnis der
Datenrate für
Bewegungsinformation und Texturinformation ergibt.
-
Die
Erfindung ist dabei nicht auf das anhand der 4 erläuterte Ausführungsbeispiel,
sondern umfasst alle im Rahmen des fachmännischen Könnens in Frage kommenden Realisierungen,
die den erfindungsgemäßen Kern:
Das,
insbesondere gemäß MSRA,
erzeugte komplette Bewegungsvektorfeld (Temporäre Blockstrukturen MV_QCIF,
MV_CIF und MV_4CIF), welches encoderseitig definiert bzw. vorhanden
ist, eben nicht komplett zu übertragen,
sondern vielmehr lediglich den signifikanteste Teil dieses Bewegungsvektorfelds.
-
Ein
wesentlicher Vorteil des erfindungsgemäßen Algorithmus ist dabei,
die Verbesserung der Bildqualität
auch bei niedrigen Bitraten sowie auch bei niedrigen Auflösungen.
-
In 5 ist
nun dargestellt, welche Verfahrensschritte einer oben erläuterten
Signalisierung bzw. auch – wie
im Folgenden dargelegt – der
Bitstromerzeugung zugrunde gelegt wird.
-
Gemäß der oben
beschriebenen erfindungsgemäßen selektiven
Verfeinerungsmethode zeigt der erfindungsgemäß vorgeschlagene neue Blockmodus,
ob eine Blockstruktur für
ein aktuell betrachtetes Bewegungsvektorfeld für das nachfolgende Bewe gungsvektorfeld
aufgesplittet werden muss. Aufgrund dieser Blockmodi ist es daher
möglich,
die Regionen zu lokalisieren, in welchen ein aktueller Restfehlerblock,
welche von einer niedrigeren Schicht zugeordneten vorhergehenden
Restfehlerblock differiert.
-
Die
Blöcke,
die zu diesen Regionen zugeordnet sind bzw. gehören, werden dann mit dem sich
an denselben Positionen innerhalb des vorhergehenden Restfehlerblocks
befindenden Blöcke
verglichen und die Differenz hierzu codiert. Nachdem diese Information
encoderseitig gespeichert worden ist, ist es erforderlich, die bestmögliche,
d.h. optimale Abstimmung zwischen der Bewegungsinformation und der
Textur für
die jeweilige Bitrate zu erreichen.
-
In
der Regel wird hierzu vor der Übertragung ein
Bitstrom erzeugt, so dass all die encoderseitig verfügbare Information
optimal genutzt werden kann.
-
Um
dies zu erreichen wird wie in der 5 dargestellt
beispielsweise ein Vergleich im Sinne einer Auswertung durchgeführt, bei
dem festgestellt wird, ob ein Bewegungsvektorfeld (Blockstruktur) verfeinert
werden muss oder nicht.
-
Dies
ist erfindungsgemäß aus dem
Grund von Vorteil, dass es in Praxi vorkommen kann, dass die sichtbare
Qualität,
welche mit dem Basisbewegungsvektorfeld (Blockstruktur) MVFIELD1
und der korrespondierenden Textur1 um einen Wert, der x% der Textur1
beträgt,
besser sein kann als das Ergebnis, welches erzielt wird, als was
erreicht wird, wenn dieses Bewegungsvektorfeld zu einer modifizierten Blockstruktur
MVFIELD2 verfeinert worden ist und somit auch besser als die entsprechende
Verfeinerung der Textur'1
(Definiert durch y% von (Textur 1) + Verfeinerung). Dabei ist y
kleiner als x bei gleicher Bitrate.
-
Aus
der schematisch dargestellten dem entsprechenden Entscheidungsprozedur
ist zu erkennen, dass im Falle, dass eine Verfeinerung notwendig erscheint,
der Teil der Information, der sich auf die Texturinformation bezieht,
entsprechend adaptiert werden muss. Damit ergibt sich aber auch
das Problem, welcher Teil der Texturinformation zu der Verfeinerungsinformation
zugeordnet wird.
-
Dies
wird wie oben erläutert
zum einen durch eine geeignete Signalisierung ermöglicht,
die es ermöglicht,
auf Seiten eines Decoders diejenigen Regionen in den Restfehlerblöcken zu
lokalisieren, welche verfeinert werden können und vor allem sollen. Hiermit
wird dem Decoder also ermöglicht,
dass vorab beschriebene erfindungsgemäße Vorgehen bei dem die Verfeinerung
der Bewegungsinformation derartig adaptiert wurde, dass die Einbettung
des Restfehlerblocks ermöglicht
worden ist, d.h. der Teil der Verfeinerung eines Restfehlerblocks
durch einige weitere Blocks repräsentiert
wird, zu erkennen und entsprechend zu berücksichtigen.
-
Als
Zweites ist hierzu auch eine geeignete Encodierung erforderlich,
die, um effizient im Sinne einer Kompressionseffizienz zu sein,
derart durchgeführt
wird, dass die Verfeinerungsblöcke
mit einer blockbasierenden Transformation (IT, DCT, etc.) encodiert
werden, wobei diese Blöcke
dann die Differenz zwischen den Restfehlerblöcken auf Basis der Verfeinerung
der Bewegungsvektorfelder sowie den Restfehlerblöcken repräsentieren, welche nicht auf Grundlage
von verfeinerten Bewegungsvektorfeldern erzeugt worden sind und
eine bestimmte Anzahl von Bitebenen beispielsweise N Bitebenen aufweisen.
-
Schließlich ist
hierzu aber auch eine geeignete Organisation des für die Übertragung
zu erzeugenden Bitstroms erforderlich wie es in der 6 dargestellt
ist.
-
Das
Ziel dieses erfindungsgemäßen Erzeugen
des Bitstrom ist es, eine gute Bildqualität für verschiedene räum lich/zeitliche
Auflösungsstufen
bzw. Bitraten zu gewährleisten,
ohne dabei eine Drift, welche durch einen Versatz zwischen einem
Bewegungsvektorfeld und einem Restfehlerblock entstehen kann, aufzuweisen.
Schematisch sind daher die Schritte dargestellt mit denen dies erfindungsgemäß erreicht
wird.
-
Dabei
geht das dargestellte Ausführungsbeispiel
von einem Initialisierungszustand aus, bei dem eine bestimmte Nummer
von Bewegungsvektorfeldern mit korrespondierenden Restfehlerblöcken encoderseitig
generiert worden sind. Beispielsweise ein erstes Bewegungsvektorfeld
MVF1 sowie ein erstes verfeinertes Bewegungsvektorfeld MVF1' für eine QCIF-Auflösung, das
erste verfeinerte Bewegungsvektorfeld MVF1' sowie (nicht dargestellt) |ein zweites
Bewegungsvektorfeld für
eine CIF-Auflösung sowie
das zweite Bewegungsvektorfeld und ein drittes Bewegungsvektorfeld
für eine
4CIF-Auflösung|.
-
Das
Encodieren bzw. Decodieren für
ein derartiges Szenario bei einer QCIF-Auflösung ergibt sich bei dem erfindungsgemäßen Verfahren
dabei wie folgt: Ausgehend von der Annahme, dass ein großer Bereich
von Bitraten für
die QCIF-Auflösung
decodiert werden muss, ist es in einem ersten Schritt erforderlich,
das erste Bewegungsvektorfeld MV1 und den ersten korrespondierenden
Restfehlerblock zu übertragen.
Dabei gilt, je größer die
Bitrate ist, desto höher
ist die Anzahl der Bitebenen BTPL1...BTPLN+M, welche den Restfehlerblock
repräsentieren. Ferner
gilt, dass die Anzahl dabei limitiert wird durch die eingangs erläuterte Entscheidung über eine
Verfeinerung der Blöcke.
-
Gemäß dem dargestellten
Beispiel wird die Anzahl der Bitebenen auf eine Zahl N limitiert.
Wenn nun gemäß der erfindungsgemäßen Auswertung
die Entscheidung getroffen wird, dass eine Verfeinerung erforderlich
ist, wird das erste Bewegungsvektorfeld MVF1 derart verfeinert,
dass das verfeinerte Bewegungsvektorfeld MVF1' erzeugt wird. In so einem Fall ist
es daher auch erforderlich, dass die zu dem ersten Bewegungsvek torfeld
MVF1 korrespondierende Textur aktualisiert („updated") wird, um einen Versatz zwischen den
Bewegungsvektorfeldern und den jeweiligen Texturen zu verhindern.
-
Ein
hier erfindungsgemäß vorgeschlagener Algorithmus
ist der Darstellung ebenfalls zu entnehmen und läuft wie folgt ab.
-
Wenn
die oben genannte Auswertung der Bewegungsinformationen ergibt,
dass ein Update der Bewegungsinformation notwendig ist, so ist in
der Regel schon eine bestimmte Anzahl von Bitebenen BTPL1...BTPLN übertragen
worden. Bis zu einem gewissen Grenzwert BTPLn müssen die Bitebenen, welche
die nicht verfeinerten Restfehlerblöcke darstellen (BTPL1...BTPLn),
nicht modifiziert werden. Bei Erreichen dieses Limits BTPLn werden
dagegen die nächstfolgenden
Bitebenen BTPLn...BTPLN gemäß dem Ausführungsbeispiel
aktualisiert.
-
Dies
erfolgt dabei von der Bitebene ausgehend, welche die letzte Bitebene
der nicht verfeinerten Restfehlerblöcke darstellt, BTPLn und erstreckt sich
bis zu der Bitebene, welche bereits übertragen ist BTPLN.
-
Der
Update erfolgt dabei so, dass die Regionen, welche zu den verfeinerten
Teilen REFINEMENT zugehörig
sind, derart upgedatet werden, dass sie mit dem nachfolgenden Bewegungsvektorfeld,
d.h. gemäß dem dargestellten
Ausführungsbeispiel,
dem ersten verfeinerten Vektorfeld MVF1' übereinstimmen.
-
Dabei
kann erfindungsgemäß, wenn
es sich um eine höhere
Bitrate handelt, die über
die bereits übertragene
Bitebenenzahl BTPLN hinausgehende Anzahl der Bitebenen BTPLN+1 bis
BTPLN+M zusätzlich übertragen
werden. Dieses Konzept wird dabei für jede räumliche Auflösung und/oder
Qualitätsstufe
wiederholt und ermöglicht
dadurch eine feinere Granularität
einer Signal/Rausch-Skalierbartkeit (SNR-Skalierbarkeit).
-
Gemäß dem Ausgangsszenario
erfolgt ein Encodieren bzw. Decodieren bei einer CIF-Auflösungstufe
wie folgt.
-
Da
auch hier erfindungsgemäß die SNR
und räumliche
Skalierbarkeit kombiniert werden soll, wird, wenn z.B. es erforderlich
ist, ein (Video-)bitstrom bei CIF-Auflösung zu decodieren und dies
bei niedrigerer Bitrate erfolgen soll, das erste veränderte Bewegungsvektorfeld
MVF1' von der QCIF-Auflösung zu der
CIF-Auflösung
hochskaliert. Zudem erfolgt z.B. eine inverse Wavelet-Transformation
oder aber eine Interpolation wird durchgeführt, um eine höhere räumliche
Auflösung
der Textur TEXTUR1, TEXTUR'1
zu erreichen.
-
Dabei
ist anzumerken, dass bei einer sehr niedrigen Bitrate der Update
der Textur TEXTUR1 zur Textur TEXTUR'1 nicht erforderlich ist (beispielsweise,
wenn weniger als n Bitebenen notwendig sind, um die CIF-Auflösung zu
decodieren). Insgesamt wird dadurch eine räumliche Skalierbarkeit erreicht.
-
Die
SNR-Skalierbarkeit bei CIF-Auflösung wird
erreicht, indem das Codieren der Bitebenen der Differenz zwischen
dem originären
verfeinerten CIF-Restfehlerblock und einer interpolierten oder Invers-Wavelet-Transformierten
verfeinerten QCIF-Bitebene
erfolgt. Wenn die Entscheidung, ob eine Verfeinerung erfolgen soll,
bei der CIF-Auflösung
positiv ist, wird die gleiche Strategie verfolgt, wie sie bei dem oben
beschriebenen Verfahren für
QCIF erläutert worden
ist. Gleiches gilt für
eine Skalierung von CIF zu 4CIF.
-
Die
Erfindung ist aber nicht auf das beschriebene Ausführungsbeispiel
beschränkt.
Vielmehr gilt auch Folgendes:
- 1. Die SNR-Skalierbarkeit
wird durch ein bitebenenweises Repräsentieren der Texturinformation gemäß dem vorgehend
beschriebenen Beispiel erzeugt, ist aber jedoch nicht darauf beschränkt, da
es auch durch alternative skalierbare Texturrepräsentationen erreicht werden
kann.
- 2. Die maximale Anzahl der Bitebenen, welche vor der Verfeinerung
auftreten (BTPLN), kann sich für
jede räumliche
Auflösung
unterscheiden.
- 3. Zudem kann mehr als ein Update innerhalb einem räumlichen
Auflösungslevel
erfolgen, wenn mehr als zwei Schichten der Bewegungsinformation
für dieses
räumliche
Auflösungslevel
genutzt werden.
-
Hiervon
unabhängig
wird dabei stets eine sehr gute Abstimmung zwischen Bewegungsinformation
und der Textur für
einen weiten Bereich von Bitraten sowie räumlich zeitlichen Auflösungen erreicht,
wobei dies ohne Degradation der Qualität von Bildern erfolgt, da durch
das erfindungsgemäße Verfahren
eine gute Verteilung der Information erzielt wird und somit auch
der Versatz zwischen Bewegungsinformation und Texturen eliminiert
wird.
-
Literaturverzeichnis
-
- [1] Jizheng Xu, Ruiqin Xiong, Bo Feng, Gary
Sullivan, Ming-Chieh
Lee, Feng Wu, Shipeng Li, "3D
subband video coding using Barbell lifting", ISO/IEC JTC1/SC29/ WG11 MPEG 68th
meeting, M10569/s05, Munich, March 2004.
- [2] Deutsche Patentanmeldung, Aktenzeichen 10 2004 038 110.0