帧率调整方法、装置、终端设备及存储介质转让专利

申请号 : CN201810259709.1

文献号 : CN108712556B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 冷文华

申请人 : OPPO广东移动通信有限公司

摘要 :

本申请实施例公开了一种帧率调整方法、装置、终端设备及存储介质,该方法包括获取应用程序推送的当前帧图像以及历史帧图像;确定所述当前帧图像和所述历史帧图像的图像变化量,所述图像变化量包括几何体变化量、位移变化量和缩放变化量中的至少一种;如果所述图像变化量满足预设条件,则丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示,所述更新帧率小于所述当前帧图像的原始帧率,显著降低了终端设备的功耗,同时不影响终端设备的运行效率及功能使用。

权利要求 :

1.帧率调整方法,其特征在于,包括:

获取应用程序推送的当前帧图像以及历史帧图像;

判断所述历史帧图像中的图像绘制帧率是否大于帧率阈值,如果是,则确定所述当前帧图像和所述历史帧图像的图像变化量,所述图像变化量包括几何体变化量、位移变化量和缩放变化量中的至少一种;

如果各所述图像变化量小于各自的预设阈值,则判断所述当前帧图像的上一帧图像是否丢弃或降低帧率进行了图像绘制显示;

若否,则丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示,所述更新帧率小于所述当前帧图像的原始帧率,其中,所述更新帧率是将所述原始帧率乘以固定系数或是减去固定值后得到的;否则,按照所述当前帧图像的原始帧率进行图像绘制。

2.根据权利要求1所述的方法,其特征在于,所述确定所述当前帧图像和所述历史帧图像的图像变化量包括:判断所述应用程序是否为预设名单中的应用程序,或判断所述应用程序的显示图像是否通过openGL进行渲染,如果是,则确定所述当前帧图像和所述历史帧图像的图像变化量。

3.根据权利要求1-2中任一项所述的方法,其特征在于,所述图像变化量包括几何体变化量、位移变化量和缩放变化量,所述各所述图像变化量小于各自的预设阈值包括:所述几何体变化量、所述位移变化量和所述缩放变化量均小于各自的预设阈值。

4.根据权利要求3所述的方法,其特征在于,所述获取应用程序推送的当前帧图像以及历史帧图像包括:获取应用程序推送的当前帧图像以及所述当前帧图像之前一帧的图像数据;相应的,所述确定所述当前帧图像和所述历史帧图像的图像变化量包括:确定所述当前帧图像和所述当前帧图像之前一帧的图像数据的图像变化量。

5.根据权利要求3所述的方法,其特征在于,所述将所述当前帧图像按照更新帧率进行显示包括:将所述当前帧图像的帧率调整为原始帧率的一半;

根据调整后的帧率绘制当前帧图像。

6.帧率调整装置,其特征在于,包括:

图像获取模块,用于获取应用程序推送的当前帧图像以及历史帧图像;

变化量确定模块,用于判断所述历史帧图像中的图像绘制帧率是否大于帧率阈值,如果是,则确定所述当前帧图像和所述历史帧图像的图像变化量,所述图像变化量包括几何体变化量、位移变化量和缩放变化量中的至少一种;

帧率调整模块,用于如果各所述图像变化量小于各自的预设阈值,则判断所述当前帧图像的上一帧图像是否丢弃或降低帧率进行了图像绘制显示;

若否,则丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示,所述更新帧率小于所述当前帧图像的原始帧率,其中,所述更新帧率是将所述原始帧率乘以固定系数或是减去固定值后得到的;否则,按照所述当前帧图像的原始帧率进行图像绘制。

7.一种终端设备,包括:处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的帧率调整方法。

8.一种包含终端设备可执行指令的存储介质,其特征在于,所述终端设备可执行指令在由终端设备处理器执行时用于执行如权利要求1-5中任一项所述的帧率调整方法。

说明书 :

帧率调整方法、装置、终端设备及存储介质

技术领域

[0001] 本申请实施例涉及计算机技术,尤其涉及一种帧率调整方法、装置、终端设备及存储介质。

背景技术

[0002] 随着终端设备普及程度的提高,越来越多的用户使用终端设备执行各种各样的功能以满足自身需求,如依托于强大的硬件处理能力以及通畅的网络环境进行游戏娱乐。随着终端设备功能的不断强大,用户在使用这些功能时也导致了终端设备耗电量过快,使得用户需要频繁的对终端设备进行充电。
[0003] 现有技术中,终端设备可通过降低屏幕亮度、数据处理速度以降低电量消耗,但是此种方式牺牲了终端设备的部分性能,使得终端设备运行效率降低,存在缺陷,需要改进。

发明内容

[0004] 本发明提供了一种帧率调整方法、装置、终端设备及存储介质,显著降低了终端设备的功耗,同时不影响终端设备的运行效率及功能使用。
[0005] 第一方面,本申请实施例提供了一种帧率调整方法,包括:
[0006] 获取应用程序推送的当前帧图像以及历史帧图像;
[0007] 确定所述当前帧图像和所述历史帧图像的图像变化量,所述图像变化量包括几何体变化量、位移变化量和缩放变化量中的至少一种;
[0008] 如果所述图像变化量满足预设条件,则丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示,所述更新帧率小于所述当前帧图像的原始帧率。
[0009] 第二方面,本申请实施例还提供了一种帧率调整装置,包括:
[0010] 图像获取模块,用于获取应用程序推送的当前帧图像以及历史帧图像;
[0011] 变化量确定模块,用于确定所述当前帧图像和所述历史帧图像的图像变化量,所述图像变化量包括几何体变化量、位移变化量和缩放变化量中的至少一种;
[0012] 帧率调整模块,用于如果所述图像变化量满足预设条件,则丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示,所述更新帧率小于所述当前帧图像的原始帧率。
[0013] 第三方面,本申请实施例还提供了一种终端设备,包括:处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的帧率调整方法。
[0014] 第四方面,本申请实施例还提供了一种包含终端设备可执行指令的存储介质,所述终端设备可执行指令在由终端设备处理器执行时用于执行本申请实施例所述的帧率调整方法。
[0015] 本方案中,获取应用程序推送的当前帧图像以及历史帧图像,确定所述当前帧图像和所述历史帧图像的图像变化量,所述图像变化量包括几何体变化量、位移变化量和缩放变化量中的至少一种,如果所述图像变化量满足预设条件,则丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示,所述更新帧率小于所述当前帧图像的原始帧率,显著降低了终端设备的功耗,同时不影响终端设备的运行效率及功能使用。

附图说明

[0016] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0017] 图1是本申请实施例提供的一种帧率调整方法的流程图;
[0018] 图2是本申请实施例提供的一种设置图像变化量阈值的示意图;
[0019] 图3是本发明实施例提供的另一种帧率调整方法的流程图;
[0020] 图4是本发明实施例提供的另一种帧率调整方法的流程图;
[0021] 图5是本申请实施例提供的另一种帧率调整方法的流程图;
[0022] 图6是本申请实施例提供的另一种帧率调整方法的流程图;
[0023] 图7是本申请实施例提供的另一种帧率调整方法的流程图;
[0024] 图8是本申请实施例提供的一种帧率调整装置的结构框图;
[0025] 图9是本申请实施例提供的一种终端设备的结构示意图。

具体实施方式

[0026] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0027] 图1是本申请实施例提供的一种帧率调整方法的流程图,可适用于对终端设备运行的应用程序的显示图像帧率进行刷新调整,该方法可以由本申请实施例提供的终端设备来执行,该终端设备的帧率调整装置可采用软件和/或硬件的方式实现,如图1所示,本实施例提供的具体方案如下:
[0028] 步骤S101、获取应用程序推送的当前帧图像以及历史帧图像。
[0029] 其中,应用程序为终端设备中安装的应用,可以是游戏类应用程序、直播类应用程序或其它对图像显示要求较高的应用程序。帧图像是一幅静止的图像画面,帧为图像动画中最小单位的单幅图像画面。当前帧图像为终端设备显示单元即将显示的帧图像,历史帧图像为终端设备显示单元显示已经完毕的帧图像。终端设备运行过程中,如游戏类应用程序在运行时,会始终以较高的帧率(如60Fps)进行图像的刷新显示,在某些情况下并不需要维持如此高帧率进行刷新显示,其带来了较高的资源消耗。
[0030] 应用程序准备待绘制帧数据,准备完毕后推送至CPU(Central Processing Unit,中央处理器)进行控制处理后由GPU(Graphics Processing Unit,图形处理器)进行图像渲染、绘制并最终通过终端设备的显示屏进行显示。本申请中,在经过GPU进行图像绘制之前,对当前帧图像的帧率进行调整。
[0031] 在一个实施例中,获取应用程序推送的当前帧图像,以及绘制显示完毕的历史帧图像,其中该历史帧图像可通过终端设备显示单元推送的数据进行获取,还可通过具备历史图像存储功能的应用程序获取,当前帧图像还可从存储数据池中获得。
[0032] 步骤S102、确定所述当前帧图像和所述历史帧图像的图像变化量。
[0033] 将当前帧图像和历史帧图像进行比对,以确定当前帧图像和历史帧图像的图像变化量,其中,该图像变化量表征了当前帧图像和显示过的历史帧图像的变化程度,在一个实施例中,可以是进行归一化后得到的参量,参量值的范围为0至1。可选的,该图像变化量可以是几何体变化量、位移变化量和缩放变化量中的至少一种,相应的,几何体变化量、位移变化量和缩放变化量均为归一化后得到的参量。其中,几何体作为构成图像画面的基本单元,在获取的当前帧图像和历史帧图像的图像数据中包含有顶点和拓扑边界,由此可确定几何体的坐标和大小,进而归一化处理得到几何体变化量(表征帧图像中几何体的大小、数量的变化);位移变化量确定时,将显示屏的横轴和纵轴分别标定为0至1的坐标系,根据几何体在帧图像画面中的位置映射到该坐标系中,由此可得到顶点坐标在0至1之间的几何体,进而计算几何体的位移变化量(表征帧图像中几何体的位移的变化);缩放变化量确定时,可根据帧图像中几何体的顶点以及拓扑边界确定几何体对应的分辨率,将该分辨率再和整个帧图像的分辨率相处以得到缩放变化量(表征帧图像中几何体的缩放变化)。
[0034] 在一个实施例中,通过图像归一化处理算法得到当前帧图像和历史帧图像的图像变化量,具体可以是:
[0035]
[0036]
[0037]
[0038] 步骤S103、如果所述图像变化量满足预设条件,则丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示。
[0039] 在一个实施例中,图像变化量满足的预设条件可以是图像变化量小于预设阈值,其中,该预设阈值可以是所有应用程序使用的统一的默认阈值,还可以是根据不同应用程序的图像显示特点单独设置的阈值,举例而言,对于图像变化频繁、场景切换较多的应用程序,设置的预设阈值可以相对较小,对于图像变化不频繁,即静态场景居多的应用程序,其设置的预设阈值可相对较大。可选的,当该图像变化量仅为一种变化参量时(如几何体变化量、位移变化量和缩放变化量中的任意一种),仅计算该变化参量是否小于其预设阈值;如果该图像变化量包括其中任意两种或三种都包括,则满足预设条件为每类变化参量均小于各自的预设阈值。示例性的,如图2所示,图2是本申请实施例提供的一种设置图像变化量阈值的示意图,图像变化量包括几何体变化量、位移变化量和缩放变化量三种,相应的,各自对应的阈值依次设置为0.5、0.32和0.48,当确定出的当前帧图像和历史帧图像的几何体变化量小于0.5,位移变化量小于0.32同时缩放变化量小于0.48时,执行:丢弃当前帧图像或将当前帧图像按照更新帧率进行显示。
[0040] 其中,该更新的帧率小于当前帧图像的原始帧率,如当前帧的原始帧率为60Fps则该更新帧率可以是30Fps。示例性的,当采取当前帧图像按照更新帧率进行显示时,可将当前帧图像的原始帧率乘以一固定系数(如0.3、0.5或0.8等)得到更新帧率,依据该更新帧率对当前帧图像进行刷新显示,还可以是将当前帧图像的原始帧率减去固定值(如-20、30或50等)的方式得到更新帧率。其中,丢弃当前帧图像即不对当前帧图像进行渲染、绘制,直接进行跳过,获取下一帧图像并进行相应的类似调整处理。
[0041] 可选的,图3是本发明实施例提供的另一种帧率调整方法的流程图,当图像变化量包括几何体变化量、位移变化量和缩放变化量时,相应的,将当前帧图像和历史帧图像进行比对分别确定几何体变化量、位移变化量和缩放变化量时,其中,如果检测到任意一个变化量不满足条件(即大于或等于对应的预设阈值),则确定为当前不满足帧率调整条件,不进行帧率调整,其余变化量无需确定并进行是否满足条件的判断。具体的:
[0042] 步骤S1011、获取应用程序推送的当前帧图像以及历史帧图像;
[0043] 步骤S1012、确定所述当前帧图像和所述历史帧图像的几何变化量;
[0044] 步骤S1013、判断是否满足第一预设条件(其中第一预设条件可以为:几何变化量小于0.5),如果是,则执行步骤S1014,如果否,则执行步骤S1019;
[0045] 步骤S1014、确定当前帧图像和历史帧图像的位移变化量;
[0046] 步骤S1015、判断是否满足第二预设条件(其中第二预设条件可以为:位移变化量小于0.32),如果是,则执行步骤S1016,如果否,则执行步骤S1019;
[0047] 步骤S1016、确定当前帧图像和历史帧图像的缩放变化量;
[0048] 步骤S1017、判断是否满足第三预设条件(其中第三预设条件可以为:缩放变化量小于0.48),如果是,则执行步骤S1018,如果否,则执行步骤S1019;
[0049] 步骤S1018、丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示。
[0050] 步骤S1019、按照所述当前帧图像的原始帧率进行图像绘制。
[0051] 由上述内容可知,在对应用程序提供的帧图像进行绘制过程中,将当前帧图像和历史帧图像进行比对以合理的降低当前帧图像的帧率或者直接放弃对当前帧图像的绘制,在不影响用户体验以及应用程序性能的前提下,节省了终端设备的功耗。
[0052] 图4是本申请实施例提供的另一种帧率调整方法的流程图,可选的,所述确定所述当前帧图像和所述历史帧图像的图像变化量包括:判断所述应用程序是否为预设名单中的应用程序,或判断所述应用程序的显示图像是否通过openGL进行渲染,如果是,则确定所述当前帧图像和所述历史帧图像的图像变化量。如图4所示,技术方案具体如下:
[0053] 步骤S201、获取应用程序推送的当前帧图像以及历史帧图像。
[0054] 步骤S202、判断所述应用程序是否为预设名单中的应用程序,如果是,则执行步骤S203,如果否,则执行步骤S205。
[0055] 其中,该预设名单的配置方式包括本地配置和在线推送两种方式,本地配置存放在/system/etc/arc.ini目录下面,在线配置存放在/data/system/arc.ini目录下面,优先读取在线配置目录的名单,如果在线配置目录中预设名单不存在,读取本地配置目录下的预设名单,如果本地预设名单有异常,则可直接执行步骤S203或步骤S205。
[0056] 在一个实施例中,该预设名单通过测试确定,具体的,预设名单中的应用程序测试内容包括性能测试、功耗测试以及稳定性测试。其中,性能测试包括在执行本方案的帧率调整方法时,保证应用程序运行无卡顿,其自带的关联应用可正常运行不受本帧率调整方法的影响;功耗测试包括确保终端设备续航、待机不受影响,且预设名单中的应用程序运行过程中在实时本帧率调整方法是节电量明显(如:应用程序纪念谷碑在执行本申请的帧率调整方案时,最大节省88mA电量,节电比例为31%);稳定性测试包括应用程序运行过程中无闪退、重启现象。可选的,预设名单中应用程序在初步筛选时,可将应用商城中公布的Top200应用进行单独测试,以确定预设名单,筛选过程中可同时考量应用程序的静态场景和动态场景比例,对于静态场景比例大于10%的应用程序可例如预设名单中。
[0057] 步骤S203、判断所述应用程序的显示图像是否通过openGL进行渲染,如果是,则执行步骤S204,如果否则执行步骤S205。
[0058] 其中,还可以是判断是否通过Vulkan(跨平台的2D和3D绘图应用程序接口)进行图像渲染绘制,如果是,则执行步骤S204,如果否则执行步骤S205。
[0059] 步骤S204、确定所述当前帧图像和所述历史帧图像的图像变化量,如果所述图像变化量满足预设条件,则丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示。
[0060] 步骤S205、按照所述当前帧图像的原始帧率进行图像绘制。
[0061] 由上述可知,对预设名单中的应用程序或通过特定渲染绘制方式进行图像显示的应用程序进行帧率调整,其中,预设名单中的应用程序经过严格测试选定,在保证应用程序正常运行不影响用户体验的前提下,最大程度的节省终端设备的功耗。
[0062] 图5是本申请实施例提供的另一种帧率调整方法的流程图,可选的,所述确定所述当前帧图像和所述历史帧图像的图像变化量包括:判断所述历史帧图像中的图像绘制帧率是否大于帧率阈值,如果是,则确定所述当前帧图像和所述历史帧图像的图像变化量。如图5所示,技术方案具体如下:
[0063] 步骤S301、获取预设时间段的历史显示帧图像。
[0064] 其中,该预设时间段可以是1秒、2秒或3秒等。
[0065] 步骤S302、判断所述历史显示帧图像中的图像绘制帧率是否大于帧率阈值,如果是,则执行步骤S303,如果否则执行步骤S305。
[0066] 可选的,如果该显示的历史显示帧图像的帧率均大于帧率阈值(如60Fps),则认定其需要通过帧率调整以节约能耗,进而执行步骤S303。
[0067] 步骤S303、获取应用程序推送的当前帧图像以及历史帧图像,确定所述当前帧图像和所述历史帧图像的图像变化量。
[0068] 步骤S304、如果所述图像变化量满足预设条件,则丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示。
[0069] 步骤S305、按照所述当前帧图像的原始帧率进行图像绘制。
[0070] 由上述可知,将连续采用高帧率显示的应用程序显示图像进行帧率调整,以丢弃该帧或降低该帧帧率的方式节省终端设备的功耗。
[0071] 图6是本申请实施例提供的另一种帧率调整方法的流程图,可选的,所述丢弃所述当前帧图像或将所述当前帧图像按照预设帧率进行显示包括:如果检测到所述当前帧图像的上一帧图像未被调整,则丢弃所述当前帧图像或将所述当前帧图像按照预设帧率进行显示。如图6所示,技术方案具体如下:
[0072] 步骤S401、获取应用程序推送的当前帧图像以及历史帧图像。
[0073] 步骤S402、确定所述当前帧图像和所述历史帧图像的图像变化量。
[0074] 步骤S403、判断所述图像变化量是否满足预设条件,如果是,则执行步骤S404,如果否,则执行步骤S406。
[0075] 步骤S404、判断所述当前帧图像的上一帧图像的帧率是否进行了调整,如果否,则执行步骤S405,如果是,则执行步骤S406。
[0076] 其中,判断上一帧图像的帧率是否进行了调整包括上一帧图像是否丢弃或降低帧率进行了图像绘制显示,如果发现上一帧图像已经进行了相应的降帧处理,则不对当前帧图像的帧率进行调整,即执行步骤S406。
[0077] 步骤S405、丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示。
[0078] 步骤S406、按照所述当前帧图像的原始帧率进行图像绘制。
[0079] 由上述可知,在进行图像帧率调整过程中,如果当前帧图像的前一帧已经进行了降低帧率的处理,则为了保证用户的使用体验,当前帧图像按照正常帧率进行绘制,如果前一帧图像没有经过降帧处理,则当前帧图像进行帧率降低调整,在保证了用户体验、应用程序性能的同时降低终端设备的功耗。
[0080] 图7是本申请实施例提供的另一种帧率调整方法的流程图,可选的,所述获取应用程序推送的当前帧图像以及历史帧图像包括:获取应用程序推送的当前帧图像以及所述当前帧图像之前一帧的图像数据;相应的,所述确定所述当前帧图像和所述历史帧图像的图像变化量包括:确定所述当前帧图像和所述当前帧图像之前一帧的图像数据的图像变化量。如图7所示,技术方案具体如下:
[0081] 步骤S501、获取应用程序推送的当前帧图像以及历史帧图像。
[0082] 步骤S502、确定所述当前帧图像和所述当前帧图像之前一帧的图像数据的图像变化量。
[0083] 可选的,在确定图像变化量时可将当前帧图像和历史帧图像中的当前帧图像的上一帧图像进行比对确定图像变化量,还可以是将当前帧图像和历史帧图像中临近的连续N帧图像分别进行比对,其中N可以是2、3、5等,将比对结果求平均值后判断其是否满足预设条件。
[0084] 步骤S503、判断所述图像变化量是否满足预设条件,如果是,则执行步骤S504,如果否,则执行步骤S505。
[0085] 步骤S504、丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示。
[0086] 步骤S505、按照所述当前帧图像的原始帧率进行图像绘制。
[0087] 由上述可知,在当前帧图像和历史帧图像进行图像变化量计算过程中,为提高计算效率,可将当前帧图像和上一帧图像进行比对以快速确定是否需要进行帧率调节,如果为了提高调节效果则可将当前帧图像和历史帧图像中临近的连续几帧图像分别进行比对以更加准确的确定当前帧图像是否需要进行帧率调节,进一步优化了帧率调整方法。
[0088] 图8是本申请实施例提供的一种帧率调整装置的结构框图,该装置用于执行上述实施例提供的帧率调整方法,具备执行方法相应的功能模块和有益效果。如图8所示,该装置具体包括:图像获取模块101、变化量确定模块102和帧率调整模块103,其中,[0089] 图像获取模块101,用于获取应用程序推送的当前帧图像以及历史帧图像。
[0090] 应用程序准备待绘制帧数据,准备完毕后推送至CPU(Central Processing Unit,中央处理器)进行控制处理后由GPU(Graphics Processing Unit,图形处理器)进行图像渲染、绘制并最终通过终端设备的显示屏进行显示。本申请中,在经过GPU进行图像绘制之前,对当前帧图像的帧率进行调整。
[0091] 在一个实施例中,获取应用程序推送的当前帧图像,以及绘制显示完毕的历史帧图像,其中该历史帧图像可通过终端设备显示单元推送的数据进行获取,还可通过具备历史图像存储功能的应用程序获取,当前帧图像还可从存储数据池中获得。
[0092] 变化量确定模块102,用于确定所述当前帧图像和所述历史帧图像的图像变化量,所述图像变化量包括几何体变化量、位移变化量和缩放变化量中的至少一种。
[0093] 将当前帧图像和历史帧图像进行比对,以确定当前帧图像和历史帧图像的图像变化量,其中,该图像变化量表征了当前帧图像和显示过的历史帧图像的变化程度,在一个实施例中,可以是进行归一化后得到的参量,参量值的范围为0至1。可选的,该图像变化量可以是几何体变化量、位移变化量和缩放变化量中的至少一种,相应的,几何体变化量、位移变化量和缩放变化量均为归一化后得到的参量。其中,几何体作为构成图像画面的基本单元,在获取的当前帧图像和历史帧图像的图像数据中包含有顶点和拓扑边界,由此可确定几何体的坐标和大小,进而归一化处理得到几何体变化量(表征帧图像中几何体的大小、数量的变化);位移变化量确定时,将显示屏的横轴和纵轴分别标定为0至1的坐标系,根据几何体在帧图像画面中的位置映射到该坐标系中,由此可得到顶点坐标在0至1之间的几何体,进而计算几何体的位移变化量(表征帧图像中几何体的位移的变化);缩放变化量确定时,可根据帧图像中几何体的顶点以及拓扑边界确定几何体对应的分辨率,将该分辨率再和整个帧图像的分辨率相处以得到缩放变化量(表征帧图像中几何体的缩放变化)。
[0094] 帧率调整模块103,用于如果所述图像变化量满足预设条件,则丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示,所述更新帧率小于所述当前帧图像的原始帧率。
[0095] 在一个实施例中,图像变化量满足的预设条件可以是图像变化量小于预设阈值,其中,该预设阈值可以是所有应用程序使用的统一的默认阈值,还可以是根据不同应用程序的图像显示特点单独设置的阈值,举例而言,对于图像变化频繁、场景切换较多的应用程序,设置的预设阈值可以相对较小,对于图像变化不频繁,即静态场景居多的应用程序,其设置的预设阈值可相对较大。可选的,当该图像变化量仅为一种变化参量时(如几何体变化量、位移变化量和缩放变化量中的任意一种),仅计算该变化参量是否小于其预设阈值;如果该图像变化量包括其中任意两种或三种都包括,则满足预设条件为每类变化参量均小于各自的预设阈值。
[0096] 其中,该更新的帧率小于当前帧图像的原始帧率,如当前帧的原始帧率为60Fps则该更新帧率可以是30Fps。示例性的,当采取当前帧图像按照更新帧率进行显示时,可将当前帧图像的原始帧率乘以一固定系数(如0.3、0.5或0.8等)得到更新帧率,依据该更新帧率对当前帧图像进行刷新显示,还可以是将当前帧图像的原始帧率减去固定值(如-20、30或50等)的方式得到更新帧率。其中,丢弃当前帧图像即不对当前帧图像进行渲染、绘制,直接进行跳过,获取下一帧图像并进行相应的类似调整处理。
[0097] 由上述内容可知,在对应用程序提供的帧图像进行绘制过程中,将当前帧图像和历史帧图像进行比对以合理的降低当前帧图像的帧率或者直接放弃对当前帧图像的绘制,在不影响用户体验以及应用程序性能的前提下,节省了终端设备的功耗。
[0098] 在一个可能的实施例中,所述变化量确定模块102具体用于:
[0099] 判断所述应用程序是否为预设名单中的应用程序,或判断所述应用程序的显示图像是否通过openGL进行渲染,如果是,则确定所述当前帧图像和所述历史帧图像的图像变化量。
[0100] 在一个可能的实施例中,所述变化量确定模块102具体用于:
[0101] 判断所述历史帧图像中的图像绘制帧率是否大于帧率阈值,如果是,则确定所述当前帧图像和所述历史帧图像的图像变化量。
[0102] 在一个可能的实施例中,所述图像变化量包括几何体变化量、位移变化量和缩放变化量,所述图像变化量满足预设条件包括:
[0103] 所述几何体变化量、所述位移变化量和所述缩放变化量均小于或等于各自的预设阈值。
[0104] 在一个可能的实施例中,所述帧率调整模块103具体用于:
[0105] 如果检测到所述当前帧图像的上一帧图像未被调整,则丢弃所述当前帧图像或将所述当前帧图像按照预设帧率进行显示。
[0106] 在一个可能的实施例中,所述图像获取模块101具体用于:
[0107] 获取应用程序推送的当前帧图像以及所述当前帧图像之前一帧的图像数据;所述变化量确定模块102具体用于:
[0108] 确定所述当前帧图像和所述当前帧图像之前一帧的图像数据的图像变化量。
[0109] 在一个可能的实施例中,所述帧率调整模块103具体用于:
[0110] 将所述当前帧图像的帧率调整为原始帧率的一半;
[0111] 根据调整后的帧率绘制当前帧图像。
[0112] 本实施例在上述各实施例的基础上提供了一种终端设备,图9是本申请实施例提供的一种终端设备的结构示意图,如图9所示,该终端设备200包括:存储器201、处理器(Central Processing Unit,CPU)202、外设接口203、RF(Radio Frequency,射频)电路205、音频电路206、扬声器211、电源管理芯片208、输入/输出(I/O)子系统209、触摸屏212、Wifi模块213、其他输入/控制设备210以及外部端口204,这些部件通过一个或多个通信总线或信号线207来通信。
[0113] 应该理解的是,图示终端设备200仅仅是终端设备的一个范例,并且终端设备200可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
[0114] 下面就本实施例提供的用于多开应用的权限管理的终端设备进行详细的描述,该终端设备以智能手机为例。
[0115] 存储器201,所述存储器201可以被CPU202、外设接口203等访问,所述存储器201可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0116] 外设接口203,所述外设接口203可以将设备的输入和输出外设连接到CPU202和存储器201。
[0117] I/O子系统209,所述I/O子系统209可以将设备上的输入输出外设,例如触摸屏212和其他输入/控制设备210,连接到外设接口203。I/O子系统209可以包括显示控制器2091和用于控制其他输入/控制设备210的一个或多个输入控制器2092。其中,一个或多个输入控制器2092从其他输入/控制设备210接收电信号或者向其他输入/控制设备210发送电信号,其他输入/控制设备210可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器2092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
[0118] 触摸屏212,所述触摸屏212是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
[0119] I/O子系统209中的显示控制器2091从触摸屏212接收电信号或者向触摸屏212发送电信号。触摸屏212检测触摸屏上的接触,显示控制器2091将检测到的接触转换为与显示在触摸屏212上的用户界面对象的交互,即实现人机交互,显示在触摸屏212上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
[0120] RF电路205,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路205接收并发送RF信号,RF信号也称为电磁信号,RF电路205将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路205可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
[0121] 音频电路206,主要用于从外设接口203接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器211。
[0122] 扬声器211,用于将手机通过RF电路205从无线网络接收的语音信号,还原为声音并向用户播放该声音。
[0123] 电源管理芯片208,用于为CPU202、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
[0124] 上述实施例中提供的终端设备的帧率调整装置及终端设备可执行本发明任意实施例所提供的终端设备的帧率调整方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的终端设备的帧率调整方法。
[0125] 本申请实施例还提供一种包含终端设备可执行指令的存储介质,所述终端设备可执行指令在由终端设备处理器执行时用于执行一种帧率调整方法,该方法包括:
[0126] 获取应用程序推送的当前帧图像以及历史帧图像;
[0127] 确定所述当前帧图像和所述历史帧图像的图像变化量,所述图像变化量包括几何体变化量、位移变化量和缩放变化量中的至少一种;
[0128] 如果所述图像变化量满足预设条件,则丢弃所述当前帧图像或将所述当前帧图像按照更新帧率进行显示,所述更新帧率小于所述当前帧图像的原始帧率。
[0129] 在一个可能的实施例中,所述确定所述当前帧图像和所述历史帧图像的图像变化量包括:
[0130] 判断所述应用程序是否为预设名单中的应用程序,或判断所述应用程序的显示图像是否通过openGL进行渲染,如果是,则确定所述当前帧图像和所述历史帧图像的图像变化量。
[0131] 在一个可能的实施例中,所述确定所述当前帧图像和所述历史帧图像的图像变化量包括:
[0132] 判断所述历史帧图像中的图像绘制帧率是否大于帧率阈值,如果是,则确定所述当前帧图像和所述历史帧图像的图像变化量。
[0133] 在一个可能的实施例中,所述图像变化量包括几何体变化量、位移变化量和缩放变化量,所述图像变化量满足预设条件包括:
[0134] 所述几何体变化量、所述位移变化量和所述缩放变化量均小于或等于各自的预设阈值。
[0135] 在一个可能的实施例中,所述丢弃所述当前帧图像或将所述当前帧图像按照预设帧率进行显示包括:
[0136] 如果检测到所述当前帧图像的上一帧图像未被调整,则丢弃所述当前帧图像或将所述当前帧图像按照预设帧率进行显示。
[0137] 在一个可能的实施例中,所述获取应用程序推送的当前帧图像以及历史帧图像包括:
[0138] 获取应用程序推送的当前帧图像以及所述当前帧图像之前一帧的图像数据;相应的,所述确定所述当前帧图像和所述历史帧图像的图像变化量包括:
[0139] 确定所述当前帧图像和所述当前帧图像之前一帧的图像数据的图像变化量。
[0140] 在一个可能的实施例中,所述将所述当前帧图像按照更新帧率进行显示包括:
[0141] 将所述当前帧图像的帧率调整为原始帧率的一半;
[0142] 根据调整后的帧率绘制当前帧图像。
[0143] 存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
[0144] 当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的帧率调整方法操作,还可以执行本发明任意实施例所提供的帧率调整方法中的相关操作。
[0145] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。