[go: up one dir, main page]

DE60109423T2 - Videokodierung mit prädiktiver bitebenenkodierung und progressiver fein-granularitätsskalierung (pfgs) - Google Patents

Videokodierung mit prädiktiver bitebenenkodierung und progressiver fein-granularitätsskalierung (pfgs) Download PDF

Info

Publication number
DE60109423T2
DE60109423T2 DE60109423T DE60109423T DE60109423T2 DE 60109423 T2 DE60109423 T2 DE 60109423T2 DE 60109423 T DE60109423 T DE 60109423T DE 60109423 T DE60109423 T DE 60109423T DE 60109423 T2 DE60109423 T2 DE 60109423T2
Authority
DE
Germany
Prior art keywords
quality
layer
low
predicted
layers
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
DE60109423T
Other languages
English (en)
Other versions
DE60109423D1 (de
Inventor
Feng Haidian District WU
Shipeng Li
Ya-Qin Zhang
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of DE60109423D1 publication Critical patent/DE60109423D1/de
Application granted granted Critical
Publication of DE60109423T2 publication Critical patent/DE60109423T2/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Television Systems (AREA)
  • Color Television Systems (AREA)

Description

  • TECHNISCHES SACHGEBIET
  • Diese Erfindung bezieht sich auf Systeme und Verfahren zum Codieren von Video-Daten, und, insbesondere, auf auf einer Bewegungs-Kompensation basierende Videocodier-Schemata, die eine feinstufig geschichtete Codierung (Layered-Coding) einsetzen.
  • HINTERGRUND DER ERFINDUNG
  • Eine effiziente und zuverlässige Zuführung von Video-Daten wird zunehmend wichtig, da die Popularität des Internets zunimmt. Ein Video ist sehr ansprechend, da es eine viel bessere Benutzer-Erfahrung bietet als statische Bilder und ein Text. Es ist zunehmend von Interesse, zum Beispiel einen Video-Clip eines gewinnenden Touchdown oder eine Präsidentenansprache zu sehen, als dies der Fall ist, von einem Druck zu lesen. Leider sind Video-Daten wesentlich größer als andere Daten-Typen, die üblicherweise über das Internet verteilt werden. Als ein Beispiel kann eine Sekunde von nicht komprimierten Video-Daten ein oder mehrere Megabyte an Daten verbrauchen. Ein Liefern solcher großen Mengen an Daten über fehleranfällige Netzwerke, wie beispielsweise das Internet und drahtlose Netzwerke, stellt schwierige Herausforderungen im Hinblick auf Effizienz und Zuverlässigkeit dar.
  • Um eine effiziente Zuführung zu unterstützen, werden Video-Daten typischerweise vor einer Weiterführung codiert, um die Menge an Daten, die tatsächlich über das Netzwerk übertragen wird, zu verringern. Eine Bild-Qualität geht als Folge der Kompression verloren, allerdings wird ein solcher Verlust allgemein als notwendig toleriert, um akzeptierbare Übertragungs-Geschwindigkeiten zu erreichen. In einigen Fällen kann sogar der Verlust der Qualität für einen Betrachter nicht erfassbar sein.
  • Eine Video-Kompression ist ausreichend bekannt. Ein üblicher Typ einer Video-Kompression ist eine auf einer Bewegungs-Kompensation basierendes Video-Codier-Schema, das in Codier-Standards, wie MPEG-1, MPEG-2, MPEG-4, H.261 und H.263, verwendet wird.
  • Ein bestimmter Typ eines auf einer Bewegungs-Kompensation basierenden Video-Codier-Schemas ist das feinstufig geschichtete Codieren (fine-granularity layered coding).
  • Ein Layered-Coding ist eine Familie von Signal-Darstellungs-Techniken, in denen Quellen-Informationen in Sätze, bezeichnet als „Layers" („Schichten"), unterteilt werden. Die Layers sind so organisiert, dass die unterste oder „Grundschicht" (Base Layer) die minimalen Informationen für eine Verständlichkeit enthält. Die anderen Layers, bezeichnet als „Verbesserungs-Schichten" (Enhancement Layers), enthalten zusätzliche Informationen, die zunehmend die gesamte Qualität des Videos verbessern. Mit einem Layered-Coding werden die unteren Layers bzw. Schichten von Video-Daten oftmals dazu verwendet, eine oder mehrere höhere Layers an Video-Daten vorherzusagen.
  • Die Qualität, unter der digitale Video-Daten über ein Netzwerk verteilt werden können, variiert stark in Abhängigkeit von vielen Faktoren, einschließlich dem Codier-Vorgang und der Übertragungs-Bandbreite. „Qualität eines Service" (Quality of Service) oder einfach „QoS" ist der Spitzname, der dazu verwendet wird, allgemein verschiedene Qualitäts-Niveaus zu beschreiben, unter denen ein Video geliefert werden kann. Geschichtete Video-Codier-Schemata bieten oftmals einen Bereich eines QoSs, der ermöglicht, dass Anwendungen für unterschiedliche Video-Qualitäten angepasst werden. Zum Beispiel müssen sich Anwendungen, ausgelegt dazu, Video-Daten, gesendet über das Internet (z.B. Mehrfach-Teilnehmer-Video-Konferenzschaltung), zu handhaben, schnell an sich kontinuierlich ändernde Daten-Raten, die beim Weiterführen von Daten über viele heterogene Unternetzwerke, die das Internet bilden, vorhanden sind, anpassen. Der QoS eines Videos an jedem Empfänger muss dynamisch an das angepasst werden, was auch immer die momentane, verfügbare Bandbreite sein wird. Ein geschichtetes Video-Codieren ist eine effiziente Maßnahme für dieses Problem, da es eine einzelne Darstellung der Video-Quelle zu mehreren Schichten codiert, die unter einem Bereich von Qualitäts-Pegeln decodiert und dargestellt werden können.
  • Neben einer Codier-Effektivität ist ein anderer Punkt, der für geschichtete Codier-Techniken von Interesse ist, die Zuverlässigkeit. In Layered-Coding-Schemata existiert eine hierarchische Abhängigkeit für jede der Schichten. Eine höhere Schicht kann typischerweise nur dann decodiert werden, wenn alle Daten für die unteren Schichten oder dieselbe Schicht in einem früheren Prädiktion-Frame vorhanden sind. Falls Informationen an einer Schicht fehlen, sind irgendwelche Daten für dieselbe oder höhere Schichten nutzlos. In Netzwerk-Anwendungen gestaltet diese Abhängigkeit die Layered-Coding-Schemata sehr intolerant für einen Datenpaket-Verlust, insbesondere an den niedrigeren Schichten. Falls die Verlustrate hoch in geschichteten Datenfolgen ist, ist die Video-Qualität an dem Empfänger sehr schlecht.
  • 1 zeigt ein herkömmliches Layered-Coding-Schema 20, bekannt als „feingranular-skalierbar" („fine-granularity scalable") oder „FGS". Drei Frames sind dargestellt, umfassend einen ersten oder Intra-Frame 22, gefolgt durch zwei prädizierte Frames 24 und 26, die von dem Intra-Frame 22 prädiziert sind. Die Frames sind in vier Schichten codiert: eine Grundschicht 28, eine erste Schicht 30, eine zweite Schicht 32 und eine dritte Schicht 34. Die Grundschicht enthält typischerweise die Video-Daten, die, wenn sie abgespielt werden, minimal für einen Betrachter akzeptierbar sind. Jede zusätzliche Schicht enthält zunehmend mehr Komponenten der Video-Daten, um die Grundschicht zu verbessern. Die Qualität eines Videos verbessert sich dadurch mit jeder zusätzlichen Schicht. Diese Technik wird in weiterem Detail in einem Artikel von Weiping Li, mit dem Titel „Fine Granularity Scalability Using Bit-Plane Coding of DCT Coefficients", ISO/IEC JTC1/SC29/WG11, MPEG98/M4204 (Dezember 1998), beschrieben.
  • Mit einem geschichteten Codieren können die verschiedenen Schichten über das Netzwerk als getrennte Unter-Datenfolgen geschickt werden, wobei sich der Qualitäts-Pegel des Videos erhöht, wenn jede Unter-Datenfolge empfangen und codiert wird. Das Grundschicht-Video 28 wird in einem gut kontrollierten Kanal gesendet, um einen Fehler oder einen Datenpaket-Verlust zu minimieren. Mit anderen Worten wird die Grundschicht so codiert, um in eine minimale Kanal-Bandbreite zu passen. Das Ziel ist dasjenige, mindestens die Grundschicht 28 zu liefern und zu decodieren, um ein Video mit einer minimalen Qualität zu erreichen. Die Verbesserungs-Schichten 3034 werden als Netzwerk-Zustände geliefert und decodiert, um zu ermöglichen, dass die Video-Qualität verbessert wird (z.B. Anzeigegröße, Auflösung, Frame-Rate, usw.). Zusätzlich kann ein Decodierer so konfiguriert werden, um einen bestimmten Bereich oder einen Untersatz dieser Schichten auszuwählen und zu decodieren, um eine bestimmte Qualität entsprechend seiner Präferenz und Fähigkeit zu erhalten.
  • Eine Charakteristik des dargestellten FGS-Codier-Schemas ist diejenige, dass die Verbesserungsschichten 30, 34 vorhersagbar von der Grundschicht 28 in den Bezug-Frames codiert sind. Wie in 1 dargestellt ist, kann jede der Verbesserungsschichten 3034 in den prädizierten Frames 24 und 26 von der Grundschicht des vorhergehenden Frames prädiziert werden. In diesem Beispiel können die Verbesserungsschichten des prädizierten Frames 24 von der Grundschicht eines Intra-Frames 22 prädiziert werden. Ähnlich können die Verbesserungsschichten des prädizierten Frames 26 von der Grundschicht eines vorhergehenden, prädizierten Frames 24 prädiziert werden.
  • Das FGS-Codier-Schema liefert eine gute Zuverlässigkeit im Hinblick auf eine Fehlerbeseitigung bei einem gelegentlichen Daten-Verlust. Durch Prädiktion aller Verbesserungsschichten von der Grundschicht kann ein Verlust oder eine Korruption einer oder mehrerer der Verbesserungsschicht(en) während eines Sendens durch Rekonstruieren der Verbesserungsschichten von der Grundschicht behoben werden. Zum Beispiel wird angenommen, dass der Frame 24 einen bestimmten Fehler während einer Übertragung erfährt. In diesem Fall kann die Grundschicht 28 eines vorhergehenden Intra-Frames 22 dazu verwendet werden, die Grundschicht und die Verbesserungsschichten des Frame 24 vorherzusagen.
  • Allerdings besitzt das FGS-Codier-Schema einen wesentlichen Nachteil dahingehend, dass das Schema sehr ineffektiv vom Standpunkt eines Codierens oder einer Kompression ist, da eine Prädiktion immer auf der Grundschicht mit der niedrigsten Qualität basiert. Dementsprechend verbleibt hier ein Erfordernis nach einem Layered-Coding-Schema, das effektiv ist, ohne die Fehler-Beseitigung zu beeinträchtigen.
  • 2 stellt ein anderes, herkömmliches Layered-Coding-Schema 40 dar, bei dem drei Frames unter Verwendung einer Technik codiert sind, die in einem Artikel von James Macnicol, Michael Frater und John Arnold, mit dem Titel „Results on Fine Granularity Scalability", ISO/IEC JTC1/SC29/WG11, MPEG99/m5122 (Oktober 1999), vorgestellt wird. Die drei Frames umfassen einen ersten Frame 42, gefolgt durch zwei prädizierte Frames 44 und 46, die von dem ersten Frame 42 prädiziert sind. Die Frames werden in vier Schichten codiert: eine Grundschicht 48, eine erste Schicht 50, eine zweite Schicht 52 und eine dritte Schicht 54. In diesem Schema wird jede Schicht in einem Frame von derselben Schicht des vorherigen Frames prädiziert. Zum Beispiel können die Verbesserungsschichten eines prädizierten Frames 44 aus der entsprechenden Schicht eines früheren Frames 42 prädiziert werden. Ähnlich können die Verbesserungsschichten eines prädizierten Frames 46 von der entsprechenden Schicht eines früheren Frames 44 prädiziert werden.
  • Das Codier-Schema, dargestellt in 2, besitzt den Vorteil, dass es sehr effizient aus der Sicht eines Codierens ist. Allerdings leidet es an einem ernsthaften Nachteil da hingehend, dass es nicht leicht einen Daten-Verlust beseitigen kann. Wenn ein Fehler oder ein Datenpaket-Verlust in den Verbesserungsschichten aufgetreten ist, propagiert er zu dem Ende einer GOP (group of predicted frames – Gruppe von prädizierten Frames) und bewirkt ein ernsthaftes Triften in höhere Schichten in den Prädiktion-Frames, die folgen. Sogar obwohl eine ausreichende Bandbreite später verfügbar ist, ist der Decodierer nicht in der Lage, die höchste Qualität wiederherzustellen, bis eine andere GOP startet.
  • Dementsprechend verbleibt ein Erfordernis nach einem effizienten Layered-Video-Coding-Schema, das bei einer Bandbreiten-Fluktuation angewandt wird und auch gute Fehler-Wiederhersteilungs-Charakteristika zeigt.
  • Die WO 99 33274 A offenbart ein skalierbares, vorhersagbares Codier-Verfahren und eine -Vorrichtung. Video-Daten und eine Bewegungs-Kompensation werden erwähnt. Die Prädiktion einer Verbesserungsschicht kann Informationen, geliefert von allen niedrigeren Verbesserungsschichten, ebenso, kombinieren. Frame-Koeffizienten werden abgeschätzt oder prädiziert. Informationen von dem Rekonstruktions-Frame und der Grundschicht können kombiniert werden. Das Kombinieren kann von Kompressions-Parametern der Grundschicht und der quantisierten Grundschicht abhängen. Der Rest der Verbesserungsschicht wird dahingehend beschrieben, dass er die Differenz zwischen dem Eingangs-Frame und dem prädizierten Frame ist. Ein dreischichtiger, skalierbarer Codierer, der Grundschicht- und Verbesserungsschicht-Rekonstruktions-Module einsetzt, ist offenbart. DCT-Koeffizienten werden erwähnt. Es wird beschrieben, dass an einer Schicht k Signal-Informationen von dem momentanen, rekonstruierten Frame an einer Schicht k-1 und von dem vorherigen Rekonstruktions-Frame an einer Schicht k kombiniert werden können. Es wird beschrieben, dass Daten und Informationen von allen niedrigeren Schichten berücksichtigt werden können und dazu beitragen können, das End-Intervall, innerhalb dem der Koeffizient liegen muss, einzuschränken.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist die Aufgabe der Erfindung, ein effizientes Layered-Video-Coding-Schema zu schaffen, das bei einer Bandbreiten-Fluktuation angewandt werden kann und das auch gute Fehler-Wiederherstellungs-Charakteristika zeigt.
  • Diese Aufgabe wird durch die Erfindung, wie sie in den unabhängigen Ansprüchen 1, 4 und 24 beansprucht ist, gelöst.
  • Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen definiert.
  • Ein Video-Codier-Schema setzt ein progressives, feinstufiges, skalierbares (progressive fine-granularity scalable – PFGS) geschichtetes Codieren ein, um Video-Daten-Frames in mehreren Schichten zu codieren, einschließlich einer Grundschicht mit einem Video mit vergleichbar niedriger Qualität und mehreren Verbesserungsschichten mit einem Video mit zunehmend höherer Qualität. Einige der Verbesserungsschichten in einem momentanen Frame werden von mindestens einer selben oder einer Schicht mit niedrigerer Qualität in einem Bezug-Frame prädiziert, wobei die Schicht mit niedrigerer Qualität nicht notwendigerweise die Grundschicht ist.
  • In einer beschriebenen Ausführung codiert ein Video-Codierer Frames von Video-Daten in mehrere Schichten, einschließlich einer Grundschicht und mehreren Verbesserungsschichten. Die Grundschicht enthält Video-Daten mit einer minimalen Qualität und die Verbesserungsschichten enthalten Video-Daten mit zunehmend höherer Qualität. Schichten in einem prädizierten Frame werden von sowohl der Grundschicht als auch einer oder mehreren der Verbesserungsschichten prädiziert.
  • Reste, die sich aus der Bild-Frame-Prädizierung ergeben, werden als die Differenz zwischen dem originalen Bild und dem prädizierten Bild definiert. Wenn eine lineare Transformation, wie beispielsweise eine diskrete Kosinus-Transformation (Discrete Cosine Transform – DCT), verwendet wird, sind die Koeffizienten der prädizierten Reste gleich zu den Differenzen zwischen den DCT-Koeffizienten des originalen Bilds und den DCT-Koeffizienten des prädizierten Bilds. Da das PFGS-Codier-Schema mehrere Bezugsschichten für die Prädiktion verwendet, erzeugt das Codier-Schema mehrere Sätze von prädizierten DCT-Koeffizienten. Die prädizierten DCT-Koeffizienten bewegen sich in der Qualität in Abhängigkeit davon, welche Bezugsschicht für die Prädiktion verwendet wird. Prädizierte DCT-Koeffizienten mit niedrigerer Qualität (oder „LQPD") werden unter Verwendung von Bezugsschichten mit niedrigerer Qualität, wie beispielsweise der Grundschicht, erzeugt. Prädizierte DCT-Koeffizienten mit höherer Qualität (oder „HQPD") werden unter Verwendung von Verbesserungsschichten mit höherer Qualität als eine Referenz erzeugt.
  • Die Erwartung ist diejenige, dass die HQPD-Koeffizienten niedrigere DCT-Reste im Vergleich zu den LQPD-Koeffizienten erzeugen werden, da die Bezugsschicht von einer höheren Qualität ist und demzufolge näher zu dem originalen Bild liegt. Niedrigere DCT-Reste translatieren in weniger Codier-Schichten, wodurch sich eine bessere Codier- Effektivität ergibt. Während die Erwartung für die Perspektive eines durchschnittlichen Werts gültig ist, tendieren die verschiedenen Qualitäten der DCT-Reste dazu, aufgrund der Bewegung zwischen Frames, und auch aus anderen Gründen, zu fluktuieren. In einigen Fällen erhöhen sich individuelle DCT-Reste in den HQPD-Koeffizienten tatsächlich im Vergleich zu den DCT-Resten, erzeugt unter Bezugnahme auf eine Schicht mit niedrigerer Qualität (d.h. Reste in den LQPD-Koeffizienten). Die nicht erwünschten Fluktuationen und Erhöhungen führen zu einem Codieren mit geringerer Effektivität.
  • Idealerweise sollten, um die Fluktuation in den DCT-Koeffizienten, verursacht unter Verwendung von mehreren Prädiktions-Bezugnahmen einer unterschiedlichen Qualität, zu beseitigen, die HQPD-Koeffizienten ein Teil der Grundschicht und der niedrigen Verbesserungsschichten sein oder teilweise dort hinein codiert sein. Allerdings werden, in der Praxis, nur LQPD-Koeffizienten mit niedrigerer Qualität in die Grundschicht und die niedrigen Verbesserungsschichten codiert.
  • Das Video-Codier-Schema, das hier beschrieben ist, beseitigt effektiv diese Fluktuationen durch Prädiktion von HQPD-Koeffizienten aus den LQPD-Koeffizienten, die in der Grundschicht und der Verbesserungsschicht mit niedriger Qualität codiert sind. Diese prädizierten HQPD-Koeffizienten, oder Reste mit hoher Qualität, abgeleitet davon, können sowohl in einem Codierer als auch in einem Decodierer berechnet werden. Mit Ausnahme irgendwelcher Reste von der HQPD-Prädiktion, die noch das Maximum übersteigen können, muss die Bitfolge, die die Grundschicht und die Verbesserungsschicht niedriger Qualität enthält, nicht modifiziert werden. Die Verwendung von prädizierten HQPD-Koeffizienten verbessert die Codier-Eftektivitäten durch Beseitigen großer Fluktuationen vor einem Codieren.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Dieselben Bezugszeichen werden durch die Zeichnungen hinweg verwendet, um auf entsprechende Elemente und Merkmale Bezug zu nehmen.
  • 1 zeigt eine schematische Darstellung eines Layered-Coding-Schema nach dem Stand der Technik, in dem alle Schichten mit höherer Qualität von der Schicht mit der niedrigsten oder der Grundqualität prädiziert werden können.
  • 2 zeigt eine schematische Darstellung eines Layered-Coding-Schema nach dem Stand der Technik, in dem von deren Komponenten einer entsprechenden Qualitäts-Schicht in dem Intra-Frame oder dem Bezug-Frame prädiziert werden.
  • 3 zeigt ein Blockdiagramm eines Video-Verteilungs-Systems, in dem ein Inhalt-Producer/Provider Video-Daten codiert und die codierten Video-Daten über ein Netzwerk zu einem Client überträgt.
  • 4 zeigt eine schematische Darstellung eines Layered-Coding-Schema, verwendet durch den Inhalt-Producer/Provider, um die Video-Daten zu codieren.
  • 5 ist ähnlich zu 4, und stellt weiterhin dar, wie die Anzahl von Schichten, die über ein Netzwerk gesendet werden, dynamisch entsprechend einer Bandbreiten-Verfügbarkeit geändert werden können.
  • 6 ist ähnlich zu 4 und stellt weiterhin dar, wie fehlende oder mit Fehler behaftete Schichten aus einer Bezugsschicht in einem rekonstruierten Frame wiederhergestellt werden können.
  • 7 zeigt eine schematische Darstellung eines Markroblocks in einem Prädiktions-Frame, prädiziert von einem Bezug-Makroblock in einem Bezug-Frame gemäß einem Bewegungs-Vektor.
  • 8 zeigt ein Flussdiagramm, das ein Verfahren zum Codieren von Video-Daten unter Verwendung des Layered-Coding-Schema, dargestellt in 4, darstellt.
  • 9 zeigt ein Blockdiagramm eines beispielhaften Video-Codierers, ausgeführt bei dem Inhalt-Producer/Provider.
  • 10 zeigt ein Flussdiagramm, das ein Verfahren zum Codieren von Video-Daten darstellt, das durch den Video-Codierer der 9 ausgeführt wird.
  • 11 zeigt eine schematische Darstellung eines beispielhaften, originalen, prädizierten DCT-Koeffizienten mit niedriger Qualität, um codiert zu werden.
  • 12 zeigt eine schematische Darstellung der Schicht der 11, einer Quantisierung folgend.
  • 13 zeigt eine schematische Darstellung der mehreren Verbesserungsschichten, verwendet dazu, Reste zu codieren, die sich aus einer Differenz zwischen den Koeffizienten in der Schicht der 11 und in der Schicht der 12 ergeben.
  • 14 zeigt eine schematische Darstellung eines Satzes von Koeffizienten, die in der Grundschicht und in der ersten Verbesserungsschicht codiert sind.
  • 15 zeigt eine schematische Darstellung eines Satzes von Resten, die sich aus der Differenz zwischen dem Koeffizienten in der Schicht der 11 und in der Schicht der 14 ergeben.
  • 16 zeigt eine schematische Darstellung einer Schicht, die von einer Schicht mit einer hohen Bild-Qualität, wie beispielsweise einer Verbesserungsschicht, prädiziert ist.
  • 17 zeigt eine schematische Darstellung eines Satzes von Resten, die sich aus der Differenz zwischen den Koeffizienten der Schicht in der 16 und in der Schicht der 14 ergeben.
  • 18 zeigt eine schematische Darstellung von Quantisierungs-Niveaus, ausgeführt durch einen gleichförmigen Schwellwert-Quantisierer.
  • 19 zeigt ein Blockdiagramm eines anderen, beispielhaften Video-Codierers, ausgeführt bei dem Inhalt-Producer/Provider.
  • 20 zeigt ein Blockdiagramm eines beispielhaften Video-Codierers, ausgeführt bei dem Client, der ein Komplementär zu dem Video-Codierer der 19 ist.
  • 21 zeigt ein Blockdiagramm eines noch anderen, beispielhaften Video-Codierers, ausgeführt bei dem Inhalt-Producer/Provider.
  • 22 zeigt ein Blockdiagramm eines anderen, beispielhaften Video-Decodierers, ausgeführt bei dem Client, der ein Komplementär zu dem Video-Codierer der 21 ist.
  • 23 zeigt ein Flussdiagramm eines Video-Codier-Vorgangs, ausgeführt durch die Video-Codierer der 19 und 21.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Diese Beschreibung beschreibt ein Layered-Coding-Schema, verwendet in auf einer Bewegungs-Kompensation basierenden Video-Codier-Schemata und -Verfahren. Das Codier-Schema wird im Zusammenhang eines Übermittelns von Video-Daten über ein Netzwerk, wie beispielsweise das Internet oder ein drahtloses Netzwerk, beschrieben. Allerdings besitzt das Layered-Video-Coding-Schema eine allgemeine Anwendbarkeit in einer breiten Vielfalt von Umgebungen.
  • Beispielhafte System-Architektur
  • 3 stellt ein Video-Verteilungs-System 60 dar, in dem ein Inhalt-Producer/Provider 62 ein Video herstellt und/oder über ein Netzwerk 64 zu einem Client 66 verteilt. Das Netzwerk ist für viele unterschiedliche Typen von Netzwerken, einschließlich des Internets, eines LAN (local area network), eines WAN (wide area network), eines SAN (storage area network), und für drahtlose Netzwerke (z.B. Satellit, zellular, RF bzw. HF, usw.), repräsentativ.
  • Der Inhalt-Producer/Provider 62 kann auf viele Arten und Weisen ausgeführt werden, einschließlich von einem oder mehreren Server-Computern, konfiguriert so, um Video-Daten zu speichern, zu verarbeiten und zu verteilen. Der Inhalt-Producer/Provider 62 besitzt einen Video-Speicher 70, um digitale Video-Dateien 72 zu speichern, und einen Verteilungs-Server 74, um die Video-Daten zu codieren und sie über das Netzwerk 64 zu verteilen. Der Server 74 besitzt einen Prozessor 76, ein Betriebssystem 78 (z.B. Windows NT, Unix, usw.) und einen Video-Codierer 80. Der Video-Codierer 80 kann in einer Software, einer Firmware und/oder einer Hardware ausgeführt werden. Der Codierer ist als ein gesondertes, selbständiges Modul für Diskussionszwecke dargestellt, kann allerdings als ein Teil des Prozessors 76 aufgebaut sein oder kann in das Betriebssystem 78 oder in andere Anwendungen (nicht dargestellt) eingesetzt sein.
  • Der Video-Codierer 80 codiert die Video-Daten 72 unter Verwendung eines auf einer Bewegungs-Kompensation basierenden Codier-Schemas. Genauer gesagt setzt der Codierer 80 ein progressives, feinstufiges, skalierbares (PFGS), geschichtetes Codier-Schema ein. Der Video-Codierer 80 codiert das Video in mehrere Schichten, einschließlich einer Grundschicht und einer oder mehrerer Verbesserungsschicht(en). „Feinstufiges" („fine-granularity") Codieren bedeutet, dass die Differenz zwischen irgendwelchen zwei Schichten, auch wenn sie klein ist, durch den Codierer verwendet werden kann, um die Bild-Qualität zu verbessern. Ein feinstufiges, geschichtetes Video-Codieren stellt sicher, dass eine Prädiktion eines nächsten Video-Frame von einer niedrigeren Schicht des momentanen Video-Frame gut genug ist, um die Effektivität des gesamten Video-Codierens beizubehalten.
  • Der Video-Codierer 80 besitzt eine eine Grundschicht codierende Komponente 82, um die Video-Daten in die Grundschicht zu codieren, und eine eine Verbesserungsschicht codierende Komponente 84, um die Video-Daten in eine oder mehrere Verbesserungsschichten) zu codieren. Der Video-Codierer codiert die Video-Daten so, dass einige der Verbesserungsschichten in einem momentanen Frame von mindestens einer selben Schicht oder einer solchen mit niedrigerer Qualität in einem Bezug-Frame prädiziert werden, wodurch die Schicht mit niedrigerer Qualität nicht notwendigerweise die Grundschicht ist. Der Video-Codierer 80 kann auch eine Bit-Ebene-Codier-Komponente 86 umfassen, die Daten in höheren Verbesserungsschichten prädiziert. Verschiedene Ausführungen des Video-Codierers 80 werden nachfolgend in weiterem Detail unter Bezugnahme auf die 9, 19 und 21 beschrieben.
  • Der Client 66 ist mit einem Prozessor 90, einem Speicher 92 und einer oder mehreren Medien-Ausgabe-Vorrichtungen) 94 ausgestattet. Der Speicher 92 speichert ein Betriebssystem 96 (z.B. ein Windows Betriebssystem), das auf dem Prozessor 90 ausgeführt wird. Das Betriebssystem 96 setzt einen Video-Decodierer 98 auf der Seite des Client ein, um die Layered-Video-Datenfolgen in das originale Video zu decodieren. In dem Fall, dass Daten verloren sind, ist der Decodierer 98 in der Lage, die fehlenden Bereiche des Videos von Frames zu rekonstruieren, die erfolgreich übertragen sind. Der Video-Decodierer 98 auf der Seite des Clients besitzt eine Grundschicht-Decodier-Komponente 95, eine Verbesserungsschicht-Decodier-Komponente 97, und optional eine Bit-Ebene-Codier-Komponente 99. Verschiedene Ausführungen des Video-Codierers 80 werden nachfolgend in weiterem Detail unter Bezugnahme auf die 20 und 22 beschrieben.
  • Einem Decodieren folgend speichert der Client das Video in einem Speicher und/oder spielt das Video über Medien-Ausgabe-Vorrichtungen 94 ab. Der Client 26 kann auf viele unterschiedliche Arten und Weisen ausgeführt werden, einschließlich eines Computers, einer in der Hand gehaltenen Unterhaltungs-Vorrichtung, einer Set-Top-Box, eines Fernsehgeräts, einem Application Specific Integrated Circuit (ASIC), usw..
  • Beispielhaftes PFGS-Layered-Coding-Schema
  • Wie vorstehend angeführt ist, codiert der Video-Codierer 80 die Video-Daten in mehrere Schichten, so dass einige der Verbesserungsschichten in einem momentanen Frame von mindestens einer selben Schicht oder einer solchen mit niedrigerer Qualität in einem Bezug-Frame prädiziert wird, die nicht notwendigerweise die Grundschicht ist. Dabei sind viele Arten und Weisen vorhanden, um dieses PFGS- Layered-Coding-Schema umzusetzen. Ein Beispiel ist in 4 zu Diskussionszwecken, und um die Vorteile des Schemas hervorzuheben, dargestellt.
  • 4 stellt konzeptmäßig ein PFGS- Layered-Coding-Schema 100 dar, ausgeführt durch den Video-Codierer 80 der 3. Der Codierer 80 codiert Frames der Video-Daten in mehrere Schichten, einschließlich einer Grundschicht und mehreren Verbesserungsschichten. Zu Diskussionszwecken stellt 4 vier Schichten dar, eine Grundschicht 102, eine erste Schicht 104, eine zweite Schicht 106 und eine dritte Schicht 108. Die oberen drei Schichten 104108 sind Verbesserungsschichten zu der Grund-Videoschicht 102. Der Ausdruck Schicht hier bezieht sich auf eine räumliche Schicht oder SNR (Quality-Schicht), oder auf beide. Fünf aufeinander folgende Frames sind zu Diskussionszwecken dargestellt.
  • Für jeden Interframe wird das originale Bild unter Bezugnahme auf eine vorherige Grundschicht und eine Verbesserungsschicht kompensiert, um das prädizierte Bild zu bilden. Reste, die sich aus der Prädiktion ergeben, werden als die Differenz zwischen dem originalen Bild und dem prädizierten Bild definiert. Als ein Beispiel ist eine lineare Transformation, verwendet dazu, das originale Bild zu transformieren, eine diskrete Kosinus-Transformation (DCT). Aufgrund deren Linearität sind die DCT-Koeffizienten der prädizierten Reste gleich zu den Differenzen zwischen den DCT-Koeffizienten des originalen Bilds und den DCT-Koeffizienten des prädizierten Bilds.
  • Die Anzahl von Schichten, erzeugt durch das PFGS- Layered-Coding-Schema, ist nicht festgelegt, sondern basiert anstelle davon auf der Anzahl von Schichten, die benötigt wird, um die Reste zu codieren. Zum Beispiel wird angenommen, dass ein maximaler Rest in einem binären Format durch fünf Bits dargestellt werden kann. In diesem Fall werden fünf Verbesserungsschichten dazu verwendet, solche Reste zu codieren, eine erste Schicht, um das signifikanteste Bit zu codieren, eine zweite Schicht, um das am nächsten, signifikanteste Bit zu codieren, usw..
  • Mit einem Codier-Schema 100 werden Schichten mit höherer Qualität von zumindest einer solchen Schicht mit derselben Qualität oder einer solchen mit niedrigerer Qualität prädiziert, allerdings nicht notwendigerweise von der Grundschicht. In dem dargestellten Beispiel basiert, mit Ausnahme des Grundschicht-Codierens, die Vorhersage einiger Verbesserungsschichten in einem Vorhersage-Frame (P-Frame) auf einer nächsten, niedrigeren Schicht eines rekonstruierten Bezug-Frames. Hierbei werden die graden Frames von den geraden Schichten des vorhergehenden Frames prädiziert und die ungeraden Frames werden von den ungeraden Schichten des vorhergehenden Frames prädiziert. Zum Beispiel wird ein gerader Frame 2 von den geraden Schichten von einem vorhergehenden Frame 1 (d.h. Grundschicht 102 und zweite Schicht 106) prädiziert. Die Schichten eines ungeraden Frames 3 werden von den ungeraden Schichten eines vorhergehenden Frames 2 prädiziert (d.h. die erste Schicht 104 und die dritte Schicht 106). Die Schichten von einem geraden Frame 4 werden wieder von den geraden Schichten eines vorhergehenden Frames 3 prädiziert. Dieses alternierende Muster fährt durch das Codie ren der Video-Bitfolge hindurch fort. Zusätzlich kann die Korrelation zwischen einer niedrigeren Schicht und einer nächsten, höheren Schicht innerhalb desselben Frames auch eingesetzt werden, um eine höhere Codier-Effektivität zu erhalten.
  • Das Schema, das in 4 dargestellt ist, ist allerdings eines von vielen unterschiedlichen Codier-Schemata. Es stellt beispielhaft einen speziellen Fall in einer Klasse von Codier-Schemata dar, die allgemein durch die folgende Beziehung dargestellt ist: L mod N = i mod Mwobei L die Schicht bezeichnet, N die Schicht-Gruppen-Tiefe angibt, i den Frame bezeichnet und M eine Frame-Gruppen-Tiefe bezeichnet. Eine Schicht-Gruppen-Tiefe definiert, auf wie viele Schichten zurück zu einer gemeinsamen Bezugsschicht Bezug genommen werden kann. Eine Frame-Gruppen-Tiefe bezieht sich auf die Zahl von Frames oder die Periode, die zusammen für Vorhersagezwecke gruppiert sind.
  • Die Beziehung wird konditional zum Ändern der Bezugsschichten in dem Codier-Schema verwendet. Falls die Gleichung gültig ist, wird die Schicht basierend auf einer niedrigeren Bezugsschicht in dem vorhergehenden, rekonstruierten Frame codiert.
  • Die Beziehung für das Codier-Schema in 4 ist ein spezieller Fall, wenn sowohl die Schicht als auch die Schicht-Gruppen-Tiefen zwei sind. Demzufolge kann die Beziehung zu L mod N = i mod N modifiziert werden, da N = M gilt. In diesem Fall, wo N=M=2 gilt; ist, wenn Frame i 2 ist und die Schicht L 1 ist (d.h. erste Schicht 104), der Wert L mod N nicht gleich zu demjenigen von i mod N, so dass die nächste, niedrigere Bezugsschicht (d.h. Grundschicht 102) des rekonstruierten Bezug-Frames 1 verwendet wird. Wenn Frame i 2 ist und Schicht L 2 ist (d.h. zweite Schicht 106), entspricht Wert L mod N gleich demjenigen von i mod N, so dass eine höhere Schicht (d.h. zweite Verbesserungsschicht 106) des Bezug-Frames verwendet wird.
  • Allgemein gesagt gilt, für den Fall, wo N=M=2 gilt, diese Beziehung dahingehend, dass für die geraden Frames 2 und 4, die geraden Schichten (d.h. die Grundschicht 102 und die zweite Schicht 106) von vorhergehenden Frames 1 und 3, jeweils, als Referenz verwendet werden; dagegen werden, für ungerade Frames 3 und 5, die ungeraden Schichten (d.h. erste Schicht 104 und dritte Schicht 108) von vorhergehenden Frames 2 und 4, jeweils, als eine Referenz verwendet.
  • Die vorstehende Beschreibung eines Codierens ist noch ein spezieller Fall eines allgemeineren Falls, bei dem jeder Frame der Vorhersage-Schicht, die verwendet ist, zu fällig zugeordnet werden kann, so lange wie ein Vorhersage-Pfad von einer niedrigeren Schicht zu einer höheren Schicht über mehrere Frames beibehalten wird.
  • Das Codier-Schema fördert eine hohe Codier-Effektivität zusammen mit einer guten Fehlerbeseitigung. Das vorgeschlagene Codier-Schema ist besonders dann vorteilhaft, wenn es bei einer Video-Übertragung über das Internet und drahtlose Kanäle angewandt wird. Ein Vorteil ist derjenige, dass die codierte Bit-Datenfolge an die verfügbare Bandbreite eines Kanals ohne ein Drift-Problem angepasst werden kann.
  • 5 stellt ein Beispiel dieser Bandbreiten-Anpassungs-Eigenschaft für dasselbe Codier-Schema 100 der 4 dar. Eine unterbrochene Linie 110 führt die gesendeten Video-Schichten nach. An Frames 2 und 3 ist eine Verringerung in der Bandbreite vorhanden, wodurch die Menge an Daten, die gesendet werden können, begrenzt ist. An diesen zwei Frames lässt der Server einfach die Bits der höheren Schicht fallen (d.h. die dritte Schicht 108 wird von Frame 2 fallengelassen und die zweite und die dritte Schicht 106 und 108 werden von Frame 3 fallengelassen). Allerdings erhöht sich, nach Frame 3, die Bandbreite erneut, und der Server sendet mehr Schichten von Video-Bits. Durch Frame 5 kann der Decodierer an dem Client wieder erneut die Video-Schicht höchster Qualität erhalten.
  • Ein anderer Vorteil ist derjenige, dass höhere Video-Schichten, die nicht erfolgreich ein Senden überlebt haben, oder die einen Fehler enthalten haben können, von niedrigeren Schichten nach einer Anzahl von vorab eingestellten Frames wiederhergestellt werden können. 6 stellt ein Beispiel dar, in dem die dritte und die vierte Schicht eines Frames 3 nicht korrekt bei dem empfangenden Client empfangen sind. In diesem Fall kann die dritte Schicht 106 eines Frames 3 teilweise von der ersten Schicht 104 eines vorhergehenden Bezug-Frames 2 rekonstruiert werden, wie dies durch den unterbrochenen Pfeil dargestellt ist. Als eine Folge ist dabei kein Erfordernis nach irgendeinem erneuten Codieren oder erneuten Übertragen der Video-Bit-Datenfolge vorhanden. Alle Schichten eines Videos werden effektiv in einer einzelnen Bit-Datenfolge codiert und eingebettet.
  • Ein anderer Vorteil des Codier-Schemas ist derjenige, dass es eine sehr schöne Fehler-Resilience-Eigenschaft zeigt, wenn es dazu verwendet wird, Makroblöcke zu codieren. In fehleranfälligen Netzwerken (z.B. dem Internet, einem drahtlosen Kanal, usw.) sind ein Datenpaket-Verlust oder Fehler wahrscheinlich, dass sie auftreten, und manchmal treten sie sehr oft auf. Allerdings ist eine geschickte Wiederherstellung dieser Datenpaket-Verluste oder -Fehler ein Punkt für eine sehr aktive Untersuchung. Mit dem Layered- Coding-Schema 100 der 4 kann gezeigt werden, dass, so lange wie die Grundschicht 102 keinen Datenpaket-Verlust oder -Fehler besitzt, die Datenpaket-Verluste/Fehler in den höheren Schichten immer passend über ein paar Frames zurückgewonnen werden können, ohne irgendeine erneute Übertragung und ein Drift-Problem.
  • 7 stellt ein Beispiel dar, in dem ein Bewegungs-Vektor 120 eines Makroblocks (MB) 122 in einem Vorhersage-Frame auf einen Bezug-Makroblock 124 in einem Bezug-Frame hinweist. Der Bezug-MB 124 richtet sich nicht notwendigerweise zu der originalen MB-Grenze in dem Bezug-Frame aus. In dem schlechtesten Fall besteht der Bezug-MB 124 aus Pixeln von vier benachbarten MBs 126, 128, 130 und 132 in dem Bezug-Frame.
  • Nun wird angenommen, dass einige der vier benachbarten MBs 126132 einen Datenpaket-Verlust oder -Fehler erfahren haben, und jeder davon ist zu der maximalen, fehlerfreien Schicht rekonstruiert worden. Zum Beispiel sind MBs 126132 an Schichten M1, M2, M3, und M4, jeweils, rekonstruiert worden. Der Bezug-MB 124 ist aus Pixeln von den rekonstruierten, vier benachbarten MBs 126132 in dem Bezug-Frame an einer Schicht gleich zu dem Minimum der rekonstruierten Schichten (d.h. min (M1, M2, M3, M4)) zusammengesetzt. Als eine Folge wird der MB 122, der decodiert werden soll, in dem Vorhersage-Frame an einer maximalen Schicht gleich zu: 1 + min(M1,M2,M3,M4)decodiert.
  • Als eine Folge wird kein driftender Fehler eingeführt und ein fehlerfreier Frame wird über ein paar Frames in Abhängigkeit von der Zahl der Schichten, die durch den Codierer verwendet werden, rekonstruiert.
  • 8 stellt einen allgemeinen Layered-Coding-Prozess, ausgeführt an dem serverseitigen Codierer 80 und dem clientseitigen Codierer 98, dar. Der Vorgang kann in einer Hardware und/oder einer Software ausgeführt werden. Der Vorgang wird unter Bezugnahme auf 3 beschrieben.
  • An einem Schritt 150 codiert der Codierer 80 jeden Makroblock in einen Referenz- oder einen Intra-Frame (oder „I-Frame") in unterschiedlichen Schichten. Unter Bezugnahme auf 4 wird angenommen, dass Frame 1 ein I-Frame ist und der Codierer 80 die Grund- und drei Verbesserungsschichten 102108 bildet. An einem Schritt 152 codiert der Codierer 80 jeden prädizierten Frame (oder „P-Frame") in o unterschiedliche Schichten. Es wird angenommen, dass Frame 2 ein P-Frame ist. Der Codierer 80 codiert die Grund schicht 102 eines Frames 2 entsprechend herkömmlicher Techniken und codiert die Verbesserungsschichten 104108 eines Frames entsprechend der Beziehung L mod N = i mod M.
  • An einem Schritt 154 evaluiert der Codierer, ob dort irgendwelche weiteren P-Frames in der Gruppe von P-Frames (GOP) vorhanden sind. Falls dort welche vorhanden sind (d.h. die „ja" Verzweigung von Schritt 154 aus), wird der nächste P-Frame in derselben Art und Weise codiert. Ansonsten müssen alle P-Frames für eine Gruppe codiert werden (Schritt 156).
  • Der Vorgang fährt fort, bis alle I-Frames und P-Frames codiert worden sind, wie dies durch den Entscheidungsschritt 158 dargestellt ist. Danach kann die codierte Bitfolge in ihrem komprimierten Format in einem Video-Speicher 70 codiert werden und/oder von dem Server 74 über das Netzwerk 64 zu dem Client 66 geschickt werden (Schritt 160). Wenn geschickt ist, sendet der Server die Grundschicht innerhalb der zugeordneten Bandbreite, um eine Zuführung der Grundschicht sicherzustellen. Der Server sendet auch eine oder mehrere Verbesserungsschichten) entsprechend einer Bandbreiten-Verfügbarkeit. Wenn die Bandbreite fluktuiert, sendet der Server mehr oder weniger der Verbesserungsschichten, um die sich ändernden Netzwerk-Zustände anzupassen.
  • Der Client 66 empfängt das Senden und der Decodierer 98 decodiert den I-Frame bis zu der verfügbaren Schicht, die erfolgreich das Senden vornahm (Schritt 162). Der Decodierer 98 decodiert als nächstes jeden Makroblock in jedem P-Frame bis zu den verfügbaren Schichten (Schritt 164). Falls eine oder mehr Schichten) nicht empfangen wurden oder Fehler enthielten, versucht der Decodierer 98, die Schichten) von den unteren Schichten desselben oder vorherigen Frame(s) zu rekonstruieren (Schritt 166). Der Decodierer decodiert alle P-Frames und I-Frames in der codierten Bitfolge (Schritte 168172). An dem Schritt 174 speichert der Client die decodierte Bitfolge oder spielt sie ab.
  • Beispielhafter Video-Codierer
  • 9 stellt eine beispielhafte Ausführung eines Video-Codierers 80 dar, der durch den Server 74 verwendet wird, um die Video-Daten-Dateien vor einer Verteilung über das Netzwerk 64 zu codieren (3). Der Video-Codierer 80 ist so aufgebaut, um Daten entsprechend dem Layered-Coding-Schema, dargestellt in 4, zu codieren, wo sowohl die Schicht-Gruppen-Tiefe N als auch die Frame-Gruppen-Tiefe M gleich zu zwei sind.
  • Der Video-Codierer 80 besitzt einen Grundschicht-Codierer 82 und einen Verbesserungsschicht-Codierer 84, die durch Kästen in unterbrochener Linie angegeben sind. Er umfasst einen Frame-Separator 202, der die Video-Daten-Eingangs-Datenfolge aufnimmt und die Video-Daten in I-Frames und P-Frames separiert. Die P-Frames werden zu einer Bewegungs-Schätzeinrichtung 204 geschickt, um die Bewegung von Objekten von Stellen in dem I-Frame oder zu anderen Stellen in dem P-Frame abzuschätzen. Die Bewegungs-Schätzeinrichtung 204 nimmt auch als eine Referenz für den momentanen Eingang einen vorherigen, rekonstruierten Frame, gespeichert in dem Frame-Speicher 0, ebenso wie Bezugsschichten mit unterschiedlichen SNR- (Signal-zu-Rauschverhältnis) -Auflösungen, gespeichert in Frame-Speichern 0 bis n-1, auf.
  • Gemäß dem Codier-Schema, das vorstehend in Bezug auf 4 beschrieben ist, wird die momentane Schicht von der nächsten, niedrigeren Schicht eines rekonstruierten Frames einer vorherigen Referenz prädiziert, um die Bewegungs-Vorhersage so akkurat wie möglich zu machen. Zum Beispiel wird die Verbesserungsschicht j durch die Schicht j-1 des rekonstruierten Bezug-Frame, gespeichert in dem Frame-Speicher j-1, prädiziert. Die Bewegungs-Schätzeinrichtung 204 gibt ihre Ergebnisse zu einem Bewegungs-Kompensator 206 aus. Die Bewegungs-Schätzeinrichtung 204 und der Bewegungs-Kompensator 206 sind ausreichend bekannte Komponenten, die beim herkömmlichen MPEG-Codieren verwendet werden.
  • Bei dem Grundschicht-Codieren wird eine verschobene Frame-Differenz (displaced frame difference – DFD) zwischen dem momentanen Eingang und der Grundschicht des rekonstruierten Bezug-Frames in 8×8 Blöcke unterteilt. Ein Block k des DFD-Bilds in der Grundschicht zu einer Zeit t ist gegeben wie folgt:
  • Figure 00170001
  • Das Ergebnis Δft-1,0(k) ist eine 8×8 Matrix, dessen Element ein Rest von einer Bewegungs-Kompensation ist, f(x,y) ist das originale Bild zu einer Zeit t, und ft-1,0(k) ist eine Grundschicht des rekonstruierten Bezug-Bilds zu einer Zeit t–1. Der Vektor (Δx, Δy) ist ein Bewegungs-Vektor des Blocks k, auf ft-1,0(x,y) Bezug nehmend.
  • Die restlichen Bilder nach einer Bewegungs-Kompensation werden durch ein DCT-(diskrete Kosinus-Transformation)-Modul 208 transformiert und dann durch eine Quantisierungs-Funktion Q an einem Modul 210 transformiert. Die Bitfolge der Grundschicht wird durch Translatieren der quantisierten DCT-Koeffizienten unter Verwendung einer Tabelle (VLT) 212 variabler Länge erzeugt:
    Figure 00180001
    Die Grundschichten der Frames werden auch durch eine Dequantisierungs-Funktion Q–1 an einem Modul 214 hindurchgeführt. Dementsprechend sind die dequantisierten DCT-Koeffizienten in der Grundschicht: Rt,0(k)= Qq –1(Qq(DCT(Δft,0(k))))
  • Das Ergebnis Rt,0(k) ist eine 8×8 Matrix, deren Element ein DCT-Koeffizient von Δft,0(k) ist. Die DCT-Koeffizienten werden zu n Frame-Speicher-Stufen weiter geführt. In allen Stufen, andere als eine Grundstufe 0, werden die DCT-Koeffizienten zu Koeffizienten von dem Verbesserungsschicht-Codierer 84 hinzuaddiert. Die Koeffizienten werden dann durch Invers-DCT-(IDCT)-Module 216(0), 216(1),..., 216(n-1) geführt, und die Ergebnisse werden in Frame-Speichern 218(0), 218)(1),..., 218(n-1) gespeichert. Die Inhalte der Frame-Speicher 218 werden zurück zu der Bewegungs-Schätzeinrichtung 204 geführt.
  • Mit einem Grundschicht-Codieren sind die Reste des Blocks k in der DCT-Koeffizienten-Domäne: ΔRt,0(k) = DCT(Δft,0(k))–Rt,0(k)
  • Der Verbesserungsschicht-Codierer 84 nimmt die originalen DCT-Koeffizienten, ausgegeben von dem DCT-Modul 208, und die quantisierten DCT-Koeffizienten von dem Quantisierer-Modul 210 auf und erzeugt eine Verstärkungs-Bitfolge. Nach Heranziehen der Reste aller DCT-Koeffizienten in einem 8×8 Block, bildet das Findungs-Bezug-Modul 220 Lauflängen-Symbole, um die absoluten Werte des Rests darzustellen. Die 64 absoluten Werte des restlichen Blocks sind in einer Zick-Zack-Reihenfolge in einem eindimensionalen Feld angeordnet und in einem Speicher 222 gespeichert. Ein Modul 224 berechnet den maximalen Wert aller absoluten Werte wie folgt: m = max (ΔRt,0(k))
  • Die minimale Zahl von Bits, die benötigt wird, um den maximalen Wert min einem binären Format darzustellen, gibt die Zahl von Verbesserungsschichten für jeden Block vor. Hierbei sind n Bit-Ebenen 226(1)226(n) vorhanden, die n Verbesserungsschichten codieren, unter Verwendung eines Codierens mit variabler Länge (variable length coding-VLC).
  • Das restliche Signal des Blocks k des DFD-Bilds in der Verbesserungsschicht zu einer Zeit t ist wie folgt gegeben:
    Figure 00190001
    wobei 1 ≤ i ≤ n gilt. Das Codieren in der Verbesserungsschicht ist wie folgt:
  • Figure 00190002
  • Die in Klammer gesetzte Operation [*] ist eine modulare Arithmetik basierend auf einem Modulo-Wert von 2n-i. Nach einem Codieren der Verbesserungsschicht i sind die Reste in der DCT-Koeffizienten-Domäne:
  • Figure 00190003
  • Die Bitfolge, erzeugt in der Verbesserungsschicht i, ist:
  • Figure 00190004
  • Zu der Zeit t ist der Summenwert des DCT-Koeffizienten des Blocks k, der in der Grundschicht und in Verbesserungsschichten codiert ist:
  • Figure 00190005
  • 10 stellt einen Codier-Vorgang dar, der durch den Video-Codierer der 9 ausgeführt wird. Im Schritt 300 unterscheidet der Video-Codierer zwischen einem I-Frame und einem P-Frame. Für ein I-Frame-Codieren erzeugt der Video-Codierer die entsprechende Bitfolge und aktualisiert die verschiedenen Frame-Speicher 218(0)218(n-1). Zum Beispiel wird die Grundschicht codiert und in einem Frame-Speicher 0 gespeichert (Schritte 302 und 304). Die Verbesserungsschicht 1 wird codiert und in einem Frame-Speicher 1 gespeichert (Schritte 306 und 308). Dies fährt für alle Verbesserungsschichten 1 bis n fort, wobei die Codier-Ergebnisse der Verbesserungsschicht n-1 in dem Frame-Speicher n-1 gespeichert werden (Schritte 310, 312 und 314).
  • Für ein P-Frame-Codieren führt der Video-Codierer eine Bewegungs-Kompensations- und -Transformations-Codierung durch. Sowohl die Grundschicht als auch die erste Verbesserungsschicht verwenden die Grundschicht in dem Frame-Speicher 0 als Referenz (Schritte 320 und 322). Die Codier-Ergebnisse dieser Schichten in dem P- Frame werden auch dazu verwendet, den Frame-Speicher 0 zu aktualisieren. Die verbleibenden Verbesserungsschichten in einem P-Frame verwenden die nächste, niedrigere Schicht als eine Bezug, wie dies durch die Verbesserungsschicht 2 angezeigt ist, die codiert wird und dazu verwendet wird, den Frame-Speicher 1 zu aktualisieren (Schritt 324), und durch die Verbesserungsschicht n, die codiert wird und dazu verwendet wird, den Frame-Speicher n-1 zu aktualisieren (Schritt 326).
  • Es ist anzumerken, dass der Codierer der 9 und der entsprechende Vorgang der 10 n Frame-Speicher 218(0)218(n-1) zu Zwecken einer Beschreibung der Struktur angeben und deutlich zeigen, wie die Schichtung erreicht wird. Allerdings kann, in einer Umsetzung, die Zahl von Frame-Speichern 218 auf nahezu die Hälfte verringert werden.
  • In dem Codier-Schema der 4 werden für gerade Frames (z.B. Frames 2 und 4) nur gerade Schichten des vorherigen Frame (z.B. die 2. Schicht 106 der Frames 1 und 3) für eine Vorhersage verwendet und nicht die ungeraden Schichten. Dementsprechend muss der Codierer 80 nur die geraden Schichten des vorherigen Frames in die Frame-Speicher für eine Vorhersage speichern. Ähnlich werden, für ungerade Frames (z.B. Frames 3 und 5), die ungeraden Schichten des vorherigen Frame (z.B. 1. und 3. Schichten 102 und 108 von Frame 2 und 4) für eine Vorhersage verwendet, und nicht die geraden Schichten. Zu diesem Zeitpunkt speichert der Codierer 80 nur die ungeraden Schichten in die Frame-Speicher für eine Vorhersage. Demzufolge kann, in der Praxis, der Codierer mit n/2 Frame-Puffern ausgeführt werden, um das alternierende Codieren der höheren Verbesserungsschichten vorzunehmen. Zusätzlich setzt der Codierer einen zusätzlichen Frame-Speicher für die Grundschicht ein. Dementsprechend beträgt die gesamte Anzahl von Frame-Speichern, erforderlich dazu, das Codier-Schema der 4 auszuführen, (n+1)/2.
  • Potenzielle Codier-Ineffektivitäten aufgrund einer Vorhersage von mehreren Bezugsschichten
  • In dem PFGS-Layered-Coding-Schema, das vorstehend beschrieben ist, werden Bilder von dem originalen Bild unter Bezugnahme auf eine Grundschicht und eine Verbesserungsschicht von einem vorherigen Frame prädiziert. In 4 nehmen die Grund- und Verbesserungsschichten in Frame 2 auf die Grundschicht und die zweite Verbesserungsschicht in dem vorherigen Frame 1 Bezug. Die Grund- und Verbesserungsschichten in Frame 3 nehmen auf die Grundschicht und die erste Verbesserungsschicht in dem vorherigen Frame 2 Bezug. Da die Qualität einer Verbesserungsschicht höher als diejenige der Grundschicht ist, nimmt das PFGS-Codier-Schema eine Bewegungs-Vorhersage so akkurat wie möglich für irgendeine gegebene Video-Schicht vor, während eine Codier-Effektivität beibehalten wird.
  • Reste, die sich aus der Bild-Frame-Vorhersage ergeben, sind als die Differenz zwischen dem originalen Bild und dem prädizierten Bild definiert. Wenn die lineare DCT-Transformation verwendet wird, sind die DCT-Koeffizienten der prädizierten Reste gleich zu den Differenzen zwischen den DCT-Koeffizienten des originalen Bilds und den DCT-Koeffizienten des prädizierten Bilds. Da das Codier-Schema in 4 zwei Bezugsschichten für die Vorhersage verwendet, erzeugt das Codier-Schema zwei Sätze von prädizierten DCT-Koeffizienten: (1) einen ersten Satz von prädizierten DCT-Koeffizienten des prädizierten Bilds, das unter Bezugnahme auf eine Bezugsschicht mit niedriger Qualität gebildet ist, wie beispielsweise die Grundschicht, und (2) einen zweiten Satz von prädizierten DCT-Koeffizienten des prädizierten Bilds, das unter Bezugnahme auf eine Referenzschicht höherer Qualität gebildet ist, wie beispielsweise eine Verbesserungsschicht. Zur Vereinfachung wird der erste Satz der DCT-Koeffizienten als die Low Quality Predicted DCT (LQPD) Koeffizienten bezeichnet und der zweite Satz der DCT-Koeffizienten wird als die High Quality Predicted DCT (HQPD) Koeffizienten bezeichnet. Es ist anzumerken, dass in anderen Codier-Schemata mehr als zwei Sätze von prädizierten DCT-Koeffizienten erzeugt werden könnten.
  • Die Erwartung ist diejenige, dass die HQPD-Koeffizienten niedrigere DCT-Reste erzeugen werden, wodurch sich ein effizienteres Codieren ergibt, da die Bezugsschicht von einer höheren Qualität ist und demzufolge näher zu dem originalen Bild liegt. Während dies für eine durchschnittliche Perspektive gilt, sind individuelle DCT-Reste in den HQPD-Koeffizienten vorhanden, die sich tatsächlich im Vergleich zu DCT-Resten erhöhen, die unter Bezugnahme auf eine Schicht mit niedrigerer Qualität erzeugt sind (d.h. Reste in den LQPD-Koeffizienten). Die nicht erwünschte Erhöhung folgt aufgrund der Bewegung zwischen Frames, und aus anderen Gründen, und führt dazu, dass in einem weniger effizienten Codieren mehr Daten benötigt werden, um die Reste zu codieren.
  • Die 1117 stellen ein Beispiel dar, wie die Verwendung von Bezugnahmen höherer Qualität unerwartet hohe Reste einführen kann (im Vergleich zu Bezugnahmen niedrigerer Qualität). In diesem Beispiel werden die Daten von dem 398. Block des 3. Frame einer Sequenz, bekannt als „Coastguard", eine ausreichend bekannte MPEG Test-Sequenz, ausgewählt.
  • 11 stellt einen Satz von prädizierten DCT-Koeffizienten mit niedriger Qualität (LQPD) einer prädizierten Schicht 400 dar, die von einer Grundschicht in dem 398. Block des 3. Frame der „Coastguard" Sequenz prädiziert ist. Die prädizierte Schicht 400 enthält LQPD-Koeffizienten für ein 8×8 Feld aus Pixeln. Die LQPD-Koeffizienten werden vor einem Codieren in die Bitfolge quantisiert.
  • 12 stellt eine prädizierte Grundschicht 402 dar, die durch Quantisieren der LQPD-Koeffizienten der 11 mit einem quantisierten Schritt von sieben erzeugt ist. Die quantisierten DCT-Koeffizienten in der Schicht 402 werden in die Bitfolge einer Grundschicht unter Verwendung eines Codier-Vorgangs, wie beispielsweise eines variablen Längen-Codierens, komprimiert. Die quantisierten LQPD-Koeffizienten in der Schicht 402 werden darauf folgend dequantisiert, um zu bestimmen, wie umfangreich die Quantisierungs-Fehler sind. Die Differenz zwischen den LQPD-Koeffizienten der Schicht 400 und den entquantisierten LQPD-Koeffizienten in der Schicht 402 bilden Reste in der DCT-Domäne. Die DCT-Reste werden unter Verwendung eines Bit-Ebenen-Codierens komprimiert, um die Bitfolge der Verbesserungsschichten zu bilden. Die DCT-Reste werden in binären Zahlen dargestellt und können demzufolge als mehrere Bit-Ebene-Schichten entsprechend dem binären Wert codiert werden. Die maximale Zahl von Bit-Ebenen-Niveaus wird auf die Zahl von Bits eingestellt, die benötigt werden, um den maximalen, restlichen Wert in einem binären Format darzustellen.
  • 13 stellt fünf Verbesserungsschichten 404, 406, 408, 410 und 412 dar, die dazu verwendet werden, die DCT-Reste zu codieren, was sich aus den Differenzen zwischen den LQPD-Koeffizienten in der Schicht 400 und den dequantisierten LQPD-Koeffizienten in der Schicht 402 ergibt. In diesem Fall ist der maximale DCT-Rest 16, der durch eine binäre Zahl mit fünf Ziffern „10000" dargestellt werden kann und unter Verwendung von fünf Verbesserungsschichten 404412 codiert werden kann. Es werden die Koeffizienten an der Stelle (1,1) der 8×8 Felder betrachtet. Der LQPD-Koeffizient der Schicht 400 ist „36" und der dequantisierte LQPD-Koeffizient der Grundschicht 402 ist „35". Die Differenz ist „1" (d.h. 36–35=1), was in einem binären Wert mit fünf Ziffern als „00001" dargestellt werden kann. Dementsprechend definieren die Stellen (1,1) jeder der Verbesserungsschichten 404412 zusammen den Wert „00001".
  • Jeder DCT-Koeffizient in der Grundschicht wird mit einem Vorzeichen-Bit codiert. In den Verbesserungsschichten werden die absoluten, restlichen Werte innerhalb der mehrschichtigen Struktur codiert und deren Vorzeichen-Bits werden einmal codiert. Das Vorzeichen-Bit wird separat codiert, und demzufolge stellt die Schicht-Struktur der 13 den absoluten, restlichen Wert des DCT-Koeffizienten dar. Allgemein wird das Vorzeichen-Bit jedes restlichen Werts mit einem Bit, der signifikantesten Schicht folgend, codiert. Die binäre Zahl „1" bezeichnet Positiv und die binäre Zahl „0" bezeichnet Negativ. Zum Beispiel wird das Vorzeichen-Bit an der Stelle (3, 4) auf „0" in der 1. Verbesserungsschicht 404 codiert und das Vorzeichen-Bit an der Stelle (1, 2) wird zu „1" in der 2. Verbesserungsschicht 406 codiert.
  • Entsprechend der Schicht-Struktur in 13 codieren die niedrigen Verbesserungsschichten (z.B. die erste und die zweite Verbesserungsschicht 404 und 406) effektiv die größeren oder signifikanteren Bits der DCT-Reste. Es wird zum Beispiel der DCT-Rest entsprechend zu einer Feld-Stelle (1, 2) betrachtet, der 8 (d.h. 43–35=8) ist. Dieser Wert wird als „01000" codiert, was zu einem „1" Bit in der zweiten Verbesserungsschicht 406 führt. Ähnlich tritt ein größerer Rest an der Stelle 3, 4 auf, was ein „1" Bit in der ersten Verbesserungsschicht 404 verursacht.
  • Alle DCT-Koeffizienten, die in der Grundschicht und einer oder mehreren Verbesserungsschichten) codiert sind, werden zusammen als „codierte DCT" oder „ECD" bezeichnet. Es wird zum Beispiel angenommen, dass die erste Verbesserungsschicht 404 als eine niedrige Verbesserungsschicht codiert ist. Die ECD-Koeffizienten sind die Summe der DCT-Koeffizienten in der Grundschicht 402 und der ersten Verbesserungsschicht 404.
  • 14 stellt die codierten DCT-Koeffizienten 420 in der Grundschicht 402 und der ersten Verbesserungsschicht 404 dar. Es ist anzumerken, dass die erste Verbesserungsschicht 404 eine einzelne, binäre Zahl „1" an der Stelle (3, 4) in dem 8=8 Feld besitzt. Dieses „1" Bit ist das signifikanteste Bit in einer Zahl mit fünf Bits „1xxxx" und stellt demzufolge den Wert 16 dar. Addieren von 16 zu dem Wert „0" in der entsprechenden Stelle (3, 4) der Grundschicht 402 ergibt einen absoluten, codierten Wert von „16", wie in der codierten Schicht 420 an der Stelle (3, 4) dargestellt ist. Wiederum wird das negative Vorzeichen durch das folgende eine Bit vorgegeben. In diesem Fall ist das folgende Bit „0", was negativ anzeigt.
  • 15 stellt die DCT-Reste mit niedriger Qualität in der Schicht 430 dar, die aus den Differenzen zwischen den LQPD-Koeffizienten in der Schicht 400 (11) und den ECD-Koeffizienten in der Schicht 420 (14) abgeleitet sind. Die Reste reichen von einem maximalen, absoluten Wert von 15 an der Stelle (4,3) bis zu einem minimalen, absoluten Wert von 0.
  • 16 stellt einen beispielhaften Satz von prädizierten DCT-(HQPD)-Koeffizienten mit hoher Qualität einer prädizierten Verbesserungsschicht 440 dar, die von der zweiten Verbesserungsschicht in dem 398. Block und dem 3. Frame der „Coastguard" Sequenz prädiziert ist. Da die Verbesserungsschicht mit höherer Qualität für eine Referenz verwendet wird, wird erwartet, dass das prädizierte Bild näher zu dem originalen Bild liegt. Als eine Folge ist die Erwartung diejenige, dass die Reste, die den HQPD-Koeffizienten zugeordnet sind, kleiner als die Reste sein sollten, die den LQPD-Koeffizienten zugeordnet sind, um dadurch eine höhere Codier-Effektivität zu ermöglichen. Allerdings ist dies nicht immer der Fall.
  • 17 stellt die DCT-Reste mit hoher Qualität in einer Schicht 450 dar, die von den Differenzen zwischen den HQPD-Koeffizienten in der Schicht 430 und den ECD-Koeffizienten in der Schicht 420 abgeleitet sind. Anhand eines Vergleichens der DCT-Reste mit hoher Qualität mit dem DCT-Rest niedriger Qualität in der Schicht 430 (15) ist ersichtlich, dass die Reste sehr stark variieren. Das bedeutet, dass eine Fluktuation in den Rest-Werten vorhanden ist, verursacht durch die Verwendung von Schichten mit unterschiedlicher Qualität als Bezugnahmen. Es ist auch ersichtlich, dass nicht alle individuellen DCT-Reste mit hoher Qualität kleiner als deren Gegenstück-DCT-Reste mit niedriger Qualität sind. Zum Beispiel sind die DCT-Reste mit hoher Qualität von „29" und „10" an den Stellen (2, 1) und (1, 2) größer als die entsprechenden DCT-Reste mit niedriger Qualität von „10" und „8", jeweils. Weiterhin ist der DCT-Rest mit hoher Qualität an der Stelle (2, 1) „29", was den Codier-Bereich übersteigt, der durch die restlichen 4 Bit-Ebenen zugelassen ist, da die Verbesserungsschicht 1 bereits als ein Teil der Bitfolge gebildet ist. In diesem Fall wird die Codier-Effektivität schnell aufgrund eines schlechten Erfolgs abnehmen, da ein gutes Verfahren zu einem Überschreiten der Zahl von verfügbaren Bit-Ebenen führt. Während das durchschnittliche Quadrat der DCT-Koeffizienten mit hoher Qualität kleiner als das durchschnittliche Quadrat der DCT-Koeffizienten mit niedriger Qualität ist, verbleiben einige individuelle DCT-Reste, die aufgrund einer Verwendung von Schichten mit unterschiedlicher Qualität als Bezugnahmen fluktuieren.
  • Fortschrittliches, prädiziertes Bit-Ebenen-Codieren um Codier-Effektivitäten zu verbessern
  • Das Video-Verteilungssystem 60 (2) ist so aufgebaut, um effektiv die Fluktuation, verursacht unter Verwendung von mehreren Vorhersage-Bezugnahmen unterschiedlicher Qualität, zu beseitigen. Idealerweise sollten, um diese Fluktuation zu beseitigen, die HQPD-Koeffizienten in der Grundschicht und den niedrigen Verbesserungsschichten codiert werden. Allerdings werden, in der Praxis, nur die LQPD-Koeffizienten tatsächlich in der Grundschicht und den niedrigen Verbesserungsschichten codiert. Dementsprechend werden, um effektiv die Fluktuation in den Resten zu beseitigen, die HQPD-Koeffizienten aus den DCT-Koeffizienten, codiert in der Grundschicht und der Verbesserungsschicht, prädiziert.
  • Dementsprechend ist der Video-Codierer 80 so aufgebaut, um die HQPD-Koeffizienten aus den DCT-Koeffizienten von zwei Bezugsschichten und den codierten DCT-(ECD)-Koeffizienten vorherzusagen. Obwohl die HQPD-Koeffizienten nicht ausdrücklich in dem Decodierer 98 verfügbar sind, sind die DCT-Koeffizienten der Bezugsschichten und die codierten DCT-Koeffizienten sowohl in dem Codierer als auch in dem Decodierer verfügbar. Wie in 3 dargestellt ist, sind der Codierer 80 und der Decodierer 98 mit fortschrittlichen Vorhersage-Bit-Ebenen-Codierern (advance prediction bit-plane coder – ABPIC) 86 und 99, jeweils, ausgestattet, die die Vorhersage der HQPD-Koeffizienten für das Bit-Ebenen-Codieren durchführen.
  • Die nachfolgende Diskussion gibt 2 mögliche Verfahren zum Vorhersagen von Koeffizienten an, die dazu verwendet werden können, Fluktuationen in den Resten zu minimieren oder zu beseitigen. Das erste Verfahren ist in der Lage, ein rekonstruiertes Bild ohne Verlust wieder zurückzugewinnen. Das zweite Verfahren wird einen bestimmten, kleinen Fehler bei den rekonstruierten Bildern in allen Schichten mit sich bringen, ist allerdings sehr für eine Realzeit-Anwendung aufgrund einer geringen, rechenmäßigen Komplexität geeignet.
  • A. Vorhersage-Verfahren 1
  • Um zu zeigen, wie die HQPD-Koeffizienten prädiziert werden, werden zuerst die LQPD-Koeffizienten betrachtet, die wie folgt ausgedrückt werden können: LQPD = DCT0 – DCT (1)wobei DCT0 die DCT-Koeffizienten des originalen Bilds darstellt und DCT die DCT-Koeffizienten des prädizierten Bilds einer vorherigen Grundschicht nach einer Bewegungs-Kompensation bezeichnet. Die rekonstruierten DCT-Koeffizienten, codiert in der Grundschicht und der niedrigen Verbesserungsschicht, können beschrieben werden als: ECD = ⌈⌊LQPD⌋QQ –1 (2)Die modulare Funktion ⌊*⌋Q bezeichnet eine komplexe Quantisierung, die die skalare Quantisierung in der Grundschicht und die Bit-Ebenen-Quantisierung in der niedrigen Verbesserungsschicht umfasst. Die modulare Funktion ⌈*⌉Q –1 bezeichnet eine inverse Quantisierung in Bezug auf die komplexe Quantisierung. Der Wert Q ist nicht nur der quantisierte Schritt in einer skalaren Quantisierung, sondern bezeichnet quantisierte Parameter einschließlich einer skalaren Quantisierung und einer Bit-Ebenen-Quantisierung.
  • Die HQPD-Koeffizienten werden wie folgt dargestellt: HQPD = DCT0 – DCTh (3)wobei DCTh die DCT-Koeffizienten des prädizierten Bilds einer vorherigen Verbesserungsschicht nach einer Bewegungs-Kompensation bezeichnet.
  • Um die Rest-Fluktuation zwischen Vorhersage mit niedriger und hoher Qualität zu beseitigen, sagt das Codier-Schema eine ECD-Wert, EĈD, voraus, der den HQPD-Koeffizienten entspricht. EĈD = |⌊HQPD⌋Q|j–1 (4)
  • Unter integrieren der Gleichungen (1), (2) und (3) in (4) wird ein prädizierter ECD-Wert wie folgt erhalten: EĈD = ⌈⌊DCT0 – DCThQQ –1 = ⌈⌊DCT0 – DCT1 + (DCT1 – DCTh)⌋QQ –1 = ⌈⌊ECD + (LQPD – ECD) + (DCT1 – DCTh)⌋QQ –1 = ⌈⌊{ECD + (DCT1 – DCTh)} + {(LQPD – ECD}⌋QQ –1 (5)
  • Nach Gleichung (5) besteht der prädizierte Wert ECD aus zwei Teilen. Der erste Term umfasst den codierten DCT-Wert ECD und die DCT-Koeffizienten von zwei prädi zierten Bildern DCT1 und DCTh. Die Elemente in diesem ersten Term sind an sowohl dem Codierer 80 als auch dem Decodierer 98 verfügbar.
  • Das zweite Element ist ein quantisierter Fehler entsprechend zu den LQPD-Koeffizienten, die in den hohen Verbesserungsschichten codiert sein werden. Dieses zweite Element ist nicht für den Decodierer 98 verfügbar. Allerdings kann seine Wahrscheinlichkeits-Dichte-Verteilung dazu verwendet werden, ECD vorherzusagen. Zwei mögliche Verteilungen, die verwendet werden können, sind die Laplace'sche Verteilung und die generalisierte Gauss-Dichte-(GGD)-Verteilung. Für die Laplace'sche Verteilung beschreibt ein Artikel von R.C.Reininger und J.D.Gibson, mit dem Titel „Distribution of the two-dimensional DCT coefficients for images", IEEE trans. Comm. Vol 31, 835–839, (1983), die Verwendung von Kolmogrov-Smirnov Tests, um zu zeigen, dass die meisten DCT-Koeffizienten von Bildern ausreichend gut als Laplace'sche Verteilungen modelliert werden. GGD wird in einem Artikel von F.Muller, mit dem Titel „Distribution shape of two-dimensional DCT coefficients of natural image", Electron.Letter, Vol 29,1935–1936, (1993), wo der Autor zeigt, dass ein Modellieren der DCT-Koeffizienten von Bildern mit der GGD-Funktion zu einer wesentlich kleineren Test-Statistik χ2, verglichen mit Laplace, führt, beschreiben.
  • Die GGD-Verteilung ist bevorzugter, da die DCT-Koeffizienten eines Interframe mit Null-Durchschnitts-GDD modelliert werden können. Es wird daran erinnert, dass die generalisierte Gauß'sche Verteilungs-Funktion gegeben ist als:
  • Figure 00270001
  • Hierbei ist σx die Standard-Abweichung und ν ist ein Form-Parameter. Für eine Gauß'sche Dichte ist der Form-Parameter zwei (d.h. ν=2,0), während, für eine Laplace-Verteilung, der Form-Parameter eins ist (d.h. ν=1,0). Eine GGD-Quelle für einen Satz von Beispielen kann schnell und akkurat unter Verwendung von abgeleiteten Parametern modelliert werden. Diese Flexibilität des Form-Parameters ν in der GGD-Form ermöglicht die effiziente Erfassung von diversen, statistischen Charakteristika der DCT-Koeffizienten.
  • Die Formel (5) kann als die Summe des Zeichens X mit einer GGD-Verteilung und einem Rauschen ε mit einer Gauß'schen Verteilung umgeschrieben werden: Y = X + ε (7)wobei X = ECT + DCT1 – DCTh und ε = LQPD – ECD
  • Da das Rauschen ε eine unbekannte Variable für den Decodierer ist, ist das präzise Y nicht an dem Decodierer verfügbar. Der prädizierte Wert EĈD wird aus einer optimalen Quantisierung Y mit dessen statistischen, verteilten Eigenschaften, umfassend Schritte von Null-Kasten und Nicht-Null-Kasten, abgeleitet. Ein Punkt befasst sich damit, wie die Schritte von Null-Kasten und Nicht-Null-Kasten zu berechnen sind. Y = ⌊Y⌋θ (8)wobei θ der optimale, quantisierte Parameter ist.
  • Die optimalen Quantisierungs-Kästen sind solche, die bewirken, dass die folgenden Störungs-Kriterien minimiert werden können.
  • Figure 00280001
  • Der Parameter σ bezeichnet die Standard-Varianz des Zeichens ε. Aufgrund der generalisierten Gauß'schen Verteilung von X ergibt eine Methodologie, beschrieben in dem Artikel von S.Grace Chang, Bin Yu und Martin Vetterli, mit dem Titel „Lossy Compression and Wavelet Thresholding for Image Denoising", der an IEEE Transactions on Image Processing geschickt wurde und dessen Veröffentlichung verfügbar ist, einen nahezu optimalen Schwellwert wie folgt:
  • Figure 00280002
  • Der Schritt eines Null-Kastens gleicht zweimal T(ν, σX). Ein quantisiertes Y ist nicht Null, falls es größer als T ist; ansonsten wird es auf Null gesetzt. Der Parameter σ kann aus dem Zeichen ε abgeschätzt werden. Der Parameter σx und ν kann aus dem Zeichen X entsprechend einer Methodologie abgeschätzt werden, die in einem Artikel von R.L.Joshi und T.R. Fischer, mit dem Titel „Comparison of generalized Gaussian and Laplacian mo deling in DCT image coding", IEEE signal processing letters, Vol 2, no 5, 81–82, (1995), beschrieben ist:
  • Figure 00290001
  • Das Zeichen X ist sowohl in dem Codierer 80 als auch in dem Decodierer 98 verfügbar. Der Parameter σx und ν kann deshalb in dem Decodierer 98 unter Verwendung derselben Methodologie berechnet werden, im Gegensatz dazu, ihn als Teil der Bitfolge zu senden. Obwohl der Parameter σ nicht in dem Decodierer 98 abgeschätzt werden kann, kann ein bestimmter Wert in Bezug auf jede Schicht empirisch abgeleitet werden.
  • Der Nicht-Null-Kasten kann durch Quantisieren von GGD-Zufalls-Variablen mit einem gleichförmigen Schwellwert-Quantisierer bestimmt werden. 18 stellt einen beispielhaften, gleichförmigen Schwellwert-Quantisierer 480 dar, eine Mitte, die den rekonstruierten Pegel und die Nicht-Null-Kästen mit k Pegeln von gleichen Intervallen von Δ an jeder Seite der Mitte darstellt. Der rekonstruierte Wert von r1 mit Grenzen b1-1 und b1 ist:
  • Figure 00290002
  • Der prädizierte Wert EĈD gleicht der Quantisierung von Y ^, oder: EĈD = |Y ^|0 –1 = ⌈⌊Y⌋θθ –1 (12)
  • Der Parameter θ ist T für einen Null-Kasten; ansonsten ist er gleich zu b1 für Nicht-Null-Kästen. Der vorstehende Vorgang kann zu einem optimalen, prädizierten Wert ECD in einem statistischen Sinne führen, der effizient die Fluktuation beseitigen kann. Die DCT- Koeffizienten, codiert in hohen Verbesserungsschichten, sind die Differenzen zwischen HQPD und dem prädizierten Wert ECD.
  • In einem speziellen Fall werden DCT-Reste noch als geringe Wahrscheinlichkeits-Ereignisse fluktuieren. Zum Beispiel kann X=ECT + DCT1 – DCTh ein Wert sein, der kleiner als der Schwellwert T ist, allerdings könnte der Wert LQPD – ECD noch nahezu dem maximalen Wert, präsentiert als restliche Bit-Ebenen, vorhanden sein. In solchen Fällen kann die Summe den maximalen Wert durch restliche Bit-Ebenen übersteigen. Es wird angenommen, dass X gleich zu 3 ist, dass der prädizierte Wert EĈD Null ist, da er kleiner als der Schwellwert θ ist. Falls LQPD – ECD gleich zu 15 ist, entspricht die Summe 18, was den Codier-Bereich 15, der durch vier restliche Bit-Ebenen zugelassen ist, übersteigt. Die Lösung für diesen Fall ist diejenige, LQPD – ECD vorwärts zu der niedrigen Verbesserungsschicht hin zu quantisieren.
  • Für dieses Beispiel hier kann ein Wert LQPD – ECD von 15 in einer binären Zahl mit fünf Ziffern als „01111" dargestellt werden und das signifikanteste Bit ist in der Verbesserungsschicht 406 vorhanden. Der Wert LQPD – ECD wird als 16 quantisiert und sein Rest ist „–1". Nun bewegt das signifikanteste Bit des Werts LQPD – ECD die Verbesserungsschicht 404 nach vorne. Dies bedeutet, dass in der ersten Verbesserungsschicht der Wert 16 codiert wird und in der letzten Verbesserungsschicht der Wert –1 codiert wird. Als Folge werden zwei Vorzeichen-Bits codiert, um die Fluktuation zu vermeiden, die den maximalen Bereich übersteigt. Wie vorstehend diskutiert ist, wird das Vorzeichen-Bit codiert, dem MSB folgend. Falls zwei Vorzeichen-Bits existieren, wird das erste Vorzeichen-Bit in der niedrigen Verbesserungsschicht codier und das zweite Vorzeichen-Bit wird in der Schicht codiert, die Bezugnahmen modifiziert.
  • Die zwei Vorzeichen-Bits können mit einer hohen Effektivität mit zwei früheren Zuständen codiert werden. Zuerst erscheint das zweite Vorzeichen-Bit nur in den Koeffizienten, in denen das MSB in der niedrigen Verbesserungsschicht codiert ist. Als zweites ist das zweite Vorzeichen identisch zu dem ersten Vorzeichen in den meisten Fällen, da die Fluktuation, die den maximalen Bereich übersteigt, ein Ereignis mit einer geringen Wahrscheinlichkeit ist.
  • Der prädizierte Vorgang ist wie folgt dargestellt:
    • (1) Einstellung DCTth = DCTt – DCTh ΔDCT = ECD + (DCTt – DCTh) Schwellwert: Th = 2k+1, k ist eine Index-Schicht, wo sich eine Referenz ändert. Q ist ein skalar-quantisierter Parameter der Grundschicht Optimaler Vorhersage-Parameter: q = θ
    • (2) Vorhersage
      Figure 00310001
    • 3) Falls HQPD – EĈD den maximalen Bereich übersteigt: Einstellen des ECD, dann gehe zu (2).
  • B. Vorhersage-Verfahren 2
  • Das zweite Verfahren, basierend auf ein im voraus prädiziertes Bit-Ebenen-Codieren, ist dasjenige, dass die Grundschicht den DCT-Koeffizienten in Bezug auf skalarquantisierte LQPD codiert. Alle Verbesserungsschichten codieren Differenzen zwischen den HQPD-Koeffizienten und den dequantisierten LQPD-Koeffizienten. Es ist anzumerken, dass der Unterschied dieses Verfahrens die DCT-Koeffizienten, codiert in den niedrigen Verbesserungsschichten, ist, abgeleitet von den HQPD-Koeffzienten, im Gegensatz zu den LQPD-Koeffizienten. Diese Lösung ist kostengünstig im Hinblick auf die Berechnungs-Komplexität, da die teuren Vorhersage-Vorgänge während eines Modifzierens von Bezugnahmen vermieden werden können. Gleichzeitig wird ein bestimmter Fehler zu niedrigen Verbesserungsschichten resultieren. In niedrigen Verbesserungsschichten ersetzt die Differenz zwischen den HQPD-Koeffizienten und den dequantisierten LQPD-Koeffizienten die Differenz zwischen den LQPD-Koeffizienten und den dequantisierten LQPD-Koeffizienten, um codiert und gesendet zu werden. Dieses Ersetzen wird einen kleinen Fehler einführen.
  • Obwohl ein bestimmter, kleiner Fehler in der niedrigen Verbesserungsschicht erscheinen wird, ist es von Vorteil, dass dabei kein Fehler in der Grundschicht vorhanden ist. Als eine Folge wird der kleine Fehler in den niedrigen Verbesserungsschichten nur innerhalb eines oder von zwei Frame(s) aufgrund der ausgezeichneten Eigenschaften in der Fehlerbeseitigung von PFGS propagieren. Zum Beispiel wird ein bestimmter Fehler in der Verbesserungsschicht 104 von Frame 2 in 4 nur alle Verbesserungsschichten von Frame 3 und der Verbesserungsschicht 106 und 108 von Frame 4 beeinflussen. Diese Lösung ist sehr praktikabel für Realzeit-Anwendungen aufgrund der geringen Kosten in der Berechnungs-Komplexität.
  • Beispielhafte Codierer mit einem im voraus prädizierten Bit-Ebenen-Codieren
  • 19 stellt eine beispielhafte Ausführungsform eines Video-Codierers dar, der durch einen Server 74 ausgeführt werden kann, um Video-Daten-Dateien vor einer Verteilung über das Netzwerk 64, wie dies durch einen Codierer 80 in 3 dargestellt ist, zu codieren. In 19 ist der Video-Codierer allgemein mit dem Bezugszeichen 80' bezeichnet, um ihn von dem Codierer 80 der 9 zu unterscheiden. Ähnlich dem Codierer 80 der 9 ist der Video-Codierer 80' so aufgebaut, um Video-Daten entsprechend einem PFGS-Layered-Coding-Schema zu codieren. Allerdings sagt, im Gegensatz zu dem Codierer 80, der Video-Codierer 80' die HQPD-Koeffizienten voraus und codiert Reste hoher Qualität basierend auf den HQPD-Koeffizienten, um restliche Fluktuationen zu entfernen oder zu verringern, um dadurch eine Codier-Effektivität zu verbessern.
  • Der Video-Codierer 80' ist so ausgelegt, um mehrere Bezugsschichten für eine Bild-Vorhersage zu verwenden; insbesondere die dargestellten Architektur-Ausführungen des PFGS-Layered-Coding-Schema der 4, in dem zwei rekonstruierte Schichten für eine Referenz verwendet werden. Der Video-Codierer 80' setzt zwei Frame-Puffer 502 und 504 ein, die eine gute Abwägung zwischen einer Codier-Effektivität und den zusätzlichen Kosten für Speicher und die Berechnungs-Komplexität bieten. Ein erster Frame-Puffer 502 wird dazu verwendet, die rekonstruierte Grundschicht als eine Referenz für die Grundschicht und die niedrigen Verbesserungsschichten eines prädizierten Frame zu sichern. Ein zweiter Frame-Puffer 504 wird dazu verwendet, eine rekonstruierte Verbesserungs schicht in einem vorherigen Frame als eine Referenz für Verbesserungsschichten höherer Qualität zu sichern.
  • Der Video-Codierer 80' besitzt einen Grundschicht-Codierer 506, der die Grundschichten in eine codierte Bitfolge codiert, und zwei Verbesserungsschicht-Codiererer 508 und 509, die eine oder mehrere Verbesserungsschichten) in die codierte Bitfolge codieren. Der Video-Codierer besitzt auch einen Bit-Ebenen-Codierer für eine Vorhersage im voraus (advance prediction bit-plane coder – APBIC) 510, der den ersten Term des prädizierten, codierten Werts EĈD erzeugt, angegeben in Gleichung (5). Der prädizierte, codierte Wert EĈD liefert eine gute Vorhersage der HQPD-Koeffizienten.
  • Der Video-Codierer 80' empfängt eine Video-Daten-Eingangs-Folge und richtet die ankommenden Bild-Frames zu einer Bewegungs-Abschätzeinrichtung 204, um eine Bewegung von Objekten in dem Frame abzuschätzen. Die Bewegungs-Abschätzeinrichtung 204 nimmt als Referenz für den momentanen Eingang einen vorherigen, rekonstruierten Frame, gespeichert in dem Frame-Puffer 502, auf. Die Bewegungs-Abschätzeinrichtung 204 gibt ihre Ergebnisse an zwei Bewegungs-Kompensatoren 206 und 207 aus, die wiederum prädizierte Bilder erzeugen. Der erste Bewegungs-Kompensator 206 sagt Bilder unter Bezugnahme auf die rekonstruierte Grundschicht in dem Frame-Puffer 502 voraus. Der zweite Bewegungs-Kompensator 207 sagt Bilder unter Bezugnahme auf eine rekonstruierte Verbesserungsschicht in dem Frame-Puffer 504 voraus. Obwohl zwei Kompensatoren dargestellt sind, können sie als eine einzelne Komponente integriert sein. Die Bewegungs-Abschätzeinrichtung 204 und die Bewegungs-Kompensatoren 206, 207 sind ausreichend bekannte Komponenten, verwendet in einem herkömmlichen MPEG-Codieren.
  • Die Unterschiede zwischen den Grundschichten mit niedriger Qualität des prädizierten Bilds und dem originalen Bild werden an einem Summierpunkt 520 berechnet. Die Differenzen werden unter Verwendung einer linearen, diskreten Kosinus-Transformation (DCT) 522 transformiert, um die Reste der prädizierten DCT mit niedriger Qualität (LQPD), die sich aus einer Bewegungs-Kompensation ergeben, wie dies vorstehend durch Gleichung (1) beschrieben ist, zu erzeugen. Die LQPD-Koeffizienten werden durch einen Quantisierer (d.h. das „Q" Modul) 524 quantisiert und durch den Codierer mit variabler Länge (VLC) 526 in die Bitfolge der Grundschicht komprimiert.
  • Die quantisierten LQPD-Koeffizienten, ausgegeben durch den Quantisierer 524, werden auch durch den Dequantisierer (d.h. das „Q–1 Modul) 528 dequantisiert. Die dequantisierten LQPD-Koeffizienten werden durch eine inverse DCT (IDCT) 530 geführt, um die Grundschicht zu rekonstruieren. Die rekonstruierte Grundschicht wird in dem Frame-Puffer 502 gespeichert.
  • Der Verbesserungsschicht-Codierer 508 empfängt die LQPD-Koeffizienten (z.B. Koeffizienten in der Schicht 400) und die dequantisierten LQPD-Koeffizienten (z.B. die Koeffizienten in der Schicht 402) von dem Grundschicht-Codierer 506. Die Differenzen zwischen diesen Koeffizienten werden an einem Summierpunkt 540 berechnet, um die DCT-Reste zu bilden, die unter Verwendung einer Bit-Ebenen-Codierung in die Bitfolge der Verbesserungsschichten codiert werden können, wie dies in 13 dargestellt ist. Das „finde max" Modul 542 berechnet den maximalen Wert aller absoluten Werte in den DCT-Resten, um die Zahl von Bit-Ebenen, benötigt dazu, die Reste darzustellen, zu bestimmen. Die DCT-Reste werden dann in mehrere Bit-Ebenen durch einen Bit-Ebenen-Codierer 544 codiert und dann durch den Codierer mit variabler Länge (VLC) 546 in die Bitfolge der Verbesserungsschicht komprimiert. Obwohl mehrere VLCs dargestellt sind, ist anzumerken, dass ein gemeinsamer VLC für die gesamte Kompression, die in Bezug auf die Grundschicht- und Verbesserungsschicht-Daten durchgeführt werden sollen, verwendet werden kann.
  • Ein Summierpunkt 550 summiert die DCT-Reste, enthalten in einer oder in mehreren Bit-Ebenen, als Ausgang von dem Bit-Ebenen-Codierer 544, und die dequantisierten LQPD-Koeffizienten von dem Grundschicht-Codierer 506. Dies ist im Wesentlichen der Vorgang, der in 14 dargestellt ist, wo die dequantisierten DCT-Koeffizienten der Grundschicht 402 zu der ersten Verbesserungsschicht 404 hinzugefügt werden, um codierte DCT-(ECD)-Koeffizienten 420 zu erzeugen. Eine inverse DCT 552 berechnet eine inverse Transformation in Bezug auf die ECD-Koeffizienten, um eine Verbesserungsschicht zu rekonstruieren. Die rekonstruierte Verbesserungsschicht wird an einem Summierpunkt 554 mit entweder einer prädizierten Grundschicht von dem Bewegungs-Kompensator 206 oder einer prädizierten Verbesserungsschicht von dem Bewegungs-Kompensator 207, in Abhängigkeit von der Position des Schalters 556, aufsummiert.
  • Die Differenzen zwischen den Verbesserungsschichten mit hoher Qualität des prädizierten Bilds und des originalen Bilds werden an dem Summierpunkt 560 berechnet. Die Differenzen werden unter Verwendung einer DCT-Transformation 562 transformiert, um die Reste der prädizierten DCT mit hoher Qualität (HQPD), die sich aus der Bewegungs-Kompensation ergeben, zu erzeugen, wie dies vorstehend durch Gleichung (3) beschrieben ist. Die HQPD-Koeffizienten werden zu einem Summierpunkt 564 eingegeben.
  • Der Bit-Ebenen-Codierer 510 für eine Vorhersage im voraus empfängt die Grundschicht von dem Bewegungs-Kompensator 206, die Verbesserungsschicht von dem Bewegungs-Kompensator 207 und die ECD-Koeffizienten von dem Summierpunkt 550. DCT-Module 570 und 572 transformieren die Grundschicht und die Verbesserungsschichten, um DCT-Koeffizienten zu erzeugen, die dann zusammen mit den ECD-Koeffizienten zu dem Vorhersage-Modul 574 eingegeben werden.
  • Das Vorhersage-Modul 574 berechnet den ersten Term des prädizierten Werts EĈD in Gleichung (5), der die ECD-Koeffizienten und die DCT-Koeffizienten von zwei prädizierten Bildern DCTl und DCTh umfasst. Der Ausgang von dem Vorhersage-Modul 574 sind die prädizierten HQPD-Koeffizienten.
  • Der Summierpunkt 564 berechnet Differenzen zwischen den HQPD-Koeffizienten und den ersten Termen des prädizierten Werts EĈD, um einen Satz von DCT-Resten mit hoher Qualität zu erzeugen. Dies ist im Wesentlichen der Vorgang, dargestellt in 17, mit der Ausnahme, dass die codierte DCT-Schicht prädizierte EĈD-Koeffizienten enthält. Die DCT-Reste mit hoher Qualität, ausgegeben durch den Summierpunkt 564, zeigen kleinere Reste und eine wesentlich geringere Fluktuation.
  • Ein „finde max" Modul 580 berechnet den maximalen Wert aller absoluten Werte in den DCT-Resten mit hoher Qualität, um die Zahl von Bit-Ebenen, benötigt, um die Reste darzustellen, zu bestimmen. Die Hoch-Qualität-DCT-Reste werden dann in mehrere Bit-Ebenen durch einen Bit-Ebenen-Codierer 582 codiert und durch den Variable-Länge-Codierer (VLC) 584 in die Bitfolge der Verbesserungsschichten komprimiert.
  • 20 stellt den Komplementär-Video-Decodierer 98' dar, der durch den Client 66 ausgeführt werden kann, um die Video-Daten-Dateien, empfangen über das Netzwerk 64 (3), zu decodieren. Der Decodierer 98' besitzt einen Bit-Schicht-Decodierer 602, der die Bitfolge für die Grundschichten decodiert, und zwei Verbesserungsschicht-Decodierer 604 und 606, die die Bitfolge decodieren, um die Verbesserungsschichten wiederherzustellen. Der Decodierer 98' besitzt auch einen Voraus-Vorhersage-Bit-Ebenen-Codierer (APBIC) 610, der im Wesentlichen identisch zu dem codiererseitigen APBIC 510 in 19 ist.
  • Ein Modul 620 eines Decodierers mit variabler Länge (VLD) decodiert die Bitfolge für die Grundschicht, um die quantisierten LQPD-Koeffizienten wiederherzustellen. Bewegungs-Vektoren (MVs) von dem Decodieren werden zu Bewegungs-Kompensatoren 622 und 624 hindurchgeführt. Diese Koeffizienten werden durch einen Dequantisierer (d.h. das „Q–1 Modul) 626 dequantisiert und werden dann durch eine inverse DCT-(IDCT)-Transformation 628 hindurchgeführt, um die Grundschicht zu rekonstruieren. Die rekonstruierte Grundschicht wird über einen Summierpunkt 630 mit einer prädizierten Grundschicht von dem Bewegungs-Kompensator 622 aufsummiert, durch ein Beschneidungs-Modul 632 beschnitten und ausgegeben. Die rekonstruierte Grundschicht wird auch in dem Frame-Puffer 634 gespeichert.
  • Eine kombinierter VLD und ein Bit-Ebenen-Decodierer-Modul 640 decodiert die Bitfolge, die die DCT-Reste niedriger Qualität führen. Die zurückgewonnenen DCT-Koeffizienten werden über den Summierpunkt 646 mit den dequantisierten LQPD-Koeffizienten von dem Grundschicht-Decodierer 602 aufsummiert, um die codierten DCT-(ECD)-Koeffizienten zu reproduzieren. Die ECD-Koeffizienten werden zu einem IDCT-Umformer 644 geführt, um die Verbesserungsschicht zu rekonstruieren. Die rekonstruierte Verbesserungsschicht wird über einen Summierpunkt 646 mit entweder einer prädizierten Grundschicht von dem Bewegungs-Kompensator 622 oder einer prädizierten Verbesserungsschicht von dem Bewegungs-Kompensator 624 aufsummiert, und zwar in Abhängigkeit von der Position des Schalters 648. Die kompensierte Verbesserungsschicht wird durch das Beschneidungs-Modul 650 beschnitten und ausgegeben. Die rekonstruierte Verbesserungsschicht wird auch in dem Frame-Puffer 652 gespeichert.
  • Der Vorhersage-Bit-Ebenen-Codierer 610 nimmt die Grundschicht von dem Bewegungs-Kompensator 622, die Verbesserungsschicht von dem Bewegungs-Kompensator 624 und die ECD-Koeffizienten von dem Summierpunkt 642 auf. DCT-Module 660 und 662 transformieren die Grundschicht und die Verbesserungsschichten, um DCT-Koeffizienten zu erzeugen, die dann zusammen mit den ECD-Koeffizienten zu dem Vorhersage-Modul 664 eingegeben werden. Das Vorhersage-Modul 664 berechnet den ersten Term des prädizierten Werts ECD in Gleichung (5), der die ECD-Koeffizienten und die DCT-Koeffizienten von zwei prädizierten Bildern DCTl und DCTh umfasst.
  • Ein kombiniertes VLD- und Bit-Ebenen-Decodierer-Modul 670 decodiert die Bitfolge, die die DCT-Reste der höheren Qualität führt. Der Summierpunkt 672 summiert die DCT-Reste mit hoher Qualität und die ersten Terme des prädizierten Werts ECD, um die HQPD-Koeffizienten zu erzeugen. Ein Transformator 664 für eine inverse DCT rekonstruiert die Verbesserungsschicht von den HQPD-Koeffizienten. Die rekonstruierte Verbesserungsschicht wird dann durch den Ausgang des Bewegungs-Kompensators 624 an dem Summierpunkt 676 kompensiert und wird dann durch das Beschneidungs-Modul 678 beschnitten.
  • 21 stellt einen anderen, beispielhaften Video-Codierer 80" dar, der auf dem Codier-Schema für eine im voraus prädizierte Bit-Ebene basiert, allerdings eine vereinfachte Version des Codierers 80' der 19 ist. Im Gegensatz zu dem Codierer 80' nämlich ist der Video-Codierer 80" in der 21 so modifiziert, dass die DCT-Reste, codiert in der Verbesserungsschicht, die Differenzen zwischen den HQPD-Koeffizienten und den rekonstruierten DCT-Koeffizienten der Grundschicht angleichen. Alle Verbesserungsschichten codieren die Reste zwischen den HQPD-Koeffizienten und den dequantisierten Koeffizienten in der Grundschicht. Als eine Folge wird keine Vorhersage verwendet. Dieser Codierer 80" ist deshalb eine kostengünstige Lösung im Hinblick auf die Rechen-Komplexität, da teure Vorhersage-Operationen entfernt werden.
  • Allerdings ist derselbe Fehler in den Verbesserungsschichten vorhanden. In niedrigen Verbesserungsschichten wird die Differenz zwischen den HQPD-Koeffizienten und den ECD-Koeffizienten, im Gegensatz zu der Differenz zwischen den LQPD- und ECD-Koeffizienten, einen bestimmten Fehler während eines Codierens einführen. Glücklicherweise ist der Fehler enthalten, da kein Fehler in der Grundschicht vorhanden ist. Der Fehler in den Verbesserungsschichten wird nur innerhalb eines oder von zwei Frame(s) propagieren, und zwar aufgrund der ausgezeichneten Eigenschaften bei der Fehlerbeseitigung von PFGS. Die zweite Lösung ist gut anwendbar bei Realzeit-Anwendungen aufgrund der niedrigen Kosten in der Berechnungs-Komplexität.
  • 22 stellt den Komplementär-Video-Decodierer 98" dar, der dem Video-Codierer 80" der 21 entspricht.
  • Beispielhafter Codier-Vorgang
  • 23 stellt einen beispielhaften Video-Codier-Vorgang, ausgeführt durch die Video-Codierer 80' und 80" der 19 und 21, jeweils, dar. Der Video-Codier-Vorgang kann in einer Hardware, einer Software, oder einer Kombination einer Hardware und einer Software, umgesetzt werden. Der Vorgang wird unter zusätzlicher Bezugnahme auf die Codierer der 19 und 21 beschrieben.
  • Der Vorgang kann allgemein als die kombinierten Operationen des Grundschicht-Codierers 506, des Codierers 508 der Verbesserungsschicht mit niedriger Qualität und des Codierers 509 der Verbesserungsschicht mit hoher Qualität beschrieben werden. Am Schritt 700 codiert der Grundschicht-Codierer 506 eine Bitfolge, die eine Grundschicht darstellt. Am Schritt 702 codiert der Codierer 508 für die Verbesserungsschicht mit niedriger Qualität eine Bitfolge, die eine Verbesserungsschicht mit niedriger Qualität darstellt. Dies wird durch Codieren von Resten niedriger Qualität durchgeführt, die aus der Vorhersage mit niedriger Qualität von in der Bewegung kompensierten Bildern resultieren. Am Schritt 704 codiert der Codierer 509 der Verbesserungsschicht mit hoher Qualität eine Bitfolge, die eine Verbesserungsschicht mit hoher Qualität darstellt, basierend teilweise auf Werten, die von der Grundschicht und der Verbesserungsschicht mit niedriger Qualität prädiziert sind. Dies kann durch Codieren prädizierter Reste mit hoher Qualität durchgeführt werden, die teilweise aus Resten mit niedriger Qualität prädiziert werden. Die Bitfolgen können auf einer Platte gespeichert werden und/oder über das Netzwerk zu dem Client übertragen werden.
  • Die Schritte 710716 stellen einen Unter-Vorgang zum Ausführen des Grundschicht-Codierschritts 700 dar. Am Schritt 710 sagt der Grundschicht-Codierer 506 ein prädiziertes Bild mit niedriger Qualität von der rekonstruierten Schicht mit niedriger Qualität, gespeichert in dem Frame-Puffer 502, voraus. Dieses vorausgesagte Bild variiert leicht gegenüber dem originalen Bild aufgrund einer Bewegung der Objekte in den Bildern, wie dies durch die Bewegungs-Abschätzeinrichtung 204 und den Bewegungs-Kompensator 206 bestimmt ist.
  • Am Schritt 712 transformiert der Grundschicht-Codierer 506 das prädizierte Bild mit niedriger Qualität unter Verwendung einer Transformation, wie beispielsweise der linearen, diskreten Kosinus-Transformation 522, um prädizierte DCT-(LQPD)-Koeffizienten mit niedriger Qualität zu erzeugen. Die LQPD-Koeffizienten werden durch den Quantisierer 524 (Schritt 714) quantisiert und werden durch den Variable-Länge-Codierer 526 komprimiert (Schritt 716).
  • Die Schritte 720726 stellen einen Unter-Vorgang zum Ausführen des Codier-Schritts 702 der Verbesserungsschicht mit niedriger Qualität dar. Am Schritt 720 dequantisiert der Grundschicht-Codierer 506 die quantisierten LQPD-Koeffizienten. Der Codierer 508 für die Verbesserungsschicht mit niedriger Qualität leitet Reste niedriger Qualität ab, die sich aus einer Vorhersage des Bilds mit niedriger Qualität ergeben (Schritt 722). Die Reste mit niedriger Qualität werden als die Differenz zwischen den LQPD-Koeffzienten und den dequantisierten LQPD-Koeffizienten berechnet.
  • Am Schritt 724 werden die Reste mit niedriger Qualität über einen Bit-Ebenen-Codierer 544 codiert, um die codierten DCT-(ECD)-Koeffizienten zu bilden. Am Schritt 726 komprimiert der Codierer 508 für die Verbesserungsschicht mit niedriger Qualität die ECD-Koeffizienten unter Verwendung des Variable-Längen-Codierers 546.
  • Die Schritte 730742 stellen einen Unter-Vorgang zum Ausführen des Codier-Schritts 704 für die Verbesserungsschicht mit hoher Qualität dar. Am Schritt 730 sagt der Codierer 509 für die Verbesserungsschicht mit hoher Qualität ein prädiziertes Bild mit hoher Qualität von einer rekonstruierten Schicht mit hoher Qualität, gespeichert in dem zweiten Frame-Puffer 504, voraus. Dieses prädizierte Bild variiert leicht gegenüber dem originalen Bild aufgrund einer Bewegung der Objekte in den Bildern, wie dies durch die Bewegungs-Abschätzeinrichtung 204 und den Bewegungs-Kompensator 207 bestimmt ist. Am Schritt 732 transformiert der Codierer 509 für die Verbesserungsschicht mit hoher Qualität das prädizierte Bild mit hoher Qualität unter Verwendung einer Transformation, wie beispielsweise der linearen, diskreten Kosinus-Transformation 562, um prädizierte DCT-(HQPD)-Koeffizienten mit hoher Qualität zu erzeugen.
  • An diesem Punkt ist der Vorgang leicht unterschiedlich in Abhängigkeit davon, ob der Codierer 80' der 19 verwendet wird oder der Codierer 80" der 21 verwendet wird. Falls der Codierer 80' verwendet wird, sagt der APBIC 510 einen Satz von prädizierter HQPD-Koeffizienten von den ECD-Koeffizienten voraus (Schritt 734). Der Codierer 509 für die Verbesserungsschicht mit hoher Qualität leitet dann Reste mit hoher Qualität als eine Differenz zwischen den HQPD-Koeffizienten und den prädizierten HQPD-Koeffizienten ab (Schritt 736).
  • Umgekehrt wird, falls der Codierer 80" verwendet wird, der APBIC 510 entfernt. Dementsprechend leitet der Codierer 509 für die Verbesserungsschicht mit hoher Qualität Reste mit hoher Qualität als eine Differenz zwischen den HQPD-Koeffizienten und den ECD-Koeffizienten ab (Schritt 738).
  • Am Schritt 740 codiert der Codierer 509 für die Verbesserungsschicht mit hoher Qualität die Reste mit hoher Qualität über den Bit-Ebenen-Codierer 582. Die codierten Reste mit hoher Qualität werden dann unter Verwendung des Variable-Längen-Codierers 584 komprimiert (Schritt 742).
  • Der Client empfängt die Bitfolge von dem Provider des Inhalts. Der Video-Decodierer an dem Client decodiert die Bitfolgen, um die Grundschicht, Reste mit niedriger Qualität und Reste mit hoher Qualität zurückzugewinnen. Aus diesen Daten kann der Decodierer das originale Video-Bild wieder erstellen.
  • Zusammenfassung
  • Obwohl die Erfindung in einer Sprache beschrieben worden ist, die für strukturelle Merkmale und/oder methodologische Schritte spezifisch ist, sollte verständlich sein, dass die Erfindung, wie sie in den beigefügten Ansprüchen definiert ist, nicht auf die spezifischen Merkmale oder Schritte, die beschrieben sind, beschränkt ist. Vielmehr sind die spezifischen Merkmale und Schritte als bevorzugte Formen zum Ausführen der beanspruchten Erfindung offenbart.

Claims (32)

  1. Verfahren zum Codieren von Videodaten mit Layered-Coding-Verfahrensweisen, bei denen die Videodaten als mehrschichtige Frames dargestellt werden, wobei jeder Frame mehrere Schichten aufweist, die von einer Grundschicht mit niedriger Qualität zu Verbesserungsschichten mit zunehmend höherer Qualität reichen, und das Verfahren umfasst: Codieren (700) eines ersten Bitstroms, der eine Grundschicht darstellt; Codieren (702) eines zweiten Bitstroms, der eine oder mehrere Verbesserungsschichten niedriger Qualität darstellt, wobei das Codieren umfasst: Bewegungskompensation (710) eines Originalbildes unter Verwendung der Grundschicht als ein Bezug, um ein prädiziertes Bild niedriger Qualität auszubilden; Transformieren (712) des prädizierten Bildes niedriger Qualität, um prädizierte Koeffizienten niedriger Qualität auszubilden; Quantisieren (714) der prädizierten Koeffizienten niedriger Qualität, um quantisierte Koeffizienten auszubilden; Dequantisieren (720) der quantisierten Koeffzienten, um dequantisierte Koeffizienten auszubilden; Herleiten (722) von Restwerten niedriger Qualität als eine Differenz zwischen den prädizierten Koeffizienten niedriger Qualität und den dequantisierten Koeffizienten; Bitebenencodierung (724) der Restwerte niedriger Qualität, um codierte Restwerte niedriger Qualität auszubilden; und Komprimieren (726) der codierten Restwerte niedriger Qualität unter Verwendung von Codierung mit variabler Länge; und Codieren (704) eines dritten Bitstroms, der eine oder mehrere Verbesserungsschichten hoher Qualität darstellt, teilweise auf Basis von Werten, die anhand der Grundschicht und der Verbesserungsschicht niedriger Qualität prädiziert werden.
  2. Verfahren nach Anspruch 1, wobei das Codieren eines ersten Bitstroms, der eine Grundschicht darstellt, umfasst: Bewegungskompensation eines Originalbildes unter Verwendung der Grundschicht als ein Bezug, um ein prädiziertes Bild niedriger Qualität auszubilden; Transformieren des prädizierten Bildes niedriger Qualität, um prädizierte Koeffizienten niedriger Qualität auszubilden; Quantisieren der prädizierten Koeffizienten niedriger Qualität, um quantisierte Koeffizienten auszubilden; und Komprimieren der quantisierten Koeffizienten unter Verwendung von Codierung mit variabler Länge.
  3. Verfahren nach Anspruch 2, wobei das Codieren eines dritten Bitstroms, der eine oder mehrere Verbessenmgsschichten hoher Qualität darstellt, umfasst: Bewegungskompensation eines Originalbildes unter Verwendung einer Verbesserungsschicht als ein Bezug, um ein prädiziertes Bild hoher Qualität auszubilden; Transformieren des prädizierten Bildes hoher Qualität, um eine erste Gruppe von Koeffizienten hoher Qualität auszubilden; Prädizieren einer zweiten Gruppe von Koeffizienten hoher Qualität anhand der codierten Restwerte niedriger Qualität; Herleiten von Restwerten hoher Qualität als eine Differenz zwischen der ersten und der zweiten Gruppe von Koeffizienten hoher Qualität; Bitebenencodierung der Restwerte hoher Qualität; und Komprimieren der codierten Restwerte hoher Qualität unter Verwendung von Codierungen mit variabler Länge.
  4. Verfahren zum Codieren von Videodaten mit Layered-Coding-Verfahrensweisen, bei denen die Videodaten als mehrschichtige Frames dargestellt werden, wobei jeder Frame mehrere Schichten hat, die von einer Grundschicht mit niedriger Qualität zu Verbesserungsschichten mit zunehmend höherer Qualität reichen, und das Verfahren umfasst: Codieren (700) eines ersten Bitstroms, der eine Grundschicht darstellt; Codieren (702) eines zweiten Bitstroms, der eine oder mehrere Verbesserungsschichten niedriger Qualität darstellt; und Codieren (704) eines dritten Bitstroms, der eine oder mehrere Verbesserungsschichten hoher Qualität darstellt, teilweise auf Basis von Werten, die anhand der Grundschicht und der Verbesserungsschicht niedriger Qualität prädiziert werden, wobei das Codieren eines zweiten Bitstroms, der eine oder mehrere Verbesserungsschichten niedriger Qualität darstellt, und das Codieren eines dritten Bitstroms, der eine oder mehrere Verbesserungsschichten hoher Qualität darstellt, umfasst: Bewegungskompensation (710, 730) eines Originalbildes unter Verwendung der Grundschicht als ein Bezug, um ein prädiziertes Bild niedriger Qualität auszubil den, und unter Verwendung einer Verbesserungsschicht als ein Bezug, um ein prädiziertes Bild hoher Qualität auszubilden; Transformieren (712) des prädizierten Bildes niedriger Qualität, um prädizierte Koeffizienten niedriger Qualität auszubilden, und Transformieren (732) des prädizierten Bildes hoher Qualität, um prädizierte Koeffizienten hoher Qualität auszubilden; Quantisieren (714) der prädizierten Koeffizienten niedriger Qualität, um quantisierte Koeffizienten auszubilden; Dequantisieren (720) der quantisierten Koeffizienten, um dequantisierte Koeffizienten auszubilden; Herleiten (722) von Restwerten niedriger Qualität als eine Differenz zwischen den prädizierten Koeffizienten hoher Qualität und den dequantisierten Koeffizienten; Bitebenencodierung (724) der Restwerte niedriger Qualität, um codierte Restwerte niedriger Qualität auszubilden;
  5. Herleiten (738) von Restwerten hoher Qualität als eine Differenz zwischen den prädizierten Koeffizienten hoher Qualität und den codierten Restwerten niedriger Qualität; Bitebenencodierung (740) der Restwerte hoher Qualität, um codierte Restwerte hoher Qualität auszubilden; Komprimieren (742) der codierten Restwerte niedriger Qualität und der codierten Restwerte hoher Qualität unter Verwendung von Codierung mit variabler Länge.
  6. Verfahren nach einem der Ansprüche 1 bis 4, das des weiteren umfasst: Decodieren des ersten Bitstroms, der die Grundschicht darstellt; Decodieren des zweiten Bitstroms, der eine oder mehrere Verbesserungsschichten niedriger Qualität darstellt, und Decodieren des dritten Bitstroms, der eine oder mehrere der Verbesserungsschichten hoher Qualität darstellt, teilweise auf Basis von Werten, die anhand der Grundschicht und der Verbesserungsschicht niedriger Qualität prädiziert werden.
  7. Verfahren nach einem der Ansprüche 1 bis 5, wobei: die eine oder mehreren Verbesserungsschichten niedriger Qualität eines aktuellen Frames anhand der Grundschicht eines vorhergehenden Frames vorhergesagt werden; und das Verfahren des weiteren umfasst: Codieren von Restwerten niedriger Qualität, die aus der Prädiktion der Grundschicht und der Verbesserungsschicht niedriger Qualität resultieren; Codieren von Restwerten hoher Qualität, die aus den Restwerten niedriger Qualität hergeleitet werden.
  8. Verfahren nach Anspruch 6, wobei das Codieren von Restwerten hoher Qualität umfasst: Vofrhersagen einer oder mehrerer Verbesserungsschichten hoher Qualität des aktuellen Frames aus einer Verbesserungsschicht hoher Qualität des vorhergehenden Frames; Transformieren der Verbesserungsschicht hoher Qualität, um eine erste Gruppe von Koeffizienten hoher Qualität auszubilden; Prädizieren einer zweiten Gruppe von Koeffizienten hoher Qualität anhand der Restwerte niedriger Qualität; und Ausbilden der Restwerte hoher Qualität aus der ersten und der zweiten Gruppe von Koeffizienten hoher Qualität.
  9. Verfahren nach Anspruch 6, wobei das Codieren von Restwerten hoher Qualität umfasst: Prädizieren einer Verbesserungsschicht hoher Qualität des aktuellen Frames aus einer Verbesserungsschicht hoher Qualität des vorhergehenden Frames; Transformieren der Verbesserungsschicht hoher Qualität, um Koeffizienten hoher Qualität auszubilden; und Ausbilden der Restwerte hoher Qualität aus den Koeffizienten hoher Qualität und den Restwerten niedriger Qualität.
  10. Verfahren nach einem der Ansprüche 1 bis 5, das des weiteren umfasst: Prädizieren von Schichten in einem aktuellen Frame unter Verwendung mehrerer Schichten unterschiedlicher Qualität in einem vorhergehenden Frame; Herleiten von prädizierten Restwerten niedriger Qualität aus einer Schicht niedriger Qualität in dem aktuellen Frame und einer Schicht niedriger Qualität in dem vorhergehenden Frame; Codieren der prädizierten Restwerte niedriger Qualität; und Prädizieren prädizierter Restwerte hoher Qualität, die repräsentativ für Differenzen zwischen einer Schicht hoher Qualität in dem aktuellen Frame und einer Schicht hoher Qualität in dem vorhergehenden Frame sind, aus den codierten Restwerten niedriger Qualität.
  11. Verfahren nach Anspruch 9, wobei das Prädizieren von Schichten Prädizieren einer Schicht höherer Qualität in dem aktuellen Frame aus einer Schicht niedrigerer Qualität in dem vorhergehenden Frame umfasst.
  12. Verfahren nach Anspruch 9 oder 10, wobei das Codieren Quantisieren der prädizierten Restwerte niedriger Qualität, um quantisierte Restwerte zu erzeugen, und Komprimieren der quantisierten Restwerte unter Verwendung von Codierung mit variabler Länge umfasst.
  13. Verfahren nach Anspruch 9 oder 10, wobei das Codieren Bitebenencodierung der prädizierten Restwerte niedriger Qualität umfasst.
  14. Verfahren nach einem der Ansprüche 9 bis 12, wobei das Prädizieren prädizierter Restwerte hoher Qualität Berechnen eines prädizierten Wertes auf Basis der codierten Restwerte niedriger Qualität und zweier prädizierter Bilder umfasst.
  15. Verfahren nach einem der Ansprüche 9 bis 12, wobei das Prädizieren prädizierter Restwerte hoher Qualität Berechnen eines prädizierten Wertes auf Basis zweier prädizierter Bilder und einer Schätzung eines der zwei prädizierten Bilder umfasst.
  16. Verfahren nach einem der Ansprüche 1 bis 5, das umfasst: Ausbilden einer Grundschicht und mehrerer Verbesserungsschichten in einem ersten Frame, der ein Originalbild darstellt; und Prädizieren einer Grundschicht und mehrerer Verbesserungsschichten in einem zweiten Frame, der ein prädiziertes Bild darstellt, aus der Grundschicht und wenigstens einer Verbesserungsschicht in dem ersten Frame; und Herleiten von Restwerten niedriger Qualität, die aus dem Prädizieren der Grundschicht und Verbesserungsschichten niedriger Qualität resultieren, aus dem Originalbild; Codieren der Restwerte niedriger Qualität; und Prädizieren von Restwerten hoher Qualität, die Ergebnisse des Prädizierens von Verbesserungsschichten hoher Qualität aus dem Originalbild anzeigen, aus den codierten Restwerten niedriger Qualität.
  17. Verfahren nach Anspruch 15, wobei die mehreren Verbesserungsschichten wenigstens eine erste, eine zweite und eine dritte Schicht enthalten und das Ausbilden der mehreren Verbesserungsschichten Prädizieren geradzahliger Frames aus der Grund- und der zweiten Schicht vorhergehender Frames und Prädizieren ungeradzahliger Frames aus der Grund- und der dritten Schicht vorhergehender Frames umfasst.
  18. Verfahren nach Anspruch 15, wobei das Ausbilden der mehreren Verbesserungsschichten Prädizieren jeder der Verbesserungsschichten in einem aktuellen Frame aus einer Bezugsschicht niedriger Qualität eines Bezugs-Frames umfasst, wenn eine Beziehung gilt, wobei die Beziehung ist: L mod N = i mod Mwobei L eine Variable ist, die eine bestimmte Verbesserungsschicht angibt, i eine Variable ist, die einen bestimmten Frame angibt, N eine Variable ist, die eine Schichtgruppentiefe, d.h. darstellt, wie viele Schichten aus einer gemeinsamen Bezugsschicht vorhergesagt werden, und M eine Variable ist, die eine Framegruppentiefe, d.h. darstellt, wie viele Frames für Prädiktionszwecke zusammengefasst werden.
  19. Verfahren nach einem der Ansprüche 15 bis 17, das des weiteren das Codieren der Restwerte hoher Qualität umfasst.
  20. Verfahren nach einem der Ansprüche 15 bis 18, das des weiteren das Übertragen der codierten Restwerte niedriger Qualität und der Restwerte hoher Qualität umfasst.
  21. Verfahren nach einem der Ansprüche 1 bis 5, das des weiteren umfasst: Übertragen der Grundschicht, der Verbesserungsschicht niedriger Qualität und einer oder mehrerer Verbesserungsschichten höherer Qualität über ein Netzwerk.
  22. Verfahren nach Anspruch 20, das des weiteren umfasst: Empfangen der Grundschicht, der Verbesserungsschicht niedriger Qualität und der einen oder mehreren Verbesserungsschichten höherer Qualität von dem Netzwerk; und Decodieren der Grundschicht, der Verbesserungsschicht niedriger Qualität und der einen oder mehreren Verbesserungsschichten höherer Qualität, um die Videodaten wiederzugewinnen.
  23. Verfahren nach Anspruch 1, das des weiteren umfasst: Prädizieren einer Schicht niedriger Qualität eines aktuellen Frames von Videodaten aus einer Schicht niedriger Qualität eines vorhergehenden Frames; Codieren der Schicht niedriger Qualität; Herleiten von Restwerten niedriger Qualität aus der Vorhersage der Schicht niedriger Qualität; Codieren der Restwerte niedriger Qualität; Prädizieren einer Schicht hoher Qualität eines aktuellen Frames von Videodaten aus einer Schicht hoher Qualität eines vorhergehenden Frames; Herleiten von Restwerten hoher Qualität aus der Schicht hoher Qualität und den Restwerten niedriger Qualität; und Codieren der Restwerte hoher Qualität.
  24. Computerlesbares Medium mit durch Computer ausführbaren Befehlen, die, wenn sie auf einem Prozessor ausgeführt werden, einen Computer anweisen, das Verfahren nach einem der Ansprüche 1 bis 22 durchzuführen.
  25. Video-Codiersystem, das umfasst: einen Grundschicht-Codierer (82, 506, 602), der einen Bitstrom codiert, der eine Grundschicht von Videodaten darstellt; einen Codierer (84, 508, 604) für Verbesserungsschichten niedriger Qualität, der einen Bitstrom codiert, der eine oder mehrere Verbesserungsschichten niedriger Qualität darstellt; und einen Codierer (86, 509, 606) für Verbesserungsschichten hoher Qualität, der einen Bitstrom codiert, der eine oder mehrere Verbesserungsschichten hoher Qualität darstellt, die teilweise auf Werten basieren, die aus der Grundschicht und der Verbesserungsschicht niedriger Qualität prädiziert werden, wobei das Video-Codiersystem so eingerichtet ist, dass es das Verfahren nach einem der Ansprüche 1 bis 22 durchführt.
  26. Video-Codiersystem nach Anspruch 24, das des weiteren ein Vorhersagemodul (510, 610) umfasst, das die Werte aus der Grundschicht und der Verbesserungsschicht niedriger Qualität vorhersagt.
  27. Video-Codiersystem nach Anspruch 24, das des weiteren umfasst: einen ersten Frame-Zwischenspeicher (218, 502, 634), der eine rekonstruierte Grundschicht speichert; einen zweiten Frame-Zwischenspeicher (222, 504, 652), der eine rekonstruierte Verbesserungsschicht speichert; und wobei der Grundschicht-Codierer so konfiguriert ist, dass er Bewegungskompensation eines Originalbildes unter Verwendung der rekonstruierten Grundschicht in dem ersten Frame-Zwischenspeicher als ein Bezug durchführt, um ein prädiziertes Bild niedriger Qualität auszubilden, und das prädizierte Bild niedriger Qualität transformiert, um prädizierte Koeffizienten niedriger Qualität auszubilden, die zu dem Bitstrom codiert werden können, der eine Grundschicht von Videodaten darstellt; der Codierer für Verbesserungsschichten niedriger Qualität so konfiguriert ist, dass er Restwerte niedriger Qualität aus den prädizierten Koeffizienten niedriger Qualität herleitet und die Restwerte niedriger Qualität codiert, um codierte Restwerte niedriger Qualität für den Bitstrom auszubilden, der eine Verbesserungsschicht niedriger Qualität darstellt; der Codierer für Verbesserungsschichten hoher Qualität so konfiguriert ist, dass er Bewegungskompensation des Originalbildes unter Verwendung der rekonstruierten Verbesserungsschicht in dem zweiten Frame-Zwischenspeicher als ein Bezug durchführt, um ein prädiziertes Bild hoher Qualität auszubilden, und das prädizierte Bild hoher Qualität transformiert, um prädizierte Koeffizienten hoher Qualität auszubilden; und ein Prädiktionsmodul, das Restwerte hoher Qualität aus den prädizierten Koeffizienten hoher Qualität und den codierten Restwerten niedriger Qualität prädiziert.
  28. Video-Codiersystem nach Anspruch 26, wobei der Codierer für Verbesserungsschichten hoher Qualität so konfiguriert ist, dass er die prädizierten Restwerte hoher Qualität für den Bitstrom codiert, der eine Verbesserungsschicht hoher Qualität darstellt.
  29. Video-Codiersystem nach Anspruch 24, das des weiteren umfasst: mehrere Frame-Zwischenspeicher, die rekonstruierte Schichten eines vorhergehenden Frames eines Bildes speichern, wobei die rekonstruierten Schichten bezüglich der Qualität von niedriger Qualität bis zu hoher Qualität reichen; einen Codierer für Schichten niedriger Qualität, der ein prädiziertes Bild niedriger Qualität aus einer rekonstruierten Schicht niedriger Qualität in einem der Frame-Zwischenspeicher prädiziert und Restwerte niedriger Qualität herleitet, die aus der Prädiktion resultieren, wobei der Codierer für Schichten niedriger Qualität so konfiguriert ist, dass er das prädizierte Bild niedriger Qualität und die Restwerte niedriger Qualität zu einem oder mehreren Bitströmen codiert; einen Codierer für Schichten hoher Qualität, der ein prädiziertes Bild hoher Qualität aus einer rekonstruierten Schicht hoher Qualität in einem anderen der Frame-Zwischenspeicher prädiziert; ein Prädiktionsmodul, das Restwerte hoher Qualität aus dem prädizierten Bild hoher Qualität und dem codierten prädizierten Bild niedriger Qualität prädiziert; und wobei der Codierer für Schichten hoher Qualität so konfiguriert ist, dass er die Restwerte hoher Qualität zu einem Bitstrom codiert.
  30. Video-Codiersystem nach Anspruch 24, das des weiteren umfasst: mehrere Frame-Zwischenspeicher, die rekonstruierte Schichten eines vorhergehenden Frames eines Bildes speichern, wobei die rekonstruierten Schichten bezüglich der Qualität von niedriger Qualität bis zu hoher Qualität reichen; einen Codierer für Schichten niedriger Qualität, der ein prädiziertes Bild niedriger Qualität aus einer rekonstruierten Schicht niedriger Qualität in einem der Frame-Zwischenspeicher prädiziert und Restwerte niedriger Qualität herleitet, die aus der Prädiktion resultieren, wobei der Codierer für Schichten niedriger Qualität so konfiguriert ist, dass er das prädizierte Bild niedriger Qualität und die Restwerte niedriger Qualität zu einem oder mehreren Bitströmen codiert; einen Codierer für Schichten hoher Qualität, der ein prädiziertes Bild hoher Qualität aus einer rekonstruierten Schicht hoher Qualität in einem anderen der Frame-Zwischenspeicher prädiziert und Restwerte hoher Qualität aus dem prädizierten Bild hoher Qualität sowie dem codierten prädizierten Bild niedriger Qualität herleitet, wobei der Codierer für Schichten hoher Qualität so konfiguriert ist, dass er die Restwerte hoher Qualität zu einem Bitstrom codiert.
  31. Video-Codiersystem nach Anspruch 24, das des weiteren umfasst: eine Einrichtung, die Schichten in einem aktuellen Frame unter Verwendung mehrerer Schichten unterschiedlicher Qualität in einem vorhergehenden Frame prädiziert; eine Einrichtung, die prädizierte Restwerte niedriger Qualität aus einer Schicht niedriger Qualität in dem aktuellen Frame und einer Schicht niedriger Qualität in dem vorhergehenden Frame herleitet; eine Einrichtung, die die prädizierten Restwerte niedriger Qualität codiert, eine Einrichtung, die aus den codierten Restwerten niedriger Qualität prädizierte Restwerte hoher Qualität prädiziert, die repräsentativ für Differenzen zwischen der Schicht hoher Qualität in dem aktuellen Frame und einer Schicht hoher Qualität in dem vorhergehenden Frame sind.
  32. Video-Codiersystem nach Anspruch 24, das des weiteren umfasst: eine Einrichtung, die eine Grundschicht und mehrere Verbesserungsschichten in einem ersten Frame ausbildet, der ein Originalbild darstellt; und eine Einrichtung, die aus der Grundschicht und wenigstens einer Verbesserungsschicht in dem ersten Frame eine Grundschicht und mehrere Verbesserungsschichten in einem zweiten Frame prädiziert, der ein prädiziertes Bild darstellt; und eine Einrichtung, die Restwerte niedriger Qualität herleitet, die aus dem Prädizieren der Grundschicht und von Verbesserungsschichten niedriger Qualität aus dem Originalbild resultieren; eine Einrichtung, die die Restwerte niedriger Qualität codiert; und eine Einrichtung, die aus den codierten Restwerten niedriger Qualität Restwerte hoher Qualität prädiziert, die Ergebnisse der Prädiktion von Verbesserungsschichten hoher Qualität aus dem Originalbild anzeigen.
DE60109423T 2000-02-15 2001-01-17 Videokodierung mit prädiktiver bitebenenkodierung und progressiver fein-granularitätsskalierung (pfgs) Expired - Lifetime DE60109423T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/505,254 US6700933B1 (en) 2000-02-15 2000-02-15 System and method with advance predicted bit-plane coding for progressive fine-granularity scalable (PFGS) video coding
US505254 2000-02-15
PCT/US2001/001668 WO2001062010A1 (en) 2000-02-15 2001-01-17 System and method with advance predicted bit-plane coding for progressive fine-granularity scalable (pfgs) video coding

Publications (2)

Publication Number Publication Date
DE60109423D1 DE60109423D1 (de) 2005-04-21
DE60109423T2 true DE60109423T2 (de) 2005-08-04

Family

ID=24009591

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60109423T Expired - Lifetime DE60109423T2 (de) 2000-02-15 2001-01-17 Videokodierung mit prädiktiver bitebenenkodierung und progressiver fein-granularitätsskalierung (pfgs)

Country Status (8)

Country Link
US (1) US6700933B1 (de)
EP (2) EP1511324A1 (de)
JP (1) JP4842486B2 (de)
AT (1) ATE291329T1 (de)
AU (1) AU2001229595A1 (de)
DE (1) DE60109423T2 (de)
TW (1) TW519843B (de)
WO (1) WO2001062010A1 (de)

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614936B1 (en) * 1999-12-03 2003-09-02 Microsoft Corporation System and method for robust video coding using progressive fine-granularity scalable (PFGS) coding
US7649943B2 (en) * 2000-04-21 2010-01-19 Microsoft Corporation Interface and related methods facilitating motion compensation in media processing
US6891893B2 (en) * 2000-04-21 2005-05-10 Microsoft Corp. Extensible multimedia application program interface and related methods
US7634011B2 (en) * 2000-04-21 2009-12-15 Microsoft Corporation Application program interface (API) facilitating decoder control of accelerator resources
US6940912B2 (en) * 2000-04-21 2005-09-06 Microsoft Corporation Dynamically adaptive multimedia application program interface and related methods
US7751473B2 (en) * 2000-05-15 2010-07-06 Nokia Corporation Video coding
GB2362532B (en) * 2000-05-15 2004-05-05 Nokia Mobile Phones Ltd Video coding
JP3343104B2 (ja) * 2000-07-06 2002-11-11 松下電送システム株式会社 画像処理装置及び画像処理方法
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
US7068717B2 (en) * 2000-07-12 2006-06-27 Koninklijke Philips Electronics N.V. Method and apparatus for dynamic allocation of scalable selective enhanced fine granular encoded images
US7085843B2 (en) * 2000-07-13 2006-08-01 Lucent Technologies Inc. Method and system for data layout and replacement in distributed streaming caches on a network
US7042944B2 (en) * 2000-09-22 2006-05-09 Koninklijke Philips Electronics N.V. Single-loop motion-compensation fine granular scalability
US7082221B1 (en) * 2000-09-29 2006-07-25 Intel Corporation Bandwidth determination for multiple layer digital video
US7463683B2 (en) * 2000-10-11 2008-12-09 Koninklijke Philips Electronics N.V. Method and apparatus for decoding spatially scaled fine granular encoded video signals
US20020136292A1 (en) * 2000-11-01 2002-09-26 Webcast Technologies, Inc. Encoding and decoding of video signals
US6961383B1 (en) 2000-11-22 2005-11-01 At&T Corp. Scalable video encoder/decoder with drift control
DE60120762T2 (de) * 2000-11-23 2007-05-31 Koninklijke Philips Electronics N.V. Videodekodierungsverfahren und entsprechender dekodierer
US6907070B2 (en) * 2000-12-15 2005-06-14 Microsoft Corporation Drifting reduction and macroblock-based control in progressive fine granularity scalable video coding
US20020126759A1 (en) 2001-01-10 2002-09-12 Wen-Hsiao Peng Method and apparatus for providing prediction mode fine granularity scalability
US20020118742A1 (en) * 2001-02-26 2002-08-29 Philips Electronics North America Corporation. Prediction structures for enhancement layer in fine granular scalability video coding
US20020118743A1 (en) * 2001-02-28 2002-08-29 Hong Jiang Method, apparatus and system for multiple-layer scalable video coding
US6792044B2 (en) * 2001-05-16 2004-09-14 Koninklijke Philips Electronics N.V. Method of and system for activity-based frequency weighting for FGS enhancement layers
FR2825855A1 (fr) * 2001-06-06 2002-12-13 France Telecom Procedes et dispositifs de codage et de decodage d'images mettant en oeuvre des maillages emboites, programme, signal et application correspondantes
AU2002316532A1 (en) * 2001-07-05 2003-01-21 Board Of Trustees Operating Michigan State University Transcaling: a video coding and multicasting framework for wireless ip multimedia services
US7010043B2 (en) * 2001-07-05 2006-03-07 Sharp Laboratories Of America, Inc. Resolution scalable video coder for low latency
WO2003007619A1 (en) * 2001-07-10 2003-01-23 Koninklijke Philips Electronics N.V. Method and device for generating a scalable coded video signal from a non-scalable coded video signal
US9894379B2 (en) * 2001-07-10 2018-02-13 The Directv Group, Inc. System and methodology for video compression
US20030093800A1 (en) * 2001-09-12 2003-05-15 Jason Demas Command packets for personal video recorder
WO2003026271A2 (de) * 2001-09-14 2003-03-27 Siemens Aktiengesellschaft Verfahren zum kodieren und dekodieren von videosequenzen und computerprogrammprodukt
US7263124B2 (en) * 2001-09-26 2007-08-28 Intel Corporation Scalable coding scheme for low latency applications
EP1442601A1 (de) * 2001-10-26 2004-08-04 Koninklijke Philips Electronics N.V. Verfahren und vorrichtung für räumlicher skalierbarkeit kodierung
US20030118113A1 (en) * 2001-12-20 2003-06-26 Comer Mary Lafuze Fine-grain scalable video decoder with conditional replacement
US20030118099A1 (en) * 2001-12-20 2003-06-26 Comer Mary Lafuze Fine-grain scalable video encoder with conditional replacement
US20030151753A1 (en) * 2002-02-08 2003-08-14 Shipeng Li Methods and apparatuses for use in switching between streaming video bitstreams
US6996173B2 (en) * 2002-01-25 2006-02-07 Microsoft Corporation Seamless switching of scalable video bitstreams
US6944222B2 (en) * 2002-03-04 2005-09-13 Koninklijke Philips Electronics N.V. Efficiency FGST framework employing higher quality reference frames
GB2386275B (en) * 2002-03-05 2004-03-17 Motorola Inc Scalable video transmissions
FI114679B (fi) * 2002-04-29 2004-11-30 Nokia Corp Satunnaisaloituspisteet videokoodauksessa
KR20050031460A (ko) * 2002-07-31 2005-04-06 코닌클리케 필립스 일렉트로닉스 엔.브이. 하이브리드 예측 코드를 사용하는 다중 표현 움직임보상을 수행하는 방법 및 장치
US7072394B2 (en) * 2002-08-27 2006-07-04 National Chiao Tung University Architecture and method for fine granularity scalable video coding
AU2003260192B2 (en) * 2002-09-20 2010-03-04 Newsouth Innovations Pty Limited Method of signalling motion information for efficient scalable video compression
AU2002951574A0 (en) * 2002-09-20 2002-10-03 Unisearch Limited Method of signalling motion information for efficient scalable video compression
US8204079B2 (en) * 2002-10-28 2012-06-19 Qualcomm Incorporated Joint transmission of multiple multimedia streams
KR100465318B1 (ko) * 2002-12-20 2005-01-13 학교법인연세대학교 광대역 음성신호의 송수신 장치 및 그 송수신 방법
US6973128B2 (en) * 2003-02-21 2005-12-06 Mitsubishi Electric Research Labs, Inc. Multi-path transmission of fine-granular scalability video streams
US7283589B2 (en) 2003-03-10 2007-10-16 Microsoft Corporation Packetization of FGS/PFGS video bitstreams
US7424493B2 (en) * 2003-04-21 2008-09-09 Microsoft Corporation Replication-based propagation mechanism for pipelines
US7206455B1 (en) * 2003-08-20 2007-04-17 Eastman Kodak Company Adaptive setting of wavelet sub-band thresholds for low-light image denoising
JP2007515886A (ja) * 2003-12-09 2007-06-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 空間スケーラブルかつsnrスケーラブルなビデオ符号化
US7860161B2 (en) * 2003-12-15 2010-12-28 Microsoft Corporation Enhancement layer transcoding of fine-granular scalable video bitstreams
US7580461B2 (en) * 2004-02-27 2009-08-25 Microsoft Corporation Barbell lifting for wavelet coding
US7627037B2 (en) * 2004-02-27 2009-12-01 Microsoft Corporation Barbell lifting for multi-layer wavelet coding
US20050195896A1 (en) * 2004-03-08 2005-09-08 National Chiao Tung University Architecture for stack robust fine granularity scalability
US20050201462A1 (en) * 2004-03-09 2005-09-15 Nokia Corporation Method and device for motion estimation in scalable video editing
US20050201629A1 (en) * 2004-03-09 2005-09-15 Nokia Corporation Method and system for scalable binarization of video data
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
WO2006008681A1 (en) * 2004-07-13 2006-01-26 Koninklijke Philips Electronics N.V. Method of spatial and snr picture compression
US7561620B2 (en) * 2004-08-03 2009-07-14 Microsoft Corporation System and process for compressing and decompressing multiple, layered, video streams employing spatial and temporal encoding
US7271749B2 (en) * 2004-09-14 2007-09-18 Hewlett-Packard Development Company, L.P. Context-based denoiser that simultaneously updates probabilities for multiple contexts
US20060176953A1 (en) * 2005-02-04 2006-08-10 Nader Mohsenian Method and system for video encoding with rate control
US7995656B2 (en) * 2005-03-10 2011-08-09 Qualcomm Incorporated Scalable video coding with two layer encoding and single layer decoding
US7725799B2 (en) * 2005-03-31 2010-05-25 Qualcomm Incorporated Power savings in hierarchically coded modulation
KR20080006607A (ko) * 2005-04-12 2008-01-16 노키아 코포레이션 편차 제어를 통한 움직임 보상된 미세 입도 규모 가변성비디오 부호화를 위한 방법 및 시스템
US20060233262A1 (en) * 2005-04-13 2006-10-19 Nokia Corporation Signaling of bit stream ordering in scalable video coding
KR100703772B1 (ko) * 2005-04-13 2007-04-06 삼성전자주식회사 인코더-디코더 간 불일치를 감소시키는 mctf 기반의비디오 코딩 방법 및 장치
US8619860B2 (en) 2005-05-03 2013-12-31 Qualcomm Incorporated System and method for scalable encoding and decoding of multimedia data using multiple layers
WO2007018670A1 (en) * 2005-07-21 2007-02-15 Thomson Licensing Method and apparatus for weighted prediction for scalable video coding
KR100667815B1 (ko) * 2005-09-22 2007-01-12 삼성전자주식회사 영상 부호화 및 복호화 장치와, 그 방법, 및 이를 수행하기위한 프로그램이 기록된 기록 매체
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
US8831111B2 (en) * 2006-05-19 2014-09-09 The Hong Kong University Of Science And Technology Decoding with embedded denoising
US8369417B2 (en) * 2006-05-19 2013-02-05 The Hong Kong University Of Science And Technology Optimal denoising for video coding
US8599926B2 (en) * 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
US8565314B2 (en) * 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8325819B2 (en) * 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US9319700B2 (en) * 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
CN101622878B (zh) * 2007-01-10 2015-01-14 汤姆逊许可公司 用于实现位深度可分级性的视频编解码方法和视频编解码设备
KR101375663B1 (ko) * 2007-12-06 2014-04-03 삼성전자주식회사 영상을 계층적으로 부호화/복호화하는 방법 및 장치
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
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
TW201016017A (en) * 2008-10-08 2010-04-16 Univ Nat Taiwan Memory management method and system of video encoder
US8345749B2 (en) * 2009-08-31 2013-01-01 IAD Gesellschaft für Informatik, Automatisierung und Datenverarbeitung mbH Method and system for transcoding regions of interests in video surveillance
KR101418101B1 (ko) * 2009-09-23 2014-07-16 에스케이 텔레콤주식회사 저주파수 성분을 고려한 영상 부호화/복호화 방법 및 장치
EP2355511A1 (de) * 2009-12-21 2011-08-10 Alcatel Lucent Methode und Vorrichtung zur gemeinsamen Kodierung mehrerer Videoströme.
GB2492396A (en) * 2011-06-30 2013-01-02 Canon Kk Decoding a Scalable Video Bit-Stream
GB2492397A (en) * 2011-06-30 2013-01-02 Canon Kk Encoding and decoding residual image data using probabilistic models
EP2801193B1 (de) 2012-01-04 2016-10-26 Dolby Laboratories Licensing Corporation Zweischichtige abwärtskompatible progressive videoausgabe
US20140092953A1 (en) 2012-10-02 2014-04-03 Sharp Laboratories Of America, Inc. Method for signaling a step-wise temporal sub-layer access sample
CN111447445B (zh) * 2020-03-16 2022-09-09 西安万像电子科技有限公司 数据传输方法及装置
CN120201211A (zh) * 2023-12-22 2025-06-24 华为云计算技术有限公司 视频数据的处理方法以及相关设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100477474B1 (ko) * 1995-06-29 2005-08-01 톰슨 디지털신호프로세싱장치및방법
US6173013B1 (en) * 1996-11-08 2001-01-09 Sony Corporation Method and apparatus for encoding enhancement and base layer image signals using a predicted image signal
US6728775B1 (en) * 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams
KR100295798B1 (ko) * 1997-07-11 2001-08-07 전주범 스케일러빌리티를구현한이진현상신호부호화장치
CA2265609C (en) * 1997-07-18 2005-05-17 Sony Corporation Method and system for multiplexing image signal, method and system for demultiplexing image signal, and transmission medium
AU1928999A (en) 1997-12-19 1999-07-12 Kenneth Rose Scalable predictive coding method and apparatus
JP3132456B2 (ja) * 1998-03-05 2001-02-05 日本電気株式会社 階層的画像符号化方式、及び階層的画像復号方式
US6292512B1 (en) * 1998-07-06 2001-09-18 U.S. Philips Corporation Scalable video coding system
US6275531B1 (en) 1998-07-23 2001-08-14 Optivision, Inc. Scalable video coding method and apparatus
US6490705B1 (en) * 1998-10-22 2002-12-03 Lucent Technologies Inc. Method and apparatus for receiving MPEG video over the internet
US6496980B1 (en) * 1998-12-07 2002-12-17 Intel Corporation Method of providing replay on demand for streaming digital multimedia
JP2000209580A (ja) * 1999-01-13 2000-07-28 Canon Inc 画像処理装置およびその方法
US6263022B1 (en) * 1999-07-06 2001-07-17 Philips Electronics North America Corp. System and method for fine granular scalable video with selective quality enhancement
US6480547B1 (en) * 1999-10-15 2002-11-12 Koninklijke Philips Electronics N.V. System and method for encoding and decoding the residual signal for fine granular scalable video

Also Published As

Publication number Publication date
EP1258147B1 (de) 2005-03-16
DE60109423D1 (de) 2005-04-21
JP2003523667A (ja) 2003-08-05
JP4842486B2 (ja) 2011-12-21
EP1511324A1 (de) 2005-03-02
TW519843B (en) 2003-02-01
EP1258147A1 (de) 2002-11-20
AU2001229595A1 (en) 2001-08-27
WO2001062010A1 (en) 2001-08-23
US6700933B1 (en) 2004-03-02
ATE291329T1 (de) 2005-04-15

Similar Documents

Publication Publication Date Title
DE60109423T2 (de) Videokodierung mit prädiktiver bitebenenkodierung und progressiver fein-granularitätsskalierung (pfgs)
DE69116869T2 (de) Digitale bildkodierung mit einer zufallsabtastung der bilder
DE19861377B4 (de) Ein verbessertes Kompressions- und Dekompressionssystem mit reversiblen Wavelets und verlustbehafteter Rekonstruktion
DE69633129T2 (de) Waveletbaum-bildcoder mit überlappenden bildblöcken
DE602004002525T2 (de) Verfahren zum Umcodieren eines nach JPEG2000 komprimierten Bildes
DE69226749T2 (de) System zur Kompression von sich bewegenden Videobildern mit mehrfachen Auflösungsmerkmalen
DE69230704T2 (de) Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung
DE69229773T2 (de) Statistischer Multiplexer für ein Multikanal-Bildkomprimierungssystem und Demultiplexer
DE69535228T2 (de) Bildumsetzungsvorrichtung
DE69913990T2 (de) System zum editieren komprimierter bildsequenzen
DE69320719T2 (de) Effiziente, frequenzskalierbare Videokodierung mit Koeffizientenwahl
DE69432142T2 (de) Verfahren und vorrichtung zur effizienten transkodierung
DE60305325T2 (de) System und verfahren zur ratenverzerrungsoptimierten datenpartitionierung zur videocodierung unter verwendung von rückwärtsadaption
DE69933461T2 (de) Fehlerverdeckung für hierarchische subband kodierung und dekodierung
DE69625945T2 (de) Hierarchischer Bildkodierer und -dekodierer
DE102013105461A1 (de) Ratensteuerverfahren für mehrschichtige Videocodierung, sowie Videocodiervorrichtung und Videosignalverarbeitungsvorrichtung, welche das Ratensteuerverfahren verwenden
EP0752789B1 (de) Verfahren, Encoder und Decoder zur Resynchronisierung auf einen fehlerbehafteten Videodatenstrom
DE60309039T2 (de) Verfahren und vorrichtung zur optimierung der bildschärfe während der kodierung
DE69321924T2 (de) Verfahren zum zwei-standard-kodieren von bildern, mit sehr niedriger datenrate und codierer/decodierer zur durchführung dieses verfahrens
WO2006056531A1 (de) Verfahren zur transcodierung sowie transcodiervorrichtung
DE10204617A1 (de) Verfahren und Vorrichtungen zur Kompression und Dekompression eines Videodatenstroms
WO2006024584A1 (de) Verfahren und vorrichtung zum codieren und decodieren
DE10022520A1 (de) Verfahren zur örtlichen skalierbaren Bewegtbildcodierung
EP1285537B1 (de) Verfahren und eine anordnung zur codierung bzw. decodierung einer folge von bildern
DE69616009T2 (de) Verfahren und Gerät zum Auswählen von Transformationskoeffizienten für ein Transformationskodierungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition