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

图像画面展示方法、装置、设备及存储介质

文献发布时间:2023-06-19 12:14:58


图像画面展示方法、装置、设备及存储介质

技术领域

本申请涉及云技术领域,特别涉及一种图像画面展示方法、装置、设备及存储介质。

背景技术

目前,在云游戏的场景下,通常采用视频流的方式,在服务器侧对游戏画面进行渲染操作。

在相关技术中,对于待渲染的虚拟场景画面中的各个图形元素,服务器端通过调用渲染指令的方式,基于服务器端的渲染库执行各个图形元素的渲染,将渲染完成的图像进行编码压缩操作,通过网络将编码压缩后的图像传输给客户端,然后客户端将接收到的图像压缩数据进行解压操作,最后在客户端展示解压后的图像。

然而,由于在服务器端渲染完成的图像数据量较大,所以需要采用有损压缩方式对渲染图像进行压缩,这就导致了在客户端对有损压缩的图像数据进行解码还原后,渲染图像的质量较差。

发明内容

本申请实施例提供了一种图像画面展示方法、装置、设备及存储介质,能够将部分图像元素渲染工作由服务器转移到终端进行,可以减少服务器对图像进行有损压缩带来的图像质量损失,增强终端图像的显示质量。该技术方案如下。

一方面,本申请实施例提供了一种图像画面展示方法,所述方法由终端执行,所述方法包括:

接收服务器发送的第一渲染指令,所述第一渲染指令用于指示对至少一个第一图像元素进行渲染;

基于所述第一渲染指令,渲染获得至少一个所述第一图像元素;

接收所述服务器发送的图像数据,所述图像数据中包含所述服务器渲染得到的至少一个第二图像元素;

接收所述服务器发送的交互指令,所述交互指令用于指示至少一个所述第一图像元素与至少一个所述第二图像元素的展示方式;

基于至少一个所述第一图像元素、至少一个所述第二图像元素、以及所述交互指令,展示图像画面。

一方面,本申请实施例提供了一种图像画面展示方法,所述方法由服务器执行,所述方法包括:

向终端发送第一渲染指令;所述第一渲染指令用于指示对至少一个第一图像元素进行渲染;

调用第二渲染指令,渲染得到至少一个第二图像元素;

将包含所述第二图像元素的图像数据发送给所述终端;

向所述终端发送交互指令,以便所述终端基于至少一个所述第一图像元素、至少一个所述第二图像元素、以及所述交互指令展示图像画面;所述交互指令用于指示至少一个所述第一图像元素与至少一个所述第二图像元素的展示方式。

另一方面,本申请实施例提供了一种图像画面展示装置,所述装置用于终端中,所述装置包括:

指令接收模块,用于接收服务器发送的第一渲染指令,所述第一渲染指令用于指示对至少一个第一图像元素进行渲染;

第一渲染模块,用于基于所述第一渲染指令,渲染获得至少一个所述第一图像元素;

数据接收模块,用于接收所述服务器发送的图像数据,所述图像数据中包含所述服务器渲染得到的至少一个第二图像元素;

交互模块,用于接收所述服务器发送的交互指令,所述交互指令用于指示至少一个所述第一图像元素与至少一个所述第二图像元素的展示方式;

画面展示模块,用于基于至少一个所述第一图像元素、至少一个所述第二图像元素、以及所述交互指令,展示图像画面。

在一种可能的实现方式中,所述交互模块,包括:

第一交互子模块,用于接收所述服务器发送的,与所述第一图像元素对应的第一交互指令;

第二交互子模块,用于接收所述服务器发送的,与所述第二图像元素对应的第二交互指令。

在一种可能的实现方式中,所述画面展示模块,包括:

方式确定子模块,用于基于所述第一交互指令中的第一交互标志信息,以及所述第二交互指令中的第二交互标志信息,确定所述第一图像元素与所述第二图像元素之间的展示方式;所述第一交互标志信息用于指示所述第一图像元素的展示方式;所述第二交互标志信息用于指示所述第二图像元素的展示方式;

画面显示子模块,用于按照所述第一图像元素与所述第二图像元素之间的所述展示方式,对至少一个所述第一图像元素以及至少一个所述第二图像元素进行展示,以显示所述图像画面。

在一种可能的实现方式中,响应于所述展示方式为同步展示,所述第一交互指令包含第一交互参数,所述第二交互指令包含第二交互参数,所述第一交互参数以及所述第二交互参数中包含各自对应的图像元素的同步时间指示信息;

所述画面显示子模块,包括:

同步显示单元,用于将至少一个所述第一图像元素与至少一个所述第二图像元素中,同步时间指示信息相匹配的图像元素进行同步展示,以显示所述图像画面。

在一种可能的实现方式中,响应于所述展示方式为透明度合成展示,所述第一交互指令包含第一交互参数,所述第二交互指令包含第二交互参数,所述第一交互参数以及所述第二交互参数中包含各自对应的图像元素的透明度信息;

所述画面显示子模块,包括:

透明度确定单元,用于基于至少一个所述第一图像元素以及至少一个所述第二图像元素各自的透明度信息,确定至少一个所述第一图像元素以及至少一个所述第二图像元素各自的透明度;

合成显示单元,用于基于至少一个所述第一图像元素以及至少一个所述第二图像元素各自的透明度,对至少一个所述第一图像元素以及至少一个所述第二图像元素进行合成展示,以显示所述图像画面。

在一种可能的实现方式中,响应于所述展示方式为独立展示,所述画面显示子模块,包括:

单独展示单元,用于对至少一个所述第一图像元素以及至少一个所述第二图像元素分别进行展示,以显示所述图像画面。

在一种可能的实现方式中,所述第一渲染模块,包括:

函数获取子模块,用于获取所述第一渲染指令中包含的渲染函数名称,以及,渲染至少一个所述第一图像元素时使用的相关参数;

第一渲染子模块,用于基于所述渲染函数名称,调用与所述渲染函数名称相对应的函数接口,以通过所述函数接口以及所述相关参数,渲染生成至少一个所述第一图像元素。

在一种可能的实现方式中,响应于所述图像画面是虚拟场景画面,所述第一图像元素包括所述虚拟场景画面上叠加的图标、虚拟控件对应的按钮图形以及包含文字内容的图形中的至少一种;所述第二图像元素包括所述虚拟场景画面中用于展示所述虚拟场景的图像。

另一方面,本申请实施例提供了一种图像画面展示装置,所述装置用于服务器中,所述装置包括:

指令发送模块,用于向终端发送第一渲染指令;所述第一渲染指令用于指示对至少一个第一图像元素进行渲染;

第二渲染模块,用于调用第二渲染指令,渲染得到至少一个第二图像元素;

数据发送模块,用于将包含所述第二图像元素的图像数据发送给所述终端;

交互发送模块,用于向所述终端发送交互指令,以便所述终端基于至少一个所述第一图像元素、至少一个所述第二图像元素、以及所述交互指令展示图像画面;所述交互指令用于指示至少一个所述第一图像元素与至少一个所述第二图像元素的展示方式。

在一种可能的实现方式中,所述指令发送模块,包括:

指令发送子模块,用于通过远程过程调用RPC将所述第一渲染指令对应的渲染函数名称以及渲染至少一个所述第一图像元素时使用的相关参数发送给所述终端。

在一种可能的实现方式中,所述装置还包括:

第一元素确定模块,用于向终端发送第一渲染指令之前,响应于待渲染图像元素对应的指定参数满足终端渲染条件,将所述待渲染图像元素确定为所述第一图像元素;

第二元素确定模块,用于响应于所述待渲染图像元素对应的所述指定参数不满足所述终端渲染条件,将所述待渲染图像元素确定为所述第二图像元素;

其中,所述指定参数包括图像复杂度以及显示质量要求中的至少一种。

另一方面,本申请实施例提供了一种计算机设备,计算机设备包含处理器和存储器,所述存储器中存储有至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执行以实现如上述方面所述的图像画面展示方法。

另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的图像画面展示方法。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面的各种可选实现方式中提供的图像画面展示方法。

本申请实施例提供的技术方案的有益效果至少包括:

终端在接收到由终端渲染得到的第一渲染元素以及由服务器渲染得到的第二渲染元素之后,接收到由服务器发送的用于确定第一图像元素与第二图像元素的展示方式的交互指令,从而使终端通过该交互指令指示的展示方式,将第一图像元素以及第二图像元素展示在图像画面上,从而实现了将部分图像元素进行渲染的过程转移到终端进行,在保证了图像画面渲染过程的低延时需求的情况下,提高了部分图像元素渲染后的质量。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是本申请一个示例性的实施例提供的一种数据共享系统;

图2是本申请一个示例性实施例提供的一种图像画面展示方法的流程示意图;

图3是本申请一个示例性实施例提供的一种图像画面展示方法的示意图;

图4是本申请一个示例性实施例提供的一种图像画面展示方法的方法流程图;

图5是图4所示实施例涉及的一种渲染生成第一渲染图像的示意图;

图6是图4所示实施例涉及的一种渲染生成第二渲染图像的示意图;

图7是图4所示实施例涉及的一种不存在耦合关系的图像画面展示过程的示意图;

图8是图4所示实施例涉及的一种存在耦合关系的图像画面展示过程的示意图;

图9是图4所示实施例涉及的一种游戏场景下的图像画面示意图;

图10是本申请一个示例性实施例提供的一种图像画面展示过程的示意图;

图11是本申请一个示例性实施例提供的一种图像画面展示装置的框图;

图12是本申请一个示例性实施例提供的一种图像画面展示装置的框图;

图13是本申请一示例性实施例提供的计算机设备的结构框图;

图14是本申请一示例性实施例提供的计算机设备的结构框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

1)云技术(Cloud Technology)

云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。

2) 云游戏(Cloud Gaming)

云游戏又可称为游戏点播(Gaming On Demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(Thin Client)能运行高品质游戏。在云游戏场景下,游戏逻辑并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。

在云游戏的运行模式下,所有的游戏都在服务器端运行,服务端将渲染完成后的游戏画面压缩后通过网络传送给用户,在客户端,用户的游戏设备不需要任何高端的处理器以及显卡,只需要具有基本的视频解压能力。在云游戏中,玩家在终端设备(如智能手机、电脑、平板电脑等)通过手指点触对游戏中角色产生的控制信号是云游戏中的操作流,玩家所运行的游戏并非是通过本地渲染,而是在云端服务器对游戏进行逐帧渲染后的视频流通过网络传输给用户的信息流,每款云游戏对应的云端渲染设备可以作为一个云端实例,每一个用户的每一次使用都会对应一个云端实例,该云端实例是一个单独给用户配置的运行环境。比如,对于安卓系统云游戏,云端实例可以是一个模拟器、安卓容器或者运行安卓系统的硬件。对于电脑端的云游戏,云端实例可以是一个虚拟机或者是运行一个游戏的环境。其中,一个云端实例可以支持多个终端显示。

3)数据共享系统

图1是本申请一个实施例提供的一种数据共享系统,如图1所示,数据共享系统100是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点101,多个节点101可以是指数据共享系统中各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。

其中,该云端服务器可以为如图1所示的数据共享系统100,比如,可以通过区块链实现云端服务器的功能。

4)虚拟场景

虚拟场景是云游戏在终端上运行时显示(或提供)的虚拟的场景。该虚拟场景可以是对真实世界的仿真环境场景,也可以是半仿真半虚构的三维环境场景,还可以是纯虚构的三维环境场景。虚拟场景可以是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种,下述实施例以虚拟场景是三维虚拟场景来举例说明,但对此不加以限定。可选的,虚拟场景中可以包含虚拟对象,虚拟对象是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、虚拟载具、虚拟物品中的至少一种。可选地,当虚拟场景为三维虚拟场景时,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟场景中具有自身的形状、体积以及朝向,并占据三维虚拟场景中的一部分空间。

在云游戏中,虚拟场景通常由云端服务器渲染生成,然后发送到终端中,由终端的硬件(比如屏幕)进行展示。该终端可以是智能手机、平板电脑或者电子书阅读器等移动终端;或者,该终端也可以是笔记本电脑或者固定式计算机的个人计算机设备。

通过该图像画面展示方法,将部分图像元素渲染工作由服务器转移到终端进行,一方面减轻了服务器的渲染压力,另一方面也可以减少服务器对图像进行有损压缩带来的图像质量损失,增强终端图像的显示质量。请参考图2,其示出了本申请一个示例性的实施例提供的一种图像画面展示方法的流程示意图。其中,上述方法可以由计算机设备执行,该计算机设备可以是终端,比如,该方法可以由终端中的客户端执行,如图2所示,终端可以通过执行以下步骤来进行图像画面的展示。

步骤201,接收服务器发送的第一渲染指令,第一渲染指令用于指示对至少一个第一图像元素进行渲染。

在本申请实施例中,终端接收由服务器发送的第一渲染指令。

可选的,第一渲染指令是用于指示终端调用渲染函数来渲染第一图像元素的信息。

其中,第一图像元素是需要在终端的显示界面中展示的完整画面中的部分图像元素。比如,以终端展示游戏画面为例,需要在终端的显示界面中展示的完整的游戏画面包括游戏场景画面,以及叠加在上游戏场景画面上的技能控件、物品栏控件、头像控件、缩略地图控件以及状态图案等等,其中,上述第一图像元素可以是其中的一部分(例如状态图案、技能控件、以及物品栏控件中的至少一种)。

其中,第一渲染指令中可以包括渲染函数对应的函数名称以及渲染函数对应的相关参数。

步骤202,基于第一渲染指令,渲染获得至少一个第一图像元素。

在本申请实施例中,终端基于接收到的第一渲染指令渲染获得至少一个第一图像元素。

其中,当进行渲染操作时,终端需要接收到若干个第一渲染指令,基于若干个第一渲染指令调用若干个渲染函数,以实现渲染过程,从而获得若干个第一渲染指令对应的第一图像元素。

在一种可能的实现方式中,渲染获得第一图像元素的渲染操作,对应的是一组第一渲染指令,一组第一渲染指令中的各个第一渲染指令均各自对应一个或多个渲染函数,各个第一渲染指令中包括渲染函数对应的函数名称以及该渲染函数对应的相关参数。

其中,第一图像元素可以是在终端中渲染完成的。

步骤203,接收服务器发送的图像数据,图像数据中包含服务器渲染得到的至少一个第二图像元素。

其中,第二图像元素可以是需要在终端的显示界面中展示的完整画面中,除了第一图像元素之外的其它图像元素。比如,还是以终端展示游戏画面为例,当第一图像元素包括状态图案、技能控件、以及物品栏控件时,第二图像元素可以包括游戏场景画面、头像控件、以及缩略地图控件等。

本申请实施例中,终端接收服务器发送的图像数据,该图像数据可以是服务器渲染得到的至少一个第二图像元素对应的数据。

在一种可能的实现方式中,当服务器发送的图像数据是第二图像元素通过编码压缩得到的压缩数据时,终端接收到该服务器发送的图像数据后,终端通过对图像数据进行图像解码,得到解压后的第二图像元素。

其中,解压后的第二图像元素的图像质量可以低于服务器端渲染生成的第二图像元素的图像质量。

在本申请实施例中,在满足画面质量要求的情况下,服务器可以对渲染生成的第二图像元素进行有损压缩,以尽可能的降低图像数据的数据量,从而达到降低服务器和终端之间的图像元素传输时延,节约终端的流量资源等效果。

步骤204,接收服务器发送的交互指令,交互指令用于指示至少一个第一图像元素与至少一个第二图像元素的展示方式。

在本申请实施例中,当终端分别接收到服务器发送的第一渲染指令以及图像数据之后,可以确定终端即通过终端渲染获得第一图像元素,又通过服务器渲染获得第二图像元素,终端接收服务器发送的交互指令,通过该交互指令可以确定如何以及何时将第一图像元素与第二图像元素展示在同一个图像画面中。

其中,第一图像元素与第二图像元素的展示方式可以是分别进行独立的展示,或者第一图像元素与第二图像元素在图像画面中存在时间上同步展示的关系,或者第一图像元素与第二图像元素需要进行预先的分辨率合成操作,将分辨率合成后的整体图像元素展示在图像画面上。

在一种可能的实现方式中,上述交互指令可以包括第一交互指令和第二交互指令,终端可以接收服务器发送的第一图像元素对应的第一交互指令以及第二图像元素对应的第二交互指令。

步骤205,基于至少一个第一图像元素、至少一个第二图像元素、以及交互指令,展示图像画面。

在本申请实施例中,终端获取到由终端渲染得到的至少一个第一图像元素,获取到终端对图像数据解压后得到的第二图像元素,基于交互指令对应的展示方式可以展示包含第一图像元素以及第二图像元素的图像画面。

综上所述,本申请实施例所示的方案,终端在接收到由终端渲染得到的第一渲染元素以及由服务器渲染得到的第二渲染元素之后,接收到由服务器发送的用于确定第一图像元素与第二图像元素的展示方式的交互指令,从而使终端通过该交互指令指示的展示方式,将第一图像元素以及第二图像元素展示在图像画面上,从而实现了将部分图像元素进行渲染的过程转移到终端进行,并且能够将终端侧和服务器分别渲染的图像元素进行合并展示,在保证了图像画面渲染过程的低延时需求的情况下,提高了部分图像元素渲染后的质量。

请参考图3,其示出了本申请一个示例性的实施例提供的一种图像画面展示方法的示意图。其中,上述方法可以由计算机设备执行,该计算机设备可以是服务器。如图3所示,服务器可以通过执行以下步骤来对图像画面进行展示。

步骤301,向终端发送第一渲染指令;第一渲染指令用于指示对至少一个第一图像元素进行渲染。

步骤302,调用第二渲染指令,渲染得到至少一个第二图像元素。

步骤303,将包含第二图像元素的图像数据发送给终端。

步骤304,向终端发送交互指令,以便终端基于至少一个第一图像元素、至少一个第二图像元素、以及交互指令展示图像画面;交互指令用于指示至少一个第一图像元素与至少一个第二图像元素的展示方式。

在一种可能的实现方式中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

综上所述,本申请实施例所示的方案,终端在接收到由终端渲染得到的第一渲染元素以及由服务器渲染得到的第二渲染元素之后,接收到由服务器发送的用于确定第一图像元素与第二图像元素的展示方式的交互指令,从而使终端通过该交互指令指示的展示方式,将第一图像元素以及第二图像元素展示在图像画面上,从而实现了将部分图像元素进行渲染的过程转移到终端进行,并且能够将终端侧和服务器分别渲染的图像元素进行合并展示,在保证了图像画面渲染过程的低延时需求的情况下,提高了部分图像元素渲染后的质量。

本申请上述实施例所示的方案,可以应用在云游戏进行虚拟场景画面渲染的场景下。

在本申请实施例中,存在两种进行图像渲染的方式,一种是通过视频流的方式进行图像渲染,另一种是通过API(Application Programming Interface,应用程序接口)接口转发的方式进行图像渲染。

通过视频流的方式进行图像渲染是在服务器端进行渲染操作,服务器端抓取渲染完成的图像进行编码压缩操作,之后通过网络将压缩后的图像传送到客户端,当客户端接收到压缩的图像数据后,对该图像数据进行解压操作,并且在客户端展示解压后的图像。通过视频流方式进行图像渲染的过程中,在服务器端对渲染生成的图像进行了编码压缩操作,其目的是为了节省网络传输所需要的带宽,该编码压缩操作通常采用的是有损压缩方式,以达到压缩最大化,而客户端在对有损压缩数据进行还原的过程中,还原图像的质量会一定程度的降低,通过这种方式进行渲染,对于一些叠加在游戏界面上的图标或文字来说,可能会造成一定的模糊效果,从而影响用户体验。

而通过API接口转发的方式进行图像渲染是在服务器端进行的渲染操作,在服务器端将渲染指令转化为相应的渲染函数接口,之后通过网络将函数接口对应的函数名称以及参数传送到客户端,当客户端接收到相应的数据后,执行相应的函数调用完成渲染操作,并在客户端将渲染完成后的图像进行显示。对于这种API接口转发方式,其中的渲染操作可以在客户端完成,因此,渲染游戏画面的场景下,需要将游戏相应的纹理数据从服务器端传送到客户端,以供后续渲染使用,由于游戏的纹理数据比较大,因此,将纹理数据传送到客户端的过程相对来说是耗费的时间比较多,对云游戏进行图像渲染的这种需要低延时的场景来说是不利的。另外,通过这种方式进行渲染的过程中需要经常查询当前的渲染状态,例如,OpenGL/OpenGL ES相关的glGetError()函数调用,可以检查当前渲染指令的执行过程中有没有错误发生而返回相应的状态。为了完成一帧图像的渲染操作,可能需要引入上百个渲染指令,通常为了保证渲染步骤的正确性,会不断调用glGetError()函数,并根据当前的错误返回值来及时做出相应的处理。由于服务器端与客户端通常是网络连接的,每次glGetError()函数调用都会引入服务器端和客户端之间的网络延时,当glGetError()或类似的状态查询函数调用过多时,会极大地影响云游戏的低延时需求。

在本申请实施例中,服务器通过对不同图像元素采用不同的渲染方式进行区分,即部分图像元素采用由服务器进行渲染的方式,另一部分图像元素采用由终端进行渲染的方式,最后在终端确定两种方式渲染得到的图像元素对应的展示方式,按照确定的展示方式展示图像画面,可以平衡展示一帧图像画面过程中对不同图像元素的图像质量需求以及图像画面渲染的低延时需求。

请参考图4,其示出了本申请一个示例性的实施例提供的一种图像画面展示方法的方法流程图。其中,上述方法可以由终端与服务器交互执行。如图4所示,通过执行以下步骤来使终端展示对应的图像画面。

步骤401,服务器向终端发送第一渲染指令。

在本申请实施例中,当第一图像元素是待渲染的图像元素时,服务器向终端发送第一渲染指令。

其中,第一渲染指令可以用于指示对至少一个第一图像元素进行渲染。待渲染的图像元素可以用于指示服务器接收到需要执行渲染操作的指令时,渲染操作对应的各个图像画面中需要进行渲染的图像元素;第一图像元素可以用于指示需要由终端进行图像渲染的,图像画面中的待渲染的图像元素。

在服务器调用第一渲染指令之前,服务器可以优先确定待渲染的图像元素中哪一部分图像元素由服务器直接进行渲染,而哪一部分需要由终端进行渲染。

在一种可能的实现方式中,服务器根据图像画面的需要来主动决定图像画面中的第一图像元素以及第二图像元素。

其中,图像画面的需要可以包括图像渲染的复杂程度以及终端对图像元素的显示质量要求中的至少一种。

示例性的,当渲染图像画面的场景是在游戏场景时,服务器需要发起的一个渲染操作可以是绘制一个球体,另一个渲染操作可以是绘制一个方向键,该球体与方向键在图像画面中展示时可以实现通过点击方向键来移动球体的过程。此时,可以根据图像画面的需要主动的选择通过终端还是服务器渲染球体以及方向键,当图像画面对球体的显示质量要求高于对方向键的显示质量要求,或者球体对应的图像渲染的复杂程度低于方向键对应的图像渲染的复杂程度时,可以将方向键放在服务器进行渲染操作,即调用第二渲染指令进行渲染操作,将球体放在终端进行渲染操作,即调用第一渲染指令进行渲染操作;反之,当图像画面对球体的显示质量要求低于对方向键的显示质量要求,或者球体对应的图像渲染的复杂程度高于方向键对应的图像渲染的复杂程度时,则可以将球体放在服务器进行渲染操作,即调用第二渲染指令进行渲染操作,将方向键放在终端进行渲染操作,即调用第一渲染指令进行渲染操作。

在一种可能的实现方式中,响应于待渲染图像元素对应的指定参数满足终端渲染条件,将待渲染图像元素确定为第一图像元素;响应于待渲染图像元素对应的指定参数不满足终端渲染条件,将待渲染图像元素确定为第二图像元素。

其中,指定参数包括图像复杂度以及显示质量要求中的至少一种。

在一种可能的实现方式中,服务器根据图像画面的需要对应的指定参数与预定参数阈值进行比较,自动确定图像画面中的第一图像元素以及第二图像元素。

比如,响应于待渲染图像元素对应的图像复杂程度小于第一阈值,调用第一渲染指令,且将待渲染图像元素确定为待渲染的第一图像元素;响应于待渲染图像元素对应的图像复杂程度大于第一阈值,调用第二渲染指令,且将待渲染图像元素确定为待渲染的第二图像元素。

在本申请实施例中,由于服务器的渲染能力通常强于终端,因此,服务器可以分析待渲染图像元素的图像复杂程度,将图像复杂程度高的图像元素放在服务器进行渲染,并将图像复杂程度较低的图像元素放在终端侧进行渲染,从而保证图像元素的渲染效率。

再比如,响应于待渲染图像元素对应的显示质量要求大于第二阈值,调用第一渲染指令,且将待渲染图像元素确定为待渲染的第一图像元素;响应于待渲染图像元素对应的显示质量要求小于第二阈值,调用第二渲染指令,且将待渲染图像元素确定为待渲染的第二图像元素。

在本申请实施例中,服务器可以分析待渲染图像元素的显示质量要求,显示质量要求低的图像元素放在服务器进行渲染,并将显示质量要求高的图像元素放在终端侧进行渲染,由于终端侧渲染出的图像元素不需要经过压缩传输,因此能够直接以较高的显示质量进行显示,从而尽可能的保证图像质量。

在一种可能的实现方式中,服务器通过RPC(Remote Procedure Call Protocol,远程过程调用)的方式将第一渲染指令对应的渲染函数名称以及渲染至少一个第一图像元素时使用的相关参数发送给终端。

RPC是指一个节点请求另一个节点提供的服务的功能。在本申请实施例中红,服务器通过RPC方式向终端发送第一渲染指令,可以使得终端尽可能快的启动对第一图像元素的渲染,从而降低终端的图像展示的延时。

步骤402,服务器向终端发送第一交互指令。

在本申请实施例中,当服务器确定对第一图像元素进行渲染后,向终端发送基于第一渲染指令确定的第一交互指令。

其中,第一交互指令可以用于指示第一图像元素的展示方式,第一交互指令中可以包括第一交互标志信息以及第一交互参数中的至少一个。第一交互指令可以用于指示终端渲染的第一图像元素在展示时是否需要同步或者合成。

其中,第一交互标志信息用于指示第一图像元素的展示方式,比如是否需要与第二图像元素进行同步,以及,是否需要与第二图像元素进行合成等等。上述第一交互参数包含第一交互标志信息指示的展示方式所需要的参数,比如,同步展示对应的同步时间信息,以及,合成展示所需要的透明度信息等。

在一种可能的实现方式中,第一交互指令是由服务器的显卡驱动提供的API与第一渲染指令一同发送给终端的进行接收的。

步骤403,终端接收服务器发送的第一渲染指令以及第一交互指令。

在本申请实施例中,终端接收到由服务器发送的第一渲染指令以及第一交互指令。

在一种可能的实现方式中,终端接收服务器发送的,与第一图像元素对应的第一交互指令。

步骤404,终端基于第一渲染指令,渲染获得至少一个第一图像元素。

在本申请实施例中,终端基于接收到的第一渲染指令,可以在终端中调用该第一渲染指令对应的渲染函数接口,从而执行渲染操作,渲染得到至少一个第一图像元素。

在一种可能的实现方式中,获取第一渲染指令中包含的渲染函数名称,以及,渲染至少一个第一图像元素时使用的相关参数;基于渲染函数名称,调用与渲染函数名称相对应的函数接口,以通过函数接口以及相关参数,渲染生成至少一个第一图像元素。

其中,第一渲染指令中可以包含渲染函数的渲染函数名称以及该渲染函数对应的相关参数。

比如,当第一渲染指令用于指示终端执行glTexImage2D函数时,该第一渲染指令中包含的渲染函数名称是glTexImage2D函数,而相关参数可以{GLenum target,Glintlevel,Glint internalformat,GLsizei width,GLsizei height,Glint border,GLenumformat,GLenum type,const void*data},相关参数中可以包括纹理映射相关的数据。

其中,参数target是常数GL_TEXTURE_2D。参数level表示多级分辨率的纹理图像的级数。参数width和height给出了纹理图像的长度和宽度,参数border为纹理边界宽度。参数internalformat、format和type描述了纹理映射的格式和数据类型,const void*data用于指示内存分配。

其中,当第一渲染指令对应的渲染函数是与纹理(texture)相关的函数时,渲染第一图像元素所使用的纹理数据可以在相关参数中,随着相关参数一起发送到终端。

示例性的,服务器可以通过调用显卡驱动指定的渲染函数,该渲染函数可以是beginRPCxxx(flag,data),使得第一图像元素进入终端渲染模式,之后对第一图像元素进行渲染的第一渲染指令会通过RPC远程过程调用方式发送到终端。服务器通过调用显卡驱动指定的渲染函数,该渲染函数可以是endRPCxxx(flag,data),可以使得终止第一图像元素的终端渲染模式。

在本申请实施例中,服务器可以通过beginRPCxxx(flag,data)和endRPCxxx(flag,data)触发终端启动和中止渲染,使得终端的图像元素渲染过程能够在服务器的控制下执行,提高了终端和服务器合作渲染的可控性。

其中,flag是渲染函数中的标志项,该标志项可以对应的是第一交互标志信息,该标志项可以代表终端渲染生成的图像显示是否需要和服务器端渲染生成的图像显示同步,也可以用来代表终端渲染生成的图像显示和服务器端渲染生成的图像显示是否需要合成,也可以代表其他不同的行为。而data是渲染函数中的数据项,该数据项可以对应的是第一交互参数,该数据项可以代表终端渲染生成的图像显示和服务器端渲染生成的图像显示进行同步时依赖的时间戳或其他可以用来等待同步的数据,也可以代表终端渲染生成的图像显示和服务器端渲染生成的图像显示进行透明度合成操作时的透明度参数,即alpha系数,也可以代表其他的数据集合。

步骤405,服务器基于调用的第二渲染指令,向终端发送第二交互指令。

在本申请实施例中,当服务器确定调用第二渲染指令后,基于第二渲染指令向终端发送第二交互指令。

其中,第二交互指令可以用于指示第二图像元素的展示方式,第二交互指令中可以包括第二交互标志信息以及第二交互参数中的至少一个。第二交互指令可以用于指示服务器渲染的第二图像元素在展示时是否需要同步或者合成。

其中,第二交互标志信息用于指示第二图像元素的展示方式,比如是否需要与第一图像元素进行同步,以及,是否需要与第一图像元素进行合成等等。上述第二交互参数包含第二交互标志信息指示的展示方式所需要的参数,比如,同步展示对应的同步时间信息,以及,合成展示所需要的透明度信息等。

在一种可能的实现方式中,服务器直接调用本地的显卡驱动提供的API执行第二渲染指令对应的渲染函数,在调用本地的显卡驱动提供的API执行第二渲染指令的过程中,获取对应的第二交互指令,将该第二交互指令发送给终端。

示例性的,服务器可以通过调用显卡驱动指定的渲染函数,该渲染函数可以是beginLocalxxx(flag,data),使得第二图像元素进入服务器渲染模式,之后通过第二渲染指令完成对第二图像元素的渲染。服务器通过调用显卡驱动指定的渲染函数,该渲染函数可以是endLocalxxx (flag,data),可以使得终止第二图像元素的服务器渲染模式。

其中,flag是渲染函数中的标志项,该标志项可以对应的是第二交互标志信息,该标志项可以代表该服务器渲染生成的图像显示和各个终端渲染生成的图像显示是否需要同步,也可以用来代表该服务器渲染生成的图像显示和各个终端渲染生成的图像显示是否需要合成,也可以代表其他不同的行为。而data是渲染函数中的数据项,该数据项可以对应的是第二交互参数,该数据项可以代表该服务器渲染生成的图像显示和各个终端渲染生成的图像显示进行同步时依赖的时间戳或其他可以用来等待同步的数据,也可以代表服务器渲染生成的图像显示和各个终端渲染生成的图像显示进行透明度合成操作时的透明度参数,即alpha系数,也可以代表其他的数据集合。服务器可以将标志项以及数据项作为第二交互指令发送给终端。

在一种可能的实现方式中,终端接收服务器发送的,与第二图像元素对应的第二交互指令。

步骤406,服务器基于第二渲染指令,渲染获得至少一个第二图像元素。

在本申请实施例中,服务器基于第二渲染指令对应的渲染函数,通过服务器的显卡驱动执行渲染函数,渲染得到至少一个第二图像元素。

在一种可能的实现方式中,服务器直接调用服务器中的显卡驱动提供的API执行第二渲染指令对应的渲染函数,生成渲染后的至少一个第二图像元素。

步骤407,服务器将第二图像元素进行编码压缩后生成图像数据发送给终端。

在本申请实施例中,服务器将渲染生成的第二图像元素进行图像编码操作,以实现对第二图像元素进行数据压缩的目的,将编码压缩后的图像数据发送给终端。

在一种可能的实现方式中,服务器将第二图像元素采用有损压缩方式进行编码压缩后生成图像数据,将图像数据发送给终端。

在本申请实施例中,服务器可以在可以接受的图像质量损失范围内,通过有损压缩的方式尽可能的降低需要传输的数据量,进而降低服务器和终端之间的图像数据传输时延。

其中,终端接收到图像数据后,进行图像解码操作,对图像数据进行解压,得到解压后的第二图像元素。

步骤408,终端基于接收到至少一个第一图像元素、至少一个第二图像元素、以及交互指令,展示图像画面。

在本申请实施例中,终端基于接收到第一图像元素以及第二图像元素,按照第一交互指令与第二交互指令指示的展示方式,展示包含第一图像元素以及第二图像元素的图像画面。

在一种可能的实现方式中,基于第一交互指令中的第一交互标志信息,以及第二交互指令中的第二交互标志信息,确定第一图像元素与第二图像元素之间的展示方式;按照第一图像元素与第二图像元素之间的展示方式,对至少一个第一图像元素以及至少一个第二图像元素进行展示,以显示图像画面。

其中,第一交互标志信息用于指示第一图像元素的展示方式;第二交互标志信息用于指示第二图像元素的展示方式。

示例性的,第一图像元素与第二图像元素的展示方式可以是同步展示的方式、透明度合成展示的方式以及独立展示的方式中的至少一种。

在一种可能的实现方式中,响应于展示方式为同步展示,第一交互指令包含第一交互参数,第二交互指令包含第二交互参数,第一交互参数以及第二交互参数中包含各自对应的图像元素的同步时间指示信息;终端将至少一个第一图像元素与至少一个第二图像元素中,同步时间指示信息相匹配的图像元素进行同步展示,以显示图像画面。

其中,第一交互参数以及第二交互参数的至少一种参数中包含时间戳参数。

比如,当确定至少一个第一图像元素中的图像元素A需要进行同步展示,若图像元素A对应的第一交互参数中的时间戳信息指示a时刻,则终端需要进行同步等待过程,当终端获取到第二图像元素中的图像元素B也需要进行同步展示,且图像元素B对应的第二交互参数中的时间戳信息也指示a时刻,则图像元素A与图像元素B在a时刻进行同步展示,即在图像画面中显示同步展示的图像元素A与图像元素B。

或者,对于同步时间指示信息匹配的第一图像元素与第二图像元素,终端可以基于第一图像元素与第二图像元素各自的同步时间指示信息,确定同步展示第一图像元素以及第二图像元素的同步时刻;响应于到达同步时刻,终端可以显示同步展示的第一图像元素与第二图像元素。同步时间指示信息可以是时间戳参数。

例如,响应于第一图像元素与第二图像元素之间的展示方式是同步展示方式,基于时间戳参数,确定同步展示第一图像元素以及第二图像元素的同步时刻,响应于到达同步时刻,终端显示同步展示第一图像元素与第二图像元素的图像画面。当第一图像元素与第二图像元素具有耦合关系时,且第一图像元素与第二图像元素渲染完成的时间不同时,可以实现同步等待过程,避免了具有耦合关系的图像元素由于执行渲染操作的方式不同而无法同步展示的问题,使得不同时间渲染完成的第一图像元素与第二图像元素也可以同步展示在图像画面上。

在一种可能的实现方式中,响应于展示方式为透明度合成展示,第一交互指令包含第一交互参数,第二交互指令包含第二交互参数,第一交互参数以及第二交互参数中包含各自对应的图像元素的透明度信息;终端基于至少一个第一图像元素以及至少一个第二图像元素各自的透明度信息,确定至少一个第一图像元素以及至少一个第二图像元素各自的透明度;基于至少一个第一图像元素以及至少一个第二图像元素各自的透明度,对至少一个第一图像元素以及至少一个第二图像元素进行合成展示,以显示图像画面。

其中,透明度可以是展示图像元素时对应的指示透明程度的参数,通过第一图像元素以及至少一个第二图像元素各自的透明度可以实现图像元素合成时,之间的透明重叠效果。

示例性的,展示方式为透明度合成展示的第一图像元素以及第二图像元素,有可能是同步展示的,也有可能是独立展示的。若第一图像元素以及第二图像元素是同步展示的,则可以对同步的第一图像元素以及第二图像元素进行透明度合成展示;若第一图像元素与第二图像元素是独立展示的,则终端可以接收到第一图像元素与第二图像元素后直接进行透明度合成,将合成后生成的图像展示在图像画面中。通过上述过程,可以实现将由终端渲染完成的第一图像元素,与由服务器渲染完成的第二图像元素基于各自的透明度先进行图像合成,将合成后的图像展示在图像画面中,提高了合成图像在图像画面中的展示效果。

在一种可能的实现方式中,响应于展示方式为独立展示,终端对至少一个第一图像元素以及至少一个第二图像元素分别进行展示,以显示图像画面。

其中,独立展示用于指示至少一个第一图像元素以及至少一个第二图像元素之间没有耦合关系,进行渲染完成后分别显示在图像画面中。

其中,若第一交互标志信息以及第二交互标志信息均指示第一图像元素与第二图像元素不进行同步展示,则可以直接将第一图像元素与第二图像元素展示在图像画面上,也可以将第一图像元素与第二图像元素合成为一个图像,将合成后的图像展示在图像画面上。

示例性的,图5是本申请实施例涉及的一种渲染生成第一渲染图像的示意图。如图5所示,当该渲染过程应用在云游戏的游戏界面渲染的场景中时,云端服务器首先接收到启动渲染的指令(S51),基于云游戏对应的游戏引擎所提供的API接口,控制显卡驱动,基于显卡驱动提供的API将第一渲染指令(S52)以及第一渲染指令对应的第一交互指令发送给客户端(S53),客户端分别接收第一渲染指令以及第一交互指令,客户端基于接收到的第一渲染指令调用对应的渲染函数,执行对应的渲染操作(S54),渲染得到第一图像元素,基于接收到的第一交互指令,确定第一图像元素在客户端上的展示方式,基于该展示方式对第一图形元素进行显示(S55)。

另外,图6是本申请实施例涉及的一种渲染生成第二渲染图像的示意图。如图6所示,当该渲染过程应用在云游戏的游戏界面渲染的场景中时,云端服务器首先接收到启动渲染的指令,调用第二渲染指令(S61),基于云游戏对应的游戏引擎所提供的API接口,控制显卡驱动,通过显卡驱动可以基于第二渲染指令获得对应的第二交互指令,显卡驱动提供的API将第二交互指令发送给终端(S62),基于显卡驱动提供的API执行第二渲染指令对应的渲染函数,渲染生成第二图像元素,由显卡驱动对第二图像元素进行图像编码,生成对应的图像数据(S63),将该图像数据发送给终端,终端将接收到的图像数据进行解码,获得解码后的第二图像元素(S64),终端基于获取到的第二交互指令指示的第二图像元素在图像画面中的展示方式,展示图像画面(S65)。

示例性的,第一图像元素以及第二图像元素之间可以是存在耦合关系的,也可以是不存在耦合关系的。图7是本申请实施例涉及的一种不存在耦合关系的图像画面展示过程的示意图。如图7所示,终端读取各个第一图像元素各自对应的第一交互指令,可以基于各自对应的第一交互标志信息确定各个第一图像元素是否与其它第二图像元素存在同步关系以及合成关系(S71),若不存在同步关系以及合成关系,则将渲染完成的各个第一图像元素缓存在第一图像合成缓冲区,基于第一图像合成缓冲区中的各个第一图像元素展示图像画面。同样的,终端读取各个第二图像元素各自对应的第二交互指令,可以基于各自对应的第二交互标志信息以及时间戳参数,确定各个第二图像元素是否与其它第一图像元素存在同步关系以及合成关系(S72),若不存在同步关系以及合成关系,则将渲染完成的各个第二图像元素缓存在第二图像合成缓冲区,基于第二图像合成缓冲区中的各个第二图像元素展示图像画面。最终展示的图像画面中可能存在第一图像元素以及第二图像元素,但是第一图像元素与第二图像元素之间互不影响。

比如,终端渲染的第一图像元素是游戏LOGO标志,可以是当前网络状态的图标显示,由于当前网络状态的图标显示不和具体的虚拟场景相对应,因此服务器渲染的虚拟场景的图像显示和终端渲染的当前网络状态的图标显示之间不需要同步,当前网络状态的图标显示渲染完成后缓存在第一图像合成缓冲区,虚拟场景的图像渲染完成后缓存在第二图像合成缓冲区,最终展示图像画面。

图8是本申请实施例涉及的一种存在耦合关系的图像画面展示过程的示意图。如图8所示,终端读取各个第一图像元素各自对应的第一交互指令,可以基于各自对应的第一交互标志信息以及时间戳参数,确定各个第一图像元素是否与其它第二图像元素存在同步关系以及合成关系(S81),若存在同步关系以及合成关系,则将渲染完成的各个第一图像元素,以及存在同步关系或者合成关系的第二图像元素缓存在同一图像合成缓冲区,基于该图像合成缓冲区中的第一图像元素以及第二图像元素展示图像画面。同样的,终端读取各个第二图像元素各自对应的第二交互指令,可以基于各自对应的第二交互标志信息以及时间戳参数,确定各个第二图像元素是否与其它第一图像元素存在同步关系以及合成关系(S82),若存在同步关系以及合成关系,则将渲染完成的各个第二图像元素,以及存在同步关系或者合成关系的第一图像元素缓存在同一图像合成缓冲区,基于该图像合成缓冲区中的第一图像元素以及各个第二图像元素展示图像画面,最终展示图像画面。

比如,终端渲染的第一图像元素是当前场景的文字描述或相关道具图标,则该终端渲染的第一图像元素需要和服务器渲染的第二图像元素进行透明度合成操作,则服务器渲染的第二图像元素和终端渲染的第一图像元素之间展示时需要同步,具体的同步过程可以使用进程或线程间同步的方法来完成,具体的同步等待行为可以通过CPU来实现,也可以通过GPU硬件来实现。

在一种可能的实现方式中,响应于图像画面是虚拟场景画面,第一图像元素包括虚拟场景画面上叠加的图标、虚拟控件对应的按钮图形以及包含文字内容的图形中的至少一种;第二图像元素包括虚拟场景画面中用于展示虚拟场景的图像。

比如,图9是本申请实施例涉及的一种游戏场景下的图像画面示意图,如图9所示,为游戏场景下的游戏界面展示画面以及虚拟场景展示画面,在画面上叠加的图标、虚拟控件对应的按钮图形以及包含文字内容的图形(91)属于可以优化的图像元素部分,即将该部分图像元素可以确定为第一图像元素,由终端进行渲染。一方面想让用户看到更高清晰度的图标、按钮或文字,另一方面不想引入过多的网络延时,综合这两个需求,将大部分的渲染操作留在服务器端进行,而将少量的渲染操作转移到客户端进行,这部分少量的渲染操作主要是一些图标、按钮或文字等不需要在服务器端和客户端之间传递大量数据的渲染操作。

综上所述,本申请实施例所示的方案,终端在接收到由终端渲染得到的第一渲染元素以及由服务器渲染得到的第二渲染元素之后,接收到由服务器发送的用于确定第一图像元素与第二图像元素的展示方式的交互指令,从而使终端通过该交互指令指示的展示方式,将第一图像元素以及第二图像元素展示在图像画面上,从而实现了将部分图像元素进行渲染的过程转移到终端进行,并且能够将终端侧和服务器分别渲染的图像元素进行合并展示,在保证了图像画面渲染过程的低延时需求的情况下,提高了部分图像元素渲染后的质量。

图10是根据一示例性实施例示出的一种图像画面展示过程的示意图。如图10所示,当图像画面的渲染过程启动(S1001)之后,云端服务器首先接收到启动渲染的指令,将待渲染的图像元素分为第一图像元素以及第二图像元素分别进行渲染,其中,对于第一图像元素的渲染过程可以通过基于云游戏对应的游戏引擎所提供的API接口,控制显卡驱动,基于显卡驱动提供的API将第一渲染指令(S1003)以及第一渲染指令对应的第一交互指令发送给客户端(S1002),客户端分别接收第一渲染指令以及第一交互指令,客户端基于接收到的第一渲染指令调用对应的渲染函数,执行对应的渲染操作(S1008),渲染得到第一图像元素(S1009);针对于第二图像元素的渲染过程可以通过调用第二渲染指令,基于云游戏对应的游戏引擎所提供的API接口,控制显卡驱动,通过显卡驱动可以基于第二渲染指令获得对应的第二交互指令,显卡驱动提供的API将第二交互指令发送给终端(S1004),基于显卡驱动提供的API执行第二渲染指令对应的渲染函数,渲染生成第二图像元素,由显卡驱动对第二图像元素进行图像编码,生成对应的图像数据(S1005),将该图像数据发送给终端,终端将接收到的图像数据进行解码(S1006),获得解码后的第二图像元素(S1007),终端基于获取到的第一交互指令以及第二交互指令将第一图像元素与第二图像元素进行合成(S1010),展示合成后的图像对应的图像画面(S1011)。

综上所述,本申请实施例所示的方案,终端在接收到由终端渲染得到的第一渲染元素以及由服务器渲染得到的第二渲染元素之后,接收到由服务器发送的用于确定第一图像元素与第二图像元素的展示方式的交互指令,从而使终端通过该交互指令指示的展示方式,将第一图像元素以及第二图像元素展示在图像画面上,从而实现了将部分图像元素进行渲染的过程转移到终端进行,并且能够将终端侧和服务器分别渲染的图像元素进行合并展示,在保证了图像画面渲染过程的低延时需求的情况下,提高了部分图像元素渲染后的质量。

图11是根据一示例性实施例示出的一种图像画面展示装置的框图,如图11所示,该装置用于计算机设备中,该计算机设备可以是终端,以执行图2或图4对应实施例所示的方法的全部或部分步骤。该图像画面展示装置可以包括:

指令接收模块1110,用于接收服务器发送的第一渲染指令,所述第一渲染指令用于指示对至少一个第一图像元素进行渲染;

第一渲染模块1120,用于基于所述第一渲染指令,渲染获得至少一个所述第一图像元素;

数据接收模块1130,用于接收所述服务器发送的图像数据,所述图像数据中包含所述服务器渲染得到的至少一个第二图像元素;

交互模块1140,用于接收所述服务器发送的交互指令,所述交互指令用于指示至少一个所述第一图像元素与至少一个所述第二图像元素的展示方式;

画面展示模块1150,用于基于至少一个所述第一图像元素、至少一个所述第二图像元素、以及所述交互指令,展示图像画面。

在一种可能的实现方式中,所述交互模块1140,包括:

第一交互子模块,用于接收所述服务器发送的,与所述第一图像元素对应的第一交互指令;

第二交互子模块,用于接收所述服务器发送的,与所述第二图像元素对应的第二交互指令。

在一种可能的实现方式中,所述画面展示模块1150,包括:

方式确定子模块,用于基于所述第一交互指令中的第一交互标志信息,以及所述第二交互指令中的第二交互标志信息,确定所述第一图像元素与所述第二图像元素之间的展示方式;所述第一交互标志信息用于指示所述第一图像元素的展示方式;所述第二交互标志信息用于指示所述第二图像元素的展示方式;

画面显示子模块,用于按照所述第一图像元素与所述第二图像元素之间的所述展示方式,对至少一个所述第一图像元素以及至少一个所述第二图像元素进行展示,以显示所述图像画面。

在一种可能的实现方式中,响应于所述展示方式为同步展示,所述第一交互指令包含第一交互参数,所述第二交互指令包含第二交互参数,所述第一交互参数以及所述第二交互参数中包含各自对应的图像元素的同步时间指示信息;

所述画面显示子模块,包括:

同步显示单元,用于将至少一个所述第一图像元素与至少一个所述第二图像元素中,同步时间指示信息相匹配的图像元素进行同步展示,以显示所述图像画面。

在一种可能的实现方式中,响应于所述展示方式为透明度合成展示,所述第一交互指令包含第一交互参数,所述第二交互指令包含第二交互参数,所述第一交互参数以及所述第二交互参数中包含各自对应的图像元素的透明度信息;

所述画面显示子模块,包括:

透明度确定单元,用于基于至少一个所述第一图像元素以及至少一个所述第二图像元素各自的透明度信息,确定至少一个所述第一图像元素以及至少一个所述第二图像元素各自的透明度;

合成显示单元,用于基于至少一个所述第一图像元素以及至少一个所述第二图像元素各自的透明度,对至少一个所述第一图像元素以及至少一个所述第二图像元素进行合成展示,以显示所述图像画面。

在一种可能的实现方式中,响应于所述展示方式为独立展示,所述画面显示子模块,包括:

单独展示单元,用于对至少一个所述第一图像元素以及至少一个所述第二图像元素分别进行展示,以显示所述图像画面。

在一种可能的实现方式中,所述第一渲染模块1120,包括:

函数获取子模块,用于获取所述第一渲染指令中包含的渲染函数名称,以及,渲染至少一个所述第一图像元素时使用的相关参数;

第一渲染子模块,用于基于所述渲染函数名称,调用与所述渲染函数名称相对应的函数接口,以通过所述函数接口以及所述相关参数,渲染生成至少一个所述第一图像元素。

在一种可能的实现方式中,响应于所述图像画面是虚拟场景画面,所述第一图像元素包括所述虚拟场景画面上叠加的图标、虚拟控件对应的按钮图形以及包含文字内容的图形中的至少一种;所述第二图像元素包括所述虚拟场景画面中用于展示所述虚拟场景的图像。

综上所述,本申请实施例所示的方案,终端在接收到由终端渲染得到的第一渲染元素以及由服务器渲染得到的第二渲染元素之后,接收到由服务器发送的用于确定第一图像元素与第二图像元素的展示方式的交互指令,从而使终端通过该交互指令指示的展示方式,将第一图像元素以及第二图像元素展示在图像画面上,从而实现了将部分图像元素进行渲染的过程转移到终端进行,并且能够将终端侧和服务器分别渲染的图像元素进行合并展示,在保证了图像画面渲染过程的低延时需求的情况下,提高了部分图像元素渲染后的质量。

图12是根据一示例性实施例示出的一种图像画面展示装置的框图,如图12所示,该装置用于计算机设备中,该计算机设备可以是服务器,以执行图3或图4对应实施例所示的方法的全部或部分步骤。该图像画面展示装置可以包括:

指令发送模块1210,用于向终端发送第一渲染指令;所述第一渲染指令用于指示对至少一个第一图像元素进行渲染;

第二渲染模块1220,用于调用第二渲染指令,渲染得到至少一个第二图像元素;

数据发送模块1230,用于将包含所述第二图像元素的图像数据发送给所述终端;

交互发送模块1240,用于向所述终端发送交互指令,以便所述终端基于至少一个所述第一图像元素、至少一个所述第二图像元素、以及所述交互指令展示图像画面;所述交互指令用于指示至少一个所述第一图像元素与至少一个所述第二图像元素的展示方式。

在一种可能的实现方式中,所述指令发送模块1210,包括:

指令发送子模块,用于通过远程过程调用RPC将所述第一渲染指令对应的渲染函数名称以及渲染至少一个所述第一图像元素时使用的相关参数发送给所述终端。

在一种可能的实现方式中,所述装置还包括:

第一元素确定模块,用于向终端发送第一渲染指令之前,响应于待渲染图像元素对应的指定参数满足终端渲染条件,将所述待渲染图像元素确定为所述第一图像元素;

第二元素确定模块,用于响应于所述待渲染图像元素对应的所述指定参数不满足所述终端渲染条件,将所述待渲染图像元素确定为所述第二图像元素;

其中,所述指定参数包括图像复杂度以及显示质量要求中的至少一种。

综上所述,本申请实施例所示的方案,终端在接收到由终端渲染得到的第一渲染元素以及由服务器渲染得到的第二渲染元素之后,接收到由服务器发送的用于确定第一图像元素与第二图像元素的展示方式的交互指令,从而使终端通过该交互指令指示的展示方式,将第一图像元素以及第二图像元素展示在图像画面上,从而实现了将部分图像元素进行渲染的过程转移到终端进行,并且能够将终端侧和服务器分别渲染的图像元素进行合并展示,在保证了图像画面渲染过程的低延时需求的情况下,提高了部分图像元素渲染后的质量。

图13是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备1300包括中央处理单元(CPU,Central Processing Unit)1301、包括随机存取存储器(Random Access Memory,RAM)1302和只读存储器(Read-Only Memory,ROM)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。所述计算机设备1300还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统1306,和用于存储操作系统1313、应用程序1314和其他程序模块1315的大容量存储设备1307。

所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机可读介质为计算机设备1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、闪存或其他固态存储其技术,CD-ROM、或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。

计算机设备1300可以通过连接在所述系统总线1305上的网络接口单元1311连接到互联网或者其它网络设备。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器1301通过执行该一个或一个以上程序来实现图2或图4所示的方法的全部或者部分步骤。

图14是根据一示例性实施例示出的计算机设备1400的结构框图。该计算机设备1400可以是用户终端,比如智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备1400还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,计算机设备1400包括有:处理器1401和存储器1402。

处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1401所执行以实现本申请中方法实施例提供的方法中的全部或者部分步骤。

在一些实施例中,计算机设备1400还可选包括有:外围设备接口1403和至少一个外围设备。处理器1401、存储器1402和外围设备接口1403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1403相连。具体地,外围设备包括:射频电路1404、显示屏1405、摄像头组件1406、音频电路1407、定位组件1408和电源1409中的至少一种。

外围设备接口1403可被用于将I/O(Input /Output,输入/输出)相关的至少一个外围设备连接到处理器1401和存储器1402。

射频电路1404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。

显示屏1405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1405是触摸显示屏时,显示屏1405还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。此时,显示屏1405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1405可以为一个,设置计算机设备1400的前面板;在另一些实施例中,显示屏1405可以为至少两个,分别设置在计算机设备1400的不同表面或呈折叠设计;在再一些实施例中,显示屏1405可以是柔性显示屏,设置在计算机设备1400的弯曲表面上或折叠面上。甚至,显示屏1405还可以设置成非矩形的不规则图形,也即异形屏。显示屏1405可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。

摄像头组件1406用于采集图像或视频。

音频电路1407可以包括麦克风和扬声器。

定位组件1408用于定位计算机设备1400的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。

电源1409用于为计算机设备1400中的各个组件进行供电。

在一些实施例中,计算机设备1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、指纹传感器1414、光学传感器1415以及接近传感器1416。

本领域技术人员可以理解,图14中示出的结构并不构成对计算机设备1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

在一示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括至少一条指令、至少一段程序、代码集或指令集的存储器,上述至少一条指令、至少一段程序、代码集或指令集可由处理器执行以完成上述图3或图4对应实施例所示的方法的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是ROM(Read-OnlyMemory,只读存储器)、随机存取存储器(Random Access Memory,RAM)、CD-ROM(CompactDisc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面的各种可选实现方式中提供的图像画面展示方法。

在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例所示的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

相关技术
  • 图像画面展示方法、装置、设备及存储介质
  • 画面展示方法、信息生成方法、装置、设备及存储介质
技术分类

06120113222515