CN104618473A - 虚拟机桌面显示方法及装置 - Google Patents
虚拟机桌面显示方法及装置 Download PDFInfo
- Publication number
- CN104618473A CN104618473A CN201510039552.8A CN201510039552A CN104618473A CN 104618473 A CN104618473 A CN 104618473A CN 201510039552 A CN201510039552 A CN 201510039552A CN 104618473 A CN104618473 A CN 104618473A
- Authority
- CN
- China
- Prior art keywords
- data
- virtual machine
- client
- video
- bit
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Digital Computer Display Output (AREA)
- Computer And Data Communications (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种虚拟机桌面显示方法,所述虚拟机桌面显示方法包括以下步骤:监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据;当所述操作数据为位图数据时,对所述位图数据进行视频检测;若所述位图数据为视频数据,则根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,得到编码后的视频数据;将编码后的视频数据发送到客户端,由客户端还原为桌面数据并显示。本发明还公开了一种虚拟机桌面显示装置。本发明提高了虚拟机桌面显示的效率,降低了虚拟机端与客户端之间网络传输的数据量。
Description
技术领域
本发明涉及虚拟桌面技术领域,尤其涉及一种虚拟机桌面显示方法及装置。
背景技术
虚拟桌面是一种典型的云计算应用,包括云计算服务者提供的服务器端以及通过网络与所述服务器连接的客户端。通过服务器端集中管理和运行用户所需要的虚拟操作系统、应用、程序和数据,并通过桌面显示协议将虚拟机操作系统的桌面视图传送到用户的客户端设备上进行显示,同时将客户端接收到的用户输入操作通过网络传送到服务器端的虚拟机操作系统进行处理。可以让用户通过任何设备在任何地点、任何时间访问网络上属于个人的桌面系统。
目前虚拟及桌面显示普遍采用截屏的方式获取虚拟机桌面的显示数据,并将虚拟机桌面的显示数据以位图的形式传输给客户端显示,采用这种方式不仅由于位图的数据量很大,使得虚拟机端与客户端之间的网络传输数据量非常大,而且通过应用层截屏的方式获取虚拟机桌面的显示数据,效率十分低下。并且在播放视频时,由于将视频按一帧一帧的位图数据进行传输和显示,使得视频播放不流畅,且存在虚拟机端与客户端之间的网络数据传输量大的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于解决现有的虚拟机桌面显示中,通过截屏的方式获取虚拟机桌面显示数据,并以位图的形式传输给客户端显示,使得运行效率低且虚拟机端与客户端之间网络传输数据量大的问题。
为实现上述目的,本发明提供的一种虚拟机桌面显示方法,所述虚拟机桌面显示方法包括以下步骤:
监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据;
当所述操作数据为位图数据时,对所述位图数据进行视频检测;
若所述位图数据为视频数据,则根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,得到编码后的视频数据;
将编码后的视频数据发送到客户端,由客户端还原为桌面数据并显示。
优选的,所述的根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码的步骤包括:
获取虚拟机节点与客户端之间的网络带宽值,并将所述网络带宽值与预设的网络带宽阈值进行比对;
若所述网络带宽值大于所述网络带宽阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
若所述网络带宽值小于所述网络带宽阈值,则获取所述虚拟机节点的CPU负载量,并将所述CPU负载量与预设的CPU负载阈值进行比对;
若所述CPU负载量大于所述CPU负载阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
若所述CPU负载量小于所述CPU负载阈值,则选择CPU消耗高的编码算法对所述视频数据进行编码。
优选的,所述的对所述位图数据进行视频检测的步骤包括:
判断所述位图数据是否为连续的位图数据;
若所述位图数据是连续的,则确定所述位图数据为视频数据;
若所述位图数据是不连续的,则确定所述位图数据为离散位图数据。
优选的,所述确定所述位图数据为离散位图数据的步骤之后,还包括:
若所述位图数据确定为离散位图数据,则对所述离散位图数据进行压缩,得到压缩后的离散位图数据;
将压缩后的离散位图数据发送给客户端,由所述客户端还原为桌面数据并显示。
优选的,所述的监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据的步骤之后,还包括:
当所述操作数据为图形操作指令时,将所述图形操作指令转换为可被客户端识别的图形指令;
将所述图形指令发送给客户端,由客户端还原为桌面数据并显示。
此外为实现上述目的,本发明还提供一种虚拟机桌面显示装置,所述虚拟机桌面显示装置包括:
监听模块,用于监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据;
检测模块,用于当所述操作数据为位图数据时,对所述位图数据进行视频检测;
编码模块,用于若所述位图数据为视频数据,则根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,得到编码后的视频数据;
发送模块,用于将编码后的视频数据发送到客户端,由客户端还原为桌面数据并显示。
优选的,所述编码模块包括比对单元和编码单元;
所述比对单元,用于获取虚拟机节点与客户端之间的网络带宽值,并将所述网络带宽值与预设的网络带宽阈值进行比对;
所述编码单元,用于若所述网络带宽值大于所述网络带宽阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
所述比对单元,还用于若所述网络带宽值小于所述网络带宽阈值,则获取所述虚拟机节点的CPU负载量,并将所述CPU负载量与预设的CPU负载阈值进行比对;
所述编码单元,还用于若所述CPU负载量大于所述CPU负载阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
所述编码单元,还用于若所述CPU负载量小于所述CPU负载阈值,则选择CPU消耗高的编码算法对所述视频数据进行编码。
优选的,所述检测模块包括判断单元和检测单元;
所述判断单元,用于判断所述位图数据是否为连续的位图数据;
所述检测单元,用于若所述位图数据是连续的,则确定所述位图数据为视频数据;
所述检测单元,还用于若所述位图数据是不连续的,则确定所述位图数据为离散位图数据。
优选的,所述虚拟机桌面显示装置还包括压缩模块;
所述压缩模块,用于若所述位图数据确定为离散位图数据,则对所述离散位图数据进行压缩,得到压缩后的离散位图数据;
所述发送模块,还用于将压缩后的离散位图数据发送给客户端,由所述客户端还原为桌面数据并显示。
优选的,所述虚拟机桌面显示装置还包括转换模块;
所述转换模块,用于当所述操作数据为图形操作指令时,将所述图形操作指令转换为可被客户端识别的图形指令;
所述发送模块,还用于将所述图形指令发送给客户端,由客户端还原为桌面数据并显示。
本发明通过监听虚拟机操作系统内操作虚拟机桌面变化的操作数据,来获取虚拟机桌面显示的数据,从而省去了通过操作数据在虚拟机内显示再截屏的步骤,提高了虚拟机桌面显示的效率。同时,将视频数据进行编码后发送给客户端,降低了虚拟机端与客户端之间网络传输的数据量。
附图说明
图1为本发明虚拟桌面显示系统的总体框架示意图;
图2为本发明虚拟机桌面显示方法的第一实施例的流程示意图;
图3为本发明虚拟机桌面显示方法的第二实施例的流程示意图;
图4为图2中步骤S30的细化流程示意图;
图5为图2中步骤S20的细化流程示意图;
图6为图4中步骤S23之后的流程示意图;
图7为本发明虚拟机桌面显示装置的第一实施例的功能模块示意图;
图8为本发明虚拟机桌面显示装置的第二实施例的功能模块示意图;
图9为图7中编码模块的细化功能模块示意图;
图10为图7中检测模块的细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据;当所述操作数据为位图数据时,对所述位图数据进行视频检测;若所述位图数据为视频数据,则根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,得到编码后的视频数据;将编码后的视频数据发送到客户端,由客户端还原为桌面数据并显示。通过监听虚拟机操作系统内操作虚拟机桌面变化的操作数据,来获取虚拟机桌面显示的数据,从而省去了通过操作数据在虚拟机内显示再截屏的步骤,提高了虚拟机桌面显示的效率。同时,将视频数据进行编码后发送给客户端,降低了虚拟机端与客户端之间网络传输的数据量。
由于现有的虚拟机桌面显示中,通过截屏的方式获取虚拟机桌面显示数据,并以位图的形式传输给客户端显示,使得运行效率低且虚拟机端与客户端之间网络传输数据量大的问题。
基于上述问题,本发明提出了一种虚拟桌面显示系统。参照图1,所述虚拟桌面显示系统包括:服务器100和与所述服务器100通过网络连接的一个或多个客户端200。所述服务器100端设有显示代理程序102、模拟处理器103以及一个或多个虚拟机101,所述显示代理程序102通过端口映射建立每个客户端200与对应的虚拟机101的连接。所述虚拟机101操作系统内设有显示驱动程序104。所述虚拟机101内的显示驱动程序104主要用于监听并截获虚拟机101操作系统内操作虚拟机101桌面变化的操作数据,将所述操作数据中的图形操作指令转换为客户端200可以识别的图形指令,将所述操作数据中的位图数据进行扫描,获取变化区域的位图数据,将所述图形指令和变化的位图数据发送给显示代理程序102进行处理。所述显示代理程序102主要获取显示驱动程序104处理后的图形指令和位图数据,将图形指令发送给客户端200进行还原显示,对位图数据进行视频识别,若是视频数据则根据适当的视频编码算法进行编码,将编码后的视频数据发送给客户端200还原显示,若不能识别为视频数据,则进行压缩以后发送给客户端200还原显示。
基于上述虚拟桌面显示系统,本发明提供一种虚拟机桌面显示方法。
参照图2,图2为本发明虚拟机桌面显示方法的第一实施例的流程示意图。
在一实施例中,所述虚拟机桌面显示方法包括以下步骤:
步骤S10,监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据;
监听虚拟机操作系统内操作虚拟机桌面变化的操作数据。在用户对客户端桌面产生操作时,由于客户端与虚拟机的对应连接,所述虚拟机操作系统内会对应产生操作虚拟机桌面变化的操作数据,所述操作数据包括图形操作指令和位图数据。在虚拟机操作系统内产生操作虚拟机桌面变化的操作数据时,截获所述操作数据并进行处理。优选的,可以通过钩子程序实现对虚拟机操作系统内各种事件消息的监听,通过系统调用在虚拟机操作系统内挂入钩子程序,当虚拟机操作系统内的图形引擎产生操作虚拟机桌面变化的操作数据时,所述钩子程序即在所述操作数据到达目的窗口之前截获所述操作数据,获得对此操作数据的控制权,并对所述操作数据进行处理。优选的,在虚拟机显示驱动程序中挂入钩子程序,用于监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据,并对所述操作数据进行处理。通过监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据,对所述操作数据进行处理后发送给客户端进行还原显示,相对于现有的将所述操作数据在虚拟机桌面进行显示后,对虚拟机桌面进行截屏,获取截屏的虚拟机桌面显示数据,将截取的位图数据发送给客户端进行显示,省去了在虚拟机内显示的步骤,提高了虚拟桌面显示的运行效率,同时,减少了虚拟机端与客户端之间的网络传输的数据量。
步骤S20,当所述操作数据为位图数据时,对所述位图数据进行视频检测;
监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据,所述虚拟机操作系统内操作虚拟机桌面变化的操作数据可以是图形操作指令,也可以是位图数据。在获取了所述虚拟数据之后,对所述虚拟数据进行分类。当所述操作数据为位图数据时,对所述位图数据进行视频检测,用以判断所述位图数据是否是视频数据。优选的,对位图数据进行视频检测的过程:先判断所述位图数据的显示区域左下角及右下角坐标是否一样,宽度及高度是否一样,然后计算前后两幅位图数据的差值是否低于预设阈值,所述预设阈值为两幅位图数据的相似度,若两幅位图数据的差值低于预设的阈值,则判定为连续的视频数据,若高于预设阈值,则判定为不连续的离散位图数据。优选的,由虚拟机操作系统中的显示驱动程序获取所述操作数据,并将所述操作数据发送给显示代理程序,由所述显示代理程序完成对所述操作数据的分类及对所述位图数据进行视频检测。
优选的,当所述操作数据为位图数据时,对所述位图数据进行视频检测之前,可以先对所述位图数据进行扫描,通过逐行对比前后幅位图数据的显示数据,获取所述位图数据的显示区域中发生变化的区域,并提取变化区域的位图数据,然后对所述变化区域的位图数据进行视频检测,所述视频检测过程与上述过程相同,在此不再赘述。优选的,可以通过虚拟机内的显示驱动程序完成对所述操作数据的获取,以及对位图数据的扫描并获取变化区域的位图数据,所述显示驱动程序将变化区域的位图数据发送给显示代理程序,由所述显示代理程序完成对所述变化区域的位图数据的视频检测。
步骤S30,若所述位图数据为视频数据,则根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,得到编码后的视频数据;
对所述位图数据进行视频检测后,若所述位图数据为视频数据,则获取所述虚拟机节点的资源情况,根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,得到编码后的视频数据。虚拟机节点的资源情况主要包括虚拟机节点与客户端之间的网络带宽值以及所述虚拟机节点的CPU负载量。在客户端连接到虚拟机时,获取虚拟机节点与客户端之间的网络带宽值,根据虚拟机节点与客户端之间的网络带宽值选择合适的视频编码算法对视频进行编码。并在系统运行过程中,以一定周期获取虚拟机节点的CPU负载量,当CPU负载量高于预设的阈值,则更换CPU消耗低的视频编码算法进行编码。优选的,根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码的过程,可以在虚拟桌面显示系统的显示代理程序中实现。根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,可以平衡虚拟机节点与客户端之间的网络带宽值和虚拟机节点的CPU负载量,在保证虚拟机节点CPU正常运行的条件下降低了虚拟机端与客户端之间网络传输的数据量。
步骤S40,将编码后的视频数据发送到客户端,由客户端还原为桌面数据并显示。
相对于传输位图数据,将编码后的视频数据发送给客户端,可以降低虚拟机端与客户端之间的网络传输的数据量。优选的,传输视频数据采用专门的视频通道传输到客户端,并通过虚拟桌面显示系统中的显示代理程序将编码后的视频数据发送给客户端。
本实施例通过监听虚拟机操作系统内操作虚拟机桌面变化的操作数据,来获取虚拟机桌面显示的数据,从而省去了通过操作数据在虚拟机内显示再截屏的步骤,提高了虚拟机桌面显示的效率。同时,将视频数据进行编码后发送给客户端,降低了虚拟机端与客户端之间网络传输的数据量。
参照图3,图3为本发明虚拟机桌面显示方法的第二实施例的流程示意图。基于上述虚拟机桌面显示方法的第一实施例,所述步骤S10之后,还包括:
步骤S50,当所述操作数据为图形操作指令时,将所述图形操作指令转换为可被客户端识别的图形指令;
监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据,所述虚拟机操作系统内操作虚拟机桌面变化的操作数据可以为图形操作指令,也可以是位图数据。在获取了所述操作数据之后,对所述操作数据进行分类,若所述操作指令为图形操作指令时,将所述图形操作指令转换为可被客户端识别的图形指令。优选的,对所述操作数据进行分类,并将所述图形操作指令转换为可被客户端识别的图形指令的过程,可以在虚拟桌面显示系统的显示驱动程序中完成,所述显示驱动程序对所述图形操作指令转换为图形指令后,将所述图形指令发送给显示代理程序,由所述显示代理程序发送给客户端。
步骤S60,将所述图形指令发送给客户端,由客户端还原为桌面数据并显示。
相对于将图形操作指令在虚拟机内显示,并通过截取屏幕图像,将截取的位图数据传输给客户端进行显示,将所述图形指令发送给客户端,由客户端将所述图形操作指令还原为桌面数据并显示,可以减少虚拟机端与客户端之间的网络传输的数据量。优选的,由虚拟桌面显示系统中的显示代理程序将所述图形指令发送给客户端,且通过指令传输通道进行传输,与视频数据传输的视频通道分开传输,可以简化客户端逻辑。
进一步的,参照图4,所述步骤S30可以包括:
步骤S31,获取虚拟机节点与客户端之间的网络带宽值,并将所述网络带宽值与预设的网络带宽阈值进行比对;
在客户端连接到虚拟机时计算网络宽带值。优选的,所述网络带宽值使用虚拟机节点到客户端之间的网络延时计算出来。所述网络带宽阈值预设为20Mbps(兆位/秒)。根据国内网络的特点,公用网络一般不超过20Mbps,若网络带宽超过了20Mbps,则极有可能客户端和虚拟机端在局域网络中。通过所述网络带宽值与预设的网络带宽阈值进行比对,判断所述客户端与虚拟机端之间的网络是局域网络还是公用网络,并根据不同的网络智能选择视频编码算法进行视频编码。
步骤S32,若所述网络带宽值大于所述网络带宽阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
若所述网络带宽值大于预设的网络带宽阈值,则确定客户端与虚拟机节点处在局域网络中,此时可以采用CPU消耗低的视频编码算法对所述视频数据进行编码。优选的,所述CPU消耗低的视频编码算法为MJPEG编码。MJPEG编码过程中CPU消耗低,客户端对CPU解码能力的要求也不高,同时,MJPEG编码后的每一视频帧的数据量比较大,在虚拟机节点与客户端之间的网络带宽值大于预设的网络带宽阈值时,采用MJPEG编码对视频数据进行编码。可以有效的降低虚拟机端的CPU消耗。
步骤S33,若所述网络带宽值小于所述网络带宽阈值,则获取所述虚拟机节点的CPU负载量,并将所述CPU负载量与预设的CPU负载阈值进行比对;
若所述网络带宽值小于所述网络带宽阈值,则进一步判断所述虚拟机节点的CPU负载量与预设的CPU负载阈值的相对大小。优选的,若所述网络带宽值小于所述网络带宽阈值,则在系统的运行过程中,以一定周期获取虚拟机节点的CPU负载量,并根据CPU负载量进行视频编码算法的动态调整。优选的,所述CPU负载阈值设置为70%。
步骤S34,若所述CPU负载量大于所述CPU负载阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
当虚拟机节点的CPU负载量大于所述CPU负载阈值时,选择CPU消耗低的视频编码算法对所述视频进行编码。优选的,可以在虚拟机节点的CPU负载量大于所述CPU负载阈值,且持续预设的时间后,再进行视频编码算法的转换。所述CPU消耗低的视频编码算法为MJPEG编码,MJPEG编码过程中CPU消耗低。
步骤S35,若所述CPU负载量小于所述CPU负载阈值,则选择CPU消耗高的编码算法对所述视频数据进行编码。
当虚拟机节点的CPU负载量小于所述CPU负载阈值时,选择CPU消耗高的视频编码算法对所述视频进行编码。优选的,可以在虚拟机节点的CPU负载量小于所述CPU负载阈值,且持续预设的时间后,再进行视频编码算法的转换。所述CPU消耗高的算法为H264编码算法。H264编码对CPU消耗高,传输时的数据量小,在网络传输时可以节省数据量。
进一步的,参照图5,所述步骤S20包括:
步骤S21,判断所述位图数据是否为连续的位图数据;
步骤S22,若所述位图数据是连续的,则确定所述位图数据为视频数据;
步骤S23,若所述位图数据是不连续的,则确定所述位图数据为离散位图数据。
判断所述位图数据是否为连续的位图数据的过程可以通过如下步骤实现:先获取连续两幅位图数据的显示区域的左上角及右下角的坐标,并判断所述连续两幅位图数据的显示区域的左上角及右下角的位图数据是否相同,若所述连续两幅位图数据的左下角及右上角坐标相同,则进一步获取并判断所述连续两幅位图数据的显示区域的宽及高是否相同,若所述连续两幅位图数据的宽及高也相同,则进一步对比所述连续两幅位图数据的显示区域的颜色值的差值,若所述连续两幅位图数据的显示区域的颜色值的差值低于预设的阈值,则判定所述连续两幅位图数据为视频数据。否则,判定为离散位图数据。优选的,在虚拟桌面显示系统的显示代理程序中判断所述位图数据是否为连续的位图数据。
进一步的,参考图6,所述步骤S23之后,还包括:
步骤S24,若所述位图数据确定为离散位图数据,则对所述离散位图数据进行压缩,得到压缩后的离散位图数据;
步骤S25,将压缩后的离散位图数据发送给客户端,由所述客户端还原为桌面数据并显示。
若所述位图数据为离散位图数据,则将所述离散位图数据进行压缩以后传输给客户端,由客户端将所述压缩的离散位图数据还原为桌面数据之后进行显示。优选的,将离散的位图数据进行压缩以后发送给客户端的过程可以通过虚拟桌面显示系统的显示代理程序实现。进一步的,将所述压缩后的离散的位图数据通过视频通道传输给客户端。传输压缩后的位图数据,可以减少虚拟机端与客户端之间传输的数据量。
本实施例通过监听虚拟机操作系统内操作虚拟机桌面变化的操作数据,来获取虚拟机桌面显示数据,从而省去了通过操作数据在虚拟机内显示再截屏的步骤,提高了虚拟桌面显示的效率。将虚拟机操作系统内的图形操作指令发送给客户端进行还原显示。同时,根据虚拟机节点到客户端的网络带宽值和虚拟机节点的CPU负载量动态选择视频编码算法对视频数据进行编码,将编码后的视频数据发送给客户端还原显示,在保证虚拟机节点CPU正常运行的条件下降低了虚拟机端与客户端之间网络传输的数据量。
上述第一至第二实施例的虚拟机桌面显示方法的执行主体均可以为服务器主机或与所述服务器主机网络连接的客户端设备。更进一步地,所述虚拟机桌面显示方法可以由安装在服务器主机以及所述客户设备上的虚拟桌面显示程序实现,其中,所述客户端设备可以包括但不限于计算机、手机、pad、笔记本电脑等。
对应的,本发明还进一步提供一种虚拟机桌面显示装置。
参照图7,图7为本发明虚拟机桌面显示装置的第一实施例的功能模块示意图。
在一实施例中,所述虚拟机桌面显示装置包括:监听模块10、检测模块20、编码模块30及发送模块40。
所述监听模块10,用于监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据;
监听虚拟机操作系统内操作虚拟机桌面变化的操作数据。在用户对客户端桌面产生操作时,由于客户端与虚拟机的对应连接,所述虚拟机操作系统内会对应产生操作虚拟机桌面变化的操作数据,所述操作数据包括图形操作指令和位图数据。在虚拟机操作系统内产生操作虚拟机桌面变化的操作数据时,截获所述操作数据并进行处理。优选的,可以通过钩子程序实现对虚拟机操作系统内各种事件消息的监听,通过系统调用在虚拟机操作系统内挂入钩子程序,当虚拟机操作系统内的图形引擎产生操作虚拟机桌面变化的操作数据时,所述钩子程序即在所述操作数据到达目的窗口之前截获所述操作数据,获得对此操作数据的控制权,并对所述操作数据进行处理。优选的,在虚拟机显示驱动程序中挂入钩子程序,用于监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据,并对所述操作数据进行处理。通过监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据,对所述操作数据进行处理后发送给客户端进行还原显示,相对于现有的将所述操作数据在虚拟机桌面进行显示后,对虚拟机桌面进行截屏,获取截屏的虚拟机桌面显示数据,将截取的位图数据发送给客户端进行显示,省去了在虚拟机内显示的步骤,提高了虚拟桌面显示的运行效率,同时,减少了虚拟机端与客户端之间的网络传输的数据量。
所述检测模块20,用于当所述操作数据为位图数据时,对所述位图数据进行视频检测;
监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据,所述虚拟机操作系统内操作虚拟机桌面变化的操作数据可以是图形操作指令,也可以是位图数据。在获取了所述虚拟数据之后,对所述虚拟数据进行分类。当所述操作数据为位图数据时,对所述位图数据进行视频检测,用以判断所述位图数据是否是视频数据。优选的,对位图数据进行视频检测的过程:先判断所述位图数据的显示区域左下角及右下角坐标是否一样,宽度及高度是否一样,然后计算前后两幅位图数据的差值是否低于预设阈值,所述预设阈值为两幅位图数据的相似度,若两幅位图数据的差值低于预设的阈值,则判定为连续的视频数据,若高于预设阈值,则判定为不连续的离散位图数据。优选的,由虚拟机操作系统中的显示驱动程序获取所述操作数据,并将所述操作数据发送给显示代理程序,由所述显示代理程序完成对所述操作数据的分类及对所述位图数据进行视频检测。
优选的,当所述操作数据为位图数据时,对所述位图数据进行视频检测之前,可以先对所述位图数据进行扫描,通过逐行对比前后幅位图数据的显示数据,获取所述位图数据的显示区域中发生变化的区域,并提取变化区域的位图数据,然后对所述变化区域的位图数据进行视频检测,所述视频检测过程与上述过程相同,在此不再赘述。优选的,可以通过虚拟机内的显示驱动程序完成对所述操作数据的获取,以及对位图数据的扫描并获取变化区域的位图数据,所述显示驱动程序将变化区域的位图数据发送给显示代理程序,由所述显示代理程序完成对所述变化区域的位图数据的视频检测。
所述编码模块30,用于若所述位图数据为视频数据,则根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,得到编码后的视频数据;
对所述位图数据进行视频检测后,若所述位图数据为视频数据,则获取所述虚拟机节点的资源情况,根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,得到编码后的视频数据。虚拟机节点的资源情况主要包括虚拟机节点与客户端之间的网络带宽值以及所述虚拟机节点的CPU负载量。在客户端连接到虚拟机时,获取虚拟机节点与客户端之间的网络带宽值,根据虚拟机节点与客户端之间的网络带宽值选择合适的视频编码算法对视频进行编码。并在系统运行过程中,以一定周期获取虚拟机节点的CPU负载量,当CPU负载量高于预设的阈值,则更换CPU消耗低的视频编码算法进行编码。优选的,根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码的过程,可以在虚拟桌面显示系统的显示代理程序中实现。根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,可以平衡虚拟机节点与客户端之间的网络带宽值和虚拟机节点的CPU负载量,在保证虚拟机节点CPU正常运行的条件下降低了虚拟机端与客户端之间网络传输的数据量。
所述发送模块40,用于将编码后的视频数据发送到客户端,由客户端还原为桌面数据并显示。
相对于传输位图数据,将编码后的视频数据发送给客户端,可以降低虚拟机端与客户端之间的网络传输的数据量。优选的,传输视频数据采用专门的视频通道传输到客户端,并通过虚拟桌面显示系统中的显示代理程序将编码后的视频数据发送给客户端。
本实施例通过监听虚拟机操作系统内操作虚拟机桌面变化的操作数据,来获取虚拟机桌面显示的数据,从而省去了通过操作数据在虚拟机内显示再截屏的步骤,提高了虚拟机桌面显示的效率。同时,将视频数据进行编码后发送给客户端,降低了虚拟机端与客户端之间网络传输的数据量。
参照图8,图8为本发明虚拟机桌面显示装置的第二实施例的功能模块示意图。所述虚拟机桌面显示装置还包括转换模块50及压缩模块60;
所述转换模块50,用于当所述操作数据为图形操作指令时,将所述图形操作指令转换为可被客户端识别的图形指令;
监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据,所述虚拟机操作系统内操作虚拟机桌面变化的操作数据可以为图形操作指令,也可以是位图数据。在获取了所述操作数据之后,对所述操作数据进行分类,若所述操作指令为图形操作指令时,将所述图形操作指令转换为可被客户端识别的图形指令。优选的,对所述操作数据进行分类,并将所述图形操作指令转换为可被客户端识别的图形指令的过程,可以在虚拟桌面显示系统的显示驱动程序中完成,所述显示驱动程序对所述图形操作指令转换为图形指令后,将所述图形指令发送给显示代理程序,由所述显示代理程序发送给客户端。
所述发送模块40,还用于将所述图形指令发送给客户端,由客户端还原为桌面数据并显示。
相对于将图形操作指令在虚拟机内显示,并通过截取屏幕图像,将截取的位图数据传输给客户端进行显示,将所述图形指令发送给客户端,由客户端将所述图形操作指令还原为桌面数据并显示,可以减少虚拟机端与客户端之间的网络传输的数据量。优选的,由虚拟桌面显示系统中的显示代理程序将所述图形指令发送给客户端,且通过指令传输通道进行传输,与视频数据传输的视频通道分开传输,可以简化客户端逻辑。
所述压缩模块60,用于若所述位图数据确定为离散位图数据,则对所述离散位图数据进行压缩,得到压缩后的离散位图数据;
所述发送模块40,还用于将压缩后的离散位图数据发送给客户端,由所述客户端还原为桌面数据并显示。
若所述位图数据为离散位图数据,则将所述离散位图数据进行压缩以后传输给客户端,由客户端将所述压缩的离散位图数据还原为桌面数据之后进行显示。优选的,将离散的位图数据进行压缩以后发送给客户端的过程可以通过虚拟桌面显示系统的显示代理程序实现。进一步的,将所述压缩后的离散的位图数据通过视频通道传输给客户端。传输压缩后的位图数据,可以减少虚拟机端与客户端之间传输的数据量。
进一步的,参照图9,所述编码模块30包括比对单元31和编码单元32;
所述比对单元31,用于获取虚拟机节点与客户端之间的网络带宽值,并将所述网络带宽值与预设的网络带宽阈值进行比对;
在客户端连接到虚拟机时计算网络宽带值。优选的,所述网络带宽值使用虚拟机节点到客户端之间的网络延时计算出来。所述网络带宽阈值预设为20Mbps(兆位/秒)。根据国内网络的特点,公用网络一般不超过20Mbps,若网络带宽超过了20Mbps,则极有可能客户端和虚拟机端在局域网络中。通过所述网络带宽值与预设的网络带宽阈值进行比对,判断所述客户端与虚拟机端之间的网络是局域网络还是公用网络,并根据不同的网络智能选择视频编码算法进行视频编码。
所述编码单元32,用于若所述网络带宽值大于所述网络带宽阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
若所述网络带宽值大于预设的网络带宽阈值,则确定客户端与虚拟机节点处在局域网络中,此时可以采用CPU消耗低的视频编码算法对所述视频数据进行编码。优选的,所述CPU消耗低的视频编码算法为MJPEG编码。MJPEG编码过程中CPU消耗低,客户端对CPU解码能力的要求也不高,同时,MJPEG编码后的每一视频帧的数据量比较大,在虚拟机节点与客户端之间的网络带宽值大于预设的网络带宽阈值时,采用MJPEG编码对视频数据进行编码。可以有效的降低虚拟机端的CPU消耗。
所述比对单元31,还用于若所述网络带宽值小于所述网络带宽阈值,则获取所述虚拟机节点的CPU负载量,并将所述CPU负载量与预设的CPU负载阈值进行比对;
若所述网络带宽值小于所述网络带宽阈值,则进一步判断所述虚拟机节点的CPU负载量与预设的CPU负载阈值的相对大小。优选的,若所述网络带宽值小于所述网络带宽阈值,则在系统的运行过程中,以一定周期获取虚拟机节点的CPU负载量,并根据CPU负载量进行视频编码算法的动态调整。优选的,所述CPU负载阈值设置为70%。
所述编码单元32,还用于若所述CPU负载量大于所述CPU负载阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
当虚拟机节点的CPU负载量大于所述CPU负载阈值时,选择CPU消耗低的视频编码算法对所述视频进行编码。优选的,可以在虚拟机节点的CPU负载量大于所述CPU负载阈值,且持续预设的时间后,再进行视频编码算法的转换。所述CPU消耗低的视频编码算法为MJPEG编码,MJPEG编码过程中CPU消耗低。
所述编码单元32,还用于若所述CPU负载量小于所述CPU负载阈值,则选择CPU消耗高的编码算法对所述视频数据进行编码。
当虚拟机节点的CPU负载量小于所述CPU负载阈值时,选择CPU消耗高的视频编码算法对所述视频进行编码。优选的,可以在虚拟机节点的CPU负载量小于所述CPU负载阈值,且持续预设的时间后,再进行视频编码算法的转换。所述CPU消耗高的算法为H264编码算法。H264编码对CPU消耗高,传输时的数据量小,在网络传输时可以节省数据量。
进一步的,参照图10,所述检测模块20包括判断单元21和检测单元22;
所述判断单元21,用于判断所述位图数据是否为连续的位图数据;
所述检测单元22,用于若所述位图数据是连续的,则确定所述位图数据为视频数据;
所述检测单元22,还用于若所述位图数据是不连续的,则确定所述位图数据为离散位图数据。
判断所述位图数据是否为连续的位图数据的过程可以通过如下步骤实现:先获取连续两幅位图数据的显示区域的左上角及右下角的坐标,并判断所述连续两幅位图数据的显示区域的左上角及右下角的位图数据是否相同,若所述连续两幅位图数据的左下角及右上角坐标相同,则进一步获取并判断所述连续两幅位图数据的显示区域的宽及高是否相同,若所述连续两幅位图数据的宽及高也相同,则进一步对比所述连续两幅位图数据的显示区域的颜色值的差值,若所述连续两幅位图数据的显示区域的颜色值的差值低于预设的阈值,则判定所述连续两幅位图数据为视频数据。否则,判定为离散位图数据。优选的,在虚拟桌面显示系统的显示代理程序中判断所述位图数据是否为连续的位图数据。
本实施例通过监听虚拟机操作系统内操作虚拟机桌面变化的操作数据,来获取虚拟机桌面显示数据,从而省去了通过操作数据在虚拟机内显示再截屏的步骤,提高了虚拟桌面显示的效率。将虚拟机操作系统内的图形操作指令发送给客户端进行还原显示。同时,根据虚拟机节点到客户端的网络带宽值和虚拟机节点的CPU负载量动态选择视频编码算法对视频数据进行编码,将编码后的视频数据发送给客户端还原显示,在保证虚拟机节点CPU正常运行的条件下降低了虚拟机端与客户端之间网络传输的数据量。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种虚拟机桌面显示方法,其特征在于,所述虚拟机桌面显示方法包括以下步骤:
监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据;
当所述操作数据为位图数据时,对所述位图数据进行视频检测;
若所述位图数据为视频数据,则根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,得到编码后的视频数据;
将编码后的视频数据发送到客户端,由客户端还原为桌面数据并显示。
2.如权利要求1所述的虚拟机桌面显示方法,其特征在于,所述的根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码的步骤包括:
获取虚拟机节点与客户端之间的网络带宽值,并将所述网络带宽值与预设的网络带宽阈值进行比对;
若所述网络带宽值大于所述网络带宽阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
若所述网络带宽值小于所述网络带宽阈值,则获取所述虚拟机节点的CPU负载量,并将所述CPU负载量与预设的CPU负载阈值进行比对;
若所述CPU负载量大于所述CPU负载阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
若所述CPU负载量小于所述CPU负载阈值,则选择CPU消耗高的编码算法对所述视频数据进行编码。
3.如权利要求1所述的虚拟机桌面显示方法,其特征在于,所述的对所述位图数据进行视频检测的步骤包括:
判断所述位图数据是否为连续的位图数据;
若所述位图数据是连续的,则确定所述位图数据为视频数据;
若所述位图数据是不连续的,则确定所述位图数据为离散位图数据。
4.如权利要求3所述的虚拟机桌面显示方法,其特征在于,所述确定所述位图数据为离散位图数据的步骤之后,还包括:
若所述位图数据确定为离散位图数据,则对所述离散位图数据进行压缩,得到压缩后的离散位图数据;
将压缩后的离散位图数据发送给客户端,由所述客户端还原为桌面数据并显示。
5.如权利要求1至4任一项所述的虚拟机桌面显示方法,其特征在于,所述的监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据的步骤之后,还包括:
当所述操作数据为图形操作指令时,将所述图形操作指令转换为可被客户端识别的图形指令;
将所述图形指令发送给客户端,由客户端还原为桌面数据并显示。
6.一种虚拟机桌面显示装置,其特征在于,所述虚拟机桌面显示装置包括:
监听模块,用于监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据;
检测模块,用于当所述操作数据为位图数据时,对所述位图数据进行视频检测;
编码模块,用于若所述位图数据为视频数据,则根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,得到编码后的视频数据;
发送模块,用于将编码后的视频数据发送到客户端,由客户端还原为桌面数据并显示。
7.如权利要求6所述的虚拟机桌面显示装置,其特征在于,所述编码模块包括比对单元和编码单元;
所述比对单元,用于获取虚拟机节点与客户端之间的网络带宽值,并将所述网络带宽值与预设的网络带宽阈值进行比对;
所述编码单元,用于若所述网络带宽值大于所述网络带宽阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
所述比对单元,还用于若所述网络带宽值小于所述网络带宽阈值,则获取所述虚拟机节点的CPU负载量,并将所述CPU负载量与预设的CPU负载阈值进行比对;
所述编码单元,还用于若所述CPU负载量大于所述CPU负载阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
所述编码单元,还用于若所述CPU负载量小于所述CPU负载阈值,则选择CPU消耗高的编码算法对所述视频数据进行编码。
8.如权利要求6所述的虚拟机桌面显示装置,其特征在于,所述检测模块包括判断单元和检测单元;
所述判断单元,用于判断所述位图数据是否为连续的位图数据;
所述检测单元,用于若所述位图数据是连续的,则确定所述位图数据为视频数据;
所述检测单元,还用于若所述位图数据是不连续的,则确定所述位图数据为离散位图数据。
9.如权利要求8所述的虚拟机桌面显示装置,其特征在于,所述虚拟机桌面显示装置还包括压缩模块;
所述压缩模块,用于若所述位图数据确定为离散位图数据,则对所述离散位图数据进行压缩,得到压缩后的离散位图数据;
所述发送模块,还用于将压缩后的离散位图数据发送给客户端,由所述客户端还原为桌面数据并显示。
10.如权利要求6至9任一项所述的虚拟机桌面显示装置,其特征在于,所述虚拟机桌面显示装置还包括转换模块;
所述转换模块,用于当所述操作数据为图形操作指令时,将所述图形操作指令转换为可被客户端识别的图形指令;
所述发送模块,还用于将所述图形指令发送给客户端,由客户端还原为桌面数据并显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510039552.8A CN104618473B (zh) | 2015-01-26 | 2015-01-26 | 虚拟机桌面显示方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510039552.8A CN104618473B (zh) | 2015-01-26 | 2015-01-26 | 虚拟机桌面显示方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104618473A true CN104618473A (zh) | 2015-05-13 |
CN104618473B CN104618473B (zh) | 2019-04-16 |
Family
ID=53152748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510039552.8A Expired - Fee Related CN104618473B (zh) | 2015-01-26 | 2015-01-26 | 虚拟机桌面显示方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618473B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104869167A (zh) * | 2015-05-29 | 2015-08-26 | 深圳市云舒网络技术有限公司 | 一种服务器和桌面虚拟应用的负载平衡系统 |
CN104869168A (zh) * | 2015-05-29 | 2015-08-26 | 深圳市云舒网络技术有限公司 | 一种桌面虚拟应用的负载平衡方法 |
CN106293573A (zh) * | 2015-06-12 | 2017-01-04 | 联想(北京)有限公司 | 显示方法及电子设备 |
CN107589979A (zh) * | 2017-09-26 | 2018-01-16 | 新华三云计算技术有限公司 | 一种基于虚拟桌面的终端截图方法及装置 |
CN107613029A (zh) * | 2017-11-05 | 2018-01-19 | 深圳市青葡萄科技有限公司 | 一种适用于移动端或Web端的虚拟桌面远程方法及系统 |
CN108153573A (zh) * | 2017-12-26 | 2018-06-12 | 合肥中科云巢科技有限公司 | 云桌面图像更新方法及虚拟机 |
CN108319493A (zh) * | 2017-06-28 | 2018-07-24 | 新华三云计算技术有限公司 | 数据处理方法、装置及机器可读存储介质 |
CN111093076A (zh) * | 2019-12-25 | 2020-05-01 | 西安万像电子科技有限公司 | 编码方式确定方法及装置 |
CN111245879A (zh) * | 2018-11-29 | 2020-06-05 | 深信服科技股份有限公司 | 一种虚拟桌面的桌面内容传输方法、系统及相关组件 |
CN113423012A (zh) * | 2021-08-23 | 2021-09-21 | 中兴通讯股份有限公司 | 视频处理方法、服务器和计算机可读存储介质 |
CN114398017A (zh) * | 2022-01-13 | 2022-04-26 | 百度在线网络技术(北京)有限公司 | 时延检测方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158553A (zh) * | 2011-03-31 | 2011-08-17 | 华为技术有限公司 | 用于远程桌面的播放多媒体文件的方法和装置 |
CN103763610A (zh) * | 2013-12-27 | 2014-04-30 | 华为技术有限公司 | 一种远程桌面的重定向方法及装置 |
CN104115187A (zh) * | 2012-02-14 | 2014-10-22 | 微软公司 | 远程桌面协议中的视频检测 |
CN104219590A (zh) * | 2013-06-05 | 2014-12-17 | 华为终端有限公司 | 一种切换编码方式的方法、发送端和接收端 |
-
2015
- 2015-01-26 CN CN201510039552.8A patent/CN104618473B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158553A (zh) * | 2011-03-31 | 2011-08-17 | 华为技术有限公司 | 用于远程桌面的播放多媒体文件的方法和装置 |
CN104115187A (zh) * | 2012-02-14 | 2014-10-22 | 微软公司 | 远程桌面协议中的视频检测 |
CN104219590A (zh) * | 2013-06-05 | 2014-12-17 | 华为终端有限公司 | 一种切换编码方式的方法、发送端和接收端 |
CN103763610A (zh) * | 2013-12-27 | 2014-04-30 | 华为技术有限公司 | 一种远程桌面的重定向方法及装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104869168A (zh) * | 2015-05-29 | 2015-08-26 | 深圳市云舒网络技术有限公司 | 一种桌面虚拟应用的负载平衡方法 |
CN104869167A (zh) * | 2015-05-29 | 2015-08-26 | 深圳市云舒网络技术有限公司 | 一种服务器和桌面虚拟应用的负载平衡系统 |
CN104869167B (zh) * | 2015-05-29 | 2018-02-23 | 深圳市云舒网络技术有限公司 | 一种服务器和桌面虚拟应用的负载平衡系统 |
CN104869168B (zh) * | 2015-05-29 | 2018-02-27 | 深圳市云舒网络技术有限公司 | 一种桌面虚拟应用的负载平衡方法 |
CN106293573A (zh) * | 2015-06-12 | 2017-01-04 | 联想(北京)有限公司 | 显示方法及电子设备 |
CN106293573B (zh) * | 2015-06-12 | 2019-10-29 | 联想(北京)有限公司 | 显示方法及电子设备 |
CN108319493A (zh) * | 2017-06-28 | 2018-07-24 | 新华三云计算技术有限公司 | 数据处理方法、装置及机器可读存储介质 |
CN107589979B (zh) * | 2017-09-26 | 2020-12-04 | 新华三云计算技术有限公司 | 一种基于虚拟桌面的终端截图方法及装置 |
CN107589979A (zh) * | 2017-09-26 | 2018-01-16 | 新华三云计算技术有限公司 | 一种基于虚拟桌面的终端截图方法及装置 |
CN107613029A (zh) * | 2017-11-05 | 2018-01-19 | 深圳市青葡萄科技有限公司 | 一种适用于移动端或Web端的虚拟桌面远程方法及系统 |
CN108153573A (zh) * | 2017-12-26 | 2018-06-12 | 合肥中科云巢科技有限公司 | 云桌面图像更新方法及虚拟机 |
CN111245879A (zh) * | 2018-11-29 | 2020-06-05 | 深信服科技股份有限公司 | 一种虚拟桌面的桌面内容传输方法、系统及相关组件 |
CN111093076A (zh) * | 2019-12-25 | 2020-05-01 | 西安万像电子科技有限公司 | 编码方式确定方法及装置 |
CN113423012A (zh) * | 2021-08-23 | 2021-09-21 | 中兴通讯股份有限公司 | 视频处理方法、服务器和计算机可读存储介质 |
CN113423012B (zh) * | 2021-08-23 | 2021-12-03 | 中兴通讯股份有限公司 | 视频处理方法、服务器和计算机可读存储介质 |
CN114398017A (zh) * | 2022-01-13 | 2022-04-26 | 百度在线网络技术(北京)有限公司 | 时延检测方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104618473B (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104618473A (zh) | 虚拟机桌面显示方法及装置 | |
US9697615B2 (en) | Movement indication | |
CN102164167B (zh) | 一种用于远程控制的分类传输方法和系统 | |
CN102457544B (zh) | 基于互联网的屏幕共享系统中用于采集屏幕图像的方法和系统 | |
CN103139609B (zh) | 对远程应用视频播放进行优化的方法和装置 | |
US20040042547A1 (en) | Method and apparatus for digitizing and compressing remote video signals | |
CA2546952A1 (en) | Remote network management system | |
US20090234919A1 (en) | Method of Transmitting Data in a Communication System | |
CN107659827A (zh) | 基于内容分析的桌面视频编码控制系统 | |
CN109168041B (zh) | 一种移动终端监控方法及系统 | |
CN102164166B (zh) | 一种用于远程控制的分区传输方法和系统 | |
CN112085828B (zh) | 图像处理方法及装置、云真机系统、存储介质和电子设备 | |
CN110740352B (zh) | 显卡透传环境下基于spice协议的差异图像显示方法 | |
US20240320950A1 (en) | Image Output Method and Apparatus, Computer Device and Computer-Readable Storage Medium | |
US9055027B2 (en) | Transmission method and electronic device | |
TWI586175B (zh) | 視訊會議頻寬管理方法及系統 | |
KR101742258B1 (ko) | 웹 기반 가상 데스크탑 프로토콜을 이용한 컨텐츠 제공 방법 및 장치 | |
EP2661083B1 (en) | Video encoding system, method and computer readable medium thereof | |
US20120281757A1 (en) | Scene change detection for video transmission system | |
CN106302760A (zh) | 桌面截屏控制方法及系统 | |
CN113407043B (zh) | 一种数据处理方法、装置、设备及系统 | |
CN105491320B (zh) | 视频会议带宽管理方法及系统 | |
CN117492989A (zh) | 一种ai算力可调的智能视频分析系统 | |
CN1303518C (zh) | 远程服务器主机画面监控系统及其方法 | |
CN114666561A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190416 Termination date: 20200126 |