DE60305325T2 - System und verfahren zur ratenverzerrungsoptimierten datenpartitionierung zur videocodierung unter verwendung von rückwärtsadaption - Google Patents

System und verfahren zur ratenverzerrungsoptimierten datenpartitionierung zur videocodierung unter verwendung von rückwärtsadaption Download PDF

Info

Publication number
DE60305325T2
DE60305325T2 DE60305325T DE60305325T DE60305325T2 DE 60305325 T2 DE60305325 T2 DE 60305325T2 DE 60305325 T DE60305325 T DE 60305325T DE 60305325 T DE60305325 T DE 60305325T DE 60305325 T2 DE60305325 T2 DE 60305325T2
Authority
DE
Germany
Prior art keywords
run
level
video
decoder
base layer
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 - Fee Related
Application number
DE60305325T
Other languages
English (en)
Other versions
DE60305325D1 (de
Inventor
C. Jong Briarcliff Manor YE
Yingwei Briarcliff Manor CHEN
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Application granted granted Critical
Publication of DE60305325D1 publication Critical patent/DE60305325D1/de
Publication of DE60305325T2 publication Critical patent/DE60305325T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/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/18Methods 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 set of transform coefficients
    • 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/187Methods 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 scalable video layer
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/37Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability with arrangements for assigning different transmission priorities to video input data or to video coded data
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein skalierbares Videocodierungssystem, insbesondere betrifft die Erfindung eine leistungsfähige geschichtete Videocodierungstechnik, die rückwärtsadaptive ratenverzerrungsoptimierte Datenpartitionierung (RD-DP) von Discrete Cosinus-Transformation (DCT)-Koeffizienten verwendet. Die Erfindung ist besonders nützlich in Verbindung mit Netzwerken mit variabler Bandbreite und Computersystemen, die sich an verschiedene Bitraten anpassen können, und somit an verschiedene Bildqualitäten.
  • 2. Beschreibung des Stands der Technik
  • Video ist eine Bildfolge; jedes Bild wird durch eine Anordnung von Pixeln geformt. Die Größe eines unkomprimierten Videos ist enorm. Um seine Größe zu reduzieren, kann Videokomprimierung verwendet werden, um die Größe zu verringern und die Datenübertragungsrate zu erhöhen. Verschiedene Videocodierungsverfahren (z.B. MPEG 1, MPEG 2 und MPEG 4) sind entwickelt worden, um einen internationalen Standard für die codierte Darstellung von Bewegtbildern und des zugehörigen Tons auf digitalen Speichermedien bereitzustellen.
  • Solche Videocodierungsverfahren formatieren und komprimieren die Ausgangsvideodaten für reduzierte Übertragungsraten. Das Format des MPEG 2-Standards besteht zum Beispiel aus 4 Schichten: Bildgruppe, Bilder, Slice, Makroblock, Block. Eine Videosequenz beginnt mit einem Sequenzkopf, der eine oder mehrere Bildgruppen (GOP) umfaßt, und endet mit einem Sequenzendcode. Die Bildgruppe (GOP) enthält einen Kopf und eine Reihe aus einem oder mehreren Bildern, die den Direktzugriff auf die Videosequenz erlauben sollen.
  • Die Bilder sind die primäre Codierungseinheit einer Videosequenz. Ein Bild besteht aus drei rechteckigen Matrizen, die den Luminanz- (Y) und zwei Chrominanzwerte (Cb und Cr) darstellen. Die Y-Matrix weist eine gerade Zahl von Reihen und Spalten auf. Die Cb- und Cr-Matrizen sind in jeder Richtung (horizontal und vertikal) halb so groß wie die Y-Matrix. Die Slices sind ein oder mehrere „zusammenhängende" Makroblöcke. Die Reihenfolge der Makroblöcke in einem Slice ist von links nach rechts und von oben nach unten.
  • Die Makroblöcke sind die BasisCodierungseinheit im MPEG-Algorithmus. Der Makroblock ist ein 16 × 16 Pixel-Segment in einem Frame. Da jede Chrominanzkomponente eine Hälfte der vertikalen und horizontalen Auflösung der Luminanzkomponente aufweist, besteht ein Makroblock aus vier Y-, einem Cr- und einem Cb-Block. Der Block ist die kleinste Codierungseinheit im MPEG-Algorithmus. Er besteht aus 8 × 8 Pixeln und einer von drei Typen sein: Luminanz (Y), Rot-Chrominanz (Cr) oder Blau-Chrominanz (Cb). Der Block ist die Basiseinheit in der Intraframecodierung.
  • Der MPEG 2-Standard definiert drei Bildtypen: Intra-Bilder (I-Bilder), Predicted Bilder (P-Bilder) und Bidirektionale Bilder (B-Bilder). Intra-Bilder oder I-Bilder sind nur mit Information codiert, die im Bild selbst vorhanden ist, und stellen potentielle Direktzugriffspunkte auf die komprimierten Videodaten bereit. Predicted Bilder oder P-Bilder sind in Bezug auf die nächsten vorhergehenden I- oder P-Bilder codiert. Wie I-Bilder können auch P-Bilder als Prediction-Referenz für B-Bilder und spätere P-Bilder dienen. Überdies verwenden P-Bilder Motion Compensation, um mehr Komprimierung zu erlauben, als dies mit I-Bildern möglich ist. Bidirektionale Bilder oder B-Bilder sind Bilder, die sowohl ein früheres als auch ein späteres Bild als Bezug verwenden. B-Bilder erlauben die stärkste Komprimierung, da sie sowohl das frühere als auch das spätere Bild als Bezug verwenden. Diese drei Bildtypen werden kombiniert, um eine Bildgruppe zu formen.
  • Der MPEG-Umwandlungscodierungsalgorithmus schließt die folgenden Codierungsschritte ein: Diskrete Cosinus-Transformation (DCT), Quantisierung und Lauflängencodierung.
  • Eine wichtige Technik in der Videocodierung ist die Skalierbarkeit. Diesbezüglich wird ein skalierbarer Videocodec als ein Codec definiert, der in der Lage ist, einen Bitstrom zu erzeugen, der in eingebettete Teilmengen unterteilt werden kann. Diese Teilmengen können unabhängig decodiert werden, um Videosequenzen mit zunehmender Qualität zu ergeben. Dadurch kann ein einziger Komprimierungsvorgang Bitströme mit verschiedenen Raten und rekonstruierter Qualität erzeugt werden. Eine kleine Teilmenge des ursprünglichen Bitstroms kann am Anfang übertragen werden, um eine Base Layer-Qualität bereitzustellen, mit zusätzlichen Layers, die danach als Enhancement Layers übertragen werden. Skalierbarkeit wird von den meisten der Videokomprimierungsstandards wie MPEG-2, MPEG-4 und H.263 unterstützt.
  • Eine wichtige Anwendung der Skalierbarkeit ist die fehlerresistente Videoübertragung. Skalierbarkeit kann verwendet werden, um einen stärkeren Fehlerschutz auf die Base Layer als auf die Enhancement Layers anzuwenden (d.h., einen ungleichen Fehlerschutz). Dadurch wird die Base Layer selbst unter widrigen Übertragungskanalbedingungen mit hoher Wahrscheinlichkeit erfolgreich decodiert.
  • Die Datenpartitionierung (DP) wird verwendet, um die Skalierbarkeit zu erleichtern. In MPEG 2 Zum Beispiel gibt die Slice-Layer die Höchstzahl der Blocktransformationskoeffizienten an, die im spezifischen Bitstrom enthalten sind (als Priority Break Point bekannt). Die Datenpartitionierung ist ein Frequenzdomänenverfahren, das den Block aus 64 quantisierten Transformationskoeffizienten in zwei Bitströme aufteilt. Der erste Bitstrom mit höherer Priorität (z.B. Base Layer) enthält die kritischeren Koeffizienten mit niedrigerer Frequenz und die Nebeninformation (wie z.B. DC-Werte, Motion Vectors). Der zweite Bitstrom mit niedrigerer Priorität (z.B. Enhancement Layers) befördert AC-Daten mit höherer Frequenz.
  • Insbesondere in konventionellen DP-Videocodierern (z.B. MPEG\) wird der Single Layer-Bitstrom in der DCT-Domäne in zwei oder mehr Bitströme partitioniert. Bei der Übertragung werden ein oder mehr Bitströme gesendet, um die Bitratenskalierbarkeit zu erreichen. Der ungleiche Fehlerschutz kann auf Base- und Enhancement Layer-Daten angewandt werden, um die Widerstandsfähigkeit gegen Kanalverschlechterung zu erhöhen. Vor dem Decodieren werden je nach Ressourcenzuweisung und/oder Empfängerleistung die empfangenen Bitströme oder eine Teilmenge davon zu einem einzigen Bitstrom verschmolzen und decodiert.
  • Die konventionelle DP-Struktur weist in einer Heimnetzwerkumgebung Vorteile auf. Das heißt, bei ihrer vollen Qualität ist die Ratenverzerrungsleistung der DP so gut wie ihr Single Layer-Gegenstück, wobei auch die Ratenskalierbarkeit möglich ist. Die Ratenverzerrungsleistung (RD-Leistung) betrifft das Finden einer optimalen Kombination von Rate und Verzerrung. Diese optimale Kombination, die einer optimalen Kombination aus Kosten und Qualität entspricht, ist nicht einmalig. RD-Systeme streben an, eine Information durch möglichst wenig Bits darzustellen, und zugleich auf eine Weise, die zur besten Wiedergabequalität führt.
  • Es ist auch anzumerken, daß in der konventionellen DP-Struktur der zusätzliche Decodierungskomplexitätsoverhead bei seiner vollen Qualität sehr minimal ist, während die DP einen größeren Bereich an Decoderkomplexitätsskalierbarkeit bietet. Dies deshalb, weil die Decodierung mit variabler Codewortlänge (VLD) von DCT (run, length)-Paaren, die den rechenintensivsten Teil darstellt, nun skalierbar wird.
  • In der konventionellen DP-Struktur muß der DCT Priority Break Point (PBP)-Wert explizit als Nebeninformation übertragen werden. Um den Overhead zu minimieren, ist der PBP-Wert gewöhnlich für alle DCT-Blöcke innerhalb jedes Slices oder Videopakets feststehend.
  • Auch wenn das konventionelle DP-Verfahren einfach ist und einige Vorteile aufzuweisen hat, ist es nicht in der Lage, die Base Layer-Optimierung zu adaptieren, da nur ein PBP-Wert für alle Blöcke innerhalb jedes Slices oder Videopakets verwendet wird. Daher besteht ein Bedarf nach Videocodierungstechniken, die adaptierbar sind, um eine verbesserte Base Layer-Optimoerung zu ermöglichen.
  • Die vorliegende Erfindung spricht den obigen Bedarf durch Bereitstellung eines verbesserten Datenpartitionsverfahrens an, das dem PBP-Wert erlaubt, sich jeweils auf DCT-Blockebene zu adaptieren. In einer Ausführungsform der Erfindung kann dies mit minimalem Overhead (≈ 20 Bits für jedes Slice oder Videopaket oder selbst für jedes Frame) erreicht werden, indem einer kontextbasierte Rückwärtsadaptation verwendet wird.
  • Ein Aspekt der vorliegenden Erfindung betrifft ein System und ein Verfahren, das eine rückwärtsadaptive ratenverzerrungsoptimierte Datenpartitionierung (RD-DP) von DCT-Koeffizienten ermöglicht.
  • In einem anderen Aspekt der Erfindung adaptiert die RD-DP den Partitionspunkt blockweise, was die Codierungsleistung des Base Layer-Bitstroms stark verbessert. Dies gestattet einem Decoder auch, die Paritionsstelle aus den decodierten Daten auf rückwärtige Weise zu finden, ohne explizite Übertragung, wodurch die Bandbreite erheblich eingespart wird.
  • In einem weiteren Aspekt der vorliegenden Erfindung wird ein Lagrange-Parameter λ berechnet. Der Wert von λ wird mit einem eindimensionalen Standard-Bisektion-Algorithmus bestimmt, um (für den Base Layer-Übertragungskanal) ein Raten-Budget Rb zu berechnen.
  • Eine Ausführungsform der Erfindung betrifft ein Datenpartitionierungsverfahren für einen skalierbaren Videocodierer. Das Verfahren umfaßt die Schritte des Empfangens von Videodaten, des Bestimmens von DCT-Koeffizienten für eine Vielzahl von Makroblöcken eines Videoframes, des Quantierens des DCT-Koeffizienten und des Umwandelns der quantisierten DCT-Koeffizienten in (run, level)-Paare. Für jeden der Vielzahl von Makroblöcken im Videoframe, das Bestimmen, eines jeweiligen Verhältnisses |Xk i|2/Lk i, wo ein k.tes (run, level)-Paar für einen i.ten Block Lk i Bits beträgt und einen Koeffizientenwert von Xk i hat. Wenn ein k.tes Verhältnis für das k.te (run, level)-Paar kleiner als λ ist, oder wenn das k.te Verhältnis ein erstes Verhältnis ist, das nicht kleiner als λ ist, das Setzen des k.ten (run, level)-Paars in eine Base Layer, andernfalls, wenn das k.te Verhältnis für das k.te (run, level)-Paar größer als λ ist, das Setzen des k.ten (run, level)-Paars in eine Enhancement Layer, wobei λ einer Lagrange-Berechnung entsprechend bestimmt wird.
  • Eine andere Ausführungsform der vorliegenden Erfindung betrifft ein Verfahren zum Bestimmen einer Grenze zwischen einer Base Layer und mindestens einer Enhancement Layer in einem skalierbaren Videodecoder. Das Verfahren umfaßt die Schritte des Empfangens der Base Layer und der mindestens einen Enhancement Layer, wobei die Base Layer und Enhancement Layer Daten einschließen, die (run, level)-Paare für eine Vielzahl von Makroblöcken in einem Videoframe darstellen. Für jeden der Vielzahl von Makroblöcken im Videoframe, das Bestimmen eines Verhältnisses |Xk i|2/Lk i, wo ein k.tes (run, level)-Paar für einen i.ten Block Lk i Bits beträgt und einen Koeffizientenwert von Xk i hat. Wenn das Verhältnis für das k.te (run, level)-Paar kleiner ist als λ, oder wenn das k.te Verhältnis ein erstes Verhältnis ist, das nicht kleiner als λ ist, das Lesen des k.ten (run, level)-Paars aus der Base Layer, andernfalls, wenn das Verhältnis für das k.te (run, level)-Paar größer als λ ist, das Lesen des k.ten (run, level)-Paars aus der mindestens einen Enhancement Layer, wobei λ einer Lagrange-Berechnung entsprechend bestimmt wird.
  • Eine weitere Ausführungsform der vorliegenden Erfindung betrifft einen skalierbaren Decoder, der in der Lage ist, Daten von einer Base Layer und mindestens einer Enhancement Layer zu verschmelzen. Der Decoder umfaßt einen Speicher, der computerausführbare Prozeßschritte speichert, und einen Prozessor, der angeordnet ist, um die im Speicher gespeicherten Prozeßschritte auszuführen, um (i) die Base Layer und die mindestens eine Enhancement Layer zu empfangen, wobei die Base Layer und die Enhancement Layer Daten einschließen, die (run, level)-Paare für eine Vielzahl von Makroblöcken in einem Videoframe darstellen, (2) für jeden der Vielzahl von Makroblöcken im Videoframe ein Verhältnis |Xk i|2/Lk i zu bestimmen, wo ein k.tes (run, level)-Paar für einen i.ten Block Lk i Bits beträgt und einen Koeffizientenwert von Xk i hat, und (3), wenn das Verhältnis für das k.te (run, level)-Paar kleiner als λ ist, oder wenn das k.te Verhältnis ein erstes Verhältnis ist, das nicht kleiner als λ ist, das k.te (run, level)-Paar aus der Base Layer zu lesen, andernfalls, wenn das Verhältnis für das k.te (run, level)-Paar größer als λ ist, das k.te (run, level)-Paar aus der mindestens einen Enhancement Layer zu lesen, wobei λ einer Lagrange-Berechnung entsprechend bestimmt wird.
  • Noch eine andere Ausführungsform der vorliegenden Erfindung betrifft einen skalierbaren Transcoder. Ein Single Layer-codierter Videobitstrom (MPEG-1, MPEG-2, MPEG-4, H.264 usw.) wird partiell decodiert, und der Bitstrom-Splitpunkt für jeden DCT-Block wird auf der Basis des obigen Grenzbestimmungsverfahrens bestimmt. Dann werden die VLC-Codes auf der Basis der Splitpunkte in zwei oder mehr Partitionen aufgeteilt. Die partielle Decodierung umfaßt nur die Decodierung mit variabler Codewortlänge, die inverse Abtastung und die inverse Quantisierung. Eine inverse DCT oder Motion Compensation wird nicht benötigt.
  • Diese kurze Zusammenfassung wurde vorgesehen, damit die Beschaffenheit der Erfindung schnell verständlich wird. Ein umfassenderes Verständnis der Erfindung kann Bezug nehmend auf die folgende ausführliche Beschreibung der bevorzugten Ausführungsformen davon in Verbindung mit den beiliegenden Zeichnungen erhalten werden.
  • 1 zeigt ein Videocodiersystem nach einem Aspekt der vorliegenden Erfindung.
  • 2 zeigt eine Ratenverzerrungskurve.
  • 3 zeigt ein Computersystem, auf welchem die vorliegende Erfindung implementiert werden kann.
  • 4 zeigt die Architektur eines Personal-Computers im Computersystem von 3.
  • 5 zeigt ein Blockdiagramm eines Transcoders nach einer Ausführungsform der vorliegenden Erfindung.
  • 1 veranschaulicht ein skalierbares Videosystem 100 mit geschichteter Codierung und Transport-Priorisierung. Ein geschichteter Quellcodierer 110 codiert Eingangsvideodaten. Die Ausgabe des geschichteten Quellcodierers 110 umfaßt eine Base Layer 121 und eine oder mehrere Enhancement Layers 122-124. Eine Vielzahl von Kanälen 120 transportieren die ausgegebenen codierten Daten. Ein geschichteter Quelldecoder 130 decodiert die codierten Daten.
  • Es gibt verschiedene Wege, geschichtete Codierung zu implementieren. Zum Beispiel beim Temporal Domain Layered Coding enthält die Base Layer einen Bitstrom mit einer niedrigeren Framerate, und die Enhancement Layers enthalten zusätzliche Information, um eine Ausgabe mit höheren Frameraten zu erhalten. Beim Spatial Domain Layered Coding codiert die Base Layer die unterabgetastete Version der Originalvideosequenz, und die Enhancement Layers enthalten zusätzliche Information, um eine höhere räumliche Auflösung am Decoder zu erhalten.
  • Allgemein verwendet eine andere Layer einen anderen Datenstrom und weist deutlich abweichende Toleranzen gegenüber Kanalfehlern auf. Um Kanalfehler zu bekämpfen, wird die geschichtete Codierung gewöhnlich mit Transport-Priorisierung kombiniert, so daß die Base Layer mit einem höheren Fehlerschutzgrad übertragen wird. Wenn die Base Layer 121 verloren geht, können die in den Enhancement Layers 122-124 enthaltenen Daten nutzlos sein.
  • In einer Ausführungsform der vorliegenden Erfindung wird die Videoqualität der Base Layer 121 auf flexible Weise auf der DCT Block-Ebene gesteuert. Die gewünschte Base Layer kann gesteuert werden, indem der PBP auf der DCT Block-Ebene durch Verwendung der kontextbasierten Rückwärtsadaptation adaptiert wird.
  • Es ist anzumerken, daß der Zweck von DCT darin besteht, die räumliche Korrelation zwischen benachbarten Fehlerpixeln zu reduzieren und die Energie der Fehlerpixel zu wenigen Koeffizienten zu verdichten. Da viele hochfrequente Koeffizienten nach der Quantisierung null betragen, wird die Codierung mit variabler Codewortlänge (VLC) durch ein Lauflängen-Codierungsverfahren erreicht, das die Koeffizienten durch einen sogenannten Zig-Zag-Scan in einem eindimensionale Array so anordnet, daß die niederfrequenten Koeffizienten vor die hochfrequenten Koeffizienten gesetzt werden. Auf diese Weise werden die quantisierten Koeffizienten in Form der Werte ungleich Null und der Zahl der vorhergehenden Nullen spezifiziert. Verschiedene Symbole, die jedes einem Zero-Runlength-Paar entsprechen, und Werte ungleich null werden mit Codewörtern mit variabler Länge codiert.
  • Das skalierbare Videosystem 100 verwendet bevorzugt Entropie-Codierung. In der Entropie-Codierung werden quantisierte DCT-Koeffizienten zu einem eindimensionalen Array neu angeordnet, indem sie in einer zickzackförmigen Reihenfolge abgetastet werden. Diese Umordnung setzt den DC-Koeffizienten an die erste Stelle der Anordnung, und die restlichen AC-Koeffizienten werden von der niedrigen zur hohen Frequenz angeordnet, sowohl in horizontaler als auch in vertikaler Richtung. Die Annahme ist, daß die quantisierten DCT-Koeffizienten bei hohen Frequenzen wahrscheinlich null sind, wodurch die ungleich Null- und Null-Abschnitte getrennt werden. Die neu angeordnete Anordnung wird zu einer Sequenz des Run-Level-Paars codiert. Ein „Run" wird als eine Entfernung zwischen zwei Koeffizienten ungleich Null in der Anordnung definiert. Ein „Level" ist der Wert ungleich Null direkt nach einer Folge von Nullen. Dieses Codierungsverfahren ergibt eine kompakte Darstellung der 8 × 8 DCT-Koeffizienten, da eine große Zahl der Koeffizienten bereits auf den Nullwert quantisiert wurden.
  • Die Run-Level-Paare und die Information über den Makroblock, wie z.B. die Motion Vectors und Prediction Types, werden durch Entropie-Codierung weiter komprimiert. Zu diesem Zweck werden sowohl Codes mit variabler Länge als auch mit fester Länge benutzt.
  • Das Design des Videosystems 100 ist durch die Ratenverzerrungstheorie (RD) begründet. Die RD-Theorie ist in Codierungs- und Komprimierungsszenarien von Nutzen, wo die verfügbare Bandbreite a priori bekannt ist und wo es darauf ankommt, die beste Wiedergabequalität zu erreichen, die in dieser Bandbreite erreichbar ist (d.h. adaptive Algorithmen).
  • Im folgenden wird eine Veranschaulichung formuliert, um optimierte Partitionierungen (d.h., Base- und Enhancement Layer-Partitionierungen) zu ermitteln. In der folgenden Erläuterung wird angenommen, daß „n" DCT-Blöcke für jedes Videoframe vorhanden sind und das Bitraten-Budget Rb für die Base Layer-Partition bekannt ist. Das Raten-Budget wird auf der Basis der Mindestanforderung an die Videoqualität und der Datendurchsatzfluktuation des Kanals bestimmt. Dann kann das folgende Optimierungsproblem formuliert werden, um optimale Partitionen zu ergeben:
    Figure 00080001
    wobei Pi ∊ {0, 1, ..., K(i)}, i = 1, ..., n der Breakpoint-Wert für den i.ten Block ist und K(i) die maximalen (run, length)-Paare im i.ten Block bezeichnet, Ri(Pi) und Di(Pi) jeweils die entsprechende Bitrate und Verzerrung vom i.ten Block bezeichnen.
  • Das Optimierungsproblem kann mit einem iterativen Bisektion-Algorithmus auf der Basis einer Lagrange-Optimierung gelöst werden. Der optimale Paritionierungspunkt Pi erfüllt die folgende Bedingung für alle i = 1, ..., n:
    Figure 00090001
    wobei das Lagrange λ > 0 durch die Standard-Bisektion-Suche so bestimmt wird, daß die Ratenbeschränkung in (1) erfüllt wird.
  • Wenn das k.te DCT (run, length)-Paar für den i.ten Block Lk i Bits beträgt und einen Koeffizientenwert von Xk i hat; dann weist die Steigung für die Ratenverzerrungskurve (RD-Kurve) des i.ten Blocks den folgenden Satz von Einzelwerten auf:
    Figure 00090002
  • Bezug nehmend nun auf 2, wird eine konvexe RD-Kurve gezeigt, um zu veranschaulichen, wie der Partitionspunkt bestimmt wird und wie der geschichtete Quelldecoder 130 den Partitionspunkt auf rückwärtsadaptive Weise ableiten kann. Es ist anzumerken, daß der geschichtete Quelldecoder 130 auf gleiche Weise arbeitet, auch wenn die RD-Lurve nicht konvex ist.
  • Aus 2 ist zu ersehen, daß λ generell eine in Bezug auf R abnehmende Funktion ist, die ist, und daher gilt allgemein die folgende Beziehung:
    Figure 00090003
  • Gleichung (4) gemäß wird ein Partitionierungsalgorithmus für die DCT-Koeffizienten auf der Seite des geschichteten Quelldecoders 130 wie folgt ausgedrückt. Es ist anzumerken, daß die Videodaten für ein Frame mit der diskreten Cosinus-Transformation (DCT) konvertiert werden, die DCT-Koeffizienten quantisiert werden und dann durch Codierung mit variabler Codewortlänge (VLC) in binäre Codewörter umgewandelt werden, um an diesen Punkt zu gelangen.
  • Figure 00090004
  • Figure 00100001
  • Der Lagrange-Parameter λ kann als Nebeninformation (d.h. Overhead-Information) getrennt codiert und übertragen werden. Der geschichtete Quelldecoder 130 kann mit dem folgenden Algorithmus die Grenze der Base Layer 121 und Enhancement Layer 122 finden, sowie die Sychronisierung finden:
    Figure 00100002
  • Bei der praktischen Implementierung der Codierung mit variabler Codewortlänge für das (run, length)-Paar kann die RD-Kurve von 2 nicht konvex sein, weil die VLC nur eine Näherung der wahren Entropie der Quelle ist. In diesem Fall ist die Prüfvariable |Xk i|2/Lk i in Bezug auf k nicht mehr monoton. Doch selbst in diesem Fall ist zu ersehen, daß die Codierungs- und Decodierungsalgorithmen perfekt synchronisiert werden können, da beide nach den ersten (run, length)-Paaren abbrechen, welche |Xk i|2/Lk i < λ erfüllen.
  • Wie oben erläutert, ist die einzige Nebeninformation, die übertragen werden muß, der Lagrange-Parameter λ. Der Wert von λ wird mit dem eindimensionalen Standard-Bisektion-Algorithmus bestimmt, um das Raten-Budget Rb von Gleichung (1) zu erfüllen. Doch der Optimalwert von λ kann eine reale Zahl sein und sollte zur Übertragung über den Kanal 120 quantisiert werden.
  • In einer bevorzugten Ausführungsform wird die Codierungspräzision des quantisierten λ wie folgt bestimmt. Die Codierungspräzision wird aufgelöst, indem vorausgesetzt wird, daß |Xk i|2/Lk i nur diskrete Werte für jedes i, k aufweist. Zum Beispiel wird die maximale Größe von Lk i durch die maximale Länge des Codeworts in der Huffman-Tabelle nach oben hin begrenzt, während der Höchstwert von |Xk i| durch den DCT-Koeffizientenbereich nach oben hin begrenzt wird. Das heißt, die Bits, die zum Codieren von Lk i und |Xk i| erforderlich sind, werden jeweils durch log2(maximale Länge des Codeworts in der Huffman-Tabelle) und log2(DCT-Koeffizientenbereich) nach oben hin begrenzt.
  • Wenn die maximale Länge des VLC zum Beispiel 64 Bits lang ist, und DCT-Koeffizienten Ganzzahlen zwischen –2048 und 2047 sind, dann kann der Wert von λ mit log2(64)+log2(2048)= 19 Bits quantisiert werden. Da dieser Overhead nur einmal im Videoframe-Header gesendet werden muß, ist zu ersehen, daß die Zunahme der Bitrate mit dem RD-DP minimal ist. Für den Fachmann versteht es sich auch, daß der λ Wert-Overhead auf der Slice- oder Videopaketebene gesendet werden kann, um Frame-Header-Verluste zu bekämpfen.
  • Durch Übertragung des λ-Werts und der entsprechenden niederfrequenten und einiger hochfrequenten DCT-Koeffizienten (als die Base Layer 121) über einen zuverlässigeren Übertragungskanal ist daher eine größere dynamische Zuweisung der DCT-Information erreichbar. Dies ermöglicht mehr Kontrolle über die Mindestqualität des Videos in dem Falle, daß Daten von einer oder mehreren der Enhancement Layers 122-124 verloren gehen.
  • Die Ausführungsformen der vorliegenden Erfindung, die oben erläutert wurden, sind auf jedes skalierbare Videocodiersystem anwendbar, z.B. MPEG 2, MPEG 3, H.263 usw.
  • 3 zeigt eine repräsentative Ausführungsform eines Computersystems 9, auf dem die vorliegende Erfindung implementiert werden kann. Wie in 3 gezeigt, umfaßt der Personal Computer („PC) 10 einen Netzwerkanschluß 11, um eine Schnittstelle zu einem Netzwerk wie z.B. ein Netzwerk mit variabler Bandbreite oder das Internet zu bilden, und einen Fax/Modem-Anschluß 12, um eine Schnittstelle zu anderen Fernquellen wie einer Videokamera (nicht gezeigt) zu bilden. Der PC 10 umfaßt auch einen Anzeigebildschirm 13, um einem Benutzer Information (einschließlich Videodaten) anzuzeigen, eine Tastatur 15 zum Eingeben von Text und Benutzerbefehlen, eine Maus 13, um einen Cursor auf dem Anzeigebildschirm 14 zu positionieren, ein Diskettenlaufwerk 16 zum Lesen von und Schreiben auf Disketten, die darin eingelegt sind, und ein CD-ROM-Laufwerk 17, um auf Information zuzugreifen, die auf CD-ROM gespeichert ist. Der PC 10 kann auch ein oder mehre Peripheriegeräte aufweisen, die daran angeschlossen sind, wie einen Scanner (nicht gezeigt) zur Eingabe von Domumententextbildern, Grafikbildern oder dergleichen, und einen Drucker 19 zur Ausgabe von Bildern, Text oder dergleichen.
  • 4 zeigt die innere Struktur des PCs 10. Wie in 4 gezeigt, umfaßt der PC 10 Speicher 20, der ein computerlesbares Medium wie z.B. eine Computerfestplatte umfaßt. Der Speicher 20 speichert Daten 23, Anwendungen 25, Druckertreiber 24 und das Betriebssystem 26. In bevorzugten Ausführungsformen der Erfindung ist das Betriebssystem 26 ein Betriebssystem mit Fenstertechnik, wie z.B. Microsoft Windows 95, auch wenn die Erfindung auch mit anderen Betriebssystemen verwendet werden kann. Unter den Anwendungen, die im Speicher 26 gespeichert sind, sind der skalierbare Videocodierer 21 und der skalierbare Videodecoder 22. Der skalierbare Videocodierer 21 führt die skalierbare Videodatencodierung auf die unten ausführlich dargelegte Weise durch, und der skalierbare Videodecoder 22 decodiert Videodaten, die auf die vom skalierbaren Videocodierer 21 vorgegebene Weise codiert wurden.
  • Im PC 10 sind auch eine Anzeigeschnittstelle 29, eine Tastaturschnittstelle 30, eine Mausschnittstelle 31, eine Diskettenlaufwerksschnittstelle 32, eine CD-ROM-Laufwerksschnittstelle 34, ein Computerbus 36, ein RAM-Speicher 37, ein Prozessor 38 und eine Druckerschnittstelle 40 enthalten. Der Prozessor 38 umfaßt bevorzugt einen Mikroprozessor oder ähnliches, um Anwendungen wie z.B. die oben genannten aus dem RAM-Speicher 37 auszuführen. Solche Anwendungen, einschließlich des skalierbaren Videocodierers 21 und des skalierbaren Videodecoders 22, können im Speicher 20 gespeichert sein, wie oben erwähnt, oder alternativ dazu auf einer Diskette im Diskettenlaufwerk 16 oder auf einer CD-ROM im CD-ROM-Laufwerk 17. Der Prozessor 38 greift über die Diskettenlaufwerksschnittstelle 32 auf Anwendungen (oder andere Daten) zu, die auf einer Diskette gespeichert sind, und greift über die CD-ROM-Laufwerksschnittstelle 34 auf Anwendungen (oder andere Daten) zu, die auf einer CD-ROM gespeichert sind.
  • Die Anwendungsausführung und andere Aufgaben des PCs 4 können mit Hilfe der Tastatur 15 oder Maus 13 initialisiert werden, deren Befehle jeweils über die Tastaturschnittstelle 30 und Mausschnittstelle 31 an den Prozessor 38 übertragen werden. Die Ausgabeergebnisse von den auf dem PC 10 laufenden Anwendungen können von der Anzeigeschnittstelle 29 verarbeitet werden dem Benutzer dann auf dem Bildschirm 14 angezeigt werden, oder alternativ dazu über den Netzwerkanschluß 11 ausgegeben werden. Zum Beispiel werden Eingabevideodaten, die vom skalierbaren Videocodierer 21 codiert wurden, typischerweise über den Netzwerkanschluß 11 ausgegeben. Zum anderen werden codierte Videodaten, die z.B. von einem Netzwerk mit variabler Bandbreite empfangen werden, vom skalierbaren Videodecoder 22 decodiert und dann auf der Anzeige 14 angezeigt. Zu diesem Zweck umfaßt die Anzeigeschnittstelle 29 bevorzugt einen Anzeigeprozessor, um Videobilder auf der Basis der decodierten Videodaten zu formen, die vom Prozessor 38 über den Computerbus 36 zugeführt werden, und um diese Bilder an die Anzeige 14 auszugeben. Ausgabeergebnisse von anderen Anwendungen, wie z.B. Textverarbeitungsprogramme, die auf dem PC 10 laufen, können über die Druckerschnittstelle 40 dem Drucker 19 zugeführt werden. Der Prozessor 38 führt den Druckertreiber 24 aus, um die korrekte Formatierung solcher Druckaufträge durchzuführen, bevor sie an den Drucker 19 übertragen werden.
  • Eine andere Ausführungsform der vorliegenden Erfindung betrifft einen skalierbaren Transcoder. Wie in 5 gezeigt, wird ein Single Layer-codierter Videobitstrom 200 (MPEG-1, MPEG-2, MPEG-4, H.264 usw.) von einem Decoder mit variabler Codewortlänge 210 partiell decodiert. Die DCT-Koeffizienten 220 werden an einer inverse Abtastungs-/Quantisierungseinheit 230 und dann an den Partitionierungspunktfinder 240 gesendet. Der Bitstrom-Splitpunkt wird für jeden DCT-Block auf der Basis des Grenzbestimmungsverfahrens der oben erläuterten Ausführungsform bestimmt. Danach werden VLC-Codes 250 auf der Basis der Splitpunkte in zwei oder mehr Partitionen aufgeteilt. Die Ergebnisse werden einem VCL-Puffer 260 zugeführt. Der Ausführungsform entsprechend beinhaltet die partielle Decodierung nur die Decodierung mit variabler Codewortlänge, die inverse Abtastung und die inverse Quantisierung. Eine inverse DCT oder Motion Compensation wird nicht benötigt.
  • Auch wenn die Ausführungsformen der Erfindung, die hierin beschrieben wurden, bevorzugt als Computercode implementiert werden, können alle oder einige der Ausführungsformen, die oben erläutert wurden, mit diskreten Hardwareelemente und/oder Logikschaltungen implementiert werden. Und obwohl die Codierungs- und Decodierungstechniken der vorliegenden Erfindung in einer PC-Umgebung beschrieben wurden, können diese Techniken in Videovorrichtungen jedes Typs verwendet werden, einschließlich, aber ohne darauf beschränkt zu sein, Digitalfernseher/Set-Top-Boxen, Videokonferenzgeräten und dergleichen.
  • In dieser Hinsicht wurde die vorliegende Erfindung in Bezug auf bestimmte, veranschaulichende Ausführungsformen beschrieben. Zum Beispiel können die Prinzipien der vorliegenden Erfindung, wie sie in den obigen Ausführungsformen beschrieben wurden, auch auf Partition Enhancement Layers angewandt werden.

Claims (30)

  1. Datenpartitionierungsverfahren für einen skalierbaren Videocodierer (110), wobei das Verfahren die Schritte umfaßt des: – Empfangens von Videodaten; – Bestimmens von DCT-Koeffzienten für eine Vielzahl von Makroblöcken eines Videoframes; – Quantierens des DCT-Koeffizienten; – Umwandelns der quantisierten DCT-Koeffzienten in (run, level)-Paare; für jeden der Vielzahl von Makroblöcken im Videoframe, für aufeinanderfolgende (run, level)-Paare in den Makroblöcken, das Bestimmen eines jeweiligen Verhältnisses |Xk i|2/Lk i, wo ein k.tes (run, level)-Paar für einen i.ten Block eine Codelänge von Lk i Bits aufweist und einen Koeffizientenwert von Xk i hat; und bis zum und einschließlich des ersten Mals, wo das jeweilige Verhältnis |Xk i|2/Lk i kleiner ist als ein Wert λ, das Setzen des zugehörigen aufeinanderfolgenden (run, level)-Paars in eine Base Layer (121); und das Setzen der restlichen aufeinanderfolgenden (run, level)-Paare in eine Enhancement Layer (122-124), wobei λ ein Lagrange-Multiplikator ist, der einer Lagrange-Berechnung entsprechend bestimmt wird.
  2. Verfahren nach Anspruch 1, ferner umfassend den Schritt des Übertragens der Base- (121) und Enhancement Layers (122-124) über verschiedene Übertragungskanäle (120).
  3. Verfahren nach Anspruch 1, wobei der skalierbare Videocodierer (110) ein MPEG 4-Codierer ist.
  4. Verfahren nach Anspruch 1, wobei der skalierbare Videocodierer (110) ein H.263-Codierer ist.
  5. Verfahren nach Anspruch 1, wobei der skalierbare Videocodierer (110) ein MPEG 2-Codierer ist.
  6. Verfahren nach Anspruch 1, wobei der skalierbare Videocodierer (110) ein Videocodierer ist, der DCT-Transformation und Entropie-Codierung verwendet.
  7. Verfahren nach Anspruch 1, wobei der skalierbare Videocodierer (110) durch Umcodierung von Single Layer-MPEG2, MPEG4 und H.26L realisiert wird.
  8. Verfahren nach Anspruch 1, ferner umfassend den Schritt des Quantierens des Lagrange-Multiplikators λ, und des Übertragens des quantisierten Werts als Nebeninformation an einen Decoder (130).
  9. Verfahren nach Anspruch 8, wobei der quantisierte Wert ein diskreter Wert ist, der von einem DCT-Dynamikbereich und einer VLC-Tabelle abhängt.
  10. Verfahren nach Anspruch 8, wobei der quantisierte Wert ein diskreter Wert mit benutzerdefinierter Präzision ist.
  11. Verfahren nach Anspruch 8, wobei die Nebeninformation nur einmal in einem Frame-Header für das Videoframe übertragen wird.
  12. Verfahren nach Anspruch 8, wobei die Nebeninformation in einem Slice-Header oder in einem Videopaket-Header übertragen wird, um die Robustheit zu erhöhen.
  13. Verfahren nach Anspruch 1, wobei der Lagrange-Multiplikator λ mit einem Bisektion-Algorithmus bestimmt wird, um ein Raten-Budget für einen Übertragungskanal (120) für die Base Layer (121) einzuhalten.
  14. Verfahren nach Anspruch 1, wobei der Lagrange-Multiplikator λ mit einem adaptiven Algorithmus bestimmt wird, um ein Raten-Budget für einen Übertragungskanal für die Base Layer (121) einzuhalten.
  15. Verfahren zum Bestimmen einer Grenze zwischen einer Base Layer (121) und mindestens einer Enhancement Layer (122) in einem skalierbaren Videodecoder (130), umfassend die Schritte des: – Empfangens der Base Layer (121) und der mindestens einen Enhancement Layer (122), wobei die Base Layer und Enhancement Layer Daten einschließen, die aufeinanderfolgende (run, level)-Paare für eine Vielzahl von Makroblöcken in einem Videoframe darstellen; für jeden der Vielzahl von Makroblöcken im Videoframe, für aufeinanderfolgende (run, level)-Paare in den Makroblöcken, das Bestimmen eines jeweiligen Verhältnisses |Xk i|2/Lk i, wo ein k.tes (run, level)-Paar für einen i.ten Block eine Codelänge von Lk i Bits hat und einen Koeffizientenwert von Xk i hat; und bis zum und einschließlich des ersten Mals, wo das jeweilige Verhältnis |Xk i|2/Lk i kleiner ist als ein Wert λ, das Lesen des zugehörigen aufeinanderfolgenden (run, level)-Paars aus der Base Layer (121); und das Lesen der restlichen aufeinanderfolgenden (run, level)-Paare aus der Enhancement Layer (122-124), wobei λ ein Lagrange-Multiplikator ist, der durch Decodieren der Nebeninformation bestimmt wird.
  16. Verfahren nach Anspruch 15, ferner umfassend den Schritt des Empfangens der Base Layer (121) und der Enhancement Layer (122) über verschiedene Übertragungskanäle (120).
  17. Verfahren nach Anspruch 15, wobei der skalierbare Videodecoder (130) ein MPEG 4-Decoder ist.
  18. Verfahren nach Anspruch 15, wobei der skalierbare Videodecoder (130) ein H.263-Decoder ist.
  19. Verfahren nach Anspruch 15, wobei der skalierbare Videodecoder (130) ein MPEG 2-Decoder ist.
  20. Verfahren nach Anspruch 15, wobei der skalierbare Videodecoder (130) ein Videodecoder ist, der DCT-Transformation und Entropie-Codierung verwendet.
  21. Verfahren nach Anspruch 15, wobei der skalierbare Videodecoder (130) durch einen Merger vor einem Single-Layer-Videodecoder realisiert wird, der aus der Gruppe gewählt wird, die aus einem MPEG 2-, MPEG 4- und H.26L-Decoder besteht.
  22. Verfahren nach Anspruch 15, ferner umfassend den Schritt des Empfangens des Lagrange-Multiplikators λ als Nebeninformation, die zum Videoframe gehört.
  23. Verfahren nach Anspruch 22, wobei die Nebeninformation eine diskrete Zahl ist, die mit minimalem Bit-Overhead codiert werden kann.
  24. Verfahren nach Anspruch 22, wobei die Nebeninformation nur einmal in einem Frame-Header für den Videoframe gesendet wird.
  25. Verfahren nach Anspruch 22, wobei die Nebeninformation für jeden Slice-Header oder Videopaket-Header kopiert wird, um die Robustheit zu erhöhen.
  26. Verfahren nach Anspruch 15, wobei der Lagrange-Multiplikator λ bestimmt wird, um ein Raten-Budget für einen Übertragungskanal für die Base Layer (121) einzuhalten.
  27. Skalierbarer Decoder (130), der in der Lage ist, Daten von einer Base Layer (121) und mindestens einer Enhancement Layer (122) zu verschmelzen, wobei diese Vorrichtung umfaßt: – einen Speicher (20), der computerausführbare Prozeßschritte speichert; und – einen Prozessor (38), der angeordnet ist, um die im Speicher gespeicherten Prozeßschritte auszuführen, um durchzuführen: (1) den Empfang der Base Layer und der mindestens einen Enhancement Layer, wobei die Base Layer und die Enhancement Layer Daten einschließen, die (run, level)-Paare für eine Vielzahl von Makroblöcken in einem Videoframe darstellen, (2) für jeden der Vielzahl von Makroblöcken im Videoframe, für aufeinanderfolgende (run, level)-Paare in den Makroblöcken, das Bestimmen eines jeweiligen Verhältnisses |Xk i|2/Lk i, wo ein k.tes (run, level)-Paar für einen i.ten Block eine Codelänge von Lk i Bits aufweist und einen Koeffizientenwert von Xk i hat; und bis zum und einschließlich des ersten Mals, wo das jeweilige Verhältnis |Xk i|2/Lk i kleiner ist als ein Wert λ, das Lesen des zugehörigen aufeinanderfolgenden (run, level)-Paars aus der Base Layer (121); und das Lesen der restlichen aufeinanderfolgenden (run, level)-Paare aus der Enhancement Layer (122-124), wobei λ ein Lagrange-Multiplikator ist, der einer Lagrange-Berechnung entsprechend bestimmt wird.
  28. Decoder nach Anspruch 27, wobei der Lagrange-Multiplikator λ vom Decoder als Nebeninformation empfangen wird, die zum Videoframe gehört, und die Nebeninformation nur einmal im Frame-Header für das Videoframe gesendet wird.
  29. Decoder nach Anspruch 27, wobei der Lagrange-Multiplikator λ bestimmt wird, um ein Raten-Budget für einen Übertragungskanal für die Base Layer (121) einzuhalten.
  30. Geschichteter Quellcodierer (101), umfassend: – Mittel zum Empfangen von Videodaten; – Mittel zum Bestimmen von DCT-Koeffizienten für eine Vielzahl von Makroblöcken eines Videoframes; – Mittel zum Quantisieren der DCT-Koeffizienten; – Mittel zum Umwandeln der quantisierten DCT-Koeffizienten in (run, level)-Paare; – Mittel zum Bestimmen eines jeweiligen Verhältnisses |Xk i|2/Lk i für aufeinanderfolgende (run, level)-Paare, in jedem von Vielzahl von Makroblöcken im Videoframe, wo ein k.tes (run, level)-Paar für einen i.ten Block eine Codelänge von Lk i Bits aufweist und einen Koeffizientenwert von Xk i hat; und – Mittel, um, bis zum und einschließlich des ersten Mals, wo das jeweilige Verhältnis |Xk i|2/Lk i kleiner ist als ein Wert λ, das zugehörige aufeinanderfolgende (run, level)-Paar in eine Base Layer (121) zu setzen; und – Mittel, um die restlichen aufeinanderfolgenden (run, level)-Paare in eine Enhancement Layer (122-124) zu setzen, wobei λ ein Lagrange-Multiplikator ist, der einer Lagrange-Berechnung entsprechend bestimmt wird.
DE60305325T 2002-08-06 2003-07-31 System und verfahren zur ratenverzerrungsoptimierten datenpartitionierung zur videocodierung unter verwendung von rückwärtsadaption Expired - Fee Related DE60305325T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US40130002P 2002-08-06 2002-08-06
US401300P 2002-08-06
US10/295,669 US7010037B2 (en) 2002-08-06 2002-11-15 System and method for rate-distortion optimized data partitioning for video coding using backward adaptation
US295669 2002-11-15
PCT/IB2003/003393 WO2004015998A1 (en) 2002-08-06 2003-07-31 System and method for rate-distortion optimized data partitioning for video coding using backward adaptation

Publications (2)

Publication Number Publication Date
DE60305325D1 DE60305325D1 (de) 2006-06-22
DE60305325T2 true DE60305325T2 (de) 2007-03-29

Family

ID=31498146

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60305325T Expired - Fee Related DE60305325T2 (de) 2002-08-06 2003-07-31 System und verfahren zur ratenverzerrungsoptimierten datenpartitionierung zur videocodierung unter verwendung von rückwärtsadaption

Country Status (9)

Country Link
US (1) US7010037B2 (de)
EP (1) EP1529401B1 (de)
JP (1) JP2005535250A (de)
KR (1) KR20050032113A (de)
CN (1) CN1675932A (de)
AT (1) ATE326816T1 (de)
AU (1) AU2003250417A1 (de)
DE (1) DE60305325T2 (de)
WO (1) WO2004015998A1 (de)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190723B2 (en) * 2002-03-27 2007-03-13 Scientific-Atlanta, Inc. Digital stream transcoder with a hybrid-rate controller
US8204079B2 (en) * 2002-10-28 2012-06-19 Qualcomm Incorporated Joint transmission of multiple multimedia streams
JP2006523991A (ja) * 2003-04-18 2006-10-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ レート歪みをビデオ符号化に最適化したデータ分割をパラメトリック・レート歪みモデルを用いて行うシステム及び方法
CA2475189C (en) * 2003-07-17 2009-10-06 At&T Corp. Method and apparatus for window matching in delta compressors
US20070261082A1 (en) * 2003-08-22 2007-11-08 Interuniversitair Microelektronica Centrum (Imec) Method for operating a multi-media wireless system in a multi-user environment
US8228952B2 (en) * 2003-08-22 2012-07-24 Imec Method for operating a telecom system
US20060114836A1 (en) * 2004-08-20 2006-06-01 Sofie Pollin Method for operating a combined multimedia -telecom system
EP1673945B1 (de) * 2003-10-06 2011-06-15 IPG Electronics 503 Limited Digitalfernsehübertragung mit fehlerkorrektur
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8340177B2 (en) * 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
EP1766783B1 (de) * 2004-07-14 2011-11-02 Slipstream Data Inc. Verfahren, system und computerprogramm für die optimierung von datenkomprimierung
US7570827B2 (en) 2004-07-14 2009-08-04 Slipstream Data Inc. Method, system and computer program product for optimization of data compression with cost function
US8032719B2 (en) * 2005-04-14 2011-10-04 Tektronix International Sales Gmbh Method and apparatus for improved memory management in data analysis
US7830961B2 (en) * 2005-06-21 2010-11-09 Seiko Epson Corporation Motion estimation and inter-mode prediction
EP1920285A4 (de) * 2005-07-28 2010-11-03 Light Prescriptions Innovators Linsenförmige optische freiformelemente und ihre anwendung auf kondensatoren und scheinwerfer
KR100736086B1 (ko) 2005-09-06 2007-07-06 삼성전자주식회사 엔트로피 코딩의 성능 향상 방법 및 장치, 상기 방법을이용한 비디오 코딩 방법 및 장치
KR100744309B1 (ko) * 2005-11-22 2007-07-30 삼성전자주식회사 Svc 방식이 적용되는 디지털 비디오 스트림의 전송시스템과 그 전송 방법
US7843995B2 (en) * 2005-12-19 2010-11-30 Seiko Epson Corporation Temporal and spatial analysis of a video macroblock
US8170102B2 (en) * 2005-12-19 2012-05-01 Seiko Epson Corporation Macroblock homogeneity analysis and inter mode prediction
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
WO2007080502A2 (en) * 2006-01-11 2007-07-19 Nokia Corporation Backward-compatible aggregation of pictures in scalable video coding
US8773494B2 (en) 2006-08-29 2014-07-08 Microsoft Corporation Techniques for managing visual compositions for a multimedia conference call
CN101137047B (zh) * 2006-08-29 2010-09-15 昆山杰得微电子有限公司 一种通过有效残差系数分析提高编码效率的方法
CN101523919B (zh) * 2006-10-12 2011-09-14 高通股份有限公司 基于用于精细化系数译码的视频区块类型的可变长度译码表选择
US20080101410A1 (en) * 2006-10-25 2008-05-01 Microsoft Corporation Techniques for managing output bandwidth for a conferencing server
US8761248B2 (en) * 2006-11-28 2014-06-24 Motorola Mobility Llc Method and system for intelligent video adaptation
KR101336423B1 (ko) 2007-02-12 2013-12-04 한국전자통신연구원 계층적 부호화 장치 및 방법, 복호화 장치 및 방법
EP2153566A1 (de) 2007-05-16 2010-02-17 Thomson Licensing Vorrichtung und verfahren zur signalkodierung und -dekodierung
CN101828334B (zh) 2007-10-15 2016-09-14 汤姆逊许可证公司 用于数字电视系统的前序
US8908773B2 (en) 2007-10-15 2014-12-09 Thomson Licensing Apparatus and method for encoding and decoding signals
US8594191B2 (en) * 2008-01-03 2013-11-26 Broadcom Corporation Video processing system and transcoder for use with layered video coding and methods for use therewith
US8953673B2 (en) * 2008-02-29 2015-02-10 Microsoft Corporation Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers
US8711948B2 (en) 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
US8270735B2 (en) * 2008-03-31 2012-09-18 Texas Instruments Incorporated Shared error resiliency path through coefficient reordering
FR2932050B1 (fr) * 2008-06-03 2010-05-21 Canon Kk Procede et dispositif de transmission de donnees video
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8631454B2 (en) * 2008-09-05 2014-01-14 Motorola Mobility Llc Method and apparatus for constrained distribution of television program material
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
WO2010042650A2 (en) * 2008-10-07 2010-04-15 Motorola, Inc. System and method of optimized bit extraction for scalable video coding
US8774225B2 (en) * 2009-02-04 2014-07-08 Nokia Corporation Mapping service components in a broadcast environment
US8326067B2 (en) 2009-02-27 2012-12-04 Research In Motion Limited Optimization of image encoding using perceptual weighting
FI20095273A0 (fi) * 2009-03-17 2009-03-17 On2 Technologies Finland Oy Digitaalinen videokoodaus
KR20110124161A (ko) * 2010-05-10 2011-11-16 삼성전자주식회사 계층 부호화 영상의 송수신 방법 및 장치
US9143793B2 (en) * 2010-05-27 2015-09-22 Freescale Semiconductor, Inc. Video processing system, computer program product and method for managing a transfer of information between a memory unit and a decoder
EP2405661B1 (de) 2010-07-06 2017-03-22 Google, Inc. Verlustrobuste Videoübertragung mit zwei Decodierern
CN101917608B (zh) * 2010-07-30 2012-10-31 华南理工大学 视频轨迹的可伸缩传输方法
CN102209242B (zh) * 2011-05-26 2012-11-07 大连理工大学 基于功耗模型的最优化可伸缩视频传输和解码系统
US9094689B2 (en) 2011-07-01 2015-07-28 Google Technology Holdings LLC Motion vector prediction design simplification
KR101887424B1 (ko) * 2011-08-22 2018-08-10 한국전자통신연구원 Acm 기반의 사이멀캐스트 송수신 장치 및 방법
US9185428B2 (en) 2011-11-04 2015-11-10 Google Technology Holdings LLC Motion vector scaling for non-uniform motion vector grid
US9014265B1 (en) 2011-12-29 2015-04-21 Google Inc. Video coding using edge detection and block partitioning for intra prediction
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US9781418B1 (en) 2012-06-12 2017-10-03 Google Inc. Adaptive deadzone and rate-distortion skip in video processing
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9179155B1 (en) 2012-06-14 2015-11-03 Google Inc. Skipped macroblock video encoding enhancements
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
CN103873142B (zh) * 2012-12-10 2018-06-08 中兴通讯股份有限公司 可见光通信的数据发送、接收方法及装置、传输系统
US9210424B1 (en) 2013-02-28 2015-12-08 Google Inc. Adaptive prediction block size in video coding
JP6120667B2 (ja) * 2013-05-02 2017-04-26 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、プログラム、及び記録媒体
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
US9699466B2 (en) * 2013-12-26 2017-07-04 Mediatek Inc Adaptive reference/non-reference frame determination for video encoding
WO2015102462A1 (ko) * 2014-01-06 2015-07-09 에스케이텔레콤 주식회사 다중 영상의 단일 비트 스트림 생성방법 및 생성장치
KR102111436B1 (ko) 2014-01-06 2020-05-18 에스케이 텔레콤주식회사 다중 영상의 단일 비트 스트림 생성방법 및 생성장치
CN106303673B (zh) * 2015-06-04 2021-01-22 中兴通讯股份有限公司 码流对齐、同步处理方法及发送、接收终端和通信系统
US9807416B2 (en) 2015-09-21 2017-10-31 Google Inc. Low-latency two-pass video coding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6037987A (en) * 1997-12-31 2000-03-14 Sarnoff Corporation Apparatus and method for selecting a rate and distortion based coding mode for a coding system
AU2001286682A1 (en) * 2000-08-25 2002-03-13 Hamid Gharavi Dual priority video transmission for mobile applications
US7110608B2 (en) * 2001-07-02 2006-09-19 Canon Kabushiki Kaisha Digital image compression
WO2003041055A1 (en) * 2001-11-02 2003-05-15 The Regents Of The University Of California End-to-end distortion estimation for streaming of pre-compressed video

Also Published As

Publication number Publication date
EP1529401A1 (de) 2005-05-11
EP1529401B1 (de) 2006-05-17
ATE326816T1 (de) 2006-06-15
CN1675932A (zh) 2005-09-28
US20040028131A1 (en) 2004-02-12
US7010037B2 (en) 2006-03-07
DE60305325D1 (de) 2006-06-22
AU2003250417A1 (en) 2004-02-25
JP2005535250A (ja) 2005-11-17
KR20050032113A (ko) 2005-04-06
WO2004015998A1 (en) 2004-02-19

Similar Documents

Publication Publication Date Title
DE60305325T2 (de) System und verfahren zur ratenverzerrungsoptimierten datenpartitionierung zur videocodierung unter verwendung von rückwärtsadaption
DE60125301T2 (de) Videosignaltranskodierung
DE69320719T2 (de) Effiziente, frequenzskalierbare Videokodierung mit Koeffizientenwahl
DE69937462T2 (de) Effiziente macroblockheaderkodierung zur videokompression
DE69738262T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
US8077769B2 (en) Method of reducing computations in transform and scaling processes in a digital video encoder using a threshold-based approach
DE69839100T2 (de) Verbesserte Videokodierung unter Verwendung von adaptiven Blockparametern für kodierte/unkodierte Blöcke
DE69811394T2 (de) Adaptive entropie-kodierung im rahmen adaptiver quantisierung für videosignalkodiersysteme und -verfahren
DE69116869T2 (de) Digitale bildkodierung mit einer zufallsabtastung der bilder
DE69735402T2 (de) System und Methode zur Bewegungskompensation mit Hilfe eines Schrägziegelspeicherformats für verbesserte Effizienz
DE602004008763T2 (de) Videotranskodierung
DE69805228T2 (de) Videosignalkodierung mit adaptiver Quantisierung
US9047669B1 (en) Bit rate control for data compression
EP0687111A2 (de) Verfahren zur Codierung/Decodierung eines Datenstroms
US20050238096A1 (en) Fractional quantization step sizes for high bit rates
DE102005040026A1 (de) Vorrichtung und Verfahren zur Verarbeitung von Video-/Bilddaten
DE69624399T2 (de) Einrichtung zur Kompression von bewegten Videobildern mit adaptiver Quantisierung
DE60300591T2 (de) Verfahren und Vorrichtung zur Dekomprimierung von Bildern durch Transkodierung in komprimierte Bewegtbilder
DE60309039T2 (de) Verfahren und vorrichtung zur optimierung der bildschärfe während der kodierung
US20070165717A1 (en) System and method for rate-distortion optimized data partitioning for video coding using parametric rate-distortion model
DE102016124917B4 (de) Anpassungsfähige Kachel-Daten-Grössenkodierung für Video- und Bildkompression
JP2007506347A (ja) 凸包検索を用いたレート−歪ビデオデータ分割
WO2009031904A2 (en) Method for alternating entropy coding
DE60210757T2 (de) Vorrichtung zur videokodierung und -aufzeichnung
DE602004011213T2 (de) Intraframe-komprimierung und dekomprimierung von videosignalen mit fester bitrate

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee