KR20150110724A - 무선 디스플레이 디바이스들에 대한 사용자 입력 제어를 위한 비연결형 전송 - Google Patents

무선 디스플레이 디바이스들에 대한 사용자 입력 제어를 위한 비연결형 전송 Download PDF

Info

Publication number
KR20150110724A
KR20150110724A KR1020157022832A KR20157022832A KR20150110724A KR 20150110724 A KR20150110724 A KR 20150110724A KR 1020157022832 A KR1020157022832 A KR 1020157022832A KR 20157022832 A KR20157022832 A KR 20157022832A KR 20150110724 A KR20150110724 A KR 20150110724A
Authority
KR
South Korea
Prior art keywords
uibc
input type
user input
vnc
parameter message
Prior art date
Application number
KR1020157022832A
Other languages
English (en)
Other versions
KR101780300B1 (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 KR20150110724A publication Critical patent/KR20150110724A/ko
Application granted granted Critical
Publication of KR101780300B1 publication Critical patent/KR101780300B1/ko

Links

Images

Classifications

    • 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/10Architectures or entities
    • H04L65/1059End-user terminal functionalities specially adapted for real-time communication
    • 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/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • 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
    • H04L65/4084
    • H04L65/4092
    • H04L65/602
    • H04L65/608
    • 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
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client 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/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

무선 디스플레이(WD) 시스템의 싱크 디바이스는, 싱크 디바이스가 디바이스 제어 입력들을 소스 디바이스에 전송하도록 허용하기 위해, WD 시스템에서 소스 디바이스와 싱크 디바이스 사이에 사용자 입력 디바이스 제어 통신 채널을 확립할 수 있다. 사용자 입력 디바이스 제어 통신 채널은, UDP를 통해 하나 또는 둘 이상의 부가적인 입력 타입들을 전송하도록 수정된, Wi-Fi 사용자 입력 백 채널(UIBC)로 지칭되는 역방향 채널 아키텍처를 포함할 수 있다. 예를 들어, UIBC는 음성 입력 및 VNC 입력 타입들을 전송하도록 확장될 수 있다.

Description

무선 디스플레이 디바이스들에 대한 사용자 입력 제어를 위한 비연결형 전송{CONNECTIONLESS TRANSPORT FOR USER INPUT CONTROL FOR WIRELESS DISPLAY DEVICES}
우선권 주장
[0001] 본 출원은 2013년 1월 25일 출원된 미국 가출원 번호 제 61/757,010호; 및 2013년 1월 28일 출원된 미국 가출원 번호 제 61/757,414호를 우선권으로 주장하며; 앞서의 미국 가출원들 각각의 전체 내용은 인용에 의해 본 명세서에 포함된다.
[0002] 본원은 미디어 데이터의 전송 및 재생에 관한 것으로, 더 구체적으로는 미디어 데이터의 전송 및 재생을 통한 사용자 입력 제어에 관한 것이다.
[0003] Wi-Fi 디스플레이(Miracast™으로 또한 알려짐)는 Wi-Fi 연합에 의해 개발되고 있는, 무선 디스플레이들에 대한 향후 표준이다. 이 표준은 Wi-Fi 다이렉트(Wi-Fi Direct)에 기초한다. Wi-Fi 디스플레이(WFD; Wi-Fi Display) 표준은 Wi-Fi 디스플레이 싱크(Wi-Fi Display Sink)에서 Wi-Fi 디스플레이 소스(Wi-Fi Display Source)로부터 소싱된 멀티미디어 콘텐츠를 검색(discover), 페어링(pair), 연결 및 렌더링(render)하는 상호운용가능한 메커니즘을 제공한다. 현재의 WFD 표준에 관한 부가적인 정보는, Wi-Fi 디스플레이 기술 사양 v1.0.0, 및 Wi-Fi 연합, "Wi-Fi 디스플레이 사양 드래프트 버전 1.31", Wi-Fi 연합 기술 위원회, 디스플레이 태스크 그룹에서 찾을 수 있으며, 이로써, 이는 그 전체가 인용에 의해 본 명세서에 포함된다.
[0004] 무선 디스플레이(WD: wireless display) 시스템들은 소스 디바이스 및 하나 또는 둘 이상의 싱크 디바이스들을 포함한다. 소스 디바이스는 무선 로컬 영역 네트워크 내에서 미디어 콘텐츠를 전송할 수 있는 디바이스일 수 있다. 싱크 디바이스는 미디어 콘텐츠를 수신 및 렌더링할 수 있는 디바이스일 수 있다. 소스 디바이스 및 싱크 디바이스들은 모바일 디바이스들이거나 유선 디바이스들일 수 있다. 예를 들어 모바일 디바이스들로서, 소스 디바이스 및 싱크 디바이스들은 모바일 전화들, 무선 통신 카드들을 가진 휴대용 컴퓨터들, PDA(personal digital assistant)들, 휴대용 미디어 플레이어들, 카메라 또는 캠코더와 같은 디지털 이미지 캡처링 디바이스들, 또는 이른바 "스마트" 폰들 및 "스마트" 패드들 또는 태블릿들을 포함하는 무선 통신 능력들을 갖는 다른 플래시 메모리 디바이스들, 또는 다른 타입들의 무선 통신 디바이스들을 포함할 수 있다. 예를 들어 유선 디바이스들로서, 소스 디바이스 및 싱크 디바이스들은 텔레비전들, 데스크톱 컴퓨터들, 모니터들, 프로젝터들, 프린터들, 오디오 증폭기들, 셋톱박스들, 게임 콘솔들, 라우터들, 차량 대시보드 디스플레이들, 및 DVD(digital video disc) 플레이어들, 그리고 미디어 서버들을 포함할 수 있다.
[0005] 소스 디바이스는 오디오 비디오(AV: audio video) 데이터와 같은 미디어 데이터를 특정 미디어 공유 세션에 참여하는 싱크 디바이스들 중 하나 또는 둘 이상의 싱크 디바이스에 전송할 수 있다. 미디어 데이터는 소스 디바이스의 로컬 디스플레이와 싱크 디바이스들의 각각의 디스플레이들 모두에서 재생될 수 있다. 더 구체적으로, 참여하는 싱크 디바이스들 각각은 수신된 미디어 데이터를 그 각각의 디바이스의 스크린 및 오디오 장비를 통한 프리젠테이션(presentation)을 위해 렌더링한다. 일부 경우들에서, 싱크 디바이스의 사용자는 터치 입력들 및 원격 제어 입력들과 같은 사용자 입력들을 싱크 디바이스에 적용할 수 있다. 일부 경우들에서, 소스 디바이스는, 싱크 디바이스 디스플레이들 상에서 소스 디바이스 애플리케이션들에 대해 사용자 인터페이스를 디스플레이하고 사용자 입력을 다시 모바일 소스 디바이스에 통신하기 위한 베이스라인 프로토콜로서 가상 네트워크 컴퓨팅(VNC; Virtual Network Computing)을 이용할 수 있다.
[0006] 일반적으로, 본원은, 부가적인 입력 타입들을 포함하도록, 그리고 일부 양상들에서는 비연결형 전송 프로토콜(connectionless transport protocol)을 이용하여 부가적인 입력 타입들 중 임의의 입력 타입에 대응하는 사용자 입력 데이터를 전송하도록 무선 디스플레이(WD) 사용자 입력 프로토콜들을 확장시키는 기법들에 관한 것이다.
[0007] 일 예에서, 사용자 입력 데이터를 수신하는 방법은, 사용자 입력 백 채널(UIBC; user input back channel) 파라미터 메시지를 전송하는 단계 ― UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC; Virtual Network Computer) 입력 타입 중 하나를 명시함 ―, 및 음성 입력 타입 및 VNC 입력 타입 중 명시된 타입에 따라 UIBC 메시지에서 사용자 입력 데이터를 수신하는 단계를 포함한다.
[0008] 다른 예에서, 사용자 입력 데이터를 전송하는 방법은, 사용자 입력 백 채널(UIBC) 파라미터 메시지를 수신하는 단계 ― UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―, 및 음성 입력 타입 및 VNC 입력 타입 중 명시된 타입에 따라 사용자 입력 데이터를 전송하는 단계를 포함한다.
[0009] 다른 예에서, 소스 디바이스는, 사용자 입력 백 채널(UIBC) 파라미터 메시지를 전송하기 위한 수단 ― UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―, 및 음성 입력 타입 및 VNC 입력 타입 중 명시된 타입에 따라 UIBC 메시지에서 사용자 입력 데이터를 수신하기 위한 수단을 포함한다.
[0010] 다른 예에서, 싱크 디바이스는, 사용자 입력 백 채널(UIBC) 파라미터 메시지를 수신하기 위한 수단 ― UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―, 및 음성 입력 타입 및 VNC 입력 타입 중 명시된 타입에 따라 사용자 입력 데이터를 전송하기 위한 수단을 포함한다.
[0011] 다른 예에서, 소스 디바이스는 하나 또는 둘 이상의 프로세서들을 포함하고, 하나 또는 둘 이상의 프로세서들은, 사용자 입력 백 채널(UIBC) 파라미터 메시지를 전송하고 ― UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―, 그리고 음성 입력 타입 및 VNC 입력 타입 중 명시된 타입에 따라 UIBC 메시지에서 사용자 입력 데이터를 수신하도록 구성된다.
[0012] 다른 예에서, 싱크 디바이스는 하나 또는 둘 이상의 프로세서들을 포함하고, 하나 또는 둘 이상의 프로세서들은, 사용자 입력 백 채널(UIBC) 파라미터 메시지를 수신하고 ― UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―, 그리고 음성 입력 타입 및 VNC 입력 타입 중 명시된 타입에 따라 사용자 입력 데이터를 전송하도록 구성된다.
[0013] 다른 예에서, 컴퓨터-판독가능 저장 매체는, 컴퓨터-판독가능 저장 매체 상에 저장되는 명령들을 포함하고, 명령들은 실행될 때, 하나 또는 둘 이상의 프로세서들이, 사용자 입력 백 채널(UIBC) 파라미터 메시지를 전송하고 ― UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―, 그리고 음성 입력 타입 및 VNC 입력 타입 중 명시된 타입에 따라 UIBC 메시지에서 사용자 입력 데이터를 수신하도록 구성한다.
[0014] 다른 예에서, 컴퓨터-판독가능 저장 매체는, 컴퓨터-판독가능 저장 매체 상에 저장되는 명령들을 포함하고, 명령들은 실행될 때, 하나 또는 둘 이상의 프로세서들이, 사용자 입력 백 채널(UIBC) 파라미터 메시지를 수신하고 ― UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―, 그리고 음성 입력 타입 및 VNC 입력 타입 중 명시된 타입에 따라 사용자 입력 데이터를 전송하도록 구성한다.
[0015] 본원의 하나 또는 둘 이상의 예들의 상세들은 아래에서 첨부 도면들 및 설명에서 설명된다. 다른 특징들, 목적들, 및 이점들은 설명 및 도면들로부터 그리고 청구항들로부터 명백해질 것이다.
[0016] 도 1은 사용자 입력 디바이스 제어 통신 채널을 이용하여 음성 및 가상 네트워크 연결(VNC; Virtual Network Connection) 키이벤트(KeyEvent)들을 교환할 수 있는 소스 디바이스 및 싱크 디바이스를 포함하는 무선 디스플레이(WD) 시스템의 예를 예시하는 블록도이다.
[0017] 도 2는 WD 시스템에 대한 데이터 통신 모델 또는 프로토콜 스택의 예를 예시하는 블록도이다.
[0018] 도 3은 본 명세서에서 설명된 기법들을 구현할 수 있는 소스 디바이스의 예를 예시하는 블록도이다.
[0019] 도 4는 본 명세서에서 설명된 기법들을 구현할 수 있는 싱크 디바이스의 예를 예시하는 블록도이다.
[0020] 도 5는 본 명세서에서 설명된 사용자 입력 송신 기법을 예시하는 흐름도이다.
[0021] 도 6은 본 명세서에서 설명된 사용자 입력 송신 기법을 예시하는 흐름도이다.
[0022] 도 7은 본 명세서에서 설명된 사용자 입력 송신 기법을 예시하는 흐름도이다.
[0023] 도 8은 본 명세서에서 설명된 사용자 입력 송신 기법을 예시하는 흐름도이다.
[0024] 소스 및 싱크 디바이스는, 현재 개발중인 WirelessHD, WHDI(Wireless Home Digital Interface), WiGig, Wireless USB 및 Wi-Fi Display(WFD) 표준과 같은 표준들에 부합하는 WD 통신 기법들을 구현할 수 있다. WFD 표준에 관한 부가적인 정보는 Wi-Fi 연합, "Wi-Fi 디스플레이 사양 드래프트 버전 1.31", Wi-Fi 연합 기술 위원회, 디스플레이 태스크 그룹에서 찾을 수 있으며, 이로써, 이는 그 전체가 인용에 의해 본 명세서에 포함된다. 그러나, 현재의 WFD 표준은 음성 입력들도 지원하지 않고, VNC 키이벤트 입력과 같은 가상 네트워크 컴퓨팅(VNC) 입력들도 지원하지 않는다. 부가하여, 현재의 WFD 표준은 연결-지향 프로토콜, 즉, TCP/IP(Transmission Control Protocol over Internet Protocol)를 통해 사용자 입력을 전송하는 것을 명시한다.
[0025] 본원의 기법들은, 싱크 디바이스가 디바이스 제어 입력들을 소스 디바이스에 전송하는 것을 허용하기 위해, WD 시스템에서 소스 디바이스와 싱크 디바이스 사이에 사용자 입력 디바이스 제어 통신 채널을 확립하는 것을 포함할 수 있다. 사용자 입력 디바이스 제어 통신 채널은, 하나 또는 둘 이상의 부가적인 입력 타입들을 전송하도록 수정된 Wi-Fi 사용자 입력 백 채널(UIBC)로 지칭되는 역방향 채널 아키텍처를 포함할 수 있다. 예를 들어, UIBC는 음성 및 VNC 키이벤트 입력 타입들을 전송하도록 확장될 수 있다.
[0026] 일부 예들에서, 기법들은, 입력 타입들 중 하나 또는 둘 이상의 입력 타입에 대해 UDP/IP(User Datagram Protocol over IP)와 같은 비연결형 전송 프로토콜을 통해 사용자 입력 디바이스 제어 통신 채널을 전송하기 위해 WFD 소프트웨어 스택을 수정하는 것을 더 포함할 수 있다. 일부 예들에서, 기법들은, TCP/IP 및 UDP/IP에 대해 각각의 사용자 입력 디바이스 제어 통신 채널들을 확립하는 것, 및 전송을 위한 사용자 입력 디바이스 제어 통신 채널들 중 하나에 디바이스 제어를 위한 입력 타입들을 할당하는 것을 포함할 수 있다. 예를 들어, 음성은 UDP/IP 채널에 할당될 수 있는 한편, 마우스-클릭 이벤트들은 TCP/IP에 할당된다. TCP와 달리, UDP는 보증되지 않은 데이터그램 전달(no guaranteed datagram delivery), 오더링(ordering), 또는 복제 방지(duplication protection)를 제공하고, 음성 및 다른 실시간 데이터를 반송(carry)하는데 더 적절할 수 있다.
[0027] 결과적으로, 기법들은 WD 디바이스들에 대한 잠재적 사용자 입력 타입들의 범위를 확장시킬 수 있고, 이에 의해, 소스 디바이스의 동작을 제어하고 있는 싱크 디바이스의 사용자에 대한 사용자 경험을 개선한다. 부가하여, 비연결형 프로토콜을 이용하여 사용자 입력 디바이스 제어 통신 채널의 적어도 일부 입력 타입들을 전송하기 위해 WFD 소프트웨어 스택을 수정함으로써, 기법들은, 소스 디바이스에 의해 싱크 디바이스에 전송된 사용자 입력들에 대한 전송 레이턴시를 감소시킬 수 있고, 또한, 예를 들어, 음성 커맨드와 커맨드 실행 사이의 레이턴시를 감소시킴으로써, 사용자 경험을 잠재적으로 개선한다.
[0028] 도 1은 사용자 입력 디바이스 제어 통신 채널을 이용하여 음성 및 가상 네트워크 연결(VNC) 키이벤트들을 교환할 수 있는 소스 디바이스(120) 및 싱크 디바이스(160)를 포함하는 무선 디스플레이(WD) 시스템(100)의 예를 예시하는 블록도이다. 일부 예들에서, 소스 디바이스(120) 및 싱크 디바이스(160)는 비연결형 프로토콜을 이용하여, 음성 및 VNC 키이벤트 입력 타입들 중 어느 하나 또는 양쪽 모두와 같은 하나 또는 둘 이상의 사용자 입력 타입들을 교환할 수 있다. 도 1에 도시된 바와 같이, WD 시스템(100)은 통신 채널(150)을 통해 싱크 디바이스(160)와 통신하는 소스 디바이스(120)를 포함한다.
[0029] 소스 디바이스(120)는 메모리(122), 디스플레이(124), 스피커(126), 오디오 및/또는 비디오(A/V) 인코더(128), 오디오 및/또는 비디오(A/V) 제어 모듈(130) 및 송신기/수신기(TX/RX: transmitter/receiver) 유닛(132)을 포함할 수 있다. 싱크 디바이스(160)는 송신기/수신기 유닛(162), 오디오 및/또는 비디오(A/V) 디코더(164), 디스플레이(166), 스피커(168), 사용자 입력(UI: user input) 디바이스(170) 및 사용자 입력 프로세싱 모듈(UIPM: user input processing module)(172)을 포함할 수 있다. 예시된 컴포넌트들은 단지 WD 시스템(100)에 대한 하나의 예시적 구성을 이룰 뿐이다. 다른 구성들은 예시된 것들보다 더 적은 컴포넌트들을 포함할 수 있거나, 예시된 것들보다 추가적인 컴포넌트들을 포함할 수 있다.
[0030] 도 1의 예에서, 소스 디바이스(120)는 A/V 데이터의 비디오 부분을 디스플레이(124) 상에 디스플레이할 수 있고, A/V 데이터의 오디오 부분을 스피커(126)를 이용하여 출력할 수 있다. A/V 데이터는 메모리(122) 상에 로컬적으로 저장되거나, 파일 서버, 하드 드라이브, 외부 메모리, 블루레이 디스크, DVD 또는 다른 물리적 저장 매체와 같은 외부 저장 매체로부터 액세스될 수 있거나, 또는 네트워크 연결을 통해, 이를테면, 인터넷을 통해 소스 디바이스(120)에 스트리밍될 수 있다. 일부 경우들에서, A/V 데이터가 소스 디바이스(120)의 카메라 및 마이크로폰을 통해 실시간으로 캡처될 수 있다. A/V 데이터는 영화들, 텔레비전 쇼들, 또는 음악과 같은 멀티미디어 콘텐츠를 포함할 수 있지만, 소스 디바이스(120)에 의해 발생되는 실시간 콘텐츠를 또한 포함할 수 있다. 이러한 실시간 콘텐츠는 예를 들어, 소스 디바이스(120) 상에서 실행되는 애플리케이션들에 의해 생성될 수 있거나, 또는 예를 들어, 비디오 전화 세션의 부분으로서 캡처되는 비디오 데이터일 수 있다. 일부 경우들에서, 이러한 실시간 콘텐츠는 사용자가 선택할 수 있는 사용자 입력 옵션들의 비디오 프레임을 포함할 수 있다. 일부 경우들에서, A/V 데이터는 비디오의 프레임 상에 오버레이된 사용자 입력 옵션들을 갖는 TV 프로그램 또는 영화의 비디오 프레임과 같은, 상이한 타입들의 콘텐츠의 결합인 비디오 프레임들을 포함할 수 있다. 일부 경우들에서, A/V 데이터는 싱크 디바이스(160) 상에 소스 디바이스(120) 상에서 실행되는 애플리케이션들의 사용자 인터페이스를 디스플레이하기 위해 가상 네트워크 컴퓨팅(VNC)에 의해 전송된 데이터를 포함할 수 있다. 일반적으로, WD는 사용자 인터페이스를 디스플레이하기 위해 그리고 싱크 디바이스(160)로부터 소스 디바이스(120)로 사용자 입력을 통신하기 위해 VNC를 이용할 수 있다.
[0031] A/V 데이터를 디스플레이(124) 및 스피커(126)를 통해 로컬적으로 렌더링하는 것에 부가하여(및/또는 렌더링하는 것에 대안적으로), 소스 디바이스(120)의 A/V 인코더(128)는 A/V 데이터를 인코딩할 수 있고, 송신기/수신기 유닛(132)은 인코딩된 데이터를 통신 채널(150)을 통해 싱크 디바이스(160)에 전송할 수 있다. 싱크 디바이스(160)의 송신기/수신기 유닛(162)은 인코딩된 데이터를 수신하고, A/V 디코더(164)는 인코딩된 데이터를 디코딩하여 디코딩된 데이터를 디스플레이(166) 및 스피커(168)를 통한 프리젠테이션을 위해 출력할 수 있다. 이러한 방식으로, 디스플레이(124) 및 스피커(126)에 의해 렌더링되는 오디오 및 비디오 데이터가 디스플레이(166) 및 스피커(168)에 의해 동시에 렌더링될 수 있다. 오디오 데이터 및 비디오 데이터는 프레임들로 배열될 수 있고, 오디오 프레임들은 렌더링될 때 비디오 프레임들과 시간-동기화될 수 있다.
[0032] A/V 인코더(128) 및 A/V 디코더(164)는, 대안으로는 MPEG-4, Part 10, 어드밴스드 비디오 코딩(AVC: Advanced Video Coding)으로 지칭되는 ITU-T H.264 표준 또는 새롭게 떠오르는 고효율 비디오 코딩(HEVC: high efficiency video coding) 표준과 같은 많은 오디오 및 비디오 압축 표준들을 구현할 수 있다. 많은 다른 타입들의 사유(proprietary) 또는 표준화된 압축 기법들이 또한 이용될 수 있다. 일반적으로 말하면, A/V 디코더(164)는 A/V 인코더(128)의 역 코딩 동작(reciprocal coding operation)들을 수행하도록 구성된다. 도 1에는 도시되지 않았지만, 일부 양상들에서, A/V 인코더(128) 및 A/V 디코더(164)는 각각 오디오 인코더 및 디코더와 통합될 수 있고, 공통 데이터 스트림 또는 개별 데이터 스트림들에서 오디오 및 비디오 양쪽 모두의 인코딩을 처리하기 위해 적절한 MUX-DEMUX 유닛들 또는 다른 하드웨어 및 소프트웨어를 포함할 수 있다.
[0033] 아래에서 더 상세하게 설명될 바와 같이, A/V 인코더(128)는 또한 앞서 설명된 바와 같은 비디오 압축 표준을 구현하는 것에 부가하여, 다른 인코딩 기능들을 수행할 수 있다. 예를 들어, A/V 인코더(128)는 싱크 디바이스(160)에 A/V 데이터가 전송되기 전에 다양한 타입들의 메타데이터를 A/V 데이터에 부가할 수 있다. 일부 경우들에서, A/V 데이터는 인코딩된 형태로 소스 디바이스(120)에서 수신 또는 저장될 수 있고, 따라서 A/V 인코더(128)에 의한 추가의 압축을 필요로 하지 않을 수 있다.
[0034] 도 1이 오디오 페이로드 데이터 및 비디오 페이로드 데이터를 개별적으로 반송하는 통신 채널(150)을 도시하지만, 비디오 페이로드 데이터 및 오디오 페이로드 데이터는 공통 데이터 스트림의 부분일 수 있다. 적용 가능하다면, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜(UDP: user datagram protocol)과 같은 다른 프로토콜들을 따를 수 있다. A/V 인코더(128) 및 A/V 디코더(164)는 각각 하나 또는 둘 이상의 마이크로프로세서들, 디지털 신호 프로세서(DSP: digital signal processor)들, 주문형 집적 회로(ASIC: application specific integrated circuit)들, 필드 프로그램 가능 게이트 어레이(FPGA: field programmable gate array)들, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 결합들로서 구현될 수 있다. A/V 인코더(128) 및 A/V 디코더(164) 각각은 하나 또는 둘 이상의 인코더들 또는 디코더들에 포함될 수 있고, 이들 중 어느 하나는 결합된 인코더/디코더(CODEC)의 부분으로서 통합될 수 있다. 따라서 소스 디바이스(120) 및 싱크 디바이스(160) 각각은 본원의 기법들 중 하나 또는 둘 이상을 실행하도록 구성된 특화된 머신들을 포함할 수 있다.
[0035] 디스플레이(124) 및 디스플레이(166)는 음극선관(CRT: cathode ray tube), 액정 디스플레이(LCD: liquid crystal display), 플라즈마 디스플레이, 발광 다이오드(LED: light emitting diode) 디스플레이, 유기 발광 다이오드(OLED: organic light emitting diode) 디스플레이 또는 다른 타입의 디스플레이 디바이스와 같은 다양한 비디오 출력 디바이스들 중 임의의 비디오 출력 디바이스를 포함할 수 있다. 이러한 또는 다른 예들에서, 디스플레이(124) 및 디스플레이(166)는 각각 발광형 디스플레이들 또는 투과형 디스플레이들일 수 있다. 디스플레이(124) 및 디스플레이(166)는 또한, 터치 디스플레이들 또는 존재-감응형(presence-sensitive)일 수 있어서, 디스플레이(124) 및 디스플레이(166)는 동시에 입력 디바이스들이면서 디스플레이 디바이스들이다. 이러한 터치 디스플레이들은, 사용자가 사용자 입력을 각각의 디바이스에 제공하도록 허용하는 용량성, 저항성 또는 다른 타입의 터치 또는 존재-감응형 패널일 수 있다.
[0036] 스피커(126) 및 스피커(168)는 헤드폰들, 단일-스피커 시스템, 다중-스피커 시스템 또는 서라운드 음향 시스템과 같은 다양한 오디오 출력 디바이스들 중 임의의 오디오 출력 디바이스를 포함할 수 있다. 부가적으로, 디스플레이(124) 및 스피커(126)는 소스 디바이스(120)의 부분으로서 도시되고, 디스플레이(166) 및 스피커(168)는 싱크 디바이스(160)의 부분으로서 도시되지만, 소스 디바이스(120) 및 싱크 디바이스(160)는 실제로는 하나의 시스템의 디바이스들일 수 있다. 일 예로서, 디스플레이(166)는 텔레비전일 수 있고, 스피커(168)는 서라운드 음향 시스템일 수 있으며, A/V 디코더(164)는 디스플레이(166) 및 스피커(168)에 유선으로 또는 무선으로 연결된 외부 박스의 부분일 수 있다. 다른 경우들에서, 싱크 디바이스(160)는 태블릿 컴퓨터 또는 스마트폰과 같은 단일 디바이스일 수 있다. 또 다른 경우들에서, 소스 디바이스(120) 및 싱크 디바이스(160)는 유사한 디바이스들인데, 예를 들어 양쪽 모두가 스마트폰들, 태블릿 컴퓨터들 등이다. 이러한 경우, 하나의 디바이스는 소스로서 동작할 수 있고, 다른 디바이스는 싱크로서 동작할 수 있다. 이러한 역할들은 후속 통신 세션들에서는 반전될 수 있다. 또 다른 경우들에서, 소스 디바이스(120)는 스마트폰, 랩톱 또는 태블릿 컴퓨터와 같은 모바일 디바이스를 포함할 수 있고, 싱크 디바이스(160)는 (예를 들어, AC 전원 코드를 갖는) 더 정적인 디바이스를 포함할 수 있는데, 이 경우 소스 디바이스(120)는 싱크 디바이스(160)를 통해 하나 또는 둘 이상의 시청자들에게 프리젠테이션을 위해 오디오 및 비디오 데이터를 전달할 수 있다.
[0037] 송신기/수신기(TX/RX) 유닛(132) 및 송신기/수신기 유닛(162)은 각각, 데이터를 전송 및 수신하기 위해 설계된 하나 또는 둘 이상의 안테나들 및 다른 컴포넌트들뿐만 아니라, 신호 변조를 위해 설계된 다양한 믹서들, 필터들, 증폭기들 및 다른 컴포넌트들 또한 포함할 수 있다. 통신 채널(150)은 일반적으로 소스 디바이스(120)와 싱크 디바이스(160) 사이에서 오디오/비디오 데이터, 제어 데이터 및 피드백을 전송하기 위한 임의의 적절한 통신 매체, 또는 상이한 통신 매체들의 집합을 나타낸다. 통신 채널(150)은 일반적으로, 비교적 단거리 통신 채널이며, Wi-Fi, 블루투스 등과 같은 또는 유사한 물리적 채널 구조를 구현할 수 있는데, 이를테면, 정의된 2.4㎓, 3.6㎓, 5㎓, 60㎓ 또는 초광대역(UWB: Ultrawideband) 주파수 대역 구조들을 구현할 수 있다. 그러나 통신 채널(150)은 반드시 이러한 사항으로 제한되는 것은 아니며, 무선 주파수(RF: radio frequency) 스펙트럼이나 하나 또는 둘 이상의 물리적 송신 라인들과 같은 임의의 무선 또는 유선 통신 매체, 또는 무선 및 유선 매체들의 임의의 결합을 포함할 수 있다. 다른 예들에서, 통신 채널(150)은 심지어, 패킷-기반 네트워크, 이를테면, 유선 또는 무선 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크의 부분을 형성할 수 있다. 부가적으로, 통신 채널(150)은 피어-투-피어 링크를 생성하기 위해 소스 디바이스(120) 및 싱크 디바이스(160)에 의해 이용될 수 있다.
[0038] 소스 디바이스(120)와 싱크 디바이스(160)는 예를 들어, 실시간 스트리밍 프로토콜(RTSP: Real-Time Streaming Protocol) 제어 메시지들을 이용한 능력 협의에 따라 통신 세션을 확립할 수 있다. 일 예에서, 통신 세션을 확립하라는 요청이 소스 디바이스(120)에 의해 싱크 디바이스(160)로 전송될 수 있다. 일단 미디어 공유 세션이 확립되면, 소스 디바이스(120)는 실시간 전송 프로토콜(RTP: Real-time Transport protocol)을 이용하여 미디어 데이터, 예를 들어 오디오 비디오(AV) 데이터를, 참여하는 싱크 디바이스(160)에 전송한다. 싱크 디바이스(160)는 수신된 미디어 데이터를 자신의 디스플레이 및 오디오 장비(도 1에 도시되지 않음) 상에 렌더링한다.
[0039] 그 다음으로, 소스 디바이스(120) 및 싱크 디바이스(160)는 IEEE 802.11 표준군으로부터의 표준과 같은 통신 프로토콜을 이용하여 통신 채널(150)을 통해 통신할 수 있다. 일 예에서, 통신 채널(150)은 네트워크 통신 채널일 수 있다. 이러한 예에서, 통신 서비스 제공자가 중심적으로 동작할 수 있으며 기지국을 네트워크 허브로서 이용하여 하나 또는 둘 이상의 네트워크들을 관리할 수 있다. 소스 디바이스(120) 및 싱크 디바이스(160)가 매개체, 이를테면, 무선 액세스 포인트들 또는 이른바 핫스팟들의 사용 없이 서로 직접적으로 통신하도록, 소스 디바이스(120) 및 싱크 디바이스(160)는 예를 들어, Wi-Fi 다이렉트(Wi-Fi Direct) 또는 Wi-Fi 디스플레이(WFD) 표준들에 따라 통신할 수 있다. 소스 디바이스(120) 및 싱크 디바이스(160)는 또한 네트워크 혼잡을 회피하거나 감소시키기 위해 터널링된 직접 링크 셋업(TDLS: tunneled direct link setup)을 확립할 수 있다. WFD 및 TDLS는 비교적 단거리 통신 세션들을 셋업하도록 의도된다. 이러한 맥락에서, 비교적 단거리는 예를 들어, 대략 70미터 미만을 나타낼 수 있지만, 잡음이 있거나 방해받는 환경에서 디바이스들 사이의 거리는 대략 35미터 미만 또는 대략 20미터 미만과 같이 훨씬 더 짧을 수 있다.
[0040] 본원의 기법들은 때로는 WFD에 대해 설명될 수 있지만, 이러한 기법들의 양상들은 또한 다른 통신 프로토콜들과 호환가능할 수 있다고 여겨진다. 제한이 아닌 예로서, 소스 디바이스(120)와 싱크 디바이스 사이의 무선 통신은 직교 주파수 분할 멀티플렉싱(OFDM: orthogonal frequency division multiplexing) 기법들을 활용할 수 있다. 시분할 다중 액세스(TDMA: time division multi access), 주파수 분할 다중 액세스(FDMA: frequency division multi access), 코드 분할 다중 액세스(CDMA: code division multi access), 또는 OFDM, FDMA, TDMA 및/또는 CDMA의 임의의 결합을 포함하는(그러나, 이에 한정되지 않음) 매우 다양한 다른 무선 통신 기법들이 또한 이용될 수 있다.
[0041] 소스 디바이스(120)로부터 수신된 데이터의 디코딩 및 렌더링에 부가하여, 싱크 디바이스(160)는 또한 사용자 입력 디바이스(170)로부터의 사용자 입력들을 수신할 수 있다. 사용자 입력 디바이스(170)는 예를 들어, 키보드, 마우스, 트랙볼 또는 트랙 패드, 터치 또는 존재-감응형 스크린, 마이크로폰, 음성 커맨드 인식 모듈, 또는 다른 사용자 입력 디바이스일 수 있다. UIPM(172)은 사용자 입력 디바이스(170)에 의해 수신된 사용자 입력 커맨드들을, 소스 디바이스(120)가 프로세싱할 수 있는 데이터 패킷 구조로 포맷화한다. 이러한 데이터 패킷들은 송신기/수신기 유닛(162)에 의해 통신 채널(150)을 통해 소스 디바이스(120)로 전송된다. 송신기/수신기 유닛(132)은 데이터 패킷들을 수신하고, A/V 제어 모듈(130)은 사용자 입력 디바이스(170)에 의해 수신된 사용자 입력 커맨드를 해석하기 위해 데이터 패킷들을 파싱(parse)한다. 데이터 패킷으로 수신된 커맨드에 기초하여, A/V 제어 모듈(130)은 인코딩되어 전송되는 콘텐츠를 변경할 수 있다. 이러한 방식으로, 싱크 디바이스(160)의 사용자는 소스 디바이스(120)에 의해 전송되는 오디오 페이로드 데이터 및 비디오 페이로드 데이터를 원격으로 그리고 소스 디바이스(120)와의 직접적인 상호작용 없이 제어할 수 있다.
[0042] 부가적으로, 싱크 디바이스(160)의 사용자들은 소스 디바이스(120) 상에 애플리케이션들을 론칭(launch)하여 제어하는 것이 가능할 수 있다. 예를 들어, 싱크 디바이스(160)의 사용자는 소스 디바이스(120) 상에 저장된 사진 편집 애플리케이션을 론칭하고 그 애플리케이션을 이용하여, 소스 디바이스(120) 상에 로컬적으로 저장된 사진을 편집하는 것이 가능할 수 있다. 싱크 디바이스(160)는, 실제로는 사진이 소스 디바이스(120) 상에서 편집되고 있지만, 사진이 싱크 디바이스(160) 상에서 로컬적으로 편집되고 있는 것처럼 보여지고 느껴지는 사용자 경험을 사용자에게 제공할 수 있다. 이러한 구성을 이용하여, 사용자는 하나의 디바이스의 능력들을 여러 디바이스들에 사용하기 위해 레버리지(leverage)하는 것이 가능할 수 있다. 예를 들어, 소스 디바이스(120)는 대량의 메모리 및 하이-엔드(high-end) 프로세싱 능력들을 갖는 스마트폰을 포함할 수 있다. 그러나 영화를 볼 때, 사용자는 더 큰 디스플레이 스크린을 갖는 디바이스 상에서 영화를 보길 희망할 수 있는데, 이 경우 싱크 디바이스(160)는 태블릿 컴퓨터 또는 훨씬 더 큰 디스플레이 디바이스 또는 텔레비전일 수 있다. 이메일을 전송하거나 이메일에 답신하길 원할 때, 사용자는 물리적 키보드를 갖는 디바이스를 사용하길 희망할 수 있는데, 이 경우 싱크 디바이스(160)는 랩톱일 수 있다. 양쪽 경우들 모두에서, 사용자가 싱크 디바이스(160)와 상호작용하고 있을지라도, 프로세싱의 대부분은 여전히 소스 디바이스(120)에 의해 수행될 수 있다. 소스 디바이스(120) 및 싱크 디바이스(160)는 통신 채널(150)을 통해 임의의 주어진 세션에서 디바이스들의 능력들을 협의 및/또는 식별하기 위해 이용되는 데이터와 같은 제어 데이터를 전송함으로써 양방향 상호작용들을 용이하게 할 수 있다.
[0043] 일부 구성들에서, A/V 제어 모듈(130)은 소스 디바이스(120)의 운영 체제에 의해 실행되는 운영 체제 프로세스 또는 사용자 애플리케이션을 포함할 수 있다. 그러나 다른 구성들에서, A/V 제어 모듈(130)은 소스 디바이스(120) 상에서 실행되는 애플리케이션의 소프트웨어 프로세스를 포함할 수 있다. 이러한 구성에서, 소스 디바이스(120) 상에서 실행되는 운영 체제와는 대조적으로, 싱크 디바이스(160)의 사용자가 소스 디바이스(120) 상에서 실행되는 애플리케이션과 직접적으로 상호작용하도록, 소프트웨어 프로세스에 의해 사용자 입력 커맨드가 해석될 수 있다. 운영 체제와 대조적으로 애플리케이션과 직접적으로 상호작용함으로써, 싱크 디바이스(160)의 사용자는 소스 디바이스(120)의 운영 체제에는 고유하지 않은 커맨드들의 라이브러리에 액세스할 수 있다. 부가적으로, 애플리케이션과의 직접적으로 상호작용하는 것은 상이한 플랫폼들 상에서 실행되는 디바이스들에 의해 커맨드들이 더 용이하게 전송 및 프로세싱되는 것을 가능하게 할 수 있다.
[0044] 싱크 디바이스(160)에서 적용된 사용자 입력들은 통신 채널(150)을 거쳐 사용자 입력 디바이스 제어 통신 채널을 통해 다시 소스 디바이스(120)에 전송될 수 있다. 예시된 예에서, 사용자 입력 디바이스 제어 통신 채널은, 싱크 디바이스(160)가 싱크 디바이스(160)에 적용된 사용자 입력들을 소스 디바이스(120)에 전송하는 것을 가능하게 하기 위해, 역방향 채널 아키텍처(본 명세서에서 Wi-Fi 사용자 인터페이스 백 채널(UIBC; user interface back channel)(152)로 지칭됨)를 이용하여 구현된다. 역방향 채널 아키텍처는 사용자 입력들을 전송하기 위한 상위 계층 메시지들, 및 싱크 디바이스(160) 및 소스 디바이스(120)에서 사용자 인터페이스 능력들을 협의하기 위한 하위 계층 프레임들을 포함할 수 있다. UIBC(152)는 싱크 디바이스(160)와 소스 디바이스(120) 사이에서 인터넷 프로토콜(IP: internet protocol) 네트워크 계층을 통해 전송 계층 프로토콜을 이용하여 전송될 수 있다. 이러한 방식으로, UIBC(152)는 개방형 시스템 간 상호연결(OSI: Open System Interconnection) 통신 모델 및 TCP/IP 모델에서 전송 계층 위에 있을 수 있다. 사용자 입력 데이터를 포함하는 데이터 패킷들의 신뢰적인 전송 및 순차적 전달을 촉진하기 위해, UIBC는 송신 제어 프로토콜/인터넷 프로토콜(TCP/IP: transmission control protocol/internet protocol)과 같은 다른 패킷-기반 통신 프로토콜들의 최상부에서 실행되도록 구성될 수 있다. TCP/IP는 싱크 디바이스(160) 및 소스 디바이스(120)가 패킷 손실의 경우에 재송신 기법들을 구현하는 것을 가능하게 할 수 있다.
[0045] UIBC(152)는 크로스-플랫폼 사용자 입력 데이터를 포함하는 다양한 타입들의 사용자 입력 데이터를 전송하도록 설계될 수 있다. 예를 들어, 소스 디바이스(120)는 iOS® 운영 체제를 실행할 수 있는 한편, 싱크 디바이스(160)는 Android® 또는 Windows®와 같은 다른 운영 체제를 실행한다. 플랫폼과 무관하게, UIPM(172)은 수신된 사용자 입력을 A/V 제어 모듈(130)에서 이해가능한 형태로 캡슐화(encapsulate)할 수 있다. 소스 및 싱크 디바이스들이 상이한 플랫폼들 상에서 동작하는지의 여부와 무관하게, 많은 상이한 타입들의 소스 및 싱크 디바이스들이 프로토콜을 활용하도록 허용하기 위해, 다수의 상이한 타입들의 사용자 입력 포맷들 또는 "입력 타입들"이 UIBC에 의해 지원될 수 있다. UIBC에 대한 입력 타입들은 2개의 카테고리들: 제너릭(generic) 및 휴먼 인터페이스 디바이스 제어(HIDC; human interface device control) 중 하나에 할당된다. 일반적으로, 제너릭 입력 타입들은, 마우스 업/다운, 키 업/다운, 터치 업/다운, 줌, 스크롤, 및 회전과 같은, 애플리케이션 레벨에서 프로세싱된 디바이스-애그너스틱(device-agnostic) 사용자 입력들을 포함한다. 일반적으로 HIDC는 적외선, USB(Universal Serial Bus), 블루투스, 지그비(Zigbee), Wi-Fi 인터페이스들, 카메라들, 제스처 등과 같은, 더 특화된 입력 타입들을 포함한다. 상이한 입력 타입들은, UIBC에 의해 소스 디바이스(120)와 싱크 디바이스(160) 사이에서 사용자 입력이 통신될 수 있는 방식에 유연성을 제공한다.
[0046] 본원에서 설명된 기법들에 따르면, UIBC(152)는 VNC 키이벤트 입력 타입 및 VNC 포인터이벤트(PointerEvent) 입력 타입과 같은, 음성 타입 및 VNC 입력 타입들 중 적어도 하나를 전송하도록 구현된다. 음성 입력 타입을 명시하는 UIBC 패킷은, 싱크 디바이스(160)의 마이크로폰 UI 디바이스(170)에 의해 수신되는 음성 커맨드와 같은 음성-기반 미디어를 전송한다. VNC 키이벤트는 디스플레이(166)에 의해 디스플레이된 VNC 디스플레이에 대해 이루어진 키 프레스(key press) 또는 키 릴리스(key release)를 나타낸다. 일 예에서, VNC 키이벤트 메시지는 메시지-타입(message-type), 다운-플래그(down-flag), 패딩(padding), 및 키(key) 필드들을 포함한다. 다른 예들에서는 다른 필드들이 또한 이용될 수 있다. 키 필드는 프레스된 또는 릴리스된 키를 식별한다. 다운-플래그는 키 필드에 의해 식별된 것이 프레스되었는지 릴리스되었는지를 식별한다. VNC 포인터이벤트는 포인터(예를 들어, 마우스 또는 트랙볼) 움직임, 또는 포인터 버튼 프레스 또는 릴리스를 표시한다. VNC 포인터이벤트 메시지는 메시지-타입(message-type), 버튼-마스크(button-mask), x-포지션(x-position), 및 y-포지션(y-position) 필드들을 포함할 수 있다. 다른 예들에서는 다른 필드들이 또한 이용될 수 있다. 버튼-마스크(button-mask) 필드는, 다운 상태 또는 업 상태에 있는 것에 따라 대응하는 포인터 버튼을 표시하는 상이한 비트 포지션들에 대한 값들을 이용하여, 하나 또는 둘 이상의 포인터 버튼들의 상태를 표시한다. 포인터는 (x-포지션, y-포지션)에서 VNC 디스플레이 상에 로케이팅된다.
[0047] 일부 예들에서, 기법들은 UDP/IP(User Datagram Protocol over IP)와 같은 비연결형 전송 프로토콜을 통해 적어도 부분적으로 UIBC(152)를 전송하기 위해 WFD 소프트웨어 스택을 정의 또는 수정하는 것을 더 포함할 수 있다. 예를 들어, UIBC(152)는 음성 입력 타입에 대해 UDP를 통해 실행되도록 구현될 수 있다. 일부 예들에서, 싱크 디바이스(160) 및 소스 디바이스(120)는, 상이한 UIBC 입력 타입들을 반송하기 위해 TCP/IP 및 UDP/IP를 통해 각각의 사용자 입력 디바이스 제어 통신 채널들을 확립한다. 예를 들어, UIBC(152)는 UDP/IP 채널을 통해 음성 입력을 전송할 수 있는 한편, UIBC(152)는 TCP/IP 채널을 통해 마우스-클릭들을 전송한다. TCP와 달리, UDP는 보증되지 않은 데이터그램 전달, 오더링, 또는 복제 방지를 제공하고, 음성 및 다른 실시간 데이터를 반송하는데 더 적절할 수 있다.
[0048] 이러한 기법들의 결과로, 싱크 디바이스(160)의 사용자는 WD를 이용하여 소스 디바이스(120)의 동작을 제어하는데 더 많은 유연성을 가질 수 있다. 부가하여, 일부 경우들에서, 기법들은 하나 또는 둘 이상의 UIBC 입력 타입들에 대해 비연결형 전송 프로토콜을 이용함으로써 사용자에게 좋은 품질의 사용자 경험을 제공할 수 있다.
[0049] 도 2는 WD 시스템에 대한 데이터 통신 모델 또는 프로토콜 스택의 예를 예시하는 블록도이다. 데이터 통신 모델(200)은, 구현된 WD 시스템의 소스 디바이스와 싱크 디바이스 사이에서 데이터를 전송하기 위해 이용되는 제어 프로토콜들과 데이터 사이의 상호작용들을 예시한다. 일부 예들에서, WD 시스템(100)은 데이터 통신 모델(200)을 이용할 수 있다. 데이터 통신 모델(200)은 물리(PHY) 계층(202), 미디어 액세스 제어(MAC) 계층(204), 인터넷 프로토콜(IP)(206), 사용자 데이터그램 프로토콜(UDP)(208), 실시간 전송 프로토콜(RTP)(210), MPEG2 전송 스트림(MPEG2-TS)(212), 콘텐츠 보호(214), 패킷화된 기본 스트림(PES) 패킷화(216), 비디오 코덱(218), 오디오 코덱(220), 전송 제어 프로토콜(TCP)(222), 실시간 스트리밍 프로토콜(RTSP)(224), 사용자 입력 패킷화(228), 휴먼 인터페이스 디바이스 커맨드들(HIDC)(230), 및 제너릭 사용자 입력들(232)을 포함한다. 사용자 입력 패킷화(228), HIDC(230), 및 제너릭 사용자 입력들(232)은 사용자 입력 백 채널(UIBC)(201)을 구성할 수 있다. UIBC(201)는 예를 들어, 도 1의 UIBC(152)를 구현하기 위한 제어 프로토콜들을 실행시킬 수 있다.
[0050] 물리 계층(202) 및 MAC 계층(204)은, WD 시스템에서의 통신들을 위해 이용되는 물리적 시그널링, 어드레싱 및 채널 액세스 제어를 정의할 수 있다. 물리 계층(202) 및 MAC 계층(204)은 통신을 위해 이용되는 주파수 대역 구조, 예를 들어, 2.4GHz, 3.6GHz, 5GHz, 60GHz 또는 초광대역(UWB) 주파수 대역 구조들에서 정의된 연방 통신 위원회(Federal Communications Commission) 대역들을 정의할 수 있다. 물리 계층(202) 및 MAC(204)는 또한, 데이터 변조 기법들, 예를 들어, 아날로그 및 디지털 진폭 변조, 주파수 변조, 위상 변조 기법들, 및 이들의 결합들을 정의할 수 있다. 물리 계층(202) 및 MAC(204)는 또한, 멀티플렉싱 기법들, 예를 들어, 시분할 다중 액세스(TDMA), 주파수 분할 다중 액세스(FDMA), 코드 분할 다중 액세스(CDMA), 또는 OFDM, FDMA, TDMA 및/또는 CDMA의 임의의 결합을 정의할 수 있다. 일 예에서, 물리 계층(202) 및 미디어 액세스 제어 계층(204)은 WFD에 의해 제공된 것과 같은 Wi-Fi(예를 들어, IEEE 802.11-2007 및 802.11n-2009x) 표준에 의해 정의될 수 있다. 다른 예들에서, 물리 계층(202) 및 미디어 액세스 제어 계층(204)은: WirelessHD, WHDI(Wireless Home Digital Interface), WiGig, 및 Wireless USB 중 임의의 것에 의해 정의될 수 있다.
[0051] 인터넷 프로토콜(IP)(206), 사용자 데이터그램 프로토콜(UDP)(208), 실시간 전송 프로토콜(RTP)(210), 전송 제어 프로토콜(TCP)(222), 및 실시간 스트리밍 프로토콜(RTSP)(224)은, WD 시스템에서 이용되는 패킷 구조들 및 캡슐화들을 정의하며, IETF(Internet Engineering Task Force)에 의해 유지되는 표준들에 따라 정의될 수 있다.
[0052] RTSP(224)는, 예를 들어, 능력들을 협의하고, 세션, 및 세션 유지보수 및 관리를 확립하기 위해 소스 디바이스(120) 및 싱크 디바이스(160)에 의해 이용될 수 있다. 소스 디바이스(120) 및 싱크 디바이스(160)는 UIBC 상에서의 피드백 채널 및 피드백 입력 카테고리를 지원하도록 소스 디바이스(120) 및 싱크 디바이스(160)의 능력을 협의하기 위해 RTSP 메시지 트랜잭션을 이용하여 피드백 채널을 확립할 수 있다. 피드백 채널을 확립하기 위해 RTSP 협의를 사용하는 것은, 미디어 공유 세션 및/또는 UIBC를 확립하기 위해 RTSP 협의 프로세스를 이용하는 것과 유사할 수 있다.
[0053] 예를 들어, 소스 디바이스(120)는, 소스 디바이스(120)에 관심있는 능력들의 리스트를 명시하는 능력 요청 메시지(예를 들어, RTSP GET_PARAMETER 요청 메시지)를 싱크 디바이스(160)에 전송할 수 있다. 본원에 따르면, 능력 요청 메시지는 UIBC 상에서 피드백 채널을 지원하는 능력을 포함할 수 있다. 싱크 디바이스(160)는, 피드백 채널을 지원하는 자신의 능력을 선언하는 능력 응답 메시지(예를 들어, RTSP GET_PARAMETER 응답 메시지)를 이용하여 소스 디바이스(120)에 응답할 수 있다. 일 예로서, 능력 응답 메시지는, 싱크 디바이스(160)가 UIBC 상에서 피드백 채널을 지원하면, "예"를 표시할 수 있다. 그 다음으로, 소스 디바이스(120)는, 미디어 공유 세션 동안 피드백 채널이 이용될 것임을 표시하는 확인응답 요청 메시지(예를 들어, RTSP SET_PARAMETER 요청 메시지)를 싱크 디바이스(160)에 전송할 수 있다. 싱크 디바이스(160)는, 미디어 공유 세션 동안 피드백 채널이 이용될 것임을 확인응답하는 확인응답 응답 메시지(예를 들어, RTSP SET_PARAMETER 응답 메시지)를 이용하여 소스 디바이스(120)에 응답할 수 있다. 능력 요청, 능력 응답, 확인응답 요청, 및 확인응답 응답 메시지들은 대안적으로, 포괄적 용어 하에서 "파라미터 메시지" 또는 "UIBC 파라미터 메시지"로 지칭될 수 있다.
[0054] 비디오 코덱(218)은, WD 시스템에 의해 이용될 수 있는 비디오 데이터 코딩 기법들을 정의할 수 있다. 비디오 코덱(218)은, ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 또는 ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual, ITU-T H.264(또한, ISO/IEC MPEG-4 AVC로 알려짐), VP8 및 고효율 비디오 코딩(HEVC)과 같은 임의의 수의 비디오 압축 표준들을 구현할 수 있다. 일부 경우들에서, WD 시스템이 압축되거나 압축되지 않은 비디오 데이터일 수 있음을 주목해야 한다.
[0055] 오디오 코덱(220)은, WD 시스템에 의해 이용될 수 있는 오디오 데이터 코딩 기법들을 정의할 수 있다. 오디오 데이터는, Dolby and Digital Theater Systems에 의해 개발된 것들과 같은 멀티-채널 포맷들을 이용하여 코딩될 수 있다. 오디오 데이터는 압축된 또는 압축되지 않은 포맷을 이용하여 코딩될 수 있다. 압축된 오디오 포맷들의 예들은 MPEG-1, 2개의 오디오 계층들 II 및 III, AC-3, AAC를 포함한다. 압축되지 않은 오디오 포맷의 예는 펄스-코드 변조(PCM) 오디오 포맷을 포함한다.
[0056] 패킷화된 기본 스트림(PES) 패킷화(216) 및 MPEG2 전송 스트림(MPEG2-TS)(212)은, 코딩된 오디오 및 비디오 데이터가 어떻게 패킷화되고 전송되는지를 정의할 수 있다. 패킷화된 기본 스트림(PES) 패킷화(216) 및 MPEG-TS(212)는 MPEG-2 파트 1에 따라 정의될 수 있다. 다른 예들에서, 오디오 및 비디오 데이터는, 다른 패킷화 및 전송 스트림 프로토콜들에 따라 패킷화되고 전송될 수 있다. 콘텐츠 보호(214)는, 오디오 또는 비디오 데이터의 허가되지 않은 복사에 대한 보호를 제공할 수 있다. 일 예에서, 콘텐츠 보호(214)는, 고대역폭 디지털 콘텐츠 보호 2.0 사양(High bandwidth Digital Content Protection 2.0 specification)에 따라 정의될 수 있다.
[0057] UIBC(201)는 사용자 입력이 어떻게 패킷화되는지를 정의할 수 있는 사용자 입력 패킷화(228)를 포함한다. 휴먼 인터페이스 디바이스 커맨드들(HIDC; human interface device commands)(230), 제너릭 사용자 입력들(232)은 사용자 입력들의 타입들이 어떻게 정보 엘리먼트들로 포맷화되는지를 정의할 수 있다. 예를 들어, 휴먼 인터페이스 디바이스 커맨드들(230) 및 제너릭 사용자 입력들(232)은 사용자 인터페이스 타입(예를 들어, 마우스, 키보드, 터치, 멀티-터치, 음성, 제스처, 벤더-특정 인터페이스 등) 및 커맨드들(예를 들어, 줌, 팬(pan) 등)에 기초하여 입력들을 카테고리화하고 사용자 입력들이 어떻게 정보 엘리먼트들로 포맷화되어야 하는지를 결정할 수 있다. HIDC 및 제너릭 사용자 입력 중 어느 하나로서의 카테고리화는 통상적으로, 후속하는 미디어 데이터가 싱크 디바이스(160)에서 사용자에게 어떻게 제공되는지(예를 들어, 줌 및 팬 동작들) 및 소스 디바이스(120)가 미디어 데이터를 싱크 디바이스(160)에 대해 어떻게 프로세싱하는지(예를 들어, 인코딩함 및/또는 전송함)에 영향을 미친다.
[0058] 일 예에서, 휴먼 인터페이스 디바이스 커맨드들(230)은 사용자 입력 데이터를 포맷화하고, USB, 블루투스 및 지그비와 같은 정의된 사용자 입력 디바이스 사양들에 기초하여 사용자 입력 값들을 발생시킬 수 있다. 표 1A, 표 1B 및 표 1C는 HIDC 입력 바디 포맷, HID 인터페이스 타입 및 HID 타입 값들의 예들을 제공한다. 일 예에서, 휴먼 인터페이스 디바이스 커맨드들(HIDC)(230)은 WFD에 따라 정의될 수 있다. 표 1A에서, HID 인터페이스 타입 필드는 휴먼 인터페이스 디바이스(HD) 타입을 명시한다. HID 인터페이스 타입들의 예들은 표 1B에서 제공된다. HID 타입 필드는 HID 타입을 명시한다. 표 1C는 HID 타입들의 예들을 제공한다. 길이 필드는 HIDC 값의 길이를 옥텟 단위로 명시한다. HIDC는 블루투스, 지그비, 및 USB와 같은 사양들에서 정의될 수 있는 입력 데이터를 포함한다.
Figure pct00001
Figure pct00002
Figure pct00003
[0059] 일 예에서, 제너릭 사용자 입력들(232)은 애플리케이션 레벨에서 프로세싱되어, 특정 사용자 입력 디바이스와 독립적인 정보 엘리먼트들로서 포맷화될 수 있다. 제너릭 사용자 입력들(232)은 WFD 표준에 의해 정의될 수 있다. 표 2A 및 표 2B는 제너릭 입력 바디 포맷 및 제너릭 사용자 입력들에 대한 입력 타입 식별자들의 예들을 제공한다. 표 2A에서, 제너릭 IE ID 필드는 제너릭 정보 엘리먼트(IE) ID 타입을 명시한다. 제너릭 IE ID 타입들의 예들은 표 2B에서 제공된다. 길이 필드는 제너릭 IE ID 값의 길이를 옥텟 단위로 명시한다. 설명 필드(describe field)는 사용자 입력의 상세들을 명시한다. 간결함을 위해, 표 2A의 설명 필드에서 사용자 입력들의 상세들은 설명되지 않았지만, 일부 예들에서는 마우스 터치/이동 이벤트들에 대한 X-Y 좌표값들, ASCII 키 코드들 및 제어 키 코드들, 줌, 스크롤, 및 회전 값들을 포함할 수 있다는 것을 주목해야 한다. 일 예에서, 휴먼 인터페이스 디바이스 커맨드들(HIDC)(230) 및 제너릭 사용자 입력들(232)은 WFD에 따라 정의될 수 있다.
Figure pct00004
Figure pct00005
[0060] 현재의 WFD 표준은 음성 및 VNC 키이벤트 입력들을 지원하지 않는다. 예시된 예에서, 데이터 통신 모델(200)의 제너릭 입력 카테고리에 대응하는 제너릭 사용자 입력들(232)은, 음성 입력(240) 및 VNC 키이벤트 입력(242)을 포함하도록 확장된다. 앞서의 확장들을 실시하는 WFD 표준 텍스트에 대한 예시적 변화들은 다음과 같다(언급되지 않은 다른 부분들은 WFD 표준에서와 같음).
[0061] 표 3은 음성 및 VNC 키이벤트 입력들을 포함하도록 확장된 제너릭 사용자 입력들에 대한 입력 타입 식별자들의 예시적 세트를 제공한다(밑줄 친 구문은 현재의 WFD 표준의 제너릭 입력 타입 식별자들에 대한 부가임):
Figure pct00006
[0062] 일부 예들에서, 제너릭 입력 타입 식별자들은, 예를 들어, VNC 포인터이벤트에 대한 식별자들을 포함할 수 있다. 표 4 및 표 5는 다음의 설명에 따라 새롭게-부가된 제너릭 입력 타입 식별자들을 정의한다.
[0063] 음성 데이터 제너릭 입력 타입 ID에 대한 제너릭 입력 메시지의 설명 필드가 표 4에 도시된다. 음성 입력들은 협의된 음성 코덱을 이용하여 인코딩된다. 음성 코덱은, RTSP 메시지 교환의 wfd-uibc-capability 파라미터의 음성 필드에서, WFD 소스 디바이스와 WFD 싱크 디바이스 사이에 협의될 수 있다. 사용할 마지막 코덱은, RTSP M4 및/또는 M14 요청 메시지들의 음성 파라미터에서 WFD 소스에 의해 표시될 수 있다. WFD 싱크는 TCP/UDP 전송을 통해 음성 입력을 전송한다.
Figure pct00007
[0064] VNC 키이벤트 제너릭 입력 타입 ID에 대한 제너릭 입력 메시지의 설명 필드가 표 5에 도시된다:
Figure pct00008
[0065] 현재의 WFD 표준은, UIBC 데이터의 전달을 위해 비연결형 전송, 예를 들어, UDP 전송을 지원하지 않는다. 본원의 기법들은 추가로, UIBC 데이터를 위해 UDP 전송을 부가하고, 음성 데이터 입력들을 전달하기 위해 UDP 전송을 활용하는 것을 포함한다. 예시된 예에서, 데이터 통신 모델(200)은, 데이터 채널(244)에 의해 표시된 바와 같이, UDP(208)를 통해 사용자 입력 패킷화(228)를 선택적으로 실행하도록 수정된다. 이러한 방식으로, 예를 들어, 음성(240) 및/또는 VNC 키이벤트(242) 사용자 입력들을 위해 UIBC 데이터가 UDP(208)를 이용하여 IP(206)를 통해 전송될 수 있다.
[0066] 또한, 부가적인 파라미터들을 포함하도록 WFD 표준에서의 능력 협의를 확장하기 위해 WFD 표준에 대해 부가적인 변화들이 이루어질 수 있다. 데이터 통신 모델(200)에서 예시된 바와 같이, WD 시스템의 싱크 디바이스 및 소스 디바이스는 실시간 스트리밍 프로토콜(RTSP) 제어 메시지들을 이용하여 능력들을 협의할 수 있다. WFD 표준에 따르면, 소스 디바이스는 확인응답 요청 메시지(예를 들어, RTSP SET_PARAMETER 요청 메시지)를 싱크 디바이스에 전송한다. RTSP SET_PARAMETER 요청 메시지는, 정보가 어떻게 미디어 공유 세션 동안 피드백 채널을 이용하여 전송될 것인지를 표시하는 파라미터들을 포함한다. 일 예에서, RTSP SET_PARAMETER 요청 메시지는, VNC 입력들이 어떻게 피드백 채널을 이용하여 전송될 것인지를 표시하는 파라미터들을 포함하도록 수정될 수 있다. 일 예에서, RTSP SET_PARAMETER 요청 메시지는 사용자 음성 커맨드들이 어떻게 피드백 채널을 이용하여 전송될 것인지를 표시하는 파라미터를 포함하도록 수정될 수 있다. 일 예에서, RTSP SET_PARAMETER 요청 메시지는 음성 커맨드들을 전송하기 위해 싱크에 대해 사용자 데이터그램 프로토콜(UDP) 포트를 표시하기 위해 파라미터를 포함할 수 있다. 일 예에서, SET_PARAMETER 요청 메시지는 적어도 부분적으로 다음의 구문에 따라 포맷화될 수 있다(밑줄 친 구문은 현재의 WFD 표준의 SET_PARAMETER 요청 메시지에 대한 부가임):
Figure pct00009
[0067] wfd-uibc-capability 파라미터는 사용자 입력 백 채널(UIBC) 및 관련된 속성들에 대한 지원을 설명한다. UIBC에 대한 지원은, WFD 확장된 능력 서브-엘리먼트의 WFD 확장된 능력 비트맵의 UIBC 지원 비트(B0)를 이용하여 표시된다. "none"은 대응하는 서브-파라미터 값이 지원되지 않는다는 것을 표시함을 주목한다.
[0068] WFD 소스는, UIBC를 위해 이용될 TCP 포트 번호를, RTSP M4 및/또는 M14 요청 메시지들의 wfd-uibc-capability 파라미터의 tcp-port 필드에 표시한다. WFD 싱크는 RTSP M3 응답 및 M14 요청 메시지들의 wfd-uibc-capability 파라미터의 tcp-port 필드에 대해 "none"을 이용한다.
[0069] WFD 소스는 UIBC를 위해 이용될 UDP 포트 번호를, RTSP M4 및/또는 M14 요청 메시지들의 wfd-uibc-capability 파라미터의 udp-port 필드에 표시한다. WFD 싱크는 RTSP M3 응답 및 M14 요청 메시지들의 wfd-uibc-capability 파라미터의 udp-port 필드에 대해 "none"을 이용한다. 부가하여, WFD 싱크는 VNCKeyEvent 또는 VNCPointerEvent와 같은 VNC 입력 타입들에 대해서는 wfd-uibc-capability 파라미터의 udp-port 필드에 대한 "none"을 이용할 수 있는데, VNC 입력 데이터를 위해 송신이 일부 경우들에서 TCP 연결을 요구할 수 있기 때문이다. 음성 입력 데이터는, 본원에서 설명된 기법들에 따라, UIBC 능력 협의 프로시저 동안 협의된 UDP 포트에 전송될 수 있다.
[0070] 일부 예들에서, 기법들은 Wi-Fi 디스플레이 UIBC에 걸쳐 제너릭 입력 카테고리를 통해 VNC 입력들에 대한 지원을 부가하는 한편, 부가적인 오디오 백 채널(Audio Back Channel)을 통해 음성 입력들에 대한 지원을 부가하는 것을 포함할 수 있다. 부가적인 오디오 백 채널은 WFD 싱크(예를 들어, 도 1의 싱크 디바이스(160))로부터 WFD 소스(예를 들어, 도 1의 소스 디바이스(120))로 음성 및 마이크로폰 입력들을 전달하기 위해 RTP/UDP 전송을 제공할 수 있다. 이러한 예들에서, 제너릭 카테고리의 사용자 입력들에 대한 제너릭 입력 타입 ID 표는 다음과 같을 수 있다:
Figure pct00010
[0071] 표 6에 대한 VNC 키이벤트 제너릭 입력 타입 ID에 대한 제너릭 입력 메시지의 설명 필드가 표 5에서 설명된다.
[0072] 오디오 백 채널(ABC; Audio Back Channel)은, 구현될 때, WFD 싱크로부터, WFD 소스에 존재하는, 사용자에 대한 오디오/음성 입력들의 통신을 용이하게 하는 선택적인 WFD 특징이다. ABC 입력들은 802.11 패킷화 및 WFD 소스로의 송신 이전에 RTP/UDP/IP 헤더들에 의해 캡슐화될 수 있다. ABC 오디오 패킷들은 RTP, UDP 및 IP 헤더들을 이용하여 패킷화된다. ABC 오디오 패킷들을 포함하는 RTP 패킷은, WFD 소스에 의해 유지되는 마스터-클록으로부터 도출되고 90 ㎑ 유닛들로 표시되는 ― 여기서 하나의 틱(tick)은 11.11 ㎲에 대응함 ― 32 비트 RTP 타임-스탬프(RTP TS) 정보를 포함할 수 있다. WFD 패킷에 대한 RTP TS는, RTP 캡슐화 계층에서 제 1 ABC 패킷의 도착 시간에 맵핑되도록 설정될 수 있다. 오디오 입력 페이로드는 필수적 포맷(mandatory format), 즉, LPCM(Linear Pulse Code Modulated Audio), 16 비트, 48 kbps 및 2ch를 이용할 수 있고, 오디오 페이로드는 실제 오디오 데이터 또는 널(null) 데이터를 반송할 수 있다.
[0073] 또한, 부가적인 오디오 백 채널이 음성 입력들에 대한 지원을 제공하는 기법들의 예들에서, 부가적인 파라미터들을 포함하도록 WFD 표준에서의 능력 협의를 확장하기 위해 WFD 표준에 대해 부가적인 변화들이 이루어질 수 있다. 데이터 통신 모델(200)에서 예시된 바와 같이, WD 시스템의 싱크 디바이스 및 소스 디바이스는 실시간 스트리밍 프로토콜(RTSP) 제어 메시지들을 이용하여 능력들을 협의할 수 있다. WFD 표준에 따르면, 소스 디바이스는 확인응답 요청 메시지(예를 들어, RTSP SET_PARAMETER 요청 메시지)를 싱크 디바이스에 전송한다. RTSP SET_PARAMETER 요청 메시지는, 미디어 공유 세션 동안 정보가 어떻게 피드백 채널을 이용하여 전송될지를 표시하는 파라미터들을 포함한다. 일 예에서, SET_PARAMETER 요청 메시지는 적어도 부분적으로 다음의 구문에 따라 포맷화될 수 있다(밑줄 친 구문은 현재의 WFD 표준의 SET_PARAMETER 요청 메시지에 대한 부가임):
Figure pct00011
[0074] wfd-uibc-capability 파라미터는 사용자 입력 백 채널(UIBC)에 대한 지원 및 관련된 속성들을 설명한다. UIBC에 대한 지원은 WFD 확장된 능력 서브-엘리먼트의 WFD 확장된 능력 비트맵의 UIBC 지원 비트(B0)를 이용하여 표시된다. "none"은 대응하는 서브-파라미터 값이 지원되지 않는다는 것을 표시함을 주목한다.
[0075] WFD 확장된 능력 비트맵은 본 명세서에서 설명된 기법들에 따라 오디오 백 채널에 대한 지원을 설명하도록 추가로 수정될 수 있다. 일부 예들에서, WFD 확장된 능력 비트맵은 다음과 같이 수정될 수 있다:
Figure pct00012
[0076] wfd-abc-capability 파라미터는 오디오 백 채널(ABC)에 대한 지원 및 관련된 속성들을 설명한다. ABC에 대한 지원은 앞서 설명된 바와 같이 WFD 확장된 능력 서브엘리먼트의 WFD 확장된 능력 비트맵의 ABC 지원 비트를 이용하여 표시된다. 음성 입력들을 지원하기 위한 RTSP 교환에 대한 새로운 wfd-abc-capability 파라미터의 예는 다음과 같다:
Figure pct00013
[0077] abc-audio-list는, 지원되는 각각의 오디오 CODEC에 대한 하나 또는 둘 이상의 <오디오-포맷, 모드들, 레이턴시> 투플(tuple)들의 리스트를 나타낸다. WFD 소스는 RTSP M4 요청 메시지들의 wfd-abc-capability 파라미터의 udp-port 필드에서 ABC를 위해 이용될 UDP 포트 번호를 표시할 수 있다. WFD 싱크는 RTSP M3 응답 메시지들의 wfd-abc-capability 파라미터의 udp-port 필드에 대해 "none"을 이용할 수 있다.
[0078] 도 3은 본 명세서에서 설명된 기법들을 구현할 수 있는 소스 디바이스의 예를 예시하는 블록도이다. 소스 디바이스(600)는, 도 2에서 제공된 데이터 통신 모델을 포함하는 WD 시스템의 부분일 수 있다. 소스 디바이스(600)는, 전송, 저장, 및/또는 디스플레이를 위해 미디어 데이터를 인코딩 및/또는 디코딩하도록 구성될 수 있다. 소스 디바이스(600)는, 메모리(602), 디스플레이 프로세서(604), 로컬 디스플레이(606), 오디오 프로세서(608), 스피커들(610), 비디오 인코더(612), 비디오 패킷화기(614), 오디오 인코더(616), 오디오 패킷화기(618), A/V mux(620), 전송 모듈(622), 모뎀(624), 및 제어 모듈(626)을 포함한다. 소스 디바이스(600)의 컴포넌트들은, 하나 또는 둘 이상의 마이크로프로세서들, 디지털 신호 프로세서(DSP)들, 주문형 집적 회로(ASIC)들, 필드 프로그램가능 게이트 어레이(FPGA)들, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 결합들과 같은 다양한 적절한 회로소자 중 임의의 회로소자로서 구현될 수 있다.
[0079] 메모리(602)는 압축된 또는 압축되지 않은 포맷들의 미디어 데이터의 형태로 A/V 시각적 데이터를 저장할 수 있다. 메모리(602)는, 전체 미디어 데이터 파일을 저장할 수 있거나, 예를 들어, 다른 디바이스 또는 소스로부터 스트리밍되는 미디어 데이터 파일의 일부분을 간단히 저장하는 더 작은 버퍼를 포함할 수 있다. 메모리(602)는, 동기식 동적 랜덤 액세스 메모리(SDRAM)와 같은 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 비-휘발성 랜덤 액세스 메모리(NVRAM), 전기적으로 소거가능한 프로그램가능 판독-전용 메모리(EEPROM), FLASH 메모리 등을 포함하지만 이에 제한되지 않는 매우 다양한 휘발성 또는 비-휘발성 메모리 중 임의의 메모리를 포함할 수 있다. 메모리(602)는, 미디어 데이터뿐만 아니라 다른 종류들의 데이터를 저장하기 위한 컴퓨터-판독가능 저장 매체를 포함할 수 있다. 메모리(602)는 부가적으로, 본원에서 설명된 다양한 기법들을 수행하는 것의 부분으로서 프로세서에 의해 실행되는 명령들 및 프로그램 코드를 저장할 수 있다.
[0080] 디스플레이 프로세서(604)는, 캡처된 비디오 프레임들을 획득할 수 있고, 로컬 디스플레이(606) 상에서의 디스플레이를 위해 비디오 데이터를 프로세싱할 수 있다. 디스플레이(606)는, 액정 디스플레이(LCD), 플라즈마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 소스 디바이스(600)의 사용자에게 비디오 데이터를 프리젠팅할 수 있는 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 하나를 포함한다.
[0081] 오디오 프로세서(608)는, 오디오 캡처된 오디오 샘플들을 획득할 수 있고, 스피커들(610)로의 출력을 위해 오디오 데이터를 프로세싱할 수 있다. 스피커들(610)은, 헤드폰들, 단일-스피커 시스템, 멀티-스피커 시스템, 또는 서라운드 음향 시스템과 같은 다양한 오디오 출력 디바이스들 중 임의의 오디오 출력 디바이스를 포함할 수 있다.
[0082] 비디오 인코더(612)는 비디오 데이터를 메모리(602)로부터 획득하고, 비디오 데이터를 원하는 비디오 포맷으로 인코딩할 수 있다. 비디오 인코더(612)는, 도 2와 관련하여 앞서 설명된 비디오 코덱(218)의 양상들을 구현하기 위해 이용되는 하드웨어와 소프트웨어의 결합일 수 있다. 비디오 인코더(612)는, ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 또는 ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual, ITU-T H.264(또한, ISO/IEC MPEG-4 AVC로 알려짐), VP8 및 고효율 비디오 코딩(HEVC)과 같은 임의의 수의 비디오 압축 표준들에 따라 비디오를 인코딩할 수 있다. 일부 경우들에서, 비디오 데이터가 무손실(lossless) 또는 손실적인(lossy) 압축 기법을 이용하여 압축되도록, 비디오 인코더(612)가 비디오를 인코딩할 수 있음을 주목해야 한다.
[0083] 비디오 패킷화기(614)는 인코딩된 비디오 데이터를 패킷화할 수 있다. 일 예에서, 비디오 패킷화기(614)는, MPEG-2 파트 1에 따라 정의된 바와 같이, 인코딩된 비디오 데이터를 패킷화할 수 있다. 다른 예들에서, 비디오 데이터는 다른 패킷화 프로토콜들에 따라 패킷화될 수 있다. 비디오 패킷화기(614)는, 도 2와 관련하여 앞서 설명된 패킷화된 기본 스트림(PES) 패킷화(216)의 양상들을 구현하기 위해 이용되는 하드웨어와 소프트웨어의 결합일 수 있다.
[0084] 오디오 인코더(616)는 오디오 데이터를 메모리(602)로부터 획득하고, 오디오 데이터를 원하는 오디오 포맷으로 인코딩할 수 있다. 오디오 인코더(616)는, 도 2와 관련하여 앞서 설명된 오디오 코덱(220)의 양상들을 구현하기 위해 이용되는 하드웨어와 소프트웨어의 결합일 수 있다. 오디오 데이터는, Dolby and Digital Theater Systems에 의해 개발된 것들과 같은 멀티-채널 포맷들을 이용하여 코딩될 수 있다. 오디오 데이터는 압축된 또는 압축되지 않은 포맷을 이용하여 코딩될 수 있다. 압축된 오디오 포맷들의 예들은 MPEG-1, 2개의 오디오 계층들 II 및 III, AC-3, AAC를 포함한다. 압축되지 않은 오디오 포맷의 예는 펄스-코드 변조(PCM) 오디오 포맷을 포함한다.
[0085] 오디오 패킷화기(618)는 인코딩된 오디오 데이터를 패킷화할 수 있다. 일 예에서, 오디오 패킷화기(618)는 MPEG-2 파트 1에 따라 정의된 바와 같이, 인코딩된 오디오 데이터를 패킷화할 수 있다. 다른 예들에서, 오디오 데이터는 다른 패킷화 프로토콜들에 따라 패킷화될 수 있다. 오디오 패킷화기(618)는, 도 2와 관련하여 앞서 설명된, 패킷화된 기본 스트림(PES) 패킷화(216)의 양상들을 구현하기 위해 이용되는 하드웨어와 소프트웨어의 결합일 수 있다.
[0086] A/V mux(620)는, 공통 데이터 스트림의 부분으로서 비디오 페이로드 데이터 및 오디오 페이로드 데이터를 결합하기 위해 멀티플렉싱 기법들을 적용할 수 있다. 일 예에서, A/V mux(620)는, MPEG-2 파트 1에 따라 정의된 MPEG2 전송 스트림으로서, 패킷화된 기본 비디오 및 오디오 스트림들을 캡슐화할 수 있다. A/V mux(620)는 오디오 및 비디오 패킷들에 대한 동기화뿐만 아니라 에러 정정 기법들을 제공할 수 있다.
[0087] 전송 모듈(622)은 싱크 디바이스로의 전송을 위해 미디어 데이터를 프로세싱할 수 있다. 또한, 전송 모듈(622)은 싱크 디바이스로부터 수신된 패킷들을 프로세싱하여, 그 패킷들이 추가로 프로세싱될 수 있게 한다. 예를 들어, 전송 모듈(622)은 IP, TCP, UDP, RTP, 및 RSTP를 이용하여 통신하도록 구성될 수 있다. 예를 들어, 전송 모듈(622)은 싱크 디바이스로의 또는 네트워크를 통한 통신을 위해 MPEG2-TS를 추가로 캡슐화할 수 있다.
[0088] 모뎀(624)은, WD 시스템에서 활용되는 물리 및 MAC 계층들에 따라 물리 및 MAC 계층 프로세싱을 수행하도록 구성될 수 있다. 도 2와 관련하여 설명된 바와 같이, 물리 및 MAC 계층들은, WD 시스템에서 통신들을 위해 이용된 물리적 시그널링, 어드레싱 및 채널 액세스 제어를 정의할 수 있다. 일 예에서, 모뎀(624)은, WFD에 의해 제공된 것과 같이, Wi-Fi(예를 들어, IEEE 802.11x) 표준에 의해 정의된 물리 및 MAC 계층들에 대해 물리 계층 및 MAC 계층 프로세싱을 수행하도록 구성될 수 있다. 다른 예들에서, 모뎀(624)은: WirelessHD, WiMedia, WHDI(Wireless Home Digital Interface), WiGig, 및 Wireless USB 중 임의의 것에 대해 물리 계층 및 MAC 계층 프로세싱을 수행하도록 구성될 수 있다.
[0089] 제어 모듈(626)은 소스 디바이스(600) 통신 제어 기능들을 수행하도록 구성될 수 있다. 통신 제어 기능들은, 싱크 디바이스와 능력들을 협의하는 것, 싱크 디바이스와의 세션을 확립하는 것, 및 세션 유지보수 및 관리와 관련될 수 있다. 제어 모듈(626)은 싱크 디바이스와 통신하기 위해 RTSP를 이용할 수 있다. 또한, 제어 모듈(626)은, UDP를 통한 UIBC의 전송을 지원하고 부가적인 제너릭 사용자 입력 타입들을 지원하도록 소스 디바이스(600) 및 싱크 디바이스의 능력을 협의하기 위해 RTSP 메시지 트랜잭션들을 이용하여 하나 또는 둘 이상의 통신 채널들을 확립할 수 있다.
[0090] 전송 모듈(622)은 UIBC 정보 엘리먼트들(IE)을 수신하여 제어 모듈(626)에 전송할 수 있다. 예시된 예에서, 전송 모듈(622)은 UIBC IE(628)를 수신하고, UIBC IE(628)를 제어 모듈(626)에 전송한다. 따라서, 제어 모듈(626)은, 사용자 입력을 식별하고 컴포넌트들(606, 604, 602, 608, 610, 612, 614, 616, 618, 또는 620) 중 임의의 컴포넌트의 동작을 수정하기 위해 UIBC IE(628)를 파싱한다.
[0091] 도 4는, 본 명세서에서 설명된 기법들을 구현할 수 있는 싱크 디바이스의 예를 예시하는 블록도이다. 싱크 디바이스(700)는 도 2에서 제공된 데이터 통신 모델을 포함하는 WD 시스템의 부분일 수 있다. 일 예에서, 싱크 디바이스(700)는 소스 디바이스(600)와 함께 WD 시스템을 형성할 수 있다. 싱크 디바이스(700)는 모뎀(702), 전송 모듈(704), A/V demux(706), 비디오 역-패킷화기(708), 비디오 디코더(710), 디스플레이 프로세서(712), 디스플레이(714), 오디오 역패킷화기(716), 오디오 디코더(718), 오디오 프로세서(720), 스피커(722), 사용자 입력 모듈(724), 및 제어 모듈(730)을 포함한다. 싱크 디바이스(700)의 컴포넌트들 각각은, 하나 또는 둘 이상의 마이크로프로세서들, 디지털 신호 프로세서(DSP)들, 주문형 집적 회로(ASIC)들, 필드 프로그램가능 게이트 어레이(FPGA)들, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 결합들과 같은 다양한 적절한 회로소자 중 임의의 회로소자로서 구현될 수 있다.
[0092] 모뎀(702)은, WD 시스템에서 활용되는 물리 및 MAC 계층들에 따라 물리 및 MAC 계층 프로세싱을 수행하도록 구성될 수 있다. 도 2와 관련하여 설명된 바와 같이, 물리 및 MAC 계층들은, WD 시스템에서 통신들을 위해 이용된 물리적 시그널링, 어드레싱 및 채널 액세스 제어를 정의할 수 있다. 일 예에서, 모뎀(702)은, WFD에 의해 제공된 것과 같이, Wi-Fi(예를 들어, IEEE 802.11x) 표준에 의해 정의된 물리 및 MAC 계층들에 대해 물리 계층 및 MAC 계층 프로세싱을 수행하도록 구성될 수 있다. 다른 예들에서, 모뎀(702)은: WirelessHD, WiMedia, WHDI(Wireless Home Digital Interface), WiGig, 및 Wireless USB 중 임의의 것에 대해 물리 계층 및 MAC 계층 프로세싱을 수행하도록 구성될 수 있다.
[0093] 전송 모듈(704)은 소스 디바이스로부터의 수신된 미디어 데이터를 프로세싱할 수 있다. 또한, 전송 모듈(704)은 소스 디바이스로의 전송을 위해 피드백 패킷들을 프로세싱할 수 있다. 예를 들어, 전송 모듈(704)은 IP, TCP, UDP, RTP, 및 RSTP를 이용하여 통신하도록 구성될 수 있다. 부가하여, 전송 모듈(704)은, IP, TCP, UDP, RTP, 및 RSTP 패킷들의 임의의 결합으로 시간스탬프 값을 포함할 수 있다. 시간스탬프 값들은, 소스 디바이스로 하여금, 어느 미디어 데이터 패킷이 리포트된 성능 열화를 경험했는지를 식별하고, WD 시스템에서 라운드트립 지연을 계산하는 것을 가능하게 할 수 있다.
[0094] A/V demux(706)는, 데이터 스트림으로부터 비디오 페이로드 데이터 및 오디오 페이로드 데이터를 분리시키기 위해 디-멀티플렉싱 기법들을 적용할 수 있다. 일 예에서, A/V demux(706)는, MPEG-2 파트 1에 따라 정의된 MPEG2 전송 스트림의 패킷화된 기본 비디오 및 오디오 스트림들을 분리시킬 수 있다.
[0095] 비디오 역-패킷화기(708) 및 비디오 디코더(710)는 본 명세서에 설명된 패킷화 및 코딩 기법들을 구현하는 비디오 패킷화기 및 비디오 인코더의 역 프로세싱(reciprocal processing)을 수행할 수 있으며, 디스플레이 프로세서(712)에 비디오 출력 비디오 데이터를 출력할 수 있다.
[0096] 디스플레이 프로세서(712)는, 캡처된 비디오 프레임들을 획득할 수 있고, 디스플레이(714) 상의 디스플레이를 위해 비디오 데이터를 프로세싱할 수 있다. 디스플레이(714)는, 액정 디스플레이(LCD), 플라즈마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 다른 타입의 디스플레이와 같은 다양한 디스플레이 디바이스들 중 하나를 포함할 수 있다.
[0097] 오디오 역-패킷화기(716) 및 오디오 디코더(718)는, 본 명세서에 설명된 패킷화 및 코딩 기법들을 구현하는 오디오 패킷화기 및 오디오 인코더의 역 프로세싱을 수행할 수 있으며, 오디오 프로세서(720)에 오디오 데이터를 출력할 수 있다.
[0098] 오디오 프로세서(720)는, 오디오 디코더로부터 오디오 데이터를 획득할 수 있고, 스피커들(722)로의 출력을 위해 오디오 데이터를 프로세싱할 수 있다. 스피커들(722)은, 헤드폰들, 단일-스피커 시스템, 멀티-스피커 시스템, 또는 서라운드 음향 시스템과 같은 다양한 오디오 출력 디바이스들 중 임의의 오디오 출력 디바이스 디바이스를 포함할 수 있다.
[0099] 사용자 입력 모듈(724)은, 예를 들어, 키보드, 마우스, 트랙볼 또는 트랙패드, 터치 스크린, 음성 커맨드 인식 모듈, 또는 임의의 다른 이러한 사용자 입력 디바이스와 같은 사용자 입력 디바이스에 의해 수신된 사용자 입력 커맨드들을 포맷화할 수 있다. 일 예에서, 사용자 입력 모듈(724)은, 도 2와 관련하여 앞서 설명된 휴먼 인터페이스 디바이스 커맨드들(HIDC)(230) 및 제너릭 사용자 입력들(232)에 따라 정의된 포맷들에 따라 사용자 입력 커맨드들을 포맷화할 수 있다. 예시된 예에서, 사용자 입력 모듈(724)은 음성-기반 입력 디바이스(도시되지 않음)로부터 음성 입력을 수신하고, 도 2와 관련하여 앞서 설명된 바와 같이, 음성 데이터를 명시하는 UIBC IE에 따라 음성 입력을 포맷화한다. 사용자 입력 모듈(724)은 모뎀(702)에 의한 출력을 위해, 포맷화된 UIBC IE(726)를 제어 모듈(730)에 전송한다.
[0100] 제어 모듈(730)은, 싱크 디바이스(700) 통신 제어 기능들을 수행하도록 구성될 수 있다. 통신 제어 기능들은, 소스 디바이스와 능력들을 협의하는 것, 소스 디바이스와의 세션을 확립하는 것, 및 세션 유지보수 및 관리와 관련될 수 있다. 제어 모듈(730)은 소스 디바이스와 통신하기 위해 RTSP를 이용할 수 있다. 또한, 제어 모듈(730)은, 본원에서 설명된 기법들을 지원하도록 싱크 디바이스(700) 및 소스 디바이스의 능력을 협의하기 위해 RTSP 메시지 트랜잭션을 이용하여 피드백 채널을 확립할 수 있다.
[0101] 도 5는 본 명세서에서 설명된 사용자 입력 송신 기법을 예시하는 흐름도이다. 소스 디바이스는 미디어 데이터를 싱크 디바이스에 전송한다. 소스 디바이스 및 싱크 디바이스는 본 명세서에서 설명된 소스 디바이스 및 싱크 디바이스의 임의의 결합일 수 있다(802). 일 예에서, 미디어 데이터는 UDP에 따라 전송될 수 있다. 소스 디바이스는, 음성 입력 타입 또는 가상 네트워크 컴퓨팅(VNC) 입력 타입 중 하나 또는 둘 이상을 포함한, UIBC에 대한 능력들을 명시하고 본 명세서에서 설명된 임의의 메시지 포맷에 따라 포맷화될 수 있는 UIBC 파라미터 메시지를 전송한다(804). 소스 디바이스는 추가로, 명시된 음성 입력 타입 또는 VNC 입력 타입을 포함한, UIBC 능력들에 따르는 사용자 입력을 포함하는 UIBC 메시지를 싱크 디바이스로부터 수신할 수 있다(806).
[0102] 도 6은 본 명세서에서 설명된 사용자 입력 송신 기법을 예시하는 흐름도이다. 싱크 디바이스는 미디어 데이터를 소스 디바이스로부터 수신한다(902). 소스 디바이스 및 싱크 디바이스는 본 명세서에서 설명된 소스 디바이스 및 싱크 디바이스의 임의의 결합일 수 있다. 일 예에서, 미디어 데이터는 UDP에 따라 수신될 수 있다. 싱크 디바이스는, 음성 입력 타입 또는 VNC 입력 타입 중 하나 또는 둘 이상을 포함한, UIBC에 대한 능력들을 명시하고 본 명세서에서 설명된 임의의 메시지 포맷에 따라 포맷화될 수 있는 UIBC 파라미터 메시지를 수신한다(904). 싱크 디바이스는 추가로, 명시된 음성 입력 타입 또는 VNC 입력 타입을 포함한, UIBC 능력들에 따르는 사용자 입력을 포함하는 UIBC 메시지를 소스 디바이스에 전송할 수 있다(906).
[0103] 도 7은 본 명세서에서 설명된 사용자 입력 송신 기법을 예시하는 흐름도이다. 소스 디바이스는 미디어 데이터를 싱크 디바이스에 전송한다. 소스 디바이스 및 싱크 디바이스는 본 명세서에서 설명된 소스 디바이스 및 싱크 디바이스의 임의의 결합일 수 있다(1002). 일 예에서, 미디어 데이터는 UDP에 따라 전송될 수 있다. 소스 디바이스는, 사용자 데이터그램 프로토콜(UDP) 포트(예를 들어, 음성 입력 데이터에 대한 것임)를 포함한, UIBC에 대한 능력들을 명시하고 본 명세서에서 설명된 임의의 메시지 포맷에 따라 포맷화될 수 있는 UIBC 파라미터 메시지를 전송한다(1004). 소스 디바이스는 추가로, 명시된 UDP 포트에서, 음성 입력 데이터를 포함할 수 있는 UIBC 메시지를 싱크 디바이스로부터 수신할 수 있다(1006).
[0104] 도 8은 본 명세서에서 설명된 사용자 입력 송신 기법을 예시하는 흐름도이다. 싱크 디바이스는 미디어 데이터를 소스 디바이스로부터 수신한다(1102). 소스 디바이스 및 싱크 디바이스는 본 명세서에서 설명된 소스 디바이스 및 싱크 디바이스의 임의의 결합일 수 있다. 일 예에서, 미디어 데이터는 UDP에 따라 수신될 수 있다. 싱크 디바이스는, 사용자 데이터그램 프로토콜(UDP) 포트(예를 들어, 음성 입력 데이터에 대한 것임)를 포함한, UIBC에 대한 능력들을 명시하고 본 명세서에서 설명된 임의의 메시지 포맷에 따라 포맷화될 수 있는 UIBC 파라미터 메시지를 수신한다(1104). 싱크 디바이스는 추가로, 명시된 UDP 포트를 이용하여, 싱크 디바이스에 의해 수신된 음성 입력 데이터를 포함할 수 있는 UIBC 메시지를 소스 디바이스에 전송할 수 있다(1106). 예를 들어, UIBC 메시지를 포함하는 UDP 데이터그램은, 명시된 UDP 포트인 목적지 포트를 포함할 수 있다.
[0105] 하나 또는 둘 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 결합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기능들은 컴퓨터-판독가능 매체 상에 하나 또는 둘 이상의 명령들 또는 코드로서 저장될 수 있거나 이를 통해 전송될 수 있다. 컴퓨터-판독가능 매체들은 한 장소에서 다른 장소로 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체 또는 컴퓨터 데이터 저장 매체를 포함할 수 있다. 일부 예들에서, 컴퓨터-판독가능 매체들은 비-일시적 컴퓨터-판독가능 매체들을 포함할 수 있다. 데이터 저장 매체들은, 본원에서 설명된 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 리트리브하기 위해 하나 또는 둘 이상의 컴퓨터들 또는 하나 또는 둘 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용 가능한 매체들일 수 있다.
[0106] 제한이 아닌 예로서, 이러한 컴퓨터-판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 명령들이나 데이터 구조들의 형태로 원하는 프로그램 코드를 반송 또는 저장하기 위해 이용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체와 같은 비-일시적 매체들을 포함할 수 있다. 또한, 임의의 연결수단이 컴퓨터-판독가능 매체로 적절히 지칭된다. 본 명세서에서 이용된 것과 같은 디스크(disk) 및 디스크(disc)는 CD(compact disc), 레이저 디스크(laser disc), 광 디스크(optical disc), DVD(digital versatile disc), 플로피 디스크(floppy disk) 및 블루레이 디스크(blu-ray disc)를 포함하며, 여기서 디스크(disk)들은 일반적으로 데이터를 자기적으로 재생하는 한편, 디스크(disc)들은 레이저들을 이용하여 데이터를 광학적으로 재생한다. 앞서의 것들의 결합들이 또한 컴퓨터-판독가능 매체들의 범주 내에 포함되어야 한다.
[0107] 코드는 하나 또는 둘 이상의 디지털 신호 프로세서(DSP)들, 범용 마이크로프로세서들, 주문형 집적 회로(ASIC)들, 필드 프로그램 가능 로직 어레이(FPGA)들, 또는 다른 등가 집적 또는 이산 로직 회로소자와 같은 하나 또는 둘 이상의 프로세서들에 의해 실행될 수 있다. 따라서 본 명세서에서 이용된 바와 같은 "프로세서"라는 용어는 앞서 말한 구조 또는 본 명세서에서 설명된 기법들의 구현을 위해 적절한 임의의 다른 구조 중 임의의 구조를 나타낼 수 있다. 부가하여, 일부 양상들에서, 본 명세서에서 설명된 기능성은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공되거나, 결합된 코덱에 포함될 수 있다. 또한, 기법들은 하나 또는 둘 이상의 회로들 또는 논리 엘리먼트들에서 완전히 구현될 수 있다.
[0108] 본원의 기법들은 무선 핸드셋, 집적 회로(IC) 또는 IC들의 세트(예를 들어, 칩셋)를 포함한 매우 다양한 디바이스들 또는 장치들에서 구현될 수 있다. 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양상들을 강조하기 위해 본원에서 다양한 컴포넌트들, 모듈들 또는 유닛들이 설명되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하는 것은 아니다. 오히려, 앞서 설명된 바와 같이, 다양한 유닛들은, 적절한 소프트웨어 및/또는 펌웨어와 함께, 앞서 설명된 바와 같은 하나 또는 둘 이상의 프로세서들을 포함하는 상호작용적 하드웨어 유닛들의 집합에 의해 제공되거나 코덱 하드웨어 유닛으로 결합될 수 있다.
[0109] 본 발명의 다양한 실시예들이 설명되었다. 이러한 그리고 다른 실시예들은 다음의 청구항들의 범주 내에 있다.

Claims (48)

  1. 사용자 입력 데이터를 수신하는 방법으로서,
    사용자 입력 백 채널(UIBC; user input back channel) 파라미터 메시지를 전송하는 단계 ― 상기 UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC; Virtual Network Computer) 입력 타입 중 하나를 명시함 ―; 및
    상기 음성 입력 타입 및 상기 VNC 입력 타입 중 명시된 타입에 따라 UIBC 메시지에서 사용자 입력 데이터를 수신하는 단계
    를 포함하는,
    사용자 입력 데이터를 수신하는 방법.
  2. 제 1 항에 있어서,
    상기 VNC 입력 타입은 VNC 키이벤트(KeyEvent) 입력 타입 및 VNC 포인터이벤트(PointerEvent) 입력 타입 중 하나인,
    사용자 입력 데이터를 수신하는 방법.
  3. 제 1 항에 있어서,
    상기 UIBC 파라미터 메시지는 추가로, 상기 음성 입력 타입에 대해 VoIP(Voice over Internet Protocol) 코덱, VoIP 코덱 결합, 및 VoIP 모드 중 하나 또는 둘 이상을 명시하는,
    사용자 입력 데이터를 수신하는 방법.
  4. 제 1 항에 있어서,
    상기 UIBC 파라미터 메시지는 실시간 스트리밍 프로토콜(RTSP; Real-Time Streaming Protocol) SET_PARAMETER 요청 메시지를 포함하는,
    사용자 입력 데이터를 수신하는 방법.
  5. 제 1 항에 있어서,
    상기 UIBC 파라미터 메시지는, 음성 입력 타입을 명시하고 사용자 데이터그램 프로토콜(UDP; User Datagram Protocol) 포트를 식별하는 실시간 스트리밍 프로토콜(RTSP) 제어 메시지를 포함하고, 그리고
    상기 사용자 입력 데이터를 수신하는 단계는, 식별된 UDP 포트를 이용하여 음성 입력 데이터를 수신하는 단계를 포함하는,
    사용자 입력 데이터를 수신하는 방법.
  6. 제 1 항에 있어서,
    상기 사용자 입력 백 채널(UIBC) 파라미터 메시지는 Wi-Fi 디스플레이(WFD; Wi-Fi Display) 표준을 따르고,
    상기 방법은,
    상기 WFD 표준에 기초하는 통신 프로토콜을 이용하여 연결을 확립하는 단계
    를 더 포함하는,
    사용자 입력 데이터를 수신하는 방법.
  7. 사용자 입력 데이터를 전송하는 방법으로서,
    사용자 입력 백 채널(UIBC) 파라미터 메시지를 수신하는 단계 ― 상기 UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―; 및
    상기 음성 입력 타입 및 상기 VNC 입력 타입 중 명시된 타입에 따라 사용자 입력 데이터를 전송하는 단계
    를 포함하는,
    사용자 입력 데이터를 전송하는 방법.
  8. 제 7 항에 있어서,
    상기 VNC 입력 타입은 VNC 키이벤트 입력 타입 및 VNC 포인터이벤트 입력 타입 중 하나인,
    사용자 입력 데이터를 전송하는 방법.
  9. 제 7 항에 있어서,
    상기 UIBC 파라미터 메시지는 추가로, 상기 음성 입력 타입에 대해 VoIP(Voice over Internet Protocol) 코덱, VoIP 코덱 결합, 및 VoIP 모드 중 하나 또는 둘 이상을 명시하는,
    사용자 입력 데이터를 전송하는 방법.
  10. 제 7 항에 있어서,
    상기 UIBC 파라미터 메시지는 실시간 스트리밍 프로토콜(RTSP) SET_PARAMETER 요청 메시지를 포함하는,
    사용자 입력 데이터를 전송하는 방법.
  11. 제 7 항에 있어서,
    상기 UIBC 파라미터 메시지는, 음성 입력 타입을 명시하고 사용자 데이터그램 프로토콜(UDP) 포트를 식별하는 실시간 스트리밍 프로토콜(RTSP) 제어 메시지를 포함하고, 그리고
    상기 사용자 입력 데이터를 전송하는 단계는, 식별된 UDP 포트를 이용하여 음성 입력 데이터를 전송하는 단계를 포함하는,
    사용자 입력 데이터를 전송하는 방법.
  12. 제 7 항에 있어서,
    상기 사용자 입력 백 채널(UIBC) 파라미터 메시지는 Wi-Fi 디스플레이(WFD) 표준을 따르고,
    상기 방법은,
    상기 WFD 표준에 기초하는 통신 프로토콜을 이용하여 연결을 확립하는 단계
    를 더 포함하는,
    사용자 입력 데이터를 전송하는 방법.
  13. 소스 디바이스로서,
    사용자 입력 백 채널(UIBC) 파라미터 메시지를 전송하기 위한 수단 ― 상기 UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―; 및
    상기 음성 입력 타입 및 상기 VNC 입력 타입 중 명시된 타입에 따라 UIBC 메시지에서 사용자 입력 데이터를 수신하기 위한 수단
    을 포함하는,
    소스 디바이스.
  14. 제 13 항에 있어서,
    상기 VNC 입력 타입은 VNC 키이벤트 입력 타입 및 VNC 포인터이벤트 입력 타입 중 하나인,
    소스 디바이스.
  15. 제 13 항에 있어서,
    상기 UIBC 파라미터 메시지는 추가로, 상기 음성 입력 타입에 대해 VoIP(Voice over Internet Protocol) 코덱, VoIP 코덱 결합, 및 VoIP 모드 중 하나 또는 둘 이상을 명시하는,
    소스 디바이스.
  16. 제 13 항에 있어서,
    상기 UIBC 파라미터 메시지는 실시간 스트리밍 프로토콜(RTSP) SET_PARAMETER 요청 메시지를 포함하는,
    소스 디바이스.
  17. 제 13 항에 있어서,
    상기 UIBC 파라미터 메시지는, 음성 입력 타입을 명시하고 사용자 데이터그램 프로토콜(UDP) 포트를 식별하는 실시간 스트리밍 프로토콜(RTSP) 제어 메시지를 포함하고, 그리고
    상기 사용자 입력 데이터를 수신하기 위한 수단은, 식별된 UDP 포트를 이용하여 상기 사용자 입력 데이터를 수신하기 위한 수단을 포함하는,
    소스 디바이스.
  18. 제 13 항에 있어서,
    상기 사용자 입력 백 채널(UIBC) 파라미터 메시지는 Wi-Fi 디스플레이(WFD) 표준을 따르고,
    상기 소스 디바이스는,
    상기 WFD 표준에 기초하는 통신 프로토콜을 이용하여 연결을 확립하기 위한 수단
    을 더 포함하는,
    소스 디바이스.
  19. 싱크 디바이스로서,
    사용자 입력 백 채널(UIBC) 파라미터 메시지를 수신하기 위한 수단 ― 상기 UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―; 및
    상기 음성 입력 타입 및 상기 VNC 입력 타입 중 명시된 타입에 따라 사용자 입력 데이터를 전송하기 위한 수단
    을 포함하는,
    싱크 디바이스.
  20. 제 19 항에 있어서,
    상기 VNC 입력 타입은 VNC 키이벤트 입력 타입 및 VNC 포인터이벤트 입력 타입 중 하나인,
    싱크 디바이스.
  21. 제 19 항에 있어서,
    상기 UIBC 파라미터 메시지는 추가로, 상기 음성 입력 타입에 대해 VoIP(Voice over Internet Protocol) 코덱, VoIP 코덱 결합, 및 VoIP 모드 중 하나 또는 둘 이상을 명시하는,
    싱크 디바이스.
  22. 제 19 항에 있어서,
    상기 UIBC 파라미터 메시지는 실시간 스트리밍 프로토콜(RTSP) SET_PARAMETER 요청 메시지를 포함하는,
    싱크 디바이스.
  23. 제 19 항에 있어서,
    상기 UIBC 파라미터 메시지는, 음성 입력 타입을 명시하고 사용자 데이터그램 프로토콜(UDP) 포트를 식별하는 실시간 스트리밍 프로토콜(RTSP) 제어 메시지를 포함하고, 그리고
    상기 사용자 입력 데이터를 전송하기 위한 수단은, 식별된 UDP 포트를 이용하여 음성 입력 데이터를 전송하기 위한 수단을 포함하는,
    싱크 디바이스.
  24. 제 19 항에 있어서,
    상기 사용자 입력 백 채널(UIBC) 파라미터 메시지는 Wi-Fi 디스플레이(WFD) 표준을 따르고,
    상기 싱크 디바이스는,
    상기 WFD 표준에 기초하는 통신 프로토콜을 이용하여 연결을 확립하기 위한 수단
    을 더 포함하는,
    싱크 디바이스.
  25. 소스 디바이스로서,
    상기 소스 디바이스는 하나 또는 둘 이상의 프로세서들
    을 포함하고,
    상기 하나 또는 둘 이상의 프로세서들은,
    사용자 입력 백 채널(UIBC) 파라미터 메시지를 전송하고 ― 상기 UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―, 그리고
    상기 음성 입력 타입 및 상기 VNC 입력 타입 중 명시된 타입에 따라 UIBC 메시지에서 사용자 입력 데이터를 수신하도록 구성되는,
    소스 디바이스.
  26. 제 25 항에 있어서,
    상기 VNC 입력 타입은 VNC 키이벤트 입력 타입 및 VNC 포인터이벤트 입력 타입 중 하나인,
    소스 디바이스.
  27. 제 25 항에 있어서,
    상기 UIBC 파라미터 메시지는 추가로, 상기 음성 입력 타입에 대해 VoIP(Voice over Internet Protocol) 코덱, VoIP 코덱 결합, 및 VoIP 모드 중 하나 또는 둘 이상을 명시하는,
    소스 디바이스.
  28. 제 25 항에 있어서,
    상기 UIBC 파라미터 메시지는 실시간 스트리밍 프로토콜(RTSP) SET_PARAMETER 요청 메시지를 포함하는,
    소스 디바이스.
  29. 제 25 항에 있어서,
    상기 UIBC 파라미터 메시지는, 음성 입력 타입을 명시하고 사용자 데이터그램 프로토콜(UDP) 포트를 식별하는 실시간 스트리밍 프로토콜(RTSP) 제어 메시지를 포함하고, 그리고
    상기 사용자 입력 데이터를 수신하기 위해, 상기 프로세서들은 추가로, 식별된 UDP 포트를 이용하여 음성 입력 데이터를 수신하도록 구성되는,
    소스 디바이스.
  30. 제 25 항에 있어서,
    상기 사용자 입력 백 채널(UIBC) 파라미터 메시지는 Wi-Fi 디스플레이(WFD) 표준을 따르고,
    상기 프로세서들은 추가로, 상기 WFD 표준에 기초하는 통신 프로토콜을 이용하여 연결을 확립하도록 구성되는,
    소스 디바이스.
  31. 싱크 디바이스로서,
    상기 싱크 디바이스는 하나 또는 둘 이상의 프로세서들
    을 포함하고,
    상기 하나 또는 둘 이상의 프로세서들은,
    사용자 입력 백 채널(UIBC) 파라미터 메시지를 수신하고 ― 상기 UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―, 그리고
    상기 음성 입력 타입 및 상기 VNC 입력 타입 중 명시된 타입에 따라 사용자 입력 데이터를 전송하도록 구성되는,
    싱크 디바이스.
  32. 제 31 항에 있어서,
    상기 VNC 입력 타입은 VNC 키이벤트 입력 타입 및 VNC 포인터이벤트 입력 타입 중 하나인,
    싱크 디바이스.
  33. 제 31 항에 있어서,
    상기 UIBC 파라미터 메시지는 추가로, 상기 음성 입력 타입에 대해 VoIP(Voice over Internet Protocol) 코덱, VoIP 코덱 결합, 및 VoIP 모드 중 하나 또는 둘 이상을 명시하는,
    싱크 디바이스.
  34. 제 31 항에 있어서,
    상기 UIBC 파라미터 메시지는 실시간 스트리밍 프로토콜(RTSP) SET_PARAMETER 요청 메시지를 포함하는,
    싱크 디바이스.
  35. 제 31 항에 있어서,
    상기 UIBC 파라미터 메시지는, 음성 입력 타입을 명시하고 사용자 데이터그램 프로토콜(UDP) 포트를 식별하는 실시간 스트리밍 프로토콜(RTSP) 제어 메시지를 포함하고, 그리고
    상기 프로세서들은 추가로, 식별된 UDP 포트를 이용하여 음성 입력 데이터를 전송함으로써 상기 사용자 입력 데이터를 전송하도록 구성되는,
    싱크 디바이스.
  36. 제 31 항에 있어서,
    상기 사용자 입력 백 채널(UIBC) 파라미터 메시지는 Wi-Fi 디스플레이(WFD) 표준을 따르고,
    상기 프로세서들은 추가로, 상기 WFD 표준에 기초하는 통신 프로토콜을 이용하여 연결을 확립하도록 구성되는,
    싱크 디바이스.
  37. 명령들이 저장되는 컴퓨터-판독가능 저장 매체로서,
    상기 명령들은 실행될 때, 하나 또는 둘 이상의 프로세서들이,
    사용자 입력 백 채널(UIBC) 파라미터 메시지를 전송하고 ― 상기 UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―, 그리고
    상기 음성 입력 타입 및 상기 VNC 입력 타입 중 명시된 타입에 따라 UIBC 메시지에서 사용자 입력 데이터를 수신하도록 구성하는,
    컴퓨터-판독가능 저장 매체.
  38. 제 37 항에 있어서,
    상기 VNC 입력 타입은 VNC 키이벤트 입력 타입 및 VNC 포인터이벤트 입력 타입 중 하나인,
    컴퓨터-판독가능 저장 매체.
  39. 제 37 항에 있어서,
    상기 UIBC 파라미터 메시지는 추가로, 상기 음성 입력 타입에 대해 VoIP(Voice over Internet Protocol) 코덱, VoIP 코덱 결합, 및 VoIP 모드 중 하나 또는 둘 이상을 명시하는
    컴퓨터-판독가능 저장 매체.
  40. 제 37 항에 있어서,
    상기 UIBC 파라미터 메시지는 실시간 스트리밍 프로토콜(RTSP) SET_PARAMETER 요청 메시지를 포함하는,
    컴퓨터-판독가능 저장 매체.
  41. 제 37 항에 있어서,
    상기 UIBC 파라미터 메시지는, 음성 입력 타입을 명시하고 사용자 데이터그램 프로토콜(UDP) 포트를 식별하는 실시간 스트리밍 프로토콜(RTSP) 제어 메시지를 포함하고, 그리고
    상기 사용자 입력 데이터를 수신하기 위해, 상기 명령들은 추가로, 상기 하나 또는 둘 이상의 프로세서들이, 식별된 UDP 포트를 이용하여 음성 입력 데이터를 수신하도록 구성하는,
    컴퓨터-판독가능 저장 매체.
  42. 제 37 항에 있어서,
    상기 사용자 입력 백 채널(UIBC) 파라미터 메시지는 Wi-Fi 디스플레이(WFD) 표준을 따르고,
    상기 명령들은 추가로, 상기 하나 또는 둘 이상의 프로세서들이, 상기 WFD 표준에 기초하는 통신 프로토콜을 이용하여 연결을 확립하도록 구성하는,
    컴퓨터-판독가능 저장 매체.
  43. 명령들이 저장되는 컴퓨터-판독가능 저장 매체로서,
    상기 명령들은 실행될 때, 하나 또는 둘 이상의 프로세서들이,
    사용자 입력 백 채널(UIBC) 파라미터 메시지를 수신하고 ― 상기 UIBC 파라미터 메시지는 음성 입력 타입 및 가상 네트워크 컴퓨터(VNC) 입력 타입 중 하나를 명시함 ―, 그리고
    상기 음성 입력 타입 및 상기 VNC 입력 타입 중 명시된 타입에 따라 사용자 입력 데이터를 전송하도록 구성하는,
    컴퓨터-판독가능 저장 매체.
  44. 제 43 항에 있어서,
    상기 VNC 입력 타입은 VNC 키이벤트 입력 타입 및 VNC 포인터이벤트 입력 타입 중 하나인,
    컴퓨터-판독가능 저장 매체.
  45. 제 43 항에 있어서,
    상기 UIBC 파라미터 메시지는 추가로, 상기 음성 입력 타입에 대해 VoIP(Voice over Internet Protocol) 코덱, VoIP 코덱 결합, 및 VoIP 모드 중 하나 또는 둘 이상을 명시하는,
    컴퓨터-판독가능 저장 매체.
  46. 제 43 항에 있어서,
    상기 UIBC 파라미터 메시지는 실시간 스트리밍 프로토콜(RTSP) SET_PARAMETER 요청 메시지를 포함하는,
    컴퓨터-판독가능 저장 매체.
  47. 제 43 항에 있어서,
    상기 UIBC 파라미터 메시지는, 음성 입력 타입을 명시하고 사용자 데이터그램 프로토콜(UDP) 포트를 식별하는 실시간 스트리밍 프로토콜(RTSP) 제어 메시지를 포함하고, 그리고
    상기 사용자 입력 데이터를 전송하기 위해, 상기 명령들은 추가로, 상기 하나 또는 둘 이상의 프로세서들이, 식별된 UDP 포트를 이용하여 음성 입력 데이터를 전송하도록 구성하는,
    컴퓨터-판독가능 저장 매체.
  48. 제 43 항에 있어서,
    상기 사용자 입력 백 채널(UIBC) 파라미터 메시지는 Wi-Fi 디스플레이(WFD) 표준을 따르고,
    상기 명령들은 추가로, 상기 하나 또는 둘 이상의 프로세서들이, 상기 WFD 표준에 기초하는 통신 프로토콜을 이용하여 연결을 확립하도록 구성하는,
    컴퓨터-판독가능 저장 매체.
KR1020157022832A 2013-01-25 2014-01-24 무선 디스플레이 디바이스들에 대한 사용자 입력 제어를 위한 비연결형 전송 KR101780300B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361757010P 2013-01-25 2013-01-25
US61/757,010 2013-01-25
US201361757414P 2013-01-28 2013-01-28
US61/757,414 2013-01-28
US14/162,215 2014-01-23
US14/162,215 US9652192B2 (en) 2013-01-25 2014-01-23 Connectionless transport for user input control for wireless display devices
PCT/US2014/012965 WO2014116959A1 (en) 2013-01-25 2014-01-24 Connectionless transport for user input control for wireless display devices

Publications (2)

Publication Number Publication Date
KR20150110724A true KR20150110724A (ko) 2015-10-02
KR101780300B1 KR101780300B1 (ko) 2017-10-10

Family

ID=51222333

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157022832A KR101780300B1 (ko) 2013-01-25 2014-01-24 무선 디스플레이 디바이스들에 대한 사용자 입력 제어를 위한 비연결형 전송

Country Status (7)

Country Link
US (1) US9652192B2 (ko)
EP (1) EP2949101A1 (ko)
JP (1) JP6224133B2 (ko)
KR (1) KR101780300B1 (ko)
CN (1) CN105027531B (ko)
TW (1) TWI519182B (ko)
WO (1) WO2014116959A1 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9198084B2 (en) 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
US9264248B2 (en) 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
US9582238B2 (en) 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) * 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US9582239B2 (en) 2011-01-21 2017-02-28 Qualcomm Incorporated User input back channel for wireless displays
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
JP6216149B2 (ja) 2013-04-26 2017-10-18 キヤノン株式会社 通信装置、通信方法およびプログラム
JP6212280B2 (ja) * 2013-04-26 2017-10-11 キヤノン株式会社 通信装置、通信方法およびプログラム
US9197680B2 (en) * 2013-05-23 2015-11-24 Qualcomm Incorporated Establishing and controlling audio and voice back channels of a Wi-Fi display connection
US9306992B2 (en) * 2013-06-07 2016-04-05 Qualcomm Incorporated Method and system for using Wi-Fi display transport mechanisms to accomplish voice and data communications
JP6428071B2 (ja) * 2014-09-10 2018-11-28 セイコーエプソン株式会社 映像表示システム、映像表示システムを構成する映像送信装置と頭部装着型表示装置との間の映像無線伝送規格に従った接続方法、コンピュータプログラム、頭部装着型表示装置
KR20160119809A (ko) * 2014-02-03 2016-10-14 엘지전자 주식회사 무선 통신 시스템에서 세션을 초기화하는 방법 및 장치
CN106063284B (zh) * 2014-02-28 2020-01-03 三星电子株式会社 用于在通信***播放多媒体内容的方法及装置
CN106068635B (zh) * 2014-03-04 2019-10-08 三星电子株式会社 在通信***中提供内容的方法和装置
WO2016084485A1 (ja) * 2014-11-27 2016-06-02 ソニー株式会社 情報処理装置および情報処理方法
CN109379645B (zh) * 2014-12-03 2021-09-14 ***通信集团有限公司 一种数据传输与反向控制方法、设备及***
EP4407999A2 (en) 2014-12-08 2024-07-31 Umbra Technologies Ltd. System and method for content retrieval from remote network regions
JP2018508067A (ja) 2015-01-06 2018-03-22 アンブラ テクノロジーズ リミテッドUmbra Technologies Ltd. ニュートラルなアプリケーションプログラミングインタフェースについてのシステム及び方法
KR102281341B1 (ko) * 2015-01-26 2021-07-23 엘지전자 주식회사 싱크 디바이스 및 그 제어 방법
CN115834534A (zh) 2015-01-28 2023-03-21 安博科技有限公司 用于全局虚拟网络的***
EP4293979A3 (en) 2015-04-07 2024-04-17 Umbra Technologies Ltd. System and method for virtual interfaces and advanced smart routing in a global virtual network
US20160308917A1 (en) * 2015-04-20 2016-10-20 Intel Corporation Sensor input transmission and associated processes
US10129892B2 (en) * 2015-06-01 2018-11-13 Qualcomm Incorporated Techniques to manage reverse channel audio sessions
CN107925594B (zh) 2015-06-11 2020-12-29 安博科技有限公司 用于网络挂毯多协议集成的***和方法
CN109871190B (zh) * 2015-06-16 2022-05-31 广州视睿电子科技有限公司 一种无线传屏方法、扩展设备和无线传屏***
US10623806B2 (en) * 2015-09-09 2020-04-14 Lg Electronics Inc. Method and device for changing orientation of image by WFD sink
CN106612445A (zh) * 2015-10-21 2017-05-03 ***通信集团公司 一种无线同屏音频通道的控制方法、发送设备及接受设备
JP6694954B2 (ja) * 2015-11-24 2020-05-20 ハーマン インターナショナル インダストリーズ インコーポレイテッド 自動システムセットアップ
CN114726847A (zh) 2015-12-11 2022-07-08 安博科技有限公司 用于网络挂毯和瞬间粒度上的信息弹弓的***和方法
US20170195735A1 (en) * 2015-12-31 2017-07-06 Nagravision S.A. Method and apparatus for peripheral context management
CN106941628B (zh) * 2016-01-04 2019-12-13 ***通信集团公司 同屏过程中辅助流的传输方法、发送终端及接收终端
ES2975242T3 (es) 2016-04-26 2024-07-04 Umbra Tech Ltd Generadores de pulsos de baliza de datos potenciados por Slingshot de información
US10671261B2 (en) 2017-01-17 2020-06-02 Opentv, Inc. Application dependent remote control
CN109144621B (zh) 2017-06-16 2022-08-16 微软技术许可有限责任公司 投影仪控制
JP6981138B2 (ja) 2017-09-25 2021-12-15 セイコーエプソン株式会社 電子機器および電子機器の制御方法
EP4114052B1 (en) * 2019-07-26 2023-12-20 Google LLC Method for managing a plurality of multimedia communication links in a point-to-multipoint bluetooth network
US11379111B2 (en) * 2020-09-11 2022-07-05 Hulu, LLC Dynamic user interface based on input classifications
KR20220048245A (ko) * 2020-10-12 2022-04-19 엘지전자 주식회사 무선 디바이스 및 무선 시스템
WO2023128206A1 (ko) * 2021-12-30 2023-07-06 삼성전자주식회사 소스 장치, 싱크 장치 및 그 동작 방법들
CN116156234A (zh) * 2022-12-19 2023-05-23 深圳创维-Rgb电子有限公司 基于无线投屏的反向控制方法、装置及无线投屏***

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020112181A1 (en) * 2000-12-12 2002-08-15 Smith Mark Elwin Multilevel secure network access system
CA2725844C (en) * 2000-12-15 2015-03-31 Qualcomm Incorporated Generating and implementing a communication protocol and interface for high data rate signal transfer
US20020161476A1 (en) * 2001-04-05 2002-10-31 David Panofsky System for vending and dispensing digital files
US7751316B2 (en) 2005-05-13 2010-07-06 Yahoo! Inc. Relay Server for SIP/RTP messages with buffer management
US7881315B2 (en) * 2006-06-27 2011-02-01 Microsoft Corporation Local peer-to-peer digital content distribution
US9065667B2 (en) * 2006-09-05 2015-06-23 Codian Limited Viewing data as part of a video conference
US8549093B2 (en) * 2008-09-23 2013-10-01 Strategic Technology Partners, LLC Updating a user session in a mach-derived system environment
TWI444044B (zh) * 2009-03-31 2014-07-01 Ibm 遠距應用中傳輸資料之裝置、方法與電腦程式產品
US8878912B2 (en) * 2009-08-06 2014-11-04 Qualcomm Incorporated Encapsulating three-dimensional video data in accordance with transport protocols
US8589683B2 (en) * 2009-10-27 2013-11-19 Red Hat, Inc. Authentication of a secure virtual network computing (VNC) connection
KR101732057B1 (ko) * 2009-11-02 2017-05-02 삼성전자주식회사 Av 시스템에서 사용자 입력 백 채널을 제공하는 방법 및 기기
US8559340B2 (en) * 2009-12-22 2013-10-15 Samsung Electronics Co., Ltd. Method and apparatus for service discovery in Wi-Fi direct network
US9867032B2 (en) * 2011-01-14 2018-01-09 Samsung Electronics Co., Ltd. Method and apparatus for transmitting user input from a sink device to a source device in a Wi-Fi direct communication system
WO2012099338A2 (ko) * 2011-01-18 2012-07-26 엘지전자 주식회사 사용자 입력 전달 방법 및 그를 이용한 장치
US9413803B2 (en) * 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US9065876B2 (en) * 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9582239B2 (en) * 2011-01-21 2017-02-28 Qualcomm Incorporated User input back channel for wireless displays
WO2012138660A2 (en) * 2011-04-07 2012-10-11 Activevideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates

Also Published As

Publication number Publication date
TW201436604A (zh) 2014-09-16
CN105027531B (zh) 2017-12-08
TWI519182B (zh) 2016-01-21
US20140210693A1 (en) 2014-07-31
WO2014116959A1 (en) 2014-07-31
US9652192B2 (en) 2017-05-16
JP6224133B2 (ja) 2017-11-01
JP2016511965A (ja) 2016-04-21
EP2949101A1 (en) 2015-12-02
CN105027531A (zh) 2015-11-04
KR101780300B1 (ko) 2017-10-10

Similar Documents

Publication Publication Date Title
KR101780300B1 (ko) 무선 디스플레이 디바이스들에 대한 사용자 입력 제어를 위한 비연결형 전송
JP6219310B2 (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネルを介した双方向トンネリング
JP6013562B2 (ja) ワイヤレスシンクとワイヤレスソースデバイスとの間で機能をネゴシエートすること
JP6092338B2 (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネル
JP5714726B2 (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネル
RU2571595C2 (ru) Обратный канал пользовательского ввода для беспроводных дисплеев
US9525998B2 (en) Wireless display with multiscreen service
US9065876B2 (en) User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US9582239B2 (en) User input back channel for wireless displays
JP5826860B2 (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネル
RU2577184C2 (ru) Обратный канал ввода данных пользователем для беспроводных дисплеев
JP2014510434A (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネル

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right