一种环境光的检测方法、电子设备、芯片系统及存储介质技术方案

技术编号:33370774 阅读:15 留言:0更新日期:2022-05-11 22:36
本申请提供一种环境光的检测方法、电子设备、芯片系统及存储介质,涉及屏下环境光技术领域,可以解决环境光的检测方式通用性差的问题。该方法包括:电子设备中的显示引擎服务可以确定当前时间和上次检测环境光的时间的差值;若该差值超过了一定时间,则表示已经到了再次检测环境光的时间,则显示引擎服务向环境光传感器驱动发送采集指令以使环境光传感器采集环境光,向SurfaceFlinger模块发送局部图像合成请求以合成局部图像;该局部图像与采集的环境光中包含的噪声相关,从而基于采集的环境光和局部图像得到真实的环境光。境光和局部图像得到真实的环境光。境光和局部图像得到真实的环境光。

【技术实现步骤摘要】
一种环境光的检测方法、电子设备、芯片系统及存储介质


[0001]本申请涉及环境光传感器领域,尤其涉及一种环境光的检测方法、电子设备、芯片系统及存储介质。

技术介绍

[0002]随着电子设备的发展,电子设备的显示屏的占比越来越高。为追求极致的屏占比,可以将电子设备上的环境光传感器设置在电子设备的有机发光二极管(Organic Light

Emitting Diode,OLED)屏下方。OLED屏本身会发光,这就导致置于OLED屏下方的环境光传感器采集的环境光中包含了OLED屏本身发出的光,导致基于环境光传感器采集的环境光不精确。
[0003]目前,为了精确的测量环境光,通常采用定制OLED屏搭配定制环境光传感器的方式。预先测量得到该定制OLED屏对该定制环境光传感器采集的环境光的干扰关系,并将该干扰关系固化在特定电子设备中,该特定电子设备设置有该定制OLED屏和该定制环境光传感器。在环境光传感器采集环境光后,基于固化在该特定电子设备中的干扰关系,得到精确的环境光。然而,这种检测环境光的方式只能在采用定制OLED屏搭配定制环境光传感器的电子设备中才能适用,导致这种环境光的检测方式的通用性较差。

技术实现思路

[0004]本申请提供一种环境光的检测方法、电子设备、芯片系统及存储介质,解决环境光的检测方式通用性差的问题。
[0005]为达到上述目的,本申请采用如下技术方案:
[0006]第一方面,本申请提供一种环境光的检测方法,应用于电子设备,该电子设备包括显示引擎服务、SurfaceFlinger和噪声算法库,该方法包括:
[0007]响应于监听到第一信号,显示引擎服务计算当前时间与第一时间的第一差值,第一时间与电子设备的环境光传感器采集第一值的时间相关;
[0008]在第一差值满足第一预设条件的情况下,显示引擎服务向SurfaceFlinger发送第一请求和向电子设备的环境光传感器驱动发送采集指令;采集指令用于指示环境光传感器驱动获得第二值,第二值为环境光传感器采集第一值之后采集的下一个环境光数据;第一请求用于指示SurfaceFlinger合成第一图像,第一图像为环境光传感器采集第二值期间电子设备的显示屏显示的图像的局部区域图像;
[0009]噪声算法库基于第二值和第一图像,计算获得第三值。
[0010]本申请中,可以查看当前时间与环境光传感器上一次采集第一值(初始环境光)的时间的差值,在差值满足第一预设条件的情况下,表示已经满足了再次检测环境光的时间,则可以向SurfaceFlinger发送第一请求,以合成第一图像;也需要向电子设备的环境光传感器驱动发送采集指令,以采集第二值(初始环境光)。该第一图像与显示屏本身发出的光相关,即与第二值中包含的噪声相关,所以,可以基于第二值和第一图像获得第三值(外界
真实的环境光)。该方法不依赖于特定型号的显示屏和特定型号的环境光传感器器件。因此,具有通用性。
[0011]作为第一方面的一种实现方式,在第一差值满足第一预设条件的情况下,显示引擎服务向SurfaceFlinger发送第一请求和向电子设备的环境光传感器驱动发送采集指令,包括:
[0012]在第一差值大于第一阈值的情况下,显示引擎服务向SurfaceFlinger发送第一请求和向环境光传感器驱动发送采集指令。
[0013]作为第一方面的一种实现方式,在第一差值大于第一阈值的情况下,显示引擎服务向SurfaceFlinger发送第一请求和向环境光传感器驱动发送采集指令,包括:
[0014]在第一差值大于第一阈值、且SurfaceFlinger监听到第一信号后不合成第二图像的情况下,显示引擎服务向SurfaceFlinger发送第一请求和向环境光传感器驱动发送采集指令,第二图像为用于在电子设备的显示屏显示的图像。
[0015]作为第一方面的一种实现方式,在第一差值大于第一阈值的情况下,显示引擎服务向SurfaceFlinger发送第一请求和向环境光传感器驱动发送采集指令,包括:
[0016]在第一差值大于第一阈值、且SurfaceFlinger监听到第一信号后合成第二图像的情况下,显示引擎服务确定SurfaceFlinger在监听到第二信号之前是否能够完成第一图像的合成任务,第二信号为第一信号的下一个Vsync信号,第二图像为用于在电子设备的显示屏显示的图像,在SurfaceFlinger监听到第一信号后合成第二图像的情况下,第一图像为第二图像的局部区域图像;
[0017]若显示引擎服务确定SurfaceFlinger在监听到第二信号之前能够完成第一图像的合成任务,则显示引擎服务向SurfaceFlinger发送第一请求和向环境光传感器驱动发送采集指令。
[0018]作为第一方面的一种实现方式,显示引擎服务确定SurfaceFlinger在监听到第二信号之前是否能够完成第一图像的合成任务之后,该方法还包括:
[0019]若显示引擎服务确定SurfaceFlinger在监听到第二信号之前不能完成第一图像的合成任务,则显示引擎服务监听第二信号。
[0020]作为第一方面的一种实现方式,上述实现方式中的第一差值小于或等于第二阈值,第二阈值大于第一阈值。
[0021]作为第一方面的一种实现方式,在第一差值满足第一预设条件的情况下,显示引擎服务向SurfaceFlinger发送第一请求和向电子设备的环境光传感器驱动发送采集指令,还包括:
[0022]在第一差值大于第二阈值的情况下,显示引擎服务向SurfaceFlinger发送第一请求和向环境光传感器驱动发送采集指令。
[0023]作为第一方面的一种实现方式,在显示引擎服务计算当前时间与第一时间的第一差值之后,该方法还包括:
[0024]在第一差值不大于第一阈值的情况下,显示引擎服务监听第二信号,第二信号为第一信号的下一个Vsync信号。
[0025]作为第一方面的一种实现方式,该方法还包括:
[0026]响应于监听到第一信号,SurfaceFlinger判断是否合成第二图像;
[0027]若SurfaceFlinger在监听到第三信号之后接收到第一信息,则SurfaceFlinger合成第二图像,第三信号为第一信号的前一个Vsync信号,第一信息包括用于合成第二图像的信息;
[0028]若SurfaceFlinger在监听到第三信号之后未接收到第一信息,则SurfaceFlinger不合成第二图像。
[0029]作为第一方面的一种实现方式,在SurfaceFlinger合成第二图像之后,该方法还包括:
[0030]SurfaceFlinger向显示引擎服务发送第一响应,第一响应用于表示SurfaceFlinger已经合成第二图像;
[0031]相应的,显示引擎服务确定SurfaceFlinger在监听到第二信号之前是否能够完成第一图像的合成任务,包括:<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种环境光的检测方法,其特征在于,应用于电子设备,所述电子设备包括显示引擎服务、SurfaceFlinger和噪声算法库,所述方法包括:响应于监听到第一信号,所述显示引擎服务计算当前时间与第一时间的第一差值,所述第一时间与所述电子设备的环境光传感器采集第一值的时间相关;在所述第一差值满足第一预设条件的情况下,所述显示引擎服务向所述SurfaceFlinger发送第一请求和向所述电子设备的环境光传感器驱动发送采集指令;所述采集指令用于指示所述环境光传感器驱动获得第二值,所述第二值为所述环境光传感器采集所述第一值之后采集的下一个环境光数据;所述第一请求用于指示所述SurfaceFlinger合成第一图像,所述第一图像与所述第二值中包含的噪声相关;所述噪声算法库基于所述第二值和所述第一图像,计算获得第三值。2.如权利要求1所述的方法,其特征在于,所述在所述第一差值满足第一预设条件的情况下,所述显示引擎服务向所述SurfaceFlinger发送第一请求和向所述电子设备的环境光传感器驱动发送采集指令,包括:在所述第一差值大于第一阈值的情况下,所述显示引擎服务向所述SurfaceFlinger发送所述第一请求和向所述环境光传感器驱动发送所述采集指令。3.如权利要求2所述的方法,其特征在于,所述在所述第一差值大于第一阈值的情况下,所述显示引擎服务向所述SurfaceFlinger发送所述第一请求和向所述环境光传感器驱动发送所述采集指令,包括:在所述第一差值大于所述第一阈值、且所述SurfaceFlinger监听到所述第一信号后不合成第二图像的情况下,所述显示引擎服务向所述SurfaceFlinger发送所述第一请求和向所述环境光传感器驱动发送所述采集指令,所述第二图像为用于在所述电子设备的显示屏显示的图像。4.如权利要求2或3所述的方法,其特征在于,所述在所述第一差值大于第一阈值的情况下,所述显示引擎服务向所述SurfaceFlinger发送所述第一请求和向所述环境光传感器驱动发送所述采集指令,包括:在所述第一差值大于所述第一阈值、且所述SurfaceFlinger监听到所述第一信号后合成第二图像的情况下,所述显示引擎服务确定所述SurfaceFlinger在监听到第二信号之前是否能够完成所述第一图像的合成任务,所述第二信号为所述第一信号的下一个Vsync信号,所述第二图像为用于在所述电子设备的显示屏显示的图像,在所述SurfaceFlinger监听到所述第一信号后合成第二图像的情况下,所述第一图像为所述第二图像的局部区域图像;若所述显示引擎服务确定所述SurfaceFlinger在监听到所述第二信号之前能够完成所述第一图像的合成任务,则所述显示引擎服务向所述SurfaceFlinger发送所述第一请求和向所述环境光传感器驱动发送所述采集指令。5.如权利要求4所述的方法,其特征在于,所述显示引擎服务确定所述SurfaceFlinger在监听到第二信号之前是否能够完成所述第一图像的合成任务之后,所述方法还包括:若所述显示引擎服务确定所述SurfaceFlinger在监听到所述第二信号之前不能完成所述第一图像的合成任务,则所述显示引擎服务监听所述第二信号。6.如权利要求3至5任一项所述的方法,其特征在于,所述第一差值小于或等于第二阈
值,所述第二阈值大于所述第一阈值。7.如权利要求1所述的方法,其特征在于,在所述第一差值满足第一预设条件的情况下,所述显示引擎服务向所述SurfaceFlinger发送第一请求和向所述电子设备的环境光传感器驱动发送采集指令,还包括:在所述第一差值大于第二阈值的情况下,所述显示引擎服务向所述SurfaceFlinger发送所述第一请求和向所述环境光传感器驱动发送所述采集指令。8.如权利要求1至7任一项所述的方法,其特征在于,在所述显示引擎服务计算当前时间与第一时间的第一差值之后,所述方法还包括:在所述第一差值不大于第一阈值的情况下,所述显示引擎服务监听第二信号,所述第二信号为所述第一信号的下一个Vsync信号。9.如权利要求3至6任一项所述的方法,其特征在于,所述方法还包括:响应于监听到所述第一信号,所述SurfaceFlinger判断是否合成所述第二图像;若所述SurfaceFlinger在监听到第三信号之后接收到第一信息,则所述SurfaceFlinger合成所述第二图像,所述第三信号为所述第一信号的前一个Vsync信号,所述第一信息包括用于合成所述第二图像的信息;若所述SurfaceFlinger在监听到所述第三信号之后未接收到所述第一信息,则所述SurfaceFlinger不合成所述第二图像。10.如权利要求9所述的方法,其特征在于,在所述SurfaceFlinger合成所述第二图像之后,所述方法还包括:所述SurfaceFlinger向所述显示引擎服务发送第一响应,所述第一响应用于表示所述SurfaceFlinger已经合成所述第二图像;相应的,所述显示引擎服务确定所述SurfaceFlinger在监听到第二信号之前是否能够完成所述第一图像的合成任务,包括:所述显示引擎服务接收所述第一响应,记录接收所述第一响应的第一时间;所述显示引擎服务确定监听到所述第二信号的第二时间;所述显示引擎服务计算所述第二时间和所述第一时间的差,得到第三时间;若所述第三时间大于第三阈值,则所述显示引擎服务确定所述SurfaceFlinger在监听到第二信号之前能够完成所述第一图像的合成任务;若所述第三时间不大于所述第三阈值,则所述显示引擎服务确定所述SurfaceFlinger在监听到所述第二信号之前不能完成所述第一图像的合成任务。11.如权利要求3至6任一项所述的方法,其特征在于,所述显示引擎服务确定所述SurfaceFlinger在监听到第二信号之前能够完成所述第一图像的合成任务包括:所述显示引擎服务确定所述SurfaceFlinger合成所述第二图像的第一时长;所述显示引擎服务计算Vsync信号的周期和所述第一时长的差值,得到第二时长;若所述第二时长大于第三阈值,则所述显示引擎服务确定所述SurfaceFlinger在监听到第二信号之前能够完成所述第一图像的合成任务;若所述第二时长不大于所述第三阈值,则所述显示引擎...

【专利技术属性】
技术研发人员:钟辉李登
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1