CN114675914B - 虚拟桌面的图像传输方法、装置、电子设备及存储介质 - Google Patents
虚拟桌面的图像传输方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114675914B CN114675914B CN202210128490.8A CN202210128490A CN114675914B CN 114675914 B CN114675914 B CN 114675914B CN 202210128490 A CN202210128490 A CN 202210128490A CN 114675914 B CN114675914 B CN 114675914B
- Authority
- CN
- China
- Prior art keywords
- desktop
- virtual
- virtual desktop
- picture
- image
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000005540 biological transmission Effects 0.000 title claims abstract description 45
- 235000013599 spices Nutrition 0.000 claims abstract description 71
- 238000009877 rendering Methods 0.000 claims abstract description 25
- 230000006835 compression Effects 0.000 claims description 42
- 238000007906 compression Methods 0.000 claims description 42
- 230000008859 change Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 239000003086 colorant Substances 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及虚拟桌面技术领域,公开了一种虚拟桌面的图像传输方法、装置、电子设备及存储介质,该方法包括:将虚拟桌面的绘图数据传输到目标物理图形处理器;目标物理图形处理器是为目标虚拟机分配的物理图形处理器;由目标物理图形处理器根据绘图数据进行渲染,得到虚拟桌面的桌面图像;获取虚拟桌面的桌面图像相对于虚拟桌面的上一桌面图像的差异区域画面;将差异区域画面和虚拟桌面的光标信息发送到客户端,以使客户端根据画面指令显示虚拟桌面的桌面图像。本方案可以实现在3D虚机场景下复用SPICE协议。
Description
技术领域
本申请涉及虚拟桌面技术领域,更具体地,涉及一种虚拟桌面的图像传输方法、装置、电子设备及存储介质。
背景技术
虚拟桌面传输协议,例如SPICE协议,广泛应用于在2D虚机场景下的虚拟桌面***中,随着对虚拟桌面的显示流畅性的要求的提高,提出了在虚拟机中增加物理显卡。但是,实际中发现,由于3D虚机增加了物理显卡,造成原先的虚拟显卡失效,导致SPICE显示协议完全失效。
相关技术中,为了在3D虚机场景下正常显示虚拟桌面,在虚机内采用与spice协议完全分离的其他显示协议,在虚机内通过虚机网络将编码后的画面传递到客户端,由客户端对编码数据进行解码。该种方式由于需要重新部署其他显示协议,导致部署和维护成本高。因此,如何在3D虚机场景下复用SPICE协议是相关技术中亟待解决的技术问题。
发明内容
鉴于上述问题,本申请实施例提出了一种虚拟桌面的图像传输方法、装置、电子设备及存储介质,以改善上述问题。
根据本申请实施例的一个方面,提供了一种虚拟桌面的图像传输方法,所述方法包括:将虚拟桌面的绘图数据传输到目标物理图形处理器;所述目标物理图形处理器是为所述虚拟桌面所对应目标虚拟机分配的物理图形处理器;由所述目标物理图形处理器根据所述绘图数据进行渲染,得到所述虚拟桌面的桌面图像;获取所述虚拟桌面的桌面图像相对于所述虚拟桌面的上一桌面图像的差异区域画面;将所述差异区域画面和所述虚拟桌面的光标信息发送到客户端,以使所述客户端根据所述差异区域画面和所述虚拟桌面的光标信息显示所述虚拟桌面的桌面图像。
在一些实施例中,所述将所述差异区域画面和所述虚拟桌面的光标信息发送到客户端之前,所述方法还包括:将所述差异区域画面进行压缩编码;将所述光标信息进行编码;在本实施例中,所述将所述差异区域画面和所述虚拟桌面的光标信息发送到客户端,包括:将压缩编码后的差异区域画面和编码后的光标信息发送到客户端。
在一些实施例中,所述将所述差异区域画面进行压缩编码,包括:对所述差异区域画面进行画面分割,得到多个分块;对各所述分块进行类型识别,确定各所述分块所属的画面类别;按照画面类别与压缩方式之间的对应关系,按照所属的画面类别对应的压缩方式,对所对应的分块进行压缩编码。
在一些实施例中,所述对各所述分块进行类型识别,确定各所述分块所属的画面类别,包括:提取各所述分块的颜色种类数和各所述分块的颜色直方图;根据各所述分块的颜色种类数和各所述分块的颜色直方图,确定各所述分块所属的画面类别。
在一些实施例中,所述画面类别包括文本类别和自然图片类别。
在一些实施例中,所述获取所述虚拟桌面的桌面图像相对于所述虚拟桌面的上一桌面图像的差异区域画面之后,所述方法还包括:将所述差异区域画面和所述虚拟桌面的光标信息封装为二维画面指令;将所述二维画面指令暂存到指令环中;在本实施例中,所述将差异区域画面和所述虚拟桌面的光标信息发送到客户端之前,所述方法还包括:从所述指令环中获取所述二维画面指令。
在一些实施例中,所述获取所述虚拟桌面的桌面图像相对于所述虚拟桌面的上一桌面图像的差异区域画面,包括:调用屏幕接口,获得所述虚拟桌面的桌面图像;若根据所述虚拟桌面的桌面图像确定所述虚拟桌面相对于上一桌面图像发生变化,则触发调用桌面复制接口,所述桌面复制接口用于调用截屏接口;调用所述截屏接口,获得所述虚拟桌面的桌面图像相对于所述虚拟桌面的上一桌面图像的差异区域画面。
根据本申请实施例的一个方面,提供了一种虚拟桌面的图像传输装置,包括:传输模块,用于将虚拟桌面的绘图数据传输到目标物理图形处理器;所述目标物理图形处理器是为所述虚拟桌面所对应目标虚拟机分配的物理图形处理器;渲染模块,用于由所述目标物理图形处理器根据所述绘图数据进行渲染,得到所述虚拟桌面的桌面图像;获取模块,用于获取所述虚拟桌面的桌面图像相对于所述虚拟桌面的上一桌面图像的差异区域画面;发送模块,用于将所述差异区域画面和所述虚拟桌面的光标信息发送到客户端,以使所述E客户端根据所述所述差异区域画面和所述虚拟桌面的光标信息显示所述虚拟桌面的桌面图像。
在一些实施例中,虚拟桌面的图像传输装置,还包括:压缩编码模块,用于将所述差异区域画面进行压缩编码;编码模块,用于将所述光标信息进行编码;在本实施例中,发送模块进一步被配置为:将压缩编码后的差异区域画面和编码后的光标信息发送到客户端。
在一些实施例中,压缩编码模块,包括:分割单元,用于对所述差异区域画面进行画面分割,得到多个分块;类型识别单元,用于对各所述分块进行类型识别,确定各所述分块所属的画面类别;压缩编码单元,用于按照画面类别与压缩方式之间的对应关系,按照所属的画面类别对应的压缩方式,对所对应的分块进行压缩编码。
在一些实施例中,类型识别单元,包括:提取单元,用于提取各所述分块的颜色种类数和各所述分块的颜色直方图;画面类别确定单元,用于根据各所述分块的颜色种类数和各所述分块的颜色直方图,确定各所述分块所属的画面类别。
在一些实施例中,所述画面类别包括文本类别和自然图片类别。
在一些实施例中,虚拟桌面的图像传输装置,还包括:封装模块,用于将所述差异区域画面和所述虚拟桌面的光标信息封装为二维画面指令;暂存模块,用于将所述二维画面指令暂存到指令环中;获取模块,用于从所述指令环中获取所述二维画面指令。
在一些实施例中,获取模块,包括:第一调用单元,用于调用屏幕接口,获得所述虚拟桌面的桌面图像;第二调用单元,用于若根据所述虚拟桌面的桌面图像确定所述虚拟桌面相对于上一桌面图像发生变化,则触发调用桌面复制接口,所述桌面复制接口用于调用截屏接口;第三调用单元,用于调用所述截屏接口,获得所述虚拟桌面的桌面图像相对于所述虚拟桌面的上一桌面图像的差异区域画面。
根据本申请实施例的一个方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上所述虚拟桌面的图像传输方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上所述虚拟桌面的图像传输方法。
在本申请中,将虚拟桌面的绘图数据传输到目标物理图形处理器,由目标物理图形处理器进行渲染,并在之后截取虚拟桌面的差异区域画面,并将差异区域画面和光标信息发送到客户端,进而客户端可以根据差异区域画面和光标信息显示虚拟桌面的桌面图像,实现虚拟桌面的图像传输。
此外,在本申请的方案中,对虚拟机中的QXL驱动进行改动,使该QXL驱动不需要像在2D虚拟场景下一样进行渲染,而作为传输通道,在3D虚机场景下复用SPICE协议,来进行虚拟桌面的图像传输,在该种情况下不需要对SPICE客户端和SPICE服务端进行改动,从而,本申请的方案维护成本低,可以广泛应用于3D虚机场景。
而且,在本申请中,截取虚拟桌面的差异区域画面,在画面传输过程中,仅传输存在差异的画面区域(即差异区域画面),而不需要传输虚拟桌面的完整的桌面图像,从而,降低数据传输压力,减少图像传输所需的带宽,可以提高画面传输速率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请一实施例示出的可以适用于3D虚机场景下基于SPICE协议的虚拟桌面***的架构图。
图2是根据本申请的一个实施例示出的虚拟桌面的图像传输方法的流程图。
图3A示出了在2D虚机场景下虚拟机与显卡的交互示意图。
图3B示出了在3D虚拟场景下采用本方案的虚拟机与显卡的交互示意图。
图4是根据本申请一实施例示出的VDDisplay截屏服务进行截屏的流程图。
图5是根据本申请一实施例示出的虚拟机内截屏进程与SPICE服务端之间的交互示意图。
图6是根据本申请一实施例示出的由SPICE服务端将所述二维画面指令中的差异区域画面进行压缩编码的步骤的流程图。
图7是根据一实施例示出的虚拟桌面的图像传输装置的框图。
图8是根据本申请一实施例示出的电子设备的结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在进行具体说明之前,对本申请中涉及的术语进行如下解释:
VDI:Virtual Desktop Infrastructure,即虚拟桌面基础架构。它不是给每个用户都配置一台运行Windows***的桌面,而是通过在数据中心的服务器运行Windows***,将桌面进行虚拟化。用户通过来自终端设备(客户机或是家用电脑)的客户计算协议与虚拟桌面进行连接,用户访问虚拟桌面就像是访问传统的本地安装桌面一样。
SPICE:Simple Protocol for Independent Computing Environment,独立计算环境简单协议,是Redhat企业开发的基于KVM虚拟机的开源虚拟化桌面传输协议。
2D虚机(又称2D虚拟机):是指未利用物理图形处理器(Graphics ProcessingUnit,GPU,又称显卡),而使用的虚拟GPU,该虚拟GPU是通过CPU(Central ProcessingUnit,中央处理器)模拟的。在2D虚机中使虚拟GPU对画面完全进行渲染,虚拟GPU又称为虚拟显卡。
3D虚机(又称为3D虚拟机):采用物理图形处理器(又称物理显卡)虚拟化或者物理显卡透传,使得虚机里能够感知到物理显卡,对部分场景使用物理显卡渲染画面的虚机。
WDDM:Windows Display Driver Model,微软图形驱动程序模型,在Windows图形***中,WDDM在内核态提供软件框架支持GPU内核驱动的实现,并暴露标准的***调用接口供用户态驱动和应用程序调用完成图形/显示相关的功能。
SPICE协议广泛应用于在2D虚机场景下的虚拟桌面***中,随着对虚拟桌面的显示流畅性的要求的提高,提出了在虚拟机中增加物理显卡。但是,实际中发现,由于3D虚机增加了物理显卡,造成原先的虚拟显卡失效,导致SPICE显示协议完全失效。
相关技术中,为了在3D虚机场景下正常显示虚拟桌面,在虚机内采用与spice协议完全分离的其他显示协议,在虚机内通过虚机网络将编码后的画面传递到客户端,由客户端对编码数据进行解码。该种方式由于需要重新部署其他显示协议,导致部署和维护成本高。因此,如何在3D虚机场景下复用SPICE协议是相关技术中亟待解决的技术问题。
图1是根据本申请一实施例示出的可以适用于3D虚机场景下基于SPICE协议的虚拟桌面***的架构图。如图1所示,该虚拟桌面***包括客户端层110、主机层120和虚拟机层130。
在客户端层110部署SPICE客户端110。其中,SPICE客户端运行在终端设备上,为用户提供桌面环境,其负责接收并处理SPICE服务端发送的数据,以及发送数据给SPICE服务端。
在主机层120部署SPICE服务端(Spice Server)和QXL设备。其中,SPICE服务端(Spice Server)以动态链接库的形式存在于底层负责虚拟机共享的管理程序中,例如QEMU,并通过SPICE协议与SPICE客户端进行通信。
虚拟机层130用于提供虚拟桌面,虚拟机层130可以部署一个或者多个虚拟机,其中,各虚机上可以运行操作***,一个虚拟机可以与一个SPICE客户端110相关联,从而,当SPICE客户端110登录后,通过该SPICE客户端110所关联的虚拟机提供虚拟桌面服务。
具体的,如图1所示,虚拟机层130部署了截屏服务(VDDisplayService)该截屏服务用于对虚拟桌面进行截屏,获得虚拟桌面的截屏画面和虚拟桌面中光标的光标信息。之后,截屏画面(截屏画面可以是下文中的差异区域画面)和光标信息经改动后的QXL驱动传输到主机层的QXL设备,由QXL设备将截屏画面和光标信息传输到SPICE服务端。QXL设备负责为虚拟机提供虚拟显卡,包括初始化显卡的ROM、RAM等的地址映射、IO端口映射、显存区域更新、光标位置通知等显卡基本功能,同时QXL设备后端负责与SPICE服务端交互,从而实现在终端进行虚拟桌面的显示。
QXL设备上设有指令环,该指令环作为信息传递的中介,QXL驱动可以将截屏画面和光标信息暂存在指令环中,从而,SPICE服务端可以从指令环中获取截屏画面和光标信息。光标信息可以包括光标的位置信息、光标的形状信息和光标的隐藏状态信息,该隐藏状态信息用于指示光标是否被隐藏。
进一步的,在本申请中,在虚拟机层中设有物理显卡,以及图形内核***模块,该图形内核***模块可以是Windows***提供的Dxgkrnl.sys(即下文中的DXGK模块)。该图形内核***模块可以与物理显卡进行交互,当需要进行图形绘制时,通过该图形内核***模块调用物理显卡提供的图形接口,调用物理显卡进行图像渲染。
如图1所示,通过图形内核***模块调用物理显卡进行图像渲染,可以获得虚拟桌面的桌面图像和虚拟桌面上的光标信息,之后,基于所渲染的得到的桌面图像和光标信息,截屏服务可以启动进行屏幕截屏。
虚拟机层130中还设有代理(可以称为SPICE VDI Agent,或者VDI Agent),该代理是虚拟机层中的一个软件模块,在虚拟桌面***中,SPICE服务端和SPICE客户端使用代理在虚拟机内部执行一系列动作,例如设置虚拟机显示配置等。可以理解的是,在虚拟桌面***中,SPICE服务端、SPICE客户端和代理之间进行交互的消息格式均遵循SPICE协议。
图1所示的虚拟桌面***可以在2D虚机场景下基于SPICE协议的虚拟桌面***进行改进得到,从而实现在3D虚机场景下复用SPICE协议。首先,在2D虚机场景下基于SPICE协议的虚拟桌面***中的虚拟机层部署物理显卡,并对虚拟机层的QXL驱动进行改动,从而使改动后的QXL驱动不需要进行图像渲染,而是将绘图数据发送到物理显卡,由物理显卡进行图像渲染。通过该两点改动,可以使原本适用于2D虚机场景的SPICE协议复用到3D虚机场景,而且,不需要对虚拟桌面***中的SPICE服务端和SPICE客户端进行改动。
在具体实施例中,主机层120和虚拟机层130可以部署于提供虚拟桌面服务的服务器中,该服务器可以是物理服务器,也可以是云服务器,在此不进行具体限定。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图2是根据本申请的一个实施例示出的虚拟桌面的图像传输方法的流程图,该方法可以由具备处理能力的计算机设备执行,例如服务器等,其中,服务器可以是物理服务器,也可以是云服务器,在此不进行具体限定。参照图2所示,该方法至少包括步骤210至240,详细介绍如下:
步骤210,将虚拟桌面的绘图数据传输到目标物理图形处理器;目标物理图形处理器是为虚拟桌面所对应目标虚拟机分配的物理图形处理器。
在本申请中,在虚拟层中可以部署一个或者多个物理图形处理器,其中,虚拟层中的一个物理图形处理器可以被分配给一个虚拟机。在另一些实施例中,为了提高物理图形处理器的利用率,还可以将一个物理图形处理器虚拟化为多个虚拟图形处理器,从而,一个虚拟图形处理器可以被分配给一个虚拟机。可以理解的是,当虚拟图形处理器是将物理图形处理器进行虚拟化得到的情况下,虽然为虚拟机所分配的是虚拟图形处理器,但是,实际上执行渲染处理的仍然是物理图形处理器。目标虚拟机是指用户所连接虚拟桌面所对应的虚拟机。
当虚拟桌面应用的客户端(例如SPICE客户端)发起虚拟桌面登录请求后,服务端根据该虚拟桌面登录请求所携带的虚拟桌面标识,查找该虚拟桌面标识所对应的虚拟机,从而,建立客户端与虚拟机之间的通信连接,该虚拟机可以提供虚拟桌面供用户使用。
具体的,可以通过目标虚拟机中的操作***,将虚拟桌面的绘图数据传输到目标物理图形处理器。
步骤220,由目标物理图形处理器根据绘图数据进行渲染,得到虚拟桌面的桌面图像。
在2D虚拟机场景下,由于虚拟机层中未部署物理图形处理器,通过将CPU进行虚拟化得到虚拟图形处理器,在该种情况下,由虚拟机中的QXL驱动来进行桌面图像采集、渲染和传输。在本方案中,由于在虚拟机层部署了物理图像处理器,并将虚拟机层中的QXL驱动进行了改动,使该QXL驱动作为传输通道进行画面传输,由物理图形处理器来执行渲染。
图3A示出了在2D虚机场景下虚拟机与显卡的交互示意图。可以理解的是,在图3A中,显卡为通过CPU所模拟得到的虚拟显卡。在2D虚拟场景下,QXL驱动是WDDM DisplayOnly驱动,渲染是由虚机在***层面完成,在QXL驱动层面上,由DXGK模块调用QXL驱动注册的接口来实现各项功能,如显示的图片等。
图3B示出了在3D虚拟场景下采用本方案的虚拟机与显卡的交互示意图,可以理解的是,在图3B中,该显卡为物理显卡。在3D虚机中,QXL驱动不再当作一个显卡来用,而是作为传输通道,所以与WDDM有关的都已经不需要了,直接编写QXL驱动挂在上面,与QXL设备层面对接。
步骤230,获取虚拟桌面的桌面图像相对于虚拟桌面的上一桌面图像的差异区域画面。
在虚拟桌面场景下,虚拟机按照预设的帧率进行虚拟桌面渲染,每次渲染可对应获得虚拟桌面的一桌面图像,在本申请中,将相对于当前渲染得到的桌面图像,上一次渲染所得到虚拟桌面的桌面图像称为虚拟桌面的上一桌面图像。
差异区域画面是指虚拟桌面当前的桌面图像中,与虚拟桌面的上一桌面图像存在差异的画面区域。在一些实施例中,可以通过VDDisplay进程来采用windows截屏框架(即Desktop duplication API框架)进行屏幕截取,获得虚拟桌面的桌面图像相对于虚拟桌面的上一桌面图像的差异区域画面。
在一些实施例中,步骤230,包括:调用屏幕接口,获得虚拟桌面的桌面图像;若根据虚拟桌面的桌面图像确定虚拟桌面相对于上一桌面图像发生变化,则触发调用桌面复制接口,桌面复制接口用于调用截屏接口;调用截屏接口,获得虚拟桌面的桌面图像相对于虚拟桌面的上一桌面图像的差异区域画面。
其中,屏幕接口用于输出虚拟桌面的桌面图像。屏幕接口的每个输出代表一个屏幕。在具体实施例中,为了进行截屏,将截屏进程与当前的虚拟桌面相绑定,之后可以遍历物理图像处理器中屏幕接口的输出,获得虚拟桌面的桌面图像。
图4是根据本申请一实施例示出的VDDisplay截屏服务进行截屏的流程图。如图4所示,在调用Desktop duplication API之前,将截屏进程与当前的虚拟桌面相绑定,然后,调用IDXGIOutput接口,该IDXGIOutput接口即为屏幕接口;之后,若根据虚拟桌面的桌面图像确定虚拟桌面相对于上一桌面图像发生变化,则触发调用IDXGIOutput1接口,该IDXGIOutput1接口即为桌面复制接口,并对应调用IDXGIOutputDuplication接口,该IDXGIOutputDuplication接口即为截屏接口,通过该截屏接口输出虚拟桌面的桌面图像相对于虚拟桌面的上一桌面图像的差异区域画面。
在本实施例中,在确定述虚拟桌面相对于上一桌面图像发生变化时,才触发调用桌面复制接口,进而激活截屏,反之,如果虚拟桌面相对于上一桌面图像未发生变化,则该桌面复制接口处于等待状态,从而可以减少性能浪费。
在一些实施例中,截屏接口除了输出差异区域画面外,还输出虚拟桌面的光标信息,例如上述的IDXGIOutputDuplication接口可以输出差异区域画面和光标信息。该光标信息包括光标的位置信息、光标的形状信息和光标的隐藏状态信息,该隐藏状态信息用于指示光标是否被隐藏。
步骤240,将差异区域画面和虚拟桌面的光标信息发送到客户端,以使客户端根据差异区域画面和虚拟桌面的光标信息显示虚拟桌面的桌面图像。
在SPICE协议下,可以通过指令环(即QXL指令环)来进行信息中转。在该种场景下,步骤230之后,该方法还包括:将差异区域画面和虚拟桌面的光标信息封装为二维画面指令;将二维画面指令暂存到指令环中;在本实例中,步骤250之前,该方法还包括:从指令环中获取二维画面指令;进而,可以二维画面指令中获取到差异区域画面和虚拟桌面的光标信息,并将差异区域画面和虚拟桌面的光标信息发送到客户端。
具体的,可以通过QXL驱动将差异区域画面和虚拟桌面的光标信息封装为二维画面指令,并将二维画面指令暂存到QXL指令环中。在将二维画面指令发送到客户端后,该客户端可以根据差异区域画面和光标信息显示虚拟桌面的桌面图像。其中,可以是基于SPICE协议将差异区域画面和虚拟桌面的光标信息发送到客户端。
在本申请中,将虚拟桌面的绘图数据传输到目标物理图形处理器,由目标物理图形处理器进行渲染,并在之后截取虚拟桌面的差异区域画面,并将差异区域画面和光标信息发送到客户端,进而客户端可以根据差异区域画面和光标信息显示虚拟桌面的桌面图像,实现虚拟桌面的图像传输。从而,实现了在3D虚机场景下复用SPICE协议,来进行虚拟桌面的图像传输。
此外,在本申请的方案中,对虚拟机中的QXL驱动进行改动,使该QXL驱动不需要像在2D虚拟场景下一样进行渲染,而作为传输通道,在3D虚机场景下复用SPICE协议,来进行虚拟桌面的图像传输。在该种情况下,也不需要对SPICE客户端和SPICE服务端进行改动,从而,本申请的方案维护成本低,可以广泛应用于3D虚机场景。本方案通过在虚机层面的改动(即改动QXL驱动),可以实现win10 3D虚机与SPICE协议无缝对接。
而且,在本申请中,截取虚拟桌面的差异区域画面,在画面传输过程中,仅传输存在差异的画面区域(即差异区域画面)即可,而不需要传输虚拟桌面的完整的桌面图像,从而,降低数据传输压力,可以提高画面传输速率。
图5是根据本申请一实施例示出的虚拟机内截屏进程与SPICE服务端之间的交互示意图。如图5所示,在截屏进程进行截屏接口的输出发送到QXL驱动中,由QXL驱动将差异区域画面和光标信息封装为二维画面指令,其中,该二维画面指令为QXL指令,其与在2D虚拟场景下的QXL指令一致。之后,将二维画面指令暂存到共享的QXL指令环中,之后,SPICE服务端可以从QXL指令环中获取二维画面指令。
在一些实施例中,在步骤240之前,该方法还包括:将差异区域画面进行压缩编码;将光标信息进行编码;在本实施例中,步骤240包括:将压缩编码后的差异区域画面和编码后的光标信息发送到客户端。
在SPICE协议下,在SPICE服务端从指令环中获取到待发送的二维画面指令后,从二维画面指令中获取差异区域画面和光标信息,进而,可以由SPICE服务端对差异区域画面进行压缩编码,并对光标信息进行编码。
在按照SPICE协议将压缩编码后的差异区域画面和编码后的光标信息发送到SPICE客户端后,SPICE客户端对应按照SPICE协议进行指令解码和渲染,并对应显示虚拟桌面的桌面图像。
在一些实施例中,如图6所示,将差异区域画面进行压缩编码的步骤,包括:
步骤610,对差异区域画面进行画面分割,得到多个分块。
在一些实施例中,可以预先设定分块尺寸,在步骤610中,按照所设定的分块尺寸来进行分割,例如,将差异区域画面分割成16×16大小的非重叠分块。分块尺寸可以根据实际需要设定,在此不进行具体限定。
步骤620,对各分块进行类型识别,确定各分块所属的画面类别。
在一些实施例中,画面类别包括文本类别和自然图片类别。其中,画面类别为文本类型的分块,所呈现的内容可以为文字或者表格等。画面类别为自然图片类型的分块,所呈现的内容可以为色彩丰富的图像(例如风景图、人物图、视频画面等)。
在一些实施例中,可以对每一分块进行图像特征提取,并根据所提取的图像特征来进行类型识别,确定每一分块所属的画面类型。其中,图像特征可以是颜色直方图、颜色种类数量等。其中,所提取的图像特征可以是颜色特征、纹理特征、颜色直方图、图像语义特征等,在此不进行具体限定。
在一些实施例中,步骤620,包括:提取各分块的颜色种类数和各分块的颜色直方图;根据各分块的颜色种类数和各分块的颜色直方图,确定各分块所属的画面类别。
通常的,文本类别的分块的色彩简单,纹理变化剧烈,而自然图片类别的分块的色彩丰富,纹理变化比较平缓。而且,文本类别的分块的颜色直方图分布为离散态,而自然图片类别的分块的颜色直方图分布为连续态。其中,颜色直方图所描述的是不同色彩在整个分块中所占的比例,而并不关心每种色彩所处的空间位置。
鉴于此,可以根据颜色特征、和颜色直方图分布特征来对分块进行类型识别,确定每一分块所属的画面类别。
在一些实施例中,可以先分别设定两种画面类别中,每种画面类别对应的颜色种类数范围和颜色直方图参数范围,从而,在确定分块的颜色直方图后,可以对应计算该分块对应的颜色直方图参数,进而,确定分块的颜色种类数所属的颜色种类数范围和该分块对应的颜色直方图参数所属的颜色直方图参数范围,来确定该分块所属的画面类别。
在具体实施例中,颜色直方图参数可以是直方图平均值(即分块中全部色彩所对应比例的均值)、直方图最大值、直方图最小值、直方图方差、直方图指定分位数等中的一种或者多种,在此不进行具体限定。
在一些实施例中,还可以通过基于神经网络构建的类型识别模型来确定分块所属的画面类别。具体的,将分块输入到类型识别模型中,由该类型识别模型来对提取分块的图像特征,并根据图像特征进行预测,输出该分块所属的画面类别。该类型识别模型可以是通过卷积神经网络、全连接神经网络、前馈神经网络、全连接神经网络等构建的,在此不进行具体限定。
可以理解的是,为了保证类型识别模型针对分块所输出画面类别的准确性,需要预先通过多个训练样本对类型识别模型进行训练。其中,训练样本包括作为样本的样本分块和样本分块对应的标签信息,该标签信息用于指示样本分块所属的实际画面类别。之后,将样本分块输入到类型识别模型中,由类型识别模型针对样本分块进行图像特征提取,并基于所提取的图像特征输出该样本分块对应的预测画面类别,如果所输出样本分块对应的预测画面类别与该样本分块所属的实际画面类别不相同,则反向调整类型识别模型的参数,并通过调整参数后的类型识别模型重新预测样本对应的预测画面类别。当达到训练结束条件时,可以结束该类型识别模型的训练。通过如上的训练过程,可以使该类型识别模型学习到准确预测分块所属画面类别的能力,从而,保证该类型识别模型为分块所预测到画面类别的准确性。
步骤630,按照画面类别与压缩方式之间的对应关系,按照所属的画面类别对应的压缩方式,对所对应的分块进行压缩编码。
在一些实施例中,文本类别对应的压缩编码方式可以是无损压缩编码方式,无损压缩编码方式例如QUIC、GLZ和LZ等,自然图片类别对应的压缩编码方式可以是有损压缩编码方式,有损压缩编码方式例如LZ、H.264压缩编码方式。
在本实施例中,按照分块所属的画面类别对应的压缩编码方式对分块进行压缩编码,对于色彩丰富的自然图片类别的分块采用有损压缩编码方式,对于色彩单一的文本类别的分块采用无损压缩编码方式,从而,可以避免对于文本类别的分块采用无损压缩编码方式导致画面失真、变色的问题;对于色彩丰富的自然图片类别的分块,采用有损压缩编码方式,即使在有损压缩编码过程中丢失了分块中的部分颜色,但是人眼不能感知到,因此,在降低数据传输量的基础上,可以保证在SPICE服务端中的虚拟桌面的显示效果。
而且,在本申请中,在3D虚机场景下复用SPICE协议,可以保证虚拟桌面的开机画面的显示。在SPICE协议下的虚拟桌面***中,虚机和SPICE服务端独立运行,在虚机并未启动时,可以基于SPICE协议在SPICE服务端模拟一个硬件,以此呈现虚拟桌面的开机画面。由此可以解决现有技术中,在3D虚机场景下采用SPICE协议外的其他协议所造成无法显示虚拟桌面的开机画面的问题。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的方法。对于本申请装置实施例中未披露的细节,请参照本申请上述方法实施例。
图7是根据一实施例示出的虚拟桌面的图像传输装置的框图,如图7所示,该虚拟桌面的图像传输装置包括:传输模块710,用于通过目标虚拟机中的QXL驱动将虚拟桌面的绘图数据传输到目标物理图形处理器;目标物理图形处理器是为虚拟桌面所对应目标虚拟机分配的物理图形处理器;渲染模块720,用于由目标物理图形处理器根据绘图数据进行渲染,得到虚拟桌面的桌面图像;获取模块730,用于获取虚拟桌面的桌面图像相对于虚拟桌面的上一桌面图像的差异区域画面;发送模块740,用于将差异区域画面和虚拟桌面的光标信息发送到SPICE客户端,以使客户端根据差异区域画面和虚拟桌面的光标信息显示虚拟桌面的桌面图像。
在一些实施例中,虚拟桌面的图像传输装置,还包括:压缩编码模块,用于将差异区域画面进行压缩编码;
编码模块,用于将光标信息进行编码;在本实施例中,发送模块740进一步被配置为:将压缩编码后的差异区域画面和编码后的光标信息发送到客户端。
在一些实施例中,压缩编码模块,包括:分割单元,用于对差异区域画面进行画面分割,得到多个分块;类型识别单元,用于对各分块进行类型识别,确定各分块所属的画面类别;压缩编码单元,用于按照画面类别与压缩方式之间的对应关系,按照所属的画面类别对应的压缩方式,对所对应的分块进行压缩编码。
在一些实施例中,类型识别单元,包括:提取单元,用于提取各分块的颜色种类数和各分块的颜色直方图;画面类别确定单元,用于根据各分块的颜色种类数和各分块的颜色直方图,确定各分块所属的画面类别。
在一些实施例中,画面类别包括文本类别和自然图片类别。
在一些实施例中,虚拟桌面的图像传输装置,还包括:封装模块,用于将差异区域画面和虚拟桌面的光标信息封装为二维画面指令;暂存模块,用于将二维画面指令暂存到指令环中;二维画面指令获取模块,用于从指令环中获取二维画面指令。
在一些实施例中,获取模块730,包括:第一调用单元,用于调用屏幕接口,获得虚拟桌面的桌面图像;第二调用单元,用于若根据虚拟桌面的桌面图像确定虚拟桌面相对于上一桌面图像发生变化,则触发调用桌面复制接口,桌面复制接口用于调用截屏接口;第三调用单元,用于调用截屏接口,获得虚拟桌面的桌面图像相对于虚拟桌面的上一桌面图像的差异区域画面。
图8是根据本申请一实施例示出的电子设备的结构框图。该电子设备可以是物理服务器、云服务器等,在此不进行具体限定。如图8所示,本申请中的电子设备可以包括:处理器810和存储器820,存储器820上存储有计算机可读指令,计算机可读指令被处理器810执行时,实现上述任一方法实施例中的方法。
处理器810可以包括一个或者多个处理核。处理器810利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器820内的指令、程序、代码集或指令集,以及调用存储在存储器820内的数据,执行电子设备的各种功能和处理数据。可选地,处理器810可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器810可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器810中,单独通过一块通信芯片进行实现。
存储器820可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器820可用于存储指令、程序、代码、代码集或指令集。存储器820可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于实现至少一个功能的指令(比如触控功能、报警功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备在使用中所创建的数据(比如伪装的响应命令、获取的进程状态)等。
本申请还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当计算机可读指令被处理器执行时,实现上述任一方法实施例中的方法。
计算机可读存储介质可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质具有执行上述方法中的任何方法步骤的计算机可读指令的存储空间。这些计算机可读指令可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。计算机可读指令可以例如以适当形式进行压缩。
根据本申请实施例的一个方面,提供了计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一实施例中的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种虚拟桌面的图像传输方法,其特征在于,所述方法包括:
通过3D虚拟机中的QXL驱动将虚拟桌面的绘图数据传输到目标物理图形处理器;所述目标物理图形处理器是为所述虚拟桌面所对应目标虚拟机分配的物理图形处理器;
由所述目标物理图形处理器根据所述绘图数据进行渲染,得到所述虚拟桌面的桌面图像;
获取所述虚拟桌面的桌面图像相对于所述虚拟桌面的上一桌面图像的差异区域画面;
通过3D虚拟机中的QXL驱动按照SPICE显示协议将所述差异区域画面和所述虚拟桌面的光标信息发送到客户端,以使所述客户端根据所述所述差异区域画面和所述虚拟桌面的光标信息显示所述虚拟桌面的桌面图像,所述QXL驱动不用于数据渲染。
2.根据权利要求1所述的方法,其特征在于,所述将所述差异区域画面和所述虚拟桌面的光标信息发送到客户端之前,所述方法还包括:
将所述差异区域画面进行压缩编码;
将所述光标信息进行编码;
所述将所述差异区域画面和所述虚拟桌面的光标信息发送到客户端,包括:
将压缩编码后的差异区域画面和编码后的光标信息发送到客户端。
3.根据权利要求2所述的方法,其特征在于,所述将所述差异区域画面进行压缩编码,包括:
对所述差异区域画面进行画面分割,得到多个分块;
对各所述分块进行类型识别,确定各所述分块所属的画面类别;
按照画面类别与压缩方式之间的对应关系,按照所属的画面类别对应的压缩方式,对所对应的分块进行压缩编码。
4.根据权利要求3所述的方法,其特征在于,所述对各所述分块进行类型识别,确定各所述分块所属的画面类别,包括:
提取各所述分块的颜色种类数和各所述分块的颜色直方图;
根据各所述分块的颜色种类数和各所述分块的颜色直方图,确定各所述分块所属的画面类别。
5.根据权利要求4所述的方法,其特征在于,所述画面类别包括文本类别和自然图片类别。
6.根据权利要求1所述的方法,其特征在于,所述获取所述虚拟桌面的桌面图像相对于所述虚拟桌面的上一桌面图像的差异区域画面之后,所述方法还包括:
将所述差异区域画面和所述虚拟桌面的光标信息封装为二维画面指令;
将所述二维画面指令暂存到指令环中;
所述将所述差异区域画面和所述虚拟桌面的光标信息发送到客户端之前,所述方法还包括:
从所述指令环中获取所述二维画面指令。
7.根据权利要求1所述的方法,其特征在于,所述获取所述虚拟桌面的桌面图像相对于所述虚拟桌面的上一桌面图像的差异区域画面,包括:
调用屏幕接口,获得所述虚拟桌面的桌面图像;
若根据所述虚拟桌面的桌面图像确定所述虚拟桌面相对于上一桌面图像发生变化,则触发调用桌面复制接口,所述桌面复制接口用于调用截屏接口;
调用所述截屏接口,获得所述虚拟桌面的桌面图像相对于所述虚拟桌面的上一桌面图像的差异区域画面。
8.一种虚拟桌面的图像传输装置,其特征在于,包括:
传输模块,用于通过3D虚拟机中的QXL驱动将虚拟桌面的绘图数据传输到目标物理图形处理器;所述目标物理图形处理器是为所述虚拟桌面所对应目标虚拟机分配的物理图形处理器;
渲染模块,用于由所述目标物理图形处理器根据所述绘图数据进行渲染,得到所述虚拟桌面的桌面图像;
获取模块,用于获取所述虚拟桌面的桌面图像相对于所述虚拟桌面的上一桌面图像的差异区域画面;
发送模块,用于通过3D虚拟机中的QXL驱动按照SPICE显示协议将所述差异区域画面和所述虚拟桌面的光标信息发送到客户端,以使所述客户端根据所述差异区域画面和所述虚拟桌面的光标信息显示所述虚拟桌面的桌面图像,所述QXL驱动不用于数据渲染。
9.一种电子设备,其特征在于,包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210128490.8A CN114675914B (zh) | 2022-02-11 | 2022-02-11 | 虚拟桌面的图像传输方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210128490.8A CN114675914B (zh) | 2022-02-11 | 2022-02-11 | 虚拟桌面的图像传输方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114675914A CN114675914A (zh) | 2022-06-28 |
CN114675914B true CN114675914B (zh) | 2024-04-09 |
Family
ID=82071912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210128490.8A Active CN114675914B (zh) | 2022-02-11 | 2022-02-11 | 虚拟桌面的图像传输方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114675914B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116208623B (zh) * | 2023-05-04 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 信息同步方法、装置、引擎服务器及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886623A (zh) * | 2012-12-19 | 2014-06-25 | 华为技术有限公司 | 一种图像压缩方法、设备及*** |
CN109343922A (zh) * | 2018-09-17 | 2019-02-15 | 广东微云科技股份有限公司 | 一种gpu虚拟化画面显示的方法及装置 |
CN110647375A (zh) * | 2019-09-23 | 2020-01-03 | 天津卓朗科技发展有限公司 | 云桌面的图像渲染方法、装置和云服务器 |
CN110740352A (zh) * | 2019-11-14 | 2020-01-31 | 北京京航计算通讯研究所 | 显卡透传环境下基于spice协议的差异图像显示方法 |
CN111190675A (zh) * | 2019-12-26 | 2020-05-22 | 山东乾云启创信息科技股份有限公司 | 基于鲲鹏处理器的三维图像传输方法及设备 |
CN113672318A (zh) * | 2020-05-14 | 2021-11-19 | 北京金山云网络技术有限公司 | 虚拟机的桌面图像数据的传输方法和装置及电子设备 |
CN113825347A (zh) * | 2021-09-17 | 2021-12-21 | 武汉兴和云网科技股份有限公司 | 基于spice开源协议的高性能计算桌面云***及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11150920B2 (en) * | 2018-05-25 | 2021-10-19 | Vmware, Inc. | 3D API redirection for virtual desktop infrastructure |
-
2022
- 2022-02-11 CN CN202210128490.8A patent/CN114675914B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886623A (zh) * | 2012-12-19 | 2014-06-25 | 华为技术有限公司 | 一种图像压缩方法、设备及*** |
CN109343922A (zh) * | 2018-09-17 | 2019-02-15 | 广东微云科技股份有限公司 | 一种gpu虚拟化画面显示的方法及装置 |
CN110647375A (zh) * | 2019-09-23 | 2020-01-03 | 天津卓朗科技发展有限公司 | 云桌面的图像渲染方法、装置和云服务器 |
CN110740352A (zh) * | 2019-11-14 | 2020-01-31 | 北京京航计算通讯研究所 | 显卡透传环境下基于spice协议的差异图像显示方法 |
CN111190675A (zh) * | 2019-12-26 | 2020-05-22 | 山东乾云启创信息科技股份有限公司 | 基于鲲鹏处理器的三维图像传输方法及设备 |
CN113672318A (zh) * | 2020-05-14 | 2021-11-19 | 北京金山云网络技术有限公司 | 虚拟机的桌面图像数据的传输方法和装置及电子设备 |
CN113825347A (zh) * | 2021-09-17 | 2021-12-21 | 武汉兴和云网科技股份有限公司 | 基于spice开源协议的高性能计算桌面云***及设备 |
Non-Patent Citations (1)
Title |
---|
基于SPICE协议的桌面虚拟化技术研究与改进方案;徐浩;《计算机工程与科学》;20200615;第35卷(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114675914A (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10354430B2 (en) | Image update method, system, and apparatus | |
US10732968B2 (en) | Method, apparatus and system for generating augmented reality module and storage medium | |
US20170323418A1 (en) | Virtualized gpu in a virtual machine environment | |
US8463980B2 (en) | Shared memory between child and parent partitions | |
WO2019114185A1 (zh) | 一种app远程控制方法及相关设备 | |
CN111240631A (zh) | 基于AMD显卡虚拟化传输Linux虚拟机屏幕画面的方法及*** | |
CN104660687A (zh) | 虚拟桌面显示的实现方法和*** | |
CN111488196A (zh) | 渲染方法及装置、存储介质、处理器 | |
CN112905289A (zh) | 应用画面的显示方法、装置、终端、投屏***及介质 | |
CN113542757A (zh) | 云应用的图像传输方法、装置、服务器及存储介质 | |
CN115065684B (zh) | 数据处理方法、装置、设备以及介质 | |
CN108762934B (zh) | 远程图形传输***、方法及云服务器 | |
CN108234659B (zh) | 数据处理方法、装置及*** | |
CN115695857B (zh) | 云应用的视频编码方法及装置 | |
CN114675914B (zh) | 虚拟桌面的图像传输方法、装置、电子设备及存储介质 | |
US11872482B2 (en) | Distributed multi-terminal and multi-network supporting system for android online game | |
CN106797398A (zh) | 用于向客户端提供虚拟桌面服务的方法和*** | |
CN113240571A (zh) | 图像处理***、方法 | |
CN113254129B (zh) | 一种云桌面gpu直通虚拟化重定向管理***及方法 | |
CN116127420A (zh) | 水印的添加方法和装置、存储介质、电子装置 | |
CN113778593B (zh) | 云桌面控制方法、装置、电子设备、存储介质及程序产品 | |
CN111475255A (zh) | 图像处理方法、服务器及*** | |
CN114003225A (zh) | 窗口显示方法、装置、计算机设备和存储介质 | |
CN113094015A (zh) | 全息多屏显示实现方法、***、计算机设备和存储介质 | |
KR20170105317A (ko) | 하드웨어 기반의 gpu를 이용한 가상머신의 화면 전송 방법 및 이를 이용한 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |