KR100851634B1 - System and method of steraming live multimedia data by pull - Google Patents

System and method of steraming live multimedia data by pull Download PDF

Info

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
Application number
KR1020080011433A
Other languages
Korean (ko)
Inventor
김영민
Original Assignee
주식회사 셀런
주식회사 아이디씨텍
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 셀런, 주식회사 아이디씨텍 filed Critical 주식회사 셀런
Priority to KR1020080011433A priority Critical patent/KR100851634B1/en
Application granted granted Critical
Publication of KR100851634B1 publication Critical patent/KR100851634B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing 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/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • H04H60/81Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself
    • H04H60/82Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself the transmission system being the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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/2368Multiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing 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/2387Stream 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

A method for streaming live multimedia data in a pulling way and a system therefor are provided to transmit data of a live multimedia stream previously in the pulling way as a viewer's intention by installing a buffering server of proper size, thereby minimizing the viewer's waiting time. A live encoder(121) generates a live multimedia stream by encoding live data. A streaming server(122) transmits the live multimedia stream through a network(102). A storage(124) stores the live multimedia stream. A buffering server(123) transmits the live multimedia stream stored in the storage to clients(110) from an I frame, instead of a live multimedia stream normally transmitted from the streaming server, with regards to a requested broadcasting channel.

Description

라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 방법 및 시스템 { SYSTEM AND METHOD OF STERAMING LIVE MULTIMEDIA DATA BY PULL } SYSTEM AND METHOD OF STERAMING LIVE MULTIMEDIA DATA BY PULL}

본 발명은 라이브 멀티미디어 스트림을 전송하는 방법 및 시스템에 관한 것으로, 더욱 상세하게는 라이브 멀티미디어 스트림을 풀(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 broadcast server system 120 through a broadcast server system 120 and a network 102 that provide broadcast content in the form of a live multimedia stream. Clients 110 for receiving and watching live multimedia streams. The broadcast server system 120 includes a live encoder 121, a streaming server 122, a buffering server 123, and a storage 124. That is, the live multimedia stream transmission system according to the present invention encodes live data to generate a live multimedia stream, and a live multimedia stream transmitted from the live encoder 121 and the live multimedia stream transmitted from the network 102 The streaming server 122, the storage 124 for buffering the live multimedia stream, and the encoded live multimedia stream are received from the streaming server 122 or the live encoder 121 and stored in the storage 124, and the client The buffering server 123 which finds an I frame from the storage 124 and transmits it to the client 110 at the time of the first connection, and the buffering server 123 when the broadcasting channel is changed or the first connection to the broadcasting server system 120 is performed. Requests full transmission to receive the live multimedia stream buffered in storage 124 from I frame W, and played, it comprises a client 110 for playback to receive the live multimedia stream after a predetermined time from the streaming server (122).

도 1을 참조하면, 클라이언트(110)는 셋톱박스(STB)나 PC 등과 같은 단말장치로서 라이브 멀티미디어 스트림을 재생하기 위한 플레이어를 구비하고 있다. Referring to FIG. 1, the client 110 is a terminal device such as a set top box (STB) or a PC, and has a player for playing a live multimedia stream.

방송서버시스템(120)의 라이브 인코더(121)는 라이브 데이터를 인코딩하여 라이브 멀티미디어 스트림을 생성 및 스트리밍 서버(122)로 전달하고, 스트리밍 서버(122)는 라이브 멀티미디어 스트림을 네트워크(102)를 통해 클라이언트(110) 측으로 브로드캐스팅한다. 또한 버퍼링 서버(123)는 라이브 인코더(121)로부터 인코딩된 라이브 멀티미디어 스트림을 전달받아 스토리지(124)에 저장한다. 한편, 버퍼링 서버(123)는 스트리밍 서버(122)로부터 라이브 멀티미디어 스트림을 전달받을 수도 있다. 이때 버퍼링 서버(123)는 스토리지(124)를 FIFO 구조로 관리하여, 라이브 인코더(121) 또는 스트리밍 서버(122)로부터 새로운 데이터가 들어오면 스토리지(124)에 저장된 데이터 중 초과된 용량만큼 가장 먼저 들어온 데이터가 삭제된다.The live encoder 121 of the broadcast server system 120 encodes live data to generate and deliver a live multimedia stream to the streaming server 122, and the streaming server 122 transmits the live multimedia stream to the client through the network 102. Broadcast to (110) side. In addition, the buffering server 123 receives the encoded live multimedia stream from the live encoder 121 and stores it in the storage 124. Meanwhile, the buffering server 123 may receive a live multimedia stream from the streaming server 122. In this case, the buffering server 123 manages the storage 124 in a FIFO structure, and when new data comes in from the live encoder 121 or the streaming server 122, the buffered server 123 comes in earlier than the excess capacity among the data stored in the storage 124. The data is deleted.

또한, 버퍼링 서버(123)는 클라이언트(110)가 방송채널을 변경하면서 변경된 채널의 라이브 멀티미디어 스트림을 요청하거나, 클라이언트(110)의 전원이 온 되는 등으로 인해 방송서버시스템(120)에 최초로 접속하면서 특정 채널(전원 오프 전에 설정되었던 채널)의 라이브 멀티미디어 스트림을 요청하면, 스트리밍 서버(122)에서 정상적으로 전송중인 라이브 멀티미디어 스트림 대신, 스토리지(124)에 버퍼링된 라이브 멀티미디어 스트림을 클라이언트(110)로 전송한다. 이때, 전송되는 라이브 멀티미디어 스트림은 I 프레임부터 전송되도록 하고, 라이브 멀티미디어 스트림의 전송은 풀방식으로 이루어지도록 한다. 구체적으로, 클라이언트(110)가 방송채널 변경 또는 방송서버시스템(120)에 최초 접속하면서 라이브 멀티미디어 스트림을 요청하면, 버퍼링 서버(123)는 스토리지(124)에 버퍼링되어 있는 라이브 멀티미디어 데이터 중 I 프레임(바람직하게는 시간 순서상 가장 빠른 I 프레임)을 탐색하 고, 탐색된 I 프레임부터 라이브 멀티미디어 스트림을 즉시 클라이언트(110)에 풀방식으로 전송한다. 이때, 버퍼링 서버(123)로부터 전송되는 라이브 멀티미디어 스트림을 가능한 많은 양의 데이터를 클라이언트(110)에 전송할 수 있도록 하며, 그 이후의 라이브 멀티미디어 스트림에 대해서는 스트리밍 서버(122)에서 정상적으로 전송중인 라이브 멀티미디어 스트림을 그대로 클라이언트(110)에 전송하도록 한다.In addition, the buffering server 123 requests the live multimedia stream of the changed channel while the client 110 changes the broadcasting channel, or first connects to the broadcasting server system 120 due to the power of the client 110 being turned on. When requesting a live multimedia stream of a specific channel (the channel set before powering off), the streaming server 122 transmits the live multimedia stream buffered to the storage 124 to the client 110 instead of the live multimedia stream normally transmitted. . In this case, the transmitted live multimedia stream is transmitted from an I frame, and the live multimedia stream is transmitted in a pull manner. In detail, when the client 110 requests a live multimedia stream while changing a broadcast channel or accessing the broadcast server system 120 for the first time, the buffering server 123 may perform an I frame operation among the live multimedia data buffered in the storage 124. Preferably, the fastest I frame in time order) is searched and a live multimedia stream is immediately transmitted to the client 110 from the searched I frame. At this time, the live multimedia stream transmitted from the buffering server 123 can transmit as much data as possible to the client 110, and the live multimedia stream that is normally transmitted by the streaming server 122 for the subsequent live multimedia stream. To be transmitted to the client 110 as it is.

한편, 클라이언트(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 client 110 transmits the live multimedia stream transmitted from the streaming server 123 to the client 110 as the client 110 changes the broadcast channel or requests the live multimedia stream for the first time by accessing the broadcast server system 120. Or to transmit the buffered live multimedia stream from the buffering server 123 to the storage 124. Specifically, when the client 110 requests the live multimedia stream at the time of transmitting an I frame based on the live multimedia stream normally transmitted from the streaming server 122, the live multimedia being normally transmitted from the streaming server 122. Since the viewing delay does not occur in the client 110 even if the stream is transmitted as it is, the streaming server 122 transmits the live multimedia stream to the client 110 as it is. On the other hand, when the client 110 requests the live multimedia stream when the I-frame is not transmitted based on the live multimedia stream normally transmitted by the streaming server 122, that is, when the P or B frame is transmitted, the client When the 110 receives the live multimedia stream from the streaming server 122, the viewing delay occurs until the I frame is received. Therefore, in this case, instead of the live multimedia stream being transmitted by the streaming server 122, the buffering server 123 requests a live multimedia stream to decode the live multimedia stream buffered in the storage 124 from the I frame to the client 110. To transmit the data. In addition, the live multimedia stream subsequent to the live multimedia stream transmitted from the buffering server 123 to the client 110 to receive and play the live multimedia stream normally transmitted from the streaming server 122. Preferably, a separate scheduler for controlling this process is provided. The scheduler controls the client 110 to receive the live multimedia stream from the streaming server 122 or the buffering server 123 when the client 110 requests the connection and the live multimedia stream.

도 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 live encoder 121 encodes the live data to generate a live multimedia stream, the buffering server 123 buffers the live multimedia stream in the storage 124 and When the client 110 requests a new live multimedia stream while changing the broadcast channel or accessing the broadcast server system 120 for the first time, the buffering server 123 searches for I frames among the live multimedia streams buffered in the storage 124. And transmitting a predetermined amount of the live multimedia stream to the client 110 from the found I frame, playing the live multimedia stream transmitted by the client 110, and the streaming server 122 includes a buffering server ( Live multimedia after a live multimedia stream transmitted in full format from 123 Consists of an air stream to sending to the client 110 and the step of the client 110 is playing a live multimedia stream received from the streaming server (122).

도 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 live encoder 121 is first moved to the buffering server 123 via the streaming server 122, and the buffering server 123 performs a certain amount of live. The multimedia stream is stored in the storage 124 (S1, S2). In this case, the live multimedia stream may be directly transmitted from the live encoder 121 to the buffering server 123.

클라이언트(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 client 110 changes the broadcasting channel and requests a live multimedia stream of the changed channel or requests a new live multimedia stream of a specific channel while first accessing the broadcast server system 120 to watch the multimedia, the buffering server 123 S searches for I frames among the live multimedia streams buffered in the storage 124 for the requested channel, and immediately transmits the live multimedia streams from the searched I frames in a pull manner (S3 to S6). Accordingly, since the client 110 receives the live multimedia stream from the I frame from the buffering server 123, the client 110 can immediately play the live multimedia stream. On the other hand, the client 110 is to receive as much data as possible when receiving the live multimedia stream in a pull method. In this case, the search of the I frame is preferably performed to search the fastest I frame in time order among the live multimedia streams (of the requested channel) buffered in the storage 124. Meanwhile, in searching for an I frame, the streaming server 122 may search for an I frame closest to a frame of a live multimedia stream currently being transmitted. As described above, the buffering server 123 stores a predetermined amount of live multimedia streams in the storage 124. The buffering server 123 manages the storage 124 in a FIFO structure, thereby allowing the streaming server 122 or When a new live multimedia stream is transmitted from the live encoder 121, the excess amount of the live multimedia stream is deleted from the storage 124. At this time, since the storage 124 is managed in a FIFO structure, the live multimedia stream deleted from the storage 124 is deleted in order from the live multimedia stream, that is, the oldest live multimedia stream, stored in the storage 124 first.

클라이언트(110)는 버퍼링 서버(123)로부터 풀방식으로 전송한 라이브 멀티미디어 스트림을 재생한다(S7).The client 110 plays the live multimedia stream transmitted from the buffering server 123 in a pull manner (S7).

한편, 클라이언트(110)는 버퍼링 서버(123)로부터 풀방식으로 전송한 이후의 라이브 멀티미디어 스트림에 대하여 스트리밍 서버(122)로부터 정상적으로 전송중인 라이브 멀티미디어 스트림을 수신하여 재생하고, 클라이언트(110)의 라이브 멀티미디어 스트림 재생과 동시에 스트리밍 서버(122)의 라이브 멀티미디어 스트림에 대한 전송이 계속해서 이루어진다(S8~S10).Meanwhile, the client 110 receives and plays the live multimedia stream being normally transmitted from the streaming server 122 with respect to the live multimedia stream after the full transmission from the buffering server 123, and the live multimedia of the client 110. Simultaneously with playing the stream, transmission of the live multimedia stream of the streaming server 122 is continuously performed (S8 to S10).

도 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 live encoder 121 generates a live multimedia stream by encoding live data, and the generated live multimedia stream is buffered through the streaming server 122 or directly from the live encoder 121. The buffering server 123 buffers the live multimedia stream to the storage 124 (S31 and S32).

클라이언트(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 client 110 requests a new live multimedia stream for a specific channel while initially accessing the broadcast server system 120 due to a broadcast channel change or power on, the client buffers the live buffered storage in the storage 124 according to the request time of the client. The multimedia stream is transmitted in a full manner or the live multimedia stream transmitted from the streaming server 123 is transmitted to the client 110 as it is. Specifically, when the client 110 requests a new live multimedia stream, it is determined whether the request time is the transmission time of an I frame based on the live multimedia stream of the request channel normally transmitted from the streaming server 122 (S33). , S34). When the request time of the client 110 is the time of transmission of the I frame, even if the live multimedia stream is transmitted from the streaming server 122 as it is, since the viewing delay does not occur in the client 110, it is normally transmitted from the streaming server 122. The live multimedia stream is transmitted to the client 110 as it is, and the client 110 receives and plays the live multimedia stream (S38 and S39). On the other hand, when the request time of the client 110 is not the transmission point of the I frame, that is, when the P or B frame is transmitted, the I frame when the client 110 receives the live multimedia stream from the streaming server 122 Since the viewing delay occurs until the reception is received, the client 110 receives the live multimedia stream buffered in the storage 124 through the buffering server 123 in a pull manner. That is, the client 110 connects to the buffering server 123 to request a full transmission of the live multimedia stream, and the buffering server 123 requests the storage 124 to the live multimedia stream of the request channel buffered in the storage 124. The I frame is searched for, and the live multimedia stream is immediately transmitted in a full manner from the searched I frame, and the client 110 plays the transmitted live multimedia stream (S35 to S37). Therefore, since the client 110 receives the live multimedia stream from the I frame from the buffering server 123, the client 110 can immediately play the live multimedia stream without viewing delay. In addition, for the live multimedia stream after the client 110 is transmitted from the buffering server 123 in a pull manner, the live multimedia stream normally transmitted from the streaming server 122 is transmitted to the client 110 as it is.

바람직하게는, 별도의 스케줄러를 통해, 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 client 110 to the streaming server 122 or the buffering server 123. After the S35 to S37, the client 110 connects the streaming server 122 to the streaming server 122, and the client 110 receives the live multimedia stream normally transmitted from the streaming server 122 after the live multimedia stream transmitted in a full manner. Play it.

이상에서 본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나, 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 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)

방송 컨텐츠를 라이브 멀티미디어 스트림 형태로 제공하는 방송서버시스템; 및 네트워크를 통해 상기 방송서버시스템에 접속하여 라이브 멀티미디어 스트림을 수신 및 재생하는 하나 이상의 클라이언트를 포함하고, 상기 클라이언트가 방송채널을 변경하여 변경된 방송채널의 라이브 멀티미디어 스트림을 요청하거나 상기 방송서버시스템에 최초 접속하여 라이브 멀티미디어 스트림을 요청하면 상기 방송서버시스템이 요청된 방송채널의 라이브 멀티미디어 스트림을 전송하되, 상기 클라이언트의 라이브 멀티미디어 스트림 요청시점에 따라 미리 버퍼링된 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 시스템에서, 상기 방송서버시스템이,A broadcast server system providing broadcast contents in the form of a live multimedia stream; And at least one client connected to the broadcast server system through a network to receive and play a live multimedia stream, wherein the client changes a broadcast channel to request a live multimedia stream of a changed broadcast channel or first requests the broadcast server system. In a system for accessing a live multimedia stream and requesting a live multimedia stream, the broadcast server system transmits a live multimedia stream of the requested broadcast channel, but streams a live multimedia stream buffered in advance according to a request time of the live multimedia stream of the client in a full manner. The broadcast server system, 라이브 데이터를 인코딩하여 라이브 멀티미디어 스트림을 생성하는 라이브 인코더;A live encoder for generating live multimedia streams by encoding live data; 라이브 멀티미디어 스트림을 네트워크를 통해 전송하는 스트리밍 서버;A streaming server for transmitting a live multimedia stream over a network; 라이브 멀티미디어 스트림을 버퍼링하는 스토리지; 및Storage for buffering live multimedia streams; And 요청된 방송채널에 대하여, 상기 스트리밍 서버에서 정상적으로 전송중인 라이브 멀티미디어 스트림 대신, 상기 스토리지에서 버퍼링된 라이브 멀티미디어 스트림을 I 프레임부터 상기 클라이언트에 전송하는 버퍼링 서버를 포함하고,A buffering server for transmitting the requested broadcast channel to the client from the I frame to the live multimedia stream buffered in the storage, instead of the live multimedia stream normally transmitted by the streaming server, 상기 클라이언트의 라이브 멀티미디어 스트림 요청시점이 상기 스트리밍 서버에서 정상적으로 전송중인 요청 방송채널의 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점인 경우 상기 스트리밍 서버에서 정상적으로 전송중인 라이브 멀티미디어 스트림을 그대로 상기 클라이언트에 전송하고, I 프레임의 전송시점이 아닌 경우 상기 버퍼링 서버로부터 상기 스토리지에 버퍼링된 라이브 멀티미디어 스트림을 상기 클라이언트에 전송하는 것을 특징으로 하는 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 시스템.If the client's live multimedia stream request time is the transmission point of the I frame on the basis of the live multimedia stream of the request broadcast channel normally transmitted from the streaming server, the live multimedia stream normally transmitted from the streaming server is transmitted to the client as it is. And transmitting the live multimedia stream buffered in the storage from the buffering server to the client when the I frame is not transmitted. 제 1 항에 있어서,The method of claim 1, 상기 버퍼링 서버가, 상기 스토리지에 버퍼링된 라이브 멀티미디어 스트림 중 I 프레임을 탐색하고, 탐색된 I 프레임부터 상기 스토리지에 버퍼링된 라이브 멀티미디어 스트림을 상기 클라이언트로 전송하는 것을 특징으로 하는 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 시스템.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. Streaming system. 제 1 항에 있어서,The method of claim 1, 상기 버퍼링 서버가, 라이브 멀티미디어 스트림을 풀방식으로 전송하는 것을 특징으로 하는 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 시스템.And the buffering server transmits the live multimedia stream in a full manner. 제 1 항에 있어서,The method of claim 1, 상기 버퍼링 서버가 상기 스토리지를 FIFO 구조로 관리하여, 새로운 라이브 멀티미디어 스트림이 전송되면 상기 스토리지에 저장된 라이브 멀티미디어 스트림을 초과된 용량만큼 삭제하는 것을 특징으로 하는 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 시스템.And the buffering server manages the storage in a FIFO structure, and when the new live multimedia stream is transmitted, deletes the live multimedia stream stored in the storage as much as the excess capacity. 삭제delete 제 1 항에 있어서,The method of claim 1, 상기 방송서버시스템이,The broadcast server system, 상기 클라이언트의 라이브 멀티미디어 스트림 요청시점이 상기 스트리밍 서버에서 정상적으로 전송중인 요청 방송채널의 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점인 경우 상기 클라이언트를 상기 스트리밍 서버에 접속시키고, I 프레임의 전송시점이 아닌 경우 상기 클라이언트를 상기 버퍼링 서버에 접속시키는 스케줄러를 더 포함하는 것을 특징으로 하는 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 시스템.If the client's live multimedia stream request time is the transmission point of the I frame on the basis of the live multimedia stream of the request broadcast channel normally transmitted by the streaming server, the client is connected to the streaming server, and not the transmission point of the I frame. And a scheduler for connecting the client to the buffering server when the live multimedia stream is pooled. 제 1 항에 있어서,The method of claim 1, 상기 버퍼링 서버가 상기 스토리지에 버퍼링된 라이브 멀티미디어 스트림을 전송한 이후의 라이브 멀티미디어 스트림에 대하여, 상기 스트리밍 서버가 정상적으로 전송중인 라이브 멀티미디어 스트림을 그대로 상기 클라이언트에 전송하는 것을 특징으로 하는 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 시스템.For the live multimedia stream after the buffering server transmits the live multimedia stream buffered to the storage, the live multimedia stream is characterized in that the streaming server transmits the live multimedia stream that is normally transmitted to the client as it is Streaming to the system. 삭제delete 방송 컨텐츠를 라이브 멀티미디어 스트림 형태로 제공하는 방송서버시스템; 및 네트워크를 통해 상기 방송서버시스템에 접속하여 라이브 멀티미디어 스트림을 수신 및 재생하는 하나 이상의 클라이언트를 포함하는 시스템에서, 상기 클라이언트가 방송채널을 변경하여 변경된 방송채널의 라이브 멀티미디어 스트림을 요청하거나 상기 방송서버시스템에 최초 접속하여 라이브 멀티미디어 스트림을 요청하면 상기 방송서버시스템이 요청된 방송채널의 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 방법으로서,A broadcast server system providing broadcast contents in the form of a live multimedia stream; And at least one client connected to the broadcast server system through a network to receive and play a live multimedia stream, wherein the client changes a broadcast channel to request a live multimedia stream of a changed broadcast channel or the broadcast server system. A method for streaming a live multimedia stream of a broadcast channel requested by the broadcast server system when a live multimedia stream is requested for the first access to the broadcast channel, 라이브 데이터를 인코딩하여 라이브 멀티미디어 스트림을 생성하는 제 1 단계;A first step of encoding live data to generate a live multimedia stream; 라이브 멀티미디어 스트림을 스토리지에 버퍼링하는 제 2 단계;Buffering the live multimedia stream in storage; 상기 클라이언트로부터 라이브 멀티미디어 스트림의 요청을 수신하고, 상기 클라이언트가 라이브 멀티미디어 스트림을 요청한 시점이, 요청된 방송채널에 대하여 정상적으로 전송중인 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점인지 여부를 판단하는 제 3 단계;Receiving a request for a live multimedia stream from the client, and determining whether the time at which the client requests the live multimedia stream is an I frame transmission time based on a live multimedia stream normally transmitted for the requested broadcast channel. step; 상기 제 3 단계에서 상기 클라이언트의 라이브 멀티미디어 스트림 요청 시점이 요청된 방송채널에 대하여 정상적으로 전송중인 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점이 아닌 경우, 상기 정상적으로 전송중인 라이브 멀티미디어 스트림 대신, 상기 스토리지에 버퍼링된 라이브 멀티미디어 스트림을 I 프레임부터 전송하는 제 4 단계;In the third step, when the client's live multimedia stream request time is not a transmission point of an I frame based on a live multimedia stream that is normally transmitted for the requested broadcast channel, the storage is stored in the storage instead of the normally transmitted live multimedia stream. Transmitting a buffered live multimedia stream starting from an I frame; 상기 제 4 단계에서 전송된 라이브 멀티미디어 스트림 이후의 라이브 멀티미디어 스트림에 대하여, 정상적으로 전송중인 라이브 멀티미디어 스트림을 그대로 상기 클라이언트에 전송하는 제 5 단계; 및A fifth step of transmitting a live multimedia stream which is normally transmitted to the client as it is, for the live multimedia stream after the live multimedia stream transmitted in the fourth step; And 상기 제 3 단계에서 상기 클라이언트의 라이브 멀티미디어 스트림 요청 시점이 요청된 방송채널에 대하여 정상적으로 전송중인 라이브 멀티미디어 스트림을 기준으로 I 프레임의 전송시점인 경우, 상기 정상적으로 전송중인 라이브 멀티미디어 스트림을 그대로 상기 클라이언트에 전송하는 제 6 단계를 포함하고,In the third step, when the client's request for the live multimedia stream is a transmission point of an I frame based on the live multimedia stream normally transmitted for the requested broadcast channel, the live multimedia stream being normally transmitted is transmitted to the client as it is. A sixth step of doing, 상기 제 6 단계가, 상기 제 4 단계 및 상기 제 5 단계와 선택적으로 수행되는 것을 특징으로 하는 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 방법.And wherein said sixth step is optionally performed with said fourth step and said fifth step. 제 9 항에 있어서,The method of claim 9, 상기 제 4 단계가,The fourth step, 요청된 방송채널에 대하여 상기 스토리지에 버퍼링된 라이브 멀티미디어 스트림 중 I 프레임을 탐색하는 제 4-1 단계; 및Step 4-1 of searching for I frames in the live multimedia stream buffered in the storage for the requested broadcast channel; And 탐색된 I 프레임부터 일정 분량의 라이브 멀티미디어 스트림을 상기 클라이언트로 전송하는 제 4-2 단계를 포함하는 것을 특징으로 하는 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 방법.And a step 4-2 of transmitting a predetermined amount of the live multimedia stream to the client from the found I frame. 제 9 항에 있어서,The method of claim 9, 상기 제 4 단계에서, 상기 스토리지에 버퍼링된 라이브 멀티미디어 스트림을 풀방식으로 전송하는 것을 특징으로 하는 라이브 멀티미디어 스트림을 풀방식으로 스트리밍하는 방법.The method of claim 4, wherein the live multimedia stream buffered in the storage method characterized in that the full streaming method for streaming a live multimedia stream.
KR1020080011433A 2008-02-05 2008-02-05 System and method of steraming live multimedia data by pull KR100851634B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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