掌桥专利:专业的专利平台
掌桥专利
首页

云桌面的显示方法、图像显示方法、设备和存储介质

文献发布时间:2024-01-17 01:26:37


云桌面的显示方法、图像显示方法、设备和存储介质

技术领域

本发明涉及互联网技术领域,尤其涉及一种云桌面的显示方法、图像显示方法、设备和存储介质。

背景技术

虚拟桌面,也可称为云桌面,通常用户可以在本地终端上安装云桌面传输协议客户端(简称云桌面客户端)以与云端的云桌面服务端进行通信连接。云桌面客户端与云桌面服务端通过远程桌面协议进行流式的数据传输,云桌面服务端将云桌面的屏幕内容进行编码后传送给云桌面客户端,云桌面客户端解码后通过本地显示系统呈现给用户。

在进行云桌面的屏幕内容编码时,一般会使用有损编码算法或无损编码算法。其中,有损编码算法虽然具有比较高的压缩比,但其是以损失图像质量为代价完成的,画面显示质量较差,容易出现屏幕内容中一些信息比如文字部分模糊不清的情况。而无损编码算法虽然能够保证画质,但是压缩效率低,且占用带宽大,数据传输实时性不佳。

发明内容

本发明实施例提供一种云桌面的显示方法、图像显示方法、设备和存储介质,可以在进行云桌面屏幕内容编码时,同时兼顾画面显示质量及带宽。

第一方面,本发明实施例提供一种云桌面的显示方法,应用于运行云桌面的服务端,所述方法包括:

确定第一时刻云桌面的屏幕内容中的更新区域;

若确定所述更新区域的面积大于设定面积阈值,则执行如下编码过程:

采用有损编码方式对所述屏幕内容进行编码以得到第一编码数据;

将所述第一编码数据和所述更新区域的位置信息发送至客户端,以使所述客户端根据所述第一编码数据确定所述位置信息对应的第一解码数据;

若在所述第一时刻之后的设定时长内所述更新区域未再发生内容更新,则采用无损编码方式对所述第一时刻所述更新区域中的内容进行编码以得到第二编码数据;

将所述第二编码数据发送至所述客户端,以使所述客户端确定所述第二编码数据对应的第二解码数据。

第二方面,本发明实施例提供一种云桌面的显示装置,应用于运行云桌面的服务端,所述装置包括:

确定模块,用于确定第一时刻云桌面的屏幕内容中的更新区域;

执行模块,用于若确定所述更新区域的面积大于设定面积阈值,则执行如下编码过程:

采用有损编码方式对所述屏幕内容进行编码以得到第一编码数据;

将所述第一编码数据和所述更新区域的位置信息发送至客户端,以使所述客户端根据所述第一编码数据确定所述位置信息对应的第一解码数据;

若在所述第一时刻之后的设定时长内所述更新区域未再发生内容更新,则采用无损编码方式对所述第一时刻所述更新区域中的内容进行编码以得到第二编码数据;

将所述第二编码数据发送至所述客户端,以使所述客户端确定所述第二编码数据对应的第二解码数据。

第三方面,本发明实施例提供一种云桌面的显示方法,应用于云桌面对应的客户端,所述方法包括:

接收服务端发送的第一编码数据和更新区域的位置信息;其中,所述第一编码数据是所述服务端确定第一时刻云桌面的屏幕内容中的所述更新区域大于设定面积阈值时采用有损编码方式对所述屏幕内容进行编码得到的;

解码所述第一编码数据以得到第一解码数据;

从所述第一解码数据中提取出所述位置信息对应的解码数据并显示提取出的解码数据;

接收所述服务端发送的第二编码数据;其中,所述第二编码数据是所述服务端确定所述第一时刻之后设定时长内所述更新区域未再发生内容更新时采用无损编码方式对所述第一时刻所述更新区域中的内容进行编码得到的;

解码所述第二编码数据得到的第二解码数据,并显示所述第二解码数据。

第四方面,本发明实施例提供一种云桌面的显示装置,应用于云桌面对应的客户端,所述装置包括:

接收模块,用于接收服务端发送的第一编码数据和更新区域的位置信息;其中,所述第一编码数据是所述服务端确定第一时刻云桌面的屏幕内容中的所述更新区域大于设定面积阈值时采用有损编码方式对所述屏幕内容进行编码得到的;

解码模块,用于解码所述第一编码数据以得到第一解码数据;

显示模块,用于从所述第一解码数据中提取出所述位置信息对应的解码数据并显示提取出的解码数据;

所述接收模块,还用于接收所述服务端发送的第二编码数据;其中,所述第二编码数据是所述服务端确定所述第一时刻之后设定时长内所述更新区域未再发生内容更新时采用无损编码方式对所述第一时刻所述更新区域中的内容进行编码得到的;

所述显示模块,还用于解码所述第二编码数据得到的第二解码数据,并显示所述第二解码数据。

第五方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如第一方面或第三方面所述的云桌面的显示方法。

第六方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面或第三方面所述的云桌面的显示方法。

第七方面,本发明实施例提供了一种图像显示方法,所述方法包括:

确定目标时刻视频画面中的图像更新区域;

若确定所述图像更新区域的面积大于设定面积阈值,则执行如下编码过程:

采用有损编码方式对所述视频画面进行编码以得到第一编码数据;

将所述第一编码数据和所述图像更新区域的位置信息发送至显示设备,以使所述显示设备根据所述第一编码数据确定出所述位置信息对应的第一解码数据并显示;

若在所述目标时刻之后的设定时长内所述图像更新区域未再发生内容更新,则采用无损编码方式对所述图像更新区域中的内容进行编码以得到第二编码数据;

将所述第二编码数据发送至所述显示设备,以使所述显示设备确定所述第二编码数据对应的第二解码数据并显示。

本发明实施例提供的云桌面的显示方法,通过应用于运行云桌面的服务端确定第一时刻云桌面的屏幕内容中的更新区域,若确定更新区域的面积大于设定面积阈值,则说明屏幕内容中变化的部分比较多,此时,采用有损编码方式对屏幕内容进行编码以得到第一编码数据,可以提高对屏幕内容的图像压缩效率,降低对带宽的占用。之后,服务端通过将第一编码数据和更新区域的位置信息发送至客户端,即可使客户端从解码第一编码数据得到的第一解码数据中提取出位置信息对应的解码数据并显示提取出的解码数据,呈现给用户。若确定第一时刻之后的设定时长内更新区域未再发生内容更新,则说明该更新区域在很长一段时间没有发生变化,可能处于相对静态的情形下,此时,采用无损编码方式对第一时刻更新区域中的内容进行编码以得到第二编码数据,提高了更新区域的画质,再将第二编码数据发送至客户端,即可使客户端显示解码第二编码数据得到的画质较好的第二解码数据。综上,本发明可以在进行云桌面屏幕内容编码时,同时兼顾画面显示质量及带宽。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种云桌面系统的结构示意图;

图2为本发明实施例提供的一种云桌面的显示方法的流程示意图;

图3为本发明实施例提供的一种云桌面的显示方法的流程示意图;

图4为本发明实施例提供的一种更新区域内容更新判断方法的流程示意图;

图5为本发明实施例提供的一种云桌面的显示方法的具体示例图;

图6为本发明实施例提供的一种云桌面的显示方法的流程示意图;

图7a为本发明实施例提供的第一图层的结构示意图;

图7b为本发明实施例提供的第二图层的结构示意图;

图8为本发明实施例提供的一种云桌面的显示方法的具体示例图;

图9为本发明实施例提供的一种云桌面的显示装置的结构示意图;

图10为本实施例提供的一种电子设备的结构示意图;

图11为本发明实施例提供的一种云桌面的显示装置的结构示意图;

图12为本实施例提供的一种电子设备的结构示意图;

图13为本发明实施例提供的一种图像显示方法的流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。

需要说明的是,本发明实施例中所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

云桌面是一种基于云计算的云上桌面服务,采用桌面即服务(Desktop as aService,简称DaaS)为用户提供易用、安全、高效的云上桌面办公系统。如图1所示的云桌面系统的结构示意图,云桌面运行在服务端10,比如在服务端10构建若干虚拟机,不同虚拟机中搭建不同云桌面,因此云桌面也可以称为云电脑,以分配给不同用户使用。用户使用安装有与云桌面对应的客户端程序的客户端20通过公网或专线连接云桌面,从而实现对云桌面的远程访问。

其中,服务端10是指提供云桌面服务的服务端设备,其可以进行云桌面管理,可以响应客户端20的云桌面服务请求。该服务端10中不仅可以部署有云桌面,还可以部署有相关的通信协议、管控服务等。

客户端20是指可通过无线网络访问服务端10的设备或软件功能模块,如手机、笔记本、平板电脑、POS机、瘦主机等,其中部署有云桌面对应的客户端程序。

应理解,为了实现客户端20对云桌面的远程访问,在实际应用中,一般会通过服务端10获取云桌面的屏幕内容并进行编码,将编码后的数据发送给客户端20,客户端20收到该编码数据并对其进行解码处理后,即可通过本地的显示系统将解码后的内容呈现给用户。

然而,在对云桌面的屏幕内容进行编码时,目前一般会使用有损编码算法或无损编码算法。其中,有损编码算法如JPEG、H264等,虽然具有比较高的压缩比,但其是以损失图像质量为代价完成的,画面显示质量较差。而无损编码算法如RLE、LZ等,虽然能够保证图像的质量,但是压缩效率低,且占用带宽大。可见,目前在进行云桌面的屏幕内容编码策略无法兼顾画面显示质量及带宽。

鉴于此,本发明实施例提供了一种云桌面的显示方法,实现对画质和网络带宽的兼顾。

其流程示意图可参见图2,该方法应用于运行云桌面的服务端,如图2所示,该方法包括:

201、确定第一时刻云桌面的屏幕内容中的更新区域。

202、若确定更新区域的面积大于设定面积阈值,则采用有损编码方式对屏幕内容进行编码以得到第一编码数据,将第一编码数据和更新区域的位置信息发送至客户端,以使客户端根据第一编码数据确定位置信息对应的第一解码数据。

203、若在第一时刻之后的设定时长内更新区域未再发生内容更新,则采用无损编码方式对第一时刻更新区域中的内容进行编码以得到第二编码数据,将第二编码数据发送至客户端,以使客户端确定所述第二编码数据对应的第二解码数据。

在实际应用中,服务端通过CPU调用操作系统提供的一个应用程序接口(Application Program Interface,简称API),通过该API可以确定第一时刻云桌面的屏幕内容中的更新区域,具体地,该API会在发现云桌面的屏幕内容有更新的时候发出通知,这时,服务端即可基于该通知确定第一时刻云桌面的屏幕内容中的更新区域。第一时刻是指确定出存在一个更新区域的时刻,实际上,从云桌面被启动运行后,便可以实时地确定不同时刻是否存在更新区域。简单来理解,如果当前一帧屏幕内容相比前一帧屏幕内容发生变化,那么变化的区域即为当前时刻确定出的更新区域。

需要说明的是,该屏幕内容中的更新区域可能为一个,也可能为多个。具体实施时,若当前屏幕内容中仅包含一个更新区域,则直接将该更新区域的面积与设定面积阈值比较,如果该更新区域的面积大于设定面积阈值,则将该更新区域标记为脏区域(lossy区域),并采用有损编码方式(如视频编码)对当前屏幕内容进行编码。反之,如果该更新区域的面积小于设定面积阈值,则对该更新区域采用无损编码方式进行编码,该无损编码方式包括行程长度压缩算法(Run Length Encoding,简称RLE);Lempel Zip编码,简称LZ;Zstandard,简称ZSTD等。

若当前屏幕内容中包含多个更新区域,例如包含两个更新区域,则计算两个更新区域的总面积,并将该总面积与设定面积阈值比较,如果该总面积大于设定面积阈值,则将两个更新区域都标记为lossy区域,并采用有损编码方式对当前屏幕内容进行编码,这里需要注意的是,在多个更新区域的总面积大于设定面积阈值的情况下,需要针对每个更新区域分别执行步骤203-步骤206的编码过程。反之,如果该总面积小于设定面积阈值,则分别针对每个更新区域采用无损编码方式进行编码。

其中,可选地,该面积阈值可以根据屏幕内容对应的场景特征确定,例如,在对画质要求较高的场景中(如在编写文档的场景中,客户端用户需要特别清晰的画质),该面积阈值可以设置的大一些,而在对实时性要求较高的场景中(如观看比赛、电影等视频场景中,客户端用户对实时性、带宽更为敏感),该面积阈值可以设置的小一些。作为一种示例,该面积阈值可以设置为256×256大小,其中,两个256分别为图像的长和宽的像素点数量。

承接上述,下面以更新区域的面积大于设定面积阈值,采用有损编码方式,且该有损编码方式为视频编码为例进行后续说明,视频编码指的是:使用视频编码器对完整的屏幕内容进行视频压缩编码,得到编码结果,即得到第一编码数据。之后,将第一编码数据和更新区域的位置信息发送至客户端。客户端在接收到该第一编码数据后,会对第一编码数据的编码类型进行判断,即确定第一编码数据的编码方式是有损编码方式还是无损编码方式。在确定出第一编码数据的编码方式是有损编码方式(即采用视频编码器编码)后,客户端会采用与视频编码器对应的视频解码器对其进行解码,得到完整的屏幕内容(即第一解码数据),并结合接收到的更新区域的位置信息,从第一解码数据中提取出该更新区域对应的解码数据以渲染显示在客户端上。其中,视频编码器包括但不限于:H.264、H.265等编码器。其中,服务端向客户端发送的数据中除了包括上述第一编码数据、更新区域的位置信息外,还会包含指示第一编码数据对应的编码类型的信息,据此客户端确定应该采用何种解码方式对第一编码数据进行解码。

需要说明的是,针对第一解码数据,客户端只是从中提取出对应于更新区域的部分解码数据来进行渲染显示,即“增量渲染”:比如客户端在解码出第一解码数据之前显示的是画面X,在画面X中定位出上述更新区域,保持画面X中非更新区域的内容不变,只是将更新区域对应的第一解码数据渲染显示在该更新区域内。

另外,在本发明实施例中,针对在第一时刻确定出的上述面积大于设定面积阈值的更新区域来说,一方面对包含该更新区域的当前的完整屏幕内容进行有损编码,将得到的第一编码数据和更新区域的位置信息发送至客户端进行解码显示,另一方面,会观察该更新区域在接下来一段时间内是否继续发生内容的更新,若更新,则不对该更新区域的内容进行其他处理,若未更新,则对该更新区域中的内容进行无损编码。

具体来说,确定云桌面的屏幕内容中的更新区域发生在第一时刻,若自第一时刻开始之后的设定时长(如50ms,具体可根据实际情况确定)内,更新区域未再发生内容更新,则说明此时该更新区域可能处于相对静态的情形下,即更新区域中内容在这段时间并未变化,这时,可以采用无损编码方式对第一时刻更新区域中的内容进行编码以得到第二编码数据,以保证更新区域中内容的清晰度,提高画面质量,能够使画面达到由模糊到清晰的效果,也可以理解为使画面由有损画质逐步锐化渐进为无损画质。

之后,服务端即可将第二编码数据发送至客户端。客户端在接收到该第二编码数据后,会对第二编码数据的编码类型进行判断,在确定出第二编码数据的编码方式是无损编码方式后,客户端会采用与无损编码方式对应的无损解码方式对其进行解码,得到更为清晰的更新区域,并将其显示在客户端上。

基于上述本发明实施例提供的云桌面的显示方法,服务端针对第一时刻云桌面的屏幕内容中的更新区域,若确定更新区域的面积大于设定面积阈值,则说明屏幕内容中变化的部分比较多,此时,采用有损编码方式对屏幕内容进行编码以得到第一编码数据,可以提高对屏幕内容的图像压缩效率,降低带宽的占用。若确定第一时刻之后的设定时长内更新区域未再发生内容更新,则说明该更新区域在很长一段时间没有发生变化,此时,采用无损编码方式对第一时刻更新区域中的内容进行编码以得到第二编码数据,提高了更新区域的画质,再将第二编码数据发送至客户端,即可使客户端显示解码第二编码数据得到的画质较好的第二解码数据。这样便可以兼顾带宽的和画质的需求。

图3为本发明实施例提供的一种云桌面的显示方法的流程示意图,如图3所示,该方法包括:

301、确定第一时刻云桌面的屏幕内容中的更新区域。

302、确定更新区域的面积是否大于设定面积阈值,若是,则执行步骤303-305,否则执行步骤306。

303、采用有损编码方式对屏幕内容进行编码以得到第一编码数据,将第一编码数据和更新区域的位置信息发送至客户端,以使客户端根据第一编码数据确定位置信息对应的第一解码数据。

304、确定第一时刻至间隔设定时长后的第二时刻之间更新区域是否再发生内容更新,若是,则执行步骤305,否则结束。

305、采用无损编码方式对第一时刻更新区域中的内容进行编码以得到第二编码数据,将第二编码数据发送至客户端,以使客户端显示解码第二编码数据得到的第二解码数据。

306、采用无损编码方式对更新区域进行编码以得到第二编码数据,以使客户端显示解码第二编码数据得到的第二解码数据。

在实际应用中,服务端在确定第一时刻云桌面的屏幕内容中的更新区域后,如果判断更新区域的面积大于设定面积阈值,执行的编码过程可参见上述实施例,在此不在赘述。如果判断更新区域的面积不大于设定面积阈值,则说明屏幕内容中变化的部分不多,此时,采用无损编码方式对更新区域进行编码,不仅可以保证画面显示质量,而且无需对整个屏幕内容进行无损编码,只需要编码面积不大的更新区域即可,传输的数据量及占用的带宽较小。综上,本发明可以根据更新区域的面积大小,采用灵活的编码方式,能够同时兼顾画面显示质量、图像压缩效率及带宽。

图4为本发明实施例提供的一种更新区域内容更新判断方法的流程示意图,如图4所示,该方法包括:

401、将第一编码数据和更新区域的位置信息发送至客户端。

402、生成更新区域对应的记录信息,记录信息中包括第一时刻、更新区域的位置信息和设定的有损编码标识。

其中,有损编码标识即是指示所采用的有损编码方法的标识。

403、在定时器当前计时到达第二时刻时,获取记录信息。

404、确定记录信息中的第一时刻与第二时刻的时间间隔是否大于设定时长。

405、若大于设定时长,则确定第一时刻至第二时刻之间更新区域未再发生内容更新。

实际应用中,在云桌面启动时,便可以启动设定定时器(后面均称之为定时器),该定时器具有预先设定的用于判断更新区域中内容是否变化的定时时长,具体实施时,假设定时时长为50ms,则每隔50ms进行一次判断,判断屏幕内容中是否存在标记为lossy的更新区域,其中,标记lossy意味着该更新区域满足前述的大于设定面积阈值的条件。若在第一时刻t

之后,在定时器当前计时到达的第二时刻t

进一步地,若在第一时刻t

具体地,假设第一时刻t

为了便于理解,简单来说,在屏幕内容X中,更新区域A的内容如果是静态或变化不频繁,则相隔计时时长的两个时刻,该更新区域A中内容并未变化,此时采用无损编码方式进行更新区域A中内容的编码,可以保证画面质量,实现画质增强。由于此时只是针对更新区域A编码,没有对完整屏幕内容进行编码,所以传输的数据量小,占用带宽小。而如果更新区域A的变化频率高,则此时不进行画质增强处理,采用有损编码方式对相应的完整屏幕内容进行编码,也不会过多占用带宽,实时性较好。

为了便于理解,下面结合图5提供一完整示例,对本发明的方法应用于运行云桌面的服务端时进行具体说明:

在云桌面的屏幕内容更新后,服务端确定第一时刻云桌面的屏幕内容中的更新区域,并判断该更新区域的面积是否大于设定面积阈值。若更新区域的面积大于设定面积阈值,则采用有损编码方式对屏幕内容进行编码以得到第一编码数据,并在第一编码数据的基础上填充更新区域的位置信息,将第一编码数据和更新区域的位置信息发送至客户端。

若更新区域的面积不大于设定面积阈值,则采用无损编码方式对更新区域进行编码以得到第二编码数据,并将第二编码数据发送至客户端。

在此过程中,定时器基于设定时长进行判断操作,判断是否存在面积大于设定面积阈值的更新区域,即lossy区域,若不存在,则工作结束;若存在,则继续判断第一时刻与第二时刻的时间间隔是否大于设定时长,若是,则确定第一时刻至第二时刻之间更新区域未再发生内容更新,对更新区域采用无损编码方式进行编码,并将得到的第二编码数据发送给客户端。若不是,则工作结束。

图6为本发明实施例提供的一种云桌面的显示方法的流程示意图,该方法应用于云桌面对应的客户端,如图6所示,该方法包括:

601、接收服务端发送的第一编码数据和更新区域的位置信息;其中,第一编码数据是服务端确定第一时刻云桌面的屏幕内容中的更新区域大于设定面积阈值时采用有损编码方式对屏幕内容进行编码得到的。

602、解码第一编码数据以得到第一解码数据。

603、从第一解码数据中提取出位置信息对应的解码数据并显示提取出的解码数据。

604、接收服务端发送的第二编码数据;其中,第二编码数据是服务端确定第一时刻之后设定时长内更新区域未再发生内容更新时采用无损编码方式对第一时刻所述更新区域中的内容进行编码得到的。

605、解码第二编码数据得到的第二解码数据,并显示第二解码数据。

上述执行过程可以参考前述其他实施例中的相关说明,在此不赘述。

在本发明实施例中,从第一解码数据中提取出位置信息对应的解码数据并显示提取出的解码数据,包括:将提取出的解码数据渲染在第一图层,以显示第一图层。基于此,显示第二解码数据,包括:将第二解码数据渲染在第二图层,以在第一图层上显示第二图层。

在实际应用中,客户端会根据从服务端接收到的第一编码数据和第二解码数据的编码类型确定其采用的是有损编码方式还是无损编码方式。也就是说,随着第一编码数据和更新区域的位置信息一起发送至客户端的还包括第一编码数据对应的编码类型信息,同理,随着第二编码数据一起发送至客户端的还包括第二编码数据对应的编码类型信息。

对于采用有损编码方式(如视频编码)编码得到的第一编码数据:采用与视频编码使用的视频编码器对应的视频解码器进行解码,得到完整的屏幕内容,并根据更新区域的位置信息,从完整的屏幕内容中定位出更新区域的内容,并对其进行“增量渲染”,即保持此前显示内容中的非更新区域的内容不变,仅增量渲染更新区域中的内容。

对于采用无损编码方式编码得到的第二编码数据:采用与该无损编码方式对应的无损解码方式对更新区域进行解码,得更新区域的内容,再进行渲染。

经过上述处理过程,对于该更新区域来说,可以获得“锐化渐进”的显示效果,即:开始时采用有损编码方式进行编码,再解码,得到的第一解码数据显示的内容是模糊的。之后采用无损编码方式进行编码,再解码,得到的第二解码数据显示的内容是清晰的,所以是由模糊到清晰的效果。

需要说明的是,针对该更新区域的两次渲染显示:从第一解码数据中提取出的解码数据渲染并显示在第一图层上,而在显示第二解码数据时,则会再生成一个新的图层,即第二图层,该第二图层会覆盖第一图层,而第二解码数据则是渲染并显示在该第二图层上。具体可参见图7a和图7b,图7a为第一图层的结构示意图,在图7a中,更新区域A即为从第一解码数据中提取出的解码数据,其被渲染在第一图层。图7b为第二图层的结构示意图,在图7b中,更新区域A

为了便于理解,下面结合图8提供一完整示例,对本发明的方法应用于云桌面对应的客户端时进行具体说明:

接收服务端发送的第一编码数据、第二编码数据和更新区域的位置信息,根据编码类型判断第一编码数据、第二编码数据是否为有损编码数据。

若是有损编码数据,则采用与有损编码方式对应的解码方式进行解码,根据更新区域的位置信息提取解码数据,也即,若判断第一编码数据为有损编码数据,则采用与有损编码方式对应的解码方式进行解码,并根据更新区域的位置信息提取解码数据,进而将更新区域拷贝至第一图层的RGB图层缓冲区,渲染并显示在第一图层中。

若不是有损编码数据,则采用与无损编码方式对应的解码方式进行解码,并将解码得到的第二解码数据拷贝至第二图层的RGB图层缓冲区,渲染并显示在第二图层中。需要说明的是,第二图层是覆盖在第一图层上的。

以下将详细描述本发明的一个或多个实施例的云桌面的显示装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。

图9为本发明实施例提供的一种云桌面的显示装置的结构示意图,该装置应用于运行云桌面的服务端,如图9所示,该装置包括:确定模块11和执行模块12。

确定模块11,用于确定第一时刻云桌面的屏幕内容中的更新区域。

执行模块12,用于在确定更新区域的面积大于设定面积阈值时,执行如下编码过程:采用有损编码方式对屏幕内容进行编码以得到第一编码数据;将第一编码数据和更新区域的位置信息发送至客户端,以使客户端根据第一编码数据确定位置信息对应的第一解码数据;若在第一时刻之后的设定时长内更新区域未再发生内容更新,则采用无损编码方式对第一时刻更新区域中的内容进行编码以得到第二编码数据;将第二编码数据发送至客户端,以使客户端确定所述第二编码数据对应的第二解码数据。

可选地,该装置还包括:编码模块,用于若确定更新区域的面积小于或等于设定面积阈值,则采用无损编码方式对更新区域进行编码以得到第二编码数据。

可选地,屏幕内容中包括多个更新区域;执行模块12具体用于:若确定多个更新区域的总面积大于设定面积阈值,则针对每个更新区域执行编码过程。

可选地,该装置还包括:更新处理模块。

更新处理模块,用于生成更新区域对应的记录信息,记录信息中包括第一时刻、更新区域的位置信息和设定的有损编码标识;在定时器当前计时到达第二时刻时,获取记录信息;确定记录信息中的第一时刻与第二时刻的时间间隔是否大于设定时长;若大于设定时长,则确定第一时刻至第二时刻之间更新区域未再发生内容更新。

可选地,该更新处理模块还用于:在将第二编码数据发送至客户端后,将记录信息删除。

可选地,该更新处理模块还用于:若在第一时刻与第二时刻之间的第三时刻,确定更新区域中的内容发生更新,则更新记录信息中的第一时刻为第三时刻;若确定记录信息中的第三时刻与第二时刻的时间间隔不大于设定时长,则重置定时器。

可选地,该装置还包括:时长确定模块,用于根据服务端与客户端之间的网络质量,确定设定时长。

可选地,该装置还包括:阈值确定模块,用于根据屏幕内容对应的场景特征,确定面积阈值。

图9所示装置可以执行前述实施例中服务端执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。

在一个可能的设计中,上述图9所示云桌面的显示装置的结构可实现为一电子设备。如图10所示,该电子设备可以包括:处理器21、存储器22、通信接口23。其中,存储器22上存储有可执行代码,当所述可执行代码被处理器21执行时,使处理器21至少可以实现如前述实施例中提供的服务端执行的云桌面的显示方法。该电子设备可以是云端的虚拟机。

图11为本发明实施例提供的一种云桌面的显示装置的结构示意图,该装置应用于云桌面对应的客户端,如图11所示,该装置包括:接收模块31、解码模块32和显示模块33。

接收模块31,用于接收服务端发送的第一编码数据和更新区域的位置信息;其中,第一编码数据是服务端确定第一时刻云桌面的屏幕内容中的更新区域大于设定面积阈值时采用有损编码方式对屏幕内容进行编码得到的。

解码模块32,用于解码第一编码数据以得到第一解码数据。

显示模块33,用于从第一解码数据中提取出位置信息对应的解码数据并显示提取出的解码数据。

接收模块31,还用于接收服务端发送的第二编码数据;其中,第二编码数据是服务端确定第一时刻之后设定时长内更新区域未再发生内容更新时采用无损编码方式对第一时刻更新区域中的内容进行编码得到的。

显示模块33,还用于解码第二编码数据得到的第二解码数据,并显示第二解码数据。

可选地,显示模块33具体用于:将提取出的解码数据渲染在第一图层,以显示第一图层;将第二解码数据渲染在第二图层,以在第一图层上显示第二图层。

图11所示装置可以执行前述实施例中客户端执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。

在一个可能的设计中,上述图11所示云桌面的显示装置的结构可实现为一电子设备。如图12所示,该电子设备可以包括:处理器41、存储器42、通信接口43。其中,存储器42上存储有可执行代码,当所述可执行代码被处理器41执行时,使处理器41至少可以实现如前述实施例中提供的客户端执行的云桌面的显示方法。该电子设备可以是用户终端。

另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的云桌面的显示方法。

图13为本发明实施例提供的一种图像显示方法的流程示意图,如图13所示,该方法包括:

1301、确定目标时刻视频画面中的图像更新区域。

1302、若确定图像更新区域的面积大于设定面积阈值,则采用有损编码方式对视频画面进行编码以得到第一编码数据,将第一编码数据和图像更新区域的位置信息发送至显示设备,以使显示设备根据第一编码数据确定出位置信息对应的第一解码数据并显示。

1303、若在目标时刻之后的设定时长内图像更新区域未再发生内容更新,则采用无损编码方式对图像更新区域中的内容进行编码以得到第二编码数据,将第二编码数据发送至显示设备,以使显示设备确定第二编码数据对应的第二解码数据并显示。

应理解,在实际应用中,该图像显示方法可以应用于视频播放场景,如直播场景,视频点播场景等,以直播场景为例,首先要确定的就是目标时刻对应的直播画面中的图像更新区域,再基于该图像更新区域进行后续的编码、解码及显示操作,而对于后续步骤的具体执行过程可以参考前述其他实施例中的相关说明,在此不赘述。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 图像显示方法、装置、设备以及可读存储介质
  • 图像显示方法、装置、存储介质及电子设备
  • 一种图像显示方法、设备及计算机可读存储介质
  • 图像显示方法、装置、计算机设备和存储介质
  • 终端桌面图标的显示方法、装置、存储介质和终端设备
  • 云桌面系统与云桌面显示方法、终端设备及存储介质
  • 一种云桌面投屏方法、装置、计算机设备、计算机可读存储介质及云桌面投屏交互系统
技术分类

06120116219494