CN103763610A - 一种远程桌面的重定向方法及装置 - Google Patents

一种远程桌面的重定向方法及装置 Download PDF

Info

Publication number
CN103763610A
CN103763610A CN201310739263.XA CN201310739263A CN103763610A CN 103763610 A CN103763610 A CN 103763610A CN 201310739263 A CN201310739263 A CN 201310739263A CN 103763610 A CN103763610 A CN 103763610A
Authority
CN
China
Prior art keywords
data
view data
image
rendering
client terminal
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.)
Granted
Application number
CN201310739263.XA
Other languages
English (en)
Other versions
CN103763610B (zh
Inventor
王流安
许天锡
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310739263.XA priority Critical patent/CN103763610B/zh
Publication of CN103763610A publication Critical patent/CN103763610A/zh
Application granted granted Critical
Publication of CN103763610B publication Critical patent/CN103763610B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例公开了一种远程桌面的重定向方法,包括:服务终端从显示驱动中获取操作系统发送的显示图像数据的操作指令;服务终端根据操作指令从所述显示驱动中获取2D图像数据,或者生成2D图像数据;服务终端根据所述操作指令从物理显卡中获取3D图像数据;服务终端根据客户终端的图像处理能力,和预设的2D图像数据的处理策略和3D图像数据的处理策略分别对2D图像数据和3D图像数据进行处理;服务终端将所述处理得到的图像数据封装为协议数据发送给客户终端。本发明实施例还公开了一种服务终端和客户终端。采用本发明,具有可丰富图像数据的处理形式,增强图像数据处理和显示的用户体验的优点。

Description

一种远程桌面的重定向方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种远程桌面的重定向方法及装置。
背景技术
远程桌面是当前企业办公的一种流行技术之一,常用来将一台计算机屏幕显示的内容传送到另一个显示屏显示。远程桌面又可称为虚拟桌面,在虚拟桌面场景下至少存在一台服务器和一台客户机,客户机可通过虚拟桌面客户终端软件登陆到服务器上。在虚拟化平台上,如果服务器上有物理显卡,服务器则可为服务器上的某一台虚拟机绑定物理显卡,进而可通过物理显卡来处理图形等图像数据并将处理得到的数据发送给客户机。
现有技术中的远程桌面的重定向主要是通过服务器的虚拟机绑定的物理显卡完成图像数据的处理之后,通过一个图像数据的捕捉模块将物理显卡处理好的数据发送给远程客户终端(即客户机),远程客户终端再将图像显示出来。现有技术的远程桌面重定向方法中服务器只是通过一个图像数据捕捉模块来实时获取物理显卡处理得到的图像数据,无法区分2D数据和3D数据,也无法对2D图像数据和3D图像数据采用不同的方法进行处理和显示,图像数据处理形式单一,图像显示的用户体验效果低。
发明内容
本发明实施例提供一种远程桌面的重定向方法及装置,可对2D图像数据和3D图像数据进行分策略处理和显示,丰富图像数据的处理形式,增强图像数据处理和显示的用户体验。
本发明实施例第一方面提供了一种远程桌面的重定向方法,其可包括:
服务终端从虚拟机的显示驱动中获取操作系统发送的显示图像数据的操作指令;
所述服务终端根据所述操作指令从所述显示驱动中获取2D图像数据,或者根据所述操作指令生成2D图像数据;
所述服务终端根据所述操作指令从所述虚拟机绑定的物理显卡中获取3D图像数据;
所述服务终端根据客户终端的图像处理能力,和预设的2D图像数据的处理策略对所述2D图像数据进行处理;
所述服务终端根据所述客户终端的图像处理能力,和预设的3D图像数据的处理策略对所述3D图像数据进行处理;
所述服务终端将所述处理得到的图像数据封装为协议数据发送给所述客户终端,以通过所述客户终端将所述2D图像数据和所述3D图像数据写入指定显示区域。
结合第一方面,在第一种可能的实现方式中,所述操作系统发送的显示图像数据的操作指令,包括:画线指令、填充指令、拷贝指令中至少一种;
所述服务终端根据所述操作指令从所述显示驱动中获取2D图像数据,或者根据所述操作指令生成2D图像数据,包括:
所述服务终端根据所述拷贝指令从所述显示驱动中获取2D图像数据,并记录所述2D图像数据在所述显示驱动中的显示区域;或者
所述服务终端根据所述画线指令或者填充指令对指定区域进行填充处理,生成2D图像数据和所述2D图像数据及其填充区域的对应关系。
结合第一方面,在第二种可能的实现方式中,所述操作系统发送的显示图像数据的操作指令中包括:3D的应用程序编程接口API接口调用指令;
所述服务终端根据所述操作指令从所述虚拟机绑定的物理显卡中获取3D图像数据,包括:
所述服务终端根据所述3D的API接口调用指令从所述虚拟机绑定的物理显卡中获取3D图像、所述3D图像的显示区域、所述3D图像对应的窗口属性中至少一种3D图像数据。
结合第一方面至第一方面第二种可能的实现方式中任一种,在第三种可能的实现方式中,所述预设的2D图像数据的处理策略中包括2D图像数据的图像压缩策略、图像发送间隔策略、图像丢帧的处理策略中至少一种;
所述预设的3D图像数据的处理策略中包括3D图像数据的图像压缩策略、图像发送间隔策略、图像丢帧的处理策略中至少一种。
结合第一方面第三种可能的实现方式,在第四种可能的实现方式中,所述客户终端的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力中至少一种;
所述服务终端根据客户终端的图像处理能力,和预设的2D图像数据的处理策略对所述2D图像数据进行处理,包括:
所述服务终端根据客户终端的图像解压缩能力,从预设的2D图像数据的处理策略中选择相应的图像压缩策略对所述2D图像数据进行压缩;或者
所述服务终端根据客户终端的图像接收能力,从预设的2D图像数据的处理策略中选择相应的图像发送间隔策略设定所述2D图像数据的发送间隔;或者
所述服务终端在网络拥堵时根据客户终端的图像的帧处理能力,从预设的2D图像数据的处理策略中选择相应的图像丢帧的处理策略对所述2D图像数据进行丢帧处理。
结合第一方面第三种可能的实现方式或者第一方面第四种可能的实现方式,在第五种可能的实现方式中,所述客户终端的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力中至少一种;
所述服务终端根据所述客户终端的图像处理能力,和预设的3D图像数据的处理策略对所述3D图像数据进行处理,包括:
所述服务终端根据客户终端的图像解压缩能力,从预设的3D图像数据的处理策略中选择相应的图像压缩策略对所述3D图像数据进行压缩;或者
所述服务终端根据客户终端的图像接收能力,从预设的3D图像数据的处理策略中选择相应的图像发送间隔策略设定所述3D图像数据的发送间隔;或者
所述服务终端在网络拥堵时根据客户终端的图像的帧处理能力,从预设的3D图像数据的处理策略中选择相应的图像丢帧的处理策略对所述3D图像数据进行丢帧处理。
结合第一方面至第一方面第五种可能的实现方式中任一种,在第六种可能的实现方式中,所述协议数据中包括:处理后的2D图像数据、所述2D图像数据的显示区域、所述2D图像数据的表面数据、所述2D图像数据的压缩策略;
所述协议数据中还包括:处理后的3D图像数据、所述3D图像数据的显示区域、所述3D图像数据的表面数据、所述3D图像数据的压缩策略;
其中,所述2D图像数据的显示区域为所述2D图像在所述显卡驱动中的显示区域;
所述3D图像数据的显示区域为所述3D图像数据在所述物理显卡中的显示区域;
所述2D图像数据的表面数据为所述2D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的2D区域;
所述3D图像数据的表面数据为所述3D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的3D区域。
本发明实施例第二方面提供了一种远程桌面的重定向方法,其可包括:
客户终端接收服务终端发送的协议数据,所述协议数据中包括2D图像数据以及所述2D图像数据的处理策略,和3D图像数据以及所述3D图像数据的处理策略;
所述客户终端根据所述2D图像数据的处理策略对所述2D图像数据进行处理,并将所述2D图像数据写入指定显示区域;
所述客户终端根据所述3D图像数据的处理策略对所述3D图像数据进行处理,并将所述3D图像数据写入指定显示区域。
结合第二方面,在第一种可能的实现方式中,所述协议数据还包括:所述2D图像数据的显示区域、所述2D图像数据的表面数据;
所述协议数据还包括:所述3D图像数据的显示区域、所述3D图像数据的表面数据;
其中,所述2D图像数据的显示区域为所述2D图像数据在所述服务终端的显示驱动中的显示区域;
所述3D图像数据的显示区域为所述3D图像数据在所述服务终端的物理显卡中的显示区域;
所述2D图像数据的表面数据为所述2D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的2D区域;
所述3D图像数据的表面数据为所述3D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的3D区域。
结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述2D图像数据的处理策略中包含所述2D图像数据的图像压缩策略;
所述客户终端根据所述2D图像数据的处理策略对所述2D图像数据进行处理,并将所述2D图像数据写入指定显示区域,包括:
所述客户终端根据所述2D图像数据的图像压缩策略对所述2D图像数据进行解压缩,并将所述解压缩得到的所述2D图像数据写入所述客户终端显示界面上的2D区域。
结合第二方面第一种可能的实现方式或者第二方面第二种可能的实现方式,在第三种可能的实现方式中,所述3D图像数据的处理策略中包含所述3D图像数据的图像压缩策略;
所述客户终端根据所述3D图像数据的处理策略对所述3D图像数据进行处理,并将所述3D图像数据写入指定显示区域,包括:
所述客户终端根据所述3D图像数据的图像压缩策略对所述3D图像数据进行解压缩,并将所述解压缩得到的所述3D图像数据写入所述客户终端显示界面上的3D区域。
本发明实施例第三方面提供了一种服务终端,其可包括:
获取模块,用于从虚拟机的显示驱动中获取操作系统发送的显示图像数据的操作指令;
第一捕捉模块,用于根据所述获取模块获取的所述操作指令从所述显示驱动中获取2D图像数据,或者根据所述操作指令生成2D图像数据;
第二捕捉模块,用于根据所述获取模块获取的所述操作指令从所述虚拟机绑定的物理显卡中获取3D图像数据;
第一处理模块,用于根据客户终端的图像处理能力,和预设的2D图像数据的处理策略对所述第一捕捉模块捕捉的2D图像数据进行处理;
第二处理模块,用于根据客户终端的图像处理能力,和预设的3D图像数据的处理策略对所述第二捕捉模块捕捉的3D图像数据进行处理;
发送模块,用于将所述第一处理模块和第二处理模块处理得到的图像数据封装为协议数据发送给所述客户终端,以通过所述客户终端将所述2D图像数据和所述3D图像数据写入指定显示区域。
结合第三方面,在第一种可能的实现方式中,所述获取模块获取的所述操作系统发送的显示图像数据的操作指令,包括:画线指令、填充指令、拷贝指令中至少一种;
所述第一捕捉模块,具体用于:
根据所述拷贝指令从所述显示驱动中获取2D图像数据,并记录所述2D图像数据在所述显示驱动中的显示区域;或者
根据所述画线指令或者填充指令对指定区域进行填充处理,生成2D图像数据和所述2D图像数据及其填充区域的对应关系。
结合第三方面,在第二种可能的实现方式中,所述获取模块获取的操作系统发送的显示图像数据的操作指令包括:3D的API接口调用指令;
所述第二捕捉模块,具体用于:
根据所述3D的API接口调用指令从所述虚拟机绑定的物理显卡中获取3D图像、所述3D图像的显示区域、所述3D图像对应的窗口属性中至少一种3D图像数据。
结合第三方面至第三方面第二种可能的实现方式中任一种,在第三种可能的实现方式中,所述预设的2D图像数据的处理策略中包括2D图像数据的图像压缩策略、图像发送间隔策略、图像丢帧的处理策略至少一种;
所述预设的3D图像数据的处理策略中包括3D图像数据的图像压缩策略、图像发送间隔策略、图像丢帧的处理策略中至少一种。
结合第三方面第三种可能的实现方式,在第四种可能的实现方式中,所述客户终端的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力中至少一种;
所述第一处理模块,具体用于:
根据客户终端的图像解压缩能力,从预设的2D图像数据的处理策略中选择相应的图像压缩策略对所述2D图像数据进行压缩;或者
根据客户终端的图像接收能力,从预设的2D图像数据的处理策略中选择相应的图像发送间隔策略设定所述2D图像数据的发送间隔;或者
在网络拥堵时根据客户终端的图像的帧处理能力,从预设的2D图像数据的处理策略中选择相应的图像丢帧的处理策略对所述2D图像数据进行丢帧处理。
结合第三方面第三种可能的实现方式或第三方面第四种可能的实现方式,在第五种可能的实现方式中,所述客户终端的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力中至少一种;
所述第二处理模块,具体用于:
根据客户终端的图像解压缩能力,从预设的3D图像数据的处理策略中选择相应的图像压缩策略对所述3D图像数据进行压缩;或者
根据客户终端的图像接收能力,从预设的3D图像数据的处理策略中选择相应的图像发送间隔策略设定所述3D图像数据的发送间隔;或者
在网络拥堵时根据客户终端的图像的帧处理能力,从预设的3D图像数据的处理策略中选择相应的图像丢帧的处理策略对所述3D图像数据进行丢帧处理。
结合第三方面至第三方面第五种可能的实现方式中任一种,在第六种可能的实现方式中,所述协议数据中包括:处理后的2D图像数据、所述2D图像数据的显示区域、所述2D图像数据的表面数据、所述2D图像数据的压缩策略;
所述协议数据中还包括:处理后的3D图像数据、所述3D图像数据的显示区域、所述3D图像数据的表面数据、所述3D图像数据的压缩策略;
其中,所述2D图像数据的显示区域为所述2D图像在所述显卡驱动中的显示区域;
所述3D图像数据的显示区域为所述3D图像数据在所述物理显卡中的显示区域;
所述2D图像数据的表面数据为所述2D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的2D区域;
所述3D图像数据的表面数据为所述3D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的3D区域。
本发明实施例第四方面提供了一种客户终端,其可包括:
接收模块,用于接收服务终端发送的协议数据,所述协议数据中包括2D图像数据以及所述2D图像数据的处理策略,和3D图像数据以及所述3D图像数据的处理策略;
第一处理模块,用于根据所述2D图像数据的处理策略对所述2D图像数据进行处理,并将所述2D图像数据写入指定显示区域;
第二处理模块,用于根据所述3D图像数据的处理策略对所述3D图像数据进行处理,并将所述3D图像数据写入指定显示区域。
结合第四方面,在第一种可能的实现方式中,所述接收模块接收到的协议数据还包括:所述2D图像数据的显示区域、所述2D图像数据的表面数据;
所述协议数据还包括:所述3D图像数据的显示区域、所述3D图像数据的表面数据;
其中,所述2D图像数据的显示区域为所述2D图像数据在所述服务终端的显示驱动中的显示区域;
所述3D图像数据的显示区域为所述3D图像数据在所述服务终端的物理显卡中的显示区域;
所述2D图像数据的表面数据为所述2D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的2D区域;
所述3D图像数据的表面数据为所述3D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的3D区域。
结合第四方面第一种可能的实现方式,在第二种可能的实现方式中,2D图像数据的处理策略中包含所述2D图像数据的图像压缩策略;
所述第一处理模块,具体用于:
根据所述2D图像数据的图像压缩策略对所述2D图像数据进行解压缩,并将所述解压缩得到的所述2D图像数据写入所述客户终端显示界面上的2D区域。
结合第四方面第一种可能的实现方式或者第二种可能的实现方式,在第三种可能的实现方式中,所述3D图像数据的处理策略中包含所述3D图像数据的图像压缩策略;
所述第二处理模块,具体用于:
根据所述3D图像数据的图像压缩策略对所述3D图像数据进行解压缩,并将所述解压缩得到的所述3D图像数据写入所述客户终端显示界面上的3D区域。
本发明实施例第五方面还提供了一种远程桌面的重定向的系统,其可包括:本发明实施例第三方面提供的服务终端和本发明实施例第四方面提供的客户终端。
在本发明实施例中,服务终端可在接收到操作系统发送的操作指令或者接口调用时,根据接收到的操作指令或者接口调用获取2D图像数据或者3D图像数据,进而可分别对2D图像数据和3D图像数据进行处理并发送到客户终端显示,实现2D图像和3D图像的融合显示;本发明实施例可分别对2D图像数据和3D图像数据进行处理和显示,丰富了图像数据的处理形式,增强图像数据处理和显示的用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的远程桌面的重定向方法的第一实施例流程示意图;
图2是本发明实施例提供的服务终端的实施例结构示意图;
图3是本发明实施例提供的远程桌面的重定向方法的第二实施例流程示意图;
图4是本发明实施例提供的客户终端的实施例结构示意图;
图5是本发明实施例提供的远程桌面的重定向方法的交互示意图;
图6是本发明实施例提供的远程桌面的重定向的系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
具体实现中,本发明实施例中所描述的客户终端可包括:台式电脑、笔记本电脑、平板电脑、手机等,上述客户终端仅是举例,而非穷举。
参见图1,是本发明实施例提供的远程桌面的重定向方法的第一实施例流程示意图。本实施例中所描述的远程桌面的重定向方法,包括步骤:
S101,服务终端从虚拟机的显示驱动中获取操作系统发送的显示图像数据的操作指令。
在一些可行的实施方式中,本发明实施例中所描述的服务终端可为虚拟平台下的远程桌面服务器,远程桌面服务器提供了远程桌面的载体,客户终端(也称客户机)的桌面系统可以虚拟机的软件形式存储于远程桌面服务器上,本实施例中所描述的远程服务终端中可包括多个虚拟机。具体实现中,本发明实施例中所描述的服务终端也可包括一些软件模块,可由软件模块来实现本发明实施例中所描述的服务终端的功能。
在一些可行的实施方式中,当用户想要将图像数据传送至远程桌面显示时,可先将客户终端与远程桌面的服务终端(例如远程桌面服务器)建立连接,具体的,客户终端可通过虚拟桌面基础架构(Virtual Desktop Infrastructure,VDI)管理系统与远程桌面的服务终端中的用户虚拟机建立远程桌面连接。如果远程桌面的服务终端中有物理显卡,则可将服务终端中与客户终端建立远程桌面连接的虚拟机绑定该物理显卡,再安装该物理显卡对应的显示驱动,使该物理显卡生效,进而可通过该物理显卡获取图像数据。具体实现中,客户终端与远程桌面服务终端建立连接之后,则可通过用户虚拟机中的某个应用程序(或者多个应用程序)向服务终端的操作系统发起图像(包括2D图像数据和3D图像数据)显示的请求,比如,通过AutoCAD向操作系统发送图形显示请求,请求将一张工程图显示到虚拟机桌面的某一个区域。具体的,操作系统接收到虚拟机的某个应用程序发送的图形显示的请求之后则可根据应用程序发送的请求生成多种操作指令(包括接口调用指令),并将生成的显示图像数据的操作指令或者接口调用发送给物理显卡或者虚拟机镜像驱动的显示驱动等。具体实现中,上述操作系统向上述物理显卡及显示驱动发送的显示图像数据的操作指令,可包括:画线指令、拷贝指令、填充指令等,上述操作指令仅是举例,而非穷举。
在一些可行的实施方式中,显示驱动获取到操作系统发送的显示图像数据的操作指令之后,则可从操作系统的显示应用程序编程接口(ApplicationProgramming Interface,API)获取相应的图像数据,并将获取到的图像数据放置到指定的共享内存中。
S102,所述服务终端根据所述操作指令从所述显示驱动中获取2D图像数据,或者根据所述操作指令生成2D图像数据。
在一些可行的实施方式中,服务终端从显示驱动中获取到操作系统发送的显示图像数据的操作指令之后,则可根据获取到的操作指令从上述显示驱动中获取图像数据,或者根据获取到的操作指令生成图像数据。具体实现中,本实施例中所描述的显示驱动采用的实现方式可为镜像驱动,在物理显卡对图像数据进行处理时,镜像驱动也会收到操作系统下发的2D图像显示指令和2D图像数据,服务终端接收到上述操作指令之后则可从上述显示驱动中获取数据或者根据上述操作指令生成相应的图像数据。例如,当服务终端接收到的操作指令为拷贝指令时,则可根据该指令从显示驱动中获取2D图像数据,将2D图像数据从源区域拷贝到指定区域,还可记录上述2D图像数据在上述显示区域中的显示区域,上述2D图像数据在显示区域中的显示区域可用于指导客户终端将2D图像数据写入远程桌面的相应位置,以还原图像并在远程桌面中显示上述图像。当服务终端接收到的操作指令为画线指令或者填充指令时,服务终端则可根据画线指令在指定区域画线,生成2D图像数据,或者根据填充指令对指定区域进行颜色填充等填充处理,生成2D图像数据;服务终端根据接收到的操作指令生成2D图像数据之后,还可生成2D图像数据、上述2D图像数据及其填充区域的对应关系,上述对应关系可用于指导客户终端将上述2D图像数据写入远程桌面的相应位置,以还原图像在远程桌面中显示上述图像。服务终端获取到相应的2D图像数据之后,则可将获取到的2D图像数据存放至服务终端的共存内存中,以对该2D图像数据进行进一步处理,并将处理得到的2D图像数据发送至客户终端显示。
S103,所述服务终端根据所述操作指令从所述虚拟机绑定的物理显卡中获取3D图像数据。
在一些可行的实施方式中,在本实施例中显示驱动采用的镜像驱动的实现方式,此时,服务终端需要从物理显卡获取3D图像数据。具体的,服务终端可根据操作系统发送的接口调用指令从虚拟机绑定的物理显卡获取3D图像数据以及3D图像数据的显示区域、或者窗口属性等信息。例如,服务终端可接收到上述操作系统发送的3D的API接口调用时,通过3D的API接口挂钩子截获该接口调用,通过该接口调用从物理显卡获取3D图像数据、3D图像数据的显示区域、窗口属性等信息,并计算3D窗口的位置遮挡、移动等信息,进而将获取到的3D图像数据存放至服务终端的共享内存中,以对该3D图像数据进行进一步处理,并将处理得到的3D图像数据发送至客户终端显示。
S104,所述服务终端根据客户终端的图像处理能力,和预设的2D图像数据的处理策略对所述2D图像数据进行处理。
S105,所述服务终端根据所述客户终端的图像处理能力,和预设的3D图像数据的处理策略对所述3D图像数据进行处理。
在一些可行的实施方式中,服务终端获取到2D图像数据和3D图像数据之后,则可分别对上述2D图像数据和3D图像数据进行处理,可分别采用不同的处理方法对2D图像数据和3D图像数据进行处理。具体实现中,用户可预先在VDI管理系统中设定2D图像数据的处理策略和3D图像数据的处理策略,生成一个策略文件存储在VDI管理系统中;其中,上述图像数据(包括2D图像数据和3D图像数据)的处理策略中包括图像压缩策略、图像发送间隔策略、图像丢帧的处理策略等,上述图像数据的处理策略仅是举例,而非穷举。服务终端获取到2D图像数据和3D图像数据之后,则可根据客户终端的图像处理能力,结合VDI管理系统中预设的2D图像数据的处理策略对上述2D图像数据进行处理,并结合VDI管理系统中预设的3D图像数据的处理策略对3D图像数据进行处理。其中,上述客户终端的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力等。在本实施例中,服务终端对获取到的2D图像数据进行处理时,VDI管理系统可将上述图像数据的处理策略文件动态下发给服务终端,服务终端可根据客户终端的图像解压缩能力,从预设的2D图像数据处理策略中选择相应的图像压缩策略对获取到的2D图像数据进行压缩,或者,根据客户终端的图像接收能力,从预设的2D图像数据的处理策略中选择相应的图像发送间隔策略设定将上述2D图像数据发送给客户终端的发送间隔;此外,如果服务终端向客户终端发送数据的过程中出现网络拥堵,服务终端还可根据客户终端的图像的帧处理能力,从预设的2D图像数据的处理策略中选择相应的图像丢帧的处理策略对上述2D图像数据进行丢帧处理,以使2D图像数据的发送更加顺畅。
具体实现中,服务终端对获取到的3D图像数据进行处理时,VDI管理系统也可将上述图像数据的处理策略文件动态下发给服务终端,服务终端可根据客户终端的图像解压缩能力,从预设的3D图像数据处理策略中选择相应的图像压缩策略分别对获取到的3D图像数据进行压缩,或者,根据客户终端的图像接收能力,从预设的3D图像数据的处理策略中选择相应的图像发送间隔策略设定将上述3D图像数据发送给客户终端的发送间隔;如果服务终端向客户终端发送数据的过程中出现网络拥堵,服务终端还可根据客户终端的图像的帧处理能力,从预设的3D图像数据处理策略中选择相应的图像丢帧的处理策略对上述3D图像数据进行丢帧处理,以使3D图像数据的发送更加顺畅。
在一些可行的实施方式中,服务终端分别对上述2D图像数据和3D图像数据进程处理时可采用不同的处理策略,也可采用相同的处理策略,具体可根据客户终端的图像处理能力以及图像数据的特点选择相应的处理策略。此外,服务终端将图像数据发送给客户终端之后,客户终端还可向服务终端反馈图像数据的处理情况,服务终端可根据客户终端的反馈信息判断客户终端的图像处理能力,进而可对图像数据的处理策略进行调整,以使图像数据的处理效果更好地配合客户终端,客户终端可以以更好的效果显示图像数据。
S106,所述服务终端将所述处理得到的图像数据封装为协议数据发送给所述客户终端。
在一些可行的实施方式中,服务终端采用不同的图像数据处理策略分别对获取到的2D图像数据和3D图像数据进行处理之后,则可将处理得到的图像数据(包括2D图像数据和3D图像数据)封装为协议数据,通过协议数据的方式将图像数据和相应的图像数据处理策略、显示指令等信息发送给客户终端。具体实现中,上述协议数据中可包括:处理后的2D图像数据、上述2D图像数据的显示区域、上述2D图像数据的表面数据、上述2D图像数据的处理策略等,上述协议数据中还包括:处理后的3D图像数据、上述3D图像数据的显示区域,上述3D图像数据的表面数据,上述3D图像数据的处理策略等;其中,上述2D图像数据的显示区域指该2D图像数据在显示驱动中的显示区域,上述3D图像数据的显示区域指该3D图像数据在物理显卡中的显示区域;上述2D图像数据的表面数据指上述2D图像数据的指定显示区域,即上述2D图像数据在客户终端显示时的显示区域(即客户终端显示界面上的2D区域);上述3D图像数据的表面数据指上述3D图像数据的指定显示区域,即上述3D图像数据在客户终端显示时的显示区域(即客户终端显示界面上的3D区域)。具体实现中,服务终端将处理得到的图像数据通过协议数据的方式发送给客户终端之后,客户终端则可对上述协议数据进行解析,以对上述2D图像数据和3D图像数据进行解压缩,并根据上述协议数据中2D图像数据的显示区域和3D图像数据的显示区域将上述2D图像数据和3D图像数据分别写入指定区域,实现2D和3D的融合显示。即客户终端可根据服务终端发送过来的协议数据中的2D图像数据的处理策略对上述2D图像数据进行解压缩等处理,根据上述协议数据中的3D图像数据的处理策略对上述3D图像数据进行解压缩等处理,进而根据上述协议数据中包含的2D图像数据和3D图像数据的显示区域,将解压缩处理得到的2D图像数据和3D图像数据分别写入客户终端显示区域的2D区域和客户终端显示区域相对应的3D区域,将图像数据还原为与服务终端发送过来的图像数据一样,实现图形等图像数据在远程桌面显示。
在本发明实施例,服务终端可分别获取2D图像数据和3D图像数据,并分别对获取到的2D图像数据和3D图像数据进行处理,进而将处理得到的图像数据发送给客户终端,以通过客户终端进行还原处理并显示至指定显示区域,实现2D和3D的融合显示,丰富了图像数据的处理形式,增强了图像数据的处理方式的多样性,提高了图像处理和显示的用户体验。
参见图2,是本发明实施例提供的服务终端的实施例结构示意图。本实施例中所描述的服务终端,包括:
获取模块10,用于从虚拟机的显示驱动中获取操作系统发送的显示图像数据的操作指令。
第一捕捉模块20,用于根据所述获取模块获取的所述操作指令从所述显示驱动中获取2D图像数据,或者根据所述操作指令生成2D图像数据。
第二捕捉模块30,用于根据所述获取模块获取的所述操作指令从所述虚拟机绑定的物理显卡中获取3D图像数据。
第一处理模块40,用于根据客户终端的图像处理能力,和预设的2D图像数据的处理策略对所述第一捕捉模块捕捉的2D图像数据进行处理。
第二处理模块90,用于根据客户终端的图像处理能力,和预设的3D图像数据的处理策略对所述第二捕捉模块捕捉的3D图像数据进行处理。
发送模块50,用于将所述第一处理模块和第二处理模块处理得到的图像数据封装为协议数据发送给所述客户终端,以通过所述客户终端将所述2D图像数据和所述3D图像数据写入指定显示区域。
在一些可行的实施方式中,本发明实施例中所描述的服务终端可为虚拟平台下的远程桌面服务器,远程桌面服务器提供了远程桌面的载体,客户终端(也称客户机)的桌面系统可以虚拟机的软件形式存储于远程桌面服务器上,本实施例中所描述的远程服务终端中可包括多个虚拟机。具体实现中,本发明实施例中所描述的服务终端也可包括一些软件模块,可由软件模块来实现本发明实施例中所描述的服务终端的功能。
在一些可行的实施方式中,当用户想要将图像数据传送至远程桌面显示时,可先将客户终端与远程桌面的服务终端(例如远程桌面服务器)建立连接,具体的,客户终端可通过VDI管理系统与远程桌面的服务终端中的用户虚拟机建立远程桌面连接。如果远程桌面的服务终端中有物理显卡,则可将服务终端中与客户终端建立远程桌面连接的虚拟机绑定该物理显卡,再安装该物理显卡对应的显示驱动,使该物理显卡生效,进而可通过该物理显卡获取图像数据。具体实现中,客户终端与远程桌面服务终端建立连接之后,则可通过用户虚拟机中的某个应用程序(或者多个应用程序)向服务终端的操作系统发起图像(包括2D图像数据和3D图像数据)显示的请求,比如,通过AutoCAD向操作系统发送图形显示请求,请求将一张工程图显示到虚拟机桌面的某一个区域。具体的,操作系统接收到虚拟机的某个应用程序发送的图形显示的请求之后则可根据应用程序发送的请求生成多种操作指令(包括接口调用指令),并将生成的显示图像数据的操作指令或者接口调用发送给物理显卡或者镜像驱动的显示驱动。具体实现中,上述操作系统向上述物理显卡及显示驱动发送的显示图像数据的操作指令,可包括:画线指令、拷贝指令、填充指令等,上述操作指令仅是举例,而非穷举。
在一些可行的实施方式中,本实施例中所描述的显示驱动可采用镜像驱动方式的实现方式来获取相应的数据。具体实现中,显示驱动获取到操作系统发送的显示图像数据的操作指令或者接口调用之后,获取模块10则可从显示驱动中获取操作系统发送的操作指令或者接口调用,进而可从操作系统的显示API获取相应的图像数据,并将获取到的图像数据放置到指定的共享内存中,以将获取到的图像数据或者操作指令或者接口调用共享给第一捕捉模块20或者第二捕捉模块30。具体实现中获取模块接收操作系统发送的操作指令或者接口调用、从操作系统的显示API获取图像数据的具体实现过程可参见本发明实施例提供的远程桌面的重定向方法的第一实施例的步骤S101,在此不再赘述。
在一些可行的实施方式中,上述获取模块10获取的所述操作系统发送的显示图像数据的操作指令,包括:画线指令、填充指令、拷贝指令中至少一种;
上述第一捕捉模块20,具体用于:
根据所述拷贝指令从所述显示驱动中获取2D图像数据,并记录所述2D图像数据在所述显示驱动中的显示区域;或者
根据所述画线指令或者填充指令对指定区域进行填充处理,生成2D图像数据及所述2D图像数据及其填充区域的对应关系。
在一些可行的实施方式中,获取模块10从显示驱动中获取到操作系统发送的显示图像数据的操作指令之后,第一捕捉模块20或者第二捕捉模块30则可根据获取模块10获取到的操作指令从显示驱动中获取图像数据,或者根据获取到的操作指令生成图像数据。具体实现中,本实施例中所描述的显示驱动采用的实现方式可为镜像驱动,在物理显卡对图像数据进行处理时,镜像驱动也会收到操作系统下发的2D图像显示指令和2D图像数据,获取模块10从显示驱动中获取数据并将获取到的数据放至共享内存之后,第一捕捉模块20则可根据获取模块10获取到的操作指令从该显示驱动中获取数据或者根据上述操作指令生成相应的图像数据。例如,当获取模块10接收到的操作指令为拷贝指令时,第一捕捉模块20则可根据该指令从显示驱动中获取2D图像数据,将2D图像数据从源区域拷贝到指定区域,还可记录上述2D图像数据在上述显示区域中的显示区域,上述2D图像数据在显示区域中的显示区域可用于指导客户终端将2D图像数据写入远程桌面的相应位置,以还原图像并在远程桌面中显示上述图像。当获取模块10接收到的操作指令为画线指令或者填充指令时,第一捕捉模块20则可根据画线指令在指定区域画线,生成2D图像数据,或者根据填充指令对指定区域进行颜色填充等填充处理,生成2D图像数据;第一捕捉模块20根据获取模块10接收到的操作指令生成2D图像数据之后,还可生成2D图像数据及上述2D图像数据及其填充区域的对应关系,上述对应关系可用于指导客户终端将上述2D图像数据写入远程桌面的相应位置,以还原图像在远程桌面中显示上述图像。第一捕捉模块20获取到相应的2D图像数据之后,则可将获取到的2D图像数据存放至服务终端的共存内存中,以通过服务终端的第一处理模块40对上述2D图像数据进行进一步处理,并通过发送模块50将处理得到的2D图像数据发送至客户终端显示。具体实现中,第一捕捉模块20获取2D图像数据的具体实现过程可参见本发明实施例提供的远程桌面的重定向方法的第一实施例的步骤S102,在此不再赘述。
在一些可行的实施方式中,上述获取模块10获取的操作系统发送的显示图像数据的操作指令中包括:3D的API接口调用指令;
上述第二捕捉模块30,具体用于:
根据所述3D的API接口调用指令从所述虚拟机绑定的物理显卡中获取3D图像、所述3D图像的显示区域、所述3D图像对应的窗口属性中至少一种3D图像数据。
在一些可行的实施方式中,在本实施例中显示驱动采用的镜像驱动的实现方式,此时,服务终端需要从物理显卡获取3D图像数据。具体的,第二捕捉模块30可根据获取模块10获取到的操作系统发送的接口调用指令从虚拟机绑定的物理显卡获取3D图像数据以及3D图像数据的显示区域、或者窗口属性等信息。例如,第二捕捉模块30可接收到上述操作系统发送的3D的API接口调用时,通过3D的API接口挂钩子截获该接口调用,通过该接口调用从物理显卡获取3D图像数据、3D图像数据的显示区域、窗口属性等信息,并计算3D窗口的位置遮挡、移动等信息,进而将获取到的3D图像数据存放至服务终端的共享内存中,以通过服务终端的第二处理模块90对该3D图像数据进行进一步处理,并通过发送模块50将处理得到的3D图像数据发送至客户终端显示。具体实现中,第二捕捉模块30获取3D图像数据的具体实现过程可参见本发明实施例提供的远程桌面的重定向方法的第一实施例的步骤S103,在此不再赘述。
在一些可行的实施方式中,所述客户终端的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力中至少一种;
上述第一处理模块40,具体用于:
根据客户终端的图像解压缩能力,从预设的2D图像数据的处理策略中选择相应的图像压缩策略对所述2D图像数据进行压缩;或者
根据客户终端的图像接收能力,从预设的2D图像数据的处理策略中选择相应的图像发送间隔策略设定所述2D图像数据的发送间隔;或者
在网络拥堵时根据客户终端的图像的帧处理能力,从预设的2D图像数据的处理策略中选择相应的图像丢帧的处理策略对所述2D图像数据进行丢帧处理。
在一些可行的实施方式中,服务终端通过第一捕捉模块20获取到2D图像数据、通过第二捕捉模块30获取到3D图像数据之后,第一处理模块40则可对第一捕捉模块20获取到的2D图像数据进行处理,第二处理模块90可对第二捕捉模块30获取到的3D图像数据进行处理。具体的,第一处理模块40和第二处理模块90可分别采用不同的处理方法对2D图像数据和3D图像数据进行处理。具体实现中,用户可预先在VDI管理系统中分别设定2D图像数据和3D图像数据的处理策略,生成一个策略文件存储在VDI管理系统中;其中,上述图像数据(包括2D图像数据和3D图像数据)的处理策略中包括图像压缩策略、图像发送间隔策略、图像丢帧的处理策略等,上述图像数据的处理策略仅是举例,而非穷举。服务终端的第一捕捉模块20获取到2D图像数据之后,第一处理模块40则可根据客户终端的图像处理能力,结合VDI管理系统中预设的2D图像数据的处理策略对上述2D图像数据进行处理。其中,上述客户终端的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力等。在本实施例中,第一处理模块40对第一捕捉模块20获取到的2D图像数据进行处理时,VDI管理系统可将上述2D图像数据的处理策略文件动态下发给服务终端,第一处理模块40可根据客户终端的图像解压缩能力,从预设的2D图像数据的处理策略中选择相应的图像压缩策略对第一捕捉模块20获取到的2D图像数据进行压缩,或者,根据客户终端的图像接收能力,从预设的2D图像数据的处理策略中选择相应的图像发送间隔策略设定将上述2D图像数据发送给客户终端的发送间隔;此外,如果服务终端向客户终端发送数据的过程中出现网络拥堵,第一处理模块40还可根据客户终端的图像的帧处理能力,从预设的2D图像数据的处理策略中选择相应的图像丢帧的处理策略对上述2D图像数据进行丢帧处理,以使2D图像数据的发送更加顺畅。
具体实现中,服务终端的第二捕捉模块30获取到3D图像数据之后,第二处理模块90则可根据客户终端的图像处理能力,结合VDI管理系统中预设的3D图像数据的处理策略对上述3D图像数据进行处理。其中,上述客户终端的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力等。具体的,第二处理模块90对第二捕捉模块30获取到的3D图像数据进行处理时,VDI管理系统可将上述3D图像数据的处理策略文件动态下发给服务终端,第二处理模块90可根据客户终端的图像解压缩能力,从预设的3D图像数据的处理策略中选择相应的图像压缩策略对第二捕捉模块30获取到的3D图像数据进行压缩,或者,根据客户终端的图像接收能力,从预设的3D图像数据的处理策略中选择相应的图像发送间隔策略设定将上述3D图像数据发送给客户终端的发送间隔;如果服务终端向客户终端发送数据的过程中出现网络拥堵,第二处理模块90还可根据客户终端的图像的帧处理能力,从预设的3D图像数据的处理策略中选择相应的图像丢帧的处理策略对上述3D图像数据进行丢帧处理,以使3D图像数据的发送更加顺畅。
在一些可行的实施方式中,第一处理模块40和第二处理模块90对上述2D图像数据和3D图像数据进程处理时可采用不同的处理策略,也可采用相同的处理策略,具体可根据客户终端的图像处理能力以及图像数据的特点选择相应的处理策略。此外,服务终端将图像数据发送给客户终端之后,客户终端还可向服务终端反馈图像数据的处理情况,服务终端的第一处理模块40和第二处理模块90还可根据客户终端的反馈信息判断客户终端的图像处理能力,进而可对图像数据的处理策略进行调整,以使图像数据的处理效果更好地配合客户终端,客户终端可以以更好的效果显示图像数据。具体实现中,第一处理模块和第二处理模块对第一捕捉模块获取到的2D图像数据和第二捕捉模块获取到的3D图像数据进行处理的具体实现过程可参见本发明实施例提供的远程桌面的重定向方法的步骤S104-S105,在此不再赘述。
在一些可行的实施方式中,第一处理模块40和第二处理模块90采用不同的图像数据处理策略对第一捕捉模块20获取到的2D图像数据和第二捕捉模块30获取到的3D图像数据进行处理之后,发送模块50则可将上述第一处理模块40和第二处理模块90处理得到的图像数据封装为协议数据,通过协议数据的方式将图像数据和相应的显示指令等信息发送给客户终端。具体实现中,上述协议数据中可包括:处理后的2D图像数据、上述2D图像数据的显示区域、上述2D图像数据的表面数据、上述2D图像数据的处理策略等,上述协议数据中还包括:处理后的3D图像数据、上述3D图像数据的显示区域,上述3D图像数据的表面数据,上述3D图像数据的处理策略等;其中,上述2D图像数据的显示区域指该2D图像数据在显示驱动中的显示区域,上述3D图像数据的显示区域指该3D图像数据在物理显卡中的显示区域;上述2D图像数据的表面数据指上述2D图像数据的指定显示区域,即上述2D图像数据在客户终端显示时的显示区域(即客户终端显示界面上的2D区域);上述3D图像数据的表面数据指上述3D图像数据的指定显示区域,即上述3D图像数据在客户终端显示时的显示区域(即客户终端显示界面上的3D区域)。具体实现中,发送模块50将第一处理模块40和第二处理模块90处理得到的图像数据通过协议数据的方式发送给客户终端之后,客户终端则可对上述协议数据进行解析,根据上述协议数据中包含的2D图像数据的处理策略对上述2D图像数据进行解压缩等,并根据上述协议数据中包括的3D图像数据的处理策略对上述3D图像数据进行解压缩,进而根据上述协议数据中2D图像数据的显示区域和3D图像数据的显示区域将上述2D图像数据和3D图像数据分别写入指定区域,实现2D和3D的融合显示。即客户终端可根据服务终端发送过来的协议数据中2D图像数据和3D图像数据的显示区域,将2D图像数据和3D图像数据分别写入2D图像数据的显示区域相对应的表面数据(即客户终端显示界面上的2D区域)中,将3D图像数据分别写入3D图像数据的显示区域相对应的表面数据(即客户终端显示界面上的3D区域)中,将图像数据还原为与服务终端发送过来的图像数据一样,实现图形等图像数据在远程桌面显示。具体实现中,发送模块50将第一处理模块40和第二处理模块90处理得到的图像数据发送给客户终端的具体实现过程可参见本发明实施例提供的远程桌面的重定向方法的第一实施例的步骤S106,在此不再赘述。
本发明实施例中所描述的服务终端可分别获取2D图像数据和3D图像数据,并分别对获取到的2D图像数据和3D图像数据进行处理,进而将处理得到的图像数据发送给客户终端,以通过客户终端进行还原处理并显示至指定显示区域,实现2D和3D的融合显示,提高了图像数据的处理效率,增强了图像数据的处理方式的多样性,提高了图像处理和显示的用户体验。
参见图3,是本发明实施例提供的远程桌面的重定向的第二实施例流程示意图。本实施例中所描述的远程桌面的重定向方法,包括步骤:
S201,客户终端接收服务终端发送的协议数据。
S202,所述客户终端根据所述2D图像数据的处理策略对所述2D图像数据进行处理,并将所述2D图像数据写入指定显示区域。
S203,所述客户终端根据所述3D图像数据的处理策略对所述3D图像数据进行处理,并将所述3D图像数据写入指定显示区域。
在一些可行的实施方式中,本实施例中所描述的客户终端也称为客户机,具体可包括:台式电脑、笔记本电脑、平板电脑、手机等。具体实现中,服务终端采用不同的图像数据处理策略对获取到的2D图像数据和3D图像数据进行处理之后,则可将处理得到的图像数据封装为协议数据,通过协议数据的方式将图像数据和相应的显示指令等信息发送给客户终端。上述协议数据中可包括:处理后的2D图像数据、上述2D图像数据的显示区域、上述2D图像数据的表面数据、上述2D图像数据的处理策略等,上述协议数据中还包括:处理后的3D图像数据、上述3D图像数据的显示区域,上述3D图像数据的表面数据,上述3D图像数据的处理策略等;其中,上述2D图像数据的显示区域指该2D图像数据在显示驱动中的显示区域,上述3D图像数据的显示区域指该3D图像数据在物理显卡中的显示区域;上述2D图像数据的表面数据指上述2D图像数据的指定显示区域,即上述2D图像数据在客户终端显示时的显示区域(即客户终端显示界面上的2D区域);上述3D图像数据的表面数据指上述3D图像数据的指定显示区域,即上述3D图像数据在客户终端显示时的显示区域(即客户终端显示界面上的3D区域)。具体实现中,客户终端获取到服务终端发送的协议数据之后,则可对上述协议数据进行解析,从上述协议数据中获取服务终端对上述2D图像数据进行处理时采用的处理策略,从上述协议数据中获取服务终端对上述3D图像数据进行处理时采用的处理策略,其中,上述2D图像数据的处理策略具体可为上述2D图像数据的图像压缩策略,上述3D图像数据的处理策略具体可为上述2D图像数据的图像压缩策略。具体的,客户终端可依据上述2D图像数据的压缩策略对上述2D图像数据进行解压缩,并依据上述3D图像数据的压缩策略对上述3D图像数据进行解压缩,进而可根据上述协议数据中包含的2D图像数据的显示区域和3D图像数据的显示区域分别将上述2D图像数据和3D图像数据分别写入指定区域,实现2D和3D的融合显示。即客户终端可根据服务终端发送过来的协议数据中包含的2D图像数据的显示区域,将上述解压缩得到的2D图像数据写入客户终端显示界面上的2D区域中相应的位置,还可根据上述协议数据中包含的3D图像数据的显示区域将上述解压缩得到的3D图像数据分别写入客户终端显示界面上的3D区域中相应的位置,以将图像数据还原为与服务终端发送过来的图像数据一样,实现图形等图像数据在远程桌面显示。具体实现中,客户终端对服务终端发送过来的2D图像数据和3D图像数据进行处理,并将其显示至指定区域之后,还可将图像的处理情况反馈给服务终端,服务终端可根据客户终端反馈的信息进一步确定客户终端的图像处理能力,进而对图像数据的处理策略进行调整,以更好地配合客户终端进行图像数据的处理和显示。
在本发明实施例中,客户终端可对服务终端发送过来的2D图像数据和3D图像数据进行解析,进而将处理得到的图像数据进行还原并显示至指定显示区域,实现2D和3D的融合显示,丰富了图像数据的处理形式,增强了图像数据的处理方式的多样性,提高了图像处理和显示的用户体验。
参见图4,是本发明实施例提供的客户终端的实施例结构示意图。本实施例中所描述的客户终端,包括:
接收模块60,用于接收服务终端发送的协议数据,所述协议数据中包括2D图像数据以及所述2D图像数据的处理策略,和3D图像数据以及所述3D图像数据的处理策略;
第一处理模块70,用于根据所述2D图像数据的处理策略对所述2D图像数据进行处理,并将所述2D图像数据写入指定显示区域。
第二处理模块80,用于根据所述3D图像数据的处理策略对所述3D图像数据进行处理,并将所述3D图像数据写入指定显示区域。
在一些可行的实施方式中,本实施例中所描述的客户终端,也称为客户机,具体可包括:台式电脑、笔记本电脑、平板电脑、手机等。具体实现中,服务终端采用不同的图像数据处理策略对获取到的2D图像数据和3D图像数据进行处理之后,则可将处理得到的图像数据封装为协议数据,通过协议数据的方式将图像数据和相应的显示指令等信息发送给客户终端,客户终端的接收模块60可接收服务终端发送的协议数据。上述协议数据中可包括:处理后的2D图像数据、上述2D图像数据的显示区域、上述2D图像数据的表面数据、上述2D图像数据的处理策略等,上述协议数据中还包括:处理后的3D图像数据、上述3D图像数据的显示区域,上述3D图像数据的表面数据,上述3D图像数据的处理策略等;其中,上述2D图像数据的显示区域指该2D图像数据在显示驱动中的显示区域,上述3D图像数据的显示区域指该3D图像数据在物理显卡中的显示区域;上述2D图像数据的表面数据指上述2D图像数据的指定显示区域,即上述2D图像数据在客户终端显示时的显示区域(即客户终端显示界面上的2D显示区域);上述3D图像数据的表面数据指上述3D图像数据的指定显示区域,即上述3D图像数据在客户终端显示时的显示区域(即客户终端显示界面上的3D显示区域)。具体实现中,接收模块60获取到服务终端发送的协议数据之后,第一处理模块70和第二处理模块80则可对上述协议数据进行解析,第一处理模块70可对上述协议数据进行解析,从上述协议数据中获取服务终端对2D图像数据进行处理时采用的处理策略;第二处理模块80可对上述协议数据进行解析,从上述协议数据中获取服务终端对3D图像数据进行处理时采用的处理策略。其中,上述2D图像数据的处理策略具体可为上述2D图像数据的图像压缩策略;上述3D图像数据的处理策略具体可为上述3D图像数据的图像压缩策略。具体的,第一处理模块70可并依据上述2D图像数据的压缩策略对上述2D图像数据进行解压缩,并根据上述协议数据中包含的2D图像数据的显示区域将上述解压缩得到的2D图像数据写入客户终端显示界面上的2D区域中相应的位置;第二处理模块80可依据上述3D图像数据的压缩策略对上述3D图像数据进行解压缩,并根据上述协议数据中包含的3D图像数据的显示区域将上述3D图像数据写入客户终端显示界面上的3D区域中相应的位置,实现2D和3D的融合显示。即第一处理模块70和第二处理模块80可根据接收模块60接收到的服务终端发送过来的协议数据中包含的2D图像数据和3D图像数据的显示区域,将2D图像数据和3D图像数据分别写入2D图像数据的显示区域相对应的表面数据(即客户终端显示界面上2D区域中相应的位置)中,将3D图像数据分别写入3D图像数据的显示区域相对应的表面数据(即客户终端显示界面上3D区域中相应的位置)中,以将图像数据还原为与服务终端发送过来的图像数据一样,实现图形等图像数据在远程桌面显示。具体实现中,客户终端对服务终端发送过来的2D图像数据和3D图像数据进行处理,并将其显示至指定区域之后,还可将图像的处理情况反馈给服务终端,服务终端可根据终端反馈的信息进一步确定终端的图像处理能力,进而对图像数据的处理策略进行调整,以更好地配合客户终端进行图像数据的处理和显示。
本发明实施例中所描述的客户终端可对服务终端发送过来的2D图像数据和3D图像数据进行解析,进而将处理得到的图像数据进行还原并显示至指定显示区域,实现2D和3D的融合显示,增强了图像数据的处理方式的多样性,提高了图像处理和显示的用户体验。
参见图5,是本发明实施例提供的远程桌面的重定向方法的交互示意图。本实施例中所描述的方法,包括步骤:
S301,服务终端接收操作系统发送的操作指令。
在一些可行的实施方式中,本发明实施例中所描述的服务终端可为虚拟平台下的远程桌面服务器,远程桌面服务器提供了远程桌面的载体;本实施例中所描述的客户终端也称为客户机,具体可包括:台式电脑、笔记本电脑、平板电脑、手机等。客户终端的桌面系统可以虚拟机的软件形式存储于远程桌面的服务终端(例如远程桌面服务器)上,本实施例中所描述的远程服务终端中可包括多个虚拟机。
在一些可行的实施方式中,当用户想要将图像数据传送至远程桌面显示时,可先将客户终端与远程桌面服务终端建立连接,具体的,客户终端可通过VDI管理系统与远程桌面服务终端中的用户虚拟机建立远程桌面连接。如果远程桌面服务终端中有物理显卡,则可将服务终端中与客户终端建立远程桌面连接的虚拟机绑定该物理显卡,再安装该物理显卡对应的显示驱动,使该物理显卡生效,进而可通过该物理显卡获取图像数据。具体实现中,客户终端与远程桌面服务终端建立连接之后,则可通过用户虚拟机中的某个应用程序(或者多个应用程序)向服务终端的操作系统发起图像(包括2D图像数据和3D图像数据)显示的请求,比如,通过AutoCAD向操作系统发送图形显示请求,请求将一张工程图显示到虚拟机桌面的某一个区域。具体的,操作系统接收到虚拟机的某个应用程序发送的图形显示的请求之后则可根据应用程序发送的请求生成多种操作指令(包括接口调用指令),并将生成的显示图像数据的操作指令或者接口调用指令发送给服务终端的物理显卡或者虚拟机的镜像驱动的显示驱动。具体实现中,上述操作系统向上述物理显卡及显示驱动发送的显示图像数据的操作指令,可包括:画线指令、拷贝指令、填充指令等,上述操作指令仅是举例,而非穷举。
在一些可行的实施方式中,服务终端的显示驱动获取到操作系统发送的显示图像数据的操作指令之后,则可从操作系统的显示API获取相应的图像数据,并将获取到的图像数据放置到指定的共享内存中。
S302,所述服务终端根据所述操作指令获取2D图像数据。
在一些可行的实施方式中,服务终端的显示驱动获取到操作系统发送的显示图像数据的操作指令之后,服务终端则可根据获取到的操作指令从上述显示驱动中获取图像数据,或者根据获取到的操作指令生成图像数据。具体实现中,本实施例中所描述的显示驱动采用的实现方式可为镜像驱动,在物理显卡对图像数据进行处理时,镜像驱动也会收到操作系统下发的2D图像显示指令和2D图像数据,服务终端接收到上述操作指令之后则可从该显示驱动中获取数据或者根据上述操作指令生成相应的图像数据。例如,当服务终端接收到的操作指令为拷贝指令时,则可根据该指令从显示驱动中获取2D图像数据,将2D图像数据从源区域拷贝到指定区域,还可记录上述2D图像数据在上述显示区域中的显示区域,上述2D图像数据在显示区域中的显示区域可用于指导客户终端将2D图像数据写入远程桌面的相应位置,以还原图像并在远程桌面中显示上述图像。当服务终端接收到的操作指令为画线指令或者填充指令时,服务终端则可根据画线指令在指定区域画线,生成2D图像数据,或者根据填充指令对指定区域进行颜色填充等填充处理,生成2D图像数据;服务终端根据接收到的操作指令生成2D图像数据之后,还可生成2D图像数据、上述2D图像数据及其填充区域的对应关系,上述对应关系可用于指导客户终端将上述2D图像数据写入远程桌面的相应位置,以还原图像并在远程桌面中显示上述图像。服务终端获取到相应的2D图像数据之后,则可将获取到的2D图像数据存放至服务终端的共存内存中,以通过相应的处理模块对该2D图像数据进行进一步处理,并将处理得到的2D图像数据发送至客户终端显示。
S303,所述服务终端根据所述接口调用指令获取3D图像数据。
在一些可行的实施方式中,在本实施例中显示驱动采用的镜像驱动的实现方式,此时,服务终端需要从物理显卡获取3D图像数据。具体的,服务终端可根据操作系统发送的接口调用指令从虚拟机绑定的物理显卡获取3D图像数据以及3D图像数据的显示区域、或者窗口属性等信息。例如,服务终端可接收到上述操作系统发送的3D的API接口调用时,通过3D的API接口挂钩子截获该接口调用,通过该接口调用从物理显卡获取3D图像数据、3D图像数据的显示区域、窗口属性等信息,并计算3D窗口的位置遮挡、移动等信息,进而将获取到的3D图像数据存放至服务终端的共享内存中,以通过相应的处理模块对该3D图像数据进行进一步处理,并将处理得到的3D图像数据发送至客户终端显示。
S304,所述服务终端分别对所述2D图像数据和3D图像数据进行处理。
在一些可行的实施方式中,服务终端获取到2D图像数据和3D图像数据之后,则可分别对该2D图像数据和3D图像数据进行处理,可分别采用不同的处理方法对2D图像数据和3D图像数据进行处理。具体实现中,用户可预先在VDI管理系统中设定2D图像数据和3D图像数据的处理策略,生成一个策略文件存储在VDI管理系统中;其中,上述图像数据(包括2D图像数据和3D图像数据)的处理策略中包括图像压缩策略、图像发送间隔策略、图像丢帧的处理策略等,上述图像数据的处理策略仅是举例,而非穷举。服务终端获取到2D图像数据和3D图像数据之后,则可根据客户终端的图像处理能力,结合VDI管理系统中预设的2D图像数据的处理策略和3D图像数据的处理策略分别对上述2D图像数据和3D图像数据进行处理。其中,上述客户终端的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力等。在本实施例中,服务终端分别对获取到的2D图像数据和3D图像数据进行处理时,VDI管理系统可将上述图像数据的处理策略文件动态下发给服务终端,服务终端可根据客户终端的图像解压缩能力,从预设的2D图像数据的处理策略和3D图像数据的处理策略中选择相应的图像压缩策略对获取到的2D图像数据和3D图像数据进行压缩,或者,根据客户终端的图像接收能力,从预设的2D图像数据的处理策略和3D图像数据的处理策略中选择相应的图像发送间隔策略设定将上述2D图像数据或者3D图像数据发送给客户终端的发送间隔;此外,如果服务终端向客户终端发送数据的过程中出现网络拥堵,服务终端还可根据客户终端的图像的帧处理能力,从预设的2D图像数据的处理策略和3D图像数据的处理策略中选择相应的图像丢帧的处理策略对上述2D图像数据和3D图像数据进行丢帧处理,以使图像数据的发送更加顺畅。具体实现中,服务终端分别对上述2D图像数据和3D图像数据进程处理时可采用不同的处理策略,也可采用相同的处理策略,具体可根据客户终端的图像处理能力以及图像数据的特点选择相应的处理策略。此外,服务终端将图像数据发送给客户终端之后,客户终端还可向服务终端反馈图像数据的处理情况,服务终端可根据客户终端的反馈信息判断客户终端的图像处理能力,进而可对图像数据的处理策略进行调整,以使图像数据的处理效果更好地配合客户终端,客户终端可以更好地效果显示图像数据。
S305,所述服务终端将所述处理得到的图像数据封装为协议数据发送给客户终端。
在一些可行的实施方式中,服务终端采用不同的图像数据处理策略对获取到的2D图像数据和3D图像数据进行处理之后,则可将处理得到的图像数据封装为协议数据,通过协议数据的方式将图像数据和相应的显示指令等信息发送给客户终端。具体实现中,上述协议数据中可包括:处理后的2D图像数据、上述2D图像数据的显示区域、上述2D图像数据的表面数据、上述2D图像数据的处理策略等,上述协议数据中还包括:处理后的3D图像数据、上述3D图像数据的显示区域,上述3D图像数据的表面数据,上述3D图像数据的处理策略等;其中,上述2D图像数据的显示区域指该2D图像数据在显示驱动中的显示区域,上述3D图像数据的显示区域指该3D图像数据在物理显卡中的显示区域;上述2D图像数据的表面数据指上述2D图像数据的指定显示区域,即上述2D图像数据在客户终端显示时的显示区域(即客户终端显示界面上的2D区域);上述3D图像数据的表面数据指上述3D图像数据的指定显示区域,即上述3D图像数据在客户终端显示时的显示区域(即客户终端显示界面上的3D区域)。服务终端可将上述协议数据封装为网络报文(即协议数据)发送给客户终端,以通过客户终端将所述图像数据显示至指定位置。
S306,所述客户终端对所述协议数据进行处理。
S307,所述客户终端将所述2D图像数据和3D图像数据写入指定位置。
S308,所述客户终端将图像数据处理情况反馈给服务终端。
在一些可行的实施方式中,客户终端获取到服务终端发送的协议数据之后,则可对上述协议数据进行解析,从上述协议数据中获取服务终端对2D图像数据进行处理时采用的处理策略和服务终端对3D图像数据进行处理时采用的处理策略,其中,上述2D图像数据的处理策略具体可为2D图像数据的压缩策略,上述3D图像数据的处理策略具体可为3D图像数据的压缩策略。客户终端对上述协议数据进行解析之后,则可依据上述2D图像数据的压缩策略对上述2D图像数据进行解压缩,并根据上述协议数据中包含的2D图像数据的显示区域将上述解压缩得到的2D图像数据写入客户终端显示界面上2D区域中相应的位置;还可依据上述3D图像数据的压缩策略对上述3D图像数据进行解压缩,进而根据上述协议数据中包含的3D图像数据的显示区域将上述3D图像数据分别写入客户终端的显示界面上的3D区域中相应的位置,实现2D和3D的融合显示。即客户终端可根据服务终端发送过来的协议数据中2D图像数据和3D图像数据的显示区域,将2D图像数据和3D图像数据分别写入2D图像数据的显示区域相对应的表面数据中,将3D图像数据分别写入3D图像数据的显示区域相对应的表面数据中,以将图像数据还原为与服务终端发送过来的图像数据一样,实现图形等图像数据在远程桌面显示。具体实现中,客户终端对服务终端发送过来的2D图像数据和3D图像数据进行处理,并将其显示至指定区域之后,还可将图像的处理情况反馈给服务终端,服务终端可根据客户终端反馈的信息进一步确定客户终端的图像处理能力,进而对图像数据的处理策略进行调整,以更好地配合客户终端进行图像数据的处理和显示。
在本发明实施例,服务终端可分别获取2D图像数据和3D图像数据,并分别对获取到的2D图像数据和3D图像数据进行处理,进而将处理得到的图像数据发送给客户终端,通过客户终端进行还原处理并显示至指定显示区域,实现2D和3D的融合显示,丰富了图像数据的处理形式,增强了图像数据的处理方式的多样性,提高了图像处理和显示的用户体验。
参见图6,是本发明实施例提供的远程桌面的重定向的系统的实施例结构示意图。本实施例中所描述的系统,包括:服务终端100和客户终端200。
在一些可行的实施方式中,本发明实施例中所描述的服务终端100可为虚拟平台下的远程桌面服务终端,远程桌面服务终端提供了远程桌面的载体;本实施例中所描述的客户终端200也称为客户机,具体可包括:台式电脑、笔记本电脑、平板电脑、手机等。客户终端的桌面系统可以虚拟机的软件形式存储于远程桌面服务终端上,本实施例中所描述的远程服务终端中可包括多个虚拟机。
在一些可行的实施方式中,当用户想要将图像数据传送至远程桌面显示时,可先将客户终端200与远程桌面服务终端100建立连接,具体的,客户终端200可通过VDI管理系统与远程桌面服务终端100中的用户虚拟机建立远程桌面连接。如果远程桌面服务终端100中有物理显卡,则可将服务终端100中与客户终端200建立远程桌面连接的虚拟机绑定该物理显卡,再安装该物理显卡对应的显示驱动,使该物理显卡生效,进而可通过该物理显卡获取图像数据。具体实现中,客户终端200与远程桌面服务终端100建立连接之后,则可通过用户虚拟机中的某个应用程序(或者多个应用程序)向服务终端100的操作系统发起图像(包括2D图像数据和3D图像数据)显示的请求,比如,通过AutoCAD向操作系统发送图形显示请求,请求将一张工程图显示到虚拟机桌面的某一个区域。具体的,操作系统接收到虚拟机的某个应用程序发送的图形显示的请求之后则可根据应用程序发送的请求生成多种操作指令或者接口调用,并将生成的显示图像数据的操作指令或者接口调用发送给服务终端100的物理显卡或者虚拟机的镜像驱动的显示驱动。具体实现中,上述操作系统向上述物理显卡及显示驱动发送的显示图像数据的操作指令,可包括:画线指令、拷贝指令、填充指令等,上述操作指令仅是举例,而非穷举。服务终端100的显示驱动获取到操作系统发送的显示图像数据的操作指令之后,则可从操作系统的显示API获取相应的图像数据,并将获取到的图像数据放置到指定的共享内存中。
在一些可行的实施方式中,本实施例中所描述的显示驱动采用的实现方式可为镜像驱动,在物理显卡对图像数据进行处理时,镜像驱动也会收到操作系统下发的2D图像显示指令和2D图像数据,服务终端100接收到上述操作指令之后则可从该显示驱动中获取数据或者根据上述操作指令生成相应的图像数据。例如,当服务终端100接收到的操作指令为拷贝指令时,则可根据该指令从显示驱动中获取2D图像数据,将2D图像数据从源区域拷贝到指定区域,还可记录上述2D图像数据在上述显示区域中的显示区域,上述2D图像数据在显示区域中的显示区域可用于指导客户终端将2D图像数据写入远程桌面的相应位置,以还原图像并在远程桌面中显示上述图像。当服务终端100接收到的操作指令为画线指令或者填充指令时,服务终端则可根据画线指令在指定区域画线,生成2D图像数据,或者根据填充指令对指定区域进行颜色填充等填充处理,生成2D图像数据;服务终端100根据接收到的操作指令生成2D图像数据之后,还可生成2D图像数据、上述2D图像数据及其填充区域的对应关系,上述对应关系可用于指导客户终端将上述2D图像数据写入远程桌面的相应位置,以还原图像并在远程桌面中显示上述图像。服务终端100获取到相应的2D图像数据之后,则可将获取到的2D图像数据存放至服务终端的共存内存中,以通过相应的处理模块对该2D图像数据进行进一步处理,并将处理得到的2D图像数据发送至客户终端200显示。
在一些可行的实施方式中,在本实施例中显示驱动采用的镜像驱动的实现方式,而镜像区域无法捕捉到3D图像数据,故此服务终端100需要从物理显卡获取3D图像数据。具体的,服务终端100可根据操作系统发送的接口调用从虚拟机绑定的物理显卡获取3D图像数据以及3D图像数据的显示区域、或者窗口属性等信息。例如,服务终端100可接收到上述操作系统发送的3D的API接口调用时,通过3D的API接口挂钩子截获该接口调用,通过该接口调用从物理显卡获取3D图像数据、3D图像数据的显示区域、窗口属性等信息,并计算3D窗口的位置遮挡、移动等信息,进而将获取到的3D图像数据存放至服务终端的共享内存中,以通过相应的处理模块对该3D图像数据进行进一步处理,并将处理得到的3D图像数据发送至客户终端200显示。
在一些可行的实施方式中,服务终端100获取到2D图像数据和3D图像数据之后,则可分别对该2D图像数据和3D图像数据进行处理,可分别采用不同的处理方法对2D图像数据和3D图像数据进行处理。具体实现中,用户可预先在VDI管理系统中设定2D图像数据和3D图像数据的处理策略,生成一个策略文件存储在VDI管理系统中;其中,上述图像数据(包括2D图像数据和3D图像数据)的处理策略中包括图像压缩策略、图像发送间隔策略、图像丢帧的处理策略等,上述图像数据的处理策略仅是举例,而非穷举。服务终端100获取到2D图像数据和3D图像数据之后,则可根据客户终端200的图像处理能力,结合VDI管理系统中预设的2D图像数据的处理策略和3D图像数据的处理策略分别对上述2D图像数据和3D图像数据进行处理。其中,上述客户终端200的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力等。在本实施例中,服务终端100分别对获取到的2D图像数据和3D图像数据进行处理时,VDI管理系统可将上述图像数据的处理策略文件动态下发给服务终端100,服务终端100可根据客户终端的图像解压缩能力,从预设的2D图像数据的处理策略和3D图像数据的处理策略中选择相应的图像压缩策略对获取到的2D图像数据和3D图像数据进行压缩,或者,根据客户终端200的图像接收能力,从预设的2D图像数据的处理策略和3D图像数据的处理策略中选择相应的图像发送间隔策略设定将上述2D图像数据或者3D图像数据发送给客户终端200的发送间隔;如果服务终端100向客户终端200发送数据的过程中出现网络拥堵,服务终端100还可根据客户终端200的图像的帧处理能力,从预设的2D图像数据的处理策略和3D图像数据的处理策略中选择相应的图像丢帧的处理策略对上述2D图像数据和3D图像数据进行丢帧处理,以使图像数据的发送更加顺畅。具体实现中,服务终端100分别对上述2D图像数据和3D图像数据进程处理时可采用不同的处理策略,也可采用相同的处理策略,具体可根据客户终端200的图像处理能力以及图像数据的特点选择相应的处理策略。此外,服务终端100将图像数据发送给客户终端200之后,客户终端200还可向服务终端100反馈图像数据的处理情况,服务终端100可根据客户终端200的反馈信息判断客户终端200的图像处理能力,进而可对图像数据的处理策略进行调整,以使图像数据的处理效果更好地配合客户终端200,客户终端200可以更好地效果显示图像数据。
在一些可行的实施方式中,服务终端100采用不同的图像数据处理策略对获取到的2D图像数据和3D图像数据进行分策略处理之后,则可将处理得到的图像数据封装为协议数据,通过协议数据的方式将图像数据和相应的显示指令等信息发送给客户终端200。具体实现中,上述协议数据中可包括:处理后的2D图像数据、上述2D图像数据的显示区域、上述2D图像数据的表面数据、上述2D图像数据的处理策略等,上述协议数据中还包括:处理后的3D图像数据、上述3D图像数据的显示区域,上述3D图像数据的表面数据,上述3D图像数据的处理策略等;其中,上述2D图像数据的显示区域指该2D图像数据在显示驱动中的显示区域,上述3D图像数据的显示区域指该3D图像数据在物理显卡中的显示区域;上述2D图像数据的表面数据指上述2D图像数据的指定显示区域,即上述2D图像数据在客户终端显示时的显示区域(即客户终端显示界面上的2D区域);上述3D图像数据的表面数据指上述3D图像数据的指定显示区域,即上述3D图像数据在客户终端显示时的显示区域(即客户终端显示界面上的3D区域)。服务终端100可将上述协议数据封装为网络报文(即协议数据)发送给客户终端200,以通过客户终端200将所述图像数据显示至指定位置。
在一些可行的实施方式中,客户终端200获取到服务终端100发送的协议数据之后,则可对上述协议数据进行解析,从上述协议数据中获取服务终端对2D图像数据进行处理时采用的处理策略和服务终端对3D图像数据进行处理时采用的处理策略,其中,上述2D图像数据的处理策略具体可为2D图像数据的压缩策略,上述3D图像数据的处理策略具体可为3D图像数据的压缩策略。客户终端200对上述协议数据进行解析之后,则可依据上述2D图像数据的压缩策略对上述2D图像数据进行解压缩,并根据上述协议数据中包含的2D图像数据的显示区域将上述解压缩得到的2D图像数据写入客户终端显示界面上2D区域中相应的位置;还可依据上述3D图像数据的压缩策略对上述3D图像数据进行解压缩,进而根据上述协议数据中包含的3D图像数据的显示区域将上述3D图像数据分别写入客户终端的显示界面上的3D区域中相应的位置,实现2D和3D的融合显示。即客户终端200可根据服务终端100发送过来的协议数据中2D图像数据和3D图像数据的显示区域,将2D图像数据和3D图像数据分别写入2D图像数据的显示区域相对应的表面数据中,将3D图像数据分别写入3D图像数据的显示区域相对应的表面数据中,以将图像数据还原为与服务终端发送过来的图像数据一样,实现图形等图像数据在远程桌面显示。具体实现中,客户终端200对服务终端100发送过来的2D图像数据和3D图像数据进行处理,并将其显示至指定区域之后,还可将图像的处理情况反馈给服务终端100,服务终端100可根据客户终端200反馈的信息进一步确定客户终端的图像处理能力,进而对图像数据的处理策略进行调整,以更好地配合客户终端进行图像数据的处理和显示。
本发明实施例所描述的系统中服务终端可分别获取2D图像数据和3D图像数据,并分别对获取到的2D图像数据和3D图像数据进行处理,进而将处理得到的图像数据发送给客户终端,通过客户终端进行还原处理并显示至指定显示区域,实现2D和3D的融合显示,丰富了图像数据的处理形式,增强了图像数据的处理方式的多样性,提高了图像处理和显示的用户体验。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (23)

1.一种远程桌面的重定向方法,其特征在于,包括:
服务终端从虚拟机的显示驱动中获取操作系统发送的显示图像数据的操作指令;
所述服务终端根据所述操作指令从所述显示驱动中获取2D图像数据,或者根据所述操作指令生成2D图像数据;
所述服务终端根据所述操作指令从所述虚拟机绑定的物理显卡中获取3D图像数据;
所述服务终端根据客户终端的图像处理能力,和预设的2D图像数据的处理策略对所述2D图像数据进行处理;
所述服务终端根据所述客户终端的图像处理能力,和预设的3D图像数据的处理策略对所述3D图像数据进行处理;
所述服务终端将所述处理得到的图像数据封装为协议数据发送给所述客户终端,以通过所述客户终端将所述2D图像数据和所述3D图像数据写入指定显示区域。
2.如权利要求1所述的方法,其特征在于,所述操作系统发送的显示图像数据的操作指令,包括:画线指令、填充指令、拷贝指令中至少一种;
所述服务终端根据所述操作指令从所述显示驱动中获取2D图像数据,或者根据所述操作指令生成2D图像数据,包括:
所述服务终端根据所述拷贝指令从所述显示驱动中获取2D图像数据,并记录所述2D图像数据在所述显示驱动中的显示区域;或者
所述服务终端根据所述画线指令或者填充指令对指定区域进行填充处理,生成2D图像数据和所述2D图像数据及其填充区域的对应关系。
3.如权利要求1所述的方法,其特征在于,所述操作系统发送的显示图像数据的操作指令中包括:3D的应用程序编程接口API接口调用指令;
所述服务终端根据所述操作指令从所述虚拟机绑定的物理显卡中获取3D图像数据,包括:
所述服务终端根据所述3D的API接口调用指令从所述虚拟机绑定的物理显卡中获取3D图像、所述3D图像的显示区域、所述3D图像对应的窗口属性中至少一种3D图像数据。
4.如权利要求1-3任一项所述的方法,其特征在于,所述预设的2D图像数据的处理策略中包括2D图像数据的图像压缩策略、图像发送间隔策略、图像丢帧的处理策略中至少一种;
所述预设的3D图像数据的处理策略中包括3D图像数据的图像压缩策略、图像发送间隔策略、图像丢帧的处理策略中至少一种。
5.如权利要求4所述的方法,其特征在于,所述客户终端的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力中至少一种;
所述服务终端根据客户终端的图像处理能力,和预设的2D图像数据的处理策略对所述2D图像数据进行处理,包括:
所述服务终端根据客户终端的图像解压缩能力,从预设的2D图像数据的处理策略中选择相应的图像压缩策略对所述2D图像数据进行压缩;或者
所述服务终端根据客户终端的图像接收能力,从预设的2D图像数据的处理策略中选择相应的图像发送间隔策略设定所述2D图像数据的发送间隔;或者
所述服务终端在网络拥堵时根据客户终端的图像的帧处理能力,从预设的2D图像数据的处理策略中选择相应的图像丢帧的处理策略对所述2D图像数据进行丢帧处理。
6.如权利要求4或5所述的方法,其特征在于,所述客户终端的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力中至少一种;
所述服务终端根据所述客户终端的图像处理能力,和预设的3D图像数据的处理策略对所述3D图像数据进行处理,包括:
所述服务终端根据客户终端的图像解压缩能力,从预设的3D图像数据的处理策略中选择相应的图像压缩策略对所述3D图像数据进行压缩;或者
所述服务终端根据客户终端的图像接收能力,从预设的3D图像数据的处理策略中选择相应的图像发送间隔策略设定所述3D图像数据的发送间隔;或者
所述服务终端在网络拥堵时根据客户终端的图像的帧处理能力,从预设的3D图像数据的处理策略中选择相应的图像丢帧的处理策略对所述3D图像数据进行丢帧处理。
7.如权利要求1-6任一项所述的方法,其特征在于,所述协议数据中包括:处理后的2D图像数据、所述2D图像数据的显示区域、所述2D图像数据的表面数据、所述2D图像数据的压缩策略;
所述协议数据中还包括:处理后的3D图像数据、所述3D图像数据的显示区域、所述3D图像数据的表面数据、所述3D图像数据的压缩策略;
其中,所述2D图像数据的显示区域为所述2D图像在所述显卡驱动中的显示区域;
所述3D图像数据的显示区域为所述3D图像数据在所述物理显卡中的显示区域;
所述2D图像数据的表面数据为所述2D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的2D区域;
所述3D图像数据的表面数据为所述3D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的3D区域。
8.一种远程桌面的重定向方法,其特征在于,包括:
客户终端接收服务终端发送的协议数据,所述协议数据中包括2D图像数据以及所述2D图像数据的处理策略,和3D图像数据以及所述3D图像数据的处理策略;
所述客户终端根据所述2D图像数据的处理策略对所述2D图像数据进行处理,并将所述2D图像数据写入指定显示区域;
所述客户终端根据所述3D图像数据的处理策略对所述3D图像数据进行处理,并将所述3D图像数据写入指定显示区域。
9.如权利要求8所述的方法,其特征在于,所述协议数据还包括:所述2D图像数据的显示区域、所述2D图像数据的表面数据;
所述协议数据还包括:所述3D图像数据的显示区域、所述3D图像数据的表面数据;
其中,所述2D图像数据的显示区域为所述2D图像数据在所述服务终端的显示驱动中的显示区域;
所述3D图像数据的显示区域为所述3D图像数据在所述服务终端的物理显卡中的显示区域;
所述2D图像数据的表面数据为所述2D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的2D区域;
所述3D图像数据的表面数据为所述3D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的3D区域。
10.如权利要求9所述的方法,其特征在于,所述2D图像数据的处理策略中包含所述2D图像数据的图像压缩策略;
所述客户终端根据所述2D图像数据的处理策略对所述2D图像数据进行处理,并将所述2D图像数据写入指定显示区域,包括:
所述客户终端根据所述2D图像数据的图像压缩策略对所述2D图像数据进行解压缩,并将所述解压缩得到的所述2D图像数据写入所述客户终端显示界面上的2D区域。
11.如权利要求9或10所述的方法,其特征在于,所述3D图像数据的处理策略中包含所述3D图像数据的图像压缩策略;
所述客户终端根据所述3D图像数据的处理策略对所述3D图像数据进行处理,并将所述3D图像数据写入指定显示区域,包括:
所述客户终端根据所述3D图像数据的图像压缩策略对所述3D图像数据进行解压缩,并将所述解压缩得到的所述3D图像数据写入所述客户终端显示界面上的3D区域。
12.一种服务终端,其特征在于,包括:
获取模块,用于从虚拟机的显示驱动中获取操作系统发送的显示图像数据的操作指令;
第一捕捉模块,用于根据所述获取模块获取的所述操作指令从所述显示驱动中获取2D图像数据,或者根据所述操作指令生成2D图像数据;
第二捕捉模块,用于根据所述获取模块获取的所述操作指令从所述虚拟机绑定的物理显卡中获取3D图像数据;
第一处理模块,用于根据客户终端的图像处理能力,和预设的2D图像数据的处理策略对所述第一捕捉模块捕捉的2D图像数据进行处理;
第二处理模块,用于根据客户终端的图像处理能力,和预设的3D图像数据的处理策略对所述第二捕捉模块捕捉的3D图像数据进行处理;
发送模块,用于将所述第一处理模块和第二处理模块处理得到的图像数据封装为协议数据发送给所述客户终端,以通过所述客户终端将所述2D图像数据和所述3D图像数据写入指定显示区域。
13.如权利要求12所述的服务终端,其特征在于,所述获取模块获取的所述操作系统发送的显示图像数据的操作指令,包括:画线指令、填充指令、拷贝指令中至少一种;
所述第一捕捉模块,具体用于:
根据所述拷贝指令从所述显示驱动中获取2D图像数据,并记录所述2D图像数据在所述显示驱动中的显示区域;或者
根据所述画线指令或者填充指令对指定区域进行填充处理,生成2D图像数据和所述2D图像数据及其填充区域的对应关系。
14.如权利要求12所述的服务终端,其特征在于,所述获取模块获取的操作系统发送的显示图像数据的操作指令中包括:3D的API接口调用指令;
所述第二捕捉模块,具体用于:
根据所述3D的API接口调用指令从所述虚拟机绑定的物理显卡中获取3D图像、所述3D图像的显示区域、所述3D图像对应的窗口属性中至少一种3D图像数据。
15.如权利要求12-14任意一项所述的服务终端,其特征在于,所述预设的2D图像数据的处理策略中包括2D图像数据的图像压缩策略、图像发送间隔策略、图像丢帧的处理策略至少一种;
所述预设的3D图像数据的处理策略中包括3D图像数据的图像压缩策略、图像发送间隔策略、图像丢帧的处理策略中至少一种。
16.如权利要求15所述的服务终端,其特征在于,所述客户终端的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力中至少一种;
所述第一处理模块,具体用于:
根据客户终端的图像解压缩能力,从预设的2D图像数据的处理策略中选择相应的图像压缩策略对所述2D图像数据进行压缩;或者
根据客户终端的图像接收能力,从预设的2D图像数据的处理策略中选择相应的图像发送间隔策略设定所述2D图像数据的发送间隔;或者
在网络拥堵时根据客户终端的图像的帧处理能力,从预设的2D图像数据的处理策略中选择相应的图像丢帧的处理策略对所述2D图像数据进行丢帧处理。
17.如权利要求15或16所述的服务终端,其特征在于,所述客户终端的图像处理能力包括:图像解压缩能力、图像接收能力、图像的帧处理能力中至少一种;
所述第二处理模块,具体用于:
根据客户终端的图像解压缩能力,从预设的3D图像数据的处理策略中选择相应的图像压缩策略对所述3D图像数据进行压缩;或者
根据客户终端的图像接收能力,从预设的3D图像数据的处理策略中选择相应的图像发送间隔策略设定所述3D图像数据的发送间隔;或者
在网络拥堵时根据客户终端的图像的帧处理能力,从预设的3D图像数据的处理策略中选择相应的图像丢帧的处理策略对所述3D图像数据进行丢帧处理。
18.如权利要求12-17任一项所述的服务终端,其特征在于,所述协议数据中包括:处理后的2D图像数据、所述2D图像数据的显示区域、所述2D图像数据的表面数据、所述2D图像数据的压缩策略;
所述协议数据中还包括:处理后的3D图像数据、所述3D图像数据的显示区域、所述3D图像数据的表面数据、所述3D图像数据的压缩策略;
其中,所述2D图像数据的显示区域为所述2D图像在所述显卡驱动中的显示区域;
所述3D图像数据的显示区域为所述3D图像数据在所述物理显卡中的显示区域;
所述2D图像数据的表面数据为所述2D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的2D区域;
所述3D图像数据的表面数据为所述3D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的3D区域。
19.一种客户终端,其特征在于,包括:
接收模块,用于接收服务终端发送的协议数据,所述协议数据中包括2D图像数据以及所述2D图像数据的处理策略,和3D图像数据以及所述3D图像数据的处理策略;
第一处理模块,用于根据所述2D图像数据的处理策略对所述2D图像数据进行处理,并将所述2D图像数据写入指定显示区域;
第二处理模块,用于根据所述3D图像数据的处理策略对所述3D图像数据进行处理,并将所述3D图像数据写入指定显示区域。
20.如权利要求19所述的客户终端,其特征在于,所述接收模块接收到的协议数据还包括:所述2D图像数据的显示区域、所述2D图像数据的表面数据;
所述协议数据还包括:所述3D图像数据的显示区域、所述3D图像数据的表面数据;
其中,所述2D图像数据的显示区域为所述2D图像数据在所述服务终端的显示驱动中的显示区域;
所述3D图像数据的显示区域为所述3D图像数据在所述服务终端的物理显卡中的显示区域;
所述2D图像数据的表面数据为所述2D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的2D区域;
所述3D图像数据的表面数据为所述3D图像数据在所述客户终端中的所述指定显示区域,所述指定显示区域具体为所述客户终端显示界面上的3D区域。
21.如权利要求20所述的客户终端,其特征在于,所述2D图像数据的处理策略中包含所述2D图像数据的图像压缩策略;
所述第一处理模块,具体用于:
根据所述2D图像数据的图像压缩策略对所述2D图像数据进行解压缩,并将所述解压缩得到的所述2D图像数据写入所述客户终端显示界面上的2D区域。
22.如权利要求20或21所述的客户终端,其特征在于,所述3D图像数据的处理策略中包含所述3D图像数据的图像压缩策略;
所述第二处理模块,具体用于:
根据所述3D图像数据的图像压缩策略对所述3D图像数据进行解压缩,并将所述解压缩得到的所述3D图像数据写入所述客户终端显示界面上的3D区域。
23.一种远程桌面的重定向的系统,其特征在于,包括:如权利要求12-18所述的服务终端和如权利要求19-22所述的客户终端。
CN201310739263.XA 2013-12-27 2013-12-27 一种远程桌面的重定向方法及装置 Active CN103763610B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310739263.XA CN103763610B (zh) 2013-12-27 2013-12-27 一种远程桌面的重定向方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310739263.XA CN103763610B (zh) 2013-12-27 2013-12-27 一种远程桌面的重定向方法及装置

Publications (2)

Publication Number Publication Date
CN103763610A true CN103763610A (zh) 2014-04-30
CN103763610B CN103763610B (zh) 2018-10-30

Family

ID=50530758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310739263.XA Active CN103763610B (zh) 2013-12-27 2013-12-27 一种远程桌面的重定向方法及装置

Country Status (1)

Country Link
CN (1) CN103763610B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618473A (zh) * 2015-01-26 2015-05-13 上海视聪网络信息技术有限公司 虚拟机桌面显示方法及装置
CN104683449A (zh) * 2015-02-05 2015-06-03 深圳市云舒网络技术有限公司 一种基于窗口结构的远程桌面控制方法
CN107203408A (zh) * 2016-03-17 2017-09-26 华为技术有限公司 重定向的方法、装置和系统
CN108762934A (zh) * 2018-06-02 2018-11-06 北京泽塔云科技股份有限公司 远程图形传输系统、方法及云服务器
CN110448911A (zh) * 2019-07-10 2019-11-15 北京云派网络科技有限公司 用于处理图像的服务器、方法、装置以及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101154150A (zh) * 2006-09-27 2008-04-02 联想(北京)有限公司 获取计算机屏幕图像的方法
CN101447998A (zh) * 2008-12-25 2009-06-03 广东威创视讯科技股份有限公司 桌面共享方法及系统
US20100315493A1 (en) * 2009-06-15 2010-12-16 Sony Corporation Receiving apparatus, transmitting apparatus, communication system, display control method, program, and data structure
US20110239216A1 (en) * 2010-03-23 2011-09-29 Nec Corporation Service providing system, a virtual machine server, a service providing method, and a program thereof
CN102546803A (zh) * 2012-01-13 2012-07-04 浙江工商大学 基于能力集的远端桌面通信方法
CN102662619A (zh) * 2005-11-01 2012-09-12 微软公司 多用户终端服务加速器
CN103294439A (zh) * 2013-06-28 2013-09-11 华为技术有限公司 一种图像更新方法、系统及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662619A (zh) * 2005-11-01 2012-09-12 微软公司 多用户终端服务加速器
CN101154150A (zh) * 2006-09-27 2008-04-02 联想(北京)有限公司 获取计算机屏幕图像的方法
CN101447998A (zh) * 2008-12-25 2009-06-03 广东威创视讯科技股份有限公司 桌面共享方法及系统
US20100315493A1 (en) * 2009-06-15 2010-12-16 Sony Corporation Receiving apparatus, transmitting apparatus, communication system, display control method, program, and data structure
US20110239216A1 (en) * 2010-03-23 2011-09-29 Nec Corporation Service providing system, a virtual machine server, a service providing method, and a program thereof
CN102546803A (zh) * 2012-01-13 2012-07-04 浙江工商大学 基于能力集的远端桌面通信方法
CN103294439A (zh) * 2013-06-28 2013-09-11 华为技术有限公司 一种图像更新方法、系统及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘红艳: "GPU虚拟化在虚拟桌面系统中的应用", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618473A (zh) * 2015-01-26 2015-05-13 上海视聪网络信息技术有限公司 虚拟机桌面显示方法及装置
CN104618473B (zh) * 2015-01-26 2019-04-16 上海视聪网络信息技术有限公司 虚拟机桌面显示方法及装置
CN104683449A (zh) * 2015-02-05 2015-06-03 深圳市云舒网络技术有限公司 一种基于窗口结构的远程桌面控制方法
CN104683449B (zh) * 2015-02-05 2017-12-12 深圳市云舒网络技术有限公司 一种基于窗口结构的远程桌面控制方法
CN107203408A (zh) * 2016-03-17 2017-09-26 华为技术有限公司 重定向的方法、装置和系统
US10810024B2 (en) 2016-03-17 2020-10-20 Huawei Technologies Co., Ltd. Redirection method and apparatus, and system
CN107203408B (zh) * 2016-03-17 2021-02-23 华为技术有限公司 重定向的方法、装置和系统
CN108762934A (zh) * 2018-06-02 2018-11-06 北京泽塔云科技股份有限公司 远程图形传输系统、方法及云服务器
CN108762934B (zh) * 2018-06-02 2021-09-07 武汉泽塔云科技股份有限公司 远程图形传输系统、方法及云服务器
CN110448911A (zh) * 2019-07-10 2019-11-15 北京云派网络科技有限公司 用于处理图像的服务器、方法、装置以及存储介质

Also Published As

Publication number Publication date
CN103763610B (zh) 2018-10-30

Similar Documents

Publication Publication Date Title
CN103763610A (zh) 一种远程桌面的重定向方法及装置
CN102571840B (zh) 终端远程测试方法及代理服务器
CN1856819B (zh) 通过分布式应用程序的图形数据的网络传输的系统和方法
CN105068774A (zh) 一种基于wfd的影像分享方法和系统
US8830300B2 (en) Multiscalar stereo video format conversion
CN105096373A (zh) 一种媒体内容渲染的方法、用户设备及系统
JP2012533102A (ja) 変化するイメージの更新のクライアント・デバイスに対する選択的配布
CN101699395A (zh) 一种多窗口管理方法及多窗口浏览器
CN102761564A (zh) 图形共享方法、系统与终端
CN104750372A (zh) 一种文件共享方法和装置
CN104407829A (zh) 一种图像镜像显示方法及其装置
WO2021180198A1 (zh) 信息交互方法、装置、电子设备及存储介质
CN107509051A (zh) 远程控制方法、装置、终端及计算机可读存储介质
CN104580506B (zh) 离线地图数据的获取方法、云端服务器及客户端
CN105554430A (zh) 一种视频通话方法、系统及装置
CN104685873A (zh) 编码控制设备以及编码控制方法
CN112953908A (zh) 网络隔离配置方法、装置及系统
CN104067627A (zh) 一种视频重定向的方法、装置、系统及计算机可读介质
CN104811485A (zh) 一种资源分享方法
CN104683217A (zh) 一种多媒体信息的传输方法及即时通讯客户端
CN103714569A (zh) 一种渲染指令的处理方法、装置和系统
CN104967917A (zh) 一种即时视频的编码方法和电子设备
CN102770827A (zh) 用于在终端的屏幕上显示多媒体内容的方法
CN101917480A (zh) 多蓝牙设备信息传输的方法及系统
JP5036791B2 (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220211

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right