图像传输方法、云桌面及图像传输系统、设备及产品与流程

文档序号:33399583发布日期:2023-03-08 15:43阅读:45来源:国知局
图像传输方法、云桌面及图像传输系统、设备及产品与流程

1.本技术涉及计算机技术领域,尤其涉及一种图像传输方法、云桌面及图像传输系统、设备及产品。


背景技术:

2.云桌面是一种云端提供计算和存储能力的远程桌面服务,即用户使用终端通过网络去运行远端桌面的技术。使用云桌面的用户能够从任何设备(包括windows和mac计算机、ipad/iphone和android智能设备、桌面终端)访问其云桌面中所需使用的文档和应用程序。云桌面所运行的操作系统可安装在远端的宿主机上,数据处理和存储也是在远端完成,本地终端只要执行键盘、鼠标等控制命令和显示画面的传输。
3.云桌面的实际使用体验和网络数据传输的流畅程度密切相关。如果网络上发生了拥塞、丢包,用户使用云桌面时会感觉响应时延高、操作卡顿等。


技术实现要素:

4.鉴于上述问题,本技术各实施例提供一种能改善网络拥塞、丢包等问题的技术方案。
5.在本技术的一个实施例中,提供了一种云桌面图像传输方法,适于云桌面服务端。具体的,所述方法包括:
6.获取桌面图像;
7.根据网络服务质量信息和所述桌面图像的图像内容,对所述桌面图像进行区块划分,得到多个区块;
8.分别为所述多个区块确定相应的编码算法;
9.利用所述多个区块各自对应的编码算法,分别对所述多个区块进行编码,得到所述桌面图像对应的多个编码信息;
10.将所述桌面图像对应的多个编码信息分别发送至终端,以便所述终端对所述多个编码信息解码后展示所述桌面图像,供用户操作。
11.在本技术的另一实施例中,提供了一种云桌面图像传输方法,适于终端。具体的,该方法包括:
12.分别接收云桌面服务端发送的多个编码信息;其中,所述编码信息中含有桌面图像标识、所属区块标识及所述桌面图像对应的区块总数量;
13.确定接收到所述区块总数量个含有同一桌面图像标识的多个编码信息后,分别按照多个编码信息各自对应的解码算法,对所述多个编码信息进行解码,得到多个区块;
14.按照所述多个区块各自对应的区块标识,将所述多个区块进行拼接,得到所述桌面图像;
15.显示所述桌面图像。
16.在本技术的又一个实施例中,提供了一种云桌面系统。该系统包括:
17.云桌面服务端,用于获取桌面图像;根据网络服务质量信息和所述桌面图像的图像内容,对所述桌面图像进行区块划分,得到多个区块;分别为所述多个区块确定相应的编码算法;利用所述多个区块各自对应的编码算法,分别对所述多个区块进行编码,得到所述桌面图像对应的多个编码信息;将所述桌面图像对应的多个编码信息分别发送至终端;
18.所述终端,与所述云桌面服务端通信连接,用于接收所述云桌面服务端分别发送的所述多个编码信息,分别对所述多个编码信息进行解码得到多个区块;将所述多个区块进行拼接得到所述桌面图像,显示所述桌面图像。
19.在本技术的还一个实施例中,提供了一种图像传输方法,适于第一设备。所述方法包括:
20.获取目标图像;
21.根据网络服务质量信息和所述目标图像的图像内容,对所述目标图像进行区块划分,得到多个区块;
22.分别为所述多个区块确定相应的编码算法;
23.利用所述多个区块各自对应的编码算法,分别对所述多个区块进行编码,得到所述目标图像对应的多个编码信息;
24.将所述目标图像对应的多个编码信息分别发送至第二设备,以便所述第二设备对所述多个编码信息解码后展示所述目标图像。
25.在本技术的还一个实施例中,提供了一种图像传输方法,适于第二设备。具体的,所述方法包括:
26.分别接收第一设备发送的多个编码信息;其中,所述编码信息中含有目标图像标识、所属区块标识及所述目标图像对应的区块总数量;
27.确定接收到所述区块总数量个含有同一目标图像标识的多个编码信息后,分别按照多个编码信息各自对应的解码算法,对所述多个编码信息进行解码,得到多个区块;
28.按照所述多个区块各自对应的区块标识,将所述多个区块进行拼接,得到所述目标图像;
29.显示所述目标图像。
30.在本技术的又一个实施例中,提供一种图像传输系统,包括:
31.第一设备,用于获取目标图像;根据网络服务质量信息和所述目标图像的图像内容,对所述目标图像进行区块划分,得到多个区块;分别为所述多个区块确定相应的编码算法;利用所述多个区块各自对应的编码算法,分别对所述多个区块进行编码,得到所述目标图像对应的多个编码信息;将所述目标图像对应的多个编码信息分别发送至第二设备,以便所述第二设备对所述多个编码信息解码后展示所述目标图像;
32.第二设备,与所述第一设备通信连接,用于接收所述第一设备发送的所述多个编码信息,分别对所述多个编码信息进行解码得到多个区块;将所述多个区块进行拼接得到所述目标图像;显示所述目标图像。
33.本技术的还提供了一种计算设备实施例,该计算设备包括存储器和处理器,所述存储器,存储一条或多条计算机指令;所述处理器,与所述存储器耦合,用于执行所述一条或多条计算机指令,以用于实现上述云桌面图像传输方法中的步骤,或上述图像传输方法中的步骤。
34.本技术实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,使得所述一个或多个处理器执行上述云桌面图像传输方法中的步骤,或上述图像传输方法中的步骤。
35.本技术还有一实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当所述计算机程序或指令被处理器执行时,使得所述处理器执行上述云桌面图像传输方法中的步骤,或上述图像传输方法中的步骤。
36.本技术各实施例提供的技术方案中,基于网络服务质量及图像内容,将云桌面服务端侧的桌面图像划分成多个区块;然后利用多个区块各自对应的编码算法,分别对多个区块进行编码,得到桌面图像对应的多个编码信息。随后将桌面图像对应的多个编码信息分别发送至终端。这样就能实现每次网络发送的数据量均衡可控,降低了突发式流量的发生概率,从而避免了网络拥塞,有助于提升云桌面用户的使用体验。
附图说明
37.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要利用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1示出了现有技术中云桌面服务端截屏编码过程的原理性示意图;
39.图2示出了现有技术中出现的网络流量突发示意图;
40.图3示出了本技术一实施例提供的云桌面系统的示意图;
41.图4示出了本技术一实施例提供的云桌面图像传输方法的流程示意图;
42.图5示出了本技术一实施例提供的云桌面图像传输方法中桌面图像划分至编码发送的流程示意图;
43.图6示出了采用本技术实施例提供的方案后网络流量曲线与现有技术曲线的对比图;
44.图7示出了本技术一实施例提供的云桌面图像传输方法的流程示意图;
45.图8示出了本技术一实施例提供的图像传输方法的流程示意图;
46.图9示出了本技术另一实施例提供的云桌面图像传输方法的流程示意图;
47.图10示出了本技术一实施例提供的云桌面图像传输装置的结构示意图;
48.图11示出了本技术另一实施例提供的云桌面图像传输装置的结构示意图;
49.图12示出了本技术一实施例提供的计算机机设备的结构示意图。
具体实施方式
50.云桌面处理的方式主要是通过图片命令流、全屏视频流和图片/视频混合流传输画面,然后在客户端再将这些图片、视频渲染出来。这种云桌面处理方式需要占用大量带宽资源。因此,现有技术中将云桌面的屏幕进行截图,然后截取的桌面图像进行编码,随后发送至终端;终端解码后进行显示。
51.终端与云桌面服务端建立基于指定协议(可称为流化协议)的连接。终端可以使用指定协议建立与云桌面服务端之间的连接。该指定协议可以是一种特定的云桌面协议,是
一组用来指定“控制信息”和“数据信息”如何在云桌面服务端与终端之间进行交换的规则。也就是说,建立基于流化协议的连接后,终端可基于该流化协议,将桌面操作数据传递给云桌面服务端;云桌面服务端也可以基于该流化协议,将桌面数据传递给终端。相应的,该连接可以认为是一种专用于传输桌面数据及其他相关信息的特定的连接。
52.云桌面是典型的云计算应用,主要是在云端通过虚拟机部署用户所需的操作系统及应用软件,然后通过远程云桌面方式将服务端虚拟机的桌面传送到客户端。客户端可以是安装在硬件设备(即终端)上的软件、也可以是硬件,还可以是浏览器。
53.将服务端虚拟机的桌面远程传送到终端时,常用做法是把屏幕的更新通过一帧帧编码的图片传送到终端,传输数据可采用较高压缩比的压缩算法进行压缩。同时,终端的键盘、鼠标、触控笔、触摸屏等外设输入设备的操作可以通过网络重定向到服务端虚拟机,服务端虚拟机接收输入以更新屏幕信息。通常的做法是,在终端获取鼠标、键盘等的操作,再把这些操作消息通过网络发送到虚拟机,虚拟机再把更新的桌面图像传输到终端进行显示。
54.图1示出了现有技术中云桌面屏幕截取的桌面图像编码再传输的流程。该流程如下:
55.1、云桌面屏幕截屏,获取桌面图像(亦可称为屏幕帧数据);
56.2、对桌面图像进行编码,得到编码信息;
57.3、发送该编码信息。
58.上述流程的一个缺点是:当屏幕分辨率比较高、屏幕变化比较剧烈的时候,编码后产生的数据可能非常大,网络发送时会产生明显的突发式流量。如图2所示,在发送第一帧桌面图像的编码信息时,及发送第二帧桌面图像的编码信息时,就会出现明显的流量高峰。这种突发式的网络流量,不利于底层的网络管理,容易造成网络丢包严重,引起网络拥塞,最终影响用户体验。
59.因此,本技术提供了如下各实施例以改善现有技术中存在的问题。为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
60.在本技术的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。而本技术中术语“或/和”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如:a或/和b,表示可以单独存在a,同时存在a和b,单独存在b这三种情况;本技术中字符“/”,一般表示前后关联对象是一种“或”关系。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。此外,下述的各实施例仅仅是本技术一部分实施例,而不是全部的
实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
61.在介绍本技术方法实施例之前,先对本技术方法实施例所基于的硬件系统进行说明。如图3所示的实施例,本技术提供一种云桌面系统。该云桌面系统包括:云桌面服务端11及终端12。其中,云桌面服务端11用于提供远端桌面。终端12,与所述云桌面服务端11通信连接,用于显示所述远端桌面以供用户操作。
62.云桌面服务端11,用于获取桌面图像;根据网络服务质量信息和所述桌面图像的图像内容,对所述桌面图像进行区块划分,得到多个区块;分别为所述多个区块确定相应的编码算法;利用所述多个区块各自对应的编码算法,分别对所述多个区块进行编码,得到所述桌面图像对应的多个编码信息;将所述桌面图像对应的多个编码信息分别发送至终端;
63.所述终端12,用于接收所述云桌面服务端分别发送的所述多个编码信息,分别对所述多个编码信息进行解码得到多个区块;将所述多个区块进行拼接得到所述桌面图像,显示所述桌面图像。
64.其中,云桌面服务端11是指提供云桌面服务的服务端设备,该服务端设备可以是实体设备,也可以是虚拟设备。例如,服务端设备可以是单一服务器、多个服务器组成的服务器集群、或是运行在单个服务器或服务器集群中的虚拟机(virtual machine,vm)等等。云桌面服务端11可响应中断的云桌面服务请求,为用户提供与云桌面相关的服务。云桌面服务端11可部署的云桌面服务包括但不限于:云桌面、云桌面的操作系统、云桌面的管控服务及云桌面的协议服务等。
65.终端12与云桌面服务端11通信连接的设备,如手机、笔记本、平板电脑、智能穿戴设备、瘦主机等等。或者,终端12也可以是云桌面对应的软终端。终端12上可安装云桌面对应的客户端程序,通过桌面传输协议访问云桌面服务端11上的对应的虚拟机来实现交互操作,如图2所示,达到与现有计算机一致的使用体验。
66.进一步的,所述终端12在接收所述云桌面服务端11分别发送的所述多个编码信息,分别对所述多个编码信息进行解码得到多个区块时,具体用于:
67.分别接收云桌面服务端发送的多个编码信息;其中,所述编码信息中含有桌面图像标识、所属区块标识及所述桌面图像对应的区块总数量;
68.确定接收到所述区块总数量个含有同一桌面图像标识的多个编码信息后,分别按照多个编码信息各自对应的解码算法,对所述多个编码信息进行解码,得到多个区块;
69.按照所述多个区块各自对应的区块标识,将所述多个区块进行拼接,得到所述桌面图像。
70.本实施例提供的技术方案中,基于网络服务质量及图像内容,将云桌面服务端侧的桌面图像划分成多个区块;然后利用多个区块各自对应的编码算法,分别对多个区块进行编码,得到桌面图像对应的多个编码信息。随后将桌面图像对应的多个编码信息分别发送至终端。这样就能实现每次网络发送的数据量均衡可控,降低了突发式流量的发生概率,从而避免了网络拥塞,有助于提升云桌面用户的使用体验。
71.有关上述云桌面系统中云桌面服务端,及终端对应功能的具体实现,可参见下文相关内容。
72.图4和图5示出了本技术一实施例提供的云桌面图像传输方法的流程示意图。本实
施例提供的所述方法的执行主体可以是云桌面服务端。所述云桌面服务端用于为终端提供远端桌面供终端用户操作。相应的,所述方法包括:
73.101、获取桌面图像;
74.102、根据网络服务质量信息和所述桌面图像的图像内容,对所述桌面图像进行区块划分,得到多个区块;
75.103、分别为所述多个区块确定相应的编码算法;
76.104、利用所述多个区块各自对应的编码算法,分别对所述多个区块进行编码,得到所述桌面图像对应的多个编码信息;
77.105、将所述桌面图像对应的多个编码信息分别发送至终端,以便所述终端对所述多个编码信息解码后展示所述桌面图像,供用户操作。
78.上述101中,所述桌面图像可以通过屏幕截图的方式获得。例如,在每次桌面刷新时,进行屏幕截图,也可按照设定频率进行屏幕截取,本实施例对此不作限定。
79.这里需要补充的是:本实施例中桌面图像可以是截取到的全屏幕的图像,也可以是桌面上一个或多个云应用窗口的图像等等。其中,云应用是运行在云服务端,用户的终端不需要安装应用,通过流化协议便可使用云服务端侧的应用。
80.上述102中,网络服务质量qos(quality of service,服务质量)信息包括如下中的至少一个参数:
81.bandwidth and throughput,带宽和吞吐量,在系统负载严重,各种feature都打开的时候,系统的吞吐量仍能获得保证;
82.packet loss rate,丢包率;
83.delay,包转发延迟;
84.jitter,也叫delay variance,转发延迟的抖动;
85.bit error rate,误码率。
86.上述桌面图像的图像内容,按照前景背景分可包括:桌面上的应用图标、桌面背景、应用窗口等;若按图案区分可包括:通过图像识别技术识别出的各类图案。例如,若桌面图像的图像内容是按照前景背景分,则在一个具体实施例中可将应用图标和桌面背景作为背景区域,将应用窗口作为前景区域。前景区域可划分一个或多个区块。背景区域可划分为一个或多个区块。
87.其中,桌面图像划分出的多个区块的大小可以相同,也可不同。
88.在一可实现的方案中,前景区域应该是用户关注的区域,因此前景区域划分出的分块对应的编码算法类型可以第一类型。背景区域可能不是用户关注的区域,那么背景区域划分出的分块对应的编码算法类型可以是第二类型。其中,第一类型的压缩图像质量高于第二类型。比如,第一类型为无损编码类型,第二类为有损编码类型。
89.有损编码又称为不可逆编码,是指对图像进行有损压缩,具有较高的压缩比,但解码重构的图像与原始图像存在一定的失真。
90.无损编码又称为可逆编码,是指解压后的还原图像与原始图形相同,但压缩比不高。
91.或者,按照编码技术分,编码算法类型可分为预测编码、变换编码和统计编码。预测编码是利用图像信号在局部空间和时间范围内的高度相关性,以已经传出的近邻像素值
作为参考,预测当前像素值,然后量化、编码预测误差。变换编码是将空域中描述的图像数据经过某种正交变换(如离散傅里叶变换dft、离散余弦变换dct、离散小波变换dwt等)转换到另一个变换域(频率域)中进行描述,变换后的结果是一批变换系数,然后对这些变换系数进行编码处理,从而达到压缩图像数据的目的。统计编码也称为熵编码,它是一类根据信息熵原理进行的信息保持型变字长编码。编码时对出现概率高的事件(被编码的符号)用短码表示,对出现概率低的事件用长码表示。在目前图像编码国际标准中,常见的熵编码方法有哈夫曼(huffman)编码和算术编码。
92.上述103中,可基于网络服务质量qos信息,为各区块确定相应的编码算法。比如,在qos信息表征当前网络状态较好时,可采用压缩图像质量高的编码算法(即压缩比低的)对各区块进行编码;在qos信息表征当前网络状态较差时,可采用压缩图像质量低的编码算法(即压缩比高的)对各区块进行编码。
93.这里需要说明的是:本实施例对各区块对应的编码算法不作限定。实际实施时,可利用机器学习模型技术对网络qos信息及区块的区块内容,与各区块对应的编码算法的确定进行学习,得到一个计算模型。该计算模型的输入可以是网络当前的qos信息及多个区块,输出量可以是各区块对应的编码算法。
94.上述105中,所述桌面图像对应的多个编码信息可添加到数据队列中,等待转发模块转发至终端。
95.本实施例提供的技术方案中,基于网络服务质量及图像内容,将云桌面服务端侧的桌面图像划分成多个区块;然后利用多个区块各自对应的编码算法,分别对多个区块进行编码,得到桌面图像对应的多个编码信息。随后将桌面图像对应的多个编码信息分别发送至终端。这样就能实现每次网络发送的数据量均衡可控,降低了突发式流量的发生概率,从而避免了网络拥塞,有助于提升云桌面用户的使用体验。
96.在一个可实现的技术方案中,上述102“根据网络服务质量信息和所述桌面图像的图像内容,对所述桌面图像进行区块划分,得到多个区块”,可包括:
97.1021、基于所述桌面图像的图像内容,将所述桌面图像划分为多个分块;
98.1022、为所述多个分块确定各分块适配的编码算法类型;
99.1023、根据所述网络服务质量信息和所述多个分块对应的编码算法类型,对所述多个分块中的部分分块进行合并,得到合并后的区块。
100.在一可实现的技术方案中,上述步骤1021“基于所述桌面图像的图像内容,将所述桌面图像划分为多个分块”,可包括:
101.对所述桌面图像的图像内容进行分析;基于图像内容分析结果,对所述桌面图像进行划分,得到多个分块。
102.如上文中提及的,可通过对桌面图像的图像内容进行分析,识别出前景区域和背景区域;或者是用户关注区域和非关注区域;又或者是图像识别技术识别出的图案(如天空、窗口、动物、人物等等)对应的矩形区域等等。然后,在按照分析结果,将前景区域划分为一个或多个分块,将背景区域划分为一个或多个分块。或者,将用户关注区域划分为一个或多个分块,将非关注区域划分为一个或多个分块。又或者,将识别出的图案对应的矩形区域划分为一个或多个分块,各图案对应矩形区域之外的剩余区域,可划分为一个或多个分块。
103.上述步骤1022“为所述多个分块确定各分块适配的编码算法类型”可包括:
104.分别对所述多个分块的块内容进行分析,得到所述多个分块对应的图像特征;按照所述多个分块对应的图像特征,分别为所述多个分块确定适配的编码算法类型。
105.进一步的,上述步骤1023“根据所述网络服务质量信息和所述多个分块对应的编码算法类型,对所述多个分块中的部分分块进行合并”,包括:
106.s1、根据所述网络服务质量信息,确定区块阈值;
107.s2、基于所述多个分块对应的编码算法类型,查找编码算法类型相同且相邻的至少两个分块;
108.s3、若所述编码算法类型相同且相邻的至少两个分块合并后的区块大小小于或等于所述阈值,则将所述编码算法类型相同且相邻的至少两个分块合并,得到一个区块。
109.需要注意的是:如果上述步骤生成的区块数量过多,每个区块的面积过小,会导致编码的压缩率变低。因此需要根据网络qos信息的情况,确定一个区块阈值,决定每个区域的大小。
110.在具体实施时,可基于预设的算法,计算网络当前qos信息对应的区块阈值取值。或者,基于大数据经验总结,确定出当前qos信息对应的区块阈值取值。又或者,借助机器学习模型技术训练出一个确定模型。
111.需要补充的是:此处提及的机器学习模型及上文中提及的机器学习模型可以是同类型的模型,也可以不是,例如可以是深度学习模型、卷积神经网络模型等等,本实施例对此不作限定。
112.进一步的,如果编码算法类型相同且相邻的两个分块合并后的区块大小大于所述阈值,则所述相邻的两个分块不作合并,分别作为一个区块。
113.在一具体的实施方案中,编码算法类型相同且相邻的分块为三个或三个以上,且所述编码算法类型相同且相邻的三个或三个以上的分块合并后的区块大小大于所述阈值时,相应的,上述步骤1023“根据所述网络服务质量信息和所述多个分块对应的编码算法类型,对所述多个分块中的部分分块进行合并”,还可包括:
114.参照所述阈值,对所述编码算法类型相同且相邻的三个或三个以上的分块进行分组合并,得到至少两个区块;
115.其中,区块大小小于所述阈值。
116.例如,有三个分块分别为:分块1、分块2和分块3。其中,分块1与分块2相邻,分块2和分块3相邻。若分块1与分块2合并的区块小于或等于阈值,则可将分块1和分块2合并为一个区块。分块3作为另一个区块。因为分块1和分块3不相邻,所以分块1和分块3是不能合并的。
117.进一步的,本技术实施例提供的方法还可包括如下步骤:
118.106、基于所述网络服务质量信息,确定是否满足触发条件;
119.107、若满足触发条件,则触发执行根据网络服务质量信息和所述桌面图像的图像内容,对所述桌面图像进行区块划分的步骤;
120.108、若不满足触发条件,则对所述桌面图像进行编码,得到编码后的所述桌面图像发送至终端。
121.图7示出了本技术实施例提供的一种云桌图像传输方法的流程示意图。结合图7和图1所示,本实施例的执行主体可以是上述云桌面系统中的终端。具体的,所述方法包括:
122.201、分别接收云桌面服务端发送的多个编码信息;其中,所述编码信息中含有桌面图像标识、所属区块标识及所述桌面图像对应的区块总数量;
123.202、确定接收到所述区块总数量个含有同一桌面图像标识的多个编码信息后,分别按照多个编码信息各自对应的解码算法,对所述多个编码信息进行解码,得到多个区块;
124.203、按照所述多个区块各自对应的区块标识,将所述多个区块进行拼接,得到所述桌面图像;
125.204、显示所述桌面图像。
126.本实施例提供的技术方案中,基于网络服务质量及图像内容,将云桌面服务端侧的桌面图像划分成多个区块;然后利用多个区块各自对应的编码算法,分别对多个区块进行编码,得到桌面图像对应的多个编码信息。随后将桌面图像对应的多个编码信息分别发送至终端。这样就能实现每次网络发送的数据量均衡可控,降低了突发式流量的发生概率,从而避免了网络拥塞,有助于提升云桌面用户的使用体验。
127.本技术实施例提供的技术方案除了可适用于云桌面场景外,还可适用于任意两个设备间的屏幕共享的场景。即本实施例提供一种图像传输系统,该系统包括第一设备和第二设备。其中,第一设备和第二设备可以是网络中同类型的设备,如终端;也可以是网络中不同类型的设备,如其中一个设备为服务端设备、另一个为客户端设备。其中,服务端设备可以是服务器、服务器集群或是服务器上部署的虚拟服务器等等,本实施例对此不做具体限定。具体的,
128.第一设备,用于获取目标图像;根据网络服务质量信息和所述目标图像的图像内容,对所述目标图像进行区块划分,得到多个区块;分别为所述多个区块确定相应的编码算法;利用所述多个区块各自对应的编码算法,分别对所述多个区块进行编码,得到所述目标图像对应的多个编码信息;将所述目标图像对应的多个编码信息分别发送至第二设备,以便所述第二设备对所述多个编码信息解码后展示所述目标图像;
129.第二设备,与所述第一设备通信连接,用于接收所述第一设备发送的所述多个编码信息,分别对所述多个编码信息进行解码得到多个区块;将所述多个区块进行拼接得到所述目标图像;显示所述目标图像。
130.本技术实施例提供的技术方案中,基于网络服务质量及图像内容,将第一设备侧的桌面图像划分成多个区块;然后利用多个区块各自对应的编码算法,分别对多个区块进行编码,得到桌面图像对应的多个编码信息。随后将桌面图像对应的多个编码信息分别发送至第二设备。这样就能实现每次网络发送的数据量均衡可控,降低了突发式流量的发生概率,从而避免了网络拥塞,有助于提升云桌面用户的使用体验。
131.进一步的,第二设备在接收所述第一设备发送的所述多个编码信息,分别对所述多个编码信息进行解码得到多个区块;将所述多个区块进行拼接得到所述目标图像时,具体用于:
132.分别接收第一设备发送的多个编码信息;其中,所述编码信息中含有目标图像标识、所属区块标识及所述目标图像对应的区块总数量;
133.确定接收到所述区块总数量个含有同一目标图像标识的多个编码信息后,分别按照多个编码信息各自对应的解码算法,对所述多个编码信息进行解码,得到多个区块;
134.按照所述多个区块各自对应的区块标识,将所述多个区块进行拼接,得到所述目
标图像。
135.如图8所示的,本实施例提供一种图像传输方法的流程示意图。本实施例所述方法的执行主体可以是上述图像传输系统中的第一设备。具体的,所述方法包括:
136.301、获取目标图像;
137.302、根据网络服务质量信息和所述目标图像的图像内容,对所述目标图像进行区块划分,得到多个区块;
138.303、分别为所述多个区块确定相应的编码算法;
139.304、利用所述多个区块各自对应的编码算法,分别对所述多个区块进行编码,得到所述目标图像对应的多个编码信息;
140.305、将所述目标图像对应的多个编码信息分别发送至第二设备,以便所述第二设备对所述多个编码信息解码后展示所述目标图像。
141.上述301中,目标图像可以是第一设备的屏幕截图,也可以是第一设备上应用窗口截图等等,本实施例对此不作具体限定。同样的,上述截图可以在每次桌面刷新时进行,也可按照设定频率进行截取。
142.有关上述302~305,可参见上述图4对应的实施例中的描述,此处不作赘述。
143.相应的,如图9所示,本技术还一实施例提供一种图像传输方法。该方法适用于上述图像传输系统中的第二设备。具体的,所述方法包括:
144.401、分别接收第一设备发送的多个编码信息;其中,所述编码信息中含有目标图像标识、所属区块标识及所述目标图像对应的区块总数量;
145.402、确定接收到所述区块总数量个含有同一目标图像标识的多个编码信息后,分别按照多个编码信息各自对应的解码算法,对所述多个编码信息进行解码,得到多个区块;
146.403、按照所述多个区块各自对应的区块标识,将所述多个区块进行拼接,得到所述目标图像;
147.404、显示所述目标图像。
148.随着云计算数据中心技术的发展,作为云计算中的一项重要技术的虚拟化技术得到广泛应用。利用虚拟化技术可以在物理设备上虚拟化出多个虚拟机(virtual machine,vm)以使网络虚拟化,使得物理设备上的计算资源得到充分利用。虚拟机(vm)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟的硬盘和内存容量。每个虚拟机可以像使用实体机一样对虚拟机进行操作。虚拟机之间,虚拟机与外部网络间通信依靠虚拟交换机。
149.在云计算环境下,对计算资源进行了切分,服务器上运行的是一个个虚拟机,虚拟机也要有网卡实现互连互通,但虚拟机的网卡不是物理的,它通过虚拟网卡连接到虚拟交换机上,虚拟交换机对同一服务器上的虚拟机之间流量进行转发。如果虚拟交换机再连接到服务器的硬件网卡,那么虚拟机就可以和服务器外面通信了。虚拟网卡是cpu模拟出来的,虚拟网卡具有一个或多个数据队列(或收发队列),数据队列也是模拟出来的,就是服务器上的一块内存。
150.在网络虚拟化场景中,虚拟交换机(virural switch,vs)是在物理设备中实现网络虚拟化的关键组件,其可以为虚拟网卡和物理网卡提供数据转发、处理(如差错校验、地
址映射维护)等服务,使得虚拟网络内的的各虚拟机或虚拟机与虚拟网络外的外部设备(如外部pc(personal computer,个人计算机)间可建立通信连接,实现数据传输。其中,每个虚拟机均具有自己的虚拟网卡,外部设备具有自己的物理网卡,虚拟机和外部设备分别通过各自相应的虚拟网卡、物理网卡连接于虚拟交换机。
151.虚拟机交换机是利用虚拟交换技术把两个物理上连接在一起的交换机结合在一起,对外呈现出的是一个逻辑上的,虚拟出的交换机。虚拟机vm1、vm2和vw3和外部设备(图中未示出)是通过各自相应的虚拟网卡连接到虚拟交换机vs通过物理网卡与外部设备通信。根据实际使用需求,虚拟机上可配置有一个或两个以上的虚拟网卡。通常情况下,一个虚拟网卡有一个或多个数据队列以用于缓存数据,也就是说,虚拟网卡收到的所有数据都是进入一个或多个数据队列,然后虚拟交换机使用处理器(如cpu(central processing unit,中央处理器)来从一个或多个数据队列中取数据进行处理。
152.本技术各实施例提供的技术方案,其可实现的前提是:基于云桌面服务端上的第一虚拟网卡和终端上的第二虚拟网卡,云桌面服务端基于网络服务质量信息和所述桌面图像的图像内容,将截取的桌面图像划分成多个区块;然后分别利用各区块对应的编码算法对各区块进行编码;最后,利用第一虚拟网卡将桌面图像对应的多个编码信息分别发送至终端的第二虚拟网卡。
153.另外,每个终端可对应一个虚拟机,并被这个终端独享。终端可以至包含有键盘、显示器、鼠标等等。虚拟机可提供终端所需的所有服务,如桌面服务、数据处理服务、数据存储服务等等。例如,云桌面系统通过虚拟化为每个用户提供一个虚拟机,企业原有应用系统可通过云桌面系统的接口接入。每个虚拟机可以通过云桌面系统享受企业原有应用系统的服务,比如企业的一些专业应用、邮件系统、办公系统、epr等等。
154.综上,本技术各实施例提供了一种提升云桌面使用体验的流量整形方案,根据网络qos信息,将屏幕分成多个区域编码,分别进行网络发送,避免一次性发送过大的编码数据,从而避免突发流量造成的网络拥塞,最终达到提升用户体验的目的。
155.本方案将屏幕帧数据,分成多个区域进行编码和发送,每次网络发送的数据量均匀可控,避免了突发式流量,从而可以避免网络拥塞,最终能够提升用户体验。
156.本方案在客观上起到了流量整形的作用。如图6是本方案和未采用本方案对应的流量形状的示意性对比图,可以看出本方案输出的网络流量较均匀,没有明显的流量波峰。
157.图10示出了本技术一实施例提供的云桌面图像传输装置的结构示意图。如图10所示,该云桌面系统中的数据处理装置包括:获取模块21、划分模块22、确定模块23、编码模块24及发送模块25。其中,获取模块21用于获取桌面图像。划分模块22用于根据网络服务质量信息和所述桌面图像的图像内容,对所述桌面图像进行区块划分,得到多个区块。确定模块23用于分别为所述多个区块确定相应的编码算法。编码模块24用于利用所述多个区块各自对应的编码算法,分别对所述多个区块进行编码,得到所述桌面图像对应的多个编码信息。发送模块25用于将所述桌面图像对应的多个编码信息分别发送至终端,以便所述终端对所述多个编码信息解码后展示所述桌面图像,供用户操作。
158.进一步的,所述划分模块22在根据网络服务质量信息和所述桌面图像的图像内容,对所述桌面图像进行区块划分时,具体用于:
159.基于所述桌面图像的图像内容,将所述桌面图像划分为多个分块;为所述多个分
块确定各分块适配的编码算法类型;根据所述网络服务质量信息和所述多个分块对应的编码算法类型,对所述多个分块中的部分分块进行合并得到合并后的区块。
160.进一步的,所述划分模块22在根据所述网络服务质量信息和所述多个分块对应的编码算法类型,对所述多个分块中的部分分块进行合并时,具体用于:
161.根据所述网络服务质量信息,确定区块阈值;基于所述多个分块对应的编码算法类型,查找编码算法类型相同且相邻的至少两个分块;若所述编码算法类型相同且相邻的至少两个分块合并后的区块大小小于或等于所述阈值,则将所述编码算法类型相同且相邻的至少两个分块合并,得到一个区块。
162.在一具体的实施例中,编码算法类型相同且相邻的分块为三个或三个以上,且所述编码算法类型相同且相邻的三个或三个以上的分块合并后的区块大小大于所述阈值时,相应的,所述划分模块22在根据所述网络服务质量信息和所述多个分块对应的编码算法类型,对所述多个分块中的部分分块进行合并时,还用于:
163.参照所述阈值,对所述编码算法类型相同且相邻的三个或三个以上的分块进行分组合并,得到至少两个区块;
164.其中,区块大小小于所述阈值。
165.进一步的,所述划分模块22在基于所述桌面图像的图像内容,将所述桌面图像划分为多个分块时,具体用于:
166.对所述桌面图像的图像内容进行分析;基于图像内容分析结果,对所述桌面图像进行划分,得到多个分块。
167.进一步的,所述划分模块22在为所述多个分块确定各分块适配的编码算法类型时,具体用于:
168.分别对所述多个分块的块内容进行分析,得到所述多个分块对应的图像特征;按照所述多个分块对应的图像特征,分别为所述多个分块确定适配的编码算法类型。
169.进一步的,本技术实施例提供的所述方法还可包括触发模块。所述触发模块用于:
170.基于所述网络服务质量信息,确定是否满足触发条件;若满足触发条件,则触发执行根据网络服务质量信息和所述桌面图像的图像内容,对所述桌面图像进行区块划分的步骤;
171.若不满足触发条件,则对所述桌面图像进行编码,得到编码后的所述桌面图像发送至终端。
172.这里需要说明的是:本实施例提供的云桌面图像传输装置可实现上述云桌面图像传输方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述方法实施例中的相应内容,此处不再赘述。
173.图11示出了本技术一实施例提供的云桌面图像传输装置的结构示意图。如图11所示,该云桌面系统中的数据处理装置包括:接收模块31、确定模块32、拼接模块33及显示模块34。其中,接收模块31用于分别接收云桌面服务端发送的多个编码信息;其中,所述编码信息中含有桌面图像标识、所属区块标识及所述桌面图像对应的区块总数量。确定模块32用于确定接收到所述区块总数量个含有同一桌面图像标识的多个编码信息后,分别按照多个编码信息各自对应的解码算法,对所述多个编码信息进行解码,得到多个区块。拼接模块33用于按照所述多个区块各自对应的区块标识,将所述多个区块进行拼接,得到所述桌面
图像。显示模块34用于显示所述桌面图像。
174.这里需要说明的是:本实施例提供的云桌面图像传输装置可实现上述云桌面图像传输方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述方法实施例中的相应内容,此处不再赘述。
175.本技术一实施例还提供了一种图像传输装置。该图像传输装置可包括:获取模块、划分模块、确定模块、编码模块及发送模块。其中,获取模块用于获取目标图像。划分模块用于根据网络服务质量信息和所述目标图像的图像内容,对所述目标图像进行区块划分,得到多个区块。确定模块用于分别为所述多个区块确定相应的编码算法。编码模块用于利用所述多个区块各自对应的编码算法,分别对所述多个区块进行编码,得到所述目标图像对应的多个编码信息。发送模块用于将所述目标图像对应的多个编码信息分别发送至第二设备,以便所述第二设备对所述多个编码信息解码后展示所述目标图像。
176.相应的,本技术另一实施例提供了一种图像传输装置。该图像传输装置包括接收模块、确定模块、拼接模块及显示模块。其中,接收模块用于分别接收第一设备发送的多个编码信息;其中,所述编码信息中含有目标图像标识、所属区块标识及所述目标图像对应的区块总数量。所述确定模块用于确定接收到所述区块总数量个含有同一目标图像标识的多个编码信息后,分别按照多个编码信息各自对应的解码算法,对所述多个编码信息进行解码,得到多个区块。所述拼接模块用于按照所述多个区块各自对应的区块标识,将所述多个区块进行拼接,得到所述目标图像。所述显示模块用于显示所述目标图像。
177.这里需要说明的是:本实施例提供的图像传输装置可实现上述图像传输方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述方法实施例中的相应内容,此处不再赘述。
178.本技术一实施例提供的计算设备的原理性结构示意图。该原理性结构示意图如图12所示。具体地,所述计算设备包括存储器51及处理器52。其中,所述存储器51用于存储一条或多条计算机指令;所述处理器52,与所述存储器51耦合,用于所述至少一条或多条计算机指令(如实现数据存储逻辑的计算机指令),以用于实现本技术实施例提供的云桌面图像传输方法中的步骤,或图像传输方法中的步骤。
179.上述中,存储器51可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
180.图12中仅示意性给出了计算设备可包含的部分组件,并不意味着计算设备只包括图12所示组件,如音频组件56、显示器54、电源组件55、通信组件53等等。
181.本技术还有一实施例提供一种计算机程序产品(说明书附图中无相应附图示出)。该计算机程序产品包括计算机程序或指令,当所述计算机程序或指令被处理器执行时,致使所述处理器能够实现上述各方法实施例中的步骤。
182.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的方法步骤或功能。
183.通过以上实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述
技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
184.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1