KR20120015037A - System and method for compensating consecutive palyback delay of video playback service based on real-time streaming protocol - Google Patents

System and method for compensating consecutive palyback delay of video playback service based on real-time streaming protocol Download PDF

Info

Publication number
KR20120015037A
KR20120015037A KR1020100077243A KR20100077243A KR20120015037A KR 20120015037 A KR20120015037 A KR 20120015037A KR 1020100077243 A KR1020100077243 A KR 1020100077243A KR 20100077243 A KR20100077243 A KR 20100077243A KR 20120015037 A KR20120015037 A KR 20120015037A
Authority
KR
South Korea
Prior art keywords
video content
buffer
subsequent
buffering
client terminal
Prior art date
Application number
KR1020100077243A
Other languages
Korean (ko)
Other versions
KR101164746B1 (en
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 KR1020100077243A priority Critical patent/KR101164746B1/en
Publication of KR20120015037A publication Critical patent/KR20120015037A/en
Application granted granted Critical
Publication of KR101164746B1 publication Critical patent/KR101164746B1/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PURPOSE: A system for compensating for a moving picture reproducing delay in a moving picture reproducing service based on a real time streaming protocol and a method thereof are provided to immediately parse buffered initial data to the reproduce if initial data of a following moving picture is buffered and reproduced. CONSTITUTION: A streaming server(10) analyzes a request message received from a client. The streaming server streams pre-stored moving image content to a client terminal. A client terminal(20) buffers and reproduces moving picture content transmitted from the streaming server in a user buffer. When following moving picture content exists, the client terminal buffers the following moving picture content in an additional buffer.

Description

실시간 스트리밍 프로토콜을 기반으로 한 동영상 재생 서비스에서 동영상 재생 지연 보상 시스템 및 방법{SYSTEM AND METHOD FOR COMPENSATING CONSECUTIVE PALYBACK DELAY OF VIDEO PLAYBACK SERVICE BASED ON REAL-TIME STREAMING PROTOCOL}System and method for compensating video delay in video playback service based on real-time streaming protocol {SYSTEM AND METHOD FOR COMPENSATING CONSECUTIVE PALYBACK DELAY OF VIDEO PLAYBACK SERVICE BASED ON REAL-TIME STREAMING PROTOCOL}

본 발명은 실시간 스트리밍 프로토콜을 이용한 동영상 재생 서비스 시스템에 관한 것으로, 더욱 상세하게는 IPTV 기반 서비스에서 서버로부터 동영상을 실시간으로 제공받아 재생할 때 연속 재생이 지연되는 것을 보상하는 시스템 및 방법에 관한 것이다.
The present invention relates to a video playback service system using a real-time streaming protocol, and more particularly, to a system and method for compensating for a delay in continuous playback when an IPTV based service receives a video from a server in real time.

현재의 인터넷은 WWW와 관련한 기술의 성장과 발전으로 폭발적인 성장을 이루고 있다. 이러한 발전에 따라 사용자들은 단순한 텍스트 중심의 데이터뿐만 아니라 다양한 멀티미디어 데이터를 웹 상에서 처리할 것을 요구하고 있다. The current Internet is exploding due to the growth and development of technologies related to WWW. With these developments, users are demanding not only text-oriented data but also various multimedia data on the web.

그러나, 현재의 인터넷은 텍스트 또는 그래픽만을 다루도록 설계되어 있어 멀티미디어 데이터를 전송하는 데 많은 문제점을 가진다. However, the current Internet is designed to deal only with text or graphics, and therefore has many problems in transmitting multimedia data.

첫째, 데이터를 재생하기 위해서 파일 전체를 다운로드해야 한다. 크기가 큰 멀티미디어 데이터의 경우에 초기 지연이 너무 커질 수 있다. First, the entire file must be downloaded to play the data. In the case of large multimedia data, the initial delay may be too large.

둘째, 전송 프로토콜로서 TCP를 사용한다는 점이다. 즉, TCP의 흐름제어나 원도우기법은 신뢰성있는 전송을 보장하지만 오디오나 비디오 패킷들의 시간적인 관계를 파괴할 수 있다. 또한, 프레임 손실시 재전송은 연속매체의 프레임들의 지터(jitter)나 스큐(skew)를 일으킬 수 있다. Second, it uses TCP as the transport protocol. In other words, TCP's flow control and windowing techniques guarantee reliable transmission but can destroy the temporal relationship between audio and video packets. In addition, retransmission in case of frame loss may cause jitter or skew of frames of the continuous medium.

이러한 문제점을 해결하기 위하여 스트리밍 기법과 실시간 데이터를 위한 전송 프로토콜의 개발이 촉진되었다. In order to solve this problem, the development of a streaming scheme and a transport protocol for real-time data has been promoted.

스트리밍 기법은 재생 지연 시간을 줄이기 위해 전체 파일을 다운로드하지 않고 조금씩 전송받아서 동시에 재생하는 기법이다. 이러한 기법에서는 주기적으로 데이터를 전송하기 위해서 다소 데이터 손실이 있더라도 실시간으로 전송할 수 있는 프로토콜이 필요하게 된다. 대표적으로 실시간 전송 프로토콜/실시간 스트리밍 프로토콜(RTP/RTSP, 이하 RTP/RTSP 로 칭함)이 있다. In order to reduce the playback delay time, the streaming method is a method of simultaneously receiving a small amount of transmission instead of downloading an entire file. This technique requires a protocol that can transmit data in real time even if there is some data loss in order to transmit data periodically. Typically there is a real-time transmission protocol / real-time streaming protocol (RTP / RTSP, hereinafter referred to as RTP / RTSP).

RTP는 기본적으로 UDP를 기반으로 패킷 순서화와 흐름제어를 수행하며 종점간 실시간 데이터의 전송을 담당한다. 또한, RTSP는 서버와 클라이언트간의 연결을 설정하고 제어하며 HTTP와 유사한 문법과 오퍼레이션을 가지므로 웹 브라우저에 쉽게 통합될 수 있다. RTP basically performs packet sequencing and flow control based on UDP and is responsible for the transmission of real-time data between endpoints. In addition, the RTSP establishes and controls the connection between the server and the client, and has a syntax and operation similar to HTTP so that it can be easily integrated into a web browser.

이처럼, 실시간 서비스는 상기와 같은 스트리밍 프로토콜을 이용하여 서버와 클라이언트간에 데이터를 교환하는데, 여기서 서버는 데이터 정보를 가지고 있어 연결이 이루어졌을 때 그 정보를 클라이언트에게 제공할 수 있는 컴퓨터를 말하고, 클라이언트는 반대로 서버에 접속해서 원하는 정보를 얻는 컴퓨터를 말한다.As such, a real-time service exchanges data between a server and a client using the streaming protocol as described above, where the server has data information and refers to a computer that can provide the information to the client when a connection is established. On the contrary, it is a computer that accesses a server and obtains the desired information.

따라서, 스트리밍을 하기 위해서는 RTSP를 이용하여 재생에 필요한 셋업(setup)을 해야 하고, 셋업을 마친 다음 RTSP 메시지를 서버와 주고받은 후, 오디오/비디오 데이터가 RTP를 통해 클라이언트로 전송되는 과정을 거친다. 이후, 버퍼링(buffering)하고 전송된 오디오/비디오 데이터를 재생하게 된다. Therefore, in order to stream, the user needs to setup for playback using RTSP. After the setup, the RTSP message is exchanged with the server, and the audio / video data is transmitted to the client through RTP. Thereafter, it buffers and plays the transmitted audio / video data.

버퍼링이란, 서버는 데이터를 지속적으로 전송하게 되고 서버와 접속한 클라이언트는 서버로부터 수신한 데이터를 지속적으로 메모리의 버퍼에 저장하게 되는데, 만일 이 버퍼가 모두 비워진다면 클라이언트 측에서는 더 이상 버퍼에서 꺼낼 데이터가 없으므로 다시 버퍼가 채워질 때까지 일시정지 상태에서 잠시 기다리는 현상을 말한다. In buffering, the server sends data continuously and the client connected to the server keeps the data received from the server in a buffer in memory. If all of these buffers are empty, the client side no longer needs to retrieve data from the buffer. There is no pause in the paused state until the buffer is filled again.

이처럼, 실시간 서비스에서는 클라이언트로부터의 요청이 있으면 셋업 과정, 서버 연결, 데이터 수신, 버퍼링 과정을 거쳐야 하므로 충분한 대기 시간이 필요하다. As such, the real-time service requires sufficient waiting time because a request from a client requires a setup process, a server connection, data reception, and a buffering process.

그런데, 다수의 동영상 콘텐츠에 대한 연속 재생을 요하는 실시간 서비스의 경우, 예를 들어 광고 콘텐츠를 연속 재생하고자 하는 경우 하나의 콘텐츠에 대한 재생을 마치고 다음 콘텐츠를 재생하고자 할 때 상기한 과정에 의해 다음 콘텐츠가 바로 재생되지 않고 끊김 현상이 발생하여 재생 전까지 블랙 영상이 나타나는 문제점이 있다.
However, in the case of a real-time service that requires continuous playback of a plurality of video contents, for example, when the advertisement content is to be played continuously, when the playback of one content is finished and the next content is to be played, the following process is performed. There is a problem in that a black image is displayed until the content is not immediately played and a disconnect occurs.

본 발명은 이러한 문제점을 해결하기 위해서 도출된 것으로서, 실시간 스트리밍 프로토콜(RTSP)을 기반으로 서버와 클라이언트간 동영상 재생시 연속되는 후속 동영상이 존재할 경우 후속 동영상의 초기 데이터를 사전에 버퍼링해 두었다가 재생 순서가 되면 버퍼링한 초기 데이터를 바로 파싱하여 재생할 수 있으므로 시간적 지연없이 연속 재생이 가능한 시스템 및 방법을 제공하는 데 목적이 있다.
The present invention has been derived to solve this problem, and if there is a subsequent successive video when the video is played between the server and the client based on the real-time streaming protocol (RTSP), the initial data of the subsequent video is buffered in advance and then the playback order is The present invention aims to provide a system and method capable of continuously reproducing buffered initial data, thereby enabling continuous playback without time delay.

상기 기술적 과제를 달성하기 위한 본 발명의 패킷 전달 지연 보상 시스템은, 실시간 스트리밍 프로토콜(RTSP)을 기반으로 동영상 콘텐츠를 제공받아 실시간 재생하는 서비스 시스템에 있어서, 상기 클라이언트로부터 수신되는 요청 메시지를 분석하여 처리하고, 미리 저장되어 있는 동영상 콘텐츠를 상기 클라이언트 단말에게 스트리밍하는 스트리밍 서버와, 상기 스트리밍 서버로부터 전송되는 동영상 콘텐츠를 유저 버퍼에 버퍼링하면서 재생하고, 상기 동영상 콘텐츠의 다음으로 재생할 후속 동영상 콘텐츠가 존재할 경우 상기 유저 버퍼와 별도로 구비된 추가 버퍼에 상기 후속 동영상 콘텐츠를 사전에 버퍼링하는 클라이언트 단말을 포함하는 것을 특징으로 한다. The packet delivery delay compensation system of the present invention for achieving the technical problem, in the service system for receiving a video content based on the real-time streaming protocol (RTSP) in real time playback, by analyzing the request message received from the client to process And a streaming server for streaming the previously stored video content to the client terminal, and playing the video content transmitted from the streaming server while buffering the video content in a user buffer, and if there is a subsequent video content to be played next to the video content. And a client terminal for pre-buffering the subsequent video content in an additional buffer provided separately from the user buffer.

한편, 상기 기술적 과제를 달성하기 위한 본 발명의 클라이언트 단말은, 스트리밍 서버와 연결되어 실시간 스트리밍 프로토콜(RTSP)을 기반으로 동영상 콘텐츠를 수신하여 실시간 재생하는 클라이언트 단말로서, 상기 스트리밍 서버로부터 전송되는 동영상 콘텐츠를 버퍼링하는 유저 버퍼와, 상기 유저 버퍼와 별도로 추가된 여분의 버퍼로, 상기 유저 버퍼에 버퍼링하는 현 동영상 콘텐츠 이후로 재생할 후속 동영상 콘텐츠가 1개 이상 예약되어 있을 때 상기 후속 동영상 콘텐츠를 사전에 버퍼링하기 위한 추가 버퍼와, 상기 유저 버퍼 및 상기 추가 버퍼에 담긴 동영상 콘텐츠를 재생하기 위해 디코딩하는 디코더와, 상기 유저 버퍼 또는 상기 추가 버퍼에 버퍼링된 동영상 콘텐츠를 파싱하여 상기 디코더로 전달해 주고, 상기 스트리밍 서버로부터 실시간 재생할 동영상 콘텐츠에 대한 재생 목록을 제공받아 상기 유저 버퍼에 버퍼링하는 현 동영상 콘텐츠 이후로 연속되는 후속 동영상 콘텐츠가 존재하는지 여부를 판단하며, 후속 동영상 콘텐츠가 존재할 경우 상기 추가 버퍼에 후속 동영상 콘텐츠를 사전에 버퍼링하도록 제어하는 제어 모듈을 포함하는 것을 특징으로 한다. Meanwhile, a client terminal of the present invention for achieving the technical problem is a client terminal connected to a streaming server to receive video content based on real-time streaming protocol (RTSP) and play back in real time, the video content transmitted from the streaming server. Buffering the subsequent video content in advance when there is at least one subsequent video content to be played after the current video content buffered in the user buffer, with a user buffer that buffers a; An additional buffer for decoding, a decoder for decoding the user buffer and the video content contained in the additional buffer, and parsing and transmitting the video content buffered in the user buffer or the additional buffer to the decoder. From Determines whether there is a subsequent video content subsequent to the current video content buffered in the user buffer by receiving a playlist of video content to be played, and if subsequent video content exists, subsequent video content is preliminarily added to the additional buffer. And a control module for controlling to buffer.

한편, 상기 기술적 과제를 달성하기 위한 본 발명의 방법은, 스트리밍 서버와 연결되어 실시간 스트리밍 프로토콜(RTSP)을 기반으로 동영상 콘텐츠를 수신하는 클라이언트 단말의 동영상 재생 지연 보상 방법으로서, (a) 상기 스트리밍 서버에 재생 요청 메시지를 보내는 단계; (b) 상기 재생 요청에 응답하여 상기 스트리밍 서버로부터 임의의 동영상 콘텐츠를 수신하게 되면 상기 동영상 콘텐츠를 유저 버퍼에 버퍼링하는 단계; (c) 상기 유저 버퍼에 담긴 동영상 콘텐츠를 재생하는 단계; (d) 상기 유저 버퍼에 버퍼링하는 동영상 콘텐츠 이후로 재생할 후속 동영상 콘텐츠가 존재하는지 여부를 판단하는 단계; (e) 상기 후속 동영상 콘텐츠가 존재하면 상기 유저 버퍼 외 추가적으로 구비된 추가 버퍼에 후속 동영상 콘텐츠를 상기 스트리밍 서버로부터 수신하여 사전 버퍼링하는 단계를 포함하는 것을 특징으로 한다.
On the other hand, the method of the present invention for achieving the technical problem, a video playback delay compensation method of a client terminal connected to a streaming server to receive video content based on a real-time streaming protocol (RTSP), (a) the streaming server Sending a play request message to the; (b) buffering the video content in a user buffer upon receiving any video content from the streaming server in response to the play request; (c) playing the video content contained in the user buffer; (d) determining whether there is a subsequent video content to be played after the video content buffered in the user buffer; (e) receiving the subsequent video content from the streaming server and pre-buffering the additional video buffer in addition to the user buffer if the subsequent video content exists.

본 발명에 따르면, 실시간 동영상 재생시 연속되는 후속 동영상이 존재할 경우 클라이언트 단말에서 더블 버퍼링을 이용하여 후속 동영상을 미리 버퍼링해 둠으로써 연속되는 콘텐츠의 초기 버퍼링 지연을 보상하고 이로써 재생의 지연을 최소화할 수 있는 효과가 있다.
According to the present invention, if there is a subsequent successive video in real time video playback, the buffering of the subsequent video is performed by using a double buffering in advance in the client terminal to compensate for the initial buffering delay of the continuous content, thereby minimizing the delay of the playback. It has an effect.

도 1은 본 발명의 실시예에 따른 실시간 스트리밍 프로토콜을 기반으로 한 동영상 재생 서비스에서 동영상 연속 재생의 지연 보상 시스템을 나타낸 구성도이다.
도 2는 본 발명의 실시예에 따른 동영상 연속 재생 지연 보상 시스템에서 더블 버퍼의 동작을 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 스트리밍 서비스에서 동영상 연속 재생의 지연 보상 방법을 나타낸 순서도이다.
1 is a block diagram illustrating a delay compensation system of continuous video playback in a video playback service based on a real-time streaming protocol according to an embodiment of the present invention.
2 is a view for explaining the operation of the double buffer in the video continuous playback delay compensation system according to an embodiment of the present invention.
3 is a flowchart illustrating a delay compensation method of continuous video playback in a streaming service according to an exemplary embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명한다. 본 발명의 구성 및 그에 따른 작용 효과는 이하의 상세한 설명을 통해 명확하게 이해될 것이다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. The configuration of the present invention and the operation and effect thereof will be clearly understood through the following detailed description.

도 1은 본 발명의 실시예에 따른 실시간 스트리밍 프로토콜을 기반으로 한 동영상 재생 서비스에서 동영상 연속 재생의 지연 보상 시스템을 나타낸 구성도이다. 1 is a block diagram illustrating a delay compensation system of continuous video playback in a video playback service based on a real-time streaming protocol according to an embodiment of the present invention.

본 발명의 실시예에 따른 시스템은 IP를 기반으로 한 인터넷 상에서 스트리밍 서버(10)와 클라이언트 단말(20)간 실시간 스트리밍 프로토콜(RTSP)을 기반으로 구현될 수 있다. The system according to the embodiment of the present invention may be implemented based on a real time streaming protocol (RTSP) between the streaming server 10 and the client terminal 20 on the Internet based on IP.

RTSP는 기본적으로 HTTP와 비슷한 구조(syntax)와 기능(operation)을 가지지만, 서버와 클라이언트 모두가 요청(request)을 보내고 이에 대한 응답(response)을 받으며, 초기 상태, 준비 상태, 재생 상태 등의 프로토콜 상태(state)를 가진다는 점에서 특징이 있다. RTSP basically has a syntax and operation similar to HTTP, but both the server and the client send a request and receive a response to it, such as initial state, ready state, and replay state. It is characteristic in that it has a protocol state.

이에 따라, 클라이언트 단말(20)은 처음에 스트리밍 서버(10)에게 세션을 열기 위한 SETUP 요청을 보내고, 스트리밍 서버(10)가 SETUP을 허용하면 클라이언트 단말(20)은 동영상의 재생을 시작하는 PLAY 요청을 보낼 수 있다. 다시 스트리밍 서버(10)에서 PLAY 요청이 받아들여지면 실제 데이터는 스트리밍 서버(10)에서 RTP/RTCP 프로토콜을 통해 클라이언트 단말(20)에게 전송된다. 일시적인 재생 중지를 위해서는 PAUSE 메서드를 사용하고 세션을 완전히 닫기 위해서는 TEARDOWN 메시지를 보낼 수 있다. Accordingly, the client terminal 20 initially sends a SETUP request to open the session to the streaming server 10, and when the streaming server 10 allows SETUP, the client terminal 20 requests a PLAY to start playing a video. You can send When the PLAY request is received from the streaming server 10, the actual data is transmitted from the streaming server 10 to the client terminal 20 through the RTP / RTCP protocol. You can use the PAUSE method to temporarily stop playback and send a TEARDOWN message to close the session completely.

이를 위해, 스트리밍 서버(10)는 클라이언트 단말(20)의 요청을 분석하여 처리하며 미리 저장되어 있는 동영상 콘텐츠를 클라이언트 단말(20)에게 스트리밍하는 기능을 수행한다. To this end, the streaming server 10 analyzes and processes the request of the client terminal 20 and performs a function of streaming the prestored video content to the client terminal 20.

클라이언트 단말(20)은 스트리밍 서버(10)에서 전송되는 스트림을 수신하여 실시간 재생하는 기능을 수행한다. 이때, 클라이언트 단말(20)은 통상적으로 RTP 패킷의 헤더 정보를 이용하여 여러 가지 QoS를 분석하고 이를 스트리밍 서버(10) 측에 피드백한다. The client terminal 20 receives a stream transmitted from the streaming server 10 and performs a function of real time playback. In this case, the client terminal 20 typically analyzes various QoS using the header information of the RTP packet and feeds it back to the streaming server 10.

본 발명의 실시 예에 따른 클라이언트 단말(20)은 구체적으로 소켓 모듈(21), 유저 버퍼(22), 추가 버퍼(23), 제어 모듈(24), 디코더(25), 재생 모듈(26)을 포함하여 구성될 수 있다. The client terminal 20 according to the embodiment of the present invention specifically includes a socket module 21, a user buffer 22, an additional buffer 23, a control module 24, a decoder 25, and a playback module 26. It can be configured to include.

소켓(socket) 모듈(21)은 스트리밍 서버(10) 상호간에 RTSP 데이터의 전송을 위한 소켓과 RTP 데이터를 위한 소켓을 포함한다. 따라서, 소켓 모듈(21)은 스트리밍 서버(10)와의 통신을 인터페이스한다. The socket module 21 includes a socket for transmitting RTSP data and a socket for RTP data between the streaming servers 10. Thus, the socket module 21 interfaces the communication with the streaming server 10.

유저 버퍼(22)는 소켓 모듈(21)을 통해 스트리밍 서버(10)로부터 수신한 오디오/비디오 데이터 즉, 동영상 콘텐츠를 순차적으로 버퍼링한다. The user buffer 22 sequentially buffers audio / video data, that is, video content, received from the streaming server 10 through the socket module 21.

추가 버퍼(23)는 유저 버퍼(22)와 별도로 추가된 여분의 버퍼로, 유저 버퍼(22)에 버퍼링하는 동영상 콘텐츠 이후로 연속되는 후속 동영상 콘텐츠가 1개 이상 예약되어 있을 때 후속 동영상 콘텐츠를 사전에 버퍼링한다. The additional buffer 23 is an extra buffer added separately from the user buffer 22, and pre-sets the subsequent video content when one or more subsequent video contents subsequent to the video content buffered in the user buffer 22 are reserved. Buffer to.

이러한 추가 버퍼(23)는 유저 버퍼(22)와 같이 대용량의 버퍼를 이용하거나 유저 버퍼(22)보다 작은 용량으로 구비할 수 있지만, 이에 한정하는 것은 아니며, 통상의 동영상 콘텐츠를 재생할 수 있는 최소한의 초기 버퍼링이 가능한 용량으로 제한할 수 있다. The additional buffer 23 may use a large buffer like the user buffer 22 or may have a smaller capacity than the user buffer 22, but the present invention is not limited thereto. You can limit the initial buffering to the available capacity.

따라서, 추가 버퍼(23)는 후속 동영상 콘텐츠의 초기 데이터만 미리 버퍼링해 두었다가 재생 순서가 되면 추가 버퍼(23)에 버퍼링되어 있는 후속 동영상 콘텐츠의 초기 데이터를 파싱할 수 있도록 한다. Therefore, the additional buffer 23 pre-buffers only the initial data of subsequent video contents, and when the playback order is reached, the initial data of subsequent video contents buffered in the additional buffer 23 can be parsed.

또한, 본 발명의 실시 예에 따른 추가 버퍼(23)는 광고 콘텐츠와 같이 재생 시간이 짧은 동영상 콘텐츠를 연속 재생하는 경우, 짧은 재생 시간 동안에 후속될 동영상 콘텐츠를 사전 버퍼링하기 위해서는 다수 개 구비될 수 있다. 예를 들어, 재생시간이 10초 내외로 비교적 짧은 A 동영상 콘텐츠, B 동영상 콘텐츠, C 동영상 콘텐츠, D 동영상 콘텐츠를 연속적으로 재생할 경우 D 동영상 콘텐츠를 재생하기 위해서 A, B, C, D 동영상 콘텐츠를 모두 사전 버퍼링해야 한다. 이 경우, 추가 버퍼(23)는 단일이 아닌 적어도 2 내지 3개가 필요하다. In addition, in the case of continuously playing video content having a short play time, such as advertisement content, a plurality of additional buffers 23 according to an embodiment of the present invention may be provided in order to pre-buffer the video content to be followed during the short play time. . For example, if you play A video content, B video content, C video content, and D video content in a row with a relatively short playback time of about 10 seconds, All must be prebuffered. In this case, at least two or three additional buffers 23 are required instead of a single one.

또한, 본 발명의 실시 예에 따른 추가 버퍼(23)는 연속 재생할 동영상 콘텐츠의 재생 시간 및 수량 뿐만 아니라, 네트워크의 속도 및 클라이언트 단말의 사양(버퍼링, 다운로드, 파싱 등의 처리 속도 사양을 포함함)을 고려하여 그 개수를 추가, 제한할 수 있다. In addition, the additional buffer 23 according to an embodiment of the present invention includes not only the playing time and quantity of video content to be continuously played, but also the speed of the network and the specifications of the client terminal (including processing speed specifications such as buffering, downloading, and parsing). Considering this, the number can be added and limited.

제어 모듈(24)은 기본적으로 상기의 유저 버퍼(22)와 초기 버퍼(23)간 버퍼링 동작을 제어하며, 각 버퍼(22, 23)에 담긴 동영상 콘텐츠를 분석하여 파싱하는 기능을 수행한다. The control module 24 basically controls the buffering operation between the user buffer 22 and the initial buffer 23, and analyzes and parses the video content contained in each of the buffers 22 and 23.

또한, 제어 모듈(24)은 스트리밍 서버(10)에서 전송된 메시지에 대한 처리를 수행하며, 사용자의 명령을 분석하여 스트리밍 서버(10)에게 요청을 보내는 기능을 수행한다.In addition, the control module 24 performs a process for the message transmitted from the streaming server 10, and performs a function of analyzing a user's command and sending a request to the streaming server 10.

또한, 제어 모듈(24)은 스트리밍 서버(10)로부터 실시간 재생할 동영상 콘텐츠에 대한 재생 목록을 제공받아 연속되는 후속 동영상이 존재하는지 여부를 판단하고, 후속 동영상이 존재할 경우 추가 버퍼(23)에 후속 동영상에 대한 초기 데이터를 사전에 버퍼링하도록 제어한다. In addition, the control module 24 receives a playlist of video content to be played in real time from the streaming server 10 to determine whether there is a successive subsequent video, and if there is a subsequent video, the subsequent video in the additional buffer 23. Control to pre-buffer initial data for.

또한, 제어 모듈(24)은 스트리밍 서버(10)로부터 실시간 재생할 동영상 콘텐츠에 대한 재생 목록을 제공받을 때 동영상 콘텐츠의 재생 시간에 대한 정보도 함께 제공받아 후속 동영상의 전체 재생 시간에 따라 추가 버퍼(23)에 버퍼링할 동작을 제어할 수 있다.In addition, when the control module 24 is provided with a playlist for the video content to be played back in real time from the streaming server 10, the control module 24 is also provided with information on the play time of the video content, and further buffers 23 according to the total play time of subsequent videos. ) To control the buffering.

또한, 제어 모듈(24)은 후속 동영상의 전체 재생 시간뿐만 아니라, 후속 동영상의 수량, 네트워크 속도, 클라이언트 단말의 사양 정보를 고려하여 추가 버퍼(23)에 버퍼링할 동작을 제어할 수 있다. 예컨대, 현재 재생 중인 동영상의 재생 시간이 짧지는 않지만, 네트워크의 속도가 평상시보다 떨어져 후속 동영상의 재생에 지연이 생길 우려가 있으면 이를 고려하여 후속 동영상을 미리 추가 버퍼(23)에 버퍼링하도록 제어할 수 있다. In addition, the control module 24 may control an operation to buffer the additional buffer 23 in consideration of not only the total playback time of the subsequent video, but also the quantity of the subsequent video, the network speed, and the specification information of the client terminal. For example, if the playing time of the currently playing video is not short, but there is a fear that there is a delay in playing the subsequent video because the network speed is lower than usual, the subsequent video may be controlled to be buffered in the additional buffer 23 in advance. have.

이때, 스트리밍 서버(10)는 클라이언트 단말(20)에 현재 재생 중인 동영상 콘텐츠에 대한 정보와, 다음에 연속 재생할 동영상 콘텐츠에 대한 정보를 모니터링하고 있어야 함을 전제로 한다. 따라서, 클라이언트 단말(20)로부터 동영상 콘텐츠에 대한 재생이 요청되면 스트리밍 서버(10)에서 현재 재생 중인 동영상 콘텐츠에 따라 후속 동영상 콘텐츠를 추출하여 해당 클라이언트 단말(20)에 미리 제공해 준다. In this case, it is assumed that the streaming server 10 should monitor the information about the video content currently being played on the client terminal 20 and the information about the video content to be continuously played next. Therefore, when the playback of the video content is requested from the client terminal 20, the streaming server 10 extracts the subsequent video content according to the video content currently being played and provides it to the client terminal 20 in advance.

또한, 제어 모듈(24)은 추가 버퍼(23)에 담긴 동영상 콘텐츠를 직접 전달받아 파싱할 수 있지만, 유저 버퍼(22)를 통해 전달받아 파싱할 수 있다. 전자의 경우, 제어 모듈(24)은 추가 버퍼(23)에 담긴 후속 동영상 콘텐츠를 재생하면서, 유저 버퍼(22)에 추가 버퍼(23)에 담긴 후속 동영상 콘텐츠의 초기 데이터 이후의 나머지 데이터에 대하여 스트리밍으로 제공받는다. 후자의 경우, 제어 모듈(24)은 유저 버퍼(22)로 추가 버퍼(23)에 이미 담긴 후속 동영상 콘텐츠를 옮긴 후 유저 버퍼(22)에 나머지 데이터를 스트리밍 서버(10)로부터 제공받는다. In addition, the control module 24 may directly receive and parse the video content contained in the additional buffer 23, but may receive and parse the received video through the user buffer 22. In the former case, the control module 24 plays the subsequent video content contained in the additional buffer 23, while streaming the remaining data after the initial data of the subsequent video content contained in the additional buffer 23 in the user buffer 22. It is provided by. In the latter case, the control module 24 transfers the subsequent video content already contained in the additional buffer 23 to the user buffer 22 and receives the remaining data from the streaming server 10 in the user buffer 22.

디코더(25)는 스트리밍 서버(10)에서 전송된 RTP 패킷을 제어 모듈(24)로부터 수신받아 디코딩한 후 재생 모듈(26)에 보낸다. 그러면 재생 모듈(26)은 디코딩된 RTP 패킷을 순차적으로 재생한다.The decoder 25 receives the RTP packet transmitted from the streaming server 10 from the control module 24, decodes it, and sends the decoded RTP packet to the reproduction module 26. The playback module 26 then sequentially plays the decoded RTP packets.

이렇게 구성된 클라이언트 단말(20)의 유저 버퍼(22)와 추가 버퍼(23)간 동작은 다음과 같다. The operation between the user buffer 22 and the additional buffer 23 of the client terminal 20 configured as described above is as follows.

도 2는 본 발명의 실시예에 따른 동영상 연속 재생 지연 보상 시스템에서 더블 버퍼의 동작을 설명하기 위한 도면이다.2 is a view for explaining the operation of the double buffer in the video continuous playback delay compensation system according to an embodiment of the present invention.

도 2의 (a)는 복수의 동영상 콘텐츠를 연속 재생하는 순서를 보여주고 있다. 2A illustrates a sequence of continuously playing back a plurality of video contents.

즉, 클라이언트 단말에서 콘텐츠 A, 콘텐츠 B, 콘텐츠 C 순으로 연속 재생된다고 가정할 때, 종래 기술에 따르면 클라이언트 단말의 유저 버퍼에는 스트리밍 서버로부터 콘텐츠 A를 수신하여 버퍼링하고 콘텐츠 A의 버퍼링을 완료한 이후에 콘텐츠 B를 순차적으로 수신하여 버퍼링한다. 이어, 콘텐츠 C를 수신하여 버퍼링함으로써 종래 유저 버퍼는 콘텐츠 A의 총 데이터 량 DA와, 콘텐츠 B의 총 데이터 량 DB, 콘텐츠 C의 총 데이터 량 DC를 모두 합산한 만큼 버퍼링하게 된다. 미설명부호 D1, D2, D3는 각 콘텐츠 A, B, C의 재생 가능한 최소한의 초기 데이터를 나타낸 것이다. That is, assuming that the client terminal continuously plays the content A, the content B, and then the content C, according to the related art, after receiving and buffering the content A from the streaming server in the user buffer of the client terminal, the buffering of the content A is completed. Content B is sequentially received and buffered. Subsequently, by receiving and buffering the content C, the conventional user buffer buffers the sum of the total data amount DA of the content A, the total data amount DB of the content B, and the total data amount DC of the content C as much as the sum. Reference numerals D1, D2, and D3 represent minimum reproducible initial data of the contents A, B, and C.

한편, (c)에 도시한 바와 같이 본 발명에 따르면, 추가 버퍼(23)는 처음에 재생할 콘텐츠 A를 제외하고 후속 콘텐츠 B, C의 초기 데이터를 미리 버퍼링한다. 즉, 유저 버퍼(22)에는 처음 재생할 콘텐츠 A의 전체 데이터 DA를 버퍼링하고, 이후에 추가 버퍼(23)에 버퍼링된 후속 콘텐츠 B, C의 초기 데이터(D2, D3)를 제외한 나머지 데이터 DB1(DB-D2), DC1(DC-D3)를 버퍼링하게 된다. 이의 버퍼링 동작은 추가 버퍼(23)에 담긴 후속 콘텐츠 B, C의 초기 데이터(D2, D3)를 각각 재생하는 시점에 수행한다.On the other hand, according to the present invention as shown in (c), the additional buffer 23 pre-buffers the initial data of subsequent contents B and C except for the content A to be reproduced at first. That is, the user buffer 22 buffers the entire data DA of the content A to be reproduced for the first time, and then rests the data DB1 (DB except for the initial data D2 and D3 of subsequent contents B and C buffered in the additional buffer 23). -D2), DC1 (DC-D3) to buffer. Its buffering operation is performed at the time of reproducing the initial data D2, D3 of subsequent contents B and C contained in the additional buffer 23, respectively.

또한, 유저 버퍼(22)는 경우에 따라 파싱을 위해 추가 버퍼(23)에 버퍼링된 후속 콘텐츠 B, C의 초기 데이터(D2, D3)까지 포함하여 버퍼링할 수 있는데, 이 경우 버퍼링하는 데이터의 량은 증가하지만 본 발명의 재생 지연을 최소화할 수 있는 목적은 달성할 수 있다. Also, the user buffer 22 may optionally buffer up to the initial data D2 and D3 of subsequent contents B and C buffered in the additional buffer 23 for parsing, in which case the amount of data to be buffered Is increased, but the object of minimizing the regeneration delay of the present invention can be achieved.

이처럼, 본 발명에 따른 클라이언트 단말은 유저 버퍼(22) 및 추가 버퍼(23)의 더블 버퍼링 방식을 이용하여 스트리밍함으로써 동영상 콘텐츠의 연속 재생시 동영상 콘텐츠간 끊김 없이 콘텐츠 A, 콘텐츠 B, 콘텐츠 C를 연속 재생할 수 있다. As described above, the client terminal according to the present invention continuously streams the content A, the content B, and the content C during the continuous playback of the video content by streaming using the double buffering method of the user buffer 22 and the additional buffer 23. Can play.

도 3은 본 발명의 실시예에 따른 스트리밍 서비스에서 동영상 연속 재생의 지연 보상 방법을 나타낸 순서도이다. 참고로, 도 1의 시스템 구성과 연계하여 설명한다. 3 is a flowchart illustrating a delay compensation method of continuous video playback in a streaming service according to an exemplary embodiment of the present invention. For reference, it will be described in connection with the system configuration of FIG. 1.

클라이언트 단말(20)이 RTSP을 이용하여 스트리밍 서버(10)에 재생을 위한 PLAY 메서드를 요청하고, 스트리밍 서버(10)에서 PLAY 메서드를 허용하면 해당 동영상 콘텐츠를 전송한다(S10). The client terminal 20 requests the PLAY method for playback from the streaming server 10 using the RTSP, and if the streaming server 10 allows the PLAY method, the corresponding video content is transmitted (S10).

클라이언트 단말(20)은 스트리밍 서버(10)로부터 전송되는 동영상 콘텐츠 (이하, 제1 동영상 콘텐츠)를 수신하여 유저 버퍼(22)에 버퍼링한다(S20, S30). 그리고, 버퍼링되는 동영상 콘텐츠를 제어 모듈(24)로 전달하여 디코딩을 통해 바로 재생한다. The client terminal 20 receives the video content (hereinafter referred to as the first video content) transmitted from the streaming server 10 and buffers it in the user buffer 22 (S20 and S30). Then, the buffered video content is transferred to the control module 24 to be immediately reproduced through decoding.

이때, 클라이언트 단말(20)의 제어 모듈(24)은 스트리밍 서버(10)로부터 전송되는 제1 동영상 콘텐츠 이후에 후속 동영상 콘텐츠가 존재하는지 여부를 감시한다(S40). At this time, the control module 24 of the client terminal 20 monitors whether there is a subsequent video content after the first video content transmitted from the streaming server 10 (S40).

후속 동영상 콘텐츠가 존재하지 않으면 클라이언트 단말(20)은 현 재생 콘텐츠를 유저 버퍼(22)에 순차적으로 버퍼링하면서 재생한다.If there is no subsequent video content, the client terminal 20 plays the current playback content while sequentially buffering it in the user buffer 22.

후속 동영상 콘텐츠가 존재하면 클라이언트 단말(20)은 버퍼링 환경을 확인한다(S50). 즉, 후속 동영상 콘텐츠의 재생 시간이나 후속 동영상 콘텐츠의 수량, 네트워크 속도, 클라이언트 단말의 사양 정보 등의 환경 조건을 확인하여 후속 동영상 콘텐츠의 재생에 지연이 생길 우려가 있으면 이를 고려하여 다음의 동작을 제어한다. If the subsequent video content exists, the client terminal 20 checks the buffering environment (S50). That is, if there is a possibility that there is a delay in the playback of the subsequent video content by checking the environmental conditions such as the playback time of the subsequent video content, the quantity of the subsequent video content, the network speed, and the specification information of the client terminal, the following operation is controlled in consideration of this. do.

즉, 클라이언트 단말(20)이 추가 버퍼(23)에 후속 동영상 콘텐츠를 버퍼링한다(S60). 이때, 추가 버퍼(23)에는 후속 동영상 콘텐츠의 전체 데이터를 버퍼링하는 것이 아니라, 재생이 가능한 최소한의 용량에 해당하는 초기 데이터만 버퍼링한다. That is, the client terminal 20 buffers the subsequent video content in the additional buffer 23 (S60). In this case, the additional buffer 23 does not buffer the entire data of subsequent video contents, but buffers only the initial data corresponding to the minimum capacity that can be played back.

이후, 제1 동영상 콘텐츠의 재생을 완료하고 후속 동영상 콘텐츠의 재생 순서가 되면 추가 버퍼(23)에 담긴 후속 동영상 콘텐츠의 초기 데이터를 재생한다.Thereafter, when the playback of the first video content is completed and the playback order of the subsequent video content is reached, the initial data of the subsequent video content contained in the additional buffer 23 is played.

이의 재생과 동시에, 유저 버퍼(22)에 후속 동영상 콘텐츠의 나머지 데이터를 버퍼링하고 이후 연속 재생한다(S70).Simultaneously with this reproduction, the remaining data of subsequent video content is buffered in the user buffer 22 and subsequently reproduced (S70).

상기의 추가 버퍼(23)에 담긴 후속 동영상 콘텐츠를 재생할 경우, 클라이언트 단말(20)은 추가 버퍼(23)에 담긴 데이터를 직접 파싱하여 재생하거나 또는 유저 버퍼(22)로 옮긴 후에 유저 버퍼(22)에 담긴 데이터를 파싱하여 재생할 수 있다. When the subsequent video content contained in the additional buffer 23 is played back, the client terminal 20 directly parses or plays the data contained in the additional buffer 23 or moves to the user buffer 22, and then the user buffer 22. The data contained in the file can be parsed and played back.

이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Although the embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that.

따라서, 이상에서 기술한 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이므로, 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 하며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
Therefore, since the embodiments described above are provided to completely inform the scope of the invention to those skilled in the art, it should be understood that they are exemplary in all respects and not limited. The invention is only defined by the scope of the claims.

10: 스트리밍 서버 20: 클라이언트 단말
21: 소켓 모듈 22: 유저 버퍼
23: 추가 버퍼 24: 제어 모듈
25: 디코더 26: 재생 모듈
10: streaming server 20: client terminal
21: socket module 22: user buffer
23: additional buffer 24: control module
25: decoder 26: playback module

Claims (14)

실시간 스트리밍 프로토콜(RTSP)을 기반으로 동영상 콘텐츠를 제공받아 실시간 재생하는 서비스 시스템에 있어서,
상기 클라이언트로부터 수신되는 요청 메시지를 분석하여 처리하고, 미리 저장되어 있는 동영상 콘텐츠를 상기 클라이언트 단말에게 스트리밍하는 스트리밍 서버와,
상기 스트리밍 서버로부터 전송되는 동영상 콘텐츠를 유저 버퍼에 버퍼링하면서 재생하고, 상기 동영상 콘텐츠의 다음으로 재생할 후속 동영상 콘텐츠가 존재할 경우 상기 유저 버퍼와 별도로 구비된 추가 버퍼에 상기 후속 동영상 콘텐츠를 사전에 버퍼링하는 클라이언트 단말
을 포함하는 것을 특징으로 하는 동영상 연속 재생 지연 보상 시스템.
In a service system that receives video content based on real-time streaming protocol (RTSP) and plays in real time,
A streaming server that analyzes and processes a request message received from the client and streams previously stored video content to the client terminal;
Client that plays video content transmitted from the streaming server while buffering it in a user buffer, and pre-buffers the subsequent video content in an additional buffer provided separately from the user buffer when there is a subsequent video content to be played next to the video content. Terminal
Video continuous playback delay compensation system comprising a.
제1항에 있어서,
상기 클라이언트 단말은
상기 추가 버퍼에 버퍼링시 후속 동영상 콘텐츠를 재생할 수 있는 최소한의 초기 데이터만 버퍼링하는 것을 특징으로 하는 동영상 연속 재생 지연 보상 시스템.
The method of claim 1,
The client terminal
And buffering the minimum initial data capable of playing subsequent video content when buffering the additional buffer.
스트리밍 서버와 연결되어 실시간 스트리밍 프로토콜(RTSP)을 기반으로 동영상 콘텐츠를 수신하여 실시간 재생하는 클라이언트 단말로서,
상기 스트리밍 서버로부터 전송되는 동영상 콘텐츠를 버퍼링하는 유저 버퍼와,
상기 유저 버퍼와 별도로 추가된 여분의 버퍼로, 상기 유저 버퍼에 버퍼링하는 현 동영상 콘텐츠 이후로 재생할 후속 동영상 콘텐츠가 1개 이상 예약되어 있을 때 상기 후속 동영상 콘텐츠를 사전에 버퍼링하기 위한 추가 버퍼와,
상기 유저 버퍼 및 상기 추가 버퍼에 담긴 동영상 콘텐츠를 재생하기 위해 디코딩하는 디코더와,
상기 유저 버퍼 또는 상기 추가 버퍼에 버퍼링된 동영상 콘텐츠를 파싱하여 상기 디코더로 전달해 주고, 상기 스트리밍 서버로부터 실시간 재생할 동영상 콘텐츠에 대한 재생 목록을 제공받아 상기 유저 버퍼에 버퍼링하는 현 동영상 콘텐츠 이후로 연속되는 후속 동영상 콘텐츠가 존재하는지 여부를 판단하며, 후속 동영상 콘텐츠가 존재할 경우 상기 추가 버퍼에 후속 동영상 콘텐츠를 사전에 버퍼링하도록 제어하는 제어 모듈
을 포함하는 것을 특징으로 하는 클라이언트 단말.
A client terminal connected to a streaming server to receive video content based on real-time streaming protocol (RTSP) and play in real time.
A user buffer for buffering the video content transmitted from the streaming server;
An additional buffer added separately from the user buffer, an additional buffer for pre-buffering the subsequent video content when at least one subsequent video content to be played after the current video content buffered in the user buffer is reserved;
A decoder which decodes to play the video content contained in the user buffer and the additional buffer;
Parse the video content buffered in the user buffer or the additional buffer and deliver it to the decoder, and receive a playlist for the video content to be played back in real time from the streaming server. A control module that determines whether video content exists and controls to pre-buffer subsequent video content in the additional buffer if subsequent video content exists.
Client terminal comprising a.
제1항에 있어서,
상기 제어 모듈은 후속 동영상 콘텐츠가 존재할 경우 상기 추가 버퍼에 후속 동영상 콘텐츠의 초기 데이터만 버퍼링하는 것을 특징으로 하는 클라이언트 단말.
The method of claim 1,
And the control module buffers only initial data of subsequent video content in the additional buffer when subsequent video content exists.
제1항에 있어서,
상기 추가 버퍼는 상기 후속 동영상 콘텐츠의 재생 시간 및 수량에 따라 복수 개 구비 가능한 것을 특징으로 하는 클라이언트 단말.
The method of claim 1,
The additional buffer may be provided in plurality depending on the playback time and the quantity of the subsequent video content.
제1항에 있어서,
상기 제어 모듈은
상기 추가 버퍼에 담긴 동영상 콘텐츠를 직접 파싱하여 디코더로 전달하는 것을 특징으로 하는 클라이언트 단말.
The method of claim 1,
The control module
And parsing the video content contained in the additional buffer directly to the decoder.
제1항에 있어서,
상기 제어 모듈은
상기 추가 버퍼에 담긴 동영상 콘텐츠를 상기 유저 버퍼로 옮긴 후, 상기 유저 버퍼에 담긴 동영상 콘텐츠를 파싱하여 디코더로 전달하는 것을 특징으로 하는 클라이언트 단말.
The method of claim 1,
The control module
After moving the video content contained in the additional buffer to the user buffer, the client terminal characterized in that the parsing the video content contained in the user buffer and delivered to the decoder.
제1항에 있어서,
상기 제어 모듈은
상기 후속 동영상 콘텐츠의 재생 시간, 후속 동영상 콘텐츠의 수량, 네트워크 속도, 단말의 사양 정보 중 어느 하나 이상을 고려하여 상기 추가 버퍼의 버퍼링 동작을 제어하는 것을 특징으로 하는 클라이언트 단말.
The method of claim 1,
The control module
And controlling the buffering operation of the additional buffer in consideration of at least one of a playback time of the subsequent video content, a quantity of subsequent video content, a network speed, and specification information of the terminal.
스트리밍 서버와 연결되어 실시간 스트리밍 프로토콜(RTSP)을 기반으로 동영상 콘텐츠를 수신하는 클라이언트 단말의 동영상 재생 지연 보상 방법으로서,
(a) 상기 스트리밍 서버에 재생 요청 메시지를 보내는 단계;
(b) 상기 재생 요청에 응답하여 상기 스트리밍 서버로부터 임의의 동영상 콘텐츠를 수신하게 되면 상기 동영상 콘텐츠를 유저 버퍼에 버퍼링하는 단계;
(c) 상기 유저 버퍼에 담긴 동영상 콘텐츠를 재생하는 단계;
(d) 상기 유저 버퍼에 버퍼링하는 동영상 콘텐츠 이후로 재생할 후속 동영상 콘텐츠가 존재하는지 여부를 판단하는 단계;
(e) 상기 후속 동영상 콘텐츠가 존재하면 상기 유저 버퍼 외 추가적으로 구비된 추가 버퍼에 후속 동영상 콘텐츠를 상기 스트리밍 서버로부터 수신하여 사전 버퍼링하는 단계
를 포함하는 것을 특징으로 하는 클라이언트 단말의 동영상 재생 지연 보상 방법.
A video playback delay compensation method of a client terminal connected to a streaming server and receiving video content based on a real-time streaming protocol (RTSP),
(a) sending a play request message to the streaming server;
(b) buffering the video content in a user buffer upon receiving any video content from the streaming server in response to the play request;
(c) playing the video content contained in the user buffer;
(d) determining whether there is a subsequent video content to be played after the video content buffered in the user buffer;
(e) pre-buffering the subsequent video content from the streaming server in the additional buffer additionally provided in addition to the user buffer if the subsequent video content exists.
The video playback delay compensation method of the client terminal comprising a.
제9항에 있어서,
상기 (e) 단계에서 상기 추가 버퍼에 버퍼링시,
상기 후속 동영상 콘텐츠를 재생할 수 있는 최소한의 초기 데이터만 버퍼링하는 것을 특징으로 하는 클라이언트 단말의 동영상 재생 지연 보상 방법.
10. The method of claim 9,
When buffering the additional buffer in the step (e),
The video playback delay compensation method of the client terminal, characterized in that for buffering the minimum initial data that can play the subsequent video content.
제9항에 있어서,
상기 (e) 단계는
상기 후속 동영상 콘텐츠의 재생 시간, 수량, 네트워크 속도, 단말의 사양 정보를 포함한 버퍼링 환경 조건을 확인하여 환경에 따라 추가 버퍼의 버퍼링 동작을 제어하는 과정을 더 포함하는 것을 특징으로 하는 클라이언트 단말의 동영상 재생 지연 보상 방법.
10. The method of claim 9,
The step (e)
Checking a buffering environment condition including playing time, quantity, network speed, and terminal specification information of the subsequent video content, and controlling a buffering operation of an additional buffer according to an environment. Delay Compensation Method.
제9항에 있어서,
(f) 상기 유저 버퍼에 담긴 동영상 콘텐츠의 재생을 완료하고 후속 동영상 콘텐츠의 재생 순서가 되면 상기 추가 버퍼에 담긴 후속 동영상 콘텐츠의 초기 데이터를 재생하는 단계;
(g) 상기 재생과 동시에 상기 유저 버퍼에 상기 후속 동영상 콘텐츠의 나머지 데이터를 버퍼링하는 단계
를 더 포함하는 것을 특징으로 하는 클라이언트 단말의 동영상 재생 지연 보상 방법.
10. The method of claim 9,
(f) playing the initial data of the subsequent video content contained in the additional buffer when the reproduction of the video content contained in the user buffer is completed and the playback sequence of the subsequent video content is reached;
(g) buffering the remaining data of the subsequent video content in the user buffer at the same time as the playback
The video playback delay compensation method of the client terminal further comprising.
제12항에 있어서,
상기 (f) 단계는
상기 추가 버퍼에 담긴 동영상 콘텐츠를 직접 파싱하여 재생하는 것을 특징으로 하는 클라이언트 단말의 동영상 재생 지연 보상 방법.
The method of claim 12,
The step (f)
The video playback delay compensation method of the client terminal, characterized in that for directly parsing and playing the video content contained in the additional buffer.
제12항에 있어서,
상기 (f) 단계는
상기 추가 버퍼에 담긴 동영상 콘텐츠를 상기 유저 버퍼로 옮긴 후, 상기 유저 버퍼에 담긴 동영상 콘텐츠를 파싱하여 재생하는 것을 특징으로 하는 클라이언트 단말의 동영상 재생 지연 보상 방법.
The method of claim 12,
The step (f)
And moving the video content contained in the additional buffer to the user buffer, and parsing and playing the video content contained in the user buffer.
KR1020100077243A 2010-08-11 2010-08-11 System and method for compensating consecutive palyback delay of video playback service based on real-time streaming protocol KR101164746B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100077243A KR101164746B1 (en) 2010-08-11 2010-08-11 System and method for compensating consecutive palyback delay of video playback service based on real-time streaming protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100077243A KR101164746B1 (en) 2010-08-11 2010-08-11 System and method for compensating consecutive palyback delay of video playback service based on real-time streaming protocol

Publications (2)

Publication Number Publication Date
KR20120015037A true KR20120015037A (en) 2012-02-21
KR101164746B1 KR101164746B1 (en) 2012-07-12

Family

ID=45837895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100077243A KR101164746B1 (en) 2010-08-11 2010-08-11 System and method for compensating consecutive palyback delay of video playback service based on real-time streaming protocol

Country Status (1)

Country Link
KR (1) KR101164746B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101373650B1 (en) * 2012-04-23 2014-03-14 주식회사 네오위즈인터넷 Method, terminal, server, and recording medium for providing streaming servcie
WO2015105221A1 (en) * 2014-01-13 2015-07-16 주식회사 노매드커넥션 Mobile terminal, and method for playing streaming video in mobile terminal
WO2017171116A1 (en) * 2016-03-30 2017-10-05 주식회사 앱플러 Mobile video commerce system using live video, and method therefor
US10412130B2 (en) 2016-04-04 2019-09-10 Hanwha Techwin Co., Ltd. Method and apparatus for playing media stream on web browser
WO2023182615A1 (en) * 2022-03-22 2023-09-28 에스케이텔레콤 주식회사 Method and device for synchronization between video frame and audio frame

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566469B2 (en) * 2003-12-24 2013-10-22 Intel Corporation Method and system for predicting and streaming content utilizing multiple stream capacity
KR100737722B1 (en) 2005-08-19 2007-07-10 (주)씨앤에스 테크놀로지 The digital audio broadcasting modem interface system for receiving multi-channel and its working method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101373650B1 (en) * 2012-04-23 2014-03-14 주식회사 네오위즈인터넷 Method, terminal, server, and recording medium for providing streaming servcie
WO2015105221A1 (en) * 2014-01-13 2015-07-16 주식회사 노매드커넥션 Mobile terminal, and method for playing streaming video in mobile terminal
WO2017171116A1 (en) * 2016-03-30 2017-10-05 주식회사 앱플러 Mobile video commerce system using live video, and method therefor
US10412130B2 (en) 2016-04-04 2019-09-10 Hanwha Techwin Co., Ltd. Method and apparatus for playing media stream on web browser
WO2023182615A1 (en) * 2022-03-22 2023-09-28 에스케이텔레콤 주식회사 Method and device for synchronization between video frame and audio frame

Also Published As

Publication number Publication date
KR101164746B1 (en) 2012-07-12

Similar Documents

Publication Publication Date Title
US10263875B2 (en) Real-time processing capability based quality adaptation
US9854018B2 (en) System and method of media content streaming with a multiplexed representation
US10250659B2 (en) Contextually aware client buffer thresholds
US6792449B2 (en) Startup methods and apparatuses for use in streaming content
US8375140B2 (en) Adaptive playback rate with look-ahead
US7881335B2 (en) Client-side bandwidth allocation for continuous and discrete media
US20110066703A1 (en) Methods and systems for delivering media to client device
WO2009128528A1 (en) Server device, content distribution method, and program
KR100848128B1 (en) Method of progressive streaming using a real-time streaming protocol
US20070076756A1 (en) System and method for transferring multiple data channels
US20150256600A1 (en) Systems and methods for media format substitution
US20110299586A1 (en) Quality adjustment using a fragmented media stream
JP4340268B2 (en) Video transmission method for mobile communication terminal using pseudo streaming technology
KR101164746B1 (en) System and method for compensating consecutive palyback delay of video playback service based on real-time streaming protocol
JP2004272712A (en) Receiving device and information browsing method
KR100606800B1 (en) A multimedia streaming service providing method and a streaming service system
KR101625663B1 (en) Method and Apparatus for Receiving Content
KR100820350B1 (en) Multi contaniner format integration streaming server and streaming method
JP4794640B2 (en) Transmitting apparatus and media data transmitting method
EP4195626A1 (en) Streaming media content as media stream to a client system
Kinoshita et al. Low Latency Live Streaming System with Congestion Control
JP2008533808A (en) Switching multimedia channels
CN117041610A (en) Asymmetric SFU media gateway architecture under low-delay live broadcast application scene
KR20220068636A (en) System and method for providing ultra low latency over the top service

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150702

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160624

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190521

Year of fee payment: 8