KR100621313B1 - Apparatus and method for buffering the data - Google Patents
Apparatus and method for buffering the data Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-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
도 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
상기 버퍼링 장치의 동작을 알아보면, 데이터 송수신부(302)는 서버(Server)(312)와 각종 메세지와 데이터를 주고받으며, 상기 데이터 큐(304)는 상기 데이터 송수신부(302)로 부터 전송된 스트림 데이터를 저장한다.Referring to the operation of the buffering device, the data transmission and
또한, 제어부(306)는 상기 데이터 큐와 연결되어 있으며, 사용자로부터 빨리감기(FF) 명령이 입력되면 상기 데이터 큐 내부에 재생하고자 하는 데이터가 존재하는지 판단한다.In addition, the
상기 판단결과, 상기 데이터 큐(304) 내부에 재생하고자 하는 데이터가 존재하는 경우, 상기 빨리감기 명령을 클라이언트(300)측 시스템 내부적으로 처리되도록 처리부(308)에 신호를 보내며, 만일 상기 데이터 큐(304) 내부에 재생하고자 하는 데이터가 존재하지 않는 경우에는 서버(312)와의 교환을 통해 상기 명령이 처리되도록 처리부(308)에 신호를 보낸다.As a result of the determination, when there is data to be reproduced in the
상기 제어부(306)의 판단에 따라 상기 처리부(308)는 빨리감기(FF) 명령을 내부적으로 또는 서버와의 교환을 통해 처리된다.In response to the determination of the
그런다음, 상기 처리부(308)와 연결된 디코딩부(310)는 상기 처리부(308)에 의해 처리된 스트림 데이터를 디코딩하게 된다.Then, the
도 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
도 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
따라서, 정해진 분량의 데이터가 들어가는 상기 데이터 큐(304)는 상기 데이터 큐(304)에 위치된 특정지점으로의 빨리감기(FF)가 끝난 시간인 't+△t' 부터 재생이 시작되며, 't+h'부터는 상기 버려진 '△t'에 해당되는 데이터 분량이 상기 데이터 큐(304)에 채워질 때까지 연속된 데이터 스트림을 계속 버퍼링 하여 재생을 시작하게 된다.Therefore, the
이때, 만약 비디오 데이터가 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
도 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
상기 판단결과, 현재 데이터 큐(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
그런다음, 상기 데이터 큐(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
한편, 단계 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
이상 상기와 같은 버퍼링 방법은 빨리감기(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)
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) |
-
2005
- 2005-02-22 KR KR1020050014391A patent/KR100621313B1/en not_active IP Right Cessation
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 |