1. Field of the Invention
The present invention relates to a control method of transmitting streaming audio/video data and architecture thereof, and more particularly to a control method and architectures of transmitting streaming audio/video data with low playback latency.
2. Description of the Related Art
On a transmitter, streaming audio/video data are often encoded and extracted. Extracted streaming audio/video data are input to a transmitter buffer at an input rate, and transmitted to a receiver buffer of a receiver at a transmission rate. On the receiver, an earlier input rate on the transmitter is used as a playback rate, at which the receiver buffer outputs its data.
When the transmission rate is smaller than the input rate, some data can not reach the receiver buffer in time, causing playback latency; on the other hand, when the transmission rate is larger than the input rate, and an available transmission rate between the transmitter and receiver is still larger than the transmission rate, part of the bandwidth is wasted.
The following example illustrates a disadvantage of a prior art architecture for transmitting streaming audio/video data. The prior art architecture is illustrated in
The estimated transmission rate rest and the actual transmission rate ract are often different. Therefore, a portion of data are temporarily held in the transmitter buffer BT; however, later on, data are still taken out from the receiver buffer BR at the estimated transmission rate rest of the transmitter. Playback latency occurs when there are no data in the receiver buffer BR as illustrated in the following example.
In
Therefore, the present invention proposes to adopt a report transmission rate for inputting data to the transmitter buffer BT, considering a residual data amount of the transmitter buffer BT, so as to lower the occurrences of playback latency on the receiver.
The present invention is directed to a control method of transmitting streaming audio/video data. A report transmission rate, based on an actual transmission rate with an adjustment from considering a residual data amount of the transmitter buffer, is determined. Streaming audio/video data are transmitted at the report transmission rate to lower the occurrences of playback latency on the receiver.
One embodiment discloses a control method of transmitting streaming audio/video data including: for every report period, determining a report transmission rate based on an actual transmission rate and a residual data amount of the previous period; for every period in a report period, inputting an input data amount at the report transmission rate to the transmitter buffer, and determining an actual transmission rate, at which data in the transmitter buffer are transmitted to the receiver. The actual transmission rate is determined by selecting the minimum between a required transmission rate and an available transmission rate, wherein the required transmission rate is calculated based on the residual data amount of the previous period and the report transmission rate.
One embodiment discloses an architecture for transmitting streaming audio/video data, for realizing aforementioned control method of transmitting streaming audio/video data. The architecture includes an extraction module, a transmitter buffer and a transmission amount control module. Transmission amount control module determines a report transmission rate based on an actual transmission rate and a residual data amount of the transmitter buffer and controls streaming audio/video data extraction module to extract streaming audio/video data from an audio/video data source and input streaming audio/video data to the transmitter buffer at the report transmission rate.
The objectives, technical contents and characteristics of the present invention can be more fully understood by reading the following detailed description of the preferred embodiments, with reference made to the accompanying drawings, wherein:
a is a schematic diagram illustrating an architecture of transmitting streaming video/audio data according to one embodiment of the present invention; and
b is a schematic diagram illustrating an architecture of transmitting streaming video/audio data according to one embodiment of the present invention.
On a transmitter, streaming audio/video data are often encoded and extracted. Extracted streaming audio/video data are then input to a transmitter buffer at an input rate. Data in the transmitter buffer are output to a receiver buffer of a receiver at an actual transmission rate i.e. output rate of the transmitter. The receiver uses the input rate as the playback rate at which data in the receiver buffer are taken out. The input rate and the actual transmission rate are usually different. If the actual transmission rate is smaller than the input rate, a portion of data would be temporarily held in the transmitter buffer; however, since the input rate is still used to output data from the receiver buffer, and when there is no data in the receiver buffer, playback latency occurs. If the actual transmission rate is larger than the input rate, and an available transmission rate from the transmitter to the receiver is still larger than the actual transmission rate, part of the bandwidth is wasted.
One embodiment uses a report transmission rate as the input rate. It determines the report transmission rate based on the actual transmission rate and a residual data amount of the transmitter buffer to control the playback rate of the receiver and the residual data amount of the receiver buffer, and thus improves playback latency. The actual transmission rate is the minimum between a required transmission rate and an available transmission rate, wherein the required transmission rate is calculated based on the residual data amount of the transmitter buffer and the report transmission rate. The method for determining the report transmission rate and the actual transmission rate is explained as follows.
According to an embodiment, the steps for determining the report transmission rate rrep (step 320 in
Common methods for estimating estimated transmission rate rest (step 321) include mean, median, infinite impulse response (IIR) and instant mechanisms. The listed four methods estimating estimated transmission rate rest are for the purpose of providing examples rather than limiting the scope of the present invention.
The two embodiments using the report transmission rate adjustment Δ to adjust the estimated transmission rate rest for determining the report transmission rate rrep (step 324) can be represented by equations (1) and (2) respectively:
r
rep
=r
est−αΔ (1)
r
rep=α(rest−Δ) (2)
wherein α is an adjusting coefficient, which can be a fixed value or a dynamically adapted value, and it usually ranges from 0 to 1 (denoted as [0, 1]). The report transmission rate adjustment Δ can be calculated by equation (3) (step 323):
wherein T is a report period, which is not smaller than a period.
Steps for determining the actual transmission rate ract (step 340 in
wherein t is a period. Then an available transmission rate ravl is detected (step 342) and compared with the required transmission rate rreq (step 343), and the minimum value of the two is selected to be the actual transmission rate ract (344a or 344b).
Next, in the current period, an input data amount Din is input to the transmitter buffer BT at the report transmission rate rrep. Since a period is equal to a second in this example, the value of the input data amount Din is equal to that of the report transmission rate rrep, and this value is the number inside the solid arrow frame at the 5th period. The length of the arrow refers to the speed of the report transmission rate rrep. The input data amount Din transmitted to the transmitter buffer BT of the current period is 139.7 (kb).
Next, the actual transmission rate ract is the minimum between a required transmission rate rreq and an available transmission rate ravl, which are represented by two dotted arrow frames next to each other in the current period in row 4 (row rreq/ravl), and the value of the required transmission rate rreq and the value of the available transmission rate ravl is equal to the number in the left dotted arrow frame and the number in the right dotted arrow frame respectively. The required transmission rate rreq can be calculated by equation (4), wherein the residual data amount of the previous period D′res and the input data amount Din of the current period are 68.5 (kb) and 139.7 (kb) respectively, and therefore, the required transmission rate rreq of the current period is 208.2 (kb/s). Since the available transmission rate ravl of the current period is 100 (kb/s) which is smaller than the required transmission rate rreq, the actual transmission rate ract is equal to the available transmission rate ravl, which is equal to 100 (kb/s).
Finally, in the current period, an output data amount Dout is output from the transmitter buffer BT at the actual transmission rate ract. Since a period is equal to a second in this example, the output data amount Dout and the actual transmission rate ract have the same value, which is the number inside the solid arrow frame in the current period in row 5 (row ract). The length of the arrow refers to the speed of the actual transmission rate ract.
The residual data amount Dres of the transmitter buffer BT of the current period is 108.2 (kb), which is calculated by equation (5):
D
res
=D′
res
+D
in
−D
out (5)
Embodiments of the system architecture realizing the above method are presented below. Referring to
Still Referring to
Referring to
Referring to
In summary, a control method of transmitting streaming audio/video data is proposed. On a transmitter, a report transmission rate is determined based on an actual transmission rate, at which data are output from a transmitter buffer, and a residual data amount of the transmitter buffer; on a receiver, the earlier report transmission rate is set to be the playback rate at which data are taken out from the receiver buffer. Since the report transmission rate has been adjusted based on the earlier residual data amount of the transmitter buffer, the number of playback latency occurrences is lowered. Architectures of controlling transmission of streaming audio/video data are also proposed. These architectures mainly include a transmission amount control module for determining the report transmission rate based on the actual transmission rate and the residual data amount of the transmitter buffer, and controlling streaming audio/video data extraction module to transmit the extracted streaming audio/video data to transmitter buffer at the report transmission rate.
The embodiments described above are to demonstrate the technical contents and characteristics of the preset invention to enable the persons skilled in the art to understand, make, and use the present invention. However, it is not intended to limit the scope of the present invention. Therefore, any equivalent modification or variation according to the spirit of the present invention is to be also included within the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
098104304 | Feb 2009 | TW | national |