[发明专利]用并行处理从源位图标识并提取模式来加速位图远程发送有效
申请号: | 201110102140.6 | 申请日: | 2011-04-14 |
公开(公告)号: | CN102222314A | 公开(公告)日: | 2011-10-19 |
发明(设计)人: | N·Y·阿布多;V·A·奥布;C·L·泽特尼克三世;M·A·麦克穆伦 | 申请(专利权)人: | 微软公司 |
主分类号: | G06T1/00 | 分类号: | G06T1/00;H04L29/08 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 胡利鸣 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并行 处理 位图 标识 提取 模式 加速 远程 发送 | ||
技术领域
本发明涉及加速位图远程发送,尤其涉及使用并行处理技术从源位图中标识并提取模式来加速位图远程发送。
背景技术
虽然计算机曾经一度是孤立的并且与其他计算机具有最小的或很少的交互,但是现在计算机通过局域网(LAN)、广域网(WAN)、拨号连接等等与各种各样的其他计算机进行交互。随着因特网的广泛增长,计算机之间的连接已经变得更加重要并且已经开发了许多新的应用程序和技术。大规模网络的增长以及低成本个人计算机的广泛可用性已经从根本上改变了许多人工作、交互、通信、以及玩乐的方式。
网络通信的一种日益增加的流行形式一般被称为远程呈现系统,其能使用诸如远程桌面协议(RDP)以及独立计算体系结构(ICA)来与远程客户机共享在服务器上的桌面和在服务器上执行的其他应用。这样的计算系统通常将来自客户机的键盘按压和鼠标点击或选择传送到服务器,通过网络连接(例如,因特网)将屏幕更新转播回另一方向。由此,当实际上仅仅向客户机设备发送如在服务器侧上出现的桌面或应用的屏幕截图时,用户具有好像他的或她的机器正在完全地本地地操作的体验。
两种常用的将图形数据发送到客户机的技术是(1)发送告知客户机侧的子例程要画什么以及如何画的图元和其他操作,(2)向客户机发送位图图像以供显示。通常,发送图元所需要的带宽小于发送该图元的执行的视觉结果。例如,11个字符的串“Hello world”的文本图元可用11个Unicode字节表示。如果每个字符显示在12像素乘12像素的区域内,那么“Hello world”的位图表示将需要大约200倍的更多字节来表示,并且由此需要大约200倍的更多带宽来发送。
同样地,不透明矩形以及图像的滚动的图元表示相比于传送它们对应物的位图,需要少于至少一个数量级的带宽。不透明矩形的图元表示一般不需要超过4个字节。等效的位图表示可被高度压缩,但一般依然需要至少几个千字节。同样地,图像滚动(有时称为“屏到屏位块传送”)可用图元表示为占据大约10个字节的命令。移动800像素乘400像素窗口的位图形式可需要多至1.83兆字节(800乘400像素区域乘以每像素3字节,并考虑到旧位置和新位置再被翻倍)或大约空间的10,000倍。
可能存在没有图元可用于发送的时候,诸如当先前存储的图像要被发送时。在这种情况下,在位图帧要被发送到客户机(诸如应用窗口)的情况下,位图帧可被细分成小块。这些小块接着在客户机侧被高速缓存,并且当一小块在两个位图之间重复时,服务器向客户机发送指令以显示被高速缓存的小块而不是重新向客户机发送该小块。这可显著地减少远程呈现会话的带宽成本,尤其在小块是频繁地重复的情况下。
然而,即使使用这些高速缓存位图小块的技术,发送位图的带宽需求依然大大超过发送图元的带宽需求。此外,存在许多高速缓存证明是无效的情况,诸如当窗口被滚动不是小块的尺寸内的像素数量的偶倍数的多个像素时-即使图像依然本质上是相同的,因为其不以相同的方式与小块对齐,已被高速缓存的小块是无用的。
发明内容
因此,减少跨远程呈现会话发送位图图像所需的带宽是对于现有技术的改进。提供使用其能在将服务器侧上的图像发送到客户机之前快速地处理这些图像的并行处理技术是另一改进。这些并行处理技术可利用图形处理单元(GPU)或向量处理器。
在本申请的一实施例中,服务器计算设备分析要在远程呈现会话中发送的图像以寻找可能的重复特征(在图像内重复或在服务器将在会话中发送的多个图像之间重复)。这些特征可包括诸如文本的事物,以及应用的导航按钮(例如,向上箭头的图标)。
服务器通过定位图像内具有重复的最大可能性的片断来标识图像内特征的各个实例。通过在图像处理单元(GPU)上并行地执行操作或通过利用中央处理单元(CPU)的并行指令,标识图像内的片断的该过程可在计算设备上快速地执行。
在存储器的不同部分之间(诸如在主系统存储器和图形处理单元(GPU)的视频存储器之间)移动数据是“昂贵的”操作,即,相对于要在数据上执行的其他操作或相对于可用于处理数据的时间量,这么做需要相当大量的时间。在要被发送到客户机(例如,呈现的屏幕)的图像已经驻留在视频存储器内的情况下,接着将其保留在视频存储器内并使用GPU对其处理可避免需要执行消耗时间的从视频存储器读回图像到系统存储器(其中它可通过逻辑处理器在其上执行)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110102140.6/2.html,转载请声明来源钻瓜专利网。