WO2001008419A1 - Multiplexage statistique mettant en application un reseau annulaire pour effectuer un controle sur bande - Google Patents

Multiplexage statistique mettant en application un reseau annulaire pour effectuer un controle sur bande Download PDF

Info

Publication number
WO2001008419A1
WO2001008419A1 PCT/US2000/019962 US0019962W WO0108419A1 WO 2001008419 A1 WO2001008419 A1 WO 2001008419A1 US 0019962 W US0019962 W US 0019962W WO 0108419 A1 WO0108419 A1 WO 0108419A1
Authority
WO
WIPO (PCT)
Prior art keywords
local
control information
bit rate
encoding control
state
Prior art date
Application number
PCT/US2000/019962
Other languages
English (en)
Inventor
Henry Sariowan
Yendo Hu
Original Assignee
Tiernan Communications, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tiernan Communications, Inc. filed Critical Tiernan Communications, Inc.
Priority to AU63640/00A priority Critical patent/AU6364000A/en
Publication of WO2001008419A1 publication Critical patent/WO2001008419A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams

Definitions

  • Video compression provides a highly-efficient method for coding video signals in digital format.
  • Compression techniques reduce the amount of bits required for representing a sequence of pictures by removing redundancies, both at the spatial and temporal levels.
  • different sequences of pictures can have different complexities, and correspondingly, different amount of redundancies that can be removed. This varying complexity typically results in different compression ratios and amounts of bits for representing the sequences for a given quality level.
  • a compression technique can generally provide a variable bit rate output.
  • the compression algorithms for video encoding defined by MPEG permit the bandwidth required by video components to be variable, according to the complexity of the scene being encoded, for a given level of picture quality.
  • bandwidth requests received from other elements on the ring are passed around the ring in a message using a delivery mechanism that is compatible w ith MPEG (e.g.. a null packet). At most, one set of bandwidth request data for each encoder is present on the ring at any given time.
  • International Appl. No. PCT/US97/18058 indicates that the format for the bandwidth request packets, the protocols for transmitting them, and the algorithms for processing them to determine actual bandwidth allocation can be modeled closely on similar procedures used in ring-based data networks, e.g.. Token Ring or FDDI.
  • a plurality of devices are interconnected, e.g., in a ring.
  • Each device which includes an encoder and a multiplexer, sends information relating to, e.g., its instantaneous picture quality and bit rate requirement around the ring to the other connected devices, and based on this information, a bit rate is computed and adjusted for each device.
  • a channel is used for communicating the information among the devices on the ring.
  • an appropriate service policy at the multiplexer is used to prevent the multiplexer buffer from overflowing and to ensure minimum transit time at the multiplexer.
  • an embodiment of a multiplexing system includes plural interconnected devices.
  • Each device includes an encoder, a multiplexer and a controller.
  • the encoder encodes a program source according to a local bit rate allocation to provide a local stream.
  • the multiplexer multiplexes the local stream, local encoding control information indicative of the local bit rate allocation, and an input stream which includes other encoding control information indicative of bit rate allocations for encoders of other devices.
  • An output stream from the multiplexer is coupled as the input stream of the succeeding device.
  • the controller generates the local encoding control information and adjusts the local bit rate allocation based on the local encoding control information and the other encoding control information.
  • the controller further updates the local encoding control information with the adjusted bit rate allocation.
  • the devices can operate asynchronously with respect to each other.
  • the adjusting of the bit rate allocations for each of the devices is computed by a separate processor device which communicates the updated bit rate allocations to the other devices.
  • the program source includes plural element streams
  • the local encoding control information includes priority and complexity information for each of the plural element streams
  • the other encoding control information includes priority and complexity information associated with element streams for the other devices connected in the ring.
  • the present system uses an approach called piece-wise constant bitrate (PCBR) multiplexing wherein an encoder is programmed to operate in the CBR mode that is changed at intervals.
  • the target bit rate stays constant over a user-specified number of frames and is periodically updated based on a running average (sliding window) of the picture complexity over another user-specified number of frames.
  • the local, input and output streams are MPEG transport streams wherein the local information is carried in the payload of a transport stream null packet.
  • each encoder comprises an MPEG encoder that can operate in a statistical multiplexing mode in which a target bit rate of the MPEG encoder is adjusted according to the adjusted bit rate allocation.
  • the devices communicate their respective encoding control information on the ring in a cycle that includes a statistics state, a computation state, a decrease state and an increase state.
  • one of the plural devices is designated a head device which blocks the input stream received from the preceding device except for the other encoding control information included in the input stream.
  • FIG. 1 is a block diagram of a ring configuration of encoder/multiplexers.
  • FIG. 2 is a block diagram of an encoder/multiplexer of the ring configuration of FIG. 1.
  • FIG. 3 is a state diagram for the encoder/multiplexer of FIG. 2.
  • FIG. 4 illustrates protocol messages sent on the ring of FIG. 1 in an initial state.
  • FIG. 5 illustrates protocol messages sent on the ring of FIG. 1 in a statistics state.
  • FIG. 6 illustrates a model of clustering in an mD/D/1 queue.
  • FIG. 7 illustrates an arrival pattern for the clustering model of FIG. 6.
  • An embodiment of a statistical multiplexing system for multiplexing plural video or other sources is now described which employs a communication infrastructure for exchanging encoding control information among devices in the system.
  • a multiplexing approach is described which supports the changing of bit rates in real time while preventing buffer overflow and minimizing transit delay through the devices.
  • an approach is described for calculating the bandwidth requirement of each source depending on the relative complexity of the sequence produced by the source. While the embodiment described herein operates in the MPEG context, it should be understood that the principles ofthe present approach can be applied to other encoding and multiplexing arrangements.
  • FIG. 1 A configuration of encoder/multiplexers 400A, 400B, 400C, 400D connected in series is shown in FIG. 1.
  • the output transport stream 402, 404, 406 of each encoder/multiplexer is provided as the input transport stream of the next.
  • a connection between encoder/multiplexers 400D and 400A via connection 410 provides a ring network configuration.
  • the output of the last encoder/multiplexer 400D is the final transport stream 408 that can be further connected to a communications network (not shown).
  • the number of encoder/multiplexers 400 which can be so daisy-chained together is limited only by the capacity of the transport stream and by any physical limitations imposed by the interface drivers.
  • the ring serves as a communication infrastructure for gathering and distributing control messages between and among the encoder/multiplexers as described further herein. Note that the same physical link that is used for carrying the compressed video, audio, and data is also used for carrying the control messages. Thus, there is no need to create separate physical links for carrying the control messages, providing significant savings of the hardware costs.
  • the encoder/multiplexer 400 is now described with reference to FIG. 2.
  • the encoder/multiplexer 400 comprises a single channel encoder 50 and an elementary multiplexer 10.
  • the encoder 50 accepts as inputs on lines 52, 54, 56, a set of components, also referred to herein as elements, to be inserted into a transport stream.
  • a typical component set consists of a video input, two stereo audio channels, and two user data channels.
  • the set of components are intended to form a single service, although in some cases they may form more than one service.
  • Service control data describing and configuring the components and service(s) added to the multiplex by the encoder 50, is passed on line 58 to the encoder processor 60, which uses this information to create a set of tables to be inserted into a local transport stream 62 generated by the encoder 50.
  • the components are each encoded, in a fashion specific to each component type, into a format suitable for inclusion in a transport stream by component encoders 64, 66, 68. Typically, this format will be based on the Packetized Elementary Stream (PES) encoding defined by MPEG-2.
  • PES Packetized Elementary Stream
  • the encoded components are then passed to a transport multiplexer 70, wherein they are combined with each other and with the control tables provided by the processor 60 into the local transport stream 62.
  • the local transport stream 62 is then passed to the elementary multiplexer 10, which combines it with an externally supplied input transport stream 12 (e.g., from a preceding encoder/multiplexer 400 in the ring) to create an output transport stream 26 which adds the contributions of the encoder 50 to the input transport stream 12.
  • the multiplexer 10 also receives on line 16 management and control input that is used to configure the multiplexer.
  • the elementary multiplexer 10 comprises four processing elements: a pair of transport demultiplexers 18, 20; a processor 22; and a transport remultiplexer 24.
  • the demultiplexers 18, 20 demultiplex the transport streams to their constituent service components and service control information tables.
  • the input transport stream 12 can also include transport packet tokens (TPTs) carrying encoding control information encapsulated in a transport stream null packet as described further herein below.
  • TPTs transport packet tokens
  • the service control information tables are routed to the processor 22 which combines and reconfigures the information contained in the tables to provide a single set of output service control information tables.
  • the processor 22 handles processing of the TPT payloads extracted from the input transport stream by the transport demultiplexer 18.
  • the processor 22 also generates local TPT payloads that are sent to the transport remultiplexer 24.
  • the demultiplexers 18, 20 filter the service components based on the combined and reconfigured information in the service control information tables.
  • the transport remultiplexer 24 multiplexes the output service control information tables and locally generated TPTs with the filtered streams to provide an output transport stream on line 26. A copy ofthe output transport stream may optionally be made available on line 28.
  • TPT Transport Packet Token
  • the TPTs are circulated around the ring as described further herein.
  • An example TPT is a 188-byte Transport Stream null packet with the transport_priority bit set to 1, as described in Table 1.
  • TPT payload An example format for the TPT payload is given in Table 2.
  • the communication protocol is now described with reference to the state transition diagram of FIG. 3.
  • the encoder/multiplexer performs different actions, which can include sending TPTs, responding to received TPTs, or transitioning to another state.
  • the following states are defined: Power-up state; Init state 102; Statistics state 104; Compute state 106; Decrease state 108; Increase state 110.
  • Power-up state Power-up state
  • Init state 102 Init state 102
  • Statistics state 104 Statistics state 104
  • Compute state 106 Decrease state 108
  • Increase state 110 the actions that an encoder/multiplexer performs in each of the defined states is now described.
  • the Power-up state is entered when the encoder/multiplexer has just been powered up or reset.
  • the encoder/multiplexer initializes some variables, including the initial bit rate assignment and a unique identification for the encoder/multiplexer.
  • An example of such unique identification is the MAC-ID (MAC: Medium Access Control) assigned to the network interface at the encoder/multiplexer.
  • the encoder/multiplexer will not transition from the Power-up state to the next state, i.e., the Init state, until the process that periodically updates such information for each element has been initialized and is running. After all the above actions are taken, the encoder/multiplexer transitions to the Init state.
  • the ring network is "synchronized" to determine the beginning of a new StatMux cycle where a cycle normally includes transitioning successively through the Statistics state, the Compute state, the Decrease state and the Increase state.
  • This synchronization is accomplished by identifying one and only one encoder/multiplexer in the ring network that is responsible for starting the cycle. This unique encoder/multiplexer is determined by selecting the encoder/multiplexer which has the smallest unique identifier among all the encoder/multiplexers in the network.
  • the number of active encoder/multiplexers in the network is obtained in the Init state. This number is needed for the execution of subsequent states.
  • each device sends an INIT TPT 202, 204, 206. 208 with its individual MAC address.
  • device 400A has the smallest MAC address.
  • the INIT TPT 202 first sent by device 400A is re-sent around the ⁇ ng until it reaches the device 400A as INIT TPT 202A with the encoder_count incremented to 4
  • the other INIT TPTs are also re-sent around the ⁇ ng until they reach a device having a smaller MAC address, namely, device 400A
  • All the encoder/multiplexers in the network enter the Statistics state synchronously after the unique encoder/multiplexer identified in the Init state sends a TPT (STAT TPT) which contains the statistics and bit rate requirements of all the local elements produced by the encoder.
  • STAT TPT a TPT
  • each of the other encoder/multiplexers Upon receiving the STAT TPT from the unique encoder/multiplexer identified in the Init state, each of the other encoder/multiplexers also sends its own STAT TPT corresponding to its local statistics and requirements.
  • N STAT TPTs where N is equal to the number of encoder/multiplexers in the network, the encoder/multiplexer transitions to the next state, i.e., the Compute state
  • each device sends a STAT TPT 220, 222, 224, 226 with its local bit rate information.
  • STAT TPTs When four STAT TPTs are received by an encoder/multiplexer, the device enters the Compute state.
  • the protocol messaging shown in FIG. 5 is similar for the succeeding states Compute, Decrease and Increase as is described below.
  • the Compute state is entered after an encoder/multiplexer receives the statistics and bit rate requirements from all other encoder/multiplexers, which signals the encoder/multiplexer to begin computing the bit rate assignments for all the elements that it generates. This computation is according to a bit rate calculation algorithm described herein below. Upon completing the computation, the encoder/multiplexer sends a
  • COMP TPT indicating the completion.
  • the Decrease state is entered after an encoder/multiplexer receives indications from all other encoder/multiplexers that they have completed their assigned bit rate computations. If the computation indicates that an encoder has to decrease the bit rate of one or more of its local elements, the compute completion indication signals the encoder to begin decreasing the bit rate assignments for all the decreasing elements that the encoder/multiplexer generates. Upon completing the decrease process, the encoder/multiplexer sends a DEC TPT indicating the completion ofthe bit rate decrease. Otherwise, if all the local elements generated by the encoder increase their rates or remain the same, the encoder/multiplexer sends a decrease completion (DEC TPT) immediately after it receives the compute completion (COMP TPT). After an encoder/multiplexer receives the decrease completion indications from all the other encoder/multiplexers, it transitions to the next state, the Increase state.
  • the actions in the Decrease State are as follows:
  • the Increase state is entered after an encoder/multiplexer receives indications from all other encoder/multiplexers that they have completed their respective decrease process. If an encoder has one or more of its local elements increase their bit rates, this decrease completion indication signals the encoder to begin increasing the bit rate assignments for all the increasing local elements that it generates. Upon completing the increase process, the encoder/multiplexer sends a packet (INC TPT) indicating the completion of its increase process. Otherwise, if all the local elements generated by the encoder decrease their rates or remain the same, the encoder/multiplexer sends an increase completion (INC TPT) message immediately after it receives the decrease completion (DEC TPT) message.
  • IEC TPT increase completion
  • an encoder/multiplexer After an encoder/multiplexer receives the increase completion indications from all the other encoder/multiplexers, it can repeat the StatMux cycle by transitioning to the Statistics state, if T_cycle timer has expired.
  • the function of the T_cycle timer is to ensure that the duration of an entire cycle beginning from the statistics state to the increase state never becomes smaller than some pre-specified lower limit, e.g., 30 ms. Otherwise, if the limit is violated, the amount of bandwidth allocated for the ring network protocol may be unbounded, and the protocol overhead may consume a portion of bandwidth dedicated to the transmission of program elements for compressed video, audio, and data.
  • the control protocol incurs bandwidth overhead due to the transmission of TPTs for control and status exchanges among various encoder/multiplexers in the ⁇ ng network. For example, consider a configuration in which the minimum interval between two consecutive transmissions of INIT packets is 30 ms (adjusting T_cycle), then the overhead per encoder/multiplexer is given by:
  • Overhead 4 (TPTs/encoder/cycle) * 188 (byte/TPT) * 8 (bits/byte) / 30 ms ⁇ 201 kbps (per encoder/multiplexer)
  • the four TPTs accounted for in the above calculation are the STAT, COMP. INC, and DEC TPTs. This bandwidth overhead is taken into account in setting the aggregate output bit rate for the ring network.
  • An MPEG2 encoder can typically operate in one of the two modes: constant bit rate (CBR) mode with variable quality and variable bit rate (VBR) mode with constant quality.
  • CBR constant bit rate
  • VBR variable bit rate
  • the encoder maintains a target bit rate specified by the user within some tolerance.
  • the typical encoder implements an internal rate control mechanism to ensure the proper distribution of encoded bits among various types of frames based on the group of pictures (GOP) structure specified by the user.
  • the number of bits allocated to a given frame depends on the picture type (I. P. or B) of the frame and the relative number of I, P, and B frames comprising the GOP.
  • the rate control mechanism may allocate the largest number of bits for encoding I frames, a moderate number of bits for encoding P frames, and the smallest number of bits for encoding B frames.
  • the tolerance of the rate control algorithms relative to the target bit rate specified by the user can vary considerably across a single frame.
  • the actual number of bits produced by the encoding engine can be quite different from the target constant bit rate, making it difficult to control the actual bit rate by simply changing the target bit rate.
  • the encoder operating in VBR mode does not maintain a target bit rate; rather, it attempts to achieve a target picture quality specified by the user.
  • the encoder can produce any number of bits per frame up to some peak value imposed by the buffer size of the encoder. VBR methods typically result in a large fluctuation of the number of bits in a frame.
  • VBR encoder should be able to predict its future bandwidth requirement, and use this information to coordinate allocation of bits among multiple encoders.
  • the present system uses an approach called piece-wise constant bitrate (PCBR) multiplexing.
  • PCBR piece-wise constant bitrate
  • the idea behind this approach is that instead of operating the engine in a VBR mode, it is programmed to operate in the CBR mode.
  • the target bit rate stays constant over a user-specified number of frames and is periodically updated based on a running average (sliding window) of the picture complexity over another user-specified number of frames.
  • the user can specify whether the element operates in a truly fixed CBR mode or in a statistical multiplexing (StatMux) mode
  • the StatMux mode is another name used herein to refer to aforementioned piece-wise CBR approach. If an element is specified to be in fixed CBR mode, the user has to specify the constant bit rate for the element. Otherwise, if an element is specified to be in StatMux mode, the user assigns a priority number to the element. In order to differentiate the quality of an element operating in StatMux mode from the other elements, the user assigns a priority to each element.
  • the priority p, of an element is an integer, ranging for example from 1 to 31 , with a larger number representing a higher p ⁇ o ⁇ ty
  • An element ith a higher priority is assigned a larger bit rate than that with a lower priority
  • N stat to be the number of elements in the StatMux mode
  • R 5tat to be the total bandwidth for statistical multiplexing
  • the sum ofthe target bit rates, including those translated from the priorities, of all elements should be less than R sm , the total bit rate assigned for multiplexing.
  • the minimum target bit rate is user adjustable.
  • N stat and R sat are the number of elements and the total available bit rates participating in the statistical multiplexing. It can be easily shown that the above mapping meets all the criteria previously set, that is - J?
  • R mm max(k min R,. ⁇ ,, min_element_rate)
  • RTM min(k n ⁇ ax R, ⁇ ,, max_element_rate)
  • the ratios k,,,,. and k,,, ⁇ are user programmable.
  • the maximum and minimum element rates are also user configurable and depend on the types of he elements and the capability ofthe encoding engine.
  • a guideline is given in the following table (Table 3):
  • the bit rate calculation algorithm In order to compute the assigned video bit rate, the bit rate calculation algorithm requires a measure from each encoder which represents the relative complexity of the decoded picture. These measures are then used by the each encoder to compute its bandwidth assignment. The following complexity measure is selected:
  • each encoder in the chain uses the same GOP structure and the structure contains a P frame.
  • An extension to more general and heterogeneous GOP structures in the chain is also possible.
  • C is computed every frame as a running average over the last F number of frames, with the statistics of an I frame replaced with the statistics of the last P frame.
  • F is user configurable with default value of 150.
  • AvgMquant is the quantizer scale factor for a frame averaged over all the macroblocks. BitsCount is the number of bits contained in the frame. LUT is a look-up table given below which maps the AvgMquant code to the quantizer scale which is given in Table 7.6 ofthe MPEG standard ISO/IEC 13818-2 "Information Technology - Generic coding of moving pictures and associated audio information: Video", 1996(E).
  • each encoder/multiplexer computes the bit rate assignment for each element as follows:
  • the VBV buffer size and the PTS-PCR delay has to be adjusted accordingly to avoid buffer underflow/overflow at the decoder. Since a change of the PTS-PCR delay on-the-fly may cause video break-ups, this delay should be kept constant and the VBV size changed to reflect the variation of the constant bit rate. The computation is as follows:
  • VBV_size_max VBV_size_max / R ⁇ VBV_size_max depends on the profile and level ofthe encoder engine: Main Profile @ Main Level: 1.835 Mbits - Main Profile @ High Level: 9.781 Mbits
  • VBV_size PTS_PCR_delay/R assil!ned Since the constant bit rate is adjustable from R,,,,. to R ⁇ , the VBV size will vary from VBV_delay R ⁇ to VBV_delay/R m ⁇ n .
  • the VBV delay can be set to OxFFFF to indicate that the decoder should rely on the PTS for decoding timing information.
  • each encoder/multiplexer performs the bit rate algorithm described above.
  • the encoder/multiplexers send the same statistical information regarding local bit rate requirements and complexity as in the first described embodiment.
  • a single device performs the algorithm and then communicates the updated bit rate allocations to each ofthe encoder/multiplexers.
  • This single device that performs the bit rate algorithm can be one of the encoder/multiplexers or it can be a dedicated processor device.
  • the output of the Nth encoder/multiplexer which includes all the elements generated in the chain starting from the first encoder/multiplexer, is fed to the input of the first encoder/multiplexer. If not extracted out of the ring, these elements will travel forever in the chain, causing instability and incorrect table processing. Thus, it is necessary that only the TPTs are fed to the first encoder/multiplexer and that all the other elements in the stream, including tables, are blocked before or by the first encoder/multiplexer.
  • a mechanism is provided which performs this blocking as well as providing a redundant mechanism in the event the primary mechanism fails:
  • the first encoder/multiplexer is designated by the operator as the "head encoder/multiplexer.”
  • the head encoder/multiplexer blocks the entire stream input, except the TPTs and sets the Transport Priority bit in the transmitted PAT to 1.
  • the next encoder/multiplexer following the head encoder/multiplexer is designated as the "redundant head encoder/multiplexer.”
  • the redundant head encoder/multiplexer processes PAT with the Transport Priority bit set to 1, routes the other tables for processing, and passes through only the elementary streams specified by the PAT via the associated PMTs.
  • the new PAT transmitted by the redundant head encoder/multiplexer has its Transport Priority bit set to 0.
  • the redundant head encoder/multiplexer detects the transition of the Transport Priority bit in the received PAT from 1 to 0 and starts blocking the entire input stream, except the TPTs. If the head encoder/multiplexer comes back on line, the redundant head encoder/multiplexer detects PAT with the Transport Priority bit set to 1 , and stops blocking the input stream.
  • the multiplexer in the encoder/multiplexer multiplexes three incoming streams, i.e., the external, local, and the control streams, into one output stream.
  • the multiplexer output rate of each encoder/multiplexer in a daisy-chain configuration can be set in a graduated fashion, in the sense that the multiplexer output rate is set increasingly larger down the chain proportional to the rate increase contributed by each encoder/multiplexer. Note that since the head encoder/multiplexer blocks the element streams received from the Nth encoder/multiplexer, the following description uses the term daisy-chain with respect to the effective connections in the ring.
  • the graduated approach has the advantage of "smoothing" the output stream.
  • the multiplexer output rate of each encoder/multiplexer can be equal to the output rate of the Nth encoder/multiplexer, i.e., the aggregate bit rate (also called a "full-channel approach")
  • the aggregate bit rate also called a "full-channel approach”
  • the multiplexer buffers can overflow if a proper scheduling policy is not implemented at the multiplexer and sufficient buffer size is not provided.
  • the FIFO size of the external, local, and control buffers i.e. the EPO, LPO, and CPO
  • the Longest Queue First (LQF) policy can be used to schedule packet transmissions from the external, local, and control buffers. Analysis of the buffer requirement accounting for the clustering effect due to the full-channel mode is given in the following discussion. In this section, the clustering effect is modeled using a queuing model and an approximate buffer size requirement to prevent buffer overflow resulting from such clustering is calculated.
  • the multiplexer accept three inputs: the external stream, the local stream, and the control packets, where each input has a constant bit rate.
  • LQF scheduling is implemented at the multiplexer with a separate buffer for each stream, all streams are assumed to arrive at a single shared buffer and are served on a First Come First Served basis.
  • Such a multiplexer is commonly referred to as an mD/D/1 queue shown in FIG. 6.
  • the arrivals to the mD/D/1 queue are a superposition of m independent equilibrium renewal processes, each with an interarrival time of exactly 1 time unit, as shown in FIG.7. Assuming that the multiplexer output is assigned rate Rchannel bits per second and each packet has a maximum packets size of P bits per packet, a time unit has duration of P/Rchannel. This arrival mechanism represents the arrival of cells from m simultaneously active sources.
  • Each source (independently of others) generates one cell per packet in exactly 1 time unit.
  • the fact that there are m independent equilibrium renewal processes implies that for each source, the first cell is generated uniformly in the interval (0, 1 ) independently of other sources.
  • the time arrival for the first cell is t (0 ⁇ t ⁇ l) for a source
  • the time arrival for the k-th cell is (k-l)+t, for k ⁇ 2.
  • the superposed traffic stream is fed to a multiplexer which serves the cell on a first-come-first-served basis with a service time of D units. Since the arrival rate is m and the service time is D, thus the utilization of the server is mD, which is referred to as p.
  • m and p are sufficient to characterize the problem completely.
  • the utilization can be computed as:
  • the asymptotic formula provide a fairly accurate result (i.e.. within 3 packet accuracy) that for all values of Pn(x), m, and p, and thus is used for buffer sizing in our model.
  • the buffer size is set to 64 packets (approx. 12.03 kBytes), then buffer overflow is likely never to occur. Since the total buffer is segmented into 3 individual buffers (EPO, LPO, and CPO) and the Longest Queue First (LQF) policy is implemented, the individual buffer requirement for overflow-free operation is 4 kBytes. However, since there is only a slight cost difference between 2. 4, and 8 kBytes FIFOs, the individual FIFO size is chosen to be 8 kBytes which provides some room for future expansion.
  • Table 4 provides the buffer size requirement for different number of encoders in a chain, assuming MTTF around 50.000 hours (about 5 years) or greater.
  • network architecture and protocol described herein is utilized for processing information for statistical or dynamic multiplexing of multiple MPEG Transport Streams, the use of such network is not limited to such application.
  • the architecture and protocol provides a general approach for collecting, distributing, processing, and synchronizing encoding control information for the purpose of dynamic assignment of parameters in a distributed system.
  • a computer usable medium can include a readable memory device, such as a hard drive device, a CD-ROM, a DVD-ROM, or a computer diskette, having computer readable program code segments stored thereon.
  • the computer readable medium can also include a communications or transmission medium, such as a bus or a communications link, either optical, wired, or wireless, having program code segments carried thereon as digital or analog data signals.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Système de multiplexage comprenant plusieurs dispositifs connectés en réseau annulaire. Chaque dispositif, comportant un codeur et un multiplexeur, envoie des informations concernant sa qualité d'image instantanée et son besoin de débit binaire associé sur la totalité du réseau annulaire aux autres dispositifs connectés et, en fonction de ces informations, un débit binaire est calculé et adapté à chaque dispositif. On utilise un canal afin de communiquer les informations aux dispositifs du réseau annulaire. De plus, étant donné que le débit binaire généré par chaque dispositif est variable, on utilise une police de service appropriée au niveau du multiplexeur afin d'empêcher le débordement du tampon du multiplexeur et d'assurer un temps de transit minimum au niveau de ce multiplexeur.
PCT/US2000/019962 1999-07-27 2000-07-21 Multiplexage statistique mettant en application un reseau annulaire pour effectuer un controle sur bande WO2001008419A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU63640/00A AU6364000A (en) 1999-07-27 2000-07-21 Statistical multiplexing utilizing ring network for in-band control

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14576599P 1999-07-27 1999-07-27
US60/145,765 1999-07-27

Publications (1)

Publication Number Publication Date
WO2001008419A1 true WO2001008419A1 (fr) 2001-02-01

Family

ID=22514439

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/019962 WO2001008419A1 (fr) 1999-07-27 2000-07-21 Multiplexage statistique mettant en application un reseau annulaire pour effectuer un controle sur bande

Country Status (2)

Country Link
AU (1) AU6364000A (fr)
WO (1) WO2001008419A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5541919A (en) * 1994-12-19 1996-07-30 Motorola, Inc. Multimedia multiplexing device and method using dynamic packet segmentation
WO1998016067A2 (fr) * 1996-10-08 1998-04-16 Tiernan Communications, Inc. Dispositif et procede de multiplexage de transport de services multiples
US5793425A (en) * 1996-09-13 1998-08-11 Philips Electronics North America Corporation Method and apparatus for dynamically controlling encoding parameters of multiple encoders in a multiplexed system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5541919A (en) * 1994-12-19 1996-07-30 Motorola, Inc. Multimedia multiplexing device and method using dynamic packet segmentation
US5793425A (en) * 1996-09-13 1998-08-11 Philips Electronics North America Corporation Method and apparatus for dynamically controlling encoding parameters of multiple encoders in a multiplexed system
WO1998016067A2 (fr) * 1996-10-08 1998-04-16 Tiernan Communications, Inc. Dispositif et procede de multiplexage de transport de services multiples

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHONG S ET AL: "PREDICTIVE DYNAMIC BANDWIDTH ALLOCATION FOR EFFICIENT TRANSPORT OF REAL-TIME VBR VIDEO OVER ATM", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS,US,IEEE INC. NEW YORK, vol. 13, no. 1, 1995, pages 12 - 23, XP000492741, ISSN: 0733-8716 *
PERKINS M ET AL: "STATISTICAL MULTIPLEXING OF MULTIPLE MPEG-2 VIDEO PROGRAMS IN A SINGLE CHANNEL", SMPTE JOURNAL,US,SMPTE INC. SCARSDALE, N.Y, vol. 104, no. 9, 1 September 1995 (1995-09-01), pages 596 - 599, XP000523229, ISSN: 0036-1682 *
REININGER D ET AL: "STATISTICAL MULTIPLEXING OF VBR MPEG COMPRESSED VIDEO ON ATM NETWORKS", PROCEEDINGS OF THE ANNUAL JOINT CONFERENCE OF THE COMPUTER AND COMMUNICATIONS SOCIETIES (INFOCOM),US,LOS ALAMITOS, IEEE COMP. SOC. PRESS, vol. CONF. 12, 28 March 1993 (1993-03-28), pages 919 - 926, XP000419651, ISBN: 0-8186-3580-0 *

Also Published As

Publication number Publication date
AU6364000A (en) 2001-02-13

Similar Documents

Publication Publication Date Title
JP2648418B2 (ja) 可変レート符号器を制御する方法
US6987739B2 (en) Video data multiplexing device, video data multiplexing control method, encoded stream multiplexing device and method, and encoding device and method
JP3130294B2 (ja) マルチメディア・データの送信のセグメント化および時間同期化のための装置および方法
EP1149498B1 (fr) Procede de detection et de prevention de saturation par exces de largeur de bande dans un multiplexeur statistique
CA2162611C (fr) Methode et appareil permettant le transfert synchrone et l'acces en mode paquet pour une multiplicite de services offerts sur un reseau de communication a large bande
US6754210B1 (en) Shared medium access scheduling with common time reference
US6570888B1 (en) Using a receiver model to multiplex variable-rate bit streams having timing constraints
JP2002536889A (ja) 統計的マルチプレクサのバンド幅を十分にすることを確実にする方法および装置
WO1998011687A2 (fr) Procede et appareil pour la commande dynamique de parametres de codage de codeurs multiplexes dans un systeme multiplexe
EP0841820A2 (fr) Méthode et appareil pour coder, multiplexer et transmettre un signal vidéo
US11349595B2 (en) Service multiplexing method, service demultiplexing method, and related device
JP2004128603A (ja) パケット伝送方法及び装置、それを用いた基地局装置、無線lan端末装置、無線lanシステム
US9083971B2 (en) Algorithms for determining bitrate for a statistical multiplexing system to ensure stream alignment from encoders to the multiplexer
JP3438564B2 (ja) ディジタル信号多重化装置及び方法、記録媒体
US7508759B2 (en) Network side transmission apparatus and method for controlling variable traffic rate by dynamic bandwidth allocation
WO1999014905A1 (fr) Procede de transmission de paquets, dispositif de transmission de paquets, procede de transmission de trames radio, procede concernant les telecommunications mobiles, systeme de telecommunications mobiles et commutateur
WO2001008419A1 (fr) Multiplexage statistique mettant en application un reseau annulaire pour effectuer un controle sur bande
Chen et al. A robust coding scheme for packet video
Bushmitch et al. Supporting MPEG video transport on DOCSIS-compliant cable networks
JPS63133736A (ja) パケツト即時通信方式
Ramamurthy et al. An analysis of a variable bit rate multiplexer using loss priorities
KR100236822B1 (ko) 가변 비트율 신호의 다중화율 결정방법
CN115550161A (zh) 参数配置的方法、装置、控制器、通信设备和通信系统
Lee et al. Maximally flat bandwidth allocation for variable bit rate video
Mukherjee et al. Supporting Video Transport on DOCSIS-compliant Cable Networks

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP