DE69816971T2 - Videokodierer mit skalierungsabhängiger vlc (variable length code) kodierung - Google Patents

Videokodierer mit skalierungsabhängiger vlc (variable length code) kodierung Download PDF

Info

Publication number
DE69816971T2
DE69816971T2 DE69816971T DE69816971T DE69816971T2 DE 69816971 T2 DE69816971 T2 DE 69816971T2 DE 69816971 T DE69816971 T DE 69816971T DE 69816971 T DE69816971 T DE 69816971T DE 69816971 T2 DE69816971 T2 DE 69816971T2
Authority
DE
Germany
Prior art keywords
quantization parameter
video information
variable length
memory
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69816971T
Other languages
English (en)
Other versions
DE69816971D1 (de
Inventor
Geoffry Barin HASKELL
Atul Puri
Lewis Robert SCHMIDT
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
AT&T Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AT&T Corp filed Critical AT&T Corp
Publication of DE69816971D1 publication Critical patent/DE69816971D1/de
Application granted granted Critical
Publication of DE69816971T2 publication Critical patent/DE69816971T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Videocodierer und insbesondere Codierer variabler Länge, die beim Codieren von Videobildern verwendet werden.
  • Gegenwärtig wurden mehrere Standards für die Videocodierung bestimmt oder erwogen. Der vorgeschlagene Standard für die Videocodierung von Filmaufnahmen, MPEG-4, stellt die Codierung gemäß einer diskreten Cosinus-Transformation, Quantisierung, Lauflängencodierung und zusätzlich Codierung variabler Länge (VLC) bereit. VLC-Tabellen werden infolge ihrer geringen Komplexität bevorzugt. Sie erlauben Biteinsparungen durch die Zuordnung von kürzeren Codes für Videosignale, die mit hoher Frequenz auftreten, und durch die Zuordnung von längeren Codes für Videosignale, die mit geringer Frequenz auftreten. Jedoch sind VLCs für spezifische Anwendungen end zugeschnitten; sie passen sich dynamischen Bedingungen nicht an. Zum Beispiel wird für die Intra-Codierung im Überprüfungsmodell Nr. 6 des vorgeschlagenen MPEG-4-Codierungsstandards eine erste VLC-Tabelle verwendet, um die Gleichstrom-Koeffizienten der Luminanz zu codieren, eine zweite VLC-Tabelle codiert Wechselstrom-Koeffizienten der Luminanz, eine dritte VLC-Tabelle codiert Gleichstrom-Koeffizienten der Chrominanz und eine vierte VLC-Tabelle codiert Wechselstrom-Koeffizienten der Chrominanz. Für die Inter-Codierung können zusätzliche VLC-Tabellen erforderlich sein. Jedoch erhöht das Hinzufügen von VLC-Tabellen die Systemkomplexität und erfordert eine zusätzliche Signalisierung, um zu kennzeichnen, wann sich die spezifischen VLC-Tabellen in Verwendung befinden. Eine solche Verwaltung vergeudet Bandbreite und trägt zu Codierungs-Unzulänglichkeiten bei.
  • Videocodierer können jetzt auf vorteilhafte Weise variable Quantisierer benutzen. Quantisierer teilen ein Videosignal durch einen Quantisierungsparameter herunter, um die vom codierten Signal besetzte Bandbreite zu reduzieren. Ein variabler Quantisierer teilt durch einen variablen Quantisierungsparameter herunter, ändert aber die Statistiken des von den VLC-Tabellen codierten Videosignals. Solchermaßen beeinflussen Änderungen im Quantisierungsparameter die Codierungs-Wirksamkeiten der VLC-Tabellen. An den Quantisierern erhaltene Codierungsersparnisse können zu Kosten an den VLC-Tabellen führen.
  • US-Patent Nr. 5.402.244 offenbart ein System zum Übertragen eines Videosignals, dessen variable Länge das Signal codiert, das eine Mehrzahl an VLC-Tabellen benutzt, die jeweils eine Statistik der Signalwörter widerspiegeln, die von jedem im Digitalisierungsverfahren des Signals benutzten Quantisierungsparameter quantisiert werden, wobei das Übertragungssystem einen Umschaltschaltung umfasst, die auf jeden der Quantisisierungsparameter reagiert, um eine VLC-Tabelle auszuwählen.
  • Entsprechend gibt es im Stand der Technik ein Bedarf- für ein Codierungsschema, das einen variablen Quantisierer mit einem Codierer variabler Länge integriert. Weiterhin gibt es im Stand der Technik einen Bedarf für ein solches Codierungsschema, das ohne eine zusätzliche Verwaltung-Signalisierung zwischen den VLC-Tabellen schaltet.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung, wie im unabhängigen Anspruch 1 und 6 definiert, sorgt für eine Verbesserung gegenüber den Nachteilen aus dem Stand der Technik, indem sie sich ein Codierungsschema auf der Grundlage des Wertes des verwendeten Quantisierungsparameters zu eigen macht. Der Codierer variabler Länge legt eine VLC-Tabelle an, die vom Wert des variablen Quantisierungsparameters, Qp, bestimmt wird. Da der Decoder den Wert vom QP kennt, braucht kein Verwaltung-Signal zum Decoder übertragen zu werden, damit der Wert von Qp zwischen dem Codierer und dem Decoder synchronisiert wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1(a) veranschaulicht einen Codierer in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
  • 1(b) veranschaulicht einen Decoder in Übereinstimmung mit einer Ausführungsform der vorliegeriden Erfindung.
  • 2 ist ein Diagramm der Abschnitte des Quantisierers und des Codierers variabler Länge aus der 1(a).
  • DETAILLIERTE BESCHREIBUNG
  • Die vorliegende Erfindung integriert einen von einem variablen Quantisierungsparameter (QP) gekennzeichneten Quantisierer mit einem Codierer variabler Länge. Der Codierer variab-ler Länge speichert VLC-Tabellen im Speicher. Die VLC-Tabellen werden auf der Grundlage des Wertes der am Quantisierer angelegten Quantisierungsparameter ausgewählt. Der Quantisisierungsparameter wird herkömmlich auf einer Makroblock zu Makroblock Basis aktualisiert. Entsprechend kann der Codierer variabler Länge abhängig davon, ob der Quantisierungsparameter aktualisiert wurde, automatisch zwischen den VLC-Tabellen an jedem Makroblock schalten.
  • Aktualisierungen für die Quantisierungsparameter werden in der Bitstromausgabe vom Codierer gemeldet. Wenn ein Makroblock decodiert wird, berechnet der Decoder einen Quantisierungsparameter für den Makroblock auf der Grundlage der Quantisierer-Aktualisierungsinformation und des Quantisierungsparameters des vorherigen Makroblocks. Auf der Grundlage des berechneten Quantisierungsparameters schaltet der Decoder zwischen einer Mehrzahl an Tabellen, um die Tabellen variabler Länge zu decodieren. Durch das Schalten zwischen den VLC-Tabellen gemäß dem Wert des Quantisierungsparameters können drei oder vier VLC-Tabellen all-gemein für alle Signalarten verwendet werden.
  • Die neuen VLC-Tabellen sind so aufgebaut, dass sie nicht nur zwischen Luminanz und Chrominanz, sondern auch beim Codieren der Inter- und Intra-Koeffizienten austauschbar sind. Die Statistiken einer solchen Videoinformation sind stark mit dem Wert des Quantisierer-Parameters korreliert.
  • In bekannten Ausführungsformen wird die Zahl und der Wert von Breakpoints zwischen den VlC-Tabellen sowohl am Codierer als auch am Decoder vorbestimmt. Die Breakpoints sind statisch; sie ändern sich nicht. Keine Initialisierung ist von Nöten, um die von einem Decoder verwendeten Breakpoints mit am Codierer verwendeten Breakpoints zu synchronisieren.
  • In einer Ausführungsform gemäß der Erfindung werden Breakpoints zwischen den VLC-Tabellen am Codierer bestimmt. Der Codierer schließt ein Tabellen-Initialisierungssignal in einer Bitstromausgabe vom Codierer ein, die die Breakpoints identifiziert. Da die Breakpoints im Allgemeinen für Zwischenwerte des Quantisierungsparameters auftreten, kann die Länge des Breakpoint-Initialisierungssignals verkürzt werden, indem nur ein Offset zu einem Basis-Breakpoint codiert wird.
  • In einer MPEG-4-Ausführungsform nimmt QP zum Beispiel einen Wert zwischen 1–31 an. Das Breakpoint-Initialisierungssignal kann ein 3-Bit-Signal sein, das ein Offset von QP = 8 identifiziert. Abhängig vom Breakpoint-Initialisierungssignal kann zwischen QP = 9 und QP = 16 ein Breakpoint errichtet werden. Alternativ dazu kann der Codierer ein 4-Bit-Signal einschließen, das ein Offset von Qp = 5 identifiziert. Abhängig vom Breakpoint-Initialisierungssignal kann zwischen QP = 6 und QP = 21 ein Breakpoints errichtet werden.
  • Die Auswahl des Quantisierungsparameterwertes QP wird auf der Grundlage der Bandbreite oder Bitrate, die für den Kanal verfügbar ist, der Auflösung des codierten Bildes und anderer Betrachtungen vorgenommen, die den Fachleuten auf dem Gebiet bekannt sind. Für gewöhnlich ist bei niedrigen Werten von QP eine höhere Bandbreite für den Kanal erhältlich, es wird eine detailliertere Bildinformation codiert und folglich eine höhere Bildqualität erhalten. In einer bevorzugten Ausführungsform wird die VLC-Tabelle für die Videoinformation bei sehr kleinen Qp-Werten optimiert (Qp < 6 im MPEG-Schema).
  • Die Gleichstrom-Luminanz- und Gleichstrom-Chrominanzinformation führt die am wahrnehmbarsten signifikante Videoinformation im Block mit sich. Entsprechend werden in einer bevorzugten Ausführungsform die VLC-Tabellen für die Gleichstrom-Luminanzund -Chrominanzinformation optimiert, und zwar speziell bei sehr kleinen Werten des Quantisierungsparameters (QP < 6 im MPEG-4-Schema).
  • Beträchtliche Unterschiede in der Bildqualität werden unter Quantisiererwerten in mittleren bis hohen Bereichen (31 > Qp > 18 im MPEG-4-Schema) selten erhalten. Entsprechend werden in einer weiteren bevorzugten Ausführungsform Quantisiererparameterwerte für sehr kleine Qp-Werte, für kleine QP-Werte und für hohe QP-Werte unabhängige VLC-Tabellen zugeordnet. Zum Beispiel werden im MPEG-4-Schema unabhängige Tabellen für Qp = 1 bis 6, QP = 7 bis 17 und QP = 18 bis 31 bereitgestellt.
  • Bei mittleren bis hohen Quantisierungsparameterwerten besitzen die Statistiken von inter-codierten Koeffizienten häufig Ähnlichkeiten mit intea-codierten Koeffizienten. Entsprechend können in einer weiteren bevorzugten Ausführungsform die VLC-Tabellen an mittleren bis zu hohen Quantisierungsparameterwerten für die Verwendung mit inter-codierten Koeffizienten optimiert werden.
  • Die vorliegende Erfindung ist nicht auf die Codierung der Videoinformation beschränkt. Zusätzlich liegen die Vorteile der vorliegenden Erfindung auch darin, dass eine Verwaltung-Information codiert werden kann, die anzeigt, welcher der Blöcke im Makroblock die codierte Information enthält. Zum Beispiel stellt das Überprüfungsmodell Nr. 6 des vorgeschlagenen MPEG-4-Standards die Codierung eines MB-Typ-Feldes bereit, um die Art der Codierung anzuzeigen (intra, intra + Quantisiereraktualisierung, inter, inter + Quantisiereraktualisierung, usw.). Da weiterhin einige Blöcke vollständig durch die Quantisierung beseitigt werden können, sorgt der Standard für die Codierung eines CBPC-Feldes, um anzuzeigen, welcher der Chrominanzblöcke die codierte Information enthält, und eines CBPY-Feldes, um anzuzeigen, welcher der Luminanzblöcke die codierte Information enthält. Da die Frequenz, mit der die Blöcke entfernt werden, vom Wert des Quantisierungsparameters abhängt, können die Techniken der vorliegenden Erfindung verwendet werden, um MB-Typ, CBPC und CBPY zu codieren.
  • In einer bevorzugten Ausführungsform wurden drei VLC-Tabellen entwickelt, um MB-Typ und CBPC im vorgeschlagenen MPEG-4-Codierungsstandard zu codieren. Die auf dem Quantisierungsparameter basierende Umschaltung wird sowohl am Makroblock-artigen als auch am codierten Blockmuster-Feld angelegt, um die Chromi nanzinformation wie folgt zu codieren:
  • Tabelle 1
    Figure 00060001
  • Gemäß dem MPEG-4-Standard ist MB-Typ = 3, wenn der Makroblock eine intra-codierte Information enthält und keine Quantisierer-Aktualisierung im Bitstrom eingeschlossen ist; MB-Typ = 4, wenn der Makroblock eine intra-codierte Information enthält und eine Quantisierer-Aktualisierung im Bitstrom eingeschlossen ist. CPBC zeigt an, ob der erste oder zweite Chrominanzblock im Makroblock eine Videoinformation enthält. Eine "1" in irgendeiner Bitstelle zeigt an, dass die Videoinformation für einen entsprechenden Chrominanzblock codiert ist.
  • Bei höheren Werten von QP erwartet man, dass es wahrscheinlicher ist, dass die zwei Chrominanzblöcke vollständig entfernt werden. Solchermaßen ist für CPBC = 00 der VLC-Code am kürzesten, wenn QP zwischen 15 und 31 fällt. An niedrigen QP's erwartet man, dass es wahrscheinlicher ist, dass der Bitstrom die codierten Signale für beide Chrominanzblöcke enthalten wird. Solchermaßen ist der VLC bei CBPC = 11 am kürzesten, wenn sich QP zwischen 1 und 6 befindet.
  • Im Beispiel der Tabelle 1 werden drei VLC-Tabellen für Bilddaten bestimmt, die Breakpoints bei QP = 7 und QP = 15 haben. In diesem Beispiel wird die erste VLC-Tabelle verwendet, wenn der Skalar zwischen 1 und 6 fällt. Wenn der Skalar zwischen 7 und 14 fällt, wird die zweite VLC-Tabelle verwendet. Die dritte VLC-Tabelle wird verwendet, wenn der Skalar 15 übersteigt.
  • Auf eine ähnliche Art und Weise wurden in der bevorzugten Ausführungsform drei VLC-Tabellen für CBPY auf der Grundlage von Werten des Quantisierungsparameters erhalten.
  • Tabelle 2
    Figure 00070001
  • Bei tiefen Werten von Qp, wo man erwarten würde, dass die wenigsten Koeffizienten bis auf Null herunter geteilt werden, zeigt der kürzeste Code an, dass alle vier Luminanzblöcke im Makroblock Daten enthalten (CBPY = 1111).
  • 1 zeigt einen Codierer 100, der in Übereinstimmung mit einer ersten Ausführungsform der vorliegenden Erfindung aufgebaut ist. Ein Analog-Bildsignal wird dem Codierer 100 vorgelegt. Das Bildsignal wird abgetastet und von einem Analog/Digital ("A/D")-Wandler 110 mittels Verwendung von im Stand der Technik bekannten Techniken zu einem Digitalsignal konvertiert. Der A/D-Wandler 110 erzeugt ein digitales Bildsignal für eine Vielzahl von Pixeln des Bildes. Alternativ dazu kann das Bildsignal dem Codierer als ein digitales Bildsignal vorgelegt werden; in diesem Fall wird der A/D-Wandler 110 weggelassen.
  • Das digitale Bildsignal wird in eine Verarbeitungsschaltung 120 eingegeben. Die Verarbeitungsschaltung 120 kann als Host von Funktionen arbeiten. Für gewöhnlich filtert die Verarbeitungsschaltung 120 die Bilddaten und bricht die Bilddaten in eine Luminanzsignalkomponente und in zwei Chrominanzsignalkomponenten auf. Zusätzlich gruppiert die Verarbeitungsschaltung 120 Bilddaten zu Datenblöcken. Da, wo das digitale Eingabesignal die Information für eine Vielzahl von Pixeln in einer Abtastrichtung darstellt, stellt die digitale Ausgabe der Verarbeitungsschaltung 120 Blöcke von Pixeln dar; z. B. können Daten in 8 Pixel mal 8 Pixel Felder von Bilddaten zu Blöcken gruppiert werden. Die Verarbeitungsschaltung 120 gibt Bilddaten auf einer Makroblockgrundlage aus. Ein Makroblock besteht für gewöhnlich aus vier Blöcken an Luminanzdaten und zwei Blöcken an Chrominanzdaten. Die Verarbeitungsschaltung 120 kann auch zusätzliche Funktionen wie beispielsweise das Filtern durchführen, um mit individuellen Entwurfkriterien in Einklang zu stehen. Die Ausgabe der Verarbeitungsschaltung 120 wird an eine Transformationsschaltung 130 eingegeben. Die Transformationsschaltung 130 führt eine Transformation der Bilddaten wie beispielsweise die diskrete Cosinustransformations-("DCT")codierung oder Teilbandcodierung von der Pixeldomäne zu einer Domäne der Koeffizienten durch. Ein Block von 64 Pixeln wird zu einem Block von 64 Koeffizienten umgewandelt. Die Koeffizientenausgabe durch die DCT-Codierung schließt allgemein einen einzelnen Gleichstrom-Koeffizienten und 63 Wechselstrom-Koeffizienten ein, von denen einige Nicht-Null sind. Auf eine ähnliche Art und Weise stellt die Koeffizientenausgabe durch die Teilbandcodierung Bildeigenschaften an einer Vielfalt von Frequenzen dar; für gewöhnlich sind viele Koeffizienten aus der Teilbandcodierung sehr klein. Die Transformationsschaltung 130 gibt Blöcke der Koeffizienten aus.
  • Ein Quantisierer 140 skaliert die von der Transformationsschaltung 130 erzeugten Signale gemäß einer Konstante oder einem variablen Skalarwert (Qp). Der Quantisierer 140 reduziert die Bandbreite des Bildsignals durch die Reduzierung einer Anzahl an für die Codierung des Signals zur Verfügung stehenden Quantisierungsstufen. Das Quantisierungsverfahren ist mit Verlust behaftet. Viele kleine Koeffizienteneingaben an den Quantisierer 140 werden geteilt und auf Null gekürzt. Das skalierte Signal wird vom Quantisierer 140 ausgegeben.
  • Die Vorhersage-Schaltung 150 führt eine Gradientvorhersageanalyse durch, um die skalierten Gleichstrom-Koeffizienten eines jeden Blocks vorherzusagen. Die Vorhersage-Schaltung 150 kann skalierte Wechselstromkoeffizienten weiterleiten oder alternativ Wechselstromkoeffizienten des Blocks vorhersagen. In einem bevorzugten Betriebsmodus wählt die Vorhersage-Schaltung 150 zwischen Betriebsarten der Vorhersage oder der Weiterleitung der Wechselstromkoeffizienten; in diesem Fall erzeugt die Vorhersage-Schaltung 150 einen Wechselstrom-Vorhersage-Flag, um einen Betriebsmodus zu identifizieren. Die Vorhersage-Schaltung 150 gibt das Gleichstrom-Restsignal, Wechselstromsignale (die entweder Wechselstromkoeffizienten oder Wechselstromreste darstellen) und wahlweise einen Wechselstrom-Vorhersage-Flag aus.
  • Ein Codierer variabler Länge 160 codiert die Ausgabe der Vorhersage-Schaltung 150. Der Codierer variabler Länge 160 ist für gewöhnlich ein Huffman-Codierer, der die Lauflängencodierung an skalierten Videosignalen durchführt, aber durch die Werte vom QP ausgelöst wird. Eine Bitstromausgabe vom Codierer variabler Länge 160 kann übertragen, gespeichert oder für andere Verwen- dungszwecke, wie sie im Stand der Technik bekannt sind, vorgelegt werden.
  • Im Codierer 100 führen die Vorhersage-Schaltung 150 und der Quantisierer 140 Funktionen durch, die wechselseitig transparent sind. Entsprechend ist ihre Betriebs-Reihenfolge weitestgehend unwesentlich. Obwohl die 1 die Ausgabe des Quantisierers 140 als eine Eingabe an die Vorhersage-Schaltung 150 darstellt, können die Schaltungen in der Reihenfolge umgekehrt werden. Die Ausgabe der Vorhersage-Schaltung 150 kann an den Quantisierer 140 eingegeben werden.
  • Ein Decoder 200 führt Betriebe aus, die sich dem oben beschriebenen Codierungsbetrieb rückgängig machen. Ein Decoder variabler Länge 260 analysiert den Bitstrom mittels Verwendung eines komplementären Verfahrens, damit ein skaliertes Signal rückgewonnen wird. Wenn vom Codierer 160 ein Huffman-Codierer verwendet wurde, wird ein Huffman-Decoder 260 verwendet.
  • Eine Rekonstruktionsschaltung 250 führt die identische Gradientanalyse durch, die in der Vorhersage-Schaltung 150 durchgeführt wird. Das Gleichstrom-Restsignal wird identifiziert und zu einem vorhergesagten Koeffizienten hinzugefügt, um einen Gleichstromkoeffizienten zu erhalten. Wahlweise könnte die Rekonstruktionsschaltung 250 den Wechselstrom-Vorhersage-Flag identifizieren, und auf der Grundlage des Zustands dieses Flags interpretiert sie die Wechselstrominformation entweder als Wechselstromkoeffizienten-Information oder Wechselstrom-Rest-Information. Für den Fall, dass die Wechselstrom-Rest-Information vorliegt, addiert die Rekonstruktionsschaltung 250 die Restsignale zu den entsprechenden vorhergesagten Signalen, um Wechselstromkoeffizienten zu erhalten. Die Rekonstruktionsschaltung 250 gibt Koeffizientsignale aus.
  • Eine Skalarschaltung 240 multipliziert das rückgewonnene Signal mit demselben Skalar, der als Grundlage für die Teilung im Quantisierer 140 verwendet wird. Natürlich werden jene bis auf Null herunter geteilten Koeffizienten nicht rückgewonnen.
  • Eine Rücktransformationsschaltung 230 führt die Rücktransformation durch, die von der Transformationsschaltung 130 des Codierers 100 angelegt wird. Wenn eine DCT-Transformation durchgeführt wurde, wird eine Rück-DCT-Transformation angelegt.. So auch in Zusammenhang mit der Teilbandcodierung. Die Rücktransformationsschaltung 230 transformiert die Koeffizienteninforma tion zurück zur Pixeldomäne.
  • Eine Verarbeitungsschaltung 220 kombiniert Luminanz- und Chrominanzsignale und kann solche optionale Merkmale durchführen, wie sie in einer besonderen Anwendung erwünscht sind. Die Verarbeitungsschaltung 220 gibt Digitalsignale von Pixeln aus, die für die Anzeige fertig sind. Zu diesem Zeitpunkt sind die Signale für die Anzeige auf einem digitalen Bildschirm geeignet. Wenn es nötig ist, eine besondere Anwendung anzupassen, können die Signale von einem Digital/Analog-Wandler 210 für die Anzeige auf einer analogen Anzeige konvertiert werden.
  • 2 veranschaulicht die Struktur einer Ausführungsform eines Codierers variabler Länge 160 und seiner Wechselwirkung mit einem Quantisierer 140 der 1. Die Videoinformationseingabe an den Codierer variabler Länge 160 bestand aus einer codierten Videoinformation wie beispielsweise MB-Typ, CBPC, CBPY und einer skalierten Koeffizienten-Information.
  • Der Codierer variabler Länge 160 schließt mehrere VLC-Tabellen im Speicher ein, die jeweils als 310, 320 und 330 dargestellt werden. In der Praxis kann ein einziger Speicher 340 alle VLC-Tabellen unterbringen. Der Codierer variabler Länge 160 empfängt den Quantisierungsparameter QP vom Quantisierer 140. Auf der Grundlage des Wertes des Quantisierungsparameters QP aktiviert ein Prozessor 350 des Codierers variabler Länge 160 eine der VLC-Tabellen, sagen wir die 330 in der dargestellten Ausführungsform. Die Videoinformation adressiert die VLC-Tabelle 330, die wiederum einen Code variabler Länge erzeugt, der die Videoinformation darstellt.
  • In einer bevorzugten Ausführungsform, worin alle VLC-Tabellen in einem einzigen Speicher gespeichert werden, werden sowohl das Qp-Signal als auch die Videoinformation als Adresse für eine Speicherstelle angelegt, in der der dazugehörige Code variabler Länge gespeichert wird.
  • Der Prozessor 350 kann Breakpoints zwischen den Tabellen errichten. Der Prozessor meldet die Breakpoints im Breakpoint-Initialisierungssignal über die Leitung 360.
  • Der Prozessor 350 kann durch eine Adress-Logikschaltung (nicht gezeigt) ersetzt werden, die auf der Grundlage der Größe von QP eine Tabelle aktiviert. Die Adress-Logikschaltung würde keinen adaptiven Breakpoint auf die oben mit Bezug auf den Prozessor 350 gezeigte Art und Weise erlauben.
  • Die vorliegende Erfindung stellt Vorteile bei der Codierung variabler Länge von Videosignalen bereit, indem auf der Grundlage von Werten, die aus einem variablen Quantisierungsparameter genommen werden, Tabellen mit einem eindeutigen Code variabler Länge entwickelt werden. Die Statistiken der Videoinformation hängen stark vom verwendeten Quantisierungsparameter ab. Die vorliegende Erfindung nutzt dieses Verhältnis aus, indem der Quantisierungsparameter als Basis für die Auswahl zwischen den Speichertabellen verwendet wird, und indem die Videoinformation verwendet wird, um aus der gewählten Tabelle zu wählen und darin einzugeben.

Claims (8)

  1. Ein Verfahren zur Codierung von Videoinformation gemäß einer Vielzahl von Speichertabellen (310, 320, 330), wobei jede eine Vielzahl von Codes mit variabler Länge speichert, wobei die Videoinformation Blöcke von Luminanz-Daten und Chrominanz-Daten umfasst, wobei jeder Block mit einem Quantisierungsparameter (Qp) verknüpft ist, das die folgenden Schritte umfasst: Empfangen der Blöcke, dynamische Bestimmung von Unterbrechungspunkten zwischen den Speichertabellen (310, 320, 330) auf der Grundlage von Werten des Quantisierungsparameters (QP), für jeden Block Auswählen von einer der Speichertabellen (310, 320, 330) auf der Grundlage des Quantisierungsparameters (QP), der mit dem Block verknüpft ist, Wiedergewinnung eines Codes mit variabler Länge aus der Speichertabelle auf der Grundlage des Blocks, wobei der Wiedergewinnungsschritt identisch durchgeführt wird, und zwar unabhängig davon, ob der Block Luminanz-Daten oder Chrominanz-Daten ist und unabhängig davon, ob die Videoinformation intercodierte oder intracodierte Videoinformation enthält.
  2. Das Verfahren gemäß Anspruch 1, worin die Tabelle (310, 320, 330) kürzere Codes mit variabler Länge mit Videoinformation verknüpft, die statistisch wahrscheinlicher bei Quantisierungsparameterwerten auftreten wird, die mit der Tabelle (310, 320, 330) verknüpft sind, und längere Codes mit variabler Länge mit Videoinformation verknüpft, die statistisch weniger wahrscheinlich bei Quantisierungsparameterwerten auftreten wird, die mit der Tabelle (310, 320, 330) verknüpft sind.
  3. Das Verfahren gemäß Anspruch 1, worin der Quantisierungsparameter (QP) für jeden Block von Videoinformation aktualisiert wird, der empfangen wird.
  4. Das Verfahren gemäß Anspruch 3, das weiterhin als Reak tion auf eine Aktualisierung des Quantisierungsparameters (Qp) den Schritt des Auswählens einer anderen der Speichertabellen (310, 320, 330) umfasst.
  5. Das Verfahren gemäß Anspruch 1, worin die Videoinformation Videodaten und Verwaltungsinformation enthält.
  6. Ein Codierer mit variabler Länge, der folgendes umfasst: eine Vielzahl von Speichertabellen (310, 320, 330), wobei jede Tabelle Codes mit variabler Länge enthält und durch eindeutige Werte eines Quantisierungsparameters (QP) ausgewählt wird, eine Videoinformationeingabe, die mit jeder Speichertabelle gekoppelt ist, um einzelne Einträge innerhalb einer jeden Tabelle zu indexieren, eine Quantisierungsparametereingabe, die mit jeder Speichertabelle gekoppelt ist, um jede Tabelle bei eindeutigen Werten des Quantisierungsparameters (Qp) zu wählen, und eine Ausgabe, die mit jeder Speichertabelle gekoppelt ist, die ein Signal erzeugt, das einen Eintrag darstellt, der durch das Videoinformationssignal der Tabelle indexiert wird, die durch ein Quantisierungsparametersignal aktiviert wird, dadurch gekennzeichnet, dass die Speichertabellen (310, 320, 330) Unterbrechungspunkte dazwischen umfassen, die dynamisch auf der Grundlage von Werten des Quantisierungsparameters (QP) bestimmt sind, und dass die Speichertabellen (310, 320, 330) austauschbar sind, und zwar unabhängig davon, ob die Videoinformation Luminanz-Daten oder Chrominanz-Daten ist und unabhängig davon, ob die Videoinformation intercodierte oder intracodierte Videoinformation enthält.
  7. Der Codierer gemäß Anspruch 6, worin jede Speichertabelle kürzere Codes mit variabler Länge mit Videoinformation verknüpft, die statistisch wahrscheinlicher für den Quantisierungsparameter (QP) auftreten wird, der die Tabelle auswählt.
  8. Der Codierer gemäß Anspruch 6, worin jede Speichertabelle längere Codes mit variabler Länge mit Videoinformation verknüpft, die statistisch weniger wahrscheinlich für den Quantisierungsparameter (QP) auftreten wird, der die Tabelle auswählt.
DE69816971T 1997-02-14 1998-01-23 Videokodierer mit skalierungsabhängiger vlc (variable length code) kodierung Expired - Lifetime DE69816971T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US3801897P 1997-02-14 1997-02-14
US38018P 1997-02-14
US899095 1997-07-24
US08/899,095 US5995148A (en) 1997-02-14 1997-07-24 Video coder having scalar dependent variable length coder
PCT/US1998/001320 WO1998036574A1 (en) 1997-02-14 1998-01-23 Video coder having scaler dependent variable length coder

Publications (2)

Publication Number Publication Date
DE69816971D1 DE69816971D1 (de) 2003-09-11
DE69816971T2 true DE69816971T2 (de) 2004-07-22

Family

ID=26714722

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69816971T Expired - Lifetime DE69816971T2 (de) 1997-02-14 1998-01-23 Videokodierer mit skalierungsabhängiger vlc (variable length code) kodierung

Country Status (5)

Country Link
US (1) US5995148A (de)
EP (1) EP0960530B1 (de)
CA (1) CA2278775C (de)
DE (1) DE69816971T2 (de)
WO (1) WO1998036574A1 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958532B2 (en) 2001-06-18 2011-06-07 At&T Intellectual Property Ii, L.P. Method of transmitting layered video-coded information
ATE528924T1 (de) * 2001-11-22 2011-10-15 Panasonic Corp Kodierungs- und dekodierungsverfahren variabler länge
CN1946187B (zh) * 2001-11-22 2012-02-22 松下电器产业株式会社 可变长度编码方法以及可变长度解码方法
AU2003221378B9 (en) * 2002-03-27 2009-01-08 Panasonic Intellectual Property Corporation Of America Variable length encoding method, storage medium, and variable length encoding device.
EP1376379A3 (de) * 2002-04-01 2004-08-11 Broadcom Corporation Vorrichtung und Verfahren zur Durchführung einer inversen diskreten Cosinus-Transformation für mehrere Dekodierungsprozesse
US7096245B2 (en) * 2002-04-01 2006-08-22 Broadcom Corporation Inverse discrete cosine transform supporting multiple decoding processes
JP4368575B2 (ja) * 2002-04-19 2009-11-18 パナソニック株式会社 可変長復号化方法、可変長復号化装置およびプログラム
JP4090862B2 (ja) * 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
US7519229B2 (en) * 2004-03-30 2009-04-14 Apple, Inc. Video coding system providing separate coding chains for dynamically selected small-size or full-size playback
TW201128965A (en) * 2009-05-19 2011-08-16 Nokia Corp Method for coding and an apparatus
JP2011024066A (ja) * 2009-07-17 2011-02-03 Sony Corp 画像処理装置および方法
US8588297B2 (en) * 2009-12-23 2013-11-19 Oracle America, Inc. Quantization parameter prediction
US20120163471A1 (en) * 2010-12-23 2012-06-28 Qualcomm Incorporated Variable length coding of video block coefficients
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
US9516316B2 (en) 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US9338456B2 (en) 2011-07-11 2016-05-10 Qualcomm Incorporated Coding syntax elements using VLC codewords
JP6986868B2 (ja) * 2017-06-19 2021-12-22 キヤノン株式会社 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02237368A (ja) * 1989-03-10 1990-09-19 Sharp Corp 画像通信端末装置
GB2268667B (en) * 1992-06-24 1995-11-08 Sony Broadcast & Communication Serial data decoding
JP3348310B2 (ja) * 1992-09-28 2002-11-20 ソニー株式会社 動画像符号化方法および動画像符号化装置
KR0129558B1 (ko) * 1992-10-26 1998-04-10 배순훈 적응적 가변길이 부호화 방법 및 장치
US5982437A (en) * 1992-10-26 1999-11-09 Sony Corporation Coding method and system, and decoding method and system
US5493513A (en) * 1993-11-24 1996-02-20 Intel Corporation Process, apparatus and system for encoding video signals using motion estimation
JP3163880B2 (ja) * 1993-12-16 2001-05-08 松下電器産業株式会社 画像圧縮符号化装置
KR970009408B1 (ko) * 1994-01-18 1997-06-13 대우전자 주식회사 인터/인트라 테이블 선택 회로
KR100213015B1 (ko) * 1994-03-31 1999-08-02 윤종용 양자화 방법 및 회로

Also Published As

Publication number Publication date
EP0960530A1 (de) 1999-12-01
DE69816971D1 (de) 2003-09-11
EP0960530B1 (de) 2003-08-06
WO1998036574A1 (en) 1998-08-20
US5995148A (en) 1999-11-30
CA2278775A1 (en) 1998-08-20
CA2278775C (en) 2003-04-01

Similar Documents

Publication Publication Date Title
DE69822607T2 (de) Nichtlinearer quantisierer für videokodierung
DE69735838T2 (de) Videokodierer mit Transformationskoeffizientenprädiktion
DE69816971T2 (de) Videokodierer mit skalierungsabhängiger vlc (variable length code) kodierung
DE69434271T4 (de) Adaptives variables Längenkodierungsverfahren für Videodaten
DE10190285B4 (de) Verfahren und System zur Verarbeitung von komprimierten Videosignalen
EP0687111B1 (de) Verfahren zur Codierung/Decodierung eines Datenstroms
DE69838729T2 (de) Verfahren und vorrichtung zur verringerung des benötigten speicherplatzes zur speicherung von referenzbildern in einem videodekoder
DE60309375T2 (de) Parametrisierung für verlauf-kompensation
DE69916027T2 (de) Videokompressionssystem welches auch codierungsentscheidungsdaten komprimiert
DE19739266B4 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
EP1472888B1 (de) Kontextsensitive kodierung und dekodierung eines videodatenstroms
DE10296787B4 (de) Selektive Prädikation für ein Intra-Codieren eines Videodatenblocks
DE60107149T2 (de) Digitales Bildausgabegerät
EP1425920B1 (de) Verfahren zur videocodierung und computerprogrammprodukt
EP0703711A2 (de) Coder zur segmentweisen Codierung eines Bildsignales
EP0525900A2 (de) Filterschaltung zur Vorverarbeitung eines Videosignals
EP0336510B1 (de) Prädiktiver Standbildcodierer
EP1285537B1 (de) Verfahren und eine anordnung zur codierung bzw. decodierung einer folge von bildern
EP0752788A2 (de) Videocoder und -decoder
EP0439675B1 (de) Verfahren zur Aufbereitung von Bilddaten, insbesondere für Standbildübertragungszwecke
WO2001062009A1 (de) Verfahren und anordnung zur kodierung bzw. zur kodierung und dekodierung einer zahlenfolge
DE19644769A1 (de) Vorrichtung und Verfahren zum formadaptiven Codieren von Bildsignalen
DE4343450A1 (de) Coder zur segmentweisen Codierung eines Eingangssignals
EP0665691A2 (de) Verfahren zur Minimierung der zeitlichen Verzögerung bei der Übertragung bewegter Bilder mit niedrigen Datenraten
EP1304885A2 (de) Verfahren und Computerprogrammprodukt zur Codierung und Decodierung von Videosignalen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition