KR100621313B1 - Apparatus and method for buffering the data - Google Patents

Apparatus and method for buffering the data Download PDF

Info

Publication number
KR100621313B1
KR100621313B1 KR1020050014391A KR20050014391A KR100621313B1 KR 100621313 B1 KR100621313 B1 KR 100621313B1 KR 1020050014391 A KR1020050014391 A KR 1020050014391A KR 20050014391 A KR20050014391 A KR 20050014391A KR 100621313 B1 KR100621313 B1 KR 100621313B1
Authority
KR
South Korea
Prior art keywords
data
queue
server
command
buffering
Prior art date
Application number
KR1020050014391A
Other languages
Korean (ko)
Other versions
KR20060093504A (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 KR1020050014391A priority Critical patent/KR100621313B1/en
Publication of KR20060093504A publication Critical patent/KR20060093504A/en
Application granted granted Critical
Publication of KR100621313B1 publication Critical patent/KR100621313B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Abstract

본 발명은 실시간 전송 프로토콜(RTP,Real-time Transport Protocol), 실시간 스트리밍 프로토콜(RTSP,Real Time Streaming Protocol)를 이용한 주문형비디오(VOD,Video On Demand), 주문형음악(AOD,Audio On Demand) 스트리밍(streaming)에 있어서, 특히 데이터 큐에 위치된 특정지점으로의 빨리감기(FF,Fast Forward)시 스트리밍 서버(Server)와의 메시지 교환 수를 줄여 빨리감기에 걸리는 시간을 줄이는 데이터 버퍼링 장치 및 방법에 관한 것이다.The present invention provides a video on demand (VOD) and audio on demand (AOD) streaming using a real-time transport protocol (RTP), a real time streaming protocol (RTSP). In particular, the present invention relates to a data buffering device and method for reducing the time required for fast forwarding by reducing the number of message exchanges with a streaming server when fast forwarding (FF) to a specific point located in a data queue. .

본 발명에 따른 데이터 버퍼링 방법은, 재생중 빨리감기(FF) 명령이 입력되는 단계; 상기 명령에 따른 해당 데이터가 데이터 큐 내부에 있는지 판단되는 단계; 상기 판단결과, 상기 데이터가 있다면, 현재 재생되고 있는 데이터에서 상기 데이터 전까지의 데이터가 버려지는 단계; 상기 데이터 큐에 기저장 되어있던 데이터중, 가장 나중 시간에 저장되었던 데이터에 연속된 데이터가 상기 버려진 데이터 분량만큼 계속하여 버퍼링 되는 단계; 상기 명령에 따른 해당 데이터가 재생되는 단계; 를 포함하는 것을 특징으로 한다.A data buffering method according to the present invention comprises the steps of: inputting a fast forward (FF) command during playback; Determining whether the corresponding data according to the command is in a data queue; If it is determined that the data exists, discarding the data before the data from the data currently being reproduced; Continuously buffering the data that has been stored at the last time among the data previously stored in the data queue by the discarded data amount; Reproducing corresponding data according to the command; Characterized in that it comprises a.

실시간 전송 프로토콜(RTP), 실시간 스트리밍 프로토콜(RTSP), 버퍼링, 데이터 큐, 서버, 클라이언트 Real-time transport protocol (RTP), real-time streaming protocol (RTSP), buffering, data queue, server, client

Description

데이터 버퍼링 장치 및 방법{Apparatus and method for buffering the data}Apparatus and method for buffering the data}

도 1은 종래 빨리감기(FF) 처리과정을 나타낸 플로우챠트.1 is a flowchart illustrating a conventional fast forward (FF) process.

도 2a 내지 도 2c는 도 1의 종래 빨리감기(FF)처리에 따른 데이터 큐의 변화를 나타낸 도면.2A to 2C are diagrams showing changes in a data queue according to the conventional fast-forwarding (FF) process of FIG.

도 3은 본 발명에 따른 버퍼링 장치를 나타낸 도면.Figure 3 shows a buffering device according to the present invention.

도 4a 내지 도 4b는 본 발명에 따른 버퍼링을 통한 빨리감기(FF)처리에 따른 데이터 큐의 변화를 나타낸 도면.4A to 4B are diagrams illustrating a change in a data queue due to fast-forwarding (FF) processing through buffering according to the present invention.

도 5는 본 발명에 따른 버퍼링 방법을 이용한 빨리감기(FF) 처리과정을 나타낸 플로우챠트.5 is a flowchart illustrating a fast-forwarding (FF) process using a buffering method according to the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

300 : 클라이언트(Client) 302 : 데이터송수신부 304 : 데이터 큐 306 : 디코딩부 308 : 제어부 310 : 처리부300: Client 302: Data transmission and reception unit 304: Data queue 306: Decoding unit 308: Control unit 310: Processing unit

312 : 서버(Server)312 Server

본 발명은 데이터 버퍼링 장치 및 방법에 관한 것이다.The present invention relates to a data buffering apparatus and method.

실시간 전송 프로토콜/실시간 스트리밍 프로토콜(RTP/RTSP, 이하 RTP/RTSP로 표기)은 스트리밍(streaming) 서비스의 표준 프로토콜이다. 여기서 상기 스트리밍이란, 전송받은 데이터를 동시에 재생하는 기술을 말한다.Real-time transport protocol / real-time streaming protocol (hereinafter referred to as RTP / RTSP, RTP / RTSP) is a standard protocol of streaming service. Here, the streaming refers to a technology for simultaneously playing the received data.

RTSP는 TCP/IP를 통해 스트림 컨트롤에 대한 명령을 주고받는 역할을 하는 프로토콜이고, RTP는 UDP를 통해 실제 오디오/비디오 데이터를 받는 프로토콜이다.RTSP is a protocol that sends and receives commands for stream control through TCP / IP, and RTP is a protocol that receives actual audio / video data through UDP.

상기 RTSP, RTP 모두 TCP, UPD프로토콜 위에서 사용될 수 있지만, 대개의 경우 상기 RTSP는 TCP기반에서 이루어지고, RTP는 UPD기반에서 이루어진다. 왜냐하면, 상기 TCP는 서버(Server)와 클라이언트(Client)간의 전송을 보장하는 프로토콜이나 속도가 느리고, UPD는 전송을 보장하지 않는 대신 속도가 빠르기 때문이다.The RTSP and RTP can be used on both TCP and UPD protocols, but in most cases the RTSP is based on TCP and RTP is based on UPD. This is because the TCP is a protocol or a speed that guarantees transmission between a server and a client, and the UPD does not guarantee a transmission, but a speed is fast.

상기와 같은 프로토콜을 이용하여 서버(Server)와 클라이언트(Client)간에 데이터가 교환되는데, 여기서 서버란 데이터 정보를 가지고 있어, 연결이 이루어졌을 때, 그 정보를 클라이언트에게 제공할 수 있는 컴퓨터를 말하고, 클라이언트는 반대로 서버에 접속해서 원하는 정보를 얻는 컴퓨터를 말한다.Data is exchanged between a server and a client by using the above protocol, where a server is a computer that has data information and, when a connection is made, can provide the information to the client. A client, on the other hand, is a computer that connects to 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 is completed, the RTSP message is exchanged with the server, and the audio / video data is transmitted to the client through RTP. . It then buffers and plays the transmitted audio / video data.

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

상기 클라이언트가 스트리밍 중에 빨리감기(FF)나 되감기(REW)를 하게 되면, 상기 서버와 소정의 메세지를 주고받는다.When the client performs fast forward (FF) or rewind (REW) during streaming, the client exchanges a predetermined message with the server.

도 1은 종래 빨리감기(FF) 처리과정을 나타낸 플로우챠트이다.1 is a flowchart illustrating a conventional fast forward (FF) process.

도 1을 참조하면, 클라이언트(Client)측에서 빨리감기(FF)를 수행하면, 서버에 'PAUSE'메세지가 전송된다(S100).Referring to FIG. 1, when a fast forward (FF) is performed on a client side, a 'PAUSE' message is transmitted to a server (S100).

상기 서버가 상기 전송된 메세지를 받은 후, 클라이언트측 제어부는 상기 서버가 상기 메세지를 전송받아 응답(response)이 수락되었는지 판단하여(S102), 상기 응답이 수락되었다면, 클라이언트측 오디오/비디오 데이터 큐(queue)를 비운다(S104).After the server receives the transmitted message, the client side controller determines whether the server receives the message to receive a response (S102), and if the response is accepted, the client-side audio / video data queue ( empty the queue (S104).

상기 큐는 컴퓨터 내의 주기억장치에서 연속적인 공간을 배정하여 데이터를 저장하고 필요시 검색하여 사용할 수 있도록 한 순서 리스트와 같은 자료구조로써, 자료의 삽입은 한쪽 끝에서, 출력은 다른 쪽 끝에서 발생한다.The queue is a data structure like an ordered list that allocates contiguous space in a main memory in a computer so that data can be stored, retrieved and used when needed. Insertion of data occurs at one end and output at the other end. .

단계 104 이후, 클라이언트측 제어부는 서버로 'PLAY'메세지를 전송(S106)한다음, 전송된 메세지를 받은 서버가 응답을 수락하였는지 판단한다(S108).After step 104, the client-side control unit transmits a 'PLAY' message to the server (S106), and then determines whether the server receiving the transmitted message has accepted the response (S108).

상기 판단결과, 단계 102 와 단계 108에서, 각각의 메세지를 받은 서버에서 상기 응답이 수락되지 않으면, 에러(error)처리를 하게 된다(S110).As a result of the determination, in step 102 and step 108, if the response is not accepted in the server receiving each message, an error process is performed (S110).

단계 108에서, 상기 응답이 수락되었다면, 설정된 시간 분량의 오디오/비디오 데이터를 버퍼링(S112)한다음, 그 버퍼링된 오디오/비디오 데이터를 재생시키고(S114) 종료된다.In step 108, if the response is accepted, buffer the set amount of audio / video data (S112), then play the buffered audio / video data (S114) and end.

도 2a 내지 도 2c는 도 1의 종래 빨리감기(FF)처리에 따른 데이터 큐의 변화를 나타낸 도면이다.2A to 2C are diagrams illustrating a change in a data queue according to the conventional fast-forwarding (FF) process of FIG.

도 2a는 빨리감기(FF) 이전에 재생중인 오디오/비디오 데이터 큐를 나타낸 도면이다. 도 2a를 참조하면, 클라이언트측에서 빨리감기(FF) 명령을 하기 전에는 'T'로 표시된 오디오/비디오 데이터가 연속된 공간에 순차적으로 배정되어 있다.FIG. 2A shows an audio / video data queue being played before fast forward (FF). FIG. Referring to FIG. 2A, before the fast forward (FF) command is performed on the client side, audio / video data denoted by 'T' is sequentially allocated in a contiguous space.

각 스트림 데이터에는 재생되어야 할 시간(timestamp)이 정해져 있으며, 정해진 시간에 화면에 디스플레이 되고, 소리로 나간 이후에는 상기 데이터 큐에서 꺼내어져 삭제된다. Each stream data has a timestamp to be reproduced, which is displayed on the screen at a predetermined time, and after being exited by sound, is taken out of the data queue and deleted.

도 2b는 도 1의 단계 100에서 보낸 'PAUSE'메세지에 대한 서버 응답이 수락된 경우, 즉 도 1의 단계 104 에서의 데이터 큐를 나타낸 도면이다. 도 2b를 참조하면, 클라이언트측에서 서버로 보낸 상기 'PAUSE'메세지를 수락하여 오디오/비디오 데이터를 모두 비운 상태를 나타낸 것이다.FIG. 2B is a diagram illustrating a data queue in step 104 of FIG. 1 when the server response to the 'PAUSE' message sent in step 100 of FIG. 1 is accepted. Referring to FIG. 2B, the client side accepts the 'PAUSE' message sent to the server and empties all audio / video data.

즉, 일단 현재 재생되고 있는 스트림 데이터의 전송 중단을 요구하는 'PAUSE'메세지를 서버로 보내고, 이에 대한 응답이 오면 데이터 큐를 비운다.That is, it sends a 'PAUSE' message to the server requesting to stop the transmission of the stream data currently being played, and when the response is received, the data queue is emptied.

도 2c는 빨리감기(FF)에 대한 서버의 응답을 받고 난 후의 오디오/비디오 데이터 큐를 나타낸 도면이다.FIG. 2C illustrates an audio / video data queue after receiving a response from the server for fast forward (FF).

도 2c를 참조하면, 클라이언트측에서 빨리감기(FF)명령을 받은 서버는 원하는 재생시작 시간(t')을 서버에 'PLAY'메세지로 보내고, 이에 대한 응답이 오면 이후에 오는 스트림 데이터는 t'이후의 데이터를 데이터 큐에 넣는다. 재생을 시작하기 전에 분량의 데이터를 버퍼링하고 나서 재생이 시작된다.Referring to FIG. 2C, the server receiving the fast forward (FF) command from the client sends a desired playback start time t 'to the server as a' PLAY 'message. Put the subsequent data on the data queue. The playback starts after buffering the amount of data before starting playback.

그러나, 스트리밍 재생에서 오디오/비디오 데이터의 버퍼링 양은 통상 5초 분량 정도이고, 도 1의 순서로 동작하는 빨리감기(FF)는 2초부터 할 수 있게 되어 있다.However, the amount of buffering of audio / video data in streaming playback is usually about 5 seconds, and fast forward (FF) operating in the order of FIG. 1 can be started from 2 seconds.

다시말해, RTSP, RTP규약 대로 한다면, 2초 앞으로 상기 빨리감기(FF)를 할 경우, 5초 분량 정도 버퍼링 되어 있는 상기 오디오/비디오 데이터를 버리고, 상기 도 1의 과정을 거쳐, 2초 이후부터 5초 분량의 상기 오디오/비디오 데이터를 버퍼링하여 재생을 시작하게 된다. In other words, if the fast-forwarding (FF) is performed 2 seconds forward, the audio / video data buffered for 5 seconds is discarded, and the process of FIG. 1 is performed. The audio / video data of 5 seconds is buffered to start playback.

따라서, 상기 RTSP, RTP규약처럼, 이미 가지고 있는 상기 오디오/비디오 데이터를 이용하지 않고, 모두 재전송하게 되면 RTSP 메시지 교환에 드는 시간과 네트웍 전송량, RTP 데이터를 받는데 드는 시간과 네트웍 전송량이 커지게 되는 문제점이 있다.Therefore, like the RTSP and RTP protocols, if all of the audio / video data is not used and the data is retransmitted, the time required for exchanging RTSP messages, the network transmission amount, the time for receiving RTP data, and the network transmission amount become large. There is this.

또한, 종래의 방법대로 한다면, 2초 앞 부분을 보려던 사용자가 2초 이상 기다리는 일이 발생할 수 있어, 사용자 편의성 측면에서도 문제점이 있다.In addition, if the conventional method is used, a user who waits for two seconds or more to wait two seconds or more may occur, and there is a problem in terms of user convenience.

본 발명의 목적은 실시간 전송 프로토콜(RTP), 실시간 스트리밍 프로토콜(RTSP)을 이용한 주문형비디오(VOD), 주문형음악(AOD) 스트리밍에 있어서, 특히 빨리감기(FF)시 스트리밍 서버(Server)와의 메시지 교환 수를 줄여 빨리감기에 걸리는 시간을 줄여 사용자 편의성을 높이는 데이터 버퍼링 장치 및 방법을 제공함에 있다.An object of the present invention is to exchange messages with a streaming server during fast forwarding (FF), especially in streaming on demand video (VOD) and on demand music (AOD) using real time transport protocol (RTP), real time streaming protocol (RTSP). The present invention provides a data buffering apparatus and method for reducing the number of fast-forwarding times and increasing user convenience.

상기의 목적을 달성하기 위한 본 발명에 따른 데이터 버퍼링 장치는, 서버(Server)와 데이터를 주고받는 데이터송수신부; 상기 데이터송수신부 로부터 전송된 스트림 데이터를 저장하는 데이터 큐(queue); 상기 데이터 큐와 연결되고, 빨리감기(FF)명령 수행시, 상기 데이터 큐 내부에 재생하고자 하는 데이터의 유무를 검색하여, 상기 빨리감기(FF) 명령을 내부적으로 처리할 것인지, 서버와의 교환을 통해 처리할 것인지 판단하는 제어부; 상기 제어부의 판단에 따라 빨리감기(FF) 명령을 내부적으로 또는 서버와의 교환을 통해 처리하는 처리부; 상기 처리부로부터 나온 스트림 데이터를 디코딩하는 디코딩부;를 포함하는 것을 특징으로 한다.Data buffering apparatus according to the present invention for achieving the above object, the data transmission and reception unit for transmitting and receiving data with the server (Server); A data queue for storing stream data transmitted from the data transmission / reception unit; When connected to the data queue and executing a fast forward (FF) command, whether the data to be played back is searched for in the data queue, whether to process the fast forward (FF) command internally, or to exchange with the server. A control unit to determine whether to process through; A processing unit for processing a fast forward (FF) command internally or by exchanging with a server according to a determination of the controller; And a decoding unit for decoding the stream data from the processing unit.

또한, 본 발명에 따른 데이터 버퍼링 방법은, 재생중 특정지점으로의 빨리감기(FF) 명령이 입력되는 단계; 상기 명령에 따른 재생될 데이터가 데이터 큐 내부에 있는지 판단되는 단계; 상기 판단결과, 상기 재생될 데이터가 있다면, 현재 재생되고 있는 데이터에서 상기 재생될 데이터 전까지의 데이터가 버려지는 단계; 상기 데이터 큐에 기저장 되어있던 데이터중, 가장 나중 시간에 저장되었던 데이터에 연속된 데이터가 계속하여 버퍼링 되는 단계; 상기 명령에 따른 재생될 데이터가 재생되는 단계; 를 포함하는 것을 특징으로 한다.In addition, the data buffering method according to the present invention comprises the steps of inputting a fast-forward (FF) command to a specific point during playback; Determining whether data to be reproduced according to the command is in a data queue; If there is data to be reproduced as a result of the determination, discarding data from the data currently being reproduced until the data to be reproduced; Continuously buffering data consecutively stored in the data stored at the latest time among the data previously stored in the data queue; Reproducing data to be reproduced according to the command; Characterized in that it comprises a.

또한, 상기 명령에 따른 재생될 데이터가 데이터 큐 내부에 없다면, 서버와의 데이터 교환을 통해 처리하는 단계를 더 포함하는 것을 특징으로 한다.In addition, if the data to be reproduced according to the command is not in the data queue, further comprising the step of processing through the data exchange with the server.

이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명에 따른 버퍼링 장치를 나타낸 도면이다. 도 3을 참조하면, 본 발명에 따른 버퍼링 장치는 클라이언트(300)측에 데이터 송수신부(302), 데이터 큐(304), 제어부(306), 처리부(308), 디코딩부(310)를 포함하여 구성되고, 서버(312)측과 데이터 교환을 할 수 있다.3 is a view showing a buffering apparatus according to the present invention. Referring to FIG. 3, the buffering apparatus according to the present invention includes a data transceiver 302, a data queue 304, a controller 306, a processor 308, and a decoder 310 on a client 300 side. It is configured and can exchange data with the server 312 side.

상기 버퍼링 장치의 동작을 알아보면, 데이터 송수신부(302)는 서버(Server)(312)와 각종 메세지와 데이터를 주고받으며, 상기 데이터 큐(304)는 상기 데이터 송수신부(302)로 부터 전송된 스트림 데이터를 저장한다.Referring to the operation of the buffering device, the data transmission and reception unit 302 exchanges various messages and data with a server (312), the data queue 304 is transmitted from the data transmission and reception unit 302 Store stream data.

또한, 제어부(306)는 상기 데이터 큐와 연결되어 있으며, 사용자로부터 빨리감기(FF) 명령이 입력되면 상기 데이터 큐 내부에 재생하고자 하는 데이터가 존재하는지 판단한다.In addition, the controller 306 is connected to the data queue, and if a fast forward (FF) command is input from the user, the controller 306 determines whether there is data to be reproduced in the data queue.

상기 판단결과, 상기 데이터 큐(304) 내부에 재생하고자 하는 데이터가 존재하는 경우, 상기 빨리감기 명령을 클라이언트(300)측 시스템 내부적으로 처리되도록 처리부(308)에 신호를 보내며, 만일 상기 데이터 큐(304) 내부에 재생하고자 하는 데이터가 존재하지 않는 경우에는 서버(312)와의 교환을 통해 상기 명령이 처리되도록 처리부(308)에 신호를 보낸다.As a result of the determination, when there is data to be reproduced in the data queue 304, a signal is sent to the processing unit 308 to process the fast forward command internally in the system of the client 300, and if the data queue ( If there is no data to be reproduced inside 304, a signal is sent to the processing unit 308 to process the command through an exchange with the server 312.

상기 제어부(306)의 판단에 따라 상기 처리부(308)는 빨리감기(FF) 명령을 내부적으로 또는 서버와의 교환을 통해 처리된다.In response to the determination of the controller 306, the processor 308 processes the fast-forward (FF) command internally or through an exchange with a server.

그런다음, 상기 처리부(308)와 연결된 디코딩부(310)는 상기 처리부(308)에 의해 처리된 스트림 데이터를 디코딩하게 된다.Then, the decoding unit 310 connected to the processing unit 308 decodes the stream data processed by the processing unit 308.

도 4a 내지 도 4b는 본 발명에 따른 버퍼링을 통한 빨리감기(FF)처리에 따른 데이터 큐의 변화를 나타낸 도면이다.4A to 4B are diagrams illustrating a change in a data queue according to fast-forwarding (FF) processing through buffering according to the present invention.

도 4a는 본 발명에 따른 빨리감기 이전의 오디오/비디오 데이터 큐이며, 도 4a를 참조하면, 't'는 현재 재생중인 시간이고, '△t'는 빨리감기(FF)를 하고자 하는 시간간격이며, 't+h' 는 다시 버퍼링을 계속하여야 할 시간이다.4A is an audio / video data queue before fast forwarding according to the present invention. Referring to FIG. 4A, 't' is a time currently playing and 'Δt' is a time interval for fast forward (FF). , 't + h' is the time to continue buffering again.

즉, 본 발명에 따른 버퍼링 장치의 제어부(306)는 빨리감기(FF)로 '△t' 만큼 앞으로 움직여서 재생시키려 할 때, 이미 버퍼링 되어 있는 스트림 데이터 범위 안에 찾는 데이터가 있는지 판단하여, 찾는 데이터가 있을 경우에는 서버로 메시지를 보내지 않고, '△t' 이전 시간의 데이터만 버리고 't+h' 부터 들어오는 스트림 데이터를 그대로 버퍼링 한다.That is, the controller 306 of the buffering apparatus according to the present invention determines whether there is data to be found in the already-buffered stream data range when the controller 306 moves forward by 'Δt' with fast forward (FF) and finds the data to be found. If there is, it does not send a message to the server, but discards only the data before '△ t' and buffers the stream data from 't + h'.

도 4b는 본 발명에 따른 데이터 큐에 위치된 특정지점으로의 빨리감기 후의 오디오/비디오 데이터 큐이며, 도 4b를 참조하면, 도 4a 의 데이터 큐(304) 상태에서 사용자가 빨리감기(FF)를 하게되면, 상기 이전 시간의 데이터는 버려진다.FIG. 4B is an audio / video data queue after fast forwarding to a specific point located in the data queue according to the present invention. Referring to FIG. 4B, a user fast forwards (FF) in the data queue 304 state of FIG. 4A. Once done, the previous time's data is discarded.

따라서, 정해진 분량의 데이터가 들어가는 상기 데이터 큐(304)는 상기 데이터 큐(304)에 위치된 특정지점으로의 빨리감기(FF)가 끝난 시간인 't+△t' 부터 재생이 시작되며, 't+h'부터는 상기 버려진 '△t'에 해당되는 데이터 분량이 상기 데이터 큐(304)에 채워질 때까지 연속된 데이터 스트림을 계속 버퍼링 하여 재생을 시작하게 된다.Therefore, the data queue 304 into which a predetermined amount of data enters is started from 't + Δt', which is the time when the fast forward (FF) to the specific point located in the data queue 304 is finished, and 't' From + h ', the continuous data stream is continuously buffered and playback starts until the amount of data corresponding to the discarded' Δt 'is filled in the data queue 304.

이때, 만약 비디오 데이터가 Mpeg4 나 H.263, H.264등으로 인코딩 되어 있을 경우에는, 스트림 데이터의 재생되어야 할 시간(timestamp)이 't+△t' 보다 작은 것을 무조건 버린채, 재생하게 되면, 문제가 생길 수 있다.At this time, if the video data is encoded in Mpeg4, H.263, H.264, etc., if the time data of the stream data to be played (timestamp) is less than 't + Δt', it is played unconditionally. Problems can arise.

왜냐하면, 상기 경우에는 어떤 한 프레임의 데이터가 이전 프레임의 변화분만 있을 수 있기 때문인데, 이런 경우에는 완전한 한 프레임을 인코딩한 프레임(I- 프레임)을 찾은 후에 새로운 '△t' 를 구하여 그 이전 데이터를 버려야 한다.This is because, in this case, data of one frame may be only a change of the previous frame. In this case, after finding a frame (I-frame) encoding a complete frame, a new 'Δt' is obtained and the previous data is found. Should be discarded.

따라서, 본 발명에 따른 버퍼링 방법으로 데이터 큐(304)에 위치된 특정지점으로의 빨리감기(FF)를 처리할 경우, 5초 분량의 데이터를 버퍼링하면서 재생 하다가 2초 앞으로 빨리감기(FF)를 할 때, 2초 분량의 데이터만 더 버퍼링 하면 되므로, 약 2초 정도만 기다리면 부드러운 영상을 재생시킬 수 있게 된다.Therefore, when processing the fast forward (FF) to a specific point located in the data queue 304 by the buffering method according to the present invention, while reproducing while buffering the data of 5 seconds, fast forward (FF) 2 seconds forward When you do this, you only need to buffer two seconds of data, so you can wait for about two seconds to play smooth images.

도 5는 본 발명에 따른 버퍼링 방법을 이용한 빨리감기(FF) 처리과정을 나타낸 플로우챠트이다.5 is a flowchart illustrating a fast forward (FF) process using a buffering method according to the present invention.

도 5를 참조하면, 사용자에 의해 빨리감기(FF) 명령이 입력되면(S500), 본 발명에 따른 버퍼링 장치 내에 있는 제어부(306)는 먼저, 현재 데이터 큐(304)에 버퍼링 되어있는 데이터 안에 빨리감기(FF)로 재생하고자 하는 오디오/비디오 데이터가 있는지 판단한다(S502).Referring to FIG. 5, when a fast-forward (FF) command is input by the user (S500), the controller 306 in the buffering apparatus according to the present invention first quickly enters the data currently buffered in the data queue 304. It is determined whether there is audio / video data to be reproduced by winding (FF) (S502).

상기 판단결과, 현재 데이터 큐(304)에 버퍼링 되어있는 데이터 안에 빨리감기(FF)로 재생하고자 하는 오디오/비디오 데이터가 있다면, 연속된 데이터가 저장되어있는 상기 데이터 큐(304)에서 빨리감기(FF)한 시간분량만큼의 데이터를 버린다(S504).As a result of the determination, if there is audio / video data to be reproduced by fast forwarding (FF) in the data currently buffered in the data queue 304, the fast forwarding (FF) in the data queue 304 in which continuous data is stored. In step S504, data for the amount of time is discarded.

그런다음, 상기 데이터 큐(304)에 가장 나중 시간에 저장되었던 데이터에 연속하여, 상기 버려진 시간분량만큼의 데이터를 버퍼링한다(S506).Then, the data is buffered for the amount of time discarded in succession to the data stored at the later time in the data queue 304 (S506).

단계 506이후, 상기 데이터 큐(304)에 재생을 시작할 수 있는 만큼의 데이터가 모이면 재생을 시작하고(S508), 상기 데이터가 모두 재생되면 종료된다.After step 506, when enough data is collected in the data queue 304 to start playback, playback starts (S508) and ends when all of the data is played back.

한편, 단계 502에서 현재 데이터 큐(304)에 버퍼링 되어있는 데이터 안에 빨 리감기(FF)로 재생하고자 하는 오디오/비디오 데이터가 없다면, 도 1의 종래 빨리감기(FF)동작대로 처리가 된다(S510).On the other hand, if there is no audio / video data to be played by fast forward (FF) in the data currently buffered in the data queue 304 in step 502, the process is performed according to the conventional fast forward (FF) operation of FIG. ).

이상 상기와 같은 버퍼링 방법은 빨리감기(FF)시 스트리밍 서버(Server)와의 메시지 교환 수를 줄여 빨리감기에 걸리는 시간을 줄이는 효과가 있으며, 전송받은 데이터를 동시에 재생하는 기술인 스트리밍을 하는 전영역에 적용가능하다.The above buffering method has the effect of reducing the time required for fast forwarding by reducing the number of message exchanges with the streaming server when fast forwarding (FF), and applied to all areas of streaming, a technology for simultaneously playing the received data. It is possible.

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다.Although the present invention has been described with reference to the embodiments illustrated in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible.

따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

본 발명은 실시간 전송 프로토콜(RTP), 실시간 스트리밍 프로토콜(RTSP)을 이용한 주문형비디오(VOD), 주문형음악(AOD) 스트리밍(streaming)에 있어서, 특히 빨리감기(FF)시 스트리밍 서버(Server)와의 메시지 교환 수를 줄여 빨리감기에 걸리는 시간을 줄이는 효과가 있다.The present invention relates to streaming video on demand video (VOD) and streaming music on demand (AOD) using real time transport protocol (RTP), real time streaming protocol (RTSP), especially with fast forwarding (FF) message with streaming server (Server). By reducing the number of exchanges, the time taken to fast forward is reduced.

Claims (6)

서버(Server)와 데이터를 주고받는 데이터송수신부;Data transmission and reception unit for sending and receiving data with the server (Server); 상기 데이터송수신부 로부터 전송된 스트림 데이터를 저장하는 데이터 큐(queue);A data queue for storing stream data transmitted from the data transmission / reception unit; 상기 데이터 큐와 연결되고, 빨리감기(FF)명령 수행시, 상기 데이터 큐 내부에 재생하고자 하는 데이터의 유무를 검색하여, 상기 빨리감기(FF) 명령을 내부적으로 처리할 것인지, 서버와의 교환을 통해 처리할 것인지 판단하는 제어부;When connected to the data queue and executing a fast forward (FF) command, whether the data to be played back is searched for in the data queue, whether to process the fast forward (FF) command internally, or to exchange with the server. A control unit to determine whether to process through; 상기 제어부의 판단에 따라 빨리감기(FF) 명령을 내부적으로 또는 서버와의 교환을 통해 처리하는 처리부;A processing unit for processing a fast forward (FF) command internally or by exchanging with a server according to a determination of the controller; 상기 처리부로부터 나온 스트림 데이터를 디코딩하는 디코딩부;A decoding unit for decoding the stream data from the processing unit; 를 포함하는 것을 특징으로 하는 데이터 버퍼링 장치.Data buffering device comprising a. 재생중 특정지점으로의 빨리감기(FF) 명령이 입력되는 단계;Inputting a fast forward (FF) command to a specific point during playback; 상기 명령에 따른 재생될 데이터가 데이터 큐 내부에 있는지 판단되는 단계;Determining whether data to be reproduced according to the command is in a data queue; 상기 판단결과, 상기 재생될 데이터가 있다면, 현재 재생되고 있는 데이터에서 상기 재생될 데이터 전까지의 데이터가 버려지는 단계;If there is data to be reproduced as a result of the determination, discarding data from the data currently being reproduced until the data to be reproduced; 상기 데이터 큐에 기저장 되어있던 데이터중, 가장 나중 시간에 저장되었던 데이터에 연속된 데이터가 계속하여 버퍼링 되는 단계;Continuously buffering data consecutively stored in the data stored at the latest time among the data previously stored in the data queue; 상기 명령에 따른 재생될 데이터가 재생되는 단계;Reproducing data to be reproduced according to the command; 를 포함하는 것을 특징으로 하는 데이터 버퍼링 방법.Data buffering method comprising a. 제 2항에 있어서,The method of claim 2, 상기 명령에 따른 재생될 데이터가 데이터 큐 내부에 없다면, 서버와의 데이터 교환을 통해 처리하는 단계를 더 포함하는 것을 특징으로 하는 데이터 버퍼링 방법.If the data to be reproduced according to the command is not in a data queue, processing the data through a data exchange with a server. 제 2항에 있어서,The method of claim 2, 상기 특정지점은 데이터 큐에 기저장된 데이터 내에 위치된 지점인 것을 특징으로 하는 데이터 버퍼링 방법.And the specific point is a point located in data previously stored in a data queue. 제 2항에 있어,The method of claim 2, 상기 데이터가 버려지는 단계에서,In the step of discarding the data, 만약 상기 데이터 중 비디오 데이터가 Mpeg4 나 H.263, H.264 을 포함한 형식으로 인코딩 되어 있는 경우에는, 완전한 한 프레임을 인코딩한 프레임(I-프레임)을 찾은 후, 다시 빨리감기에 소요되는 시간을 구하여 그 이전 데이터를 버리는 것을 특징으로 하는 데이터 버퍼링 방법.If the video data is encoded in the format including Mpeg4, H.263, or H.264, the time required to fast forward again after finding the frame (I-frame) that encodes a complete frame. Obtaining and discarding the old data. 제 2항 내지 제 5항 중 어느 한 항에 있어서,The method according to any one of claims 2 to 5, 상기 데이터는 오디오 및 비디오 데이터를 포함하는 것을 특징으로 하는 데 이터 버퍼링 방법.The data comprises audio and video data.
KR1020050014391A 2005-02-22 2005-02-22 Apparatus and method for buffering the data KR100621313B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050014391A KR100621313B1 (en) 2005-02-22 2005-02-22 Apparatus and method for buffering the data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050014391A KR100621313B1 (en) 2005-02-22 2005-02-22 Apparatus and method for buffering the data

Publications (2)

Publication Number Publication Date
KR20060093504A KR20060093504A (en) 2006-08-25
KR100621313B1 true KR100621313B1 (en) 2006-09-13

Family

ID=37601608

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050014391A KR100621313B1 (en) 2005-02-22 2005-02-22 Apparatus and method for buffering the data

Country Status (1)

Country Link
KR (1) KR100621313B1 (en)

Also Published As

Publication number Publication date
KR20060093504A (en) 2006-08-25

Similar Documents

Publication Publication Date Title
US7051110B2 (en) Data reception/playback method and apparatus and data transmission method and apparatus for providing playback control functions
JP4313268B2 (en) A VCR-like feature that renders video on demand
CN106686438B (en) method, device and system for synchronously playing audio images across equipment
US7644172B2 (en) Communicating via a connection between a streaming server and a client without breaking the connection
US20060168291A1 (en) Interactive multichannel data distribution system
KR100848128B1 (en) Method of progressive streaming using a real-time streaming protocol
CN107819809B (en) Method and device for synchronizing content
US20090043908A1 (en) Content playback device, content playback method, computer-readable storage medium, and content playback system
EP2413564B1 (en) Method and apparatus for transmitting and receiving streaming data based on RTSP sessions
TW200820777A (en) System and method of audio/video streaming
JPH0888653A (en) Method and apparatus for transmitting video bit stream
US20040034870A1 (en) Data streaming system and method
KR20070020727A (en) Apparatus and method of using pseudo streaming download with partially progressive download in terminal
JP2010021663A (en) Communication apparatus and communication method
JP2002354032A (en) Device and method for receiving packets
JP4526294B2 (en) STREAM DATA TRANSMITTING DEVICE, RECEIVING DEVICE, RECORDING MEDIUM CONTAINING PROGRAM, AND SYSTEM
JP2001242876A (en) Method and device for receiving and reproducing data and method and device for transmitting data
KR100621313B1 (en) Apparatus and method for buffering the data
CN114079796A (en) Channel switching method, device and system
KR100624854B1 (en) Media-retransmitting device and method
KR101378092B1 (en) Method for searching streaming data skip and device thereof
JP4587780B2 (en) Video playback device
JP4314574B2 (en) Client terminal, streaming server, streaming switching system, and streaming switching method
JP2006285586A (en) Content distribution system, content distribution device, content distribution program, and computer program
KR100991845B1 (en) Method of processing vcr-like operation in vod system

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: 20090619

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee