DE69433630T2 - Vorrichtung zur erzeugung eines asynchronen kontrollsignals - Google Patents

Vorrichtung zur erzeugung eines asynchronen kontrollsignals Download PDF

Info

Publication number
DE69433630T2
DE69433630T2 DE69433630T DE69433630T DE69433630T2 DE 69433630 T2 DE69433630 T2 DE 69433630T2 DE 69433630 T DE69433630 T DE 69433630T DE 69433630 T DE69433630 T DE 69433630T DE 69433630 T2 DE69433630 T2 DE 69433630T2
Authority
DE
Germany
Prior art keywords
data
bit rate
signals
channel
complexity
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
DE69433630T
Other languages
English (en)
Other versions
DE69433630D1 (de
Inventor
Jorge Daniel REININGER
Kuriacose Joseph
Kemal Mehmet OZKAN
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.)
Technicolor USA Inc
Original Assignee
Thomson Consumer Electronics Inc
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 Thomson Consumer Electronics Inc filed Critical Thomson Consumer Electronics Inc
Application granted granted Critical
Publication of DE69433630D1 publication Critical patent/DE69433630D1/de
Publication of DE69433630T2 publication Critical patent/DE69433630T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1682Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers
    • H04J3/1688Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers the demands of the users being taken into account after redundancy removal, e.g. by predictive coding, by variable sampling
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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/176Methods 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 block, e.g. a macroblock
    • 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/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Time-Division Multiplex Systems (AREA)

Description

  • Die vorliegende Anmeldung betrifft eine Vorrichtung zum Liefern von Steuersignalen zu mehreren asynchron arbeitenden kooperativen Signalprozessoren.
  • Hintergrund der Erfindung
  • Es ist manchmal notwendig, Steuersignale zu jedem von mehreren kooperativen Signalprozessoren zu liefern. Wenn alle Signalprozessoren synchron arbeiten, so enthält dieses eine Messvorrichtung, um Parameterwerte von den Prozessoren abzutasten, Steuersignale mit Werten aufgrund der relativen Werte der Parameterwerte zu erzeugen und diese Steuersignale den Verarbeitungskanälen zuzuführen, alles im Synchronismus mit den verarbeiteten Signalen. Jedoch ist es in Fällen, wo die Datensignale nicht miteinander synchronisiert sind, jedoch noch gefordert wird, kooperativ die Verarbeitung aller Datensignale aufgrund der Relativwerte der jeweiligen Signalparameter zu steuern, noch notwendig, dass die Signalparameter in allen Datensignalen annähernd gleichzeitig abgetastet werden und dass die Steuersignale den geeigneten Wert haben, um die asynchrone Art der Signalprozessoren zu kompensieren und den Signalprozessoren zu den richtigen Zeiten zuzuführen.
  • In einem beispielhaften System werden mehrere Videosignale von jeweiligen Kanälen, die Fernsehnetzversorgungen, Fernsehstationen oder andere Videoquellen sein können, über eine Sattelitenstrecke zur Sendung von jeweiligen Fernsehempfängern im Heim der Benutzer übertragen. Jedes Videosignal kann in ein Signal von sequentiellen Datengruppen codiert sein, wobei jede Gruppe aus Daten einer festen Zahl von auf einander folgenden Videobildern oder Halbbildern besteht und mit einer Gruppe von Bildern (GOP = group of pictures) bezeichnet wird. Jedoch sind die durch diese Kanäle gelieferten Videosignale nicht unbedingt im Synchronismus. Z.B. arbeiten Kanäle mit einer Videonorm (in den USA) bei ungefähr 30 Vollbildern je Sekunde, Filmbilder übertragende Signale arbeiten bei 24 Vollbildern je Sekunde, und Kanäle mit Zeichentrick arbeiten bei 15 Vollbildern je Sekunde. Es ist auch möglich, dass verschiedene Kanäle in einer GOP unterschiedliche Anzahlen von Bildern oder Vollbildern aufweisen. Demzufolge haben GOPs unterschiedlicher Kanäle unterschiedliche zeitliche Längen, d.h. sie sind asynchron.
  • In einem derartigen System werden Daten von verschiedenen Kanälen bei einer Head-Endstation in einen einzigen Datenstrom kombiniert oder gemultiplext. Der gemultiplexte Datenstrom wird dann über eine Übertragungsstrecke, wie eine Drahtleitung, ein Lichtfaserbündel oder eine Hochfrequenzstrecke (wie eine Satellitenstrecke), zu einer Rück-Endstation übertragen, wo die Datenkanäle dann von dem gemultiplexten Datenstrom getrennt oder demultiplexiert und zu den beabsichtigten Empfängern übertragen werden. Ein Beispiel einer Satellitenstrecke enthält einen digitalen Übertragungsweg, der 24 Megabit je Sekunde (Mbps) übertragen kann. Um die Effizienz und Ausnutzung einer derartigen Strecke zu maximieren, ist es notwendig, dass sich mehrere Videosignale die Strecke teilen. Z.B. kann es erwünscht sein, die obige Satelliten-Übertragungsstrecke an wenigstens sechs Videosignalkanälen zu beteiligen.
  • Es sind Coder mit einer variablen Bitrate (VBR = variable bit rate) bekannt, die die Steuersignale aufgrund der Füllung eines Puffers umschalten. Siehe z.B. PRO-CEEDINGS OF THE SPIE – THE INTERNATIONAL SOCIETY FOR OPTICAL EN-GINEERING, Band 2188, B.–10. Februar 1994, USA, Seiten 153–162, XP002057147 REININGER D ET AL "RATE CONTROL FOR VBR MPEG VIDEO ON LOCAL A-REA NETWORKS"
  • Kurzbeschreibung der Erfindung
  • Es wurde vorgeschlagen, die gesamte Bitrate in dem gemultiplexten Signal, das durch die Sattelitenstrecke übertragen wird, dynamisch den verschiedenen Kanälen auf Grund der laufenden Codierungskomplexität der durch diese Kanäle übertragenen Bilder zuzuordnen. Die Codierkomplexität der derzeit laufenden Bilder für alle Kanäle wird auf einer GOP-Basis berechnet und Bild-für-Bild auf der Grundlage eines gleitenden Fensters verfügbar gemacht. Die Codierkomplexitäten von allen Kanälen werden im Wesentlichen gleichzeitig abgetastet. Ein Anteil der gesamten Bitrate der Übertragungstrecke wird jedem Kanal für die nächste Quoten-Periode auf der Grundlage des Zusammenhangs der laufenden Codierkomplexität des Kanals zu den Gesamt- Codierkomplexitäten aller Kanäle zugeordnet.
  • Die Erfinder haben erkannt, dass, obwohl die GOPs für die jeweiligen Kanäle unterschiedlich lang sein können, es möglich ist, Bitraten unter den verschiedenen Kanälen durch eine Zeitnormierung der Codierkomplexität einer GOP und auf der Grundlage der Zuordnungen der relativen zeitnormierten Codierkomplexitäten zuzuordnen. Die Erfinder haben ferner erkannt, dass Steuersignale auf derzeit verfügbaren, zeitnormierten Codierkomplexitäten den Kanälen zu beliebigen Steuerzeiten zugeordnet werden können, vorausgesetzt, dass nicht mehr als ein Steuersignal in einem einzigen Bild- oder Vollbild Intervall für jeden der Kanäle ausgegeben werden kann. Insbesondere werden Steuersignale bei konstanten Intervallen geliefert, derart dass jeder Kanal eine jeweilige konstante ganze Anzahl von in jedem der GOP aktualisierten Steuersignale empfängt. In diesem Fall ordnet jeder Satz von jeweiligen Steuersignalen die Zahl der während eines konstanten Intervalls verfügbaren Bit den jeweiligen Kanälen zu. Alternativ können Steuersignale zu jeder Zeit jeweils dann zu allen Kanälen geliefert werden, wo die Kanäle eine neue GOP beginnen, zu. In einem derartigen Fall ordnet jeder Satz von Steuersignalen die Anzahl der Bit, die in der (sich ändernden) Zeitperiode verfügbar sind der letzte Satz von Steuersignalen den Kanälen zugeführt. Steuersignale können auch zu allen Kanälen zu willkürlichen Zeiten aufgrund eines externen Quoten-Aktualisierungssignals geliefert werden, vorausgesetzt, dass die willkürlichen Aktualisierungszeiten nicht mehr als einmal in einem einzigen Bild oder Vollbild in einem der Kanäle auftreten.
  • Gemäß Prinzipien der vorliegenden Erfindung enthält eine Vorrichtung zur asynchronen Erzeugung von Steuersignalen mehrere Quellen von asynchronen Datensignalen und mehrere Datenverarbeitungskanäle, von denen jeder eines der Datensignale aufgrund eines Steuersignals verarbeitet. Jede der mehreren, einen Parameter bestimmenden Schaltungen erzeugt einen Parameter, der eines der Datensignale darstellt. Ein Datenabtaster bewirkt eine Abtastung der Signale von allen Parameterbestimmenden Schaltungen im Wesentlichen gleichzeitig bei vorbestimmten Abtastzeitintervallen. Ein Steuersignalgenerator erzeugt Steuersignale für die Daten verarbeitenden Kanäle mit Werten aufgrund der abgetasteten Parameter, die Signale und das vorangehende Abtastzeitintervall darstellen.
  • Kurzbeschreibung der Zeichnung
  • 1 ist ein Blockschaltbild eines Multiplexer-Systems gemäß der vorliegenden Erfindung,
  • 2 ist ein Blockschaltbild eines Kanalprozessors, der in dem in 1 dargestellten Multiplexer-System benutzt werden kann,
  • 3 ist ein Blockschaltbild eines Teils eines MPEG-Coders, der in dem in 2 dargestellten Kanalprozessor benutzt werden kann.
  • 4 ist ein Blockschaltbild eines Bitraten-Zuordners, der in dem in 1 dargestellten Multiplexersystem benutzt werden kann,
  • 5 ist ein detaillierteres Blockschaltbild eines Komplexitäts-Analysators, der in dem in 2 dargestellten Kanalprozessor benutzt werden kann, und
  • 6, 7, 8 und 9 sind Zeitdiagramme oder so genannte Timing-Diagramme, die die Abtastung der Komplexitäts-Informationen darstellen.
  • Detaillierte Beschreibung einer bevorzugten Ausführungsform
  • 1 ist ein Blockschaltbild eines Multiplexersystems mit der vorliegenden Erfindung. In 1 sind alle Signalwege als einzelne Signalleitungen dargestellt. Jedoch wird der Fachmann auf diesem Gebiet verstehen, dass die dargestellten Signalwege digitale Multibit-Signale übertragen können, entweder parallel, in welchem Fall die Signalwege aus mehreren Signalleitungen bestehen, oder seriell, in welchem Fall die Signalwege eine einzige Datenleitung sein und/oder eine Daten- und eine Taktsignalleitung enthalten können. Andere Steuer- und Taktsignalwege, die für das Verständnis der vorliegenden Erfindung nicht wichtig sind, sind in der Figur zu deren Vereinfachung weggelassen.
  • In 1 sind mehrere Eingangsklemmen 5 mit (nicht dargestellten) Quellen von Videosignalen verbunden (Kanal 1 – Kanal K), die zusammen über eine Datenstrecke übertragen werden. Die mehreren Eingangsklemmen 5 sind mit den Dateneingangsklemmen der entsprechenden mehreren Kanalprozessoren 10 verbunden. Die jeweiligen Datenausgangsklemmen der mehreren Kanalprozessoren 10 sind mit den entsprechenden Dateneingangsklemmen 1 – K eines Multiplexers (MUX) 20 verbun den. Eine Datenausgangsklemme 15 ist mit einer (nicht dargestellten) Auswertschaltung zur Übertragung des gemultiplexten Datenstroms (MUX'ED Daten) über die Übertragungsstrecke verbunden. Jeder der mehreren Kanalprozessoren 10 enthält außerdem eine Komplexitäts-Ausgangsklemme und eine Steuereingangsklemme.
  • Jeder der mehreren Prozessoren 10 enthält außerdem eine Komplexitäts-Ausgangsklemme und eine Steuereingangsklemme. Die jeweiligen Komplexitäts-Ausgangsklemmen jeder der mehreren Kanalprozessoren sind mit entsprechenden Komplexitäts-Eingangsklemmen eines Bitraten-Zuordners 30 verbunden, und jeweilige Quoten-Ausgangsklemmen des Bitraten-Zuordners 30 sind mit den entsprechenden Steuereingangsklemmen der mehreren Kanalprozessoren 10 verbunden. Der Multiplexer 20 kann zusätzlich eine Quoten-Aktualisierungs-Steuerausgangsklemme enthalten, die mit einer entsprechenden Quoten-Aktukalisierungs-Steuereingangsklemme des Bitratenzuordners 30 verbunden ist, wie gestrichelt in 1 dargestellt ist.
  • Im Betrieb empfängt jeder Kanalprozessor ein Signal an seiner Steuereingangsklemme, das die Bitrate darstellt, die ihm für die nächste Quotenperiode zugeordnet ist. Der Kanalprozessor codiert dann das Signal an seiner Dateneingangsklemme für die nächste Quotenperiode in ein digital codiertes Signal bei der zugeordneten Bitrate. Das codierte Datensignal wird der entsprechenden Eingangsklemme des Multiplexers 20 zugeführt. Der Multiplexer 20 arbeitet in bekannte Weise und kombiniert die Signale von allen Kanalprozessoren in einen gemultiplexten Datenstrom. Der gemultiplexte Datenstrom wird dann der die Datenstrecke enthaltenden Schaltung zur Übertragung zugeführt, ebenfalls in bekannter Weise.
  • Während des Codiervorgangs erzeugt der Kanalprozessor 10 an seiner Komplexitäts-Ausgangsklemme ein Signal, das die Codierkomplexität des codiert werdenden Signals darstellt. Der Bitraten-Zuordner 30 empfängt die Signale von den Komplexitäts-Ausgangsklemmen der Kanalprozessoren 10 und stellt aufgrund aller Komplexitätssignale die Bitraten-Quoten für die nächste Quotenperiode unter den mehreren Kanalprozessoren 10 dynamisch ein. In einer bevorzugten Ausführungsform werden mehreren komplexen Signalen eine relativ höhere Bitrate als den weniger komplexen Signalen zugeordnet. Verschiedene Verfahren zur Ermittlung der Komplexität des Videosignals und zur Zuordnung der Bitraten aufgrund der Komplexitäten werden im Folgenden beschrieben.
  • 2 ist ein Blockschaltbild eines Kanalprozessors, der in dem in 1 dargestellten Multiplexersystem benutzt werden kann. In 2 sind Bauteile, die denen in 1 ähnlich sind, mit denselben Bezugsziffern versehen und werden im Folgenden nicht im Detail beschrieben. In 2 ist eine Dateneingangsklemme 5 mit einer (nicht dargestellten) Videosignalquelle verbunden. Die Dateneingangsklemme 5 ist mit einer Dateneingangsklemme eines Coders mit konstanter Bitrate (CBR = constant bit rate) 14 und einem Komplexitäts-Analysator 16 verbunden. Eine Datenausgangsklemme des CBR-Coders 14 ist mit einer Eingangsklemme eines Multiplexers (MUX) 20 (von 1) verbunden. Eine Steuereingangsklemme (CONTROL) des Kanalprozessors 10 ist mit einer Quoteneingangsklemme Q des CBR-Coders 10 verbunden. Eine Ausgangsklemme des Komplexitäts-Analysators 16 ist mit der Komplexitäts-Ausgangsklemme (KOMPLEXITÄT) des Kanalprozessors 10 verbunden.
  • Im Betrieb analysiert der Komplexitäts-Analysator 16 die Komplexität des Videosignals an der Dateneingangsklemme 5. Es wird an der Ausgangsklemme des Komplexitäts-Analysators 16 ein Signal erzeugt, das die Komplexität des Eingangssignals darstellt. Das die Komplexität darstellende Signal wird dem Bitraten-Zuordner 30 (von 1) zugeführt. Aufgrund dieses Komplexitätssignals (und derjenigen der anderen Kanalprozessoren 10) liefert der Bitraten-Zuordner 30 ein Signal zu der Steuereingangsklemme (CONTROL) dieses Kanalprozessors 10 (und der anderen Kanalprozessoren 10), das die Bitraten-Zuordnung zu diesem Kanalprozessor 10 darstellt. Der CBR-Coder 14 bildet einen Datenweg zwischen seinen Dateneingangs- und Daten Ausgangsklemmen zur Erzeugung eines bei einer konstanten Bitrate codiertes Ausgangssignal. Die konstante Bitrate wird entsprechend dem Signal an der Quoten-Eingangsklemme Q von der Steuereingangsklemme (CONTROL) des Kanalprozessors 10 von dem Bitraten-Zuordner 30 eingestellt.
  • Es ist möglich, dass die Schaltung in dem CBR-Coder 14 ebenfalls als Komplexitäts-Analysator 16 in der Durchführung seiner Analyse dienen kann. In einem derartigen Fall werden Daten vom Inneren des CBR-Coders 14 direkt zu dem Komplexitäts- Analysator 16 geliefert, wie in 2 gestrichelt dargestellt ist. Derartige Daten von dem CBR-Coder 14 können Daten von der Eingangsklemme 5 ergänzen oder sie vollständig ersetzen, in welchem Fall es keine direkte Verbindung des Komplexitäts-Analysators zu der Dateneingangsklemme 5 gibt.
  • In einer bevorzugten Ausführungsform ist jeder CBR-Coder 14 ein Coder, der ein Videosignal gemäß einer Norm, die durch die Moving Picture Expert Group (MPEG), bezeichnet als MPEG-Coder, propagiert wird, komprimiert und codiert. 3 ist ein Blockschaltbild und zeigt einen Teil eines MPEG-Coders 14. Die bekannten Bauteile des MPEG-Coders 14 werden im Folgenden nicht im Detail beschrieben. Die MPEG-Coder enthalten weitere Bauteile, die für das Verständnis der vorliegenden Erfindung unwichtig und zur Vereinfachung in der Figur weggelassen worden sind.
  • In 3 ist eine Dateneingangsklemme 5 (DATA IN) des MPEG-Coders 14 mit einer (nicht dargestellten) Quelle eines zu komprimierenden und zu codierenden Videosignals dargestellt. Die Eingangsklemme 5 ist mit einer Eingangsklemme eines Vollbildpuffers 41 verbunden. Der Vollbildpuffer 41 enthält mehrere Puffer für die Vollbildperiode oder Verzögerungsleitungen und mehrere Ausgangsklemmen, die jeweilige Teile von verschiedenen, jedoch zeitlich benachbarten Vollbildern oder Bildern darstellen. Die mehreren Ausgangsklemmen des Vollbild-Puffers 41 sind mit jeweiligen Eingangsklemmen eines Bewegungsschätzers 42 verbunden. Eine Ausgangsklemme des Bewegungsschätzers ist mit einer Schaltung 43 für eine diskrete Cosinustransformation (DCT) verbunden. Eine Ausgangsklemme der DCT-Schaltung 43 ist mit einer Dateneingangsklemme einer variablen Quantisierers (Qu)-Schaltung verbunden. Eine Ausgangsklemme der variablen Quantisiererschaltung 46 ist mit einer Eingangsklemme eines Coders mit variabler Länge (VLC) 47 verbunden. Eine Ausgangsklemme des VLC 47 ist mit einer Eingangsklemme eines Ausgangspuffers 48 verbunden. Eine Datenausgangsklemme des Ausgangspuffers 48 ist mit einer Datenausgangsklemme (DATA OUT) des MPEG-Coders 14 verbunden. Die Datenausgangsklemme (DATA OUT) des MPEG-Coders 14 ist mit einer entsprechenden Eingangsklemme des Multiplexers 20 (von 1) verbunden.
  • Eine Status-Ausgangsklemme des Ausgangspuffers 48 ist mit einer Status-Eingangsklemme eines Bitraten-Reglers 49 verbunden. Eine Steuerausgangsklem me des Bitraten-Reglers 49 ist mit einer Steuereingangsklemme eines variablen Quantisierers 46 verbunden. Eine Quoten-Eingangsklemme Q ist mit einer entsprechenden Quoten-Ausgangsklemme des Bitraten-Zuordners 30 verbunden. Die Quoten-Eingangsklemme Q des MPEG-Coders 14 ist mit einer Steuereingangsklemme des Reglers 49 verbunden.
  • Im Betrieb arbeitet der MPEG-Coder 14 in bekannter Weise zur Komprimierung und Codierung des Videosignals an seiner Eingangsklemme für die nächste Quotenperiode bei einer Bitrate, die durch das Signal an seiner Eingangsklemme Q bestimmt ist. In dem folgenden Beispiel wird ein MPEG-Coder, der ein Video-signal codiert, das in zwei Gruppen (GOPs) aus jeweils zwölf Bildern oder Vollbildern aufgeteilt ist, beschrieben. Das sollte jedoch so verstanden werden, dass sich die Zahl der Bilder oder Vollbilder in einer GOP ändern kann. Auch in dem folgenden Beispiel wird angenommen, dass die Zuordnung der Bitrate für jeden MPEG-Coder einmal je GOP aktualisiert wird, das heißt die Quotenperiode ist die GOP-Periode. Das sollte jedoch so verstanden werden, dass die Quotenperiode unterschiedlich sein und sich mit der Zeit ändern kann, wie es später detaillierter beschrieben wird.
  • Der Vollbildpuffer 41 empfängt und speichert Daten, entsprechend dem Teil der zwölf Vollbilder in der beispielhaften GOP, die derzeit codierten GOP codiert werden, wie es zur Durchführung der Bewegungsschätzung notwendig ist, ebenfalls in einer im Folgenden beschriebenen Weise. Diese Daten werden dem Bewegungsschätzer 42 zugeführt. In der bevorzugten Ausführungsform dient das erste der zwölf Vollbilder oder Bilder als ein Referenzvollbild (1-Vollbild) und wird über den Bewegungsschätzer der DCT-Schaltung 43 zugeführt. Für den übrigen Teil der Vollbilder wird in dem Bewegungsschätzer 42 für jeden der mehreren Blöcke mit 16 Pixeln mit 16 Zeilen in jedem Bild oder Vollbild ein Bewegungsvektor erzeugt, in dem MPEG-Normdokument als Makroblöcke bezeichnet, entweder von vorangehenden Vollbildern alleine (P-Vollbilder) oder interpoliert aus vorangehenden und darauffolgenden Vollbildern (B-Vollbilder). Wie oben beschrieben, hält der Vollbildpuffer 41 die Daten, um die Schätzung von vorangehenden Vollbildern oder die Interpolation aus vorangehenden und darauffolgenden Vollbildern durchzuführen. Die für ein bestimmtes Vollbild erzeugten Bewegungsvektoren werden dann mit den tatsächlichen Daten in den geschätzt werdenden Vollbild verglichen, und es wird ein Bewegungsdifferenzsignal erzeugt und der DCT-Schaltung 43 zugeführt.
  • In der DCT-Schaltung 43 werden die Makroblöcke aus 16 Pixeln mal 16 Zeilen von räumlichen Daten aus dem 1-Vollbild und Bewegungsdifferenzsignale von den P-Vollbildern und den B-Vollbildern in sechs Blöcke mit 8 Pixeln mal 8 Zeilen aufgetrennt, (vier Luminanzblöcke und zwei unterabgetastete Chrominanzblöcke), im übrigen Teil dieser Anmeldung als Mikroblöcke bezeichnet, gemäß dem MPEG-Norm-Dokument. Es erfolgt eine diskrete Cosinustransformation auf jedem Mikroblock. Die sich ergebenden 8 mal 8 Blöcke der DCT-Koeffizienten werden dann dem variablen Quantisierer 46 zugeführt. Die Koeffizienten der 8 durch 8 Blöcke werden quantisiert, in einer Zick-Zack-Reihenfolge abgetastet und dem VLC 47 geführt. Die quantisierten DCT-Koeffizienten und andere Seiteninformationen (für die Parameter der codierten GOP), die unter Anwendung der Lauflängencodierung in dem VLC 47 codierten GOP darstellen, und werden dem Ausgangspuffer 48 zugeführt.
  • Es ist bekannt, dass der direkteste Weg zur Steuerung der Ausgangsbitrate des VLC 47 und somit die Aufrechterhaltung der zugeordneten konstanten Bitrate für den MPEG-Coder 14 darin besteht, die Anzahl der Quantisierwerte (oder auf andere Weise die Quantisierschrittgröße) für die Anwendung für die Quantisierung jedes Blocks der DCT-Koeffizienten in dem variablen Quantisierer 46 zu steuern. Das Quoten-Aktualisierungs-Steuersignal Q, das dem variablen Quantisierer 46 von dem Bitraten-Regler 49 zugeführt wird, führt diese Steuerfunktion aus. Innerhalb einer Quotenperiode, das ist die Periode zwischen aufeinander folgenden Bitraten-Quoten-Aktualisierungssignalen Q von dem Bitraten-Zuordner 30 (von 1), liefert der Bitraten-Regler 49 in bekannter Weise ein Steuersignal zu dem variablen Quantisierer 46, das die Anzahl der Werte ändert, in die jeder Makroblock 16 mal 16 in der GOP quantisiert wird, um die zugeordnete Bitrate für diese Quotenperiode aufrechtzuerhalten.
  • Die Bitraten-Zuordnung für diesen Bitraten-Regler 49 in dem vorliegenden Beispiel wird für jede GOP-Periode in Abhängigkeit von den Codier-Komplexitätswerten der Videosignale in jedem der mehreren Kanäle in einer im Folgenden beschriebenen Weise geändert. Jedoch benutzt der Bitraten-Regler 49 eine Steuerstrategie auf grund einer konstanten zugeordneten Bitrate während der Codierung jedes einzelnen Bilds oder Vollbilds. Auf diese Weise kann nicht mehr als ein einziges Quoten-Aktualisierungssignal Q durch den Bitraten-Regler 49 während eines einzigen Bilds oder Vollbilds empfangen werden, und jedes Quoten-Aktualisierungssignal Q, das während eines Bilds oder Vollbilds empfangen wird, hat einen Einfluss bei dem Beginn des nächsten Bilds oder Vollbilds.
  • In einer bevorzugten Ausführungsform ist der Bitraten-Zuordner 30 (von 1) ein Computersystem mit Anschlüssen, die mit den verschiedenen Schaltungskomponenten in mehreren 10 Kanalprozessoren verbunden sind. 4 ist ein Blockschaltbild der Hardware, die den Bitraten-Zuordner 30 bildet. In 4 ist ein Mikroprozessor (μP) 31 mit einem Schreib/Lese-Speicher (RAM) 32, einem Nur-Lese-Speicher (ROM) 33 und einem Eingang/Ausgang (I/O)-Controller 34 über einen Computersystem-Bus 35 verbunden. Es bestehen noch andere Bauteile des Computersystems, wie Massen-Speichereinheiten und Benutzerterminals, die zur Vereinfachung der Figur nicht dargestellt sind. Der I/O Controller enthält mehrere Eingangsklemmen (KOMPLEXITÄT), die mit entsprechenden Komplexitäts-Ausgangsklemmen der mehreren Kanalprozessoren 10 (von 1) verbunden sind, und mehrere Ausgangsklemmen (QUOTA), die mit den entsprechenden Quoten-Eingangsklemmen der mehreren Kanalprozessoren 10 verbunden sind. Der I/O-Controller 34 kann auch eine Eingangsklemme enthalten, die mit dem Multiplexer 20 (von 1) zur Empfang eines Quoten-Aktualisierungs-Steuersignals verbunden ist, wie in 4 gestrichelt gezeigt ist.
  • Der Mikroprozessor 31, das RAM 32, das ROM 33 und der I/O-Controller 34 arbeiten als ein Computersystem in bekannter Weise, um die in dem ROM 33 gespeicherten Programme durchzuführen, Daten in dem RAM 32 zu speichern und zurückzugewinnen und Daten zu den Einheiten zu übertragen, die dem I/O-Controller 34 beigefügt sind. Die Daten, die die laufende Codierkomplexität des codiert werdenden Videosignals darstellen, die in den mehreren Kanalprozessoren 10 (von 1) codiert werden, werden von den entprechenden Ausgangsklemmen derjenigen Kanalprozessoren an dem I/O-Controller 34 über die KOMPLEXITÄTS-Eingangsklemmen in einer im Folgenden beschriebenen Weise empfangen. Der Mikroprozessor 31 wird über den Empfang dieser Daten in bekannter Weise benachrichtigt, zum Beispiel durch Polling oder Aufruf, Unterbrechung, usw. Der Mikroprozessor 31 gewinnt diese Signale aus dem I/O-Controller 34 über den Computersystembus 35 zurück, ermittelt die Quote der Bits für die nächste Quotenperiode für jeden der Coder und führt diese Quoten darstellenden Signale den mehreren Kanalprozessoren 10 über die QUO-TEN-Ausgangsklemmen der nächsten Quotenperiode zu. Das Timing der Sendung der Quoten-Aktualisierungssignale zu den mehreren Kanalprozessoren 10 kann intern durch den Mikroprozessor 51 gesteuert werden, kann in Abhängigkeit von dem Timing der Komplexitäts-Signals von den Komplexitäts-Analysierer 16 gesteuert werden oder kann durch ein Quoten-Aktualisierungssignal von dem Multiplexer 20 gesteuert werden, wie später detaillierter beschrieben wird.
  • Ein bevorzugtes Verfahren zur Ermittlung der Codierkomplexität eines Videosignals, das durch einen MPEG-Coder 14 (von 3) codiert wird, benutzt den Quantisierungs-Skalierfaktor (bezeichnet mit QMB) für jeden Makroblock 16 mal 16 und der Anzahl der Bit (bezeichnet mit TMB), der zur Codierung dieses Makroblocks dient, für alle Makroblöcke in jedem Bild oder Vollbild der GOP. 5 ist ein Blockschaltbild des Bitraten-Reglers 49 des MPEG-Coders 14 (von 3) und des Komplexitäts-Analysators 16 von 2, der ein die Codierkomplexität darstellendes Signal nach diesem Verfahren erzeugt. Verschiedene Takt- und Steuersignale sind zur Vereinfachung in der 5 weggelassen. Jedoch sind gut verständlich, welche Signale benötigt werden, sowie das notwendige Timing der Spannungseigenschaften dieser Signale.
  • Der in 5 dargestellte Komplexitäts-Analysator 16 ist ein Beispiel eines Komplexitäts-Analysators, der nur Informationen von dem CBR-Coder verwendet, wie in 2 gestrichelt dargestellt ist. In 5 enthält der Bitraten-Regler 49 eine Status-Eingangsklemme CMB, die mit der Statusausgangsklemme des Ausgangspuffers 48 (von 3) verbunden ist. Die Steuerausgangsklemme QMB des Bitraten-Reglers 49 ist mit der Steuereingangsklemme eines variablen Quantisierers 46 (von 3) verbunden. Der Regler 49 enthält ferner eine Steuereingangsklemme (Q), die mit einer entsprechenden Quotenausgangsklemme des Bitraten-Zuordners 30 (von 1) verbunden ist.
  • Die Status-Eingangsklemme TMB des Bitraten-Reglers 49 ist außerdem mit einer ersten Eingangsklemme einer ersten Addierstufe 92 verbunden. Eine Ausgangsklemme der ersten Addierstufe 92 ist mit einer Eingangsklemme eines ersten Latch (Zwischenspeichers) 93 verbunden. Eine Ausgangsklemme des ersten Latch 93 ist mit einer ersten Eingangsklemme eines Multiplikators 94 und einer zweiten Eingangsklemme der ersten Addierstufe 92 verbunden. Eine Ausgangsklemme des Multiplikators 94 ist mit einer Eingangsklemme eines zweiten Latch 95 verbunden. Eine Ausgangsklemme des zweiten Latch 95 ist mit einer Ausgangsklemme Xpic für die Codierkomplexität verbunden. Die Komplexitäts-Ausgangsklemme Xpic ist mit einer entsprechenden Komplexitäts-Eingangsklemme des Bitraten-Zuordners 30 (von 1) verbunden.
  • Die Steuerausgangsklemme QMB des Bitratenreglers 49 ist außerdem mit einer ersten Eingangsklemme einer zweiten Addierstufe 96 verbunden. Eine Ausgangsklemme der zweiten Addierstufe 96 ist mit einer Eingangsklemme eines dritten Latch 97 verbunden. Eine Ausgangsklemme des dritten Latch 97 ist mit einer Zähler-Eingangsklemme N eines Teilers 98 und mit einer zweiten Eingangsklemme der zweiten Addierstufe 96 verbunden. Eine Ausgangsklemme des Teilers 98 ist mit einer zweiten Eingangsklemme des Multiplikators 94 verbunden. Ein Register 99 enthält eine Ausgangsklemme, die mit der Nenner-Eingangsklemme D des Teilers 98 verbunden.
  • Im Betrieb erzeugt für jeden Makroblock der Bitraten-Regler 49 ein Quantisierungs-Skalierfaktorsignal QMB für den variablen Quantisierer 46 in bekannter Weise, aufgrund der laufenden Bitratenquote und der Anzahl der Bit, die zur Codierung der vorangehenden Bilder dienen, und empfängt dann ein Signal von dem Ausgangspuffer 48, das die Anzahl der Bit TB anzeigt, die zur Codierung des Makroblocks dienen. Ein variabler Quantisierer 46 (von 3) quantisiert die DCT-Koeffizienten in jedem Makroblock entsprechend dem Quantisier-Skalierfaktor QMB. Der Quantisier-Skalierfaktor QMB stellt die Quantisierschrittgröße oder den Prozentsatz des vollen Dynamikbereichs der DCT-Koeffizienten in jedem Quantisierwert dar. Ein hoher Wert für QMB bedeutet, dass eine größere Quantisierschrittgröße und demzufolge weniger Quantisierwerte vorliegen. Umgekehrt bedeutet ein niedriger Wert für QMB, dass eine kleinere Quantisierschrittgröße und demzufolge mehr Quantisierwerte vorliegen. In der bevorzugten Ausführungsform ist QMB eine ganze Zahl mit fünf Bit (mit Werten zwischen 1 und 31).
  • Ein mittlerer Quantisier-Skalierfaktor für alle Makroblöcke in einem vollständigen Bild oder Vollbild (bezeichnet mit Xpic) wird dann folgendermaßen berechnet. Zu Beginn jedes Vollbildes oder Bildes werden die Latche 93 und 97 durch ein (nicht dargestelltes) Löschsignal auf nulll gelöscht. Die Kombination der zweiten Addierstufe 96 und des dritten Latch 97 arbeitet als ein Akkumulator zur kontinuierlichen Summierung der Makroblock-Quantisier-Skalierfaktoren QMB von dem Bitratenregler 49. Zur selben Zeit arbeitet die Kombination der ersten Addierstufe 92 und des ersten Latch 93 als ein Akkumulator zur kontinuierlichen Summierung der Anzahl der Bit, die soweit zur Codierung des Vollbildes oder Bildes benutzt wurden.
  • Nachdem alle Makroblöcke in einem Vollbild oder Bild (eine mit NMB bezeichnete Zahl) verarbeitet worden sind, enthält das Latch 97 die Summe aller Makroblock-Quantisier-Skalierfaktoren QMB, die durch den Bitratenregler 49 erzeugt werden, und das Latch 93 enthält die Summe aller Bit, die zur Codierung des Bildes oder Vollbildes Xpic benutzt werden. Der Teiler 98 erzeugt den Quotienten der Summe aller Makroblock-Quantisier-Skalierfaktoren QMB in dem Bild oder dem Vollbild, geteilt durch die Anzahl der Makroblöcke in dem Bild oder Vollbild NMB. Dieser Quotient ist der mittlere Quantisier-Skalierfaktor Qpic für dieses Vollbild oder Bild. Der Multiplizierer 94 erzeugt das Produkt von Qpic und Tpic, das die Codier-Komplexität für dieses Bild (bezeichnet mit Xpic) ist, d.h. Xpic = Tpic · Qpic. Am Ende des Bildes oder Vollbildes wird das Codier-Komplexitätssignal Xpic durch ein (nicht dargestelltes) Taktsignal in das zweite Latch 95 eingeschrieben (latched into). Der oben beschriebene Zyklus wiederholt sich dann für jedes Vollbild oder Bild in dem codiert werdenden Videosignal.
  • Die Coderkomplexität Xpic wird dann von dem Latch 95 einer Komplexitäts-Eingangsklemme des I/O-Controllers 34 des Bitraten-Zuordners 30 (von 4) zugeführt, der die übrige Verarbeitung zur Gewinnung der Codierkomplexität für die GOP bewirkt. Die Codierkomplexität für eine GOP (bezeichnet mit XGPO) ist die Summe der Xpic für alle Bilder in dieser GOP (siehe Gleichung (1)).
  • Figure 00140001
  • Der μP 31 arbeitet als ein Akkumulator durch Rückgewinnung jedes Wertes Xpic von dem I/O-Controller 34 und durch Summierung dieser über alle Vollbilder oder Bilder in der GOP.
  • Die Anzahl der Vollbilder oder Bilder in einer GOP (bezeichnet mit N) bleibt im Allgemeinen konstant. Während N konstant ist, kann XGPO berechnet werden auf der Basis eines gleitenden Fensters durch Addition des Codier-Komplexitätswertes Xpic des letzten Bildes und durch Subtraktion des Codier-Komplexitätswertes von dem ältesten Bild in der GOP. In diesem Fall ist ein aktualisierter Wert von XGPO nach jedem Vollbild oder Bild verfügbar. Jedoch kann N sich ändern. Wenn N sich ändert, dann muss XGPO für die neu definierte GOP durch Summierung der Codier-Komplexitätswerte Xpic aus der neuen Anzahl von vorangehenden Bildern in der neu definierten GOP berechnet werden, wie in Gleichung (1).
  • Wie oben beschrieben, ist es möglich, dass verschiedene Kanäle bei verschiedenen Vollbild- oder Bildraten arbeiten, z.B. der genormten Video-Vollbildrate (in den USA) von 29,97 Vollbilder je Sekunde, für Filmbilder beträgt sie 24 Vollbilder je Sekunde und für Zeichentrick beträgt sie 15 Vollbilder je Sekunde. Es ist auch möglich, dass verschiedene Kanäle unterschiedliche Anzahlen von Bildern oder Vollbildern in einer GOP aufweisen. Auf diese Weise ist es möglich, dass verschiedene Kanäle unterschiedliche GOP-Zeitperioden aufweisen. Um unter derartigen Bedingungen die Bits richtig den Kanälen zuzuordnen, werden die GOP-Codier-Komplexitätswerte der mehreren Kanäle in dem Bitraten-Zuordner 30 durch Teilung der GOP-Komplexitätswerte von der Gleichung (1) für jeden Kanal durch die GOP-Zeitperiode des Kanals in der Zeit normiert (bezeichnet mit GOPtime) (siehe Gleichung (2)). Die normalisierten oder skalierten GOP-Codier-Komplexitätswerte (bezeichnet mit XnormGOP) werden dann zur Zuordnung der Bit unter den verschiedenen Kanälen benutzt.
  • Figure 00150001
  • Das Timing der Abtastung der Komplexitätswerte und die Erzeugung der Quotenwerte für derartige Systeme werden im Folgenden detaillierter beschrieben.
  • In 5 wird, wie oben beschrieben, erzeugt für jeden Makroblock der Bitraten-Regler 49 einen Quantisierungs-Skalierfaktorsignal QMB für den variablen Quantisierer 46 und empfängt dann ein Signal von dem Ausgangspuffer 48, das die Anzahl der Bit TMB anzeigt, die zur Kodierung des Makroblocks dienen. Diese Signale können alternativ direkt dem I/O-Controller 34 in dem Bitraten-Zuordner 30 (von 4) zugeführt werden. Der μP 31 kann dann das richtige Codier-Komplexitätsmaß (von der Gleichung (1) oder den Gleichungen (1) und (2)) intern berechnen.
  • Außerdem kann, um die Übertragung zu vereinfachen, der Codier-Komplexitätswert für jedes Bild Xpic skaliert werden.
  • In einer bevorzugten Ausführungsform wird dieser Wert nach dem Multiplizierer 94 in eine Zahl mit acht Bit skaliert. Dieser skalierte Wert wird dann dem Bitraten-Zuordner 30 (von 4) zugeführt. Es kann auch für das Computersystem erwünscht sein, eine Datei der Bild-Komplexitätswerte Xpic aufrechtzuerhalten, zum Beispiel in einer (nicht dargestellten) Massenspeichereinheit, aus anderen Gründen, wie die Ermöglichung der Neuberechnung des Codier-Komplexitätswerts in dem Ereignis N sich ändert. Die Speicherung einer Stunde von Werten mit 8 Bit Xpic erfordert 108 Kilobyte (kB) für ein genormtes Videosignal und 86 kB für einen Film.
  • In der folgenden Erläuterung bezeichnet X' den derzeitig verfügbaren geeigneten von entweder XGOP (wenn alle Kanäle dieselbe GOP-Zeitperiode aufweisen) oder XnormGOP (wenn Kanäle mit unterschiedlichen GOP-Zeitperioden vorliegen) von dem i-ten Kanalprozessor. Der Bitraten-Zuordner 30 (von 1) erzeugt jeweilige Quotensignale (Q), die die Zuordnungen der verfügbaren Bit in der Übertragungsstrecke für die nächste Quotenperiode aufgrund der Codier-Komplexitätswerte X' von allen K Kanalprozessoren, die die mehreren Kanalprozessoren 10 bilden. Die vorbestimmte Übertragungsstrecken-Bitrate von der Ausgangsklemme des Multiplexers 20 (von 1) (bezeichnet mit R) wird unter den mehreren Kanalprozessoren 10 zugeord net, so dass der i-te Kanalprozessor eine mit R' bezeichnete Bitraten-Zuordnung empfängt.
  • Ein Verfahren zur Zuordnung der Bitraten in der Übertragungsstrecke zu den verschiedenen Kanälen ist eine lineare Zuordnung aufgrund der laufenden verfügbaren Codierkomplexität X' der vorangehenden GOP-Periode (auf der Basis eines gleitenden Fensters, wie oben beschrieben) für alle der mehreren Kanalprozessoren 10 (von 1). In diesem Verfahren empfängt jeder Prozessor i denselben Anteil R' der gesamten Bit-Kapazität R, da die Codierkomplexität dieses Coders X' zu der gesamten Codierkomplexität aller Coder beiträgt. (Siehe Gleichung (3)). Jedoch wurde herausgefunden, dass es eine niedrigere Bitraten-Zuordnung gibt, unterhalb der die Qualität eines wiedergegebenen Bildes wahrnehmbar oder erkennbar abnimmt.
  • Figure 00160001
  • Zusätzlich sind in der dargestellten Ausführungsform die Bitraten-Zuordnungen für die nächste Quotenperiode abhängig von den Komplexitätswerten aus der vorangehenden GOP. Wenn dort ein Szenenwechsel von einem einfachen Bild zu einem komplexen Bild auftritt, können ausreichend Bit zur Codierung der neuen, komplexen Szene zugeordnet werden, da die Zuordnung für die neue Szene auf der vorangehenden einfachen Szene basierte.
  • Ein alternatives Verfahren zur Zuordnung der Bitraten in der Übertragungsstrecke zu verschiedenen Kanälen garantiert eine minimale Bitraten-Zuordnung RG' zu jedem Coder i und ordnet die übrigen Bit linear zu, wie in Gleichung (3). (Siehe Gleichung (4)).
  • Figure 00160002
  • Jeder Kanal kann eine andere garantierte minimale Bitrate aufweisen, abhängig von der vorangehenden Gesamtkomplexität des Videosignals, das über den Kanal und/oder das Pricing des Kanals zu den Anbietern des Videokanals.
  • Ein weiteres alternatives Verfahren zur Zuordnung der Bit in der Übertragungsstrecke zu verschiedenen Kanälen bildet einen Wichtungsfaktor P' für jeden Coder i und bewirkt eine Zuordnung der Bit proportional zu den Codier-Komplexitätswerten X', gewichtet durch die Wichtungsfaktoren P'. (Siehe Gleichung (5)). Wie in dem Verfahren zur Garantie einer minimalen Zuordnung nach Gleichung (4) können die Wichtungsfaktoren P' von den vorangehenden oder von der zurückliegenden Gesamtkomplexität des Videosignals abhängig sein, das über den Kanal und/oder das Pricing des Kanals zu dem Anbieter der Videosignale übertragen wird.
  • Figure 00170001
  • Ein bevorzugtes Verfahren für die Bitzuordnung in der Übertragungsstrecke zu verschiedenen Kanälen ist eine Kombination des Verfahrens mit der gewichteten Zuordnung der Gleichung (5) und dem Verfahren mit der garantierten minimalen Zuordnung der Gleichung (4). In diesem Verfahren wird jedem Kanal eine minimale Zuordnung garantiert, und die übrigen Bit werden auf einer Basis mit gewichteten Anteilen zugeordnet. (s. Gleichung (6)).
  • Figure 00170002
  • Wie oben, können die garantierte minimale Zuordnung und die Wichtungsfaktoren abhängig sein von der vorangehenden Gesamtkomplexität des über den Kanal übertragenen Videosignals und/oder dem Pricing des Kanals zu dem Anbieter der Videosignale.
  • Es ist möglich, die Bit-Zuordnungen R' aufgrund der anderen Parameter des Systems weiter zu verfeinern. Z.B. wurde herausgefunden, dass es einen oberen Bitraten-Zuordnungswert gibt, oberhalb dessen keine Verbesserung in der Qualität des wiedergegebenen Bildes sichtbar ist. Daher ist eine Zuordnung der Bit über diesen oberen Zuordnungswert hinaus eine Vergeudung von Bit in der Übertragungsstrecke. Ebenso kann der Operateur der Übertragungsstrecke eine maximale Bitraten- Zuordnung Rmax (die den Wert der Zuordnung der oberen Bitrate angibt) und/oder eine minimale Bitraten-Zuordnung Rmin für jeden Kanal aufweisen.
  • Zusätzlich kann, um das Potential für die Steuerschwingungen für die Bitrate zu minimieren und damit die Bitraten-Steuerstabilität zu erhöhen, ein maximales Inkrement der Zunahme α und/oder der Abnahme β in der Bitraten-Zuordnung in einer Quotenperiode zu der nächsten für einen Kanal angewendet werden. Wie oben, sind die Werte der oberen Bitraten-Zuordnung, die maximalen und minimalen Bitraten-Zuordnungen und maximale Inkrementierungen der Zunahme und der Abnahme für die verschiedenen Kanäle sein und können abhängig sein von der vorangehenden Gesamtkomplexität des Videosignals, das über diesen Kanal und/oder das Pricing des Kanals dem Anbieter der Videosignale übertragen werden soll. Zusätzlich ist es für die maximalen und minimalen Inkremente der Zunahme und Abnahme möglich, das Maß der Leerheit oder Füllung der Puffer in dem Kanal zu ändern.
  • Außerdem können die zugeordneten Bitraten weiter verfeinert werden, um eine Puffer-Verwaltung zu bilden, z.B. zu bewirken, dass die Ausgangspuffer 48 der CBR-Coder 10 (von 1) und die Eingangspuffer der entsprechenden Empfängerdecoder (nicht dargestellt) nicht überlaufen oder unterlaufen. Eine explizite Pufferverwaltung ist nicht notwendig, wenn die Coderpuffergröße E gesteuert wird, wie in der Ungleichung (7) dargestellt ist, wobei D die feste Decoderpuffergröße ist.
  • Figure 00180001
  • Wenn die Coderpuffergröße gemäß der Ungleichung (7) gewählt wird, kann sich die Bitraten-Zuordnung von Rmin bis Rmax ändern, ohne dass ein Überlaufen oder Unterlaufen in jedem der Coder- oder Decoderpuffer entsteht. Jedoch begrenzt dieses Verfahren unnötig die Größe der Coderpuffer und begrenzt somit unnötig die Raten-Steuerflexibilität.
  • Ein alternatives Pufterverwaltungsschema ist adaptiv und benutzt die laufenden, augenblicklichen Bitraten für die Pufferverwaltung und nicht die festen Parameter Rm in und Rmax. Da die Decoderpuffergröße so gewählt wurde, dass sie Daten verarbeiten kann, die bei den höchsten Raten Rmax übertragen werden, kann die Bitraten-Zuordnung immer erhöht werden (auf das Systemmaximum Rmax), ohne dass der Decoderpuffer überläuft. Jedoch gibt es eine augenblickliche, minimale Bitrate, die aufrechterhalten werden muss, um zu bewirken, dass die bereits in dem Coderpuffer enthaltenen Daten vor ihren Decodierzeiten zu dem Decoderpuffer übertragen werden. Daher muss eine minimale Bitratenzuordnung, damit der Puffer nicht überläuft, dynamisch berechnet werden.
  • Bei der dynamischen Berechnung dieser minimalen Bitraten-Zuordnung müssen, wenn die Bitraten-Zuordnung abnimmt, sowohl eine neue ermittelte Coderpuffergröße und die Datenmenge, die bereits in einem vorangehenden Zeitbetrag in dem Coderpuffer enthalten ist, berücksichtigt werden. Die neu ermittelte Coderpuffergröße für das Vollbild n, bezeichnet mit En, wird entsprechend der Gleichung (8) ermittelt, in der Δ die Systemverzögerungszeit ist, die eine konstante Zeitverzögerung zwischen den Zeitpunkten, wenn ein Videovollbild beim Coder ankommt, und wenn dieses Vollbild beim Decoder wiedergegeben wird.
  • Figure 00190001
  • D ist die feste Decoderpuffergröße, und Rnew ist die neu vorgeschlagene Bitraten-Zuordnung. Diese Puffergröße bewirkt, dass im eingeschwungenen Zustand die neue Bitraten-Zuordnung kein Überlaufen oder Unterlaufen in den Coder- und Decoderpuffern auftritt.
  • Jedoch gibt es, wie oben beschrieben, wenn die neu vorgeschlagene Bitraten-Zuordnung abgenommen hat, eine Übergangsperiode gleich der Systemverzögerungszeit Δ, in der zu viele Bit, die bereits in dem Coderpuffer erfolgreich bei der neuen niedrigeren Rate erfolgreich übertragen werden. Ein vorgeschlagenes Verfahren zur Verfeinerung der neu vorgeschlagenen Bitraten-Zuordnung besteht darin, zuerst die Anzahl der Bit zu prüfen, die mit e bezeichnet und tatsächlich in den Coderpuffer enthalten sind, bezeichnet mit e, die tatsächlich in den Coderpuffer eingegeben wurden (Pufferfüllung) für die Anzahl von vorangehenden Vollbildern in der Systemverzögerungszeit Δ, bezeichnet mit T. Dann wird die Zahl für die maximale Pufferfüllung für die vorangehenden T Halbbilder (bezeichnet mit emax,r) mit der neu bestimmten Coderpuffergröße En von der Gleichung (8) verglichen. Die minimal re duzierte Bitraten-Zuordnung Rreduced für den Kanal i, die garantiert, dass alle Bit von dem vorangehenden T Vollbildern erfolgreich zu dem Empfängerdecoder übertragen werden, ist dann in der Gleichung (9) angegeben.
  • Figure 00200001
  • Wenn derartige Grenzen in einem Multiplexersystem auferlegt werden, werden, nachdem den Bitraten-Zuordnungen gemäß den Gleichungen (3), (4), (5) oder (6) berechnet worden sind, diese Bitraten-Zuordnungen geprüft, um zu ermitteln, ob sie in die laufenden und in die oberen und unteren Grenzen für diesen Kanal fallen. Zunächst werden die obere und die untere Grenze für jeden Kanal i ermittelt. Die obere Grenze der Bitraten-Zuordnung für jede Quotenperiode k (bezeichnet mir R'upper[k]) ist das Minimum von: die maximal erlaubte, erhöhte Zuordnung über die vorangehende Quotenperiode k–1 und der Grenze der maximalen Bitraten-Zuordnung (siehe Gleichung (10)).
  • Figure 00200002
  • Die untere Grenze der Bit-Zuordnung für jede Quotenperiode k, R'lower[k] ist das Maximum von: der Grenze der minimalen Bitraten-Zuordnung, die minimal erlaubte verringerte Zuordnung über die vorangehende Quoten-Periode k–1 und die minimale pufferverwaltungsreduzierte Bitraten-Zuordnung von der Gleichung (9). (Siehe Gleichung (11)). Dann erfolgen Einstellungen in den Bitraten-Zuordnungen für die Kanäle.
  • Figure 00200003
  • Wenn die zugeordnete Bitrate für einen Kanal einen Grenzwert übersteigt, dann wird die Bitraten-Zuordnung für diesen Kanal so eingestellt, dass der Begrenzungswert und die verfügbare verbleibenden Bitrate unter den anderen Kanälen neu zugeordnet wird. Wenn z.B. die einem Kanal i zugeordnete Bitrate, wie in der Gleichung (3), (4), (5) und (6) berechnet, größer ist als die Obergrenze für diesen Kanal, wie be rechnet in der Gleichung (10), dann wird die Bitrate für den Kanal i auf die obere Grenze R'upper eingestellt. Wenn andererseits die Bitrate kleiner ist als die untere, in der Gleichung (11) berechnete Grenze, dann wird die Bitrate auf diese untere Grenze R'lower eingestellt. (Siehe Gleichung (12)).
  • Figure 00210001
  • Wenn eine der Bitraten-Zuordnungen durch die Begrenzungsvorgänge der Gleichungen (10), (11) und (12) geändert wird, dann wird die verbleibende verfügbare Bitrate unter den nicht-begrentzten Kanälen gemäß der Gleichung (3), (4), (5) oder (6) neu zugeordnet. Dann werden diese Kanäle wieder gegenüber den Grenzen in den Gleichungen (10), (11) und (12) geprüft. Dieser Zyklus wird wiederholt, bis alle Bitraten-Zuordnungen abgeschlossen sind. In der obigen Ausführungsform ist die Codier-Komplexitätsperiode die GP-Periode, bestimmt Bild für Bild auf der Grundlage eines gleitenden Fensters mit einer ausreichenden Dauer, dass Änderungen in den Bitraten-Zuordnungen in einem Kanal von einer Quotenperiode zu der nächsten im Allgemeinen relativ klein sein sollten. Infolgedessen sollten die Gleichungen (10), (11) und (12) nur selten angewendet werden.
  • Das Timing der Codierkomplexitäts-Abtastung und Erzeugung von aktualisierten Bitratenquoten auf Grund der Codierkomplexitäten werden komplizierter, wenn die Kanäle mit unterschiedlichen GOP-Zeitperioden arbeiten. Es gibt jedoch Bemühungen, die in dieser Lage eine genaue Codierkomplexitäts-Abtastung und Bitraten-Quotenzuordnungen enthalten. In einer ersten Lösung wird eine konstante Quoten-Aktualisierungsperiode in einer derartigen Weise berechnet, dass jeder Kanal eine gleiche Zahl von Quoten-Aktualisierungsperioden in jeder GOP aufweist. In dieser Lösung kann sich die Anzahl der Abtast- und Quotenaktualisierungsperioden je GOP von Kanal zu Kanal ändern, jedoch bleibt die Anzahl derartiger Abtast- und Quoten-Aktualisierungsperioden innerhalb einer GOP konstant. In einer zweiten Lösung wird eine Abtastung genommen, und eine neue Zuordnung immer dann erzeugt, wenn ein Kanal eine neue GOP beginnt und die Anzahl der Bit, die in dieser neuen Perio de zugeordnet werden, wird berechnet unter Berücksichtigung der Länge der Zeitperiode von der vorausgehenden Abtastung zu der laufenden Abtastung. Eine dritte Lösung ist eine Abwandlung der dritten Lösung, in der ein Abtastwert und eine neue Zuordnung abhängig von dem Quoten-Aktualisierungs-Steuersignal genommen wird. Das Timing des Quoten-Aktualisierungs-Steuersignals, wie oben beschrieben, ist willkürlich, vorausgesetzt dass sie keine Aktualisierungen mehr als ein Mal je Bild oder Vollbild in einem der Kanäle durchführt. In der dritten Lösung wird die Anzahl der in der neuen Quote zugeordneten Bit berechnet unter Berücksichtigung der Länge der Zeitperiode von der vorangehenden Abtastung zu der laufenden Abtastung.
  • 7 ist ein Zeitdiagramm und zeigt die Abtastung und Quoten-Aktualisierungen in einem die erste Lösung benutzenden System. Zur Vereinfachung der Zeichnung sind nur zwei Kanäle dargestellt. In 7 ist der Kanal 1 ein Beispiel eines ein Standardvideosignal übertragenden Kanals mit einer Vollbildrate von ungefähr 30 Vollbildern je Sekunde (in den USA). Kanal 2 ist ein Beispiel eines Kanals, der einen Film mit einer Vollbildrate von 24 Vollbildern je Sekunde überträgt. Es wird angenommen, dass jeder der Kanäle 12 Vollbilder je GOP aufweist. Der Kanal 1 beginnt somit eine neue GOP jede 0,4 Sekunden oder 2,5 GOPs je Sekunde, während Kanal 2 eine neue GOP jede 0,5 Sekunden oder 2 GOPs je Sekunde beginnt. Die gewählte Abtastrate beträgt eine Abtastung jede 0,1 Sekunden. Somit gibt es im Kanal 1 vier Abtast- und Quotenaktualisierungen in jeder GOP, und im Kanal 2 gibt es fünf Abtast- und Quotenaktualisierungen in jeder GOP. Die Abtastzeiten ts sind durch vertikale, gestrichelte Linien dargestellt.
  • Da die Zeitperiode zwischen zwei Abtastungen Δt konstant ist (0,1 Sekunden), können die Bitraten-Zuordnungen R' von den Gleichungen (3) bis (12) ausgedrückt werden als die Zahl der zugeordneten Bit, bezeichnet mit C' , die das Produkt der Bitraten-Quote R' und der konstanten Abtastperiode Δt ist, d.h. C'=R'Δt, oder die Bitraten-Quoten R' können unverändert benutzt werden. Diese Bitraten-Zuordnungen können akkumuliert und in den Kanalprozessoren 10 (von 1) gemäß dem bekannten Schema benutzt werden, das allgemein mit "token and leaky bucket"-Schema bezeichnet wird.
  • 8 ist ein Zeitdiagramm und zeigt die Abtastung der Codier-Komplexitätswerte und die Quoten-Aktualisierung in einem System, das die oben beschriebene zweite Lösung benutzt. Die in 8 dargestellten jeweiligen Kanäle übertragen dieselben Signale wie in 7. In 8 werden Abtastungen der laufenden Codier-Komplexitätswerte von allen Kanälen genommen, immer wenn ein Kanal eine neue GOP beginnt. Neue Zuordnungen werden auf Grund der Werte dieser Abtastungen erzeugt, und die Zeitperiode Δt wird seit der letzten Abtastung erzeugt. Diese Abtastzeiten sind in 8 als vertikale gestrichelte Linien t1 – t8 dargestellt, wo t2, t3, t4, t6 und t8 den Startpunkten der GOPs im Kanal 1 und t1, t3, t5, und t7 den Startpunkten der GOPs im Kanal 2 entsprechen. Obwohl t3 eine Abtastzeit entsprechend den Startpunkten der GOPs in beiden Kanälen 1 und 2 darstellt, gibt es keine Forderung, dass eine derartige Zeit auftritt.
  • Bei jeder Abtastzeit werden die laufenden Codier-Komplexitätswerte (von der vorangehenden GOP, verfügbar Bild für Bild auf Grund eines gleitenden Fensters) in allen Kanälen abgetastet. Die Gleichungen (3) bis (12) können benutzt zur Berechnung der Anteile der nächsten Bitratenquoten werden, jedoch muss in der Bestimmung der tatsächlichen Zahl von verfügbaren zuzuordnenden Bit, der Betrag der Zeit Δt seit der letzten Abtastung berücksichtigt werden. Für eine geeignete Kompensation der unterschiedlichen Abtastperioden wird die insgesamt verfügbare Bitrate R in den Gleichungen (3) bis (12) durch die Anzahl der für die Abtastung verfügbaren Bit, bezeichnet mit C, ersetzt, die das Produkt der insgesamt verfügbaren Bitrate R und der Abtastperiode Δt ist, d.h. C=R Δt. Die Anzahl der durch die Gleichungen (3) bis (12) berechneten Bit wird dann den jeweiligen Kanalprozessoren 10 (von 1) zugeordnet, die, wie oben, das genannte "token and leaky bucket"-Schema zur Ackumulation und Benutzung der zugeordneten Bit benutzt.
  • 9 ist ein Zeitdiagramm und zeigt die Abtastung der Codier-Komplexitätswerte und der Quoten-Aktualisierung in einem System, das die oben beschrieben dritte Lösung benutzt. Die jeweiligen in 9 dargestellten Kanäle übertragen dieselben Signale wie in den 7 und 8. In 9 werden die Abtastungen der laufenden Codier-Komplexitätswerte von allen Kanälen zu willkürlichen Zeiten genommen, die z.B. durch ein Quoten-Aktualisierungssignal gesteuert wird, das von dem Multiplexer 20 (von 1) geliefert wird. Es werden neue Zuordnungen erzeugt auf Grund der Werte dieser Abtastungen und der Zeitperiode seit der letzten Abtastung. Diese Abtastzeiten sind in 9 als vertikale, gestrichelte Linien t1 – t4 dargestellt. Wenngleich sie in 9 mit einer konstanten Zeitperiode Δt dargestellt sind, so ist dies keine Forderung. Die Quoten-Aktualisierungs-Zeitperiode kann konstant bleiben oder von einer Periode zu einer anderen über die Zeit verschoben werden oder kann vollständig willkürlich sein, vorausgesetzt, dass das Zeitintervall zwischen den Quoten-Aktualisierungssignalen länger ist als die kürzeste Vollbildperiode aller Kanäle, so dass kein Kanal zwei Quoten-Aktualisierungen innerhalb einer einzigen Bild- oder Vollbildperiode empfängt (wie oben beschrieben). In einer bevorzugten Ausführungsform wird jedoch die Quoten-Aktualisierungsperiode über relativ lange Zeitperioden konstant bleiben.
  • Bei jeder Abtastzeit werden die laufenden Codier-Komplexitätswerte (von der vorangehenden GOP, verfügbar Bild für Bild auf der Grundlage eines gleitenden Fensters) in allen Kanälen abgetastet. Wie oben, können die Gleichungen (3) bis (12) dazu dienen, die Anteile der nächsten Bitratenquoten zu berechnen, wo der Betrag der Zeit Δt seit dem letzten Abtastwert berücksichtigt und die gesamte verfügbare Bitrate R durch die Anzahl der für die Zuordnung verfügbaren Bit C=R Δt ersetzt wird. Die Anzahl der Bit, die durch die Gleichungen (3) bis (12) berechnet werden, wird dann den jeweiligen Kanalprozessoren 10 (von 1) zugeordnet, die, wie oben, das genannte "token and leaky bucket"-Schema zur Akkumulation und die zugeordneten Bit benutzen. Jede der obigen Lösungen wird eine genaue Zuordnung der Bitraten zu den jeweiligen Kanalprozessoren 10 vornehmen, wenn die Videosignale von den verschiedenen Kanälen 5 unterschiedliche GOP-Zeitperioden aufweisen.
  • Das Timing der Abtastung der Codier-Komplexitätswerte und die Erzeugung der aktualisierten Bitraten-Quoten für die unterschiedlichen Kanäle können vereinfacht werden, wenn alle Kanäle bei derselben Vollbildrate arbeiten und dieselbe Zahl von Vollbildern in einer GOP aufweisen, d.h. alle Kanäle dieselbe GOP-Zeitperiode aufweisen, GOPtime. 6 ist ein Zeitdiagramm und zeigt die Codier-Komplexitätsabtastung und das Quoten-Aktualisierungs-Timing in einem derartigen System. In 6 entspricht jede horizontale Zeile einem jeweiligen Kanal 1–K. Die kurzen, vertikalen, von den horizontalen Linien nach oben gerichteten Linien stellen die Zeit dar, wenn die Codierung eines I-Vollbildes für diesen Kanal begonnen hat, was angesehen wird als der Beginn einer GOP für diesen Kanal. Die Zeitperiode für eine GOP, GOPtime, ist in allen Kanälen gleich, jedoch sind, wie ersichtlich ist, die Anfangszeiten der GOPs für die jeweiligen Kanäle unterschiedlich. Es wurde tatsächlich als wünschenswert erkannt, unterschiedliche Startzeiten für die GOPs für die jeweiligen Kanäle anzuwenden, so dass die Codierung der I-Halbbilder keine Überlappung bildet. Das erhöht die Komplexitäts-Änderungen über die verschiedenen Kanäle.
  • Es wurde herausgefunden, dass, solange dieselbe Zahl von I-Vollbildern, P-Vollbilder und B-Vollbilder in der Berechnung des Codier-Komplexitätswertes berücksichtigt wird, es nicht schadet, dass diese Halbbilder von unterschiedlichen GOPs kommen. Somit kann, wie es durch die starken Linien, die sich über die Zeitachsen aller Kanäle erstrecken, eine Codier-Komplexitätswert-Abtastung gleichzeitig von allen Kanälen bei jeder Zeit innerhalb einer GOP genommen werden kann. Aktualisierungen der Bitraten-Quoten für alle Kanäle können dann von dieser Abtastung erzeugt und zu den Kanalprozessoren 10 (von 1) zurückübertragen werden.
  • Das obige Multiplexersystem wurde als ein zugeordnetes System beschrieben. Jedoch können die mehreren Kanalprozessoren 10 an Stellen liegen, die von dem Bitraten-Zuordner 30 und dem Multiplexer 20 entfernt sind. In einem derartigen System würden Kommunikations-Verbindungen zwischen den Codern und dem Bitraten-Zuordner gebildet. In diesem Fall kann ein Teil der Bit, die zwischen dem Prozessor 10 und dem Multiplexer übertragen werden, der Übertragung der Komplexitätsinformationen von den Prozessoren gewidmet sein.

Claims (1)

  1. Vorrichtung zur asynchronen Erzeugung von Steuersignalen mit: – mehreren Quellen (5) von asynchronen Datensignalen, wobei jede Datensignalquelle ein Datensignal erzeugt, das aufeinander folgende Gruppen von Daten mit jeweiligen Datengruppen-Startzeiten enthält, – mehreren Datenverarbeitungskanälen (10, 14), von denen jeder aufgrund eines jeweiligen Steuersignals ein jeweiliges Datensignal verarbeitet, – mehreren Parameter bestimmenden Schaltungen (10, 16), von denen jede auf eines der Datensignale anspricht zur Erzeugung eines Signals, das einen Parameter eines der Datensignale darstellt, – einem Datenabtaster (30), der mit den mehreren, einen Parameter bestimmenden Schaltungen (10, 16) verbunden ist, zur Abtastung der den Parameter darstellenden Signale von allen Parameter bestimmenden Schaltungen (10, 16) im Wesentlichen gleichzeitig bei vorbestimmten Abtast-Zeitintervallen, und – einem Steuersignalgenerator (30), der auf die den abgetasteten Parameter darstellenden Signale anspricht, zur Erzeugung von jeweiligen Steuersignalen für die mehreren Datenverarbeitungskanäle (10) mit Werten auf Grund der den abgetasteten Parameter darstellenden Signale und dem vorangehenden Abtastzeitintervall, dadurch gekennzeichnet, dass – der Datenabtaster (2) die die Parameter darstellenden Signale bei Abtastzeiten abtastet, die jeder Datengruppen-Startzeit der jeweiligen Datensignale entsprechen, und – der Steuersignalgenerator die jeweiligen Steuersignale mit Werten erzeugt, die zu dem Zeitintervall seit der vorangehenden Abtastzeit normiert sind.
DE69433630T 1994-04-20 1994-04-20 Vorrichtung zur erzeugung eines asynchronen kontrollsignals Expired - Lifetime DE69433630T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1994/004375 WO1995029545A1 (en) 1994-04-20 1994-04-20 Asynchronous control signal generating apparatus

Publications (2)

Publication Number Publication Date
DE69433630D1 DE69433630D1 (de) 2004-04-22
DE69433630T2 true DE69433630T2 (de) 2005-02-03

Family

ID=22242484

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69433630T Expired - Lifetime DE69433630T2 (de) 1994-04-20 1994-04-20 Vorrichtung zur erzeugung eines asynchronen kontrollsignals

Country Status (6)

Country Link
EP (1) EP0756790B1 (de)
JP (1) JP3703488B2 (de)
KR (1) KR100309938B1 (de)
AU (1) AU7393594A (de)
DE (1) DE69433630T2 (de)
WO (1) WO1995029545A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0928115A4 (de) * 1997-07-01 2005-09-14 Sony Corp Vorrichtung und verfahren zur bildcodierungssteuerung, codierungs-, übertragungs- und rundfunksystem
WO2000041395A1 (en) * 1999-01-06 2000-07-13 Sarnoff Corporation Latency-based statistical multiplexing
US6754241B1 (en) 1999-01-06 2004-06-22 Sarnoff Corporation Computer system for statistical multiplexing of bitstreams
US6665872B1 (en) 1999-01-06 2003-12-16 Sarnoff Corporation Latency-based statistical multiplexing
US7839948B2 (en) 2005-12-02 2010-11-23 Qualcomm Incorporated Time slicing techniques for variable data rate encoding

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1253255A (en) * 1983-05-16 1989-04-25 Nec Corporation System for simultaneously coding and decoding a plurality of signals
US4933934A (en) * 1986-12-22 1990-06-12 Nec Corporation Time division multiplexing method with channel compression and a device therefor
US5134476A (en) * 1990-03-30 1992-07-28 At&T Bell Laboratories Video signal encoding with bit rate control
US5115309A (en) * 1990-09-10 1992-05-19 At&T Bell Laboratories Method and apparatus for dynamic channel bandwidth allocation among multiple parallel video coders
CA2088082C (en) * 1992-02-07 1999-01-19 John Hartung Dynamic bit allocation for three-dimensional subband video coding
JPH0662393A (ja) * 1992-08-04 1994-03-04 G C Technol Kk 多重化した動画像符号化方法と装置
JP2500582B2 (ja) * 1993-03-17 1996-05-29 日本電気株式会社 動画像信号の多重化伝送方法とその装置
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.
JP3535549B2 (ja) * 1993-12-22 2004-06-07 日本放送協会 画像信号符号化多重装置
JPH07264580A (ja) * 1994-03-17 1995-10-13 Toshiba Corp 映像信号伝送方法並びに映像信号送信装置及び映像信号受信装置
JPH07284096A (ja) * 1994-04-06 1995-10-27 Nec Corp 多チャンネル画像伝送装置

Also Published As

Publication number Publication date
EP0756790A1 (de) 1997-02-05
WO1995029545A1 (en) 1995-11-02
JP3703488B2 (ja) 2005-10-05
KR970702638A (ko) 1997-05-13
EP0756790B1 (de) 2004-03-17
AU7393594A (en) 1995-11-16
JPH09512398A (ja) 1997-12-09
EP0756790A4 (de) 1998-05-20
DE69433630D1 (de) 2004-04-22
KR100309938B1 (ko) 2001-12-15

Similar Documents

Publication Publication Date Title
DE10190285B4 (de) Verfahren und System zur Verarbeitung von komprimierten Videosignalen
DE69938093T2 (de) Steuerung der Datenrate für einen MPEG-Transcoder ohne a-priori Kenntnis des Bildtyps
DE69815159T2 (de) Kodierung von bewegten bildern mit globaler konstanter bitrate
DE69837003T2 (de) Vorrichtung und verfahren zur optimierung der bitratensteurung in einem kodiersystem
DE69934616T2 (de) Vorrichtung und Verfahren zur prädiktiven bewegungskompensierten Kodierung
US5694170A (en) Video compression using multiple computing agents
DE69827548T2 (de) Anordnung zur Vorverarbeitung für MPEG-2-Kodierung
DE69826155T2 (de) Verfahren und Vorrichtung zur digitalen Videosignalfilterung und -kodierung
DE69233411T2 (de) Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung
DE4233543B4 (de) Vorrichtung zur Steuerung der Quantisierung von Videodaten
DE4228220B4 (de) Vorrichtung zur hierarchischen Unterteilung von Videosignalen
DE69535228T2 (de) Bildumsetzungsvorrichtung
DE60023576T2 (de) Verfahren und Vorrichtung zur Bewegtbilddatentranscodierung
DE69921108T2 (de) Verfahren und vorrichtung zur adaptiven codierung eines videodatenstroms
DE69816875T2 (de) Sequenzadaptive bit-zuordnung zur codierung von bildern
DE60015566T2 (de) Verfahren und vorrichtung zur komprimierung eines bewegungsvektorfeldes
DE69930216T2 (de) Regelung des Rechen- und Speicheraufwands zur Datenfolgekompression in einem Videodekoder
DE69726110T2 (de) Videoübertragungssystem
EP0201679A1 (de) Verfahren zur Bilddatenreduktion für digitale Fernsehsignale
DE19739266B4 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
DE69935564T2 (de) Kodiervorrichtung und -verfahren
DE60106640T2 (de) Prozessorzuweisung für kanäle in einem videomultiprozessorsystem
DE60211790T2 (de) Videokodierung mit konstanter Qualität
EP1025708A1 (de) Verfahren und vorrichtung zur verarbeitung eines digitalisierten bildes
DE60006152T2 (de) Videoübertragung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition