CN107360443B - 一种云桌面图像处理方法、云桌面服务器及客户端 - Google Patents

一种云桌面图像处理方法、云桌面服务器及客户端 Download PDF

Info

Publication number
CN107360443B
CN107360443B CN201610301903.2A CN201610301903A CN107360443B CN 107360443 B CN107360443 B CN 107360443B CN 201610301903 A CN201610301903 A CN 201610301903A CN 107360443 B CN107360443 B CN 107360443B
Authority
CN
China
Prior art keywords
data block
video data
processed
cloud desktop
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
Application number
CN201610301903.2A
Other languages
English (en)
Other versions
CN107360443A (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.)
Nanjing ZTE New Software Co Ltd
Original Assignee
Nanjing ZTE New Software 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 Nanjing ZTE New Software Co Ltd filed Critical Nanjing ZTE New Software Co Ltd
Priority to CN201610301903.2A priority Critical patent/CN107360443B/zh
Priority to PCT/CN2017/082288 priority patent/WO2017193821A1/zh
Publication of CN107360443A publication Critical patent/CN107360443A/zh
Application granted granted Critical
Publication of CN107360443B publication Critical patent/CN107360443B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种云桌面图像处理方法、云桌面服务器及客户端,云桌面服务器和客户端各自设置主图像缓存区和从图像缓存区同步缓存图像复杂度大于图像复杂度阈值的图像数据块。云桌面服务器接收到云桌面虚拟机发送的云桌面图像数据后,对于在主图像缓存区存储区中已存储的待处理图像数据块进行清零压缩后得到清零数据块发给客户端。客户端接收数据流且进行解码后,则根据对应的命中数据块索引信息由从图像缓存区存储区中获取对应的命中图像数据块对清零数据块进行替换即可正确解码回放。因此,本发明利用该缓存机制可进一步降低网络带宽,在更低的网络带宽下,保障云桌面的操作流畅性,提高云桌面的使用体验。

Description

一种云桌面图像处理方法、云桌面服务器及客户端
技术领域
本发明涉及云通信领域,尤其涉及一种云桌面图像处理方法、云桌面服务器及客户端。
背景技术
目前,随着云计算技术产业的快速发展,人们的生活再一次掀起信息化的浪潮。而云桌面应用作为云计算技术产业布局最早的应用之一,将云计算和桌面虚拟化技术相结合,为人们的生活、学习、工作等方面提供了一种全新的PC体验方式。与传统PC相比,云桌面应用基于云计算数据中心为用户提供桌面应用服务。具体来说,数据中心通过服务器虚拟化技术为用户分配桌面虚拟机,通过虚拟桌面远程传输协议将桌面虚拟机与用户终端进行映射绑定,为用户提供实时的桌面体验。
SPICE协议是作为一种开源的虚拟桌面远程传输协议,采用Server/Client模式,在云桌面虚拟机与用户终端(即客户端)之间分别建立显示、音频输入输出、鼠标/键盘输入输出等网络通道,传输桌面应用数据。因此,基于SPICE协议的云桌面应用,其用户体验取决于网络带宽是否可以满足SPICE协议中各个传输通道的需求,而这其中,显示通道所传输的图像数据对带宽的需求最大。
原生的SPICE协议采用了MJPG视频压缩算法对虚拟机中的视频流进行压缩,同时根据检测到的桌面图像类型,动态选择Quick、LZ、GL图像压缩算法对桌面图像进行压缩,最终通过显示通道将这些实时数据传输至用户终端的Client端进行解码回放。但由于这些压缩算法效率较低,占用带宽较高,无法保证在网络带宽波动较大的情况下为用户提供高可靠性的桌面应用,因此不能适应于更多更复杂的网络环境。
为了解决上述问题,申请号为201310330300.1,发明名称“云桌面图像分类与编码方法”的中国专利申请公开了一种解决方案,其根据不同的桌面图像进行分类,根据分类后的图像类型采用不同的压缩算法进行编码。但该方案的桌面图像分类是基于静态图像进行处理的,当桌面图像变化复杂、变化区域较大时,用户终端与虚拟机的带宽需求仍然很大。
对此,申请号为201510642051.9,发明名称为“云桌面高清视频传输协议及架构”的中国专利申请又公开了一种解决方案,其在服务器端将整个云桌面的显示区域识别为变化区域,不再区分桌面图像和视频显示区域,采用H.264压缩算法进行压缩,传输到客户端。该专利利用H.264压缩算法,将云桌面进行视频流化处理,进一步提高图像的压缩比,从而降低云桌面对带宽的依赖性。但H.264算法针对流化的桌面显示数据采用了帧内和帧间压缩,在各帧图像变化剧烈时,由于图像复杂度较高,产生的桌面图像数据流量依然很大,桌面图像数据对客户端与虚拟机的带宽需求仍然很大。
发明内容
本发明提供了一种云桌面图像处理方法、云桌面服务器及客户端,解决现有云桌面图像数据对带宽需求大的问题。
本发明提供了一种云桌面图像处理方法,包括:
云桌面服务器设置用于存储命中图像数据块的主图像缓存区,该主图像缓存区与客户端从图像缓存区同步存储命中图像数据块;所述命中图像数据块为云桌面图像数据中,图像复杂度大于图像复杂度阈值的图像数据块;
云桌面服务器接收到云桌面虚拟机发送的云桌面图像数据后,获取该云桌面图像数据中图像复杂度大于图像复杂度阈值的待处理图像数据块,在该待处理图像数据块在所述主图像缓存区存储区已存储时,将该待处理图像数据块的数据清零、压缩后得到清零数据块发给所述客户端,并将主图像缓存区存储区中对应命中图像数据块的命中图像数据块索引信息发给所述客户端。
在本发明的一种实施例中,云桌面服务器获取云桌面图像数据中图像复杂度大于图像复杂度阈值的待处理图像数据块包括:
接收到云桌面虚拟机发送的云桌面图像数据后,将该云桌面图像数据划分成图像数据块;
计算各图像数据块的图像复杂度,将图像复杂度大于图像复杂度阈值的图像数据块作为待处理图像数据块。
在本发明的一种实施例中,云桌面服务器获取到云桌面图像数据中的待处理图像数据块后,判定待处理图像数据块在所述主图像缓存区存储区是否已存储之前,还包括:
判断所述主图像缓存区当前剩余空间大于等于待处理图像数据块大小时,直接将该待处理图像数据块作为新的命中图像数据块存储于所述主图像缓存区,并将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给所述客户端。
在本发明的一种实施例中,当所述主图像缓存区当前剩余空间小于待处理图像数据块大小,且所述待处理图像数据块在所述主图像缓存区存储区未存储时,判断该待处理图像数据块的图像复杂度是否大于主图像缓存区中最低图像复杂度,如是,删除该最低图像复杂度对应的命中图像数据块,将该待处理图像数据块作为新的命中图像数据块存储于主图像缓存区;并将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给所述客户端。
在本发明的一种实施例中,云桌面服务器判定待处理图像数据块在所述主图像缓存区存储区未存储时,还包括:
判断所述主图像缓存区当前剩余空间是否大于等于待处理图像数据块大小,如是,直接将该待处理图像数据块作为新的命中图像数据块存储于所述主图像缓存区;
否则,判断该待处理图像数据块的图像复杂度是否大于主图像缓存区中最低图像复杂度,如是,删除该最低图像复杂度对应的命中图像数据块,将该待处理图像数据块作为新的命中图像数据块存储于主图像缓存区;
然后将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给所述客户端。
在本发明的一种实施例中,判断待处理图像数据块在所述主图像缓存区是否已存储包括:
通过MD5算法获取待处理图像数据块的MD5值;
将待处理图像数据块的MD5值与主图像缓存区中各命中图像数据块的MD5值进行匹配,如有相同的MD5值,判定该待处理图像数据块在所述主图像缓存区已存储。
在本发明的一种实施例中,所述云桌面服务器分别通过显示通道和缓存同步更新通道将压缩后的云桌面图像数据和所述数据块索引信息发给所述客户端。
为了解决上述问题,本发明还提供了一种云桌面图像处理方法,包括:
客户端设置用于存储命中图像数据块的从图像缓存区,该从图像缓存区与云桌面服务器主图像缓存区同步存储命中图像数据块;所述命中图像数据块为云桌面图像数据中,图像复杂度大于图像复杂度阈值的图像数据块;
客户端接收云桌面服务器发送的桌面图像数据流和命中图像数据块索引信息;
客户端对所述桌面图像数据流进行解码,对于解码得到的清零数据块,根据对应的命中图像数据块索引信息从所述从图像缓存区中获取对应的命中图像数据块对该清零数据块进行替换。
在本发明的一种实施例中,还包括客户端接收到云桌面服务器发送的待处理图像数据块索引信息时,根据该待处理图像数据块索引信息从解码得到的数据流中获取对应的待处理图像数据块作为新的命中图像数据块存储于所述从图像缓存区。
为了解决上述问题,本发明还提供了一种云桌面服务器,包括主缓存控制模块和数据转发处理模块;
所述主缓存控制模块设置用于存储命中图像数据块的主图像缓存区,该主图像缓存区与客户端从图像缓存区同步存储命中图像数据块;所述命中图像数据块为云桌面图像数据中,图像复杂度大于图像复杂度阈值的图像数据块;
所述数据转发处理模块接收到云桌面虚拟机发送的云桌面图像数据后,获取该云桌面图像数据中图像复杂度大于图像复杂度阈值的待处理图像数据块,在该待处理图像数据块在所述主图像缓存区存储区已存储时,将该待处理图像数据块的数据清零、压缩后得到清零数据块发给所述客户端,并将主图像缓存区存储区中对应命中图像数据块的命中图像数据块索引信息发给所述客户端。
在本发明的一种实施例中,所述数据转发处理模块还用于获取到云桌面图像数据中的待处理图像数据块后,判定待处理图像数据块在所述主图像缓存区存储区是否已存储之前,判断所述主图像缓存区当前剩余空间大于等于待处理图像数据块大小时,直接将该待处理图像数据块作为新的命中图像数据块存储于所述主图像缓存区,并将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给所述客户端。
在本发明的一种实施例中,所述数据转发处理模块还用于判定所述主图像缓存区当前剩余空间小于待处理图像数据块大小,且所述待处理图像数据块在所述主图像缓存区存储区未存储时,判断该待处理图像数据块的图像复杂度是否大于主图像缓存区中最低图像复杂度,如是,删除该最低图像复杂度对应的命中图像数据块,将该待处理图像数据块作为新的命中图像数据块存储于主图像缓存区;并将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给所述客户端。
在本发明的一种实施例中,所述数据转发处理模块还用于在判定待处理图像数据块在所述主图像缓存区存储区未存储时,判断所述主图像缓存区当前剩余空间是否大于等于待处理图像数据块大小,如是,直接将该待处理图像数据块作为新的命中图像数据块存储于所述主图像缓存区;
否则,判断该待处理图像数据块的图像复杂度是否大于主图像缓存区中最低图像复杂度,如是,删除该最低图像复杂度对应的命中图像数据块,将该待处理图像数据块作为新的命中图像数据块存储于主图像缓存区;
然后将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给所述客户端。
为了解决上述问题,本发明还提供了一种客户端,包括从缓存控制模块和数据接收处理模块;
所述从缓存控制模块设置用于存储命中图像数据块的从图像缓存区,该从图像缓存区与云桌面服务器主图像缓存区同步存储命中图像数据块;所述命中图像数据块为云桌面图像数据中,图像复杂度大于图像复杂度阈值的图像数据块;
所述数据接收处理模块接收云桌面服务器发送的桌面图像数据流和命中图像数据块索引信息;对所述桌面图像数据流进行解码,对于解码得到的清零数据块,根据对应的数据块索引信息从所述从图像缓存区中获取对应的命中图像数据块对该清零数据块进行替换。
在本发明的一种实施例中,所述数据接收处理模块还用于接收云桌面服务器发送的待处理图像数据块索引信息,根据该待处理图像数据块索引信息从解码得到的数据流中获取对应的待处理图像数据块作为新的命中图像数据块存储于所述从图像缓存区。
本发明的有益效果:
本发明提供了一种云桌面图像处理方法、云桌面服务器及客户端,云桌面服务器和客户端各自设置主图像缓存区和从图像缓存区,以同步缓存图像复杂度大于图像复杂度阈值的图像数据块。云桌面服务器接收到云桌面虚拟机发送的云桌面图像数据后,将在主图像缓存区存储区中已存储的命中图像数据块的数据清零压缩后得到清零数据块发给客户端;这样已存储数据块的数据部分则不会再次进行压缩传输。客户端接收数据流且进行解码后,则根据对应的命中图像数据块索引信息从从图像缓存区存储区中获取对应的命中图像数据块对清零数据块进行替换即可正确解码回放。因此,在云桌面的图像变化非常复杂的场景下,本发明可以利用该缓存机制进一步降低网络带宽,在更低的网络带宽下,保障云桌面的操作流畅性,提高云桌面的使用体验。
附图说明
图1为本发明第一实施例提供的云桌面服务器侧云桌面图像处理方法流程示意图;
图2为本发明第一实施例提供的第一种处理机制桌面图像处理方法流程示意图;
图3为本发明第一实施例提供的第二种处理机制桌面图像处理方法流程示意图;
图4为本发明第一实施例提供的客户端侧云桌面图像处理方法流程示意图;
图5为本发明第二实施例提供的云通信系统结构示意图;
图6为本发明第二实施例提供的云桌面服务器结构示意图;
图7为本发明第二实施例提供的客户端结构示意图。
具体实施方式
本发明中的云桌面服务器和客户端各自设置主图像缓存区和从图像缓存区以同步缓存图像复杂度大的图像数据块。云桌面服务器接收到云桌面虚拟机发送的云桌面图像数据后,对于在主图像缓存区存储区中已存储的复杂度大的图像数据块进行清零压缩后得到清零数据块发给客户端。客户端接收后,根据对应的命中图像数据块索引信息从从图像缓存区存储区中获取对应的命中图像数据块对清零数据块进行替换即可正确解码回放。该缓存机制可进一步降低网络带宽,在更低的网络带宽下,保障云桌面的操作流畅性,提高云桌面的使用体验。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明中一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现通过具体实施方式结合附图的方式对本发明做出进一步的诠释说明。
第一实施例:
本实施例中,在服务器端和客户端都设置图像缓存区用于存储图像复杂度发的图像数据块;在服务器端收到云桌面虚拟机发送的云桌面图像数据后,对于这些图像数据中复杂度大且在服务器端和客户端的图像缓存区都已经存储有的,则不再需要额外进行编码传输,服务器端告知客户端从图像缓存区提取即可。因此可以在较大程度上缩减带宽开销,降低对带宽的需求。本实施例中的虚拟桌面远程传输协议可以采用SPICE协议,此时服务器端为SPICE云桌面服务器。但应当理解的是,本实施例中的虚拟桌面远程传输协议并不限于SPICE协议,也可以采用现有其他的任意协议。
另外,应当理解的是,本实施例中图像缓存区中的图像复杂度大的图像数据块的存储,理论上可以在进行云桌面图形数据传输之前预先设置。但考虑到云桌面图像数据的变化性,也可能在云桌面图像数据传输过程中进行实时存储。
下面分别对云桌面服务器侧和客户端侧进行说明。
请参见图1所示,在云桌面服务器侧,云桌面图像处理的过程包括:
S101:云桌面服务器设置用于存储命中图像数据块的主图像缓存区。
本步骤中设置的主图像缓存区与客户端侧设置的从图像缓存区同步存储命中图像数据块;本实施例中的命中图像数据块为云桌面图像数据中,图像复杂度大于图像复杂度阈值的图像数据块。且应当理解的是,本实施例中图像复杂度的计算可以采用现有任意计算复杂度的方式。本实施例汇总的图像复杂度阈值则可以根据当前具体应用场景(例如网络带宽情况、云桌面图像变化情况等等)灵活设定。本步骤中主图像缓存区的大小具体可根据当前云桌面虚拟机中操作系统桌面分辨率进行设置。
如上所述,当在云桌面图像数据传输之前,能够获取到桌面图像数据汇总,图像复杂度大于图像复杂度阈值的图像数据块时,可以预先在主图像缓存区中预先存储,同时在从图像缓存区进行同步存储。但由于云桌面图像数据可能是实时变化的,因此本实施例还可以在云桌面数据传输过程中,将判断出图像复杂度大于图像复杂度阈值的图像数据块进行缓存。
S102:云桌面服务器接收到云桌面虚拟机发送的云桌面图像数据。
云桌面服务器可以持续的续接收云桌面虚拟机中QEMU虚拟显卡发送过来的桌面图像数据,使得云桌面图像数据可以按视频流进行处理。
S103:云桌面服务器获取该云桌面图像数据中图像复杂度大于图像复杂度阈值的待处理图像数据块。
具体的,云桌面服务器接收到云桌面虚拟机发送的云桌面图像数据后,将该云桌面图像数据划分成图像数据块;在进行数据块划分时,具体可以按照16*16大小进行宏块分割得到图像数据块,当然也可以根据具体需求按照其他尺寸进行分割。
然后云桌面服务器计算各图像数据块的图像复杂度,将图像复杂度大于图像复杂度阈值的图像数据块作为待处理图像数据块。云桌面服务器可以逐个将各图像数据块的图像复杂度与预设的图像复杂度阈值进行比较,从而选出大于图像复杂度阈值的图像数据块;对这一部分图像数据块需按照本发明提供的缓存机制进行处理,因此称这些数据块为待处理图像数据块。
S104:云桌面服务器判定待处理图像数据块在主图像缓存区存储区是否已存储,如是,转至S105;否则,转至S106。
S105:云桌面服务器将该待处理图像数据块的数据清零后进行压缩后得到清零数据块发给客户端;例如通知H.264编码器将此图像数据块按帧内16X16模式进行编码压缩处理。清零后的图像数据块编码压缩后产生的数据量非常小。云桌面服务器还将主图像缓存区存储区中对应命中图像数据块的命中图像数据块索引信息发给客户端,以便客户端在从数据缓存区中查找对应的命中图像数据块进行数据的恢复。
S106:云桌面服务器对待处理图像数据块在主图像缓存区进行存储处理。且不管最终是否将该待处理图像数据块作为命中图像数据块在主图像缓存区进行存储,都需要将该待处理图像数据块正常编码压缩传递给客户端。
通过上述过程,云桌面服务器则可在云桌面图像数据传输过程中,对于图像复杂度大于图像复杂度阈值的数据块进行存储,且对于之前已经存储数据块直接清零压缩后发给客户端,让客户端直接在本侧的图像缓存区中取出对应的命中图像数据块进行替换恢复即可。
本实施例中云桌面服务器所采用的编码器具体可为H.264编码器。当然也可采用其他编码器。
本实施例中,云桌面服务器向客户端发送云桌面图像数据时可以采用协议中的显示通道单独发送,发送数据块索引信息时则可以通过单独设置的缓存同步更新通道进行发送。这样更便于数据传输的控制,且对现有协议不做任何改变,降低方案改造成本。
本实施例中,云桌面服务器在云桌面图像数据的传输过程中,在接收到来自云桌面虚拟机发送的云桌面数据后,可以对该桌面数据进行宏块分割得到图像数据块后,可以先根据当前主图像缓存区剩余空间的情况完成图像复杂度大于等于图像复杂度阈值的待处理图像数据块完成存储处理后(第一中处理机制)。也可以在获取到云桌面图像数据中的待处理图像数据块后,立即判断主图像缓存区中是否存储有这些图像数据块中的至少一个,对于没有存储的待处理图像数据块再执行存储处理(第二种处理机制)。下面分别对上述两种处理机制进行说明。
第一种处理机制,处理过程参见图2所示,包括:
S201:云桌面服务器接收到虚拟机发送的云桌面图像数据后,对云桌面图像数进行宏块分割得到图像数据块。
S202:云桌面服务器逐个计算各图像数据块的图像复杂度,当某一图像数据块的图像复杂度大于图像复杂度阈值时,将该图像数据块作为待处理图像数据块。
S203:云桌面服务器判断主图像缓存区当前剩余空间是否大于等于待处理图像数据块大小,如是,转至S204;否则,转至S205。
S204:云桌面服务器直接将该待处理图像数据块作为新的命中图像数据块存储于所述主图像缓存区,并将该待处理图像数据通过编码器正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给客户端。这样客户端在收到该数据解码后,通过待处理图像数据块索引信息获取到对应的处理图像数据块作为命中图像数据块在从图像缓存区同步存储。
S205:判断该待处理图像数据块在主图像缓存区存储区是否已经存储,如是,转至S206;否则,转至S207。
S206:此时不再需要重新存储,执行图1中S105中的数据块清零压缩发送步骤。
S207:判断该待处理图像数据块的图像复杂度是否大于主图像缓存区中最低图像复杂度,如是,转至S208;否则,转至S209。
S208:删除该最低图像复杂度对应的命中图像数据块,将该待处理图像数据块作为新的命中图像数据块存储于主图像缓存区;并将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给客户端。以便客户端在收到该数据解码后,通过待处理图像数据块索引信息获取到对应的处理图像数据块作为命中图像数据块在从图像缓存区同步存储。
S209:对该待处理图像数据块正常编码发送,不在主图像缓存区进行存储。
第二种处理机制过程参见图3所示,包括:
S301:云桌面服务器接收到虚拟机发送的云桌面图像数据后,对云桌面图像数进行宏块分割得到图像数据块。
S302:云桌面服务器逐个计算各图像数据块的图像复杂度,当某一图像数据块的图像复杂度大于图像复杂度阈值时,将该图像数据块作为待处理图像数据块。
S303:云桌面服务器判断该待处理图像数据块在主图像缓存区存储区是否已经存储,如是,转至S304;否则,转至S305。
S304:此时不再需要重新存储,执行图1中S105中的数据块清零压缩发送步骤。
S305:判断主图像缓存区当前剩余空间是否大于等于待处理图像数据块大小,如是,转至S306;否则,转至S307。
S306:云桌面服务器直接将该待处理图像数据块作为新的命中图像数据块存储于主图像缓存区;然后将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给客户端,以便客户端在收到该数据解码后,通过待处理图像数据块索引信息获取到对应的处理图像数据块作为命中图像数据块在从图像缓存区同步存储。
S307:判断该待处理图像数据块的图像复杂度是否大于主图像缓存区中最低图像复杂度,如是,转至S308;否则,转至S309。
S308:删除该最低图像复杂度对应的命中图像数据块,将该待处理图像数据块作为新的命中图像数据块存储于主图像缓存区;并将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给客户端。以便客户端在收到该数据解码后,通过待处理图像数据块索引信息获取到对应的处理图像数据块作为命中图像数据块在从图像缓存区同步存储。
S309:对该待处理图像数据块正常编码发送,不在主图像缓存区进行存储。因为此时表明该待处理图像数据块的图像复杂度比主图像缓存区中的任意一个命中图像数据块的复杂度都要低。
在上述步骤中,当云桌面服务器判断某一待处理图像数据块在主图像缓存区已存储时,将该待处理图像数据块的数据设置为0进行压缩处理后,为保证编码器(例如H.264编码器)参考帧中对应的宏块数据不受影响,将主图像缓存区中匹配到的命中图像数据块的图像数据更新当前待处理图像数据块对应的参考帧。客户端后续根据接收到的命中图像数据块索引信息在从图像缓存区中取出对应命中图像数据块,并用该数据更新当前图像解码后清零数据块的区域,并同步更新对应的参考帧。
上述步骤中,判断待处理图像数据块在主图像缓存区是否已存储也即判断在主图像缓存区中是否存在与该待处理图像数据块相同的命中图像数据块。因此其可以采用任意判断两数据块是否是相同数据块的判断方式。本实施例以图像数据块的MD5值进行比较判断做示例说明。该判断过程如下:
先通过MD5算法获取待处理图像数据块的MD5值;
然后将待处理图像数据块的MD5值与主图像缓存区中各命中图像数据块的MD5值进行匹配,如有相同的MD5值,判定该待处理图像数据块在主图像缓存区已存储。否则,表明在主图像缓存区中没有存储。由于主图像缓存区与从图像缓存区中的命中图像数据块是同步存储的,因此此时也表明该待处理图像数据块在主从图像缓存区同样也没有存储。因此当主图像缓存区将其作为命中图像数据块进行存储时,云桌面服务器需向客户端发送待处理图像数据块索引信息,以供客户端接收到并解码数据后,根据该待处理图像数据块索引信息找到对应的图像数据块作为命中图像数据块在从图像缓存区进行存储。下面则以客户端侧的云桌面图像数据处理过程进行示例说明。
请参见图4所示,在客户端侧,云桌面图像处理过程包括:
S401:客户端设置用于存储命中图像数据块的从图像缓存区。
设置的从图像缓存区与云桌面服务器主图像缓存区同步存储命中图像数据块;命中图像数据块为云桌面图像数据中,图像复杂度大于图像复杂度阈值的图像数据块。
S402:客户端接收云桌面服务器发送的桌面图像数据流和命中图像数据块索引信息。
S403:客户端对桌面图像数据流进行解码,对于解码后得到的清零数据块,根据对应的命中图像数据块索引信息从从图像缓存区中获取相应的命中图像数据块对该清零数据块进行替换恢复,使得客户端可正确解码回放。
根据上述分析可知,本实施例中,云桌面服务器向客户端发送编码后的桌面图像数据流时,其可能向客户端发送命中图像数据块索引信息,此时表明该桌面图像数据流中存在清零数据块需要后续从本地提取对应的命中图像数据块进行恢复。云桌面服务器可也能向客户端发送待处理图像数据块索引信息,此时表明该桌面图像数据流中存在需要进行存储的待处理图像数据块,且该待处理图像数据块在服务器端已经被作为命中图像数据块存储于主图像缓存区中了,此时客户端根据该待处理图像数据块索引信息从解码得到的数据流中获取对应的待处理图像数据块作为新的命中图像数据块存储于从图像缓存区。
第二实施例:
请参见5所示,本实施例中的云通信系统包括云桌面服务器51和客户端52。云桌面服务器51用于从云桌面虚拟机的虚拟线卡持续接收云桌面图像数据转发给客户端52。
参见图6所示,本实施例中的云桌面服务器51包括主缓存控制模块511和数据转发处理模块512;
主缓存控制模块511设置用于存储命中图像数据块的主图像缓存区,该主图像缓存区与客户端从图像缓存区同步存储命中图像数据块相同;命中图像数据块为云桌面图像数据中,图像复杂度大于图像复杂度阈值的图像数据块;
数据转发处理模块512接收到云桌面虚拟机发送的云桌面图像数据后,获取该云桌面图像数据中图像复杂度大于图像复杂度阈值的待处理图像数据块,判定待处理图像数据块在所述主图像缓存区存储区已存储时,将该待处理图像数据块的数据清零、压缩后得到清零数据块发给所述客户端,并将主图像缓存区存储区中对应命中图像数据块的命中图像数据块索引信息发给客户端。
具体的,数据转发处理模块512接收到云桌面虚拟机发送的云桌面图像数据后,将该云桌面图像数据划分成图像数据块;在进行数据块划分时,具体可以按照16*16大小进行宏块分割得到图像数据块,当然也可以根据具体需求按照其他尺寸进行分割。
然后数据转发处理模块512计算各图像数据块的图像复杂度,将图像复杂度大于图像复杂度阈值的图像数据块作为待处理图像数据块。数据转发处理模块512可以逐个将各图像数据块的图像复杂度与预设的图像复杂度阈值进行比较,从而选出大于图像复杂度阈值的图像数据块;对于这一部分图像数据块需按照本发明提供的缓存机制进行处理,因此称这些数据块为待处理图像数据块。
本实施例中数据转发处理模块512所采用的编码器具体可为H.264编码器。当然也可采用其他编码器。
在本实施例中,数据转发处理模块512在云桌面图像数据的传输过程中,在接收到来自云桌面虚拟机发送的云桌面数据后,可以对该桌面数据进行宏块分割得到图像数据块后,还可以先根据当前主图像缓存区剩余空间的情况完成图像复杂度大于等于图像复杂度阈值的待处理图像数据块完成存储处理后(第一中处理机制)。也可以在获取到云桌面图像数据中的待处理图像数据块后,立即判断主图像缓存区中是否存储有这些图像数据块中的至少一个,对于没有存储的待处理图像数据块再执行存储处理(第二种处理机制)。
当采用第一种处理机制时,本实施例中的数据转发处理模块512还用于获取到云桌面图像数据中的待处理图像数据块后,判定待处理图像数据块在主图像缓存区存储区是否已存储之前,判断主图像缓存区当前剩余空间大于等于待处理图像数据块大小时,直接将该待处理图像数据块作为新的命中图像数据块存储于所述主图像缓存区,并将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给客户端。
数据转发处理模块512判定主图像缓存区当前剩余空间小于待处理图像数据块大小,且待处理图像数据块在主图像缓存区存储区未存储时,判断该待处理图像数据块的图像复杂度是否大于主图像缓存区中最低图像复杂度,如是,删除该最低图像复杂度对应的命中图像数据块,将该待处理图像数据块作为新的命中图像数据块存储于主图像缓存区;并将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给所述客户端。
当采用第二种处理机制时,本实施例中的数据转发处理模块512还用于在判定待处理图像数据块在所述主图像缓存区存储区未存储时,判断主图像缓存区当前剩余空间是否大于等于待处理图像数据块大小,如是,直接将该待处理图像数据块作为新的命中图像数据块存储于所述主图像缓存区;否则,判断该待处理图像数据块的图像复杂度是否大于主图像缓存区中最低图像复杂度,如是,删除该最低图像复杂度对应的命中图像数据块,将该待处理图像数据块作为新的命中图像数据块存储于主图像缓存区;
然后数据转发处理模块512将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给客户端。这样客户端在收到该数据解码后,通过待处理图像数据块索引信息获取到对应的处理图像数据块作为命中图像数据块在从图像缓存区同步存储。
当云桌面服务器判断某一待处理图像数据块在主图像缓存区已存储时,将该待处理图像数据块的数据设置为0进行压缩处理后,为保证编码器(例如H.264编码器)参考帧中对应的宏块数据不受影响,将主图像缓存区中匹配到的命中图像数据块的图像数据更新当前待处理图像数据块对应的参考帧。客户端后续根据接收到的命中图像数据块索引信息在从图像缓存区中取出对应命中图像数据块,并用该数据更新当前图像解码后清零数据块的区域,并同步更新对应的参考帧。
本实施例中,数据转发处理模块512判断待处理图像数据块在主图像缓存区是否已存储时,其可以采用任意判断两数据块是否是相同数据块的判断方式。本实施例以图像数据块的MD5值进行比较判断做示例说明。该判断过程如下:
数据转发处理模块512先通过MD5算法获取待处理图像数据块的MD5值,然后将待处理图像数据块的MD5值与主图像缓存区中各命中图像数据块的MD5值进行匹配,如有相同的MD5值,判定该待处理图像数据块在主图像缓存区已存储。否则,表明在主图像缓存区中没有存储。由于主图像缓存区与从图像缓存区中的命中图像数据块是同步存储的,因此此时也表明该待处理图像数据块在主从图像缓存区同样也没有存储。因此当主图像缓存区将其作为命中图像数据块进行存储时,数据转发处理模块512需向客户端发送待处理图像数据块索引信息,以供客户端接收到并解码数据后,根据该待处理图像数据块索引信息找到对应的图像数据块作为命中图像数据块在从图像缓存区进行存储。
请参见图7所示,本实施例中的客户端52包括从缓存控制模块521和数据接收处理模块522;
从缓存控制模块521设置用于存储命中图像数据块的从图像缓存区,设置的从图像缓存区与云桌面服务器主图像缓存区同步存储命中图像数据块;命中图像数据块为云桌面图像数据中,图像复杂度大于图像复杂度阈值的图像数据块。
数据接收处理模块522接收云桌面服务器发送的桌面图像数据流和命中图像数据块索引信息;对桌面图像数据流进行解码,对于解码得到的清零数据块,根据对应的数据块索引信息从从图像缓存区中获取对应的命中图像数据块对该清零数据块进行替换恢复,使得客户端可正确解码回放。
本实施例中,云桌面服务器51向客户端52发送编码后的桌面图像数据流时,其可能向客户端发送命中图像数据块索引信息,此时表明该桌面图像数据流中存在清零数据块需要后续从本地提取对应的命中图像数据块进行恢复。云桌面服务器51可也能向客户端发送待处理图像数据块索引信息,此时表明该桌面图像数据流中存在需要进行存储的待处理图像数据块,且该待处理图像数据块在服务器端已经被作为命中图像数据块存储于主图像缓存区中了,此时客户端52的数据接收处理模块522还用于根据该待处理图像数据块索引信息从解码得到的数据流中获取对应的待处理图像数据块作为新的命中图像数据块存储于从图像缓存区。
为了更好理解本发明,下面以云桌面服务器为spice服务器端,客户端为spice客户端,采用spice传输协议这一具体应用场景对本发明做进一步示例说明。该示例中,Spice服务器端和Spice客户端直接通过spice协议的显示通道、缓存同步更新通道以及缓存控制通道进行交互。具体过程如下。
云桌面虚拟机通过系统镜像文件启动,运行桌面操作系统,QEMU虚拟显卡捕获桌面操作系统底层的桌面图像数据传递给spice服务器端。
spice服务器端采用上述图像缓存机制,将经过处理的图像数据通过spice协议的显示通道传输至客户端,同时,通过缓存控制通道,告知spice客户端从从图像缓存区取出已知的命中图像数据块,并利用该数据恢复解码后的图像。而spice服务器端与spice客户端缓存区的数据更新则通过缓存同步更新通道传输至spice客户端。
通过该图像缓存的实现方法,使得云桌面不再重复对已有的复杂度较高的宏块图像进行二次压缩传输,直接在客户端利用缓存区中已有数据进行图像恢复,可以很大程度上降低云桌面的带宽占用,在极低的带宽速率下,提供类似传统PC的用户体验。完整的实施流程如下:
spice服务器端和spice客户端分别开辟主图像缓存区和从图像缓存区,缓存区的大小可根据当前虚拟机中操作系统桌面分辨率进行设置。
spice服务器器端捕获QEMU虚拟显卡传送过来的操作系统桌面图像数据,按16X16大小进行宏块分割得到图像数据块,并设置图像数据块的图像复杂度阈值。
对各个图像数据块进行图像复杂度计算,依次与复杂度阈值进行比较,若低于该值,则将当前图像数据块直接交由H.264编码器进行压缩处理。
若当前图像数据块的复杂度高于所设定的复杂度阈值(则为待处理图像数据块),且主图像缓存区为空或者剩余空间够存储该图像数据块时,直接将此图像数据块选为命中图像数据块进行存储,记录下该图像数据块的索引信息作为待处理图像数据块索引信息,并通过缓存同步更新通道告知客户端,再将该图像数据块交由H.264编码器进行编码压缩处理。
若当前图像数据块的复杂度高于所设定的复杂度阈值,且主图像缓存区是已满状态,则计算当前图像数据块的MD5值,利用MD5值与主图像缓存区中的命中图像数据块进行匹配。
若在主图像缓存区中匹配到MD5值相同的命中图像数据块,判定当前图像数据块已进行过编码压缩处理,直接将图像数据块数据设置为0,交由H.264编码器处理,由于图像数据块数据为0,因此编码压缩后产生的数据量非常小。同时,需要用对应命中图像数据块的数据更新H.264编码器中对应参考帧的图像数据块数据,保障编码器的可靠性。且服务器端需要将该命中图像数据块的命中图像数据块索引值通过缓存控制通道发送至客户端,客户端则根据该命中图像数据块索引值从从图像缓存区取出对应命中图像数据块的数据,对解码后的图像以及参考帧进行恢复。
若当前图像数据块未在服务器端的主图像缓存区中匹配到相同的命中图像数据块,但当前图像数据块的复杂度高于主图像缓存区中命中图像数据块中的最低复杂度,则用该图像数据块同步更新服务器端和客户端缓存区中最低复杂度对应的命中图像数据块。且无论是否利用当前最低复杂更新了缓存区,最后都需要将此图像数据块交由H.264编码器进行编码处理。
本发明可通过采用H.264压缩算法直接将产生的桌面操作系统图像进行压缩处理,并利用spice服务器端和客户端的图像缓存机制,对复杂度较高的图像宏块数据预先在服务器端和客户端进行缓存,对已编码处理过的复杂度较高的宏块不再进行二次压缩编码处理,在不影响用户体验的前提下,很大程度上降低云桌面的带宽速率,使得云桌面可以适用于各种网络环境。
以上仅是本发明的具体实施方式而已,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施方式所做的任意简单修改、等同变化、结合或修饰,均仍属于本发明技术方案的保护范围。

Claims (15)

1.一种云桌面图像处理方法,其特征在于,包括:
云桌面服务器设置用于存储命中图像数据块的主图像缓存区,该主图像缓存区与客户端从图像缓存区同步存储命中图像数据块;所述命中图像数据块为云桌面图像数据中,图像复杂度大于图像复杂度阈值的图像数据块;
云桌面服务器接收到云桌面虚拟机发送的云桌面图像数据后,获取该云桌面图像数据中图像复杂度大于图像复杂度阈值的待处理图像数据块,在该待处理图像数据块在所述主图像缓存区存储区已存储时,将该待处理图像数据块的数据清零、压缩后得到清零数据块发给所述客户端,并将主图像缓存区存储区中对应命中图像数据块的命中图像数据块索引信息发给所述客户端。
2.如权利要求1所述的云桌面图像处理方法,其特征在于,云桌面服务器获取云桌面图像数据中图像复杂度大于图像复杂度阈值的待处理图像数据块包括:
接收到云桌面虚拟机发送的云桌面图像数据后,将该云桌面图像数据划分成图像数据块;
计算各图像数据块的图像复杂度,将图像复杂度大于图像复杂度阈值的图像数据块作为待处理图像数据块。
3.如权利要求1所述的云桌面图像处理方法,其特征在于,云桌面服务器获取到云桌面图像数据中的待处理图像数据块后,判定待处理图像数据块在所述主图像缓存区存储区是否已存储之前,还包括:
判断所述主图像缓存区当前剩余空间大于等于待处理图像数据块大小时,直接将该待处理图像数据块作为新的命中图像数据块存储于所述主图像缓存区,并将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给所述客户端。
4.如权利要求3所述的云桌面图像处理方法,其特征在于,当所述主图像缓存区当前剩余空间小于待处理图像数据块大小,且所述待处理图像数据块在所述主图像缓存区存储区未存储时,判断该待处理图像数据块的图像复杂度是否大于主图像缓存区中最低图像复杂度,如是,删除该最低图像复杂度对应的命中图像数据块,将该待处理图像数据块作为新的命中图像数据块存储于主图像缓存区;并将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给所述客户端。
5.如权利要求1所述的云桌面图像处理方法,其特征在于,云桌面服务器判定待处理图像数据块在所述主图像缓存区存储区未存储时,还包括:
判断所述主图像缓存区当前剩余空间是否大于等于待处理图像数据块大小,如是,直接将该待处理图像数据块作为新的命中图像数据块存储于所述主图像缓存区;
否则,判断该待处理图像数据块的图像复杂度是否大于主图像缓存区中最低图像复杂度,如是,删除该最低图像复杂度对应的命中图像数据块,将该待处理图像数据块作为新的命中图像数据块存储于主图像缓存区;
然后将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给所述客户端。
6.如权利要求1-5任一项所述的云桌面图像处理方法,其特征在于,判断待处理图像数据块在所述主图像缓存区是否已存储包括:
通过MD5算法获取待处理图像数据块的MD5值;
将待处理图像数据块的MD5值与主图像缓存区中各命中图像数据块的MD5值进行匹配,如有相同的MD5值,判定该待处理图像数据块在所述主图像缓存区已存储。
7.如权利要求1-5任一项所述的云桌面图像处理方法,其特征在于,所述云桌面服务器分别通过显示通道和缓存同步更新通道将压缩后的云桌面图像数据和所述数据块索引信息发给所述客户端。
8.一种云桌面图像处理方法,其特征在于,包括:
客户端设置用于存储命中图像数据块的从图像缓存区,该从图像缓存区与云桌面服务器主图像缓存区同步存储命中图像数据块;所述命中图像数据块为云桌面图像数据中,图像复杂度大于图像复杂度阈值的图像数据块;
客户端接收云桌面服务器发送的桌面图像数据流和命中图像数据块索引信息;
客户端对所述桌面图像数据流进行解码,对于解码得到的清零数据块,根据对应的命中图像数据块索引信息从所述从图像缓存区中获取对应的命中图像数据块对该清零数据块进行替换。
9.如权利要求8所述的云桌面图像处理方法,其特征在于,还包括客户端接收到云桌面服务器发送的待处理图像数据块索引信息时,根据该待处理图像数据块索引信息从解码得到的数据流中获取对应的待处理图像数据块作为新的命中图像数据块存储于所述从图像缓存区。
10.一种云桌面服务器,其特征在于,包括主缓存控制模块和数据转发处理模块;
所述主缓存控制模块设置用于存储命中图像数据块的主图像缓存区,该主图像缓存区与客户端从图像缓存区同步存储命中图像数据块;所述命中图像数据块为云桌面图像数据中,图像复杂度大于图像复杂度阈值的图像数据块;
所述数据转发处理模块接收到云桌面虚拟机发送的云桌面图像数据后,获取该云桌面图像数据中图像复杂度大于图像复杂度阈值的待处理图像数据块,在该待处理图像数据块在所述主图像缓存区存储区已存储时,将该待处理图像数据块的数据清零、压缩后得到清零数据块发给所述客户端,并将主图像缓存区存储区中对应命中图像数据块的命中图像数据块索引信息发给所述客户端。
11.如权利要求10所述的云桌面服务器,其特征在于,所述数据转发处理模块还用于获取到云桌面图像数据中的待处理图像数据块后,判定待处理图像数据块在所述主图像缓存区存储区是否已存储之前,判断所述主图像缓存区当前剩余空间大于等于待处理图像数据块大小时,直接将该待处理图像数据块作为新的命中图像数据块存储于所述主图像缓存区,并将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给所述客户端。
12.如权利要求11所述的云桌面服务器,其特征在于,所述数据转发处理模块还用于判定所述主图像缓存区当前剩余空间小于待处理图像数据块大小,且所述待处理图像数据块在所述主图像缓存区存储区未存储时,判断该待处理图像数据块的图像复杂度是否大于主图像缓存区中最低图像复杂度,如是,删除该最低图像复杂度对应的命中图像数据块,将该待处理图像数据块作为新的命中图像数据块存储于主图像缓存区;并将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给所述客户端。
13.如权利要求10所述的云桌面服务器,其特征在于,所述数据转发处理模块还用于在判定待处理图像数据块在所述主图像缓存区存储区未存储时,判断所述主图像缓存区当前剩余空间是否大于等于待处理图像数据块大小,如是,直接将该待处理图像数据块作为新的命中图像数据块存储于所述主图像缓存区;
否则,判断该待处理图像数据块的图像复杂度是否大于主图像缓存区中最低图像复杂度,如是,删除该最低图像复杂度对应的命中图像数据块,将该待处理图像数据块作为新的命中图像数据块存储于主图像缓存区;
然后将该待处理图像数据正常压缩发给客户端,以及将该待处理图像数据块的待处理图像数据块索引信息发给所述客户端。
14.一种客户端,其特征在于,包括从缓存控制模块和数据接收处理模块;
所述从缓存控制模块设置用于存储命中图像数据块的从图像缓存区,该从图像缓存区与云桌面服务器主图像缓存区同步存储命中图像数据块;所述命中图像数据块为云桌面图像数据中,图像复杂度大于图像复杂度阈值的图像数据块;
所述数据接收处理模块接收云桌面服务器发送的桌面图像数据流和命中图像数据块索引信息;对所述桌面图像数据流进行解码,对于解码得到的清零数据块,根据对应的数据块索引信息从所述从图像缓存区中获取对应的命中图像数据块对该清零数据块进行替换。
15.如权利要求14所述的客户端,其特征在于,所述数据接收处理模块还用于接收云桌面服务器发送的待处理图像数据块索引信息,根据该待处理图像数据块索引信息从解码得到的数据流中获取对应的待处理图像数据块作为新的命中图像数据块存储于所述从图像缓存区。
CN201610301903.2A 2016-05-09 2016-05-09 一种云桌面图像处理方法、云桌面服务器及客户端 Active CN107360443B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610301903.2A CN107360443B (zh) 2016-05-09 2016-05-09 一种云桌面图像处理方法、云桌面服务器及客户端
PCT/CN2017/082288 WO2017193821A1 (zh) 2016-05-09 2017-04-27 云桌面图像处理方法、服务器、客户端及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610301903.2A CN107360443B (zh) 2016-05-09 2016-05-09 一种云桌面图像处理方法、云桌面服务器及客户端

Publications (2)

Publication Number Publication Date
CN107360443A CN107360443A (zh) 2017-11-17
CN107360443B true CN107360443B (zh) 2019-10-01

Family

ID=60266404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610301903.2A Active CN107360443B (zh) 2016-05-09 2016-05-09 一种云桌面图像处理方法、云桌面服务器及客户端

Country Status (2)

Country Link
CN (1) CN107360443B (zh)
WO (1) WO2017193821A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153645B (zh) * 2017-12-25 2020-11-20 北京航空航天大学 基于图像匹配的虚拟化桌面中监控数据与程序关联方法
CN110545428B (zh) * 2018-05-28 2024-02-23 深信服科技股份有限公司 一种运动估计方法及装置、服务器及计算机可读存储介质
CN111050192A (zh) * 2018-10-12 2020-04-21 华为技术有限公司 媒体处理方法及装置
CN111159064B (zh) * 2019-12-30 2023-09-01 南京六九零二科技有限公司 一种低复杂度数据块缓存方法
CN111913768A (zh) * 2020-05-27 2020-11-10 广州铁路职业技术学院(广州铁路机械学校) 虚拟化云桌面及其构建方法
CN111714878A (zh) * 2020-06-17 2020-09-29 杭州斯凯网络科技有限公司 在云游戏场景的用户行为模拟方法
CN112099886A (zh) * 2020-08-18 2020-12-18 西安万像电子科技有限公司 移动零终端的桌面显示控制方法及装置
CN112732381B (zh) * 2020-12-30 2023-09-05 湖北盟道信息科技有限公司 一种在线课堂的桌面数据采集方法及系统
CN115640084A (zh) * 2021-07-20 2023-01-24 中兴通讯股份有限公司 一种客户端的系统消息发送方法及装置
CN113760546B (zh) * 2021-08-20 2023-08-22 上海酷栈科技有限公司 一种离散分布聚合控制的云桌面管理方法及系统
CN114095762A (zh) * 2021-11-23 2022-02-25 湖南麒麟信安科技股份有限公司 数据传输方法、装置、计算机设备及计算机可读存储介质
CN114153411B (zh) * 2021-12-02 2024-01-12 上海交通大学 面向远程终端管控的图像优化传输系统
CN113891080B (zh) * 2021-12-06 2022-02-18 麒麟软件有限公司 一种spice云桌面中图像处理的优化方法
CN114564261B (zh) * 2022-02-10 2024-05-17 阿里巴巴(中国)有限公司 基于桌面云的图像处理方法及装置
CN116405733B (zh) * 2023-06-08 2023-09-19 新华三技术有限公司 一种数据传输方法及电子设备
CN117237545B (zh) * 2023-11-13 2024-02-09 武汉泽塔云科技股份有限公司 基于云桌面环境进行3d立体测图的方法、系统及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103475953B (zh) * 2013-09-13 2017-11-17 华为技术有限公司 一种基于桌面云的媒体控制方法和设备
CN103841179B (zh) * 2014-01-17 2017-04-19 上海宝信软件股份有限公司 云桌面系统
US9537938B2 (en) * 2014-09-23 2017-01-03 Amazon Technologies, Inc. Virtual desktop migration
CN105245914B (zh) * 2015-09-30 2019-02-22 上海有孚网络股份有限公司 云桌面高清视频传输方法及系统

Also Published As

Publication number Publication date
CN107360443A (zh) 2017-11-17
WO2017193821A1 (zh) 2017-11-16

Similar Documents

Publication Publication Date Title
CN107360443B (zh) 一种云桌面图像处理方法、云桌面服务器及客户端
CN102959501B (zh) 处理图像的更新以从第一终端传输至第二终端的方法、设备和系统
CN101543078B (zh) 信息处理设备和方法
CN103294438A (zh) 虚拟桌面图像的控制传输方法及系统
CN101267293B (zh) 基于分层模型的流媒体隐蔽通信方法
CN105451031A (zh) 一种视频转码方法和系统
WO2022121648A1 (zh) 点云数据编码方法、解码方法、设备、介质及程序产品
US20170041021A1 (en) Encoder, decoder and method
CN103379140A (zh) 一种日志处理规则同步方法及相关设备和系统
CN112035081A (zh) 投屏方法、装置、计算机设备及存储介质
CN111163318A (zh) 一种基于反馈优化的人机视觉编码方法和装置
CN103023796A (zh) 网络数据压缩方法和系统
CN205647835U (zh) 一种云环境下的视频转码系统
CN106210443B (zh) 网络控制显示内容同步的方法
CN102055968B (zh) 多视点视频中丢失的视频数据的恢复方法、系统及设备
CN103796018A (zh) 一种遥感影像实时压缩及渐进传输系统
KR102238091B1 (ko) 3d 모델 압축 및 압축해제 시스템 및 방법
CN105163122B (zh) 一种基于图像块相似性的图像压缩及解压缩方法
CN104469400B (zh) 一种基于rfb协议的图像数据压缩方法
CN104394420B (zh) 一种视频处理装置、方法和终端设备
CN108040041A (zh) 一种基于业务驱动的图像差异传输协议设计系统及方法
CN101651827A (zh) 屏幕编码的码率控制方法
CN111314349A (zh) 雾无线接入网中基于联合最大距离可分码与簇协作的编码缓存方法
CN112565760B (zh) 串编码技术的编码方法、设备及存储介质
CN111556122B (zh) 一种基于窄带宽的视频传输存储方法

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
TA01 Transfer of patent application right

Effective date of registration: 20190902

Address after: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Applicant after: Nanjing Zhongxing New Software Co., Ltd.

Address before: 518057 Nanshan District science and Technology Industrial Park, Guangdong high tech Industrial Park, ZTE building

Applicant before: ZTE Corporation

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant