CN113032062A - 一种图像数据传输方法、装置、电子设备及存储介质 - Google Patents
一种图像数据传输方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113032062A CN113032062A CN201911349461.9A CN201911349461A CN113032062A CN 113032062 A CN113032062 A CN 113032062A CN 201911349461 A CN201911349461 A CN 201911349461A CN 113032062 A CN113032062 A CN 113032062A
- Authority
- CN
- China
- Prior art keywords
- pixel block
- image
- historical
- target
- data
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000003709 image segmentation Methods 0.000 claims abstract description 26
- 230000008859 change Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 8
- 239000007787 solid Substances 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种图像数据传输方法,应用于虚拟桌面服务端,包括根据接收到的绘图命令执行绘图操作得到绘图命令图像;对所述绘图命令图像执行图像切分操作得到多个目标像素块;将所述目标像素块与历史像素块执行相似度匹配,并根据相似度匹配结果确定所述目标像素块的像素块类型;根据所述像素块类型对所述目标像素块执行编码操作得到目标编码数据,并将所述目标编码数据传输至所述虚拟桌面客户端。本方法能够降低编码操作对于虚拟桌面服务端的资源消耗,提高编码效率。本申请还公开了一种图像数据传输装置、一种存储介质及一种电子设备,具有以上有益效果。
Description
技术领域
本申请涉及虚拟桌面技术领域,特别涉及一种图像数据传输方法、装置、一种电子设备及一种存储介质。
背景技术
虚拟桌面技术是一种实现桌面系统的远程动态访问与数据中心统一托管的技术。虚拟桌面技术可以让用户通过任何设备、在任何时间、任何地点访问在网络中的个人桌面系统。
虚拟桌面服务端将屏幕内容传输至虚拟桌面客户端进行显示,为了提高传输效率虚拟桌面服务端在传输屏幕内容时需要对屏幕内容对应的图像执行编码操作,将编码后的数据传输至虚拟桌面客户端。虚拟桌面客户端通过对接收到的数据执行解码操作可以得到需要显示的画面。相关技术中,虚拟桌面服务端通过对所有屏幕内容执行基于宏块的编码操作,但是上述编码方法需要消耗虚拟桌面服务端大量的资源,编码效率较低,导致虚拟桌面服务端出现性能瓶颈。
因此,如何降低编码操作对于虚拟桌面服务端的资源消耗,提高编码效率是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种图像数据传输方法、装置、一种电子设备及一种存储介质,能够降低编码操作对于虚拟桌面服务端的资源消耗,提高编码效率。
为解决上述技术问题,本申请提供一种图像数据传输方法,该图像数据传输方法包括:
根据接收到的绘图命令执行绘图操作得到绘图命令图像;
对所述绘图命令图像执行图像切分操作得到多个目标像素块;
将所述目标像素块与历史像素块执行相似度匹配,并根据相似度匹配结果确定所述目标像素块的像素块类型;其中,所述历史像素块为对历史图像集合中的图像执行图像切分操作后的像素块,所述历史图像集合中的图像为虚拟桌面客户端对历史编码数据进行解码得到的图像;
根据像素块类型对所述目标像素块执行编码操作得到目标编码数据,并将所述目标编码数据传输至所述虚拟桌面客户端。
可选的,对所述绘图命令图像执行图像切分操作得到多个目标像素块包括:
按照预设像素块大小将所述绘图命令图像切分为多个所述目标像素块;其中,任意两个所述目标像素块不重叠。
可选的,将所述目标像素块与历史像素块执行相似度匹配,并根据相似度匹配结果确定所述目标像素块的像素块类型包括:
判断所述目标像素块与上一帧传输图像中相同位置的历史像素块是否相同;其中,所述上一帧传输图像为所述历史图像集合中的图像;
若所述目标像素块与上一帧传输图像中相同位置的历史像素块相同,则将所述目标像素块设置为无变化像素块;
若所述目标像素块与所述上一帧传输图像中相同位置的历史像素块不相同,则计算所述目标像素块与所述历史传输图像中所有历史像素块的相似度,并将与所述目标像素块相似度最高的历史像素块设置为备选像素块;
若所述备选像素块与所述目标像素块相同,将所述目标像素块设置为历史重复像素块;
若所述备选像素块与所述目标像素块的相似度大于或等于预设值,将所述目标像素块设置为历史相似像素块;
若所述备选像素块与所述目标像素块的相似度小于所述预设值,将所述目标像素块设置为非历史相似像素块;其中,所述非历史相似像素块包括帧内模式像素块和硬编码像素块,所述帧内模式像素块为应用预设绘图模式的像素块。
可选的,所述预设绘图模式包括纯色模式、纹理模式或同帧像素块相同模式;其中,在同帧像素块相同模式下所述帧内模式像素块对应的图像与所述绘图命令图像中的其他像素块对应的图像相同。
可选的,所述根据像素块类型对所述目标像素块执行编码操作得到目标编码数据包括:
若所述目标像素块为所述无变化像素块,将所述无变化像素块的位置信息设置为待编码数据;
若所述目标像素块为所述历史重复像素块,将所述历史重复像素块对应的备选像素块的像素块信息设置为所述待编码数据;其中,所述像素块信息包括帧数信息和的位置信息;
若所述目标像素块为所述历史相似像素块,确定所述历史相似像素块对应的备选像素块与所述历史相似像素块的变更数据,并根据所述变更数据确定所述待编码数据;
若所述目标像素块为所述帧内模式像素块,将所述帧内模式像素块对应预设绘图模式的模式信息设置为所述待编码数据;
若所述目标像素块为所述硬编码像素块,将所述硬编码像素块对应的图像设置为所述待编码数据;
对所有所述目标像素块对应的待编码数据执行编码操作得到所述目标编码数据。
可选的,确定所述历史相似像素块对应的备选像素块与所述历史相似像素块的变更数据,并根据所述变更数据确定所述待编码数据,包括:
将所述历史相似像素块对应的备选像素块的颜色值与所述历史相似像素块的颜色值相减,得到颜色值差值;
将所述颜色值差值设置为所述待编码数据。
可选的,在将所述目标编码数据传输至所述虚拟桌面客户端之后,还包括:
对所述目标编码数据执行解码操作得到重建图像,并将所述重建图像添加至所述历史图像集合,并将所述重建图像设置为新的上一帧传输图像。
本申请还提供了一种图像数据传输装置,该图像数据传输装置包括:
图像生成模块,用于根据接收到的绘图命令执行绘图操作得到绘图命令图像;
图像切分模块,用于对所述绘图命令图像执行图像切分操作得到多个目标像素块;
像素块类型确定模块,用于将所述目标像素块与历史像素块执行相似度匹配,并根据相似度匹配结果确定所述目标像素块的像素块类型;其中,所述历史像素块为对历史图像集合中的图像执行图像切分操作后的像素块,所述历史图像集合中的图像为虚拟桌面客户端对历史编码数据进行解码得到的图像;
数据传输模块,用于根据像素块类型对所述目标像素块执行编码操作得到目标编码数据,并将所述目标编码数据传输至所述虚拟桌面客户端。
本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述图像数据传输方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述图像数据传输方法执行的步骤。
本申请提供了一种图像数据传输方法,应用于虚拟桌面服务端,该图像数据传输方法包括:根据接收到的绘图命令执行绘图操作得到绘图命令图像;对所述绘图命令图像执行图像切分操作得到多个目标像素块;将所述目标像素块与历史像素块执行相似度匹配,并根据相似度匹配结果确定所述目标像素块的像素块类型;其中,所述历史像素块为对历史图像集合中的图像执行图像切分操作后的像素块,所述历史图像集合中的图像为虚拟桌面客户端对历史编码数据进行解码得到的图像;根据像素块类型对所述目标像素块执行编码操作得到目标编码数据,并将所述目标编码数据传输至所述虚拟桌面客户端。
本申请在确定绘图命令图像后,对绘图命令图像执行图像切分操作得到多个目标像素块,将目标像素块与历史图像集合对应的历史像素块进行相似度匹配。历史像素块为已经向虚拟桌面客户端发送过的图像的像素块,通过将目标像素块与历史像素块进行相似度比对能够确定该目标像素块是否已经发送过,或是否发送过与目标像素块相似度较高的历史像素块,进而确定目标像素块的像素块类型。对于不同的像素块类型可以存在对应的编码方法,本申请可以根据像素块类型对所述目标像素块执行编码操作得到目标编码数据,最终将所述目标编码数据传输至所述虚拟桌面客户端。上述编码方式根据每一目标像素块的类型进行编码,而不是将所有的屏幕内容进行统一编码,因此本申请能够降低编码操作对于虚拟桌面服务端的资源消耗,提高编码效率。本申请同时还提供了一种图像数据传输装置、一种存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种虚拟桌面架构的结构示意图;
图2为本申请实施例所提供的一种图像数据传输方法的流程图;
图3为本申请实施例所提供的一种像素块类型检测方法的流程图;
图4为本申请实施例所提供的一种图像数据传输装置的结构示意图;
图5为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请的图像数据传输方法,下面对于本申请的图像数据传输方法所适用的应用场景进行介绍。参见图1,图1为本申请实施例所提供的一种虚拟桌面架构的结构示意图。
如图1所示,本申请实施例提供的虚拟桌面架构包括:虚拟桌面服务端A、虚拟桌面客户端B1、虚拟桌面客户端B2和虚拟桌面客户端B3,虚拟桌面服务端A中可以运行多个虚拟机,如虚拟机1、虚拟机2和虚拟机3,虚拟桌面服务端A通过将对虚拟机桌面图像进行编码,然后将编码数据传输到客户端。用户可以通过鼠标、键盘或音频等方式在虚拟桌面客户端中输入用户操作,虚拟桌面客户端将用户操作发送至虚拟桌面服务端,虚拟桌面服务端生成与用户操作相对应的绘图指令,进而在虚拟机桌面图像中生成绘图指令对应的绘图指令图像,在虚拟桌面服务端A得到绘图指令图像之后可以对绘图命令图像执行像素块分割操作和像素块类型确定操作,并根据像素块类型执行基于像素块的编码操作得到编码数据,最终将编码数据传输至相应的虚拟桌面客户端。虚拟桌面客户端B1、虚拟桌面客户端B2和虚拟桌面客户端B3在接收到相应的编码数据后,可以对目标编码数据执行相应的解码操作得到需要显示的画面。上述编码方式根据每一目标像素块的类型进行编码,而不是将所有的屏幕内容进行统一编码,因此本申请能够降低编码操作对于虚拟桌面服务端的资源消耗,提高编码效率。
下面请参见图2,图2为本申请实施例所提供的一种图像数据传输方法的流程图。
具体步骤可以包括:
S101:根据接收到的绘图命令执行绘图操作得到绘图命令图像。
其中,本实施例的执行主体可以为虚拟桌面服务端,虚拟桌面服务端可向虚拟桌面客户端传输编码后的桌面内容,虚拟桌面客户端接收到数据后可以执行相应的解码操作得到待输出画面并将该待输出画面显示至虚拟桌面客户端的显示设备上。其中,桌面内容(Desktop Content)指虚拟桌面服务端上的桌面内容,桌面内容可以以像素为单位,桌面内容可以包括文本图像类内容、自然图像类内容以及视频类内容等。
在本步骤之前可以存在接收用户向虚拟桌面服务端输入的绘图命令的操作,具体的绘图命令可以包括文字绘制命令、线条绘制命令、图片绘制命令等。接收到绘图命令之后可以在桌面内容上执行相应的绘图操作得到绘图命令图像,绘图命令图像指绘图命令对应的绘图区域的图像,例如绘图命令为在桌面中绘制以(30,20)为中心边长为15像素的正方形,那么该在正方形所在的区域的图像作为绘图命令图像。作为一种可行的实施方式,本实施例中可以将包括绘图命令对应的绘图内容的最小矩形作为绘图命令图像。
可以理解的是,本实施例不限定绘图命令图像的数量,可以一个绘图命令存在任意数量个绘图命令图像,当绘图命令图像的数量大于1时,任意两个绘图命令图像之间不存在交集。
S102:对绘图命令图像执行图像切分操作得到多个目标像素块。
其中,像素块指由一矩形区域内的像素组成的图像单元。本实施例按照预设像素块大小将所述绘图命令图像切分为多个所述目标像素块,进而得到多个大小相等的目标像素块,作为一种可行的实施方式,本实施例中的目标像素块可以为64x64的像素块或16x16的像素块。
S103:将目标像素块与历史像素块执行相似度匹配,并根据相似度匹配结果确定目标像素块的像素块类型。
其中,本实施例可以存在获取历史像素块的操作,历史像素块为对历史图像集合中的图像执行图像切分操作后的像素块,所述历史图像集合中的图像为虚拟桌面客户端对历史编码数据进行解码得到的图像。在S101之前,本实施例可以将历史编码数据传输至虚拟桌面客户端,以便虚拟桌面客户端对历史编码数据执行解码操作得到相应的画面进行显示。虚拟桌面服务端在向虚拟桌面客户端传输历史编码数据之后,可以在本地对历史编码数据执行解码操作以便确定客户端解码得到的画面,上述虚拟桌面服务端对历史编码数据执行解码操作得到的图像即历史图像集合中的图像,本实施例可以对历史图像集合中的图像执行图像切分操作得到历史像素块,历史像素块与目标像素块为大小尺寸相同的像素块。
本实施例可以将目标像素块与所有的历史像素块一一进行相似度匹配,根据相似度匹配结果确定目标像素块的像素块类型。具体的,本实施例可以将目标像素块与所有历史像素块的相似度最大值作为相似度匹配结果,本实施例可以设置相似度与像素块类型的对应关系,因此本实施例可以根据每一目录像素块的相似度确定对应的像素块类型。可以理解的是,本实施例中所提到的像素块类型可以包括无变化像素块、历史重复像素块、帧内模式像素块、帧间模式像素块和硬编码像素块,无变化像素块指与上一帧图像的相同位置的历史像素块完全一致的目标像素块,历史重复像素块指处理无变化像素块之外与历史像素块完全一致的目标像素块,帧内模式像素块指服从帧内特定模式、不依赖历史像素块的目标像素块,帧间模式像素块指与历史像素块的相似但存在一定误差的目标像素块,硬编码像素块为与历史像素块相似度较低的目标像素块。
S104:根据像素块类型对目标像素块执行编码操作得到目标编码数据,并将目标编码数据传输至所述虚拟桌面客户端。
其中,本实施例可以预先设置每一种像素块类型对应的像素块编码操作方式,在得到像素块类型的基础上可以对目标像素块分别执行相应的编码操作得到目标编码数据,可以通过网络将目标编码数据传输至虚拟桌面客户端。在虚拟桌面客户端接收到目标编码数据之后,可以得到对目标编码数据执行解码操作得到每一像素块的图像,然后将所有的像素块进行拼接得到需要现实的图像。本实施例中所提到的目标像素块可以为宏块编码过程中的宏块(Marco Block),也可以为JPEG编码过程中的切分后的图像块;当目标像素块为宏块时可以对目标像素块执行宏块编码操作得到目标编码数据,当目标像素块为JPEG编码过程中的切分后的图像块时可以对目标像素块执行JPEG(Joint Photographic ExpertsGroup)解码操作得到目标编码数据。本步骤只对虚拟桌面的绘图命令图像进行编码而不是全屏图像,从而提升了编码性能。另外,当时使用基于宏块的编码方式时,能够保证编码的画面质量。
本实施例在确定绘图命令图像后,对绘图命令图像执行图像切分操作得到多个目标像素块,将目标像素块与历史图像集合对应的历史像素块进行相似度匹配。历史像素块为已经向虚拟桌面客户端发送过的图像的像素块,通过将目标像素块与历史像素块进行相似度比对能够确定该目标像素块是否已经发送过,或是否发送过与目标像素块相似度较高的历史像素块,进而确定目标像素块的像素块类型。对于不同的像素块类型可以存在对应的编码方法,本实施例可以根据像素块类型对所述目标像素块执行编码操作得到目标编码数据,最终将所述目标编码数据传输至所述虚拟桌面客户端。上述编码方式根据每一目标像素块的类型进行编码,而不是将所有的屏幕内容进行统一编码,因此本实施例能够降低编码操作对于虚拟桌面服务端的资源消耗,提高编码效率。
下面请参见图3,图3为本申请实施例所提供的一种像素块类型检测方法的流程图,本实施例是对图2对应实施例中S103的进一步介绍,可以将本实施例与图2对应的是实施例相结合得到进一步的实施方式,本实施例可以包括以下步骤:
S201:判断目标像素块与上一帧传输图像中相同位置的历史像素块是否相同;若是,则进入S202;若否,则进入S203;
其中,所述上一帧传输图像为所述历史图像集合中的图像,历史图像集合中可以包括多帧已经传输过的图像。
S202:将目标像素块设置为无变化像素块;
S203:计算目标像素块与所述历史传输图像中所有历史像素块的相似度,并将与目标像素块相似度最高的历史像素块设置为备选像素块;
S204:根据目标像素块及其对应的备选像素块的相似度确定目标红块的像素块类型。
具体的,当所述备选像素块与所述目标像素块相同时,可以将所述目标像素块设置为历史重复像素块;当所述备选像素块与所述目标像素块的相似度大于或等于预设值时,将所述目标像素块设置为历史相似像素块;当所述备选像素块与所述目标像素块的相似度小于所述预设值时,将所述目标像素块设置为非历史相似像素块;其中,所述非历史相似像素块包括帧内模式像素块和硬编码像素块,所述帧内模式像素块为应用预设绘图模式的像素块。帧内模式像素块可以包括纯色的像素块或仅包括特定横竖条纹的像素块,帧内模式像素块可以包括与其他目标像素块图像一致的像素块。即:预设绘图模式包括纯色模式、纹理模式或同帧像素块相同模式;在同帧像素块相同模式下帧内模式像素块对应的图像与所述绘图命令图像中的其他像素块对应的图像相同。
若将图2对应的实施例与图3对应的实施例相结合,S104中根据像素块类型对所述目标像素块执行编码操作得到目标编码数据可以包括以下方式:
若所述目标像素块为所述无变化像素块,将所述无变化像素块的位置信息设置为待编码数据。
若所述目标像素块为所述历史重复像素块,将所述历史重复像素块对应的备选像素块的像素块信息设置为所述待编码数据;其中,所述像素块信息包括帧数信息和的位置信息,帧数信息指备选模块所在的历史图像的帧数。
若所述目标像素块为所述历史相似像素块,确定所述历史相似像素块对应的备选像素块与所述历史相似像素块的变更数据,并根据所述变更数据确定所述待编码数据。具体的,可以先将所述历史相似像素块对应的备选像素块的颜色值与所述历史相似像素块的颜色值相减,得到颜色值差值,然后将所述颜色值差值设置为所述待编码数据。两个宏块中颜色值差值为零的像素点颜色相同,可以根据颜色差值确定两个宏块之间的数据变化。
若所述目标像素块为所述帧内模式像素块,将所述帧内模式像素块对应预设绘图模式的模式信息设置为所述待编码数据。
若所述目标像素块为所述硬编码像素块,将所述硬编码像素块对应的图像设置为所述待编码数据。
在得到上述像素块类型对应的待编码数据后,可以对所有所述目标像素块对应的待编码数据执行编码操作得到所述目标编码数据。具体的,可以将像素块类型以及对应的待编码数据编码进码流里,再将码流发送到客户端。例如,将信息【模式:历史重复;历史像素块信息:上一帧的最后一个像素块】放入码流,那么解码端收到该数据后就会将上一帧最后一个像素块拷贝到当前位置从而还原出该像素块。
作为对于图2对应实施例的进一步介绍,在将所述目标编码数据传输至所述虚拟桌面客户端之后,还可以对所述目标编码数据执行解码操作得到重建图像,并将所述重建图像添加至所述历史图像集合,并将所述重建图像设置为新的上一帧传输图像,以便在接收到新的绘图命令图像后利用更新后的历史图像集合确定像素块类型。虚拟桌面服务端通过执行类似解码端(即虚拟桌面客户端)的还原操作,将编码后的图像进行还原得到重建图像。将重建图像放入历史图像集合中,用于后续的匹配。重建后的图像因为与解码端解码出的图像完全一致,所以可以控制画面质量的误差,保持较好的画质。
请参见图4,图4为本申请实施例所提供的一种图像数据传输装置的结构示意图;
该装置可以包括:
图像生成模块100,用于根据接收到的绘图命令执行绘图操作得到绘图命令图像;
图像切分模块200,用于对所述绘图命令图像执行图像切分操作得到多个目标像素块;
像素块类型确定模块300,用于将所述目标像素块与历史像素块执行相似度匹配,并根据相似度匹配结果确定所述目标像素块的像素块类型;其中,所述历史像素块为对历史图像集合中的图像执行图像切分操作后的像素块,所述历史图像集合中的图像为虚拟桌面客户端对历史编码数据进行解码得到的图像;
数据传输模块400,用于根据像素块类型对所述目标像素块执行编码操作得到目标编码数据,并将所述目标编码数据传输至所述虚拟桌面客户端。
本实施例在确定绘图命令图像后,对绘图命令图像执行图像切分操作得到多个目标像素块,将目标像素块与历史图像集合对应的历史像素块进行相似度匹配。历史像素块为已经向虚拟桌面客户端发送过的图像的像素块,通过将目标像素块与历史像素块进行相似度比对能够确定该目标像素块是否已经发送过,或是否发送过与目标像素块相似度较高的历史像素块,进而确定目标像素块的像素块类型。对于不同的像素块类型可以存在对应的编码方法,本实施例可以根据像素块类型对所述目标像素块执行编码操作得到目标编码数据,最终将所述目标编码数据传输至所述虚拟桌面客户端。上述编码方式根据每一目标像素块的类型进行编码,而不是将所有的屏幕内容进行统一编码,因此本实施例能够降低编码操作对于虚拟桌面服务端的资源消耗,提高编码效率。
进一步的,图像切分模块200具体为用于按照预设像素块大小将所述绘图命令图像切分为多个所述目标像素块的模块;其中,任意两个所述目标像素块不重叠。
进一步的,像素块类型确定模块300包括:
判断单元,用于判断所述目标像素块与上一帧传输图像中相同位置的历史像素块是否相同;其中,所述上一帧传输图像为所述历史图像集合中的图像;
第一设置单元,用于若目标像素块与上一帧传输图像中相同位置的历史像素块相同,则将所述目标像素块设置为无变化像素块;
第二设置单元,用于若目标像素块与上一帧传输图像中相同位置的历史像素块不相同,则计算所述目标像素块与所述历史传输图像中所有历史像素块的相似度,并将与所述目标像素块相似度最高的历史像素块设置为备选像素块;还用于若所述备选像素块与所述目标像素块相同,将所述目标像素块设置为历史重复像素块;还用于若所述备选像素块与所述目标像素块的相似度大于或等于预设值,将所述目标像素块设置为历史相似像素块;还用于若所述备选像素块与所述目标像素块的相似度小于所述预设值,将所述目标像素块设置为非历史相似像素块;其中,所述非历史相似像素块包括帧内模式像素块和硬编码像素块,所述帧内模式像素块为应用预设绘图模式的像素块。
进一步的,所述预设绘图模式包括纯色模式、纹理模式或同帧像素块相同模式;其中,在同帧像素块相同模式下所述帧内模式像素块对应的图像与所述绘图命令图像中的其他像素块对应的图像相同。
进一步的,所述数据传输模块400包括:
第一信息设置单元,用于若所述目标像素块为所述无变化像素块,将所述无变化像素块的位置信息设置为待编码数据;
第二信息设置单元,用于若所述目标像素块为所述历史重复像素块,将所述历史重复像素块对应的备选像素块的像素块信息设置为所述待编码数据;其中,所述像素块信息包括帧数信息和的位置信息;
第三信息设置单元,用于若所述目标像素块为所述历史相似像素块,确定所述历史相似像素块对应的备选像素块与所述历史相似像素块的变更数据,并根据所述变更数据确定所述待编码数据;
第四信息设置单元,用于若所述目标像素块为所述帧内模式像素块,将所述帧内模式像素块对应预设绘图模式的模式信息设置为所述待编码数据;
第五信息设置单元,用于若所述目标像素块为所述硬编码像素块,将所述硬编码像素块对应的图像设置为所述待编码数据;
编码单元,用于对所有所述目标像素块对应的待编码数据执行编码操作得到所述目标编码数据;
传输单元,用于将所述目标编码数据传输至所述虚拟桌面客户端。
进一步的,第三信息设置单元用于将所述历史相似像素块对应的备选像素块的颜色值与所述历史相似像素块的颜色值相减,得到颜色值差值;将所述颜色值差值设置为所述待编码数据。
进一步的,还包括:
历史图像集合更新模块,用于在将所述目标编码数据传输至所述虚拟桌面客户端之后,对所述目标编码数据执行解码操作得到重建图像,并将所述重建图像添加至所述历史图像集合,并将所述重建图像设置为新的上一帧传输图像。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。请参见图5,图5为本申请实施例所提供的一种电子设备的结构示意图,本实施例的电子设备可以包括:处理器2101和存储器2102。
可选的,该电子设备还可以包括通信接口2103、输入单元2104和显示器2105和通信总线2106。
处理器2101、存储器2102、通信接口2103、输入单元2104、显示器2105、均通过通信总线2106完成相互间的通信。
在本申请实施例中,该处理器2101,可以为中央处理器(Central ProcessingUnit,CPU),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。
该处理器可以调用存储器2102中存储的程序。具体的,处理器可以执行以下图像数据传输方法的实施例中电子设备侧所执行的操作。
存储器2102中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:
根据接收到的绘图命令执行绘图操作得到绘图命令图像;
对所述绘图命令图像执行图像切分操作得到多个目标像素块;
将所述目标像素块与历史像素块执行相似度匹配,并根据相似度匹配结果确定所述目标像素块的像素块类型;其中,所述历史像素块为对历史图像集合中的图像执行图像切分操作后的像素块,所述历史图像集合中的图像为虚拟桌面客户端对历史编码数据进行解码得到的图像;
根据所述像素块类型对所述目标像素块执行编码操作得到目标编码数据,并将所述目标编码数据传输至所述虚拟桌面客户端。
在一种可能的实现方式中,该存储器2102可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如话题检测功能等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据。
此外,存储器2102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
该通信接口2103可以为通信模块的接口,如GSM模块的接口。
本申请还可以包括显示器2105和输入单元2104等等。
图5所示的电子设备的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图5所示的更多或更少的部件,或者组合某些部件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种图像数据传输方法,其特征在于,应用于虚拟桌面服务端,包括:
根据接收到的绘图命令执行绘图操作得到绘图命令图像;
对所述绘图命令图像执行图像切分操作得到多个目标像素块;
将所述目标像素块与历史像素块执行相似度匹配,并根据相似度匹配结果确定所述目标像素块的像素块类型;其中,所述历史像素块为对历史图像集合中的图像执行图像切分操作后的像素块,所述历史图像集合中的图像为虚拟桌面客户端对历史编码数据进行解码得到的图像;
根据所述像素块类型对所述目标像素块执行编码操作得到目标编码数据,并将所述目标编码数据传输至所述虚拟桌面客户端。
2.根据权利要求1所述图像数据传输方法,其特征在于,对所述绘图命令图像执行图像切分操作得到多个目标像素块包括:
按照预设像素块大小将所述绘图命令图像切分为多个所述目标像素块;其中,任意两个所述目标像素块不重叠。
3.根据权利要求1所述图像数据传输方法,其特征在于,将所述目标像素块与历史像素块执行相似度匹配,并根据相似度匹配结果确定所述目标像素块的像素块类型包括:
判断所述目标像素块与上一帧传输图像中相同位置的历史像素块是否相同;其中,所述上一帧传输图像为所述历史图像集合中的图像;
若所述目标像素块与所述上一帧传输图像中相同位置的历史像素块相同,则将所述目标像素块设置为无变化像素块;
若所述目标像素块与所述上一帧传输图像中相同位置的历史像素块不相同,则计算所述目标像素块与所述历史传输图像中所有历史像素块的相似度,并将与所述目标像素块相似度最高的历史像素块设置为备选像素块;
若所述备选像素块与所述目标像素块相同,将所述目标像素块设置为历史重复像素块;
若所述备选像素块与所述目标像素块的相似度大于或等于预设值,将所述目标像素块设置为历史相似像素块;
若所述备选像素块与所述目标像素块的相似度小于所述预设值,将所述目标像素块设置为非历史相似像素块;其中,所述非历史相似像素块包括帧内模式像素块和硬编码像素块,所述帧内模式像素块为应用预设绘图模式的像素块。
4.根据权利要求3所述图像数据传输方法,其特征在于,所述预设绘图模式包括纯色模式、纹理模式或同帧像素块相同模式;其中,在同帧像素块相同模式下所述帧内模式像素块对应的图像与所述绘图命令图像中的其他像素块对应的图像相同。
5.根据权利要求3所述图像数据传输方法,其特征在于,所述根据像素块类型对所述目标像素块执行编码操作得到目标编码数据包括:
若所述目标像素块为所述无变化像素块,将所述无变化像素块的位置信息设置为待编码数据;
若所述目标像素块为所述历史重复像素块,将所述历史重复像素块对应的备选像素块的像素块信息设置为所述待编码数据;其中,所述像素块信息包括帧数信息和的位置信息;
若所述目标像素块为所述历史相似像素块,确定所述历史相似像素块对应的备选像素块与所述历史相似像素块的变更数据,并根据所述变更数据确定所述待编码数据;
若所述目标像素块为所述帧内模式像素块,将所述帧内模式像素块对应预设绘图模式的模式信息设置为所述待编码数据;
若所述目标像素块为所述硬编码像素块,将所述硬编码像素块对应的图像设置为所述待编码数据;
对所有所述目标像素块对应的待编码数据执行编码操作得到所述目标编码数据。
6.根据权利要求5所述图像数据传输方法,其特征在于,确定所述历史相似像素块对应的备选像素块与所述历史相似像素块的变更数据,并根据所述变更数据确定所述待编码数据,包括:
将所述历史相似像素块对应的备选像素块的颜色值与所述历史相似像素块的颜色值相减,得到颜色值差值;
将所述颜色值差值设置为所述待编码数据。
7.根据权利要求1至6任一项所述图像数据传输方法,其特征在于,在将所述目标编码数据传输至所述虚拟桌面客户端之后,还包括:
对所述目标编码数据执行解码操作得到重建图像,并将所述重建图像添加至所述历史图像集合,并将所述重建图像设置为新的上一帧传输图像。
8.一种图像数据传输装置,其特征在于,包括:
图像生成模块,用于根据接收到的绘图命令执行绘图操作得到绘图命令图像;
图像切分模块,用于对所述绘图命令图像执行图像切分操作得到多个目标像素块;
像素块类型确定模块,用于将所述目标像素块与历史像素块执行相似度匹配,并根据相似度匹配结果确定所述目标像素块的像素块类型;其中,所述历史像素块为对历史图像集合中的图像执行图像切分操作后的像素块,所述历史图像集合中的图像为虚拟桌面客户端对历史编码数据进行解码得到的图像;
数据传输模块,用于根据所述像素块类型对所述目标像素块执行编码操作得到目标编码数据,并将所述目标编码数据传输至所述虚拟桌面客户端。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至7任一项所述图像数据传输方法的步骤。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至7任一项所述图像数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911349461.9A CN113032062A (zh) | 2019-12-24 | 2019-12-24 | 一种图像数据传输方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911349461.9A CN113032062A (zh) | 2019-12-24 | 2019-12-24 | 一种图像数据传输方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113032062A true CN113032062A (zh) | 2021-06-25 |
Family
ID=76451871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911349461.9A Pending CN113032062A (zh) | 2019-12-24 | 2019-12-24 | 一种图像数据传输方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032062A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485780A (zh) * | 2021-07-22 | 2021-10-08 | 辽宁向日葵教育科技有限公司 | 一种基于web服务器的桌面传输方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002802A (en) * | 1995-10-27 | 1999-12-14 | Kabushiki Kaisha Toshiba | Video encoding and decoding apparatus |
CN105224390A (zh) * | 2015-09-22 | 2016-01-06 | 宁夏大学 | 一种虚拟桌面压缩的方法 |
CN109788313A (zh) * | 2017-11-10 | 2019-05-21 | 中兴通讯股份有限公司 | 一种图像传输方法、装置及设备 |
CN110545417A (zh) * | 2018-05-28 | 2019-12-06 | 深信服科技股份有限公司 | 一种桌面场景的图像编码、解码方法及相关装置 |
CN110545432A (zh) * | 2018-05-28 | 2019-12-06 | 深信服科技股份有限公司 | 一种图像编码、解码方法、相关装置及存储介质 |
-
2019
- 2019-12-24 CN CN201911349461.9A patent/CN113032062A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002802A (en) * | 1995-10-27 | 1999-12-14 | Kabushiki Kaisha Toshiba | Video encoding and decoding apparatus |
CN105224390A (zh) * | 2015-09-22 | 2016-01-06 | 宁夏大学 | 一种虚拟桌面压缩的方法 |
CN109788313A (zh) * | 2017-11-10 | 2019-05-21 | 中兴通讯股份有限公司 | 一种图像传输方法、装置及设备 |
CN110545417A (zh) * | 2018-05-28 | 2019-12-06 | 深信服科技股份有限公司 | 一种桌面场景的图像编码、解码方法及相关装置 |
CN110545432A (zh) * | 2018-05-28 | 2019-12-06 | 深信服科技股份有限公司 | 一种图像编码、解码方法、相关装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
田洪伟: "基于FPGA遥测模拟器的设计与实现", 《航空计算技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485780A (zh) * | 2021-07-22 | 2021-10-08 | 辽宁向日葵教育科技有限公司 | 一种基于web服务器的桌面传输方法 |
CN113485780B (zh) * | 2021-07-22 | 2022-04-29 | 辽宁向日葵教育科技有限公司 | 一种基于web服务器的桌面传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10110936B2 (en) | Web-based live broadcast | |
JP6728385B2 (ja) | デジタルイメージ再圧縮 | |
CN111681167A (zh) | 画质调整方法和装置、存储介质及电子设备 | |
CN110198492B (zh) | 一种视频的水印添加方法、装置、设备及存储介质 | |
CN111163318B (zh) | 一种基于反馈优化的人机视觉编码方法和装置 | |
CN112533059B (zh) | 图像渲染方法、装置、电子设备以及存储介质 | |
EP3410302B1 (en) | Graphic instruction data processing method, apparatus | |
CN107665128B (zh) | 图像处理方法、系统、服务器及可读存储介质 | |
WO2023045420A1 (zh) | 图像处理方法及装置、电子设备和存储介质 | |
US20140177957A1 (en) | Systems and methods for determining compression methods to use for an image | |
US20150117515A1 (en) | Layered Encoding Using Spatial and Temporal Analysis | |
CN112422868A (zh) | 数据处理方法及终端设备、服务器 | |
CN105208394B (zh) | 一种实时数字图像压缩预测方法与系统 | |
JP5779116B2 (ja) | 画像符号化方法、画像符号化装置及び画像符号化プログラム | |
CN113655975B (zh) | 图像显示方法、装置、电子设备和介质 | |
KR101984825B1 (ko) | Api 정보를 이용한 클라우드 디스플레이 화면의 부호화 방법 및 그 장치 | |
CN113032062A (zh) | 一种图像数据传输方法、装置、电子设备及存储介质 | |
CN113411660B (zh) | 视频数据的处理方法、装置和电子设备 | |
CN111245879A (zh) | 一种虚拟桌面的桌面内容传输方法、系统及相关组件 | |
WO2023024832A1 (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110891195A (zh) | 花屏图像的生成方法、装置、设备和存储介质 | |
CN114938408B (zh) | 一种云手机的数据传输方法、系统、设备及介质 | |
CN111859210A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN115442617A (zh) | 一种基于视频编码的视频处理方法和装置 | |
Ali et al. | Implementation of image processing system using handover technique with map reduce based on big data in the cloud environment. |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210625 |
|
RJ01 | Rejection of invention patent application after publication |