DE69933848T2 - Veränderung der bitrate - Google Patents

Veränderung der bitrate Download PDF

Info

Publication number
DE69933848T2
DE69933848T2 DE69933848T DE69933848T DE69933848T2 DE 69933848 T2 DE69933848 T2 DE 69933848T2 DE 69933848 T DE69933848 T DE 69933848T DE 69933848 T DE69933848 T DE 69933848T DE 69933848 T2 DE69933848 T2 DE 69933848T2
Authority
DE
Germany
Prior art keywords
bit rate
bitrate
encoder
data stream
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69933848T
Other languages
English (en)
Other versions
DE69933848D1 (de
Inventor
Nicolas Bailleul
Etienne Fert
Pierre Gautier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE69933848D1 publication Critical patent/DE69933848D1/de
Application granted granted Critical
Publication of DE69933848T2 publication Critical patent/DE69933848T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/152Data rate or code amount at the encoder output by measuring the fullness of 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/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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/172Methods 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 an image region, e.g. an object the region being a picture, frame or field
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Communication Control (AREA)

Description

  • TECHNISCHES GEBIET
  • Die Erfindung betrifft das Ändern der Bitrate eines Datenstroms mit den folgenden kennzeichnenden Merkmalen. Der Datenstrom umfasst Steuerungswörter. Ein Steuerungswort legt fest, wann ein Datenabschnitt, der in dem Datenstrom enthalten ist, aus einem Eingangspuffer an einem Empfangsende zu lesen ist. Ein Videodatenstrom gemäß einem Standard der Moving Pictures Experts Group (MPEG) has solche kennzeichnenden Merkmale.
  • ALLGEMEINER STAND DER TECHNIK
  • US-Patent Nr. 5,680,483 beschreibt einen MPEG-Codierer mit umschaltbaren Bitraten. In der gleichen Weise offenbart die internationale Patentanmeldung WO 97/38532 A ein Verfahren zum Ändern der Bitrate, umfassend einen Schritt des Steuerns des Codiererpuffers dergestalt, dass eine Änderung der Rate der Datenausgabe aus dem Codierer (d. h. die Ausgabebitrate) um einen vorgegebenen Zeitraum relativ zu einer Änderung der Dateneingabe in den Codiererpuffer verzögert wird. Die Verzögerung sollte gleich dem Zeitstempelzeitraum (d. h. der Ende-zu-Ende-Verzögerung) sein. Somit erfolgt ein Umschalten zu einer neuen Bitrate nach einer Verzögerung gleich der Ende-zu-Ende-Verzögerung.
  • US-Patent Nr. 5,686,963 offenbart ein Verfahren zum Ändern der Bitrate ohne Vorankündigung. Die Berechnung einer größten und kleinsten Bitrate stützt sich auf den Füllungsgrad des Codiererpuffers zum Zeitpunkt des Bitratenwechsels. Weil der Füllungsgrad des Codiererpuffers an einem in der Zukunft liegenden Zeitpunkt nicht bekannt ist, folgt daraus, dass der Bitratenwechsel unmittelbar erfolgt.
  • Zwei Ausführungsformen eines Verfahrens zum Ändern der Bitrate werden in der Patentanmeldung GB-A-2307151 beschrieben. Bei einer ersten Ausführungsform wird eine neue Bitrate nach einer Verzögerung, die der Ende-zu-Ende-Verzögerung entspricht, angewendet, wie in WO 97/38532 A. Bei einer zweiten Ausführungsform wird eine neue Bitrate unmittelbar angewendet. In diesem Fall wird ein größter und ein kleinster Wert für die neue Bitrate berechnet, wie in US 5,686,963 .
  • KURZDARSTELLUNG DER ERFINDUNG
  • Es ist eine Aufgabe der Erfindung, eine bessere Qualität der in dem Datenstrom enthaltenen Daten zu ermöglichen.
  • Die Erfindung berücksichtigt die folgenden Aspekte. Nehmen wir an, dass in einem bestimmten Moment festgestellt wird, dass Bitrate eines Datenstroms erhöht werden sollte, um ein bestimmtes Qualitätsniveau aufrecht zu erhalten. Am besten wird die Bitrate sofort geändert. Das heißt, im Idealfall erfolgt eine unmittelbare Reaktion auf eine Bitanforderung. Allerdings kann bei einem Datenstrom mit den oben erwähnten kennzeichnenden Merkmalen die Bitrate nicht unmittelbar geändert werden. Wenn die Bitrate unmittelbar geändert werden würde, so würde dies wahrscheinlich zu einem Unterlauf oder Überlauf des Eingangspuffers am Empfangsende führen. In diesem Fall würden Daten verloren gehen, was der Qualität abträglich ist.
  • Im Stand der Technik scheint man sich folgenden Prinzips zu bedienen. Die Bitrate wird erst geändert, nachdem jedes Steuerungswort, das bereits definiert wurde, am Empfangsende wirksam geworden ist. In der MPEG-Terminologie bedeutet das, dass die Bitrate mit einer Verzögerung geändert wird, die der Ende-zu-Ende-Verzögerung entspricht. Dementsprechend wird gewährleistet, dass es weder zu Unterlauf noch Überlauf kommt, unabhängig davon, wie die Bitratenänderung ausfällt.
  • Gemäß der Erfindung wird für wenigstens einen in der Zukunft liegenden Zeitpunkt berechnet, innerhalb welcher Grenzen die Bitrate des Datenstroms an jenem in der Zukunft liegenden Zeitpunkt verändert werden kann, so dass weder Unterlauf noch Überlauf des Eingangspuffer entsteht. Die Rate wird an einem in der Zukunft liegenden Zeitpunkt innerhalb der Grenzen geändert, die für den in der Zukunft liegenden Zeitpunkt bestimmt wurden.
  • Dementsprechend gestattet die Erfindung das Ändern der Bitrate innerhalb einer relativ kurzen Verzögerung bei gleichzeitigem Verhindern von Unterlauf und Überlauf. Es kann passieren, dass die Bitrate sozusagen nicht zu einer bestimmten gewünschten Bitrate innerhalb einer relativ kurzen Verzögerung umgeschaltet werden kann. Jedoch kann die Bitrate zu einer Annäherung der gewünschten Bitrate umgeschaltet werden, wobei es sich bei der Annäherung um eine der oben erwähnten Grenzen handelt. Dieses Letztgenannte erbringt im Allgemeinen eine bessere Reaktion auf eine Bitanforderung als nannte erbringt im Allgemeinen eine bessere Reaktion auf eine Bitanforderung als das Warten über eine relativ lange feste Verzögerung hinweg, um die gewünschte Bitrate anzuwenden, wie zum Beispiel im Stand der Technik. Folglich ermöglicht die Erfindung eine bessere Qualität der in dem Datenstrom enthaltenen Daten.
  • Die Erfindung und die weiteren Merkmale, die optional und vorteilhaft zum Implementieren der Erfindung verwendet werden können, gehen aus den im Folgenden beschriebenen Zeichnungen hervor und können aus diesen Zeichnungen abgeleitet werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 und 2 sind Konzeptschaubilder, die grundlegende Merkmale der Erfindung gemäß Anspruch 1 veranschaulichen.
  • 3 ist ein Blockschaubild, das ein Beispiel einer Videocodiererbaugruppe gemäß der Erfindung veranschaulicht.
  • 4 ist ein Blockschaubild, das einen Codierer veranschaulicht, der einen Teil der in 3 veranschaulichten Videocodiererbaugruppe bildet.
  • 5 ist ein Flussdiagramm, das ein Verfahren der gemeinsamen Bitratensteuerung für die in 3 veranschaulichte Videocodiererbaugruppe veranschaulicht.
  • 6 ist ein Kurvendiagramm, das für einen Codierer in der in 3 veranschaulichten Videocodiererbaugruppe die Übertragung codierter Daten über den Ausgangspuffer des Codierers und über den Eingangspuffer eines hypothetischen Decodierers veranschaulicht.
  • 7 ist ein Kurvendiagramm, das ein Verfahren zum Berechnen einer kleinsten neuen Bitrate und einer größten neuen Bitrate für einen Codierer in der Videocodiererbaugruppe von 3 veranschaulicht.
  • 8 ist ein Flussdiagramm, das ein Beispiel eines Verfahrens zur Quantisierungsparametersteuerung für den in 4 veranschaulichten Codierer veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG DER ZEICHNUNGEN
  • Die folgenden Anmerkungen betreffen Bezugszeichen. Gleiche Entitäten werden in allen Figuren durch gleiche Bezugszeichen bezeichnet. Es können mehrere ähnliche Entitäten in einer einzelnen Figur erscheinen. In diesem Fall wird dem Bezugsbuchstaben eine Ziffer oder ein Suffix beigegeben, um gleiche Entitäten voneinander zu unterscheiden. Die Ziffer oder der Suffix können aus gründen der besseren Übersichtlichkeit weggelassen werden oder können durch ein Sternchen ersetzt werden, wenn wo ihr Wert nicht von Bedeutung ist (unbedeutender Wert). Das gilt für die Beschreibung wie auch für die Ansprüche.
  • 1 veranschaulicht die folgenden Merkmale. Ein Datenstrom DS umfasst Steuerungswörter CW. Ein Steuerungswort CW[i] legt fest, wann ein Datenabschnitt DP[i], der zwischen dem Steuerungswort und einem nachfolgenden Steuerungswort CW[i + 1] enthalten ist, aus einem Eingangspuffer IBUF an einem Empfangsende zu lesen ist.
  • 2 veranschaulicht die folgenden Merkmale. Es wird für wenigstens einen in der Zukunft liegenden Zeitpunkt Tfut berechnet, innerhalb welcher Grenzen Rmax, Rmin die Bitrate R des Datenstromes an jenem in der Zukunft liegenden Zeitpunkt Tfut verändert werden kann, so dass es weder zu Unterlauf noch Überlauf des Eingangspuffers kommt. Die Bitrate wird an einem in der Zukunft liegenden Zeitpunkt Tfut2 innerhalb der Grenzen Rmax2, Rmin2 geändert, die für den in der Zukunft liegenden Zeitpunkt Tfut2 berechnet wurden.
  • 3 veranschaulicht ein Beispiel einer Videocodiererbaugruppe gemäß der Erfindung. Die Videocodiererbaugruppe empfängt verschiedene Videoprogramme VP und gibt in Reaktion darauf einen Multiplex-MPEG-Datenstrom MMDS aus. Der Multiplex-MPEG-Datenstrom MMDS enthält eine MPEG-codierte Version jedes Videoprogramms VP. Die Videocodiererbaugruppe umfasst verschiedene Codierer ENC, einen Multiplexierer MUX und eine gemeinsame Bitratensteuerung JBRC.
  • Die Videocodiererbaugruppe funktioniert im Grunde folgendermaßen. Jeder Codierer ENC codiert ein anderes Videoprogramm und gibt einen MPEG-Datenstrom MDS an den Multiplexierer aus. Der Multiplexierer kombiniert die MPEG-Datenströme zu dem Multiplex-MPEG-Datenstrom MMDS. Jeder Codierer legt des Weiteren eine Bitratensteuerungsanzeige IND mit jedem Bild in dem Videoprogramm fest, das er codiert. Die Bitratensteuerungsanzeige ist eine Schätzung, wie schwierig oder wie leicht es ist, das momentane Bild und eine Anzahl nachfolgender Bilder zu codieren. Ein Bild ist schwierig oder leicht zu codieren, wenn für eine bestimmte Qualität die Codierung des Bildes relativ viele bzw. wenige Bits erzeugt.
  • Die gemeinsame Bitratensteuerung teilt eine Gesamtbitrate Rtot zwischen den Videocodierern auf der Basis der Bitratensteuerungsanzeigen auf, die sie empfängt. Das heißt, die gemeinsame Bitratensteuerung weist jedem Codierer eine bestimmte Bitrate R zu, wobei die Summe dieser Bitraten die Gesamtbitrate ist. Ein Codierer speist seinen MPEG-Datenstrom in den Multiplexierer mit der ihm zugewiesenen Bitrate ein. Die gemeinsame Bitratensteuerung weist einem Codierer, der Bilder empfängt, die schwierig zu codieren sind, eine höhere Bitrate zu als einem Codierer, der Bilder empfängt, die leicht zu codieren sind. Auf diese Weise behält die gemeinsame Bitratensteuerung ein im Wesentlichen konstantes Qualitätsverhältnis zwischen codierten Bildern, die von den jeweiligen Codierern kommen, bei. Des Weiteren hilft die gemeinsame Bitratensteuerung den jeweiligen Codierern, aufeinanderfolgende codierte Bilder mit einer im Wesentlichen konstanten Qualität auszugeben. Dies wird im Folgenden eingehender erläutert.
  • 4 veranschaulicht einen Codierer ENC, der einen Teil der in 3 veranschaulichten Videocodiererbaugruppe bildet. Der Codierer umfasst Codierungsschaltungen EC, einen Ausgangspuffer OBUF und eine Steuerung CON. Im Grunde arbeitet er folgendermaßen. Die Codierungsschaltungen codieren aufeinanderfolgende Bilder P in Abhängigkeit von einem Quantisierungsparameter QP. Die Codierungsschaltungen senden codierte Bilder Pe an den Ausgangspuffer OBUF. Der Ausgangspuffer gibt die codierten Bilder in Form eines MPEG-Datenstromes mit einer Bitrate R aus.
  • Es gibt drei Codierungstypen, gemäß denen ein Bild codiert werden kann, und zwar die Codierung vom I-Typ, die Codierung vom P-Typ und die Codierung vom B-Typ. Ein Bild, das I-Typ-, P-Typ- oder B-Typ-codiert ist, wird im Folgenden I-, P- bzw. B-Bild genannt. Des Weiteren gibt es ein zyklisches Muster bei dem Codierungstyp, der angewendet wird. Jeder Zyklus beginnt mit einer I-Typ-Codierung, worauf eine oder mehrere P- und B-Typ-Codierungen folgen. Ein Zyklus umfasst N Bilder, wobei N eine ganze Zahl ist. Zum Beispiel kann bei N = 6 das zyklische Codierungsmuster I-B-B-P-B-B sein.
  • Die Steuerung steuert die Bitrate auf der Basis gemeinsamer Bitratensteuerungsmeldungen JBRCM, die sie von der gemeinsamen Bitratensteuerung empfängt. Eine gemeinsame Bitratensteuerungsmeldung legt eine Bitrate für den Codierer fest und legt des Weiteren fest, wann diese Bitrate anzuwenden ist. Somit legen die gemeinsamen Bitratensteuerungsmeldungen ein Bitratenprofil für den Codierer fest. Die Steuerung steuert die Bitrate gemäß dem Bitratenprofil. Dies tut sie mittels eines Bitratensteuerungssignals RC, das die Rate bestimmt, mit der codierte Bilddaten aus dem Ausgangspuffer gelesen werden.
  • Der Quantisierungsparameter bestimmt im Wesentlichen die Qualität der codierten Bilder. Je niedriger sein Wert während der Codierung eines Bildes ist, desto höher ist die Qualität des codierten Bildes, aber desto mehr Bits umfasst das codierte Bild. Der Quantisierungsparameter sollte vorzugsweise einen Wert haben, der im Wesentlichen konstant und so klein wie möglich ist, ohne Unterlauf oder Überlauf in einem Eingangspuffer eines Decodierers, der den MPEG-Datenstrom empfängt, zu verursachen.
  • Die Steuerung steuert den Quantisierungsparameter auf der Basis verschiedener Parameter. Ein Parameter ist das Bitratenprofil gemäß Festlegung durch die gemeinsamen Bitratensteuerungsmeldungen. Ein anderer Parameter ist die Menge codierter Daten F, die in dem Ausgangspuffer enthalten ist. Diese zwei Parameter bestimmen dem Platz im Hinblick auf die Anzahl von Bits, der für die Codierung einer Bildergruppe zur Verfügung steht. Ein weiterer Parameter, der für die Quantisierungsparametersteuerung verwendet wird, sind die Codierungsergebnisse ER. Die Codierungsergebnisse geben Informationen darüber, wie der verfügbare Platz unter den Bildern aufzuteilen ist, dergestalt, dass der Quantisierungsparameter einen im Wesentlichen konstanten Wert hat. Ein Codierungsergebnis für ein Bild, oder einen Teil eines Bildes, kann folgendermaßen ausgedrückt werden: die Anzahl von Bits, die durch die Codierung des Bildes, oder seines Teils, erzeugt wird, multipliziert mit dem Quantisierungsparameterwert, der angewendet wurde. Dieses Produkt wird im Weiteren als "Komplexität" bezeichnet.
  • Der Codierer kann in einem Einzeldurchgangsmodus oder in einem Doppeldurchgangsmodus arbeiten. Beim Einzeldurchgangsmodus codieren die Codierungsschaltungen ein Bild nur einmal. Das heißt, ein Bild durchläuft die Codierungsschaltungen sozusagen nur einmal. Während dieses Einzeldurchgangs steuert die Steuerung den Quantisierungsparameter unter Verwendung von Codierungsergebnissen, die sich nur auf vorherige Bilder beziehen. Beim Doppeldurchgangsmodus codieren die Codierungsschaltungen ein Bild zweimal. Das heißt, ein Bild durchläuft die Codierungsschaltungen sozusagen zweimal. Beim ersten Durchgang wird das Bild codiert, während die Steuerung einen festen Quantisierungsparameter anwendet. Der erste Durchgang dient dazu, Codierungsergebnisse zu erhalten, die sich auf das Bild beziehen. Beim zweiten Durchgang steuert die Steuerung den Quantisierungsparameter wie oben beschrieben unter Verwendung der Codierungsergebnisse, die beim ersten Durchgang erhalten wurden. Somit arbeitet die Quantisierungsparametersteuerung im Allgemeinen im Doppeldurchgangsmodus besser als im Einzeldurchgangsmodus.
  • Die Steuerung legt des Weiteren eine Bitratensteuerungsanzeige IND mit jedem zu codierenden Bild fest. Beim Einzeldurchgangsmodus legt der Codierer die Bitratensteuerungsanzeige auf der Basis von Codierungsergebnissen fest, die sich nur auf vorherige Bilder beziehen. Beim Doppeldurchgangsmodus legt der Codierer die Bitratensteue rungsanzeige auf der Basis von Codierungsergebnissen fest, die ein Codierungsergebnis des momentanen Bildes enthalten.
  • 5 veranschaulicht ein Verfahren der gemeinsamen Bitratensteuerung für die in 3 veranschaulichte Videocodiererbaugruppe. Bei einem Initialisierungsschritt GS1 weist die gemeinsame Bitratensteuerung jedem Codierer ENC eine Zielbitrate Rtarget zu. Die Zielbitrate Rtarget bestimmt die durchschnittliche Qualität der codierten Bilder, die der betreffende Codierer liefert.
  • Die folgende Reihe von Schritten wird wiederholt ausgeführt. Zum Beispiel können sie in jedem Bildzeitraum ausgeführt werden.
  • In einem Anzeigeberechnungsschritt GS2 berechnet jeder Codierer eine Bitratensteuerungsanzeige IND und sendet die Bitratensteuerungsanzeige an die gemeinsame Bitratensteuerung. Die Bitratensteuerungsanzeige kann folgendermaßen berechnet werden. Die Bitratensteuerungsanzeige ist eine durchschnittliche Bildkomplexität AVX, multipliziert mit der Zielbitrate für den Codierer, geteilt durch einen Messwert der Leuchtdichteentropie ACT. Die durchschnittliche Bildkomplexität wird folgendermaßen berechnet. Es wird angenommen, dass für die N-1 nachfolgenden Bilder jedes I-, P- und B-Bild eine Komplexität hat, die derjenigen des zuletzt codierten I-, P- bzw. B-Bildes entspricht. Die durchschnittliche Bildkomplexität ist dann die durchschnittliche Komplexität des momentanen Bildes und der N-1 nachfolgenden Bilder. Die Leuchtdichteentropie ist der Durchschnitt von Makroblockaktivitäten in dem zuletzt codierten Bild, bei dem es sich um das vorherige Bild beim Einzeldurchgangsmodus oder das momentane Bild beim Doppeldurchgangsmodus handelt. Die Makroblockaktivität wird in dem Dokument ISO/IEC JTC1/SC29/WG11/N0400, April 1993, "Test Model 5, Draft Revision 2", Abschnitt 5.2.2, Seite 60, definiert.
  • In einem Bitratenberechnungsschritt GS3 berechnet die gemeinsame Bitratensteuerung für jeden Codierer eine optimale Bitrate Ropt, die dem Codierer am besten zuzuweisen ist. Die optimale Bitrate für einen Codierer ist die Bitratensteuerungsanzeige des Codierers, geteilt durch die Summe aller Bitratensteuerungsanzeigen, multipliziert mit der Gesamtbitrate. Somit ist die optimale Bitrate praktisch ein Teil der Gesamtbitrate. Die Größe des Teils entspricht dem Beitrag der Bitratensteuerungsanzeige zu der Summe aller Bitratensteuerungsanzeigen.
  • Im Umschaltzeitüberprüfungsschritt GS4 wird eine Anzahl unterschiedlicher Umschaltzeiten Tsw überprüft. Eine Umschaltzeit ist ein Augenblick, wenn die Bitraten der jeweiligen MPEG-Datenströme geändert werden können. Einige Umschaltzeiten oder sogar alle Umschaltzeiten können vor dem momentanen Augenblick – plus einer konstanten Ende-zu-Ende-Verzögerung – liegen. Die konstante Ende-zu-Ende-Verzögerung ist die Differenz zwischen dem Augenblick, wo ein codiertes Bild in den Ausgangspuffer eines Codierers geschrieben wird, und dem Augenblick, wo das codierte Bild aus einem Eingangspuffer eines hypothetischen Decodierers gelesen wird, der direkt mit dem Codierer verbunden ist. Das heißt, es gibt keine Übertragungsverzögerung zwischen dem Codierer und dem hypothetischen Decodierer.
  • Der Umschaltzeitüberprüfungsschritt GS4 umfasst zwei Teilschritte, die für jede Umschaltzeit einzeln ausgeführt werden.
  • In einem Bitratenbegrenzungs-Teilschritt GS4a legt die gemeinsame Bitratensteuerung eine begrenzte optimale Bitrate Roptc für jeden Codierer in der folgenden Weise fest. Zuerst berechnet die gemeinsame Bitratensteuerung eine größte neue Bitrate Rmax und eine kleinste neue Bitrate Rmin für eine MPEG-2-Kompatibilität des Codierers. Der Codierer ist MPEG-2-kompatibel, wenn der von ihm ausgegebene MPEG-Datenstrom weder Unterlauf noch Überlauf in einem Decodierer-Eingangspuffer verursacht. Zu einem Überlauf kommt es, wenn die neue Bitrate die größte neue Bitrate übersteigt, und zu einem Unterlauf kommt es, wenn die neue Bitrate kleiner ist als die kleinste neue Bitrate. Die Art und Weise, in der die gemeinsame Bitratensteuerung die kleinste neue Bitrate und die größte neue Bitrate berechnet, wird im Weiteren näher erläutert. Die begrenzte optimale Bitrate ist die optimale Bitrate, wie sie oben definiert wurde, sofern die optimale Bitrate keinen Unterlauf oder Überlauf verursacht. In diesem Fall ist die begrenzte optimale Bitrate die kleinste Bitrate bzw. die größte Bitrate.
  • Bei einem Delta-Raten-Berechnungs-Teilschritt GS4b berechnet die gemeinsame Bitratensteuerung für jeden Codierer eine Delta-Rate ΔR. Es wird angenommen, dass die Bitrate in der untersuchten Umschaltzeit zu der begrenzten optimalen Bitrate umgeschaltet wird. Die gemeinsame Bitratensteuerung berechnet die durchschnittliche Bitrate, die dann über ein Zeitintervall erhalten wird, das sich über das momentane Bild und die N-1 nachfolgenden Bilder erstreckt. Die Delta-Rate ist die Differenz zwischen der optimalen Bitrate und der durchschnittlichen, in dieser Weise berechneten Bitrate. Die Delta-Rate sollte im Idealfall für jeden Codierer null sein.
  • In einem Umschaltzeitauswahlschritt GS5 wird eine der untersuchten Umschaltzeiten in der folgenden Weise ausgewählt. Für jede Umschaltzeit wird festgelegt, welche Delta-Rate den höchsten Wert hat. Diese Delta-Rate wird als die größte Delta-Rate bezeichnet. Je höher die Delta-Rate, desto stärker weicht die betreffende Bitrate von der optimalen Bitrate ab, und desto größer ist darum die Abweichung von einem gewünschten Qualitätsverhältnis zwischen den MPEG-Datenströmen. Es wird die Umschaltzeit ausgewählt, für die die größte Delta-Rate den niedrigsten Wert hat: Tswsel = Tsw ⇒ MIN(MAX(ΔR)).
  • In einem Bitratensteuerungsschritt GS6 sendet die gemeinsame Bitratensteuerung eine gemeinsame Bitratensteuerungsmeldung JBRCM zu jedem Codierer. Die gemeinsame Bitratensteuerungsmeldung spezifiziert die gewählte Umschaltzeit. Sie spezifiziert des Weiteren die begrenzte optimale Bitrate für den Codierer, die für die gewählte Umschaltzeit gilt. Somit programmiert die gemeinsame Bitratensteuerung jeden Codierer, seinen MPEG-Datenstrom mit der begrenzten optimalen Bitrate auszugeben, sobald die gewählte Umschaltzeit erreicht ist. Bis zu dieser Zeit geben die jeweiligen Codierer ihre MPEG-Datenströme so aus, wie es in den vorangegangenen Bitratensteuerungsmeldungen festgelegt ist.
  • 6 veranschaulicht für einen Codierer in der in 3 veranschaulichten Videocodiererbaugruppe die Übertragung von codierten Daten über den Ausgangspuffer des Codierers und über den Eingangspuffer eines hypothetischen Decodierers. 6 ist ein Kurvendiagramm, dessen horizontale Achse die Zeit T darstellt und dessen vertikale Achse die Menge der codierten Daten NB darstellt, die durch den Codierer im Hinblick auf die Anzahl von Bits erzeugt werden. Die vertikale Achse zeigt des Weiteren an, zu welchem Bild P die codierten Daten gehören. Die Menge an codierten Daten wächst mit jedem nachfolgenden Bild P, das codiert wurde.
  • Das in 6 veranschaulichte Kurvendiagramm umfasst drei Kurven: A, B und C. Kurve A stellt codierte Daten dar, die in den Ausgangspuffer des Codierers geschrieben werden. Zum Beispiel zeigt Kurve A, dass codierte Daten, die zum Bild P[i] gehören, im Augenblick T[i] in den Ausgangspuffer geschrieben werden. In jedem Bildzeitraum Tpp wird ein neues Bild in den Ausgangspuffer geschrieben.
  • Kurve B stellt codierte Daten dar, die aus dem Ausgangspuffer gelesen werden, um den MPEG-Datenstrom zu bilden. Die Schräge der Kurve B wird durch die Bitrate des MPEG-Datenstroms bestimmt. Kurve B zeigt zum Beispiel, dass codierte Daten, die zum Bild P[i] gehören, nach einer Verzögerung ΔTob relativ zum Augenblick T[i] aus dem Ausgangspuffer gelesen werden. Es wird angenommen, dass der hypothetische Decodierer den MPEG-Datenstrom ohne eine Übertragungsverzögerung empfängt. Infolge dessen stellt Kurve B auch codierte Daten dar, die in den Eingangspuffer dieses Decodierers geschrieben werden. Das heißt, das Bild P[i] wird im Augenblick T[i] + ΔTob in den Eingangspuffer geschrieben.
  • Kurve C stellt codierte Daten dar, die aus dem Eingangspuffer des hypothetischen Decodierers gelesen werden. Es wird angenommen, dass ein Bild sofort aus dem Eingangspuffer gelesen wird. Das heißt, es dauert keine Zeit, ein Bild zu lesen. Zum Beispiel zeigt Kurve C, dass codierte Daten, die zum Bild P[i] gehören, im Augenblick T[i] + ΔTeed sofort aus dem Eingangspuffer gelesen werden. ΔTeed stellt eine konstante Ende-zu-Ende-Verzögerung dar. Die konstante Ende-zu-Ende-Verzögerung ist somit die Differenz zwischen dem Augenblick, wo ein Bild in den Ausgangspuffer des Codierers geschrieben wurde, und dem Augenblick, wo ein Bild aus dem Eingangspuffer des hypothetischen Decodierers gelesen wurde. Es gilt, dass ΔTeed = ΔTob + ΔTib, wobei ΔTib eine Eingangspufferverzögerung darstellt. Die Eingangspufferverzögerung legt fest, wann ein Bild aus einem Eingangspuffer eines Decodierers gelesen werden soll.
  • In jedem Augenblick ist die Menge an Daten, die in dem Eingangspuffer des hypothetischen Decodierers enthalten sind, die Differenz zwischen Kurve B und C in jenem Augenblick. Für eine MPEG-Kompatibilität muss diese Menge an Daten zwischen einer Obergrenze und einer Untergrenze bleiben. Wenn dies der Fall ist, so ist gewährleistet, dass kein MPEG-kompatibler Decodierer, der den MPEG-Datenstrom empfängt, unterläuft oder überläuft. In dieser Hinsicht spielt keine Übertragungsverzögerung zwischen Codierer und Decodierer eine Rolle. Das liegt daran, dass der MPEG-Datenstrom Steuerungswörter umfasst, die für jedes Bild bestimmen, wann das Bild aus dem Eingangspuffer gelesen werden muss. Diese Steuerungswörter bestimmen ΔTib für jedes Bild, dergestalt, dass ΔTob + ΔTib = ΔTeed. Folglich gilt immer, dass die Menge an Daten, die in dem Eingangspuffer des hypothetischen Decodierers enthalten sind, nach einer Verzögerung ΔTtrans ebenfalls in dem Eingangspuffer eines echten Decodierers enthalten sind, wobei ΔTtrans die Übertragungsverzögerung ist. Das heißt, wenn der Eingangspuffer des hypothetischen Decodierers niemals unterläuft oder überläuft, so tut es der Eingangspuffer des echten Decodierers ebenfalls nicht.
  • Nehmen wir an, dass die momentane Zeit der Augenblick T[i] ist. Bild P[i] ist gerade dabei, codiert zu werden, und ist folglich gerade dabei, in den Ausgangspuffer des Codierers geschrieben zu werden. Dies impliziert, dass jeder Augenblick später als T[i] die Zukunft ist. Es wurde bereits erwähnt, dass jedes codierte Bild, das in den Ausgangspuffer geschrieben wird, nach einer Verzögerung ΔTeed aus dem Eingangspuffer gelesen wird. Folglich kann die Zukunft von Kurve C exakt innerhalb eines Zeitintervalls vorhergesagt werden, das ΔTeed von der momentanen Zeit ausgehend verlängert. Es hängt allein von der Zukunft von Kurve B innerhalb desselben Zeitintervalls ab, ob es zu einem Unterlauf oder einem Überlauf oder keinem von beiden kommt. Die Zukunft von Kurve B wird durch ein Bitratenprofil für den MPEG-Datenstrom bestimmt. Das Bitratenprofil wird durch die gemeinsame Bitratensteuerung bestimmt, wie oben mit Bezug auf 5 erklärt.
  • 7 veranschaulicht ein Verfahren zum Berechnen einer kleinsten neuen Bitrate und einer größten neuen Bitrate für einen Codierer in der Videocodiererbaugruppe von 3. Die Berechnung gilt für einen Bitratenwechsel in einem zukünftigen Augenblick T[i] + ΔTsw, wobei ΔTsw zwischen 0 und ΔTeed enthalten ist. 7 ist ein Kurvendiagramm, das noch einmal die Merkmale des in 6 veranschaulichten Kurvendiagramms aufgreift. Der Einfachheit halber wird angenommen, dass die Bitrate bis T[i] + ΔTsw im Wesentlichen konstant und gleich R1 ist. Die Menge an Daten, unterhalb derer der Eingangspuffer unterläuft, soll null sein. Die Menge an Daten, oberhalb derer der Eingangspuffer überläuft, soll OVR sein. Das in 7 veranschaulichte Kurvendiagramm umfasst eine Kurve C+, bei der es sich um die Kurve C handelt, die um einen Betrag gleich OVR angehoben ist.
  • Die Kurve B erstreckt sich über zwei Schrägen: Rmin und Rmax. Die Schräge Rmin bezeichnet die kleinste neue Bitrate, unterhalb derer es zum Unterlauf kommt. Die Schräge Rmin berührt nur einen Punkt von Kurve C. Wenn die Schräge Rmin weniger steil wäre, so käme es zu einem Unterlauf. Die Schräge Rmax bezeichnet die größte neue Bitrate, oberhalb derer es zu einem Überlauf kommt. Die Schräge Rmax berührt nur einen Punkt von Kurve C+. Wenn die Schräge Rmax steiler wäre, so käme es zu einem Überlauf.
  • Die gemeinsame Bitratensteuerung kann die Kurve C und C+ für jeden Codierer auf der Basis von Meldungen berechnen, die von dem Codierer stammen. Eine Meldung kann zum Beispiel die Menge an codierten Daten, die in einem codierten Bild enthalten sind, und den Augenblick, wo das codierte Bild aus dem Eingangspuffer des hypothetischen Decodierers gelesen wird, anzeigen. Die gemeinsame Bitratensteuerung kann auch die Kurve B bis zum Augenblick T[i] + ΔTsw auf der Basis des Bitratenprofils des Codierers berechnen. Das Bitratenprofil wird durch die gemeinsame Bitratensteuerung selbst be stimmt. Somit reicht es für die Berechnung von Kurve B aus, dass sich die gemeinsame Bitratensteuerung die Bitratensteuerungsmeldungen merkt, die sie in der jüngeren Vergangenheit an den Codierer gesandt hat. Sobald die Kurven C und C+ für das Zeitintervall zwischen T[i] und T[i] + ΔTeed berechnet wurden und die Kurve B für das Zeitintervall zwischen T[i] und T[i] + ΔTsw berechnet wurde, kann die gemeinsame Bitratensteuerung die kleinste und die größte neue Bitrate berechnen, die zur Umschaltzeit T[i] + ΔTsw angewendet werden kann.
  • 8 veranschaulicht ein Beispiel eines Verfahrens zur Quantisierungsparametersteuerung in dem in 4 veranschaulichten Codierer. Das Verfahren umfasst mehrere Schritte S1-S9, die für jedes Bild P ausgeführt werden. Die Schritte S1-S9 können auch für jede Scheibe in dem Bild P ausgeführt werden. Es wird angenommen, dass der Codierer im Einzeldurchgangsmodus arbeitet, der oben beschrieben wurde. Es ist zu beachten, dass es beim MPEG drei verschiedene Typen des Codierens eines Bildes gibt: eine I-Typ-Codierung, eine P-Typ-Codierung und eine B-Typ-Codierung. Ein Bild, das einer I-Typ-, einer P-Typ- oder einer B-Typ-Codierung unterzogen wird, wird als ein Typ-I-, ein Typ-P- bzw. ein Typ-B-Bild bezeichnet.
  • In einem Schritt S1 wird eine Bildkomplexität PCX für jeden Typ des Bildes I, P und B berechnet. Jede Bildkomplexität PCX ist ein Produkt aus der Anzahl von Bits NOB, die durch eine jüngste Codierung erzeugt wurden, und dem Quantisierungsparameterwert QPAR, der in der jüngsten Codierung verwendet wurde. Jede Bildkomplexität PCX ist eigentlich eine in der Vergangenheit liegende Codierungserfahrung für den betreffenden Codierungstyp. Sie kann benutzt werden, um für einen bestimmten Quantisierungsparameterwert QPAR vorherzusagen, welche Anzahl von Ausgangsbits erhalten wird, wenn ein nachfolgendes Bild codiert wird. Die Bildkomplexität PCX für den zu verwendenden Codierungstyp kann durch den Quantisierungsparameterwert QPAR geteilt werden. Das Ergebnis dieser Division ist eine Vorhersage – auf der Grundlage der in der Vergangenheit liegenden Codierungserfahrung – der Anzahl von Ausgangsbits, die erhalten werden.
  • In einem Schritt S2 wird eine Bildergruppen-Komplexität GCX berechnet. Die Bildergruppen-Komplexität GCX ist die Summe aus drei Termen. Jeder Term bezieht sich auf einen anderen Bildtyp und ist die Bildkomplexität PCX des betreffenden Typs, multipliziert mit der Anzahl M von Bildern des betreffenden Typ innerhalb einer Bildergruppe, geteilt durch einen Gewichtungsfaktor K für den betreffenden Typ. Die Bildergruppen-Komplexität GCX ist ebenfalls eigentlich eine in der Vergangenheit liegende Co dierungserfahrung, die breiter ist als die Bildkomplexität PCX, die benutzt werden kann, um einen Wert für den Quantisierungsparameter QPAR zu berechnen. Zum Beispiel kann die Bildergruppen-Komplexität GCX durch eine gewünschte Anzahl von Ausgangsbits geteilt werden, die für N nachfolgende Bilder erhalten werden soll. Dementsprechend wird ein Wert für den Quantisierungsparameter QPAR erhalten, mit dem – auf der Grundlage der in der Vergangenheit liegenden Codierungserfahrung – die Codierung der N nachfolgenden Bilder die gewünschte Anzahl von Bits erzeugen sollte. Dieses letztere braucht jedoch nicht so zu sein.
  • In einem Schritt S3 wird eine Bildcodierungsschätzung PCE für jeden Bildtyp I, P und B berechnet. Die Bildcodierungsschätzung PCE ist das Produkt eines ersten und eines zweiten Terms. Der erste Term ist die Bildkomplexität PCX des betreffenden Typs, geteilt durch den Gewichtungsfaktor K des betreffenden Typ. Der zweite Term ist ein anfänglicher Wert VALint für ein Gruppencodierungsziel GCT, geteilt durch die in Schritt S2 berechnete Bildergruppen-Komplexität GCX. Das Gruppencodierungsziel GCT ist die Anzahl von Bits, die durch die Codierung des momentanen Bildes und der N-1 nachfolgenden Bilder erhalten werden sollte. Der anfängliche Wert VALint für das Gruppencodierungsziel GCT ist die Anzahl von Bits, die aus dem Ausgangspuffer während eines Zeitraums ausgegeben werden, der sich über das momentane Bild und die N-1 nachfolgenden Bilder erstreckt. Somit basiert die Bildcodierungsschätzung PCE auf dem folgenden Ziel: Die Menge an Daten, die in den Ausgangspuffer OBUF eingespeist wird, sollte gleich der Menge an Daten sein, die während des betreffenden Zeitraums aus dem Ausgangspuffer OBUF herausgenommen werden. Der zweite Term der Bildcodierungsschätzung PCE stellt einen Wert für den Quantisierungsparameter QPAR dar, mit dem – auf der Grundlage einer in der Vergangenheit liegenden Codierungserfahrung – dieses Ziel erreicht werden sollte.
  • Es ist zu beachten, dass der anfängliche Wert VALint des Gruppencodierungsziels GCT von den gemeinsamen Bitratensteuerungsmeldungen abhängt, die durch den Codierer empfangen werden. Es ist oben unter Bezug auf 3 erläutert worden, dass diese gemeinsamen Bitratensteuerungsmeldungen ein Bitratenprofil für den Codierer festlegen. Das Bitratenprofil bestimmt die Menge an Bits, die Anzahl von Bits, die während eines Zeitraums, der sich über das momentane Bild und die N-1 nachfolgenden Bilder erstreckt, aus dem Ausgangspuffer OBUF ausgegeben werden. Da diese Anzahl von Bits das Gruppencodierungsziel GCT ist, bestimmen die gemeinsamen Bitratensteuerungsmeldun gen somit dieses Ziel. Folglich hängt die Bildcodierungsschätzung PCE von den gemeinsamen Bitratensteuerungsmeldungen ab.
  • In einem Schritt S4 wird ein prognostizierter Pufferfüllungsgrad BF[nextI] am nächsten I-Bild berechnet. Der prognostizierte Pufferfüllungsgrad BF[nextI] basiert auf dem anfänglichen Wert VALint für das Gruppencodierungsziel GCT und der daraus abgeleiteten Bildcodierungsschätzung PCE. Der prognostizierte Pufferfüllungsgrad BF[nextI] ist der momentane Füllungsgrad BF[now] des Ausgangspuffers plus einer Summe F von Bildcodierungsschätzungen, die eine Bildcodierungsschätzung PCE für jedes Bild bis zum nächsten I-Bild umfasst, minus der Anzahl von Bits OUT[nextI], die aus dem Ausgangspuffer bis zum nächsten I-Bild ausgegeben werden.
  • In einem Schritt S5 wird ein Pufferfüllungsgradüberschuss ΔBF berechnet. Der Pufferfüllungsgradüberschuss ΔBF ist die Differenz zwischen dem prognostizierten Pufferfüllungsgrad BF[nextI] und einem gewünschten Pufferfüllungsgrad BF[des] am nächsten I-Bild. Der gewünschte Pufferfüllungsgrad BF[des] wird vorzugsweise so bestimmt, dass er einem Eingangspuffer an einem Decodierungsende entspricht, der unmittelbar vor dem Decodieren des I-Bildes im Wesentlichen mit Daten gefüllt ist.
  • In einem Schritt S6 wird ein adaptierter Wert VALadp für das Gruppencodierungsziel GCT berechnet. Der adaptierte Wert VALadp für das Gruppencodierungsziel GCT ist der anfängliche Wert VALint des Gruppencodierungsziels GCT, das die Anzahl von Bits ist, die während eines Zeitraums, der sich über das momentane Bild und die nachfolgenden N-1 Bilder erstreckt, aus dem Ausgangspuffer ausgegeben wird, minus dem Pufferfüllungsgradüberschuss ΔBF.
  • In einem Schritt S7 wird ein Bildcodierungsziel PCT zum Codieren des momentanen Bildes berechnet. Das Bildcodierungsziel PCT basiert in der gleichen Weise auf dem adaptierten Wert VALadp des Gruppencodierungsziels GCT, wie die Bildcodierungsschätzung PCE auf dem anfänglichen Wert VALint des Gruppencodierungsziels GCT basiert. Das Bildcodierungsziel PCT ist ein Produkt eines ersten Terms und eines zweiten Terms. Der erste Term ist die Bildkomplexität PCX, die zu dem Typ des zu codierenden Bildes I, B oder P gehört, geteilt durch den Gewichtungsfaktor K, der für diesen Typ verwendet wird. Der zweite Term ist der adaptierte Wert VALadp für das Gruppencodierungsziel GCT, geteilt durch die Bildergruppen-Komplexität GCX.
  • In einem Schritt S8 wird das Bildcodierungsziel PCT verifiziert, um ein verifiziertes Bildcodierungsziel PCTver zu erhalten. In diesem Schritt wird überprüft, ob es an einem Decodierungsende zu einem Unterlauf oder einem Überlauf kommt oder nicht, wenn die Codierung des momentanen Bildes eine Anzahl von Bits erzeugt, die gleich dem Bildcodierungsziel PCT ist. Wenn es weder Unterlauf noch Überlauf gibt, so ist das verifizierte Bildcodierungsziel PCTver gleich dem Bildcodierungsziel PCT, das heißt, das Bildcodierungsziel PCT wird nicht verändert. Wenn jedoch das Bildcodierungsziel PCT zu einem Unterlauf oder Überlauf führt, so wird das Bildcodierungsziel PCT bei seiner Ersetzung praktisch um einen Wert begrenzt, wo es weder zu einem Unterlauf noch einem Unterlauf kommt.
  • In einem Schritt S9 wird der Quantisierungsparameterwert QPAR während der Codierung des momentanen Bildes in der folgenden Weise gesteuert. Der Quantisierungsparameterwert QPAR ist die Summe eines ersten Terms und eines zweiten Terms. Der erste Term ist die Bildkomplexität PCT des betreffenden Typs, geteilt durch das verifizierte Bildcodierungsziel PCTver. Der zweite Term ist das Produkt einer Zielabweichung ΔTGT und eines Reaktionsparameters RP. Die Zielabweichung ΔTGT ist die Anzahl von Bits NOBP, die bis dahin durch die Codierung des momentanen Bildes erzeugt wurden, minus dem verifizierten Bildcodierungsziel PCTver, multipliziert mit dem Verhältnis der bis dahin verstrichenen Zeit t-t0 zum Codieren des momentanen Bild und des Bildzeitraums Tp. Der Reaktionsparameter RP ist 512, geteilt durch die Bitrate R des MPEG-Datenstroms DS.
  • Hinsichtlich der Quantisierungsparametersteuerung QPAR wird Folgendes angemerkt. Der erste Term ist eine globale oder langfristige Strategie zum Steuern des Quantisierungsparameterwertes QPAR. Nehmen wir an, dass das Bildcodierungsziel nicht begrenzt ist, was bedeutet, dass das verifizierte Bildcodierungsziel PCTver gleich dem Bildcodierungsziel PCT ist. In diesem Fall entspricht der erste Term dem Gewichtungsfaktor K für das betreffende Bild, multipliziert mit der Bildergruppen-Komplexität GCX, geteilt durch den adaptierten Wert VALadp des Gruppencodierungsziels GCT. Die Bildergruppen-Komplexität GCX besteht aus einer Summe von Produkten aus "Anzahl von Bits, die in der jüngeren Vergangenheit tatsächlich erzeugt wurden" und "dem Quantisierungsparameter, der angewendet wurde". Somit stellt der erste Term praktisch einen Wert für den Quantisierungsparameter QPAR dar, von dem man – auf der Erfahrung der jüngsten Vergangenheit basierend – erwartet, dass er zu einer Anzahl von gewünschten Bits führt. Der zweite Term ist eine lokale oder kurzfristige Strategie zum Justieren des Quantisierungsparameters QPAR. Er ist eine Art von Sicherheitsmaßnahme, die verhindert, dass die Co dierung eine Anzahl von Bits hervorbringt, die in einem relativ großen Ausmaß von der Zielanzahl von Bits abweicht, die das verifizierte Bildcodierungsziel PCTver darstellt.
  • Die Zeichnungen und ihre obige Beschreibung dienen daher der Veranschaulichung und nicht der Einschränkung der Erfindung. Es ist klar, dass es zahlreiche Alternativen gibt, die in den Geltungsbereich der angehängten Ansprüche fallen. In diesem Zusammenhang werden die folgenden abschließenden Anmerkungen gemacht.
  • Es gibt zahlreiche Möglichkeiten, Funktionen oder Funktionselemente physisch über verschiedene Einheiten zu verteilen. In dieser Hinsicht sind die Zeichnungen sehr schaubildhaft, und jede stellt nur eine einzelne mögliche Ausführungsform der Erfindung dar. Obgleich also eine Zeichnung verschiedene Funktionselemente als verschiedene Blöcke zeigt, schließt dies in keiner Weise eine Implementierung einiger oder aller Funktionselemente als eine einzelne physische Einheit aus. Zum Beispiel können die Ausgangspuffer der in 3 gezeigten Codierer als ein einzelner Speicherschaltkreis implementiert sein, wie in der internationalen Anmeldung beschrieben, die unter der Nummer WO 96/20568 veröffentlicht ist.
  • Obgleich 8 ein Beispiel eines Verfahrens zur Quantisierungsparametersteuerung auf der Basis der Ausgangsbitrate veranschaulicht, schließt dies in keiner Weise andere Verfahren der Quantisierungsparametersteuerung aus. Worauf es ankommt, ist einzig und allein, dass das Ausmaß der Komprimierung, das bei dem Verfahren von 8 mit Hilfe eines Ziels gesteuert wird, auf der Basis der Ausgangsbitrate berechnet wird.

Claims (5)

  1. Verfahren zum Verändern der Bitrate eines Datenstroms, der Steuerungswörter umfasst, wobei ein Steuerungswort definiert, wann ein Datenabschnitt, der in dem Datenstrom enthalten ist, aus einem Eingangspuffer an einem Empfangsende gelesen werden muss, dadurch gekennzeichnet, dass das Verfahren die folgenden Schritte umfasst: – Berechnen, für wenigstens einen in der Zukunft liegenden Zeitpunkt (T[i] + DTsw), innerhalb welcher Grenzen (Rmax, Rmin) die Rate an diesem in der Zukunft liegenden Zeitpunkt verändert werden kann, so dass es weder zu einem Unterlauf noch zu einem Überlauf des Eingangspuffer kommt; und – Verändern der Rate an einem in der Zukunft liegenden Zeitpunkt innerhalb der Grenzen (Rmax, Rmin), die für diesen in der Zukunft liegenden Zeitpunkt berechnet wurden.
  2. Verfahren zum Verändern der Bitrate nach Anspruch 1, dadurch gekennzeichnet, dass es die folgenden Schritte umfasst: – einen Berechnungsschritt (GS4), wobei eine Gütezahl (ΔR), die gleich der Abweichung der tatsächlichen Bitrate von einer errechneten optimalen Bitrate ist, für jeden von mehreren verschiedenen Bitraten-Umschaltzeitpunkten (Tsw[i]) berechnet wird, wobei angenommen wird, dass die Bitrate an dem Bitraten-Umschaltzeitpunkt verändert wird; – einen Auswahlschritt (GS5), wobei derjenige Bitraten-Umschaltzeitpunkt ausgewählt wird, der die beste Gütezahl bietet, wobei die Bitrate an dem ausgewählten Bitraten-Umschaltzeitpunkt (Tswsel) verändert wird.
  3. Codierungsanordnung, umfassend wenigstens einen Codierer zum Erzeugen eines codierten Datenstroms, der Steuerungswörter umfasst, wobei ein Steuerungswort definiert, wann ein Datenabschnitt, der in dem Datenstrom enthalten ist, aus einem Eingangspuffer an einem Empfangsende gelesen werden muss, dadurch gekennzeichnet, dass die Codierungsanordnung einen Steuerschaltungsaufbau umfasst, der dafür programmiert ist, die folgenden Schritte auszuführen: – Berechnen, für wenigstens einen in der Zukunft liegenden Zeitpunkt (T[i] + DTsw), innerhalb welcher Grenzen (Rmax, Rmin) die Rate an diesem in der Zukunft liegenden Zeitpunkt verändert werden kann, so dass es weder zu einem Unterlauf noch zu einem Überlauf des Eingangspuffer kommt; und – Verändern der Rate an einem in der Zukunft liegenden Zeitpunkt innerhalb der Grenzen (Rmax, Rmin), die für diesen in der Zukunft liegenden Zeitpunkt berechnet wurden.
  4. Codierungsanordnung nach Anspruch 4, dadurch gekennzeichnet, dass der Steuerschaltungsaufbau des Weiteren dafür programmiert ist, die folgenden Schritte auszuführen: – einen Berechnungsschritt (GS4), wobei eine Gütezahl (ΔR), die gleich der Abweichung der tatsächlichen Bitrate von einer errechneten optimalen Bitrate ist, für jeden von mehreren verschiedenen Bitraten-Umschaltzeitpunkten (Tsw[i]) berechnet wird, wobei angenommen wird, dass die Bitrate an dem Bitraten-Umschaltzeitpunkt verändert wird; – einen Auswahlschritt (GS5), wobei derjenige Bitraten-Umschaltzeitpunkt ausgewählt wird, der die beste Gütezahl bietet, wobei die Bitrate an dem ausgewählten Bitraten-Umschaltzeitpunkt (Tswsel) verändert wird.
  5. Computerprogrammprodukt für eine Codierungsanordnung, die wenigstens einen Codierer zum Erzeugen eines codierten Datenstroms umfasst, der Steuerungswörter umfasst, wobei ein Steuerungswort definiert, wann ein Datenabschnitt, der in dem Datenstrom enthalten ist, aus einem Eingangspuffer an einem Empfangsende gelesen werden muss, wobei das Computerprogrammprodukt dadurch gekennzeichnet ist, dass es einen Satz aus Befehlen umfasst, der, wenn er in die Codierungsanordnung geladen wird, die Codierungsanordnung veranlasst, das Verfahren nach Anspruch 1 auszuführen.
DE69933848T 1998-07-10 1999-07-09 Veränderung der bitrate Expired - Fee Related DE69933848T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP98401765 1998-07-10
EP98401765 1998-07-10
PCT/EP1999/004932 WO2000003544A1 (en) 1998-07-10 1999-07-09 Bit-rate modification

Publications (2)

Publication Number Publication Date
DE69933848D1 DE69933848D1 (de) 2006-12-14
DE69933848T2 true DE69933848T2 (de) 2007-06-21

Family

ID=8235439

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69933848T Expired - Fee Related DE69933848T2 (de) 1998-07-10 1999-07-09 Veränderung der bitrate

Country Status (7)

Country Link
US (2) US6570921B1 (de)
EP (2) EP1034662A1 (de)
JP (2) JP4270754B2 (de)
KR (2) KR100728509B1 (de)
CN (2) CN1150765C (de)
DE (1) DE69933848T2 (de)
WO (2) WO2000003548A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100486524B1 (ko) * 2002-07-04 2005-05-03 엘지전자 주식회사 비디오 코덱의 지연시간 단축 장치
WO2004072765A2 (en) * 2003-02-13 2004-08-26 Nokia Corporation Method for signaling streaming quality adaptation and control mechanisms in multimedia streaming
WO2006096612A2 (en) * 2005-03-04 2006-09-14 The Trustees Of Columbia University In The City Of New York System and method for motion estimation and mode decision for low-complexity h.264 decoder
JP4584871B2 (ja) * 2006-06-09 2010-11-24 パナソニック株式会社 画像符号化記録装置および画像符号化記録方法
US7885189B2 (en) * 2006-09-20 2011-02-08 Rgb Networks, Inc. Methods and apparatus for rate estimation and predictive rate control
US20100333149A1 (en) * 2009-06-24 2010-12-30 Rgb Networks, Inc. Delivery of pre-statistically multiplexed streams in a vod system
US8483272B2 (en) * 2010-09-24 2013-07-09 Intel Corporation System and method for frame level bit rate control without pre-analysis
KR101732995B1 (ko) * 2015-02-10 2017-05-25 엔에이치엔엔터테인먼트 주식회사 스트리밍 레이턴시 최소화 시스템 및 이를 사용하는 방법
US10547856B2 (en) * 2016-10-18 2020-01-28 Netflix, Inc. Constant-slope bitrate allocation for distributed encoding
EP3396961A1 (de) * 2017-04-24 2018-10-31 Axis AB Verfahren und ratensteuergerät zur steuerung der ausgangsbitrate eines videocodierers
EP4274225A1 (de) * 2022-05-04 2023-11-08 MK Systems USA Inc. Systeme und verfahren zur mehrkanaligen videocodierung in einer gemeinsamen ressourcenumgebung

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE685971C (de) * 1933-06-14 1939-12-29 Aeg Anordnung zur Gittersteuerung bei der unmittelbaren Umformung von Wechselstrom einerFrequenz in Wechselstrom anderer Frequenz mittels gittergesteuerter Entladungsstrecken
DE643971C (de) * 1934-03-16 1937-04-21 Ekof Erz U Kohle Flotation G M Verfahren zur Beeinflussung der Viscositaet von fluessigen Medien, wie Loesungen, Feststoffsuspensionen o. dgl., zum Zwecke der nassmechanischen Aufbereitung
US5216503A (en) * 1991-12-24 1993-06-01 General Instrument Corporation Statistical multiplexer for a multichannel image compression system
JP3614448B2 (ja) * 1993-07-22 2005-01-26 日本放送協会 画像信号符号化多重方法及びその装置
BE1007490A3 (nl) * 1993-09-10 1995-07-11 Philips Electronics Nv Inrichting voor het overdragen van een pluraliteit van televisie signalen over een transmissie kanaal.
US6055270A (en) * 1994-04-20 2000-04-25 Thomson Cosumer Electronics, Inc. Multiplexer system using constant bit rate encoders
US5838686A (en) * 1994-04-22 1998-11-17 Thomson Consumer Electronics, Inc. System for dynamically allocating a scarce resource
TW374283B (en) * 1994-05-25 1999-11-11 Sony Corp A multiple coding device
US5835149A (en) * 1995-06-06 1998-11-10 Intel Corporation Bit allocation in a coded video sequence
US6160846A (en) * 1995-10-25 2000-12-12 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
GB2307151A (en) * 1995-11-10 1997-05-14 British Broadcasting Corp Digital coding of video signals
US5686963A (en) * 1995-12-26 1997-11-11 C-Cube Microsystems Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers
GB9607162D0 (en) * 1996-04-04 1996-06-12 Digi Media Vision Ltd Improvements in or relating to the transmission of data
JP2000508855A (ja) * 1996-04-12 2000-07-11 イメディア コーポレイション ビデオ・トランスコーダ
US6188700B1 (en) * 1996-11-07 2001-02-13 Sony Corporation Method and apparatus for encoding MPEG signals using variable rate encoding and dynamically varying transmission buffers
EP0905935A1 (de) * 1997-01-21 1999-03-31 Sony Corporation Verfahren und vorrichting zur kodierten signalübertragung
US6052384A (en) * 1997-03-21 2000-04-18 Scientific-Atlanta, Inc. Using a receiver model to multiplex variable-rate bit streams having timing constraints
JPH10285548A (ja) * 1997-04-03 1998-10-23 Sony Corp 符号化装置及び方法、復号装置及び方法、編集方法
US5986712A (en) * 1998-01-08 1999-11-16 Thomson Consumer Electronics, Inc. Hybrid global/local bit rate control

Also Published As

Publication number Publication date
EP1034659A1 (de) 2000-09-13
DE69933848D1 (de) 2006-12-14
WO2000003548A1 (en) 2000-01-20
CN1153473C (zh) 2004-06-09
US6570921B1 (en) 2003-05-27
KR100639056B1 (ko) 2006-10-27
WO2000003544A1 (en) 2000-01-20
JP2002520957A (ja) 2002-07-09
EP1034662A1 (de) 2000-09-13
KR100728509B1 (ko) 2007-06-15
CN1286874A (zh) 2001-03-07
US6688714B1 (en) 2004-02-10
KR20010040241A (ko) 2001-05-15
CN1150765C (zh) 2004-05-19
JP2002520960A (ja) 2002-07-09
JP4270754B2 (ja) 2009-06-03
EP1034659B1 (de) 2006-11-02
KR20010023896A (ko) 2001-03-26
WO2000003548A8 (en) 2000-04-13
WO2000003548A9 (en) 2000-07-20
CN1277784A (zh) 2000-12-20

Similar Documents

Publication Publication Date Title
DE69827548T2 (de) Anordnung zur Vorverarbeitung für MPEG-2-Kodierung
DE4233543B4 (de) Vorrichtung zur Steuerung der Quantisierung von Videodaten
DE69734831T2 (de) Adaptive steuerung der datenrate für digitale videokompression
DE60027495T2 (de) Video-codierverfahren und video-codiervorrichtung
DE69938093T2 (de) Steuerung der Datenrate für einen MPEG-Transcoder ohne a-priori Kenntnis des Bildtyps
DE60023576T2 (de) Verfahren und Vorrichtung zur Bewegtbilddatentranscodierung
DE4228220B4 (de) Vorrichtung zur hierarchischen Unterteilung von Videosignalen
DE69831894T2 (de) Signalkodierung, -aufnahme und -übertragung
DE69933848T2 (de) Veränderung der bitrate
DE69835211T2 (de) Umschaltung zwischen komprimierten videobitströmen
DE69835039T2 (de) Objektbasiertes audiovisuelles Endgerät und entsprechende Bitstromstruktur
EP0517324B1 (de) Vorrichtung zur Steuerung des Quantisierers eines Hybridkodierers
DE69837497T2 (de) Verfahren und vorrichtung zum kodieren eines videosignals
DE60211790T2 (de) Videokodierung mit konstanter Qualität
DE10043188A1 (de) Fehlerkorrekturverfahren für Videokompressionskodierung unter Verwendung von mehreren Referenzpuffern und einem Nachrichtenkanal
DE102005032952A1 (de) Statistischer Multiplexer mit schützenden Charakteristika vor durch redundante Systemelemente erzeugten äußeren Nachrichten
DE2740945A1 (de) Verfahren zum uebertragen von bildsignalen mit hilfe der differenz-puls- code-modulation (dpcm) und gesteuertem quantisierer
EP0276753A2 (de) Verfahren und Vorrichtung zur digitalen Nachrichtenübertragung und/oder -aufzeichnung und -wiedergabe
DE69630297T2 (de) Weiterentwickeltes fernsehsystem
WO2002078352A1 (de) Verfahren zur komprimierung und dekomprimierung von videodaten
EP0335872B1 (de) Verfahren und schaltungsanordnung zur reduktion der datenrate digitalisierter bilder
EP0703711B1 (de) Coder zur segmentweisen Codierung eines Bildsignales
DE60012702T2 (de) Bitratensteuerung für videodatenkomprimierung
DE69836899T2 (de) Datenvermittlungsvorrichtung zum Schalten erhaltener Daten ohne die Codiereinheit zu verändern
DE19882097B3 (de) Codiereinrichtung und Codierverfahren

Legal Events

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