CN102375687B - 在无线显示表面上显示计算机桌面 - Google Patents

在无线显示表面上显示计算机桌面 Download PDF

Info

Publication number
CN102375687B
CN102375687B CN201110260487.3A CN201110260487A CN102375687B CN 102375687 B CN102375687 B CN 102375687B CN 201110260487 A CN201110260487 A CN 201110260487A CN 102375687 B CN102375687 B CN 102375687B
Authority
CN
China
Prior art keywords
screen data
computer
display
user
session
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201110260487.3A
Other languages
English (en)
Other versions
CN102375687A (zh
Inventor
S·R·内鲁德
N·波特
C·德沃夏克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102375687A publication Critical patent/CN102375687A/zh
Application granted granted Critical
Publication of CN102375687B publication Critical patent/CN102375687B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Digital Computer Display Output (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及在无线显示表面上显示计算机桌面。提供了用于将计算机桌面克隆到无线显示表面的技术。源计算机和与目的计算机通信的显示器建立无线连接。源计算机的用户控制台会话具有对应于该无线显示器的虚拟显示驱动器。控制台会话的应用指示虚拟显示驱动器将图形呈现到显示表面。源计算机取该图形信息,该图形信息在处理器上执行时生成图像、文本、声音或输入‑源计算机用远程呈现协议编码该图形信息。通过用远程呈现协议编码和解码传送到无线显示器的图像数据、文本、声音和用户控制台会话的输入,提高了保真度和交互性。

Description

在无线显示表面上显示计算机桌面
技术领域
本发明涉及在无线显示器上显示屏幕数据并允许计算机桌面体验的改进的技术。
背景技术
使用诸如远程桌面协议(RDP)之类的远程呈现协议(RPP)技术以及独立计算架构(ICA)与远程客户机共享计算机桌面和应用已经是普遍的。这些共享的计算系统通常是通过在会话的服务器上为RPP会话实例化用户会话来建立的。在服务器的屏幕要与会话的客户机共享的情况下,RPP会话从服务器本地的控制台会话获得该信息。在RPP会话期间,客户机将键盘按压和鼠标点击或选择传送到服务器,服务器通过网络连接(例如,因特网)以另一方向将屏幕更新发送回客户机。如此,当实际上仅仅向客户机计算机发送如在服务器侧上出现的应用的屏幕截图时,客户机的用户具有好像他或她的计算机正在本地执行这些应用的体验。
计算机通过诸如复合(RCA)电缆或高清晰度多媒体接口(HDMI)电缆等电缆在显示设备(如电视机或监视器)上显示图像也是普遍的。还存在使得计算机能够无线地在显示设备上显示图像的技术。在无线设备上显示图像存在许多问题,其中一些问题是众所周知的。
发明内容
本发明提供了在无线显示器上显示屏幕数据并允许计算机桌面体验的改进的技术。如本文所使用的,屏幕数据可包括要被显示在监视器上的图像(如计算机桌面)、要通过一个或多个扬声器播放的音频、以及对计算机的输入(例如光标的移动、对多触点跟踪垫的操纵、或键盘按压)。被发送到目的计算机并在目的计算机上输出的屏幕数据将用诸如“被显示”、“被输出”、“被呈现”之类的术语来提及,且这可包括通过一个或多个扬声器对音频的输出。现有技术受到带宽和缓冲的约束,这负面地影响保真度(显示的屏幕数据的质量)和交互性(在无线显示器上显示对屏幕数据的改变的速率)。因此为无线显示器提供给出高水平的保真度和交互性的技术将是对现有技术的改进。在这样做时,无线显示配置可向用户提供计算机桌面体验,该计算机桌面体验与使用直接通过电缆连接到源计算机的监视器时用户所体验到的几乎完全相同。
如本文所使用的,术语“无线显示器”不意图表达该显示器不具有线缆,而是表达无线显示器和源计算机之间没有源计算机用来向无线显示器传送图像的连续线缆。在一实施例中,源计算机和与无线显示器通信的目的计算机建立无线连接,源计算机具有对应于该无线显示器的虚拟显示驱动器(类似于常规图形显示驱动器如何对应于源计算机的有线显示器)。直接使用源计算机的用户具有在该源计算机上的用户控制台会话。在该用户控制台会话中,用户执行应用。那些应用执行以产生图形(如计算机桌面上的应用窗口)以及产生用于无线显示器的那些图形,一应用指示所述虚拟显示驱动器将图形渲染到源计算机的存储器区域或显示表面。源计算机取该图形信息——它是图像或在处理器上执行时产生图像的计算机可执行指令——用远程呈现协议(RPP)编码该图形信息,以及将它从用户控制台会话发送到无线显示器。
用于使用RPP传送数据的其他技术要求一个以上的用户会话这么做。例如,各种版本的终端服务器RPP要求客户机计算机用第二用户会话连接到源计算机。然后,为了与客户机计算机共享用户控制台会话的计算机桌面,第二用户会话从用户控制台会话截取屏幕数据并将其发送到客户机,以及将来自客户机计算机的用户输入(如光标移动)注入到用户控制台会话中。
在使用本技术时,范例与常规RPP会话不同。常规RPP会话包括客户计算机处的用户向服务器发送输入以及接收回图像。相反,在本技术中,用户登录到源计算机的控制台中(在其中他或他向服务器作出输入),然后从该本地输入生成的屏幕数据被传送到目的计算机供显示。
作为用源计算机上的单个用户会话发送RPP数据的结果,源计算机用远程呈现协议(RPP)编码屏幕数据以及显示计算机用远程RPP解码屏幕数据的过程发生在常规的远程呈现会话之外。也就是说,在远程呈现会话中,服务器可授权客户机的凭证以及在服务器上创建分开的用户会话,远程呈现会话发生在该用户会话中。相反,在本发明中,尽管屏幕数据根据远程呈现协议被编码,但是通常与远程呈现会话相关联的其他操作-如创建分开的操作系统会话-可不发生。
存在包括除了常规用户会话之外的会话的操作系统。例如,各种版本的微软WINDOWS操作系统包含“会话0,其中系统服务被执行但没有用户进程被执行。这些会话0系统服务可包括编码和传送屏幕数据的RPP服务。对本发明的讨论单个用户会话的使用的讨论不应被理解为排除了包括诸如会话0之类的非用户会话的本发明的实施例。
通过用远程呈现协议编码和解码传送到无线显示器的图像数据,提高了保真度和交互性。这些操作可减少跨无线通信网络传送屏幕数据所需的带宽和缓冲的量。在使用更少的带宽传送屏幕数据时,带宽于是可用于以更高的保真度传送屏幕数据。类似地,在使用更少的带宽传送屏幕数据时,该屏幕数据以与它被生成的时间更近的时间量被传送到无线显示器,提高了交互性。类似地,通过减少编码屏幕数据所需的缓冲量,例如通过使用更低等待时间的编解码器,提高了交互性。
虚拟设备驱动器既可以被扩展到无线显示表面也可以被复制/克隆到无线显示表面。对于源计算机来说,虚拟显示驱动器可被作为相当于物理上耦合到源计算机的任何监视器的图形设备驱动器来对待。来自虚拟显示驱动器的图形命令被获取、编码和传送到无线显示计算机,在无线显示计算机处它们被解码。无线显示计算机可包括配置成解码和呈现图形的轻量解码组件。无线显示计算机还可包括作为无线显示的一部分的集成电路。
尽管本文讨论的主要实施例涉及向无线显示器传送屏幕数据,但是可理解这些技术可在保真度和交互性受限的其他通信信道上适用。例如,这些技术可在源计算机通过通用串行总线2.0(USB 2.0)连接与监视器通信的情况下适用。
本领域技术人员将理解,本发明的一个或多个方面可包括但不限于用于实现本发明的本文所述各方面的电路和/或编程;该电路和/或编程实质上可以是配置成实现本文所述各方面的硬件、软件和/或固件的任何组合,这取决于系统设计者的设计选择。
以上是概述,并且因此必然包含细节的简化、一般化及省略。本领域技术人员将明白,本概述只是说明性的并且决不旨在是限制性的。
附图说明
参考附图进一步描述用于在无线显示表面上显示计算机桌面的系统、方法和计算机可读介质,附图中:
附图1描绘了其中可实现此处描述的技术的示例通用计算环境。
图2描绘了详述生成计算机图形并在监视器上显示它们时所涉及的组件的示例计算机系统。
图3描绘了示例计算机系统,该示例计算机系统描绘了用于在无线显示器上显示图像的技术。
图3A描绘了在常规远程呈现协议(RPP)会话发生的示例计算机系统中的服务器上的会话。
图3B描绘了在无线显示器上显示图像发生的示例计算机系统中的服务器上的会话。
图4描绘了用于在无线显示器上显示图像的示例操作过程。
具体实施方式
各实施例可在一个或多个计算机系统上执行。图1及以下讨论旨在提供可在其中实现所公开的主题的合适计算环境的简要概括描述。
贯穿本说明书使用的术语电路可包括诸如硬件中断控制器、硬盘驱动器、网络适配器、图形处理器、基于硬件的视频/音频编解码器等硬件组件,以及用于操作这些硬件的固件。术语电路还可包括微处理器、专用集成电路、和/或一个或多个逻辑处理器,例如由从固件和/或软件中读取的指令配置的多核通用处理单元的一个或多个核。逻辑处理器可由指令来配置,指令具体化可用于执行从例如RAM、ROM、固件和/或大容量存储等存储器加载的功能的逻辑。在其中电路包括硬件和软件的组合的示例实施例中,实现者可以编写具体化逻辑的源代码,该源代码随后被编译成可由逻辑处理器执行的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件实现的功能或软件实现的功能之间几乎没有差别的地步,因而选择硬件还是软件来实现此处描述的功能只是一个设计选择。换言之,由于本领域的技术人员可以理解软件进程可被变换成等效的硬件结构,且硬件结构本身可被变换成等效的软件进程,因此选择硬件实现或是软件实现留给了实现者。
现在参考图1,描绘了示例性通用计算系统。该通用计算系统可包括常规的计算机20等,它包括至少一个处理器或处理单元21、系统存储器22和在系统处于操作状态时将包括系统存储器在内的各种系统组件耦合到处理单元21的系统总线23。系统总线23可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线,以及局部总线。系统存储器能包括只读存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出系统26(BIOS)被存储在ROM 24中,该基本输入/输出系统26包含了诸如在启动期间帮助在计算机20内的元件之间传输信息的基本例程。计算机20还可包括用于对硬盘(未示出)进行读写的硬盘驱动器27,用于对可移动磁盘29进行读写的磁盘驱动器28,以及用于对如CD ROM或其它光介质等可移动光盘31进行读写的光盘驱动器30。硬盘驱动器27、磁盘驱动器28和光盘驱动器30被示为分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34来连接到系统总线23。驱动器以及它们相关联的计算机可读介质为计算机20提供了对计算机可读指令、数据结构、程序模块,及其他数据的非易失性存储。虽然这里描述的示例性环境采用硬盘、可移动磁盘29和可移动光盘31,但本领域技术人员应理解,在该示例性操作环境中也能使用可存储能由计算机访问的数据的其它类型的计算机可读介质,如闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等。通常,这些计算机可读存储介质能够被用于一些实施例中来存储实现本公开的各方面的处理器可执行指令。
包括计算机可读指令的若干程序模块可存储在诸如硬盘、磁盘29、光盘31、ROM 24或RAM 25之类的计算机可读介质上,包括操作系统35、一个或多个应用程序36、其他程序模块37、以及程序数据38。一旦由处理单元执行,计算机可读指令使得下文中更详细描述的动作被执行或使得各种程序模块被实例化。用户可以通过诸如键盘40和定点设备42之类的输入设备向计算机20中输入命令和信息。其他输入设备(未示出)可包括话筒、游戏杆、游戏手柄、圆盘式卫星天线、扫描仪等等。这些及其他输入设备常常通过耦合到系统总线的串行端口接口46连接到处理单元21,但是,也可以通过诸如并行端口、游戏端口、通用串行总线(USB)端口之类的其他接口来连接。显示器47或其他类型的显示设备也可以通过诸如视频适配器48之类的接口连接到系统总线23。除了显示器47之外,计算机通常还包括其他外围输出设备(未示出),如扬声器和打印机。图1的示例性系统还包括主适配器55、小型计算机系统接口(SCSI)总线56和连接到SCSI总线56的外部存储设备62。
计算机20可使用至诸如远程计算机49之类的一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机49可以是另一个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并通常可包括以上对个人计算机20描述的许多或所有元件,但是在图1中只示出存储器存储设备50。图1中所描绘的逻辑连接可包括局域网(LAN)51和广域网(WAN)52。这样的联网环境在办公室、企业范围的计算机网络、内联网和因特网中是普遍的。
当用于LAN网络环境中时,计算机20可通过网络接口或适配器53连接到LAN 51。当用于WAN网络环境中时,计算机20通常包括调制解调器54,或用于通过诸如因特网之类的广域网52建立通信的其他手段。可以是内置的或外置的调制解调器54可通过串行端口接口46连接到系统总线23。在网络化环境中,相对于计算机20所描述的程序模块或其部分可被存储在远程存储器存储设备中。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其他手段。虽然可构想本发明的许多实施例尤其适用于计算机化的系统,然而在本说明中不意味着将本发明限于那些实施例。图2描绘了详述生成计算机图形并在监视器上显示它们时所涉及的组件的示例计算机系统。图2的计算机系统可以使用图1的计算机来实现。图2中所描绘的组件的架构类似于微软WINDOWS操作系统的某些版本的架构。尽管图2(以及后面的图3)描绘了用户模式204和内核模式212,但是可理解本技术可在不具有这些模式的系统架构中工作。
包括应用202的用户的会话在用户模式204中执行——即该模式中进程不能通过应用编程接口(API)功能或命令访问为其他进程保留的存储器。用户模式中的进程也不能干扰中断或上下文切换。当应用202向显示表面绘制时,应用202将图形API命令发送到图形子系统206。图形子系统206包括窗口管理器208和图形设备接口(GDI)210,窗口管理器208控制操作系统的桌面内窗口的放置和外观,图形设备接口负责表示图形对象并传送到诸如计算机监视器之类的输出设备。图形子系统206在内核模式212(有时称为“系统模式”)中执行,在该模式中任何进程可执行任何指令以及引用任何存储器地址。
绘制命令可从应用(包括操作系统的负责创建桌面的子组件)接收并由图形设备接口210处理。图形设备接口210一般可包括能生成图形对象绘制命令的进程。该实施例中的图形设备接口210可被配置成将其输出传递给附属于该会话的显示驱动器。
当图形子系统206已经处理了从应用202接收的图形API命令以产生结果(如存储在存储器地址中的位图)时,图形子系统206将该结果发送到图形设备驱动器214。图形设备驱动器214是通过通信子系统与输出设备216通信的进程。当图形子系统206调用图形设备驱动器214中的例程时,图形设备驱动器218向输出设备发出命令且一图形在该输出设备上产生。
图3描绘了一示例计算机系统,该示例计算机系统描绘了用于在无线显示器上显示屏幕数据的技术且通过编码和解码技术来这样做。图3中所描绘的组件的架构类似于微软WINDOWS操作系统的某些版本的架构。
应用302、用户模式304、图形子系统306、窗口管理器308、图形设备接口310以及内核模式312可分别类似于图2中所描绘的应用202、用户模式204、图形子系统206、窗口管理器208、图形设备接口210以及内核模式212。尽管图3描绘了由软件进程执行的若干操作,但是可理解它们可由硬件、或硬件和软件的组合来执行。例如,类似地操作可由在图形数据被显示在无线显示器322上之前解码图形数据的专用集成电路(ASIC)来执行。
虚拟设备驱动器318是被配置成以类似于图形设备驱动器214如何被配置成向输出设备216发出命令的方式向无线显示表面322发出命令。虚拟设备驱动器318可经诸如无线显示连接之类的无线连接(被描绘为通信路径1)与无线显示表面322通信。一示例性无线显示连接协议使得设备能够创建自组织(ad-hoc)网络——以与彼此通信而不用在先设置或使用单独的无线接入点。在通常情况下,源计算机326和无线显示表面322发现彼此,源计算机326起软接入点(“AP”)的作用。无线显示表面322可通过使用通过诸如HDMI电缆之类的电缆连接到无线显示表面322的目的计算机324或通过内建在无线显示表面322中的目的计算机324来参与该发现操作。在发现之后,可通过在源计算机326处的用户输入来确认对无线显示连接的创建,例如按压键盘上的特定按钮或输入显示在无线显示表面322上的短字母数字代码。
虚拟设备驱动器318、音频驱动器328(从应用302接收音频)以及输入驱动器330(从输入设备接收用户输入)与远程呈现协议(RPP)编码器320通信。来自应用302的图形数据沿通信信道2(在应用302和图形子系统306之间)传递,并然后沿通信信道3(在图形子系统306和虚拟显示驱动器318之间)传递。从应用302生成的音频命令从应用302沿通信信道4传递到音频驱动器328。RPP编码器320被配置成根据RPP压缩屏幕数据(包括图像、声音和输入)。尽管RPP编码器320在此被描绘成从图形设备接口310接收图形数据,但是可理解RPP编码器320可从计算机326内的各种区域接收图形数据,例如存储在盘上的媒体文件、图形命令(如DIRECTX命令)、来自图形子系统的合成图像、或来自动画子系统的动画图像或命令。RPP编码器320使用的RPP可分类屏幕数据以用适用于特定屏幕数据的细节的不同编码技术来压缩屏幕数据,从而提高正被呈现的屏幕数据的保真度和/或交互性。
当用RPP编码屏幕数据时可用各种方式来节省带宽。例如,可将图像细分成小片(tile),且仅图像之间变化的那些小片(“脏的小片”)可被发送。当客户机接收到小片时,客户机可高速缓存小片,然后服务器可指示客户机重新使用经高速缓存的小片而不是由服务器发送同样的小片。在窗口被移动或滚动时,可确定该信息且服务器可指示客户机重新使用与前一接收到的图像帧和新的图像帧之间的窗口移动或滚动相对应的同样的信息。节省带宽的另一方式是,不是发送呈现图形命令的图形结果(如结果位图图像),服务器可发送图形命令本身,客户机然后呈现这些图形命令。在图形而不是图形命令被发送的情况下,这些图形可诸如经H.264编码器被压缩,可用多个编解码器压缩单个桌面帧。例如,计算机桌面上的文本可用第一编解码器压缩,而同一计算机桌面上的图像可用第二编解码器压缩。有一些技术可由远程呈现协议使用,但是这里所描述的技术不构成这些技术的穷举列表。
一旦用远程呈现编码器320编码,编码的屏幕数据就遵守源计算机326和无线目的计算机324通信所用的通信协议(如IEEE 802.11n协议)被传送到目的计算机324。在该通信信道上传送的经编码的屏幕数据在该信道上看起来是RPP数据。也就是说,在数据以多个分组来传送的情况下,每个分组看起来是RPP分组。
目的计算机324可包括被配置成解码从源计算机326接收到的RPP数据的逻辑和/或电路。如所描绘的,目的计算机包括轻量RPP解码器334。轻量RPP解码器334可包括通用CPU上执行的从目的计算机324的网络接口接收RPP分组的软件进程。轻量RPP解码器334被配置成解码接收到的RPP数据以及将其显示在无线显示器322上。轻量RPP 234解码器可将该解码的某一些卸载到诸如所描绘的HW解码器232A和232B之类的硬件解码器。硬件解码器可包括例如被配置成解码RemoteFX编码的数据或H.264编码的数据的专用硬件。轻量RPP解码器334可被认为是轻量的,因为它不包含处理常规RPP会话的各方面的逻辑。例如,轻量RPP解码器234可不包含发起或终止RPP会话、存储和/或向RPP服务器发送用户凭证以证实RPP会话、编码屏幕数据、或接收包括图像、声音的在目的计算机224处本地输入的屏幕数据的逻辑。
可通过向桌面的对应于用户输入的部分分配优先级来进一步提高交互性。这是因为观看桌面的某人可能被吸引到桌面的对应于用户输入的那些部分,从而这些部分被更新的速率可比桌面的其他部分被更新的速率更多地影响个人对交互性的印象。该优先级可按各种方式来分配。例如,在桌面帧被细分为小片的情况下,包含全部或部分用户光标的一个小片或多个小片可被给予分配的优先级。同样,例如在用户输入导致桌面上的窗口的大小、形状或位置的改变时(例如通过用户使用光标拖曳窗口的一角),包含该变化的窗口的全部或部分的一个小片或多个小片可被分配较高的优先级。高优先级可就屏幕数据如何在源计算机或目的计算机的队列中被处理而给予屏幕数据优选,例如队列中被放置在较低优先级屏幕数据的前面。这些队列可包括对要被编码、解码或传送的屏幕数据的援引。
源计算机326能够根据各种技术来编码图像,并且基于目的计算机324的属性(例如目的计算机324存在或缺少专门用于解码特定编解码器的硬件、目的计算机324的总体处理能力、目的计算机的RAM量、目的计算机324是否拥有GPU以及是的话拥有什么类型的GPU)以及源计算机326与目的计算机324通信所经由的通信网络来这样做。在通常情形下,源计算机326可以是通用计算机,除了(沿通信信道5)传送要被显示在无线显示器322上的数据之外,它可同时被用于其他目的,如执行web浏览器或电子邮件客户端。相反,在该通常情形下,目的计算机324可专门用于解码从源计算机326接收的图像数据以及在无线显示器322上显示解码的图像。在该情形中,假设源计算机326的处理资源可被用于除了编码和向目的计算机324传送数据之外的事,而目的计算机324可专门地或几乎专门地被用于接收、解码和呈现从源计算机326接收的数据,则在目的计算机324上尽可能多地进行处理可能是较优选的。从而,源计算机326执行的编码的量可基于目的计算机324的最大解码能力来确定。这可通过例如在326源计算机和目的计算机324建立通信时,目的计算机324向源计算机326指示其接收、解码和显示图像数据的能力来完成。
来自目的计算机324的该指示可包括例如目的计算机324可解码的一个或多个编解码器,以及对这些一个或多个编解码器之间的优选的指示。例如,该指示可表明目的计算机324能够解码RemoteFX和H.264编解码器两者,但是优选H.264,因为它有专门的硬件来解码H.264,但它必须用通用CPU来解码RemoteFX。在编解码器格式允许可变压缩量或质量(其中低压缩量可更快地被解码但要求更多带宽来传送,而高压缩量可能不会这样快地被解码但要求更少的带宽来传送)的情况下,来自目的计算机324的该指示还可包括目的计算机324能够解码的压缩程度。
来自目的计算机324的该指示还可包括关于目的计算机对用远程呈现协议编码的数据进行解码的能力的信息。例如,在远程呈现协议可将桌面帧细分成小片并指示目的计算机324高速缓存并重新使用小片的情况下,目的计算机324可向源计算机326指示它具有用于高速缓存小片的有限量的存储器。
源计算机326可从目的计算机324接收该指示以及从该指示接收关于源计算机326的信息,确定如何用远程呈现编码器320编码信息。例如,尽管目的计算机324可指示出使用特定格式的优选,因为它具有专用于解码该格式的硬件,但是基于源计算机326架构的细节,该格式可能对于源计算机326编码来说是尤其棘手的格式。给定该信息,源计算机326可选择用远程呈现编码器320编码计算机桌面的方式,以及在编码要被发送到目的计算机324的计算机桌面时使用该所选方式来编码。
在另一通常情形中,尽管目的计算机224专门用于解码和呈现从源计算机226接收的屏幕数据,但是目的计算机224具有有限的处理资源,因为它是低成本的嵌入式设备。在该情形中,源计算机226可通过本地地执行大量处理来客户目的计算机224的局限(例如分类计算机桌面的不同部分以及不同地编码这些不同部分,以使得解码是较不资源密集的)。然而,由于源计算机226还可执行用户应用(如构成正被传送到目的计算机224的屏幕数据的那些应用),一优选的情形可涉及源计算机226将同样多的处理资源用于编码屏幕数据而不对该用户应用拒绝任何处理资源(例如仅使用另外可用的处理资源)。
在另一通常情形下,屏幕数据可包括带有声音的视频,而源计算机326可与目的计算机324通信,以为了在包括无线监视器322的家庭影院上呈现屏幕数据。在这一情形以及其他情形中,可能重要的是声音和视频被同时播放。在这一情形中,远程呈现编码器320可从源计算机326的音频驱动器接收声音或音频数据,将该声音数据编码并与视频的图像数据一起发送到目的计算机324。源计算机326可进一步标记声音和图像数据,例如用时间码,以表示什么声音数据与什么图像数据同步。目的计算机324可使用该时间码信息,使得它指示无线显示器322以及通信上连接到目的计算机324的音频输出装置共同分别同时地播放声音和图像。
图3A描绘了在常规远程呈现协议(RPP)会话中共享本地用户桌面的示例计算机系统中的服务器上的会话。服务器计算机380被配置成服务远程呈现会话。服务器计算机380包括会话382,即包括被配置成编码并传送由用户会话生成的RPP数据的系统服务的非交互式会话(如无用户账户通过操作系统与该会话相关联)。注意,对会话382的描绘是示例性的,存在可在其中实现本发明的其他系统架构和实施例。服务器计算机380还包括用户控制台会话386,即用于用户在控制台处的交互式用户会话(例如,它接收来自本地鼠标和键盘的输入,而不是跨通信网络在RPP会话中的输入,以及在本地监视器和扬声器上显示输出)。服务器计算机380还包括远程用户会话388,即服务器计算机380和客户机计算机380跨通信网络390建立RPP会话时在服务器计算机382上创建的用户会话。
远程用户会话388是在RPP中与客户机计算机382通信的用户会话,但是它是要与客户机计算机382共享的(或镜像的或复制的)本地屏幕,且该本地屏幕与一不同的用户会话-用户控制台会话386-相关联。为了与客户机计算机382共享本地屏幕,远程用户会话388接收来自客户机计算机382的输入,并将该用户输入传送到用户控制台会话386,在用户控制台会话中该用户输入被处理。类似地,用户控制台会话386创建的屏幕数据由远程用户会话388接收。远程用户会话388获得该屏幕数据,并将其发送到会话0 382,以便用RPP编码并发送到客户机计算机382供显示。在所描绘的实施例中,用户控制台会话386不为了用RPP编码屏幕数据并将其传送到客户机计算机382的目的而与会话0 382交互。该处理由远程用户会话388应对。
图3B描绘了在无线显示器上显示本地用户桌面的示例计算机系统中的服务器上的会话。与图3A中描绘的常规RPP会话相对比,没有为传送数据创建的附加用户会话(图3A的远程用户会话388)。相反,与目的计算机394的连接由源计算机392的用户控制台386b管理,用户控制台386b还管理会话0 382b对屏幕数据的编码(注意,与图3A中一样,会话0不是强制性的,本发明可在不同的系统架构中起作用)。用户控制台会话386和目的计算机394通过通信网络390建立无线通信信道。用户控制台会话386b生成诸如计算机桌面之类的本地屏幕数据。用户控制台会话386b向会话0 382b发送指令以用RPP编码该屏幕数据,并将编码的屏幕数据直接传送到目的计算机394——它不通过第二用户控制台,就像图3A中图3A的远程用户会话388如何与RPP数据传输有关那样。
图4描绘了用于在无线显示器上显示图像的示例操作过程。图4的操作过程可在图3的计算机系统上实现。可以理解,各操作的顺序不是强制性的,本发明可以操作顺序的各种变换来实现,且不是每一操作都需要被执行来实现本发明。在图4的操作过程中,源计算机生成诸如计算机桌面之类的屏幕数据,然后将该计算机桌面编码并发送到目的计算机(如3的目的计算机324),目的计算机对它解码并将其显示在无线显示器(如图3的无线显示器322)上。编码和解码屏幕数据的该过程是在用户控制台会话内用远程呈现协议(RPP)执行的,从而该编码和解码可在远程呈现会话之外发生(例如在操作过程开始时可能没有建立远程呈现会话,可能没有对用户凭证的证实,可能没有创建分开的用户会话,以及在操作过程的结束处可能没有终止远程呈现会话)。通过实现这些操作过程,通过无线显示器提供了高水平的保真度和交互性,使其非常类似于有线显示器所提供的保真度和交互性的水平。
操作过程开始于操作402。操作402描绘了在源计算机的用户控制台会话与目的计算机之间建立无线通信信道,所述目的计算机被配置成在无线显示器上显示屏幕数据。该无线通信信道可包括例如无线USB或无线HD通信信道。该通信信道可在源计算机(例如图3的源计算机326)和目的计算机(例如图3的目的计算机324)之间建立。目的计算机可包括嵌入在无线显示器中的ASIC,或物理上连接到无线显示器的计算机,例如嵌入式系统“机顶盒”。除通用处理器之外,目的计算机可包括被配置成解码远程呈现数据并在无线显示器上呈现图形的专门电路。
操作404描绘了确定要被显示在无线显示器上的用户控制台会话的第一屏幕数据。该屏幕数据可包括计算机桌面或其他图像、音频以及用户输入的指示。该确定可作为源计算机的图形子系统将计算机桌面呈现到源计算机的存储器区域的结果而发生。在无线显示器被用于扩展源计算机的显示器的情况下,不是对源计算机的显示器做镜像,该屏幕数据可不由源计算机的显示器显示,而仅由无线显示器显示。
操作406描绘了用远程呈现协议(RPP)编码屏幕数据。编码屏幕数据的该过程可发生在远程呈现会话之外,因为在操作过程开始时远程呈现会话可能还未建立,可能没有对用户凭证的证实,和/或在操作过程的结束时可能没有终止远程呈现会话。编码的第一屏幕数据可包括例如用H.264格式编码的图像,或供无线设备计算机使用的经高速缓存的屏幕数据的指示。
操作406可包括用第一编解码器编码第一屏幕数据的第一部分;以及用第二编解码器编码第一屏幕数据的第二部分,第二编解码器不同于第一编解码器。例如,该第一部分可包括文本的表示(如表示文本以及可从中提取文本的图像),该第二部分可包括接近照片质量的图像。或者该第一部分可包括黑白图像,而该第二部分包括彩色图像。尽管这两个部分可以是屏幕数据的同一帧的部分,但可能的是它们使用不同的编解码器来得到更好的编码,且这可以进行。
操作408描绘了将编码的第一屏幕数据从用户控制台会话发送到目的计算机,而不用通过第二用户会话传送编码的第一屏幕数据,使得目的计算机将对编码的第一屏幕数据进行解码并将解码的第一屏幕数据显示在无线显示器上。源计算机和目的计算机在建立的无线通信信道上通信。当源计算机向目的计算机发送编码的第一屏幕数据时,它使用该通信信道来这样做,但是它在这样做之前并不首先建立跨该通信信道的远程呈现会话。响应于接收到编码的第一屏幕数据,目的计算机解码该数据并在无线显示器上对其进行汇编。尽管解码的第一屏幕数据对应于第一屏幕数据,但是它可能不完全与第一屏幕数据匹配。例如,如果第一屏幕数据被编码且然后用有损解码器解码,则图像中的某一些会丢失,解码的第一屏幕数据将与第一屏幕数据不同。
操作410描绘了用远程呈现协议编码控制台会话的第二屏幕数据;从用户控制台会话向目的计算机发送编码的第二屏幕数据,而不用通过第二用户会话传送编码的第二屏幕数据;以及向目的计算机发送第二屏幕数据的优先级,使得显示计算机将在无线显示器上显示解码的第一屏幕数据之前在无线显示器上显示解码的第二屏幕数据。
在源计算机和目的计算机之间发送的屏幕数据可被分配优先级。对用户关于显示器的交互性的印象有更大影响的屏幕数据或屏幕数据的部分可被分配高优先级,使得它们比其他图像更快地被显示。例如,当用户在计算机桌面上移动光标或重新调整应用窗口的大小(对源计算机的各种类型的输入)时,他或她可关注于看到改变发生在无线显示器上,而不是看到例如显示器的角落中的时钟更新其时间。所以,用户将其对交互性的印象所基于的这种类型的屏幕数据可被源计算机给予高优先级。于是可更好地处理高优先级屏幕数据。在源计算机具有处理屏幕数据的队列(例如用于编码的队列或用于传送的队列)时,该高优先级数据可在队列中被放置在非高优先级屏幕数据之前。高优先级屏幕数据可在目的计算机的队列(如解码队列或显示队列)中被类似地给予优先处理,或者当高优先级数据准备好显示时,屏幕数据可被立即刷新到屏幕。
操作412描绘了确定用户控制台会话的要与显示解码的第一屏幕数据同时播放的声音;用RPP编码该声音;以及从用户控制台会话向目的计算机发送编码的声音,而不用通过第二用户会话传送编码的声音,使得目的计算机将与无线显示器显示解码的第一屏幕数据同时地播放该声音。
该操作可通过以下来实现:用一时间戳编码第一屏幕数据,该时间戳指示出屏幕数据要被显示的时间;以及用第二时间戳编码声音,该第二时间戳指示声音要被播放的第二时间,所述时间戳和所述第二时间戳指示要与无线显示器显示解码的第一屏幕数据同时地播放该声音。时间戳可表示同时播放—即时间戳可不完全相同,但可有小量的区别,使得在屏幕数据被显示时播放声音。在向屏幕数据和声音分配时间戳,以及然后目的计算机根据时间戳播放屏幕数据和声音时,屏幕数据和声音之间的同步可被保持。
除了源计算机传送要被显示在无线显示器上的屏幕数据之外,源计算机还可传送要在扬声器(例如无线显示器中内置的扬声器)上播放的声音数据。声音可从源计算机的音频驱动器捕捉,类似于屏幕数据如何从源计算机的显示驱动器被捕捉,声音数据也可以类似方式被编码、传送、解码和播放。
操作414描绘了确定用户控制台的要与显示解码的第一屏幕数据同时传递的用户输入的指示;用RPP编码该用户输入的指示;以及从用户控制台会话向目的计算机发送编码的用户输入的指示,而不用通过第二用户会话传送编码的用户输入,使得目的计算机将与无线显示器显示解码的第一屏幕数据同时地显示该用户输入的指示。该用户输入可包括例如用户在键盘上输入的文本,或用户使用如鼠标或跟踪垫之类的输入设备作出的光标移动。用户输入的该指示可以屏幕数据被编码和传送的方式类似的方式来被编码和传送。
操作416描绘了确定目的计算机的最大解码能力;其中用远程呈现协议编码第一屏幕数据包括基于该最大解码能力来编码第一屏幕数据。在某些情形中,目的计算机致力于接收和显示来自源计算机的屏幕数据(和音频),因此它可将其全部处理资源投入该任务而不会负面地影响它要执行的另一进程。相反,源计算机可以是通用计算机,其中在与目的计算机的该通信发生的同时,用户尝试多任务。因此,在这一情形中,可能的是源计算机从目的计算机接收其处理能力的指示。该指示可以是其原始处理能力的度量,例如FLOPS,即每秒浮点运算数,以及它被配置成解码什么编解码器,以及它是否具有解码任何特定编解码器的特殊能力—例如用于解码H.264的专门电路。基于从目的计算机接收的该指示,源计算机可确定目的计算机可执行多少该通信会话的工作,以及该通信的减少或最小化源计算机投入该通信会话的处理资源的量的参数(例如要被使用的编解码器以及该编解码器的设置)。
操作418描绘了确定用户应用所没有使用的源计算机的可用处理资源的量;其中用远程呈现协议编码第一屏幕数据包括:使用不超过可用处理资源的量来编码第一屏幕。源计算机的用户可能不是仅仅与目的计算机和无线显示器进行该通信—他或她可能正在执行创建要被显示在无线显示器上的图形的应用,如视频播放器应用。在这一情形中,可决定编码将不会影响用户的正在执行的应用中的任一个,且将仅使用空闲的或不被另一应用所使用的那些处理资源。例如,在源计算机的CPU周期的80%被其他用户应用使用时,编码可被调速,以便不尝试使用多于源计算机的CPU周期的20%。
结论
尽管已经结合各附图所示的较佳方面描述了本发明,但要理解,可使用其他相似方面或者可对所述方面进行修改或添加来执行本发明的相同功能而不脱离本发明。因此,本发明不应该仅限于任何单个方面,而是应该在根据所附权利要求书的广度和范围内解释。例如,本文描述的各种过程可用硬件或软件、或两者的组合来实现。因此,所公开的各实施例的方法和装置或其某些方面或部分可采用包含在诸如软盘、CD-ROM、硬盘驱动器或任何其他机器可读存储介质等有形介质中的程序代码(即,指令)的形式。当程序代码被加载到诸如计算机等机器并由其执行时,该机器变为被配置成实施所公开的各实施例的装置。除了此处明确阐述的具体实现之外,考虑此处所公开的说明书,其他方面和实现将对本领域的技术人员是显而易见的。说明书和所示实现旨在仅被认为是示例。

Claims (12)

1.一种用于在无线显示器上显示具有高保真度和交互性的图像的方法,包括:
由源计算机在所述源计算机的用户控制台会话与目的计算机之间建立无线通信信道,所述目的计算机被配置成在所述无线显示器上显示屏幕数据;
由所述源计算机确定要被显示在所述无线显示器上的所述用户控制台会话的第一屏幕数据;
由所述源计算机确定所述用户控制台会话的要与显示所述第一屏幕数据同时播放的声音;
由所述源计算机用远程呈现协议编码所述第一屏幕数据以标识第一时戳,并且编码所述声音以标识第二时戳,所述第一时戳和所述第二时戳指示与所述无线显示器显示经解码的第一屏幕数据的同时播放所述声音;以及
由所述源计算机将编码的第一屏幕数据从所述用户控制台会话发送到所述目的计算机,而不用通过第二用户会话传送编码的第一屏幕数据,以供所述目的计算机将对编码的第一屏幕数据和所述声音进行解码并将解码的第一屏幕数据显示在所述无线显示器上并同时播放所述声音。
2.如权利要求1所述的方法,其特征在于,还包括:
用所述远程呈现协议编码所述用户控制台会话的与所述第一屏幕数据不同的第二屏幕数据;
从所述用户控制台会话向所述目的计算机发送编码的第二屏幕数据,而不用通过第二用户会话传送编码的第二屏幕数据;以及
向所述目的计算机发送所述第二屏幕数据的优先级,以供所述目的计算机将在所述无线显示器上显示解码的第一屏幕数据之前在所述无线显示器上显示解码的第二屏幕数据。
3.如权利要求2所述的方法,其特征在于,向所述无线显示器发送所述第二屏幕数据的优先级响应于以下而发生:
确定所述第二屏幕数据对应于对所述源计算机的输入。
4.如权利要求3所述的方法,其特征在于,对所述源计算机的输入包括:
光标位置的改变,或形状的改变。
5.如权利要求1所述的方法,其特征在于,还包括:
确定所述用户控制台的要与显示解码的第一屏幕数据同时传递的用户输入的指示;
用所述远程呈现协议编码所述用户输入的指示;以及
从所述用户控制台会话向所述目的计算机发送编码的用户输入的指示,而不用通过第二用户会话传送编码的用户输入,以供所述目的计算机将与所述显示器显示解码的第一屏幕数据同时地显示所述用户输入的指示。
6.如权利要求1所述的方法,其特征在于,还包括:
确定所述目的计算机的最大解码能力;
其中用远程呈现协议编码所述第一屏幕数据包括:基于所述最大解码能力编码所述第一屏幕数据。
7.如权利要求1所述的方法,其特征在于,还包括:
确定用户应用所没有使用的所述源计算机的可用处理资源的量;
其中用远程呈现协议编码所述第一屏幕数据包括:使用不超过可用处理资源的量来编码第一屏幕。
8.如权利要求1所述的方法,其特征在于,用远程呈现协议RPP编码所述第一屏幕数据包括:
用第一编解码器编码所述第一屏幕数据的第一部分;以及
用第二编解码器编码所述第一屏幕数据的第二部分,所述第二编解码器不同于所述第一编解码器。
9.如权利要求8所述的方法,其特征在于,所述第一部分包括文本的表示,所述第二部分包括图像。
10.如权利要求1所述的方法,其特征在于,所述第一屏幕数据包括:
被镜像的计算机桌面,或被扩展的计算机桌面。
11.一种用于在无线显示器上显示具有高保真度和交互性的图像的系统,包括:
用于由源计算机在所述源计算机的用户控制台会话与目的计算机之间建立无线通信信道的装置,所述目的计算机被配置成在无线显示器上显示屏幕数据;
用于由所述源计算机确定要被显示在所述无线显示器上的所述用户控制台会话的第一屏幕数据的装置;
用于由所述源计算机确定所述用户控制台会话的要与显示所述第一屏幕数据同时播放的声音的装置;
用于由所述源计算机用远程呈现协议编码所述第一屏幕数据以标识第一时戳,并且编码所述声音以标识第二时戳的装置,所述第一时戳和所述第二时戳指示与所述无线显示器显示经解码的第一屏幕数据的同时播放所述声音;以及
用于由所述源计算机将编码的第一屏幕数据从所述用户控制台会话发送到所述目的计算机,而不用通过第二用户会话传送编码的第一屏幕数据,以供所述目的计算机将对编码的第一屏幕数据和所述声音进行解码并将解码的第一屏幕数据显示在所述无线显示器上并同时播放所述声音的装置。
12.如权利要求11所述的系统,其特征在于,所述系统还包括:
用于用所述远程呈现协议编码所述用户控制台会话的与所述第一屏幕数据不同的第二屏幕数据的装置;
用于从所述用户控制台会话向所述目的计算机发送编码的第二屏幕数据,而不用通过第二用户会话传送编码的第二屏幕数据的装置;以及
用于向所述目的计算机发送所述第二屏幕数据的优先级,使得显示计算机将在显示器上显示解码的第一屏幕数据之前在所述显示器上显示解码的第二屏幕数据的装置。
CN201110260487.3A 2010-08-10 2011-08-09 在无线显示表面上显示计算机桌面 Active CN102375687B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/854,152 US8839112B2 (en) 2010-08-10 2010-08-10 Cloning or extending a computer desktop on a wireless display surface
US12/854,152 2010-08-10

Publications (2)

Publication Number Publication Date
CN102375687A CN102375687A (zh) 2012-03-14
CN102375687B true CN102375687B (zh) 2018-10-19

Family

ID=45565680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110260487.3A Active CN102375687B (zh) 2010-08-10 2011-08-09 在无线显示表面上显示计算机桌面

Country Status (4)

Country Link
US (1) US8839112B2 (zh)
EP (1) EP2603848B1 (zh)
CN (1) CN102375687B (zh)
WO (1) WO2012021277A2 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10079892B2 (en) * 2010-04-16 2018-09-18 Avaya Inc. System and method for suggesting automated assistants based on a similarity vector in a graphical user interface for managing communication sessions
GB2481612A (en) 2010-06-30 2012-01-04 Skype Ltd Updating image regions in a shared image system
GB2481613A (en) * 2010-06-30 2012-01-04 Skype Ltd Updating regions of shared images using a server that records image status
US8902248B1 (en) 2011-07-14 2014-12-02 Vmware, Inc. Method and system for measuring display performance of a remote application
US10983747B2 (en) * 2011-07-15 2021-04-20 Vmware, Inc. Remote desktop mirroring
US9384711B2 (en) 2012-02-15 2016-07-05 Microsoft Technology Licensing, Llc Speculative render ahead and caching in multiple passes
US9015246B2 (en) * 2012-03-30 2015-04-21 Aetherpal Inc. Session collaboration
US9177533B2 (en) 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
US9286122B2 (en) * 2012-05-31 2016-03-15 Microsoft Technology Licensing, Llc Display techniques using virtual surface allocation
US9235925B2 (en) 2012-05-31 2016-01-12 Microsoft Technology Licensing, Llc Virtual surface rendering
US9230517B2 (en) 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
US9058759B2 (en) * 2012-06-14 2015-06-16 Avatron Software, Inc. Virtual display device drivers compatible with windows display driver model
US9632648B2 (en) 2012-07-06 2017-04-25 Lg Electronics Inc. Mobile terminal, image display device and user interface provision method using the same
US20140028726A1 (en) * 2012-07-30 2014-01-30 Nvidia Corporation Wireless data transfer based spanning, extending and/or cloning of display data across a plurality of computing devices
US10942735B2 (en) * 2012-12-04 2021-03-09 Abalta Technologies, Inc. Distributed cross-platform user interface and application projection
US9628108B2 (en) 2013-02-01 2017-04-18 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US9817728B2 (en) 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
US10133636B2 (en) 2013-03-12 2018-11-20 Formulus Black Corporation Data storage and retrieval mediation system and methods for using same
US9304703B1 (en) 2015-04-15 2016-04-05 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US9250700B2 (en) 2013-02-28 2016-02-02 Apple Inc. System and method for virtual displays
US10705669B2 (en) 2013-03-15 2020-07-07 Comcast Cable Communications, Llc Active impression tracking
US9307007B2 (en) 2013-06-14 2016-04-05 Microsoft Technology Licensing, Llc Content pre-render and pre-fetch techniques
KR20150003023A (ko) * 2013-06-28 2015-01-08 삼성전자주식회사 호스트 장치, 디스플레이 장치, 호스트 장치의 제어 방법 및 디스플레이 장치의 제어 방법
US9800822B2 (en) 2013-07-22 2017-10-24 Qualcomm Incorporated Method and apparatus for resource utilization in a source device for wireless display
KR102148001B1 (ko) * 2013-10-17 2020-08-25 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 제어 방법
US9674265B2 (en) * 2013-11-04 2017-06-06 Vmware, Inc. Filtering unnecessary display updates for a networked client
US9674518B2 (en) 2013-12-20 2017-06-06 Vmware, Inc. Measuring remote video display with embedded pixels
US9699247B2 (en) 2014-06-17 2017-07-04 Vmware, Inc. User experience monitoring for application remoting
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
US10152295B2 (en) * 2015-06-01 2018-12-11 Mediatek Inc. Methods for displaying image data in a computer system supporting multiple displays
CN104915171A (zh) * 2015-06-16 2015-09-16 广州视睿电子科技有限公司 一种计算机桌面的显示方法与装置
CN105978963A (zh) * 2016-05-09 2016-09-28 北京启迪思创科技有限公司 一种远程桌面显示方法、装置和系统
WO2019126072A1 (en) 2017-12-18 2019-06-27 Formulus Black Corporation Random access memory (ram)-based computer systems, devices, and methods
US10581939B2 (en) * 2018-01-26 2020-03-03 Citrix Systems, Inc. Virtual computing system providing local screen sharing from hosted collaboration applications and related methods
KR102509071B1 (ko) * 2018-08-29 2023-03-10 삼성전자주식회사 전자 장치 및 이의 외부 장치를 제어하는 방법
CN110890054B (zh) * 2018-09-07 2021-11-23 杭州海康威视数字技术股份有限公司 Led显示屏调节方法、装置、电子设备及存储介质
US10725853B2 (en) 2019-01-02 2020-07-28 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation
CN112256226A (zh) * 2020-10-22 2021-01-22 广州市金其利信息科技有限公司 一种无线屏幕扩展方法及系统
CN112511892B (zh) * 2020-11-12 2023-04-07 Oppo广东移动通信有限公司 屏幕共享方法、装置、服务器及存储介质
US12019944B2 (en) * 2021-12-14 2024-06-25 Htc Corporation Method for operating mirrored content under mirror mode and computer readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1722908A (zh) * 2004-04-15 2006-01-18 株式会社东芝 信息设备远程操作系统
CN101064713A (zh) * 2006-04-26 2007-10-31 深圳Tcl新技术有限公司 通过电视机平台实现远程桌面的控制方法
CN101137001A (zh) * 2006-08-28 2008-03-05 三星电子株式会社 无线机顶盒、无线显示设备、无线视频系统及其控制方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747055B1 (en) 1998-11-25 2010-06-29 Wake Forest University Health Sciences Virtual endoscopy with improved image segmentation and lesion detection
US7168048B1 (en) 1999-03-24 2007-01-23 Microsoft Corporation Method and structure for implementing a layered object windows
US7191211B2 (en) * 2000-10-03 2007-03-13 Raja Tuli Portable high speed internet access device priority protocol
US20020174181A1 (en) 2001-04-13 2002-11-21 Songxiang Wei Sharing OpenGL applications using application based screen sampling
US9544523B2 (en) 2001-08-06 2017-01-10 Ati Technologies Ulc Wireless display apparatus and method
US20030030720A1 (en) * 2001-08-10 2003-02-13 General Instrument Corporation Wireless video display apparatus and associated method
US20030140343A1 (en) 2002-01-18 2003-07-24 General Instrument Corporation Remote wireless device with EPG display, intercom and emulated control buttons
US7028266B2 (en) 2002-04-05 2006-04-11 Microsoft Corporation Processing occluded windows during application sharing
US20030202006A1 (en) * 2002-04-30 2003-10-30 Callway Edward G. Set top box and associated method of operation to facilitate display of locally sourced display data
US7293243B1 (en) 2002-05-22 2007-11-06 Microsoft Corporation Application sharing viewer presentation
GB0300361D0 (en) * 2003-01-07 2003-02-05 Koninkl Philips Electronics Nv Audio-visual content transmission
US10152190B2 (en) 2003-12-15 2018-12-11 Open Invention Network, Llc Systems and methods for improved application sharing in a multimedia collaboration session
US20050171788A1 (en) 2004-01-30 2005-08-04 Shah Arshad A. Wireless display system
US8930239B2 (en) 2005-03-23 2015-01-06 Douglas Ashbaugh Distributed content exchange and presentation system
US20060159432A1 (en) 2005-01-14 2006-07-20 Citrix Systems, Inc. System and methods for automatic time-warped playback in rendering a recorded computer session
US8145777B2 (en) 2005-01-14 2012-03-27 Citrix Systems, Inc. Method and system for real-time seeking during playback of remote presentation protocols
US8230096B2 (en) 2005-01-14 2012-07-24 Citrix Systems, Inc. Methods and systems for generating playback instructions for playback of a recorded computer session
US20060164328A1 (en) 2005-01-24 2006-07-27 Microsoft Corporation Method and apparatus for wireless display monitor
US20080115073A1 (en) 2005-05-26 2008-05-15 ERICKSON Shawn Method and Apparatus for Remote Display of Drawn Content
US20070109257A1 (en) 2005-11-16 2007-05-17 James Lee Wireless virtual computer operating platform device
DE112006003342B4 (de) 2005-12-05 2018-07-05 Lenovo (Beijing) Ltd. Drahtloses Anzeigesystem und Verfahren dafür
US7439937B2 (en) 2006-04-14 2008-10-21 Microsoft Corporation Appropriately rendering terminal server graphical data at multiple client side monitors
US20070247449A1 (en) 2006-04-24 2007-10-25 Illumobile Corporation Wireless display
US20070260702A1 (en) 2006-05-03 2007-11-08 University Of Washington Web browser architecture for virtual machine access
CN101755299A (zh) * 2007-05-14 2010-06-23 寇平公司 用于从主机存取数据的移动无线显示器以及控制方法
CN101399973A (zh) 2007-09-24 2009-04-01 鸿富锦精密工业(深圳)有限公司 显像装置和显像系统以及显像方法
US8046695B2 (en) * 2007-10-19 2011-10-25 Citrix Systems, Inc. Methods and systems for incorporating at least one window from a first desktop environment having a first themed graphical display into a second desktop environment having a second themed graphical display
US8407605B2 (en) 2009-04-03 2013-03-26 Social Communications Company Application sharing
FR2925802B1 (fr) * 2007-12-20 2010-01-08 Canon Kk Procede d'acquittement de donnees
JP5781307B2 (ja) * 2007-12-26 2015-09-16 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company 車内で商取引を行うシステム及び方法
US8169436B2 (en) 2008-01-27 2012-05-01 Citrix Systems, Inc. Methods and systems for remoting three dimensional graphics
US20090234983A1 (en) 2008-03-17 2009-09-17 Golden Signals, Inc. Methods and apparatus for sharing a computer display screen
FR2929063B1 (fr) * 2008-03-20 2010-06-11 Canon Kk Procede et dispositif d'allocation de chemins de transmission de donnees dans un reseau de communication synchrone, produit programme d'ordinateur et moyen de stockage correspondants
US20100169791A1 (en) 2008-12-31 2010-07-01 Trevor Pering Remote display remote control
US20100164839A1 (en) 2008-12-31 2010-07-01 Lyons Kenton M Peer-to-peer dynamically appendable logical displays
FR2948246B1 (fr) * 2009-07-15 2011-09-09 Canon Kk Procede et dispositif d'allocation de bande passante liberee dans un reseau de communication, produit programme d'ordinateur et moyen de stockage correspondants
US20100077085A1 (en) 2009-09-23 2010-03-25 Joseph Chyam Cohen Systems and method for configuring display resolution in a terminal server environment
WO2012027355A2 (en) 2010-08-25 2012-03-01 Poynt Corporation Geo-fenced virtual scratchcard

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1722908A (zh) * 2004-04-15 2006-01-18 株式会社东芝 信息设备远程操作系统
CN101064713A (zh) * 2006-04-26 2007-10-31 深圳Tcl新技术有限公司 通过电视机平台实现远程桌面的控制方法
CN101137001A (zh) * 2006-08-28 2008-03-05 三星电子株式会社 无线机顶盒、无线显示设备、无线视频系统及其控制方法

Also Published As

Publication number Publication date
US8839112B2 (en) 2014-09-16
WO2012021277A2 (en) 2012-02-16
EP2603848B1 (en) 2019-10-30
WO2012021277A3 (en) 2012-04-12
CN102375687A (zh) 2012-03-14
EP2603848A2 (en) 2013-06-19
US20120042252A1 (en) 2012-02-16
EP2603848A4 (en) 2014-11-05

Similar Documents

Publication Publication Date Title
CN102375687B (zh) 在无线显示表面上显示计算机桌面
US20120042275A1 (en) Cloning specific windows on a wireless display surface
JP4901261B2 (ja) 高品質なユーザーインターフェイスによる効率的な遠隔表示を行なうシステム
JP4764345B2 (ja) グラフィックス処理システムにおける統一された合成エンジンのためのシステムおよび方法
JP6126221B2 (ja) 画面提供装置、画面提供システム、制御方法、プログラム、及び記録媒体
JP6310073B2 (ja) 描画システム、制御方法、及び記憶媒体
CN113099298B (zh) 虚拟形象的改变方法、装置和终端设备
CN113209632B (zh) 一种云游戏的处理方法、装置、设备及存储介质
US9253494B2 (en) Altering streaming video encoding based on user attention
CN111818120A (zh) 端云用户交互方法、系统及相应设备、存储介质
WO2022257699A1 (zh) 图像画面显示方法、装置、设备、存储介质及程序产品
CN112671995A (zh) 视频通话期间实现的方法、用户终端及可读存储介质
JP6379107B2 (ja) 情報処理装置並びにその制御方法、及びプログラム
WO2022048677A1 (zh) 基于云手机的vr应用设计方法及系统
Lee et al. FLUID-XP: Flexible user interface distribution for cross-platform experience
CN104007986A (zh) 跨系统远程实时交互技术
Sun et al. A hybrid remote rendering method for mobile applications
CN116966546A (zh) 图像处理方法、装置、介质、设备和程序产品
Perez et al. Remote rendering of industrial HMI applications
JP2021164626A (ja) ゲームストリーミングのための方法および装置
CN111930328A (zh) 应用数据的显示方法、装置及系统
CN112395035B (zh) 一种基于3d大屏的动画播放方法、装置、设备及介质
TWI823146B (zh) 用於即時mr互動應用之邊緣渲染運算方法及系統
CN118035479A (zh) 基于图片推流的三维可视化交互方法和系统
JP2019195163A (ja) ビデオランダムアクセスメモリにおけるマルチソースメディアをオーバーレイするシステム及び方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150717

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150717

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant