KR101664247B1 - 무선 도킹을 위한 무선 대역폭의 효율적 사용을 위한 원격 렌더링 - Google Patents
무선 도킹을 위한 무선 대역폭의 효율적 사용을 위한 원격 렌더링 Download PDFInfo
- Publication number
- KR101664247B1 KR101664247B1 KR1020167019266A KR20167019266A KR101664247B1 KR 101664247 B1 KR101664247 B1 KR 101664247B1 KR 1020167019266 A KR1020167019266 A KR 1020167019266A KR 20167019266 A KR20167019266 A KR 20167019266A KR 101664247 B1 KR101664247 B1 KR 101664247B1
- Authority
- KR
- South Korea
- Prior art keywords
- sink device
- content
- source device
- sink
- display
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- H04L65/604—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/12—Synchronisation between the display unit and other units, e.g. other display units, video-disc players
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/756—Media network packet handling adapting media to device capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/16—Use of wireless transmission of display information
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
Abstract
무선 네트워크에서의 콘텐츠의 원격 디스플레이를 위한 방법들, 시스템들, 및 디바이스들이 설명된다. 콘텐츠를 디스플레이할 수 있는 소스 디바이스는, 싱크 디바이스 상에서 원격으로 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 식별할 수 있다. 소스 디바이스는 무선 피어-투-피어 연결을 통해 하나 또는 그 초과의 렌더링 명령들을 싱크 디바이스에 송신할 수 있다. 싱크 디바이스는 하나 또는 그 초과의 렌더링 명령들을 수신할 수 있고, 콘텐츠의 적어도 일부분의 디스플레이를 렌더링하기 위해 하나 또는 그 초과의 렌더링 명령들을 실행시킬 수 있다. 또한, 소스 디바이스는 무선 피어-투-피어 연결을 통해 싱크 디바이스로부터 데이터를 수신할 수 있다. 따라서, 소스 디바이스에 의해 하나 또는 그 초과의 렌더링 명령들을 식별하는 단계는, 수신된 데이터에 적어도 부분적으로 기초하여 적어도 하나의 렌더링 명령을 식별하는 단계를 포함할 수 있다.
Description
상호 참조들
[0001] 본 특허 출원은 "Remote Rendering for Efficient Use of Wireless Bandwidth for Wireless Docking"이라는 명칭으로, Subramaniam 등에 의해 2013년 12월 23일에 출원된 미국 특허 출원 제 14/138,945호를 우선권으로 주장하며, 이 미국 특허 출원은 본 출원의 양수인에게 양도되었다.
[0002] 다음의 개시내용은 일반적으로 무선 통신과 관련되며, 더 구체적으로는 Wi-Fi 피어-투-피어 원격 디스플레이와 관련된다. 무선 통신 시스템들이 다양한 타입들의 통신 콘텐츠, 이를테면, 보이스, 비디오, 패킷 데이터, 메시징, 브로드캐스팅 등을 제공하기 위해 폭넓게 배치된다. 이들 시스템들은, 무선 매체에 액세스하기 위해 CSMA/CA(carrier sense multiple access with collision avoidance) 메커니즘들을 활용하는 Wi-Fi 시스템들로 또한 알려진 무선 로컬 영역 네트워크(WLAN)일 수 있다. 이들 시스템들은 또한 이용가능한 시스템 자원들(예컨대, 시간, 주파수 및 전력)을 공유함으로써 다수의 사용자들과의 통신을 지원할 수 있는 다중-액세스 시스템들일 수 있다. 이러한 다중-액세스 시스템들의 예들은, 코드-분할 다중 액세스(CDMA) 시스템들, 시분할 다중 액세스(TDMA) 시스템들, 주파수-분할 다중 액세스(FDMA) 시스템들 및 직교 주파수-분할 다중 액세스(OFDMA) 시스템들을 포함한다.
[0003] 일반적으로, 피어-투-피어 네트워크는 무선 디바이스들이 서로 직접적으로 통신하도록 허용한다. 서로의 범위 내의 디바이스들이 발견될 수 있고 중앙 액세스 포인트들을 관련시키지 않고 직접적으로 통신할 수 있다. Wi-Fi 피어-투-피어 연결들은 휴대용 디바이스들 또는 컴퓨터들이 비디오 및 오디오를 호환가능한 디스플레이에 무선으로 송신하도록 허용한다. 비디오 및 오디오를 송신하는 디바이스는 소스 디바이스로 지칭될 수 있다. 호환가능한 디스플레이(또는 디스플레이에 연결될 디바이스)는 싱크 디바이스(sink device)로 지칭될 수 있다.
[0004] 특정 운영 체제를 갖는 모니터 상에서의 또는 어떠한 운영 체제도 갖지 않은 모니터 상에서의 모바일 디바이스의 디스플레이의 원격 렌더링을 위해 다양한 접근방식들이 고려되어 왔다. 예컨대, 미라캐스트(Miracast) 1.0은 Wi-Fi 네트워크를 통해 디바이스들 사이에서 비디오를 무선으로 디스플레이하는 것을 허용한다. 일반적으로, 콘텐츠는 소스 디바이스(예컨대, 셀룰러 폰, 태블릿 등)에서 압축되고, 패킷화되어, 싱크 디바이스(예컨대, PC, 모니터 등)에 송신된다. 싱크 디바이스는 패킷화된 정보를 수신하고, 그 다음으로, 그 콘텐츠를 압축해제 및 디스플레이한다.
[0005] 허용가능한 렌더링의 경우, 고품질 비디오 코덱 표준, 이를테면, H.264 코덱(CODEC)이 이용될 수 있다. 그러나, 미라캐스트에서 H.264 코덱을 이용한 픽셀 도메인 압축은 비교적 높은 전력 소비, 비교적 높은 무선 대역폭 요건, 및 비교적 낮은 품질의 그래픽스 및 텍스트를 초래한다. 게다가, 더 높은 분해능의 콘텐츠/디스플레이 및 디스플레이 리프레시 레이트에 대한 증가되는 요건들은 802.11ac 및 802.11ad 프로토콜들의 무선 능력들의 한계들을 넘어가고 있다.
[0006] 설명된 특징들은 일반적으로, 무선 대역폭의 효율적 사용을 위해 원격 렌더링을 개선하기 위한 하나 또는 그 초과의 개선된 시스템들, 방법들, 및/또는 장치들에 관한 것이다. 일반적으로, 접근방식은, 싱크 디바이스가 디스플레이의 적어도 일부분을 스스로 렌더링할 수 있도록, 인코딩된 콘텐츠(예컨대, 스트리밍)로서 비디오를 전송하고, 렌더링 명령들(예컨대, HTML, XML, OPENGL, JAVA 등)을 전송하는 것이다. 미리-구축된 자원들(예컨대, 텍스처들)은 애플리케이션의 시작시에 싱크 디바이스에 전송될 수 있다. 그 다음으로, 자원들은 오버레이될 수 있고, 텍스트는 "온 디맨드 방식으로(on demand)" 싱크 측에서 렌더링될 수 있다.
[0007] 소스 디바이스는 싱크 디바이스 상에서 디스플레이될 콘텐츠에서 렌더링 명령들을 식별할 수 있다. 소스 디바이스는 식별된 렌더링 명령들을 싱크 디바이스에 직접적으로 전송할 수 있다. 소스 디바이스는 또한, 코딩된 비디오 및/또는 코딩된 자원들을 싱크 디바이스에 전송할 수 있다. 싱크 측 상에서, 싱크 디바이스는 렌더링 명령들을 수신할 수 있고, 그 다음으로, 디스플레이 콘텐츠를 렌더링하기 위해 명령들을 실행할 수 있다. 싱크 디바이스는 비디오 및/또는 자원들을 디코딩할 수 있고, 그 다음으로, 싱크 디바이스에서의 출력을 위한 디스플레이를 획득하기 위해(예컨대, 모니터에 대한 프레임 버퍼) 비디오 및/또는 자원들을 렌더링된 디스플레이 콘텐츠와 결합할 수 있다.
[0008] 이러한 접근방식은, 소스 측에서 렌더링되는 콘텐츠의 압축 및 싱크 측에서의 그 콘텐츠의 압축해제를 요구하지 않음으로써, 무선 대역폭을 더 효율적으로 사용할 수 있다. 특히, 이러한 접근방식은 하나 또는 그 초과의 배터리들에 의존하는 소스 디바이스에 대한 전력 소비를 낮출 수 있다. 게다가, 이러한 접근방식은 단지 하나의 프레임 지연의 레이턴시를 제공할 수 있다.
[0009] 싱크 디바이스는 고품질 그래픽스 및 텍스트를 "온 디맨드 방식으로" 렌더링할 수 있다. 또한, 싱크 디바이스에 제공되는 자원들은 "온 디맨드 방식으로" 사용될 수 있고, 자원 업데이트들을 전송하는 소스 디바이스에 의해 용이하게 업데이트될 수 있다. 사용자 인터페이스 콘텐츠는, 초당 1번 또는 2번의 클릭들의 사용자 입력과 같이 통상적으로 비교적 느린 레이트로 사용자 상호작용에 기초하여 업데이트될 수 있다. 사용자 상호작용에 기초하여 업데이트된 디스플레이의 영역들은 종종 빈번하게, 디스플레이에서 이동하는 커서와 같이 비교적 작을 수 있다. 유사하게, 디스플레이의 단지 작은 영역들만이 사용자 입력(예컨대, 타이핑 또는 보이스-투-텍스트)에 대한 응답으로 텍스트를 이용하여 업데이트될 수 있다. 게다가, 배경들은 (애니메이팅되지 않는 한) 정적일 수 있다. 따라서, 그래픽스 및 텍스트는 싱크 측 상에서 용이하게 렌더링될 수 있다.
[0010] 무선 네트워크의 싱크 디바이스에 의한 콘텐츠의 원격 디스플레이를 위해 소스 디바이스에 의해 수행되는 방법이 설명된다. 일 구성에서, 방법은 콘텐츠를 디스플레이할 수 있는 소스 디바이스에서, 싱크 디바이스 상에서 원격으로 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 식별하는 단계를 포함할 수 있다. 하나 또는 그 초과의 렌더링 명령들은 콘텐츠의 적어도 일부분의 디스플레이를 렌더링하기 위한 싱크 디바이스에 의한 실행을 위해 무선 피어-투-피어 연결을 통해 싱크 디바이스에 송신될 수 있다.
[0011] 일부 실시예들에서, 방법은 소스 디바이스에서 무선 피어-투-피어 연결을 통해 싱크 디바이스로부터 데이터를 수신하는 단계를 포함할 수 있다. 이러한 실시예들에서, 하나 또는 그 초과의 렌더링 명령들을 식별하는 단계는, 수신된 데이터에 적어도 부분적으로 기초하여 적어도 하나의 렌더링 명령을 식별하는 단계를 포함할 수 있다. 게다가, 수신된 데이터의 적어도 일부분은 싱크 디바이스에서의 사용자 입력에 대응할 수 있다.
[0012] 일부 실시예들에서, 방법은 소스 디바이스 상에서 애플리케이션을 실행시키는 단계를 포함할 수 있다. 이러한 실시예들에서, 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 애플리케이션의 사용자 인터페이스의 적어도 일부분을 렌더링하도록 구성될 수 있다. 방법은 소스 디바이스에서 무선 피어-투-피어 연결을 통해 싱크 디바이스로부터 데이터를 수신하는 단계를 더 포함할 수 있다. 하나 또는 그 초과의 렌더링 명령들을 식별하는 단계는, 수신된 데이터에 적어도 부분적으로 기초하여 적어도 하나의 렌더링 명령을 식별하는 단계를 포함할 수 있다. 또한, 수신된 데이터의 적어도 일부분은 싱크 디바이스에서의 애플리케이션에 대한 사용자 입력에 대응할 수 있다.
[0013] 일부 실시예들에서, 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는 실행시에 소스 디바이스의 사용자 인터페이스의 적어도 일부분을 렌더링하도록 구성될 수 있다. 이러한 실시예들에서, 방법은 소스 디바이스에서 무선 피어-투-피어 연결을 통해 싱크 디바이스로부터 데이터를 수신하는 단계를 포함할 수 있다. 하나 또는 그 초과의 렌더링 명령들을 식별하는 단계는, 수신된 데이터에 적어도 부분적으로 기초하여 적어도 하나의 렌더링 명령을 식별하는 단계를 포함할 수 있다. 수신된 데이터의 적어도 일부분은 소스 디바이스의 사용자 인터페이스에 따른 싱크 디바이스에서의 사용자 입력에 대응할 수 있다.
[0014] 일부 실시예들에서, 방법은 콘텐츠에서 적어도 하나의 그래픽스 자원을 식별하는 단계를 포함할 수 있다. 적어도 하나의 그래픽스 자원은 압축될 수 있고, 싱크 디바이스에 송신될 수 있다. 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 디스플레이되는 콘텐츠에 적어도 하나의 그래픽스 자원을 포함시키도록 구성될 수 있다.
[0015] 일부 실시예들에서, 방법은 콘텐츠에서 적어도 하나의 비디오 스트림을 식별하는 단계를 포함할 수 있다. 적어도 하나의 비디오 스트림은 압축될 수 있고, 싱크 디바이스에 송신될 수 있다. 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 디스플레이되는 콘텐츠에 적어도 하나의 비디오 스트림을 포함시키도록 구성될 수 있다.
[0016] 무선 네트워크의 싱크 디바이스에 의한 콘텐츠의 원격 디스플레이를 가능하게 하도록 구성된 장치가 설명된다. 일 구성에서, 장치는, 콘텐츠를 디스플레이할 수 있는 소스 디바이스에서, 싱크 디바이스 상에서 원격으로 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 식별하기 위한 수단을 포함할 수 있다. 장치는 또한, 콘텐츠의 적어도 일부분의 디스플레이를 렌더링하기 위한 싱크 디바이스에 의한 실행을 위해 무선 피어-투-피어 연결을 통해 하나 또는 그 초과의 렌더링 명령들을 싱크 디바이스에 송신하기 위한 수단을 포함할 수 있다. 게다가, 장치는 본원에서 설명되는 추가의 기능들 중 하나 또는 그 초과를 수행하기 위한 수단을 포함할 수 있다.
[0017] 무선 네트워크의 싱크 디바이스에 의한 콘텐츠의 원격 디스플레이를 위한 소스 디바이스가 설명된다. 일 구성에서, 소스 디바이스는: 프로세서; 프로세서와 전자 통신하는 메모리; 및 메모리에 저장된 명령들을 포함할 수 있다. 명령들은 프로세서에 의해: 콘텐츠를 디스플레이할 수 있는 소스 디바이스에서, 싱크 디바이스 상에서 원격으로 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 식별하고; 그리고 콘텐츠의 적어도 일부분의 디스플레이를 렌더링하기 위한 싱크 디바이스에 의한 실행을 위해 무선 피어-투-피어 연결을 통해 하나 또는 그 초과의 렌더링 명령들을 싱크 디바이스에 송신하도록 실행가능할 수 있다. 게다가, 명령들은 본원에서 설명되는 추가의 기능들 중 하나 또는 그 초과를 수행하도록 프로세서에 의해 실행가능할 수 있다.
[0018] 무선 네트워크의 소스 디바이스의 콘텐츠의 원격 디스플레이를 위해 싱크 디바이스에 의해 수행되는 방법이 설명된다. 일 구성에서, 방법은: 콘텐츠를 디스플레이할 수 있는 소스 디바이스로부터의 무선 피어-투-피어 연결 다이렉트(wireless peer-to-peer connection direct)를 통해, 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 수신하는 단계; 및 콘텐츠의 적어도 일부분의 디스플레이를 렌더링하기 위해 하나 또는 그 초과의 렌더링 명령들을 실행하는 단계를 포함할 수 있다. 일부 실시예들에서, 방법은 무선 피어-투-피어 연결을 통해 소스 디바이스에 데이터를 송신하는 단계를 포함할 수 있다. 이러한 실시예들에서, 수신되는 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는 송신된 데이터에 적어도 부분적으로 기초할 수 있다. 또한, 방법은 싱크 디바이스에서 사용자 입력을 수신하는 단계를 포함할 수 있다. 이러한 실시예들에서, 소스 디바이스에 송신된 데이터의 적어도 일부분은 수신된 사용자 입력에 대응할 수 있다. 게다가, 방법은 본원에서 설명되는 추가의 기능들 중 하나 또는 그 초과를 수행하는 단계를 포함할 수 있다.
[0019] 설명된 방법들 및 장치들의 적용가능성의 추가의 범위는 다음의 상세한 설명, 청구항들, 및 도면들로부터 명백해질 것이다. 본 설명의 사상 및 범위 내에서 다양한 변경들 및 수정들이 당업자들에게 명백해질 것이기 때문에, 상세한 설명 및 특정 예들은 단지 예시로만 주어진다.
[0020] 본 발명의 성질 및 이점들의 추가의 이해는 다음의 도면들을 참조하여 실현될 수 있다. 첨부된 도면들에서, 유사한 컴포넌트들 또는 특징들은 동일한 참조 라벨을 가질 수 있다. 게다가, 동일한 타입의 다양한 컴포넌트들은 참조 라벨 다음에 대시기호 및 유사한 컴포넌트들 사이를 구별하는 제 2 라벨에 의해 구별될 수 있다. 본 명세서에서 단지 제 1 참조 라벨만이 사용되는 경우, 그 설명은 제 2 참조 라벨과 무관하게 동일한 제 1 참조 라벨을 가진 유사한 컴포넌트들 중 임의의 컴포넌트에 적용가능하다.
[0021] 도 1은 무선 통신 시스템의 블록도를 도시하고;
[0022] 도 2는 다양한 실시예들에 따른 싱크 디바이스를 예시하는 블록도이고;
[0023] 도 3은 싱크 디바이스의 다른 실시예를 예시하는 블록도이고;
[0024] 도 4는 다양한 실시예들에 따른 소스 디바이스를 예시하는 블록도이고;
[0025] 도 5는 소스 디바이스의 다른 실시예를 예시하는 블록도이고;
[0026] 도 6은 소스 디바이스의 추가의 실시예를 예시하는 블록도이고;
[0027] 도 7은 싱크/소스 디바이스의 일 구성의 블록도이고;
[0028] 도 8은 소스 디바이스의 일 실시예의 블록도이고;
[0029] 도 9는 싱크 디바이스의 일 실시예의 블록도이고;
[0030] 도 10은 다양한 실시예들에 따른 소스 디바이스와 싱크 디바이스 사이의 통신들의 흐름을 예시하는 메시지 흐름도이고;
[0031] 도 11은 다양한 실시예들에 따른 소스 디바이스와 싱크 디바이스 사이의 통신들의 다른 흐름을 예시하는 메시지 흐름도이고;
[0032] 도 12는 싱크 디바이스에 의한 콘텐츠의 원격 디스플레이를 위해 소스 디바이스에 의해 수행되는 방법의 실시예를 예시하는 흐름도이고;
[0033] 도 13은 싱크 디바이스에 의한 콘텐츠의 원격 디스플레이를 위해 소스 디바이스에 의해 수행되는 방법의 다른 실시예를 예시하는 흐름도이고;
[0034] 도 14는 싱크 디바이스에 의한 콘텐츠의 원격 디스플레이를 위해 소스 디바이스에 의해 수행되는 방법의 추가의 실시예를 예시하는 흐름도이고;
[0035] 도 15는 소스 디바이스의 콘텐츠의 원격 디스플레이를 위해 싱크 디바이스에 의해 수행되는 방법의 실시예를 예시하는 흐름도이고;
[0036] 도 16은 소스 디바이스의 콘텐츠의 원격 디스플레이를 위해 싱크 디바이스에 의해 수행되는 방법의 다른 실시예를 예시하는 흐름도이고;
[0037] 도 17은 소스 디바이스의 콘텐츠의 원격 디스플레이를 위해 싱크 디바이스에 의해 수행되는 방법의 추가의 실시예를 예시하는 흐름도이고; 그리고
[0038] 도 18은 소스 디바이스의 콘텐츠의 원격 디스플레이를 위해 싱크 디바이스에 의해 수행되는 방법의 또 다른 실시예를 예시하는 흐름도이다.
[0021] 도 1은 무선 통신 시스템의 블록도를 도시하고;
[0022] 도 2는 다양한 실시예들에 따른 싱크 디바이스를 예시하는 블록도이고;
[0023] 도 3은 싱크 디바이스의 다른 실시예를 예시하는 블록도이고;
[0024] 도 4는 다양한 실시예들에 따른 소스 디바이스를 예시하는 블록도이고;
[0025] 도 5는 소스 디바이스의 다른 실시예를 예시하는 블록도이고;
[0026] 도 6은 소스 디바이스의 추가의 실시예를 예시하는 블록도이고;
[0027] 도 7은 싱크/소스 디바이스의 일 구성의 블록도이고;
[0028] 도 8은 소스 디바이스의 일 실시예의 블록도이고;
[0029] 도 9는 싱크 디바이스의 일 실시예의 블록도이고;
[0030] 도 10은 다양한 실시예들에 따른 소스 디바이스와 싱크 디바이스 사이의 통신들의 흐름을 예시하는 메시지 흐름도이고;
[0031] 도 11은 다양한 실시예들에 따른 소스 디바이스와 싱크 디바이스 사이의 통신들의 다른 흐름을 예시하는 메시지 흐름도이고;
[0032] 도 12는 싱크 디바이스에 의한 콘텐츠의 원격 디스플레이를 위해 소스 디바이스에 의해 수행되는 방법의 실시예를 예시하는 흐름도이고;
[0033] 도 13은 싱크 디바이스에 의한 콘텐츠의 원격 디스플레이를 위해 소스 디바이스에 의해 수행되는 방법의 다른 실시예를 예시하는 흐름도이고;
[0034] 도 14는 싱크 디바이스에 의한 콘텐츠의 원격 디스플레이를 위해 소스 디바이스에 의해 수행되는 방법의 추가의 실시예를 예시하는 흐름도이고;
[0035] 도 15는 소스 디바이스의 콘텐츠의 원격 디스플레이를 위해 싱크 디바이스에 의해 수행되는 방법의 실시예를 예시하는 흐름도이고;
[0036] 도 16은 소스 디바이스의 콘텐츠의 원격 디스플레이를 위해 싱크 디바이스에 의해 수행되는 방법의 다른 실시예를 예시하는 흐름도이고;
[0037] 도 17은 소스 디바이스의 콘텐츠의 원격 디스플레이를 위해 싱크 디바이스에 의해 수행되는 방법의 추가의 실시예를 예시하는 흐름도이고; 그리고
[0038] 도 18은 소스 디바이스의 콘텐츠의 원격 디스플레이를 위해 싱크 디바이스에 의해 수행되는 방법의 또 다른 실시예를 예시하는 흐름도이다.
[0039] 무선 피어-투-피어 연결을 통해 연결된 소스 디바이스와 싱크 디바이스 사이의 통신들은 소스 디바이스의 콘텐츠를 싱크 디바이스에서 원격으로 렌더링하기 위해 수행될 수 있다. Wi-Fi 원격 디스플레이는 미라캐스트®(Miracast®), DIAL(Discovery and Launch), DLNA(Digital Living Network Alliance®), 에어플레이(Airplay), 무선HD(WirelessHD), WHDI(Wireless Home Digital Interface), 인텔의 무선 디스플레이(Wi-Di; Wireless Display) 기술 및 UWB(Ultra-wideband) 연결들로서 또한 알려진 Wi-Fi 디스플레이 사양을 포함하지만, 이들로 제한되지 않는다. 이는 휴대용 디바이스 또는 컴퓨터가 콘텐츠(예컨대, 비디오, 오디오, 이미지들 등)를 호환가능한 디바이스에 무선으로 송신하는 것을 허용할 수 있다. 이는 피어-투-피어 무선 링크를 통한 압축된 표준 또는 고화질 비디오의 전달을 가능하게 할 수 있다. 이는 또한 사용자들이 하나의 디바이스로부터의 디스플레이를 다른 디바이스의 디스플레이 상으로 에코(echo)하도록 허용할 수 있다. 원격 디스플레이를 위한 무선 피어-투-피어 연결은 2개의 Wi-Fi 피어-투-피어 디바이스들 사이에서 Wi-Fi 피어-투-피어(P2P) 링크를 활용할 수 있다. 이는 또한, Wi-Fi 다이렉트 연결(Wi-Fi Direct connection)로 지칭될 수 있다. 다른 예에서, 연결은 Wi-Fi TDLS(Tunneled Direct Link Setup) 링크를 이용함으로써 확립될 수 있다.
[0040] [0041] 본원에서 설명되는 바와 같은 모바일 디바이스의 디스플레이의 원격 렌더링은 웹 브라우저 기술과 일반적으로 구별되어야 한다. 웹 브라우저 기술은, 멀티-홉 네트워크를 통해 동작하는 원격 렌더링의 형태인 것으로 고려될 수 있다. 이와 반대로, 본 개시내용의 맥락에서의 원격 렌더링은, 단일 홉 네트워크로서 동작하는 Wi-Fi 다이렉트(포인트-투-포인트 연결)를 수반하는 것으로 이해되어야 한다.
[0042] 일 예에서, 소스 디바이스(예컨대, 스마트폰)는, 사용자가 싱크 디바이스(예컨대, 태블릿 또는 PC) 상에서 디스플레이하기를 원하는 콘텐츠를 수신하거나 또는 다른 방식으로 획득할 수 있다. 소스 디바이스는 콘텐츠에서 렌더링 명령들을 식별할 수 있고, 식별된 렌더링 명령들을 싱크 디바이스에 직접적으로 전송할 수 있다. 소스 디바이스는 또한, 코딩된 비디오 및/또는 코딩된 자원들을 싱크 디바이스에 전송할 수 있다. 싱크 디바이스는 렌더링 명령들을 수신할 수 있고, 그 다음으로, 디스플레이를 위해 콘텐츠를 렌더링하기 위해 명령들을 실행할 수 있다. 싱크 디바이스는 비디오 및/또는 자원들을 디코딩할 수 있고, 싱크 디바이스에서의 출력을 위한 콘텐츠의 디스플레이를 획득하기 위해(예컨대, 디스플레이 스크린 또는 모니터에 대한 프레임 버퍼) 비디오 및/또는 자원들을 렌더링된 콘텐츠와 결합할 수 있다.
[0043] 다음의 설명은 예들을 제공하며, 청구항들에서 설명되는 범위, 적용가능성, 또는 구성을 제한하지는 않는다. 본 개시내용의 사상 및 범위를 벗어남이 없이, 논의되는 엘리먼트들의 배열 및 기능에 있어서 변경들이 이루어질 수 있다. 다양한 실시예들은, 적절한 경우, 다양한 절차들 또는 컴포넌트들을 생략하거나, 대체하거나, 또는 추가할 수 있다. 예컨대, 설명되는 방법들은 설명되는 순서와 상이한 순서로 수행될 수 있으며, 다양한 단계들이 추가되거나, 생략되거나, 또는 결합될 수 있다. 또한, 특정 실시예들에 대해 설명되는 특징들이 다른 실시예들에서 결합될 수 있다. 다음의 설명은 DTX와 불연속 송신이라는 용어들을 상호교환가능하게 사용한다.
[0044] 먼저, 도 1을 참조하면, 시스템(100)은 다양한 소스 디바이스들(115) 및 다양한 싱크 디바이스들(105)을 포함한다. 이들 컴포넌트들 각각은, 직접적으로 또는 간접적으로 서로 통신할 수 있다. 소스 디바이스들(115)의 예들은, 스마트폰들, 셀폰들, 태블릿들, PDA(personal digital assistant)들, 랩톱들, 또는 Wi-Fi 연결을 통해 싱크 디바이스와 통신할 수 있는 임의의 다른 디바이스들을 포함할 수 있지만, 이들로 제한되지 않는다. 싱크 디바이스들(105)의 예들은, 차량-내 인포테인먼트 디바이스(in-vehicle infotainment device)들, TV들, 컴퓨터들, 랩톱들, 프로젝터들, 카메라들, 스마트폰들, 또는 소스 디바이스로부터 수신되는 콘텐츠를 디스플레이할 수 있고 Wi-Fi 연결을 통해 소스 디바이스와 통신할 수 있는 임의의 다른 디바이스들을 포함할 수 있지만, 이들로 제한되지 않는다.
[0045] 일 실시예에서, 소스 디바이스(115-a)는 하나 또는 그 초과의 싱크 디바이스들, 이를테면, 제 1 싱크 디바이스(105-a-1) 및 제 2 싱크 디바이스(105-a-2)에 연결될 수 있다. 소스 디바이스(115-a) 및 하나 또는 그 초과의 싱크 디바이스들(105)은 Wi-Fi 피어-투-피어 연결을 통해 연결될 수 있다. Wi-Fi 연결은 소스 디바이스(115-a)가 링크(110)를 통해 하나 또는 그 초과의 싱크 디바이스들(105)에 데이터를 송신하는 것을 허용할 수 있다. 소스 디바이스(115-a)로부터 송신되는 데이터는 싱크 디바이스(105)에 의해 디스플레이될 수 있다. 이미지들에 추가하여, 소스 디바이스(115-a)는 비디오 및/또는 오디오 스트림들을 링크(110)를 통해 싱크 디바이스들(105)에 송신할 수 있다. 싱크 디바이스들(105)은 수신된 비디오 및/또는 오디오 스트림들을 프로세싱하여, 수신된 비디오 및/또는 오디오 스트림들의 콘텐츠를 디스플레이 및/또는 스피커들을 통해 렌더링할 수 있다.
[0046] 일 구성에서, Wi-Fi 연결은 또한, 싱크 디바이스들(105)이 링크(110)를 통해 데이터를 소스 디바이스(115-a)에 송신하도록 허용할 수 있다. 싱크 디바이스들(105)로부터 송신되는 데이터는, 소스 디바이스(115-a)의 다양한 기능들 및/또는 소스 디바이스(115-a) 상의 하나 또는 그 초과의 애플리케이션들을 제어하기 위해 소스 디바이스(115-a)에 의해 이용될 수 있다. 싱크 디바이스들(105)로부터 송신된 데이터는 또한, 각각의 싱크 디바이스(105)에 의해 디스플레이될 콘텐츠의 렌더링 명령들 및/또는 다른 특징들을 결정(예컨대, 업데이트)하기 위해 소스 디바이스(115-a)에 의해 이용될 수 있다. 예컨대, 싱크 디바이스들(105)은 다양한 입력 제어부들(예컨대, 마우스, 키보드, 터치 스크린, 손잡이(knob)들, 키들, 사용자 인터페이스 버튼들)을 포함할 수 있다. 이들 제어부들은 소스 디바이스(115-a)와 상호작용하기 위해 그리고/또는 소스 디바이스(115-a) 상에 저장된 애플리케이션들을 초기화하고 그 애플리케이션들과 상호작용하기 위해 싱크 디바이스들(105)에서 이용될 수 있다. 일부 실시예들에서, 싱크 디바이스들(105)에서 디스플레이될 콘텐츠는, 각각의 싱크 디바이스들(105)에 대한 소스 디바이스(115-a) 상에서 실행되는 애플리케이션(들)의 사용자 인터페이스 및/또는 소스 디바이스(115-a)의 사용자 인터페이스의 적어도 일부분일 수 있다.
[0047] 소스 디바이스(115-a)와 싱크 디바이스(105) 사이의 링크(110)는 양방향일 수 있다. 위에서 논의된 바와 같이, 원격 디스플레이를 위한 무선 피어-투-피어 연결은 Wi-Fi P2P 링크, Wi-Fi 다이렉트 연결 또는 Wi-Fi TDLS 링크를 활용할 수 있다. 이들 예들의 Wi-Fi 디바이스들은 IEEE 802.11, 및 802-11b, 802.11g, 802.11a, 802.11n, 802.11ac, 802.11ad, 802.11ah 등을 포함한(그러나, 이들로 제한되지 않음) IEEE 802.11의 다양한 버전들로부터의 물리 및 MAC 계층들을 포함한 WLAN 라디오 및 기저대역을 이용할 수 있다.
[0048] 도 1에 예시되지 않지만, 제 1 싱크 디바이스(105-a-1) 및/또는 제 2 싱크 디바이스(105-a-2)는 Wi-Fi 연결(들)을 통해 추가의 소스 디바이스들과 통신할 수 있다. 일 실시예에서, 싱크 디바이스들(105)은 Wi-Fi 피어-투-피어 연결을 통해 다른 제 2 소스 디바이스(도시되지 않음)와 연결될 수 있다. 싱크 디바이스들(105)은 싱크 디바이스들과 소스 디바이스(115-a) 사이의 연결과 동시에 또는 상이한 시간에 연결될 수 있다.
[0049] 이제 도 2를 참조하면, 블록도(200)는 다양한 실시예들에 따른 싱크 디바이스(105-b)를 예시한다. 싱크 디바이스(105-b)는 도 1을 참조하여 설명된 싱크 디바이스들(105) 중 하나의 싱크 디바이스(105)의 하나 또는 그 초과의 양상들의 예일 수 있다. 디바이스(105-b)는 또한 프로세서일 수 있다. 디바이스(105-b)는 싱크 수신기 모듈(205), 렌더링 관리 모듈(210) 및 싱크 송신기 모듈(215)을 포함할 수 있다. 이들 컴포넌트들 각각은 서로 통신할 수 있다.
[0050] 싱크 디바이스(105-b)의 컴포넌트들은 적용가능한 기능들 중 일부 또는 전부를 하드웨어에서 수행하도록 적응된 하나 또는 그 초과의 주문형 집적 회로(ASIC)들을 이용하여 개별적으로 또는 집합적으로 구현될 수 있다. 대안적으로, 기능들은 하나 또는 그 초과의 집적 회로들 상에서 하나 또는 그 초과의 다른 프로세싱 유닛들(또는 코어들)에 의해 수행될 수 있다. 다른 실시예들에서, 다른 타입들의 집적 회로들(예컨대, 구조화된/플랫폼 ASIC들, 필드 프로그램가능 게이트 어레이(FPGA)들 및 다른 반주문형 IC들)이 이용될 수 있고, 이들은 당해 기술분야에서 알려진 임의의 방식으로 프로그래밍될 수 있다. 각각의 유닛의 기능들은 또한 전체적으로 또는 부분적으로, 하나 또는 그 초과의 범용 또는 주문형 프로세서들에 의해 실행되도록 포맷화되어 메모리에 저장되는 명령들로 구현될 수 있다.
[0051] 싱크 수신기 모듈(205)은 도 1을 참조하여 설명된 소스 디바이스들(115)과 같은 하나 또는 그 초과의 소스 디바이스들로부터의 통신들을 하나 또는 그 초과의 신호들(220)을 통해 수신할 수 있다. 본원에서 설명되는 바와 같이, 통신들은 오디오 및/또는 비디오 스트림들, 그래픽스 자원들, 및/또는 렌더링 명령들을 포함할 수 있다. 싱크 수신기 모듈(205)은 싱크 디바이스(105-b)와 하나 또는 그 초과의 소스 디바이스들(115) 사이에 확립된 무선(예컨대, Wi-Fi) 피어-투-피어 연결을 통해 이들 통신들을 수신할 수 있다. 렌더링 관리 모듈(210)은 하나 또는 그 초과의 신호들(225)을 통해, 싱크 디바이스(105-b)에 의해 수신되는 이러한 통신들을 관리할 수 있다. 추가하여, 렌더링 관리 모듈(210)은 하나 또는 그 초과의 신호들(230)을 통해, 싱크 디바이스(105-b)로부터 소스 디바이스(들)로 송신되는 통신들을 관리할 수 있다. 본원에서 설명되는 바와 같이, 이들 통신들은 소스 디바이스(들)(115) 및/또는 소스 디바이스(들)(115) 상에서 실행되는 하나 또는 그 초과의 애플리케이션들과 상호작용하기 위해 싱크 디바이스(105-b)에서의 사용자 입력을 나타내는 데이터를 포함할 수 있다. 싱크 송신기 모듈(215)은 하나 또는 그 초과의 신호들(235)을 통해, 이러한 데이터를 싱크 디바이스(105-b)로부터 Wi-Fi 연결을 통해 송신할 수 있다. 렌더링 관리 모듈(210)에 관한 추가의 세부사항들은 아래에서 설명될 것이다.
[0052] 도 3은 다양한 실시예들에 따른 싱크 디바이스(105-c)를 예시하는 블록도(300)이다. 싱크 디바이스(105-c)는 도 1 및/또는 도 2를 참조하여 설명된 싱크 디바이스들(105) 중 하나의 싱크 디바이스(105)의 하나 또는 그 초과의 양상들의 예일 수 있다. 디바이스(105-c)는 또한 프로세서일 수 있다. 디바이스(105-c)는 싱크 수신기 모듈(205-a), 렌더링 관리 모듈(210-a) 및 싱크 송신기 모듈(215-a)을 포함할 수 있다. 이들 컴포넌트들 각각은 서로 통신할 수 있다.
[0053] 디바이스(105-c)의 컴포넌트들은 적용가능한 기능들 중 일부 또는 전부를 하드웨어에서 수행하도록 적응된 하나 또는 그 초과의 주문형 집적 회로(ASIC)들을 이용하여 개별적으로 또는 집합적으로 구현될 수 있다. 대안적으로, 기능들은 하나 또는 그 초과의 집적 회로들 상에서 하나 또는 그 초과의 다른 프로세싱 유닛들(또는 코어들)에 의해 수행될 수 있다. 다른 실시예들에서, 다른 타입들의 집적 회로들(예컨대, 구조화된/플랫폼 ASIC들, 필드 프로그램가능 게이트 어레이(FPGA)들 및 다른 반주문형 IC들)이 이용될 수 있고, 이들은 당해 기술분야에서 알려진 임의의 방식으로 프로그래밍될 수 있다. 각각의 유닛의 기능들은 또한 전체적으로 또는 부분적으로, 하나 또는 그 초과의 범용 또는 주문형 프로세서들에 의해 실행되도록 포맷화되어 메모리에 저장되는 명령들로 구현될 수 있다.
[0054] 싱크 수신기 모듈(205-a) 및 싱크 송신기 모듈(215-a)은 도 2를 참조하여 이전에 설명된 바와 같이 구성될 수 있다. 렌더링 관리 모듈(210-a)은 렌더링 명령 모듈(305), 그래픽스 자원 모듈(310), 비디오 스트림 모듈(315), 및 입력/출력 모듈(320)을 포함할 수 있다.
[0055] 렌더링 관리 모듈(210-a)은 도 2에 대해 위에서 설명된 다양한 기능들을 수행하도록 구성될 수 있다. 이러한 예에서, 렌더링 명령 모듈(305)은 디스플레이를 위해 콘텐츠를 렌더링하기 위해 싱크 디바이스(105-c)에 의해 수신된 렌더링 명령들을 프로세싱 및/또는 실행할 수 있다. 싱크 디바이스(105-c), 렌더링 관리 모듈(210-a) 또는 렌더링 명령 모듈(305)은 이러한 기능을 수행하기 위한 프로세서를 포함할 수 있다.
[0056] 그래픽스 자원 모듈(310)은 신호(들)(220)를 통해 싱크 디바이스(105-c)에 의해 수신된 그래픽스 자원들을 저장할 수 있고, 예컨대, 싱크 디바이스(105-c)에 의해 수신된 렌더링 명령들 중 하나 또는 그 초과에 따라 디스플레이를 위해 하나 또는 그 초과의 그래픽스 자원들을 제공하도록 구성될 수 있다. 비디오 스트림 모듈(315)은 신호(들)(220)를 통해 싱크 디바이스(105-c)에 의해 수신된 하나 또는 그 초과의 비디오 스트림들을 프로세싱할 수 있다. 예컨대, 비디오 스트림 모듈(315)은 디스플레이를 위해 비디오 스트림(들)을 압축해제 및/또는 디코딩할 수 있다. 일부 실시예들에서, 이는 싱크 디바이스(105-c)에 의해 수신된 렌더링 명령들 중 하나 또는 그 초과에 따라 이루어질 수 있다. 도시되지 않았지만, 렌더링 관리 모듈(210-a)은 또한, 오디오 스트림들을 프로세싱하기 위한 오디오 스트림 모듈을 포함할 수 있거나, 또는 비디오 스트림 모듈(315)은 오디오 및 비디오 스트림들 양쪽 모두를 프로세싱하기 위해 오디오/비디오 스트림 모듈로서 구현될 수 있다. 입력/출력 모듈(320)은 싱크 디바이스(105-c)에서 수신된 사용자 입력을 프로세싱할 수 있고, 사용자 입력에 적어도 부분적으로 기초하여 하나 또는 그 초과의 소스 디바이스들에 대한 출력을 위한 데이터를 생성할 수 있다. 데이터는 소스 디바이스(들)(115) 및/또는 소스 디바이스(들)(115) 상의 애플리케이션과 상호작용하기 위해 싱크 송신기 모듈(215-a)에 의해 신호(들)(235)를 통해 하나 또는 그 초과의 소스 디바이스들(115)에 송신될 수 있다.
[0057] 도 4는 다양한 실시예들에 따른 소스 디바이스(115-b)를 예시하는 블록도(400)이다. 소스 디바이스(115-b)는, 도 1을 참조하여 설명된 소스 디바이스들(115) 중 하나의 소스 디바이스(115)의 하나 또는 그 초과의 양상들의 예일 수 있다. 소스 디바이스(115-b)는 또한 프로세서일 수 있다. 소스 디바이스(115-b)는, 소스 수신기 모듈(405), 통신 관리 모듈(410), 및 소스 송신기 모듈(415)을 포함할 수 있다. 이들 컴포넌트들 각각은 서로 통신할 수 있다.
[0058] 소스 디바이스(115-b)의 컴포넌트들은, 적용가능한 기능들 중 일부 또는 전부를 하드웨어에서 수행하도록 적응된 하나 또는 그 초과의 주문형 집적 회로(ASIC)들을 이용하여 개별적으로 또는 집합적으로 구현될 수 있다. 대안적으로, 기능들은, 하나 또는 그 초과의 집적 회로들 상에서 하나 또는 그 초과의 다른 프로세싱 유닛들(또는 코어들)에 의해 수행될 수 있다. 다른 실시예들에서, 다른 타입들의 집적 회로들(예컨대, 구조화된/플랫폼 ASIC들, 필드 프로그램가능 게이트 어레이(FPGA)들 및 다른 반주문형 IC들)이 이용될 수 있고, 이들은 당해 기술분야에서 알려진 임의의 방식으로 프로그래밍될 수 있다. 각각의 유닛의 기능들은 또한 전체적으로 또는 부분적으로, 하나 또는 그 초과의 범용 또는 주문형 프로세서들에 의해 실행되도록 포맷화되어 메모리에 저장되는 명령들로 구현될 수 있다.
[0059] 소스 수신기 모듈(405)은 하나 또는 그 초과의 신호들(420)을 통해 도 1, 도 2 및/또는 도 3을 참조하여 설명된 싱크 디바이스들(105) 중 하나 또는 그 초과와 같은 싱크 디바이스로부터 통신들을 수신할 수 있다. 수신된 통신들은 임의의 적합한 형태의 데이터일 수 있다. 소스 수신기 모듈(405)은 소스 디바이스(115-b)와 싱크 디바이스(105) 사이에 확립된 무선(예컨대, Wi-Fi) 피어-투-피어 연결을 통해 이들 통신들을 수신할 수 있다. 통신 관리 모듈(410)은 하나 또는 그 초과의 신호들(425)을 통해, 소스 디바이스(115-b)에 의해 수신되는 이러한 통신들을 관리할 수 있다. 추가하여, 통신 관리 모듈(410)은 하나 또는 그 초과의 신호들(430)을 통해, 소스 디바이스(115-b)로부터 싱크 디바이스(들)로 송신되는 통신들을 관리할 수 있다. 게다가, 통신 관리 모듈(410)은 오디오 및/또는 비디오 스트림들, 그래픽스 자원들 및/또는 렌더링 명령들을 하나 또는 그 초과의 싱크 디바이스들(105)에 제공하기 위한 소스 디바이스(115-b)의 양상들을 제어하거나 또는 다른 방식으로 관리하기 위해 데이터를 프로세싱할 수 있다.
[0060] 소스 송신기 모듈(415)은 하나 또는 그 초과의 신호들(435)을 통해 도 1, 도 2 및/또는 도 3을 참조하여 설명된 싱크 디바이스들(105) 중 하나 또는 그 초과와 같은 싱크 디바이스에 통신들을 송신할 수 있다. 송신된 통신들은 그래픽스 자원들, 오디오 및/또는 비디오 스트림들, 및/또는 렌더링 명령들과 같은 데이터를 포함할 수 있다. 소스 송신기 모듈(415)은 소스 디바이스(115-b)와 싱크 디바이스(105) 사이에 확립된 무선(예컨대, Wi-Fi) 피어-투-피어 연결을 통해 이들 통신들을 송신할 수 있다. 통신 관리 모듈(410)에 관한 세부사항들은 아래에서 설명될 것이다.
[0061] 도 5는 다양한 실시예들에 따른 소스 디바이스(115-c)를 예시하는 블록도(500)이다. 소스 디바이스(115-c)는 도 1 및/또는 도 4를 참조하여 설명된 소스 디바이스들(115) 중 하나의 소스 디바이스(115)의 하나 또는 그 초과의 양상들의 예일 수 있다. 디바이스(115-c)는 또한 프로세서일 수 있다. 디바이스(115-c)는 소스 수신기 모듈(405-a), 통신 관리 모듈(410-a), 및 소스 송신기 모듈(415-a)을 포함할 수 있다. 이들 컴포넌트들 각각은 서로 통신할 수 있다.
[0062] 디바이스(115-c)의 컴포넌트들은 적용가능한 기능들 중 일부 또는 전부를 하드웨어에서 수행하도록 적응된 하나 또는 그 초과의 주문형 집적 회로(ASIC)들을 이용하여 개별적으로 또는 집합적으로 구현될 수 있다. 대안적으로, 기능들은 하나 또는 그 초과의 집적 회로들 상에서 하나 또는 그 초과의 다른 프로세싱 유닛들(또는 코어들)에 의해 수행될 수 있다. 다른 실시예들에서, 다른 타입들의 집적 회로들(예컨대, 구조화된/플랫폼 ASIC들, 필드 프로그램가능 게이트 어레이(FPGA)들 및 다른 반주문형 IC들)이 이용될 수 있고, 이들은 당해 기술분야에서 알려진 임의의 방식으로 프로그래밍될 수 있다. 각각의 유닛의 기능들은 또한 전체적으로 또는 부분적으로, 하나 또는 그 초과의 범용 또는 주문형 프로세서들에 의해 실행되도록 포맷화되어 메모리에 저장되는 명령들로 구현될 수 있다.
[0063] 소스 송신기 모듈(415-a)은 도 4에 대해 이전에 설명된 바와 같이 구성될 수 있다. 소스 수신기 모듈(405-a)은 또한 도 4에 대해 이전에 설명된 바와 같이 구성될 수 있다. 통신 관리 모듈(410-a)은 렌더링 명령 모듈(505), 그래픽스 자원 모듈(510), 및 비디오 스트림 모듈(515)을 포함할 수 있다.
[0064] 일 실시예에서, 렌더링 명령 모듈(505)은 렌더링 명령들을 획득하기 위해 디스플레이될 콘텐츠를 프로세싱할 수 있다. 렌더링 명령들은 소스 디바이스(115-c)에서의 디스플레이를 위해 실행될 수 있고, 소스 송신기 모듈(415-a)에 의해 신호(들)(435)를 통해 하나 또는 그 초과의 싱크 디바이스들(105)에 송신될 수 있다. 일 예에서, 통신 관리 모듈(410-a) 또는 렌더링 명령 모듈(505)은 신호(들)(420)를 통해 소스 디바이스(115-c)에 의해 수신된 콘텐츠로부터 렌더링 명령들을 분리하거나 또는 다른 방식으로 그 렌더링 명령들을 획득할 수 있다. 다른 예에서, 통신 관리 모듈(410-a) 또는 렌더링 명령 모듈(505)은 소스 디바이스(115-c)에 의해 생성된 또는 저장된 콘텐츠로부터 렌더링 명령들을 분리하거나 또는 다른 방식으로 그 렌더링 명령들을 획득할 수 있다.
[0065] 일 실시예에서, 그래픽스 자원 모듈(510)은 하나 또는 그 초과의 그래픽스 자원들을 획득하기 위해 디스플레이될 콘텐츠를 프로세싱할 수 있다. 그래픽스 자원(들)은 (예컨대, 하나 또는 그 초과의 실행되는 렌더링 명령들에 따라) 소스 디바이스(115-c)에서의 디스플레이에 포함될 수 있고, 소스 송신기 모듈(415-a)에 의해 신호(들)(435)를 통해 하나 또는 그 초과의 싱크 디바이스들(105)에 송신될 수 있다. 일 예에서, 통신 관리 모듈(410-a) 또는 그래픽스 자원 모듈(510)은 신호(들)(420)를 통해 소스 디바이스(115-c)에 의해 수신된 콘텐츠로부터 그래픽스 자원들을 분리하거나 또는 다른 방식으로 그 그래픽스 자원들을 획득할 수 있다. 다른 예에서, 통신 관리 모듈(410-a) 또는 그래픽스 자원 모듈(510)은 소스 디바이스(115-c)에 의해 생성된 또는 저장된 콘텐츠로부터 그래픽스 자원들을 분리하거나 또는 다른 방식으로 그 그래픽스 자원들을 획득할 수 있다.
[0066] 일 실시예에서, 비디오 스트림 모듈(515)은 하나 또는 그 초과의 비디오 스트림들을 획득하기 위해 디스플레이될 콘텐츠를 프로세싱할 수 있다. 비디오 스트림(들)은 (예컨대, 하나 또는 그 초과의 실행되는 렌더링 명령들에 따라) 소스 디바이스(115-c)에서의 디스플레이에 포함될 수 있고, 소스 송신기 모듈(415-a)에 의해 신호(들)(435)를 통해 하나 또는 그 초과의 싱크 디바이스들(105)에 송신될 수 있다. 일 예에서, 통신 관리 모듈(410-a) 또는 비디오 스트림 모듈(515)은 신호(들)(420)를 통해 소스 디바이스(115-c)에 의해 수신된 콘텐츠로부터 비디오 스트림들을 분리하거나 또는 다른 방식으로 그 비디오 스트림들을 획득할 수 있다. 다른 예에서, 통신 관리 모듈(410-a) 또는 비디오 스트림 모듈(515)은 소스 디바이스(115-c)에 의해 생성된 또는 저장된 콘텐츠로부터 비디오 스트림들을 분리하거나 또는 다른 방식으로 그 비디오 스트림들을 획득할 수 있다. 도시되지 않았지만, 통신 관리 모듈(410-a)은 또한 오디오 스트림들을 프로세싱하기 위한 오디오 스트림 모듈을 포함할 수 있거나, 또는 비디오 스트림 모듈(515)은 오디오 및 비디오 스트림들 양쪽 모두를 프로세싱하기 위해 오디오/비디오 스트림 모듈로서 구현될 수 있다.
[0067] 소스 수신기 모듈(405-a)은 소스 디바이스(115-c)와 싱크 디바이스(들)(105) 사이에 확립된 무선(예컨대, Wi-Fi) 피어-투-피어 연결을 통해 싱크 디바이스(들)(105)로부터 데이터를 수신할 수 있다. 통신 관리 모듈(410-a)은 비디오 스트림들, 그래픽스 자원들, 및/또는 렌더링 명령들을 하나 또는 그 초과의 싱크 디바이스들(105)에 각각 제공하기 위한 비디오 스트림 모듈(515), 그래픽스 자원 모듈(510), 및 렌더링 명령 모듈(505)을 제어하거나 또는 다른 방식으로 관리하기 위해, 수신된 데이터를 프로세싱할 수 있다.
[0068] 도 6은 다양한 실시예들에 따른 소스 디바이스(115-d)를 예시하는 블록도(600)이다. 소스 디바이스(115-d)는 도 1, 도 4, 및/또는 도 5를 참조하여 설명된 소스 디바이스들(115) 중 하나의 소스 디바이스(115)의 하나 또는 그 초과의 양상들의 예일 수 있다. 소스 디바이스(115-d)는 또한 프로세서일 수 있다. 소스 디바이스(115-d)는 소스 수신기 모듈(405-b), 통신 관리 모듈(410-b), 및 소스 송신기 모듈(415-b)을 포함할 수 있다. 이들 컴포넌트들 각각은 서로 통신할 수 있다.
[0069] 디바이스(115-d)의 컴포넌트들은 적용가능한 기능들 중 일부 또는 전부를 하드웨어에서 수행하도록 적응된 하나 또는 그 초과의 주문형 집적 회로(ASIC)들을 이용하여 개별적으로 또는 집합적으로 구현될 수 있다. 대안적으로, 기능들은 하나 또는 그 초과의 집적 회로들 상에서 하나 또는 그 초과의 다른 프로세싱 유닛들(또는 코어들)에 의해 수행될 수 있다. 다른 실시예들에서, 다른 타입들의 집적 회로들(예컨대, 구조화된/플랫폼 ASIC들, 필드 프로그램가능 게이트 어레이(FPGA)들 및 다른 반주문형 IC들)이 이용될 수 있고, 이들은 당해 기술분야에서 알려진 임의의 방식으로 프로그래밍될 수 있다. 각각의 유닛의 기능들은 또한 전체적으로 또는 부분적으로, 하나 또는 그 초과의 범용 또는 주문형 프로세서들에 의해 실행되도록 포맷화되어 메모리에 저장되는 명령들로 구현될 수 있다.
[0070] 소스 수신기 모듈(405-b) 및 소스 송신기 모듈(415-b)은 도 4 및/또는 도 5에 대해 이전에 설명된 바와 같이 구성될 수 있다. 일 구성에서, 통신 관리 모듈(410-b)은 애플리케이션 초기화 검출 모듈(605) 및/또는 애플리케이션 인터페이스 모듈(610)을 포함할 수 있다.
[0071] 일 실시예에서, 애플리케이션 초기화 검출 모듈(605)은 애플리케이션이 소스 디바이스(115-d) 상에서 초기화 또는 론칭됨을 검출하거나 또는 다른 방식으로 결정할 수 있다. 애플리케이션의 초기화/론칭은 소스 디바이스(115-d)에서 수신된 사용자 입력에 기초할 수 있다. 대안적으로 또는 추가하여, 애플리케이션의 초기화/론칭은 싱크 디바이스(들)(105)에서 수신된 사용자 입력 및 신호(들)(420)를 통해 소스 수신기 모듈(405-b)에 의해 수신된 이러한 사용자 입력을 나타내는 데이터에 기초할 수 있다. 소스 수신기 모듈(405-b)은 소스 디바이스(115-d)와 싱크 디바이스(들)(105) 사이에 확립된 무선(예컨대, Wi-Fi) 피어-투-피어 연결을 통해 이 데이터를 수신할 수 있다.
[0072] 일 실시예에서, 애플리케이션 인터페이스 모듈(610)은 소스 디바이스(115-d) 상에서 하나 또는 그 초과의 초기화된(예컨대, 실행되는) 애플리케이션들에 대한 사용자 인터페이스의 디스플레이를 제공하기 위해 비디오 및/또는 오디오 스트림들, 그래픽스 자원들, 및/또는 렌더링 명령들을 식별하거나 또는 다른 방식으로 결정할 수 있다. 대안적으로 또는 추가하여, 애플리케이션 인터페이스 모듈(610)은 싱크 디바이스(들)(105) 상에서 하나 또는 그 초과의 초기화된 애플리케이션들에 대한 인터페이스의 적어도 일부분의 디스플레이를 렌더링하기 위해 싱크 디바이스(들)에 송신될 이러한 데이터를 식별하거나 또는 다른 방식으로 결정할 수 있다. 소스 송신기 모듈(415-b)은 신호(들)(435)를 통해, Wi-Fi 연결을 통해 이러한 데이터를 송신할 수 있다.
[0073] 애플리케이션 인터페이스 모듈(610)은 또한, 싱크 디바이스(들)(105) 상에서의 하나 또는 그 초과의 애플리케이션 사용자 인터페이스들의 디스플레이에 따라 싱크 디바이스(들)(105)에서 수신된 사용자 입력을 나타내는 데이터를 프로세싱할 수 있다. 소스 수신기 모듈(405-b)은 이러한 데이터를 Wi-Fi 연결을 통해 수신할 수 있다. 애플리케이션 인터페이스 모듈(610)은 데이터를 이용하여 하나 또는 그 초과의 애플리케이션들에 명령들을 제공할 수 있다. 이러한 명령들은 소스 디바이스(115-d) 상의 애플리케이션(들)을 제어할 수 있고, 원격 디스플레이를 위해 싱크 디바이스(들)(105)에 송신되는 데이터를 또한 업데이트할 수 있다.
[0074] 도 7은 다양한 실시예들에 따른 디바이스(705)를 예시하는 블록도(700)이다. 디바이스(705)는 디바이스(705)의 실제 사용에 따라, 본원에서 설명된 바와 같은 소스 디바이스 또는 싱크 디바이스로서 동작할 수 있다. 결과적으로, 디바이스(705)는 다른 디바이스에 의한 원격 렌더링을 위해 콘텐츠를 제공하도록 그리고/또는 다른 디바이스로부터의 콘텐츠를 렌더링하기 위한 데이터를 수신하고 수신된 데이터를 이용하여 콘텐츠를 원격으로 렌더링하도록 (예컨대, Wi-Fi 피어-투-피어 연결을 통해) 다른 무선 디바이스들과의 Wi-Fi 다이렉트 통신들에 참여하도록 구성될 수 있다. 따라서, 디바이스(705)는 도 1, 도 2, 도 3, 도 4, 도 5 및/또는 도 6 각각의 싱크 디바이스(105) 및/또는 소스 디바이스(115)일 수 있다. 디바이스(705)는 차량-내 인포테인먼트 디바이스들, 디지털 텔레비전들, 개인용 컴퓨터들(예컨대, 랩톱 컴퓨터들, 넷북 컴퓨터들, 태블릿 컴퓨터들 등), 셀룰러 전화들, PDA들, DVR(digital video recorder)들, 인터넷 어플라이언스들, 게임 콘솔들, e-리더들 등과 같은 다양한 구성들 중 임의의 구성을 가질 수 있다. 디바이스(705)는, 모바일 동작을 용이하게 하기 위해 소형 배터리와 같은 내부 전원(도시되지 않음)을 가질 수 있다.
[0075] 디바이스(705)는 안테나들(710), 트랜시버 모듈(715), 메모리(720), 및 프로세서 모듈(730)을 포함하고, 이들 각각은 (예컨대, 하나 또는 그 초과의 버스들을 통해) 서로 직접적으로 또는 간접적으로 통신할 수 있다. 위에서 설명된 바와 같이, 트랜시버 모듈(715)은, 안테나들(710)을 통해 양방향으로 통신하도록 구성된다. 예컨대, 트랜시버 모듈(715)은 도 1, 도 2, 도 3, 도 4, 도 5 및/또는 도 6의 다른 디바이스들(105/115)과 양방향으로 통신하도록 구성될 수 있다. 트랜시버 모듈(715)은 이전에 설명된 바와 같이 도 2, 도 3, 도 4, 도 5 및/또는 도 6의 수신기 모듈(205/405) 및 송신기 모듈(215/415)을 포함할 수 있다. 일 실시예에서, 트랜시버 모듈(715)은, 패킷들을 변조하고 그 변조된 패킷들을 송신을 위해 안테나들(710)에 제공하고 그리고 안테나들(710)로부터 수신된 패킷들을 복조하도록 구성된 모뎀을 더 포함할 수 있다. 디바이스(705)가 단일 안테나를 포함할 수 있지만, 디바이스(705)는 통상적으로, 다수의 링크들에 대한 다수의 안테나들(710)을 포함할 것이다.
[0076] 메모리(720)는 랜덤 액세스 메모리(RAM) 및 판독-전용 메모리(ROM)를 포함할 수 있다. 메모리(720)는 명령들을 포함하는 컴퓨터-판독가능, 컴퓨터-실행가능 소프트웨어 코드(725)를 저장할 수 있고, 이 명령들은, 실행될 때, 프로세서 모듈(730)로 하여금 본원에서 설명되는 다양한 기능들(예컨대, 오디오 및/또는 비디오 스트림들, 그래픽스 자원들, 및/또는 렌더링 명령들을 식별/결정/획득하는 것, 수신하는 것, 송신하는 것 등)을 수행하게 하도록 구성된다. 대안적으로, 소프트웨어(725)는 프로세서 모듈(730)에 의해 직접적으로 실행가능한 것이 아니라, (예컨대, 컴파일링 및 실행될 때) 컴퓨터로 하여금 본원에서 설명되는 기능들을 수행하게 하도록 구성될 수 있다.
[0077] 프로세서 모듈(730)은 지능형 하드웨어 디바이스, 예컨대, 중앙 프로세싱 유닛(CPU), 마이크로제어기, 주문형 집적 회로(ASIC) 등을 포함할 수 있다. 프로세서 모듈(730)은, 마이크로폰을 통해 오디오를 수신하고, 이 오디오를 수신된 오디오를 대표하는 패킷들(예컨대, 길이가 30ms임)로 변환하고, 오디오 패킷들을 트랜시버 모듈(715)에 제공하고, 그리고 사용자가 말을 하고 있는지의 여부에 대한 표시들을 제공하도록 구성된 스피치 인코더(도시되지 않음)를 포함할 수 있다. 대안적으로, 인코더는 단지 패킷들을 트랜시버 모듈(715)에 제공할 수 있으며, 그 패킷 자체의 프로비전 또는 보류/억제가, 사용자가 말을 하고 있는지의 여부에 대한 표시를 제공한다.
[0078] 도 7의 아키텍처에 따르면, 디바이스(705)는 렌더링 관리 모듈(210-c), 통신 관리 모듈(410-c) 및 상태 모듈(735)을 더 포함할 수 있다. 렌더링 관리 모듈(210-c)은 버스를 통해 디바이스(705)의 다른 컴포넌트들 중 일부 또는 전부와 통신하는 디바이스(705)의 컴포넌트일 수 있다. 대안적으로, 렌더링 관리 모듈(210-c)의 기능은 트랜시버 모듈(715)의 컴포넌트로서, 컴퓨터 프로그램 물건으로서, 그리고/또는 프로세서 모듈(730)의 하나 또는 그 초과의 제어기 엘리먼트들로서 구현될 수 있다. 마찬가지로, 통신 관리 모듈(410-c)은 버스를 통해 디바이스(705)의 다른 컴포넌트들 중 일부 또는 전부와 통신하는 디바이스(705)의 컴포넌트일 수 있다. 대안적으로, 통신 관리 모듈(410-c)의 기능은 트랜시버 모듈(715)의 컴포넌트로서, 컴퓨터 프로그램 물건으로서, 그리고/또는 프로세서 모듈(730)의 하나 또는 그 초과의 제어기 엘리먼트들로서 구현될 수 있다.
[0079] 상태 모듈(735)은 현재 디바이스 상태를 반영 및 제어할 수 있다. 디바이스(705)는 하나 또는 그 초과의 입력/출력(I/O) 디바이스들(740)을 더 포함할 수 있다. 이들은 키보드들, 터치 스크린들, 마우스들, 마이크로폰들, 스피커들, 디스플레이 등을 포함할 수 있다. I/O 디바이스(들)(740)는 디바이스(705)를 위한 종래의 입력/출력에 추가하여, 본원에서 설명되는 다양한 기능들을 제공할 수 있다.
[0080] 디바이스(705)의 컴포넌트들은 적용가능한 기능들 중 일부 또는 전부를 하드웨어에서 수행하도록 적응된 하나 또는 그 초과의 주문형 집적 회로(ASIC)들을 이용하여 개별적으로 또는 집합적으로 구현될 수 있다. 대안적으로, 기능들은 하나 또는 그 초과의 집적 회로들 상에서 하나 또는 그 초과의 다른 프로세싱 유닛들(또는 코어들)에 의해 수행될 수 있다. 다른 실시예들에서, 다른 타입들의 집적 회로들(예컨대, 구조화된/플랫폼 ASIC들, 필드 프로그램가능 게이트 어레이(FPGA)들 및 다른 반주문형 IC들)이 이용될 수 있고, 이들은 당해 기술분야에서 알려진 임의의 방식으로 프로그래밍될 수 있다. 각각의 유닛의 기능들은 또한 전체적으로 또는 부분적으로, 하나 또는 그 초과의 범용 또는 주문형 프로세서들에 의해 실행되도록 포맷화되어 메모리에 구현되는 명령들로 구현될 수 있다. 언급된 모듈들 각각은 본원에서 설명된 바와 같은 디바이스(705)의 동작과 관련된 하나 또는 그 초과의 기능들을 수행하기 위한 수단일 수 있다.
[0081] 도 8은 소스 디바이스(115-f)의 블록도(800)이다. 소스 디바이스(115-f)는 도 1, 도 4, 도 5, 도 6 및/또는 도 7의 소스 디바이스(115)일 수 있다. 소스 디바이스(115-f)는 개인용 컴퓨터들(예컨대, 랩톱 컴퓨터들, 넷북 컴퓨터들, 태블릿 컴퓨터들 등), 셀룰러 전화들, PDA들, DVR(digital video recorder)들, 인터넷 어플라이언스들, 게임 콘솔들, e-리더들 등과 같은 다양한 구성들 중 임의의 구성을 가질 수 있다. 소스 디바이스(115-f)는 모바일 동작을 용이하게 하기 위해 소형 배터리와 같은 내부 전원(도시되지 않음)을 가질 수 있다.
[0082] 소스 디바이스(115-f)는 안테나들(805), Wi-Fi 소켓(810)(예컨대, 트랜시버), 데이터 프로세서(815), 렌더링 명령 모듈(820), A/V 스트림 모듈(825) 및 그래픽스 자원 모듈(830)을 포함할 수 있고, 이들 각각은 (예컨대, 하나 또는 그 초과의 버스들을 통해) 서로 직접적으로 또는 간접적으로 각각 통신할 수 있다. Wi-Fi 소켓(810)은 위에서 설명된 바와 같이, 안테나들(805)을 통해 양방향으로 통신하도록 구성될 수 있다. 예컨대, Wi-Fi 소켓(810)은 도 1, 도 2, 도 3 및/또는 도 7의 싱크 디바이스들(105)과 양방향으로 통신하도록 구성될 수 있다. Wi-Fi 소켓(810)은 또한, 이전에 설명된 바와 같이, 도 4, 도 5 및/또는 도 6의 소스 수신기 모듈(405) 및 소스 송신기 모듈(415)을 포함할 수 있다. Wi-Fi 소켓(810)은 패킷들을 변조하여 변조된 패킷들을 송신을 위해 안테나들(805)에 제공하고, 안테나들(805)로부터 수신된 패킷들을 복조하도록 구성된 모뎀을 포함할 수 있다. 소스 디바이스(115-f)는 단일 안테나를 포함할 수 있지만, 소스 디바이스(115-f)는 통상적으로 다수의 링크들에 대한 다수의 안테나들(805)을 포함할 것이다.
[0083] 데이터 프로세서(815)는 지능형 하드웨어 디바이스, 예컨대, 중앙 프로세싱 유닛(CPU), 마이크로제어기, 주문형 집적 회로(ASIC) 등을 포함할 수 있다. 데이터 프로세서(815)는 마이크로폰을 통해 오디오를 수신하고, 오디오를 수신된 오디오를 대표하는 패킷들(예컨대, 길이가 30ms임)로 변환하고, 오디오 패킷들을 Wi-Fi 소켓(810)에 제공하고, 그리고 사용자가 말을 하고 있는지의 여부에 대한 표시들을 제공하도록 구성된 스피치 인코더(도시되지 않음)를 포함할 수 있다. 대안적으로, 인코더는 단지 패킷들을 Wi-Fi 소켓(810)에 제공할 수 있고, 그 패킷 자체의 프로비전 또는 보류/억제가, 사용자가 말을 하고 있는지의 여부에 대한 표시를 제공한다.
[0084] 도 8에 예시된 바와 같이, 데이터 프로세서(815)는 하나 또는 그 초과의 신호들(870)을 통해 외부 소스(예컨대, 인터넷)로부터 디스플레이 데이터(835)를 수신할 수 있다. 대안적으로 또는 추가하여, 데이터 프로세서(815)는 소스 디바이스(115-f)(예컨대, 운영 체제, 애플리케이션 등)로부터 디스플레이 데이터를 수신할 수 있다. 데이터 프로세서(815)는 하나 또는 그 초과의 렌더링 명령들, 하나 또는 그 초과의 오디오 및/또는 비디오 스트림들 및 하나 또는 그 초과의 그래픽스 자원들을 획득하기 위해, 수신된 디스플레이 데이터(835)를 프로세싱할 수 있다. 렌더링 명령(들), 오디오 및/또는 비디오 스트림(들) 및 그래픽스 자원(들)은 하나 또는 그 초과의 신호들(875)을 통해 렌더링 명령 모듈(820)에, 하나 또는 그 초과의 신호들(880)을 통해 A/V 스트림 모듈(825)에, 그리고 하나 또는 그 초과의 신호들(885)을 통해 그래픽스 자원 모듈(830)에 각각 제공될 수 있다. 렌더링 명령 모듈(820), A/V 스트림 모듈(825) 및 그래픽스 자원 모듈(830)은 본원에서 설명된 바와 같이 각각의 데이터를 프로세싱할 수 있다.
[0085] 도 8의 아키텍처에 따르면, 소스 디바이스(115-f)는 렌더링 엔진 또는 그래픽스 프로세싱 유닛(GPU)(840), 디스플레이 합성 엔진(display composition engine)(845), 프레임 버퍼(850) 및 소스 디스플레이(855)를 더 포함할 수 있다. 렌더링 엔진/GPU(840)는 하나 또는 그 초과의 신호들(890)을 통해 렌더링 명령 모듈(820)로부터 수신된 렌더링 명령(들)을 이용하여 디스플레이를 위해 콘텐츠를 렌더링할 수 있다. 디스플레이 합성 엔진(845)은 하나 또는 그 초과의 신호들(895)을 통해 GPU(840)로부터 수신된 렌더링된 콘텐츠를, 하나 또는 그 초과의 신호들(802)을 통해 A/V 스트림 모듈(825)로부터 수신된 비디오 스트림(들) 및 하나 또는 그 초과의 신호들(804)을 통해 그래픽스 자원 모듈(830)로부터 수신된 그래픽스 자원(들)과 결합할 수 있다. 이 결합된 콘텐츠는 하나 또는 그 초과의 신호들(806)을 통해 프레임 버퍼(850)에 제공될 수 있으며, 프레임 버퍼(850)는 디스플레이를 위해 콘텐츠를 하나 또는 그 초과의 신호들(808)을 통해 소스 디스플레이(855)에 전송할 수 있다.
[0086] 소스 디바이스(115-f)는 송신을 위해 하나 또는 그 초과의 신호들(810)을 통해 A/V 스트림 모듈(825)로부터 수신된 비디오 스트림(들) 및 하나 또는 그 초과의 신호들(812)을 통해 그래픽스 자원 모듈(830)로부터 수신된 그래픽스 자원(들)을 프로세싱(예컨대, 압축 및/또는 인코딩)하기 위한 압축 모듈(860)(및/또는 코딩 모듈, 도시되지 않음)을 더 포함할 수 있다. 소스 디바이스(115-f)는 또한, 하나 또는 그 초과의 신호들(814)을 통해 렌더링 명령 모듈(820)로부터 수신된 렌더링 명령(들)을, 하나 또는 그 초과의 신호들(816)을 통해 수신된 프로세싱된 비디오 스트림(들) 및/또는 그래픽스 자원(들)과 결합하기 위한 멀티플렉서(865)를 포함할 수 있다. 멀티플렉서(865)는 그 결합된 데이터를 하나 또는 그 초과의 신호들(818)을 통해 Wi-Fi 소켓(810)에 제공할 수 있고, Wi-Fi 소켓(810)은 싱크 디바이스(들)로의 송신을 위해 데이터를 하나 또는 그 초과의 신호들(820)을 통해 안테나들(805)에 전송할 수 있다.
[0087] 소스 디바이스(115-f)의 컴포넌트들은 적용가능한 기능들 중 일부 또는 전부를 하드웨어에서 수행하도록 적응된 하나 또는 그 초과의 주문형 집적 회로(ASIC)들을 이용하여 개별적으로 또는 집합적으로 구현될 수 있다. 대안적으로, 기능들은 하나 또는 그 초과의 집적 회로들 상에서 하나 또는 그 초과의 다른 프로세싱 유닛들(또는 코어들)에 의해 수행될 수 있다. 다른 실시예들에서, 다른 타입들의 집적 회로들(예컨대, 구조화된/플랫폼 ASIC들, 필드 프로그램가능 게이트 어레이(FPGA)들 및 다른 반주문형 IC들)이 이용될 수 있고, 이들은 당해 기술분야에서 알려진 임의의 방식으로 프로그래밍될 수 있다. 각각의 유닛의 기능들은 또한 전체적으로 또는 부분적으로, 하나 또는 그 초과의 범용 또는 주문형 프로세서들에 의해 실행되도록 포맷화되어 메모리에 구현되는 명령들로 구현될 수 있다. 언급된 모듈들 각각은 소스 디바이스(115-f)의 동작과 관련된 하나 또는 그 초과의 기능들을 수행하기 위한 수단일 수 있다.
[0088] 도 9는 싱크 디바이스(105-e)의 블록도(900)이다. 싱크 디바이스(105-e)는 도 1, 도 2, 도 3 및/또는 도 7의 싱크 디바이스(105)일 수 있다. 싱크 디바이스(105-e)는 개인용 컴퓨터들(예컨대, 랩톱 컴퓨터들, 넷북 컴퓨터들, 태블릿 컴퓨터들 등), 셀룰러 전화들, PDA들, DVR(digital video recorder)들, 인터넷 어플라이언스들, 게임 콘솔들, e-리더들 등과 같은 다양한 구성들 중 임의의 구성을 가질 수 있다. 싱크 디바이스(105-e)는 모바일 동작을 용이하게 하기 위해 소형 배터리와 같은 내부 전원(도시되지 않음)을 가질 수 있다.
[0089] 싱크 디바이스(105-e)는 안테나들(905), Wi-Fi 소켓(910)(예컨대, 트랜시버), 디멀티플렉서(915), 렌더링 명령 모듈(920), A/V 디코더(925) 및 자원 디코더(930)를 포함할 수 있고, 이들 각각은 (예컨대, 하나 또는 그 초과의 버스들을 통해) 서로 직접적으로 또는 간접적으로 각각 통신할 수 있다. Wi-Fi 소켓(910)은 위에서 설명된 바와 같이, 안테나들(905)을 통해 양방향으로 통신하도록 구성될 수 있다. 예컨대, Wi-Fi 소켓(910)은 도 1, 도 4, 도 5, 도 6 및/또는 도 7의 소스 디바이스들(115)과 양방향으로 통신하도록 구성될 수 있다. Wi-Fi 소켓(910)은 또한, 이전에 설명된 바와 같이, 도 2 및/또는 도 3의 싱크 수신기 모듈(205) 및 싱크 송신기 모듈(215)을 포함할 수 있다. Wi-Fi 소켓(910)은 패킷들을 변조하여 변조된 패킷들을 송신을 위해 안테나들(905)에 제공하고, 안테나들(905)로부터 수신된 패킷들을 복조하도록 구성된 모뎀을 포함할 수 있다. 싱크 디바이스(105-e)는 단일 안테나를 포함할 수 있지만, 싱크 디바이스(105-e)는 통상적으로 다수의 링크들에 대한 다수의 안테나들(905)을 포함할 것이다.
[0090] 안테나(들)(905)는 소스 디바이스(들)(115)로부터 데이터를 수신하고, 수신된 데이터를 하나 또는 그 초과의 신호들(955)을 통해 WiFi 소켓(910)에 제공할 수 있다. WiFi 소켓(910)은 차례로, 하나 또는 그 초과의 신호들(960)을 통해 데이터를 디멀티플렉서(915)에 제공할 수 있다. 디멀티플렉서(915)는 소스 디바이스(들)(115)로부터 수신된 데이터를 하나 또는 그 초과의 렌더링 명령들, 하나 또는 그 초과의 오디오 및/또는 비디오 스트림들 및 하나 또는 그 초과의 그래픽스 자원들로 분리(예컨대, 디멀티플렉싱)할 수 있다. 렌더링 명령(들), 오디오 및/또는 비디오 스트림(들) 및 그래픽스 자원(들)은 하나 또는 그 초과의 신호들(965)을 통해 렌더링 명령 모듈(920)에, 하나 또는 그 초과의 신호들(970)을 통해 A/V 디코더(925)에, 그리고 하나 또는 그 초과의 신호들(975)을 통해 자원 디코더(930)에 각각 제공될 수 있다. 렌더링 명령 모듈(920), A/V 디코더(925) 및 자원 디코더(930)는 본원에서 설명되는 바와 같은 각각의 데이터를 프로세싱(예컨대, 디코딩, 압축해제 등)할 수 있다.
[0091] 도 9의 아키텍처에 따르면, 싱크 디바이스(105-e)는 렌더링 엔진 또는 그래픽스 프로세싱 유닛(GPU)(935), 디스플레이 합성 엔진(940), 프레임 버퍼(945) 및 싱크 디스플레이(950)를 더 포함할 수 있다. 렌더링 엔진/GPU(935)는 하나 또는 그 초과의 신호들(980)을 통해 렌더링 명령 모듈(920)로부터 수신된 렌더링 명령(들)을 이용하여 디스플레이를 위해 콘텐츠를 렌더링할 수 있다. 디스플레이 합성 엔진(940)은 하나 또는 그 초과의 신호들(985)을 통해 GPU(935)로부터 수신된 렌더링된 콘텐츠를, 하나 또는 그 초과의 신호들(990)을 통해 A/V 디코더(925)로부터 수신된 비디오 스트림(들) 및 하나 또는 그 초과의 신호들(995)을 통해 자원 디코더(930)로부터 수신된 그래픽스 자원(들)과 결합할 수 있다. 이 결합된 콘텐츠는 하나 또는 그 초과의 신호들(902)을 통해 프레임 버퍼(945)에 제공될 수 있으며, 프레임 버퍼(945)는 디스플레이를 위해 콘텐츠를 하나 또는 그 초과의 신호들(904)을 통해 싱크 디스플레이(950)에 전송할 수 있다.
[0092] 도시되지 않았지만, 싱크 디바이스(105-e)는 싱크 디바이스(105-e)에서 사용자 입력을 수신하기 위한 하나 또는 그 초과의 입력 디바이스들을 포함할 수 있다. 싱크 디바이스(105-e)는 본원에서 설명되는 바와 같이, 소스 디바이스(들)로의 송신을 위한 데이터를 생성하기 위해 수신기 사용자 입력을 사용할 수 있다.
[0093] 싱크 디바이스(105-e)의 컴포넌트들은 적용가능한 기능들 중 일부 또는 전부를 하드웨어에서 수행하도록 적응된 하나 또는 그 초과의 주문형 집적 회로(ASIC)들을 이용하여 개별적으로 또는 집합적으로 구현될 수 있다. 대안적으로, 기능들은 하나 또는 그 초과의 집적 회로들 상에서 하나 또는 그 초과의 다른 프로세싱 유닛들(또는 코어들)에 의해 수행될 수 있다. 다른 실시예들에서, 다른 타입들의 집적 회로들(예컨대, 구조화된/플랫폼 ASIC들, 필드 프로그램가능 게이트 어레이(FPGA)들 및 다른 반주문형 IC들)이 이용될 수 있고, 이들은 당해 기술분야에서 알려진 임의의 방식으로 프로그래밍될 수 있다. 각각의 유닛의 기능들은 또한 전체적으로 또는 부분적으로, 하나 또는 그 초과의 범용 또는 주문형 프로세서들에 의해 실행되도록 포맷화되어 메모리에 구현되는 명령들로 구현될 수 있다. 언급된 모듈들 각각은 싱크 디바이스(105-e)의 동작과 관련된 하나 또는 그 초과의 기능들을 수행하기 위한 수단일 수 있다.
[0094] 도 10은 소스 디바이스(115-g)와 싱크 디바이스(105-f) 사이의 통신들의 일 예를 예시하는 메시지 흐름도(1000)이다. 소스 디바이스(115-g)는 도 1, 도 4, 도 5, 도 6, 도 7 및/또는 도 8의 디바이스들(115)의 예일 수 있다. 싱크 디바이스(105-f)는 도 1, 도 2, 도 3, 도 4, 도 7 및/또는 도 9에서 예시된 싱크 디바이스들(105)의 예일 수 있다.
[0095] 일 구성에서, 소스 디바이스(115-g)와 싱크 디바이스(105-f)는 Wi-Fi 피어-투-피어 연결을 통해 연결될 수 있다. 소스 디바이스(115-g)는 하나 또는 그 초과의 렌더링 명령들(1005)을 싱크 디바이스(105-f)에 전송할 수 있다. 싱크 디바이스(105-f)는 수신된 렌더링 명령(들)을 이용하여 콘텐츠의 디스플레이(1010)를 렌더링할 수 있다.
[0096] 싱크 디바이스(105-f)는 데이터(1015)를 소스 디바이스(115-g)에 전송할 수 있다. 소스 디바이스(115-g)는 수신된 데이터(1015)를 이용하여 소스 디바이스(115-g)에 의해 결정된, 업데이트된 또는 새로운 렌더링 명령(들)(1020)을 전송할 수 있다. 그 다음으로, 싱크 디바이스(105-f)는 수신된 업데이트된/새로운 렌더링 명령(들)(1020)을 이용하여 콘텐츠의 디스플레이(1025)를 렌더링할 수 있다. 메시지 흐름도(1000)가 렌더링 명령들에 대해 설명되지만, 하나 또는 그 초과의 비디오 스트림들 및/또는 하나 또는 그 초과의 그래픽스 자원들이 렌더링 명령들과 함께 또는 렌더링 명령들 대신에 포함될 수 있음이 이해되어야 한다.
[0097] 도 11은 소스 디바이스(115-h)와 싱크 디바이스(105-g) 사이의 통신들의 일 예를 예시하는 메시지 흐름도(1100)이다. 소스 디바이스(115-h)는 도 1, 도 4, 도 5, 도 6, 도 7, 도 8 및/또는 도 10의 디바이스들(115)의 예일 수 있다. 싱크 디바이스(105-g)는 도 1, 도 2, 도 3, 도 4, 도 7, 도 9 및/또는 도 10에서 예시된 싱크 디바이스들(105)의 예일 수 있다.
[0098] 일 구성에서, 소스 디바이스(115-h) 및 싱크 디바이스(105-g)는 Wi-Fi 피어-투-피어 연결을 통해 연결될 수 있다. 소스 디바이스(115-h)는 하나 또는 그 초과의 렌더링 명령들(1105)을 싱크 디바이스(105-f)에 전송할 수 있다. 싱크 디바이스(105-f)는 수신된 렌더링 명령(들)을 이용하여 소스 디바이스(115-h)의 사용자 인터페이스(UI)의 디스플레이(1110)를 렌더링할 수 있다.
[0099] 싱크 디바이스(105-f)는 디스플레이(1110)에 따라 싱크 디바이스(105-g)에서 수신된 사용자 입력에 대응하는 데이터(1115)를 소스 디바이스(115-h)에 전송할 수 있다. 소스 디바이스(115-h)는 수신된 데이터(1115)를 이용하여 소스 디바이스(115-h)에 의해 결정된, 업데이트된 또는 새로운 렌더링 명령(들)(1120)을 전송할 수 있다. 예컨대, 수신된 데이터(1115)는 소스 디바이스(115-h) 상에서 애플리케이션을 론칭하기 위한 명령들을 포함할 수 있다. 이러한 예에서, 업데이트된 또는 새로운 렌더링 명령(들)(1120)은, 론칭된 애플리케이션의 UI의 디스플레이를 렌더링하기 위한 것이 되도록 소스 디바이스(115-h)에 의해 결정될 수 있다. 그 다음으로, 싱크 디바이스(105-g)는 수신된 업데이트된/새로운 렌더링 명령(들)(1120)을 이용하여 소스 디바이스(115-h) 상에서 실행되는 애플리케이션의 사용자 인터페이스(UI)의 디스플레이(1125)를 렌더링할 수 있다.
[0100] 싱크 디바이스(105-f)는 디스플레이(1125)에 따라 싱크 디바이스(105-g)에서 수신된 사용자 입력에 대응하는 데이터(1130)를 소스 디바이스(115-h)에 전송할 수 있다. 소스 디바이스(115-h)는 수신된 데이터(1130)를 이용하여 소스 디바이스(115-h)에 의해 결정된, 업데이트된 또는 새로운 렌더링 명령(들)(1135)을 전송할 수 있다. 예컨대, 수신된 데이터(1115)는 소스 디바이스(115-h) 상에서 실행되는 애플리케이션을 제어하기 위한 명령들을 포함할 수 있다. 이러한 예에서, 업데이트된 또는 새로운 렌더링 명령(들)(1135)은 애플리케이션 UI의 업데이트된 디스플레이 또는 실행 애플리케이션에 의해 실행되는 제어 명령들에 대응하는 디스플레이를 렌더링하기 위한 것이 되도록 소스 디바이스(115-h)에 의해 결정될 수 있다. 그 다음으로, 싱크 디바이스(105-g)는 수신된 업데이트된/새로운 렌더링 명령(들)(1135)을 이용하여 업데이트된 디스플레이(1140)를 렌더링할 수 있다. 다시, 메시지 흐름도(1100)가 렌더링 명령들에 대해 설명되지만, 하나 또는 그 초과의 비디오 스트림들 및/또는 하나 또는 그 초과의 그래픽스 자원들이 렌더링 명령들과 함께 또는 렌더링 명령들 대신에 포함될 수 있음이 이해되어야 한다.
[0101] 도 12는 싱크 디바이스에 의한 콘텐츠의 원격 디스플레이를 위해 소스 디바이스에 의해 수행되는 방법(1200)의 실시예를 예시하는 흐름도이다. 명확화를 위해, 방법(1200)은 도 1에 도시된 무선 통신 시스템(100)을 참조하여 그리고/또는 도 1, 도 4, 도 5, 도 6, 도 7, 도 8, 도 10 및/또는 도 11을 참조하여 설명된 소스 디바이스들(115) 중 하나의 소스 디바이스(115)를 참조하여 아래에서 설명된다. 일 구현에서, 도 4, 도 5, 도 6 및/또는 도 7을 참조하여 설명된 통신 관리 모듈(410)은 아래에서 설명되는 기능들을 수행하도록 소스 디바이스(115)의 기능 엘리먼트들을 제어하기 위해 코드들의 하나 또는 그 초과의 세트들을 실행할 수 있다.
[0102] 일 실시예에서, 블록(1205)에서, 소스 디바이스(115)는 싱크 디바이스(105) 상에서 원격으로 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 식별할 수 있다. 블록(1210)에서, 렌더링 명령(들)은 Wi-Fi 다이렉트를 통해, 예컨대, Wi-Fi 피어-투-피어 연결을 통해 소스 디바이스(115)로부터 싱크 디바이스(105)로 송신될 수 있다.
[0103] 그러므로, 방법(1200)은, 싱크 디바이스(105)가 렌더링 명령들을 이용하여 콘텐츠를 렌더링할 수 있도록, Wi-Fi 다이렉트를 통해 싱크 디바이스(105)에 렌더링 명령들을 제공하기 위해 이용될 수 있다. 따라서, 소스 디바이스(115)는 렌더링된 콘텐츠를 싱크 디바이스(105)에 전송할 필요가 없고, 무선 대역폭을 더 효율적으로 이용할 수 있다. 방법(1200)은 단지 하나의 구현이며 다른 구현들이 가능함이 유의되어야 한다.
[0104] 도 13은 싱크 디바이스에 의한 콘텐츠의 원격 디스플레이를 위해 소스 디바이스에 의해 수행되는 방법(1300)의 다른 실시예를 예시하는 흐름도이다. 명확화를 위해, 방법(1300)은 도 1에 도시된 무선 통신 시스템(100)을 참조하여 그리고/또는 도 1, 도 4, 도 5, 도 6, 도 7, 도 8, 도 10 및/또는 도 11을 참조하여 설명된 소스 디바이스들(115) 중 하나의 소스 디바이스(115)를 참조하여 아래에서 설명된다. 일 구현에서, 도 4, 도 5, 도 6 및/또는 도 7을 참조하여 설명된 통신 관리 모듈(410)은, 아래에서 설명되는 기능들을 수행하도록 소스 디바이스(115)의 기능 엘리먼트들을 제어하기 위해 코드들의 하나 또는 그 초과의 세트들을 실행할 수 있다.
[0105] 블록(1305)에서, 소스 디바이스(115)는 Wi-Fi 다이렉트를 통해, 예컨대, Wi-Fi 피어-투-피어 연결을 통해 싱크 디바이스(105)로부터 데이터를 수신할 수 있다. 블록(1310)에서, 소스 디바이스(115)는 수신된 데이터를 이용하여 적어도 하나의 렌더링 명령을 식별할 수 있다. 블록(1315)에서, 렌더링 명령(들)은 Wi-Fi 다이렉트를 통해 소스 디바이스(115)로부터 싱크 디바이스(105)로 송신될 수 있다.
[0106] 그러므로, 방법(1300)은 싱크 디바이스로부터의 데이터에 적어도 부분적으로 기초하여 콘텐츠의 그것의 디스플레이를 업데이트하기 위해 싱크 디바이스에 대한 소스 디바이스로부터 업데이트된 렌더링 명령들을 획득하기 위해 이용될 수 있다. 방법(1300)은 단지 하나의 구현이며, 다른 구현들이 가능함이 유의되어야 한다. 예컨대, 방법(1300)의 동작들은 도 12에 대해 설명된 방법(1200)의 동작들과 결합될 수 있다. 게다가, 동작들은 적절하게 또는 원하는 바와 같이 재배열 및/또는 수정될 수 있다.
[0107] 도 14는, 싱크 디바이스에 의한 콘텐츠의 원격 디스플레이를 위해 소스 디바이스에 의해 수행되는 방법(1400)의 추가의 실시예를 예시하는 흐름도이다. 명확화를 위해, 방법(1400)은, 도 1에 도시된 무선 통신 시스템(100)을 참조하여 그리고/또는 도 1, 도 4, 도 5, 도 6, 도 7, 도 8, 도 10 및/또는 11을 참조하여 설명된 소스 디바이스들(115) 중 하나를 참조하여 아래에서 설명된다. 일 구현에서, 도 4, 도 5, 도 6 및/또는 7을 참조하여 설명된 통신 관리 모듈(410)은, 아래에서 설명되는 기능들을 수행하도록 소스 디바이스(115)의 기능 엘리먼트들을 제어하기 위해 코드들의 하나 또는 그 초과의 세트들을 실행할 수 있다.
[0108] 블록(1405)에서, 소스 디바이스(115)는 싱크 디바이스(105) 상에서 원격으로 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 식별할 수 있다. 블록(1410)에서, 소스 디바이스(115)는 싱크 디바이스(105) 상에서 원격으로 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 그래픽스 자원들을 식별할 수 있다. 블록(1415)에서, 소스 디바이스(115)는 싱크 디바이스(105) 상에서 원격으로 디스플레이될 하나 또는 그 초과의 비디오 스트림들을 식별할 수 있다. 그 다음에, 블록(1420)에서, 식별된 그래픽스 자원(들) 및 식별된 비디오 스트림(들)은 압축(또는 인코딩)될 수 있다. 그 다음으로, 블록(1425)에서, 렌더링 명령(들), 압축된 그래픽스 자원(들) 및 압축된 비디오 스트림(들)은 Wi-Fi 다이렉트를 통해, 예컨대, Wi-Fi 피어-투-피어 연결을 통해 소스 디바이스(115)로부터 싱크 디바이스(105)로 송신될 수 있다.
[0109] 그러므로, 방법(1400)은, 싱크 디바이스(105)가 콘텐츠를 렌더링할 수 있도록, Wi-Fi 다이렉트를 통해 렌더링 명령들, 그래픽스 자원들 및 비디오 스트림들을 싱크 디바이스(105)에 제공하기 위해 이용될 수 있다. 따라서, 소스 디바이스(115)는 렌더링된 콘텐츠를 싱크 디바이스(105)에 전송할 필요가 없으며, 무선 대역폭을 더 효율적으로 이용할 수 있다. 방법(1400)은 단지 하나의 구현이며, 다른 구현들이 가능함이 유의되어야 한다. 예컨대, 방법(1400)의 동작들은 도 12에 대해 설명된 방법(1200)의 동작들 및/또는 도 13에 대해 설명된 방법(1300)의 동작들과 결합될 수 있다. 게다가, 동작들은 적절하게 또는 원하는 바와 같이 재배열 및/또는 수정될 수 있다.
[0110] 도 15는 소스 디바이스의 콘텐츠의 원격 디스플레이를 위해 싱크 디바이스에 의해 수행되는 방법(1500)의 실시예를 예시하는 흐름도이다. 명확화를 위해, 방법(1500)은, 도 1에 도시된 무선 통신 시스템(100)을 참조하여 그리고/또는 도 1, 도 2, 도 3, 도 7, 도 9, 도 10 및/또는 11을 참조하여 설명된 싱크 디바이스들(105) 중 하나를 참조하여 아래에서 설명된다. 일 구현에서, 도 2, 도 3 및/또는 도 7을 참조하여 설명된 렌더링 관리 모듈(210)은, 아래에서 설명되는 기능들을 수행하도록 싱크 디바이스(105)의 기능 엘리먼트들을 제어하기 위해 코드들의 하나 또는 그 초과의 세트들을 실행할 수 있다.
[0111] 일 실시예에서, 블록(1505)에서, 싱크 디바이스(105)는 싱크 디바이스(105) 상에서 원격으로 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을, Wi-Fi 다이렉트를 통해(예컨대, Wi-Fi 피어-투-피어 연결을 통해) 소스 디바이스(115)로부터 수신할 수 있다. 그 다음으로, 블록(1510)에서, 싱크 디바이스(105)는 싱크 디바이스(105)에서의 콘텐츠의 디스플레이를 렌더링하기 위해, 수신된 렌더링 명령(들)을 실행할 수 있다.
[0112] 그러므로, 방법(1500)은, 싱크 디바이스(105)가 렌더링 명령들을 이용하여 콘텐츠를 렌더링할 수 있도록, Wi-Fi 다이렉트를 통해 싱크 디바이스(105) 상에서 원격으로 소스 디바이스의 콘텐츠를 디스플레이하기 위해 이용될 수 있다. 따라서, 싱크 디바이스(105)는 렌더링된 콘텐츠를 소스 디바이스(115)로부터 수신할 필요가 없고, 무선 대역폭을 더 효율적으로 이용할 수 있다. 방법(1500)은 단지 하나의 구현이며, 다른 구현들이 가능함이 유의되어야 한다.
[0113] 도 16은 소스 디바이스의 콘텐츠의 원격 디스플레이를 위해 싱크 디바이스에 의해 수행되는 방법(1600)의 다른 실시예를 예시하는 흐름도이다. 명확화를 위해, 방법(1600)은 도 1에 도시된 무선 통신 시스템(100)을 참조하여 그리고/또는 도 1, 도 2, 도 3, 도 7, 도 9, 도 10 및/또는 도 11을 참조하여 설명된 싱크 디바이스들(105) 중 하나를 참조하여 아래에서 설명된다. 일 구현에서, 도 2, 도 3 및/또는 도 7을 참조하여 설명된 렌더링 관리 모듈(210)은 아래에서 설명되는 기능들을 수행하도록 싱크 디바이스(105)의 기능 엘리먼트들을 제어하기 위해 코드들의 하나 또는 그 초과의 세트들을 실행할 수 있다.
[0114] 일 실시예에서, 블록(1605)에서, 싱크 디바이스(105)는 싱크 디바이스(105) 상에서 원격으로 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 Wi-Fi 다이렉트를 통해(예컨대, Wi-Fi 피어-투-피어 연결을 통해) 소스 디바이스(115)로부터 수신할 수 있다. 블록(1610)에서, 싱크 디바이스(105)는 Wi-Fi 다이렉트를 통해 소스 디바이스(115)로부터 하나 또는 그 초과의 그래픽스 자원들을 수신할 수 있다. 블록(1615)에서, 싱크 디바이스(105)는 Wi-Fi 다이렉트를 통해 소스 디바이스(115)로부터 하나 또는 그 초과의 비디오 스트림들을 수신할 수 있다. 그 다음으로, 블록(1620)에서, 싱크 디바이스(105)는 싱크 디바이스(105)에서 디스플레이를 렌더링하기 위해, 수신된 렌더링 명령(들)을 실행할 수 있다. 수신된 렌더링 명령들을 실행하는 것은, 수신된 그래픽스 자원(들) 및/또는 수신된 비디오 스트림(들)이, 렌더링되는 디스플레이에 포함되도록 야기할 수 있다. 대안적으로 또는 추가하여, 수신된 그래픽스 자원(들) 및/또는 수신된 비디오 스트림(들)은 렌더링 명령(들)으로부터 초래된 디스플레이와 결합될 수 있다.
[0115] 그러므로, 방법(1600)은, 싱크 디바이스(105)가 렌더링 명령들을 이용하여 콘텐츠를 렌더링할 수 있도록, Wi-Fi 다이렉트를 통해 싱크 디바이스(105) 상에서 원격으로 소스 디바이스의 콘텐츠를 디스플레이하기 위해 이용될 수 있다. 따라서, 싱크 디바이스(105)는 렌더링된 콘텐츠를 소스 디바이스(115)로부터 수신할 필요가 없고, 무선 대역폭을 더 효율적으로 이용할 수 있다. 방법(1600)은 단지 하나의 구현이며, 다른 구현들이 가능함이 유의되어야 한다. 예컨대, 방법(1600)의 동작들은 적절하게 또는 원하는 바와 같이 재배열 및/또는 수정될 수 있다.
[0116] 도 17은 소스 디바이스의 콘텐츠를 원격으로 디스플레이하기 위해 싱크 디바이스에 의해 수행되는 방법(1700)의 추가의 실시예를 예시하는 흐름도이다. 명확화를 위해, 방법(1700)은 도 1에 도시된 무선 통신 시스템(100)을 참조하여 그리고/또는 도 1, 도 2, 도 3, 도 7, 도 9, 도 10 및/또는 도 11을 참조하여 설명된 싱크 디바이스들(105) 중 하나를 참조하여 아래에서 설명된다. 일 구현에서, 도 2, 도 3 및/또는 도 7을 참조하여 설명된 렌더링 관리 모듈(210)은 아래에서 설명되는 기능들을 수행하도록 싱크 디바이스(105)의 기능 엘리먼트들을 제어하기 위해 코드들의 하나 또는 그 초과의 세트들을 실행할 수 있다.
[0117] 블록(1705)에서, 싱크 디바이스(105)는, 싱크 디바이스(105) 상에서 원격으로 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 Wi-Fi 다이렉트를 통해(예컨대, Wi-Fi 피어-투-피어 연결을 통해) 소스 디바이스(115)로부터 수신할 수 있다. 블록(1710)에서, 싱크 디바이스(105)는 소스 디바이스(115)의 사용자 인터페이스(UI)의 적어도 일부분의 디스플레이를 싱크 디바이스(105)에서 렌더링하기 위해, 수신된 렌더링 명령(들)을 실행할 수 있다.
[0118] 블록(1715)에서, 싱크 디바이스(105)는 디스플레이되는 UI에 따라 사용자 입력을 수신할 수 있다. 그 다음에, 블록(1720)에서, 싱크 디바이스(105)는 수신된 사용자 입력에 대응하는 데이터를 Wi-Fi 다이렉트를 통해 소스 디바이스(115)에 송신할 수 있다. 그 다음으로, 블록(1725)에서, 싱크 디바이스(105)는 싱크 디바이스(105) 상에서 원격으로 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 업데이트된 렌더링 명령들을 Wi-Fi 다이렉트를 통해 소스 디바이스(115)로부터 수신할 수 있으며, 렌더링 명령(들)은 소스 디바이스(115)에 송신된 데이터를 이용하여 소스 디바이스(115)에 의해 업데이트된다.
[0119] 그러므로, 방법(1700)은, 싱크 디바이스(105)가 렌더링 명령들을 이용하여 UI를 렌더링할 수 있도록, Wi-Fi 다이렉트를 통해 싱크 디바이스(105) 상에서 원격으로 소스 디바이스의 UI를 디스플레이하기 위해 이용될 수 있다. 게다가, 방법(1700)은, 싱크 디바이스(105)에서 수신된 사용자 입력에 대응하는 데이터를 이용하여 렌더링 명령들을 업데이트하기 위해 이용될 수 있다. 방법(1700)은 단지 하나의 구현이며, 다른 구현들이 가능함이 유의되어야 한다. 예컨대, 방법(1700)의 동작들은 도 15에 대해 설명된 방법(1500)의 동작들 및/또는 도 16에 대해 위에서 설명된 방법(1600)의 동작들과 결합될 수 있다. 게다가, 동작들은 적절하게 또는 원하는 바와 같이 재배열 및/또는 수정될 수 있다.
[0120] 도 18은 소스 디바이스의 콘텐츠를 원격으로 디스플레이하기 위해 싱크 디바이스에 의해 수행되는 방법(1800)의 또 다른 실시예를 예시하는 흐름도이다. 명확화를 위하여, 방법(1800)은 도 1에 도시된 무선 통신 시스템(100)을 참조하여 그리고/또는 도 1, 도 2, 도 3, 도 7, 도 9, 도 10 및/또는 도 11을 참조하여 설명된 싱크 디바이스들(105) 중 하나의 싱크 디바이스(105)를 참조하여 이하에 설명된다. 일 구현에서, 도 2, 도 3 및/또는 도 7을 참조하여 설명된 렌더링 관리 모듈(210)은 아래에서 설명되는 기능들을 수행하도록 싱크 디바이스(105)의 기능 엘리먼트들을 제어하기 위해 코드들의 하나 또는 그 초과의 세트들을 실행할 수 있다.
[0121] 블록(1805)에서, 싱크 디바이스(105)는 싱크 디바이스(105) 상에서 원격으로 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 Wi-Fi 다이렉트를 통해(예컨대, Wi-Fi 피어-투-피어 연결을 통해) 소스 디바이스(115)로부터 수신할 수 있다. 블록(1810)에서, 싱크 디바이스(105)는 소스 디바이스(115) 상에서 실행되는 애플리케이션의 사용자 인터페이스(UI)의 적어도 일부분의, 싱크 디바이스(105)에서의 디스플레이를 렌더링하기 위해, 수신된 렌더링 명령(들)을 실행할 수 있다.
[0122] 블록(1815)에서, 싱크 디바이스(105)는 애플리케이션의 디스플레이되는 UI에 따라 애플리케이션에 대한 사용자 입력을 수신할 수 있다. 그 다음에, 블록(1820)에서, 싱크 디바이스(105)는 수신된 사용자 입력에 대응하는 데이터를 Wi-Fi 다이렉트를 통해 소스 디바이스(115)에 송신할 수 있다. 그 다음으로, 블록(1825)에서, 싱크 디바이스(105)는 싱크 디바이스(105) 상에서 원격으로 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 업데이트된 렌더링 명령들을 Wi-Fi 다이렉트를 통해 소스 디바이스(115)로부터 수신할 수 있으며, 렌더링 명령(들)은 소스 디바이스(115)에 송신된 데이터를 이용하여 소스 디바이스(115)에 의해 업데이트된다.
[0123] 그러므로, 방법(1800)은, 싱크 디바이스(105)가 렌더링 명령들을 이용하여 UI를 렌더링할 수 있도록, 소스 디바이스 상에서 실행되는 애플리케이션의 UI를 Wi-Fi 다이렉트를 통해 싱크 디바이스(105) 상에서 원격으로 디스플레이하기 위해 이용될 수 있다. 게다가, 방법(1800)은 싱크 디바이스(105)에서 수신된 애플리케이션에 대한 사용자 입력에 대응하는 데이터를 이용하여 렌더링 명령들을 업데이트하기 위해 이용될 수 있다. 방법(1800)은 단지 하나의 구현이며, 다른 구현들이 가능함이 유의되어야 한다. 예컨대, 방법(1800)의 동작들은 도 15에 대해 설명된 방법(1500)의 동작들, 도 16에 대해 위에서 설명된 방법(1600)의 동작들, 및/또는 도 17에 대해 위에서 설명된 방법(1700)의 동작들과 결합될 수 있다. 게다가, 동작들은 적절하게 또는 원하는 바와 같이 재배열 및/또는 수정될 수 있다.
[0124] 첨부된 도면들과 관련하여 위에서 제시된 상세한 설명은 예시적인 실시예들을 설명하며, 구현될 수 있거나 또는 청구항들의 범위 내에 있는 실시예들만을 나타내지는 않는다. 본 설명 전반에 걸쳐 사용되는 용어 "예시적인"은 "다른 실시예들에 비해 유리하거나" 또는 "바람직한" 것인 아니라 "예, 경우 또는 예시의 역할을 함"을 의미한다. 상세한 설명은 설명된 기법들의 이해를 제공하는 목적을 위해 특정 세부사항들을 포함한다. 그러나, 이들 기법들은 이들 특정 세부사항들 없이 실시될 수 있다. 일부의 경우들에서, 설명되는 실시예들의 개념들을 불명료하게 하는 것을 회피하기 위해, 잘-알려진 구조들 및 디바이스들은 블록도 형태로 도시된다.
[0125] 정보 및 신호들은 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수 있다. 예컨대, 앞의 설명 전반에 걸쳐 참조될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광 필드들 또는 광 입자들, 또는 이들의 임의의 조합으로 표현될 수 있다.
[0126] 본원의 개시내용과 관련하여 설명되는 다양한 블록들 및 모듈들은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그램가능 게이트 어레이(FPGA) 또는 다른 프로그램가능 논리 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들 또는 본원에서 설명되는 기능들을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예컨대 DSP 및 마이크로프로세서의 조합, 다수의 마이크로프로세서들, DSP 코어와 공조하는 하나 또는 그 초과의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수 있다.
[0127] 본원에서 설명되는 기능들은 하드웨어, 프로세서에 의해 실행되는 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 프로세서에 의해 실행되는 소프트웨어로 구현되는 경우, 기능들은 컴퓨터-판독가능 매체 상에 하나 또는 그 초과의 명령들 또는 코드로서 저장되거나 이들을 통해 송신될 수 있다. 다른 예들 및 구현들은 본 개시내용 및 첨부된 청구항들의 범위 및 사상 내에 있다. 예컨대, 소프트웨어의 특성으로 인해, 위에서 설명된 기능들은 프로세서에 의해 실행되는 소프트웨어, 하드웨어, 펌웨어, 하드와이어링, 또는 이들 중 임의의 것의 조합들을 사용하여 구현될 수 있다. 기능들을 구현하는 특징들은 또한 기능들 중 일부들이 상이한 물리적 위치들에서 구현되도록 분산되는 것을 비롯하여 다양한 포지션들에 물리적으로 로케이팅될 수 있다. 또한, 청구항들을 비롯하여 본원에서 사용되는 바와 같이, "중 적어도 하나"에 선행하는 항목들의 리스트에서 사용되는 "또는"은 예컨대 "A, B 또는 C 중 적어도 하나"의 리스트가 A 또는 B 또는 C 또는 AB 또는 AC 또는 BC 또는 ABC(즉, A 및 B 및 C)를 의미하도록 이접적 리스트를 표시한다.
[0128] 컴퓨터-판독가능 매체들은 하나의 위치로부터 다른 위치로의 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체들 및 컴퓨터 저장 매체들 양쪽 모두를 포함한다. 저장 매체는 범용 컴퓨터 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능 매체일 수 있다. 제한이 아닌 예시로서, 컴퓨터-판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장소, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드 수단을 저장 또는 반송하는데 사용될 수 있고, 범용 컴퓨터 또는 특수 목적 컴퓨터 또는 범용 프로세서 또는 특수 목적 프로세서에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 연결 수단(connection)이 컴퓨터-판독가능 매체로 적절히 지칭된다. 예컨대, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 꼬임 쌍선(twisted pair), DSL(digital subscriber line), 또는 무선 기술들, 이를테면, 적외선, 라디오, 및 마이크로웨이브를 이용하여 송신되는 경우, 동축 케이블, 광섬유 케이블, 꼬임 쌍선, DSL, 또는 무선 기술들, 이를테면, 적외선, 라디오, 및 마이크로웨이브는 매체의 정의에 포함된다. 본원에서 사용되는 바와 같은 디스크(disk) 및 디스크(disc)는 컴팩트 디스크(compact disc)(CD), 레이저 디스크(laser disc), 광 디스크(optical disc), 디지털 다기능 디스크(digital versatile disc)(DVD), 플로피 디스크(floppy disk), 및 블루-레이 디스크(blu-ray disc)를 포함하며, 여기서 디스크(disk)들은 일반적으로 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 상기한 것의 조합들이 또한 컴퓨터-판독가능 매체들의 범위 내에 포함된다.
[0129] 본 개시내용의 전술한 설명은 당업자가 본 개시내용을 이용하거나 또는 실시하는 것을 가능하게 하기 위해 제공된다. 본 개시내용에 대한 다양한 수정들이 당업자들에게 용이하게 명백해질 것이며, 본원에서 정의된 일반적인 원리들은 본 개시내용의 사상 또는 범위를 벗어남이 없이 다른 변형들에 적용될 수 있다. 본 개시내용 전반에 걸쳐, 용어 "예" 또는 "예시적"은 예 또는 경우를 표시하며, 언급된 예에 대한 임의의 선호도를 의미하거나 또는 요구하는 것이 아니다. 따라서, 본 개시내용은 본원에서 설명된 예들 및 설계들로 제한되는 것이 아니라, 본원에서 개시된 원리들 및 신규한 특징들과 부합하는 가장 넓은 범위를 따른다.
Claims (30)
- 무선 네트워크에서 싱크 디바이스(sink device)에 의해 디스플레이될 콘텐츠의 소스 디바이스에 의해 수행되는 방법으로서,
소스 디바이스에서, 원격으로 로케이팅된 싱크 디바이스 상에서 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 식별하는 단계; 및
상기 렌더링 명령들에 적어도 부분적으로 기초하여 상기 콘텐츠의 적어도 일부분의 디스플레이를 렌더링하기 위한 상기 싱크 디바이스에 의한 실행을 위해 무선 피어-투-피어 연결을 통해 상기 하나 또는 그 초과의 렌더링 명령들을 상기 싱크 디바이스에 송신하는 단계
를 포함하는,
무선 네트워크에서 싱크 디바이스에 의해 디스플레이될 콘텐츠의 소스 디바이스에 의해 수행되는 방법. - 제 1 항에 있어서,
상기 소스 디바이스에서 상기 무선 피어-투-피어 연결을 통해 상기 싱크 디바이스로부터 데이터를 수신하는 단계
를 더 포함하고,
상기 하나 또는 그 초과의 렌더링 명령들을 식별하는 단계는, 수신된 데이터에 적어도 부분적으로 기초하여 적어도 하나의 렌더링 명령을 식별하는 단계를 포함하는,
무선 네트워크에서 싱크 디바이스에 의해 디스플레이될 콘텐츠의 소스 디바이스에 의해 수행되는 방법. - 제 2 항에 있어서,
상기 수신된 데이터의 적어도 일부분은 상기 싱크 디바이스에서의 사용자 입력에 대응하는,
무선 네트워크에서 싱크 디바이스에 의해 디스플레이될 콘텐츠의 소스 디바이스에 의해 수행되는 방법. - 제 1 항에 있어서,
상기 소스 디바이스 상에서 애플리케이션을 실행시키는 단계
를 더 포함하고,
상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 상기 애플리케이션의 사용자 인터페이스의 적어도 일부분을 렌더링하도록 구성되는,
무선 네트워크에서 싱크 디바이스에 의해 디스플레이될 콘텐츠의 소스 디바이스에 의해 수행되는 방법. - 제 4 항에 있어서,
상기 소스 디바이스에서 상기 무선 피어-투-피어 연결을 통해 상기 싱크 디바이스로부터 데이터를 수신하는 단계
를 더 포함하고,
상기 하나 또는 그 초과의 렌더링 명령들을 식별하는 단계는, 수신된 데이터에 적어도 부분적으로 기초하여 적어도 하나의 렌더링 명령을 식별하는 단계를 포함하고,
상기 수신된 데이터의 적어도 일부분은 상기 싱크 디바이스에서의 상기 애플리케이션에 대한 사용자 입력에 대응하는,
무선 네트워크에서 싱크 디바이스에 의해 디스플레이될 콘텐츠의 소스 디바이스에 의해 수행되는 방법. - 제 1 항에 있어서,
상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 상기 소스 디바이스의 사용자 인터페이스의 적어도 일부분을 렌더링하도록 구성되는,
무선 네트워크에서 싱크 디바이스에 의해 디스플레이될 콘텐츠의 소스 디바이스에 의해 수행되는 방법. - 제 6 항에 있어서,
상기 소스 디바이스에서 상기 무선 피어-투-피어 연결을 통해 상기 싱크 디바이스로부터 데이터를 수신하는 단계
를 더 포함하고,
상기 하나 또는 그 초과의 렌더링 명령들을 식별하는 단계는, 수신된 데이터에 적어도 부분적으로 기초하여 적어도 하나의 렌더링 명령을 식별하는 단계를 포함하고,
상기 수신된 데이터의 적어도 일부분은 상기 소스 디바이스의 상기 사용자 인터페이스에 따른 상기 싱크 디바이스에서의 사용자 입력에 대응하는,
무선 네트워크에서 싱크 디바이스에 의해 디스플레이될 콘텐츠의 소스 디바이스에 의해 수행되는 방법. - 제 1 항에 있어서,
상기 콘텐츠에서 적어도 하나의 그래픽스 자원을 식별하는 단계;
상기 적어도 하나의 그래픽스 자원을 압축하는 단계; 및
압축된 적어도 하나의 그래픽스 자원을 상기 싱크 디바이스에 송신하는 단계
를 더 포함하고,
상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 디스플레이되는 상기 콘텐츠에 상기 적어도 하나의 그래픽스 자원을 포함시키도록 구성되는,
무선 네트워크에서 싱크 디바이스에 의해 디스플레이될 콘텐츠의 소스 디바이스에 의해 수행되는 방법. - 제 1 항에 있어서,
상기 콘텐츠에서 적어도 하나의 비디오 스트림을 식별하는 단계;
상기 적어도 하나의 비디오 스트림을 압축하는 단계; 및
압축된 적어도 하나의 비디오 스트림을 상기 싱크 디바이스에 송신하는 단계
를 더 포함하고,
상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 디스플레이되는 상기 콘텐츠에 상기 적어도 하나의 비디오 스트림을 포함시키도록 구성되는,
무선 네트워크에서 싱크 디바이스에 의해 디스플레이될 콘텐츠의 소스 디바이스에 의해 수행되는 방법. - 무선 네트워크에서 싱크 디바이스에 의한 콘텐츠의 디스플레이를 가능하게 하도록 구성된 장치로서,
소스 디바이스에서, 원격으로 로케이팅된 싱크 디바이스 상에서 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 식별하기 위한 수단; 및
상기 렌더링 명령들에 적어도 부분적으로 기초하여 상기 콘텐츠의 적어도 일부분의 디스플레이를 렌더링하기 위한 상기 싱크 디바이스에 의한 실행을 위해 무선 피어-투-피어 연결을 통해 상기 하나 또는 그 초과의 렌더링 명령들을 상기 싱크 디바이스에 송신하기 위한 수단
을 포함하는,
무선 네트워크에서 싱크 디바이스에 의한 콘텐츠의 디스플레이를 가능하게 하도록 구성된 장치. - 제 10 항에 있어서,
상기 소스 디바이스에서 상기 무선 피어-투-피어 연결을 통해 상기 싱크 디바이스로부터 데이터를 수신하기 위한 수단
을 더 포함하고,
상기 하나 또는 그 초과의 렌더링 명령들을 식별하기 위한 수단은, 수신된 데이터에 적어도 부분적으로 기초하여 적어도 하나의 렌더링 명령을 식별하기 위한 수단을 포함하는,
무선 네트워크에서 싱크 디바이스에 의한 콘텐츠의 디스플레이를 가능하게 하도록 구성된 장치. - 제 11 항에 있어서,
상기 수신된 데이터의 적어도 일부분은 상기 싱크 디바이스에서의 사용자 입력에 대응하는,
무선 네트워크에서 싱크 디바이스에 의한 콘텐츠의 디스플레이를 가능하게 하도록 구성된 장치. - 제 10 항에 있어서,
상기 소스 디바이스 상에서 애플리케이션을 실행시키기 위한 수단
을 더 포함하고,
상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 상기 애플리케이션의 사용자 인터페이스의 적어도 일부분을 렌더링하도록 구성되는,
무선 네트워크에서 싱크 디바이스에 의한 콘텐츠의 디스플레이를 가능하게 하도록 구성된 장치. - 제 13 항에 있어서,
상기 소스 디바이스에서 상기 무선 피어-투-피어 연결을 통해 상기 싱크 디바이스로부터 데이터를 수신하기 위한 수단
을 더 포함하고,
상기 하나 또는 그 초과의 렌더링 명령들을 식별하기 위한 수단은, 수신된 데이터에 적어도 부분적으로 기초하여 적어도 하나의 렌더링 명령을 식별하기 위한 수단을 포함하고,
상기 수신된 데이터의 적어도 일부분은 상기 싱크 디바이스에서의 상기 애플리케이션에 대한 사용자 입력에 대응하는,
무선 네트워크에서 싱크 디바이스에 의한 콘텐츠의 디스플레이를 가능하게 하도록 구성된 장치. - 제 10 항에 있어서,
상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 상기 소스 디바이스의 사용자 인터페이스의 적어도 일부분을 렌더링하도록 구성되는,
무선 네트워크에서 싱크 디바이스에 의한 콘텐츠의 디스플레이를 가능하게 하도록 구성된 장치. - 제 15 항에 있어서,
상기 소스 디바이스에서 상기 무선 피어-투-피어 연결을 통해 상기 싱크 디바이스로부터 데이터를 수신하기 위한 수단
을 더 포함하고,
상기 하나 또는 그 초과의 렌더링 명령들을 식별하기 위한 수단은, 수신된 데이터에 적어도 부분적으로 기초하여 적어도 하나의 렌더링 명령을 식별하기 위한 수단을 포함하고,
상기 수신된 데이터의 적어도 일부분은 상기 소스 디바이스의 상기 사용자 인터페이스에 따른 상기 싱크 디바이스에서의 사용자 입력에 대응하는,
무선 네트워크에서 싱크 디바이스에 의한 콘텐츠의 디스플레이를 가능하게 하도록 구성된 장치. - 제 10 항에 있어서,
상기 콘텐츠에서 적어도 하나의 그래픽스 자원을 식별하기 위한 수단;
상기 적어도 하나의 그래픽스 자원을 압축하기 위한 수단; 및
압축된 적어도 하나의 그래픽스 자원을 상기 싱크 디바이스에 송신하기 위한 수단
을 더 포함하고,
상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 디스플레이되는 상기 콘텐츠에 상기 적어도 하나의 그래픽스 자원을 포함시키도록 구성되는,
무선 네트워크에서 싱크 디바이스에 의한 콘텐츠의 디스플레이를 가능하게 하도록 구성된 장치. - 제 10 항에 있어서,
상기 콘텐츠에서 적어도 하나의 비디오 스트림을 식별하기 위한 수단;
상기 적어도 하나의 비디오 스트림을 압축하기 위한 수단; 및
압축된 적어도 하나의 비디오 스트림을 상기 싱크 디바이스에 송신하기 위한 수단
을 더 포함하고,
상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 디스플레이되는 상기 콘텐츠에 상기 적어도 하나의 비디오 스트림을 포함시키도록 구성되는,
무선 네트워크에서 싱크 디바이스에 의한 콘텐츠의 디스플레이를 가능하게 하도록 구성된 장치. - 무선 네트워크에서 원격으로 로케이팅된 싱크 디바이스에 의한 콘텐츠의 디스플레이를 위한 소스 디바이스로서,
프로세서;
상기 프로세서와 전자 통신하는 메모리; 및
상기 메모리에 저장된 명령들
을 포함하고,
상기 명령들은 상기 프로세서에 의해,
상기 소스 디바이스에서, 상기 원격으로 로케이팅된 싱크 디바이스 상에서 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 식별하고, 그리고
상기 렌더링 명령들에 적어도 부분적으로 기초하여 상기 콘텐츠의 적어도 일부분의 디스플레이를 렌더링하기 위한 상기 싱크 디바이스에 의한 실행을 위해 무선 피어-투-피어 연결을 통해 상기 하나 또는 그 초과의 렌더링 명령들을 상기 싱크 디바이스에 송신하도록 실행가능한,
무선 네트워크에서 원격으로 로케이팅된 싱크 디바이스에 의한 콘텐츠의 디스플레이를 위한 소스 디바이스. - 제 19 항에 있어서,
상기 명령들은 상기 프로세서에 의해,
상기 소스 디바이스에서 상기 무선 피어-투-피어 연결을 통해 상기 싱크 디바이스로부터 데이터를 수신하고, 그리고
수신된 데이터에 적어도 부분적으로 기초하여 상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나를 식별하도록 실행가능한,
무선 네트워크에서 원격으로 로케이팅된 싱크 디바이스에 의한 콘텐츠의 디스플레이를 위한 소스 디바이스. - 제 20 항에 있어서,
상기 수신된 데이터의 적어도 일부분은 상기 싱크 디바이스에서의 사용자 입력에 대응하는,
무선 네트워크에서 원격으로 로케이팅된 싱크 디바이스에 의한 콘텐츠의 디스플레이를 위한 소스 디바이스. - 제 19 항에 있어서,
상기 명령들은 상기 프로세서에 의해,
상기 소스 디바이스 상에서 애플리케이션을 실행시키도록 실행가능하고,
상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 상기 애플리케이션의 사용자 인터페이스의 적어도 일부분을 렌더링하도록 구성되는,
무선 네트워크에서 원격으로 로케이팅된 싱크 디바이스에 의한 콘텐츠의 디스플레이를 위한 소스 디바이스. - 제 22 항에 있어서,
상기 명령들은 상기 프로세서에 의해,
상기 소스 디바이스에서 상기 무선 피어-투-피어 연결을 통해 상기 싱크 디바이스로부터 데이터를 수신하고, 그리고
수신된 데이터에 적어도 부분적으로 기초하여 상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나를 식별하도록 실행가능하고,
상기 수신된 데이터의 적어도 일부분은 상기 싱크 디바이스에서의 상기 애플리케이션에 대한 사용자 입력에 대응하는,
무선 네트워크에서 원격으로 로케이팅된 싱크 디바이스에 의한 콘텐츠의 디스플레이를 위한 소스 디바이스. - 제 19 항에 있어서,
상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 상기 소스 디바이스의 사용자 인터페이스의 적어도 일부분을 렌더링하도록 구성되는,
무선 네트워크에서 원격으로 로케이팅된 싱크 디바이스에 의한 콘텐츠의 디스플레이를 위한 소스 디바이스. - 제 24 항에 있어서,
상기 명령들은 상기 프로세서에 의해,
상기 소스 디바이스에서 상기 무선 피어-투-피어 연결을 통해 상기 싱크 디바이스로부터 데이터를 수신하고, 그리고
수신된 데이터에 적어도 부분적으로 기초하여 상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나를 식별하도록 실행가능하고,
상기 수신된 데이터의 적어도 일부분은 상기 소스 디바이스의 상기 사용자 인터페이스에 따른 상기 싱크 디바이스에서의 사용자 입력에 대응하는,
무선 네트워크에서 원격으로 로케이팅된 싱크 디바이스에 의한 콘텐츠의 디스플레이를 위한 소스 디바이스. - 제 19 항에 있어서,
상기 명령들은 상기 프로세서에 의해,
상기 콘텐츠에서 적어도 하나의 그래픽스 자원을 식별하고,
상기 적어도 하나의 그래픽스 자원을 압축하고, 그리고
압축된 적어도 하나의 그래픽스 자원을 상기 싱크 디바이스에 송신하도록 실행가능하고,
상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 디스플레이되는 상기 콘텐츠에 상기 적어도 하나의 그래픽스 자원을 포함시키도록 구성되는,
무선 네트워크에서 원격으로 로케이팅된 싱크 디바이스에 의한 콘텐츠의 디스플레이를 위한 소스 디바이스. - 제 19 항에 있어서,
상기 명령들은 상기 프로세서에 의해,
상기 콘텐츠에서 적어도 하나의 비디오 스트림을 식별하고,
상기 적어도 하나의 비디오 스트림을 압축하고, 그리고
압축된 적어도 하나의 비디오 스트림을 상기 싱크 디바이스에 송신하도록 실행가능하고,
상기 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는, 실행시에 디스플레이되는 상기 콘텐츠에 상기 적어도 하나의 비디오 스트림을 포함시키도록 구성되는,
무선 네트워크에서 원격으로 로케이팅된 싱크 디바이스에 의한 콘텐츠의 디스플레이를 위한 소스 디바이스. - 무선 네트워크에서 소스 디바이스의 콘텐츠의 디스플레이를 위해 원격으로 로케이팅된 싱크 디바이스에 의해 수행되는 방법으로서,
소스 디바이스로부터 무선 피어-투-피어 연결 다이렉트(wireless peer-to-peer connection direct)를 통해, 디스플레이될 콘텐츠에 대한 하나 또는 그 초과의 렌더링 명령들을 수신하는 단계; 및
상기 렌더링 명령들에 적어도 부분적으로 기초하여 상기 콘텐츠의 적어도 일부분의 디스플레이를 렌더링하기 위해 상기 하나 또는 그 초과의 렌더링 명령들을 실행하는 단계
를 포함하는,
무선 네트워크에서 소스 디바이스의 콘텐츠의 디스플레이를 위해 원격으로 로케이팅된 싱크 디바이스에 의해 수행되는 방법. - 제 28 항에 있어서,
상기 무선 피어-투-피어 연결을 통해 상기 소스 디바이스에 데이터를 송신하는 단계
를 더 포함하고,
수신된 하나 또는 그 초과의 렌더링 명령들 중 적어도 하나는 송신된 데이터에 적어도 부분적으로 기초하는,
무선 네트워크에서 소스 디바이스의 콘텐츠의 디스플레이를 위해 원격으로 로케이팅된 싱크 디바이스에 의해 수행되는 방법. - 제 29 항에 있어서,
상기 싱크 디바이스에서 사용자 입력을 수신하는 단계
를 더 포함하고,
상기 소스 디바이스에 송신된 데이터의 적어도 일부분은 수신된 사용자 입력에 대응하는,
무선 네트워크에서 소스 디바이스의 콘텐츠의 디스플레이를 위해 원격으로 로케이팅된 싱크 디바이스에 의해 수행되는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/138,945 US9257097B2 (en) | 2013-12-23 | 2013-12-23 | Remote rendering for efficient use of wireless bandwidth for wireless docking |
US14/138,945 | 2013-12-23 | ||
PCT/US2014/069809 WO2015100026A1 (en) | 2013-12-23 | 2014-12-11 | Remote rendering for efficient use of wireless bandwidth for wireless docking |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160090909A KR20160090909A (ko) | 2016-08-01 |
KR101664247B1 true KR101664247B1 (ko) | 2016-10-10 |
Family
ID=52146775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167019266A KR101664247B1 (ko) | 2013-12-23 | 2014-12-11 | 무선 도킹을 위한 무선 대역폭의 효율적 사용을 위한 원격 렌더링 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9257097B2 (ko) |
EP (1) | EP3087716B1 (ko) |
JP (1) | JP6466466B2 (ko) |
KR (1) | KR101664247B1 (ko) |
CN (1) | CN105850097A (ko) |
BR (1) | BR112016014618A2 (ko) |
CA (1) | CA2930730A1 (ko) |
WO (1) | WO2015100026A1 (ko) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11817963B2 (en) | 2013-12-24 | 2023-11-14 | Zoom Video Communications, Inc. | Streaming secondary device content to devices connected to a web conference |
US10045146B2 (en) * | 2014-01-02 | 2018-08-07 | Microsoft Technology Licensing, Llc | Wireless display that accesses remote resources for display data |
US10417989B2 (en) * | 2014-01-02 | 2019-09-17 | Nvidia Corporation | GPU and GPU computing system for providing a virtual machine and a method of manufacturing the same |
KR102283778B1 (ko) * | 2014-03-04 | 2021-08-02 | 삼성전자주식회사 | 통신 시스템에서 콘텐츠를 제공하는 방법 및 장치 |
US20150293684A1 (en) * | 2014-04-10 | 2015-10-15 | Screenovate Technologies Ltd. | Method for controlling apps activation within local network |
US20150295973A1 (en) * | 2014-04-10 | 2015-10-15 | Screenovate Technologies Ltd. | Method for real-time multimedia interface management |
US20150295783A1 (en) * | 2014-04-10 | 2015-10-15 | Screenovate Technologies Ltd. | Method for real-time multimedia interface management sensor data |
US10127002B2 (en) * | 2014-04-10 | 2018-11-13 | Screenovate Technologies Ltd. | Method for real-time multimedia interface management |
US20150326652A1 (en) * | 2014-05-12 | 2015-11-12 | Kerry Lee Davis | System and method of transferring dynamic data in real time through wireless, server-less communication between a immobile computing device and a mobile computing device |
TWI610221B (zh) * | 2014-06-18 | 2018-01-01 | 緯創資通股份有限公司 | 螢幕播送方法以及使用該方法的系統與裝置 |
JP6467822B2 (ja) * | 2014-08-29 | 2019-02-13 | セイコーエプソン株式会社 | 表示システム、送信装置、及び、表示システムの制御方法 |
US20170091896A1 (en) * | 2015-09-30 | 2017-03-30 | Samsung Display Co., Ltd. | Independent multi-source display device |
US10009933B2 (en) | 2016-09-02 | 2018-06-26 | Brent Foster Morgan | Systems and methods for a supplemental display screen |
US9720639B1 (en) * | 2016-09-02 | 2017-08-01 | Brent Foster Morgan | Systems and methods for a supplemental display screen |
US10306299B2 (en) | 2017-05-24 | 2019-05-28 | Google Llc | Methods, systems, and media for transferring playback of media content |
US10346122B1 (en) | 2018-10-18 | 2019-07-09 | Brent Foster Morgan | Systems and methods for a supplemental display screen |
EP3877530A1 (en) | 2018-11-08 | 2021-09-15 | Greenlight Biosciences, Inc. | Control of insect infestation |
US10958964B2 (en) | 2018-12-31 | 2021-03-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Distributed video and graphics rendering system |
US11880422B2 (en) | 2019-02-04 | 2024-01-23 | Cloudflare, Inc. | Theft prevention for sensitive information |
US10452868B1 (en) | 2019-02-04 | 2019-10-22 | S2 Systems Corporation | Web browser remoting using network vector rendering |
CN111861854A (zh) * | 2019-04-30 | 2020-10-30 | 华为技术有限公司 | 用于图形渲染的方法及装置 |
CN110490962B (zh) * | 2019-08-20 | 2023-09-15 | 武汉邦拓信息科技有限公司 | 一种基于视频流的远程渲染方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070299778A1 (en) | 2006-06-22 | 2007-12-27 | Microsoft Corporation | Local peer-to-peer digital content distribution |
US20080303956A1 (en) | 2007-06-11 | 2008-12-11 | Kabushiki Kaisha Toshiba | Video transmission apparatus and video transmission method |
US20110107388A1 (en) | 2009-11-02 | 2011-05-05 | Samsung Electronics Co., Ltd. | Method and apparatus for providing user input back channel in audio/video system |
US20130222210A1 (en) | 2012-02-28 | 2013-08-29 | Qualcomm Incorporated | Frame capture and buffering at source device in wireless display system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7053863B2 (en) | 2001-08-06 | 2006-05-30 | Ati International Srl | Wireless device method and apparatus with drawing command throttling control |
US9544523B2 (en) | 2001-08-06 | 2017-01-10 | Ati Technologies Ulc | Wireless display apparatus and method |
US20070078897A1 (en) * | 2005-09-30 | 2007-04-05 | Yahoo! Inc. | Filemarking pre-existing media files using location tags |
CN101273885B (zh) * | 2007-03-26 | 2010-12-01 | 深圳迈瑞生物医疗电子股份有限公司 | 监护仪屏幕远程显示方法及*** |
US20100164839A1 (en) | 2008-12-31 | 2010-07-01 | Lyons Kenton M | Peer-to-peer dynamically appendable logical displays |
US20120042275A1 (en) | 2010-08-10 | 2012-02-16 | Microsoft Corporation | Cloning specific windows on a wireless display surface |
CN102375714A (zh) | 2010-08-16 | 2012-03-14 | 慧荣科技股份有限公司 | 计算机***及相关的影像绘图装置和显示装置 |
US9503771B2 (en) * | 2011-02-04 | 2016-11-22 | Qualcomm Incorporated | Low latency wireless display for graphics |
US8966131B2 (en) * | 2012-01-06 | 2015-02-24 | Qualcomm Incorporated | System method for bi-directional tunneling via user input back channel (UIBC) for wireless displays |
US11238983B2 (en) * | 2012-04-16 | 2022-02-01 | Airstrip Ip Holdings, Llc | Systems and methods for and displaying patient data |
AU2013249502B2 (en) * | 2012-04-16 | 2017-12-14 | Airstrip Ip Holdings, Llc | Systems and methods for displaying patient data |
CA2903378C (en) * | 2013-03-01 | 2022-06-21 | Airstrip Ip Holdings, Llc | Systems and methods for integrating, unifying and displaying patient data across healthcare continua |
-
2013
- 2013-12-23 US US14/138,945 patent/US9257097B2/en active Active
-
2014
- 2014-12-11 CA CA2930730A patent/CA2930730A1/en not_active Abandoned
- 2014-12-11 CN CN201480070134.9A patent/CN105850097A/zh active Pending
- 2014-12-11 WO PCT/US2014/069809 patent/WO2015100026A1/en active Application Filing
- 2014-12-11 JP JP2016553638A patent/JP6466466B2/ja active Active
- 2014-12-11 EP EP14819236.2A patent/EP3087716B1/en active Active
- 2014-12-11 BR BR112016014618A patent/BR112016014618A2/pt not_active Application Discontinuation
- 2014-12-11 KR KR1020167019266A patent/KR101664247B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070299778A1 (en) | 2006-06-22 | 2007-12-27 | Microsoft Corporation | Local peer-to-peer digital content distribution |
US20080303956A1 (en) | 2007-06-11 | 2008-12-11 | Kabushiki Kaisha Toshiba | Video transmission apparatus and video transmission method |
US20110107388A1 (en) | 2009-11-02 | 2011-05-05 | Samsung Electronics Co., Ltd. | Method and apparatus for providing user input back channel in audio/video system |
US20130222210A1 (en) | 2012-02-28 | 2013-08-29 | Qualcomm Incorporated | Frame capture and buffering at source device in wireless display system |
Also Published As
Publication number | Publication date |
---|---|
BR112016014618A2 (pt) | 2017-08-08 |
US20150179143A1 (en) | 2015-06-25 |
KR20160090909A (ko) | 2016-08-01 |
EP3087716A1 (en) | 2016-11-02 |
JP6466466B2 (ja) | 2019-02-06 |
EP3087716B1 (en) | 2022-04-06 |
CA2930730A1 (en) | 2015-07-02 |
CN105850097A (zh) | 2016-08-10 |
US9257097B2 (en) | 2016-02-09 |
JP2017509984A (ja) | 2017-04-06 |
WO2015100026A1 (en) | 2015-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101664247B1 (ko) | 무선 도킹을 위한 무선 대역폭의 효율적 사용을 위한 원격 렌더링 | |
CN113348675B (zh) | 蓝牙真无线立体声(tws)耳塞式耳机之间的快速角色切换 | |
CN107211242B (zh) | 车内无线通信 | |
JP7389264B2 (ja) | 無線通信方法及び無線通信機能を有する装置 | |
KR101653671B1 (ko) | Wi-Fi 디스플레이 연결의 오디오 및 음성 백 채널들의 설정 및 제어 | |
US10306560B2 (en) | Operating-mode transitions based on advertising information | |
EP3029650B1 (en) | Electronic device, audio device, and methods of controlling electronic device and audio device power supply | |
WO2022111672A1 (zh) | 数据处理方法、装置及电子设备 | |
US9525998B2 (en) | Wireless display with multiscreen service | |
US10805672B2 (en) | Information processing device, information processing system, and information processing method | |
US9686030B2 (en) | Method and apparatus for configuration and control of mixer for audio system using wireless docking system | |
US20130033496A1 (en) | Content provisioning for wireless back channel | |
JP2017517922A (ja) | リアルタイムトランスポートプロトコルのためのストリーミング制御 | |
US10306043B2 (en) | Information processing apparatus and method to control a process based on control information | |
CN106406924B (zh) | 应用程序启动和退出画面的控制方法、装置及移动终端 | |
CN110753334A (zh) | 蓝牙通信方法和具有蓝牙通信功能的装置及设备 | |
CN111245854B (zh) | 一种媒体传输方法、媒体控制方法及装置 | |
US10425801B2 (en) | Method and device for providing contents in communication system | |
US11095939B2 (en) | Image display device and system thereof | |
EP3499857B1 (en) | Audio data processing method, terminal device, and storage medium | |
KR20130101801A (ko) | 콘텐츠 처리 장치 및 그 방법 | |
US20220417689A1 (en) | Audio Transmission Method and Electronic Device | |
US20190121908A1 (en) | Information processing system and method | |
TWI523532B (zh) | 視訊通話切換方法和系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |