CN113110817B - 环境光亮度的确定方法、装置、终端及存储介质 - Google Patents
环境光亮度的确定方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN113110817B CN113110817B CN202110379574.4A CN202110379574A CN113110817B CN 113110817 B CN113110817 B CN 113110817B CN 202110379574 A CN202110379574 A CN 202110379574A CN 113110817 B CN113110817 B CN 113110817B
- Authority
- CN
- China
- Prior art keywords
- ambient light
- brightness
- historical
- determining
- refresh rate
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请实施例公开了一种环境光亮度的确定方法、装置、终端及存储介质,属于终端技术领域。该方法包括:响应于获取到光线传感器上报的光感值,读取卡顿标识位,光线传感器设置于屏幕下方,卡顿标识位用于指示SurfaceFlinger合成图像帧时是否存在卡顿风险;响应于卡顿标识位指示存在卡顿风险,获取历史环境光亮度,历史环境光亮度根据历史光感值以及历史亮度补偿参数拟合得到,历史亮度补偿参数由SurfaceFlinger提供;基于历史环境光亮度确定当前环境光亮度。采用本申请实施例提供的方法,在SurfaceFlinger合成图像帧存在卡顿风险时,基于历史环境光亮度确定当前环境光亮度,提高显示画面的流畅度。
Description
技术领域
本申请涉及终端技术领域,特别涉及一种环境光亮度的确定方法、装置、终端及存储介质。
背景技术
目前,为提高终端屏占比,光线传感器多设置于屏幕下方对环境光进行检测,进而基于检测到的光感值进行屏幕亮度调节。
相关技术中,由于光线传感器位于屏幕下方,其检测到的光感值包括环境光亮度与屏幕光亮度,无法得到准确的环境光亮度,因此在获取到检测的光感值后,通过截取显示帧,根据截取显示帧的亮度参数对检测得到的光感值进行补偿,以降低屏幕光亮度的影响。
然而,由于需进行显示帧的截取,SurfaceFlinger合成显示帧的时间缩短,易造成显示画面卡顿问题。
发明内容
本申请实施例提供了一种环境光亮度的确定方法、装置、终端及存储介质。所述技术方案如下:
一方面,本申请实施例提供了一种环境光亮度的确定方法,所述方法包括:
响应于获取到光线传感器上报的光感值,读取卡顿标识位,所述光线传感器设置于屏幕下方,所述卡顿标识位用于指示SurfaceFlinger合成图像帧时是否存在卡顿风险;
响应于所述卡顿标识位指示存在卡顿风险,获取历史环境光亮度,所述历史环境光亮度根据历史光感值以及历史亮度补偿参数拟合得到,所述历史亮度补偿参数由所述SurfaceFlinger提供,且亮度补偿参数用于确定屏幕亮度值,所述屏幕亮度值用于与光感值共同确定环境光亮度;
基于所述历史环境光亮度确定当前环境光亮度。
另一方面,本申请实施例提供了一种环境光亮度的确定装置,所述装置包括:
读取模块,用于响应于获取到光线传感器上报的光感值,读取卡顿标识位,所述光线传感器设置于屏幕下方,所述卡顿标识位用于指示SurfaceFlinger合成图像帧时是否存在卡顿风险;
第一获取模块,用于响应于所述卡顿标识位指示存在卡顿风险,获取历史环境光亮度,所述历史环境光亮度根据历史光感值以及历史亮度补偿参数拟合得到,所述历史亮度补偿参数由所述SurfaceFlinger提供,且亮度补偿参数用于确定屏幕亮度值,所述屏幕亮度值用于与光感值共同确定环境光亮度;
第一确定模块,用于基于所述历史环境光亮度确定当前环境光亮度。
另一方面,本申请实施例提供了一种终端,所述终端包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的环境光亮度的确定方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上述方面所述的环境光亮度的确定方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的环境光亮度的确定方法。
本申请实施例提供的技术方案的有益效果至少包括:
本申请实施例中,通过设置卡顿标识位,当SurfaceFlinger合成图像帧存在卡顿风险时,可通过卡顿标识位使终端获取到SurfaceFlinger合成图像帧存在风险的指示,终端在获取到该指示后,将根据历史环境光亮度确定当前环境光亮度,避免在接收到光线传感器上报的光感值后,从SurfaceFlinger处获取亮度补偿参数,进而避免影响SurfaceFlinger合成图像帧,降低画面卡顿的风险,有助于提高显示画面的流畅度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的终端的结构方框图;
图2示出了相关技术中环境光亮度确定过程的交互示意图;
图3示出了本申请一个示例性实施例提供的环境光亮度的确定方法的方法流程图;
图4示出了本申请另一个示例性实施例提供的环境光亮度的确定方法的方法流程图;
图5示出了本申请另一个示例性实施例提供的环境光亮度的确定方法的方法流程图;
图6示出了本申请一个示例性实施例提供的环境光亮度的确定方法的交互示意图;
图7示出了本申请另一个示例性实施例提供的环境光亮度的确定方法的方法流程图;
图8示出了本申请一个实施例提供的环境光亮度的确定装置的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个示例性实施例提供的终端的结构方框图。本申请中的终端可以包括一个或多个如下部件:处理器101、存储器102、显示屏103和光线传感器104。
处理器101可以包括一个或者多个处理核心。处理器101利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器102内的指令、程序、代码集或指令集,以及调用存储在存储器102内的数据,执行终端的各种功能和处理数据。可选地,处理器101可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器101可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural-network Processing Unit,NPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责触摸显示屏所需要显示的内容的渲染和绘制;NPU用于实现人工智能(Artificial Intelligence,AI)功能;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器101中,单独通过一块芯片进行实现。
存储器102可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选地,该存储器102包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器102可用于存储指令、程序、代码、代码集或指令集。存储器102可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本)等。
显示屏103是用于显示用户界面的显示组件。可选的,该显示屏还具有触控功能,通过触控功能,用户可以使用手指、触摸笔等任何适合的物体在显示屏上进行触控操作。
光线传感器104用于采集光线强度。在一种可能的实施方式中,处理器101可以根据光线传感器采集的光线强度确定环境光亮度,进而控制显示屏103的显示亮度。具体地,当环境光亮度较高时,调高显示屏103的显示亮度;当环境光亮度较低时,调低显示屏103的显示亮度。
可选的,光线传感器104位于显示屏103的下方,可位于显示屏103下方中央、边缘、角落等位置,本申请实施例对具体位置不做限定。
除此之外,本领域技术人员可以理解,上述附图所示出的终端的结构并不构成对终端设备的限定,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括摄像组件、射频电路、输入单元、传感器(比如加速度传感器、角速度传感器、指纹传感器等等)、音频电路、WiFi模块、电源、蓝牙模块等部件,在此不再赘述。
当光线传感器设置于屏幕下方时,所采集的光感值包括环境光亮度与屏幕亮度,屏幕亮度即为显示屏显示画面时产生的亮度。因此,为得到准确的环境光亮度,相关技术中,以安卓系统为例,如图2所示,SensorService202在获取到光线传感器201上报的光感值后,将向SurfaceFlinger203请求获取亮度补偿参数,SurfaceFlinger203在确定亮度补偿参数时需对合成完成的图像帧进行截取,进而基于截取的图像帧确定亮度补偿参数,并返回至SensorService202,SensorService202对亮度补偿参数进行拟合,得到屏幕光亮度,再根据光线传感器201上报的光感值与屏幕光亮度得到环境光亮度,进而降低屏幕亮度对环境光亮度检测的影响。
然而,在SensorService202向SurfaceFlinger203请求亮度补偿参数的过程中,SurfaceFlinger203需在处理一帧的时间内完成图像帧的合成以及截取,以屏幕刷新率为90Hz为例,每一帧画面处理时间仅为11.1ms,即SurfaceFlinger203需在11.1ms内完成图像帧的合成以及截取。由于截取图像帧造成合成图像帧的时间缩短,影响图像帧的合成,进而造成终端显示画面的卡顿,影响画面流畅度。
而本申请实施例中,在SurfaceFlinger合成图像帧存在卡顿风险时,将通过卡顿标识位进行指示,控制不再获取亮度补偿参数,即SurfaceFlinger无需再截取图像帧,进而避免对图像帧合成造成影响,降低卡顿风险,提高显示画面流畅度。下面将以示例性实施例进行说明。
请参考图3,其示出了本申请一个示例性实施例示出的环境光亮度的确定方法的流程图。本实施例以该方法用于终端为例进行说明,该方法包括如下步骤。
步骤301,响应于获取到光线传感器上报的光感值,读取卡顿标识位,光线传感器设置于屏幕下方,卡顿标识位用于指示SurfaceFlinger合成图像帧时是否存在卡顿风险。
本申请实施例中,卡顿标识位是用于指示SurfaceFlinger合成图像帧时是否存在卡顿风险的标识位,其中,SurfaceFlinger用于合成多个图形显示数据,并将合成后的图像发送至屏幕进行显示。在SurfaceFlinger合成图像帧的过程中,若显示画面需进行动画绘制,如进行应用切换的画面、屏幕滑动的画面等,SurfaceFlinger在合成图像帧的过程中出现卡顿概率较大,即存在卡顿风险。
在一种可能的实施方式中,以安卓系统为例,卡顿标识位由SensorService提供的接口设置,该接口可被AMS进行调度与使用。其中,AMS可对系统进程进行监测,进而可确定SurfaceFlinger即将合成的图像帧,根据SurfaceFlinger即将合成的图像帧确定是否存在卡顿风险。当AMS检测到SurfaceFlinger合成图像帧即将存在卡顿风险时,将对卡顿标识位进行设置,使其指示SurfaceFlinger合成图像帧存在卡顿风险。
可选的,光线传感器位于屏幕下方,其检测的光感值包括环境光亮度值以及屏幕亮度值。当获取到光线传感器上报的光感值后,SensorService将读取卡顿标识位,根据卡顿标识位的指示控制环境光亮度的确定方式。其中,光线传感器可实时上报检测的光感值,也可每隔预设时间进行光感值的上报,本申请实施例对此不做限定。
步骤302,响应于卡顿标识位指示存在卡顿风险,获取历史环境光亮度,历史环境光亮度根据历史光感值以及历史亮度补偿参数拟合得到,历史亮度补偿参数由SurfaceFlinger提供,且亮度补偿参数用于确定屏幕亮度值,屏幕亮度值用于与光感值共同确定环境光亮度。
在一种可能的实施方式中,当SensorService读取到的卡顿标识位指示SurfaceFlinger合成图像帧存在卡顿风险时,表明SurfaceFlinger合成图像帧的复杂度较高,其负载也较高,若向SurfaceFlinger请求获取亮度补偿参数,则需SurfaceFlinger需进行图像帧的合成以及截取,更易造成显示画面的卡顿,因此,当卡顿标识位指示存在卡顿风险后,SensorService将获取历史环境光亮度。其中,历史环境光亮度是指SensorService历史上报的环境光亮度,且该历史环境光亮度是历史光线传感器上报光感值后,SensorService在SurfaceFlinger处请求获取亮度补偿参数,SurfaceFlinger截取合成完成的图像帧,并确定亮度补偿参数,将其返回至SensorService,使其根据光线传感器上报的光感值与亮度补偿参数拟合得到环境光亮度。
即本申请实施例中,在卡顿标识位指示存在卡顿风险时,将不再从SurfaceFlinger处获取亮度补偿参数,避免SurfaceFlinger进行图像帧的截取,为SurfaceFlinger合成图像帧提供更多处理时间,降低画面卡顿风险,提高画面流畅度。
步骤303,基于历史环境光亮度确定当前环境光亮度。
可选的,当获取历史环境光亮度后,SensorService根据历史环境光亮度确定当前环境光亮度,并将确定的环境光亮度上报至数据使用方,使数据使用方可根据确定的环境光亮度进行相应调节,如,对屏幕亮度进行调节或对摄像设备的摄像参数进行调节等。
综上所述,本申请实施例中,通过设置卡顿标识位,当SurfaceFlinger合成图像帧存在卡顿风险时,可通过卡顿标识位使终端获取到SurfaceFlinger合成图像帧存在风险的指示,终端在获取到该指示后,将根据历史环境光亮度确定当前环境光亮度,避免在接收到光线传感器上报的光感值后,从SurfaceFlinger处获取亮度补偿参数,进而避免影响SurfaceFlinger合成图像帧,降低画面卡顿的风险,有助于提高显示画面的流畅度。
不同显示界面具有不同的刷新率需求,当显示界面所需流畅度越高时,其所需的刷新率需求也越高,比如,进行界面切换时,对显示画面的流畅度需求较高,其相应的刷新率需求也较高。而在刷新率需求较高时,SurfaceFlinger合成图像帧可能存在卡顿风险,因此,在一种可能的实施方式中,根据不同界面的刷新率需求进行卡顿标识位的设置,下面将以示例性实施例进行说明。
请参考图4,其示出了本申请另一个示例性实施例示出的环境光亮度的确定方法的流程图。本实施例以该方法用于终端为例进行说明,该方法包括如下步骤。
步骤401,获取SurfaceFlinger合成图像帧时的刷新率需求。
在一种可能的实施方式中,AMS实时监测系统进程,根据系统进程的变化确定显示画面的变化,进而根据显示画面确定SurfaceFlinger合成图像帧时的刷新率需求。其中,不同显示画面的刷新率需求可预先存储至终端中,当AMS检测到即将显示的画面时,即可根据即将显示的画面确定SurfaceFlinger合成图像帧时的刷新率需求。可选的,刷新率需求可为所需的刷新率大小,也可为所需的刷新率范围大小,本申请实施例对此不做限定。
示意性的,不同显示画面的刷新率需求可如表1所示,其中,刷新率需求为显示画面所需的最低刷新率:
表1
显示画面 | 刷新率需求 |
图片显示 | 60Hz |
应用切换 | 90Hz |
界面切换 | 90Hz |
如表1所示,当AMS监测到用户关闭应用程序A并即将开启应用程序B时,SurfaceFlinger需合成应用切换界面的图像帧,则可确定此时SurfaceFlinger合成图像帧的刷新率需求为90Hz。
步骤402,基于刷新率需求设置卡顿标识位。
在一种可能的实施方式中,当刷新率需求越高时,表明SurfaceFlinger合成图像帧的复杂度越高,SurfaceFlinger合成图像帧的卡顿概率相对较大,若SurfaceFlinger再进行图像帧的截取,则易造成显示画面的卡顿,影响显示画面的流畅性。因此,可根据刷新率需求所指示的刷新率的大小设置卡顿标识位。即当AMS获取到SurfaceFlinger合成图像帧的刷新率需求后,根据该刷新率需求对SensorService提供的接口进行卡顿标识位的设置。
可选的,可预先设置刷新率阈值,根据获取的刷新率需求所指示的刷新率与刷新率阈值的大小的关系进行卡顿标识位的设置。
可选的,响应于刷新率需求指示的刷新率高于刷新率阈值,设置卡顿标识位为第一状态值,第一状态值指示SurfaceFlinger合成图像帧时存在卡顿风险。
当获取的刷新率需求指示的刷新率高于刷新率阈值时,则设置卡顿标识位为第一状态值。可选的,该第一状态值可为0,用于指示SurfaceFlinger合成图像帧时存在卡顿风险。
可选的,当刷新率需求指示的刷新率为刷新率范围大小时,则可将刷新率范围中最低值与刷新率阈值进行比较,若刷新率范围的最低值高于刷新率阈值,则将卡顿标识位设置为第一状态值。或者,还可将刷新率范围的均值与刷新率阈值进行比较,若刷新率均值高于刷新率阈值,则将卡顿标识位设置为第一状态值。
且由于第一状态值用于指示SurfaceFlinger合成图像帧时存在卡顿风险,当SensorService在获取到光线传感器上传的光感值后,若读取的卡顿标识位为第一状态值,则将获取历史环境光亮度。而若因SurfaceFlinger合成刷新率高于刷新率阈值的画面尚未完成,则卡顿标识位将持续保持第一状态值,此时,将持续获取历史环境光亮度,而若时间较长,则获取的历史环境光亮度将与当前环境光亮度差别较大,基于历史环境光亮度确定的当前环境光亮度的准确性较低。
因此,在一种可能的实施方式中,响应于第一状态值的设置时长达到预设时长,将卡顿标识位由第一状态值设置为第二状态值。即当每次设置卡顿标识位为第一状态值后,将开始计时,当第一状态值的设置时长达到预设时长后,将其设置为第二状态值,进而使SensorService不再基于历史环境光亮度确定当前环境光亮度。示意性的,预设时长可设置为1s,第一状态值设置时长超过1s后,将卡顿标识位设置为第二状态值。
可选的,响应于刷新率需求指示的刷新率低于刷新率阈值,设置卡顿标识位为第二状态值,第二状态值指示SurfaceFlinger合成图像帧时不存在卡顿风险。
可选的,第二状态值可为1,当刷新率需求指示的刷新率低于刷新率阈值时,则将卡顿标识位设置为1,指示SurfaceFlinger合成图像帧时不存在卡顿风险。
相应的,当刷新率需求指示的刷新率为刷新率范围大小时,则可将刷新率范围中最高值与刷新率阈值进行比较,若刷新率范围的最高值低于刷新率阈值,则将卡顿标识位设置为第二状态值。或者,还可将刷新率范围的均值与刷新率阈值进行比较,若刷新率均值低于于刷新率阈值,则将卡顿标识位设置为第二状态值。
示意性的,结合表1示例,当刷新率阈值为80Hz时,图片显示的刷新率需求指示的刷新率低于刷新率阈值,则当AMS检测到用户查看图片时,设置卡顿标识位为第二状态值;而应用切换以及界面切换的刷新率需求指示的刷新率高于刷新率阈值,则当AMS检测到发生应用切换或界面切换时,设置卡顿标识位为第一状态值。
需要说明的是,本实施例中仅对第一状态值与第二状态值进行示例性说明,其还可采用其他值进行表示,本申请实施例对此不做限定。
步骤403,响应于获取到光线传感器上报的光感值,读取卡顿标识位。
AMS根据不同显示画面进行卡顿标识位的设置,SensorService可读取AMS设置的卡顿标识位的状态值。在一种可能的实施方式中,当获取到光线传感器上报的光感值后,SensorService即可读取此时卡顿标识位的状态值,并根据卡顿标识位的状态判断是否需获取历史环境光亮度。
步骤404,响应于卡顿标识位指示存在卡顿风险,获取历史环境光亮度。
可选的,当读取到的卡顿标识位为第一状态值时,获取历史环境光亮度。
步骤405,将最近一次确定得到的历史环境光亮度确定为当前环境光亮度。
获取环境光亮度后,将基于历史环境光亮度确定当前环境光亮度。在一种可能的实施方式中,将最近一次光线传感器上传光感值后,SensorService基于光感值与SurfaceFlinger提供的亮度补偿参数得到的环境光亮度确定为当前环境光亮度。
步骤406,基于最近n次确定得到的历史环境光亮度确定当前环境光亮度,n为大于等于2的整数。
在另一种可能的实施方式中,为提高基于历史环境光亮度确定当前环境光亮度的准确性,可基于最近n次确定的历史环境光亮度确定当前环境光亮度。
可选的,可将最近n次确定的历史环境光亮度的亮度均值确定为当前环境光亮度。当获取到最近n次确定的历史环境光亮度后,可取最近n次确定的环境光亮度的亮度均值,将该亮度均值确定为当前环境光亮度。或者,在另一种可能的实施方式中,获取最近n次的环境光亮度后,可为每次确定的环境光亮度设置不同权重,进而加权得到亮度值,并将该亮度值确定为当前环境光亮度。
在一种可能的应用场景中,当前时间段内环境光亮度变化较大,因此,基于最近n次确定得到的环境光亮度确定当前环境光亮度时,还可基于最近n次历史环境光亮度的变化趋势确定当前环境光亮度。该方式可包括如下步骤:
步骤一、确定最近n次确定得到的历史环境光亮度的亮度变化趋势。
首先根据最近n次得到的历史环境光亮度确定亮度变化趋势,比如,确定最近n次得到的历史环境光亮度呈上升趋势或者呈下降趋势,确定变化趋势后,还可进一步计算变化量,如平均每次上升的亮度值或平均每次下降的亮度值。
步骤二、基于亮度变化趋势确定当前环境光亮度。
可选的,可基于变化趋势以及平均每次的变化量预测得到当前环境光亮度。示意性的,若最近n次获取的历史环境光亮度呈上升趋势,则将最近一次获取的历史环境光亮度与平均每次亮度上升量之和确定为当前环境光亮度。
本实施例中,首先基于SurfaceFlinger合成图像帧的刷新率需求确定卡顿标识位的状态值,当SurfaceFlinger合成不同图像帧时,对应卡顿标识位的状态值不同,进而确保确定SurfaceFlinger合成图像帧是否存在卡顿风险的准确性。
且本实施例中,为卡顿标识位的第一状态值设置时长限定时间阈值,在设置时长达到预设阈值后,将第一状态值调整为第二状态值,避免长时间基于历史环境光亮度确定当前环境光亮度,进而提高确定当前环境光亮度的准确性。
上述实施例中,对在卡顿标识位指示SurfaceFlinger合成图像帧存在风险时,如何确定当前环境光亮度的方式进行示例性说明。下面将对卡顿标识位指示不存在卡顿风险时确定当前环境光亮度的方式进行示例性说明。
请参考图5,其示出了本申请另一个示例性实施例示出的环境光亮度的确定方法的流程图。本实施例以该方法用于终端为例进行说明,该方法包括如下步骤。
步骤501,响应于获取到光线传感器上报的光感值,读取卡顿标识位。
本步骤实施例可参考上述步骤301,本实施例不再赘述。
步骤502,响应于卡顿标识位指示不存在卡顿风险,从SurfaceFlinger处获取当前亮度补偿参数。
当SensorService读取卡顿标识位的状态值为第二状态值时,确定SurfaceFlinger合成图像帧时不存在卡顿风险,此时,可向SurfaceFlinger发送获取亮度补偿参数请求,该亮度补偿参数用于确定当前屏幕亮度值。SurfaceFlinger接收到请求后,将对当前合成完成的图像帧进行截取,并确定当前截取图像帧的RGB参数,使SensorService根据RGB参数确定屏幕亮度值。
步骤503,基于当前亮度补偿参数确定当前屏幕亮度值。
在一种可能的实施方式中,当SensorService获取到当前截取图像帧的RGB参数后,可基于截取图像帧平均像素点的RGB值确定屏幕亮度值。可选的,可首先获取截取图像帧每一像素点的RGB值,可预先为不同颜色通道设置不同权重值,比如,为R通道设置权重为a,为G通道设置权重为b,为B通道设置权重为c,进而根据每个颜色通道对应的值与权重加权计算得到每一像素点的RGB值,最终基于每一像素点的RGB值确定图像帧的平均RGB值。
可选的,在确定图像帧的平均RGB值后,可根据平均RGB值确定屏幕亮度值。在一种可能的实施方式中,可预先设置RGB值与屏幕亮度值的对应关系,当获取到图像帧的平均RGB后,即可确定对应的屏幕亮度值。
步骤504,基于当前屏幕亮度值与光线传感器上报的光感值确定当前环境光亮度,并进行存储。
在一种可能的实施方式中,根据截取图像帧确定当前屏幕亮度值后,基于当前屏幕亮度值与光线传感器上报的光感值间的差值确定当前环境光亮度,进而降低屏幕亮度对环境光亮度检测的影响。
且在确定当前环境光亮度后,还需对当前环境光亮度进行存储,以便在卡顿标识位为第一状态值时,基于存储的历史环境光亮度确定当前环境光亮度。
可选的,在对环境光亮度进行存储时,可根据基于历史环境光亮度确定当前环境光亮度的确定方式进行存储。若仅基于最近1次确定的历史环境光亮度确定当前环境光亮度,则在基于当前屏幕亮度值与光线传感器上报的光感值确定当前环境光亮度后,对当前已存储的环境光亮度进行删除,存储最新确定的环境光亮度。
若基于最近n次确定的历史环境光亮度确定当前环境光亮度,则仅存储最近n次确定的环境光亮度。其中,存储方式可遵循先入先出原则(First Input First Output,FIFO)。
示意性的,如图6所示,AMS601实时检测显示画面,当检测到即将进行图片显示时,设置卡顿标识位为第二标识位,此时,当SensorService602接收到光线传感器上报的光感值时,将向SurfaceFlinger603请求获取亮度补偿参数,SensorService602拟合光感值以及亮度补偿参数得到当前环境光亮度,并上报至数据使用方604;而当AMS601检测到即将进行应用切换时,SurfaceFlinger603合成图像帧时将存在卡顿风险,此时,当SensorService602接收到光线传感器上报的光感值时,则不再向SurfaceFlinger603发送获取亮度补偿参数请求,而是获取历史环境光亮度,并基于历史环境光亮度确定当前环境光亮度,并将确定的当前环境光亮度上报至数据使用方604。
本实施例中,当卡顿标识位指示不存在卡顿风险时,则从SurfaceFlinger处获取当前亮度补偿参数,基于亮度补偿参数确定屏幕亮度值,进而基于屏幕亮度值与光线传感器上报的光感值确定当前环境光亮度,在确保显示画面流程度的前提下,对采集到的原始光感值进行补偿,提高确定当前环境光亮度的准确性。
结合上述实施例,在一个示意性的例子中,环境光亮度的确定过程如图7所示。该过程可包括如下步骤。
步骤701,光线传感器上报光感值。
步骤702,读取卡顿标识位。
可选的,当SensorService接收到光感值后,将读取卡顿标识位。
步骤703,判断卡顿标识位是否指示存在卡顿风险,若存在,则执行步骤707至步骤708,若不存在,则执行步骤704至步骤706。
可选的,根据卡顿标识位的状态值确定SurfaceFlinger合成图像帧是否存在卡顿风险。
步骤704,获取亮度补偿参数。
可选的,当不存在卡顿风险时,SensorService可在SurfaceFlinger处获取亮度补偿参数。
步骤705,拟合亮度补偿参数以及光感值。
可选的,获取亮度补偿参数后,将基于亮度补偿参数确定屏幕亮度值,再基于屏幕亮度值以及光感值确定当前环境光亮度。
步骤706,确定当前环境光亮度。
步骤707,获取历史环境光亮度。
可选的,当存在卡顿风险时,SensorService将获取已存储的历史环境光亮度,基于历史环境光亮度确定当前环境光亮度。
步骤708,确定当前环境光亮度。
请参考图8,其示出了本申请一个实施例提供的环境光亮度的确定装置的结构框图。该装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。如图所示,该装置包括:
读取模块801,用于响应于获取到光线传感器上报的光感值,读取卡顿标识位,所述光线传感器设置于屏幕下方,所述卡顿标识位用于指示SurfaceFlinger合成图像帧时是否存在卡顿风险;
第一获取模块802,用于响应于所述卡顿标识位指示存在卡顿风险,获取历史环境光亮度,所述历史环境光亮度根据历史光感值以及历史亮度补偿参数拟合得到,所述历史亮度补偿参数由所述SurfaceFlinger提供,且亮度补偿参数用于确定屏幕亮度值,所述屏幕亮度值用于与光感值共同确定环境光亮度;
第一确定模块803,用于基于所述历史环境光亮度确定当前环境光亮度。
可选的,所述装置还包括:
第二获取模块,用于获取所述SurfaceFlinger合成图像帧时的刷新率需求;
第一设置模块,用于基于所述刷新率需求设置所述卡顿标识位。
可选的,所述第一设置模块,包括:
第一设置单元,用于响应于所述刷新率需求指示的刷新率高于刷新率阈值,设置所述卡顿标识位为第一状态值,所述第一状态值指示所述SurfaceFlinger合成图像帧时存在卡顿风险;
第二设置单元,用于响应于所述刷新率需求指示的刷新率低于所述刷新率阈值,设置所述卡顿标识位为第二状态值,所述第二状态值指示所述SurfaceFlinger合成图像帧时不存在卡顿风险。
可选的,所述装置还包括:
第二设置模块,用于响应于所述第一状态值的设置时长达到预设时长,将所述卡顿标识位由所述第一状态值设置为所述第二状态值。
可选的,所述第一确定模块803,包括:
第一确定单元,用于将最近一次确定得到的所述历史环境光亮度确定为所述当前环境光亮度;
或,
第二确定单元,用于基于最近n次确定得到的所述历史环境光亮度确定所述当前环境光亮度,n为大于等于2的整数。
可选的,所述第二确定单元,还用于:
将最近n次确定的所述历史环境光亮度的亮度均值确定为所述当前环境光亮度;
或,
确定最近n次确定得到的所述历史环境光亮度的亮度变化趋势;基于所述亮度变化趋势确定所述当前环境光亮度。
可选的,所述装置还包括:
第三获取模块,用于响应于所述卡顿标识位指示不存在卡顿风险,从所述SurfaceFlinger处获取当前亮度补偿参数;
第二确定模块,用于基于所述当前亮度补偿参数确定当前屏幕亮度值;
第三确定模块,用于基于所述当前屏幕亮度值与所述光线传感器上报的光感值确定所述当前环境光亮度,并进行存储。
综上所述,本申请实施例中,通过设置卡顿标识位,当SurfaceFlinger合成图像帧存在卡顿风险时,可通过卡顿标识位使终端获取到SurfaceFlinger合成图像帧存在风险的指示,终端在获取到该指示后,将根据历史环境光亮度确定当前环境光亮度,避免在接收到光线传感器上报的光感值后,从SurfaceFlinger处获取亮度补偿参数,进而避免影响SurfaceFlinger合成图像帧,降低画面卡顿的风险,有助于提高显示画面的流畅度。
本申请实施例还提供了一种计算机可读存储介质,该存储介质存储有至少一条指令,至少一条指令用于被处理器执行以实现如上述实施例所述的环境光亮度的确定方法。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例提供的环境光亮度的确定方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (6)
1.一种环境光亮度的确定方法,其特征在于,所述方法包括:
获取SurfaceFlinger合成图像帧时的刷新率需求;
响应于所述刷新率需求指示的刷新率高于刷新率阈值,设置卡顿标识位为第一状态值,所述卡顿标识位用于指示SurfaceFlinger合成图像帧时是否存在卡顿风险,所述第一状态值指示SurfaceFlinger合成图像帧时存在卡顿风险;
响应于所述刷新率需求指示的刷新率低于所述刷新率阈值,设置所述卡顿标识位为第二状态值,所述第二状态值指示SurfaceFlinger合成图像帧时不存在卡顿风险;
响应于获取到光线传感器上报的光感值,读取所述卡顿标识位,所述光线传感器设置于屏幕下方;
响应于所述卡顿标识位为所述第一状态值,获取历史环境光亮度,所述历史环境光亮度根据历史光感值以及历史亮度补偿参数拟合得到,所述历史亮度补偿参数由所述SurfaceFlinger提供;
基于所述历史环境光亮度确定当前环境光亮度;
响应于所述卡顿标识位为所述第一状态值的设置时长达到预设时长,将所述卡顿标识位由所述第一状态值设置为所述第二状态值;
响应于所述卡顿标识位为所述第二状态值,从所述SurfaceFlinger处获取当前亮度补偿参数;
基于所述当前亮度补偿参数确定当前屏幕亮度值;
基于所述当前屏幕亮度值与所述光线传感器上报的光感值确定所述当前环境光亮度,并进行存储。
2.根据权利要求1所述的方法,其特征在于,所述基于所述历史环境光亮度确定当前环境光亮度,包括:
将最近一次确定得到的所述历史环境光亮度确定为所述当前环境光亮度;
或,
基于最近n次确定得到的所述历史环境光亮度确定所述当前环境光亮度,n为大于等于2的整数。
3.根据权利要求2所述的方法,其特征在于,所述基于最近n次确定得到的所述历史环境光亮度确定所述当前环境光亮度,包括:
将最近n次确定的所述历史环境光亮度的亮度均值确定为所述当前环境光亮度;
或,
确定最近n次确定得到的所述历史环境光亮度的亮度变化趋势;基于所述亮度变化趋势确定所述当前环境光亮度。
4.一种环境光亮度的确定装置,其特征在于,所述装置包括:
第二获取模块,用于获取SurfaceFlinger合成图像帧时的刷新率需求;
第一设置模块,用于响应于所述刷新率需求指示的刷新率高于刷新率阈值,设置卡顿标识位为第一状态值,所述卡顿标识位用于指示SurfaceFlinger合成图像帧时是否存在卡顿风险,所述第一状态值指示SurfaceFlinger合成图像帧时存在卡顿风险;响应于所述刷新率需求指示的刷新率低于所述刷新率阈值,设置所述卡顿标识位为第二状态值,所述第二状态值指示SurfaceFlinger合成图像帧时不存在卡顿风险;
读取模块,用于响应于获取到光线传感器上报的光感值,读取所述卡顿标识位,所述光线传感器设置于屏幕下方;
第一获取模块,用于响应于所述卡顿标识位为所述第一状态值,获取历史环境光亮度,所述历史环境光亮度根据历史光感值以及历史亮度补偿参数拟合得到,所述历史亮度补偿参数由所述SurfaceFlinger提供;
第一确定模块,用于基于所述历史环境光亮度确定当前环境光亮度;
第二设置模块,用于响应于所述卡顿标识位为所述第一状态值的设置时长达到预设时长,将所述卡顿标识位由所述第一状态值设置为所述第二状态值;
第三获取模块,用于响应于所述卡顿标识位为所述第二状态值,从所述SurfaceFlinger处获取当前亮度补偿参数;
第二确定模块,用于基于所述当前亮度补偿参数确定当前屏幕亮度值;
第三确定模块,用于基于所述当前屏幕亮度值与所述光线传感器上报的光感值确定所述当前环境光亮度,并进行存储。
5.一种终端,其特征在于,所述终端包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如权利要求1至3任一所述的环境光亮度的确定方法。
6.一种计算机可读存储介质,其特征在于,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如权利要求1至3任一所述的环境光亮度的确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110379574.4A CN113110817B (zh) | 2021-04-08 | 2021-04-08 | 环境光亮度的确定方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110379574.4A CN113110817B (zh) | 2021-04-08 | 2021-04-08 | 环境光亮度的确定方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113110817A CN113110817A (zh) | 2021-07-13 |
CN113110817B true CN113110817B (zh) | 2023-06-20 |
Family
ID=76715100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110379574.4A Active CN113110817B (zh) | 2021-04-08 | 2021-04-08 | 环境光亮度的确定方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113110817B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113639861A (zh) * | 2021-07-30 | 2021-11-12 | 上海探寻信息技术有限公司 | 一种光感检测方法及可穿戴设备 |
CN115835453B (zh) * | 2022-12-30 | 2023-07-18 | 东莞锐视光电科技有限公司 | 调节光源光线参数的方法、装置、介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015040961A (ja) * | 2013-08-21 | 2015-03-02 | 株式会社ジャパンディスプレイ | 有機el表示装置の駆動方法、及び有機el表示装置 |
CN111754954A (zh) * | 2020-07-10 | 2020-10-09 | Oppo(重庆)智能科技有限公司 | 屏幕亮度调节方法、装置、存储介质及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109951596A (zh) * | 2017-12-20 | 2019-06-28 | 广东欧珀移动通信有限公司 | 屏幕亮度的调节方法、装置、存储介质及移动终端 |
CN108536367B (zh) * | 2018-03-28 | 2020-11-13 | 努比亚技术有限公司 | 一种交互页面卡顿的处理方法、终端及可读存储介质 |
CN111486950B (zh) * | 2020-04-20 | 2022-04-19 | Oppo广东移动通信有限公司 | 环境光检测方法、装置、电子设备及存储介质 |
-
2021
- 2021-04-08 CN CN202110379574.4A patent/CN113110817B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015040961A (ja) * | 2013-08-21 | 2015-03-02 | 株式会社ジャパンディスプレイ | 有機el表示装置の駆動方法、及び有機el表示装置 |
CN111754954A (zh) * | 2020-07-10 | 2020-10-09 | Oppo(重庆)智能科技有限公司 | 屏幕亮度调节方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113110817A (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109240572B (zh) | 一种获取图片的方法、对图片进行处理的方法及装置 | |
EP3584676B1 (en) | Method, device, medium, and electronic apparatus for dynamically adjusting power saving level of terminal | |
CN109036296B (zh) | 屏幕背光亮度调节方法、装置、终端及存储介质 | |
CN113110817B (zh) | 环境光亮度的确定方法、装置、终端及存储介质 | |
KR20180015038A (ko) | 디스플레이 구동 방법과 이를 지원하는 디스플레이 구동 회로 및 이를 포함하는 전자 장치 | |
US10694139B2 (en) | Method for driving display including curved display area, display driving circuit supporting the same, and electronic device including the same | |
CN107293265B (zh) | 显示屏画面调整方法、显示终端及可读存储介质 | |
CN112262427B (zh) | 拖影评价、改善方法和电子设备 | |
CN108234894B (zh) | 一种曝光调整方法及终端设备 | |
WO2021082542A1 (zh) | 区域背光控制方法、显示器及存储介质 | |
CN113781949B (zh) | 图像显示方法、显示驱动芯片、显示屏模组及终端 | |
CN113608713A (zh) | 变频显示方法、ddic、显示屏模组及终端 | |
CN111951206A (zh) | 图像合成方法、图像合成装置及终端设备 | |
CN108665510B (zh) | 连拍图像的渲染方法、装置、存储介质及终端 | |
CN110827770B (zh) | 显示图像的区域背光亮度调节方法、装置和存储介质 | |
CN114119431A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110471524B (zh) | 显示控制方法及终端设备 | |
CN111145151A (zh) | 一种运动区域确定方法及电子设备 | |
CN114038370A (zh) | 显示参数调整方法、装置、存储介质及显示设备 | |
CN110556080B (zh) | 调节背光的方法、装置、终端及存储介质 | |
WO2023155606A1 (zh) | 屏幕刷新率的切换方法、电子设备和计算机可读存储介质 | |
CN109729280B (zh) | 一种图像处理方法及移动终端 | |
CN109561258B (zh) | 一种补光方法及终端设备 | |
CN115691387A (zh) | 显示屏的刷新频率调整方法和电子设备 | |
CN114863432A (zh) | 一种终端设备、对比度调整方法、装置及介质 |
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 |