EP1510077A2 - Transmission method using a virtual reception buffer to absorb fluctuation of the channel transmission rate - Google Patents
Transmission method using a virtual reception buffer to absorb fluctuation of the channel transmission rateInfo
- Publication number
- EP1510077A2 EP1510077A2 EP03752875A EP03752875A EP1510077A2 EP 1510077 A2 EP1510077 A2 EP 1510077A2 EP 03752875 A EP03752875 A EP 03752875A EP 03752875 A EP03752875 A EP 03752875A EP 1510077 A2 EP1510077 A2 EP 1510077A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- risk
- reception buffer
- bitrate
- transmission 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.)
- Withdrawn
Links
Classifications
-
- 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
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
Definitions
- the present invention relates to a transmission system comprising a transmitter for transmitting a data stream having an adaptable bitrate, referred to as data bitrate, a receiver comprising a reception buffer and a decoder, and a transmission channel having a variable channel transmission rate.
- the invention also relates to a transmitter to be used in such a transmission system.
- the invention also relates to a transmission method for transmitting a data stream having an adaptable bitrate from a transmitter to a receiver via a transmission channel having a variable channel transmission rate, said receiver comprising a reception buffer and a decoder.
- the invention also relates to a program comprising instructions for implementing such a transmission method when said program is executed by a processor.
- the invention has interesting applications, notably for streaming audio and/or video content via the Internet.
- Internet is a shared environment where end systems are expected to react to congestion properly and promptly.
- the bandwidth available for the streaming application is determined on the basis of the state of the network.
- video streaming applications require a relatively constant bandwidth to supply a stream with a certain quality.
- Internet streaming applications should be quality-adaptive. This means that streaming applications should adjust the quality of the supplied stream, such that the bandwidth required for transmitting the stream matches the available bandwidth.
- One solution to achieve this is to switch among a plurality of pre-encoded streams, each stream corresponding to a different quality.
- the present invention proposes an improved way of adapting the bitrate of the transmitted stream.
- a transmitter for sending a data stream having an adaptable bitrate, referred to as data bitrate, to a receiver having a reception buffer and a decoder, via a transmission channel having a variable channel transmission rate is configured to: estimate a risk of data starvation in said reception buffer; estimate a risk of data overflow in said reception buffer; calculate an estimation of the current channel transmission rate; - trigger an adaptation of said data bitrate depending on said estimation of the current channel transmission rate if there is a risk of data starvation or a risk of data overflow.
- the data bitrate is adapted only if there is a risk of starvation or a risk of overflow in the reception buffer.
- the invention uses the reception buffer to absorb the fluctuation of the channel transmission rate as long as the filling state of the reception buffer permits to do so. In this respect, avoiding starvation or overflow of the reception buffer is essential because it would directly affect the rendering of the content.
- the invention improves the subjective global quality for the user. In fact, each time the data bitrate is modified, the quality of the rendered content changes at the receiver side, and too frequent changes in the quality of the content are very inconvenient for the end user.
- the current value TD(t) of the transit duration via the transmission channel is taken into account to estimate the risk of data starvation and/or data overflow.
- the current value of the transit duration is given by the following expression:
- RTT TD(t) RTT(t) - ⁇ - -ax [RTT(t) - RTT ⁇ ]
- RTT(t) is the current value of said round trip time
- RTT m - n is the minimum value of said round trip time
- ⁇ is a constant factor comprised between 0 and 0.5.
- the size of the elementary units is variable, or when the difference between the decoding times of two successive elementary units is variable, it is advantageous to use both the quantity of data and the associated rendering duration for estimating the risk of starvation and the risk of overflow.
- Controlling the quantity of data stored in the reception buffer ensures that the reception buffer is never full or empty.
- Controlling the rendering duration of the data stored in the reception buffer allows absorbing small holes in the transmission while avoiding the storage of an excessive amount of data in the reception buffer.
- This embodiment applies advantageously when the content is video encoded in accordance with the MPEG-4 standard, because then the data streams comprise elementary units called I-frames and P-frames, where the P-frames contain fewer data than the I-frames.
- control rate protocols like TCP or TFRC control the sending time of the elementary units to enforce estimations of the channel transmission rate as transmitter sending rate.
- the invention allows using such control rate protocols while maintaining a certain amount of data in the reception buffer.
- FIG. 1 is a functional block diagram of a first embodiment of a transmission system according to the invention.
- Fig. 2 is a functional block diagram of a second embodiment of a transmission system according to the invention.
- Fig. 3 is a flow chart describing the steps of a transmission method according to the invention.
- a transmission system comprises a transmitter TX, a receiver RX, a transmission channel CX having a variable channel transmission rate, and an adaptive source AS for providing a data stream D2 to be transmitted via the transmission channel CX.
- the adaptive source AS is intended to adapt the bitrate of the data stream D2 (referred to as data bitrate hereinafter) depending on the current channel transmission rate.
- the adaptive source AS is part of the transmitter TX.
- the adaptive source AS and the transmitter TX are two separate entities.
- the adaptive source AS comprises a file switcher intended to switch amongst a plurality of pre-encoded data streams SI, ..., Sn, obtained by encoding a content at various encoding rates Rl, ..., Rn corresponding to various content qualities.
- Said pre-encoded data streams may be stored locally in a memory of the adaptive source AS or on a removable support read by the adaptive source AS, or remotely in a content server.
- the adaptive source AS comprises a variable bitrate encoder intended to encode a content at a variable bitrate.
- the transmitter TX comprises a transmission/reception block TB that implements the first four layers of the ISO protocol stack.
- the network protocol ISO layer 3
- IP Internet Protocol
- the transport protocol ISO layer 4
- RTP Real time Transfer Protocol
- UDP User Datagram Protocol
- the transmitter TX further comprises a transmission rate estimation block TCB.
- the transmission rate estimation block TCB receives data Dl from the transmission block TB.
- the data Dl are used by the transmission rate estimation block TCB to calculate an estimation MB(t) of the current channel transmission rate. Said estimation of the current channel transmission rate MB(t) is forwarded to the adaptive source AS. It is used for adapting the data bitrate of the data stream D2.
- the data stream D2 is sent from the adaptive source AS to the transmission/reception block TB where it is processed in accordance with the above-mentioned protocols in order to be transmitted via the transmission channel CX.
- the receiver RX also comprises a transmission/reception block and a transmission rate estimation block similar to those of the transmitter TX.
- the transmission/reception block and the transmission rate estimation block of the receiver carry reference signs RB and RCB, respectively.
- the receiver RX further comprises a reception buffer MEM, and a decoder DEC. The data received via the transmission channel are processed by the transmission / reception block RB. Then they are stored in the reception buffer MEM before being consumed by the decoder DEC.
- One of the objects of the invention is to use the reception buffer MEM to absorb the fluctuation of the channel transmission rate, while avoiding starvation and overflow of the reception buffer MEM. Therefore, a reception buffer simulation block VB is provided upstream of the adaptive source AS to create, at the transmitter side, an image of the reception buffer MEM.
- the reception buffer simulation block NB estimates the risk of data starvation and the risk of data overflow in the reception buffer MEM, and sends a triggering signal TG to the adaptive source AS if there is a risk of data starvation or a risk of data overflow. Upon reception of such a triggering signal, the adaptive source AS adapts the data bitrate of the data stream D2.
- the data streams are organized in elementary units Ui associated with a sending time TSi and a decoding time DTSi, said decoding time being defined with reference to a decoding start time Td.
- the decoding start time Td may be known from the transmitter TX (for instance, the transmitter may know that the decoder starts decoding when the reception buffer contains a predefined number of bytes or a predefined number of elementary units). If the decoding start time is unknown from the transmitter TX, the receiver RX must send an RTCP message to the transmitter to notify the beginning of the decoding (the format of RTCP messages is defined in the above-mentioned RTP transport protocol).
- the reception buffer simulation block NB stores the sending time TSi, the decoding time DTSi and the number of bytes n; for each elementary unit Ui that is sent to the receiver RX, calculates the current value of the transit duration TD(t) of an elementary unit via the transmission channel CX. These data are used to determine: which elementary units shall be regarded as being received by the receiver RX and stored in the reception buffer MEM; which elementary units shall be regarded as being consumed by the decoder DEC. For instance: the current value of the transit duration TD(t) is calculated in the following way:
- RTT TD(t) RTT(t) - min - ax [RTT(t) - RTT min ]
- RTT(t) is the round trip time calculated by the RTP protocol
- RTT m i n is the minimum value of the round trip time
- ⁇ is a constant factor corresponding to the repartition of the congestion on the transmission channel:
- an elementary unit Ui is regarded as being received by the receiver RX and stored in the reception buffer MEM if: t ⁇ TSi + TD(t) an elementary unit Ui is regarded as being consumed by the decoder DEC if:
- DTSi ⁇ t - td DTSi ⁇ t - td
- the reception buffer simulation block NB two criteria may be used by the reception buffer simulation block NB: the quantity of data ⁇ (t) stored in the reception buffer (in number of bytes or in number of elementary units), and/or the duration ⁇ (t) of the rendering of the data stored in the reception buffer.
- N(t) ⁇ ni i e ⁇ k € N / TSk+TD(t) ⁇ t and DTSk t-td ⁇
- ⁇ (t) DTS max -DTS min
- DTS max is the decoding time of the last received elementary unit in the reception buffer
- DTS m in is the decoding time of the oldest elementary unit in the reception buffer
- n is the number of bytes in the elementary unit Ui if N(t) is expressed in number of bytes, or n; is equal to 1 if N(t) is expressed in number of packets.
- step TO A preferred embodiment of the algorithm implemented by the reception buffer simulation block NB will now be described with reference to Fig. 3.
- the algorithm is started in step TO.
- step T2 the quantity of data ⁇ (t) and the associated rendering duration ⁇ (t) is updated.
- step T3 a starvation test is performed. If ⁇ (t)>Kl and if N(t)> ⁇ G (branch "Yes"), there is no risk of starvation. Step T4 is processed. On the contrary, if ⁇ (t) ⁇ Kl or if N(t) ⁇ G (branch "No"), there is a risk of starvation. Step T5 is processed.
- step T4 an overflow test is performed. If ⁇ (t) ⁇ K2 and if N(t) ⁇ G (branch "Yes"), there is no risk of overflow. Return to step TO. On the contrary, if ⁇ (t) >K2 or if N(t) ⁇ G (branch "No"), there is a risk of overflow and step T5 is processed. - In step T5, the mean channel transmission rate MB(t) during the last round trip time RTT(t) is computed.
- ⁇ n i MBft ig ⁇ k eN ⁇ sk ⁇ t - RTT(t) .
- step T6 is executed.
- a triggering signal is sent to the adaptive source AS so that it adapts the data bitrate of the data stream D2 depending on the current channel transmission rate MB(t).
- the algorithm advantageously comprises an additional initial step TI (before step T2) to test if the next elementary unit to be sent is a random access point (RAP).
- RAP random access point
- step TI is represented in dotted lines.
- step T2 is executed. Otherwise, return to step TO.
- a shaping block HB is represented in dotted lines.
- This shaping block HB is optional. It receives the estimation of the current channel transmission rate MB(t) from the transmission rate estimation block TCB and controls the sending times of the elementary units of the data stream D2 to enforce said estimation of the current channel transmission rate as transmitter sending rate.
- the data stream D2 supplied by the adaptive source AS goes through the shaping block HB before being supplied to the transmission/reception block TB.
- the transmission rate estimation block TCB and the shaping block HB are parts of a single block, generally called rate control block.
- the functions of the rate control block may be carried out by a transmission protocol of the ISO protocol stack. For example, the TFRC protocol is used.
Abstract
The invention relates to the transmission of a data stream having an adaptable bitrate, referred to as data bitrate, via a transmission channel having a variable channel transmission rate. The receiver comprises a reception buffer and a decoder. According to the invention; a) a risk of data starvation and a risk of data overflow in said reception buffer are estimated; b) an estimation of the current channel transmission rate is calculated; c) an adaption of said data bitrate depending on said estimation of the current channel transmission rate is triggered if there is a risk of data starvation or a risk of data overflow.
Description
Transmission method using a virtual reception buffer to absorb fluctuation of the channel transmission rate
The present invention relates to a transmission system comprising a transmitter for transmitting a data stream having an adaptable bitrate, referred to as data bitrate, a receiver comprising a reception buffer and a decoder, and a transmission channel having a variable channel transmission rate. The invention also relates to a transmitter to be used in such a transmission system.
The invention also relates to a transmission method for transmitting a data stream having an adaptable bitrate from a transmitter to a receiver via a transmission channel having a variable channel transmission rate, said receiver comprising a reception buffer and a decoder.
The invention also relates to a program comprising instructions for implementing such a transmission method when said program is executed by a processor.
The invention has interesting applications, notably for streaming audio and/or video content via the Internet. The article "Layered Quality Adaptation for Internet Video Streaming" by
Reza Rejaie, Mark Handley and Deborah Estrin, IEEE journal on selected areas in Communications, vol.18, N°. 12, December 2000, deals with the streaming of audio or video content via the Internet.
As explained in this article, on the one hand, Internet is a shared environment where end systems are expected to react to congestion properly and promptly. To achieve this, the bandwidth available for the streaming application is determined on the basis of the state of the network. Thus, it could vary in an unpredictable and potentially wide fashion. On the other hand, video streaming applications require a relatively constant bandwidth to supply a stream with a certain quality. To satisfy these two requirements simultaneously, Internet streaming applications should be quality-adaptive. This means that streaming applications should adjust the quality of the supplied stream, such that the bandwidth required for transmitting the stream matches the available bandwidth. One solution to achieve this is to switch among a plurality of pre-encoded streams, each stream corresponding to a different quality.
The present invention proposes an improved way of adapting the bitrate of the transmitted stream.
According to the invention, a transmitter for sending a data stream having an adaptable bitrate, referred to as data bitrate, to a receiver having a reception buffer and a decoder, via a transmission channel having a variable channel transmission rate, is configured to: estimate a risk of data starvation in said reception buffer; estimate a risk of data overflow in said reception buffer; calculate an estimation of the current channel transmission rate; - trigger an adaptation of said data bitrate depending on said estimation of the current channel transmission rate if there is a risk of data starvation or a risk of data overflow.
According to the invention, the data bitrate is adapted only if there is a risk of starvation or a risk of overflow in the reception buffer.
This means that the invention uses the reception buffer to absorb the fluctuation of the channel transmission rate as long as the filling state of the reception buffer permits to do so. In this respect, avoiding starvation or overflow of the reception buffer is essential because it would directly affect the rendering of the content.
By limiting the variations of the data bitrate, the invention improves the subjective global quality for the user. In fact, each time the data bitrate is modified, the quality of the rendered content changes at the receiver side, and too frequent changes in the quality of the content are very inconvenient for the end user.
To obtain a precise representation of the filling of the reception buffer at the transmitter side, the current value TD(t) of the transit duration via the transmission channel is taken into account to estimate the risk of data starvation and/or data overflow. Advantageously, the current value of the transit duration is given by the following expression:
RTT TD(t) = RTT(t) -^ - -ax [RTT(t) - RTT^ ]
where RTT(t) is the current value of said round trip time, RTTm-n is the minimum value of said round trip time, and α is a constant factor comprised between 0 and 0.5. When the data are organized in elementary units associated with a sending time and a decoding time, the risk of data overflow and/or data starvation is advantageously estimated by:
comparing the quantity of received data with the quantity of decoded data; and/or comparing the maximum value and the minimum value of the decoding times associated with the received elementary units that are not yet decoded; - an elementary unit being regarded as received if the sum of its sending time and the current transit duration is smaller than or equal to the current time, and an elementary unit being regarded as decoded if its decoding time is exceeded.
When the size of the elementary units is variable, or when the difference between the decoding times of two successive elementary units is variable, it is advantageous to use both the quantity of data and the associated rendering duration for estimating the risk of starvation and the risk of overflow. Controlling the quantity of data stored in the reception buffer ensures that the reception buffer is never full or empty. Controlling the rendering duration of the data stored in the reception buffer allows absorbing small holes in the transmission while avoiding the storage of an excessive amount of data in the reception buffer. This embodiment applies advantageously when the content is video encoded in accordance with the MPEG-4 standard, because then the data streams comprise elementary units called I-frames and P-frames, where the P-frames contain fewer data than the I-frames. As the invention maintains a certain margin before starvation and overflow, it is possible to control the sending times of the elementary units to enforce said estimation of the current channel transmission rate as transmitter sending rate, without any risk of starvation or overflow. This is advantageous because it improves the congestion control. For example, control rate protocols like TCP or TFRC control the sending time of the elementary units to enforce estimations of the channel transmission rate as transmitter sending rate. The invention allows using such control rate protocols while maintaining a certain amount of data in the reception buffer.
The invention will be further described with reference to the accompanying drawings. Fig. 1 is a functional block diagram of a first embodiment of a transmission system according to the invention.
Fig. 2 is a functional block diagram of a second embodiment of a transmission system according to the invention.
Fig. 3 is a flow chart describing the steps of a transmission method according to the invention.
A transmission system according to the invention comprises a transmitter TX, a receiver RX, a transmission channel CX having a variable channel transmission rate, and an adaptive source AS for providing a data stream D2 to be transmitted via the transmission channel CX. The adaptive source AS is intended to adapt the bitrate of the data stream D2 (referred to as data bitrate hereinafter) depending on the current channel transmission rate. In Fig. 1, the adaptive source AS is part of the transmitter TX. In Fig. 2, the adaptive source AS and the transmitter TX are two separate entities.
In a first embodiment of the invention, the adaptive source AS comprises a file switcher intended to switch amongst a plurality of pre-encoded data streams SI, ..., Sn, obtained by encoding a content at various encoding rates Rl, ..., Rn corresponding to various content qualities. Said pre-encoded data streams may be stored locally in a memory of the adaptive source AS or on a removable support read by the adaptive source AS, or remotely in a content server.
In a second embodiment of the invention, the adaptive source AS comprises a variable bitrate encoder intended to encode a content at a variable bitrate. According to Figs. 1 and 2, the transmitter TX comprises a transmission/reception block TB that implements the first four layers of the ISO protocol stack. In this example, the network protocol (ISO layer 3) is IP (Internet Protocol) and the transport protocol (ISO layer 4) is RTP (Real time Transfer Protocol) over UDP (User Datagram Protocol). As UDP is a transport protocol without rate control, the transmitter TX further comprises a transmission rate estimation block TCB. The transmission rate estimation block TCB receives data Dl from the transmission block TB. The data Dl are used by the transmission rate estimation block TCB to calculate an estimation MB(t) of the current channel transmission rate. Said estimation of the current channel transmission rate MB(t) is forwarded to the adaptive source AS. It is used for adapting the data bitrate of the data stream D2. The data stream D2 is sent from the adaptive source AS to the transmission/reception block TB where it is processed in accordance with the above-mentioned protocols in order to be transmitted via the transmission channel CX.
The receiver RX also comprises a transmission/reception block and a transmission rate estimation block similar to those of the transmitter TX. In Figs. 1 and 2, the
transmission/reception block and the transmission rate estimation block of the receiver carry reference signs RB and RCB, respectively. The receiver RX further comprises a reception buffer MEM, and a decoder DEC. The data received via the transmission channel are processed by the transmission / reception block RB. Then they are stored in the reception buffer MEM before being consumed by the decoder DEC.
One of the objects of the invention is to use the reception buffer MEM to absorb the fluctuation of the channel transmission rate, while avoiding starvation and overflow of the reception buffer MEM. Therefore, a reception buffer simulation block VB is provided upstream of the adaptive source AS to create, at the transmitter side, an image of the reception buffer MEM. The reception buffer simulation block NB estimates the risk of data starvation and the risk of data overflow in the reception buffer MEM, and sends a triggering signal TG to the adaptive source AS if there is a risk of data starvation or a risk of data overflow. Upon reception of such a triggering signal, the adaptive source AS adapts the data bitrate of the data stream D2. In a preferred embodiment of the invention, the data streams are organized in elementary units Ui associated with a sending time TSi and a decoding time DTSi, said decoding time being defined with reference to a decoding start time Td. The decoding start time Td may be known from the transmitter TX (for instance, the transmitter may know that the decoder starts decoding when the reception buffer contains a predefined number of bytes or a predefined number of elementary units). If the decoding start time is unknown from the transmitter TX, the receiver RX must send an RTCP message to the transmitter to notify the beginning of the decoding (the format of RTCP messages is defined in the above-mentioned RTP transport protocol). Any modification of the clock of the decoder DEC must be transmitted to the transmitter TX to update the value of the decoding start time Td. The reception buffer simulation block NB: stores the sending time TSi, the decoding time DTSi and the number of bytes n; for each elementary unit Ui that is sent to the receiver RX, calculates the current value of the transit duration TD(t) of an elementary unit via the transmission channel CX. These data are used to determine: which elementary units shall be regarded as being received by the receiver RX and stored in the reception buffer MEM; which elementary units shall be regarded as being consumed by the decoder DEC.
For instance: the current value of the transit duration TD(t) is calculated in the following way:
RTT TD(t) = RTT(t) - min - ax [RTT(t) - RTTmin ]
where RTT(t) is the round trip time calculated by the RTP protocol, RTTmin is the minimum value of the round trip time, and α is a constant factor corresponding to the repartition of the congestion on the transmission channel:
- if the congestion is only present on the downlink (from the transmitter TX to the receiver RX), then a = 0 ; - if the congestion is equally present on both the downlink and the uplink
(from the receiver RX to the transmitter TX), then α = 0.5;
- if the congestion is only present on the uplink, then a = 1 ;
- if it is supposed that the downlink is more congested than the uplink, then 0< α <0.5 - an elementary unit Ui is regarded as being received by the receiver RX and stored in the reception buffer MEM if: t ≥ TSi + TD(t) an elementary unit Ui is regarded as being consumed by the decoder DEC if:
DTSi < t - td To estimate the risk of data starvation and the risk of data overflow, two criteria may be used by the reception buffer simulation block NB: the quantity of data Ν(t) stored in the reception buffer (in number of bytes or in number of elementary units), and/or the duration Δ(t) of the rendering of the data stored in the reception buffer.
N(t) = ∑ni i e { k € N / TSk+TD(t)≤t and DTSk t-td }
Δ(t) = DTSmax -DTSmin where DTSmax is the decoding time of the last received elementary unit in the reception buffer, DTSmin is the decoding time of the oldest elementary unit in the reception buffer, n; is the number of bytes in the elementary unit Ui if N(t) is expressed in number of bytes, or n; is equal to 1 if N(t) is expressed in number of packets.
When the size of the elementary units is variable, or when the difference between the decoding times of two successive elementary units is variable, it is advantageous to use both criteria at least for estimating the risk of starvation.
A preferred embodiment of the algorithm implemented by the reception buffer simulation block NB will now be described with reference to Fig. 3. The algorithm is started in step TO.
In step T2, the quantity of data Ν(t) and the associated rendering duration Δ(t) is updated.
In step T3, a starvation test is performed. If Δ(t)>Kl and if N(t)>βG (branch "Yes"), there is no risk of starvation. Step T4 is processed. On the contrary, if Δ(t)<Kl or if N(t)≤βG (branch "No"), there is a risk of starvation. Step T5 is processed.
In step T4, an overflow test is performed. If Δ(t)<K2 and if N(t)<γG (branch "Yes"), there is no risk of overflow. Return to step TO. On the contrary, if Δ(t) >K2 or if N(t)≥γG (branch "No"), there is a risk of overflow and step T5 is processed. - In step T5, the mean channel transmission rate MB(t) during the last round trip time RTT(t) is computed.
∑ni MBft = ig{k eN τsk ≥t-RTT(t) . R7T(t)
Then step T6 is executed.
In step T6, a triggering signal is sent to the adaptive source AS so that it adapts the data bitrate of the data stream D2 depending on the current channel transmission rate MB(t). Kl, K2, γ and β are integers with 0<KKK2 and 0<β<γ<l. For instance, for a transmission via the Internet network and the GPRS mobile network, Kl=10s, K2=15s, β=0,l and γ=0.9.
When the adaptive source is a file switcher, it switches to the data stream Si (i=l , ... , n) which encoding rate Ri is nearest to MB(t). Alternatively, to increase the convergence of the algorithm, it switches to the data stream whose encoding rate Ri is nearest to (1 - e) x MB(t) in case of starvation and to (1 + e) x MB(t) in case of overflow (for instance ε=0,l). After step T6 is executed, return to step TO.
In the above-described algorithm, switching does not take the nature of the elementary units into account. In some cases, the quality of the rendering can be improved by taking into account the nature of the elementary units before switching. This is the case when
only some of the elementary units are random access points from which the decoder can start decoding the received data (for example, in MPEG-4, random access points correspond to a GON followed by an I-frame). Then the algorithm advantageously comprises an additional initial step TI (before step T2) to test if the next elementary unit to be sent is a random access point (RAP).
In Fig. 3, step TI is represented in dotted lines. At step TI, if the current elementary unit is a random access point, step T2 is executed. Otherwise, return to step TO.
In Figs. 1 and 2, a shaping block HB is represented in dotted lines. This shaping block HB is optional. It receives the estimation of the current channel transmission rate MB(t) from the transmission rate estimation block TCB and controls the sending times of the elementary units of the data stream D2 to enforce said estimation of the current channel transmission rate as transmitter sending rate. The data stream D2 supplied by the adaptive source AS goes through the shaping block HB before being supplied to the transmission/reception block TB. In another embodiment (not represented in the Figs.), the transmission rate estimation block TCB and the shaping block HB are parts of a single block, generally called rate control block. The functions of the rate control block may be carried out by a transmission protocol of the ISO protocol stack. For example, the TFRC protocol is used.
Advantageously, the above-described functions are implemented by means of sets of instructions being executable under the control of one or more computers or digital processors located at the transmitter and at the receiver.
It is to be noted that modifications or improvements of the described transmission system, transmitter and transmission method may be proposed without departing from the scope of the invention. The invention is thus not limited to the examples provided.
Use of the verb "comprise" and its conjungations does not exclude the presence of elements or steps other than those stated in the claims.
Claims
1. A transmission system comprising a transmitter for transmitting a data stream having an adaptable bitrate, referred to as data bitrate, a receiver comprising a reception buffer and a decoder, and a transmission channel having a variable channel transmission rate, said transmitter being configured to: estimate a risk of data starvation in said reception buffer; estimate a risk of data overflow in said reception buffer; calculate an estimation of the current channel transmission rate; trigger an adaption of said data bitrate depending on said estimation of the current channel transmission rate if there is a risk of data starvation or a risk of data overflow.
2. A transmission system as claimed in claim 1, wherein said adaption of the data bitrate is done by switching amongst a plurality of pre-encoded data streams obtained by pre- encoding a content at various encoding rates.
3. A transmission system as claimed in claim 1, wherein said data are organized in elementary units submitted to a variable transit duration, and said risk of data starvation and data overflow is estimated by taking the current value of said transit duration into account.
4. A transmission system as claimed in claim 3, wherein said transmission channel has a variable round trip time, and the current value of said transit duration is computed as follows:
RTT TD(t) = RTT(t) ^ - ax [RTT(t) - RTTmin ]
where RTT(t) is the current value of said round trip time, RTTmin is the minimum value of said round trip time, and α is a constant factor comprised between 0 and 1.
5. A transmission system as claimed in claim 3, wherein said data are organized in elementary units associated with a sending time and a decoding time, and said risk of data overflow and said risk of data overflow and said risk of data starvation are estimated by: comparing the quantity of received data with the quantity of decoded data; and/or comparing the maximum value and the minimum value of the decoding times associated with the received elementary units that are not yet decoded; an elementary unit being regarded as received if the sum of its sending time and the current transit duration is smaller than or equal to the current time, and an elementary unit being regardeed as decoded if its decoding time is exceeded.
6. A transmission system as claimed in claim 1, wherein said data are organized in elementary units associated with a sending time, and said transmitter is further configured to control the sending times of the elementary units to enforce said estimation of the current channel transmission rate as transmitter sending rate.
7. A transmitter for transmitting a data stream having an adaptable bitrate, referred to as data bitrate, to a receiver comprising a reception buffer and a decoder, via a transmission channel having a variable channel transmission rate, said transmitter being configured to: estimate a risk of data starvation in said reception buffer; estimate a risk of data overflow in said reception buffer; calculate an estimation of the current channel transmission rate; trigger an adaption of said data bitrate depending on said estimation of the current channel transmission rate if there is a risk of data starvation or a risk of data overflow.
8. A transmitter as claimed in claim 7, wherein said adaption of the data bitrate is done by switching amongst a plurality of pre-encoded data streams obtained by pre-encoding a content at various encoding rates.
9. A transmission method for transmitting a data stream having an adaptable bitrate, referred to as data bitrate, from a transmitter to a receiver via a transmission channel having a variable channel transmission rate, said receiver comprising a reception buffer and a decoder, said transmission method comprising the steps of: estimating a risk of data starvation in said reception buffer; estimating a risk of data overflow in said reception buffer; calculating an estimation of the current channel transmission rate; triggering an adaption of said data bitrate depending on said estimation of the current channel transmission rate if there is a risk of data starvation or a risk of data overflow.
10. A transmission method as claimed in claim 9, wherein said adaption of the data bitrate is done by switching amongst a plurality of pre-encoded data streams obtained by pre-encoding a content at various encodig rates.
11. A program comprising instructions for implementing a transmission method as claimed in claim 9 or 10 when said program is executed by a processor.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03752875A EP1510077A2 (en) | 2002-05-22 | 2003-05-05 | Transmission method using a virtual reception buffer to absorb fluctuation of the channel transmission rate |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02291262 | 2002-05-22 | ||
EP02291262 | 2002-05-22 | ||
PCT/IB2003/001781 WO2003098935A2 (en) | 2002-05-22 | 2003-05-05 | Transmission method using a virtual reception buffer to absorb fluctuation of the channel transmission rate |
EP03752875A EP1510077A2 (en) | 2002-05-22 | 2003-05-05 | Transmission method using a virtual reception buffer to absorb fluctuation of the channel transmission rate |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1510077A2 true EP1510077A2 (en) | 2005-03-02 |
Family
ID=29433209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP03752875A Withdrawn EP1510077A2 (en) | 2002-05-22 | 2003-05-05 | Transmission method using a virtual reception buffer to absorb fluctuation of the channel transmission rate |
Country Status (7)
Country | Link |
---|---|
US (1) | US20050201485A1 (en) |
EP (1) | EP1510077A2 (en) |
JP (1) | JP2005526455A (en) |
KR (1) | KR20050010832A (en) |
CN (1) | CN1656809A (en) |
AU (1) | AU2003225503A1 (en) |
WO (1) | WO2003098935A2 (en) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101022471B1 (en) * | 2004-01-17 | 2011-03-16 | 삼성전자주식회사 | Information storage medium containing multimedia data, reproducing method and apparatus thereof |
US8437307B2 (en) | 2007-09-03 | 2013-05-07 | Damaka, Inc. | Device and method for maintaining a communication session during a network transition |
US7933260B2 (en) | 2004-06-29 | 2011-04-26 | Damaka, Inc. | System and method for routing and communicating in a heterogeneous network environment |
US8050272B2 (en) | 2004-06-29 | 2011-11-01 | Damaka, Inc. | System and method for concurrent sessions in a peer-to-peer hybrid communications network |
US8009586B2 (en) | 2004-06-29 | 2011-08-30 | Damaka, Inc. | System and method for data transfer in a peer-to peer hybrid communication network |
US7570636B2 (en) | 2004-06-29 | 2009-08-04 | Damaka, Inc. | System and method for traversing a NAT device for peer-to-peer hybrid communications |
KR100631514B1 (en) * | 2004-12-16 | 2006-10-09 | 엘지전자 주식회사 | Method for controlling transport rate of real-time streaming service |
ATE408290T1 (en) | 2005-04-11 | 2008-09-15 | Ericsson Telefon Ab L M | TECHNOLOGY FOR CONTROLLING DATA PACKET TRANSMISSIONS OF VARIABLE BITRATE DATA |
US7920469B2 (en) * | 2006-06-15 | 2011-04-05 | Alcatel-Lucent Usa Inc. | Indicating a variable control channel structure for transmissions in a cellular system |
US8862164B2 (en) | 2007-09-28 | 2014-10-14 | Damaka, Inc. | System and method for transitioning a communication session between networks that are not commonly controlled |
WO2009070718A1 (en) | 2007-11-28 | 2009-06-04 | Damaka, Inc. | System and method for endpoint handoff in a hybrid peer-to-peer networking environment |
BRPI0822489B1 (en) * | 2008-03-12 | 2020-10-06 | Telefonaktiebolaget Lm Ericsson (Publ) | METHOD FOR ADAPTING A CURRENT TARGET RATE FROM A VIDEO SIGNAL TRANSMITTED FROM A VIDEO PROVIDER TO A VIDEO RECEIVER, DEVICE FOR CALCULATING A NEW TARGET RATE FROM A VIDEO SIGNAL TRANSMITTED FROM A VIDEO PROVIDER, AND THEREFORE COMPUTER |
CN101924603B (en) | 2009-06-09 | 2014-08-20 | 华为技术有限公司 | Self-adaption adjusting method, device and system of data transmission rate |
US8874785B2 (en) | 2010-02-15 | 2014-10-28 | Damaka, Inc. | System and method for signaling and data tunneling in a peer-to-peer environment |
US8892646B2 (en) | 2010-08-25 | 2014-11-18 | Damaka, Inc. | System and method for shared session appearance in a hybrid peer-to-peer environment |
US8725895B2 (en) | 2010-02-15 | 2014-05-13 | Damaka, Inc. | NAT traversal by concurrently probing multiple candidates |
US9043488B2 (en) | 2010-03-29 | 2015-05-26 | Damaka, Inc. | System and method for session sweeping between devices |
US9191416B2 (en) | 2010-04-16 | 2015-11-17 | Damaka, Inc. | System and method for providing enterprise voice call continuity |
US8352563B2 (en) | 2010-04-29 | 2013-01-08 | Damaka, Inc. | System and method for peer-to-peer media routing using a third party instant messaging system for signaling |
US8611540B2 (en) | 2010-06-23 | 2013-12-17 | Damaka, Inc. | System and method for secure messaging in a hybrid peer-to-peer network |
WO2012001339A1 (en) | 2010-06-30 | 2012-01-05 | British Telecommunications Public Limited Company | Video streaming |
EP2426923A1 (en) | 2010-09-02 | 2012-03-07 | British Telecommunications Public Limited Company | Adaptive streaming of video at different quality levels |
US8468010B2 (en) | 2010-09-24 | 2013-06-18 | Damaka, Inc. | System and method for language translation in a hybrid peer-to-peer environment |
US8743781B2 (en) | 2010-10-11 | 2014-06-03 | Damaka, Inc. | System and method for a reverse invitation in a hybrid peer-to-peer environment |
US8407314B2 (en) | 2011-04-04 | 2013-03-26 | Damaka, Inc. | System and method for sharing unsupported document types between communication devices |
US8694587B2 (en) | 2011-05-17 | 2014-04-08 | Damaka, Inc. | System and method for transferring a call bridge between communication devices |
US8478890B2 (en) * | 2011-07-15 | 2013-07-02 | Damaka, Inc. | System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability |
US9027032B2 (en) | 2013-07-16 | 2015-05-05 | Damaka, Inc. | System and method for providing additional functionality to existing software in an integrated manner |
US9357016B2 (en) | 2013-10-18 | 2016-05-31 | Damaka, Inc. | System and method for virtual parallel resource management |
WO2016022574A1 (en) | 2014-08-05 | 2016-02-11 | Damaka, Inc. | System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems |
US10091025B2 (en) | 2016-03-31 | 2018-10-02 | Damaka, Inc. | System and method for enabling use of a single user identifier across incompatible networks for UCC functionality |
CN109495764B (en) * | 2018-12-07 | 2022-04-01 | 晶晨半导体(上海)股份有限公司 | Live broadcast time-shifted video off-network continuous broadcasting method and IPTV (Internet protocol television) playing device |
EP3767962A1 (en) * | 2019-07-19 | 2021-01-20 | THEO Technologies | A media client with adaptive buffer size and the related method |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5159447A (en) * | 1991-05-23 | 1992-10-27 | At&T Bell Laboratories | Buffer control for variable bit-rate channel |
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 |
US5881245A (en) * | 1996-09-10 | 1999-03-09 | Digital Video Systems, Inc. | Method and apparatus for transmitting MPEG data at an adaptive data rate |
US6188700B1 (en) * | 1996-11-07 | 2001-02-13 | Sony Corporation | Method and apparatus for encoding MPEG signals using variable rate encoding and dynamically varying transmission buffers |
US6014694A (en) * | 1997-06-26 | 2000-01-11 | Citrix Systems, Inc. | System for adaptive video/audio transport over a network |
US6415329B1 (en) * | 1998-03-06 | 2002-07-02 | Massachusetts Institute Of Technology | Method and apparatus for improving efficiency of TCP/IP protocol over high delay-bandwidth network |
GB9817302D0 (en) * | 1998-08-10 | 1998-10-07 | Nds Ltd | Method and apparatus for managing a decoder buffer |
US6233226B1 (en) * | 1998-12-14 | 2001-05-15 | Verizon Laboratories Inc. | System and method for analyzing and transmitting video over a switched network |
EP1182875A3 (en) * | 2000-07-06 | 2003-11-26 | Matsushita Electric Industrial Co., Ltd. | Streaming method and corresponding system |
US6765963B2 (en) * | 2001-01-03 | 2004-07-20 | Nokia Corporation | Video decoder architecture and method for using same |
EP1244255A1 (en) * | 2001-03-20 | 2002-09-25 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for enhanceing a data throughput |
US7444418B2 (en) * | 2001-05-11 | 2008-10-28 | Bytemobile, Inc. | Transcoding multimedia information within a network communication system |
JP2005503722A (en) * | 2001-09-21 | 2005-02-03 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | Data communication method and system using reception of buffer size to calculate transmission rate for congestion control |
US7747729B2 (en) * | 2002-06-14 | 2010-06-29 | Hanoch Levy | Determining client latencies over a network |
-
2003
- 2003-05-05 WO PCT/IB2003/001781 patent/WO2003098935A2/en not_active Application Discontinuation
- 2003-05-05 KR KR10-2004-7018877A patent/KR20050010832A/en not_active Application Discontinuation
- 2003-05-05 CN CNA038116227A patent/CN1656809A/en active Pending
- 2003-05-05 EP EP03752875A patent/EP1510077A2/en not_active Withdrawn
- 2003-05-05 US US10/514,899 patent/US20050201485A1/en not_active Abandoned
- 2003-05-05 AU AU2003225503A patent/AU2003225503A1/en not_active Abandoned
- 2003-05-05 JP JP2004506290A patent/JP2005526455A/en active Pending
Non-Patent Citations (1)
Title |
---|
See references of WO03098935A2 * |
Also Published As
Publication number | Publication date |
---|---|
KR20050010832A (en) | 2005-01-28 |
JP2005526455A (en) | 2005-09-02 |
CN1656809A (en) | 2005-08-17 |
WO2003098935A2 (en) | 2003-11-27 |
AU2003225503A1 (en) | 2003-12-02 |
WO2003098935A3 (en) | 2004-02-12 |
US20050201485A1 (en) | 2005-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050201485A1 (en) | Transmission method using a virtual reception buffer to absorb fluctuation of the channel transmission rate | |
EP2719144B1 (en) | On-demand adaptive bitrate management for streaming media over packet networks | |
US7987285B2 (en) | Adaptive bitrate management for streaming media over packet networks | |
EP2415234B1 (en) | Adaptive bitrate management for streaming media over packet networks | |
US7558869B2 (en) | Rate adaptation method and device in multimedia streaming | |
US7218610B2 (en) | Communication system and techniques for transmission from source to destination | |
RU2367011C2 (en) | Device and method of transmitting signals with anticipatory adaptation of speed | |
JP4748729B2 (en) | Apparatus and method for preparing to transmit data and corresponding products | |
WO2006096823A2 (en) | Communication system and techniques for transmission from source to destination | |
KR100982630B1 (en) | Device and process for adjusting the bit rate of a stream of contents and associated products | |
Balk et al. | Adaptive MPEG-4 video streaming with bandwidth estimation | |
Balk et al. | Adaptive video streaming: pre-encoded MPEG-4 with bandwidth scaling | |
ZA200508487B (en) | Method and device for proactive rate adaptation signaling | |
Chen et al. | QoS of mobile real-time streaming adapted to bandwidth | |
KR20060010067A (en) | Method of estimating efficient data transmission rate and data transmission system on network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20041222 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN |
|
18W | Application withdrawn |
Effective date: 20070427 |