特效优化方法、装置、存储介质及程序产品与流程-j9九游会真人

文档序号:34891196发布日期:2023-07-25 18:32阅读:17来源:国知局


1.本技术涉及图像处理领域,尤其涉及一种特效优化方法、装置、存储介质及程序产品。


背景技术:

2.游戏帧率和功耗问题一直是游戏厂商重点关注的难点和重点。为了呈现良好的游戏视觉效果,当前许多流行的3d游戏如原神、崩坏3、nba2019等,在对游戏需显示的每帧图像做渲染时,通常会设置多个渲染通道用于渲染阴影(shadow)、泛光(bloom)等特效纹理,再基于特效纹理得到每帧图像,在图像中的对象无运动或者运动幅度较小的情况下,为每帧图像都设置多个渲染通道会消耗大量的内存带宽及少量处理器负载,一是导致游戏功耗上升,二是使得游戏帧率下降,影响用户的游戏体验。


技术实现要素:

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.图1示出现有技术一的游戏系统的架构示意图。
37.图2示出现有技术一的图像渲染方法的流程示意图。
38.图3a示出现有技术一得到泛光特效纹理时创建的渲染通道的示意图。
39.图3b示出现有技术一得到泛光特效纹理时创建的渲染通道的示意图。
40.图4示出根据本技术实施例的游戏系统的示例性架构示意图。
41.图5示出根据本技术实施例的特效优化方法的示例性流程示意图。
42.图6示出根据本技术实施例的特效优化方法的一个应用示例。
43.图7a示出现有技术一得到第n 2帧图像时创建的渲染通道的示意图。
44.图7b示出根据本技术实施例得到第n 2帧图像时创建的渲染通道的示意图。
45.图8示出根据本技术实施例的特效优化装置的示例性结构示意图。
46.图9示出根据本技术实施例的特效优化装置的示例性结构示意图。
具体实施方式
47.以下将参考附图详细说明本技术的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
48.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
49.另外,为了更好的说明本技术,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本技术同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本技术的主旨。
50.下面对本文中出现的术语进行解释。
51.泛光(bloom):一种用于视频游戏、演示和高动态范围渲染的计算机图形效果,用于再现真实世界相机的成像工件。
52.阴影(shadow):一种用于游戏渲染中的阴影特效。
53.渲染通道(render pass):通过指定渲染时使用的帧缓冲区附件相关信息来描述一个渲染过程。
54.帧率(frame rate):以帧为单位的图像连续出现在显示器上的频率(速率)。
55.绘制命令(draw call):涉及渲染通道的指令调用。
56.下面介绍现有技术的图像渲染方法。
57.图1示出现有技术一的游戏系统的架构示意图。
58.如图1所示,现有技术一的游戏系统主要包括以下部分:游戏应用程序(application)、游戏引擎(game engine,常见的有unity、unreal等)、系统框架层(framework)、图形驱动层(driver development kit,ddk)以及执行渲染指令的图形硬件层(graphics processing unit,gpu)。用户通过游戏应用程序进行操作,游戏系统响应于用户的操作进行图像渲染。首先,用户通过游戏应用程序进行操作时,游戏应用程序可以下发opengl渲染指令到系统框架层。系统框架层拦截opengl渲染指令,建立与本地窗口系统的联系并继续传递opengl渲染指令到图形驱动层。图形驱动层对opengl渲染指令进行处理得到能够被图形硬件层执行的指令,处理后的指令最终提交到图形硬件层执行。
59.当前,大多数的游戏厂商为了保证完美的游戏场景效果,会在每一帧图像的渲染过程中进行大量的重复的阴影和/或泛光等特效的渲染。图2示出现有技术一的图像渲染方法的流程示意图。
60.如图2所示,以进行阴影和泛光的特效渲染为例,假设opengl渲染指令指示从第n帧开始进行特效渲染,则游戏系统进行第n帧的图像渲染时,先得到第n帧图像的阴影特效纹理,再得到第n帧图像的主场景纹理(也可以称为非特效纹理),然后得到第n帧图像的泛光特效纹理,最后第n帧图像的阴影特效纹理、泛光特效纹理和主场景纹理分别采样至显示缓冲区,在显示缓冲区中叠加绘制,再由图形硬件层对显示缓冲区叠加绘制的图像进行显示。之后游戏系统可依次进行第n 1帧的图像渲染、第n 2帧等的图像渲染,方式与进行第n帧的图像渲染相同。
61.其中,得到每一帧图像的阴影特效纹理、每一帧图像的泛光特效纹理的过程中,分别需要创建多个渲染通道。图3a和图3b分别示出现有技术一得到泛光特效纹理时创建的渲染通道的示意图。
62.如图3a所示,为了在渲染得到的图像中增加泛光特效,游戏系统创建了4个渲染通道来生成泛光特效纹理。图3a的示例中,泛光特效纹理是根据主场景纹理得到,主场景纹理的分辨率可以是1920*1080,第1个渲染通道中,对主场景纹理进行采样,得到第一中间纹理
level1,第一中间纹理level1的分辨率可以是960*540。第2个渲染通道中,对第一中间纹理level1进行采样,得到第二中间纹理level2,第二中间纹理level2的分辨率可以是480*270。第3个渲染通道中,对第二中间纹理level2进行采样,得到第三中间纹理level3,第三中间纹理level3的分辨率可以是240*135。即第1-3个渲染通道中的每相邻两个渲染通道得到的纹理的分辨率依次是1/2的关系。第4个渲染通道中,对第一中间纹理level1和第三中间纹理level3混合采样,得到泛光特效纹理texture0,泛光特效纹理texture0的分辨率可以是960*540,与第一中间纹理level1的分辨率相同。该泛光特效纹理texture0可以与主场景纹理分别采样至显示缓冲区,在显示缓冲区中叠加绘制时,得到分辨率等于主场景纹理分辨率1920*1080的一张待显示的纹理,该待显示的纹理将由图形硬件层进行显示。主场景纹理、各中间特效纹理以及待显示的纹理如图3b所示。
63.然而,现有技术一的图像渲染方案存在以下缺点:一方面,渲染通道的数量增加是极其消耗运行游戏系统的电子设备的内存器带宽的,另一方面,在图像中的对象无运动或者运动幅度较小的情况下,在每帧图像的渲染过程中,重复差别微小的特效纹理的绘制,需要调用一定数量的绘制命令(例如图3a中的采样指令),这会消耗电子设备的部分处理器(例如中央处理器cpu和图形处理器gpu)的负载。上述缺点最终会引起游戏图像帧率下降以及游戏功耗上升等问题,直接影响用户的游戏体验。
64.有鉴于此,本技术提出一种特效优化方法、装置、存储介质及程序产品,根据本技术实施例的特效优化方法,能够在图像中的对象无运动或者运动幅度较小的情况下、为每帧图像进行特效相关的渲染时,提升游戏图像帧率、降低游戏功耗。
65.下面介绍本技术实施例的特效优化方法的示例性应用场景。
66.本技术实施例的特效优化方法可应用于游戏系统,该游戏系统可以设置在终端设备上,举例来说,本技术的终端设备可以是智能手机、上网本、平板电脑、笔记本电脑、tv、虚拟现实设备等等。图4示出根据本技术实施例的游戏系统的示例性架构示意图。
67.如图4所示,本技术系统架构包括应用程序1001、系统框架1002、特效优化框架1003、驱动1004和图形处理器1005。
68.其中,应用程序1001可基于现有技术来实现,可包括待优化的游戏应用或者其它应用程序,应用程序1001可使用opengl或opengles的渲染图形应用程序编程接口(application programming interface,api)。根据用户对应用程序1001的操作,应用程序1001可生成对应的渲染指令。
69.系统框架1002可基于现有技术来实现,可以是基于android操作系统和其框架代码的框架结构,可用于对应用程序1001生成的渲染指令进行拦截。
70.特效优化框架1003主要用于执行本技术实施例的特效优化方法,主要用于特效场景识别、特效纹理相似度比对以及特效优化,实现的是对泛光、阴影等特效在部分场景的复用。其示例性实现方式可以参照下文图5-图6的相关描述。
71.驱动1004可基于现有技术来实现,可以包括opengl/opengles/vulkan等渲染图形应用程序编程接口的驱动。
72.图形处理器1005可基于现有技术来实现,可包括终端设备上的具体的硬件图形处理器gpu等,用于完成具体的渲染任务。
73.图5示出根据本技术实施例的特效优化方法的示例性流程示意图。
74.如图5所示,在一种可能的实现方式中,本技术提出一种特效优化方法,所述方法包括:
75.s1,获取渲染指令并识别所述渲染指令的用途。
76.其中,渲染指令可以是系统框架1002所拦截的、应用程序1001生成的渲染指令。渲染指令的用途,可以指示渲染指令是否用于获得多帧图像、且多帧图像是否包括特效纹理。可选地,还可以指示多帧图像包括何种特效纹理(例如阴影特效纹理、泛光特效纹理等)。本领域技术人员应理解,渲染指令可以有更多用途,本技术对于步骤s1能够识别到的渲染指令的用途不作限制。
77.s2,在所述渲染指令用于获得多帧图像、且所述多帧图像包括特效纹理时,选取所述多帧图像中的相邻两帧图像,识别所述相邻两帧图像的特效纹理的相似度。
78.其中,渲染指令用于获得的、包括特效纹理的多帧图像,可以是连续的多帧图像,也可以是不连续的多帧图像,本技术对此不作限制。选取所述多帧图像中的相邻两帧图像时,可以是按照多帧图像的时间顺序选取,例如从最早的两帧图像处选取,也可以是从多帧图像中处于预设位置的两帧图像处选取,只要满足在选取时,被选取的相邻两帧图像的下一帧图像的特效纹理尚未获得即可,本技术对于相邻两帧图像的选取方式不作限制。
79.s3,确定所述相似度满足条件时,将所述相邻两帧图像中的后一帧图像的特效纹理作为所述相邻两帧图像的下一帧图像的特效纹理。
80.在相似度满足条件时,可以认为该相邻两帧图像中的对象运动幅度比较小,在此情况下,可以认为该相邻两帧图像的下一帧图像中的对象运动幅度也比较小,即使采用渲染通道生成该相邻两帧图像的下一帧图像的特效纹理,该相邻两帧图像中的后一帧图像和该相邻两帧图像的下一帧图像的特效纹理的差别可能也很小。因此,相邻两帧图像的下一帧图像的特效纹理不必采用渲染通道生成,可以直接使用该相邻两帧图像中的后一帧图像的特效纹理。
81.相应地,在相似度不满足条件时,可以认为该相邻两帧图像中的对象运动幅度比较大,在此情况下,可以认为该相邻两帧图像的下一帧图像中的对象运动幅度也比较大,相邻两帧图像的下一帧图像的特效纹理可以采用渲染通道生成。
82.根据本技术实施例的特效优化方法,通过获取渲染指令并识别渲染指令的用途,可以确定渲染指令是否用于获得多帧图像、且多帧图像是否包括特效纹理,即可以识别确定渲染指令是否是用于渲染特效场景;通过在渲染指令用于获得多帧图像、且多帧图像包括特效纹理时,选取多帧图像中的相邻两帧图像,识别相邻两帧图像的特效纹理的相似度,可以在渲染指令用于渲染特效场景时,对比确定特效纹理的相似程度;通过确定相似度满足条件时,将相邻两帧图像中的后一帧图像的特效纹理作为相邻两帧图像的下一帧图像的特效纹理,使得不采用传统的渲染通道方式,也能得到相邻两帧图像的下一帧图像的特效纹理,可以避免传统的渲染通道方式生成特效纹理时对内存的占用以及对处理器负载的消耗。由于内存的占用、处理器负载的消耗均降低,因此可以在进行特效图像渲染时,提升游戏图像帧率、降低游戏功耗。
83.其中,如果游戏的运行帧率未达到终端设备的最大帧率,通过本技术的特效优化方法,能够有效的提高游戏运行帧率,同时可能降低游戏功耗。如果游戏的运行帧率已达到终端设备的最大帧率,通过本技术的特效优化方法,能够有效的降低游戏功耗,从而有效延
长终端设备上游戏持续以终端设备的最大帧率运行的时长。
84.在一种可能的实现方式中,所述特效纹理包括泛光特效纹理、阴影特效纹理中的至少一种。
85.泛光特效、阴影特效是游戏图像所使用的常见特效,因此本技术实施例的特效优化方法也主要针对这两种特效纹理的获取方式进行优化。本领域技术人员应理解,本技术实施例的特效优化方法所支持优化的特效纹理应不限于此,只要是游戏图像或其他图像所使用的特效纹理都在本技术实施例的特效优化方法所支持优化的范围内,本技术对此不作限制。
86.下面分别对步骤s1、步骤s2、步骤s3的示例性实现方式进行描述。
87.在一种可能的实现方式中,步骤s1,包括:
88.拦截来自应用程序的所述渲染指令;
89.针对所述渲染指令中的每条指令,分析该条指令的参数、类型及该条指令所处的指令段的语义中的至少一种;
90.根据分析的结果,确定所述渲染指令的用途。
91.通过这种方式,可以确定渲染指令是否为用于获得多帧图像、且多帧图像包括特效纹理的指令,从而能确定渲染指令是否是用于渲染特效场景,完成特效场景的识别。并且,渲染指令中有多种数据可供分析确定渲染指令的用途,可以提升确定渲染指令的用途的方式的灵活性。
92.举例来说,拦截的来自应用程序的渲染指令,可以包括opengl渲染指令、opengles渲染指令、vulkan渲染指令等等。执行渲染指令所完成的工作的示例,可以参考上文图3a及相关描述中的在各渲染通道中所完成的工作。
93.例如,假定游戏系统渲染得到的第n帧图像及之后的图像是包括阴影特效和泛光特效的图像,那么游戏系统对第n帧图像做渲染时,产生的渲染指令的语义可以是先创建多个渲染通道用于得到阴影特效纹理,之后根据游戏逻辑依次创建多个渲染通道分别用于得到主场景纹理(也可以称为非特效纹理)和泛光特效纹理,最终将阴影特效纹理、主场景纹理和泛光特效纹理采样到显示缓冲区,并且在显示缓冲区完成第n帧图像的绘制。在未执行步骤s2和步骤s3之前,对于第n 1帧图像及之后的图像,游戏系统的渲染流程操作与第n帧可以相同,都是按照游戏逻辑依次绘制阴影特效纹理、主场景纹理和泛光特效纹理,最终采样到显示缓冲区上,在显示缓冲区绘制出完整图像。
94.针对拦截的渲染指令中的每条指令,可以通过分析该条指令的参数、类型以及该条指令所处的指令段的语义中的至少一种,来确定每条指令的用途。其中,指令的参数可以指示渲染通道中得到的纹理的分辨率,指令的类型可以指示执行该指令时所涉及的对象,例如具体的第一中间纹理或者第二中间纹理或者第三中间纹理和第一中间纹理等等,指令所处的指令段的语义可以指示当前指令段在执行时是完成哪一渲染通道的采样过程。以泛光特效纹理的获得过程为例,一般泛光特效的纹理是通过几个分辨率成比例的纹理依次采样实现的,其中每个渲染通道可对应一次采样,因此可根据分辨率的大小来识别泛光特效纹理。也就是说,如果分析的结果是渲染指令中的多条指令指示的多个纹理的分辨率的关系满足泛光特效纹理的规律(按照分辨率大小排序后,每相邻两个纹理的分辨率呈同样的比例),可以确定渲染指令的用途是用于获得多帧图像、且多帧图像包括泛光特效纹理。
95.在此以通过分析渲染指令的参数得到分析结果、以确定渲染指令的用途作为示例。本领域技术人员应理解,分析渲染指令的类型或者分析渲染指令的语义也可以确定渲染指令的用途,只要能够通过对渲染指令进行分析确定分析结果是否满足某种特效纹理的规律即可,本技术对于确定渲染指令的用途的具体实现方式不作限制。
96.在一种可能的实现方式中,步骤s2中,选取所述多帧图像中的相邻两帧图像,包括:
97.选取所述多帧图像中的前两帧图像作为所述相邻两帧图像。
98.通过这种方式,使得多帧图像中能够有机会实现特效纹理复用的图像更多,可以进一步提升特效优化方法提升游戏图像帧率、降低设备功耗的效果。
99.举例来说,步骤s2中,选取多帧图像中的相邻两帧图像的目的是识别相邻两帧图像的特效纹理的相似度,且进一步地,在步骤s3中,在相似度满足条件时,将相邻两帧图像中的后一帧图像的特效纹理作为相邻两帧图像的下一帧图像的特效纹理,使得不必采用渲染通道得到相邻两帧图像的下一帧图像的特效纹理。因此,若选取的相邻两帧图像的下一帧图像的特效纹理已经通过渲染通道的方式得到,那么步骤s2和步骤s3的执行对于游戏系统的功耗及内存的降低将并无作用。基于此,相邻两帧图像的选取条件可以是:游戏系统尚未获得相邻两帧图像的下一帧图像的特效纹理。在此基础上,在开始执行本技术实施例的特效优化方法时,选取多帧图像中的前两帧图像(例如第n帧图像和第n 1帧图像)作为相邻两帧图像,那么多帧图像中的第3帧图像(例如第n 2帧图像)及之后的图像均有机会不采用渲染通道得到对应的特效纹理,这种方式对于特效优化方法的效果的提升,即对于游戏系统的功耗及内存的降低、对于帧率的提升是比较大的。
100.本领域技术人员应理解,步骤s2中,选取多帧图像中的相邻两帧图像,也可以是选择多帧图像中处于预设位置的两帧图像处选取,例如第n 5帧和第n 6帧图像。这种方式使得执行本技术实施例的特效优化方法所需要的数据处理成本较低。本技术对于步骤s2中相邻两帧图像的选取方式不作限制。
101.在一种可能的实现方式中,步骤s2中,识别所述相邻两帧图像的特效纹理的相似度,包括:
102.对比确定所述相邻两帧图像的特效纹理的灰度差异值;
103.根据所述灰度差异值确定所述相邻两帧图像的特效纹理的相似度数值。
104.特效纹理的灰度值是比较容易获取的,通过这种方式,使得确定相邻两帧图像的特效纹理的相似度的实现方式更简单、使得特效优化方法的效率更高。
105.举例来说,假定选取多帧图像中的前两帧图像(例如第n帧图像和第n 1帧图像)作为相邻两帧图像,则步骤s2要识别的是第n帧图像的特效纹理和第n 1帧图像的特效纹理的相似度。其中,能够进行对比识别的特效纹理可以是同种类型的特效纹理,例如均为阴影特效纹理或者均为泛光特效纹理。确定相似度的一种示例性方式是,对第n帧图像的特效纹理与第n 1帧图像的特效纹理的y分量值(即灰度值)进行y-diff检测。y-diff检测可以基于现有技术来实现。y-diff检测的结果即第n帧图像的特效纹理与第n 1帧图像的特效纹理的灰度差异值。该灰度差异值可以作为第n帧图像的特效纹理与第n 1帧图像的特效纹理的相似度数值,用于判断第n 1帧图像的后一帧图像是否能够复用第n 1帧图像的特效纹理。在此情况下,相似度数值越小时,指示第n帧图像的特效纹理与第n 1帧图像的特效纹理的相似
程度越大。
106.在一种可能的实现方式中,所述条件包括:
107.所述相邻两帧图像的特效纹理的相似度数值低于第一阈值。
108.通过设置相邻两帧图像的特效纹理的相似度数值低于第一阈值的条件,使得相似度满足条件时是可以确定图像中对象是无运动或者运动幅度较低的,从而能保证将相邻两帧图像中的后一帧图像的特效纹理作为相邻两帧图像的下一帧图像的特效纹理,对相邻两帧图像的下一帧图像的准确度的影响很小,进而保证图像渲染的质量。
109.由上文描述可知,以灰度差异值作为相邻两帧图像的特效纹理的相似度数值时,相似度数值越小指示相邻两帧图像的特效纹理的相似程度越大,因此,可以预先设置第一阈值,使得相似度数值低于第一阈值作为步骤s3中的条件。在此情况下,满足条件的相似度数值指示的相邻两帧图像的特效纹理的相似程度是比较大的,可以认为相邻两帧图像以及该相邻两帧图像的下一帧图像中的对象运动幅度均较小,可以使用相邻两帧图像的后一帧图像(例如第n 1帧图像)的特效纹理作为相邻两帧图像的下一帧图像(例如第n 2帧图像)的特效纹理,即相邻两帧图像的下一帧图像复用相邻两帧图像的后一帧图像的特效纹理。其中,在特效纹理包括两种类型以上时,相邻两帧图像的下一帧图像可以分别复用相邻两帧图像的后一帧图像的各类型的特效纹理。
110.本领域技术人员应理解,相似度数值也可以采用其他方式来获取,例如通过神经网络等方式对两张纹理的相似程度进行检测,本技术对此不作限制。需要注意的是,若相似度数值越小时指示两帧纹理的相似程度越大,则可以设置相邻两帧图像的特效纹理的相似度数值低于第一阈值作为步骤s3中的条件;反之,若相似度数值越小时指示两帧纹理的相似程度越小,则可以设置相邻两帧图像的特效纹理的相似度数值高于第二阈值作为步骤s3中的条件。条件的具体设置方式可以根据相似度数值与相似程度的关系进行调整,本技术对此不作限制。第一阈值(或第二阈值)可以根据终端设备的硬件条件以及用户需求预先设置,本技术对于第一阈值(或第二阈值)的具体数值的选取不作限制。
111.在一种可能的实现方式中,确定所述相似度满足条件时,所述方法还包括:
112.将所述相邻两帧图像中的后一帧图像的特效纹理采样至显示缓冲区;
113.在所述显示缓冲区中,所述相邻两帧图像中的后一帧图像的特效纹理和所述相邻两帧图像的下一帧图像的主场景纹理用于渲染得到所述相邻两帧图像的下一帧图像。
114.通过这种方式,可以在不采用渲染通道得到相邻两帧图像的下一帧图像的特效纹理时,完成相邻两帧图像的下一帧图像的渲染。使得相邻两帧图像的下一帧图像可以正常显示,不影响用户游戏体验。
115.举例来说,由上文描述可知,每一帧图像对应的特效纹理都被采样至显示缓冲区,在显示缓冲区上与该一帧图像对应的主场景纹理进行叠加绘制,最终得到在可以在显示器上显示的该一帧图像。在相似度满足条件时,相邻两帧图像中的后一帧图像(例如第n 1帧图像)的特效纹理作为相邻两帧图像的下一帧图像(例如第n 2帧图像)的特效纹理,因此,将相邻两帧图像的下一帧图像(例如第n 2帧图像)对应的特效纹理采样至显示缓冲区时,可以是将相邻两帧图像中的后一帧图像(例如第n 1帧图像)的特效纹理采样至显示缓冲区;在显示缓冲区中,相邻两帧图像的下一帧图像(例如第n 2帧图像)的特效纹理与该一帧图像对应的主场景纹理进行叠加绘制,可以是相邻两帧图像中的后一帧图像(例如第n 1帧
图像)的特效纹理和相邻两帧图像的下一帧图像(例如第n 2帧图像)的主场景纹理共同叠加绘制,渲染得到相邻两帧图像的下一帧图像(例如第n 2帧图像)。
116.在一种可能的实现方式中,确定所述相似度满足条件时,所述方法还包括:
117.拦截所述渲染指令中,用于创建渲染通道以获得所述相邻两帧图像的下一帧图像的特效纹理的渲染指令,以使拦截的指令不传递至所述渲染指令的执行对象。
118.通过这种方式,一方面可以减少渲染多帧图像的过程中所创建的渲染通道的数量,实现降低内存带宽的效果,另一方面,可以跳过不必要的、重复的、差别微小的与特效纹理的获得相关的绘制命令的提交,实现降低处理器负载的效果。
119.举例来说,由上文描述可知,相似度满足条件时,可以直接将相邻两帧图像中的后一帧图像(例如第n 1帧图像)的特效纹理作为相邻两帧图像的下一帧图像(例如第n 2帧图像)的特效纹理,并采样至显示缓冲区,与相邻两帧图像的下一帧图像(例如第n 2帧图像)的主场景纹理共同得到相邻两帧图像的下一帧图像(例如第n 2帧图像)。因此,原本的渲染指令中、用于创建渲染通道以渲染得到相邻两帧图像的下一帧图像(例如第n 2帧图像)的特效纹理的渲染指令可以不必执行。在此情况下,该部分指令可以拦截下来,使其不传递至渲染指令的执行对象(本技术实施例中是图形处理器)。相应地,对应于该部分指令的绘制命令也不需提交给其执行对象(本技术实施例中是图形处理器和中央处理器)。在系统架构的层次上,表现为在渲染第n 2帧图像时,在特效优化框架层截取用于创建渲染通道以获得第n 2帧图像的特效纹理的渲染指令并全部跳过,即省略与第n 2帧图像的特效纹理相关的渲染通道创建切换的步骤。
120.在相似度满足条件时,直接将相邻两帧图像中的后一帧图像(例如第n 1帧图像)的特效纹理作为相邻两帧图像的下一帧图像(例如第n 2帧图像)的特效纹理,相当于完成了一次特效纹理复用。对于第n 2帧之后的图像,可以继续通过相邻两帧图像的选取、特效纹理的相似度的识别、相似度是否满足条件的判断来完成更多次的特效纹理复用。由于相似度的识别通过对相邻两帧图像的特效纹理的灰度值进行y-diff检测来实现,且第n 1帧图像和第n 2帧图像的特效纹理是完全一样的,即第n 1帧图像和第n 2帧图像的特效纹理的y-diff检测结果恒为0,所以在相似度满足条件时选取第n 1帧图像和第n 2帧图像作为相邻两帧图像是无意义的。因此,可选地,相邻两帧图像的选取条件还可以包括:被选取的相邻两帧图像中至少一帧图像的特效纹理是通过渲染通道得到。例如继续选取相邻两帧图像时,可以选取第n 2帧图像和第n 3帧图像(第n 2帧图像的特效纹理是通过复用得到,第n 3帧图像的特效纹理是通过渲染通道得到)作为相邻两帧图像,再基于第n 2帧图像和第n 3帧图像进行特效纹理的相似度的识别、相似度是否满足条件的判断。以此类推,每完成一次特效纹理复用之后,相邻两帧图像的选取、特效纹理的相似度的识别、相似度是否满足条件的判断可以随之进行,从而能实现多帧图像的特效纹理的多次复用。
121.在一种可能的实现方式中,确定所述相似度不满足条件时,所述方法还包括:
122.重复执行选取所述多帧图像中的相邻两帧图像及之后的步骤;
123.其中,重复执行选取所述多帧图像中的相邻两帧图像的步骤时,以前次选取的相邻两帧图像中的后一帧图像和该相邻两帧图像的下一帧图像作为新选取的相邻两帧图像。
124.通过这种方式,使得相似度不满足条件时是可以确定图像中对象是运动幅度较大的,可以继续对后续的图像进行特效纹理相似度比对,直到相似度满足条件时确定图像中
对象无运动或者运动幅度较小,再执行特效纹理的复用,进一步保证图像渲染的质量。
125.举例来说,以通过y-diff检测的方式确定相似度、步骤s3的条件是相邻两帧图像的特效纹理的相似度数值低于第一阈值为例,y-diff检测的结果即相似度数值若高于或等于第一阈值,则相似度不满足条件,可以认为相邻两帧图像以及该相邻两帧图像的下一帧图像中的对象运动幅度可能较大,可以继续采用现有技术的渲染通道的方式获取相邻两帧图像的下一帧图像,此时所述渲染指令中、用于创建渲染通道以获得相邻两帧图像的下一帧图像的特效纹理的渲染指令,依旧传递给渲染指令的执行对象。以保证游戏系统得到的相邻两帧图像的下一帧图像的特效纹理的准确度。
126.在此情况下,可以重复执行选取多帧图像中的相邻两帧图像及之后的步骤,即重复执行步骤s2和步骤s3。其中,重复执行选取多帧图像中的相邻两帧图像的步骤时,以前次选取的相邻两帧图像中的后一帧图像和该相邻两帧图像的下一帧图像作为新选取的相邻两帧图像。原因在于,前次执行步骤s2选取相邻两帧图像(例如第n帧图像和第n 1帧图像)之后,由于相似度不满足条件,因此已经采用现有技术的方式得到了的相邻两帧图像的下一帧图像(例如第n 2帧图像)。此时游戏系统尚未获得的图像更新为第n 3帧图像,即第n 1帧图像和第n 2帧图像的下一帧图像。根据上文中的相邻两帧图像的选取条件(被选取的相邻两帧图像的下一帧图像的特效纹理尚未获得),新选取的相邻两帧图像可以包括前次选取的相邻两帧图像中的后一帧图像(例如第n 1帧图像)和该相邻两帧图像的下一帧图像(例如第n 2帧图像)。重复执行步骤s2和步骤s3的方式可以参见上文中的描述,在此不再赘述。
127.图6示出根据本技术实施例的特效优化方法的一个应用示例。
128.如图6所示,游戏系统中,应用程序(1001)可以是安卓平台的游戏应用,相应地,系统框架(1002)可以是安卓框架。游戏应用加载安卓框架、特效优化框架后,首先执行步骤s1,完成渲染指令的获取(即指令拦截)以及渲染指令用途的识别(即指令分析和场景识别)。假设图6的示例中,获取的渲染指令对应的渲染流程例如图3a所示,通过4个渲染通道进行分辨率成比例的采样,最终得到泛光特效纹理。则执行步骤s1可例如通过渲染指令的参数所指示的分辨率识别出是特效图像的渲染场景,即渲染指令用于获得多帧图像、且多帧图像包括特效纹理。
129.假定渲染指令指示从第n帧开始进行特效渲染,且渲染指令用于获得多帧图像、多帧图像包括特效纹理,则渲染指令开始执行时,游戏系统可先通过渲染通道渲染的方式得到第n帧图像和第n 1帧图像,并暂不通过渲染通道渲染的方式得到第n 2帧图像。在此情况下,执行步骤s2,可选取第n帧图像和第n 1帧图像作为多帧图像中的相邻两帧图像,并识别相邻两帧图像的特效纹理的相似度(即特效相似度比对)。其中,相邻两帧图像即第n帧图像和第n 1帧图像的特效纹理,可以在通过渲染通道渲染的方式得到第n帧图像和第n 1帧图像的过程中分别获得。特效相似度比对的方式可以是y-diff检测,以y-diff检测的结果作为相似度数值。例如第n帧图像的泛光特效纹理为texture1,第n 1帧图像的泛光特效纹理为texture2,通过y-diff检测得到纹理texture1和texture2的y分量(即灰度值)的差异值,作为相似度数值。
130.识别得到相邻两帧图像即第n帧图像和第n 1帧图像的特效纹理的相似度之后,可以执行步骤s3,在相似度满足条件时,例如相似度数值低于第一阈值时,跳过原本用于得到
第n 2帧图像的泛光特效纹理的渲染指令及其相关的绘制命令,将相邻两帧图像中的后一帧图像即第n 1帧图像的特效纹理,作为相邻两帧图像的下一帧图像即第n 2帧图像的特效纹理(即特效优化)。否则,仍旧通过渲染通道渲染的方式得到第n 2帧图像的特效纹理。第n 2帧图像的特效纹理采样到显示缓冲区上,与采样到显示缓冲区的主场景纹理叠加绘制,来完成第n 2帧图像的渲染。
131.在相似度不满足条件时,重新执行选取多帧图像中的相邻两帧图像及之后的步骤,例如选取第n 1帧图像和第n 2帧图像作为新选取的相邻两帧图像,并针对新选取的相邻两帧图像进行特效相似度比对以及特效优化(即重复执行步骤s2和步骤s3)。
132.完成特效优化之后,调用驱动(对应于图4中的驱动1004)将渲染指令转换成硬件gpu指令,提交到gpu(对应于图4中的图形处理器1005),由gpu完成渲染任务。
133.图7a和图7b分别示出现有技术一和根据本技术实施例得到第n 2帧图像时创建的渲染通道的示意图。
134.根据图7a和图7b可以看出,相比现有技术一的方案,本技术实施例的特效优化方法可以减少渲染通道的数量(减少的部分例如是图7a方框中的渲染通道)。因此,本技术实施例的特效优化方法在内存重度负载的场景下能够大幅降低内存带宽消耗,同时可以跳过部分帧图像的绘制命令和与用于创建渲染通道以获得特效纹理的渲染指令的提交,减少处理器负载,达到提高游戏性能和降低片上系统功耗的效果。根据测试,在一些游戏的高清画质下,本技术实施例的特效优化方法在不同游戏场景的收益约为使游戏帧率提高3-5帧,使游戏功耗降低30-80ma。
135.图8示出根据本技术实施例的特效优化装置的示例性结构示意图。
136.如图8所示,本技术提供了一种特效优化装置,所述装置包括:
137.用途识别模块101,用于获取渲染指令并识别所述渲染指令的用途;
138.纹理识别模块102,用于在所述渲染指令用于获得多帧图像、且所述多帧图像包括特效纹理时,选取所述多帧图像中的相邻两帧图像,识别所述相邻两帧图像的特效纹理的相似度;
139.纹理复用模块103,用于确定所述相似度满足条件时,将所述相邻两帧图像中的后一帧图像的特效纹理作为所述相邻两帧图像的下一帧图像的特效纹理。
140.在一种可能的实现方式中,获取渲染指令并识别所述渲染指令的用途,包括:拦截来自应用程序的所述渲染指令;针对所述渲染指令中的每条指令,分析该条指令的参数、类型及该条指令所处的指令段的语义中的至少一种;根据分析的结果,确定所述渲染指令的用途。
141.在一种可能的实现方式中,识别所述相邻两帧图像的特效纹理的相似度,包括:对比确定所述相邻两帧图像的特效纹理的灰度差异值;根据所述灰度差异值确定所述相邻两帧图像的特效纹理的相似度数值。
142.在一种可能的实现方式中,所述条件包括:所述相邻两帧图像的特效纹理的相似度数值低于第一阈值。
143.在一种可能的实现方式中,选取所述多帧图像中的相邻两帧图像,包括:选取所述多帧图像中的前两帧图像作为所述相邻两帧图像。
144.在一种可能的实现方式中,确定所述相似度满足条件时,所述装置还包括:采样模
块,用于将所述相邻两帧图像中的后一帧图像的特效纹理采样至显示缓冲区;在所述显示缓冲区中,所述相邻两帧图像中的后一帧图像的特效纹理和所述相邻两帧图像的下一帧图像的主场景纹理用于渲染得到所述相邻两帧图像的下一帧图像。
145.在一种可能的实现方式中,确定所述相似度满足条件时,所述装置还包括:指令拦截模块,用于拦截所述渲染指令中,用于创建渲染通道以获得所述相邻两帧图像的下一帧图像的特效纹理的渲染指令,以使拦截的指令不传递至所述渲染指令的执行对象。
146.在一种可能的实现方式中,确定所述相似度不满足条件时,所述装置重复执行纹理识别模块及之后的模块的功能;其中,纹理识别模块重复执行选取所述多帧图像中的相邻两帧图像的步骤时,以前次选取的相邻两帧图像中的后一帧图像和该相邻两帧图像的下一帧图像作为新选取的相邻两帧图像。
147.在一种可能的实现方式中,所述特效纹理包括泛光特效纹理、阴影特效纹理中的至少一种。
148.图9示出根据本技术实施例的特效优化装置的示例性结构示意图。
149.如图9所示,本技术的实施例提供了一种特效优化装置,包括:处理器以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述方法。
150.特效优化装置可以设置在电子设备中,可以包括手机、可折叠电子设备、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、有屏音箱、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、增强现实(augmented reality,ar)设备、虚拟现实(virtual reality,vr)设备、人工智能(artificial intelligence,ai)设备、无人机、车载设备、智能家居设备、或智慧城市设备中的至少一种。本技术实施例对该特效优化装置的具体类型不作特殊限制。
151.特效优化装置可以包括处理器110,内部存储器121,通信模块160等。
152.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,处理器110可执行本技术实施例的y-diff检测等,以实现本技术实施例的特效优化方法。
153.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器可以为高速缓冲存储器。该存储器可以保存处理器110用过或使用频率较高的指令或数据,例如本技术实施例中的渲染指令和特效纹理等。如果处理器110需要使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
154.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,通用输入输出(general-purpose input/output,gpio)接口等。处理器110可以通过以上至少一种接口连接无线通信模块、显示器、摄像头等模块。
155.存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如识别渲染指令的用途的应用程序等)等。存储数据区可存储特效优化装置的使用过程中所创建的数据(比如特效纹理等)等。此外,存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。处理器110通过运行存储在存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行特效优化装置的各种功能方法或数据处理。
156.通信模块160可以用于通过有线通信或者无线通信的方式接收来自其他装置或设备(例如本技术实施例中的应用程序1001)的数据,或者发送数据到其他装置或设备(例如本技术实施例中的图形处理器1005)。例如可以提供应用在特效优化装置上的包括wlan(如wi-fi网络)、蓝牙(bluetooth,bt)、全球导航卫星系统(global navigation satellite system,gnss)、调频(frequency modulation,fm)、近距离无线通信技术(near field communication,nfc)、红外技术(infrared,ir)等无线通信的j9九游会真人的解决方案。在特效优化装置连接其他装置或设备时,通信模块160也可以使用有线通信方案。
157.可以理解的是,本技术实施例示意的结构并不构成对特效优化装置的具体限定。在本技术另一些实施例中,特效优化装置可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
158.本技术的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
159.本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
160.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可擦式可编程只读存储器(electrically programmable read-only-memory,eprom或闪存)、静态随机存取存储器(static random-access memory,sram)、便携式压缩盘只读存储器(compact disc read-only memory,cd-rom)、数字多功能盘(digital video disc,dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
161.这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
162.用于执行本技术操作的计算机程序指令可以是汇编指令、指令集架构(instruction set architecture,isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(local area network,lan)或广域网(wide area network,wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(field-programmable gate array,fpga)或可编程逻辑阵列(programmable logic array,pla),该电子电路可以执行计算机可读程序指令,从而实现本技术的各个方面。
163.这里参照根据本技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本技术的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
164.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
165.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
166.附图中的流程图和框图显示了根据本技术的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
167.也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或asic(application specific integrated circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
168.尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实
现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
169.以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
当前第1页1  
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
网站地图