在无线显示表面上显示特定窗口的制作方法

文档序号:7900090阅读:97来源:国知局
专利名称:在无线显示表面上显示特定窗口的制作方法
技术领域
本发明提供了在无线显示器上显示屏幕数据并允许计算机桌面质量体验的改进的技术。
背景技术
使用诸如远程桌面协议(RDP)之类的远程呈现协议(RPP)技术以及独立计算架构 (ICA)与远程客户机共享计算机桌面和应用已经是普遍的。这些共享的计算系统通常是通过在会话的服务器上为RPP会话实例化用户会话来建立的。在服务器的屏幕要与会话的客户机共享的情况下,RPP会话从服务器本地的控制台会话获得该信息。在RPP会话期间,客户机将键盘按压和鼠标点击或选择传送到服务器,服务器通过网络连接(例如,因特网)以另一方向将屏幕更新发送回客户机。如此,当实际上仅仅向客户机计算机发送如在服务器侧上出现的应用的屏幕截图时,客户机的用户具有好像他或她的计算机正在本地执行这些应用的体验。计算机通过诸如复合(RCA)电缆或高清晰度多媒体接口(HDMI)电缆等电缆在显示设备(如电视机或监视器)上显示图像也是普遍的。还存在使得计算机能够无线地在显示设备上显示图像的技术。在无线设备上显示图像存在许多问题,其中一些问题是众所周知的。

发明内容
本发明提供了在无线显示器上显示屏幕数据并允许计算机桌面质量体验的改进的技术。如本文所使用的,屏幕数据可包括要被显示在监视器上的图像(如计算机桌面)、 要通过一个或多个扬声器播放的音频、以及对计算机的输入(例如光标的移动、对多触点跟踪垫的操纵、或键盘按压)。被发送到目的计算机并在目的计算机上输出的屏幕数据将用诸如“被显示”、“被输出”、“被呈现”之类的术语来提及,且这可包括通过一个或多个扬声器对音频的输出。现有技术涉及在无线显示器上显示完整的计算机图像。然而,通常使用的情形涉及用户希望在无线显示器上显示特定窗口——仅某一窗口或一些窗口(如单个应用的窗口)。例如,用户可导航到包含视频的网页,开始播放该视频并希望使得该视频在无线显示器上显示(且来自该视频的音频在无线显示器的扬声器上播放)。在该视频正在播放时,用户可能还希望通过将来自电子邮件程序的窗口放置在播放的视频之上来在他的或她的计算机上检查他的或她的电子邮件。即使在他的或她的计算机上视频现在被遮挡,但是用户仍可希望它仍然被显示在无线显示器上。因此提供用于在无线显示器上显示特定窗口以及用于移除那些窗口的遮挡的技术将是对现有技术的改进。如本文所使用的,术语“无线显示器”不意图表达该显示器不具有线缆,而是表达无线显示器和源计算机之间没有源计算机用来向无线显示器传送图像的连续线缆。在一实施例中,源计算机和与无线显示器通信的目的计算机建立无线连接,源计算机具有对应于该无线显示器的虚拟显示驱动器(类似于常规图形显示驱动器如何对应于源计算机的有线显示器)。直接使用源计算机的用户具有在该源计算机上的用户控制台会话。在该用户控制台会话中,用户执行应用。那些应用执行以产生图形(如计算机桌面上的应用窗口) 以及产生用于无线显示器的那些图形,一应用指示所述虚拟显示驱动器将图形渲染到源计算机的存储器区域或显示表面。源计算机取该图形信息——它是图像或在处理器上执行时产生图像的计算机可执行指令——用远程呈现协议(RPP)编码该图形信息,以及将它从用户控制台会话发送到无线显示器。此外,源计算机可仅将其计算机桌面的特定窗口发送到目的计算机,例如构成单个应用的那些窗口。这些窗口可从计算机桌面,或在这些窗口没有被完全渲染在计算机桌面上的情况下(例如由于它们被非共享窗口遮挡)从源计算机的另一存储器区域提取。在向目的计算机仅发送特定窗口时,源计算机还可向目的计算机仅发送特定音频。例如,在共享窗口包括播放视频且非共享窗口生成警告音时,源计算机可向目的计算机仅发送正在播放的视频的音频。用于使用RPP传送数据的其他技术要求一个以上的用户会话这么做。例如,各种版本的终端服务器RPP要求客户机计算机用第二用户会话连接到源计算机。然后,为了与客户机计算机共享用户控制台会话的计算机桌面,第二用户会话从用户控制台会话截取屏幕数据并将其发送到客户机,以及将来自客户机计算机的用户输入(如光标移动)注入到用户控制台会话中。在使用本技术时,范例与常规RPP会话不同。常规RPP会话包括客户计算机处的用户向服务器发送输入以及接收回图像。相反,在本技术中,用户登录到源计算机的控制台中(在其中他或他向服务器作出输入),然后从该本地输入生成的屏幕数据被传送到目的计算机供显示。作为用源计算机上的单个用户会话发送RPP数据的结果,源计算机用远程呈现协议(RPP)编码屏幕数据(如特定窗口,或特定窗口与相应的音频)以及显示计算机用RPP 解码屏幕数据的过程发生在常规的远程呈现会话之外。也就是说,在远程呈现会话中,服务器可授权客户机的凭证以及创建分开的操作系统用户会话,远程呈现会话发生在该操作系统用户会话中。相反,在本发明中,尽管无线传送的数据是根据RPP编码的,但是通常与远程呈现会话相关联的其他操作一如认证或创建分开的操作系统会话一不必发生。存在包括除了常规用户会话之外的会话的操作系统。例如,各种版本的微软 WINDOWS操作系统包含“会话0,其中系统服务被执行但没有用户进程被执行。这些会话0 系统服务可包括编码和传送屏幕数据的RPP服务。对本发明的讨论单个用户会话的使用的讨论不应被理解为排除了包括诸如会话0之类的非用户会话的本发明的实施例。尽管本文讨论的主要实施例涉及向无线显示器发送屏幕数据,但是可理解这些技术可在保真度和交互性受限的其他通信信道上适用,包括有线通信信道。本领域技术人员将理解,本发明的一个或多个方面可包括但不限于用于实现本发明的本文所述各方面的电路和/或编程;该电路和/或编程实质上可以是配置成实现本文所述各方面的硬件、软件和/或固件的任何组合,这取决于系统设计者的设计选择。以上是概述,并且因此必然包含细节的简化、一般化及省略。本领域技术人员将明白,本概述只是说明性的并且决不旨在是限制性的。


参考附图进一步描述用于在无线显示表面上显示计算机桌面的特定窗口的系统、 方法和计算机可读介质,附图中图1描绘了其中可实现本文所描述的技术的示例通用计算环境。图2描绘了示例计算机系统,该示例计算机系统描绘了用于在无线显示器上显示图像的技术。图2A描绘了在常规远程呈现协议(RPP)会话发生的示例计算机系统中的服务器上的会话。图2B描绘了在无线显示器上显示图像发生的示例计算机系统中的服务器上的会话。图3A描绘了包括多个窗口的计算机桌面,其中要共享多个窗口的子集一特定窗图;3B描绘了使用本发明的技术目的计算机所接收的图3A的计算机桌面的共享窗□。图4描绘了用于提取要被共享的特定窗口的示例操作过程。图5描绘了用于向无线显示器共享特定窗口的示例操作过程。
具体实施例方式各实施例可在一个或多个计算机系统上执行。图1及以下讨论旨在提供可在其中实现所公开的主题的合适计算环境的简要概括描述。贯穿本说明书使用的术语电路可包括诸如硬件中断控制器、硬盘驱动器、网络适配器、图形处理器、基于硬件的视频/音频编解码器等硬件组件,以及用于操作这些硬件的固件。术语电路还可包括微处理器、专用集成电路、和/或一个或多个逻辑处理器,例如由从固件和/或软件中读取的指令配置的多核通用处理单元的一个或多个核。逻辑处理器可由指令来配置,指令具体化可用于执行从例如RAM、R0M、固件和/或大容量存储等存储器加载的功能的逻辑。在其中电路包括硬件和软件的组合的示例实施例中,实现者可以编写具体化逻辑的源代码,该源代码随后被编译成可由逻辑处理器执行的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件实现的功能或软件实现的功能之间几乎没有差别的地步,因而选择硬件还是软件来实现此处描述的功能只是一个设计选择。换言之,由于本领域的技术人员可以理解软件进程可被变换成等效的硬件结构,且硬件结构本身可被变换成等效的软件进程,因此选择硬件实现或是软件实现留给了实现者。现在参考图1,描绘了示例性通用计算系统。该通用计算系统可包括常规的计算机 20等,它包括至少一个处理器或处理单元21、系统存储器22和在系统处于操作状态时将包括系统存储器在内的各种系统组件耦合到处理单元21的系统总线23。系统总线23可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线,以及局部总线。系统存储器能包括只读存储器(ROM)M和随机存取存储器(RAM) 25。基本输入/输出系统沈¢10 被存储在ROM M中,该基本输入/输出系统沈包含了诸如在启动期间帮助在计算机20内的元件之间传输信息的基本例程。计算机20还可包括用于对硬盘(未示出)进行读写的硬盘驱动器27,用于对可移动磁盘四进行读写的磁盘驱动器28,以及用于对如CD ROM或其它光介质等可移动光盘31进行读写的光盘驱动器30。硬盘驱动器27、磁盘驱动器28和光盘驱动器30被示为分别通过硬盘驱动器接口 32、磁盘驱动器接口 33和光盘驱动器接口 34来连接到系统总线23。驱动器以及它们相关联的计算机可读介质为计算机20提供了对计算机可读指令、数据结构、程序模块, 及其他数据的非易失性存储。虽然这里描述的示例性环境采用硬盘、可移动磁盘四和可移动光盘31,但本领域技术人员应理解,在该示例性操作环境中也能使用可存储能由计算机访问的数据的其它类型的计算机可读介质,如闪存卡、数字视频盘、随机存取存储器(RAM)、 只读存储器(ROM)等。通常,这些计算机可读存储介质能够被用于一些实施例中来存储实现本公开的各方面的处理器可执行指令。包括计算机可读指令的若干程序模块可存储在诸如硬盘、磁盘四、光盘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通常包括调制解调器M,或用于通过诸如因特网之类的广域网52建立通信的其他手段。可以是内置的或外置的调制解调器讨可通过串行端口接口 46连接到系统总线23。在网络化环境中,相对于计算机20所描述的程序模块或其部分可被存储在远程存储器存储设备中。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其他手段。虽然可构想本发明的许多实施例尤其适用于计算机化的系统,然而在本说明中不意味着将本发明限于那些实施例。图2描绘了详述产生计算机图形和在无线显示器上显示图形以及其他屏幕数据时所涉及的组件的示例计算机系统。图2的计算机系统可以使用图1的计算机来实现。图 2中所描绘的组件的架构类似于微软WINDOWS操作系统的某些版本的架构。包括应用202的用户的会话在用户模式204中执行——即该模式中进程不能通过应用编程接口(API)功能或命令访问为其他进程保留的存储器。用户模式中的进程也不能干扰中断或上下文切换。当应用202向显示表面绘制时,应用202将图形API命令发送到图形子系统206。图形子系统206包括窗口管理器208和图形设备接口(⑶1)210,窗口管理器208控制操作系统的桌面内窗口的放置和外观,(图形设备接口可包括诸如WINDOWS GDI命令、DIRECTX命令和合成之类的图形功能),图形设备接口负责表示图形对象并发送到诸如计算机监视器之类的输出设备。图形子系统206在内核模式212 (有时称为“系统模式”)中执行,在该模式中任何进程可执行任何指令以及引用任何存储器地址。绘制命令可从应用(包括操作系统的负责创建桌面的子组件)接收并由图形设备接口 210处理。图形设备接口 210—般可包括能生成图形对象绘制命令的进程。该实施例中的图形设备接口 210可被配置成将其输出传递给附属于该会话的显示驱动器。当图形子系统206已经处理了从应用202接收的图形API命令以产生结果(如存储在存储器地址中的位图)时,图形子系统206将该结果发送到虚拟设备驱动器218。虚拟设备驱动器218是通过通信子系统与输出设备222通信的进程。当图形子系统206调用虚拟设备驱动器218中的例程时,虚拟设备驱动器218向输出设备发出命令且一图形在该输出设备上产生。虚拟设备驱动器218可经诸如无线显示连接之类的无线连接(被描绘为通信路径 1)与无线显示表面222通信。一示例性无线显示连接使得设备能够创建自组织(ad-hoc) 网络——以与彼此通信而不用在先设置或使用单独的无线接入点。在通常情况下,源计算机2 和无线显示表面222发现彼此,源计算机2 起软接入点(“AP”)的作用。无线显示表面222可通过使用通过诸如HDMI电缆之类的电缆连接到无线显示表面222的目的计算机2M或通过内建在无线显示表面222中的目的计算机2M来参与该发现操作。在发现之后,可通过在源计算机2 处的用户输入来确认对无线显示连接的创建,例如按压键盘上的特定按钮或输入显示在无线显示表面222上的短字母数字代码。虚拟设备驱动器218、音频驱动器228(从应用202接收音频)以及输入驱动器 230(从用户设备接收用户输入)与远程呈现协议(RPP)编码器220通信。来自应用202的图形数据沿通信信道2 (在应用202和图形子系统206之间)传递,并然后沿通信信道3 (在图形子系统206和虚拟显示驱动器218之间)传递。从应用202生成的音频命令从应用 202沿通信信道4传递到音频驱动器228。RPP编码器220被配置成根据RPP压缩屏幕数据 (包括图形、声音和输入)。尽管RPP编码器220在此被描绘成从图形设备接口 210接收图形数据,但是可理解RPP编码器220可从计算机226内的各种区域接收图形数据,例如存储在盘上的媒体文件、图形命令(如DIRECTX命令)、来自图形子系统的合成图像、或来自动画子系统的动画图像或命令。RPP编码器220使用的RPP可压缩数据,从而提高正被呈现的数据的保真度和/或交互性。当用RPP编码屏幕数据时可用各种方式来节省带宽。例如,可将图像细分成小片 (tile),且仅图像之间变化的那些小片(“脏的小片”)可被发送。当客户机接收到小片时, 客户机可高速缓存小片,然后服务器可指示客户机重新使用经高速缓存的小片而不是由服务器发送同样的小片。在窗口被移动或滚动时,可确定该信息且服务器可指示客户机重新使用与前一接收到的图像帧和新的图像帧之间的窗口移动或滚动相对应的同样的信息。节省带宽的另一方式是,不是发送呈现图形命令的图形结果(如结果位像),服务器可发送图形命令本身,客户机然后呈现这些图形命令。在图形而不是图形命令被发送的情况下, 这些图形可诸如经H. 264编码器被压缩,可用多个编解码器压缩单个桌面帧。例如,计算机桌面上的文本可用第一编解码器压缩,而同一计算机桌面上的图像可用第二编解码器压缩。有一些技术可由RPP使用,但是这里所描述的技术不构成这些技术的穷举列表。一旦用RPP编码器220编码,经编码的屏幕数据(如要被共享的特定窗口)就遵守源计算机2 和无线目的计算机2M通信所用的通信协议(如IEEE802. Iln协议)被传送到无线显示计算机224。在该通信信道上传送的经编码的数据在该信道上看起来是远程呈现系统数据。也就是说,在数据以多个分组来传送的情况下,每个分组看起来是RPP分组。目的计算机2M可包括被配置成解码从源计算机2 接收到的RPP数据的逻辑和 /或电路。如所描绘的,目的计算机包括轻量RPP解码器234。轻量RPP解码器234可包括通用CPU上执行的从目的计算机224的网络接口接收RPP分组的软件进程。轻量RPP解码器234被配置成解码接收到的RPP数据以及将其显示在无线显示器222上。轻量RPP 234 解码器可将该解码的某一些卸载到诸如所描绘的HW解码器232A和232B之类的硬件解码器。硬件解码器可包括例如被配置成解码RemoteFX编码的数据或H. 264编码的数据的专用硬件。轻量RPP解码器334可被认为是轻量的,因为它不包含处理常规RPP会话的各方面的逻辑。例如,轻量RPP解码器234可不包含发起或终止RPP会话、存储和/或向RPP服务器发送用户凭证以证实RPP会话、编码屏幕数据、或接收包括图像、声音的在目的计算机 224处本地输入的屏幕数据的逻辑。可通过向桌面的对应于用户输入的部分分配优先级来进一步增加交互性。这是因为观看桌面的某人可能被吸引到桌面的对应于用户输入的那些部分,从而这些部分被更新的速率可比桌面的其他部分被更新的速率更多地影响个人对交互性的印象。该优先级可按各种方式来分配。例如,在桌面帧被细分为小片的情况下,包含全部或部分用户光标的一个小片或多个小片可被给予分配的优先级。同样,例如在用户输入导致桌面上的窗口的大小、 形状或位置的改变时(例如通过用户使用光标拖曳窗口的一角),包含该变化的窗口的全部或部分的一个小片或多个小片可被分配较高的优先级。高优先级可就屏幕数据如何在源计算机或目的计算机的队列中被处理而给予屏幕数据优选,例如队列中被放置在较低优先级屏幕数据的前面。这些队列可包括对要被编码、解码或传送的屏幕数据的援引。源计算机226能够根据各种技术来编码图像,并且基于目的计算机224的属性 (例如目的计算机2M存在或缺少专门用于解码特定编解码器的硬件、目的计算机2M的总体处理能力、目的计算机的RAM量、目的计算机2M是否拥有GPU以及是的话拥有什么类型的GPU)以及源计算机2 与目的计算机2M通信所经由的通信网络来这样做。在通常情形下,源计算机2 可以是通用计算机,除了(沿通信信道幻传送要被显示在无线显示器 222上的数据之外,它可同时被用于其他目的,如执行web浏览器或电子邮件客户端。相反, 在该通常情形下,目的计算机2M可专门用于解码从源计算机2 接收的图像数据以及在无线显示器222上显示解码的图像。在该情形中,假设源计算机226的处理资源可被用于除了编码和向目的计算机2M传送数据之外的事,而目的计算机2M可专门地或几乎专门地被用于接收、解码和呈现从源计算机2 接收的数据,则在目的计算机2M上尽可能多地进行处理可能是较优选的。从而,源计算机2 执行的编码的量可基于目的计算机224的最大解码能力来确定。这可通过例如在2 源计算机和目的计算机2M建立通信时,目的计算机224向源计算机2 指示其接收、解码和显示图像数据的能力来完成。来自目的计算机2M的该指示可包括例如目的计算机2M可解码的一个或多个编解码器,以及对这些一个或多个编解码器之间的优选的指示。例如,该指示可表明目的计算机2M能够解码RemoteFX和H. 264格式两者,但是优选JEPG 2000,因为它有专门的硬件来解码H.沈4,但它必须用通用CPU来解码RemoteFX。在编解码器格式允许可变压缩量或质量(其中低压缩量可更快地被解码但要求更多带宽来传送,而高压缩量可能不会这样快地被解码但要求更少的带宽来传送)的情况下,来自目的计算机224的该指示还可包括目的计算机2M能够解码的压缩程度。来自目的计算机224的该指示还可包括关于目的计算机对用远程呈现协议编码的数据进行解码的能力的信息。例如,在远程呈现协议可将桌面帧细分成小片并指示目的计算机224高速缓存并重新使用小片的情况下,目的计算机2M可向源计算机2 指示它具有用于高速缓存小片的有限量的存储器。源计算机2 可从目的计算机2M接收该指示以及从该指示接收关于源计算机 226的信息,确定如何用远程呈现编码器220编码信息。例如,尽管目的计算机2M可指示出使用特定格式的优选,因为它具有专用于解码该格式的硬件,但是基于源计算机2 架构的细节,该格式可能对于源计算机2 编码来说是尤其棘手的格式。给定该信息,源计算机2 可选择用远程呈现编码器220编码计算机桌面的方式,以及在编码要被发送到目的计算机224的计算机桌面时使用该所选方式来编码。在另一通常情形中,尽管目的计算机2M专门用于解码和呈现从源计算机2 接收的屏幕数据,但是目的计算机2M具有有限的处理资源,因为它是低成本的嵌入式设备。 在该情形中,源计算机2 可通过本地地执行大量处理来克服目的计算机224的局限(例如分类计算机桌面的不同部分以及不同地编码这些不同部分,以使得解码是较不资源密集的)。然而,由于源计算机2 还可执行用户应用(如构成正被传送到目的计算机2M的屏幕数据的那些应用),一优选的情形可涉及源计算机2 将同样多的处理资源用于编码屏幕数据而不对该用户应用拒绝任何处理资源(例如仅使用另外可用的处理资源)。在另一通常情形下,屏幕数据可包括带有声音的视频,而源计算机2 可与目的计算机2M通信,以为了在包括无线监视器222的家庭影院上呈现屏幕数据。在这一情形以及其他情形中,可能重要的是声音和视频被同时播放。在这一情形中,远程呈现编码器220 可从源计算机226的音频驱动器接收声音或音频数据,将该声音数据编码并与视频的图像数据一起发送到目的计算机224。源计算机2 可进一步标记声音和图像数据,例如用时间码,以表示什么声音数据与什么图像数据同步。目的计算机2M可使用该时间码信息,使得它指示无线显示器222以及通信上连接到目的计算机2M的音频输出装置共同分别同时地播放声音和图像。源计算机2 在无线显示器222上对屏幕数据的这种显示可根据相对于源计算机 226的一个或多个物理显示器的各种范例来完成。例如,无线显示器222可镜像表示一个或多个源计算机226的一个或多个物理显示器。无线显示器222还可用于多显示器配置,以扩展源计算机226的物理显示器。也即是说,无线显示器222上显示的图像将不显示在源计算机226的任何物理监视器上。图2A描绘了在常规远程呈现协议(RPP)会话中共享本地用户桌面的示例计算机系统中的服务器上的会话。服务器计算机280被配置成服务远程呈现会话。服务器计算机 280包括会话0观2,即包括被配置成编码并传送由用户会话生成的RPP数据的系统服务的非交互式会话(如无用户账户通过操作系统与该会话相关联)。注意,对会话0 282的描绘是示例性的,存在可在其中实现本发明的其他系统架构和实施例。服务器计算机280还包括用户控制台会话观6,即用于用户在控制台处的交互式用户会话(例如,它接收来自本地鼠标和键盘的输入,而不是跨通信网络在RPP会话中的输入,以及在本地监视器和扬声器上显示输出)。服务器计算机280还包括远程用户会话观8,即服务器计算机280和客户机计算机282跨通信网络290建立RPP会话时在服务器计算机280上创建的用户会话。远程用户会话288是在RPP中与客户机计算机282通信的用户会话,但是它是要与客户机计算机282共享的(或镜像的或复制的)本地屏幕,且该本地屏幕与一不同的用户会话一用户控制台会话观6_相关联。为了与客户机计算机282共享本地屏幕,远程用户会话288接收来自客户机计算机观2的输入,并将该用户输入传送到用户控制台会话观6, 在用户控制台会话中该用户输入被处理。类似地,用户控制台会话286创建的屏幕数据由远程用户会话288接收。远程用户会话288获得该屏幕数据,并将其发送到会话0观2,以便用RPP编码并发送到客户机计算机282供显示。在所描绘的实施例中,用户控制台会话 286不为了用RPP编码屏幕数据并将其传送到客户机计算机观2的目的而与会话0 282交互。该处理由远程用户会话288应对。图2B描绘了在无线显示器上显示本地用户桌面的示例计算机系统中的服务器上的会话。与图2A中描绘的常规RPP会话相对比,没有为传送数据创建的附加用户会话(图 2A的远程用户会话观8)。相反,与目的计算机四4的连接由源计算机四2的用户控制台
管理,用户控制台还管理会话0 对屏幕数据的编码(注意,与图2A中一样, 会话0不是强制性的,本发明可在不同的系统架构中起作用)。用户控制台会话286和目的计算机294通过通信网络290建立无线通信信道。用户控制台会话生成诸如计算机桌面之类的本地屏幕数据。用户控制台会向会话0 发送指令以用RPP编码该屏幕数据,并将编码的屏幕数据直接传送到目的计算机四4——它不通过第二用户控制台, 就像图2A中图2A的远程用户会话288如何与RPP数据传输有关那样。图3A和;3B描绘了一计算机桌面,其中仅特定窗口与无线显示器共享。图3A描绘了源计算机(如图2的源计算机226)的包括多个窗口的计算机桌面,其中特定窗口(即多个窗口的子集)要被共享。这可例如经由图2所示的系统实现。计算机桌面302包括多个窗口——共享窗口 304、共享窗口 306以及非共享窗口 308。可注意到,每个窗口与至少一个其他窗口相交——例如,共享窗口 306遮挡共享窗口 304,而共享窗口 306本身被非共享窗口 308遮挡。图;3B描绘了图3A的计算机桌面的使用本技术与目的计算机(如图2的目的计算机224)共享且显示在无线显示器(如图2的无线显示器22 上的特定窗口。该技术可例如经由图2所描绘的系统实现。合成图像302b包括共享窗口 304b和共享窗口 306b。显示共享窗口 306b的全部,包括在图3A中窗口 306的被非共享窗口 308遮挡的那些部分。这是因为窗口 306的被遮挡的部分能够使用如参考图4描述的技术来确定。被共享窗口 306b 部分遮挡的共享窗口 304b没有被完整地示出。共享窗口 304b的被共享窗口 306b遮挡的那些部分没有示出,因为共享窗口 306b在计算机桌面上位于共享窗口 304b之上。然而,共享窗口 304b的被计算机桌面上的非共享窗口 308b覆盖的那些部分现在被示出。 在用于本发明的一情形中,共享窗口 304和306可包括用于媒体播放器应用的要被呈现在无线显示器上的窗口,非共享窗口是源计算机的用户不想呈现在无线显示器上的窗口,如文字处理程序窗口。以此方式,观看无线显示器的人可观看不被覆盖的视频,而源计算机的用户可仍然同时在文字处理程序中做某个工作。图4描绘了用于从被共享的特定窗口移除遮挡的示例操作过程。图4的技术可被实现来取图3A的计算机桌面并从中共享图:3B中描绘的特定窗口。这可例如经由图2所描绘的系统实现。窗口在被指定要被发送到目的计算机的情况下被共享。该指定可例如响应于源计算机处的对特定窗口或应用的用户输入而发生,以与目的计算机共享,使得它们被显示在无线显示器上。窗口是分层的,其中它被如此指定,且因此整个窗口被存储在与存储桌面的存储器区域分开的存储器区域中(且该窗口在桌面上可能被遮挡,因此不能从桌面确定整个窗口)。在一实施例中,桌面中的一窗口可具有下列特性——(1)它既是共享的也是分层的;(2)它是共享的但不分层的;(3)它不是共享的,但它遮挡了一共享窗口的一部分,且该被遮挡的部分可被确定;以及(4)它不是共享的但它不遮挡一共享窗口的任何部分。在一实施例中,生成合成图像——即其上绘制要被共享的窗口的空白画布——然后对窗口进行两遍以将共享窗口按其在桌面上所排列的方式绘制到合成图像上。在对窗口进行第一遍时,对每一窗口检查三件事。第一,检查每一窗口以确定其ζ 次序(窗口在桌面上的深度;当两个窗口在桌面上占据相同位置时,具有较小ζ深度的窗口将遮挡具有较大ζ深度的窗口)。其次,检查每一窗口以确定它是否是共享的,且如果是, 则确定它是否部分被遮挡。如在对窗口进行的该遍中所确定地,合成图像的各区域被指定为共享并被遮挡、或共享但未被遮挡。第三且最后,检查每一窗口来确定如果要在该合成图像中呈现窗口则窗口将被呈现在该合成图像中的位置。由于合成窗口具有与桌面相同的尺寸,因此该位置可通过按照桌面的左上角的坐标来使窗口偏移来确定。每一窗口的这一位置可被称为窗口的目标坐标。合成图像的被共享但不被遮挡的区域是这样一个区域,其中要添加共享窗口但该窗口的该部分不能被确定。它可由于以下原因而被确定或者(1)因为它不被桌面上的另一窗口遮挡;或者O)因为它被桌面上的另一窗口遮挡,但共享窗口的该区域可由于被存储在与存储桌面的存储器区域分开的某一存储器区域中而确定。在进行了第一遍之后,对每一窗口进行第二遍,从具有最大ζ深度的窗口开始,并按照ζ深度的降序对窗口进行。如上所述,根据窗口的特性处理每一窗口。如果窗口既是共享的又是分层的,则将窗口从存储窗口的存储器区域(与存储桌面的存储器区域分开; 这可被称为窗口缓冲区,它可构成系统存储器的一部分)复制到合成图像的目标坐标。由该窗口占据的区域被添加到共享的非遮挡区域。如果窗口是共享的但不是分层的,则将存储桌面的存储器区域中所呈现(且因此可见)的窗口的该部分复制到合成图像中该窗口的目标坐标处。如果窗口在桌面上被部分遮挡,将不呈现其全部,因此不将其全部复制到合成图像。如果窗口不被共享,且它不与被遮挡或共享的非遮挡的区域相交,则不向合成图像添加任何东西。在进行了第二遍之后,合成图像现在包括共享的非遮挡窗口(其部分可被其他共享窗口遮挡)。然后合成图像被编码(例如,被压缩)并发送到客户机供显示在客户机的显示设备上。可理解,存在实现类似结果但不精确地包括对窗口进行两遍的技术。例如,确定窗口的ζ次序以及确定合成图像的共享的非遮挡和共享的被遮挡区域的操作可在分开的各遍中执行。参考图4所述的这些技术在以下参考操作402-410更详细描述。尽管图4的操作讨论了四个窗口,但可以理解,本发明的技术可应用于处于被共享和/或被遮挡的任何状态下以及按任何ζ次序的任何数量个窗口。操作402描绘了确定多个窗口的ζ次序,其中第一窗口具有多个窗口中最大的ζ 距离。窗口可被认为在桌面上具有Z次序一具有较大Z距离的窗口将被具有较小Z距离的窗口遮挡。在以下操作中,可通过以Z次序遍历窗口,从具有最大Z距离的窗口开始,并以具有最小Z距离的窗口结束,来处理窗口。在一实施例中,窗口的ζ距离可被存储在其元数据中,或由诸如操作系统等系统中管理这些窗口的某一管理部分存储。在这样的实施例中,每一窗口的Z距离可通过检查其被存储的位置来确定。操作404描绘确定多个计算机窗口中第一窗口在桌面上的位置。如与操作402 — 样,该信息可被存储在窗口的元数据中,或可由系统中管理这些窗口的某一管理部分存储。在一实施例中,操作404包括基于第一窗口相对于计算机桌面的共享窗口位置来确定第一窗口的位置。如上所述,这可利用第一窗口的目标坐标来完成。操作406描绘确定第一窗口是共享的且是分层的。可以通过检查服务器的用户所设置的用来表示该窗口要被共享的窗口的标志来确定窗口是共享的。可通过检查与窗口相关联的元数据来查看诸如MICROSOFT WINDOWS中的WS_EX_LAYERED (WS_EX_分层)标志或类似指示符之类的“分层标志”被设置来确定窗口是分层的。操作408描绘了基于第一窗口的位置将第一窗口复制到合成图像。为了按照共享窗口在服务器上的相同排列来向客户机显示共享窗口,共享窗口的排列必须已知。在合成图像包括与从中窗口被共享的桌面相同尺寸的情形中,这例如可通过使用共享窗口相对于桌面的相对位置来完成。例如,如果共享窗口的左上角位于桌面的左上角向右70像素、向下60像素处,则可通过复制第一窗口使得第一窗口的左上角位于合成图像的左上角向右 70像素、向下60像素处来在合成图像中维护第一窗口的相对位置。在一实施例中,合成图像包括位像。可使用各种其它图像格式,诸如联合图像专家组(JPEG)或图形交换格式(GIF)。在一实施例中,操作408包括在将一窗口复制到合成图像之前禁用多个计算机窗口的每一窗口的桌面合成。诸如MICROSOFT WINDOWS VISTA操作系统之类的某些操作系统中的应用及其桌面窗口管理器(DWM)不向用于桌面的存储器区域直接绘制窗口。相反,那些窗口被绘制到视频存储器中的屏幕外存储器区域中,然后被呈现到桌面图像中。在包括这样的桌面合成特征的一些实现中,当共享窗口被绘制到这些屏幕外存储器区域时,在没有窗口的边界框的情况下绘制窗口,且当窗口稍后被绘制到用于桌面的存储器区域时围绕该窗口绘制该边界。在这种情况中,从这些屏幕外存储器区域中检索共享窗口将导致检索部分共享窗口,因为该窗口缺少其框边界。这一问题可通过禁用那些桌面合成特征来减轻。在一实施例中,操作408包括在将任何共享窗口复制到合成图像之前为多个计算机窗口中共享的每一窗口设置分层标志。在某些操作系统中,分层和未分层的窗口被不同地处理。如果窗口不是分层的,则它仅被绘制到用于桌面的存储器区域,而根本不绘制窗口中被另一窗口遮挡的那些部位。如果窗口是分层的,则将整个窗口绘制到屏幕外存储器区域,在那里存储该窗口,然后将窗口中非遮挡的部分(可以是整个窗口)绘制到用于桌面的存储器区域。由此,通过在支持这一操作的环境中为每一共享窗口设置分层标志,可使得共享窗口中被遮挡的那些部分在存储器中可用以便传送给客户机,但是它们在服务器的桌面上不可见。在一实施例中,操作408包括将第一窗口从窗口缓冲区复制到合成图像。窗口缓冲区可包括如参考操作406所讨论的屏幕外存储器区域。在其中分层窗口被存储在屏幕外存储器区域中的实施例中,该窗口可被复制到合成图像,使得整个窗口被复制到合成图像, 即使窗口的某一部分在桌面上被遮挡。操作410描绘了确定多个计算机窗口中的第二窗口在桌面上的位置;确定第二窗口是共享的但不是分层的;以及基于第二窗口的位置将第二窗口从计算机桌面复制到合成图像。在使用MICROSOFT WINDOWS操作系统的实施例中,这例如可通过对GetWindowDCO (取窗口 DC0)功能的调用来实现。在第二窗口是共享的时候,将其复制到合成图像以便传送到客户机。在其不是分层的时候(诸如第二窗口的分层标志未被置位),则可能的是第二窗口在存储器中仅被存储在用于桌面的存储器区域中。在这样的情况中,可从用于桌面的存储器区域检索它并从中将其复制到合成图像。图5描绘了用于在无线显示器上显示图像的示例操作过程。图5的操作过程可在图2的计算机系统上实现。可以理解,各操作的顺序不是强制性的,本发明可以操作顺序的各种变换来实现,且不是每一操作都需要被执行来实现本发明。在图5的操作过程中,源计算机确定要与目的计算机共享的包括计算机桌面的一个或多个特定窗口的屏幕数据,从源计算机的存储器(例如存储计算机桌面的存储器或缓冲每个窗口的存储器)中提取那些窗口,然后利用远程呈现协议(RPP)对该计算机桌面编码并发送到目的计算机(例如图2的目的计算机224),目的计算机对其解码并将其显示在无线显示器(例如图2的无线显示器 222)上。编码和解码计算机图形或屏幕数据的该过程是用RPP执行的,但是该编码和解码可在远程呈现会话之外进行(例如,在操作过程的开始时远程呈现会话可能没有建立,可能没有对用户凭证的证实,可能没有创建分开的用户会话,在操作过程的结束处可能没有终止远程呈现会话)。通过实现这些操作过程,通过无线显示器提供了高水平的保真度和交互性,使其非常类似于有线显示器所提供的保真度和交互性的水平。操作过程开始于操作502。操作502描绘了在源计算机的用户控制台会话和目的计算机之间建立无线通信信道,目的计算机被配置成在无线显示器上显示屏幕数据(例如计算机桌面)。该无线通信信道可包括例如无线USB或无线HD通信信道。该通信信道可在源计算机(例如图2的源计算机226)和目的计算机(例如图2的目的计算机224)之间建立。目的计算机可包括嵌入在无线显示器中的ASIC,或物理上连接到无线显示器的计算机,例如嵌入式系统“机顶盒”。除通用处理器之外,目的计算机可包括被配置成解码远程呈现数据并在无线显示器上呈现图形的专门电路。操作504描绘了确定用户控制台会话的计算机桌面中要被显示在无线显示器上的第一窗口。这可例如响应于要被共享的一个或多个窗口或一个或多个应用(以及该应用的窗口)的用户输入来确定。操作506描绘了从计算机桌面提取窗口。这可例如通过实现图4所描绘的操作过程来完成。在一实施例中,其中第一窗口被计算机桌面上的第二窗口遮挡,操作506可包括确定第一窗口在计算机桌面上的位置;确定第一窗口是共享的且是分层的;以及基于第一窗口的位置将第一窗口从窗口缓冲区复制到合成图像,所述窗口缓冲区与计算机桌面分开地存储第一窗口。这些操作可与参考图4所描述的类似的方式执行。在一实施例中,操作506可包括确定第一窗口在计算机桌面上的位置;确定第一窗口是共享的但不是分层的;以及基于第二窗口的位置从计算机桌面将第一窗口复制到合成图像。这些操作可与参考图4所描述的类似的方式执行。操作508描绘了用远程呈现协议(RPP)编码第一窗口。编码第一窗口的该过程可发生在远程呈现会话之外,因为在操作过程开始时远程呈现会话可能还未建立,可能没有对用户凭证的证实,和/或在操作过程的结束时可能没有终止远程呈现会话。编码的第一窗口可包括例如用H. 264格式编码的图像。在无线目的计算机高速缓存它从源计算机接收的屏幕数据的情况下,编码的第一窗口本身可不包含编码的图形数据,而是对无线目的计算机的从其高速缓存中取特定的经高速缓存的数据的指示。在远程呈现会话协议将屏幕数据细分成多个小片的情况下,可能的是操作506包括编码第一窗口的某些小片,并将它们与对无线目的计算机从其高速缓存中取一个或多个小片的指示一起发送到无线显示计算机。操作510描绘了将编码的第一窗口从用户控制台会话发送到目的计算机,而不用通过第二用户会话传送编码的第一窗口,使得目的计算机将解码编码的第一窗口并将解码的第一窗口显示在无线显示器上。源计算机和目的计算机在建立的无线通信信道上通信。 当源计算机向目的计算机发送编码的第一窗口时,它使用该通信信道来这样做,但是它在这样做之前并不首先建立跨该通信信道的远程呈现会话。响应于接收到编码的第一窗口, 目的计算机解码该数据并在无线显示器上对其进行汇编。尽管解码的第一窗口对应于第一窗口,但是它可能不完全与第一窗口匹配。例如,如果第一窗口被编码且然后用有损解码器解码,则图像中的某一些会丢失,解码的第一窗口将与第一窗口不同。操作512描绘了确定对应于用户控制台会话的第一窗口的声音;从存储器提取声音窗口 ;用远程呈现协议编码声音;以及从用户控制台会话将编码的声音发送到目的计算机,而无需通过第二用户会话传送编码的声音,使得目的计算机将对编码的声音进行解码并在第一窗口被显示在无线显示器上的同时播放声音。在特定窗口被共享且那些窗口的一部分具有相应的声音(例如窗口包括在其中播放视频的窗口)的情况下,该声音可被传送到目的计算机供经通信上耦合到目的计算机的扬声器播放。来自未被共享的窗口的声音或没有窗口的进程也可在源计算机上播放。在这一情形中,仅将对应于共享窗口的声音被传送到目的计算机。这可通过例如以下来完成,截取从具有共享窗口的应用发送的并针对音频驱动器的声音数据或命令,而是将它们传送到虚拟音频驱动器,从虚拟音频驱动器它们被远程呈现编码器编码并传送到目的计算机并被播放。操作514描绘了在用户控制台会话接收用户输入;以及响应于确定该用户输入对应于第一窗口,将用户输入的指示发送到目的计算机,使得目的计算机将在无线显示器上显示用户输入的结果。在仅特定窗口与目的计算机共享的情况下,源计算机处的用户输入可被认为是在以下两组之一中影响特定窗口之一的用户输入,以及不影响特定窗口之一的用户输入。例如,影响特定窗口之一的输入可包括改变那些特定窗口之一的形状的用户输入,而不影响特定窗口之一的输入可包括对未被共享的文字处理程序窗口的文本用户输入。源计算机可在确定向目的计算机指示什么输入时使用该区别,例如通过传达用户输入的与特定的共享窗口有关的指示以及不传达用户输入的与特定的共享窗口无关的指示。操作516描绘了确定用户控制台会话的计算机桌面中要被显示在无线显示器上的第二窗口 ;从存储器提取第二窗口 ;用RPP编码第二窗口 ;以及从用户控制台会话将编码的第二窗口发送到目的计算机,而无需通过第二用户会话传送编码的第二窗口,使得目的计算机将对编码的第二窗口进行解码并与在无线显示器上显示解码的第一窗口同时地在无线显示器上显示解码的第二窗口。操作516可以与图4的操作如何被用于从图3A的计算机桌面得出图:3B的共享窗口类似的方式来实现。例如,第一窗口可以是图3A的窗口 304, 而第二窗口可以是图3B的窗口 306。第一窗口和第二窗口可以是同一应用的窗口。例如, 在媒体应用中,第一窗口可包括显示视频的窗口而第二窗口可包括包含用于该媒体播放器的控制按钮的窗口。结论尽管已经结合各附图所示的较佳方面描述了本发明,但要理解,可使用其他相似方面或者可对所述方面进行修改或添加来执行本发明的相同功能而不脱离本发明。因此, 本发明不应该仅限于任何单个方面,而是应该在根据所附权利要求书的广度和范围内解释。例如,本文描述的各种过程可用硬件或软件、或两者的组合来实现。因此,所公开的各实施例的方法和装置或其某些方面或部分可采用包含在诸如软盘、CD-ROM、硬盘驱动器或任何其他机器可读存储介质等有形介质中的程序代码(即,指令)的形式。当程序代码被加载到诸如计算机等机器并由其执行时,该机器变为被配置成实施所公开的各实施例的装置。除了此处明确阐述的具体实现之外,考虑此处所公开的说明书,其他方面和实现将对本领域的技术人员是显而易见的。说明书和所示实现旨在仅被认为是示例。
权利要求
1.一种用于在无线显示器(22 上以高保真度和交互性显示图像的方法,包括 在源计算机026)的用户控制台会话Q86b)与目的计算机(224)之间建立无线通信信道,所述目的计算机被配置成在无线显示器上显示图像(502);确定所述用户控制台会话的计算机桌面中要被显示在所述无线显示器上的第一窗口 (504);从存储器提取所述第一窗口(506); 用远程呈现协议RPP编码所述第一窗口(508);以及将编码的第一窗口从所述用户控制台会话发送到所述目的计算机,而不用通过第二用户会话传送所述编码的第一窗口,使得所述目的计算机将对所述编码的第一窗口进行解码并将解码的第一窗口显示在所述无线显示器上(510)。
2.如权利要求1所述的方法,其特征在于,还包括 确定对应于所述用户控制台会话的所述第一窗口的声音; 从存储器提取声音窗口;用所述RPP编码所述声音;以及将编码的声音从所述用户控制台会话发送到所述目的计算机,而不用通过第二用户会话传送所述编码的声音,使得所述目的计算机将对所述编码的声音进行解码并在所述无线显示器上显示所述第一窗口的同时播放所述声音。
3.如权利要求1所述的方法,其特征在于,还包括 在所述用户控制台会话接收用户输入;以及响应于确定所述用户输入对应于所述第一窗口,将所述用户输入的指示发送到所述目的计算机,使得所述目的计算机将在所述无线显示器上显示所述用户输入的结果。
4.如权利要求1所述的方法,其特征在于,还包括确定所述用户控制台会话的所述计算机桌面中要被显示在所述无线显示器上的第二窗口 ;从存储器提取所述第二窗口; 用所述RPP编码所述第二窗口 ;将编码的第二窗口从所述用户控制台会话发送到所述目的计算机,而不用通过第二用户会话传送所述编码的第二窗口,使得所述目的计算机将对所述编码的第二窗口进行解码并与在所述无线显示器上显示所述解码的第一窗口同时地在所述无线显示器上显示解码的第二窗口。
5.如权利要求4所述的方法,其特征在于,所述第一窗口和所述第二窗口是同一应用的窗口。
6.如权利要求1所述的方法,其特征在于,所述第一窗口被所述计算机桌面上的第二窗口遮挡,提取第一窗口包括确定所述第一窗口在所述计算机桌面上的位置; 确定所述第一窗口是共享的且是分层的;基于所述第一窗口的位置,将所述第一窗口从窗口缓冲区复制到合成图像,所述窗口缓冲区与所述计算机桌面分开地存储所述第一窗口。
7.如权利要求1所述的方法,其特征在于,还包括确定所述第一窗口在所述计算机桌面上的位置; 确定所述第一窗口是共享的且不是分层的;基于所述第二窗口的位置将所述第一窗口从所述计算机桌面复制到合成图像。
8.一种用于在无线显示器(22 上以高保真度和交互性显示图像的系统,包括 处理器;以及通信地耦合到所述处理器的存储器(22),所述存储器承载指令,当在所述处理器上执行所述指令时使得所述处理器执行以下操作,包括在源计算机026)的用户控制台会话086b)与目的计算机(224)之间建立无线通信信道,所述目的计算机被配置成在无线显示器上显示图像(502);确定所述用户控制台会话的计算机桌面中要被显示在所述无线显示器上的第一窗口 (504);从存储器提取所述第一窗口(506); 用远程呈现协议RPP编码所述第一窗口(508);将编码的第一窗口从所述用户控制台会话发送到所述目的计算机,而不用通过第二用户会话传送所述编码的第一窗口,使得所述目的计算机将对所述编码的第一窗口进行解码并将解码的第一窗口显示在所述无线显示器上(510)。
9.如权利要求8所述的系统,其特征在于,所述存储器还承载在由所述处理器执行时使得所述处理器执行以下操作的指令,包括确定对应于所述用户控制台会话的所述第一窗口的声音; 从存储器提取声音窗口; 用所述RPP编码所述声音;将编码的声音从所述用户控制台会话发送到所述目的计算机,而不用通过第二用户会话传送所述编码的声音,使得所述目的计算机将对所述编码的声音进行解码并在所述无线显示器上显示所述第一窗口的同时播放所述声音。
10.如权利要求8所述的系统,其特征在于,所述存储器还承载在由所述处理器执行时使得所述处理器执行以下操作的指令,包括在所述用户控制台会话接收用户输入;以及响应于确定所述用户输入对应于所述第一窗口,将所述用户输入的指示发送到所述目的计算机,使得所述目的计算机将在所述无线显示器上显示所述用户输入的结果。
11.如权利要求8所述的系统,其特征在于,所述存储器还承载在由所述处理器执行时使得所述处理器执行以下操作的指令,包括确定所述用户控制台会话的所述计算机桌面中要被显示在所述无线显示器上的第二窗口 ;从存储器提取所述第二窗口; 用所述RPP编码所述第二窗口 ;将编码的第二窗口从所述用户控制台会话发送到所述目的计算机,而不用通过第二用户会话传送所述编码的第二窗口,使得所述目的计算机将解码所述编码的第二窗口并与在所述无线显示器上显示所述解码的第一窗口同时地在所述无线显示器上显示解码的第二窗口。
12.如权利要求11所述的系统,其特征在于,所述第一窗口和所述第二窗口是同一应用的窗口。
13.如权利要求8所述的系统,其特征在于,所述第一窗口被所述计算机桌面上的第二窗口遮挡,提取第一窗口包括确定所述第一窗口在所述计算机桌面上的位置; 确定所述第一窗口是共享的且是分层的;基于所述第一窗口的位置,将所述第一窗口从窗口缓冲区复制到合成图像,所述窗口缓冲区与所述计算机桌面分开地存储所述第一窗口。
14.如权利要求8所述的系统,其特征在于,所述存储器还承载在由所述处理器执行时使得所述处理器执行以下操作的指令,包括确定所述第一窗口在所述计算机桌面上的位置; 确定所述第一窗口是共享的且不是分层的;基于所述第二窗口的位置将所述第一窗口从所述计算机桌面复制到合成图像。
全文摘要
本发明涉及在无线显示表面上显示特定窗口。提供了用于将计算机桌面的窗口克隆到无线显示表面的技术。源计算机的用户控制台会话和目的计算机建立无线通信信道。用户控制台会话确定要与目的计算机共享的特定的一个或多个窗口,使得目的计算机将在无线显示器上显示(诸)窗口。用户控制台会话提取这些窗口并用远程呈现协议编码它们,然后将编码的窗口传送到目的计算机。一旦接收到编码的窗口,目的计算机就对编码的窗口进行解码并在无线显示器上显示它们。
文档编号H04L29/06GK102375718SQ201110260488
公开日2012年3月14日 申请日期2011年8月9日 优先权日2010年8月10日
发明者C·德沃夏克, N·波特, S·R·内鲁德 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1