CN115019726B - 画面显示方法、电子设备和可读存储介质 - Google Patents

画面显示方法、电子设备和可读存储介质 Download PDF

Info

Publication number
CN115019726B
CN115019726B CN202111604967.7A CN202111604967A CN115019726B CN 115019726 B CN115019726 B CN 115019726B CN 202111604967 A CN202111604967 A CN 202111604967A CN 115019726 B CN115019726 B CN 115019726B
Authority
CN
China
Prior art keywords
ambient light
light data
screen
brightness
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111604967.7A
Other languages
English (en)
Other versions
CN115019726A (zh
Inventor
钟辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202111604967.7A priority Critical patent/CN115019726B/zh
Publication of CN115019726A publication Critical patent/CN115019726A/zh
Application granted granted Critical
Publication of CN115019726B publication Critical patent/CN115019726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/22Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources
    • G09G3/30Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels
    • G09G3/32Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels semiconductive, e.g. using light-emitting diodes [LED]
    • G09G3/3208Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels semiconductive, e.g. using light-emitting diodes [LED] organic, e.g. using organic light-emitting diodes [OLED]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0271Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/06Adjustment of display parameters
    • G09G2320/0626Adjustment of display parameters for control of overall brightness
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请实施例提供了一种画面显示方法、电子设备和可读存储介质,电子设备中包括:第一环境光传感器和第二环境光传感器,第一环境光传感器设置于屏幕下方,第二环境光传感器用于采集环境的环境光数据。在合成一帧画面的图层中,获取至少两组环境光数据,每组环境光数据包括第一环境光数据和第二环境光数据;根据每组环境光数据中的第一环境光数据、第二环境光数据,获取每组环境光数据对应的屏幕中像素的亮度值;根据每组环境光数据对应的屏幕中像素的亮度值,获取电子设备的灰度至灰度的响应时长;响应于响应时长大于时长阈值,执行减小响应时长的操作。本申请实施例可以避免屏幕显示画面存在拖尾问题。

Description

画面显示方法、电子设备和可读存储介质
技术领域
本申请实施例涉及计算机技术,尤其涉及一种画面显示方法、电子设备和可读存储介质。
背景技术
电子设备的屏幕可以显示画面供用户观看。电子设备的屏幕显示画面的原理为:屏幕中包括多个像素,电子设备可以对每个像素进行充放电,使得每个像素可以显示不同亮度、不同颜色,进而使得屏幕显示画面。
目前,电子设备对每个像素进行充放电的过程存在滞后,导致屏幕显示画面存在拖尾现象。
发明内容
本申请实施例提供一种画面显示方法、电子设备和可读存储介质,可以避免屏幕显示画面存在拖尾问题。
第一方面,本申请实施例提供一种画面显示方法,该方法应用于电子设备中,所述电子设备中包括:第一环境光传感器和第二环境光传感器,所述第一环境光传感器设置于所述电子设备的屏幕下方,所述第二环境光传感器用于采集所述电子设备所处环境的环境光数据。在该方法中,所述电子设备在合成一帧画面的图层的过程中,电子设备可以获取至少两组环境光数据,每组环境光数据包括:第一环境光数据和第二环境光数据,所述第一环境光数据由所述第一环境光传感器采集,所述第二环境光数据由所述第二环境光传感器采集。
电子设备根据每组环境光数据中的第一环境光数据、第二环境光数据,获取所述每组环境光数据对应的屏幕中像素的亮度值;根据所述每组环境光数据对应的屏幕中像素的亮度值,获取所述电子设备的灰度至灰度GTG的响应时长;响应于所述响应时长大于时长阈值,执行减小所述响应时长的操作。
本申请实施例中,可以在电子设备的屏幕下方设置用于采集屏幕中像素的亮度值的第一环境光传感器,以及用于采集电子设备所处环境光的亮度值的第二环境光传感器,环境光计算模块可以基于第一环境光传感器采集的第一环境光数据中的亮度值,以及第二环境光传感器采集的第二环境光数据中的亮度值,检测屏幕是否可以快速稳定地显示画面。若屏幕不能快速稳定地显示画面,则可以执行减小所述响应时长的操作,来减小电子设备显示稳定显示画面前的时长,使得屏幕可以快速稳定地显示画面。
在一种可能的实现方式中,所述第二环境光传感器设置于所述电子设备的侧边框,且所述第二环境光传感器的设置位置与所述屏幕共面。
在一种可能的实现方式中,电子设备可以每隔预设时长,获取一组环境光数据,以得到所述至少两组环境光数据。电子设备按照获取环境光数据从早到晚的顺序,依次获取相邻两组环境光数据对应的屏幕中像素的亮度值的差值,得到多个差值;根据所述多个差值,获取所述响应时长。
其中,电子设备可以根据所述多个差值中第一个小于亮度阈值的差值,获取所述响应时长。示例性的,电子设备可以将第二时刻至第一时刻之间的时长作为所述响应时长,所述第二时刻为获取第一组环境光数据的时刻,所述第一时刻为所述第一个小于亮度阈值的差值时使用的后一组环境光数据的获取时刻。
在一种实施例中,所述第一环境光数据包括第一亮度值,所述第二环境光数据包括第二亮度值,所述根据每组环境光数据中的第一环境光数据、第二环境光数据。电子设备可以根据所述每组环境光数据中的第一亮度值、第二亮度值,以及所述屏幕的透光率,获取所述每组环境光数据对应的屏幕中像素的亮度值。
示例性的,电子设备可以采用第二亮度值乘以屏幕的透光率,进而与第一亮度值做差的方式,得到每组环境光数据对应的屏幕中像素的亮度值。
在一种实施例中,为了提高计算准确性,环境光计算模块可以将不同屏幕亮度下的屏幕中像素的亮度值转换成相同屏幕亮度下的值进行比较,以避免屏幕亮度的不同造成的计算不准确的问题。电子设备在获取每组环境光数据对应的屏幕中像素的亮度值之后,可以根据所述每组环境光数据对应的屏幕中像素的亮度值、屏幕亮度设置比例,以及所述屏幕的亮度,获取所述每组环境光数据对应的屏幕中像素的亮度值采样值,所述屏幕亮度设置比例用于表征所述屏幕的亮度与所述电子设备所处环境的亮度的比值。
电子设备可以将所述相邻两组环境光数据对应的屏幕中像素的亮度值采样值的采样值差值,作为所述多个差值。电子设备可以根据该多个差值中第一个小于亮度阈值的差值,获取所述响应时长。示例性的,电子设备可以将第二时刻至第一时刻之间的时长作为所述响应时长,所述第二时刻为获取第一组环境光数据的时刻,所述第一时刻为所述第一个小于亮度阈值的差值时使用的后一组环境光数据的获取时刻。
在一种可能的实现方式中,电子设备可以采用如下方式减小所述响应时长:
其一,电子设备开启所述电子设备的强制液晶偏转OD功能。
其二,若所述电子设备前台运行的应用程序为预设类型的应用程序,则增大所述屏幕显示的背景的灰度值和前景的灰度值的差值。示例性的,所述预设类型的应用程序包括如下任一项:电子书、浏览器、新闻,记事本。
在一种可能的实现方式中,所述时长阈值为:所述电子设备的刷新率对应的时长阈值。
第二方面,本申请实施例提供一种画面显示装置,该画面显示装置可以为如上第一方面的电子设备或电子设备中的芯片,所述电子设备中包括:第一环境光传感器和第二环境光传感器,所述第一环境光传感器设置于所述电子设备的屏幕下方,所述第二环境光传感器用于采集所述电子设备所处环境的环境光数据。
该画面显示装置可以包括:
环境光计算模块,用于响应于接收到来自图层合成模块Surface Flinger的第一消息,可以获取至少两组环境光数据,每组环境光数据包括:第一环境光数据和第二环境光数据,所述第一环境光数据由所述第一环境光传感器采集,所述第二环境光数据由所述第二环境光传感器采集。其中,第一消息用于指示环境光计算模块获取第一环境光数据以及第二环境光数据,第一消息为图层合成模块接收到SF-Vsync时发送的。
环境光计算模块,还用于根据每组环境光数据中的第一环境光数据、第二环境光数据,获取所述每组环境光数据对应的屏幕中像素的亮度值;根据所述每组环境光数据对应的屏幕中像素的亮度值,获取所述电子设备的灰度至灰度GTG的响应时长。
环境光计算模块,还用于响应于所述响应时长大于时长阈值,执行减小所述响应时长的操作。
在一种可能的实现方式中,所述第二环境光传感器设置于所述电子设备的侧边框,且所述第二环境光传感器的设置位置与所述屏幕共面。
在一种可能的实现方式中,环境光计算模块,具体用于响应于接收到来自图层合成模块Surface Flinger的第一消息,向环境光传感器驱动发送第二消息。第二消息指示环境光传感器驱动获取第一环境光传感器采集的第一环境光数据和第二环境光传感器采集的第二环境光数据。
在一种实施例中,第二消息中可以包括:用于指示环境光传感器驱动读取第一环境光数据和第二环境光数据的次数、周期。如环境光传感器驱动读取第一环境光数据和第二环境光数据的次数为N,周期为M ms,N为大于1的整数,M大于0。也就是说,环境光传感器驱动响应于接收第二消息,可以每隔M ms读取一次第一环境光数据和第二环境光数据,且总共读取N次。
环境光传感器驱动响应于接收第二消息,读取第一环境光传感器采集的第一环境光数据和第二环境光传感器采集的第二环境光数据,以向环境光传感器驱动向环境光计算模块上报第一环境光数据和第二环境光数据。示例性的,在一帧画面的显示时长内,环境光传感器驱动每读取一次第一环境光数据和第二环境光数据,就向环境光计算模块上报一次第一环境光数据和第二环境光数据。一次“第一环境光数据和第二环境光数据”可以称为一组环境光数据,如此环境光计算模块可以获取多组环境光数据。也就是说,环境光计算模块可以每隔预设时长(如M ms),获取一组环境光数据,以得到所述至少两组环境光数据。
其中,环境光计算模块可以按照获取环境光数据从早到晚的顺序,依次获取相邻两组环境光数据对应的屏幕中像素的亮度值的差值,得到多个差值;根据所述多个差值,获取所述响应时长。具体的,环境光计算模块可以根据所述多个差值中第一个小于亮度阈值的差值,获取所述响应时长。
在一种可能的实现方式中,环境光计算模块将第二时刻至第一时刻之间的时长作为所述响应时长,所述第二时刻为获取第一组环境光数据的时刻,所述第一时刻为所述第一个小于亮度阈值的差值时使用的后一组环境光数据的获取时刻。
在一种可能的实现方式中,所述第一环境光数据包括第一亮度值,所述第二环境光数据包括第二亮度值,环境光计算模块具体可以根据所述每组环境光数据中的第一亮度值、第二亮度值,以及所述屏幕的透光率,获取所述每组环境光数据对应的屏幕中像素的亮度值。
在一种可能的实现方式中,环境光计算模块,还用于根据所述每组环境光数据对应的屏幕中像素的亮度值、屏幕亮度设置比例,以及所述屏幕的亮度,获取所述每组环境光数据对应的屏幕中像素的亮度值采样值,所述屏幕亮度设置比例用于表征所述屏幕的亮度与所述电子设备所处环境的亮度的比值;将所述相邻两组环境光数据对应的屏幕中像素的亮度值采样值的采样值差值,作为所述多个差值。
下述对环境光计算模块减少所述响应时长的方式进行介绍:
其一,环境光计算模块可以向显示驱动发送第一指示。显示驱动响应于第一指示,开启所述电子设备的强制液晶偏转OD功能。显示驱动开启OD功能可以理解为:显示驱动为每个像素对应的TFT所加的电压是相同的,均为TFT能够支持的最大电压,且显示驱动可以根据每个像素的灰度差值,控制加在每个像素对应的TFT两端的电压的时长,使得每个像素达到新的灰度值。因为每个像素对应的TFT所加的电压大,因此可以提高拉高或拉低TFF的速度,减小Display-Vsync offset,加快屏幕显示画面的速度。
其二,若所述电子设备前台运行的应用程序为预设类型的应用程序,则增大所述屏幕显示的背景的灰度值和前景的灰度值的差值。示例性的,环境光计算模块向WMS发送增加背景和前景的灰度差值的第二指示,WMS响应于第二指示,若检测到前台运行的应用程序为预设类型的应用程序,则增大背景的灰度值和前景的灰度值的差值。
本申请实施例中,因为增大了背景和前景的灰度差值。如此,显示驱动在控制屏幕显示画面时,可以基于画面中背景和前景的灰度差值,加大每个像素所加的电压,进而减小响应时长。
在一种可能的实现方式中,所述预设类型的应用程序包括如下任一项:电子书、浏览器、新闻,记事本。
第三方面,本申请实施例提供一种电子设备,该电子设备可以包括:处理器、存储器。存储器用于存储计算机可执行程序代码,程序代码包括指令;当处理器执行指令时,指令使所述电子设备执行如第一方面中的方法。
第四方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中的方法。
上述第二方面至第五方面的各可能的实现方式,其有益效果可以参见上述第一方面所带来的有益效果,在此不加赘述。
附图说明
图1为电子设备中屏幕的一种结构示意图;
图2为OLED屏幕中像素的一种电路示意图;
图3为屏幕显示过程中薄膜晶体管TFT两端的电压的示意图;
图4为画面拖尾的一种示意图;
图5为本申请实施例提供的电子设备的一种结构示意图;
图6为本申请实施例提供的电子设备中环境光传感器的一种设置示意图;
图7为本申请实施例提供电子设备显示画面的一种流程示意图;
图8为本申请实施例提供的一种信号示意图;
图9为本申请实施例提供的画面显示方法的一种实施例的流程示意图;
图10为本申请实施例提供的电子设备的一种界面示意图;
图11为本申请实施例提供的环境光传感器驱动获取环境光数据的一种示意图;
图12为本申请实施例提供的第一环境光传感器采集屏幕局部区域的环境光数据的示意图;
图13为本申请实施例提供的画面显示方法的另一种实施例的流程示意图;
图14为本申请实施例提供的画面显示方法的另一种实施例的流程示意;
图15为本申请实施例提供的电子设备的另一种结构示意图。
具体实施方式
图1为电子设备中屏幕的一种结构示意图。图1中以屏幕为有机发光二极管(Organic Light-Emitting Diode,OLED)屏幕为例进行说明,参照图1,OLED屏幕包括:阴极、电子传输层、有机发光层、空穴传输层、阳极,以及基板。电子传输层、有机发光层、空穴传输层均由有机分子构成,各层的有机分子可以不同。电子设备的电源会在OLED屏幕两端施加电压,在电压的作用下,阴极提供电子,阳极提供空穴。电子可以从阴极朝向阳极的方向运动,空穴可以从阳极朝向阴极的方向运动。电子传输层将来自阴极的电子传输至有机发光层,空穴传输层将来自阳极的空穴传输至有机发光层。在有机发光层,电子和空穴相遇,电子填充空穴,即电子由高能态转变为低能态,损失的能量以光子的形式释放,有机发光层发光,使得OLED屏幕发光。OLED屏幕发光的光线传输方向可以参照图1所示。
OLED屏幕发光的颜色取决于有机发光层的有机分子的类型。OLED屏幕发光的亮度(或强度)取决于施加于OLED屏幕的电压(或电流)的大小,电压(或电流)越大,光的亮度越大。下述实施例中以光的亮度、施加于OLED屏幕为电压进行说明。
OLED屏幕的有机发光层包括多个像素,OLED屏幕发光实际上是OLED屏幕中的每个像素发光。图2为OLED屏幕中像素的一种电路示意图。参照图2,每个像素中包括至少一个薄膜晶体管(thin film transistor,TFT),图2中以OLED屏幕的每个像素中包括两个TFT为例说明。当OLED屏幕两端施加电压时,会拉高或者拉低TFT两端的电压,以打开或关闭TFT,以控制像素发光。在一种实施例中,电压变换正负值,可以实现对TFT两端的电压的拉高、拉低。
参照图3中的a,理想状态下,当OLED屏幕两端施加电压时,会瞬间拉高或者拉低TFT两端的电压,这样像素也会瞬间发出对应亮度的光。实际应用中,参照图3中的b,当OLED屏幕两端施加电压时,TFT两端的电压的拉高阶段(如图3中的b中的第一阶段)和拉低阶段(如图3中的b中的第二阶段)均会存在滞后,如过一段时间才会拉高TFT的电压至施加的电压。这样像素发光也会存在滞后,导致OLED屏幕显示画面时出现拖尾现象。如图4所示,拖尾现象即显示的画面出现或者消失的速度慢,用户在OLED屏幕上看到应用程序的图标(如应用程序的图标的重影),影响用户体验。
本申请实施例中提供一种画面显示方法,可以检测OLED屏幕显示画面所用的时长,当OLED屏幕显示画面所用的时长存在滞后时,可以加快OLED屏幕显示画面,以保证OLED屏幕显示画面所用的时长在预设的时长内,既可以避免拖尾现象,也可以保证OLED屏幕稳定地显示画面,提高用户体验。
本申请实施例中的电子设备可以称为用户设备(user equipment,UE)、终端(terminal)等,例如,电子设备可以为手机、平板电脑(portable android device,PAD)、笔记本电脑、个人数字处理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备、车载设备或可穿戴设备,虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、智慧家庭(smart home)中的无线终端等,本申请实施例中对电子设备的形态不做具体限定。
在介绍本申请实施例提供的画面显示方法之前,首先对电子设备的结构进行描述:
图5为本申请实施例提供的电子设备的一种结构示意图。参照图5,电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例说明电子设备的软件结构。分层架构可以将电子设备的软件系统分成若干个层,每一层都有清晰的角色和分工,层与层之间通过软件接口通信。
在一种实施例中,可以将Android系统分为四层,分别为应用程序层(applications)、应用程序框架层(application framework)、内核层(kernel)以及硬件层。在一种实施例中,Android系统还可以包括安卓运行时(Android runtime)和系统库,图5中未示出。本申请实施例对电子设备的软件结构的分层不做限制。如下实施例中各分层中包括的模块为本申请实施例中涉及到的模块,如下各分层中包括的模块并不构成对电子设备的结构的限定。在本申请另一种实施例中,电子设备可以包括比图示更多或更少的模块,或者组合某些模块,或者拆分某些模块,或者不同的模块布置。图示的模块可以以硬件,软件,或软件和硬件的组合实现。
其中,应用程序层可以包括应用程序包。示例性的,应用程序层内可以包括:相机,图库,日历,通话,地图,导航,蓝牙,音乐,视频,短信息等应用程序包(图5中以应用程序为例进行说明)。图5中以应用程序层包括应用程序为例进行说明。
本申请实施例中,应用程序层还可以包括设置模块。设置模块用于记录和存储用户对屏幕的设置参数,设置模块的功能可以参照下述实施例中的相关描述。
应用程序框架层可以为应用程序层中的应用程序提供应用编程接口(application programming interface,API)和编程框架。在一种实施例中,参照图5,应用程序框架层可以包括:窗口管理服务(window manager service,WMS)、图层合成(SurfaceFlinger)、屏幕亮度控制模块,以及环境光计算模块,各模块的功能可以参照下述实施例中的相关描述。
内核层中至少包括硬件的驱动,用于驱动硬件工作,如内核层中包括:HWC(hwcomposer)驱动、显示驱动(display driver)、图形处理器驱动(graphics processingunit driver,GPU driver),以及环境光传感器驱动等,本申请实施例对此不做限制。示例性的,显示驱动用于驱动电子设备中的屏幕(具体为屏幕中的显示层)显示内容。GPUdriver(可以称为GPU驱动),用于驱动电子设备中的GPU工作。HWC用于辅助SurfaceFlinger完成图层的合成。
硬件层包括硬件设备,如屏幕,环境光传感器。本申请实施例中电子设备中包括两个环境光传感器,一个为在屏幕下安装的第一环境光传感器,另一个为检测电子设备所处环境光的第二环境光传感器。
在一种实施例中,硬件层还可以包括:触控面板(touch panel,TP)、中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、其他类型的传感器等,图5中未示出。其他类型的传感器如压力传感器,陀螺仪传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器等,本申请实施例对各传感器的功能不做赘述。
图6为本申请实施例提供的电子设备中环境光传感器的一种设置示意图。参照图6,本申请实施例中,电子设备中设置有两个环境光传感器,分别为第一环境光传感器和第二环境光传感器。如图1所示,第一环境光传感器设置在屏幕(如OLED屏幕)下方,具体可以设置在OLED屏幕中阴极所在层级的下方,且靠近电子设备的听筒的位置。第一环境光传感器用于采集屏幕下方的环境光数据(如环境光亮度值)。第二环境光传感器用于采集电子设备所处环境中的环境光数据(如环境光亮度值),本申请实施例对第二环境光传感器的设置位置不做限制,能够采集到环境中的环境光数据即可。示例性的,如第二环境光传感器可以设置在如图6所示的位置。
其次参照图7,介绍电子设备显示画面的过程:
S701,应用程序响应于接收来自WMS传输的触控事件,绘制窗口。
用户采用手指或触控笔触摸屏幕,均会触发屏幕向应用程序上报触控事件,本申请实施例中对屏幕向应用程序上报触控事件的过程不做赘述。在一种实施例中,触控事件中可以包括:触控类型、触控位置,以及触控时刻。触控类型用于表征接触屏幕的为用户的手指还是触控笔,若接触屏幕的为用户的手指,则触控事件为touch event,若接触屏幕的为触控笔,则触控事件为pen event。触控位置用于表征用户采用手指或触控笔接触屏幕的位置。触控时刻表征用户采用手指或触控笔接触屏幕的时刻。
应用程序可以基于触控事件中的触控类型和触控位置,绘制窗口。在一种实施例中,应用程序中可以包括绘制模块,其中,绘制模块响应于接收到触控事件,可以向WMS发送对窗口进行绘制的请求,该请求用于指示WMS接收到App-Vsync信号后,将该App-Vsync信号发送给绘制模块。其中,App-Vsync信号用于指示绘制模块开始绘制窗口。换句话说,绘制模块向WMS发送对窗口进行绘制的请求后,开始等待应用程序的Draw函数被回调,当绘制模块接收到App-Vsync信号时,应用程序的Draw函数被回调,绘制模块可以开始绘制窗口。
绘制模块可以根据触控事件中的触控类型和触控位置,以及屏幕上当前用户界面的布局,依次执行重新计算窗口大小(measure)、在屏幕上安置窗口的位置(layout),以及重新绘制(draw)等步骤,可以参照现有技术中的相关描述,本申请实施例对该过程不做赘述。
示例性的,如触控事件中的触控位置为当前用户界面显示的一控件所在的位置,则绘制模块可以绘制该控件被触发后显示的窗口。绘制窗口可以理解为绘制窗口中的元素,窗口中的元素包括但不限于为:窗口中显示的文字、图片、控件等。
在一种实施例中,绘制模块可以调用用户界面线程(user interface thread,UIThread)的DoFrame函数绘制窗口。窗口绘制完成后,绘制模块可以通过binder调用渲染线程(Render Thread),唤醒render渲染进程。具体的,绘制模块可以通过刷新命令(FlushCommands)把所有的绘制模块的绘制指令传递给应用程序中的渲染模块,使得渲染模块可以基于绘制模块的绘制指令渲染绘制好的窗口。其中,绘制指令中可以包括绘制模块绘制好的窗口的数据。
在一种实施例中,绘制模块可以调用OpenGL ES3.1接口或Vulkan库函数接口绘制窗口,本申请实施例对绘制模块的绘制方式不做限制。
在一种实施例中,绘制模块还可以向WMS发送窗口在屏幕上的位置,以及Z方向顺序。其中,WMS接收到窗口在屏幕上的位置,以及Z方向顺序后,可以向Surface Flinger发送窗口在屏幕上的位置,以及Z方向顺序,以使得Surface Flinger可以基于窗口在屏幕上的位置,以及Z方向顺序,合成图层。
S702,渲染模块渲染窗口。
在一种实施例中,渲染模块可以调用DEQUEUE_BUFFER开始渲染,渲染结束时会调用QUEUE_BUFFER,以完成渲染。应理解,图7中以绘制窗口、渲染窗口的执行主体分别为绘制模块、渲染模块为例进行说明。
S703,渲染模块响应于完成渲染窗口,将渲染后的窗口的数据传输至待合成的Frame Buffer队列中。
在一种实施例中,渲染模块完成渲染窗口,会将渲染后的窗口通过缓存区dequeueBuffer传输至Surface Flinger的待合成Frame Buffer队列。
S704,Surface Flinger从Frame Buffer队列中读取渲染后的窗口的数据,进行图层合成。
Surface Flinger响应于接收到图层合成SF-Vsync信号,可以通过RequireBuffer,以在Frame Buffer队列中读取渲染后的窗口的数据。Surface Flinger可以基于来自WMS的窗口在屏幕上的位置,以及Z方向顺序,对渲染后的窗口的数据进行图层合成,即将多个图层合并为一帧图像。
在一种实施例中,Surface Flinger可以采用HWC辅助合成图层。其中,若待合成的图层数量超出HWC支持的图层数量,则Surface Flinger先将超出HWC支持的图层数量之外的图层发送给GPU驱动进行合成,GPU驱动合成图层后可以发送至HWC,HWC可以将所有的图层进行合成。
在一种实施例中,Surface Flinger可以将合成后的图层存储在Surface Flinger的buffer中。
S705,Surface Flinger向显示驱动发送合成后的图层。
在一种实施例中,Surface Flinger可以向显示驱动发送合成后的图层。
或者,在一种实施例中,显示驱动响应于接收到显示Display-Vsync信号,可以通过移动产业处理器接口(mobile industry processor interface,MIPI),从SurfaceFlinger的buffer中获取合成后的图层。
S706,显示驱动基于合成后的图层,控制屏幕显示画面。
显示驱动获取到合成后的图层,可以根据合成后的图层显示画面。示例性的,如显示驱动可以基于合成后的图层中每个像素的新的灰度值,控制屏幕中的每个像素的当前灰度值变为新的灰度值,使得屏幕显示画面。
下述引入图8,对Vsync(HW-Vsync)、App-Vsync、SF-Vsync,以及Display-Vsync进行说明:
图8为本申请实施例提供的一种信号示意图。应理解,图8中以单帧模式为例进行说明,单帧模式指的是:绘制、渲染、合成以及显示在一帧画面的时长内完成。
参照图8,在电子设备开始显示一帧画面的垂直前肩(vertical front porch,VFP)区间内,显示IC芯片可以向显示驱动、应用程序和Surface Flinger发送帧同步信号(vertical sync,VSYNC),VSYNC表示扫描1帧的开始,一帧也就是LCD显示的一帧画面。帧同步信号Vsync用于指示显示驱动接收到Display-Vsync时,从Surface Flinger的buffer中读取合成后的图层,以显示画面。帧同步信号Vsync用于指示应用程序中的绘制模块接收到APP-Vsync时,开始进行窗口绘制。帧同步信号Vsync还用于指示Surface Flinger接收到SF-Vsync时,开始进行图层合成。
其中,绘制模块接收到APP-Vsync时,可以间隔APP-Vsync offset后开始绘制窗口。相应的,Surface Flinger接收到SF-Vsync时,可以间隔SF-Vsync offset后开始进行图层合成,以及,显示驱动接收到Display-Vsync时,可以间隔Display-Vsync offset后开始进行显示画面。图8中示出了帧同步信号Vsync,以及APP-Vsync offset、SF-Vsync offset,以及Display-Vsync offset。也就是说,Display-Vsync offset指的是:显示驱动接收到App-Vsync至开始显示画面的时长。
应理解的是,在具有TFT的屏幕中,Display-Vsync offset可以理解为:屏幕中的像素灰度至灰度(Grey To Grey,GTG)的响应时长,或者还可以理解为像素对应的TFT的充电或放电时长。本申请实施例的目的就在于当Display-Vsync offset超出阈值时,控制减少Display-Vsync offset,以加快屏幕显示画面的速度。在一种实施例中,电子设备开始对像素对应的TFT加压至屏幕可以稳定显示画面之间的时长,本申请实施例的目的在于减小该时长(如减小第一阶段的时长),下述实施例中以该时长与Display-Vsync offset相等为例,下述实施例中以Display-Vsync offset表征该时长为例进行说明。
在S706中,影响显示驱动控制屏幕显示画面的时长的因素可以包括:是否开启强制液晶偏转(over driver,OD)功能,以及像素的当前灰度值与新的灰度值之间的灰度差值。
一、灰度差值
在具有TFT的屏幕中,像素的当前灰度值与新的灰度值之间的色差越大,则电子设备需要为该像素对应的TFT所加的电压越大,则拉高或拉低TFF的速度越快,Display-Vsyncoffset越小。
二、OD功能
在“一”中,电子设备可以根据每个像素的灰度差值,为每个像素提供差异化的电压支持,以使得每个像素达到新的灰度值,该种方法的缺点是:对于灰度差值较小的像素,电子设备需要为该像素对应的TFT所加的电压较小,则拉高或拉低TFF的速度较慢,Display-Vsync offset长,进而影响屏幕显示画面的速度,易出现拖尾现象。
OD功能指的是:电子设备为每个像素对应的TFT所加的电压是相同的,均为TFT能够支持的最大电压,电子设备可以根据每个像素的灰度差值,控制加在每个像素对应的TFT两端的电压的时长,使得每个像素达到新的灰度值。示例性的,对于灰度差值较小的像素,电子设备可以控制加在该像素对应的TFT两端的电压的时长短,对于灰度差值较大的像素,电子设备可以控制加在该像素对应的TFT两端的电压的时长长。
在该种示例中,因为电子设备为每个像素对应的TFT所加的电压大,因此可以提高拉高或拉低TFF的速度,减小Display-Vsync offset,加快屏幕显示画面的速度。也就是说,当OD功能为开启状态(即Enable)时,相较于OD功能为关闭状态(即Disable),Display-Vsync offset小,且屏幕显示画面的速度快。
结合图5和图6所示的电子设备,以图7中讲述的屏幕显示画面的过程,下面结合具体的实施例对本申请实施例提供的画面显示方法进行说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图9为本申请实施例提供的画面显示方法的一种实施例的流程示意图。参照图9,本申请实施例提供的画面显示方法可以包括:
S901,设置模块向屏幕亮度控制模块发送设置参数。
用户可以在电子设备的设置界面上对屏幕显示进行设置,设置模块可以记录用户对屏幕的设置参数。设置参数可以包括:屏幕亮度设置比例、是否自动调节屏幕亮度、是否开启自动调节屏幕响应,以及当自动调节屏幕响应为开启状态时,设置参数还包括检测周期。
屏幕亮度设置比例可以理解为:屏幕亮度与电子设备所处环境的环境光亮度的比值。自动调节屏幕亮度可以理解为:电子设备可以根据电子设备所处环境的环境光亮度,自动调节屏幕的亮度,如环境光亮度增大,则电子设备可以调高屏幕亮度,使得用户可以看到屏幕上显示的内容。
这里引入图10介绍“是否开启自动调节屏幕响应和检测周期”,图10为本申请实施例提供的电子设备的一种界面示意图。参照图10,在电子设备的屏幕显示的设置界面中可以包括:检测周期的选项101,以及自动调节屏幕响应的控件102。若用户打开该控件102,可以触发电子设备执行S903-S913。若用户未打开控件102,则电子设备不执行S903-S913。也就是说,用户可以自己选择是否使能电子设备执行本申请实施例中提供的画面显示方法。
在该实施例中,检测周期可以理解为:屏幕亮度控制模块检测第一环境光传感器采集的第一环境光数据和第二环境光传感器采集的第二环境光数据的周期。检测周期如可以为1s、10s、20s、30s等,用户可以在电子设备提供的检测周期中选择,也可以自定义检测周期。检测周期可以参照S904中的描述。
S902,屏幕亮度控制模块根据设置参数中的屏幕亮度设置比例,以及是否自动调节屏幕亮度,通过显示驱动控制屏幕亮度。
本申请实施例中,屏幕亮度控制模块可以根据屏幕亮度设置比例,以及是否自动调节屏幕亮度,通过显示驱动控制屏幕亮度,可以参照现有技术中的描述,本申请实施例对此不作赘述,重点关注“是否开启自动调节屏幕响应和检测周期”这两个参数。
S903,屏幕亮度控制模块向环境光计算模块发送设置参数。
应理解,S901-S903可以为用户改变设置参数后执行的,若用户未改变设置参数,可以无需执行S901-S903,环境光计算模块可以基于屏幕亮度控制模块上一次发送的设置参数执行S904-S913。
S904,Surface Flinger响应于接收到SF-Vsync,向环境光计算模块发送第一消息。
在一种实施例中,Surface Flinger可以在每次接收到SF-Vsync之后,向环境光计算模块发送第一消息。或者,在一种实施例中,Surface Flinger可以周期性地向环境光计算模块发送第一消息,如Surface Flinger可以在向环境光计算模块发送第一消息之后,间隔几个SF-Vsync,向环境光计算模块发送第一消息。
或者,在一种实施例中,当设置参数中包括“已开启自动调节屏幕响应和检测周期”时,环境光计算模块响应于接收到来自屏幕亮度控制模块的设置参数,可以向SurfaceFlinger同步“已开启自动调节屏幕响应和检测周期”。在该种实施例中,Surface Flinger可以在向环境光计算模块发送第一消息之后,间隔检测周期后且接收到SF-Vsync时,向环境光计算模块发送第一消息。
应理解的是,Surface Flinger检测到电子设备已开启自动调节屏幕响应的前提下,可以执行S904。若Surface Flinger检测到电子设备未开启自动调节屏幕响应,则可以不执行S904。
第一消息用于指示环境光计算模块获取第一环境光数据以及第二环境光数据。
S905,环境光计算模块响应于接收到第一消息,向环境光传感器驱动发送第二消息。
第二消息指示环境光传感器驱动获取第一环境光传感器采集的第一环境光数据和第二环境光传感器采集的第二环境光数据。第二消息中可以包括:指示环境光传感器驱动读取第一环境光数据和第二环境光数据的次数、周期。如环境光传感器驱动读取第一环境光数据和第二环境光数据的次数为N,周期为M ms,N为大于1的整数,M大于0。
在一种实施例中,Surface Flinger可以向环境光计算模块同步电子设备的刷新率,环境光计算模块可以根据电子设备的刷新率,确定环境光传感器驱动读取第一环境光数据和第二环境光数据的次数和周期。示例性的,如环境光计算模块中可以预先设置有“刷新率与次数、周期”的映射关系,环境光计算模块可以根据电子设备的刷新率,以及该映射关系,可以确定环境光传感器驱动读取第一环境光数据和第二环境光数据的次数和周期。
S906,环境光传感器驱动响应于接收第二消息,读取第一环境光传感器采集的第一环境光数据和第二环境光传感器采集的第二环境光数据。
第二消息中可以包括:用于指示环境光传感器驱动读取第一环境光数据和第二环境光数据的次数、周期。如环境光传感器驱动读取第一环境光数据和第二环境光数据的次数为N,周期为M ms,N为大于1的整数,M大于0。也就是说,环境光传感器驱动响应于接收第二消息,可以每隔M ms读取一次第一环境光数据和第二环境光数据,且总共读取N次。
示例性的,参照图11,N为8,M为1,环境光传感器驱动响应于接收第二消息,可以每隔1ms读取第一环境光数据和第二环境光数据,总共读取8次第一环境光数据和第二环境光数据。
S907,环境光传感器驱动向环境光计算模块上报第一环境光数据和第二环境光数据。
示例性的,在一帧画面的显示时长内,环境光传感器驱动每读取一次第一环境光数据和第二环境光数据,就向环境光计算模块上报一次第一环境光数据和第二环境光数据。一次第一环境光数据和第二环境光数据可以称为一组环境光数据。
S908,环境光计算模块根据相邻两次环境光传感器驱动上报的第一环境光数据和第二环境光数据,获取Display-Vsync offset。
Display-Vsync offset可以理解为:电子设备开始对像素对应的TFT加压至屏幕可以稳定显示画面之间的时长。其中,当屏幕稳定地显示画面时,像素当前的灰度值变化为新的灰度值,即像素的亮度的变化值小于亮度阈值。因此,本申请实施例中,环境光计算模块可以根据每组环境光数据中像素的亮度值,获取相邻两组环境光数据中的像素的亮度值的亮度差值,以检测像素的亮度的变化值是否小于亮度阈值,进而确定屏幕是否稳定地显示画面。
第一环境光传感器采集的第一环境光数据包括:第一亮度值。第一环境光传感器采集的第二环境光数据包括:第二亮度值。参照图6,第一环境光传感器设置在屏幕下方,电子设备所处的环境中的有一部分环境光可以穿过屏幕达到第一环境光传感器,剩余部分的环境光被反射未进入屏幕中。第一亮度值为屏幕中像素的亮度值和到达第一环境光传感器的部分环境光的亮度值的加和值。环境中的环境光可以达到第一环境光传感器的多少与屏幕的透光率相关,透光率如20%-40%。也就是说,环境中的环境光乘以透光率,即为达到第一环境光传感器的部分环境光。第二亮度值为环境中环境光的亮度值。
如此,屏幕中像素的亮度值可以采用公式一计算得到:
PL=L1-T·L2    公式一
其中,PL表征屏幕中像素的亮度值,L1表征第一亮度值,L2表征第二亮度值,T表征透光率。
在一种实施例中,参照图12,第一环境光传感器可以采集屏幕局部区域(如圆圈中的区域)的第一亮度值,局部区域中包括多个像素,因此第一环境光传感器采集的第一环境光数据中包括:多个像素的第一亮度值。在该种示例中,上述公式一中的第一亮度值为“多个像素的第一亮度值”的均值。
公式一中的PL表征屏幕中像素的亮度值,即屏幕上显示的内容的亮度值。当屏幕上显示的内容相同时,若用户调整屏幕亮度,则也会造成屏幕上显示的内容的亮度值的变化,即屏幕亮度会影响屏幕中像素的亮度值。因此本申请实施例,为了提高计算准确性,环境光计算模块可以将不同屏幕亮度下的屏幕中像素的亮度值转换成相同屏幕亮度下的值(可以称为第一亮度值采样值)进行比较,以避免屏幕亮度的不同造成的计算不准确的问题。
其中,环境光计算模块可以根据屏幕亮度设置比例,以及屏幕中像素的亮度值,对屏幕中像素的亮度值进行转换。应理解,不同屏幕亮度设置比例对应有不同的亮度曲线(即映射关系),环境光计算模块可以根据屏幕亮度设置比例对应的亮度曲线,在亮度曲线中查询屏幕中像素的亮度值对应的屏幕中像素的亮度值采样值,进而将该屏幕中像素的亮度值采样值替换公式一中的屏幕中像素的亮度值,使得计算结果更为准确。相应的,环境光计算模块可以根据如下公式二计算得到屏幕中像素的亮度值采样值:
PLc=(L1-T·L2)·Lp.C    公式二
其中,PLc为屏幕中像素的亮度值采样值,Lp为屏幕亮度,C为屏幕亮度设置比例对应的亮度曲线系数。
在一种实施例中,屏幕亮度设置比例对应的亮度曲线系数C可以由如下公式三计算得到:
C=k·D    公式三
其中,k为常量系数,D为屏幕最大亮度。
在一种实施例中,随着屏幕的使用,屏幕的最大亮度会逐渐降低,因此,上述公式三可以替换为如下公式四:
C=k·D·R    公式四
其中,R为屏幕的最大亮度的衰减系数,衰减系数与屏幕的使用时长相关。
基于如上公式二,环境光计算模块可以根据一组环境光数据,得到屏幕中像素的一个亮度值。示例性的,环境光计算模块可以基于8组环境光数据,得到屏幕中像素的8个亮度值,如下表一中的第一列和第二列所示:
表一
Figure BDA0003433394610000121
如上表一所示,环境光计算模块根据第1组环境光数据,得到屏幕中像素的亮度值采样值为2000lux,环境光计算模块根据第2组环境光数据,得到屏幕中像素的亮度值采样值为1990lux,……,环境光计算模块根据第8组环境光数据,得到屏幕中像素的亮度值采样值为1945lux。环境光计算模块可以计算相邻两个屏幕中像素的亮度值采样值,进而根据差值确定屏幕是否稳定地显示画面。
其中,相邻两组环境光数据中的亮度值的差值如表一中的第三列所示,表一中的第四列为亮度值采样值的差值与亮度阈值的比较结果。如表一中的第三列所示,第二组环境光数据对应的亮度值采样值减去第一组环境光数据对应的亮度值采样值为10,第三组环境光数据对应的亮度值采样值减去第二组环境光数据对应的亮度值采样值为30,……,第八组环境光数据对应的亮度值采样值减去第七组环境光数据对应的亮度值采样值为0。
示例性的,亮度阈值为2lux,如上表一中的第四列所示,前4组环境光数据中相邻两组环境光数据中的亮度值采样值的差值均大于2lux,表征屏幕还未稳定地显示画面。环境光计算模块获取第五组环境光数据中的亮度值采样值与第四组环境光数据中的亮度值采样值的差值后,该差值小于22lux,表征屏幕可以稳定显示画面,因此环境光计算模块可以确定Display-Vsync offset为4ms,即环境光计算模块得到的前4组环境光数据表征屏幕还未稳定显示画面。
在一种实施例中,环境光计算模块获取第1组环境光数据的时刻可以称为第一时刻,环境光计算模块获取第5组环境光数据的时刻可以称为第二时刻。换句话说,参照表一,第二时刻为第一个小于亮度阈值的差值(第5组环境光数据中的亮度值采样值减去第4组环境光数据中的亮度值采样值)时使用的后一组环境光数据(即第5组环境光数据)的获取时刻,即环境光计算模块获取第5组环境光数据的时刻,环境光计算模块可以将第二时刻与第一时刻的差值(如4ms)作为屏幕可以稳定显示画面所使用的时长,即Display-Vsyncoffset。
S909,环境光计算模块检测Display-Vsync offset是否大于电子设备的刷新率对应的时长阈值。若否,则不响应,若是,则执行S910-S911。
电子设备的刷新率不同,时长阈值不同。环境光计算模块中存储有“刷新率和时长阈值”的映射关系,因为Surface Flinger已向环境光计算模块同步电子设备的刷新率,因此环境光计算模块可以根据电子设备的刷新率,确定与电子设备的刷新率对应的时长阈值。
Display-Vsync offset小于或等于时长阈值表征:屏幕可以快速稳定地显示画面,不会出现拖尾现象。Display-Vsync offset大于时长阈值表征:屏幕稳定地显示画面所需的时长长,会导致画面出现拖尾现象。本申请实施例中,若环境光计算模块计算得到Display-Vsync offset大于时长阈值,则可以执行S910,以减小Display-Vsync offset,使得屏幕可以快速稳定地显示画面。若环境光计算模块计算得到Display-Vsync offset小于或等于时长阈值,则确定屏幕可以快速稳定的显示画面,可以不响应。
S910,环境光计算模块向显示驱动发送开启OD功能的第一指示。
如上图7所示的实施例中讲述了影响Display-Vsync offset的两个因素,其中一个是OD功能。本申请实施例中,当环境光计算模块检测到Display-Vsync offset大于时长阈值,可以向显示驱动发送开启OD功能的第一指示,以指示显示驱动开启OD功能,以减小Display-Vsync offset。
S911,显示驱动响应于第一指示,开启OD功能。
显示驱动接收到来自环境光计算模块的第一指示,可以开启OD功能。显示驱动开启OD功能可以理解为:显示驱动为每个像素对应的TFT所加的电压是相同的,均为TFT能够支持的最大电压,且显示驱动可以根据每个像素的灰度差值,控制加在每个像素对应的TFT两端的电压的时长,使得每个像素达到新的灰度值。
因为每个像素对应的TFT所加的电压大,因此可以提高拉高或拉低TFF的速度,减小Display-Vsync offset,加快屏幕显示画面的速度。
在一种实施例中,环境光计算模块响应于Display-Vsync offset大于电子设备的刷新率对应的时长阈值,还可以执行S912-S913的步骤,以减小Display-Vsync offset:
S912,环境光计算模块向WMS发送增加背景和前景的灰度差值的第二指示。
影响Display-Vsync offset的另一个是像素的当前灰度值与新的灰度值之间的灰度差值,当灰度差值越大,显示驱动在控制像素显示时为像素所加的电压越大,同样可以减小Display-Vsync offset。基于该思路,本申请实施例中若加大画面中前景和背景的灰度差值,则可以达到加大每个像素所加的电压,进而减小Display-Vsync offset。
因此,本申请实施例中,环境光计算模块可以向WMS发送增加背景和前景的灰度差值的第二指示,以指示WMS加大背景和前景的灰度差值。
S913,WMS响应于第二指示,若检测到前台运行的应用程序为预设类型的应用程序,则增大背景的灰度值和前景的灰度值的差值。
预设类型的应用程序可以为阅读类的应用程序,如电子书、浏览器、新闻,记事本等。WMS响应于第二指示,可以查询运行在前台的应用程序的包名确定前台运行的应用程序是否为预设类型的应用程序。其中,若前台运行的应用程序为预设类型的应用程序,则WMS可以调用Android Text View提供的“用于设置背景颜色与背景图片”的接口,设置背景的灰度值和前景的灰度值。
示例性的,WMS可以调用setBackgroundResource,通过颜色资源ID设置背景的灰度值。或者WMS可以调用setBackgroundColor,设置背景的灰度值。或者,WMS可以调用setBackgroundDrawable,设置背景的灰度值。本申请实施例中,增大了背景和前景的灰度差值。如此,显示驱动在控制屏幕显示画面时,可以基于画面中背景和前景的灰度差值,加大每个像素所加的电压,进而减小Display-Vsync offset。
在一种实施例中,在环境光计算模块执行S910或S912之前,还可以执行S910A,图中未示出:
S910A,环境光计算模块检测电子设备是否开启OD功能。若是,执行S912-S913,若否,执行S910-S911。
本申请实施例中,环境光计算模块响应于Display-Vsync offset大于时长阈值,可以检测电子设备是否开启OD功能。示例性的,如环境光计算模块可以向显示驱动发送OD功能的状态的查询请求,显示驱动响应于接收该查询请求,可以向环境光计算模块反馈OD功能的状态。其中,OD功能的状态可以为开启状态或关闭状态。
其中,环境光计算模块响应于OD功能的状态为开启状态,即电子设备已开启OD功能,则可以执行S912-S913。环境光计算模块响应于OD功能的状态为关闭状态,即电子设备未开启OD功能,则可以执行S910-S911。
本申请实施例中,可以在电子设备的屏幕下方设置用于采集屏幕中像素的亮度值的第一环境光传感器,以及用于采集电子设备所处环境光的亮度值的第二环境光传感器,环境光计算模块可以基于第一环境光传感器采集的第一环境光数据中的亮度值,以及第二环境光传感器采集的第二环境光数据中的亮度值,检测屏幕是否可以快速稳定地显示画面。若屏幕不能快速稳定地显示画面,则可以采用开启OD功能或者加大前景和背景的灰度差值的方式,来减小Display-Vsync offset,使得屏幕可以快速稳定地显示画面。
在一种实施例中,对于环境光计算模块来说,参照图13,本申请实施例提供的画面显示方法可以包括:
S1301,检测电子设备是否开启自动调节屏幕响应。若否,不响应,若是,执行S1302。
环境光计算模块可以基于来自屏幕亮度控制模块设置参数,检测电子设备是否开启自动调节屏幕响应,可以参照S901-S903中的描述。
S1302,检测是否有画面刷新。若否,不响应,若是,执行S1303。
画面刷新可以理解为:Surface Flinger接收到SF-Vsync,开始合成新的一帧画面。其中,环境光计算模块若接收到来自Surface Flinger的第一消息,可以确定有画面刷新,环境光计算模块若未接收到来自Surface Flinger的第一消息,可以确定没有画面刷新。
S1303,根据电子设备的刷新率,且向环境光传感器驱动发送第二消息,第二消息中包括环境光传感器驱动读取第一环境光数据和第二环境光数据的次数、周期。
S1303可以参照S905中的描述。
S1304,每接收一次来自环境光传感器驱动的第一环境光数据和第二环境光数据,将计数器加1。
环境光计算模块响应于接收到来自Surface Flinger的第一消息,可以启动计数器,且环境光计算模块每接收一次来自环境光传感器驱动的第一环境光数据和第二环境光数据,可以将计数器加1。
S1305,根据每次接收的第一环境光数据和第二环境光数据,获取屏幕中像素的一个亮度值,直至计数器的数值达到N。
S1306,根据相邻两次屏幕中像素的亮度值,获取亮度值的差值。
S1307,根据亮度值的差值,检测Display-Vsync offset是否大于电子设备的刷新率对应的时长阈值。若否,则不响应,若是,则执行S910A。
S1305-S1307可以参照S908中的相关描述。在执行S910A之后,可以相应的执行S910,或者S912。
本申请实施例中提供的画面显示方式和上述图9所示的实施例具有相同的技术效果,在此不做赘述。
在一种实施例中,针对电子设备来说,电子设备中包括:第一环境光传感器和第二环境光传感器,第一环境光传感器设置于电子设备的屏幕下方,第二环境光传感器用于采集电子设备所处环境的环境光数据。参照图14,本申请实施例提供的画面显示方法可以包括:
S1401,电子设备在合成一帧画面的图层的过程中,获取至少两组环境光数据,每组环境光数据包括:第一环境光数据和第二环境光数据,第一环境光数据由第一环境光传感器采集,第二环境光数据由第二环境光传感器采集。
其中,电子设备在合成一帧画面的图层的过程可以理解为:环境光计算模块接收到来自Surface Flinger的第一消息至电子设备显示画面的过程。电子设备获取至少两组环境光数据可以参照上述S906-S907中的描述。
S1402,根据每组环境光数据中的第一环境光数据、第二环境光数据,获取每组环境光数据对应的屏幕中像素的亮度值。
S1403,根据每组环境光数据对应的屏幕中像素的亮度值,获取电子设备的灰度至灰度GTG的响应时长。
S1402、S1403可以参照S908中的相关描述。
S1404,响应于响应时长大于时长阈值,执行减小响应时长的操作。
S1404可以参照S910-S913中的相关描述。
本申请实施例具备与上述实施例相同的技术效果,在此不做赘述。
在一种实施例中,参照图15,本申请实施例还提供一种电子设备,该电子设备可以为上述实施例中所述的电子设备,该电子设备中可以包括:处理器1501(例如CPU)、存储器1502。存储器1502可能包含高速随机存取存储器(random-access memory,RAM),也可能还包括非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器,存储器1502中可以存储各种指令,以用于完成各种处理功能以及实现本申请的方法步骤。
可选的,本申请涉及的电子设备还可以包括:电源1503、通信总线1504以及通信端口1505。上述通信端口1505用于实现电子设备与其他外设之间进行连接通信。在本申请实施例中,存储器1502用于存储计算机可执行程序代码,程序代码包括指令;当处理器1501执行指令时,指令使电子设备的处理器1501执行上述方法实施例中的动作,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,上述实施例中所述的模块或部件可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specificintegrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序代码的处理器如控制器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
可以理解的是,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。

Claims (11)

1.一种画面显示方法,其特征在于,应用于电子设备,所述电子设备中包括:第一环境光传感器和第二环境光传感器,所述第一环境光传感器设置于所述电子设备的屏幕下方,所述第二环境光传感器用于采集所述电子设备所处环境的环境光数据,所述方法包括:
所述电子设备在合成一帧画面的图层的过程中,获取至少两组环境光数据,每组环境光数据包括:第一环境光数据和第二环境光数据,所述第一环境光数据由所述第一环境光传感器采集,所述第二环境光数据由所述第二环境光传感器采集;
根据每组环境光数据中的第一环境光数据、第二环境光数据,获取所述每组环境光数据对应的屏幕中像素的亮度值;
根据所述每组环境光数据对应的屏幕中像素的亮度值,获取所述电子设备的灰度至灰度GTG的响应时长;
响应于所述响应时长大于时长阈值,执行减小所述响应时长的操作;
所述获取至少两组环境光数据,包括:
每隔预设时长,获取一组环境光数据,以得到所述至少两组环境光数据;
所述根据所述每组环境光数据对应的屏幕中像素的亮度值,获取所述电子设备的灰度至灰度GTG的响应时长,包括:
按照获取环境光数据从早到晚的顺序,依次获取相邻两组环境光数据对应的屏幕中像素的亮度值的差值,得到多个差值;
根据所述多个差值中第一个小于亮度阈值的差值,获取所述响应时长。
2.根据权利要求1所述的方法,其特征在于,所述第二环境光传感器设置于所述电子设备的侧边框,且所述第二环境光传感器的设置位置与所述屏幕共面。
3.根据权利要求1所述的方法,其特征在于,所述根据所述多个差值中第一个小于亮度阈值的差值,获取所述响应时长,包括:
将第二时刻至第一时刻之间的时长作为所述响应时长,所述第二时刻为获取第一组环境光数据的时刻,所述第一时刻为所述第一个小于亮度阈值的差值时使用的后一组环境光数据的获取时刻。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述第一环境光数据包括第一亮度值,所述第二环境光数据包括第二亮度值,所述根据每组环境光数据中的第一环境光数据、第二环境光数据,获取所述每组环境光数据对应的屏幕中像素的亮度值,包括:
根据所述每组环境光数据中的第一亮度值、第二亮度值,以及所述屏幕的透光率,获取所述每组环境光数据对应的屏幕中像素的亮度值。
5.根据权利要求1-3中任一项所述的方法,其特征在于,所述获取所述每组环境光数据对应的屏幕中像素的亮度值之后,还包括:
根据所述每组环境光数据对应的屏幕中像素的亮度值、屏幕亮度设置比例,以及所述屏幕的亮度,获取所述每组环境光数据对应的屏幕中像素的亮度值采样值,所述屏幕亮度设置比例用于表征所述屏幕的亮度与所述电子设备所处环境的亮度的比值;
将所述相邻两组环境光数据对应的屏幕中像素的亮度值采样值的采样值差值,作为所述多个差值。
6.根据权利要求1-3中任一项所述的方法,其特征在于,所述执行减小所述响应时长的操作,包括:
开启所述电子设备的强制液晶偏转OD功能。
7.根据权利要求1-3中任一项所述的方法,其特征在于,所述执行减小所述响应时长的操作,包括:
若所述电子设备前台运行的应用程序为预设类型的应用程序,则增大所述屏幕显示的背景的灰度值和前景的灰度值的差值。
8.根据权利要求7所述的方法,其特征在于,所述预设类型的应用程序包括如下任一项:电子书、浏览器、新闻,记事本。
9.根据权利要求1-3中任一项所述的方法,其特征在于,所述时长阈值为:所述电子设备的刷新率对应的时长阈值。
10.一种电子设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1-9中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求1-9中任一项所述的方法。
CN202111604967.7A 2021-12-24 2021-12-24 画面显示方法、电子设备和可读存储介质 Active CN115019726B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111604967.7A CN115019726B (zh) 2021-12-24 2021-12-24 画面显示方法、电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111604967.7A CN115019726B (zh) 2021-12-24 2021-12-24 画面显示方法、电子设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN115019726A CN115019726A (zh) 2022-09-06
CN115019726B true CN115019726B (zh) 2023-05-16

Family

ID=83064214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111604967.7A Active CN115019726B (zh) 2021-12-24 2021-12-24 画面显示方法、电子设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN115019726B (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101386264B1 (ko) * 2007-02-28 2014-04-30 엘지디스플레이 주식회사 액정 표시 장치용 오버 드라이빙 룩-업 테이블 자동 설정장치 및 그 제어 방법
CN102800290B (zh) * 2012-08-13 2014-07-02 京东方科技集团股份有限公司 一种液晶显示装置的插帧方法及液晶显示装置
TWI584261B (zh) * 2012-11-06 2017-05-21 群康科技(深圳)有限公司 顯示裝置
JP2018112617A (ja) * 2017-01-10 2018-07-19 キヤノン株式会社 表示装置及び表示装置の制御方法
CN107240380A (zh) * 2017-07-19 2017-10-10 广州捷宝电子科技股份有限公司 保护膜、lcd屏及显示调节方法
CN108716950A (zh) * 2018-05-16 2018-10-30 北京小米移动软件有限公司 环境光亮度获取方法及装置
CN110379391B (zh) * 2019-07-02 2021-08-06 南京中电熊猫液晶显示科技有限公司 一种液晶显示面板以及改善液晶显示面板动态画面拖尾的方法
CN111064982B (zh) * 2019-12-16 2022-03-29 青岛海信传媒网络技术有限公司 一种显示控制方法、存储介质及显示设备
CN111402769B (zh) * 2020-04-14 2023-05-02 深圳市华星光电半导体显示技术有限公司 判定显示面板响应速度的方法
CN111785230B (zh) * 2020-06-22 2022-07-26 Oppo广东移动通信有限公司 一种亮度调节方法及终端、存储介质

Also Published As

Publication number Publication date
CN115019726A (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
US9417784B2 (en) Multi display apparatus and method of controlling display operation
JP5382528B2 (ja) 画像表示制御装置、画像表示装置、画像表示制御方法、及び画像表示制御プログラム
US9348502B2 (en) Dimming method and display apparatus using the same
US10181277B2 (en) Electronic device and method of reducing power consumption thereof
US8629814B2 (en) Controlling complementary bistable and refresh-based displays
US20140101575A1 (en) Multi-display apparatus and method of controlling the same
WO2018120546A1 (zh) 一种图像显示的方法及终端设备
US10049625B1 (en) Context-based rendering
US8749478B1 (en) Light sensor to adjust contrast or size of objects rendered by a display
WO2023160194A1 (zh) 控制屏幕刷新率动态变化的方法及电子设备
US20150040059A1 (en) System, device, and method for scrolling content with motion blur on an electronic display
US20140168236A1 (en) Gpu display adjustments
WO2023093458A1 (zh) 确定墨水屏的刷新模式的方法、电子设备和存储介质
WO2023040666A1 (zh) 键盘显示方法、折叠屏设备和计算机可读存储介质
CN115019726B (zh) 画面显示方法、电子设备和可读存储介质
TWI641987B (zh) 電子裝置以及顯示圖像產生方法
WO2013175186A1 (en) Electronic display device
US11562675B2 (en) Flip-flop circuit, driver circuit, display panel, display device, input/output device, and data processing device
WO2023015949A1 (zh) 屏幕显示方法和终端设备
CN115639920B (zh) 绘制方法、电子设备和可读存储介质
EP4322144A1 (en) Display screen brightness adjustment method, electronic device and storage medium
US20240185775A1 (en) Method for controlling dynamic change of screen refresh rate and electronic device
EP4258251A1 (en) Frame data display method, electronic device and storage medium
WO2021115229A1 (zh) 电子书的显示方法、装置、存储介质及电子设备
EP2747070A1 (en) GPU display adjustments

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant