-
QUERVERWEIS
AUF VERWANDTE ANMELDUNGEN
-
Die
vorliegende Erfindung ist mit der in der US-Patentanmeldung Nr.
(Verzeichnis Nr. 700,736) mit dem Titel "SYSTEM AND METHOD FOR IMPROVED FINE
GRANULAR SCALABLE VIDEO USING BASE LAYER CODING INFORMATION" offenbarten verwandt,
die gleichzeitig hiermit eingereicht wird und allgemein auf den
Zessionär
der vorliegenden Erfindung übertragen
ist. Die Offenbarung der verwandten Patentanmeldung wird für alle Zwecke
durch Nennung als hierin aufgenommen betrachtet, so als ob sie hierin
vollständig bekannt
gemacht würde.
-
TECHNISCHES GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich im Allgemeinen auf Videocodierungssysteme
und genauer auf ein System zur Codierung strömender Videodaten.
-
ALLGEMEINER
STAND DER TECHNIK
-
Das
Echtzeit-Strömen
von Multimedia-Inhalten über
Datennetzwerke einschließlich
des Internet ist in den letzten Jahren zu einer zunehmend allgemeinen
Anwendung geworden. Ein weiter Bereich von interaktiven und nicht
interaktiven Multimedia-Anwendungen wie etwa, unter anderem, Nachrichten
auf Abruf das Ansehen von Live-Fernsehen, oder Videokonferenzen,
verlässt
sich auf durchgehend strömende
Videotechniken. Anders als eine "heruntergeladene" Videodatei, die
zuerst in "Nichtecht"zeit abgerufen und
später
in "Echt"zeit angesehen oder
wiedergegeben werden kann, benötigen
strömende
Videoanwendungen einen Videosender, der ein Videosignal codiert
und über
ein Datennetzwerk zu einem Videoempfänger sendet, der das Videosignal
in Echtzeit decodieren und darstellen muss.
-
Die
skalierbare Videocodierung ist ein erwünschtes Merkmal für viele
Multimedia-Anwendungen und -Dienste, die in Systemen verwendet werden,
welche Decodierer mit einem weiten Bereich an Verarbeitungsleistung
einsetzen. Die Skalierbarkeit gestatten Prozessoren mit niedriger
Rechenleistung, nur einen Untersatz des skalierbaren Videostroms
zu decodieren. Eine andere Verwendung von skalierbarem Video besteht
in Umgebungen mit einer veränderlichen Übertragungsbandbreite.
In diesen Umgebungen empfangen, und folglich decodieren, Empfänger mit
niedriger Zugangsbandbreite nur einen Untersatz des skalierbaren
Videostroms, wobei die Menge dieses Untersatzes proportional zur
verfügbaren
Bandbreite ist.
-
Von
führenden
Videokompressionsstandards wie etwa MPEG-2 und MPEG-4 wurden mehrere
Videoskalierbarkeitsansätze
eingesetzt. In diesen Standards wurden zeitliche, räumliche
und Qualitäts-
(z.B. Signal-Rausch-Verhältnis
(SNR)) Skalierbarkeitsarten definiert. Alle diese Ansätze bestehen
aus einer Basisschicht (BL) und einer Anreicherungsschicht (EL).
Der BL-Teil des skalierbaren Videostroms stellt im Allgemeinen die
Mindestmenge an Daten dar, die zur Decodierung dieses Stroms benötigt wird.
Der EL-Teil des
Stroms stellt zusätzliche
Informationen dar und reichert daher die Videosignaldarstellung
an, wenn er durch den Empfänger
decodiert wird.
-
Für jede Art
von Videoskalierbarkeit ist eine bestimmter Skalierbarkeitsstruktur
identifiziert. Die Skalierbarkeitsstruktur definiert die Beziehung
unter den Bildern der BL und den Bildern der EL. Eine Klasse der Skalierbarkeit
ist die feinkörnige
Skalierbarkeit (FGS). Bilder, die mit dieser Art von Skalierbarkeit
codiert sind, können
progressiv decodiert werden. Mit anderen Worten kann der Decodierer
mit dem Decodieren und Anzeigen des Bilds beginnen, ohne alle Daten,
die für
die Codierung dieses Bilds verwendet wurden, empfangen zu müssen. Wenn
mehr Daten empfangen werden, wird die Qualität des decodierten Bilds progressiv
angereichert, bis die vollständige
Information empfangen, decodiert und angezeigt wird.
-
Der
neu vorgeschlagene Standard MPEG-4 zielt auf neue Videoströmungsanwendungen
auf Basis einer sehr niedrigen Bitratencodierung wie etwa das Videotelephon,
mobile Multimedia- und audiovisuelle Kommunikationen, Multimedia-E-Mail, die Fernabfühlung, interaktive
Spiele, und dergleichen ab. Im Standard MPEG-4 wurde die feinkörnige Skalierbarkeit
als eine wesentliche Technik für
die vernetzte Videoverteilung erkannt. Die FGS zielt hauptsächlich auf
Anwendungen ab, bei denen Videos in Echtzeit über heterogene Netzwerke strömen. Sie
stellt eine Bandbreitenanpassungsfähigkeit bereit, indem sie den
Inhalt einmal für
einen Bereich von Bitraten codiert und den Videoübertragungsserver befähigt, die Übertragungsrate
ohne eingehende Kenntnis oder Parsen des Videobitstroms dynamisch
zu verändern.
-
Die
Bitebenenkompression von digitalen Signalen ist ein beliebtes Codierverfahren
für viele
Multimedia-Anwendungen. Im Besonderen ermöglicht die Bitebenencodierung
von audiovisuellen Signalen eine progressive und skalierbare Übertragung
dieser Signale. Typischerweise erfährt ein Audio- oder ein Bildsignal
vor der Bitebenencodierung irgendeine Art von Transformation wie
etwa eine diskrete Cosinus-Transformation (DCT)
oder eine diskrete Wavelet-Transformation (DWT), die räumliche
Pixeldaten in Frequenzbereich-Transformationskoeffizienten umwandelt.
Als nächstes
wird, beginnend mit der Darstellung des werthöchsten Bits (MSB) des Signals
und endend mit der Darstellung des wertniedrigsten Bits (LSB), jede
Bitebene abgetastet und codiert. Wenn die Transformationskoeffizienten
durch n Bit dargestellt sind, gibt es daher n entsprechende Bitebenen,
die zu codieren und zu übertragen
sind.
-
Abhängig von
einem Wiedergabegütekriterium
(z.B. der höchsten
zulässigen
Verzerrung) oder einer Bitratenbudgetbeschränkung kann die Codierung des
Signals an oder sogar innerhalb jeder beliebigen bestimmten Bitebene
anhalten. Dieser Ansatz stellt das progressive Merkmal der Bitebenenkompression
bereit, insbesondere, wenn die Codierung in Echtzeit (d.h., zur
gleichen Zeit, wie das Signal übertragen
wird) stattfindet. Für
Signale, die off-line oder vor der Übertragung codiert werden,
führt die
Bitebenencodierung zu einem eingebetteten und skalierbaren Bitstrom.
Dies ermöglicht
dem Sender, die Übertragung
des Stroms als Reaktion auf, zum Beispiel, Netzwerkbedingungen wie
etwa die verfügbare
Bandbreite an (oder innerhalb) jeder beliebigen Bitebene anzuhalten.
-
Folglich
stellt die Bitebenenkompression im Allgemeinen eine Codierung mit
sehr feinkörniger
Skalierbarkeit (FGS) des Signals bereit. Abhängig vom bestimmten Verfahren,
das für
die Bitebenencodierung verwendet wird, könnte diese Körnigkeit
so fein wie ein einzelnes Bit oder so grob wie eine gesamte Bitebene
sein. Wenn ein Signal unter Verwendung von n Ebenen und einer gesamten
Anzahl von b Bit bitebenencodiert ist, könnte der sich ergebende komprimierte
Strom daher irgendetwas zwischen n und b progressiven Darstellungen
des in diesen Strom eingebetteten ursprünglichen Signals beinhalten.
-
Eine
Ausführung
der vorgeschlagenen FGS-Struktur für MPEG-4 verwendet den gegenwärtigen MPEG-4-Videocodierungsstandard
als das Basisschicht(BL)-Codierungsschema und codiert die Anreicherungsschicht
(EL) als den Unterschied zwischen den DCT-Koeffizienten des ursprünglichen
Bilds und den an der Basisschicht rekonstruierten DCT-Koeffizienten.
Die Anreicherungscodierung tastet Bitebene für Bitebene durch die Differenz-
(oder Rest-)DCT-Koeffizienten und codiert eine Reihe von Einsen
und Nullen als eine Verfeinerung der Basisschicht-DCT-Koeffizienten.
-
Die
Beschränkung
dieser Ausführung
ist, dass der Anreicherungsschichtcodierer jede einzelne Rest-DCT-Bitebene
Block für
Block vom MSB zum LSB abtastet. Daher besteht keine dahingehende
Steuerung durch den Codierer, welcher Teil oder welche Blöcke des
Restsignals im Codierungsvorgang besser angereichert werden sollten
oder eine höhere
Priorität
erhalten sollten. Mit anderen Worten steuert der Anreicherungsschichtcodierer
die Verteilung von Kompressionsartefakten über das angereicherte Bild
hinweg nicht. Dieser Hauptnachteil belässt praktisch keinen Raum für die Optimierung
des Anreicherungsschichtcodierers, die beim Gestalten von Videocodierungsalgorithmen
höchst
erwünscht
ist.
-
Ein
anderes Problem bei der gegenwärtigen
FGS-Ausführung
ist, dass ihre Skalierbarkeit durch die Anzahl der Bitebenen der
Rest-DCT-Koeffizienten beschränkt
ist. Eine gesamte Bitebene muss codiert werden, um das gesamte Bild
zu überspannen,
ohne visuell weniger bedeutende Informationen räumlich zu überspringen. Durch das Codieren
von Abschnitten einer Bitebene vor den anderen werden weniger Bit
benötigt, um
das gesamte Bild zu überspannen,
und können
daher durch bessere Skalierbarkeit mehr Anreicherungsschichten erzeugt
werden.
-
In
herkömmlichen
bewegungskompensations-DCT-basierten Videocodierungsalgorithmen
wird eine regional selektive Codierung von Bildern gewöhnlich durch
eine adaptive Quantisierung von Bildblöcken verwirklicht. Die Quantisierungsschrittgröße für jeden
Block kann je nach Codierungsentscheidungen verschieden sein, und
die Schrittgrößen werden
im sich ergebenden Bitstrom gesendet. Es gibt einen besonderen Fall
oder eine Erweiterung der adaptiven Quantisierung, der bzw. die
als Interessensbereich(ROI)-Codierung bekannt ist, wobei das Bild
in Unterbereiche mit unterschiedlichen Interessensgraden für potentielle
Betrachter unterteilt (oder eingeteilt) wird. Die Unterbereiche
werden dann entsprechend mit unterschiedlichen Qualitätsgraden codiert.
-
Das
Dokument WO-A-981927 offenbart ein Verfahren zur Bildcodierung und Übertragung,
wobei zur selektiven Codierung eines Interessensbereichs (ROI) die
Priorität
jeder Bitebene reguliert werden kann. Räumlichen Bereichen innerhalb
des Bilds werden veränderliche
Prioritätswerte
zugeteilt, wodurch ein Empfänger
eines übertragenen
Bilds den räumlichen
Brennpunkt des Bilds während
dessen Übertragung
interaktiv definieren kann.
-
Sowohl
die adaptive Quantisierung als auch der ROI wurden in der Vergangenheit
vorgeschlagen und werden nun in verschiedenen Codierungsstandards
und -algorithmen verwendet. Zum Beispiel gestatten alle Videocodierungsstandards
MPEG (–1, –2, und –4) verschiedene
Grade an adaptiver Quantisierung. Es gibt auch eine ROI-Codierung
von Video- oder Standbildern, die durch eine Bitebenenverschiebung
verwirklicht wird. Doch im Kontext von FGS wird die Anreicherungsschicht
gegenwärtig
ohne Hierarchie der Qualitätswichtigkeit
im Bild codiert.
-
In
der Technik besteht daher ein Bedarf an verbesserten Codierern und
Codierungssystemen zur Verwendung in strömenden Videosystemen. Insbesondere
besteht ein Bedarf an Codierern und Codierungstechniken, die beim
Codieren eines Bilds visuelle Eigenschaften des Bilds in Betracht
ziehen. Genauer besteht ein Bedarf an Codierern und Codierungstechniken,
die Teile oder Blöcke
des Restsignals, denen im Codierungsvorgang eine höhere Priorität verliehen
wurde, selektiv anreichern.
-
KURZDARSTELLUNG
DER ERFINDUNG
-
Um
sich mit den oben erwähnten
Mängeln
des Stands der Technik zu befassen, ist es eine Hauptaufgabe der
vorliegenden Erfindung, eine Steuerung der adaptiven Quantisierung
zur Verwendung in einem Videocodierer, umfassend 1) einen Basisschichtkreis,
der fähig
ist, einen Eingangsstrom von Videorahmen zu erhalten und daraus
komprimierte Basisschicht-Videorahmen zu erzeugen, die zur Übertragung
mit einer Basisschichtbitrate zu einem Empfänger von strömenden Videos
geeignet sind, und 2) einen Anreicherungsschichtkreis, der fähig ist,
den Eingangsstrom von Videorahmen und eine decodierte Version der
komprimierten Basisschicht-Videorahmen zu erhalten und daraus Anreicherungsschicht-Videodaten
zu erzeugen, die entsprechenden einzelnen der komprimierten Basisschicht-Videorahmen
zugehörig
sind und diesen zugeteilt sind, bereitzustellen. Die Steuerung der
adaptiven Quantisierung ist fähig,
vom Basisschichtkreis zumindest einen Quantisierungsparameter zu
erhalten und als Reaktion darauf einen entsprechenden Verschiebungsfaktor
zum Verschieben zumindest einer mit den Anreicherungsschicht-Videodaten
verbundenen Bitebene zu bestimmen und ein Datenfeld in den Anreicherungsschicht-Videodaten
abzuändern,
um zu verursachen, dass der Empfänger
von strömenden
Videos der verschobenen zumindest einen Bitebene eine höhere Decodierungspriorität zuteilt.
-
Nach
einer Ausführungsform
der vorliegenden Erfindung umfasst die zumindest eine Bitebene einen Block
von N × M
der Anreicherungsschicht-Videodaten.
-
Nach
einer anderen Ausführungsform
der vorliegenden Erfindung ändert
die Steuerung der adaptiven Quantisierung das Datenfeld so ab, dass
es den Verschiebungsfaktor und einen Modusanzeiger enthält, der anzeigt,
dass der Verschiebungsfaktor dem Block von N × M der Anreicherungsschicht-Videodaten
entspricht.
-
Nach
noch einer anderen Ausführungsform
der vorliegenden Erfindung liegt der Verschiebungsfaktor im Bereich
von 0 bis 2 Bitebenen.
-
Nach
noch einer anderen Ausführungsform
der vorliegenden Erfindung umfasst die zumindest eine Bitebene mehrere
in Zusammenhang stehende Blöcke
von N × M
der Anreicherungsschicht-Videodaten.
-
Nach
einer weiteren Ausführungsform
der vorliegenden Erfindung ändert
die Steuerung der adaptiven Quantisierung das Datenfeld so ab, dass
es den Verschiebungsfaktor und einen Modusanzeiger enthält, der anzeigt,
dass der Verschiebungsfaktor den mehreren Blöcken von N × M der Anreicherungsschicht-Videodaten
entspricht.
-
Nach
noch einer weiteren Ausführungsform
der vorliegenden Erfindung liegt der Verschiebungsfaktor im Bereich
von 0 bis 7 Bitebenen.
-
Nach
noch einer weiteren Ausführungsform
der vorliegenden Erfindung ändert
die Steuerung der adaptiven Quantisierung das Datenfeld so ab, dass
es einen Modusanzeiger enthält,
der anzeigt, dass keine Bitebene, die den Anreicherungsschicht-Videodaten zugehörig ist,
verschoben wird.
-
Im
Vorhergehenden wurden die Merkmale und die technischen Vorteile
der vorliegenden Erfindung eher grob umrissen, damit Fachleute die
folgende ausführliche
Beschreibung der Erfindung besser verstehen können. Nachstehend werden zusätzliche
Merkmale und Vorteile der Erfindung beschrieben werden, die den Gegenstand
der Ansprüche
der Erfindung bilden. Fachleute sollten erkennen, dass sie das Konzept
und die offenbarte besondere Ausführungsform leicht als Basis
zur Abänderung
oder zur Gestaltung anderer Strukturen zur Ausführung der gleichen Zwecke der
vorliegenden Erfindung verwenden können. Fachleute sollten auch
erkennen, dass derartige gleichwertige Strukturen nicht vom Geist
und vom Rahmen der Erfindung in ihrer weitesten Form abweichen.
-
Bevor
die "AUSFÜHRLICHE
BESCHREIBUNG" vorgenommen
wird, kann es vorteilhaft sein, Definitionen von bestimmen Worten
und Phrasen, die über
dieses Patentdokument hinweg verwendet werden, bekannt zu machen.
Die Ausdrücke "beinhalten" und "umfassen" wie auch Ableitungen
davon bedeuten einen Einschluss ohne Beschränkung; der Ausdruck "oder" ist einschließend und
bedeutet "und/oder"; die Phrasen "zugehörig" und "dazu zugehörig" wie auch Ableitungen
davon können "beinhalten", "beinhaltet in" "verbunden mit" "enthalten" "enthalten sein" "verbinden
an oder mit" "koppeln an oder mit", "verbindbar mit", "zusammenwirken mit", "verschachteln", "angrenzen", "sich nächst befinden", "an oder mit gebunden", "aufweisen", "eine Eigenschaft
von ... aufweisen",
oder dergleichen bedeuten, und der Ausdruck "Steuerung" bedeutet jede beliebige Vorrichtung,
jedes beliebige System, oder jeden beliebigen Teil davon, die bzw.
das bzw. der zumindest einen Vorgang steuert, wobei eine derartige
Vorrichtung in Hardware, Firmware oder Software, oder irgendeiner
Kombination von zumindest zwei davon ausgeführt sein kann. Es sollte bemerkt
werden, dass die Funktionalität,
die jeder beliebigen Steuerung zugehörig ist, zentralisiert oder,
entweder lokal oder entfernt, verteilt sein kann. Definitionen für bestimmte
Worte und Phrasen sind über
dieses Patentdokument hinweg bereitgestellt, und Durchschnittsfachleute
sollten verstehen, dass derartige Definitionen in vielen, wenn nicht
in den meisten Fällen
für frühere wie
auch zukünftige
Verwendungen derartiger definierter Worte und Phrasen gelten.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Für ein vollständigeres
Verständnis
der vorliegenden Erfindung und ihrer Vorteile wird nun auf die folgenden
Beschreibungen Bezug genommen, die in Verbindung mit den beiliegenden
Zeichnungen vorgenommen werden, worin gleiche Bezugszeichen gleiche
Objekte bezeichnen. Es zeigen
-
1 eine
durchgehende Übertragung
eines strömenden
Videos von einem Sender des strömenden Videos
durch ein Datennetzwerk zu einem Empfänger des strömenden Videos
nach einer Ausführungsform der
vorliegenden Erfindung;
-
2 einen
beispielhaften Videocodierer 114 nach einer Ausführungsform
der vorliegenden Erfindung; und
-
3 ein
Ablaufdiagramm, das den Betrieb einer beispielhaften Steuerung der
adaptiven Quantisierung nach einer Ausführungsform der vorliegenden
Erfindung veranschaulicht.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
Die
nachstehend besprochenen 1 bis 4 und
die verschiedenen Ausführungsformen,
die in diesem Patentdokument verwendet werden, um die Grundsätze der
vorliegenden Erfindung zu beschreiben, sind nur veranschaulichend
und sollten keineswegs als Beschränkung des Rahmens der Erfindung
aufgefasst werden. Fachleute werden verstehen, dass die Grundsätze der
vorliegenden Erfindung in jedem beliebigen passend eingerichteten
Videocodierer ausgeführt
werden können.
-
1 veranschaulicht
eine durchgehende Übertragung
eines strömenden
Videos vom Sender 111 des strömenden Videos durch ein Datennetzwerk 120 zu
einem Empfänger 130 des
strömenden
Videos nach einer Ausführungsform
der vorliegenden Erfindung. Abhängig
von der Anwendung kann der Sender 110 des strömenden Videos
ein beliebiger aus einer weiten Vielfalt von Quellen von Videorahmen
einschließlich
eines Datennetzwerkservers, einer Fernsehstation, eines Kabelnetzwerks,
eines Desktop-Personalcomputers (PC), oder dergleichen sein.
-
Der
Sender 110 des strömenden
Videos umfasst eine Videorahmenquelle 112, einen Videocodierer 114 und
einen Codiererpuffer 116. Die Videorahmenquelle 112 kann
jede beliebige Vorrichtung sein, die fähig ist, eine Abfolge von unkomprimierten
Videorahmen zu erzeugen, einschließlich einer Fernsehantenne
und einer Empfängereinheit,
eines Videokassetten-Abspielgeräts,
einer Videokamera, einer Plattenspeichervorrichtung, die fähig ist,
einen "rohen" Videoclip zu speichern,
und dergleichen. Die umkomprimierten Videorahmen betreten den Videocodierer 114 mit
einer gegebenen Bildrate (oder "Strömungsrate") und werden gemäß jedem
beliebigen bekannten Kompressionsalgorithmus oder jeder beliebigen
bekannten Kompressionsvorrichtung wie etwa einem MPEG-4-Codierer
komprimiert. Der Videocodierer 114 sendet die komprimierten
Videorahmen dann zum Codiererpuffer 116, damit sie als
Vorbereitung für
die Übertragung über das
Datennetzwerk 120 gepuffert werden. Das Datennetzwerk 120 kann
jedes beliebige geeignete IP-Netzwerk sein und kann Abschnitte sowohl
von öffentlichen
Datennetzwerken wie etwa des Internet, als auch privaten Datennetzwerken
wie etwa eines unternehmenseigenen lokalen Netzwerks (LAN) oder
Weitverkehrsnetzwerks (WAN) beinhalten.
-
Der
Empfänger 130 des
strömenden
Videos umfasst einen Decodiererpuffer 132, einen Videodecodierer 134 und
eine Videoanzeige 136. Der Decodiererpuffer 132 empfängt und
speichert die strömenden
komprimierten Videorahmen vom Datennetzwerk 120. Der Decodiererpuffer 132 sendet
die komprimierten Videorahmen dann wie erforderlich zum Videodecodierer 134.
Der Videodecodierer 134 dekomprimiert die Videorahmen mit
der gleichen Rate (idealerweise), mit der die Videorahmen durch
den Videocodierer 114 komprimiert worden waren. Der Videodecodierer 134 sendet
die dekomprimierten Rahmen zur Widergabe auf dem Bildschirm der
Videoanzeige 136 zur Videoanzeige 136.
-
2 veranschaulicht
einen beispielhaften Videocodierer 114 nach einer Ausführungsform
der vorliegenden Erfindung. Der Videocodierer 114 umfasst
einen Basisschicht(BL)-Codierer 210 und einen Anreicherungsschicht(EL)-Codierer 220.
Der BL-Codierer 210 erhält
von der Videorahmenquelle 112 Bildrahmen von einem ursprünglichen
Videosignal und komprimiert die Rahmen durch eine Reihe von wohlbekannten
Vorgängen
einer Bewegungsschätzung,
einer Quantisierung und einer Frequenzbereichstransformation (z.B.
einer diskreten Cosinus-Transformation), um einen Basisschichtbitstrom
zu erzeugen, der zum Codiererpuffer 116 gesendet wird.
Der Basisschichtbitstrom ist häufig
so in der Größe bemessen,
dass er der garantierten Mindestübertragungsrate
durch das Datennetzwerk 120 entspricht. Mit anderen Worten
sendet der Basisschichtbitstrom am Ausgang des BL-Codierers 210 mit
128 kbps, wenn dem Sender 110 des strömenden Videos zum Beispiel
eine Dienstverbindung durch das Datennetzwerk 120 von 128
kbps garantiert ist. Die Komprimierung der ursprünglichen Videorahmen im BL-Codierer 210 ist
ein "verlustbehafteter" Vorgang: die Rahmen,
die durch den Videodecodierer 134 unter Verwendung nur
des Basisschichtdatenstroms dekomprimiert und rekonstruiert werden,
sind von schlechterer Qualität
als die ursprünglichen
Videorahmen.
-
Wenn
das Datennetzwerk 120 mehr als die Mindestübertragungsbandbreite
bereitstellt, kann die Qualität
der dekomprimierten und rekonstruierten Rahmen unter Verwendung
des durch den EL-Codierer 220 erzeugten Anreicherungsschichtbitstroms
verbessert werden. Der EL-Codierer 220 umfasst einen Restrechner 230,
eine Steuerung 240 der adaptiven Quantisierung, und eine
Bitebenensteuerung 250. Die Steuerung 240 der
adaptiven Quantisierung umfasst ferner eine Makroblock/Block/Alphabild(MBA)-Bitebenenverschiebungssteuerung 260 und
eine Frequenzbitebenenverschiebungssteuerung 270. Der Restrechner 230 im
EL-Codierer 220 erhält
von der Videorahmenquelle 112 Bildrahmen vom ursprünglichen
Videosignal und vom BL-Codierer 210 dekomprimierte Rahmen,
die von den komprimierten Videorahmen, welche im Basisschichtbitstrom übertragen
werden, erlangt wurden. Der Restrechner 230 erzeugt unter
Verwendung dieser Eingaben ein Restsignal, das die Bildinformation
darstellt, die als Ergebnis der Vorgänge der Transformation und
der Quantisierung in den Basisschichtrahmen fehlt. Der Ausgang des
Restrechners 230 wird gewöhnlich als der Rest, das Restsignal,
oder die Restfehlerdaten bezeichnet.
-
Nach
den Grundsätzen
der vorliegenden Erfindung erhält
die Steuerung 240 der adaptiven Quantisierung das Restsignal
und einen oder mehrere Quantisierungspara meter vom BL-Codierer 210,
und führt
die MBA-Bitebenenverschiebungssteuerung 260 eine Bitebenenverschiebung
an Blöcken
oder "Makroblöcke" genannten Gruppen
von Blöcken
im Restsignal durch, wie nachstehend ausführlicher beschrieben ist. Die MBA-Bitebenenverschiebungssteuerung 260 kann
auch eine Bitebenenverschiebung an einem willkürlich geformten Block, der
als Alphabild 280 bezeichnet wird, durchführen, falls
dieser im Videocodierer 114 verfügbar ist. Optional kann die
Frequenzbitebenenverschiebungssteuerung 270 eine Bitebenenverschiebung
von Frequenzbereichskoeffizienten (z.B. DCT-Koeffizienten) durchführen. Schließlich werden
die bitebenenverschobenen Daten im Restsignal im Bitebenencodierer 250 codiert,
um die Daten des Anreicherungsschichtbitstroms zu erzeugen.
-
Die
vorliegende Erfindung stellt Systeme und Verfahren vor, wodurch
während
der Anreicherungsschichtcodierung eine qualitätsselektive Codierung durchgeführt werden
kann, und wodurch die Anreicherungsbits nicht nur räumlich,
sondern auch in der Reihenfolge der abnehmenden visuellen Wichtigkeit
organisiert werden. Die vorliegende Erfindung vollbringt Obiges
unter Verwendung von zwei unterschiedlichen Techniken. Die erste
Technik erfolgt durch das Einbringen eines Verschiebungsfaktors
von Bitebenen in jeden Makroblock (eine Gruppe von Blöcken) oder
Block von veränderlicher
Größe (z.B.
ein Block von 4 × 4
oder 8 × 8).
Der Verschiebungsfaktor wirkt ähnlich
wie die in der Basisschicht verwendete Quantisierungsschrittgröße. Er verschiebt
die Bitebenen abhängig
vom Vorzeichen des Verschiebungsfaktors aufwärts oder abwärts
-
Die
ebenfalls anhängige
US-Patentanmeldung mit der Seriennummer (Verzeichnis Nr. 700,736)
mit dem Titel "SYSTEM
AND METHOD FOR IMPROVED FINE GRANULAR SCALABLE VIDEO USING BASE LAYER
CODING INFORMATION" offenbart
Systeme und Verfahren zur Überwachung
eines oder mehrerer Basisschichtparameter (oder Quantisierungsparameter),
die verwendet werden können,
um Blöcke
oder Makroblöcke
zu identifizieren, die visuell wichtiger als andere Blöcke sind,
wie etwa durch Identifizieren von Blöcken oder Makroblöcken, die
hohe Grade an Aktivität
zwischen Rahmen, hohe Quantisierungsfehler, und dergleichen aufweisen.
Wenn ein Makroblock oder Block durch die Basisschichtquantisierungsparameter
oder irgendwelche anderen Parameter als visuell wichtiger identifiziert
wird, können
die Bitebenen des identifizierten Makroblocks oder Blocks durch
die Steuerung 240 der adaptiven Quantisierung aufwärts verschoben
werden. Die Bitebenen des aufwärts
verschobenen Makroblocks oder Blocks können mit höherer Priorität als die
gleichen Bitebenen der anderen Dateneinheiten codiert werden. Diese
Makroblock/Block-Ebene der Verschiebung erzielt eine lokale Steuerung
der Quantisierung und verbessert somit die visuelle Qualität. Der Ausdruck "Verschiebungseinheit" wird nachstehend
verwendet, um auf den Satz von Daten zu verweisen, der durch einen
Verschiebungsfaktor beherrscht wird.
-
Da
das Senden von Verschiebungsfaktoren an der Verschiebungseinheitsebene
einen Steuerungsaufwand im Bitstrom herbeiführt, stellt die Steuerung 240 der
adaptiven Quantisierung einen wirksamen Mechanismus zur Verringerung
des benötigten
Steuerungsaufwands auf ein Mindestmass bereit. Die Steuerung 240 der
adaptiven Quantisierung erreicht diese Wirksamkeit auf eine Anzahl
von Weisen, einschließlich
des Folgenden:
- 1. In einer Ausführungsform
der feinkörnigen
Skalierbarkeit (FGS) der vorliegenden Erfindung gibt es am Anfang
jedes Blocks eine Markierung, um anzugeben, ob die gegenwärtige Bitebene
des gesamten Blocks null ist, oder nicht. Wen diese Markierung 0
ist, sendet die Steuerung 240 der adaptiven Quantisierung
den Verschiebungsfaktor nicht, da Nullen nicht zur Rekonstruktion
des Blocks beitragen.
- 2. In einer Ausführungsform
der vorliegenden Erfindung beschränkt die Steuerung 240 der
Quantisierung den Bereich der Verschiebungsfaktoren (z.B. zwischen
0 und 3). Wen ein Code mit fester Länge verwendet wird, um diesen
Verschiebungsfaktor zu senden, werden pro Verschiebungseinheit nur
zwei Bit benötigt. Es
kann auch ein Code mit veränderlicher
Länge (VLC)
gestaltet werden, um die Menge des Steuerungsaufwands noch weiter
zu verringern.
- 3. In einer Ausführungsform
der vorliegenden Erfindung codiert die Steuerung 240 der
adaptiven Quantisierung das Unterscheidungssignal der Verschiebungsfaktoren
anstelle der Verschiebungsfaktoren selbst. Dies spart Steuerungsaufwand,
wenn sich die Verschiebungsfaktoren von Einheit zu Einheit nicht
um große Ausmaße verändern.
- 4. Wenn die Verschiebungsfaktoren lediglich als eine Funktion
des Basisschicht-Videos und anderer nicht mit den Anreicherungsdaten
zusammenhängenden
Informationen bestimmt werden, kann der Decodierer den Bestimmungsvorgang
wiederholen und die an der Codiererseite verwendeten Verschiebungsfaktoren ableiten.
In diesem Szenario brauchen die Verschiebungsfaktoren überhaupt
nicht gesendet werden.
- 5. Für
ein Videoobjekt mit einem willkürlich
geformten Bereich weist jeder Videorahmen ein entsprechendes "Alphabild" auf, das die Form
des Objekts in diesem bestimmten Videorahmen definiert. In einer
Ausführungsform
der vorliegenden Erfindung verwendet die Steuerung 240 der
adaptiven Quantisierung das Alphabild, das die Form des Objekts
definiert, als Richtlinie für
die Stelle und das Ausmaß der
Bitebenenverschiebung. Es gibt zwei Arten von Alphabildern: binäre und Greylevel-Alphabilder.
Für ein
binäres
Alphabild kann jedes "Alpha-Pixel" einen Wert von 1
oder 0 annehmen. Typischerweise gibt eine 1 an, dass sich das entsprechende
Pixel im Videoobjekt befindet. Daher kann die Steuerung 240 der
adaptiven Quantisierung dann, wenn die Steuerung 240 der
adaptiven Quantisierung über
einen Zugriff auf das Alphabild eines Videoobjekts verfügt, eine
Verschiebung nur an den Pixeln innerhalb des Videoobjekts durchführen. Wenn der
Decodierer ebenfalls über
einen Zugriff auf das Alphabild verfügt (d.h., die Forminformation
durch irgendein Mittel zum Decodierer befördert wird), braucht die Steuerung 240 der
adaptiven Quantisierung die Steuerungsaufwandinformation, die für das Identifizieren
der Pixel, die bitebenenverschoben sind, benötigt werden, nicht zu senden.
-
Für Graylevel-Alphabilder
kann jedes Alphapixel einen Bereich von möglichen Werten (z.B. 0 bis
255) aufweisen. In diesem Fall kann die Steuerung 240 der
adaptiven Quantisierung den Alphawert jedes Pixels als eine Richtlinie
verwenden, um das Ausmaß der
Bitebenenverschiebung, die die Steuerung 240 der adaptiven Quantisierung
auf dieses bestimmte Pixel ausüben
sollte, zu entscheiden. Zum Beispiel kann der Codierer 114 für Pixel
mit höheren
Alphawerten eine größere Anzahl
von Bitebenenverschiebungen durchführen. Doch abhängig von
der Semantik des Alphawerts und davon, ob der Codierer 114 das
in Betrachtung stehende Videoobjekt, den Hintergrund, oder andere
Videoobjekte in der gleichen Szene betont, kann auch das Umgekehrte gelten
(d.h., je höher
die Bitebene, desto geringer die Bitebenenverschiebung). Ähnlich wie
im Fall des binären Alphabilds
braucht die Steuerung 240 der adaptiven Quantisierung den
zusätzlichen
Steuerungsaufwand, der benötigt
wird, um Informationen hinsichtlich des Ausmaßes der Bitebenenverschiebung,
die stattgefunden hat, zu senden, nicht zu übertragen, wenn die Steuerung 240 der
adaptiven Quantisierung über
einen Zugriff auf das Graylevel-Alphabild verfügt.
-
Die
zweite Technik zum Erreichen einer selektiven Qualitätsanreicherung
ist, eine Bitebenenverschiebung in den DCT-Koeffizientenbereich
einzubringen. In einem Block von 8 × 8 gibt es 64 DCT-Koeffizienten, und
jeder DCT-Koeffizient kann einen unterschiedlichen Beitrag zur endgültigen visuellen
Qualität
des codierten Bilds aufweisen. Das Einbringen einer Matrix von Verschiebungsfaktoren
für alle
64 DCT-Koeffizienten ermöglicht
der Steuerung 240 der adaptiven Quantisierung selektiv
unterschiedliche DCT- Koeffizienten über das gesamte
Bild hinweg unterschiedlich zu codieren. Eine beispielhafte Verschiebungsmatrix
ist nachstehend veranschaulicht.
-
-
Die
Kombination von räumlichen
und Frequenzbereichs-Verschiebungsfaktoren gibt der Steuerung 240 der
adaptiven Quantisierung viel Flexibilität im Codiervorgang und lässt viel
Raum für
eine Codiereroptimierung, um unter den gleichen Ratenbeschränkungen
eine bessere visuelle Qualität
zu erzielen.
-
Die
vorliegende Erfindung schlägt
eine Syntax für
eine adaptive Quantisierung als einen Mechanismus zur Anreicherung
der Qualität
des FGS-Schemas vor. Die adaptive Quantisierung wurde bereits für die MPEG-4-Basisschicht
eingesetzt. Das Anwenden dieses Mechanismus an der Anreicherungsschicht
ist ebenfalls wichtig, da die FGS auf einen Bereich von niedrigeren
Bitraten abzielt, der von einer differenzierten Bitzuteilung besonders
profitieren kann, um bestimmte Objekte anzureichern oder Flackerwirkungen,
die durch die Intracodierung der FGS eingebracht wurden, zu verringern.
-
Die
Steuerung 240 der adaptiven Quantisierung kann die adaptive
Quantisierung in der Anreicherungsschicht in drei verschiedenen
Modi durchführen:
- 1. Keine adaptive Quantisierung.
- 2. Eine adaptive Quantisierung auf Makroblockebene, die eine
Differenzcodierung zwischen den adaptiven Quantisierungsparametern
von benachbarten Makroblöcken
und einen Verschiebungsfaktorbereich von 0 bis 7 einsetzt.
- 3. Eine adaptive Quantisierung auf Blockebene, die eine Codierung
von Quantisierungsparametern (Verschiebungsfaktoren) im Bereich
von 0 bis 2 einsetzt.
-
Die
Steuerung 240 der adaptiven Quantisierung schaltet auf
Ebene der Videoobjektebene (VOP) durch Hinzufügen einer Markierung von 2
Bit zum VOP-Datenkopf
zwischen den drei Modi um. Das Bereitstellen dieser drei unterschiedlichen
Optionen ist äußerst wichtig,
da jeder Modus einen unterschiedlichen Kompromiss zwischen der Menge
des Steuerungsaufwands und der Flexibilität des FGS-Codierers bietet.
Im Rest dieser Offenbarung wird die adaptive Quantisierung der Anreichungs schichtdaten
einfach als "adaptive
Quantisierung" bezeichnet
werden. Wenn die adaptive Quantisierung der Basisschicht beschrieben
ist, wird dies ausdrücklich
angegeben sein.
-
ADAPTIVE QUANTISIERUNG
FÜR DIE
FEINKÖRNIGE
SKALIERBARKEIT
-
A Einfache Bitebenenverschiebung
-
Für die adaptive
Quantisierung hinsichtlich einer besonderen (codiererdefinierten)
statistischen oder psycho-visuellen Metrik können die Koeffizienten jeder
Einheit (Block oder Makroblock) unterschiedlich quantisiert werden.
Die adaptive Quantisierung des FGS-Rests kann durch Aufwärtsverschieben
der verschiedenen Bitebenen des Rests sehr wirksam ausgeführt werden.
Diese Bitebenenverschiebung nach oben gestattet eine relative Quantisierung
um Faktoren von 2. Zum Beispiel stellt ein Verschiebungsfaktor von
1 eine Multiplikation der Restkoeffizienten mit 2 und somit eine
Verringerung um die Hälfte
der wirksamen Quantisierungsschrittgröße dar. In der gleichen Weise
bedeutet ein Verschiebungsfaktor von 2 eine Multiplikation mit 4,
und so weiter. Durch das Aufwärtsverschieben
der verschiedenen Koeffizienten werden die Koeffizienten vor anderen
weniger aufwärtsverschobenen
oder nicht verschobenen Koeffizienten bedeutend. Daher wird der
Rekonstruktionsfehler der aufwärtsverschobenen
Koeffizienten verglichen mit einer flachen Codierung oder keiner
adaptiven Codierung bei den gleichen Bitraten verringert (d.h.,
wird ihre Qualität
angereichert).
-
Bei
der Ausführung
eines adaptiven Quantisierungsschemas für die FGS bestehen zwei Grade
an Freiheit:
- 1. der Bereich der Anpassungsfähigkeit,
der in den Bereich der Verschiebungsfaktoren übertragen ist.
- 2. die lokale Körnigkeit
der Quantisierungsadaptivität
(d.h. block- bzw. makroblockbasierte adaptive Quantisierung).
-
Wenn
die Steuerung 240 der adaptiven Quantisierung ein adaptives
Quantisierungsschema wählt, wird
ein Kompromiss zwischen mehr Flexibilität und erhöhtem Übertragungssteuerungsaufwand
getroffen. Als nächstes
werden die verschiedenen Optionen bei diesem Kompromiss beschrieben.
-
B. Makroblock- bzw. Blockadaptivität
-
Für die MPEG-4-Basisschicht
wird die adaptive Quantisierung auf Makroblockebene durchgeführt. Für die FGS-Anreicherungsschicht
führt die
adaptive Quantisierung durch die Steuerung 240 der adaptiven
Quantisierung auf Blockebene für
verlustfrei codierte Bitströme
die sechsfache Menge an Steuerungsaufwand wie die adaptive Quantisierung
auf der Makroblockebene herbei. Doch der Vorteil des Einsetzens
einer blockbasierten adaptiven Quantisierung ruht in einer genaueren
Anpassung, was für
Bilder bei geringen Auflösungen äußerst wichtig
ist.
-
Zusätzlich gilt
der Faktor von Sechs im erhöhten
Steuerungsaufwand nur für
den gesamten FGS-Bitstrom. In echten Anwendungen kann die Übertragung
von Verschiebungsfaktoren verzögert
werden, bis der besondere Block bedeutend wird, wie durch eine Markierung
von einem Bit auf der Blockebene angegeben ist. Daher ergibt die
blockbasierte adaptive Quantisierung für praktische Anwendungen auf
Kosten eines mäßig erhöhten Steuerungsaufwands
eine bessere Flexibilität
als die makroblockbasierte adaptive Quantisierung. Eine ausführliche
Analyse des Steuerungsaufwands wird nachstehend gegeben.
-
VERZÖGERTE ÜBERTRAGUNG
VON VERSCHIEBUNGSFAKTOREN FÜR
DIE BLOCKBASIERTE ADAPTIVE QUANTISIERUNG
-
In
der Ausführung
der FGS-Restcodierung wird das Restsignal eines besonderen Blocks
der Basisschicht nur hinzugefügt,
wenn dieser Block bedeutend wird. Wenn noch kein Koeffizient bedeutend
ist, wird der Basisschicht dieses Blocks kein Restsignal hinzugefügt. Daher
sendet die Steuerung 240 der adaptiven Quantisierung den
Verschiebungsfaktor für
einen Block unmittelbar, wenn dieser Block bedeutend wird.
-
Daher
führt die
Steuerung 240 der adaptiven Quantisierung den Vergleich
des Steuerungsaufwands, der durch die adaptive Quantisierung auf
Blockebene gegenüber
jener auf Makroblockebene herbeigeführt wird, bei einem Bereich
von Anreicherungsschichtbitraten durch. Ein wichtiger Faktor, der
durch die Steuerung 240 der adaptiven Quantisierung verwendet
wird, ist die Anzahl der übertragenen
Verschiebungsfaktoren für den
Bereich der betroffenen Bitraten.
-
Zum
Beispiel überspannen
die beiden werthöchsten
Bits (MSB) der Anreicherungsschicht gewöhnlich die Anreicherungsraten
2× bis
3×. Die
Anzahl der Blöcke
und Makroblöcke,
die eine Übertragung
des Verschiebungsfaktors in diesem Ratenbereich nicht benötigen (Klasse
1) bzw. benötigen
(Klasse 2) ist nachstehend in Tabelle 1 und 2 für die ersten bzw. die zweiten
Bitebenen des Restsignals gezeigt. Die in Tabelle 1 und 2 angegebenen
Zahlen stellen den schlimmsten Fall dar, bei dem alle Blöcke den
gleichen Verschiebungsfaktor aufweisen. In diesem schlimmsten Fall
ist verglichen mit dem Fall, bei dem nur einige wenige Blöcke aufwärtsverschoben
werden, die Übertragung
von weniger Verschiebungsfaktoren verzögert.
-
Klasse
1: Die Blöcke
oder Makroblöcke,
die keine Verschiebungsfaktorübertragung
benötigen,
können in
zwei Unterkategorien eingeteilt werden:
- a)
unbedeutend bis zur und einschließlich der gegenwärtigen Bitebene
(es wird kein Verschiebungsfaktor benötigt): N1,
NMB 1;
- b) bereits bedeutend (der Verschiebungsfaktor wurde bereits übertragen):
N2, NMB 2.
-
Klasse
2: Die Blöcke
oder Makroblöcke,
die in der gegenwärtigen
Bitebene eine Verschiebungsfaktorübertragung verlangen, sind
jene, die während
der gegenwärtigen
Bitebene bedeutend werden (letzte Spalte der Tabellen): N3, NMB 3.
Gesamtanzahl
der Blöcke
pro Rahmen N = N1 + N2 +
N3.
Gesamtanzahl der Makroblöcke pro
Rahmen = NMB 1 +
NMB 2 + NMB 3.
-
Tabelle
1. Einteilung
der Blöcke
(Makroblöcke)
für die
erste Bitebene, über
100 Rahmen gemittelt.
-
-
Tabelle
2. Einteilung
der Blöcke
(Makroblöcke)
für die
zweite Bitebene, über
100 Rahmen gemittelt.
-
Aus
Tabelle 1 und 2 wird klar, dass der Steuerungsaufwand, der für die blockbasierte
adaptive Quantisierung benötigt
wird, zwei bis vier mal größer als
jener für
die makroblockbasierte Quantisierung ist, wenn für alle Blöcke/Makroblöcke die gleichen Verschiebungsfaktoren
eingesetzt werden und eine verzögerte Übertragung
von Verschiebungsfaktoren eingesetzt wird.
-
Doch
im praktischen adaptiven Quantisierungsschema wird nur eine begrenzte
Anzahl von Blöcken/Makroblöcken aufwärts verschoben
werden: etwa 30% der beispielhaften "Vorarbeiter"-Sequenz und etwa 15% für die beispielhafte "Küstenwachen"-Sequenz.
Im extremen Fall, wenn alle Blöcke
oder Makroblöcke
aufwärts
verschoben werden, werden die Vorteile der adaptiven Quantisierung
zunichte gemacht. Daher nimmt die Anzahl der Blöcke und Makroblöcke in Klasse
2 sogar noch weiter ab, und tut dies auch der zusätzliche
Steuerungsaufwand, der durch die adaptive Quantisierung auf Blockebene
verursacht wird. Überdies sind
die Verschiebungsfaktoren nur für
einen kleinen Bruchteil des gesamten Bitbudgets (z.B. weniger als
10% des Bitbudgets, wenn REL = RBL ist) verantwortlich. Der Prozentsatz des
Steuerungsaufwands nimmt mit dem Zunehmen der Anreicherungsschichtrate
ab.
-
Tabelle
1 und 2 offenbaren auch die Wichtigkeit der nachstehend beschriebenen
bedingten (oder verzögerten)
Verschiebungsfaktorübertragung.
Da das Verhältnis
zwischen Null- und Nicht-Null-Blöcken
in der ersten Bitebene sehr hoch ist, würde das bedingungslose Übertragen
der Verschiebungsfaktoren zu einem beträchtlichen Anstieg des Steuerungsaufwands
führen.
Im makroblockbasierten Ansatz führt
das Verzögern
der Übertragung
des Verschiebungsfaktors, bis der gesamte Makroblock bedeutend wird,
für die
erste Bitebene zu einer Ersparnis an Steuerungsaufwand von weniger
als 400 Bit. Dies übersetzt
sich in eine vernachlässigbare PSNR-Verbesserung
(0,05 dB) für
12.800 Bit pro Anreicherungsrahmen für die "Vorarbeiter"-Sequenz. Daher verwendet die Steuerung 240 der
adaptiven Quantisierung in einer vorteilhaften Ausführungsform
der vorliegenden Erfindung eine bedingte Übertragung von Verschiebungsfaktoren
nur im Blockfall.
-
BEREICH DER VERSCHIEBUNGSFAKTOREN
FÜR DIE
BLOCKBASIERTE ADAPTIVE QUANTISIERUNG
-
Um
den Steuerungsaufwand, der durch die Übertragung von Verschiebungsfaktoren
in der adaptiven Quantisierung auf Blockebene verursacht wird, weiter
zu verringern, beschränkt
die Steuerung 240 der adaptiven Quantisierung die Verschiebungsfaktoren
auf einen Bereich von 0 bis 2. Das Grundprinzip dahinter kann durch
typische adaptive Quantisierungsschemata für MPEG-2 veranschaulicht werden.
Bei MPEG-2 schwanken die Quantisierungsschrittgrößen im Bereich von der Hälfte bis
zum Doppelten der durchschnittlichen Schrittgröße, wenn die Bildqualität das einzige
Anliegen ist. Doch die MPEG-2- und MPEG-4-Basisschichten gestatten
zum Zweck der Erleichterung der Puffersteuerung einen größeren Bereich
(1 bis 31) der Quantisierungsschrittgröße. Doch aufgrund ihrer inhärenten Pufferanpassungsfähigkeit
ist die Puffersteuerung bei der FGS-Codierung keine Überlegung.
-
C. Codierung der Verschiebungsfaktoren
mit fester bzw. veränderlicher
Länge
-
BLOCKBASIERTE ADAPTIVE
QUANTISIERUNG
-
Die
Steuerung 240 der adaptiven Quantisierung kann für die Übertragung
von Verschiebungsfaktoren wie nachstehend in Tabelle 3 und 4 veranschaulicht
entweder eine Codierung mit fester Länge oder eine Codierung mit
veränderlicher
Länge verwenden.
Für die
Codierung mit veränderlicher
Länge wurde
dem Verschiebungsfaktor von 0 das kleinste Codewort zugeteilt, da
die meisten Blöcke
nicht verschoben werden (d.h., 0 die höchste Wahrscheinlichkeit aufweist).
-
Tabelle
3. Darstellung
des Blockverschiebungsfaktors mit fester Länge.
-
Tabelle
4. Mit
veränderlicher
Länge codierte
Darstellung des Blockverschiebungsfaktors.
-
Da
für den
blockbasierten Ansatz die bedingte Übertragung von Verschiebungsfaktoren
eingesetzt wird, würde
eine Differenzcodierung der Verschiebungsfaktoren nicht passend
sein, da die benachbarten Verschiebungsfaktoren der meisten Blöcke fehlen
werden (die Blöcke
sind nach wie vor unbedeutend oder werden später bedeutend werden). Dies
ist eine sehr wichtige Beobachtung, da sie besagt, dass in Verbindung mit
der bedingten Verschiebungsfaktorübertragung keine Differenzcodierung
verwendet werden sollte.
-
Der
Verschiebungsbereich für
den blockbasierten Ansatz kann ohne Einbringung eines unannehmbaren
Steueraufwands für
die adaptive Quantisierung nicht über 0 bis 2 ausgeweitet werden.
-
MAKROBLOCKBASIERTE ADAPTIVE
QUANTISIERUNG
-
1. Höchster Verschiebungsfaktor
von Sieben (7)
-
Wenn
ein höchster
Verschiebungsfaktor von Sieben (7) eingesetzt wird und die Veränderung
zwischen zwei benachbarten Makroblöcken auf +1, 0, oder –1 beschränkt ist,
kann die Steuerung 240 der adaptiven Quantisierung der
Codierung mit veränderlicher
Länge (VLC)
in Tabelle 5 folgen. Doch die Differenzcodierung von Verschiebungsfaktoren
ist nur vorteilhaft, wenn eine unbedingte Verschiebungsfaktorübertragung
benutzt wird.
-
Der
absolute Wert des Verschiebungsfaktors für den ersten Makroblock in
jedem Stück
muss nach wie vor übertragen
werden, entweder VLC- oder FLC-codiert.
-
Tabelle
5. Mit
veränderlicher
Länge codierte
Darstellung einer Differenzverschiebungsfaktorcodierung.
-
2. Höchster Verschiebungsfaktor
von 2
-
Wenn
der Bereich der Bitebenenverschiebung auf zwischen 0 und 2 beschränkt ist,
kann die Steuerung 240 der adaptiven Quantisierung anstelle
des oben beschriebenen Differenzverfahrens die absoluten Werte der
Verschiebungsfaktoren übertragen.
Die entsprechende VLC-Tabelle ist nachstehend in Tabelle 6 gezeigt.
-
Von
der Codierungsperspektive her weist dieses Verfahren gegenüber dem
Differenzverfahren einen Vorteil und einen Nachteil auf. Wenn absolute
Verschiebungsfaktoren codiert werden, kann eine bedingte Übertragung
eingesetzt werden, wodurch Steuerungsaufwand gespart wird. Doch
die Wahrscheinlichkeit, über einen
Differenzverschiebungsfaktor von 0 zu verfügen, ist höher als über einen absoluten Wert von
0 zu verfügen.
Daher sind die VLC-Codes in Tabelle 5 leistungsfähiger als jene in Tabelle 6.
-
Tabelle
6. Mit
veränderlicher
Länge codierte
Darstellung einer absoluten Blockverschiebung.
-
Von
der Flexibilitätsperspektive
her gestattet die Differenzcodierung mit einem absoluten Bereich
zwischen 0 und 7 einen größeren Bereich
von Verschiebungsfaktoren, beschränkt aber die Veränderung
der Verschiebungsfaktoren zwischen benachbarten Makroblöcken.
-
Tabelle
7 fasst die verschiedenen Modi, die durch die Steuerung 240 der
adaptiven Quantisierung für die
FGS-adaptive-Quantisierung in der Anreicherungsschicht verwendet
werden, zusammen. Es wird bemerkt, dass, da Tabelle 4 und 5 die
gleichen Codes mit veränderlicher
Länge einsetzen,
die VLC-Tabelle für
die adaptive Quantisierung wie in Tabelle 8 dargestellt ausgeführt werden
kann, wodurch die mit mehreren Huffman-Tabellen verbundene höhere Komplexität vermieden
wird.
-
Tabelle
7. Adaptive
Quantisierungsmodi.
-
Tabelle
8. Mit
veränderlicher
Länge codierte
Darstellung der Verschiebungsfaktoren
-
Eine
beispielhafte Syntax für
die adaptive Quantisierung im Videodecodierer 134, die
durch Bitverschiebung ausgeführt
wird, wird nachstehend beschrieben. Es wird bemerkt, dass, während die
Bitebenen im Videocodierer 114 nur aufwärts verschoben werden, die
Bitebenen im Videodecodierer 134 nur abwärts verschoben
werden. Dies kann mit der Funktion "Verschieber_abwärts" ausgeführt werden, die die 64 rekonstruierten
Restwerte (absoluten Werte) eines Blocks und den decodierten Verschiebungsfaktor
nimmt und die Verschiebung durchführt.
Leerraum Verschieber_abwärts(Int
diff[64], Int Verschiebungs_Faktor) {Int i;
wenn (Verschiebungs_Faktor > 0)/* wenn irgendeine
Verschiebung durchzuführen
ist,
Verschiebung_Faktor = 0 bedeutet keine Verschiebung*/
für (i
= 0; i < 64; i++)
diff(i) = diff(i) >> Verschiebungs_Faktor;}
-
Außerdem wird über den
gesamten FGS-Codierungsvorgang, bei dem die Höchstanzahl von Bitebenen für das Restsignal
auf N gesetzt ist (z.B. ist N in der gegenwärtigen FGS-Bezugssoftware gleich
12), N zu N + Max_Verschiebungs_Faktor (z.B. N = 12 + 2 = 14). Die
Aufwärtsverschiebung
der Ebenen findet im Videodecodierer 114 nach der Rekonstruktion
der Restwerte von den decodierten Bitebenen statt (d.h., nach der Funktion "Bitebene2Block" im Modul ErlangeFGSMBBlockdaten).
-
3 stellt
ein Ablaufdiagramm 300 dar, das einen beispielhaften Betrieb
der Steuerung 240 der adaptiven Quantisierung nach einer
Ausführungsform
der vorliegenden Erfindung veranschaulicht. Zuerst erhält die Steuerung 240 der
adaptiven Quantisierung das Restfehlersignal vom Restrechter 230 (Vorgangsschritt 305).
Die Steuerung 240 der adaptiven Quantisierung erhält auch
vom BL-Codierer 210 einen oder mehrere Quantisierungsparameter,
die dem Restfehlersignal zugehörig
sind. Optional kann die Steuerung 240 der adaptiven Quantisierung
(vom BL-Codierer 210 oder anderswo her) ein Alphabild erhalten,
das einem willkürlich geformten
Objekt in den Basisschichtdaten zugehörig ist (Vorgangsschritt 310).
Unter Verwendung der Quantisierungsparameter und/oder der Alphabilddaten
bestimmt die Steuerung 240 der adaptiven Quantisierung
einen oder mehrere Verschiebungsfaktoren, die der einen oder den
mehreren Bitebenen in den Anreicherungsschichtdaten zugehörig sind
(Vorgangsschritt 315). Schließlich setzt die Steuerung 240 der
adaptiven Quantisierung einen Modusanzeiger in, zum Beispiel, den
VOP-Datenkopf der Anreicherungsschichtdaten, der anzeigt, ob der
Verschiebungsfaktor für
einen Block oder einen Makroblock in den Anreicherungsschichtdaten gilt
(Vorgangs schritt 320). Der Verschiebungsfaktor selbst wird
in den VOP-Datenkopf aufgenommen, um das Ausmaß der Verschiebung anzuzeigen,
die auf den Block oder den Makroblock in den Anreicherungsschichtdaten
ausgeübt
werden soll.
-
An
der Empfängerseite
umfasst der Videodecodierer 134 im Empfänger 130 des strömenden Videos eine
Verarbeitungsschaltung, die fähig
ist, die komprimierten Basisschicht-Videorahmen und die Anreicherungsschicht-Videodaten,
die entsprechenden komprimierten Basisschicht-Videorahmen zugehörig sind,
zu empfangen. In einer Ausführungsform
der vorliegenden Erfindung stellt die Videoverarbeitungsschaltung
im Videodecodierer 134 den Verschiebungsfaktor und/oder
die Modusmarkierung fest, der bzw. die durch den Videocodierer 114 in
den VOP-Datenkopf der Anreicherungsschicht-Videodaten eingesetzt wurde. Als Reaktion auf
diese Feststellung teilt der Videodecodierer 134 den Bitebenen,
die dem Block, Makroblock, oder Alphabild zugehörig sind, der bzw. das durch
die Modusmarkierung und den Verschiebungsfaktor angezeigt wird,
eine höhere
Decodierungsprioirität
zu.
-
In
einer anderen Ausführungsform
der vorliegenden Erfindung ist die Videoverarbeitungsschaltung im Videodecodierer 134 fähig, die
auf die Anreicherungsschichtdaten anzuwendenden Verschiebungsfaktoren unabhängig zu
bestimmen. In einer derartigen Ausführungsform wird die adaptive
Quantisierung durch den Videodecodierer 134 gefolgert.
Da der Videodecodierer 134 die gleichen komprimierten Basisschicht-Videodaten erhält, die
durch den Videocodierer 114 erzeugt werden, kann der Videodecodierer 134 mit
dem Videocodierer 114 synchronisiert werden und ohne ausdrückliche
Anweisungen vom Videocodierer 114 die gleichen adaptiven
Quantisierungsschritte auf die Anreicherungsschichtdaten anwenden.