当前位置: 首页 > 专利查询>辉达公司专利>正文

适用于远程桌面应用程序的个体应用程序窗口的流式传输制造技术

技术编号:24041111 阅读:22 留言:0更新日期:2020-05-07 03:26
本发明专利技术公开了一种适用于远程桌面应用程序的个体应用程序窗口的流式传输。本公开涉及流式传输远程桌面的个体应用程序窗口和/或其他桌面元素。用于表示不相关的桌面区域的数据可以用可以在视频流中高度压缩的较低熵数据和/或用表示其他可视内容的数据代替。视频流还可以包括用于在本地桌面上呈现桌面元素的桌面元数据(例如,桌面可视物的位置等)。可以在本地桌面上的代理窗口中呈现应用程序窗口的桌面可视物。

Streaming of individual application windows for remote desktop applications

【技术实现步骤摘要】
适用于远程桌面应用程序的个体应用程序窗口的流式传输相关申请的交叉引用本申请要求于2018年10月26日提交的、申请号为62/751,366的美国临时申请的权益,该申请的全部内容通过引用并入本文中。
技术介绍
用于远程计算的常规方法可以通过将远程计算设备的整个桌面流式传输到用户的本地设备(例如,客户端)来向用户提供对在远程计算设备(例如,服务器)上运行的软件的访问。结果,本地设备的用户可能只能选择在单个窗口内或作为全屏视图查看本地设备上的整个远程桌面的表示。为了访问远程计算设备的软件,用户必须与流式传输到用户的本地设备上的整个远程桌面交互。然而,用户可能对查看所选窗口和/或与其交互感兴趣,或仅对查看远程计算设备的整个桌面的子集和/或与其交互感兴趣。在这种情况下,产生整个远程桌面的这些常规方法不必要地消耗过多的带宽、处理功率和能量以生成远程桌面并将其发送到本地设备。此外,在不应准许用户完全访问整个远程桌面而是仅准许访问某组远程应用程序的情况下,可能会出现安全问题。另外,常规系统可能不提供远程桌面与本地设备的本地桌面之间的无缝整合。例如,在远程桌面被流式传输到窗口中的情况下,显示远程桌面的窗口可以允许远程桌面和本地桌面之间的某种程度的交互(例如,拖放功能),但是可以始终将本地桌面的应用程序窗口与远程桌面的应用程序窗口分离。作为另一示例,当与远程桌面的任何应用程序交互时,整个远程桌面窗口可以以本地桌面的Z顺序显示在每个应用程序窗口上方(以上)或下方(以下)。此外,虽然一些系统可以流式传输单个应用程序窗口的客户端区域,但非客户端区域(超出直接包含在客户端区域中的图形内容(例如窗口框架),和在窗口框架上通过用户界面小部件提供的任何功能)可能无法供客户端桌面使用。
技术实现思路
在其他方面,本公开涉及用于远程桌面应用程序的个体应用程序窗口的流式传输。与将整个远程桌面流式传输到本地设备的本地桌面的常规系统相比,所公开的方法允许将远程桌面的任意数量的应用程序窗口和/或其他桌面元素(例如,弹出通知)流式传输到本地桌面,而无需在流中包括整个远程桌面。为此,捕获远程桌面的每个相关窗口的窗口可视物和相应的窗口属性,并将其编码成网络流的视频流。可以将用于表示不相关和/或未选择的窗口或其他桌面区域的数据最小化。此外,可以将包括窗口可视物和表示窗口属性的窗口元数据的视频流发送到本地设备。本公开的其他方面提供了使用不提供阿尔法(alpha)信道的视频编解码器来传输每像素透明度信息(或者称为“阿尔法信息”)。例如,可视物(例如,窗口可视物)的阿尔法信息可以被转码成所支持的视频流的频道,以生成表示阿尔法信息的支持的颜色空间的样本。本公开还可以进一步提供通过可以存储在一个或更多个视频流的任意数量的视频帧中的虚拟帧传输可视物(例如,窗口可视物)。可以将可视物分成虚拟帧的二维(2D)页面,其中每个2D页面是一个或更多个视频流的视频帧大小的一部分。可以将虚拟帧编码到一个或更多个视频流的视频帧,然后根据页表重建虚拟帧。附图的简要描述下面参考附图详细描述用于适用于远程桌面应用程序的个体应用程序窗口的流式传输的本系统和方法,其中:图1是根据本公开的一些实施例的示例桌面流式传输系统的示意图;图2A是根据本公开的一些实施例的远程桌面的示例;图2B是根据本公开的一些实施例的本地桌面的示例;图3是根据本公开的一些实施例的、用于描述生成包含在网络流中的可视物外观的示例的图示;图4A是根据本公开的一些实施例的、将阿尔法信息转换为RGB颜色空间中的YUV420视频帧格式的图示;图4B是根据本公开的一些实施例的、采用每像素阿尔法信息布局图像的图像区域并在桌面上显示图像的示例的图示;图5是根据本公开的一些实施例的、从应用程序窗口的窗口可视物生成虚拟帧的帧的图示;图6是根据本公开的一些实施例的、示出用于远程桌面流式传输的方法的流程图;图7是根据本公开的一些实施例的、示出在本地桌面上呈现远程桌面的桌面可视物的方法的流程图;图8是根据本公开的一些实施例的、示出用于将远程桌面的部分选择性地发送到本地桌面的方法的流程图;图9是根据本公开的一些实施例的、示出用于在视频流的一个或更多个帧中发送可视物的阿尔法信息的方法的流程图;图10是根据本公开的一些实施例的、示出用于通过视频流流式传输虚拟帧的方法的流程图;图11是根据本公开的一些实施例的示例操作环境;和图12是适用于实现本公开的一些实施例的示例计算设备的框图。具体实施方式公开了涉及适合于远程桌面应用程序的个体应用程序窗口流式传输的系统和方法。更具体地,公开的系统和方法涉及-代替将整个远程桌面流式传输到本地桌面-将远程桌面的一个或更多个应用程序窗口和/或其他桌面元素流式传输到本地桌面。与常规方法相反,所公开的方法允许将远程桌面的任何数量的应用程序窗口或其他桌面元素流式传输到本地设备的桌面,而无需在流中包括整个远程桌面。为此,可以捕获远程桌面的每个相关窗口的窗口可视物(visuals)和相应的窗口属性并将其编码为流的视频流(例如,使用诸如实时传输协议(RTP)或专有协议类型的标准)。可以将用于表示不相关和/或未选择的窗口或其他桌面区域的数据最小化,例如通过用可以在视频流中高度压缩的较低熵数据(例如,黑色像素数据)替换数据和/或用其他可视内容替换那些区域。此外,可以将包括窗口可视物和表示窗口属性的窗口元数据的视频流发送到本地设备。与常规系统相比,通过仅将一组特定应用程序窗口和/或其他桌面元素流式传输到本地设备,以及利用视频流技术,所公开的方法需要更少的带宽、处理和功率。另外,与诸如本文所述的常规系统中存在的安全性问题相反,本公开的方法通过例如从流应用程序窗口、桌面元素或本质上敏感的可视物中排除来提供安全性改进。可以从流接收和解码一个或更多个应用程序窗口的窗口可视物和窗口属性,以在本地桌面上创建本地窗口可视物。使用所接收的窗口属性,可以在每个相应的远程窗口的代理窗口中将解码的窗口可视物呈现(render)并显示在本地桌面上。在一个或更多个实施例中,代理窗口可以包括延伸超出客户端区域内的解码的窗口可视物。任何数量的应用程序窗口的解码的窗口可视物和窗口属性可以通过单个网络流在单个视频流或多个视频流中接收,同时允许与各个代理窗口交互,就好像它们对于本地桌面是本地的一样。因此,与常规系统相比,通过根据窗口可视物和窗口属性在本地桌面上呈现代理窗口,所公开的方法允许应用程序窗口无缝地整合到本地桌面中。在一些示例中,用户或系统可以确定感兴趣的要被流式传输到本地设备的本地桌面的远程桌面的至少一个应用程序窗口。可以从流中排除未被识别或以其他方式确定为感兴趣的远程桌面的部分或将其最小化。例如,可以使用来自第一(例如,捕获的)可视物外观的较低熵数据来过滤掉远程桌面的未选择部分或将其转换为最小表示,以便生成第二(例如,要发送的)可视物外观(visualsurface),其仍然包括被确定为感兴趣的远程桌本文档来自技高网
...

【技术保护点】
1.一种方法,包括:/n确定远程桌面的要包括在至本地设备的本地桌面的视频流中的至少一个应用程序窗口;/n捕获窗口数据,所述窗口数据包括:/n对应于窗口可视物的图像数据;以及/n所述至少一个应用程序窗口的窗口属性;用较低熵数据覆写所述图像数据的一部分;将对应于所述窗口可视物的所述图像数据的剩余部分和所述图像数据的用较低熵数据覆写的所述部分编码为所述视频流;以及/n将包括所述视频流和表示所述至少一个应用程序窗口的所述窗口属性的窗口元数据的流发送到所述本地桌面。/n

【技术特征摘要】
20181026 US 62/751,366;20190614 US 16/441,5781.一种方法,包括:
确定远程桌面的要包括在至本地设备的本地桌面的视频流中的至少一个应用程序窗口;
捕获窗口数据,所述窗口数据包括:
对应于窗口可视物的图像数据;以及
所述至少一个应用程序窗口的窗口属性;用较低熵数据覆写所述图像数据的一部分;将对应于所述窗口可视物的所述图像数据的剩余部分和所述图像数据的用较低熵数据覆写的所述部分编码为所述视频流;以及
将包括所述视频流和表示所述至少一个应用程序窗口的所述窗口属性的窗口元数据的流发送到所述本地桌面。


2.如权利要求1所述的方法,其中对应于窗口可视物的所述图像数据包括表示所述远程桌面的远程桌面外观,并且所述方法还包括:
将模板应用于所述远程桌面外观,以移除所述远程桌面外观的至少一些可视内容,其中所述图像数据的用较低熵数据覆写的所述部分对应于通过应用所述模板移除的所述远程桌面外观的所述可视内容。


3.如权利要求1所述的方法,还包括将所述至少一个应用程序窗口的所述窗口可视物分成虚拟帧,其中所述虚拟帧被编码并作为所述视频流的帧被发送。


4.如权利要求1所述的方法,其中所述窗口属性包括标识符和以下中的至少一个:应用程序窗口的标题、几何形状、样式或坐标。


5.如权利要求1所述的方法,其中确定要包括在所述流中的所述远程桌面的所述至少一个应用程序窗口包括:
接收与要包括在所述流中的应用程序窗口的列表相对应的进程列表;以及
至少部分地基于每个所述应用程序窗口在所述远程桌面上可见,由所述进程列表确定从所述应用程序窗口的列表中对应用程序窗口的选择。


6.如权利要求1所述的方法,其中使用结构化的逐字节差异在所述流中发送所述窗口元数据,以对所述应用程序窗口的所述窗口属性进行增量编码。


7.如权利要求1所述的方法,还包括:
识别与所述远程桌面相关联的窗口创建事件或窗口销毁事件中的一个或更多个,并且至少部分地基于所述窗口创建事件或所述窗口销毁事件,更新要包括在所述流中的应用程序窗口的列表。


8.如权利要求1所述的方法,其中所述编码还针对所述窗口元数据,并且所述窗口元数据位于所述视频流的至少一个报头中。


9.如权利要求1所述的方法,其中所述视频流包括所述至少一个应用程序窗口的所述窗口可视物的每像素透明度信息。


10.如权利要求1所述的方法,其中所述编码包括将所述至少一个应用程序窗口的所述窗口可视物的阿尔法信息附加到所述视频流。


11.如权利要求1所述的方法,其中所述编码包括:
转码所述至少一个应用程序的所述窗口可视物的每像素透明度信息;以及
将所述每像素透明度样本的组附加到所述视频流...

【专利技术属性】
技术研发人员:A·博什尼亚科维奇J·齐默尔曼A·里德
申请(专利权)人:辉达公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1