KR20140097512A - 향상된 무선 디스플레이 - Google Patents

향상된 무선 디스플레이 Download PDF

Info

Publication number
KR20140097512A
KR20140097512A KR1020147017900A KR20147017900A KR20140097512A KR 20140097512 A KR20140097512 A KR 20140097512A KR 1020147017900 A KR1020147017900 A KR 1020147017900A KR 20147017900 A KR20147017900 A KR 20147017900A KR 20140097512 A KR20140097512 A KR 20140097512A
Authority
KR
South Korea
Prior art keywords
data streams
operating system
display
data stream
system desktop
Prior art date
Application number
KR1020147017900A
Other languages
English (en)
Other versions
KR101606662B1 (ko
Inventor
저스틴 리프만
자오후아 엘. 이
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20140097512A publication Critical patent/KR20140097512A/ko
Application granted granted Critical
Publication of KR101606662B1 publication Critical patent/KR101606662B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1438Digital 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 using more than one graphics controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/02Graphics controller able to handle multiple formats, e.g. input or output formats
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/10Use of a protocol of communication by packets in interfaces along the display data pipeline
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/16Use of wireless transmission of display information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

장치 소스는 그래픽 디스플레이를 다수의 데이터 스트림들(즉, 상이한 계층들)로 분해하는 능력을 제공한다. 다수의 데이터 스트림들은 멀티미디어 데이터 스트림들, 운영 체제(OS) 데스크톱 데이터 스트림들, 및 마우스 데이터 스트림들을 포함할 수 있다. 다수의 데이터 스트림들은 인코딩되고 장치 소스에 의해 독립적으로 무선 디스플레이 장치에 송신될 수 있다.

Description

향상된 무선 디스플레이{ENHANCED WIRELESS DISPLAY}
무선 디스플레이(WiDi) 기술은 콘텐츠가 개인용 컴퓨터(PC)와 같은 장치로부터 다른 장치(예를 들어, 무선 디스플레이 유닛)로 공유될 수 있게 하는 비디오 기술의 일 예이다. 장치로부터의 콘텐츠는 무선 채널을 통해 텔레비전(TV), 다른 PC 디스플레이/스크린, 또는 다른 WiDi 가능 장치와 같은 무선 디스플레이 유닛에 송신될 수 있다. 일 구현에서, 장치로부터의 전체 데스크톱은 캡처되어 무선 디스플레이 유닛에 연속적으로 전송된다. 연속 프레임 버퍼를 디스플레이 유닛에 제공하는 시스템에서, 데이터 송신에서의 리던던시는 전체 데스크톱이 정적일 때 발생할 수 있다. 다시 말하면, 연속적 인코딩 스트림은 전체 데스크톱이 변화하지 않을 때에도 높은 네트워크 이용을 도입할 수 있다.
송신 동안, 스트림 기반 손실 인코딩 메커니즘은 사용자에게 보일 수도 있는 잡음 아티팩트들(noise artifacts)을 도입할 수 있고 운영 체제(OS) 데스크톱 그래픽을 디스플레이할 때 나쁜 사용자 경험을 제공할 수 있다. 이 때문에, 사용자에게 더 좋은 비주얼(visual) 및 상호작용 경험을 제공하기 위해 운영 체제(OS) 데스크톱 그래픽을 원격으로 디스플레이하는 WiDi의 능력이 더 향상될 수 있다. 향상은 네트워크 오버헤드를 감소시킬 수 있고 네트워크 조건들을 최적화한다.
상세한 설명은 첨부 도면들을 참조하여 설명된다. 도면들에서, 참조 번호의 가장 좌측 숫자(들)는 참조 번호가 처음 나타나는 도면을 식별한다. 동일한 번호들은 같은 특징들 및 구성요소들을 참조하기 위해 도면들 도처에 사용된다.
도 1은 다수의 데이터 스트림 인코딩에 의해 향상된 무선 디스플레이(WiDi)를 구현하는 예시적 시스템을 예시하는 도면이다.
도 2는 다수의 데이터 스트림 인코딩에 의해 향상된 무선 디스플레이(WiDi)를 구현하는 예시적 장치 소스를 예시하는 도면이다.
도 3은 다수의 데이터 스트림들을 수신하는 예시적 디스플레이 장치를 예시하는 도면이다.
도 4는 다수의 데이터 스트림들로 그래픽 디스플레이의 분해를 구현하는 갱신 유닛 장치를 예시하는 도면이다.
도 5는 향상된 무선 디스플레이(WiDi)에 대한 상이한 계층들을 포함하는 그래픽 디스플레이를 예시하는 도면이다.
도 6은 병렬화된 그래픽 처리 유닛(GPU) 기반 알고리즘을 사용하는 향상된 무선 디스플레이(WiDi)에 대한 예시적 방법을 예시하는 흐름도이다.
개요
장치 소스 내의 소프트웨어 기반 구현은 그래픽 디스플레이를 다수의 데이터 스트림들(즉, 상이한 계층들)로 분해하는 능력을 제공한다. 다수의 데이터 스트림들은 멀티미디어 데이터 스트림들, 운영 체제(OS) 데스크톱 데이터 스트림들, 및 마우스(포인팅 장치) 데이터 스트림들을 포함할 수 있다. 다수의 데이터 스트림들은 독립적으로 장치 소스에 의해 인코딩되고 송신될 수 있다. 유사하게, 디스플레이 장치는 수신된 다수의 데이터 스트림들을 독립적으로 디코딩한다. 게다가, 이미지 변경들(예를 들어, OS 데스크톱 배경)에 관한 갱신들은 검출된 수정 셀들에 기초한 갱신들의 송신들에 제한될 수 있다. 예를 들어, 프레임은 N x M 개의 픽셀들을 포함하는 k 개의 셀들로 분할될 수 있다. 이러한 예에서, 수정 셀(들)은 병렬화된 그래픽 처리 유닛(GPU) 기반 알고리즘을 사용하여 2개의 연속하는 프레임의 셀들을 비교함으로써 검출될 수 있다. 검출된 수정 셀(들)은 디스플레이 장치의 현재 버퍼 프레임에 송신되어 병합될 수 있다. 따라서, 네트워크 최적화가 획득된다.
이하의 상세한 설명에서, 다수의 특정 상세들은 본 발명의 완전한 이해를 제공하기 위해 진술된다. 그러나, 본 발명은 이러한 특정 상세들 없이 실시될 수 있다는 점이 당업자들에 의해 이해될 것이다. 다른 경우들에서, 공지된 방법들, 절차들, 구성요소들 및 회로들은 본 발명을 모호하게 하지 않도록 상세히 설명되지 않았다.
이어지는 상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들 또는 이진 디지털 신호들에 대한 동작들의 알고리즘들 및 기호적 표현들에 관하여 제공된다. 이러한 알고리즘 설명들 및 표현들은 작업의 본질을 다른 당업자들에게 전달하기 위해 데이터 처리 분야의 당업자들에 의해 사용되는 기술들일 수 있다.
구체적으로 다르게 언급되지 않으면, 이하의 논의들로부터 분명한 바와 같이, 명세서 도처에서 "처리하는", "컴퓨팅하는", "계산하는", "결정하는" 등과 같은 용어들을 이용하는 논의들은 컴퓨팅 시스템의 레지스터들 및/또는 메모리들 내의 물리적, 예컨대 전자적 양으로 표현되는 데이터를 컴퓨팅 시스템의 메모리들, 레지스터들 또는 다른 그러한 정보 스토리지, 또는 송신 장치들 내의 물리적 양과 유사하게 표현되는 다른 데이터로 조작하고/하거나 변환하는 컴퓨터 또는 컴퓨팅 시스템, 또는 유사한 전자 컴퓨팅 장치의 동작 및 프로세스들을 언급하는 것이 이해된다. 용어 "하나의"("a" 또는 "an")는 본 명세서에 사용되는 바와 같이, 하나, 또는 하나보다 많은 것으로 정의된다. 용어 "복수의"는, 본 명세서에 사용되는 바와 같이, 2개, 또는 2개보다 많은 것으로 정의된다. 용어 "다른"은 본 명세서에 사용되는 바와 같이, 적어도 제2 또는 그 이상으로 정의된다. 용어 "구비하는" 및/또는 "갖는"은 본 명세서에 사용되는 바와 같이, 포함하는 것으로 정의되지만, 이에 제한되지 않는다. 결합된의 용어는 본 명세서에 사용되는 바와 같이, 임의의 원하는 형태로, 예를 들어 기계적으로, 전자적으로, 디지털적으로, 직접적으로, 소프트웨어에 의해, 하드웨어 등에 의해 동작가능하게 연결된 것으로 정의된다.
일부 실시예들은 다양한 장치들 및 시스템들, 예를 들어 비디오 장치, 오디오 장치, A/V(audio-video) 장치, STB(Set-Top-Box), BD(Blu-ray disc) 플레이어, BD 녹화기, DVD(Digital Video Disc) 플레이어, HD(High Definition) DVD 플레이어, DVD 녹화기, HD DVD 녹화기, PVR(Personal Video Recorder), 브로드캐스트 HD 수신기, 비디오 소스, 오디오 소스, 비디오 싱크(sink), 오디오 싱크, 스테레오 동조기, 브로드캐스트 라디오 수신기, 디스플레이, 플랫 패널 디스플레이, PMP(Personal Media Player), DVC(digital video camera), 디지털 오디오 플레이어, 스피커, 오디오 수신기, 오디오 증폭기, 데이터 소스, 데이터 싱크, DSC(Digital Still camera), 개인용 컴퓨터(PC), 데스크톱 컴퓨터, 이동 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 태블릿 컴퓨터, 서버 컴퓨터, 핸드헬드 컴퓨터, 핸드헬드 장치, PDA(Personal Digital Assistant) 장치, 핸드헬드 PDA 장치, 온 보드 장치, 오프 보드 장치, 하이브리드 장치, 차량 장치, 비차량 장치, 이동 또는 휴대용 장치, 소비자 장치, 비이동 또는 비휴대용 장치, 무선 통신국, 무선 통신 장치, 무선 AP, 유선 또는 무선 라우터, 유선 또는 무선 모뎀, 유선 또는 무선 네트워크, 무선 영역 네트워크, WVAN(Wireless Video Area Network), LAN(Local Area Network), WLAN, PAN, WPAN, 기존 WirelessHDTM 및/또는 WGA(Wireless-Gigabit-Alliance) 사양들 및/또는 장래의 버전들 및/또는 그것의 파생어들에 따라 동작하는 장치들 및/또는 네트워크들, 기존 IEEE 802.11(IEEE 802.11-2007: 무선 LAN 매체 액세스 제어(MAC) 및 물리 계층(PHY) 사양들) 표준들 및 수정들, 802.11ad("IEEE 802.11 표준들"), IEEE 802.16 표준들, 및/또는 장래의 버전들 및/또는 그것의 파생어들에 따라 동작하는 장치들 및/또는 네트워크들, 상기 네트워크들의 일부인 유닛들 및/또는 장치들, 단방향 및/또는 양방향 무선 통신 시스템들, 셀룰러 무선 전화 통신 시스템들, 무선 디스플레이(WiDi) 장치, 휴대 전화, 무선 전화, PCS(Personal Communication Systems) 장치, 무선 통신 장치를 통합하는 PDA 장치, 이동 또는 휴대용 GPS(Global Positioning System) 장치, GPS 수신기 또는 송수신기 또는 칩을 통합하는 장치, RFID 소자 또는 칩을 통합하는 장치, MIMO(Multiple Input Multiple Output) 송수신기 또는 장치, SIMO(Single Input Multiple Output) 송수신기 또는 장치, MISO(Multiple Input Single Output) 송수신기 또는 장치, 하나 이상의 내부 안테나들 및/또는 외부 안테나들을 갖는 장치, DVB(Digital Video Broadcast) 장치들 또는 시스템들, 다중 표준 무선 장치들 또는 시스템들, 유선 또는 무선 핸드헬드 장치, WAP(Wireless Application Protocol) 장치 등과 함께 사용될 수 있다.
일부 실시예들은 하나 이상의 타입들의 무선 통신 신호들 및/또는 시스템들, 예를 들어 RF(Radio Frequency), Wi-Fi, Wi-Max, UWB(Ultra-Wideband) 등과 함께 사용될 수 있다. 다른 실시예들은 다양한 다른 장치들, 시스템들 및/또는 네트워크들에 사용될 수 있다.
일부 실시예들은 적절한 제한 범위 또는 단거리 무선 통신 네트워크들, 예를 들어 "피코넷들", 예를 들어 무선 영역 네트워크, WVAN, WPAN 등과 함께 사용될 수 있다.
예시적 시스템
도 1은 그래픽 디스플레이를 표현하기 위해 다수의 데이터 스트림들을 사용하여 향상된 무선 디스플레이(WiDi)를 구현하는 예시적 시스템 환경(100)의 시스템-레벨 개요를 도시한다. 일 구현에서, 그래픽 디스플레이는 멀티미디어 데이터 스트리밍(예를 들어, 비디오 및 오디오), 운영 체제(OS) 데스크톱 데이터 스트리밍(예를 들어, 데스크톱 배경), 및 마우스(포인팅 장치) 데이터 스트리밍과 같은 상이한 계층들로 분해된다. 그래픽 디스플레이는 WiDi 어댑터(106)를 사용하여 장치 소스(102)로부터 디스플레이 장치(104)로 송신될 수 있다. 일 구현에서, 장치 소스(102)는 랩톱 컴퓨터들, 태블릿 컴퓨터들, 스마트폰들 등과 같은 다양한 장치들을 포함할 수 있다. 더욱이, 상기 논의된 바와 같이, 장치 소스(102)는 다른 장치들을 포함하는 것으로 이해된다.
장치 소스(102)는 WiDi 데이터 송신을 향상시키기 위해 소프트웨어 기반 구현을 포함할 수 있다. 예를 들어, 장치 소스(102)는 상이한 계층들을 그래픽 디스플레이에서 독립적으로 인코딩하고 송신하도록 구성될 수 있다. 이러한 예에서, 장치 소스(102)는 멀티미디어 데이터 스트림들, 운영 체제(OS) 데스크톱 데이터 스트림들, 및 마우스(포인팅 장치) 데이터 스트림들을 독립적으로 송신할 수 있다. 일 구현에서, 최종 사용자는 디스플레이 장치(104)에 디스플레이하기 위해 상이한 계층들의 어느 하나 이상의 조합들을 선택할 수 있다. WiDi 어댑터(106)는 선택된 계층을 수신할 수 있다. 게다가, WiDi 어댑터(106)는 디스플레이 장치(104) 내의 현재 디스플레이에 갱신들을 병합할 수 있다. 갱신들은 디스플레이 장치(104)에 송신될 필요가 있는 장치 소스(102)에서의 이미지 변경들을 포함할 수 있다. WiDi 어댑터(106)는 송신된 상이한 계층들(즉, 다수의 데이터 스트림들)을 하나 이상의 무선 채널들(108)을 통해 수신할 수 있다. 하나 이상의 무선 채널들(108)은 하나 이상의 IEEE 표준들 하에 정의된 변조(들)를 포함할 수 있다. 일 구현에서, HD 텔레비전(HDTV)과 같은 디스플레이 장치(104)는 HDMI(high definition multimedia input) 연결과 같은 연결(110)에 의해 WiDi 어댑터(106)에 연결될 수 있다. 다른 구현들에서, HDTV 유닛들 또는 다른 디스플레이 장치들과 같은 WiDi 기술 가능 장치들은 WiDi 기술을 직접 통합할 수 있다. 다시 말하면, WiDi 어댑터(106)는 디스플레이 장치(104)에 직접 통합될 수 있다.
예시적 장치
도 2는 다수의 데이터 스트림들을 그래픽 디스플레이에서 독립적으로 인코딩하고 송신함으로써 향상된 WiDi를 구현하는 예시적 장치 소스(102)이다. 장치 소스(102)는 하나 이상의 프로세서들, 프로세서(들)(200)를 포함한다. 프로세서(들)(200)는 단일 처리 유닛 또는 다수의 처리 유닛들일 수 있으며, 그것의 모두는 단일 또는 다수의 컴퓨팅 유닛들 또는 다수의 코어들을 포함할 수 있다. 프로세서(들)(200)는 하나 이상의 마이크로프로세서들, 마이크로컴퓨터들, 마이크로컨트롤러들, 디지털 신호 프로세서들, 중앙 처리 유닛들, 상태 머신들, 로직 회로들, 및/또는 동작 명령들에 기초하여 신호들을 조작하는 임의의 장치들로 구현될 수 있다. 다른 능력들 중에서, 프로세서(들)(200)는 메모리(202) 또는 다른 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 판독가능 명령들 또는 프로세서 액세스가능 명령들을 인출(fetch)하고 실행하도록 구성될 수 있다.
메모리(202)는 본 명세서에 설명되는 다양한 기능들을 수행하기 위해 프로세서(들)(200)에 의해 실행되는 명령들을 저장하는 컴퓨터 판독가능 저장 매체의 일 예이다. 예를 들어, 메모리(202)는 일반적으로 휘발성 메모리 및 비휘발성 메모리(예를 들어, RAM, ROM 등) 둘 다를 포함할 수 있다. 메모리(202)는 본 명세서에서 메모리 또는 컴퓨터 판독가능 저장 매체로 지칭될 수 있다. 메모리(202)는 본 명세서에서 구현들에 설명되는 동작들 및 기능들을 수행하는데 구성되는 특정 머신으로서 프로세서(들)(200)에 의해 실행될 수 있는 컴퓨터 프로그램 코드로서 컴퓨터 판독가능, 프로세서 실행가능 프로그램 명령들을 저장할 수 있다.
메모리(202)는 하나 이상의 운영 체제들(204)을 포함할 수 있고, 하나 이상의 애플리케이션들(206)을 저장할 수 있다. 운영 체제(들)(204)는 개인용 컴퓨터들, 오디오 비디오 장치들 등에 구현되는 다양하게 공지된 및 장래의 운영 체제들 중 하나일 수 있다. 애플리케이션들(206)은 사전구성/설치되고 다운로드가능한 애플리케이션들을 포함할 수 있다. 게다가, 메모리(202)는 설치되고 다운로드된 애플리케이션들을 저장하기 위한 데이터(208)를 포함할 수 있다. 메모리(202)는 다수의 데이터 스트림들에 의해 정의되는 이미지 표현들(즉, 그래픽 디스플레이)을 나타내기 위해 시각 디스플레이 유닛을 포함할 수 있는 디스플레이 데이터(210)를 포함한다. 다수의 데이터 스트림들은 갱신 유닛(212)에 의해 독립적으로 처리될 수 있는 상이한 계층들을 포함할 수 있다. 일 구현에서, 갱신 유닛(212)은 연속 프레임들 사이에서 수정 셀(들)을 검출하기 위해 병렬화된 GPU 기반 알고리즘을 구현할 수 있다. 게다가, 갱신 유닛은 그래픽 디스플레이를 다수의 데이터 스트림들로 분해할 수 있다.
일 구현에서, 다수의 데이터 스트림들은 다수의 데이터 스트림들에 대한 상이한 전송 기술들을 사용하는 WiDi 멀티스트림 인코더(214)를 사용하여 송신될 수 있다. 예를 들어, 멀티미디어 데이터 스트림들은 H264 표준 인코더를 사용할 수 있고 올웨이즈 온(always-on) 스트리밍 접근법을 채택한다. 다른 한편, 운영 체제(OS) 데스크톱 애플리케이션 및 마우스(포인팅 장치) 데이터 스트림들은 요구에 따라 송신될 수 있다. 다시 말하면, 예를 들어, 시스템 및 네트워크 성능을 최적화하면서 전체 사용자 경험을 최대화하기 위해 상이한 레벨의 QOS(quality of service)를 갖는 다수의 데이터 스트림들이 개별적으로 취급된다. 다른 구현들에서, 다수의 데이터 스트림들의 처리(예를 들어, 분해)는 장치 소스(102)에서 운영 체제(OS) 데스크톱 매니저와 독립적이다.
일 구현에서, WiDi 멀티스트림 인코더(214)는 갱신 유닛(212)에 의해 생성되는 다수의 데이터 스트림들을 개별적으로 그리고 독립적으로 인코딩하고 패킷화하도록 구성될 수 있다. 인코딩되고 패키화된 다수의 데이터 스트림들은 부가 정보가 추가될 수 있는 하나 이상의 통신 계층(들)(216)에 송신될 수 있다. 계층들은 부가 정보(예를 들어, 헤더들 및 데이터)가 추가되는 RTC(real-time communications protocol)/TCP(transmission control protocol)/UDP(user datagram protocol) 및 MAC(media access control) 계층들을 포함할 수 있다. WiFi 드라이버 모듈(218)은 통신 계층(들)(216)으로부터 다수의 데이터 스트림들을 수신할 수 있다. WiFi 드라이버 모듈(218)은 라디오(220)에 대해 구성될 수 있다. 특히, WiFi 드라이버 모듈(218)은 라디오(220)의 송신기(222)에 대해 구성될 수 있다. 송신기(222)는 안테나(224)에 결합된다. 장치 소스(102)는 라디오(220) 이외의 다른 통신 인터페이스들(도시되지 않음)을 포함할 수 있다는 점이 이해되어야 한다.
실시예들은 소프트웨어 구현들을 제공한다. 예를 들어, 갱신 유닛(212)은 메모리(202)에 상주하는 소프트웨어 애플리케이션들로 구현될 수 있다. 따라서, 라디오(220)의 수정과 같은 하드웨어 구현이 회피될 수 있다. 어떤 구현들에서, 갱신 유닛(212) 및 WiDi 멀티스트림 인코더(214)는 동일한 플랫폼 상에 상주한다.
본 명세서에 설명되는 장치 소스(102)는 일부 구현들에 적절한 단지 일 예이고 본 명세서에 설명되는 프로세스들, 구성요소들 및 특징들을 구현할 수 있는 환경들, 아키텍처들 및 프레임워크들의 사용 또는 기능의 범위에 관한 임의의 제한을 제안하도록 의도되지 않는다.
일반적으로, 도면들을 참조하여 설명되는 기능들 중 임의의 것은 소프트웨어, 하드웨어(예를 들어, 고정 로직 회로) 또는 이러한 구현들의 조합을 사용하여 구현될 수 있다. 프로그램 코드는 하나 이상의 컴퓨터 판독가능 메모리 장치들 또는 다른 컴퓨터 판독가능 저장 장치들에 저장될 수 있다. 따라서, 본 명세서에 설명되는 프로세스들 및 구성요소들은 컴퓨터 프로그램 제품에 의해 구현될 수 있다.
상기 언급된 바와 같이, 컴퓨터 저장 매체는 컴퓨터 판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크들(DVD) 또는 다른 광 스토리지, 자기 카세트들, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 저장 장치들, 또는 컴퓨팅 장치에 의해 액세스되는 정보를 저장하기 위해 사용될 수 있는 임의의 다른 매체를 포함하지만, 이들에 제한되지 않는다.
예시적 WiDi 어댑터/WiDi 가능 장치
도 3은 송신된 다수의 데이터 스트림들을 장치 소스(102)로부터 수신하는 예시적 디스플레이 장치(104)이다. 일 구현에서, 디스플레이 장치는 WiDi 어댑터(106)(즉, 디스플레이 장치(104)에 통합됨)를 포함한다. 디스플레이 장치(104)는 하나 이상의 프로세서들, 프로세서(들)(302)를 포함할 수 있다. 프로세서(들)(302)는 단일 처리 유닛 또는 다수의 처리 유닛들일 수 있으며, 그것의 모두는 단일 또는 다수의 컴퓨팅 유닛들 또는 다수의 코어들을 포함할 수 있다. 프로세서(들)(302)는 하나 이상의 마이크로프로세서들, 마이크로컴퓨터들, 마이크로컨트롤러들, 디지털 신호 프로세서들, 중앙 처리 유닛들, 상태 머신들, 로직 회로들, 및/또는 동작 명령들에 기초하여 신호들을 조작하는 임의의 장치들로 구현될 수 있다. 다른 능력들 중에서, 프로세서(들)(302)는 메모리(304) 또는 다른 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 판독가능 명령들 또는 프로세서 액세스가능 명령들을 인출하고 실행하도록 구성될 수 있다.
메모리(304)는 본 명세서에 설명되는 다양한 기능들을 수행하기 위해 프로세서(들)(302)에 의해 실행되는 명령들을 저장하는 컴퓨터 판독가능 저장 매체의 일 예이다. 예를 들어, 메모리(304)는 일반적으로 휘발성 메모리 및 비휘발성 메모리(예를 들어, RAM, ROM 등) 둘 다를 포함할 수 있다. 메모리(304)는 본 명세서에서 메모리 또는 컴퓨터 판독가능 저장 매체로 지칭될 수 있다. 메모리(304)는 본 명세서에서 구현들에 설명되는 동작들 및 기능들을 수행하는데 구성되는 특정 머신으로서 프로세서(들)(302)에 의해 실행될 수 있는 컴퓨터 프로그램 코드로서 컴퓨터 판독가능, 프로세서 실행가능 프로그램 명령들을 저장할 수 있다.
메모리(304)는 하나 이상의 운영 체제들(306)을 포함할 수 있고, 하나 이상의 애플리케이션들(308)을 저장할 수 있다. 운영 체제(들)(306)는 개인용 컴퓨터들, 오디오 비디오 장치들 등에 구현되는 다양하게 공지된 및 장래의 운영 체제들 중 하나일 수 있다. 애플리케이션들(308)은 사전구성/설치되고 다운로드가능한 애플리케이션들을 포함할 수 있다. 게다가, 메모리(304)는 데이터(310)를 포함할 수 있다.
디스플레이 장치(104)는 라디오(312)를 포함할 수 있다. 라디오(312)는 수신기(316)에 결합된 하나 이상의 안테나(314)를 포함한다. 장치 소스(102)로부터 송신되는 인코딩되고 패킷화된 다수의 데이터 스트림들은 수신기(316)에 의해 수신된다. 수신된 다수의 데이터 스트림들은 다양한 통신 계층들(318)을 통해 전달될 수 있다. 멀티스트림 디코더(320)는 다수의 데이터 스트림들을 처리(디코딩)하고, 디스플레이 데이터(324)에서 디스플레이를 위해 디코딩된 다수의 데이터 스트림들을 갱신 유닛/프레임 버퍼(322)에 전달한다.
본 명세서에 설명되는 예시적 장치(300)는 일부 구현들에 적절한 단지 일 예이고, 본 명세서에 설명되는 프로세스들, 구성요소들 및 특징들을 구현할 수 있는 환경들, 아키텍처들 및 프레임워크들의 사용 또는 기능의 범위에 관한 임의의 제한을 제안하도록 의도되지 않는다.
일반적으로, 도면들을 참조하여 설명되는 기능들 중 임의의 것은 소프트웨어, 하드웨어(예를 들어, 고정 로직 회로) 또는 이러한 구현들의 조합을 사용하여 구현될 수 있다. 프로그램 코드는 하나 이상의 컴퓨터 판독가능 메모리 장치들 또는 다른 컴퓨터 판독가능 저장 장치들에 저장될 수 있다. 따라서, 본 명세서에 설명되는 프로세스들 및 구성요소들은 컴퓨터 프로그램 제품에 의해 구현될 수 있다.
상기 언급된 바와 같이, 컴퓨터 저장 매체는 컴퓨터 판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크들(DVD) 또는 다른 광 스토리지, 자기 카세트들, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 저장 장치들, 또는 컴퓨팅 장치에 의해 액세스되는 정보를 저장하기 위해 사용될 수 있는 임의의 다른 매체를 포함하지만, 이들에 제한되지 않는다.
갱신 유닛 장치의 예
도 4는 갱신 유닛 장치를 예시하는 도면을 도시한다. 일 구현에서, 갱신 유닛(212)은 디스플레이 데이터(210)에서의 그래픽 디스플레이를 상이한 계층들(즉, 다수의 데이터 스트림들)로 분해하도록 구성될 수 있다. 다수의 데이터 스트림들은 멀티미디어 데이터 스트림들(400)(예를 들어, 비디오 및 오디오), 운영 체제(OS) 데스크톱 데이터 스트림들(402)(예를 들어, 데스크톱 배경), 및 마우스(포인팅 장치) 데이터 스트림들(404)을 포함할 수 있다. 다수의 데이터 스트림들의 하나 이상의 조합들은 디스플레이 장치(104)에 송신될 수 있다. 예를 들어, 사용자는 디스플레이 장치(104)에 디스플레이하기 위해 멀티미디어 데이터 스트림(400)을 선택한다. 이러한 예에서, 운영 체제(OS) 데스크톱 데이터 스트림들(402) 및 마우스(포인팅 장치) 데이터 스트림들(404)의 송신들이 중단된다. 운영 체제(OS) 데스크톱 데이터 스트림들(402) 및 마우스 데이터 스트림들(404)의 비송신은 네트워크 부하를 최적화할 수 있고 장치 소스(102) 및 디스플레이 장치(104)에서 전력 소모를 감소시킨다.
다른 경우에, 사용자는 디스플레이 장치(104)에서 멀티미디어 데이터 스트림(400)과 함께 운영 체제(OS) 데스크톱 데이터 스트림(402) 및 마우스(포인팅 장치) 데이터 스트림들(404)을 추가하는 것을 선택할 수 있다. 이러한 구현에서, 디스플레이 데이터(210)에서의 이미지 변경들(예를 들어, 고정 운영 체제(OS) 데스크톱)의 부재에도 불구하고 운영 체제(OS) 데스크톱 데이터 스트림들(402) 및 마우스(포인팅 장치) 데이터 스트림들(404)의 연속적 송신은 높은 네트워크 이용을 도입할 수 있다. 이 때문에, 갱신 유닛(212)은 데이터 처리 및 전력 소모를 보존하기 위해 이미지 디스플레이의 부분 갱신들 또는 부분 변경들을 송신하도록 구성될 수 있다. 일 구현에서, 디스플레이 데이터(210)에서 특정 그래픽 디스플레이 이미지를 정의하는 프레임은 크기 N x M 픽셀들의 k 셀들로 분할된다. 전형적으로, 프레임 버퍼(406)에 저장되는 2개의 연속하는 프레임은 k 셀들에 의해 커버되는 전체 면적을 포함하지 않을 수 있는 부분 갱신들 또는 변경들을 포함할 수 있다. 다시 말하면, k 셀들의 일부는 부분 갱신들을 커버할 수 있다. 부분 갱신들을 결정하기 위해, 2개의 저장된 연속 프레임(예를 들어, 현재 및 이전 프레임들) 사이의 k 셀들은 수정되는 특정 셀(들)을 검출함으로써 비교될 수 있다. 수정 셀들의 검출은 GPU(408)로 구성되는 병렬화된 GPU 기반 알고리즘을 사용하여 구현될 수 있다.
일 구현에서, GPU(408)는 연속 프레임들 사이에서 병렬 비교를 구현하기 위해 n 개의 코어들(도시되지 않음)을 포함할 수 있다. 예를 들어, k-셀 프레임을 비교하기 위해 n-GPU(408) 코어들이 주어지면, 비교 알고리즘의 n-인스턴스들은 모든 k-셀들이 비교될 때까지 실행된다. 트래킹 어레이(tracking array)(도시되지 않음)는 수정되었던 셀(들)을 검출하기 위해 GPU(408)에 의해 구현될 수 있다. 예를 들어, 트래킹 어레이는 수정이 검출될 때마다 비트 원(1)으로 갱신된다. 다른 구현들에서, GPU(408)는 수정이 검출되면 비교를 종료(exit)하도록 구성될 수 있다.
일 구현에서, GPU(408)는 동적 N x M 픽셀 치수(dimension)들을 처리하도록 구성될 수 있다. 동적 N x M 픽셀 치수들은 보다 많은 원자적 갱신들(atomic updates)을 가능하게 하고 손상되거나 손실된 프레임의 영향들을 제한하기 위해 특정 단일 프레임에 적합하도록 조정될 수 있다. 다른 구현들에서, GPU(408)는 사용자가 스크린을 볼 수 있는 방법이 주어지면 데스크톱 운영 체제(OS) 스크린의 특정 영역들의 갱신들에 중요도를 할당하도록 구성될 수 있다. 예를 들어, OS 데스크톱 데이터 스트림들(400)에 의해 정의되는 특정 영역은 데스크톱 운영 체제(OS) 스크린의 중심 부분들을 포함할 수 있다. 이러한 예에서, GPU(408)는 영역들의 나머지(예를 들어, 데스크톱 운영 체제(OS) 스크린의 경계)를 검출하기 전에 데스크톱 운영 체제(OS) 스크린의 중심 부분들에서 셀 수정들을 우선 검출하도록 구성될 수 있다.
예시적 그래픽 디스플레이
도 5는 디스플레이 장치(104)에 디스플레이될 수 있는 상이한 계층들을 예시하는 예시적 그래픽 디스플레이(500)이다. 일 구현에서, 디스플레이 데이터(210)는 비디오(400), 데스크톱 운영 체제(OS) 애플리케이션(402), 및 마우스(포인팅 장치)(404)와 같은 3개의 계층으로 분해될 수 있다. 상기 논의된 바와 같이, 사용자는 디스플레이 장치(104)에 디스플레이하기 위해 계층들의 하나 이상의 조합을 선택할 수 있다. 예를 들어, 비디오(400)는 디스플레이 장치(104)에서 비디오 스트리밍을 위해 선택될 수 있다. 이러한 예에서, 비디오(400)는 (비디오 캡처(502)에 의해) 비디오 캡처되며, (WiDi 멀티스트림 인코더(214)에 의해) 인코딩되고, 독립적으로 송신기(222)에 의해 디스플레이 장치(104)에 송신된다. 일 구현에서, 비디오(400)의 인코딩은 HDTV 브로드캐스트 응용들과 같은 디지털 압축된 비디오의 모든 형태들을 커버하는 H264 표준 하드웨어 기반 인코딩(예를 들어, H264 비디오 포맷)을 사용할 수 있다. 이러한 구현에서, 비디오(400)는 송신기(222)를 통해 비디오 스트리밍될 때 전송 프로토콜로서 RTP를 사용할 수 있다. 비디오(400)에 대한 요구된 트랜스코딩(transcoding) 및 QOS는 비디오(400)와는 독립적으로 스트리밍되는 데스크톱 운영 체제(OS) 애플리케이션(402) 디스플레이에 대해 간접적으로 수정되며, 인코딩되고, 제공될 수 있다.
데스크톱 운영 체제(OS) 애플리케이션(402)은 그래픽 디스플레이를 N x M 픽셀들(예를 들어, N7 x M7 픽셀들)을 포함하는 그리드 구조로 우선 분할함으로써 인코딩되는 운영 체제(OS) 데스크톱 데이터 스트림들을 포함할 수 있다. N x M 픽셀들은 디스플레이 콘텐츠에 기초하여 동적으로 조정될 수 있다. 작은 프레임들 상에서 무선 경쟁을 감소시키고 압축을 최대화하기 위해, N 및 M에 대한 값들은 네트워크 조건들이 주어지면 최적 성능을 위해 동적으로 조정되도록 선택될 수 있다. 일 구현에서, 데스크톱 운영 체제(OS) 애플리케이션(402)은 (데스크톱 및 애플리케이션 캡처(504)에 의해) 캡처되고 요구에 따라 송신기(222)를 통해 디스플레이 장치(104)에 전송된다. 다시 말하면, 수정되는 스크린의 지정된 셀들은 비디오(400)와 관계없이 지정될 수 있는 정의가능한 QOS 및 프레임 갱신율이 주어지면 송신될 수 있다.
일 구현에서, 마우스(포인팅 장치)(404)는 데카르트 좌표들로서 (송신기(222)에 의해) 송신되는 사용자의 마우스(포인팅 장치) 움직임들을 포함할 수 있다. 이러한 구현에서, 움직임들은 마우스 움직임 캡처(506)에 의해 캡처될 수 있다. (작은 프레임 크기들 및 증가된 무선 경쟁을 갖는 문제들이 주어지면) 네트워크 오버헤드를 감소시키고 성능을 증가시키기 위해, 마우스(포인팅 장치) 좌표점들을 포함하는 데이터 프레임들은 원하는 해상도 및 원하는 사용자 경험 또는 QOS가 주어지면 송신될 수 있다. 점들 사이의 보간은 TCP보다는 오히려 UDP가 사용된 경우 프레임 손실이 주어지면 신뢰성을 개선하기 위해 오버헤드를 감소시키는데 사용될 수 있다. 마우스 움직임 캡처(506), 데스크톱 및 애플리케이션 캡처(504), 및 비디오 캡처(502)는 모두 갱신 유닛(212)에 의해 구현될 수 있다.
예시적 프로세스
도 6은 디스플레이 장치에 독립적인 다수의 데이터 스트리밍을 포함하는 향상된 WiDi에 대한 예시적 프로세스(600)를 도시한다. 방법이 설명되는 순서는 제한하는 것으로서 해석되도록 의도되지 않고, 설명된 방법 블록들 중 임의의 수의 블록은 방법, 또는 대안의 방법을 구현하기 위해 임의의 순서로 조합될 수 있다. 부가적으로, 개별 블록들은 본 명세서에 설명되는 발명 대상의 사상 및 범위로부터 벗어나지 않고 방법으로부터 삭제될 수 있다. 더욱이, 방법은 본 발명의 범위로부터 벗어나지 않고, 임의의 적절한 하드웨어, 소프트웨어, 펌웨어, 또는 그것의 조합으로 구현될 수 있다.
블록(602)에서, 그래픽 디스플레이를 분해하는 것이 수행된다. 일 구현에서, 디스플레이 데이터(예를 들어, 디스플레이 데이터(210)) 내의 그래픽 디스플레이는 다수의 데이터 스트림들(즉, 상이한 계층들)을 포함하도록 분해된다. 다수의 데이터 스트림들은 멀티미디어 데이터 스트림들, 운영 체제(OS) 데스크톱 데이터 스트림들, 및 마우스(포인팅 장치) 데이터 스트림들을 포함할 수 있다.
블록(604)에서, 송신을 위해 다수의 데이터 스트림들 각각을 독립적으로 인코딩한다. 일 구현에서, WiDi 멀티스트림 인코더(예를 들어, WiDi 멀티스트림 인코더(214))는 다수의 데이터 스트림들을 독립적으로 인코딩할 수 있다. 예를 들어, 멀티미디어 데이터 스트림들은 운영 체제(OS) 데스크톱 및 마우스(포인팅 장치) 데이터 스트림들로부터 개별적으로 인코딩된다.
블록(606)에서, 인코딩된 다수의 데이터 스트림들을 송신하는 것이 수행된다. 일 구현에서, 다수의 데이터 스트림들은 통신 계층(들)(예를 들어, 통신 계층(들)(216))을 통해 송신된다. 예를 들어, 멀티미디어 데이터 스트림들은 H264 표준 하드웨어 및 RTP 프로토콜을 사용하여 송신된다. 다른 한편, 운영 체제(OS) 데스크톱 및 마우스(포인팅 장치) 데이터 스트림들은 요구에 따라 또는 UDP/TCP 프로토콜들을 사용하여 송신된다.
블록(608)에서, 이미지의 블록에 대한 이미지 변경을 검출하는 것이 수행된다. 일 구현에서, 이미지는 k 개의 셀들(즉, 블록들)로 분할되는 프레임을 포함한다. k 개의 셀들은 전체 N x M 픽셀들을 포함할 수 있다. 2개의 연속하는 프레임 사이의 k 개의 블록들은 이미지 변경을 정의하는 셀(들)의 정확한 위치를 결정하기 위해 갱신 유닛 구성요소(예를 들어, 갱신 유닛(212))에 포함되는 병렬화된 GPU 기반 알고리즘을 사용하여 비교될 수 있다. 검출된 셀들은 장치 소스(예를 들어, 장치 소스(102))에서 다음 송신을 위한 갱신들을 포함할 수 있다. 다른 구현에서, N x M 픽셀들은 네트워크 조건들에 따라 동적으로 조정될 수 있다.
블록(610)에서, 검출된 이미지 변경을 포함하는 갱신들을 송신하는 것이 수행된다. 일 구현에서, N x M 픽셀들은 보다 많은 원자적 갱신들을 가능하게 하고 손상되거나 손실된 프레임의 영향을 제한하기 위해 이미지 변경(즉, 수정 셀)이 단일 데이터 프레임에 적합해지는 것을 보장하도록 동적으로 조정된다. 이 때문에, TCP에 더하여 UDP는, 단일 프레임이 전체 스크린 갱신에 현저하게 영향을 미치지 않으므로, 송신 동안 구현될 수 있다. 다른 구현들에서, 원자적 갱신들은 사용자가 스크린을 볼 수 있는 방법이 주어지면 특정 영역들(예를 들어, 데스크톱 운영 체제(OS) 스크린)의 갱신들을 중요도에 할당함으로써 구현될 수 있다. 예를 들어, 사용자는 데스크톱 운영 체제(OS) 스크린의 주변 또는 외부 영역들(예를 들어, 데스크톱 운영 체제(OS) 스크린의 하단에 있는 시계)보다 더 빈번하게 스크린의 중심 영역을 의식하는 경향이 있다. 이 때문에, 가장 가시적인 지점들을 포함하는 중심 영역은 셀 수정이 갱신 유닛(212)에 의해 검출될 때 더 큰 우선순위로 송신될 수 있다.
블록(612)에서, 검출된 이미지 변경을 디스플레이 장치 내의 현재 현재 디스플레이에 병합하는 것이 수행된다. 일 구현에서, 검출된 갱신들은 멀티스트림 디코더 구성요소(예를 들어, 멀티스트림 디코더(322))에 의해 수신된다. 검출된 갱신들은 갱신 유닛/프레임 버퍼 구성요소(322)에서 저장된 현재 버퍼 프레임에 갱신들을 통합함으로써 병합될 수 있다. 병합된 검출들은 장치 소스(104)의 디스플레이 데이터(324)에 디스플레이될 수 있다.
본 발명에 따른 실현들은 특정 실시예들의 맥락에서 설명되었다. 이러한 실시예들은 예시적이고 비제한적인 것으로 의미된다. 많은 변형들, 수정들, 부가들, 및 개선들이 가능하다. 따라서, 복수의 인스턴스들은 단일 인스턴스로서 본 명세서에 설명되는 구성요소들에 제공될 수 있다. 다양한 구성요소들, 동작들 및 데이터 저장소들 사이의 경계들은 다소 임의적이고, 특정 동작들은 특정 예시적 구성들의 맥락에서 예시된다. 기능의 다른 할당들이 구상되고 이어지는 특허청구범위 내에 있을 수 있다. 최종적으로, 다양한 구성들에서 개별 구성요소들로 제공되는 구조들 및 기능은 결합된 구조 또는 구성요소로 구현될 수 있다. 이러한 및 다른 변형들, 수정들, 부가들, 및 개선들은 이어지는 청구항들에 정의된 바와 같은 본 발명의 범위 내에 있을 수 있다.

Claims (26)

  1. 장치 소스에 의해 수행되는 방법으로서,
    상기 장치 소스에서의 그래픽 디스플레이를 멀티미디어 데이터 스트림, 운영 체제 데스크톱 데이터 스트림, 및 포인팅 장치 데이터 스트림을 포함하는 다수의 데이터 스트림들로 분해하는 단계;
    송신을 위해 상기 다수의 데이터 스트림들을 개별적으로 그리고 독립적으로 인코딩하는 단계;
    상기 인코딩된 다수의 데이터 스트림들을 송신하는 단계;
    이미지의 블록에 대한 이미지 변경을 검출하는 단계 - 상기 이미지 변경은 병렬화된 그래픽 처리 유닛 기반 알고리즘을 사용하여 2개의 연속하는 프레임을 비교함으로써 검출됨 - ; 및
    상기 검출된 이미지 변경을 포함하는 갱신들을 송신하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 다수의 데이터 스트림들로 분해하는 단계는 상기 장치 소스에서 운영 체제 데스크톱 매니저와는 독립적으로 처리되는 방법.
  3. 제2항에 있어서, 상기 다수의 데이터 스트림들은 상이한 레벨의 서비스 품질을 포함하는 방법.
  4. 제1항에 있어서, 상기 송신하는 단계는 상기 멀티미디어 데이터 스트림에 대한 실시간 프로토콜, 및 상기 운영 체제 데스크톱 및 마우스 데이터 스트림들에 대한 송신 제어 프로토콜 또는 사용자 데이터그램 프로토콜을 채택하는 방법.
  5. 제1항에 있어서, 상기 검출하는 단계는 상기 2개의 연속하는 프레임의 개별 셀들을 비교하는 상기 그래픽 처리 유닛 기반 알고리즘을 포함하는 방법.
  6. 제1항 또는 제5항에 있어서, 프레임을 동적 개수의 픽셀들을 포함하는 블록들로 분할하는 단계를 더 포함하고, 상기 동적 개수의 픽셀들은 손상되거나 손실된 프레임의 영향을 제한하기 위해 단일 프레임에 적합(fit)하도록 조정되는 방법.
  7. 제1항에 있어서, 상기 검출하는 단계는 셀 수정이 상기 병렬화된 그래픽 처리 유닛 기반 알고리즘에 의해 검출되면 정지되는 방법.
  8. 하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 대해 구성되는 메모리
    를 포함하고,
    상기 메모리는,
    그래픽 디스플레이를 멀티미디어 데이터 스트림, 운영 체제 데스크톱 데이터 스트림, 및 마우스 데이터 스트림을 포함하는 다수의 데이터 스트림들로 분해하는 갱신 유닛 - 상기 갱신 유닛은 병렬화된 그래픽 처리 유닛 기반 알고리즘을 사용하여 2개의 연속하는 프레임을 비교함으로써 이미지의 블록에 대한 이미지 변경을 검출함 - ;
    상기 다수의 데이터 스트림들을 독립적으로 인코딩하는 멀티스트림 인코더; 및
    상기 인코딩된 다수의 데이터 스트림들을 송신하기 위해 상이한 통신 프로토콜들을 구현하는 통신 계층
    을 포함하는 장치 소스.
  9. 제8항에 있어서, 상기 갱신 유닛은 상기 장치 소스에서 운영 체제 데스크톱 매니저와는 독립적으로 상기 다수의 데이터 스트림들의 분해를 처리하는 장치 소스.
  10. 제9항에 있어서, 상기 다수의 데이터 스트림들은 상이한 레벨의 서비스 품질을 포함하는 장치 소스.
  11. 제8항에 있어서, 상기 갱신 유닛은 상기 2개의 연속하는 프레임의 개별 셀들을 비교함으로써 상기 이미지 변경을 검출하는 장치 소스.
  12. 제8항에 있어서, 상기 갱신 유닛은 셀 수정이 상기 병렬화된 그래픽 처리 유닛 기반 알고리즘에 의해 검출되면 검출을 정지하는 장치 소스.
  13. 제8항 내지 제12항 중 어느 한 항에 있어서, 상기 갱신 유닛은 프레임을 동적 개수의 픽셀들을 포함하는 블록들로 분할하며, 상기 동적 개수의 픽셀들은 손상되거나 손실된 프레임의 영향을 제한하기 위해 단일 프레임에 적합하도록 조정되는 장치 소스.
  14. 제8항에 있어서, 상기 통신 계층은 상기 멀티미디어 데이터 스트림에 대한 실시간 프로토콜, 및 상기 운영 체제 데스크톱 및 마우스 데이터 스트림들에 대한 송신 제어 프로토콜 또는 사용자 데이터그램 프로토콜을 채택하는 장치 소스.
  15. 하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 대해 구성되는 메모리
    를 포함하고,
    상기 메모리는, 멀티미디어 데이터 스트림, 운영 체제 데스크톱 데이터 스트림, 및 마우스 데이터 스트림을 포함하는 다수의 데이터 스트림들을 수신하는 갱신 유닛 및 프레임 버퍼를 포함하고, 상기 갱신 유닛/프레임 버퍼는 검출된 갱신들을 현재 프레임 버퍼에 병합하고, 상기 검출된 갱신들은 병렬화된 그래픽 처리 유닛 기반 알고리즘을 사용하여 2개의 연속하는 프레임을 비교함으로써 장치 소스에 의해 도출되는 이미지의 블록에 대한 이미지 변경을 포함하는 디스플레이 장치.
  16. 제15항에 있어서, 상기 갱신 유닛/프레임 버퍼는 상기 장치 소스에서 운영 체제 데스크톱 매니저와는 독립적으로 처리되었던 상기 다수의 데이터 스트림들을 수신하는 디스플레이 장치.
  17. 제16항에 있어서, 상기 다수의 데이터 스트림들은 상이한 레벨의 서비스 품질을 포함하는 디스플레이 장치.
  18. 제15항에 있어서, 상기 갱신 유닛 및 프레임 버퍼는 손상되거나 손실된 프레임들의 영향을 제한하기 위해 단일 프레임에 적합하도록 조정되는 동적 개수의 픽셀들을 수신하도록 구성되는 디스플레이 장치.
  19. 제15항에 있어서, 상기 디스플레이 데이터는 우선순위를 운영 체제 데스크톱의 지정된 영역들에 제공하도록 구성되는 상기 병합된 갱신들을 디스플레이하는 디스플레이 장치.
  20. 제15항에 있어서, 상기 장치 소스에서 독립적으로 인코딩되고 송신되었던 상기 다수의 데이터 스트림들을 디코딩하는 멀티스트림 디코더를 더 포함하는 디스플레이 장치.
  21. 제15항에 있어서, 상기 멀티미디어 데이터 스트림에 대한 실시간 프로토콜, 및 상기 운영 체제 데스크톱 및 마우스 데이터 스트림들에 대한 송신 제어 프로토콜 또는 사용자 데이터그램 프로토콜을 채택하는 통신 계층을 더 포함하는 디스플레이 장치.
  22. 그래픽 디스플레이를 멀티미디어 데이터 스트림, 운영 체제 데스크톱 데이터 스트림, 및 포인팅 장치 데이터 스트림 중 하나 이상을 포함하는 다수의 데이터 스트림들로 분해하는 단계;
    상기 다수의 데이터 스트림들을 개별적으로 그리고 독립적으로 인코딩하는 단계;
    상기 인코딩된 다수의 데이터 스트림들을 송신하는 단계;
    디스플레이를 위해 이미지의 블록에 대한 이미지 변경을 검출하는 단계 - 상기 이미지 변경은 2개의 연속하는 프레임을 비교함으로써 검출됨 - ;
    상기 검출된 이미지 변경을 포함하는 갱신들을 송신하는 단계; 및
    상기 검출된 이미지 변경을 상기 디스플레이 장치 내의 현재 디스플레이에 병합하는 단계
    를 포함하는 방법을 수행하는 적어도 하나의 컴퓨터 액세스가능 매체.
  23. 제22항에 있어서, 상이한 레벨의 서비스 품질을 포함하는 상기 다수의 데이터 스트림들로 분해하는 단계는 상기 장치 소스에서 운영 체제 데스크톱 매니저와는 독립적으로 처리되는 컴퓨터 액세스가능 매체.
  24. 제22항에 있어서, 상기 인코딩된 다수의 데이터 스트림들을 송신하는 단계는 상기 멀티미디어 데이터 스트림에 대한 실시간 프로토콜, 및 상기 운영 체제 데스크톱 및 마우스 데이터 스트림들에 대한 송신 제어 프로토콜 또는 사용자 데이터그램 프로토콜을 채택하는 컴퓨터 액세스가능 매체.
  25. 제22항에 있어서, 상기 검출하는 단계는 상기 2개의 연속하는 프레임의 개별 셀들을 비교하는 병렬화된 그래픽 처리 유닛 기반 알고리즘을 포함하는 컴퓨터 액세스가능 매체.
  26. 제20항 내지 제25항에 있어서, 프레임을 동적 개수의 픽셀들을 포함하는 블록들로 분할하는 단계를 더 포함하고, 상기 동적 개수의 픽셀들은 손상되거나 손실된 프레임의 영향을 제한하기 위해 단일 프레임에 적합하도록 조정되는 컴퓨터 액세스가능 매체.
KR1020147017900A 2011-12-20 2011-12-20 향상된 무선 디스플레이 KR101606662B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/065993 WO2013095354A1 (en) 2011-12-20 2011-12-20 Enhanced wireless display

Publications (2)

Publication Number Publication Date
KR20140097512A true KR20140097512A (ko) 2014-08-06
KR101606662B1 KR101606662B1 (ko) 2016-03-25

Family

ID=48669020

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147017900A KR101606662B1 (ko) 2011-12-20 2011-12-20 향상된 무선 디스플레이

Country Status (6)

Country Link
US (1) US9756333B2 (ko)
JP (1) JP5938106B2 (ko)
KR (1) KR101606662B1 (ko)
CN (1) CN104115498B (ko)
DE (1) DE112011105981B4 (ko)
WO (1) WO2013095354A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5938106B2 (ja) 2011-12-20 2016-06-22 インテル・コーポレーション 強化型ワイヤレスディスプレイ
US9165538B2 (en) * 2013-03-13 2015-10-20 Displaylink (Uk) Limited Image generation
US20140267598A1 (en) * 2013-03-14 2014-09-18 360Brandvision, Inc. Apparatus and method for holographic poster display
JP6194681B2 (ja) * 2013-08-01 2017-09-13 セイコーエプソン株式会社 画像表示装置
US10074203B2 (en) * 2014-12-23 2018-09-11 Synaptics Incorporated Overlay for display self refresh
US10264208B2 (en) * 2015-12-11 2019-04-16 Qualcomm Incorporated Layered display content for wireless display
CN106886424B (zh) * 2015-12-15 2021-08-27 安波福电子(苏州)有限公司 一种根据智能设备升级汽车软件的装置及方法
US20170365236A1 (en) * 2016-06-21 2017-12-21 Qualcomm Innovation Center, Inc. Display-layer update deferral
US10515606B2 (en) * 2016-09-28 2019-12-24 Samsung Electronics Co., Ltd. Parallelizing display update
CN108769735A (zh) * 2018-05-23 2018-11-06 江苏网进科技股份有限公司 一种网络传输的数据压缩中优化Spice方法
CN111009106B (zh) * 2018-10-05 2021-11-30 财团法人工业技术研究院 人机界面系统及其通讯控制装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003513538A (ja) * 1999-10-22 2003-04-08 アクティブスカイ,インコーポレイテッド オブジェクト指向ビデオシステム
US6985589B2 (en) 1999-12-02 2006-01-10 Qualcomm Incorporated Apparatus and method for encoding and storage of digital image and audio signals
US6621500B1 (en) * 2000-11-17 2003-09-16 Hewlett-Packard Development Company, L.P. Systems and methods for rendering graphical data
CN101073271A (zh) 2004-12-10 2007-11-14 皇家飞利浦电子股份有限公司 用于数字视频记录器中的分层数字视频编码的系统和方法
US20060235883A1 (en) * 2005-04-18 2006-10-19 Krebs Mark S Multimedia system for mobile client platforms
JP4577267B2 (ja) * 2006-05-17 2010-11-10 株式会社日立製作所 シンクライアントシステム
KR101345341B1 (ko) * 2006-12-13 2013-12-27 삼성전자 주식회사 파일 전송을 위한 사용자 인터페이스를 제공하는 장치 및방법
KR101472545B1 (ko) * 2007-01-19 2014-12-16 코닌클리케 필립스 엔.브이. 무선 디바이스의 발견을 가능하게 하는 장치 및 방법
US8391354B2 (en) * 2007-05-14 2013-03-05 Broadcom Corporation Method and system for transforming uncompressed video traffic to network-aware ethernet traffic with A/V bridging capabilities and A/V bridging extensions
JP5471449B2 (ja) * 2008-02-14 2014-04-16 日本電気株式会社 移動領域検出装置
JP4985492B2 (ja) * 2008-03-13 2012-07-25 日本電気株式会社 画面データ送信装置及びその方法
JP5071727B2 (ja) * 2008-03-28 2012-11-14 日本電気株式会社 画面データ送信装置、画面データ送信方法及び画面データ送信プログラム
CN101350923B (zh) 2008-09-03 2010-11-17 中国科学院上海技术物理研究所 一种交互式医学图像通信与显示方法
JP2010237726A (ja) * 2009-03-30 2010-10-21 Nec Personal Products Co Ltd 情報処理装置、そのパラメータ設定方法、プログラム及び記録媒体
US8406245B2 (en) * 2009-07-09 2013-03-26 Qualcomm Incorporated System and method of transmitting content from a mobile device to a wireless display
JP2011040808A (ja) * 2009-08-06 2011-02-24 Nec Personal Products Co Ltd 情報処理装置、制御方法及びプログラム
US20130148740A1 (en) * 2011-12-09 2013-06-13 Qualcomm Incorporated Method and apparatus for processing partial video frame data
JP5938106B2 (ja) 2011-12-20 2016-06-22 インテル・コーポレーション 強化型ワイヤレスディスプレイ

Also Published As

Publication number Publication date
US20140233629A1 (en) 2014-08-21
CN104115498A (zh) 2014-10-22
JP2015505208A (ja) 2015-02-16
DE112011105981T5 (de) 2014-09-11
JP5938106B2 (ja) 2016-06-22
CN104115498B (zh) 2018-07-17
DE112011105981B4 (de) 2021-10-14
US9756333B2 (en) 2017-09-05
KR101606662B1 (ko) 2016-03-25
WO2013095354A1 (en) 2013-06-27

Similar Documents

Publication Publication Date Title
KR101606662B1 (ko) 향상된 무선 디스플레이
KR101523133B1 (ko) 비디오 디스플레이 시스템을 위한 스트리밍 기술
US9723359B2 (en) Low latency wireless display for graphics
JP5746392B2 (ja) モバイルデバイスからワイヤレスディスプレイにコンテンツを送信するシステムおよび方法
US20150326941A1 (en) Software based wireless channel-aware adaptive video bit rate encoding
CN106713915B (zh) 对视频数据进行编码的方法
US10108386B2 (en) Content provisioning for wireless back channel
US10938503B2 (en) Video codec data recovery techniques for lossy wireless links
US20140003494A1 (en) Device, system and method of video encoding
US10237318B2 (en) Electronic device and method for encoding image data thereof
CN110463206B (zh) 图像滤波方法、装置及计算机可读介质
US10192297B2 (en) Method and apparatus for creating, streaming, and rendering HDR images
US20150296054A1 (en) Server apparatus, terminal, thin client system, screen transmission method and program
US9860901B2 (en) Transmission of data to reception devices
WO2019091191A1 (en) Data processing method and apparatus
US9269281B2 (en) Remote screen control device, remote screen control method, and recording medium
US20120054806A1 (en) Methods circuits & systems for wireless video transmission
US20160142723A1 (en) Frame division into subframes
US20190090125A1 (en) Information processing apparatus, information processing method, and source apparatus
US20190320205A1 (en) Template matching-based prediction method and apparatus
JP2020145605A (ja) 受信装置、送信装置、及びプログラム
CN115426338A (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: 20190227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 5