KR20140067220A - Method and apparatus of transmitting and receiving interactive multi-stream - Google Patents

Method and apparatus of transmitting and receiving interactive multi-stream Download PDF

Info

Publication number
KR20140067220A
KR20140067220A KR1020120134194A KR20120134194A KR20140067220A KR 20140067220 A KR20140067220 A KR 20140067220A KR 1020120134194 A KR1020120134194 A KR 1020120134194A KR 20120134194 A KR20120134194 A KR 20120134194A KR 20140067220 A KR20140067220 A KR 20140067220A
Authority
KR
South Korea
Prior art keywords
stream
client
server
request message
time
Prior art date
Application number
KR1020120134194A
Other languages
Korean (ko)
Other versions
KR102000212B1 (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 KR1020120134194A priority Critical patent/KR102000212B1/en
Publication of KR20140067220A publication Critical patent/KR20140067220A/en
Application granted granted Critical
Publication of KR102000212B1 publication Critical patent/KR102000212B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server

Abstract

The present invention relates to a method and an apparatus for transmitting and receiving a multi-stream in an interactive service, and provides a method for transmitting a second stream in synchronization with a first stream being transmitted by a server, and the method comprises steps of receiving, from a client, a second stream synchronization reproduction request message indicating a request for transmission of the second stream such that the second stream should be synchronized with the first stream and including an identifier of the first stream, checking the first stream corresponding to the second stream based on the identifier, and synchronizing the second stream with the first stream based on a reproduction point of the first stream; and transmitting the second stream to the client, starting from the reproduction point synchronized with the first stream. When multiple streams need to be reproduced in synchronization, the server matches a reproduction point of another stream with reference to any one stream and transmits the other stream to the client, thus, minimizing receiving of unnecessary stream data, a waste of a buffer, and the time for the client to wait for reproducing a stream.

Description

대화형 멀티 스트림의 송수신 방법 및 장치{Method and apparatus of transmitting and receiving interactive multi-stream}TECHNICAL FIELD [0001] The present invention relates to a method and apparatus for transmitting and receiving interactive multi-

본 발명은 대화형 서비스에 있어서 스트림의 송수신 방법 및 장치에 관한 것으로, 보다 상세하게는 멀티스트림을 동기를 맞추어 전송하고, 이를 수신하는 방법 및 장치에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and apparatus for transmitting and receiving streams in an interactive service, and more particularly, to a method and apparatus for synchronously transmitting multistreams and receiving them.

네트워크를 통한 스트리밍 서비스는 보편화 되어 있다. 스트리밍 서비스는 RTSP(Real Time Streaming Protocol)과 같은 스트리밍 프로토콜을 기반하여 제공되며, 사용자는 영상 등에 관한 처음 또는 특정 시점부터의 스트림을 요청하여 시청할 수 있다. Streaming services over a network are commonplace. The streaming service is provided based on a streaming protocol such as RTSP (Real Time Streaming Protocol), and a user can request a stream from a first or a specific point in time regarding a video or the like.

최근에는 다수의 스트림들을 동시에 제공하는 멀티 스트림 서비스가 활성화 되고 있으며, 다수의 스트림들을 연동시켜 서비스를 제공할 수도 있다. 특히 대화형 서비스에서는 하나의 스트림 또는 일부(some)의 스트림들의 재생 중에 사용자의 요청에 의해 다른(another or other) 스트림들을 동기를 맞추어 제공할 필요성이 존재한다. 이 경우 다른 스트림을 재생중인 스트림과 동기를 맞추어 서버에서 전송할 수 있으나, 사용자의 요청에 의해 다른 스트림을 재생중인 스트림과 동기를 맞추어 전송해야 할 경우 상기 RTSP와 같은 기존의 방식에서는 네트워크 지연 시간과 패킷 처리 시간 등을 예상하여 서버측에 전달해야 하고, 예상 값이 정확하지 않은 경우 상기 다른 스트림의 재생이 원활하게 이루어지지 않거나 버퍼가 낭비되는 문제점이 있었다.In recent years, a multi-stream service that simultaneously provides a plurality of streams has been activated, and a plurality of streams can be linked to provide a service. Particularly in an interactive service, there is a need to synchronize different (or other) streams at the request of the user during playback of one stream or some of the streams. In this case, another stream may be transmitted from the server in synchronism with the stream being reproduced. However, when the user requests to transmit another stream in synchronism with the stream being reproduced, in the conventional method such as RTSP, Processing time and the like must be predicted and transmitted to the server side. If the expected value is not correct, there is a problem that the reproduction of the other stream is not performed smoothly or the buffer is wasted.

본 발명의 기술적 과제는 다수의 스트림들을 동기를 맞추어 전송하는 방법 및 장치를 제공함에 있다.SUMMARY OF THE INVENTION The present invention is directed to a method and apparatus for synchronizing multiple streams.

본 발명의 다른 기술적 과제는 대화형 서비스를 구성하는 다수의 스트림 간 동기을 맞추어 전송하는 방법 및 장치를 제공함에 있다.It is another object of the present invention to provide a method and apparatus for synchronizing and transmitting a plurality of streams constituting an interactive service.

본 발명의 또 다른 기술적 과제는 재생중인 스트림과 다른 스트림을 상기 재생중인 스트림과 동기를 맞추어 전송하는 방법 및 장치를 제공함에 있다.Another aspect of the present invention is to provide a method and apparatus for transmitting a stream being reproduced and another stream in synchronization with the stream being reproduced.

본 발명의 일 양태에 따르면, 서버에서 제2 스트림을 전송중인 제1 스트림과 동기를 맞추어 전송하는 방법을 제공한다. 상기 방법은 상기 제2 스트림을 상기 제1 스트림과 동기를 맞추어 전송할 것을 요청함을 나타내고, 상기 제1 스트림의 식별자를 포함하는 제2 스트림 동기 재생 요청 메시지를 클라이언트(client)로부터 수신하는 단계, 상기 식별자를 기반으로 상기 제2 스트림과 대응되는 상기 제1 스트림을 확인하고, 상기 제1 스트림의 재생 시점을 기반으로 상기 제2 스트림을 상기 제1 스트림에 동기를 맞추는 단계, 상기 제2 스트림을 상기 제1 스트림에 동기가 맞춰진 재생 시점부터 상기 클라이언트로 전송하는 단계를 포함함을 특징으로 한다. According to an aspect of the present invention, there is provided a method of synchronizing a second stream with a first stream in a server. The method includes receiving from a client a second stream synchronized playback request message indicating that the second stream is requested to be synchronized with the first stream and including an identifier of the first stream, Identifying the first stream corresponding to the second stream based on the identifier and synchronizing the second stream with the first stream based on the playback point of the first stream; And transmitting to the client from a playback point in time synchronized with the first stream.

본 발명에 따르면, 다수의 스트림을 동기를 맞추어 재생할 필요성이 있는 경우, 서버에서 어느 한 스트림을 참조로 하여 다른 스트림의 재생 시점을 매칭시키고, 클라이언트로 전송할 수 있으므로, 클라이언트는 불필요한 스트림 데이터의 수신, 버퍼의 낭비 및 스트림을 재생하기까지 기다리는 시간을 최소화할 수 있다. According to the present invention, when it is necessary to synchronize a plurality of streams, it is possible for a server to match a reproduction time point of another stream with reference to a stream and transmit the same to a client, It is possible to minimize the waste of the buffer and the waiting time to reproduce the stream.

도 1은 사용자의 요청에 따라 두 개 이상의 스트림들이 동기를 맞추어 재생되어야 하는 서비스의 일 예를 나타낸다.
도 2는 스트리밍 프로토콜인 RTSP(Real Time Streaming Protocol)를 사용하여 연동되는 스트림의 재생을 요청하는 경우 서버-클라이언트 간 시그널링의 일 예를 나타낸다.
도 3은 연동되는 스트림의 재생 요청에 있어 네트워크 딜레이 및 스트림 처리시간 등을 고려한 서버-클라이언트 간 시그널링의 다른 예를 나타낸다.
도 4는 본 발명의 일 예에 따른 제2 스트림을 제1 스트림과 동기를 맞추어 전송하기 위한 서버-클라이언트 간 시그널링 방법을 나타낸다.
도 5는 본 발명의 일 예에 따른 서버에서 다수의 스트림의 동기를 맞추어 전송하기 위한 방법을 나타낸다.
도 6은 본 발명의 일 예에 따른 클라이언트에서 다수의 스트림의 동기를 맞추어 수신하기 위한 방법을 나타낸다.
도 7은 본 발명의 일 예에 따른 다수의 스트림의 동기를 맞추어 전송하고, 이를 수신하는 서버 및 클라이언트를 나타내는 블록도이다.
FIG. 1 shows an example of a service in which two or more streams are synchronized and reproduced according to a user's request.
FIG. 2 shows an example of signaling between a server and a client when requesting playback of an interworking stream using a real time streaming protocol (RTSP) as a streaming protocol.
FIG. 3 shows another example of server-client signaling in consideration of network delay and stream processing time in reproducing requests of interworking streams.
4 illustrates a server-to-client signaling method for synchronizing a second stream according to an exemplary embodiment of the present invention with a first stream.
5 illustrates a method for synchronizing and transmitting a plurality of streams in a server according to an exemplary embodiment of the present invention.
FIG. 6 illustrates a method for synchronously receiving a plurality of streams in a client according to an exemplary embodiment of the present invention.
FIG. 7 is a block diagram illustrating a server and a client for transmitting and synchronizing a plurality of streams according to an exemplary embodiment of the present invention. Referring to FIG.

이하, 본 명세서에서는 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 명세서에서 본 발명의 실시 예들을 설명함에 있어, 관련된 공지의 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that, in adding reference numerals to the constituent elements of the drawings, the same constituent elements are denoted by the same reference symbols as possible even if they are shown in different drawings. In the following description of the embodiments of the present invention, a detailed description of known configurations or functions will be omitted if it is determined that the gist of the present specification may be obscured.

구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결","결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In describing the components, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. When a component is described as being "connected", "coupled", or "connected" to another component, the component may be directly connected or connected to the other component, Quot; may be "connected," "coupled," or "connected. &Quot;

도 1은 사용자의 요청에 따라 두 개 이상의 스트림들이 동기를 맞추어 재생되어야 하는 서비스의 일 예를 나타낸다. 도 1은 기타 연주에 관한 강좌 콘텐츠를 스트리밍 서비스로 제공하는 예이다.FIG. 1 shows an example of a service in which two or more streams are synchronized and reproduced according to a user's request. 1 is an example of providing lecture contents on guitar performance as a streaming service.

도 1을 참조하면, 초기에 기타의 바디(body) 부분에 관한 제1 스트림(101)이 재생되고 있는 도중에, 사용자가 상기 기타의 바디 부분에 관한 제1 스트림(101)에 연동되는 상기 기타의 넥(neck) 부분에 관한 제2 스트림(102)의 재생을 요청하는 경우, 예를 들어 상기 기타의 넥 부분에 관한 제2 스트림(102)의 재생을 요청하는 "넥보기" 버튼(110)을 사용자가 클릭하는 경우, 상기 기타의 넥 부분에 관한 제2 스트림(102)이 상기 제1 스트림(101)과 함께 재생될 수 있다. 이 경우 상기 제2 스트림(102)은 상기 제1 스트림(101)과 동기를 맞추어 재생될 것이 요구된다. Referring to FIG. 1, it can be seen that during the course of a first stream 101 being reproduced initially relative to the other body part, Quot; neck view "button 110 requesting playback of a second stream 102, for example, about the other neck portion, when requesting playback of a second stream 102 about a neck portion If the user clicks, a second stream 102 with respect to the other neck portion may be played along with the first stream 101. In this case, the second stream 102 is required to be reproduced in synchronization with the first stream 101.

도 2는 스트리밍 프로토콜인 RTSP(Real Time Streaming Protocol)를 사용하여 연동되는 스트림의 재생을 요청하는 경우 서버-클라이언트 간 시그널링의 일 예를 나타낸다. 도 2에서는 사용자가 제1 스트림을 시청하다 50초 후 상기 제1 스트림과 연동되는 제2 스트림을 재생 요청하는 것으로 가정하였다. 스트리밍 서비스의 초기 단계에 서버, 클라이언트 간 세션(session)을 셋업(set up)하는 단계가 수행될 수 있으나, 이는 본 발명의 내용에서 벗어나는 사항이므로 생략하였다.FIG. 2 shows an example of signaling between a server and a client when requesting playback of an interworking stream using a real time streaming protocol (RTSP) as a streaming protocol. In FIG. 2, it is assumed that a user requests playback of a second stream interlocked with the first stream 50 seconds after watching the first stream. In the initial stage of the streaming service, a step of setting up a session between the server and the client can be performed, but this is omitted because it is outside the scope of the present invention.

도 2를 참조하면, 클라이언트는 서버에 제1 스트림을 특정 재생 시점, 여기서는 처음부터 전송해 줄 것을 요청하는 제1 스트림 재생 요청 메시지를 전송한다(S200). RTSP를 사용하는 경우 상기 제1 스트림 재생 요청 메시지는 예를 들어 다음과 같은 구문을 포함할 수 있다.Referring to FIG. 2, the client transmits a first stream replay request message requesting the server to transmit the first stream at a specific playback point, here, at step S200. When the RTSP is used, the first stream reproduction request message may include, for example, the following syntax.

PLAY rtsp://example.com/media_1.mp4 RTSP/1.0
CSeq: 4
Range: npt=0-
Session: 12345678
PLAY rtsp: //example.com/media_1.mp4 RTSP / 1.0
CSeq: 4
Range: npt = 0-
Session: 12345678

표 1에서 'PLAY rtsp://example.com/media_1.mp4 RTSP/1.0' 은 클라이언트가 재생을 요청하는 스트림에 대응하는 파일을 나타내며, 여기서는 제1 스트림에 대응하는 파일인 'example.com/media_1.mp4'을 나타낸다. CSeq 필드(field)는 메시지가 전송될 때마다 1씩 증가하는 카운터(counter)로서, 여기서는 예를 들어 4로 가정하였다. Range 필드는 요청한 스트림의 어떤 범위(또는 부분)를 전송할 것인가를 정의한다. Range 필드의 npt(Normap Play Time)가 '0-'이면 관련 스트림의 처음부터 전송함을 의미한다. session 필드는 클라이언트와 서버 간에 스트림을 전송하고 제어하기 위한 세션의 식별자를 나타낸다. In Table 1, 'PLAY rtsp: //example.com/media_1.mp4 RTSP / 1.0' indicates a file corresponding to a stream for which a client requests playback, and in this case, 'example.com/media_1 .mp4 '. The CSeq field is a counter that is incremented by 1 each time a message is transmitted, assuming a value of 4, for example. The Range field defines what range (or portion) of the requested stream to send. If the npt (Normap Play Time) of the Range field is '0-', it means to transmit from the beginning of the related stream. The session field indicates the identifier of the session for transmitting and controlling the stream between the client and the server.

서버는 클라이언트에게 상기 제1 스트림 재생 요청 메시지에 대한 OK(응답) 메시지를 보내고(S210), 서버는 상기 제1 스트림을 처음 재생 시점부터 상기 클라이언트로 전송한다(S220).The server sends an OK response message to the client in step S210, and the server transmits the first stream from the first playback point to the client in step S220.

일정 시간, 여기서는 50초 경과 후 클라이언트는 제2 스트림 재생 요청 메시지를 서버로 전송한다(S230). 이는 사용자가 상기 제1 스트림과 연동되는 상기 제2 스트림의 재생을 요청한 경우, 예를 들어 도 1에서 "넥보기" 버튼을 클릭한 경우,일 수 있다. RTSP를 사용하는 경우 상기 제2 스트림 재생 요청 메시지는 예를 들어 다음과 같은 구문을 포함할 수 있다.After a predetermined time, here, 50 seconds, the client transmits a second stream reproduction request message to the server (S230). This may be the case, for example, when the user has requested playback of the second stream interlocked with the first stream, e.g., clicking the "view neck" button in FIG. If the RTSP is used, the second stream reproduction request message may include, for example, the following syntax.

PLAY rtsp://example.com/media_2.mp4 RTSP/1.0
CSeq: 5
Range: npt=50-
Session: 23456789
PLAY rtsp: //example.com/media_2.mp4 RTSP / 1.0
CSeq: 5
Range: npt = 50-
Session: 23456789

표 2에서 'PLAY rtsp://example.com/media_2.mp4 RTSP/1.0' 은 클라이언트가 재생을 요청하는 스트림을 나타내며, 여기서 'example.com/media_2.mp4'는 상기 제2 스트림에 대응한다. CSeq 필드는 메시지가 전송될 때마다 1씩 증가하는 카운터로서, S200에서 그 값이 4였으므로, S230에서는 그 값이 5가 된다. Range 필드는 요청한 스트림의 어떤 범위(또는 부분)를 전송할 것인가를 정의하며, 여기서는 제2 스트림의 50초 부분부터 전송하는 예를 나타내고 있으므로, Range 필드의 npt가 '50-'이 된다. Session 필드는 클라이언트와 서버 간에 스트림을 전송하고 제어하기 위한 세션의 식별자를 나타낸다. 제2 스트림은 제1 스트림과 독립적으로 제어가 가능한 스트림이므로 제2 스트림에 관한 Session 필드는 상기 표 1의 제1 스트림에 관한 Session 필드와 다른 값을 가질 수 있다. In Table 2, 'PLAY rtsp: //example.com/media_2.mp4 RTSP / 1.0' indicates a stream for which a client requests playback, and 'example.com/media_2.mp4' corresponds to the second stream. The CSeq field is incremented by 1 every time a message is transmitted. Since the value of the CSeq field is 2 in S200, the value of CSeq is 5 in S230. The Range field defines what range (or part) of the requested stream is to be transmitted. In this example, npt of the Range field is '50 - 'since the example is transmitted from the 50 second portion of the second stream. The Session field indicates the identifier of the session for transmitting and controlling the stream between the client and the server. Since the second stream is a stream that can be controlled independently of the first stream, the Session field of the second stream may have a different value from the Session field of the first stream of Table 1.

서버는 클라이언트에 상기 제2 스트림 재생 요청 메시지에 대한 OK 메시지를 보내고(S240), 제2 스트림을 50초 재생 시점부터 전송한다(S250). 그러나 상기와 같은 경우 메시지의 송수신을 위한 네트워크 지연 시간과 스트림을 전송하기 위한 서버의 스트림 처리 시간 등이 소요된다. 따라서 서버가 S250에서 제2 스트림을 50초 재생 시점부터 전송하면, 실제 클라이언트에 제2 스트림이 도착했을 때는 재생 시점이 이미 지나게 된다. 만약 예를 들어 네트워크 지연과 스트림 처리시간 등으로 모두 4초가 걸린다고 가정하면, 서버가 전송하는 50초 재생 시점부터의 제2 스트림이 실제 클라이언트에 도착하는 시간에는 제1 스트림은 54초의 재생 시점에서 재생을 하고 있다. 즉, 클라이언트에서 제1 스트림은 54초에 해당하는 재생 시점에서 재생되고 있는 반면, 제2 스트림은 50초에 해당하는 재생 시점부터 클라이언트로 수신되고 있으므로 두 스트림 간에 재생 시점의 차이가 발생한다. 이 경우 클라이언트는 상기 제2 스트림과 상기 제1 스트림을 바로 동기 맞추어 재생할 수 없고, 제대로 재생 중이던 상기 제1 스트림을 4초간 정지시키고 버퍼링을 한 후, 상기 제2 스트림이 54초 재생 시점에 도달한 후에 상기 제1 스트림과 상기 제2 스트림을 동기를 맞춰 재생할 수 있다.The server sends an OK message for the second stream replay request message to the client (S240) and transmits the second stream from the 50 second replay time (S250). However, in such a case, a network delay time for sending and receiving a message and a stream processing time of a server for transmitting a stream are required. Accordingly, if the server transmits the second stream from the 50-second playback time at S250, the playback time has already passed when the second stream arrives at the actual client. For example, assuming that the network delay and the stream processing time all take four seconds, when the second stream from the 50-second playback time transmitted from the server arrives at the actual client, the first stream is played at the playback time of 54 seconds . That is, since the first stream is reproduced at a playback time corresponding to 54 seconds in the client, while the second stream is received at the client at a playback time corresponding to 50 seconds, a difference in reproduction time occurs between the two streams. In this case, the client can not reproduce the second stream and the first stream in synchronism with each other, and after stopping and buffering the first stream which is being reproduced properly for 4 seconds, The first stream and the second stream can be reproduced in synchronization with each other.

상기와 같은 문제를 해결하기 위한 방안으로 클라이언트에서 서버로 스트림을 요청시 미리 네트워크의 딜레이 및 스트림 처리시간 등을 고려하는 방법이 있다. 도 3은 연동되는 스트림의 재생 요청에 있어 네트워크 딜레이 및 스트림 처리시간 등을 고려한 서버-클라이언트 간 시그널링의 다른 예를 나타낸다. 도 3에서는 사용자가 제1 스트림을 시청하다 50초 후 상기 제1 스트림과 연동되는 제2 스트림을 재생 요청하는 것으로 가정하였다.In order to solve the above problem, there is a method of considering delays of a network and a stream processing time in advance when a stream is requested from a client to a server. FIG. 3 shows another example of server-client signaling in consideration of network delay and stream processing time in reproducing requests of interworking streams. In FIG. 3, it is assumed that a user requests playback of a second stream interlocked with the first stream 50 seconds after watching the first stream.

도 3을 참조하면, 클라이언트는 서버에 제1 스트림을 특정 재생 시점, 여기서는 처음부터 전송해 줄 것을 요청하는 제1 스트림 재생 요청 메시지를 전송한다(S300). RTSP를 사용하는 경우 상기 제1 스트림 재생 요청 메시지는 표 1에서 설명된 구문을 포함할 수 있다. 서버는 클라이언트에게 상기 제1 스트림 재생 요청 메시지에 대한 OK 메시지를 보내고(S310), 서버는 상기 제1 스트림을 처음 재생 시점부터 상기 클라이언트로 전송한다(S320).Referring to FIG. 3, the client transmits a first stream replay request message requesting the server to transmit the first stream to a server at a specific playback point, in this case, from the beginning (S300). In case of using RTSP, the first stream reproduction request message may include the syntax described in Table 1. The server sends an OK message for the first stream reproduction request message to the client in step S310, and the server transmits the first stream from the first reproduction time to the client in step S320.

일정 시간, 여기서는 50초 경과 후 클라이언트는 제2 스트림 재생 요청 메시지를 서버로 전송한다(S330). 상기 제2 스트림 재생 요청 메시지는 네트워크의 딜레이와 스트림 처리시간 등을 감안한 예상지연시간을 반영한 재생 시점을 포함한다. 예를 들어 예상지연시간이 4초인 경우 상기 제2 스트림 재생 요청 메시지는 예를 들어 다음과 같은 구문을 포함할 수 있다.After a predetermined time, here, 50 seconds, the client transmits a second stream reproduction request message to the server (S330). The second stream reproduction request message includes a reproduction time point reflecting a delay time of the network and an estimated delay time considering a stream processing time. For example, if the expected delay time is 4 seconds, the second stream reproduction request message may include, for example, the following syntax.

PLAY rtsp://example.com/media_2.mp4 RTSP/1.0
CSeq: 5
Range: npt=54-
Session: 23456789
PLAY rtsp: //example.com/media_2.mp4 RTSP / 1.0
CSeq: 5
Range: npt = 54-
Session: 23456789

표 3에서 Range 필드는 제2 스트림의 요청 시간 및 예상지연시간을 반영하여 npt 값으로 '54-'를 갖는 경우를 나타낸다.In Table 3, the Range field indicates a case in which the npt value is '54 -', reflecting the request time and the expected delay time of the second stream.

서버는 클라이언트에 상기 제1 스트림 재생 요청 메시지에 대한 OK 메시지를 보내고(S340), 상기 제2 스트림 재생 요청 메시지의 Range 필드를 기반으로 제2 스트림을 상기 요청 시간 및 예상지연시간을 반영한 54초 재생 시점부터 전송한다(S350).The server sends an OK message for the first stream replay request message to the client in step S340 and transmits the second stream to the client in response to the 54 second replay (S350).

하지만, 상기와 같이 네트워크 지연 시간 및 스트림 처리 시간 등을 감안한 예상지연시간을 반영하는 경우에도 네트워크의 지연은 일정할 수 없고, 서버의 스트림 처리 시간도 서버의 성능 등에 좌우되기 때문에 정확한 예상지연시간을 산출할 수 없다. 일 예로, S330에서 클라이언트가 상기 제2 스트림 재생 요청 메시지를 서버로 전송함에 있어, 네트워크 지연 시간과 스트림 처리 시간을 너무 짧게 예상하여 예상 지연 시간을 2초로 판단하고, 상기 제2 스트림의 재생 시점을 52초로 하여(즉, 표 3의 Range 필드의 npt를 '52-'로 설정하여) 재생 요청하는 경우, S350에서 클라이언트가 상기 제2 스트림을 상기 서버로부터 수신하고 재생하는 시점에서의 상기 제1 스트림의 재생 시점은 54초라면, 약 2초간의 차이로 인해 제대로 재생되고 있는 상기 제1 스트림을 2초간 멈추고 버퍼링을 해야 하므로, 재생이 끊기는 현상과 버퍼의 낭비가 발생하는 문제점이 있다. 다른 예로, S330에서 클라이언트가 상기 제2 스트림 재생 요청 메시지를 서버로 전송함에 있어, 네트워크 지연 시간과 스트림 처리 시간을 너무 길게 예상하여 예상 지연 시간을 6초로 판단하고, 상기 제2 스트림의 재생 시점을 56초로 하여(즉, 표 3의 Range 필드의 npt를 '56-'로 설정하여) 재생 요청하는 경우, S350에서 클라이언트가 상기 제2 스트림을 상기 서버로부터 수신하고 재생하는 시점에서의 상기 제1 스트림의 재생 시점은 54초라면, 약 2초간의 상기 제2 스트림에 관한 데이터는 버퍼링 후 상기 제1 스트림의 재생 시점이 56초가 되는 시점부터 상기 제1 스트림과 동기를 맞추어 재생되어야 한다. 즉, 클라이언트가 예상 지연 시간을 보다 길게 예상한 경우, 버퍼의 낭비가 발생할 뿐 아니라, 사용자는 요청한 제2 스트림의 재생까지 더 오랜 시간을 기다려야 하는 문제점이 있다. However, even in the case of reflecting the estimated delay time considering the network delay time and the stream processing time as described above, the delay of the network can not be constant, and since the stream processing time of the server also depends on the performance of the server, Can not be calculated. For example, when the client transmits the second stream reproduction request message to the server in step S330, the network delay time and the stream processing time are estimated to be too short to estimate the expected delay time to be 2 seconds, and the reproduction time point of the second stream 52 seconds (i.e., npt of the Range field of Table 3 is set to '52 -'), the client requests the playback of the first stream at the time when the client receives and reproduces the second stream from the server If the reproduction time point of the first stream is 54 seconds, the first stream being properly reproduced due to the difference of about 2 seconds is stopped for 2 seconds and buffered, so that there is a problem that the reproduction is interrupted and the buffer is wasted. As another example, when the client transmits the second stream reproduction request message to the server in step S330, the network delay time and the stream processing time are estimated to be too long to estimate the expected delay time to be 6 seconds, 56 seconds (i.e., npt of the Range field in Table 3 is set to '56 -'), when the client receives the second stream from the server at S350, The data of the second stream for about 2 seconds should be reproduced in synchronization with the first stream after the reproduction time of the first stream reaches 56 seconds after buffering. That is, when the client expects the expected delay time longer, there is a problem that not only the buffer is wasted but also the user has to wait a longer time until the reproduction of the second stream requested.

이하, 도 2 및 도 3에서 상술한 문제점들을 해결하기 위하여 본 발명에서는 다음과 같은 방법을 제안한다.Hereinafter, in order to solve the above-mentioned problems in FIG. 2 and FIG. 3, the present invention proposes the following method.

도 4는 본 발명의 일 예에 따른 제2 스트림을 제1 스트림과 동기를 맞추어 전송하기 위한 서버-클라이언트 간 시그널링 방법을 나타낸다. 이하, 본 발명에서 서버가 복수의 스트림들의 동기를 맞추어 전송한다 함은 서버가 복수의 스트림들의 대응되는 재생 시점을 맞추어 전송함을 포함할 수 있다. 예를 들어, 본 발명에서 동기를 맞춘다 함은, 만약 제1 스트림의 40초 재생 시점과 제2 스트림이 10초 재생 시점이 대응되는 경우, 상기 제1 스트림의 40+n초의 재생 시점과 상기 제2 스트림의 10+n초의 재생 시점을 맞추는 것도 포함된다. 또한 본 발명에서 재생 시점이라 함은 스트림의 시간적 위치를 나타낼 수 있는 다른 용어(예를 들어, 타임스탬프 등)를 포함할 수 있다. 4 illustrates a server-to-client signaling method for synchronizing a second stream according to an exemplary embodiment of the present invention with a first stream. In the present invention, the server transmits a plurality of streams in synchronization with each other, the server may transmit the streams corresponding to the corresponding playback points of the plurality of streams. For example, synchronizing in the present invention means that if the 40-second playback time of the first stream and the 10-second playback time of the second stream correspond to each other, the playback time of 40 + n- 2 < / RTI > < RTI ID = 0.0 > + n < / RTI > Also, in the present invention, the playback time may include another term (e.g., a time stamp, etc.) that can indicate the temporal position of the stream.

도 4를 참조하면, 클라이언트는 서버에 제1 스트림을 특정 재생 시점, 여기서는 처음,부터 전송해 줄 것을 요청하는 제1 스트림 재생 요청 메시지를 전송한다(S400). RTSP를 사용하는 경우 상기 제1 스트림 재생 요청 메시지는 표 1에서 설명된 구문을 포함할 수 있다. 서버는 클라이언트에게 상기 제1 스트림 재생 요청 메시지에 대한 OK 메시지를 보내고(S410), 서버는 상기 제1 스트림을 처음 재생 시점부터 상기 클라이언트로 전송한다(S420).Referring to FIG. 4, the client transmits a first stream replay request message requesting the server to transmit the first stream from the specific replay point, here, from the beginning (S400). In case of using RTSP, the first stream reproduction request message may include the syntax described in Table 1. The server sends an OK message for the first stream reproduction request message to the client in step S410, and the server transmits the first stream from the first reproduction time to the client in step S420.

(일정 시간 경과 후) 클라이언트는 제2 스트림을 상기 제1 스트림과 동기를 맞추어 전송할 것을 요청하는 제2 스트림 동기 재생 요청 메시지를 서버로 전송한다(S430). 상기 제2 스트림 동기 재생 요청 메시지는 상기 제2 스트림과 대응(또는 연동)되는 상기 제1 스트림의 식별자를 포함한다. 상기 제1 스트림의 식별자는 서버가 상기 제1 스트림을 다른 스트림들과 구분할 수 있는 값으로, 텍스트나 숫자 등이 될 수 있다. The client transmits a second stream synchronous playback request message to the server (S430), requesting that the second stream be synchronized with the first stream. The second stream synchronous reproduction request message includes an identifier of the first stream corresponding to (or interlocking with) the second stream. The identifier of the first stream may be a text, a number, or the like, which is a value that the server can distinguish the first stream from other streams.

상기 제2 스트림 동기 재생 요청 메시지는 일 예로 다음과 같은 구문을 포함할 수 있다.The second stream synchronous reproduction request message may include, for example, the following syntax.

PLAY rtsp://example.com/media_2.mp4 RTSP/1.0
CSeq: 5
Range: synch=rtsp://example.com/media_1.mp4
Session: 23456789
PLAY rtsp: //example.com/media_2.mp4 RTSP / 1.0
CSeq: 5
Range: synch = rtsp: //example.com/media_1.mp4
Session: 23456789

표 4를 참조하면, Range 필드는 싱크(synch) 파라미터를 포함하고, 상기 파라미터 값으로는 상기 제1 스트림의 식별자를 나타낼 수 있다. 이 경우 상기 제2 스트림 동기 재생 요청 메시지는 상기 제2 스트림을 상기 제1 스트림의 재생 시점에 맞추어 전송할 것을 서버에 요청함을 의미할 수 있다.Referring to Table 4, the Range field includes a synch parameter, and the parameter value may indicate an identifier of the first stream. In this case, the second stream synchronous reproduction request message may indicate to the server that the second stream is to be transmitted according to the reproduction time of the first stream.

또한, 상기 제2 스트림 동기 재생 요청 메시지는 다른 예로 다음과 같은 구문을 포함할 수 있다.In addition, the second stream synchronous reproduction request message may include the following syntax as another example.

SYNCPLAY rtsp://example.com/media_2.mp4 example.com/media_1.mp4 RTSP/1.0
CSeq: 5
Session: 23456789
SYNCPLAY rtsp: //example.com/media_2.mp4 example.com/media_1.mp4 RTSP / 1.0
CSeq: 5
Session: 23456789

표 5를 참조하면, 'SYNCPLAY rtsp://example.com/media_2.mp4 example.com/media_1.mp4 RTSP/1.0'에서 'SYNCPLAY'는 한 스트림의 재생 시점을 다른 스트림의 재생 시점에 맞추어 전송할 것을 서버에 요청함을 의미할 수 있고, 'example.com/media_2.mp4'는 전송을 요청하는 제2 스트림을 나타내고, 'example.com/media_1.mp4'는 재생 시점의 참조(reference)가 되는 제1 스트림을 나타낸다.Referring to Table 5, in 'SYNCPLAY rtsp: //example.com/media_2.mp4 example.com/media_1.mp4 RTSP / 1.0', 'SYNCPLAY' means that the playback point of one stream is transmitted according to the playback point of another stream 'Example.com/media_2.mp4' may refer to a second stream requesting transmission, and 'example.com/media_1.mp4' may refer to a request for a playback time reference 1 stream.

상술한 표 4 및 표 5는 본 발명에 따른 제2 스트림 동기 재생 요청 메시지의 예시로서 상기 제2 스트림 동기 재생 요청 메시지는 표 4 및 표 5의 구문에 한정되지 않으며, 서버와 클라이언트 간에 미리 정의된 다른 구문을 포함할 수도 있다. 또한 표 4 및 표 5의 예에서는 RTSP를 이용하는 경우를 기반으로 설명하였으나, 이는 예시로서 본 발명의 범위가 특정 프로토콜을 이용하는 경우로 한정되는 것은 아니다.Table 4 and Table 5 are examples of the second stream synchronous playback request message according to the present invention, and the second stream synchronous playback request message is not limited to the syntax of Tables 4 and 5, It may contain other statements. Also, in the examples of Tables 4 and 5, RTSP is used as an example. However, the present invention is not limited to the case where the scope of the present invention uses a specific protocol.

상기 S430에서 제2 스트림 동기 재생 요청 메시지를 받은 서버는 클라이언트에 상기 제2 스트림 동기 재생 요청 메시지에 대한 OK 메시지를 보내고(S440), 상기 제2 스트림의 재생 시점을 현재 전송중인 상기 제1 스트림의 재생 시점에 동기를 맞추어 상기 제2 스트림을 클라이언트로 전송한다(S450).In step S440, the server receiving the second stream synchronous reproduction request message sends an OK message for the second stream synchronous reproduction request message to the client in step S440. The second stream is synchronized with the reproduction time point and transmitted to the client (S450).

본 발명에 따르면, 제2 스트림의 재생 시점이 제1 스트림의 대응되는 재생 시점에 맞추어 서버에서 클라이언트로 전송되므로, 클라이언트는 불필요한 스트림 데이터의 수신, 버퍼의 낭비 및 스트림을 재생하기까지 기다리는 시간을 최소화할 수 있다. According to the present invention, since the reproduction time point of the second stream is transmitted from the server to the client in accordance with the corresponding reproduction time point of the first stream, the client minimizes the waiting time for receiving unnecessary stream data, wasting the buffer, can do.

도 5는 본 발명의 일 예에 따른 서버에서 다수의 스트림의 동기를 맞추어 전송하기 위한 방법을 나타낸다.5 illustrates a method for synchronizing and transmitting a plurality of streams in a server according to an exemplary embodiment of the present invention.

도 5를 참조하면, 서버는 제1 스트림의 특정 재생 시점(처음 재생 시점을 포함한다. 이하 같다.)부터의 전송을 요청하는 제1 스트림 재생 요청 메시지를 클라이어트로부터 수신한다(S500). 상기 제1 스트림 재생 요청 메시지는 표 1에서 설명된 구문을 포함할 수 있다.5, the server receives a first stream replay request message from the client requesting transmission from a specific replay point (including the first replay point) of the first stream (S500). The first stream reproduction request message may include the syntax described in Table 1.

서버는 상기 제1 스트림 재생 요청 메시지에 대한 OK 메시지를 클라이언트로 전송한다(S510).The server transmits an OK message for the first stream reproduction request message to the client (S510).

서버는 상기 제1 스트림을 상기 제1 스트림의 특정 재생 시점부터 전송한다(S520).The server transmits the first stream from a specific playback point of the first stream (S520).

서버는 상기 제2 스트림을 상기 제1 스트림과 동기를 맞추어 전송할 것을 요청하는 제2 스트림 동기 재생 요청 메시지를 클라이어트로부터 수신한다(S530). 여기서 상기 제2 스트림 동기 재생 요청 메시지는 제1 스트림 식별자를 포함할 수 있다. 상기 제2 스트림 동기 재생 요청 메시지는 상술한 표 4 또는 표 5의 구문을 포함할 수 있다.The server receives from the client a second stream synchronous playback request message requesting to transmit the second stream in synchronism with the first stream (S530). Here, the second stream synchronous reproduction request message may include a first stream identifier. The second stream synchronous reproduction request message may include the syntax of Table 4 or Table 5 described above.

서버는 상기 제2 스트림 동기 재생 요청 메시지에 대한 OK 메시지를 클라이언트로 전송한다(S540).The server transmits an OK message for the second stream synchronous reproduction request message to the client (S540).

서버는 상기 제1 스트림의 재생 시점을 기반으로 상기 제2 스트림을 상기 제1 스트림에 동기를 맞춘다(S550). 서버는 상기 제1 스트림 식별자를 기반으로 상기 제2 스트림과 대응되는 상기 제1 스트림을 확인할 수 있다. The server synchronizes the second stream with the first stream based on the reproduction time of the first stream (S550). The server can identify the first stream corresponding to the second stream based on the first stream identifier.

서버는 상기 제2 스트림을 상기 제1 스트림에 동기가 맞춰진 재생 시점부터 상기 클라이언트로 전송한다(S560).The server transmits the second stream to the client from a playback point in synchronization with the first stream (S560).

도 6은 본 발명의 일 예에 따른 클라이언트에서 다수의 스트림을 수신하기 위한 방법을 나타낸다.Figure 6 illustrates a method for receiving multiple streams in a client in accordance with an example of the present invention.

클라이언트는 제1 스트림의 특정 재생 시점부터의 전송을 요청하는 제1 스트림 재생 요청 메시지를 서버로 전송한다(S600). 상기 제1 스트림 재생 요청 메시지는 표 1에서 설명된 구문을 포함할 수 있다.The client transmits a first stream reproduction request message requesting transmission of the first stream from a specific reproduction time to the server (S600). The first stream reproduction request message may include the syntax described in Table 1.

클라이언트는 상기 제1 스트림 재생 요청 메시지에 대한 OK 메시지를 서버로부터 수신한다(S610).The client receives an OK message for the first stream reproduction request message from the server (S610).

클라이언트는 상기 제1 스트림을 상기 특정 재생 시점부터 수신한다(S620). 클라이언트는 상기 제1 스트림을 상기 특정 재생 시점부터 재생할 수 있다.The client receives the first stream from the specific playback time (S620). The client can reproduce the first stream from the specific reproduction time point.

클라이언트는 상기 제2 스트림을 상기 제1 스트림과 동기를 맞추어 전송할 것을 요청하는 제2 스트림 동기 재생 요청 메시지를 서버로 전송한다(S630). 여기서 상기 제2 스트림 동기 재생 요청 메시지는 제1 스트림의 식별자를 포함할 수 있다. 상기 제2 스트림 동기 재생 요청 메시지는 상술한 표 4 또는 표 5의 구문을 포함할 수 있다.The client transmits a second stream synchronous playback request message to the server, requesting to transmit the second stream synchronized with the first stream (S630). Here, the second stream synchronous reproduction request message may include an identifier of the first stream. The second stream synchronous reproduction request message may include the syntax of Table 4 or Table 5 described above.

클라이언트는 상기 제2 스트림 동기 재생 요청 메시지에 대한 OK 메시지를 서버로부터 수신한다(S640).The client receives an OK message for the second stream synchronization reproduction request message from the server (S640).

클라이언트는 상기 제1 스트림에 동기가 맞추어진 재생 시점부터 전송된 상기 제2 스트림을 상기 서버로부터 수신한다(S650). 클라이언트는 상기 제1 스트림에 동기가 맞추어진 재생 시점부터 전송된 상기 제2 스트림을 수신하여 현재 재생되고 있는 제1 스트림과 동시에 재생할 수 있다. 클라이언트는 필요에 따라 상기 제2 스트림을 상기 제1 스트림과 동기화를 수행하고 동시에 재생할 수도 있다.In operation S650, the client receives the second stream transmitted from the playback point in synchronization with the first stream, from the server. The client can receive the second stream transmitted from the reproduction point synchronized with the first stream and reproduce simultaneously with the first stream currently being reproduced. The client may synchronize and simultaneously play the second stream with the first stream as needed.

도 7은 본 발명의 일 예에 따른 다수의 스트림의 재생 시점을 맞추어 송수신하는 서버 및 클라이언트를 나타내는 블록도이다.FIG. 7 is a block diagram illustrating a server and a client for transmitting and receiving a plurality of streams according to an exemplary embodiment of the present invention.

도 7을 참조하면, 클라이언트(700)는 프로세서부(710), 전송부(720), 수신부(730)를 포함한다.7, the client 700 includes a processor unit 710, a transmitting unit 720, and a receiving unit 730.

프로세서부(710)는 제1 스트림 재생 요청 메시지를 생성한다. 상기 제1 스트림 재생 요청 메시지는 상기 제1 스트림의 특정 재생 시점(또는 재생 범위)에 대한 정보를 포함할 수 있다. 상기 특정 재생 시점이라 함은 처음 재생 시점을 포함할 수 있다. 상기 제1 스트림 재생 요청 메시지는 상술한 표 1의 구문을 포함할 수 있다.The processor unit 710 generates a first stream reproduction request message. The first stream reproduction request message may include information on a specific reproduction point (or a reproduction range) of the first stream. The specific reproduction time may include a first reproduction time. The first stream reproduction request message may include the syntax of Table 1 described above.

또한, 프로세서부(710)는 제2 스트림 동기 재생 요청 메시지를 생성한다. 상기 제2 스트림 동기 재생 요청 메시지는 상기 제2 스트림을 상기 제1 스트림과 동기를 맞추어 전송할 것을 요청하는 메시지이다. 상기 제2 스트림 동기 재생 요청 메시지는 제1 스트림의 식별자를 포함할 수 있다. 상기 제2 스트림 동기 재생 요청 메시지는 상술한 표 4 또는 표 5의 구문을 포함할 수 있다.In addition, the processor unit 710 generates a second stream synchronous reproduction request message. The second stream synchronous reproduction request message is a message requesting to transmit the second stream in synchronization with the first stream. The second stream synchronous reproduction request message may include an identifier of the first stream. The second stream synchronous reproduction request message may include the syntax of Table 4 or Table 5 described above.

전송부(720)는 상기 제1 스트림 재생 요청 메시지를 서버(750)로 전송한다. 또한, 전송부(720)는 상기 제2 스트림 동기 재생 요청 메시지를 서버(750)로 전송한다. The transmission unit 720 transmits the first stream reproduction request message to the server 750. In addition, the transmitter 720 transmits the second stream synchronous reproduction request message to the server 750. [

수신부(730)는 제1 스트림 재생 요청 메시지에 대한 OK 메시지를 서버(750)로부터 수신한다. 수신부(730)는 상기 제1 스트림을 기지국으로부터 수신한다. 이 경우 수신부(730)는 상기 제1 스트림을 상기 특정 재생 시점부터 서버(750)로부터 수신할 수 있다. The receiving unit 730 receives an OK message for the first stream reproduction request message from the server 750. The receiving unit 730 receives the first stream from the base station. In this case, the receiving unit 730 may receive the first stream from the server 750 at the specific playback time.

또한, 수신부(730)는 제2 스트림 동기 재생 요청 메시지에 대한 OK 메시지를 서버(750)로부터 수신한다. 수신부(730)는 상기 제2 스트림을 기지국으로부터 수신한다. 이 경우 수신부(730)는 상기 제1 스트림에 동기가 맞추어진 재생 시점부터 전송된 상기 제2 스트림을 서버(750)로부터 수신할 수 있다.Also, the receiver 730 receives an OK message for the second stream synchronous reproduction request message from the server 750. The receiving unit 730 receives the second stream from the base station. In this case, the receiving unit 730 can receive the second stream transmitted from the playback point in time synchronized with the first stream, from the server 750. [

서버(750)는 프로세서부(760), 수신부(770), 전송부(780)을 포함한다. The server 750 includes a processor unit 760, a receiving unit 770, and a transmitting unit 780.

수신부(770)는 클라이언트(700)로부터 상기 제1 스트림 재생 요청 메시지를 수신한다. 상기 제1 스트림 재생 요청 메시지는 상술한 표 1의 구문을 포함할 수 있다.The receiving unit 770 receives the first stream reproduction request message from the client 700. The first stream reproduction request message may include the syntax of Table 1 described above.

수신부(770)는 클라이언트(700)로부터 상기 제2 스트림 동기 재생 요청 메시지를 수신한다. 상기 제2 스트림 동기 재생 요청 메시지는 상기 제2 스트림을 상기 제1 스트림과 동기를 맞추어 전송할 것을 요청하는 메시지이다. 상기 제2 스트림 동기 재생 요청 메시지는 제1 스트림 식별자를 포함할 수 있다. 상기 제2 스트림 동기 재생 요청 메시지는 상술한 표 4 또는 표 5의 구문을 포함할 수 있다.The receiving unit 770 receives the second stream synchronous reproduction request message from the client 700. The second stream synchronous reproduction request message is a message requesting to transmit the second stream in synchronization with the first stream. The second stream synchronous reproduction request message may include a first stream identifier. The second stream synchronous reproduction request message may include the syntax of Table 4 or Table 5 described above.

프로세서부(760)는 수신부(770)가 수신한 제1 스트림 재생 요청 메시지를 해석하고, 상기 제1 스트림 재생 요청 메시지에 대한 OK 메시지를 생성할 수 있고, 상기 제1 스트림을 생성할 수 있다. 이 경우 프로세서부(760)는 상기 제1 스트림을 특정 재생 시점부터 전송부(780)를 통하여 클라이언트(700)로 전송할 수 있다.The processor 760 may interpret the first stream reproduction request message received by the receiver 770, generate an OK message for the first stream reproduction request message, and generate the first stream. In this case, the processor unit 760 may transmit the first stream to the client 700 through the transmitting unit 780 from a specific playback time.

프로세서부(760)는 수신부(770)가 수신한 제2 스트림 동기 재생 요청 메시지를 해석하고, 상기 제2 스트림 재생 요청 메시지에 대한 OK 메시지를 생성할 수 있고, 상기 제2 스트림을 생성할 수 있다. 이 경우 프로세서부(760)는 상기 제1 스트림의 재생 시점을 기반으로 상기 제2 스트림을 상기 제2 스트림에 동기를 맞추고, 상기 제 2 스트림을 상기 제1 스트림에 동기가 맞춰진 재생 시점부터 전송부(780)을 통하여 클라이언트(700)로 전송할 수 있다. 예를 들어 프로세서부(760)는 상기 제1 스트림의 재생 시점을 참조로 하여 상기 제2 스트림의 대응되는 재생 시점을 상기 제1 스트림의 재생 시점에 매칭시키고, 상기 제2 스트림을 상기 제1 스트림의 재생 시점에 매칭된 재생 시점부터 전송부(780)를 통하여 클라이언트(700)로 전송할 수 있다. The processor unit 760 may interpret the second stream synchronous reproduction request message received by the receiver 770, generate an OK message for the second stream reproduction request message, and generate the second stream . In this case, the processor unit 760 synchronizes the second stream with the second stream on the basis of the reproduction time point of the first stream, and transmits the second stream from the reproduction point in synchronization with the first stream, To the client 700 via the Internet 780. For example, the processor unit 760 may match the reproduction time point of the second stream to the reproduction time point of the first stream with reference to the reproduction time point of the first stream, To the client 700 via the transmission unit 780 from the playback point of time matched with the playback point of time.

전송부(780)는 상기 제1 스트림 재생 요청 메시지에 대한 OK 메시지를 클라이언트(700)로 전송한다. 전송부(780)는 상기 제1 스트림을 특정 재생 시점부터 클라이언트(700)로 전송할 수 있다. The transmitting unit 780 transmits an OK message for the first stream reproduction request message to the client 700. The transmitting unit 780 may transmit the first stream to the client 700 from a specific playback time.

전송부(780)는 상기 제2 스트림 동기 재생 요청 메시지에 대한 OK 메시지를 클라이언트(700)로 전송한다. 전송부(780)는 상기 제2 스트림을 상기 제1 스트림에 동기가 맞춰진 재생 시점부터 클라이언트(700)로 전송할 수 있다.The transmitting unit 780 transmits an OK message for the second stream synchronous reproduction request message to the client 700. [ The transmitting unit 780 may transmit the second stream to the client 700 from a playback point in time synchronized with the first stream.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas falling within the scope of the same shall be construed as falling within the scope of the present invention.

Claims (1)

서버에서 제2 스트림을 전송중인 제1 스트림과 동기를 맞추어 전송하는 방법으로,
상기 제2 스트림을 상기 제1 스트림과 동기를 맞추어 전송할 것을 요청함을 나타내고, 상기 제1 스트림의 식별자를 포함하는 제2 스트림 동기 재생 요청 메시지를 클라이언트(client)로부터 수신하는 단계;
상기 식별자를 기반으로 상기 제2 스트림과 대응되는 상기 제1 스트림을 확인하고, 상기 제1 스트림의 재생 시점을 기반으로 상기 제2 스트림을 상기 제1 스트림에 동기를 맞추는 단계;
상기 제2 스트림을 상기 제1 스트림에 동기가 맞춰진 재생 시점부터 상기 클라이언트로 전송하는 단계를 포함함을 특징으로 하는, 전송 방법.
A method for transmitting a second stream in synchronization with a first stream in a server,
Receiving a second stream synchronous reproduction request message from a client indicating that the second stream is requested to be synchronized with the first stream and including an identifier of the first stream;
Identifying the first stream corresponding to the second stream based on the identifier and synchronizing the second stream with the first stream based on the playback point of the first stream;
And transmitting the second stream from the playback point in time synchronized with the first stream to the client.
KR1020120134194A 2012-11-26 2012-11-26 Method and apparatus of transmitting and receiving interactive multi-stream KR102000212B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120134194A KR102000212B1 (en) 2012-11-26 2012-11-26 Method and apparatus of transmitting and receiving interactive multi-stream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120134194A KR102000212B1 (en) 2012-11-26 2012-11-26 Method and apparatus of transmitting and receiving interactive multi-stream

Publications (2)

Publication Number Publication Date
KR20140067220A true KR20140067220A (en) 2014-06-05
KR102000212B1 KR102000212B1 (en) 2019-07-15

Family

ID=51123504

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120134194A KR102000212B1 (en) 2012-11-26 2012-11-26 Method and apparatus of transmitting and receiving interactive multi-stream

Country Status (1)

Country Link
KR (1) KR102000212B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100984694B1 (en) * 2005-11-08 2010-10-01 노키아 코포레이션 System and method for providing feedback and forward transmission for remote interaction in rich media applications
KR20120007763A (en) * 2010-07-15 2012-01-25 에스케이플래닛 주식회사 Method and system for servicing relay broadcast for athletics

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100984694B1 (en) * 2005-11-08 2010-10-01 노키아 코포레이션 System and method for providing feedback and forward transmission for remote interaction in rich media applications
KR20120007763A (en) * 2010-07-15 2012-01-25 에스케이플래닛 주식회사 Method and system for servicing relay broadcast for athletics

Also Published As

Publication number Publication date
KR102000212B1 (en) 2019-07-15

Similar Documents

Publication Publication Date Title
US20220303599A1 (en) Synchronizing Program Presentation
CN101809906B (en) Synchronizing related data streams in interconnection networks
US10575042B2 (en) Media content synchronization
EP2832109B1 (en) Marker-based inter-destination media synchronization
EP2391086B1 (en) Method and apparatus for playing live content
US11838450B2 (en) Devices, systems and processes for facilitating watch parties
US8737804B2 (en) System for delayed video viewing
EP2141690A2 (en) Generating a stream comprising synchronized content
CN105453580A (en) Reception method, transmission method, reception device, and transmission device
JP2012520648A (en) Modified stream synchronization
Van Deventer et al. Standards for multi-stream and multi-device media synchronization
CN105723723A (en) Correlating timeline information between media streams
EP2891323B1 (en) Rendering time control
EP3571848A1 (en) Content streaming system and method
EP3930234A1 (en) Improved adaptive bit rate streaming of live content
KR102566550B1 (en) Method of display playback synchronization of digital contents in multiple connected devices and apparatus using the same
JP2007104193A (en) Video distribution system, video distribution method, and video synchronization sharing apparatus
JP5183591B2 (en) Synchronous playback method, other playback terminal selection area video playback method, synchronized playback stop method, synchronized playback system and program
JP5394307B2 (en) Synchronized playback system, synchronized playback method, and synchronized playback program
US20170180769A1 (en) Simultaneous experience of media
JP2009081654A (en) Stream synchronous reproduction system and method
EP2479984A1 (en) Device and method for synchronizing content received from different sources
KR102000212B1 (en) Method and apparatus of transmitting and receiving interactive multi-stream
KR20190118002A (en) Multivision System and method for synchronization
JP2006157278A (en) Information distribution system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant