一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

帧率调整方法及装置,计算机可读存储介质、终端与流程

2022-09-03 17:40:50 来源:中国专利 TAG:


1.本发明涉及图像处理领域,尤其涉及一种帧率调整方法及装置,计算机可读存储介质、终端。


背景技术:

2.帧率稳定性与视觉流畅度强相关,稳定的帧率能够使用户获得良好的观感体验。
3.在现有技术中,帧率主要受限于硬件,在硬件性能较低或软件优化不足的情况下,不同场景的帧的绘制渲染、合成时长受到场景负载影响出现上下浮动现象,导致用户观感不佳。
4.在安卓(android)4.1中,引入了架构软件(framework)模拟垂直同步硬件(vsync)的概念,使得架构软件不再受限于固定周期性的垂直同步硬件信号的影响来渲染数据,从而能够实现在软件模型中改变屏幕刷新率。
5.然而,软件模型中的屏幕刷新率(又可以称为系统帧率)是依赖于硬件的屏幕刷新率而更改的,软件模型中的屏幕刷新率需要小于等于硬件的屏幕刷新率上限。
6.在现有技术中,通常会采用屏幕刷新率的预设比例作为固定的帧率,导致在场景负载发生浮动变化时,容易降低视觉流畅度,进而降低用户体验度。
7.亟需一种帧率调整方法,能够在场景负载发生浮动变化时,有效提高视觉流畅度。


技术实现要素:

8.本发明解决的技术问题是提供一种帧率调整方法及装置,计算机可读存储介质、终端,可以在场景负载发生浮动变化时,有效提高视觉流畅度。
9.为解决上述技术问题,本发明实施例提供一种帧率调整方法,包括:对待进行显示合成处理的当前帧图像的图层信息与前一帧图像的图层信息进行比较,并确定当前帧图像的图层信息产生变化;确定n帧图像的显示合成处理的数据处理时长;如果所述n帧图像的数据处理时长的偏差极值差大于屏幕刷新周期的预设百分比,和/或,如果所述n帧图像的数据处理时长的平均值大于屏幕刷新周期,则计算合成帧率;根据计算得到的所述合成帧率,确定自所述当前帧图像起的图像帧率;其中,n为预设的正整数。
10.可选的,所述图层信息选自:图像包含的各层图层的id信息以及属性信息;其中,所述id信息选自以下一项或多项:图层名称、图层序号;所述属性信息选自以下一项或多项:图层格式、图层大小。
11.可选的,所述计算合成帧率包括:采用所述n帧图像的数据处理时长的平均值以及所述n帧图像的数据处理时长的偏差极值差之和的倒数作为所述合成帧率。
12.可选的,根据计算得到的所述合成帧率,确定自所述当前帧图像起的图像帧率包括:在预设帧率下限值与所述屏幕刷新率之间,采用预设帧率间隔确定多个帧率等级;如果所述合成帧率大于等于所述预设帧率下限值且小于等于所述屏幕刷新率,则确定所述合成帧率对应的帧率等级,并采用该帧率等级的上限值或下限值作为所述自所述当前帧图像起
的图像帧率。
13.可选的,根据计算得到的所述合成帧率,确定自所述当前帧图像起的图像帧率还包括:如果所述合成帧率小于所述预设帧率下限值,则采用所述预设帧率下限值作为所述自所述当前帧图像起的图像帧率。
14.可选的,根据计算得到的所述合成帧率,确定自所述当前帧图像起的图像帧率还包括:如果所述合成帧率大于所述屏幕刷新率,则重新确定一帧或多帧图像的显示合成处理的数据处理时长,并计算合成帧率。
15.可选的,在确定自所述当前帧图像起的图像帧率之后,所述方法还包括:记录所述变化后的图层信息以及所述自所述当前帧图像起的图像帧率。
16.可选的,在确定n帧图像的显示合成处理的数据处理时长之前,所述方法还包括:查找预设历史时长内的记录,确定是否有与所述变化后的图层信息一致的历史图层信息对应的帧率;如果有,则采用该历史图层信息对应的帧率作为所述自所述当前帧图像起的图像帧率。
17.可选的,所述确定n帧图像的显示合成处理的数据处理时长包括:自第m帧图像起,确定n帧图像的显示合成处理的数据处理时长;其中,m为预设的正整数。
18.可选的,前m n-1帧图像采用屏幕刷新周期作为显示合成处理的数据处理时长。
19.可选的,所述屏幕刷新周期的预设百分比选自:5%~40%。
20.可选的,所述帧率调整方法用于安卓系统,且在所述安卓系统中,采用软件模型模拟硬件调整屏幕刷新率;在确定自所述当前帧图像起的图像帧率之后,所述方法还包括:触发所述硬件开启同步;触发所述软件模型中的屏幕刷新率被重置为所述自所述当前帧图像起的图像帧率。
21.为解决上述技术问题,本发明实施例提供一种帧率调整装置,包括:变化确定模块,用于对待进行显示合成处理的当前帧图像的图层信息与前一帧图像的图层信息进行比较,并确定当前帧图像的图层信息产生变化;处理时长确定模块,用于确定n帧图像的显示合成处理的数据处理时长;合成帧率计算模块,用于当所述n帧图像的数据处理时长的偏差极值差大于屏幕刷新周期的预设百分比,和/或,如果所述n帧图像的数据处理时长的平均值大于屏幕刷新周期时,计算合成帧率;帧率确定模块,用于根据计算得到的所述合成帧率,确定自所述当前帧图像起的图像帧率;其中,n为预设的正整数。
22.为解决上述技术问题,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述帧率调整方法的步骤。
23.为解决上述技术问题,本发明实施例提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述帧率调整方法的步骤。
24.与现有技术相比,本发明实施例的技术方案具有以下有益效果:
25.在本发明实施例中,首先通过判断当前帧图像的图层信息是否产生变化,确定场景及其负载改变,然后在n帧图像的数据处理时长满足预设条件的情况下,确定自所述当前帧图像起的图像帧率。采用上述方案,可以在场景及其负载改变后,显示合成处理的数据处理时长波动较大,或者显示合成处理的数据处理时长大于屏幕刷新周期时,及时确定自所述当前帧图像起的图像帧率,相比于采用固定的屏幕刷新率,在场景负载发生浮动变化时
导致降低视觉流畅度,采用本发明实施例的方案,可以在场景负载发生浮动变化时,有效提高视觉流畅度。
26.进一步,由于图层信息初变时的数帧图像受到加载过程的影响可能存在帧率不稳定的情况,或者图层信息初变时的数帧图像可能具有不可变更的、默认的屏幕刷新率,通过设置自第m帧图像起才确定自所述当前帧图像起的图像帧率,可以有效减轻图层信息初变时的数帧图像对帧率计算的影响。
27.进一步,所述图层信息可以选自:图像包含的各层图层的标识(id)信息以及属性信息,由于在图层保持一致,且图层的格式或大小未变化的情况下,可以认为图层信息未改变,此时可以继续采用帧率,而在图层信息变化后,则需要对帧率还是否适用进行判断,因此通过设置合适的图层信息,可以提高判断时机的有效性。
28.进一步,在预设帧率下限值与所述屏幕刷新率之间,采用预设帧率间隔确定多个帧率等级,对于帧率多变导致帧率调整多变,进而提高帧率维护复杂度的情况,可以预先确定几种恰当的帧率等级配置,并根据计算得到的合成帧率对应的帧率等级,选择合适的帧率,从而在降低帧率维护复杂度和帧率选择的准确性之间达到平衡。
29.进一步,在记录所述变化后的图层信息以及所述自所述当前帧图像起的图像帧率之后,还可以查找预设历史时长内的记录,并在有与所述变化后的图层信息一致的历史图层信息对应的帧率时,采用该历史图层信息对应的帧率作为所述自所述当前帧图像起的图像帧率,从而在图层信息变化后,通过遍历配置信息,确定变化后的图层信息是否已经具有适当的对应帧率,从而减少重复计算。
30.进一步,所述m n-1帧图像采用屏幕刷新周期作为显示合成处理的数据处理时长,从而对图层信息初变后的数帧图像均恢复为屏幕刷新周期,在合适的数据处理时长未知的情况下,基于硬件的屏幕刷新率尽可能提高较好的视觉清晰度。
附图说明
31.图1是本发明实施例中一种帧率调整方法的流程图;
32.图2是本发明实施例中一种用于帧率调整的基本架构示意图;
33.图3是本发明实施例中另一种帧率调整方法的流程图;
34.图4是本发明实施例中又一种帧率调整方法的流程图;
35.图5是本发明实施例中再一种帧率调整方法的部分流程图;
36.图6是本发明实施例中一种帧率调整装置的结构示意图。
具体实施方式
37.在现有技术中,通常会采用屏幕刷新率的预设比例作为固定的帧率,导致在场景负载发生浮动变化时,容易降低视觉流畅度,进而降低用户体验度。
38.本发明的发明人经过研究发现,在现有技术中,采用固定的屏幕刷新率,面对场景负载浮动变化的情况,容易发生当前帧图像的帧率与实际情况不匹配的情况,容易导致卡顿(jank)现象而降低视觉流畅度。
39.在本发明实施例中,首先通过判断当前帧图像的图层信息是否产生变化,确定场景及其负载改变,然后在n帧图像的数据处理时长满足预设条件的情况下,确定自所述当前
帧图像起的图像帧率。采用上述方案,可以在场景及其负载改变后,显示合成处理的数据处理时长波动较大,或者显示合成处理的数据处理时长大于屏幕刷新周期时,及时确定自所述当前帧图像起的图像帧率,相比于采用固定的屏幕刷新率,在场景负载发生浮动变化时导致降低视觉流畅度,采用本发明实施例的方案,可以在场景负载发生浮动变化时,有效提高视觉流畅度。
40.为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
41.参照图1,图1是本发明实施例中一种帧率调整方法的流程图。所述帧率调整方法可以包括步骤s11至步骤s14:
42.步骤s11:对待进行显示合成处理的当前帧图像的图层信息与前一帧图像的图层信息进行比较,并确定当前帧图像的图层信息产生变化;
43.步骤s12:确定n帧图像的显示合成处理的数据处理时长;
44.步骤s13:如果所述n帧图像的数据处理时长的偏差极值差大于屏幕刷新周期的预设百分比,和/或,如果所述n帧图像的数据处理时长的平均值大于屏幕刷新周期,则计算合成帧率;
45.步骤s14:根据计算得到的所述合成帧率,确定自所述当前帧图像起的图像帧率。
46.其中,n为预设的正整数。
47.可以理解的是,在具体实施中,所述方法可以采用软件程序的方式实现,该软件程序运行于芯片或芯片模组内部集成的处理器中。
48.在步骤s11的具体实施中,当前帧图像为待进行显示合成处理的,且每帧图像具有图层信息。
49.参照图2,图2是本发明实施例中一种用于帧率调整的基本架构示意图。
50.如图所示,垂直同步信号生成模块21可以生成应用程序(app)的垂直同步信号,将app的垂直同步信号发送至app 22以触发显示流程,经过绘制渲染模块23对该帧图像进行界面线程(ui thread)处理以及渲染线程(render thread)处理后,发送同步图层至显示合成(surface flinger)模块24以进行显示合成处理。
51.由于垂直同步信号生成模块21还可以生成显示合成模块24的垂直同步信号,并将显示合成模块24的垂直同步信号发送至显示合成模块24,以触发显示合成功能,因此绘制渲染模块23处理数据的速度与显示合成模块24处理数据的速度需要保持一致。
52.具体地,如果界面线程与渲染线程处理数据过慢,可能会导致显示合成线程不能及时获取需要更新的数据,严重时导致卡顿或丢帧;如果显示合成线程处理数据过慢,也可能会导致界面线程与渲染线程送过来的数据等待超时。
53.换言之,绘制渲染模块23与显示合成模块24的数据处理时长彼此影响,相互作用。某一app是否卡顿或丢帧可以结合界面线程与渲染线程的数据处理时长是否超出垂直同步信号间隔确定,或者结合显示合成线程的数据处理时长是否超出垂直同步信号间隔确定。
54.在图2示出的基本架构中,可以在显示合成模块24中新增帧率自适应(fpsconfigs)模块241,图1中示出的各个步骤可以由帧率自适应模块241实施,并且由窗口管理模块26检测用户是否开启功能来触发帧率自适应模块241。
55.当确定自所述当前帧图像起的图像帧率后,可以由帧率自适应模块241反馈更新
信号给垂直同步信号生成模块21,以使得在下一次申请显示合成模块的垂直同步信号时,垂直同步信号生成模块21可以按照更改后的周期发出信号。
56.帧率自适应模块241还可以对变化后的图层信息以及所述自所述当前帧图像起的图像帧率进行记录,例如存入配置文件模块25,从而防止重复计算帧率。在一个非限制性的具体实施方式中,垂直同步信号生成模块21也可以与配置文件模块25耦接,以存储数据。
57.继续参照图1,在步骤s11的具体实施中,每帧图像具有的图层信息可以选自:图像包含的各层图层的id信息以及属性信息。
58.其中,所述id信息可以用于唯一标识图层,所述属性信息可以用于指示能够影响帧率的那些信息。
59.进一步地,所述id信息选自以下一项或多项:图层名称、图层序号;
60.所述属性信息选自以下一项或多项:图层格式、图层大小。
61.需要指出的是,在对待进行显示合成处理的当前帧图像的图层信息与前一帧图像的图层信息进行比较的过程中,无论是id信息不同,还是属性信息不同,均可以判断为图层信息发生改变。
62.可以理解的是,图层信息相同的图像可以采用相同的帧率,图层信息不同的图像可以采用各自的帧率,图层信息与帧率之间可以具有一对一的对应关系或多对一的对应关系。
63.在本发明实施例中,所述图层信息可以选自:图像包含的各层图层的id信息以及属性信息,由于在图层保持一致,且图层的格式或大小未变化的情况下,可以认为图层信息未改变,此时可以继续采用帧率,而在图层信息变化后,则需要对帧率还是否适用进行判断,因此通过设置合适的图层信息,可以提高判断时机的有效性。
64.在步骤s12的具体实施中,确定n帧图像的显示合成处理的数据处理时长,其中,n为预设的正整数。
65.在一种非限制性的具体实施例中,可以自第1帧图像起,确定n帧图像的显示合成处理的数据处理时长。
66.进一步地,所述确定n帧图像的显示合成处理的数据处理时长包括:自第m帧图像起,确定n帧图像的显示合成处理的数据处理时长;其中,m为预设的正整数。
67.具体地,可以连续确定n帧图像的每一帧图像在显示合成处理过程中的真实的数据处理时长,也即从第m帧至第m n-1帧。
68.在一个非限制性的具体实施例中,以与屏幕交互的应用组启动时占用前6帧为例,可以设置m=7,从而跳过前6帧,然后自第7帧开始,确定每帧图像在显示合成处理过程中的起始时刻和结束时刻,以n=6为例,则确定第7帧至第12帧的起始时刻和结束时刻,从而确定该6帧图像的数据处理总时长以及各自的数据处理时长。
69.在本发明实施例中,由于图层信息初变时的数帧图像受到加载过程的影响可能存在帧率不稳定的情况,或者图层信息初变时的数帧图像可能具有不可变更的、默认的屏幕刷新率,通过设置自第m帧图像起才确定自所述当前帧图像起的图像帧率,可以有效减轻图层信息初变时的数帧图像对帧率计算的影响。
70.进一步地,前m n-1帧图像可以采用屏幕刷新周期作为显示合成处理的数据处理时长。
71.在本发明实施例中,是基于前m n-1帧图像确定是否需要计算合成帧率的,通过所述m n-1帧图像采用屏幕刷新周期作为显示合成处理的数据处理时长,可以对图层信息初变后的数帧图像均恢复为屏幕刷新周期,在合适的数据处理时长未知的情况下,基于硬件的屏幕刷新率尽可能提高较好的视觉清晰度。
72.在步骤s13的具体实施中,如果所述n帧图像的数据处理时长的偏差极值差大于屏幕刷新周期的预设百分比,和/或,如果所述n帧图像的数据处理时长的平均值大于屏幕刷新周期,则计算合成帧率。
73.其中,n帧图像的数据处理时长的偏差极值差可以是先确定n帧图像中各帧图像的数据处理时长,以及每帧图像的数据处理时长与屏幕刷新周期的偏差,然后确定各帧图像的偏差的最大值和最小值,并将最大值与最小值之差作为偏差极值差。
74.在一个非限制性的例子中,屏幕刷新率=60hz,屏幕刷新周期可以为1000/60=16(ms),以m=7,n=6,第7帧至第12帧的数据处理时长分别为18、20、15、17、16、19,则每帧图像的数据处理时长与屏幕刷新周期的偏差分别为2、4、-1、1、0、3,然后确定各帧图像的偏差的最大值4和最小值-1,并将最大值与最小值之差5作为偏差极值差。
75.具体地,可以根据n帧图像的数据处理时长的平均值以及偏差极值差,判断帧率是否稳定,从而判断是否需要更改帧率。
76.进一步地,所述屏幕刷新周期的预设百分比可以选自:5%~40%。
77.需要指出的是,所述屏幕刷新周期的预设百分比不应当设置过高,否则n帧图像的数据处理时长的偏差极值差不容易满足大于屏幕刷新周期的预设百分比的条件,导致在帧率波动过大时没有重新确定帧率;所述屏幕刷新周期的预设百分比不应当设置过低,否则会导致在帧率波动很小、帧率满足需求时也会重新确定帧率。
78.作为一个非限制性的例子,所述预设百分比可以选自10%至20%,例如15%。
79.进一步地,所述计算合成帧率的步骤可以包括:采用所述n帧图像的数据处理时长的平均值以及所述n帧图像的数据处理时长的偏差极值差之和的倒数作为所述合成帧率。
80.具体地,可以采用下述公式计算所述合成帧率:
81.fps=1/(a
t
v
t
)
82.其中,fps用于表示合成帧率,a
t
用于表示所述n帧图像的数据处理时长的平均值,v
t
用于表示所述n帧图像的数据处理时长的偏差极值差。
83.在步骤s14的具体实施中,计算得到合成帧率后,可以对合成帧率与预设帧率进行比较,并且确定自所述当前帧图像起的图像帧率。
84.进一步,根据计算得到的所述合成帧率,确定自所述当前帧图像起的图像帧率的步骤可以包括:在预设帧率下限值与所述屏幕刷新率之间,采用预设帧率间隔确定多个帧率等级;如果所述合成帧率大于等于所述预设帧率下限值且小于等于所述屏幕刷新率,则确定所述合成帧率对应的帧率等级,并采用该帧率等级的上限值或下限值作为所述自所述当前帧图像起的图像帧率。
85.其中,合成帧率对应的帧率等级可以是在对合成帧率与各个帧率等级的上限值和下限值进行判断,并确定合成帧率落入哪个帧率等级后得到的。
86.作为一个非限制性的例子,可以设置屏幕刷新率=60hz,预设帧率下限值为20hz,在其中设置每个等级为10hz,从而得到等级1为50~60hz,等级2为40~50hz,等级3为30~
40hz,等级4为20~30hz。如果合成帧率为45hz,则可以采用40hz或50hz作为自所述当前帧图像起的图像帧率。
87.在本发明实施例中,在预设帧率下限值与所述屏幕刷新率之间,采用预设帧率间隔确定多个帧率等级,对于帧率多变导致帧率调整多变,进而提高帧率维护复杂度的情况,可以预先确定几种恰当的帧率等级配置,并根据计算得到的合成帧率对应的帧率等级,选择合适的帧率,从而在降低帧率维护复杂度和帧率选择的准确性之间达到平衡。
88.进一步,根据计算得到的所述合成帧率,确定自所述当前帧图像起的图像帧率的步骤还可以包括:如果所述合成帧率小于所述预设帧率下限值,则采用所述预设帧率下限值作为所述自所述当前帧图像起的图像帧率。
89.在上述非限制性的例子中,可以设置预设帧率下限值为20hz,如果合成帧率为18hz,则可以采用20hz作为自所述当前帧图像起的图像帧率。
90.进一步,根据计算得到的所述合成帧率,确定自所述当前帧图像起的图像帧率还包括:如果所述合成帧率大于所述屏幕刷新率,则重新确定一帧或多帧图像的显示合成处理的数据处理时长,并计算合成帧率。
91.在上述非限制性的例子中,可以设置屏幕刷新率=60hz,如果合成帧率为62hz,则可以采用60hz作为自所述当前帧图像起的图像帧率。
92.在本发明实施例中,可以根据合成帧率与预设帧率的比较结果,确定自所述当前帧图像起的图像帧率,提高后续图像的显示合成处理中采用的帧率的适用性。
93.在本发明实施例中,首先通过判断当前帧图像的图层信息是否产生变化,确定场景及其负载改变,然后在n帧图像的数据处理时长满足预设条件的情况下,确定自所述当前帧图像起的图像帧率。采用上述方案,可以在场景及其负载改变后,显示合成处理的数据处理时长波动较大,或者显示合成处理的数据处理时长大于屏幕刷新周期时,及时确定自所述当前帧图像起的图像帧率,相比于采用固定的屏幕刷新率,在场景负载发生浮动变化时导致降低视觉流畅度,采用本发明实施例的方案,可以在场景负载发生浮动变化时,有效提高视觉流畅度较。进一步地,由于图层信息初变时的数帧图像受到加载过程的影响可能存在帧率不稳定的情况,或者图层信息初变时的数帧图像可能具有不可变更的、默认的屏幕刷新率,通过设置自第m帧图像起才确定自所述当前帧图像起的图像帧率,可以有效减轻图层信息初变时的数帧图像对帧率计算的影响。
94.参照图3,图3是本发明实施例中另一种帧率调整方法的流程图。所述另一种帧率调整方法可以包括步骤s301至步骤s310,以下对各个步骤进行说明。
95.在步骤s301中,确定帧率调整功能已开启。
96.具体地,例如可以采用图2中示出的窗口管理模块26检测用户是否开启功能,并在用户有意愿进行帧率调整的情况下进行后续操作。
97.在步骤s302中,判断图层信息是否产生变化,如果判断结果为是,则继续执行步骤s303。
98.具体地,如果图层信息未产生变化,则可以判断为无需对帧率进行调整。
99.在步骤s303中,采用屏幕刷新周期作为显示合成处理的数据处理时长。
100.在步骤s304中,跳过前m-1帧图像。
101.在步骤s305中,记录第m帧图像的起始时刻。
102.具体地,通过记录第m帧图像的起始时刻,可以根据第m帧图像的结束时刻确定第m帧图像的显示合成处理的数据处理时长,还可以根据第m n-1帧图像的结束时刻确定n帧图像的显示合成处理的数据处理时长的总时长,进而计算n帧图像的数据处理时长的平均值。
103.在步骤s306中,确定n帧图像的显示合成处理的数据处理时长。
104.在步骤s307中,记录第m n-1帧图像的结束时刻。
105.在步骤s308中,可以判断偏差极值差是否>屏幕刷新周期的第一预设百分比,还可以判断数据处理时长的平均值是否>屏幕刷新周期,如果判断结果为是,则继续执行步骤s309。
106.具体地,如果上述判断结果为否,则可以判断为无需对帧率进行调整。
107.在步骤s309中,计算合成帧率。
108.在步骤s310中,确定自当前帧图像起的图像帧率。
109.其中,自所述当前帧图像起的图像帧率可以用于后续图像的显示合成处理。
110.需要指出的是,后续图像可以是自当前帧图像至下一次调整图像帧率之前的各帧图像,自当前帧图像起的图像帧率可以是当前帧图像的帧率以及当前帧图像之后的后续图像的帧率。
111.在具体实施中,有关步骤s301至步骤s310的更多详细内容请参照图1中的步骤的描述进行执行,此处不再赘述。
112.在本发明实施例的一种具体实施方式中,在确定自所述当前帧图像起的图像帧率之后,所述帧率调整方法还可以包括:记录所述变化后的图层信息以及所述自所述当前帧图像起的图像帧率。
113.更进一步地,在确定n帧图像的显示合成处理的数据处理时长之前,所述帧率调整方法还可以包括:查找预设历史时长内的记录,确定是否有与所述变化后的图层信息一致的历史图层信息对应的帧率;如果有,则采用该历史图层信息对应的帧率作为所述自所述当前帧图像起的图像帧率。
114.参照图4,图4是本发明实施例中又一种帧率调整方法的流程图。所述又一种帧率调整方法可以包括步骤s41至步骤s46,以下对各个步骤进行说明。
115.在步骤s41中,确定帧率调整功能已开启。
116.在步骤s42中,判断图层信息是否产生变化,如果判断结果为是,则继续执行步骤s43。
117.在具体实施中,有关步骤s41至步骤s42的更多详细内容请参照图3中的步骤的描述进行执行,此处不再赘述。
118.在步骤s43中,判断是否有与所述变化后的图层信息一致的历史图层信息对应的帧率,如果判断结果为是,则继续执行步骤s44,如果判断结果为否,则继续执行步骤s45。
119.在具体实施中,可以记录图层信息以及图层信息对应的帧率,并建立图层信息对应的帧率之间的映射关系,从而可以在确定图层信息后,查找历史记录确定是否已经存在合适的帧率。
120.在步骤s44中,采用该历史图层信息对应的帧率作为自所述当前帧图像起的图像帧率。
121.在步骤s45中,确定自所述当前帧图像起的图像帧率。
122.需要特别指出的是,在步骤s45的具体实施中,可以参照图1中的步骤s12至步骤s14的描述进行执行,此处不再赘述。
123.在步骤s46中,记录所述变化后的图层信息以及自所述当前帧图像起的图像帧率。
124.在本发明实施例中,在记录所述变化后的图层信息以及所述自所述当前帧图像起的图像帧率之后,还可以查找预设历史时长内的记录,并在有与所述变化后的图层信息一致的历史图层信息对应的帧率时,采用该历史图层信息对应的帧率作为所述自所述当前帧图像起的图像帧率,从而在图层信息变化后,通过遍历配置信息,确定变化后的图层信息是否已经具有适当的对应帧率,从而减少重复计算。
125.进一步地,所述帧率调整方法可以用于安卓系统,且在所述安卓系统中,采用软件模型模拟硬件调整屏幕刷新率;在确定自所述当前帧图像起的图像帧率之后,所述方法还可以包括:触发所述硬件开启同步;触发所述软件模型中的屏幕刷新率被重置为所述自所述当前帧图像起的图像帧率。
126.参照图5,图5是本发明实施例中再一种帧率调整方法的部分流程图,所述再一种帧率调整方法可以包括步骤s51至步骤s54,以下对各个步骤进行说明。
127.在步骤s51中,可以确定自所述当前帧图像起的图像帧率。
128.具体地,可以参照图1、图3、图4中的步骤的描述进行执行,此处不再赘述。
129.在步骤s52中,触发硬件开启同步。
130.在步骤s53中,触发所述软件模型中的屏幕刷新率被重置为所述自所述当前帧图像起的图像帧率。
131.具体地,在硬件开启同步后,再触发重置软件模型中的屏幕刷新率,可以提高帧率调整的准确性。
132.在步骤s54中,同步给事件处理模块。
133.需要指出的是,所述事件处理模块可以用于实现对软件模型中的屏幕刷新率的更新,在具体实施中,对模块的具体名称可以不做限制。
134.在本发明实施例中,通过硬件开启同步,以及重置软件模型中的屏幕刷新率,可以实现在后续图像的显示合成处理中采用自所述当前帧图像起的图像帧率。
135.参照图6,图6是本发明实施例中一种帧率调整装置的结构示意图。所述帧率调整装置可以包括:
136.变化确定模块61,用于对待进行显示合成处理的当前帧图像的图层信息与前一帧图像的图层信息进行比较,并确定当前帧图像的图层信息产生变化;
137.处理时长确定模块62,用于确定n帧图像的显示合成处理的数据处理时长;
138.合成帧率计算模块63,用于当所述n帧图像的数据处理时长的偏差极值差大于屏幕刷新周期的预设百分比,和/或,如果所述n帧图像的数据处理时长的平均值大于屏幕刷新周期时,计算合成帧率;
139.帧率确定模块64,用于根据计算得到的所述合成帧率,确定自所述当前帧图像起的图像帧率。
140.其中,n为预设的正整数。
141.在具体实施中,上述装置可以对应于终端中具有数据处理功能的芯片;或者对应于终端中包括具有数据处理功能芯片的芯片模组,或者对应于终端。
142.作为一个非限制性的例子,上述帧率调整装置可以采用图2中示出的帧率自适应模块241。
143.关于该帧率调整装置的原理、具体实现和有益效果请参照前文所述的关于帧率调整方法的相关描述,此处不再赘述。
144.在具体实施中,关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。
145.例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
146.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述图1至图5所示实施例提供的方法的步骤。
147.具体地,在本发明实施例中,所述处理器可以为中央处理单元(central processing unit,简称cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
148.还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称ram)可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,简称ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器
(direct rambus ram,简称dr ram)。
149.本发明实施例还提供了一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述方法的步骤。所述终端包括但不限于手机、计算机、平板电脑、服务器、云平台等终端设备。
150.应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
151.本技术实施例中出现的“多个”是指两个或两个以上。本技术实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本技术实施例中对设备个数的特别限定,不能构成对本技术实施例的任何限制。虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献