KR20120084686A - 독립적인 시간 소스로부터 시간 신호(들)를 사용한 미디어 스트림들의 동기화 - Google Patents

독립적인 시간 소스로부터 시간 신호(들)를 사용한 미디어 스트림들의 동기화 Download PDF

Info

Publication number
KR20120084686A
KR20120084686A KR20120006389A KR20120006389A KR20120084686A KR 20120084686 A KR20120084686 A KR 20120084686A KR 20120006389 A KR20120006389 A KR 20120006389A KR 20120006389 A KR20120006389 A KR 20120006389A KR 20120084686 A KR20120084686 A KR 20120084686A
Authority
KR
South Korea
Prior art keywords
timing
data network
media
asynchronous data
media stream
Prior art date
Application number
KR20120006389A
Other languages
English (en)
Other versions
KR101355059B1 (ko
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 브로드콤 코포레이션
Publication of KR20120084686A publication Critical patent/KR20120084686A/ko
Application granted granted Critical
Publication of KR101355059B1 publication Critical patent/KR101355059B1/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
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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 Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

독립적인 시간 소스로부터 시간 신호(들)을 사용하여 미디어 스트림들을 동기화하는 기술들이 본원에 기술된다. 독립적인 시간 소스는 비동기 데이터 네트워크를 통해 미디어 스트림들이 전송되는 상기 비동기 데이터 네트워크와는 독립적인(즉, 이에 연결되지 않은) 시간 소스이다. 본원에 기술된 기술들에 따라, 미디어 서버(들)은 미디어 스트림들을 비동기 데이터 네트워크를 통해 클라이언트(들)에 전송한다. 독립적인 시간 소스는 시간 신호(들)을 미디어 서버(들) 및/또는 클라이언트(들)에 제공한다. 시간 신호(들)이 미디어 서버(들)에 제공된다면, 미디어 서버(들)은 타이밍 신호(들)에 기초하는 타이밍 정보를 클라이언트(들)에 제공할 수 있다. 클라이언트(들)은 미디어 서버(들)로부터 타이밍 정보 및/또는 타이밍 소스로부터 타이밍 신호(들)을 사용하여 미디어 스트림들을 동기화한다.

Description

독립적인 시간 소스로부터 시간 신호(들)를 사용한 미디어 스트림들의 동기화{SYNCHRONIZING MEDIA STREAMS USING TIME SIGNAL(S) FROM AN INDEPENDENT TIME SOURCE}
본 발명은 개괄적으로 미디어 스트림들의 동기화에 관한 것이다.
복수의 미디어 스트림들은 사용자에 의한 소비를 위한 결합된 미디어(예를 들면, 멀티미디어) 콘텐츠를 제공하기 위해 결합될 수 있다. 사용자를 위한 의도된 결합된 미디어 경험을 제공하기 위해 이러한 미디어 스트림들은 동기화되는 것이 바람직하다. 그러나, 비동기 네트워크 환경과 같은 일부 환경들에서 동기화는 문제가 된다. 예를 들면, 인터넷 프로토콜(IP) 네트워크 환경에서, 송부장치는 통상적으로 수신장치가 지정된 순서로 패킷들을 구성하고 타이밍 정보에 의해 명시된 대로, 지정된 레이트로 패킷들을 재현하도록 미디어 스트림의 각 패킷(즉, 엔캡슐레이트된 부분)에 타이밍 정보를 포함한다. 각 미디어 스트림의 패킷들로부터 타이밍 정보는 콘텐츠가 재현되거나 사용자에게 제공되기 전에 상관되어, 결합된 미디어 콘텐츠에 적용된다.
미디어 스트림들에 걸친 타이밍 정보의 상관은 이러한 타이밍 정보가 동일한 시간 기원(time origin)을 가질 것을 필요로 한다. 이러한 시간 기원은 일반적으로 네트워크 내의 네트워크 시간 서버이다. 예를 들면, IP 네트워크의 IP 종점들은 전형적으로 네트워크 시간 프로토콜(NTP)과 같은 프로토콜을 사용하여 네트워크 시간 서버로부터 시간 정보를 가져온다. 그러나, 가져온 타이밍 정보는 네트워크 레이턴시 및 그외 요인들에 기인하여 대부분 수백 ms (~ 200ms) 정도의 정확도를 갖는다. 결국, 미디어 스트림 패킷들에 적용되는 시간 스탬프 값들에는 몇백 밀리초의 불확실성이 상속된다.
네트워크 상에서 각 스트림에 관한 상속된 시간 불확실성에 기인하여, 스트림들의 수가 증가함에 따라 전체 불확실성이 증가한다. 이 불확실성은 결합된 미디어 콘텐트의 동기화를 위해 필요한 교차상관의 정확도에 직접적으로 영향을 미치며 따라서 사용자의 결합된 미디어 경험에 영향을 미친다.
청구항들에 보다 더 완전하게 개시되고, 실질적으로 도면들 중 적어도 한 도면에 도시되고 및/또는 이에 관련하여 기술된, 독립적인 시간 소스로부터 시간 신호(들)을 사용하여 미디어 스트림들을 동기화하기 위한 시스템 및/또는 방법.
일 양상에 따라서, 복수의 미디어 스트림들을 동기화하는 방법으로서,
제 1 미디어 소스에 의해 발생된 제 1 미디어 스트림 및 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 1 타이밍 신호에 기초한 제 1 타이밍 정보를 비동기 데이터 네트워크를 통해 제 1 미디어 서버로부터 수신하는 단계;
제 2 미디어 소스에 의해 발생된 제 2 미디어 스트림 및 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 2 타이밍 신호에 기초한 제 2 타이밍 정보를 비동기 데이터 네트워크를 통해 제 2 미디어 서버로부터 수신하는 단계; 및
제 1 타이밍 정보 및 제 2 타이밍 정보에 기초하여 제 1 미디어 스트림 및 제 2 미디어 스트림을 동기화하여 제 1 및 제 2 미디어 스트림들에 기초한 결합된 미디어 콘텐츠를 제공하는 단계를 포함하는 방법이 제공된다.
유리하게, 방법은 제 1 타이밍 신호 및 제 2 타이밍 신호에 대응하는 제 3 타이밍 신호를 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신하는 단계를 더 포함하고;
제 1 미디어 스트림 및 제 2 미디어 스트림을 동기화하는 단계는 제 1 미디어 스트림 및 제 2 미디어 스트림을 동기화하기 위해 제 1 타이밍 정보 및 제 3 타이밍 신호를 사용하여 제 1 미디어 스트림을 버퍼링하는 단계를 포함한다.
유리하게, 제 1 미디어 스트림 및 제 2 미디어 스트림을 동기화하는 단계는
제 2 타이밍 정보 및 제 3 타이밍 신호를 사용하여 제 2 미디어 스트림을 버퍼링하는 단계;
제 1 미디어 스트림을 버퍼링하는 것에 대응하여 제 1 미디어 스트림으로부터 지터를 제거하는 단계; 및
제 2 미디어 스트림을 버퍼링하는 것에 대응하여 제 2 미디어 스트림으로부터 지터를 제거하는 단계를 더 포함한다.
유리하게, 제 1 타이밍 정보를 수신하는 단계는
비동기 데이터 네트워크에 연결되지 않은 원자 클럭으로부터 수신된 제 1 타이밍 신호에 기초하여 발생되는 제 1 타이밍 정보를 비동기 데이터 네트워크를 통해 제 1 미디어 서버로부터 수신하는 단계를 포함하고,
제 2 타이밍 정보를 수신하는 단계는 비동기 데이터 네트워크에 연결되지 않은 원자 클럭으로부터 수신된 제 2 타이밍 신호에 기초하여 발생되는 제 2 타이밍 정보를 비동기 데이터 네트워크를 통해 제 2 미디어 서버로부터 수신하는 단계를 포함한다.
유리하게, 제 1 미디어 스트림을 수신하는 단계는
비디오 회의의 제 1 참가자의 시각적 표현을 나타내는 제 1 시각 데이터 및 제 1 참가자의 스피치를 나타내는 제 1 오디오 데이터를 포함하는 제 1 미디어 스트림을 수신하는 단계를 포함하고;
제 2 미디어 스트림을 수신하는 단계는 비디오 회의의 제 2 참가자의 시각적 표현을 나타내는 제 2 시각 데이터 및 제 1 참가자의 스피치를 나타내는 제 2 오디오 데이터를 포함하는 제 2 미디어 스트림을 수신하는 단계를 포함하고,
제 1 미디어 스트림 및 제 2 미디어 스트림을 동기화하는 단계는, 제 1 타이밍 정보 및 제 2 타이밍 정보에 기초하여 제 1 시각 데이터, 제 1 오디오 데이터, 제 2 시각 데이터, 및 제 2 오디오 데이터를 동기화하여 제 1 참가자의 시각 표현, 제 1 참가자의 스피치, 제 2 참가자의 시각 표현, 및 제 2 참가자의 스피치를 동기되어 포함하는 결합된 미디어 콘텐츠를 제공하는 단계를 포함한다.
추가 양상에 따라서, 미디어 스트림을 버퍼링하는 방법으로서,
미디어 스트림 및 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 타이밍 신호에 기초하여 발생된 타이밍 정보를 상기 비동기 데이터 네트워크를 통해 미디어 서버로부터 수신하는 단계;
비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 제 2 타이밍 신호를 수신하는 단계; 및
타이밍 정보 및 제 2 타이밍 신호를 사용하여 미디어 스트림을 버퍼링하는 단계를 포함하는, 방법이 제공된다.
유리하게, 타이밍 정보를 수신하는 단계는
비동기 데이터 네트워크에 연결되지 않은 원자 클럭으로부터 수신된 타이밍 신호에 기초하여 발생되는 타이밍 정보를 비동기 데이터 네트워크를 통해 미디어 서버로부터 수신하는 단계를 포함하고,
제 2 타이밍 정보를 수신하는 단계는 비동기 데이터 네트워크에 연결되지 않은 원자 클럭으로부터 제 2 타이밍 신호를 수신하는 단계를 포함한다.
유리하게, 타이밍 정보를 수신하는 단계는
비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 제 1 블루투스 연결을 통해 수신된 타이밍 신호에 기초하여 발생되는 타이밍 정보를 비동기 데이터 네트워크를 통해 미디어 서버로부터 수신하는 단계를 포함하고,
제 2 타이밍 정보를 수신하는 단계는
비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 제 2 블루투스 연결을 통해 제 2 타이밍 신호를 수신하는 단계를 포함한다.
유리하게, 타이밍 정보를 수신하는 단계는
비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 무선 통신 프로토콜에 따라 수신된 타이밍 신호에 기초하여 발생되는 타이밍 정보를 비동기 데이터 네트워크를 통해 미디어 서버로부터 수신하는 단계를 포함하고,
제 2 타이밍 정보를 수신하는 단계는
비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 무선 통신 프로토콜에 따라 수신된 제 2 타이밍 신호를 수신하는 단계를 포함한다.
일 양상에 따라서, 미디어 스트림을 버퍼링하는 방법은
비동기 데이터 네트워크를 통해 미디어 서버로부터 미디어 스트림 및 미디어 스트림에 관한 타이밍 정보를 수신하는 단계로서, 타이밍 정보는 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 1 타이밍 신호에 기초하는 것인, 단계;
비동기 데이터 네트워크에 연결되지 않은 경로를 통해 미디어 서버로부터 제 1 타이밍 신호에 기초하는 제 2 타이밍 신호를 수신하는 단계; 및
타이밍 정보 및 제 2 타이밍 신호를 사용하여 미디어 스트림을 버퍼링하는 단계를 포함한다.
유리하게, 타이밍 정보는 비동기 데이터 네트워크에 연결되지 않은 원자 클럭으로부터 수신된 제 1 타이밍 신호에 기초한다.
유리하게, 타이밍 정보는 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 블루투스 연결을 통해 수신된 제 1 타이밍 신호에 기초한다.
유리하게, 타이밍 정보는 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 무선 통신 프로토콜에 따라 수신된 제 1 타이밍 신호에 기초한다.
일 양상에 따라서, 미디어 스트림을 버퍼링하는 방법으로서,
비동기 데이터 네트워크를 통해 미디어 서버로부터 미디어 스트림 및 미디어 스트림에 관한 타이밍 정보를 수신하는 단계로서, 타이밍 정보는 제 1 타이밍 신호에 기초하는 것인, 단계;
비동기 데이터 네트워크를 포함하지 않는 경로를 통해 제 2 타이밍 신호에 기초하는 제 1 타이밍 신호를 미디어 서버에 제공하는 단계;
비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 제 2 타이밍 신호를 수신하는 단계; 및
타이밍 정보 및 제 2 타이밍 신호를 사용하여 미디어 스트림을 버퍼링하는 단계를 포함하는, 방법이 제공된다.
유리하게, 제 2 타이밍 정보를 수신하는 단계는
비동기 데이터 네트워크에 연결되지 않은 원자 클럭으로부터 제 2 타이밍 신호를 수신하는 단계를 포함한다.
일 양상에 따라서, 미디어 서버와 클라이언트 간에 결합된 라우터로서,
비동기 데이터 네트워크를 통해 미디어 서버로부터 미디어 스트림 및 미디어 스트림에 관한 타이밍 정보를 수신하게 구성된 입력회로;
비동기 데이터 네트워크를 포함하지 않는 경로를 통해 타이밍 신호를 클라이언트에 제공하게 구성된 타이밍 모듈; 및
클라이언트가 타이밍 정보 및 타이밍 신호를 사용하여 미디어 스트림을 버퍼할 수 있게 미디어 스트림 및 타이밍 정보를 비동기 데이터 네트워크를 통해 클라이언트에 제공하게 구성된 출력회로를 포함하는, 라우터가 제공된다.
일 양상에 따라서, 제 1 오디오 스트림 및 제 2 오디오 스트림을 비동기 데이터 네트워크를 통해 제공하는 오디오 서버;
비동기 데이터 네트워크를 통해 오디오 서버로부터 수신된 제 1 오디오 스트림을 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 1 타이밍 신호에 기초하여 버퍼하는 제 1 스피커; 및
비동기 데이터 네트워크를 통해 오디오 서버로부터 수신된 제 2 오디오 스트림을 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 2 타이밍 신호에 기초하여 버퍼하는 제 2 스피커를 포함하는, 시스템이 제공된다.
유리하게, 타이밍 소스는 원자 클럭이다.
유리하게, 제 1 스피커는 제 1 오디오 스트림을 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 제 1 블루투스 연결을 통해 수신된 제 1 타이밍 신호에 기초하여 버퍼하며;
제 2 스피커는 제 2 오디오 스트림을 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 제 2 블루투스 연결을 통해 수신된 제 2 타이밍 신호에 기초하여 버퍼한다.
유리하게, 제 1 스피커는 제 1 오디오 스트림을 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 무선 통신 프로토콜에 따라 수신된 제 1 타이밍 신호에 기초하여 버퍼하며;
제 2 스피커는 제 2 오디오 스트림을 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 무선 통신 프로토콜에 따라 수신된 제 1 타이밍 신호에 기초하여 버퍼한다.
본원에 포함되고 명세서의 일부를 형성하는 동반된 도면들은 본 발명의 실시예들을 도시하며, 설명과 더불어 연루된 원리를 설명하며 당업자가 개시된 기술들을 제작하여 사용할 수 있게 한다.
도 1, 도 2, 도 7, 도 9, 도 12 및 도 14는 본원에 기술된 실시예들에 따라 미디어 시스템들의 예를 도시한 것이다.
도 3 및 도 4는 본원에 기술된 실시예들에 따라 미디어 스트림들을 동기화하는 방법들의 예의 흐름도이다.
도 5는 본원에 기술된 실시예들에 따라 도 2에 도시된 클라이언트의 구현예의 블록도이다.
도 6, 도 8, 도 10 및 도 13은 본원에 기술된 실시예들에 따라 미디어 스트림을 버퍼링하기 위한 방법들의 예의 흐름도이다.
도 11은 본원에 기술된 실시예에 따라 도 9에 도시된 클라이언트의 구현예의 블록도이다.
도 15는 실시예들이 구현될 수 있는 컴퓨터의 블록도이다.
개시된 기술들의 특징들 및 이점들은 동일 구성요소들에 동일 참조부호를 사용한 도면들에 관련하여 취해졌을 때 개시된 상세한 설명으로부터 더 명백해질 것이다. 도면들에서, 동일 참조부호들은 일반적으로 동일한, 기능적으로 유사한, 및/또는 구조적으로 유사한 구성요소들을 나타낸다. 구성요소가 처음 나타나는 도면은 대응하는 참조부호에서 맨 좌측에 숫자들로 나타낸다.
관련출원의 상호-참조
이 특허출원은 참조로서 그 전체가 여기에 포함되는 2011년 1월 19일에 출원된 미국 임시특허출원번호 61/434,257호로부터의 우선권 이익을 주장한다.
I. 서론
다음 상세한 설명은 본 발명의 실시예들을 예시하는 동반된 도면들을 참조한다. 그러나, 본 발명의 범위는 이들 실시예들로 제한되지 않으며 대신 첨부된 청구항들에 의해 정의된다. 따라서, 그럼에도 불구하고, 예시된 실시예들을 수정한 실시예들과 같은 동반된 도면들에 도시된 것들 외의 실시예들이 본 발명에 의해 포함될 수 있다.
명세서에서 "일 실시예", "실시예", 등이라고 한 것은 기술된 실시예가 특정한 특징, 구조, 또는 특성을 포함할 수 있지만 모든 실시예가 반드시 특정한 특징, 구조, 또는 특성을 포함하는 것은 아님을 나타낸다. 또한, 이러한 어구들은 반드시 동일 실시예를 언급하는 것이 아니다. 또한, 특정한 특징, 구조, 또는 특성이 실시예에 관련하여 기술될 때, 분명하게 기술되었든 아니든 간에 다른 실시예들에 관련하여 이러한 특정한 특징, 구조, 또는 특성을 구현하는 것은 당업자의 지식 내에 있는 것이다.
무엇보다도, 독립적인 시간 소스로부터 시간 신호(들)를 사용하여 미디어 스트림들을 동기화하는 다양한 수법들이 본원에 기술된다. 독립적인 시간 소스는 비동기 데이터 네트워크를 통해 미디어 스트림들이 전송되는 상기 비동기 데이터 네트워크와는 독립적인(즉, 이에 연결되지 않은) 시간 소스이다. 이러한 비동기 데이터 네트워크는 단일 비동기 데이터 네트워크일 수도 있고, 혹은 복수의 비동기 데이터 네트워크들을 포함할 수도 있고, 혹은 하나 이상의 비동기 데이터 네트워크들 및 하나 이상의 동기 데이터 네트워크들을 포함할 수도 있다. 독립적인 시간 소스는 무선 네트워크 클럭 소스와 같은 국부적 실체이거나 원자 클럭과 같은 전역적 실체일 수 있다.
본원에 기술된 처리 방법들에 따라, 미디어 스트림들은 비동기 데이터 네트워크를 통해 미디어 서버(들)에서 클라이언트(들)에 전송된다. 클라이언트는 미디어 플레이어, 미디어 집성 서버, 또는 이외 어떤 다른 적합한 유형의 클라이언트일 수 있다. 미디어 집성 서버는 복수의 미디어 서버들로부터 미디어 스트림들을 결합하며, 따라서 결합된 미디어 스트림들은 사용자에 의한 소비를 위해 미디어 플레이어에 제공될 수 있다. 독립적인 시간 소스는 미디어 스트림들의 동기화가 용이해지게 미디어 서버(들) 및/또는 클라이언트(들)에 시간 신호(들)를 제공한다. 시간 신호(들)는 디지털 시간 신호(들), 아날로그 시간 신호(들), 또는 이들의 조합일 수 있다.
제 1 처리 방법에 따라서, 제 1 미디어 소스에 의해 발생되는 제 1 미디어 스트림은 비동기 데이터 네트워크를 통해 제 1 미디어 서버로부터 수신된다. 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 1 타이밍 신호에 기초한 제 1 타이밍 정보는 제 1 미디어 서버로부터 수신된다. 제 1 타이밍 정보는 비동기 데이터 네트워크를 통해서 혹은 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 수신될 수 있다. 제 2 미디어 소스에 의해 발생된 제 2 미디어 스트림은 비동기 데이터 네트워크를 통해 제 1 미디어 서버와는 다른 제 2 미디어 서버로부터 수신된다. 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 2 타이밍 신호에 기초한 제 2 타이밍 정보는 제 2 미디어 서버로부터 수신된다. 제 2 타이밍 정보는 비동기 데이터 네트워크를 통해서 혹은 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 수신될 수 있다. 제 1 타이밍 정보 및 제 2 타이밍 정보에 기초하여 제 1 미디어 스트림 및 제 2 미디어 스트림을 동기화하여 제 1 및 제 2 미디어 스트림들에 기초한 결합된 미디어 콘텐츠를 제공한다.
제 2 처리 방법에 따라서, 미디어 스트림이 비동기 데이터 네트워크를 통해 미디어 서버로부터 수신된다. 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 타이밍 신호에 기초하여 발생된 타이밍 소스로부터 수신된 타이밍 신호에 기초하여 발생되는 타이밍 정보가 미디어 서버로부터 수신된다. 예를 들면, 비동기 데이터 네트워크를 통해 미디어 서버로부터 타이밍 정보가 수신될 수 있다. 또 다른 예에서, 타이밍 정보는 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 미디어 서버로부터 수신될 수 있다. 제 2 타이밍 신호는 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된다. 미디어 스트림은 타이밍 정보 및 제 2 타이밍 신호를 사용하여 버퍼된다.
제 3 처리 방법에 따라서, 미디어 스트림 및 미디어 스트림에 관한 타이밍 정보가 비동기 데이터 네트워크를 통해 미디어 서버로부터 수신된다. 타이밍 정보는 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 1 타이밍 신호에 기초한다. 제 1 타이밍 신호에 기초하는 제 2 타이밍 신호가 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 미디어 서버로부터 수신된다. 타이밍 정보 및 제 2 타이밍 신호를 사용하여 미디어 스트림이 버퍼된다.
제 4 처리 방법에 따라서, 미디어 스트림 및 미디어 스트림에 관한 타이밍 정보가 비동기 데이터 네트워크를 통해 미디어 서버로부터 수신된다. 타이밍 정보는 제 1 타이밍 신호에 기초한다. 제 1 타이밍 신호는 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 미디어 서버에 제공된다. 제 1 타이밍 신호는 제 2 타이밍 신호에 기초한다. 제 2 타이밍 신호는 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된다. 타이밍 정보 및 제 2 타이밍 신호를 사용하여 미디어 스트림이 버퍼된다.
제 5 처리 방법에 따라서, 미디어 서버와 클라이언트 간에 결합된 라우터는 입력회로, 타이밍 모듈, 및 출력회로를 포함한다. 입력회로는 비동기 데이터 네트워크를 통해 미디어 서버로부터 미디어 스트림 및 미디어 스트림에 관한 타이밍 정보를 수신한다. 타이밍 모듈은 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 타이밍 신호를 상기 클라이언트에 제공한다. 출력회로는 클라이언트가 타이밍 정보 및 타이밍 신호를 사용하여 미디어 스트림을 버퍼할 수 있게 미디어 스트림 및 타이밍 정보를 비동기 데이터 네트워크를 통해 클라이언트에 제공한다.
제 6 처리 방법에 따라서, 시스템은 오디오 서버, 제 1 스피커, 및 제 2 스피커를 포함한다. 오디오 서버는 제 1 오디오 스트림 및 제 2 오디오 스트림을 비동기 데이터 네트워크를 통해 제공한다. 제 1 스피커는 비동기 데이터 네트워크를 통해 오디오 서버로부터 수신된 제 1 오디오 스트림을 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 1 타이밍 신호에 기초하여 버퍼한다. 제 2 스피커는 비동기 데이터 네트워크를 통해 오디오 서버로부터 수신된 제 2 오디오 스트림을 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 2 타이밍 신호에 기초하여 버퍼한다.
본원에 기술된 동기화 기술들은 종래의 동기화 기술들에 비해 다양한 이익들을 갖는다. 예를 들면, 본원에 기술된 동기화 기술들은 종래의 동기화 기술들보다 미디어 스트림들을 더 신속하게 및/또는 정확하게 동기화할 수 있다. 동기화 기술들은 종래의 기술들보다 재생 레이턴스가 적은 특징이 있다. 예를 들면, 본원에 기술된 바와 같이, 독립적인 시간 소스를 사용함으로써 미디어 스트림들에 연관된 불확실성들은 무시할 수 있게 된다.
II. 실시예들
도 1은 본원에 기술된 실시예에 따른 미디어 시스템(100)의 예를 도시한 것이다. 일반적으로, 미디어 시스템(100)은 사용자에 의한 소비를 위한 결합된 미디어(예를 들면, 멀티미디어) 콘텐츠를 제공하기 위해 미디어 스트림들을 결합하게 동작한다. 미디어 시스템(100)은 미디어 서버(들)(102), 비동기 데이터 네트워크(104), 클라이언트(106), 및 타이밍 소스(108)를 포함한다. 미디어 서버(들)(102)와 클라이언트(106) 간에 통신은 공지의 네트워크 통신 프로토콜들을 사용하여 비동기 데이터 네트워크(104)를 통해 수행될 수 있다. 미디어 서버(들)(102)와 클라이언트(106) 간에 통신은 비동기 데이터 네트워크(104)를 포함하지 않는 경로(예를 들면, 경로(122 또는 124))를 통해 공지의 무선(예를 들면, Bluetooth(등록상표), WiFi(상표), 등) 또는 유선 통신 프로토콜들을 사용하여 수행될 수도 있다. 비동기 데이터 네트워크(104)는 단일 비동기 데이터 네트워크일 수도 있고, 혹은 복수의 비동기 데이터 네트워크들을 포함할 수도 있고, 혹은 하나 이상의 비동기 데이터 네트워크들 및 하나 이상의 동기 데이터 네트워크들을 포함할 수도 있다. 예를 들면, 비동기 데이터 네트워크(104)는 광역 네트워크(예를 들면, 인터넷), 근거리 네트워크(LAN), 또는 유형의 네트워크, 혹은 이들의 조합일 수 있다.
미디어 서버(들)(102)는 클라이언트(106)와 통신할 수 있는 처리 시스템들이다. 처리 시스템의 예는 한 세트의 명령들에 따라 데이터를 조작할 수 있는 적어도 한 프로세서를 포함하는 시스템이다. 예를 들면, 처리 시스템은 컴퓨터, PDA(personal digital assistant), 등일 수 있다. 미디어 서버(들)(102)는 비동기 데이터 네트워크(104)를 통해 클라이언트(106)에게 복수의 미디어 스트림들(112)을 제공한다.
클라이언트(106)는 미디어 서버(들)(102)로부터 수신된 미디어 스트림들(112)을 처리할 수 있는 처리 시스템이다. 클라이언트(106)는 타이밍 소스(108)에 의해 제공된 타이밍 신호들(110)에 기초하여 미디어 스트림들(112)을 동기화한다. 클라이언트(106)는 미디어 스트림들(112)을 결합하여 결합된 미디어 콘텐츠(114)를 제공한다.
타이밍 소스(108)는 비동기 데이터 네트워크(104)로부터 독립적으로 클럭 신호를 발생할 수 있는 장치이다. 예를 들면, 타이밍 소스(108)는 석영 클럭, 원자 클럭, 또는 이외 어떤 다른 적합한 유형의 타이밍 소스일 수 있다. 타이밍 소스(108)는 경로(116)를 통해 미디어 서버(들)(102)에 및/또는 경로(126)를 통해 클라이언트(106)에 타이밍 신호들(110)을 제공한다. 경로(116)도 경로(126)도 비동기 데이터 네트워크(104)를 포함하지 않는다.
타이밍 소스(108)는 블루투스(등록상표) 연결, 셀룰라 연결, 등과 같은 임의의 적합한 연결(들)을 통해 타이밍 신호들(110)을 제공할 수 있다. 연결(들)은 위에 나타낸 바와 같이, 무선(예를 들면, Bluetooth(등록상표), 셀룰라, 등) 또는 유선 통신 프로토콜과 같은 명시된 프로토콜에 따라 설정될 수 있다. 그러나, 연결(들)은 반드시 명시된 프로토콜에 따라 설정될 필요는 없음을 알 것이다. Bluetooth(등록상표)는 장치들 간에 정보를 송신하기 위해 2.4 GHz를 사용하는 무선 프로토콜이다. 예를 들면, 타이밍 신호들(110) 각각은 블루투스(등록상표) 프로토콜에 따라 2.4 GHz 신호일 수 있다. 셀룰라 프로토콜은 라디오 주파수 스트펙트럼의 UHF(ultra high frequency) 대역 중 하나 이상의 부-대역들을 지원할 수 있다. 셀룰라 프로토콜의 몇몇 예들은 다음으로 제한되는 것은 아니지만, 코드분할 다중접속(CDMA), 시분할 다중접속(TDMA), GSM(global system for mibile communications)(등록상표), DECT(digital enhanced cordless telecommnunications), WiMAX(worldwide interoperabibility for microwave access)(등록상표), TACS(total access conmmunication system), 및 AMPS(advanced mobile phone system)을 포함한다.
제 1 예에서, 타이밍 소스(108)는 클라이언트(106)가 아니라 미디어 서버(들)(102)에 타이밍 신호들(110)을 제공한다. 이 예에 따라, 미디어 서버(들)(102)는 타이밍 신호들(110)에 기초한 타이밍 정보를 비동기 데이터 네트워크(104)를 통해서 및/또는 비동기 데이터 네트워크(104)를 포함하지 않는 경로(122)를 통해 클라이언트(106)에 제공할 수 있다. 예를 들면, 미디어 서버(들)(102)는 미디어 스트림들(112)을 비동기 데이터 네트워크(104)를 통해 클라이언트(106)에 제공하기 전에 타이밍 신호들(110)에 기초한 시간 스탬프들을 미디어 스트림들(112)에 삽입할 수 있다. 이외에 혹은 대안적으로, 이와는 달리 미디어 서버(들)(102)는 미디어 스트림들(112)을 클라이언트(106)에 제공하기 전에, 타이밍 신호들(110)에 기초한 타이밍 정보를 미디어 스트림들(112)에 결합한다(예를 들면 프리펜드 또는 어펜드). 이외에 혹은 대안적으로, 미디어 서버(들)(102)는 타이밍 신호들(110)에 기초한 타이밍 정보를 비동기 데이터 네트워크(104) 및/또는 경로(122)를 통해 미디어 스트림들(112)과는 별도로 클라이언트(106)에 제공할 수 있다. 이 예에 따라, 클라이언트(106)는 타이밍 정보(예를 들면, 타이밍 신호들(110)에 기초한 시간 스탬프들)을 사용하여 미디어 스트림들(112)을 동기화할 수 있다.
제 2 예에서, 타이밍 소스(108)는 타이밍 신호들(110)을 미디어 서버(들)(102)가 아니라 클라이언트(106)에 제공한다. 이 예에 따라, 클라이언트(106)는 타이밍 신호들(110)에 기초한 타이밍 정보를 비동기 데이터 네트워크(104)를 통해 및/또는 비동기 데이터 네트워크(104)를 포함하지 않는 경로(124)를 통해 미디어 서버(들)(102)에 제공할 수 있다. 클라이언트(106)로부터 타이밍 정보의 수신시, 미디어 서버(들)(102)는 미디어 스트림들(112)을 비동기 데이터 네트워크(104)를 통해 클라이언트(106)에 제공하기 전에, 수신된 타이밍 정보에 기초하는 시간 스탬프들을 미디어 스트림들(112)에 삽입할 수 있다. 이외에 혹은 대안적으로, 이와는 달리 미디어 서버(들)(102)는 미디어 스트림들(112)을 클라이언트(106)에 제공하기 전에, 클라이언트(106)로부터 수신된 타이밍 정보에 기초한 제 2 타이밍 정보를 미디어 스트림들(112)에 결합한다(예를 들면 프리펜드 또는 어펜드). 이외에 혹은 대안적으로, 미디어 서버(들)(102)는 제 2 타이밍 정보를 비동기 데이터 네트워크(104) 및/또는 경로(122)를 통해 미디어 스트림들(112)과는 별도로 클라이언트(106)에 제공할 수 있다. 이 예에 따라, 클라이언트(106)는 제 2 타이밍 정보 및 시간 신호(들)(110)를 사용하여 미디어 스트림들(112)을 동기화할 수 있다.
제 3 예에서, 타이밍 소스(108)는 타이밍 신호들(110)(또는 이의 제 1 부분)을 미디어 서버(들)(102)에 제공하며 타이밍 신호들(110)을 클라이언트(106)에도 제공한다. 이 예에 따라, 미디어 서버(들)(102)는 미디어 스트림들(112)을 비동기 데이터 네트워크(104)를 통해 클라이언트(106)에 제공하기 전에, 타이밍 신호(들)(110)(혹은 이의 제 1 부분)에 기초하는 시간 스탬프들을 미디어 스트림들(112)에 삽입할 수 있다. 이외에 혹은 대안적으로, 이와는 달리 미디어 서버(들)(102)은 미디어 스트림들(112)을 클라이언트(106)에 제공하기 전에, 타이밍 신호(들)(110)에 기초한 타이밍 정보를 미디어 스트림들(112)에 결합한다(예를 들면 프리펜드 또는 어펜드). 이외에 혹은 대안적으로, 미디어 서버(들)(102)는 타이밍 정보를 비동기 데이터 네트워크(104) 및/또는 경로(122)를 통해 미디어 스트림들(112)과는 별도로 클라이언트(106)에 제공할 수 있다. 이 예에 따라, 클라이언트(106)는 타이밍 정보 및 시간 신호(들)(110)를 사용하여 미디어 스트림들(112)을 동기화할 수 있다.
도 2는 본원에 기술된 실시예에 따른 또 다른 예의 미디어 시스템(200)을 도시한 것이다. 미디어 시스템(200)은 복수의 미디어 서버(들)(202A - 202N), 비동기 데이터 네트워크(204), 클라이언트(206), 및 타이밍 소스(208)를 포함한다. 타이밍 소스(208)는 타이밍 신호들(210A - 210N)을, 비동기 데이터 네트워크(204)를 포함하지 않는 각각의 경로들(216A - 216N)을 통해 미디어 서버(들)(202A - 202N)에 제공한다. 타이밍 소스(208)는 타이밍 소스(208)가 반드시 타이밍 신호(220)를 클라이언트(206)에 제공할 필요는 없음을 알게 될지라도, 비동기 데이터 네트워크(204)를 포함하지 않는 경로(226)를 통해 타이밍 신호(220)를 클라이언트(206)에 제공할 수 있다. 타이밍 소스(208)는 타이밍 신호들(210A - 210N, 220) 중 어느 것도 비동기 데이터 네트워크(204)를 통해 제공되는 않는 한, 타이밍 신호들(210A - 210N) 및/또는 타이밍 신호(220)를 임의의 적합한 통신 프로토콜에 따라 제공할 수 있다.
타이밍 신호들(210A - 210N)은 타이밍 소스(208)로부터의 단일 송신에 기인할 수 있음을 알 것이다. 예를 들면, 단일 송신은 각각의 경로들(216A - 216N)을 통해 각각의 타이밍 신호들(210A - 210N)로서 미디어 서버(들)(202A - 202N)에 의해 수신될 수 있다. 단일 송신은 예시 목적으로 언급된 것이다. 타이밍 신호들(210A - 210N)은 타이밍 소스(208)로부터의 임의의 수의 송신들로부터 기인할 수 있다.
미디어 서버(들)(202A - 202N)는 각각의 미디어 스트림들(212A - 212N) 및 각각의 타이밍 정보(218A - 218N)를 비동기 데이터 네트워크(204)를 통해 클라이언트(206)에 제공한다. 예를 들면, 제 1 미디어 서버(202A)는 제 1 미디어 스트림(212A) 및 제 1 타이밍 정보(218A)를 비동기 데이터 네트워크(204)를 통해 클라이언트(206)에 제공하며, 제 2 미디어 서버(202B)는 제 2 미디어 스트림(212B) 및 제 2 타이밍 정보(218B)를 비동기 데이터 네트워크(204)를 통해 클라이언트(206)에 제공한다, 등등. 타이밍 정보(218A - 218N)는 각각의 타이밍 신호들(210A - 210N)에 기초한다. 미디어 스트림들(212A - 212N) 각각은 오디오 스트림, 이미지 스트림, 또는 비디오 스트림일 수 있다. 오디오 스트림은 시각적 정보가 아니라 오디오 정보를 포함한다. 이미지 스트림은 오디오 정보가 아니라 시각적 정보를 포함한다. 비디오 스트림은 오디오 정보 및 시각적 정보 둘 다를 포함한다.
미디어 스트림들(212A - 212N)은 임의의 적합한 오디오 및/또는 시각적 정보를 포함할 수 있다. 예를 들면 미디어 스트림들(212A - 212N) 중 어느 하나 또는 그 이상은 하나 이상의 클로즈드 캡션 메시지들; 하나 이상의 오디오, 이미지, 및/또는 비디오 광고들; 슬라이드 쇼; 화상 내 화상(picture-in-picture) 데이터, 등을 포함할 수 있다. 이러한 미디어 스트림은 미디어 스트림들(212A - 212N) 중 다른 것에 삽입되게 구성될 수 있다.
타이밍 정보(218A - 218N)는 각각의 미디어 스트림들(212A - 212N)과 결합되거나 각각의 미디어 스트림들(212A - 212N)과는 분리되어 있을 수 있다. 미디어 서버(들)(202A - 202N)는 미디어 스트림들(212A - 212N) 및/또는 타이밍 정보(218A - 218N)를 클라이언트(206)에 동시에 제공하거나, 미디어 스트림들(212A - 212N)로서 애드-호크(즉, 다른 미디어 스트림들을 고려함이 없이)하며 및/또는 타이밍 정보(218A - 218N)는 주기적 스케쥴에 따라, 혹은 이외 어떤 다른 적합한 방식으로 각각의 미디어 서버(들)(202A - 202N)에 의해 수신된다. 미디어 서버(들)(202A - 202N)는 공지의 네트워크 통신 프로토콜들에 따라 미디어 스트림들(212A - 212N) 및 타이밍 정보(218A - 218N)를 제공할 수 있다.
도 2에 도시된 바와 같이, 미디어 서버(들)(202A - 202N)는 반드시 비동기 데이터 네트워크(204)를 통해 타이밍 정보(218A - 218N)를 제공할 필요는 없다. 예를 들면, 미디어 서버(들)(202A - 202N)는 비동기 데이터 네트워크(204)를 포함하지 않는 각각의 경로들을 통해 타이밍 정보(218A - 218N)를 제공할 수 있다.
클라이언트(206)는 타이밍 정보(218A - 218N)에 기초하여 미디어 스트림들(212A - 212N)을 동기화한다. 클라이언트(206)는 실시예의 범위가 이러한 면으로 제한되지 않을지라도, 타이밍 정보(220)에도 기초하여 미디어 스트림들(212A - 212N)을 동기화할 수 있다. 클라이언트(206)는 미디어 스트림들(212A - 212N)을 결합하여 결합된 미디어 콘텐츠(214)를 제공한다.
도 3은 본원에 기술된 실시예에 따라 미디어 스트림들을 동기화하기 위한 방법의 예의 흐름도(300)이다. 흐름도(300)의 방법을 도 2를 참조하여 위에 기술된 바와 같은 예로서의 미디어 시스템(200)의 어떤 요소들을 참조하여 기술할 것이다. 그러나, 방법은 이 구현으로 제한되는 것은 아니다.
도 3에 도시된 바와 같이, 흐름도(300)는 단계(302)에서 시작한다. 단계(302)에서, 제 1 미디어 소스에 의해 발생된 제 1 미디어 스트림은 비동기 데이터 네트워크를 통해 제 1 미디어 서버로부터 수신된다. 제 1 미디어 스트림은 오디오 스트림, 이미지 스트림, 또는 비디오 스트림일 수 있다. 구현예에서, 클라이언트(206)는 제 1 미디어 소스로부터 발생된 제 1 미디어 스트림들(212A)을 비동기 데이터 네트워크(204)를 통해 제 1 미디어 서버(202A)로부터 수신한다.
비디오 회의 실시예에서, 제 1 미디어 스트림은 제 1 시각 데이터 및 제 1 오디오 데이터를 포함한다. 제 1 시각 데이터는 비디오 회의의 제 1 참가자의 시각적 표현을 나타낸다. 제 1 오디오 데이터는 제 1 참가자의 스피치를 나타낸다.
단계(304)에서, 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 1 타이밍 신호에 기초한 제 1 타이밍 정보는 제 1 미디어 서버로부터 수신된다. 예를 들면, 제 1 타이밍 정보는 비동기 데이터 네트워크를 통해 제 1 미디어 서버로부터 수신될 수 있다. 또 다른 예에서, 제 1 타이밍 정보는 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 제 1 미디어 서버로부터 수신될 수 있다. 구현예에서, 클라이언트(206)는 타이밍 소스(208)로부터 수신된 제 1 타이밍 신호(210A)에 기초한 제 1 타이밍 정보(218A)를 제 1 미디어 서버(202A)로부터 수신한다.
단계(306)에서, 제 2 미디어 소스에 의해 발생되는 제 2 미디어 스트림은 비동기 데이터 네트워크를 통해 제 1 미디어 서버와는 다른 제 2 미디어 서버로부터 수신된다. 제 2 미디어 스트림은 오디오 스트림, 이미지 스트림, 또는 비디오 스트림일 수 있다. 구현예에서, 클라이언트(206)는 제 2 미디어 소스로부터 발생된 제 2 미디어 스트림들(212B)을 비동기 데이터 네트워크(204)를 통해 제 2 미디어 서버(202B)로부터 수신한다.
위에 언급된 비디오 회의 실시예에 따라, 제 2 미디어 스트림은 제 2 시각 데이터 및 제 2 오디오 데이터를 포함한다. 제 2 시각 데이터는 비디오 회의의 제 2 참가자의 시각적 표현을 나타낸다. 제 2 오디오 데이터는 제 2 참가자의 스피치를 나타낸다.
단계(308)에서, 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 2 타이밍 신호에 기초한 제 2 타이밍 정보가 제 2 미디어 서버로부터 수신된다. 예를 들면, 제 2 타이밍 정보는 비동기 데이터 네트워크를 통해 제 2 미디어 서버로부터 수신될 수 있다. 또 다른 예에서, 제 2 타이밍 정보는 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 제 2 미디어 서버로부터 수신될 수 있다. 구현예에서, 클라이언트(206)는 타이밍 소스(208)로부터 수신된 제 2 타이밍 신호(210B)에 기초한 제 2 타이밍 정보(218B)를 제 2 미디어 서버(202B)로부터 수신한다.
단계(310)에서, 제 1 미디어 스트림 및 제 2 미디어 스트림은 제 1 타이밍 정보 및 제 2 타이밍 정보에 기초하여 동기화되어 제 1 및 제 2 미디어 스트림들에 기초한 결합된 미디어 콘텐츠를 제공한다. 구현예에서, 클라이언트(206)는 제 1 타이밍 정보(218A) 및 제 2 타이밍 정보(218B)에 기초하여 제 1 미디어 스트림(212A) 및 제 2 미디어 스트림(212B)을 동기화하여 제 1 및 제 2 미디어 스트림들(212A, 212B)에 기초한 결합된 미디어 콘텐츠(214)를 제공한다.
위에 언급된 비디오 회의 실시예에 따라, 제 1 시각적 데이터, 제 1 오디오 데이터, 제 2 시각적 데이터, 및 제 2 오디오 데이터는 제 1 타이밍 정보 및 제 2 타이밍 정보에 기초하여 동기화되어 제 1 참가자의 시각적 표현, 제 1 참가자의 스피치, 제 2 참가자의 시각적 표현, 제 2 참가자의 스피치를 동시에 포함하는 멀티미디어 콘텐츠를 제공한다. 예를 들면, 위에 언급된 다양한 데이터의 동기화는 제 1 참가자의 시각적 표현과 스피치 간에 립-싱크, 제 2 참가자의 시각적 표현과 스피치 간에 립-싱크, 제 1 참가자의 시각적 표현과 제 2 참가자의 시각적 표현 간에 동기화, 및/또는 제 1 참가자의 스피치와 제 2 참가자의 스피치 간에 동기화가 되게 한다.
도 4는 본원에 기술된 실시예에 따라 도 3의 단계(310)의 구현예의 흐름도(400)이다. 흐름도(400)는 예를 들면 도 2에 도시된 미디어 시스템(200)의 클라이언트(206)에 의해 수행될 수 있다. 예시 목적으로, 흐름도(400)는 실시예에 따라, 클라이언트(206)의 예인 도 5에 도시된 클라이언트(500)에 관련하여 기술된다. 도 5에 도시된 바와 같이, 클라이언트(500)는 동기화기(502)를 포함한다. 동기화기(502)는 미디어 스트림들을 동기화하게 구성된다. 동기화기(502)는 버퍼링 로직(504) 및 지터 모듈(506)을 포함한다. 또 다른 구조 및 동작에 대한 실시예들은 흐름도(400)에 관한 논의에 기초하여 당업자에게 명백할 것이다.
도 4에 도시된 바와 같이, 흐름도(400)의 방법은 단계(402)에서 시작한다. 단계(402)에서, 제 1 미디어 스트림은 제 1 타이밍 정보 및 타이밍 소스로부터 수신된 제 3 타이밍 신호를 사용하여 버퍼된다. 예를 들면, 제 1 미디어 스트림은 제 1 미디어 스트림의 여러 부분들이 도 3의 단계(302)에서 수신되는 레이트 및/또는 타이밍에 변동을 보상하기 위해 버퍼될 수 있다. 또 다른 예에서, 제 1 미디어 스트림은 단계(302)에서 제 1 미디어 스트림이 수신되고 도 3의 단계(306)에서 제 1 미디어 스트림이 수신되는 레이트들 및/또는 타이밍 간의 차이를 보상하기 위해 버퍼될 수 있다. 구현예에서, 버퍼링 로직(504)은 타이밍 소스(208)로부터 수신되는 제 1 타이밍 정보(218A) 및 타이밍 신호(220)를 사용하여 제 1 미디어 스트림(212A)을 버퍼한다.
단계(404)에서, 제 2 미디어 스트림은 제 2 타이밍 정보 및 제 3 타이밍 신호를 사용하여 버퍼된다. 예를 들면, 제 2 미디어 스트림은 제 2 미디어 스트림의 여러 부분들이 도 3의 단계(302)에서 수신되는 레이트 및/또는 타이밍에 변동을 보상하기 위해 버퍼될 수 있다. 또 다른 예에서, 제 2 미디어 스트림은 단계(302)에서 제 1 미디어 스트림이 수신되고 도 3의 단계(306)에서 제 2 미디어 스트림이 수신되는 레이트들 및/또는 타이밍 간의 차이를 보상하기 위해 버퍼될 수 있다. 구현예에서, 클라이언트(206)는 제 2 타이밍 정보(218B) 및 타이밍 신호(220)를 사용하여 제 2 미디어 스트림(212B)을 버퍼한다.
단계(406)에서, 제 1 미디어 스트림으로부터 지터가 제거된다. 구현예에서, 지터 모듈(506)은 제 1 미디어 스트림(212A)로부터 지터를 제거한다.
단계(408)에서, 제 2 미디어 스트림으로부터 지터가 제거된다. 구현예에서, 지터 모듈(506)은 제 2 미디어 스트림(212B)로부터 지터를 제거한다.
도 6은 본원에 기술된 실시예에 따라 미디어 스트림들을 동기화하기 위한 방법의 예의 흐름도(600)이다. 흐름도(600)의 방법을 도 5를 참조하여 위에 기술된 바와 같은 예로서의 클라이언트(500)를 참조하여 기술할 것이다. 그러나, 방법은 이 구현으로 제한되는 것은 아니다.
도 6에 도시된 바와 같이, 흐름도(600)는 단계(602)에서 시작한다. 단계(602)에서, 미디어 스트림은 비동기 데이터 네트워크를 통해 미디어 서버로부터 수신된다. 구현예에서, 버퍼링 로직(504)은 비동기 데이터 네트워크(204)를 통해 제 1 미디어 서버(202A)로부터 제 1 미디어 스트림(212A)을 수신한다.
단계(604)에서, 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 타이밍 신호에 기초하여 발생된 타이밍 정보가 미디어 서버로부터 수신된다. 예를 들면, 타이밍 정보는 비동기 데이터 네트워크를 통해 미디어 서버로부터 수신될 수 있다. 또 다른 예에서, 타이밍 정보는 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 미디어 서버로부터 수신될 수 있다. 타이밍 소스는 석영 클럭, 원자 클럭, 또는 이외 어떤 다른 적합한 유형의 타이밍 소스일 수 있다. 타이밍 정보는 블루투스(등록상표) 연결, 셀룰라 연결, 등과 같은 임의의 적합한 연결을 통해 타이밍 소스로부터 수신된 타이밍 신호에 기초하여 발생될 수 있다. 구현예에서, 버퍼링 로직(504)은 타이밍 소스(208)로부터 수신된 제 1 타이밍 신호(210A)에 기초하여 발생되는 제 1 타이밍 정보(218A)를 제 1 미디어 서버(202A)로부터 수신한다.
단계(606)에서, 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 제 2 타이밍 신호가 수신된다. 구현예에서, 버퍼링 로직(504)은 타이밍 소스(208)로부터 타이밍 신호(220)를 수신한다.
단계(608)에서, 미디어 스트림은 타이밍 정보 및 제 2 타이밍 신호를 사용하여 버퍼된다. 구현예에서, 버퍼링 로직(504)은 제 1 타이밍 정보(218A) 및 타이밍 신호(220)를 사용하여 제 1 미디어 스트림(212A)을 버퍼한다.
도 7은 본원에 기술된 실시예에 따른 또 다른 예의 미디어 시스템(700)을 도시한 것이다. 미디어 시스템(700)은 미디어 서버(702), 비동기 데이터 네트워크(704), 클라이언트(706), 및 타이밍 소스(708)를 포함한다. 타이밍 소스(708)는 제 1 타이밍 신호(710)를, 비동기 데이터 네트워크(704)를 포함하지 않는 경로(716)를 통해 미디어 서버(702)에 제공한다. 미디어 서버(702)는 비동기 데이터 네트워크(704)를 통해 클라이언트(706)에 미디어 스트림(712) 및 타이밍 정보(718)를 제공한다. 타이밍 정보(718)는 제 1 타이밍 신호(710)에 기초한다. 미디어 서버(702)는 비동기 데이터 네트워크(704)를 포함하지 않는 경로(736)를 통해 제 2 타이밍 신호(720)를 클라이언트(706)에도 제공한다. 제 2 타이밍 신호(720)는 제 1 타이밍 신호(710)에 기초한다. 예를 들면, 제 2 타이밍 신호(720)는 제 1 타이밍 신호(710)과 동일할 수 있다. 클라이언트(706)는 타이밍 정보(718) 및 제 2 타이밍 신호(720)에 기초하여 미디어 스트림(712)을 동기화하여 버퍼된 미디어 콘텐츠(714)를 제공한다.
도 8은 본원에 기술된 실시예들에 따라 미디어 스트림을 버퍼링하는 방법의 또 다른 예의 흐름도(800)이다. 흐름도(800)의 방법을 도 5를 참조하여 위에 기술된 바와 같은 예로서의 클라이언트(500)를 참조하여 기술할 것이다. 그러나, 방법은 이 구현으로 제한되는 것은 아니다.
도 8에 도시된 바와 같이, 흐름도(800)는 단계(802)에서 시작한다. 단계(802)에서, 미디어 스트림 및 미디어 스트림에 관한 타이밍 정보가 비동기 데이터 네트워크를 통해 미디어 서버로부터 수신된다. 타이밍 정보는 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스 수신되는 제 1 타이밍 신호에 기초한다. 타이밍 소스는 석영 클럭, 원자 클럭, 또는 이외 어떤 다른 적합한 유형의 타이밍 소스일 수 있다. 타이밍 정보는 블루투스(등록상표) 연결, 셀룰라 연결, 등과 같은 임의의 적합한 연결을 통해 타이밍 소스로부터 수신된 제 1 타이밍 신호에 기초할 수 있다. 구현예에서, 버퍼링 로직(504)은 비동기 데이터 네트워크(704)를 통해 미디어 서버(702)로부터 미디어 스트림(712) 및 타이밍 정보(718)를 수신한다. 타이밍 정보(718)는 비동기 데이터 네트워크(704)에 연결되지 않은 타이밍 소스(708)로부터 수신된 제 1 타이밍 신호(710)에 기초한다.
단계(804)에서, 제 1 타이밍 신호에 기초하는 제 2 타이밍 신호가 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 미디어 서버로부터 수신된다. 제 2 타이밍 신호는 실시예들의 범위가 이러한 면으로 제한되지 않을지라도, 블루투스(등록상표) 프로토콜, 셀룰라 프로토콜, 등과 같은 프로토콜에 따라 미디어 서버로부터 수신될 수 있다. 구현예에서, 버퍼링 로직(504)는 제 1 타이밍 신호(710)에 기초하는 제 2 타이밍 신호(720)를, 비동기 데이터 네트워크(704)를 포함하지 않는 경로(736)를 통해 미디어 서버(702)로부터 수신한다.
단계(806)에서, 미디어 스트림은 타이밍 정보 및 제 2 타이밍 신호를 사용하여 버퍼된다. 구현예에서, 버퍼링 로직(504)은 타이밍 정보(718) 및 제 2 타이밍 신호(720)를 사용하여 미디어 스트림(712)을 버퍼한다.
도 9는 본원에 기술된 실시예에 따른 또 다른 예의 미디어 시스템(900)을 도시한 것이다. 미디어 시스템(900)은 미디어 서버(902), 비동기 데이터 네트워크(904), 클라이언트(906), 및 타이밍 소스(908)를 포함한다. 미디어 서버(902)는 비동기 데이터 네트워크(904)를 통해 클라이언트(906)에 미디어 스트림(912) 및 타이밍 정보(918)를 제공한다. 타이밍 정보(918)는 클라이언트(906)로부터 수신되는 제 1 타이밍 신호(910)에 기초한다. 타이밍 신호(908)는 비동기 데이터 네트워크(904)를 포함하지 않는 경로(926)를 통해 클라이언트(906)에 제 2 타이밍 신호(920)를 제공한다. 클라이언트(906)는 비동기 데이터 네트워크(904)를 포함하지 않는 경로(936)를 통해 미디어 서버(902)에 제 1 타이밍 신호(910)를 제공한다. 제 1 타이밍 신호(910)는 제 2 타이밍 신호(920)에 기초한다. 예를 들면, 제 1 타이밍 신호(910)는 제 2 타이밍 신호(920)와 동일할 수도 있다. 클라이언트(906)는 타이밍 정보(918) 및 제 2 타이밍 신호(920)에 기초하여 미디어 스트림(912)을 동기화하여 버퍼된 미디어 콘텐츠(914)를 제공한다.
도 10은 본원에 기술된 실시예들에 따라 미디어 스트림을 버퍼링하는 방법의 또 다른 예의 흐름도(1000)이다. 흐름도(1000)는 예를 들면 도 9에 도시된 미디어 시스템(900)의 클라이언트(906)에 의해 수행될 수 있다. 예시 목적으로, 흐름도(1000)는 실시예에 따라 클라이언트(906)의 예인 도 11에 도시된 클라이언트(1100)에 관련하여 기술된다. 도 11에 도시된 바와 같이, 클라이언트(1100)는 버퍼링 로직(1104) 및 타이밍 모듈(1108)을 포함한다. 또 다른 구조 및 동작에 대한 실시예들은 흐름도(1000)에 관한 논의에 기초하여 당업자들에게 명백할 것이다.
도 10에 도시된 바와 같이, 흐름도(1000)의 방법은 단계(1002)에서 시작한다. 단계(1002)에서, 미디어 스트림 및 미디어 스트림에 관한 타이밍 정보가 비동기 데이터 네트워크를 통해 미디어 서버로부터 수신된다. 타이밍 정보는 제 1 타이밍 신호에 기초한다. 구현예에서, 버퍼링 로직(1104)은 비동기 데이터 네트워크(904)를 통해 미디어 서버(902)로부터 미디어 스트림(912) 및 타이밍 정보(918)를 수신한다. 타이밍 정보(918)는 제 1 타이밍 신호(910)에 기초한다.
단계(1004)에서, 제 1 타이밍 신호가 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 미디어 서버에 제공된다. 제 1 타이밍 신호는 제 2 타이밍 신호에 기초한다. 제 1 타이밍 신호는 실시예들의 범위가 이러한 면으로 제한되지 않을지라도, 블루투스(등록상표) 프로토콜, 셀룰라 프로토콜, 등과 같은 프로토콜에 따라 미디어 서버에 제공될 수 있다. 구현예에서, 타이밍 모듈(1108)은 비동기 데이터 네트워크(904)를 포함하지 않는 경로(936)를 통해 미디어 서버(902)에 제 1 타이밍 신호(910)를 제공한다. 제 1 타이밍 신호(910)는 제 2 타이밍 신호(920)에 기초한다.
단계(1006)에서, 비동기 데이터 네트워크(904)에 연결되지 않은 타이밍 소스로부터 제 2 타이밍 신호가 수신된다. 타이밍 소스는 석영 클럭, 원자 클럭, 또는 이외 어떤 다른 적합한 유형의 타이밍 소스일 수 있다. 제 2 타이밍 신호는 블루투스(등록상표) 연결, 셀룰라 연결, 등과 같은 임의의 적합한 연결을 통해 타이밍 소스로부터 수신될 수 있다. 구현예에서, 버퍼링 로직(1104)은 비동기 데이터 네트워크(904)에 연결되지 않은 타이밍 소스(908)로부터 제 2 타이밍 신호(920)를 수신한다.
단계(1008)에서, 미디어 스트림은 타이밍 정보 및 제 2 타이밍 신호를 사용하여 버퍼된다. 구현예에서, 버퍼링 로직(1104)은 타이밍 정보(918) 및 제 2 타이밍 신호(920)를 사용하여 미디어 스트림(912)을 버퍼한다.
도 12는 본원에 기술된 실시예에 따른 또 다른 예의 미디어 시스템(1200)을 도시한 것이다. 미디어 시스템(1200)은 미디어 서버(1202), 비동기 데이터 네트워크(1204), 클라이언트(1206), 및 라우터(1228)를 포함한다. 미디어 서버(1202)는 비동기 데이터 네트워크(1204)를 통해 라우터(1228)에 미디어 스트림(1212) 및 타이밍 정보(1218)를 제공한다.
라우터(1228)는 타이밍 모듈(1208), 입력회로(1232), 및 출력회로(1234)를 포함한다. 타이밍 모듈(1208)은 비동기 데이터 네트워크(1204)를 포함하지 않는 경로(1226)를 통해 클라이언트(1206)에 타이밍 신호(1220)를 제공한다. 입력회로(1232)는 비동기 데이터 네트워크(904)를 통해 미디어 서버(1202)로부터 미디어 스트림(1212) 및 타이밍 정보(1218)를 수신한다. 입력회로(1232)는 미디어 스트림(1212) 및 타이밍 정보(1218)를 출력회로(1234)에 보낸다. 출력회로(1234)는 비동기 데이터 네트워크(1204)를 통해 클라이언트(1206)에 미디어 스트림(1212) 및 타이밍 정보(1218)를 제공한다.
비동기 데이터 네트워크(1204)는 단일 비동기 데이터 네트워크일 수도 있고, 혹은 복수의 비동기 데이터 네트워크들을 포함할 수도 있고, 혹은 하나 이상의 비동기 데이터 네트워크들 및 하나 이상의 동기 데이터 네트워크들을 포함할 수도 있다. 예를 들면, 입력회로(1232)는 비동기 데이터 네트워크(1204)의 제 1 부-네트워크를 통해 미디어 서버(1202)로부터 미디어 스트림(1212) 및 타이밍 정보(1218)를 수신할 수 있고, 출력회로(1234)는 비동기 데이터 네트워크(1204)의 제 2 부-네트워크를 통해 클라이언트(1206)에 미디어 스트림(1212) 및 타이밍 정보(1218)를 제공할 수 있다. 제 1 부-네트워크는 하나 이상의 비동기 데이터 네트워크들을 포함할 수 있다. 제 1 부-네트워크는 실시예들의 범위가 이러한 면으로 제한되지 않을지라도, 하나 이상의 동기 데이터 네트워크들을 더 포함할 수 있다. 제 2 부-네트워크는 하나 이상의 비동기 데이터 네트워크들을 포함할 수 있다. 제 2 부-네트워크는 실시예들의 범위가 이러한 면으로 제한되지 않을지라도, 하나 이상의 동기 데이터 네트워크들을 더 포함할 수 있다. 일예에서, 제 1 부-네트워크는 광역 네트워크(WAN)이며, 제 2 부-네트워크는 근거리 네트워크(LAN)이다. 또 다른 예에서, 제 1 부-네트워크는 LAN이며, 제 1 부-네트워크는 WAN이다. 또 다른 예에서, 제 1 및 제 2 부-네트워크들은 공통 LAN 혹은 공통 WAN의 서로 다른 부-네트워크들이다.
클라이언트(1206)는 타이밍 정보(1218) 및 타이밍 신호(1220)에 기초하여 미디어 스트림(1212)을 버퍼한다.
도 13은 본원에 기술된 실시예들에 따라 미디어 스트림을 버퍼링하는 방법의 또 다른 예의 흐름도(1300)이다. 흐름도(1300)의 방법을 도 12를 참조하여 위에 기술된 바와 같은 예로서의 미디어 시스템(1200)을 참조하여 기술할 것이다. 그러나, 방법은 이 구현으로 제한되는 것은 아니다.
도 13에 도시된 바와 같이, 흐름도(1300)는 단계(1302)에서 시작한다. 단계(1302)에서, 미디어 스트림 및 미디어 스트림에 관한 타이밍 정보가 비동기 데이터 네트워크를 통해 미디어 서버로부터 수신된다. 구현예에서, 입력회로(1232)는 미디어 스트림(1212) 및 타이밍 정보(1218)를 비동기 데이터 네트워크(1204)를 통해 미디어 서버(1202)로부터 수신한다.
단계(1304)에서, 타이밍 신호가 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 클라이언트에 제공된다. 타이밍 신호는 실시예들의 범위가 이러한 면으로 제한되지 않을지라도, Bluetooth(등록상표) 프로토콜, 셀룰라 프로토콜, 등과 같은 프로토콜에 따라 클라이언트에 제공될 수 있다. 구현예에서, 타이밍 모듈(1208)은 비동기 데이터 네트워크(1204)를 포함하지 않는 경로(1226)를 통해 클라이언트(1206)에 타이밍 신호(1220)에 제공한다.
단계(1306)에서, 클라이언트가 타이밍 정보 및 타이밍 신호를 사용하여 미디어 스트림을 버퍼할 수 있게 비동기 데이터 네트워크를 통해 미디어 스트림 및 타이밍 정보가 클라이언트에 제공된다. 구현예에서, 미디어 스트림(1212) 및 타이밍 정보(1218)는 클라이언트가 타이밍 정보(1218) 및 타이밍 신호(1220)를 사용하여 미디어 스트림(1212)을 버퍼할 수 있게 비동기 데이터 네트워크(1204)를 통해 미디클라이언트(1206)에 제공된다.
도 14는 본원에 기술된 실시예에 따른 또 다른 예의 미디어 시스템(1400)을 도시한 것이다. 미디어 시스템(1400)은 오디오 서버(1402), 비동기 데이터 네트워크(1404), 제 1 스피커(1406A), 제 2 스피커(1406B), 및 타이밍 소스(1408)를 포함한다. 오디오 서버(1402)는 제 1 오디오 스트림(1412A)을 제 1 스피커(1406A)를 비동기 데이터 네트워크(1404)를 통해 제공한다. 오디오 서버(1402)는 제 2 오디오 스트림(1412B)을 비동기 데이터 네트워크(1404)를 통해 제공한다.
타이밍 소스(1408)는 비동기 데이터 네트워크(1404)를 포함하지 않는 경로(1426A)를 통해 제 1 스피커(1406A)에 제 1 타이밍 신호(1402A)를 제공한다. 타이밍 소스(1408)는 비동기 데이터 네트워크(1404)를 포함하지 않는 경로(1426A)를 통해 제 2 스피커(1406A)에 제 2 타이밍 신호(1402A)를 제공한다. 타이밍 소스(1408)는 석영 클럭, 원자 클럭, 또는 이외 어떤 다른 적합한 유형의 타이밍 소스일 수 있다. 타이밍 소스(1408)는 실시예들의 범위가 이러한 면으로 제한되지 않을지라도, 블루투스(등록상표) 프로토콜, 셀룰라 프로토콜, 등과 같은 프로토콜에 따라 제 1 타이밍 신호(1420A)를 제 1 스피커(1406A)에 및/또는 제 2 타이밍 신호(1402B)를 제 2 스피커(1406B)에 제공할 수 있다.
제 1 스피커(1406A)는 제 1 버퍼링 로직(1418A)을 포함한다. 제 1 버퍼링 로직(1418A)은 제 1 타이밍 신호(1420A)에 기초하여, 비동기 데이터 네트워크(1404)를 통해 오디오 서버(1402)로부터 수신된 제 1 오디오 스트림(1412A)을 버퍼한다. 제 2 스피커는 제 1 버퍼링 로직(1418B)을 포함한다. 제 2 버퍼링 로직(1418B)은 제 2 타이밍 신호(1420B)에 기초하여, 비동기 데이터 네트워크(1404)를 통해 오디오 서버(1402)로부터 수신된 제 2 오디오 스트림(1412B)을 버퍼한다.
도 1에 도시된 미디어 서버(들)(102), 클라이언트(106), 및 타이밍 소스(108); 도 2에 도시된 미디어 서버들(202A - 202N)), 클라이언트(206), 및 타이밍 소스(208); 도 5에 도시된 동기화기(502), 버퍼링 로직(504), 및 지터 모듈(506); 도 7에 도시된 미디어 서버(702), 클라이언트(706), 및 타이밍 소스(708); 도 9에 도시된 미디어 서버(902), 클라이언트(906), 및 타이밍 소스(908); 도 11에 도시된 버퍼링 로직(1104) 및 타이밍 모듈(1108); 도 12에 도시된 미디어 서버(1202), 라우터(1228), 타이밍 모듈(1208), 및 클라이언트(1206); 및 도 14에 도시된 오디오 서버(1402), 제 1 버퍼링 로직(1418A), 제 2 버퍼링 로직(1418B), 및 타이밍 소스(1408)는 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 어떤 조합으로 구현될 수 있음을 알 것이다.
예를 들면, 미디어 서버(들)(102), 클라이언트(106), 타이밍 소스(108), 미디어 서버들(202A - 202N), 클라이언트(206), 타이밍 소스(208), 동기화기(502), 버퍼링 로직(504), 지터 모듈(506), 미디어 서버(702), 클라이언트(706), 타이밍 소스(708), 미디어 서버(902), 클라이언트(906), 타이밍 소스(908), 버퍼링 로직(1104), 타이밍 모듈(1108), 미디어 서버(1202), 라우터(1228), 클라이언트(1206), 오디오 서버(1402), 제 1 버퍼링 로직(1418A), 제 2 버퍼링 로직(1418B), 및/또는 타이밍 소스(1408) 중 어느 것이든 하나 이상의 프로세서들에서 실행되게 구성된 컴퓨터 프로그램 코드로서 구현될 수 있다.
또 다른 예에서, 미디어 서버(들)(102), 클라이언트(106), 타이밍 소스(108), 미디어 서버들(202A - 202N), 클라이언트(206), 타이밍 소스(208), 동기화기(502), 버퍼링 로직(504), 지터 모듈(506), 미디어 서버(702), 클라이언트(706), 타이밍 소스(708), 미디어 서버(902), 클라이언트(906), 타이밍 소스(908), 버퍼링 로직(1104), 타이밍 모듈(1108), 미디어 서버(1202), 라우터(1228), 클라이언트(1206), 오디오 서버(1402), 제 1 버퍼링 로직(1418A), 제 2 버퍼링 로직(1418B), 및/또는 타이밍 소스(1408) 중 어느 것이든 하드웨어 로직/전기회로로서 구현될 수 있다.
도 15는 실시예들이 구현될 수 있는 컴퓨터(1500)의 블록도이다. 예를 들면, 도 1에 도시된 미디어 서버(들)(102), 클라이언트(106), 및/또는 타이밍 소스(108); 도 2에 도시된 미디어 서버들(202A - 202N), 클라이언트(206), 및/또는 타이밍 소스(208); 도 5에 도시된 클라이언트(500); 도 7에 도시된 미디어 서버(702), 클라이언트(706), 및/또는 타이밍 소스(708); 도 9에 도시된 미디어 서버(902), 클라이언트(906), 및/또는 타이밍 소스(908); 도 11에 도시된 클라이언트(1100); 도 12에 도시된 미디어 서버(1202), 클라이언트(1206), 및/또는 라우터(1228); 및/또는 도 14에 도시된 오디오 서버(1402) 및/또는 타이밍 소스(1408) 중 어느 것이든 컴퓨터(1500)과 같은 하나 이상의 컴퓨터들을 사용하여 구현될 수 있다.
도 15에 도시된 바와 같이, 컴퓨터(1500)는 실시예들의 범위가 이러한 면으로 제한되지 않을지라도, 프로세서(1506)와 같은 하나 이상의 프로세서들(예를 들면, 중앙처리장치들(CPU))을 포함한다. 프로세서(1506)는 도 5의 동기화기(502) 및/또는 지터 모듈(506); 도 11의 타이밍 모듈(1108); 도 12의 타이밍 모듈(1208); 또는 예를 들면 이들의 임의의 부분 또는 조합을 포함한다. 프로세서(1506)는 통신버스와 같은 통신 기반구조(1502)에 연결된다. 일부 실시예들에서, 프로세서(1506)는 복수의 계산 스레드(thread)들을 동시에 연산할 수 있다.
또한, 컴퓨터(1500)는 랜덤 액세스 메모리(RAM)과 같은 주 메모리(1508)를 포함한다. 주 메모리(1508)는 이에 제어 로직(1524A)(컴퓨터 소프트웨어), 및 데이터를 저장하였다.
또한, 컴퓨터(1500)는 하나 이상의 2차 저장장치들(1510)을 포함한다. 2차 저장장치들(1510)은 예를 들면 하드 디스크 드라이브(1512) 및/또는 착탈가능 저장장치 또는 드라이브(1514), 및 이외 다른 유형들의 저장장치들, 이를테면 메모리 카드들 및 메모리 스틱들을 포함한다. 예를 들면, 컴퓨터(1500)는 메모리 스틱과 같은 장치들과 인터페이스하기 위한 USB(universal serial bus) 인터페이스와 같은 산업표준 인터페이스를 포함할 수 있다. 착탈가능 저장장치 드라이브(1514)는 플로피 디스크 드라이브, 자기 디스크 드라이브, 콤팩트 디스크 드라이브, 광학 저장장치, 테이프 백업, 등을 나타낸다.
착탈가능 저장장치 드라이브(1514)는 착탈가능 저장유닛(1516)과 상호작용한다. 착탈가능 저장유닛(1516)은 컴퓨터 소프트웨어(1524B)(제어 로직) 및/또는 데이터를 저장한 컴퓨터 사용가능 또는 판독가능 저장매체(1518)를 포함한다. 착탈가능 저장유닛(1516)은 플로피 디스크, 자기 테이프, 콤팩트 디스크(CD), 디지털 다기능 디스크(DVD), 블루-레이 디스크, 광학 저장 디스크, 메모리 스틱, 메모리 카드, 또는 이외 어떤 다른 컴퓨터 데이터 저장장치를 나타낸다. 착탈가능 저장장치 드라이브(1514)는 공지의 방법으로 착탈가능 저장유닛(1516)으로부터 판독하고 및/또는 이에 기입한다.
또한, 컴퓨터(1500)는 모니터들, 키보드들, 포인팅 장치들, 등과 같은 입력/출력/디스플레이 장치들(1504)을 포함한다.
컴퓨터(1500)는 통신 또는 네트워크 인터페이스(1520)을 더 포함한다. 통신 인터페이스(1520)는 컴퓨터(1500)가 원격장치들과 통신할 수 있게 한다. 예를 들면, 네트워크 인터페이스(1520)는 컴퓨터(1500)가 근거리 네트워크들(LAN), 광역 네트워크들(WAN), 인터넷, 셀룰라 네트워크, 등과 같은, 통신 네트워크들 또는 매체들(1522)(컴퓨터 사용가능 또는 판독가능 매체 형태를 나타낸다)를 통해 통신할 수 있게 한다. 네트워크 인터페이스(1520)는 유선 또는 무선 연결들을 통해 원격지 또는 네트워크들과 인터페이스할 수 있다.
제어 로직(1524C)은 통신매체(1522)를 통해 컴퓨터(1500)에 및 이로부터 송신될 수 있다.
제어로직(소프트웨어)을 저장한 컴퓨터 사용가능 또는 판독가능 매체를 포함하는 임의의 장치 또는 제조물을 본원에서는 컴퓨터 프로그램 제품 또는 프로그램 저장장치라 한다. 이것은 다음으로 제한되는 것은 아니지만, 컴퓨터(1500), 주 메모리(1508), 2차 저장장치들(1510), 및 착탈가능 저장유닛(1516)을 포함한다. 하나 이상의 데이터 처리 장치들에 의해 실행되었을 때 이러한 데이터 처리장치들이 본원에 기술된 바와 같이 동작하게 하는 제어 로직을 저장한 이러한 컴퓨터 프로그램 제품들은 발명의 실시예들을 나타낸다.
실시예들이 구현될 수 있는 장치들은 저장장치 드라이브들, 메모리 장치들, 및 따른 유형들의 컴퓨터-판독가능 매체들과 같은 저장장치를 포함할 수 있다. 이러한 컴퓨터-판독가능 저장매체들의 예들은 하드 디스크, 착탈가능 자기 디스크, 착탈가능 광학 디스크, 플래시 메모리 카드들, 디지털 비디오 디스크들, 랜덤 액세스 메모리들(RAM), 판독전용 메모리들(ROM), 등을 포함한다. 본원에 사용되는 바와 같이, "컴퓨터 프로그램 매체" 및 "컴퓨터-판독가능 매체"와 같은 용어들은 하드 디스크 드라이브에 연관된 하드 디스크, 착탈가능 자기 디스크, 착탈가능 광학 디스크(예를 들면, CDRAOM, DVD, 등), 집 디스크들, 테이프들, 자기 저장장치들, 마이크로-전기기계식 시스템들에 기반한(MEME-기반) 저장장치들, 나노기술-기반의 저장장치들, 및 이외 매체들로서 이를테면 플래시 메모리 카드들, 디지털 비디오 디스크들, RAM 장치들, ROM 장치들, 등을 일반적으로 지칭하기 위해 사용된다.
이러한 컴퓨터-판독가능 저장매체들은 동기화기(502), 버퍼링 로직(504), 지터 모듈(506), 버퍼링 로직(1104), 타이밍 모듈(1108), 타이밍 모듈(1208), 제 1 버퍼링 로직(1418A), 및/또는 제 2 버퍼링 로직(1418B); 흐름도(300)(흐름도(300)의 임의의 하나 이상의 단계들을 포함하는), 흐름도(400)(흐름도(400)의 임의의 하나 이상의 단계들을 포함하는), 흐름도(600)(흐름도(600)의 임의의 하나 이상의 단계들을 포함하는), 흐름도(800)(흐름도(800)의 임의의 하나 이상의 단계들을 포함하는), 흐름도(1000)(흐름도(1000)의 임의의 하나 이상의 단계들을 포함하는), 및/또는 흐름도(1300)(흐름도(1300)의 임의의 하나 이상의 단계들을 포함하는); 및/또는 본원에 기술된 다른 실시예들을 포함하는 프로그램 모듈들을 저장할 수 있다. 일부 실시예들은 임의의 컴퓨터 사용가능 매체 상에 저장된 이러한 로직(예를 들면, 프로그램 코드 또는 소프트웨어 형태)을 포함하는 컴퓨터 프로그램 제품들에 대한 것이다. 이러한 프로그램 코드는 하나 이상의 프로세서들에서 실행되었을 때 장치가 본원에 기술된 바와 같이 동작되게 한다.
이러한 컴퓨터-판독가능 저장매체들은 통신 매체들과는 구별되며 이들과 중첩되지 않는다. 통신매체들은 전형적으로 컴퓨터-판독가능 명령들, 데이터 구조들, 프로그램 모듈들 또는 그외 반송파와 같은 변조된 데이터 신호 내 데이터를 구현한다. "변조된 데이터 신호"라는 용어는 이의 특징 세트 중 하나 이상을 갖거나 신호 내 정보를 엔코딩하게 변경된 신호를 의미한다. 예로서, 한정함이 없이, 통신 매체는 어쿠스틱, RF, 적외선과 같은 무선 매체 및 그외 무선 매체를 포함한다. 실시예들은 이러한 통신 매체에 대한 것이다.
발명은 본원에 기술된 것들 이외의 소프트웨어, 펌웨어, 및/또는 하드웨어 구현들을 사용하여 실시될 수 있다. 본원에 기술된 기능들을 수행하는데 적합한 임의의 소프트웨어, 펌웨어, 및 하드웨어 구현들이 사용될 수 있다.
III. 결론
여러 실시예들이 위에 기술되었지만 이들은 단지 예로서 제시되었으며 한정하는 것은 아님을 알아야 할 것이다. 형태 및 상세에 여러 변경들은 첨부된 청구항들에 정의된 발명의 정신 및 범위 내에서 본원에 기술된 실시예들에 행해질 수 있음을 당업자들은 이해할 것이다. 따라서, 본 발명의 폭 및 범위는 위에 기술된 실시예들 중 어느 것에 의해서도 제한되지 않으며 다음 청구항들 및 이들의 등가물들에 따라서만 정의된다.

Claims (15)

  1. 복수의 미디어 스트림들을 동기화하는 방법에 있어서,
    제 1 미디어 소스에 의해 발생된 제 1 미디어 스트림 및 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 1 타이밍 신호에 기초한 제 1 타이밍 정보를 상기 비동기 데이터 네트워크를 통해 제 1 미디어 서버로부터 수신하는 단계;
    제 2 미디어 소스에 의해 발생된 제 2 미디어 스트림 및 상기 비동기 데이터 네트워크에 연결되지 않은 상기 타이밍 소스로부터 수신된 제 2 타이밍 신호에 기초한 제 2 타이밍 정보를 상기 비동기 데이터 네트워크를 통해 상기 제 1 미디어 서버와는 다른 제 2 미디어 서버로부터 수신하는 단계; 및
    상기 제 1 및 제 2 미디어 스트림들에 기초한 결합된 미디어 콘텐츠를 제공하기 위해, 상기 제 1 타이밍 정보 및 상기 제 2 타이밍 정보에 기초하여 상기 제 1 미디어 스트림 및 상기 제 2 미디어 스트림을 동기화하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서,
    상기 제 1 타이밍 신호 및 상기 제 2 타이밍 신호에 대응하는 제 3 타이밍 신호를 상기 비동기 데이터 네트워크에 연결되지 않은 상기 타이밍 소스로부터 수신하는 단계를 더 포함하고;
    상기 제 1 미디어 스트림 및 상기 제 2 미디어 스트림을 동기화하는 단계는, 상기 제 1 미디어 스트림 및 상기 제 2 미디어 스트림을 동기화하기 위해 상기 제 1 타이밍 정보 및 상기 제 3 타이밍 신호를 사용하여 상기 제 1 미디어 스트림을 버퍼링하는 단계를 포함하는, 방법.
  3. 청구항 2에 있어서,
    상기 제 1 미디어 스트림 및 상기 제 2 미디어 스트림을 동기화하는 단계는,
    상기 제 2 타이밍 정보 및 상기 제 3 타이밍 신호를 사용하여 상기 제 2 미디어 스트림을 버퍼링하는 단계;
    상기 제 1 미디어 스트림을 버퍼링하는 것에 대응하여 상기 제 1 미디어 스트림으로부터 지터(jitter)를 제거하는 단계; 및
    상기 제 2 미디어 스트림을 버퍼링하는 것에 대응하여 상기 제 2 미디어 스트림으로부터 지터를 제거하는 단계를 더 포함하는, 방법.
  4. 청구항 1에 있어서,
    상기 제 1 타이밍 정보를 수신하는 단계는, 상기 비동기 데이터 네트워크에 연결되지 않은 원자 클럭으로부터 수신된 상기 제 1 타이밍 신호에 기초하여 발생되는 상기 제 1 타이밍 정보를 상기 비동기 데이터 네트워크를 통해 상기 제 1 미디어 서버로부터 수신하는 단계를 포함하고;
    상기 제 2 타이밍 정보를 수신하는 단계는, 상기 비동기 데이터 네트워크에 연결되지 않은 상기 원자 클럭으로부터 수신된 상기 제 2 타이밍 신호에 기초하여 발생되는 상기 제 2 타이밍 정보를 상기 비동기 데이터 네트워크를 통해 상기 제 2 미디어 서버로부터 수신하는 단계를 포함하는, 방법.
  5. 청구항 1에 있어서,
    상기 제 1 미디어 스트림을 수신하는 단계는, 비디오 회의의 제 1 참가자의 시각적 묘사를 나타내는 제 1 시각 데이터 및 상기 제 1 참가자의 스피치를 나타내는 제 1 오디오 데이터를 포함하는 상기 제 1 미디어 스트림을 수신하는 단계를 포함하고;
    상기 제 2 미디어 스트림을 수신하는 단계는, 상기 비디오 회의의 제 2 참가자의 시각적 묘사를 나타내는 제 2 시각 데이터 및 상기 제 2 참가자의 스피치를 나타내는 제 2 오디오 데이터를 포함하는 상기 제 2 미디어 스트림을 수신하는 단계를 포함하고,
    상기 제 1 미디어 스트림 및 상기 제 2 미디어 스트림을 동기화하는 단계는, 상기 제 1 참가자의 시각적 묘사, 상기 제 1 참가자의 스피치, 상기 제 2 참가자의 시각적 묘사, 및 상기 제 2 참가자의 스피치를 동기화하여 포함하는 결합된 미디어 콘텐츠를 제공하기 위해, 상기 제 1 타이밍 정보 및 상기 제 2 타이밍 정보에 기초하여 상기 제 1 시각 데이터, 상기 제 1 오디오 데이터, 상기 제 2 시각 데이터, 및 상기 제 2 오디오 데이터를 동기화하는 단계를 포함하는, 방법.
  6. 미디어 스트림을 버퍼링하는 방법에 있어서,
    비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 타이밍 신호에 기초하여 발생된 타이밍 정보 및 미디어 스트림을 상기 비동기 데이터 네트워크를 통해 미디어 서버로부터 수신하는 단계;
    상기 비동기 데이터 네트워크에 연결되지 않은 상기 타이밍 소스로부터 제 2 타이밍 신호를 수신하는 단계; 및
    상기 타이밍 정보 및 상기 제 2 타이밍 신호를 사용하여 상기 미디어 스트림을 버퍼링하는 단계를 포함하는, 방법.
  7. 청구항 6에 있어서,
    상기 타이밍 정보를 수신하는 단계는, 상기 비동기 데이터 네트워크에 연결되지 않은 원자 클럭으로부터 수신된 상기 타이밍 신호에 기초하여 발생되는 상기 타이밍 정보를 상기 비동기 데이터 네트워크를 통해 상기 미디어 서버로부터 수신하는 단계를 포함하고;
    상기 제 2 타이밍 신호를 수신하는 단계는, 상기 비동기 데이터 네트워크에 연결되지 않은 상기 원자 클럭으로부터 상기 제 2 타이밍 신호를 수신하는 단계를 포함하는, 방법.
  8. 청구항 6에 있어서,
    상기 타이밍 정보를 수신하는 단계는, 상기 비동기 데이터 네트워크에 연결되지 않은 상기 타이밍 소스로부터 제 1 블루투스 연결을 통해 수신된 상기 타이밍 신호에 기초하여 발생되는 상기 타이밍 정보를 상기 비동기 데이터 네트워크를 통해 상기 미디어 서버로부터 수신하는 단계를 포함하고;
    상기 제 2 타이밍 정보를 수신하는 단계는, 상기 비동기 데이터 네트워크에 연결되지 않은 상기 타이밍 소스로부터 제 2 블루투스 연결을 통해 상기 제 2 타이밍 신호를 수신하는 단계를 포함하는, 방법.
  9. 미디어 스트림을 버퍼링하는 방법에 있어서,
    비동기 데이터 네트워크를 통해 미디어 서버로부터 미디어 스트림 및 상기 미디어 스트림에 관한 타이밍 정보를 수신하는 단계로서, 상기 타이밍 정보는 상기 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 1 타이밍 신호에 기초하는 것인, 단계;
    상기 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 상기 미디어 서버로부터 상기 제 1 타이밍 신호에 기초하는 제 2 타이밍 신호를 수신하는 단계; 및
    상기 타이밍 정보 및 상기 제 2 타이밍 신호를 사용하여 상기 미디어 스트림을 버퍼링하는 단계를 포함하는, 방법.
  10. 미디어 스트림을 버퍼링하는 방법에 있어서,
    비동기 데이터 네트워크를 통해 미디어 서버로부터 미디어 스트림 및 상기 미디어 스트림에 관한 타이밍 정보를 수신하는 단계로서, 상기 타이밍 정보는 제 1 타이밍 신호에 기초하는 것인, 단계;
    상기 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 제 2 타이밍 신호에 기초하는 상기 제 1 타이밍 신호를 상기 미디어 서버에 제공하는 단계;
    상기 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 상기 제 2 타이밍 신호를 수신하는 단계; 및
    상기 타이밍 정보 및 상기 제 2 타이밍 신호를 사용하여 상기 미디어 스트림을 버퍼링하는 단계를 포함하는, 방법.
  11. 제 1 오디오 스트림 및 제 2 오디오 스트림을 비동기 데이터 네트워크를 통해 제공하는 오디오 서버;
    상기 비동기 데이터 네트워크를 통해 상기 오디오 서버로부터 수신된 상기 제 1 오디오 스트림을 상기 비동기 데이터 네트워크에 연결되지 않은 타이밍 소스로부터 수신된 제 1 타이밍 신호에 기초하여 버퍼하는 제 1 스피커; 및
    상기 비동기 데이터 네트워크를 통해 상기 오디오 서버로부터 수신된 상기 제 2 오디오 스트림을 상기 비동기 데이터 네트워크에 연결되지 않은 상기 타이밍 소스로부터 수신된 제 2 타이밍 신호에 기초하여 버퍼하는 제 2 스피커를 포함하는, 시스템.
  12. 청구항 11에 있어서,
    상기 타이밍 소스는 원자 클럭인, 시스템.
  13. 청구항 11에 있어서,
    상기 제 1 스피커는 상기 제 1 오디오 스트림을 상기 비동기 데이터 네트워크에 연결되지 않은 상기 타이밍 소스로부터 제 1 블루투스 연결을 통해 수신된 상기 제 1 타이밍 신호에 기초하여 버퍼하며;
    상기 제 2 스피커는 상기 제 2 오디오 스트림을 상기 비동기 데이터 네트워크에 연결되지 않은 상기 타이밍 소스로부터 제 2 블루투스 연결을 통해 수신된 상기 제 2 타이밍 신호에 기초하여 버퍼하는, 시스템.
  14. 청구항 11에 있어서,
    상기 제 1 스피커는 상기 제 1 오디오 스트림을 상기 비동기 데이터 네트워크에 연결되지 않은 상기 타이밍 소스로부터 무선 통신 프로토콜에 따라 수신된 상기 제 1 타이밍 신호에 기초하여 버퍼하며;
    상기 제 2 스피커는 상기 제 2 오디오 스트림을 상기 비동기 데이터 네트워크에 연결되지 않은 상기 타이밍 소스로부터 무선 통신 프로토콜에 따라 수신된 상기 제 1 타이밍 신호에 기초하여 버퍼하는, 시스템.
  15. 미디어 서버와 클라이언트 간에 결합된 라우터에 있어서,
    비동기 데이터 네트워크를 통해 미디어 서버로부터 미디어 스트림 및 상기 미디어 스트림에 관한 타이밍 정보를 수신하게 구성된 입력회로;
    상기 비동기 데이터 네트워크를 포함하지 않는 경로를 통해 타이밍 신호를 상기 클라이언트에 제공하게 구성된 타이밍 모듈; 및
    상기 클라이언트가 상기 타이밍 정보 및 상기 타이밍 신호를 사용하여 상기 미디어 스트림을 버퍼할 수 있도록, 상기 미디어 스트림 및 상기 타이밍 정보를 상기 비동기 데이터 네트워크를 통해 상기 클라이언트에 제공하게 구성된 출력회로를 포함하는, 라우터.
KR20120006389A 2011-01-19 2012-01-19 독립적인 시간 소스로부터 시간 신호(들)를 사용한 미디어 스트림들의 동기화 KR101355059B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161434257P 2011-01-19 2011-01-19
US61/434,257 2011-01-19
US13/038,031 2011-03-01
US13/038,031 US8643696B2 (en) 2011-01-19 2011-03-01 Synchronizing media streams using time signal(s) from an independent time source

Publications (2)

Publication Number Publication Date
KR20120084686A true KR20120084686A (ko) 2012-07-30
KR101355059B1 KR101355059B1 (ko) 2014-01-24

Family

ID=45495722

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20120006389A KR101355059B1 (ko) 2011-01-19 2012-01-19 독립적인 시간 소스로부터 시간 신호(들)를 사용한 미디어 스트림들의 동기화

Country Status (6)

Country Link
US (1) US8643696B2 (ko)
EP (2) EP2887678A3 (ko)
KR (1) KR101355059B1 (ko)
CN (1) CN102710982B (ko)
HK (1) HK1169248A1 (ko)
TW (1) TWI547123B (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8643696B2 (en) * 2011-01-19 2014-02-04 Broadcom Corporation Synchronizing media streams using time signal(s) from an independent time source
US9225938B2 (en) * 2011-06-16 2015-12-29 Starleaf Ltd Video conferencing systems
US8692864B2 (en) * 2012-05-31 2014-04-08 Ronald Angelo Dynamic virtual multipoint video conference control unit
JP5509284B2 (ja) * 2012-09-14 2014-06-04 株式会社東芝 マルチフォーマット出力装置、マルチフォーマット出力装置の制御方法
EP3020204B1 (en) * 2013-07-09 2022-04-27 Koninklijke KPN N.V. Synchronized data processing between receivers
KR102131626B1 (ko) 2014-02-21 2020-07-08 삼성전자주식회사 미디어 데이터 싱크 방법 및 장치
KR102105641B1 (ko) * 2014-04-04 2020-04-29 한국전자통신연구원 분산형 텔레프레즌스 플랫폼에서 영상 회의를 지원하는 방법 및 시스템
CN104079957B (zh) * 2014-06-25 2017-09-01 广东欧珀移动通信有限公司 一种多媒体设备同步操作的方法及系统
CN104918198A (zh) * 2015-05-11 2015-09-16 阔地教育科技有限公司 一种基于在线课堂的音频校准方法及装置
US11089160B1 (en) * 2015-07-14 2021-08-10 Ujet, Inc. Peer-to-peer VoIP
US9742549B1 (en) * 2016-09-29 2017-08-22 Analog Devices Global Apparatus and methods for asynchronous clock mapping
US10834296B2 (en) * 2018-09-12 2020-11-10 Roku, Inc. Dynamically adjusting video to improve synchronization with audio
US10805658B2 (en) 2018-09-12 2020-10-13 Roku, Inc. Adaptive switching in a whole home entertainment system
US10861482B2 (en) * 2018-10-12 2020-12-08 Avid Technology, Inc. Foreign language dub validation
FR3121541A1 (fr) * 2021-03-31 2022-10-07 Devialet Installation de restitution sonore synchronisée temporellement.

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594859A (en) 1992-06-03 1997-01-14 Digital Equipment Corporation Graphical user interface for video teleconferencing
JPH07212766A (ja) * 1994-01-18 1995-08-11 Matsushita Electric Ind Co Ltd 動画像圧縮データ切り換え装置
US5608651A (en) * 1995-01-31 1997-03-04 Intel Corporation Method and apparatus for scheduling and mixing media in a multi-media environment
DE69633808T2 (de) * 1995-04-10 2005-11-03 Hewlett-Packard Development Co., L.P., Houston Interaktives Video-auf-Abrufsystem mit Paketübertragung über eine ATM-Fernmeldeleitung
US5751694A (en) * 1995-05-22 1998-05-12 Sony Corporation Methods and apparatus for synchronizing temporally related data streams
JPH09139937A (ja) * 1995-11-14 1997-05-27 Fujitsu Ltd 動画ストリーム変換装置
KR19980073528A (ko) * 1997-03-15 1998-11-05 구자홍 엠펙시스템 복호기장치
US6061399A (en) * 1997-05-28 2000-05-09 Sarnoff Corporation Method and apparatus for information stream frame synchronization
US6204944B1 (en) * 1997-07-18 2001-03-20 Nippon Telegraph And Telephone Corporation All-optical time-division demultiplexing circuit and all-optical TDM-WDM conversion circuit
GB2328099B (en) * 1997-08-08 2002-07-03 British Broadcasting Corp Processing coded video
US6360271B1 (en) 1999-02-02 2002-03-19 3Com Corporation System for dynamic jitter buffer management based on synchronized clocks
US6404711B1 (en) * 1998-05-19 2002-06-11 Sony Corporation System including comparing a separated time stamp to a generated timing signal and controlling a timing signal on the basis of continuity of time stamps
US6480511B1 (en) * 1998-09-15 2002-11-12 Avaya Technology Corp. Arrangement for synchronization of a stream of synchronous traffic delivered by an asynchronous medium
JP4734690B2 (ja) * 2000-04-28 2011-07-27 ソニー株式会社 信号送出方法及び信号送出装置
US7346698B2 (en) * 2000-12-20 2008-03-18 G. W. Hannaway & Associates Webcasting method and system for time-based synchronization of multiple, independent media streams
US7764863B1 (en) * 2002-03-06 2010-07-27 Bigband Networks Inc. System and method for providing trick modes
US7787539B2 (en) * 2002-07-17 2010-08-31 Broadcom Corporation Decoding and presentation time stamps for MPEG-4 advanced video coding
DE60211157T2 (de) * 2002-09-06 2007-02-08 Sony Deutschland Gmbh Synchrones Abspielen von Medien-Paketen
JP3909704B2 (ja) * 2003-04-04 2007-04-25 ソニー株式会社 編集システム
US20040244057A1 (en) 2003-04-30 2004-12-02 Wallace Michael W. System and methods for synchronizing the operation of multiple remote receivers in a broadcast environment
US9286214B2 (en) 2003-06-06 2016-03-15 Arris Enterprises, Inc. Content distribution and switching amongst data streams
US8028097B2 (en) * 2004-10-04 2011-09-27 Sony Corporation System and method for synchronizing audio-visual devices on a power line communications (PLC) network
TWI294085B (en) * 2005-07-12 2008-03-01 Realtek Semiconductor Corp Method and apparatus for synchronizing multimedia data stream
JP2009514326A (ja) * 2005-10-26 2009-04-02 エガード、アニカ 情報仲介システム
CN101039156B (zh) * 2006-03-17 2011-10-05 华为技术有限公司 同步数字系列业务数据传送方法及装置
GB2443867A (en) * 2006-03-21 2008-05-21 Zarlink Semiconductor Ltd Timing source with packet size controller providing a distribution of packet sizes
KR100811784B1 (ko) 2007-06-28 2008-03-07 엘지전자 주식회사 미디어 재생 장치와 그를 이용하는 미디어 재생 방법 및이동통신 단말기
US8612643B2 (en) * 2007-06-30 2013-12-17 Microsoft Corporation Interfaces for digital media processing
WO2009071321A1 (en) * 2007-12-05 2009-06-11 Koninklijke Kpn N.V Method and system for synchronizing the output of terminals
EP2255541B1 (en) * 2008-02-29 2012-11-28 Audinate Pty Ltd Network devices, methods and/or systems for use in a media network
US20090257455A1 (en) * 2008-04-15 2009-10-15 Tellabs Operations, Inc. Method and apparatus for synchronizing timing of signal packets
EP2114053A1 (en) 2008-04-30 2009-11-04 THOMSON Licensing Delivery delay compensation on synchronised communication devices in a packet switched network
US20100091188A1 (en) * 2008-07-11 2010-04-15 Stmicroelectronics Pvt. Ltd. Synchronization of secondary decoded media streams with a primary media stream
EP2150062B1 (en) 2008-07-28 2022-10-26 Imagine Communications Corp. Improved method, system and apparatus for synchronizing signals
CN101442375B (zh) * 2008-12-29 2012-04-25 山东大学 一种多网络兼容的授时服务装置及其工作方法
DE102009028645B4 (de) * 2009-08-19 2014-04-03 Raumfeld Gmbh Verfahren und Anordnung zur Synchronisation von Datenströmen in Netzwerken sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
JP2010239641A (ja) * 2010-05-27 2010-10-21 Sharp Corp 通信装置、通信システム、通信装置の制御プログラム、および通信装置の制御プログラムを記録した記録媒体
US8643696B2 (en) * 2011-01-19 2014-02-04 Broadcom Corporation Synchronizing media streams using time signal(s) from an independent time source

Also Published As

Publication number Publication date
EP2887678A2 (en) 2015-06-24
HK1169248A1 (zh) 2013-01-18
TW201246844A (en) 2012-11-16
US20120182383A1 (en) 2012-07-19
EP2480002A2 (en) 2012-07-25
CN102710982B (zh) 2016-03-16
TWI547123B (zh) 2016-08-21
CN102710982A (zh) 2012-10-03
EP2887678A3 (en) 2015-09-30
KR101355059B1 (ko) 2014-01-24
EP2480002A3 (en) 2013-10-09
US8643696B2 (en) 2014-02-04

Similar Documents

Publication Publication Date Title
KR101355059B1 (ko) 독립적인 시간 소스로부터 시간 신호(들)를 사용한 미디어 스트림들의 동기화
EP2941006B1 (en) Method and system for clock reference streams
US9837093B2 (en) Packet based delivery of multi-channel audio over wireless links
CN107071509A (zh) 多路直播的视频精确同步方法
JP2007020183A (ja) レジデンシャルイーサネットシステムにおける時刻同期化方法
US10097790B2 (en) Carriage of PTP time reference data in a real-time video signal
US10341773B2 (en) Packet based delivery of multi-channel audio over wireless links
US10855763B2 (en) Method and apparatus for synchronizing applications' consumption of remote data
CN112492357A (zh) 一种处理多视频流的方法、装置、介质和电子设备
JP2022517587A (ja) オーディオストリーム及びビデオストリーム同期切替方法及び装置
US20160150008A1 (en) Clock synchronization using wifi beacons
JP6789761B2 (ja) 受信端末及びプログラム
JP2016225922A (ja) 無線通信システム及び方法
WO2021248889A1 (zh) 一种拼接墙信号同步方法及装置
CN108696762A (zh) 一种同步播放方法、装置和系统
JP2018530944A (ja) 異種ネットワーキング環境におけるメディアレンダリングの同期化
CN115174978B (zh) 一种3d数字人的音画同步方法及电子设备
CN115174979A (zh) 流媒体传输网络及传输控制方法、装置、设备及存储介质
JP2005311450A (ja) 通信装置、通信機器、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体

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
FPAY Annual fee payment

Payment date: 20170303

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180105

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190108

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200108

Year of fee payment: 7