CN110740352B - 显卡透传环境下基于spice协议的差异图像显示方法 - Google Patents

显卡透传环境下基于spice协议的差异图像显示方法 Download PDF

Info

Publication number
CN110740352B
CN110740352B CN201911115591.6A CN201911115591A CN110740352B CN 110740352 B CN110740352 B CN 110740352B CN 201911115591 A CN201911115591 A CN 201911115591A CN 110740352 B CN110740352 B CN 110740352B
Authority
CN
China
Prior art keywords
image
rectangular
desktop
data
images
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
Application number
CN201911115591.6A
Other languages
English (en)
Other versions
CN110740352A (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.)
Beijing Jinghang Computing Communication Research Institute
Original Assignee
Beijing Jinghang Computing Communication Research Institute
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 Beijing Jinghang Computing Communication Research Institute filed Critical Beijing Jinghang Computing Communication Research Institute
Priority to CN201911115591.6A priority Critical patent/CN110740352B/zh
Publication of CN110740352A publication Critical patent/CN110740352A/zh
Application granted granted Critical
Publication of CN110740352B publication Critical patent/CN110740352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Abstract

本发明属于计算机科学技术领域,具体涉及一种显卡透传环境下基于SPICE协议的差异图像显示方法。与现有技术相比较,本发明通过比较虚拟机桌面图像产生差异图像数据,对差异图像数据的合并,差异图像数据的压缩。通过采用差异图像算法既能降低传输数据量,又能做到高清晰度低延时。由此,相比现有技术,本发明由于只将图像的差异部分传输给SPICE服务端,极大的降低了图像数据量,且将差异图像进行了合并,减少虚拟机I/O的传输次数,不再占用大量的虚拟机I/O,降低虚拟机性能。并且,由于只需要比较当前桌面和上一幅桌面就能发送一个数据报文,可以在获取桌面图像的同时将其发送给客户端,随抓随发,可以做到即时显示,降低延时。

Description

显卡透传环境下基于SPICE协议的差异图像显示方法
技术领域
本发明属于计算机科学技术领域,具体涉及一种显卡透传环境下基于SPICE协议的差异图像显示方法。
背景技术
SPICE是一款开源桌面虚拟化数据传输协议,通过QEMU提供的显卡直通机制,将服务器上的物理显卡提供给虚拟机使用,能满足用户三维设计、工业设计、视频播放等高性能显示需求。现有技术通过虚拟机内代理采集虚拟机内的桌面图像数据,将捕获到的显卡透传桌面图像,使用原始图像压缩算法或者H264视频压缩算法,将这些图像数据传递给客户端。
1)使用原始图像压缩算法传输显卡透传数据:
虚拟机内代理捕获每一帧的桌面,只要桌面刷新就进行捕获,然后使用透传显卡压缩每一幅桌面图像,图像数据大小与桌面分辨率成正比。虚拟机内代理一边进行图像压缩,一边将图像数据使用通信信道发送给SPICE服务端,SPICE服务端将压缩后的图像数据转换成SPICE协议数据,发送给客户端。
2)使用H264视频压缩算法传输显卡透传数据:
虚拟机内代理从虚拟机桌面捕获若干幅显示图像,通过透传显卡将图像硬件压缩成H264视频流。H264视频压缩算法将若干幅图像压缩成一帧进行传输,图像之间帧间相关,帧之间有先后顺序要求。虚拟机内代理将压缩后的视频流使用通信信道发送给SPICE服务端,SPICE服务端将视频流转换成SPICE协议数据,发送给客户端。客户端接收视频流后需要使用硬件解码或软件解码后才能显示。
但,上述两种方案均存在其固有缺陷如下:
1)现有方案使用原始图像压缩算法,由于捕获每一帧的桌面,即使进行了图像压缩,图像数据量依然巨大,且与桌面分辨率成正比,缺点如下:
a)压缩后的数据需要传输给SPICE服务端,占用大量虚拟机I/O,降低虚拟机性能。
b)图像压缩后的图像数据量依然巨大,大大占用网络带宽,降低网络性能,不适合复杂的互联网环境。
2)现有方案使用使用H264视频压缩算法传输显卡透传数据,缺点如下:
a)H264视频压缩算法为有损压缩算法,造成图片质量损耗,降低清晰度。
b)H264视频压缩算法将若干幅图像压缩成一帧进行传输,捕获时需要一小段时间差,造成一定的延时。
c)客户端接收到H264视频流,需要解码后显示。解码有两种方法:
a.使用硬件解码H264视频流,客户端需要具有硬件解码能力;
b.不具备硬件解码H264视频流能力的客户端,需要使用CPU解码H264视频流,会占用大量CPU资源,且解码能力差。
综上,使用原始图像压缩算法传输显卡透传数据,极大的影响了虚拟机性能并且占用大量网络带宽,不适用于互联网环境。使用H264视频压缩算法传输显卡透传数据,会造成网络延时,图像质量损耗,不适用于工业设计等要求高清晰度、低延时的场景。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种显卡透传环境下基于SPICE协议的差异图像显示方法。
(二)技术方案
为解决上述技术问题,本发明提供一种显卡透传环境下基于SPICE协议的差异图像显示方法,所述方法基于差异图像显示系统来实施,所述差异图像显示系统包括:虚拟机端代理组件及SPICE服务器端的图像转换模块;所述虚拟机端代理组件包括:分辨率获取模块、图像切割模块、图像排列模块、图像比较模块、图像合并模块、第一图像发送模块、图像保存模块;所述图像转换模块包括:图像大小判断模块、第二图像发送模块、图像压缩模块;
所述差异图像显示方法包括如下步骤:
步骤1:所述分辨率获取模块从透传显卡获取当前桌面分辨率,根据虚拟机性能确定切割后矩形图像的长X和宽Y的大小;
步骤2:所述图像切割模块从透传显卡获取当前的桌面图像A,按照长X和宽Y进行切割,将桌面图像A切割成N个的矩形图像,每个矩形图像内的图像数据都为原始位图数据;
步骤3:所述图像排列模块将N个矩形图像按照桌面坐标次序进行排列,左上角的矩形图像为第一个,右下角的矩形图像为最后一个,按照坐标从左到右然后从上到下的顺序排列,记录这些矩形图像的图像数据和坐标数据,放入一个数组LA中;
步骤4:在桌面分辨率不变的情况下,当桌面刷新时,从透传显卡获取新的桌面图像B,重复步骤2和步骤3,得到对应新的桌面图像B的一系列的矩形图像的数组LB
步骤5:所述图像比较模块对由桌面图像A和桌面图像B切割形成的N个有次序的矩形图像按顺序进行比较,即比较数组LA中的第i个矩形图像是否和数组LB中的第i个矩形图像是否一致,然后从数组LB中删除一样的矩形图像,只保留不一样的矩形图像,从而得到新的数组LB2
步骤6:所述图像合并模块将LB2数组中的矩形图像做合并操作:如果某个矩形图像的左右或者上下的矩形图像也在LB2中,那么将这些位置邻近的矩形图像组合成一个大的矩形图像,修改其长和宽、坐标数据以及图像数据,将新组合成的矩形图像放入数组LB3中,新的数组LB3中的矩形图像的大小不再一致;
步骤7:所述第一图像发送模块将步骤6获得的数组LB3发送给SPICE服务端,数组LB3中的图像即为差异图像;
步骤8:所述图像保存模块将数组LB的图像保存至内存,释放数组LA、数组LB2、数组LB3的图像;
步骤9:重复上述步骤1至步骤8,每捕获到一幅新的桌面图像,进行切割,并和上一幅桌面图像比较、合并,然后传输给SPICE服务端;
由此,通过步骤1-步骤9,完成虚拟机端代理组件的工作;
步骤10:所述图像大小判断模块接收到来自虚拟机端代理组件的若干个数组LB3的矩形图像,依次对数组中的每一个矩形图像根据图像的大小进行判断,是否进行图像压缩;
步骤11:所述第二图像发送模块对于数组LB3中不需要压缩的矩形图像,依次取出,根据矩形图像的原始坐标数据和原始图像数据,将图像转化成SPICE协议所规定数据格式的SPICE协议数据,形成一个数据报文,发送到客户端;
步骤12:对于需要压缩的矩形图像,在SPICE服务端由图像压缩模块无损压缩后,根据矩形图像的原始坐标数据和压缩后的图像数据,将图像转化成SPICE协议数据,形成一个数据报文,再由第二图像发送模块发送到客户端;
由此,完成SPICE服务器端的图像转换模块的工作;
在SPICE客户端,继续完成下述步骤:
步骤13:接收到SPICE服务端发送的SPICE协议数据,将其转化为图像数据;
步骤14:将不需要解压的图像直接显示到客户端桌面;
步骤15:将需要解压缩的图像进行解压缩,再显示到客户端桌面。
其中,所述透传显卡定义为:图像通过物理显卡透传到虚拟机的过程中,该物理显卡称为透传显卡。
其中,所述步骤1中,X=系统桌面分辨率长/32,Y=系统桌面分辨率宽/32。
其中,所述步骤2中,若当前桌面图像A为分辨率改变后的第一幅桌面图像,则将桌面图像A压缩后整幅图像传输给客户。
其中,所述步骤3中,所述图像数据为图像位图数据。
其中,所述步骤4中,在桌面分辨率改变时,需要重新开始步骤1。
其中,所述步骤5中,比较数组LA中的第i个矩形图像是否和数组LB中的第i个矩形图像是否一致为:比较矩形图像的图像数据和坐标数据是否均一致。
其中,所述步骤6中,所述某个矩形图像的左右或者上下的矩形图像表示:
对于某个矩形图像的左边的矩形图像,其坐标数据的右坐标数据与前述某个矩形图像的左坐标数据相同;
对于某个矩形图像的右边的矩形图像,其坐标数据的左坐标数据与前述某个矩形图像的右坐标数据相同;
对于某个矩形图像的上边的矩形图像,其坐标数据的下坐标数据与前述某个矩形图像的上坐标数据相同;
对于某个矩形图像的下边的矩形图像,其坐标数据的上坐标数据与前述某个矩形图像的下坐标数据相同。
其中,所述步骤10中,是否进行图像压缩的大小限制条件为:图像大小是否超过128像素*128像素,若超过128像素*128像素,则需要进行压缩。
其中,所述步骤12中,所述服务端无损压缩过程为并行处理,即将数据Lb3内的多个图像进行并行压缩。
(三)有益效果
现有基于SPICE的显卡直通方案中,使用原始图像压缩算法传输显卡透传数据时,由于图像数据量大,降低虚拟机性能和网络性能;使用H264视频压缩算法传输显卡透传数据时,清晰度低延时高,并且要求客户端具有H264硬解码功能,否则会消耗大量客户端的CPU资源。
与现有技术相比较,本发明采用差异图像算法既能降低传输数据量,又能做到高清晰度低延时。
其中,本发明所采用的区别技术特征包括:
(1)比较虚拟机桌面图像产生差异图像数据。
(2)对差异图像数据的合并。
(3)差异图像数据的压缩。
由此,相比现有技术,本发明的优点如下:
(1)对比原始图像压缩算法:
a)由于只将图像的差异部分传输给SPICE服务端,极大的降低了图像数据量,且将差异图像进行了合并,减少虚拟机I/O的传输次数,不再占用大量的虚拟机I/O,降低虚拟机性能。
b)首先图像的差异部分会降低一部分数据量,其次对差异部分中较大的图像再进行压缩,进一步降低数据量,不再占用大量的网络带宽,影响网络性能。
(2)对比H264视频压缩算法:
a)只需要比较当前桌面和上一幅桌面就能发送一个数据报文,可以在获取桌面图像的同时将其发送给客户端,随抓随发,可以做到即时显示,降低延时。
b)对图像进行无损压缩,不损耗图像质量,具有更高的清晰度。
c)对于不具备硬件解码H264视频流能力的客户端,采用差异图像算法时,解码一幅图片所消耗的CPU资源比解码H264视频流少,提升性能。
附图说明
图1及图2为本发明技术方案原理示意图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为解决现有技术问题,本发明提供一种显卡透传环境下基于SPICE协议的差异图像显示方法,如图1及图2所示,所述方法基于差异图像显示系统来实施,所述差异图像显示系统包括:虚拟机端代理组件及SPICE服务器端的图像转换模块;所述虚拟机端代理组件包括:分辨率获取模块、图像切割模块、图像排列模块、图像比较模块、图像合并模块、第一图像发送模块、图像保存模块;所述图像转换模块包括:图像大小判断模块、第二图像发送模块、图像压缩模块;
所述差异图像显示方法包括如下步骤:
步骤1:所述分辨率获取模块从透传显卡获取当前桌面分辨率,根据虚拟机性能确定切割后矩形图像的长X和宽Y的大小,单位为像素。
步骤2:所述图像切割模块从透传显卡获取当前的桌面图像A,按照长X和宽Y进行切割,将桌面图像A切割成N个的矩形图像,每个矩形图像内的图像数据都为原始位图数据;
步骤3:所述图像排列模块将N个矩形图像按照桌面坐标次序进行排列,左上角的矩形图像为第一个,右下角的矩形图像为最后一个,按照坐标从左到右然后从上到下的顺序排列,记录这些矩形图像的图像数据和坐标数据,放入一个数组LA中;
步骤4:在桌面分辨率不变的情况下,当桌面刷新时,从透传显卡获取新的桌面图像B,重复步骤2和步骤3,得到对应新的桌面图像B的一系列的矩形图像的数组LB
步骤5:所述图像比较模块对由桌面图像A和桌面图像B切割形成的N个有次序的矩形图像按顺序进行比较,即通过OpenGL快速比较数组LA中的第i个矩形图像是否和数组LB中的第i个矩形图像是否一致,然后从数组LB中删除一样的矩形图像,只保留不一样的矩形图像,从而得到新的数组LB2
步骤6:所述图像合并模块将LB2数组中的矩形图像做合并操作:如果某个矩形图像的左右或者上下的矩形图像也在LB2中,那么将这些位置邻近的矩形图像组合成一个大的矩形图像,修改其长和宽、坐标数据以及图像数据,将新组合成的矩形图像放入数组LB3中,新的数组LB3中的矩形图像的大小不再一致;
步骤7:所述第一图像发送模块将步骤6获得的数组LB3发送给SPICE服务端,数组LB3中的图像即为差异图像;
步骤8:所述图像保存模块将数组LB的图像保存至内存,释放数组LA、数组LB2、数组LB3的图像;
步骤9:重复上述步骤1至步骤8,每捕获到一幅新的桌面图像,进行切割,并和上一幅桌面图像比较、合并,然后传输给SPICE服务端;
由此,通过步骤1-步骤9,完成虚拟机端代理组件的工作;
步骤10:所述图像大小判断模块接收到来自虚拟机端代理组件的若干个数组LB3的矩形图像,依次对数组中的每一个矩形图像根据图像的大小进行判断,是否进行图像压缩;
步骤11:所述第二图像发送模块对于数组LB3中不需要压缩的矩形图像,依次取出,根据矩形图像的原始坐标数据和原始图像数据,将图像转化成SPICE协议所规定数据格式的SPICE协议数据,形成一个数据报文,发送到客户端,没有先后顺序要求;
步骤12:对于需要压缩的矩形图像,在SPICE服务端由图像压缩模块无损压缩后,根据矩形图像的原始坐标数据和压缩后的图像数据,将图像转化成SPICE协议数据,形成一个数据报文,再由第二图像发送模块发送到客户端,没有先后顺序要求;
由此,完成SPICE服务器端的图像转换模块的工作;
在SPICE客户端,继续完成下述步骤:
步骤13:接收到SPICE服务端发送的SPICE协议数据,将其转化为图像数据;
步骤14:将不需要解压的图像直接显示到客户端桌面,没有先后顺序要求;
步骤15:将需要解压缩的图像进行解压缩(并行处理),再显示到客户端桌面,没有先后顺序要求。
其中,所述透传显卡定义为:图像通过物理显卡透传到虚拟机的过程中,该物理显卡称为透传显卡。
其中,所述步骤1中,X=系统桌面分辨率长/32,Y=系统桌面分辨率宽/32,虚拟机性能越高,X和Y可以越小。
其中,所述步骤2中,若当前桌面图像A为分辨率改变后的第一幅桌面图像,则将桌面图像A压缩后整幅图像传输给客户。
其中,所述步骤3中,所述图像数据为图像位图数据。
其中,所述步骤4中,在桌面分辨率改变时,需要重新开始步骤1。
其中,所述步骤5中,比较数组LA中的第i个矩形图像是否和数组LB中的第i个矩形图像是否一致为:比较矩形图像的图像数据和坐标数据是否均一致。
其中,所述步骤6中,所述某个矩形图像的左右或者上下的矩形图像表示:
对于某个矩形图像的左边的矩形图像,其坐标数据的右坐标数据与前述某个矩形图像的左坐标数据相同;
对于某个矩形图像的右边的矩形图像,其坐标数据的左坐标数据与前述某个矩形图像的右坐标数据相同;
对于某个矩形图像的上边的矩形图像,其坐标数据的下坐标数据与前述某个矩形图像的上坐标数据相同;
对于某个矩形图像的下边的矩形图像,其坐标数据的上坐标数据与前述某个矩形图像的下坐标数据相同。
其中,所述步骤10中,是否进行图像压缩的大小限制条件默认为:图像大小是否超过128像素*128像素,若超过128像素*128像素,则需要进行压缩,该图像大小会根据用户设定,服务器CPU性能和网络带宽条件进行动态调整,当CPU性能越低或者网络带宽较高时,会限制需要图像压缩的矩形图像数量,需要压缩的图像大小长和宽以指数型增长。
其中,所述步骤12中,所述服务端无损压缩过程为并行处理,即将数据Lb3内的多个图像进行并行压缩。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (9)

1.一种显卡透传环境下基于SPICE协议的差异图像显示方法,其特征在于,所述方法基于差异图像显示系统来实施,所述差异图像显示系统包括:虚拟机端代理组件及SPICE服务器端的图像转换模块;所述虚拟机端代理组件包括:分辨率获取模块、图像切割模块、图像排列模块、图像比较模块、图像合并模块、第一图像发送模块、图像保存模块;所述图像转换模块包括:图像大小判断模块、第二图像发送模块、图像压缩模块;
所述差异图像显示方法包括如下步骤:
步骤1:所述分辨率获取模块从透传显卡获取当前桌面分辨率,根据虚拟机性能确定切割后矩形图像的长X和宽Y的大小,单位为像素;
步骤2:所述图像切割模块从透传显卡获取当前的桌面图像A,按照长X和宽Y进行切割,将桌面图像A切割成N个的矩形图像,每个矩形图像内的图像数据都为原始位图数据;
步骤3:所述图像排列模块将N个矩形图像按照桌面坐标次序进行排列,左上角的矩形图像为第一个,右下角的矩形图像为最后一个,按照坐标从左到右然后从上到下的顺序排列,记录这些矩形图像的图像数据和坐标数据,放入一个数组LA中;
步骤4:在桌面分辨率不变的情况下,当桌面刷新时,从透传显卡获取新的桌面图像B,重复步骤2和步骤3,得到对应新的桌面图像B的一系列的矩形图像的数组LB
步骤5:所述图像比较模块对由桌面图像A和桌面图像B切割形成的N个有次序的矩形图像按顺序进行比较,即通过OpenGL快速比较数组LA中的第i个矩形图像是否和数组LB中的第i个矩形图像是否一致,然后从数组LB中删除一样的矩形图像,只保留不一样的矩形图像,从而得到新的数组LB2
步骤6:所述图像合并模块将LB2数组中的矩形图像做合并操作:如果某个矩形图像的左右或者上下的矩形图像也在LB2中,那么将这些位置邻近的矩形图像组合成一个大的矩形图像,修改其长和宽、坐标数据以及图像数据,将新组合成的矩形图像放入数组LB3中,新的数组LB3中的矩形图像的大小不再一致;
步骤7:所述第一图像发送模块将步骤6获得的数组LB3发送给SPICE服务端,数组LB3中的图像即为差异图像;
步骤8:所述图像保存模块将数组LB的图像保存至内存,释放数组LA、数组LB2、数组LB3的图像;
步骤9:重复上述步骤1至步骤8,每捕获到一幅新的桌面图像,进行切割,并和上一幅桌面图像比较、合并,然后传输给SPICE服务端;
由此,通过步骤1-步骤9,完成虚拟机端代理组件的工作;
步骤10:所述图像大小判断模块接收到来自虚拟机端代理组件的若干个数组LB3的矩形图像,依次对数组中的每一个矩形图像根据图像的大小进行判断,是否进行图像压缩;
步骤11:所述第二图像发送模块对于数组LB3中不需要压缩的矩形图像,依次取出,根据矩形图像的原始坐标数据和原始图像数据,将图像转化成SPICE协议所规定数据格式的SPICE协议数据,形成一个数据报文,发送到客户端,没有先后顺序要求;
步骤12:对于需要压缩的矩形图像,在SPICE服务端由图像压缩模块无损压缩后,根据矩形图像的原始坐标数据和压缩后的图像数据,将图像转化成SPICE协议数据,形成一个数据报文,再由第二图像发送模块发送到客户端,没有先后顺序要求;
由此,完成SPICE服务器端的图像转换模块的工作;
在SPICE客户端,继续完成下述步骤:
步骤13:接收到SPICE服务端发送的SPICE协议数据,将其转化为图像数据;
步骤14:将不需要解压的图像直接显示到客户端桌面,没有先后顺序要求;
步骤15:将需要解压缩的图像进行解压缩的并行处理,再显示到客户端桌面,没有先后顺序要求。
2.如权利要求1所述的显卡透传环境下基于SPICE协议的差异图像显示方法,其特征在于,所述透传显卡定义为:图像通过物理显卡透传到虚拟机的过程中,该物理显卡称为透传显卡。
3.如权利要求1所述的显卡透传环境下基于SPICE协议的差异图像显示方法,其特征在于,所述步骤1中,X=系统桌面分辨率长/32,Y=系统桌面分辨率宽/32,虚拟机性能越高,X和Y可以越小。
4.如权利要求1所述的显卡透传环境下基于SPICE协议的差异图像显示方法,其特征在于,所述步骤2中,若当前桌面图像A为分辨率改变后的第一幅桌面图像,则将桌面图像A压缩后整幅图像传输给客户。
5.如权利要求1所述的显卡透传环境下基于SPICE协议的差异图像显示方法,其特征在于,所述步骤3中,所述图像数据为图像位图数据。
6.如权利要求1所述的显卡透传环境下基于SPICE协议的差异图像显示方法,其特征在于,所述步骤4中,在桌面分辨率改变时,需要重新开始步骤1。
7.如权利要求1所述的显卡透传环境下基于SPICE协议的差异图像显示方法,其特征在于,所述步骤5中,比较数组LA中的第i个矩形图像是否和数组LB中的第i个矩形图像是否一致为:比较矩形图像的图像数据和坐标数据是否均一致。
8.如权利要求1所述的显卡透传环境下基于SPICE协议的差异图像显示方法,其特征在于,所述步骤6中,所述某个矩形图像的左右或者上下的矩形图像表示:
对于某个矩形图像的左边的矩形图像,其坐标数据的右坐标数据与前述某个矩形图像的左坐标数据相同;
对于某个矩形图像的右边的矩形图像,其坐标数据的左坐标数据与前述某个矩形图像的右坐标数据相同;
对于某个矩形图像的上边的矩形图像,其坐标数据的下坐标数据与前述某个矩形图像的上坐标数据相同;
对于某个矩形图像的下边的矩形图像,其坐标数据的上坐标数据与前述某个矩形图像的下坐标数据相同。
9.如权利要求1所述的显卡透传环境下基于SPICE协议的差异图像显示方法,其特征在于,所述步骤12中,所述服务端无损压缩过程为并行处理,即将数据LB3内的多个图像进行并行压缩。
CN201911115591.6A 2019-11-14 2019-11-14 显卡透传环境下基于spice协议的差异图像显示方法 Active CN110740352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911115591.6A CN110740352B (zh) 2019-11-14 2019-11-14 显卡透传环境下基于spice协议的差异图像显示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911115591.6A CN110740352B (zh) 2019-11-14 2019-11-14 显卡透传环境下基于spice协议的差异图像显示方法

Publications (2)

Publication Number Publication Date
CN110740352A CN110740352A (zh) 2020-01-31
CN110740352B true CN110740352B (zh) 2021-07-20

Family

ID=69272874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911115591.6A Active CN110740352B (zh) 2019-11-14 2019-11-14 显卡透传环境下基于spice协议的差异图像显示方法

Country Status (1)

Country Link
CN (1) CN110740352B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114675914B (zh) * 2022-02-11 2024-04-09 深信服科技股份有限公司 虚拟桌面的图像传输方法、装置、电子设备及存储介质
CN114422807B (zh) * 2022-03-28 2022-10-21 麒麟软件有限公司 一种基于Spice协议的传输优化方法
CN115802047A (zh) * 2023-01-19 2023-03-14 苏州浪潮智能科技有限公司 一种视频数据传输方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684464A (zh) * 2004-04-15 2005-10-19 微软公司 用于远程差分压缩的有效算法和协议
CN102411786A (zh) * 2010-09-29 2012-04-11 微软公司 用于基于dwt的系统的运动补偿的低复杂度方法
WO2012106980A1 (zh) * 2011-02-11 2012-08-16 运软网络科技(上海)有限公司 多维智能服务点虚拟桌面方法及基础架构
CN103858095A (zh) * 2013-08-02 2014-06-11 华为技术有限公司 一种图像显示方法和装置
CN104768009A (zh) * 2015-03-19 2015-07-08 中国科学院信息工程研究所 一种桌面虚拟化spice协议下的图像传输方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684464A (zh) * 2004-04-15 2005-10-19 微软公司 用于远程差分压缩的有效算法和协议
CN102411786A (zh) * 2010-09-29 2012-04-11 微软公司 用于基于dwt的系统的运动补偿的低复杂度方法
WO2012106980A1 (zh) * 2011-02-11 2012-08-16 运软网络科技(上海)有限公司 多维智能服务点虚拟桌面方法及基础架构
CN103858095A (zh) * 2013-08-02 2014-06-11 华为技术有限公司 一种图像显示方法和装置
CN104768009A (zh) * 2015-03-19 2015-07-08 中国科学院信息工程研究所 一种桌面虚拟化spice协议下的图像传输方法

Also Published As

Publication number Publication date
CN110740352A (zh) 2020-01-31

Similar Documents

Publication Publication Date Title
CN111681167B (zh) 画质调整方法和装置、存储介质及电子设备
CN110740352B (zh) 显卡透传环境下基于spice协议的差异图像显示方法
JP5319875B2 (ja) アプリケーション・メタデータを用いるグラフィカル・ユーザ・インターフェースの適応ビデオ圧縮法
KR101698951B1 (ko) 복수의 시각적 요소를 가지는 스크린을 공유하는 시스템, 장치, 및 방법
US10382769B2 (en) Real-time lossless compression of depth streams
US9426476B2 (en) Video stream
CN105338323A (zh) 一种视频监控方法及装置
EP3410302B1 (en) Graphic instruction data processing method, apparatus
CN109040786B (zh) 摄像头数据的传输方法、装置、系统及存储介质
US11265528B2 (en) Methods and systems for color smoothing for point cloud compression
US11451836B2 (en) Techniques and apparatus for PCM patch creation using Morton codes
CN110891084A (zh) 一种基于自主hvdp协议的瘦客户端远程桌面控制系统
JP2015507902A (ja) 安定した情報および過渡的/確率的情報の別個のエンコードおよびデコード
US20130039429A1 (en) Computer display content coding method and system
US20100049832A1 (en) Computer program product, a system and a method for providing video content to a target system
CN110868614B (zh) 显卡透传环境下基于spice协议的差异图像显示系统
EP3063937B1 (en) Chroma down-conversion and up-conversion processing
CN108933945B (zh) 一种gif图片的压缩方法、装置及存储介质
CN107318021A (zh) 一种远程显示的数据处理方法及系统
WO2022127565A1 (zh) 一种视频处理方法、装置以及设备
CN107506232A (zh) 一种图片获取方法及系统
CN116405606A (zh) 一种提高图像网络传输效率的方法
EP2946554B1 (en) System, apparatus and method for sharing a screen having multiple visual components
CN116489132A (zh) 虚拟桌面数据传输方法、服务器、客户端和存储介质
WO2022234575A1 (en) System and method for dynamic video compression

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