帧率控制方法、装置、终端及存储介质与流程

文档序号:19939485发布日期:2020-02-14 22:59阅读:195来源:国知局
帧率控制方法、装置、终端及存储介质与流程

本申请实施例涉及终端技术领域,特别涉及一种帧率控制方法、装置、终端及存储介质。



背景技术:

随着视频技术的发展,视频在播放时所采用的帧率越来越高,例如,对于人眼来说,如果视频的帧率高于24帧/秒时,视频画面的视觉效果会是比较流畅的效果。但是,对于一些快速变化的视频画面,如足球比赛、竞技游戏时,如果仍以24帧/秒左右的帧率进行播放,则会导致视频画面的明显抖动,流畅性差。

针对这类问题,相关技术中采取更高帧率进行视频播放,如60帧/秒或120帧/秒,从而提高视频播放的流畅性。



技术实现要素:

本申请实施例提供了一种帧率控制方法、装置、终端及存储介质,可以用于解决相关技术中视频播放时帧率稳定性较差导致视频画面抖动的问题。技术方案如下:

根据本申请实施例的第一方面,提供了一种帧率控制方法,用于终端中,所述方法包括:

获取目标应用程序在指定时段内的n帧视频画面,所述n为大于1的正整数;

获取所述n帧视频画面对应的帧率差异值,所述帧率差异值用于指示所述n帧视频画面在显示时的帧率稳定性;

根据预设对应关系将与所述帧率差异值对应的帧率确定为目标帧率,所述预设对应关系包括帧率差异值与帧率之间的对应关系;

根据所述目标帧率对所述目标应用程序中的待显示画面进行处理。

根据本申请实施例的第二方面,提供了一种帧率控制装置,用于终端中,所述装置包括:

第一获取模块,用于获取目标应用程序在指定时段内的n帧视频画面,所述n为大于1的正整数;

第二获取模块,用于获取所述n帧视频画面对应的帧率差异值,所述帧率差异值用于指示所述n帧视频画面在显示时的帧率稳定性;

确定模块,用于根据预设对应关系将与所述帧率差异值对应的帧率确定为目标帧率,所述预设对应关系包括帧率差异值与帧率之间的对应关系;

处理模块,用于根据所述目标帧率对所述目标应用程序中的待显示画面进行处理。

根据本申请实施例的第三方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如本申请第一方面所述的帧率控制方法。

根据本申请实施例的第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如本申请第一方面所述的帧率控制方法。

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

通过获取目标应用程序在指定时段内的n帧视频画面,获取n帧视频画面对应的帧率差异值,由于帧率差异值用于指示n帧视频画面在显示时的帧率稳定性,以便在视频播放过程中终端能够动态的根据视频帧的实际情况将当前帧率调整为与帧率差异值对应的帧率确定为目标帧率,根据目标帧率对目标应用程序中的待显示画面进行处理,避免画面抖动,提高视频画面的流畅性。

附图说明

图1是本申请一个示例性实施例所提供的终端的结构示意图;

图2是本申请一个示例性实施例提供的帧率控制方法的流程图;

图3是本申请另一个示例性实施例提供的帧率控制方法的流程图;

图4是本申请另一个示例性实施例所提供的终端的结构示意图;

图5是本申请另一个示例性实施例提供的帧率控制方法的流程图;

图6是本申请一个实施例提供的帧率控制装置的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

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

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

应用程序包括多个图层,比如视频播放器应用程序下至少包括用于显示视频内容的视频画面图层、用于显示用户界面控件(暂停按键、播放进度条和快进按键等)或者广告的ui图层和用于显示弹幕内容的弹幕图层。

在移动终端图层绘制、合成和刷新显示的流程中,存在3种帧率:绘制帧率、合成帧率和刷新率。

其中,绘制帧率为图层绘制完成后,触发图层合成模块合成的帧率,可以理解为单位时间(例如,1秒钟)绘制图层的次数。图层的绘制帧率为该图层单位时间内被触发绘制的次数。

合成帧率为把把一个应用程序下绘制的至少二个图层的图像合成为一个待显示画面的帧率(当前运行了一个应用程序升温场景),可以理解为单位时间合成待显示画面的帧数。

刷新率为移动终端显示屏显示画面刷新的帧率。一般,显示屏会以60hz的刷新率刷新。

首先,对本申请实施例涉及到的一些名词进行解释:

安卓操作系统:由美国谷歌公司出品的一种基于linux的自由及开放源代码的操作系统,主要使用于移动设备。

应用程序:简称应用,在安卓操作系统中,一个应用程序通常包括至少一个程序组件。程序组件分为四种:活动(英文:activity)组件、服务(英文:service)组件、内容提供者(英文:contentprovider)组件和广播接收器(英文:broadcastreceiver)组件。

活动组件:安卓应用程序中负责与用户交互的组件,它为安卓应用程序提供可视化的用户界面。一个安卓应用程序可以包括零到多个活动组件。

内容提供者组件:安卓应用程序中用于为其它应用或者当前应用中的其它组件提供数据的组件,比如:铃声、壁纸、电话本等。它能够对各种格式的数据进行封装,以标准的形式提供给其它应用或者组件进行使用。

意图(英文:intent)消息:安卓应用程序中实现各项程序组件之间进行通讯的一种消息,各项程序组件可以是同一应用程序中的不同组件,也可以是不同应用程序中的不同组件。intent消息负责对应用程序中一次操作的动作、动作涉及数据、附加数据进行描述,安卓操作系统根据该intent消息的描述,负责找到对应的程序组件,将intent消息传递给调用的程序组件,并完成程序组件的调用。

系统ui(userinterface,用户界面)组件:在安卓操作系统中负责与用户交互的组件,它为安卓操作系统提供可视化的用户界面。

在对本申请实施例进行解释说明之前,先对本申请实施例的应用场景进行说明。图1示出了本申请一个示例性实施例所提供的终端的结构示意图。

该终端100是安装有目标应用程序的电子设备。该目标应用程序是系统程序或者第三方应用程序。其中,第三方应用程序是除了用户和操作系统之外的第三方制作的应用程序。

该终端100是具有通讯功能的电子设备。比如,该终端为手机。

可选的,该终端100中包括:处理器120和存储器140。

处理器120可以包括一个或者多个处理核心。处理器120利用各种接口和线路连接整个终端100内的各个部分,通过运行或执行存储在存储器140内的指令、程序、代码集或指令集,以及调用存储在存储器140内的数据,执行终端100的各种功能和处理数据。可选的,处理器120可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器120可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器120中,单独通过一块芯片进行实现。

存储器140可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选的,该存储器140包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器140可用于存储指令、程序、代码、代码集或指令集。存储器140可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储下面各个方法实施例中涉及到的数据等。

请参考图2,其示出了本申请一个示例性实施例提供的帧率控制方法的流程图。本实施例以该帧率控制方法应用于图1所示出的终端中来举例说明。该帧率控制方法包括:

步骤201,获取目标应用程序在指定时段内的n帧视频画面,n为大于1的正整数。

该目标应用程序是具有播放视频帧功能的应用程序。该目标应用程序可以是视频播放应用程序,也可以是游戏应用程序。比如,该目标应用程序包括虚拟现实应用程序、三维地图程序、军事仿真程序、第三人称射击游戏(third-personalshootinggame,tps)、第一人称射击游戏(first-personshootinggame,fps)、moba游戏、多人枪战类生存游戏中的任意一种。

当终端检测到处于前台运行的应用程序为目标应用程序时,获取目标应用程序在指定时段内的n帧视频画面。

可选的,终端采用主动轮询的方式监控前台运行活动,根据前台运行活动来确定是否产生应用程序运行事件,当产生应用程序运行事件时确定应用程序运行事件对应的应用程序,即此时处于前台运行状态的应用程序。

其中,活动是包含一个或多个用户界面的组件,用于实现与用户之间的交互,每个应用程序可以包括多个活动,每个活动对应一种用户界面。前台运行活动是位于最上层的用户界面相对应的组件。最上层的用户界面是用户在使用终端时在屏幕上看见的用户界面。

以操作系统为安卓操作系统为例,活动是可以层叠的,每当启动一个新的活动,新的活动就会覆盖在原活动之上;使用活动栈存放启动的活动,活动栈是一种后进先出的数据结构,在默认情况下,每启动一个活动,该活动就会在活动栈中入栈,并处于栈顶位置,处于栈顶位置的活动是前台运行活动。当前台运行活动发生变化时,活动栈中处于栈顶位置的活动也会发生变化。

需要说明的是,除了新的活动会位于栈顶,将一个旧的活动切换到前台运行时,该旧的活动也会重新移动到栈顶。

指定时段为终端默认设置的,或者是用户自定义设置的。指定时段为帧率的动态调整周期,可根据实际需求进行设定。比如,指定时段为1秒,若终端的屏幕刷新频率为60hz,则终端获取目标应用程序在1秒内的60帧视频画面。

步骤202,获取n帧视频画面对应的帧率差异值,帧率差异值用于指示n帧视频画面在显示时的帧率稳定性。

终端获取n帧视频画面对应的帧率差异值。

可选的,帧率差异值为n帧视频画面各自对应的帧率的标准差,帧率差异值用于指示n帧视频画面各自对应的帧率的离散程度。

可选的,帧率差异值越大,用于指示n帧视频画面在显示时的帧率稳定性越差;帧率差异值越小,用于指示n帧视频画面在显示时的帧率稳定性越高。

步骤203,根据预设对应关系将与帧率差异值对应的帧率确定为目标帧率,预设对应关系包括帧率差异值与帧率之间的对应关系。

终端根据预设对应关系获取与帧率差异值对应的帧率,将该帧率确定为目标帧率。

预设对应关系是终端默认设置的,或者是用户自定义设置的。终端中存储有帧率差异值与帧率之间的预设对应关系。

在一种可能的实现方式中,该预设对应关系包括:当帧率差异值小于或者等于第一阈值时,该帧率差异值对应的帧率为第一指定帧率;当帧率差异值大于第一阈值且小于第二阈值时,该帧率差异值对应的帧率为第二指定帧率;当帧率差异值大于第二阈值时,该帧率差异值对应的帧率为第三指定帧率;其中,第一阈值小于第二阈值,第一指定帧率小于第二指定帧率,第二指定帧率小于第三指定帧率。

需要说明的是,本实施例对第一阈值、第二阈值、第一指定帧率、第二指定帧率和第三指定帧率的取值均不加以限定。

在另一种可能的实现方式中,该预设对应关系包括:当帧率差异值大于指定差异阈值时,该帧率差异值对应的帧率为指定帧率;当帧率差异值小于或者等于指定差异阈值时,该帧率差异值对应的帧率为第n帧视频画面的帧率。本实施例对帧率差异值与帧率之间的预设对应关系的设置方式不加以限定。下面仅以第二种可能的实现方式为例进行说明。

可选的,终端判断帧率差异值是否大于指定差异阈值,当帧率差异值大于指定差异阈值时,将指定帧率确定为目标帧率;当帧率差异值小于或者等于指定差异阈值时,将第n帧视频画面的帧率确定为目标帧率。

示意性的,指定差异阈值是终端默认设置的,或者是根据实际经验自定义设置的。比如,指定差异阈值为2。需要说明的是,本实施例对指定差异阈值和指定帧率的取值均不加以限定。

步骤204,根据目标帧率对目标应用程序中的待显示画面进行处理。

可选的,目标帧率包括绘制帧率、合成帧率和刷新帧率中的至少一种。

绘制帧率为单位时间段内绘制图层的次数。绘制帧率为单一图层对应的绘制帧率。单一图层对应的绘制帧率为同一图层名称的图层在指定时段被触发绘制的次数。比如,单位时间段为1秒。

合成帧率为单位时间段内合成视频画面的帧数。即合成帧率为至少两个绘制的图层合称为一个视频画面的帧率。

刷新帧率为单位时间段内终端的屏幕中视频画面被刷新的帧数。刷新帧率也称为屏幕刷新率或者刷新率。通常,终端的显示屏以60hz的刷新帧率进行刷新处理。

终端根据目标帧率对目标应用程序中的待显示画面进行处理,包括:终端以目标帧率对待显示画面进行图层绘制处理、图层合成处理和刷新处理中的一种。

综上所述,本实施例通过获取目标应用程序在指定时段内的n帧视频画面,获取n帧视频画面对应的帧率差异值,由于帧率差异值用于指示n帧视频画面在显示时的帧率稳定性,以便在视频播放过程中终端能够动态的根据视频帧的实际情况将当前帧率调整为与帧率差异值对应的帧率确定为目标帧率,根据目标帧率对目标应用程序中的待显示画面进行处理,避免画面抖动,提高视频画面的流畅性。

需要说明的是,上述步骤202即终端获取n帧视频画面对应的帧率差异值,包括但不限于以下两种可能的实现方式。

在一种可能的实现方式中,上述步骤202可被替换实现成为如下几个步骤:获取n帧视频画面各自对应的帧率,将n帧视频画面各自对应的帧率的平均数确定为帧率平均值,计算n帧视频画面各自对应的平方参数的算数平均数,视频画面的平方参数为视频画面的帧率与帧率平均值的差值,将算数平均值的平方根确定为n帧视频画面对应的帧率差异值。

终端在获取到n帧视频画面各自对应的帧率之后,计算n帧视频画面中每个视频画面的帧率与帧率平均值的差值,将该差值确定为该视频画面的平方参数。对n帧视频画面各自对应的平方参数求平均得到算数平均数。

示意性的,终端通过如下公式计算n帧视频画面对应的帧率差异值σ:

其中,xi为第i帧视频画面的帧率,i是初始值为1的正整数,i小于或者等于n。为n帧视频画面各自对应的帧率的平均值。

但是上述计算帧率差异值的算法对应的空间复杂度和时间复杂度均与n的取值有关,即空间复杂度和时间复杂度均为o(n),对于实时性极为敏感的视频而言通过上述算法计算帧率差异值的效率较低。为此,本申请实施例提供了一种更加高效,更省空间的改进算法。

在另一种可能的实现方式中,上述步骤202可被替换实现成为如下几个步骤,如图3所示:

步骤301,获取n帧视频画面中的第n帧视频画面的帧率。

终端获取当前帧视频画面的帧率,当前帧视频画面的帧率即为n帧视频画面中的第n帧视频画面的帧率。

步骤302,根据第n帧视频画面的帧率,采用指定标准差算法计算第n帧视频画面对应的标准差,指定标准差算法为空间复杂度和时间复杂度均与n的取值无关的用于计算标准差的在线算法。

指定标准差算法为用于计算标准差的在线算法,该指定标准差算法对应的空间复杂度和时间复杂度均与n的取值无关,即该指定标准差算法对应的空间复杂度和时间复杂度均为o(1)。

终端根据第n帧视频画面的帧率,采用指定标准差算法计算第n帧视频画面对应的标准差,包括:通过如下公式计算得到第n帧视频画面对应的标准差σn:

其中,xn为第n帧视频画面的帧率,为n-1帧视频画面各自对应的帧率的平均值,为n帧视频画面各自对应的帧率的平均值,m2,1的取值为零,为标准差对应的方差。

需要说明的是,通过指定标准差算法计算得到的m2,n的取值与通过传统的标准差算法涉及的计算公式计算得到的数值是一致的。

步骤303,将第n帧视频画面对应的标准差确定为n帧视频画面对应的帧率差异值。

终端计算得到第n帧视频画面对应的标准差,将该标准差确定为n帧视频画面对应的帧率差异值。

综上所述,本实施例还通过获取n帧视频画面中的第n帧视频画面的帧率,根据第n帧视频画面的帧率采用指定标准差算法计算第n帧视频画面对应的标准差,将第n帧视频画面对应的标准差确定为n帧视频画面对应的帧率差异值;由于指定标准差算法为空间复杂度和时间复杂度均与所述n的取值无关的用于计算标准差的在线算法,指定标准差算法与传统的标准差算法相比,大大降低了空间复杂度和时间复杂度,提高了计算帧率差异值的计算效率

请参考图4,终端包括目标应用程序41、后台性能服务42和安卓显示子系统43。下面仅以目标应用程序41为游戏应用程序为例进行说明。

1、目标应用程序41用于当目标应用程序41处于前台运行时,与后台性能服务42进行连接。

2、后台性能服务42用于获取目标应用程序41对应的目标图层,将目标图层注册到安卓显示子系统43中。

3、安卓显示子系统43用于监控该目标图层对应的帧率,通过本申请实施例提供的帧率控制方法确定目标应用程序41中所显示的视频画面的帧率稳定性,若帧率稳定性为达标则向后台性能服务42通知帧率稳定性差。

请参考图5,其示出了本申请一个示例性实施例提供的帧率控制方法的流程图。本实施例以该帧率控制方法应用于图4所示出的终端中来举例说明。该帧率控制方法包括:

步骤501,当目标应用程序处于前台运行时,目标应用程序与后台性能服务进行连接。

可选的,当目标应用程序处于前台运行时,目标应用程序采用套接字(英文:socket)方式与后台性能服务的socket接口建立连接。目标应用程序的应用场景相关的数据即可以通过该连接传输给后台性能服务。

目标应用程序的应用场景相关的数据至少包括目标应用程序的包名(英文:packagename)。应用程序的包名用于唯一标识该应用程序。

步骤502,后台性能服务根据目标应用程序的包名从预置的配置文件中解析出目标图层。

后台性能服务获取处于前台运行的目标应用程序的包名,根据目标应用程序的包名从预置的配置文件中解析出目标图层。目标图层为同一图层名称的图层。

可选的,当目标应用程序为游戏应用程序时,目标图层为前景游戏图层。

步骤503,后台性能服务将目标图层注册到安卓显示子系统中。

可选的,预先在安卓显示子系统中增加一个容器,该容器用于存储目标图层的图层名称。后台性能服务通过进程间通信方式将目标图层填进该容器中。比如,进程间通信方式为binder调用方式。

步骤504,安卓显示子系统获取在指定时段内目标图层对应的n帧视频画面。

安卓显示子系统根据目标图层的图层名标,对目标图层进行监控。安卓显示子系统获取该目标图层在指定时段内对应的n帧视频画面。

步骤505,安卓显示子系统获取n帧视频画面对应的帧率差异值,帧率差异值用于指示n帧视频画面在显示时的帧率稳定性。

安卓显示子系统通过上述提供的指定标准差算法计算得到n帧视频画面对应的帧率差异值。需要说明的是,安卓显示子系统获取n帧视频画面对应的帧率差异值的过程可参考上述实施例中的计算过程,在此不再赘述。

步骤506,安卓显示子系统判断帧率差异值是否大于指定差异阈值。

安卓显示子系统判断帧率差异值是否大于指定差异阈值,当帧率差异值大于指定差异阈值时用于指示n帧视频画面在显示时的帧率稳定性差,执行步骤507;当帧率差异值小于或者等于指定差异阈值时用于指示n帧视频画面在显示时的帧率稳定性好,结束进程。

步骤507,当帧率差异值大于指定差异阈值时,安卓显示子系统向后台性能服务发送第一通知消息,该第一通知消息用于指示帧率稳定性差。

当帧率差异值大于指定差异阈值时,安卓显示子系统生成第一通知消息,该第一通知消息用于指示帧率稳定性差;安卓显示子系统向后台性能服务发送第一通知消息。

步骤508,后台性能服务在接收到第一通知消息时,采用预置的帧率稳定性策略获取目标帧率。

对应的,后台性能服务接收安卓显示子系统发送的第一通知消息。后台性能服务获取预置的帧率稳定性策略,根据帧率稳定性策略获取目标帧率。

可选的,后台性能服务将指定帧率确定为所述目标帧率,该指定帧率大于第n帧视频画面的帧率。

可选的,对于不同的芯片平台,该目标帧率为图形处理器(graphicsprocessingunit,gpu)对应的帧率或者cpu对应的帧率。

步骤509,后台性能服务根据目标帧率对目标图层对应的待显示画面进行处理。

后台性能服务根据目标帧率对目标图层对应的待显示画面进行处理,包括:后台性能服务以目标帧率对目标图层对应的待显示画面进行图层绘制处理和/或图层合成处理。

可选的,后台性能服务根据目标帧率对目标图层对应的待显示画面进行处理,包括:后台性能服务向安卓显示子系统发送目标帧率,通过安卓显示子系统以目标帧率对目标图层对应的待显示画面进行刷新处理。

综上所述,本申请实施例还通过当目标应用程序处于前台运行时,目标应用程序与后台性能服务进行连接;后台性能服务根据目标应用程序的包名从预置的配置文件中解析出目标图层;后台性能服务将目标图层注册到安卓显示子系统中;安卓显示子系统获取在指定时段内目标图层对应的n帧视频画面,使得安卓显示子系统可以目标图层对应的帧率稳定性,不依赖于目标应用程序对应的第三方服务器,进一步保证了帧率稳定性的有效控制。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参考图6,其示出了本申请一个实施例提供的帧率控制装置的结构示意图。该帧率控制装置可以通过专用硬件电路,或者,软硬件的结合实现成为图1中的终端的全部或一部分,该帧率控制装置包括:第一获取模块610、第二获取模块620、确定模块630和处理模块640。

第一获取模块610,用于获取目标应用程序在指定时段内的n帧视频画面,n为大于1的正整数;

第二获取模块620,用于获取n帧视频画面对应的帧率差异值,帧率差异值用于指示n帧视频画面在显示时的帧率稳定性;

确定模块630,用于根据预设对应关系将与帧率差异值对应的帧率确定为目标帧率,预设对应关系包括帧率差异值与帧率之间的对应关系;

处理模块640,用于根据目标帧率对目标应用程序中的待显示画面进行处理。

可选的,第二获取模块620,还用于获取n帧视频画面中的第n帧视频画面的帧率;根据第n帧视频画面的帧率,采用指定标准差算法计算第n帧视频画面对应的标准差,指定标准差算法为空间复杂度和时间复杂度均与n的取值无关的用于计算标准差的在线算法;将第n帧视频画面对应的标准差确定为n帧视频画面对应的帧率差异值。

可选的,第二获取模块620,还用于通过如下公式计算得到第n帧视频画面对应的标准差σn:

其中,xn为第n帧视频画面的帧率,为n-1帧视频画面各自对应的帧率的平均值,为n帧视频画面各自对应的帧率的平均值,m2,1的取值为零,为标准差对应的方差。

可选的,第二获取模块620,还用于获取n帧视频画面各自对应的帧率;将n帧视频画面各自对应的帧率的平均数确定为帧率平均值;计算n帧视频画面各自对应的平方参数的算数平均数,视频画面的平方参数为视频画面的帧率与帧率平均值的差值;将算数平均值的平方根确定为n帧视频画面对应的帧率差异值。

可选的,确定模块630,还用于当帧率差异值大于指定差异阈值时,将指定帧率确定为目标帧率;当帧率差异值小于或者等于指定差异阈值时,将第n帧视频画面的帧率确定为目标帧率。

可选的,终端包括后台性能服务和安卓显示子系统,第一获取模块610,还用于通过当目标应用程序处于前台运行时,目标应用程序与后台性能服务进行连接;后台性能服务根据目标应用程序的包名从预置的配置文件中解析出目标图层;后台性能服务将目标图层注册到安卓显示子系统中;安卓显示子系统获取在指定时段内目标图层对应的n帧视频画面。

可选的,处理模块640,还用于通过后台性能服务以目标帧率对目标图层对应的待显示画面进行图层绘制处理和/或图层合成处理;和/或,安卓显示子系统以目标帧率对目标图层对应的待显示画面进行刷新处理。

可选的,目标帧率包括绘制帧率、合成帧率和刷新帧率中的至少一种,绘制帧率为单位时间段内绘制图层的次数,合成帧率为单位时间段内合成视频画面的帧数,刷新帧率为单位时间段内终端的屏幕中视频画面被刷新的帧数。

相关细节可结合参考图2至图5所示的方法实施例。其中,第一获取模块610和第二获取模块620还用于实现上述方法实施例中其他任意隐含或公开的与获取步骤相关的功能;确定模块630还用于实现上述方法实施例中其他任意隐含或公开的与确定步骤相关的功能;处理模块640还用于实现上述方法实施例中其他任意隐含或公开的与处理步骤相关的功能。

需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本申请还提供一种计算机可读介质,其上存储有程序指令,程序指令被处理器执行时实现上述各个方法实施例提供的帧率控制方法。

本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个实施例所述的帧率控制方法。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的帧率控制方法中全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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