KR101335247B1 - 원격의 싱크 장치를 표시하는 방법, 이를 위한 소스 장치 및 시스템 - Google Patents
원격의 싱크 장치를 표시하는 방법, 이를 위한 소스 장치 및 시스템 Download PDFInfo
- Publication number
- KR101335247B1 KR101335247B1 KR1020120017578A KR20120017578A KR101335247B1 KR 101335247 B1 KR101335247 B1 KR 101335247B1 KR 1020120017578 A KR1020120017578 A KR 1020120017578A KR 20120017578 A KR20120017578 A KR 20120017578A KR 101335247 B1 KR101335247 B1 KR 101335247B1
- Authority
- KR
- South Korea
- Prior art keywords
- sink
- display
- virtual
- display device
- frame data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
-
- 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/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
-
- 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
-
- 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/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/006—Details of the interface to the display terminal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
무선랜을 통해 통신하는 원격의 싱크 장치를 표시하기 위한 소스 장치는, 싱크 장치에 대한 디스플레이 정보를 수신하고, 싱크 장치에 응용 프로그램을 표시하기 위한 프레임 데이터를 싱크 장치로 전송하는 가상 표시 장치 구동부, 가상 표시 장치 구동부의 싱크 장치 등록을 위한 호출에 따라 싱크 장치의 등록 명령을 전달하는 명령 전달부 및 등록 명령에 따라 싱크 장치를 가상 표시 장치로 등록하고, 프레임 데이터를 쓰기 위한 가상 디바이스 파일을 생성하는 가상 디바이스 파일 생성부를 포함한다. 이에 따라, 원격의 싱크 장치를 소스 장치의 로컬 표시 장치로 가상화하여 화면을 전송하므로, 무선랜을 통하여 싱크 장치에 응용 프로그램을 독립적으로 표시할 수 있다.
Description
본 발명은 원격의 싱크 장치를 표시하는 방법, 이를 위한 소스 장치 및 시스템에 관한 것으로서, 더욱 상세하게는 무선랜 기반의 네트워크에서 원격의 싱크 장치를 표시하는 방법, 이를 위한 소스 장치 및 시스템에 관한 것이다.
최근 전자, 통신 기술이 발달함에 따라 통신 분야뿐만 아니라 서비스 분야를 포함한 전 산업 분야에서 무선통신기술을 이용한 기술이 폭 넓게 사용되고 있는 추세이다. 이에 따라 무선통신망(wireless network)을 기반으로 음성통화, 데이터 전송, 인터넷 등의 다양한 서비스가 제공되고 있는데, 이와 같은 무선통신망을 기반으로 하는 대표적인 무선통신기술로는 와이브로(WiBro: Wireless Broadband internet), 와이파이(WiFi: Wireless Fidelity) 등이 있다.
와이파이는 IEEE 802.11를 표준안으로 하는 근거리 무선통신기술 중 하나로서, 하이파이(Hi-Fi, High Fidelity)에 무선기술을 접목한 것으로 고성능 무선통신을 가능하게 하는 무선랜(Wireless Local Area Network) 기술이다. 무선랜 기술이란 네트워크 구축시 유선을 사용하지 않고 전파나 빛 등을 이용하여 네트워크를 구축하는 방식이다.
이러한 와이파이 기술을 이용하면 노트북 컴퓨터 등의 휴대용 컴퓨터를 주위에서 무선으로 연결하여 사용할 수 있게 된다. 또한, 와이파이 기술을 이용하면 복수개의 PC를 연결하고 큰 파일이나 그래픽, 비디오 및 오디오를 전송할 수 있게 된다. 와이파이의 무선 이더넷은 초당 11 Mbps의 속도를 제공하며 최적의 조건에서는 반경 500 m 내에는 가정이나 직장 어느 곳에서든 사용할 수 있다.
더군다나, 최근에는 와이파이를 사용할 수 있는 노트북 컴퓨터 등의 휴대용 컴퓨터뿐만 아니라, 스마트폰이 출시와 함께 사용자들이 각자 자신의 PC와 같이 스마트폰을 이용함과 동시에 이를 이용하여 와이파이의 접속이 가능해졌다.
그러나, 와이파이를 이용하여 통신하는 스마트폰 및 PC 등을 각각 소스 장치 및 싱크 장치로 사용하여 응용 프로그램을 표시하는 경우, 싱크 장치는 소스 장치로부터 화면을 전달받아 표시한다. 따라서, 싱크 장치는 소스 장치가 표시하는 화면과 동일한 화면만을 표시하게 되므로, 싱크 장치의 표시부의 해상도 등의 특징이 반영되지 않고 일률적으로 소스 장치로부터 제공되는 화면만을 표시할 수 있다.
따라서, 두 개 이상의 장치를 사용하더라도 동일한 화면만을 표시하므로, 싱크 장치의 활용이 제한되는 문제점이 있다. 또한, 두 개 이상의 싱크 장치를 사용하는 경우 각 싱크 장치에 따른 무선 인터페이스가 요구되는 문제점이 있다.
이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 원격의 싱크 장치를 로컬 표시 장치로 가상화하여 화면을 전송하는 소스 장치를 제공하는 것이다.
본 발명의 다른 목적은 상기 소스 장치를 포함하는 무선랜 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은 상기 소스 장치를 이용하여 원격의 싱크 장치를 표시하는 방법을 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 소스 장치는, 무선랜을 통해 통신하는 원격의 싱크 장치에 대한 디스플레이 정보를 수신하고, 상기 싱크 장치에 응용 프로그램을 표시하기 위한 프레임 데이터를 상기 싱크 장치로 전송하는 가상 표시 장치 구동부; 상기 가상 표시 장치 구동부의 상기 싱크 장치 등록을 위한 호출에 따라 상기 싱크 장치의 등록 명령을 전달하는 명령 전달부; 및 상기 등록 명령에 따라 상기 싱크 장치를 가상 표시 장치로 등록하고, 상기 프레임 데이터를 쓰기 위한 가상 디바이스 파일을 생성하는 가상 디바이스 파일 생성부를 포함한다.
본 발명의 실시예에서, 상기 가상 표시 장치 구동부는, 상기 싱크 장치로부터 상기 싱크 장치에 대한 디스플레이 정보를 수신하는 수신부; 상기 싱크 장치에 대한 디스플레이 정보를 해석하여 최적의 해상도를 결정하고, 상기 명령 전달부를 호출하는 정보 처리부; 상기 가상 디바이스 파일에 쓰여진 상기 프레임 데이터를 상기 최적의 해상도로 인코딩하는 코딩부; 및 상기 인코딩된 프레임 데이터를 상기 싱크 장치에 전송하는 전송부를 포함할 수 있다.
본 발명의 실시예에서, 상기 싱크 장치에 대한 디스플레이 정보는 확장된 와이파이 디스플레이 프로토콜 메시지로 전달될 수 있다.
본 발명의 실시예에서, 상기 수신부는 상기 확장된 와이파이 디스플레이 프로토콜 메시지의 확장필드에 저장된 데이터에 따라, 상기 싱크 장치의 EDID 정보를 상기 정보 처리부로 전송할 수 있다.
본 발명의 실시예에서, 상기 정보 처리부는 상기 EDID 정보를 파싱하여 파싱된 타이밍 정보를 상기 코딩부로 전송할 수 있다.
본 발명의 실시예에서, 상기 가상 표시 장치 구동부 및 상기 명령 전달부는 운영체제의 커널 영역에 형성될 수 있다.
본 발명의 실시예에서, 디스커버리(discovery)된 원격의 싱크 장치가 복수개인 경우, 각 싱크 장치에 전송되는 프레임 데이터를 쓰기 위한 복수개의 가상 디바이스 파일을 생성할 수 있다.
본 발명의 실시예에서, 상기 소스 장치는 상기 응용 프로그램을 표시하는 로컬 표시 장치; 상기 로컬 표시 장치에 상기 응용 프로그램을 표시하기 위한 프레임 데이터가 쓰여지는 로컬 디바이스 파일; 및 상기 프레임 데이터를 상기 로컬 표시 장치로 출력하는 로컬 표시 장치 구동부를 더 포함할 수 있다.
본 발명의 실시예에서, 상기 로컬 표시 장치는 상기 소스 장치와 다른 영상을 표시할 수 있다.
상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 무선랜 시스템은, 소스 장치 및 적어도 하나 이상의 싱크 장치를 포함하며, 상기 소스 장치는 상기 싱크 장치에 대한 디스플레이 정보를 수신하고, 상기 싱크 장치에 응용 프로그램을 표시하기 위한 프레임 데이터를 상기 싱크 장치로 전송하는 가상 표시 장치 구동부, 상기 가상 표시 장치 구동부의 상기 싱크 장치 등록을 위한 호출에 따라 상기 싱크 장치의 등록 명령을 전달하는 명령 전달부 및 상기 등록 명령에 따라 상기 싱크 장치를 가상 표시 장치로 등록하고, 상기 프레임 데이터를 쓰기 위한 가상 디바이스 파일을 생성하는 가상 디바이스 파일 생성부를 포함한다. 또한, 상기 싱크 장치는 상기 소스 장치에 디스플레이 정보를 제공하고 상기 프레임 데이터를 수신하는 싱크 표시 장치 구동부 및 상기 프레임 데이터를 이용하여 상기 응용 프로그램을 표시하는 싱크 표시 장치를 포함한다.
본 발명의 실시예에서, 상기 가상 표시 장치 구동부는, 상기 싱크 장치로부터 상기 싱크 장치에 대한 디스플레이 정보를 수신하는 수신부; 상기 싱크 장치에 대한 디스플레이 정보를 해석하여 최적의 해상도를 결정하고, 상기 명령 전달부를 호출하는 정보 처리부; 상기 가상 디바이스 파일에 쓰여진 상기 프레임 데이터를 상기 최적의 해상도로 인코딩하는 코딩부; 및 상기 인코딩된 프레임 데이터를 상기 싱크 장치에 전송하는 전송부를 포함할 수 있다.
본 발명의 실시예에서, 상기 싱크 표시 장치 구동부는, 상기 싱크 표시 장치의 디스플레이 정보를 수집하는 정보 수집부; 상기 디스플레이 정보를 기초로 확장된 와이파이 디스플레이 프로토콜 메시지를 생성하는 메시지 생성부; 상기 와이파이 디스플레이 프로토콜 메시지를 상기 소스 장치로 전송하는 전송부; 및 상기 소스 장치로부터 전송된 프레임 데이터를 수신하는 수신부를 포함할 수 있다.
본 발명의 실시예에서, 상기 소스 장치와 상기 싱크 장치는 와이파이(WiFi) 네트워크를 통하여 통신할 수 있다.
본 발명의 실시예에서, 상기 싱크 표시 장치는 상기 소스 장치와 다른 영상을 표시할 수 있다.
본 발명의 실시예에서, 상기 싱크 표시 장치는 상기 응용 프로그램의 출력 화면을 상기 소스 장치와 통합, 분할 또는 복사하여 표시할 수 있다.
본 발명의 실시예에서, 상기 싱크 표시 장치 구동부와 상기 싱크 표시 장치는 별개의 장치로 구성되며, 인터페이스로 연결될 수 있다.
본 발명의 실시예에서, 상기 싱크 표시 장치 구동부와 상기 싱크 표시 장치는 하나의 장치로 구성될 수 있다.
상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 무선랜을 통해 통신하는 원격의 싱크 장치를 소스 장치에 의해 표시하기 위한 방법은, 상기 싱크 장치에 대한 디스플레이 정보를 수신하여 해석하는 단계; 상기 싱크 장치를 가상 표시 장치로 등록하기 위해 장치등록 명령을 전달하는 단계; 상기 싱크 장치에 응용 프로그램을 표시하기 위한 프레임 데이터가 쓰여지는 가상 디바이스 파일을 생성하는 단계; 및 상기 프레임 데이터를 상기 싱크 장치로 전송하는 단계를 포함한다.
본 발명의 실시예에서, 상기 장치등록 명령을 전달하는 단계는, 상기 싱크 장치의 등록을 위한 시스템 콜을 호출하는 단계; 및 상기 시스템 콜에 따라 장치등록의 이벤트를 전달하는 단계를 포함할 수 있다.
본 발명의 실시예에서, 상기 프레임 데이터를 상기 싱크 장치로 전송하는 단계는, 상기 가상 디바이스 파일에 상기 응용 프로그램의 프레임 데이터를 쓰는 단계; 및 상기 프레임 데이터를 상기 싱크 장치에 적합한 해상도로 인코딩하는 단계를 포함할 수 있다.
본 발명의 실시예에서, 상기 싱크 장치에 대한 디스플레이 정보는 확장된 와이파이 디스플레이 프로토콜 메시지에 의해 전달될 수 있다.
본 발명의 실시예에서, 상기 싱크 장치는 상기 소스 장치와 다른 영상을 표시할 수 있다.
이와 같은 원격의 싱크 장치를 표시하는 방법, 이를 위한 소스 장치 및 시스템에 따르면, 원격의 싱크 장치를 소스 장치의 로컬 표시 장치로 가상화하여 화면을 전송하므로, 무선랜을 통하여 싱크 장치에 응용 프로그램을 독립적으로 표시할 수 있다. 또한, 응용 프로그램의 출력 화면을 상기 싱크 장치에 통합, 분할 또는 복사하여 출력할 수 있으므로, 싱크 장치의 다양하고 편리한 사용을 지원할 수 있다.
나아가, 복수개의 응용 프로그램을 실행하는 경우, 소스 장치 및 싱크 장치에 각각 다른 응용 프로그램을 표시할 수 있다. 또한, 복수개의 싱크 장치가 있는 경우, 별도의 무선 인터페이스가 없이도 하나의 소스 장치를 이용하여 복수개의 싱크 장치에 용이하게 표시할 수 있다.
도 1은 본 발명의 일 실시예에 따른 무선랜 시스템의 블록도이다.
도 2는 도 1의 소스 장치와 싱크 장치에 표시되는 영상을 보여주기 위한 개념도이다.
도 3은 도 1의 싱크 표시 장치 구동부가 싱크 표시 장치의 EDID 정보를 수집하기 위한 코드의 일례이다.
도 4는 도 1의 싱크 표시 장치의 EDID 정보를 설명하기 위한 일례이다.
도 5는 도 1의 싱크 표시 장치의 EDID 정보가 전달되는 메시지의 개념도이다.
도 6은 도 1의 가상 표시 장치 구동부가 EDID 정보를 해석하는 코드의 일례이다.
도 7은 본 발명의 다른 실시예에 따른 무선랜 시스템의 소스 장치의 블록도이다.
도 8은 본 발명의 또 다른 실시예에 따른 무선랜 시스템의 소스 장치의 블록도이다.
도 9는 본 발명의 일 실시예에 따른 원격의 싱크 표시 장치를 표시하는 방법의 흐름도이다.
도 2는 도 1의 소스 장치와 싱크 장치에 표시되는 영상을 보여주기 위한 개념도이다.
도 3은 도 1의 싱크 표시 장치 구동부가 싱크 표시 장치의 EDID 정보를 수집하기 위한 코드의 일례이다.
도 4는 도 1의 싱크 표시 장치의 EDID 정보를 설명하기 위한 일례이다.
도 5는 도 1의 싱크 표시 장치의 EDID 정보가 전달되는 메시지의 개념도이다.
도 6은 도 1의 가상 표시 장치 구동부가 EDID 정보를 해석하는 코드의 일례이다.
도 7은 본 발명의 다른 실시예에 따른 무선랜 시스템의 소스 장치의 블록도이다.
도 8은 본 발명의 또 다른 실시예에 따른 무선랜 시스템의 소스 장치의 블록도이다.
도 9는 본 발명의 일 실시예에 따른 원격의 싱크 표시 장치를 표시하는 방법의 흐름도이다.
이하, 도면들을 참조하여 무선랜(Wireless Local Area Network) 기반의 원격의 싱크 장치를 표시하는 방법, 이를 위한 소스 장치 및 시스템의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1을 참조하면, 본 발명에 따른 무선랜 시스템(1)은 소스 장치(10) 및 소스 장치(10)와 소정의 거리만큼 이격되어 위치하는 싱크 장치(30)를 포함한다.
소스 장치(10)는 스마트 폰, 태블릿 컴퓨터, 넷북, 피디에이(PDA), 피엠피(PMP) 등 인터넷에 접속할 수 있는 다양한 형태의 모바일(mobile) 컴퓨터를 모두 포함할 수 있고, 운영체제(Operation System; OS)를 기반으로 다양한 응용 프로그램을 실행할 수 있다.
상기 운영체제는 응용 프로그램이 컴퓨터의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터에 탑재할 수 있는 운영체제를 모두 포함할 수 있다.
상기 응용 프로그램은 컴퓨터를 이용하여 특정한 작업을 수행할 수 있도록 개발된 프로그램으로서, 각종 어플리케이션뿐 아니라 게임, 동영상, 사진 등의 각종 멀티미디어 컨텐츠(contents) 또는 상기 멀티미디어 컨텐츠를 실행하는 이미지 뷰어, 동영상 재생기 등의 실행 프로그램을 모두 포함할 수 있다.
싱크 장치(30)는 모바일 컴퓨터뿐만 아니라 데스크 탑 컴퓨터, 스마트 TV 등 소스 장치(10)와 무선랜을 통해 통신 가능한 모든 통신 장치를 포함할 수 있다. 싱크 장치(30)는 소스 장치(10)로부터 제공되는 프레임 데이터(fd1)를 표시하여 소스 장치(10)에서 실행되는 응용 프로그램(A1)을 표시할 수 있다.
소스 장치(10) 및 싱크 장치(30)는 무선랜 통신을 지원하는 플랫폼을 포함하고, 서로 무선랜을 통하여 통신한다. 상기 무선랜은 유선을 사용하지 않고 전파나 적외선 등을 이용하여 일정한 거리 안에서 초고속 인터넷을 할 수 있는 방식으로, 와이파이(WiFi: Wireless Fidelity) 등의 근거리 무선통신기술을 모두 포함할 수 있다.
소스 장치(10)가 무선랜 시스템 상의 싱크 장치(30)를 디스커버리(discovery)하는 과정에서 싱크 장치(30)가 발견되면 싱크 장치(30)로부터 디스플레이 정보를 수신하고, 싱크 장치(30)를 가상 표시 장치로 등록한다.
소스 장치(10)는 가상 표시 장치로 등록된 싱크 장치(30)를 로컬 표시 장치로 인식하고, 싱크 장치(30)에 응용 프로그램(A1)을 표시하기 위한 프레임 데이터(fd1)를 싱크 장치(30)로 전송한다. 이를 위해, 소스 장치(10)는 응용 프로그램(A1)이 싱크 장치(30)에 접근할 수 있도록 가상 디바이스 파일(df1)을 생성한다. 이에 대한 자세한 설명은 후술한다.
소스 장치(10)는 싱크 장치(30)를 구동하기 위한 구성들 이외에 소스 장치(10) 자체에 응용 프로그램(A1)을 표시하기 위한 로컬 디바이스 파일(df0), 로컬 표시 장치 구동부(210) 및 로컬 표시 장치(270)를 더 포함할 수 있다.
로컬 표시 장치(270)는 소스 장치(10)에서 실행되는 응용 프로그램(A1)을 표시한다. 로컬 디바이스 파일(df0)은 로컬 표시 장치(270)에 응용 프로그램(A1)을 표시하기 위한 프레임 데이터(fd0)가 쓰여지는 파일로서, 새로 생성되는 가상 디바이스 파일(df1)과 다르게 소스 장치(10)에 포함된다. 로컬 표시 장치 구동부(210)는 프레임 데이터(fd0)를 로컬 표시 장치(270)로 출력한다.
소스 장치(10)가 로컬 표시 장치(270)를 포함하지 않는 경우, 소스 장치(10)는 연결 케이블이나 무선 인터페이스가 없이도 원격에 위치한 싱크 장치(30)를 마치 소스 장치(10)의 로컬 표시 장치와 같이 인식하여 화면을 표시하게 한다.
반면, 소스 장치(10)가 로컬 표시 장치(270)를 포함하는 경우, 무선랜으로 연결된 싱크 장치(30)를 로컬 표시 장치와 같이 인식하므로, 로컬 표시 장치(270)와 싱크 장치(30)를 소스 장치(10)의 다중 로컬 표시 장치로 활용할 수 있다. 이에 따라, 응용 프로그램(A1)의 출력 화면을 소스 장치(10) 및 싱크 장치(30)에 통합, 분할 또는 복사하여 다양하게 표시할 수 있다.
도 2를 참조하면, 소스 장치(10) 및 싱크 장치(30)에 다른 화면이 출력되어, 하나의 통합화면을 표시하는 것을 보여준다. 종래의 싱크 장치는 소스 장치와 동일한 화면만을 표시할 수 있었으나, 본 발명에 따르면 소스 장치(10)가 싱크 장치(30)를 가상의 로컬 표시 장치로 인식하여 싱크 장치(30)에 소스 장치(10)와 독립적으로 다양한 화면을 표시할 수 있다. 도 2에서는 무선접속장치(Access Point; AP, 60)를 도시하였으나, 이를 생략할 수도 있다.
싱크 장치(30)에 대해 구체적으로 설명하면, 싱크 장치(30)는 자신의 디스플레이 정보를 소스 장치(10)로 제공하고, 소스 장치(10)로부터 응용 프로그램(A1)을 표시하기 위한 프레임 데이터(fd1)를 수신하여 표시한다.
이를 위해, 싱크 장치(30)는 소스 장치(10)에 디스플레이 정보를 제공하고 프레임 데이터(fd1)를 수신하는 싱크 표시 장치 구동부(310) 및 프레임 데이터(fd1)를 이용하여 응용 프로그램(A1)을 표시하는 싱크 표시 장치(370)를 포함한다.
싱크 표시 장치 구동부(310)와 싱크 표시 장치(370)는 하나의 장치로 이루어진 올인원(all-in-one) 형태의 장치일 수 있다. 또는, 싱크 표시 장치 구동부(310)와 싱크 표시 장치(370)는 별개의 장치로 구성되며, 무선 또는 유선의 인터페이스로 연결될 수도 있다.
싱크 표시 장치 구동부(310)는 정보 수집부(313), 메시지 생성부(315), 전송부(317) 및 수신부(319)를 포함한다. 싱크 표시 장치 구동부(310)는 싱크 장치(30)의 커널 영역에 형성될 수 있다. 전송부(317) 및 수신부(319)는 별개의 블록으로 도시하였으나 하나의 구성으로 이루어질 수 있다.
정보 수집부(313)는 싱크 표시 장치(370)의 디스플레이 정보를 수집한다. 정보 수집부(313)는 소스 장치(10)로부터 디스커버리 요청을 받는 경우, 상기 요청에 기초하여 디스플레이 정보의 수집을 개시할 수 있다. 싱크 표시 장치(370)의 디스플레이 정보는 EDID(extended display identification data) 형태로 전송될 수 있다. EDID 란, 디스플레이 측으로부터 호스트 측으로 디스플레이 정보를 전달하기 위한 규격으로서, 디스플레이의 능력을 호스트에 전달하기 위한 데이터 형식이다.
예를 들어, 싱크 표시 장치 구동부(310)와 싱크 표시 장치(370)는 HDMI(High-Definition Multimedia Interface) 인터페이스로 연결될 수 있고, 이 경우, HDMI 인터페이스는 싱크 표시 장치(370)의 입력 및 출력 포트로 매핑(mapping)되어 시스템 레지스터(register)를 통하여 싱크 표시 장치(370)에 접근(access)이 가능하다.
도 3을 참조하면, 정보 수집부(313)가 싱크 표시 장치(370)의 EDID 정보를 수집하기 위한 코드의 예를 보여준다. 정보 수집부(313)는 상기 코드를 통해 싱크 표시 장치(370)의 EDID 정보를 수집할 수 있다.
도 4(a)는 싱크 표시 장치(370)의 디스플레이 정보의 일례로서, 128 바이트(byte)로 이루어진 EDID 미가공 데이터(raw data)이다. 또한, 도 4(b)는 도 4(a)의 EDID 미가공 데이터가 포함하고 있는 실제 정보를 보여주는 일례이다.
도 4(b)에 보여지는 바와 같이, 싱크 표시 장치(370)가 모니터일 경우, 모델명, 제조사, 시리얼 넘버, 제조일 등의 장치 정보 및 RGB 데이터 정보, 타이밍 정보, 해상도 등의 디스플레이 정보를 포함하고 있다. 상기 장치 정보는 싱크 장치(30)가 소스 장치(10)에 연결(session)되는데 필요한 정보이고, 상기 디스플레이 정보는 소스 장치(10)가 싱크 장치(30)에 프레임 데이터(fd1)를 전송하는데 필요한 정보이다.
메시지 생성부(315)는 정보 수집부(313)로부터 수신된 싱크 표시 장치(370)의 EDID 정보를 소스 장치(10)에 전송하기 위한 메시지를 생성한다. 메시지 생성부(315)는 무선랜 통신에서 표준으로 사용하는 정보요소(information element)를 확장하여 메시지를 구성할 수 있다. 상기 정보요소는 식별자, 정보 요소 길이, 정보의 내용으로 구성될 수 있으며, 와이파이 디스플레이 프로토콜 메시지 형식으로 전달될 수 있다.
도 5를 참조하면, 메시지 생성부(315)가 생성한 확장된 와이파이 디스플레이 프로토콜 메시지의 일례를 보여준다. 정보요소를 나타내는 프로토콜 메시지(410)는 256 바이트의 데이터로서, 253 내지 255 번째 바이트를 확장하여 사용한다. 프로토콜 메시지(410)의 253 번째 바이트(401)는 확장 정보의 유무를 나타낸다.
구체적으로, 프로토콜 메시지(410)의 253 번째 바이트(401)의 데이터가 '0'인 경우 확장 정보가 존재하지 않는 것을 나타내며, 253 번째 바이트(401)의 데이터가 '1'인 경우 확장 정보가 존재하는 것을 나타낸다. 프로토콜 메시지(410)의 253 번째 바이트(401)의 데이터가 '1'인 경우, 이후 254 및 255 번째 바이트(402)는 확장 정보의 크기를 나타낸다.
싱크 표시 장치(370)의 EDID 정보를 포함하고 있는 확장 정보(420)는 상기 254 및 255 번째 바이트(402)가 나타내는 정보의 크기를 갖는다. 확장 정보(420)는 EDID 헤더(header), 표준 디스플레이 패널 파라미터(parameter) 및 체크섬(checksum) 등을 포함할 수 있다. 상기 표준 디스플레이 패널 파라미터는 싱크 표시 장치(370)의 해상도 및 상기 해상도에 따른 대역폭 등의 정보를 포함하며, 디스플레이의 옵션 정보를 더 포함할 수 있다. 확장 정보(420)의 실제 구성은 2진(binary) 코드로 구성될 수 있다.
전송부(317)는 메시지 생성부(315)가 생성한 확장된 와이파이 디스플레이 프로토콜 메시지를 소스 장치(10)로 전송한다. 상기 확장된 와이파이 디스플레이 프로토콜 메시지는 소스 장치(10)가 싱크 장치(30)로 프레임 데이터(fd1)를 전송하는데 이용된다.
이후, 싱크 장치(30)가 소스 장치(10)에 연결되고, 소스 장치(10)가 응용 프로그램(A1)을 표시하기 위한 프레임 데이터(fd1)를 전송하면, 수신부(319)가 프레임 데이터(fd1)를 수신하여 싱크 표시 장치(370)로 전달한다. 프레임 데이터(fd1)는 싱크 표시 장치(370)에 사용되는 데이터로 디코딩하거나 타이밍 제어한 후 싱크 표시 장치(370)로 전달될 수도 있다.
싱크 표시 장치(370)는 프레임 데이터(fd1)를 표시하여 응용 프로그램(A1)의 일부 또는 전체 화면을 표시할 수 있다. 싱크 표시 장치(370)는 소스 장치(10)의 가상의 로컬 표시 장치와 같이 동작하여 소스 장치(10)의 로컬 표시 장치(270)와 독립적인 화면 표시가 가능하다.
소스 장치(10)에 대해 구체적으로 설명하면, 싱크 장치(30)를 로컬 표시 장치로 가상화하여 구동하기 위한 구성들로서, 가상 표시 장치 구동부(110), 명령 전달부(130) 및 가상 디바이스 파일 생성부(150)를 포함한다.
명령 전달부(130) 및 가상 디바이스 파일 생성부(150)는 소스 장치(10)의 운영체제의 커널 영역에 형성되고, 가상 디바이스 파일 생성부(150)는 응용 프로그램의 인터페이스 영역, 즉 사용자 영역에 형성될 수 있다. 커널 영역은 인터럽트 처리, 프로세스 관리, 메모리 관리, 파일 시스템 관리, 프로그래밍 인터페이스를 제공하는 등 컴퓨터 운영체제의 가장 중요한 핵심으로서 컴퓨터의 가장 기본적인 장치들을 관리하고 제어하는 영역이다. 따라서, 커널 영역은 일반적으로 접근이 불가능한 메모리에 로드(load)되며, 하드웨어를 제어하기 위한 일종의 API(Application Program Interface)라고 볼 수 있다.
가상 표시 장치 구동부(110)는 싱크 장치(30)의 디스플레이 정보를 수신하고, 싱크 장치(30)에 응용 프로그램(A1)을 표시하기 위한 프레임 데이터(fd1)를 싱크 장치(30)로 전송한다. 이를 위해, 가상 표시 장치 구동부(110)는 수신부(111), 정보 처리부(113), 코딩부(115) 및 전송부(117)를 포함한다. 수신부(111)및 전송부(117)는 별개의 블록으로 도시하였으나 하나의 구성으로 이루어질 수 있다.
수신부(111)는 소스 장치(10)가 싱크 장치(30)와 무선랜 통신을 가능하도록 제어하며, 싱크 장치(30)로부터 확장된 와이파이 디스플레이 프로토콜 메시지를 수신한다. 수신부(111)는 확장된 와이파이 디스플레이 프로토콜 메시지의 253 번째 바이트(401)의 데이터가 '1'인 경우, 이후에 따르는 확장 정보(420)를 정보 처리부(113)로 전달한다. 확장 정보(420)는 수신부(111)로부터 정보 처리부(113)로 버퍼(buffer)를 통하여 전달될 수 있다.
정보 처리부(113)는 싱크 장치(30)의 디스플레이 정보를 해석하기 위하여 확장 정보(420)를 파싱한다. 도 6을 참조하면, 정보 처리부(113)의 EDID 정보의 각 섹션(section)별 파싱(parsing) 과정을 보여준다. 도 6(a) 및 도 6(b)는 나누어 도시되었으나 연속되는 일련의 코드이다.
정보 처리부(113)는 해석된 EDID 정보의 해상도 중 무선통신 네트워크 상의 대역폭(bandwidth)을 고려하여 지연(latency)이 최소화된 최적의 해상도를 결정한다. 또한, 정보 처리부(113)는 파싱된 EDID 정보 중 타이밍(timing description) 정보는 코딩부(115)로 전달한다. 또한, 정보 처리부(113)는 싱크 장치(30)의 디스플레이 정보를 제공받은 경우 싱크 장치(30)를 등록하기 위해 명령 전달부(130)의 장치등록을 위한 시스템 콜을 호출한다.
명령 전달부(130)는 장치등록을 위한 시스템 콜을 제공하며 소스 장치(10)의 운영체제의 커널 영역에 형성되어 있다. 예를 들어, 상기 운영체제가 구글사의 안드로이드인 경우, 명령 전달부(130)는 리눅스 커널일 수 있다.
정보 처리부(113)가 명령 전달부(130)의 장치등록을 위한 시스템 콜을 호출하는 경우, 명령 전달부(130)는 가상 표시 장치 구동부(110)를 커널 영역의 메모리에 로드(load)하고, 장치등록의 이벤트(event)를 가상 디바이스 파일 생성부(150)로 전송한다.
가상 디바이스 파일 생성부(150)는 명령 전달부(130)로부터 전달된 장치등록의 이벤트(event)에 응답하여 싱크 장치(30)를 가상 표시 장치로 등록하고, 싱크 장치(30)를 위한 가상 디바이스 파일(df1)을 생성한다. 예를 들어, 상기 운영체제가 구글사의 안드로이드인 경우, 가상 디바이스 파일 생성부(150)는 udevd 또는 udev라는 리눅스 커널의 디바이스 매니저(device manager)일 수 있다. 상기 udevd 또는 udev는 동적인 디바이스 파일의 생성 및 삭제의 기능을 담당하는 데몬(daemon) 프로세스로서 주기적인 서비스 요청을 처리하기 위해 계속 실행되는 프로그램이다.
가상 디바이스 파일(df1)은 응용 프로그램(A1)이 가상 표시 장치 구동부(110)에 접근할 수 있도록 하는 인터페이스 역할을 하며, 응용 프로그램(A1)이 시스템 콜을 시용하여 가상 표시 장치 구동부(110)와 상호작용을 할 수 있게 한다. 가상 디바이스 파일(df1)은 응용 프로그램(A1)이 실행되는 동안에만 존재하거나, 일정 시간 동안 사용하지 않는 경우 자동으로 삭제될 수 있다.
생성된 가상 디바이스 파일(df1)은 장치등록 과정에서 로드된 가상 표시 장치 구동부(110)의 코딩부(115)와 매핑(mapping)되고, 응용 프로그램(A1)이 싱크 장치(30)에 응용 프로그램(A1)을 표시하기 위한 프레임 데이터(fd1)를 가상 디바이스 파일(df1)에 쓴다(write).
코딩부(115)는 가상 디바이스 파일(df1)을 통해 전달된 프레임 데이터(fd1)를 정보 처리부(113)에서 결정한 최적의 해상도로 인코딩하여 전송부(117)로 전달한다.
전송부(117)는 인코딩된 프레임 데이터(fd1)를 싱크 장치(30)로 전송하고, 이를 수신한 싱크 장치(30)는 응용 프로그램(A1)을 표시할 수 있다.
본 실시예에 따라, 싱크 장치에 복사된 화면만을 전송하는 종래 기술과 달리, 응용 프로그램(A1)의 화면을 소스 장치(10)와 싱크 장치(30)에 통합, 분할 또는 복사하여 출력하여 사용자에게 편리한 사용환경을 제공할 수 있다. 예를 들어, 화면 통합의 경우, 도 2에 도시된 바와 같이, 소스 장치(10)와 싱크 장치(30)에 표시되는 화면이 하나의 통합화면을 구성할 수 있다. 화면 분할의 경우, 응용 프로그램(A1)이 게임 어플리케이션인 경우 소스 장치(10)의 로컬 표시 장치(270)에는 게임을 컨트롤하기 위한 콘솔(console)을 표시하고, 싱크 장치(30)의 싱크 표시 장치(370)에는 게임화면을 분할하여 표시할 수 있다. 화면 복사의 경우, 종래 기술과 같이 소스 장치(10)와 싱크 장치(30)에 동일한 화면을 표시할 수 있으나, 싱크 장치(30)의 디스플레이 정보를 이용하여 최적의 해상도로 표시할 수 있다.
본 실시예에 따른 소스 장치(10) 및 시스템(1)에 따르면, 원격의 싱크 장치(30)를 가상의 로컬 표시 장치로 인식하여 별도의 무선 인터페이스가 없이도 싱크 장치(30)에 응용 프로그램(A1)을 표시할 수 있다.
또한, 소스 장치(10)와 싱크 장치(30)의 출력 화면은 독립적으로 표시가 가능하므로, 사용자의 선택 또는 응용 프로그램(A1)의 특성에 따라 다양하게 활용할 수 있다. 나아가, 싱크 장치(30)로부터 다양한 출력 디스플레이 정보의 옵션을 제공받아 상황에 따른 최적의 해상도를 선택할 수 있어 가변적인 화면 전송 방식을 구현할 수 있다.
도 7을 참조하면, 본 실시예에 따른 무선랜 시스템(3)은 소스 장치(12)가 두 개의 응용 프로그램(A2, A3)을 실행하는 것을 제외하고, 도 1의 무선랜 시스템(1)의 소스 장치(10) 및 싱크 장치(30)와 실질적으로 동일하다. 따라서, 도 1의 소스 장치(10) 및 싱크 장치(30)와 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다.
본 실시예에 따른 소스 장치(12)는 제1 응용 프로그램(A2) 및 제2 응용 프로그램(A3)을 동시에 실행하고 있다. 소스 장치(12)가 무선랜 시스템 상의 싱크 장치(32)를 디스커버리(discovery)하는 과정에서 싱크 장치(32)가 발견되면 싱크 장치(32)로부터 디스플레이 정보를 수신하고, 싱크 장치(32)를 가상 표시 장치로 등록한다.
소스 장치(12)는 가상 표시 장치로 등록된 싱크 장치(32)를 로컬 표시 장치로 인식하고, 싱크 장치(30)에 제1 응용 프로그램(A2) 또는 제2 응용 프로그램(A3)을 표시하기 위한 프레임 데이터(fd2)를 싱크 장치(32)에 전송한다. 이를 위해, 가상 디바이스 파일 생성부(150)는 제1 응용 프로그램(A2) 또는 제2 응용 프로그램(A3)이 가상 표시 장치 구동부(110)에 접근할 수 있도록 가상 디바이스 파일(df2)을 생성한다.
본 실시예에서 제1 응용 프로그램(A2)은 소스 장치(10)의 로컬 표시 장치(270)에 표시하고, 제2 응용 프로그램(A3)은 싱크 장치(30)의 싱크 표시 장치(370)에 표시할 수 있다. 이 경우, 제1 응용 프로그램(A2)을 표시하기 위한 프레임 데이터(fd0)는 로컬 디바이스 파일(df0)에 쓰여지고, 로컬 표시 장치(270)로 출력된다. 또한, 제2 응용 프로그램(A3)을 표시하기 위한 프레임 데이터(fd2)는 가상 디바이스 파일(df2)에 쓰여지고, 싱크 장치(32)로 전송되어 표시된다.
본 실시예에서는 소스 장치(12)에 두 개의 응용 프로그램(A2, A3)을 실행하고, 이를 각각 소스 장치(12) 및 싱크 장치(32)에서 표시하는 것으로 설명하였으나, 응용 프로그램은 두 개 이상 동시에 실행될 수 있고, 사용자의 선택 또는 응용 프로그램(A1)의 특성에 따라 소스 장치(12) 또는 싱크 장치(32)에 표시될 수 있다. 나아가, 싱크 장치(32)는 두 개 이상일 수 있으며, 필요에 따라 활용할 수 있다.
본 실시예에 따른 소스 장치(12) 및 시스템(3)에 따르면, 별도의 무선 인터페이스를 구비하지 않고도, 복수개의 응용 프로그램을 각 소스 장치(12) 또는 싱크 장치(32)에 표시하여 장치의 활용성 및 편리성을 높일 수 있다.
도 8을 참조하면, 본 실시예에 따른 무선랜 시스템(5)은 두 개 이상의 싱크 장치들(33, 34, 35)을 포함하는 것을 제외하고, 도 1의 무선랜 시스템(1)의 소스 장치(10) 및 싱크 장치(30)와 실질적으로 동일하다. 따라서, 도 1의 소스 장치(10) 및 싱크 장치(30)와 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다.
본 실시예에 따른 무선랜 시스템(5)은 세 개의 싱크 장치, 즉, 제1 싱크 장치(33), 제2 싱크 장치(34) 및 제3 싱크 장치(35)를 포함한다. 소스 장치(14)가 무선랜 시스템 상의 싱크 장치들(33, 34, 35)을 디스커버리(discovery)하는 과정에서 싱크 장치들(33, 34, 35)이 발견되면 싱크 장치들(33, 34, 35)로부터 디스플레이 정보를 수신하고, 싱크 장치들(33, 34, 35)을 가상 표시 장치로 등록한다. 싱크 장치들(33, 34, 35)의 등록은 순서대로 또는 동시에 진행될 수 있다.
소스 장치(14)는 가상 표시 장치로 등록된 싱크 장치들(33, 34, 35)을 로컬 표시 장치들로 인식하고, 응용 프로그램(A4)을 표시하기 위한 프레임 데이터들(fd3, fd4, fd5)를 각 싱크 장치들(33, 34, 35)에 전송한다. 이를 위해, 가상 디바이스 파일 생성부(150)는 응용 프로그램(A4)이 가상 표시 장치 구동부(110)에 접근할 수 있도록 가상 디바이스 파일들(df3, df4, df5)을 생성한다.
즉, 생성된 제1 가상 디바이스 파일(df3)에 응용 프로그램(A4)의 제1 프레임 데이터(fd3)가 쓰여지고, 가상 표시 장치 구동부(110)를 거쳐 제1 싱크 장치(33)로 전송되어 표시된다. 마찬가지로, 생성된 제2 가상 디바이스 파일(df4)에 응용 프로그램(A4)의 제2 프레임 데이터(fd4)가 쓰여지고, 가상 표시 장치 구동부(110)를 거쳐 제2 싱크 장치(34)로 전송되어 표시되고, 생성된 제3 가상 디바이스 파일(df5)에 응용 프로그램(A4)의 제3 프레임 데이터(fd5)가 쓰여지고, 가상 표시 장치 구동부(110)를 거쳐 제3 싱크 장치(35)로 전송되어 표시된다.
본 실시예에 따라, 응용 프로그램(A4)의 화면을 소스 장치(14), 제1 싱크 장치(33), 제2 싱크 장치(34) 및 제3 싱크 장치(35)에 통합, 분할 또는 복사하여 출력할 수 있다. 본 실시예에서는 세 개의 싱크 장치들(33, 34, 35)을 포함하는 것으로 설명하였으나, 싱크 장치는 두 개 이상일 수 있고, 사용자의 선택 또는 응용 프로그램(A4)의 특성에 따라 소스 장치(14), 제1 싱크 장치(33), 제2 싱크 장치(34) 및 제3 싱크 장치(35)에 응용 프로그램(A4)의 화면을 일부 또는 전부 표시할 수 있다.
본 실시예에 따른 소스 장치(14) 및 시스템(5)에 따르면, 각 싱크 장치들(33, 34, 35)에 따른 별도의 무선 인터페이스를 구비하지 않고도, 가상 디바이스 파일 생성부(150)가 생성한 가상 디바이스 파일들(df3, df4, df5)에 의해 싱크 장치들(33, 34, 35)에 응용 프로그램(A4)을 표시하기 위한 프레임 데이터들(fd3, fd4, fd5)을 전송할 수 있다.
도 9를 참조하면, 본 실시예에 따라 원격의 싱크 표시 장치를 표시하는 방법은, 도 1의 무선랜 시스템(1)의 소스 장치(10) 및 싱크 장치(30)와 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 1의 소스 장치(10) 및 싱크 장치(30)와 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다.
본 실시예에 따른 원격의 싱크 표시 장치를 표시하는 방법에서, 싱크 표시 장치 구동부(310)는 싱크 표시 장치(370)의 디스플레이 정보를 수집한다(S11). 싱크 표시 장치 구동부(310)는 상기 디스플레이 정보를 소스 장치(10)에 전송하기 위한 메시지를 생성한다(S13). 상기 메시지는 확장된 와이파이 디스플레이 프로토콜 메시지로 구성될 수 있으며, 소스 장치(10)로 전송된다(S15).
가상 표시 장치 구동부(110)는 상기 메시지를 해석하고(S21), 싱크 장치(30)의 등록을 위한 시스템 콜을 호출한다(S23). 명령 전달부(130)는 가상 표시 장치 구동부(110)를 커널 영역의 메모리에 로드하고(S25), 장치등록의 이벤트(event)를 가상 디바이스 파일 생성부(150)로 전송한다(S27).
가상 디바이스 파일 생성부(150)는 명령 전달부(130)로부터 전달된 장치등록의 이벤트(event)에 응답하여 싱크 장치(30)를 가상 표시 장치로 등록하고, 싱크 장치(30)를 위한 가상 디바이스 파일(df1)을 생성한다(S29).
가상 디바이스 파일(df1)은 응용 프로그램(A1)이 가상 표시 장치 구동부(110)에 접근할 수 있도록 하는 인터페이스 역할을 하며, 응용 프로그램(A1)이 시스템 콜을 시용하여 가상 표시 장치 구동부(110)와 상호작용을 할 수 있게 한다.
응용 프로그램(A1)은 싱크 장치(30)에 응용 프로그램(A1)을 표시하기 위한 프레임 데이터(fd1)를 가상 디바이스 파일(df1)에 쓰고(write)(S31), 프레임 데이터(fd1)는 가상 디바이스 파일 생성부(150)로 전달된다(S33). 프레임 데이터(fd1)는 싱크 장치(30)에 최적의 해상도로 인코딩되어(S33), 싱크 표시 장치 구동부(310)로 출력된다(S37).
싱크 표시 장치 구동부(310)는 프레임 데이터(fd1)를 디코딩하거나 타이밍 제어하여, 싱크 표시 장치(370)로 전달한다(S41). 싱크 표시 장치(370)는 프레임 데이터(fd1)를 표시하여 응용 프로그램(A1)의 일부 또는 전체 화면을 표시할 수 있다(S43).
본 실시예에 따른 원격의 싱크 표시 장치를 표시하는 방법에 따르면, 원격의 싱크 장치(30)를 가상의 로컬 표시 장치로 인식하여 별도의 무선 인터페이스가 없이도 싱크 장치(30)에 응용 프로그램(A1)을 표시할 수 있다. 또한, 소스 장치(10)와 싱크 장치(30)의 출력 화면은 독립적으로 표시가 가능하므로, 사용자의 선택 또는 응용 프로그램(A1)의 특성에 따라 다양하게 활용할 수 있다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
1, 3, 5: 무선랜 시스템 10, 12, 14: 소스 장치
30, 32, 33, 34, 35: 싱크 장치 110: 가상 표시 장치 구동부
111: 수신부 113: 정보 처리부
115: 코딩부 117: 전송부
130: 명령 전달부 150: 가상 디바이스 파일 생성부
210: 로컬 표시 장치 구동부 270: 로컬 표시 장치
310: 싱크 표시 장치 구동부 313: 정보 수집부
315: 메시지 생성부 317: 전송부
319: 수신부 370: 싱크 표시
30, 32, 33, 34, 35: 싱크 장치 110: 가상 표시 장치 구동부
111: 수신부 113: 정보 처리부
115: 코딩부 117: 전송부
130: 명령 전달부 150: 가상 디바이스 파일 생성부
210: 로컬 표시 장치 구동부 270: 로컬 표시 장치
310: 싱크 표시 장치 구동부 313: 정보 수집부
315: 메시지 생성부 317: 전송부
319: 수신부 370: 싱크 표시
Claims (22)
- 응용 프로그램을 표시하는 로컬 표시 장치;
상기 로컬 표시 장치에 응용 프로그램을 표시하기 위한 프레임 데이터를 상기 로컬 표시 장치로 출력하는 로컬 표시 장치 구동부;
무선랜을 통해 통신하는 원격의 싱크 장치에 대한 디스플레이 정보를 수신하고, 상기 싱크 장치에 응용 프로그램을 표시하기 위한 프레임 데이터를 상기 싱크 장치로 전송하는 가상 표시 장치 구동부;
상기 가상 표시 장치 구동부의 상기 싱크 장치 등록을 위한 호출에 따라 상기 싱크 장치의 등록 명령을 전달하는 명령 전달부; 및
상기 등록 명령에 따라 상기 싱크 장치를 가상 표시 장치로 등록하고, 상기 싱크 장치에 응용 프로그램을 표시하기 위한 프레임 데이터가 쓰여지는 가상 디바이스 파일을 생성하는 가상 디바이스 파일 생성부를 포함하는 소스 장치.
- 제1항에 있어서, 상기 가상 표시 장치 구동부는,
상기 싱크 장치로부터 상기 싱크 장치에 대한 디스플레이 정보를 수신하는 수신부;
상기 싱크 장치에 대한 디스플레이 정보를 해석하여 최적의 해상도를 결정하고, 상기 명령 전달부를 호출하는 정보 처리부;
상기 가상 디바이스 파일에 쓰여진 프레임 데이터를 상기 최적의 해상도로 인코딩하는 코딩부; 및
상기 인코딩된 프레임 데이터를 상기 싱크 장치에 전송하는 전송부를 포함하는 것을 특징으로 하는 소스 장치.
- 제2항에 있어서,
상기 싱크 장치에 대한 디스플레이 정보는 확장된 와이파이 디스플레이 프로토콜 메시지로 전달되는 것을 특징으로 하는 소스 장치.
- 제3항에 있어서,
상기 수신부는 상기 확장된 와이파이 디스플레이 프로토콜 메시지의 확장필드에 저장된 데이터에 따라, 상기 싱크 장치의 EDID 정보를 상기 정보 처리부로 전송하는 것을 특징으로 하는 소스 장치.
- 제4항에 있어서,
상기 정보 처리부는 상기 EDID 정보를 파싱하여 파싱된 타이밍 정보를 상기 코딩부로 전송하는 것을 특징으로 하는 소스 장치.
- 제2항에 있어서,
상기 가상 표시 장치 구동부 및 상기 명령 전달부는 운영체제의 커널 영역에 형성되는 것을 특징으로 하는 소스 장치.
- 제1항에 있어서,
디스커버리(discovery)된 원격의 싱크 장치가 복수개인 경우, 각 싱크 장치에 전송되는 프레임 데이터를 쓰기 위한 복수개의 가상 디바이스 파일을 생성하는 것을 특징으로 하는 소스 장치.
- 제1항에 있어서,
상기 로컬 표시 장치에 상기 응용 프로그램을 표시하기 위한 프레임 데이터가 쓰여지는 로컬 디바이스 파일을 더 포함하는 것을 특징으로 하는 소스 장치.
- 제8항에 있어서,
상기 로컬 표시 장치는 상기 소스 장치와 다른 영상을 표시하는 것을 특징으로 하는 소스 장치.
- 소스 장치 및 적어도 하나 이상의 싱크 장치를 포함하는 무선랜 시스템에 있어서,
응용 프로그램을 표시하는 로컬 표시 장치, 상기 로컬 표시 장치에 응용 프로그램을 표시하기 위한 프레임 데이터를 상기 로컬 표시 장치로 출력하는 로컬 표시 장치 구동부, 상기 싱크 장치에 대한 디스플레이 정보를 수신하고, 상기 싱크 장치에 응용 프로그램을 표시하기 위한 프레임 데이터를 상기 싱크 장치로 전송하는 가상 표시 장치 구동부, 상기 가상 표시 장치 구동부의 상기 싱크 장치 등록을 위한 호출에 따라 상기 싱크 장치의 등록 명령을 전달하는 명령 전달부 및 상기 등록 명령에 따라 상기 싱크 장치를 가상 표시 장치로 등록하고, 상기 싱크 장치에 응용 프로그램을 표시하기 위한 프레임 데이터가 쓰여지는 가상 디바이스 파일을 생성하는 가상 디바이스 파일 생성부를 포함하는 소스 장치; 및
상기 소스 장치에 디스플레이 정보를 제공하고 상기 프레임 데이터를 수신하는 싱크 표시 장치 구동부 및 상기 프레임 데이터를 이용하여 응용 프로그램을 표시하는 싱크 표시 장치를 포함하는 싱크 장치를 포함하는 무선랜 시스템.
- 제10항에 있어서, 상기 가상 표시 장치 구동부는,
상기 싱크 장치로부터 상기 싱크 장치에 대한 디스플레이 정보를 수신하는 수신부;
상기 싱크 장치에 대한 디스플레이 정보를 해석하여 최적의 해상도를 결정하고, 상기 명령 전달부를 호출하는 정보 처리부;
상기 가상 디바이스 파일에 쓰여진 프레임 데이터를 상기 최적의 해상도로 인코딩하는 코딩부; 및
상기 인코딩된 프레임 데이터를 상기 싱크 장치에 전송하는 전송부를 포함하는 것을 특징으로 하는 무선랜 시스템.
- 제10항에 있어서, 상기 싱크 표시 장치 구동부는,
상기 싱크 표시 장치의 디스플레이 정보를 수집하는 정보 수집부;
상기 디스플레이 정보를 기초로 확장된 와이파이 디스플레이 프로토콜 메시지를 생성하는 메시지 생성부;
상기 와이파이 디스플레이 프로토콜 메시지를 상기 소스 장치로 전송하는 전송부; 및
상기 소스 장치로부터 전송된 프레임 데이터를 수신하는 수신부를 포함하는 것을 특징으로 하는 무선랜 시스템.
- 제10항에 있어서,
상기 소스 장치와 상기 싱크 장치는 와이파이(WiFi) 네트워크를 통하여 통신하는 것을 특징으로 하는 무선랜 시스템.
- 제10항에 있어서,
상기 싱크 표시 장치는 상기 소스 장치와 다른 영상을 표시하는 것을 특징으로 하는 무선랜 시스템.
- 제14항에 있어서,
상기 싱크 표시 장치는 응용 프로그램의 출력 화면을 상기 소스 장치와 통합, 분할 또는 복사하여 표시하는 것을 특징으로 하는 무선랜 시스템.
- 제10항에 있어서,
상기 싱크 표시 장치 구동부와 상기 싱크 표시 장치는 별개의 장치로 구성되며, 인터페이스로 연결된 것을 특징으로 하는 무선랜 시스템.
- 제10항에 있어서,
상기 싱크 표시 장치 구동부와 상기 싱크 표시 장치는 하나의 장치로 구성되는 것을 특징으로 하는 무선랜 시스템.
- 무선랜을 통해 통신하는 원격의 싱크 장치를 소스 장치에 의해 표시하기 위한 방법에 있어서,
상기 싱크 장치에 대한 디스플레이 정보를 수신하여 해석하는 단계;
상기 싱크 장치를 가상 표시 장치로 등록하기 위해 시스템 콜을 호출하는 단계;
상기 시스템 콜에 따라 장치등록의 이벤트를 전달하는 단계;
상기 싱크 장치에 응용 프로그램을 표시하기 위한 프레임 데이터가 쓰여지는 가상 디바이스 파일을 생성하는 단계; 및
상기 프레임 데이터를 상기 싱크 장치로 전송하는 단계를 포함하는 원격의 싱크 장치를 표시하는 방법.
- 삭제
- 제18항에 있어서, 상기 프레임 데이터를 상기 싱크 장치로 전송하는 단계는,
상기 가상 디바이스 파일에 응용 프로그램의 프레임 데이터를 쓰는 단계; 및
상기 프레임 데이터를 상기 싱크 장치에 적합한 해상도로 인코딩하는 단계를 포함하는 것을 특징으로 하는 원격의 싱크 장치를 표시하는 방법.
- 제18항에 있어서,
상기 싱크 장치에 대한 디스플레이 정보는 확장된 와이파이 디스플레이 프로토콜 메시지에 의해 전달되는 것을 특징으로 하는 원격의 싱크 장치를 표시하는 방법.
- 제18항에 있어서,
상기 싱크 장치는 상기 소스 장치와 다른 영상을 표시하는 것을 특징으로 하는 원격의 싱크 장치를 표시하는 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120017578A KR101335247B1 (ko) | 2012-02-21 | 2012-02-21 | 원격의 싱크 장치를 표시하는 방법, 이를 위한 소스 장치 및 시스템 |
US13/666,434 US20130215142A1 (en) | 2012-02-21 | 2012-11-01 | Apparatus and method for displaying an image on a sink device |
EP12192487.2A EP2631901A2 (en) | 2012-02-21 | 2012-11-13 | Apparatus and method for displaying an image on a sink device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120017578A KR101335247B1 (ko) | 2012-02-21 | 2012-02-21 | 원격의 싱크 장치를 표시하는 방법, 이를 위한 소스 장치 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130096059A KR20130096059A (ko) | 2013-08-29 |
KR101335247B1 true KR101335247B1 (ko) | 2013-11-29 |
Family
ID=47351426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120017578A KR101335247B1 (ko) | 2012-02-21 | 2012-02-21 | 원격의 싱크 장치를 표시하는 방법, 이를 위한 소스 장치 및 시스템 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130215142A1 (ko) |
EP (1) | EP2631901A2 (ko) |
KR (1) | KR101335247B1 (ko) |
Families Citing this family (22)
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 |
US8964783B2 (en) | 2011-01-21 | 2015-02-24 | 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 |
US9787725B2 (en) | 2011-01-21 | 2017-10-10 | Qualcomm Incorporated | User input back channel for wireless displays |
US20130013318A1 (en) | 2011-01-21 | 2013-01-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 |
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 |
WO2016048065A1 (ko) * | 2014-09-24 | 2016-03-31 | 엘지전자 주식회사 | 무선 통신 시스템에서 wfd 소스가 듀얼 스크린에 관한 신호를 송수신 방법 및 장치 |
KR102274400B1 (ko) * | 2014-11-24 | 2021-07-08 | 현대엠엔소프트 주식회사 | 외부 기기로의 데이터 전송 방법 및 그 장치 |
CN104994153B (zh) * | 2015-06-30 | 2018-09-14 | Tcl移动通信科技(宁波)有限公司 | 一种wifi display的图像传输方法及系统 |
CN105739937B (zh) * | 2016-01-27 | 2020-03-17 | 努比亚技术有限公司 | 一种移动终端投影方法、终端设备及系统 |
KR102196873B1 (ko) | 2019-01-18 | 2020-12-31 | 대한민국(국립특수교육원장) | 장애인의 전자장치 사용을 위한 보조 장치 |
CN110990068B (zh) * | 2019-11-29 | 2023-05-12 | 龙芯中科(西安)科技有限公司 | 一种显示方法、装置、电子设备及存储介质 |
CN113259613B (zh) * | 2020-02-07 | 2022-12-06 | 广东博华超高清创新中心有限公司 | 一种改进hdmi显示数据流压缩互通互联的方法 |
ES2850280A1 (es) * | 2020-02-26 | 2021-08-26 | Univ Vigo | Procedimiento y sistema para mejorar la experiencia de usuario utilizando capacidades de un dispositivo electrónico diferente |
TWI747682B (zh) * | 2020-12-24 | 2021-11-21 | 元太科技工業股份有限公司 | 電泳顯示裝置與電泳顯示裝置的驅動方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008035517A (ja) * | 2006-02-14 | 2008-02-14 | Matsushita Electric Ind Co Ltd | 無線通信システム |
JP2011114353A (ja) * | 2009-11-24 | 2011-06-09 | Panasonic Corp | ソース装置用アダプタ装置、ソース装置用アダプタ装置の制御方法、シンク装置用アダプタ装置、シンク装置用アダプタ装置の制御方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8325107B2 (en) * | 2006-02-10 | 2012-12-04 | Qualcomm Incorporated | Wireless monitor proxy |
US9241062B2 (en) * | 2009-05-20 | 2016-01-19 | Citrix Systems, Inc. | Methods and systems for using external display devices with a mobile computing device |
US8594002B2 (en) * | 2010-09-15 | 2013-11-26 | Intel Corporation | Method and system of mapping displayport over a wireless interface |
US8704732B2 (en) * | 2010-09-29 | 2014-04-22 | Qualcomm Incorporated | Image synchronization for multiple displays |
-
2012
- 2012-02-21 KR KR1020120017578A patent/KR101335247B1/ko active IP Right Grant
- 2012-11-01 US US13/666,434 patent/US20130215142A1/en not_active Abandoned
- 2012-11-13 EP EP12192487.2A patent/EP2631901A2/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008035517A (ja) * | 2006-02-14 | 2008-02-14 | Matsushita Electric Ind Co Ltd | 無線通信システム |
JP2011114353A (ja) * | 2009-11-24 | 2011-06-09 | Panasonic Corp | ソース装置用アダプタ装置、ソース装置用アダプタ装置の制御方法、シンク装置用アダプタ装置、シンク装置用アダプタ装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20130215142A1 (en) | 2013-08-22 |
EP2631901A2 (en) | 2013-08-28 |
KR20130096059A (ko) | 2013-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101335247B1 (ko) | 원격의 싱크 장치를 표시하는 방법, 이를 위한 소스 장치 및 시스템 | |
US8832328B2 (en) | Data redirection for universal serial bus devices | |
CN108702480B (zh) | 电子设备和用于驱动其显示器的方法 | |
KR101576238B1 (ko) | 디스플레이 인터페이스를 통한 시리얼 버스 지원의 유연한 구현 | |
CN107003968B (zh) | 虚拟显示器输出端口配置 | |
US20130050271A1 (en) | Mobile terminal, image display device mounted on vehicle and data processing method using the same | |
US11764996B2 (en) | Streaming on diverse transports | |
JP2015513805A (ja) | 電子デバイス通信のための方法および装置 | |
JP2013542515A (ja) | 異環境間リダイレクション | |
KR20160069443A (ko) | 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치 | |
CN103257839A (zh) | 跨设备进行显示的方法、系统和移动终端 | |
WO2016142713A1 (en) | System for connecting external displays to a mobile device | |
JP2008089886A (ja) | 無線伝送方法 | |
JP2014534522A (ja) | マルチタッチインターフェース方式 | |
WO2016206195A1 (zh) | 一种信息处理方法、终端、系统及计算机存储介质 | |
WO2018049939A1 (zh) | 数据迁移方法及相关产品 | |
TWI486786B (zh) | 隨著使用情境進行資料傳輸動態調整之方法與裝置及計算機程式產品 | |
KR101484045B1 (ko) | 스마트폰용 다중 디스플레이 장치 | |
JP6354854B2 (ja) | 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム | |
KR20130062078A (ko) | 모바일 디바이스에서 외부 디스플레이 장치의 해상도에 맞는 화면을 제공하는 방법 | |
TW201409396A (zh) | 圖像處理裝置及外接圖像裝置 | |
KR102678121B1 (ko) | 컨테이너 화면 미러링을 위한 전자 장치 및 방법 | |
KR20230081250A (ko) | 컨테이너 화면 미러링을 위한 전자 장치 및 방법 | |
CN105100670B (zh) | 实施移动高清传输技术的方法及其电子装置 | |
CN116996645A (zh) | 摄像头数据传输方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170508 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190430 Year of fee payment: 6 |