掌桥专利:专业的专利平台
掌桥专利
首页

一种刷新率切换方法及电子设备

文献发布时间:2024-07-23 01:35:12


一种刷新率切换方法及电子设备

本申请是发明创造名称为“一种刷新率切换方法及电子设备”的发明专利申请的分案申请,原申请的申请号为202310014034.5,原申请日为2023年1月5日,原申请的全部内容通过引用结合在本申请中。

技术领域

本申请涉及电子设备领域,尤其涉及一种刷新率切换方法及电子设备。

背景技术

随着手机等电子设备的显示屏技术的不断发展,越来越多的电子设备的显示屏能够支持多种刷新率。电子设备的显示屏的刷新率,会随着电子设备的应用程序的显示帧率的不同而进行调整。例如,电子设备上的某些应用程序在运行时,会提高应用程序的显示帧率。在应用程序的显示帧率提高时,电子设备的显示屏的刷新率也会相应的提高,从而能够提高电子设备的显示屏显示的画面的流畅度。

然而,在电子设备的显示屏的刷新率进行调整时,电子设备的硬件的调整时间与电子设备的软件的调整时间不一致。这就导致电子设备在显示屏的刷新率的调整过程中,电子设备的显示屏显示的画面会出现卡顿等问题。

发明内容

本申请实施例提供一种刷新率切换方法及电子设备,用于避免电子设备的显示屏的刷新率的切换过程中,电子设备的显示屏显示的画面出现卡顿的问题。

为达到上述目的,本申请实施例采用如下技术方案:

第一方面,本申请实施例提供一种刷新率切换的方法,应用于电子设备,该刷新率切换方法可以包括:电子设备运行第一应用程序;电子设备的显示屏集成电路IC按照第一刷新率在显示屏上显示第一应用程序对应的图像数据,电子设备的系统级芯片SOC按照第一刷新率对应的第一传输时长向显示屏IC传输第一应用程序对应的图像数据;在电子设备确定显示屏的刷新率待切换的情况下,电子设备确定第二刷新率;在第二刷新率小于第一刷新率的情况下,电子设备的SOC向显示屏IC发送第一切换指令;显示屏IC基于第一切换指令,将显示屏的刷新率由第一刷新率切换为第二刷新率;在电子设备的SOC确定显示屏的刷新率切换完成的情况下,电子设备的SOC将第一应用程序对应的图像数据的传输时长由第一传输时长切换为第二刷新率对应的第二传输时长;电子设备的SOC按照第二传输时长向显示屏IC传输第一应用程序对应的图像数据,显示屏IC按照第二刷新率在显示屏上显示第一应用程序对应的图像数据。

基于第一方面所述的方法,在电子设备的显示屏的刷新率由高刷新率(第二刷新率)切换为低刷新率(第一刷新率)时,电子设备的SOC先向显示屏IC发送切换指令,由显示屏IC将显示屏的刷新率由高刷新率切换为低刷新率。在电子设备的SOC确定刷新率切换完成之后,电子设备的SOC再将传输图像数据的时间由高刷新率对应的时长(第一传输时长),切换为低刷新率对应的时长(第二传输时长)。由于在电子设备的SOC下发切换率指令时,电子设备的SOC不切换电子设备的SOC向电子设备的显示屏IC传输图像数据的时长,从而可以避免在电子设备的显示屏的刷新率由高刷新率切换为低刷新率时踩TE的问题,从而能够避免电子设备在显示屏的刷新率的调整过程中,电子设备的屏幕显示的画面会出现卡顿等问题。

结合第一方面,在另一种可能的实现方式中,上述电子设备的SOC确定显示屏的刷新率切换完成,可以包括:在电子设备的SOC发送第一切换指令的垂直同步Vsync信号之后的第三个Vsync信号的上升沿到来时,电子设备的SOC确定显示屏的刷新率切换完成。

基于该可能的实现方式,在电子设备的SOC发送第一切换指令的垂直同步Vsync信号之后的第三个Vsync信号的上升沿到来时,电子设备的SOC可以确定显示屏的刷新率切换完成,从而电子设备的SOC可以将第一应用程序对应的图像数据的传输时长由第一传输时长切换为第二刷新率对应的第二传输时长。

结合第一方面,在另一种可能的实现方式中,上述电子设备的SOC向显示屏IC发送第一切换指令,可以包括:电子设备的SOC通过延迟切换传输时间接口向显示屏IC发送第一切换指令;电子设备的SOC将第一应用程序对应的图像数据的传输时长由第一传输时长切换为第二刷新率对应的第二传输时长,可以包括:电子设备的SOC通过延迟切换传输时间接口将第一应用程序对应的图像数据的传输时长由第一传输时长切换为第二传输时长。

基于该可能的实现方式,电子设备的SOC可以通过延迟切换传输时间接口先向显示屏IC发送刷新率切换的切换指令,在电子设备的SOC确定显示屏的刷新率切换完成的情况下,电子设备的SOC可以通过延迟切换传输时间接口将第一应用程序对应的图像数据的传输时长由第一传输时长切换为第二传输时长。

结合第一方面,在另一种可能的实现方式中,在第二刷新率大于第一刷新率的情况下,电子设备的SOC向电子设备的显示屏IC发送第二切换指令,关闭低功耗模式ulps,并将第一应用程序对应的图像数据的传输时长由第一传输时长切换为第二刷新率对应的第二传输时长;电子设备的显示屏IC基于第二切换指令,将显示屏的刷新率由第一刷新率切换为第二刷新率;在电子设备的SOC确定显示屏的刷新率切换完成的情况下,电子设备的SOC开启低功耗模式ulps;电子设备的SOC按照第二传输时长向显示屏IC传输第一应用程序对应的图像数据,显示屏IC按照第二刷新率在显示屏上显示第一应用程序对应的图像数据。

基于该可能的实现方式,在电子设备的显示屏的刷新率由低刷新率(第一刷新率)切换为高刷新率(第二刷新率)时,电子设备的SOC向显示屏IC发送切换指令的同时,电子设备的SOC可以关闭低功耗模式ulps,并切换将传输图像数据的时间由低刷新率对应的时长(第一传输时长),切换为高刷新率对应的时间(第二传输时长)。在电子设备的SOC将传输图像数据的时间由低刷新率对应的时间,切换为高刷新率对应的时间时,电子设备的SOC退出低功耗模式,而不重新开启低功耗模式。在电子设备的SOC确定刷新率切换完成之后,电子设备的SOC开启低功耗模式。由于在电子设备的SOC将传输图像数据的时间由低刷新率对应的时间,调整为高刷新率对应的时间时,电子设备的SOC退出低功耗模式,而不重新开启低功耗模式,这样能够缩短切换传输图像数据的时间,因此能够避免调整传输图像数据的时间的时长过长,造成一帧图像数据还未传输完成就开始传下一帧图像数据,电子设备的屏幕会出现花线等现象。

结合第一方面,在另一种可能的实现方式中,上述电子设备的SOC确定显示屏的刷新率切换完成,可以包括:在电子设备的SOC发送第二切换指令的垂直同步Vsync信号之后的第三个Vsync信号的上升沿到来时,电子设备的SOC确定显示屏的刷新率切换完成。

基于该可能的实现方式,在电子设备的SOC发送第一切换指令的垂直同步Vsync信号之后的第三个Vsync信号的上升沿到来时,电子设备的SOC可以确定显示屏的刷新率切换完成,从而电子设备的SOC可以将第一应用程序对应的图像数据的传输时长由第一传输时长切换为第二刷新率对应的第二传输时长。

结合第一方面,在另一种可能的实现方式中,上述电子设备确定显示屏的刷新率待切换,可以包括:在第一应用程序的显示帧率切换的情况下,电子设备确定显示屏的刷新率待切换。

基于该可能的实现方式,电子设备可以通过确定第一应用程序的显示帧率是否切换,从而确定显示屏的刷新率待切换。

结合第一方面,在另一种可能的实现方式中,上述电子设备确定第二刷新率,可以包括:在第一应用程序的显示帧率切换为第一显示帧率的情况下,电子设备根据第一显示帧率确定第二刷新率。

基于该可能的实现方式,电子设备可以通过确定第一应用程序的显示帧率是否切换,从而确定显示屏的刷新率待切换,且在确定显示屏的刷新率待切换时,电子设备可以根据第一应用程序切换后的显示帧率,确定切换后的刷新率。

结合第一方面,在另一种可能的实现方式中,上述第一应用程序可以包括游戏应用程序、视频应用程序或导航应用程序。

基于该可能的实现方式,电子设备可以在包括游戏应用程序、视频应用程序或导航应用程序等应用程序的显示帧率切换时,可以确定显示屏的刷新率待切换,且在确定显示屏的刷新率待切换时,电子设备可以根据切换后的显示帧率,确定切换后的刷新率。

第二方面,本申请实施例提供一种刷新率切换装置,该刷新率切换装置可以应用于电子设备,用于实现上述第一方面中的方法。该刷新率切换装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,例如,运行模块、显示模块、传输模块、确定模块、发送模块和切换模块等。

其中,运行模块,可以用于运行第一应用程序。

显示模块,可以用于按照第一刷新率在显示屏上显示第一应用程序对应的图像数据。

传输模块,可以用于按照第一刷新率对应的第一传输时长向显示屏IC传输第一应用程序对应的图像数据。

确定模块,可以用于在电子设备确定显示屏的刷新率待切换的情况下,确定第二刷新率。

发送模块,可以用于在第二刷新率小于第一刷新率的情况下,向显示屏IC发送第一切换指令。

切换模块,可以用于基于第一切换指令,将显示屏的刷新率由第一刷新率切换为第二刷新率。

切换模块,还可以用于在电子设备的SOC确定显示屏的刷新率切换完成的情况下,将第一应用程序对应的图像数据的传输时长由第一传输时长切换为第二刷新率对应的第二传输时长。

传输模块,还可以用于按照第二传输时长向显示屏IC传输第一应用程序对应的图像数据。

显示模块,可以用于按照第二刷新率在显示屏上显示第一应用程序对应的图像数据。

结合第二方面,在另一种可能的实现方式中,确定模块,可以用于在电子设备的SOC发送第一切换指令的垂直同步Vsync信号之后的第三个Vsync信号的上升沿到来时,确定显示屏的刷新率切换完成。

结合第二方面,在另一种可能的实现方式中,发送模块,可以具体用于通过延迟切换传输时间接口向显示屏IC发送第一切换指令。

切换模块,可以具体用于通过延迟切换传输时间接口将第一应用程序对应的图像数据的传输时长由第一传输时长切换为第二传输时长。

结合第二方面,在另一种可能的实现方式中,发送模块,还可以用于在第二刷新率大于第一刷新率的情况下,向电子设备的显示屏IC发送第二切换指令。

上述刷新率切换装置还可以包括关闭模块。关闭模块,用于关闭低功耗模式ulps。

切换模块,还可以用于将第一应用程序对应的图像数据的传输时长由第一传输时长切换为第二刷新率对应的第二传输时长。

切换模块,还可以用于基于第二切换指令,将显示屏的刷新率由第一刷新率切换为第二刷新率。

上述刷新率切换装置还可以包括开启模块。开启模块,可以用于在电子设备的SOC确定显示屏的刷新率切换完成的情况下,开启低功耗模式ulps。

传输模块,还可以用于按照第二传输时长向显示屏IC传输第一应用程序对应的图像数据。

显示模块,还可以用于按照第二刷新率在显示屏上显示第一应用程序对应的图像数据。

结合第二方面,在另一种可能的实现方式中,确定模块,可以用于在电子设备的SOC发送第二切换指令的垂直同步Vsync信号之后的第三个Vsync信号的上升沿到来时,确定显示屏的刷新率切换完成。

结合第二方面,在另一种可能的实现方式中,确定模块,可以用于在第一应用程序的显示帧率切换的情况下,确定显示屏的刷新率待切换。

结合第二方面,在另一种可能的实现方式中,确定模块,可以具体用于在第一应用程序的显示帧率切换为第一显示帧率的情况下,根据第一显示帧率确定第二刷新率。

结合第二方面,在另一种可能的实现方式中,第一应用程序可以包括游戏应用程序、视频应用程序或导航应用程序。

第三方面,提供了一种刷新率切换设备,该刷新率切换设备具有实现上述第一方面所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

第四方面,提供了一种刷新率切换设备,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该刷新率切换设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该刷新率切换设备执行如上述第一方面中任一项所述的刷新率切换方法。

第五方面,提供了一种刷新率切换设备,包括:处理器;所述处理器用于与存储器耦合,并读取存储器中的指令之后,根据所述指令执行如上述第一方面中任一项所述的刷新率切换方法。

第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如第一方面或第一方面的可能的实现方式中任一项所述的刷新率切换方法。

第七方面,本申请实施例提供一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,使得电子设备实现如第一方面或第一方面的可能的实现方式中任一项所述的刷新率切换方法。

第八方面,提供了一种装置(例如,该装置可以是芯片系统),该装置包括处理器,用于支持电子设备实现上述第一方面中所涉及的功能。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存电子设备必要的程序指令和数据。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。

应当理解的是,上述第二方面至第八方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

图1为本申请实施例提供的Vsync信号的波形示意图一;

图2为本申请实施例提供的Vsync信号的波形示意图二;

图3为本申请实施例提供的刷新率切换的Vsync信号的波形示意图一;

图4为本申请实施例提供的刷新率切换的Vsync信号的波形示意图二;

图5为本申请实施例提供的刷新率切换的Vsync信号的波形示意图三;

图6为本申请实施例提供的图像数据传输的Vsync信号的波形示意图一;

图7为本申请实施例提供的图像数据传输的Vsync信号的波形示意图二;

图8为本申请实施例提供的图像数据传输的Vsync信号的波形示意图三;

图9为相关技术中图像数据传输的Vsync信号的波形示意图;

图10为本申请实施例提供的图像数据传输的Vsync信号的波形示意图四;

图11为本申请实施例提供的一种电子设备的硬件结构示意图;

图12为本申请实施例提供的一种电子设备的软件结构示意图;

图13为本申请实施例提供的一种刷新率切换方法的流程示意图;

图14为本申请实施例提供的一种刷新率切换装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

为了便于清楚描述本申请实施例的技术方案,以下,对本申请实施例中所涉及的部分术语和技术进行简单介绍。

屏幕刷新率,即电子设备的显示屏的刷新率,也可以称为显示屏的帧率。屏幕刷新率是电子设备的显示屏的硬件性能参数,即电子设备的显示屏每秒中能够刷新显示的画面的次数。屏幕刷新率一般可以用物理单位Hz来表示。显示屏的面板由物理像素铺满,如显示屏的分辨率为1080*1920逐行扫描(Progressive scanning,P),显示屏即有1080*1920个像素点,显示屏的每行包括1080个像素,显示屏的每列包括1920个像素。显示屏显示完一行的1080个像素称为行扫描,显示屏显示1920行的像素称为场扫描。显示屏开始扫描一行的物理信号称为水平同步信号(horizontal synchronization pulse,Hsync),显示屏开始扫描一场的物理信号称为垂直同步信号(Vertical synchronization,Vsync)。显示屏扫描完一场,显示屏可以显示一帧图像数据,即显示屏在一个Vsync信号的周期内,显示屏可以显示一帧图像数据。

显示屏每秒钟能够刷新几场,即显示屏每秒钟能够显示几帧图像数据,电子设备每秒钟就需要生成多少个Vsync信号。也就是说,电子设备每秒钟生成的Vsync信号的数量,即为显示屏的刷新率。例如,显示屏的刷新率为60赫兹(hertz,Hz),即屏幕刷新率是60Hz,那么就是显示屏每秒能够刷新显示60次画面,即显示屏每秒能够显示60帧图像数据,电子设备每秒钟就需要生成60个Vsync信号。电子设备生成的Vsync信号的周期即为场同步周期(Vsync period),在显示屏的刷新率为60Hz时,场同步周期即为16.6毫秒。

Vsync信号可以由电子设备的硬件编写器(Hardware Composer,HWC)产生。在HWC产生Vsync信号之后,应用程序可以在该Vsync信号的周期内将需要显示的图像发送给显示屏,从而显示屏可以显示该图像数据。也就是说,在一个Vsync信号对应的周期内,应用程序可以绘制一帧图像数据,并将该帧图像数据发送给显示屏,从而显示屏可以显示出该帧图像数据。

应用程序的显示帧率,即应用程序绘制画面(即图像数据)的速度。应用程序的显示帧率一般可以用画面每秒传输帧数(frame per second,fps)来表示。也就是说,应用程序的显示帧率是应用程序输出给显示屏的图像数据的频率。

撕裂效应信号(tearing effect,TE)是一种由电子设备的芯片产生的信号,用于防止图像显示过程中画面刷新时的撕裂问题。当电子设备的显示屏准备好刷新下一帧图像数据时,电子设备的芯片即在上述场同步周期中的上升沿产生TE信号,相应的,应用程序在监听到TE信号后,应用程序可以向电子设备的芯片发送下一帧图像数据,从而电子设备的显示屏可以显示下一帧图像数据。

随着手机等电子设备的显示屏技术的不断发展,越来越多的电子设备的显示屏能够支持多种刷新率,如电子设备的显示屏能够支持60Hz、90Hz、120Hz等刷新率。即电子设备的显示屏能够支持多档次的屏幕刷新率。

电子设备的显示屏的刷新率,会随着电子设备的应用程序的显示帧率的不同而进行调整。例如,电子设备上的某些应用程序在运行时,会提高应用程序的显示帧率,如电子设备的某些应用程序在运行时会使用动效提频。因此,在该应用程序运行时,需要提高应用程序的显示帧率,或者,电子设备的某些应用程序在运行时与电子设备的桌面的实际显示帧率不同,因此,在该应用程序运行时,需要提高应用程序的显示帧率或者对应用程序的显示帧率进行切换。

在应用程序的显示帧率提高时,电子设备的显示屏的刷新率也会相应的提高,从而能够提高电子设备的显示屏显示的画面的流畅度。

然而,在对电子设备的显示屏的刷新率进行调整时,电子设备的硬件对刷新率进行调整的时间与电子设备的软件对刷新率进行调整的时间不一致。电子设备的硬件对刷新率进行调整的时间,是电子设备的显示屏的集成电路(integrated circuit,IC)调整显示屏的刷新率的时间,也可以称为电子设备的硬件的切帧动作的时间。电子设备的软件对刷新率进行调整的时间,是电子设备的系统级芯片(system on chip,SOC)中的软件调整显示屏的刷新率的时间,也可以称为电子设备的软件的切帧动作的时间。

电子设备的硬件的调整时间与电子设备的软件的调整时间不一致,是由于对于场同步周期中的一帧,电子设备的硬件和电子设备的软件的判断逻辑不同导致的。

以下结合附图1和附图2对场同步周期中的一帧,电子设备的硬件和电子设备的软件的判断逻辑分别进行说明。

场同步周期中Vsync信号的波形如图1所示,电子设备的硬件(即显示屏IC,也可以简称为面板Panel)对场同步周期中的一帧的判断逻辑,是从波形中的下降沿前一小段时间开始,即图1中的起始点为电子设备的硬件的判断逻辑中场同步周期中的一帧的开始时间。起始点之后的这一小段高电平被称为垂直后延(Vertical Back Porch,VBP)。垂直后延VBP之后Vsync信号的波形经历下降沿,下降沿之后为一段低电平(VACTIVE)。低电平之后的上升沿被电子设备的软件称为撕裂效应信号TE。撕裂效应信号TE之后,紧接着一小段时间高电平为称为垂直前沿(vertical front porch,VFP)。垂直前沿VFP之后再加上补偿时间(即VFP延长区),构成了电子设备的硬件判断逻辑中场同步周期中的完整的一帧。VFP延长区的长短不同,对于不同的刷新率,如刷新率为120Hz时和刷新率为90Hz的VFP延长区的长短不同。补偿时间结束时,即结束点,结束点为电子设备的硬件的判断逻辑中场同步周期中的一帧的结束时间。也就是说,如图1所示,电子设备的硬件的判断逻辑中场同步周期的完整的一帧是从图1中的起始点开始,经过垂直后延VBP、低电平、裂效应信号TE、垂直前沿VFP、VFP延长区之后到达结束点。

而如图2所示,电子设备的软件(即系统级芯片SOC中的软件)的判断逻辑中场同步周期中的一帧,是从Vsync信号的波形中的一个上升沿到下一个上升沿。即电子设备的软件的判断逻辑中场同步周期中的完整的一帧是从Vsync信号的波形中一个撕裂效应信号TE开始到下一个撕裂效应信号TE截止,两个上升沿之间为电子设备的软件的判断逻辑中场同步周期中的完整的一帧。

通过图1以及图2可以看出,电子设备的软件的判断逻辑中场同步周期中的完整的一帧与电子设备的硬件的判断逻辑中场同步周期中的完整的一帧是有明显差异的,这就导致在电子设备的显示屏的刷新率进行调整时,电子设备的硬件的调整时间与电子设备的软件的调整时间不一致。也就是说,在电子设备的硬件进行刷新率调整(即电子设备的Panel实际进行切帧动作)时,电子设备的软件并没有进行刷新率调整(即刷新率切换),即电子设备的软件进行刷新率调整(即电子设备的软件采集到切帧动作的时间)的时间相对于电子设备的硬件进行刷新率调整的时间是滞后的。

以下结合附图3和附图4对电子设备的显示屏的刷新率进行调整时,电子设备的硬件的调整时间与电子设备的软件的调整时间不一致进行说明。

对于电子设备的硬件来说,在电子设备的显示屏的刷新率进行调整时,电子设备的软件在一个Vsync信号波形中向电子设备的硬件下发切帧指令(即调整显示屏的刷新率的指令),在下一个Vsync信号波形中的垂直后延VBP到来时,电子设备的硬件将显示屏的刷新率进行调整。

例如,结合图3所示,以电子设备将显示屏的刷新率从90Hz调整为60Hz为例,在电子设备的软件在一个Vsync信号波形中的低电平阶段向电子设备的硬件下发切帧指令,在下一个Vsync信号波形中的垂直后延VBP到来时,电子设备的硬件将显示屏的刷新率进行调整,调整为60Hz。即从电子设备的硬件的角度上来看,如果切帧指令在电子设备的硬件的判断逻辑中的一帧的Vsync信号波形中的垂直后延VBP阶段之前下发,那么新的帧率(即新的刷新率)会在本帧立即生效。如果切帧指令在电子设备的硬件的判断逻辑中的一帧的Vsync信号波形中的VBP阶段之后下发,那么新的刷新率会在电子设备的硬件的判断逻辑中的下一帧才会生效。

对于电子设备的软件来说,在对电子设备的显示屏的刷新率进行调整(即对显示屏的帧率进行调整)时,电子设备的软件是采集Vsync信号波形中上两个TE(上升沿)之间的间隔时间来计算帧率(即显示屏的刷新率)的。当电子设备的显示屏的刷新率由原刷新率切换为新的刷新率以后,新帧率的第一个TE距离原刷新率最后一个TE的时间仍为原刷新率的时间,新刷新率的第二个TE距离新刷新率的第一个TE的时间才是新刷新率的时间。因此,电子设备的软件真实采集到刷新率切换完成的时刻应该在新刷新率第二帧的上升沿,此时,对于电子设备的硬件来说新刷新率的第二帧已经跑了一段时间了。因此,电子设备的软件实际采集到真正发生刷新率调整的时间相对于电子设备的硬件进行刷新率调整的时间是滞后的。

例如,结合图4所示,以电子设备将显示屏的刷新率从90Hz调整为60Hz为例,在电子设备的软件在一个Vsync信号波形中的低电平阶段向电子设备的硬件下发切帧指令,在下一个Vsync信号波形中的垂直后延VBP到来时,电子设备的硬件将显示屏的刷新率进行调整,调整为60Hz。而对于电子设备的软件而言,在下发切帧指令的这一帧中并没有完成刷新率的调整,而是在下一个TE到来时才进行刷新率的调整。

当电子设备的显示屏的刷新率由原刷新率(90Hz)切换为新的刷新率(60Hz)以后,新刷新率的第一个TE距离原刷新率最后一个TE的时间仍为原刷新率(90Hz)的时间,新刷新率的第二个TE距离新刷新率的第一个TE的时间才是新刷新率的时间。因此,电子设备的软件真实采集到刷新率切换完成的时刻为图4中的第四个TE,即新的刷新率第二帧的上升沿。此时,对于电子设备的硬件来说新刷新率(60Hz)的第二帧已经跑了一段时间了。

需要说明的是,图4是以电子设备将显示屏的刷新率从90Hz调整为60Hz为例,即以电子设备将显示屏的刷新率从高刷新率切换到低刷新率为例进行示意说明的。

下面,结合图5,以电子设备将显示屏的刷新率从60Hz调整为90Hz为例,即以电子设备将显示屏的刷新率从低刷新率切换到高刷新率为例,对电子设备的显示屏的刷新率进行调整时,电子设备的硬件的调整时间与电子设备的软件的调整时间不一致进行说明。

例如,结合图5所示,以电子设备将显示屏的刷新率从60Hz调整为90Hz为例,在电子设备的软件在一个Vsync信号波形中的低电平阶段向电子设备的硬件下发切帧指令,在下一个Vsync信号波形中的垂直后延VBP到来时,电子设备的硬件将显示屏的刷新率进行调整,调整为90Hz。对于电子设备的软件来说,在下发切帧指令的这一帧中并没有完成刷新率的调整,而是在下一个TE到来时才进行刷新率的调整。当电子设备的显示屏的刷新率由原刷新率(60Hz)切换为新的刷新率(90Hz)以后,对于电子设备的软件来说,新刷新率的第一个TE距离原刷新率最后一个TE的时间仍为原刷新率(60Hz)的时间,新刷新率的第二个TE距离新刷新率的第一个TE的时间才是新刷新率的时间。因此,电子设备的软件真实采集到刷新率切换完成的时刻为图5中的第四个TE,即新刷新率第二帧的上升沿。此时,对于电子设备的硬件来说新刷新率(60Hz)的第二帧已经跑了一段时间了。

从上述分析可知,从电子设备的硬件的角度和电子设备的软件的角度上看,在电子设备的屏幕刷新率进行调整时,电子设备的硬件的调整时间与电子设备的软件的调整时间不一致,即电子设备的硬件的切换刷新率的时间与电子设备的软件的切换刷新率的时间不同。从电子设备的软件的角度上来看,不管是将屏幕刷新率从高刷新率切换到低刷新率的场景,还是从低刷新率切换到高刷新率的场景。如果在本帧下发切换刷新率的命令,那么本帧的刷新率不会发生变化,下一帧的刷新率也不会变,下下帧才切换到新的刷新率。相当于切帧指令下发后,延迟一帧生效。

需要说明的是,对于电子设备的软件来说,在Vsync信号波形中TE到来的时刻电子设备的软件会向电子设备的硬件(即Panel)对应的随机存取存储器(random accessmemory,RAM)发送需要显示的图像数据。电子设备的硬件则在Vsync信号波形中下降沿到来的时刻开始从RAM里读取图像数据,并将图像数据刷到显示屏上。在Vsync信号波形中的整个低电平期间Panel都在向屏幕刷数据,直到上升沿到来,才结束刷数据。因此为了保证每一帧图像数据能够完整发送完成并被Panel正确且完整地刷新到显示屏上,就需要电子设备的软件在波形的上升沿(即Vsync信号波形中下一个TE)到来之前将所有的图像数据发送完成。

对于不同的帧率(即不同的刷新率),一个完整周期的电子设备的硬件的Vsync信号波形的时长是不同。且对于不同的刷新率,电子设备的软件向电子设备的硬件传输图像数据的时间不同,即电子设备的软件向电子设备的硬件发送图像数据的时间不同。电子设备的软件向电子设备的硬件发送图像数据的时间,是与发送图像数据的时钟频率和压缩图像数据的时钟频率相关的。要想更快的发送数据就需要更快的压缩速度和发送速度,但是速度更快也意味着更高的功耗。对于电子设备的软件来说,其实只要保证在下一个TE到来之前图像数据发送完成即可,而不需要一味地追求速度,综合考虑还是要做到性能和功耗的平衡,因此在不同刷新率下,配置的传输图像数据的时钟频率是不一样的,进而导致不同刷新率下图像数据的传输时间也是不一样的。

也就是说,电子设备的软件向电子设备的硬件发送图像数据的时间包括电子设备的软件对图像数据的压缩时间和电子设备对压缩后的图像数据的发送时间。

下面结合图6对不同帧率(即不同的显示屏的刷新率)下,电子设备的软件向电子设备的硬件发送图像数据的时间进行示意说明。

如图6中的(a)所示,在电子设备的显示屏的刷新率为90Hz时,在Vsync信号波形中一个TE到来的时,电子设备的软件会向电子设备的硬件(即Panel)对应的RAM发送需要显示的第一帧图像数据。在Vsync信号波形中下降沿到来的时,电子设备的硬件则开始从RAM里读取第一帧图像数据,并将第一帧图像数据刷到显示屏上。

在Vsync信号波形中的整个低电平期间Panel都在向屏幕刷图像数据,直到上升沿到来,才结束刷图像数据。为了保证第一帧图像数据能够完整发送完成并被Panel正确且完整地刷新到显示屏上,电子设备的软件在波形的上升沿(即Vsync信号波形中下一个TE)到来之前将第一图像数据发送完成。即电子设备的软件将一帧图像数据传输到电子设备的硬件花费的时间包括Vsync信号波形中一个高电平时间以及部分低电平时间。

在Vsync信号波形中下一个TE到来的时,电子设备的软件会向电子设备的硬件对应的RAM发送需要显示的下一帧图像数据。

如图6中的(b)所示,在电子设备的显示屏的刷新率为60Hz时,在Vsync信号波形中一个TE到来的时,电子设备的软件会向电子设备的硬件(即Panel)对应的RAM发送需要显示的第一帧图像数据。在Vsync信号波形中下降沿到来的时,电子设备的硬件则开始从RAM里读取第一帧图像数据,并将第一帧图像数据刷到显示屏上。

在Vsync信号波形中的整个低电平期间Panel都在向屏幕刷图像数据,直到上升沿到来,才结束刷图像数据。为了保证第一帧图像数据能够完整发送完成并被Panel正确且完整地刷新到显示屏上,电子设备的软件在波形的上升沿(即Vsync信号波形中下一个TE)到来之前将第一图像数据发送完成。即电子设备的软件将一帧图像数据传输到电子设备的硬件花费的时间包括Vsync信号波形中一个高电平时间以及部分低电平时间。

在Vsync信号波形中下一个TE到来的时,电子设备的软件会向电子设备的硬件对应的RAM发送需要显示的下一帧图像数据。

结合图6中的(a)和图6中的(b)可知,对于不同的显示屏的刷新率,电子设备的软件向电子设备的硬件发送图像数据的时间不同。因此,在电子设备的显示屏的刷新率进行调整时,需要将电子设备的软件向电子设备的硬件发送图像数据的时间进行对应的调整。

由于电子设备的软件向电子设备的硬件发送图像数据的时间包括电子设备的软件对图像数据的压缩时间和电子设备对压缩后的图像数据的发送时间。因此,传输时间调整指令可以压缩时间调整指令和发送时间调整指令。压缩时间调整指令可以用于调整移动产业处理器接口时钟(mobile industry processor interface-clock,Mipi-clk)。发送时间调整指令可以用于调整移动显示处理器时钟(mobile display processor,mdp-clk)。

因此,在电子设备的显示屏的刷新率调整时,电子设备的软件会向电子设备的硬件发送切帧指令。在下发切帧指令的同时,电子设备的软件下发传输时间调整指令,从而电子设备的软件可以将电子设备的软件向电子设备的硬件发送图像数据的时间(即图像数据的压缩时间和发送时间)进行对应的调整。

即在电子设备的显示屏的刷新率进行调整时,电子设备的软件下发切帧指令的同时会下发调整Mipi-clk和mdp-clk的指令。在电子设备的显示屏的刷新率由高刷新率切换到低刷新率时,需要降低图像数据的压缩时间和发送时间,即需要降低Mipi-clk和mdp-clk,从而导致电子设备的软件向电子设备的硬件发送图像数据的时间会变长。

对于Mipi-clk和mdp-clk的调整会在电子设备的软件下发切帧指令的下一帧立即生效,但此时,从电子设备的软件层面来看切帧指令下发后下一帧的刷新率并没有真正切换过来,新刷新率的第一个TE距离原刷新率最后一个TE的时间仍为原刷新率的时间,新刷新率的第二个TE距离新刷新率的第一个TE的时间才是新刷新率的时间。即在切帧动作上电子设备的软件与电子设备的硬件的判断条件是不同的,当发生刷新率切换时,电子设备的软件实际完成切换Mipi-clk和mdp-clk的时间为下一帧,但下一帧的实际时长为原刷新率对应的时长,导致在由高刷新率向低刷新率切换的过程中一定会造成踩TE的问题。

需要说明的是,在一个TE到来时,电子设备的软件开始向电子设备的硬件传输一帧图像数据,而在下一个TE到来时,电子设备的软件开始向电子设备的硬件传输下一帧图像数据。踩TE,即在下一个TE到来时,电子设备的软件向电子设备的硬件传输的一帧图像数据还未传输完成,然而由于下一个TE已经到来,电子设备的软件开始向电子设备的硬件传输的下一帧图像数据。由于一帧图像数据还未传输完成,电子设备的软件就开始传输下一帧图像数据,这就导致电子设备的显示屏显示的画面会出现卡顿等问题。

下面结合图7对电子设备的显示屏的刷新率由高刷新率调整为低刷新率的过程中造成踩TE的问题进行示意说明。

如图7中的所示,在电子设备的显示屏的刷新率为高刷新率时,在Vsync信号波形中电子设备的软件将一帧图像数据传输到电子设备的硬件的时长较短。在电子设备的显示屏的刷新率由高刷新率调整为低帧率时,电子设备的软件(即电子设备的SOC中的软件)下发切帧指令时,电子设备的软件同时下发调整Mipi-clk和mdp-clk的指令。由于高刷新率调整为低刷新率时需要降低Mipi-clk和mdp-clk,会导致电子设备的软件向电子设备的硬件传输图像数据的时间变长。

对于电子设备的软件来说,在电子设备的软件下发切帧指令的下一帧,新的刷新率并未生效,在下下一帧时,新的刷新率才生效。即电子设备的软件下发切帧指令的下一帧对应的时长为高刷新率对应的时长。而在电子设备的软件下发切帧指令的下一帧,新的Mipi-clk和mdp-clk已生效。即电子设备的软件下发切帧指令的下一帧,电子设备的软件将一帧图像数据传输到电子设备的硬件的时长已调整为低刷新率对应的时长,低刷新率对应的时长较长。而电子设备的软件下发切帧指令的下一帧对应的时长为高刷新率对应的时长,电子设备的软件下发切帧指令的下一帧对应的传输图像数据的时间,超过了电子设备的软件下发切帧指令的下一帧对应的时长,在电子设备的软件下发切帧指令的下下一帧到来时,电子设备的软件会向电子设备的硬件传输下一帧图像数据。这就会导致在电子设备的软件下发切帧指令的下一帧时长内,电子设备的软件向电子设备的硬件传输图像数据并没有传输完成,造成踩TE现象。

也就是说,电子设备修改Mipi的传输速率后导致传输时间变长,传输时间超过此时帧率的总时长,造成踩TE现象,一帧图像数据还未传输完成就开始传下一帧图像数据,电子设备的屏幕会出现花线等现象。由于一帧图像数据并未传输完成,就开始传下一帧图像数据,这就导致电子设备在显示屏的刷新率的调整过程中,电子设备的屏幕显示的画面会出现卡顿等问题。

在电子设备的显示屏的刷新率进行调整时,电子设备的软件在切换刷新率时需要切换Mipi-clk和mdp-clk,也需要花费一定的时间。在电子设备的显示屏的刷新率由低刷新率切换到高刷新率时,切换Mipi-clk和mdp-clk的时间如果过长,也会造成电子设备的软件丢一帧数据数据。为在电子设备的显示屏的刷新率为低帧率时,电子设备的软件需要将图像数据发送完成以后才可以进行切换刷新率,此时距离下一个TE到来之前可能只有很短的时间,如果在这段时间之内无法完成切帧指令的下发以及Mipi-clk和mdp-clk的切换,则在下一个TE信号到来的时候,电子设备的软件并没有准备好要发送图像数据,也就是说,电子设备的软件错过了一个TE信号,因此会丢掉一帧图像数据。

下面结合图8对电子设备的显示屏的刷新率由低刷新率调整为高刷新率的过程中电子设备的软件丢掉一帧图像数据进行示意说明。

如图8中的所示,在电子设备的显示屏的刷新率为低刷新率时,在Vsync信号波形中电子设备的软件将一帧图像数据传输到电子设备的硬件的时长较长。在电子设备的显示屏的刷新率由低刷新率调整为高帧率时,电子设备的软件(即电子设备的SOC中的软件)下发切帧指令时,电子设备的软件同时下发切换Mipi-clk和mdp-clk的指令。由于切换Mipi-clk和mdp-clk也需要时间,如果切换Mipi-clk和mdp-clk的时间过长,就会导致在下一个TE信号到来的时候,电子设备的软件并没有准备好要发送图像数据,也就是说,电子设备的软件错过了一个TE信号(即电子设备的软件下发切帧指令的下一帧对应的TE信号),因此会丢掉一帧图像数据。

对于电子设备的软件下发切帧指令的下一帧以及下下一帧这段时间内,电子设备的软件应该向电子设备的硬件发送两帧图像数据,实际却只发送了一帧图像数据,相当于电子设备的软件导致绘制丢失了一帧图像数据,在某些场景下能看到比较明显的卡顿现象。

综上,在电子设备的显示屏的刷新率进行调整时,电子设备的硬件的判断逻辑中的切帧动作与电子设备的软件的判断逻辑中的切帧动作不一致。这就导致电子设备在显示屏的刷新率的调整过程中,电子设备的屏幕显示的画面会出现卡顿等问题。

为了解决电子设备的显示的刷新率由高刷新率切向低刷新率时,因为踩TE现象造成的花屏问题,现有技术中通过添加强制延时,在延时阶段电子设备的软件不会向电子设备的硬件发送图像数据。虽然现有技术中通过在延时阶段电子设备的软件不会向电子设备的硬件发送图像数据,避免出现踩TE现象造成的花屏问题,但是该现有技术中会导致绘制丢失图像数据,造成比较明显的卡顿现象。

如图9所示,现有技术中在电子设备的显示的刷新率由高刷新率切向低刷新率时,在电子设备的软件下发切帧指令时,开始调添加延时,在延时阶段电子设备的软件不会向电子设备的硬件发送图像数据,从而避免切帧产生的踩TE问题。但是,从电子设备的软件下发切帧指令的下一帧开始,到电子设备的软件向电子设备的硬件发送图像数据这段时间,电子设备的软件本应该向电子设备的硬件发送三帧图像数据,但是电子设备的软件实际却只向电子设备的硬件发送了一帧图像数据。相当于电子设备的软件导致绘制丢失了两帧图像数据,在某些场景下能看到比较明显的卡顿现象。可见,该相关技术中并没解决电子设备在显示屏的刷新率的调整过程中,电子设备的屏幕显示的画面会出现卡顿等问题。

针对上述问题,本申请实施例提供一种刷新率切换方法,应用于电子设备,在电子设备的显示屏的刷新率由高刷新率切换为低刷新率时,电子设备的软件可以先向电子设备的硬件下发切帧指令,由电子设备的硬件将显示屏的刷新率由高刷新率切换为低刷新率。在电子设备的软件确定刷新率切换完成之后,电子设备的软件再将传输图像数据的时间由高刷新率对应的时间,切换为低刷新率对应的时间。由于在电子设备的软件下发切帧率指令时,电子设备的软件不调整电子设备的软件向电子设备的硬件传输图像数据的时间,从而可以避免在电子设备的显示屏的刷新率由高刷新率切换为低刷新率时踩TE的问题,从而能够避免电子设备在显示屏的刷新率的调整过程中,电子设备的屏幕显示的画面会出现卡顿等问题。

例如,结合图10所示,在电子设备的显示屏的刷新率由高刷新率切换为低刷新率时,电子设备的软件在第一帧(即第一个Vsync信号)中下发切帧指令,由电子设备的硬件在下一帧中开始将显示屏的刷新率由高刷新率切换为低刷新率,延迟一帧后新的刷新率生效,即从电子设备的硬件的角度上来看,切帧已经完成,但电子设备的软件是通过两个TE时长来计算刷新率的,所以此时电子设备的软件的判断逻辑中刷新率未切换完成。也就是说,在电子设备的软件下发切帧指令后暂时维持原来的Mipi-clk和mdp-clk,延迟若干帧之后,在电子设备的软件的判断逻辑中切帧完成以后,再切换Mipi-clk和mdp-clk,以此来规避踩TE的问题。即在第一帧(即第一个Vsync信号)中下发切帧指令之后,第二帧以及第三帧中维持原来的Mipi-clk和mdp-clk,在第四帧到来时,电子设备的软件确定刷新率切换完成,电子设备的软件将高刷新率对应的Mipi-clk和mdp-clk,切换为低刷新率对应的Mipi-clk和mdp-clk。

本申请实施例的方案,在电子设备的显示屏的刷新率由低刷新率切换为高刷新率时,电子设备的软件向电子设备的硬件下发切帧指令同时下发调整传输图像数据时间的指令,由电子设备的硬件将显示屏的刷新率由高刷新率切换为低刷新率,并由电子设备的软件将传输图像数据的时间由低刷新率对应的时间,调整为高刷新率对应的时间。在电子设备的软件将传输图像数据的时间由低刷新率对应的时间,调整为高刷新率对应的时间时,电子设备的软件退出低功耗模式,而不重新开启低功耗模式。在电子设备的软件确定刷新率切换完成之后,电子设备的软件开启低功耗模式。

由于在电子设备的软件将传输图像数据的时间由低刷新率对应的时间,调整为高刷新率对应的时间时,电子设备的软件退出低功耗模式,而不重新开启低功耗模式,这样能够缩短调整传输图像数据的时间,因此能够避免调整传输图像数据的时间的时长超过电子设备的软件下发切帧指令的下一帧对应的时长,造成一帧图像数据还未传输完成就开始传下一帧图像数据,电子设备的屏幕会出现花线等现象。

下面对本申请实施例提供的刷新率切换方法进行描述。

本申请实施例提供的刷新率切换方法可以应用于电子设备。在一些实施例中,上述电子设备可以是手机、平板电脑、手持计算机,个人计算机(personal computer,PC),蜂窝电话,个人数字助理(personal digital assistant,PDA),可穿戴式设备等应用程序的电子设备。本申请实施例在此对电子设备的具体形态不做限制。

示例地,以电子设备为手机为例,图11示出了本申请实施例提供的一种电子设备的结构示意图。

如图11所示,电子设备可以包括处理器1110,外部存储器接口1120,内部存储器1121,通用串行总线(universal serial bus,USB)接口1130,充电管理模块1140,电源管理模块1141,电池1142,天线1,天线2,移动通信模块1150,无线通信模块1160,音频模块1170,扬声器1170A,受话器1170B,麦克风1170C,耳机接口1170D,传感器模块1180,按键1190,马达1191,指示器1192,摄像头1193,显示屏1194,以及用户标识模块(subscriberidentification module,SIM)卡接口1195等。其中,传感器模块1180可以包括压力传感器1080A,陀螺仪传感器1180B,气压传感器1180C,磁传感器1180D,加速度传感器1180E,距离传感器1180F,接近光传感器1180G,指纹传感器1180H,温度传感器1180J,触摸传感器1180K,环境光传感器1180L,骨传导传感器1180M等。

可以理解的是,本实施例示意的结构并不构成对电子设备的具体限定。在另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

处理器1110可以包括一个或多个处理单元,例如:处理器1110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

在一些示例中,处理器1110可以为电子设备的系统级芯片SOC。

控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

处理器1110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器1110中的存储器为高速缓冲存储器。该存储器可以保存处理器1110刚用过或循环使用的指令或数据。如果处理器1110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器1110的等待时间,因而提高了系统的效率。

在一些实施例中,处理器1110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。

电子设备的无线通信功能可以通过天线1,天线2,移动通信模块1150,无线通信模块1160,调制解调处理器以及基带处理器等实现。

天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。

移动通信模块1150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块1150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块1150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块1150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块1150的至少部分功能模块可以被设置于处理器1110中。在一些实施例中,移动通信模块1150的至少部分功能模块可以与处理器1110的至少部分模块被设置在同一个器件中。

无线通信模块1160可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块1160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块1160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器1110。无线通信模块1160还可以从处理器1110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。

在一些实施例中,电子设备的天线1和移动通信模块1150耦合,天线2和无线通信模块1160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。

电子设备通过GPU,显示屏1194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏1194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器1010可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

显示屏1194用于显示图像,视频等。显示屏1194包括显示面板。显示面板可以采用液晶显示屏(liquidcrystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏1194,N为大于1的正整数。

电子设备可以通过ISP,摄像头1093,视频编解码器,GPU,显示屏1194以及应用处理器等实现拍摄功能。在一些实施例中,电子设备可以包括1个或N个摄像头1193,N为大于1的正整数。

内部存储器1121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器1110通过运行存储在内部存储器1121的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器1121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所建立的数据(比如音频数据,电话本等)等。此外,内部存储器1121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。

加速度传感器1180E可按照一定频率,周期性地采集电子设备的加速度数据。比如,可采集电子设备在各个方向(一般为XYZ三轴方向)上的加速度大小。

当然,可以理解的,上述图11所示仅仅为电子设备的形态为手机时的示例性说明。若电子设备是平板电脑,手持计算机,PC,PDA,可穿戴式设备(如:智能手表、智能手环)等其他设备形态时,电子设备的结构中可以包括比图11中所示更少的结构,也可以包括比图11中所示更多的结构,在此不作限制。

可以理解的是,一般而言,电子设备功能的实现除了需要硬件的支持外,还需要软件的配合。

电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备的软件结构。

图12是本申请实施例提供的电子设备的软件结构框图。

分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,硬件抽象层,以及内核层。

应用程序层可以包括一系列应用程序。应用程序可以包括显示帧率可以动态变化的应用程序。如图12所示,显示帧率可以动态变化的应用程序可以包括:滑动交互、静止场景等应用程序,视屏场景、导航等应用程序,游戏应用程序以及滑动动效等应用程序。滑动交互、静止场景等应用程序的静止场景与刷新场景对应的显示帧率不同。视屏场景、导航等应用程序能够通过动态识别帧率或自适应刷新率等方式进行显示帧率的改变。

应用程序还可以包括相机,图库,日历,电话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。

应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。

如图12所示,应用程序框架层可以包括显示合成系统(即SurfaceFlinger)、切帧服务、切帧策略模块、场景识别模块以及环境光变化模块。

在一些示例中,在应用程序的显示帧率改变时,应用程序可以通知切帧服务。在切帧服务接收到应用程序的显示帧率改变的通知时,切帧服务可以通过切帧策略模块确定电子设备的显示屏的刷新率需要调整的目标刷新率。切帧策略模块可以通过场景识别模块以及环境光变化模块确定电子设备的显示屏的刷新率需要调整的目标刷新率。在切帧服务确定出电子设备的显示屏的刷新率需要调整的目标刷新率时,切帧服务可以通知显示合成系统,由显示合成系统通知硬件抽象层中的硬件编写器(即HWC)。

应用程序框架层还可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。

窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。

内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。

视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。

电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。

资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。

通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。

硬件抽象层(hardware abstraction layer,HAL),位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。硬件抽象层可以包括硬件编写器(即HWC)。

在一些示例中,硬件编写器在接收到显示合成系统发送的切换电子设备的显示屏的刷新率的通知时,硬件编写器可以通过延迟切换传输时间接口(即displaySetFps接口)向电子设备的内核层的切帧驱动发送切帧指令,并在硬件编写器确定刷新率切换完成之后,硬件编写器通过延迟切换传输时间接口向电子设备的内核层的切帧驱动发送切换传输时间指令。即本申请的方案通过延迟切换传输时间接口,可以新增延时切换传输时间方案。

需要说明的是,现有技术中硬件编写器在接收到显示合成系统发送的切换电子设备的显示屏的刷新率的通知时,硬件编写器直接向电子设备的内核层的切帧驱动发送切帧指令(也可以称为切换指令)以及切换传输时间指令。

内核层(即Kernel)可以包括切帧驱动以及传输通道等。传输通道可以为显示屏串行接口(display serial interface,DSI)。

在一些示例中,在切帧驱动接收到硬件编写器通过延迟切换传输时间接口发送切帧驱动发送切帧指令之后,切帧驱动可以通过传输通道向屏幕IC(即显示屏IC)发送切帧指令,从而屏幕IC可以将显示屏的刷新率进行调整。

以下实施例中的方法均可以在具有上述硬件结构或软件结构的电子设备中实现。

以下结合图13对本申请实施例提供的刷新率切换方法进行详细说明。图13为本申请实施例提供的一种刷新率切换方法的流程示意图。如图13所示,该刷新率切换方法可以包括下述S1301-S1316。

S1301、电子设备运行第一应用程序。

电子设备可以运行第一应用程序,第一应用程序可以为电子设备中能够进行应用程序的显示帧率切换的应用程序。例如,第一应用程序可以包括游戏应用程序、视频应用程序或导航应用程序等能够进行应用程序的显示帧率切换的应用程序,本申请实施例中对第一应用程序的具体类型并不进行限定。

S1302、电子设备的显示屏IC按照第一刷新率在显示屏上显示第一应用程序对应的图像数据,电子设备的SOC按照第一刷新率对应的第一传输时长向显示屏IC传输第一应用程序对应的图像数据。

在电子设备运行第一应用程序时,电子设备的显示屏集成电路IC(也可以称为屏幕IC)可以按照第一刷新率在显示屏上显示第一应用程序对应的图像数据。第一刷新率,即电子设备的显示屏当前的刷新率。

在电子设备运行第一应用程序时,电子设备的SOC可以按照第一刷新率对应的第一传输时长向显示屏IC传输第一应用程序对应的图像数据。

第一传输时长,即在电子设备的显示屏的刷新率为第一刷新率时,电子设备的SOC向电子设备的显示屏IC发送一帧图像数据的时长。

在一些示例中,第一传输时长可以包括在电子设备的显示屏的刷新率为第一刷新率时,电子设备的SOC压缩一帧图像数据的时长,以及电子设备的SOC向显示屏IC发送一帧图像数据的时长。

S1303、电子设备确定是否需要切换显示屏的刷新率。

在电子设备的运行第一应用程序时,电子设备可以按照当前显示屏的刷新率(即第一刷新率)显示第一应用程序对应的图像数据,在电子设备按照当前显示屏的刷新率显示图像数据的过程中,电子设备可以确定是否需要切换显示屏的刷新率。显示屏的刷新率,即屏幕刷新率,指显示屏每秒中能够刷新显示的图像数据的次数。

当前显示屏的刷新率可以为60Hz、90Hz或者120Hz等,本申请实施例中对当前显示屏的刷新率的具体数值并不进行限定。

在电子设备确定不需要切换显示屏的刷新率的情况下,电子设备可以继续按照当前显示屏的刷新率显示图像数据。在电子设备继续按照当前显示屏的刷新率显示图像数据的情况下,电子设备可以继续确定是否需要切换显示屏的刷新率,即电子设备可以继续执行S1303。在电子设备确定需要切换显示屏的刷新率的情况下,电子设备确定新的刷新率,从而可以将显示屏的刷新率切换为新的刷新率,即电子设备可以继续执行下述S1304。

在一些示例中,电子设备确定是否需要切换显示屏的刷新率,可以包括:在电子设备上运行的第一应用程序的显示帧率需要切换的情况下,电子设备可以确定需要切换显示屏的刷新率。在电子设备的第一应用程序的显示帧率不需要切换的情况下,电子设备可以确定不需要切换显示屏的刷新率。

也就是说,在第一应用程序运行时,第一应用程序可以切换显示帧率,在第一应用程序切换显示帧率时,电子设备可以确定需要切换显示屏的刷新率,从而能够保证显示图像数据的流畅度。需要说明的是,在第一应用程序切换显示帧率时,如第一应用程序提高显示帧率时,电子设备可以将显示屏的刷新率相应的切换为高刷新率。在第一应用程序切换显示帧率时,如第一应用程序降低显示帧率时,电子设备可以将显示屏的刷新率相应的切换为低刷新率。

例如,结合图12所示,电子设备确定是否切需要换显示屏的刷新率的过程,可以包括:在电子设备的第一应用程序(如游戏应用程序、视频应用程序等)运行时,第一应用程序可以进行显示帧率的切换,如提高第一应用程序的显示帧率。在第一应用程序的显示帧率切换时,第一应用程序可以通知电子设备的应用程序框架层中的切帧服务,如第一应用程序向电子设备的应用程序框架层中的切帧服务发送显示帧率切换通知。在切帧服务接收到第一应用程序发送的显示帧率切换通知时,切帧服务可以确定需要切换显示屏的刷新率,即电子设备可以确定需要切换显示屏的刷新率。

S1304、电子设备确定第二刷新率。

在电子设备确定需要切换显示屏的刷新率时,即在电子设备确定显示屏的刷新率待切换的情况下,电子设备可以确定第二刷新率,即电子设备可以确定出新的刷新率,从而电子设备可以将显示屏的刷新率由当前显示屏的刷新率(即第一刷新率)切换到新的刷新率(即第二刷新率)。

第二刷新率与第一刷新率不同,本申请实施例中对第二刷新率的具体数值并不进行限定,第一刷新率与第二刷新率不同即可。如,在第一刷新率为60Hz时,第二刷新率可以为90Hz或120Hz,在第一刷新率为90Hz时,第二刷新率可以为60Hz或120Hz。

在一些示例中,电子设备确定第二刷新率,可以包括:电子设备可以根据电子设备的第一应用程序的显示帧率,确定第二刷新率。即在第一应用程序的显示帧率切换为第一显示帧率的情况下,电子设备可以根据第一显示帧率确定第二刷新率。

在一些示例中,第二刷新率可以与电子设备的第一应用程序的显示帧率相对应,电子设备可以根据电子设备的第一应用程序的显示帧率,以及第一应用程序的显示帧率与刷新率之间的对应关系,确定第二刷新率。例如,在第一应用程序的显示帧率为60Hz时,第二刷新率可以为60Hz,在第一应用程序的显示帧率为90Hz时,第二刷新率可以为90Hz,在第一应用程序的显示帧率为120Hz时,第二刷新率可以为120Hz。

在另一些示例中,电子设备确定第二刷新率,可以包括:电子设备可以根据电子设备的第一应用程序的显示帧率、电子设备的场景以及电子设备所处的环境光,确定第二刷新率。即第二刷新率可以与电子设备的第二应用程序的显示帧率、电子设备的场景以及电子设备所处的环境光相对应。

例如,结合图12所示,电子设备确定第二刷新率的过程,可以包括:在电子设备应用程序框架层中的切帧服务接收到电子设备的第一应用程序发送的显示帧率切换通知时,切帧服务可以通过应用程序框架层中的切帧策略模块确定电子设备的显示屏的刷新率需要切换的新的刷新率,即第二刷新率。切帧策略模块可以通过场景识别模块以及环境光变化模块确定电子设备的显示屏的刷新率需要切换的新的刷新率。

S1305、电子设备确定第二刷新率是否大于第一刷新率。

在电子设备确定出第二刷新率(即新的刷新率)之后,电子设备可以确定第二刷新率是否大于当前显示屏的刷新率,即第一刷新率。

在电子设备确定第二刷新率小于第一刷新率的情况下,电子设备可以继续执行下述S1306-S1311。在电子设备确定第二刷新率大于第一刷新率的情况下,电子设备可以继续执行下述S1312-S1316。

例如,结合图12所示,电子设备确定第二刷新率是否大于第一刷新率的过程,可以包括:在电子设备应用程序框架层中的切帧服务接收到电子设备的第一应用程序发送的显示帧率切换通知时,切帧服务可以通过应用程序框架层中的切帧策略模块确定电子设备的显示屏的刷新率需要切换的新的刷新率,即第二刷新率。在切帧服务确定第二刷新率之后,切帧服务可以通知电子设备应用程序框架层中的显示合成系统,如切帧服务可以向显示合成系统发送第一切换指令,第一切换指令包括第二刷新率。

在显示合成系统接收到切帧服务发送的第一切换指令之后,显示合成系统可以通知电子设备的硬件抽象层中的硬件编写器,如显示合成系统可以向硬件编写器发送第一切换指令,第一切换指令可以包括第二刷新率。在硬件编写器接收到显示合成系统发送的第一切换指令时,硬件编写器可以确定第二刷新率是否大于当前显示屏的刷新率,即第一刷新率。

S1306、电子设备的SOC向显示屏IC发送第一切换指令,第一切换指令用于指示显示屏IC将显示屏的刷新率由第一刷新率切换为第二刷新率。

在电子设备确定第二刷新率小于第一刷新率的情况下,如,第一刷新率可以为90Hz,第二刷新率可以为60Hz,即电子设备的显示屏刷新率需要由高刷新率切换为低刷新率,电子设备的SOC可以向显示屏IC发送第一切换指令。第一切换指令用于指示显示屏IC将显示屏的刷新率由第一刷新率切换为第二刷新率。

例如,结合图12所示,电子设备的SOC向显示屏IC发送第一切换指令的过程,可以包括:在电子设备的硬件抽象层中的硬件编写器确定第二刷新率小于第一刷新率时,硬件编写器可以通过延迟切换传输时间接口向电子设备的内核层中的切帧驱动发送第一切换指令,第一切换指令用于指示显示屏IC将显示屏的刷新率由第一刷新率切换为第二刷新率。在切帧驱动接收到第一切换指令之后,第一切换指令可以通过电子设备的内核层中的传输通道向电子设备的显示屏IC发送第一切换指令,从而电子设备的显示屏IC可以根据第一切换指令将显示屏的刷新率由第一刷新率切换为第二刷新率。即电子设备的SOC向电子设备的显示屏IC发送第一切换指令。

S1307、电子设备的显示屏IC将显示屏的刷新率由第一刷新率切换为第二刷新率。

在电子设备的显示屏IC接收到电子设备的SOC发送的第一切换指令之后,电子设备的显示屏IC可以基于第一切换指令,将显示屏的刷新率由第一刷新率切换为第二刷新率,从而电子设备的显示屏可以按照第二刷新率显示图像数据。

S1308、电子设备的SOC确定显示屏的刷新率由第一刷新率切换为第二刷新率是否完成。

在电子设备的SOC确定显示屏的刷新率由第一刷新率切换为第二刷新率没有完成的情况下,电子设备可以继续执行S1308。在电子设备的SOC确定显示屏的刷新率由第一刷新率切换为第二刷新率完成的情况下,电子设备可以继续执行下述S1309。

在一些示例中,电子设备的SOC确定显示屏的刷新率由第一刷新率切换为第二刷新率是否完成,可以包括:在电子设备的SOC向显示屏IC发送第一切换指令对应的Vsync信号之后,在第三个Vsync信号到来时,电子设备的SOC可以确定显示屏的刷新率由第一刷新率切换为第二刷新率完成。而在电子设备的SOC向显示屏IC发送第一切换指令对应的Vsync信号之后,在第三个Vsync信号到来之前,电子设备的SOC可以确定显示屏的刷新率由第一刷新率切换为第二刷新率没有完成。也就是说,在电子设备的SOC发送第一切换指令的垂直同步Vsync信号之后的第三个Vsync信号的上升沿到来时,电子设备的SOC可以确定显示屏的刷新率切换完成。

例如,结合图12所示,电子设备的SOC确定显示屏的刷新率由第一刷新率切换为第二刷新率是否完成的过程,可以包括:在电子设备的硬件抽象层中的硬件编写器确定第二刷新率小于第一刷新率时,硬件编写器可以通过延迟切换传输时间接口向电子设备的内核层中的切帧驱动发送第一切换指令。在切帧驱动接收到第一切换指令之后,硬件编写器可以在向显示屏IC发送第一切换指令对应的Vsync信号之后,在第三个Vsync信号到来时,确定显示屏的刷新率由第一刷新率切换为第二刷新率完成。在第三个Vsync信号到来之前,硬件编写器可以确定显示屏的刷新率由第一刷新率切换为第二刷新率完成。

S1309、电子设备的SOC将图像数据的传输时长由第一传输时长切换为第二传输时长。

在电子设备的SOC确定显示屏的刷新率由第一刷新率切换为第二刷新率完成的情况下,电子设备的SOC可以将图像数据的传输时长由第一传输时长切换为第二传输时长。

图像数据的传输时长即电子设备的SOC向电子设备的屏幕传输一帧图像数据的时长。第二传输时长为第二刷新率对应的图像数据的传输时长,即在电子设备的显示屏的刷新率为第二刷新率时,电子设备的SOC向电子设备的屏幕传输一帧图像数据的时长。

在一些示例中,图像数据的传输时长可以包括电子设备的SOC压缩一帧图像数据的时长,以及电子设备的SOC向显示屏IC发送一帧图像数据的时长。即第二传输时长可以包括在电子设备的显示屏的刷新率为第二刷新率时,电子设备的SOC压缩一帧图像数据的时长,以及电子设备的SOC向显示屏IC发送一帧图像数据的时长。第一传输时长可以包括在电子设备的显示屏的刷新率为第一刷新率时,电子设备的SOC压缩一帧图像数据的时长,以及电子设备的SOC向显示屏IC发送一帧图像数据的时长。

在一些示例中,电子设备的SOC将图像数据的传输时长由第一传输时长切换为第二传输时长,可以包括:电子设备的SOC将第一传输时长包括的电子设备的SOC压缩一帧图像数据的时长,切换为第二传输时长包括的电子设备的SOC压缩一帧图像数据的时长,以及电子设备的SOC将第一传输时长包括的电子设备的SOC向显示屏IC发送一帧图像数据的时长,切换为第二传输时长包括的电子设备的SOC向显示屏IC发送一帧图像数据的时长。

电子设备的SOC将第一传输时长包括的电子设备的SOC向显示屏IC发送一帧图像数据的时长,切换为第二传输时长包括的电子设备的SOC压缩一帧图像数据的时长,可以为电子设备的SOC将电子设备的显示屏的刷新率为第一刷新率对应的Mipi-clk,切换为电子设备的显示屏的刷新率为第二刷新率对应的Mipi-clk。

电子设备的SOC将第一传输时长包括的电子设备的SOC向显示屏IC发送一帧图像数据的时长,切换为第二传输时长包括的电子设备的SOC向显示屏IC发送一帧图像数据的时长,可以为电子设备的SOC将电子设备的显示屏的刷新率为第一刷新率对应的mdp-clk,切换为电子设备的显示屏的刷新率为第二刷新率对应的mdp-clk。

例如,结合图12所示,电子设备的SOC将图像数据的传输时长由第一传输时长切换为第二传输时长的过程,可以包括:在电子设备的硬件抽象层中的硬件编写器确定第二刷新率小于第一刷新率时,硬件编写器可以通过延迟切换传输时间接口向电子设备的内核层中的切帧驱动发送第一切换指令。在切帧驱动接收到第一切换指令之后,硬件编写器可以在向显示屏IC发送第一切换指令对应的Vsync信号之后,在第三个Vsync信号到来时,确定显示屏的刷新率由第一刷新率切换为第二刷新率完成。在硬件编写器确定显示屏的刷新率由第一刷新率切换为第二刷新率完成之后,硬件编写器可以通过延迟切换传输时间接口向电子设备的内核层中的切帧驱动发送传输时长切换指令,传输时长切换指令用于指示切帧驱动将图像数据的传输时长由第一传输时长切换为第二传输时长。传输时长切换指令可以包括切换Mipi-clk指令和切换mdp-clk指令。切帧驱动根据切换Mipi-clk指令和切换mdp-clk指令,将第一刷新率对应的Mipi-clk和mdp-clk,切换为第二刷新率对应的Mipi-clk和mdp-clk。即电子设备的SOC将图像数据的传输时长由第一传输时长切换为第二传输时长。

在电子设备的硬件编写器(即HWC)添加接口displaySetFps,在切换刷新率时,可以先调用此接口函数,通过此接口函数发送切换指令。在硬件编写器通过延迟切换传输时间接口向电子设备的内核层中的切帧驱动发送传输时长切换指令之前,硬件编写器可以先从切帧驱动获取在切换刷新率时需要延时切换Mipi-clk和mdp-clk的帧数。切帧驱动确定需要延时切换Mipi-clk和mdp-clk的帧数之后,可以通知硬件编写器。

需要说明的是,在电子设备的SOC向显示屏IC发送切换指令对应的Vsync信号之后,在第三个Vsync信号到来之前,即电子设备的SOC确定显示屏的刷新率由第一刷新率切换为第二刷新率没有完成之前,电子设备的SOC向电子设备的屏幕传输一帧图像数据的时长仍为第一传输时长,即第一刷新率对应的传输时长。

S1310、电子设备的SOC按照第二传输时长向显示屏传输第一应用程序对应的图像数据。

在电子设备的SOC将图像数据的传输时长由第一传输时长切换为第二传输时长之后,电子设备的SOC可以按照第二传输时长(即切换后的刷新率对应的传输时长)向显示屏传输第一应用程序对应的图像数据。

S1311、电子设备的显示屏按照第二刷新率显示第一应用程序对应的图像数据。

在电子设备的SOC按照第二传输时长向显示屏传输第一应用程序对应的图像数据之后,电子设备的显示屏可以按照第二刷新率显示第一应用程序对应的图像数据。

S1312、电子设备的SOC向显示屏IC发送第二切换指令,且关闭低功耗模式,并将图像数据的传输时长由第一传输时长切换为第二传输时长。

在电子设备确定第二刷新率大于第一刷新率的情况下,如,第一刷新率可以为60Hz,第二刷新率可以为90Hz,即电子设备的显示屏的刷新率需要由低刷新率切换为高刷新率,电子设备的SOC可以向显示屏IC发送第二切换指令,第二切换指令用于指示显示屏IC将显示屏的刷新率由第一刷新率切换为第二刷新率。

在电子设备的SOC可以向显示屏IC发送第二切换指令的同时,电子设备的SOC可以关闭低功耗模式(ultra-low power state,ulps)。由于电子设备的SOC在低功耗模式时,不能够进行图像数据的传输时长的切换。因此,在电子设备的SOC可以将图像数据的传输时长由第一传输时长切换为第二传输时长之前,电子设备的SOC可以关闭低功耗模式。

在电子设备的SOC关闭低功耗模式之后,电子设备的SOC可以将图像数据的传输时长由第一传输时长切换为第二传输时长。

电子设备的SOC将图像数据的传输时长由第一传输时长切换为第二传输时长的过程可以参考上述S1309中电子设备的SOC将图像数据的传输时长由第一传输时长切换为第二传输时长的过程,本申请实施例中在此不再赘述。

在电子设备的SOC将图像数据的传输时长由第一传输时长切换为第二传输时长之后,电子设备的SOC可以按照第二传输时长(即切换后的刷新率对应的传输时长)向显示屏传输图像数据。

例如,结合图12所示,电子设备的SOC向显示屏IC发送切换指令,且关闭低功耗模式,并将图像数据的传输时长由第一传输时长切换为第二传输时长的过程,可以包括:在电子设备的硬件抽象层中的硬件编写器确定第一刷新率大于第二刷新率时,硬件编写器向电子设备的内核层中的切帧驱动发送第二切换指令,即电子设备的SOC向电子设备的显示屏IC发送第二切换指令,第二切换指令用于指示显示屏IC将显示屏的刷新率由第二刷新率切换为第一刷新率。在切帧驱动接收到第二切换指令之后,切帧驱动可以通过电子设备的内核层中的传输通道向电子设备的显示屏IC发送第二切换指令,从而电子设备的显示屏IC可以根据第二切换指令将显示屏的刷新率由第一刷新率切换为第二刷新率。

在硬件编写器向电子设备的内核层中的切帧驱动发送第二切换指令的同时,硬件编写器可以关闭低功耗模式,并向切帧驱动发送传输时长切换指令,传输时长切换指令用于指示切帧驱动将图像数据的传输时长由第一传输时长切换为第二传输时长。传输时长切换指令可以包括切换Mipi-clk指令和切换mdp-clk指令。切帧驱动根据切换Mipi-clk指令和切换mdp-clk指令,将第一刷新率对应的Mipi-clk和mdp-clk,切换为第二刷新率对应的Mipi-clk和mdp-clk。即电子设备的SOC将图像数据的传输时长由第一传输时长切换为第二传输时长。

S1313、电子设备的显示屏IC将显示屏的刷新率由第一刷新率切换为第二刷新率。

在电子设备的显示屏IC接收到电子设备的SOC发送的切换指令之后,电子设备的显示屏IC可以将显示屏的刷新率由第一刷新率切换为第二刷新率,从而电子设备的显示屏可以按照第二刷新率显示图像数据。

S1314、电子设备的SOC确定显示屏的刷新率由第一刷新率切换为第二刷新率是否完成。

在电子设备的SOC确定显示屏的刷新率由第一刷新率切换为第二刷新率没有完成的情况下,电子设备可以继续执行S1314。在电子设备的SOC确定显示屏的刷新率由第一刷新率切换为第二刷新率完成的情况下,电子设备可以继续执行下述S1315。

本申请实施例中,电子设备的SOC确定显示屏的刷新率由第一刷新率切换为第二刷新率是否完成的具体过程,可以参考上述S1307中电子设备的SOC确定显示屏的刷新率由第一刷新率切换为第二刷新率是否完成的具体过程,本申请实施例中在此不再赘述。

S1315、电子设备的SOC开启低功耗模式,并按照第二传输时长向显示屏传输第一应用程序对应的图像数据。

在电子设备的SOC确定显示屏的刷新率由第一刷新率切换为第二刷新率完成的情况下,电子设备的SOC可以开启低功耗模式,且电子设备的SOC可以按照第二传输时长向显示屏传输第一应用程序对应的图像数据。

S1316、电子设备的显示屏按照第二刷新率显示第一应用程序对应的图像数据。

在电子设备的SOC将图像数据的传输时长由第一传输时长切换为第二传输时长之后,电子设备的SOC可以按照第二传输时长(即切换后的刷新率对应的传输时长)向显示屏传输第一应用程序对应的图像数据,从而电子设备的显示屏可以按照第二刷新率显示第一应用程序对应的图像数据。

本申请实施例提供的刷新率切换方法,在电子设备的显示屏的刷新率由高刷新率切换为低刷新率时,电子设备的软件可以先向电子设备的硬件下发切换指令,由电子设备的硬件将显示屏的刷新率由高刷新率切换为低刷新率。在电子设备的软件确定刷新率切换完成之后,电子设备的软件再将传输图像数据的时间由高刷新率对应的时间,切换为低刷新率对应的时间。由于在电子设备的软件下发切帧率指令时,电子设备的软件不切换电子设备的软件向电子设备的硬件传输图像数据的时间,从而可以避免在电子设备的显示屏的刷新率由高刷新率切换为低刷新率时踩TE的问题,从而能够避免电子设备在显示屏的刷新率的切换过程中,电子设备的屏幕显示的画面会出现卡顿等问题。

在电子设备的显示屏的刷新率由低刷新率切换为高刷新率时,电子设备的软件向电子设备的硬件下发切换指令同时下发切换传输图像数据时间的指令,由电子设备的硬件将显示屏的刷新率由高刷新率切换为低刷新率,并由电子设备的软件将传输图像数据的时间由低刷新率对应的时间,切换为高刷新率对应的时间。在电子设备的软件将传输图像数据的时间由低刷新率对应的时间,切换为高刷新率对应的时间时,电子设备的软件退出低功耗模式,而不重新开启低功耗模式。在电子设备的软件确定刷新率切换完成之后,电子设备的软件开启低功耗模式。

由于在电子设备的软件将传输图像数据的时间由低刷新率对应的时间,切换为高刷新率对应的时间时,电子设备的软件退出低功耗模式,而不重新开启低功耗模式,这样能够缩短切换传输图像数据的时间,因此能够避免切换传输图像数据的时间的时长超过电子设备的软件下发切换指令的下一帧对应的时长,造成一帧图像数据还未传输完成就开始传下一帧图像数据,电子设备的屏幕会出现花线等现象。

对应于前述实施例中的方法,本申请实施例还提供一种刷新率切换装置。该刷新率切换装置可以应用于电子设备,用于实现前述实施例中的方法。该刷新率切换装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。

例如,图14示出了一种刷新率切换装置1400的结构示意图,如图14所示,该刷新率切换装置1400可以包括:运行模块1401、显示模块1402、传输模块1403、确定模块1404、发送模块1405和切换模块1406等。

其中,运行模块1401,可以用于运行第一应用程序。

显示模块1402,可以用于按照第一刷新率在显示屏上显示第一应用程序对应的图像数据。

传输模块1403,可以用于按照第一刷新率对应的第一传输时长向显示屏IC传输第一应用程序对应的图像数据。

确定模块1404,可以用于在电子设备确定显示屏的刷新率待切换的情况下,确定第二刷新率。

发送模块1405,可以用于在第二刷新率小于第一刷新率的情况下,向显示屏IC发送第一切换指令。

切换模块1406,可以用于基于第一切换指令,将显示屏的刷新率由第一刷新率切换为第二刷新率。

切换模块1406,还可以用于在电子设备的SOC确定显示屏的刷新率切换完成的情况下,将第一应用程序对应的图像数据的传输时长由第一传输时长切换为第二刷新率对应的第二传输时长。

传输模块1403,还可以用于按照第二传输时长向显示屏IC传输第一应用程序对应的图像数据。

显示模块1402,可以用于按照第二刷新率在显示屏上显示第一应用程序对应的图像数据。

在另一种可能的实现方式中,确定模块1404,可以用于在电子设备的SOC发送第一切换指令的垂直同步Vsync信号之后的第三个Vsync信号的上升沿到来时,确定显示屏的刷新率切换完成。

在另一种可能的实现方式中,发送模块1405,可以具体用于通过延迟切换传输时间接口向显示屏IC发送第一切换指令。

切换模块1406,可以具体用于通过延迟切换传输时间接口将第一应用程序对应的图像数据的传输时长由第一传输时长切换为第二传输时长。

在另一种可能的实现方式中,发送模块1405,还可以用于在第二刷新率大于第一刷新率的情况下,向电子设备的显示屏IC发送第二切换指令。

上述刷新率切换装置1400还可以包括关闭模块1407。关闭模块1407,可以用于关闭低功耗模式ulps。

切换模块1406,还可以用于将第一应用程序对应的图像数据的传输时长由第一传输时长切换为第二刷新率对应的第二传输时长。

切换模块1406,还可以用于基于第二切换指令,将显示屏的刷新率由第一刷新率切换为第二刷新率。

上述刷新率切换装置1400还可以包括开启模块1408。开启模块1408,可以用于在电子设备的SOC确定显示屏的刷新率切换完成的情况下,开启低功耗模式ulps。

传输模块1403,还可以用于按照第二传输时长向显示屏IC传输第一应用程序对应的图像数据。

显示模块1402,还可以用于按照第二刷新率在显示屏上显示第一应用程序对应的图像数据。

在另一种可能的实现方式中,确定模块1404,可以用于在电子设备的SOC发送第二切换指令的垂直同步Vsync信号之后的第三个Vsync信号的上升沿到来时,确定显示屏的刷新率切换完成。

在另一种可能的实现方式中,确定模块1404,可以用于在第一应用程序的显示帧率切换的情况下,确定显示屏的刷新率待切换。

在另一种可能的实现方式中,确定模块1404,可以具体用于在第一应用程序的显示帧率切换为第一显示帧率的情况下,根据第一显示帧率确定第二刷新率。

在另一种可能的实现方式中,第一应用程序可以包括游戏应用程序、视频应用程序或导航应用程序。

应理解以上装置中单元或模块(以下均称为单元)的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。

例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以称为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。

在一个例子中,以上装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或这些集成电路形式中至少两种的组合。

再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如CPU或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统SOC的形式实现。

在一种实现中,以上装置实现以上方法中各个对应步骤的单元可以通过处理元件调度程序的形式实现。例如,该装置可以包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例所述的方法。存储元件可以为与处理元件处于同一芯片上的存储元件,即片内存储元件。

在另一种实现中,用于执行以上方法的程序可以在与处理元件处于不同芯片上的存储元件,即片外存储元件。此时,处理元件从片外存储元件调用或加载程序于片内存储元件上,以调用并执行以上方法实施例所述的方法。

例如,本申请实施例还可以提供一种装置,如:电子设备,可以包括:处理器,用于存储该处理器可执行指令的存储器。该处理器被配置为执行上述指令时,使得该电子设备实现如前述实施例所述的刷新率切换方法。该存储器可以位于该电子设备之内,也可以位于该电子设备之外。且该处理器包括一个或多个。

在又一种实现中,该装置实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这些处理元件可以设置于对应上述的电子设备上,这里的处理元件可以为集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。

例如,本申请实施例还提供一种芯片,该芯片可以应用于上述电子设备。芯片包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;处理器通过接口电路从电子设备的存储器接收并执行计算机指令,以实现以上方法实施例中所述的方法。

本申请实施例还提供一种计算机程序产品,包括如上述电子设备运行的计算机指令。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,如:程序。该软件产品存储在一个程序产品,如计算机可读存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

例如,本申请实施例还可以提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如前述方法实施例中所述的刷新率切换方法。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种编码模式切换方法和装置、解码模式切换方法和装置
  • 跨软件切换方法、装置及电子设备
  • 页面切换方法以及装置、电子设备及存储介质
  • 虚拟房间切换方法、装置、电子设备及存储介质
  • 一种刷新率切换方法及电子设备
  • 一种刷新率切换方法、电子设备及存储介质
技术分类

06120116671792