DE60131993T2 - Verfahren und gerät zur bestimmung der übertragungsbitrate in einem statistischen multiplexer - Google Patents

Verfahren und gerät zur bestimmung der übertragungsbitrate in einem statistischen multiplexer Download PDF

Info

Publication number
DE60131993T2
DE60131993T2 DE60131993T DE60131993T DE60131993T2 DE 60131993 T2 DE60131993 T2 DE 60131993T2 DE 60131993 T DE60131993 T DE 60131993T DE 60131993 T DE60131993 T DE 60131993T DE 60131993 T2 DE60131993 T2 DE 60131993T2
Authority
DE
Germany
Prior art keywords
bit rate
transmission bit
time
current
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
DE60131993T
Other languages
English (en)
Other versions
DE60131993D1 (de
Inventor
Vincent San Diego Liu
Siu-Wai San Diego Wu
Michael Poway CASTELOES
Robert J. Poway STONE
Rebecca San Diego LAM
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.)
Arris Technology Inc
Original Assignee
Arris Technology Inc
General Instrument 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 Arris Technology Inc, General Instrument Corp filed Critical Arris Technology Inc
Application granted granted Critical
Publication of DE60131993D1 publication Critical patent/DE60131993D1/de
Publication of DE60131993T2 publication Critical patent/DE60131993T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • 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
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • 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
    • 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 bezieht sich auf einen statistischen Multiplexer zum Codieren und Multiplexen von mehreren Kanälen digitaler Fernsehdaten.
  • Digitales Fernsehen ist aufgrund der hohen Qualität des von ihm bereitgestellten Videobildes, zusammen mit seinen Informations- und Unterhaltungsfunktionen, wie etwa Gebührenfernsehen, elektronischen Programmführern, Videoabruf, Börsen-, Wetter- und Börseninformationen, Internet-Hyperlinks und so weiter, zunehmend beliebter geworden. Derartige Fernsehdaten können zum Beispiel über ein Breitbandkommunikationsnetz wie etwa ein Satelliten- oder Kabelfernsehnetz oder über ein Computernetz an einen Benutzer übermittelt werden.
  • Aufgrund von Bandbreitenbeschränkungen des Kommunikationskanals ist es jedoch notwendig, eine Bitrate der digitalen Videoprogramme, die verschlüsselt und zur Übertragung in einem komprimierten Bitstrom gemultiplext werden, anzupassen. Ein Ziel einer derartigen Bitratenanpassung ist es, die Einschränkung der Gesamtbitrate des gemultiplexten Stroms einzuhalten, während außerdem für jedes Programm eine zufriedenstellende Videoqualität beibehalten wird.
  • Demgemäß sind verschiedene Arten von statistischen Multiplexern entwickelt worden, die statistische Informationen des Quellvideos, das verschlüsselt wird, evaluieren und Bits zum Codieren der verschiedenen Videokanäle entsprechend zuweisen. Zum Beispiel können Videokanälen, die ein nur schwer komprimierbares Video wie etwa eine Szene mit schneller Bewegung enthalten, mehr Bits zugewiesen werden, während Kanälen mit relativ leicht komprimierbaren Szenen wie etwa Szenen mit geringer Bewegung weniger Bits zugewiesen werden können.
  • US 5,793,425 offenbart ein Übertragungssystem für gemultiplexte Daten, das eine Vielzahl von Verschlüsselern umfasst, die jeweils einen Dateneingang, welcher an ein jeweiliges Datensignal einer Vielzahl von Datensignalen gekoppelt ist, einen Steuerungseingang und einen Verschlüsselereingang aufweisen. Des Weiteren wird ein Multiplexer bereitgestellt, der eine Vielzahl von Multiplexereingängen, welche an jeweilige Verschlüsselerausgänge gekoppelt sind, und einen Multiplexerausgang, der an ein übertragendes Ende einer Datenübertragung gekoppelt ist, aufweist. Eine Steuereinheit zum Produzieren von Steuerungssignalen gemäß dem Steuerungsalgorithmus wird bereitgestellt, wobei die Steuerungssignale zum dynamischen Steuern von mindestens zwei Verschlüsselungsparametern der Verschlüsseler an den Steuerungseingang der jeweiligen Verschlüsseler gekoppelt werden, wobei ein erster der Verschlüsselungsparameter eine Ausgangsbitrate jedes der Verschlüsseler ist.
  • Es besteht jedoch ein Bedarf an einem verbesserten statistischen Multiplexsystem. Ein derartiges System sollte eine Anzahl von individuellen Verschlüsselern einsetzen, die Daten von einer Anzahl von eingehenden Kanälen von Quellvideodaten verschlüsseln. Diese Daten können aus einem Speicherungsmedium, einer Livespeisung oder dergleichen erhalten werden.
  • Das System sollte den individuellen Verschlüsselern dynamisch Bits zuweisen, um Vollbilder von Videodaten von den Kanälen zu verschlüsseln.
  • Das System sollte zwischen einer Zuweisung der Verschlüsselungsbitrate und einer Zuweisung der Übertragungsbitrate unterscheiden.
  • Das System sollte jedem Videokanal eine Übertragungsbitrate zuteilen, um eine Nichtübereinstimmung zwischen den Eingangs- und den Ausgangsbits eines modellierten Decodiererpuffers zu verhindern.
  • Des Weiteren sollte das System auf bevorstehende Ereignisse eines Überlaufs oder Unterlaufs des Decodiererpuffers überprüfen, um eine Mindest- und Höchstgrenze der Übertragungsbitrate festzusetzen. Diese Grenzen sollten auf der Basis dessen, ob eine neue Übertragungsbitrate vor dem Decodierungszeitstempel (DTS) des aktuellen oder nächsten Vollbildes umgesetzt werden kann, festgesetzt werden.
  • Das System sollte mit im Wesentlichen jeder Art von Videodaten, einschließlich hochauflösendem (HD) und normal auflösendem (SD) Fernsehen (TV) verwendbar sein.
  • Die vorliegende Erfindung stellt ein System mit den obigen und weiteren Vorteilen bereit.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung, die in ihren weitesten Aspekten in den Patentansprüchen 1 und 13 definiert ist, betrifft einen statistischen Multiplexer zum Codieren und Multiplexen von mehreren Kanälen digitaler Fernsehdaten.
  • Bandbreite wird zwischedn einer Anzahl von Videodienstleistungen mit variabler Bitrate (VBR), die gemultiplext werden, um einen Transportbitstrom mit fester Bitrate zu formen, zugewiesen.
  • Im Besonderen wird eine Übertragungsbitrate berechnet, indem eine Verschlüsselungsbitrate um einen Betrag verzögert wird, der gleich einer Systemverzögerung ist. Auf die Übertragungsbitrate werden eine obere Begrenzung (max) und eine untere Begrenzung (min) gesetzt, um den Decodiererpuffer zu schützen.
  • Das Stat-Mux-System umfasst drei distinkte Teile:
    • 1) Für jeden Videokanal werden die Sammlung von optischen Merkmalen und Komplexitätsinformationen für individuelle Videokanäle und ein Bedarfsparameter erzeugt, um anzugeben, wie schwierig es ist, diesen Kanal zu komprimieren. Dieser Prozess wird einmal pro Vollbild wiederholt und von den individuellen Einzelkanalverschlüsselern (die SD und/oder HD sein können) vorgenommen.
    • 2) Die aktuellsten Bedarfsparameter von allen Videokanälen werden von einem Quantisierungsniveauprozessor (QLP) oder Ratensteuerungsprozessor gesammelt. Der Ratensteuerungsprozessor teilt jedem Videokanal eine Verschlüsselungsbandbreite in der Form einer Verschlüsselungsbitrate zu. Jeder Kanal empfängt auf der Basis seines Bedarfsparameters im Verhältnis zu den Bedürfnissen aller anderen Kanäle eine andere Verschlüsselungsbitrate. Die Verschlüsselungsbitrate wird verwendet, um die Videoverschlüsselung individueller Kanäle zu steuern. Der Ratensteuerungsprozessor teilt den Kanälen außerdem Übertragungsbitraten zu, die bestimmen, wie viele Bits von jedem Videokanal an einen Decodierer gesendet werden.
    • 3) Der Einzelkanalverschlüsseler verwendet die Verschlüsselungsbitrate, die ihm gegeben wurde, um eine Videokompression durchzuführen. Die Hauptaufgabe hierbei ist eine Ratensteuerungsfunktion, die das Verwenden der Verschlüsselungsbitrate und der relativen Komplexität von unterschiedlichen Vollbildarten (d. h. I-, B- und P-Arten) zum Zuteilen eines Zielbitbudgets für jedes Vollbild, das er verschlüsseln soll, involviert.
  • Ein besonderes Verfahren zum Verarbeiten einer Vielzahl von Kanälen in einem statistischen Multiplexer umfasst die folgenden Schritte: Zuweisen einer Verschlüsselungsbitrate zum Codieren eines aktuellen Bildes jedes Kanals gemäß einem Bitratenbedarfsparameter davon, und Zuweisen einer Übertragungsbitrate zum Übertragen des aktuellen Bildes jedes Kanals nach dessen Verschlüsselung. Für jeden Kanal wird die Übertragungsbitrate gemäß der Verschlüsselungsbitrate des Kanals zugewiesen, nach der Zuweisung der Verschlüsselungsbitrate an den Kanal und im Anschluss an eine Systemverzögerung eines modellierte Puffers eines Decodierers, um eine Nichtübereinstimmung der Raten zwischen einem Eingang und einem Ausgang des modellierten Decodiererpuffers zu minimieren.
  • Des Weiteren werden Mindest- und Höchstgrenzen für die Übertragungsbitrate bereitgestellt, um einen potenziellen Überlauf oder Unterlauf eines modellierten Decodiererpuffers zu vermeiden. Diese Grenzen berücksichtigen eine Verzögerung beim Umsetzen einer neuen Bitrate, und sie berücksichtigen auch, ob die neue Bitrate vor der Decodierungszeit des aktuellen Bildes, des nächsten Bildes und/oder des übernächsten Bildes umgesetzt werden kann.
  • Es ist zu beachten, dass die Bilder z. B. Vollbilder oder Halbbilder sein können.
  • Auch wird eine entsprechende Vorrichtung geboten.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 veranschaulicht ein statistisch gemultiplextes Mehrkanal-Verschlüsselungssystem zur Verwendung gemäß der vorliegenden Erfindung.
  • 2 veranschaulicht einen Verschlüsseler für normal auflösende Fernsehdaten zur Verwendung gemäß der vorliegenden Erfindung.
  • 3 veranschaulicht einen Verschlüsseler für hochauflösende Fernsehdaten zur Verwendung gemäß der vorliegenden Erfindung.
  • 4(a) veranschaulicht eine Zeitleiste, bei der gemäß der vorliegenden Erfindung eine neue maximale Übertragungsbitrate vor dem Decodierungszeitstempel (DTS) des nächsten Vollbildes umgesetzt werden kann.
  • 4(b) veranschaulicht eine Zeitleiste, bei der gemäß der vorliegenden Erfindung eine neue maximale Übertragungsbitrate nicht vor dem Decodierungszeitstempel (DTS) des nächsten Vollbildes umgesetzt werden kann.
  • 4(c) veranschaulicht eine Zeitleiste, bei der gemäß der vorliegenden Erfindung eine neue minimale Übertragungsbitrate vor dem Decodierungszeitstempel (DTS) des aktuellen Vollbildes umgesetzt werden kann.
  • 4(d) veranschaulicht eine Zeitleiste, bei der gemäß der vorliegenden Erfindung eine neue minimale Übertragungsbitrate nicht vor dem Decodierungszeitstempel (DTS) des aktuellen Vollbildes umgesetzt werden kann.
  • 5 veranschaulicht ein Verfahren zum Festsetzen von Mindest- und Höchstgrenzen einer Übertragungsbitrate gemäß der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf einen statistischen Multiplexer zum Codieren und Multiplexen von mehreren Kanälen digitaler Fernsehdaten.
  • 1 veranschaulicht ein statistisch gemultiplextes Mehrkanal-Verschlüsselungssystem zur Verwendung gemäß der vorliegenden Erfindung.
  • Das Verschlüsselungssystem 100 umfasst L Puffer-/Bedarfsparameter-Berechnungsfunktionen 102, 104,..., 106, die entsprechende unkomprimierte Quellvideoeingänge empfangen. Die Funktionen 102, 104,..., 106 stellen die Bedarfsparameterdaten einem Ratensteuerungsprozessor 125 bereit, der wiederum jedem der Verschlüsseler 112, 114,..., 116 eine entsprechende Zuweisung der Verschlüsselungsbitrate bereitstellt. Die Verschlüsseler können dem Ratensteuerungsprozessor bezüglich der tatsächlichen Verschlüsselungsbitrate Rückkopplungsinformationen bereitstellen. Die verschlüsselten Daten werden einem Mux 120 bereitgestellt, um einen gemultiplexten Bitstrom bereitzustellen, dann einem Transportpaketpuffer 130 und einem Sender 135 zur Übertragung über einen Kanal.
  • Der Ratensteuerungsprozessor 125 kann ein Füllungsgradsignal von dem Transportpaketpuffer 130 empfangen.
  • An einer Decodierungsstelle 180 sind ein Empfänger 182, ein Decodiererpuffer 184, ein Demux 186 und ein Decodierer 188 bereitgestellt, um ein decodiertes Videosignal auszugeben, z. B. zur Anzeige auf einem Fernseher.
  • 2 veranschaulicht einen Verschlüsseler für normal auflösendes Fernsehen zur Verwendung gemäß der vorliegenden Erfindung.
  • Der Verschlüsseler 112, der ein Beispiel für einen der Verschlüsseler 112, 114,..., 116 aus 1 ist, verschlüsselt einen einzelnen Kanal von Eingangsdaten und umfasst einen Datenkompressor 210, der eine herkömmliche Datenkompression durchführt, einschließlich einer Bewegungskompensation (für P- und B-Vollbilder), einer diskreten Cosinus-Transformation (DCT) und Quantisierung. Ein Video-First-in-First-out-Puffer (Video-FIFO-Puffer) 230 speichert die komprimierten Daten vorübergehend, und ein Paketprozessor 250 formt aus den komprimierten Daten Pakete mit angemessenen Kopfinformationen, z. B. gemäß dem MPEG-2-Standard oder einem anderen Video-Standard.
  • 3 veranschaulicht einen Verschlüsseler für hochauflösendes Fernsehen zur Verwendung gemäß der vorliegenden Erfindung.
  • Der Verschlüsseler 300 verschlüsselt einen einzelnen Kanal von Eingangsdaten. Ein Feldteiler 305 teilt jedoch ein Videovollbild auf, so dass verschiedene Unterbereiche oder Felder des Vollbildes an jeweilige verschiedene Datenkompressoren 310324 geleitet werden. Acht Datenkompressoren werden lediglich als Beispiel gezeigt. Typischerweise wird derselbe Unterbereich aufeinander folgender Vollbilder demselben Datenkompressor zugeteilt.
  • Eine Hauptkompressionssteuereinheit (MCC) 370 steuert die Kompression der Daten an jedem Datenkompressor über einen Peripheral-Component-Interconnect-Bus (PCI) 325, und die komprimierten Daten werden zur vorübergehenden Speicherung an einen Video-FIFO 330 ausgegeben. Die komprimierten Daten werden an einem Paketprozessor 350 für den Transport zu Paketen geformt.
  • Ein Bedarfsparameter für die Verschlüsselungsbitrate für den HDTV- Kanal wird von dem MCC 370 bestimmt, indem für jeden der Felddatenkompressoren ein Bedarfsparameter summiert wird. Andere statistische Informationen wie etwa Bewegungsschätzungswerte und dergleichen werden ebenfalls für jeden Datenkompressor summiert.
  • Es ist zu beachten, dass es möglich ist, sowohl SDTV- als auch HDTV-Verschlüsseler in einer einzigen Stat-Mux-Gruppe zu kombinieren. In diesem Fall ist der Verschlüsseler 300 ein Beispiel für einen der Verschlüsseler 112, 114,..., 116 aus 1. Zum Beispiel kann ein HDTV-Verschlüsseler mit zwei oder drei SDTV-Verschlüsselern in einer Stat-Mux-Gruppe kombiniert werden.
  • Übersicht
  • Ein entscheidender Teil eines statistisch gemultiplexten Mehrkanal-Verschlüsselungssystems der Erfindung ist die Berechnung der Bedarfsparameter.
  • Die optischen Merkmale und Komplexitätsinformationen bezüglich des Quellvideos werden gesammelt und zu einem einzigen Parameter, der als der „Bedarfsparameter" bezeichnet wird, verdichtet. Ein Bedarfsparameter wird für jeden Videokanal berechnet und einmal pro Vollbild aktualisiert, wann immer ein neues Videovollbild von dem entsprechenden Einzelkanalverschlüsseler 112, 114,..., 116 verarbeitet wird. Wahlweise kann der Bedarfsparameter häufiger aktualisiert werden, wie etwa mehrere Male pro Vollbild. Des Weiteren kann der Bedarfsparameter in einem Halbbild-Bildmodus einmal pro Halbbild aktualisiert werden.
  • Diskussion
  • Bei der folgenden Beschreibung eines Stat-Mux wird davon ausgegangen, dass jede Videodienstleistung dem Ratensteuerungsprozessor 125, der die Aufgaben des Zuwelsens von Bandbreite für jeden Fernsehdienstleistungsanbieter (TSP), z. B. Kanal, und des Modulierens der Übertragungsraten für jeden Kanal handhabt, ein Maß der Bildkomplexität wie etwa einen ME-Wert oder ein Aktivitätsniveau bereitstellt. Bei einem Verschlüsseler mit Vorgrifffähigkeit kann der ME-Wert mit anderen Maßen wie etwa der tatsächlichen Anzahl Bits, die unter einem konstanten Quantisierungsniveau (QL) codiert werden, ersetzt werden.
  • Für den Hochauflösungs-Verschlüsseler, der mehrere Felder eines Vollbilds parallel verarbeitet, sammeln die Verschlüsseler 112, 114,..., 116 die ME-Werte von allen Feldern und kalkulieren die Summe zusammen mit anderen Parametern wie etwa dem durchschnittlichen Pixelniveau (APL), Bildauflösung, Vollbildrate, Vollbildart (I, B oder P) und Gesamt-Intravollbild-Aktivität. Er behält auch Aufzeichnungen über die Größe und das durchschnittliche QL von vergangenen Vollbildern. Auf der Basis der verfügbaren Informationen plus den Vorgriffparametern von Szenenwechsel, Überblendung und Filmerkennung kann der MCC 370 einen Bedarfsparameter für diesen Videokanal ableiten.
  • Wenn der Ratensteuerungsprozessor 125 einen aktualisierten Bedarfsparameter von einer Puffer-/Bedarfsparameter-Berechnungsfunkion 102, 104,..., 106 empfängt, weist er allen Videodienstleistungen auf der Basis der neuesten Informationen die Bandbreiten neu zu. Die Bandbreitenzuweisung wird in der Form einer Verschlüsselungsbitrate zurück an jeden Verschlüsseler 112, 114,..., 116 gesendet. Des Weiteren verwendet der Ratensteuerungsprozessor 125 die Bandbreitenzuweisung, um Bitbudgets für das Verschlüsseln zu kalkulieren. Er behält ein annäherndes Model eines Videopufferprüfers (VBV), wie etwa von dem MPEG-Standard her bekannt, um sicherzustellen, dass jedes Vollbild innerhalb akzeptabler Größengrenzen verschlüsselt wird.
  • Es ist zu beachten, dass das VBV-Modell nur annähernd ist, da die tatsächliche Übertragungsratenänderungen, die zu der Decodierzeit eines Vollbildes auftreten, nicht genau im Voraus, zur Zeit der Verschlüsselung, modelliert werden können. Der Ratensteuerungsprozessor 125 behält ein bitgenaues Modell des Decodiererpuffers 184, und wenn ihm die Größe jedes verschlüsselten Vollbildes zusammen mit dem Decodierungszeitstempel (DTS) gegeben wird, können die Mindest- und Höchstgrenze der Übertragungsrate berechnet und verwendet werden, bevor eine Übertragungsratenänderung ausgegeben wird. Wie von dem MPEG-Standard her bekannt, ist ein DTS ein Datenfeld, das in einem PES-Paketkopf vorliegt, das die Zeit angibt, zu der eine Zugriffseinheit (z. B. ein Bild) in einem Systemzieldecodierer decodiert wird.
  • Hierbei werden die Mindest- und Höchstraten für den Schutz des Decodiererpuffers verwendet. Unter normalen Bedingungen wäre es zu erwarten, dass Übertragungsratenänderungen (mit einem Zeitverzug) den Änderungen der Verschlüsselungsrate, wie von den Verschlüsselern an den Ratensteuerungsprozessor übermittelt, folgen. Der Zeitverzug oder die Systemverzögerung ist die Gesamtpuffersystemverzögerung sowohl durch Verschlüsselungspuffer als auch durch Decodierpuffer, und es wird davon ausgegangen, dass sie für alle Videodienstleistungen in der Stat-Mux-Gruppe dieselbe ist. Die Systemverzögerung umfasst die Zeit zwischen der Verschlüsselung und der Decodierung eines Bildes. In dem Fall des Multiplexens von HD- und SD-Kanälen können ihre Systemverzögerungen annähernd gleich sein, wenn eine relative Gewichtung von z. B. fünf zu eins zwischen den HD- und SD-Kanälen angenommen wird.
  • Da nicht alle Videodienstleistungen vollbildsynchronisiert sein müssen, werden die Verschlüsselungsbitraten und die Übertragungsraten so häufig aktualisiert, wie es der Ratensteuerungsprozessor handhaben kann. Verschlüsselungsbitraten werden (mit der Puffersystemverzögerung) weitergeleitet, um die Übertragungsrate für diesen Kanal zu werden.
  • 1. Zuteilung der übertragungsbitrate an jeden Videokanal
  • Den Kern des statistischen Multiplexsystems bildet der Bandbreitenzuweisungsprozess, der von dem Ratensteuerungsprozessor 125 durchgeführt wird. Bei unserem Stat-Mux-System kann eine Unterscheidung zwischen zwei unterschiedlichen Konzepten von Bandbreite getroffen werden: eines ist die Zuweisung von Bandbreite an jeden Videokanal zum Zweck des Verschlüsselns. Aus der Perspektive des Ratensteuerungsprozessors wird jedem Einzelkanal-Videoverschlüsseler eine Verschlüsselungsbitrate (BR) zugewiesen, die verwendet wird, um die angezielte Größe zum Verschlüsseln eines Videovollbildes zu bestimmen. Der Einzelkanalverschlüsseler empfängt in jeder QL/BR-Periode Aktualisierungen seiner Verschlüsselungsbitrate, was z. B. mehr als neunzigmal pro Sekunde auftreten kann. Vor dem Verschlüsseln eines bestimmten Videovollbildes wird jedoch nur die neueste Verschlüsselungsbitrate verwendet, um die angezielte Budgetgröße für das Verschlüsseln dieses Vollbildes zu berechnen.
  • Der andere Bandbreitenzuweisungsprozess gemäß der Erfindung involviert die Zuteilung der Übertragungsbitrate an jeden Videokanal. Dies kann ebenfalls in jeder QL-/BR-Periode berechnet werden, oder mit einer schnelleren oder langsameren Rate. Die Übertragungsbitrate für einen Videokanal bestimmt, wie viele Bits komprimierten Videos während einer QL-/BR-Periode von diesem Kanal gesendet werden sollten. Die Summe der Übertragungsbitraten über alle Videokanäle für eine bestimmte QL-/BR-Periode sollte gleich der Gesamtvideobandbreite, die dem Stat-Mux-System gegeben wird, sein oder weniger als diese betragen. Auf ähnliche Weise sollte die Summe der Verschlüsselungsbitraten über alle Videokanäle für eine bestimmte QL-/BR-Periode gleich der Gesamtvideobandbreite, die dem System gegeben wird, sein oder weniger als diese betragen.
  • 1.1 Beziehung zwischen den Verschlüsselungsbitraten und den Übertragungsbitraten
  • Bei einem Videoverschlüsselungs-/Videodecodierungssystem des MPEG-2 bezieht sich das Konzept der Puffersystemverzögerung auf den Zeitverzug von der Zeit, zu der ein Videovollbild zuerst an dem Verschlüsseler verschlüsselt wird, bis zu der Zeit, zu der das Videovollbild von dem Decodierer decodiert wird, z. B. wie von dem DTS des Vollbildes gekennzeichnet. Für die meisten MPEG-2- Systeme ist die Puffersystemverzögerung konstant, sobald das Verschlüsselungs-/Decodierungssystem auf eine gewisse Bitrate konfiguriert ist. Eine konstante Puffersystemverzögerung kann auch für das vorliegende Stat-Mux-System angenommen werden.
  • Des Weiteren wird die Übertragungsbitrate ausgewählt, um annähernd eine Zeitverzugsversion der Verschlüsselungsbitrate zu sein. Der Zeitverzug zwischen den beiden Raten ist gleich der Puffersystemverzögerung.
  • Der Grund für diese bestimmte Wahl ist wie folgt. Wenn jedwede Latenz in dem Übertragungsweg zwischen dem Transportpaketpuffer 130 auf der Verschlüsselungsseite und dem Decodiererpuffer 184 ignoriert wird, ist die Übertragungsbitrate dieselbe Rate wie die Rate, mit der die Videobits an dem Decodiererpuffer eintreffen. Da die Verschlüsselungsbitrate beim Bestimmen des Budgets für das Verschlüsseln eines Videovollbildes verwendet wird, kann sie auch als die Decodierungsrate angesehen werden, wenn das bestimmte Vollbild decodiert wird.
  • Die Biteintreffrate an dem Decodiererpuffer (d. h. die Übertragungsbitrate) gleicht der Verschlüsselungsbitrate, die um die Verzögerungszeit des Puffersystems verzögert wird, und die Decodierungsbitrate gleicht ebenfalls der Verschlüsselungsbitrate, die um die Verzögerungszeit des Puffersystems verzögert wird. Daher gleicht, wenn ein Videovollbild decodiert wird, die Decodierungsrate (die die Ausgangsrate des Decodierpuffers steuert) grob der Biteintreffrate an dem Eingang des Decodiererpuffers. Daher minimiert die vorliegenden Erfindung jede mögliche Nichtübereinstimmung der Raten zwischen dem Ausgang und dem Eingang des Decodiererpuffers. In einem System mit fester Rate tritt diese Nichtübereinstimmung niemals auf, da die Verschlüsselungsbitrate und die Übertragungsbitrate dieselbe feste Rate sind.
  • In der oben stehenden Diskussion bezieht sich die Verschlüsselungs-/Decodierungsbitrate auf die Rate, mit der ein Videovollbild verschlüsselt bzw. decodiert wird, ohne die Wirkung der verschiedenen Vollbildarten in Betracht zu ziehen. Die Zuteilung von Bitbudgets gemäß den Vollbildarten wird von der Ratensteuerungsfunktion an dem individuellen Einzelkanalverschlüsseler vorgenommen. Zum Beispiel teilt die Ratensteuereinheit bei einer gegebenen Verschlüsselungsbitrate einem I-Vollbild ein großes Bitbudget zu, wenn das die Art des Vollbilds ist, die sie zu verschlüsseln im Begriff steht. Umgekehrt wird einem B-Vollbild ein viel kleineres Bitbudget zugeteilt.
  • 1.2 Mindest- und Höchstbitratenanforderungen von dem Paketprozessor
  • Es ist zu beachten, dass die Übertragungsbitrate nur annähernd eine Zeitverzugsversion der Verschlüsselungsbitrate ist. Der Ratensteuerungsprozessor 125 kann die Übertragungsbitrate, falls notwendig, frei anders festsetzen. Wenn die Übertragungsbitrate von der Verschlüsselungsbitrate abweicht, können die Vollbilder, die bereits verschlüsselt und in dem Transportpaketpuffer 130 gespeichert wurden, bewirken, dass der Decodiererpuffer 184 überläuft oder unterläuft. Dies liegt daran, dass diese Vollbilder ursprünglich unter der Annahme verschlüsselt worden waren, dass die Übertragungsrate der Verschlüsselungsbitrate genau folgt. Die Übertragungsrate kann von der Verschlüsselungsbitrate aus mehreren Gründen abweichen, z. B. einer vorübergehenden Überlastung des Übertragungsnetzes oder einer Ungenauigkeit bei der tatsächlichen Anzahl von Bits, die über einen QL-/BR-Zeitraum gesendet werden.
  • In dem vorliegenden Stat-Mux-System werden derartige Abweichungen berücksichtigt, während der Schutz des Decodierpuffers vor Überlauf bzw. Unterlauf weiter beibehalten wird. Dies wird erreicht, indem der Paketprozessor 250 oder 350 auf bevorstehende Überlauf-/Unterlaufereignisse hin überprüft und durch einen Satz von Anforderungen für die Höchst- und Niedrigstübertragungsbitraten mit dem Ratensteuerungsprozessor 125 zurück in Kommunikation tritt. Die Höchstbitrate definiert die höchste Rate, mit der der Paketprozessor Videopakete für diesen Kanal senden kann, ohne dass der Decodiererpuffer des Kanals überläuft. Die Mindestbitratenanforderung informiert den Ratensteuerungsprozessor 125 über die niedrigste Rate, mit der der individuelle Videokanal seine Videobits senden muss, um das ganze Videovollbild hinüber zum Decodierer zu schicken, bevor die Decodierungszeit des Vollbildes anfängt.
  • Damit der Paketprozessor (250 oder 350) die Mindest- und Höchstgrenzen der Übertragungsbitrate kalkulieren kann, muss er den Decodiererpuffer durch ein Decodiererpuffermodell verfolgen, einschließlich des aktuellen Status des Puffers, der Anzahl der Vollbilder darin, des DTS und der Größe jedes Vollbildes sowie des DTS und der Größe des Vollbildes, das aktuell übertragen wird.
  • Ein Bild wird selbstverständlich vor seiner DTS-Zeit übertragen, z. B. bis zu 0,5 s vorher. Die Bilddaten werden vor dem Decodieren zu der DTS-Zeit in dem Puffer des Decodierers gespeichert. Der DTS basiert auf einer Program Clock Reference (PCR), bei der es sich um einen Takt handelt, der auf einem Verschlüsselungsmodul läuft. Diese Zeit wird periodisch von dem Verschlüsseler an den Decodierer gesendet, um die Geräte zu synchronisieren. Der PCR-Takt läuft in einer üblichen Umsetzung mit 27 MHz.
  • Bevor jede neue Übertragungsrate ausgegeben wird, fragt der Ratensteuerungs(QL)-Prozessor 125 alle Kanäle auf ihre zulässigen Mindest- und Höchstbitraten ab. Der Paketprozessor für jeden Kanal berechnet diese Grenzen wie folgt.
  • CT ist die aktuelle Zeit, Next_DTS ist die Zeit, in der der Decodierer sein nächstes Vollbild decodiert, und der DTS danach ist Next_next_DTS. „Latenz", „Verzögerung" oder „Umsetzungsverzögerung" bezeichnen das Intervall von der aktuellen Zeit bis zu der Zeit, wenn die Bitrate umgesetzt werden kann. Diese Verzögerung berücksichtigt derartige Faktoren wie eine Signallaufzeit zwischen dem Paketprozessor und dem Ratensteuerungsprozessor und eine Zeit, damit der Ratensteuerungsprozessor eine neue Übertragungsbitrate berechnen kann. Die Verzögerung hängt von der Hardware-Konfiguration ab.
  • Die Übertragungsbitrate wird in aufeinander folgenden Zyklen aktualisiert, die von den Zyklen zum Aktualisieren der Verschlüsselungsbitraten variieren können. Es können zweiunddreißig Zyklen für die Aktualisierung der Übertragungsbitrate zwischen DTSs verwendet werden. Das Intervall zwischen DTSs ist die Umkehr der Vollbildrate, z. B. 1/24 oder 1/30 s. Die Latenz (latency) ist typischerweise ein Bruchteil (z. B. 1/3) eines Zyklus zur Aktualisierung der Übertragungsbitrate.
  • Die current_br ist die Übertragungsbitrate für den aktuellen Zyklus, die von dem Ratensteuerungsprozessor 125 empfangen wird und um 184/188 skaliert ist, um die Bits des Transportpaketkopfes zu entfernen. Der Paketprozessor jedes Kanals gibt Pakete gemäß der ihm zugeteilten Übertragungsbitrate aus. Es sei angenommen, es werde ein MPEG-Transportpaket mit 184 Byte Nutzlast und 4 Byte Kopf verwendet. Es können jedoch auch andere Transportschemata verwendet werden, in welchem Fall diese Anpassung wie erforderlich modifiziert wird.
  • In den folgenden Gleichungen wird current_br weiter um einen „margin" (Rand) von 61 kbit/s angepasst, um PCR, PES-Köpfe und Zeitstempel zu berücksichtigen. Für einen HDTV-Verschlüsseler wird der Rand auf 122 kbit/s verdoppelt. Diese Werte sind wiederum spezifisch für den MPEG-Codierungsstandard, aber die Erfindung ist auch zur Verwendung mit anderen Codierungs- und Übertragungsschemata geeignet.
  • Die Höchstgrenze der Bitrate wird verwendet, um für jeden Kanal zu verhindern, dass der modellierte Decodiererpuffer überläuft. Erforderlich ist, dass der Decodiererpuffer zur nächsten DTS-Zeit nicht überlaufen sollte. Durch das Überwachen des Betrags an Platz in dem Decodiererpuffer zur Next_DTS-Zeit (decode_buffer_sizedecode_buffer) unter der Annahme, es werden keine neuen Bits übertragen, und durch das Anpassen an die Latenz in der Antwort des Ratensteuerungsprozessors wird die Höchstbitrate von dem Betrag an leerem Pufferplatz geteilt durch die Zeit bis zum Next_DTS gegeben.
  • Die Zeitleiste 400 aus 4(a) zeigt den Fall, wenn die Zeit für das Umsetzen der nächsten Aktualisierung der Übertragungsbitrate vor dem Next_DTS liegt. Wie in der Zeitleiste 420 aus 4(b) gezeigt, sollte, wenn die Zeit für das Umsetzen der nächsten Aktualisierung der Bitrate nach dem Next_DTS liegt, die Pufferüberlaufbedingung für den Next_next_DTS überprüft werden. Die Berechnung der Höchstbitrate wird in der folgenden C-Sprachen-Syntax ausgedrückt.
  • Figure 00200001
  • Wenn (CT + latency) < Next_DTS, stellt der Zähler den modellierten Füllungsgrad des Decodiererpuffers zur Zeit (CT + latency) dar, und der Nenner stellt den Zeitraum zwischen (CT + latency) und (Next_DTS) dar. Max_br ist dann die Bitrate, die den verbleibenden Pufferplatz verbrauchen wird, wenn sie in dem Zeitraum zwischen (CT + latency) und (Next_DTS) umgesetzt wird. Siehe 4(a).
  • Wenn (CT + latency) ≥ Next_DTS, stellt der Zähler den modellierten Füllungsgrad des Decodiererpuffers zur Zeit (CT + latency) dar, und der Nenner stellt den Zeitraum zwischen (CT + latency) und (Next_next_DTS) dar. Max_br ist dann die Bitrate, die den verbleibenden Pufferplatz verbrauchen wird, wenn sie in dem Zeitraum zwischen (CT + latency) und (Next_next_DTS) umgesetzt wird. picture_size_pf(picture_at_Next_DTS) ist die Größe (z. B. in Bits) des Bildes, dessen DTS Next_DTS ist. Siehe 4(b).
  • In dem unten stehenden Code zur Berechnung der Mindestbitrate bezeichnet der Begriff „current frame" (aktuelles Vollbild) das codierte Videovollbild, das aktuell übertragen wird. Die Mindestbitrate wird von dem Erfordernis abgeleitet, dass das aktuelle Vollbild von komprimierten Daten vor dem DTS für dieses Vollbild vollständig übertragen werden muss, ansonsten kann der Decodiererpuffer während der Decodierung dieses Vollbilds unterlaufen. Als Erstes ist zu überprüfen, ob die nächste Änderung der Bitrate vor der DTS-Zeit des aktuellen Vollbilds auftritt (d. h. CT + latency < DTS_of_current_frame). Wenn das so ist, wie auf der Zeitleiste 440 von 4(c) gezeigt, ist es sinnvoll, eine min_br zu berechnen, die als die minimale konstante Bitrate definiert ist, welche erforderlich ist, um den Rest des Vollbildes vor der DTS-Zeit zu senden. Wenn es sich herausstellt, dass min_br null oder weniger beträgt (dies könnte geschehen, falls bei einer gegebenen Latenz die Anzahl der im aktuellen Vollbild verbleibenden Bits no_of_bits_left_current_frame <= current_br·latency ist), wird dann min_br auf null festgesetzt. Dies bedeutet, dass es kein Mindesterfordernis an die neue Bitrate gibt.
  • Für den speziellen Fall, wenn der DTS so nahe an der aktuellen Zeit liegt, dass CT + latency > DTS_of_current_frame, wie auf der Zeitleiste 460 von 4(d) gezeigt, ist min_br nicht sinnvoll. In diesem Fall wird min_br auf null festgesetzt, wenn die alte Bitrate das Abliefern aller verbleibenden Bits vor dem Auftreten des DTS beenden kann; ansonsten wird min_br auf einen Wert festgesetzt, der groß genug ist, um jegliches mögliche Unterlaufproblem des Decodiererpuffers abzuschwächen. Die Berechnung der Mindestbitrate wird in der folgenden C-Sprachen-Syntax ausgedrückt.
  • Figure 00220001
  • no_of_bits_left_current_frame ist die Anzahl an Bits, die in dem aktuellen Vollbild zur Zeit CT übrig sind, um gesendet zu werden. Wenn (latency < DTS_of_current_frame – CT), stellt der Nenner für min_br die Anzahl an Bits dar, die in dem aktuellen Vollbild zur Zeit CT + latency übrig sind, um gesendet zu werden, und der Nenner stellt den Zeitraum zwischen (CT + latency) und (DTS_of_current_frame) dar. Min_br ist dann die kleinste Bitrate, die es ermöglicht, dass der Rest des aktuellen Vollbildes übertragen wird, wenn sie in dem Zeitraum zwischen (CT + latency) und (DTS_of_current_frame) umgesetzt wird. Siehe 4(c).
  • Es ist zu beachten, dass das Festsetzen von min_br = 0 im Wesentlichen die aktuelle Übertragungsbitrate beibehält.
  • Der Code „min_br = HARDWARE_MAX/4" bezeichnet einen „Panikmodus", bei dem es nicht genügend Bandbreite gibt, um den Rest des Bildes vor dem DTS des aktuellen Bildes über den Kommunikationskanal an den Decodierer zu senden. HARDWARE_MAX beträgt 28 Mbit/s für SD und 39 Mbit/s für HD. Eine Alternative besteht darin, festzusetzen, dass min_br = (no_of_bits_left_current_frame – (current_br – margin)·latency)/(one_QLBR_cycle). In diesem Fall muss, was immer in dem aktuellen Vollbild übrig ist, während des neuen QL/BR-Zyklus gesendet werden.
  • Es ist zu beachten, dass die Mindest- und Höchstbitraten unter Verwendung eines Skalierfaktors von 188/184 zurück in Transportbitraten umgewandelt werden, bevor sie an den Ratensteuerungsprozessor zurückgesendet werden, da der Ratensteuerungsprozessor mit allen Übertragungsbitraten auf der Transportebene umgeht.
  • 1.3 Eine C-Sprachen-Syntax für einen Übertragungsbitratenprozess gemäß der Erfindung
    • (1) Initialisieren der Bitratenparameter zu nominellen Werten.
      Figure 00230001
    • (2) Berechnen der gesamten harten Mindestübertragungsbitrate für den Stat-Mux, dann Begrenzen der Mindest- und Höchstbitraten durch die harten Grenzen. Ignorieren des harten Minimums, wenn das gesamte harte Minimum die verfügbare Bandbreite überschreitet. Wahlweise kann der Benutzer individuelle harte Grenzen für jeden Kanal festsetzen.
      Figure 00240001
    • (3) Wenn die gesamte Mindestbitrate, die von dem Paketprozessor 250 (PP) eines Kanalverschlüsselers angefordert wird, die verfügbare Bandbreite überschreitet, handhabt der Ratensteuerungsprozessor 125 die Zuweisung der Übertragungsbitrate anders, abhängig davon, ob das gesamte harte Minimum die verfügbare Bandbreite überschreitet. Wenn dies zutrifft, wird die Bandbreite proportional zu der Mindestbitrate, die von dem Paketprozessor angefordert wird, zugewiesen. Anderenfalls greift der Ratensteuerungsprozessor auf die harten Minima zurück und weist die verbleibende Bandbreite proportional zu dem Unterschied zwischen den angeforderten Minima und den harten Minima zu.
      Figure 00250001
      Figure 00260001
    • (4) Wenn die gesamte Mindestbitrate, die von dem Paketprozessor eines Kanals angefordert wird, die verfügbare Bandbreite nicht überschreitet, dann Zuweisen der angeforderten Mindestbandbreite an jeden Kanal und Anpassen der Zielbitrate für jeden Kanal.
      Figure 00260002
      Figure 00270001
    • (5) Wenn noch immer Bandbreite verfügbar ist, ihr Verteilen proportional zu den Zielbandbreiten der Kanäle.
      Figure 00270002
    • (6) Wenn immer noch Bandbreite verfügbar ist, ihr Verteilen proportional zu dem Unterschied zwischen der max_bitrate und der zugeteilten Bitrate, ohne die max_bitrate zu überschreiten.
      Figure 00270003
      Figure 00280001
  • 5 veranschaulicht ein Verfahren zum Festsetzen einer Mindest- und einer Höchstgrenze einer Übertragungsbitrate gemäß der vorliegenden Erfindung. Eine Zusammenfassung der oben stehenden Diskussionen wird bereitgestellt.
  • Eine Verschlüsselungsbitrate wird zuerst für ein aktuelles Bild zugewiesen (Block 500), und eine Übertragungsbitrate wird als Reaktion darauf (Block 510) und im Anschluss an eine Systemverzögerung zugewiesen. Wenn eine neue Bitrate vor einer Decodierzeit des nächsten Bildes zugewiesen werden kann, wird eine Höchstgrenze der Bitrate festgesetzt, um einen Überlauf des Decodiererpuffers zu der Decodierzeit des nächstens Bildes zu vermeiden (Block 530). Wenn eine neue Bitrate nicht vor der Decodierzeit des nächsten Bildes zugewiesen werden kann, wird eine Höchstgrenze der Bitrate festgesetzt, um einen Überlauf des Decodiererpuffers zu der Decodierzeit des übernächsten Bildes zu vermeiden (Block 540).
  • Vor dem Festsetzen einer Mindestgrenze der Übertragungsbitrate (550), z. B. um einen möglichen Unterlauf des Decodiererpuffers zu vermeiden, wird, wenn eine neue Bitrate vor der Decodierzeit des aktuellen Bildes zugewiesen werden kann, die Mindestbitrate so festgesetzt, dass ein Rest des aktuellen Bildes vor der Decodierzeit des aktuellen Bildes übertragen wird (Block 560). Wenn eine neue Bitrate nicht vor der Decodierzeit des aktuellen Bildes zugewiesen werden kann, wird bestimmt, ob die aktuelle Übertragungsbitrate ausreicht, um den Rest des aktuellen Bildes vor der Decodierzeit des aktuellen Bildes zu übertragen (Block 570). Wenn die aktuelle Bitrate ausreicht, wird die Mindestbitrate auf null festgesetzt (Block 580), da kein Bedarf besteht, die Bitrate höher zu zwingen. Wenn die aktuelle Bitrate nicht ausreicht, wird die Mindestbitrate auf einen Höchstwert festgesetzt, wie etwa einem Hardware-Maximum (Block 590), um die Bitrate auf das höchste mögliche Niveau zu zwingen, um jeglichen möglichen Pufferunterlauf zur Decodierzeit des aktuellen Bildes abzuschwächen.
  • Die Übertragungsbitrate für das aktuelle Bild wird angepasst, wie in Hinblick auf die Mindest- und Höchstgrenzen notwendig (Block 595). Die Verarbeitung wird dann für den nächsten Zuweisungszyklus der Übertragungsbitraten wiederholt. Die Mindest- und Höchstgrenzen berücksichtigen eine Verzögerung beim Umsetzen einer neuen Bitrate, und sie berücksichtigen auch, ob die neue Bitrate vor der Decodierungszeit des aktuellen Bildes, des nächsten Bildes und/oder des übernächsten Bildes umgesetzt werden kann.
  • Demgemäß wird ersichtlich, dass die vorliegende Erfindung einen statistischen Multiplexer zum Codieren und Multiplexen von mehreren Kanälen digitaler Fernsehdaten bereitstellt. Ein Bitratenbedarfsparameter wird für jeden Verschlüsseler in einer Stat-Mux-Gruppe bestimmt, und jedem Kanal wird auf der Basis seines Bedarfsparameters eine Verschlüsselungsbitrate zugewiesen.
  • Zusätzlich dazu wird jedem Kanal eine Übertragungsbitrate als eine Zeitverzugsversion seines Bedarfsparameters zugewiesen, um eine Nichtübereinstimmung der Raten zwischen dem Ausgang und dem Eingang eines Decodiererpuffers zu minimieren. Ein Paketprozessor überprüft auf bevorstehende Ereignisse eines Überlaufs oder Unterlaufs des Decodiererpuffers, um eine Mindest- und Höchstgrenze für die Übertragungsbitrate festzusetzen.
  • Obwohl die Erfindung in Verbindung mit verschiedenen bevorzugten Ausführungsformen beschrieben worden ist, sollte es verstanden werden, dass verschiedene Abänderungen und Anpassungen daran vorgenommen werden können, ohne den Bereich der Erfindung, wie in den Patentansprüchen dargelegt, zu verlassen.

Claims (13)

  1. Ein Verfahren zum Verarbeiten einer Vielzahl von Kanälen digitaler Fernsehdaten in einem statistischen Multiplexer, das die folgenden Schritte beinhaltet: Zuweisen einer Verschlüsselungsbitrate zum Codieren eines aktuellen Bildes jedes Kanals gemäß einem Bitratenbedarfsparameter davon; und Zuweisen einer Übertragungsbitrate zum Übertragen des aktuellen Bildes nach dessen Verschlüsselung und Bereitstellen eines modellierten Decodiererpuffers, der die übertragenen Bilder empfängt, für jeden Kanal; wobei die Übertragungsbitrate für jeden Kanal auf der Verschlüsselungsbitrate des Kanals basiert und im Anschluss an eine Systemverzögerung, nach der Zuweisung der Verschlüsselungsbitrate, zugewiesen wird, um eine Nichtübereinstimmung der Raten zwischen einem Eingang und einem Ausgang des modellierten Decodiererpuffers zu minimieren.
  2. Verfahren gemäß Anspruch 1, wobei: es ermöglicht wird, dass die Übertragungsbitrate bei mindestens einem der Kanäle von der Verschlüsselungsbitrate des Kanals abweicht, um ein bevorstehendes Überlauf- oder Unterlaufereignis des modellierten Decodiererpuffers zu vermeiden.
  3. Verfahren gemäß Anspruch 1 oder 2, das den folgenden weiteren Schritt beinhaltet: Überprüfen auf bevorstehende Überlauf- oder Unterlaufereignisse des modellierten Decodiererpuffers bei mindestens einem der Kanäle, um mindestens eine der Mindest- und der Höchstgrenze der Übertragungsbitraten für den Kanal festzusetzen.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, wobei, wenn eine nächste Aktualisierung der zugewiesenen Übertragungsbitrate umgesetzt werden kann, im Anschluss an eine Umsetzungsverzögerung, vor einer Decodierzeit eines nächsten Bildes, für mindestens einen der Kanäle eine Höchstgrenze der zugewiesenen Übertragungsbitrate zu einer aktuellen Zeit (CT) im Verhältnis zu einem Füllungsgrad des modellierten Decodiererpuffers zu einer Zeit (CT + Verzögerung) und im umgekehrten Verhältnis zu einem Zeitraum zwischen (CT + Verzögerung) und der Decodierzeit festgesetzt wird.
  5. Verfahren gemäß einem der Ansprüche 1 bis 3, wobei, wenn eine nächste Aktualisierung der zugewiesenen Übertragungsbitrate nicht umgesetzt werden kann, im Anschluss an eine Umsetzungsverzögerung, vor einer Decodierzeit eines nächsten Bildes, für mindestens einen der Kanäle eine Höchstgrenze der zugewiesenen Übertragungsbitrate zu einer aktuellen Zeit (CD im Verhältnis zu einem Füllungsgrad des modellierten Decodiererpuffers zu einer Zeit (CT + Verzögerung) und im umgekehrten Verhältnis zu einem Zeitraum zwischen (CT + Verzögerung) und einer Decodierzeit eines Bildes, das auf das nächste Bild folgt, festgesetzt wird.
  6. Verfahren gemäß einem der Ansprüche 1 bis 3, wobei, wenn eine nächste Aktualisierung der zugewiesenen Übertragungsbitrate umgesetzt werden kann, im Anschluss an eine Umsetzungsverzögerung, vor einer Decodierzeit des aktuellen Bildes, für mindestens einen der Kanäle eine Mindestgrenze der zugewiesenen Übertragungsbitrate zu einer aktuellen Zeit (CT) im Verhältnis zu einer Anzahl verbleibender Bits des aktuellen Bildes zum Übertragen zu einer Zeit (CT + Verzögerung) und im umgekehrten Verhältnis zu einem Zeitraum zwischen (CT + Verzögerung) und der Decodierzeit festgesetzt wird.
  7. Verfahren gemäß einem der Ansprüche 1 bis 6, das den folgenden weiteren Schritt beinhaltet: Bestimmen für mindestens einen der Kanäle, ob eine aktuelle zugewiesene Übertragungsbitrate ausreicht, um eine Anzahl verbleibender Bits des aktuellen Bildes in einem Zeitraum zwischen einer aktuellen Zeit und einer Decodierzeit des aktuellen Bildes zu übertragen, und wenn ja, Beibehalten der aktuellen zugewiesenen Übertragungsbitrate in einem nächsten Aktualisierungszyklus davon.
  8. Verfahren gemäß einem der Ansprüche 1 bis 6, das den folgenden weiteren Schritt beinhaltet: Zwingen der zugewiesenen Übertragungsbitrate bei mindestens einem der Kanäle auf einen Höchstwert in einem nächsten Aktualisierungszyklus davon, wenn eine aktuelle zugewiesene Übertragungsbitrate nicht ausreicht, um eine Anzahl verbleibender Bits des aktuellen Bildes in einem Zeitraum zwischen einer aktuellen Zeit und einer Decodierzeit des aktuellen Bildes zu übertragen.
  9. Verfahren gemäß einem der Ansprüche 1 bis 8, wobei, wenn eine nächste Aktualisierung der zugewiesenen Übertragungsbitrate umgesetzt werden kann, im Anschluss an eine Umsetzungsverzögerung, vor einer Decodierzeit eines nächsten Bildes, für mindestens einen der Kanäle eine Höchstgrenze der zugewiesenen Übertragungsbitrate zu einer aktuellen Zeit festgesetzt wird, um einen Überlauf des modellierten Decodiererpuffers zu der Decodierzeit zu vermeiden.
  10. Verfahren gemäß einem der Ansprüche 1 bis 9, wobei, wenn eine nächste Aktualisierung der zugewiesenen Übertragungsbitrate nicht umgesetzt werden kann, im Anschluss an eine Umsetzungsverzögerung, vor einer Decodierzeit eines nächsten Bildes, für mindestens einen der Kanäle eine Höchstgrenze der zugewiesenen Übertragungsbitrate zu einer aktuellen Zeit festgesetzt wird, um einen Überlauf des modellierten Decodiererpuffers zu einer Decodierzeit eines Bildes, das auf das nächste Bild folgt, zu vermeiden.
  11. Verfahren gemäß einem der Ansprüche 1 bis 8, wobei: wenn eine nächste Aktualisierung der zugewiesenen Übertragungsbitrate umgesetzt werden kann, im Anschluss an eine Umsetzungsverzögerung, vor einer Decodierzeit des aktuellen Bildes, für mindestens einen der Kanäle eine Mindestgrenze der zugewiesenen Übertragungsbitrate zu einer aktuellen Zeit festgesetzt wird, so dass das aktuelle Bild vor der Decodierzeit vollständig übertragen wird.
  12. Verfahren gemäß einem der Ansprüche 1 bis 8 oder 11, wobei: wenn eine nächste Aktualisierung der zugewiesenen Übertragungsbitrate nicht umgesetzt werden kann, im Anschluss an eine Umsetzungsverzögerung, vor einer Decodierzeit des aktuellen Bildes, für mindestens einen der Kanäle eine Mindestgrenze der zugewiesenen Übertragungsbitrate zu einer aktuellen Zeit auf einen Höchstwert festgesetzt wird, um einen möglichen Unterlauf des modellierten Decodiererpuffers abzuschwächen.
  13. Eine statistische Multiplexervorrichtung zum Verarbeiten einer Vielzahl von Kanälen digitaler Fernsehdaten, die Folgendes beinhaltet: ein Mittel zum Zuweisen einer Verschlüsselungsbitrate zum Codieren eines aktuellen Bildes jedes Kanals gemäß eines Bitratenbedarfsparameters davon; und ein Mittel zum Zuweisen einer Übertragungsbitrate zum Übertragen des aktuellen Bildes nach dessen Verschlüsselung und Bereitstellen eines modellierten Decodiererpuffers, der die übertragenen Bilder empfängt, für jeden Kanal; wobei die Übertragungsbitrate für jeden Kanal auf der Verschlüsselungsbitrate des Kanals basiert und im Anschluss an eine Systemverzögerung, nach der Zuweisung der Verschlüsselungsbitrate, zugewiesen wird, um eine Nichtübereinstimmung der Raten zwischen einem Eingang und einem Ausgang des modellierten Decodiererpuffers zu minimieren.
DE60131993T 2000-09-20 2001-08-31 Verfahren und gerät zur bestimmung der übertragungsbitrate in einem statistischen multiplexer Expired - Lifetime DE60131993T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US666901 1996-06-20
US09/666,901 US7418007B1 (en) 2000-09-20 2000-09-20 Method and apparatus for determining a transmission bit rate in a statistical multiplexer
PCT/US2001/027171 WO2002025951A2 (en) 2000-09-20 2001-08-31 Method and apparatus for determining a transmission bit rate in a statistical multiplexer

Publications (2)

Publication Number Publication Date
DE60131993D1 DE60131993D1 (de) 2008-01-31
DE60131993T2 true DE60131993T2 (de) 2008-12-11

Family

ID=24675971

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60131993T Expired - Lifetime DE60131993T2 (de) 2000-09-20 2001-08-31 Verfahren und gerät zur bestimmung der übertragungsbitrate in einem statistischen multiplexer

Country Status (10)

Country Link
US (1) US7418007B1 (de)
EP (1) EP1320996B1 (de)
KR (1) KR20030061806A (de)
CN (1) CN1315328C (de)
AT (1) ATE381855T1 (de)
AU (1) AU2001288596A1 (de)
CA (1) CA2422131C (de)
DE (1) DE60131993T2 (de)
TW (1) TW519834B (de)
WO (1) WO2002025951A2 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8462810B2 (en) * 1999-05-21 2013-06-11 Wi-Lan, Inc. Method and system for adaptively obtaining bandwidth allocation requests
US20090219879A1 (en) 1999-05-21 2009-09-03 Wi-Lan, Inc. Method and apparatus for bandwidth request/grant protocols in a wireless communication system
US7006530B2 (en) * 2000-12-22 2006-02-28 Wi-Lan, Inc. Method and system for adaptively obtaining bandwidth allocation requests
US6925068B1 (en) 1999-05-21 2005-08-02 Wi-Lan, Inc. Method and apparatus for allocating bandwidth in a wireless communication system
US20070019687A1 (en) * 2002-06-04 2007-01-25 Eci Telecom Ltd. Technique for converting bit rates
KR100486524B1 (ko) 2002-07-04 2005-05-03 엘지전자 주식회사 비디오 코덱의 지연시간 단축 장치
US7343087B2 (en) * 2002-11-12 2008-03-11 Matsushita Electric Industrial Co., Ltd. Data stream playback device and method, digital broadcast receiver and related computer program
US8798167B2 (en) * 2002-11-29 2014-08-05 Sony Corporation Encoder and its method
WO2005104551A2 (en) * 2004-04-16 2005-11-03 Modulus Video, Inc. High definition scalable array encoding system and method
WO2006099695A1 (en) * 2005-03-21 2006-09-28 Newtec Cy Managing traffic in a satellite transmission system
JP2009510952A (ja) * 2005-09-29 2009-03-12 トムソン リサーチ ファンディング コーポレイション 拘束された可変ビットレート(vbr)ビデオ・エンコードの方法および装置
DE102006034414B4 (de) * 2006-07-25 2010-12-09 Nokia Siemens Networks Gmbh & Co.Kg Anordnung und Verfahren zur Dekodierung von digitalen Daten
US9179366B2 (en) * 2006-08-31 2015-11-03 Intel Corporation Scheduling methods and apparatus based on adjusted channel capacity
US8745676B2 (en) * 2006-12-19 2014-06-03 General Instrument Corporation Admitting a data file into a channel
US7843824B2 (en) 2007-01-08 2010-11-30 General Instrument Corporation Method and apparatus for statistically multiplexing services
US8068423B2 (en) * 2008-09-09 2011-11-29 Ericsson Television, Inc Packet scheduling system for digital video broadcasting
WO2010138913A1 (en) * 2009-05-29 2010-12-02 Harmonic, Inc. Systems and methods for video statistical multiplexing adapting to internet protocol networks
US8751881B1 (en) * 2009-11-06 2014-06-10 Brocade Communications Systems, Inc. Transmission buffer under-run protection
US9271052B2 (en) * 2010-05-10 2016-02-23 Comcast Cable Communications, Llc Grid encoded media asset data
US9167256B2 (en) * 2010-08-31 2015-10-20 Arris Technology, Inc. Method and apparatus for encoding
JP5720691B2 (ja) 2010-09-30 2015-05-20 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
KR101494562B1 (ko) * 2011-01-18 2015-02-17 후지쯔 가부시끼가이샤 동화상 부호화 장치, 동화상 부호화 방법 및 동화상 부호화용 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체
US8898718B2 (en) 2011-01-27 2014-11-25 International Business Machines Corporation Systems and methods for managed video services at edge-of-the-network
EP2485441B1 (de) * 2011-01-31 2014-10-08 Alcatel Lucent Planungsverfahren zum Multimedia-Streaming eines Videopakets
EP2523456A1 (de) * 2011-05-12 2012-11-14 Alcatel Lucent Betriebsverfahren für statistisches Multiplexing verteilter Videoströme
CN103179434B (zh) * 2011-12-22 2016-01-27 晨星软件研发(深圳)有限公司 封包接收器及其封包处理方法
FR2990814B1 (fr) * 2012-05-18 2014-05-16 Assistance Tech Et Etude De Materiels Electroniques Procede et systeme de traitement pour generer au moins deux flux video compresses
US20140112386A1 (en) * 2012-10-22 2014-04-24 General Instrument Corporation Algorithms for determining bitrate for a statistical multiplexing system to account for signal complexity including film mode and gop structural changes
US20140301481A1 (en) * 2013-04-04 2014-10-09 Magnum Semiconductor, Inc. Apparatuses and methods for pooling multiple channels into a multi-program transport stream
US10264043B2 (en) * 2014-04-23 2019-04-16 Ericsson Ab Outage notification with client control modification in an ABR streaming network
CN104639955B (zh) * 2015-03-09 2017-10-27 德科仕通信(上海)有限公司 检测mpeg2‑ts vbr码流质量问题的方法
WO2016174946A1 (ja) * 2015-04-28 2016-11-03 株式会社日立国際電気 映像監視システムおよび映像監視方法
US10070136B2 (en) 2016-02-16 2018-09-04 Arris Enterprises Llc Statistical multiplexing with heterogeneous encoder pool
JP6903172B2 (ja) * 2017-06-20 2021-07-14 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ライブアップリンク適応ストリーミングのための装置および方法
US10904313B2 (en) * 2017-06-20 2021-01-26 Telefonaktiebolaget Lm Ericsson (Publ) Apparatuses, methods, computer programs, and computer program products for live uplink adaptive streaming
US10225211B2 (en) 2017-07-20 2019-03-05 Arris Enterprises Llc Statistical multiplexer with service priority weighting
EP4322495A1 (de) * 2022-08-08 2024-02-14 Rohde & Schwarz GmbH & Co. KG Verfahren sowie system zur datenübertragung mittels funksignalen und anpassung der übertragungsrate einer oder mehrerer einheiten mittels datencodierung

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159447A (en) * 1991-05-23 1992-10-27 At&T Bell Laboratories Buffer control for variable bit-rate channel
US5216503A (en) 1991-12-24 1993-06-01 General Instrument Corporation Statistical multiplexer for a multichannel image compression system
US5550590A (en) 1994-03-04 1996-08-27 Kokusai Denshin Denwa Kabushiki Kaisha Bit rate controller for multiplexer of encoded video
US5933450A (en) 1994-04-20 1999-08-03 Thomson Consumer Electronics, Inc. Complexity determining apparatus
US6055270A (en) 1994-04-20 2000-04-25 Thomson Cosumer Electronics, Inc. Multiplexer system using constant bit rate encoders
TW374283B (en) 1994-05-25 1999-11-11 Sony Corp A multiple coding device
US5606369A (en) * 1994-12-28 1997-02-25 U.S. Philips Corporation Buffering for digital video signal encoders using joint bit-rate control
GB9517130D0 (en) * 1995-08-22 1995-10-25 Nat Transcommunications Ltd Statistical multiplexing
US5861919A (en) * 1995-12-18 1999-01-19 Divicom Dynamic rate optimization for an ensemble of video encoders
US5929916A (en) 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
US5761398A (en) 1995-12-26 1998-06-02 C-Cube Microsystems Inc. Three stage hierarchal motion vector determination
EP0784409A3 (de) * 1996-01-11 2001-11-14 Sony Corporation Videokodierung und -multiplex
EP0804035B1 (de) 1996-04-25 2002-06-26 Matsushita Electric Industrial Co., Ltd. Gerät und Verfahren zur Bewegtbildkodierung
US5793425A (en) * 1996-09-13 1998-08-11 Philips Electronics North America Corporation Method and apparatus for dynamically controlling encoding parameters of multiple encoders in a multiplexed system
WO1998032252A1 (en) * 1997-01-21 1998-07-23 Sony Corporation Coded signal transmission method and device
US6023296A (en) 1997-07-10 2000-02-08 Sarnoff Corporation Apparatus and method for object based rate control in a coding system
CA2273940C (en) * 1997-10-03 2008-12-09 Sony Corporation Encoded stream splicing device and method, and an encoded stream generating device and method
US6167084A (en) 1998-08-27 2000-12-26 Motorola, Inc. Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
FR2790899B1 (fr) 1999-03-09 2001-04-20 Thomson Broadcast Systems Dispositif et procede de regulation de debit dans un systeme de multiplexage statistique de flux d'images codees selon le codage mpeg 2
US6594271B1 (en) 1999-07-19 2003-07-15 General Instruments Corporation Implementation of opportunistic data on a statistical multiplexing encoder
US6493388B1 (en) 2000-04-19 2002-12-10 General Instrument Corporation Rate control and buffer protection for variable bit rate video programs over a constant rate channel

Also Published As

Publication number Publication date
US7418007B1 (en) 2008-08-26
ATE381855T1 (de) 2008-01-15
EP1320996B1 (de) 2007-12-19
CA2422131C (en) 2012-05-15
EP1320996A2 (de) 2003-06-25
WO2002025951A3 (en) 2002-06-13
CA2422131A1 (en) 2002-03-28
WO2002025951A2 (en) 2002-03-28
TW519834B (en) 2003-02-01
AU2001288596A1 (en) 2002-04-02
CN1461568A (zh) 2003-12-10
CN1315328C (zh) 2007-05-09
DE60131993D1 (de) 2008-01-31
KR20030061806A (ko) 2003-07-22

Similar Documents

Publication Publication Date Title
DE60131993T2 (de) Verfahren und gerät zur bestimmung der übertragungsbitrate in einem statistischen multiplexer
DE60106286T2 (de) Zeitbasisreferenzdatumregeneration für mpeg-transportströme
DE69535402T2 (de) Einrichtung und Verfahren zur Segmentierung und zeitlichen Synchronisierung der Übertragung von Multimediadaten
DE60003636T2 (de) Verfahren zür erfassung und verhinderung von bandbreiteüberlauf in einem statistischen multiplexer
US6493388B1 (en) Rate control and buffer protection for variable bit rate video programs over a constant rate channel
DE602004004096T2 (de) System und verfahren zur bereitstellung von multiplexen und neumultiplexen von mpeg-2-strömen
DE69730419T2 (de) System zur Verteilung komprimierter Videosignale, mit statistischem Multiplexer mit Transkodierern
DE60020672T2 (de) Verfahren und Vorrichtung zur Wiederholung der Videodatenrahmen mit Prioritätsstufen
DE602004012540T2 (de) Videocodierer und videocodierungsverfahren
US6643327B1 (en) Statistical multiplexer and remultiplexer that accommodates changes in structure of group of pictures
US7266133B2 (en) Methods and apparatus for statistical multiplexing with distributed multiplexers
DE60106640T2 (de) Prozessorzuweisung für kanäle in einem videomultiprozessorsystem
DE112007001012T5 (de) Verteilte Speicherung von Mediendaten
Wang et al. Bit allocation and constraints for joint coding of multiple video programs
WO2011137919A9 (de) Verfahren und vorrichtung zur modifikation eines kodierten datenstroms
DE60211790T2 (de) Videokodierung mit konstanter Qualität
DE112016004532T5 (de) Ressourcenbewusster Videoprozessor
DE69633808T2 (de) Interaktives Video-auf-Abrufsystem mit Paketübertragung über eine ATM-Fernmeldeleitung
DE60131602T2 (de) Multiplexabhängige Videokomprimierung
DE60006152T2 (de) Videoübertragung
EP2409433B1 (de) Vorrichtung und verfahren zur übertragung einer mehrzahl von informationssignalen in einem flexiblen zeitmultiplex
DE69432933T2 (de) Vorrichtung zur dynamischen zuweisung begrenzt verfügbarer mittel
DE69433630T2 (de) Vorrichtung zur erzeugung eines asynchronen kontrollsignals
Lin et al. A timestamp-sensitive scheduling algorithm for MPEG-II multiplexers in CATV networks
DE69434293T2 (de) Vorrichtung zur abtastung eines parameters

Legal Events

Date Code Title Description
8364 No opposition during term of opposition