KR20030013517A - 비동기 디지털 홈네트워크에서 멀티-미디어 지터 제거 - Google Patents

비동기 디지털 홈네트워크에서 멀티-미디어 지터 제거 Download PDF

Info

Publication number
KR20030013517A
KR20030013517A KR10-2003-7000042A KR20037000042A KR20030013517A KR 20030013517 A KR20030013517 A KR 20030013517A KR 20037000042 A KR20037000042 A KR 20037000042A KR 20030013517 A KR20030013517 A KR 20030013517A
Authority
KR
South Korea
Prior art keywords
time stamp
clock
data
network
asynchronous network
Prior art date
Application number
KR10-2003-7000042A
Other languages
English (en)
Other versions
KR100815128B1 (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 KR20030013517A publication Critical patent/KR20030013517A/ko
Application granted granted Critical
Publication of KR100815128B1 publication Critical patent/KR100815128B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • 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
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/10Adaptations for transmission by electrical cable
    • H04N7/106Adaptations for transmission by electrical cable for domestic distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • H04L1/0082Formats for control data fields explicitly indicating existence of error in data being transmitted, e.g. so that downstream stations can avoid decoding erroneous packet; relays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2834Switching of information between an external network and a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2838Distribution of signals within a home automation network, e.g. involving splitting/multiplexing signals to/from different paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/284Home automation networks characterised by the type of medium used
    • H04L2012/2841Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/284Home automation networks characterised by the type of medium used
    • H04L2012/2843Mains power line
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/284Home automation networks characterised by the type of medium used
    • H04L2012/2845Telephone line
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising

Abstract

본 발명은, 특히 비동기 네트워크에 있어서, 비동기 네트워크를 통해 분배되는 멀티-미디어 패킷에서 지터를 제거하기 위하여 시스템 레벨 클록킹 구조를 사용하는 방법 및 장치에 관한 것이다. 본 발명은, 클라이언트 디바이스 클록을 헤드엔드 클록에 동기화시키도록 하며 또 헤드엔트에 연결된 광대역 수신기에 의해 데이터가 수신된 속도에 매칭하도록 클라이언트 디바이스 내의 데이터 흐름을 제어하도록 하는 다양한 시간 스탬프를 사용함으로써, 비동기 네트워크에서 도입되는 지터와 연관된 문제를 극복한다. 본 발명은 클라이언트 디바이스로 하여금 시간 스탬프와 함께 클록 조정 인자를 포함함으로써 복수의 헤드엔드 클록 중 선택된 하나에 동기화할 수 있게 한다. 상기 시간 스탬프는, 상기 시간 스탬프가 데이터 패킷이 비동기 네트워크로 삽입되고 수신되는 시간에 대응하게 하기 위하여 물리계층에서 추가된다.

Description

비동기 디지털 홈네트워크에서 멀티-미디어 지터 제거{MULTI-MEDIA JITTER REMOVAL IN AN ASYNCHRONOUS DIGITAL HOME NETWORK}
디지털 통신 기술에 있어서 최근의 진보는 디지털 홈네트워크("DHN": digital home networks)의 실현가능성을 증가시켜왔는데, 상기 디지털 홈네트워크는 가정 내의 다양한 디바이스들이 서로 통신할 수 있도록 한다. 특히, 점점 크게 사용가능해지고 있는 광대역 액세스는, 멀티-미디어 정보의 중앙집중적인 액세스 및 분배를 위하여 하나의 광대역 네트워크 또는 복수의 네트워크들에 연결된 단일 게이트웨이 디바이스로 가정내의 다양한 디바이스들이 묶여질 수 있는 것을 바람직스럽게 하고 있다. 이러한 디지털 홈네트워크에 있어서, 상기 게이트웨이 디바이스는 멀티-미디어 콘텐트에 액세스하고 버퍼링하며 네트워크에 연결된 다양한 클라이언트 디바이스에 의해 요청되었을 때 이 콘텐트를 네트워크를 통해 분배한다.
이더넷(ethernet)은 LAN을 구현하기 위한 통상적인 수단이다. 이더넷은 비동기 충돌 검출 네트워크이다. HPNA(Home Phone-line Networking Alliance)도 또한비동기 충돌 검출 네트워크이며 네트워크에 기반한 몇몇 전력 라인도 종종 비동기 충돌 검출 네트워크이다. 그러나, 이러한 네트워크가 멀티-미디어 콘텐트를 분배하기 위하여 사용될 때 어려움이 생길 수 있다.
도 1은 멀티미디어 네트워크를 예시하는 시스템도이다. 시스템(100)은 복수의 통신 네트워크들(105 - 107) 중 하나를 통하여 미디어 서버(103)에 연결된 복수의 디바이스들(108 - 113)을 포함한다. 시스템(100)에서, 미디어 서버(103)는 위성 안테나(102)를 통해 멀티-미디어 콘텐트를 수신하고, 그 콘텐트를 버퍼링하며, 그리고 해당 네트워크에 연결된 다양한 디바이스들로부터 요청되었을때 해당 콘텐트를 분배한다. 미디어 서버(103)는 또한, 케이블, 및 DSL을 포함하여, 복수의 알려져있는 디지털 미디어 액세스 방법들 중 임의의 하나를 통하여 멀티-미디어 콘텐트를 수신하도록 연결될 수도 있다. 선택된 네트워크를 통한 데이터 전송은 일반적으로 큰 버퍼를 사용함으로써 달성되거나 또는 클라이언트 디바이스로 하여금 데이터를 흐름조절(throttle)하도록 허용함으로써 달성된다.
이런 면에서, 라이브(live) 방송을 받고 이를 비동기 디지털 홈네트워크 상에서 분배하는 것과 연관되어 많은 문제들이 존재한다. 라이브 방송 신호에 있어서, 데이터는 클라이언트 디바이스로 푸쉬(push)되며, 상기 클라이언트 디바이스는 들어오는 데이터 스트림에 대하여 어떠한 통제력도 가지고 있지 않다. 네트워크에 연결된 클라이언트 디바이스가 자신에게 전달되어 온 모든 오디오 및 비디오 데이터를, 반복되거나 놓치는 프레임없이, 디코딩하고 디스플레이할 수 있는 것을 보장하기 위하여, 일반적으로 상기 네트워크에 연결된 클라이언트 디바이스가 해당 헤드엔드 클록에 클록 동기화되는 것이 요구된다. 방송 A/V 네트워크에 있어서 클록 동기화를 위해서 가장 널리 받아들여지는 방법은, 방송 장소에서 취해진 카운터 샘플들을 방송 시간부터 수신 시간까지 고정된 지연을 가진 수신기로 전달하는 것에 기초하고 있다. 방송 장소에서의 카운터는 방송 장소의 기준 클록에 의해 하나씩 증가한다. 이들 클록 샘플들이 수신기에 도착한 순간, 전압제어발진기(VCXO: voltage controlled oscillator)에 의해 클록킹된 카운터가 샘플링된다. 이 카운터의 값 및 방송 장소로부터 수신된 시간 스탬프가 비교되고 방송 장소에서 취해진 클록 샘플들과 로컬 카운터의 샘플들 사이의 차이가 시간에 따라 변하면, 로컬 VCXO에 인가된 전압은 로컬 클록을 방송 장소의 기준 클록에 주파수 록킹하기 위하여 조정된다.
이더넷 네트워크와 같은 비동기 충돌 검출 네트워크 상에서, 패킷이 구성되어 송신 버퍼내에 삽입된 시간에서부터 이 패킷이 네트워크에 연결된 디바이스에 의해 수신된 시간까지의 지연은 항상 일정한 것은 아니다. 이러한 네트워크에 있어서, 한 네트워크 상에서 충돌하는 여러 디바이스들은, 다양한 패킷을 야기할 수 있으며 또한 하나의 패킷의 수신 내에서 예측할 수 없는 지연들을 야기할 수 있다. 이런 환경에서는 상기 다양하고 예측할 수 없는 지연들 때문에 네트워크에 연결된 수신기에서의 클록을 네트워크에 연결된 송신기에서의 클록에 주파수 록킹하기 위한 상술한 방법을 사용하는 것은 가능하지 않다. 수신기 클록을 송신기 클록에 록킹하려고 시도하는 이러한 방법은 수신기 클록 내에 상당한 지터(jitter)를 생성할 수 있다. 수신기의 클록 내 지터의 크기에 따라서는, 비디오 디스플레이를 위한NTSC 호환성 컬러 버스트(burst)를 생성하는 것이 불가능할 수 있다. 더욱이, 이 지터는 최소한의 경우 오디오 및 비디오 압축 데이터 버퍼를 필요한 것보다 더 크게 되도록 요구할 것이고 나쁜 경우에는 이 버퍼가 언더플로우 또는 오버플로우되도록 할 것이다. 이러한 부작용에는 비디오 정지나, 오디오의 찍찍거림(chirps), 그리고 컬러 버스트 안에서의 변동에 기인하여 극적으로 변화하는 디스플레이 컬러가 포함될 것이다.
1394 네트워크와 같은 몇몇 네트워크는 이런 문제를 제거할 수 있는 등시화 성능(isochronous capability)을 제공한다. 이에 더하여, SRTS와 같은 다양한 방법들도 또한 ATM 네트워크에 대해 이런 타이밍 문제들을 다루도록 개발되어 왔다. SRTS 방법은 송신 디바이스 및 수신 디바이스 모두가 동기화를 위한 하나의 네트워크 클록에 액세스하는 것을 가정한다. 그러나, 이러한 방법은 이더넷 네트워크와 같은 비동기 충돌 검출 네트워크 내의 지터를 정정하기에는 충분히 적당하지 않을 수 있다. 따라서, 비동기 충돌 검출 네트워크에 있어서 특히 상술한 바와 같은 문제들을 극복하기 위하여, 비동기 네트워크 내의 데이터 흐름을 제어하고 클록들을 동기화하는 방법 및 시스템에 대한 요구가 있다. 더 나아가, 광대역 수신기는 복수의 헤드엔드(headend) 네트워크 중 하나로부터 신호를 수신할 수 있으며 각각의 헤드엔드는 자기 자신의 시스템 클록을 가지고 있는, 비동기 네트워크에서 클록들을 동기화시키고 데이터 흐름을 제어하기 위한 시스템 및 방법이 요구된다.
본 발명은 비동기 통신 네트워크에 관한 것이며, 특히 멀티-미디어 데이터 패킷에서 지터를 제거하기 위한 시스템 레벨 클록킹 구조를 구비하는 비동기 멀티-미디어 디지털 홈네트워크에 관한 것이다.
도 1은 복수의 클라이언트 디바이스에 연결된 하나의 미디어 서버를 포함하는 비동기 멀티-미디어 네트워크를 보여주는 개략도.
도 2는 본 발명에 따라 네트워크의 다양한 포인트에서 데이터 내로 삽입된 시간 스탬프를 포함하는 비동기 멀티-미디어 네트워크의 요소들을 예시하는 블록도.
도 3은 본 발명에 따라 비동기 멀티-미디어 네트워크 안에서 사용된 시간 스탬프 및 클록 조정 인자를 포함하는 데이터 프레임의 포맷을 보여주는 개략도.
도 4는 위성 신호를 수신하도록 적응된 광대역 수신기의 요소들을 예시하는 블록도.
도 5는 도 4에서 예시된 PCI DBS 튜너 보드의 요소들을 예시하는 블록도.
도 6은 도 2에 예시된 클라이언트 디바이스의 요소들을 예시하는 블록도.
도 7은 도 6에 예시된 전송 포맷터(transport formatter) 보드의 요소들을 예시하는 블록도.
도 8은 도 6에 예시된 클라이언트 비디오 디코더의 요소들을 예시하는 블록도.
도 9는 본 발명에 따라 비동기 멀티-미디어 네트워크에서 사용된 시간 스탬핑 보드를 예시하는 블록도.
도 10은 도 9에 도시된 시간 스탬핑 보드에서 시간 스탬프 제어기를 예시하는 블록도.
도 11은 도 10에 도시된 시간 스탬프 제어기에서 수신기 유닛을 예시하는 블록도.
도 12는 도 10에서 도시된 시간 스탬프 제어기에서 송신 유닛을 예시하는 블록도.
본 발명은 위에서 논의된 지터 문제를 극복하며, 특히, 수신기가 다중 헤드엔트 네트워크로부터 입력신호들을 수신할 수 있는, 비동기 네트워크를 통해 멀티-미디어 콘텐트를 분배하기 위한 시스템 및 방법을 제공한다. 더 상세하게는, 비동기 홈네트워크 상에서 소프트웨어 프로세싱 및 충돌에 의해 야기되는 지터 효과를 최소화하고 감소시키기 위하여 시간 스탬프(time stamp)들 및 클록 조정 인자(clock adjustment factor)들을 사용한다. 한 세트의 시간 스탬프는 헤드엔드 클록에 클라이언트 디바이스 안의 클록을 동기화시키기 위하여 사용되며 다른 세트의 시간 스탬프가 클라이언트 디바이스 내 데이터 흐름을 제어하기 위하여 사용된다.
흐름 제어를 위해 한 세트의 시간 스탬프가 추가된다. 광대역 네트워크에서부터 패킷이 도착하면, 서버 안의 로컬 카운터의 샘플이 레지스터 안으로 래칭된다. 로컬 카운터는 서버의 시스템 클록으로 클록킹된다. 서버는 수신된 전송 패킷들에 샘플링된 카운터 값을 붙인다. 일단 패킷이 시간 스탬핑되면 즉 시간 스탬프가 삽입되면, 서버는 이 패킷을 전송 버퍼 안에 삽입할 수 있다. 이 시간 스팸프는 그 데이터가 광대역 연결에서부터 수신되어 버퍼 안에 삽입된 순간을 나타내며, 그 자체로, 수신 버퍼 안으로 들어간 것과 정확히 동일한 속도로 상기 버퍼로부터 해당 데이터를 제거하도록 클라이언트 디바이스 내에서 사용될 수 있다.
또 다른 세트의 시간 스탬프가, 하나의 클록 조정 인자와 함께, 클라이언트 디바이스 클록을 헤드엔드 클록과 동기화시키기 위하여 사용된다. 각각의 헤드엔드는 동기화 정보인, SCR을 멀티-미디어 데이터와 함께 송신한다. 서버가 SCR을 검출하면, 서버는 시간 스탬프에 인가될 정규화, 즉 스케일링 인자를 계산하기 위한 알고리즘을 실행한다. 서버의 로컬 클록은 조정되지 않는다. 상기 정규화는 서버의 로컬 클록으로 하여금 헤드엔트 클록으로 환산하여 표현되도록 한다. 상기 조정 인자는 광대역 수신기의 시간 스탬프들에 인가되어 상기 시간 스탬프들을 헤드엔드 클록으로 환산하여 표현한다. 데이터의 한 프레임이 네트워크 상에 삽입되는 순간, 시스템 클록 상에서 동작하는 로컬 카운터가 샘플링된다. 이 샘플링된 클록에 기초한 시간 스탬프가 네트워크의 물리계층에서 실시간으로 상기 데이터 프레임 안에 삽입됨으로써 로컬 카운터의 샘플링에서부터 샘플링된 카운트 값이 네트워크 상에 삽입되는 때까지 고정된 일정 양의 시간이 존재한다. 만약 충돌 상태가 발생하면, 시간 스탬프는 데이터가 재송신된 때 업데이트된다. 새로운 데이터 프레임이 클라이언트 디바이스의 물리계층 안에서 수신된 순간, 해당 클라이언트의 로컬 클록 상에서 동작하는 로컬 카운터의 샘플이 레지스터 안으로 래칭된다. 그후 이 "수신-시간" 시간 스탬프는 수신된 데이터 프레임에 부착되어 클라언트의 네트워크 프로토콜 하드웨어 및 소프트웨어의 후속 계층들 상으로 전달된다. 클라이언트 데이터가 통신 프로토콜을 통하여 전달된 후, 상기 데이터는 클라이언트에 의해 사용될 준비가 된다.
클라이언트 디바이스는, 클라이언트의 로컬 시스템 클록을 헤드엔드 시스템 클록에 록킹시키기 위하여 데이터가 클라언트 디바이스에 의해 수신되었을 때 부착되었던 시간 스탬프와 함께, 서버의 네트워크 인터페이스의 물리계층에서 부착된 시간 스탬프 및 클록 조정 인자를 사용한다.
데이터가, 클록 조정 인자와 함께, 광대역 네트워크로부터 서버에 도착하였을 때 상기 데이터에 부착된 시간 스탬프는 그후 각각의 데이터 패킷이 클라언트의 버퍼로부터 추출되어 클라이언트 내의 오디오/비디오 서브시스템으로 전달되어야할 정확한 시간을 결정하기 위하여 사용될 수 있다. 이런 방식으로 서버에서의 패킷 도착 타이밍은 클라이언트 디바이스 안의 A/V 서브시스템에의 입력단에서 정확하게 매칭된다.
본 발명은 이하에서 첨부된 도면을 참조하여 설명된다.
도 2는 본 발명에 따라 시간 스탬프를 이용하는 디지털 홈네트워크를 예시한다. 광대역 입력 신호는 헤드엔드(미도시됨)에 의해 제공되고 광대역 수신기/멀티-미디어 서버(202)에 의해 수신된다. 서버(202)는 입력신호들 SYS 1, SYS 2 ... SYS n 에 의해 지시된 바와 같이, 위성, 케이블 또는 DSL과 같은 복수의 광대역 소스 중 하나로부터의 입력신호를 수신하도록 구성될 수 있다. 이 입력 신호는 전송 패킷의 형태로 되어 있을 수 있는데, 상기 신호는 서버(202)가 자신의 로컬 시스템 클록을 특정 헤드엔드 시스템 클록에 상관시키기(correlate) 위하여 사용하는 시스템 클록 복구(SCR: System Clock Recovery) 정보를 포함한다. SCR 정보는 버퍼 레벨을 관리하기 위하여 사용되며 통합 수신기 디코더(IRD: integrated receiverdecoder)에서 비디오 타이밍 및 컬러 버스트 신호를 구동시키기 위해 사용된다. 주목해야할 중요한 점은, 시스템(200)이 적절하게 동작하기 위해서는, 네트워크로 들어가는 지점에서부터 마지막으로 출력되는 지점에 이르기까지, SCR 정보 및 패킷 타이밍 관계가 시스템(200) 전체에 걸쳐 유지되어야 한다는 점이다.
본 발명에 따라, 패킷이 클라이언트 디바이스에 도착한 정확한 도착 시간이 재생될 수 있다는 점을 보장하기 위하여, 광대역 네트워크로부터 도착하는 각각의 패킷은, 서버(202)가 해당 패킷을 수신하였을 때, 시간 스탬프 T1으로 스탬핑된다. 시간 스탬프 T1은 서버(202)의 로컬 시스템 클록으로 클록킹된 로컬 카운터의 샘플이다. 시간 스탬프 T1 및 그 패킷은 버퍼(205) 내에 함께 저장되고 그후 DHN을 통해 함께 방송된다.
시간적으로 좀 늦은 시점에서, 한 그룹의 전송 패킷들이, 헤더 정보와 함께, 네트워크 DHN 상에서 송신을 위한 하나의 데이터 프레임을 형성하기 위하여 합쳐진다. 데이터 프레임은 여러가지 시간 스탬프들과 하나의 클록 조정 인자가 삽입될 수 있는 부분들을 포함한다. 이 데이터 프레임이 네트워크 상으로 삽입되는 그 순간, 서버(202) 안의 로컬 시스템 시간 클록 상에서 동작하는 로컬 카운터가 샘플링되어 카운터 샘플 시간 스탬프 T2를 생성시킨다. 시간 스탬프 T2는 나가는 데이터 프레임에 삽입되어, 카운터 값의 샘플링에서부터 카운터 값이 네트워크로 들어가는 시간까지의 시간이 고정되고 일정하게 되도록 한다. 이 시간이 고정되고 일정하다는 것은 중요하며, 이런 이유로, 상기 카운터 샘플링 및 시간 스탬프 삽입는 네트워크 인터페이스의 물리계층 하드웨어 내에서 수행된다. 네트워크를 통한서버(202)로부터 클라이언트 디바이스(204)로의 전파 지연이 고정되고 일정하기 때문에, 또한 T2를 샘플링하는 것에서부터 시간 스탬프 T2를 포함하는 패킷이 클라이언트 디바이스(204)에 도작하기까지의 총 전파 지연도 고정되고 일정하다. 또한, 심볼 시간이 변화될 수 있는 시스템에 있어서도, 네크워크 내의 전파 시간이 일정하게 유지되는 한, 본 발명은 필수적인 동기화를 제공한다.
본 발명에 있어서, 서버(202)의 시스템 클록은 변하지 않는다. 그 대신, 클록 조정 인자가 계산되어 데이터 프레임 내에 삽입됨으로써 시간 스탬프로 하여금 클라이언트 디바이스 클록을 특정 헤드엔트 클록에 주파수 록킹시키기 위하여 사용될 수 있게 한다. 적절한 정규화 인자는, 예컨대 클록 조정 = SCR(0) - SCR(1) - [로컬 클록(0) - 로컬 클록(1)]/[SCR(0) - SCR(1)]일 수 있다. 이런 방식으로, 클라이언트 디바이스는 복수의 네트워크 헤드엔드 중 임의의 하나에 주파수 록킹될 수 있다. 시간 스탬프 T2 및 클록 조정 인자는 도 3에 도시된 바와 같이 데이터 프레임(300) 내의 부분들(306 및 305) 안에 포함된다.
만약 충돌 이벤트가 발생하면, 시간 스탬프 T2는 갱신되고 그 다음에 서버(202)는 비동기 네트워크 상으로 데이터 프레임을 삽입하려고 시도한다. 주목되어야할 중요한 점은 시간 스탬프 T2는 서버(202)의 로컬 클록에 기초되어 있으며, 상기 서버는 조정되지 않는다는 점이다.
데이터 프레임이 클라이언트 디바이스(204)에 도착하는 순간에, 클라이언트 시스템 클록 상에서 동작하고 있는 클라이언트 디바이스(204)의 로컬 카운터가 샘플링되어 시간 스탬프 T3를 생성시킨다. 이 카운터 값은, 클라이언트 클록 및 헤드엔드 클록 사이의 차이가 변하지 않았다는 것을 보장하기 위하여, 도착하고 있는 데이터 프레임 내의 조정된 시간 스탬프 T2와 비교된다. 만약 이 차이가 시간에 따라 변화하고 있다면, 클라이언트 디바이스는 자신의 로컬 시스템 클록이 헤드엔드 클록과 주파수 록킹되도록 하기 위하여 자신의 로컬 VCXO 상의 전압을 수정할 것이다. 예컨대, 에러 = [T2(0) - T2(1)]*[{클록 조정(0) + 클록 조정(1)}/2] - [T3(0) - T3(1)], 여기서 {클록 조정(0) + 클록 조정(1)}/2 는 중간 클록 조정 에러이고, 에러란 클라이언트 클록이 헤드엔드 클록으로부터 다른 정도이다.
이렇게, 시간 스탬프 T2 및 T3는, 상기 조정 인자와 함께, 헤드엔드 및 클라이언트 디바이스(204)의 시스템 클록을 함께 주파수 록킹시키기 위하여 사용된다. 시간 스탬프 T2 및 T3는 동기화를 위해 클라이언트 디바이스(204) 내에서 사용된 후 폐기될 수 있다. 이 시점에서, 전송 패킷 및 관련된 시간 스탬프 T1 및 클록 조정 인자를 포함하고 있는 데이터 프레임들은 클라이언트 디바이스(204) 내의 버퍼(203) 안에 저장될 수 있다.
다음 단계는, 서버(202)의 입력단에 도착한 패킷의 속도와 정확하게 매칭하는 속도로 클라이언트 디바이스(204)의 버퍼에서부터 데이터를 제거하는 것이다. 클라이언트 디바이스(204)가 적당한 양의 네트워크 지터를 흡수하도록 수신 버퍼 내에 충분한 데이터를 축적하였을 때 클라이언트 디바이스(204)는 수신 버퍼에서부터 데이터를 추출하기 시작하며, 그 데이터가 클라이언트 디바이스(204) 내의 디코더에 대해 사용가능하게 만든다. 클라이언트 클록 상에 기초하고 있는 로컬 카운터는 메모리로부터 추출된 첫번째 전송 패킷에 저장된 카운트 값으로 초기화된다. 카운터는 클라이언트의 시스템 클록에 따라 클록킹되며, 클라이언트의 시스템 클록은 헤드엔드 클록에 록킹되어 있고, 따라서 후속적인 패킷들은 자체 저장된 시간 스탬프 값이 카운터 값에 매칭하는 때에 메모리로부터 추출될 수 있다. 이런 방식으로, 클라이언트 디바이스(204)의 수신 버퍼에서부터의 제거 속도는 데이터가 서버(202)에서 수신되었을 때의 속도와 매칭한다. 데이터 프레임의 포맷 및 데이터 프레임 내에 시간 스탬프 T1, T2, T3 및 클록 조정 인자의 배치가 도 3에 도시되는데, 여기서 시간 스탬프 T1은 패킷화된 데이터가 수신되었을 때 생성되며 시간 스탬프 T2는 데이터 프레임들이 네트워크 DHN 상에 삽입될 때 상기 프레임 내로 삽입된다.
데이터 패킷의 포맷 및 이더넷 환경하에서 데이터 프레임 안에 시간 스탬프를 삽입 배치하는 것이 아래에서 더 기술된다. 본 실시예에 있어서 이더넷 패킷은 UDP/IP 프로토콜을 사용하지만, TCP, 또는 "그대로의(raw)" 이더넷과 같은 다른 적당한 프로토콜도 본 발명의 시간 스탬프 특징을 구현에 사용될 수 있다는 것이 이해되어야 한다. 본 발명에 따라, IP 헤더는 시간 스탬프가 삽입되어야할 필요가 있는 데이터 프레임을 식별하는 IP 옵션을 사용한다. 시간 스탬프는 데이터 프레임 내에서 UDP 헤더 다음에 삽입된다. 나가고 들어오는 패킷을 위한 확장된 UDP 헤더 내에는 고유한 위치가 존재한다.
클록 동기화 시간 스탬프 T2 및 T3 및 클록 조정 인자는 UDP 헤더 이후에 삽입된다. 시간 스탬프 T2는 32-비트 시간 스탬프이고 IP 패킷이 옵션 25 세트를 구비할 때 사용된다. 시간 스탬프는 물리 네트워크 계층에서 데이터 프레임 안으로 삽입된다. 비록 본 실시예가 프레임 내의 시간 스탬프의 존재를 지시하기 위하여옵션 25를 이용하지만, 특정 IP 주소 및 포트 번호의 지정과 같은 다른 적당한 시간 스탬프 지시 방법이 사용될 수 있다는 점이 이해되어야만 한다.
시간 스탬프 T3도 또한 32-비트 시간 스탬프이고 옵션 25를 구비하는 IP 패킷이 삭제되었을때 사용된다. 이 시간 스탬프도 또한 물리 네트워크 계층에서 데이터 프레임 안으로 삽입된다.
데이터 흐름 제어 시간 스탬프 T1은 상기 데이터가 광대역 네트워크로부터 수신되었을 때 데이터 스트림 안으로 삽입된다. 시간 스탬프 T1은 서버(202) 내의 로컬 카운터를 사용하여 생성된다. 패킷이 서버(202)에 도착했을 때 각각의 전송 패킷 상에 시간 스탬프 T1을 삽입시킴으로써, 클라이언트 디바이스(204)는 서버(202)에서 수신된 속도와 동일한 비트 속도를 재생성할 수 있다. 데이터 흐름 제어 시간 스탬프 T1은 UDP 페이로드 안에 있다. 표 1은 본 발명의 예시적인 실시예에서 사용된 데이터 포맷을 보여준다.
전송 패킷 및 시간 스탬프를 포함하는 데이터
0 1615 31
전송 패킷 마커(Marker)
시간 스탬프 T1(0)의 16-비트 MSB
시간 스탬프 T1(0)의 16-비트 LSB
전송 패킷 0
전송 패킷 마커
시간 스탬프 T1(1)의 16-비트 MSB
시간 스탬프 T1(1)의 16-비트 LSB
전송 패킷 1
..
전송 패킷 마커
시간 스탬프 T1(n)의 16-비트 MSB
시간 스탬프 T1(n)의 16-비트 LSB
전송 패킷 n
일단 데이터 프레임이 시간 스탬핑되면, UDP 체크섬이 체크된다. 만약 체크섬이 영(0)이 아니면, 구(old) 체크섬은 새로 생성된 체크섬으로 대체된다. UDP 체크섬을 해결한 후, 새 CRC가 계산되어 MAC 계층 내의 구 CRC 값을 대체한다. 만약 패킷 조사의 임의의 지점에서 해당 데이터 프레임이 유효한 시간 스탬프 프레임이 아니라고 결정된다면, 상기 프레임은 해당 데이터에 아무런 변경없이 통과하여 전달된다.
시간 스탬프 값은 외부 시스템 클록으로부터 생성된다. 외부 클록은 32-비트 카운터를 구동시킨다. 데이터 프레임이 네트워크 상에 삽입된 때 카운터에 대한 스냅샷(snapshot)이 취해진다. 들어오는 패킷에 대해, 클라이언트 디바이스 안의 카운터에 대한 스냅샷이 취해진다. 만약 상기 패킷이 유효한 시간 스탬프를 가진 패킷이라면, 카운터의 스냅샷은 데이터 프레임의 페이로드 부분 안으로 삽입된다. 32-비트 카운터는 외부 시스템 클록에 동기화된 자유 동작 롤오버(rollover) 카운터이다.
아래에서는 특정 데이터 프레임이 시간 스탬프를 필요로 하는지 여부를 결정하고, 만약 필요한 경우라면 시간 스탬프 데이터가 삽입되는 장소를 결정하기 위한 탐색 시퀀스를 설명한다. 첫번째 테스트는 MAC 프레임을 검증하는 것이다. MAC 프레임을 검증하는 것은 CRC가 계산되고 비교되는 것을 요구한다. 만약 CRC 테스트가 실패하면, 유효하지 않은 CRC를 가지고 수신된 데이터 프레임에 유효한 CRC가 추가되지 않았다는 것을 보장하기 위하여 해당 프레임은 아무런 수정없이 통과하여 전달되어진다. 만약 CRC 테스트가 통과되면, 두번째 테스트가 MAC 프레임 안에서 인터넷 프로토콜(IP: Internet Protocol)을 발견하도록 구성된다. 802.3 규격 섹션 3.2.6에서, Length/Type인, MAC 프레임 내로의 20 옥텟(octet)은, Length/Type 필드이다. ITEF RFC 1700 EtherTypes 표에서, 인터넷 IP(Ipv4)는 0x800(16진수)이다. 만약 상기 값이 0x800이 아니라면, 패킷은 통과하여 전달된다. 만약 상기 Length/Type이 0x800이면, 또 다른 테스트가 IP 헤더의 크기 및 UDP 패킷을 포함하고 있는지 여부를 결정하기 위하여 구성된다. MAC 프레임의 내용은 IEEE 802.3, 섹션 3.1.1에 명시되어 있다.
만약 MAC 프레임이 IP 패킷을 포함한다면, 그 다음 테스트는 그 크기 및 옵션 설정을 결정한다. 먼저, 크기를 결정하기 위하여, 헤더 길이인, IP 패킷의 두번째 니블(nibble)이 조사된다. 헤더 길이는 IP 헤더를 만드는 32-비트 워드의 수이다. 옵션없이, IP 헤더는 통상적으로 20 바이트이고, 따라서 헤더 길이는 5이다. IP 헤더 옵션은 IP 헤더의 시작에서부터 20 십진수 오프셋을 가진다.
패킷이 유효한 시간 스탬프 패킷인지 여부를 결정하는 단계들이 이제 설명된다. 만약 모든 단계들이 실패하면, 해당 패킷은 아무런 수정없이 통과하여 전달된다. 먼저, 헤더 길이 필드가 조사되어 5 보다 큰지 여부가 결정된다. 만약 크다면, IP 헤더의 시작부분에서 20 바이트 떨어진 곳에 위치한 제 1 IP 옵션이 0x99040000에 대하여 체크된다. 옵션의 포맷은 아래의 표 2에 보여진다:
IP 옵션 25
복제(1 비트) 등급(2 비트) 수(5 비트) 길이(8 비트) 팜(Parm)(16 비트)
1 0 25 4 0
표 3는 IP 옵션 25를 포함하고 있는 상태의 IP 헤더를 보여준다.
IP 옵션 25를 가진 IP 헤더
0 1615 31
4-비트버전 4-비트헤더 길이 8-비트서비스유형(TOS) 16-비트총 길이(바이트 단위)
16-비트식별 3비트플래그 13-비트부분 오프셋
8-비트타임투리브(TTL) 8-비트프로토콜 16-비트헤더 체크섬
32-비트 소스 IP 어드레스
32-비트 목적지 IP 어드레스
32-비트 옵션 25
데이터
만약 IP 옵션이 상술한 지정된 시간 스탬핑 옵션을 포함한다면, 본 시스템은 데이터 프레임 안에 시간 스탬프를 삽입한다. 시간 스탬프는 IP 헤더 뒤에 오는 UDP 페이로드 부분 안에, 특히 상기 페이로드 부분의 처음에 삽입된다. UDP 헤더는 8 바이트 길이다. UDP 페이로드의 첫번째 32 비트 워드는 시간 스탬프 T3를 위하여 예비되며, UDP 페이로드의 두번째 32 비트 워드는 T2를 위해 예비된다.
본 발명의 중요한 양상은, 물리계층에서 시간 스탬프 및 CRC가 생성되고 데이터 프레임 안으로 삽입된다는 점이다. 이 경우, 시간 스탬프 및 CRC는, 데이터 프레임이 실제로 네트워크 상으로 삽입될 때 또는 네트워크로부터 수신될 때, 데이터 프레임 안으로 삽입된다. 이것은 시간 스탬프로 하여금 데이터가 네트워크에 들어간 시간 및 데이터가 네트워크로부터 수신된 시간을 정확하게 반영할 수 있게 한다.
상술한 시간 스탬핑을 구현하기 위한 시스템의 요소들은, 이제 DBS 수신기와 관련하여 더욱 자세하게 설명된다. 그러나, DSL 또는 케이블과 같은, 다른 유형의 광대역 네트워크 상에서 수신된 멀티-미디어 데이터에 대하여 유사한 시간 스탬핑이 수행될 수 있다는 점이 이해되어야만 한다.
도 4에 도시된 바와 같이, 서버(202)는 하나의 버스에 의해 연결된 세 개의 기능적인 블록으로 구성된다. 위성 신호는 PCI DBS 튜너(402)를 통하여 서버(202)에 의해 수신된다. 호스트 제어기(406)는 PCI 버스 인터페이스(405)를 경유하여 PCI DBS 튜너(402)의 위성 신호로부터 전송 패킷들을 판독해낸다. 그후 호스트 제어기(406)는 그 데이터를 프로세싱하고 UDP를 포함하여 잘 알려진 프로토콜을 통해 상기 프로세싱된 데이터를 시간 스탬프 보드(404)로 출력하여 보낸다. 또한, PCI DBS 튜너(402) 및 시간 스탬프 보드(404)는 둘 사이에 공통 클록을 가진다. 이 클록은 PCI DBS 튜너(402) 상에서 생성되고, 시간 스탬프 보드(404)를 위한 시간 기준으로서 사용된다.
동작시, 호스트 제어기(406)는 PCI DBS 튜너(402)의 FIFO 메모리로부터 전송패킷을 판독해낸다. 그후 이 패킷은 네트워크 프로토콜 소프트웨어에 따라 프로세싱되고 그후 네트워크 프레임은 시간 스탬프 보드(404)의 이더넷 MAC 안으로 쓰여진다. MAC는 이더넷 네트워크가 사용가능해지는 것을 기다렸다가, 데이터를 시간 스탬프 제어기를 통해 이더넷 PHY로 보낸다. 비디오 네트워크 패킷이 시간 스탬프 제어기에 의해 검출되었을 때, 그 패킷에 시간 스탬프가 추가된다. 시간 스탬프 T2는 서버(202) 내의 클록에 의해 클록킹된 시간 스탬프 제어기 안의 카운터의 샘플이다. 서버(202)에 있어서, 시간 스탬프 제어기를 위한 클록 소스는 PCI DBS 튜너(402) 내의 VCXO이다.
도 5는 PCI DBS 튜너(402)의 블록도를 보여준다. PCI DBS 튜너(402)는 몇몇 기능을 수행한다. 첫째, PCI DBS 튜너(402)는 정확한 위성 트랜스폰더 (transponder)가 선택되고, 튜닝되며, 복조되는 것을 보장한다. 이것은 위성 튜너(502) 및 복조기(504)에 의해 달성된다. 이들 디바이스들은 위성 신호에서 디지털 전송 스트림으로의 잘 알려져 있는 변환을 수행한다.
둘째, PCI DBS 튜너(402)는 전송 스트림의 패킷을 필터링한다. 튜너 제어기(506)는 호스트 제어기(406)에 의해 요청된 전송 패킷만을 필터링해내기 위한 로직을 포함한다. 그후 전송 패킷은 FIFO 버퍼(512)에 저장된다. 그후 호스트 제어기(406)는 PCI 버스 인터페이스를 통해 FIFO 버퍼(512)에서 패킷을 판독해낼 수 있다. PCI 버스 인터페이스를 돕기 위하여, PCI 브릿지 칩(508)이 사용된다.
추가적으로, 시간 스탬프 T1이 VCXO(510)로부터 복구된 시스템 클록을 사용하여 각각의 전송 패킷에 추가될 수 있다. 시간 스탬프 T1은, 패킷이 튜터(402)에서 수신된 순간에 로컬 카운터의 샘플에 기초하고 있다.
네트워크 클라이언트(204)의 요소들이 도 6에 보여진다. 데이터는 클라이언트의 시간 스탬프 보드(602)에 도착하고, 도착 순간에 시간 스탬프 T3가 데이터 프레임에 추가된다. 패킷은 클라이언트 제어기(608)에 의해 프로세싱되는데, 이 제어기는 PCI 버스(605)에 의해 시간 스탬프 보드(602)에 연결되어 있다. 전송 패킷은 네트워크 프레임으로부터 추출되며, 그후 전송 포맷터 보드(604)에 쓰여진다. 전송 포맷터(604)의 출력은 디코더(606)에 의해 사용될 수 있는 직렬 전송 스트림이다. 디코더(606)의 출력단은 텔레비젼 또는 다른 디스플레이 디바이스에 연결되어 있다. 도 8은 디코더(606)의 요소들을 보여준다.
클라이언트 제어기(608)은 클록 복구 알고리즘의 실행을 담당한다. 상기 클록 조정 인자에 의해 조정된, 서버(202)로부터의 데이터 프레임 출발 시간 T2는 클라이언트(204)에 도착한 시간 T3와 비교된다. 이런 방식으로, 클라이언트 제어기(608)는 디코더 VCXO(812)가 헤드엔드 클록 보다 더 빠른지 느린지 여부를 결정할 수 있다. 클라인언트 제어기(608)는, 저속 직렬(RS-232) 연결을 통해 디코더 VCXO(812)의 속도를 증가시키거나 또는 감소시키도록 디코더 제어기(810)에 명령을 보낸다.
클라이언트 디바이스의 시간 스탬프 보드는 서버 디바이스의 시간 스탬프 보드와 유사하며 다만 클라이언트 디바이스 내의 복구된 클록 소스는 디코더(606)의 클록으로부터 유도된다는 점이 다르다.
전송 포맷터(604)의 요소들은 도 7에 보여진다. 전송 포맷터(604)는 PCI 버스(702)를 통해 클라이언트 제어기(608)에 연결된다. PCI 버스 인터페이스는 PCI 버스를 표준 로컬 버스로 변환시키는데, 이 인터페이스는 전송 포맷터 제어기(704)에 연결된다. 전송 포맷터 제어기(704)는 TTL 로직 레벨에서 직렬 전송 스트림을 출력한다. 고속 직렬 변환기(706) 회로는 이들 신호를 저 전압 미분 신호로 변환시키며, 이 저 전압 미분 신호는 디코더(606)로 전달된다.
전송 포맷터 제어기(704)는 두 개의 동작 모드를 가진다. 첫째는 흐름 제어 모드로서, 전송 패킷이 PCI DBS 튜너(402)의 튜너 제어기(506)에 의해 추가된 선택적인 시간 스탬프에 따라 디코더(606)로 전달된다. 이런 방식에서, 전송 포맷터(604)로부터의 상대적인 전송 패킷 출발 시간은 튜너 제어기(506)에 전송 패킷이 도착하는 시간과 매칭한다. 이것은, 디코더(606)의 입력단에서 패킷 타이밍이 PCI DBS 튜너(402)의 튜너(502) 및 복조기(504)에 직접 연결된 것으로 나타나게 만드는 효과를 가진다.
두번째 동작 모드는 데이터가 전송 포맷터 제어기(704)로부터 디코더(606)로 즉시 흐르도록 한다. 이 모드에서, 디코더(606)는 데이터를 내부적으로 버퍼링하는 것이 필요하다. 이것은 디코더(606)가 상기 첫째 모드에서보다 더 많은 메모리를 가질 것을 요구한다.
데이터는 전송 포맷터(604)로부터 디코더(606)의 고속 직렬 인터페이스(802)에 도착한다. 전송 프로세서(804)는 들어오는 전송 패킷들을 분류하여 이들을 알맞은 버퍼(비디오, 오디오, 프로그램 가이드, 다른 데이터, 등등)로 넣는다. 비디오 및 오디오 데이터는 비디오/오디오 디코더(806)에서 압축해제된다. 그 후에, 압축해제된 디지털 데이터는 NTSC 인코더/오디오 DAC(808)을 통해 아날로그 NTSC 신호로 변환된다.
본 발명의 시간 스탬핑 방법을 구현하는데 사용되는 시간 스탬핑 보드가 이제 더 설명된다. 비록, 서버(202)와 연관된 시간 스탬핑 보드를 기준으로 설명되었으나, 상술된 바와 같이, 클라이언트(204)와 연관된 시간 스탬핑 보드도 유사하다. 시간 스탬핑 보드(404)는 10 Mb/s 및 100 Mb/s 데이터 속도 둘 모두를 지원할 수 있는 PCI 이더넷 NIC 이다. 이 보드는 UDP 체크섬을 리셋할 수 있으며 데이터 프레임 안에 32-비트 시간 스탬프를 삽입시킬 수 있고, 뿐만 아니라 지정된 데이터 프레임을 위한 CRC를 재계산할 수 있다. 외부 인터페이스는 보드(404)로 하여금 PC PCI 또는 내장형 PCI 아키텍처 안으로 통합되도록 한다. 외부 클록 인터페이스는 시간 스탬프 값을 생성시키기 위해 제공된다.
도 9는 시간 스탬핑 보드(404)의 블록도를 예시한다. 시간 스탬핑 보드는, 이더넷 네트워크(902)에 연결된, 예컨대 RJ45인, 입력 잭(904)을 포함한다. 입력 잭(904)은 10/100 Base-TX Phy 트랜스포머(906)에 연결된다. 트랜스포머(906)는 물리계층 디바이스(908)에 연결되며, 이 디바이스는 10BASE-T 및 100BASE-X 이더넷 프로토콜을 둘 다 지원하기 위한 통합형 PMD 서브계층들을 구비하는 전 기능을 갖춘 물리계층 디바이스이다. 적절한 물리계층 디바이스(908)는 네셔널 세미컨덕터 코포레이션(National Semiconductor Corporation)에 의해 제조된 DP83843VJE를 포함할 수 있으나, 이에 제한되는 것은 아니다. 물리계층 디바이스(908)는 버스 버퍼(912)에 연결되며, 이 버퍼는 물리계층 디바이스(908) 및 시간 스탬프제어기(916) 사이에서 전압 레벨을 변환시킨다. 버스 버퍼(912)는 저 전압 CMOS Octal Bus 버퍼이다. 이것은 저출력 및 고속 3.3V 응용예에 대해서는 이상적이며 또한 입출력 둘 다에 대하여 5V-신호 환경에 대해서는 인터페이싱될 수 있다. 버스 버퍼(912)는 시간 스탬프 제어기(916)에 연결되는데, 이 제어기는, UDP 체크섬을 리셋하고, 시간 스탬프를 삽입하고 및 수신 및 전송 방향 둘 모두에서 유효한 데이터 프레임을 위하여 새로운 CRC를 재계산하는 것을 포함하여, 대부분의 시간 스탬핑 기능들을 제어하고 수행한다.
시간 스탬프 제어기(916)는 구성(configuration) 디바이스(918)에 연결되며, 이 구성 디바이스는 시간 스탬프 제어기(916)을 동작시키는 프로그램을 저장하고 로딩한다. 또한 시간 스탬프 제어기(916)는 이더넷 MAC 유닛(914)에 연결되는데, 이 유닛은 10 Mb/s 및 100 Mb/s 데이터 속도 둘 모두를 위한 LAN 제어기이다. 이더넷 MAC 유닛(914)은 주변 구성부품 상호연결(PCI: peripheral component interconnect) 로컬 버스 또는 CardBus로의 직접적인 인터페이스를 제공한다.
시간 스탬프 제어기(916)는 PHY 및 MAC로의 MII 인터페이스를 제공한다. 도 10에 도시된 바와 같이, 제어기(916)는 수신기 유닛(1002) 및 송신기 유닛(1004)으로 구성된다. 이 두 유닛은 분리되어 구현되지만, 동일한 외부 시스템 클록 및 리셋 신호를 공유한다.
도 11에 도시된 바와 같이, 수신기 유닛(1002)은 수신기 제어기(1102)와, 시간 스탬프 생성기(1114)와, 쉬프트 레지스터(1112)와, CRC 검증 모듈(1110)과, 새 CRC 계산 모듈(1106)과, 3:1 MUX(1108) 및 4:1 MUX(1104)를 포함한다. 수신기 제어기(1102)는 데이터 스트림의 상태를 검출하여 3:1 MUX(1108) 및 4:1 MUX(1104)를 적절한 출력 데이터(수신 데이터, 리셋 UDP 체크섬, 시간 스탬프, 새 CRC)에 대하여 인에블시킨다.
새 CRC 계산 모듈(1106)은 수정된 데이터 스트림(시간 스탬프 및 리셋 UDP 체크섬을 구비한 이더넷 패킷)을 위한 CRC 체크섬을 계산하며, 이 새 CRC는 상기 수정된 데이터 스트림 안으로 삽입될 것이고 그후 이 데이터 스트림은 MAC에 도착한다. 송신기 유닛(1004)에 대한 수신기 유닛(1002)의 차이는 수신기 유닛(1002)이 CRC 검증 모듈(1110)을 포함한다는 점이다. 수신된 패킷들에 대하여 CRC를 검증하는 것이 필요한데, 이 데이터가 매체 상에서 오염될(corrupted) 수 있다는 사실때문이다. 만약 CRC가 정확하지 않다면, 이는 해당 데이터가 실지로 오염되었다는 것을 나타낸다. 새롭고 정확한 CRC를 해당 데이터로 추가하는 대신, 상기 데이터는 부정확한 CRC를 가진 채로 MAC로 전달되어진다.
제어기(1102)는 모든 모듈 및 구성부품의 동작을 동기화시키고 제어한다. 두 개의 클록: 수신 클록 및 외부 시스템 클록이 사용된다. 시간 스탬프는 외부 클록에 의해 생성되고 모든 패킷의 시작부분에서 수신 클록 영역 안으로 래칭 즉 잠시 저장된다. 데이터는 PHY에서부터 수신되며 적절한 데이터(수신 데이터, 리셋 UDP 체크섬, 시간 스탬프, 새 CRC)가 IEEE 802.3에 따라 MAC로 송신된다.
데이터가 수신될 때, 시간 스탬프 T3는 적절한 영역 안에 삽입되고 새 CRC가 계산되어 MAC 계층에서 구 CRC 값을 대체한다. 다시 강조하지만, 본 발명의 중요한 양상은, 데이터 프레임이 네트워크로부터 수신될 때 시간 스탬프와 CRC가 생성되고물리계층에서 데이터 프레임 안에 삽입된다는 점이다. 이와 같이, 시간 스탬프 및 CRC는, 데이터 프레임이 네트워크로부터 수신된 실제 시간을 반영하는데, 이 데이터 프레임이 MAC 계층으로 이동될 때 상기 데이터 프레임 안으로 신속하고 효율적으로 삽입된다. 만약 패킷 조사의 임의의 시점에서 데이터 프레임이 유효한 시간 스탬프 프레임이 아니라고 또는 수신되는 동안 에러가 존재한다고 결정된다면, 데이터 프레임은 데이터에 대한 아무 변경없이 통과되어진다.
도 12에 도시된 바와 같이, 송신기 유닛(1004)은 송신기 제어기(1202)와, 시간 스탬프 생성기(1210)와, 쉬프트 레지스터(1208)와, 새 CRC 계산 모듈(1206)과, 3:1 MUX(1212) 및 4:1 MUX(1204)를 포함한다. 또한 송신기 제어기(1202)는 각각의 적절한 프로세스를 위하여 모든 모듈 및 구성부품의 동작을 제어한다. 두 개의 클록: 송신 클록 및 외부 시스템 클록이 사용된다. 시간 스탬프는 외부 클록에 의해 생성되고 모든 패킷의 시작에서 수신 클록 영역 내로 래칭된다. 여기서 다시, 시간 스탬프는 물리계층에서 생성하여 데이터 프레임 안으로 삽입된다.
본 발명이 바람직한 설계를 구비하는 실시예들로서 기술되었으나, 본 발명은 이 개시내용의 정신 및 범위 안에서 더 변형될 수 있다. 예컨대, 시간 스탬핑 특징은, HPNA(Home Phone-line Networking Alliance), PLC(Power Line Communications 전력선 통신), 및 예컨대 IEEE 802.11b인 특정 무선 네트워크를 비제한적으로 포함하여, 다른 비동기 네트워크에서 구현될 수도 있다. 따라서, 본 출원은 본 출원의 일반적인 원리를 사용하는 본 발명의 모든 변형예와 사용 또는 적응예를 포함하는 것으로 의도된다. 더 나아가, 본 출원은 본 발명과 관련되는 기술 분야의 알려진또는 통상적인 실제 기술의 범위내에서 유래하는 것 및 첨부된 청구범위의 함께 내에 들어오는 것과 같은 본 개시내용에서 변형된 예들을 포함하는 것으로 의도된다.
상술한 바와 같은 본 발명은 비동기 통신 네트워크 등에 이용가능하며, 특히 멀티-미디어 데이터 패킷에서 지터를 제거하기 위한 시스템 레벨 클록킹 구조를 구비하는 비동기 멀티-미디어 디지털 홈네트워크 등에 이용가능하다.

Claims (20)

  1. 패킷화된 멀티-미디어 데이터를 수신하고 패킷화된 멀티-미디어 데이터를 비동기 네트워크를 통해 송신하기 위한 서버 장치로서:
    복수의 신호 소스 중 선택된 하나로부터, 상기 선택된 신호 소스와 연관된 동기화 정보를 포함하는, 패킷화된 멀티-미디어 데이터를 수신하기 위한 입력단과;
    클록과;
    상기 입력단 및 상기 클록에 연결되고, 상기 동기화 정보에 응답하여 상기 선택된 신호 소스와 연관된 클록에 상기 클록을 상관화시키기 위한 클록 조정 인자를 생성시키며, 및 상기 패킷화된 멀티-미디어 데이터 및 상기 클록 조정 인자를 구비하는 데이터 프레임을 생성시키는 제어기와;
    상기 비동기 네트워크에 연결되고, 클라이언트 디바이스로 상기 데이터 프레임을 송신시키기 위한 출력단과;
    상기 제어기, 상기 클록 및 상기 출력단에 연결되고, 각각의 데이터 프레임 안에 동기화 시간 스탬프를 삽입시키기 위한 시간 스탬핑 디바이스를
    포함하며,
    상기 동기화 시간 스탬프는 각각의 데이터 프레임이 상기 비동기 네트워크 상으로 삽입되는 시간을 가리키며, 그럼으로써 상기 동기화 시간 스탬프 및 상기 클록 조정 인자는 클라이언트 디바이스가 상기 클라이언트 디바이스와 연관된 클록을 상기 선택된 신호 소스와 연관된 상기 클록에 동기화시키기 위해 사용될 수 있는,
    패킷화된 멀티-미디어 데이터를 수신하고 비동기 네트워크를 통해 송신하기 위한 서버 장치.
  2. 제 1 항에 있어서, 상기 제어기는 상기 패킷화된 멀티-미디어 데이터의 수신에 응답하여 데이터 흐름 시간 스탬프를 생성시키고, 각각의 데이터 흐름 시간 스탬프는 각각의 멀티-미디어 데이터 패킷이 상기 입력단에서 수신된 시간을 나타내며, 상기 데이터 프레임은 상기 패킷화된 멀티-미디어 데이터 및 연관된 데이터 흐름 시간 스탬프를 포함하고, 여기서 상기 데이터 흐름 시간 스탬프 및 상기 클록 조정 인자는 상기 패킷화된 멀티-미디어 데이터가 상기 입력단에서 수신되는 속도에 대응하도록 상기 클라이언트 디바이스 내의 데이터 흐름 속도를 제어하기 위하여 상기 클라이언트 디바이스에 의해 사용될 수 있는, 패킷화된 멀티-미디어 데이터를 수신하고 비동기 네트워크를 통해 송신하기 위한 서버 장치.
  3. 제 2 항에 있어서, 상기 데이터 프레임은 데이터 프레임 헤더와, 동기화 시간 스탬프를 수용하기 위한 시간 스탬프 데이터 부분과, 상기 클록 조정 인자를 수용하기 위한 클록 조정 부분과, 그리고 패킷화된 멀티-미디어 데이터 및 이들의 대응하는 데이터 흐름 시간 스탬프들을 수용하기 위한 데이터 부분을 포함하는, 패킷화된 멀티-미디어 데이터를 수신하고 비동기 네트워크를 통해 송신하기 위한 서버 장치.
  4. 제 3 항에 있어서, 상기 시간 스탬프 데이터 부분은 상기 동기화 시간 스탬프를 수용하기 위한 제 1 시간 스탬프 데이터 부분 및 상기 클라이언트 디바이스에 의해 추가된 제 2 동기화 시간 스탬프를 수용하기 위한 제 2 시간 스탬프 데이터 부분을 포함하는, 패킷화된 멀티-미디어 데이터를 수신하고 비동기 네트워크를 통해 송신하기 위한 서버 장치.
  5. 제 2 항에 있어서, 상기 비동기 네트워크는 이더넷(Ethernet) 네트워크인, 패킷화된 멀티-미디어 데이터를 수신하고 비동기 네트워크를 통해 송신하기 위한 서버 장치.
  6. 제 2 항에 있어서, 상기 비동기 네트워크는 HPNA(Home Phone-line Networking Alliance) 네트워크인, 패킷화된 멀티-미디어 데이터를 수신하고 비동기 네트워크를 통해 송신하기 위한 서버 장치.
  7. 제 2 항에 있어서, 상기 비동기 네트워크는 PLC(Power Line Communications: 전력선 통신) 네트워크인, 패킷화된 멀티-미디어 데이터를 수신하고 비동기 네트워크를 통해 송신하기 위한 서버 장치.
  8. 제 2 항에 있어서, 상기 비동기 네트워크는 무선(wireless) 네트워크인, 패킷화된 멀티-미디어 데이터를 수신하고 비동기 네트워크를 통해 송신하기 위한 서버 장치.
  9. 패킷화된 멀티-미디어 데이터를 비동기 네트워크를 통해 송신하기 위한 방법으로서:
    복수의 신호 소스 중 선택된 하나로부터, 상기 선택된 신호 소스와 연관된 동기화 정보를 구비하는, 상기 패킷화된 멀티-미디어 데이터를 수신하는 단계와;
    상기 동기화 정보에 응답하여 상기 선택된 신호 소스와 연관된 클록에 서버 클록을 상관화시키기 위한 클록 조정 인자를 생성시키는 단계와;
    상기 패킷화된 멀티-미디어 데이터 및 상기 클록 조정 인자를 구비하는 데이터 프레임을 생성시키는 단계와;
    클라이언트 디바이스로 상기 데이터 프레임을 송신하기 위하여 상기 비동기 네트워크 상에 상기 데이터 프레임을 삽입시키는 단계를
    포함하고,
    여기서 동기화 시간 스탬프가 생성되어 각 데이터 프레임 안에 삽입되며, 각 동기화 시간 스탬프는 각각의 데이터 프레임이 상기 비동기 네트워크 내에 삽입되는 시간을 가리키며, 여기서 상기 동기화 시간 스탬프 및 상기 클록 조정 인자는 클라이언트 디바이스가 상기 클라이언트 디바이스와 연관된 클록을 상기 선택된 신호 소스와 연관된 상기 클록에 동기화시키기 위해 사용될 수 있는,
    패킷화된 멀티-미디어 데이터를 비동기 네트워크를 통해 송신하기 위한 방법.
  10. 제 9 항에 있어서, 상기 패킷화된 멀티-미디어 데이터의 수신시 데이터 흐름 시간 스탬프들을 생성시키는 단계들을 더 포함하며, 각각의 데이터 흐름 시간 스탬프는 대응하는 멀티-미디어 데이터 패킷이 수신된 시간을 나타내며, 또한 상기 데이터 프레임 생성 단계는 상기 패킷화된 멀티-미디어 데이터 및 연관된 데이터 흐름 시간 스탬프를 구비하는 데이터 프레임을 생성시키는 단계를 포함하고, 그럼으로써 상기 클라이언트 디바이스는 상기 클라이언트 디바이스 내의 데이터 흐름 속도를 제어하여 상기 데이터 흐름 시간 스탬프 및 상기 클록 조정 인자에 따라 상기 패킷화된 멀티-미디어 데이터가 수신되는 속도에 대응하도록 할 수 있는, 패킷화된 멀티-미디어 데이터를 비동기 네트워크를 통해 송신하기 위한 방법.
  11. 비동기 네트워크를 통해, 각각의 데이터 프레임이 상기 비동기 네트워크 상에 삽입된 시간을 나타내는 동기화 시간 스탬프 및 신호 소스와 연관된 클록과 서버 클록을 상관화시키는 클록 조정 인자를 구비하는 데이터 프레임을 포함하는, 패킷화된 멀티-미디어 데이터를 수신하고 프로세싱하기 위한 장치로서:
    상기 비동기 네트워크에 연결되고, 복수의 신호 소스 중 선택된 하나와 연관되어 동작하는 서버 디바이스에 의해 송신된 상기 데이터 프레임을 수신하기 위한 입력단과;
    상기 입력단에 연결되고, 상기 데이터 프레임이 상기 입력단에서 수신된 시간을 나타내는 두번째 동기화 시간 스탬프를 생성시키기 위한 시간 스탬프 디바이스와;
    클록과;
    상기 클록 및 상기 시간 스탬프 디바이스에 연결되고, 상기 동기화 시간 스탬프, 상기 클록 조정 인자 및 상기 두번째 동기화 시간 스탬프에 응답하여 상기 복수의 신호 소스 중 상기 선택된 하나의 신호 소스와 연관된 클록에 상기 클록을 동기화시키기 위한 제어기를
    포함하는, 비동기 네트워크를 통해 패킷화된 멀티-미디어 데이터를 수신하고 프로세싱하기 위한 장치.
  12. 제 11 항에 있어서, 상기 데이터 프레임은 상기 패킷화된 멀티-미디어 데이터와 연관된 데이터 흐름 시간 스탬프를 더 포함하고, 상기 데이터 흐름 시간 스탬프는 각 멀티-미디어 데이터 패킷이 상기 서버에 의해 수신된 시간을 나타내고, 또한 상기 장치는 상기 패킷화된 멀티-미디어 데이터를 저장하기 위한 버퍼 및 디코더를 더 포함하여, 여기서 상기 제어기는 상기 데이터 흐름 시간 스탬프 및 상기 클록 조정 인자에 응답하여 상기 패킷화된 멀티-미디어 데이터가 상기 디코더로 전송되는 속도를 상기 패킷화된 멀티-미디어 데이터가 상기 서버에서 수신되는 속도에 대응하도록 제어하는, 비동기 네트워크를 통해 패킷화된 멀티-미디어 데이터를 수신하고 프로세싱하기 위한 장치.
  13. 제 12 항에 있어서, 상기 제어기는 상기 동기화 시간 스탬프, 상기 클록 조정 인자, 및 상기 두번째 동기화 시간 스탬프에 응답하여 상기 클록과 상기 신호 소스와 연관된 클록 사이의 차이를 나타내는 에러 신호를 생성하며, 또한 상기 에러 신호에 응답하여 상기 클록을 상기 신호 소스 클록에 주파수 록킹시키는, 비동기 네트워크를 통해 패킷화된 멀티-미디어 데이터를 수신하고 프로세싱하기 위한 장치.
  14. 제 12 항에 있어서, 상기 비동기 네트워크는 이더넷 네트워크인, 비동기 네트워크를 통해 패킷화된 멀티-미디어 데이터를 수신하고 프로세싱하기 위한 장치.
  15. 제 12 항에 있어서, 상기 비동기 네트워크는 HPNA 네트워크인, 비동기 네트워크를 통해 패킷화된 멀티-미디어 데이터를 수신하고 프로세싱하기 위한 장치.
  16. 제 12 항에 있어서, 상기 비동기 네트워크는 PLC 네트워크인, 비동기 네트워크를 통해 패킷화된 멀티-미디어 데이터를 수신하고 프로세싱하기 위한 장치.
  17. 제 12 항에 있어서, 상기 비동기 네트워크는 무선 네트워크인, 비동기 네트워크를 통해 패킷화된 멀티-미디어 데이터를 수신하고 프로세싱하기 위한 장치.
  18. 비동기 네트워크를 통해 수신된, 각각의 데이터 프레임이 패킷화된 멀티-미디어 데이터, 상기 데이터 프레임이 상기 비동기 네트워크 상에 삽입된 시간을 나타내는 동기화 시간 스탬프, 및 서버 클록과 신호 소스 클록 사이의 상관관계를 나타내는 클록 조정 인자를 포함하는, 상기 데이터 프레임의 수신에 응답하여 클라이언트 디바이스를 제어하기 위한 방법으로서:
    서버 디바이스에 의해 송신된 상기 데이터 프레임을 수신하는 단계와;
    상기 데이터 프레임의 수신시에, 각각이 각각의 데이터 프레임이 상기 비동기 네트워크를 통해 수신된 시간을 나타내는, 두번째 동기화 시간 스탬프를 생성시키는 단계와; 그리고
    상기 동기화 시간 스탬프, 상기 클록 조정 인자 및 상기 두번째 동기화 시간 스탬프에 응답하여 상기 신호 소스의 클록에 상기 클라이언트 디바이스 내의 클록을 동기화시키는 단계를
    포함하는, 비동기 네트워크를 통해 수신된 데이터 프레임의 수신에 응답하여 클라이언트 디바이스를 제어하기 위한 방법.
  19. 제 18 항에 있어서, 상기 동기화 단계는, 상기 동기화 시간 스탬프, 상기 클록 조정 인자, 및 상기 두번째 동기화 시간 스탬프에 응답하여 상기 클라이언트 디바이스 클록과 상기 신호 소스 클록 사이의 차이를 나타내는 에러 신호를 생성하는 단계와, 또한 상기 에러 신호에 응답하여 상기 클라이언트 디바이스 클록을 상기 신호 소스 클록에 주파수 록킹시키는 단계를 포함하는, 비동기 네트워크를 통해 수신된 데이터 프레임의 수신에 응답하여 클라이언트 디바이스를 제어하기 위한 방법.
  20. 제 18 항에 있어서, 상기 데이터 프레임은 데이터 흐름 시간 스탬프를 더 포함하고, 각 데이터 흐름 시간 스탬프는 대응하는 멀티-미디어 데이터 패킷이 상기 서버 디바이스에 의해 수신된 시간을 나타내며, 상기 방법은:
    상기 데이터 흐름 시간 스탬프 및 상기 클록 조정 인자에 응답하여, 상기 패킷화된 멀티-미디어 데이터가 상기 서버 디바이스에서 수신되는 속도에 대응하도록, 상기 패킷화된 멀티-미디어 데이터가 버퍼에서 디코더로 전송되는 속도를 제어하는 단계를 더 포함하는,
    비동기 네트워크를 통해 수신된 데이터 프레임의 수신에 응답하여 클라이언트 디바이스를 제어하기 위한 방법.
KR1020037000042A 2000-07-26 2001-06-29 비동기 디지털 홈네트워크에서 멀티-미디어 지터 제거 KR100815128B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22094000P 2000-07-26 2000-07-26
US60/220,940 2000-07-26
PCT/US2001/020748 WO2002009351A2 (en) 2000-07-26 2001-06-29 Multi-media jitter removal in an asynchronous digital home network

Publications (2)

Publication Number Publication Date
KR20030013517A true KR20030013517A (ko) 2003-02-14
KR100815128B1 KR100815128B1 (ko) 2008-03-20

Family

ID=22825655

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037000042A KR100815128B1 (ko) 2000-07-26 2001-06-29 비동기 디지털 홈네트워크에서 멀티-미디어 지터 제거

Country Status (10)

Country Link
US (1) US7366206B2 (ko)
EP (1) EP1303954B1 (ko)
JP (1) JP4575643B2 (ko)
KR (1) KR100815128B1 (ko)
CN (1) CN100576827C (ko)
AU (1) AU2001271632A1 (ko)
BR (1) BRPI0112741B1 (ko)
DE (1) DE60134860D1 (ko)
MX (1) MXPA03000543A (ko)
WO (1) WO2002009351A2 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8780982B2 (en) 2009-07-02 2014-07-15 Qualcomm Incorporated Transmitter quieting and different encoding rates for portions of a set of frames
KR101443880B1 (ko) * 2009-07-02 2014-09-24 퀄컴 인코포레이티드 송신기 침묵 및 감소된 레이트의 인코딩
US8958475B2 (en) 2009-07-02 2015-02-17 Qualcomm Incorporated Transmitter quieting and null data encoding
US9112618B2 (en) 2009-07-02 2015-08-18 Qualcomm Incorporated Coding latency reductions during transmitter quieting
US10069591B2 (en) 2007-01-04 2018-09-04 Qualcomm Incorporated Method and apparatus for distributed spectrum sensing for wireless communication

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002009331A2 (en) * 2000-07-20 2002-01-31 Thomson Licensing S.A. Multi-media jitter removal in an asynchronous digital home network
US6548097B1 (en) 2000-11-27 2003-04-15 Nestec S.A. Frozen confections comprising a gel composition
TW550905B (en) * 2002-10-22 2003-09-01 Via Tech Inc Method of clock synchronization and medium access controller applied in wireless local network
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US9207905B2 (en) 2003-07-28 2015-12-08 Sonos, Inc. Method and apparatus for providing synchrony group status information
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US7573902B2 (en) * 2003-08-28 2009-08-11 The Boeing Company Fibre channel interface unit
US7729374B2 (en) * 2003-08-28 2010-06-01 The Boeing Company Fibre channel interface apparatus and methods
BRPI0508112A (pt) * 2004-02-26 2007-07-17 Thomson Licesing método e aparelho para ajustar um oscilador de cristal controlado por tensão em um dispositivo de processamento de vìdeo
JP4323987B2 (ja) * 2004-03-16 2009-09-02 キヤノン株式会社 リアルタイム性パケットのリアルタイム性を維持してパケットを中継するネットワークスイッチ及びパケット中継方法
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US8024055B1 (en) 2004-05-15 2011-09-20 Sonos, Inc. Method and system for controlling amplifiers
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
KR100703494B1 (ko) * 2004-08-09 2007-04-03 삼성전자주식회사 이동통신 시스템에서 사용자 데이터 프로토콜 체크섬을 포함하는 음성패킷망의 패킷 송/수신 방법 및 장치
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
US7525999B2 (en) 2004-12-10 2009-04-28 Electronics And Telecommunications Research Institute Method and apparatus for providing dual variable clocks for low-power wireless packet communication
US20060215694A1 (en) * 2005-03-22 2006-09-28 Mediatek Incorporation Contention-free burst method for media access control over networks
US8238376B2 (en) * 2005-04-13 2012-08-07 Sony Corporation Synchronized audio/video decoding for network devices
KR100792983B1 (ko) * 2005-10-11 2008-01-08 엘지전자 주식회사 디지털 방송 처리방법
JP4634290B2 (ja) * 2005-11-29 2011-02-16 富士通株式会社 伝送装置
DE602005024158D1 (de) * 2005-12-19 2010-11-25 Alcatel Lucent Verfahren zum Durchreichen eines Signals mit konstanter Bitrate über einen Ethernet-Anschluss und System zur Ausführung des Verfahrens
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
FI119310B (fi) * 2006-10-02 2008-09-30 Tellabs Oy Menetelmä ja laitteisto aikaleimainformaation siirtämiseksi
DE602008001112D1 (de) 2007-02-06 2010-06-17 Thomson Licensing Vorrichtung zur Erzeugung von Zähler-Signalen zur Darstellung von Taktsignalen und Vorrichtung zur Wiederherstellung von Taktsignalen für ein paketgeschaltetes Netzwerk
US8437641B2 (en) * 2008-10-21 2013-05-07 Bay Microsystems, Inc. Clock regeneration for optical communications
CN101388741B (zh) * 2008-10-24 2012-12-12 中国科学院计算技术研究所 一种用于计算机网络的高精度时间同步设备、系统及方法
KR101133256B1 (ko) 2009-02-27 2012-04-09 한국과학기술원 시그니처 정보를 이용한 물리계층에서의 타임스탬프 처리장치 및 그 방법
KR101615296B1 (ko) * 2009-04-14 2016-04-25 에이티아이 테크놀로지스 유엘씨 내포된 클럭 복원
US8396133B2 (en) * 2009-04-21 2013-03-12 Qualcomm Incorporated Synchronizing video frames without hardware timestamps
KR101275291B1 (ko) * 2009-05-11 2013-06-14 한국과학기술원 시그니처 정보를 이용한 타임스탬핑 처리 장치 및 방법
US20110182257A1 (en) * 2010-01-26 2011-07-28 Qualcomm Incorporated White space spectrum commmunciation device with multiplexing capabilties
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US8938312B2 (en) 2011-04-18 2015-01-20 Sonos, Inc. Smart line-in processing
US9042556B2 (en) 2011-07-19 2015-05-26 Sonos, Inc Shaping sound responsive to speaker orientation
WO2013102847A1 (en) * 2012-01-04 2013-07-11 Marvell World Trade Ltd. Method and apparatus for communicating time information between time-aware devices
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
DE102012223307B4 (de) * 2012-12-14 2021-03-04 Continental Automotive Gmbh Synchronisieren von Datenpaketen in einem Datenkommunikationssystem eines Fahrzeugs
CN105706383B (zh) * 2013-02-22 2019-03-08 瑞典爱立信有限公司 时间同步的可插拔收发信机及其同步方法
US9244516B2 (en) 2013-09-30 2016-01-26 Sonos, Inc. Media playback system using standby mode in a mesh network
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US10825056B1 (en) 2014-04-17 2020-11-03 The Nielsen Company (Us), Llc Client-side video advertisement replacement using automatic content recognition
EP3002896B1 (en) * 2014-09-30 2018-05-30 Semtech Corporation Synchronization apparatus and method
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
US10798270B2 (en) 2017-03-10 2020-10-06 Sling Media Pvt. Ltd. Synchronizing media in multiple devices
CN113992268B (zh) * 2021-10-26 2022-11-25 上海兰卡教育科技有限公司 基于屏幕光调制的低速通讯方法和系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150363A (en) * 1989-08-11 1992-09-22 Digital Audio Disc Corporation Serial input/output multiplexing apparatus
JP2861515B2 (ja) * 1991-07-29 1999-02-24 日本電気株式会社 パケット網における送受信間クロック同期方式及びクロック同期装置
US5486864A (en) * 1993-05-13 1996-01-23 Rca Thomson Licensing Corporation Differential time code method and apparatus as for a compressed video signal
US5602992A (en) 1993-11-29 1997-02-11 Intel Corporation System for synchronizing data stream transferred from server to client by initializing clock when first packet is received and comparing packet time information with clock
JP3440390B2 (ja) * 1995-03-01 2003-08-25 日本電信電話株式会社 等時性保証型連続メディア伝送装置及び等時性保証型連続メディア伝送方法及び受信装置
US6069902A (en) * 1995-06-14 2000-05-30 Matsushita Electric Industrial Co., Ltd. Broadcast receiver, transmission control unit and recording/reproducing apparatus
US5907685A (en) * 1995-08-04 1999-05-25 Microsoft Corporation System and method for synchronizing clocks in distributed computer nodes
US5822317A (en) 1995-09-04 1998-10-13 Hitachi, Ltd. Packet multiplexing transmission apparatus
US5867488A (en) * 1996-06-30 1999-02-02 Motorola, Inc. Digital multi-channel simulcast system with centralized timestamping device
US6434116B1 (en) * 1997-11-07 2002-08-13 Telcordia Technologies, Inc. Method and system for stabilized random early detection using connection sampling
JP3642180B2 (ja) * 1998-04-24 2005-04-27 三菱電機株式会社 クロック再生装置
US6449291B1 (en) * 1998-11-24 2002-09-10 3Com Corporation Method and apparatus for time synchronization in a communication system
JP3700817B2 (ja) * 1999-01-05 2005-09-28 Necエンジニアリング株式会社 ソースクロック再生回路
US6700876B1 (en) * 1999-07-29 2004-03-02 International Business Machines Corporation Congestion monitoring and message flow control in a blocking network
WO2001043325A1 (en) * 1999-12-08 2001-06-14 Broadcom Homenetworking, Inc. Synchronized transport across non-synchronous networks
CA2301436A1 (en) * 2000-03-20 2001-09-20 Peter Renaud Method and system for multi-protocol clock recovery and generation
WO2002009331A2 (en) * 2000-07-20 2002-01-31 Thomson Licensing S.A. Multi-media jitter removal in an asynchronous digital home network
US7035246B2 (en) * 2001-03-13 2006-04-25 Pulse-Link, Inc. Maintaining a global time reference among a group of networked devices

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10069591B2 (en) 2007-01-04 2018-09-04 Qualcomm Incorporated Method and apparatus for distributed spectrum sensing for wireless communication
US8780982B2 (en) 2009-07-02 2014-07-15 Qualcomm Incorporated Transmitter quieting and different encoding rates for portions of a set of frames
KR101443880B1 (ko) * 2009-07-02 2014-09-24 퀄컴 인코포레이티드 송신기 침묵 및 감소된 레이트의 인코딩
US8902995B2 (en) 2009-07-02 2014-12-02 Qualcomm Incorporated Transmitter quieting and reduced rate encoding
US8958475B2 (en) 2009-07-02 2015-02-17 Qualcomm Incorporated Transmitter quieting and null data encoding
US9112618B2 (en) 2009-07-02 2015-08-18 Qualcomm Incorporated Coding latency reductions during transmitter quieting

Also Published As

Publication number Publication date
DE60134860D1 (de) 2008-08-28
US7366206B2 (en) 2008-04-29
BR0112741A (pt) 2003-09-02
US20040010729A1 (en) 2004-01-15
WO2002009351A2 (en) 2002-01-31
JP4575643B2 (ja) 2010-11-04
CN100576827C (zh) 2009-12-30
EP1303954A2 (en) 2003-04-23
MXPA03000543A (es) 2003-06-02
EP1303954B1 (en) 2008-07-16
CN1444814A (zh) 2003-09-24
AU2001271632A1 (en) 2002-02-05
BRPI0112741B1 (pt) 2016-02-10
WO2002009351A3 (en) 2002-04-11
KR100815128B1 (ko) 2008-03-20
JP2004505500A (ja) 2004-02-19

Similar Documents

Publication Publication Date Title
KR100815128B1 (ko) 비동기 디지털 홈네트워크에서 멀티-미디어 지터 제거
KR100777037B1 (ko) 비동기 디지털 홈네트워크에서 멀티-미디어 지터 제거
US7366754B2 (en) Multi-media jitter removal in an asynchronous digital home network
KR100825171B1 (ko) 비동기식 디지털 홈 네트워크에서의 멀티미디어 지터 제거
US8971326B2 (en) Apparatus and method for hardware payload header suppression, expansion, and verification
US7701978B2 (en) Method and apparatus for maintaining synchronization in a communication system
KR100932265B1 (ko) 패킷 전송 방법 및 장치
US20070220171A1 (en) Systems and methods for synchronization of asynchronous networks
US8068516B1 (en) Method and system for exchanging media and data between multiple clients and a central entity
EP1467507B1 (en) Method and apparatus for maintaining synchronization in a communication system
US7602816B2 (en) Systems and methods for serial packet synchronization in a voice processing system

Legal Events

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

Payment date: 20130219

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20200303

Year of fee payment: 13