DE69221028T2 - Puffersteuerung für einen Kanal mit variabler Bitrate - Google Patents
Puffersteuerung für einen Kanal mit variabler BitrateInfo
- Publication number
- DE69221028T2 DE69221028T2 DE69221028T DE69221028T DE69221028T2 DE 69221028 T2 DE69221028 T2 DE 69221028T2 DE 69221028 T DE69221028 T DE 69221028T DE 69221028 T DE69221028 T DE 69221028T DE 69221028 T2 DE69221028 T2 DE 69221028T2
- Authority
- DE
- Germany
- Prior art keywords
- encoder
- channel
- buffer
- decoder
- rate
- 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
Links
- 239000000872 buffer Substances 0.000 title claims description 203
- 230000005540 biological transmission Effects 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 22
- 238000012544 monitoring process Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 101150057849 Padi1 gene Proteins 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000002939 deleterious effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000011867 re-evaluation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B14/00—Transmission systems not characterised by the medium used for transmission
- H04B14/02—Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation
- H04B14/04—Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using pulse code modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/16—Time-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/1682—Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers
- H04J3/1688—Allocation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2401—Monitoring of the client buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Communication Control (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Description
- Die vorliegende Erfindung betrifft Verfahren zum Steuern mindebtens eines Codierers mit variabler Rate und eine Vorrichtung in einer Codierereinheit zum Codieren eines ursprünglichen Videosignals.
- Bei bisher bekannten Videokompressionssystemen werden komprimierte Videodaten über Kanäle mit einer konstanten Bitrate übertragen. Bei dieser Art von Videocodiersystem ist ein Codiererzwischenspeicher ein wesentliches Element. Der Codiererzwischenspeicher wird verwendet, um das von einem Codierer gelieferte Signal mit variabler Bitrate in ein Signal konstanter Bitrate zur Übertragung zu übersetzen. Es wird oft eine Zwischenspeicher-/Quantisierersteuerung eingesetzt, um die Vollheit des Zwischenspeichers zu regulieren, indem die Informationsmenge festgelegt wird, die von dem Codierer zu dem Codiererzwischenspeicher geliefert werden kann.
- Es ist wichtig, daß dem Codiererzwischenspeicher kein Daten-"Überlauf" oder -"Unterlauf" gestattet wird. Ein Überlauf des Codiererzwischenspeichers führt zum Verlust von Daten. Unterlauf des Zwischenspeichers führt zu einer ineffizienten Verwendung der Bandbreite des Übertragungskanals. Es ist weiterhin wichtig, einen Überlauf oder Unterlauf des Decodiererzwischenspeichers zu vermeiden. Ein Überlauf des Decodiererzwischenspeichers tritt ein, wenn die Rate, mit der Informationen von dem Kanal ankommen, größer ist als die Rate, mit der der Decodierer die Informationen verarbeiten kann. Ein Unterlauf des Decodiererspeichers tritt ein, wenn der Decodiererzwischenspeicher leer ist und der Decodierer einen neuen Rahmen anzeigen muß, aber kein neuer Rahmen decodiert worden ist.
- Für Übertragungskanäle mit fester Rate sind Steueranordnungen bekannt, um Überlauf und Unterlauf sowohl des Codierers als auch des Decodierers zu verhindem Allerdings sind derartige bekannte Steueranordnungen nicht wirksam, wenn zum Übertragen des codierten Videosignals ein Kanal mit wirklich variabler Bitrate oder ein Kanal mit effektiv variabler Bitrate eingesetzt wird. Ein derartiger Kanal mit wirklich variabler Bitrate ist das diensteintegrierende Breitbanddigitalnetz (B-ISDN). Ein Kanal mit tatsächlich variabler Bitrate kann für ein bestimmtes Signal entstehen, wenn codierte Signale auf eine gemultiplexte Art zubammen übertragen oder gespeichert werden, z.B. ein codiertes Videosignal, das mit zugehörigen Audiosignalen und anderen Bit wie z.B. Steuerbit gemultiplext wird, um auf einer Bildplatte einen einzigen gespeicherten gemultiplexten Bitstrom zu bilden. Beim Ausblenden aus dem gemultiplexten Bitstrom werden die komprimierten Videosignaldaten in der Regel derart in Bursts verfügbar, daß die Videodaten als mit variabler Rate ankommend betrachtet werden müssen. Dies gilt selbst dann, wenn das gemultiplexte Signal selbst mit einer konstanten Bitrate übertragen oder von einem Speichermittel abgerufen wird. Die Übertragungsbitrate eines derartigen Kanals mit effektiv variabler Bitrate ist die Rate, mit der Bit aus dem diesem Kanal zugeordneten Codiererzwischenspeicher entfernt werden.
- Eine Lösung nach dem Stand der Technik zum Verhindern von Zwischenspeicherüberlauf und -unterlauf in einem Decodierer, wenn ein Kanal mit effektiv variabler Bitrate eingesetzt wird, erfordert die Verwendung eines zusätzlichen Zwischenspeichers zum Anschalten an den Kanal mit variabler Bitrate. Die Verwendung eines derartigen zusätzlichen Zwischenspeichers ist wegen der Kosten und anderer Begrenzungen, die er der Systemkonfiguration auferlegt, nicht wünschenswert.
- Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren nach Anspruch 1 bereitgestellt.
- Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird eine Vorrichtung nach Anspruch 3 bereitgestellt.
- Figur 1 zeigt in vereinfachter Form eines Blockschaltbildes eine beispielhafte Videocodierereinheit gemäß der Erfindung, einen Kanal mit variabler Rate und eine beispielhafte Decodierereinheit;
- Figur 2 zeigt ein beispielhaftes Codiersystem, bei dem eine Vielzahl von einzelnen nichtcodierten Bitströmen codiert und in einen einzelnen Bitstrom gemultiplext werden;
- Figur 3 zeigt eine erste beispielhafte Ausführungsform eines Demultiplexers und Decodierers;
- Figur 4 zeigt eine alternative beispielhafte Ausführungsform eines Demultiplexers und Decodierers;
- Figur 5 zeigt ein beispielhaftes Systemtaktdiagramm für den Multiplexiervorgang des in Figur 2 gezeigten beispielhaften Codiersystems;
- Figur 6 zeigt eine ausführlichere Ansicht einer in Figur 2 gezeigten beispielhaften Codiererratensteuerung;
- Figur 7 zeigt in vereinfachter Form eines Blockschaltbildes eine ausführliche Ansicht einer in Figur 2 gezeigten Multiplexsystemsteuerung; und
- Figuren 8 und 9 veranschaulichen, wenn sie wie in Figur 10 gezeigt verbunden werden, die Grundlagen der Zwischenspeichersteuerung für eine in Figur 1 gezeigte beispielhafte Codierereinheit, wenn ein Kanal mit effektiv variabler Rate durch eine Leaky-Bucket-Beschränkung beschränkt ist.
- In Figur 1 ist in vereinfachter Form eines Blockschaltbildes eine beispielhafte Videocodierereinheit 15, ein Kanal 30 mit variabler Bitrate (Rate) und eine beispielhafte Decodierereinheit 45 gezeigt. Ein ursprüngliches Videosignal VIDIN, mit Rahmen, die mindestens eine Bilddarstellung enthalten, wird als Eingangssignal an den Videocodierer 10 geliefert. Derartige Videosignale sind in der Technik wohlbekannt. Der Videocodierer 10 erzeugt einen Bitstrom CODEIM mit Rahmen, der eine erste codierte Version des Signals VIDIN enthält. Jeder Rahmen des Bitstroms CODEIM enthält eine codierte Version der die Bilder eines Rahmens des Signals VIDIN darstellenden Signale. Videocodierer und die zum Codieren von Videosignalen eingesetzten Verfahren sind wohlbekannt. Der Bitstrom CODEIM wird im Codiererzwischenspeicher 20 gespeichert, von dem aus er auf FIFO-Art (FIFO = first in, first out = Durchlauf) an eine Kanalschnittstelle 80 geliefert wird. Die Kanalschnittstelle 80 entfernt aus dem Bitstrom CODEIM eine vorbestimmte Anzahl von Bit, die gleich null sein kann, und liefert als Ausgabe die resultierende zweite codierte Version des Signals VIDIN als Bitstrom CODETR. Verfahren, codierte Videosignale so anzuordnen, daß Bit entfernt werden können, sind wohlbekannt. Der Bitstrom CODETR wird danach über den Kanal 30 mit variabler Rate zum Decodiererzwischenspeicher 40 übertragen.
- Die Anzahl von aus jedem Rahmen des Bitstroms CODEIM zu entfernender Bit, um den Bitstrom CODETR zu erzeugen, wird durch die Differenz zwischen der wirklichen Bitrate Ri, die von dem Kanal 30 mit variabler Rate zur Übertragung des jeweiligen Rahmens zur Verfügung gestellt wird, und einem vorausgesagten Wert Rreq für diese Bitrate, die vom Kanal 30 über die Verbindung 63 angefordert wird, und von der erwartet wird, daß sie für die Übertragung des jeweiligen Rahmens zur Verfügung steht, bestimmt. Nur im Fall von Ri < Rreq werden überhaupt welche der Bit verworfen. Ein derartiges Verwerfen von Bit muß als Notmaßnahme betrachtet werden, die nur im Fall schwerwiegender und nicht vorhersagbarer Blockierung des Kanals 30 mit variabler Bitrate zu ergreifen ist. Eine Aufgabe der Erfindung besteht darin, jedes Verwerfen von Bit und jeden sich daraus ergebenden Informationsverlust zu vermeiden. Die Steuerung über die Anzahl von erzeugten Bit wird deshalb von dem Videocodierer 10 ausgeübt.
- Bei einigen Realisierungen könnte der Kanal 30 mit variabler Rate die Bit selbst entfernen, so daß sein Ausgangssignal möglicherweise nicht gleich seinem Eingangssignal ist. Bei derartigen Realisierungen wird die Kanalschnittstelle 80 möglicherweise nur die Bit zum Löschen markieren, und die eigentliche Löschung von einigen oder allen Bit wird vom Kanal 30 durchgeführt, wenn er bestimmt, daß die angeforderte Bitrate nicht zur Verfügung gestellt werden kann. Alternativ ist die Kanalschnittstelle 60 möglicherweise nicht erforderlich, und der Kanal 30 mit variabler Bitrate kann selbst bestimmen, welche Bit aus dem Format des Bitstroms CODEIM weggelassen werden sollten.
- Die Bitrate Ri, die vom Kanal 30 mit variabler Bitrate tatsächlich für einen bestimmten Rahmen zur verfügung gestellt wird, wobei i ein Rahmenindex ist, wird der Kanalratensteuerung 60 über die Verbindung 67 mitgeteilt. Die Kanalratensteuerung 60 teilt wiederum die wirkliche Bitrate über die Verbindung 85 der Kanalschnittstelle 80 mit. Die vorausgesagte Bitrate wird auch über die Verbindung 85 an die Kanalschnittstelle 80 geliefert, die die Verbindung 25 einsetzt, um vom Codiererzwischenspeicher 20 den Bitstrom CODEIM mit der angeforderten Rate Rreq abzurufen. Es wird angemerkt, daß der Ausdruck Verbindung, wie er hier verwendet wird, eine beliebige Form von Kommunikationszusammenschaltungsvorrichtung bedeuten kann, was ohne Begrenzung serielle Übertragung, parallelen Bus und geteilten Speicher umfassen kann. Der Codiererzwischenspeicher 20 kann gelegentlich leer werden, woraufhin die Kanalschnittstelle 80 die übertragung sofort beendet. Dies führt in den meisten Fällen zu einer Verringerung von Ri.
- Die Bitraten, die von dem Kanal 30 mit variabler Bitrate geliefert werden können, sind nicht zufällig, werden aber gemäß einer vorbestimmten Funktion beschränkt. Derartige Kanalbeschränkungsfunktionen sind wohlbekannt, wie z.B. die Leaky-Bucket-Funktion. Wegen der beschränkten Natur des Kanals 30 mit variabler Bitrate kann die Gewährung einer bestimmten angeforderten Bitrate Rreq dazu dienen, der Bitrate, die möglicherweise dem Kanal 30 mit variabler Rate für die Gewährung zukünftiger Anforderungen zur Verfügung steht, Begrenzungen aufzuerlegen. Es wird weiterhin bemerkt, daß der Kanal 30 mit variabler Rate eine Verzögerung aufweisen kann. So zum Beispiel kann der Kanal 30 mit variabler Rate ein Bildplattensystem sein.
- Nach dem Durchgang durch den Kanal 30 mit variabler Rate wird der Bitstrom CODETR im Decodiererzwischenspeicher 40 vorübergehend gespeichert. Der Bitstrom CODETR wird auf FIFO-Weise als Eingang vom Decodiererzwischenspeicher 40 an den Videodecodierer 50 geliefert. Der Videodecodierer 50 liefert als Ausgabe ein Videosignal VIDOUT, eine rekonstruierte Version des ursprünglichen Videosignals VIDIN. Videodecodierer und die dort eingesetzten Verfahren sind in der Technik wohlbekannt.
- Der gesamte Prozeß, von der erstmaligen Lieferung als Ausgabe eines Rahmens des codierten Bitstroms CODEIM vom Codiererzwischenspeicher 20, bis die entsprechende Version dieses Rahmens im CODETR, der vom Decodiererzwischenspeicher 40 empfangen wird, an den Videodecodierer 50 geliefert wird, nimmt LT Sekunden in Anspruch, ohne jegliche Verzögerung im Kanal 30 mit variabler Rate. Diese Zeitperiode von LT Sekunden, wobei T die Zeitperiode eines nichtcodierten Videorahmens und L ein Systemverzögerungsparameter von nicht weniger als eins (1) und nicht notwendigerweise eine ganze Zahl ist, wird von dem, der die Erfindung umsetzt, willkürlich gewählt. Nach dem Empfang des ersten Bit des Bitstroms CODETR durch den Decodiererzwischenspeicher 40 wartet der Decodierer zwischenspeicher 40 genau LT Sekunden lang, bevor er den ersten Rahmen an den Videodecodierer 50 liefert. Um die Darstellung zu verdeutlichen, werden die hier präsentierten Ausführungsformen der Erfindung beschrieben, als ob es sich bei L um eine ganze Zahl handeln würde. Ausführungsformen der Erfindung, bei denen L keine ganze Zahl ist, sind für den Fachmann ohne weiteres offensichtlich.
- Der Codiererzwischenspeicher 20 und der Decodiererzwischenspeicher 40 weisen jeweils eine vorbestimmte feste Maximalgröße Bemax bzw. Bdmax auf, die dem Videocodierer 10, der Kanalratensteuerung 60 und der Codiererratensteuerung 70 im voraus bekannt sind. Außerdem ist der Wert des Verzögerungsfaktors L dem Videocodierer 10, der Kanalratensteuerung 60, der Codiererratensteuerung 70 und dem Decodiererzwischenspeicher 40 im voraus bekannt.
- Von dem Videocodierer 10 kann jedes beliebige Verfahren der Bildcodierung verwendet werden, das gestattet, die Anzahl von Bit zu spezifizieren, die als codierte Darstellung jedes Bildes erzeugt werden. Derartige Verfahren sind in der Technik wohlbekannt. Die Codiererratensteuereinheit 70 liefert dem Videocodierer 10 ein Signal RANGE. Das Signal RANGE ist eine Darstellung des Bereichs akzeptabler Anzahlen von Bit, die beim Codieren jedes Rahmens des ursprünglichen Videosignals VIDIN in den Bitstrom CODEIM erzeugt werden können. Der Bereich, der die Anzahl von Bit beschränkt, die der Videocodierer erzeugen kann, wird so bestimmt, daß weder der Codiererzwischenspeicher 20 noch der Decodiererzwischen speicher 40 einen Überlauf oder Unterlauf erfahren. Das Verfahren, wie dieser Bereich bestimmt wird, wird unten beschrieben. Der Videocodierer 10 codiert jeden Rahmen des Signals VIDIN und erzeugt dadurch einen Teil des Bitstroms CODEIM, der den Rahmen i darstellt und tatsäch lich in einer Rahmenperiode [(i-1)T,iT] Ei Bit enthält. Ei ist eine Zahl, die für den Rahmen i in den durch die Codiererratensteuereinheit 70 im Signal RANGE gegebenen Bereich fällt. Der Rahmenzahlindex i bezeichnet jeden Rahmen hinsichtlich eines vorbestimmten Startrahmens. Die Ei Bit, die ein Teil des Bitstroms CODEIM sind, werden als Eingabe an den Codiererzwischenspeicher 20 geliefert und dort so lange gespeichert, bis es für sie an der Zeit ist, übertragen zu werden.
- Eine Wahl einer Menge von geschätzten Kanalbitraten Ri, Ri+1,..., Ri+L+1 durch die Kanalratensteuereinheit 60 wird von dem Erfordernis gesteuert, zu verhindern, daß der Codiererzwischenspeicher 20 und der Decodiererzwischenspeicher 40 Überlaufen oder unterlaufen. Diese Wahl wird auch durch die bitratenmäßige Beschränkung des Kanals 30 mit variabler Rate gesteuert.
- Diese bitratenmäßige Beschränkung des Kanals 30 mit variabler Rate kann sich zeitlich verändern. Zusätzliche Faktoren, die möglicherweise bei der Wahl der geschätzten Kanalbitraten berücksichtigt werden, sind die Kosten der Übertragung für jedes Bit und die Tatsache, daß bei einigen Kanalbeschränkungen (zum Beispiel der wohlbekannten Leaky-Bucket-Beschränkung) die Kanalbitrate zu einem früheren Zeitpunkt bewahrt werden könnte, um zu einem späteren Zeitpunkt eine weniger strenge Kanalrate zu erzeugen. Dies könnte wünschenswert sein, wenn ein Rahmen des ursprünglichen Videosignals VIDIN, der unter Verwendung von Intraframe-Techniken codiert worden ist, bald übertragen werden muß.
- Die Kanalratensteuerung 60 liefert als Eingang den gegenwärtigen geschätzten Wert Ri zu dem Kanal 30 mit variabler Rate als Anforderung für die Bitrate Rreq auf Leitung 63. Wenn der Kanal 30 mit variabler Rate die Anforderung nach Bitrate gewährt, wird die wirkliche Kanalbitrate Ri gleich Rreq auf Leitung 67 zurückgegeben. Ansonsten wird auf Leitung 67, wenn der Kanal 30 mit variabler Bitrate nicht in der Lage ist, die Anforderung zu gewähren, die gewährte wirkliche Kanalbitrate Ri, die kleiner ist als Rreq, zurückgegeben.
- Die Codiererratensteuereinheit 70 empfängt von der Kanalratensteuereinheit 60 als Eingänge die von dem Kanal 30 mit variabler Rate gewährte wirkliche Rate Ri und die geschätzten möglichen zukünftigen Kanalbitratenwerte für die nächsten L-1 Rahmen Ri+&sub1;, ..., Ri+L-1, die auf noch zu beschreibende Weise gewählt werden. Die Codiererratensteuereinheit 70 empfängt als Eingabe auch die wirkliche Anzahl von Bit Ei, die als Ausgabe von dem Videocodierer 10 für jede Rahmenperiode i geliefert werden. Der Bereich für Ei, der als Ausgabe von der Codiererratensteuereinheit 70 geliefert wird, wird auf noch zu beschreibende Weise derart bestimmt, daß weder beim Codiererzwischenspeicher 20 noch beim Decodiererzwischenspeicher 40 ein Überlauf oder Unterlauf auftritt.
- Die Kanalratensteuereinheit 60 empfängt als Eingabe auch die wirkliche aktuelle Kanalbitrate Ri vom Kanal 30 über die Verbindung 67 und die Anzahl von Bit Ei, die von dem Videocodierer 10 wirklich als Ausgabe in der aktuellen Rahmenperiode geliefert werden. Eine geschätzte Kanalbitrate Ri+L, die die Anzahl von Bit beschreibt, die in der Rahmenperiode um L Rahmen später über den Kanal 30 übertragen werden sollen, wird von der Kanalratensteuereinheit 60 gewählt. Wie schon oben bemerkt, wird jede dieser gewählten Kanalbitraten als Eingabe an die Codiererratensteuereinheit 70 geliefert.
- Die folgende theoretische Darlegung sollte für einen Fachmann nützlich sein, um die ausführliche Funktionsweise der Kanalratensteuerung 60 und der Codiererratensteuerung 70 zu verstehen, insbesondere wenn der Kanal 30 mit variabler Rate beispielsweise durch die Leaky-Bucket-Beschränkung beschränkt ist. E(t) ist als die Anzahl von zum Zeitpunkt t durch den Codierer ausgegebenen Bit (oder Byte oder Pakete) definiert. Die momentane Bitrate R(t) des Kanals 30 mit variabler Rate ist zu jeder gegebenen Zeit veränderlich. Be(t) und Bd(t) sind die momentanen Vollheitswerte des Codiererzwischenspeichers 20 bzw. des Decodiererzwischenspeichers 40. Der Codiererzwischenspeicher 20 und der Decodiererzwischenspeicher 40 haben jeweils eine vorbestimmte feste Maximalgröße Bemax bzw. Bdmax. Bei gegebener Bemax ist die Codierereinheit 15 so ausgelegt, daß sichergestellt wird, daß der Codiererzwischenspeicher 20 nie überläuft, d.h.
- Bedingungen, die notwendigerweise den Raten Ei und Ri auferlegt werden, um sicherzustellen, daß der Decodierer zwischenspeicher 40 niemals überläuft oder unterläuft, d.h.
- werden hier beschrieben.
- Das Problem wird diskret gemacht, indem Ei (i = 1,2,...) als die Anzahl von Bit in dem Intervall [(i-1)T,iT] definiert wird, wobei T die Dauer eines nichtcodierten Rahmens des nichtcodierten Videosignals VIDIN ist. Deshalb gilt
- Analog dazu ist Ri die Anzahl von Bit, die während der i-ten Rahmenperiode über den Kanal 30 mit variabler Bitrate übertragen werden,
- wobei dies die wirkliche, von dem Kanal 30 mit variabler Rate gewährte Rate ist.
- Der Codiererzwischenspeicher 20 empfängt vom Videocodierer 10 Bit mit einer Rate E(t) und liefert als Ausgabe Bit des codierten Videobitstroms CODEIM mit einer Rate R(t). Unter der Annahme, daß der Codiererzwischenspeicher 20 und der Decodiererzwischenspeicher 40 vor dem Anlaufen zum Zeitpunkt t = 0 leer sind, und gegeben, daß
- so beträgt die Vollheit des Codiererzwischenspeichers nach dem Codieren von Rahmen i dann also
- Dies läßt sich explizit schreiben als
- oder rekursiv als
- Nachdem die Decodierereinheit 45 damit beginnt, Daten im Decodiererzwischenspeicher 40 zu empfangen, wartet sie LT Sekunden lang, bevor sie, wie oben beschrieben, mit dem Decodieren beginnt. Wiederum wird aus Gründen der Deutlichkeit angenommen, daß es sich bei L um eine ganze Zahl handelt, obwohl dies nicht notwendig ist.
- Für die Decodierereinheit 45 wird ein neuer Zeitindex τ definiert. Bei Beginn der Decodierung ist τ gleich null. Folglich gilt
- wobei Kanal.Verzögerung die Übertragungsverzögerungszeit über den Kanal 30 mit variabler Rate ist. Die Codierereinheit 15 kann die anfängliche Vollheit Bd(0) (bei τ = 0) des Decodiererzwischenspeichers 40 berechnen, wenn L vorbestimmt ist oder explizit als ein Parameter an die Decodierereinheit 45 übertragen wird. Die anfängliche Vollheit des Decodiererzwischenspeichers 40 ist gegeben durch
- Die Vollheit des Decodiererzwischenspeichers 40 zum Zeitpunkt τ = iT kann bestimmt werden durch
- Für (i-1)T ≤ τ ≤ iT verändert sich die Vollheit des Decodiererzwischenspeichers 40 je nach der Kanalbitrate R(t) und der Rate, mit der der Videodecodierer 50 Daten aus dem Decodiererzwischenspeicher 40 ausblendet. Insbesondere gilt
- Die zum Verhindern von Unterlauf oder Überlauf des Codiererzwischenspeichers 20 und des Decodiererzwischenspeichers 40 erforderlichen Bedingungen liegen für einen allgemeinen Kanal mit variabler Rate vor. Um Überlauf und Unterlauf des Codiererzwischenspeichers zu verhindern, ist aus Gleichung (1) und Gleichung (8) erforderlich, daß
- was eine Beschränkung für die Anzahl von Bit Ei darstellt, die für jeden codierten Rahmen des Bitstroms CODEIM für eine von dem Kanal 30 mit variabler Rate gewährte gegebene Kanalbitrate Ri geliefert werden können. Wenn zum Beispiel der Kanal 30 mit variabler Rate eine konstante Rate aufweist, kann die Codierereinheit 15 ein Überlaufen oder Unterlaufen des Codiererzwischenspeichers 20 durch Verändern der Qualität der vom Videocodierer 10 verwendeten Codierung verhindern. Wenn die Codierereinheit 15 feststellt, daß sich der Codiererzwischenspeicher 20 der Vollheit nähert, wird die Bitrate des als Eingabe von dem Videocodierer 10 an den Codiererzwischenspeicher 20 gelieferten Bitstroms CODEIM verringert. Eine derartige Verringerung der Bitrate des Bitstroms CODEIM kann dadurch erreicht werden, daß die Qualität der von dem Videocodierer 10 durchgeführten Codierung verringert wird. Ein Verfahren, die Codierqualität zu verringern, besteht darin, eine gröbere Quantisierungsschrittgröße zu verwenden. Derartige Verfahren, die Codierqualität zu verringern, sind in der Technik wohlbekannt. Umgekehrt, wenn der Codiererzwischenspeicher 20 zu unterlaufen droht, kann der Videocodierer 10 den Bitstrom CODEIM mit einer höheren Bitrate erzeugen, entweder durch Steigerung der Qualität der vom Videocodierer 10 durchgeführten Codierung oder durch Ausgeben von Stopfbit, die mit der Codiersyntax übereinstimmen und von dem Videodecodierer 50 verworfen werden können.
- Um ein Überlaufen oder Unterlaufen des Decodiererzwischenspeichers 40 zu verhindern, können der Bitrate des Videocodierers 10 für eine gegebene Kanalbitrate folgende Beschränkungen auferlegt werden:
- Alternativ kann die Anzahl von Bit pro Rahmen unbeschränkt sein, wodurch sich für die Kanalbitrate Ri die folgende Beschränkung ergibt:
- was für i > L das gleiche ist wie
- wobei Ei-L - Bdi-L-1 ≤ Ri die Bedingung spezifiziert, unter der ein Unterlaufen des Decodiererzwischenspeichers 40 auftritt, und
- die Bedigung spezifiziert, in der ein Überlaufen des Decodiererzwischenspeichers 40 auftritt. Folglich liegt für die Kanalbitrate Ri eine Beschränkung vor, die von der Ausgabe abhängt, die von dem Videocodierer 10 L Rahmen zuvor geliefert wurde.
- Ein Zähler, der die Vollheit eines gedachten Zwischenspeichers anzeigt, wird von dem Kanal 30 mit variabler Rate unterhalten, wenn er durch eine Leaky- Bucket-Funktion beschränkt ist. Ri Bit für die Rahmenperiode i werden als Eingabe an den gedachten Zwischenspeicher geliefert (der hier von nun an als "Bucket" bezeichnet wird). Die Rate, mit der Bit als Ausgabe vom Bucket geliefert werden, beträgt Bit pro Rahmenperiode. Die Bucketgröße ist Nmax. Die momentane Bucketvollheit, nachdem der Rahmen i an den Kanal 30 mit variabler Rate geliefert worden ist, beträgt
- Um sicherzustellen, daß die Kanalschnittstelle 80 keine hohe Priorität fallen läßt, muß die Rate Ri derart sein, daß der Bucket niemals überläuft, d.h. Ni ≤ Nmax i oder
- Gleichung (19) definiert die Leaky-Bucket-Beschränkung auf der Bitrate, die als Eingabe an den Kanal 30 mit variabler Rate geliefert werden kann.
- Es handelt sich bei der Leaky-Bucket-Beschränkung allerdings nicht um die einzige Beschränkung. Tatsächlich kann das Verhindern von Überlauf des Decodiererzwischenspeichers 40 eine stärkere Beschränkung der Bitrate auferlegen, die als Eingabe an den Kanal 30 mit variabler Rate geliefert werden kann. Insbesondere kann die rechte Seite der in Gleichung (17) spezifizierten Decodiererratenbeschränkung strenger ausfallen als die Leaky-Bucket-Ratenbeschränkung von Gleichung (19).
- Die Grundlagen der Zwischenspeichersteuerung für die beispielhafte Codierereinheit 15, wenn der Kanal 30 mit variabler Rate eine Leaky-Bucket-Ratenbeschränkung aufweist, sind in Form eines Flußdiagramms durch Figuren 8 und 9 dargestellt, wenn sie, wie in Figur 10 gezeigt, verbunden werden. Dementsprechend wird bei der Ankunft des ersten Rahmens des ursprünglichen Videosignals VIDIN bei Schritt 800 in die Routine eingesprungen. Schritt 801 führt zum Zeitpunkt t = 0 vor der Codierung des Rahmens i = 1 eine variable Initialisierung durch. Bei stellt die Vollheit des Codiererzwischenspeichers 20 zum Zeitpunkt t = iT dar, Bdi stellt die Vollheit des Decodiererzwischenspeichers 40 zum Zeitpunkt τ = iT dar und Ni stellt die Vollheit des Leaky-Bucket zum Zeitpunkt t = iT dar, und sie alle werden auf null (0) initialisiert. In Schritt 802 werden Schätzwerte von Raten, die vom Kanal 30 mit variabler Rate für den gegenwärtigen Rahmen i des ursprünglichen Videosignals VIDIN und für die nächsten L zukünftigen Rahmen des ursprünglichen Videosignals VIDIN zur Verfügung stehen, bestimmt. Auch werden die Leaky- Bucket-Vollheitswerte und die Vollheitswerte des Decodiererzwischenspeichers 40 für die gleichen nächsten L zukünftigen Rahmen geschätzt. Zum Schätzen von Kanalbitraten werden die Ungleichungen Gleichung (17) und Gleichung (19) eingesetzt, wobei für k s 0, Ek = 0 ist. Die Leaky-Bucket-Vollheitswerte und die Vollheitswerte des Decodiererzwischenspeichers 40 werden jeweils aus Gleichung (18) und Gleichung (12) bestimmt. Sie werden umgeschrieben, was für j = i,i+1,...,i+L-1
- ergibt, wobei Ej-L-Bdj-L-1 ≤ Rj für den Decodiererzwischenspeicher 40 einen Unterlaufzustand anzeigt und
- für den Decodiererzwischenspeicher 40 einen Überlaufzustand anzeigt,
- In den meisten Fällen können für j < i+L-1 zuvor gemachte Schätzwerte vereinfacht und wiederverwendet werden, wobei in diesem Fall Auswertungen lediglich für j = i+L-1 vorgenommen werden müssen. Wie unten gezeigt, kann sich Bdi-L-1 jedoch verändern, weshalb eine Neuauswertung aller Schätzwerte wünschenswert sein kann. Allgemein ist ein Wert von Rj ≥ 0, der gleich der Obergrenze von Gleichung (20) oder Gleichung (21) ist, und zwar der niedrigeren von diesen entspricht, eine gute Wahl. Wenn jedoch bekannt ist, daß ein Rahmen mit einer großen Anzahl an Bit zu erwarten ist, sind kleinere Werte möglicherweise wünschenswert. Kleinere Werte von Rj können auch dann wünschenswert sein, wenn es sich bei dem Kanal um eine Bildplatte handelt, damit sowenig Bit wie möglich verwendet werden. Wenn kleinere Werte von Rj gewählt werden, so werden sie so gewählt, daß sie größer sind als die untere Grenze von Gleichung (20), um ein Unterlaufen des Decodiererzwischenspeichers zu verhindern.
- Wenn i ≤ L ist, werden vom Videodecodierer 50 noch keine Rahmen decodiert, und der Decodiererzwischenspeicher 40 füllt sich lediglich an. Allgemein sollte die Summe aus R&sub1;,...,RL so gewählt werden, daß sie die erwartete Bitrate der ersten paar Rahmen des Bitstroms CODEIM übersteigt, um einen Unterlauf des Decodiererzwischen speichers 40 zu vermeiden.
- In Schritt 803 wird Rreq von der Kanalratensteuerung 60 auf den geschätzten Wert für Ri gesetzt, und diese Rate wird vom Kanal 30 mit variabler Rate angefordert. Danach prüft der bedingte Verzweigungspunkt 804, um zu bestimmen, ob die angeforderte Kanalbitrate gewährt wird. Wenn das Prüfungsergebnis in Schritt 804 ein NEIN ist, wodurch angezeigt ist, daß die angeforderte Kanalbitrate von dem Kanal 30 mit variabler Rate nicht gewährt wurde, geht die Steuerung an Schritt 805 weiter, der den von dem Kanal 30 mit variabler Rate gewährten wirklichen Wert von Ri bestimmt. Im Schritt 806 prüft die Kanalratensteuerung 60, um zu bestimmen, ob beim Decodiererzwischenspeicher 40 ein Unterlaufen auftreten wird, indem die wirklich zugeteilte Kanalbitrate Ri verwendet wird. Diese Bestimmung wird durch Auswerten der Ungleichung von Gleichung (20) mit j = i bewerkstelligt. Wenn das Prüfungsergebnis im Schritt 806 ein JA ist, wird die Steuerung an Schritt 807 weitergegeben, in dem die Kanalratensteuerung 60 bewirkt, daß die Kanalschnittstelle 80 aus dem Bitstrom CODEIM selektiv Bit verwirft, um das Signal CODETR zu erhalten. Die Kanalschnittstelle 80 versucht, alle schädlichen Wirkungen auf das Bild innerhalb des Rahmens, die sich ergeben können, so klein wie möglich zu halten, um den Wert von Ei-L zu verringern, damit die Ungleichung von Gleichung (20) erfüllt wird und dadurch ein katastrophales Unterlaufen des Decodiererzwischenspeichers 40 vermieden wird. Die Steuerung wird dann an den Schritt 808 weitergegeben. Auch wenn das Prüfungsergebnis im Schritt 806 ein NEIN ist, was anzeigt, daß kein Unterlaufen des. Decodiererzwischenspeichers 40 auftritt, wird die Steuerung an Schritt 808 weitergegeben.
- In Schritt 808 führt die Kanalratensteuerung 60 eine Neuberechnung der Schätzwerte von Raten für den Kanal 30 mit variabler Rate für die Leaky-Bucket-Vollheitswerte und Vollheitswerte des Decodiererzwischenspeichers 40 für die nächsten L zukünftigen Rahmen des ursprünglichen Videosignals VIDIN unter Verwendung des wirklichen (kleineren) Wertes von Ri durch. Diese neuen Schätzwerte werden auf die gleiche Weise abgeleitet wie die in Schritt 802 abgeleiteten Schätzwerte. Die Steuerung wird dann an den Schritt 810 weitergegeben.
- Wenn das Prüfungsergebnis im Schritt 804 ein JA ist, was anzeigt, daß von dem Kanal 30 mit variabler Rate die angeforderte Kanalbitrate gewährt wurde, wird die Steuerung an Schritt 809 weitergegeben, der Ri = Rreq zuweist. Danach wird die Steuerung an Schritt 810 weitergegeben.
- Schritt 810 schätzt unter Verwendung der in Gleichung (21) spezifizierten Leaky-Bucket-Beschränkung eine obere Grenze (UB) für Ri+L
- In Schritt 811 wird von der Codiererratensteuerung 70 eine obere Grenze für Ei bestimmt. Diese obere Grenze wird bestimmt, indem aus der Ungleichung Gleichung (15) Beschränkungen auf das Überlaufen des Codiererzwischenspeichers 20 und aus der Ungleichung Gleichung (16) Beschränkungen auf das Unterlaufen des Decodiererzwischenspeichers 40 verwendet werden.
- Das Minimum dieser beiden oberen Grenzen für Ei wird als Ausgabe durch die Codiererratensteuerung 70 als Signal RANGE an den Videocodierer 10 geliefert.
- Schritt 812 beginnt die Codierung von Rahmen i durch den Videocodierer 10, vorbehaltlich der Gränzen für Ei, und die Übertragung eines Rahmens vom Codierer zwischenspeicher 20 mit der Rate Ri. In Schritt 813 wird die Codierung von Rahmen i durch den Videocodierer 10 und die Übertragung des vom Codiererzwischenspeicher 20 gelieferten Rahmens durch den Kanal 30 mit variabler Rate beendet. Der Videocodierer 10 liefert dann den wirklichen Wert von Ei als Eingabe an die Kanalratensteuerung 60 und die Codiererratensteuerung 70. Am bedingten Verzweigungspunkt 814 wird der wirkliche Wert von Ei verwendet, um die Ungleichung Gleichung (14) auszuwerten und dadurch zu bestimmen, ob während der Codierung von Rahmen i ein Unterlaufen des Codiererzwischenspeichers 20 aufgetreten ist. Wenn das Prüfungsergebnis im Schritt 814 ein NEIN ist, wird die Steuerung an Schritt 816 weitergegeben. Wenn das Prüfungsergebnis im Schritt 814 ein JA ist, beenden die Kanalratensteuerung 60 und die Kanalschnittstelle 80 die Übertragung frühzeitig, und die Steuerung wird an Schritt 815 weitergegeben, die den neuen niedrigeren Wert von Ri wie folgt berechnet
- Danach wird die Steuerung an Schritt 816 weitergegeben. Schritt 816 verwendet wirkliche Werte von Ei und Ri, um unter Verwendung der Gleichungen (8), (22) bzw. (23) wirkliche Werte von Bei, Ni und Bdi-L zu berechnen. In Schritt 817 wird i als Vorbereitung für die Codierung des nächsten Rahmens inkrementiert. Wenn an diesem Punkt Ri = Rreq ist, dann sind alle zuvor in Schritt 2 geschätz ten Werte weiterhin gültig, und für den nächsten Rahmen muß lediglich ein Schätzwert für das jüngste Zeitintervall bewertet werden. Wenn Ri ≠ Rreq ist, dann hat sich Bdi-L verändert und alle in Schritt 2 zuvor geschätzten Werte müssen von neuem bewertet werden.
- In Figur 2 wird ein beispielhaftes Codiersystem 100 gezeigt, bei dem eine Vielzahl von einzelnen nichtcodierten Bitströmen 111-1 bis 111-N codiert und zur Übertragung in einen einzelnen Bitstrom 112 gemultiplext werden.
- Obwohl der gemultiplexte Bitstrom 112 mit konstanter Rate Ri übertragen wird, werden die komprimierten Versionen jedes Bitstroms bei Ausblendung aus dem gemultiplexten Signal in der Regel derart in Bursts verfügbar, daß jeder Bitstrom so betrachtet wird, als wenn er von einem Kanal mit einer variablen Rate ankäme. Jeder Bitstrom wird somit über einen Kanal mit effektiv variabler Bitrate transportiert. Eine Hauptcharakteristik eines derartigen Kanals mit effektiv variabler Bitrate besteht darin, daß unbekannt ist, welcher Teil der gesamten Kanalbandbreite fur einen beliebigen Zugangsstrom zu einem beliebigen Zeitpunkt zur Verfügung stehen wird. Jeder von einzelnen nichtcodierten Bitströmen 111 kann von einem anderen Ursprung abgeleitet sein. Zu den typischen Ursprüngen, von denen individuelle nichtcodierte Bitströme 111 abgeleitet sein können, zählen Video-, Audio- und Datenströme, ohne darauf begrenzt zu sein. Für das vorliegende Beispiel wird angenommen, daß jeder der Teile von einzelnen nichtcodierten Bitströmen 111 durch die Tatsache einander zugeordnet werden, daß sie während der gleichen Realzeitperiode erzeugt worden sind. Der nichtcodierte Bitstrom 111-1 könnte beispielsweise eine Reihe von Rahmen darstellen, die eine sprechende Person zeigen, und der nichtcodierte Bitstrom 111-2 könnte eine Reihe von Audiorahmen darstellen, die eine digitale Darstellung dessen enthalten, was gesprochen wurde. Jeder der nichtcodierten-Bitströme 111 wird durch Codierer 101 in codierte Signale ENCOD codiert. Zwar stellt dies für die Erfindung keine Begrenzung dar, doch wird für das vorliegende Beispiel speziell auch gefordert, daß Teile von jedem der codierten Signale ENCOD, die während des gleichen Zeitintervalls erzeugt wurden, einander zugeordnet und nach der Codierung zu einem vorbestimmten Teil des gemultiplexten Stroms 112, der diesem Zeitintervall entspricht, verknüpft werden. Dieses Erfordernis erleichtert das Editieren des gemultiplexten Stroms 112. Somit würde, wie oben beschrieben, wenn Video- und Audiosignale gemultiplext werden, jeder Teil des gemultiplexten Stroms 112 einen Videorahmen und eine digitalisierte Darstellung dessen enthalten, was von dem Sprecher während des Zeitintervalls dieses zugeordneten Videorahmens gesprochen wurde.
- Aus Gründen der Vereinfachung der Realisierung und der Deutlichkeit der Darstellung wird angenommen, daß in einem dem beispielhaften Codiersystem 100 entsprechenden Demultiplexer- und Decodierer-System, wie z.B. dem in Figur 3 gezeigten beispielshaften Demultiplexer und Decodierer 200, jedes von einzelnen codierten Signalen ENCOD (Figur 2) seinen eigenen zugeordneten Decodierer und einen entsprechenden Decodiererzwischenspeicher wie z.B. die Decodierer 208 und die Decodiererzwischenspeicher 205 aufweist. Weiterhin gibt es, wie in Figuren 3 und 4 gezeigt (was ein weiteres beispielhaftes Demultiplexer- und Decodierer-System zeigt), keine Zwischenspeicherung des gemultiplexten Stroms 112 vor seiner Demultiplexierung zurück in jedes von einzelnen codierten Signalen ENCOD, so daß Realisierungen entwickelt werden können, die vollständig unabhängige Decodierer verwenden. Ein Vorteil eines derartigen Systems besteht darin, daß es ein leichtes Vermischen einer beliebigen Anzahl von Video-, Audio- und anderen Arten von Decodierern in flexible Konfigurationen gestattet. Auch kann eine Ratensteuerung für jeden der Codierer 101 bereitgestellt werden, um bei den Zwischenspeichern sowohl des Codierers als auch des Decodierers einen Überlauf und einen Unterlauf zu verhindern.
- Wie in Figur 2 gezeigt wird jeder der einzelnen nichtcodierten Bitströme 111-1 bis 111-N als Eingabe an einen der Codierer 101-1 bis 101-N geliefert. Für das vorliegende Beispiel ist der nichtcodierte Bitstrom 111-1 als Videosignal und der nichtcodierte Bitstrom 111-2 als Audiosignal bezeichnet. Jeder der Codierer 101-1 bis lol-N sind ausgelegt, die in dem einen der einzelnen ihm gelieferten nichtcodierten Bitströme 111 geführte Art von Informationen zu codieren und als Ausgabe eine codierte Darstellung der darin geführten Daten als einen der codierten Bitströme ENCOD-1 bis ENCOD-N zu liefern. Wie gezeigt ist jeder der Codierer 101 einem der Codiererzwischenspeicher 106-1 bis 106-N zugeordnet. Jeder der Codiererzwischenspeicher 106 empfängt den einen der codierten Bitströme ENCOD, der von seinem zugeordneten der Codierer 101 geliefert wurde, als Eingabe und speichert ihn. Die gespeicherten codierten Bitströme ENCOD werden vor der Übertragung durch den Kanal von jedem der Codiererzwischenspeicher 106 auf FIFO-Weise durch einen Multiplex-(MUX)-Koppler 108 an den Multiplexzwischenspeicher 109 geliefert. Der Multiplexzwischenspeicher 109 ist in der Regel viel größer als jeder der Codiererzwischenspeicher 106, da er in der Lage sein muß, Daten zu speichern, die von jedem der Codiererzwischenspeicher 106 geliefert worden sind.
- Wie in Figur 3 gezeigt können die Kosten für einen großen Demultiplexzwischenspeicher vor dem Demultiplexen entfallen, indem unabhängige Decodierer 208 eingesetzt werden, die jeweils ihren eigenen Decodiererzwischenspeichern 205 zugeordnet sind. Wie in Figur 4 gezeigt ist eine noch einfachere Anordnung für einen beispielhaften Demultiplexer und Decodierer möglich, wenn durch den Einsatz von Paketwahleinheiten 301 jeder der Decodierer 308 in der Lage ist, seine eigenen Datenpakete identifiziert und direkt aus dem gemultiplexten Bitstrom 112 ausgeblendet zu bekommen. Ein Vorteil, Konfigurationen wie die in Figuren 3 und 4 gezeigten zu verwenden, besteht darin, daß je nach Bedarf zusätzliche Decodierer hinzugefügt werden können, indem sie einfach in den gemultiplexten Bitstrom 112 oder in die entschachtelten einzelnen codierten ankommenden Datenströme eingeschleift werden.
- Es wird angenommen, daß jeder der einzelnen nichtcodierten Bitströme 111 (Figur 2) aus einer Folge von "Zugangseinheiten" besteht. Beispielsweise könnte eine Videozugangseinheit ein Videorahmen sein, der ein Bild enthält, während eine Audiozugangseinheit ein Block aus digitalisierten Audioabtastwerten sein könnte, wobei dies keine Begrenzung darstellen soll.
- Die Zugangseinheiten von den nichtcodierten Bitströmen 111 werden an die Codierer 101 geliefert, in denen sie codiert und zu einem oder mehreren von "Paketen" von Daten geformt werden, die jedes Signal ENCOD bilden. Zur Verdeutlichung der Darstellung wird im vorliegenden Beispiel angenommen, daß pro Zugangseinheit ein Paket vorliegt. Weitere Ausführungsformen, die im Schutzumfang der Erfindung enthalten sind und bei denen das Verhältnis von Zugangseinheiten zu Paketen nicht Eins beträgt, sind für den Fachmann ohne weiteres offensichtlich. Jedes codierte Paket enthlt eine vorbestimmte Anzahl von Bit, die sich von Paket zu Paket unterscheiden kann. Die Pakete werden als Eingabe an jeden der Codiererzwischenspeicher 106 geliefert.
- Die Start- und Endzeiten jeder Zugangseinheit werden von jedem der Codierer 101 über die Verbindungen 102-1 bis 102-N als Eingabe an jeden der Codiererratensteuerungen 103 geliefert. Analog dazu wird die während der Codierung jeder Zugangseinheit erzeugte Zahl von Bit von jedem der Codierer 101 über die Verbindungen 102-1 bis 102-N als Eingabe an jeden der Codiererratensteuerungen 103 geliefert. Jede der Codiererratensteuerungen 103 überwacht die Start- und Endzeiten jeder Zugangseinheit und die zum Codieren jeder Zugangseinheit erzeugte Zahl von Bit. Auch liefern die Codiererratensteuerungen 103 die Start- und Endzeiten jeder Zugangseinheit und die Zahl erzeugter Bit über die Verbindungen 104-1 bis 104-N an eine Multiplexsystemsteuerung 105. Die Multiplexsystemsteuerung 105 benutzt die Start- und Endzeiten jeder Zugangseinheit und die Zahl der erzeugten Bit auf die unten beschriebene Weise. Die Codiererratensteuerungen 103 überwachen auch die Vollheit der Zwischenspeicher 106 auf unten zu beschreibende Weise, zur Verwendung bei der Steuerung der Bitraten der Signale ENCODE, die als Ausgaben vom Codierer 101 geliefert werden.
- Pakete, die in Codiererzwischenspeichern 106 gespeichert worden sind, werden periodisch, und zwar gemäß eines zu beschreibenden vorbestimmten Systemtaktes, angesammelt, um "Stapel" zu bilden. Dieses Ansammeln wird von der Multiplexsystemsteuerung 105 gesteuert ausgeführt, die über die Verbindung 107 den MUX-Koppler 108 anweist, vorbestimmte Pakete von vorbestimmten der Codiererzwischenspeicher 106 zum Multiplexerzwischenspeicher 109 weiterzuleiten. Es wird angenommen, daß die Übertragung von Paketen von den Codiererzwischenspeichern 106 zum Multiplexzwischenspeicher 109 lediglich einen Bruchteil einer Stapeldauer erfordert, so daß ein nachfolgender Stapel codiert werden kann, ohne daß ein Überlauf des Codiererzwischenspeichers unnötig riskiert wird. Die Stapel, die die angesammelten Pakete umfassen, werden vor ihrer Übertragung zu dem Kanal im Multiplexer zwischenspeicher 109 provisorisch gespeichert.
- Der Systemtakt wird von einem Systemtaktgeber 110 aufrechterhalten, der als Ausgabe einen kontinuierlich steigenden Zeitwert τ liefert. Er wird auf verschiedene Art und Weise, die unten beschrieben sind, verwendet. Zeitwerte, d.h. bestimmte Werte von τ, können auch von dem Multiplexzwischenspeicher 109 periodisch in den gemultiplexten Bitstrom 112 eingeblendet werden. Diese bestimmten Werte von τ können in den gemultiplexten Bitstrom 112 an Stellen eingeblendet werden, die dem jenigen freistehen, der die Erfindung umsetzt. Für das vorliegende Beispiel werden die bestimmten Werte von τ als Teil der Kopfdaten jedes Stapels eingeblendet. Der Grund, weshalb bestimmte Werte von τ in den gemultiplexten Bitstrom 112 eingefügt werden, besteht darin, daß ermöglicht wird, daß ein analoger Systemtaktgeber in dem Demultiplexiersystem, z.B. der Systemtaktgeber 212 (Figur 3), prazise mit dem Systemtaktgeber 110 mitgeführt wird.
- Bei dem beispielhaften Demultiplexier- und Decodier-System 200, wie es in Figur 3 dargestellt ist, werden von der Kopplersteuerung 202 Pakete des Multiplexdatenstroms 112, die vom Kanal ankommen, dahingehend identifiziert, zu welchem Strom sie gehören. Die Pakete werden dann von einem Demultiplexerkoppler 203 zu einem entsprechenden der Decodiererzwischenspeicher 205-1 bis 205-N geschaltet. Durch dieses Schalten wird der Multiplexdatenstrom 112 zurück in seine ursprünglichen getrennten codierten Signale ENCOD entschachtelt, die jeweils Pakete mit codierten Zugangseinheiten umfassen. Der Demultiplexerkoppler 203 wird über die Verbindung 204 von einer Kopplersteuerung 202 gesteuert. Die Pakete bleiben so lange in den Decodiererzwischenspeichern 205, bis ihre jeweiligen Decodierer 208-1 bis 208-N bereit sind, sie zu decodieren. Wie bei dem System von Figur 1 wartet jeder Decodierer nach Ankunft des ersten Informationsbit von Kanalleitung 112 genau LT Sekunden lang, bevor er mit dem Decodieren beginnt. L ist ein Systemparameter, der, wie im Zusammenhang mit Figur 1 erörtert, von dem bestimmt wird, der die Erfindung ausführt, und T ist eine unten beschriebene Stapeldauer.
- Der Systemtaktgeber 212 erzeugt den Takt τ für den Decodierer 200. Taktinformationen, deren Einblendung oben erörtert wurde, kann auch von der Kopplersteuerung 202 aus dem Multiplexdatenstrom 112 ausgeblendet werden. Wenn ein Systemzeitwert, d.h. ein bestimmter Wert von τ, im Multiplexdatenstrom 112 ankommt, wird er von dem Demultiplexerkoppler 203 zum Systemtaktgeber 212 geleitet und zum Rücksetzen des Systemtaktgebers auf den neu angekommenen Wert verwendet. Derartige Taktinformationen können durch die Codierer 101 in die Datenströme eingesetzt werden, um von den Decodierern 208 oder 308 später bei einer weiteren Synchronisierung von Audio-, Video- und anderen Datensignalen verwendet zu werden.
- Beim Demultiplexer und Decodierer 300, eine in Figur 4 gezeigte alternative beispielhafte Ausführungsform, werden von dem Kanal ankommende Pakete des Multiplexdatenstroms 112 parallel an die Paketwähler 301-1 bis 301-N geliefert. Jeder der Paketwähler 301 identifiziert, welche Pakete Teil seines zugeordneten Datenstroms sind. Jedes so identifizierte Paket wird gewählt und an seinen zugeordneten der Decodiererzwischenspeicher 304 geliefert, wo sie gespeichert werden und auf die Decodierung durch einen der Decodierer 308-1 bis 308-N warten. Bei dieser Ausführungsform wird der Systemtakt aus dem Multiplexdatenstrom 112 an jeden der Decodierer 308 geliefert. Jeder der Decodierer 308 unterhält seinen eigenen (nicht gezeigten) unabhängigen Systemzeittaktgeber, der dem Systemtaktgeber 212 gleicht (Figur 3).
- Da die Decodiererzwischenspeicher 205 oder 304 lediglich eine endliche Kapazität aufweisen, ist der Codierer 100 (Figur 2) dafür verantwortlich, sicherzustellen, daß sie weder Überlaufen noch unterlaufen. Wie dies bewerkstelligt wird, geht aus Figur 5 hervor, die ein beispielhaftes Systemtaktdiagramm für den Multiplexiervorgang zeigt. Der Systemtakt τ ist entlang der horizontalen Achse gezeigt. Jeder Stapel ist bezüglich einer "Stapeldauer" T definiert. Stapel i entspricht somit einem Systemtaktintervall von [(i-1)T,iT]. Bei dieser Ausführungsform soll jede Zugangseinheit, die in dem Systemtaktintervall [(i-1)T,iT] stoppt, d.h. deren Empfang durch ihren entsprechenden Codierer 101 beendet wird, in Stapel i eingefügt werden. Für das vorliegende Beispiel wird N als 5 gewählt, so daß fünf nicht codierte Datenströme 111 vorliegen, die, wie gezeigt, mit "a", "b", "c", "d" und "e" bezeichnet sind. Zugangseinheiten von den beispielhaften Strömen "a", "b", "c" und "d" sollen in Stapel i eingefügt werden. Außerdem wird eine Zugangseinheit aus dem Strom "e" gezeigt, die nicht in Stapel i eingefügt werden soll, da sie nicht darin abgeschlossen wurde.
- Es ist für den Fachmann offensichtlich, daß andere Ausführungsformen innerhalb des Schutzumfangs der Erfindung wählen könnten, Zugangseinheiten so zu definieren, daß sie dann zu einem Stapel gehören, wenn die Zugangseinheiten in dem Systemtaktintervall [(i-1)T,iT] beginnen, d.h. beginnen, von ihren entsprechenden Codierern 101 empfangen zu werden, anstatt dort zu stoppen. Bei einer derartigen Ausführungsform können die Enden der Zugangseinheiten durch die Verwendung von geeigneten, vor den Codierern 111 angeordneten Verzögerungseinrichtungen ausgerichtet werden, damit sie der Funktion und der Erörterung von Figur 5 entsprechen. Dies ist für den Fachmann ohne weiteres offensichtlich.
- Der Stapeltakt könnte auch so gewählt werden, daß die Stapelzeit auf einen der Zugangseinheitsströme ausgerichtet ist, d.h. T wäre gleich der Dauer der Zugangseinheit des gewählten Stromes. In Figur 5 ist Strom "a" gewählt, ein "Hauptstrom" zu sein, um einen Stapeltakt festzulegen. Wie gezeigt werden Datenpakete aus den codierten Zugangseinheiten gemultiplext, um eins nach dem anderen übertragen zu werden. Wie aus Figur 5 ersichtlich, findet keine besondere Ausrichtung übertragener Pakete mit dem Stapeltakt statt.
- Zum Systemzeitpunkt τ = (i-1)T sind alle Pakete aus dem Stapel i-1 gemultiplext worden, und wie zu sehen endet ihre Übertragung zu einem späteren Zeitpunkt τbuf. Zum Zeitpunkt (i-1)T werden die Pakete, die auf übertragung warten, im Multiplexerzwischenspeicher 109 (Figur 2) gespeichert. Wenn der Kanal mit einer konstanten Bitrate Rm arbeitet, wird die Zahl von zum Zeitpunkt (i-1)T im Multiplexerzwischenspeicher 109 gespeicherten Bit angegeben durch
- Dieser Wert muß kleiner bleiben als die Größe des Multiplexerzwischenspeichers 109, um einen ZwischenspeicherÜberlauf zu vermeiden. Er muß auch größer als null (0) sein, um einen Unterlauf des Multiplexerzwischenspeichers 109 zu vermeiden.
- Bei der Gesamtverzögerung eines Paketes durch das System, gemessen von dem Zeitpunkt, wenn das Paket als Ausgabe von einem der Codierer 106 geliefert wird, bis zum Zeitpunkt, wenn das Paket als Eingabe an einen der Decodierer 208 (Figur 3) oder 308 (Figur 4) geliefert wird, handelt es sich um eine feste vorbestimmte Konstante τDM = LT, die von demjenigen gewählt wird, der die Erfindung ausführt. Alle Pakete jedes Stroms müssen bis zu dem Zeitpunkt übertragen sein, an dem ihre jeweiligen Decodierer erwarten, sie zu verarbeiten. Ansonsten tritt ein Unterlauf des Decodiererzwischenspeichers auf, d.h. ein Unterlauf desjenigen der Decodiererzwischenspeicher 205 oder 308, für den nicht alle Pakete übertragen wurden
- Wie oben beschrieben enthält jede der Codiererratensteuerungen 103 (Figur 2) eine Liste der Startzeiten für alle nichtgemultiplexten Pakete. Diese Startzeiten werden über die Verbindungen 104 auch an die Multiplexsystemsteuerung 105 geliefert. Der kleinste Wert dieser Startzeiten plus die Systemverzögerung τDM ist der späteste Zeitpunkt, zu dem die Übertragung des nächsten zu multiplexierenden Pakets enden kann. Wenn die Übertragung zu diesem Zeitpunkt nicht beendet ist, besteht die Möglichkeit eines Unterlauf 5 des Decodiererzwischenspeichers. In Figur 5 gehört die kleinste Startzeit aller nichtmultiplexierten Pakete zum Paket Pe(i+1)1 von Strom "e". Diese kleinste Startzeit ist mit τmin bezeichnet. Der Decodierer für den Strom "e" erwartet, das Paket Pe(i+1)1 präzise TDN Sekunden später zum Zeitpunkt τmax = τmin + τDM zu decodieren. Somit müssen das Paket Pe(i+1)1 sowie beliebige zuvor gemultiplexte Pakete vor τmax übertragen sein. Da das Paket Pe(i+1)1 zu dem Stapel i+1 gehört, müssen alle Datenpakete im Stapel i vor τmax übertragen sein.
- Dieses Erfordernis, die Übertragung zu beenden, ist demjenigen gleichwertig, für die Datenmenge, die darauf wartet, gemultiplext zu werden, eine obere Grenze festzulegen, d.h. eine Begrenzung der maximalen Datenmenge, die in jedem der Codiererzwischenspeicher 106 und im Multiplexzwischenspeicher 109 gespeichert werden kann. Die Summe der Vollheitswerte der Codiererzwischenspeicher 106 darf insbesondere
- nicht überschreiten, um in den Decodiererzwischenspeichern 205 (Figur 3) oder 304 (Figur 4) einen Zwischenspeicherunterlauf zu vermeiden.
- Ein Verfahren, um sicherzustellen, daß dieses Zwischenspeichervollheitsniveau nicht überschritten wird, besteht darin, die Gesamtmenge an Zwischenspeicherungskapazität im Codiersystem 100 zu begrenzen. Das heißt, daß ein Unterlauf des Decodiererzwischenspeichers nicht auftreten kann, wenn die kombinierte Kapazität der Codiererzwischenspeicher 106 und des Multiplexerzwischenspeichers 109 unter τDMRm gehalten wird. Wenn allerdings einige der nichtcodierten Bitströme 111 nur sehr sporadisch auftreten und ihre entsprechenden Codiererzwischenspeicher 106 die meiste Zeit über fast leer sind, kann es unwirtschaftlich sein, für die kombinierte Zwischenspeichergröße eine derartige Begrenzung festzulegen. Auch kann bei nichtkonstanter Kanalbitrate eine derartige Begrenzung der Zwischenspeichergröße möglicherweise unprazise und unwirtschaftlich sein. Bei dieser beispielhaften Ausführungsform überwacht somit die Multiplexsystemsteuerung 105, wie unten beschrieben, die Summe der Vollheitswerte der Codiererzwischenspeicher 106 und des Multiplexerzwischenspeichers 109, um sicherzustellen, daß das Niveau der kombinierten Vollheitswerte das von Gleichung (29) vorgeschriebene Niveau nicht überschreitet
- Sobald eine Zugangseinheit stoppt, können ihre Datenpakete durch den MUX-Koppler 108 von einem der Codiererzwischenspeicher 106 zum Multiplexerzwischenspeicher 109 übertragen werden. Wie in Figur 5 gezeigt, ist das erste Paket, das endet, vom Strom "d" und als Pdi1 bezeichnet. Wenn dieses Paket Ndi1 Bit enthält, dann muß nach dem Multiplexen von Pdi1 τbuf wie folgt neu berechnet werden:
- Wenn das so gemultiplexte Paket nach Feststellung durch die Multiplexsystemsteuerung 105 den frühsten Startzeitpunkt τmin der nicht gemultiplexten Pakete aufweist, wird τmin auf den frühsten Startzeitpunkt der verbleibenden nicht gemultiplexten Pakete rückgesetzt und τmax = τmin + τDM. Hierdurch wird ein größerer Wert τmax und im Multiplexerzwischenspeicher 109 zusätzlicher freier Raum geschaffen. In Figur 5 weist das Paket Pdi nicht den frühsten Startzeitpunkt auf, weshalb τmin nicht neu berechnet wird.
- Die Codiererratensteuerungen 103 sind auch dafür verantwortlich, einen Überlauf der Decodiererzwischenspeicher 204 oder 305 zu verhindern.
- Diese Fähigkeit ist wünschenswert, um zu vermeiden, daß übermäßig große Decodiererzwischenspeichergrößen erforderlich sind, was dazu führen würde, daß Zwischenspeichermittel realisiert wird, das niemals verwendet wird. Zu diesem Zweck hält sich jede der Codiererratensteuerungen 103 über die Vollheit ihres entsprechenden Decodiererzwischenspeichers regelmäßig auf dem Laufenden, um zu prüfen, ob ein Überlauf ihres zugeordneten der Decodiererzwischenspeicher 205 (Figur 3) oder 304 (Figur 4) unmittelbar bevorsteht. Was zum Beispiel den Strom "a" betrifft, so endet, wie in Figur 5 gezeigt, die Decodierung des Stapels i zum Systemzeitpunkt (i+L)T oder davor. Darüberhinaus fällt der Zeitpunkt τbuf in den Decodiertakt des Stapels i-2. Die Codiererratensteuerung 103-1 berechnet den Vollheitswert des Decodiererzwischenspeichers 205-1 oder 304-1 zum Systemzeitpunkt τbuf, wie für die Codiererratensteuerung 70 (Figur 1) beschrieben (Gleichung 23). Die Wahrscheinlichkeit für einen Überlauf des Decodiererzwischenspeichers 205-1 oder 304-1 kann daraus bestimmt werden. Bei der vorliegenden Ausführungsform wird bei drohendem Überlauf der Codierer 101-1 lediglich angewiesen, seine Ausgabedatenrate zu verringern.
- Es sind auch andere Handlungen möglich, den Überlauf des Decodiererzwischenspeichers 205-1 bzw. 304-1 zu lindern, und können bei anderen Ausführungsformen eingesetzt werden. So zum Beispiel könnte das aktuelle Paket abgeschlossen und ein neues begonnen werden, mit der Absicht, daß das neue zu einem späteren Zeitpunkt ohne Überlauf gesendet werden kann. Es könnten aber auch Pakete aus anderen Strömen zuerst gemultiplext werden, mit dem Gedanken, daß eine spätere Übertragung ohne Überlauf möglich sein würde. Bei genügend freiem Raum könnten aber auch Stopfbit in den Multiplexerzwischenspeicher 109 gegeben werden, die beim Demultiplexer des Decodierers ignoriert würden und somit dem Decodiererzwischenspeicher mehr Zeit geben, zu leeren.
- In Figur 6 ist eine ausführlichere Ansicht der beispielhaften Codiererratensteuerung 103-1 (Figur 2) gezeigt. Jede der anderen Ratensteuerungen 103 hat einen identischen Aufbau, jedoch ihren zugeordneten Zugangseinheiten entsprechende unterschiedliche Zusätze. Es wird daran erinnert, daß aus Gründen der Klarheit der Darstellung jeder der Codierer 101 pro Zugangseinheit lediglich ein Paket codierter Daten erzeugt. Für den Fachmann ist eine Erweiterung auf Ausführungsformen, bei denen pro Zugangseinheit mehrere Pakete erzeugt werden, offensichtlich.
- Die Signale 501-1 bis 505-5 werden über die Verbindung 102-1 zwischen dem Codierer 101-1 (Figur 2) und der Codiererratensteuerung 103-1 übertragen. Zudem werden die Signale 506-1 bis 510-1, 511, 512-1, 513 und 514 über die Verbindung 104-1 zwischen der Codiererratensteuerung 103-1 und der Multiplexsystemsteuerung 105 übertragen. Der Codierer 101-1 liefert als Ausgabe auf Leitung 501-1 ein Signal, das den Start eines Pakets anzeigt, was wiederum veranlaßt, daß der Startzeit-FIFO 516 von dem Systemtaktgeber 110 als Eingabe den aktuellen Wert von τ empfängt. Analog dazu liefert der Codierer 101-1 als Ausgabe auf Leitung 502-1 ein Signal, das den Stopp eines Pakets anzeigt, was wiederum veranlaßt, daß der Stoppzeit-FIFO 517 vom Systemtaktgeber 110 als Eingabe den aktuellen Wert von τ empfängt. Der Codierer 101-1 liefert als Ausgabe auf Leitung 503-1 eine laufende Zählung der Größe des gegenwärtig codierten Pakets. Zu dem Zeitpunkt, zu dem ein Paket stoppt, wird dieser Wert in einen Paketgrößen-FIFO 518 eingetragen. Die von dem Startzeit-FIFO 516, dem Stoppzeit-FIFO 517 und dem Paketgrößen-FIFO 518 gelieferten Ausgaben, die Paketen entsprechen, die im Codiererzwischenspeicher 106-1 gespeichert worden sind, aber noch nicht gemultiplext worden sind, werden über die Leitungen 506-1, 507-1 bzw. 509-1 an die Multiplexsystemsteuerung 105 gesandt.
- Der Codierer 101-1 hat die Wahl, für Pakete, die er in nächster Zukunft erzeugen wird, Platz zu reservieren. Diese Fähigkeit ist für diskontinuierliche Ursprünge wichtig, die in der Regel sehr wenig Informationen erzeugen, gelegentlich aber eine bedeutende Menge erzeugen können. Die Größen erwarteter zukünftiger Pakete werden als Eingabe vom Codierer 101-1 auf Leitung 504-1 empfangen und über Leitung 510-1 an die Multiplexsystemsteuerung 105 weitergegeben.
- Während jedes Paket gemultiplext wird, bewirkt ein Signal NÄCHSTES PAKET von der Multiplexsystem- Steuerung 105 auf Leitung 508-1, daß sowohl der Startzeit-FIFO 516, der Stoppzeit-FIFO 517 und der Paketgrößen-FIFO 518 der Multiplexsystemsteuerung 105 gegebenenfalls ihren nächsten gespeicherten Wert angeben. Falls der Startzeit-FIFO 516 oder der Stoppzeit-FIFO 517 leer sind, wird eine Null-Ausgabe so lange angegeben, bis sie nicht länger leer sind. Falls der Paketgrößen-FIFO 518 leer ist, so wird das, was er als Eingabe erhält, direkt durchgeführt und als Ausgabe geliefert, damit die Multiplexsystemsteuerung 105 die laufende Zählung der Paketgröße empfangen kann.
- Jede neue Paketgröße von dem Paketgrößen-FIFO 518 wird als Eingabe auch an einen Sammelspeicher 519 geliefert, der die akkumulierte Summe der Werte, die er als Eingaben empfangen hat, berechnet. Die neuen Paketgrößen vom Paketgrößen-FIFO 518 werden als Eingabe auch an den Decodiererzwischenspeicherzähler 521 geliefert, der seinen Zählwert um den Wert der Paketgröße jedes Paketes inkrementiert. Der Sammeispeicher 519 summiert die Zahl von Bit in dem gegenwärtigen Stapel für seinen zugeordne ten Strom, beim vorliegenden Beispiel Strom 111-1. Am Ende jedes Stapels wird von der Multiplexsystemsteuerung 105 auf Leitung 513 ein Signal CODIERERSTAPEL geliefert. Dies bewirkt, daß die akkumulierte Zahl von Bit in dem gegenwärtigen Stapel vom Sammelspeicher 519 als Ausgabe geliefert und als Eingabe von einem Stapelgrößen-FIFO 520 empfangen wird, der die Anzahl von Bit speichert, aus denen vorausgegangene Stapel bestanden. Das Signal ENCODER PACK bewirkt auch, daß der Sammelspeicher 519 sich selber auf einen Wert von null (0) löscht.
- Der Decodiererzwischenspeicherzähler 521 zählt die Zahl von Bit, die in einem entsprechenden Decodiererzwischenspeicher, z.B. dem Decodiererzwischenspeicher 205-1 (Figur 3) zum Zeitpunkt τbuf gespeichert werden (siehe Figur 5). Während zusätzliche Pakete gemultiplext werden, wird der Zähler 521 um die Größe jedes Pakets inkrementiert, um seine Übertragung als Multiplexbitstrom 112 vom Multiplexzwischenspeicher 109 über den Kanal zum Decodiererzwischenspeicher 205-1 widerzuspiegeln. Des weiteren wird τbuf inkrementiert, um die Übertragungszeiten der Pakete gemäß Gleichung (30) widerzuspiegeln.
- Wie in Figur 5 gezeigt, überquert τbuf periodisch die Grenze eines decodierten Stapels, wodurch angezeigt wird, daß ein weiterer Stapel aus dem Decodiererzwischenspeicher 205-1 (Figur 3) oder 308 (Figur 4) (je nach dem, welches System realisiert worden ist) ausgelesen worden ist und in den Decodierer 208-1 bzw. Decodierer 308-1 eingelesen worden ist. Zu einem derartigen Zeitpunkt erzeugt die Multiplexsystemsteuerung 105 (Figur 2) ein Signal CODIERERSTAPEL, das als Eingabe auf einer Codiererratensteuerleitung 514 geliefert wird. Dieses Signal bewirkt, daß eine der Größe des decodierten Stapels gleiche Zahl von Bit als Ausgabe von dem Stapelgrößen-FIFO 520 geliefert wird. Auch der Decodiererzwischenspeicherzähler 521 wird um die gleiche Zahl dekrementiert, womit das Verhalten des Decodiererzwischenspeichers 205-1 für den schlimmsten Fall verfolgt wird. Der wirkliche Vollheitswert des Decodiererzwischenspeichers ist kleiner als der von dem Decodiererzwischenspeicherzähler 521 berechnete, da typische Decodierer üblicherweise am Ende eines Stapels die Bit nicht alle auf einmal aus ihrem zugeordneten Decodiererzwischenspeicher ausblenden.
- Der Zählwert von dem Decodiererzwischenspeicherzähler 521 wird an eine Schwellwerterfassungseinrichtung 522 geliefert, die prüft, um zu bestimmen, ob ein Überlauf des Decodiererzwischenspeichers unmittelbar bevorsteht. Dies geschieht, indem bestimmt wird, ob der Vollheitswert des Decodiererzwischenspeichers von dem Decodiererzwischenspeicherzähler 521 einen vorbestimmten Schwellwert übersteigt. Dieser vorbestimmte Schwellwert ist auf einen bestimmten Anteil der Zwischenspeichergesamtkapazität voreingestellt. Ein empfohlener Schwellwert liegt bei 95% der Größe des Decodiererzwischenspeichers, allerdings kann dieser Schwellwert von demjenigen bestimmt werden, der die Erfindung ausführt. Wenn in der vorliegenden beispielhaften Ausführungsform ein Überlauf des Decodiererzwischenspeichers unmittelbar bevorsteht, wird ein Signal über das ODER-Gatter 524 und Leitung 505-1 an den Codierer 101-1 gesandt, das den Codierer 101-1 anweist, die Rate, mit der er Bit erzeugt, zu verringern. Allerdings können, wie oben beschrieben, auch andere Alternativen realisiert werden, um einen Überlauf des Decodiererzwischenspeichers zu bewältigen.
- Eine Anzeige über die Vollheit des Codiererzwischenspeichers 106-1, die als Eingabe auf Leitung 115-1 empfangen wird, wird über Leitung 512 an die Multiplexsystemsteuerung 105 sowie auch an den Schwellwertdetektor 523 geliefert. Wenn der Überlauf des Codiererzwischenspeichers 106-1 unmittelbar bevorsteht, wird ein Signal von dem Schwellwertdetektor 523 über das ODER-Gatter 524 und Leitung 505 an den Codierer 101-1 geliefert, das den Codierer 101-1 anweist, die Rate, mit der er Bit erzeugt, zu verringern.
- Wenn die Multiplexsystemsteuerung 105 feststellt, daß die Übertragungskapazität des Kanals 112 aus unten zu beschreibenden Gründen begrenzt ist, wird über Leitung 511 ein Signal geliefert, das wiederum über das ODER-Gatter 524 und Leitung 505-1 an den Codierer 101-1 geliefert wird und den Codierer 101-1 anweist, die Rate, mit der er Bit erzeugt, zu verringern.
- Figur 7 zeigt in vereinfachter Form eines Blockschaltbildes eine ausführliche Ansicht der Multiplexsystemsteuerung 105 (Figur 2). Der Stapelzähler 615 bestimmt, welcher Stapel gemultiplext wird und liefert als Ausgabe seine Zahl i, bei der es sich lediglich um den auf die nächste ganze Zahl aufgerundeten Wert von τ/T handelt. Immer dann, wenn i seinen Wert ändert und dadurch einen neuen Stapel anzeigt, liefert der Stapelzähler 615 als Ausgabe auf Leitung 513 auch ein Signal CODIERERSTAPEL, das an alle Codiererratensteuerungen 103 gesendet wird.
- Die Paketstoppzeiten und die Paketgrößen, wie oben beschrieben, werden von jeder der Codiererratensteuerungen 103 an die Multiplexersystemsteuerung 105 geliefert und über die Leitungen 507 bzw. 509 empfangen. Sobald auf einer der Leitungen 507 eine Paketstoppzeit ankommt, die innerhalb der Stapeldauer [(i-1)T,iT] liegt, wird dieses Paket und sein zugeordneter Strom für das Multiplexen ausgewählt. Eine Kennzeichnung des zugeordneten Stroms wird dann von der Paketauswahleinrichtung 612 als Eingabe an die Kopplersteuerung 613 geliefert, die auch die entsprechende Paketgröße liest, die als Eingabe auf einer der Leitungen 509 empfangen worden ist. Die Stromkennzeichnung und die Paketgröße werden dann über die Verbindung 107 an den MUX-Koppler 108 geliefert, wodurch der MUK-Koppler 108 in der Lage ist, sich selbst korrekt zu positionieren und die richtige Zahl von Bit von dem entsprechenden der Codiererzwischenspeicher 106 zu dem Multiplexzwischenspeicher 109 weiterzuleiten. Die Paketwahleinrichtung 612 überträgt danach ein Signal NÄCHSTES PAKET über eine der Leitungen 508 an den oben gekennzeichneten der Codiererratensteuerungen 103.
- Dadurch wird bewirkt, daß Parameter für ein neues Paket von der gekennzeichneten der Codiererratensteuerungen 103 geliefert werden.
- Paketstartzeiten, die wie oben beschrieben bestimmt worden sind, werden von jeder der Codiererratensteuerungen 103 über Leitungen 506 geliefert. Der kleinste Wert τmin der empfangenen Paketstartzeiten wird durch die Finde-Minimum-Schaltung 619 gefunden, und dieser kleinste Wert wird an das Berechne-τmax-Modul 616 geliefert. Außerdem überträgt jede der Codiererratensteuerungen 103, wie oben beschrieben, ihre RESERVIERUNGSANFORDERUNGEN an die Multiplexsystemsteuerung 105. Die RESERVIERUNGSANFORDERUNGEN werden als Eingaben über Leitungen 504 von dem Berechne-τmax-Modul 616 empfangen.
- Das Berechne-τmax-Modul 616 addiert die in Bit angegebenen Werte der in jeder der Reservierungsanforderungen angeforderten Bitraten und dividiert dann den Gesamtwert durch die Kanalbitrate Ri, um die Gesamtbit ratenanforderung in einen Zeitwert τres umzuwandeln. Der Wert τmax wird dann, wie in Figur 5 gezeigt, berechnet durch:
- Eine Anzeige über die Vollheit des Multiplexzwischenspeichers 109 wird über Leitung 114 (Figur 2) empfangen und vom Dividierer 620 durch die Kanalbitrate Rm dividiert, um die Vollheitsanzeige in einen gleichwertigen Zeitwert τbuf umzuwandeln. τbuf ist somit die Zeit, die benötigt werden wird, um die im Multiplexzwischenspeicher 109 gespeicherten Bit zu übertragen. τbuf wird dann an ein Erzeuge-Decodierer-Stapelsignal-Modul 614 und an ein Berechne-Verfügbare-Kapazität-Modul 617 geliefert.
- Die in Bit angegebenen Werte der Vollheitsanzeigen der Codiererzwischenspeicher 106 werden über Leitungen 512 an die Multiplexsystemsteuerung 105 geliefert und von einem Addierer 620 zusammengerechnet, der ihre summe SUM.encbuf an das Berechne-Verfügbare-Kapazität-Modul 617 liefert. Die in Bit angegebene verfügbare Kapazität wird in dem Berechne-Verfügbare-Kapazität-Modul 617 bestimmt durch
- Bei einigen Realisierungen kann einer der Codie rerzwischenspeicher 106 größer ausgeführt werden als hier beschrieben, um eine gewünschte Verzögerung hinzuzufügen. Beispielsweise müßte eine Audiozugangseinheit vor ihrer Codierung in der Regel beträchtlich verzögert werden, um, wie oben beschrieben, zu ihrer entsprechenden Videozugangseinheit zu passen. Unter derartigen Umständen ist es möglicherweise wirtschaftlicher, das codierte komprimierte Audiosignal zu verzögern, indem ihm ein größerer der Codiererzwischenspeicher 106 bereitgestellt wird. Eine Nebenwirkung davon besteht darin, daß die resultierende Codiererzwischenspeichervollheit viel größer ist, als dies ansonsten der Fall wäre. Bei einer derartigen Ausführungsform können die Werte der Vollheitsanzeigen der Codiererzwischenspeicher 106 von den Leitungen 115 oder 512 somit durch den entsprechenden Wert der Paketgröße von der entsprechenden der Codiererratensteuerungen 103 ersetzt werden, die als Eingaben iher eine der Leitungen 509 empfangen werden. In der Tat wird das Ersetzen aller von den Leitungen 512 empfangenen Werte der Vollheitsanzeigen der Codiererzwischenspeicher 106 durch ihre entsprechenden Paketgrßen auf Leitung 509 sich kaum auf die Leistungsfähigkeit des Codierersystems 100 auswirken.
- Cavail wird an den Schwellwertdetektor 618 geliefert, der prüft, um zu bestimmen, ob die verfügbare Kapazität zu niedrig ist, durch die Bestimmung, ob die verfügbare Kapazität unterhalb eines vorbestimmten Schwellwertes liegt, der auf einen gewissen Bruchteil, z.B. 5% des Maximums τDMRm eingestellt ist. Falls dies der Fall ist, wird über Leitung 606 ein Signal BITRATE VERRINGERN an alle Codiererratensteuerungen 103 übertragen, um sie anzuweisen, die Raten ihrer erzeugten Bit zu senken.
- Das Erzeuge-Decodierer-Stapelsignal-Modul 614 liefert über Leitung 514 immer dann ein Signal DECODIERERSTAPEL an alle Codiererratensteuerungen 103, wenn, wie oben beschrieben, τbuf eine Grenze des decodierten Stapels überquert. Die Grenze des Decodiererstapels ist die Decodiererversion des Endes der Stapeldauer. Es ist dies der späteste Zeitpunkt, zu dem ein beliebiges Paket des Stapels von seinem jeweiligen Decodierer decodiert wird, und er kann somit von dem Decodiererzwischenspeicherzähler 521 in Figur 6 dazu verwendet werden, eine obere Grenze der Vollheit des Decodiererzwischenspeichers zu berechnen. Die Zahl j des decodierten Stapels ist lediglich der auf die nächste ganze Zahl aufgerundete Wert von τbuf/T. Immer dann, wenn j seinen Wert verändert, was anzeigt, daß ein neuer decodierter Stapel aus den Decodiererzwischenspeichern genommen worden ist, wird ein Signal DECODIERERSTAPEL erzeugt.
- Die oben beschriebene Ausführungsform nimmt an, daß der Multiplexzwischenspeicher 109 im Vergleich zu jedem der Codiererzwischenspeicher 106, die in der Regel lediglich einen Stapel von einem Strom halten, groß ist, z.B. in der Lag. ist, L Pakete von allen Strömen zu halten. Eine derartige grundlegende Multiplexiermethodik ist allerdings auch für andere Anordnungen gültig, einschließlich großer Codiererzwischenspeicher 103 und eines kleinen oder nicht existenten Multiplexierzwischenspeichers 109. Bei einer derartigen Anordnung weist die Ausgabe des MUX-Kopplers 108 eine begrenzte Bandbreite auf und kann die Codiererzwischenspeicher 106 nicht in einer Zeit leeren, die unter der Dauer des Stapels liegt, was bisher angenommen wurde. Die Codiererzwischenspeicher 106 halten somit nicht nur Pakete, die nicht gemultiplext worden sind, sondern auch Pakete, die gemultiplext worden sind und auf die Übertragung warten. Dies impliziert, daß Multiplexanforderungen von einer Multiplexsystemsteuerung 105 an den Multiplexkoppler 108 durch den Multiplexkoppler 108 in eine Warteschlange eingereiht werden müssen. Darüberhinaus müssen Vollheitsanzeigen des Multiplexzwischenspeichers 109 durch eine Summe der Paketgrößen in der Warteschlange ersetzt werden. Da die Codiererzwischenspeicher 106 bei einer derartigen Ausführungsform außerdem nicht nur nichtmultiplexte Pakete halten, sollten die (wie in Figur 7 gezeigt) über Leitungen 512 empfangenen Vollheitswerte des Codiererzwischenspeichers durch die gleichen Paketgrößen ersetzt werden, wie sie über Leitungen 509 empfangen werden.
- Es wird darauf hingewiesen, daß Videosignale hier auf beispielhafte Weise verwendet worden sind und daß der Schutzumfang der Erfindung nicht erfordert, daß es sich bei mindestens einem der Signale, die codiert und über den Kanal mit variabler Bitrate übertragen werden, tatsächlich um Videosignale handelt. Jedes beliebige Signal, das in Einheiten unterteilt werden und codiert werden kann, kann innerhalb des Schutzumfangs der Erfindung verwendet werden.
Claims (5)
1. Verfahren zum Steuern mindestens eines Codierers
(10) mit variabler Rate, der ein Signal (VIDIN) als
Eingabe erhält und ausgelegt ist, eine mit variabler
Bitrate codierte Version des Signals als Ausgabe über
einen Codiererzwischenspeicher (20) an einen Kanal (30)
mit einer variablen Übertragungsrate für die codierte
Ausgabe zu liefern, wobei der Kanal die codierte Version
des Signals über mindestens einen Decodiererzwischenspeicher
(40) zu mindestens einem Decodierer (50) transportiert,
wobei das Verfahren folgende Schritte umfaßt:
Überwachen einer Vollheitsanzeige des mindestens
einen Codiererzwischenspeichers;
Anfordern einer gegenwärtigen
Übertragungskapazität bei dem Kanal;
wobei das Verfahren gekennzeichnet ist durch:
das Überwachen einer Vollheitsanzeige des
mindestens einen Decodiererzwischenspeichers;
das Entwickeln von Schätzungen für mehrere
zukünftige Übertragungskapazitäten für den Kanal;
das Durchführen einer Bestimmung hinsichtlich
einer von dem Kanal als Reaktion auf die Anforderung zur
Verfügung gestellten tatsächlichen Übertragungskapazität;
und
das Entwickeln mindestens eines Steuersignals als
Reaktion auf die Schätzungen von zukünftigen
übertragungsraten, die Anforderung, die Vollheitsanzeige des
mindestens einen Codiererzwischenspeichers und die
Vollheitsanzeige des mindestens einen Decodiererzwischen
speichers, so daß die variable Bitrate der von dem
mindestens einen Codierer mit variabler Bitrate
gelieferten codierten Version des Signals derart gesteuert wird,
daß Überlauf oder Unterlauf von mindestens einem
Codiererzwischenspeicher und mindestens einem
Decodiererzwischenspeicher vermieden wird.
2. Verfahren nach Anspruch 1, wobei das mindestens
eine Steuersignal mindestens einen Bereich annehmbarer
Bitraten festlegt, die von dem mindesten einen Codierer
mit variabler Rate geliefert werden können.
3. Vorrichtung in einer Codierereinheit (15) zum
Codieren eines ursprünglichen Videosignals (VIDIN) mit
Rahmen, wobei jeder Rahmen mindestens eine
Buddarstellung enthält, und zum Liefern einer codierten Version des
ursprünglichen Videosignals mit codierten Rahmen, die
mindestens eine codierte Bilddarstellung enthalten, als
Ausgabe zur Übertragung an einen Kanal (30) mit variabler
Bitrate, wobei der Kanal mit variabler Bitrate ausgelegt
ist, die codierte Version des ursprünglichen Videosignals
an eine abgesetzte Decodierereinheit (45) mit mindestens
einem Decodiererzwischenspeicher (40) zum Speichern der
codierten Version des ursprünglichen Videosignals und
mindestens einem Videodecodierer (50) zum Erzeugen einer
rekonstruierten Version des ursprünglichen Videosignals
zu liefern, wobei die Vorrichtung folgendes umfaßt:
Mittel zum Codieren (10) jedes der Rahmen des
ursprünglichen Videosignals in eine erste codierte
Version, in der jeder Rahmen des ursprünglichen
Videosignals durch eine Mehrzahl von Bit dargestellt wird, wobei
die tatsächliche Anzahl der Bit für jeden Rahmen
innerhalb eines vorbestimmten Bereiches liegt, wobei jeder der
ersten codierten Rahmen als Ausgabe als eine erste
codierte Version des ursprünglichen Videosignals
geliefert wird;
Codiererzwischenspeichermittel (20) zumspeichern
der ersten codierten Version des ursprünglichen
Videosignals und zum Liefern jedes Rahmens der ersten
codierten Version des ursprünglichen Videosignals als Ausgabe;
Mittel zum Bestimmen einer Vollheitsanzeige des
mindestens einen Codiererzwischenspeichermittels (20);
und
Mittel zum Erzeugen von Bitratenanforderungen
(60) für einen an den Kanal zu liefernden aktuellen
Rahmen; gekennzeichnet durch
Mittel zum Schätzen einer Vollheitsanzeige des
mindestens einen Decodiererzwischenspeichers (40);
Mittel zum Erzeugen eines zweiten codierten
Rahmens (80) für jeden Rahmen der ersten codierten
Version des ursprünglichen Videosignals, indem eine
vorbestimmte Anzahl von Bit daraus entfernt wird, und
Liefern der zweiten codierten Version jedes Rahmens des
ursprünglichen Videosignals als codierte Version des
ursprünglichen Videosignals mit codierten Rahmen zur
Übertragung;
Mittel zum Erzeugen einer Menge von geschätzten
übertragungsraten (60), von denen erwartet wird, daß sie
von dem Kanal für eine vorbestimmte Anzahl von
zukünftigen Rahmen der codierten Version des ursprünglichen
Videosignals geliefert werden; und
Mittel, die auf eine tatsächliche Anzahl von Bit
innerhalb mindestens eines Rahmens der ersten codierten
Version des ursprünglichen Videosignals, die Menge von
geschätzten Übertragungsraten, die Vollheitsanzeige des
mindestens einen Codiererzwischenspeichermittels (20) und
die Vollheitsanzeige des mindestens einen
Decodiererzwischenspeichers (40) reagieren, um den Bereich (70)
derart zu entwickeln, daß Überlauf oder Unterlauf des
Codiererzwischenspeichermittels und des mindestens einen
Decodiererzwischenspeichers vermieden wird.
4. Vorrichtung nach Anspruch 3, wobei das Mittel zum
Anfordern einer Übertragungsrate von dem Kanal zum
Übertragen eines aktuellen Rahmens auf die tatsächliche
Anzahl von Bit innerhalb mindestens eines Rahmens der
ersten codierten Version des ursprünglichen Videosignals
und auf mindestens eine, von dem Kanal gewährte
Übertragungsrate reagiert
5. Vorrichtung nach Anspruch 3, wobei das Mittel zum
Erzeugen der Menge von geschätzten Übertragungsraten auf
die tatsächliche Anzahl von Bit innerhalb mindestens
eines Rahmens der ersten codierten Version des
ursprünglichen Videosignals und auf mindestens eine, von dem
Kanal gewährte Übertragungsrate reagiert.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/704,551 US5159447A (en) | 1991-05-23 | 1991-05-23 | Buffer control for variable bit-rate channel |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69221028D1 DE69221028D1 (de) | 1997-09-04 |
DE69221028T2 true DE69221028T2 (de) | 1997-11-13 |
Family
ID=24829971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69221028T Expired - Lifetime DE69221028T2 (de) | 1991-05-23 | 1992-05-14 | Puffersteuerung für einen Kanal mit variabler Bitrate |
Country Status (5)
Country | Link |
---|---|
US (1) | US5159447A (de) |
EP (1) | EP0515101B1 (de) |
JP (1) | JP2648418B2 (de) |
KR (1) | KR950005618B1 (de) |
DE (1) | DE69221028T2 (de) |
Families Citing this family (171)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2274041B (en) * | 1990-01-19 | 1994-09-14 | British Broadcasting Corp | Buffer regulation |
GB9022326D0 (en) * | 1990-10-15 | 1990-11-28 | British Telecomm | Signal coding |
ES2038897B1 (es) * | 1991-06-07 | 1995-10-16 | Alcatel Espacio Sa | Metodo y dispositivo de regulacion de velocidad de salida de datos para compresores de imagenes con velocidad de salida variable. |
EP0529154B1 (de) * | 1991-08-28 | 1997-03-26 | ALCATEL BELL Naamloze Vennootschap | Kodieranordnung |
US6041144A (en) * | 1991-09-17 | 2000-03-21 | Canon Kabushiki Kaisha | Image processing apparatus |
US6167539A (en) * | 1991-11-14 | 2000-12-26 | Canon Kabushiki Kaisha | Transmitting apparatus with code formation based on detected transmission channel data |
JP3241778B2 (ja) * | 1991-12-24 | 2001-12-25 | ソニー株式会社 | 符号化装置 |
US5216503A (en) * | 1991-12-24 | 1993-06-01 | General Instrument Corporation | Statistical multiplexer for a multichannel image compression system |
WO1993015571A1 (en) * | 1992-01-29 | 1993-08-05 | Bell Communications Research, Inc. | Smoothing delay-sensitive traffic offered to atm networks |
US5287182A (en) * | 1992-07-02 | 1994-02-15 | At&T Bell Laboratories | Timing recovery for variable bit-rate video on asynchronous transfer mode (ATM) networks |
US5412782A (en) | 1992-07-02 | 1995-05-02 | 3Com Corporation | Programmed I/O ethernet adapter with early interrupts for accelerating data transfer |
JP2871316B2 (ja) * | 1992-07-10 | 1999-03-17 | 日本ビクター株式会社 | 動画像符号化装置 |
EP0959629A3 (de) * | 1992-10-28 | 2003-01-02 | Victor Company Of Japan, Limited | Wiedergabegerät mit variabler Übertragungsrate |
US5317603A (en) * | 1992-12-30 | 1994-05-31 | Gte Government Systems Corporation | Isochronous interface apparatus |
US5317604A (en) * | 1992-12-30 | 1994-05-31 | Gte Government Systems Corporation | Isochronous interface method |
US5426463A (en) * | 1993-02-22 | 1995-06-20 | Rca Thomson Licensing Corporation | Apparatus for controlling quantizing in a video signal compressor |
AU5632394A (en) * | 1993-03-05 | 1994-09-08 | Sony Corporation | Apparatus and method for reproducing a prediction-encoded video signal |
US5511054A (en) * | 1993-03-31 | 1996-04-23 | Sony Corporation | Apparatus and method for multiplexing encoded data signals and recording medium having multiplexed signals recorded thereon |
US5410355A (en) * | 1993-04-02 | 1995-04-25 | Rca Thomson Licensing Corporation | Video signal processor including input codeword buffer for providing stored codewords to codeword priority analysis circuit |
KR100289854B1 (ko) * | 1993-06-08 | 2001-05-15 | 이데이 노부유끼 | 인코딩 장치 및 방법 |
US5461619A (en) * | 1993-07-06 | 1995-10-24 | Zenith Electronics Corp. | System for multiplexed transmission of compressed video and auxiliary data |
US5644506A (en) * | 1993-07-12 | 1997-07-01 | Sony Corporation | Picture signal reproducing method and picture signal reproducing apparatus |
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. |
US5463422A (en) * | 1993-10-13 | 1995-10-31 | Auravision Corporation | Data processing technique for limiting the bandwidth of data to be stored in a buffer |
US5452235A (en) * | 1993-11-01 | 1995-09-19 | Intel Corp. | Planar/packed video data FIFO memory device |
JP2658832B2 (ja) * | 1993-11-12 | 1997-09-30 | 日本電気株式会社 | 動画像復号制御装置 |
US5847765A (en) * | 1993-11-12 | 1998-12-08 | Nec Corporation | Moving picture decoding control system |
JPH07202820A (ja) * | 1993-12-28 | 1995-08-04 | Matsushita Electric Ind Co Ltd | ビットレート制御システム |
KR960008470B1 (en) * | 1994-01-18 | 1996-06-26 | Daewoo Electronics Co Ltd | Apparatus for transferring bit stream data adaptively in the moving picture |
US5592226A (en) * | 1994-01-26 | 1997-01-07 | Btg Usa Inc. | Method and apparatus for video data compression using temporally adaptive motion interpolation |
CN1129263C (zh) * | 1994-02-17 | 2003-11-26 | 摩托罗拉公司 | 分组编码信号的方法和装置 |
CA2140850C (en) * | 1994-02-24 | 1999-09-21 | Howard Paul Katseff | Networked system for display of multimedia presentations |
US5563961A (en) * | 1994-03-03 | 1996-10-08 | Radius Inc. | Video data compression method and system which measures compressed data storage time to optimize compression rate |
US5566208A (en) * | 1994-03-17 | 1996-10-15 | Philips Electronics North America Corp. | Encoder buffer having an effective size which varies automatically with the channel bit-rate |
JP3102260B2 (ja) * | 1994-03-31 | 2000-10-23 | 日本ビクター株式会社 | 動画像符号化装置 |
US5512939A (en) * | 1994-04-06 | 1996-04-30 | At&T Corp. | Low bit rate audio-visual communication system having integrated perceptual speech and video coding |
JPH07284096A (ja) * | 1994-04-06 | 1995-10-27 | Nec Corp | 多チャンネル画像伝送装置 |
US5566174A (en) * | 1994-04-08 | 1996-10-15 | Philips Electronics North America Corporation | MPEG information signal conversion system |
US5534937A (en) * | 1994-04-14 | 1996-07-09 | Motorola, Inc. | Minimum-delay jitter smoothing device and method for packet video communications |
US5506844A (en) * | 1994-05-20 | 1996-04-09 | Compression Labs, Inc. | Method for configuring a statistical multiplexer to dynamically allocate communication channel bandwidth |
CA2146801C (en) * | 1994-05-27 | 1999-11-02 | Barin Geoffry Haskell | Timing recovery for variable bit-rate video on asynchronous transfer mode (atm) networks |
US5734432A (en) * | 1994-07-15 | 1998-03-31 | Lucent Technologies, Inc. | Method of incorporating a variable rate auxiliary data stream with a variable rate primary data stream |
US5761223A (en) * | 1994-07-21 | 1998-06-02 | Matsushita Electric Industrial Co., Ltd. | Error correcting device |
JP2935334B2 (ja) * | 1994-07-28 | 1999-08-16 | 日本電気株式会社 | 符号量制御方法 |
JPH0845193A (ja) * | 1994-07-29 | 1996-02-16 | Pioneer Video Corp | 記録ディスク及び記録情報再生装置 |
IT1266945B1 (it) * | 1994-09-29 | 1997-01-21 | Cselt Centro Studi Lab Telecom | Procedimento di multiplazione per flussi di segnali audiovisivi codificati secondo lo standard mpeg1. |
EP2190207A1 (de) * | 1994-10-21 | 2010-05-26 | AT&T Corporation | Verfahren zur Videopufferüberprüfung |
CA2157066C (en) * | 1994-10-21 | 1999-09-21 | Nelson Botsford Iii | Method for controlling a compressed data buffer |
JP3058028B2 (ja) * | 1994-10-31 | 2000-07-04 | 三菱電機株式会社 | 画像符号化データ再符号化装置 |
US5687095A (en) * | 1994-11-01 | 1997-11-11 | Lucent Technologies Inc. | Video transmission rate matching for multimedia communication systems |
US5629736A (en) * | 1994-11-01 | 1997-05-13 | Lucent Technologies Inc. | Coded domain picture composition for multimedia communications systems |
US5754241A (en) * | 1994-11-18 | 1998-05-19 | Sanyo Electric Co., Ltd | Video decoder capable of controlling encoded video data |
EP0753235B1 (de) * | 1994-12-28 | 2000-07-12 | Koninklijke Philips Electronics N.V. | Pufferverwaltung in kompressionssystemen mit variabler bitrate |
US5543853A (en) * | 1995-01-19 | 1996-08-06 | At&T Corp. | Encoder/decoder buffer control for variable bit-rate channel |
US5835711A (en) * | 1995-02-01 | 1998-11-10 | International Business Machines Corporation | Method and system for implementing multiple leaky bucket checkers using a hybrid synchronous/asynchronous update mechanism |
US5619341A (en) * | 1995-02-23 | 1997-04-08 | Motorola, Inc. | Method and apparatus for preventing overflow and underflow of an encoder buffer in a video compression system |
US5677969A (en) * | 1995-02-23 | 1997-10-14 | Motorola, Inc. | Method, rate controller, and system for preventing overflow and underflow of a decoder buffer in a video compression system |
US5754866A (en) * | 1995-05-08 | 1998-05-19 | Nvidia Corporation | Delayed interrupts with a FIFO in an improved input/output architecture |
US5734843A (en) * | 1995-06-07 | 1998-03-31 | Advanced Micro Devices Inc. | Reverse data channel as a bandwidth modulator |
FR2736743B1 (fr) * | 1995-07-10 | 1997-09-12 | France Telecom | Procede de controle de debit de sortie d'un codeur de donnees numeriques representatives de sequences d'images |
JP2924739B2 (ja) * | 1995-10-30 | 1999-07-26 | 日本電気株式会社 | 動画像データの復号方式 |
US6075768A (en) * | 1995-11-09 | 2000-06-13 | At&T Corporation | Fair bandwidth sharing for video traffic sources using distributed feedback control |
GB2307151A (en) * | 1995-11-10 | 1997-05-14 | British Broadcasting Corp | Digital coding of video signals |
US5956088A (en) * | 1995-11-21 | 1999-09-21 | Imedia Corporation | Method and apparatus for modifying encoded digital video for improved channel utilization |
US5862140A (en) * | 1995-11-21 | 1999-01-19 | Imedia Corporation | Method and apparatus for multiplexing video programs for improved channel utilization |
US5686964A (en) * | 1995-12-04 | 1997-11-11 | Tabatabai; Ali | Bit rate control mechanism for digital image and video data compression |
US5859980A (en) * | 1996-02-08 | 1999-01-12 | Advanced Micro Devices, Inc. | Network interface having adaptive transmit start point for each packet to avoid transmit underflow |
EP0826289B1 (de) | 1996-03-19 | 2002-10-16 | Sony Corporation | Vorrichtung zur datenmultiplexierung |
FR2748623B1 (fr) | 1996-05-09 | 1998-11-27 | Thomson Multimedia Sa | Encodeur a debit variable |
US5760836A (en) * | 1996-08-22 | 1998-06-02 | International Business Machines Corporation | FIFO feedback and control for digital video encoder |
KR100553462B1 (ko) * | 1996-08-30 | 2006-10-11 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 비디오전송시스템및비디오전송방법 |
EP0931418A2 (de) * | 1996-10-08 | 1999-07-28 | Tiernan Communications Incorporated | Vorrichtung und verfahren zur mehrdienst-transportmultiplexierung |
US6243417B1 (en) * | 1996-12-12 | 2001-06-05 | Sony Corporation | Device and method for encoding image data, and image data transmission method |
EP0888009B1 (de) * | 1996-12-12 | 2006-02-22 | Sony Corporation | Vorrichtung und verfahren zur kodierung von bilddaten sowie verfahren zur bilddatenübertragung |
JPH10208393A (ja) * | 1997-01-27 | 1998-08-07 | Sony Corp | ディジタル信号符号化方法及び装置 |
US6052384A (en) * | 1997-03-21 | 2000-04-18 | Scientific-Atlanta, Inc. | Using a receiver model to multiplex variable-rate bit streams having timing constraints |
US6418122B1 (en) * | 1997-03-21 | 2002-07-09 | Scientific-Atlanta, Inc. | Method and apparatus for assuring sufficient bandwidth of a statistical multiplexer |
US6188703B1 (en) | 1997-08-01 | 2001-02-13 | International Business Machines Corp. | Multiplexer for multiple media streams |
US6021449A (en) * | 1997-08-01 | 2000-02-01 | International Business Machines Corporation | Video FIFO overflow control method that blocks video encoder data when overflow is imminent and resumes flow when frames sizes have returned to nominal size |
US6678243B2 (en) * | 1997-11-14 | 2004-01-13 | Ess Technology, Inc. | Variable codec frame length |
GB2331678A (en) * | 1997-11-25 | 1999-05-26 | Daewoo Electronics Co Ltd | Controlling data flow in a synchronous data compression system |
US6366704B1 (en) | 1997-12-01 | 2002-04-02 | Sharp Laboratories Of America, Inc. | Method and apparatus for a delay-adaptive rate control scheme for the frame layer |
US6556560B1 (en) | 1997-12-04 | 2003-04-29 | At&T Corp. | Low-latency audio interface for packet telephony |
US6301258B1 (en) * | 1997-12-04 | 2001-10-09 | At&T Corp. | Low-latency buffering for packet telephony |
US6192032B1 (en) | 1998-01-02 | 2001-02-20 | International Business Machines Corporation | Rate attenuation systems, methods and computer program products for reducing low priority video frame packets transmitted over a network |
US6173069B1 (en) | 1998-01-09 | 2001-01-09 | Sharp Laboratories Of America, Inc. | Method for adapting quantization in video coding using face detection and visual eccentricity weighting |
JP3402177B2 (ja) * | 1998-01-26 | 2003-04-28 | ソニー株式会社 | ディジタル信号多重化装置及び方法、ディジタル信号伝送方法、ディジタル信号記録方法、並びに、記録媒体 |
US6396956B1 (en) | 1998-03-31 | 2002-05-28 | Sharp Laboratories Of America, Inc. | Method and apparatus for selecting image data to skip when encoding digital video |
EP1072156A2 (de) * | 1998-04-17 | 2001-01-31 | Tiernan Communications Incorporated | Vorrichtung und verfahren für dynamische multiplexierung |
US6169747B1 (en) * | 1998-07-08 | 2001-01-02 | Ess Technology, Inc. | Variable code frame length for multistream applications |
US7130265B1 (en) * | 1998-11-12 | 2006-10-31 | Sony Corporation | Data multiplexing device and data multiplexing method, and data transmitter |
US6272566B1 (en) * | 1998-11-18 | 2001-08-07 | International Business Machines Corporation | System for maintaining proper buffering within video play list |
US6665728B1 (en) * | 1998-12-30 | 2003-12-16 | Intel Corporation | Establishing optimal latency in streaming data applications that use data packets |
US6546366B1 (en) | 1999-02-26 | 2003-04-08 | Mitel, Inc. | Text-to-speech converter |
IL129345A (en) * | 1999-04-06 | 2004-05-12 | Broadcom Corp | Video encoding and video/audio/data multiplexing device |
US20040161032A1 (en) * | 1999-04-06 | 2004-08-19 | Amir Morad | System and method for video and audio encoding on a single chip |
CA2271539A1 (en) * | 1999-05-12 | 2000-11-12 | Pmc-Sierra Inc. | Interface between a link layer device and one or more physical layer devices |
CA2280662A1 (en) * | 1999-05-21 | 2000-11-21 | Joe Toth | Media server with multi-dimensional scalable data compression |
US8266657B2 (en) | 2001-03-15 | 2012-09-11 | Sling Media Inc. | Method for effectively implementing a multi-room television system |
US6263503B1 (en) | 1999-05-26 | 2001-07-17 | Neal Margulis | Method for effectively implementing a wireless television system |
US6535251B1 (en) | 1999-10-26 | 2003-03-18 | Sharplabs Of America, Inc. | Video encoder and method for adjusting quantization step in real time |
US7187947B1 (en) | 2000-03-28 | 2007-03-06 | Affinity Labs, Llc | System and method for communicating selected information to an electronic device |
KR100341063B1 (ko) | 2000-06-28 | 2002-06-20 | 송문섭 | 실시간 영상 통신을 위한 율제어 장치 및 그 방법 |
US7433409B2 (en) * | 2000-07-10 | 2008-10-07 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method of multiple decoding |
US7418007B1 (en) * | 2000-09-20 | 2008-08-26 | General Instrument Corporation | Method and apparatus for determining a transmission bit rate in a statistical multiplexer |
WO2002045372A2 (en) * | 2000-11-29 | 2002-06-06 | British Telecommunications Public Limited Company | Transmitting and receiving real-time data |
US20030223735A1 (en) * | 2001-02-28 | 2003-12-04 | Boyle William B. | System and a method for receiving and storing a transport stream for deferred presentation of a program to a user |
US6907481B2 (en) * | 2001-03-06 | 2005-06-14 | Ati Technologies, Inc. | System for bit-rate controlled digital stream playback and method thereof |
US8121296B2 (en) | 2001-03-28 | 2012-02-21 | Qualcomm Incorporated | Method and apparatus for security in a data processing system |
US9100457B2 (en) | 2001-03-28 | 2015-08-04 | Qualcomm Incorporated | Method and apparatus for transmission framing in a wireless communication system |
US8077679B2 (en) | 2001-03-28 | 2011-12-13 | Qualcomm Incorporated | Method and apparatus for providing protocol options in a wireless communication system |
US20040097720A1 (en) * | 2001-04-02 | 2004-05-20 | Bott Richard R. | Use of glycodendrimer reagents for inhibiting adhesion by microorganisms |
WO2002102049A2 (en) * | 2001-06-11 | 2002-12-19 | Broadcom Corporation | System and method for multi-channel video and audio encoding on a single chip |
US7460629B2 (en) | 2001-06-29 | 2008-12-02 | Agere Systems Inc. | Method and apparatus for frame-based buffer control in a communication system |
US7412004B2 (en) * | 2001-06-29 | 2008-08-12 | Agere Systems Inc. | Method and apparatus for controlling buffer overflow in a communication system |
US7075990B2 (en) | 2001-08-28 | 2006-07-11 | Sbc Properties, L.P. | Method and system to improve the transport of compressed video data in real time |
US6970512B2 (en) * | 2001-08-28 | 2005-11-29 | Sbc Technology Resources, Inc. | Method and system to improve the transport of compressed video data |
JP4416361B2 (ja) * | 2001-09-14 | 2010-02-17 | パナソニック株式会社 | マルチフォーマットトランスポートストリームデコーダ |
US7646816B2 (en) * | 2001-09-19 | 2010-01-12 | Microsoft Corporation | Generalized reference decoder for image or video processing |
US7352868B2 (en) | 2001-10-09 | 2008-04-01 | Philip Hawkes | Method and apparatus for security in a data processing system |
US7649829B2 (en) * | 2001-10-12 | 2010-01-19 | Qualcomm Incorporated | Method and system for reduction of decoding complexity in a communication system |
AU2002365821A1 (en) * | 2001-11-30 | 2003-06-17 | British Telecommunications Public Limited Company | Data transmission |
WO2003075150A1 (en) * | 2002-03-04 | 2003-09-12 | Telefonaktiebolaget Lm Ericsson (Publ) | An arrangement and a method for handling an audio signal |
CA2476843C (en) * | 2002-03-27 | 2012-11-20 | British Telecommunications Public Limited Company | Video coding |
EP1359722A1 (de) | 2002-03-27 | 2003-11-05 | BRITISH TELECOMMUNICATIONS public limited company | System und Verfahren zur Übertragung von Datenströmen |
JP4440651B2 (ja) * | 2002-03-27 | 2010-03-24 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | データストリーミングシステムのためのデータ構造 |
JP2005526455A (ja) * | 2002-05-22 | 2005-09-02 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 仮想的な受信バッファを使用してチャネル伝送レートの変動を吸収する伝送方法 |
EP2557786B1 (de) * | 2002-11-29 | 2016-02-24 | Sony Corporation | Verzögerungskontrolierte/s Decodierungsverfahren und Vorrichtung |
US7599655B2 (en) | 2003-01-02 | 2009-10-06 | Qualcomm Incorporated | Method and apparatus for broadcast services in a communication system |
US6968387B2 (en) * | 2003-01-10 | 2005-11-22 | Realnetworks, Inc. | Stochastic adaptive streaming of content |
US20040143849A1 (en) * | 2003-01-16 | 2004-07-22 | Pierre Costa | Method and system to create a deterministic traffic profile for isochronous data networks |
US20040143850A1 (en) * | 2003-01-16 | 2004-07-22 | Pierre Costa | Video Content distribution architecture |
GB0306296D0 (en) * | 2003-03-19 | 2003-04-23 | British Telecomm | Data transmission |
US7266147B2 (en) * | 2003-03-31 | 2007-09-04 | Sharp Laboratories Of America, Inc. | Hypothetical reference decoder |
US20060072837A1 (en) * | 2003-04-17 | 2006-04-06 | Ralston John D | Mobile imaging application, device architecture, and service platform architecture |
US7274740B2 (en) | 2003-06-25 | 2007-09-25 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
US7391769B2 (en) * | 2003-06-27 | 2008-06-24 | Lucent Technologies Inc. | Packet aggregation for real time services on packet data networks |
US8098818B2 (en) | 2003-07-07 | 2012-01-17 | Qualcomm Incorporated | Secure registration for a multicast-broadcast-multimedia system (MBMS) |
US8718279B2 (en) | 2003-07-08 | 2014-05-06 | Qualcomm Incorporated | Apparatus and method for a secure broadcast system |
US20050036548A1 (en) * | 2003-08-12 | 2005-02-17 | Yong He | Method and apparatus for selection of bit budget adjustment in dual pass encoding |
US8724803B2 (en) | 2003-09-02 | 2014-05-13 | Qualcomm Incorporated | Method and apparatus for providing authenticated challenges for broadcast-multicast communications in a communication system |
US9325998B2 (en) * | 2003-09-30 | 2016-04-26 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
US7016409B2 (en) * | 2003-11-12 | 2006-03-21 | Sony Corporation | Apparatus and method for use in providing dynamic bit rate encoding |
US8018850B2 (en) * | 2004-02-23 | 2011-09-13 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
US7769756B2 (en) | 2004-06-07 | 2010-08-03 | Sling Media, Inc. | Selection and presentation of context-relevant supplemental content and advertising |
US7975062B2 (en) | 2004-06-07 | 2011-07-05 | Sling Media, Inc. | Capturing and sharing media content |
US9998802B2 (en) | 2004-06-07 | 2018-06-12 | Sling Media LLC | Systems and methods for creating variable length clips from a media stream |
JP2008504793A (ja) | 2004-06-07 | 2008-02-14 | スリング メディア,インク. | パーソナルメディア放送システム |
US7917932B2 (en) | 2005-06-07 | 2011-03-29 | Sling Media, Inc. | Personal video recorder functionality for placeshifting systems |
FR2872666A1 (fr) * | 2004-07-01 | 2006-01-06 | Nextream France Sa | Dispositif et procede de multiplexage associe a un dispositif de codage |
EP1800415A4 (de) * | 2004-10-12 | 2008-05-14 | Droplet Technology Inc | Mobile bilderzeugungsanwendung, gerätearchitektur und serviceplattformarchitektur |
US7797723B2 (en) * | 2004-10-30 | 2010-09-14 | Sharp Laboratories Of America, Inc. | Packet scheduling for video transmission with sender queue control |
US7784076B2 (en) * | 2004-10-30 | 2010-08-24 | Sharp Laboratories Of America, Inc. | Sender-side bandwidth estimation for video transmission with receiver packet buffer |
US8356327B2 (en) * | 2004-10-30 | 2013-01-15 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
TWI401918B (zh) * | 2005-02-03 | 2013-07-11 | Nokia Corp | 傳送指示接收器緩衝架構之緩衝參數信號的通訊方法 |
US8218657B2 (en) * | 2005-09-02 | 2012-07-10 | Netgear, Inc. | System and method for automatic adjustment of streaming video bit rate |
US20070067480A1 (en) * | 2005-09-19 | 2007-03-22 | Sharp Laboratories Of America, Inc. | Adaptive media playout by server media processing for robust streaming |
US9544602B2 (en) * | 2005-12-30 | 2017-01-10 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
US7652994B2 (en) * | 2006-03-31 | 2010-01-26 | Sharp Laboratories Of America, Inc. | Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels |
US8861597B2 (en) * | 2006-09-18 | 2014-10-14 | Sharp Laboratories Of America, Inc. | Distributed channel time allocation for video streaming over wireless networks |
US7885189B2 (en) * | 2006-09-20 | 2011-02-08 | Rgb Networks, Inc. | Methods and apparatus for rate estimation and predictive rate control |
US7652993B2 (en) * | 2006-11-03 | 2010-01-26 | Sharp Laboratories Of America, Inc. | Multi-stream pro-active rate adaptation for robust video transmission |
US7843824B2 (en) * | 2007-01-08 | 2010-11-30 | General Instrument Corporation | Method and apparatus for statistically multiplexing services |
US20100333149A1 (en) * | 2009-06-24 | 2010-12-30 | Rgb Networks, Inc. | Delivery of pre-statistically multiplexed streams in a vod system |
US8631455B2 (en) | 2009-07-24 | 2014-01-14 | Netflix, Inc. | Adaptive streaming for digital content distribution |
US9014545B2 (en) | 2009-07-24 | 2015-04-21 | Netflix, Inc. | Adaptive streaming for digital content distribution |
US9167256B2 (en) * | 2010-08-31 | 2015-10-20 | Arris Technology, Inc. | Method and apparatus for encoding |
FR3009153B1 (fr) * | 2013-07-24 | 2015-08-21 | France Brevets | Systeme et procede pour la transmission de donnees et de flux contenant des donnees video dvideo dans un canal a debit donne |
WO2015082298A1 (en) | 2013-12-02 | 2015-06-11 | Dolby International Ab | Method for bitrate signaling and bitstream format enabling such method |
KR102287274B1 (ko) * | 2019-12-05 | 2021-08-06 | 울산과학기술원 | 비디오 인코딩 장치 및 방법 |
CN116527942A (zh) * | 2022-07-27 | 2023-08-01 | 杭州海康威视数字技术股份有限公司 | 一种图像编解码方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59183548A (ja) * | 1983-04-01 | 1984-10-18 | Fujitsu Ltd | バツフアメモリを用いたデ−タ伝送方式におけるクロツク周波数同期方式 |
JPS61107818A (ja) * | 1984-10-30 | 1986-05-26 | Nec Corp | エントロピ−符号化方式とその装置 |
EP0241745B1 (de) * | 1986-04-04 | 1991-11-06 | Siemens Aktiengesellschaft | Verfahren zur Datenreduktion digitaler Bildsignale durch Vektorquantisierung von durch orthonormale Transformation mittels einer symmetrischen fastzyklischen Hadamard-Matrix gewonnenen Koeffizienten |
US4706260A (en) * | 1986-11-07 | 1987-11-10 | Rca Corporation | DPCM system with rate-of-fill control of buffer occupancy |
US4833535A (en) * | 1987-02-04 | 1989-05-23 | Kabushiki Kaisha Toshiba | Image transmission apparatus |
DE3854445T2 (de) * | 1987-04-28 | 1996-05-30 | Mitsubishi Electric Corp | Vorrichtung zum Codieren und Übertragen von Bildern. |
FR2625060B1 (fr) * | 1987-12-16 | 1990-10-05 | Guichard Jacques | Procede et dispositifs de codage et de decodage pour la transmission d'images a travers un reseau a debit variable |
US5073821A (en) * | 1989-01-30 | 1991-12-17 | Matsushita Electric Industrial Co., Ltd. | Orthogonal transform coding apparatus for reducing the amount of coded signals to be processed and transmitted |
JPH0832034B2 (ja) * | 1989-08-03 | 1996-03-27 | 富士通株式会社 | 伝送レート可変式画像符号化装置 |
GB9001295D0 (en) * | 1990-01-19 | 1990-03-21 | British Broadcasting Corp | Buffer resynchronisation |
US5038209A (en) * | 1990-09-27 | 1991-08-06 | At&T Bell Laboratories | Adaptive buffer/quantizer control for transform video coders |
-
1991
- 1991-05-23 US US07/704,551 patent/US5159447A/en not_active Expired - Lifetime
-
1992
- 1992-05-11 JP JP4143646A patent/JP2648418B2/ja not_active Expired - Lifetime
- 1992-05-14 EP EP92304377A patent/EP0515101B1/de not_active Expired - Lifetime
- 1992-05-14 DE DE69221028T patent/DE69221028T2/de not_active Expired - Lifetime
- 1992-05-23 KR KR1019920008813A patent/KR950005618B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US5159447A (en) | 1992-10-27 |
KR950005618B1 (ko) | 1995-05-27 |
JP2648418B2 (ja) | 1997-08-27 |
EP0515101B1 (de) | 1997-07-23 |
EP0515101A3 (en) | 1993-06-30 |
JPH06253277A (ja) | 1994-09-09 |
EP0515101A2 (de) | 1992-11-25 |
DE69221028D1 (de) | 1997-09-04 |
KR920022903A (ko) | 1992-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69221028T2 (de) | Puffersteuerung für einen Kanal mit variabler Bitrate | |
DE69229773T2 (de) | Statistischer Multiplexer für ein Multikanal-Bildkomprimierungssystem und Demultiplexer | |
DE69527235T2 (de) | Kodiererpuffer mit automatisch mit der kanalbitrate variierender effektiver grösse | |
DE69533981T2 (de) | Multimedia-multiplexvorrichtung und verfahren mit dynamischer paketsegmentierung | |
DE69130286T2 (de) | Verfahren zur priorisierung, selektiven ablösung und multiplexierung von schnellen paketen verschiedener verkehrsarten | |
DE69221411T2 (de) | Atm-zellenverteiler mit geringer verzögerung oder geringer verlustrate | |
DE60106286T2 (de) | Zeitbasisreferenzdatumregeneration für mpeg-transportströme | |
DE69011422T2 (de) | Paketstruktur und Übertragung der von einem Videosignal-Kodierer erzeugten Information. | |
DE69535402T2 (de) | Einrichtung und Verfahren zur Segmentierung und zeitlichen Synchronisierung der Übertragung von Multimediadaten | |
DE69122634T2 (de) | System, Packetaufbau und Einrichtung zur Verarbeitung der Ausgangsinformation eines Signalkodierers | |
DE60131993T2 (de) | Verfahren und gerät zur bestimmung der übertragungsbitrate in einem statistischen multiplexer | |
DE69927808T2 (de) | Adaptive zuweisungsanlage und-verfahren zur bedienung von mehrstufigen qos in der aal-2 schicht | |
DE69215973T2 (de) | Multiplexer mit Einfügung von digitalen Paketen mit verschiedenen Prioritäten in einem Übertragungskanal | |
DE60110760T2 (de) | Auslese-ablaufsteuerung für nicht aufeinander-folgende daten | |
DE60032458T2 (de) | Selbstanpassender Zitterspufferspeicher | |
DE60117957T2 (de) | Verfahren, System und Rechnerprogrammprodukt zur Bandbreitenzuteilung in einem System mit Mehrfachzugriff | |
DE3780800T2 (de) | Anordnung zur ueberlastregelung fuer paketvermittlungssystem. | |
DE60036031T2 (de) | Zuweisung von prioritätsstufen in einem datenfluss | |
DE69634541T2 (de) | Anordnung und verfahren in bezug auf paketflusssteuerung | |
DE60106640T2 (de) | Prozessorzuweisung für kanäle in einem videomultiprozessorsystem | |
DE112019006998T5 (de) | Verfahren zur anpassung eines client-signals mit konstanter bitrate in die pfadschicht eines telekomsignals | |
DE60108612T2 (de) | Spracharchitektur für übertragung über ein gemeinsames, konkurrenzbasiertes medium | |
DE3882680T2 (de) | Bedingter Multiplexer. | |
DE69726110T2 (de) | Videoübertragungssystem | |
DE60211790T2 (de) | Videokodierung mit konstanter Qualität |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
R071 | Expiry of right |
Ref document number: 515101 Country of ref document: EP |