KR101244957B1 - 디바이스들의 토폴로지 내에서의 오디오/비디오 스트리밍을 위한 바인딩 - Google Patents

디바이스들의 토폴로지 내에서의 오디오/비디오 스트리밍을 위한 바인딩 Download PDF

Info

Publication number
KR101244957B1
KR101244957B1 KR1020110008460A KR20110008460A KR101244957B1 KR 101244957 B1 KR101244957 B1 KR 101244957B1 KR 1020110008460 A KR1020110008460 A KR 1020110008460A KR 20110008460 A KR20110008460 A KR 20110008460A KR 101244957 B1 KR101244957 B1 KR 101244957B1
Authority
KR
South Korea
Prior art keywords
stream
sink
source
request
audio
Prior art date
Application number
KR1020110008460A
Other languages
English (en)
Other versions
KR20110088456A (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 KR20110088456A publication Critical patent/KR20110088456A/ko
Application granted granted Critical
Publication of KR101244957B1 publication Critical patent/KR101244957B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/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
    • 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
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

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

Description

디바이스들의 토폴로지 내에서의 오디오/비디오 스트리밍을 위한 바인딩{BINDING FOR AUDIO/VIDEO STREAMING IN A TOPOLOGY OF DEVICES}
본 발명은 일반적으로 비디오 및 오디오 데이터의 소스(source) 및 싱크(sink)로 되는 디바이스들에 관한 것이다.
DisplayPort는 VESA(Video Electronic Standards Association)의 디지털 오디오/비디오 상호접속 표준이다. 이것은 비디오 및 오디오가 컴퓨터로부터 비디오 디스플레이 또는 오디오 재생 시스템에 연결되는 것을 허용한다. DisplayPort 커넥터는 메인 링크 내에 1, 2 또는 4개의 데이터 쌍을 지원하며, 그 메인 링크는 또한 초당 1.62, 2.7 또는 5.4 기가비트의 심볼레이트로 클럭 및 선택적인 오디오 신호들도 운반한다. 1.1 표준은 2006년 5월에 승인되었고, 2009년에는, 데이터 레이트가 증가된 1.2 표준이 발표되었다. DisplayPort 1.2 표준은 1.1 표준의 대역폭을 두배로 한다.
DisplayPort 1.2 표준을 이용하면, 두개의 WQXGA 모니터가 단일 소스 링크로부터의 오디오/비디오 데이터의 싱크로 될 수 있거나, 또는 4개의 WUXGA 모니터가 단일 소스 링크로부터의 데이터의 싱크로 될 수 있다. 또한, 1.2 표준은 더 빠른 속도의 AUX를 허용하는데, 몇몇 응용을 언급하자면, 이것은 USB(Universal Serial Bus) 주변장치 데이터 전송, 마이크로폰 오디오 전송, 또는 카메라 비디오 전송을 위해 이용될 수 있다.
디스플레이 또는 싱크 디바이스는 직접, 또는 브랜치 디바이스라고 칭해지는 것들을 통해, 개인용 컴퓨터 또는 소비자 전자 디바이스들과 같은 소스 디바이스에 접속될 수 있다. 오디오 또는 비디오 정보를 중계(repeat)하는 중계기, 오디오 또는 비디오 정보를 한 포맷으로부터 다른 포맷으로 변환하는 변환기, 데이터를 재생하는 복제기(replicater), 둘 이상의 소스 디바이스로부터의 스트림을 입력으로서 취하고 그 스트림들을 자신의 다운스트림 링크들 상에서 송신하는 집신기(concentrator)를 포함하는 많은 유형의 브랜치 디바이스들이 존재한다. DisplayPort 1.2와 같은 인터페이스 표준들은 하나의 링크 상에 복수의 스트림을 허용하며, 그러한 경우에서 이러한 둘 이상의 입력 스트림은 단일 다운스트림 링크 상으로 전송될 수 있다. 일부 집신기들은 스위칭 방식으로, 즉 한번에 단 하나의 선택된 소스만이 전송할 수 있는 방식으로 동작할 수 있다.
소스, 싱크 및 브랜치 디바이스들은 함께, 주어진 소스가 0개 이상의 브랜치 디바이스를 통해 하나 이상의 싱크에 비디오를 스트리밍하고 있을 수 있는 토폴로지를 형성한다. 활성(active) 비디오 데이터는 다양한 디바이스 유형들을 연결하는 링크들을 통해 흐른다. 각 링크는 그것의 대역폭, 및 그것이 지원하는 스트림들의 개수에 의해 제약을 받는다. 싱크는 스트림을 렌더링하기 위한 제한된 수의 오디오 및 비디오 엔드포인트를 가질 것이다. 따라서, 토폴로지에 기초하여, 이용가능한 비디오 또는 오디오 리소스에 대한 경합이 있을 수 있다.
도 1에 도시된 그러한 한 토폴로지는, 나타난 바와 같이 2개의 소스와 5개의 싱크를 포함할 수 있다. 소스 1번은 비디오를 싱크 1번에 스트리밍하기를 원하고, 소스 2번은 싱크 2번에 비디오를 스트리밍하기를 원하며, 브랜치 2번과 브랜치 3번 간의 링크가 두가지 경로에 대해 공통이다. 따라서, 이러한 경합에 관련하여 소스에서, 그 링크 또는 경로를 따른 임의의 다른 링크에서 얼마나 많은 대역폭이 이용가능한지를 포함하는 쟁점들이 발생할 수 있다. 다른 쟁점은 경로 상의 얼마나 많은 리소스들이 보존(reserve)될 수 있는가이다. 또 다른 쟁점은 얼마나 많은 오디오/비주얼 스트림이 구동될 수 있는가이다. 다른 쟁점들은 공유 리소스들로의 액세스가 어떻게 관리될 수 있는지, 및 에러들이 어떻게 통신될 수 있는지이다.
도 1은 일 실시예에 따른 오디오/비디오 분배 토폴로지의 개략도이다.
도 2는 일 실시예에 따른 열거, 커밋 및 릴리스를 위한 시퀀스 차트이다.
도 3은 브랜치 디바이스의 일 실시예에 대한 개략도이다.
도 4는 일 실시예에 따른 열거 소프트웨어를 위한 플로우차트이다.
도 5는 일 실시예에 따른 메시지 시퀀스 차트이다.
도 6은 일 실시예에 따른 경로 리소스들의 열거를 위한 시퀀스 차트이다.
도 7은 다양한 디스플레이 구성들이 도 6에 도시된 토폴로지를 위해 어떻게 확립될 수 있는지를 나타내는 시퀀스 차트이다.
도 8은 일 실시예에 따른 2개의 소스와 2개의 싱크 간의 잠재적인 맵핑의 도면이다.
도 9는 일 실시예에 대한 플로우차트이다.
도 10은 일 실시예에 대한 플로우차트이다.
도 11은 일 실시예에 따른 메시지 시퀀스이다.
도 12는 일 실시예에 따른 업 액션 경로 메시지 시퀀스이다.
도 13은 일 실시예에 따른 목적지 시퀀스들의 맵핑이다.
도 14는 일 실시예에 따른 업링크 액션 경로 메시지를 위한 메시지 시퀀스 차트이다.
도 15는 일 실시예에 따른 소스 디바이스와 브랜치 디바이스 간의 접속들의 도면이다.
도 16은 일 실시예에 따른 복수의 소스 및 브랜치 디바이스의 도면이다.
도 17은 일 실시예에 따른 2개의 비디오 엔드 포인트를 갖는 토폴로지의 도면이다.
도 18은 일 실시예를 위한 플로우차트이다.
일부 실시예들에 따르면, 특정 메시지들은 비디오 및 오디오 데이터의 소스 및 싱크로 되는 디바이스들 간에 교환될 수 있다. 그러한 메시지들에 응답하여, 소스 디바이스와 싱크 디바이스 간의 경로를 따른 디바이스들에 의해, 코디네이트된 액션이 취해질 수 있다. 메시지들은 어드레스에 의해 지정되는 표적화된(targeted) 목적지에 송신될 수 있다. 도 2에 나타난 바와 같이, 메시지 ENUM_PATH_RESOURCES, COMMIT_PATH_RESOURCES, 및 RELEASE_PATH_RESOURCES가 이용될 수 있다. 이러한 메시지들은 예를 들어, DisplayPort 사양 내의 AUX 채널 상에서 송신될 수 있다.
메시지 전송 전에, 어드레스 공간들이 생성된다. 각각의 소스(10)는 메인 링크 대역폭 및 스트림의 수를 열거하기 위해, ENUM_PATH_RESOURCE 메시지(18)를 원하는 싱크(16)에 송신한다. 원하는 싱크(16)의 바로 위의 업스트림에 있는 브랜치 디바이스(14)는, 참조 번호(20)에 나타난 바와 같이, 이용가능한 대역폭(BW = x) 및 스트림의 개수(# STREAMS = s)로 응답한다. 이러한 응답이 더 업스트림으로 전파되기 전에, 업스트림 브랜치(12)는 참조 번호(22)에 나타난 바와 같이, 다운스트림 경로로부터 달성가능한 것을 반영하도록, 다운스트림 브랜치(14)로부터의 이용가능한 대역폭(BW = x') 및 스트림의 개수(# STREAMS = s')를 변경한다.
결국, 소스(10)는 경로 리소스들을 얻는다. 메시지는 컨트롤 버스(예를 들어, DisplayPort의 AUX) 상에서 송신되지만, 질의(query)는 메인 링크 리소스들에 대한 것이다. 메인 링크 리소스들이 하나 또는 2개의 소스에 의해 완전히 신청되는 경우에서조차도, 컨트롤 버스 상의 대역폭의 보존(reservation)은 없으며, 토폴로지 내의 디바이스들 간에서 컨트롤 메시지들이 교환된다.
메시지의 처리의 일부로서, 각각의 디바이스는 다운스트림 링크로서 이용가능한 대역폭의 양을 결정하기 위해, 지정된 경로를 따른 메인 링크를 트레이닝할 필요가 있을 수 있다. 오디오 리소스들도 이러한 절차(procedure)의 일부로서 열거된다. 이것은 임의의 주어진 시점에서 스트리밍을 위해 이용할 수 있는 엔드 포인트들의 수를 결정하기 위한 것이다.
링크 대역폭 열거는 비디오 모드 열거와 같은 운영 체제 동작들에 공급된다. 이것과, 구동될 비디오 모드의 최종 사용자에 의한 비동기적인 선택(asynchronous selection)에 기초하여, 아래와 같이 COMMIT_PATH_RESOURCES 메시지(24)를 이용하여 커밋(commit) 절차가 수행될 수 있다. 열거되는 대역폭은 커밋 시에는 이용가능하지 않을 수 있다. 예를 들어, 임의의 주어진 시점에서, 상이한 소스들이 상이한 ENUM_PATH_RESOURCES 메시지들을 동일한 싱크에 송신할 수 있다. 그들은 또한 공통의 링크를 갖는 경로들을 갖는 상이한 싱크들을 위한 것일 수 있다. 예로서, 소스 1번 열거, 소스 2번 열거, 소스 1번 커밋의 순서로 이어지는 시퀀스에, 예를 들어 소스 2번의 커밋이 후속할 수 있고, 이는 선행하는(previous) 소스 1번의 커밋으로 인해 실패한다.
소스(10)는 싱크(16)에 COMMIT_PATH_RESOURCE 메시지(24)를 송신한다. 메시지는 원하는 대역폭 및 스트림의 수를 갖는다. 지정된 경로(예를 들어, 브랜치(12) 및 브랜치(14))를 따른 모든 디바이스들은 이러한 소스를 위해 리소스들을 보존한다. 응답들(26 및 28)은 성공 또는 실패를 나타낼 수 있다.
각각의 디바이스는 원하는 리소스들을 성공적으로 커밋할 수 있을 때만 COMMIT_PATH_RESOURCES(24)를 전파한다. 상이한 소스 디바이스들로부터의 독립적인 리소스 커밋에 더하여, 경로를 따른 중간 링크들이 더 낮은 대역폭으로 리트레이닝(retraining)하여, 다른 실패의 이유를 제공할 수도 있다. 링크 트레이닝은 송신기 또는 수신기가 전기적 구성에 합의하게 하기 위해 수행되는 핸드쉐이크이다. 디바이스들의 토폴로지를 설명하기 위해, 이러한 개념은 경로 상의 각 링크가 경로 트레이닝이라고 칭해지는 코디네이트된 방식으로 트레이닝될 필요가 있는 전체 경로로 확장된다.
다운스트림 디바이스가 커밋에 실패하기 전에, 일부 디바이스들이 비디오 스트림에 대해 리소스들을 성공적으로 커밋하는 것이 가능하다. 이러한 리소스들을 릴리스(release)하기 위해, 소스 디바이스는 COMMIT_PATH_RESOURCES의 실패를 수신한 후에 RELEASE_PATH_RESOURCES(30) 메시지를 내보낼 수 있다.
활성 비디오는 COMMIT_PATH_RESOURCES의 성공적인 완료 이후에 시작한다. 반대로, 스트림이 종료되어야 할 때, 소스는 경로를 따른 디바이스들에서의 커밋된 리소스들의 릴리스를 가능하게 하기 위해 RELEASE_PATH_RESOURCES(32)를 발행한다.
도 3을 참조하면, 도 3에서 참조 번호(34)로 표시된 소스(10), 싱크(16), 및 브랜치 디바이스(12 또는 14) 각각은 프로세서(36)를 포함한다. 프로세서는 수신기(38) 및 송신기(40)에 연결될 수 있다. 프로세서(36)는 일 실시예에서, 열거 소프트웨어(44)를 포함하는 소프트웨어를 저장하고 있는 저장소(42)에도 연결될 수 있다. 따라서, 저장소(42)는 프로세서(36)에 의해 실행되는 명령어들을 저장하고 있는 컴퓨터 판독가능 매체일 수 있다. 저장소(42)는 반도체, 광학 또는 자기 메모리일 수 있다.
도 4에 도시된 열거 시퀀스(44)는 일 실시예에서 소프트웨어일 수 있지만, 하드웨어 또는 펌웨어로도 구현될 수 있다. 마름모(46)에서의 체크는 열거 메시지가 브랜치 디바이스에 의해 수신되었는지 여부를 결정한다. 수신되었다면, 메시지를 수신한 브랜치 디바이스는 그 수신 디바이스의 이용가능한 대역폭 및 이용가능한 스트림의 수로 업스트림 브랜치 디바이스에 응답한다.
수신 디바이스가 소정 기간 후에 열거 메시지를 수신하지 않는 경우, 마름모(50)에서의 체크는, 수신하지 않은 디바이스가, 대역폭 및 스트림의 수를 지정하는 다운스트림 디바이스로부터의 메시지를 수신하는 업스트림 디바이스인지 여부를 결정한다. 그러한 업스트림 디바이스라면, 그 업스트림 디바이스는 그것의 능력을 반영하기 위해 필요한 수신된 대역폭 및 스트림의 수를 수정한다. 그 다음, 블록(54)에 나타난 바와 같이, 그것은 필요에 따라, 본래의 대역폭 및 스트림의 수, 또는 수정된 수치들을 다음 브랜치 또는 소스에 송신한다.
도 5를 참조하면, 스트림의 추가 및 삭제를 위한 메시지 시퀀스 차트는 소스(60), 및 적절한 스트림 식별자들을 갖는 2개의 싱크(62, 64)를 포함한다. 싱크1(62)을 위한 식별자는 "1"이고, 싱크2(64)를 위한 식별자는 1.2이다. 각각의 디바이스는 "1" 또는 "2"로 레이블된 포트를 포함한다.
다음으로, 도 6을 참조하면, 소스1(60), 브랜치+싱크1(62) 및 싱크2(64) 간의 시퀀스 차트가 도시되어 있다. AUX는 컨트롤 채널을 참조하고, 메인 링크는 데이터 채널을 참조한다.
예를 들어, 도 5에 도시된 것과 같은 토폴로지 내의 각 링크는 독립적인 컨트롤 및 데이터 채널로 구성될 수 있으며, 접속들은 점대점이다. 어드레싱 및 라우팅 메커니즘을 이용하여 컨트롤 채널 상에서 임의의 장치로 메시지를 송신하는 능력이 존재한다. 도 6에 도시된 바와 같이, 절차는 소스들에서의 스트림을 위한 국부적으로 고유한 식별자들(locally unique identifiers), 및 집신기들(concentrators)과 맵핑 테이블들의 유지를 포함한다.
어드레스 생성 페이즈(phase) 동안, 어드레스 생성 메시지들(66)을 송신함으로써, 토폴로지 내의 디바이스들 각각에 대해 어드레스들이 합의된다. 그 다음, 소스는 AUX로 표시된 컨트롤 채널을 통해 ENUM_PATH_RESOURCES 메시지(68)를 브랜치+싱크1(62)에 송신한다. 그것은 컨트롤 경로를 통해 COMMIT_PATH_RESOURCES 메시지(70)도 브랜치+싱크1(62)로 송신한다.
바인딩(binding)은 토폴로지 내의 디바이스들이 다음 스트림을 위한 목적지에 합의하는 절차이다. 바인딩 절차는 열거 후에, 새로운 스트림을 전송하기를 원하는 소스가 국부적으로 고유한 스트림 식별자(예를 들어, 싱크2의 1.2)로 식별되는 원하는 목적지 싱크 디바이스에 ADD_STREAM 메시지(72)를 내보내는 것으로 시작한다. 소스(60)로부터 싱크 디바이스(64)로의 경로를 따른 모든 디바이스들은 그들의 맵핑 테이블 내에, 스트림이 수신된 입력 포트(예를 들어, 1 또는 2) 및 스트림 식별자를 기억한다.
각각의 브랜치 디바이스(62)는 출력 스트림 식별자(싱크2(64)의 1.2)에 대한 입력 스트림 식별자(그 자신을 위한 ID 1)의 맵핑을 수행한다. 복수의 소스가 존재하지 않는 경우에서, 입력 스트림 식별자는 출력 스트림 식별자와 동일하다. 각각의 브랜칭 디바이스는 마찬가지로 자신의 맵핑 테이블 내에 출력 스트림 식별자 및 출력 포트 번호를 기억한다.
마지막으로, 브랜치 디바이스들에 대한 다른 리소스 제약이 없다고 가정하면, 그 디바이스들은 참조 번호(74)로 나타낸 바와 같이, 메시지를 그 메시지 내에 포함된 루트/어드레스에 의해 나타난 대로 목적지까지 계속 전달(forward)한다. 그러한 리소스 제약이 있는 경우, 브랜치 디바이스는 단순히 소스에 부정 승인(negative acknowledgement)을 송신한다. 메시지는 원하는 목적지에서 종료한다. 싱크 디바이스가 스트림을 수신할 수 있는 경우, 그것은 소스에 승인(76)으로 응답한다. 그렇지 않으면, 싱크 디바이스는 부정 승인을 송신한다. 그러면, 싱크는 그것이 데이터 채널 상에 있는 다음의 새로운 스트림을 소비할 필요가 있음을 알게 된다. 모든 브랜치 디바이스는 승인(78)을 소스로까지 전파한다.
승인을 수신하면, 소스 디바이스는 새로운 스트림(80)을, 원하는 목적지로 이어지는 그것의 링크 상의 데이터 채널 상에서 내보낸다. 브랜치 디바이스는 참조 번호(82)에 나타난 바와 같이, 그들의 맵핑 테이블로부터 기억되어 있는 대로의 새로운 스트림을 위한 경로를 따라 스트림을 라우팅한다. 싱크 디바이스는 이전에 수신한 메시지에 기초하여 자신이 새로운 스트림을 소비할 필요가 있음을 알고 있고, 스트림을 디스플레이 상에 표시한다.
언바인딩(unbinding) 또는 삭제는 동일 스트림 식별자를 갖고서 의도된 목적지에 송신된 스트림 삭제 메시지(84, 86)를 통해 수행된다. 이는, 싱크 디바이스가 스트림의 중단을 예상하게 하고, 브랜치 디바이스들이 그들의 맵핑 테이블을 그에 따라 변경하게 한다. 스트림 삭제 메시지에 대한 승인 메시지의 수신은 데이터 채널 상에 스트림을 송신하는 것을 중단하도록 소스를 트리거한다.
도 7에서, 도 4에 도시된 토폴로지에 대하여 다양한 디스플레이 구성이 확립될 수 있다. "단일 디스플레이" 구성은 단순히 오디오 비디오 데이터를 표시하는 하나의 디스플레이 디바이스이다. 이것은 이미 설명된 메시지(72, 74, 80, 82, 84 및 86)를 이용한다. "클론 모드(clone mode)" 구성은 동일한 컨텐츠(92)가 2개의 모니터 또는 디스플레이 디바이스들 상에 디스플레이되도록 송신되는 것이다. "확장된 데스크탑(extended desktop)"은 상이한 이미지들(94, 96)이 두 모니터 상에 나타나는 대안적인 듀얼 디스플레이 구성이다.
도 8에서, 소스1(98) 및 소스2(100)로부터 나타나는 바와 같이, 복수의 소스가 토폴로지 내에 존재할 때, 각각의 소스는 중첩하는 경로 상에서 동시에 동일한 스트림 식별자(이 경우, #1)를 갖는 ADD_STREAM 메시지를 발행할 수 있다. 이 경우, 이러한 새로운 스트림을 위한 중첩하는 경로 상에 있는 집신기 브랜치 디바이스(102)는 하나의 소스(이 경우에서는 소스1)에 대한 ADD_STREAM 메시지만을 전파하는 한편, 다른 것들을 차단한다. 즉, 한번에 단 하나의 새로운 스트림만이 추가될 수 있다. 차단되지 않은 소스의 메시지가 데이터 채널 상에서 전달되고 난 후, 차단된 소스에 대하여 추가의 ADD_STREAM 메시지가 전파된다.
브랜치 디바이스(104) 상에 복수의 입력 포트가 존재하는 경우, 다음의 이용가능한 스트림 식별자가 할당되고, 브랜치 디바이스는 그것의 출력 스트림 식별자 및 포트 번호에 대한 입력 스트림 식별자 및 포트 번호를 그것의 맵핑 테이블(108) 내에 기억한다.
한 사용 사례로서, 새로운 스트림이 추가될 수 있다. 집신기 브랜치 디바이스는 활성이 아닌 식별자를 갖는 스트림 추가 메시지를 본 때에, 자신의 맵핑 테이블에 새로운 엔트리를 추가한다. 필요하다면, 그것은 그 스트림에 대해 새로운 출력 식별자를 생성하여, ADD_STREAM 메시지를 전파하는 동안 그 식별자를 이용한다. 집신기 브랜치 디바이스는 이러한 식별자를 위한 목적지 어드레스를 그것의 맵핑 테이블 내에 추가할 수 있다. 다른 사용 사례는 기존 스트림이 확장되는 것이다. 동일한 소스가 다른 ADD_STREAM 메시지를 통해 이미 활성인 스트림에 제2 싱크를 추가하는 경우, 집신기 브랜치 디바이스가 이미 생성한 맵핑이 여전히 유효하므로, 그 집신기 브랜치 디바이스는 자신의 맵핑 테이블 내에 새로운 엔트리를 추가하지 않을 것이다. 그러나, 집신기는 자신의 맵핑 테이블 내에서 그것의 입력 식별자에 제2 목적지 어드레스를 추가하지 않는다.
또 다른 사용 사례는 스트림으로부터 싱크를 제거하는 것이다. 집신기는 활성 식별자에 대해 해당 싱크의 어드레스를 갖는 스트림 삭제 메시지를 수신할 때, 목적지 디바이스들의 목록으로부터 삭제를 위해 그 싱크의 어드레스를 마킹한다. 다음으로, 싱크 디바이스로부터 스트림 삭제 승인 메시지를 수신하면, 소스에 의해 인식될 식별자를 변경하기 위해 맵핑 테이블을 이용하여 메시지를 소스로까지 전파한다. 그 다음, 맵핑 테이블로부터 그 스트림에 대한 싱크의 어드레스를 삭제한다. 그것이 그 식별자를 갖는 스트림을 수신하는 마지막 싱크였던 경우에는, 맵핑 테이블로부터 엔트리를 삭제한다. 그렇지 않고서, 그 식별자를 갖는 스트림을 소비하는 적어도 하나의 다른 싱크가 존재하는 경우에는, 맵핑 테이블 내의 엔트리가 삭제되지 않는다.
도 9를 참조하면, 전술한 바인딩을 구현하기 위한 일 실시예에 따른 시퀀스(110)가 도시되어 있다. 시퀀스는 소프트웨어, 하드웨어 또는 펌웨어로 구현될 수 있다. 소프트웨어 실시예들에서, 시퀀스는 브랜치 디바이스(34)에 대하여, 도 3에 도시된 프로세서(36)와 같은 프로세서에 의해 실행되는 명령어들에 의해 구현될 수 있다. 그러한 경우, 시퀀스는 저장소(42) 상에 저장될 수 있다.
처음에, 브랜치 디바이스는 블록(112)에 나타난 바와 같이 ADD_STREAM 메시지를 수신한다. 블록(114)에 나타난 바와 같이, 브랜치 디바이스는 그 메시지로부터의 STREAM_ID 및 입력 포트를 자신의 맵핑 테이블 내에 저장한다. 그 다음, 브랜치 디바이스는 블록(116)에 나타난 바와 같이, 입력 STREAM_ID를 출력 STREAM_ID에 맵핑한다. 블록(118)에 나타난 바와 같이, 그것은 출력 STREAM_ID 및 출력 포트 번호를 자신의 맵핑 테이블 내에 저장한다. 그 다음, 그것은 블록(120)에 나타난 바와 같이, 메시지를 계속하여 전달한다. 궁극적으로, 메시지가 성공적으로 배달되면, 승인 메시지가 다운스트림 디바이스로부터 수신될 것이고, 블록(122)에 나타난 바와 같이, 브랜치 디바이스는 그 승인 메시지를 업스트림에 전달한다.
일부 실시예들에서, 도 10에 도시된 메시지 전달(passing) 프레임워크(124)는 경로를 따른 모든 디바이스들에 의한 액션, 또는 목적지 디바이스만에 의한 액션을 허용할 수 있다. 메시지들은 식별자들을 가지며, 각각의 새로운 메시지가 정의될 때 새로운 식별자가 할당된다. 메시지의 정의는 그것이 경로 메시지인지 목적지 메시지인지에 관한 결정을 포함한다. 경로 메시지들은 액션이 수행되는 방향에 따라 두가지 유형을 갖는데, 싱크를 향해 내려가는 방향에 있는 경우에서 그것은 다운 액션 경로 메시지이고, 소스 디바이스까지 거슬러 올라가는 방향에 있는 경우에서 그것은 업 액션 경로 메시지이다. 메시지들은 토폴로지 내의 임의의 장치에 의해 개시될 수 있다. 각각의 메시지는 목적지 어드레스 및 관련 라우팅 정보를 갖는다.
도 10에 도시된 메시지 전달 프레임워크(124)는 소프트웨어, 하드웨어 또는 펌웨어로 구현될 수 있다. 예를 들어, 이것은 예를 들어 브랜치 디바이스 또는 싱크 디바이스일 수 있는 디바이스(34) 내에서, 도 3에 도시된 저장소(42)와 같은 컴퓨터 판독가능 매체 상에 저장된 명령어들의 형태로 된 소프트웨어로 구현될 수 있다.
일 실시예에 따르면, 도 10에 도시된 시퀀스는 블록(126)에 나타난 바와 같이, 업스트림 디바이스로부터 메시지를 수신하는 것에 의해 시작한다. 메시지를 수신하는 디바이스는 두가지 예로서, 브랜치 디바이스 또는 싱크 디바이스일 수 있다. 수신 디바이스는, 그것이 궁극적인 목적지이든 아니든 간에, 블록(128)에 나타난 바와 같이 메시지 정의를 획득한다. 그 다음, 마름모(130)에서, 디바이스는 메지시 정의에 의해 업 액션(up action) 메시지가 나타나는지를 결정하기 위해 체크한다. 그렇다면, 그것은 블록(132)에 나타난 바와 같이, 메시지의 수신 시에 메시지 내에 요청된 액션들을 수행한다.
이와 달리, 그것이 업 액션 메시지가 아니라면, 마름모(134)에서의 체크는 그것이 다운 액션 메시지인지를 결정한다. 그것이 다운 액션 메시지라면, 블록(136)에 나타난 바와 같이, 액션들은 메시지의 수신 시가 아니라, 승인시에 수행된다.
반대로, 그것이 다운 액션 메시지가 아니라면, 그리고, 마름모(138)에서 결정된 바와 같이 그것이 목적지 메시지라면, 액션은 블록(140)에 나타난 바와 같이, 메시지를 수신하는 디바이스가 궁극적인 목적지인 경우에만 수행된다.
메시지 전달 프레임워크는 디바이스들이, 접속된 오디오 비주얼 소스, 브랜치 및 싱크 디바이스들의 점대점 토폴로지 내의 지정된 경로에 대해 코디네이트된 액션을 수행할 수 있게 해 준다. 프레임워크는 토폴로지 발견, 어드레스 생성, 라우팅, 바인딩 및 스트림 관리, 리소스 관리 및 전력 관리를 포함하는 다양한 동작들에 대해 이용될 수 있다.
도 11에 도시된 다운 액션 메시지는 이하와 같이 작동한다. 메시지를 송신하기 전에, 소스(110)는 필요한 임의의 메시지별(message specific) 액션(119)을 수행한다. 메시지(112)는 소스 액션이 성공한 경우에만 송신된다. 소스 디바이스는 어드레스/라우팅 정보에 기초하여 결정된 대로 메시지를 다운스트림 포트 상에 송신함으로써, 메시지를 목적지 디바이스에 전송한다. 메시지를 수신한 각각의 브랜치 디바이스(114 또는 116) 또는 싱크(118)는 그 메시지 유형에 의해 요구되는 대로 액션(119)을 수행한다. 목적지(예를 들어, 싱크(118))에서 액션의 성공적인 완료 시에, 그것은 승인(ACK)(120)으로 응답한다. 이러한 승인은 소스까지 거슬러 올라가 전파된다.
업 액션 메시지(122)는 도 12에 도시된 바와 같이 작동한다. 여기에서, 액션들(119)은 승인(120)의 일부로서 행해진다.
목적지 메시지들은 도 13에 도시된 바와 같이 작동한다. 액션(119)은 본 예시에서 싱크(118)인 목적지에 의해서만 행해진다. 경로 내의 다른 디바이스들은 단순히 메시지 및 승인을 전달한다.
경로 상의 모든 링크들을 트레이닝하는 경로 트레이닝에 대하여, 다운 액션 경로 메시지의 사용이 도 14에 도시되어 있다. 도 13에서, 각 디바이스에서의 액션(119)은 링크 트레이닝이다. 임의의 다른 메시지가 이용될 수 있긴 하지만, 사용되는 메시지는 TRAIN_LINKS_ON_PATH이다. 도 13에서, 메시지는 브랜치(116)에서 지향된다(directed).
도 15는 업 액션 메시지로서 구현될 때 TRAIN_LINKS_ON_PATH를 위한 메시지 시퀀스 차트이다. 여기에서, 액션들(119)은 모두 승인(120)의 부분으로서 발생한다.
인터페이스별(interface-specific) 프레임워크는, 소스 디바이스가, 상이한 경로들을 통해 열거되는 기능들이 동일한 디바이스의 부분임을 결정할 수 있게 할 수 있다. DisplayPort 표준은 "인터페이스"의 예이다. 열거를 위한 상이한 경로들은 a) 상이한 인터페이스 유형들을 피처링(featuring)하는 경로들, 또는 b) 단지 동일한 인터페이스 유형 내의 상이한 경로들일 수 있다. 프레임워크는 디바이스가 Microsoft? Windows? 또는 USB(Universal Serial bus)와 같은 기타 기술들이 지원하는 컨테이너 식별자 이니셔티브(initiatives)와 관련하여 사용될 수 있게 하고, 접속된 디바이스들에 대하여 기능 중심적(function centric)이기보다는 디바이스 중심적(device centric)인 사용자 인터페이스들을 가능하게 한다.
프레임워크는 container_ID 레지스터들의 집합(DisplayPort의 경우에서는 DPCD(DisplayPort configuration data)일 수 있음)을 통해 노출되는 16 바이트 GUID(globally unique identifier)를 포함할 수 있다. DPCD는 본질적으로 상태 체크, 커맨드 통신, 및 인터럽트를 위한 컨텍스트 제공을 위해 이용되는 레지스터들의 집합이다. container_ID 레지스터들은 브랜치 디바이스들, 합성(composite) 싱크 디바이스들, 및 복수의 트랜스포트를 갖는 임의의 디바이스 상에서 지원될 수 있다.
주어진 개수의 비디오 엔트포인트들을 갖는 싱크 디바이스는 그러한 개수의 EDID(Extended Display Identification Data) 구조들로 응답할 것으로 예상된다. EDID 데이터 구조는 소스에게 모니터의 능력에 관하여 알려준다. EDID는 VESA 표준이다. 싱크 디바이스가 통합된 USB 또는 허브 디바이스를 갖는 경우, 싱크의 GUID는 그 USB 디바이스 또는 허브의 컨테이너 디스크립터 내의 GUID에 일치한다. 디바이스 내에 통합되는 모든 기능들은 그들이 액세스되는 인터페이스 유형에 무관하게 동일한 GUID를 공시(advertise)한다. 복수의 비디오 엔드 포인트를 갖는 싱크에서, 각각의 어드레스로부터의 container_ID 레지스터들은 동일한 GUID를 반환한다. 토폴로지 내의 각 디바이스에 대하여, 소스 디바이스는 토폴로지 발견 프로세스의 일부로서 GUID를 판독한다. 디바이스가 GUID를 포함하는 경우, 소스 디바이스는 복수의 경로에 대해 또는 복수의 인터페이스를 통해 동일한 디바이스가 액세스되었는지를 결정하기 위해 GUID를 판독한다.
그렇지 않으면, 소스 디바이스는 소정의 인터페이스별 수단을 통해 동일한 물리적 디바이스 내에 있는 기능들을 추론한다. 인터페이스가 DisplayPort 표준인 경우, 이것은 다운스트림 디바이스의 상대적 어드레스(relative address, RAD)에 기초할 수 있다. 디바이스들의 토폴로지에 직면하면, 통신을 시작한 각 디바이스는 네트워크 내에서 유효한 목적지 디바이스에 대한 어드레스를 생성할 필요가 있다. 각각의 디바이스에 의해 생성되는 어드레스는 유효하지만, 동일한 목적지에 대해 다른 소스에서 생성된 것과는 다를 수 있기 때문에, 그 어드레스는 상대적 어드레스라고 칭해진다. 그 다음, 소스는 각각의 상대적 어드레스로부터 EDID를 판독한다. GUID가 생성되어, EDID를 통해 식별된 대로 디바이스에 연관지어진다. 이러한 생성된 GUID는 운영 체제 내의 컨테이너 식별자 프레임워크와 함께 사용된다.
따라서, EDID는 일부 실시예들에서 고유한 일련 번호를 포함한다. 이것이 유효하지 않은 경우, 복수의 EDID에 연관지어지는 동일한 GUID의 변화가 존재하여, 불량한 사용자 경험을 유발한다.
소스 디바이스와 브랜치 디바이스 간의 복수의 접속이 도 16에 도시되어 있다. 이 경우에서, 싱크로의 2개의 경로가 존재하므로, 소스는 그 싱크 디바이스에 대한 2개의 어드레스를 생성한다. 소스는 경로들 둘다를 통해 동일한 GUID를 판독하므로, 두 경로가 동일한 싱크 디바이스를 판독함을 추론할 수 있다. GUID가 상실된 경우, 소스는 두 경로로부터 EDID(이것은 동일할 것임)를 판독하고, GUID를 생성하고, 그 GUID를 싱크 디바이스에 연관시킨다. 그 다음, 이러한 식별자는 운영 체제에 반환된다.
도 17은 두 개의 비디오 엔드 포인트를 갖는 예를 도시하고 있다. 소스의 시퀀스는 다음과 같다. 소스는 다시 싱크 디바이스 내의 각각의 비디오 엔드 포인트에 대해 하나씩, 2개의 어드레스를 생성한다. 소스는 각각의 비디오 엔드 포인트 어드레스로부터 레지스터에 대한 컨테이너 식별자를 판독한다. 싱크는 그것으로의 2개의 인터페이스를 가지므로, 프레임워크는 GUID가 싱크 내에 존재할 것을 요구하고, 그 GUID가 인터페이스들 둘 다에서 동일할 것을 요구한다. 소스는 GUID가 동일함을 검출하고, 2개의 비디오 엔드 포인트가 동일한 물리적 디바이스의 부분임을 추론한다.
도 18을 참조하면, 일 실시예에 따라, 시퀀스(150)는 도 3에 도시된 형태의 소스에 의해 구현될 수 있다. 일부 실시예들에서, 도 18에 도시된 시퀀스는 소프트웨어, 하드웨어 또는 펌웨어로 구현될 수 있다. 소프트웨어 실시예에서, 이것은 프로세서(36)와 같은 프로세서에 의해 실행되고 저장 디바이스(42)에 저장되는 명령어들의 시퀀스에 의해 구현될 수 있다.
초기 열거 또는 토폴로지 발견 페이즈 동안, 토폴로지 내의 각 디바이스에 대해 식별자가 판독된다 (블록(152)). 즉, 소스는 토폴로지 내의 디바이스들에 대해 식별자를 획득한다. 그 식별자는 여기에서 이미 논의된 식별자들 중 임의의 것일 수 있다. 그 다음, 블록(154)에서 나타난 바와 같이, 소스는 경로를 통해 소스의 목적지 다운스트림으로의 접속을 확립한다. 그 다음, 블록(156)에 나타난 바와 같이, 소스는 접속 경로 내의 디바이스의 식별자들을 비교한다. 블록(158)에서 결정된 대로 식별자들이 일치하는 경우, 소스는 일치하는 식별자들을 갖는 경로 디바이스들이 동일한 브랜치 또는 싱크 디바이스의 일부라고 결론내린다. 따라서, 일부 실시예들에서, 두개의 디바이스들이 동일한 식별자를 가질 때 발생할 수 있는 모호성이 쉽게 해결될 수 있다.
본 명세서 전반에서 "일 실시예" 또는 "실시예"에 대한 지칭은, 실시예에 관련하여 설명된 특정한 특징, 구조 또는 특성이 본 발명 내에 포함되는 적어도 하나의 구현에 포함됨을 의미한다. 따라서, "일 실시예" 또는 "실시예에서"라는 구문의 출현이 반드시 동일한 실시예를 가리키는 것은 아니다. 또한, 특정한 특징, 구조 또는 특성들은 설명된 특정한 실시예 이외의 다른 적절한 형태로 도입될 수 있으며, 그러한 모든 형태들은 본 출원의 청구범위 내에 포함될 수 있다.
본 발명이 제한된 수의 실시예들에 관하여 설명되었지만, 당업자들은 그것으로부터의 다양한 수정들 및 변형들을 이해할 것이다. 첨부된 청구범위는 그러한 모든 수정들 및 변형들을 본 발명의 진정한 사상 및 범위 내에서 커버하도록 의도된다.

Claims (25)

  1. 오디오 및 비디오 스트리밍 방법으로서,
    비디오 또는 오디오 데이터의 소스와 싱크 사이의 디바이스에서, 소스로부터 싱크로의 오디오 또는 비디오 데이터를 위한 추가의 스트림을 추가하라는 요청을 수신하는 단계;
    상기 디바이스에서, 상기 스트림에 연관된 입력 스트림 식별자 및 입력 포트를 저장하는 단계;
    상기 입력 스트림 식별자를 출력 스트림 식별자에 맵핑하는 단계;
    상기 출력 스트림 식별자 및 출력 포트 번호를 저장하는 단계; 및
    상기 스트림을 추가하라는 요청을 싱크 디바이스에 전달(forward)하는 단계
    를 포함하는 오디오 및 비디오 스트리밍 방법.
  2. 제1항에 있어서,
    스트림 식별자 입력 포트, 입력 스트림 식별자, 및 출력 스트림 식별자를 맵핑 테이블 내에 저장하는 단계를 포함하는 오디오 및 비디오 스트리밍 방법.
  3. 제1항에 있어서,
    제1 채널 상에서 컨트롤 신호들을 송신하고, 제2 채널 상에서 데이터 신호들을 송신하는 단계를 포함하는 오디오 및 비디오 스트리밍 방법.
  4. 제1항에 있어서,
    점대점(point-to-point) 접속들의 토폴로지 내에 상기 디바이스를 확립(establishing)하는 단계를 포함하는 오디오 및 비디오 스트리밍 방법.
  5. 제4항에 있어서,
    상기 토폴로지 내의 디바이스들 각각에 대해 어드레스들이 합의되는 어드레스 생성 페이즈(phase)를 포함하는 오디오 및 비디오 스트리밍 방법.
  6. 제4항에 있어서,
    상기 스트림을 추가하기 전에 열거 시퀀스(enumeration sequence)를 거치는 단계를 포함하는 오디오 및 비디오 스트리밍 방법.
  7. 제1항에 있어서,
    상기 디바이스가 스트림을 추가하는 것을 방지하는 리소스 제약을 갖는 경우, 상기 스트림을 추가하라는 상기 요청의 수신에 응답하여 부정 승인(negative acknowledgement)을 상기 소스에 제공하는 단계를 포함하는 오디오 및 비디오 스트리밍 방법.
  8. 제1항에 있어서,
    상기 디바이스가 상기 요청에 대한 목적지가 아닐 때에는 상기 요청을 상기 싱크 디바이스에 단지 전달하는 단계를 포함하는 오디오 및 비디오 스트리밍 방법.
  9. 제1항에 있어서,
    한번에, 스트림을 추가하라는 하나의 요청만을 상기 디바이스를 통해 상기 싱크 디바이스에 전파하는 단계를 포함하는 오디오 및 비디오 스트리밍 방법.
  10. 제9항에 있어서,
    제1 스트림과 동시에 요청되는 제2 스트림을 차단하고, 상기 제1 스트림의 전파가 완료된 후에 상기 제2 스트림을 차단해제하는 단계를 포함하는 오디오 및 비디오 스트리밍 방법.
  11. 비디오 또는 오디오 데이터의 소스와 싱크 사이의 디바이스 내의 프로세서에 의해 실행되는 명령어들을 저장하는 컴퓨터 판독가능 매체로서,
    상기 명령어들은,
    상기 소스 및 싱크를 포함하는 토폴로지 내에 상기 디바이스를 확립하고;
    소스로부터 싱크로의 오디오 또는 비디오 데이터를 위한 추가의 스트림을 추가하라는 요청을 상기 소스로부터 수신하고;
    상기 스트림에 연관된 입력 스트림 식별자 및 입력 포트를 저장하고;
    상기 입력 스트림 식별자를 출력 스트림 식별자에 맵핑하고;
    상기 출력 스트림 식별자 및 출력 포트 번호를 저장하고;
    상기 스트림을 추가하라는 요청을 싱크 디바이스에 전달하기
    위한 것인 컴퓨터 판독가능 매체.
  12. 제11항에 있어서,
    상기 식별자들 및 포트를 맵핑 테이블 내에 저장하기 위한 명령어들이 더 저장되어 있는 컴퓨터 판독가능 매체.
  13. 제11항에 있어서,
    제1 채널 상에서 컨트롤 신호들을 송신하고, 제2 채널 상에서 데이터 신호들을 송신하기 위한 명령어들이 더 저장되어 있는 컴퓨터 판독가능 매체.
  14. 제11항에 있어서,
    어드레스 생성 페이즈 동안 상기 토폴로지 내의 디바이스들에 대한 어드레스들을 획득하기 위한 명령어들이 더 저장되어 있는 컴퓨터 판독가능 매체.
  15. 제11항에 있어서,
    상기 스트림을 추가하기 전에 열거 시퀀스를 거치기 위한 명령어들이 더 저장되어 있는 컴퓨터 판독가능 매체.
  16. 제11항에 있어서,
    상기 디바이스가 스트림을 추가하는 것을 방지하는 리소스 제약을 갖는 경우, 스트림을 추가하라는 상기 요청의 수신에 응답하여 부정 승인을 상기 소스에 제공하기 위한 명령어들이 더 저장되어 있는 컴퓨터 판독가능 매체.
  17. 제11항에 있어서,
    상기 디바이스가 상기 요청에 대한 목적지가 아닐 때에는 상기 요청을 상기 싱크 디바이스에 단지 전달하기 위한 명령어들이 더 저장되어 있는 컴퓨터 판독가능 매체.
  18. 제11항에 있어서,
    한번에, 스트림을 추가하라는 하나의 요청만을 상기 디바이스를 통해 상기 싱크 디바이스에 전파하기 위한 명령어들이 더 저장되어 있는 컴퓨터 판독가능 매체.
  19. 제18항에 있어서,
    제1 스트림과 동시에 요청되는 제2 스트림을 차단하기 위한 명령어들이 더 저장되어 있는 컴퓨터 판독가능 매체.
  20. 제19항에 있어서,
    상기 제1 스트림의 전파가 완료된 후에 상기 제2 스트림을 차단해제하기 위한 명령어들이 더 저장되어 있는 컴퓨터 판독가능 매체.
  21. 오디오 및 비디오 스트리밍 장치로서,
    수신기;
    송신기; 및
    상기 수신기 및 송신기에 연결되어, 비디오 또는 오디오 데이터의 소스 및 싱크를 포함하는 토폴로지 내에 상기 장치를 확립하고, 소스로부터 싱크로의 오디오 또는 비디오 데이터를 위한 추가의 스트림을 추가하라는 요청을 상기 소스로부터 수신하고, 상기 스트림에 연관된 입력 스트림 식별자 및 입력 포트를 저장하고, 상기 입력 스트림 식별자를 출력 스트림 식별자에 맵핑하고, 상기 출력 스트림 식별자 및 출력 포트 번호를 저장하고, 상기 스트림을 추가하라는 요청을 상기 싱크에 전달하기 위한 유닛
    을 포함하는 오디오 및 비디오 스트리밍 장치.
  22. 제21항에 있어서,
    상기 장치는 브랜치 디바이스(branch device)인 오디오 및 비디오 스트리밍 장치.
  23. 제21항에 있어서,
    한번에, 스트림을 추가하라는 하나의 요청만을 상기 장치를 통해 상기 싱크에 전파하는 오디오 및 비디오 스트리밍 장치.
  24. 제23항에 있어서,
    상기 유닛은 제1 스트림과 동시에 요청된 제2 스트림을 차단하는 오디오 및 비디오 스트리밍 장치.
  25. 제24항에 있어서,
    상기 유닛은 상기 제1 스트림의 전파가 완료된 후에 상기 제2 스트림을 차단해제하는 오디오 및 비디오 스트리밍 장치.
KR1020110008460A 2010-01-28 2011-01-27 디바이스들의 토폴로지 내에서의 오디오/비디오 스트리밍을 위한 바인딩 KR101244957B1 (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/782,040 2010-05-18
US12/782,040 US8984155B2 (en) 2010-01-28 2010-05-18 Binding for audio/video streaming in a topology of devices

Publications (2)

Publication Number Publication Date
KR20110088456A KR20110088456A (ko) 2011-08-03
KR101244957B1 true KR101244957B1 (ko) 2013-03-19

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 After (2)

Application Number Title Priority Date Filing Date
KR1020110008381A KR101280695B1 (ko) 2010-01-28 2011-01-27 디바이스들의 토폴로지에서 오디오/비디오 스트리밍을 위한 메시지 전달 프레임워크
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 (20)

* 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 옵티시스 주식회사 영상 시스템
KR102161715B1 (ko) 2013-05-23 2020-10-06 삼성전자주식회사 도킹 구조에서의 프록시 기반 통신 기법
DE102014111457B4 (de) * 2013-08-22 2018-03-15 Intel Corporation Topologie und bandbreiten-management für i/0 und eingehende av
US9984652B2 (en) 2013-08-22 2018-05-29 Intel Corporation Topology and bandwidth management for IO and inbound 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
JP6540469B2 (ja) * 2015-11-16 2019-07-10 株式会社リコー 通信端末、通信システム、通信制御方法、及びプログラム
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 京东科技信息技术有限公司 信息展示方法、装置、电子设备和计算机可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000031566A (ko) * 1998-11-07 2000-06-05 구자홍 객체 지향 분산 처리시스템에서 멀티미디어 스트림 데이터의 제어 및 자원 할당을 위한 방법
KR20010083054A (ko) * 1998-06-19 2001-08-31 추후보정 다수-소스식 비디오 분배 허브
KR20040010954A (ko) * 2002-07-25 2004-02-05 엘지전자 주식회사 트랜스포트 디멀티플렉서
WO2009137061A1 (en) 2008-05-06 2009-11-12 Integrated Device Technology, Inc. System having capability for daisy-chained serial distribution of video display data

Family Cites Families (64)

* 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
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
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
WO2004023323A1 (en) * 2002-09-03 2004-03-18 Thomson Licensing S.A. Mechanism for providing quality of service in a network utilizing priority and reserved bandwidth protocols
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网络中设备标识符的设定方法
PT2296325E (pt) 2005-11-09 2014-06-24 Thomson Licensing Seleção de rotas em redes sem fios
US20070130245A1 (en) * 2005-12-07 2007-06-07 Electronics And Telecommunications Research Institute Portable internet terminal apparatus for wireless broadband internet
CN101554032B (zh) * 2006-12-07 2013-05-22 维迪亚特企业公司 用于选择流式媒体的系统及方法
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 ソニー株式会社 送信装置および受信装置
US8019999B2 (en) 2007-10-18 2011-09-13 Sony Corporation Wireless receiver device revocation management
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
US8094684B2 (en) * 2008-05-09 2012-01-10 Parade Technologies, Ltd. Link training scheme for displayport source repeaters
US8255202B2 (en) * 2008-05-27 2012-08-28 Valens Semiconductor Ltd. Methods and devices for spoofing CEC messages
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
US9313463B2 (en) * 2009-06-09 2016-04-12 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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010083054A (ko) * 1998-06-19 2001-08-31 추후보정 다수-소스식 비디오 분배 허브
KR20000031566A (ko) * 1998-11-07 2000-06-05 구자홍 객체 지향 분산 처리시스템에서 멀티미디어 스트림 데이터의 제어 및 자원 할당을 위한 방법
KR20040010954A (ko) * 2002-07-25 2004-02-05 엘지전자 주식회사 트랜스포트 디멀티플렉서
WO2009137061A1 (en) 2008-05-06 2009-11-12 Integrated Device Technology, Inc. System having capability for daisy-chained serial distribution of video display data

Also Published As

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

Similar Documents

Publication Publication Date Title
US11900003B2 (en) Message passing framework for audio/video streaming in a topology of devices
TWI575918B (zh) 利用分時操作之裝置、方法及非暫態電腦可讀儲存媒體
JP5657762B2 (ja) メディアインターフェースの双方向通信を提供するためのオペレーション
KR102146867B1 (ko) 비디오 데이터와 함께 고속 데이터 전송을 제공하기 위한 방법 및 디바이스
JP2002542527A (ja) 一般的なシリアルバスプロトコルの範囲を拡張する方法並びに装置
JP2016505915A (ja) 表示インターフェースを介するシリアルバスサポートの柔軟な実装
JP2014504063A (ja) パケット交換ネットワーク上の制御バス信号の転送
KR101698242B1 (ko) Io 및 인바운드 av를 위한 토폴로지 및 대역폭 관리
US20130019034A1 (en) Method and system for USB connections over distinct network paths
US20120117278A1 (en) Method and system for partial USB enumeration and edge initiation
KR20060109768A (ko) DTVLink 방식의 프레임 데이터 전송 방법
GB2477415A (en) Path training via messages in a video streaming topology

Legal Events

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

Payment date: 20160303

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170302

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190227

Year of fee payment: 7