KR100601934B1 - Adaptive streamimg apparatus and method - Google Patents
Adaptive streamimg apparatus and method Download PDFInfo
- Publication number
- KR100601934B1 KR100601934B1 KR1020030081723A KR20030081723A KR100601934B1 KR 100601934 B1 KR100601934 B1 KR 100601934B1 KR 1020030081723 A KR1020030081723 A KR 1020030081723A KR 20030081723 A KR20030081723 A KR 20030081723A KR 100601934 B1 KR100601934 B1 KR 100601934B1
- Authority
- KR
- South Korea
- Prior art keywords
- bit rate
- data
- streaming
- client
- control signal
- Prior art date
Links
Images
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/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/637—Control signals issued by the client directed to the server or network components
- H04N21/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
-
- 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/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- 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
- H04N21/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Communication Control (AREA)
Abstract
적응적 스트리밍 장치 및 방법이 개시된다. 이 장치는, 패킷화된 데이타를 스트리밍하는 스트리밍 경로와, 제어 신호에 응답하여 결정되는 제1 비트율로 데이타를 생성하고, 생성된 데이타를 패킷화하여 제2 비트율로 스트리밍 경로를 통해 전송하는 서버 및 패킷화된 데이타를 스트리밍 경로의 상태에 따라 가변되는 제3 비트율로 수신하고, 제3 비트율에 응답하여 제어 신호를 생성하는 클라이언트를 구비하는 것을 특징으로 한다. 그러므로, 스트리밍하면서 네트워크의 대역폭을 자동으로 인식하여 스트리밍하고자 하는 멀티 미디어 데이타의 비트율을 변경시킴으로서 멀티 미디어 데이타를 끊김없이 재생할 수 있도록 하고 즉, 버퍼링 현상이 없이 지속적인 재생을 가능하게 하고 망 혼잡으로 인한 패킷의 지연과 손실을 최소화할 수 있도록 하고, 클라이언트의 버퍼 상태에 따라 제어 신호를 달리 발생하여 이를 서버의 데이타 생성에 반영시키므로써 오디오/비디오 재생의 품질을 최적화시킬 수 있고, 제1 비트율 이상의 제2 비트율로 패킷 간격을 정하여 데이타를 전송하므로 대역폭 증가에 따른 예측 성능을 개선해서 대역폭 증가시에 네트워크 대역폭 활용율을 높일 수 있는 효과를 갖는다.An adaptive streaming apparatus and method are disclosed. The apparatus includes a streaming path for streaming packetized data, a server for generating data at a first bit rate determined in response to a control signal, packetizing the generated data, and transmitting the packetized data at a second bit rate over the streaming path; And a client configured to receive the packetized data at a third bit rate that varies according to the state of the streaming path, and generate a control signal in response to the third bit rate. Therefore, by automatically recognizing the bandwidth of the network while streaming and changing the bit rate of the multimedia data to be streamed, the multimedia data can be played back seamlessly, that is, continuous playback can be performed without buffering and packets due to network congestion. Delay and loss can be minimized, and the control signal is generated differently according to the buffer state of the client and reflected in the data generation of the server, thereby optimizing the quality of audio / video playback. Since data is transmitted by setting the packet interval at the bit rate, the prediction performance according to the increase of the bandwidth is improved, thereby increasing the network bandwidth utilization rate when the bandwidth is increased.
Description
도 1은 본 발명에 의한 적응적 스트리밍 장치의 개략적인 블럭도이다.1 is a schematic block diagram of an adaptive streaming apparatus according to the present invention.
도 2는 종래의 패킷 페어 방식을 설명하기 위한 도면이다.2 is a diagram for explaining a conventional packet pair method.
도 3은 본 발명에 의한 개선된 패킷 페어 방식을 설명하기 위한 도면이다.3 is a diagram illustrating an improved packet pair scheme according to the present invention.
도 4는 패킷 간격 설정을 설명하기 위한 도면이다.4 is a diagram for explaining packet interval setting.
도 5는 네트워크 수신 버퍼링의 점유 상태를 설명하기 위한 도면이다.5 is a diagram for describing an occupation state of network reception buffering.
도 6은 도 1에 도시된 서버의 본 발명에 의한 바람직한 일 실시예의 블럭도이다.6 is a block diagram of a preferred embodiment of the present invention of the server shown in FIG.
도 7은 도 1에 도시된 클라이언트의 본 발명에 의한 일 실시예의 블럭도이다.7 is a block diagram of an embodiment of the present invention of the client shown in FIG.
도 8은 도 7에 도시된 클라이언트측 스트리밍 엔진부의 본 발명에 의한 실시예의 블럭도이다.8 is a block diagram of an embodiment according to the present invention of the client-side streaming engine shown in FIG.
도 9는 본 발명에 의한 적응적 스트리밍 방법을 설명하기 위한 플로우차트이다.9 is a flowchart for explaining an adaptive streaming method according to the present invention.
본 발명은 주문형 비디오(VOD:Video On Demand), 주문형 음악(MOD:Music On Demand), 주문형 오디오(AOD:Audio On Demand) 또는 화상 통신 등과 같이 멀티 미디어(multimedia) 스트리밍(streaming) 기술을 사용하는 분야에 관한 것으로서, 특히, 스트리밍을 실시하는 스트리밍 장치 및 방법에 관한 것이다.The present invention utilizes multimedia streaming techniques such as Video On Demand (VOD), Music On Demand (MOD), Audio On Demand (AOD) or video communications. FIELD OF THE INVENTION Field of the Invention The present invention relates, in particular, to streaming devices and methods for performing streaming.
VOD나 MOD를 이용하여 멀티 미디어 컨텐츠를 스트리밍하여 재생할 때 버퍼링이 되는 동안 재생이 멈추는 현상을 자주 접할 수 있다. 이와 같이, 멀티 미디어 스트리밍 장치가 데이타를 재생하는 도중에 끊기는 이유는 다음과 같이 두 가지가 있다.When streaming multimedia content using VOD or MOD, it is often seen that playback stops while buffering. As such, there are two reasons why the multimedia streaming device is interrupted while playing data.
첫 번째 이유는 스트리밍하고자 하는 데이타의 비트율보다 네트워크의 대역폭이 작기 때문이다. 인터넷의 대역폭은 하나의 네트워크를 여러 명이 공유하여 사용하므로, 네트워크 트래픽(traffic) 발생량에 따라 사용할수 있는 대역폭(이하, 가용 대역폭이라 한다.)이 변하게 된다. 특히, 무선 네트워크(CDMA 또는 무선 랜)에서는 이동 속도에 따라서 가용 대역폭의 변화가 심하게 발생한다. 두 번째 이유는 처리할 데이타의 용량이 스트리밍 장치가 처리할 수 있는 한계를 넘기 때문이다.The first reason is that the network bandwidth is smaller than the bit rate of the data to be streamed. Since the bandwidth of the Internet is shared among several people, the available bandwidth (hereinafter, referred to as an available bandwidth) is changed according to the amount of network traffic. In particular, in a wireless network (CDMA or WLAN), a change in the available bandwidth occurs severely according to the moving speed. The second reason is that the amount of data to be processed exceeds the limit that the streaming device can handle.
전술한 첫 번째 이유를 해소하기 위해, 네트워크의 대역폭을 정확하게 예측하고, 예측된 대역폭을 이용하여 스트리밍하고자 하는 데이트의 비트율을 조정해야 한다. 이와 같이, 대역폭을 예측하는 종래의 방법들중 하나가 국내 특허 공개 번호 특2003-0016144에 "비디오 데이타 스트리밍 서비스 방법"이란 제목으로 개시되어 있다. 개시된 종래의 대역폭 예측 방법은 버퍼의 상태에 따라 주기적으로 대역폭을 예측한다. 그러나, 버퍼를 이용하여 대역폭을 예측하기 때문에, 종래의 대역폭 예측 방법은 대역폭을 정확히 측정하기 어려운 문제점을 갖는다. 게다가 개시된 종래의 대역폭 예측 방법은 특수한 네트워크에 국한되기 때문에 일반적인 네트워크에 적용하기 어려운 문제점을 갖는다.In order to solve the first reason described above, it is necessary to accurately predict the bandwidth of the network and adjust the bit rate of the data to be streamed using the predicted bandwidth. As such, one of the conventional methods for predicting bandwidth is disclosed in Korean Patent Publication No. 2003-0016144 entitled "Video Data Streaming Service Method". The disclosed conventional bandwidth prediction method predicts the bandwidth periodically according to the state of the buffer. However, since the bandwidth is predicted using the buffer, the conventional bandwidth prediction method has a problem that it is difficult to accurately measure the bandwidth. In addition, the disclosed conventional bandwidth prediction method is difficult to apply to a general network because it is limited to a special network.
본 발명이 이루고자 하는 기술적 과제는, 끊김없이(seamless) 멀티 미디어 데이타를 재생하도록 스트리밍을 실시하는 적응적 스트리밍 장치를 제공하는 데 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide an adaptive streaming device that performs streaming to reproduce seamless multimedia data.
본 발명이 이루고자 하는 다른 기술적 과제는, 끊김없이(seamless) 멀티 미디어 데이타를 재생하도록 스트리밍을 실시하는 적응적 스트리밍 방법을 제공하는 데 있다.Another technical problem to be solved by the present invention is to provide an adaptive streaming method for performing streaming to play seamless multimedia data.
상기 과제를 이루기 위한 본 발명에 의한 적응적 스트리밍 장치는, 패킷화된 데이타를 스트리밍하는 스트리밍 경로와, 제어 신호에 응답하여 결정되는 제1 비트율로 데이타를 생성하고, 생성된 데이타를 패킷화하여 제2 비트율로 상기 스트리밍 경로를 통해 전송하는 서버 및 상기 패킷화된 데이타를 상기 스트리밍 경로의 상태에 따라 가변되는 제3 비트율로 수신하고, 상기 제3 비트율에 응답하여 상기 제어 신호를 생성하는 클라이언트로 구성되는 것이 바람직하다.According to an aspect of the present invention, there is provided an adaptive streaming apparatus, which generates data at a streaming path for streaming packetized data and a first bit rate determined in response to a control signal, and packetizes the generated data. A server that transmits the packetized data at a second bit rate at a second bit rate, and a client that receives the packetized data at a third bit rate that varies according to a state of the streaming path, and generates the control signal in response to the third bit rate. It is desirable to be.
상기 다른 과제를 이루기 위해, 전술한 적응적 스트리밍 장치에서 수행되는 본 발명에 의한 적응적 스트리밍 방법은, 상기 데이타의 전송이 요구될 때, 상기 클라이언트에서 결정된 상기 제1 비트율로 상기 데이타를 생성하는 단계와, 상기 생성된 데이타를 패킷화하여 상기 제2 비트율로 상기 클라이언트로 전송하는 단계와, 상기 서버로부터 전송된 상기 패킷화된 데이타를 상기 제3 비트율로 수신하는 단계와, 상기 수신된 데이타의 크기와 간격을 이용하여 결정한 상기 제3 비트율을 이용하여 상기 제1 비트율을 결정하는 단계 및 상기 데이타의 전송을 요구할 것인가를 판단하고, 상기 데이타의 전송을 상기 서버에게 요구할 것으로 판단되면, 상기 데이타를 생성하는 단계로 진행하는 단계로 이루어지는 것이 바람직하다.In order to achieve the above object, the adaptive streaming method according to the present invention performed in the above-described adaptive streaming device, when the transmission of the data is required, generating the data at the first bit rate determined by the client And packetizing the generated data to the client at the second bit rate, receiving the packetized data transmitted from the server at the third bit rate, and the size of the received data. Determining the first bit rate using the third bit rate determined by using and intervals, and determining whether to request the transmission of the data, and generating the data when it is determined that the server is requested to transmit the data. It is preferable that the step to proceed to the step.
이하, 본 발명에 의한 적응적 스트리밍 장치의 구성 및 동작을 첨부된 도면을 참조하여 다음과 같이 설명한다.Hereinafter, the configuration and operation of the adaptive streaming apparatus according to the present invention will be described with reference to the accompanying drawings.
도 1은 본 발명에 의한 적응적 스트리밍 장치의 개략적인 블럭도로서, 서버(10), 클라이언트(12) 및 스트리밍 경로(14)로 구성된다.1 is a schematic block diagram of an adaptive streaming apparatus according to the present invention, which comprises a
도 1에 도시된 스트리밍 경로(14)는 패킷화된 데이타를 스트리밍하는 역할을 한다. 서버(10)는 클라이언트(12)로부터 입력한 제어 신호에 응답하여 제1 비트율을 결정하고, 결정한 제1 비트율로 데이타를 생성하며, 생성된 데이타를 패킷화하여 제2 비트율로 스트리밍 경로(14)를 통해 클라이언트(12)로 전송한다.The
이 때, 클라이언트(12)는 패킷화된 데이타를 스트리밍 경로(14)의 상태에 따라 가변되는 제3 비트율로 스트리밍 경로(14)를 통해 수신하고, 수신된 패킷화된 데이타를 재생하고, 제3 비트율에 응답하여 제어 신호를 생성하며, 생성된 제어 신호를 서버(10)로 스트리밍 경로(14)를 통해 전송한다.At this time, the
여기서, 네트워크의 대역폭을 정확하게 예측하기 위해서, 도 1에 도시된 서버(10)는 생성된 데이타를 적어도 세 개의 패킷들의 형태로 만들어서 제2 비트율에 의해 정한 패킷 간격으로 스트리밍 경로(14)를 통해 클라이언트(12)로 전송한다. 여기서, 생성된 데이타를 두 개의 패킷들의 형태로 만들어서 전송하는 종래의 패킷 페어(packet-pair) 방식과 달리, 본 발명에 의한 적응적 스트리밍 장치는 생성된 데이타를 세 개 이상의 패킷들의 형태로 만들어서 전송한다. 그 이유는 다음과 같다.Here, in order to accurately predict the bandwidth of the network, the
도 2는 종래의 패킷 페어 방식을 설명하기 위한 도면으로서, 서버(20), 클라이언트(22) 및 네트워크(24)로 구성된다.FIG. 2 is a diagram for explaining a conventional packet pair method, and is composed of a
도 2에 도시된 종래의 패킷 페어 방식은 1999년 3월에 'Kevin Lai' 및 'Mary Baker'에 의해 발표되고 IEEE INFOCOM'99의 볼륨(Volume) 1의 페이지 239에 "Measuring Bandwidth"라는 제목으로 실린 논문에 개시되어 있다. 개시된 종래의 패킷 페어 방식은 도 2에 도시된 바와 같이, 일정한 크기를 갖는 2 개의 제1 및 제2 패킷들(30 및 32)을 시간 t1의 간격으로 서버(20)로부터 네트워크(24)를 통해 클라이언트(22)로 전송한다. 이 때, 네트워크(24)의 대역폭에 따라 패킷 간격이 변한다. 만일, 네트워크(24)의 대역폭이 서버(20)에서 전송하고자 하는 패킷들(30 및 32)의 비트율보다 적다면, 패킷들(34 및 36)의 간격(T1)은 더 벌어지게 된다. 그러나, 네트워크(24)의 대역폭이 패킷들(30 및 32)의 비트율 이상이라면, 패킷 간격(T1)은 변화가 없다. 도 2에 도시된 네트워크(24)의 대역폭(Bandwidth)은 다음 수학식 1과 같다.The conventional packet pair scheme shown in FIG. 2 is published by Kevin Lai and Mary Baker in March 1999 and entitled "Measuring Bandwidth" on page 239 of
여기서, Size2는 제2 패킷(32)의 크기를 나타낸다.Here, Size2 represents the size of the
전술한 도 2에 도시된 종래의 패킷 페어는 2개의 패킷들(34 및 36)을 사용하여 대역폭을 예측하기 때문에, 하나의 패킷이 손실되더라도 대역폭을 측정할 수 없다. 또한, 전술한 종래의 패킷 페어 방식에 의해 예측된 대역폭(Bandwidth)은 현재 네트워크의 가용 대역폭과 네트워크가 가지고 있는 최대 대역폭 사이의 값이 된다. 네트워크(24)을 다른 패킷들과 공유하더라도 패킷 페어 사이에 다른 패킷들이 들어가지 않게 되면, 네트워크(24)가 갖는 최대 대역폭이 대역폭으로서 예측된다.Since the aforementioned packet pair shown in FIG. 2 uses two
도 3은 본 발명에 의한 개선된 패킷 페어 방식을 설명하기 위한 도면으로서, 서버(40), 클라리언트(42) 및 네트워크(44)로 구성된다. 여기서, 서버(40)와 클라이언트(42)는 도 1에 도시된 서버(10)와 클라이언트(12)에 각각 해당한다.3 is a diagram illustrating an improved packet pair scheme according to the present invention, and is comprised of a
전술한 종래의 패킷 페어 방식의 문제점을 극복하기 위해, 본 발명에 의한 패킷 제어 방식에 의하면, 클라이언트(42)는 적어도 세 개의 패킷들(60, 62, ... 및 64)을 사용하여 네트워크(44)의 대역폭을 측정한다. 이를 위해, 서버(40)는 적어도 세 개의 패킷들(50, 52, ... 및 54)들을 네트워크(44)를 통해 클라이언트(42)로 전송한다. 이와 같이, 본 발명에 의한 패킷 제어 방식은 적어도 세 개의 패킷들(60, 62, ... 및 64)을 사용하여 네트워크(44)의 대역폭을 측정하기 때문에 어느 패킷의 손실이 발생해도 네트워크(44)의 대역폭을 측정할 수 있으며, 가용 대역폭이 측정될 확률이 높다. 도 3에 도시된 패킷 페어 방식에 의해 측정된 대역폭(Bandwidth)은 다음 수학식 2와 같다.In order to overcome the problems of the conventional packet pair scheme described above, according to the packet control scheme according to the present invention, the
여기서, Size2, Size3, ... 및 SizeN은 패킷들{(50, 52, ... 및 54) 또는 (60, 62, ... 및 64)} 각각의 크기를 나타내고, N은 3 이상의 양의 정수를 나타내고, T1, T2, ... 및 TN은 패킷들간의 간격을 나타낸다. 즉, T1은 패킷들(60 및 62) 간의 간격을 나타낸다.Where Size2, Size3, ... and SizeN represent the size of each of the packets {(50, 52, ... and 54) or (60, 62, ... and 64)}, where N is an amount greater than or equal to 3 And T 1 , T 2 ,... And T N represent the intervals between the packets. That is, T 1 represents the spacing between
도 4는 패킷 간격 설정을 설명하기 위한 도면으로서, 제1, 제2, 제3 엑세스 유닛(AU:Access Unit)들(80, 82, 84, ...)과 제1, 제2, 제3 패킷(Packet)들(Packet1, Packet2, Packet3, ...)(90, 92, 94, ...)로 구성된다.FIG. 4 is a diagram for describing packet interval setting, and includes first, second, and
본 발명에 의하면, 네트워크의 대역폭 증가에 대한 대역폭 예측 성능을 개선하기 위해서, 패킷을 전송할 때 클라이언트(12)에서 요청한 제1 비트율보다 높은 제2 비트율로 패킷 간격을 정하여 데이타를 전송할 수 있다. 즉, 제2 비트율은 제1 비트율 이상이 될 수 있다. 도 4에 도시된 바와 같이, 클라이언트(12)에서 요청한 제1 비트율로 생성된 데이타들(80, 82, ... 및 84)은 타임 스탬프(TS:Time Stamp)들(TS1, TS2, TS3, ...)을 각각 갖는다.According to the present invention, in order to improve the bandwidth prediction performance for increasing the bandwidth of the network, when transmitting a packet, the data can be transmitted by setting a packet interval at a second bit rate higher than the first bit rate requested by the
서버(10)로부터 클라이언트(12)로 전송되는 패킷들간의 간격은 엑세스 유닛의 타임 스탬프를 이용하여 결정된다. 이 때, 도 4에 도시된 바와 같이, 서버(10)에서 데이타를 패킷화하여 전송할 때 타임 스탬프를 이용하여 전송할 때의 간격보다 적은 간격으로 패킷화된 데이타들을 전송하면, 즉, 클라이언트(12)에서 요청한 제1 비트율 이상의 제2 비트율로 패킷화된 데이타들이 전송하면, 전송율은 실제 엑세스 유닛의 비트율보다 커지게 되므로, 현재 전송되고 있는 엑세스 유닛의 비트율보다 높은 대역폭까지 측정이 가능하게 된다. 그러므로, 대역폭 증가에 대한 대역폭 예측 성능이 개선된다.The interval between packets transmitted from the
예를 들어, 제1 AU(80)의 타임 스탬프(TS1)가 100㎳이고, 제2 AU(82)의 타임 스탬프(TS2)가 200㎳이고, 제3 AU(84)의 타임 스탬프(TS3)가 300㎳이고, t1, t2 및 t3가 각각 100㎳, 150㎳, 200㎳라고 가정하자. 즉, 엑세스 유닛들의 타임 스탬프들간의 간격이 100㎳이고 50㎳의 간격으로 데이타를 패킷화하여 전송한다고 가정할 경우, AU의 제1 비트율보다 2배 높은 제2 비트율로 전송된다. 그러므로, 클라이언트(12)측에서는 제1 비트율보다 2배 높은 제2 비트율까지 대역폭 측정이 가능해진다.For example, the time stamp TS 1 of the
도 5는 네트워크 수신 버퍼링의 점유 상태를 설명하기 위한 도면으로서, 버퍼(100)로 구성된다.FIG. 5 is a diagram for explaining the occupancy state of network reception buffering, and is composed of a
본 발명에 의하면, 도 1에 도시된 클라이언트(12)는 제어 신호를 생성할 때 제3 비트율 뿐만 아니라 네트워크 수신 버퍼링의 공간을 고려할 수도 있다. 여기서, 네트워크 수신 버퍼링의 공간이란, 클라이언트(12)의 내부에 마련되는 버퍼(100)가 버퍼링할 수 있는 공간을 의미한다. 여기서, 버퍼(100)는 스트리밍 경로(14)를 통해 수신된 패킷화된 데이타를 역 패킷화(depacketization)하여 생성한 엑세스 유닛을 버퍼링하고, 버퍼링된 결과를 복호화부(미도시)로 전송하는 역할을 한다. 여기서, 복호화부는 버퍼링된 결과를 복호화하는 역할을 한다.According to the present invention, the
먼저, 도 5에 도시된 버퍼(100)에서 네트워크 수신 버퍼링의 하한선(LBL:Low Buffer Limit)과 상한선(UBL:Upper Buffer Limit)을 설정한다. 만일, 버퍼(100)의 점유 상태 즉, 점유율이 LBL이하일 경우 현재 측정된 대역폭보다 적은 비트율로 제어 신호를 발생하고, 점유율이 UBL이상일 경우 현재 측정된 대역폭보다 높은 비트율로 제어 신호를 발생한다. 따라서, 버퍼 점유율이 LBL과 UBL 사이의 값으로 유지될 수 있다.First, the lower limit (LBL: Low Buffer Limit) and the upper limit (UBL: Upper Buffer Limit) of the network reception buffering are set in the
한편, 도 1에 도시된 서버(10)는 계층 부호화, 변환 부호(trans-coding)화 또는 실시간 부호화를 통해 데이타를 제1 비트율로 생성할 수 있다.Meanwhile, the
이하, 도 1에 도시된 적응적 스트리밍 장치의 본 발명에 의한 일 실시예의 구성 및 동작을 첨부한 도면들을 참조하여 다음과 같이 설명한다.Hereinafter, with reference to the accompanying drawings the configuration and operation of an embodiment of the present invention of the adaptive streaming device shown in Figure 1 will be described as follows.
도 6은 도 1에 도시된 서버(10)의 본 발명에 의한 바람직한 일 실시예(10A)의 블럭도로서, 저장부(130), 부호화부(132), 전처리부(134), 변환부(136) 및 서버측 스트리밍 엔진부(138)로 구성된다.6 is a block diagram of a
도 6에 도시된 저장부(130)는 부호화된 데이타를 저장한다. 이 때, 전 처리부(134)는 부호화부(132)에서 부호화하기 전의 모든 과정 즉, 마이크(미도시) 또는 카메라(미도시)로부터 데이타 입력이나 부호화 이전의 색상 변환 과정등 모든 처리 과정을 처리할 수 있다.The
부호화부(132)는 전 처리부(134)에서 전처리된 데이타를 입력하고, 변환부(136)로부터 제1 비트율에 대한 정보를 입력하며, 전 처리된 데이타를 제1 비트율로 부호화하며, 부호화된 결과를 변환부(136)로 출력한다. 여기서, 부호화된 데이타란 전술한 엑세스 유닛에 해당한다.The
이 때, 변환부(136)는 저장부(130) 또는 부호화부(132)로부터 입력한 부호화된 데이타를 서버측 스트리밍 엔진부(138)로부터 입력한 비트율 정보에 포함된 제1 비트율로 변환하고, 변환된 결과를 서버측 스트리밍 엔진부(138)로 출력한다.At this time, the
이 때, 서버측 스트리밍 엔진부(138)는 클라이언트(12)로부터 입력단자 IN1을 통해 입력한 제어 신호로부터 비트율 정보를 추출하여 변환부(136)로 출력하고, 변환부(136)에서 변환된 결과를 패킷화하여 제2 비트율로 출력단자 OUT1을 거쳐 스트리밍 경로(14)를 통해 클라이언트(12)로 전송한다. 이를 위해, 서버측 스트리밍 엔진부(138)는 제어 신호 수신부(140) 및 데이타 송신부(142)로 구현될 수 있다. 여기서, 제어 신호 수신부(140)는 클라이언트(12)로부터 입력단자 IN1을 통해 입력한 제어 신호로부터 비트율 정보를 추출하고, 추출된 비트율 정보를 변환부(136)로 출력한다. 데이타 송신부(142)는 변환부(136)에서 변환된 결과를 입력하여 패킷화하고, 패킷화된 결과를 제2 비트율로 출력단자 OUT1을 거쳐 스트리밍 경로(14)를 통해 클라이언트(12)로 전송한다.At this time, the server-side
도 7은 도 1에 도시된 클라이언트(12)의 본 발명에 의한 일 실시예(12A)의 블럭도로서, 클라이언트측 스트리밍 엔진부(150), 복호화부(152) 및 렌더링(rendering)부(154)로 구성된다.FIG. 7 is a block diagram of an
도 7에 도시된 클라이언트측 스트리밍 엔진부(150)는 입력단자 IN2를 통해 제3 비트율로 수신된 패킷화된 데이타를 역 패킷화하고, 역 패킷화된 결과를 복호화부(152)로 출력한다. 또한, 클라이언트측 스트리밍 엔진부(150)는 제3 비트율에 응답하여 제어 신호를 생성하고, 생성된 제어 신호를 출력단자 OUT2를 통해 서버(10)로 전달한다.The client-
도 8은 도 7에 도시된 클라이언트측 스트리밍 엔진부(150)의 본 발명에 의한 실시예(154A)의 블럭도로서, 데이타 수신부(170), 네트워크 상태 결정부(172), 제어 신호 생성부(174), 제어 신호 송신부(176) 및 버퍼(178)로 구성된다. 여기서, 버퍼(178)는 도 5에 도시된 버퍼(100)에 해당한다.FIG. 8 is a block diagram of an
도 8에 도시된 데이타 수신부(170)는 패킷화된 데이타를 제3 비트율로 입력단자 IN3을 통해 수신하여 역 패킷화하고, 역 패킷화된 결과를 버퍼(178)로 출력한다. 또한, 데이타 수신부(170)는 입력단자 IN3을 통해 수신된 패킷화된 데이타의 크기와 간격을 네트워크 상태 결정부(172)로 출력한다.The
네트워크 상태 결정부(172)는 패킷화된 데이타의 크기와 간격을 데이타 수신부(170)로부터 수신하고, 수신한 크기와 간격에 따라 제3 비트율을 결정하며, 결정된 제3 비트율을 제어 신호 생성부(714)로 출력한다. 즉, 네트워크 상태 결정부(172)는 수신한 크기와 간격에 따라 대역폭을 측정한다. 이 때, 제어 신호 생성부(174)는 네트워크 상태 결정부(172)에서 결정한 제3 비트율을 이용하여 제어 신호를 생성하고, 생성된 제어 신호를 제어 신호 송신부(176)로 출력한다. 이 때, 클라이언트측 스트리밍 엔진부(154A)는 데이타 수신부(170)로부터 입력한 역 패킷화된 결과를 버퍼링하여 복호화부(178)로 출력단자 OUT5를 통해 출력하는 버퍼(178)를 더 마련할 수 있다. 이 경우, 제어 신호 생성부(174)는 네트워크 상태 결정부(172)로부터 입력한 제3 비트율 및 버퍼(178)의 버퍼링 상태를 이용하여 제어 신호를 생성하고, 생성된 제어 신호를 제어 신호 송신부(176)로 출력한다. 이 때, 제어 신호 송신부(176)는 생성된 제어 신호를 출력단자 OUT4를 통해 서버(10)로 전달하는 역할을 한다.The
한편, 도 7에 도시된 복호화부(152)는 클라이언트측 스트리밍 엔진부(150)에서 역 패킷화된 결과를 입력하여 복호화하고, 복호화된 결과를 렌더링부(154)로 출력한다. 이 때, 렌더링부(154)는 복호화부(152)에서 복호화된 결과를 렌더링하여 재생하고, 렌더링된 결과를 출력단자 OUT3을 통해 출력한다.Meanwhile, the
이하, 본 발명에 의한 적응적 스트리밍 방법을 첨부한 도면을 참조하여 다음과 같이 설명한다.Hereinafter, an adaptive streaming method according to the present invention will be described with reference to the accompanying drawings.
도 9는 본 발명에 의한 적응적 스트리밍 방법을 설명하기 위한 플로우차트로서, 데이타의 전송이 요구될 때, 서버(10)에서 데이타를 생성하여 클라이언트(12)로 전송하는 단계(제190 ~ 제194 단계들) 및 전송된 데이타를 수신하는 단계(제196 ~ 제200 단계들)로 이루어진다.9 is a flowchart illustrating an adaptive streaming method according to the present invention. When data transmission is required, the
본 발명에 의한 적응적 스트리밍 방법은, 데이타의 전송이 요구되는가를 판단한다(제190 단계). 즉, 데이타를 전송해 줄 것을 클라이언트(12)가 서버(10)에게 비트율 정보를 보내면서 요구하는가를 판단한다. 만일, 데이타의 전송을 요구하는 것으로 판단되면, 클라이언트(12)에서 결정된 제1 비트율로 데이타를 생성한다(제192 단계). 즉, 서버(10)는 비트율 정보로부터 제1 비트율을 추출하고, 추출된 제1 비트율로 데이타를 생성한다.In the adaptive streaming method according to the present invention, it is determined whether data transmission is required (step 190). That is, it is determined whether the
제192 단계후에, 서버(10)는 생성된 데이타를 패킷화하여 제2 비트율로 클라이언트(12)로 스트리밍 경로(14)를 통해 전송한다(제194 단계).After
제194 단계후에, 클라이언트(12)는 서버(10)로부터 전송된 패킷화된 데이타를 제3 비트율로 수신한다(제196 단계). 제196 단계후에, 클라이언트(12)는 수신된 데이타의 크기와 간격을 이용하여 제3 비트율을 결정하고, 결정한 제3 비트율을 이용하여 제1 비트율을 결정한다(제198 단계).After
제198 단계후에, 클라이언트(12)는 데이타의 전송을 서버(10)에게 요구할 것인가를 판단한다(제200 단계). 만일 클라이언트(12)가 데이타의 전송을 서버(10)에게 요구하는 것으로 판단되면, 서버(10)는 제198 단계에서 결정된 제1 비트율로 데이타를 생성한다(제192 단계).After
이상에서 설명한 바와 같이, 본 발명에 의한 적응적 스트리밍 장치 및 방법은 스트리밍하면서 네트워크의 대역폭을 자동으로 인식하여 스트리밍하고자 하는 멀티 미디어 데이타의 비트율을 변경시킴으로서 멀티 미디어 데이타를 끊김없이 재생할 수 있도록 하고 즉, 버퍼링 현상이 없이 지속적인 재생을 가능하게 하고 망 혼잡으로 인한 패킷의 지연과 손실을 최소화할 수 있도록 하고, 클라이언트의 버퍼 상태에 따라 제어 신호를 달리 발생하여 이를 서버의 데이타 생성에 반영시키므로써 오디오/비디오 재생의 품질을 최적화시킬 수 있고, 제1 비트율 이상의 제2 비트율로 패킷 간격을 정하여 데이타를 전송하므로 대역폭 증가에 따른 예측 성능을 개선해서 대역폭 증가시에 네트워크 대역폭 활용율을 높일 수 있는 효과를 갖는다.As described above, the adaptive streaming apparatus and method according to the present invention allow the multimedia data to be played back seamlessly by changing the bit rate of the multimedia data to be streamed by automatically recognizing the bandwidth of the network while streaming. It enables continuous playback without buffering, minimizes delay and loss of packets due to network congestion, and generates control signals according to the buffer status of the client and reflects them in the data generation of the server. Since the quality of reproduction can be optimized and data is transmitted by setting the packet interval at the second bit rate more than the first bit rate, the prediction performance according to the bandwidth increase can be improved to increase the network bandwidth utilization rate when the bandwidth is increased.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030081723A KR100601934B1 (en) | 2003-11-18 | 2003-11-18 | Adaptive streamimg apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030081723A KR100601934B1 (en) | 2003-11-18 | 2003-11-18 | Adaptive streamimg apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050047920A KR20050047920A (en) | 2005-05-23 |
KR100601934B1 true KR100601934B1 (en) | 2006-07-14 |
Family
ID=37246801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030081723A KR100601934B1 (en) | 2003-11-18 | 2003-11-18 | Adaptive streamimg apparatus and method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100601934B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013022316A1 (en) * | 2011-08-11 | 2013-02-14 | Samsung Electronics Co., Ltd. | Apparatus and method for providing streaming service |
KR101638509B1 (en) | 2015-04-14 | 2016-07-12 | 고려대학교 산학협력단 | Apparatus and method for mobile multimedia streaming services |
KR102019654B1 (en) | 2018-10-02 | 2019-09-09 | 전남대학교산학협력단 | Method for switching adaptive streaming server |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050005025A1 (en) * | 2003-07-04 | 2005-01-06 | Michael Harville | Method for managing a streaming media service |
KR101937449B1 (en) * | 2012-10-08 | 2019-01-11 | 에스케이텔레콤 주식회사 | Method and apparatus for providing adaptively video service |
US9462032B2 (en) | 2013-07-24 | 2016-10-04 | Google Inc. | Streaming media content |
KR102270034B1 (en) * | 2014-09-30 | 2021-06-28 | 삼성전자주식회사 | Apparatus and method for receiving streaming service data in mobile communication system supporting a plurality of radio access interfaces |
US20160373509A1 (en) | 2015-06-16 | 2016-12-22 | Sk Telecom Co., Ltd. | APPARATUS AND METHOD FOR REPORTING QoS/QoE IN MOBILE ENVIRONMENT |
KR20170130253A (en) | 2016-05-18 | 2017-11-28 | 에스케이텔레콤 주식회사 | Method for providing of adaptive streaming service and apparatus therefor |
KR101915469B1 (en) | 2016-11-29 | 2018-11-06 | 에스케이텔레콤 주식회사 | Method for providing of streamming service and apparatus for the same |
-
2003
- 2003-11-18 KR KR1020030081723A patent/KR100601934B1/en not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013022316A1 (en) * | 2011-08-11 | 2013-02-14 | Samsung Electronics Co., Ltd. | Apparatus and method for providing streaming service |
KR101638509B1 (en) | 2015-04-14 | 2016-07-12 | 고려대학교 산학협력단 | Apparatus and method for mobile multimedia streaming services |
KR102019654B1 (en) | 2018-10-02 | 2019-09-09 | 전남대학교산학협력단 | Method for switching adaptive streaming server |
Also Published As
Publication number | Publication date |
---|---|
KR20050047920A (en) | 2005-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3740113B2 (en) | Real-time multimedia streaming system and method adapted to network | |
US7652994B2 (en) | Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels | |
CN1981492B (en) | Buffer level signaling for rate adaptation in multimedia streaming | |
US8489758B2 (en) | Method of transmitting data in a communication system | |
KR101727450B1 (en) | Reducing delay in video telephony | |
US20050094628A1 (en) | Optimizing packetization for minimal end-to-end delay in VoIP networks | |
US7111058B1 (en) | Server and method for transmitting streaming media to client through a congested network | |
JP4748729B2 (en) | Apparatus and method for preparing to transmit data and corresponding products | |
CN102395027A (en) | System and method for transferring multiple data channels | |
KR20060011964A (en) | Method and device for proactive rate adaptation signaling | |
WO2008023303A2 (en) | Jitter buffer adjustment | |
RU2598805C2 (en) | Method for dynamic adaptation of repetition frequency of bits when receiving and appropriate receiver | |
CN100521646C (en) | Data communications method and system for transmitting multiple data streams calculating available bandwidth per stream and bit stream trade-off | |
KR100601934B1 (en) | Adaptive streamimg apparatus and method | |
WO2005039180A1 (en) | Medium signal transmission method, reception method, transmission/reception method, and device | |
KR20230002784A (en) | Methods and servers for transmitting audio and/or video content | |
KR20100007368A (en) | System for controlling bit rate of streaming service and method thereof | |
US7986634B2 (en) | Apparatus and method for measuring quality of sound encoded with a variable band multi-codec | |
CN112911650A (en) | Mobile high-definition video intelligent bidirectional detection bandwidth control system | |
JP2006511162A (en) | Multi-track hinting in receiver-driven streaming systems | |
JP2008244894A (en) | Packet receiving apparatus, method and program for determining necessary and sufficient reception buffer size | |
CA2528331A1 (en) | Medium signal reception device, transmission device, and transmission/reception system | |
JP4406382B2 (en) | Speech coding selection control method | |
KR20070010200A (en) | Buffer level signaling for rate adaptation in multimedia streaming | |
JP4392378B2 (en) | Speech coding selection control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
AMND | Amendment | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130627 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140627 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |