KR20110088454A - 디바이스들의 토폴로지에서 오디오/비디오 스트리밍을 위한 메시지 전달 프레임워크 - Google Patents

디바이스들의 토폴로지에서 오디오/비디오 스트리밍을 위한 메시지 전달 프레임워크 Download PDF

Info

Publication number
KR20110088454A
KR20110088454A KR1020110008381A KR20110008381A KR20110088454A KR 20110088454 A KR20110088454 A KR 20110088454A KR 1020110008381 A KR1020110008381 A KR 1020110008381A KR 20110008381 A KR20110008381 A KR 20110008381A KR 20110088454 A KR20110088454 A KR 20110088454A
Authority
KR
South Korea
Prior art keywords
message
destination
action
source
devices
Prior art date
Application number
KR1020110008381A
Other languages
English (en)
Other versions
KR101280695B1 (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 KR20110088454A publication Critical patent/KR20110088454A/ko
Application granted granted Critical
Publication of KR101280695B1 publication Critical patent/KR101280695B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • 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/2368Multiplexing of audio and video streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • 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/1083In-session procedures
    • H04L65/1089In-session procedures by adding media; by removing media
    • 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/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2352/00Parallel handling of streams of display data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/10Use of a protocol of communication by packets in interfaces along the display data pipeline
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/20Details of the management of multiple sources of image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity

Abstract

오디오/비디오 스트리밍을 위한 토폴로지에서 리소스들이 관리될 수 있다. 토폴로지는 오디오/비디오 소스들 및 싱크들 및 개재하는 브랜치 디바이스들을 포함한다. 이러한 소스들, 싱크들, 및 브랜치 디바이스들 사이의 메시지들은 리소스 관리를 위해 이용될 수 있다.

Description

디바이스들의 토폴로지에서 오디오/비디오 스트리밍을 위한 메시지 전달 프레임워크{MESSAGE PASSING FRAMEWORK FOR AUDIO/VIDEO STREAMING IN A TOPOLOGY OF DEVICES}
본 발명은 일반적으로 비디오 및 오디오 데이터를 소스(source)하고 싱크(sink)하는 디바이스들에 관한 것이다.
디스플레이포트(DisplayPort)는 비디오 전자 표준 위원회(Video Electronic Standards Association; VESA)의 디지털 오디오/비디오 상호 접속 표준이다. 그것은 비디오 및 오디오가 컴퓨터로부터 비디오 디스플레이 또는 오디오 재생 시스템으로 연결되게 한다. 디스플레이포트 커넥터는 1초당 1.62, 2.7, 또는 5.4 기가비트의 심벌 레이트들로 클록 및 선택적인 오디오 신호들을 또한 운반하는 메인 링크에서 1, 2, 또는 4 데이터 쌍들을 지원한다. 1.1 표준은 2006년 5월에 승인되었고 2009년에는, 증가된 데이터 레이트들을 갖는, 1.2 표준이 발표되었다. 디스플레이포트 1.2 표준은 1.1 표준의 대역폭을 두 배로 한다.
디스플레이포트 1.2 표준에 의하면, 2개의 WQXGA 모니터들이 단일 소스 링크로부터의 오디오/비디오 데이터를 싱크할 수 있거나, 또는 4개의 WUXGA 모니터들이 단일 소스 링크로부터의 데이터를 싱크할 수 있다. 또한, 1.2 표준은, 몇 개의 애플리케이션들을 언급하자면, USB(Universal Serial Bus) 주변 디바이스 데이터 전송, 마이크로폰 오디오 전송, 또는 카메라 비디오 전송을 위해 사용될 수 있는 보다 고속의 AUX를 허용한다.
디스플레이 또는 싱크 디바이스들은, 직접 또는 브랜치 디바이스들(branch devices)로 지칭되는 것을 통해, 개인용 컴퓨터들 또는 소비자 전자 디바이스들 등의 소스 디바이스들에 접속될 수 있다. 오디오 또는 비디오 정보를 되풀이하는 리피터들(repeaters), 오디오 또는 비디오 정보를 하나의 포맷으로부터 다른 포맷으로 변환하는 컨버터들, 데이터를 복사(reproduce)하는 리플리케이터들(replicaters), 및 2개 이상의 소스 디바이스들로부터의 스트림들을 입력들로서 받아들이고 그것들을 그것의 하류 링크들(downstream links) 상에 송신하는 콘센트레이터들(concentrators)을 포함하는 여러 유형들의 브랜치 디바이스들이 존재한다. 디스플레이포트 1.2와 같은 인터페이스 표준들은 하나의 링크 상에 다수의 스트림들을 허용하고; 그러한 경우들에서, 이러한 2개 이상의 입력 스트림들은 단일 다운스트림 링크 상으로 송신될 수 있다. 일부의 콘센트레이터들은 스위칭 방식(switched fashion)으로 동작할 수 있다. 즉, 한번에 하나의 선택된 소스만이 송신할 수 있다.
소스, 싱크, 및 브랜치 디바이스들은, 함께, 주어진 소스가 0개 이상의 브랜치 디바이스들을 통해 하나 이상의 싱크들에 비디오를 스트리밍할 수 있는 토폴로지를 형성한다. 액티브 비디오 데이터는 다양한 디바이스 유형들을 접속하는 링크들을 통해 흐른다. 각각의 링크는 그것의 대역폭 및 그것이 지원하는 스트림들의 개수에 의해 제한된다. 싱크는 스트림을 렌더링하는 제한된 개수의 오디오 및 비디오 종점들(endpoints)을 가질 것이다. 따라서, 토폴로지에 기초하여, 이용 가능한 비디오 또는 오디오 리소스들에 대한 경합이 있을 수 있다.
도 1에 도시된 하나의 그러한 토폴로지는, 표시된 바와 같이, 2개의 소스들 및 5개의 싱크들을 포함할 수 있다. 소스 번호 1은 싱크 번호 1에 비디오를 스트리밍하기를 원하고, 소스 번호 2는 싱크 번호 2에 비디오를 스트리밍하기를 원하고, 브랜치 번호 2와 브랜치 번호 3 사이의 링크는 양쪽 경로들에 공통이다. 따라서, 이 경합과 관련하여 소스에서, 경로를 따라 그 또는 임의의 그외의 링크에서 얼마만큼의 대역폭이 이용 가능한지를 포함하는, 쟁점들이 발생할 수 있다. 다른 쟁점은 경로 상의 리소스들이 어떻게 예약될 수 있는지이다. 또 다른 쟁점은 얼마만큼의 오디오/비주얼 스트림들이 구동될 수 있는지이다. 그외의 쟁점들은 공유된 리소스들로의 액세스가 어떻게 관리될 수 있는지 및 오류들이 어떻게 통신될 수 있는지를 포함한다.
도 1은 일 실시예에 따른 오디오/비디오 분배 토폴로지의 개략도이다.
도 2는 일 실시예에 따른 열거(enumeration), 커밋(commit) 및 해제(release)에 대한 시퀀스 차트(sequence chart)이다.
도 3은 브랜치 디바이스의 일 실시예에 대한 개략도이다.
도 4는 일 실시예에 따른 열거 소프트웨어에 대한 순서도이다.
도 5는 일 실시예에 따른 메시지 시퀀스 차트이다.
도 6은 일 실시예에 따른 경로 리소스들의 열거에 대한 시퀀스 차트이다.
도 7은 도 6에 도시된 토폴로지에 대하여 다양한 디스플레이 구성들이 어떻게 확립될 수 있는지를 도시하는 시퀀스 차트이다.
도 8은 일 실시예에 따른 2개의 소스들과 2개의 싱크들 사이의 잠재적인 매핑을 묘사한 것이다.
도 9는 일 실시예에 대한 순서도이다.
도 10은 일 실시예에 대한 순서도이다.
도 11은 일 실시예에 따른 메시지 시퀀스를 도시한다.
도 12는 일 실시예에 따른 업 액션 경로 메시지 시퀀스(up action path message sequence)이다.
도 13은 일 실시예에 따른 목적지 시퀀스들의 맵핑이다.
도 14는 일 실시예에 따른 업링크 액션 경로 메시지에 대한 메시지 시퀀스 차트이다.
도 15는 일 실시예에 따른 소스와 브랜치 디바이스들 사이의 접속들을 묘사한 것이다.
도 16은 일 실시예에 따른 다수의 소스 및 브랜치 디바이스들을 묘사한 것이다.
도 17은 일 실시예에 따른 2개의 비디오 종점들을 갖는 토폴로지를 묘사한 것이다.
도 18은 일 실시예에 대한 순서도이다.
일부의 실시예들에 따르면, 비디오 및 오디오 데이터를 소스하고 싱크하는 디바이스들 사이에 특정한 메시지들이 교환될 수 있다. 그러한 메시지들에 응답하여 소스 및 싱크 디바이스들 사이의 경로를 따라 디바이스들에 의해 코디네이트 액션(coordinated action)이 취해질 수 있다. 메시지들은 그 어드레스에 의해 지정되는 대상 목적지(targeted destination)로 전송될 수 있다. 도 2에 도시된 바와 같이, 메시지들 ENUM_PATH_RESOURCES, COMMIT_PATH_RESOURCES, 및 RELEASE_PATH_RESOURCES가 사용될 수 있다. 이 메시지들은, 예를 들어, 디스플레이포트 명세 내의 AUX 채널에서 전송될 수 있다.
메시지 송신 전에 어드레스 공간들이 생성된다. 각각의 소스(10)는 메인 링크 대역폭 및 스트림들의 개수를 열거하기 위해 원하는 싱크(16)에 ENUM_PATH_RESOURCE 메시지(18)를 송신한다. 원하는 싱크(16)의 바로 상류(upstream)의 브랜치 디바이스(14)는, 20으로 표시된 바와 같이, 이용 가능한 대역폭(BW = x) 및 스트림들의 개수(# STREAMS = s)로 응답한다. 이 응답이 더 상류로 전파되기 전에, 상류 브랜치(12)는, 22로 표시된 바와 같이, 하류 경로로부터 무엇이 달성 가능한지를 반영하기 위해 하류 브랜치(14)로부터의 이용 가능한 대역폭(BW = x') 및 스트림 개수(# STREAMS = s')를 변경한다.
결국, 소스(10)는 경로 리소스들을 얻는다. 메시지는 (디스플레이포트 상의 AUX와 같은) 제어 버스에서 전송되지만, 문의(query)는 메인 링크 리소스들에 대한 것이다. 메인 링크 리소스들이 하나 또는 2개의 소스들에 의해 완전히 요구되는(spoken for) 경우에도, 제어 버스 상에 대역폭의 예약이 없고 토폴로지 내의 디바이스들 사이에 제어 메시지들이 교환된다.
메시지의 처리의 일부로서, 각각의 디바이스는 하류 링크로서 이용 가능한 대역폭의 양을 결정하기 위해 지정된 경로를 따라서 메인 링크를 트레이닝할 필요가 있을 수 있다. 오디오 리소스들도 이 절차의 일부로서 열거된다. 이것은 임의의 주어진 시점에서 스트리밍을 위해 이용 가능한 종점들의 개수를 결정하기 위한 것이다.
링크 대역폭 열거는, 비디오 모드 열거와 같은, 운영 시스템 동작들에 들어간다. 최종 사용자에 의한 구동될 비디오 모드의 이러한 비동기의 선택에 기초하여, 다음과 같이 COMMIT_PATH_RESOURCES 메시지(24)를 사용하여 커밋 절차가 완수될 수 있다. 열거된 대역폭은 커밋 시간에 이용 가능하지 않을 수 있다. 예를 들어, 상이한 소스들이 임의의 주어진 시간에 동일한 싱크에 상이한 ENUM_PATH_RESOURCES 메시지들을 전송할 수 있다. 그것들은 또한 공통의 링크를 갖는 경로들을 갖는 상이한 싱크들에 대한 것일 수 있다. 일례로서, 소스 번호 1 열거, 그 뒤를 잇는 소스 번호 2 열거, 그 뒤를 잇는 소스 번호 1 커밋의 시퀀스 뒤에, 예를 들어, 이전의 소스 번호 1 커밋 때문에 실패한 소스 번호 2 커밋이 온다.
소스(10)는 싱크(16)에 COMMIT_PATH_RESOURCE 메시지(24)를 전송한다. 메시지는 원하는 대역폭 및 스트림들의 개수를 갖는다. 지정된 경로를 따르는 모든 디바이스들(예를 들어, 브랜치들(12 및 14))은 이 소스를 위해 리소스들을 예약한다. 응답들(26 및 28)은 성공 또는 실패를 나타낼 수 있다.
각각의 디바이스는 그것이 원하는 리소스들을 성공적으로 커밋할 수 있을 때에만 COMMIT_PATH_RESOURCES(24)를 전파한다. 상이한 소스 디바이스들로부터의 독립적인 리소스 커밋들에 추가하여, 경로를 따르는 중간 링크들이 보다 낮은 대역폭으로 리트레이닝(retrain)하여, 실패에 대한 다른 이유를 제공할 수 있는 것이 가능하다. 링크 트레이닝은 송신기 또는 수신기가 전기적인 구성에 합의하게 하기 위해 수행되는 핸드셰이크(handshake)이다. 디바이스들의 토폴로지에 대해 설명하기 위해, 이 개념은 전체 경로로 확장되고, 여기에서 경로 상의 각각의 링크는 경로 트레이닝으로 지칭되는 코디네이트 방식(coordinated fashion)으로 트레이닝될 필요가 있다.
하류 디바이스가 커밋하는 데 실패하기 전에 일부의 디바이스들이 비디오 스트림에 대한 리소스들을 성공적으로 커밋했을 수 있는 것이 가능하다. 이러한 리소스들을 해제하기 위해, 소스 디바이스는 COMMIT_PATH_RESOURCES에 대한 실패를 수신한 후에 RELEASE_PATH_RESOURCES(30) 메시지를 송출할 수 있다.
액티브 비디오는 COMMIT_PATH_RESOURCES의 성공적인 완료 후에 개시된다. 반대로, 스트림이 종료될 예정일 때, 소스는, 경로를 따른 디바이스들에서 커밋된 리소스들의 해제를 가능하게 하기 위해 RELEASE_PATH_RESOURCES(32)를 발행한다.
도 3을 참조하면, 소스(10), 싱크(16), 및 도 3에서 34로서 표시된, 브랜치 디바이스들(12 또는 14) 각각은 프로세서(36)를 포함한다. 프로세서는 수신기(38) 및 송신기(40)에 결합될 수 있다. 프로세서(36)는 또한, 일 실시예에서, 열거 소프트웨어(44)를 포함하는 소프트웨어를 기억하는 저장소(storage)(42)에 결합될 수 있다. 따라서, 저장소(42)는 프로세서(36)에 의해 실행되는 명령어들(instructions)을 저장하는 컴퓨터 판독가능한 매체일 수 있다. 저장소(42)는 반도체, 광학, 또는 자기 메모리일 수 있다.
도 4에 도시된 열거 시퀀스(44)는 일 실시예에서 소프트웨어일 수 있지만, 그것은 또한 하드웨어 또는 펌웨어로 구현될 수도 있다. 마름모꼴(46)에서의 확인은 열거 메시지가 브랜치 디바이스에 의해 수신되었는지를 판정한다. 만약 그렇다면, 메시지 수신 브랜치 디바이스는 그 수신 디바이스의 이용 가능한 대역폭 및 이용 가능한 스트림들의 개수로 상류 브랜치 디바이스에 응답한다.
수신 디바이스가 어떤 시간 기간 후에 열거 메시지를 수신하지 않으면, 마름모꼴(50)에서의 확인은, 비수신 디바이스가(non-receiving device)가 대역폭 및 스트림들의 개수를 지정하는 하류 디바이스로부터 메시지를 수신하는 상류 디바이스인지를 판정한다. 만약 그렇다면, 상류 디바이스는 그것의 능력들을 반영하기 위해 필요한 스트림들의 개수 및 수신된 대역폭을 수정한다. 다음으로, 그것은 블록(54)에서 표시된 바와 같이, 필요한 경우, 원래의 대역폭 및 스트림들의 개수 또는 수정된 개수의 스트림들을 다음 브랜치 또는 소스로 송신한다.
도 5를 참조하면, 스트림의 추가 및 삭제를 위한 메시지 시퀀스 차트는 소스(60) 및 적절한 스트림 식별자들을 갖는 2개의 싱크들(62, 64)을 포함한다. 싱크1(62)에 대한 식별자는 "1"이고, 싱크2(64)에 대한 식별자는 1.2이다. 각각의 디바이스는 "1" 또는 "2"로 표시된 포트를 포함한다.
다음으로, 도 6을 참조하면, 소스1(60), 브랜치 + 싱크1(62), 및 싱크2(64) 사이의 시퀀스 차트가 도시되어 있다. AUX는 제어 채널을 나타내고 메인 링크는 데이터 채널을 나타낸다.
예를 들어, 도 5에 도시된 것과 같이, 토폴로지 내의 각각의 링크는 독립적인 제어 및 데이터 채널들로 이루어질 수 있고 접속들은 점대점(point-to-point)이다. 어드레싱 및 라우팅 메커니즘들을 사용하여 제어 채널 상의 메시지들을 임의의 디바이스로 전송하는 능력이 있다. 그 절차는, 도 6에 도시된 바와 같이, 소스들에서의 스트림 및 맵핑 테이블들 및 콘센트레이터들의 유지에 대한 로컬 고유 식별자들(locally unique identifiers)을 포함한다.
어드레스 생성 단계 동안에는, 어드레스 생성 메시지들(66)을 전송함으로써 토폴로지 내의 디바이스들 각각에 대하여 어드레스들이 동의된다. 다음으로, 소스는, AUX로 표시된, 제어 채널을 통해 브랜치 + 싱크1(62)에 ENUM_PATH_RESOURCES 메시지(68)를 전송한다. 그것은 또한 브랜치 + 싱크1(62)로뿐만 아니라 제어 경로를 통해 COMMIT_PATH_RESOURCES 메시지(70)를 송신한다.
바인딩은 토폴로지 내의 디바이스들이 다음 스트림에 대한 목적지에 합의하는 절차이다. 바인딩 절차는, 열거 후에, 새로운 스트림을 송신하기를 원하는 소스가, 로컬 고유 스트림 식별자(예를 들어, 싱크2에 대하여 1.2)로 식별된 원하는 목적지 싱크 디바이스에 ADD_STREAM 메시지(72)를 송출하는 것으로 개시된다. 소스(60)로부터 싱크 디바이스(64)로의 경로를 따르는 모든 디바이스들은 그것들의 맵핑 테이블들에서 스트림이 수신된 입력 포트(예를 들어, 1 또는 2) 및 스트림 식별자를 기억한다.
각각의 브랜치 디바이스(62)는 입력 스트림 식별자(그 자신에 대하여 ID 1) 대 출력 스트림 식별자(싱크2(64)에 대하여 1.2)의 맵핑을 수행한다. 다수의 소스들이 없는 경우, 입력 스트림 식별자는 출력 스트림 식별자와 동일하다. 각각의 브랜칭 디바이스는 출력 스트림 식별자 및 그것의 맵핑 테이블에서의 출력 포트 번호도 기억한다.
마지막으로, 브랜치 디바이스들은, 74로 표시된 바와 같이, 그 디바이스들에 대한 다른 리소스 제한들이 없다고 가정하여, 메시지에 포함된 라우트/어드레스에 의해 표시된 목적지로 메시지를 전방으로 포워딩한다. 그러한 리소스 제한들이 있는 경우에, 브랜치 디바이스는 단순히 NACK(negative acknowledgement)를 소스로 전송한다. 메시지는 원하는 목적지에서 종료한다. 싱크 디바이스가 스트림을 수신할 수 있으면, 그것은 소스에 ACK(acknowledgement)(76)로 응답한다. 그렇지 않은 경우, 싱크 디바이스는 NACK를 전송한다. 다음으로, 싱크는, 그것이 데이터 채널 상에 있는 다음의 새로운 스트림을 소비할 필요가 있다는 것을 인식한다. 모든 브랜치 디바이스들은 소스까지 ACK들(78)을 전파한다.
ACK를 수신하면, 소스 디바이스는 원하는 목적지에 이르는 그 링크 상의 데이터 채널 상에 새로운 스트림(80)을 송출한다. 브랜치 디바이스는, 82로 표시된 바와 같이, 그것들의 맵핑 테이블들로부터 기억된 새로운 스트림에 대한 경로를 따라 스트림을 라우팅한다. 싱크 디바이스는 그것이 이전에 수신한 메시지에 기초하여 새로운 스트림을 소비할 필요가 있다는 것을 인식하고, 스트림을 디스플레이 상에 제시한다.
동일한 스트림 식별자를 갖는 의도된 목적지에 전송된 삭제 스트림 메시지(delete stream message)(84, 86)를 통해 언바인딩(unbinding) 또는 삭제가 수행된다. 이것은, 싱크 디바이스가 스트림의 정지를 기대하고 브랜치 디바이스들이 그에 따라 그것들의 맵핑 테이블들을 변경하게 한다. 삭제 스트림 메시지에 대한 ACK 메시지의 수신은, 소스가 데이터 채널 상에 스트림을 전송하는 것을 중단하도록 트리거링한다.
도 7에서는, 도 4에 도시된 토폴로지에 대하여 다양한 디스플레이 구성들이 확립될 수 있다. "단일 디스플레이(single display)" 구성은 오디오 비디오 데이터를 제시하는 단지 하나의 디스플레이 디바이스이다. 그것은 이미 설명된 메시지들(72, 74, 80, 82, 84, 및 86)을 사용한다. "복제 모드(clone mode)" 구성은 동일한 콘텐트(92)가 2개의 모니터들 또는 디스플레이 디바이스들 상에 표시되도록 전송되는 경우이다. "확장 데스크톱(extended desktop)"은 양쪽 모니터들 상에 상이한 이미지들(94, 96)이 보여지는 대안적인 듀얼(dual) 디스플레이 구성이다.
도 8에서, 소스1(98) 및 소스2(100)로부터 나타내어진 바와 같이, 토폴로지에 다수의 소스들이 존재하는 경우, 각각의 소스는 겹치는 경로 상에서 동시에 동일한 스트림 식별자(이 경우 #1)를 갖는 ADD_STREAM 메시지를 발행할 수 있다. 이 경우, 이러한 새로운 스트림들에 대한 겹치는 경로 상에 있는 콘센트레이터 브랜치 디바이스(102)는, 그외의 것들은 차단하면서, 하나의 소스(이 경우 소스1)에 대한 ADD_STREAM 메시지만을 전파한다. 즉, 한번에 하나의 새로운 스트림만이 추가될 수 있다. 차단되지 않은 소스의 메시지가 데이터 채널에서 전달된 후에, 차단된 소스에 대하여 추가적인 ADD_STREAM 메시지가 전파된다.
브랜치 디바이스(104) 상에 다수의 입력 포트들이 존재할 때, 다음 이용 가능한 스트림 식별자가 할당되고, 브랜치 디바이스는 그것의 맵핑 테이블(108)에서 입력 스트림 식별자 및 포트 번호에 대한 그것의 출력 스트림 식별자 및 포트 번호를 기억한다.
하나의 이용 사례로서, 새로운 스트림이 추가될 수 있다. 콘센트레이터 브랜치 디바이스는, 액티브가 아닌 식별자를 갖는 추가 스트림 메시지를 발견할 때 그것의 맵핑 테이블에 새로운 엔트리(entry)를 추가한다. 필요하다면, 그것은 그 스트림에 대한 새로운 출력 식별자를 생성하고 ADD_STREAM 메시지를 전파하면서 그것을 사용한다. 콘센트레이터 브랜치 디바이스는 그것의 맵핑 테이블에 이 식별자에 대한 목적지 어드레스를 추가할 수 있다. 다른 이용 사례는 확장된 현존하는 스트림(existing stream extended)이다. 동일한 소스가 다른 ADD_STREAM 메시지를 통해 이미 액티브인 스트림에 제2 싱크를 추가하면, 콘센트레이터 브랜치 디바이스는, 그것이 이미 생성한 맵핑이 여전히 유효하기 때문에, 그것의 맵핑 테이블에 새로운 항목을 추가하지 않을 것이다. 그러나, 콘센트레이터는 그것의 맵핑 테이블에서 그것의 입력 식별자에 제2 목적지 어드레스를 추가한다.
또 다른 이용 사례는 스트림으로부터의 싱크의 제거이다. 콘센트레이터는 액티브 식별자에 대한 싱크의 어드레스를 갖는 삭제 스트림 메시지를 수신할 때 목적지 디바이스들의 목록으로부터 삭제를 위해 그 싱크의 어드레스를 마킹한다. 후속하여, 그것이 싱크 디바이스로부터 삭제 스트림 ACK 메시지를 수신할 때, 그것은 소스에 의해 인지될 식별자를 변경하기 위해 맵핑 테이블을 사용하여 소스에 그 메시지를 전파한다. 다음으로, 그것은 그것의 맵핑 테이블로부터 그 스트림에 대한 싱크의 어드레스를 삭제한다. 그것이 그 식별자를 갖는 스트림을 수신하는 마지막 싱크였으면, 그것은 그것의 맵핑 테이블로부터 엔트리를 삭제한다. 그렇지 않고, 그 식별자를 갖는 스트림을 소비하는 적어도 하나의 그외의 싱크가 있으면, 맵핑 테이블 내의 엔트리는 삭제되지 않는다.
도 9를 참조하면, 전술된 바인딩을 구현하기 위한 일 실시예에 따른 시퀀스(110)가 도시되어 있다. 시퀀스는 소프트웨어, 하드웨어, 또는 펌웨어로 구현될 수 있다. 소프트웨어 실시예들에서, 시퀀스는 브랜치 디바이스(34)에 대하여, 도 3에 도시된 프로세서(36)와 같은, 프로세서에 의해 실행되는 명령어들에 의해 구현될 수 있다. 그러한 경우, 시퀀스는 저장소(42)에 기억될 수 있다.
처음에, 브랜치 디바이스는, 블록(112)에서 표시된 바와 같이, ADD_STREAM 메시지를 수신한다. 그것은, 블록(114)에서 표시된 바와 같이, 그것의 맵핑 테이블에 그 메시지로부터의 입력 포트 및 STREAM_ID를 기억한다. 다음으로, 브랜치 디바이스는, 블록(116)에서 표시된 바와 같이, 입력 STREAM_ID를 출력 STREAM_ID에 맵핑한다. 그것은, 블록(118)에서 표시된 바와 같이, 그것의 맵핑 테이블에 출력 STREAM_ID 및 출력 포트 번호를 기억한다. 다음으로, 그것은, 블록(120)에서 표시된 바와 같이, 메시지를 전방으로 포워딩한다. 최후로, 메시지가 성공적으로 전달되면, 하류 디바이스로부터 ACK 메시지가 수신될 것이고, 브랜치 디바이스는, 블록(122)에서 표시된 바와 같이, ACK 메시지를 상류로 포워딩한다.
일부의 실시예들에서, 도 10에 도시된 메시지 전달 프레임워크(124)는 경로를 따르는 모든 디바이스들에 의한 액션을 허용하거나 또는 목적지 디바이스에 의한 액션만을 허용할 수 있다. 메시지들은 식별자들을 갖고, 각각의 새로운 메시지가 정의될 때 새로운 식별자가 할당된다. 메시지의 정의는 그것이 경로 메시지인지 또는 목적지 메시지인지의 판정을 포함한다. 경로 메시지들은, 액션이 수행되는 방향에 따라 2가지 유형이며, 싱크를 향하여 아래로 가는 도중에, 그 경우에 그것은 다운 액션 경로 메시지(down action path message)이고, 또는 소스 디바이스까지 위로 가는 도중에, 그 경우에 그것은 업 액션 경로 메시지(up action path message)이다. 메시지들은 토폴로지 내의 임의의 디바이스에 의해 시작될 수 있다. 각각의 메시지는 목적지 어드레스 및 관련 라우팅 정보를 갖는다.
도 10에 도시된 메시지 전달 프레임워크(124)는 소프트웨어, 하드웨어, 또는 펌웨어로 구현될 수 있다. 예를 들어, 그것은, 예를 들어, 브랜치 디바이스 또는 싱크 디바이스일 수 있는 디바이스(34) 내의, 도 3에 도시된 저장소(42)와 같은 컴퓨터 판독가능한 매체 상에 기억된 명령어들의 형태로 소프트웨어로 구현될 수 있다.
일 실시예에 따르면, 도 10에 도시된 시퀀스는, 블록(126)에서 표시된 바와 같이, 상류 디바이스로부터 메시지를 수신함으로써 개시된다. 메시지를 수신하는 디바이스는, 2개의 예시들로서, 브랜치 디바이스 또는 싱크 디바이스일 수 있다. 수신 디바이스는, 그것이 최후의 목적지이건 아니건 간에, 블록(128)에서 표시된 바와 같이, 메시지 정의를 취득한다. 다음으로, 마름모꼴(130)에서, 디바이스는 메시지 정의에 의해 업 액션 메시지가 지시되는지를 판정하기 위해 확인한다. 만약 그렇다면, 그것은, 블록(132)에서 표시된 바와 같이, 메시지의 수신 시에 메시지에서 요청된 액션들을 수행한다.
그렇지 않다면, 그것은 업 액션 메시지가 아니며, 마름모꼴(134)에서의 확인은 그것이 다운 액션 메시지인지를 판정한다. 그것이 다운 액션 메시지이면, 블록(136)에서 표시된 바와 같이, 메시지의 수신 시와는 대조적으로, ACK 시에 액션들이 수행된다.
반대로, 그것이 다운 액션 메시지가 아니면, 마름모꼴(138)에서 결정된 바와 같이, 그것이 목적지 메시지인 경우, 블록(140)에서 표시된 바와 같이, 메시지를 수신하는 디바이스가 최후의 목적지인 경우에만 액션이 수행된다.
메시지 전달 프레임워크는, 디바이스들이 접속된 오디오 비주얼 소스, 브랜치, 및 싱크 디바이스들의 점대점 토폴로지 내의 지정된 경로 상에서 코디네이트 액션을 수행할 수 있게 한다. 프레임워크는, 토폴로지 발견, 어드레스 생성, 라우팅, 바인딩 및 스트림 관리, 리소스 관리, 및 전력 관리를 포함하는 다양한 동작들을 위해 사용될 수 있다.
도 11에 도시된 다운 액션 메시지는 다음과 같이 동작한다. 메시지를 전송하기 전에, 소스(110)는 필요한 임의의 메시지 특정 액션(119)을 수행한다. 메시지(112)는 소스 액션이 성공하는 경우에만 전송된다. 소스 디바이스는, 어드레스/라우팅 정보에 기초하여 결정된, 하류 포트 상에 메시지를 전송함으로써 목적지 디바이스에 메시지를 송신한다. 메시지를 수신하는 각각의 브랜치 디바이스(114 또는 116) 또는 싱크(118)는, 그 메시지 유형에 의해 요구된 액션(119)을 수행한다. 목적지(예를 들어, 싱크(118))에서 액션이 성공적으로 완료되면, 그것은 ACK(acknowledgement)(120)로 응답한다. 이 ACK는 소스까지 전파된다.
업 액션 메시지(122)는 도 12에 도시된 바와 같이 동작한다. 여기에서, 액션들(119)은 ACK(120)의 일부로서 행해진다.
목적지 메시지들은 도 13에 도시된 바와 같이 동작한다. 액션(119)은 목적지, 본 예시에서, 싱크(118)에 의해서만 행해진다. 경로 내의 그외의 디바이스들은 단순히 메시지 및 ACK를 포워딩한다.
경로 상의 모든 링크들을 트레이닝하고 있는, 경로 트레이닝을 위한 다운 액션 경로 메시지의 이용이 도 14에 도시되어 있다. 도 13에서, 각각의 디바이스에서의 액션(119)은 링크 트레이닝이다. 이용되는 메시지는 TRAIN_LINKS_ON_PATH이지만, 임의의 그외의 메시지가 이용될 수 있다. 도 13에서, 메시지는 브랜치(116)로 향해진다.
도 15는, 업 액션 메시지로서 구현되는 경우의 TRAIN_LINKS_ON_PATH에 대한 메시지 시퀀스 차트이다. 여기에서, 액션들(119)은 모두 ACK들(120)의 일부로서 일어난다.
인터페이스 특정 프레임워크(interface-specific framework)는 소스 디바이스가 상이한 경로들을 통해 열거된 기능들이 동일한 디바이스의 일부분인 것을 결정하는 것을 가능하게 할 수 있다. 디스플레이포트 표준은 "인터페이스"의 예이다. 열거를 위한 상이한 경로들은: a) 상이한 인터페이스 유형들을 특징짓는 경로들 또는 b) 동일한 인터페이스 유형 내의 단지 상이한 경로들일 수 있다. 프레임워크는 디바이스가 Microsoft® Windows® 및 USB(Uniserval Serial Bus)와 같은 다른 기술들이 지원하는 컨테이너 식별자 이니시어티브들(container identifier initiatives)과 관련하여 이용되는 것을 가능하게 하고, 연결된 디바이스들에 대하여 기능 중심적이기보다 디바이스 중심적인 사용자 인터페이스들을 가능하게 한다.
프레임워크는 (디스플레이포트의 경우에 디스플레이포트 구성 데이터(DisplayPort configuration data; DPCD)일 수 있는) container_ID 레지스터들의 세트를 통해 노출된 16 비트 전역 고유 식별자(globally unique identifier; GUID)를 포함할 수 있다. DPCD는 본질적으로 상태 확인, 명령 통신을 위해 이용되고, 인터럽트에 대한 컨텍스트를 제공하기 위해 이용되는 레지스터들의 세트이다. container_ID 레지스터들은 브랜치 디바이스들, 복합 싱크 디바이스들, 및 다수의 트랜스포트들을 갖는 임의의 디바이스에서 지원될 수 있다.
주어진 수의 비디오 종점들을 갖는 싱크 디바이스는 그 수의 확장 디스플레이 식별 데이터(Extended Display Identification Data; EDID) 구조들로 응답할 것으로 기대된다. EDID 데이터 구조는 소스에게 모니터의 능력들에 관하여 알려준다. EDID는 VESA 표준이다. 싱크 디바이스가 통합된 USB(Universal Serial Bus) 또는 허브 디바이스를 가질 때, 싱크의 전역 고유 식별자는 그 USB 또는 허브의 컨테이너 설명자(container descriptor) 내의 전역 고유 식별자와 매칭한다. 디바이스에 통합되는 모든 기능들은, 그것들이 액세스되는 인터페이스 유형에 관계없이, 동일한 전역 고유 식별자를 통지한다. 다수의 비디오 종점들을 갖는 싱크에서, 각각의 어드레스로부터의 container_ID 레지스터들은 동일한 전역 고유 식별자를 반환한다. 토폴로지 내의 각각의 디바이스에 대하여, 소스 디바이스는 토폴로지 발견 프로세스의 일부로서 전역 고유 식별자를 판독한다. 만약 디바이스가 전역 고유 식별자를 포함한다면, 소스 디바이스는 동일한 디바이스가 다수의 경로들에 대하여 또는 다수의 인터페이스들을 통해 액세스되었는지를 결정하기 위해 전역 고유 식별자를 판독한다.
그렇지 않다면, 소스 디바이스는 어떤 인터페이스 특정 수단을 통해 동일한 물리 디바이스에 있는 기능들을 추론한다. 인터페이스가 디스플레이포트 표준인 경우에, 이것은 하류 디바이스의 상대 어드레스(relative address; RAD)에 기초할 수 있다. 디바이스들의 토폴로지에 직면할 때, 통신을 시작하는 각각의 디바이스는 네트워크에서 유효한 목적지 디바이스에 대한 어드레스를 생성할 필요가 있다. 그 어드레스는 상대 조소로 불리는데, 그 이유는 각각의 디바이스에 의해 생성된 어드레스는 유효하지만 동일한 목적지에 대하여 다른 소스에서 생성되는 것과 다를 수 있기 때문이다. 그 후, 소스는 각각의 상대 어드레스로부터 EDID를 판독한다. 전역 고유 식별자가 생성되고 EDID를 통해 식별된 디바이스와 관련된다. 이 생성된 전역 고유 식별자는 운영 시스템에서 컨테이너 식별자 프레임워크와 함께 이용된다.
따라서, EDID는 몇몇 실시예들에서 고유 일련 번호를 포함한다. 만약 이것이 유효하지 않다면, 다수의 EDID들과 관련되는 동일한 전역 고유 식별자의 변화가 있고, 불량한 사용자 경험을 초래한다.
소스 및 브랜치 디바이스들 사이의 다수의 연결들이 도 16에 도시되어 있다. 이 경우, 싱크에의 2개의 경로들이 있기 때문에 소스는 그 싱크 디바이스에 대하여 2개의 어드레스들을 생성한다. 소스는 양쪽 경로들을 통해 동일한 전역 고유 식별자를 판독하기 때문에, 그것은 양쪽 경로들이 동일한 싱크 디바이스를 판독한다는 것을 추론할 수 있다. 전역 고유 식별자가 없어졌다면, 소스는 동일할 EDID를 양쪽 경로들로부터 판독하여, 전역 고유 식별자를 생성하고, 그 전역 고유 식별자를 싱크 디바이스와 관련시킨다. 이 식별자는 그 후 운영 시스템에 반환된다.
도 17은 2개의 비디오 종점들을 갖는 예를 나타낸다. 소스의 시퀀스는 다음과 같다. 소스는 다시 싱크 디바이스 내의 각각의 비디오 종점에 대하여 하나씩, 2개의 어드레스들을 생성한다. 소스는 각각의 비디오 종점 어드레스들로부터 레지스터에 대한 컨테이너 식별자를 판독한다. 싱크는 그것 안에 2개의 인터페이스들을 갖기 때문에, 프레임워크는 전역 고유 식별자가 싱크에 존재할 것을 요구하고 그 전역 고유 식별자가 양쪽 인터페이스들에서 동일할 것을 요구한다. 소스는 그 전역 고유 식별자가 동일한 것을 검출하고 그 2개의 비디오 종점들이 동일한 물리 디바이스의 일부인 것을 추론한다.
도 18을 참조하여, 하나의 실시예에 따르면, 시퀀스(150)는 도 3에 도시된 형태로 소스에 의해 구현될 수 있다. 몇몇 실시예들에서, 도 18에 도시된 시퀀스는 소프트웨어, 하드웨어, 또는 펌웨어로 구현될 수 있다. 소프트웨어 실시예들에서, 그것은 프로세스(36)와 같은 프로세서에 의해 실행되고 저장소(42)에 저장된 명령어들의 시퀀스에 의해 구현될 수 있다.
초기 열거 또는 토폴로지 발견 단계 동안에, 토폴로지 내의 각각의 디바이스에 대하여 식별자가 판독된다(블록(152)). 즉, 소스는 토폴로지 내의 디바이스들에 대한 식별자를 취득한다. 그 식별자는 이 문서에서 이미 설명된 식별자들 중 임의의 것일 수 있다. 그 후 소스는, 블록(154)에서 표시된 바와 같이, 경로를 통해 소스의 하류의 목적지에의 연결을 확립한다. 그 후 소스는, 블록(156)에서 표시된 바와 같이, 연결 경로 내의 디바이스의 식별자들을 비교한다. 만약, 블록(158)에서 결정된 바와 같이, 식별자들이 매칭하면, 소스는 매칭하는 식별자들을 갖는 경로 디바이스들은 동일한 브랜치 또는 싱크 디바이스의 일부라고 결론짓는다. 따라서, 2개의 디바이스들이 동일한 식별자를 가질 때 발생할 수 있는 모호함은, 몇몇 실시예들에서, 쉽게 다루어질 수 있다.
본 명세서의 전체에 걸쳐서 "일 실시예" 또는 "실시예"의 언급들은 그 실시예와 관련하여 설명된 특정한 특징, 구조, 또는 특성은 본 발명 내에 포함되는 적어도 하나의 구현에 포함된다는 것을 의미한다. 따라서, "일 실시예" 또는 "실시예에서"라는 구의 출현들은 반드시 동일한 실시예를 지시하는 것은 아니다. 더욱이, 특정한 특징들, 구조들, 또는 특성들은 설명된 특정한 실시예 이외의 다른 적당한 형태들로 실시될 수 있고 모든 그러한 형태들은 본 출원의 청구항들 내에 포함될 수 있다.
본 발명은 제한된 수의 실시예들에 관하여 설명되었지만, 숙련된 당업자들은 그로부터 다수의 수정들 및 변형들을 이해할 것이다. 첨부된 청구항들은 본 발명의 참된 사상 및 범주 내에 분류되는 모든 그러한 수정들 및 변형들을 포함하는 것이 의도된다.

Claims (24)

  1. 비디오 데이터를 소스(source)하고 싱크(sink)하는 디바이스들을 포함하는, 디바이스들의 토폴로지 내의 임의의 디바이스가 메시지 내의 유형 지시자(type indicator)에 따라 상기 메시지에서 지정된 액션을 취할 수 있게 하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    소스로부터 싱크로 전송된 메시지를 수신하는 상기 토폴로지 내의 각각의 디바이스가 상기 메시지 내의 상기 지시자의 성질(nature)에 따라 액션을 취할 수 있게 하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    메시지 지시자가 액션들이 목적지로 가는 도중에(on the way to the destination) 행해지는 것을 지시하는지를 판정하고, 만약 그렇다면, 상기 메시지의 수신 시에 요구되는 임의의 액션들을 수행하는 단계를 포함하는 방법.
  4. 제1항에 있어서,
    메시지 지시자가 액션들이 최후의 목적지로부터의 ACK(acknowledgement) 시에만 수행되는 것을 지시하는지를 판정하고, 만약 그렇다면, ACK의 수신 시에만 임의의 액션들을 수행하는 단계를 포함하는 방법.
  5. 제1항에 있어서,
    메시지의 지시자가 목적지만이 액션들을 수행하는 것을 지시하는지를 판정하고, 만약 그렇다면, 수신하는 디바이스가 목적지인지를 판정하고, 만약 그렇다면, 그리고 그러한 경우에만, 상기 메시지 내의 액션을 수행하는 단계를 포함하는 방법.
  6. 제5항에 있어서,
    상기 디바이스가 상기 메시지의 목적지가 아니라면, 상기 메시지를 상기 목적지로의 경로를 따라 전송하는 단계를 포함하는 방법.
  7. 제1항에 있어서,
    상기 메시지 내의 액션의 완료 시에, 상기 소스에 ACK를 다시 제공하는 단계를 포함하는 방법.
  8. 제1항에 있어서,
    상기 메시지의 수신 시에 액션을 요구하는 메시지에 응답하여 경로 트레이닝을 구현하는 단계를 포함하는 방법.
  9. 제1항에 있어서,
    상기 메시지의 목적지로부터의 ACK의 수신 시에만 액션을 요구하는 메시지를 사용하여 경로 트레이닝을 구현하는 단계를 포함하는 방법.
  10. 제1항에 있어서,
    메시지의 유형 및 상기 디바이스가 메시지의 목적지인지 여부에 따라 오디오 및 비디오 데이터를 소스하고 싱크하는 디바이스들의 토폴로지 내의 디바이스들에 의한 액션을 요구하는 메시지들을 수신하는 단계를 포함하는 방법.
  11. 비디오 데이터의 소스 및 싱크를 포함하는 디바이스들의 토폴로지 내의 디바이스 내의 프로세서에 의해 실행되는 명령어들을 기억하는 컴퓨터 판독가능한 매체로서, 상기 명령어들은,
    수행될 액션을 갖는 메시지를 수신하고,
    메시지 유형을 판정하고,
    상기 메시지 유형에 기초하여, 상기 메시지에서 지정된 액션을 수행하는 컴퓨터 판독가능한 매체.
  12. 제11항에 있어서,
    상기 메시지 유형이 액션들이 목적지로 가는 도중에 행해져야 하는 것인지를 판정하고, 만약 그렇다면, 상기 메시지의 수신 시에 요구되는 임의의 액션들을 수행하는 명령어들을 또한 기억하는 컴퓨터 판독가능한 매체.
  13. 제11항에 있어서,
    상기 메시지가 액션들이 최후의 목적지로부터의 ACK 시에만 수행되는 유형인지를 판정하고, 만약 그렇다면, ACK의 수신 시에만 임의의 액션들을 수행하는 명령어들을 또한 기억하는 컴퓨터 판독가능한 매체.
  14. 제11항에 있어서,
    상기 메시지의 유형이 목적지만이 액션들을 수행하는 것인지를 판정하고, 만약 그렇다면, 수신하는 디바이스가 목적지인지를 판정하고, 만약 그렇다면, 그리고 그러한 경우에만, 상기 메시지에서 지시된 액션을 수행하는 명령어들을 또한 기억하는 컴퓨터 판독가능한 매체.
  15. 제14항에 있어서,
    만약 상기 디바이스가 상기 메시지의 목적지가 아니라면 상기 메시지를 상기 목적지로의 경로를 따라 전송하는 명령어들을 또한 기억하는 컴퓨터 판독가능한 매체.
  16. 제11항에 있어서,
    상기 메시지에서 지시된 액션의 완료 시에 상기 소스에 ACK를 다시 제공하는 명령어들을 또한 기억하는 컴퓨터 판독가능한 매체.
  17. 제11항에 있어서,
    상기 메시지의 수신 시에 액션을 요구하는 메시지에 응답하여 경로 트레이닝을 구현하는 명령어들을 또한 기억하는 컴퓨터 판독가능한 매체.
  18. 제11항에 있어서,
    상기 메시지의 목적지로부터의 ACK의 수신 시에만 액션을 요구하는 메시지를 이용하여 경로 트레이닝을 구현하는 명령어들을 또한 기억하는 컴퓨터 판독가능한 매체.
  19. 제11항에 있어서,
    상기 메시지의 유형 및 수신하는 디바이스가 상기 메시지의 목적지인지 여부에 따라 비디오 데이터를 소스하고 싱크하는 디바이스들의 토폴로지 내의 디바이스들에 의한 액션을 요구하는 메시지들을 수신하는 명령어들을 또한 기억하는 컴퓨터 판독가능한 매체.
  20. 제11항에 있어서,
    상기 메시지의 소스와 목적지 사이의 상기 메시지의 경로를 따라 임의의 디바이스에 의해 동작될 수 있는 메시지들을 가능하게 하는 명령어들을 또한 기억하는 컴퓨터 판독가능한 매체.
  21. 디바이스들의 토폴로지 내의 소스로부터 메시지들을 수신하는 수신기 - 상기 소스는 상기 토폴로지 내의 싱크에 비디오 데이터를 소스함 -;
    상기 싱크 쪽으로 비디오 데이터를 송신하는 송신기; 및
    수행될 액션을 갖는 메시지를 소스로부터 수신하고, 메시지 유형을 판정하고, 상기 메시지에서 지정된 액션을 상기 메시지의 수신 시에 수행할지, 상기 메시지의 목적지로부터의 ACK의 수신 시에 수행할지, 또는 상기 액션을 전혀 수행하지 않을지를 판정하는 유닛
    을 포함하는 장치.
  22. 제21항에 있어서,
    상기 유닛은 상기 메시지 유형이 액션들이 목적지로 가는 도중에 행해져야 하는 것인지를 판정하고, 만약 그렇다면, 상기 메시지의 수신 시에 상기 메시지 내의 액션을 수행하는 장치.
  23. 제21항에 있어서,
    상기 유닛은 상기 메시지가 액션들이 최후의 목적지로부터의 ACK 시에만 수행되어야 하는 유형인지를 판정하고, 만약 그렇다면, ACK의 수신 시에만 액션들을 수행하는 장치.
  24. 제21항에 있어서,
    상기 유닛은 상기 메시지의 유형이 상기 메시지의 목적지만이 액션을 수행하는 것인지를 판정하고, 만약 그렇다면, 상기 장치가 목적지인지를 판정하고, 만약 그렇다면, 그리고 그러한 경우에만, 상기 메시지에서 지시된 액션을 수행하는 장치.
KR1020110008381A 2010-01-28 2011-01-27 디바이스들의 토폴로지에서 오디오/비디오 스트리밍을 위한 메시지 전달 프레임워크 KR101280695B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US29893610P 2010-01-28 2010-01-28
US61/298,936 2010-01-28
US12/821,306 2010-06-23
US12/821,306 US20110185026A1 (en) 2010-01-28 2010-06-23 Message Passing Framework for Audio/Video Streaming in a Topology of Devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020130031470A Division KR101394796B1 (ko) 2010-01-28 2013-03-25 디바이스들의 토폴로지에서 오디오/비디오 스트리밍을 위한 메시지 전달 프레임워크

Publications (2)

Publication Number Publication Date
KR20110088454A true KR20110088454A (ko) 2011-08-03
KR101280695B1 KR101280695B1 (ko) 2013-07-02

Family

ID=44309012

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020110008460A KR101244957B1 (ko) 2010-01-28 2011-01-27 디바이스들의 토폴로지 내에서의 오디오/비디오 스트리밍을 위한 바인딩
KR1020110008381A KR101280695B1 (ko) 2010-01-28 2011-01-27 디바이스들의 토폴로지에서 오디오/비디오 스트리밍을 위한 메시지 전달 프레임워크
KR1020130031470A KR101394796B1 (ko) 2010-01-28 2013-03-25 디바이스들의 토폴로지에서 오디오/비디오 스트리밍을 위한 메시지 전달 프레임워크

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020110008460A KR101244957B1 (ko) 2010-01-28 2011-01-27 디바이스들의 토폴로지 내에서의 오디오/비디오 스트리밍을 위한 바인딩

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020130031470A KR101394796B1 (ko) 2010-01-28 2013-03-25 디바이스들의 토폴로지에서 오디오/비디오 스트리밍을 위한 메시지 전달 프레임워크

Country Status (6)

Country Link
US (8) US8782237B2 (ko)
JP (1) JP5542707B2 (ko)
KR (3) KR101244957B1 (ko)
CN (4) CN102164072B (ko)
DE (1) DE102011008793B4 (ko)
TW (3) TWI538501B (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782237B2 (en) 2010-01-28 2014-07-15 Intel Corporation Audio/video streaming in a topology of devices
US20120300045A1 (en) * 2011-05-24 2012-11-29 Optoma Corporation Projection apparatus, decoder, and image processing method for the projection apparatus
US9398065B2 (en) 2011-12-17 2016-07-19 Intel Corporation Audio/video streaming in a topology of devices with native WiGig sink
JP5870733B2 (ja) 2012-02-14 2016-03-01 セイコーエプソン株式会社 表示装置、及び、表示装置の制御方法
KR101369146B1 (ko) 2012-07-16 2014-03-06 옵티시스 주식회사 영상 시스템
WO2014189318A1 (en) * 2013-05-23 2014-11-27 Samsung Electronics Co., Ltd. Proxy based communication scheme in docking structure
US9984652B2 (en) 2013-08-22 2018-05-29 Intel Corporation Topology and bandwidth management for IO and inbound AV
DE102014111457B4 (de) * 2013-08-22 2018-03-15 Intel Corporation Topologie und bandbreiten-management für i/0 und eingehende av
US10547896B2 (en) * 2015-04-21 2020-01-28 Intel Corporation Techniques for communicating display streams
US10191709B2 (en) 2015-09-04 2019-01-29 Samsung Electronics Co., Ltd. Display apparatus configured to determine a processing mode to transfer image contents to another display apparatus
US9736531B2 (en) 2015-09-08 2017-08-15 Google Inc. Video media streaming device
US10277275B2 (en) 2015-09-08 2019-04-30 Google Llc Audio media streaming device
KR101774466B1 (ko) * 2016-02-24 2017-09-05 옵티시스 주식회사 디스플레이-포트 광 커넥터
US10375349B2 (en) * 2017-01-03 2019-08-06 Synaptics Incorporated Branch device bandwidth management for video streams
JP2018116503A (ja) * 2017-01-18 2018-07-26 ローランドディー.ジー.株式会社 プログラム、ホスト装置及び配列特定方法
US20200204621A1 (en) * 2018-12-21 2020-06-25 York Telecom Corporation Management of live media connections
CN109995478B (zh) * 2019-02-19 2022-02-18 恒玄科技(上海)股份有限公司 音频传输方法和音频播放系统
US20200320026A1 (en) * 2020-04-27 2020-10-08 Intel Corporation Bandwidth management allocation for displayport tunneling
CN114430364A (zh) * 2022-01-21 2022-05-03 京东科技信息技术有限公司 信息展示方法、装置、电子设备和计算机可读介质

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557518A (en) * 1994-04-28 1996-09-17 Citibank, N.A. Trusted agents for open electronic commerce
GB2276796B (en) * 1993-04-01 1997-12-10 Sony Corp Audio data communications
US5933430A (en) * 1995-08-12 1999-08-03 Sony Corporation Data communication method
US5812793A (en) * 1996-06-26 1998-09-22 Microsoft Corporation System and method for asynchronous store and forward data replication
US6333750B1 (en) * 1997-03-12 2001-12-25 Cybex Computer Products Corporation Multi-sourced video distribution hub
US6031841A (en) 1997-12-23 2000-02-29 Mediaone Group, Inc. RSVP support for upstream traffic
US6160796A (en) * 1998-01-06 2000-12-12 Sony Corporation Of Japan Method and system for updating device identification and status information after a local bus reset within a home audio/video network
JP2000013423A (ja) 1998-06-26 2000-01-14 Sony Corp 情報処理装置および方法、並びに提供媒体
JP3641139B2 (ja) 1998-06-30 2005-04-20 株式会社東芝 ホップカウント管理方法およびノード装置
JP2002520901A (ja) 1998-07-06 2002-07-09 ソニー インターナショナル (ヨーロッパ) ゲゼルシャフト ミット ベシュレンクテル ハフツング ネットワーク機器において予定された動作を実行する方法
US6286052B1 (en) * 1998-12-04 2001-09-04 Cisco Technology, Inc. Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows
KR100308024B1 (ko) * 1998-11-07 2001-10-19 구자홍 객체지향분산처리시스템에서멀티미디어스트림데이터의제어및자원할당을위한방법
US6654806B2 (en) * 1999-04-09 2003-11-25 Sun Microsystems, Inc. Method and apparatus for adaptably providing data to a network environment
US6686530B2 (en) * 1999-04-26 2004-02-03 Gibson Guitar Corp. Universal digital media communications and control system and method
US6477252B1 (en) * 1999-08-29 2002-11-05 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
US7356848B1 (en) * 1999-10-19 2008-04-08 Thomson Licensing System and method of verifying authorization for communicating protected content
US6628615B1 (en) * 2000-01-18 2003-09-30 International Business Machines Corporation Two level virtual channels
US6501739B1 (en) * 2000-05-25 2002-12-31 Remoteability, Inc. Participant-controlled conference calling system
US6901444B1 (en) * 2000-06-30 2005-05-31 Sony Corporation Method of and apparatus for communicating data structures between devices in a networking environment
US6907301B2 (en) * 2000-10-16 2005-06-14 Sony Corporation Method and system for selecting and controlling devices in a home network
US20020104091A1 (en) * 2001-01-26 2002-08-01 Amal Prabhu Home audio video interoperability implementation for high definition passthrough, on-screen display, and copy protection
EP1263172A3 (en) * 2001-05-29 2002-12-18 Thomson Licensing S.A. Method for managing resources of a link in a communication network
WO2003013068A1 (fr) * 2001-07-30 2003-02-13 Sony Corporation Systeme de radiocommunication, appareil de commande de radiocommunication, procede de commande de radiocommunication, support d'enregistrement et programme informatique
KR100718613B1 (ko) * 2001-10-22 2007-05-16 애플 인크. 호스트 컴퓨터와 미디어 플레이어의 미디어 내용 동기화 방법
US7277421B1 (en) * 2002-01-16 2007-10-02 Verizon Services Corp. Telephone call processing using SIP and/or ENUM
US7450604B2 (en) * 2002-04-20 2008-11-11 Conexant Systems, Inc. Method and apparatus for establishing circuit connections over local area networks with frequency selective impairments
KR20040010954A (ko) * 2002-07-25 2004-02-05 엘지전자 주식회사 트랜스포트 디멀티플렉서
MXPA05002390A (es) * 2002-09-03 2005-05-27 Thomson Licensing Sa Mecanismo para proporcionar la calidad de servicio en una red que utiliza protocolos de ancho de banda de prioridad y reservado.
US20040128694A1 (en) * 2002-12-30 2004-07-01 International Business Machines Corporation Fast selection of media streams
US7512695B2 (en) 2003-05-07 2009-03-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system to control the communication of data between a plurality of interconnect devices
US7516135B2 (en) * 2003-05-30 2009-04-07 Sap Aktiengesellschaft Dynamically managing data conveyance between computing devices
DE10360416A1 (de) * 2003-12-19 2005-07-14 Deutsche Thomson-Brandt Gmbh Verfahren zur automatischen Datenverbindungseinrichtung zwischen Netzwerkteilnehmerstationen in einem Netzwerk verteilter Stationen sowie Netzwerkteilnehmerstation als Benutzeroberflächengerät bei der Durchführung des Verfahrens
US7606253B2 (en) * 2004-01-12 2009-10-20 Hewlett-Packard Development Company, L.P. Successful transactions
US7903045B2 (en) * 2004-04-30 2011-03-08 Microsoft Corporation Video presenting network supporting separately-configurable resources
US20060083259A1 (en) * 2004-10-18 2006-04-20 Metcalf Thomas D Packet-based systems and methods for distributing data
KR100636228B1 (ko) * 2005-02-07 2006-10-19 삼성전자주식회사 계층적인 노드 토폴로지를 이용한 키 관리 방법 및 이를이용한 사용자 등록 및 등록해제 방법
US8879511B2 (en) * 2005-10-27 2014-11-04 Qualcomm Incorporated Assignment acknowledgement for a wireless communication system
CN1941787A (zh) * 2005-09-30 2007-04-04 乐金电子(昆山)电脑有限公司 A/v网络中设备标识符的设定方法
BRPI0520670B1 (pt) 2005-11-09 2018-11-27 Thomson Licensing seleção de rota em redes sem fio
US20070130245A1 (en) * 2005-12-07 2007-06-07 Electronics And Telecommunications Research Institute Portable internet terminal apparatus for wireless broadband internet
EP2090062A2 (en) * 2006-12-07 2009-08-19 Vidiator Enterprises Inc. System and method for selection of streaming media
US7765323B2 (en) * 2006-12-29 2010-07-27 Intel Corporation Sink device addressing mechanism
CN1996860A (zh) * 2006-12-31 2007-07-11 华为技术有限公司 策略控制的方法、装置及系统
US8427959B2 (en) * 2007-01-22 2013-04-23 Cisco Technology, Inc. Bandwidth based selection for routing data
JP2009004877A (ja) * 2007-06-19 2009-01-08 Toshiba Corp データ伝送装置およびデータ伝送方法
JP5240491B2 (ja) * 2007-06-26 2013-07-17 ソニー株式会社 送信装置および受信装置
US8527771B2 (en) 2007-10-18 2013-09-03 Sony Corporation Wireless video communication
US7769806B2 (en) * 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US8095680B2 (en) * 2007-12-20 2012-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Real-time network transport protocol interface method and apparatus
CN101471914B (zh) * 2007-12-26 2013-06-05 中兴通讯股份有限公司 一种高速下行分组接入中指示调制方式的方法
US8723756B2 (en) * 2008-01-15 2014-05-13 Synaptics Incorporated System having capability for daisy-chained serial distribution of video display data
TW201002003A (en) * 2008-05-05 2010-01-01 Koninkl Philips Electronics Nv Methods and devices for managing a network
US8237624B2 (en) * 2008-05-06 2012-08-07 Integrated Device Technology, Inc. System having capability for daisy-chained serial distribution of video display data
US8094684B2 (en) * 2008-05-09 2012-01-10 Parade Technologies, Ltd. Link training scheme for displayport source repeaters
US8996732B2 (en) * 2008-05-27 2015-03-31 Valens Semiconductor Ltd. Methods and devices for CEC block termination
US20100027549A1 (en) * 2008-07-31 2010-02-04 Michael Satterlee Method and apparatus for providing virtual private network identifier
US8248421B2 (en) * 2008-09-30 2012-08-21 Apple Inc. DisplayPort control and data registers
GB0820920D0 (en) * 2008-11-14 2008-12-24 Wolfson Microelectronics Plc Codec apparatus
US20100191867A1 (en) * 2009-01-29 2010-07-29 Dell Products L.P. Systems and Methods for Performing Field Updates of Firmware
US8166179B2 (en) * 2009-01-30 2012-04-24 Cisco Technology, Inc. Media streaming through a network address translation (NAT) device
US20100257400A1 (en) * 2009-03-18 2010-10-07 Colin Whitby-Strevens Network loop healing apparatus and methods
US8674901B2 (en) * 2009-04-22 2014-03-18 Dell Products, Lp System and method for authenticating a display panel in an information handling system
US20100272102A1 (en) * 2009-04-23 2010-10-28 Stmicroelectronics, Inc. System and method for packet messaging and synchronization
WO2010144566A1 (en) * 2009-06-09 2010-12-16 Wayne State University Automated video surveillance systems
CN101588285B (zh) * 2009-06-24 2011-07-13 成都市华为赛门铁克科技有限公司 一种非透明传输的实现方法、非透明桥和通信系统
US8949627B2 (en) * 2009-07-15 2015-02-03 Dell Products L.P. System and method for powering an information handling system through a display cable
US8782237B2 (en) * 2010-01-28 2014-07-15 Intel Corporation Audio/video streaming in a topology of devices
US8493905B2 (en) * 2010-09-08 2013-07-23 Intel Corporation Wireless clone mode display

Also Published As

Publication number Publication date
CN102164071B (zh) 2015-07-08
US20170060515A1 (en) 2017-03-02
US20110185066A1 (en) 2011-07-28
KR101244957B1 (ko) 2013-03-19
US10564910B2 (en) 2020-02-18
US9378172B2 (en) 2016-06-28
TW201203095A (en) 2012-01-16
US10101955B2 (en) 2018-10-16
DE102011008793B4 (de) 2021-09-30
US20110185026A1 (en) 2011-07-28
TWI531961B (zh) 2016-05-01
US11216235B2 (en) 2022-01-04
TW201204016A (en) 2012-01-16
JP5542707B2 (ja) 2014-07-09
US20110184965A1 (en) 2011-07-28
KR20110088456A (ko) 2011-08-03
TWI538501B (zh) 2016-06-11
KR101394796B1 (ko) 2014-05-15
US20220188055A1 (en) 2022-06-16
US20210004191A1 (en) 2021-01-07
CN104683338B (zh) 2019-04-23
TW201204015A (en) 2012-01-16
US20110182560A1 (en) 2011-07-28
TWI455574B (zh) 2014-10-01
US11900003B2 (en) 2024-02-13
JP2011160422A (ja) 2011-08-18
US20150154137A1 (en) 2015-06-04
DE102011008793A1 (de) 2011-09-01
CN102195963B (zh) 2015-05-20
KR20130040220A (ko) 2013-04-23
CN102164072B (zh) 2015-10-14
CN104683338A (zh) 2015-06-03
KR101280695B1 (ko) 2013-07-02
US8984155B2 (en) 2015-03-17
CN102164071A (zh) 2011-08-24
CN102195963A (zh) 2011-09-21
CN102164072A (zh) 2011-08-24
US8782237B2 (en) 2014-07-15

Similar Documents

Publication Publication Date Title
US11900003B2 (en) Message passing framework for audio/video streaming in a topology of devices
JP5657762B2 (ja) メディアインターフェースの双方向通信を提供するためのオペレーション
JP4564665B2 (ja) 一般的なシリアルバスプロトコルの範囲を拡張する方法並びに装置
US8347008B2 (en) Method and system for hardware based implementation of USB 1.1 over a high speed link
US10261930B2 (en) System, device and method for transmitting signals between different communication interfaces
TW201005541A (en) Transmission device and data extended transmission method
JP2016505915A (ja) 表示インターフェースを介するシリアルバスサポートの柔軟な実装
WO2019200928A1 (zh) 智能交互一体机
JPH0695989A (ja) 光ファイバ像データ分配システム
GB2477415A (en) Path training via messages in a video streaming topology
CN118018418A (en) Method and system for configuring bandwidth of adaptation layer in high-speed serial interface

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170601

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 7