KR100851634B1 - System and method of steraming live multimedia data by pull - Google Patents
System and method of steraming live multimedia data by pull Download PDFInfo
- Publication number
- KR100851634B1 KR100851634B1 KR1020080011433A KR20080011433A KR100851634B1 KR 100851634 B1 KR100851634 B1 KR 100851634B1 KR 1020080011433 A KR1020080011433 A KR 1020080011433A KR 20080011433 A KR20080011433 A KR 20080011433A KR 100851634 B1 KR100851634 B1 KR 100851634B1
- Authority
- KR
- South Korea
- Prior art keywords
- multimedia stream
- live multimedia
- live
- client
- server
- 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/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/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/76—Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
- H04H60/81—Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself
- H04H60/82—Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself the transmission system being the Internet
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2368—Multiplexing of audio and video 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/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/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
본 발명은 라이브 멀티미디어 스트림을 전송하는 방법 및 시스템에 관한 것으로, 더욱 상세하게는 라이브 멀티미디어 스트림을 풀(pull) 방식으로 스트리밍하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for transmitting a live multimedia stream, and more particularly, to a method and system for streaming a live multimedia stream in a pull manner.
일반적으로, 인터넷 프로토콜 텔레비전방송(IPTV)에서 컨텐츠를 전송하는 방식은 저장된 컨텐츠를 전송하는 비디오온디맨드(VOD) 방식이나 실시간 생방송을 제공하는 라이브 방식이 있다. 이러한 컨텐츠들은 유니캐스트나 브로드캐스트방식의 스트리밍 기술로 전송되는데, 스트리밍이란 데이터 전체를 전송한 후 재생하는 것이 아니라 일부 데이터의 전송 후 바로 재생하는 기술로서 RTSP(Real-Time Streaming Protocol)나 RTP(Real-Time Transport Protocol) 등의 실시간 전송 프로토콜을 이용한다.In general, a method of transmitting content in Internet protocol television broadcasting (IPTV) includes a video on demand (VOD) method of transmitting stored content or a live method of providing real time live broadcasting. These contents are transmitted by unicast or broadcast streaming technology. Streaming is a technology that does not play after transmitting the entire data but plays back immediately after the transmission of some data. RTSP (Real-Time Streaming Protocol) or RTP (Real) -Real time transport protocol such as Time Transport Protocol is used.
한편, 버퍼에 저장되어 있는 데이터의 전달방식은 데이터 흐름의 주도권을 누가 가지고 데이터를 전달하는가에 따라 데이터를 공급하는 서버가 데이터 흐름을 제어하는 서버 푸시(통상 Push라 함) 방식과 클라이언트가 데이터 흐름을 제어하는 클라이언트 풀(통상 Pull이라 함) 방식으로 구분된다. 푸시(Push) 방식은 서버가 데이터 흐름의 주도권을 가지고 주기적으로 적절한 데이터를 클라이언트로 전송하는 방식으로 브로드캐스트에 적합하나 데이터를 공급하는 서버에서 데이터 전달속도를 적절히 조정해야 한다. 풀(Pull) 방식은 클라이언트가 데이터 흐름의 주도권을 가지고 서버에 원하는 데이터를 요청하면 서버는 요청된 데이터를 전달하는 방식으로서 클라이언트에서의 버퍼 오버플로우(Overflow)와 언더플로우(Underflow)를 클라이언트가 제어할 수 있다.On the other hand, the data transfer method stored in the buffer is a server push (commonly called Push) method in which the server supplying the data controls the data flow according to who takes the initiative of the data flow, and the data flow is controlled by the client. This is divided into client pools (commonly called pulls) that control the. The push method is suitable for broadcasting in which the server takes the initiative of the data flow and periodically transmits the appropriate data to the client, but the data delivery speed should be properly adjusted in the server supplying the data. The pull method is a method in which the client requests the desired data to the server with the initiative of data flow, and the server delivers the requested data. The client controls the buffer overflow and underflow in the client. can do.
라이브 방식의 인터넷 프로토콜 텔레비전방송(IPTV)에서 제공되는 라이브 멀티미디어 스트리밍은 라이브의 특성상, 송출자가 일방적으로 스트리밍을 송출하고, 시청자는 수동적으로 라이브 멀티미디어 스트림을 받아보기만 하게 된다. 이에 따라, 스트리밍의 시작 후 인트라프레임(I Frame)이 도달하기까지 시간만큼 의미 없는 데이터를 수신하게 되고, 이에 걸리는 시간은 시청자에게 낭비되는 시간으로 작용한다.Live multimedia streaming provided by live Internet protocol television (IPTV) is characterized by the nature of the live, the sender sends out the stream unilaterally, the viewer only passively receives the live multimedia stream. As a result, after the start of streaming, an insignificant amount of data is received for a time until an intra frame (I Frame) arrives, and the time taken for this is a waste of time for the viewer.
본 발명은 상기와 같은 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 라이브 멀티미디어 스트림을, 적정한 크기의 버퍼링 서버를 두고 시청자가 원하는 만큼 데이터를 미리 풀방식으로 전송함으로써 시청자의 대기시간을 최소화할 수 있는 라이브 멀티미디어 스트림을 풀 방식으로 스트리밍하는 방법 및 시스템을 제공하는 것이다.The present invention has been proposed to solve the above problems, and an object of the present invention is to minimize the waiting time of a viewer by transmitting data in a full manner in advance as a viewer wants a live multimedia stream with an appropriately sized buffering server. The present invention provides a method and system for streaming a live multimedia stream.
본 발명의 상기 목적은, 방송 컨텐츠를 라이브 멀티미디어 스트림 형태로 제공하는 방송서버시스템 및 네트워크를 통해 방송서버시스템에 접속하여 라이브 멀티미디어 스트림을 수신 및 재생하는 하나 이상의 클라이언트를 포함하고, 클라이언트가 방송채널을 변경하여 변경된 방송채널의 라이브 멀티미디어 스트림을 요청하거나 방송서버시스템에 최초 접속하여 라이브 멀티미디어 스트림을 요청하면 방송서버시스템이 요청된 방송채널의 라이브 멀티미디어 스트림을 전송하되, 클라이언트의 라이브 멀티미디어 스트림 요청시점에 따라 미리 버퍼링된 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 시스템에서, 방송서버시스템이, 라이브 데이터를 인코딩하여 라이브 멀티미디어 스트림을 생성하는 라이브 인코더, 라이브 멀티미디어 스트림을 네트워크를 통해 전송하는 스트리밍 서버, 라이브 멀티미디어 스트림을 버퍼링하는 스토리지, 그리고 요청된 방송채널에 대하여, 스트리밍 서버에서 정상적으로 전송중인 라이브 멀티미디어 스트림 대신, 스토리지에서 버퍼링된 라이브 멀티미디어 스트림을 I 프레임부터 클라이언트에 전송하는 버퍼링 서버를 포함하고, 클라이언트의 라이브 멀티미디어 스트림 요청시점이 스트리밍 서버에서 정상적으로 전송중인 요청 방송채널의 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점인 경우 스트리밍 서버에서 정상적으로 전송중인 라이브 멀티미디어 스트림을 그대로 클라이언트에 전송하고, I 프레임의 전송시점이 아닌 경우 버퍼링 서버로부터 스토리지에 버퍼링된 라이브 멀티미디어 스트림을 클라이언트에 전송하는 것을 특징으로 하는 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 시스템에 의해 달성 가능하다.The above object of the present invention includes a broadcast server system for providing broadcast content in the form of a live multimedia stream, and one or more clients connected to the broadcast server system via a network to receive and play the live multimedia stream, wherein the client provides a broadcast channel. When a request for a live multimedia stream of a changed broadcast channel is requested or a live multimedia stream is requested by first accessing a broadcast server system, the broadcast server system transmits a live multimedia stream of the requested broadcast channel. In a system that streams a pre-buffered live multimedia stream in a full manner, a live encoder that the broadcast server system encodes live data to generate a live multimedia stream, a live multimedia stream For streaming servers that transmit rims over a network, storage that buffers live multimedia streams, and requested broadcast channels, the live multimedia stream buffered in storage is sent from the I frame to the client, instead of the live multimedia stream that is normally being transmitted by the streaming server. And a buffering server for transmitting, and when a client's live multimedia stream request point is a transmission point of an I frame based on a live multimedia stream of a request broadcast channel normally transmitted from the streaming server, the live multimedia stream normally transmitted from the streaming server is left as it is. Transmitting to the client and transmitting the live multimedia stream buffered in the storage from the buffering server to the client when the I frame is not transmitted. Can be achieved by a system that streams live multimedia streams in full fashion.
바람직하게는, 버퍼링 서버가, 스토리지에 버퍼링된 라이브 멀티미디어 스트림 중 I 프레임을 탐색하여, 탐색된 I 프레임부터 스토리지에 버퍼링된 라이브 멀티미디어 스트림을 클라이언트로 전송하도록 하며, 이때 버퍼링 서버는 라이브 멀티미디어 스트림을 풀방식으로 전송하도록 한다. 버퍼링 서버는 또한, 스토리지를 FIFO 구조로 관리하여, 새로운 라이브 멀티미디어 스트림이 전송되면 스토리지에 저장된 라이브 멀티미디어 스트림을 초과된 용량만큼 삭제하도록 한다. 이때, 방송서버시스템은, 클라이언트의 라이브 멀티미디어 스트림 요청시점이 상기 스트리밍 서버에서 정상적으로 전송중인 요청 방송채널의 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점인 경우 클라이언트를 스트리밍 서버에 접속시키고, I 프레임의 전송시점이 아닌 경우 클라이언트를 버퍼링 서버에 접속시키는 스케줄러를 더 포함하도록 한다. 한편, 버퍼링 서버가 스토리지에 버퍼링된 라이브 멀티미디어 스트림을 전송한 이후의 라이브 멀티미디어 스트림에 대하여는, 스트리밍 서버가 정상적으로 전송중인 라이브 멀티미디어 스트림을 그대로 클라이언트에 전송하도록 한다.Preferably, the buffering server searches for I frames among the live multimedia streams buffered in the storage, and transmits the live multimedia streams buffered in the storage to the client from the found I frames, wherein the buffering server decompresses the live multimedia streams. To transmit the data. The buffering server also manages the storage in a FIFO structure so that when a new live multimedia stream is sent, the live multimedia stream stored in the storage is deleted by excess capacity. At this time, the broadcast server system connects the client to the streaming server when the live multimedia stream request time of the client is the transmission point of the I frame based on the live multimedia stream of the request broadcast channel normally transmitted from the streaming server. If the transmission time is not included, the scheduler for connecting the client to the buffering server is further included. On the other hand, for the live multimedia stream after the buffering server transmits the live multimedia stream buffered to the storage, the streaming server transmits the live multimedia stream being transmitted normally to the client as it is.
또한, 본 발명의 상기 목적은, 방송 컨텐츠를 라이브 멀티미디어 스트림 형태로 제공하는 방송서버시스템, 그리고 네트워크를 통해 방송서버시스템에 접속하여 라이브 멀티미디어 스트림을 수신 및 재생하는 하나 이상의 클라이언트를 포함하는 시스템에서, 클라이언트가 방송채널을 변경하여 변경된 방송채널의 라이브 멀티미디어 스트림을 요청하거나 방송서버시스템에 최초 접속하여 라이브 멀티미디어 스트림을 요청하면 방송서버시스템이 요청된 방송채널의 라이브 멀티미디어 스트림을 전송하는 방법으로서, 라이브 데이터를 인코딩하여 라이브 멀티미디어 스트림을 생성하는 제 1 단계, 라이브 멀티미디어 스트림을 스토리지에 버퍼링하는 제 2 단계, 클라이언트로부터 라이브 멀티미디어 스트림의 요청을 수신하는 제 3 단계, 요청된 방송채널에 대하여 정상적으로 전송중인 라이브 멀티미디어 스트림 대신, 스토리지에 버퍼링된 라이브 멀티미디어 스트림을 I 프레임부터 클라이언트에 전송하는 제 4 단계, 그리고 제 4 단계에서 전송된 라이브 멀티미디어 스트림 이후의 라이브 멀티미디어 스트림에 대하여, 정상적으로 전송중인 라이브 멀티미디어 스트림을 그대로 클라이언트에 전송하는 제 5 단계를 포함하는 것을 특징으로 하는 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 방법에 의해서도 달성 가능하다.In addition, the above object of the present invention, in a system comprising a broadcast server system for providing broadcast content in the form of a live multimedia stream, and at least one client connected to the broadcast server system via a network to receive and play the live multimedia stream, When a client changes a broadcast channel to request a live multimedia stream of the changed broadcast channel or requests a live multimedia stream by first accessing a broadcast server system, the broadcast server system transmits the live multimedia stream of the requested broadcast channel. A first step of generating a live multimedia stream by encoding a second step; a second step of buffering the live multimedia stream in storage; a third step of receiving a request of the live multimedia stream from a client; For the fourth step of transmitting the live multimedia stream buffered in the storage from the I frame to the client, and the live multimedia stream subsequent to the live multimedia stream transmitted in the fourth step, instead of the live multimedia stream being transmitted normally, The method may also be achieved by a method of streaming a live multimedia stream, which comprises a fifth step of transmitting the live multimedia stream to a client as it is.
또한, 본 발명의 상기 목적은, 방송 컨텐츠를 라이브 멀티미디어 스트림 형태로 제공하는 방송서버시스템, 그리고 네트워크를 통해 방송서버시스템에 접속하여 라이브 멀티미디어 스트림을 수신 및 재생하는 하나 이상의 클라이언트를 포함하는 시스템에서, 클라이언트가 방송채널을 변경하여 변경된 방송채널의 라이브 멀티미디어 스트림을 요청하거나 방송서버시스템에 최초 접속하여 라이브 멀티미디어 스트림을 요청하면 방송서버시스템이 요청된 방송채널의 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 방법으로서, 라이브 데이터를 인코딩하여 라이브 멀티미디어 스트림을 생성하는 제 1 단계, 라이브 멀티미디어 스트림을 스토리지에 버퍼링하는 제 2 단계, 클라이언트로부터 라이브 멀티미디어 스트림의 요청을 수신하고, 클라이언트가 라이브 멀티미디어 스트림을 요청한 시점이, 요청된 방송채널에 대하여 정상적으로 전송중인 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점인지 여부를 판단하는 제 3 단계, 제 3 단계에서 클라이언트의 라이브 멀티미디어 스트림 요청 시점이 요청된 방송채널에 대하여 정상적으로 전송중인 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점이 아닌 경우, 정상적으로 전송중인 라이브 멀티미디어 스트림 대신, 스토리지에 버퍼링된 라이브 멀티미디어 스트림을 I 프레임부터 전송하는 제 4 단계, 제 4 단계에서 전송된 라이브 멀티미디어 스트림 이후의 라이브 멀티미디어 스트림에 대하여, 정상적으로 전송중인 라이브 멀티미디어 스트림을 그대로 클라이언트에 전송하는 제 5 단계, 그리고 제 3 단계에서 클라이언트의 라이브 멀티미디어 스트림 요청 시점이 요청된 방송채널에 대하여 정상적으로 전송중인 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점인 경우, 정상적으로 전송중인 라이브 멀티미디어 스트림을 그대로 클라이언트에 전송하는 제 6 단계를 포함하고, 제 6 단계가, 제 4 단계 및 제 5 단계와 선택적으로 수행되는 것을 특징으로 하는 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 방법에 의해서도 달성 가능하다.In addition, the above object of the present invention, in a system comprising a broadcast server system for providing broadcast content in the form of a live multimedia stream, and at least one client connected to the broadcast server system via a network to receive and play the live multimedia stream, When the client changes the broadcast channel to request a live multimedia stream of the changed broadcast channel or requests a live multimedia stream by first accessing the broadcast server system, the broadcast server system streams the live multimedia stream of the requested broadcast channel in a full manner. A first step of encoding live data to generate a live multimedia stream, a second step of buffering the live multimedia stream to storage, a request for a live multimedia stream from a client, and a client The client's request for a live multimedia stream in step 3 and step 3, wherein the client requests the live multimedia stream at the time of transmitting an I frame based on the live multimedia stream normally transmitted for the requested broadcast channel. A fourth step of transmitting, from the I frame, the live multimedia stream buffered in the storage, instead of the live multimedia stream being transmitted normally, based on the live multimedia stream being transmitted normally with respect to the requested broadcast channel; For the live multimedia stream after the live multimedia stream transmitted in the fourth step, the live multimedia stream being transmitted normally is transmitted to the client as it is, and in the third step, the client's live And a sixth step of transmitting the live multimedia stream normally transmitted to the client as it is when the multimedia stream request point is the transmission point of the I frame on the basis of the live multimedia stream normally transmitted for the requested broadcast channel. It is also achievable by a method of streaming a live multimedia stream, which is selectively performed with the fourth and fifth steps.
바람직하게는, 제 4 단계가, 요청된 방송채널에 대하여 스토리지에 버퍼링된 라이브 멀티미디어 스트림 중 I 프레임을 탐색하는 제 4-1 단계와, 탐색된 I 프레임부터 일정 분량의 라이브 멀티미디어 스트림을 클라이언트로 전송하는 제 4-2 단계를 포함하도록 한다. 더욱 바람직하게는, 제 4 단계에서 스토리지에 버퍼링된 라이브 멀티미디어 스트림을 풀방식으로 전송하도록 한다.Preferably, the fourth step is a step 4-1 of searching for an I frame of the live multimedia stream buffered in the storage for the requested broadcast channel, and transmitting a predetermined amount of the live multimedia stream to the client from the found I frame. It includes the step 4-2. More preferably, in the fourth step, the live multimedia stream buffered in the storage is transmitted in a pull manner.
본 발명에 따른 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 방법 및 시스템은 라이브 멀티미디어 스트림을, 적정한 크기의 버퍼링 서버를 두고 시청자가 원하는 만큼 데이터를 미리 풀방식으로 전송(pulling)할 수 있도록 함으로써 채널 변경 등의 경우에 시청자의 대기시간을 최소화하여 신속하게 방송을 시청할 수 있다.The method and system for streaming a live multimedia stream according to the present invention in a full manner allows a viewer to transmit a live multimedia stream with a buffering server of an appropriate size so that the viewer can pull data in advance in a full manner as desired. In the case of minimizing the waiting time of the viewer can watch the broadcast quickly.
본 발명과 본 발명의 실시에 의해 달성되는 기술적 과제는 다음에서 설명하는 본 발명의 바람직한 실시예들에 의하여 보다 명확해질 것이다. 다음의 실시예들은 단지 본 발명을 설명하기 위하여 예시된 것에 불과하며, 본 발명의 범위를 제한하기 위한 것은 아니다. The technical problems achieved by the present invention and the practice of the present invention will be more clearly understood by the preferred embodiments of the present invention described below. The following examples are merely illustrated to illustrate the present invention and are not intended to limit the scope of the present invention.
도 1은 본 발명에 따른 라이브 멀티미디어 스트림 전송시스템을 도시한 개략도이다.1 is a schematic diagram showing a live multimedia stream transmission system according to the present invention.
본 발명에 따른 라이브 멀티미디어 스트림 전송시스템은 도 1에 도시된 바와 같이, 방송 컨텐츠를 라이브 멀티미디어 스트림 형태로 제공하는 방송서버시스템(120)과 네트워크(102)를 통해 방송서버시스템(120)에 접속하여 라이브 멀티미디어 스트림을 수신 및 시청하는 클라이언트들(110)로 구성된다. 방송서버시스템(120)은 라이브 인코더(121)와 스트리밍 서버(122), 버퍼링 서버(123), 스토리지(124)로 구성된다. 즉, 본 발명에 따른 라이브 멀티미디어 스트림 전송시스템은 라이브 데이터를 인코딩하여 라이브 멀티미디어 스트림을 생성하는 라이브 인코더(121)와, 라이브 인코더(121)로부터 전달된 라이브 멀티미디어 스트림을 네트워크(102)를 통해 전송하는 스트리밍 서버(122)와, 라이브 멀티미디어 스트림을 버퍼링하기 위한 스토리지(124)와, 인코딩된 라이브 멀티미디 스트림을 스트리밍 서버(122) 또는 라이브 인코더(121)로부터 전달받아 스토리지(124)에 저장하고, 클라이언트(110)가 최초 접속시 스토리지(124)로부터 I 프레임을 찾아 해당 클라이언트(110)로 전송해주는 버퍼링 서버(123)와, 방송채널 변경이나 방송서버시스템(120)에 최초 접속시 버퍼링 서버(123)에 풀방식으로 전송을 요청하여 스토리지(124)에 버퍼링된 라이브 멀티미디어 스트림을 I 프레임부터 수신하여 재생하고, 일정 시간 후 스트리밍 서버(122)로부터 라이브 멀티미디어 스트림을 수신하여 재생하는 클라이언트(110)로 구성된다.As shown in FIG. 1, the live multimedia stream transmission system according to the present invention connects to a
도 1을 참조하면, 클라이언트(110)는 셋톱박스(STB)나 PC 등과 같은 단말장치로서 라이브 멀티미디어 스트림을 재생하기 위한 플레이어를 구비하고 있다. Referring to FIG. 1, the
방송서버시스템(120)의 라이브 인코더(121)는 라이브 데이터를 인코딩하여 라이브 멀티미디어 스트림을 생성 및 스트리밍 서버(122)로 전달하고, 스트리밍 서버(122)는 라이브 멀티미디어 스트림을 네트워크(102)를 통해 클라이언트(110) 측으로 브로드캐스팅한다. 또한 버퍼링 서버(123)는 라이브 인코더(121)로부터 인코딩된 라이브 멀티미디어 스트림을 전달받아 스토리지(124)에 저장한다. 한편, 버퍼링 서버(123)는 스트리밍 서버(122)로부터 라이브 멀티미디어 스트림을 전달받을 수도 있다. 이때 버퍼링 서버(123)는 스토리지(124)를 FIFO 구조로 관리하여, 라이브 인코더(121) 또는 스트리밍 서버(122)로부터 새로운 데이터가 들어오면 스토리지(124)에 저장된 데이터 중 초과된 용량만큼 가장 먼저 들어온 데이터가 삭제된다.The
또한, 버퍼링 서버(123)는 클라이언트(110)가 방송채널을 변경하면서 변경된 채널의 라이브 멀티미디어 스트림을 요청하거나, 클라이언트(110)의 전원이 온 되는 등으로 인해 방송서버시스템(120)에 최초로 접속하면서 특정 채널(전원 오프 전에 설정되었던 채널)의 라이브 멀티미디어 스트림을 요청하면, 스트리밍 서버(122)에서 정상적으로 전송중인 라이브 멀티미디어 스트림 대신, 스토리지(124)에 버퍼링된 라이브 멀티미디어 스트림을 클라이언트(110)로 전송한다. 이때, 전송되는 라이브 멀티미디어 스트림은 I 프레임부터 전송되도록 하고, 라이브 멀티미디어 스트림의 전송은 풀방식으로 이루어지도록 한다. 구체적으로, 클라이언트(110)가 방송채널 변경 또는 방송서버시스템(120)에 최초 접속하면서 라이브 멀티미디어 스트림을 요청하면, 버퍼링 서버(123)는 스토리지(124)에 버퍼링되어 있는 라이브 멀티미디어 데이터 중 I 프레임(바람직하게는 시간 순서상 가장 빠른 I 프레임)을 탐색하 고, 탐색된 I 프레임부터 라이브 멀티미디어 스트림을 즉시 클라이언트(110)에 풀방식으로 전송한다. 이때, 버퍼링 서버(123)로부터 전송되는 라이브 멀티미디어 스트림을 가능한 많은 양의 데이터를 클라이언트(110)에 전송할 수 있도록 하며, 그 이후의 라이브 멀티미디어 스트림에 대해서는 스트리밍 서버(122)에서 정상적으로 전송중인 라이브 멀티미디어 스트림을 그대로 클라이언트(110)에 전송하도록 한다.In addition, the
한편, 클라이언트(110)가 방송채널 변경 또는 방송서버시스템(120)에 최초 접속하여 라이브 멀티미디어 스트림을 요청하는 시점에 따라, 스트리밍 서버(123)에서 전송되는 라이브 멀티미디어 스트림을 그대로 클라이언트(110)에 전송하거나, 버퍼링 서버(123)로부터 스토리지(124)에 버퍼링된 라이브 멀티미디어 스트림을 전송하도록 하는 것이 바람직하다. 구체적으로, 클라이언트(110)가 라이브 멀티미디어 스트림을 요청하는 시점이 스트리밍 서버(122)에서 정상적으로 전송중인 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점인 경우, 스트리밍 서버(122)에서 정상적으로 전송중인 라이브 멀티미디어 스트림을 그대로 전송하더라도 클라이언트(110)에서 시청지연이 발생하지 않으므로, 스트리밍 서버(122)가 그대로 클라이언트(110)에 라이브 멀티미디어 스트림을 전송하도록 한다. 반면, 클라이언트(110)가 라이브 멀티미디어 스트림을 요청한 시점이 스트리밍 서버(122)에서 정상적으로 전송중인 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점이 아닌 경우, 즉 P 또는 B 프레임의 전송시점인 경우, 클라이언트(110)가 스트리밍 서버(122)로부터 라이브 멀티미디어 스트림을 수신할 경우 I 프레임이 수신될 때까지 시청지연이 발생하게 된다. 따라서, 이 경우에는 스트리밍 서버(122)에서 전송 중인 라이브 멀티미디어 스트림 대신, 버퍼링 서버(123)에 라이브 멀티미디어 스트림을 요청하여 스토리지(124)에 버퍼링된 라이브 멀티미디어 스트림을 I 프레임부터 클라이언트(110)에 풀방식으로 전송하도록 한다. 또한, 버퍼링 서버(123)로부터 풀방식으로 전송된 라이브 멀티미디어 스트림 이후의 라이브 멀티미디어 스트림에 대하여는, 클라이언트(110)가 스트리밍 서버(122)로부터 정상적으로 전송되는 라이브 멀티미디어 스트림을 수신하여 재생하도록 한다. 바람직하게는, 이러한 과정을 제어하기 위한 스케줄러를 별도로 구비하도록 한다. 스케줄러는 클라이언트(110)가 접속 및 라이브 멀티미디어 스트림을 요청할 때, 요청시점에 따라 클라이언트(110)가 스트리밍 서버(122) 또는 버퍼링 서버(123)로부터 라이브 멀티미디어 스트림을 수신할 수 있도록 제어한다.Meanwhile, the
도 2는 본 발명에 따라 서버와 클라이언트간에 라이브 멀티미디어 스트림을 전송하는 절차를 도시한 순서도이고, 도 3은 본 발명에 따른 라이브 멀티미디어 스트림 전송 절차를 도시한 흐름도이다.2 is a flowchart illustrating a procedure of transmitting a live multimedia stream between a server and a client according to the present invention, and FIG. 3 is a flowchart illustrating a procedure of transmitting a live multimedia stream according to the present invention.
본 발명에 따른 라이브 멀티미디어 스트림 전송 방법은, 라이브 인코더(121)가 라이브 데이터를 인코딩하여 라이브 멀티미디어 스트림을 생성하는 단계와, 버퍼링 서버(123)가 라이브 멀티미디어 스트림을 스토리지(124)에 버퍼링하는 단계와, 클라이언트(110)가 방송채널 변경 또는 방송서버시스템(120)에 최초 접속하면서 새로운 라이브 멀티미디어 스트림을 요청하면, 버퍼링 서버(123)가 스토리지(124)에 버퍼링된 라이브 멀티미디어 스트림 중 I 프레임을 탐색하는 단계와, 탐색된 I 프레임부터 일정 양의 라이브 멀티미디어 스트림을 클라이언트(110)로 전송 하는 단계와, 클라이언트(110)가 전송된 라이브 멀티미디어 스트림을 재생하는 단계와, 스트리밍 서버(122)가 버퍼링 서버(123)로부터 풀방식으로 전송된 라이브 멀티미디어 스트림 이후의 라이브 멀티미디어 스트림을 클라이언트(110)로 전송하는 단계와, 클라이언트(110)가 스트리밍 서버(122)로부터 수신한 라이브 멀티미디어 스트림을 재생하는 단계로 구성된다.In the live multimedia stream transmission method according to the present invention, the
도 2를 참조하면, 라이브 인코더(121)에서 라이브 데이터를 인코딩하여 생성된 라이브 멀티미디어 스트림은 스트리밍 서버(122)를 거쳐 일단 버퍼링 서버(123)로 이동하고, 버퍼링 서버(123)에서는 일정 분량의 라이브 멀티미디어 스트림을 스토리지(124)에 보관한다(S1,S2). 이때, 라이브 인코더(121)로부터 버퍼링 서버(123)로 직접 라이브 멀티미디어 스트림이 전송되도록 구성할 수도 있다.Referring to FIG. 2, the live multimedia stream generated by encoding live data in the
클라이언트(110)가 방송채널을 변경하면서 변경된 채널의 라이브 멀티미디어 스트림을 요청하거나 멀티미디어를 시청하기 위해 방송서버시스템(120)에 최초 접속하면서 특정 채널의 새로운 라이브 멀티미디어 스트림을 요청하면, 버퍼링 서버(123)는 요청된 채널에 대하여 스토리지(124)에 버퍼링된 라이브 멀티미디어 스트림 중 I 프레임을 탐색하고, 탐색된 I 프레임부터 라이브 멀티미디어 스트림을 풀방식으로 즉시 전송한다(S3~S6). 따라서, 클라이언트(110)는 버퍼링 서버(123)로부터 라이브 멀티미디어 스트림을 I 프레임부터 수신하므로 라이브 멀티미디어 스트림을 즉시 재생할 수 있게 된다. 한편, 클라이언트(110)는 라이브 멀티미디어 스트림을 풀방식으로 전송받을 때 가능한 한 많은 양의 데이터를 전송받도록 한다. 이때, I 프레임의 탐색은 스토리지(124)에 버퍼링된 (요청된 채널의) 라이브 멀티 미디어 스트림 중 시간순서상 가장 빠른 I 프레임을 탐색하도록 하는 것이 바람직하다. 한편, I 프레임을 탐색함에 있어서 스트리밍 서버(122)에서 현재 전송중인 라이브 멀티미디어 스트림의 프레임과 가장 근접한 I 프레임을 탐색할 수도 있다. 상기한 바와 같이, 버퍼링 서버(123)는 스토리지(124)에 일정 양만큼의 라이브 멀티미디어 스트림을 저장하는데, 버퍼링 서버(123)는 스토리지(124)를 FIFO 구조로 관리함으로써, 스트리밍 서버(122) 또는 라이브 인코더(121)로부터 새로운 라이브 멀티미디어 스트림이 전송되면 스토리지(124)로부터 초과된 용량만큼의 라이브 멀티미디어 스트림을 삭제한다. 이때, 스토리지(124)는 FIFO 구조로 관리되므로, 스토리지(124)로부터 삭제되는 라이브 멀티미디어 스트림은 스토리지(124)에 먼저 저장된 라이브 멀티미디어 스트림, 즉 가장 오래된 라이브 멀티미디어 스트림부터 순서대로 삭제된다.When the
클라이언트(110)는 버퍼링 서버(123)로부터 풀방식으로 전송한 라이브 멀티미디어 스트림을 재생한다(S7).The
한편, 클라이언트(110)는 버퍼링 서버(123)로부터 풀방식으로 전송한 이후의 라이브 멀티미디어 스트림에 대하여 스트리밍 서버(122)로부터 정상적으로 전송중인 라이브 멀티미디어 스트림을 수신하여 재생하고, 클라이언트(110)의 라이브 멀티미디어 스트림 재생과 동시에 스트리밍 서버(122)의 라이브 멀티미디어 스트림에 대한 전송이 계속해서 이루어진다(S8~S10).Meanwhile, the
도 3은 본 발명에 따른 라이브 멀티미디어 스트림을 전송하는 절차의 또 다른 실시예를 도시한 순서도이다.3 is a flowchart illustrating yet another embodiment of a procedure for transmitting a live multimedia stream according to the present invention.
도 3을 참조하면, 라이브 인코더(121)는 라이브 데이터를 인코딩하여 라이브 멀티미디어 스트림을 생성하고, 생성된 라이브 멀티미디어 스트림은 스트리밍 서버(122)를 거쳐 또는 라이브 인코더(121)로부터 직접 버퍼링 서버(123)로 전송되고, 버퍼링 서버(123)는 라이브 멀티미디어 스트림을 스토리지(124)에 버퍼링한다(S31,S32).Referring to FIG. 3, the
클라이언트(110)가 방송채널 변경 또는 전원이 온 되어 방송서버시스템(120)에 최초 접속하면서 특정 채널에 대한 새로운 라이브 멀티미디어 스트림을 요청하면, 상기 클라이언트의 요청시점에 따라 스토리지(124)에 버퍼링된 라이브 멀티미디어 스트림을 풀방식으로 전송하거나 스트리밍 서버(123)에서 전송되는 라이브 멀티미디어 스트림을 그대로 클라이언트(110)에 전송한다. 구체적으로, 클라이언트(110)가 새로운 라이브 멀티미디어 스트림을 요청하면, 상기 요청시점이 스트리밍 서버(122)에서 정상적으로 전송중인 요청 채널의 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점인지 여부를 판단한다(S33, S34). 클라이언트(110)의 요청시점이 I 프레임의 전송시점인 경우, 스트리밍 서버(122)로부터 그대로 라이브 멀티미디어 스트림을 전송하더라도 클라이언트(110)에서 시청지연이 발생하지 않으므로, 스트리밍 서버(122)로부터 정상적으로 전송중인 라이브 멀티미디어 스트림을 그대로 클라이언트(110)에 전송하고, 클라이언트(110)는 라이브 멀티미디어 스트림을 수신 및 재생한다(S38, S39). 반면, 클라이언트(110)의 요청시점이 I 프레임의 전송시점이 아닌 경우, 즉 P 또는 B 프레임의 전송시점인 경우, 클라이언트(110)가 스트리밍 서버(122)로부터 라이브 멀티미디어 스트림을 수신할 경우 I 프레임이 수 신될 때까지 시청지연이 발생하게 되므로, 클라이언트(110)는 버퍼링 서버(123)를 통해 스토리지(124)에 버퍼링된 라이브 멀티미디어 스트림을 풀방식으로 전송받도록 한다. 즉, 클라이언트(110)는 버퍼링 서버(123)에 접속하여 라이브 멀티미디어 스트림의 풀방식 전송을 요청하고, 버퍼링 서버(123)는 스토리지(124)에 스토리지(124)에 버퍼링된 요청 채널의 라이브 멀티미디어 스트림 중 I 프레임을 탐색하여, 탐색된 I 프레임부터 라이브 멀티미디어 스트림을 풀방식으로 즉시 전송하고, 클라이언트(110)는 전송된 라이브 멀티미디어 스트림을 재생한다(S35~S37). 따라서, 클라이언트(110)는 버퍼링 서버(123)로부터 라이브 멀티미디어 스트림을 I 프레임부터 수신하므로 라이브 멀티미디어 스트림을 시청지연 없이 즉시 재생할 수 있게 된다. 또한, 클라이언트(110)가 버퍼링 서버(123)로부터 풀방식으로 전송된 이후의 라이브 멀티미디어 스트림에 대하여는 스트리밍 서버(122)로부터 정상적으로 전송되는 라이브 멀티미디어 스트림을 그대로 클라이언트(110)에 전송하도록 한다.When the
바람직하게는, 별도의 스케줄러를 통해, S34에서 요청 채널의 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점인지 여부를 판단하여, 클라이언트(110)를 스트리밍 서버(122) 또는 버퍼링 서버(123)에 접속시키고, S35 내지 S37 이후에 클라이언트(110)를 스트리밍 서버(122)에 접속시켜 풀방식으로 전송된 라이브 멀티미디어 스트림 이후부터 정상적으로 스트리밍 서버(122)로부터 전송되는 라이브 멀티미디어 스트림을 클라이언트(110)가 수신하여 재생하도록 한다.Preferably, by using a separate scheduler, it is determined whether the transmission time of the I frame on the basis of the live multimedia stream of the request channel in S34, and access the
이상에서 본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나, 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. The present invention has been described above with reference to one embodiment shown in the drawings, but those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom.
도 1은 본 발명에 따른 라이브 멀티미디어 스트림 전송시스템을 도시한 개략도이고,1 is a schematic diagram showing a live multimedia stream transmission system according to the present invention;
도 2는 본 발명에 따라 서버와 클라이언트간에 라이브 멀티미디어 스트림을 전송하는 절차를 도시한 순서도이며,2 is a flowchart illustrating a procedure of transmitting a live multimedia stream between a server and a client according to the present invention.
도 3은 본 발명에 따른 라이브 멀티미디어 스트림을 전송하는 절차의 또 다른 실시예를 도시한 순서도이다.3 is a flowchart illustrating yet another embodiment of a procedure for transmitting a live multimedia stream according to the present invention.
*도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
102: 네트워크 110: 클라이언트102: network 110: client
120: 방송서버시스템 121: 라이브 인코더120: broadcast server system 121: live encoder
122: 스트리밍 서버 123: 버퍼링 서버122: streaming server 123: buffering server
124: 스토리지124: storage
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080011433A KR100851634B1 (en) | 2008-02-05 | 2008-02-05 | System and method of steraming live multimedia data by pull |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080011433A KR100851634B1 (en) | 2008-02-05 | 2008-02-05 | System and method of steraming live multimedia data by pull |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100851634B1 true KR100851634B1 (en) | 2008-08-13 |
Family
ID=39881576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080011433A KR100851634B1 (en) | 2008-02-05 | 2008-02-05 | System and method of steraming live multimedia data by pull |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100851634B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101570537B1 (en) | 2009-06-02 | 2015-11-19 | 엘지전자 주식회사 | Apparatus and method for controlling broadcasting stream |
KR20210094081A (en) * | 2019-04-23 | 2021-07-28 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Media stream transmission method, apparatus and device |
WO2023197897A1 (en) * | 2022-04-14 | 2023-10-19 | 北京字跳网络技术有限公司 | Method and apparatus for processing live-streaming audio and video stream, and device and medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080005044A (en) * | 2006-07-07 | 2008-01-10 | 한국전자통신연구원 | Apparaus and method of providing internet tv brodacasting service using fast buffering switch |
-
2008
- 2008-02-05 KR KR1020080011433A patent/KR100851634B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080005044A (en) * | 2006-07-07 | 2008-01-10 | 한국전자통신연구원 | Apparaus and method of providing internet tv brodacasting service using fast buffering switch |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101570537B1 (en) | 2009-06-02 | 2015-11-19 | 엘지전자 주식회사 | Apparatus and method for controlling broadcasting stream |
KR20210094081A (en) * | 2019-04-23 | 2021-07-28 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Media stream transmission method, apparatus and device |
KR102525289B1 (en) | 2019-04-23 | 2023-04-24 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Media stream transmission method and apparatus and device |
WO2023197897A1 (en) * | 2022-04-14 | 2023-10-19 | 北京字跳网络技术有限公司 | Method and apparatus for processing live-streaming audio and video stream, and device and medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10880620B2 (en) | Playback synchronization across playback devices | |
US9509739B2 (en) | Method and apparatus for playing live content | |
US7676591B2 (en) | System and method for transferring multiple data channels | |
US7668914B2 (en) | Milestone synchronization in broadcast multimedia streams | |
US8488066B2 (en) | System and method for fast digital channel changing | |
US8650602B2 (en) | Input queued content switching using a playlist | |
WO2016049976A1 (en) | Method and system for realizing streaming media data seamlessly connecting in intelligent home | |
US9374410B2 (en) | System and method for seamless switchover between unicast and multicast sources of over-the-top streams | |
US20070220577A1 (en) | Method and media manager client unit for optimising network resources usage | |
JP5366107B2 (en) | Method, apparatus and system for reducing media delay | |
US20110289544A1 (en) | Video streaming system including a fast channel change mechanism | |
US20110138429A1 (en) | System and method for delivering selections of multi-media content to end user display systems | |
KR20070104797A (en) | Method of progressive streaming using a real-time streaming protocol | |
US8230468B2 (en) | Dynamically creating trick files to hide latency in streaming networks | |
WO2011075876A1 (en) | Picture in picture for mobile tv | |
KR100851634B1 (en) | System and method of steraming live multimedia data by pull | |
KR100906981B1 (en) | Method of reducing ch changing delay using buffering server in iptv system | |
KR100859705B1 (en) | System and method of transmitting live multimedia stream with temporary i-frame | |
JP5610743B2 (en) | Content receiving method and apparatus | |
US20110289543A1 (en) | Video streaming system including a fast channel change mechanism | |
KR100981247B1 (en) | System and Tuning Method for Internet Protocol TV Broadcasting Service | |
CN114786029B (en) | Intelligent set top box and live channel switching method | |
AU2011245930B2 (en) | Method and apparatus for playing live content | |
KR20100068780A (en) | Method and apparatus for preventing overflow of the pre-decoder buffer in the streaming service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
J204 | Invalidation trial for patent | ||
J301 | Trial decision |
Free format text: TRIAL DECISION FOR INVALIDATION REQUESTED 20081113 Effective date: 20100831 |
|
EXTG | Extinguishment |