本申请要求于2019年07月03日提交国家知识产权局、申请号为201910596178.x、发明名称为“一种基于垂直同步信号的图像处理方法及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请实施例涉及图像处理及显示技术领域,尤其涉及一种基于垂直同步信号的图像处理方法及电子设备。
背景技术:
随着电子技术的发展,各类电子产品(如手机)的性能越来越好。消费者对电子产品的人机交互性能的要求也越来越高。其中,流畅性是一项重要的人机交互性能。例如,流畅性可以包括跟手性能。
流畅性可以体现为从“用户向电子产品输入用户操作”到“电子产品显示该用户操作对应的图像”的延迟时间的长度。例如,上述用户操作可以是用户通过鼠标或者按键等输入的操作;或者,上述用户操作可以是用户对触摸屏的触摸操作。上述延迟时间可以称为电子设备的响应延迟。例如,上述用户操作是触摸操作的情况下,该延迟时刻可以称为触摸响应延迟。其中,延迟时间越长,流畅性(如跟手性能)越差;延迟时间越短,流畅性(如跟手性能)越好。因此,如何缩短上述延迟时间,提升电子产品的流畅性是亟待解决的一个问题。
技术实现要素:
本申请实施例提供一种基于垂直同步信号的图像处理方法及电子设备,可以缩短电子设备的响应延迟,提升电子设备的流畅性。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种基于垂直同步信号的图像处理方法,该方法可以应用于包括显示屏的电子设备。该方法可以包括:电子设备响应于第一垂直同步信号,绘制一个或多个第一图层,并在一个或多个第一图层渲染完成后,渲染所述一个或多个第一图层,并对对渲染的一个或多个第一图层进行图层合成,以得到第一图像帧;响应于第二垂直同步信号,刷新显示第一图像帧。
在第一种情况下,电子设备可以在一个同步周期完成图层的绘制、渲染和合成。即电子设备进行图层的绘制、渲染和合成所需的时长小于或等于一个同步周期。该同步周期等于第二垂直同步信号的信号周期。在这种情况下,电子设备响应于第一垂直同步信号,可以进行图层绘制、渲染和合成;而不是等待第三垂直同步信号到来后,响应于第三垂直同步信号才对渲染的第一图层进行图层合成。这样,电子设备便可以在一个同步周期(如第一同步周期)完成图层的绘制、渲染和合成。也就是说,通过本申请实施例的方法,可以将电子设备的响应延迟缩短一个同步周期,可以提升电子设备的流畅性(如跟手性能)。
在第二种情况下,电子设备不能在一个同步周期完成图层的绘制、渲染和合成。即电子设备进行图层的绘制、渲染和合成所需的时长大于一个同步周期。在这种情况下,如果采用常规的方案“响应于第三垂直同步信号,进行图层合成”,显示屏刷新显示图像帧的过程中,可能会出现丢帧的现象。而通过本申请实施例的方法,可以避免显示图像出现丢帧现象,以避免显示屏显示一帧重复图像。也就是说,通过本申请实施例的方法,可以保证显示屏显示图像的流畅性,从而提升用户的视觉体验。并且,可以提高电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性。
结合第一方面,在一种可能的设计方式中,电子设备可以检测到用户操作或者电子设备发生用户界面(userinterface,ui)事件时,响应于第一垂直同步信号,绘制一个或多个第一图层,并渲染一个或多个第一图层。该用户操作可以用户触发电子设备更新界面。
结合第一方面,在另一种可能的设计方式中,本申请实施例的方法还可以包括:电子设备对电子设备的硬件资源进行正向调度,以缩短电子设备进行图层绘制、图层渲染和/或图层合成所需的时长。
结合第一方面,在另一种可能的设计方式中,上述电子设备对电子设备的硬件资源进行正向调度,可以包括:电子设备执行以下硬件资源调度中的一项或多项,以缩短电子设备进行图层绘制、图层渲染和/或图层合成所需的时长。
其中,上述正向调度可以包括:调高电子设备的处理器的工作频率,选择大核的处理器执行上述方法,以及调高电子设备的内存工作频率。该处理器可以包括中央处理器(centralprocessingunit,cpu)和/或图形处理器(graphicsprocessingunit,gpu)。
可以理解,处理器的工作频率越高,该处理器的运算速度越快,电子设备进行图层的绘制、渲染和合成所需的时长则越短。大核处理器的运算速度快于小核处理器的运算速度。电子设备的内存工作频率越高,该电子设备的读写速度越快,电子设备进行图层的绘制、渲染和合成所需的时长则越短。电子设备对所述电子设备的硬件资源进行正向调度,可以缩短电子设备进行图层绘制、图层渲染和/或图层合成所需的时长,提高电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性。这样,如果电子设备可以在一个同步周期完成图层的绘制、渲染和合成,便可以将电子设备的响应延迟缩短一个同步周期,可以提升电子设备的流畅性(如跟手性能)。
结合第一方面,在另一种可能的设计方式中,电子设备可以根据上述第一处理帧长,对电子设备的硬件资源进行正向调度,以缩短电子设备进行图层绘制、图层渲染和/或图层合成所需的时长。例如,以电子设备调高处理器的工作频率为例,上述第一处理帧长越大,电子设备调整处理器的工作频率时,将处理器的工作频率调整的越高。
结合第一方面,在另一种可能的设计方式中,电子设备可以根据第一统计周期内电子设备在一个同步周期内完成图层绘制、图层渲染和图层合成的次数或者概率,对电子设备的硬件资源进行正向调度,以缩短电子设备进行图层绘制、图层渲染和/或图层合成所需的时长。例如,以电子设备调高处理器的工作频率为例,第一统计周期内电子设备在一个同步周期内完成图层绘制、图层渲染和图层合成的次数越少,或者第一统计周期内电子设备在一个同步周期内完成图层绘制、图层渲染和图层合成的概率越小;电子设备调整处理器的工作频率时,将处理器的工作频率调整的越高。
结合第一方面,在另一种可能的设计方式中,电子设备可以根据电子设备的前台应用,对电子设备的硬件资源进行正向调度,以缩短电子设备进行图层绘制、图层渲染和/或图层合成所需的时长。前台应用是显示屏当前显示的界面对应的应用。
可以理解,电子设备中可以安装多个应用。电子设备在前台运行不同应用时,进行图层绘制、渲染和合成所需的时间不同。因此,可以针对每一个应用设置一个用于对电子设备的硬件资源进行正向调度的方式或者策略。例如,以电子设备调高处理器的工作频率为例,电子设备运行前台应用时,进行图层绘制、渲染和合成所需的时长越大,电子设备调整处理器的工作频率时,将处理器的工作频率调整的越高。
结合第一方面,在另一种可能的设计方式中,上述电子设备可以在第一统计周期的第一处理帧长小于或等于预设单帧帧长的情况下,响应于第一垂直同步信号,绘制一个或多个第一图层,并渲染一个或多个第一图层,并在一个或多个第一图层渲染完成后,对渲染的一个或多个第一图层进行图层合成,以得到第一图像帧。
其中,上述第一处理帧长是第一渲染帧长和第一sf帧长之和。该第一渲染帧长是进行图层绘制和对绘制的图层进行渲染所需的时长。该第一sf帧长是对渲染的图层进行图层合成所需的时长。
可以理解,如果第一统计周期(即当前时刻的前一个统计周期)的第一处理帧长小于或等于预设单帧帧长,则表示在第一统计周期电子设备可以在一个同步周期完成图层的绘制、渲染和合成。那么在该第一统计周期的下一个统计周期(即当前时刻所在的统计周期),电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性则较高。
结合第一方面,在另一种可能的设计方式中,上述预设单帧帧长小于或等于第二垂直同步信号的信号周期。
结合第一方面,在另一种可能的设计方式中,如果第一统计周期(即当前时刻的前一个统计周期)的第一处理帧长大于预设单帧帧长,则表示在第一统计周期电子设备不能在一个同步周期完成图层的绘制、渲染和合成。那么,在该第一统计周期的下一个统计周期(即当前时刻所在的统计周期),电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性则较低。在这种情况下,电子设备则可以响应于第一垂直同步信号,绘制一个或多个第一图层;响应于第三垂直同步信号,对渲染的第一图层进行图层合成,以得到第一图像帧。
结合第一方面,在另一种可能的设计方式中,即使第一处理帧长大于预设单帧时长,电子设备也可以响应于第一垂直同步信号,绘制一个或多个第一图层,并渲染一个或多个第一图层,并在一个或多个第一图层渲染完成后,对渲染的一个或多个第一图层进行图层合成,以得到第一图像帧。这样,电子设备可以提前进行图层合成,可以提高电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性。
结合第一方面,在另一种可能的设计方式中,本申请实施例的方法还可以包括:电子设备获取第一统计周期的一个或多个第二处理帧长;根据一个或多个第二处理帧长,确定第一处理帧长。其中,每个第二处理帧长是第二渲染帧长和第二sf帧长之和。第二渲染帧长是进行图层绘制和对绘制的图层进行渲染所需的时长。第二sf帧长是对渲染的图层进行图层合成所需的时长。其中,在上述一个或多个第二处理帧长包括多个第二处理帧长的情况下,上述第一处理帧长是多个第二处理帧长中最大的第二处理帧长;或者,上述第一处理帧长是多个第二处理帧长的平均值。
结合第一方面,在另一种可能的设计方式中,上述响应于第一垂直同步信号,绘制一个或多个第一图层,并渲染一个或多个第一图层,并在一个或多个第一图层渲染完成后,对渲染的一个或多个第一图层进行图层合成,以得到第一图像帧,可以包括:电子设备响应于第一垂直同步信号,在第一同步周期绘制一个或多个第一图层,渲染一个或多个第一图层,并对在一个或多个第一图层渲染完成后,渲染的一个或多个第一图层进行图层合成,以得到第一图像帧。该第一同步周期是第一垂直同步信号对应的同步周期。也就是说,本申请实施例中,电子设备可以在进行图层绘制和渲染的一个同步周期(即第一同步周期)内,便开始进行图层合成。
结合第一方面,在另一种可能的设计方式中,本申请实施例的方法还可以包括:如果第一处理帧长大于所述预设单帧帧长,电子设备对所述电子设备的硬件资源进行正向调度,以缩短电子设备进行图层绘制、图层渲染和/或图层合成所需的时长。其中,电子设备对电子设备的硬件资源进行正向调度的具体方法,以及达到的技术效果,可以参考上述可能的设计方式中的描述,本申请实施例这里不予赘述。
结合第一方面,在另一种可能的设计方式中,上述一个或多个图层可以包括:电子设备执行一个或多个应用对应的绘制任务所绘制的图层。该一个或多个应用可以包括:一个或多个系统级应用,以及一个或多个用户级应用中的至少一个。例如,该系统级应用可以包括:状态栏、launcher、导航栏和壁纸等。上述用户级应用可以包括:“设置”“电话”和“短消息”等电子设备的系统应用,以及电子设备可响应于用户的操作从应用商店下载的第三方应用。例如,第三方应用可以包括“微信”、“支付宝”、“百度地图”等应用。
结合第一方面,在另一种可能的设计方式中,上述电子设备响应于第一垂直同步信号,绘制一个或多个第一图层,并渲染一个或多个第一图层,并在一个或多个第一图层渲染完成后,对渲染的一个或多个第一图层进行图层合成,以得到第一图像帧,具体可以包括:电子设备响应于第一垂直同步信号,分别针对一个或多个应用中的每个应用,绘制一个或多个第一图层,并渲染一个或多个第一图层;电子设备对电子设备针对一个或多个应用渲染的一个或多个第一图层进行图层合成,以得到第一图像帧。也就是说,响应于第一垂直同步信号,电子设备可以针对每个应用进行图层绘制和渲染;然后再对电子设备针对一个或多个应用中所有应用渲染的一个或多个第一图层进行图层合成,得到第一图像帧。
结合第一方面,在另一种可能的设计方式中,上述在一个或多个第一图层渲染完成后,对渲染的一个或多个第一图层进行图层合成,以得到第一图像帧,具体可以包括:电子设备在一个或多个应用中的焦点应用、关键应用或者与电子设备的流畅性强相关的应用的一个或多个第一图层渲染完成后,对电子设备针对一个或多个应用已渲染的第一图层进行图层合成,以得到第一图像帧。也就是说,当电子设备完成焦点应用的图层渲染时,即使其他应用的图层渲染还未完成,电子设备也可以开始对已经完成渲染的第一图层进行图层合成,以得到第一图像帧。
结合第一方面,在另一种可能的设计方式中,上述在一个或多个第一图层渲染完成后,对渲染的一个或多个第一图层进行图层合成,以得到第一图像帧,具体可以包括:电子设备在上述一个或多个第一图层中的焦点图层、关键图层或者与电子设备的流畅性强相关的图层渲染完成后,对电子设备针对一个或多个应用已渲染的第一图层进行图层合成,以得到第一图像帧。
结合第一方面,在另一种可能的设计方式中,电子设备可以根据上述一个或多个应用中的焦点应用对应的第一渲染帧长,以及电子设备对一个或多个应用对应的第一sf帧长,确定上述第一处理帧长。
结合第一方面,在另一种可能的设计方式中,电子设备可以根据一个或多个应用中每个应用对应的第一渲染帧长中,最大的第一渲染帧长,以及电子设备对一个或多个应用对应的第一sf帧长,确定第一处理帧长。
结合第一方面,在另一种可能的设计方式中,电子设备对电子设备的硬件资源进行正向调度之后,在电子设备的屏幕刷新率大于预设刷新率阈值时,电子设备可以对电子设备的硬件资源进行负向调度,以降低电子设备的功耗。这样,电子设备可以在低功耗的前提下,避免上述第二种情况中,显示图像出现丢帧现象,以避免显示屏显示一帧重复图像。
结合第一方面,在另一种可能的设计方式中,电子设备对电子设备的硬件资源进行正向调度之后,当电子设备的屏幕刷新率大于预设刷新率阈值时,如果第一处理帧长大于预设双帧帧长,电子设备可以对电子设备的硬件资源进行负向调度,以降低电子设备的功耗。这样,电子设备可以在低功耗的前提下,避免上述第二种情况中,显示图像出现丢帧现象,以避免显示屏显示一帧重复图像。
结合第一方面,在另一种可能的设计方式中,电子设备可以执行以下负向调度中的一项或多项,以降低电子设备的功耗。其中,上述负向调度包括:调低电子设备的处理器的工作频率,选择小核的处理器执行所述方法,以及调低电子设备的内存工作频率。
结合第一方面,在另一种可能的设计方式中,上述预设双帧帧长小于或等于第二垂直同步信号的信号周期的k倍。其中,k≥2。
结合第一方面,在另一种可能的设计方式中,电子设备调高处理器的工作频率的方法可以包括:电子设备按照第一预设步进调高所述处理器的工作频率;或者,电子设备根据所述第一处理帧长与所述预设单帧帧长的差值,调高所述处理器的工作频率。该处理器的工作频率的调整幅度与所述差值的大小成正比。
结合第一方面,在另一种可能的设计方式中,本申请实施例的方法还可以包括:如果第一处理帧长满足预设条件,则调低处理器的工作频率。其中,第一处理帧长满足预设条件,具体包括:第一处理帧长小于预设单帧帧长;或者,第一处理帧长小于预设单帧帧长,且预设单帧帧长与第一处理帧长的差值大于第一预设时长。
可以理解,如果第一处理帧长小于预设单帧帧长,则表示电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性较高。在这种情况下,可能是因为处理器的工作频率较高,使得处理器的运算速度较快,从而使得电子设备可以一个同步周期完成图层的绘制、渲染和合成。但是,处理器的工作频率过高,会导致电子设备的功耗较大。因此,电子设备可以调低处理器的工作频率。
结合第一方面,在另一种可能的设计方式中,为了防止调整处理器的工作频率时出现乒乓现象。本申请实施例的方法还可以包括:如果连续n个统计周期的第一处理帧长满足预设条件,则调低处理器的工作频率,n≥2,n是正整数。这样,不仅可以防止调整处理器的工作频率时出现乒乓现象,还可以实现调整处理器的工作频率时的快升慢降。如此,可以在保证电子设备进行图层的绘制、渲染和合成的系统稳定性的前提下,缩短电子设备的触摸响应时延,提升电子设备的流畅性(如跟手性能)。
结合第一方面,在另一种可能的设计方式中,电子设备调低处理器的工作频率的方法可以包括:电子设备按照第二预设步进调低所述处理器的工作频率。
其中,第二预设步进可以等于第一预设步进。或者,第二预设步进也可以小于第一预设步进。
需要注意的是,在第二预设步进小于第一预设步进的情况下,电子设备可以以快升慢降的方式调整处理器的工作频率。这样,有利于电子设备执行本申请实施例的方法,缩短电子设备的触摸响应时延,提升电子设备的流畅性(如跟手性能)。
结合第一方面,在另一种可能的设计方式中,本申请实施例的方法还可以包括:在一个统计周期内,如果绘制并渲染一个或多个第三图层时第一特征点的耗费时长大于所述第一特征点对应的第二预设时长,则将处理器的工作频率调整为所述处理器的最大工作频率。其中,所述第一特征点至少包括以下任一种:绘制所述一个或多个第三图层;渲染所述一个或多个第三图层;绘制所述一个或多个第三图层的过程中执行任一个函数;渲染所述一个或多个第三图层的过程中执行任一个函数。
可以理解,在一个统计周期内,如果第一特征点的耗费时长大于第一特征点对应的第二预设时长,则表示电子设备采用加速渲染模式对应的方法,无法完成一个或多个第三图层的绘制和渲染的可能性较高。
其中,一个或多个第三图层是该统计周期内电子设备正在绘制或渲染的图层。在这种情况下,电子设备可以对处理器进行瞬时提频,将处理器的工作频率调整为处理器的最大工作频率。处理器瞬时提频后,可以提升处理器的运算速度,进而可以缩短电子设备进行图层绘制、渲染和合成所需的时长。
结合第一方面,在另一种可能的设计方式中,在电子设备将处理器的工作频率调整为处理器的最大工作频率之后,本申请实施例的方法还可以包括:如果第三处理帧长大于预设单帧帧长,则响应于第三垂直同步信号,对渲染的图层进行图层合成得到图像帧。其中,第三处理帧长是第三渲染帧长和第三sf帧长之和。第三渲染帧长是绘制并渲染一个或多个第三图层所需的时长。第三sf帧长是对渲染的一个或多个第三图层进行图层合成所需的时长。
结合第一方面,在另一种可能的设计方式中,上述预设单帧时长是同步周期与预设时延阈值的差值。该预设时延阈值大于或等于零。
结合第一方面,在另一种可能的设计方式中,在上述电子设备则响应于第一垂直同步信号,绘制一个或多个第一图层,并渲染一个或多个第一图层,并在一个或多个第一图层渲染完成后,对渲染的一个或多个第一图层进行图层合成,以得到第一图像帧之前,本申请实施例的方法还可以包括:响应于第一事件,启动加速渲染模式。
其中,启动所述加速渲染模式后,电子设备响应于第一垂直同步信号,不仅可以绘制一个或多个第一图层,并渲染一个或多个第一图层,还可以对渲染的一个或多个第一图层进行图层合成,以得到第一图像帧。上述第一事件可以包括:接收到用户的第一操作;和/或,第一统计周期的第一处理帧长小于或等于预设单帧帧长。其中,第一统计周期是当前时刻的前一个统计周期。
结合第一方面,在另一种可能的设计方式中,电子设备响应于第二事件,可以退出上述加速渲染模式。该第二事件可以包括:接收到用户的第二操作;和/或,第一统计周期的第一处理帧长大于预设单帧帧长。
其中,在电子设备退出上述加速渲染模式之后,本申请实施例的方法还可以包括:响应于第一垂直同步信号,绘制一个或多个第二图层,并渲染一个或多个第二图层;响应于第三垂直同步信号,对渲染的一个或多个第二图层进行图层合成得到第二图像帧;响应于第二垂直同步信号刷新显示第二图像帧。
第二方面,本申请提供一种电子设备,该电子设备包括触摸屏、存储器和一个或多个处理器;所述触摸屏、所述存储器和所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,所述电子设备执行如第一方面及其任一种可能的设计方式所述的方法。
第三方面,本申请提供一种芯片系统,该芯片系统应用于包括触摸屏的电子设备;所述芯片系统包括一个或多个接口电路和一个或多个处理器;所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,所述电子设备执行如第一方面及其任一种可能的设计方式所述的方法。
第四方面,本申请提供一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第一方面及其任一种可能的设计方式所述的方法。
第五方面,本申请提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面及其任一种可能的设计方式所述的方法。
可以理解地,上述提供的第二方面所述的电子设备,第三方面所述的芯片系统,第四方面所述的计算机存储介质,第五方面所述的计算机程序产品所能达到的有益效果,可参考第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
图1a为本申请实施例提供的一种电子设备响应于触摸操作显示图像的软件处理流程示意图;
图1b为图1a所示的软件处理流程中的延迟示意图;
图2为本申请实施例提供的一种电子设备的硬件结构示意图;
图3为本申请实施例提供的一种图像处理流程示意图;
图4为本申请实施例提供的一种基于垂直同步信号的图像处理方法流程图;
图5为本申请实施例提供的一种用于触发图层绘制的垂直同步信号、用于触发图层渲染的垂直同步信号和用于触发图层合成的垂直同步信号的示意图;
图6a为本申请实施例提供的一种基于垂直同步信号的图像处理方法原理示意图;
图6b为本申请实施例提供的另一种基于垂直同步信号的图像处理方法原理示意图;
图6c为本申请实施例提供的另一种基于垂直同步信号的图像处理方法原理示意图;
图6d为本申请实施例提供的另一种基于垂直同步信号的图像处理方法原理示意图;
图7为本申请实施例提供的另一种基于垂直同步信号的图像处理方法原理示意图;
图8a为本申请实施例提供的另一种基于垂直同步信号的图像处理方法原理示意图;
图8b为本申请实施例提供的另一种基于垂直同步信号的图像处理方法流程图;
图9为本申请实施例提供的另一种基于垂直同步信号的图像处理方法流程图;
图10为本申请实施例提供的一种显示界面示意图;
图11为本申请实施例提供的另一种基于垂直同步信号的图像处理方法流程图;
图12为本申请实施例提供的另一种基于垂直同步信号的图像处理方法流程图;
图13为本申请实施例提供的另一种基于垂直同步信号的图像处理方法流程图;
图14为本申请实施例提供的一种垂直同步信号的相位调整装置的结构组成示意图;
图15为本申请实施例提供的另一种电子设备响应于触摸操作显示图像的软件处理流程示意图;
图16为本申请实施例提供的一种测试场景的测试结果示意图;
图17为本申请实施例提供的一种芯片系统的结构示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供一种基于垂直同步信号的图像处理方法,该方法可以应用于包括触摸屏的电子设备。具体的,该方法可以应用于电子设备响应于用户在触摸屏的触摸操作,在触摸屏显示图像的过程中。
其中,“用户向电子设备输入用户操作”到“电子设备显示该用户操作对应的图像”的延迟时间可以称为电子设备响应延迟。电子设备的流畅性(如跟手性能)可以体现为响应延迟的长度。例如,上述用户操作是触摸操作时,上述流畅性可以为跟手性能,上述响应延迟可以称为触摸响应延迟。该触摸响应延迟是从“用户手指在触摸屏输入触摸操作”到“触摸屏显示该触摸操作对应的图像”的延迟时间。
具体的,电子设备的响应延迟越长,电子设备的流畅性(如跟手性能)越差;电子设备的响应延迟越短,电子设备的流畅性(如跟手性能)越好。其中,电子设备的流畅性(如跟手性能)越好,用户通过用户操作(如触摸操作)控制电子设备的使用体验越好,感觉越流畅。通过本申请实施例的方法,可以提高电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性。从而可以缩短电子设备的响应延迟,提升电子设备的流畅性(如跟手性能),提升用户体验。
请参考图1a,其以上述用户操作是触摸操作为例,示出从“用户手指在触摸屏输入触摸操作”到“触摸屏显示该触摸操作对应的图像”过程中,电子设备的软件处理流程示意图。如图1a所示,电子设备可以包括:触控面板(touchpanel,tp)/tp驱动(driver)10、input框架(即inputframework)20、ui框架(即uiframework)30、display框架(即displayframework)40和硬件显示模块50。
如图1a所示,电子设备的软件处理流程可以包括以下步骤(1)-步骤(5)。
步骤(1):tpic/tp驱动10中的tp采集用户手指对电子设备的tp的触摸操作后,tp驱动向eventhub上报相应的触摸事件。
步骤(2):input框架20的inputreader线程可以从eventhub中读取触摸事件,然后向inputdispatcher线程发送该触摸事件;由inputdispatcher线程向ui框架30中的ui线程(如doframe)上传该触摸事件。
步骤(3):ui框架30中的ui线程绘制该触摸事件对应的一个或多个图层;渲染线程(如drawframe)对一个或多个图层进行图层渲染。
步骤(4):display框架40中的合成线程对绘制的一个或多个图层(即渲染后的一个或多个图层)进行图层合成得到图像帧。
步骤(5):硬件显示模块50的液晶显示面板(liquidcrystaldisplay,lcd)驱动可接收合成的图像帧,由lcd显示合成的图像帧。lcd显示图像帧后,lcd显示的图像可被人眼感知。
本申请实施例这里通过分析“用户手指在触摸屏输入触摸操作”到“触摸屏显示该触摸操作对应的图像被人眼感知”过程中、电子设备的处理流程,对电子设备缩短响应延迟的原理进行简单说明。
其中,上述步骤(1)中,tpic/tp驱动10采集触摸操作并向input框架20上报触控时间的过程中,可能会存在图1b所示的内核延迟。上述步骤(2)中,input框架20处理触控时间并向ui框架输入触控事件的过程中,可能会存在图1b所示的输入延迟。上述步骤(3)中,ui框架中的ui线程绘制触摸事件对应的一个或多个图层,可能会存在图1b所示的绘制延迟(也称为ui线程延迟);并且,渲染线程进行图层渲染可能会存在图1b所示的渲染延迟。上述步骤(4)中,display框架40中的合成线程进行图层合成可能会存在图1b所示的合成延迟。上述步骤(5)中,硬件显示模块50显示合成的图像帧的过程中,可能会存在图1b所示的送显延迟。
本申请实施例提供的一种基于垂直同步信号的图像处理方法,可以通过缩短图1b所示的“绘制延迟”、“渲染延迟”和“合成延迟”,以缩短电子设备的响应延迟,提升电子设备的流畅性(如跟手性能)。
示例性的,本申请实施例中的电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、上网本,以及蜂窝电话、个人数字助理(personaldigitalassistant,pda)、增强现实(augmentedreality,ar)\虚拟现实(virtualreality,vr)设备等包括触摸屏的设备,本申请实施例对该电子设备的具体形态不作特殊限制。
下面将结合附图对本申请实施例的实施方式进行详细描述。
请参考图2,为本申请实施例提供的一种电子设备200的结构示意图。如图2所示,电子设备200可以包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(universalserialbus,usb)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270a,受话器270b,麦克风170c,耳机接口270d,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及用户标识模块(subscriberidentificationmodule,sim)卡接口295等。
其中,传感器模块280可以包括压力传感器280a,陀螺仪传感器280b,气压传感器280c,磁传感器280d,加速度传感器280e,距离传感器280f,接近光传感器280g,指纹传感器280h,温度传感器280j,触摸传感器280k,环境光传感器280l,以及骨传导传感器280m等。
可以理解的是,本实施例示意的结构并不构成对电子设备200的具体限定。在另一些实施例中,电子设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(applicationprocessor,ap),调制解调处理器,gpu,图像信号处理器(imagesignalprocessor,isp),控制器,存储器,视频编解码器,数字信号处理器(digitalsignalprocessor,dsp),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(inter-integratedcircuit,i2c)接口,集成电路内置音频(inter-integratedcircuitsound,i2s)接口,脉冲编码调制(pulsecodemodulation,pcm)接口,通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)接口,移动产业处理器接口(mobileindustryprocessorinterface,mipi),通用输入输出(general-purposeinput/output,gpio)接口,用户标识模块(subscriberidentitymodule,sim)接口,和/或通用串行总线(universalserialbus,usb)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备200的结构限定。在另一些实施例中,电子设备200也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块240用于从充电器接收充电输入。充电管理模块240为电池242充电的同时,还可以通过电源管理模块241为电子设备供电。
电源管理模块241用于连接电池242,充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210,内部存储器221,外部存储器,显示屏294,摄像头293,和无线通信模块260等供电。在其他一些实施例中,电源管理模块241也可以设置于处理器210中。在另一些实施例中,电源管理模块241和充电管理模块240也可以设置于同一个器件中。
电子设备200的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备200中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。
移动通信模块250可以提供应用在电子设备200上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块250可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoiseamplifier,lna)等。移动通信模块250可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块250还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器270a,受话器270b等)输出声音信号,或通过显示屏294显示图像或视频。
无线通信模块260可以提供应用在电子设备200上的包括无线局域网(wirelesslocalareanetworks,wlan)(如无线保真(wirelessfidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(globalnavigationsatellitesystem,gnss),调频(frequencymodulation,fm),近距离无线通信技术(nearfieldcommunication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得电子设备200可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(globalsystemformobilecommunications,gsm),通用分组无线服务(generalpacketradioservice,gprs),码分多址接入(codedivisionmultipleaccess,cdma),宽带码分多址(widebandcodedivisionmultipleaccess,wcdma),时分码分多址(time-divisioncodedivisionmultipleaccess,td-scdma),长期演进(longtermevolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(globalpositioningsystem,gps),全球导航卫星系统(globalnavigationsatellitesystem,glonass),北斗卫星导航系统(beidounavigationsatellitesystem,bds),准天顶卫星系统(quasi-zenithsatellitesystem,qzss)和/或星基增强系统(satellitebasedaugmentationsystems,sbas)。
电子设备200通过gpu,显示屏294,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏294和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
显示屏294用于显示图像,视频等。该显示屏294包括显示面板。显示面板可以采用液晶显示屏(liquidcrystaldisplay,lcd),有机发光二极管(organiclight-emittingdiode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganiclightemittingdiode,amoled),柔性发光二极管(flexlight-emittingdiode,fled),miniled,microled,micro-oled,量子点发光二极管(quantumdotlightemittingdiodes,qled)等。
其中,本申请实施例中的显示屏294可以是触摸屏。即该显示屏294中集成了触摸传感器280k。该触摸传感器280k也可以称为“触控面板”。也就是说,显示屏294可以包括显示面板和触摸面板,由触摸传感器280k与显示屏294组成触摸屏,也称“触控屏”。触摸传感器280k用于检测作用于其上或附近的触摸操作。触摸传感器280k检测到的触摸操作后,可以由内核层的驱动(如tp驱动)传递给上层,以确定触摸事件类型。可以通过显示屏294提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器280k也可以设置于电子设备200的表面,与显示屏294所处的位置不同。
电子设备200可以通过isp,摄像头293,视频编解码器,gpu,显示屏294以及应用处理器等实现拍摄功能。isp用于处理摄像头293反馈的数据。摄像头293用于捕获静态图像或视频。数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。视频编解码器用于对数字视频压缩或解压缩。电子设备200可以支持一种或多种视频编解码器。这样,电子设备200可以播放或录制多种编码格式的视频,例如:动态图像专家组(movingpictureexpertsgroup,mpeg)1,mpeg2,mpeg3,mpeg4等。
npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备200的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口220可以用于连接外部存储卡,例如microsd卡,实现扩展电子设备200的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行电子设备200的各种功能应用以及数据处理。例如,在本申请实施例中,处理器210可以通过执行存储在内部存储器221中的指令,内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflashstorage,ufs)等。
电子设备200可以通过音频模块270,扬声器270a,受话器270b,麦克风170c,耳机接口270d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块270用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块270还可以用于对音频信号编码和解码。扬声器270a,也称“喇叭”,用于将音频电信号转换为声音信号。受话器270b,也称“听筒”,用于将音频电信号转换成声音信号。麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。耳机接口270d用于连接有线耳机。
压力传感器280a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器280a可以设置于显示屏294。压力传感器280a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器280a,电极之间的电容改变。电子设备200根据电容的变化确定压力的强度。当有触摸操作作用于显示屏294,电子设备200根据压力传感器280a检测所述触摸操作强度。电子设备200也可以根据压力传感器280a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。本申请实施例中,电子设备200可以通过压力传感器280a获取用户的触摸操作的按压力度。
按键290包括开机键,音量键等。按键290可以是机械按键。也可以是触摸式按键。电子设备200可以接收按键输入,产生与电子设备200的用户设置以及功能控制有关的键信号输入。马达291可以产生振动提示。马达291可以用于来电振动提示,也可以用于触摸振动反馈。指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。sim卡接口295用于连接sim卡。sim卡可以通过插入sim卡接口295,或从sim卡接口295拔出,实现和电子设备200的接触和分离。电子设备200可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口295可以支持nanosim卡,microsim卡,sim卡等。
以下实施例中的方法均可以在具有上述硬件结构的电子设备200中实现。
以下对本申请实施例中涉及的术语进行介绍:
垂直同步信号1:如vsync_app。该垂直同步信号1可以用于触发绘制一个或多个图层。需要注意的是,本申请实施例中“垂直同步信号1可以用于触发绘制一个或多个图层”具体是指:垂直同步信号1可以用于触发绘制一个或多个图层,并触发对该一个或多个图层进行渲染。即本申请实施例中,绘制的一个或多个图层是指渲染后的一个或多个图层。本申请实施例中,电子设备响应于垂直同步信号1,可以通过多个绘制线程中的每个绘制线程分别针对每个应用绘制一个或多个图层。即电子设备响应于垂直同步信号1,可以同时针对一个或多个应用执行绘制任务,以绘制每个应用对应的一个或多个图层。其中,上述一个或多个应用的详细描述可以参考以下实施例中的相关内容,本申请实施例这里不予赘述。
垂直同步信号2:如vsync_sf。该垂直同步信号2可以用于触发对绘制的一个或多个图层进行图层合成得到图像帧。
垂直同步信号3:如hw_vsync。该垂直同步信号3可以用于触发硬件刷新显示图像帧。
其中,本申请实施例中的垂直同步信号1(如vsync_app)为权利要求书中所述的第一垂直同步信号,垂直同步信号2(如vsync_sf)为权利要求书中所述的第三垂直同步信号,垂直同步信号3(hw_vsync)为权利要求书中所述的第二垂直同步信号。
需要注意的是,在不同的系统或者架构中,垂直同步信号的名称可能不同。例如,在一些系统或者架构中,上述用于触发绘制一个或多个图层的垂直同步信号(即垂直同步信号1)的名称可能不是vsync_app。但是,无论垂直同步信号的名称是什么,只要是具备类似功能的同步信号,符合本申请实施例提供的方法的技术思路,都应涵盖在本申请的保护范围之内。
并且,在不同的系统或者架构中,对上述垂直同步信号的定义也可能不同。例如,在另一些系统或架构中,上述垂直同步信号1的定义可以为:垂直同步信号1可以用于触发渲染一个或多个图层;垂直同步信号2的定义可以为:垂直同步信号2可以用于触发根据一个或多个图层生成图像帧;垂直同步信号3的定义可以为:垂直同步信号3可以用于触发显示图像帧。本申请实施例中,对垂直同步信号的定义不作限定。但是,无论对垂直同步信号做何种定义,只要是具备类似功能的同步信号,符合本申请实施例提供的方法的技术思路,都应涵盖在本申请的保护范围之内。
结合图1a,响应于用户操作(例如,用户对tp的触摸操作,如图3所示,手指触摸tp)或者电子设备发生ui事件,ui框架可以在垂直同步信号1到来的时刻,调用ui线程绘制触控事件对应的一个或多个图层,再调用渲染线程以对该一个或多个图层进行渲染。例如,用户操作还可以是用户通过鼠标或者按键等输入的操作。电子设备响应于用户通过鼠标或按键等输入的用户操作,也可以通过本申请实施例的方法,提升电子设备的流畅性。然后,硬件合成(hardwarecomposer,hwc)可以在垂直同步信号2到来的时刻,调用合成线程对绘制的一个或多个图层(即渲染后的一个或多个图层)进行图层合成得到图像帧;最后,硬件显示模块可以在垂直同步信号3到来的时刻,在lcd(即显示屏,如上述显示屏294,此处以lcd为例)刷新显示上述图像帧。其中,上述ui事件可以是由用户对tp的触摸操作触发的。或者,该ui事件可以是由电子设备自动触发的。例如,电子设备的前台应用自动切换画面时,可以触发上述ui事件。前台应用是电子设备的显示屏当前显示的界面对应的应用。
需要注意的是,ui框架是基于垂直同步信号1周期性的进行图层绘制和渲染的;硬件合成hwc是基于垂直同步信号2周期性的进行图层合成的;lcd是基于垂直同步信号3周期性的进行图像帧刷新的。
其中,垂直同步信号3是由电子设备的显示屏驱动触发的硬件信号。本申请实施例中,垂直同步信号3(如hw_vsync)的信号周期t3是根据电子设备的显示屏的屏幕刷新率确定的。具体的,垂直同步信号3的信号周期t3是电子设备的显示屏(如lcd)的屏幕刷新率的倒数。
例如,电子设备的显示屏的屏幕刷新率可以为60赫兹(hz)、70hz、75hz或者80hz等任一值。以屏幕刷新率是60hz为例,上述垂直同步信号3的信号周期t3=1/60=0.01667秒(s)=16.667毫秒(ms)。需要注意的是,其中,电子设备可能支持多个不同的屏幕刷新率。例如,假设电子设备支持的最大屏幕刷新率为80hz。那么,该电子设备则可能支持屏幕刷新率80hz、60hz或者40hz等。本申请实施例中所述的屏幕刷新率是电子设备当前所使用的屏幕刷新率。即垂直同步信号3的信号周期t3是电子设备当前所使用的屏幕刷新率的倒数。
需要注意的是,本申请实施例中的垂直同步信号3是周期性离散信号。例如,如图5所示,每间隔一个信号周期(如t3)就会有一个由硬件驱动触发的垂直同步信号3,图5中多次出现的垂直同步信号3是按照垂直同步信号3的信号周期t3依次地到来。
而垂直同步信号1和垂直同步信号2是基于垂直同步信号3产生的。即垂直同步信号3可以是垂直同步信号1和垂直同步信号2的信号源;或者,垂直同步信号1和垂直同步信号2与垂直同步信号3同步。故垂直同步信号1和垂直同步信号2的信号周期与垂直同步信号3的信号周期相同,且相位一致。例如,如图5所示,垂直同步信号1的信号周期t1,垂直同步信号2的信号周期t2和垂直同步信号3的信号周期t3相同。即t1=t2=t3。并且,如图5所示,垂直同步信号1、垂直同步信号2,以及垂直同步信号3的相位一致。可以理解的是,实际实施过程中,垂直同步信号1、垂直同步信号2,以及垂直同步信号3之间可能会因为各种因素(如处理性能)存在一定的相位误差。需要注意的是,在理解本申请实施例的方法时,上述相位误差被忽略。
需要注意的是,上述垂直同步信号1和垂直同步信号2也是周期性离散信号。例如,如图5所示,每间隔一个信号周期(如t1)就会有一个垂直同步信号1,每间隔一个信号周期(如t2)就会有一个垂直同步信号2,即图5中多次出现的垂直同步信号1是按照垂直同步信号1的信号周期t1依次地到来,图5中多次出现的垂直同步信号2是按照垂直同步信号2的信号周期t2依次地到来。因此,上述垂直同步信号3、垂直同步信号1和垂直同步信号2都可以看做是周期性离散信号。
由于垂直同步信号1、垂直同步信号2和垂直同步信号3都是周期性信号;因此,本申请实施例所述的垂直同步信号到来(如垂直同步信号1到来),都是指该垂直同步信号的脉冲边缘到来;响应于垂直同步信号(如响应于垂直同步信号1),都是指响应于该垂直同步信号的脉冲边缘。例如,如图5所示,t1时刻的垂直同步信号1到来,是指t1时刻垂直同步信号1的脉冲边缘到来;响应于t1时刻的垂直同步信号1,是指响应于t1时刻垂直同步信号1的脉冲边缘。
其中,上述脉冲边缘是一种从示波器或者观测系统中形象地观察到的脉冲的边缘。在不同系统中可能是上升沿或者下降沿或者二者都包括,在实际系统中上可以是通过定时器翻转、中断信号等方式实现。
本申请实施例中,上述垂直同步信号1、垂直同步信号2和垂直同步信号3的信号周期都可以称为同步周期tz。即t1=t2=t3=tz。也就是说,本申请实施例中的同步周期是电子设备的显示屏的屏幕刷新率的倒数。其中,图3所示的frame1、frame2、frame3和frame4均为上述同步周期。例如,电子设备的显示屏的屏幕刷新率可以为60赫兹(hz)、70hz、75hz或者80hz等任一值。以屏幕刷新率可以是60hz为例,上述同步周期tz=1/60=0.01667秒(s)=16.667毫秒(ms),即t1=t2=t3=tz=16.667ms。
其中,tp是触控面板tp可以集成在上述显示屏294中。tp也成称为触摸传感器,如上述触摸传感器280k。tp可以周期性检测用户的触摸操作。tp检测到触摸操作后,可以唤醒上述垂直同步信号1和垂直同步信号2,以触发ui框架基于垂直同步信号1进行图层绘制和渲染,硬件合成hwc基于垂直同步信号2进行图层合成。其中,tp检测触摸操作的检测周期与垂直同步信号3(如hw_vsync)的信号周期t3相同。
可以理解,由于绘制线程是基于垂直同步信号1进行图层绘制的,然后再由渲染线程进行图层渲染;合成线程是基于垂直同步信号2(如vsync_sf)进行图层合成的;因此,电子设备进行图层的绘制、渲染和合成需要在两个同步周期才可以完成。
例如,如图3所示,图层的绘制和渲染在frame2完成,而图像帧合成则在frame3完成。其中,图3所示的frame1、frame2、frame3和frame4分别对应一个同步周期。
但是,在一些情况下,电子设备进行图层的绘制、渲染和合成所需的时长可能小于或等于一个同步周期。也就是说,在上述两个同步周期(如图3所示的frame2和frame3)中,电子设备可能只占用了一部分时间进行图层的绘制、渲染和合成;其他时间则在等待垂直同步信号2和垂直同步信号3的到来。如此,则会造成电子设备的响应延迟不必要的延长,影响电子设备的流畅性(如跟手性能)。
本申请实施例提供的方法中,可以在电子设备进行图层的绘制、渲染和合成所需的时长满足单帧渲染要求(如上述所需的时长小于或等于一个同步周期)时,在一个同步周期内进行图层的绘制、渲染和合成。这样,便可以缩短图1b所示的“绘制延迟”、“渲染延迟”和“合成延迟”,以缩短电子设备的响应延迟,提升电子设备的流畅性(如跟手性能)。具体的,通过本申请实施例的方法,可以提高电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性。即电子设备缩短响应延迟的收益点可以为一个同步周期。
本申请实施例提供的一种基于垂直同步信号的图像处理方法的执行主体可以是生成图像帧的装置。该生成图像帧的装置可以是上述电子设备中的任一种(例如,相位调整装置可以为图2所示的电子设备200)。或者,该生成图像帧的装置还可以为电子设备的cpu,或者电子设备中的用于执行所述基于垂直同步信号的图像处理方法的控制模块。本申请实施例中以电子设备执行基于垂直同步信号的图像处理方法为例,说明本申请实施例提供的基于垂直同步信号的图像处理方法。
以下实施例中,以第一垂直同步信号是上述垂直同步信号1(如vsync_app信号),第三垂直同步信号是上述垂直同步信号2(如vsync_sf信号),第二垂直同步信号是上述垂直同步信号3(如hw_vsync信号)为例,对本申请实施例的方法进行说明。
实施例(一)
本申请实施例提供一种基于垂直同步信号的图像处理方法。如图4所示,该基于垂直同步信号的图像处理方法可以包括s401-s402。
s401、响应于垂直同步信号1,电子设备绘制一个或多个第一图层,并渲染一个或多个第一图层,并在上述一个或多个第一图层渲染完成后,对渲染的一个或多个第一图层进行图层合成,以得到第一图像帧。
一般而言,垂直同步信号1相对于垂直同步信号3的延迟时间为零,相位差为零。例如,如图5所示,垂直同步信号1、垂直同步信号2相对于垂直同步信号3的延迟时间为零,相位差为零。其中,在垂直同步信号1的信号周期t1、垂直同步信号2的信号周期t2与垂直同步信号3的信号周期t3相同(即t1=t3=tz)的前提下,垂直同步信号1、垂直同步信号2相对于垂直同步信号3的延迟时间为零,具体可以为:在一个垂直同步信号3到来的同时,也会有一个垂直同步信号1和一个垂直同步信号2到来。
例如,如图5或图6a中的(a)所示,在t1时刻,一个垂直同步信号1、一个垂直同步信号2和一个垂直同步信号3同时到来;在t2时刻,一个垂直同步信号1、一个垂直同步信号2和一个垂直同步信号3同时到来;在t3时刻,一个垂直同步信号1、一个垂直同步信号2和一个垂直同步信号3同时到来;在t4时刻,一个垂直同步信号1、一个垂直同步信号2和一个垂直同步信号3同时到来;在t5时刻,一个垂直同步信号1、一个垂直同步信号2和一个垂直同步信号3同时到来。
示例性的,如图6a中的(a)所示,t1时刻,一个垂直同步信号1到来;响应于t1时刻的垂直同步信号1,电子设备可以执行绘制1和渲染1;t2时刻,一个垂直同步信号1到来;响应于t2时刻的垂直同步信号1,电子设备可以执行绘制2和渲染2。
一般而言,电子设备(即电子设备的hwc)是基于垂直同步信号2进行图层合成的。也就是说,即使电子设备(即电子设备的ui线程和渲染线程)已经完成一个或多个第一图层的渲染,但是如果没有检测到垂直同步信号2,hwc是不会进行对渲染的一个或多个第一图层进行图层合成的。hwc只会在垂直同步信号2的时刻到来时进行图层合成以得到图像帧。
例如,如图6a中的(a)所示,即使电子设备已经在t6时刻完成图层的渲染(即“渲染1”),但是t6时刻之后的t2时刻,垂直同步信号2才可以到来;响应于t2时刻的垂直同步信号2,电子设备(即电子设备的hwc)才可以进行图层合成(即执行“图像帧合成1”)得到第一图像帧。也就是说,电子设备需要等待图6a中的(a)所示的δt1,才可以执行“图像帧合成1”。
又例如,如图6a中的(a)所示,即使电子设备已经在t7时刻完成图层的渲染(即“渲染2”),但是t7时刻之后的t3时刻,垂直同步信号2才可以到来;响应于t3时刻的垂直同步信号2,电子设备(即电子设备的hwc)才可以进行图层合成(即执行“图像帧合成2”)得到第一图像帧。也就是说,电子设备需要等待图6a中的(a)所示的δt2,才可以执行“图像帧合成2”。
如此,电子设备进行图层的绘制、渲染和合成需要在两个同步周期才可以完成。例如,如图6a中的(a)所示,“绘制1”和“渲染1”在t1时刻至t2时刻这一同步周期完成,而“图像帧合成1”则在t2时刻至t3时刻这一同步周期完成。又例如,如图6a中的(a)所示,“绘制2”和“渲染2”在t2时刻至t3时刻这一同步周期完成,而“图像帧合成2”则在t3时刻至t4时刻这一同步周期完成。
而本申请实施例中,电子设备不需要等待垂直同步信号2,响应于垂直同步信号1,绘制并渲染一个或多个第一图层渲染后,即在一个或多个第一图层渲染完成后,便可以开始对渲染的第一图层进行图层合成,以得到第一图像帧。也就是说,电子设备可以提前对渲染的第一图层进行图层合成。
例如,如图6a中的(b)所示,响应于垂直同步信号1,电子设备可以执行“绘制1”、“渲染1”和“图像帧合成1”。如图6a中的(b)所示,在t6时刻,“绘制1”和“渲染1”已结束。电子设备可以在t2时刻的垂直同步信号2到来之前,在t6时刻便开始进行图层合成,即执行“图像帧合成1”。即电子设备不需要等待t2时刻的垂直同步信号2到来,便可以开始执行“图像帧合成1”。
又例如,如图6a中的(b)所示,响应于垂直同步信号1,电子设备可以执行“绘制2”、“渲染2”和“图像帧合成2”。如图6a中的(b)所示,在t7时刻,“绘制2”和“渲染2”已结束。电子设备可以在t3时刻的垂直同步信号2到来之前,在t6时刻便开始进行图层合成,即执行“图像帧合成2”。即电子设备不需要等待t3时刻的垂直同步信号2到来,便可以开始执行“图像帧合成2”。
需要注意的是,在上述一个或多个第一图层仅包括一个第一图层的情况下,电子设备对这个一个第一图层进行图层合成,具体包括:电子设备对这一个第一图层进行格式转换,将这一个第一图层转换为第一图像帧。在上述一个或多个第一图层包括多个第一图层的情况下,电子设备对该多个第一图层进行图层合成,具体包括:电子设备对该多个第一图层进行图层合成,得到第一图像帧。
示例性的,s401中,电子设备对渲染的一个或多个第一图层进行图层合成以得到第一图像帧,具体可以包括:渲染线程完成一个或多个第一图层的渲染后,可以调用合成线程对渲染的一个或多个第一图层进行图层合成以得到第一图像帧;或者,渲染线程完成一个或多个第一图层的渲染后,向合成线程发送指示消息,以触发合成线程对渲染的一个或多个第一图层进行图层合成以得到第一图像帧;或者,合成线程可以在检测到渲染线程完成一个或多个第一图层的渲染时,对渲染的一个或多个第一图层进行图层合成以得到第一图像帧。
可以理解的是,s401中,电子设备可以在完成一个或多个第一图层的渲染后,立即对渲染的一个或多个第一图层进行图层合成。或者,s401中,电子设备在完成一个或多个第一图层的渲染后,可以在一定的延迟时间后,对渲染的一个或多个第一图层进行图层合成。也就是说,在实际实施过程中,电子设备执行图层渲染和图层合成之间可以存在一定的延迟。
s402、响应于垂直同步信号3,电子设备刷新显示第一图像帧。
如图6a中的(b)所示,在t2时刻,一个垂直同步信号3到来;响应于t2时刻的垂直同步信号3,电子设备可以刷新显示执行“图像帧合成1”得到的图像帧(如第一图像帧),即执行“图像帧显示1”;在t3时刻,一个垂直同步信号3到来;响应于t3时刻的垂直同步信号3,电子设备刷新显示执行“图像帧合成2”得到的图像帧,即执行“图像帧显示2”。
实施例(一)中缩短电子设备的响应延迟的原理及效果分析。
本申请实施例这里结合图6a中的(b),对电子设备执行s401后,缩短电子设备的响应延迟的原理及效果进行分析说明:
(1)电子设备进行图层的绘制、渲染和合成所需的时长小于或等于一个同步周期的情况(即第一种情况)下,本申请实施例中缩短响应延迟的原理及效果说明。
其中,电子设备进行图层的绘制、渲染和合成所需的时长可能小于或等于一个同步周期。在这种情况下,电子设备执行s401可以在一个同步周期(如第一同步周期)完成图层的绘制、渲染和合成。
例如,如图6a中的(b)所示,电子设备在t1时刻至t2时刻这一同步周期完成了“绘制1”、“渲染1”和“图像帧合成1”;电子设备在图6a中的(b)所示的在t2时刻至t3时刻这一同步周期完成了“绘制2”、“渲染2”和“图像帧合成2”。
对比图6a中的(b)和图6a中的(a)可知:采用本申请实施例的方法,电子设备可以提前一个同步周期(如t2时刻相比于t3时刻,提前一个同步周期tz)刷新显示第一图像帧。也就是说,通过本申请实施例的方法,可以将电子设备的响应延迟缩短一个同步周期,可以提升电子设备的流畅性(如跟手性能)。
(2)电子设备进行图层的绘制、渲染和合成所需的时长大于一个同步周期的情况(即第二种情况)下,本申请实施例中缩短响应延迟的原理及效果说明。
其中,电子设备进行图层的绘制、渲染和合成所需的时长,或者电子设备进行图层的绘制和渲染所需的时长可能大于一个同步周期。在这种情况下,采用常规的方案“响应于垂直同步信号2,进行图层合成”,显示屏刷新显示图像帧的过程中,可能会出现丢帧的现象。具体的,显示屏刷新显示图像帧的过程中,可能会显示一帧重复图像。这样,会影响显示屏显示图像的流畅性,从而影响用户的视觉体验。
例如,如图7中的(a)所示,在t1时刻,一个垂直同步信号1到来;响应于t1时刻的垂直同步信号1,电子设备执行“绘制1”和“渲染1”;在t2时刻,一个垂直同步信号2到来;响应于t2时刻的垂直同步信号2,电子设备执行“图像帧合成1”;在t3时刻,一个垂直同步信号3到来;响应于t3时刻的垂直同步信号3,电子设备执行“图像帧显示1”。如图7中的(a)所示,在t2时刻,一个垂直同步信号1到来;响应于t2时刻的垂直同步信号1,电子设备执行“绘制2”和“渲染2”。由于“绘制2”和“渲染2”无法在一个同步周期(如t2时刻到t3时刻这一同步周期)内完成,即电子设备在t3时刻的垂直同步信号2到来之前,未完成“渲染2”;因此,电子设备只能等待t4时刻的垂直同步信号2到来,响应于t4时刻的垂直同步信号2,执行“图像帧合成2”。如此,电子设备也只能等待t5时刻的垂直同步信号3到来,响应于t5时刻的垂直同步信号3,电子设备执行“图像帧显示2”。
结合上述描述,由图7中的(a)可知:由于“绘制2”和“渲染2”无法在一个同步周期(如t2时刻到t3时刻这一同步周期)内完成,导致电子设备只能等待t4时刻的垂直同步信号2到来,响应于t4时刻的垂直同步信号2执行“图像帧合成2”;因此,在t4时刻到t5时刻这一同步周期,显示屏显示图像出现丢帧现象,即显示屏会显示一帧重复图像,即显示屏在t4时刻到t5时刻继续执行“图像帧显示1”。其中,显示屏在t4时刻到t5时刻显示的图像帧与在t3时刻到t4时刻显示的图像帧是同一个图像帧。
而通过本申请实施例的方法,可以避免显示图像出现丢帧现象,以避免显示屏显示一帧重复图像。也就是说,通过本申请实施例的方法可以保证显示屏显示图像的流畅性,从而提升用户的视觉体验。
例如,如图7中的(b)所示,响应于垂直同步信号1,电子设备可以执行“绘制1”、“渲染1”和“图像帧合成1”。如图7中的(b)所示,在t9时刻,“绘制1”和“渲染1”已结束。电子设备可以在t2时刻的垂直同步信号2到来之前,在t9时刻便开始进行图层合成,即执行“图像帧合成1”。即电子设备不需要等待t2时刻的垂直同步信号2到来,便可以开始执行“图像帧合成1”。
又例如,如图7中的(b)所示,响应于垂直同步信号1,电子设备可以执行“绘制2”、“渲染2”和“图像帧合成2”。如图7中的(b)所示,在t10时刻,“绘制2”和“渲染2”已结束。电子设备可以在t4时刻的垂直同步信号2到来之前,在t10时刻便开始进行图层合成,即执行“图像帧合成2”。即电子设备不需要等待t4时刻的垂直同步信号2到来,便可以开始执行“图像帧合成2”。
再例如,如图7中的(b)所示,响应于垂直同步信号1,电子设备可以执行“绘制3”、“渲染3”和“图像帧合成2”。如图7中的(b)所示,在t11时刻,“绘制3”和“渲染3”已结束。电子设备可以在t5时刻的垂直同步信号2到来之前,在t11时刻便开始进行图层合成,即执行“图像帧合成3”。即电子设备不需要等待t5时刻的垂直同步信号2到来,便可以开始执行“图像帧合成3”。
由图7中的(b)可知:电子设备在t10时刻开始执行“图像帧合成2”,在t4时刻的垂直同步信号3到来之前便可以完成“图像帧合成2”。这样,电子设备便可以在t4时刻的垂直同步信号3到来后,响应于t4时刻的垂直同步信号3,执行“图像帧显示2”。如此,便可以避免显示屏显示图像出现丢帧现象,可以保证显示屏显示图像的流畅性,从而提升用户的视觉体验。
需要注意的是,在上述第二种情况下,电子设备虽然无法在一个同步周期完成图层的绘制、渲染和合成;如图7中的(b)所示,电子设备在t1时刻到t3时刻的两个同步周期才完成“绘制1”、“渲染1”和“合成1”;在t2时刻到t4时刻的两个同步周期才完成“绘制2”、“渲染2”和“合成2”;但是,可以避免显示屏显示图像出现丢帧现象,可以保证显示屏显示图像的流畅性,从而提升用户的视觉体验。并且,电子设备提前进行图层合成,可以提高电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性。
实施例(二)
本申请实施例,对电子设备针对一个或多个应用,执行上述方法的原理说明。
上述的一个或多个图层可以包括:电子设备执行一个或多个应用对应的绘制任务所绘制的图层。该一个或多个应用可以包括:一个或多个系统级应用,以及一个或多个用户级应用中的至少一个。例如,该系统级应用可以包括:状态栏、launcher、导航栏和壁纸等。上述用户级应用可以包括:“设置”“电话”和“短消息”等电子设备的系统应用,以及电子设备可响应于用户的操作从应用商店下载的第三方应用。例如,第三方应用可以包括“微信”、“支付宝”、“百度地图”等应用。本申请实施例所述的绘制任务包括“图层绘制”和“图层渲染”。
相应的,上述s401具体可以包括s401a和s401b。s401a:电子设备响应于垂直同步信号1,分别针对一个或多个应用中的每个应用,绘制一个或多个第一图层,并渲染一个或多个第一图层。s401b:电子设备对电子设备针对一个或多个应用渲染的一个或多个第一图层进行图层合成,以得到第一图像帧。
需要注意的是,本申请实施例中,电子设备可以对电子设备针对一个或多个应用渲染的图层,统一进行图层合成得到一个图像帧。或者,电子设备可以对电子设备针对每个应用渲染的图层,分别进行图层合成得到多个图像帧。本申请实施例(如s401b)中,以电子设备对电子设备针对一个或多个应用渲染的图层,统一进行图层合成得到一个图像帧为例,进行说明。
以下通过两种应用场景,对电子设备针对一个或多个应用,执行本申请实施例的方法,进行图层的绘制、渲染、合成以及图像帧显示的原理进行说明。
在应用场景(一)中,上述一个或多个应用可以仅包括一个应用。电子设备可以执行该一个应用对应的绘制任务,绘制(即绘制并渲染)一个或多个图层。即电子设备可以针对这一个应用执行s401a,以绘制并渲染对应的一个或多个图层。然后,电子设备可以执行s401b,对针对这一个应用渲染的一个或多个图层进行图层合成。
示例性的,以上述一个应用是应用1为例,电子设备可以执行s401a,针对应用1绘制并渲染一个或多个图层1;然后,电子设备可以执行s401b,对针对该应用1渲染的一个或多个图层1进行图层合成,得到图像帧1。
例如,如图6a中的(b)所示,电子设备响应于t1时刻的垂直同步信号1,可以执行“绘制1”和“渲染1”,得到渲染的一个或多个图层1;然后,对渲染的一个或多个图层1进行图层合成,即执行“图像帧合成1”,得到图像帧1;响应于t2时刻的垂直同步信号3,电子设备可执行“图像帧显示1”,刷新显示图像帧1。
在应用场景(二)中,上述一个或多个应用可以包括多个应用。电子设备可以分别执行该多个应用对应的绘制任务,分别针对该多个应用中的每个应用绘制(即绘制并渲染)一个或多个图层。即电子设备可以分别针对这多个应用中的每个应用执行s401a,以绘制并渲染对应的一个或多个图层。然后,电子设备可以执行s401b,对针对这多个应用分别渲染的一个或多个图层进行图层合成。即s401b中,渲染的一个或多个图层可以包括:电子设备执行多个应用对应的绘制任务,得到的图层。
示例性的,以上述多个应用是2个应用(包括应用1和应用a)为例,电子设备可以针对应用1,绘制并渲染得到一个或多个图层1;针对应用a绘制并渲染得到一个或多个图层a。然后,电子设备可以对上述一个或多个图层1和上述一个或多个图层a,进行图层合成得到图像帧a。
例如,如图6b所示,电子设备响应于t1时刻的垂直同步信号1,可以针对应用1执行“绘制1”和“渲染1”,得到上述一个或多个图层1,针对应用a执行“绘制a”和“渲染a”,得到上述一个或多个图层a;然后,电子设备可以对一个或多个图层1和一个或多个图层a,执行“图像帧合成1+a”得到图像帧a;响应于t2时刻的垂直同步信号3,电子设备可执行“图像帧显示1+a”,刷新显示图像帧a。又例如,如图6b所示,电子设备响应于t2时刻的垂直同步信号1,可以针对应用1执行“绘制2”和“渲染2”,得到上述一个或多个图层2,针对应用a执行“绘制b”和“渲染b”,得到上述一个或多个图层b;然后,电子设备可以对一个或多个图层2和一个或多个图层b,执行“图像帧合成2+b”得到图像帧b;响应于t3时刻的垂直同步信号3,电子设备可执行“图像帧显示2+b”,刷新显示图像帧b。
需要注意的是,图6b所示的“图像帧合成1+a”和“图像帧合成2+b”均表示一次图层合成。电子设备执行“图像帧显示1+a”或“图像帧显示2+b”时,刷新显示的也是一帧图像。
由上述描述可知,本申请实施例的方法不仅可以应用于电子设备以单窗口显示一个应用的界面的场景中,还可以应用于电子设备以多窗口显示多个应用的界面的场景中。例如,本申请实施例的方法可以应用于电子设备横屏显示多窗口的场景中,还可以应用于折叠屏电子设备以多窗口显示多个应用的界面的场景中。其中,电子设备以单窗口或多窗口显示应用的界面的方法,本申请实施例这里不予赘述。
需要注意的是,本申请实施例中,以电子设备针对一个应用,执行本申请实施例的方法为例进行说明。但是,并不表示本申请实施例提供的方法中,电子设备不能同时针对多应用进行图层的绘制、渲染、合成以及图像帧显示。
实施例(三)
本实施例针对上述应用场景(二),即多个应用的场景,对电子设备执行s401b的具体方法进行说明。
在情况(1),电子设备可以在上述多个应用中所有应用的图层渲染均结束时,对已经渲染的图层进行图层合成,得到第一图像帧。
例如,如图6b所示,电子设备响应于t1时刻的垂直同步信号1,可以针对应用1执行“绘制1”和“渲染1”,得到上述一个或多个图层1,针对应用a执行“绘制a”和“渲染a”,得到上述一个或多个图层a。如图6b所示,电子设备在t15时刻完成“渲染a”,在t6时刻完成“渲染1”。在情况(1)中,即使电子设备在t15时刻已经完成“渲染a”;但是,由于电子设备还未完成“渲染1”;因此,电子设备在t15时刻不会开始进行图层合成(即执行“图像帧合成1+a”)。如图6b所示,在t6时刻电子设备已完成“渲染a”和“渲染1”;因此,电子设备可以执行“图像帧合成1+a”,以得到图像帧a。响应于t2时刻的垂直同步信号3,电子设备可执行“图像帧显示1+a”,即刷新显示图像帧a。
同理,在t16时刻之后的t7时刻电子设备已完成“渲染b”和“渲染2”;因此,电子设备可以执行“图像帧合成2+b”,以得到图像帧b。响应于t3时刻的垂直同步信号3,电子设备可执行“图像帧显示2+b”,即刷新显示图像帧b。
在情况(2)中,电子设备可以在上述多个应用中部分应用的图层渲染均结束时,对已经渲染的图层进行图层合成,得到第一图像帧。
在情况(2)中,上述s401b可以替换为:电子设备在一个或多个应用中的焦点应用、关键应用或者与电子设备的流畅性强相关的应用等应用的一个或多个第一图层渲染结束时,对电子设备针对一个或多个应用已渲染的一个或多个第一图层进行图层合成,以得到第一图像帧。该焦点应用是电子设备接收的用户触摸操作对应的应用,即实际焦点所聚焦的应用。
例如,以焦点应用为例。结合上述实例,假设应用a是焦点应用。如图6c所示,电子设备在t15时刻完成应用a的“渲染a”,在t6时刻完成应用1的“渲染1”。在情况(2)中,虽然电子设备在t15时刻还未完成“渲染1”;但是,电子设备在t15时刻已经完成焦点应用a的“渲染a”;因此,电子设备可以在t15时刻进行图层合成(即执行“图像帧合成a”)。又例如,如图6c所示,电子设备在t16时刻完成应用a的“渲染b”,在t6时刻完成应用1的“渲染2”。在情况(2)中,虽然电子设备在t16时刻还未完成“渲染2”;但是,电子设备在t16时刻已经完成焦点应用a的“渲染b”;因此,电子设备可以在t16时刻进行图层合成(即执行“图像帧合成1+b”)。
可以理解,由于应用a是焦点应用;因此,用户更加关注应用a的界面变化。也就是说,用户更加关注焦点应用a的界面变化对电子设备的流畅性的影响。上述实例中,电子设备在t15时刻执行“图像帧合成a”,在t16时刻执行“图像帧合成1+b”,也可以在界面上体现出焦点应用a的界面变化,可以提升用户对电子设备的流畅性的视觉体验。
在情况(3)中,电子设备可以在上述多个应用中部分应用的预设图层渲染均结束时,对已经渲染的图层进行图层合成,得到第一图像帧。
示例性的,电子设备可以在焦点应用或者与电子设备的流畅性强相关的应用等应用的预设图层渲染结束时,对电子设备针对已渲染的一个或多个第一图层进行图层合成,以得到第一图像帧。其中,该预设图层可以是电子设备针对焦点应用或者与电子设备的流畅性强相关的应用等应用绘制的一个或多个第一图层中,图层面积与显示屏的面积的比值大于预设比例阈值的图层。或者,该预设图层可以是电子设备针对焦点应用、关键应用或者与电子设备的流畅性强相关的应用等应用绘制的一个或多个第一图层中,与电子设备接收的用户触摸操作对应的图层,即实际焦点所聚焦的图层。或者,该预设图层可以是电子设备针对焦点应用、关键应用或者与电子设备的流畅性强相关的应用等应用绘制的一个或多个第一图层中,与电子设备的流畅性强相关的图层。
例如,以焦点应用的预设图层为例。结合上述实例,假设应用a是焦点应用。如图6d所示,电子设备在t15时刻完成应用a的“渲染a”,在t6时刻完成应用1的“渲染1”;电子设备在t15时刻之前的t17时刻已完成“渲染a”中预设图层的渲染。其中,“渲染a”可以包括“渲染a1”和“渲染a2”。“渲染a1”是“渲染a”中预设图层的渲染。因此,如图6d所示,电子设备可以在t17时刻进行图层合成(即执行“图像帧合成a1”),即对“渲染a1”渲染得到的预设图层进行图层合成。又例如,如图6c所示,电子设备在t16时刻完成应用a的“渲染b”,在t6时刻完成应用1的“渲染2”;电子设备在t16时刻之前的t18时刻已完成“渲染b”中预设图层的渲染。其中,“渲染b”可以包括“渲染b1”和“渲染b2”。“渲染b1”是“渲染b”中预设图层的渲染。因此,电子设备可以在t18时刻进行图层合成(即执行“图像帧合成1+a2+b1”),即对“渲染1”、“渲染a2”和“渲染b1”渲染得到的预设图层进行图层合成。
可以理解,由于应用a是焦点应用;因此,用户更加关注应用a的界面变化。而焦点应用a的界面变化主要体现在上述预设图层的变化。也就是说,用户更加关注焦点应用a的预设图层的变化对电子设备的流畅性的影响。上述实例中,电子设备在t17时刻执行“图像帧合成a1”,在t18时刻执行“图像帧合成1+a2+b1”,也可以在界面上体现出焦点应用a的预设图层的变化,可以提升用户对电子设备的流畅性的视觉体验。
需要注意的是,本申请实施例中,上述应用或图层的关键程度或者对电子设备的流畅性的影响程度,可以根据统计(例如在实验室中)识别或者应用(例如开发时)预设的优先级信息来识别和比较得到,也可以根据用户的行为、关注焦点等进行分析和预测得到。本申请实施例这里对电子设备确定应用的关键程度,以及应用对电子设备的流畅性的影响程度的具体方法不作限定。
实施例(四)
结合实施例(一),本实施例中,电子设备还可以对电子设备的硬件资源进行正向调度,以缩短电子设备进行图层的绘制、渲染和合成所需的时长。具体的,电子设备可以执行以下硬件资源调度中的一项或多项,以缩短电子设备进行图层绘制、图层渲染和/或图层合成所需的时长。其中,上述正向调度可以包括:调高电子设备的处理器的工作频率,选择大核的处理器执行上述方法,以及调高电子设备的内存工作频率。该处理器可以包括cpu和/或gpu。
可以理解,处理器的工作频率越高,该处理器的运算速度越快,电子设备进行图层的绘制、渲染和合成所需的时长则越短。并且,大核处理器的运算速度快于小核处理器的运算速度。电子设备的内存工作频率越高,该电子设备的读写速度越快,电子设备进行图层的绘制、渲染和合成所需的时长则越短。为了缩短电子设备进行图层的绘制、渲染和合成所需的时长,缩短电子设备响应延迟,电子设备可以对电子设备的硬件资源进行正向调度。
其中,电子设备对电子设备的硬件资源进行正向调度,可以缩短电子设备进行图层的绘制、渲染和合成所需的时长。这样,可以提高电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性,从而缩短电子设备响应延迟,电子设备可以对所述电子设备的硬件资源进行正向调度。
在一种实现方式中,电子设备可以根据上述第一处理帧长,对电子设备的硬件资源进行正向调度,以缩短电子设备进行图层绘制、图层渲染和/或图层合成所需的时长。其中,上述第一处理帧长越大,电子设备对电子设备的硬件资源进行正向调度的幅度越大。例如,以电子设备调高处理器的工作频率为例,上述第一处理帧长越大,电子设备调整处理器的工作频率时,将处理器的工作频率调整的越高。
在另一种实现方式中,电子设备可以根据第一统计周期内电子设备在一个同步周期内完成图层绘制、图层渲染和图层合成的次数或者概率,对电子设备的硬件资源进行正向调度,以缩短电子设备进行图层绘制、图层渲染和/或图层合成所需的时长。其中,上述概率是第一统计周期内电子设备在一个同步周期内完成图层绘制、图层渲染和图层合成的次数与总次数的比值。
其中,第一统计周期内电子设备在一个同步周期内完成图层绘制、图层渲染和图层合成的次数越少,概率越小;电子设备对电子设备的硬件资源进行正向调度的幅度越大。例如,以电子设备调高处理器的工作频率为例,第一统计周期内电子设备在一个同步周期内完成图层绘制、图层渲染和图层合成的次数越少,概率越小;电子设备调整处理器的工作频率时,将处理器的工作频率调整的越高。
在另一种实现方式中,电子设备可以根据电子设备的前台应用,对电子设备的硬件资源进行正向调度,以缩短电子设备进行图层绘制、图层渲染和/或图层合成所需的时长。该前台应用可以是电子设备的显示屏当前显示的界面对应的应用。
可以理解,电子设备中可以安装多个应用。电子设备在前台运行不同应用时,进行图层绘制、渲染和合成所需的时间不同。电子设备运行一个前台应用时,进行图层绘制、渲染和合成所需的时间越长;对电子设备的硬件资源进行正向调度的幅度越大。本申请实施例中,可以针对每一个应用设置一个用于对硬件资源进行正向调度的方式或者策略。
例如,以电子设备调高处理器的工作频率为例,电子设备运行前台应用时,进行图层绘制、渲染和合成所需的时长越大,电子设备调整处理器的工作频率时,将处理器的工作频率调整的越高。
在另一种实现方式中,电子设备中可以保存预设人工智能(artificialintelligence,ai)模型的模型代码。该预设ai模型是具备“根据‘第一处理帧长’、‘第一统计周期内电子设备在一个同步周期内完成图层绘制、图层渲染和图层合成的次数或者概率’或者‘电子设备的前台应用’,对电子设备的硬件资源进行正向调度,以提升单帧渲染合成的可能性”功能的ai模型。该预设ai模型是根据‘第一处理帧长’、‘第一统计周期内电子设备在一个同步周期内完成图层绘制、图层渲染和图层合成的次数或者概率’或者‘电子设备的前台应用’进行多次样本训练得到的。其中,单帧渲染合成是指电子设备在一个同步周期完成图层的绘制、渲染和合成。
电子设备可以运行该预设ai模型的模型代码,根据‘第一处理帧长’、‘第一统计周期内电子设备在一个同步周期内完成图层绘制、图层渲染和图层合成的次数或者概率’或者‘电子设备的前台应用’,对电子设备的硬件资源进行正向调度,以缩短电子设备进行图层的绘制、渲染和合成所需的时长。这样,可以提高电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性,从而缩短电子设备响应延迟,电子设备可以对所述电子设备的硬件资源进行正向调度。
需要注意的是,电子设备对电子设备的硬件资源进行正向调度的具体方法可以参考下述实施例中的相关描述,本申请实施例这里不予赘述。
本申请实施例中,电子设备对电子设备的硬件资源进行正向调度,缩短响应延迟的效果说明。例如,如图7中的(b)所示,为电子设备未对电子设备的硬件资源进行正向调度前,基于垂直同步信号进行图像处理的时序示意图。如图8a所示,为电子设备对所述电子设备的硬件资源进行正向调度后,基于垂直同步信号进行图像处理的时序示意图。对比图7中的(b)和图8a,可以得出:
电子设备在图7中的(b)所示的t1时刻开始执行“绘制1”和“渲染1”,在t9时刻完成“渲染1”;电子设备在图8a所示的t1时刻开始执行“绘制1”和“渲染1”,在t9时刻之前的t12时刻完成“渲染1”。即电子设备执行图8a所示的“绘制1”和“渲染1”所需的时长小于电子设备执行图7中的(b)所示的“绘制1”和“渲染1”所需的时长。电子设备执行图8a所示的“图像帧合成1”所需的时长小于电子设备执行图7中的(b)所示的“图像帧合成1”所需的时长。
电子设备在图7中的(b)所示的t2时刻开始执行“绘制2”和“渲染2”,在t10时刻完成“渲染2”;电子设备在图8a所示的t2时刻开始执行“绘制2”和“渲染2”,在t10时刻之前的t13时刻完成“渲染2”。即电子设备执行图8a所示的“绘制2”和“渲染2”所需的时长小于电子设备执行图7中的(b)所示的“绘制2”和“渲染2”所需的时长。电子设备执行图8a所示的“图像帧合成2”所需的时长小于电子设备执行图7中的(b)所示的“图像帧合成2”所需的时长。
电子设备在图7中的(b)所示的t3时刻开始执行“绘制3”和“渲染3”,在t11时刻完成“渲染3”;电子设备在图8a所示的t3时刻开始执行“绘制3”和“渲染3”,在t11时刻之前的t14时刻完成“渲染3”。即电子设备执行图8a所示的“绘制3”和“渲染3”所需的时长小于电子设备执行图7中的(b)所示的“绘制3”和“渲染3”所需的时长。电子设备执行图8a所示的“图像帧合成3”所需的时长小于电子设备执行图7中的(b)所示的“图像帧合成3”所需的时长。
综上所述,电子设备可以缩短电子设备进行图层的绘制、渲染和合成所需的时长。这样,可以提高电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性。例如,如图8a所示,电子设备可以在t1时刻至t2时刻这一个同步周期(即tz)完成“绘制1”、“渲染1”和“图像帧合成1”,在t2时刻至t3时刻这一个同步周期(即tz)完成“绘制2”、“渲染2”和“图像帧合成2”,在t3时刻至t4时刻这一个同步周期(即tz)完成“绘制3”、“渲染3”和“图像帧合成3”。
实施例(五)
本实施例对电子设备对电子设备的硬件资源进行调度(如正向调度或负向调度)的具体条件进行说明。即电子设备可以在以下条件下,对电子设备的硬件资源进行调度。
(1)、电子设备在第一统计周期的第一处理帧长大于预设单帧帧长时,对电子设备的硬件资源进行正向调度。
其中,本申请实施例中的预设单帧帧长小于或等于同步周期tz。例如,该预设单帧帧长可以是上述同步周期tz与预设时延阈值的差值。其中,预设时延阈值大于或等于0ms。示例性的,该预设时延阈值可以为0ms、1ms、2ms、1.5ms或者3ms等。例如,以同步周期tz=16.667ms,预设时延阈值为1ms为例。该预设单帧帧长可以为15.667ms。
其中,如果第一统计周期(即当前时刻的前一个统计周期)的第一处理帧长大于预设单帧帧长,则表示在第一统计周期电子设备不能在一个同步周期完成图层的绘制、渲染和合成。因此,电子设备可以对电子设备的硬件资源进行正向调度,以缩短电子设备进行图层的绘制、渲染和合成所需的时长,提高电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性。
(2)、电子设备在对电子设备的硬件资源进行正向调度之后,在电子设备的屏幕刷新率大于预设刷新率阈值的情况下,可以对电子设备的硬件资源进行负向调度,以在避免显示屏显示图像出现丢帧现象,保证显示屏显示图像的流畅性的前提下,降低电子设备的功耗。
其中,本申请实施例中,可以在电子设备的屏幕刷新率大于预设刷新率阈值的情况下,称电子设备处于高刷新率的情况下。例如,该预设刷新率阈值可以为80hz、90hz或者85hz等。
一般而言,如果电子设备处于高屏幕刷新率的情况下,为了匹配高屏幕刷新率,电子设备可以默认对电子设备的硬件资源进行正向调度,从而提升电子设备的帧率,以避免显示屏显示图像出现丢帧现象,保证显示屏显示图像的流畅性。但是,在高屏幕刷新率的情况下,对电子设备的硬件资源进行正向调度,会较大程度的增大电子设备的功耗。
而本申请实施例中,电子设备对电子设备的硬件资源进行正向调度之后,在电子设备处于高屏幕刷新率的情况下,结合电子设备响应于垂直同步信号1进行图层绘制、渲染和合成的方案;电子设备不需要对硬件资源进行较大程度的正向调度,或者电子设备不需要对硬件资源进行正向调度,只要可以实现电子设备能够在两个同步周期完成图层的绘制、渲染和合成,便可以避免显示屏显示图像出现丢帧现象,保证显示屏显示图像的流畅性。在这种情况下,电子设备可以对硬件资源进行负向调度,以在避免显示屏显示图像出现丢帧现象,保证显示屏显示图像的流畅性的前提下,降低电子设备的负载。
示例性的,上述负向调度可以包括:调低电子设备的处理器的工作频率,选择小核的处理器执行上述方法,以及调低电子设备的内存工作频率。该处理器可以包括cpu和/或gpu。
综上所述,电子设备可以在电子设备的屏幕刷新率大于预设刷新率阈值的情况下,对硬件资源进行负向调度。这样,对于高屏幕刷新率的显示系统而言,不仅可以避免显示屏显示图像出现丢帧现象,保证显示屏显示图像的流畅性;还可以降低电子设备进行硬件资源调度的门限,以在更低要求的硬件资源下,提供与高屏幕刷新率匹配的帧率,为用户提供高屏幕刷新率不掉帧的使用体验。
进一步的,电子设备对电子设备的硬件资源进行正向调度之后,电子设备在电子设备的屏幕刷新率大于预设刷新率阈值的情况下,如果第一处理帧长大于预设双帧帧长,可以对电子设备的硬件资源进行负向调度,以在避免显示屏显示图像出现丢帧现象,保证显示屏显示图像的流畅性的前提下,降低电子设备的功耗。
其中,上述预设双帧帧长大于上述预设单帧帧长。例如,该预设双帧帧长可以大于预设单帧帧长,且小于或等于垂直同步信号3的信号周期(即上述同步周期)的k倍。其中,k大于或等于2。例如,k可以为2或2.5等。举例来说,以k=2为例,上述预设单帧帧长为11.1ms时,该预设双帧帧长可以为22.2ms。
可以理解,如果第一处理帧长大于预设双帧帧长,则表示电子设备不能在两个同步周期完成图层的绘制、渲染和合成。在这种情况下,则可能会出现图7中的(a)所示的丢帧现象。为了避免显示屏显示图像出现丢帧现象,保证显示屏显示图像的流畅性,电子设备可以对电子设备的硬件资源进行负向调度,以提高电子设备在两个同步周期完成图层的绘制、渲染和合成的可能性。
实施例(六)
相比于上述实施例(一),本实施例中,电子设备可以在执行s401之前,先预测电子设备进行图层绘制、渲染和合成所需的时长是否小于或等于预设单帧帧长(该预设单帧帧长小于上述同步周期)。如果预测得到上述时间小于或等于预设单帧帧长,则表示电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性较高。在这种情况下,电子设备才执行上述s401-s402。具体的,如图8b所示,在图4所示的s401之前,本申请实施例还可以包括s801-s803。
s801、电子设备判断第一统计周期的第一处理帧长是否小于或等于预设单帧帧长。
其中,上述第一处理帧长是第一渲染帧长和第一sf帧长之和。该第一渲染帧长是进行图层绘制和对绘制的图层进行渲染所需的时长。该第一sf帧长是对上述渲染的图层进行图层合成所需的时长。
示例性的,电子设备可以通过以下实现方式(i)和实现方式(ii),确定上述第一处理帧长。
实现方式(i):电子设备根据一个或多个应用中的焦点应用对应的第一渲染帧长,以及电子设备对一个或多个应用对应的第一sf帧长,确定第一处理帧长。其中,焦点应用是电子设备接收的用户触摸操作对应的应用。第一渲染帧长是进行图层绘制和对绘制的图层进行渲染所需的时长。
例如,假设上述一个或多个应用包括:应用a、应用b和应用c,应用a是焦点应用。其中,应用a的第一渲染帧长a是电子设备针对应用a进行图层绘制和对绘制的图层进行渲染所需的时长。应用b的第一渲染帧长b是电子设备针对应用b进行图层绘制和对绘制的图层进行渲染所需的时长。应用c的第一渲染帧长c是电子设备针对应用c进行图层绘制和对绘制的图层进行渲染所需的时长。第一sf帧长x是电子设备对针对应用a渲染的图层、针对应用b渲染的图层和针对应用c渲染的图层,进行图层合成所需的时长。
其中,电子设备可以根据焦点应用a的第一渲染帧长a和第一sf帧长x,确定上述第一处理帧长。例如,该第一处理帧长是第一渲染帧长a与第一sf帧长x之和。
实现方式(ii):电子设备根据一个或多个应用中每个应用对应的第一渲染帧长中,最大的第一渲染帧长,以及电子设备对一个或多个应用对应的第一sf帧长,确定第一处理帧长。
结合上述实例,假设第一渲染帧长b>第一渲染帧长a>第一渲染帧长c。那么,电子设备则可以根据第一渲染帧长b和第一sf帧长x,确定上述第一处理帧长。例如,该第一处理帧长是第一渲染帧长b与第一sf帧长x之和。
示例性的,电子设备可以周期性统计每一个统计周期内的第一处理帧长。该第一统计周期是当前时刻的前一个统计周期或者更早的统计周期。例如,本申请实施例中的统计周期可以为1s、2s、3s或者5s等任一时长。例如,电子设备可以执行s801a-s801b,以获取第一统计周期的第一处理帧长。
s801a、电子设备获取第一统计周期的一个或多个第二处理帧长,每个第二处理帧长是第二渲染帧长和第二sf帧长之和。
其中,电子设备可以统计第一统计周期内每次进行图层绘制和渲染所需的时长(即第二渲染帧长),以及对渲染后的图像进行图层合成所需的时长(即第二sf帧长),计算第二渲染帧长和对应第二sf帧长之和,得到每次进行图层绘制、渲染和合成所需的总时长(即第二处理帧长)。
例如,假设电子设备在第一统计周期内进行了3次图层绘制、渲染和合成。电子设备绘制图层a,并对图层a进行渲染所需的时长为第二渲染帧长a;电子设备对渲染的图层a进行图层合成所需的时长为第二sf帧长a。电子设备绘制图层b,并对图层b进行渲染所需的时长为第二渲染帧长b;电子设备对渲染的图层b进行图层合成所需的时长为第二sf帧长b。电子设备绘制图层c,并对图层a进行渲染所需的时长为第二渲染帧长c;电子设备对渲染的图层c进行图层合成所需的时长为第二sf帧长c。电子设备可以计算第二渲染帧长a与第二sf帧长a之和得到第二处理帧长a;计算第二渲染帧长b与第二sf帧长b之和得到第二处理帧长b;计算第二渲染帧长c与第二sf帧长c之和得到第二处理帧长c。如此,电子设备便可以得到第一统计周期内的三个第二处理帧长。
s801b、电子设备根据一个或多个第二处理帧长,确定第一统计周期的第一处理帧长。
在一种实现方式中,一个或多个第二处理帧长中仅包括一个第二处理帧长。在这种实现方式中,上述第一处理帧长等于这一个第二处理帧长。
在一种实现方式中,一个或多个第二处理帧长中可以包括多个第二处理帧长。第一处理帧长是上述多个第二处理帧长的平均值。结合上述实例,第一统计周期的第一处理帧长可以为第二处理帧长a、第二处理帧长b和第二处理帧长c的平均值。
在另一种实现方式中,一个或多个第二处理帧长中可以包括多个第二处理帧长。第一处理帧长是上述多个第二处理帧长中最大的第二处理帧长。结合上述实例,第一统计周期的第一处理帧长可以为上述第二处理帧长a、第二处理帧长b和第二处理帧长c中的最大值。
可以理解,如果第一统计周期(即当前时刻的前一个统计周期)的第一处理帧长小于或等于预设单帧帧长,则表示在第一统计周期电子设备可以在一个同步周期完成图层的绘制、渲染和合成。那么在该第一统计周期的下一个统计周期(即当前时刻所在的统计周期),电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性则较高。在这种情况下,电子设备则可以执行s401。
需要注意的是,本申请实施例中,电子设备在一个同步周期进行图层的绘制、渲染和合成具体可以包括:响应于垂直同步信号1,在第一同步周期绘制一个或多个第一图层,并渲染一个或多个第一图层,并在一个或多个第一图层渲染完成后,对渲染的一个或多个第一图层进行图层合成得到第一图像帧。该第一同步周期是垂直同步信号1对应的同步周期。例如,该第一同步周期可以为图6a中的(b)所示的t1时刻至t2时刻这一同步周期tz。也就是说,本申请实施例中,电子设备可以在进行图层绘制和渲染的一个同步周期(即第一同步周期)内,便开始进行图层合成。
如果第一统计周期(即当前时刻的前一个统计周期)的第一处理帧长大于预设单帧帧长,则表示在第一统计周期电子设备不能在一个同步周期完成图层的绘制、渲染和合成。那么在该第一统计周期的下一个统计周期(即当前时刻所在的统计周期),电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性则较低。在这种情况下,电子设备则可以执行s802-s803。
s802、响应于垂直同步信号1,电子设备绘制一个或多个第一图层,并渲染一个或多个第一图层。
s803、响应于垂直同步信号2,电子设备对渲染的一个或多个第一图层进行图层合成得到第一图像帧。
具体的,响应于垂直同步信号2,电子设备可以在第二同步周期对渲染的第一图层进行图层合成得到第一图像帧。第二同步周期与上述第一同步周期不同。例如,如图6a中的(a)所示,第一同步周期可以为t1时刻至t2时刻这一同步周期tz;第二同步周期可以为的t2时刻至t3时刻这一同步周期tz。
例如,如果第一统计周期的第一处理帧长大于预设单帧帧长,如图6a中的(a)所示,电子设备不会在t6时刻进行图层合成(即图像帧合成);而是会在t2时刻垂直同步信号2到来后,响应于t2时刻的垂直同步信号2,进行图层合成。
本申请实施例中,电子设备可以在预测得到电子设备进行图层绘制、渲染和合成所需的时长小于或等于预设单帧帧长的情况下,才会响应于垂直同步信号1,绘制并渲染一个或多个第一图层,并在一个或多个第一图层渲染完成后,对渲染的一个或多个第一图层进行图层合成以得到第一图像帧。这样,可以减少出现上述第二种情况中“只能提前进行图层合成,而不能缩短电子设备的响应延迟”这一现象的可能性。
实施例(七)
本实施例对上述任一实施例中,电子设备执行上述基于垂直同步信号的图像处理方法的条件进行说明。具体的,通过该实施例,可以说明电子设备在什么条件或者情况下,可以执行上述方法。
其中,电子设备可以在加速渲染模式中,执行本申请实施例的方法,如s401-s402及其相关步骤。具体的,在上述s401之前,本申请实施例的方法还可以包括s901。例如,如图9所示,在图4所示的s401之前,本申请实施例的方法还可以包括s901。
s901、响应于第一事件,电子设备启动加速渲染模式。
其中,电子设备启动加速渲染模式后,在一个或多个第一图层渲染结束后的第一个垂直同步信号2到来之前,便可以开始对渲染的图层进行图层合成得到图像帧。
示例性的,本申请实施例这里通过以下两种实现方式,即实现方式(i)和实现方式(ii),举例说明上述第一事件。
在实现方式(i)中,上述第一事件可以为:电子设备接收到用户的第一操作。该第一操作用于触发电子设备启动加速渲染模式。
例如,以电子设备是手机1001为例。如图10中的(a)所示,第一操作可以是用户对手机1001所显示的设置界面1002中“加速渲染”选项1003的点击操作。该第一操作用于开启“加速渲染”选项1003,以触发手机1001启动加速渲染模式。
又例如,如图10中的(b)所示,第一操作可以是用户对手机1001所显示的通知栏1004中“加速渲染”按钮1005的点击操作。该第一操作用于开启“加速渲染”按钮1005,以触发手机1001启动加速渲染模式。
在实现方式(ii)中,上述第一事件可以为第一统计周期的第一处理帧长小于或等于预设单帧帧长。其中,第一统计周期、预设单帧帧长,以及第一处理帧长小于或等于预设单帧帧长的详细描述可以参考上述实施例中的相关内容,本申请实施例这里不予赘述。
进一步的,电子设备还可以退出上述加速渲染模式。电子设备退出加速渲染模式后,电子设备只能响应于垂直同步信号2,进行图层合成。具体的,本申请实施例的方法还可以包括s902-s905。例如,如图9所示,本申请实施例的方法还可以包括s902-s905。
s902、响应于第二事件,电子设备退出加速渲染模式。
示例性的,本申请实施例这里通过以下两种实现方式,即实现方式(a)和实现方式(b),举例说明上述第二事件。
在实现方式(a)中,上述第二事件可以为:电子设备接收到用户的第二操作。该第二操作用于触发电子设备退出加速渲染模式。
其中,第二操作与上述第一操作对应。例如,第二操作可以为电子设备响应于用户的第一操作,开启上述“加速渲染”选项1003或“加速渲染”按钮1005,以启动加速渲染模式后,接收到的用户对“加速渲染”选项1003或“加速渲染”按钮1005的点击操作。响应于该第二操作,手机1001可以关闭“加速渲染”选项1003或“加速渲染”按钮1005,以退出或关闭加速渲染模式。
在实现方式(b)中,上述第二事件可以为第一统计周期的第一处理帧长大于预设单帧帧长。其中,第一统计周期、预设单帧帧长,以及第一处理帧长大于预设单帧帧长的详细描述可以参考上述实施例中的相关内容,本申请实施例这里不予赘述。
s903、响应于垂直同步信号1,电子设备绘制一个或多个第二图层,并渲染一个或多个第二图层。
s904、响应于垂直同步信号2,电子设备对渲染的一个或多个第二图层进行图层合成得到第二图像帧。
其中,电子设备退出加速渲染模式后,电子设备则不能在一个或多个第一图层渲染结束后的第一个垂直同步信号2到来之前,便开始对渲染的第二图层进行图层合成。而是要等待垂直同步信号2的到来,响应于垂直同步信号2,电子设备对渲染的第二图层进行图层合成得到第二图像帧。
例如,如图6a中的(a)所示,电子设备不会在t6时刻进行图层合成。而是等待t2时刻垂直同步信号2的到来,响应于t2时刻的垂直同步信号2,才可以对渲染的图层进行图层合成得到图像帧。
s905、响应于垂直同步信号3,电子设备刷新显示第二图像帧。
本申请实施例中,电子设备可以响应于用户的操作,启动加速渲染模式;也可以根据电子设备在统计周期内进行图层绘制、渲染和合成所需的时长,自动启动加速渲染模式。
需要注意的是,上述加速渲染模式只是电子设备执行本申请实施例的方法时所处的工作模式的一种名称。加速渲染模式也可以有其他的命名,本申请实施例对此不作限制。例如,上述加速渲染模式也可以称为加速渲染合成模式或者加速合成模式等。
实施例(八)
本实施例结合上述实施例,进一步说明本申请实施例的方法。具体的,电子设备可以周期性获取每一个统计周期的第一处理帧长;如果一个统计周期(如第一统计周期)的第一处理帧长大于预设单帧帧长,则表示电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性较低。这种情况下,在该实施例中,电子设备可以对电子设备的硬件资源进行正向调度,以缩短电子设备进行图层绘制、图层渲染和/或图层合成所需的时长。这样,可以提高电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性。其中,本申请实施例中,以电子设备调高电子设备的处理器的工作频率为例,对电子设备对硬件资源进行正向调度的具体方法进行举例说明。
具体的,本申请实施例的方法还可以包括s1101-s1104。例如,如图11所示,本申请实施例的方法还可以包括s1101-s1104。
s1101、电子设备获取第一统计周期的第一处理帧长。
其中,电子设备可以响应于第一统计周期结束,执行上述s801a-s801b,获取第一统计周期的第一处理帧长。
s1102、电子设备判断第一统计周期的第一处理帧长是否小于或等于预设单帧帧长。
其中,上述第一处理帧长是第一渲染帧长和第一sf帧长之和。该第一渲染帧长是进行图层绘制和对绘制的图层进行渲染所需的时长。该第一sf帧长是对上述渲染的图层进行图层合成所需的时长。
示例性的,电子设备可以周期性统计每一个统计周期内的第一处理帧长。该第一统计周期是当前时刻的前一个统计周期。例如,本申请实施例中的统计周期可以为1s、2s、3s或者5s等任一时长。其中,s1102的详细描述可以参考s801中的相关介绍,本申请实施例这里不予赘述。
可以理解,处理器的工作频率越高,该处理器的运算速度越快,电子设备进行图层的绘制、渲染和合成所需的时长则越短。其中,如果第一统计周期的第一处理帧长小于或等于预设单帧帧长,则表示处理器的工作频率已经足以保证电子设备在一个同步周期完成图层的绘制、渲染和合成,电子设备不需要再调高处理器的工作频率。
如果第一统计周期的第一处理帧长大于预设单帧帧长,则表示处理器的工作频率较低,不足以保证电子设备在一个同步周期完成图层的绘制、渲染和合成,电子设备则可以调高处理器的工作频率。例如,电子设备可以执行s1104,调高处理器的工作频率。但是,只有当处理器当前的工作频率小于处理器的最大工作功率时,电子设备才可以调高处理器的工作频率。因此,如图11所示,s1102之后,如果第一统计周期的第一处理帧长大于预设单帧帧长,电子设备可以执行s1103。
s1103、电子设备判断处理器当前的工作频率小于处理器的最大工作频率。
具体的,如果处理器当前的工作频率小于处理器的最大工作功率,电子设备可以执行s1104。如果处理器当前的工作频率为该处理器的最大工作功率,电子设备则不需要调整处理器的工作频率。
s1104、电子设备调高处理器的工作频率。
示例性的,本申请实施例中的处理器至少可以包括cpu和gpu中的至少一项。其中,处理器的工作频率f的单位可以为赫兹(hz,简称赫),千赫(khz),兆赫(mhz)或者吉赫(ghz)。
在一种实现方式中,电子设备可以按照第一预设步进调高处理器的工作频率。例如,第一预设步进的单位可以为hz、khz或者mhz等。该第一预设步进可以预先配置在电子设备中。或者,该第一预设步进可以由用户在电子设备中设置。
在另一种实现方式中,电子设备可以根据第一处理帧长与上述预设单帧帧长的差值,调高处理器的工作频率,以使下一个统计周期内的第二处理帧长小于或等于预设单帧帧长。其中,在该实现方式中,电子设备对处理器的工作频率的调整幅度与上述差值的大小成正比。也就是说,第一处理帧长与预设单帧帧长的差值越大,电子设备对处理器的工作频率的调整幅度越大。第一处理帧长与预设单帧帧长的差值越小,电子设备对处理器的工作频率的调整幅度越小。
在一些实施例中,电子设备可以根据第一处理帧长和预设单帧帧长,通过预设ai模型,调整处理器的工作频率。其中,该预设ai模型是经过大量样本训练得到的。该预设ai模型具备“根据第一处理帧长调整处理器的工作频率,以提升单帧渲染合成的可能性”功能的ai模型。其中,单帧渲染合成是指电子设备在一个同步周期完成图层的绘制、渲染和合成。
如图11所示,在s1102之后,如果第一处理帧长小于或等于预设单帧帧长,电子设备则可以执行s401-s402;如果第一处理帧长大于预设单帧帧长,电子设备还可以执行s802、s803和s402。
其中,s1102之后,如果第一处理帧长大于预设单帧帧长,电子设备执行s1103。也就是说,电子设备执行s1103时,第一处理帧长大于预设单帧帧长,电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性较低。因此,在s1103之后,如果电子设备当前的工作频率等于最大工作频率,则表示即使处理器工作在最大工作频率,电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性也较低。
在这种情况下,电子设备可以采用常规方案进行图层的绘制、渲染和合成。如图11所示,在s1103之后,如果电子设备当前的工作频率等于最大工作频率,电子设备则可以执行s802、s803和s402。
需要注意的是,如图11所示,电子设备执行s401-s402时,该电子设备处于加速渲染模式;电子设备执行s802、s803和s402时,该电子设备已经退出加速渲染模式。
本申请实施例中,电子设备可以在第一处理帧长大于预设单帧帧长,即电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性较低时,调高电子设备的处理器的工作频率。如此,便可以提升处理器的运算速度,以缩短电子设备进行图层的绘制、渲染和合成所需的时长,以提高电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性。这样,如果电子设备可以在一个同步周期完成图层的绘制、渲染和合成,便可以将电子设备的响应延迟缩短一个同步周期,可以提升电子设备的流畅性(如跟手性能)。
可以理解,电子设备的处理器的工作频率较高,虽然可以提升电子设备的运算速度,缩短电子设备进行图层的绘制、渲染和合成所需的时长;但是,处理器的工作频率越高,功耗也就越大。本申请实施例中,电子设备还可以在上述第一处理帧长满足预设条件时,调低处理器的工作频率。这样,可以降低电子设备的功耗。具体的,本申请实施例的方法还可以包括s1201。
s1201、如果第一处理帧长满足预设条件,则调低处理器的工作频率。
在一种实现方式中,第一处理帧长满足预设条件,具体可以包括:第一处理帧长小于预设单帧帧长。
其中,如果第一处理帧长小于预设单帧帧长,则表示电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性较高。在这种情况下,可能是因为处理器的工作频率较高,使得处理器的运算速度较快,从而使得电子设备可以一个同步周期完成图层的绘制、渲染和合成。但是,处理器的工作频率过高,会导致电子设备的功耗较大。因此,电子设备可以调低处理器的工作频率。
在另一种实现方式中,第一处理帧长满足预设条件,具体可以包括:第一处理帧长小于预设单帧帧长,且预设单帧帧长与第一处理帧长的差值大于第一预设时长。
其中,如果第一处理帧长小于预设单帧帧长,且预设单帧帧长与第一处理帧长的差值大于第一预设时长,则表示电子设备在一个同步周期完成图层的绘制、渲染和合成后,还可能需要等待一段时间,才可以等到垂直同步信号3到来,响应于垂直同步信号3,刷新显示合成的图像帧。在这种情况下,处理器的工作频率一般较高。为了降低电子设备的功耗,电子设备可以调低处理器的工作频率。
本申请实施例中,电子设备可以调低处理器的工作频率的方法可以包括:电子设备按照第二预设步进调低处理器的工作频率。其中,第二预设步进可以等于第一预设步进。或者,第二预设步进也可以小于第一预设步进。
需要注意的是,在第二预设步进小于第一预设步进的情况下,电子设备可以以快升慢降的方式调整处理器的工作频率。这样,有利于电子设备执行本申请实施例的方法,缩短电子设备的触摸响应时延,提升电子设备的流畅性(如跟手性能)。
在一些实施例中,为了防止调整处理器的工作频率时出现乒乓现象。电子设备可以在连续n个统计周期的第一处理帧长满足预设条件时,才调低处理器的工作频率。例如,如图12所示,在图11所示的s1102之后,本申请实施例的方法还可以包括s1201a和s1202。
s1201a、电子设备确定连续n个统计周期的第一处理帧长满足预设条件。
其中,n≥2,n是正整数。例如,n可以为5、4、3、2或者6等任一正整数。
示例性的,电子设备确定连续n个统计周期的第一处理帧长满足预设条件的方法可以包括:如果一个统计周期(如统计周期1)的第一处理帧长满足预设条件,电子设备可以将计数器的计数值加1;计数器的计数初始值为0;如果统计周期1的下一个统计周期的第一处理帧长满足预设条件,电子设备将计数器的计数值加1;如果统计周期1的下一个统计周期的第一处理帧长不满足预设条件,电子设备将计数器的计数值清零。
可选的,在一些实施例中,电子设备可以在确定连续n个统计周期的第一处理帧长满足预设条件时,才进入加速渲染模式。
s1202、电子设备调低处理器的工作频率。
需要注意的是,该实施例中,第一处理帧长满足预设条件,以及电子设备调低所述处理器的工作频率的方法,可以参考上述实施例中的相关描述,本申请实施例这里不予赘述。
本申请实施例中,电子设备可以在连续n个统计周期的第一处理帧长满足预设条件时,才调低处理器的工作频率。这样,不仅可以防止调整处理器的工作频率时出现乒乓现象,还可以实现调整处理器的工作频率时的快升慢降。如此,可以在保证电子设备进行图层的绘制、渲染和合成的系统稳定性的前提下,提高电子设备在一个同步周期完成图层的绘制、渲染和合成的可能性,以缩短电子设备的触摸响应时延,提升电子设备的流畅性(如跟手性能)。
其中,在每一个统计周期内,如果绘制并渲染一个或多个图层时某些特征点的耗时时长较大,则可能会使得电子设备无法在一个同步周期内完成图层的绘制、渲染和合成。在这种情况下,电子设备可能会退出加速渲染模式。然后,电子设备可以响应于上述第一事件重现启动加速渲染模式。
但是,电子设备每次进入加速渲染模式时,都会有一次丢帧。例如,如图6a中的(a)所示,电子设备在进入加速渲染模式前,等待t2时刻的垂直同步信号2到来,响应于t2时刻的垂直同步信号2,才会进行图层合成(即图像帧合成);等待t3时刻的垂直同步信号3到来,响应于t3时刻的垂直同步信号3,才会刷新显示合成的图像帧。但是,如图6a中的(b)所示,电子设备在进入加速渲染模式后,在t7时刻便可以进行图层合成(即图像帧合成);响应于t2时刻的垂直同步信号3,便可以刷新显示合成的图像帧。如此,在进入加速渲染模式时,则可能会有一帧图像(即一个图像帧)是在电子设备在进入加速渲染模式之前响应于垂直同步信号2合成的。这一帧图像在电子设备进入加速渲染模式后,不会被显示屏刷新显示,则会丢帧。
可以理解,偶尔一次丢帧并不会对显示屏的显示效果产生较大影响,也就不会对用户的视觉体验造成较大影响。但是,如果电子设备频繁启动和退出加速渲染模式,则会频繁的出现丢帧现象。频繁出现丢帧现象会影响显示屏的显示效果,进而会影响用户的视觉体验。
在一些实施例中,为了避免电子设备频繁启动和退出加速渲染模式,在电子设备进入加速渲染模式后,本申请实施例的方法还可以包括s1301。
s1301、在一个统计周期内,如果绘制并渲染一个或多个第三图层时第一特征点的耗费时长大于第一特征点对应的第二预设时长,电子设备则将处理器的工作频率调整为处理器的最大工作频率。
其中,上述第一特征点至少可以包括以下任一种:电子设备绘制一个或多个第三图层;电子设备渲染一个或多个第三图层;电子设备绘制一个或多个第三图层的过程中执行任一个函数;电子设备渲染一个或多个第三图层的过程中执行任一个函数。
本申请实施例中,可以针对上述每一种第一特征点设置一个第二预设时长。该第二预设时长可以是统计大量电子设备多次执行第一特征点对应的操作所需的时间确定的。
可以理解,在一个统计周期内,如果第一特征点的耗费时长大于第一特征点对应的第二预设时长,则表示电子设备采用加速渲染模式对应的方法,无法完成一个或多个第三图层的绘制和渲染的可能性较高。其中,一个或多个第三图层是该统计周期内电子设备正在绘制或渲染的图层。在这种情况下,电子设备可以对处理器进行瞬时提频,将处理器的工作频率调整为处理器的最大工作频率。处理器瞬时提频后,可以提升处理器的运算速度,进而可以缩短电子设备进行图层绘制、渲染和合成所需的时长。
如果电子设备对处理器进行瞬时提频后,电子设备还是无法在一个同步周期完成图层的绘制、渲染和合成;为了保证电子设备可以完成图层的绘制、渲染和合成,保证电子设备的显示屏的显示效果,电子设备可以退出加速渲染模式。具体的,在s1301之后,本申请实施例的方法还可以包括s1302。
s1302、如果第三处理帧长大于预设单帧帧长,电子设备响应于垂直同步信号2,对渲染的图层进行图层合成得到图像帧。
其中,第三处理帧长是第三渲染帧长和第三sf帧长之和。第三渲染帧长是绘制并渲染一个或多个第三图层所需的时长,第三sf帧长是对渲染的一个或多个第三图层进行图层合成所需的时长。
如果第三处理帧长大于预设单帧帧长,则表示处理器瞬时提频后,电子设备还是无法在一个同步周期完成上述一个或多个第三图层的绘制、渲染和合成。在这种情况下,电子设备可以退出加速渲染模式。也就是说,在一个或多个第一图层渲染结束后的第一个垂直同步信号2到来之前,电子设备不会对渲染的图层进行图层合成;而是会等待垂直同步信号2的到来,响应于垂直同步信号2,才会对渲染的图层进行图层合成得到图像帧。
实施例(九)
请参考图13,其示出本申请实施例提供的一种基于垂直同步信号的图像处理方法的简化流程图。
如图13所示,在一个统计周期结束后,电子设备可以执行s-1,获取该统计周期的第一处理帧长。其中,s-1的详细描述可以参考s801a-s801b、s1101和上述实施例中的相关描述,这里不予赘述。然后,电子设备可以执行s-2,判断该统计周期的第一处理帧长是否大于预设单帧帧长。其中,s-2的详细描述可以参考s801和上述实施例中的相关描述,这里不予赘述。
如果统计周期的第一处理帧长大于预设单帧帧长,电子设备则可以执行s-3,调高处理器的工作频率(即提频)。其中,s-3的详细描述可以参考s1104和上述实施例中的相关描述,这里不予赘述。如果统计周期的第一处理帧长小于或等于预设单帧帧长,电子设备则可以执行s-4,判断连续n个统计周期的第一处理帧长是否满足预设条件。其中,s-4的详细描述可以参考s1201a和上述实施例中的相关描述,这里不予赘述。如果连续n个统计周期的第一处理帧长满足预设条件,则执行s-5和s-6。其中,电子设备执行s-5可以调低处理器的工作频率(即降频)。其中,s-5的详细描述可以参考s1202和上述实施例中的相关描述,这里不予赘述。电子设备执行s-6可以启动加速渲染模式。其中,本申请实施例中,电子设备响应于第一事件也可以启动加速渲染模式。在加速渲染模式下,电子设备可以执行s401-s402。
并且,在加速渲染模式下,电子设备可以执行s-7,判断第一特征点的耗时时长是否大于第一特征点对应的第二预设时长。如果第一特征点的耗时时长大于第一特征点对应的第二预设时长,电子设备可以执行s-8,进行瞬时提频。其中,s-7和s-8的详细描述可以参考s1301和上述实施例中的相关描述,这里不予赘述。
如果第一特征点的耗时时长小于或等于第一特征点对应的第二预设时长,电子设备则继续处于加速渲染模式。电子设备瞬时提频(即执行s-8)之后,可以执行s-9,判断第三处理帧长是否大于预设单帧帧长。如果第三处理帧长大于预设单帧帧长,则可以执行s-10,退出加速渲染模式。其中,s-9和s-10的详细描述可以参考s1302和上述实施例中的相关描述,这里不予赘述。如果第三处理帧长小于会等于预设单帧帧长,则可以继续处于加速渲染模式。其中,本申请实施例中,电子设备响应于第二事件也可以退出加速渲染模式。其中,退出加速渲染模式后,电子设备可以采用s903-s905的方式,进行图层的绘制、渲染、合成以及图像帧的显示。
实施例(十)
请参考图14,其示出本申请实施例提供的一种优化模块的示意图。该优化模块可以是生成图像帧的装置或电子设备中,用于实现本申请实施例的方法的功能模块。如图14所示,该优化模块可以包括:服务通信接口模块1401、帧长检测模块1402、单帧渲染策略模块1403和动态调节算法模块1404。
帧长检测模块1402用于获取统计周期(如第一统计周期)内的多个第二处理帧长,并确定该统计周期的第一处理帧长,向动态调节算法模块1404传输该统计周期的第一处理帧长。其中,帧长检测模块1402可以通过服务通信接口模块1401获取统计周期内的多个第二处理帧长。例如,帧长检测模块1402用于支持电子设备执行上述方法实施例中的s801a-s801b和s1101,/或用于本文所描述的技术的其它过程。
动态调节算法模块1404用于根据帧长检测模块1402确定的第一处理帧长,调用调度模块调整处理器的工作频率。例如,动态调节算法模块1404用于支持电子设备执行上述方法实施例中的s801,s1102,s1103,s1104,s1201,s1201a,s1202,s1301,s1302中“判断第三处理帧长大于预设单帧帧长”的操作,s901,s902,/或用于本文所描述的技术的其它过程。
单帧渲染策略模块1403用于响应于动态调节算法模块1404的控制,控制电子设备的ui线程、渲染线程和合成线程采用对应的方式,进行图层的绘制、渲染和合成。例如,单帧渲染策略模块1403用于支持电子设备执行上述方法实施例中的s401,s402,s802,s803,s903,s904,s905,s1302中“进行图层合成”的操作,/或用于本文所描述的技术的其它过程。
其中,如图15所示,图1a所示的软件架构还可以包括:上述优化模块60。该优化模块60中可以包括:服务通信接口模块1401、帧长检测模块1402、单帧渲染策略模块1403和动态调节算法模块1404。
实施例(十一)
请参考图16,请参考图16,其示出两种品牌的手机在机械手速为100毫米(mm)/s时,在“联系人”应用的滑动测试场景的测试结果示意图。
其中,图16中的(a)示出一种品牌的手机1(如iphone的xs手机)在机械手速为100mm/s时,在“联系人”应用的滑动测试场景的测试结果。如图16中的(a)所示,手机1的触摸响应时间为82ms-114ms。
图16中的(b)示出另一种品牌的手机2(如华为手机)在执行本申请实施例的方法之前,在机械手速为100mm/s时,在“联系人”应用的滑动测试场景的测试结果。如图16中的(b)所示,手机2在执行本申请实施例的方法前,触摸响应时间为82ms-136ms。
图16中的(c)示出上述手机2在执行本申请实施例的方法之后,在机械手速为100mm/s时,在“联系人”应用的滑动测试场景的测试结果。如图16中的(c)所示,手机2在执行本申请实施例的方法前,触摸响应时间为65ms-84ms。
对比图16中的(c)与图16中的(b)可知:以相同的机械手速(如100mm/s)在相同的测试场景进行测试,相比于手机2执行本申请实施例的方法之前的触摸响应时间(简称“触摸响应时间-前”,如82ms-136ms),手机2执行本申请实施例的方法之后的触摸响应时间(简称“触摸响应时间-后”,如65ms-84ms)缩短了较长的延迟时间。也就是说,通过本申请实施例的方法,可以缩短电子设备的响应延迟,提升电子设备的流畅性(如跟手性能)。
对比图16中的(a)与图16中的(b)可知:以相同的机械手速(如100mm/s)在相同的测试场景进行测试,相比于手机1的触摸响应时间(如82ms-114ms),上述“触摸响应时间-前”(如82ms-136ms)较长。
而对比图16中的(a)、图16中的(b)和图16中的(c)可知:以相同的机械手速(如100mm/s)在相同的测试场景进行测试,上述“触摸响应时间-后”(如65ms-84ms)不仅相比于上述“触摸响应时间-前”(如82ms-136ms)缩短了较长的延迟时间。相比于手机1的触摸响应时间(如82ms-114ms)也缩短了一定时间。
由上述测试场景可知:通过本申请实施例的方法,可以较大幅度的缩短电子设备的响应延迟,提升电子设备的流畅性(如跟手性能)。
实施例(十二)
本申请一些实施例提供了一种电子设备,该电子设备可以包括:显示屏(如触摸屏)、存储器和一个或多个处理器。该显示屏、存储器和处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行计算机指令时,电子设备可执行上述方法实施例中电子设备执行的各个功能或者步骤。该电子设备的结构可以参考图2所示的电子设备200的结构。
本申请实施例还提供一种芯片系统,如图17所示,该芯片系统包括至少一个处理器1701和至少一个接口电路1702。处理器1701和接口电路1702可通过线路互联。例如,接口电路1702可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路1702可用于向其它装置(例如处理器1701或者电子设备的触摸屏)发送信号。示例性的,接口电路1702可读取存储器中存储的指令,并将该指令发送给处理器1701。当所述指令被处理器1701执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中电子设备执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中电子设备执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。