Beschreibung
Optimale SNR-S alierbare Videocodierung
In immer mehr Anwendungen ist es erforderlich codierte
Videosequenzen so aufzubereiten, daß diese mit Geräten sehr unterschiedlicher Leistungsfähigkeit decodiert werden können. Anwendungsszenarien sind im Besonderen mobile Endgeräte, auf denen Bildsequenzen, die eigentlich für Desktop-Applikationen codiert wurden, wiedergebbar sein sollen. Auch
Videokonferenzen zwischen Teilnehmern mit Desktop und mobilen Endgeräten erfordern eine geschickte Anpassung. Hierbei ist die Information, daß ein Teilnehmer ein mobiler Teilnehmer ist, dem Sender / Initiator nicht notwendigerweise bekannt. Aus technischer Sicht muß in einem solchen Szenario eine schnelle Adaption der generierten bzw. übertragenen Bitrate an sehr unterschiedliche Übertragungsbandbreiten möglich sein (z.B. Übertragung im Festnetz im Gegensatz zu drahtloser Übertragung) . Ein zunehmend wichtiger werdendes Szenario stellen sogenannte Streaming-Applikationen, sowohl im
Festnetz als auch im drahtlosen Netz, dar. Hierbei stellt ein Service-Provider (der auch eine private Einzelperson sein kann) Videomaterial zum Abruf bereit. Der Client fordert die komprimierten Videodaten an, während gleichzeitig das decodierte Bildmaterial dargestellt wird. Auch hierbei muß der Provider sehr unterschiedlichen Kundenanforderungen Rechnung tragen.
Prinzipiell erfordern solche Problemstellungen skalierbare Codierverfahren. Senderseitig (serverseitig) wird nur ein einziger Bitstrom generiert, aus dem aber Bildsequenzen geringerer Qualität und / oder Auflösung decodiert werden können. Damit kann der Client (Empfänger) für Streaming- Applikationen entscheiden, welche Auflösungsqualität er empfangen möchte. Im Fall variierender Terminaleigenschaften decodiert der Client nur den relevanten Teil, der darstellbar ist. Im Bereich mobiler Applikationen mit zeitlich stark schwankenden Kanaleigenschaften ergibt sich die Möglichkeit
einer sehr schnellen Adaption des Senders, bzw. eine elegante Schnittstelle für UEP (unequal error protection) .
Grundsätzlich kann zwischen SNR, örtlicher und zeitlicher Skalierbar eit unterschieden werden. Allen Verfahren gemeinsam ist, daß durch Variation bestimmter Codierparameter die gleiche Bildsequenz bei verschiedenen Bitraten codiert wird. Im Fall der SNR-Skalierung werden durch Variation der Quantisierung unterschiedliche Qualitätsstufen und Bitraten erzielt. Örtliche Skalierbarkeit beschreibt Verfahren, die die Bildsequenz mit unterschiedlichen Ortsauflösungen (Bildgrößen) codieren. Eine zeitliche Skalierbarkeit schließlich stellt die Bildsequenzen mit unterschiedlichen Bildfrequenzen zur Verfügung. Es sei darauf hingewiesen, daß durchaus beliebige Kombinationen der drei Arten möglich sind.
Skalierbare Videocodierverfahren wurden in der . wissenschaftlichen Literatur bereits vielfach untersucht, allerdings häufig mit einer Ausrichtung auf bestehende oder in der Entwicklung befindliche Standards (MPEG-2, MPEG-4, H.263, H.26L). Auch wenn die Verfahren Eingang in die Standards gefunden haben, so finden diese Verfahren bislang keine breite Anwendung, da deren Performance (erzielbares peak signal to noise ratio (PSNR) bei gegebener Bitrate) sehr unbefriedigend ist. Eine sogenannte Simulcast-Codierung, bei der die gewünschten Bitströme mit unterschiedlich parametrisierten parallelen und unabhängig voneinander arbeitenden Codecs generiert werden, erreichen eine bessere Qualität bei gleicher Bitrate. Dies ist um so bemerkenswerter, als daß im Fall der Simulcast-Codierung eine nicht unerhebliche Redundanz zwischen den einzelnen Bitströmen erhalten bleibt.
Es ist Aufgabe dieser Erfindung ein Verfahren, entsprechende Programme und entsprechende Datenträger vorzuschlagen, die eine SNR-Skalierung erlauben und dennoch prinzipiell die gleiche Performance eines Unicast-Codecs erreichen.
Diese Aufgaben werden durch die in den Ansprüchen angegebenen Merkmale gelöst. Dabei definiert Anspruch 1 ein Verfahren zur SNR-skalierbaren Videocodierung, bei dem ein Eingangssignal mit Videobildinformation je einer Mehrzahl von Codecs zugeführt wird, die Codecs das Videosignal auf unterschiedlichen Auflösungsebenen mit unterschiedlicher Qualität quantisieren, wobei in jedem Codec eine Bewegungskompensation durchgeführt werden kann aufgrund von Bewegungsvektoren, die durch eine Bewegungsschätzung ermittelt werden, und. die Codecs je ein Ausgangssignal mit auf den unterschiedlichen Auflösungsebenen quantisierten Videosignalen ausgeben. Die Erfindung ist dadurch gekennzeichnet, dass die Bewegungsschätzung nur auf der höchsten Qualitätsstufe stattfindet und zur
Bewegungskompensation auf allen Auflösungsebenen dieselben geschätzten Bewegungsvektoren verwendet werden.
In einer bevorzugten Ausführung wird nur eine einzige Bewegungskompensation auf der höchsten Qualitätsstufe ausgeführt, die von den Codecs der niedrigeren Auflösungstufen mitverwendet wird.
Das Verfahren zeichnet sich dadurch aus, daß es auf dem hybriden Coderkonzept aufbaut, und damit grundsätzlich kompatibel zu existierenden Standards zur Videocodierung ist. Der oft gemachte Einwurf, daß neue Verfahren nicht kompatibel zu existierenden Verfahren sind, trifft hier nicht zu.
Das Grundprinzip des hybriden Coderkonzepts besteht in der Codierung eines Prädiktionsfehlersignals, welches sich aus der Differenz zwischen Eingangssignal und (quantisierter) bewegungskompensierter Rekonstruktion des vorherigen Bildes ergibt. Im Bezug auf die Berechnung der Prädiktion gibt es sehr viele Varianten, denen allen die zeitliche Prädiktion gemeinsam ist. Darüberhinaus erfolgt die Codierung des Prädiktionsfehlers vielfach nach Ausführung einer
Transformation zur Dekorrelation (Ausnutzen örtlicher statistischer Abhängigkeiten) . Um die für eine Videoübertragung erforderlichen Kompressionsraten zu erzielen, werden entweder die Intensitäten des Prädiktionsfehlersignals direkt im Ortsbereich oder aber die Transformationskoeffizienten quantisiert und anschließend über eine Entropiecodierung verlustlos komprimiert, sowie auf ein binäres Signal abgebildet.
Um eine optimale Codiereffizienz des skalierbaren Codecs im Vergleich zum Simulcast-Coder zu erzielen, müssen die Prädiktionsfehler der gröber quantisierenden Codecs im Prädiktionsfehler der höchsten Qualitätsstufe enthalten sein. Oder mit anderen Worten, durch sukzessive Quantisierung des Prädiktionsfehlers der höchsten Qualitätsstufe erhält man identisch die Prädiktionsfehler der niedrigeren Qualitätsstufen. Ein solcher Zusammenhang kann im Allgemeinen nicht garantiert werden, da durch Bewegungskompensation und Wahl der Quantisierung eine Abweichung zwischen dem quantisierten Prädiktionsfehlersignal einer geringeren Qualitätsstufe und dem korrespondierend quantisierten Prädiktionsfehlersignal der höchsten Qualitätsstufe entsteht. Verwendet der Sender zur Prädiktion ein anderes Signal als das, das der Empfänger rekonstruieren kann, so kommt es zu einer Abweichung der rekonstruierten Bilder zwischen Sender und Empfänger, die im allgemeinen als Drift bezeichnet wird.
Nach einer Weiterentwicklung wird zur Realisierung der Skalierbarkeit zunächst das am gröbsten quantisierte Prädiktionsfehlersignal codiert und zur Codierung der nächst besseren Auflösungsstufe ein Differenzsignal zwischen beiden Auflösungsstufen codiert. Vorteilhafterweise werden die Quantisierungsstufen der einzelnen Auflösungsebenen so gewählt, dass eine embedded quantization ensteht. Im Fall einer INTRA-Codierung, bei der keine zeitliche Prädiktion erfolgt, erreicht das vorgeschlagene Verfahren eine optimale Performance. Im Falle einer INTER-Codierung gemäß Fig. 2 bzw.
5 wird selbst dann, wenn die Bedingung, daß der Prädiktionsfehler der nächstniedrigeren Auflösungsebene gleich dem quantisierten Prädiktionsfehler der nächsthöheren Auflösungsebene sein soll, die zu übertragenen Differenzsignale aber embedded sind, eine nahe am Optimum liegende Performance erzielt.
Das Verfahren kann nicht nur im Ortsbereich (mit mehreren oder nur einer einzigen MC-Einheit) , sondern prinzipiell auch im Spektralbereich verwendet werden. Dabei wird das
Eingangssignal einer linearen Transformation unterzogen und das Prädiktionsfehlersignal im Spektralbereich quantisiert und codiert.
Das erfindungsgemäße Verfahren ist kompatibel mit anwendungsspezifischen Videostandards, wie zum Beispiel MPEG- 2, MPEG-4 oder H.263 (Quantisierung und Codierung der DCT- Koeffizienten des Prädiktionsfehlersignals ) oder aber auf den Videostandard H.26L (Quantisierung und Codierung der ICT- Koeffizienten (Integer-Cosine-Transform) des Prädiktionsfehlersignals ) .
Kernpunkt der Erfindung ist, daß in einem hybriden Codierverfahren die Quantisierung des Prädiktionsfehlers identisch ist zur Differenz aus quantisiertem Eingangssignal und quantisiertem Prädiktionssignal (der mathematische Nachweis dafür kann von den Erfindern geliefert werden) . Dieser Nachweis gelingt unter Annahmen, die den allgemeinen Fall nur geringfügig einschränken.
Dieses Prinzip läßt sich auf verschiedene Art und Weise in fundamental neuartige Realisierungen SNR-skalierbarer Videocodierverfahren umsetzen:
• Quantisierung im Ortsbereich mit mehreren ME/MC - Einheiten;
• Quanitisierung im Ortsbereich mit nur einer ME/MC - Einheit; (ME-MC auf einer beliebigen Auflösungsebene)
• Quantisierung im Bildbereich einer linearen Transformation;
• Quantisierung im Bildbereich einer linearen Transformation einschließlich Bewegungskompensation im Ortsbereich.
Die Besonderheit dieses Ansatzes besteht darin, daß jede Form der Realisierung für sich optimal (INTRA vollständig, INTER nahe am Optimum) in dem Sinne ist, daß sie die gleiche
Perfomance wie die eines üblichen Unicast-Coders aufweist, darüberhinaus aber zusätzlich noch die Funktionalität der SNR-Skalierbarkeit bietet.
Der mathematische Nachweis gelang bislang für die ersten drei Verfahren. Details finden sich im folgenden Text.
Zuerst sollen die bislang identifizierten Realisierungen im Detail beschrieben werden. Dabei wird Bezug genommen auf die beiliegenden Zeichnungsfiguren.
Dabei zeigen
Fig. 1 ein strukturelles Ablaufdiagram eines Simulcast Coders.
Fig. 2 ein Struktur- und Ablaufdiagram eines optimal SNR- skalierbaren Video-Encoders der auf dem hybriden Coderkonzept basiert.
Fig. 3A, 3B und 3C zeigen die Strukturen der korrespondierenden Videodecoders für die einzelnen Ebenen.
Fig. 4 zeigt die Struktur des korrespondierenden vollständigen Videodecoders, der alle Auflösungen simultan decodieren und ausgeben kann.
Fig. 5 zeigt die Struktur eines optimal SNR-skalierbaren
Codecs mit Quanitisierung im Ortsbereich und nur einer MC-Einheit.
Fig. 6 zeigt ein im Spektralbereich anwendbares SNR- skalierbares Codersystem inklusive einer
Bewegungsschätzung und -ko pensation im Ortsbereich.
Bevor auf die Ausführungsbeispiele eingegangen wird, sei hier noch kurz erwähnt, was unter dem Ausdruck Codec zu verstehen ist: Ein „Codec", in der Literatur auch als Coder/Decoder oder als Kompressions- und Dekompressionsalgorithmus bezeichnet, codiert (synonym komprimiert) und decodiert (synonym dekomprimiert) verschiedene Arten von Daten. Solche Codierung/Decodierung ist besonders im Zusammenhang mit Daten notwendig, die ansonsten sehr viel Speicherplatz oder
Transmissionsbandbreite beanspruchen würden, wie zum Beispiel Video- und Sounddateien. Allgemein gebräuchliche Codecs sind solche die digitale oder digitalisierte analoge Videosignale in komprimierte Videodateien (z.B. MPEG) oder digitalisierte analoge oder digitale Soundsignale in Digitalsound (z.B. MP3, RealAudio) umwandeln. Grundsätzlich können Codecs in Echtzeit (Streaming files oder Conferencing) oder auf Grundlage von Speicherdateien verwendet werden.
Zum besseren Verständnis und der Vollständigkeit halber sei hier kurz auf den Simulcast-Coder eingegangen. Grundsätzlich handelt es sich hierbei um N (drei sind in Fig. 1 dargestellt) vollkommen unabhängig operierende Codecs. Das Eingangssignal wird allen N Codecs zugeführt und codiert. Der wesentliche Unterschied ist die unterschiedlich starke
Quanitiserung der Transformationskoeffizienten innerhalb der einzelnen Codecs.
Die Schätzung der Bewegungsvektoren selbst ist für die Parameterisierung der Codecs unter dem hier interessierenden Aspekt nicht von Bedeutung. Es sei nur darauf hingewiesen, daß innerhalb eines jeder Codecs eine unabhängige Schätzung durchgeführt wird, und damit die zur Kompensation eingesetzten Bewegungsvektorfelder unterschiedlich sein werden.
Das quantisierte Signal wird nach jedem Quantisierungsblock der Entropiecodierung (VLC- variable length coding) zur verlustlosen Codierung zugeführt. Der Unterschied zwischen den drei dargestellten VLC Signalen liegt in ihren jeweiligen Auflösungsdetails .
Unter Verwendung der eingangs erwähnten gefundenen mathematischen Zusammenhänge, "läßt sich ein SNR-skalierbarer Videocodec (Fig. 2) aufbauen, der im Falle einer INTRA- Codierung eine optimale Performance und im Falle der INTER- Codierung eine nahe am Optimum liegende Performance unter den folgenden Voraussetzungen erzielt:
• Das Eingangssignal wird vor der Berechnung des Prädiktionsfehlers quantisiert.
• Die Bewegungsschätzung findet ausschließlich auf der höchsten Qualitätsstufe statt. Zur Bewegungskompensation werden auf allen Auflösungsebenen dieselben geschätzten Bewegungsvektoren verwendet. Durch diese Einschränkung entsteht in der Regel kein signifikanter Qualitätsverlust der niedrigeren Auflösungsstufen.
• Auf eine Transformation des Prädiktionsfehlersignals wird verzichtet. Durch Einsatz geschickter kontext-basierter Entropiecoderverfahren kann eine ähnlich gute Codiereffizient erreicht werden.
• Die Quantisierungsstufen der einzelnen Auflösungsebenen müssen so gewählt werden, daß eine sogenannte embedded quantiza tion ensteht.
Zur Realisierung der Skalierbarkeit wird zunächst das am gröbsten quantisierte Prädiktionsfehlersignal codiert. Zur Codierung der nächst besseren Auflösungsstufe genügt es nun das Differenzsignal zwischen beiden Auflösungsstufen zu codieren.
Decoderseitig folgt daraus, daß das Prädiktionsfehlersignal sukzessive aus den decodierten Fehlersignalen geringerer Auflösung rekonstruiert wird. Anzumerken ist, daß eine vollständige Rekonstruktion des Bildes der niedrigeren Auflösungsstufen nicht erforderlich ist. Auch die Decodierung der Bewegungsvektoren ist nur einmal erforderlich.
Optimalität ist dadurch gegeben, daß das Prädiktionsfehlersignal einer gegebenen Auflösungsebene identisch ist zum Prädiktionsfehlersignal, das man erhält, wenn man das Prädiktionsfehlersignal der nächsthöheren Auflösungsebene mit dem Quantisierer der gegebenen Auflösungsebenen quantisiert.
In Fig. 3A wird die Struktur des korrespondierenden Videodecoders für die grobe Auflösungsebene gezeigt. In Fig. 3B wird die Struktur des korrespondierenden Videodecoders für die nächsthöhere, medium Auflösungsebene gezeigt. In Fig. 3C werden alle drei Auflösungsebenen involviert.
Fig. 4 zeigt die Struktur des korrespondierenden vollständigen Videodecoders für alle Auflösungen.
Das vorherige Verfahren kann derart vereinfacht werden, daß nur noch eine Bewegungskompensation auf der höchsten
Qualitätsstufe erforderlich ist. Die resultierende Struktur ist der in Fig. 5 dargestellte SNR-skalierbare Codec mit
Quanitisierung im Ortsbereich und nur einer MC-Einheit. Die Optimalität bleibt dabei erhalten.
Die obigen Ausführungsbeispiele beziehen sich auf Konzepte, in denen Prädiktionsfehler im Ortsbereich codiert werden. Das Grundprinzip bleibt aber auch im Spektralbereich unter Verwendung einer beliebigen linearen Transformation gültig. Bleibt die Bewegungskompensation zunächst unberücksichtigt, ergibt sich das in Fig. 6 dargestellte optimale SNR- skalierbare Codersystem. Durch Simulationen durch die
Erfinder konnte inzwischen nachgewiesen werden, daß das Verfahren grundsätzlich auch bei gleichzeitiger Anwendung der IGT und der Bewegungskompensation funktioniert.
Abkürzungsglossar
SNR signal to noise ratio
PSNR peak signal to noise ratio
UEP unequal error protection
VLC variable length code
MPEG moving picture experts group
ME motion estimation unit
MC motion compensation
DCT diskrete Cosinus-Transformation
ITC InterfaceCodingTable