DE602004012540T2 - Videocodierer und videocodierungsverfahren - Google Patents

Videocodierer und videocodierungsverfahren Download PDF

Info

Publication number
DE602004012540T2
DE602004012540T2 DE602004012540T DE602004012540T DE602004012540T2 DE 602004012540 T2 DE602004012540 T2 DE 602004012540T2 DE 602004012540 T DE602004012540 T DE 602004012540T DE 602004012540 T DE602004012540 T DE 602004012540T DE 602004012540 T2 DE602004012540 T2 DE 602004012540T2
Authority
DE
Germany
Prior art keywords
video
buffer
video segment
values
delay
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
DE602004012540T
Other languages
English (en)
Other versions
DE602004012540D1 (de
Inventor
Sachin Govind Vancouver DESHPANDE
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Publication of DE602004012540D1 publication Critical patent/DE602004012540D1/de
Application granted granted Critical
Publication of DE602004012540T2 publication Critical patent/DE602004012540T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Die vorliegende Erfindung betrifft einen hypothetischen Referenzdecodierer.
  • Ein digitales Videosystem weist einen Sender und einen Empfänger auf, die ein Video zusammenstellen, das Audio, Bilder und Zusatzkomponenten für eine koordinierte Präsentation an einen Anwender umfasst. Das Sendersystem weist Subsysteme auf, um die digitalen Quellendaten (die Elementar- oder Anwendungsdatenströme, die Audio-, Video- und Zusatzdatenkomponente eines Programms darstellen) zu empfangen und zu komprimieren; die Daten aus den mehreren Elementardatenströme in einen einzelnen Transportbitstrom zu multiplexen; und die Daten an den Empfänger zu senden. An dem Empfänger wird der Transportbitstrom in seine einzelnen Elementardatenströme demultiplexiert. Die Elementardatenströme werden decodiert, und die Audio- und Videodatenströme werden als synchronisierte Programmelemente an das Präsentations-Subsystem des Empfängers zur Anzeige als Teile eines koordinierten Programms geliefert.
  • Bei vielen Videocodierstandards wird ein konformer Bitstrom an den Decodierer von einem hypothetischen Decodierer decodiert, der mit dem Ausgang eines Codierers konzeptionell verbunden ist und aus einem Decodierpuffer, einem Decodierer und einem Sichtanzeigegerät besteht. Dieser virtuelle Decodierer ist als der hypothetische Referenzdecodierer (HRD) in H.263 und der Video Buffering Verifier (VBV) in MPEG-2 bekannt. Der Codierer erzeugt einen Bitstrom, so dass der hypothetische Decodierpuffer keinen Überlauf oder Unterlauf hat.
  • Demzufolge kann die Datenmenge, die der Empfänger eventuell zwischenspeichern muss, dessen Leistung (eine Speicherüberlaufbedingung) oder Durchsatzfähigkeiten übersteigen. Alternativ kann der Empfänger darin versagen, sämtliche Daten in einer Datenzugriffseinheit rechtzeitig zur Decodierung und synchronisierten Präsentation mit einem vorgegebenen Augenblick in den Audio- oder Videodatenströmen zu empfangen, was zu einem Verlust von Daten und einer unbeständigen Leistung (eine Speicherunterlaufbedingung) führt.
  • Bei bestehenden hypothetischen Referenzdecodierern wird der Videobitstrom mit einer vorgegebenen konstanten Bitgeschwindigkeit (gewöhnlich die Durchschnittsgeschwindigkeit in Bits/Sekunde des Stromes) empfangen und wird in dem Decodierpuffer gespeichert, bis die Pufferfülle einen gewünschten Pegel erreicht. Ein derartiger gewünschter Pegel wird als die anfängliche Decodierpufferfülle bezeichnet und ist zu der Übertragungs- oder Anlauf-(Puffer-)Verzögerung direkt proportional. An jenem Punkt entfernt der Decodierer sofort die Bits für das erste Videovollbild der Sequenz, decodiert die Bits und zeigt das Vollbild an. Die Bits für die folgenden Vollbilder werden ebenfalls entfernt, decodiert und in nachfolgenden Zeitintervallen sofort angezeigt.
  • Traditionelle hypothetische Decodierer arbeiten mit einer festen Bitgeschwindigkeit, Pufferlänge und anfänglichen Verzögerung. Jedoch bei vielen heutigen Videoanwendungen (z. B. Videostreaming durch das Internet oder ATM-Netze) variiert die verfügbare Bandbreite gemäß dem Netzwerkpfad (z. B. wie sich der Anwender mit dem Netz verbindet: mittels Modem, ISDN, DLS, Kabel usw.) und schwankt auch in der Zeit gemäß Netzbedingungen (z. B. Überlastung, die Zahl der angeschlossenen Anwender usw.). Des Weiteren werden die Videobitströme an eine Vielzahl von Geräten mit verschiedenen Pufferfähigkeiten (z. B. Handapparate, PDAs, PCs, Aufsatzgeräte, DVD-ähnliche Player usw.) geliefert und werden für Szenarien mit verschiedenen Verzögerungsanforderungen (z. B. Streaming mit niedriger Verzögerung, progressiver Download usw.) erzeugt. Demzufolge erfordern diese Anwendungen einen flexibleren hypothetischen Referenzdecodierer, der einen Bitstrom bei verschiedenen Spitzenbitgeschwindigkeiten und mit verschiedenen Pufferlängen und Anlaufverzögerungen decodieren kann.
  • Jordi Ribas-Corbera und Philip A. Chou schlugen in einer wissenschaftlichen Veröffentlichung vom 4. September 2001 mit dem Titel "A Generalized Hypothetical Reference Decoder For H.26L" ("Generalisierter hypothetischer Referenzdecodierer für H.26L"] einen modifizierten hypothetischen Referenzdecodierer vor. Der Decodierer arbeitet gemäß N- Sätzen von Geschwindigkeits- und Pufferparametern für einen vorgegebenen Bitstrom. Jeder Satz kennzeichnet was als Leaky-Bucket-Modell bekannt ist und enthält drei Werte (R, B, F), wobei R die Übertragungsgeschwindigkeit, B die Pufferlänge und F die anfängliche Decodierpufferfülle ist (F/R ist die Anlaufverzögerung oder anfängliche Pufferverzögerung). Ein Codierer kann einen Videobitstrom erzeugen, der durch einige gewünschte N-Leaky-Buckets eingegrenzt ist, oder kann einfach die N-Sätze von Parametern berechnen, nachdem der Bitstrom erzeugt worden ist. Der hypothetische Referenzdecodierer kann zwischen den Leaky-Buckets-Parametern interpolieren und kann bei jeder gewünschten Spitzenbitgeschwindigkeit, Pufferlänge oder Verzögerung arbeiten. Zum Beispiel kann der Referenzdecodierer bei einer vorgegebenen Spitzenübertragungsgeschwindigkeit R' die kleinste Pufferlänge und Verzögerung (gemäß den verfügbaren Leaky-Bucket-Daten) auswählen, die in der Lage sind, den Bitstrom zu decodieren ohne unter einem Pufferunterlauf oder -überlauf zu leiden. Umgekehrt kann der hypothetische Decodierer bei einer vorgegebenen Pufferlänge B' die minimal erforderliche Spitzenübertragungsgeschwindigkeit auswählen und bei dieser arbeiten.
  • Es gibt Vorteile einen derartigen generalisierten hypothetischen Referenzdecodierer zu verwenden. Zum Beispiel kann ein Inhaltanbieter einen Bitstrom einmalig erzeugen, und ein Server kann diesen an mehrere Geräte unterschiedlicher Fähigkeiten unter Verwendung einer Vielzahl von Kanälen unterschiedlicher Spitzenübertragungsgeschwindigkeiten liefern. Oder ein Server und ein Terminal können den besten Leaky Bucket für die vorgegebenen Netzbedingungen aushandeln – zum Beispiel jene, welche die niedrigste Anlauf-(Puffer-)Verzögerung erzeugen, oder jene, welche die niedrigste Spitzenübertragungsgeschwindigkeit für die vorgegebene Pufferlänge des Gerätes erfordert.
  • Wie in Dokument VCEG-58, Abschnitt 2.1–2.4 beschrieben, ist ein Leaky Bucket ein Modell für den Zustand (oder Fülle) eines Codier- oder Decodierpuffers als eine Funktion der Zeit. Die Fülle des Codier- und des Decodierpuffers sind Komplemente von einander. Ein Leaky-Bucket-Modell ist durch drei Parameter (R, B, F) gekennzeichnet, wobei:
    R die Spitzenbitgeschwindigkeit (in Bits pro Sekunde) ist, bei der Bits den Decodierpuffer betreten. Bei konstanten Bitgeschwindigkeitsszenarien ist R oft die Kanalbitgeschwindigkeit und die durchschnittliche Bitgeschwindigkeit des Videoclips.
    B die Größe des Bucket oder die Länge des Decodierpuffers (in Bits) ist, welche die Videobitgeschwindigkeitsschwankungen glättet. Diese Pufferlänge kann nicht größer sein als der physische Puffer des Decodiergerätes.
    F die anfängliche Decodierpufferfülle (ebenfalls in Bits) ist, bevor der Decodierer damit beginnt, Bits aus dem Puffer zu entfernen. F und R bestimmen die anfängliche Verzögerung oder Anlaufverzögerung D, wobei D = F/R Sekunden.
  • Bei einem Leaky-Bucket-Modell betreten die Bits den Puffer mit einer Geschwindigkeit R, bis der Pegel der Fülle F ist (d. h. für D Sekunden), und dann werden b0-Bits für das erste Vollbild sofort entfernt. Die Bits betreten weiter den Puffer mit einer Geschwindigkeit R, und der Decodierer entfernt b1, b2, ..., bn – 1 Bits für die folgenden Vollbilder bei einigen vorgegebenen Zeitaugenblicken, typischerweise (aber nicht notwendigerweise) alle 1/M Sekunden, wobei M die Vollbildgeschwindigkeit des Videos ist. 1 stellt die Decodierpufferfülle entlang der Zeit eines Bitstromes dar, der in einem Leaky Bucket von Parametern (R, B, F) eingeschränkt ist.
  • Lassen Sie Bi die Decodierpufferfülle unmittelbar vor dem Entfernen von B1 Bits bei Zeit t1 sein. Ein generisches Leaky-Bucket-Modell arbeitet gemäß den folgenden Gleichungen: B0 = F Bi+1 = min (B, Bi – bi + R(ti+1 – ti)), i = 0, 1, 2, ... (1)Typischerweise ist ti+1 – ti = 1/M Sekunden, wobei M die Vollbildgeschwindigkeit (normalerweise in Vollbildern/Sekunde) für den Bitstrom ist.
  • Ein Leaky-Bucket-Modell mit Parametern (R, B, F) enthält einen Bitstrom, falls es keinen Unterlauf des Decodierpuffers gibt. Da die Codier- und Decodierpufferfülle Komplemente von einander sind, entspricht dies keinem Überlauf des Codierpuffers. Jedoch wird dem Codierpuffer (dem Leaky Bucket) erlaubt leer zu werden, oder entsprechend darf der Decodierpuffer voll werden, an welchem Punkt keine weiteren Bits von dem Codierpuffer an den Decodierpuffer gesendet werden. Somit hört der Decodierpuffer auf Bits zu empfangen, wenn er voll ist, weshalb der min Operator in Gleichung (1) aufgenommen ist. Ein voller Decodierpuffer bedeutet einfach, dass der Codierpuffer leer ist.
  • Die folgenden Beobachtungen können gemacht werden:
    Ein vorgegebener Videostrom kann in vielen Leaky Buckets enthalten sein. Ist zum Beispiel ein Videostrom in einem Leaky Bucket mit Parametern (R, B, F) enthalten, ist dieser auch in einem Leaky Bucket mit einem größeren Puffer (R, B', F), B' > B, oder in einem Leaky Bucket mit einer höheren Spitzenübertragungsgeschwindigkeit (R', B, F), R' > R, enthalten.
  • Das System kann für jede Bitgeschwindigkeit R immer eine Pufferlänge finden, die den (zeitbeschränkten) Videobitstrom enthält. In dem Worst Case (R' geht auf 0) muss die Pufferlänge genauso groß sein wie der Bitstrom selbst. Anders ausgedrückt, ein Videobitstrom kann mit jeder Geschwindigkeit (ungeachtet der durchschnittlichen Bitgeschwindigkeit des Clips) gesendet werden, so lange wie die Pufferlänge groß genug ist.
  • Angenommen, dass das System F = aB für sämtliche Leaky Buckets festlegt, wobei a ein gewisser gewünschter Bruchteil der anfänglichen Pufferfülle ist. Für jeden Wert der Spitzenbitgeschwindigkeit R kann das System die Mindestpufferlänge Bmin finden, die den Bitstrom unter Verwendung von Formel (1) enthält. Die grafische Darstellung der Kurve von R-B-Werten wird in 2 gezeigt.
  • Per Beobachtung ist die Kurve von (Rmin, Bmin) Paaren für jeden Bitstrom (wie zum Beispiel der in 2) stückweise linear und konvex. Folglich kann der Decodierer, wenn N-Punkte der Kurve bereitgestellt werden, die Werte linear interpolieren, um zu einigen Punkten (Rinterp, Binterp) zu gelangen, die etwas, aber sicher größer sind als (Rmin, Bmin). Auf diese Weise kann man die Bufferlänge und folglich auch die Verzögerung durch eine Größenordnung in Bezug auf einen einzelnen Leaky Bucket reduzieren, der den Bitstrom mit seiner durchschnittlichen Geschwindigkeit enthält. Alternativ kann man für dieselbe Verzögerung die Spitzenübertragungsgeschwindigkeit um einen Faktor vier reduzieren oder eventuell sogar den Rauschabstand um mehrere dB verbessern.
  • MPEG Video Buffering Verifier (VBV)
  • Der MPEG Video Buffering Verifier (VBV) kann in zwei Betriebsarten arbeiten: konstante Bitgeschwindigkeit (CBR) und variable Bitgeschwindigkeit (VBR). MPEG-1 unterstützt nur die CBR-Betriebsart, während MPEG-2 beide Betriebsarten unterstützt.
  • Der VBV arbeitet in der CBR-Betriebsart, wenn der Bitstrom in einem Leaky-Bucket-Modell von Parametern (R, B, F) enthalten ist, und:
    R = Rmax = die durchschnittliche Bitgeschwindigkeit des Stroms.
  • Der Wert B ist in dem Syntaxparameter vbv_Puffer_Länge unter Verwendung einer speziellen Längeneinheit (d. h. 16 × 1024 Biteinheiten) gespeichert.
  • Der Wert F/R ist in dem Syntaxelement vbv_Verzögerung gespeichert, das mit dem ersten Videovollbild in der Sequenz unter Verwendung einer speziellen Zeiteinheit (d. h. Anzahl von Perioden eines 90 KHz Takts) verbunden ist.
  • Die Decodierpufferfülle folgt den folgenden Gleichungen: B0 = F Bi+1 = Bi – bi + Rmax/M, i = 0, 1, 2, ... (2)
  • Der Codierer muss sicherstellen, dass Bi – bi stets größer als oder gleich Null ist, während Bi stets kleiner als oder gleich B ist. Mit anderen Worten, der Codierer stellt sicher, dass der Decodierpuffer keinen Unterlauf oder Überlauf hat.
  • Der VBV arbeitet in der VBR-Betriebsart, wenn der Bitstrom in einem Leaky-Bucket-Modell von Parametern (R, B, F) eingeschränkt ist, und:
    R = Rmax = die Spitzen- oder maximale Geschwindigkeit. Rmax ist höher als die durchschnittliche Geschwindigkeit des Bitstroms.
    F = B, d. h. der Puffer füllt sich anfangs auf.
  • Der Wert B ist in dem Syntaxparameter vbv_Puffer_Länge dargestellt, wie in dem CBR-Fall.
  • Die Decodierpufferfülle folgt den folgenden Gleichungen: B0 = B Bi+1 = min (B, Bi – bi + Rmax/M), i = 0, 1, 2 ... (3)
  • Der Codierer stellt sicher, dass Bi – bi stets größer als oder gleich Null ist. Das heißt, der Codierer muss sicherstellen, dass der Decodierpuffer keinen Unterlauf hat. Jedoch muss der Codierer in diesem VBR-Fall nicht sicherstellen, dass der Decodierpuffer nicht überläuft. Ist der Decodierpuffer voll, dann wird angenommen, dass der Codierpuffer leer ist und daher werden keine weiteren Bits von dem Codierpuffer an den Decodierpuffer übertragen.
  • Die VBR-Betriebsart ist für Geräte nützlich, die Daten bis zu der Spitzengeschwindigkeit Rmax lesen können. Zum Beispiel weist eine DVD VBR-Clips auf, wobei Rmax ungefähr 10 MBits/Sekunde beträgt, was der maximalen Lesegeschwindigkeit des Plattenlaufwerks entspricht, auch wenn die durchschnittliche Geschwindigkeit des DVD-Videostroms nur ungefähr 4 MBits/Sekunde beträgt.
  • Auf 3A und 3B Bezug nehmend, werden grafische Darstellungen einer Decodierpufferfülle für einige Bitströme, die in der CBR- bzw. VBR-Betriebsart arbeiten, gezeigt.
  • Allgemein gesprochen kann die CBR-Betriebsart als ein Sonderfall von VBR angesehen werden, wobei Rmax die durchschnittliche Geschwindigkeit des Clips ist.
  • H.263's hypothetischer Referenzdecodierer (HRD)
  • Das hypothetische Referenzmodell für H.263 ähnelt der CBR-Betriebsart des zuvor erörterten VBV von MPEG, mit Ausnahme des folgenden:
    Der Decodierer kontrolliert die Pufferfülle in gewissen Zeitintervallen und decodiert ein Vollbild, sobald sämtliche Bits für das Vollbild verfügbar sind. Dieser Ansatz führt zu einigen Vorteilen: (a) die Verzögerung wird minimiert, da F gewöhnlich nur etwas größer ist als die Anzahl an Bits für das erste Vollbild, und (b), sofern Frame Skipping üblich ist, wartet der Decodierer einfach bis zum nächsten verfügbaren Vollbild. Letzteres ist auch in der Low-Delay-Betriebsart des VBV von MPEG aktiviert.
  • Die Prüfung auf Pufferüberlauf erfolgt, nachdem die Bits für ein Vollbild aus dem Puffer entfernt worden sind. Dies lockert die Einschränkung zum Senden von großen I-Vollbildern von Zeit zu Zeit, aber es gibt einen Höchstwert für das größte Vollbild.
  • H.263's HRD kann im Wesentlichen einem Typ von Leaky-Bucket-Modell mit niedriger Verzögerung zugeordnet werden.
  • Einschränkungen früherer hypothetischer Referenzdecodierer
  • Früher bestehende hypothetische Referenzdecodierer arbeiten nur an einem Punkt (R, B) der Kurve in 2. Demzufolge haben diese Decodierer die folgenden Nachteile:
    Ist die in dem Kanal R vorhandene Bitgeschwindigkeit niedriger als R (zum Beispiel ist dies für Internet-Streaming und progressivem Download üblich, oder wenn ein MPEG-VBR-Clip mit einer Geschwindigkeit übertragen werden muss, die niedriger ist als die Spitzengeschwindigkeit), könnte der hypothetische Decodierer streng genommen den Bitstrom nicht decodieren.
  • Ist die verfügbare Bandbreite R' größer als R (zum Beispiel ist dies auch für Internet-Streaming sowie für lokales Playback üblich), könnten die früheren hypothetischen Decodierer in der VBR-Betriebsart arbeiten und den Bitstrom decodieren. Wären jedoch mehr Informationen über die Geschwindigkeits-Puffer-Kurve verfügbar, könnten die Pufferlänge und die damit verbundene Anlaufverzögerung, die zur Decodierung des Bitstroms erforderlich ist, beträchtlich reduziert werden.
  • Ist die physische Pufferlänge in einem Decodiergerät kleiner als B, kann das Gerät jenen Bitstrom nicht decodieren.
  • Ist die Pufferlänge größer als B, kann das Gerät den Bitstrom decodieren, aber die Anlaufverzögerung ist dieselbe.
  • Allgemeiner kann ein Bitstrom, der gemäß einem Leaky Bucket (R, B, F) erzeugt wurde, gewöhnlich nicht durch verschiedene Netzwerke mit einer Bitgeschwindigkeit kleiner als R und an eine Vielzahl von Geräten mit Pufferlängen kleiner als B verteilt werden. Auch die Anlaufverzögerung wird nicht minimiert.
  • Generalisierter hypothetischer Referenzdecodierer (GHRD)
  • Ein generalisierter hypothetischer Referenzdecodierer (GHRD) kann angesichts der Informationen von N-Leaky-Bucket-Modellen arbeiten, (R1, B1, F1), (R2, B2, F2), ..., (RN, BN, FN) (4)wobei jede davon den Bitstrom enthält. Ohne Verlust von Generalität lassen Sie uns annehmen, dass diese Leaky Buckets von der kleinsten zu der größten Bitgeschwindigkeit geordnet sind, d. h. Ri < Ri+1. Lassen Sie uns ferner annehmen, dass der Codierer diese Leaky-Bucket-Modelle und somit Bi < Bi+1 richtig berechnet.
  • Der gewünschte Wert N kann von dem Codierer ausgewählt werden. Ist N = 1, entspricht der GHRD im Wesentlichen dem VPP von MPEG. Der Codierer kann wählen: (a) die Leaky-Bucket-Werte vorzuwählen und den Bitstrom mit einer Geschwindigkeitssteuerung zu codieren, die sicherstellt, dass sämtliche Leaky-Bucket-Einschränkungen erfüllt werden, (b) den Bitstrom zu codieren und dann Formel (1) zu verwenden, um einen Satz von Leaky Buckets zu berechnen, die den Bitstrom bei N-verschiedenen Werten von R enthalten, oder (c) beides zu tun. Der erste Ansatz (a) kann für eine Live- oder on-Demand-Übertragung verwendet werden, während (b) und (c) nur für on-Demand zutreffen.
  • Die Anzahl an Leaky Buckets N und die Leaky-Bucket-Parameter (4) werden in den Bitstrom eingefügt. Auf diese Weise kann der Decodierer bestimmen, welchen Leaky Bucket er zu verwenden wünscht, indem er die Spitzenbitgeschwindigkeit, die ihm zur Verfügung steht, und/oder seine physische Pufferlänge kennt. Die Leaky-Bucket-Modelle in (4) sowie sämtliche linear interpolierten oder extrapolierten Modelle stehen zur Verwendung zur Verfügung. 4 stellt einen Satz von N Leaky-Bucket-Modellen und deren interpolierte oder extrapolierte (R, B) Werte dar.
  • Die interpolierte Pufferlänge B zwischen den Punkten k und k + 1 folgt der geraden Linie: B = {(Rk+1 – R)/(Rk+1 – Rk)}Bk + {(R – Rk)/(Rk+1 – Rk)}Bk+1 Rk < R < Rk+1
  • Ebenso kann die anfängliche Decodierpufferfülle F linear interpoliert werden: F = {(Rk+1 – R)/(Rk+1 – Rk)}Fk + {(R – Rk)/(Rk+1 – Rk)}Fk+1 Rk < R < Rk+1
  • Der resultierende Leaky Bucket mit Parametern (R, B, F) enthält den Bitstrom, da die Mindestpufferlänge Bmin sowohl in R und F konvex ist, das heißt, die Mindestpufferlänge Bmin, die jeder konvexen Kombination (R, F) = a(Rk, Fk) + (1 – a)(Rk+1, Fk+1), 0 < a < 1, entspricht, ist kleiner als oder gleich B = aBk + (1 – a)Bk+1.
  • Es wird beobachtet, dass wenn R größer ist als RN, der Leaky Bucket (R, BN, FN) ebenfalls den Bitstrom enthält, und somit sind BN und FN die Pufferlänge und die empfohlene anfängliche Decodierpufferfülle, wenn R > = RN. Ist R kleiner als R1, kann die obere Grenze B = B1 + (R1 – R)T bewirkt werden (und sobald F = B eingestellt werden kann), wobei T die Zeitlänge des Stroms in Sekunden ist. Diese (R-, B-) Werte außerhalb der Reichweite der N-Punkte werden ebenfalls in 4 gezeigt.
  • Der Arbeitsentwurf Nummer 2, Revision 0 (WD-2), des Joint Video Team von ISO/IEC MPEG und ITU-T VCEG nahm viele der Konzepte des von Jordi Ribas-Cobera et al. von Microsoft Corporation vorgeschlagenen hypothetischen Decodierers auf, der durch Bezugnahme hier aufgenommen wird. Das WD-2 Dokument ähnelt dem von Jordi Ribas-Cobera et al. von Microsoft Corporation vorgeschlagenem Decodierer, obwohl die Syntax etwas modifiziert ist. Des Weiteren beschreibt WD-2 einen Beispielalgorithmus zur Berechnung von B und F bei einer vorgegebenen Geschwindigkeit R.
  • Die U.S. Patentanmeldung mit der Veröffentlichungsnummer US 2003/0053416A beschreibt die Verwendung von zwei Leaky-Bucket-Modellen. Der erste eingestellte Leaky-Bucket-Parameter würde eine Übertragung des Videos über einen Kanal mit konstanter Bitgeschwindigkeit mit einer Verzögerung von ungefähr 22,5 Sekunden zulassen. Der zweite Satz von Leaky-Bucket-Parametern würde eine Übertragung des Videos über ein geteiltes Netzwerk mit einer Spitzengeschwindigkeit von 2.500 kbps zulassen oder würde ein lokales Playback aus einem 2 × CD mit einer Verzögerung von ungefähr 0,9 Sekunden zulassen.
  • Eine wissenschaftliche Veröffentlichung von Ribas-Corbera, J. et al, "A flexible decoder buffer model for JVT video coding" [Flexibles Decodierpuffermodell für JVT-Videocodierung), Internationale Bildverarbeitungskonferenz ICIP 2002, Band 2, 22.–25. Sept. 2002, S. 11–493 bis 11–496, XP002375851, offenbart einen hypothetischen Referenzdecodierer für JVT.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Videocodierer bereitgestellt, der wie folgt aufweist:
    • (a) ein Mittel zum Definieren eines ersten Satzes von Mehrfachwerten, die für eine Übertragungsgeschwindigkeit eines ersten Abschnitts eines Videosegments charakteristisch sind;
    • (b) ein Mittel zum Definieren eines zweiten Satzes von Mehrfachwerten, die für eine Pufferlänge des ersten Abschnitts des Videosegments charakteristisch sind;
    • (c) ein Mittel zum Definieren eines dritten Satzes von Mehrfachwerten, die für eine anfängliche Pufferfülle des ersten Abschnitts des Videosegments charakteristisch sind oder für eine Verzögerung charakteristisch sind, bis der erste Abschnitt des Videosegments präsentiert wird;
    • (d) ein Mittel zum Auswählen eines Wertes des Satzes von ersten Werten, eines Wertes des Satzes von zweiten Werten und eines Wertes des Satzes von dritten Werten, so dass der erste Abschnitt des Videosegments frei von einer Unterlaufbedingung und einer Überlaufbedingung ist;
    • (e) ein Mittel zum Definieren eines vierten Satzes von Mehrfachwerten, die für eine anfängliche Pufferfülle eines zweiten Abschnitts des Videosegments charakteristisch sind oder für eine Verzögerung charakteristisch sind, bis ein zweiter Abschnitt des Videosegments präsentiert wird; und
    • (f) ein Mittel zum Auswählen eines Wertes des Satzes von vierten Werten, so dass der zweite Abschnitt des Videosegments frei von einer Unterlaufbedingung und einer Überlaufbedingung ist.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zur Videocodierung bereitgestellt, das wie folgt aufweist:
    • (a) das Definieren eines ersten Satzes von Mehrfachwerten, die für eine Übertragungsgeschwindigkeit eines ersten Abschnitts eines Videosegments charakteristisch sind;
    • (b) das Definieren eines zweiten Satzes von Mehrfachwerten, die für eine Pufferlänge des ersten Abschnitts des Videosegments charakteristisch sind;
    • (c) das Definieren eines dritten Satzes von Mehrfachwerten, die für eine anfängliche Pufferfülle des ersten Abschnitts des Videosegments charakteristisch sind oder für eine Verzögerung charakteristisch sind, bis der erste Abschnitt des Videosegments präsentiert wird;
    • (d) das Auswählen eines Wertes des Satzes von ersten Werten, eines Wertes des Satzes von zweiten Werten und eines Wertes des Satzes von dritten Werten, so dass der erste Abschnitt des Videosegments frei von einer Unterlaufbedingung und einer Überlaufbedingung ist;
    • (e) das Definieren eines vierten Satzes von Mehrfachwerten, die für eine anfängliche Pufferfülle eines zweiten Abschnitts des Videosegments charakteristisch sind oder für eine Verzögerung charakteristisch sind, bis ein zweiter Abschnitt des Videosegments präsentiert wird; und
    • (f) das Auswählen eines Wertes des Satzes von vierten Werten, so dass der zweite Abschnitt des Videosegments frei von einer Unterlaufbedingung und einer Überlaufbedingung ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 stellt eine Decodierpufferfülle dar.
  • 2 stellt eine R-B-Kurve dar.
  • 3A und 3B stellen grafische Darstellungen einer Decodierpufferfülle für einige Bitströme dar, die in der CBR- bzw. VBR-Betriebsart arbeiten.
  • 4 stellt einen Satz von N_Leaky-Bucket-Modellen und deren interpolierte oder extrapolierte (R-, B-) Werte dar.
  • 5 stellt eine anfängliche Pufferung Bj für jeden beliebigen Punkt des Decodierers dar, den der Anwender sucht, wenn die Geschwindigkeit Rj ist.
  • 6 stellt Sätze von (R, B, F) dar, die auf eine vorwärtsblickende Weise für den jeweiligen Videostrom definiert sind.
  • 7 stellt die anfängliche Pufferfülle (in Bits) für ein Videosegment dar.
  • 8 stellt die Auswahlkriterien eines Satzes von 10 Punkten für 7 dar.
  • 9 stellt Auswahlkriterien dar.
  • 10 stellt Verzögerungsreduzierungen dar.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Wie zuvor beschrieben, erlaubt der JVT-Standard (WD-2) die Speicherung von (N > = 1) Leaky Buckets, (R1, B1, F1), ..., (RN, BN, FN) Werten, die in dem Bitstrom enthalten sind. Diese Werte können in dem Anfangsblock gespeichert sein. Das Verwenden von Fi als die anfängliche Pufferfülle und Bi als die Pufferlänge garantiert, dass der Decodierpuffer keinen Unterlauf hat, wenn der Eingangsstrom mit der Geschwindigkeit Ri eingeht. Dies ist der Fall, wenn der Anwender wünscht, das codierte Video von Anfang bis Ende zu präsentieren. Bei einer typischen Video-on-Demand-Anwendung kann der Anwender wollen, verschiedene Abschnitte des Videostroms zu suchen. Der Punkt, den der Anwender zu suchen wünscht, kann als der Zugriffspunkt bezeichnet werden. Während des Vorgangs des Empfangens von Videodaten und des Aufbauens von Videovollbildern schwankt die Datenmenge in dem Puffer. Nach Überlegung kam der vorliegende Erfinder zu der Erkenntnis, dass wenn der Fi-Wert der anfänglichen Pufferfülle (wenn die Kanalgeschwindigkeit Ri ist) verwendet wird, bevor begonnen wird, das Video von dem Zugriffspunkt zu decodieren, dann ist es möglich, dass der Decodierer einen Unterlauf hat. Zum Beispiel kann an dem Zugriffspunkt oder irgendwann danach die Menge an Bits, die für einen Videowiederaufbau notwendig ist, größer sein als die Bits, die momentan in dem Puffer sind, was zu einem Unterlauf und der Unfähigkeit führt, Videovollbilder auf eine zeitgemäße Weise zu präsentieren. Ebenso kann gezeigt werden, dass in einem Videostrom der Wert der anfänglichen Pufferfülle, die benötigt wird, um sicherzustellen, dass es an dem Decodierer keinen Unterlauf gibt, auf der Grundlage des Punkts variiert, an dem der Anwender sucht. Dieser Wert ist von dem Bi begrenzt. Dementsprechend ist die Kombination von B und F, die für die ganze Videosequenz bereitgestellt wird, sofern für einen Zwischenpunkt in dem Video verwendet, wahrscheinlich nicht geeignet, was zu einem Unterlauf und somit zu dem Einfrieren von Vollbildern führt.
  • Auf der Grundlage dieses zuvor nicht erkannten Unterlaufpotenzials kam der vorliegende Erfinder dann zu der Erkenntnis, dass wenn nur ein Satz von R-, B- und F-Werten für ein ganzes Videosegment definiert ist, dann das System warten sollte, bis der Puffer B für die entsprechende Geschwindigkeit R voll oder im Wesentlichen voll ist (oder mehr als 90% voll), um zu beginnen, Vollbilder zu decodieren, wenn ein Anwender auf einen Zugriffspunkt springt. Auf diese Weise ist die anfängliche Fülle des Puffers auf einem Höchstwert, und somit gibt es kein Unterlaufpotenzial während des nachfolgenden Decodierens ab dem Zugriffspunkt. Dies kann ohne irgendwelche zusätzlichen Änderungen an dem bestehenden Bitstrom erreicht werden, wodurch bestehende Systeme nicht beeinträchtigt werden. Entsprechend verwendet der Decodierer den Wert der anfänglichen Pufferung Bj für jeden beliebigen Punkt, den der Anwender sucht, wenn die Geschwindigkeit Rj ist, wie in 5 gezeigt. Jedoch führt dies leider manchmal zu einer beträchtlichen Verzögerung, bis Videovollbilder präsentiert werden, nachdem eine andere Stelle (zum Beispiel Zugriffspunkt), ab der das Video zu präsentieren ist, ausgewählt worden ist.
  • Die anfängliche Pufferfülle (F) kann gleichfalls als eine Verzögerung bis die Videosequenz präsentiert wird bezeichnet werden. Die Verzögerung ist ihrem Wesen nach temporär in Bezug auf die Zeit, die notwendig ist, um die anfängliche Pufferfülle (F) zu erreichen. Die Verzögerung und/oder F kann mit dem ganzen Video oder den Zugriffspunkten verbunden sein. Es versteht sich ebenfalls von selbst, dass F in sämtlichen hier beschriebenen Ausführungsformen durch Verzögerung ersetzt werden kann (zum Beispiel (R, B, Verzögerung)). Ein bestimmter Wert für die Verzögerung kann als Verzögerung = F/R unter Verwendung einer speziellen Zeiteinheit (Einheiten von 90 KHz Takt) berechnet werden.
  • Um die potentielle Verzögerung zu reduzieren kam der vorliegende Erfinder zu der Erkenntnis, dass Sätze von (R, B, F) für einen bestimmten Videostrom an jedem Zugriffspunkt definiert werden können. Auf 6 Bezug nehmend sind diese Sätze von (R, B, F) bevorzugt auf eine vorwärtsblickende Weise für den jeweiligen Videostrom definiert. Zum Beispiel kann ein Satz von (R-, B-, F-) Werten auf die früher bestehende Weise für den Videostrom als ganzes berechnet werden, des Weiteren kann ein Satz von F-Werten für dieselben (R-, B-) Werte wie jene für den ganzen Videostrom auf die früher bestehende Weise für den Videostrom in Bezug auf den Videostrom ab Position "2" nach vorne blickend usw. berechnet werden. Derselbe Vorgang kann für die verbleibenden Zugriffspunkte verwendet werden. Die Zugriffspunkte können jedes Vollbild in der Videosequenz, I-Vollbilder der Sequenz, B-Vollbilder der Sequenz oder P-Vollbilder der Sequenz sein (I-, B- und P-Vollbilder werden typischerweise in der Videocodierung auf MPEG-Basis verwendet). Dementsprechend kann der Anwender einen der Zugriffspunkte auswählen und danach das jeweilige Fij für die gewünschte anfängliche Fülle (in der Annahme, dass die Puffer Bi und die Geschwindigkeit Ri unverändert bleiben) oder andernfalls einen Satz von zwei oder mehreren von Ri, Bi, Fij verwenden.
  • Der Index "i" repräsentiert jeden Leaky Bucket, und der Index "j" repräsentiert jeden Direktzugriffspunkt. Nimmt man an, dass der Puffer Bi und die Geschwindigkeit Ri unverändert bleiben, ist ein Mehrfachsatz von Werten (Bi, Ri, Fil), wobei i = 1, 2, ..., N und Fil die anfängliche Pufferfülle repräsentiert, an dem Anfangsblock gespeichert. Dann ist Fij, wobei j = 2, 3, ..., an jedem Zugriffspunkt j gespeichert. Andererseits, wenn man annimmt, dass der Puffer Bi und die Geschwindigkeit Ri an jedem Zugriffspunkt j geändert werden, kann ein Mehrfachsatz von Werten (Bij, Rij, Fij) an dem Zugriffspunkt gespeichert werden. Der Vorteil des ersteren Falls ist, dass er die Datenmenge speichert, da nur ein Mehrfachsatz von Fij an jedem Zugriffspunkt gespeichert ist, und der Vorteil des letzteren Falls ist, dass er den Satz von Werten für jeden Zugriffspunkt zweckdienlicher abgleichen kann. Wird die Verzögerung (D) bis die Videosequenz präsentiert wird statt der anfänglichen Pufferfülle (F) verwendet, ist es möglich, die vorliegende Erfindung zu verwirklichen, indem Fij durch Dij ersetzt wird. In diesem Fall repräsentiert Du den Wert der Verzögerung. Dann, wenn man annimmt, dass der Puffer Bi und die Geschwindigkeit Ri unverändert bleiben, wird (Bi, Ri, Dij) an dem Anfangsblock gespeichert, und Dij wird an jedem Zugriffspunkt j gespeichert. Nimmt man an, dass der Puffer Bi und die Geschwindigkeit Ri an jedem Zugriffspunkt j geändert werden, kann ein Mehrfachsatz von Werten (Bij, Rij, Dij) an dem Zugriffspunkt gespeichert werden.
  • Diese Sätze von R-, B-, F-Werten für jeden Zugriffspunkt können an jeder geeigneten Stelle, wie zum Beispiel an dem Beginn der Videosequenz, zusammen mit Sätzen von (R-, B-, F-) Werten für den ganzen Videostrom oder vor jedem Zugriffspunkt angeordnet sein, was den Bedarf nach einem Index verhindert; oder auf eine Weise außerhalb des Videostroms selbst gespeichert sein, die für eine Server-/Client-Umgebung besonders geeignet ist.
  • Diese Technik kann durch das folgende Modell gekennzeichnet sein: (R1, B1, F1, M1, f1l, t1l, ... fM1l, tM1l) ..., (RN, BN, FN, MN, F1N, t1N, ..., fMNN, tMNN), wobei fkj den anfänglichen Pufferfüllenwert bei einer Geschwindigkeit Rj an einem Zugriffspunkt tkj (Zeitstempel) bezeichnet. Die Werte von Mj können als ein Eingabeparameter bereitgestellt werden oder können automatisch ausgewählt werden. Zum Beispiel kann Mj die folgenden Optionen umfassen:
    • (a): Mj kann gleich der Anzahl an Zugriffspunkten eingestellt sein. Auf diese Weise können die Werte von fkj für jeden Zugriffspunkt bei jeder Geschwindigkeit Rj gespeichert sein (entweder zu Beginn des Videostroms, in dem Videostrom, verteilt durch den Videostrom, oder andernfalls an jeder Stelle).
    • (b): Mj kann gleich Null eingestellt sein, falls keine Suchfähigkeitsunterstützung gewünscht wird.
    • (c): Mj-Werte für jede Geschwindigkeit Rj können automatisch ausgewählt werden (später beschrieben).
  • Das System kann bei einem vorgegebenen Rj eine anfängliche Pufferfülle verwenden, die fjk entspricht, falls der Anwender einen Zugriffspunkt tkj sucht. Dies ereignet sich, wenn der Anwender auswählt, an einem Zugriffspunkt zu beginnen, oder andernfalls stimmt das System die Wahl des Anwenders auf einen der Zugriffspunkte ab.
  • Es wird bemerkt, dass für den Fall, dass eine variable Bitgeschwindigkeit (in dem Bitstrom) verwendet wird, der anfängliche Pufferfüllenwert (oder die Verzögerung) bevorzugt anders ist als die Pufferlänge (oder die von der Pufferlänge berechnete Verzögerung), obgleich er auch derselbe sein kann. Im Falle einer variablen Bitgeschwindigkeit in MPEG-2, wird der VBV-Puffer gefüllt, bis er voll ist, d. h. F = B (der Wert B wird von vbv_Puffer_Länge repräsentiert).
  • Bei der vorliegenden Erfindung kann der anfängliche Pufferfüllenwert an jedem Direktzugriffspunkt zweckdienlich ausgewählt werden, um jeglichen Pufferunterlauf und -überlauf zu vermeiden. Wird die Verzögerung, bis die Videosequenz präsentiert wird, anstatt der Pufferfülle verwendet, wird der Verzögerungswert an jedem Direktzugriffspunkt zweckdienlich ausgewählt, um jeglichen Pufferunterlauf und -überlauf zu vermeiden. Im Allgemeinen bedeutet dies, dass eine niedrigere Verzögerung an jedem Direktzugriffspunkt als das Füllen des VBV-Puffers, bis er voll ist, erreicht wird. Daher hat das Bestimmen des Pufferfüllenwertes (oder der Verzögerung), der kleiner ist als die Pufferlänge (oder die von der Pufferlänge berechnete Verzögerung) der vorliegenden Erfindung den Vorteil einer niedrigen Verzögerung, da weniger Daten als im Stand der Technik zwischengespeichert werden müssen, bevor das Decodieren begonnen wird.
  • Falls das System zulässt, dass der Anwender zu jedem beliebigen Vollbild des Videos auf der Weise eines Zugriffspunkts springt, dann müsste der Decodierdatensatz für jedes einzelne Vollbild bereitgestellt werden. Obwohl zulässig, wäre der resultierende Datensatz übermäßig groß und würde eine beträchtliche Menge der für die Daten verfügbaren Bitgeschwindigkeit verbrauchen. Ein vernünftigerer Ansatz wäre den Anwender auf spezielle Zugriffspunkte in dem Videostrom zu begrenzen, wie zum Beispiel jede Sekunde, alle 10 Sekunden, jede Minute usw. Obwohl eine Verbesserung kann der resultierende Datensatz immer noch etwas umfangreich sein, was zu übermäßigen Daten für Geräte mit begrenzter Bandbreite, wie zum Beispiel mobile Kommunikationsgeräte, führt.
  • Für den Fall, dass der Anwender eine Position auswählt, die nicht einer der Zugriffspunkt mit einem zugehörigen Datensatz ist, dann kann die anfängliche Pufferfülle gleich max(fkj,f(k+1)j) für einen Zeitraum zwischen tkj und t(k+1)j sein, besonders, wenn die Zugriffspunkte richtig gewählt sind. Auf diese Weise wird garantiert, dass das System einen Satz von Werten hat, die frei davon sind, zu einer Unterlaufbedingung zu führen, oder andernfalls die Wahrscheinlichkeit einer Unterlaufbedingung zu reduzieren, wie nachstehend erklärt.
  • Um einen Satz von Werten auszuwählen, die keine Unterlaufbedingung sicherstellen (oder andernfalls reduzieren), wenn die oben genannten Auswahlkriterien verwendet werden, wird auf 7 Bezug genommen. 7 stellt die anfängliche Pufferfülle (in Bits) für ein Videosegment dar, wobei die vorwärtsblickende anfängliche Pufferfülle für 10-Sekunden-Erhöhungen berechnet wird. Dann wählt das System bevorzugt einen Zugriffspunkt an dem Beginn der Videosequenz und einen Zugriffspunkt an dem Ende des Videosegments aus. Zwischen dem Beginn und dem Ende des Videosegments wählt das System die lokalen Höchstwerte aus, um diese als Zugriffspunkte aufzunehmen. Auch kann das System die lokalen Mindestwerte auswählen, um diese als Zugriffspunkte aufzunehmen. Wenn ein begrenzter Satz von Zugriffspunkten gewünscht wird, wählt das System bevorzugt zuerst die lokalen Höchstwerte, dann die lokalen Mindestwerte aus, was dabei hilft, keinen Unterlauf sicherzustellen. Danach kann das System Zwischenpunkte, wie gewünscht, weiter auswählen.
  • Auf der Grundlage der Auswahlkriterien kann ein Satz von 10 Punkten für 7 ausgewählt werden, wie in 8 angezeigt. Auf 9 Bezug nehmend werden die 10 ausgewählten Punkte durch die gestrichelte Kurve angezeigt. Die resultierenden anfänglichen Pufferfüllenwerte an sämtlichen Zugriffspunkten werden durch die ununterbrochene Kurve angezeigt. Die ununterbrochene Kurve stellt einen "sicheren" Satz von Werten für sämtliche Punkte in dem Video dar, so dass der Decodierpuffer keinen Unterlauf hat. Falls sich extreme Schwankungen in der Bitgeschwindigkeit des tatsächlichen Bitstroms ereigneten, die in der Verarbeitung nicht erfasst wurden, wie zum Beispiel ein scharfer Zacken, dann ist es möglich, dass dies zu einem Unterlauf führt, obwohl normalerweise unwahrscheinlich. Die optimalen anfänglichen Pufferfüllenwerte an sämtlichen Zugriffspunkten werden durch die strichpunktierte Kurve angezeigt. Eine erhebliche Reduzierung der Pufferungszeitverzögerung wird im Gegensatz zur Erfordernis eines vollen Puffers erreicht, wenn auf einen Zugriffspunkt zugegriffen wird, wie in 10 dargestellt.
  • Des Weiteren, falls die Bitgeschwindigkeit und die Pufferlänge dieselbe bleiben, während ein anderer Zugriffspunkt ausgewählt wird, dann muss nur die modifizierte Pufferfülle F bereitgestellt oder anderweitig bestimmt werden.
  • Sämtliche hier genannten Bezugnahmen sind durch Bezugnahme aufgenommen.
  • Der Umfang der Erfindung wird durch die Ansprüche, die folgen, definiert.

Claims (8)

  1. Videocodierer, umfassend: (a) ein Mittel zum Definieren eines ersten Satzes von Mehrfachwerten (Ri), die für eine Übertragungsgeschwindigkeit eines ersten Abschnitts eines Videosegments charakteristisch sind; (b) ein Mittel zum Definieren eines zweiten Satzes von Mehrfachwerten (Bi), die für eine Pufferlänge des ersten Abschnitts des Videosegments charakteristisch sind; (c) ein Mittel zum Definieren eines dritten Satzes von Mehrfachwerten (Fil, Dil), die für eine anfängliche Pufferfülle des ersten Abschnitts des Videosegments charakteristisch sind oder für eine Verzögerung charakteristisch sind, bis der erste Abschnitt des Videosegments präsentiert wird; (d) ein Mittel zum Auswählen eines Wertes des Satzes von ersten Werten, eines Wertes des Satzes von zweiten Werten und eines Wertes des Satzes von dritten Werten, so dass der erste Abschnitt des Videosegments frei von einer Unterlaufbedingung und einer Überlaufbedingung ist; (e) ein Mittel zum Definieren eines vierten Satzes von Mehrfachwerten (Fij, Dij), die für eine anfängliche Pufferfülle eines zweiten Abschnitts des Videosegments charakteristisch sind oder für eine Verzögerung charakteristisch sind, bis ein zweiter Abschnitt des Videosegments präsentiert wird; und (f) ein Mittel zum Auswählen eines Wertes des Satzes von vierten Werten, so dass der zweite Abschnitt des Videosegments frei von einer Unterlaufbedingung und einer Überlaufbedingung ist.
  2. Codierer nach Anspruch 1, bei dem der erste Abschnitt des Videosegments ein ganzer Abschnitt des Videos ist.
  3. Codierer nach Anspruch 1, bei dem der zweite Abschnitt des Videosegments einen Direktzugriffspunkt des Videos bildet.
  4. Codierer nach Anspruch 1, bei dem es mehrere zweite Abschnitte des Videosegments gibt.
  5. Verfahren zur Videocodierung, umfassend: (a) das Definieren eines ersten Satzes von Mehrfachwerten (Ri), die für eine Übertragungsgeschwindigkeit eines ersten Abschnitts eines Videosegments charakteristisch sind; (b) das Definieren eines zweiten Satzes von Mehrfachwerten (Bi), die für eine Pufferlänge des ersten Abschnitts des Videosegments charakteristisch sind; (c) das Definieren eines dritten Satzes von Mehrfachwerten (Fil, Dil), die für eine anfängliche Pufferfülle des ersten Abschnitts des Videosegments charakteristisch sind oder für eine Verzögerung charakteristisch sind, bis der erste Abschnitt des Videosegments präsentiert wird; (d) das Auswählen eines Wertes des Satzes von ersten Werten, eines Wertes des Satzes von zweiten Werten und eines Wertes des Satzes von dritten Werten, so dass der erste Abschnitt des Videosegments frei von einer Unterlaufbedingung und einer Überlaufbedingung ist; (e) das Definieren eines vierten Satzes von Mehrfachwerten (Fij, Dij), die für eine anfängliche Pufferfülle eines zweiten Abschnitts des Videosegments charakteristisch sind oder für eine Verzögerung charakteristisch sind, bis ein zweiter Abschnitt des Videosegments präsentiert wird; und (f) das Auswählen eines Wertes des Satzes von vierten Werten, so dass der zweite Abschnitt des Videosegments frei von einer Unterlaufbedingung und einer Überlaufbedingung ist.
  6. Verfahren nach Anspruch 5, bei dem der erste Abschnitt des Videosegments ein ganzer Abschnitt des Videos ist.
  7. Verfahren nach Anspruch 5, bei dem der zweite Abschnitt des Videosegments einen Direktzugriffspunkt des Videos bildet.
  8. Verfahren nach Anspruch 5, bei dem es mehrere zweite Abschnitte des Videosegments gibt.
DE602004012540T 2003-03-31 2004-03-26 Videocodierer und videocodierungsverfahren Expired - Lifetime DE602004012540T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US404947 2003-03-31
US10/404,947 US7266147B2 (en) 2003-03-31 2003-03-31 Hypothetical reference decoder
PCT/JP2004/004374 WO2004088988A1 (en) 2003-03-31 2004-03-26 Video encoder and method of encoding video

Publications (2)

Publication Number Publication Date
DE602004012540D1 DE602004012540D1 (de) 2008-04-30
DE602004012540T2 true DE602004012540T2 (de) 2009-04-23

Family

ID=32990219

Family Applications (2)

Application Number Title Priority Date Filing Date
DE602004027847T Expired - Lifetime DE602004027847D1 (de) 2003-03-31 2004-03-26 Videokodierer und Verfahren zur Videokodierung
DE602004012540T Expired - Lifetime DE602004012540T2 (de) 2003-03-31 2004-03-26 Videocodierer und videocodierungsverfahren

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE602004027847T Expired - Lifetime DE602004027847D1 (de) 2003-03-31 2004-03-26 Videokodierer und Verfahren zur Videokodierung

Country Status (11)

Country Link
US (4) US7266147B2 (de)
EP (3) EP1611747B1 (de)
JP (4) JP2006519517A (de)
CN (3) CN1826812B (de)
AT (2) ATE390019T1 (de)
DE (2) DE602004027847D1 (de)
ES (3) ES2390596T3 (de)
HK (2) HK1145413A1 (de)
PL (1) PL2209319T3 (de)
PT (3) PT1611747E (de)
WO (1) WO2004088988A1 (de)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US6909383B2 (en) 2002-10-05 2005-06-21 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US7908130B2 (en) * 2002-12-12 2011-03-15 Ixia Modelling aggregate transport layer network traffic behaviour with feedback containing packet loss information
US7266147B2 (en) * 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
US7054774B2 (en) * 2003-06-27 2006-05-30 Microsoft Corporation Midstream determination of varying bandwidth availability
US7979886B2 (en) * 2003-10-17 2011-07-12 Telefonaktiebolaget Lm Ericsson (Publ) Container format for multimedia presentations
US8683535B2 (en) * 2004-03-26 2014-03-25 Broadcom Corporation Fast channel change
US8842175B2 (en) 2004-03-26 2014-09-23 Broadcom Corporation Anticipatory video signal reception and processing
US7162533B2 (en) * 2004-04-30 2007-01-09 Microsoft Corporation Session description message extensions
KR101161193B1 (ko) 2004-05-07 2012-07-02 디지털 파운튼, 인크. 파일 다운로드 및 스트리밍 시스템
US8218439B2 (en) * 2004-11-24 2012-07-10 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive buffering
US7536469B2 (en) * 2004-12-10 2009-05-19 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates
US20060143678A1 (en) * 2004-12-10 2006-06-29 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model
US7543073B2 (en) * 2004-12-10 2009-06-02 Microsoft Corporation System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate
KR20060065482A (ko) * 2004-12-10 2006-06-14 마이크로소프트 코포레이션 스트리밍 미디어 데이터의 코딩 비트 레이트의 제어 시스템및 프로세스
CA2603883A1 (en) * 2005-04-07 2006-10-12 Nokia Corporation Buffering in streaming delivery
EP1985021A4 (de) 2006-02-13 2013-05-29 Digital Fountain Inc Streaming und pufferung mit variablen fec-overhead- und schutzzeiten
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
CN101299808B (zh) * 2007-04-30 2011-11-16 北京希格玛和芯微电子技术有限公司 一种实时图像数据传输方法及装置
WO2009036378A1 (en) 2007-09-12 2009-03-19 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
JP5171413B2 (ja) * 2008-06-16 2013-03-27 三菱電機株式会社 コンテンツ送信装置、コンテンツ受信装置及びコンテンツ送信方法
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
EP2534643A4 (de) * 2010-02-11 2016-01-06 Nokia Technologies Oy Verfahren und vorrichtung zur bereitstellung einer multithread-videodekodierung
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8825886B2 (en) 2010-07-28 2014-09-02 Hong Kong Applied Science and Technology Research Institute Company Limited System and method for evaluating network transport effects on delivery of media content
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
ES2621231T3 (es) 2011-04-12 2017-07-03 Sun Patent Trust Método de codificación de video de movimiento, aparato de codificación de video de movimiento, método de decodificación de video de movimiento, aparato de decodificación de video de movimiento y aparato de codificación/decodificación de video de movimiento
ES2959874T3 (es) 2011-05-24 2024-02-28 Sun Patent Trust Procedimiento de codificación de imágenes, aparato de codificación de imágenes, procedimiento de decodificación de imágenes, aparato de decodificación de imágenes
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
PL2717575T3 (pl) 2011-05-27 2019-03-29 Sun Patent Trust Sposób dekodowania obrazów i urządzenie do dekodowania obrazów
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
JP5937589B2 (ja) 2011-05-31 2016-06-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 動画像復号化方法、および動画像復号化装置
EP2728878B1 (de) 2011-06-30 2020-02-19 Sun Patent Trust Bilddekodierungsverfahren, bildkodierungsverfahren, bilddekodierungsvorrichtung, bildkodierungsvorrichtung und bildkodierungs-/dekodierungsvorrichtung
MX341415B (es) 2011-08-03 2016-08-19 Panasonic Ip Corp America Metodo de codificacion de video, aparato de codificacion de video, metodo de decodificacion de video, aparato de decodificacion de video y aparato de codificacion/decodificacion de video.
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9420307B2 (en) 2011-09-23 2016-08-16 Qualcomm Incorporated Coding reference pictures for a reference picture set
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
CA2850595C (en) 2011-10-19 2020-09-08 Panasonic Corporation Picture coding method, picture coding apparatus, picture decoding method, and picture decoding apparatus
US9264717B2 (en) * 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
KR20130058584A (ko) 2011-11-25 2013-06-04 삼성전자주식회사 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
RU2713854C2 (ru) * 2012-04-23 2020-02-07 Сан Пэтент Траст Способ кодирования, способ декодирования, устройство кодирования, устройство декодирования и устройство кодирования и декодирования
JP5994367B2 (ja) * 2012-04-27 2016-09-21 富士通株式会社 動画像符号化装置、動画像符号化方法
US10110890B2 (en) 2012-07-02 2018-10-23 Sony Corporation Video coding system with low delay and method of operation thereof
US20140003534A1 (en) 2012-07-02 2014-01-02 Sony Corporation Video coding system with temporal scalability and method of operation thereof
US9912941B2 (en) 2012-07-02 2018-03-06 Sony Corporation Video coding system with temporal layers and method of operation thereof
JP6094126B2 (ja) * 2012-10-01 2017-03-15 富士通株式会社 動画像復号装置
CN109905726B (zh) * 2013-03-15 2021-06-04 构造数据有限责任公司 实时电视广告检测的系统和方法
WO2014196113A1 (ja) * 2013-06-06 2014-12-11 日本電気株式会社 時系列データ符号化装置、方法およびプログラム、並びに時系列データ再符号化装置、方法およびプログラム
JP6146471B2 (ja) * 2013-07-26 2017-06-14 富士通株式会社 符号化装置、符号化方法、および符号化プログラム
CN105594215B (zh) * 2013-10-11 2019-04-23 夏普株式会社 颜色信息和色度信令
EP3078023B1 (de) * 2013-12-02 2019-12-25 Dolby International AB Verfahren zur bitratensignalisierung und bitstromformat zur umsetzung des verfahrens
US9813719B2 (en) * 2014-06-18 2017-11-07 Qualcomm Incorporated Signaling HRD parameters for bitstream partitions
US10979747B2 (en) * 2017-12-21 2021-04-13 Arris Enterprises Llc Statistical multiplexing system for variable bit rate encoding with constant bit rate encoder
MX2021013535A (es) * 2019-05-06 2022-01-31 Huawei Tech Co Ltd Señalización de punto de recuperación en codificación de video.
EP4026328A4 (de) * 2019-09-24 2022-10-19 Huawei Technologies Co., Ltd. Hrd-konformitätstests auf ols
US11483227B2 (en) 2020-10-13 2022-10-25 Keysight Technologies, Inc. Methods, systems and computer readable media for active queue management
US11483228B2 (en) 2021-01-29 2022-10-25 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using an emulated data center environment
US11405302B1 (en) 2021-03-11 2022-08-02 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using configurable test infrastructure
US11388081B1 (en) 2021-03-30 2022-07-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for impairment testing using an impairment device
US11765068B2 (en) 2021-12-22 2023-09-19 Keysight Technologies, Inc. Methods, systems, and computer readable media for programmable data plane processor based traffic impairment

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02272851A (ja) * 1989-04-14 1990-11-07 Oki Electric Ind Co Ltd 画像パケット組立方式及び分解方式
US5159447A (en) * 1991-05-23 1992-10-27 At&T Bell Laboratories Buffer control for variable bit-rate channel
US5287182A (en) * 1992-07-02 1994-02-15 At&T Bell Laboratories Timing recovery for variable bit-rate video on asynchronous transfer mode (ATM) networks
US5365552A (en) * 1992-11-16 1994-11-15 Intel Corporation Buffer fullness indicator
US5481543A (en) 1993-03-16 1996-01-02 Sony Corporation Rational input buffer arrangements for auxiliary information in video and audio signal processing systems
JPH07107429A (ja) * 1993-10-05 1995-04-21 Matsushita Electric Ind Co Ltd 画像信号の記録装置及び画像信号の再生装置
US5398072A (en) * 1993-10-25 1995-03-14 Lsi Logic Corporation Management of channel buffer in video decoders
US6055270A (en) * 1994-04-20 2000-04-25 Thomson Cosumer Electronics, Inc. Multiplexer system using constant bit rate encoders
CA2146801C (en) * 1994-05-27 1999-11-02 Barin Geoffry Haskell Timing recovery for variable bit-rate video on asynchronous transfer mode (atm) networks
US5534944A (en) * 1994-07-15 1996-07-09 Matsushita Electric Corporation Of America Method of splicing MPEG encoded video
IT1266945B1 (it) * 1994-09-29 1997-01-21 Cselt Centro Studi Lab Telecom Procedimento di multiplazione per flussi di segnali audiovisivi codificati secondo lo standard mpeg1.
JP3058028B2 (ja) * 1994-10-31 2000-07-04 三菱電機株式会社 画像符号化データ再符号化装置
US5629736A (en) 1994-11-01 1997-05-13 Lucent Technologies Inc. Coded domain picture composition for multimedia communications systems
US5543853A (en) * 1995-01-19 1996-08-06 At&T Corp. Encoder/decoder buffer control for variable bit-rate channel
US5533021A (en) 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
US5652749A (en) 1995-02-03 1997-07-29 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of a multiple program multimedia data stream
US5619341A (en) * 1995-02-23 1997-04-08 Motorola, Inc. Method and apparatus for preventing overflow and underflow of an encoder buffer in a video compression system
US5877812A (en) * 1995-11-21 1999-03-02 Imedia Corporation Method and apparatus for increasing channel utilization for digital video transmission
US5686964A (en) * 1995-12-04 1997-11-11 Tabatabai; Ali Bit rate control mechanism for digital image and video data compression
DE69627031T2 (de) * 1996-01-08 2003-12-04 Ibm Dateiprozessor für die verteilung von multimedia-dateien
EP0841820A3 (de) * 1996-11-08 2005-11-09 Matsushita Electric Industrial Co., Ltd. Verfahren und Vorrichtung zur Kodierung, Multiplexierung und Übertragung eines Videosignales
US5982436A (en) * 1997-03-28 1999-11-09 Philips Electronics North America Corp. Method for seamless splicing in a video encoder
US6023296A (en) * 1997-07-10 2000-02-08 Sarnoff Corporation Apparatus and method for object based rate control in a coding system
US6188703B1 (en) * 1997-08-01 2001-02-13 International Business Machines Corp. Multiplexer for multiple media streams
US6397251B1 (en) * 1997-09-02 2002-05-28 International Business Machines Corporation File server for multimedia file distribution
US6366704B1 (en) * 1997-12-01 2002-04-02 Sharp Laboratories Of America, Inc. Method and apparatus for a delay-adaptive rate control scheme for the frame layer
US6301428B1 (en) * 1997-12-09 2001-10-09 Lsi Logic Corporation Compressed video editor with transition buffer matcher
JP4232209B2 (ja) * 1998-01-19 2009-03-04 ソニー株式会社 圧縮画像データの編集装置及び圧縮画像データの編集方法
US6269120B1 (en) * 1998-03-23 2001-07-31 International Business Machines Corporation Method of precise buffer management for MPEG video splicing
US6289129B1 (en) * 1998-06-19 2001-09-11 Motorola, Inc. Video rate buffer for use with push dataflow
US6912251B1 (en) * 1998-09-25 2005-06-28 Sarnoff Corporation Frame-accurate seamless splicing of information streams
ES2259827T3 (es) * 1998-10-13 2006-10-16 Matsushita Electric Industrial Co., Ltd. Regulacion de los requisitos de calculo y de memoria de un tren de bits comprimido en un decodificador de video.
JP3438613B2 (ja) * 1998-10-20 2003-08-18 三菱電機株式会社 符号化データ切替装置および符号化データ切替方法
US6272566B1 (en) 1998-11-18 2001-08-07 International Business Machines Corporation System for maintaining proper buffering within video play list
US6637031B1 (en) * 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6389072B1 (en) * 1998-12-23 2002-05-14 U.S. Philips Corp. Motion analysis based buffer regulation scheme
IL129345A (en) * 1999-04-06 2004-05-12 Broadcom Corp Video encoding and video/audio/data multiplexing device
US6909743B1 (en) * 1999-04-14 2005-06-21 Sarnoff Corporation Method for generating and processing transition streams
US6587506B1 (en) * 1999-11-02 2003-07-01 Matsushita Electric Industrial Co., Ltd. Video editing apparatus, video editing method, and data storage medium for a video editing program
US7292782B2 (en) 2000-09-27 2007-11-06 Victor Company Of Japan, Limited MPEG picture data recording apparatus, MPEG picture data recording method, MPEG picture data recording medium, MPEG picture data generating apparatus, MPEG picture data reproducing apparatus, and MPEG picture data reproducing method
JP3721972B2 (ja) * 2000-09-27 2005-11-30 日本ビクター株式会社 Mpeg画像データ記録方法
KR20020064925A (ko) * 2000-10-10 2002-08-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 디지털 비디오 기록을 위한 비디오 비트율 제어 방법 및장치
US6763067B2 (en) * 2000-10-10 2004-07-13 Sarnoff Corporation Rate control for bitstream re-encoding
US6907481B2 (en) * 2001-03-06 2005-06-14 Ati Technologies, Inc. System for bit-rate controlled digital stream playback and method thereof
US7646816B2 (en) 2001-09-19 2010-01-12 Microsoft Corporation Generalized reference decoder for image or video processing
JP2003092752A (ja) * 2001-09-19 2003-03-28 Mitsubishi Electric Corp 多重化装置、多重化方法、画像復号装置、画像復号方法
KR100468726B1 (ko) * 2002-04-18 2005-01-29 삼성전자주식회사 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
WO2004006446A2 (en) * 2002-07-02 2004-01-15 Conexant Systems, Inc. Hypothetical reference decoder for compressed image and video
US7266147B2 (en) * 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
US7380028B2 (en) * 2003-06-13 2008-05-27 Microsoft Corporation Robust delivery of video data
US8345754B2 (en) * 2003-09-07 2013-01-01 Microsoft Corporation Signaling buffer fullness
US7535959B2 (en) * 2003-10-16 2009-05-19 Nvidia Corporation Apparatus, system, and method for video encoder rate control
US9654533B2 (en) * 2013-01-17 2017-05-16 Electronics And Telecommunications Research Institute Method of adaptively delivering media based on reception status information from media client and apparatus using the same

Also Published As

Publication number Publication date
JP2012135009A (ja) 2012-07-12
JP5536811B2 (ja) 2014-07-02
HK1147374A1 (en) 2011-08-05
CN1826812A (zh) 2006-08-30
USRE43062E1 (en) 2012-01-03
EP2209319A3 (de) 2011-01-26
ATE390019T1 (de) 2008-04-15
CN101854553B (zh) 2014-12-31
PT1611747E (pt) 2008-04-11
EP1611747A1 (de) 2006-01-04
JP2006519517A (ja) 2006-08-24
USRE48953E1 (en) 2022-03-01
JP5025289B2 (ja) 2012-09-12
PT1791369E (pt) 2010-08-09
EP1791369B1 (de) 2010-06-23
ES2300757T3 (es) 2008-06-16
US7266147B2 (en) 2007-09-04
EP2209319B1 (de) 2012-07-04
ATE472228T1 (de) 2010-07-15
EP1611747A4 (de) 2006-06-14
JP2007189731A (ja) 2007-07-26
CN1826812B (zh) 2010-07-28
US20040190606A1 (en) 2004-09-30
PL2209319T3 (pl) 2012-11-30
CN101854552B (zh) 2017-05-17
DE602004027847D1 (de) 2010-08-05
EP1791369A3 (de) 2007-06-27
HK1145413A1 (en) 2011-04-15
DE602004012540D1 (de) 2008-04-30
WO2004088988A1 (en) 2004-10-14
CN101854553A (zh) 2010-10-06
EP1611747B1 (de) 2008-03-19
PT2209319E (pt) 2012-09-11
ES2390596T3 (es) 2012-11-14
JP2010166600A (ja) 2010-07-29
ES2348075T3 (es) 2010-11-29
JP5444047B2 (ja) 2014-03-19
USRE45983E1 (en) 2016-04-19
EP1791369A2 (de) 2007-05-30
CN101854552A (zh) 2010-10-06
EP2209319A2 (de) 2010-07-21

Similar Documents

Publication Publication Date Title
DE602004012540T2 (de) Videocodierer und videocodierungsverfahren
DE69934092T2 (de) Dekoderpufferspeicher für einen empfänger von videodatenströmen und methode
DE69730419T2 (de) System zur Verteilung komprimierter Videosignale, mit statistischem Multiplexer mit Transkodierern
DE60023576T2 (de) Verfahren und Vorrichtung zur Bewegtbilddatentranscodierung
DE69732281T2 (de) Puffergrösse minimierendes Verfahren zur Übertragung komprimierter Bilddaten
DE60131993T2 (de) Verfahren und gerät zur bestimmung der übertragungsbitrate in einem statistischen multiplexer
DE20222026U1 (de) Vorrichtung mit Decodierer zur verbesserten Referenzcodierung
DE69814642T2 (de) Verarbeitung codierter videodaten
DE60106286T2 (de) Zeitbasisreferenzdatumregeneration für mpeg-transportströme
DE69913990T2 (de) System zum editieren komprimierter bildsequenzen
US6643327B1 (en) Statistical multiplexer and remultiplexer that accommodates changes in structure of group of pictures
DE69837081T2 (de) Videopufferspeicher zur nahtlosen verbindung von mpeg-strömen
US20040153951A1 (en) Transmitting and receiving real-time data
DE69835211T2 (de) Umschaltung zwischen komprimierten videobitströmen
DE60314106T2 (de) Datenstruktur für ein datenübertragungssystem
EP2422517A1 (de) Verfahren und vorrichtung zur modifikation eines kodierten datenstroms
DE10035109B4 (de) Terminal und Verfahren zum Transportieren von Standbildern
DE60131602T2 (de) Multiplexabhängige Videokomprimierung
DE69432933T2 (de) Vorrichtung zur dynamischen zuweisung begrenzt verfügbarer mittel
US20020083125A1 (en) Interactive processing system
DE69434293T2 (de) Vorrichtung zur abtastung eines parameters
DE69920166T2 (de) Datencodierungsverfahren und -vorrichtung
Thyagharajan et al. Performance analysis of media transmission through low bandwidth networks
Dharmadhikari et al. EXTENDED I FRAME METHOD FOR VIDEO TRAFFIC SMOOTHING
Yu et al. VBR transcoding architecture for video streaming

Legal Events

Date Code Title Description
8364 No opposition during term of opposition