图像绘制方法、装置、存储介质及智能终端与流程

文档序号:15640923发布日期:2018-10-12 22:03阅读:182来源:国知局

本申请实施例涉及功率节省技术,尤其涉及一种图像绘制方法、装置、存储介质及智能终端。



背景技术:

目前,智能手机或平板电脑等智能终端因其在处理能力及功能上的优势,逐渐成为人们生活、工作及娱乐的必需品。

然而,随着智能终端上安装的应用程序的增加,在运行这些应用程序时的功耗成为影响智能终端的续航能力的一个重要因素。特别是游戏应用程序,其耗电量通常高于其它应用程序,相关技术中在智能终端运行游戏应用时,往往采用降低特效及播放量等方式来降低游戏功耗。但是,此种方式会对画面品质产生较大影响,亟待改进。



技术实现要素:

本申请实施例提供一种图像绘制方法、装置、存储介质及智能终端,可以优化智能终端的节能方案,进而,有效地降低智能终端的功耗。

第一方面,本申请实施例提供了一种图像绘制方法,包括:

获取待绘制的图像数据,其中,所述图像数据由前台运行的应用程序输出;

确定所述图像数据对应的当前图像与相邻的上一帧图像的几何体差异信息,其中,几何体差异信息至少包括如下三个维度:几何体变化量、位移量及缩放量;

根据所述几何体差异信息与预设阈值匹配分辨率信息,根据所述分辨率信息针对所述图像数据进行绘制,其中,预设阈值包括如下至少三个维度:几何体变化量阈值、位移量阈值和缩放量阈值。

第二方面,本申请实施例还提供了一种图像绘制装置,该装置包括:

数据获取模块,用于获取待绘制的图像数据,其中,所述图像数据由前台运行的应用程序输出;

差异信息确定模块,用于确定所述图像数据对应的当前图像与相邻的上一帧图像的几何体差异信息,其中,几何体差异信息至少包括如下三个维度:几何体变化量、位移量及缩放量;

图像绘制模块,用于根据所述几何体差异信息与预设阈值匹配分辨率信息,根据所述分辨率信息针对所述图像数据进行绘制,其中,预设阈值包括如下至少三个维度:几何体变化量阈值、位移量阈值和缩放量阈值。

第三方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所述的图像绘制方法。

第四方面,本申请实施例还提供了一种智能终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的图像绘制方法。

本申请实施例提供一种图像绘制方案,通过获取待绘制的图像数据;确定该图像数据对应的当前图像与相邻的上一帧图像的几何体差异信息;根据所述几何体差异信息与预设阈值匹配分辨率信息,根据所述分辨率信息针对所述图像数据进行绘制。采用上述方案,通过当前一帧图像数据与相邻的上一帧图像数据之间的变化量,自适应的调整绘制图像数据时采用的分辨率,以通过降低分辨率的方式达到降低功耗的效果。

附图说明

图1是本申请实施例提供的一种图像绘制方法的流程图;

图2是本申请实施例提供的一种图像绘制流程的示意图;

图3是本申请实施例提供的另一种图像绘制方法的流程图;

图4是本申请实施例提供的又一种图像绘制方法的流程图;

图5是本申请实施例提供的又一种图像绘制方法的流程图;

图6是本申请实施例提供的一种图像绘制装置的结构框图;

图7是本申请实施例提供的一种智能终端的结构示意图;

图8是本申请实施例提供的一种智能手机的结构框图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

图1是本申请实施例提供的一种图像绘制方法的流程图,本实施例可适用于帧与帧之间的变化不明显时降低分辨率的情况,该方法可以由图像绘制装置来执行,其中,该装置可由软件和/或硬件实现,一般可集成于智能手机、平板电脑或掌上游戏机等智能终端中。如图1所示,该方法包括:

步骤110、获取待绘制的图像数据。

需要说明的是,图像数据由前台运行的应用程序输出。假设前台运行的应用程序准备好一帧待绘制的图像数据,则将其发送至cpu,以供cpu判断是否通过gift进行绘制决策。其中,gift(graphicsframeratetuner,图形帧率调谐器)通过判断帧与帧之间的变化量多少来判断场景为静态场景还是动态场景,从而使gpu可以自适应的调整分辨率。

需要说明的是,前台运行的应用程序可以认为是在智能终端的触摸屏(即触摸显示屏)中显示的应用。由于应用程序切至后台通常会被冻结,不进行图像数据的绘制,暂不考虑后台运行的应用程序。

需要说明的是,图像数据包括几何体信息。其中,几何体信息存储于几何体类中,是点(0维)、线(1维)、面(2维)、体(3维)等维数(dim)不同的基本形状的集合。几何体类包括两个数组,一个存储顶点序号,另一个存储拓扑边界序号。根据几何体信息可以确定几何体大小、坐标和形状。

步骤120、确定所述图像数据对应的当前图像与相邻的上一帧图像的几何体差异信息。

需要说明的是,几何体差异信息至少包括如下三个维度:几何体变化量、位移量及缩放量。其中,几何体变化量(geometry),简称g-value,包括几何体信息的变化量,例如,增加或减少顶点,以及增加或减少拓扑边界等。位移量(motion),简称m-value,包括几何体坐标的变化量。缩放量(scale),简称s-value,包括几何体在触摸显示屏上投影的大小的变化量。

示例性的,cpu读取所获取的图像数据包含的几何体信息,对该几何体信息进行归一化处理得到第二几何体参数。需要说明的是,由于根据几何体信息可以确定几何体大小、坐标和形状。可以由图像数据中选择预设数量的目标几何体。例如,可以将游戏中玩家角色和非玩家角色对应的几何体标记为目标几何体。从而,读取图像数据包含的几何体信息可以是读取图像数据中玩家角色对应的第一几何体信息,以及非玩家角色对应的第二几何体信息。

以第一几何体信息为例,说明对几何体信息进行归一化处理的方式。根据第一几何体信息包括的顶点信息和拓扑边界信息确定玩家角色对应的几何体的分辨率,即横纵像素的数量。将玩家角色对应的几何体的分辨率除以该图像数据对应的目标图像的分辨率,实现对几何体信息g的归一化。类似的,根据第一几何体信息包括的顶点信息和拓扑边界信息确定玩家角色对应的几何体的分辨率,即横纵像素的数量。将玩家角色对应的几何体的分辨率除以触摸显示屏的分辨率,实现对缩放数据s的归一化。将触摸显示屏的左下角作为坐标原点,将显示区域在横向上的最远点标记为1得到横轴,并将显示区域在纵向上的最远点标记为1得到纵轴。根据第一几何体信息对应的玩家角色在目标图像中的位置将该玩家角色投影至触摸显示屏对应的坐标系中,使玩家角色对应的几何体的坐标取值在0至1之间,实现对位移数据m的归一化。将归一化后的g、m和s记为第二几何体参数。

需要说明的是,若几何体为非规则图形,则分别计算纵向平均长度和横向平均长度,并以该纵向平均长度为长边,该横向平均长度为短边,构建该非规则图形的几何体的内接矩形。以该内接矩形的分辨率代表游戏玩家对应的几何体的分辨率,采用上述类似方式执行归一化。

采用相邻两帧图像数据中几何体信息的归一化结果做差,得到几何体变化量g-value。相似的,采用相邻两帧图像数据中位移数据的归一化结果做差,得到位移量m-value。相似的,采用相邻两帧图像数据中缩放数据的归一化结果做差,得到缩放量s-value。由于在获取待绘制的图像时,系统已经完成对相邻的上一帧画面的包含的几何体信息的归一化处理,所以,可以由预设缓存内获取该相邻的上一帧画面对应的第一几何体参数。其中,第一几何体参数包括几何体信息的归一化结果、位移数据的归一化结果和缩放数据的归一化结果。计算该第二几何体参数与该第一几何体参数的差值,作为几何体差异信息。

步骤130、根据所述几何体差异信息与预设阈值匹配分辨率信息,根据所述分辨率信息针对所述图像数据进行绘制。

需要说明的是,分辨率信息是指图像处理模块绘制图像数据后得到的目标图像的分辨率。

需要说明的是,将应用程序默认的图像分辨率作为第一图像分辨率。可以基于用户群体的历史使用记录统计分析得到的用户在使用不同应用程序时,可以忍耐的最低分辨率,基于该最低分辨率设定第二图像分辨率。例如,可以将最低分辨率作为第二图像分辨率,或者将高于该最低分辨率的某个值作为第二图像分辨率。其中,第一图像分辨率高于第二图像分辨率。设置预设阈值、第一图像分辨率及第二图像分辨率之间的关联关系。若几何体差异信息大于或等于预设阈值,则采用第一图像分辨率对图像数据进行绘制。若几何体差异信息小于预设阈值,则采用第二图像分辨率对图像数据进行绘制。

需要说明的是,预设阈值包括如下至少三个维度:几何体变化量阈值、位移量阈值和缩放量阈值。对于几何体变化量阈值,其取值范围为0-1,且值越大,表示用户对相邻两帧之间的几何体变化量的接受程度越大,当前帧数据越可能被降低分辨率。对于位移量阈值,其取值范围为0-1,且值越大,表示用户对相邻两帧之间的物体移动变化量的接受程度越大,当前帧数据越可能被降低分辨率。对于缩放量阈值,其取值范围为0-1,且值越大,表示用户对相邻两帧之间的物体大小变化量的接受程度越大,当前帧数据越可能被降低分辨率。示例性的,可以将几何体变化量阈值记为预设第一阈值,将位移量阈值记为预设第二阈值,以及,将缩放量阈值记为预设第三阈值。

示例性的,分别比较几何体变化量g-value与几何体变化量阈值(记为预设第一阈值),位移量m-value与位移量阈值(记为预设第二阈值),缩放量s-value与缩放量阈值(记为预设第三阈值)。若g-value小于预设第一阈值,m-value小于预设第二阈值,且s-value小于预设第三阈值,则调用图像处理模块采用第二图像分辨率绘制所述图像数据,得到第二目标图像;否则,调用图像处理模块采用第一图像分辨率绘制所述图像数据,得到第一目标图像。其中,图像处理模块可以是gpu。

图2是本申请实施例提供的一种图像绘制流程的示意图。如图2所示,前台运行的应用程序准备待绘制的帧数据,在准备好一帧该帧数据时,主动推送至cpu。在cpu中内置gift(graphicsframeratetuner)模块,或者在cpu与gpu之间增加gift模块。cpu调用gift模块判断该帧数据与相邻的上一帧数据的几何体变化量g-value是否小于预设第一阈值。若大于预设第一阈值,则通过openglesapi及egl调用gpu根据第一图像分辨率对待绘制的帧数据进行绘制,得到一帧分辨率为第一图像分辨率的第一目标图像,gpu将该第一目标图像送至触摸显示屏的显存(framebuffer)。若小于预设第一阈值,则进一步判断该帧数据与相邻的上一帧数据的位移量m-value是否小于预设第二阈值。若大于预设第二阈值,则通过openglesapi及egl调用gpu根据第一图像分辨率对待绘制的帧数据进行绘制,得到一帧分辨率为第一图像分辨率的第一目标图像,gpu将第一该目标图像送至触摸显示屏的显存(framebuffer)。若小于预设第二阈值,则进一步判断该帧数据与相邻的上一帧数据的缩放量s-value是否小于预设第三阈值。若大于预设第三阈值,则通过openglesapi及egl调用gpu根据第一图像分辨率对待绘制的帧数据进行绘制,得到一帧分辨率为第一图像分辨率的第一目标图像,gpu将该第一目标图像送至触摸显示屏的显存(framebuffer)。若小于预设第三阈值,则调用gpu根据第二图像分辨率对该帧数据进行绘制,达到一帧分辨率为第二图像分辨率的第二目标图像。gpu将该第二目标图像送至触摸显示屏的显存(framebuffer)。利用双缓冲机制进行swap的时候,frontdisplay和backsurface进行实际意义上的地址交换,下次屏幕刷新时,frontdisplay的内容会显示到触摸显示屏上。其中,backsurface是绘制目的地,可以看成是属于framebuffer上的一个内存块,也可以理解为一个本地窗口提供的显示内存块

需要说明的是,android系统在显示刷新的过程中引入了同步(vsync)刷新机制。具体地,vsync刷新机制其实就是在整个显示流程中,插入“心跳”即垂直同步(vsync)信号,由显示控制器发送给cpu,用于产生vsync中断,以控制每次图层绘制操作和图层合成操作都需要按照心跳来完成。

本实施例的技术方案,通过当前一帧图像数据与相邻的上一帧图像数据之间的变化量,自适应的调整绘制图像数据时采用的分辨率,若前台运行的应用程序的上一帧图像数据与当前帧图像数据的差别在预设范围内,则可以采用降低的分辨率的方式绘制当前帧数据,多数人对于快速切换的相似的两帧图像的分辨率的细微变化的辨识能力不强,可以在不对显示画面造成太大影响的同时通过降低分辨率达到降低功耗的效果。

图3是本申请实施例提供的另一种图像绘制方法的流程图。如图3所示,该方法包括:

步骤301、获取前台运行的应用程序的应用标识。

其中,应用标识是一个应用程序区别与其它应用程序的唯一标识,例如,应用标识可以是应用包名或进程名等。

在检测到应用程序启动,且在前台运行时,获取该应用程序的包名或进程名。

步骤302、根据所述应用标识判断所述应用程序是否属于预设白名单,若是,则执行步骤303,否则,执行步骤308。

需要说明的是,预设白名单用于存储需要通过gift进行绘制决策的应用程序。也就是说,若查询到当前启动的应用程序属于预设白名单,则确定需要通过gift判断该应用程序输出的帧数据采用何种分辨率被绘制,否则,调用gpu采用该应用程序默认的分辨率绘制该应用程序输出的帧数据。还可以通过预设白名单存储几何体变化量阈值、位移量阈值及缩放量阈值等参数。

示例性的,当应用程序启动时,根据该应用标识查询预设白名单,以确定是否需要通过gift判断该应用程序输出的图像数据采用何种分辨率被绘制。

需要说明的是,预设白名单可以由厂商服务器根据用户的历史使用记录进行筛选,并在智能终端联网后推送至智能终端。预设白名单的筛选标准包括:静态场景节能比例大于10%;以及,在动态场景(如触摸、场景切换等)下,无卡顿情况等。例如,由应用商店中选择排行榜中前设定数量的应用程序(例如根据下载次数进行排序得到的排行榜等),按照上述筛选标准进行筛序,将筛序结果添加至预设白名单,并在线推送至用户端。若预设白名单有更新,先向智能终端推送更新通知,以提示用户下载更新后的预设白名单。若更新后的预设白名单被下载成功,则可以采用更新后的预设白名单更新本地预设白名单。

步骤303、获取待绘制的图像数据。

获取一帧前台运行的应用程序输出的待绘制的图像数据。

需要说明的是,待绘制的图像数据为前台运行的应用程序准备好的待绘制的帧数据。该帧数据由应用程序推送至cpu,由cpu内的gift模块判断采用何种分辨率绘制该图像数据,以便于cpu根据判断结果调用gpu绘制该图像数据。

步骤304、读取待绘制的图像数据包含的几何体信息,对所述几何体信息进行归一化处理得到第二几何体参数。

步骤305、获取相邻的上一帧图像对应的第一几何体参数,计算所述第二几何体参数与所述第一几何体参数的差值,作为几何体差异信息。

步骤306、判断几何体差异信息中各个维度的取值是否均小于预设阈值中对应维度的阈值,若是,则执行步骤307,否则,执行步骤308。

若几何体变化量小于预设第一阈值、位移量小于预设第二阈值且缩放量小于预设第三阈值,则执行步骤307。

步骤307、调用图像处理模块采用预设的第二图像分辨率绘制所述图像数据,得到第二目标图像。

示例性的,图像处理模块采用设定映射算法将待绘制的图像数据的分辨率映射成预设的第二图像分辨率。例如,前台运行的应用程序输出的图像数据的对应的目标图像的分辨率为1080p,而第二图像分辨率为720p,则可以采用设定映射算法将图像分辨率由1080p缩小为720p。

在采用第二图像分辨率绘制所述图像数据得到第二目标图像后,采用预设第二显示分辨率将该第二目标图像刷新至触摸显示屏进行显示。

步骤308、调用图像处理模块采用预设的第一图像分辨率绘制所述图像数据,得到第一目标图像。

需要说明的是,第一图像分辨率可以为应用程序的默认分辨率,也就是说,调用图像处理模块采用默认分辨率对图像数据进行绘制,未降低图像分辨率。

在采用第一图像分辨率绘制所述图像数据得到第一目标图像后,采用预设第一显示分辨率将该第一目标图像刷新至触摸显示屏进行显示。

本实施例的技术方案,通过采用预设白名单设置采用动态调整分辨率功能的应用程序,在降低智能终端功耗的同时,可以减小对智能终端中显示画面的影响范围。

图4是本申请实施例提供的又一种图像绘制方法的流程图。如图4所示,该方法包括:

步骤401、检测前台运行的应用程序。

获取前台运行的应用程序的包名或进程名。

步骤402、判断对所述应用程序的图像数据进行渲染时是否调用预设应用程序编程接口api,若是,则执行步骤403,否则,执行步骤411。

需要说明的是,可以采用预设白名单记录对应用程序的图像数据进行渲染是采用哪些应用程序编程接口api。可选的,还可以监控通常用来进行图像数据渲染的api相关的预设组件,若检测到预设组件被调用,则确定采用对应的api进行渲染。

步骤403、获取在预设时间区间内所述应用程序发出绘制请求的频率。

在对前台运行的应用程序输出的图像数据进行渲染的api是opengl或vulkan时,启动计时器,记录预设时间长度,并统计在该预设时间长度内应用程序发出绘制请求的次数,从而确定请求绘制的频率。

步骤404、判断所述频率是否均超过预设频率阈值,若是,则执行步骤405,否则,执行步骤411。

示例性的,假设应用程序在10秒内一直以超过50次/s的频率请求绘制,说明gpu的绘制帧率一直超过50帧/s。

若预设频率阈值为50,则若10秒内的频率一直大于50,则执行步骤405。

步骤405、获取待绘制的图像数据。

步骤406、读取待绘制的图像数据包含的几何体信息,对所述几何体信息进行归一化处理得到第二几何体参数。

步骤407、获取相邻的上一帧图像对应的第一几何体参数,计算所述第二几何体参数与所述第一几何体参数的差值,作为几何体差异信息。

步骤408、判断几何体差异信息中各个维度的取值是否均小于预设阈值中对应维度的阈值,若是,则执行步骤409,否则,执行步骤411。

步骤409、调用图像处理模块采用预设的第二图像分辨率绘制所述图像数据,得到第二目标图像。

步骤410、采用预设第二显示分辨率将所述第二目标图像刷新至触摸显示屏进行显示。

步骤411、调用图像处理模块采用预设的第一图像分辨率绘制所述图像数据,得到第一目标图像。

步骤412、采用预设第一显示分辨率将所述第一目标图像刷新至触摸显示屏进行显示。

本实施例的技术方案,通过判断前台运行的应用程序是否采用预设api进行渲染操作,并在前台运行的应用程序采用预设api进行渲染操作时,监控预设时间区间内前台运行的应用程序请求绘制操作的频率,根据监控结果判断是否采用gift确定采用何种分辨率进行绘制,在降低智能终端功耗的同时,可以减小对智能终端中显示画面的影响范围。

图5是本申请实施例提供的又一种图像绘制方法的流程图。如图5所示,该方法包括:

步骤501、检测针对前台运行的应用程序的第一触摸事件。

需要说明的是,用户针对前台运行的应用程序向智能终端输入触摸操作,智能终端由检测到的触摸操作触发触摸事件。触摸操作包括但不限于作用于触摸屏上的触摸操作,以及,通过体感技术检测到的触摸操作。由此可知,触摸事件可以由触摸屏触发,还可以由预设的体感检测传感器触发。在某些场景下,智能终端可以模拟触摸事件,以将该模拟的触摸事件输出至应用程序,从而控制应用程序执行该模拟的触摸事件对应的操作。例如,用户在玩游戏的过程中,因故需要暂时离开智能终端但又不想终止游戏,可以设置挂机功能,即采用设定程序模拟用户在游戏中的操作的技术。因此,触摸事件还可以由模拟事件触发。由模拟事件触发的触摸操作不是由触摸屏发出的,即未检测到触摸屏驱动上报按键信息。可以预先为触发触摸事件的主体定义预设标识。在触摸事件是由触摸屏上报时,为该触摸事件添加屏触发标识。在触摸事件由预设的体感检测传感器上报时,为该触摸事件添加体感触发标识。在触摸事件由模拟事件触发时,为该触摸事件添加模拟触发标识。从而,可以通过检测该预设标识确定触摸事件是否由模拟事件触发。

步骤502、判断第一触摸事件是否由模拟事件触发,若是,则执行步骤503,否则,执行步骤510。

步骤503、检测预设时间区间内的第二触摸事件,并根据所述第二触摸事件确定应用程序状态。

为了提高准确度,避免频繁地进行预设阈值的切换,可以在第一触摸事件由模拟事件触发时,再检测其后预设时间区间内的第二触摸事件,并根据第二触摸事件是否由模拟事件触发的判定结果确定应用程序状态。

需要说明的是,第二触摸事件是在第一触摸事件是由模拟事件触发的前提下检测的触摸事件。也就是说,若第一触摸事件不是由模拟事件触发,则不检测第二触摸事件,从而不对默认的预设阈值进行调整。其中,默认的预设阈值可以是预设白名单中存储的几何体变化量阈值、位移量阈值及缩放量阈值。

需要说明的是,应用程序状态包括挂机状态及非挂机状态(即未处于挂机状态)。挂机状态对应的预设阈值中至少一个维度的阈值大于非挂机状态相应维度的阈值。

示例性的,若第一触摸事件由模拟事件触发,则启动计时器连续计时预设时间长度,在该预设时间长度内,检测触摸操作,将检测到的触摸操作触发的触摸事件记为第二触摸操作。例如,可以在检测到第一触摸事件由模拟事件触发时,启动计时器计时5秒钟,检测该5秒内的触摸操作。若检测到触摸操作,则将其触发的触摸事件记为第二触摸操作。

判断预设时间长度内检测到的第二触摸事件是否均由模拟事件触发,若是,则确定前台运行的应用程序处于挂机状态,否则,确定前台运行的应用程序未处于挂机状态。也就是说,若第二触摸事件均由模拟事件触发,则确定前台运行的应用程序处于挂机状态。

步骤504、调整几何体差异信息中各个维度的预设阈值。

示例性的,可以预先设置两组预设阈值,规定第一组预设阈值在应用程序处于挂机状态时被启用,第二组预设阈值在应用程序处于非挂机状态时被启用,且第一组预设阈值的三个维度的取值中至少有一个大于第二组预设阈值中对应维度的取值。该预设阈值越大代表用户对相邻两帧之间的目标对象的变化的接受度越大,越容易降低图像分辨率,其中,目标对象包括几何体变化量、物体移动变化量以及物体大小变化量中至少一个维度。

若应用程序处于挂机状态,则调高几何体差异信息中各个维度的预设阈值。可以采用的方式是启用第一组预设阈值,以便于gift根据该第一组预设阈值确定采用第一图像分辨率或第二图像分辨率进行绘制。

步骤505、获取待绘制的图像数据。

步骤506、读取待绘制的图像数据包含的几何体信息,对所述几何体信息进行归一化处理得到第二几何体参数。

步骤507、获取相邻的上一帧图像对应的第一几何体参数,计算所述第二几何体参数与所述第一几何体参数的差值,作为几何体差异信息。

步骤508、判断几何体差异信息中各个维度的取值是否均小于预设阈值中对应维度的阈值,若是,则执行步骤509,否则,执行步骤510。

示例性的,若检测到智能终端当前处于挂机状态,则选择第一组预设阈值作为比较对象。也就是说,判断几何体差异信息中各个维度的取值是否均小于第一组预设阈值中对应维度的阈值。若检测到智能终端当前处于非挂机状态,则选择第二组预设阈值作为比较对象。也就是说,判断几何体差异信息中各个维度的取值是否均小于第二组预设阈值中对应维度的阈值。第一组预设阈值中至少一个维度的阈值大于第二组预设阈值中相应维度的阈值。

步骤509、调用图像处理模块采用预设的第二图像分辨率绘制所述图像数据,得到第二目标图像。

步骤510、调用图像处理模块采用预设的第一图像分辨率绘制所述图像数据,得到第一目标图像。

需要说明的是,在采用第二图像分辨率绘制所述图像数据得到第二目标图像后,采用预设第二显示分辨率将该第二目标图像刷新至触摸显示屏进行显示。在采用第一图像分辨率绘制所述图像数据得到第一目标图像后,采用预设第一显示分辨率将该第一目标图像刷新至触摸显示屏进行显示,其中,第一显示分辨率高于第二显示分辨率。在显示分辨率高于图像分辨率时,目标图像仍然以图像分辨率进行显示,从而,即使降低显示分辨率也不会影响显示效果,但可以降低触摸显示屏功耗。因此,通过根据图像分辨率适应性的调整显示分辨率的方式,可以进一步降低功耗。

本实施例的技术方案,通过检测触摸事件是否持续由模拟事件触发,根据检测结果调整几何体差异信息中各个维度的预设阈值,从而,调高某些用户未参与的场景下的预设阈值,可以增加采用第二图像分辨率绘制的图像的数量,进一步降低智能终端的功耗。

图6是本申请实施例提供的一种图像绘制装置的结构框图。该装置可以通过软件和/或硬件实现,可被集成于智能手机、平板电脑或掌上游戏机等智能终端中,用于执行本申请实施例提供的图像绘制方法。如图6所示,该装置包括:

数据获取模块610,用于获取待绘制的图像数据,其中,所述图像数据由前台运行的应用程序输出;

差异信息确定模块620,用于确定所述图像数据对应的当前图像与相邻的上一帧图像的几何体差异信息,其中,几何体差异信息至少包括如下三个维度:几何体变化量、位移量及缩放量;

图像绘制模块630,用于根据所述几何体差异信息与预设阈值匹配分辨率信息,根据所述分辨率信息针对所述图像数据进行绘制,其中,预设阈值包括如下至少三个维度:几何体变化量阈值、位移量阈值和缩放量阈值。

本实施例的技术方案提供一种图像绘制装置,实现自适应的调整绘制图像数据采用的分辨率,若前台运行的应用程序的上一帧图像数据与当前帧图像数据的差别在预设范围内,则可以采用降低的分辨率绘制当前帧数据,多数人对于快速切换的相似的两帧图像的分辨率的细微变化的辨识能力不强,可以在不对显示画面造成太大影响的同时通过降低分辨率达到降低功耗的效果。

可选的,还包括:

应用查询模块,用于在获取待绘制的图像数据之前,获取前台运行的应用程序的应用标识;

根据所述应用标识判断所述应用程序是否属于预设白名单;

若是,则执行获取待绘制的图像数据的操作;

否则,调用图像处理模块采用预设第一图像分辨率执行绘制操作。

可选的,还包括:

频率判断模块,用于在确定所述图像数据对应的当前图像与相邻的上一帧图像的几何体差异信息之前,检测前台运行的应用程序,判断对所述应用程序的图像数据进行渲染时是否调用预设应用程序编程接口api;

若是,则获取在预设时间区间内所述应用程序发出绘制请求的频率,判断所述频率是否均超过预设频率阈值;

若所述频率超过预设频率阈值,则执行获取待绘制的图像数据的操作。

可选的,差异信息确定模块620具体用于:

读取当前图像数据包含的几何体信息,其中,所述几何体信息包括顶点信息和拓扑边界信息;

对所述几何体信息进行归一化处理得到第二几何体参数;

获取与所述当前图像数据对应的当前图像相邻的上一帧图像,确定所述上一帧图像对应的第一几何体参数;

计算所述第二几何体参数与所述第一几何体参数的差值,作为几何体差异信息。

可选的,图像绘制模块630具体用于:

若几何体变化量小于预设第一阈值、位移量小于预设第二阈值且缩放量小于预设第三阈值,则调用图像处理模块采用预设的第二图像分辨率绘制所述图像数据,得到第二目标图像;

否则,调用图像处理模块采用预设的第一图像分辨率绘制所述图像数据,得到第一目标图像;

其中,所述第一图像分辨率高于第二图像分辨率。

可选的,还包括:

图像显示模块,用于采用预设第一显示分辨率将所述第一目标图像刷新至触摸显示屏进行显示,采用预设第二显示分辨率将所述第二目标图像刷新至触摸显示屏进行显示,其中,第一显示分辨率高于第二显示分辨率。

可选的,还包括:

阈值调整模块,用于在根据所述几何体差异信息与预设阈值匹配分辨率信息之前,检测针对前台运行的应用程序的第一触摸事件;

在所述第一触摸事件由模拟事件触发时,调整几何体差异信息中各个维度的预设阈值。

本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行图像绘制方法,该方法包括:

获取待绘制的图像数据,其中,所述图像数据由前台运行的应用程序输出;

确定所述图像数据对应的当前图像与相邻的上一帧图像的几何体差异信息,其中,几何体差异信息至少包括如下三个维度:几何体变化量、位移量及缩放量;

根据所述几何体差异信息与预设阈值匹配分辨率信息,根据所述分辨率信息针对所述图像数据进行绘制,其中,预设阈值包括如下至少三个维度:几何体变化量阈值、位移量阈值和缩放量阈值。

存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddrram、sram、edoram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。

当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的图像绘制得到操作,还可以执行本申请任意实施例所提供的图像绘制方法中的相关操作。

本申请实施例提供了一种智能终端,该智能终端内具有操作系统,该智能终端中可集成本申请实施例提供的图像绘制装置。其中,智能终端可以为智能手机、pad(平板电脑)及掌上游戏机等。图7是本申请实施例提供的一种智能终端的结构示意图。如图7所示,该智能终端包括存储器710及处理器720。所述存储器710,用于存储计算机程序、图像数据、几何体差异信息、预设阈值及分辨率信息等;所述处理器720读取并执行所述存储器710中存储的计算机程序。所述处理器720在执行所述计算机程序时实现以下步骤:获取待绘制的图像数据,其中,所述图像数据由前台运行的应用程序输出;确定所述图像数据对应的当前图像与相邻的上一帧图像的几何体差异信息,其中,几何体差异信息至少包括如下三个维度:几何体变化量、位移量及缩放量;根据所述几何体差异信息与预设阈值匹配分辨率信息,根据所述分辨率信息针对所述图像数据进行绘制,其中,预设阈值包括如下至少三个维度:几何体变化量阈值、位移量阈值和缩放量阈值。

可选的,处理器包括cpu和gpu,其中,cpu用于获取待绘制的图像数据;确定所述图像数据对应的当前图像与相邻的上一帧图像的几何体差异信息;调用gpu根据所述几何体差异信息与预设阈值匹配分辨率信息,根据所述分辨率信息针对所述图像数据进行绘制。gpu用于根据cpu的调用执行绘制图像数据的操作,得到目标图像。

上述示例中列举的存储器及处理器均为智能终端的部分元器件,所述智能终端还可以包括其它元器件。以智能手机为例,说明上述智能终端可能的结构。图8是本申请实施例提供的一种智能手机的结构框图。如图8所示,该智能手机可以包括:存储器801、中央处理器(centralprocessingunit,cpu)802(又称处理器,以下简称cpu)、图像处理模块(如图形处理器graphicsprocessingunit,简称gpu)813、外设接口803、rf(radiofrequency,射频)电路805、音频电路806、扬声器811、触摸显示屏812、电源管理芯片808、输入/输出(i/o)子系统809、其他输入/控制设备810以及外部端口804,这些部件通过一个或多个通信总线或信号线807来通信。

应该理解的是,图示智能手机800仅仅是智能终端的一个范例,并且智能手机800可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。

下面就本实施例提供的集成有图像绘制装置的智能手机进行详细的描述。

存储器801,所述存储器801可以被cpu802、外设接口803等访问,所述存储器801可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。在存储器801中存储计算机程序,还可以存储图像数据、几何体差异信息、预设阈值及分辨率信息等。

外设接口803,所述外设接口803可以将设备的输入和输出外设连接到cpu802和存储器801。

i/o子系统809,所述i/o子系统809可以将设备上的输入输出外设,例如触摸显示屏812和其他输入/控制设备810,连接到外设接口803。i/o子系统809可以包括显示控制器8091和用于控制其他输入/控制设备810的一个或多个输入控制器8092。其中,一个或多个输入控制器8092从其他输入/控制设备810接收电信号或者向其他输入/控制设备810发送电信号,其他输入/控制设备810可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器8092可以与以下任一个连接:键盘、红外端口、usb接口以及诸如鼠标的指示设备。

触摸显示屏812,所述触摸显示屏812是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。

gpu813,用于在cpu802的调用下,由存储器801中获取待绘制的图形数据,并根据分辨率信息对待绘制的图像数据进行绘制,得到目标图像,将目标图像送至触摸显示屏812的显存(framebuffer)。

i/o子系统809中的显示控制器8091从触摸显示屏812接收电信号或者向触摸显示屏812发送电信号。触摸显示屏812检测触摸屏上的接触,显示控制器8091将检测到的接触转换为与显示在触摸显示屏812上的用户界面对象的交互,即实现人机交互,显示在触摸显示屏812上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。

rf电路805,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,rf电路805接收并发送rf信号,rf信号也称为电磁信号,rf电路805将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。rf电路805可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、rf收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、codec(coder-decoder,编译码器)芯片组、用户标识模块(subscriberidentitymodule,sim)等等。

音频电路806,主要用于从外设接口803接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器811。

扬声器811,用于将手机通过rf电路805从无线网络接收的语音信号,还原为声音并向用户播放该声音。

电源管理芯片808,用于为cpu802、i/o子系统及外设接口所连接的硬件进行供电及电源管理。

本申请实施例提供的智能终端,可以自适应的调整绘制图像数据采用的分辨率,若前台运行的应用程序的上一帧图像数据与当前帧图像数据的差别在预设范围内,则可以采用降低的分辨率绘制当前帧数据,多数人对于快速切换的相似的两帧图像的分辨率的细微变化的辨识能力不强,可以在不对显示画面造成太大影响的同时通过降低分辨率达到降低功耗的效果。

上述实施例中提供的图像绘制装置、存储介质及智能终端可执行本申请任意实施例所提供的图像绘制方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的图像绘制方法。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1