1. Field of the Invention
The document relates to a system and a method for controlling transport rates of real time streaming services. The services are configured to control a transport rate of data transmitted from a streaming server to a client using a real time transport protocol, thereby maintaining a buffer level of a streaming client at a constant level.
2. Discussion of the Related Art
Conventionally, multimedia data, such as video data, computer animation data or any combination thereof, is all downloaded to a hard disc drive of a PC (Personal Computer), for example, via access to an Internet for reproduction of the same. However, in the streaming environment, the entire data may not be all downloaded, and the data can be reproduced real time in the course of buffering without first downloading the entire file data. In other words, streaming is the ability to view data without first downloading an entire file. In general, streaming is a multimedia data transmission method which reads, transmits and plays data on an Internet in real time.
When a streaming server and a streaming client are connected over a wired/wireless network, and the streaming server transmits the multimedia contents, the streaming client having received the transmission of the multimedia contents buffers the received contents and reproduces the contents real time.
Basically, the transport rate of the streaming server conforms itself to requirements of data to be transmitted. In audio/video stream packets transmitted by compression via Moving Picture Experts Group (MPEG), time information for controlling the transport rate of the streaming server is recorded in a header.
However, there arises a problem even if the transport rate is under prolonged time of streaming service. It is impossible to calculate an accurate transport speed even if the time information is of an extreme accuracy, and a small difference of transport speeds can cause a buffer overflow after prolonged time.
There is another problem in that the streaming server and the streaming client, each being an independent identity, have separate reference clocks, and fine differences of clocks are accumulated in the course of use of a cheap crystal oscillator to prevent provision of a stable operation.
FIG. 1 is a first graphical representation illustrating a buffer level change according to the related art.
As in FIG. 1, the buffer level keeps increasing if the transport speed of the streaming server is faster than the speed of data reproduced by an actual streaming client, resulting in a case of exceeding a maximum buffer level defined by the streaming client.
Another problem is that a method of determining a transport rate only by time information contained in the multimedia data to be transmitted causes to generate a time delay from a streaming start time to a start of an actual reproduction.
FIG. 2 is a second graphical representation illustrating a buffer level change according to the related art where a buffer level change following the start of the streaming is shown. There is needed a minimum quantity of data for grasping and reproducing context of multimedia content in which an MPEG decoder of a streaming client is transmitted. This is because the streaming client can accept a delay variance to a certain degree. Subsequently, as in FIG. 2, ‘a buffer level to be required’ supposed to be filled in the buffer without reproducing the transmitted data is determined up to a certain level prior to the start of the reproduction.
However, control by a simple comparison of buffer level reported from the required buffer level and the streaming client can deteriorate the stability of the system, and a very small difference of transport speeds between the streaming server and the streaming client can result in generation of a buffer overflow or an under-run.
The streaming server is required to continuously control a transport rate in order to maintain a buffer level reported by the streaming client. Furthermore, there is a need of filling the buffer at a maximally fastest speed at a point where streaming starts for a fast reproduction.