KR101548619B1 - 상호연결 네트워크에서의 관련 데이터 스트림 동기화 - Google Patents

상호연결 네트워크에서의 관련 데이터 스트림 동기화 Download PDF

Info

Publication number
KR101548619B1
KR101548619B1 KR1020107006833A KR20107006833A KR101548619B1 KR 101548619 B1 KR101548619 B1 KR 101548619B1 KR 1020107006833 A KR1020107006833 A KR 1020107006833A KR 20107006833 A KR20107006833 A KR 20107006833A KR 101548619 B1 KR101548619 B1 KR 101548619B1
Authority
KR
South Korea
Prior art keywords
data stream
data
packet
receiving
time
Prior art date
Application number
KR1020107006833A
Other languages
English (en)
Other versions
KR20100063749A (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 KR20100063749A publication Critical patent/KR20100063749A/ko
Application granted granted Critical
Publication of KR101548619B1 publication Critical patent/KR101548619B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • 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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44231Monitoring of peripheral device or external card, e.g. to detect processing problems in a handheld device or the failure of an external recording device
    • 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)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

상호연결 네트워크에서 관련 데이터 스트림을 동기화하기 위한 방법 및 장치가 개시된다. 장치의 일부 실시예는 데이터 스트림을 제2 장치로 송신하는 송신기를 포함하고, 여기서 송신기는 데이터 패킷을 제2 장치로 송신한다. 장치는 클록을 더 포함하고, 장치는 데이터 패킷의 송신시에 클록을 사용하여 데이터 패킷에 대한 제1 타임스탬프를 제공한다. 장치는 제2 장치로부터 응답을 수신하는 수신기를 포함하고, 장치는 제2 장치로부터 반환된 패킷을 수신시에 제2 타임스탬프를 제공하고, 반환된 패킷은 제2 장치에 의한 패킷의 수신 및 송신에 대한 타임 스탬프들을 포함한다. 장치는 장치의 동작을 지시하는 네트워크 유닛을 포함하고, 네트워크 유닛은 패킷에 대한 타임스탬프를 적어도 일부분 기반으로 하여 제2 장치에 의한 데이터 스트림의 디코딩에 대한 시작 시간을 결정한다.

Description

상호연결 네트워크에서의 관련 데이터 스트림 동기화{SYNCHRONIZING RELATED DATA STREAMS IN INTERCONNECTION NETWORKS}
본 발명은 일반적으로 네트워크 분야에 관한 것으로, 특히 상호연결 네트워크에서 관련 데이터 스트림(data streams)을 동기화하기 위한 방법 및 장치(apparatus)에 관한 것이다.
네트워크는 퍼스널 전자 엔터테인먼트 장치(devices)와 같은 다수 장치의 상호연결을 포함할 수 있다. 이러한 네트워크에서, 상호연결된 장치는 관련된 데이터 스트림을 공유하는 것을 포함하여 데이터를 공유할 수 있다. 송신 장치는 다수 장치로 스트리밍될 데이터를 포함할 수 있다. 일 예에서, 송신 장치는 하나 이상의 디스플레이 장치에 의한 디스플레이 또는 다른 사용을 위해 스트리밍될 동영상(motion picture) 또는 다른 시청각 데이터와 같은 미디어 데이터 세트에 대한 액세스를 포함 또는 가지는 장치일 수 있으며, 디스플레이 장치는 가능하게는 비디오 디스플레이를 위한 스크린, 오디오 제작을 위한 스피커, 또는 둘 모두를 포함한다. 용어의 단순화를 위해, 스트리밍 데이터의 임의 사용은 이러한 데이터의 "디스플레이"로서 언급될 수 있고, 이러한 데이터를 사용하는 장치는 "디스플레이 장치" 또는 "수신 장치"로서 언급될 수 있다.
이러한 네트워크에서, 데이터의 디스플레이를 동기화할 필요가 있을 수 있다. 동기화 품질은 이러한 데이터의 사용, 그리고 매칭되지 않은 디스플레이에 대한 수신자의 감도에 의존할 것이다. 이 환경에서 공통된 시나리오는 단일 소스로부터 다수 목적지로 다중 미디어 스트림을, 그들의 디스플레이를 동기화할 요건과 함께 전달하는 것이다. 수신 장치가 미디어 데이터를 디스플레이중이고, 디스플레이들이 서로의 뷰잉(viewing) 또는 히어링(hearing) 내에 있다면, 인간 시청자 또는 청취자가 디스플레이 장치들 간의 디스플레이 시간 차를 검출하지 않도록 충분히 근접하도록 동기화를 요구할 수 있다.
예를 들어 비디오 서버는 서라운드 사운드 디코딩을 위한 오디오 수신기로, 그리고 비디오 디스플레이를 위한 개별 디지털 텔레비젼으로 스트림을 송신할 수 있다. 이 경우, 적절한 디스플레이를 위한 장치들 간에 적절한 립싱크(lip syncronization)가 유지되어야 한다. 두 번째 예는 다수 디지털 텔레비젼으로의 동일 미디어 스트림의 분산이다. 이 경우, 각 스트림에 대한 오디오 및 비디오 디코딩은 단일 장치 내에서 성취될 수 있고, 이는 장치들에 대한 적절한 립싱크를 보장할 것이지만, 다중 디스플레이는 모든 스트림을 함께 동기화하도록 보장하기 위하여 서로 조정(coordinate)해야 한다.
그러나 동기화는 일반적으로 장치들 간에 비교적 근접한 조정 및 통신을 요구한다. 이 동기화 처리는 메시징 및 처리시에 상당한 오버헤드(overhead)를 요구할 수 있다. 퍼스널 엔터테인먼트 장치를 포함한 저 자원 장치들을 상호연결하는 네트워크와 같은 제한된 네트워크는 이러한 장치간 조정 및 통신을 제공하는데 어려움을 가질 수 있다.
상호연결 네트워크에서 관련 데이터 스트림을 동기화하기 위한 방법 및 장치를 제공한다.
본 발명의 제1 양상에서, 장치는 데이터 스트림을 제2 장치로 송신하기 위한 송신기를 포함하고, 이 송신기는 데이터 패킷을 제2 장치로 송신하기 위한 것이다. 장치는 클록을 더 포함하고, 장치는 데이터 패킷 송신시에 데이터 패킷에 대한 제1 타임스탬프(timestamp)를 제공한다. 장치는 제2 장치로부터 반환된 패킷을 수신시에 제2 타임스탬프를 제공할 수 있으며, 반환된 패킷은 제2 장치에 의한 패킷의 수신 및 송신에 대한 타임스탬프를 포함한다. 네트워크 유닛은 패킷에 대한 타임스탬프를 적어도 일부분 기반으로 하여 제2 장치에 의한 데이터 스트림의 디코딩을 위해 시작 시간을 결정할 수 있다.
본 발명의 제2 양상에서, 장치는 제2 장치로부터 데이터 스트림을 수신하기 위한 수신기와 클록을 포함하며, 장치는 제2 장치로부터 동기화 패킷을 수신시에 제1 타임스탬프를 제공하고, 반환된 동기화 패킷에 대한 송신시에 제2 타임스탬프를 제공한다. 장치는 데이터 스트림의 데이터를 보유(hold)하기 위한 버퍼를 포함하고, 버퍼는 제2 장치로부터 데이터 스트림에 대한 시작 시간에 도달할 때에 배출(draining)을 시작한다. 장치는 데이터 스트림을 디코딩하기 위한 디코더를 더 포함한다.
본 발명의 제3 양상에서, 관련 데이터 스트림을 동기화하기 위한 방법은 제1 수신 장치로 송신하기 위한 패킷을 준비하는 단계를 포함하고, 여기서 제1 수신 장치는 관련 데이터 스트림의 적어도 제1 데이터 스트림을 수신한다. 제1 타임스탬프는 패킷을 송신시에 제공되고, 제2 타임스탬프는 반환 패킷을 수신시에 제공되는데, 여기서 반환 패킷은 제1 수신 장치에 의한 패킷 수신을 위해, 그리고 제1 수신 장치에 의한 반환 패킷의 송신을 위해 타임스탬프를 더 포함한다. 제1 수신 장치에 대한 제1 시작 시간은 패킷 및 반환 패킷의 타임스탬프를 적어도 일부분 기반으로 하여 결정된다.
본 발명의 실시예는 첨부 도면의 그림에서 제한을 위한 것이 아닌 예로서 도시되며, 동일 참조번호는 유사 요소를 언급한다.
도 1은 다수 수신 장치로 전달되는 데이터 스트림의 실시예를 도시하는 도면.
도 2는 위상 관계를 결정하기 위한 처리의 실시예를 도시하는 도면.
도 3은 일부 실시예에서 동기화를 위한 수신 장치에 의해 제공되는 데이터를 도시하는 도면.
도 4는 송신기가 관련 데이터 스트림을 동기화하는 처리의 실시예를 도시하는 흐름도.
도 5는 수신기가 관련 데이터 스트림을 동기화하는 처리의 실시예를 도시하는 흐름도.
도 6은 엔터테인먼트 네트워크의 실시예를 도시하는 도면.
도 7은 네트워크 장치의 실시예를 도시하는 도면.
도 8은 네트워크 장치의 구성소자의 실시예를 도시하는 도면.
본 발명의 실시예는 일반적으로 상호연결 네트워크에서 관련 데이터 스트림을 동기화하는 것에 관한 것이다.
여기에 사용되는 바와 같이, "관련 데이터 스트림"은 임의 방식으로 서로 관련있는 동일 데이터 스트림 또는 상이한 데이터 스트림의 다수 버전을 의미한다. 일 예에서, 다수 디스플레이 장치로 보내진 단일 비디오 데이터 스트림이 관련 데이터 스트림을 제공한다. 제2 예에서, 동일 또는 상이한 디스플레이 장치로 보내진 비디오 데이터 스트림 및 오디오 데이터 스트림이 관련 데이터 스트림을 제공한다.
여기에 사용되는 바와 같이, "엔터테인먼트 네트워크"는 장치들 간에 (음악, 오디오/비디오, 게이밍, 사진 등을 포함한) 디지털 미디어 콘텐츠를 전달하기 위한 상호연결 네트워크를 의미한다. 엔터테인먼트 네트워크는 가정에서의 네트워크와 같은 퍼스널 엔터테인먼트 네트워크, 비즈니스 셋팅에서의 엔터테인먼트 네트워크, 또는 엔터테인먼트 장치의 임의 다른 네트워크를 포함할 수 있다. 이러한 네트워크에서, 소정 네트워크 장치는 디지털 텔레비젼 튜너, 케이블 셋탑 박스, 비디오 저장 서버 및 다른 소스 장치와 같은 미디어 콘텐츠의 소스일 수 있다. 다른 장치는 디지털 텔레비젼, 홈 시어터 시스템, 오디오 시스템, 게이밍 시스템 및 다른 장치와 같이 미디어 콘텐츠를 디스플레이 또는 사용할 수 있다. 더욱이, 소정 장치는 비디오 및 오디오 저장 서버와 같이 미디어 콘텐츠를 저장 또는 전송하도록 예정될 수 있다. 소정 장치는 다중 미디어 기능을 수행할 수 있다. 일부 실시예에서, 네트워크 장치는 단일 로컬영역 네트워크 상에서 동일장소에 배치될 수 있다. 다른 실시예에서, 네트워크 장치는 로컬 영역 네트워크들 사이의 터널링과 같은 것을 통해 다중 네트워크 세그먼트에 걸쳐 있을 수 있다. 엔터테인먼트 네트워크는 다중 데이터 인코딩 및 암호화 처리를 포함할 수 있다.
일부 실시예에서, 네트워크에서 다수의 관련 데이터 스트림이 동기화된다. 일부 실시예에서, 데이터 스트림은 송신 장치와 각 수신 장치 사이의 위상차를 결정하고, 적용가능한 위상차를 적어도 일부분 기반으로 하여 각 수신 장치의 동작을 조정함으로써 동기화된다. 일부 실시예에서, 송신 장치와 수신 장치 사이의 위상차는 데이터 패킷을 수신 장치로 송신하고, 반환된 데이터 패킷을 수신하고, 데이터 패킷에 대해 수집한 타임스탬프 데이터를 사용함으로써 적어도 일부분 결정된다. 일부 실시예에서, 데이터 스트림의 동기화는 수신 장치 동작에 관한 정보를 더 사용한다.
일부 실시예에서, 인간이 사용 또는 조작하기에 충분한 품질이면서 처리의 복잡도를 최소화시키도록 스트림 동기화를 유지하기 위한 처리가 제공된다. 일부 실시예에서, 동기화 처리는 단일칩 해결방안과 같은 저자원 장치내에서 그의 구현이 가능하도록 제공된다.
도 1은 다수 수신 장치로 전달되는 데이터 스트림의 실시예를 도시한다. 이 도시에서, 네트워크(105)는 다수 장치를 포함할 수 있고, 관련 데이터 스트림은 이러한 장치들 간에 전송될 수 있다. 데이터 스트림은 미디어 스트림 데이터를 포함할 수 있지만 이에 제한되지는 않는다. 예를 들면 송신 장치(110)가 수신 장치 A(115), 수신 장치 B(120) 및 수신 장치 C(125)와 같은 다수 수신 장치로 특정 데이터 스트림 또는 스트림들(130)을 전달하는 요청이 있을 수 있다. 일 예에서 데이터 스트림 또는 스트림들(130)은 다수 위치에서 디스플레이될 시청각 데이터 스트림일 수 있거나, 또는 함께 디스플레이될 오디오 스트림 및 비디오 스트림을 포함할 수 있다. 위치가 한 사람이 관찰하기에 충분할 정도로 근접한 위치라면, 그 사람은 디스플레이가 동기화되고 있지 않은지를 알아챌 것이다. 그러나 장치는 상이할 수 있으며, 각 장치까지의 거리는 상이할 수 있다. 이 이유로 인하여, 일반적으로 수신 장치들 간에 알려지지 않은 크기의 위상 차가 있을 것이다. 일부 실시예에서, 처리 및 시스템은 각 수신 장치에 대한 데이터 스트림의 동기화를 제공한다.
일부 실시예에서, 시스템은 데이터 스트리밍에 대한 "푸시 모델(push model)"을 사용할 수 있다. 일부 실시예에서, 단일 소스가 상호연결 네트워크를 통해 단일 목적지로 미디어 스트림을 전달중일 수 있다. 이 환경에서, 송신 클록,수신 클록 및 디코더 클록의 세 클록 도메인이 관련된다. 푸시 모델 실시예에서, 송신기는 수신기로부터의 피드백이 필요없이 다른 장치에 관계없이 알려진 레이트로 미디어 스트림을 수신기에 송신할 수 있다(따라서 데이터를 수신기로 푸싱). 수신기는 네트워크를 통해 가변 대기 시간(latency)을 흡수하기 위하여 입력 스트림을 위한 버퍼를 유지하고, 이 스트림 데이터를 디코더로 전달하고, 이 디코더는 스트림으로부터 클록을 복구하고, 표준 PLL 및 VCO 기법을 통하여 그의 클록을 로크(lock)한다. 이 클록 복구는 수신기가 스트림 데이터를 디코더로 전달하는 레이트를 기반으로 하며, 다음에 디코더는 이 스트림 레이트 및 수신기의 로컬 클록을 기반으로 한다.
이 예에서, 디코더로 하여금 스트림으로부터 클록을 적절히 복구할 수 있게 하기 위하여, 수신기는 "리키 버킷(leaky bucket)" 처리 또는 유사한 처리를 구현한다. 스트림 패킷이 네트워크로부터 도착함에 따라, (네트워크 지터(network jitter)를 흡수하기 위하여) 수신기에 의해 버퍼링되고, 그 후에 그의 로컬 클록에 따라 균일한 레이트로 디코더로 전달된다. 수신 클록은 송신 클록과 상이할 것이므로, 수신기가 버퍼를 배출하는 레이트가 주기적으로 조정된다. 이러한 조정이 없다면, 버퍼는 결국에 언더플로우(underflow)되거나 또는 오버플로우(overflow)될 것이다.
일부 실시예에서, 표준 레이트 매칭기법은 가능한 다양한 기법과 함께 수신기의 버퍼를 배출(drain)하는 레이트를 제어하기 위해 사용될 수 있다. 이 처리에서, 버퍼 심도를 감시하고, 평활화(smoothing) 기능을 적용한다. 시간에 따라, 효과적인 결과는 수신기의 클록 주파수가 송신기의 클록 주파수와 매칭된다는 것이다. 이것은 수신기와 송신기 사이의 통신 또는 피드백 필요없이 송신기에 의해 결정되는 레이트로 스트림을 재생할 것을 보장한다.
일부 실시예에서, 수신기 버퍼의 크기는 가변 조건을 위해 조정될 수 있다. 버퍼의 크기는 흡수될 수 있는 네트워크 지터량뿐만 아니라 레이트-매칭 알고리즘이 효과적인 시간 주기를 결정할 것이다. 보다 큰 버퍼는 네트워크 변수를 흡수하는 더 나은 결과를 제공할 수 있지만, 이 이점은 동작시에 초기 대기 시간의 비용과 함께 발생된다. 따라서 버퍼 크기는 설계상 트레이드-오프(trade-off)이다.
일부 실시예에서, 디스플레이와 같은 장치들 간의 위상 관계를 다룬다. 단일 소스로부터 단일 목적지로의 미디어 스트림과 같은 데이터 스트림을 전송하기 위해 전술한 푸시 모델은 동일 주파수로 효과적으로 로크시키기 위하여 3개의 클록(송신기, 수신기 및 디코더)을 제공하고, 따라서 평활한(smooth) 디코딩 및 재생을 보장한다. 그 후에, 송신기가 동일 스트림(또는 이의 상이한 부분)을 다수 목적지로 전달한다면, 모든 클록 레이트는 단일 목적지 경우에서와 동일한 방식으로 동일 주파수로 로크될 것이다. 따라서 스트림은 시간에 따라 떨어져 이동하지 않을 것이다.
그러나 장치에 대한 클록 위상은 상이할 것이다. 특히, 각 스트림은 제1 패킷, 버퍼링 대기 시간 및 디코더 대기 시간의 수신 시간에 따라 실시간으로 상이한 시점에서 디코딩을 시작할 수 있다. 일부 실시예에서, 모든 관련 스트림의 수신기가 동시에 디코딩을 시작한다는 것을 보장하기 위한 추가 메카니즘을 제공한다. 이것은 송신기로부터 수신기 클록의 위상 오프셋을 결정할 것을 요구한다.
NTP(Network Time Protocol) 또는 이더넷 AV(오디오 비디오)와 같은 클록 동기화 기법은 모든 클록을 동일 위상을 가지도록 설정하는데 사용될 수 있지만, 단지 초기 오프셋이 데이트 스트림에 중요하므로(소스에 대한 레이트-매칭이 장기 이동을 방지하므로), 이것은 필요없다. 일부 실시예에서, 위상차는 송신기와 각 수신기 사이의 단순한 타이밍된 패킷 교환 시퀀스에 의해 평가된다. 스트림이 개시될 시에 순간 위상차를 결정하는 것은 다수 스트림들 사이에 적절한 동기화를 보장하기에 충분하다.
도 2는 위상 관계를 결정하기 위한 처리의 실시예를 도시한다. 이 도시에서, 송신기(205)는 로컬 클록(210)을 가지고, 수신기(215)는 로컬 클록(220)을 가진다. 일부 실시예에서, 송신기(205)는 패킷(225)을 수신기(215)로 송신한다. 송신기(205)는 패킷(225)이 출발함에 따라 그의 로컬 클록(210)에 따라 타임스탬프 Ts0(230)를 삽입한다. 패킷(225)이 수신기(215)에 도달할 때, 수신기의 클록(220)에 따른 새로운 타임스탬프 Tr1(235)는 패킷(225)으로 삽입된다. 그 후, 패킷(225)은 송신기(205)로 다시 전송되고, 패킷(225)이 출발함에 따라 수신기의 로컬 클록(220)에 따라서 제3 타임스탬프 Tr2(240)이 삽입된다. 마지막으로, 패킷(225)이 송신기(205)에 다시 도착할 때, 송신기의 클록(210)에 따라서 제4 타임스탬프 Ts3(245)가 언급된다. 일부 실시예에서, 이들 값은 두 클록들 간에 위상 차를 결정하기 위하여 적어도 일부분 사용될 수 있다.
네트워크 장치에 사용되는 이것들과 같은 현대 클록은 상당히 정밀하며, 전형적으로 약 100 μs/sec의 최대 스큐(skew)를 암시하는 100ppm(parts per million) 이하만큼 공칭 주파수와 상이하다. 미디어 스트림과 같은 데이터 스트림의 문맥에서, 이 스큐는 일반적으로 중요하지 않으며 안전하게 무시될 수 있다. 따라서 두 클록들 간의 위상 관계를 설정하기 위하여, 두 클록의 주파수가 동일하다는 가정을 단순화하는 것이 안전하다. 특히, 왕복 지연(round-trip delay) δ는 다음과 같이 결정될 수 있다.
Figure 112010019818114-pct00001
유사하게, (수신기 클록에 대해 동일한 시간을 얻기 위하여 송신기 클록에 추가되는 시간인) 수신기 클록에 관련된 송신기 클록의 오프셋 φ는 다음과 같이 결정될 수 있다:
Figure 112010019818114-pct00002
여기서 송신기의 시간은 다음에 의해 특정 수신기의 시간으로 변환된다:
Figure 112010019818114-pct00003
실시예에서, 위상 오프셋의 결정은 왕복 지연 δ가 대칭이라는 가정을 기반으로 한다. 그러나 실제로, 네트워크 지터는 예측할 수 없으며, 따라서 위상 오프셋은 왕복 지연의 절반인 δ/2 내로 정확하다. 스테레오 사운드와 같은 강하게 결합된 오디오 외의 미디어 스트림 동기화의 경우, 인간은 일반적으로 허용가능한 80 ms 스큐까지 찾아낸다. 따라서 δ/2 < 80ms라면, 위상 오프셋은 수용가능한 성능을 이끌어 낼 것이다. 위상 오프셋은 수신기들 간이 아니라 송신기와 각 수신기 사이에 이러한 처리에 의해 결정되므로, 수신기들 간의 최대 스큐는 부가적이다. 따라서 수신기들 간에 수용가능한 스트림 동기화는 왕복 지연이 인간 허용오차 임계치의 절반보다 작을 때에, 즉 δ/2 < 40ms일 때에 성취될 수 있다.
일부 실시예에서 전술한 정보를 사용하면, 송신기와 각 수신기 사이의 위상 오프셋을 결정하기 위한 절차는 왕복 지연이 적절한 범위 내에 있을 때까지 반복된다. 목표 환경이 로컬 네트워크인 구현시에, 위상 결정을 반복하는 일은 실제로 사소한 제약이며, 과도 버스트(transient bursts) 또는 노이즈를 다루기 위해서만 필요하다.
송신기에 대한 수신기 클록의 위상 오프셋의 마지막 구성요소는 수신기에서 미디어 스트림 디코더를 통한 대기 시간이다(대기 시간은 데이터 패킷이 결과적인 데이터를 전달하기 전에 미디어 스트림 디코더에 의해 보유되는 시간 주기이다). 예를 들면 MPEG(Moving Picture Experts Group) 디코더는 그의 내부 버퍼링 요건으로 인하여 부가적인 대기 시간을 추가할 수 있다. 일부 실시예에서, 이 여분의 지연을 고려하기 위하여, 수신기는 타이밍된 패킷 요청에 대한 그것의 응답에 이 값을 포함한다.
송신기 및 수신기에서 타이밍된 패킷 요청의 처리 오버헤드는 상당히 가변적일 수 있다. 따라서 일부 실시예에서, 시스템 또는 처리는 알려진 제한된 지연을 가진 하드웨어 상태 머신으로서 타이밍된 패킷 응답기를 구현할 것이다. 유사한 방식으로, 송신기에서 패킷 입출(ingress and egress) 타임스탬프는 타임스탬프의 정확성을 개선하기 위해 하드웨어에 의해 생성될 수 있다. 타임스탬프 생성이 하드웨어에 의해 수행되지 않는 실시예에서, 클록들 간에 위상 오프셋을 결정할 시에 추가적인 오류 보상이 필요하다. 그러나 오류가 단지 (소리의 위상차에 대한 인간의 허용오차와 같은) 인간의 허용오차 내로 제한되도록 요구되는 실시예에서, 하드웨어 지원이 필요없을 수도 있다.
일부 실시예에서, 추가된 디코딩 대기 시간과 함께 각 수신기 클록들 간에 위상 차를 알면, 송신기는 데이터 스트림의 디스플레이 또는 다른 사용을 매칭시키기 위하여 그들 각 스트림을 디코딩하기 시작하도록 각 수신기에게 지시할 때를 상당히 정확하게 결정할 수 있다. 그러나 통상, 각 수신기는 네트워크 대기 시간을 흡수하기 위한 상이한 버퍼링 요건을 가질 것이다. 일부 실시예에서, 송신기는 수신기의 최대 디코더 대기 시간을 고려하기 위하여 수신기에 대한 장래 디코드 시간을 설정할 것이다.
도 3은 일부 실시예에서 동기화를 위해 수신 장치에 의해 제공되는 데이터를 도시한다. 일부 실시예에서, 클록 타임스탬프 및 디코더 대기 시간와 함께, 각 수신기는 타이밍된 패킷 요청에 대한 그의 응답에 그의 버퍼 정보를 포함한다. 이것은 최소값 즉 낮은 워터마크(watermark), 디코딩을 시작할 수 있기 전에 버퍼링해야 하는 스트림 데이터의 최소량, 및 최대값 즉 높은 워터마크, 버퍼링될 수 있는 스트림 데이터의 최대량을 포함한다.
예를 들면 도 3은 로컬 클록(120)을 가진 수신기(115)를 다시 도시한다. 일부 실시예에서, 수신기(115)는 송신기에 의해 제공되는 바와 같이 송신 타임스탬프 Ts0(130)를 포함하는 패킷(125)을 수신하고 있다. 패킷(125)이 수신기(115)에 도달함에 따라, 수신기 클록(120)에 따라 새로온 타임스탬프 Tr1(135)가 패킷(125)에 삽입된다. 일부 실시예에서, 수신기(115)는 수신기(115)의 (디코더가 결과 데이터를 전달하기 전에 데이터 패킷을 보유할 시간 주기를 나타내는) 대기 시간 값(350)을 디코더(375)에 제공한다. 일부 실시예에서, 수신기(115)는 수신기(115)의 버퍼(380)를 기술하기 위하여 버퍼 정보(360)를 더 제공한다. 제공되는 발명은 높은 워터마크(365)(버퍼링될 수 있는 스트림 데이터의 최대량), 및 낮은 워터마크(디코딩을 시작할 수 있기 전에 버퍼링되어야 하는 스트림 데이터의 최소량)를 포함할 수 있다. 그러면, 패킷(125)은 송신기(105)로 다시 전송되고, 패킷(125)이 출발함에 따라 수신기의 로컬 클록(120)에 따라 다른 타임스탬프 Tr2(140)가 삽입된다.
일부 실시예에서 모든 수신기를 동기화하기 위하여, 송신기는 수신기에 대한 초기 디코드 시간을 설정한다. 일부 실시예에서, 디코드 시간은 현재 시간, 모든 수신기에 대해 충분한 네트워크 대기 시간, 처리를 개시하기에 충분한 레벨들까지 모든 수신기의 버퍼를 채우는데 필요한 시간, 및 디코더 대기 시간을 제공하기에 충분한 레벨들까지 모든 수신기의 버퍼를 채우는 시간을 기반으로 한다. 일부 실시예에서, 디코드 시간은 현재 시간에, (예상 네트워크 대기 시간을 고려하기 위하여) 모든 수신기에 걸쳐 최대 왕복 지연의 절반을 더하고, 모든 수신기의 최대 낮은 워터마크까지 버퍼를 채우는데 걸리는 시간을 더하고, 모든 수신기의 최대 디코더 대기 시간까지 버퍼를 채우는데 걸리는 시간을 더하여 결정된다.
Figure 112010019818114-pct00004
시간 TDECODE는 송신기 클록에 관한 수학식 4에서 결정된다. 이 값은 수학식 3에 따라 각 수신기 클록에 대해 동등 값으로 변환될 것이다.
수신기에서 버퍼 지원을 허용한다면, 오류 범위 감소를 돕기 위하여 추가적인 초기 대기 시간을 추가할 수 있다. 실시예에서, 시작 시간이 높은 워터마크를 초과하는 버퍼 요건에 대응한다면, 스트림이 중지되거나, 또는 감소된 동기화 성능을 희생하여 요건이 완화될 수 있다.
일부 실시예에서, 송신기는 각 수신기 클록에 따라 시작 시간을 결정하고, 여기서 시작 시간은 수학식 4로부터 얻은 TDECODE 값에 정해진 수신기에 대한 적절한 오프셋을 더한 것이다:
Figure 112010019818114-pct00005
송신기는 (수신기의 클록에 따라) 각 수신기의 시작 시간, 제1 패킷의 시퀀스 번호 및 패킷 레이트에 이어 스트림 데이터를 송신함으로써 데이터 스트림을 개시한다. 이 처리에서, 송신기는 스트림 개시 정보가 적절한 디코딩 및 동기화를 보장하도록 수신기로 안전하게 전달되도록 보장할 수 있다.
일부 실시예에서, 데이터 스트림을 수신중인 각 수신기는 수신기의 클록에 따라 시작 시간에 도달할 때까지 입력 스트림을 버퍼링하고, 이 때, 수신기는 그의 버퍼 배출과, 디코더로의 스트림 데이터 전달을 시작한다. 그 후, 수신기 거동은 전술한 바와 같이 진행된다. 소정 스트림 데이터 패킷이 스트림의 시작으로부터 손실된다면, 수신기는 스트림 패킷 레이트와 제1 사용가능 시퀀스 번호를 기반으로 스트림을 디코딩하기 시작하기 전에 얼마나 지연될 지를 결정할 수 있다.
도 4는 관련된 데이터 스트림을 동기화하기 위하여 송신기에 대한 처리의 실시예를 도시하는 흐름도를 제공한다. 이 도시에서, 데이터 스트림을 위해 요청을 수신할 수 있다. 관련된 데이터 스트림에 대한 다수 데이터 수신기가 없다면(404), 일부 실시예에서 송신기는 동기화없이 데이터 스트림을 개시할 수 있다(430). 다수 데이터 수신기가 있다면(404), 데이터 디코딩을 동기화하기 위한 처리가 뒤따른다. 이 처리에서, 수신기로의 송신을 위해 동기화 패킷을 준비한다(406). 데이터 패킷에 제1 타임스탬프를 삽입하고(408), 데이터 패킷을 수신기로 송신한다. 그 후, 송신기는 수신 장치로부터 반환된 패킷을 수신하면서(412), 패킷을 수신함에 따라 제2 타임스탬프를 제공한다(414). 데이터 패킷은 패킷의 도착 및 송신을 위해 수신 장치로부터 타임스탬프를 더 포함하고, 디코더 대기 시간 정보 및 버퍼 정보를 더 포함할 수 있다. 이러한 데이터를 사용하여, 송신기는 수신기에 대한 왕복 지연이 송신기에서 데이터 패킷의 송신과 도착 사이의 시간 차에서, 수신기에서 데이터 패킷의 도착과 송신 사이의 차를 뺀 것과 동일한지를 결정할 수 있다(416). 결정된 지연이 임계치 내가 아니라면(418), 이것은 가변 네트워크 지터가 추가적인 지연을 일으키는 중이라는 것을 나타낼 수 있고, 지연 결정을 반복한다. 지연이 임계치 내라면(418), 타임스탬프 값을 기반으로 위상 오프셋을 결정할 수 있다(420). 처리할 더 많은 수신기가 있다면(422), 동기화 처리를 반복할 수 있다(406). 그렇지 않다면, 각 수신기에 의한 디코딩에 대한 시작 시간을 결정한다. 실시예에서, 현재 시간에, 수신 장치를 위한 최대 왕복 지연의 절반을 더하고, 수신 장치를 위한 최저 워터마크에 대한 시간을 더하고, 수신 장치에 대한 최대 디코더 대기 시간에 대한 시간을 더하여 디코드 시간을 결정할 수 있다(424). 그 후, 수신 장치에 대한 오프셋 φ만큼 디코드 시간을 조정함에 따라 특정 수신 장치에 대한 시작 시간을 결정한다(425). 임의 수신 장치에 대한 시작 시간이 수신 장치에 대한 높은 워터마크에 대한 시간보다 크다면(이로써 버퍼의 오버플로우를 일으킨다면), 예를 들어 특정 수신 장치로의 스트림을 중지시키거나, 또는 동기화 요건을 감소시키는 것과 같은 이슈를 다루기 위한 조치를 할 수 있다(428). 수신 장치가 사용가능한 시작 시간을 가지거나, 또는 동기화를 이와 달리 다룰 수 있다면, 각 수신 장치에 대한 데이터 스트림을 개시할 수 있다(430).
도 5는 수신기가 관련 데이터 스트림을 동기화하는 처리의 실시예를 도시하는 흐름도를 제공한다. 이 도시에서, 수신기에서 데이터 스트림의 수신에 대한 요청이 있을 수 있다(502). 관련 데이터 스트림에 대한 다수 데이터 수신기가 없다면(504), 일부 실시예에서 수신 데이터의 버퍼링(506), 그리고 최소량의 데이터가 버퍼링되었을 때에 디코더로의 데이터 전달(508)을 포함하여, 동기화없이 데이터 스트림을 개시할 수 있다. 관련 데이터 스트림에 대한 다수 데이터 수신기가 있다면(504), 데이터 수신기는 송신기로부터 동기화 패킷을 수신할 것이다(510). 수신기는 수신시에 패킷에 제1 타임스탬프를 삽입할 것이다(512). 수신기는 송신기로의 반환을 위해 패킷을 준비할 것이며(514), 수신기의 디코더의 대기 시간에 관한 정보(516) 및, 수신기의 버퍼에 관한 정보(518)를 패킷으로 삽입할 수 있다. 패킷이 송신기로 다시 송신됨에 따라(522), 수신기는 제2 타임스탬프를 삽입할 것이다(520).
그 후, 수신기는 데이터를 디코더로 전달하기 시작할 시작 시간을 포함하여, 데이터 스트림의 개시를 위한 인스트럭션을 수신할 것이다(524). 데이터 스트림의 개시시에(526), 수신기는 수신된 데이터를 버퍼링하기 시작할 것이다(528). 버퍼링(528)은 수신기에 대한 시작 시간에 도달할 때까지 계속될 것이며(530), 이때 수신기는 버퍼로부터 데이터를 배출하기 시작하고(532), 그리고 이러한 데이터를 디코더로 전달하기 시작할 것이다(534).
도 6은 엔터테인먼트 네트워크의 실시예를 도시한다. 엔터테인먼트 네트워크의 요소는 다수 장치로 관련 데이터 스트림의 동기화시에 사용될 수 있다. 이 도시에서, 엔터테인먼트 네트워크 시스템(600)은 네트워크로의 임의 호환가능 미디어 장치의 연결을 제공한다. 이 연결은 엔터테인먼트 네트워크(605)로의 연결로서 도시된다. 일부 실시예에서, 장치는 중앙 네트워크 서버없는 네트워크로서 동작한다. 엔터테인먼트 네트워크를 통해, 미디어 데이터 스트림은 연결된 임의 장치들 간에 전송될 수 있다. 또한, 장치는 네트워크를 통해 원격으로 제어될 수 있다. 장치는 동축 케이블, 이더넷 케이블 및 펌웨어를 포함하는 임의의 알려진 커넥터 및 연결 프로토콜, 및 Wi-Fi, 블루투스 및 다른 무선 기술을 통한 무선 연결을 통해 네트워크로 연결될 수 있다.
일부 실시예에서, 장치는 임의 미디어 소스 또는 수신자를 포함할 수 있다. 도 6에서, 사무실(610)은 모뎀(622)을 통해 네트워크(605)로 인터넷 연결(620)을 제공할 수 있다. 인터넷으로부터 수신한 데이터는 (다운로드한 음악 파일과 같은) 구매한 오디오 파일, (영화, 텔레비젼 및 다른 것들과 같은) 비디오 파일, 그리고 컴퓨터 게임을 포함하지만 이에 제한되지 않는 임의 스트리밍 미디어 소스를 포함할 수 있다. 또한 사무실(610)은 다른 기능들 중에서 소정 미디어 스트림을 디스플레이하거나 또는 소정 컴퓨터 게임을 작동시킬 수 있는 모니터(626)를 사용하는 퍼스널 컴퓨터(624)로 연결될 수 있다.
또한 엔터테인먼트 네트워크는 예를 들어 텔레비젼(632)에 데이터를 제공하기 위한 셋탑 박스(630)를 포함할 수 있는 침실(612) 내의 장치와 연결될 수 있다. 더욱이, 침실(또는 임의 다른 공간)은 미디어 저장유닛(628)을 포함할 수 있다. 미디어 저장유닛(628)은 네트워크(605)로 연결된 임의 소스로부터 데이터를 수신할 수 있고, 네트워크(605)로 연결된 임의 데이터 수신자로 데이터를 제공할 수 있다. 미디어 저장유닛(628)은 네트워크에 대한 임의 유형의 미디어 스트림 데이터를 포함할 수 있다.
시스템은 예를 들어 케이블 또는 섬유 시스템(634)으로부터, 또는 위성 디스크 네트워크(636)로부터의 입력을 수신하는 거실(614)을 더 포함할 수 있다. 이러한 소스로부터의 미디어 입력은 네트워크(605) 및, 제2 텔레비젼(640)으로 연결된 셋탑 박스(638)로 제공될 수 있다. 또한 비디오 게임유닛(642)이 거실 텔레비젼(640)상에 디스플레이하기 위하여 네트워크(605)로 연결될 수 있다. 네트워크(605)로 연결된 제3 텔레비젼(644)을 포함한 주방과 같이 네트워크화 장치를 가진 임의 수의 다른 방이 있을 수 있다. 집 곳곳에 배치된 스피커를 포함할 수 있는 스테레오 오디오 시스템을 포함하지만 이에 제한되지 않는 다른 네트워크 장치가 또한 존재할 수 있다.
더욱이, 임의 수의 모바일 퍼스널 전자장치가 네트워크에 연결될 수 있다. 장치는 블루투스, Wi-Fi, 적외선 또는 다른 유사한 무선 통신 프로토콜을 포함하나 이에 제한되지 않는 무선 신호를 통해, 또는 케이블을 통해 연결될 수 있다. 이러한 각 프로토콜은 Wi-Fi 기지국과 같은 (도 6에 도시되지 않은) 네트워크에 대한 인터페이스를 요구할 수 있다. 이러한 모바일 퍼스널 전자장치는 디지털 카메라(646), 셀룰러 전화(648), 퍼스널 음악 장치(650), 또는 비디오 카메라(652)를 포함할 수 있다. 또한 자동차(654)에 포함된 모바일 시스템은 자동차가 (집 차고에 있을 때와 같이) 네트워크에 상당히 근접할 시에 네트워크(605)로 연결될 수 있다. 예를 들면 모바일 퍼스널 전자장치는 네트워크 범위내에 있을 시에 자동적으로 네트워크에 연결될 수 있다. 연결된 동안, 장치는 장치로의 가능한 자동 업데이트 또는 다운로드를 포함하여 네트워크를 통해 데이터를 얻거나, 또는 네트워크로 데이터를 제공하기 위하여 사용될 수 있다. 일 예에서, 사용자는 셋탑 박스(638)를 통해 거실 텔레비젼(640) 상의 디지털 카메라(646) 상에 저장된 사진을 액세스하는 것과 같이 네트워크를 통해 임의 모바일 전자장치에 포함된 데이터를 액세스할 수 있다. 일부 실시예에서, 도 6에 도시된 네트워크 장치는 제한된 네트워크 처리 및 버퍼링 능력을 가지고 설계된 저자원 장치이다.
도 7은 네트워크 장치의 실시예를 도시한다. 일부 실시예에서, 네트워크 장치(705)는 이더넷 MAC 주소와 같이 하나의 물리적 네트워크 인터페이스를 가진 엔티티이다. 도 7에 도시된 바와 같이, 네트워크 장치는 2개의 네트워크 인터페이스(710, 715)를 포함한다. 따라서 일부 실시예에서 네트워크 장치는 물리적 엔티티이다. 일부 실시예에서, 네트워크 장치는 하나 이상의 에이전트(agents)를 포함하고, 각 에이전트는 네트워크 장치에 상주하는 논리적 엔티티이다. 네트워크 장치 상에 다수 에이전트가 있을 수 있다. 예를 들면 도 7은 통신 관리자(720)를 통해 에이전트(730, 735, 740)에, 통신 관리자(725)를 통해 에이전트(745, 750)에 액세스를 제공하는 네트워크 인터페이스(710), 및 통신 관리자(728)를 통해 에이전트(755, 760)에 액세스를 제공하는 네트워크 인터페이스(715)를 가진 네트워크 장치(705)를 도시한다. 일부 실시예에서, 각 에이전트는 네트워크 장치 IP 주소와 관계없이 장치 리셋 동작을 통해 다른 에이전트와 구별하기 위해 전반적으로 고유한 식별자를 할당받는다. 이런 방식으로, 에이전트(755)에 대해 예정된 커맨드는 그 에이전트에 대한 고유 주소로 주소지정될 수 있고, 그 후에 메시지는 네트워크 인터페이스(715)를 통해 에이전트(755)로 보내질 것이다.
일부 실시예에서, 에이전트는 네트워크 장치 내에서 통신의 종단점으로서 기능하고, 특정 세트의 능력 및 관련된 거동을 제공한다. 에이전트는 미디어 소스, 미디어 싱크, 미디어 제어기 및 다른 요소를 포함할 수 있다. 일 예에서, 에이전트는 비디오 스트리밍 서비스를 제공할 수 있다. 이 예에서, 에이전트는 미디어 스트림을 질의 및 제어하기 위해 메시지에 응답하고, 지시될 때에, 에이전트는 자율적으로 미디어 스트림을 또 다른 에이전트로 전달할 수 있다. 일부 실시예에서, 에이전트는 언제라도 단지 하나의 능동 미디어 세션을 가지고, 따라서 비교적 단순한 동작을 제공한다. 에이전트가 메시지를 송신 및 수신하고, 이러한 메시지에 응답하여 내부 상태를 변경시키고, 그리고 부수적 효과로서 연속된 조치를 수행할 능력을 가질 수 있다는 점에서, 보여질 수 있는 에이전트는 능동 객체로서 동작하는 것으로 기술될 수 있다.
일부 실시예에서, 에이전트는 통신 관리자에 의해 엔터테인먼트 네트워크 상에서 통신할 수 있다. 일부 실시예에서, 도 7의 통신 관리자(720, 725, 730)와 같은 장치당 하나 이상의 통신 관리자가 있을 수 있다. 일부 실시예에서, 예를 들어 에이전트(730, 735, 740)가 통신 관리자(720)에 의해 관리되듯이, 다수 에이전트가 단일 통신 관리자에 의해 관리될 수 있다. 일부 실시예에서, 통신 관리자는 통신 관리자에 결속된 에이전트로/로부터 메시지를 라우팅할 책임이 있다. 처리는 동일 네트워크 장치에 로컬인 다른 에이전트로 메시지를 전달하고, 출력 연결부 상의 개별 에이전트로부터 원격 네트워크 장치 상의 에이전트로 메시지를 다중화하고, 그리고 방송 요청을 처리하는 것을 포함할 수 있다. 일부 실시예에서, 에이전트는 단지 하나의 통신 관리자에 결속될 수 있으며, 통신 관리자는 단지 하나의 네트워크 인터페이스에 결속될 수 있다.
일부 실시예에서, 디스플레이 관리자는 디스플레이 장치상의 자원을 관리하는 에이전트이다. 특히 디스플레이 관리자는 디스플레이 자원 및 스크린 기하구조에 대한 액세스를 승인할 책임이 있다. 일부 실시예에서, 각 디스플레이 장치는 비디오 출력, 그래픽 출력, 오디오 출력 및 사용자 입력과 같은 각각의 관련된 I/O 장치 세트에 대해 단지 하나의 디스플레이 관리자를 가진다. 일부 실시예에서, 에이전트는 디스플레이 장치에서 미디어 콘텐츠의 전달 및 디스플레이를 조정하고, 디스플레이 장치 자원에 대한 액세스를 승인하기 위하여 세션 관리자와 함께 작업한다. 일부 실시예에서, 디스플레이 관리자는 사용자 세션에 대한 시작점을 나타내고, 세션 관리자에 대한 제어를 위임한다.
일부 실시예에서, 세션 관리자는 능동 사용자에 대한 미디어 콘텐츠 세트를 조정하는 에이전트이다. 일부 실시예에서, 일단 선택되면, 세션 관리자는 대응하는 디스플레이 관리자와 함께 원격 온-스크린 디스플레이 세션을 개시하고, 네트워크에서 다른 장치를 관리하기 위하여 애플리케이션 프로그램을 실행하기 시작한다. 일부 실시예에서, 디스플레이 관리자는 세션 관리자로 입력 이벤트를 전달하고, 그의 디스플레이 자원에 대한 액세스 권리를 승인하는데, 세션 관리자는 이것을 다른 에이전트에 위임할 수 있고, 따라서 다른 에이전트가 콘텐츠를 디스플레이로 전달할 수 있게 한다. 일 예에서, 디스플레이 관리자는 셋탑 박스 내에서 실행하는 세션 관리자로 액세스 권리를 승인할 수 있다. 세션 관리자는 디스플레이로 원격 UI(user interface) 세션을 개시할 수 있고, 네트워크 장치의 사용자가 원격 비디오 저장장치로부터 재생될 비디오를 선택할 수 있게 한다. 일부 실시예에서, 세션 관리자는 비디오 서버에 액세스 권리를 넘길 수 있고, 비디어 서버에게 미디어 스트림을 디스플레이로 전달하도록 지시할 수 있다. 일부 실시예에서, 세션 관리자는 미디어 콘텐츠를 사용시에 사용자의 경험을 관리할 필요가 있는 상태를 유지한다.
도 8은 네트워크 장치의 구성소자의 실시예를 도시한다. 이 도시에서, 네트워크 장치(805)는 도 6에 도시된 장치를 포함하지만 이에 제한되지 않는 엔터테인먼트 네트워크 내의 임의 장치일 수 있다. 예를 들면 네트워크 장치는 텔레비젼, 셋탑 박스, 저장 유닛, 게임 콘솔 또는 다른 미디어 장치일 수 있다. 일부 실시예에서, 네트워크 장치(805)는 네트워크 기능을 제공하는 네트워크 유닛(810)을 포함한다. 네트워크 기능은 미디어 데이터 스트림의 생성, 전송, 저장 및 수신을 포함하지만 이에 제한되지 않는다. 네트워크 유닛(810)은 단일 SoC(system on a chip) 또는 다수 구성소자로서 구현될 수 있다.
일부 실시예에서, 네트워크 유닛(810)은 데이터 처리를 위한 프로세서를 포함한다. 데이터 처리는 미디어 데이터 스트림의 생성, 전송 또는 저장시에 미디어 데이터 스트림의 조작, 그리고 미디어 데이터 스트림의 사용을 위한 해독 및 디코딩을 포함할 수 있다. 또한 네트워크 장치는 DRAM(dynamic random access memory)(820) 또는 다른 유사한 메모리, 그리고 플래시 메모리(825) 또는 다른 불휘발성 메모리와 같은 네트워크 동작을 지원하기 위한 메모리를 포함할 수 있다.
또한 네트워크 장치(805)는 하나 이상의 네트워크 인터페이스(855)를 통해 네트워크 상의 데이터 전송 또는 네트워크로부터의 데이터 수신의 각각을 위해 송신기(830) 및/또는 수신기(840)를 포함할 수 있다. 송신기(830) 또는 수신기(840)는 예를 들면 이더넷 케이블(850)을 포함한 유선 전송 케이블에, 또는 무선 유닛에 연결될 수 있다. 송신기(830) 또는 수신기(840)는 데이터 전송 및 제어 신호를 위해 네트워크 유닛(810)에, 데이터 송신을 위한 라인(835), 데이터 수신을 위한 라인(845)과 같은 하나 이상의 라인과 함께 연결될 수 있다. 또한 추가적인 연결이 존재할 수 있다. 네트워크 장치(805)는 또한 여기에 도시되지 않은 장치의 미디어 동작을 위해 다수의 구성소자를 포함할 수 있다.
전술한 기술에서 설명을 위하여, 본 발명의 철저한 이해를 제공하기 위하여 다수의 특정 상세사항을 제시한다. 그러나 당업자는 본 발명이 소정 이들 특정 상세사항 중 일부 없이도 실행될 수 있다는 것을 알 것이다. 다른 경우, 잘 알려진 구조 및 장치가 블록도 형태로 도시된다. 도시된 구성소자들 간에 중간 구조가 있을 수 있다. 여기에 기술 또는 도시된 구성소자는 도시 또는 기술되지 않은 추가 입력 또는 출력을 가질 수 있다.
본 발명은 다양한 처리를 포함할 수 있다. 본 발명의 처리는 하드웨어 구성소자에 의해 수행될 수 있거나, 또는 인스트럭션에 의해 프로그래밍된 논리회로 또는 범용 또는 특수 목적의 프로세서가 처리를 수행하게 하는데 사용될 수 있는 머신-실행가능 인스트럭션으로 구현될 수 있다. 이 대신에, 처리는 하드웨어와 소프트웨어의 결합에 의해 수행될 수 있다.
본 발명의 일부는 본 발명에 따라 처리를 수행하기 위해 컴퓨터(또는 다른 전자장치)를 프로그램하는데 사용될 수 있는 컴퓨터 프로그램 인스트럭션이 저장된 컴퓨터-판독가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품으로서 제공될 수 있다. 머신-판독가능 매체는 플로피 디스켓, 광 디스크, CD-ROM(compact disk read-only memory) 그리고 광자기 디스크, ROM(read-only memory), RAM(random access memory), EPROM(erasable programmable ROM), EEPROM(electically-EPROM), 자기 또는 광 카드, 플래시 메모리, 또는 전자 인스트럭션을 저장하기에 적당한 다른 유형의 미디어/머신-판독가능 매체를 포함할 수 있지만, 이에 제한되지는 않는다. 또한 본 발명은 컴퓨터 프로그램 제품으로서 다운로드될 수 있고, 여기서 프로그램은 원격 컴퓨터로부터 요청 컴퓨터로 전송될 수 있다.
다수의 방법을 그들의 가장 기본적인 형태로 기술하였지만, 처리는 임의 방법에 추가되거나 또는 삭제될 수 있으며, 정보는 본 발명의 기본 범주를 벗어나지 않고 기술된 임의 메시지로 추가 또는 제거될 수 있다. 당업자는 많은 다른 변경 및 적응화를 행할 수 있다는 것을 명백히 알 것이다. 특정 실시예는 본 발명을 제한하는 것이 아니라 이를 설명하기 위하여 제공된다. 본 발명의 범주는 앞에서 제공된 특정 예에 의해 결정되지 않고 후술되는 청구범위에 의해서만 결정된다.
요소 "A"는 요소 "B"에 연결 또는 이와 함께 연결된다면, 요소 A는 요소 B에 직접 연결될 수 있거나, 또는 예를 들면 요소 C를 통해 간접적으로 연결될 수 있다. 명세서 또는 청구범위에서 구성요소, 특징, 구조, 처리 또는 특성 A가 구성소자, 특징, 구조, 처리 또는 특성 B를 "일으킨다고(cause)" 진술할 때, 이것은 "A"가 적어도 "B"의 부분 원인이지만 "B"를 일으키도록 돕는 적어도 하나의 다른 구성소자, 특징, 구조, 처리, 또는 특성일 수 있다는 것을 의미한다. 명세서가 구성소자, 특징, 구조, 처리 또는 특성이 포함될 수도("may", "might", "could") 있다는 것을 나타낸다면, 특정 구성소자, 특징, 구조, 처리 또는 특성이 포함되도록 요구되지는 않는다. 명세서 또는 청구범위가 하나의 ("a", "an") 요소를 언급한다면, 이것은 단지 하나의 기술 요소가 있다는 것을 의미하지는 않는다.
실시예는 본 발명의 구현 또는 예이다. 명세서에서 "실시예", "일 실시예", "일부 실시예" 또는 "다른 실시예"에 대한 언급은 실시예와 관련하여 기술된 특정 특징, 구조 또는 특성이 적어도 일부 실시예에 포함되지만 모든 실시예에 포함될 필요는 없다는 것을 의미한다. "실시예", "일 실시예" 또는 "일부 실시예"의 다양한 등장이 동일 실시예를 모두 참조할 필요는 없다. 본 발명의 예시적인 실시예의 전술한 설명에서, 본 발명의 다양한 특징은 종종, 개시물을 간소화하고 하나 이상의 다양한 발명 양상의 이해를 돕기 위하여 단일 실시예, 도면 또는 그 설명에서 함께 그룹화되는 것을 이해해야 한다. 그러나 개시물의 이 방법은 청구된 발명이 각 청구범위에서 명확히 나열되는 것보다 많은 특징을 요구한다는 의도를 반영한 것으로 해석되어서는 안된다. 오히려, 후속된 청구범위는 발명 양상이 앞에서 개시된 단일 실시예의 모든 특징보다 적게 존재한다는 것을 반영한다. 따라서 청구범위는 이로써 본 설명에 명확히 포함되고, 각 청구범위는 본 발명의 개별 실시예로서 그 자신을 주장한다.

Claims (25)

  1. 데이터 스트림 동기화를 위한 장치(apparatus)로서,
    데이터 스트림(data stream)을 제2 장치로 송신하도록 구성되며, 데이터 패킷을 상기 제2 장치로 송신하도록 구성된 송신기,
    클록 - 상기 장치는 송신시에 상기 클록을 사용하여 상기 데이터 패킷에 대한 제1 타임스탬프(timestamp)를 제공하도록 구성됨 - ,
    상기 제2 장치로부터 응답을 수신하기 위한 수신기 - 상기 장치는 상기 제2 장치로부터 반환된 데이터 패킷을 수신시에 제2 타임스탬프를 제공하도록 구성되며, 상기 반환된 패킷은 상기 제2 장치에 의한 상기 데이터 패킷의 수신에 대한 제3 타임스탬프 및 상기 제2 장치에 의한 상기 반환된 데이터 패킷의 송신에 대한 제4 타임스탬프를 포함함 - , 및
    상기 장치의 동작을 지시하기 위한 네트워크 유닛 - 상기 네트워크 유닛은 상기 제1, 제2, 제3 및 제4 타임스탬프들을 기반으로 하여 왕복 시간을 결정하고, 상기 왕복 시간을 적어도 부분적으로 기반으로 하여 상기 제2 장치에 의한 상기 데이터 스트림의 디코딩에 대한 시작 시간을 결정함 -
    을 포함하는 데이터 스트림 동기화를 위한 장치.
  2. 제1항에 있어서,
    상기 데이터 스트림은 상기 송신기에 의해 송신될 다수의 관련 데이터 스트림 중의 하나인 데이터 스트림 동기화를 위한 장치.
  3. 제2항에 있어서,
    상기 장치는 상기 다수의 관련 데이터 스트림을 동기화하는 데이터 스트림 동기화를 위한 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 시작 시간의 결정은 상기 장치와 상기 제2 장치 사이의 오프셋(offset)의 결정을 포함하는 데이터 스트림 동기화를 위한 장치.
  6. 데이터 스트림 동기화를 위한 장치로서,
    데이터 스트림을 제2 장치로 송신하도록 구성되며, 데이터 패킷을 상기 제2 장치로 송신하도록 구성된 송신기,
    클록 - 상기 장치는 송신시에 상기 클록을 사용하여 상기 데이터 패킷에 대한 제1 타임스탬프를 제공하도록 구성됨 - ,
    상기 제2 장치로부터 응답을 수신하기 위한 수신기 - 상기 장치는 상기 제2 장치로부터 반환된 데이터 패킷을 수신시에 제2 타임스탬프를 제공하도록 구성되며, 상기 반환된 패킷은 상기 제2 장치에 의한 상기 데이터 패킷의 수신 및 송신에 대한 제3 및 제4 타임스탬프들을 포함하고, 상기 반환된 데이터 패킷은 상기 제2 장치의 버퍼에 관한 정보를 더 포함함 - , 및
    상기 장치의 동작을 지시하기 위한 네트워크 유닛 - 상기 네트워크 유닛은 상기 제2 장치의 상기 버퍼에 관한 정보 및 상기 제1, 제2, 제3 및 제4 타임스탬프들을 적어도 부분적으로 기반으로 하여 상기 제2 장치에 의한 상기 데이터 스트림의 디코딩에 대한 시작 시간을 결정함 -
    을 포함하는 데이터 스트림 동기화를 위한 장치.
  7. 제6항에 있어서,
    상기 반환된 데이터 패킷은 상기 제2 장치의 디코더에 관한 정보를 더 포함하는 데이터 스트림 동기화를 위한 장치.
  8. 제7항에 있어서,
    상기 시작 시간의 결정은 상기 디코더 정보를 기반으로 하여 상기 시작 시간을 결정하는 것을 더 포함하는 데이터 스트림 동기화를 위한 장치.
  9. 제1항에 있어서,
    상기 데이터 스트림은 미디어 데이터 스트림을 포함하는 데이터 스트림 동기화를 위한 장치.
  10. 데이터 스트림 동기화를 위한 장치로서,
    제2 장치로부터 데이터 스트림을 수신하는 수신기,
    클록 - 상기 장치는 상기 제2 장치로부터 동기화 패킷을 수신시에 상기 클록을 사용하여 제1 타임스탬프를 제공하도록 구성됨 - ,
    반환된 동기화 패킷을 상기 제2 장치로 송신하도록 구성된 송신기 - 상기 장치는 송신시에 상기 반환된 동기화 패킷에 대한 제2 타임스탬프를 제공하도록 구성되고, 상기 장치는 버퍼에 관한 정보를 상기 제2 장치로 제공하도록 더 구성되며, 상기 버퍼에 관한 정보는 상기 버퍼에 대한 최소 데이터 레벨, 최대 데이터 레벨, 또는 최소 데이터 레벨과 최대 데이터 레벨의 모두를 포함함 - ,
    상기 데이터 스트림의 데이터를 보유(hold)하는 버퍼 - 상기 장치는 상기 데이터 스트림에 대한 시작 시간에 도달할 때에 상기 버퍼를 배출(drain)하기 시작하도록 구성되며, 상기 시작 시간은 상기 제2 장치로부터 수신됨 - , 및
    상기 데이터 스트림을 디코딩하는 디코더
    를 포함하는 데이터 스트림 동기화를 위한 장치.
  11. 삭제
  12. 삭제
  13. 데이터 스트림 동기화를 위한 장치로서,
    제2 장치로부터 데이터 스트림을 수신하는 수신기,
    클록 - 상기 장치는 상기 제2 장치로부터 동기화 패킷을 수신시에 상기 클록을 사용하여 제1 타임스탬프를 제공하도록 구성됨 - ,
    반환된 동기화 패킷을 상기 제2 장치로 송신하도록 구성된 송신기 - 상기 장치는 송신시에 상기 반환된 동기화 패킷에 대한 제2 타임스탬프를 제공하도록 구성되고, 상기 장치는 디코더에 대한 대기 시간(latency time)을 상기 제2 장치로 제공하도록 더 구성됨 - ,
    상기 데이터 스트림의 데이터를 보유하는 버퍼 - 상기 장치는 상기 데이터 스트림에 대한 시작 시간에 도달할 때에 상기 버퍼를 배출하기 시작하도록 구성되며, 상기 시작 시간은 상기 제2 장치로부터 수신됨 - , 및
    상기 데이터 스트림을 디코딩하는 디코더
    를 포함하는 데이터 스트림 동기화를 위한 장치.
  14. 삭제
  15. 데이터 스트림 동기화를 위한 장치로서,
    제2 장치로부터 데이터 스트림을 수신하는 수신기,
    클록 - 상기 장치는 상기 제2 장치로부터 동기화 패킷을 수신시에 상기 클록을 사용하여 제1 타임스탬프를 제공하도록 구성됨 - ,
    반환된 동기화 패킷을 상기 제2 장치로 송신하도록 구성된 송신기 - 상기 장치는 송신시에 상기 반환된 동기화 패킷에 대한 제2 타임스탬프를 제공하도록 구성됨 - ,
    상기 데이터 스트림의 데이터를 보유하는 버퍼 - 상기 장치는 상기 데이터 스트림에 대한 시작 시간에 도달할 때에 상기 버퍼를 배출하기 시작하도록 구성되며, 상기 시작 시간은 상기 제2 장치로부터 수신됨 - , 및
    상기 데이터 스트림을 디코딩하는 디코더 - 상기 데이터 스트림은 동기화될 다수의 관련 데이터 스트림 중 하나임 -
    를 포함하고,
    상기 장치는 동기화에 관한 다른 관련 데이터 스트림을 수신하는 디바이스들과 통신하지 않는 데이터 스트림 동기화를 위한 장치.
  16. 제10항에 있어서,
    상기 장치는 상기 버퍼의 레벨을 기반으로 상기 클록의 레이트를 변경하는 데이터 스트림 동기화를 위한 장치.
  17. 관련 데이터 스트림들을 동기화하기 위한 방법으로서,
    제1 수신 장치에 송신하기 위한 패킷을 준비하는 단계 - 상기 제1 수신 장치는 상기 관련 데이터 스트림의 적어도 제1 데이터 스트림을 수신함 - ,
    상기 패킷을 상기 제1 수신 장치에 송신시에 제1 타임스탬프를 제공하는 단계,
    반환된 패킷을 수신시에 제2 타임스탬프를 제공하는 단계 - 상기 반환된 패킷은 상기 제1 수신 장치에 의한 상기 패킷의 수신에 대한 제3 타임스탬프, 상기 제1 수신 장치에 의한 상기 반환된 패킷의 송신에 대한 제4 타임스탬프를 포함함 - ,
    상기 제1, 제2, 제3 및 제4 타임스탬프들을 기반으로 하여 왕복 시간을 결정하는 단계, 및
    상기 왕복 시간을 적어도 일부분 기반으로 하여 상기 제1 수신 장치에 대한 제1 시작 시간을 결정하는 단계
    를 포함하는 방법.
  18. 제17항에 있어서,
    제2 수신 장치에 대한 제2 시작 시간을 결정하는 단계를 더 포함하고, 상기 제2 수신 장치는 다수의 관련 데이터 스트림의 제2 데이터 스트림을 수신하는 방법.
  19. 제18항에 있어서,
    상기 제1 시작 시간과 상기 제2 시작 시간은 상기 제1 데이터 스트림과 상기 제2 데이터 스트림의 동기화를 제공하는 방법.
  20. 삭제
  21. 관련 데이터 스트림들을 동기화하기 위한 방법으로서,
    제1 수신 장치에 송신하기 위한 패킷을 준비하는 단계 - 상기 제1 수신 장치는 상기 관련 데이터 스트림의 적어도 제1 데이터 스트림을 수신함 - ,
    상기 패킷을 상기 제1 수신 장치에 송신시에 제1 타임스탬프를 제공하는 단계,
    반환된 패킷을 수신시에 제2 타임스탬프를 제공하는 단계 - 상기 반환된 패킷은 상기 제1 수신 장치에 의한 상기 패킷의 수신에 대한 제3 타임스탬프, 상기 제1 수신 장치에 의한 상기 반환된 패킷의 송신에 대한 제4 타임스탬프를 포함함 - ,
    상기 제1 수신 장치로부터 버퍼 정보 및 디코더 정보를 수신하는 단계,
    상기 관련 데이터 스트림들을 수신하는 모든 수신 장치에 대한 디코드 시간을 결정하는 단계 - 상기 디코드 시간은 상기 버퍼 정보, 상기 디코더 정보 및 상기 제1, 제2, 제3 및 제4 타임스탬프들을 기반으로 하여 결정됨 - , 및
    상기 디코드 시간 및 상기 제1 수신 장치에 대한 클록 시간과 송신기 클록 시간 사이의 오프셋을 적어도 부분적으로 기반으로 하여 상기 제1 수신 장치에 대한 제1 시작 시간을 결정하는 단계
    를 포함하는 방법.
  22. 제21항에 있어서,
    상기 디코드 시간은 현재 시간, 모든 수신 장치에 충분한 네트워크 대기 시간, 처리를 개시하는데 충분한 레벨들까지 모든 수신기들의 버퍼들을 채우는데 필요한 시간, 디코더 대기 시간을 제공하기에 충분한 레벨들까지 모든 수신기들의 버퍼들을 채우는 시간을 기반으로 하는 방법.
  23. 제17항에 있어서,
    다수의 데이터 스트림은 다수의 미디어 데이터 스트림을 포함하는 방법.
  24. 제23항에 있어서,
    상기 제1 데이터 스트림과 제2 데이터 스트림은 오디오 또는 비디오 데이터 스트림의 사본(copies)인 방법.
  25. 제23항에 있어서,
    상기 제1 데이터 스트림은 비디오 데이터 스트림이고, 제2 데이터 스트림은 상기 비디오 데이터 스트림과 관련된 오디오 데이터 스트림인 방법.
KR1020107006833A 2007-08-30 2008-07-08 상호연결 네트워크에서의 관련 데이터 스트림 동기화 KR101548619B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/848,153 2007-08-30
US11/848,153 US7936790B2 (en) 2007-08-30 2007-08-30 Synchronizing related data streams in interconnection networks

Publications (2)

Publication Number Publication Date
KR20100063749A KR20100063749A (ko) 2010-06-11
KR101548619B1 true KR101548619B1 (ko) 2015-08-31

Family

ID=39689210

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107006833A KR101548619B1 (ko) 2007-08-30 2008-07-08 상호연결 네트워크에서의 관련 데이터 스트림 동기화

Country Status (7)

Country Link
US (1) US7936790B2 (ko)
EP (1) EP2186230B1 (ko)
JP (1) JP5624468B2 (ko)
KR (1) KR101548619B1 (ko)
CN (1) CN101809906B (ko)
TW (1) TWI371194B (ko)
WO (1) WO2009029339A1 (ko)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332898B2 (en) * 2007-08-09 2012-12-11 Echostar Technologies L.L.C. Apparatus, systems and methods to synchronize communication of content to a presentation device and a mobile device
US7990909B2 (en) * 2007-11-02 2011-08-02 Ciena Corporation Synchronization of network nodes
EP2073548A1 (en) * 2007-12-17 2009-06-24 Alcatel Lucent Method for synchronizing at least two streams
US8194756B2 (en) * 2008-05-28 2012-06-05 Broadcom Corporation Using program clock references to assist in transport of video stream to wireless device
US8630316B2 (en) 2008-06-19 2014-01-14 Microsoft Corporation Clock synchronization using correlation events
US8639830B2 (en) * 2008-07-22 2014-01-28 Control4 Corporation System and method for streaming audio
JP5083097B2 (ja) * 2008-07-30 2012-11-28 日本電気株式会社 ジッターバッファ制御方法と通信装置
US8141115B2 (en) * 2008-12-17 2012-03-20 At&T Labs, Inc. Systems and methods for multiple media coordination
WO2010104020A1 (ja) * 2009-03-10 2010-09-16 日本電気株式会社 遅延量割り当て手段、遅延量割り当て方法及び遅延量割り当て手段の制御プログラムを記録したコンピュータ読み取り可能な記録媒体
US20120036277A1 (en) * 2009-03-16 2012-02-09 Nederlandse Organisatie Voor Toegepast-Natuurwetenschappelijk Onderzoek Tno Modified Stream Synchronization
US8732749B2 (en) 2009-04-16 2014-05-20 Guest Tek Interactive Entertainment Ltd. Virtual desktop services
KR101629312B1 (ko) * 2009-06-09 2016-06-21 엘지전자 주식회사 메시지 교환 방법 및 싱크 디바이스
US8780778B2 (en) * 2009-07-21 2014-07-15 Lemi Technology, Llc System and method for providing synchronized broadcast and simulcast of media content
US8526985B2 (en) * 2009-11-30 2013-09-03 Alcatel Lucent System and method of geo-concentrated video detection
TW201123793A (en) * 2009-12-31 2011-07-01 Ralink Technology Corp Communication apparatus and interfacing method for I/O control interface
US9229734B2 (en) 2010-01-15 2016-01-05 Guest Tek Interactive Entertainment Ltd. Hospitality media system employing virtual user interfaces
CN102202386B (zh) * 2010-03-24 2014-05-07 华为技术有限公司 一种时钟同步的方法、装置和系统
CA2714224C (en) 2010-06-18 2011-10-25 Guest Tek Interactive Entertainment Ltd. Controller for providing user-tailored entertainment experience at entertainment device and method thereof
US9003455B2 (en) 2010-07-30 2015-04-07 Guest Tek Interactive Entertainment Ltd. Hospitality media system employing virtual set top boxes
EP2625624B1 (en) * 2010-10-08 2017-11-29 Lumi Technologies Limited Distribution of content and behavior to disparate platforms
EP2628305B1 (en) 2010-10-15 2015-03-18 Cinemo GmbH Distributed playback architecture for media data using beacon packets for synchronisation
CN101986590A (zh) * 2010-11-03 2011-03-16 烟台持久钟表集团有限公司 子钟同步时间精确性检测装置及检测方法
US9860490B2 (en) 2010-11-05 2018-01-02 Tom Galvin Network video recorder system
US10157526B2 (en) 2010-11-05 2018-12-18 Razberi Technologies, Inc. System and method for a security system
US10477158B2 (en) 2010-11-05 2019-11-12 Razberi Technologies, Inc. System and method for a security system
US11082665B2 (en) 2010-11-05 2021-08-03 Razberi Secure Technologies, Llc System and method for a security system
US8922658B2 (en) * 2010-11-05 2014-12-30 Tom Galvin Network video recorder system
CN102547798B (zh) * 2010-12-22 2014-08-06 中国移动通信集团浙江有限公司 一种提高无线网络响应速度的方法和系统
US8867984B2 (en) * 2011-01-19 2014-10-21 Alcatel Lucent Interference coordination for communication network
EP2533547A1 (en) * 2011-06-10 2012-12-12 Koninklijke KPN N.V. Method and system for providing a synchronised user experience from multiple modules
CN103999455B (zh) * 2011-12-16 2018-02-06 英特尔公司 协作交叉平台视频捕捉
US9697159B2 (en) * 2011-12-27 2017-07-04 Intel Corporation Multi-protocol I/O interconnect time synchronization
US8751757B1 (en) * 2011-12-30 2014-06-10 Emc Corporation Acquisition and kernel memory storage of I/O metrics
US9137281B2 (en) 2012-06-22 2015-09-15 Guest Tek Interactive Entertainment Ltd. Dynamically enabling guest device supporting network-based media sharing protocol to share media content over local area computer network of lodging establishment with subset of in-room media devices connected thereto
US9787523B2 (en) * 2012-07-05 2017-10-10 Eric Lazarus Managing data in a data queue including synchronization of media on multiple devices
US9318043B2 (en) 2012-07-09 2016-04-19 Mobbers, Inc. Systems and methods for coordinating portable display devices
JP6354197B2 (ja) * 2013-03-15 2018-07-11 株式会社リコー 配信制御システム、配信制御方法、及びプログラム
US20140301375A1 (en) * 2013-04-05 2014-10-09 Ashraf Nusairat Timing advance method for synchronized wifi network
US9131509B2 (en) * 2013-04-05 2015-09-08 Cambium Networks Limited Mechanism for group polling without precise timing
US10755003B2 (en) * 2013-11-08 2020-08-25 Rockwell Automation Technologies, Inc. Time synchronization of signal transmission intervals for simulating a machine in industrial automation
JP2015159381A (ja) * 2014-02-21 2015-09-03 ソニー株式会社 情報処理装置、データ生成装置、情報処理方法、および情報処理システム
CA2844724A1 (en) 2014-03-04 2015-09-04 Guest Tek Interactive Entertainment Ltd. Leveraging push notification capabilities of mobile app to send event-triggered invitations to upgrade service offered by hospitality establishment
US20160072601A1 (en) * 2014-09-10 2016-03-10 Silicon Image, Inc. Enhanced Communication Link Using Synchronization Signal as Link Command
CN105898541B (zh) * 2014-11-12 2019-11-26 恩智浦美国有限公司 降低多媒体系统中等待时间的方法和装置
US11044386B1 (en) 2014-12-18 2021-06-22 The Directv Group, Inc. Method and system for synchronizing playback of independent audio and video streams through a network
US20170006331A1 (en) * 2015-06-30 2017-01-05 Stmicroelectronics International N.V. Synchronized rendering of split multimedia content on network clients
DE102015212218A1 (de) * 2015-06-30 2017-01-05 Robert Bosch Gmbh Dezentral synchronisiertes Multisensorsystem
US10454982B1 (en) * 2016-03-18 2019-10-22 Audio Fusion Systems, Inc. Monitor mixing system that distributes real-time multichannel audio over a wireless digital network
US20180124446A1 (en) 2016-04-06 2018-05-03 Charles R. Tudor Video Broadcasting Through Selected Video Hosts
US10129166B2 (en) * 2016-06-21 2018-11-13 Intel Corporation Low latency re-timer
CN106130859A (zh) * 2016-06-23 2016-11-16 北京东土科技股份有限公司 一种工业互联网现场层宽带总线配置管理实现方法
SE541208C2 (en) * 2016-07-04 2019-04-30 Znipe Esports AB Methods and nodes for synchronized streaming of a first and a second data stream
CN107801103B (zh) * 2016-08-29 2020-04-03 上海交通大学 异构网络下基于网络状况的多媒体资源自适应同步方法
KR101853441B1 (ko) * 2016-09-23 2018-05-02 재단법인 실감교류인체감응솔루션연구단 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법
RU2019114909A (ru) 2016-10-17 2020-11-17 Зомоджо Пти Лтд Способ и система присвоения точной временной метки
US10892833B2 (en) 2016-12-09 2021-01-12 Arris Enterprises Llc Calibration device, method and program for achieving synchronization between audio and video data when using Bluetooth audio devices
GB201703796D0 (en) * 2017-03-09 2017-04-26 Decawave Ltd Remote signal synchronization
WO2019164361A1 (ko) * 2018-02-23 2019-08-29 스타십벤딩머신 주식회사 스트리밍 장치 및 스트리밍 방법
AU2020251395A1 (en) 2019-04-01 2021-09-16 Zomojo Pty Ltd A method and apparatus for network time syncing
US11804921B2 (en) 2019-06-25 2023-10-31 Cisco Technology, Inc. Method and apparatus for high precision time stamping
US11546128B2 (en) 2020-06-16 2023-01-03 SK Hynix Inc. Device and computing system including the device
KR102519480B1 (ko) 2021-04-01 2023-04-10 에스케이하이닉스 주식회사 PCIe 장치 및 이를 포함하는 컴퓨팅 시스템
KR102518285B1 (ko) 2021-04-05 2023-04-06 에스케이하이닉스 주식회사 PCIe 인터페이스 및 인터페이스 시스템
KR102415309B1 (ko) * 2020-06-16 2022-07-01 에스케이하이닉스 주식회사 인터페이스 장치 및 그 동작 방법
US11317252B2 (en) 2020-07-30 2022-04-26 Motorola Solutions, Inc. Echo avoidance in large volume system-wide calls

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040228367A1 (en) 2002-09-06 2004-11-18 Rudiger Mosig Synchronous play-out of media data packets
JP2005079932A (ja) 2003-09-01 2005-03-24 Yokogawa Electric Corp 遅延揺らぎ測定方法及びこれを用いた装置
JP2006237918A (ja) * 2005-02-24 2006-09-07 Sony Corp 情報処理システム、再生端末装置および再生方法、情報処理装置および方法、並びにプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2748623B1 (fr) * 1996-05-09 1998-11-27 Thomson Multimedia Sa Encodeur a debit variable
US7444419B2 (en) * 2003-10-10 2008-10-28 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
JP4346557B2 (ja) * 2005-01-14 2009-10-21 シャープ株式会社 タイミングの検出装置、表示装置、タイミングの検出プログラム、タイミングの検出プログラムを記録したコンピュータ読取可能な記録媒体
JP2006244060A (ja) * 2005-03-02 2006-09-14 Mitsubishi Electric Corp コンテンツ配信装置、コンテンツ提示用端末及びリクエスト用端末並びにコンテンツ同期配信プログラム
KR100837720B1 (ko) 2005-05-26 2008-06-13 한국전자통신연구원 디지털 멀티미디어 방송에서 비디오 서비스와 동기화된 데이터 서비스를 제공하는 방법 및 그 장치와 데이터 서비스의 실행 방법
JP4706908B2 (ja) * 2005-06-30 2011-06-22 ソニー株式会社 同時再生システム、情報処理装置、途中参加方法及び途中参加プログラム
JP2009512281A (ja) * 2005-10-06 2009-03-19 アビオム、インク. パケットベースのシステムにおけるジッター管理および待ち時間補正のための方法およびシステム
US8700791B2 (en) * 2005-10-19 2014-04-15 Immersion Corporation Synchronization of haptic effect data in a media transport stream
KR100801002B1 (ko) * 2006-06-05 2008-02-11 삼성전자주식회사 무선 네트워크 상에서 멀티미디어 데이터를 전송/재생하는방법, 및 그 방법을 이용한 무선 기기
US7962637B2 (en) * 2006-11-03 2011-06-14 Apple Computer, Inc. Dynamic adjustments of video streams
US7827479B2 (en) * 2007-01-03 2010-11-02 Kali Damon K I System and methods for synchronized media playback between electronic devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040228367A1 (en) 2002-09-06 2004-11-18 Rudiger Mosig Synchronous play-out of media data packets
JP2005079932A (ja) 2003-09-01 2005-03-24 Yokogawa Electric Corp 遅延揺らぎ測定方法及びこれを用いた装置
JP2006237918A (ja) * 2005-02-24 2006-09-07 Sony Corp 情報処理システム、再生端末装置および再生方法、情報処理装置および方法、並びにプログラム

Also Published As

Publication number Publication date
JP5624468B2 (ja) 2014-11-12
US20090059962A1 (en) 2009-03-05
WO2009029339A1 (en) 2009-03-05
EP2186230A1 (en) 2010-05-19
TWI371194B (en) 2012-08-21
CN101809906B (zh) 2014-02-19
TW200910844A (en) 2009-03-01
EP2186230B1 (en) 2014-09-03
JP2010538539A (ja) 2010-12-09
US7936790B2 (en) 2011-05-03
KR20100063749A (ko) 2010-06-11
CN101809906A (zh) 2010-08-18

Similar Documents

Publication Publication Date Title
KR101548619B1 (ko) 상호연결 네트워크에서의 관련 데이터 스트림 동기화
CN109889543B (zh) 视频传输的方法、根节点、子节点、p2p服务器和系统
EP2328349B1 (en) Information processing system and information processing device
US9973345B2 (en) Calculating and signaling segment availability times for segments of media data
JP5854243B2 (ja) Ipビデオ信号同期のための方法及び装置
KR101228177B1 (ko) 네트워크 장치용의 동기화된 오디오/비디오 디코딩
WO2007103871A2 (en) System and method for establishing and maintaining synchronization of isochronous audio and video information streams in wireless multimedia applications
US9621682B2 (en) Reduced latency media distribution system
CN107819809B (zh) 对内容进行同步操作的方法及装置
EP1715612B1 (en) Transmitting apparatus, relaying apparatus, receiving apparatus and network system including these apparatus
EP2761884B1 (en) Method of saving content to a file on a server and corresponding device
KR101642380B1 (ko) 디지털 콘텐츠 스트림의 송신 방법 및 대응하는 수신 방법
EP2695389B1 (en) Processing media streams for synchronised output at multiple end points
JP4042396B2 (ja) データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP2009081654A (ja) ストリーム同期再生システム及び方法
JP5082715B2 (ja) 受信装置、受信方法およびコンピュータプログラム
JP3906678B2 (ja) データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
KR101920051B1 (ko) Mmt 복합 전달 서비스에서 mmt 패킷 스트림 동기화를 위한 타이밍 정보 제공 방법 및 mmt 패킷 스트림 동기화 방법
US9124921B2 (en) Apparatus and method for playing back contents
JP2008016905A (ja) コンテンツ送信装置、コンテンツ受信装置及びコンテンツ配信方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20180810

Year of fee payment: 4