KR101934200B1 - Method and system for media synchronization - Google Patents

Method and system for media synchronization Download PDF

Info

Publication number
KR101934200B1
KR101934200B1 KR1020170081223A KR20170081223A KR101934200B1 KR 101934200 B1 KR101934200 B1 KR 101934200B1 KR 1020170081223 A KR1020170081223 A KR 1020170081223A KR 20170081223 A KR20170081223 A KR 20170081223A KR 101934200 B1 KR101934200 B1 KR 101934200B1
Authority
KR
South Korea
Prior art keywords
information
synchronization
time
stream
source
Prior art date
Application number
KR1020170081223A
Other languages
Korean (ko)
Other versions
KR20180090719A (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 US15/662,986 priority Critical patent/US10341672B2/en
Publication of KR20180090719A publication Critical patent/KR20180090719A/en
Application granted granted Critical
Publication of KR101934200B1 publication Critical patent/KR101934200B1/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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

미디어 동기화 방법 및 시스템이 개시된다. 미디어 동기화 방법은, 스트림 소스(stream source) 정보를 수집하는 단계, 스트림 소스(stream source) 간의 지연 테스트(delay test)를 수행하여 스트림 소스 간의 네트워크 지연 정보를 생성하는 단계, 수집된 상기 스트림 소스 정보와 상기 네트워크 지연 정보에 기초하여 특정 채널에 해당하는 스트림 소스의 동기 정보를 설정하는 단계, 상기 스트림 소스를 전송받고자 하는 적어도 하나의 사용자 단말과의 네트워크 지연(delay)를 측정하는 단계, 및 측정된 상기 네트워크 지연에 기초하여 상기 동기 정보를 업데이트하는 단계를 포함할 수 있다.A media synchronization method and system are disclosed. The media synchronization method includes the steps of collecting stream source information, performing a delay test between stream sources to generate network delay information between the stream sources, Establishing synchronization information of a stream source corresponding to a specific channel based on the network delay information, measuring a network delay with at least one user terminal to which the stream source is to be transmitted, And updating the synchronization information based on the network delay.

Figure R1020170081223
Figure R1020170081223

Description

미디어 동기화 방법 및 시스템{METHOD AND SYSTEM FOR MEDIA SYNCHRONIZATION}[0001] METHOD AND SYSTEM FOR SYNCHRONIZATION [

아래의 설명은 방송 환경에서 다양한 콘텐츠 소스(content source)를 사용자단말로 실시간으로 제공함에 있어서, 제공되는 스트림을 동기화하여 제공하는 미디어 동기화 방법 및 시스템에 관한 것이다.The following description relates to a media synchronization method and system for synchronously providing a provided stream in providing a variety of content sources to a user terminal in a broadcast environment in real time.

방송 환경이 고도화되고 다변화됨에 따라, 액션 캠, 드론 캠 등 다양한 형태의 미디어 소스들을 기반으로 하나의 이벤트에 대한 다수의 미디어 스트림이 생성되어 사용자 단말로 제공된다.As the broadcasting environment becomes more sophisticated and diversified, a plurality of media streams for one event are generated based on various types of media sources such as action cams and drone cams, and are provided to user terminals.

도 1은 다양한 형태의 미디어 스트림 소스가 사용자 단말로 제공되는 네트워크 구성을 도시한 도면이다.1 is a diagram illustrating a network configuration in which various types of media stream sources are provided to a user terminal.

도 1의 110을 참고하면, 촬영 대상(101)을 복수의 드론 캠(drone camera)에서 촬영할 수도 있고, 적어도 하나의 드론 캠과 액션 캠 등에서 촬영 대상(101)을 촬영할 수 있다. 그리고, 각 장치에서 촬영된 영상에 해당하는 미디어 스트림이 서버를 통해 사용자 단말로 제공된다. 1, reference numeral 110 in FIG. 1 can be used to photograph an object 101 to be shot with a plurality of drone cameras, or to photograph an object 101 with at least one dron cam and an action cam. A media stream corresponding to the image captured by each device is provided to the user terminal through the server.

도 1의 120을 참고하면, VR(Virtual Reality) 환경에서, VR 기어(Gear)는 고품질 콘텐츠 제공을 위해 파노라믹 콘텐츠를 24개 수준의 타일들(tiles)로 제공하는 연구가 진행되고 있다. 이때, VR 기어(Gear)는 사용자의 시선에 해당하는 멀티 타일의 영역에 대해 정확한 동기화를 제공해야 한다. Referring to FIG. 1, in a VR (Virtual Reality) environment, a VR gear (Gear) is being studied to provide panoramic contents as tiles of 24 levels for providing high quality contents. At this time, the VR gear (Gear) must provide accurate synchronization for the area of the multi-tile corresponding to the user's line of sight.

그러나, 드론 캠, 액션 캠 등과 같이 동일한 촬영 대상(101)을 촬영하는 촬영 장치들이 서로 다름에 따라, 장치 별 H/W 특성, 각 장치의 코덱(codec) 특성에 따른 지연(delay)가 발생하고, 서버에서 스트림 소스(stream source)를 복수의 사용자 단말들로 제공하는 과정에서 시간차(즉, 지연)이 발생한다. 즉, 복수의 촬영 장치들 각각에 해당하는 소스 간의 시간차(즉, 지연)와 복수의 사용자 단말들로 스트림 소스를 제공하는 과정에서 개별 전달 구간에서 시간차(즉, 지연)가 발생한다. 이에 따라, 사용자 단말에서 각각의 스트림 소스를 PIP(Picture in Picture), 다시점 보기 등 여러 응용 형태로 시정하고자 하는 경우, 복수의 스트림 소스 간의 동기화가 필요하다. PIP, 다시점 보기 이외에VR 환경의 경우에서도, 사용자의 시선에 해당하는 복수의 타일들에 대한 시간차가 발생하므로, 동기화가 필요하다. 예컨대, 도 1의 120에서, 사용자의 시선에 해당하는 6개의 타일들(121)에 대한 동기화가 필요하다.However, as the photographing devices for photographing the same photographing target 101 are different from each other, such as a drone cam, an action cam, etc., a delay occurs depending on the H / W characteristics of each device and the codec characteristics of each device , A time difference (i.e., delay) occurs in the process of providing a stream source to a plurality of user terminals in the server. That is, a time difference (i.e., a delay) between sources corresponding to each of the plurality of photographing apparatuses and a time difference (i.e., a delay) occurs in individual transmission sections in the process of providing a stream source to a plurality of user terminals. Accordingly, when a user wants to correct each stream source into various application forms such as PIP (Picture in Picture) and multi-view, synchronization between a plurality of stream sources is required. In the VR environment other than the PIP and the multi-viewpoint, there is a time difference between a plurality of tiles corresponding to the user's line of sight, so synchronization is required. For example, at 120 in FIG. 1, synchronization is required for six tiles 121 corresponding to the user's gaze.

한국공개특허 제10-2006-0105449호는 다시점 영상의 스케일러블 부호화, 복호화 및 장치에 관한 것으로, 복수개의 카메라로부터 입력되는 영상들에 대해 공간적-시간적으로 필터링하여 공간적-시간적 스케일러빌리티(scalability)를 지원함으로써, 동시에 한 개체 혹은 한 장면에 대해 촬영된 카메라의 위치에 따른 여러 장면을 사용자에게 제공하는 구성을 개시하고 있다.Korean Patent Laid-Open No. 10-2006-0105449 relates to a scalable encoding and decoding apparatus for multi-view video, and more particularly, to a system and method for spatial-temporal scalability by filtering spatially- To provide various scenes to the user at the same time according to the position of the camera photographed for one object or one scene at the same time.

일 실시예에 따른 미디어 동기화 방법 및 시스템은 서로 다른 종류의 복수의 촬영 장치들(예컨대, 액션 캠, 드론 캠 등) 각각에서 동일한 촬영 대상(예컨대, 객체 또는 장면)을 촬영하여 사용자 단말로 제공하는 경우에, 촬영 장치 별 하드웨어적 특성 차이, 코덱 특성 차이로 인한 지연, 그리고 복수의 촬영 장치들 각각에서 생성된 스트림 소스들을 복수의 사용자 단말들로 제공하는 과정에서 발생하는 지연을 고려하여 미디어 동기화를 수행하기 위한 것이다.The method and system for synchronizing media according to an exemplary embodiment may include the steps of photographing the same object (e.g., an object or a scene) in each of a plurality of photographing apparatuses (e.g., action cams, drone cams, The media synchronization may be performed in consideration of the difference in the hardware characteristics of each photographing apparatus, the delay due to the difference in codec characteristics, and the delay occurring in the process of providing the stream sources generated from each of the plurality of photographing apparatuses to a plurality of user terminals. .

미디어 동기화 방법은, 스트림 소스(stream source) 정보를 수집하는 단계, 스트림 소스(stream source) 간의 지연 테스트(delay test)를 수행하여 스트림 소스 간의 네트워크 지연 정보를 생성하는 단계, 수집된 상기 스트림 소스 정보와 상기 네트워크 지연 정보에 기초하여 특정 채널에 해당하는 스트림 소스의 동기 정보를 설정하는 단계, 상기 스트림 소스를 전송받고자 하는 적어도 하나의 사용자 단말과의 네트워크 지연(delay)를 측정하는 단계, 및 측정된 상기 네트워크 지연에 기초하여 상기 동기 정보를 업데이트하는 단계를 포함할 수 있다.The media synchronization method includes the steps of collecting stream source information, performing a delay test between stream sources to generate network delay information between the stream sources, Establishing synchronization information of a stream source corresponding to a specific channel based on the network delay information, measuring a network delay with at least one user terminal to which the stream source is to be transmitted, And updating the synchronization information based on the network delay.

일측면에 따르면, 상기 사용자 단말의 시간 정보(Time Clock)에 기초하여 사용자 단말과의 시간 동기화를 수행하는 단계를 더 포함할 수 있다.According to an aspect of the present invention, the method may further include performing time synchronization with a user terminal based on time information of the user terminal.

다른 측면에 따르면, 상기 사용자 단말과의 시간 동기화를 수행하는 단계는, 복수의 사용자 단말에서 상기 스트림 소스의 제공을 요청한 경우, 상기 복수의 사용자 단말들 각각으로 해당 단말의 시간 정보(Time clock)를 요청하는 단계, 상기 시간 정보 요청에 대한 응답으로, 상기 복수의 사용자 단말들 각각으로부터 해당 단말의 시간 정보를 수신하는 단계, 및 수신된 시간 정보에 기초하여 복수의 사용자 단말들 간의 시간 동기화를 수행하는 단계를 포함할 수 있다.According to another aspect of the present invention, the step of performing time synchronization with the user terminal comprises: when requesting the provision of the stream source from a plurality of user terminals, transmitting time information of the terminal to each of the plurality of user terminals Receiving time information of the corresponding terminal from each of the plurality of user terminals in response to the time information request, and performing time synchronization between the plurality of user terminals based on the received time information Step < / RTI >

또 다른 측면에 따르면, 상기 수신된 시간 정보에 기초하여 복수의 사용자 단말들 간의 시간 동기화를 수행하는 단계는, 상기 해당 단말의 시간 정보와 해당 단말의 식별자 정보에 기초하여 공통 타임 스탬프(common time stamp, CTS)를 생성하는 단계, 및 생성된 상기 공통 타임 스탬프(CTS)를 삽입한 스트림(stream)을 상기 복수의 사용자 단말들 각각으로 제공하는 단계를 포함할 수 있다.According to another aspect of the present invention, performing time synchronization between a plurality of user terminals based on the received time information includes generating a common time stamp based on the time information of the corresponding terminal and the identifier information of the corresponding terminal , CTS), and providing a stream in which the generated common timestamp (CTS) is inserted, to each of the plurality of user terminals.

또 다른 측면에 따르면, 상기 사용자 단말과의 시간 동기화를 수행하는 단계는, 상기 사용자 단말의 시간 정보(Time Clock)에 기초하여 미디어 동기화 시스템과 상기 사용자 단말 간의 시간 정보를 생성하는 단계, 생성된 시간 정보에 기초하여 동기화된 시각을 포함하는 공통 타임 스탬프(common time stamp, CTS)를 생성하는 단계, 및 생성된 공통 타임 스탬프(CTS)를 상기 사용자 단말로 전송하고자 하는 서로 다른 채널에 해당하는 각 스트림에 삽입하여 전송하는 단계를 포함할 수 있다.According to another aspect, performing the time synchronization with the user terminal comprises generating time information between the media synchronization system and the user terminal based on time information of the user terminal, Generating a common time stamp (CTS) including a synchronized time based on the information and generating a common time stamp (CTS) for each stream corresponding to different channels to be transmitted to the user terminal And transmitting the data.

또 다른 측면에 따르면, 상기 공통 타임 스탬프(CTS)가 삽입된 스트림은, 상기 공통 타임 스탬프에 기초하여 디코딩 시간을 맞추어 재생될 수 있다.According to another aspect, the stream into which the common time stamp (CTS) is inserted can be reproduced in accordance with the decoding time based on the common time stamp.

또 다른 측면에 따르면, 상기 스트림 소스(stream source) 정보를 수집하는 단계는, 상기 스트림 소스를 제공하는 소스 장치로부터 소스 장치의 디바이스 프로파일(device profile) 정보 또는 메니페스트(Manifest) 정보를 수집할 수 있다.According to another aspect, collecting the stream source information may collect device profile information or manifest information of the source device from the source device providing the stream source. have.

또 다른 측면에 따르면, 상기 스트림 소스의 동기 정보를 설정하는 단계는, 복수의 스트림 소스들을 사용자 단말로 제공하는 경우, 상기 복수의 스트림 소스를 어셋(asset) 형태로 엮은 후 복수의 스트림 소스들 간의 동기화 여부를 판단하는 단계, 및 판단 결과에 기초하여 상기 복수의 스트림 소스들 각각의 동기 정보를 설정함으로써 소스 간 동기화를 수행하는 단계를 포함할 수 있다.According to another aspect of the present invention, the step of setting the synchronization information of the stream source includes: when a plurality of stream sources are provided to a user terminal, the plurality of stream sources are arranged in an asset form, Determining synchronization, and performing synchronization between sources by setting synchronization information of each of the plurality of stream sources based on a determination result.

또 다른 측면에 따르면, 상기 사용자 단말과의 시간 동기화를 수행하는 단계는, 소스 장치로부터 전달 받은 상기 스트림 소스와 상기 사용자 단말로 전달하고자 하는 스트림 간의 시간 차이를 보정하는 단계를 포함할 수 있다.According to another aspect, performing the time synchronization with the user terminal may include correcting a time difference between the stream source transmitted from the source apparatus and a stream to be transmitted to the user terminal.

또 다른 측면에 따르면, 상기 정보를 수집하는 단계는, 상기 사용자 단말과 네트워크를 형성하는 소스 장치 및 상기 사용자 단말로부터 지연 정보를 수집하고, 상기 사용자 단말과의 시간 동기화를 수행하는 단계는, 수집된 상기 지연 정보를 기반으로 사용자 단말들 간의 동기화 기능이 오프(off)되도록 제어할 수 있다.According to another aspect, collecting the information comprises collecting delay information from the source device and the user terminal forming a network with the user terminal, and performing time synchronization with the user terminal, And to control the synchronization function between user terminals to be off based on the delay information.

미디어 동기화 시스템은, 스트림 소스(stream source) 정보를 수집하는 정보 수집부, 스트림 소스(stream source) 간의 지연 테스트(delay test)를 수행하여 스트림 소스 간의 네트워크 지연 정보를 생성하는 지연 정보 생성부, 수집된 상기 스트림 소스 정보와 상기 네트워크 지연 정보에 기초하여 특정 채널에 해당하는 스트림 소스의 동기 정보를 설정하는 동기 정보 설정부, 상기 스트림 소스를 전송받고자 하는 적어도 하나의 사용자 단말과의 네트워크 지연(delay)를 측정하는 지연 측정부, 및 측정된 상기 네트워크 지연에 기초하여 상기 동기 정보를 업데이트하는 동기 정보 업데이트부를 포함할 수 있다.The media synchronization system includes an information collecting unit for collecting stream source information, a delay information generating unit for generating network delay information between stream sources by performing a delay test between a stream source, A synchronization information setting unit for setting synchronization information of a stream source corresponding to a specific channel on the basis of the stream source information and the network delay information, a network delay with a user terminal to which the stream source is to be transmitted, And a synchronization information updating unit for updating the synchronization information based on the measured network delay.

일측면에 따르면, 상기 사용자 단말의 시간 정보(Time Clock)에 기초하여 사용자 단말과의 시간 동기화를 수행하는 단말 동기화부를 더 포함할 수 있다.According to an aspect of the present invention, the apparatus may further include a terminal synchronization unit for performing time synchronization with the user terminal based on time information of the user terminal.

다른 측면에 따르면, 상기 단말 동기화부는, 복수의 사용자 단말에서 상기 스트림 소스의 제공을 요청한 경우, 상기 복수의 사용자 단말들 각각으로 해당 단말의 시간 정보(Time clock)를 요청하고, 상기 시간 정보 요청에 대한 응답으로, 상기 복수의 사용자 단말들 각각으로부터 해당 단말의 시간 정보를 수신하고, 수신된 시간 정보에 기초하여 복수의 사용자 단말들 간의 시간 동기화를 수행할 수 있다.According to another aspect, in a case where a plurality of user terminals request to provide the stream source, the terminal synchronization unit requests a time clock of the corresponding terminal to each of the plurality of user terminals, In response to receiving the time information of the corresponding terminal from each of the plurality of user terminals, time synchronization between the plurality of user terminals may be performed based on the received time information.

또 다른 측면에 따르면, 상기 단말 동기화부는, 상기 해당 단말의 시간 정보와 해당 단말의 식별자 정보에 기초하여 공통 타임 스탬프(common time stamp, CTS)를 생성하고, 생성된 상기 공통 타임 스탬프(CTS)를 삽입한 스트림(stream)을 상기 복수의 사용자 단말들 각각으로 제공할 수 있다.According to another aspect, the terminal synchronization unit generates a common time stamp (CTS) based on the time information of the corresponding terminal and the identifier information of the corresponding terminal, and transmits the generated common time stamp (CTS) And may provide an inserted stream to each of the plurality of user terminals.

또 다른 측면에 따르면, 상기 단말 동기화부는, 상기 사용자 단말의 시간 정보(Time Clock)에 기초하여 미디어 동기화 시스템과 상기 사용자 단말 간의 시간 정보를 생성하고, 생성된 시간 정보에 기초하여 동기화된 시각을 포함하는 공통 타임 스탬프(common time stamp, CTS)를 생성하고, 생성된 공통 타임 스탬프(CTS)를 상기 사용자 단말로 전송하고자 하는 서로 다른 채널에 해당하는 각 스트림에 삽입하여 전송할 수 있다.According to another aspect of the present invention, the terminal synchronization unit generates time information between the media synchronization system and the user terminal based on time information of the user terminal, and includes a synchronized time based on the generated time information (CTS) to the user terminal, and inserts the generated common time stamp (CTS) into each stream corresponding to a different channel to be transmitted to the user terminal, and transmits the inserted common time stamp (CTS).

또 다른 측면에 따르면, 상기 공통 타임 스탬프(CTS)가 삽입된 스트림은, 상기 공통 타임 스탬프에 기초하여 디코딩 시간을 맞추어 재생될 수 있다.According to another aspect, the stream into which the common time stamp (CTS) is inserted can be reproduced in accordance with the decoding time based on the common time stamp.

또 다른 측면에 따르면, 상기 정보 수집부는, 상기 스트림 소스를 제공하는 소스 장치로부터 소스 장치의 디바이스 프로파일(device profile) 정보 또는 메니페스트(Manifest) 정보를 수집할 수 있다.According to another aspect, the information collecting unit may collect device profile information or manifest information of the source apparatus from the source apparatus that provides the stream source.

또 다른 측면에 따르면, 상기 동기 정보 설정부는, 복수의 스트림 소스들을 사용자 단말로 제공하는 경우, 상기 복수의 스트림 소스를 어셋(asset) 형태로 엮은 후 복수의 스트림 소스들 간의 동기화 여부를 판단하고, 판단 결과에 기초하여 상기 복수의 스트림 소스들 각각의 동기 정보를 설정함으로써 소스 간 동기화를 수행할 수 있다.According to another aspect of the present invention, when providing a plurality of stream sources to a user terminal, the synchronization information setting unit determines the synchronization between a plurality of stream sources after binding the plurality of stream sources into an asset form, Source synchronization can be performed by setting synchronization information of each of the plurality of stream sources based on the determination result.

사용자 단말에서의 미디어 동기화 방법은, 스트림 소스(stream source)를 제공하는 서버로 단말의 시간 정보(Time clock)를 제공하는 단계, 및 제공된 상기 시간 정보에 기초하여 동기화된 시각을 포함하는 공통 타임 스탬프(common time stamp, CTS)에 기초하여 상기 서버로부터 상기 스트림 소스를 제공받는 다른 사용자 단말 또는 복수의 스트림 소스들 간의 디코딩 시간을 동기화하는 단계를 포함할 수 있다.A media synchronization method in a user terminal includes providing a time clock of a terminal to a server providing a stream source and generating a common time stamp including a synchronized time based on the provided time information and synchronizing the decoding time between another user terminal or a plurality of stream sources that are provided with the stream source from the server based on a common time stamp (CTS).

일측면에 따르면, 상기 공통 타임 스탬프(CTS)는, 상기 단말의 시간 정보에 기초하여 상기 서버에서 생성된 상기 서버와 단말 간의 동기화된 시각을 포함하고, 상기 동기화하는 단계는, 상기 서버와 단말 간의 동기화된 시각을 포함하는 상기 공통 타임 스탬프(CTS)에 기초하여 상기 복수의 스트림 소스들 간의 디코딩 시간을 동기화할 수 있다.According to an aspect of the present invention, the common time stamp (CTS) includes a synchronized time between the server and the terminal generated in the server based on time information of the terminal, And synchronize the decoding time between the plurality of stream sources based on the common time stamp (CTS) including the synchronized time.

다른 측면에 따르면, 상기 공통 타임 스탬프(CTS)는, 복수의 사용자 단말들 각각의 시간 정보(Time Clock)에 기초하여 상기 서버에서 생성된 단말들 간의 동기화된 시각을 포함하고, 상기 동기화하는 단계는, 상기 단말들 간의 동기화된 시각을 포함하는 상기 공통 타임 스탬프(CTS)에 기초하여 상기 스트림 소스를 제공받는 다른 사용자 단말과 동기를 맞출 수 있다.According to another aspect, the common time stamp (CTS) includes a synchronized time between terminals generated in the server based on time information of each of a plurality of user terminals, , And synchronize with other user terminals provided with the stream source based on the common time stamp (CTS) including the synchronized time between the terminals.

미디어 동기화를 수행하는 사용자 단말은, 스트림 소스(stream source)를 제공하는 서버로 단말의 시간 정보(Time clock)를 제공하는 시간 정보 제공부, 및 제공된 상기 시간 정보에 기초하여 동기화된 시각을 포함하는 공통 타임 스탬프(common time stamp, CTS)에 기초하여 상기 서버로부터 상기 스트림 소스를 제공받는 다른 사용자 단말 또는 복수의 스트림 소스들 간의 디코딩 시간을 동기화하는 동기화부를 포함할 수 있다.A user terminal performing media synchronization includes a time information providing unit for providing a time clock of a terminal to a server providing a stream source and a time synchronizing unit for generating a time synchronization information including time synchronized based on the provided time information And a synchronization unit for synchronizing a decoding time between another user terminal or a plurality of stream sources that are provided with the stream source from the server based on a common time stamp (CTS).

일 실시예에 따른 미디어 동기화 방법 및 시스템은 서로 다른 종류의 복수의 촬영 장치들(예컨대, 액션 캠, 드론 캠 등) 각각에서 동일한 촬영 대상(예컨대, 객체 또는 장면)을 촬영하여 사용자 단말로 제공하는 경우에, 촬영 장치 별 하드웨어적 특성 차이, 코덱 특성 차이로 인한 지연, 그리고 복수의 촬영 장치들 각각에서 생성된 스트림 소스들을 복수의 사용자 단말들로 제공하는 과정에서 발생하는 지연을 고려하여 미디어 동기화를 수행함으로써, PIP, 다시점 보기 등을 사용자 단말에서 선택한 경우, 동일 촬영 대상에 대해 동기가 맞춰진 스트림 소스를 사용자 단말로 제공할 수 있다. The method and system for synchronizing media according to an exemplary embodiment may include the steps of photographing the same object (e.g., an object or a scene) in each of a plurality of photographing apparatuses (e.g., action cams, drone cams, The media synchronization may be performed in consideration of the difference in the hardware characteristics of each photographing apparatus, the delay due to the difference in codec characteristics, and the delay occurring in the process of providing the stream sources generated from each of the plurality of photographing apparatuses to a plurality of user terminals. A stream source synchronized with the same shooting target can be provided to the user terminal when the user terminal selects the PIP, multi-view point, or the like.

또한, PIP, 다시점 보기 이외에 VR 환경에서 미디어를 동기화하는 경우, 사용자의 시선에 해당하는 복수개의 타일들에 대해 보다 정확하게 동기가 맞춰진 타일들을 제공할 수 있다. In addition, when the media is synchronized in the VR environment in addition to the PIP and the multi-viewpoint, more precisely synchronized tiles can be provided for a plurality of tiles corresponding to the user's line of sight.

도 1은 다양한 형태의 미디어 스트림 소스가 사용자 단말로 제공되는 네트워크 구성을 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 스트림 소스를 제공하는 네트워크 환경을 도시한 도면이다.
도 3은 본 발명의 일실시예에 있어서, 멀티 소스 스트림을 동기화하는 네트워크 환경을 도시한 도면이다.
도 4는 본 발명의 일실시예에 있어서, 미디어 동기화 방법의 동작을 도시한 흐름도이다.
도 5는 본 발명의 일실시예에 있어서, 미디어 동기화 시스템의 내부 구성을 도시한 블록도이다.
도 6은 본 발명의 일실시예에 있어서, 복수의 사용자 단말들 간의 지연(delay)을 제어하는 동작을 도시한 흐름도이다.
도 7은 본 발명의 일실시예에 있어서, 동일 서버에서 복수의 스트림 소스를 하나의 사용자 단말로 제공하는 네트워크 환경을 도시한 도면이다.
도 8은 본 발명의 일실시예에 있어서, 사용자 단말에서 미디어 동기화를 수행하는 동작을 도시한 흐름도이다.
도 9는 본 발명의 일실시예에 있어서, 사용자 단말의 내부 구성을 도시한 블록도이다.
도 10은 본 발명의 일실시예에 있어서, 소스 간의 동기화 및 네트워크 상의 동기화를 수행하는 전반적인 흐름을 도시한 도면이다.
도 11은 본 발명의 일실시예에 있어서, 동기화 기능을 모듈화한 네트워크 환경을 도시한 도면이다.
도 12는 시간 동기화를 수행한 실험 결과를 나타내는 화면 구성을 도시한 도면이다.
1 is a diagram illustrating a network configuration in which various types of media stream sources are provided to a user terminal.
2 is a diagram illustrating a network environment providing stream sources in one embodiment of the present invention.
3 is a diagram illustrating a network environment for synchronizing a multi-source stream in one embodiment of the present invention.
4 is a flow chart illustrating the operation of the media synchronization method in one embodiment of the present invention.
5 is a block diagram illustrating an internal configuration of a media synchronization system in an embodiment of the present invention.
6 is a flowchart illustrating an operation for controlling delay between a plurality of user terminals, according to an embodiment of the present invention.
7 is a diagram illustrating a network environment in which a plurality of stream sources are provided to one user terminal in the same server according to an embodiment of the present invention.
8 is a flowchart illustrating an operation of performing media synchronization in a user terminal, according to an embodiment of the present invention.
9 is a block diagram illustrating an internal configuration of a user terminal according to an embodiment of the present invention.
10 is a diagram showing an overall flow of performing synchronization between sources and synchronization on a network in an embodiment of the present invention.
11 is a diagram illustrating a network environment in which a synchronization function is modularized according to an embodiment of the present invention.
12 is a diagram showing a screen configuration showing the result of an experiment in which time synchronization is performed.

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

본 실시예들은, 복수개의 서로 다른 촬영 장치들에서 촬영된 영상을 서버에서 사용자 단말로 제공하는 경우에 복수의 촬영 장치들에서 각각에서 촬영된 스트림 소스(stream source) 간의 지연(delay)을 고려하여 소스 간 시간 동기를 맞추고, 서버에서 복수의 사용자 단말들로 상기 스트림 소스를 제공 시 서버와 각 단말 간의 개별 구간에서 발생하는 지연(delay)을 고려하여 미디어 동기화를 수행하는 기술에 관한 것으로서, 특히, 다시점 보기, PIP(Picture In Picture) 등과 같이 동일 스트림 내에서 멀티 채널 형태의 서비스가 제공되는 경우에 각각에 대한 미디어 동기화를 수행하는 기술에 관한 것이다. 다시 말해, 스트림 소스(즉, 미디어 소스)가 촬영 장치들 각각에서 개별적으로 생성되는 과정에서 각각의 코덱 특성, 장치 별 H/W 특성으로 인한 지연(delay), 그리고 IP 전송 방식의 특성 상 스트림 소스를 패킷화(packetizing)함에 따라 스트림 소스가 분할(segmentation)되어 사용자 단말로 전송되는 과정에서 사용자 단말에서는 디패킷화(de-packetizing)를 통해 스트림 소스를 복원하는 과정에서 발생하는 지연(delay)을 고려하여 미디어를 동기화하는 기술에 관한 것이다. 또한, VR(Virtual Reality)의 경우, 사용자의 FoV(Field of View)에 따라 24개의 콘텐츠 스트리밍 채널에 실시간 접속 및 해제를 반복해야 하는데, 실시간 접속 및 해제를 반복 시 각각의 소스에 대한 동기를 유지하도록 하는 기술에 관한 것이다.In the present embodiments, when an image photographed in a plurality of different photographing apparatuses is provided from a server to a user terminal, a delay between stream sources photographed in each of the plurality of photographing apparatuses is considered The present invention relates to a technique of synchronizing media synchronization in consideration of a delay occurring in a separate section between a server and each terminal when the server provides the stream source to a plurality of user terminals. A multi-channel type service is provided in the same stream, such as multi-view, multi-view, PIP (Picture In Picture), and the like. In other words, in the course of separately generating a stream source (i.e., a media source) in each of the photographing apparatuses, a delay due to each codec property, a H / W characteristic for each device, Packetization of the stream source is performed so that a delay occurring in the process of restoring the stream source through de-packetizing in the user terminal during the segmentation of the stream source and transmission to the user terminal To synchronize media. In addition, in the case of VR (Virtual Reality), it is necessary to repeatedly access and release the 24 content streaming channels in real time according to the user's FoV (Field of View). However, .

본 실시예들에서, '시간 동기화'는 타임 스탬프(Time Stamp) 수준의 동기화, 디바이스 타임(device time, 즉, 단말의 시간 정보(Time clock)) 수준의 동기화, 네트워크 상의 시간 동기화를 포함할 수 있다.In the present embodiments, 'time synchronization' may include synchronization of a time stamp level, synchronization of a device time (i.e., time clock of a terminal) level, time synchronization on a network have.

본 실시예들에서, '미디어 동기화 시스템'은 사용자 단말로 스트림 소스(즉, 미디어 소스)를 제공하는 서버를 나타낼 수 있다. 그리고, '사용자 단말'은 IP TV, VR(Virtual Reality) 장치, PC, 스마트폰(smartphone), 태블릿(tablet) 등을 나타낼 수 있다.In these embodiments, the 'media synchronization system' may represent a server that provides a stream source (i.e., media source) to a user terminal. The 'user terminal' may represent an IP TV, a VR (Virtual Reality) device, a PC, a smartphone, a tablet, and the like.

도 2는 본 발명의 일실시예에 있어서, 스트림 소스를 제공하는 네트워크 환경을 도시한 도면이다.2 is a diagram illustrating a network environment providing stream sources in one embodiment of the present invention.

도 2에 따르면, 네트워크(200)는 복수의 미디어 캡쳐 장치(210), 각 캡쳐 장치(210)에 설치된 부호화 장치(220), 스트림 업로더(230), 미디어 동기화 시스템(240), 및 적어도 하나의 사용자 단말(250)을 포함할 수 있다.2, the network 200 includes a plurality of media capture devices 210, an encoding device 220 installed in each capture device 210, a stream uploader 230, a media synchronization system 240, The user terminal 250 of FIG.

도 2에서는 미디어 캡쳐 장치(210), 부호화 장치(220) 및 스트림 업로더(230)는 하나의 시스템 또는 장치로 구현될 수도 있고, 미디어 캡쳐 장치(210), 부호화 장치(220), 스트림 업로더(230) 및 미디어 동기화 시스템(240)이 하나의 시스템 또는 장치로 구성될 수도 있다.2, the media capture device 210, the encoding device 220, and the stream uploader 230 may be implemented as a single system or device, and the media capture device 210, the encoding device 220, The media synchronization system 230 and the media synchronization system 240 may be composed of one system or device.

미디어 캡쳐 장치(210)는 드론 캠, 액션 캠, 방송국 촬영 카메라, 마이크 등의 장치로서, 촬영 대상(예컨대, 동일 오브젝트, 또는 동일 화면)을 촬영하여 생성된 오디오 신호 또는 영상 신호를 부호화 장치(220)로 전달할 수 있다.The media capture device 210 is a device such as a drone cam, an action cam, a broadcast station camera, a microphone, and the like. The media capture device 210 captures an audio signal or a video signal generated by capturing an object (e.g., the same object or the same screen) ). ≪ / RTI >

부호화 장치(220)는 미디어 캡쳐 장치(210)에서 생성 또는 캡쳐(capture)된 신호에 대해 부호화를 수행하는 장치로서, 미디어 캡쳐 장치(210)에 S/W적으로 설치된 코덱(codec)에 해당할 수 있다. 예컨대, MPEG-2, H.264 등의 비디오 코덱 및 오디오 코덱에 해당할 수 있다 The encoding device 220 is a device that performs encoding on a signal generated or captured by the media capture device 210. The encoding device 220 encodes the signal generated by the media capture device 210 into a codec . For example, it may correspond to a video codec and an audio codec such as MPEG-2 and H.264

스트림 업로더(230)는 부호화 장치(220)에서 부호화된 스트림 소스(즉, 기본 스트림, ES)를 서버인 미디어 동기화 시스템(240)으로 업로드(upload)할 수 있다. 예를 들어, 스트림 업로더(230)는 어플리케이션(application) 형태로 구현되어 미디어 캡쳐 장치(210)에 설치 및 실행될 수 있다. 예컨대, 미디어 캡쳐 장치(210)는 상기 어플리케이션을 통해 부호화 장치(220)에서 부호화되어 생성된 기본 스트림(Element Stream, ES)을 서버인 미디어 동기화 시스템(240)으로 업로드(upload)할 수 있다.The stream uploader 230 may upload the stream source (i.e., the elementary stream, ES) encoded by the encoding apparatus 220 to the media synchronization system 240, which is a server. For example, the stream uploader 230 may be implemented as an application and installed and executed in the media capture device 210. For example, the media capture device 210 can upload an element stream (ES) generated by encoding in the encoding device 220 to the media synchronization system 240, which is a server, through the application.

미디어 동기화 시스템(240)은 복수의 미디어 캡쳐 장치들에 해당하는 기본 스트림(ES)을 대상으로 패킷화(packetizing)를 수행하고, 패킷화된 스트림을 사용자 단말(250)로 제공할 수 있다. 이때, 미디어 동기화 시스템(240)은 타임 스탬프(timestamp) 수준의 동기화, 디바이스 타임(device time) 수준의 동기화, 및 미디어 동기화 시스템(240)에서 사용자 단말(250)로 패킷화된 스트림을 제공 시 네트워크 지연을 고려한 네트워크 상의 시간 동기화를 수행할 수 있다.The media synchronization system 240 may perform packetizing on an elementary stream (ES) corresponding to a plurality of media capture devices and provide the packetized stream to the user terminal 250. At this time, the media synchronization system 240 may synchronize timestamp level, device time level synchronization, and streaming to the user terminal 250 in the media synchronization system 240, It is possible to perform time synchronization on the network in consideration of delay.

도 3은 본 발명의 일실시예에 있어서, 멀티 소스 스트림을 동기화하는 네트워크 환경을 도시한 도면이다.3 is a diagram illustrating a network environment for synchronizing a multi-source stream in one embodiment of the present invention.

도 3에 따르면, 네트워크(300)는 소스 장치(310), 서버(320) 및 사용자 단말(330)을 포함할 수 있으며, 서버(320)는 도 2의 미디어 동기화 시스템(230)에 해당하고, 사용자 단말(330)은 도 2의 사용자 단말(250)에 해당할 수 있다. 그리고, 소스 장치(310)는 도 2의 미디어 캡쳐 장치(210), 부호화 장치(220) 및 스트림 업로더(230) 전체 또는 일부에 해당할 수 있다.3, the network 300 may include a source device 310, a server 320 and a user terminal 330. The server 320 corresponds to the media synchronization system 230 of FIG. 2, The user terminal 330 may correspond to the user terminal 250 of FIG. The source device 310 may correspond to all or a part of the media capture device 210, the encoding device 220, and the stream uploader 230 of FIG.

예를 들어, 소스 장치(310)는 도 2의 미디어 캡쳐 장치(210), 부호화 장치(220) 및 스트림 업로더(230)를 모두 포함할 수도 있고, 미디어 캡쳐 장치(210), 부호화 장치(220)와는 별도로 연결되고, 스트림 업로더(230)만을 포함할 수도 있다.For example, the source device 310 may include both the media capture device 210, the encoding device 220, and the stream uploader 230 of FIG. 2, and may include the media capture device 210, the encoding device 220 , And may include only the stream uploader 230. [

소스 장치(310)는 소스 동기화 관리부(source sync. Manager)를 포함할 수 있으며, 소스 동기화 관리부는 소스 클럭 동기화 관리부(source clock sync. Manager) 및 소스 클럭 생성부(source clock generator)를 포함할 수 있다.The source device 310 may include a source synchronization manager and the source synchronization manager may include a source clock sync manager and a source clock generator. have.

소스 동기화 관리부(source sync. Manager)는 소스 장치(310) 상에서 서버(320)의 동기화 관리부(server sync. manager)와 연동하여 시간 동기를 맞추는 역할을 수행할 수 있다. 그리고, 소스 동기화 관리부(source sync. Manager)는 OS(Operating System)의 시간 정보(time clock)를 핸들링(handling)할 수 있으며, 핸들링을 위해 어플리케이션 또는 클럭 디바이스 컨트롤러(clock device controller) 형태로 구현될 수 있다. 소스 동기화 관리부(source sync. Manager)는 시간, 코덱, 프레임율(frame rate) 등의 정보를 직접 설정할 수 있다.The source synchronization manager may synchronize time synchronization with the server synchronization manager of the server 320 on the source device 310. The source synchronization manager may handle a time clock of an operating system and may be implemented in the form of an application or a clock device controller for handling . The source synchronization manager (Source Sync Manager) can directly set information such as time, codec, and frame rate.

소스 클럭 동기화 관리부(source clock sync. Manager)는 다른 소스 장치와의 클럭(clock) 동기화를 위한 기능을 제공할 수 있다. 예를 들어, 서버(320)의 소스 동기 제어부(source sync. Controller)를 통해 적어도 하나의 다른 소스 장치관련 정보를 획득하는 경우, 소스 클럭 동기화 관리부(source clock sync. Manager)는 획득된 정보에 기초하여 다른 소스 장치와의 클럭을 동기화할 수 있다.The source clock sync manager may provide a function for clock synchronization with other source devices. For example, when acquiring at least one other source device related information through a source sync controller of the server 320, a source clock sync To synchronize clocks with other source devices.

소스 클럭 생성부(source clock generator)는 소스 장치(310)와 다른 소스 장치 간에 다른 클럭(clock)을 사용하는 경우에 클럭을 보정하기 위해 시스템 레벨의 클럭을 생성할 수 있다.The source clock generator may generate a system level clock to correct the clock when using a different clock between the source device 310 and another source device.

서버(320)는 서버 동기 관리부(server sync. manager)를 포함할 수 있으며, 서버 동기 관리부(server sync. Manager)는 소스 동기 제어부(source sync. controller), 단말 동기 제어부(client sync. controller) 및 지연 모니터링부(delay monitor)를 포함할 수 있다.The server 320 may include a server synchronization manager and a server synchronization manager may include a source synchronization controller, a client synchronization controller, And may include a delay monitor.

서버 동기 관리부(server sync. Manager)는 소스 장치(310)와 사용자 단말(303) 측의 동기화를 맞추기 위한 모듈(module)에 해당할 수 있다.The server synchronization manager may correspond to a module for synchronizing the synchronization between the source device 310 and the user terminal 303.

소스 동기 제어부(source sync. controller)는 소스 장치(310) 및 다른 소스 장치들 간의 동기를 맞출 수 있다. 예를 들어, 동일한 촬영 대상을 촬영한 드론 캠, 액션 캠 등과 같이 복수개의 소스 장치들이 존재하는 경우, 소스 동기 제어부(source sync. controller)는 복수의 소스 장치들 각각에서 생성된 스트림 소스를 미디어 어셋(media asset) 형태로 엮어 동기화 여부를 판단하고, 동기화되지 않은 경우 스트림 소스들 간의 동기를 맞추는 동기화를 수행할 수 있다. 여기서 미디어 어셋(media asset)은 하나의 스트림에 여러 소스의 미디어를 전달하게 되는 경우, 여러 소스들을 논리적으로 구분한 것을 나타낼 수 있으며, 미디어 어셋 형태로 엮인 스트림 소스를 전달 시 각 패킷이 어떠한 미디어 소스의 정보를 담고 있는지가 표시되어 전달될 수 있다.A source sync controller may synchronize the source device 310 and other source devices. For example, when there are a plurality of source devices such as a drone cam, an action cam, and the like that photographed the same shooting target, the source sync controller controls a stream source generated from each of the plurality of source devices (media asset) type to determine whether to synchronize, and if not synchronized, synchronization can be performed to synchronize the stream sources. In this case, when a media asset carries media of multiple sources in one stream, it may indicate that a plurality of sources are logically separated. In case of delivering a stream source in the form of a media asset, It can be displayed and transmitted.

단말 동기 제어부(client sync. controller)는 복수의 사용자 단말들로 스트림 소스를 제공 시 복수의 사용자 단말들 간의 동기를 맞출 수 있다.A client sync controller may synchronize a plurality of user terminals when providing a stream source to a plurality of user terminals.

지연 모니터링부(delay monitor)는 네트워크 구간에서의 채널 지연(delay)를 측정하고, 측정한 채널 지연에 기초하여 동기화를 위한 지연 값을 도출할 수 있다.The delay monitor measures a channel delay in a network section and derives a delay value for synchronization based on the measured channel delay.

사용자 단말(330)은 클라이언트 타임 동기화 관리부(client time sync. Manager)를 포함할 수 있으며, 클라이언트 타임 동기화 관리부(client time sync. Manager)는 클라이언트 클럭 동기 관리부(client clock sync. Manager)를 포함할 수 있다.The user terminal 330 may include a client time sync manager and a client time sync manager may include a client clock sync manager. have.

클라이언트 타임 동기화 관리부(client time sync. Manager)는 사용자 단말에서 동기화를 수행하기 위해 이용될 수 있다. 예를 들어, 클라이언트 타임 동기화 관리부(client time sync. Manager)는 어플리케이션(application), S/W 형태로 구현되어, 단말 간 동기화를 위해 서버(320)로부터 수신한 시간 정보들을 기반으로 지연(delay)을 설정 및 해제할 수 있다.A client time sync manager may be used to perform synchronization at the user terminal. For example, a client time synchronization manager is implemented as an application and a software, and is delayed based on time information received from the server 320 for synchronization between terminals. Can be set and released.

클라이언트 클럭 동기 관리부(client clock sync. Manager)는 사용자 단말(330) 상의 클럭을 동기화할 수 있다. 예를 들어, 복수의 스트림 소스들이 비동기 클럭(clock)을 가질 경우, 클라이언트 클럭 동기 관리부(client clock sync. Manager)는 비동기 클럭을 보정할 수 있다.The client clock sync manager may synchronize the clock on the user terminal 330. For example, when a plurality of stream sources have an asynchronous clock, the client clock sync manager may correct the asynchronous clock.

도 4는 본 발명의 일실시예에 있어서, 미디어 동기화 방법의 동작을 도시한 흐름도이고, 도 5는 본 발명의 일실시예에 있어서, 미디어 동기화 시스템의 내부 구성을 도시한 블록도이다.FIG. 4 is a flowchart illustrating an operation of a media synchronization method according to an exemplary embodiment of the present invention, and FIG. 5 is a block diagram illustrating an internal structure of a media synchronization system according to an embodiment of the present invention.

도 5의 미디어 동기화 시스템(500)은 정보 수집부(510), 지연 정보 생성부(520), 동기 정보 설정부(530), 지연 측정부(540), 동기 정보 업데이트부(550), 및 단말 동기화부(560)를 포함할 수 있다. 그리고, 정보 수집부(510), 지연 정보 생성부(520), 동기 정보 설정부(530), 및 동기 정보 업데이트부(550)는 도 3의 소스 동기 제어부(source sync. controller)에 해당하고, 지연 측정부(540)는 지연 모니터링부(delay monitor)에 해당하고, 단말 동기화부(550)는 단말 동기 제어부(client sync. controller)를 포함할 수 있다.5 includes an information collecting unit 510, a delay information generating unit 520, a synchronization information setting unit 530, a delay measuring unit 540, a synchronization information updating unit 550, And may include a synchronization unit 560. The information collecting unit 510, the delay information generating unit 520, the synchronization information setting unit 530 and the synchronization information updating unit 550 correspond to the source sync controller of FIG. 3, The delay measurement unit 540 may correspond to a delay monitor and the terminal synchronization unit 550 may include a terminal synchronization controller.

도 4의 각 단계들(410 내지 460 단계)는 도 5의 구성 요소인 정보 수집부(510), 지연 정보 생성부(520), 동기 정보 설정부(530), 지연 측정부(540), 동기 정보 업데이트부(550) 및 단말 동기화부(560)에 의해 수행될 수 있다.Each of the steps 410 to 460 of FIG. 4 includes an information collecting unit 510, a delay information generating unit 520, a synchronization information setting unit 530, a delay measuring unit 540, The information updating unit 550 and the terminal synchronization unit 560 may be performed.

410 단계에서, 정보 수집부(510)는 스트림 소스 정보를 수집할 수 있다.In operation 410, the information collecting unit 510 may collect stream source information.

일례로, 정보 수집부(510)는 스트림 소스를 업로드받기 위해 소스 장치(310)와의 연결을 위해 동작 상태를 리슨(listen) 상태로 설정할 수 있다. 예컨대, 도 3의 소스 동기 제어부(source sync. controller)의 동작 상태가 리슨(listen) 상태로 설정될 수 있다. For example, the information collecting unit 510 may set the operation state to a listen state for connection with the source device 310 in order to upload a stream source. For example, the operation state of the source sync controller of FIG. 3 may be set to a listen state.

이때, 소스 장치(310)는 하나일 수도 있고, 복수개일 수도 있으며, 복수개인 경우, 복수개의 소스 장치들 각각으로부터 스트림 소스를 업로드받기 위해, 각 소스 장치와의 연결을 준비할 수 있다. 예를 들어, 별도의 이동형 서버를 이용하는 경우 서브 네트워크(sub network), 또는 별도 서버나 클라우드(cloud) 상에 서버가 존재하는 경우, URL 등을 통해 소스 장치(310)와 서버인 미디어 동기화 시스템(500)이 연결될 수 있다. 그러면, 정보 수집부(510)는 연결된 복수의 소스 장치들 각각으로부터 스트림 소스 정보를 수집할 수 있으며, 수집된 스트림 소스 정보와 해당 소스 장치의 식별자 정보를 매칭하여 저장 및 관리할 수 있다. At this time, the source device 310 may be one, a plurality of the source devices 310, or a plurality of source devices 310 may prepare a connection with each source device in order to upload a stream source from each of the plurality of source devices. For example, when a separate mobile server is used, if there is a server on a sub network or a separate server or a cloud, the source device 310 and the media synchronization system 500) can be connected. Then, the information collecting unit 510 can collect stream source information from each of the plurality of connected source devices, and can store and manage the collected stream source information and the identifier information of the corresponding source device.

여기서, 스트림 소스 정보는, H/W 특성 정보 및 S/W 특성 정보를 포함할 수 있으며, H/W 특성 정보는 해당 소스 장치에 등록 또는 기 정의된 디바이스 프로파일(device profile) 정보 또는 관리자/사용자가 별도로 설정한 특징 정보를 포함할 수 있다. 그리고, S/W 특성 정보는 상기 디바이스 프로파일에 기초하여 결정된 코덱(codec) 특성 정보 및 프레임율(frame rate) 정보 등을 포함할 수 있다. 예컨대, H/W 특성 정보는 해당 소스 장치의 기기 모델명, 해당 소스 장치의 하드웨어적 지연 정보(Admin define delay value (ms)), 프로세서/칩셋(processor/chipset) 정보, OS 정보, 및 출력 인터페이스(output interface) 정보 등을 포함할 수 있다.Here, the stream source information may include H / W characteristic information and S / W characteristic information, and the H / W characteristic information may include device profile information registered in the corresponding source device or device / May include feature information separately set. The S / W characteristic information may include codec characteristic information and frame rate information determined based on the device profile. For example, the H / W characteristic information includes the device model name of the corresponding source device, the hardware delay information (msec) of the corresponding source device, processor / chipset information, OS information, output interface information.

이때, 스트림 소스 정보는 디바이스 프로파일 정보 이외에 메니페스트(Manifest) 정보 형태로 수집될 수도 있다.At this time, the stream source information may be collected in the form of manifest information in addition to the device profile information.

420 단계에서, 지연 정보 생성부(520)는 연결된 소스 장치들 각각에 해당하는 스트림 소스 간의 지연 테스트(delay test)를 수행하여 소스 장치 간의 네트워크 지연 정보를 생성할 수 있다. 이때, 지연 정보 생성부(520)는 상기 지연 테스트를 통해 스트림 소스 간이 네트워크 구간 지연 특성 정보를 파악할 수 있다.In operation 420, the delay information generator 520 may perform a delay test between stream sources corresponding to each of the connected source devices to generate network delay information between the source devices. At this time, the delay information generation unit 520 can grasp network delay characteristic information between stream sources through the delay test.

예를 들어, 지연 정보 생성부(520)는 슬레이트(slate) 형태로 플래시(flash)를 이용해 해당 정보가 전달되는 시간 및 시간의 차를 측정할 수도 있고, 소스 장치들 각각에 설치된 어플리케이션을 통해 지연 테스트를 수행하여 시간을 측정할 수도 있다. 그리고, 지연 정보 생성부(520)는 측정된 시간에 기초하여 네트워크 지연 정보를 생성할 수 있다.For example, the delay information generation unit 520 may measure the difference in time and time when the information is delivered using a flash in a slate form, You can also perform a test to measure time. The delay information generation unit 520 can generate network delay information based on the measured time.

430 단계에서, 동기 정보 설정부(530)는 수집된 스트림 소스 정보와 네트워크 지연 정보에 기초하여 특정 채널에 해당하는 스트림 소스의 동기 정보를 설정할 수 있다. 즉, 동기 정보 설정부(530)는 연결된 소스 장치들 각각과의 동기 정보를 설정할 수 있다. In step 430, the synchronization information setting unit 530 may set synchronization information of a stream source corresponding to a specific channel based on the collected stream source information and network delay information. That is, the synchronization information setting unit 530 can set synchronization information with each of the connected source devices.

일례로, 동기 정보 설정부(530)는 하나의 채널 형태로 서비스하고자 하는 스트림 소스에 대한 동기 정보를 설정할 수 있다. 그리고, 동기 정보 설정부(530)는 소스 장치 별로 설정된 동기 정보를 해당 소스 장치의 식별자 정보에 기초하여 해당 소스 장치로 전달할 수 있다. 그러면, 해당 소스 장치는 서버인 미디어 동기화 시스템(500)으로부터 동기 정보를 수신하고, 수신된 동기 정보를 기반으로 장치 또는 소프트웨어의 설정을 변경함으로써, 미디어 동기화 시스템(500)과 시간 동기를 맞출 수 있다. 예컨대, 동기 정보 설정부(530)는 스트림 소스의 물리적인 지연과 스트리밍 서버까지의 지연 시간(즉, 네트워크 구간에서의 지연 시간)의 정보에 기초하여, 각각의 소스 장치로부터 스트림 소스가 업로드되는 시간의 차를 계산할 수 있다. 그리고, 동기 정보 설정부(530)는 계산된 시간의 차에 기초하여 스트림 소스 간의 지연 차를 설정하여 서버 측에서의 동기화를 맞춘 후, 단말로 전달할 수 있다. 다시 말해, 소스 장치(310)와 서버인 미디어 동기화 시스템(500) 간의 시간 동기화가 완료되면(즉, 시간 동기가 맞춰지면), 미디어 동기화 시스템(500)은 소스 장치(310)로부터 스트림 소스를 업로드받을 수 있다. 즉, 미디어 스트림 서비스가 시작될 수 있다.For example, the synchronization information setting unit 530 may set synchronization information for a stream source to be served in one channel format. The synchronization information setting unit 530 can transmit the synchronization information set for each source device to the source device based on the identifier information of the source device. The source device may then synchronize with the media synchronization system 500 by receiving synchronization information from the media synchronization system 500, which is a server, and by changing the settings of the device or software based on the received synchronization information . For example, the synchronization information setting unit 530 sets the time (time) at which the stream source is uploaded from each source device, based on the information of the physical delay of the stream source and the delay time to the streaming server Can be calculated. Then, the synchronization information setting unit 530 sets the delay difference between the stream sources based on the difference in the calculated time, and synchronizes the synchronization on the server side, and then delivers the delay difference to the terminal. In other words, when the time synchronization between the source device 310 and the media synchronization system 500 as a server is completed (i.e., time synchronization is completed), the media synchronization system 500 uploads the stream source from the source device 310 Can receive. That is, the media stream service can be started.

이때, 다수의 소스 장치 중 서버인 미디어 동기화 시스템(500)과의 지연 시간이 고정적인 경우, 특정 소스 장치에 대해 고정 동기화 시간 값이 설정될 수 있으며, 서버 측에서 별도의 시간 조절 없이 소스 장치 측에서 시간 동기를 맞추어 스트림 소스를 전송할 수도 있다. 이처럼, 소스 장치에서 시간 동기를 맞추어 스트림 소스를 전송하기 위해, 소스 장치의 시간 정보가 업데이트될 수 있다.At this time, when the delay time with the media synchronization system 500, which is a server among a plurality of source devices, is fixed, a fixed synchronization time value can be set for a specific source device, and the source device side It is also possible to transmit the stream source in synchronization with time. As such, the time information of the source apparatus can be updated to transmit the stream source in time synchronization with the source apparatus.

440 단계에서, 지연 측정부(540)는 연결된 각 소스 장치와의 네트워크 지연을 주기적으로 측정할 수 있다. 여기서, 네트워크 지연은 소스 장치(310)와 미디어 동기화 시스템(500) 간에 형성된 채널 지연을 포함할 수 있다.In step 440, the delay measurement unit 540 may periodically measure the network delay with each connected source device. Here, the network delay may include a channel delay formed between the source device 310 and the media synchronization system 500.

450 단계에서, 동기 정보 업데이트부(550)는 네트워크 지연에 기초하여 동기 정보를 업데이트할 수 있다. 즉, 동기 정보 업데이트부(550)는 430 단계에서, 수집된 스트림 소스 정보와 네트워크 지연 정보에 기초하여 동기 정보에 설정된 값과 440 단계에서, 획득한 서버와 단말 간의 지연 정보를 합쳐 동기 정보를 업데이트할 수 있다,In step 450, the synchronization information update unit 550 may update the synchronization information based on the network delay. That is, the synchronization information update unit 550 updates the synchronization information by adding the value set in the synchronization information based on the collected stream source information and the network delay information to the acquired delay information between the server and the terminal in step 440 can do,

일례로, 상기 네트워크 지연에 기초하여 초기에 설정된 지연 설정 정보는 보정될 수 있다. 예컨대, 측정된 네트워크 지연이 상기 지연 설정 정보에 해당하는 설정값을 초과하는 지연이 발생한 경우, 동기 정보 업데이트부(550)는 해당 소스 장치의 동기 정보의 설정을 업데이트할 수 있다. 즉, 동기 정보 업데이트부(550)는 상기 430 단계에서 소스 장치(310)와 미디어 동기화 시스템(500) 간에 설정된 초기 동기 정보의 설정을 상기 네트워크 지연에 기초하여 업데이트할 수 있다. 사용자 단말과 서버 간의 전송 구간에 지연이 발생하는 경우, 지연을 기준으로 사용자 단말 간의 지연 시간을 동기화 하기 위한 값이 조정될 수 있다. 예컨대, 특정 지하철 객차 내에서 사용자 단말 A는 4G로, 사용자 단말 B는 WiFi로 서버에 접속하고, WiFi의 지연이 4G보다 높은 경우, 사용자 단말 간의 재생정보 시차가 발생할 수 있다. 그러면, 서버는 인접 셀(cell) 또는 구간(GPS 정보 등을 활용)에서 사용자 단말 간의 지연값을 측정해, 동기화를 위한 값을 설정할 수 있다. 즉, 초기 동기 정보가 설정될 수 있다.In one example, the delay setting information initially set based on the network delay can be corrected. For example, when a delay occurs in which the measured network delay exceeds the set value corresponding to the delay setting information, the synchronization information updating unit 550 can update the setting of the synchronization information of the source device. That is, the synchronization information update unit 550 may update the initial synchronization information set between the source device 310 and the media synchronization system 500 in step 430, based on the network delay. When a delay occurs in the transmission interval between the user terminal and the server, a value for synchronizing the delay time between the user terminals based on the delay can be adjusted. For example, in a specific subway train, the user terminal A is connected to the server by 4G and the user terminal B is connected by WiFi, and when the delay of the WiFi is higher than 4G, the reproduction information parallax between user terminals may occur. Then, the server can measure a delay value between the user terminals in a neighbor cell or an interval (utilizing GPS information, etc.), and set a value for synchronization. That is, the initial synchronization information can be set.

460 단계에서, 단말 동기화부(560)는 사용자 단말(330)의 시간 정보(Time clock)에 기초하여 사용자 단말(330)과의 시간 동기화를 수행할 수 있다. 이때, 사용자 단말(330)은 하나일 수도 있고, 복수개 존재할 수도 있다. 여기서, 사용자 단말(330)과의 시간 동기화를 수행하는 동작은 아래의 도 6 및 도 7을 참고하여 후술하기로 한다.In step 460, the terminal synchronization unit 560 may perform time synchronization with the user terminal 330 based on the time information of the user terminal 330. At this time, one user terminal 330 or a plurality of user terminals 330 may exist. Here, the operation of performing time synchronization with the user terminal 330 will be described later with reference to FIGS. 6 and 7 below.

도 6은 본 발명의 일실시예에 있어서, 복수의 사용자 단말들 간의 지연(delay)을 제어하는 동작을 도시한 흐름도이다.6 is a flowchart illustrating an operation for controlling delay between a plurality of user terminals, according to an embodiment of the present invention.

도 6에서는 복수의 사용자 단말들 중 어느 하나의 사용자 단말(601)과의 정보 송수신을 통해 동기화를 수행하는 동작을 중심으로 설명하나, 이는 실시예에 해당되며, 복수의 사용자 단말들 각각에서 상기 사용자 단말(601)의 동작을 수행할 수 있다. 그리고, 도 6의 각 단계들(610 내지 690 단계)의 동작은 도 5의 단말 동기화부(560)에 의해 수행될 수 있다.6 illustrates an operation of performing synchronization through information transmission / reception with any one of a plurality of user terminals 601. This corresponds to an embodiment, and in each of the plurality of user terminals, The terminal 601 can perform the operation. The operations of the steps 610 to 690 of FIG. 6 may be performed by the terminal synchronization unit 560 of FIG.

610 단계에서, 미디어 동기화 시스템(media server, 601)은 복수의 사용자 단말들 각각으로 해당 단말의 시간 정보(Time Clock)를 요청할 수 있다.In step 610, the media synchronization server 601 may request a time clock of the corresponding terminal from each of the plurality of user terminals.

620 단계에서, 동기화 시스템(media server, 601)은 상기 요청에 대한 응답으로, 사용자 단말들 각각으로부터 해당 단말의 시간 정보(Time Clock)을 수신할 수 있다. 예컨대, 단말 동기화부(560)는 사용자 단말(Device #1, 602)로부터 해당 단말의 시간 정보(Time Clock)와 함께 해당 단말의 식별자 정보를 수신할 수 있으며, 단말의 식별자 정보와 해당 단말의 시간 정보를 매칭하여 저장 및 유지할 수 있다.In step 620, the synchronization system (media server) 601 may receive the time information of the corresponding terminal from each of the user terminals in response to the request. For example, the terminal synchronization unit 560 may receive the identifier information of the corresponding terminal together with the time information of the terminal from the user terminal (Device # 1, 602) Information can be matched and stored and maintained.

630 단계에서, 단말 동기화부(560)는 수신된 단말 별 시간 정보(time clock)에 기초하여 단말 별 시간 정보(time clock)를 생성할 수 있다. 여기서, 시간 정보는 단말 자체적으로 생성되는 단말의 시간 값을 의미할 수 있다.In step 630, the terminal synchronization unit 560 may generate a time clock for each terminal based on the received time clock of each terminal. Here, the time information may be a time value of a terminal that is generated by the terminal itself.

640 단계에서, 단말 동기화부(560)는 단말 별 시간 정보(time clock)에 기초하여 공통 타임 스탬프(common time stamp, CTS)를 생성할 수 있다.In step 640, the terminal synchronization unit 560 may generate a common time stamp (CTS) based on the terminal time information.

예를 들어, 수신할 사용자 단말 A의 시간 정보에 포함된 시각이 10:00:21(시:분:초) 이고, 사용자 단말 B의 시간 정보에 포함된 시각 10:00:23인 경우, CTS는 어느 하나의 정보를 기준으로 하거나 별도의 시각으로 설정되어 제공될 수 있다. 별도의 CTS 시각을 설정하는 경우, 글로벌 서비스를 고려해 특정 표준시를 기준으로 설정하며, 서버 시각을 기준으로 공통 시각을 각각의 단말에서 설정할 수 있다.For example, when the time included in the time information of the user terminal A to be received is 10:00:21 (hour: minute: second) and the time is 10:00:23 included in the time information of the user terminal B, May be provided on the basis of any one of the information or set at a different time. When a separate CTS time is set, a specific time is set in consideration of a global service, and a common time can be set in each terminal based on the server time.

650 단계에서, 단말 동기화부(560)는 생성된 CTS 기반 시간 동기화를 각 사용자 단말로 요청할 수 있다.In step 650, the terminal synchronization unit 560 can request the generated CTS-based time synchronization to each user terminal.

660 단계에서, 단말 동기화부(560)는 상기 CTS 기반 시간 동기화의 요청에 대한 응답(ACK)을 수신할 수 있다. 이때, 복수의 사용자 단말들 각각에서, 610 내지 660 단계에 해당하는 동작을 동일하게 반복 수행할 수 있으며, 단말 동기화부(560)는 연결된 각 단말로부터 응답(ACK)을 수신함으로써, 각 단말들 간의 시간 동기화를 수행할 수 있다.In step 660, the terminal synchronization unit 560 may receive a response (ACK) for the CTS-based time synchronization request. At this time, in each of the plurality of user terminals, operations corresponding to steps 610 to 660 may be similarly repeated, and the terminal synchronization unit 560 may receive a response (ACK) from each connected terminal, Time synchronization can be performed.

670 단계에서, 단말 동기화부(560)는 CTS 동기 생성부(CTS sync. Generator)로 CTS 기반 타임 스탬프 생성을 요청할 수 있다. 여기서, CTS 동기 생성부(CTS sync. Generator)는 도 5의 단말 동기화부(560)에 포함될 수 있다.In step 670, the terminal synchronization unit 560 may request a CTS synchronization generator to generate a CTS-based time stamp. Here, the CTS sync generator (CTS sync generator) may be included in the terminal synchronization unit 560 of FIG.

680 단계에서, 단말 동기화부(560)는 상기 공통 타임 스탬프(CTS)에 기초하여 패킷화를 수행할 수 있다. 예컨대, 단말 동기화부(560)는 패킷화 과정에서 패킷화된 스트림 소스에 CTS가 포함되도록 삽입할 수 있다.In step 680, the terminal synchronization unit 560 may perform packetization based on the common time stamp (CTS). For example, the terminal synchronization unit 560 may insert the CTS into the packetized stream source in the packetization process.

690 단계에서, 단말 동기화부(560)는 상기 CTS가 삽입된 스트림 소스를 복수의 사용자 단말들 각각으로 제공할 수 있다.In step 690, the terminal synchronization unit 560 may provide the stream source in which the CTS is inserted to each of the plurality of user terminals.

도 7은 본 발명의 일실시예에 있어서, 동일 서버에서 복수의 스트림 소스를 하나의 사용자 단말로 제공하는 네트워크 환경을 도시한 도면이다.7 is a diagram illustrating a network environment in which a plurality of stream sources are provided to one user terminal in the same server according to an embodiment of the present invention.

도 7의 동작은 도 5의 단말 동기화부(560)에 의해 수행될 수 있으며, 도 7에서는 미디어 동기화 시스템(710)의 구성요소 중 단말 동기화부(560)의 동작을 중심으로 설명하기로 한다. 여기서, 단말 동기화부(560)는 단말 동기 제어부(client sync. Controller, 711), CTS 동기 생성부(CTS sync. Generator, 712), 및 적어도 하나의 스트림 제어부(713, 714, 715)를 포함할 수 있다. 예컨대, 스트림 제어부(713, 714, 715)는 도 7과 같이 3개로 한정되는 것이 아니라, 스트림 소스의 수에 대응할 수 있다. 스트림 소스가 2개인 경우, 스트림 제어부는 2개 존재하고, 스트림 소스가 5개인 경우, 스트림 제어부 역시 5개 존재할 수 있다.7 can be performed by the terminal synchronization unit 560 of FIG. 5. FIG. 7 illustrates the operation of the terminal synchronization unit 560 among the components of the media synchronization system 710. FIG. Here, the terminal synchronization unit 560 includes a terminal synchronization controller 711, a CTS sync generator 712, and at least one stream controller 713, 714, 715 . For example, the stream control units 713, 714, and 715 are not limited to three as shown in FIG. 7, but may correspond to the number of stream sources. When there are two stream sources, there are two stream control sections, and if there are five stream sources, five stream control sections may also exist.

단말 동기화부(560)는 사용자 단말(Device #1, 720)로 해당 단말의 시간 정보(Time Clock) 를 요청하여 수신할 수 있으며, 수신된 시간 정보에 기초하여 서버인 미디어 동기화 시스템(500)과 사용자 단말(720) 간의 시간 정보를 생성할 수 있다.The terminal synchronization unit 560 can request and receive the time information of the corresponding terminal from the user terminals Device # 1 and 720 and can receive the time information from the media synchronization system 500 The time information between the user terminals 720 can be generated.

그리고, 단말 동기화부(560)는 생성된 상기 시간 정보에 기초하여 미디어 동기화 시스템(500)과 사용자 단말(720) 간의 동기화된 시각을 포함하는 공통 타임 스탬프(Common Time Stamp)를 생성할 수 있다. 즉, 공통 타임 스탬프(Common Time Stamp)의 시간 정보를 상기 동기화된 시각으로 설정할 수 있다.The terminal synchronization unit 560 may generate a common time stamp including the synchronized time between the media synchronization system 500 and the user terminal 720 based on the generated time information. That is, the time information of the common time stamp can be set to the synchronized time.

이어, 단말 동기화부(560)는 스트림 소스(즉, 미디어 스트림)에 생성된 CTS를 삽입할 수 있다. 이때, 단말 동기화부(560)는 스트림 제어부(713, 714, 715)를 통해 전송되는 각 스트림 소스에 상기 CTS를 삽입할 수 있으며, 각 스트림 제어부(713, 714, 715)는 해당 스트림 소스를 사용자 단말로(720)로 전송할 수 있다. 즉, 사용자 단말(720)과의 동기화가 완료됨에 따라 사용자 단말(720)로의 스트리밍(streaming) 서비스가 시작될 수 있다.Then, the terminal synchronization unit 560 may insert the generated CTS into a stream source (i.e., a media stream). At this time, the terminal synchronization unit 560 may insert the CTS into each stream source transmitted through the stream control units 713, 714, and 715, and each stream control unit 713, 714, To the terminal 720. That is, as the synchronization with the user terminal 720 is completed, a streaming service to the user terminal 720 can be started.

그러면, 사용자 단말(720)은 미디어 동기화 시스템(500)으로부터 복수의 스트림 소스(즉, 멀티 소스)를 수신할 수 있으며, 수신된 스트림 소스 각각에 해당하는 버퍼 컨트롤러(buffer controller)의 상태(condition) 정보를 생성할 수 있다. 여기서, 상태 정보은 수신 버퍼의 데이터 사이즈(data size)를 나타낼 수 있다. 최소 지연 기반의 동기화를 제공하기 위해서는 각 스트림 소스 별로 최소의 버퍼(buffer)를 사용하여야 하며, 이에 대한 실시간 값을 고려해 지연 정보를 조절해야 한다. 이에 따라, 수신 버퍼의 데이터 사이즈를 나타내는 상태 정보가 생성될 수 있다. 그리고, 단말의 디코더(decoder)에서, 디코더 버퍼에 버퍼링된 스트림 소스를 구성하는 프레임들 중에서 I-프레임(inter frame)을 찾아 재생을 시작하려는 시점에, 단말의 디코더는 디코드 버퍼(decode buffer #1, #2, #3) 각각의 CTS에 기초하여 디코딩 시간을 맞춘 후 재생을 시작할 수 있다. The user terminal 720 may then receive a plurality of stream sources (i.e., multiple sources) from the media synchronization system 500 and may determine the condition of a buffer controller corresponding to each of the received stream sources, Information can be generated. Here, the status information may indicate the data size of the receiving buffer. To provide minimum delay-based synchronization, the minimum buffer for each stream source should be used and the delay information should be adjusted considering the real-time value. Thus, status information indicating the data size of the reception buffer can be generated. Then, at the decoder of the terminal, at the time of searching for the I-frame (inter frame) among the frames constituting the stream source buffered in the decoder buffer and starting the reproduction, the decoder of the terminal decodes the decode buffer # , # 2, and # 3), and then playback can be started.

도 8은 본 발명의 일실시예에 있어서, 사용자 단말에서 미디어 동기화를 수행하는 동작을 도시한 흐름도이고, 도 9는 본 발명의 일실시예에 있어서, 사용자 단말의 내부 구성을 도시한 블록도이다.FIG. 8 is a flowchart illustrating an operation of performing media synchronization in a user terminal according to an embodiment of the present invention. FIG. 9 is a block diagram illustrating an internal configuration of a user terminal in an embodiment of the present invention .

도 9에서는 사용자 단말(900)이 시간 정보 제공부(910) 및 동기화부(920)를 포함하는 것으로 도시하였으나, 이는 실시예에 해당되며, 사용자 단말(900)는 렌더링부, 디코딩부, 디스플레이부, 입출력 제어부(예컨대, 키보드, 마우스, 마이크, 스피커, 터치팬 등), 유/무선통신모듈을 더 포함할 수 있다.9, the user terminal 900 includes the time information providing unit 910 and the synchronizing unit 920. However, the user terminal 900 may include a rendering unit, a decoding unit, a display unit, , An input / output control unit (e.g., a keyboard, a mouse, a microphone, a speaker, a touch fan, etc.), and a wire / wireless communication module.

도 8의 각 단계들(810 내지 820 단계)은 도 9의 구성 요소인 시간 정보 제공부(910) 및 동기화부(920)에 의해 수행될 수 있다.The steps 810 to 820 of FIG. 8 may be performed by the time information providing unit 910 and the synchronizing unit 920, which are components of FIG.

810 단계에서, 시간 정보 제공부(910)는 서버인 미디어 동기화 시스템(500)으로부터 시간 정보(time clock)의 제공을 요청받음에 따라, 자신의 시간 정보를 미디어 동기화 시스템(500)으로 제공할 수 있다.In step 810, the time information providing unit 910 may provide its time information to the media synchronization system 500 as requested by the media synchronization system 500, which is a server, to provide time information. have.

820 단계에서, 동기화부(920)는 미디어 동기화 시스템(500)으로 제공한 시간 정보에 기초하여 생성된 CTS가 삽입된 스트림 소스를 제공받을 수 있다. 여기서, 상기 CTS는 적어도 하나의 다른 사용자 단말과 사용자 단말(900) 간의 동기를 맞춘 시각을 포함할 수도 있고, 사용자 단말(900)로 제공되는 복수의 스트림 소스들 간의 디코딩 시간을 동기화하기 위한 시각을 포함할 수도 있다.In step 820, the synchronization unit 920 may receive a stream source in which the CTS generated based on the time information provided to the media synchronization system 500 is inserted. Here, the CTS may include a synchronized time between at least one other user terminal and the user terminal 900, and may include a time for synchronizing a decoding time between a plurality of stream sources provided to the user terminal 900 .

예컨대, 복수의 스트림 소스들 간의 디코딩 시간을 동기화하기 위한 시각을 포함하는 경우, 동기화부(920)는 CTS에 포함된 시각에 기초하여 상기 복수의 스트림 소스들 각각에 해당하는 버퍼 컨트롤러의 디코딩 시간을 동기화할 수 있다. 이처럼, 동기화를 통해 버퍼 컨트롤러의 디코딩 시간이 맞춰지면, 각 스트림 소스가 재생되어 사용자 단말(900)의 화면에 표시될 수 있다. 예컨대, 다시점 보기 등을 제공하는 경우, 다시점에 해당하는 동기화된 각 영상들이 사용자 단말(900)의 화면에 표시될 수 있다. 사용자 단말(900)이 VR 기어(gear)인 경우, 동기화된 사용자 시선에 해당하는 복수의 타일들(tiles)이 재생될 수 있다.For example, when the synchronization unit 920 includes a time for synchronizing a decoding time between a plurality of stream sources, the synchronization unit 920 sets a decoding time of a buffer controller corresponding to each of the plurality of stream sources, based on the time included in the CTS You can synchronize. As described above, when the decoding time of the buffer controller is adjusted through synchronization, each stream source can be reproduced and displayed on the screen of the user terminal 900. [ For example, when providing a multi-viewpoint, etc., each synchronized image corresponding to the multi-viewpoint may be displayed on the screen of the user terminal 900. [ When the user terminal 900 is a VR gear, a plurality of tiles corresponding to the synchronized user's line of sight can be reproduced.

도 10은 본 발명의 일실시예에 있어서, 소스 간의 동기화 및 네트워크 상의 동기화를 수행하는 전반적인 흐름을 도시한 도면이다.10 is a diagram showing an overall flow of performing synchronization between sources and synchronization on a network in an embodiment of the present invention.

도 10에 따르면, 소스 장치와 서버인 미디어 동기화 시스템이 하나의 장치로 구현될 수도 있고, 미디어 동기화 시스템은 클라우드(cloud)에 별도로 위치할 수도 있다. According to Fig. 10, the media synchronization system, which is a source apparatus and a server, may be implemented as a single device, and the media synchronization system may be separately located in the cloud.

도 10을 참고하면, CTS(Common Time Stamp)를 이용하여 소스 단의 각 장치 간에 동기화가 이루어지고, CTS를 이용하여 소스와 사용자 단말(Client Device #1) 간의 동기화가 수행될 수 있다. 그리고, 네트워크 지연을 측정하고, 측정된 네트워크 지연에 기초하여 서버와 단말 간의 동기화가 수행됨을 알 수 있다.Referring to FIG. 10, synchronization is performed between the devices at the source terminal using CTS (Common Time Stamp), and synchronization between the source and the user terminal (Client Device # 1) can be performed using CTS. Then, the network delay is measured, and it can be seen that the synchronization between the server and the terminal is performed based on the measured network delay.

이처럼, 장치 별 H/W 특성, S/W 특성, 네트워크 지연을 고려하여 동기화가 수행될 수 있으며, 이를 위해 CTS 기반 스트림 연결 장치들 간의 동기화가 수행될 수 있다. As described above, synchronization can be performed in consideration of H / W characteristics, S / W characteristics, and network delay for each device. For this, synchronization between CTS-based stream connection devices can be performed.

예컨대, MPEG-DASH/HLS기반으로 동기화를 제공하는 경우, 자바스크립트 기반 딜레이 컨트롤러(delay controller)를 이용하여 단말에서의 스트림 요청(stream request) 시점을 제어함으로써, 동기화가 제공될 수 있다. 그리고, 단말에 모바일 어플리케이션(Application) 또는 S/W를 설치하여 동기화를 제공하는 경우, 별도의 딜레이 컨트롤러(delay controller)를 구현하고, 미디어 스트림 버퍼(media stream buffer) 및 디코드 버퍼(decode buffer)의 상태(condition) 정보를 직접 관리하여 동기화를 수행할 수 있다. 이외에, H/W 구현을 통해 동기화를 제공하는 경우, Flash Light 등을 이용하 동기화 후 소스 장치 별 지연 특성 정보에 대한 디바이스 프로파일 정보를 생성하고, 이후, 리코딩(Recording)/라이브 스트리밍(Live Streaming) 시 상기 디바이스 프로파일에 포함된 정보를 기반으로 소스 장치 간의 동기화를 수행할 수 있다. For example, in the case of providing synchronization based on MPEG-DASH / HLS, synchronization can be provided by controlling a stream request point in a terminal using a JavaScript-based delay controller. When a mobile application or an S / W is installed in a terminal to provide synchronization, a separate delay controller is implemented, and a media stream buffer and a decode buffer Synchronization can be performed by directly managing condition information. In addition, when synchronization is provided through the H / W implementation, device profile information for the delay characteristic information for each source device is generated after synchronization using Flash Light or the like, and then, at the time of recording / live streaming And perform synchronization between the source devices based on the information included in the device profile.

이에 따라, MPEG-DASH/HLS의 경우, 별도의 사용자 환경 변화 없이도 기존 서비스에 적용이 가능하며, 모바일 어플리케이션(Application) 또는 S/W를 설치하여 동기화 시 최종 사용자 단말의 디코더 수준에서의 제어를 통해 ms 수준의 동기화가 가능할 수 있다. 그리고, H/W 구현을 통해 동기화 시 소스 장치(즉, media source) 단의 정교한 동기화가 가능할 수 있다.Accordingly, in the case of MPEG-DASH / HLS, it can be applied to an existing service without any change of the user environment, and a mobile application or software can be installed and controlled at the decoder level of the end user terminal ms level synchronization may be possible. In addition, the H / W implementation allows precise synchronization of the source device (ie, media source) during synchronization.

이상에서 설명한 바와 같이, 소스 장치에서 개별적으로 촬영되어 생성된 스트림 소스들이 각기 다른 네트워크 환경을 통해 스트리밍(streaming)되어 서버인 미디어 동기화 시스템(240, 500)으로 전달될 수 있다. 이때, 미디어 동기화 시스템(240, 500)은 다수의 스트림 소스, 즉, 멀티 소스를 하나의 스트림(stream)으로 먹싱(muxing)하는 것이 아니라, 개별 스트림(stream)으로 적어도 하나의 사용자 단말들(250)로 전달할 수 있다. 이처럼, 사용자 단말들(250)로 스트림이 전달될 때, 스트림이 전달되는 개별 구간에서의 시간 차가 추가적으로 발생할 수 있다. 이에 따라, 서버인 미디어 동기화 시스템(240, 500)에서 멀티 소스에 대해 다수의 사용자 단말들에서의 동기화가 수행될 수 있으며, 이하에서는 도 11을 참고하여, 필요한 기능을 모듈화(module)하여 동기화를 제공하는 동작에 대해 설명하고자 한다.As described above, the stream sources separately photographed and generated in the source apparatus can be streamed through different network environments and transmitted to the media synchronization systems 240 and 500, which are servers. At this time, the media synchronization system 240, 500 may not multiplex the multiple stream sources, that is, the multi-sources into one stream, but may multiplex the at least one user terminals 250 ). ≪ / RTI > As such, when a stream is delivered to the user terminals 250, a time difference may occur additionally in the individual section through which the stream is transmitted. Accordingly, in the media synchronization systems 240 and 500 as a server, synchronization at a plurality of user terminals with respect to multiple sources can be performed. Hereinafter, referring to FIG. 11, The operation to be provided will be described.

도 11은 본 발명의 일실시예에 있어서, 동기화 기능을 모듈화한 네트워크 환경을 도시한 도면이다.11 is a diagram illustrating a network environment in which a synchronization function is modularized according to an embodiment of the present invention.

도 11에 따르면, 미디어 캡쳐 장치(video capture, 1110), 스트림 업로더(stream uploader, 1120), 미디어 동기화 시스템(media stream server, 1130), 사용자 단말(media client, 1140) 간에 네트워크가 형성될 수 있다. 도 11에서, 미디어 캡쳐 장치(video capture, 1110), 스트림 업로더(stream uploader, 1120)는 도 2의 미디어 캡쳐 장치(210), 및 스트림 업로더(230)에 해당할 수 있으며, 이 경우, 미디어 캡쳐 장치(1110)에 부호화 장치(220)가 포함되도록 구성될 수 있다. 이외에, 미디어 캡쳐 장치(210), 및 스트림 업로더(230)는 하나의 소스 장치로 구현될 수 있다.11, a network may be established between a media capture device 1110, a stream uploader 1120, a media stream server 1130, and a media client 1140 have. In FIG. 11, a media capture device 1110 and a stream uploader 1120 may correspond to the media capture device 210 and the stream uploader 230 of FIG. 2, And the encoding device 220 may be included in the media capture device 1110. In addition, the media capture device 210, and the stream uploader 230 may be implemented as a single source device.

도 11을 참고하면, 비디오 스트리밍 네트워크 환경에서 동기화를 제공하기 위해 각 장치(1110, 1120, 1130, 1140) 별 주요 기능들(예컨대, 동기화 기능)이 모듈화될 수 있다.11, the main functions (e.g., synchronization functions) of each device 1110, 1120, 1130, 1140 may be modularized to provide synchronization in a video streaming network environment.

미디어 캡쳐 장치(1110)는 해당 모듈의 지연 정보를 기록하기 위해 디바이스 프로파일 또는 메니페스트(manifest)를 포함할 수 있다. 미디어 캡쳐 장치(1110) 상의 장치 정보는 가변적일 수 있으나, 동적으로 변화되는 형태가 아니므로, 별도의 모듈 없이 프로파일(profile) 형태로 정의될 수 있으며, 해당 모듈의 지연(delay) 정보를 기록하기 위해 이용될 수 있다. 예컨대, 코덱의 타입(type), 인코딩 옵션(encoding option), 해상도 정보, 프레임율(frame rate) 정보, GoP 크기(size) 정보 등이 기록될 수 있다.Media capture device 1110 may include a device profile or manifest to record the delay information of the module. Since the device information on the media capture device 1110 may be variable but not dynamically changed, it may be defined as a profile without a separate module, and the delay information of the module may be recorded Lt; / RTI > For example, a type of a codec, an encoding option, resolution information, frame rate information, GoP size information, and the like can be recorded.

스트림 업로더(1120)는 기본 스트림 시간 동기 제어 모듈(Element Stream Time Sync. Controller)을 포함할 수 있으며, 기본 스트림 시간 동기 제어 모듈(Element Stream Time Sync. Controller)은 스트림 업로더 장치를 제어하고, 기본 스트림(Element Stream, ES)의 타임스탬프(Time Stamp) 등의 시간 정보와 스트림 프로토콜(stream protocol)의 설정을 제어할 수 있다. 이때, 시간 정보와 프로토콜의 설정을 제어하기 위한 제어 정보는 기본 스트림(ES)의 PTS(Presentation Time Stamp) 정보, DTS(Decoded Time Stamp) 정보를 포함할 수 있으며, 업스트리머(up streamer)의 버퍼 제어(buffer controller)를 통한 지연(delay) 조절, 프로토콜 별 특성에 따른 전송 우선 순위 조절, 장치의 시간 동기화 등을 수행하기 위해 이용될 수 있다.The stream uploader 1120 may include an element stream time sync controller, an element stream time sync controller may control the stream uploader device, It is possible to control the setting of time information such as a time stamp of an elementary stream (ES) and a stream protocol. At this time, the control information for controlling the setting of the time information and the protocol may include Presentation Time Stamp (PTS) information and DTS (Decoded Time Stamp) information of the base stream (ES) Delay adjustment through a buffer controller, transmission priority adjustment according to protocol specific characteristics, time synchronization of the apparatus, and the like.

미디어 동기화 시스템(1130)은 동기 관리 모듈(sync. Manager) 및 패킷화 시간 동기 제어 모듈(packetizer time sync. Controller)을 포함할 수 있다. 여기서, 동기 관리 모듈(sync. Manager)은 도 5의 지연 정보 생성부(520) 및 동기 정보 설정부(530) 중 적어도 하나를 모듈화한 것에 해당할 수 있다. 예컨대, 지연 정보 생성부(520), 동기 정보 설정부(530)에서 수행되는 동기화 기능이 하나로 통합되어 동기 관리 모듈(sync. Manager)로 모듈화될 수도 있고, 지연 정보 생성부(520), 동기 정보 설정부(530) 중 적어도 둘 이상 또는 하나만이 동기 관리 모듈(sync. Manager)로 모듈화될 수도 있다. 그리고, 패킷화 시간 동기 제어 모듈(packetizer time sync. Controller)은 도 5의 정보 수집부(510), 지연 측정부(540), 동기 정보 업데이트부(550) 및 단말 동기화부(560) 중 적어도 하나에서 수행되는 동기화 기능을 모듈화한 것에 해당할 수 있다. 즉, 패킷화 시간 동기 제어 모듈은 정보 수집부(510), 지연 측정부(540), 동기 정보 업데이트부(550) 및 단말 동기화부(560) 중 적어도 하나에 의해 수행될 수 있다.The media synchronization system 1130 may include a sync management module and a packetizer time sync control module. Here, the synchronization management module (sync.manager) may correspond to a modularization of at least one of the delay information generator 520 and the synchronization information setting unit 530 of FIG. For example, the synchronization functions performed in the delay information generation unit 520 and the synchronization information setting unit 530 may be integrated into a single synchronization management module (sync.manager), and may include a delay information generation unit 520, At least two or only one of the setting units 530 may be modularized into a sync management module. The packetization time synchronization controller may be configured to receive at least one of the information collecting unit 510, the delay measuring unit 540, the synchronization information updating unit 550 and the terminal synchronization unit 560 Which is a function of the synchronization function. That is, the packetization time synchronization control module may be performed by at least one of the information collecting unit 510, the delay measuring unit 540, the synchronization information updating unit 550, and the terminal synchronization unit 560.

먼저, 동기 관리 모듈(sync. Manager)은 IP 환경에서 멀티 소스 및 멀티 클라이언트 비디오 스트리밍 간의 전체 지연을 제어 및 관장하는 모듈을 나타낼 수 있다. 동기 관리 모듈을 통해 공통 시각 정보인 공통 타임 스탬프(common time stamp, CTS)가 제어될 수 있으며, 각 장치 간의 시간 동기화 여부가 확인되고, 장치 간의 시간 동기화가 제어될 수 있다.First, a sync management module (sync.manager) may represent a module that controls and supervises the overall delay between multi-source and multi-client video streaming in an IP environment. A common time stamp (CTS), which is common time information, can be controlled through the synchronization management module, and time synchronization between devices can be checked and time synchronization between devices can be controlled.

패킷화 시간 동기 제어 모듈(packetizer time sync. Controller)은 서버 장치인 미디어 동기화 시스템(1130)의 입력 스트림(예컨대, 소스 장치인 미디어 캡쳐 장치(1110) 및 스트림 업로더(1120)로부터 입력되는 스트림) 및 출력 스트림(예컨대, 사용자 단말(1140)로 제공되는 스트림) 간의 개별적인 시간 차이를 보정하고, 전체적인 네트워크 상황을 고려하여 최대 지연 설정 등을 수행할 수 있다. 예컨대, 패킷화 시간 동기 제어 모듈은 소스 장치 또는 사용자 단말들 간의 지연 정보를 수집하고, 최소 지연 기반의 동기화를 위한 지연 정보를 설정할 수 있다. 이때, 설정된 지연값을 초과하는 네트워크 환경에 포함된 사용자 단말의 경우, 사용자 단말들 간의 동기화 기능이 오프(off)되도록 제어될 수 있다.The packetizer time synchronization control module is a module for synchronizing the input stream of the media synchronization system 1130 which is a server device (for example, a stream input from the media capture device 1110 and the stream uploader 1120, which are source devices) And the output stream (e.g., the stream provided to the user terminal 1140), and perform a maximum delay setting or the like considering the overall network conditions. For example, the packetization time synchronization control module may collect delay information between a source device or user terminals and set delay information for minimum delay based synchronization. At this time, in case of a user terminal included in the network environment exceeding the set delay value, the synchronization function between user terminals can be controlled to be off.

사용자 단말(1140)은 디코더 시간 동기 제어 모듈(Decoder time sync. Controller)를 포함할 수 있다. 디코더 시간 동기 제어 모듈은 사용자 단말의 디코딩(decoding) 성능과 관련된 부분의 정보를 제어할 수 있다.The user terminal 1140 may include a decoder time sync controller. The decoder time synchronization control module can control the information related to the decoding performance of the user terminal.

예컨대, 디코더 시간 동기 제어 모듈은 사용자 단말의 미리 지정된 최대 처리 프레임율(frame rate) 정보에 기초하여 멀티 소스 스트림 처리 시 적절한 해상도 및 프레임율을 결정할 수 있다. 즉, 복수개의 해상도 및 프레임율 중 상기 멀티 소스 스트림의 디코딩에 알맞은(해당하는) 해상도 및 프레임율(frame rate)이 결정될 수 있다. 이때, 멀티 소스 스트림에 해당하는 해상도와 프레임율을 결정하기 위해 디코딩 버퍼(decoded buffer) 상에 생성되는 디패킷화된 스트림(de-packetized video stream)의 타임 스탬프(time stamp) 정보가 수정될 수 있다.For example, the decoder time synchronization control module may determine an appropriate resolution and frame rate for multi-source stream processing based on predetermined maximum processing frame rate information of the user terminal. That is, a resolution and a frame rate suitable for decoding of the multi-source stream among a plurality of resolutions and frame rates can be determined. At this time, in order to determine the resolution and the frame rate corresponding to the multi-source stream, the time stamp information of the de-packetized video stream created on the decoded buffer may be modified have.

그리고, 디코더 시간 동기 제어 모듈은 각각의 사용자 단말들 간의 동기화를 위해서 공통 시각 정보인 CTS에 대한 관리 및 재생 속도의 제어를 통해 시작 시간 지연(start time delay) 등에 대한 지연 편가를 제어할 수 있다.In addition, the decoder time synchronization control module can control the delay unit for the start time delay and the like through control of the management and playback speed for the common time information CTS for synchronization between the respective user terminals.

도 12는 시간 동기화를 수행한 실험 결과를 나타내는 화면 구성을 도시한 도면이다12 is a diagram showing a screen configuration showing an experiment result of performing time synchronization

도 12에서는 스탑 워치 비디오(stop watch video)를 이용하여 시간 동기화 실험 결과와 관련하여 스크린 샷(screen shot) 캡쳐된 화면 구성을 나타낼 수 있다. 도 12의 실험은, 서버 장치인 미디어 동기화 시스템(1130)에 포함된 모듈과 사용자 단말(1140)에 포함된 모듈을 통해 멀티 소스 스트림(즉, multiple video stream)에 대해 여러대의 사용자 단말들(1210, 1220, 1230, 1240) 상의 동기화에 대한 기능을 검증하기 위한 것이다. 실험을 위한 네트워크 환경은 2대의 서버(예컨대, 비디오 스트림을 공급하는 미디어 동기화 시스템), 4대의 사용자 단말(예컨대, 스마트폰 등에 구현된 테스트 플레이어(test player)을 포함할 수 있다. 이때, 4대의 사용자 단말(1210, 1220, 1230, 1240)은 와이파이(WiFi) 또는 LTE 연결을 통해 무선 인터넷을 수행할 수 있다. 그리고, 사용자 단말의 디코딩 성능차에 대한 테스트를 위해 사용자 단말들 중 한대는 제조사가 다른 장치로 구성될 수 있다. 예컨대, 단말 1210은 A사의 제품모델 AAA(예컨대, LG G5 등), 단말 1220 내지 1240은 B사의 제품모델 BBB(예컨대, 삼성 갤럭시 S7 edge 등)로 제조사가 서로 다른 장치로 구성될 수 있다. 비디오 스트림으로 사용한 스탑 워치 콘텐츠(stop watch content)의 경우, 프레임율(frame rate)이 30fps이므로, 실제 비디오를 스크린 샷(screen shot) 기능을 이용하여 찍어 판단하는 경우, 30/1000ms 수준의 검증이 가능할 수 있다.In FIG. 12, a stop watch video can be used to indicate a screen shot captured screen configuration with respect to time synchronization experiment results. The experiment of FIG. 12 shows that multiple user terminals 1210 (FIG. 12) are connected to a multi-source stream (i.e., multiple video streams) through a module included in the media synchronization system 1130, , 1220, 1230, 1240). The network environment for the experiment may include two servers (e.g., a media synchronization system that supplies video streams), four user terminals (e.g., test players implemented in a smart phone, etc.) The user terminals 1210, 1220, 1230, and 1240 can perform wireless Internet through a WiFi or LTE connection. In order to test a decoding performance difference of a user terminal, (For example, Samsung Galaxy S7 edge or the like) of the company B and a terminal 1220 to 1240 of the product model BBA of the company B (for example, Samsung Galaxy S7 edge, etc.) In the case of the stop watch content used as a video stream, since the frame rate is 30 fps, the actual video can be used as a screen shot function If the dip is determined using, it may be verified in the 30 / 1000ms level.

도 12에서, 실제 테스트의 동작은 2대의 서버에서 콘솔(console)을 통해 동시에 스트림(stream)을 전송하고, 사용자 단말들 각각에 설치된 클라이언트 프로그램(client program)을 이용해 서버에 접속하는 형태로 진행될 수 있다.In FIG. 12, the actual test operation can be performed in the form of transmitting streams at the same time through two consoles in a server, and connecting to a server using a client program installed in each of the user terminals. have.

도 12는, 서버와 통신 세션이 설정되어 연결된 사용자 단말들(즉, 비디오 스트림에 접속된 단말, 1210 내지 1240) 각각에서 재생 중인 스탑 워치 콘텐츠를 촬영한 결과를 나타낼 수 있다. 도 12를 참고하면, 사용자 단말들(1210 내지 1240) 각각에서 촬영한 콘텐츠는 동일한 비디오 프레임(video frame)을 나타냄을 확인할 수 있으며, 단말 1230의 경우, ms 단위에서 프레임의 갱신(update)이 발생함을 확인할 수 있다. 그리고, 4대의 단말들(1210, 1220, 1230, 1240)은 멀티 소스에서 멀티 클라이언트 간의 동기화가 약 30/1000ms 수준에서 발생함을 확인할 수 있다.Fig. 12 can show the result of shooting the playing stopwatch content in each of the user terminals (i.e., terminals connected to the video stream, 1210 to 1240) in which a communication session with the server is established and connected. Referring to FIG. 12, it can be seen that the content photographed by each of the user terminals 1210 to 1240 represents the same video frame. In the case of the terminal 1230, . Also, it can be seen that the synchronization between the multi-clients and the multi-clients occurs at about 30/1000 ms in the four terminals 1210, 1220, 1230, and 1240.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (21)

스트림 소스(stream source) 정보를 수집하는 단계;
스트림 소스(stream source) 간의 지연 테스트(delay test)를 수행하여 스트림 소스 간의 네트워크 지연 정보를 생성하는 단계;
수집된 상기 스트림 소스 정보와 상기 네트워크 지연 정보에 기초하여 특정 채널에 해당하는 스트림 소스의 동기 정보를 설정하는 단계;
상기 스트림 소스를 전송받고자 하는 적어도 하나의 사용자 단말과의 네트워크 지연(delay)를 측정하는 단계; 및
측정된 상기 네트워크 지연에 기초하여 상기 동기 정보를 업데이트하는 단계
를 포함하고,
상기 스트림 소스 정보는, 소스 장치의 디바이스 프로파일(device profile) 정보를 포함하는 H/W 특성 정보, 상기 디바이스 프로파일 정보를 기반으로 하는 코덱 특성 정보와 프레임율 정보를 포함하는 S/W 특성 정보를 포함하고,
상기 스트림 소스의 동기 정보를 설정하는 단계는,
소스 장치와 서버 간의 시간 동기화를 위해 해당 소스 장치 및 소스 장치의 소프트웨어의 설정을 변경시키도록 상기 스트림 소스의 동기 정보를 설정하는 것
을 특징으로 하는 미디어 동기화 방법.
Collecting stream source information;
Performing a delay test between stream sources to generate network delay information between stream sources;
Setting synchronization information of a stream source corresponding to a specific channel based on the collected stream source information and the network delay information;
Measuring a network delay with at least one user terminal to receive the stream source; And
Updating the synchronization information based on the measured network delay
Lt; / RTI >
The stream source information includes H / W characteristic information including device profile information of the source device, S / W characteristic information including codec characteristic information and frame rate information based on the device profile information and,
Wherein the setting of the synchronization information of the stream source comprises:
Setting synchronization information of the stream source to change setting of the software of the source device and the source device for time synchronization between the source device and the server
The media synchronization method comprising:
제1항에 있어서,
상기 사용자 단말의 시간 정보(Time Clock)에 기초하여 사용자 단말과의 시간 동기화를 수행하는 단계
를 더 포함하는 미디어 동기화 방법.
The method according to claim 1,
Performing time synchronization with a user terminal based on time information of the user terminal (Time Clock)
The media synchronization method further comprising:
제2항에 있어서,
상기 사용자 단말과의 시간 동기화를 수행하는 단계는,
복수의 사용자 단말에서 상기 스트림 소스의 제공을 요청한 경우, 상기 복수의 사용자 단말들 각각으로 해당 단말의 시간 정보(Time clock)를 요청하는 단계;
상기 시간 정보 요청에 대한 응답으로, 상기 복수의 사용자 단말들 각각으로부터 해당 단말의 시간 정보를 수신하는 단계; 및
수신된 시간 정보에 기초하여 복수의 사용자 단말들 간의 시간 동기화를 수행하는 단계
를 포함하는 미디어 동기화 방법.
3. The method of claim 2,
Wherein performing time synchronization with the user terminal comprises:
Requesting a time clock of a corresponding terminal from each of the plurality of user terminals when requesting provision of the stream source from a plurality of user terminals;
Receiving time information of a corresponding terminal from each of the plurality of user terminals in response to the time information request; And
Performing time synchronization between a plurality of user terminals based on the received time information
Lt; / RTI >
제3항에 있어서,
상기 수신된 시간 정보에 기초하여 복수의 사용자 단말들 간의 시간 동기화를 수행하는 단계는,
상기 해당 단말의 시간 정보와 해당 단말의 식별자 정보에 기초하여 공통 타임 스탬프(common time stamp, CTS)를 생성하는 단계; 및
생성된 상기 공통 타임 스탬프(CTS)를 삽입한 스트림(stream)을 상기 복수의 사용자 단말들 각각으로 제공하는 단계
를 포함하는 미디어 동기화 방법.
The method of claim 3,
Wherein performing time synchronization between a plurality of user terminals based on the received time information comprises:
Generating a common time stamp (CTS) based on the time information of the corresponding terminal and the identifier information of the corresponding terminal; And
Providing a stream in which the generated common time stamp (CTS) is inserted to each of the plurality of user terminals
Lt; / RTI >
제2항에 있어서,
상기 사용자 단말과의 시간 동기화를 수행하는 단계는,
상기 사용자 단말의 시간 정보(Time Clock)에 기초하여 미디어 동기화 시스템과 상기 사용자 단말 간의 시간 정보를 생성하는 단계;
생성된 시간 정보에 기초하여 동기화된 시각을 포함하는 공통 타임 스탬프(common time stamp, CTS)를 생성하는 단계; 및
생성된 공통 타임 스탬프(CTS)를 상기 사용자 단말로 전송하고자 하는 서로 다른 채널에 해당하는 각 스트림에 삽입하여 전송하는 단계
를 포함하는 미디어 동기화 방법.
3. The method of claim 2,
Wherein performing time synchronization with the user terminal comprises:
Generating time information between the media synchronization system and the user terminal based on time information of the user terminal;
Generating a common time stamp (CTS) including the synchronized time based on the generated time information; And
And transmitting the generated common time stamp (CTS) to each of the streams corresponding to different channels to be transmitted to the user terminal
Lt; / RTI >
제5항에 있어서,
상기 공통 타임 스탬프(CTS)가 삽입된 스트림은, 상기 공통 타임 스탬프에 기초하여 디코딩 시간을 맞추어 재생되는 것을 특징으로 하는 미디어 동기화 방법.
6. The method of claim 5,
Wherein the stream inserted with the common time stamp (CTS) is reproduced in accordance with the decoding time based on the common time stamp.
제2항에 있어서,
상기 사용자 단말과의 시간 동기화를 수행하는 단계는,
소스 장치로부터 전달 받은 상기 스트림 소스와 상기 사용자 단말로 전달하고자 하는 스트림 간의 시간 차이를 보정하는 단계
를 포함하는 미디어 동기화 방법.
3. The method of claim 2,
Wherein performing time synchronization with the user terminal comprises:
Correcting a time difference between the stream source received from the source apparatus and a stream to be transmitted to the user terminal
Lt; / RTI >
제2항에 있어서,
상기 정보를 수집하는 단계는,
상기 사용자 단말과 네트워크를 형성하는 소스 장치 및 상기 사용자 단말로부터 지연 정보를 수집하고,
상기 사용자 단말과의 시간 동기화를 수행하는 단계는,
수집된 상기 지연 정보를 기반으로 사용자 단말들 간의 동기화 기능이 오프(off)되도록 제어하는 것
을 특징으로 하는 미디어 동기화 방법.
3. The method of claim 2,
The step of collecting the information comprises:
A source apparatus that forms a network with the user terminal, and a control unit that collects delay information from the user terminal,
Wherein performing time synchronization with the user terminal comprises:
And controlling the synchronization function between user terminals to be off based on the collected delay information
The media synchronization method comprising:
제1항에 있어서,
상기 스트림 소스(stream source) 정보를 수집하는 단계는,
상기 스트림 소스를 제공하는 소스 장치로부터 소스 장치의 디바이스 프로파일(device profile) 정보 또는 메니페스트(Manifest) 정보를 수집하는 것
을 특징으로 하는 미디어 동기화 방법.
The method according to claim 1,
Wherein the collecting the stream source information comprises:
Collecting device profile information or manifest information of the source device from the source device providing the stream source
The media synchronization method comprising:
제1항에 있어서,
상기 스트림 소스의 동기 정보를 설정하는 단계는,
복수의 스트림 소스들을 사용자 단말로 제공하는 경우, 상기 복수의 스트림 소스를 어셋(asset) 형태로 엮은 후 복수의 스트림 소스들 간의 동기화 여부를 판단하는 단계; 및
판단 결과에 기초하여 상기 복수의 스트림 소스들 각각의 동기 정보를 설정함으로써 소스 간 동기화를 수행하는 단계
를 포함하는 미디어 동기화 방법.
The method according to claim 1,
Wherein the setting of the synchronization information of the stream source comprises:
A method of providing a plurality of stream sources to a user terminal, the method comprising the steps of binding the plurality of stream sources in an asset form and determining whether the plurality of stream sources are synchronized with each other; And
Performing synchronization between sources by setting synchronization information of each of the plurality of stream sources based on the determination result
Lt; / RTI >
스트림 소스(stream source) 정보를 수집하는 정보 수집부;
스트림 소스(stream source) 간의 지연 테스트(delay test)를 수행하여 스트림 소스 간의 네트워크 지연 정보를 생성하는 지연 정보 생성부;
수집된 상기 스트림 소스 정보와 상기 네트워크 지연 정보에 기초하여 특정 채널에 해당하는 스트림 소스의 동기 정보를 설정하는 동기 정보 설정부;
상기 스트림 소스를 전송받고자 하는 적어도 하나의 사용자 단말과의 네트워크 지연(delay)를 측정하는 지연 측정부; 및
측정된 상기 네트워크 지연에 기초하여 상기 동기 정보를 업데이트하는 동기 정보 업데이트부
를 포함하고,
상기 스트림 소스 정보는, 소스 장치의 디바이스 프로파일(device profile) 정보를 포함하는 H/W 특성 정보, 상기 디바이스 프로파일 정보를 기반으로 하는 코덱 특성 정보와 프레임율 정보를 포함하는 S/W 특성 정보를 포함하고,
상기 동기 정보 설정부는,
소스 장치와 서버인 미디어 동기화 시스템 간의 시간 동기화를 위해 해당 소스 장치 및 소스 장치의 소프트웨어의 설정을 변경시키도록 상기 스트림 소스의 동기 정보를 설정하는 것
을 특징으로 하는 미디어 동기화 시스템.
An information collecting unit for collecting stream source information;
A delay information generation unit for performing a delay test between stream sources to generate network delay information between stream sources;
A synchronization information setting unit for setting synchronization information of a stream source corresponding to a specific channel based on the collected stream source information and the network delay information;
A delay measurement unit measuring a network delay with at least one user terminal to which the stream source is to be transmitted; And
And a synchronization information update unit for updating the synchronization information based on the measured network delay,
Lt; / RTI >
The stream source information includes H / W characteristic information including device profile information of the source device, S / W characteristic information including codec characteristic information and frame rate information based on the device profile information and,
Wherein the synchronization information setting unit comprises:
Setting synchronization information of the stream source to change settings of the software of the source device and the source device for time synchronization between the source device and the media synchronization system which is a server
The media synchronization system comprising:
제11항에 있어서,
상기 사용자 단말의 시간 정보(Time Clock)에 기초하여 사용자 단말과의 시간 동기화를 수행하는 단말 동기화부
를 더 포함하는 미디어 동기화 시스템.
12. The method of claim 11,
A terminal synchronization unit for performing time synchronization with a user terminal based on time information of the user terminal,
The media synchronization system further comprising:
제12항에 있어서,
상기 단말 동기화부는,
복수의 사용자 단말에서 상기 스트림 소스의 제공을 요청한 경우, 상기 복수의 사용자 단말들 각각으로 해당 단말의 시간 정보(Time clock)를 요청하고, 상기 시간 정보 요청에 대한 응답으로, 상기 복수의 사용자 단말들 각각으로부터 해당 단말의 시간 정보를 수신하고, 수신된 시간 정보에 기초하여 복수의 사용자 단말들 간의 시간 동기화를 수행하는 것
을 특징으로 하는 미디어 동기화 시스템.
13. The method of claim 12,
Wherein the terminal synchronization unit comprises:
The method of claim 1, further comprising: requesting a time clock of the terminal from each of the plurality of user terminals when requesting the provision of the stream source from a plurality of user terminals, Receiving time information of the corresponding terminal from each of the plurality of user terminals, and performing time synchronization between the plurality of user terminals based on the received time information
The media synchronization system comprising:
제13항에 있어서,
상기 단말 동기화부는,
상기 해당 단말의 시간 정보와 해당 단말의 식별자 정보에 기초하여 공통 타임 스탬프(common time stamp, CTS)를 생성하고, 생성된 상기 공통 타임 스탬프(CTS)를 삽입한 스트림(stream)을 상기 복수의 사용자 단말들 각각으로 제공하는 것
을 특징으로 하는 미디어 동기화 시스템.
14. The method of claim 13,
Wherein the terminal synchronization unit comprises:
A common time stamp (CTS) is generated based on the time information of the corresponding terminal and the identifier information of the corresponding terminal, and a stream inserted with the generated common time stamp (CTS) To each of the terminals
The media synchronization system comprising:
제12항에 있어서,
상기 단말 동기화부는,
상기 사용자 단말의 시간 정보(Time Clock)에 기초하여 미디어 동기화 시스템과 상기 사용자 단말 간의 시간 정보를 생성하고, 생성된 시간 정보에 기초하여 동기화된 시각을 포함하는 공통 타임 스탬프(common time stamp, CTS)를 생성하고, 생성된 공통 타임 스탬프(CTS)를 상기 사용자 단말로 전송하고자 하는 서로 다른 채널에 해당하는 각 스트림에 삽입하여 전송하는 것
을 특징으로 하는 미디어 동기화 시스템.
13. The method of claim 12,
Wherein the terminal synchronization unit comprises:
Generating time information between the media synchronization system and the user terminal based on time information of the user terminal, generating a common time stamp (CTS) including synchronized time based on the generated time information, And transmitting the generated common time stamp (CTS) to each stream corresponding to a different channel to be transmitted to the user terminal
The media synchronization system comprising:
제15항에 있어서,
상기 공통 타임 스탬프(CTS)가 삽입된 스트림은, 상기 공통 타임 스탬프에 기초하여 디코딩 시간을 맞추어 재생되는 것을 특징으로 하는 미디어 동기화 시스템.
16. The method of claim 15,
Wherein the stream inserted with the common time stamp (CTS) is reproduced in accordance with the decoding time based on the common time stamp.
제11항에 있어서,
상기 정보 수집부는,
상기 스트림 소스를 제공하는 소스 장치로부터 소스 장치의 디바이스 프로파일(device profile) 정보 또는 메니페스트(Manifest) 정보를 수집하는 것
을 특징으로 하는 미디어 동기화 시스템.
12. The method of claim 11,
The information collecting unit,
Collecting device profile information or manifest information of the source device from the source device providing the stream source
The media synchronization system comprising:
제11항에 있어서,
상기 동기 정보 설정부는,
복수의 스트림 소스들을 사용자 단말로 제공하는 경우, 상기 복수의 스트림 소스를 어셋(asset) 형태로 엮은 후 복수의 스트림 소스들 간의 동기화 여부를 판단하고, 판단 결과에 기초하여 상기 복수의 스트림 소스들 각각의 동기 정보를 설정함으로써 소스 간 동기화를 수행하는 것
을 특징으로 하는 미디어 동기화 시스템.
12. The method of claim 11,
Wherein the synchronization information setting unit comprises:
A method for providing a plurality of stream sources to a user terminal, the method comprising the steps of: arranging the plurality of stream sources in an asset form, determining whether the plurality of stream sources are synchronized with each other, To perform synchronization between sources by setting synchronization information of the source
The media synchronization system comprising:
스트림 소스(stream source)를 제공하는 서버로 단말의 시간 정보(Time clock)를 제공하는 단계; 및
제공된 상기 시간 정보에 기초하여 동기화된 시각을 포함하는 공통 타임 스탬프(common time stamp, CTS)에 기초하여 상기 서버로부터 상기 스트림 소스를 제공받는 다른 사용자 단말 또는 복수의 스트림 소스들 간의 디코딩 시간을 동기화하는 단계
를 포함하고,
상기 스트림 소스는 복수의 소스 장치로부터 상기 서버를 통해 상기 단말로 제공되고,
상기 복수의 소스 장치 및 복수의 소스 장치의 소프트웨어의 설정을 변경시키도록 설정된 스트림 소스의 동기 정보를 기반으로 상기 서버와 복수의 소스 장치 각각 간의 시간 동기화가 수행되고,
상기 스트림 소스 정보는, 소스 장치의 디바이스 프로파일(device profile) 정보를 포함하는 H/W 특성 정보, 상기 디바이스 프로파일 정보를 기반으로 하는 코덱 특성 정보와 프레임율 정보를 포함하는 S/W 특성 정보를 포함하는 것
을 특징으로 하는 사용자 단말에서의 미디어 동기화 방법.
Providing a time clock of a terminal to a server providing a stream source; And
Synchronizing a decoding time between another user terminal or a plurality of stream sources which are provided with the stream source from the server based on a common time stamp (CTS) including a synchronized time based on the provided time information step
Lt; / RTI >
Wherein the stream source is provided from a plurality of source apparatuses to the terminal via the server,
Time synchronization between the server and each of the plurality of source devices is performed based on synchronization information of a stream source set to change settings of software of the plurality of source devices and the plurality of source devices,
The stream source information includes H / W characteristic information including device profile information of the source device, S / W characteristic information including codec characteristic information and frame rate information based on the device profile information To do
The method comprising the steps of:
제19항에 있어서,
상기 공통 타임 스탬프(CTS)는,
상기 단말의 시간 정보에 기초하여 상기 서버에서 생성된 상기 서버와 단말 간의 동기화된 시각을 포함하고,
상기 동기화하는 단계는,
상기 서버와 단말 간의 동기화된 시각을 포함하는 상기 공통 타임 스탬프(CTS)에 기초하여 상기 복수의 스트림 소스들 간의 디코딩 시간을 동기화하는 것
을 특징으로 하는 사용자 단말에서의 미디어 동기화 방법.
20. The method of claim 19,
The common time stamp (CTS)
And a synchronized time between the server and the terminal generated by the server based on time information of the terminal,
Wherein the synchronizing comprises:
Synchronizing the decoding time between the plurality of stream sources based on the common time stamp (CTS) including the synchronized time between the server and the terminal
The method comprising the steps of:
제19항에 있어서,
상기 공통 타임 스탬프(CTS)는,
복수의 사용자 단말들 각각의 시간 정보(Time Clock)에 기초하여 상기 서버에서 생성된 단말들 간의 동기화된 시각을 포함하고,
상기 동기화하는 단계는,
상기 단말들 간의 동기화된 시각을 포함하는 상기 공통 타임 스탬프(CTS)에 기초하여 상기 스트림 소스를 제공받는 다른 사용자 단말과 동기를 맞추는 것
을 특징으로 하는 사용자 단말에서의 미디어 동기화 방법.
20. The method of claim 19,
The common time stamp (CTS)
A synchronized time between terminals generated in the server based on time information of each of a plurality of user terminals,
Wherein the synchronizing comprises:
Synchronizing with another user terminal provided with the stream source based on the common time stamp (CTS) including the synchronized time between the terminals
The method comprising the steps of:
KR1020170081223A 2017-02-03 2017-06-27 Method and system for media synchronization KR101934200B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/662,986 US10341672B2 (en) 2017-02-03 2017-07-28 Method and system for media synchronization

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170015321 2017-02-03
KR1020170015321 2017-02-03

Publications (2)

Publication Number Publication Date
KR20180090719A KR20180090719A (en) 2018-08-13
KR101934200B1 true KR101934200B1 (en) 2019-04-05

Family

ID=63250666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170081223A KR101934200B1 (en) 2017-02-03 2017-06-27 Method and system for media synchronization

Country Status (1)

Country Link
KR (1) KR101934200B1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102167276B1 (en) * 2018-09-05 2020-10-19 주식회사 엘지유플러스 Apparatus and method for processing a plurality of moving picture
US10931909B2 (en) * 2018-09-18 2021-02-23 Roku, Inc. Wireless audio synchronization using a spread code
US10992336B2 (en) 2018-09-18 2021-04-27 Roku, Inc. Identifying audio characteristics of a room using a spread code
US10958301B2 (en) 2018-09-18 2021-03-23 Roku, Inc. Audio synchronization of a dumb speaker and a smart speaker using a spread code
KR102179547B1 (en) * 2019-04-26 2020-11-17 재단법인 실감교류인체감응솔루션연구단 Method and apparatus for operating dynamic network service based on latency
KR102284043B1 (en) * 2020-07-01 2021-08-02 주식회사 아이엠파인 Method, apparatus and computer readable recording medium for time synchronization between devices and simultaneous execution of multiple devices using thereof
KR102445069B1 (en) * 2020-12-01 2022-09-21 주식회사 마젠타컴퍼니 System and method for integrated transmission by synchronizing a plurality of media sources
KR102565295B1 (en) * 2020-12-29 2023-08-10 서울대학교산학협력단 Apparatus and method for evaluating performance of video streaming system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5855538B2 (en) * 2012-06-28 2016-02-09 カシオ計算機株式会社 Imaging apparatus, imaging system, imaging method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20031657A (en) * 2003-11-14 2005-05-15 Nokia Corp Wireless multi-camera system
EP3047652B1 (en) * 2013-09-20 2020-05-06 Koninklijke KPN N.V. Correlating timeline information between media streams
KR20150072231A (en) * 2013-12-19 2015-06-29 한국전자통신연구원 Apparatus and method for providing muti angle view service

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5855538B2 (en) * 2012-06-28 2016-02-09 カシオ計算機株式会社 Imaging apparatus, imaging system, imaging method, and program

Also Published As

Publication number Publication date
KR20180090719A (en) 2018-08-13

Similar Documents

Publication Publication Date Title
KR101934200B1 (en) Method and system for media synchronization
US10341672B2 (en) Method and system for media synchronization
KR102269311B1 (en) Transmission device, transmission method, reception device, and reception method
US11758209B2 (en) Video distribution synchronization
JP5854243B2 (en) Method and apparatus for IP video signal synchronization
CN105245977B (en) Method for synchronous live broadcast of multiple groups of cameras
US11201903B1 (en) Time synchronization between live video streaming and live metadata
US20150222815A1 (en) Aligning videos representing different viewpoints
US11553215B1 (en) Providing alternative live media content
EP2690876A2 (en) Heterogeneous network-based linked broadcast content transmitting/receiving device and method
KR20100073079A (en) Multiple camera control and image storing apparatus and method for synchronized multiple image acquisition
WO2007061068A1 (en) Receiver and line video distributing device
KR101446995B1 (en) Helmet for imaging multi angle video and method thereof
US11076197B1 (en) Synchronization of multiple video-on-demand streams and methods of broadcasting and displaying multiple concurrent live streams
KR101748382B1 (en) Method and system for providing video streaming
JP2009171294A (en) Video distribution system, video relay apparatus, and video relay method
CN103828383A (en) Method of saving content to a file on a server and corresponding device
JP7365212B2 (en) Video playback device, video playback system, and video playback method
JP2019033362A (en) Distribution apparatus, reception apparatus, and program
KR102150685B1 (en) Method and Apparatus for Switching Media Service Channel
JP6907104B2 (en) Video distribution device, control method and program
KR20130008436A (en) Methods of providing timing information for synchronizing mmt packet streams in mmt hybrid delivery service and methods of synchronizing mmt packet streams in mmt hybrid delivery service
KR101810883B1 (en) Live streaming system and streaming client thereof
KR102599664B1 (en) System operating method for transfering multiview video and system of thereof
JP2010183237A (en) System and method of content synchronous reproduction, reproduction terminal, method of controlling the same, and control program

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