KR101038645B1 - apparatus and method for prevention of underflow and overflow in streaming system - Google Patents
apparatus and method for prevention of underflow and overflow in streaming system Download PDFInfo
- Publication number
- KR101038645B1 KR101038645B1 KR1020090025653A KR20090025653A KR101038645B1 KR 101038645 B1 KR101038645 B1 KR 101038645B1 KR 1020090025653 A KR1020090025653 A KR 1020090025653A KR 20090025653 A KR20090025653 A KR 20090025653A KR 101038645 B1 KR101038645 B1 KR 101038645B1
- Authority
- KR
- South Korea
- Prior art keywords
- buffer
- client
- mcb
- size
- avg
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
본 발명은 네트워크를 통해 수신되는 RTP 패킷을 버퍼에 임시 저장하고, 다수개의 RTP 패킷으로 프레임이 구성되면, 상기 프레임을 디코딩하는 적어도 하나 이상의 클라이언트와, 상기 클라이언트의 상기 버퍼의 최대 크기와, 현재 버퍼 레벨과, 상기 네트워크의 대역폭과, 상기 버퍼의 초기 버퍼링 시간을 기반으로 목적 전송률을 산출하여 상기 RTP 패킷을 전송하는 스트리밍 서버를 포함하는 스트리밍 시스템을 개시하여, 스트리밍 서버가 클라이언트의 버퍼 크기를 파악하고, 현재 RTP 패킷(프레임)이 저장된 현재 버퍼 레벨을 측정하여 목적 전송율을 추정하고, 목적 전송율로 클라이언트로 RTP 패킷을 전송하여 현재 버퍼 레벨이 일정하게 유지도록 함에 의해 언더플로우/오버플로우를 방지할 수 있도록 하는 것이다.The present invention temporarily stores an RTP packet received through a network in a buffer, and when the frame is composed of a plurality of RTP packets, at least one client decoding the frame, a maximum size of the buffer of the client, and a current buffer. Initiating a streaming system comprising a streaming server for transmitting the RTP packet by calculating a target transmission rate based on the level, the bandwidth of the network, and the initial buffering time of the buffer, the streaming server to determine the buffer size of the client By measuring the current buffer level in which the current RTP packet (frame) is stored, the target transfer rate is estimated, and the RTP packet is sent to the client at the target transfer rate to keep the current buffer level constant to prevent underflow / overflow. To ensure that
Description
본 발명은 스트리밍 시스템의 언더플로우/오버플로우 방지 방법 및 그 시스템에 관한 것으로, 더욱 상세하게는, 스트리밍 서버가 클라이언트의 버퍼 크기를 파악하고, 현재 RTP(Real time Protocol) 패킷(프레임)이 저장된 현재 버퍼 레벨을 측정하여 목적 전송율을 추정하고, 목적 전송율로 클라이언트로 RTP 패킷을 전송하여 현재 버퍼 레벨이 일정하게 유지도록 함에 의해 언더플로우/오버플로우를 방지할 수 있는 스트리밍 시스템의 언더플로우/오버플로우 방지 방법 및 그 시스템에 관한 것이다.The present invention relates to an underflow / overflow prevention method of a streaming system, and more particularly, to a streaming server that understands a buffer size of a client and currently stores a real time protocol (RTP) packet (frame). Measure the buffer level to estimate the destination rate, and send the RTP packet to the client at the destination rate to keep the current buffer level constant to prevent underflow / overflow in streaming systems that can prevent underflow / overflow It relates to a method and a system thereof.
네트워크 기술 및 전자 기술의 발전으로, 유선 네트워크뿐만 아니라 무선 네트워크가 널리 보급되어 있으며, 이동 통신 기술이 발전함에 의해 무선 네트워크가 제공하는 전송 속도 역시 빠르게 증가하고 있다.With the development of network technology and electronic technology, wireless networks as well as wired networks are widely used, and the transmission speed provided by wireless networks is rapidly increasing due to the development of mobile communication technology.
그리고, 네트워크를 통해 가입자들에게 제공하는 서비스 역시 다양해지고 있으며, 네트워크의 전송 속도가 증가함에 따라 실시간으로 끊김없이 멀티미디어 컨텐츠를 제공하는 스트리밍 서비스가 개발되어 많은 가입자들이 유선 및 무선 네트워크를 통해 스트리밍 서비스를 이용하고 있다.In addition, the services provided to subscribers through the network are also diversified, and as the transmission speed of the network increases, a streaming service has been developed that provides multimedia content in real time without interruption, so that many subscribers can use streaming services through wired and wireless networks. I use it.
기본적으로, 스트리밍 서버의 전송률은 전송하고자 하는 데이터(컨텐츠)의 요구 사항에 따르며, MPEG(Motion Picture Experts Groups)으로 대표되는 오디오/비디오 데이터(RTP 패킷)는 스트리밍 서버의 전송률을 제어하기 위한 시간 정보가 기록되게 된다.Basically, the streaming rate of the streaming server depends on the requirements of the data (content) to be transmitted, and the audio / video data (RTP packet) represented by Motion Picture Experts Groups (MPEG) is time information for controlling the transmission rate of the streaming server. Will be recorded.
그러나, 데이터에 기록되는 전송률에 따라 스트리밍 서버가 전송률을 제어하는 경우에도 장시간 스트리밍 서비스를 하게 되면 문제가 발생한다. 즉, 시간 정보의 정밀도가 높은 경우에도 정확한 전송 속도를 계산하는 것은 불가능하며, 아주 약간의 전송 속도 차이가 장시간 후에는 버퍼 오버플로우(Buffer Overflow)나 언더플로우(Underflow)을 발생시켜 서비스 품질(Quality of Service)를 저하시킨다.However, even when the streaming server controls the transmission rate according to the transmission rate recorded in the data, a problem occurs when the streaming service is performed for a long time. In other words, even when the time information is high, it is impossible to calculate the exact transmission rate, and after a very long time difference, a buffer overflow or underflow occurs after a long time. of Service).
또한, 스트리밍 서버와 스트리밍 클라이언트는 네트워크에서 각각 독립적인 개체로서, 별도의 참조 시각장치(Reference Clock)를 가지게 되고, 저가의 수정진동자(Oscillator)를 사용하는 경우 안정적인 동작을 제공할 수 없다. In addition, the streaming server and the streaming client are independent entities in the network, and have a separate reference clock and cannot provide stable operation when using an inexpensive crystal oscillator.
그러므로, 스트리밍 클라이언트는 스트리밍 서버로부터 수신되는 데이터(프레임)보다 더 많은 용량을 요구하거나, 스트리밍 서버로부터 수신되는 데이터만큼 사용하지 않는 경우가 발생하게 된다.Therefore, the streaming client may require more capacity than the data (frame) received from the streaming server, or may not use as much data as received from the streaming server.
도 1은 종래 기술에 의한 클라이언트의 버퍼 레벨 변화를 나타내는 그래프로 서, 도 1에 도시된 바와 같이, 실제 클라이언트에서 오디오/비디오 데이터(이하 'RTP 패킷'이라 칭함)가 소모되는 속도보다 스트리밍 서버의 전송 속도가 빠른 경우 버퍼 레벨(buffer level)은 지속적으로 높아지게 되어 클라이언트에서 정의한 최대 버퍼 레벨을 초과하는 경우가 발생한다.1 is a graph illustrating a change in a buffer level of a client according to the prior art, and as shown in FIG. If the transfer rate is high, the buffer level will continue to increase, exceeding the maximum buffer level defined by the client.
또한, 스트리밍 서버가 RTP 패킷을 전송하는 전송률을 시간 정보만으로 결정하는 방식은 스트리밍 시작 시점부터 실제 재생이 시작되기까지의 시간 지연이 발생하는 문제가 있다.In addition, the method of determining the transmission rate for transmitting the RTP packet by only the time information has a problem that a time delay occurs from the start of the streaming until the actual playback starts.
도 2는 스트리밍이 시작된 시점부터 버퍼 레벨이 변화하는 양상을 나타내는 그래프로, 도 2에 도시된 바와 같이, 초기 시간 지연이 발생하는 이유는, 클라이언트의 디코더가 여러개의 RTP 패킷으로 구성되는 하나의 프레임을 소모하기 위해서는 최소한으로 필요한 RTP 패킷의 양이 있고, 전송 지연의 변화(delay variance)를 어느 정도 수용해 줄 수 있도록 재생을 시작하기 전에 채워져야 하는 초기 버퍼 레벨이 정해져 있기 때문에 발생한다.FIG. 2 is a graph illustrating a change in the buffer level from the start of streaming. As shown in FIG. 2, an initial time delay occurs because a decoder of a client includes one frame composed of several RTP packets. This occurs because there is a minimum amount of RTP packets required to consume, and an initial buffer level that must be filled before starting playback to accommodate some of the delay variance.
따라서, 스트리밍 서버는 클라이언트의 버퍼에 저장되는 현재 버퍼 레벨이 요구되는 요구 버퍼 레벨을 유지할 수 있도록 지속적으로 전송률을 제어해야 하며, 스트리밍이 시작되는 시점에서 최대한 빠른 속도로 버퍼에 요구 버퍼 레벨로 채워줘야 할 필요가 있다.Therefore, the streaming server must continuously control the transfer rate so that the current buffer level stored in the client's buffer can maintain the required buffer level, and fill the buffer with the requested buffer level as quickly as possible at the beginning of streaming. Needs to be.
따라서, 스트리밍 서버는 클라이언트의 버퍼가 최대 버퍼 크기를 넘어서지 않으면서 비워지지 않도록 지속적으로 전송률을 제어해야 하며, 스트리밍이 시작되는 시점에서 최대한 빠른 속도로 버퍼에 요구 버퍼 레벨로 채워줘야 할 필요가 있 다.Therefore, the streaming server must continuously control the transmission rate so that the client's buffer does not become empty without exceeding the maximum buffer size. The streaming server needs to fill the buffer to the required buffer level as quickly as possible at the beginning of streaming. .
본 발명은 상술한 필요성을 충족시키기 위해 제안되는 것으로, 스트리밍 시스템의 스트리밍 서버가 클라이언트의 버퍼 크기와, 현재 저장된 RTP 패킷, 즉 현재 버퍼 레벨을 측정하여 클라이언트의 버퍼에 항상 일정하게 RTP 패킷(프레임)이 저장되도록 함에 의해 클라이언트의 언더플로우/오버플로우를 방지할 수 있는 스트리밍 시스템의 언더플로우/오버플로우 방지 방법 및 그 시스템를 제공하는데 그 목적이 있다.The present invention is proposed to meet the above-mentioned need, and the streaming server of the streaming system measures the buffer size of the client and the currently stored RTP packet, that is, the current buffer level, so that the RTP packet (frame) is always constant in the client's buffer. It is an object of the present invention to provide an underflow / overflow prevention method and a system of a streaming system capable of preventing underflow / overflow of a client by allowing the stored data to be stored.
그리고, 본 발명은 스트리밍 서버가 클라이언트의 최대 버퍼 크기와, 현재 버퍼 레벨을 기반으로 클라이언트의 버퍼에 오버플로우를 방지할 정도의 RTP 패킷(프레임)이 항상 일정하게 저장되도록 전송률을 제어할 수 있는 스트리밍 시스템의 언더플로우/오버플로우 방지 방법 및 그 시스템를 제공하는데 그 목적이 있다.In addition, the present invention provides a streaming server that can control the transmission rate so that the RTP packet (frame) is always stored constantly enough to prevent the overflow of the client buffer based on the maximum buffer size of the client and the current buffer level An object of the present invention is to provide a method of preventing underflow / overflow of a system and a system thereof.
본 발명의 일측면에 따른 스트리밍 시스템은, 네트워크를 통해 수신되는 RTP 패킷을 버퍼에 임시 저장하고, 다수개의 RTP 패킷으로 프레임이 구성되면, 상기 프레임을 디코딩하는 적어도 하나 이상의 클라이언트와, 상기 클라이언트의 상기 버퍼의 최대 크기와, 현재 버퍼 레벨과, 상기 네트워크의 대역폭과, 상기 버퍼의 초 기 버퍼링 시간을 기반으로 목적 전송률을 산출하여 상기 RTP 패킷을 전송하는 스트리밍 서버를 포함한다.Streaming system according to an aspect of the present invention, the temporary storage of the RTP packet received over the network in the buffer, and if the frame is composed of a plurality of RTP packets, at least one or more clients for decoding the frame, the client of the And a streaming server for transmitting the RTP packet based on a maximum size of a buffer, a current buffer level, a bandwidth of the network, and an initial buffering time of the buffer.
상기 클라이언트는, RTCP APP 패킷의 응용 데이터 필드에 알림 메시지임을 알리는 메시지 타입(MSG Type)과, 버퍼 크기(레벨)(buffer level)를 포함시켜 알림 메시지를 생성하여 상기 스트리밍 서버로 전송한다.The client generates a notification message by including a message type (MSG Type) indicating a notification message and a buffer level in the application data field of the RTCP APP packet and transmits the notification message to the streaming server.
상기 스트리밍 서버는, 상기 클라이언트로 전송한 상기 RTP 패킷의 크기와, 상기 디코딩되는 RTP 패킷의 크기를 기반으로 상기 버퍼 크기를 예측한다.The streaming server predicts the buffer size based on the size of the RTP packet transmitted to the client and the size of the decoded RTP packet.
상기 스트리밍 서버는, 상기 클라이언트의 최대 버퍼 크기와, 상기 버퍼에 저장된 프레임 중 가장 먼저 저장된 프레임의 크기와, 상기 버퍼에 마지막에 저장된 프레임의 크기와, 현재 시간과, 초기 버퍼링 시간을 기반으로 상기 현재 버퍼 레벨을 산출한다.The streaming server may be configured based on the maximum buffer size of the client, the size of the first stored frame among the frames stored in the buffer, the size of the last stored frame in the buffer, the current time, and the initial buffering time. Calculate the buffer level.
상기 스트리밍 서버는, 하기 수학식과 같이 상기 목적 전송률을 산출하는 것을 특징으로 하며, 여기서 'SCB'는 현재 버퍼 레벨이고,'RAVG'는 평균 전송률이고, 'RMAX'는 상기 네트워크의 최대 대역폭이고, 'RMIN'는 상기 네트워크의 최소 대역폭이고, 'TIBT'는 초기 버퍼링 시간이고, 'W'는 가중치이고, 'K'는 비례 상수이다.The streaming server may calculate the target data rate as shown in the following equation, wherein 'S CB ' is the current buffer level, 'R AVG ' is the average data rate, and 'R MAX ' is the maximum bandwidth of the network. R MIN is the minimum bandwidth of the network, T IBT is the initial buffering time, W is the weight, and K is the proportional constant.
[수학식][Equation]
RCUR = (1.0 - W) x RPREV + W x K1 x RAVG x (SMCB - SCB) / (K2 x SMCB - SCB) + RMIN R CUR = (1.0-W) x R PREV + W x K 1 x R AVG x (S MCB -S CB ) / (K 2 x S MCB -S CB ) + R MIN
상기 스트리밍 서버는, 하기 수학식과 같이 상기 평균 전송률(RAVG)과, 상기 네트워크의 최대 대역폭(RMAX)을 산출한다.The streaming server calculates the average rate R AVG and the maximum bandwidth R MAX of the network as shown in the following equation.
[수학식][Equation]
RAVG = K1 x RAVG x (1/4 x SMCB) / (K2 x SMCB - 3/4 x SMCB), when SCB = 3/4 SMCB R AVG = K 1 x R AVG x (1/4 x S MCB ) / (K 2 x S MCB -3/4 x S MCB ), when S CB = 3/4 S MCB
RMAX = K1 x RAVG x SMCB / (K2 x SMCB), when SCB = 0R MAX = K 1 x R AVG x S MCB / (K 2 x S MCB ), when S CB = 0
상기 스트리밍 서버는, 상기 클라이언트의 버퍼에 상기 RTP 패킷이 저장된 현재 버퍼 레벨이 오버플로우가 방지될 정도로 상기 버퍼의 최대 크기보다 일정 비례 값만큼 작아지도록 설정하는 것이 바람직하다.The streaming server preferably sets the current buffer level in which the RTP packet is stored in the client buffer to be smaller than the maximum size of the buffer by a certain proportional value to prevent overflow.
본 발명의 다른 측면에 따른 스트리밍 시스템의 언더플로우/오버플로우 방지 방법은, 스트리밍 서버가 적어도 하나 이상의 클라이언트의 버퍼 크기를 파악하는 단계와, 상기 클라이언트의 현재 버퍼 레벨을 측정하는 단계와, 상기 클라이언트의 상기 버퍼의 최대 크기와, 현재 버퍼 레벨과, 상기 네트워크의 대역폭과, 상기 버퍼의 초기 버퍼링 시간을 기반으로 상기 버퍼에 RTP 패킷이 저장된 현재 버퍼 레벨이 오버플로우가 방지될 정도로 상기 버퍼의 최대 크기보다 일정 비례 값만큼 작아지도록 설정된 목적 전송률을 산출하는 단계와, 상기 목적 전송률에 따라 상기 RTP 패킷을 전송하는 단계를 포함한다.According to another aspect of the present invention, a method for preventing underflow / overflow of a streaming system includes: determining, by a streaming server, a buffer size of at least one or more clients; measuring a current buffer level of the client; Based on the maximum size of the buffer, the current buffer level, the bandwidth of the network, and the initial buffering time of the buffer, the current buffer level where RTP packets are stored in the buffer is larger than the maximum size of the buffer to prevent overflow. Calculating a target transmission rate set to be smaller by a predetermined proportional value, and transmitting the RTP packet according to the target transmission rate.
상기 클라이언트의 버퍼 크기를 파악하는 단계는, 상기 클라이언트가 RTCP APP 패킷의 응용 데이터 필드에 알림 메시지임을 알리는 메시지 타입(MSG Type)과, 버퍼 크기(레벨)(buffer level)를 포함시켜 알림 메시지를 생성하여 상기 스트리밍 서버로 전송한다.The determining of the buffer size of the client may include generating a notification message by including a message type (MSG Type) indicating a notification message in an application data field of an RTCP APP packet and a buffer level. To the streaming server.
상기 클라이언트의 버퍼 크기를 파악하는 단계는, 상기 스트리밍 서버가 상기 클라이언트로 전송한 상기 RTP 패킷의 크기와, 디코딩되는 RTP 패킷의 크기를 기반으로 상기 버퍼 크기를 예측한다.In determining the buffer size of the client, the buffer size predicts the buffer size based on the size of the RTP packet transmitted to the client and the size of the decoded RTP packet.
상기 현재 버퍼 레벨을 측정하는 단계는, 상기 클라이언트의 최대 버퍼 크기와, 상기 버퍼에 저장된 프레임 중 가장 먼저 저장된 프레임의 크기와, 상기 버퍼에 마지막에 저장된 프레임의 크기와, 현재 시간과, 초기 버퍼링 시간을 기반으로 상기 현재 버퍼 레벨을 산출한다.The measuring of the current buffer level may include a maximum buffer size of the client, a size of a frame stored first among the frames stored in the buffer, a size of a frame last stored in the buffer, a current time, and an initial buffering time. Compute the current buffer level based on.
상기 목적 전송률을 산출하는 단계는, 상기 스트리밍 서버가 하기 수학식과 같이 상기 목적 전송률을 산출하며, 여기서 'SCB'는 현재 버퍼 레벨이고,'RAVG'는 평균 전송률이고, 'RMAX'는 상기 네트워크의 최대 대역폭이고, 'RMIN'는 상기 네트워크의 최소 대역폭이고, 'TIBT'는 초기 버퍼링 시간이고, 'W'는 가중치이고, 'K'는 비례 상수이다.In the calculating of the target rate, the streaming server calculates the target rate as shown in the following equation, wherein 'S CB ' is the current buffer level, 'R AVG ' is the average rate, and 'R MAX ' is The maximum bandwidth of the network, 'R MIN ' is the minimum bandwidth of the network, 'T IBT ' is the initial buffering time, 'W' is a weight, 'K' is a proportional constant.
[수학식][Equation]
RCUR = (1.0 - W) x RPREV + W x K1 x RAVG x (SMCB - SCB) / (K2 x SMCB - SCB) + RMIN R CUR = (1.0-W) x R PREV + W x K 1 x R AVG x (S MCB -S CB ) / (K 2 x S MCB -S CB ) + R MIN
상기 목적 전송률을 산출하는 단계는, 하기 수학식과 같이 상기 평균 전송률(RAVG)과, 상기 네트워크의 최대 대역폭(RMAX)을 산출한다.The calculating of the target data rate may include calculating the average data rate R AVG and the maximum bandwidth R MAX of the network as shown in the following equation.
[수학식][Equation]
RAVG = K1 x RAVG x (1/4 x SMCB) / (K2 x SMCB - 3/4 x SMCB), when SCB = 3/4 SMCB R AVG = K 1 x R AVG x (1/4 x S MCB ) / (K 2 x S MCB -3/4 x S MCB ), when S CB = 3/4 S MCB
RMAX = K1 x RAVG x SMCB / (K2 x SMCB), when SCB = 0R MAX = K 1 x R AVG x S MCB / (K 2 x S MCB ), when S CB = 0
상술한 본 발명에 따르면, 스트리밍 서버가 클라이언트의 버퍼 크기를 파악하고, 현재 RTP 패킷(프레임)이 저장된 현재 버퍼 레벨을 측정하여 목적 전송율을 추정하고, 목적 전송율로 RTP 패킷을 전송함에 의해 네트워크의 상태 등의 이유로 현재 버퍼 레벨이 변화하지 않도록 일정하게 유지할 수 있으므로, 언더플로우/오버플로우를 방지하여 높은 서비스 품질을 제공할 수 있다.According to the present invention described above, the streaming server determines the buffer size of the client, estimates the target transmission rate by measuring the current buffer level in which the current RTP packet (frame) is stored, and transmits the RTP packet at the target transmission rate. For example, the current buffer level can be kept constant so as not to change, thereby providing high quality of service by preventing underflow / overflow.
이하 본 발명에 따른 스트리밍 시스템의 언더플로우/오버플로우 방지 방법 및 그 시스템를 첨부한 도면을 참조하여 상세 설명하고, 본 발명의 주된 기술 내용을 흐리거나, 주지된 기술 내용에 대한 상세 설명은 생략한다.Hereinafter, a method for preventing an underflow / overflow of a streaming system and a system thereof according to the present invention will be described in detail with reference to the accompanying drawings, and detailed descriptions of the main technical contents of the present invention or the well-known technical contents will be omitted.
도 3a는 본 발명에 따른 스트리밍 시스템의 간략한 네트워크 도면이고, 도 3b는 클라이언트의 버퍼 모델링을 나타내는 도면이다.3A is a simplified network diagram of a streaming system according to the present invention, and FIG. 3B is a diagram illustrating buffer modeling of a client.
도 3a를 참조하면, 스트리밍 시스템은 네트워크를 통해 클라이언트(200)로 RTP 패킷을 전송하는 스트리밍 서버(100)(server)와, 스트리밍 서버(100)로부터 수 신되는 RTP 패킷을 버퍼(220)에 임시 저장하고, 여러개의 RTP 패킷이 하나의 프레임으로 구성되면, 디코더(210)(decoder)로 읽어들여 디코딩한 이후에 재생하는 클라이언트(200)로 구성된다.Referring to FIG. 3A, the streaming system temporarily stores a
이하 스트리밍 서비스의 RTP 패킷의 전송 및 클라이언트(200)의 멀티미디어 컨텐츠 재생은 주지된 기술이므로 상세 설명을 생략한다.Hereinafter, the transmission of the RTP packet of the streaming service and the reproduction of the multimedia content of the
그리고, 도 3b를 참조하면, 클라인언트의 버퍼 모델링을 나타내는 도면을 참조하면, 클라이언트(200)는 스트리밍 서버(100)로부터 수신되는 RTP 패킷이 하나의 프레임으로 이루어질 때까지 버퍼(220)에 임시 저장한 이후에 디코더(210)가 프레임을 디코딩하게 된다.Referring to FIG. 3B, referring to a diagram illustrating buffer modeling of a client, the
클라이언트(200)의 언더플로우를 방지하는 방법은 클라이언트(200)의 버퍼(220)를 최대 버퍼 레벨로 항상 채우는 방법이 가장 좋은 방법으로, 버퍼(220)에 RTP 패킷을 최대 버퍼 레벨로 항상 채우는 경우에는 디코더(210)가 끊임없이 프레임을 읽어들여 디코딩함에 의해 끊김없이 재생할 수 있으므로 언더플로우를 방지할 수 있다. 즉, 스트리밍 서버(100)가 클라이언트(200)의 버퍼 크기에 따라 RTP 패킷의 전송률을 제어함에 의해 버퍼(220)에 RTP 패킷이 최대 버퍼 레벨로 항상 채워지도록 한다.The method of preventing underflow of the
클라이언트(200)의 버퍼(220)에 최대 버퍼 레벨로 RTP를 채우기 위해서는 스트리밍 서버(100)가 클라이언트(200)의 버퍼 크기를 확인해야 하며, 클라이언트(200)의 버퍼 크기는 스트리밍 서버(100)가 클라이언트(200)로부터 버퍼(220)의 크기 정보가 포함되는 알림 메시지를 수신하여 파악하는 제1 방식과, 스트리밍 서 버(100)가 클라이언트(200)의 버퍼 크기를 예측하는 제2 방식으로 구분될 수 있다.In order to fill the RTP with the maximum buffer level in the
도 4는 본 발명의 제1 실시예에 따른 클라이언트의 버퍼 크기를 확인하는 흐름을 설명하기 위한 도면으로, 도 4를 참조하면, 스트리밍 서버(100)와 클라이언트(200)는 RTSP에 따라 TCP 상에서 패킷을 전송하기 위한 세션, 즉 데이터 채널(data channel)을 설정하고, 세션이 설정되면, 스트리밍 서버(100)는 UDP 상 또는 RTSP 요청과 응답을 전달하는 채널 상에서 RTP 형식에 따라 패킷을 전송한다. 즉, 스트리밍 서버(100)와 클라이언트(200)간 제어 세션은 TCP 상에서 설정되고, 데이터 전송 세션은 UDP 상 또는 RTSP 채널 상에서 설정된다.4 is a diagram illustrating a flow of checking a buffer size of a client according to a first embodiment of the present invention. Referring to FIG. 4, the streaming
클라이언트(200)는 데이터 채널을 통해 RTP 패킷을 수신하면서 제어 세션으로 버퍼 크기 정보, 즉 버퍼 레벨 정보가 포함되는 알림 메시지(NOTI)를 스트리밍 서버(100)로 전송하고, 스트리밍 서버(100)는 알림 메시지로부터 클라이언트(200)의 버퍼 크기 정보를 파악한다.The
RTSP(Real Time Streaming Protocol)에 대한 내용은 'RFC 2326'에 정의되어 있고, RTP에 대한 내용은 'RFC 1889'에 정의되어 있으므로, 상세 설명은 생략한다.Since RTSP (Real Time Streaming Protocol) is defined in 'RFC 2326' and RTP is defined in 'RFC 1889', detailed description is omitted.
도 5a는 RTCP APP 메시지의 구조를 예시한 도면이고, 도 5b는 클라이언트가 스트리밍 서버로 전송하는 알림 메시지를 예시한 도면이다.5A is a diagram illustrating a structure of an RTCP APP message, and FIG. 5B is a diagram illustrating a notification message transmitted from a client to a streaming server.
도 5a에 예시된 메시지 구조의 각 필드에 대한 내용은 'RFC 2326'에 상세 설명은 생략하며, RTCP APP(APPlication Defined) 패킷의 응용 데이터 필드(Application-dependent data)를 이용하여 프로브 메시지 및 응답 메시지를 생성할 수 있다.Detailed description of each field of the message structure illustrated in FIG. 5A is omitted in 'RFC 2326', and a probe message and a response message using an application-dependent data field of an RTCP APP (ation definition defined) packet. Can be generated.
그리고, 클라이언트(200)는 RTCP APP 패킷의 응용 데이터 필드에 알림 메시지임을 알리는 메시지 타입(MSG Type)과, 버퍼 크기(레벨)(buffer level)를 포함시켜 알림 메시지를 생성하여 스트리밍 서버(100)로 전송한다.The
한편, 스트리밍 서버(100)가 클라이언트(200)의 버퍼 크기를 예측하는 방식은, 스트리밍 서버(100)에서 클라이언트(200)의 버퍼(220)로 전송한 RTP 패킷의 크기와, 디코더(210)가 버퍼(220)로부터 읽어들인 RTP 패킷의 크기를 기반으로 버퍼 크기를 예측할 수 있다. 이때, 스트리밍 서버(100)로부터 클라이언트(200)로 전송하는 RTP 패킷은 네트워크의 전송 속도가 매우 빠르므로, 빠른 시간내에 클라이언트(200)의 버퍼(220)로 저장된다고 가정할 수 있으므로, RTP 패킷이 네트워크 상에 잔존하는 양은 무시한다.On the other hand, the streaming
스트리밍 서버(100)가 클라이언트(200)로 전송한 RTP 패킷의 크기는 스트리밍 서버(100)가 전송한 프레임의 크기 합산으로 산출할 수 있고, 디코더(210)가 버퍼(220)로부터 읽어들인 RTP 패킷의 크기는 (현재 시간-초기 버퍼링 시간)부터 현재 시간까지의 프레임 크기를 합산하여 산출할 수 있다.The size of the RTP packet transmitted from the streaming
그리고, 스트리밍 서버(100)는 클라이언트(200)의 최대 버퍼 크기와, 네트워크의 최대 대역폭을 기반으로 전송률을 제어할 수 있다.The streaming
한편, 스트리밍 서버(100)는 RTP 패킷의 전송률을 제어하기 위해서는 클라이언트(200)의 버퍼(220)에 임시 저장되어 있는 RTP 패킷의 크기, 즉 현재 버퍼 레벨을 측정한다.Meanwhile, in order to control the transmission rate of the RTP packet, the streaming
도 6은 현재 버퍼 레벨을 측정하는 방식을 설명하기 위한 도면이다.6 is a diagram for describing a method of measuring a current buffer level.
도 6을 참조하면, 클라이언트(200)의 최대 버퍼 크기(SMCB)와, 버퍼(220)에 저장된 프레임 중 가장 먼저 저장된 프레임의 크기(SNXT)와, 버퍼(220)에 마지막에 저장된 프레임의 크기(SLST)와, 현재 시간(TCUR)과, 초기 버퍼링 시간(TIBT)을 기반으로 현재 버퍼 레벨(SCB)을 다음 수학식 1과 같이 산출할 수 있다.Referring to FIG. 6, the maximum buffer size S MCB of the
상기 수학식1에서 초기 버퍼링 시간(TIBT)은 스트리밍 서비스에 따라 설정되는 통상의 버퍼링 시간을 대입할 수 있으며, 현재 버퍼 레벨(SCB)은 스트리밍 서버(100)가 클라이언트(200)로 전송한 프레임 크기에서 디코더(210)가 디코딩하기 위해 읽어들인 프레임 크기를 감산한 크기 값에 해당할 수 있다.In
그리고, 스트리밍 서버(100)는 클라이언트(200)의 현재 버퍼 레벨(SCB)과, 최대 버퍼 크기(SMCB)와, 평균 전송률(RAVG)과, 네트워크의 최대 대역폭(RMAX)과, 최소 대역폭(RMIN)과, 초기 버퍼링 시간(TIBT)과, 네트워크 환경 변화에 대응하기 위한 가중치(W)를 기반으로 다음 수학식 2와 같이 목적 버퍼 레벨, 즉 목적 전송률(RCUR)을 추정할 수 있다.In addition, the streaming
상기 수학식 2에서 K는 비례 상수이고, 최대 대역폭(RMAX)과, 최소 대역폭(RMIN)은 평균 전송률(RAVG)에 비례 상수를 승산한 값이고, 초기 버퍼링 시간(TIBT)은 일정 시간(가령 3 sec)이고, 가중치(W)는 일정 값(가령 0.9)로 대입할 수 있다.In
그리고, 목적 버퍼 레벨은 최대 버퍼 크기보다 작고 요구 버퍼 레벨보다 큰 값으로 설정되는 것이 바람직하며, 목적 버퍼 레벨, 즉 목적 전송률은 현재 버퍼 레벨이 최대 버퍼 크기의 3/4 이상을 유지하는 상태가 안정적인 상태로 간주할 수 있으므로, 목적 전송률은 현재 버퍼 레벨이 최대 버퍼 크기의 3/4 정도로 유지하도록 설정한다.In addition, the target buffer level is preferably set to a value smaller than the maximum buffer size and larger than the required buffer level, and the target buffer level, that is, the target transfer rate, is stable in a state where the current buffer level maintains 3/4 or more of the maximum buffer size. Since it can be considered as a state, the target transfer rate is set so that the current buffer level is maintained at about 3/4 of the maximum buffer size.
그리고, 평균 전송률(RAVG)과, 네트워크의 최대 대역폭(RMAX)은 다음 수학식 3과 같이 산출할 수 있다.The average data rate R AVG and the maximum bandwidth R MAX of the network may be calculated by
RMAX = K1 x RAVG x SMCB / (K2 x SMCB), when SCB = 0R MAX = K 1 x R AVG x S MCB / (K 2 x S MCB ), when S CB = 0
상기 수학식 3에서 목적 전송률이 현재 버퍼 레벨이 최대 버퍼 크기(SMCB)의 3/4인 상태에서 '1'로 가정하고, 목적 전송률이 평균 전송률의 2배, 3배 등의 값을 가지는 경우를 대입하면, 평균 전송률(RAVG)과, 네트워크의 최대 대역폭(RMAX)을 산출할 수 있다.In
한편, 수학식 3에서 목적 전송률을 현재 버퍼 레벨이 최대 버퍼 크기(SMCB)의 3/5 또는 4/5인 상태에서 '1'로 가정할 수 있으며, 이는 실험적으로 도출 가능한 값이다.Meanwhile, in
도 7은 본 발명에 따라 클라이언트 버퍼 상태에 따른 전송률 제어 방식을 설명하기 위한 그래프이다.7 is a graph illustrating a rate control method according to a client buffer state according to the present invention.
도 7은 현재 버퍼 레벨이 최대 버퍼 크기의 3/4(0.75)인 상태가 안정적인 상태로 가정한 것으로, 현재 버퍼 레벨이 최대 버퍼 크기의 3/4인 상태의 전송률을 '1'이므로, 네트워크의 최대 전송률(Rmax)에 관계없이 현재 버퍼 레벨이 최대 버퍼(220)의 3/4인 상태로 안정되도록 목적 전송률을 제어할 수 있다.FIG. 7 assumes a stable state where the current buffer level is 3/4 (0.75) of the maximum buffer size. Since the transmission rate of the current buffer level is 3/4 of the maximum buffer size is '1', Regardless of the maximum transfer rate Rmax, the target transfer rate may be controlled such that the current buffer level is stabilized to 3/4 of the
도 8은 본 발명에 따른 전송률 제어 방식을 설명하기 위한 그래프로, 도 8을 참조하면, 기존의 전송률은 일정하게 유지되므로, RTP 패킷의 전송 상태에 따라 오버플로우가 발생하는 경우가 발생하나, 본 발명에 따른 전송률 제어 방식은 스트리밍 서버(100)가 클라이언트(200)로 RTP 패킷을 전송하는 전송률을 클라이언트(200)의 버퍼(220)에 저장되어 있는 RTP 패킷(프레임), 즉 현재 버퍼 레벨에 따라 목적 전송률이 결정되므로, 항상 클라이언트(200)의 버퍼를 최대 크기보다 낮게 유지할 수 있으므로, 오버플로우를 방지할 수 있다.FIG. 8 is a graph illustrating a rate control method according to the present invention. Referring to FIG. 8, since the existing rate is kept constant, an overflow occurs according to a transmission state of an RTP packet. In the rate control method according to the present invention, the streaming rate at which the
도 9는 스트리밍 시스템의 언더플로우/오버플로우 방지 방법을 설명하기 위 한 플로챠트이다.9 is a flowchart illustrating a method for preventing underflow / overflow in a streaming system.
도 9를 참조하면, 스트리밍 서버(100)는 클라이언트(200)의 버퍼 크기를 파악한다(S 100).Referring to FIG. 9, the streaming
이때, 스트리밍 서버(100)가 클라이언트(200)의 버퍼 크기를 파악하는 방식은, 스트리밍 서버(100)가 클라이언트(200)로부터 버퍼(220)의 크기 정보가 포함되는 알림 메시지를 수신하여 파악하는 제1 방식과, 스트리밍 서버(100)가 클라이언트(200)의 버퍼 크기를 예측하는 제2 방식으로 구분될 수 있다.At this time, the streaming
그리고, 스트리밍 서버(100)는 클라이언트(200)의 버퍼(220)에 저장되어 있는 RTP 패킷(프레임)의 크기, 즉 현재 버퍼 레벨을 측정한다(S 110).In addition, the streaming
스트리밍 서버(100)는 클라이언트(200)의 최대 버퍼 크기(SMCB)와, 버퍼(220)에 저장된 프레임 중 가장 먼저 저장된 프레임의 크기(SNXT)와, 버퍼(220)에 마지막에 저장된 프레임의 크기(SLST)와, 현재 시간(TCUR)과, 초기 버퍼링 시간(TIBT)을 기반으로 현재 버퍼 레벨(SCB)을 기반으로 상기 수학식 1과 같이 산출할 수 있다.The streaming
그리고, 스트리밍 서버(100)는 클라이언트(200)의 현재 버퍼 레벨(SCB)과, 최대 버퍼 크기(SMCB)와, 평균 전송률(RAVG)과, 네트워크의 최대 대역폭(RMAX)과, 최소 대역폭(RMIN)과, 초기 버퍼링 시간(TIBT)과, 네트워크 환경 변화에 대응하기 위한 가중치(W)를 기반으로 상기 수학식 2와 같이 목적 버퍼 레벨, 즉 목적 전송률(RCUR)을 추정한다(S 120).In addition, the streaming
그리고, 스트리밍 서버(100)는 목적 전송률에 따라 RTP 패킷을 네트워크를 통해 클라이언트(200)로 전송한다(S 130).In addition, the streaming
도 10은 본 발명에 따른 전송률 제어 방식을 적용한 결과를 나타내는 그래프이다.10 is a graph showing a result of applying the rate control method according to the present invention.
도 10에서 평균 전송률(RAVG )은 '76 kbps'이고, 최대 대역폭(RMAX)은'380 (=76 * 5) kbps'이고, 최소 대역폭은 (RMIN)은 '7.6 kbps'이고, 최대 버퍼 크기(SMCB)는 '85.5 KByte'이고, 초기 버퍼링 시간(TIBT)은 '3 sec'이고, 가중치(W)는 '0.9'인 경우에 측정되는 클라이언트(200)의 현재 버퍼 레벨과 전송률간의 관계를 나타낸 것이다.In Figure 10, the average data rate (R AVG ) is '76 kbps', the maximum bandwidth (R MAX ) is' 380 (= 76 * 5) kbps', the minimum bandwidth is (R MIN ) is' 7.6 kbps', and the maximum The current buffer level and transfer rate of the
도 10에서 나타나는 바와 같이, 본 발명에 따른 전송률 제어 방식은 클라이언트(200)의 버퍼(220)에 저장되어 있는 RTP 패킷의 크기, 즉 현재 버퍼 레벨이 낮아지면, 전송률이 높아지고, 현재 버퍼 레벨이 높아지면, 전송률이 낮아지는 전송률 제어에 의해 현재 버퍼 레벨이 일정하게 유지됨을 알 수 있으며, 이는 클라이언트(200)의 버퍼(220)에 항상 일정하게 RTP 패킷(프레임)을 저장시켜 언더플로우/오버플로우를 방지할 수 있음을 의미한다.As shown in FIG. 10, in the rate control method according to the present invention, when the size of the RTP packet stored in the
따라서, 클라이언트(200)의 버퍼(220)에 언더플로우/오버플로우가 발생하지 않고 안정적인 스트리밍 서비스를 제공할 수 있는 크기의 RTP 패킷(프레임)을 항상 유지할 수 있으므로, 높은 서비스 품질을 제공할 수 있다.Therefore, since an RTP packet (frame) having a size capable of providing a stable streaming service without underflow / overflowing in the
이상에서 본 발명은 기재된 구체 예에 대해서만 상세히 설명하였지만 본 발 명의 기술 사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 특허청구범위에 속함은 당연한 것이다.Although the present invention has been described in detail only with respect to the described embodiments, it will be apparent to those skilled in the art that various changes and modifications can be made within the scope of the present invention, and such modifications and modifications belong to the appended claims.
도 1은 종래 기술에 의한 클라이언트의 버퍼 레벨 변화를 나타내는 그래프.1 is a graph showing a buffer level change of a client according to the prior art.
도 2는 스트리밍이 시작된 시점부터 버퍼 레벨이 변화하는 양상을 나타내는 그래프.2 is a graph illustrating a change in the buffer level from the time when streaming starts.
도 3a는 본 발명에 따른 스트리밍 시스템의 간략한 네트워크 도면. 3A is a simplified network diagram of a streaming system according to the present invention.
도 3b는 클라이언트의 버퍼 모델링을 나타내는 도면.3B illustrates buffer modeling of a client.
도 4는 본 발명의 제1 실시예에 따른 클라이언트의 버퍼 크기를 확인하는 흐름을 설명하기 위한 도면.4 is a view for explaining the flow of checking the buffer size of the client according to the first embodiment of the present invention.
도 5a는 RTCP APP 메시지의 구조를 예시한 도면. 5A illustrates the structure of an RTCP APP message.
도 5b는 클라이언트가 스트리밍 서버로 전송하는 알림 메시지를 예시한 도면.5b illustrates a notification message sent by a client to a streaming server.
도 6은 현재 버퍼 레벨을 측정하는 방식을 설명하기 위한 도면.6 is a diagram for explaining a method of measuring a current buffer level.
도 7은 본 발명에 따라 클라이언트 버퍼 상태에 따른 전송률 제어 방식을 설명하기 위한 그래프.7 is a graph illustrating a rate control method according to a client buffer state according to the present invention.
도 8은 본 발명에 따른 전송률 제어 방식을 설명하기 위한 그래프.8 is a graph for explaining a rate control scheme according to the present invention;
도 9는 스트리밍 시스템의 언더플로우/오버플로우 방지 방법을 설명하기 위한 플로챠트.9 is a flowchart for explaining a method for preventing underflow / overflow in a streaming system.
도 10은 본 발명에 따른 전송률 제어 방식을 적용한 결과를 나타내는 그래프.10 is a graph showing a result of applying the rate control method according to the present invention.
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090025653A KR101038645B1 (en) | 2009-03-26 | 2009-03-26 | apparatus and method for prevention of underflow and overflow in streaming system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090025653A KR101038645B1 (en) | 2009-03-26 | 2009-03-26 | apparatus and method for prevention of underflow and overflow in streaming system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100107546A KR20100107546A (en) | 2010-10-06 |
KR101038645B1 true KR101038645B1 (en) | 2011-06-02 |
Family
ID=43129227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090025653A KR101038645B1 (en) | 2009-03-26 | 2009-03-26 | apparatus and method for prevention of underflow and overflow in streaming system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101038645B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230094598A (en) | 2021-12-21 | 2023-06-28 | 서울대학교산학협력단 | Apparatus for processing media streaming and method therefor |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130089844A (en) * | 2012-01-06 | 2013-08-13 | 삼성전자주식회사 | Apparatus for providing advertisement and method the same |
KR102399082B1 (en) | 2016-03-04 | 2022-05-17 | 삼성전자주식회사 | Method and apparatus for data buffering in adaptive streaming service |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040011257A (en) * | 2002-07-30 | 2004-02-05 | 송하윤 | Method and Apparatus for Multimedia Data Delivery Having an Efficient Bandwidth Smoothing Algorithm and a Recording Medium Used therefor |
KR20040041170A (en) * | 2001-09-21 | 2004-05-14 | 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 | Data communications method and system using receiving buffer size to calculate transmission rate for congestion control |
KR20060012418A (en) * | 2004-08-03 | 2006-02-08 | 주식회사 케이티프리텔 | Rate control method and device for streaming video |
KR20060080607A (en) * | 2005-01-05 | 2006-07-10 | 엘지전자 주식회사 | Streaming system and adaptive bandwidth allocation method |
-
2009
- 2009-03-26 KR KR1020090025653A patent/KR101038645B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040041170A (en) * | 2001-09-21 | 2004-05-14 | 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 | Data communications method and system using receiving buffer size to calculate transmission rate for congestion control |
KR20040011257A (en) * | 2002-07-30 | 2004-02-05 | 송하윤 | Method and Apparatus for Multimedia Data Delivery Having an Efficient Bandwidth Smoothing Algorithm and a Recording Medium Used therefor |
KR20060012418A (en) * | 2004-08-03 | 2006-02-08 | 주식회사 케이티프리텔 | Rate control method and device for streaming video |
KR20060080607A (en) * | 2005-01-05 | 2006-07-10 | 엘지전자 주식회사 | Streaming system and adaptive bandwidth allocation method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230094598A (en) | 2021-12-21 | 2023-06-28 | 서울대학교산학협력단 | Apparatus for processing media streaming and method therefor |
Also Published As
Publication number | Publication date |
---|---|
KR20100107546A (en) | 2010-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11089347B2 (en) | Adaptation logic for varying a bitrate | |
US7016970B2 (en) | System for transmitting stream data from server to client based on buffer and transmission capacities and delay time of the client | |
US7657672B2 (en) | Packet scheduling for data stream transmission | |
US9544602B2 (en) | Wireless video transmission system | |
US7733830B2 (en) | Enhancing streaming media reception for a mobile device during cell reselection | |
US8230105B2 (en) | Adaptive bitrate management for streaming media over packet networks | |
US7581019B1 (en) | Active client buffer management method, system, and apparatus | |
US7543073B2 (en) | System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate | |
US7536469B2 (en) | System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates | |
US8955024B2 (en) | Video streaming | |
US20110270913A1 (en) | Controlling an adaptive streaming of digital content | |
KR101182518B1 (en) | Video streaming system and method | |
CN108292970B (en) | Adaptive bit rate adjustment method and device distributed through Internet live broadcast | |
US20060143678A1 (en) | System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model | |
US20090125636A1 (en) | Payload allocation methods for scalable multimedia servers | |
US20050021830A1 (en) | Data communications method and system using buffer size to calculate transmission rate for congestion control | |
JP2006174419A (en) | System of controlling encoding bit rate of streaming media data | |
KR20060051568A (en) | Methods and systems for presentation on media obtained from a media stream | |
JP2009049529A (en) | Communication control device, communication control method and computer program | |
KR100631514B1 (en) | Method for controlling transport rate of real-time streaming service | |
KR101038645B1 (en) | apparatus and method for prevention of underflow and overflow in streaming system | |
KR101055169B1 (en) | Traffic control method and device therefor in streaming system | |
JP2004186793A (en) | Streaming distributor, streaming terminal equipment, streaming distribution system, and streaming distribution method | |
KR100782343B1 (en) | Method of streaming image | |
KR101094694B1 (en) | Apparatus and method of initial beffering time minimize in streaming system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140514 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160527 Year of fee payment: 6 |