WO2012013226A1 - Improved bitrate distribution - Google Patents
Improved bitrate distribution Download PDFInfo
- Publication number
- WO2012013226A1 WO2012013226A1 PCT/EP2010/060949 EP2010060949W WO2012013226A1 WO 2012013226 A1 WO2012013226 A1 WO 2012013226A1 EP 2010060949 W EP2010060949 W EP 2010060949W WO 2012013226 A1 WO2012013226 A1 WO 2012013226A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bitrate
- video information
- buffer
- video
- size
- Prior art date
Links
- 239000000872 buffer Substances 0.000 claims abstract description 133
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000004044 response Effects 0.000 claims abstract description 18
- 230000003139 buffering effect Effects 0.000 claims abstract description 5
- 230000008569 process Effects 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000007704 transition Effects 0.000 description 15
- 230000008859 change Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000000007 visual effect Effects 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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
- 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/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- 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
- H04N21/2365—Multiplexing of several video streams
- H04N21/23655—Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
-
- 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/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
Definitions
- the present application relates to a method of processing video information, a video encoding apparatus, an encoder, a rate control, a bitrate controller and a computer readable medium.
- Multiplexing is often used, for example, in the transmission of a plurality of channels in digital television.
- a multiplexing system can combine several input channels (or data streams) to form a single output data stream, where the total group bitrate of the output data stream is the sum of the bitrates of the constituent parts.
- the input data streams may be the outputs of video or audio compression systems, in which case the sum of their bitrates varies considerably with the nature of the content being compressed.
- each channel is constrained to a bitrate allocation which is an appropriate share of the total output bitrate. This requires that a particular channel picture quality must be constrained when the bitrate demand for that channel exceeds the fixed share bitrate allocated to that channel.
- Other channels may have spare capacity due to their lower instantaneous bitrate demands, but in such fixed share systems the spare capacity is filled with stuffing bits and is not available for use by other input channels.
- Statistical multiplexing helps to avoid the quality loss and inefficient use of available output capacity present in fixed share systems.
- Statistical multiplexing allows a group of encoders to share a fixed total common bitrate, but instead of allocating a fixed bitrate to each encoder, a bitrate controller dynamically allocates different bitrates to each encoder dependant upon the instantaneous bitrate demand of the respective input video data streams.
- the excess bitrate can be reallocated by the bitrate controller to allow a higher bitrate to be used by a channel which requires a higher bitrate to maintain picture quality.
- Available bitrate is allocated to the channel encoders according to demand, so that the system may achieve a more uniform picture quality on the output from each encoder.
- Available bitrate may also be allocated according to how critical the content being encoded is; during bitrate allocation an encoder processing critical content is given priority over an encoder processing less critical content.
- the bitrate controller ensures that the instantaneous total group bitrate is equal to or less than the channel capacity. By sharing out the total group bitrate between the channel encoders, the picture quality of all encoders can be improved compared to the average picture quality of a fixed share system. Embodiments of the present application seek to improve the bitrate
- a method of processing video information comprising encoding received video information, the encoded video
- the method further comprises buffering the encoded video information in a buffer; wherein the size of the buffer is controlled in response to the complexity of the received video information.
- the buffer size is constrained by encoding performance, which would deteriorate with too small a buffer for the particular application.
- Encoded video information is stored in the buffer.
- the buffer size is one factor that determines a minimum bitrate; the other is the delay time which must remain fixed for a system. If the delay were not fixed for, say, a television encoding/decoding system then the pictures output by a television would speed up or slow down. Because video arrives at an encoder at a regular frame rate, it must leave the decoder at the other end of the broadcast chain at the same regular frame rate, and in order to do this the delay between the two must be fixed. Reducing the size of the buffer upon receipt of simple video information means that the encoding bitrate can be reduced which in turn frees up bandwidth for use by other channels.
- Simple video information may be defined as having an instantaneous bitrate demand below a threshold value.
- the instantaneous bitrate demand may be determined by a look-ahead handler.
- the complexity of video information is exhibited in the bitrate required to encode the video information at a predetermined quality level. More complex video information will require a higher encoded video bitrate than less complex or simple video information. Fast changing and very dynamic video sequences will give complex video information requiring a higher encoded video bitrate.
- a static image or even a substantially static image, such as a "talking head" or a newscast being read by a presenter, will accommodate a lower encoded video bitrate and are examples of simple video information.
- a minimum encoded video bitrate may be defined by the size of the buffer or may be defined by a standard according to which the encoding is performed.
- a reduced size buffer may allow a low encoded video bitrate to be applied, the low encoded video bitrate less than the minimum encoded video bitrate.
- the size of the buffer may be reduced in response to simple received video information.
- the method may further comprise reducing the encoding bitrate to a low bitrate less than a defined minimum bitrate.
- a coding delay for simple video information may be the same as the coding delay for non-simple video.
- the encoded video bitrate and the size of the buffer may be controlled dependent upon the complexity of a plurality of streams of received video information.
- the plurality of streams of video information may be transmitted as part of a multiplex.
- a statistical multiplexer may monitor the complexity of each of the plurality of streams of received video information and issue a bitrate allocation for each stream of video information.
- the complexity of the received video information may be defined by an instantaneous bitrate demand.
- the instantaneous bitrate demand may be measured by a look- ahead handler.
- the method may further comprise monitoring the complexity of each of the plurality of streams of received video information and determining an encoded video bitrate allocation for each stream of video information.
- a look-ahead handler may determine whether the received video information may be encoded at a bitrate less than the defined minimum bitrate.
- the look-ahead handler calculates an instantaneous bitrate demand for the received video information according to any quality of service requirements, and sends this instantaneous bitrate demand to a bitrate controller, which determines whether the received video information may be encoded at a bitrate less than the defined minimum bitrate.
- the method may further comprise detecting the receipt of new video information having a higher complexity such that it will be encoded at a video bitrate greater than or equal to the minimum encoded video bitrate, and in response to a positive detection thereof increasing the size of the buffer.
- the size of the buffer may be increased to a defined size, at which normal buffer and bitrate control procedures can be applied, ensuring that the new video information is appropriately encoded.
- the size of the buffer may be increased to a defined size, at which the encoded video bitrate may be varied above a threshold value independent of the buffer size.
- the threshold value of encoded video bitrate may be a minimum encoded video bitrate.
- the size of the buffer may be increased prior to encoding the new video information.
- a look-ahead process may be used to determine when the transition from the predetermined bitrate to the minimum bitrate should be executed. An alternative solution is to begin the transition when non-simple video
- the video encoding apparatus comprises an encoder arranged to encode received video information, the encoded video information having an encoded video bitrate.
- the encoded video bitrate is variable in response to the complexity of the received video information.
- the video encoding apparatus also comprises a buffer arranged to buffer the encoded video information, wherein the size of the buffer is controlled in response to the complexity of the received video information.
- the video encoding apparatus may further comprise a look-ahead handler to determine the complexity of the received video information.
- the video encoding apparatus may further comprise a plurality of encoders and buffers for handling a respective plurality of video information streams, and may further comprise a bitrate controller arranged to receive indications of the complexity of each stream of video information and issue a bitrate allocation for each stream of video information to each of the plurality of encoders.
- Each encoder may comprise a rate control, the rate control arranged to manage the size of the buffer in response to the bitrate allocation received from the bitrate controller.
- the rate control is arranged to receive a bitrate allocation instruction from a bitrate controller.
- the rate control is also arranged to control the encoded video bitrate of a respective main encoder according to the bitrate allocation.
- the rate control is also arranged to manage a respective buffer, the buffer for buffering the encoded video information, wherein the size of the buffer is controlled in response to the bitrate allocation.
- a bitrate controller is arranged to receive indications of instantaneous bitrate demand for each of a plurality of video information streams.
- the bitrate controller is also arranged to set an encoding bitrate for each of a plurality of encoders, each encoder
- the bitrate controller sets an encode bitrate that requires a respective encoder to use a reduced size buffer to maintain a coding delay.
- the indication of an instantaneous bitrate demand may be received from a look-ahead handler.
- Figure 1 shows a block diagram of a statistical multiplexing system
- FIG. 2 illustrates an encoding procedure
- Figure 3 shows a physical encoder buffer and how the CPB is handled within it
- Figure 4 shows a flow diagram of a method for encoding video information
- Figures 5a and 5b illustrate the change of CPB size in the case of a transition from BMin ( Figure 5a) to LeastBMin ( Figure 5b);
- Figures 6a, 6b and 6c illustrate the encoding bitrate, playout bitrate, and a hypothetical playout bitrate, respectively during a transition to and from LeastBMin; and Figures 7a, 7b and 7c illustrate the CPB size change based on an instantaneous bitrate change from LeastBMin and LeastCPB, and in normal operation where bitrate is greater than BMin.
- Figure 1 shows a block diagram of a statistical multiplexing system 100 with three look-ahead handlers 120 and three main encoders 140.
- the three main encoders 140 comprise a statistical multiplexing group within the statistical multiplexing system 100.
- Each look-ahead handler 120 receives a stream of video information for compression.
- the present embodiment is described as multiplexing three video streams. In other embodiments a different number of streams are combined.
- the stream may be a video signal. In other embodiments streams or signals of any combination of video, audio, or any other data stream are combined.
- Each stream is also received by a respective delay unit 160 before being passed to the main encoder 140.
- Each look-ahead handler 120 outputs a instantaneous bitrate demand to a bitrate controller 130.
- the bitrate controller 130 provides a control signal to a rate control 142 in each main encoder 140.
- Each main encoder 140 has a coded picture buffer 145 connected thereto. Compressed video information passes from the main encoder 140 to a coded picture buffer 145.
- the compressed video information is then passed to a physical buffer 150 before being passed onto a multiplexer 170.
- the multiplexer 170 receives compressed video information from each of the three main encoders 140, via respective coded picture buffers 145 and physical buffers 150.
- the look-ahead handlers 120 provide instantaneous bitrate demands to a bitrate controller 130.
- the instantaneous bitrate demands are based upon the uncompressed video signal.
- the instantaneous bitrate demands are used by the bitrate controller 130 to allocate bitrates to the main encoders 140.
- Delay units 160 are used on each channel, between the look-ahead handlers 120 and main encoder 140, to ensure the bitrate controller 130 maintains synchronisation with the respective portion of the input video channels.
- the delay units 160 compensate for the processing delay in both the look-ahead handlers 120 and the bitrate controller 130.
- the bitrate controller 130 processes the instantaneous bitrate demands from all look-ahead handlers 120 and allocates appropriate bitrates to the main encoders 140 dependent upon the instantaneous bitrate demands.
- the bitrate controller 130 uses an allocation algorithm to determine the priority with which each main encoder 140 is awarded available bitrate.
- the allocation algorithm is responsive to the instantaneous bitrate demand and the criticality of the content to be encoded.
- Each main encoder 140 includes a rate control 142 which chooses quantization levels for the encoding algorithm to achieve the bitrate prescribed by the bitrate controller 130.
- Each main encoder 140 is connected to a respective coded picture buffer (CPB) 145 which is used during the encoding process.
- the CPB 145 is known as the Video Buffer Verifier in a system where MPEG-2 encoding is used.
- the physical buffer 150 stores the encoded information prior to multiplexing by the multiplexer 170.
- the output of the multiplexer 170 is passed to a transmitter, not shown in Figure 1 .
- Uncompressed video information is received 210 by the main encoder 140 from the respective delay unit 160.
- An encoding algorithm is applied 220 to the uncompressed video signal to create compressed video information.
- compressed bits are stored 230 in the CPB 145. If the compressed video information does not satisfy the bitrate requirement allocated by the bitrate controller 130, then the compressed bits are still stored 230 in the CPB 145, but also the quantization of the encoding algorithm is adjusted 250. Then the compressed bits are sent 260 to the physical buffer 150.
- the CPB 145 may be a physical buffer within the main encoder, or it may be a virtual buffer. Alternatively, the CPB 145 may reside within a portion of the physical buffer 150. In that case, when a set of compressed bits are sent 260 from the CPB 145 to the physical buffer 150, the compressed bits do not need to be rewritten to a different portion of the physical buffer 150, the part of the physical buffer 150 that is addressed as the CPB 145 can be changed to no longer include the portion of buffer where the set of compressed bits are stored.
- the size of the CPB 145 in a system according to the H.264 encoding standard is a trade-off between having sufficient size to handle complex video information, but not being so big that the minimum Bitrate (BMin) is too high.
- the CPB size, minimum bitrate and coding delay are related according to:
- the coding delay, or delay time is the time taken for video information to be processed through the encoder and decoder buffer. This must remain fixed to produce an output frame rate consistent with the input.
- the delay time is distinct from the delay unit 160.
- the delay units 160 ensure that the bitrate controller 130 maintains synchronisation with the respective portion of the input video information.
- a full CPB 145 if not restocked by a main encoder 140, would empty over the delay time if drained at bitrate BMin.
- the minimum size of the CPB 145 is constrained by encoding performance.
- the size of the CPB 145 is chosen such that it may hold large picture sizes and such that it may provide acceptable picture quality; a CPB that is too small for a particular application will deteriorate the performance of the encoder.
- the size of the delay time contributes directly to the time required to change channel, which has an upper limit due to user expectations.
- the delay time is fixed for a particular system, and these two requirements typically require a BMin which is higher than desirable. For example, if there is taken to be an upper limit on the size of the delay, and a large CPB size were needed to provide a particular picture quality, then a large value for BMin would be required (from equation (1 )).
- the main encoder 140 generates stuffing bits to bring the bitrate up to match the minimum bitrate. This is a waste of that available bitrate. It would be more efficient if instead of sending stuffing bits, that capacity was used to allow a higher bandwidth for another channel.
- Figure 3 shows the physical encoder buffer 310 and how the CPB 320 is handled within it.
- the CPB 320 occupies a portion of the same hardware buffer as the physical buffer 310.
- This encoder implementation uses a "sliding window" to manipulate the position of the CPB 320 in the physical encoder buffer 310.
- the physical encoder buffer occupancy 315 is shown as a dotted area.
- the CPB 320 is shown by diagonal shading. The vertical shading shows the CPB occupancy 325.
- the part of the physical encoder buffer 310 apportioned to the CPB 320 changes with the instantaneous bitrates of the encoder. As shown in Figure 3, the CPB 320 can be said to sit on top of the bits in the physical encoder buffer.
- the area of the physical encoder buffer 310 apportioned to the CPB 320 slides up with increasing occupancy of the physical encoder buffer.
- the area of the physical encoder buffer 310 apportioned to the CPB 320 slides down with decreasing occupancy based on instantaneous bitrates.
- both the CPB 320 and the physical encoder buffer 310 are part of the same buffer.
- that hardware buffer is virtually divided into two parts: one is the CPB 320, which is managed by the rate control, and the other is the physical encoder buffer 310.
- the rate control checks the CPB occupancy 325 and possible picture quality, and modifies the encoding algorithm parameters to generate an output to the CPB 320. This bitrate will apply to the encoding process (which drains the CPB 320 into the physical encoder buffer 310) immediately but will apply to the playout process (which drains the physical encoder buffer 310) after the delay time.
- the encoding bitrate 330 is the rate at which bits are drained from the CPB 320 into the physical encoder buffer 310; and the playout bitrate 340 is the rate at which bits are drained from the physical encoder buffer 310.
- the playout bitrate 340 is equal to the encoding bitrate 330 but lags it by a period equal to the delay time.
- the statmux allocates 1 .7 Mbps to the encoder.
- the previous encoding bitrate 330 of 2.0 Mbps becomes the playout bitrate 340 which is applied to drain the physical encoder buffer.
- bits are pushed into the physical encoder buffer at the speed of 1 .7 Mbps.
- the maximum size required of the physical encoder buffer 310 is calculated as
- the rate control 142 in each main encoder 140 manages the encoding process to match the desired bitrate.
- the rate control 142 may manage various constraints including buffer model compliance and latency.
- the rate control 142 normally does not check the physical encoder buffer occupancy 315 as the size of the physical encoder buffer 310 is set to have a value greater than required.
- the size of the CPB 320 must be sufficient to handle large picture sizes. If the delay time is kept with a comparatively low value (to maintain an acceptable channel change time) then the value of BMin will be higher than a main encoder 140 requires for simple video content. Holding BMin for all main encoders 140 will require the use of stuffing bits when simple video content is encoded. The bandwidth that is held to supply a main encoder 140 with BMin when it is handling simple video content could be released for use by other channels. If the delay time were to vary, then buffer compliance would be broken and the encoded stream could not be decoded by a standard decoder. Therefore, the rate control 142 requires a new mechanism if a lower BMin is applied to the main encoder 140 in the system.
- LeastBMin is defined as a new bitrate, lower than BMin, which is to be used for simple video content.
- LeastCPB is the size of the coded picture buffer 320 that is used when LeastBMin is being used.
- LeastBMin and LeastCPB are minimum values for the reduced bitrate and reduced size picture buffer respectively. Then, a reduced bitrate and respective reduced CPB size may be used by an encoder with values lying between the minimum reduced values and the defined minimum values.
- the reduced bitrate and reduced picture buffer size have no minimum reduced values and the rate control 142 or bit rate controller 130 may select any values less than the defined minimum values but which deliver acceptable performance for the simple video information.
- the values of LeastBMin and LeastCPB may be considered as example values for a reduced bitrate and reduced size picture buffer used.
- LeastBMin and LeastCPB LeastBMin * delay (3)
- FIG. 4 shows a flow diagram of a method for encoding video information.
- Video information for encoding is received 410.
- a determination 420 is made as to whether the video information received is simple video information.
- Simple video information is video information that can be encoded at a bitrate less than a minimum bitrate at an acceptable picture quality.
- the detection of simple video information may be performed by monitoring the output of a look- ahead handler 120. If the determination 420 is negative, then the video information is encoded 430 at an encoding bitrate 330 > BMin. Then the encoded video information is stored 440 in the CPB 145. If the determination 420 is positive, then: the size of the CPB is reduced 450; and the encoding bitrate is reduced 460 to a predetermined value ⁇ BMin. Then video information is encoded 470 at the predetermined value, and the encoded video information is stored 480 in the CPB 145.
- any value of LeastBMin that is lower than BMin, and provides acceptable quality encoding of the simple video content may be used. This may be predetermined or may be determined by the bitrate controller 130 or the rate control 142 in the main encoder.
- the output of the look-ahead handler 120 may be used to determine the value of LeastBMin.
- LeastCPB is determined from LeastBMin so as to maintain a constant delay according to equation (3).
- Two transition periods may receive special attention: one is from normal bitrate (> BMin) to the new lower bitrate (LeastBMin); the other is from
- the rate control 142 changes the size of CPB that it manages to LeastCPB in order to keep the delay time constant.
- Figures 5a and 5b demonstrate the change of CPB size 320 in the case of a transition from BMin ( Figure 5a) to LeastBMin ( Figure 5b).
- the physical encoder buffer 210 must contain enough bits to satisfy the playout bitrate 340 at all times.
- the CPB occupancy 325 is reduced by ACPB by pushing these bits to the physical encoder buffer.
- the remaining bits in CPB 320 will then comply with LeastCPB. ⁇ If ACPB ⁇ CPB _ Occupancy
- the main encoder 140 calculates the distance to the change point and adjusts the encoding parameters such as quantisation parameter (QP) smoothly.
- QP quantisation parameter
- the transition period for CPB size 320 can start after the encoding bitrate 330 changes to
- bits are generated either before or after the encoding bitrate 330 is changed. Where the bits are generated before the encoding bitrate 330 is changed a look-ahead process is required. No look-ahead is required by the latter method where the bits are generated after the encoding bitrate 330 is changed.
- bitrate controller were to allocate an intermediate bitrate during the transition period, where the intermediate bitrate satisfies
- the encoding bitrate 330 needs to change from LeastBMin back to a normal bitrate ( > BMin ) and LeastCPB correspondingly changes back to the normal CPB size 320.
- This process is shown in Figures 6a and 6b. Due to the delay time, bits are pumped into the physical encoder buffer 310 at the normal rate; but are extracted at LeastBMin until the delay time has elapsed. This would easily cause the decoder buffer to underflow due to the low transmit bitrate and extra stuffing, and because an image cannot reach the decoder buffer earlier than its decoder time stamp (DTS).
- DTS decoder time stamp
- the solution proved herein uses a look-ahead process, that is, once the look- ahead handler 120 detects the impending arrival of normal video content, it then demands a high bitrate a short period in advance of this arriving at the main encoder 140.
- the feasibility of this approach is demonstrated below.
- bitrate at L is X
- X corresponds to a normal bitrate at time L, where X > BMin.
- Figures 6a and 6b show the encoding bitrate 330 and Figure 6b showing the playout bitrate 340.
- Normal video information will enter the main encoder 140 at the end of the look-ahead period L.
- the physical encoder buffer 310 is drained at LeastBMin during L. As the stream of video information is still simple during the period of L and the encoding bitrate is normal, if no extra stuffing is inserted, the CPB 320 will underflow.
- the rate control mechanism manipulates the CPB 320 and the physical encoder buffer 310 to meet the buffer model.
- the physical encoder buffer 310 is drained at a playout bitrate 340 of LeastBMin. A high bitrate follows after the delay time and so the decoder buffer avoids underflow.
- Figure 6 shows the encoding bitrate 330 and playout bitrate 340 used to drain the CPB 320 and the physical encoder buffer 310 respectively.
- the physical encoder buffer 310 were drained at LeastBMin for period L and then BMin for the period of the delay time immediately after period L, then this gives an indication of how many bits should be sent out before the physical encoder buffer 310 is drained at the normal bitrate. This is the shaded area 610 in Figure 6c.
- at least the same amount of data must be drained from the physical encoder buffer 340 during this period of time to guarantee buffer model compliance. This is shown as the shaded area 620 of figure 6b. Based on this information, we have the following equation
- Equations (5) and (7) give details on the minimum look-ahead length that could be used based on known parameters (which could be identified from a configuration file) and also the corresponding bitrate requirements from the statmux given the look-ahead value L.
- Figure 7 illustrates the CPB size change based on an instantaneous bitrate change, that is, the CPB size is recovered from LeastBMin and LeastCPB 321 as shown in figure 7a to BMin and CPB 320 as shown in figure 7b.
- ACPB required number of bits
- statmux can allocate X during L, the CPB 320 and physical encoder buffer 310 operation can be completed within L.
- the rate control 142 In order to process the situation when the bitrate controller 130 cannot assign enough bitrate during L due to the limited bandwidth and trade-off between requests from other channels, the rate control 142 extends the transition period to the delay period (where L ⁇ delay). Therefore even if the assigned bitrate is less than X during L, ACPB may be fully claimed back later. Though with this operation there is then a risk of deteriorating the visual quality of the upcoming normal video content.
- the rate control 142 allows the CPB bottom to slide down negatively.
- the rate control 142 adds the dynamic limitation on available CPB size and also stuffing to avoid encoder buffer underflow.
- CPB_Bottom slides up from negative area based on instant encoding bitrate.
- the actual CPB size is increased correspondingly.
- This method allows flexible look-ahead length. In this method, it is possible that the look-ahead length is too short, such that the CPB buffer size may be insufficient to hold peak demand on subsequently received critical video.
- the look-ahead length is flexible which is based on latency between look-ahead processing and the main encoder.
- LeastBMin does not need to be predetermined, and the CPB size is correspondingly calculated based on the value of CPB_Bottom to ensure the constant delay time.
- CPB_Bottom is allowed to slide negatively whenever needed based on the instantaneous encoding and playout bitrate.
- the statistical multiplexing can manage bandwidth with more flexibility and use it more efficiently so as to potentially achieve better video quality for all channels.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
Description
Claims
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2010/060949 WO2012013226A1 (en) | 2010-07-28 | 2010-07-28 | Improved bitrate distribution |
EP10742791.6A EP2599309B1 (en) | 2010-07-28 | 2010-07-28 | Improved bitrate distribution |
US13/812,187 US10205943B2 (en) | 2010-07-28 | 2010-07-28 | Bitrate distribution |
ES10742791T ES2746184T3 (en) | 2010-07-28 | 2010-07-28 | Improved bit rate distribution |
AU2010358370A AU2010358370B2 (en) | 2010-07-28 | 2010-07-28 | Improved bitrate distribution |
BR112013001014A BR112013001014A2 (en) | 2010-07-28 | 2010-07-28 | bit rate distribution |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2010/060949 WO2012013226A1 (en) | 2010-07-28 | 2010-07-28 | Improved bitrate distribution |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012013226A1 true WO2012013226A1 (en) | 2012-02-02 |
Family
ID=42937433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2010/060949 WO2012013226A1 (en) | 2010-07-28 | 2010-07-28 | Improved bitrate distribution |
Country Status (6)
Country | Link |
---|---|
US (1) | US10205943B2 (en) |
EP (1) | EP2599309B1 (en) |
AU (1) | AU2010358370B2 (en) |
BR (1) | BR112013001014A2 (en) |
ES (1) | ES2746184T3 (en) |
WO (1) | WO2012013226A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3629586A1 (en) * | 2018-09-25 | 2020-04-01 | Rovi Guides, Inc. | Systems and methods for adjusting buffer size |
US11265597B2 (en) | 2018-10-23 | 2022-03-01 | Rovi Guides, Inc. | Methods and systems for predictive buffering of related content segments |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9276989B2 (en) * | 2012-03-30 | 2016-03-01 | Adobe Systems Incorporated | Buffering in HTTP streaming client |
US9549189B2 (en) * | 2012-11-06 | 2017-01-17 | Ittiam Systems (P) Ltd. | Method for media rate control in a video encoding system |
US20140328384A1 (en) * | 2013-05-02 | 2014-11-06 | Magnum Semiconductor, Inc. | Methods and apparatuses including a statistical multiplexer with global rate control |
US20140334553A1 (en) * | 2013-05-07 | 2014-11-13 | Magnum Semiconductor, Inc. | Methods and apparatuses including a statistical multiplexer with bitrate smoothing |
US10051294B2 (en) * | 2015-03-31 | 2018-08-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Compressed video buffering |
WO2018216929A1 (en) * | 2017-05-25 | 2018-11-29 | Samsung Electronics Co., Ltd. | Methods and systems for saving data while streaming video |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995029546A1 (en) * | 1994-04-22 | 1995-11-02 | Thomson Consumer Electronics, Inc. | A system for dynamically allocating a scarce resource |
GB2337392A (en) * | 1997-12-08 | 1999-11-17 | Sony Corp | Encoder and encoding method |
US6310915B1 (en) * | 1998-11-20 | 2001-10-30 | Harmonic Inc. | Video transcoder with bitstream look ahead for rate control and statistical multiplexing |
WO2010060463A1 (en) * | 2008-11-25 | 2010-06-03 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for statistical multiplexing |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7170938B1 (en) * | 2001-08-21 | 2007-01-30 | Cisco Systems Canada Co. | Rate control method for video transcoding |
-
2010
- 2010-07-28 BR BR112013001014A patent/BR112013001014A2/en active Search and Examination
- 2010-07-28 WO PCT/EP2010/060949 patent/WO2012013226A1/en active Application Filing
- 2010-07-28 US US13/812,187 patent/US10205943B2/en active Active
- 2010-07-28 ES ES10742791T patent/ES2746184T3/en active Active
- 2010-07-28 EP EP10742791.6A patent/EP2599309B1/en active Active
- 2010-07-28 AU AU2010358370A patent/AU2010358370B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995029546A1 (en) * | 1994-04-22 | 1995-11-02 | Thomson Consumer Electronics, Inc. | A system for dynamically allocating a scarce resource |
GB2337392A (en) * | 1997-12-08 | 1999-11-17 | Sony Corp | Encoder and encoding method |
US6310915B1 (en) * | 1998-11-20 | 2001-10-30 | Harmonic Inc. | Video transcoder with bitstream look ahead for rate control and statistical multiplexing |
WO2010060463A1 (en) * | 2008-11-25 | 2010-06-03 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for statistical multiplexing |
Non-Patent Citations (1)
Title |
---|
PERKINS M ET AL: "STATISTICAL MULTIPLEXING OF MULTIPLE MPEG-2 VIDEO PROGRAMS IN A SINGLE CHANNEL", SMPTE JOURNAL, SMPTE INC. SCARSDALE, N.Y, US, vol. 104, no. 9, 1 September 1995 (1995-09-01), pages 596 - 599, XP000523229, ISSN: 0036-1682 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3629586A1 (en) * | 2018-09-25 | 2020-04-01 | Rovi Guides, Inc. | Systems and methods for adjusting buffer size |
US10848819B2 (en) | 2018-09-25 | 2020-11-24 | Rovi Guides, Inc. | Systems and methods for adjusting buffer size |
EP4054200A3 (en) * | 2018-09-25 | 2022-10-05 | Rovi Guides, Inc. | Systems and methods for adjusting buffer size |
US11711570B2 (en) | 2018-09-25 | 2023-07-25 | Rovi Guides, Inc. | Systems and methods for adjusting buffer size |
US12096069B2 (en) | 2018-09-25 | 2024-09-17 | Rovi Guides, Inc. | Systems and methods for adjusting buffer size |
US11265597B2 (en) | 2018-10-23 | 2022-03-01 | Rovi Guides, Inc. | Methods and systems for predictive buffering of related content segments |
US11595721B2 (en) | 2018-10-23 | 2023-02-28 | Rovi Guides, Inc. | Methods and systems for predictive buffering of related content segments |
Also Published As
Publication number | Publication date |
---|---|
EP2599309A1 (en) | 2013-06-05 |
EP2599309B1 (en) | 2019-06-19 |
US20130128955A1 (en) | 2013-05-23 |
BR112013001014A2 (en) | 2016-05-24 |
AU2010358370B2 (en) | 2015-03-05 |
ES2746184T3 (en) | 2020-03-05 |
AU2010358370A1 (en) | 2013-02-07 |
US10205943B2 (en) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2010358370B2 (en) | Improved bitrate distribution | |
US7885270B2 (en) | Statistical multiplexing of compressed video streams | |
EP0758509B1 (en) | Method and apparatus for preventing overflow and underflow of an encoder buffer in a video compression system | |
US5677969A (en) | Method, rate controller, and system for preventing overflow and underflow of a decoder buffer in a video compression system | |
US10542254B2 (en) | Video bit rate control method and video coding device | |
US9060189B2 (en) | Multiplexed video streaming | |
US8135061B1 (en) | Variable bit rate encoding | |
US8345774B2 (en) | Hypothetical reference decoder | |
EP1279292A2 (en) | Rate control and buffer protection for variable bit rate video programs over a constant rate channel | |
WO1995026111A2 (en) | An encoder buffer having an effective size which varies automatically with the channel bit-rate | |
US9167256B2 (en) | Method and apparatus for encoding | |
US20100272170A1 (en) | Image encoding apparatus, image encoding method and medium on which image encoding program is recorded | |
US11653041B2 (en) | Jitter management in a statistical multiplexer employing an IP network | |
US20090185620A1 (en) | Video encoding apparatus and method for the same | |
US10893308B2 (en) | Hybrid statistical multiplexer | |
EP2903289A1 (en) | Receiver for layered real-time data stream and method of operating the same | |
AU678927C (en) | Method, rate controller, and system for preventing overflow and underflow of a decoder buffer | |
AU678926C (en) | Method and apparatus for preventing overflow and underflow of an encoder buffer in a video compression system | |
JP2011004163A (en) | Transmitter | |
KR20060016510A (en) | Apparatus and method for controlling transmission rate in digital broadcasting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10742791 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010742791 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13812187 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2010358370 Country of ref document: AU Date of ref document: 20100728 Kind code of ref document: A |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112013001014 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112013001014 Country of ref document: BR Kind code of ref document: A2 Effective date: 20130115 |