KR20140066641A - 서버, 멀티미디어 기기 및 그들의 제어방법 - Google Patents

서버, 멀티미디어 기기 및 그들의 제어방법 Download PDF

Info

Publication number
KR20140066641A
KR20140066641A KR1020130131964A KR20130131964A KR20140066641A KR 20140066641 A KR20140066641 A KR 20140066641A KR 1020130131964 A KR1020130131964 A KR 1020130131964A KR 20130131964 A KR20130131964 A KR 20130131964A KR 20140066641 A KR20140066641 A KR 20140066641A
Authority
KR
South Korea
Prior art keywords
playback
multimedia
server
time
synchronous
Prior art date
Application number
KR1020130131964A
Other languages
English (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 US14/086,528 priority Critical patent/US20140149606A1/en
Priority to EP13194145.2A priority patent/EP2736263A1/en
Publication of KR20140066641A publication Critical patent/KR20140066641A/ko

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
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

본 발명에 따른 멀티미디어 기기는, 서버와 연결하는 통신부와; 상기 서버로 멀티미디어 컨텐츠의 재생시작요청을 전송하고, 상기 서버로부터 상기 재생시작요청에 대응하여 결정된 상기 멀티미디어 컨텐츠의 재생 동기화를 위한 동기화정보를 수신하고, 상기 수신한 동기화정보에 기초하여 상기 멀티미디어 컨텐츠를 동기 재생하도록 제어하는 제어부를 포함한다.
이에 따라, 멀티미디어 기기를 이용함에 있어, 복수의 멀티미디어 기기에서의 멀티미디어 컨텐츠의 동기 재생의 정확도를 향상시킬 수 있다.

Description

서버, 멀티미디어 기기 및 그들의 제어방법{SERVER, MULTIMEDIA APPARATUS, AND CONTROL METHOD OF THEREOF}
본 발명은 서버, 멀티미디어 기기 및 그들의 제어방법에 관한 것으로서, 보다 상세하게는 복수의 멀티미디어 기기에서의 멀티미디어 컨텐츠의 동기 재생을 제공하는 서버, 멀티미디어 기기 및 그들의 제어방법에 관한 것이다.
기존의 임베디드식 멀티미디어 기기에는 모두 미디어 플레이어가 제공되어 있고 플레이어의 핵심은 오디오/비디오(A/V)의 동기화 엔진이다. 따라서, 멀티 플레이어의 동기 재생 미디어의 기능을 실현하려면 반드시 오디오/비디오(A/V) 동기화 제어 중에 멀티 플레이어 동기 재생의 대화식 제어 및 클럭 제어를 추가해야 한다.
기존의 멀티 플레이어 동기 재생 미디어 기술에는 하기와 같은 결함이 존재한다.
1. 임베디드식 멀티미디어 기기 중의 플레이어 오디오/비디오(A/V) 동기화 엔진의 대부분은 로컬 기기의 시스템 클럭을 사용하므로 각 기기 상의 시스템 클럭은 서로 다를 수 있다. 따라서, 복수개의 기기 플레이어 클럭의 일치성을 확보할 수 없고 이로 인해 멀티 플레이어를 동기적으로 정확하게 재생할 수 없게 된다.
2. 복수개의 기기 플레이어의 재생을 진행할 경우, 그 중의 한 기기의 플레이어를 조작하면 기타 기기의 플레이어는 외장의 하드웨어 제어 기기가 없는 상황 하에 동기적인 응답을 할 수 없으며 따라서 조작의 동기화를 확보할 수 없다.
따라서 본 발명의 목적은, 멀티미디어 기기를 이용함에 있어, 복수의 멀티미디어 기기에서의 멀티미디어 컨텐츠의 동기 재생의 정확도를 향상시킬 수 있는 서버, 멀티미디어 기기 및 그들의 제어방법을 제공하는 것이다.
상기 목적은, 본 발명에 따라, 서버의 제어방법에 있어서, 복수의 멀티미디어 기기 중 하나의 멀티미디어 기기로부터 멀티미디어 컨텐츠의 재생시작요청을 수신하는 단계와; 서버의 시스템클럭에 기초하여 복수의 멀티미디어 기기 간 멀티미디어 컨텐츠의 재생 동기화를 위한 동기화정보를 결정하는 단계와; 결정된 시스템클럭에 대응하는 동기화정보를 복수의 멀티미디어 기기로 전송하는 단계를 포함하는 서버의 제어방법에 의해서 달성될 수 있다.
상기 복수의 멀티미디어 기기로 전송하는 단계는, 상기 시스템클럭에 기초하여 결정된 동기화정보를 주기적으로 전송하는 단계를 포함할 수 있다.
상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생지연이 발생한 경우, 상기 재생지연 시간을 수신하고, 상기 재생지연 시간에 기초하여 상기 시스템클럭을 조정하는 단계를 포함할 수 있다.
상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생 일시정지가 발생한 경우, 상기 재생 일시정지 시간을 수신하고, 상기 재생 일시정지 시간에 기초하여 상기 시스템클럭을 조정하는 단계를 포함할 수 있다.
상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생 일시정지 후 다시 재생이 발생한 경우, 상기 재생 시작 시간을 수신하고, 상기 재생 시작 시간에 기초하여 상기 시스템클럭을 조정하는 단계를 포함할 수 있다.
상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 시간검색이 발생한 경우, 상기 시간 검색 시간을 수신하고, 상기 시간 검색 시간에 기초하여 상기 시스템클럭을 조정하는 단계를 포함할 수 있다.
상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생정지가 발생한 경우, 상기 재생 정지 요청을 수신하고, 상기 재생 정지 요청에 따라 멀티미디어 컨텐츠의 재생을 정지하는 단계를 포함할 수 있다.
상기 목적은, 본 발명에 따라, 서버에 있어서, 복수의 멀티미디어 기기와 연결하는 통신부와; 복수의 멀티미디어 기기 중 하나의 멀티미디어 기기로부터 멀티미디어 컨텐츠의 재생시작요청을 수신하고, 서버의 시스템클럭에 기초하여 복수의 멀티미디어 기기 간 멀티미디어 컨텐츠의 재생 동기화를 위한 동기화정보를 결정하고, 결정된 시스템클럭에 대응하는 동기화정보를 복수의 멀티미디어 기기로 전송하도록 제어하는 제어부를 포함하는 서버에 의해 달성될 수 있다.
상기 제어부는, 상기 복수의 멀티미디어 기기로 상기 시스템클럭에 기초하여 결정된 동기화정보를 주기적으로 전송할 수 있고, 상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생지연이 발생한 경우, 상기 재생지연 시간을 수신하고, 상기 재생지연 시간에 기초하여 상기 시스템클럭을 조정할 수 있다.
또한, 상기 제어부는, 상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생 일시정지가 발생한 경우, 상기 재생 일시정지 시간을 수신하고, 상기 재생 일시정지 시간에 기초하여 상기 시스템클럭을 조정할 수 있고, 상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생 일시정지 후 다시 재생이 발생한 경우, 상기 재생 시작 시간을 수신하고, 상기 재생 시작 시간에 기초하여 상기 시스템클럭을 조정할 수 있다.
상기 제어부는, 상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 시간검색이 발생한 경우, 상기 시간 검색 시간을 수신하고, 상기 시간 검색 시간에 기초하여 상기 시스템클럭을 조정할 수 있고, 상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생정지가 발생한 경우, 상기 재생 정지 요청을 수신하고, 상기 재생 정지 요청에 따라 멀티미디어 컨텐츠의 재생을 정지할 수 있다.
상기 목적은, 본 발명에 따라, 멀티미디어 기기의 제어방법에 있어서, 서버로 멀티미디어 컨텐츠의 재생시작요청을 전송하는 단계와; 서버로부터 재생시작요청에 대응하여 결정된 멀티미디어 컨텐츠의 재생 동기화를 위한 동기화정보를 수신하는 단계와; 수신한 동기화정보에 기초하여 멀티미디어 컨텐츠를 동기 재생하는 단계를 포함하는 멀티미디어 기기의 제어방법에 의해서도 달성될 수 있다.
상기 서버로부터 상기 동기화정보를 수신하는 단계는, 상기 서버의 시스템클럭에 기초하여 결정된 동기화정보를 주기적으로 수신하는 단계를 포함할 수 있고, 상기 멀티미디어 컨텐츠의 재생지연이 발생한 경우, 상기 서버로 상기 재생지연 시간을 전송하는 단계를 포함할 수 있다.
상기 멀티미디어 컨텐츠의 재생 일시정지가 발생한 경우, 상기 서버로 상기 재생 일시정지 시간을 전송하는 단계를 포함할 수 있고, 상기 멀티미디어 컨텐츠의 재생 일시정지 후 다시 재생이 발생한 경우, 상기 서버로 상기 재생 시작 시간을 전송하는 단계를 포함할 수 있다.
또한, 상기 멀티미디어 컨텐츠의 시간검색이 발생한 경우, 상기 서버로 상기 시간 검색 시간을 전송하는 단계를 포함할 수 있고, 상기 멀티미디어 컨텐츠의 재생정지가 발생한 경우, 상기 서버로 상기 재생 정지 요청을 전송하는 단계를 포함할 수 있다.
상기 목적은, 본 발명에 따라, 멀티미디어 기기에 있어서, 서버와 연결하는 통신부와; 서버로 멀티미디어 컨텐츠의 재생시작요청을 전송하고, 서버로부터 재생시작요청에 대응하여 결정된 멀티미디어 컨텐츠의 재생 동기화를 위한 동기화정보를 수신하고, 수신한 동기화정보에 기초하여 멀티미디어 컨텐츠를 동기 재생하도록 제어하는 제어부를 포함하는 멀티미디어 기기에 의해서 달성될 수 있다.
상기 제어부는, 상기 서버의 시스템클럭에 기초하여 결정된 동기화정보를 주기적으로 수신할 수 있고, 상기 멀티미디어 컨텐츠의 재생지연이 발생한 경우, 상기 서버로 상기 재생지연 시간을 전송할 수 있다.
상기 제어부는, 상기 멀티미디어 컨텐츠의 일시정지가 발생한 경우, 상기 서버로 상기 재생 일시정지 시간을 전송할 수 있고, 상기 제어부는, 상기 멀티미디어 컨텐츠의 재생 일시정지 후 다시 재생이 발생한 경우, 상기 서버로 상기 재생 시작 시간을 전송할 수 있다.
또한, 상기 제어부는, 상기 멀티미디어 컨텐츠의 시간검색이 발생한 경우, 상기 서버로 상기 시간 검색 시간을 전송할 수 있고, 상기 멀티미디어 컨텐츠의 재생정지가 발생한 경우, 상기 서버로 상기 재생 정지 요청을 전송할 수 있다.
상기 목적은, 본 발명에 따라, 좀 더 구체적으로 아래와 같은 동기 재생 방법에 의해서 달성될 수 있다.
동기 재생 방법에 있어서, 상기 동기 재생 방법은 복수대의 대상 멀티미디어 기기 중에서 임의의 한대를 선택하여 메인 제어 기기로 하고 메인 제어 기기 상에 대상 멀티미디어 기기의 총수량을 배치하며 각 대상 멀티미디어 기기 상에 메인 제어 기기 상의 동기 재생 서버의 유니캐스트 IP 주소와 포트 및 브로드캐스트 IP 주소와 포트를 배치하는 것과, 각 기기 플레이어는 메인 제어 기기 상의 동기 재생 서버와 접속하고 성공적으로 접속되면 동기 재생 서버로 재생 시작 청구 메시지를 발송하는 것과, 동기 재생 서버에서 모든 기기 플레이어로부터 발송한 재생 시작 청구 메시지를 수신하면 자체로 유지하는 현재 재생 시스템 클럭curSysTick에 따라 현재 재생 시각curPlayTime을 확정하고 모든 기기 플레이어로 curPlayTime을 휴대하는 재생 시작 클럭 메시지를 발송하며 각 기기 플레이어에서 상기 재생 시작 클럭 메시지를 수신하면 상기 메시지 중의 curPlayTime에 따라 멀티미디어 파일을 동기 재생하기 시작하는 것을 포함한다.
상기 동기 재생 방법은, 동기 재생 과정에서 동기 재생 서버는 각 기기 플레이어로 재생 시스템 클럭 통지 메시지를 주기적으로 발송하고 상기 메시시 중에 curPlayTime을 휴대하는 것을 더 포함한다.
상기 동기 재생 방법은, 동기 재생 과정에서 임의의 기기 플레이어가 동기 재생 서버에서 발송한 curPlayTime에 따라 자체에서 오디오 지연 또는 비디오 지연이 발생 하였음을 발견할 시 동기 재생 서버로 지연 시간길이latetime을 휴대하는 동기 재생 지연 메시지를 발송하고 동기 재생 서버는 상기 latetime을 수신한 후 현재 재생 시스템 클럭을 curSysTick에서 curSysTick-latetime으로 조정하는 과정을 더 포함한다.
상기 동기 재생 방법은, 동기 재생 과정에서 한대의 기기 플레이어가 재생을 일시 정지할 경우, 상기 기기 플레이어는 동기 재생 서버로 동기 재생 일시정지 메시지를 발송하고 동기 재생 서버는 상기 메시지를 수신한 후 일시정지 재생 시각pausedTime을 기록하며 pausedTime을 curPlayTime으로 하고 일시정지 재생 시스템 클럭pausedTick을 기록하는 것과, 각 기기 플레이어에서 동기 재생 서버로부터 주기적으로 발송되는 재생 시스템 클럭 통지 메시지를 수신할 경우 상기 메시지 중의 curPlayTime이 항상 pausedTime임을 발견하면 재생을 일시중지하는 것을 더 포함한다.
상기 각 기기 플레이어가 재생을 일시 중지한 후, 임의의 한대의 기기 플레이어를 활성화시키면 활성화된 기기 플레이어는 동기 재생 서버로 동기 재생 활성화 메시지를 발송하고 동기 재생 서버는 상기 메시지를 수신하여 현재 재생 시스템 클럭curSysTick을 기록하며 기록된 일시정지 재생 시스템 클럭pausedTick 및 재생 시작 시스템 클럭startPlayTick에 따라 활성화 재생 후의 재생 시각curPlayTime=pausedTick-startPlayTick을 계산하는 것과, 동기 재생 서버에서 뒤이어 주기적으로 발송하는 재생 시스템 클럭 통지 메시지 중의 curPlayTime은 pausedTick-startPlayTick에서 순차적으로 증가되고 각 기기 플레이어가 상기 메시지를 수신하여 curPlayTime이 증가됨을 발견할 시 일시정지에서 재생으로 변화하는 것을 더 포함한다.
상기 동기 재생 방법은, 동기 재생 과정에서 임의의 한대의 기기 플레이어가 시간검색을 진행할 시, 상기 기기 플레이어는 동기 재생 서버로 동기 시간 검색 시간길이skiptime을 휴대하는 동기 시간 검색 메시지를 발송하고 동기 재생 서버는 상기 메시지를 수신한 후, 현재 시간 검색 상태에 처해있지 않음을 발견할 시 모든 기기 플레이어로 상기 메시지를 전송하고 각 기기 플레이어에서 상기 메시지를 수신한 후 현재 재생 시각curPlayTime에서 curPlayTime+skiptime의 위치로 뛰어 넘어 재생을 진행하는 동시에 동기 재생 서버는 현재 재생 시각curPlayTime을 curPlayTime+skiptime으로 조정하는 것을 더 포함한다.
상기 동기 재생 방법은, 동기 재생 과정에서 임의의 한대의 기기 플레이어가 앞으로 감기(FF) 또는 뒤로 감기(REW) 재생을 진행할 시, 상기 기기 플레이어는 동기 재생 서버로 앞으로 감기(FF) 또는 뒤로 감기(REW)의 속도trickspeed를 휴대하는 동기 앞으로 감기(FF), 뒤로 감기(REW) 메시지를 발송하고 동기 재생 서버는 상기 메시지를 수신한 후 현재 앞으로 감기(FF), 뒤로 감기(REW) 상태에 처해있는지 여부를 판단하고 그런 상태에 처해있다면 B단계를 실행하고 그렇지 않으면 A단계를 실행는데,
A. 동기 재생 서버가 모든 기기 플레이어로 동기 앞으로 감기(FF) ,뒤로 감기(REW) 메시지를 전송하고 현재 재생 속도curPlaySpeed를 trickspeed로 설치하며 각 기기 플레이어에서 상기 메시지를 수신한 후 trickspeed에 따라 앞으로 감기(FF) 또는 뒤로 감기(REW) 재생을 진행하고 C단계로 진입하며,
B. 동기 재생 서버는 다음 재생 속도nextPlaySpeed를 trickspeed로 설치하고,
C. 임의의 한대의 기기 플레이어에서 앞으로 또는 뒤로의 시간 검색 조작을 1회 완성한 후 동기 재생 서버로 시간 검색 완료 메시지를 발송하고 동시에 블로킹 대기하며 동기 재생 서버가 모든 기기 플레이어로부터 발송되는 시간 검색 완료 메시지를 수신할 시 앞으로 감기(FF) , 뒤로 감기(REW) 과정 중의 1회 시간 검색 조작 완성을 확정하고 curPlaySpeed와 nextPlaySpeed의 일치여부를 판단하며 일치할 경우 직접 단계E를 실행하고 그렇지 않으면 D단계를 실행하며,
D. 동기 재생 서버에서 새로운 동기 앞으로 감기(FF), 뒤로 감기(REW) 메시지를 수신 하였음을 확정할 시 우선 모든 기기 플레이어로 다음 재생 속도 통지 메시지를 발송하고 상기 메시지 중의 nextPlaySpeed =trickspeed이며,
E. 동기 재생 서버가 모든 기기 플레이어로 시간 검색 완료 응답 메시지를 발송하고,
F. 임의의 한대의 기기 플레이어가 동기 재생 서버로부터 발송된 시간 검색 완료 응답 메시지를 수신하면 다음번의 시간 검색 조작을 진행하는 것을 더 포함한다.
상기 동기 재생 방법은, 동기 재생 과정에서 만약 임의의 한대의 기기 플레이어가 재생을 정지할 경우 상기 기기 플레이어는 동기 재생 서버로 동기 재생 정지 메시지를 발송하고 동기 재생 서버는 상기 메시지를 수신한 후 상기 메시지를 각 기기 플레이어로 전송하며, 임의의 한대의 기기 플레이어는 상기 메시지를 수신한 후 자체의 재생 과정을 정지하는 것을 더 포함한다.
상기 동기 재생 방법은, 동기 재생 과정에서 메인 제어 기기 다운 혹은 네트워크 차단 상황이 발생할 경우 각 기기 플레이어는 동기 재생 서버로부터 주기적으로 발송되는 재생 시스템 클럭 통지 메시지를 수신할 수 없게 되어 각 기기 플레이어는 재생 과정을 자동적으로 로그아웃하는 것과,
또는 동기 재생 과정에서, 임의의 한대의 피제어 기기에 네트워크 차단 상황이 발생할 경우, 상기 피제어 기기 플레이어는 동기 재생 서버로부터 주기적으로 발송되는 재생 시스템 클럭 통지 메시지를 수신할 수 없게 되어 상기 피제어 기기 플레이어로 하여금 재생 과정에서 자동적으로 로그아웃하는 것을 더 포함한다.
상기 피제어 기기 플레이어가 재생 과정을 자동적으로 로그아웃한 후, 상기 피제어 기기 플레이어가 재부팅 시 동기 재생 서버로부터 새로 발송된 현재 재생 시각curPlayTime에 따라 앞으로의 시간 검색을 진행하고 시간 검색의 길이는 curPlayTime+a이며 시간 검색 완료 후 피제어 기기 플레이어의 현재 재생 시각curPlayTime1과 동기 재생 서버의 현재 재생 시각curPlayTime2를 비교하여 만약 curPlayTime1+10≤curPlayTime2이면 피제어 기기 플레이어는 앞으로의 시간 검색을 진행하고 시간 검색의 길이는 curPlayTime2+a초이며 시간 검색 완료 후 상기의 피제어 기기 플레이어의 현재 재생 시각curPlayTime1과 동기 재생 서버의 현재 재생 시각curPlayTime2를 비교하는 동작으로 전환되고, 만약 curPlayTime1 < curPlayTime2 < curPlayTime1+10이면 피제어 기기 플레이어는 동기 재생 서버로 동기 재생 지연 메시지를 발송하고 상기 메시지 중의 지연 시간길이는 latetime=curPlayTime2-curPlayTime1이며, 만약 curPlayTime1≥curPlayTime2이면 피제어 기기 플레이어는 curPlayTime1-curPlayTime2의 시간길이 만큼 대기한 후 다시 재생하되 그 중a는 기본값인 것을 더 포함한다.
상기 동기 재생 방법은, 매개 기기 플레이어가 매개 프레임의 오디오 혹은 비디오를 디스플레이하기 전에 오디오 프레임 혹은 비디오 프레임의 디스플레이 타임스템프를 동기 재생 서버로 발송하고 동기 재생 서버는 수신된 최대 오디오 프레임의 디스플레이 타임스템프와 최소 오디오 프레임의 디스플레이 타임스템프의 차이값을 계산하며 수신된 최대 비디오 프레임의 디스플레이 타임스템프와 최소 비디오 프레임의 디스플레이 타임스템프의 차이값을 계산하는 것을 더 포함한다.
동기 재생 서버는, 한대의 대상 멀티미디어 기기 상에 위치하는 동기 재생 서버에 있어서, 상기 동기 재생 서버는 각 대상 멀티미디어 기기 플레이어와 접속을 형성하고 성공적으로 접속된 후 동기 재생 처리 모듈로 접속 성공 지시를 발송하는 동기 접속 모듈과, 모든 대상 멀티미디어 기기 플레이어로부터 발송된 재생 시작 청구 메시지를 수신할 시 자체로 유지하는 현재 재생 시스템 클럭curSysTick에 따라 현재 재생 시각curPlayTime을 확정하고 모든 대상 멀티미디어 기기 플레이어로 재생 시작 클럭 메시지를 발송하며 상기 메시지는 curPlayTime을 휴대함으로써 각 대상 멀티미디어 기기 플레이어로 하여금 curPlayTime에 따라 멀티미디어 파일을 동기 재생 시작하도록 하는 동기 재생 처리 모듈을 포함한다.
상기 동기 재생 처리 모듈은, 동기 재생 과정에서 각 대상 멀티미디어 기기 플레이어로 curPlayTime을 휴대하는 재생 시스템 클럭 통지 메시지를 주기적으로 발송하고 상기 curPlaytime은 curSysTick으로부터 획득하는 것을 더 포함한다.
상기 동기 재생 처리 모듈은, 동기 재생 과정에서 임의의 한대의 대상 멀티미디어 기기 플레이어로부터 발송된 동기 재생 지연 메시지를 수신할 시 상기 메시지에 휴대된 지연 시간길이latetime에 따라 현재 재생 시스템 클럭을 curSysTick에서 curSysTick-latetime으로 조정하는 것을 더 포함한다.
상기 동기 재생 처리 모듈은, 동기 재생 과정에서 임의의 한대의 대상 멀티미디어 기기 플레이어로부터 발송된 동기 재생 일시정지 메시지를 수신할 시 일시정지 재생 시각인 pausedTime을 기록하고, pausedTime을 curPlayTime으로 하여 일시정지 재생 시스템 클럭pausedTick을 기록하며 임의의 한대의 대상 멀티미디어 기기 플레이어로부터 발송된 동기 재생 활성화 메시지를 수신할 시 현재 재생 시스템 클럭curSysTick을 기록하고 기록된 일시정지 재생 시스템 클럭pausedTick 및 시작 재생 시스템 클럭startPlayTick에 따라 활성화 재생 후의 재생 시각curPlayTime=pausedTick-startPlayTick을 계산하는 것을 더 포함한다.
상기 동기 재생 처리 모듈은, 동기 재생 과정에서 임의의 한대의 대상 멀티미디어 기기 플레이어로부터 발송된 동기 시간 검색 시간길이skiptime을 휴대한 동기 시간 검색 메시지를 수신할 경우 만약 현재가 시간 검색 상태에 처해있지 않음이 발견하면 현재 재생 시각을 curPlayTime에서 curPlayTime+skiptime으로 조정하고 모든 대상 멀티미디어 기기 플레이어로 상기 메시지를 전송함으로써 각 대상 멀티미디어 기기 플레이어가 현재 재생 시각curPlayTime에서 curPlayTime+skiptime 위치로 뛰어넘어 재생하도록 하는 것을 더 포함한다.
상기 동기 재생 처리 모듈은, 동기 재생 과정에서 임의의 한대의 대상 멀티미디어 기기 플레이어로부터 발송된 앞으로 감기(FF) 또는 뒤로 감기(REW)의 속도trickspeed를 휴대한 동기 앞으로 감기(FF), 뒤로 감기(REW) 메시지를 수신할 경우, 현재 앞으로 감기(FF) ,뒤로 감기(REW) 상태에 처해있는지 여부를 판단하고 만약 상기 상태에 해당하면 다음 재생 속도nextPlaySpeed를 trickspeed로 설치하고, 그렇지 않다면 모든 대상 멀티미디어 기기 플레이어로 동기 앞으로 감기(FF), 뒤로 감기(REW) 메시지를 전송하고 현재 재생 속도curPlaySpeed를 trickspeed로 설치하며, 또한 모든 대상 멀티미디어 기기 플레이어로부터 발송된 시간 검색 완료 메시지를 수신할 경우 curPlaySpeed와 nextPlaySpeed의 일치 여부를 판단하고 만약 일치하다면 모든 대상 멀티미디어 기기 플레이어로 시간 검색 완료 응답 메시지를 발송하고 일치하지 않을 경우 우선 모든 대상 멀티미디어 기기 플레이어로 nextPlaySpeed =trickspeed 인 다음 재생 속도 통지 메시지를 발송하고 이어 모든 대상 멀티미디어 기기 플레이어로 시간 검색 완료 응답 메시지를 발송하는 것을 더 포함한다.
상기 동기 재생 처리 모듈은, 동기 재생 과정에서 임의의 대상 멀티미디어 기기 플레이어로부터 발송된 동기 재생 정지 메시지를 수신할 경우 상기 메시지를 각 대상 멀티미디어 기기 플레이어로 전송하는 것을 더 포함한다.
멀티미디어 기기 플레이어는, 동기 재생 서버와 접속을 형성하고 성공적으로 접속된 후 동기 재생 모듈로 접속 성공 지시를 발송하는 동기 접속 모듈과, 상기의 접속 성공 지시를 수신한 후 동기 재생 서버로 재생 시작 청구 메시지를 발송하고 동기 재생 서버로부터 발송된 재생 시작 클럭 메시지를 수신할 시 상기 메시지 중의 curPlayTime에 따라 멀티미디어 파일을 동기 재생하기 시작하는 동기 재생 모듈을 포함한다.
상기 동기 재생 모듈은, 동기 재생 과정에서 만약 동기 재생 서버로부터 주기적으로 발송되는 curPlayTime에 따라 자체에 오디오 지연 또는 비디오 지연이 출현되었음을 발견하면 동기 재생 서버로 지연 시간길이latetime을 휴대하는 동기 재생 지연 메시지를 발송함으로써 동기 재생 서버가 현재 재생 시스템 클럭을 curSysTick에서 curSysTick-latetime으로 조정할 수 있도록 하는 것을 더 포함한다.
상기 동기 재생 모듈은, 동기 재생 과정에서 자체로 재생을 일시 정지하면 동기 재생 서버로 동기 재생 일시정지 메시지를 발송하고 또한 동기 재생 서버로부터 뒤이어 주기적으로 발송되는 재생 시스템 클럭 통지 메시지 중의 curPlayTime이 항상 pausedTime임을 발견하면 재생을 일시중지하는 것을 더 포함한다.
상기 동기 재생 모듈은, 자체가 활성화됨을 발견할 경우 동기 재생 서버로 동기 재생 활성화 메시지를 발송하고 또한 동기 재생 서버로부터 뒤이어 주기적으로 발송되는 재생 시스템 클럭 통지 메시지 중의 curPlayTime이 pausedTick-startPlayTick에서 순차적으로 증가하기 시작할 경우 일시정지에서 재생으로 변화하는 것을 더 포함한다.
상기 동기 재생 모듈은, 동기 재생 과정에서 시간 검색을 진행할 시 동기 재생 서버로 동기 시간 검색 시간길이skiptime을 휴대하는 동기 시간 검색 메시지를 발송하고 또한 동기 재생 서버로부터 발송된 동기 시간 검색 메시지를 수신하면 현재 재생 시각curPlayTime에서 curPlayTime+skiptime위치로 뛰어넘어 재생을 진행하는 것을 더 포함한다.
상기 동기 재생 모듈은, 동기 재생 과정에서 앞으로 감기(FF) 또는 뒤로 감기(REW) 재생을 진행할 시 동기 재생 서버로 앞으로 감기(FF) 또는 뒤로 감기(REW)의 속도trickspeed를 휴대하는 동기 앞으로 감기(FF), 뒤로 감기(REW) 메시지를 발송하고 1회의 앞으로 또는 뒤로의 시간 검색 조작을 완성한 후 동기 재생 서버로 시간 검색 완료 메시지를 발송하는 동시에 블로킹 대기하고 동기 재생 서버로부터 발송된 시간 검색 완료 응답 메시지를 수신하면 다음번의 시간 검색 조작을 진행하는 것을 더 포함한다.
상기 동기 재생 모듈은, 동기 재생 과정에서 재생을 정지하면 동기 재생 서버로 동기 재생 정지 메시지를 발송하는 것을 더 포함한다.
상기 동기 재생 모듈은, 동기 재생 과정에서 동기 재생 서버로부터 주기적으로 발송되는 재생 시스템 클럭 통지 메시지를 수신하지 못하게 되면 재생 과정을 로그아웃하고, 재생을 재부팅 시 동기 재생 서버로부터 새로 발송된 현재 재생 시각curPlayTime에 따라 앞으로의 시간 검색을 진행하고 시간 검색의 길이는 curPlayTime+a이며 시간 검색 완료 후 자체의 현재 재생 시각curPlayTime1과 동기 재생 서버의 현재 재생 시각curPlayTime2를 비교하여 만약 curPlayTime1+10≤curPlayTime2이면 앞으로의 시간 검색을 진행하고 시간 검색의 길이는 curPlayTime2+a초이며 시간 검색 완료 후 상기의 자체의 현재 재생 시각curPlayTime1과 동기 재생 서버의 현재 재생 시각curPlayTime2를 비교하는 동작으로 전환되고, 만약 curPlayTime1 < curPlayTime2 < curPlayTime1+10이면 동기 재생 서버로 지연 시간이 latetime=curPlayTime2-curPlayTime1인 동기 재생 지연 메시지를 발송하고, 만약 curPlayTime1≥curPlayTime2이면 curPlayTime1-curPlayTime2의 시간만큼 대기한 후 다시 재생하되 그 중 a는 기본값인 것을 더 포함한다.
본 발명은 멀티 플레이어 동기 재생의 정확성을 향상시킬 수 있고 추가적인 하드웨어 자원을 요구하지 않으므로 원가를 절감할 수 있다. 본 발명은 모든 멀티미디어 재생 기기, 예를 들어, 태블릿 PC, 스마트 폰, 비디오 월 등으로 쉽게 인식될 수 있다.
한편, 본 발명은 홈 디지털 텔레비전을 위하여 더욱 다양한 새 특성 및 기능을 제공할 수 있고, 매개 홈 디지털 텔레비전은 본 발명에 따른 방안구성을 이용하여 대형 스크린에서 동일한 비디오 파일을 동기 재생할 수 있다. 이는 홈 시어터의 작용과 유사하여 향후 고 해상도의 비디오 재생을 위하여 아주 좋은 조건을 마련할 수 있다.
이 밖에, 본 발명은 일반 재생 기기에 대하여 시스템 부하를 현저히 가중시키지 않는다. 예를 들어, 본 발명을 디지털 텔레비전 비디오 월에 적용시킨 방안에서 2, 4, 6 혹은 8대의 디지털 텔레비전 플레이어 동기 재생을 비디오 월로 디스플레이할 경우, 각 성능 데이타 관련 통계에 의하면 최대 CPU사용률은 18%, 최대 메모리 증가 사용률은 2%, 각 텔레비전 플레이어 간의 최대 동기 재생 오차는 5밀리 초 이내이다.
도1은 본 발명의 실시예에 따른 멀티 플레이어가 멀티미디어 파일을 동기적으로 재생하는 방법 흐름도이다.
도2는 본 발명의 실시예에 따른 멀티 플레이어가 재생을 동기적으로 일시정지하는 방법 흐름도이다.
도3은 본 발명의 실시예에 따른 멀티 플레이어가 재생을 동기적으로 활성화시키는 방법 흐름도이다.
도4는 본 발명의 실시예에 따른 멀티 플레이어의 동기적 시간 검색의 방법 흐름도이다.
도5는 본 발명의 실시예에 따른 멀티 플레이어의 동기적 앞으로 감기(FF), 뒤로 감기(REW) 재생 방법 흐름도이다.
도6은 본 발명의 실시예에 따른 멀티 플레이어의 동기적으로 재생 정지하는 방법 흐름도이다.
도7은 본 발명의 실시예에 따른 재생 과정의 기기의 이상처리 방법의 흐름도이다.
도8은 본 발명의 실시예에 따른 재생 과정의 동기화 검측 방법의 흐름도이다.
도9는 본 발명의 실시예에 따른 동기 재생 서버의 구성도이다.
도10은 본 발명의 실시예에 따른 멀티미디어 기기 플레이어의 구성도이다.
이하, 첨부도면을 참조하여 본 발명의 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예들에 한정되지 않는다. 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙이도록 한다.
우선, 본 발명의 네트워크 구성 환경에 대하여 설명한다.
복수대의 대상 멀티미디어 기기를 동일한 내부 네트워크에 접속시키되 상기 내부 네트워크는 가정 또는 사무장소의 LAN 일 수 있고, 또는 아무런 배치를 거치지 않은 직접 접속의 내부 네트워크일 수 있다. 네트워크 내의 교환기는 인터넷 그룹 관리 프로토콜(IGMP, Internet Group Management Protocol)을 지원한다.
도1은 본 발명의 실시예에 따른 멀티 플레이어가 멀티미디어 파일을 동기적으로 재생하는 방법 흐름도이다. 도1에 도시된 바와 같이, 구체적인 단계는 하기와 같다.
단계(101): N(N≥2)대의 대상 멀티미디어 기기 중에서 임의의 한대를 선택하여 메인 제어 기기로 하고 메인 제어 기기 상에 대상 멀티미디어 기기의 총수량N을 배치하며 메인 제어 기기 상의 동기 재생 서버의 작동변수, 즉 동기 재생 서버의 유니캐스트 인터넷 프로토콜(IP, Internet Protocol)주소, 동기 재생 서버의 유니캐스트 포트, 동기 재생 서버의 브로드캐스트 IP 주소, 동기 재생 서버의 브로드캐스트 포트를 배치하고, 이와 동시에 각 피제어 기기 상에 메인 제어 기기 상의 동기 재생 서버의 작동변수, 즉 동기 재생 서버의 유니캐스트 IP주소, 동기 재생 서버의 유니캐스트 포트, 동기 재생 서버의 브로드캐스트 IP 주소, 동기 재생 서버의 브로드캐스트 포트를 배치한다.
단계(102): 각 기기 플레이어는 메인 제어 기기 상의 동기 재생 서버와 접속하고 성공적으로 접속되면 동기 재생 서버로 전송 제어 프로토콜(TCP, Transferring Control Protocol) 메시지, 즉 CMD_BAVE(재생 시작 청구 메시지)를 발송한다.
각 기기 플레이어는 동기 재생 서버의 유니캐스트 IP 주소와 포트를 목적IP주소 및 포트로 사용하여 동기 재생 서버와 접속을 형성한다.
단계(103): 동기 재생 서버에서 N개의 CMD_BAVE메시지를 수신할 경우, 모든 기기 플레이어로 유저 데이타그램 프로토콜(UDP, User Datagram Protocol) 메시지, 즉 C[curPlayTime][startPlayTime]E(재생 시작 클럭 메시지)를 발송한다.
여기서, curPlayTime은 멀티미디어 파일의 현재 재생 시각이고startPlayTime은 멀티미디어 파일의 최초 시작의 재생 시각이며 일반적으로 해당 값은 0이다.
동기 재생 서버 상에 하나의 현재 재생 시스템 클럭curSysTick을 유지한다. 동시에 동기 재생 서버는 시작 재생 시스템 클럭startPlayTick을 기록한다. 즉, 멀티미디어 파일이 최초로 재생될 때의 클럭을 기록한다. 동기 재생 과정에서 일시정지 등 이상 상황이 발생되지 않을 경우, curPlayTime=curSysTick-startPlayTick이다.
단계(104): 각 기기 플레이어는 상기 UDP메시지를 수신하고 상기 메시지 중의 curPlayTime에 따라 멀티미디어 파일을 동기적으로 재생한다.
단계(105): 동기 재생 과정에서 동기 재생 서버는 UDP멀티캐스트 방식을 통하여 curPlayTime 및 startPlayTime을 휴대하는 시스템 클럭 통지 메시지를 주기적으로 발송한다.
여기서, 주기는 1밀리초일 수 있다. 플레이어 오디오/비디오 동기화의 시스템 클럭의 경계는 일반적으로 10밀리초로서, UDP방식은 패킷 손실의 가능성이 존재하지만 각 기기 플레이어의 정상적인 재생을 확보할 수 있고 로컬 장비의 재생 클럭과 동일하다. 따라서 복수개의 기기 플레이어의 재생 과정도 동일하다.
한편, 동기 재생 과정에서 임의의 한대의 기기 플레이어에 오디오 지연(Audio Late) 또는 비디오 지연(Video Late)이 발생될 경우, 동기 재생 서버로 TCP메시지, 즉 L[latetime]E(동기 재생 지연 메시지)를 발송한다. 동기 재생 서버는 상기 latetime을 수신한 후 현재 재생 시스템 클럭을 curSysTick에서 curSysTick-latetime으로 조정한다. 여기서 latetime은 기기 플레이어의 오디오 혹은 비디오의 지연시간 길이이다. 이로써 Audio Late 또는 Video Late가 발생된 상황하에 각 기기 플레이어가 여전히 동기 재생될 수 있도록 확보할 수 있다.
여기서 기기 플레이어는 하기 단계를 통하여 오디오 지연 또는 비디오 지연의 발생 여부에 대하여 판단한다.
기기 플레이어는 현재 재생 중의 오디오 프레임 혹은 비디오 프레임 중의 디스플레이 타임스템프와 동기 재생 서버로부터 발송된 curPlayTime의 차이값을 비교하고 상기 차이값이 미리 설정된 범위 내에 있을 경우 오디오 지연 또는 비디오 지연이 발생되지 않은 것으로 판단하고 그렇지 않을 경우 오디오 지연 또는 비디오 지연이 발생된 것으로 판단한다.
도2는 본 발명의 실시예에 따른 멀티 플레이어가 재생을 동기적으로 일시정지하는 방법 흐름도이다. 도2에 도시된 바와 같이 구체적인 단계는 하기와 같다.
단계(201): 복수대의 기기 플레이어의 동기 재생 과정에서 한대의 기기 플레이어가 재생을 일시정지할 시 상기 기기 플레이어는 동기 재생 서버로 TCP메시지, 즉 CMD_PE(동기 재생 일시정지 메시지)를 발송한다.
단계(202): 동기 재생 서버에서 상기 CMD_PE메시지를 수신한 후 일시정지 재생 시각pausedTime을 기록하고 pausedTime을 curPlayTime으로 하여 일시정지 재생 시스템 클럭pausedTick을 기록한다.
단계(203): 각 기기 플레이어에서 동기 재생 서버로부터 주기적으로 발송되는 재생 시스템 클럭 통지 메시지를 수신할 경우 상기 메시지 중의 curPlayTime이 항상 pausedTime임을 발견하면 재생을 일시중지한다.
이로써 pausedTime!=0(즉 재생의 일시정지)인 상황 하에 동기 재생 서버로부터 주기적으로 발송되는 재생 시스템 클럭 통지 메시지 중의 curPlayTime은 항상 pausedTime이고 모든 기기 플레이어는 curPlayTime이 줄곧 변화하지 않음으로 인하여 재생을 일시정지한다.
도3은 본 발명의 실시예에 따른 멀티 플레이어가 재생을 동기적으로 활성화시키는 방법 흐름도이다. 도3에 도시된 바와 같이, 구체적인 단계는 하기와 같다.
단계(301): 모든 기기 플레이어가 일시정지에 처한 상태하에서 임의의 한대의 기기 플레이어를 활성화시키면 활성화된 기기 플레이어는 동기 재생 서버로 TCP메시지, 즉 CMD_RE(동기 재생 활성화 메시지)를 발송한다.
단계(302): 동기 재생 서버는 TCP메시지인 CMD_RE를 수신한 후 현재 재생 시스템 클럭curSysTick을 기록하고 기록된 일시정지 재생 시스템 클럭pausedTick 및 재생 시작 시스템 클럭startPlayTick에 따라 활성화 재생 후의 재생 시각curPlayTime=(curSysTick-startPlayTick)-(curSysTick-pausedTick)=pausedTick-startPlayTick을 계산하며, 동시에 pausedTime을 0으로 설정한다.
PausedTime=0은 일시정지 재생 상태가 아님을 표시한다.
다음 동기 재생 서버에서 주기적으로 발송하는 재생 시스템 클럭 통지 메시지 중의 curPlayTime은 pausedTick-startPlayTick으로부터 시작하여 시스템 클럭curSysTick이 부단히 증가함에 따라 각 기기 플레이어는 일시정지로부터 재생으로 변한다.
도4는 본 발명의 실시예에 따른 멀티 플레이어의 동기적 시간 검색의 방법 흐름도이다. 도4에 도시된 바와 같이 구체적인 단계는 하기와 같다.
단계(401): 복수대의 기기 플레이어 동기 재생 과정에서 임의의 한대의 기기 플레이어가 시간검색(skip)을 진행할 시 상기 기기 플레이어는 동기 재생 서버로 TCP메시지, 즉 S[skiptime]E(동기 시간 검색 메시지)를 발송한다. 여기서 skiptime은 동기 시간 검색의 시간길이이다.
단계(402): 동기 재생 서버에서 TCP메시지인 S[skiptime]E를 수신한 후 자체로 유지하는 시간검색표기, 즉 isSeekingFlag의 값을 검사하여 isSeekingFlag의 값이 1인지를 판단하고 isSeekingFlag의 값이 1일 경우 단계(403)을 실행하고 그렇지 않을 경우 단계(404)를 실행한다.
단계(403): 동기 재생 서버에서 상기 기기 플레이어로 시간 검색 거절 메시지를 발송하고 본 과정을 완료한다.
만약 isSeekingFlag=1이면 이는 이전의 동기 시간 검색 과정이 완료되지 않았음을 설명한다.
단계(404): 동기 재생 서버는 isSeekingFlag를 1로 설정하고 모든 기기 플레이어로 TCP메시지, 즉 S[skiptime]E(동기 시간 검색 메시지)를 발송한다.
단계(405): 각 기기 플레이어는 S[skiptime]E메시지를 수신한 후 현재 재생 시각curPlayTime에서 curPlayTime+skiptime위치로 뛰어넘어 재생을 진행하고 동기 재생 서버로 TCP메시지, 즉 FINISH_SKAE(오디오 검색 완료 메시지) 및/또는 FINISH_SKVE(비디오 검색 완료 메시지)를 발송하고 이와 동시에 동기 재생 서버는 현재 재생 시각curPlayTime을 curPlayTime+skiptime으로 조정한다.
단계(406): 동기 재생 서버는 N개의 TCP메시지, 즉 FINISH_SKAE 및/또는 FINISH_SKVE를 수신하고 isSeekingFlag를 0으로 설정하면 본 동기 시간 검색 과정이 완료된다.
도5는 본 발명의 실시예에 따른 멀티 플레이어의 동기적 앞으로 감기(FF), 뒤로 감기(REW) 재생 방법 흐름도이다. 도5에 도시된 바와 같이 구체적인 단계는 하기와 같다.
단계(501): 복수대의 기기 플레이어 동기 재생 과정에서 임의의 한대의 기기 플레이어가 앞으로 감기(FF) 또는 뒤로 감기(REW) 재생을 진행할 시, 상기 기기 플레이어는 동기 재생 서버로 TCP메시지, 즉 T[trickspeed]E(동기 앞으로 감기(FF) 뒤로 감기(REW) 메시지)를 발송한다. 여기서 rickspeed는 앞으로 감기(FF) 또는 뒤로 감기(REW)의 속도를 표시한다.
단계(502): 동기 재생 서버는 상기 TCP메시지인 T[trickspeed]E를 수신한 후 현재 재생 속도curPlaySpeed가 1 혹은 2인지를 판단하여 이에 해당할 경우 단계(503)을 실행하고 해당하지 않을 경우 단계(505)를 실행한다.
일반적으로 플레이어의 정상적인 재생 상태는 2가지이다. 한가지는 curPlaySpeed=1인데 이때 플레이어는 정상적인 속도로 재생한다. 다른 한가지는 curPlaySpeed=2인데 이때 플레이어는 2배의 정상적인 속도로 재생한다.
단계(503): 동기 재생 서버는 모든 기기 플레이어로 TCP메시지인 T[trickspeed]E를 발송하고 curPlaySpeed를 trickspeed로 설치한다.
단계(504): 각 기기 플레이어는 TCP메시지인 T[trickspeed]E를 수신한 후 trickspeed에 따라 앞으로 감기(FF) 또는 뒤로 감기(REW) 재생을 진행하고 단계(506)으로 넘어간다.
앞으로 감기(FF) 또는 뒤로 감기(REW) 재생은 하나의 앞으로 감기(FF) 뒤로 감기(REW) 재생 스레드를 작동 시키고 상기 앞으로 감기(FF) 뒤로 감기(REW) 재생 스레드 중에서 고정된 시간을 간격으로 1회의 앞으로의 시간 검색 또는 뒤로의 시간 검색을 진행한다.
단계(505): 동기 재생 서버는 다음 재생 속도nextPlaySpeed를 trickspeed로 설치한다.
CurPlaySpeed가 1 또는 2가 아닐 경우, 이는 현재 이미 앞으로 감기(FF) 또는 뒤로 감기(REW) 상태에 처해있음을 설명하고 nextPlaySpeed를 trickspeed로 수정하기만 하면 된다.
단계(506): 임의의 한대의 기기 플레이어에서 1회의 앞으로 또는 뒤로의 시간 검색 조작을 완성한 후 동기 재생 서버로 TCP메시지, 즉 NTE(시간 검색 완료 메시지)를 발송하여 앞으로 감기(FF) 뒤로 감기(REW) 재생 스레드 블로킹 대기한다.
단계(507): 동기 재생 서버에서 N개의 TCP메시지, 즉 NTE를 수신할 경우앞으로 감기(FF) 뒤로 감기(REW) 과정 중의 1회 시간 검색 조작 완성을 확정하고 curPlaySpeed와 nextPlaySpeed의 일치여부를 판단하며 일치할 경우 직접 단계(509)를 실행하고 일치하지 않을 경우 단계(508)을 실행한다.
단계(508): 동기 재생 서버에서 새로운 T[trickspeed]E 메시지를 수신하였음을 확정할 시 우선 모든 기기 플레이어로 TCP메시지, 즉 T[nextPlaySpeed]E(다음 재생 속도 통지 메시지)를 발송한다. 여기서 nextPlaySpeed =trickspeed이다.
단계(509): 동기 재생 서버가 모든 기기 플레이어로 응답 TCP 메시지, 즉 NTE를 발송한다.
단계(510): 임의의 한대의 기기 플레이어가 동기 재생 서버로부터 발송된 TCP 메시지, 즉 NTE를 수신하면 앞으로 감기(FF) 뒤로 감기(REW) 재생 스레드를 활성화시켜 다음번의 시간 검색 조작을 진행한다.
도6은 본 발명의 실시예에 따른 멀티 플레이어의 동기적으로 재생 정지하는 방법 흐름도이다. 도6에 도시된 바와 같이 구체적인 단계는 하기와 같다.
단계(601): 복수대의 기기 플레이어 동기 재생 과정에서 임의의 한대의 기기 플레이어가 재생을 정지할 경우 상기 기기 플레이어는 동기 재생 서버로 TCP 메시지, 즉 QTE(동기 재생 정지 메시지)를 발송한다.
단계(602): 동기 재생 서버는 상기 TCP 메시지, 즉 QTE를 수신한 후 상기 메시지를 각 기기 플레이어로 전송한다.
단계(603): 임의의 한대의 기기 플레이어는 상기 TCP 메시지, 즉 QTE를 수신한 후 자체의 재생 과정을 정지한다.
도7은 본 발명의 실시예에 따른 재생 과정의 기기의 이상처리 방법의 흐름도이다. 도7에 도시된 바와 같이 구체적인 단계는 하기와 같다.
단계(701): 복수대의 기기 플레이어 동기 재생 과정에서 메인 제어 기기에 다운 혹은 네트워크 차단 상황이 발생할 경우 각 기기 플레이어는 동기 재생 서버로부터 주기적으로 발송되는 재생 시스템 클럭 통지 메시지를 수신할 수 없게 되어 각 기기 플레이어는 재생 과정을 자동적으로 로그아웃한다.
이때, 네트워크 환경을 재 배치하고 메인 제어 기기 및 동기 재생 서버를 작동시키면 된다.
단계(702): 복수대의 기기 플레이어 동기 재생 과정에서 임의의 한대의 피제어 기기에 네트워크 차단 상황이 발생할 경우 상기 피제어 기기 플레이어는 동기 재생 서버로부터 주기적으로 발송되는 재생 시스템 클럭 통지 메시지를 수신할 수 없게 되어 상기 피제어 기기 플레이어는 재생 과정을 자동적으로 로그아웃한다.
다음, 상기 피제어 기기의 네트워크 환경을 배치 완료 후 재생을 재부팅하고, 동기 재생 서버로부터 최신 재생 시스템 클럭 통지 메시지를 통하여 발송된 현재 재생 시각curPlayTime에 따라 앞으로의 시간 검색을 진행하고 시간 검색의 길이는 curPlayTime+a이며 시간 검색 완료 후 하기와 같은 처리를 진행한다.
1) 피제어 기기 플레이어의 현재 재생 시각curPlayTime1과 동기 재생 서버의 현재 재생 시각curPlayTime2를 비교한다.
2) 만약 curPlayTime1+10≤curPlayTime2이면 피제어 기기 플레이어는 curPlayTime2에 따라 앞으로의 시간 검색을 진행하고 시간 검색의 길이는 curPlayTime2+a초이며 시간 검색 완료 후 상기 제1항의 조작으로 이전한다.
3) 만약 curPlayTime1 < curPlayTime2 < curPlayTime1+10이면 피제어 기기 플레이어는 동기 재생 서버로 TCP메시지, 즉 L[latetime]E, latetime=curPlayTime2-curPlayTime1를 발송함으로써 본 공정은 완료된다.
4) 만약 curPlayTime1≥curPlayTime2이면 피제어 기기 플레이어는 curPlayTime1-curPlayTime2의 시간만큼 대기한 후 다시 재생함으로써 본 공정은 완료된다.
여기서, 3≤a≤10, 바람직하게는 a=5이고 단위는 초이다.
도8은 본 발명의 실시예에 따른 재생 과정의 동기화 검측 방법의 흐름도이다. 도8에 도시된 바와 같이, 구체적인 단계는 하기와 같다.
여기서, 3≤a≤10, a=5인 것이 바람직하고, 단위는 초이다.
도8은 본 발명의 실시예에 따른 재생 과정의 동기화 검측 방법의 흐름도이다. 도8에 도시된 바와 같이 구체적인 단계는 하기와 같다.
단계(801): 매개 기기 플레이어가 매개 프레임의 오디오 혹은 비디오를 디스플레이하기 전에 TCP메시지를 통하여 오디오 프레임 혹은 비디오 프레임의 디스플레이 타임스템프를 동기 재생 서버로 발송한다.
그 중 오디오 프레임에 있어서, 발송하는 TCP메시지는 APTS[audioPTS]E (오디오 디스플레이 타임스템프 메시지)이고, 그 중 audioPTS는 오디오 프레임의 디스플레이 타임스템프이다. 비디오 프레임에 있어서, 발송하는 TCP메시지는 VPTS[videoPTS]E (비디오 디스플레이 타임스템프 메시지)이고 그 중 videoPTS는 비디오 프레임의 디스플레이 타임스템프이다.
단계(802): 동기 재생 서버에서 N개의 기기 플레이어로부터 발송되는 N개의 오디오 프레임 디스플레이 타임스템프, 즉 audioPTS-1, audioPTS-2, ..., audioPTS-N 및 N개의 비디오 프레임 디스플레이 타임스템프, 즉 videoPTS-1, videoPTS-2, ..., videoPTS-N를 수신할 시, 그 중의 최대의 오디오 프레임 디스플레이 타임스템프와 최소의 오디오 프레임 디스플레이 타임스템프, 즉 MAX(audioPTS), MIN(audioPTS)을 찾아내고 그 중의 최대의 비디오 프레임 디스플레이 타임스템프와 최소의 비디오 프레임 디스플레이 타임스템프, 즉 MAX(videoPTS), MIN(videoPTS)를 찾아낸다.
단계(803): 동기 재생 서버는 최대의 오디오 프레임 디스플레이 타임스템프와 최소의 오디오 프레임 디스플레이 타임스템프의 차이값인 MAX(audioPTS) MIN(audioPTS)를 계산하고 최대의 비디오 프레임 디스플레이 타임스템프와 최소의 비디오 프레임 디스플레이 타임스템프의 차이값인 MAX(videoPTS) ?IN(videoPTS)를 계산함으로써 동기 재생의 오디오 및 비디오의 동기화 정확도를 획득한다.
실제 응용에서, 8대의 기기 플레이어에 대한 동기 재생 과정의 동기화 검측 실험 결과에 의하면, audioPTS-MAX-audioPTS-MIN < 5밀리초, videoPTS-MAX- videoPTS-MIN < 5밀리초이다.
도9는 본 발명의 실시예에 따른 동기 재생 서버의 구성도이다. 상기 동기 재생 서버는 메인 제어 기기 상에 위치하고 상기 메인 제어 기기는 복수대의 대상 멀티미디어 기기 중에서 선택된 것이다. 도9에 도시된 바와 같이 상기 동기 재생 서버는 동기 접속 모듈(91)과 동기 재생 처리 모듈(92)를 포함한다. 그 중, 동기 접속 모듈(91)은 각 대상 멀티미디어 기기 플레이어와 접속을 형성하고 성공적으로 접속된 후 동기 재생 처리 모듈(92)로 접속 성공 지시를 발송한다.
동기 재생 처리 모듈(92)은 동기 접속 모듈(91)로부터 발송된 접속 성공 지시를 수신하고 모든 대상 멀티미디어 기기 플레이어로부터 발송된 재생 시작 청구 메시지를 수신할 시 자체로 유지하는 현재 재생 시스템 클럭curSysTick에 따라 현재 재생 시각curPlayTime을 확정하고 모든 대상 멀티미디어 기기 플레이어로 curPlayTime을 휴대하는 재생 시작 클럭 메시지를 발송함으로써 각 대상 멀티미디어 기기 플레이어로 하여금 curPlayTime에 따라 멀티미디어 파일을 동기 재생 시작하도록 한다. 동기 재생 과정에서 각 대상 멀티미디어 기기 플레이어로 curPlayTime을 휴대하는 재생 시스템 클럭 통지 메시지를 주기적으로 발송하며 상기 curPlaytime은 curSysTick으로부터 획득된다. 동기 재생 과정에서, 임의의 한대의 대상 멀티미디어 기기 플레이어로부터 발송된 동기 재생 지연 메시지를 수신할 시 상기 메시지에 휴대된 지연 시간latetime에 따라 현재 재생 시스템 클럭을 curSysTick에서 curSysTick-latetime으로 조정한다. 동기 재생 과정에서 임의의 한대의 대상 멀티미디어 기기 플레이어로부터 발송된 동기 재생 일시정지 메시지를 수신할 시 일시정지 재생 시각인 pausedTime을 기록하고, pausedTime을 curPlayTime으로 하여 일시정지 재생 시스템 클럭pausedTick을 기록하며, 임의의 한대의 대상 멀티미디어 기기 플레이어로부터 발송된 동기 재생 활성화 메시지를 수신할 시 현재 재생 시스템 클럭curSysTick을 기록하고, 기록된 일시정지 재생 시스템 클럭pausedTick 및 시작 재생 시스템 클럭startPlayTick에 따라 활성화 재생 후의 재생 시각curPlayTime=pausedTick-startPlayTick을 계산한다. 동기 재생 과정에서 임의의 한대의 대상 멀티미디어 기기 플레이어로부터 발송된 동기 시간 검색 시간길이skiptime을 휴대한 동기 시간 검색 메시지를 수신할 경우 만약 현재가 시간 검색 상태에 처해있지 않음이 발견되면 현재 재생 시각을 curPlayTime에서 curPlayTime+skiptime으로 조정하고 모든 대상 멀티미디어 기기 플레이어로 상기 메시지를 전송함으로써 각 대상 멀티미디어 기기 플레이어가 현재 재생 시각curPlayTime에서 curPlayTime+skiptime위치로 뛰어 넘어 재생을 진행하도록 한다. 동기 재생 과정에서 임의의 한대의 대상 멀티미디어 기기 플레이어로부터 발송된 앞으로 감기(FF) 또는 뒤로 감기(REW)의 속도trickspeed를 휴대한 동기 앞으로 감기(FF) 뒤로 감기(REW) 메시지를 수신할 경우, 현재 앞으로 감기(FF), 뒤로 감기(REW) 상태에 처해있는지 여부를 판단하고, 만약 이에 해당하면 다음 재생 속도nextPlaySpeed를 trickspeed로 설치하고 그렇지 않다면 모든 대상 멀티미디어 기기 플레이어로 동기 앞으로 감기(FF) 뒤로 감기(REW) 메시지를 전송하고 현재 재생 속도curPlaySpeed를 trickspeed로 설치하며, 모든 대상 멀티미디어 기기 플레이어로부터 발송된 시간 검색 완료 메시지를 수신할 경우 curPlaySpeed와 nextPlaySpeed의 일치 여부를 판단하여 일치하면 모든 대상 멀티미디어 기기 플레이어로 시간 검색 완료 응답 메시지를 발송하고, 일치하지 않으면 우선 모든 대상 멀티미디어 기기 플레이어로 nextPlaySpeed=trickspeed인 다음 재생 속도 통지 메시지를 발송하고 이어 모든 대상 멀티미디어 기기 플레이어로 시간 검색 완료 응답 메시지를 발송한다. 동기 재생 과정에서, 임의의 대상 멀티미디어 기기 플레이어로부터 발송된 동기 재생 정지 메시지를 수신할 경우, 상기 메시지를 각 대상 멀티미디어 기기 플레이어로 전송한다.
도10은 본 발명의 실시예에 따른 멀티미디어 기기 플레이어의 구성도이다. 도10에 도시된 바와 같이 상기 멀티미디어 기기 플레이어는 주로 동기 접속 모듈(101)과 동기 재생 모듈(102)을 포함한다. 그 중,
동기 접속 모듈(101)은 동기 재생 서버와 접속을 형성하고 성공적으로 접속된 후 동기 재생 모듈(102)로 접속 성공 지시를 발송한다.
동기 재생 모듈(102)은 동기 접속 모듈(101)로부터 발송된 접속 성공 지시를 수신한 후 동기 재생 서버로 재생 시작 청구 메시지를 발송하고 동기 재생 서버로부터 발송된 재생 시작 클럭 메시지를 수신할 시 상기 메시지 중의 curPlayTime에 따라 멀티미디어 파일을 동기 재생하기 시작한다. 동기 재생 과정에서 만약 동기 재생 서버로부터 주기적으로 발송되는 curPlayTime에 따라 자체에 오디오 지연 또는 비디오 지연이 출현되었음을 발견할 경우, 동기 재생 서버로 동기 재생 지연 메시지를 발송하고 상기 메시지는 지연 시간latetime을 휴대함으로써 동기 재생 서버가 현재 재생 시스템 클럭을 curSysTick에서 curSysTick-latetime으로 조정할 수 있도록 한다. 동기 재생 과정에서 자체로 재생을 일시정지할 경우 동기 재생 서버로 동기 재생 일시정지 메시지를 발송하고 또한 동기 재생 서버로부터 주기적으로 발송되는 재생 시스템 클럭 통지 메시지 중의 curPlayTime이 항상 pausedTime임을 발견하면 재생을 일시중지한다. 자체가 활성화 됨을 발견할 경우 동기 재생 서버로 동기 재생 활성화 메시지를 발송하고 또한 동기 재생 서버로부터 뒤이어 주기적으로 발송되는 재생 시스템 클럭 통지 메시지 중의 curPlayTime이 pausedTick-startPlayTick에서 순차적으로 증가하기 시작하면 일시정지에서 재생으로 변한다. 동기 재생 과정에서 시간 검색을 진행할 시, 동기 재생 서버로 동기 시간 검색 메시지를 발송하고 상기 메시지는 동기 시간 검색 시간길이skiptime을 휴대하며 동기 재생 서버로부터 발송된 동기 시간 검색 메시지를 수신하면 현재 재생 시각curPlayTime에서 curPlayTime+skiptime위치로 뛰어 넘어 재생을 진행한다. 동기 재생 과정에서 앞으로 감기(FF) 또는 뒤로 감기(REW) 재생을 진행할 시, 동기 재생 서버로 앞으로 감기(FF) 또는 뒤로 감기(REW)의 속도trickspeed를 휴대하는 동기 앞으로 감기(FF) 뒤로 감기(REW) 메시지를 발송하고 1회의 앞으로 또는 뒤로의 시간 검색 조작을 완성한 후, 동기 재생 서버로 시간 검색 완료 메시지를 발송하는 동시에 블로킹 대기하고 동기 재생 서버로부터 발송된 시간 검색 완료 응답 메시지를 수신하면 다음번의 시간 검색 조작을 진행한다. 동기 재생 과정에서 재생을 정시하면 동기 재생 서버로 동기 재생 정지 메시지를 발송한다. 동기 재생 과정에서 동기 재생 서버로부터 주기적으로 발송되는 재생 시스템 클럭 통지 메시지를 수신하지 못할 경우 재생 과정을 로그아웃하고 재생을 재부팅 할 경우 동기 재생 서버로부터 새로 발송된 현재 재생 시각curPlayTime에 따라 앞으로의 시간 검색을 진행하고 시간 검색의 길이는 curPlayTime+a이며 시간 검색 완료 후 자체의 현재 재생 시각curPlayTime1과 동기 재생 서버의 현재 재생 시각curPlayTime2를 비교하여 만약 curPlayTime1+10≤curPlayTime2이면 앞으로의 시간 검색을 진행하되 시간 검색의 길이가 curPlayTime2+a초이며 시간 검색 완료 후 상기의 자체의 현재 재생 시각curPlayTime1과 동기 재생 서버의 현재 재생 시각curPlayTime2를 비교하는 동작으로 전환되고, 만약 curPlayTime1 < curPlayTime2 < curPlayTime1+10이면 동기 재생 서버로 동기 재생 지연 메시지를 발송하고 상기 메시지 중의 지연 시간는 latetime=curPlayTime2-curPlayTime1이며, 만약 curPlayTime1≥curPlayTime이면curPlayTime1-curPlayTime2의 시간 만큼 대기한 후 다시 재생하되 그 중 a는 기본값이다.
이하에서, 도 11 내지 14는 도 1 내지 10에서 도시된 구성의 일실시예를 보여준다. 도 1 내지 10에서 설명한 내용이 도 11 내지 14에서도 마찬가지로 적용될 수 있다.
도 11은 본 발명의 일실시예에 따른 서버의 블록도이다. 도 11에 도시된 구성은 도 9에 도시된 구성과 연결되어 설명할 수 있다. 도 11에 도시된 바와 같이, 서버(200)는 통신부(210)와 제어부(220)을 포함하고, 멀티미디어 기기들(100a, 100b, ..., 100n)과 연결될 수 있다.
통신부(210)는 복수의 멀티미디어 기기(100a, 100b, ..., 100n)와 연결한다.
제어부(220)는 복수의 멀티미디어 기기(100a, 100b, ..., 100n) 중 하나의 멀티미디어 기기로부터 멀티미디어 컨텐츠의 재생시작요청을 수신하고, 도 9에 도시된 바와 같이 동기접속모듈(91)을 포함하여 구현될 수 있다. 제어부(220)는 서버(200)의 시스템클럭에 기초하여 복수의 멀티미디어 기기(100a, 100b, ..., 100n) 간 멀티미디어 컨텐츠의 재생 동기화를 위한 동기화정보를 결정하고, 결정된 시스템클럭에 대응하는 동기화정보를 복수의 멀티미디어 기기(100a, 100b, ..., 100n)로 전송하도록 제어한다. 이 때 동기화정보를 결정하고 전송하는 것은 도 9에 도시된 바와 같이, 동기재생처리모듈(92)을 포함하여 구현 될 수 있다.
도 12는 본 발명의 일실시예에 따른 멀티미디어 기기의 블록도이다. 도 12에 도시된 구성은 도 10에 도시된 구성과 연결되어 설명할 수 있다. 도 12에 도시된 바와 같이, 멀티미디어 기기(100)는 통신부(110), 제어부(120), 디스플레이부(130)를 포함하고, 서버(200)와 연결될 수 있다.
통신부(110)는 서버(200)와 연결한다.
제어부(120)는 서버(200)로 멀티미디어 컨텐츠의 재생시작요청을 전송하고, 도 10에 도시된 바와 같이, 동기접속모듈(101)을 포함하여 구현될 수 있다. 제어부(120)는 서버(200)로부터 재생시작요청에 대응하여 결정된 멀티미디어 컨텐츠의 재생 동기화를 위한 동기화정보를 수신하고, 수신한 동기화정보에 기초하여 멀티미디어 컨텐츠를 동기 재생하도록 제어한다. 이 때 동기화정보를 수신하고 멀티미디어 컨텐츠를 동기 재생하는 것은 도 10에 도시된 바와 같이, 동기재생모듈(102)을 포함하여 구현될 수 있다.
도 13은 본 발명의 일실시예에 따른 서버의 제어방법을 도시한 흐름도이다. 도 13에 도시된 구성은 도 1 내지 8과 연결되어 설명될 수 있다. 먼저 동작 S210에서, 복수의 멀티미디어 기기 중 하나의 멀티미디어 기기로부터 멀티미디어 컨텐츠의 재생시작요청을 수신하고, 이 때, 동작 S210은 도 1에 도시된 바와 같이, 동작 102를 포함하여 구현될 수 있다. 다음으로, 동작 S220에서, 서버의 시스템클럭에 기초하여 복수의 멀티미디어 기기 간 멀티미디어 컨텐츠의 재생 동기화를 위한 동기화 정보를 결정한다. 마지막으로, 동작 S230에서, 결정된 시스템클럭에 대응하는 동기화정보를 복수의 멀티미디어 기기로 전송하고, 이 때 동작 S230은 도 1에 도시된 바와 같이, 동작 103을 포함하여 구현될 수 있다.
도 14는 본 발명의 일실시예에 따른 멀티미디어 기기의 제어방법을 도시한 흐름도이다. 도 14에 도시된 구성은 도 1 내지 도 8과 연결되어 설명될 수 있다. 먼저 동작 S110에서, 서버로 멀티미디어 컨텐츠의 재생시작요청을 전송하고, 이 때 동작 S110은 도 1에 도시된 바와 같이, 동작 102를 포함하여 구현될 수 있다. 다음으로, 동작 S120에서, 서버로부터 재생시작요청에 대응하여 결정된 멀티미디어 컨텐츠의 재생 동기화를 위한 동기화정보를 수신한다. 마지막으로, 동작 S130에서, 수신한 동기화정보에 기초하여 멀티미디어 컨텐츠를 동기 재생하고, 이 때 동작 S130은 도1에 도시된 바와 같이, 동작 104를 포함하여 구현될 수 있다.
이상, 바람직한 실시예를 통하여 본 발명에 관하여 상세히 설명하였으나, 본 발명은 이에 한정되는 것은 아니며, 특허청구범위 내에서 다양하게 실시될 수 있다.
100 : 멀티미디어 기기
110 : 통신부
120 : 제어부
200 : 서버
210 : 통신부
220 : 제어부

Claims (28)

  1. 서버의 제어방법에 있어서,
    복수의 멀티미디어 기기 중 하나의 멀티미디어 기기로부터 멀티미디어 컨텐츠의 재생시작요청을 수신하는 단계와;
    상기 서버의 시스템클럭에 기초하여 상기 복수의 멀티미디어 기기 간 상기 멀티미디어 컨텐츠의 재생 동기화를 위한 동기화정보를 결정하는 단계와;
    상기 결정된 시스템클럭에 대응하는 동기화정보를 상기 복수의 멀티미디어 기기로 전송하는 단계를 포함하는 서버의 제어방법.
  2. 제1항에 있어서,
    상기 복수의 멀티미디어 기기로 전송하는 단계는,
    상기 시스템클럭에 기초하여 결정된 동기화정보를 주기적으로 전송하는 단계를 포함하는 서버의 제어방법.
  3. 제1항에 있어서,
    상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생지연이 발생한 경우, 상기 재생지연 시간을 수신하고, 상기 재생지연 시간에 기초하여 상기 시스템클럭을 조정하는 단계를 포함하는 서버의 제어방법.
  4. 제1항에 있어서,
    상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생 일시정지가 발생한 경우, 상기 재생 일시정지 시간을 수신하고, 상기 재생 일시정지 시간에 기초하여 상기 시스템클럭을 조정하는 단계를 포함하는 서버의 제어방법.
  5. 제1항에 있어서,
    상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생 일시정지 후 다시 재생이 발생한 경우, 상기 재생 시작 시간을 수신하고, 상기 재생 시작 시간에 기초하여 상기 시스템클럭을 조정하는 단계를 포함하는 서버의 제어방법.
  6. 제1항에 있어서,
    상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 시간검색이 발생한 경우, 상기 시간 검색 시간을 수신하고, 상기 시간 검색 시간에 기초하여 상기 시스템클럭을 조정하는 단계를 포함하는 서버의 제어방법.
  7. 제1항에 있어서,
    상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생정지가 발생한 경우, 상기 재생 정지 요청을 수신하고, 상기 재생 정지 요청에 따라 멀티미디어 컨텐츠의 재생을 정지하는 단계를 포함하는 서버의 제어방법.
  8. 서버에 있어서,
    복수의 멀티미디어 기기와 연결하는 통신부와;
    복수의 멀티미디어 기기 중 하나의 멀티미디어 기기로부터 멀티미디어 컨텐츠의 재생시작요청을 수신하고, 상기 서버의 시스템클럭에 기초하여 상기 복수의 멀티미디어 기기 간 상기 멀티미디어 컨텐츠의 재생 동기화를 위한 동기화정보를 결정하고, 상기 결정된 시스템클럭에 대응하는 동기화정보를 상기 복수의 멀티미디어 기기로 전송하도록 제어하는 제어부를 포함하는 서버.
  9. 제8항에 있어서,
    상기 제어부는, 상기 복수의 멀티미디어 기기로 상기 시스템클럭에 기초하여 결정된 동기화정보를 주기적으로 전송하는 서버.
  10. 제8항에 있어서,
    상기 제어부는, 상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생지연이 발생한 경우, 상기 재생지연 시간을 수신하고, 상기 재생지연 시간에 기초하여 상기 시스템클럭을 조정하는 서버.
  11. 제8항에 있어서,
    상기 제어부는, 상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생 일시정지가 발생한 경우, 상기 재생 일시정지 시간을 수신하고, 상기 재생 일시정지 시간에 기초하여 상기 시스템클럭을 조정하는 서버.
  12. 제8항에 있어서,
    상기 제어부는, 상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생 일시정지 후 다시 재생이 발생한 경우, 상기 재생 시작 시간을 수신하고, 상기 재생 시작 시간에 기초하여 상기 시스템클럭을 조정하는 서버.
  13. 제8항에 있어서,
    상기 제어부는, 상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 시간검색이 발생한 경우, 상기 시간 검색 시간을 수신하고, 상기 시간 검색 시간에 기초하여 상기 시스템클럭을 조정하는 서버.
  14. 제8항에 있어서,
    상기 제어부는, 상기 복수의 멀티미디어 기기 중 어느 하나의 멀티미디어 기기에서 멀티미디어 컨텐츠의 재생정지가 발생한 경우, 상기 재생 정지 요청을 수신하고, 상기 재생 정지 요청에 따라 멀티미디어 컨텐츠의 재생을 정지하는 서버.
  15. 멀티미디어 기기의 제어방법에 있어서,
    상기 서버로 멀티미디어 컨텐츠의 재생시작요청을 전송하는 단계와;
    상기 서버로부터 상기 재생시작요청에 대응하여 결정된 상기 멀티미디어 컨텐츠의 재생 동기화를 위한 동기화정보를 수신하는 단계와;
    상기 수신한 동기화정보에 기초하여 상기 멀티미디어 컨텐츠를 동기 재생하는 단계를 포함하는 멀티미디어 기기의 제어방법.
  16. 제15항에 있어서,
    상기 서버로부터 상기 동기화정보를 수신하는 단계는,
    상기 서버의 시스템클럭에 기초하여 결정된 동기화정보를 주기적으로 수신하는 단계를 포함하는 멀티미디어 기기의 제어방법.
  17. 제15항에 있어서,
    상기 멀티미디어 컨텐츠의 재생지연이 발생한 경우, 상기 서버로 상기 재생지연 시간을 전송하는 단계를 포함하는 멀티미디어 기기의 제어방법.
  18. 제15항에 있어서,
    상기 멀티미디어 컨텐츠의 재생 일시정지가 발생한 경우, 상기 서버로 상기 재생 일시정지 시간을 전송하는 단계를 포함하는 멀티미디어 기기의 제어방법.
  19. 제15항에 있어서,
    상기 멀티미디어 컨텐츠의 재생 일시정지 후 다시 재생이 발생한 경우, 상기 서버로 상기 재생 시작 시간을 전송하는 단계를 포함하는 멀티미디어 기기의 제어방법.
  20. 제15에 있어서,
    상기 멀티미디어 컨텐츠의 시간검색이 발생한 경우, 상기 서버로 상기 시간 검색 시간을 전송하는 단계를 포함하는 멀티미디어 기기의 제어방법.
  21. 제15항에 있어서,
    상기 멀티미디어 컨텐츠의 재생정지가 발생한 경우, 상기 서버로 상기 재생 정지 요청을 전송하는 단계를 포함하는 멀티미디어 기기의 제어방법.
  22. 멀티미디어 기기에 있어서,
    서버와 연결하는 통신부와;
    상기 서버로 멀티미디어 컨텐츠의 재생시작요청을 전송하고, 상기 서버로부터 상기 재생시작요청에 대응하여 결정된 상기 멀티미디어 컨텐츠의 재생 동기화를 위한 동기화정보를 수신하고, 상기 수신한 동기화정보에 기초하여 상기 멀티미디어 컨텐츠를 동기 재생하도록 제어하는 제어부를 포함하는 멀티미디어 기기.
  23. 제22항에 있어서,
    상기 제어부는, 상기 서버의 시스템클럭에 기초하여 결정된 동기화정보를 주기적으로 수신하는 멀티미디어 기기.
  24. 제22항에 있어서,
    상기 제어부는, 상기 멀티미디어 컨텐츠의 재생지연이 발생한 경우, 상기 서버로 상기 재생지연 시간을 전송하는 멀티미디어 기기.
  25. 제22항에 있어서,
    상기 제어부는, 상기 멀티미디어 컨텐츠의 일시정지가 발생한 경우, 상기 서버로 상기 재생 일시정지 시간을 전송하는 멀티미디어 기기.
  26. 제22항에 있어서,
    상기 제어부는, 상기 멀티미디어 컨텐츠의 재생 일시정지 후 다시 재생이 발생한 경우, 상기 서버로 상기 재생 시작 시간을 전송하는 멀티미디어 기기.
  27. 제22에 있어서,
    상기 제어부는, 상기 멀티미디어 컨텐츠의 시간검색이 발생한 경우, 상기 서버로 상기 시간 검색 시간을 전송하는 멀티미디어 기기.
  28. 제22항에 있어서,
    상기 제어부는, 상기 멀티미디어 컨텐츠의 재생정지가 발생한 경우, 상기 서버로 상기 재생 정지 요청을 전송하는 멀티미디어 기기.
KR1020130131964A 2012-11-23 2013-11-01 서버, 멀티미디어 기기 및 그들의 제어방법 KR20140066641A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/086,528 US20140149606A1 (en) 2012-11-23 2013-11-21 Server, multimedia apparatus and control method thereof for synchronously playing multimedia contents through a plurality of multimedia devices
EP13194145.2A EP2736263A1 (en) 2012-11-23 2013-11-22 Server, multimedia apparatus and control method thereof for synchronously playing multimedia contents through a plurality of multimedia devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210480896.9A CN103839558B (zh) 2012-11-23 2012-11-23 同步播放方法及服务器、播放器
CN201210480896.9 2012-11-23

Publications (1)

Publication Number Publication Date
KR20140066641A true KR20140066641A (ko) 2014-06-02

Family

ID=50802986

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130131964A KR20140066641A (ko) 2012-11-23 2013-11-01 서버, 멀티미디어 기기 및 그들의 제어방법

Country Status (2)

Country Link
KR (1) KR20140066641A (ko)
CN (1) CN103839558B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180117029A (ko) * 2016-02-29 2018-10-26 로비 가이드스, 인크. 복수의 디바이스 상에서의 미디어 자산 재생을 동기화하는 시스템 및 방법
CN111752695A (zh) * 2020-06-28 2020-10-09 北京百度网讯科技有限公司 下线方法、装置、设备以及存储介质
CN112188258A (zh) * 2020-09-22 2021-01-05 上海商泰汽车信息***有限公司 暂停同步方法及装置、存储介质、用户端、多设备播放***
US11327855B2 (en) 2019-07-12 2022-05-10 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103986944B (zh) * 2014-06-05 2017-10-17 西安诺瓦电子科技有限公司 显示终端集群播控方法、显示终端及显示终端集群管理端
CN104079957B (zh) * 2014-06-25 2017-09-01 广东欧珀移动通信有限公司 一种多媒体设备同步操作的方法及***
KR20160040015A (ko) 2014-10-02 2016-04-12 삼성전자주식회사 디스플레이 장치, 이의 제어 방법 및 디스플레이 시스템의 제어 방법
CN104867513B (zh) * 2015-04-20 2017-09-29 广东欧珀移动通信有限公司 一种播放控制方法及设备
CN105120436A (zh) * 2015-07-16 2015-12-02 广东欧珀移动通信有限公司 一种蜂窝音响***的实现方法及移动终端
CN106412646B (zh) * 2015-07-27 2020-06-02 中兴通讯股份有限公司 一种实现同步播放的方法和装置
CN105187689A (zh) * 2015-10-12 2015-12-23 国家电网公司 一种多终端共同播放超高清视频的同步方法
CN105392040B (zh) * 2015-11-05 2019-02-19 Oppo广东移动通信有限公司 一种多设备同步暂停和播放的控制方法及控制***
CN105657495B (zh) * 2015-12-31 2018-10-19 南京邮电大学 一种多智能终端同步播放方法及设备
CN107239253B (zh) * 2016-03-29 2020-05-12 扬智科技股份有限公司 同步播放速度的无线局域网播放器、***及其方法
CN106411449B (zh) * 2016-10-08 2019-02-01 Oppo广东移动通信有限公司 播放控制方法、装置及终端
CN106448714B (zh) * 2016-10-08 2019-05-03 Oppo广东移动通信有限公司 一种播放设备的同步播放方法、装置及***
CN106331825B (zh) * 2016-10-08 2017-09-29 广东欧珀移动通信有限公司 多媒体同步播放方法、装置、终端及***
CN106411448B (zh) * 2016-10-08 2019-02-01 Oppo广东移动通信有限公司 播放控制方法、装置及终端
CN108696762A (zh) * 2017-04-12 2018-10-23 中兴通讯股份有限公司 一种同步播放方法、装置和***
CN107566884B (zh) * 2017-08-24 2020-03-03 深圳创维-Rgb电子有限公司 一种连接方法、服务端和终端
CN107783748B (zh) * 2017-10-19 2021-01-26 广州三星通信技术研究有限公司 用于多个虚拟现实设备的同步播放的方法和虚拟现实设备
CN107835449B (zh) * 2017-11-06 2020-08-11 四川长虹电器股份有限公司 Android平台上基于网络实现多终端同步联屏的方法
CN108156498B (zh) * 2017-11-13 2020-11-20 海信视像科技股份有限公司 一种音视频同步的方法及装置
CN108055564B (zh) * 2017-12-20 2020-09-15 广州朗国电子科技有限公司 多个播放终端播放内容同步播放方法及***
EP3509312B1 (en) 2018-01-08 2023-06-07 MySyncster Holding OÜ System for real-time synchronization
CN108449630B (zh) * 2018-04-09 2020-05-22 歌尔股份有限公司 音频同步方法及***
CN116112721A (zh) * 2018-04-24 2023-05-12 谷歌有限责任公司 多个设备上的同步媒体内容回放的方法、***和介质
CN108882041B (zh) * 2018-07-09 2021-03-05 海信视像科技股份有限公司 播放器状态获取方法及装置
TWI690878B (zh) * 2018-11-02 2020-04-11 緯創資通股份有限公司 同步播放系統及同步播放方法
CN109218795B (zh) * 2018-11-29 2021-09-24 海信视像科技股份有限公司 一种多设备播放进度同步方法、装置及终端设备
CN109819302A (zh) * 2019-03-05 2019-05-28 北京奇艺世纪科技有限公司 多媒体文件播放控制方法及装置
CN110248047B (zh) * 2019-06-27 2021-06-15 深圳市拔超科技有限公司 一种视频矩阵的同步切换方法及***
CN110266910B (zh) * 2019-06-27 2021-06-15 深圳市拔超科技有限公司 一种可实现视频矩阵同步切换的编码方法、设备及可读存储介质
CN112073791A (zh) * 2020-08-03 2020-12-11 上海商泰汽车信息***有限公司 播放同步方法及装置、存储介质、用户端
CN112702620A (zh) * 2020-12-29 2021-04-23 四川长虹电器股份有限公司 一种基于gstreamer的播放器实现多屏同步播放的方法
CN112383795B (zh) * 2021-01-12 2021-06-25 北京清奇科技有限公司 一种视频同步播放***
CN114143584B (zh) * 2021-09-29 2024-03-26 杭州当虹科技股份有限公司 在多终端之间实现同步播放的播出***和方法
CN114339328B (zh) * 2021-12-31 2023-09-01 杭州当虹科技股份有限公司 时间戳同步服务实现方法和***
CN114900710B (zh) * 2022-05-10 2023-07-25 北京奇艺世纪科技有限公司 多设备同步方法、装置、电子设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417827B2 (en) * 2001-12-12 2013-04-09 Nokia Corporation Synchronous media playback and messaging system
CN100527784C (zh) * 2006-04-29 2009-08-12 深圳华强智能技术有限公司 一种动态图像同步播放***和方法
CN101072359A (zh) * 2007-05-18 2007-11-14 腾讯科技(深圳)有限公司 实现网络媒体同步视听的方法、***及用户端
JP4702397B2 (ja) * 2008-05-23 2011-06-15 ソニー株式会社 コンテンツサーバ、情報処理装置、ネットワーク機器、コンテンツ配信方法、情報処理方法およびコンテンツ配信システム
US9209987B2 (en) * 2010-03-02 2015-12-08 Microsoft Technology Licensing, Llc Social media playback
CN101977222B (zh) * 2010-10-28 2013-01-23 北京九华互联科技有限公司 一种多媒体终端进行同步的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180117029A (ko) * 2016-02-29 2018-10-26 로비 가이드스, 인크. 복수의 디바이스 상에서의 미디어 자산 재생을 동기화하는 시스템 및 방법
US11327855B2 (en) 2019-07-12 2022-05-10 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
CN111752695A (zh) * 2020-06-28 2020-10-09 北京百度网讯科技有限公司 下线方法、装置、设备以及存储介质
CN112188258A (zh) * 2020-09-22 2021-01-05 上海商泰汽车信息***有限公司 暂停同步方法及装置、存储介质、用户端、多设备播放***

Also Published As

Publication number Publication date
CN103839558A (zh) 2014-06-04
CN103839558B (zh) 2016-08-31

Similar Documents

Publication Publication Date Title
KR20140066641A (ko) 서버, 멀티미디어 기기 및 그들의 제어방법
US8831397B2 (en) Video player, video playback method, and control target apparatus
KR101932793B1 (ko) 동기화된 컨텐트의 분산형 제어
US10734032B2 (en) Method, device, and system of synchronously playing media file
US20160099987A1 (en) Synchronous delivery of media content in a collaborative environment
EP2736263A1 (en) Server, multimedia apparatus and control method thereof for synchronously playing multimedia contents through a plurality of multimedia devices
JP6492227B2 (ja) コンテンツ投影のための方法およびモバイル端末
WO2013074212A2 (en) Coordinating media presentations among peer devices
CN1981524A (zh) 信息处理设备和方法、记录介质及程序
WO2008035603A1 (fr) Système de reproduction de contenu, dispositif de commande à distance et programme d&#39;ordinateur
JPWO2010023828A1 (ja) 情報処理システムおよび情報処理装置
US20230396829A1 (en) Methods, systems, and media for synchronized media content playback on multiple devices
CN111343477B (zh) 数据传输方法、装置、电子设备及存储介质
JP2023078286A (ja) 動的メディアセッションを提供するための方法、システム、および媒体
KR101624904B1 (ko) 휴대용 단말기에서 디엔엘에이를 이용하여 멀티 사운드 채널 컨텐츠를 재생하기 위한 장치 및 방법
JP5117264B2 (ja) 再生同期を備えた相互接続マルチメディア・システム
JP2020174378A (ja) 異種ネットワーキング環境におけるメディアレンダリングの同期化
TWI697236B (zh) 視訊會議影音共享方法
JP2008011166A (ja) Avサーバ装置
JP2003009298A (ja) 音声再生装置及び音声再生方法
CN117412092A (zh) 音视频播放方法、装置、电子设备及计算机可读存储介质
EE et al. Published
CA2629156A1 (en) Interconnected multimedia systems with synchronized playback

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination