CN104660687A - 虚拟桌面显示的实现方法和系统 - Google Patents
虚拟桌面显示的实现方法和系统 Download PDFInfo
- Publication number
- CN104660687A CN104660687A CN201510054113.4A CN201510054113A CN104660687A CN 104660687 A CN104660687 A CN 104660687A CN 201510054113 A CN201510054113 A CN 201510054113A CN 104660687 A CN104660687 A CN 104660687A
- Authority
- CN
- China
- Prior art keywords
- data
- screen data
- virtual desktop
- host
- screen
- 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.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种虚拟桌面显示的实现方法,通过虚拟机利用在宿主机中共享的图形处理器GPU,截取虚拟桌面上的屏幕数据,并对截取的屏幕数据进行编码;宿主机对编码的屏幕数据进行相应的分析处理;协议客户端对分析处理后的屏幕数据解码后进行显示。本发明还公开了一种虚拟桌面显示的实现系统。本发明对传统桌面传输协议进行加速,起到了提升虚拟机响应速度和节省网络带宽的双重目的。
Description
技术领域
本发明涉及通讯领域,尤其涉及虚拟桌面显示的实现方法和系统。
背景技术
虚拟桌面是云计算技术的一个典型应用。它能够为用户提供远程的计算机桌面服务,用户桌面机所需要的操作系统和应用软件运行在数据中心服务器,用户的操作行为采用桌面显示协议将操作系统桌面视图以图像的方式传送到用户终端设备上。
桌面传输协议是核心,桌面传输协议的好坏直接决定了终端用户的云桌面用户体验,用户体验一般由两个因素决定:虚拟桌面的响应速度和网络带宽占用情况,而响应速度和网络带宽占用,决定于虚拟桌面获取,编码,传输所采用的算法和网络协议。
目前主流的桌面传输协议有三类:
一类以VNC(Virtual Network Computing,虚拟网络计算机)为代表,虚拟机屏幕数据的获取和编码以软件方式实现,所有计算都由CPU完成。在虚拟化环境下,CPU是非常宝贵的计算资源,用CPU处理图像获取,比较与编码,计算量巨大,非常耗费CPU,势必造成虚拟机内部可用的计算资源降低,用户体验较慢,另外,为了节省CPU资源,虚拟桌面的图像编码一般采用较少CPU资源的算法,如BMP或JPEG,这两数据压缩比率较低,造成在网络上传输的数据量大,带宽占用高。
第二类以Citrix的ICA(Independent Computing Architecture,独立计算结构)协议为代表,虚拟桌面的编码和数据压缩部分或全部由硬件实现,这样就将CPU从图形编解码中解放出来,由于数据编码用硬件实现,可以选用数据压缩率高的编码算法,这样网络带宽占用率可以显著的降低。微软的RDP(Remote Display Protocol,远程显示协议)协议、增强实现RemoteFX、VMWare的PCOIP协议属于这种类型。
第三类介于以上两种之间,屏幕获取和编码由软件实现,但是对软件做了优化,采用了优秀的图像及视频获取启发算法,对虚拟桌面尽量在源头上传输变化的数据,这样就不用传输整幅图片,尽量节省网络传输带宽,另外多采用Cache机制,将桌面数据划成小块放入cache中,尽量不传输没有变化的数据,也可以在一定程度上降低对图形的处理。本质上这类协议还是用CPU解码,但从技术上尽量优化,这类协议以SPICE(Simple Protocol for IndependentComputing Environment,简单协议独立计算环境)为代表。
从效果上来看,第二类效果最好,特别是ICA协议,虚拟机图形和视频应用,效果都不错。第三类次之,第一类效果最差。但第二类协议的核心技术基本上被各大虚拟化厂商所垄断,外界无从知道其实现细节。因此,传统桌面传输协议中存在的虚拟桌面数据传输响应速度慢以及网络带宽占用高,是一个亟待解决的问题。
发明内容
本发明的主要目的在于提供一种虚拟桌面显示的实现方法和系统,旨在解决传统桌面传输协议中存在的虚拟桌面数据传输响应速度慢以及网络带宽占用高的问题。
为实现上述目的,本发明提供一种虚拟桌面显示的实现方法,所述虚拟桌面显示方法包括步骤:
虚拟机利用在宿主机中共享的图形处理器GPU,截取虚拟桌面上的屏幕数据,并对截取的屏幕数据进行编码;
宿主机对编码的屏幕数据进行相应的分析处理;
协议客户端对分析处理后的屏幕数据解码后进行显示。
优选地,所述虚拟机利用在宿主机中共享的GPU,截取虚拟桌面上的屏幕数据,并对截取的屏幕数据进行编码的步骤包括:
按照设定的频率定时截取虚拟桌面上的屏幕数据;
判断当前帧的屏幕数据与上一帧的屏幕数据是否发生变化,若有变化,则传输当前帧的屏幕数据中变化的增量数据;若无变化,则只传输当前帧的屏幕数据中的更新消息;
将判断后的待传输的屏幕数据编码成H264格式;
设置外设部件MEMPCI驱动模式,将编码后的屏幕数据通过MEMPCI驱动的读写接口发送给宿主机。
优选地,所述宿主机对编码的屏幕数据进行相应的分析处理的步骤包括:
MEMPCI设备接收从虚拟机发送过来的编码后的屏幕数据,并将接收的屏幕数据保存至缓存中;
协议服务器读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端。
优选地,所述宿主机的协议服务器读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端的步骤包括:
设置虚拟桌面数据队列和当前数据缓冲区;
对读取的屏幕数据进行运算;
将运算后的屏幕数据加入虚拟桌面数据队列并更新到当前数据缓冲区中;
对运算后的屏幕数据添加帧索引和时间戳,并打包发送给协议客户端。
优选地,所述屏幕数据包括原始数据和增量数据,所述对读取的屏幕数据进行运算的步骤包括:
判断读获的屏幕数据的类型;
若是原始数据,则按FIFO方式加入虚拟桌面数据队列中;若是增量数据,则根据增量数据的当前帧数据和上一帧数据,通过运算后还原成一帧数据。
为了解决上述的技术问题,本发明进一步提供一种虚拟桌面显示的实现系统,包括虚拟机、宿主机和协议客户端,其中,
所述虚拟机,用于利用在宿主机中共享的GPU,截取虚拟桌面上的屏幕数据,并对截取的屏幕数据进行编码;
所述宿主机,用于对编码的屏幕数据进行相应的分析处理;
所述协议客户端,用于对分析处理后的屏幕数据解码后进行显示。
优选地,所述虚拟机包括:
截取模块,用于按照设定的频率定时截取虚拟桌面上的屏幕数据;
判断模块,用于判断当前帧的屏幕数据与上一帧的屏幕数据是否发生变化,若有变化,则传输当前帧的屏幕数据中变化的增量数据;若无变化,则只传输当前帧的屏幕数据中的更新消息;
编码模块,用于将判断后的待传输的屏幕数据编码成H264格式;
传输模块,用于设置MEMPCI驱动模式,将编码后的屏幕数据通过MEMPCI驱动的读写接口发送给所述宿主机。
优选地,所述宿主机还包括MEMPCI设备和协议服务器,
所述MEMPCI设备,用于接收从虚拟机发送过来的编码后的屏幕数据,并将接收的屏幕数据保存至缓存中;
所述协议服务器,用于读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端。
优选地,所述协议服务器包括:
设置模块,用于设置虚拟桌面数据队列和当前数据缓冲区;
运算模块,用于对读取的屏幕数据进行运算;
加入模块,用于将运算后的屏幕数据加入虚拟桌面数据队列并更新到当前数据缓冲区中;
发送模块,用于对运算后的屏幕数据添加帧索引和时间戳,并打包发送给协议客户端。
优选地,所述运算模块包括:
判断单元,用于判断读获的屏幕数据的类型;
执行单元,用于若是原始数据,则按FIFO方式加入虚拟桌面数据队列中;若是增量数据,则根据增量数据的当前帧数据和上一帧数据,通过运算后还原成一帧数据。
本发明提供的虚拟桌面显示的实现方法,通过虚拟机利用在宿主机中共享的图形处理器GPU,截取虚拟桌面上的屏幕数据,并对截取的屏幕数据进行编码;宿主机对编码的屏幕数据进行相应的分析处理;协议客户端对分析处理后的屏幕数据解码后进行显示。本发明可在开源桌面云协议如SPICE或VNC上实现,作为开源桌面云协议的一个增强组件,对传统桌面传输协议进行加速,起到了提升虚拟机响应速度和节省网络带宽的双重目的。
附图说明
图1为本发明虚拟桌面显示的实现方法一实施例的流程示意图;
图2为图1中所述虚拟机利用在宿主机中共享的GPU,截取虚拟桌面上的屏幕数据,并对截取的屏幕数据进行编码的步骤的细化流程示意图;
图3为图1中所述宿主机对编码的屏幕数据进行相应的分析处理的步骤的细化流程示意图;
图4为图3中所述宿主机的协议服务器读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端的步骤的细化流程示意图;
图5为图4中所述对读取的屏幕数据进行运算的步骤的细化流程示意图;
图6为本发明虚拟桌面显示的实现系统一实施例的功能模块示意图;
图7为图6中所述虚拟机的功能模块示意图;
图8为图6中所述协议服务器的功能模块示意图;
图9为图8中所述运算模块的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种虚拟桌面显示的实现方法,参照图1,图1为本发明虚拟桌面显示的实现方法一实施例的流程示意图,在一实施例中,所述虚拟桌面显示方法包括步骤:
步骤S100、虚拟机利用在宿主机中共享的GPU,截取虚拟桌面上的屏幕数据,并对截取的屏幕数据进行编码。
在主机BIOS中配置CPU虚拟化支持和DirectIO支持,并安装好显卡。将显卡ID号添加到虚拟机配置Libvirt文件中,启动虚拟机,并为虚拟机安装驱动程序,重启虚拟机,显卡驱动生效。在宿主机BIOS中设置显卡的GPU共享模式,并调整虚拟机启动参数,使虚拟机可以使用宿主机的GPU资源,在虚拟机内部实现虚拟机桌面截屏程序,该程序截图和编码完全利用GPU完成,CPU不参与截图和编码具体工作。虚拟机的桌面截屏程序以操作系统服务程序的形式存在,随虚拟机的启动而启动,虚拟机的关闭而结束。虚拟机的桌面截屏程序利用在宿主机中共享的GPU,截取虚拟桌面上的屏幕数据,所述的定时截屏服务程序,包括以一定的频率,一般为30ms,定时截取虚拟机桌面,所述截取的屏幕数据包括屏幕宽度和高度消息、读写状态值、虚拟桌面数据类型和桌面数据。其中,数据类型包括原始数据和增量数据。利用GPU强大的硬件截屏与编码能力,将桌面图像编码为H264格式。
步骤S200、宿主机对编码的屏幕数据进行相应的分析处理。
宿主机中的MEMPCI设备接收从虚拟机发送过来的编码后的屏幕数据,并将接收的屏幕数据保存至缓存中;协议服务器读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端。
步骤S300、协议客户端对分析处理后的屏幕数据解码后进行显示。
协议客户端接收宿主机发送过来的处理后的屏幕数据,在终端显示设备上进行显示。由于在虚拟机里截取的屏幕数据被编码成H264格式,协议客户端需要将屏幕数据先解码。协议客户端将屏幕数据解码为YUV格式,其中,解码的方式可以用硬件实现,也可以用软件实现。在本实施例中,协议客户端进一步将YUV格式转换成显示库能够识别的格式,例如bitmap格式,并将转换后格式显示在终端设备上,对于有些显示输出库函数,可以直接显示H264格式图像,则转码不是必须的,可以直接解码后即可显示输出。
本实施例提供的虚拟桌面显示的实现方法,可在开源桌面云协议如SPICE或VNC上实现,作为该协议的一个增强组件,对传统桌面传输协议进行加速,从而起到了提升虚拟机响应速度和节省网络带宽的双重目的。
如图2所示,图2为图1中所述步骤S100的细化流程示意图,在本实施例中,所述步骤S100包括:
步骤S110、按照设定的频率定时截取虚拟桌面上的屏幕数据。
虚拟机的桌面截屏程序利用在宿主机中共享的GPU,截取虚拟桌面上的屏幕数据,所述的定时截屏服务程序,包括以一定的频率,一般为30ms,定时截取虚拟机桌面,所述截取的屏幕数据包括屏幕宽度和高度消息、读写状态值、虚拟桌面数据类型和桌面数据。
步骤S120、判断当前帧的屏幕数据与上一帧的屏幕数据是否发生变化,若有变化,则传输当前帧的屏幕数据中变化的增量数据;若无变化,则只传输当前帧的屏幕数据中的更新消息。
虚拟机判断当前帧的屏幕数据与上一帧的屏幕数据是否发生变化,若有变化,则传输当前帧的屏幕数据中变化的增量数据;若无变化,则只传输当前帧的屏幕数据中的更新消息。虚拟机尽量不传输没有变化的数据,在一定程度上降低对屏幕数据的处理。
步骤S130、将判断后的待传输的屏幕数据编码成H264格式。
虚拟机截取的屏幕数据被编码成H264格式进行保存,H264格式较传统桌面传输协议如VNC协议中所使用的bitmap或JPG格式,具有数据压缩量高的优点,如果承载相同图像质量的屏幕数据,则以H264格式进行传输时,数据量少,网络带宽占用低。
步骤S140、设置外设部件MEMPCI驱动模式,将编码后的屏幕数据通过MEMPCI驱动的读写接口发送给宿主机。
虚拟机设置外设部件MEMPCI驱动模式,所述虚拟机里面MEMPCI设备驱动,即实现了数据缓冲区在虚拟机内核态的读写,内核态对CPU调用优先级比应用态更高,保证桌面数据传输更及时。之所以将虚拟机与宿主机设置成MEMPCI驱动的模式,是因为屏幕数据的数据量非常大,而采用PCI驱动的方式理论上传输速率为PCI总线的传输速率。第二个好处是实现在QEMU底层完成,处理优先级高,受应用程序干扰少。与RemoteFX相比,即使虚拟机没有网络,也可以传输桌面图像。
本实施例提供的虚拟桌面显示的实现方法,按照设定的频率定时截取虚拟桌面上的屏幕数据;判断当前帧的屏幕数据与上一帧的屏幕数据是否发生变化,若有变化,则传输当前帧的屏幕数据中变化的增量数据;若无变化,则只传输当前帧的屏幕数据中的更新消息;将判断后的待传输的屏幕数据编码成H264格式;设置外设部件MEMPCI驱动模式,将编码后的屏幕数据通过MEMPCI驱动的读写接口发送给宿主机。本实施例尽量不传输没有变化的数据,在一定程度上降低对屏幕数据的处理。以H264格式传输,数据量少,网络带宽占用低。将虚拟机与宿主机设置成MEMPCI驱动的模式,传输速率快,处理优先级高,受应用程序干扰少。
如图3所示,图3为图1中所述步骤S200的细化流程示意图,在本实施例中,所述步骤S200包括:
步骤S210、MEMPCI设备接收从虚拟机发送过来的编码后的屏幕数据,并将接收的屏幕数据保存至缓存中。
虚拟机内截屏数据与主机数据交换,采用QEMU模拟PCI设备的方式,从而实现MEMPCI设备驱动,虚拟机启动时,将MEMPCI设备添加到虚拟机中,所述MEMPCI设备是QEMU模拟的一个PCI设备,用于虚拟机的屏幕数据与宿主机里面的数据实时进行交互,在宿主机里面运行桌面协议处理程序,将虚拟机桌面数据按相应的协议打包,以设定的协议格式与终端交互,将虚拟机截取的屏幕数据在终端上呈现出来。宿主机的MEMPCI设备接收从虚拟机发送过来的编码后的屏幕数据,并将接收的屏幕数据保存至缓存中。
步骤S220、协议服务器读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端。
协议服务器读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端。所述虚拟机与宿主机之间的屏幕数据通过MEMPCI设备传输,是通过互斥锁机制保障的,对共享数据区数据的读写,虚拟机将截取的屏幕数据写入到该缓冲区,写完毕打开读锁,Host驱动读取数据完毕打开写锁,客户端就可以往设备缓冲区写入数据,实现数据的同步。
本实施例提供的虚拟桌面显示的实现方法,MEMPCI设备接收从虚拟机发送过来的编码后的屏幕数据,并将接收的屏幕数据保存至缓存中;协议服务器读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端。所述虚拟机与宿主机之间的屏幕数据通过MEMPCI设备传输,是通过互斥锁机制保障的,对共享数据区数据的读写,虚拟机将截取的屏幕数据写入到该缓冲区,写完毕打开读锁,Host驱动读取数据完毕打开写锁,客户端就可以往设备缓冲区写入数据,实现数据的同步。
如图4所示,图4为图3中所述步骤S220的细化流程示意图,在本实施例中,所述步骤S220包括:
步骤S221、设置虚拟桌面数据队列和当前数据缓冲区。
协议服务器设置虚拟桌面数据队列和当前数据缓冲区,建立的当前数据桌面数据缓冲区,每一个缓冲区代表一个虚拟桌面。考虑效率与容错性,缓冲区大小为50个绘图区。
步骤S222、对读取的屏幕数据进行运算。
协议服务器对读取的屏幕数据进行判断,判断读获的屏幕数据的类型,若是原始数据,则按FIFO方式加入虚拟桌面数据队列中;若是增量数据,则根据增量数据的当前帧数据和上一帧数据,通过运算后还原成一帧数据。
步骤S223、将运算后的屏幕数据加入虚拟桌面数据队列并更新到当前数据缓冲区中。
协议服务器将运算后的屏幕数据加入虚拟桌面数据队列并将运算后的屏幕数据更新到当前数据缓冲区中。虚拟桌面队列为发送到协议客户端的桌面数据的存储场所。
步骤S224、对运算后的屏幕数据添加帧索引和时间戳,并打包发送给协议客户端。
协议服务器对运算后的屏幕数据添加帧索引和时间戳,以便在协议客户端进行同步与错误侦测,并打包发送给协议客户端。
本实施例提供的虚拟桌面显示的实现方法,设置虚拟桌面数据队列和当前数据缓冲区;对读取的屏幕数据进行运算;将运算后的屏幕数据加入虚拟桌面数据队列并更新到当前数据缓冲区中;对运算后的屏幕数据添加帧索引和时间戳,并打包发送给协议客户端。在运算后的屏幕数据添加帧索引和时间戳,从而方便协议客户端进行同步与错误侦测。
如图5所示,图5为图4中所述步骤S222的细化流程示意图,在本实施例中,所述步骤S222包括:
步骤S222a、判断读获的屏幕数据的类型。
协议服务器判断读获的屏幕数据的类型,所述屏幕数据包括原始数据和增量数据。
步骤S222b、若是原始数据,则按FIFO方式加入虚拟桌面数据队列中;若是增量数据,则根据增量数据的当前帧数据和上一帧数据,通过运算后还原成一帧数据。
协议服务器对屏幕数据的类型进一步进行判定,若是原始数据,则按FIFO方式加入虚拟桌面数据队列中;若是增量数据,则根据增量数据的当前帧数据和上一帧数据,通过运算后还原成一帧数据。
本实施例提供的虚拟桌面显示的实现方法,判断读获的屏幕数据的类型,若是原始数据,则按FIFO方式加入虚拟桌面数据队列中;若是增量数据,则根据增量数据的当前帧数据和上一帧数据,通过运算后还原成一帧数据。本实施例中,尽量不传输没有变化的数据,从而在一定程度上降低对屏幕数据的处理。
如图6所示,图6为本发明虚拟桌面显示的实现系统一实施例的功能模块示意图,在一实施例中,所述虚拟桌面显示的实现系统,包括虚拟机10、宿主机20和协议客户端30,其中,
所述虚拟机10,用于利用在宿主机中共享的GPU,截取虚拟桌面上的屏幕数据,并对截取的屏幕数据进行编码;
所述宿主机20,用于对编码的屏幕数据进行相应的分析处理;
所述协议客户端30,用于对分析处理后的屏幕数据解码后进行显示。
在主机BIOS中配置CPU虚拟化支持和DirectIO支持,并安装好显卡。将显卡ID号添加到虚拟机配置Libvirt文件中,启动虚拟机10,并为虚拟机10安装驱动程序,重启虚拟机10,显卡驱动生效。在宿主机20的BIOS中设置显卡的GPU共享模式,并调整虚拟机启动参数,使虚拟机10可以使用宿主机20的GPU资源,在虚拟机10内部实现虚拟机桌面截屏程序,该程序截图和编码完全利用GPU完成,CPU不参与截图和编码具体工作。虚拟机10的桌面截屏程序以操作系统服务程序的形式存在,随虚拟机10的启动而启动,虚拟机的关闭而结束。虚拟机10的桌面截屏程序利用在宿主机中共享的GPU,截取虚拟桌面上的屏幕数据,所述的定时截屏服务程序,包括以一定的频率,一般为30ms,定时截取虚拟机桌面,所述截取的屏幕数据包括屏幕宽度和高度消息、读写状态值、虚拟桌面数据类型和桌面数据。其中,数据类型包括原始数据和增量数据。利用GPU强大的硬件截屏与编码能力,将桌面图像编码为H264格式。
宿主机20中的MEMPCI设备接收从虚拟机发送过来的编码后的屏幕数据,并将接收的屏幕数据保存至缓存中;协议服务器读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端30。
协议客户端30接收宿主机20发送过来的处理后的屏幕数据,在终端显示设备上进行显示。由于在虚拟机里截取的屏幕数据被编码成H264格式,协议客户端30需要将屏幕数据先解码。协议客户端30将屏幕数据解码为YUV格式,其中,解码的方式可以用硬件实现,也可以用软件实现。在本实施例中,协议客户端30进一步将YUV格式转换成显示库能够识别的格式,例如bitmap格式,并将转换后格式显示在终端设备上,对于有些显示输出库函数,可以直接显示H264格式图像,则转码不是必须的,可以直接解码后即可显示输出。
本实施例提供的虚拟桌面显示的实现系统,可在开源桌面云协议如SPICE或VNC上实现,作为该协议的一个增强组件,对传统桌面传输协议进行加速,从而起到了提升虚拟机响应速度和节省网络带宽的双重目的。
如图7所示,图7为图6中所述虚拟机的功能模块示意图,在本实施例中,所述虚拟机10包括:
截取模块11,用于按照设定的频率定时截取虚拟桌面上的屏幕数据;
判断模块12,用于判断当前帧的屏幕数据与上一帧的屏幕数据是否发生变化,若有变化,则传输当前帧的屏幕数据中变化的增量数据;若无变化,则只传输当前帧的屏幕数据中的更新消息;
编码模块13,用于将判断后的待传输的屏幕数据编码成H264格式;
传输模块14,用于设置MEMPCI驱动模式,将编码后的屏幕数据通过MEMPCI驱动的读写接口发送给所述宿主机。
虚拟机的桌面截屏程序的截取模块11利用在宿主机中共享的GPU,截取虚拟桌面上的屏幕数据,所述的定时截屏服务程序,包括以一定的频率,一般为30ms,定时截取虚拟机桌面,所述截取的屏幕数据包括屏幕宽度和高度消息、读写状态值、虚拟桌面数据类型和桌面数据。
虚拟机的判断模块12判断当前帧的屏幕数据与上一帧的屏幕数据是否发生变化,若有变化,则传输当前帧的屏幕数据中变化的增量数据;若无变化,则只传输当前帧的屏幕数据中的更新消息。虚拟机尽量不传输没有变化的数据,在一定程度上降低对屏幕数据的处理。
虚拟机编码模块13将截取的屏幕数据编码成H264格式进行保存,H264格式较传统桌面传输协议如VNC协议中所使用的bitmap或JPG格式,具有数据压缩量高的优点,如果承载相同图像质量的屏幕数据,则以H264格式进行传输时,数据量少,网络带宽占用低。
虚拟机的传输模块14设置外设部件MEMPCI驱动模式,所述虚拟机里面MEMPCI设备驱动,即实现了数据缓冲区在虚拟机内核态的读写,内核态对CPU调用优先级比应用态更高,保证桌面数据传输更及时。之所以将虚拟机与宿主机设置成MEMPCI驱动的模式,是因为屏幕数据的数据量非常大,而采用PCI驱动的方式理论上传输速率为PCI总线的传输速率。第二个好处是实现在QEMU底层完成,处理优先级高,受应用程序干扰少。与RemoteFX相比,即使虚拟机没有网络,也可以传输桌面图像。
本实施例提供的虚拟桌面显示的实现系统,尽量不传输没有变化的数据,在一定程度上降低对屏幕数据的处理。以H264格式传输,数据量少,网络带宽占用低。将虚拟机与宿主机设置成MEMPCI驱动的模式,传输速率快,处理优先级高,受应用程序干扰少。
进一步参见图6,在一实施例中,所述宿主机20还包括MEMPCI设备21和协议服务器22,其中,
所述MEMPCI设备21,用于接收从虚拟机发送过来的编码后的屏幕数据,并将接收的屏幕数据保存至缓存中;
所述协议服务器22,用于读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端。
虚拟机内截屏数据与主机数据交换,采用QEMU模拟PCI设备的方式,从而实现MEMPCI设备驱动,虚拟机启动时,将MEMPCI设备21添加到虚拟机中,所述MEMPCI设备21是QEMU模拟的一个PCI设备,用于虚拟机的屏幕数据与宿主机里面的数据实时进行交互,在宿主机里面运行桌面协议处理程序,将虚拟机桌面数据按相应的协议打包,以设定的协议格式与终端交互,将虚拟机截取的屏幕数据在终端上呈现出来。宿主机的MEMPCI设备接收从虚拟机发送过来的编码后的屏幕数据,并将接收的屏幕数据保存至缓存中。
协议服务器22读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端。所述虚拟机与宿主机之间的屏幕数据通过MEMPCI设备21传输,是通过互斥锁机制保障的,对共享数据区数据的读写,虚拟机将截取的屏幕数据写入到该缓冲区,写完毕打开读锁,Host驱动读取数据完毕打开写锁,客户端就可以往设备缓冲区写入数据,实现数据的同步。
本实施例提供的虚拟桌面显示的实现系统,所述虚拟机与宿主机之间的屏幕数据通过MEMPCI设备传输,是通过互斥锁机制保障的,对共享数据区数据的读写,虚拟机将截取的屏幕数据写入到该缓冲区,写完毕打开读锁,Host驱动读取数据完毕打开写锁,客户端就可以往设备缓冲区写入数据,实现数据的同步。
如图8所示,图8为图6中所述协议服务器的功能模块示意图,在本实施例中,所述协议服务器22包括:
设置模块221,用于设置虚拟桌面数据队列和当前数据缓冲区;
运算模块222,用于对读取的屏幕数据进行运算;
加入模块223,用于将运算后的屏幕数据加入虚拟桌面数据队列并更新到当前数据缓冲区中;
发送模块224,用于对运算后的屏幕数据添加帧索引和时间戳,并打包发送给协议客户端。
协议服务器的设置模块221设置虚拟桌面数据队列和当前数据缓冲区,建立的当前数据桌面数据缓冲区,每一个缓冲区代表一个虚拟桌面。考虑效率与容错性,缓冲区大小为50个绘图区。
协议服务器的运算模块222对读取的屏幕数据进行判断,判断读获的屏幕数据的类型,若是原始数据,则按FIFO方式加入虚拟桌面数据队列中;若是增量数据,则根据增量数据的当前帧数据和上一帧数据,通过运算后还原成一帧数据。
协议服务器的加入模块223将运算后的屏幕数据加入虚拟桌面数据队列并将运算后的屏幕数据更新到当前数据缓冲区中。虚拟桌面队列为发送到协议客户端的桌面数据的存储场所。
协议服务器的发送模块224对运算后的屏幕数据添加帧索引和时间戳,以便在协议客户端进行同步与错误侦测,并打包发送给协议客户端。
本实施例提供的虚拟桌面显示的实现系统,在运算后的屏幕数据添加帧索引和时间戳,从而方便协议客户端进行同步与错误侦测。
如图9所示,图9为图8中所述运算模块的功能模块示意图,在本实施例中,所述运算模块222包括:
判断单元2221,用于判断读获的屏幕数据的类型;
执行单元2222,用于若是原始数据,则按FIFO方式加入虚拟桌面数据队列中;若是增量数据,则根据增量数据的当前帧数据和上一帧数据,通过运算后还原成一帧数据。
协议服务器的判断单元2221判断读获的屏幕数据的类型,所述屏幕数据包括原始数据和增量数据。
协议服务器的执行单元2222对屏幕数据的类型进一步进行判定,若是原始数据,则按FIFO方式加入虚拟桌面数据队列中;若是增量数据,则根据增量数据的当前帧数据和上一帧数据,通过运算后还原成一帧数据。
本实施例提供的虚拟桌面显示的实现系统,尽量不传输没有变化的数据,从而在一定程度上降低对屏幕数据的处理。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种虚拟桌面显示的实现方法,其特征在于,所述虚拟桌面显示方法包括步骤:
虚拟机利用在宿主机中共享的图形处理器GPU,截取虚拟桌面上的屏幕数据,并对截取的屏幕数据进行编码;
宿主机对编码的屏幕数据进行相应的分析处理;
协议客户端对分析处理后的屏幕数据解码后进行显示。
2.如权利要求1所述的虚拟桌面显示的实现方法,其特征在于,所述虚拟机利用在宿主机中共享的GPU,截取虚拟桌面上的屏幕数据,并对截取的屏幕数据进行编码的步骤包括:
按照设定的频率定时截取虚拟桌面上的屏幕数据;
判断当前帧的屏幕数据与上一帧的屏幕数据是否发生变化,若有变化,则传输当前帧的屏幕数据中变化的增量数据;若无变化,则只传输当前帧的屏幕数据中的更新消息;
将判断后的待传输的屏幕数据编码成H264格式;
设置外设部件MEMPCI驱动模式,将编码后的屏幕数据通过MEMPCI驱动的读写接口发送给宿主机。
3.如权利要求1所述的虚拟桌面显示的实现方法,其特征在于,所述宿主机对编码的屏幕数据进行相应的分析处理的步骤包括:
MEMPCI设备接收从虚拟机发送过来的编码后的屏幕数据,并将接收的屏幕数据保存至缓存中;
协议服务器读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端。
4.如权利要求3所述的虚拟桌面显示方法,其特征在于,所述宿主机的协议服务器读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端的步骤包括:
设置虚拟桌面数据队列和当前数据缓冲区;
对读取的屏幕数据进行运算;
将运算后的屏幕数据加入虚拟桌面数据队列并更新到当前数据缓冲区中;
对运算后的屏幕数据添加帧索引和时间戳,并打包发送给协议客户端。
5.如权利要求4所述的虚拟桌面显示方法,其特征在于,所述屏幕数据包括原始数据和增量数据,所述对读取的屏幕数据进行运算的步骤包括:
判断读获的屏幕数据的类型;
若是原始数据,则按FIFO先进先出方式加入虚拟桌面数据队列中;若是增量数据,则根据增量数据的当前帧数据和上一帧数据,通过运算后还原成一帧数据。
6.一种虚拟桌面显示的实现系统,其特征在于,包括虚拟机、宿主机和协议客户端,其中,
所述虚拟机,用于利用在宿主机中共享的GPU,截取虚拟桌面上的屏幕数据,并对截取的屏幕数据进行编码;
所述宿主机,用于对编码的屏幕数据进行相应的分析处理;
所述协议客户端,用于对分析处理后的屏幕数据解码后进行显示。
7.如权利要求6所述的虚拟桌面显示的实现系统,其特征在于,所述虚拟机包括:
截取模块,用于按照设定的频率定时截取虚拟桌面上的屏幕数据;
判断模块,用于判断当前帧的屏幕数据与上一帧的屏幕数据是否发生变化,若有变化,则传输当前帧的屏幕数据中变化的增量数据;若无变化,则只传输当前帧的屏幕数据中的更新消息;
编码模块,用于将判断后的待传输的屏幕数据编码成H264格式;
传输模块,用于设置MEMPCI驱动模式,将编码后的屏幕数据通过MEMPCI驱动的读写接口发送给所述宿主机。
8.如权利要求6所述的虚拟桌面显示的实现系统,其特征在于,所述宿主机还包括MEMPCI设备和协议服务器,
所述MEMPCI设备,用于接收从虚拟机发送过来的编码后的屏幕数据,并将接收的屏幕数据保存至缓存中;
所述协议服务器,用于读取缓存中的屏幕数据,按预先配置的协议规则对缓存中的屏幕数据打包处理后发送给协议客户端。
9.如权利要求8所述的虚拟桌面显示的实现系统,其特征在于,所述协议服务器包括:
设置模块,用于设置虚拟桌面数据队列和当前数据缓冲区;
运算模块,用于对读取的屏幕数据进行运算;
加入模块,用于将运算后的屏幕数据加入虚拟桌面数据队列并更新到当前数据缓冲区中;
发送模块,用于对运算后的屏幕数据添加帧索引和时间戳,并打包发送给协议客户端。
10.如权利要求9所述的虚拟桌面显示的实现系统,其特征在于,所述运算模块包括:
判断单元,用于判断读获的屏幕数据的类型;
执行单元,用于若是原始数据,则按FIFO方式加入虚拟桌面数据队列中;若是增量数据,则根据增量数据的当前帧数据和上一帧数据,通过运算后还原成一帧数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510054113.4A CN104660687A (zh) | 2015-02-02 | 2015-02-02 | 虚拟桌面显示的实现方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510054113.4A CN104660687A (zh) | 2015-02-02 | 2015-02-02 | 虚拟桌面显示的实现方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104660687A true CN104660687A (zh) | 2015-05-27 |
Family
ID=53251374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510054113.4A Pending CN104660687A (zh) | 2015-02-02 | 2015-02-02 | 虚拟桌面显示的实现方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104660687A (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105072190A (zh) * | 2015-08-21 | 2015-11-18 | 刘昌平 | 一种实时性桌面云的实现方法及系统 |
CN105141662A (zh) * | 2015-07-27 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 一种云桌面数据管理方法、客户端、远程数据中心和系统 |
CN105245915A (zh) * | 2015-09-30 | 2016-01-13 | 上海有孚计算机网络有限公司 | 云桌面高清视频传输方法 |
CN105491021A (zh) * | 2015-11-24 | 2016-04-13 | 华东师范大学 | 一种Android云应用服务器及Android云应用服务器系统 |
CN106204675A (zh) * | 2016-07-08 | 2016-12-07 | 中霆云计算科技(上海)有限公司 | 虚拟桌面呈现设备中的2d显示加速方法 |
CN106303329A (zh) * | 2016-08-11 | 2017-01-04 | 广州爱九游信息技术有限公司 | 录屏直播方法和装置、移动设备及直播系统 |
CN107341020A (zh) * | 2017-07-12 | 2017-11-10 | 浙江键石信息科技有限公司 | 显卡虚拟化的实现方法及装置、桌面云系统及终端设备 |
CN107613029A (zh) * | 2017-11-05 | 2018-01-19 | 深圳市青葡萄科技有限公司 | 一种适用于移动端或Web端的虚拟桌面远程方法及系统 |
CN108322781A (zh) * | 2018-02-08 | 2018-07-24 | 武汉噢易云计算股份有限公司 | 提升虚拟桌面中播放高清视频效果的方法及系统 |
CN110012003A (zh) * | 2019-03-22 | 2019-07-12 | 厦门网宿有限公司 | 一种云应用抓屏方法和装置 |
CN110018873A (zh) * | 2019-03-31 | 2019-07-16 | 山东超越数控电子股份有限公司 | 一种基于fpga优化虚拟桌面传输的方法 |
CN110647375A (zh) * | 2019-09-23 | 2020-01-03 | 天津卓朗科技发展有限公司 | 云桌面的图像渲染方法、装置和云服务器 |
CN111240631A (zh) * | 2020-02-20 | 2020-06-05 | 湖南麒麟信安科技有限公司 | 基于AMD显卡虚拟化传输Linux虚拟机屏幕画面的方法及系统 |
CN112422875A (zh) * | 2020-10-14 | 2021-02-26 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN112422877A (zh) * | 2020-10-27 | 2021-02-26 | 西安万像电子科技有限公司 | 图像显示方法和系统、及源设备 |
CN112422876A (zh) * | 2020-10-14 | 2021-02-26 | 西安万像电子科技有限公司 | 图像处理方法和服务器 |
CN113157226A (zh) * | 2020-01-22 | 2021-07-23 | 阿里巴巴集团控股有限公司 | 远程数据的显示方法、装置、设备及机器可读存储介质 |
WO2021228032A1 (zh) * | 2020-05-14 | 2021-11-18 | 北京金山云网络技术有限公司 | 虚拟机的桌面图像数据的传输方法和装置及电子设备 |
CN113900754A (zh) * | 2021-10-09 | 2022-01-07 | 深圳技德智能科技研究院有限公司 | 共享桌面方法、装置、计算机设备和存储介质 |
CN114722384A (zh) * | 2022-06-02 | 2022-07-08 | 南京中成越科技有限公司 | 端对端远程通讯的风险数据传输处理方法、系统 |
CN114938408A (zh) * | 2022-04-30 | 2022-08-23 | 苏州浪潮智能科技有限公司 | 一种云手机的数据传输方法、系统、设备及介质 |
CN114968152A (zh) * | 2022-04-29 | 2022-08-30 | 麒麟软件有限公司 | 减少virtio-gpu额外性能损耗的方法 |
CN116737307A (zh) * | 2023-08-16 | 2023-09-12 | 北京淳中科技股份有限公司 | 一种界面显示方法、装置、电子设备及存储介质 |
WO2023179348A1 (zh) * | 2022-03-23 | 2023-09-28 | 中兴通讯股份有限公司 | 数据传输方法、云桌面虚拟机、云终端及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020057295A1 (en) * | 1998-05-29 | 2002-05-16 | Anatoliy Panasyuk | System and method for combining local and remote windows into a single desktop environment |
DE69636369T2 (de) * | 1995-06-27 | 2007-07-19 | Bull Hn Information Systems Inc., Billerica | Virtuelles lokales netz für multi-emulatoren in einer offenen systemumgebung |
CN103440612A (zh) * | 2013-08-27 | 2013-12-11 | 华为技术有限公司 | 一种gpu虚拟化中图像处理方法和装置 |
CN103533384A (zh) * | 2013-09-30 | 2014-01-22 | 广州华多网络科技有限公司 | 图像处理方法、图像复原方法、装置及系统 |
CN103593227A (zh) * | 2013-11-08 | 2014-02-19 | 何钦淋 | 在客户端运行桌面虚拟系统的方法及客户端 |
CN103810021A (zh) * | 2014-02-19 | 2014-05-21 | 福建升腾资讯有限公司 | 一种vdi下基于宿主机的虚拟桌面显示方法及其系统 |
CN104254001A (zh) * | 2013-06-28 | 2014-12-31 | 广州华多网络科技有限公司 | 远程分享方法、装置及终端 |
-
2015
- 2015-02-02 CN CN201510054113.4A patent/CN104660687A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69636369T2 (de) * | 1995-06-27 | 2007-07-19 | Bull Hn Information Systems Inc., Billerica | Virtuelles lokales netz für multi-emulatoren in einer offenen systemumgebung |
US20020057295A1 (en) * | 1998-05-29 | 2002-05-16 | Anatoliy Panasyuk | System and method for combining local and remote windows into a single desktop environment |
CN104254001A (zh) * | 2013-06-28 | 2014-12-31 | 广州华多网络科技有限公司 | 远程分享方法、装置及终端 |
CN103440612A (zh) * | 2013-08-27 | 2013-12-11 | 华为技术有限公司 | 一种gpu虚拟化中图像处理方法和装置 |
CN103533384A (zh) * | 2013-09-30 | 2014-01-22 | 广州华多网络科技有限公司 | 图像处理方法、图像复原方法、装置及系统 |
CN103593227A (zh) * | 2013-11-08 | 2014-02-19 | 何钦淋 | 在客户端运行桌面虚拟系统的方法及客户端 |
CN103810021A (zh) * | 2014-02-19 | 2014-05-21 | 福建升腾资讯有限公司 | 一种vdi下基于宿主机的虚拟桌面显示方法及其系统 |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141662A (zh) * | 2015-07-27 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 一种云桌面数据管理方法、客户端、远程数据中心和系统 |
CN105072190A (zh) * | 2015-08-21 | 2015-11-18 | 刘昌平 | 一种实时性桌面云的实现方法及系统 |
CN105245915B (zh) * | 2015-09-30 | 2018-11-23 | 上海有孚网络股份有限公司 | 云桌面高清视频传输方法 |
CN105245915A (zh) * | 2015-09-30 | 2016-01-13 | 上海有孚计算机网络有限公司 | 云桌面高清视频传输方法 |
CN105491021A (zh) * | 2015-11-24 | 2016-04-13 | 华东师范大学 | 一种Android云应用服务器及Android云应用服务器系统 |
CN106204675A (zh) * | 2016-07-08 | 2016-12-07 | 中霆云计算科技(上海)有限公司 | 虚拟桌面呈现设备中的2d显示加速方法 |
CN106303329A (zh) * | 2016-08-11 | 2017-01-04 | 广州爱九游信息技术有限公司 | 录屏直播方法和装置、移动设备及直播系统 |
CN107341020A (zh) * | 2017-07-12 | 2017-11-10 | 浙江键石信息科技有限公司 | 显卡虚拟化的实现方法及装置、桌面云系统及终端设备 |
CN107613029A (zh) * | 2017-11-05 | 2018-01-19 | 深圳市青葡萄科技有限公司 | 一种适用于移动端或Web端的虚拟桌面远程方法及系统 |
CN108322781A (zh) * | 2018-02-08 | 2018-07-24 | 武汉噢易云计算股份有限公司 | 提升虚拟桌面中播放高清视频效果的方法及系统 |
CN110012003A (zh) * | 2019-03-22 | 2019-07-12 | 厦门网宿有限公司 | 一种云应用抓屏方法和装置 |
CN110012003B (zh) * | 2019-03-22 | 2022-04-22 | 厦门网宿有限公司 | 一种云应用抓屏方法和装置 |
CN110018873A (zh) * | 2019-03-31 | 2019-07-16 | 山东超越数控电子股份有限公司 | 一种基于fpga优化虚拟桌面传输的方法 |
CN110647375A (zh) * | 2019-09-23 | 2020-01-03 | 天津卓朗科技发展有限公司 | 云桌面的图像渲染方法、装置和云服务器 |
CN113157226A (zh) * | 2020-01-22 | 2021-07-23 | 阿里巴巴集团控股有限公司 | 远程数据的显示方法、装置、设备及机器可读存储介质 |
CN111240631A (zh) * | 2020-02-20 | 2020-06-05 | 湖南麒麟信安科技有限公司 | 基于AMD显卡虚拟化传输Linux虚拟机屏幕画面的方法及系统 |
CN113672318A (zh) * | 2020-05-14 | 2021-11-19 | 北京金山云网络技术有限公司 | 虚拟机的桌面图像数据的传输方法和装置及电子设备 |
WO2021228032A1 (zh) * | 2020-05-14 | 2021-11-18 | 北京金山云网络技术有限公司 | 虚拟机的桌面图像数据的传输方法和装置及电子设备 |
CN112422876A (zh) * | 2020-10-14 | 2021-02-26 | 西安万像电子科技有限公司 | 图像处理方法和服务器 |
CN112422875A (zh) * | 2020-10-14 | 2021-02-26 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN112422876B (zh) * | 2020-10-14 | 2024-07-23 | 西安万像电子科技有限公司 | 图像处理方法和服务器 |
CN112422877A (zh) * | 2020-10-27 | 2021-02-26 | 西安万像电子科技有限公司 | 图像显示方法和系统、及源设备 |
CN113900754A (zh) * | 2021-10-09 | 2022-01-07 | 深圳技德智能科技研究院有限公司 | 共享桌面方法、装置、计算机设备和存储介质 |
CN113900754B (zh) * | 2021-10-09 | 2023-10-31 | 深圳技德智能科技研究院有限公司 | 共享桌面方法、装置、计算机设备和存储介质 |
WO2023179348A1 (zh) * | 2022-03-23 | 2023-09-28 | 中兴通讯股份有限公司 | 数据传输方法、云桌面虚拟机、云终端及可读存储介质 |
CN114968152A (zh) * | 2022-04-29 | 2022-08-30 | 麒麟软件有限公司 | 减少virtio-gpu额外性能损耗的方法 |
CN114968152B (zh) * | 2022-04-29 | 2024-04-19 | 麒麟软件有限公司 | 减少virtio-gpu额外性能损耗的方法 |
CN114938408B (zh) * | 2022-04-30 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种云手机的数据传输方法、系统、设备及介质 |
CN114938408A (zh) * | 2022-04-30 | 2022-08-23 | 苏州浪潮智能科技有限公司 | 一种云手机的数据传输方法、系统、设备及介质 |
CN114722384B (zh) * | 2022-06-02 | 2022-08-19 | 南京中成越科技有限公司 | 端对端远程通讯的风险数据传输处理方法、系统 |
CN114722384A (zh) * | 2022-06-02 | 2022-07-08 | 南京中成越科技有限公司 | 端对端远程通讯的风险数据传输处理方法、系统 |
CN116737307A (zh) * | 2023-08-16 | 2023-09-12 | 北京淳中科技股份有限公司 | 一种界面显示方法、装置、电子设备及存储介质 |
CN116737307B (zh) * | 2023-08-16 | 2023-12-01 | 北京淳中科技股份有限公司 | 一种界面显示方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104660687A (zh) | 虚拟桌面显示的实现方法和系统 | |
US9146884B2 (en) | Push pull adaptive capture | |
CN103888485B (zh) | 云计算资源的分配方法、装置及系统 | |
US7747086B1 (en) | Methods and apparatus for encoding a shared drawing memory | |
CN112486609B (zh) | 一种基于云桌面的虚拟显卡实现方法和装置 | |
US20230215076A1 (en) | Image frame display method, apparatus, device, storage medium, and program product | |
US9235452B2 (en) | Graphics remoting using augmentation data | |
KR20120106778A (ko) | 라이트웨이트 클라이언트를 이용해서 네트워크를 거쳐 가상화 컴퓨팅 서비스와 인터페이스하기 위한 방법 | |
US20140108940A1 (en) | Method and system of remote communication over a network | |
US20240307767A1 (en) | Cloud Data Processing | |
CN110968395B (zh) | 一种在模拟器中处理渲染指令的方法及移动终端 | |
CN106797398B (zh) | 用于向客户端提供虚拟桌面服务的方法和系统 | |
CN108762934B (zh) | 远程图形传输系统、方法及云服务器 | |
JP2013541295A (ja) | 画像圧縮のためのエントロピーコーダー | |
US10225570B2 (en) | Split framebuffer encoding | |
CN103402089A (zh) | 一种基于宏块技术的虚拟桌面图像压缩方法 | |
CN114968152B (zh) | 减少virtio-gpu额外性能损耗的方法 | |
CN111274044B (zh) | Gpu虚拟化资源限制处理方法及装置 | |
CN113032095A (zh) | 一种在arm架构上实现安卓容器运算的系统及方法 | |
CN115767092A (zh) | 图像传输方法、云桌面及图像传输系统、设备及产品 | |
CN114268626A (zh) | 窗口处理系统、方法以及装置 | |
US9460481B2 (en) | Systems and methods for processing desktop graphics for remote display | |
CN113094015A (zh) | 全息多屏显示实现方法、系统、计算机设备和存储介质 | |
TWI814134B (zh) | 虛擬行動架構的遠端渲染系統、方法及裝置 | |
CN115988265A (zh) | 一种显示画面的渲染方法、装置和终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150527 |