CN115597706B - 一种环境光的检测方法、电子设备及芯片系统 - Google Patents
一种环境光的检测方法、电子设备及芯片系统 Download PDFInfo
- Publication number
- CN115597706B CN115597706B CN202211110935.6A CN202211110935A CN115597706B CN 115597706 B CN115597706 B CN 115597706B CN 202211110935 A CN202211110935 A CN 202211110935A CN 115597706 B CN115597706 B CN 115597706B
- Authority
- CN
- China
- Prior art keywords
- noise
- value
- processor
- time
- target image
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 148
- 238000004422 calculation algorithm Methods 0.000 claims description 260
- 230000010354 integration Effects 0.000 claims description 106
- 230000008569 process Effects 0.000 claims description 65
- 238000004364 calculation method Methods 0.000 claims description 62
- 230000004044 response Effects 0.000 claims description 56
- 238000006243 chemical reaction Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 18
- 238000013500 data storage Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000000875 corresponding effect Effects 0.000 description 90
- 230000004927 fusion Effects 0.000 description 63
- 230000008859 change Effects 0.000 description 29
- 238000004891 communication Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 18
- 238000007726 management method Methods 0.000 description 15
- 238000010295 mobile communication Methods 0.000 description 12
- 230000005236 sound signal Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 239000011295 pitch Substances 0.000 description 8
- 230000000694 effects Effects 0.000 description 5
- 239000011521 glass Substances 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01J—MEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
- G01J1/00—Photometry, e.g. photographic exposure meter
- G01J1/42—Photometry, e.g. photographic exposure meter using electric radiation detectors
- G01J1/4204—Photometry, e.g. photographic exposure meter using electric radiation detectors with determination of ambient light
-
- G06T5/70—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Abstract
本申请实施例提供一种环境光的检测方法、电子设备及芯片系统,涉及环境光传感器技术领域,可以解决环境光的检测方式通用性差的问题。该方法应用于包括第一处理器、第二处理器、显示屏和位于显示屏下方的环境光传感器的电子设备,该检测方法包括:第一处理器获取目标图像,目标图像为显示在显示屏中位于环境光传感器上方区域的图像;第一处理器获取显示屏的亮度值;第二处理器获取环境光传感器采集的第一值;第二处理器向第一处理器发送第一值;第一处理器基于目标图像、亮度值和第一值,得到第二值。
Description
本申请是于2021年5月17日提交国家知识产权局、申请号为202110537594.X、申请名称为“一种环境光的检测方法、电子设备及芯片系统”的中国专利申请的分案申请。
技术领域
本申请实施例涉及环境光传感器领域,尤其涉及一种环境光的检测方法、电子设备及芯片系统。
背景技术
随着电子设备的发展,电子设备的显示屏的占比越来越高。为追求极致的屏占比,可以将电子设备上的环境光传感器设置在电子设备的OLED(Organic Light-EmittingDiode)屏下方。OLED屏本身会发光,这就导致置于OLED屏下方的环境光传感器采集的环境光中包含了OLED屏本身发出的光,导致基于环境光传感器采集的环境光不精确。
目前,为了精确的测量环境光,通常采用定制OLED屏搭配定制环境光传感器的方式。预先测量得到该定制OLED屏对该定制环境光传感器采集的环境光的干扰关系,并将该干扰关系固化在特定电子设备中,该特定电子设备设置有该定制OLED屏和该定制环境光传感器。在环境光传感器采集环境光后,基于固化在该特定电子设备中的干扰关系,得到精确的环境光。然而,这种检测环境光的方式只能在采用定制OLED屏搭配定制环境光传感器的电子设备中才能适用,导致这种环境光的检测方式的通用性较差。
发明内容
本申请实施例提供一种环境光的检测方法、电子设备及芯片系统,解决目前环境光的检测方式通用性较差的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供一种环境光的检测方法,应用于电子设备,所述电子设备包括第一处理器、第二处理器、显示屏和位于所述显示屏下方的环境光传感器;所述检测方法包括:所述第一处理器获取目标图像,所述目标图像为显示在所述显示屏中位于所述环境光传感器上方区域的图像;所述第一处理器获取所述显示屏的亮度值;所述第二处理器获取所述环境光传感器采集的第一值;所述第二处理器向所述第一处理器发送所述第一值;所述第一处理器基于所述目标图像、所述亮度值和所述第一值,得到第二值。
在本申请实施例中,通过分析屏下环境光的结构可以获得:对环境光传感器采集的环境光存在干扰的因素包括环境光传感器的感光区的正上方以及环境光传感器的感光区周围一定区域的正上方的显示区域的显示内容。该显示内容又分为两部分:目标图像的RGB像素信息和亮度信息。因此本申请实施例可以通过所述第一处理器获取目标图像和亮度值。第二处理器可以获取环境光传感器采集的第一值。本申请实施例将第一值中目标图像和亮度值造成的干扰去除,获得的第二值为真实的环境光。因此,能够获得精确的目标环境光,且通用性较强。
在第一方面的一种可能的实现方式中,所述第一处理器获取目标图像之前,包括:
所述第一处理器通过所述电子设备的显示子系统获取第一图像;
所述第一处理器通过所述显示子系统将所述第一图像上包含所述目标图像的第二图像存储在所述电子设备的回写内存中;
所述第一处理器通过所述电子设备的HWC模块从所述回写内存中获取所述目标图像。
本申请实施例通过显示子系统将第一图像上包含所述目标图像的第二图像存储在所述电子设备的回写内存中,然后通过HWC获取目标图像。这种获得目标图像的方式功耗较低。
在第一方面的一种可能的实现方式中,所述第二图像为:所述第一图像,或,所述目标图像,或,大于所述目标图像的范围且小于所述第一图像的范围的图像。
在第一方面的一种可能的实现方式中,所述第一处理器通过所述显示子系统将所述第一图像上包含所述目标图像的第二图像成功存储在所述电子设备的回写内存中之后,还包括:
所述第一处理器通过所述显示子系统向所述HWC模块发送图像存储成功的信息;
相应的,所述第一处理器通过所述电子设备的HWC模块从所述回写内存中获取所述目标图像包括:
响应于接收到所述图像存储成功的信息,所述HWC模块从所述回写内存中获取所述目标图像;
所述方法还包括:所述第一处理器通过所述HWC模块获取所述目标图像的时间戳,所述目标图像的时间戳为所述HWC模块执行从所述回写内存中获取所述目标图像的开始时刻。
在第一方面的一种可能的实现方式中,所述方法还包括:
所述第一处理器通过所述HWC模块向所述电子设备的噪声算法库发送所述目标图像和所述目标图像的时间戳;
响应于接收到所述目标图像和所述目标图像的时间戳,所述噪声算法库存储所述目标图像和所述目标图像的时间戳至数据存储库。
在第一方面的一种可能的实现方式中,响应于接收所述目标图像和所述目标图像的时间戳,所述第一处理器通过所述噪声算法库获取所述显示屏的亮度值具体为:所述第一处理器通过所述噪声算法库获取存储在数据存储库的亮度值中的第一亮度值,所述第一亮度值为在所述目标图像的时间戳表示的时刻之前最新存储的亮度值;
相应的,所述第一处理器通过所述噪声算法库基于所述目标图像和所述第一亮度值获得图像噪声;
所述第一处理器通过所述噪声算法库存储所述图像噪声和所述图像噪声的时间戳至所述电子设备的噪声存储器中,所述图像噪声的时间戳和所述目标图像的时间戳相同。
在第一方面的一种可能的实现方式中,所述第二处理器向所述第一处理器发送所述第一值,第一时间和第二时间,所述第一时间和所述第二时间均与所述第一值相关;
所述第二处理器向所述第一处理器发送所述第一值,第一时间和第二时间,具体为:
所述第二处理器向所述HWC模块发送所述第一值,第一时间和第二时间;
响应于接收所述第一值,第一时间和第二时间,所述HWC模块向所述噪声算法库发送所述第一值,第一时间和第二时间;
相应的,所述第一处理器基于所述目标图像、所述亮度值和所述第一值,得到第二值,包括:响应于接收所述第一值,第一时间和第二时间,所述噪声算法库基于所述噪声存储器中存储的数据、所述第一值、第一时间和第二时间,得到第二值,所述噪声存储器中存储的数据为第一噪声,所述第一噪声包括所述图像噪声,所述图像噪声的时间戳在第一时间和第二时间之间。
在本申请实施例中,第一处理器将根据目标图像和亮度值计算获得图像噪声和背光噪声的过程设置在AP处理器中的噪声算法库。将根据图像噪声、背光噪声和环境光传感器采集的第一值计算获得真实环境光(第二值)的过程也放在噪声算法库。在实施过程中,第一处理器和第二处理器之间的核间通信传输的为第一值、第一时间和第二时间,传输数据量小,功耗较小。
在第一方面的一种可能的实现方式中,所述第一处理器获取所述显示屏的亮度值之后,所述第一处理器获取目标图像;
相应的,所述第一处理器获取所述显示屏的亮度值包括:
所述第一处理器通过所述电子设备的HWC模块监听所述电子设备的内核节点中存储的显示屏的亮度值是否发生变化;
响应于监听到所述内核节点中存储的显示屏的亮度值发生变化,所述HWC模块从所述内核节点中获取所述显示屏的亮度值;
所述第一处理器通过所述HWC模块获取所述显示屏的亮度值对应的时间戳,所述显示屏的亮度值对应的时间戳为所述HWC模块执行从所述内核节点中获取所述显示屏的亮度值的开始时刻。
在第一方面的一种可能的实现方式中,所述第一处理器获取所述显示屏的亮度值之后,还包括:
所述第一处理器通过所述HWC模块向所述电子设备的噪声算法库发送所述显示屏的亮度值以及所述显示屏的亮度值的时间戳;
响应于接收到所述显示屏的亮度值和所述显示屏的亮度值的时间戳,所述噪声算法库存储所述显示屏的亮度和所述显示屏的亮度的时间戳至数据存储库。
在第一方面的一种可能的实现方式中,响应于接收到所述显示屏的亮度值和所述显示屏的亮度值的时间戳,所述噪声算法库获取所述目标图像具体为:所述噪声算法库获取存储在数据存储库的目标图像中的第一目标图像,所述第一目标图像为所述显示屏的亮度值的时间戳表示的时刻之前最新存储的目标图像;
相应的,所述第一处理器通过所述噪声算法库基于所述显示屏的亮度值和所述第一目标图像获得背光噪声;
所述第一处理器通过所述噪声算法库存储所述背光噪声和所述背光噪声的时间戳至所述电子设备的噪声存储器,其中,所述背光噪声的时间戳和所述亮度值的时间戳相同。
在第一方面的一种可能的实现方式中,所述第二处理器向所述第一处理器发送所述第一值,第一时间和第二时间,所述第一时间和所述第二时间均与所述第一值相关;
所述第二处理器向所述第一处理器发送所述第一值,第一时间和第二时间,具体为:
所述第二处理器向所述HWC模块发送所述第一值,第一时间和第二时间;
响应于接收所述第一值,第一时间和第二时间,所述HWC模块向所述噪声算法库发送所述第一值,第一时间和第二时间;
相应的,所述第一处理器基于所述目标图像、所述亮度值和所述第一值,得到第二值,包括:
响应于接收所述第一值,第一时间和第二时间,所述噪声算法库基于所述噪声存储器中存储的数据、所述第一值、第一时间和第二时间,得到第二值,所述噪声存储器中存储的数据为第一噪声,所述第一噪声包括所述背光噪声,所述背光噪声的时间戳在所述第一时间和所述第二时间之间。
在第一方面的一种可能的实现方式中,所述第一处理器通过所述电子设备的显示子系统获取第一图像;
所述第一处理器通过所述显示子系统将所述第一图像上包含所述目标图像的第二图像存储在所述电子设备的回写内存中;
所述第一处理器通过所述电子设备的HWC模块从所述回写内存中获取所述目标图像;
所述第一处理器通过所述HWC模块获取所述目标图像的时间戳,所述目标图像的时间戳为所述HWC模块执行从所述回写内存中获取所述目标图像的开始时刻;
所述第一处理器通过所述HWC模块向所述电子设备的噪声算法库发送所述目标图像和所述目标图像的时间戳,所述目标图像的时间戳为所述HWC模块执行从所述回写内存中获取所述目标图像的开始时刻;
响应于接收到所述目标图像和所述目标图像的时间戳,所述噪声算法库存储所述目标图像和所述目标图像的时间戳至数据存储库;
所述第一处理器通过所述噪声算法库基于所述目标图像和所述目标图像对应的亮度值获得图像噪声,其中,所述目标图像对应的亮度值为:存储在数据存储库中、在所述目标图像的时间戳表示的时刻之前最新时刻的亮度值;
所述第一处理器通过所述噪声算法库存储所述图像噪声和所述图像噪声的时间戳至所述电子设备的噪声存储器中,所述图像噪声的时间戳和所述目标图像的时间戳相同;
所述第一处理器通过所述HWC模块监听所述电子设备的内核节点中存储的显示屏的亮度值是否发生变化;
响应于监听到所述内核节点中存储的显示屏的亮度值发生变化,所述HWC模块从所述内核节点中获取所述显示屏的亮度值;
所述第一处理器通过所述HWC模块获取所述显示屏的亮度值的时间戳,所述显示屏的亮度值的时间戳为所述HWC模块执行从所述内核节点中获取所述显示屏的亮度值的开始时刻;
所述第一处理器通过所述HWC模块向所述噪声算法库发送所述显示屏的亮度值以及所述显示屏的亮度值的时间戳;
响应于接收到所述显示屏的亮度值和所述显示屏的亮度值的时间戳,所述噪声算法库存储所述显示屏的亮度和所述显示屏的亮度的时间戳至数据存储库;
所述第一处理器通过所述噪声算法库根据所述显示屏的亮度值和所述显示屏的亮度值对应的目标图像获得背光噪声,其中,所述显示屏的亮度值对应的目标图像为:存储在数据存储中、在所述显示屏的亮度值的时间戳表示的时刻之前最新的目标图像;
所述第一处理器通过所述噪声算法库存储所述背光噪声和所述背光噪声的时间戳至所述电子设备的噪声存储器,所述背光噪声的有时间戳和所述亮度值的时间戳相同;其中,所述目标图像和所述显示屏的亮度值为所述第一处理器通过所述噪声算法库接收到的相邻的两个屏幕数据,若所述目标图像的时间戳在所述显示屏的亮度值的时间戳之前,则所述显示屏的亮度值对应的目标图像为所述目标图像;
若所述目标图像的时间戳在所述显示屏的亮度值的时间戳之后,则所述目标图像对应的亮度值为所述显示屏的亮度值;
若所述目标图像的时间戳和所述显示屏的亮度值的时间戳相同、且所述第一处理器通过所述噪声算法库先接收到所述目标图像,则所述显示屏的亮度值对应的目标图像为所述目标图像;
若所述目标图像的时间戳和所述显示屏的亮度值的时间戳相同、且所述第一处理器通过所述噪声算法库先接收到所述显示屏的亮度值,则所述目标图像对应的亮度值为所述显示屏的亮度值。
在第一方面的一种可能的实现方式中,所述第二处理器向所述第一处理器发送所述第一值,第一时间和第二时间,所述第一时间和所述第二时间均与所述第一值相关;
所述第二处理器向所述第一处理器发送所述第一值,第一时间和第二时间,具体为:
所述第二处理器向所述HWC模块发送所述第一值,第一时间和第二时间;
响应于接收所述第一值,第一时间和第二时间,所述HWC模块向所述噪声算法库发送所述第一值,第一时间和第二时间;
相应的,所述第一处理器基于所述目标图像、所述亮度值和所述第一值,得到第二值,包括:
响应于接收所述第一值,第一时间和第二时间,所述噪声算法库基于所述噪声存储器中存储的数据,所述第一值,第一时间和第二时间,得到第二值,所述噪声存储器中存储的数据为第一噪声,所述第一噪声包括所述图像噪声和所述背光噪声,所述图像噪声的时间戳在第一时间和第二时间之间,所述背光噪声的时间戳在第一时间和第二时间之间。
在第一方面的一种可能的实现方式中,所述噪声算法库基于所述噪声存储器中存储的数据、所述第一值、第一时间和第二时间,获得所述第二值,包括:
步骤A1,所述第一处理器通过所述噪声算法库从所述噪声存储器的出口位置取出第一噪声,所述第一处理器通过所述噪声算法库更新所述噪声存储器的出口位置或所述出口位置的第一噪声;
步骤B1、若当前取出的第一噪声对应的时间戳在所述第一时间或第一时间之前,则所述第一处理器通过噪声算法库继续执行步骤A1,直到当前取出的第一噪声在第一时间之后;
步骤B2、若当前取出的第一噪声在所述第一时间之后,则所述第一处理器通过所述噪声算法库执行以下步骤:
步骤C1,若当前取出的第一噪声的时间戳首次在所述第一时间之后,并且在所述第二时间之前,则根据上一次取出的第一噪声计算获得所述第一时间至当前取出的第一噪声的时间戳对应的时刻之间的积分噪声,并继续从步骤A1开始执行;
步骤C2,若当前取出的第一噪声的时间戳首次在所述第一时间之后,并且在所述第二时间或第二时间之后,则根据上一次取出的第一噪声计算获得所述第一时间至第二时间之间的积分噪声,并继续执行步骤D1;
步骤C3,若当前取出的第一噪声的时间戳不是首次在所述第一时间之后,并且在所述第二时间之前,则根据上一次取出的第一噪声计算获得所述上一次取出的第一噪声的时间戳对应的时刻至当前取出的第一噪声的时间戳对应的时刻之间的积分噪声;并继续从步骤A1开始执行;
步骤C4,若当前取出的第一噪声的时间戳不是首次在所述第一时间之后,并且在所述第二时间或第二时间之后,则根据上一次取出的第一噪声计算上一次取出的第一噪声的时间戳对应的时刻至第二时间之间的积分噪声,并继续执行步骤D1;
步骤D1,根据所述第一时间至所述第二时间之间的积分噪声和所述第一值,获得第二值。
在第一方面的一种可能的实现方式中,所述第一处理器通过所述噪声算法库更新所述噪声存储器的出口位置或所述出口位置的第一噪声包括:
所述第一处理器通过所述噪声算法库将所述噪声存储器的出口位置移到当前取出的第一噪声的下一个第一噪声的位置;
或,
所述第一处理器通过所述噪声算法库将所述噪声存储器中存储的第一噪声向出口方向移动一个位置。
在第一方面的一种可能的实现方式中,所述第一处理器基于所述目标图像、所述亮度值和所述第一值,第一时间和第二时间,得到第二值之后,还包括:
所述第一处理器向所述第二处理器发送所述第二值;
所述第二处理器接收到所述第二值后,所述第二处理器基于所述第二值计算第三值,其中,所述第二值为raw值,所述第三值为lux值;
所述第二处理器向所述第一处理器发送所述第三值;
所述第一处理器基于所述第三值调节所述显示屏的亮度。
在第一方面的一种可能的实现方式中,所述第二处理器接收到所述第二值后,所述第二处理器根据所述第二值计算第三值,包括:
响应于接收到所述第二值,所述第二处理器将所述第二值存储在所述电子设备的环境光存储器;
所述第二处理器通过所述环境光传感器采集第四值,并在采集到的第四值时产生积分中断信号,所述第四值为所述环境光传感器在所述第二值对应的采集周期之后的一个采集周期采集到的环境光;
所述第二处理器通过所述环境光传感器向所述电子设备的环境光传感器驱动发送所述第四值和所述积分中断信号;
响应于接收到积分中断信号,所述第二处理器通过所述电子设备的环境光传感器驱动调用所述电子设备的计算模块;所述第二处理器通过所述计算模块获取所述环境光存储器中存储的第二值,并根据所述第二值计算所述第三值;
相应的,所述第二处理器通过所述环境光传感器向所述第一处理器发送所述第四值。
在第一方面的一种可能的实现方式中,所述第一处理器通过所述噪声算法库基于所述显示屏的亮度值和所述显示屏亮度值对应的目标图像获得背光噪声包括:
所述第一处理器通过噪声算法库根据所述显示屏的亮度值计算获得亮度换算值;
若所述第一处理器通过所述噪声算法库接收到所述显示屏的亮度值之前接收到的屏幕数据中最近的一次屏幕数据为所述目标图像,则所述第一处理器通过所述噪声算法库根据所述亮度换算值和所述目标图像获得背光噪声;
若所述第一处理器通过所述噪声算法库接收到所述显示屏的亮度值之前接收到的屏幕数据中最近的一次屏幕数据为显示屏的亮度值;
所述第一处理器通过所述噪声算法库获取所述亮度换算值与上一次计算背光噪声采用的亮度换算值是否相等;
若所述亮度换算值和上一次计算背光噪声时的亮度换算值不相等,则所述第一处理器通过所述噪声算法库根据所述亮度换算值和所述目标图像获得背光噪声。
在第一方面的一种可能的实现方式中,所述第一处理器通过所述噪声算法库根据所述显示屏的亮度值和所述显示屏的亮度值对应的目标图像获得背光噪声,包括:
若所述第一处理器通过所述噪声算法库接收到所述显示屏的亮度值之前接收到的屏幕数据中最近的一次屏幕数据为目标图像,则所述第一处理器通过所述噪声算法库根据所述显示屏的亮度值和所述显示屏的亮度值对应的目标图像获得背光噪声,所述屏幕数据包括目标图像和亮度值;
若所述第一处理器通过所述噪声算法库接收到所述显示屏的亮度值之前接收到的屏幕数据中最近的一次屏幕数据不为目标图像,则所述第一处理器通过所述噪声算法库获取所述显示屏亮度值所在的亮度范围的亮度变化间距,其中,在所述亮度范围的亮度变化区间中的显示屏亮度值在同一目标图像下的背光噪声相等;
若所述显示屏的亮度值和上一次计算背光噪声时的显示屏的亮度值之间的差值大于所述亮度变化间距,则所述第一处理器通过所述噪声算法库根据所述显示屏的亮度值和所述显示屏的亮度值对应的目标图像获得背光噪声。
若所述显示屏的亮度值和上一次计算背光噪声时的显示屏的亮度值之间的差值小于或等于所述亮度变化间距,则所述第一处理器通过所述噪声算法库丢弃所述显示屏的亮度值。
在第一方面的一种可能的实现方式中,所述第一处理器通过所述噪声算法库存储所述背光噪声至噪声存储器之前,还包括:
若所述第一处理器通过所述噪声算法库接收到所述背光噪声对应的亮度值之前接收到的屏幕数据中最近的一次屏幕数据为目标图像,则所述第一处理器通过所述噪声算法库存储所述背光噪声至噪声存储器,所述屏幕数据包括目标图像和亮度值;
若所述第一处理器通过所述噪声算法库接收到所述背光噪声对应的亮度值之前接收到的屏幕数据中最近的一次屏幕数据不为目标图像,所述第一处理器通过所述噪声算法库判断所述背光噪声和上一次存储的背光噪声是否大于差值阈值;
若所述背光噪声和所述上一次存储的背光噪声的差值小于所述差值阈值,则所述第一处理器通过所述噪声算法库丢弃所述背光噪声;
若所述背光噪声和所述上一次存储的背光噪声的差值大于或等于所述差值阈值,则所述第一处理器通过所述噪声算法库存储所述背光噪声至噪声存储器。
在第一方面的一种可能的实现方式中,所述第一处理器通过所述噪声算法库获取所述亮度换算值与上一次计算背光噪声采用的亮度换算值是否相等之后,还包括:
若所述亮度换算值和上一次计算背光噪声时的亮度换算值相等,则所述第一处理器通过所述噪声算法库丢弃所述亮度换算值。
在第一方面的一种可能的实现方式中,所述方法还包括:
所述电子设备通过显示屏显示所述第一图像。
第二方面,本申请实施例提供一种环境光的检测方法,应用于电子设备,所述电子设备包括第一处理器,第二处理器,显示屏和位于所述显示屏下方的环境光传感器;所述检测方法包括:所述第一处理器获取目标图像,所述目标图像为显示在所述显示屏中位于所述环境光传感器上方区域的图像;所述第一处理器获取所述显示屏的亮度值;所述第一处理接收所述第二处理器发送的第一值,所述第一值由所述环境光传感器采集得到;所述第一处理器基于所述目标图像、所述亮度值和所述第一值,得到第二值。
在第二方面的一种可能的实现方式中,所述第一处理器获取目标图像之前,包括:
所述第一处理器通过所述电子设备的显示子系统获取第一图像;
所述第一处理器通过所述显示子系统将所述第一图像上包含所述目标图像的第二图像存储在所述电子设备的回写内存中;
所述第一处理器通过所述电子设备的HWC模块从所述回写内存中获取所述目标图像。
在第二方面的一种可能的实现方式中,所述第二图像为:所述第一图像,或,所述目标图像,或,大于所述目标图像的范围且小于所述第一图像的范围的图像。
在第二方面的一种可能的实现方式中,所述第一处理器通过所述显示子系统将所述第一图像上包含所述目标图像的第二图像成功存储在所述电子设备的回写内存中之后,还包括:
所述第一处理器通过所述显示子系统向所述HWC模块发送图像存储成功的信息;
相应的,所述第一处理器通过所述电子设备的HWC模块从所述回写内存中获取所述目标图像包括:
响应于接收到所述图像存储成功的信息,所述HWC模块从所述回写内存中获取所述目标图像;
所述方法还包括:所述第一处理器通过所述HWC模块获取所述目标图像的时间戳,所述目标图像的时间戳为所述HWC模块执行从所述回写内存中获取所述目标图像的开始时刻。
在第二方面的一种可能的实现方式中,所述方法还包括:
所述第一处理器通过所述HWC模块向所述电子设备的噪声算法库发送所述目标图像和所述目标图像的时间戳;
响应于接收到所述目标图像和所述目标图像的时间戳,所述噪声算法库存储所述目标图像和所述目标图像的时间戳至数据存储库。
在第二方面的一种可能的实现方式中,响应于接收所述目标图像和所述目标图像的时间戳,所述第一处理器通过所述噪声算法库获取所述显示屏的亮度值具体为:所述第一处理器通过所述噪声算法库获取存储在数据存储库的亮度值中的第一亮度值,所述第一亮度值为在所述目标图像的时间戳表示的时刻之前最新存储的亮度值;
相应的,所述第一处理器通过所述噪声算法库基于所述目标图像和所述第一亮度值获得图像噪声;
所述第一处理器通过所述噪声算法库存储所述图像噪声和所述图像噪声的时间戳至所述电子设备的噪声存储器中,所述图像噪声的时间戳和所述目标图像的时间戳相同。
在第二方面的一种可能的实现方式中,所述第一处理接收所述第二处理器发送的所述第一值,第一时间和第二时间;
所述第一处理接收所述第二处理器发送的所述第一值,第一时间和第二时间,具体为:
所述第一处理器通过所述HWC模块接收所述第二处理器发送的所述第一值,第一时间和第二时间;
响应于接收所述第二处理器发送的所述第一值,第一时间和第二时间,所述HWC模块向所述噪声算法库发送所述第一值,第一时间和第二时间;
相应的,所述第一处理器基于所述目标图像、所述亮度值和所述第一值,得到第二值,包括:响应于接收所述第一值,第一时间和第二时间,所述噪声算法库基于所述噪声存储器中存储的数据、所述第一值、第一时间和第二时间,得到第二值,所述噪声存储器中存储的数据为第一噪声,所述第一噪声包括所述图像噪声,所述图像噪声的时间戳在第一时间和第二时间之间。
在第二方面的一种可能的实现方式中,所述第一处理器获取所述显示屏的亮度值之后,所述第一处理器获取目标图像;
相应的,所述第一处理器获取所述显示屏的亮度值包括:
所述第一处理器通过所述电子设备的HWC模块监听所述电子设备的内核节点中存储的显示屏的亮度值是否发生变化;
响应于监听到所述内核节点中存储的显示屏的亮度值发生变化,所述HWC模块从所述内核节点中获取所述显示屏的亮度值;
所述第一处理器通过所述HWC模块获取所述显示屏的亮度值的时间戳,所述显示屏的亮度值对应的时间戳为所述HWC模块执行从所述内核节点中获取所述显示屏的亮度值的开始时刻。
在第二方面的一种可能的实现方式中,所述第一处理器获取所述显示屏的亮度值之后,还包括:
所述第一处理器通过所述HWC模块向所述电子设备的噪声算法库发送所述显示屏的亮度值以及所述显示屏的亮度值的时间戳;
响应于接收到所述显示屏的亮度值和所述显示屏的亮度值的时间戳,所述噪声算法库存储所述显示屏的亮度和所述显示屏的亮度的时间戳至数据存储库。
在第二方面的一种可能的实现方式中,响应于接收到所述显示屏的亮度值和所述显示屏的亮度值的时间戳,所述噪声算法库获取所述目标图像具体为:所述噪声算法库获取存储在数据存储库的目标图像中的第一目标图像,所述第一目标图像为所述显示屏的亮度值的时间戳表示的时刻之前最新存储的目标图像;
相应的,所述第一处理器通过所述噪声算法库基于所述显示屏的亮度值和所述第一目标图像获得背光噪声;
所述第一处理器通过所述噪声算法库存储所述背光噪声和所述背光噪声的时间戳至所述电子设备的噪声存储器,其中,所述背光噪声的时间戳和所述亮度值的时间戳相同。
在第二方面的一种可能的实现方式中,所述检测方法包括:
所述第一处理器通过所述电子设备的显示子系统获取第一图像,所述第一处理器通过所述显示子系统将所述第一图像上包含所述目标图像的第二图像存储在所述电子设备的回写内存中;
所述第一处理器通过所述电子设备的HWC模块从所述回写内存中获取所述目标图像;
所述第一处理器通过所述HWC模块获取所述目标图像的时间戳,所述目标图像的时间戳为所述HWC模块执行从所述回写内存中获取所述目标图像的开始时刻;
所述第一处理器通过所述HWC模块向所述电子设备的噪声算法库发送所述目标图像和所述目标图像的时间戳,所述目标图像的时间戳为所述HWC模块执行从所述回写内存中获取所述目标图像的开始时刻;
响应于接收到所述目标图像和所述目标图像的时间戳,所述噪声算法库存储所述目标图像和所述目标图像的时间戳至数据存储库;
所述第一处理器通过所述噪声算法库基于所述目标图像和所述目标图像对应的亮度值获得图像噪声,其中,所述目标图像对应的亮度值为:存储在数据存储库中、在所述目标图像的时间戳表示的时刻之前最新时刻的亮度值;
所述第一处理器通过所述噪声算法库存储所述图像噪声和所述图像噪声的时间戳至所述电子设备的噪声存储器中,所述图像噪声的时间戳和所述目标图像的时间戳相同;
所述第一处理器通过所述HWC模块监听所述电子设备的内核节点中存储的显示屏的亮度值是否发生变化;
响应于监听到所述内核节点中存储的显示屏的亮度值发生变化,所述HWC模块从所述内核节点中获取所述显示屏的亮度值;
所述第一处理器通过所述HWC模块获取所述显示屏的亮度值的时间戳,所述显示屏的亮度值的时间戳为所述HWC模块执行从所述内核节点中获取所述显示屏的亮度值的开始时刻;
所述第一处理器通过所述HWC模块向所述噪声算法库发送所述显示屏的亮度值以及所述显示屏的亮度值的时间戳;
响应于接收到所述显示屏的亮度值和所述显示屏的亮度值的时间戳,所述噪声算法库存储所述显示屏的亮度和所述显示屏的亮度的时间戳至数据存储库;
所述第一处理器通过所述噪声算法库根据所述显示屏的亮度值和所述显示屏的亮度值对应的目标图像获得背光噪声,其中,所述显示屏的亮度值对应的目标图像为:存储在数据存储中、在所述显示屏的亮度值的时间戳表示的时刻之前最新的目标图像;
所述第一处理器通过所述噪声算法库存储所述背光噪声和所述背光噪声的时间戳至所述电子设备的噪声存储器,所述背光噪声的有时间戳和所述亮度值的时间戳相同。
在第二方面的一种可能的实现方式中,所述第一处理器基于所述目标图像、所述亮度值和所述第一值,得到第二值之后,还包括:
所述第一处理器向所述第二处理器发送所述第二值,所述第二值用于指示所述第二处理器根据所述第二值计算获得第三值后向所述第一处理器发送所述第三值,其中,所述第二值为raw值,所述第三值为lux值;
所述第一处理器接收所述第三值,并基于所述第三值调节所述显示屏的亮度。
第三方面,本申请实施例提供一种环境光的检测方法,应用于电子设备,所述电子设备包括第一处理器,第二处理器,显示屏和位于所述显示屏下方的环境光传感器;所述检测方法包括:所述第二处理器获取所述环境光传感器采集的第一值;所述第二处理器向所述第一处理器发送所述第一值,所述第一值用于指示所述第一处理器基于所述第一值获得第二值后向所述第二处理器发送所述第二值;所述第二处理器接收所述第二值;所述第二处理器基于第二值计算获得第三值,其中,所述第二值为raw值,所述第三值为lux值。
在第三方面的一种可能的实现方式中,所述第二处理器通过所述电子设备的环境光传感器应用接收所述第二值;
所述第二处理器基于第二值计算获得第三值包括:响应于接收到所述第二值,所述第二处理器将所述第二值存储在所述电子设备的环境光存储器;
所述第二处理器通过所述环境光传感器采集第四值,并在采集到的第四值时产生积分中断信号,所述第四值为所述环境光传感器在所述第二值对应的采集周期之后的一个采集周期采集到的环境光;
所述第二处理器通过所述环境光传感器向所述电子设备的环境光传感器驱动发送所述第四值和所述积分中断信号;
响应于接收到积分中断信号,所述第二处理器通过所述电子设备的环境光传感器驱动调用所述电子设备的计算模块;
所述第二处理器通过所述计算模块获取所述环境光存储器中存储的第二值,并根据所述第二值计算所述第三值;
相应的,所述第二处理器通过所述环境光传感器向所述第一处理器发送所述第四值。
第四方面,提供一种电子设备,包括处理器,处理器用于运行存储器中存储的计算机程序,实现本申请第一方面任一项的方法。
第五方面,提供一种芯片系统,包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请第二方面任一项的方法。
第六方面,提供一种芯片系统,包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请第三方面任一项的方法。
第七方面,提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被一个或多个处理器执行时实现本申请第二方面任一项或第三方面任一项的方法。
第八方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在设备上运行时,使得设备执行本申请第一方面任一项的方法。
可以理解的是,上述第二方面至第八方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的一种电子设备的硬件结构示意图;
图2为本申请实施例提供的电子设备中环境光传感器和显示屏的一种位置关系图;
图3为本申请实施例提供的电子设备中环境光传感器和显示屏的另一种位置关系图;
图4为本申请实施例提供的电子设备中环境光传感器和显示屏的另一种位置关系图;
图5为本申请实施例提供的显示屏上目标区域的位置关系图;
图6为本申请实施例提供的显示屏上环境光传感器和目标区域的一种位置关系图;
图7为本申请实施例提供的环境光的检测方法依赖的一种技术架构图;
图8为本申请实施例提供的环境光传感器采集环境光的采集周期示意图;
图9为图8所示实施例中一个采集周期内进行图像刷新和背光调节的各时间节点示意图;
图10为基于图7所示技术架构实现的环境光的检测方法的一种时序流程图;
图11为图10所示实施例中本申请实施例提供的AP处理器中的各个模块之间的时序流程图;
图12为本申请实施例提供的环境光的检测方法依赖的另一种技术架构图;
图13为基于图12所示技术架构实现的环境光的检测方法的另一种时序流程图;
图14为基于图9所示实施例提供的各时间节点的图像噪声和背光噪声计算积分噪声的示意图;
图15为本申请实施例提供的一个采集周期内的时间轴向上进行图像刷新和背光调节的各时间节点示意图;
图16为基于图15所示实施例提供的各时间节点的图像噪声和背光噪声计算积分噪声的示意图;
图17为本申请实施例提供的电子设备的示意性框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”、“第四”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的一种环境光的检测方法可以适用于设有OLED屏的电子设备中。电子设备可以为平板电脑、可穿戴设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)等电子设备。本申请实施例对电子设备的具体类型不作限定。
图1示出了一种电子设备的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,触摸传感器180K,环境光传感器180L等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,处理器110用于执行本申请实施例中的环境光的检测方法。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(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)接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序。存储数据区可存储电子设备100使用过程中所创建的数据。
此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。
在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(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技术等。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信号转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了监听语音信息,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。例如,麦克风170C可以用于采集本申请实施例涉及到的语音信息。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。
在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用有机发光二极管(organic light-emitting diode,OLED)。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
本申请实施例并未特别限定一种环境光的检测方法的执行主体的具体结构,只要可以通过运行记录有本申请实施例的一种环境光的检测方法的程序,以根据本申请实施例提供的一种环境光的检测方法进行处理即可。例如,本申请实施例提供的一种环境光的检测方法的执行主体可以是电子设备中能够调用程序并执行程序的功能模块,或者为应用于电子设备中的通信装置,例如,芯片。
图2为本申请实施例提供的电子设备中显示屏和环境光传感器的正面位置关系图。
如图2所示,环境光传感器在电子设备的显示屏上的投影位于电子设备的显示屏的上半部分。当用户手持电子设备时,位于电子设备上半部分的环境光传感器能够检测电子设备正面(显示屏在电子设备中的朝向)环境的光强和色温,该光强和色温用于调节电子设备的显示屏的亮度和色温,这样就可以达到较好的视觉效果。例如,在暗环境中显示屏不会太亮导致刺眼,在亮环境中显示屏不会太暗导致看不清。
如图3所示,为电子设备中显示屏和环境光传感器的侧面位置关系图。电子设备的显示屏自上而下包括:玻璃盖板(透光)、显示模组和保护贴膜,其中,此处的上和下均用于表示电子设备的显示屏向上放置时的方位关系。由于环境光传感器需要采集电子设备的显示屏的上方的环境光,因此,可以将显示屏中的显示模组挖去一部分,该部分放置环境光传感器,相当于环境光传感器置于显示屏中的玻璃盖板的下方,和显示模组位于同一层。需要说明,环境光传感器的探测方向和显示屏在电子设备中的朝向(图3中显示屏在电子设备中的朝向为上方)一致。显然,这种环境光传感器的设置方式牺牲了一部分显示区域。在追求高屏占比时,这种环境光传感器的设置方式将不再适用。
如图4所示,为本申请实施例提供的另一种环境光传感器的设置方式。将环境光传感器从玻璃盖板的下方转移到显示模组的下方。环境光传感器位于OLED屏显示模组中的操作(Active area,AA)区的下方,而AA区为显示模组中可显示图像内容的区域。这种环境光传感器的设置方式不会牺牲显示区域。然而,OLED屏是自发光的显示屏,OLED屏显示图像时,用户从显示屏上方可以看到图像,同样,位于OLED屏下方的环境光传感器也能采集到的OLED屏显示的图像对应的光。因此,环境光传感器采集到的环境光包括显示屏发出的光和外界真实的环境光。若要精确的获得外界真实的环境光,除了要获得环境光传感器采集的环境光,还需要获得显示屏发出的光。
通过图4可以理解,由于环境光传感器位于AA区的下方,因此,环境光传感器的设置不会牺牲显示模组中的AA区。所以,环境光传感器在显示屏上的投影可以位于显示屏的正面任意区域,而并非局限于以下设置:环境光传感器在显示屏上的投影位于显示屏的正面顶部的位置。
无论环境光传感器位于AA区下方的哪个区域,环境光传感器在显示屏上的投影面积相比于显示屏本身的面积要小的多。因此,并不是整个显示屏发出的光均会对环境光传感器采集的环境光造成干扰。而是显示屏中环境光传感器上方的显示区域发出的光以及环境光传感器周围一定范围的上方的显示区域发出的光才会对环境光传感器采集的环境光造成干扰。
作为示例,环境光传感器的感光区存在感光角度,环境光传感器可以接收到在感光角度内的光线,接收不到在感光角度外的光线。图5中位于环境光传感器上方的A点发出的光(位于感光角度内)和位于环境光传感器周围一定范围的上方的B点发出的光(位于感光角度内)均会对环境光传感器采集的环境光造成干扰。而图5中距离环境光传感器较远的C点发出的光(位于感光角度外)则不会对环境光传感器采集的环境光造成干扰。为了便于描述,可以将显示屏中对环境光传感器采集的环境光造成干扰的显示区域记为目标区域。目标区域在显示屏中的位置由环境光传感器在AA区下方的具体位置确定。作为示例,目标区域可以是以环境光传感器的中心点为中心,边长为一定长度(例如,80微米、90微米、100微米)的正方形区域。当然,该目标区域还可以是通过测量获得的对环境光传感器采集的光造成干扰的其他形状的区域。
作为另一示例,图6为本申请实施例提供的电子设备的OLED屏的正面示意图,如图6所示,电子设备包括外壳,电子设备的OLED屏显示界面,该显示界面在显示屏中对应的区域为AA区,环境光传感器位于AA区的后方。目标区域的中心点和环境光传感器的中心点重合。
需要说明,环境光传感器作为一个器件,厂商不同,外观的形状可能也不同。本申请实施例中的环境光传感器的中心点为环境光传感器采集环境光的感光区的中心点。另外,图6所示的目标区域大于环境光传感器在所述OLED屏上的投影区域。实际应用中。目标区域也可能小于或等于环境光传感器在所述OLED屏上的投影区域。然而,目标区域通常大于环境光传感器的感光区。如前所述,外界真实的环境光等于环境光传感器采集的环境光减去显示屏发出的光。而显示屏发出的光已经确定为目标区域发出的光。目标区域的发出的光是目标区域的显示内容产生的光。而显示内容对环境光传感器采集的环境光的干扰来自两部分:显示图像的RGB像素信息和显示图像的亮度。通过上述分析可以理解,对环境光传感器采集的环境光的干扰分别为:目标区域显示的图像的RGB像素信息和目标区域的亮度信息。作为示例,若像素点的像素值为(r,g,b),亮度为L,则该像素点的归一化亮度为:L×(r/255)2.2,L×(g/255)2.2,L×(b/255)2.2。
为了便于描述,可以将目标区域对应的图像记为目标图像,可以将目标图像的RGB像素信息和亮度信息一起对环境光传感器采集的环境光的干扰记为融合噪声。环境光传感器采集的环境光可以记为初始环境光,外界真实的环境光可以记为目标环境光。
通过上述描述可以得到:目标环境光等于初始环境光减去采集初始环境光的时间段中的每个时刻的融合噪声。本申请实施例将根据RGB像素信息和亮度信息一起计算融合噪声的过程记为噪声融合过程。
显示屏在显示状态时,目标区域显示的图像的RGB像素信息可能会变化,显示的图像的亮度信息也可能会变化。无论目标区域显示的图像的RGB像素信息发生变化,还是显示的图像的亮度信息发生变化,可能都会导致融合噪声发生变化。因此,均需要根据变化后的信息(RGB像素信息或亮度信息)计算此后的融合噪声。若目标区域的图像长时间不变,则只需要在显示屏亮度发生变化时,计算融合噪声。因此,为了降低计算融合噪声的频率,目标区域可以是显示屏显示的图像变化频率较低的区域。例如,电子设备正面顶部的状态栏区域。环境光传感器在显示屏上的投影位于显示屏的状态栏区域中偏右的位置。当然,也可以在状态栏区域中偏左的位置,或者在状态栏区域中中间的位置,本申请实施例对环境光传感器的具体位置不作限制。
下面将通过图7描述本申请实施例提供的通过初始环境光、显示屏显示的内容获得目标环境光的方法对应的技术架构。
如图7所示,电子设备中的处理器为多核处理器,该多核处理器至少包括:AP(application processor)处理器和SCP(sensor coprocessor)处理器。其中,AP处理器为电子设备中的应用处理器,操作系统、用户界面和应用程序都在AP处理器上运行。SCP处理器为协处理器,可以协助AP处理器进行与图像、传感器(例如,环境光传感器)等相关的事项。
图7中仅示出了AP处理器和SCP处理器。实际应用中,多核处理器还可以包括其他处理器。例如,电子设备为手机时,多核处理器还可以包括运行手机射频通讯控制软件、负责发送和接收数据的基带(baseband,BP)处理器。
图7中的AP处理器仅示出了与本申请实施例相关的内容,本申请实施例的实施需要依赖AP处理器中的:应用层(Application)、java框架层(Framework Java)、原生框架层(Framework native)、硬件抽象层(Hardware Abstraction Layer,HAL)、内核层(kernel)和硬件层(hardware)。
图7中的SCP处理器可以理解为一种传感器控制中心(sensor hub),可以对传感器进行控制,还可以将传感器的相关数据进行处理。本申请实施例的实施需要依赖SCP处理器中的:协应用层(Hub APK)、协框架层(Hub FWK)、协驱动层(Hub DRV)、协硬件层(Hubhardware)。
AP处理器的应用层存在各种应用,图7中示出了应用A和应用B。以应用A为例,用户在启动应用A之后,显示屏将显示应用A的界面。具体的,应用A将应用A待显示的界面的显示参数(例如,待显示的界面的内存地址、颜色等)发送给显示引擎服务。
AP处理器中的显示引擎服务将接收到的待显示的界面的显示参数发送给AP处理器原生框架层(Framework native)的SurfaceFlinger。
AP处理器的原生框架层(Framework native)中的SurfaceFlinger负责控制界面(surface)的融合。作为示例,计算重叠的至少两个界面的重叠区域。这里的界面可能是状态栏、系统栏、应用本身(应用A待显示的界面)、壁纸、背景等呈现的界面。因此,SurfaceFlinger不仅可以获取到应用A待显示的界面的显示参数,还可以得到其他界面的显示参数。
AP处理器的硬件抽象层存在HWC(Hardware composer HAL),HWC为系统中进行界面合成和显示的模块,为surfaceFlinger服务提供硬件支持。步骤A1为SurfaceFlinger通过接口(例如,setLayerBuffer、setLayerColor、)将各个界面的显示参数(例如,内存地址、颜色等)发送给HWC进行界面融合。
通常,图像的合成(例如,电子设备显示图像时,需要将状态栏、系统栏、应用本身和壁纸背景合成)中,HWC通过HWC底层的硬件(例如,硬件合成器)根据各个界面的显示参数获得合成后图像。AP处理器的硬件抽象层中的HWC将底层的硬件合成后的图像发送至OLED驱动,参见步骤A2。
AP处理器的内核层的OLED驱动将合成后的图像给到AP处理器的硬件层的显示子系统(display subsystem,DSS),参见步骤A3。AP处理器的硬件层中的显示子系统(DSS)可以对合成后的图像进行二次处理(例如,用于增强画质的HDR10处理等),二次处理后就可以将二次处理后的图像送显。实际应用中,也可以不进行二次处理。以不进行二次处理为例,AP处理器硬件层的显示子系统将合成后的图像送到OLED屏进行显示。
若以应用A的启动为例,OLED屏显示的合成后的图像为应用A待显示的界面和状态栏对应的界面合成后的界面。
按照上述方式OLED屏可以完成一次图像刷新和显示。
本申请实施例可以控制显示子系统(DSS)在将二次处理后的图像(或合成后的图像)送显示之前,将整帧图像(也可以是整帧图像中大于目标区域的图像,还可以是整帧图像中目标区域对应的图像)存储在AP处理器的内核层的内存中,由于该过程属于并发的回写图像帧数据,因此可以将该内存记为回写(Concurrent Write Back,CWB)内存,参见步骤A4。
本申请实施例以显示子系统将整帧图像存储在AP处理器的CWB内存为例,显示子系统成功将整帧图像存储在CWB内存中之后,显示子系统可以发送存储成功的信号至HWC。显示子系统存储在CWB内存中的图像对应的整帧图像可以记为待刷新的图像(待刷新的图像也可以理解为本次刷新后的图像),显示子系统存储在CWB内存中的图像对应的整帧图像也可以记为第一图像。
AP处理器中还可以设置允许HWC访问CWB内存。HWC可以在接收到显示子系统发送的存储成功的信号后,从CWB内存获得目标图像,参见步骤A5。
需要说明,无论CWB内存中存储是整帧图像,还是整帧图像中的部分区域的图像,HWC均可以从CWB内存中获得目标图像。可以将HWC从CWB内存获得目标图像的过程记为HWC从CWB内存抠图。
为了便与描述,也可以将显示子系统存储在CWB内存中的图像记为第二图像。如前所述,第二图像可以是第一图像,也可以是目标图像,还可以是介于目标图像的范围和第一图像的范围之间的图像。目标图像的范围可以理解为目标图像的长和宽限定的范围大小,第一图像的范围为整帧图像的范围,也可以采用长和宽限定范围大小。
作为示例,第一图像的尺寸为X1(个像素点)×Y1(个像素点),目标图像的尺寸的为X2(个像素点)×Y2(个像素点),第二图像的尺寸的为X3(个像素点)×Y3(个像素点)。X3满足X1≥X3≥X2,且,Y3满足Y1≥Y3≥Y2。
当然,X3=X1且Y3=Y1时,第二图像为第一图像。X3=X2且Y3=Y2时,第二图像为目标图像。
继续以应用A为例,应用A由于切换界面导致有亮度调节需求时,应用A将待调节的亮度发送给显示引擎服务。
AP处理器中的显示引擎服务将待调节的亮度发送到AP处理器内核层中的内核节点中,以备相关硬件根据内核节点中存储的待调节的亮度调节OLED屏的亮度。
按照上述方式,OLED屏可以完成一次亮度调节。
本申请实施例还可以设置HWC能够从内核节点获取待调节的亮度,待调节的亮度也可以记为本次调节后的亮度,具体参见步骤A5’。
在具体实现时,HWC可以基于uevent机制监听内核节点存储的数据是否发生变化,在监听到内核节点中的数据变化后,从内核节点获取当前存储的数据,即待调节的亮度值(该待调节的亮度值用于调节显示屏的亮度,因此,也可以记为显示屏的亮度值)。HWC获得目标图像或待调节的亮度信息后,可以将目标图像或待调节的亮度信息发送到AP处理器的硬件抽象层的噪声算法库。参见步骤A6。噪声算法库可以在每次获得目标图像后,计算获得该目标图像刷新时刻的融合噪声。在每次获得亮度后,计算获得该亮度调节时刻的融合噪声。噪声算法库将计算获得的融合噪声存储在噪声算法库的噪声存储器中。
在实际应用中,HWC获取目标图像后,HWC可以存储该目标图像,HWC可以将该目标图像的存储地址发送至噪声算法库,该噪声算法库可以以记录地址的方式缓存最新时刻的一帧目标图像。HWC在获取待调节的亮度后,HWC可以将待调节的亮度发送至噪声算法库,该噪声算法库可以缓存最新时刻的一个亮度。为了便于描述,本申请后续实施例均以HWC向噪声算法库发送目标图像进行描述,在实际应用中,可以表示HWC获得目标图像后存储,将目标图像的存储地址发送至噪声算法库。
作为示例,噪声算法库接收到的第一帧目标图像的存储地址后,缓存第一帧目标图像的存储地址。后续每接收到一个新的目标图像的存储地址,该新的目标图像的存储地址作为缓存的最新的目标图像的存储地址。相应的,噪声算法库在接收到的第一个亮度后,缓存第一个亮度,后续每接收到一个新的亮度,新的亮度作为缓存的最新的亮度。本申请实施例中噪声算法库缓存获取到的目标图像和亮度值至数据存储库中。数据存储库中存储的目标图像和亮度值均可以记为屏幕数据,即数据存储库中存储的屏幕数据包括:目标图像和亮度值。
另外,为了描述目标图像、待调节的亮度等参数之间的传递关系,本申请实施例以HWC向噪声算法库发送目标图像、待调节的亮度等参数为例进行描述。实际应用中,HWC和噪声算法库之间的关系为HWC调用噪声算法库。在HWC调用噪声算法库时,HWC将目标图像(目标图像的存储地址)、待调节的亮度等参数作为噪声算法库中的计算模型的自变量输入给噪声算法库。其他参数将不再一一举例。
由于亮度调节和图像刷新是两个完全独立的过程,可能在某个时刻图像进行了刷新,而亮度保持不变,则计算此时刻的融合噪声时采用刷新后的图像和当前的亮度(噪声算法库中缓存的最新时刻的亮度)。为了便于描述,可以将由于图像刷新计算的图像刷新时刻的融合噪声记为图像刷新时刻的图像噪声。同理,若在某个时刻图像未进行刷新,而亮度进行了调节,则计算此时刻的融合噪声时采用调节后的亮度和当前的目标图像(噪声算法库中缓存的最新时刻的目标图像)。为了便于描述,可以将由于亮度调节计算的亮度调节时刻的融合噪声记为亮度调节时刻的背光噪声。
HWC发送给噪声算法库的目标图像和亮度均带有时间戳,相应的,噪声算法库计算获得的图像噪声和背光噪声也均带有时间戳。所述图像噪声的时间戳和所述目标图像的时间戳相同,所述背光噪声和所述待调节的亮度的时间戳相同。图像噪声的时间戳严格意义上应该是图像刷新时刻。实际应用中,也可以采用与图像刷新时刻接近的其他时间节点作为图像刷新时刻,例如采用HWC执行从CWB内存中抠图获得目标图像的开始时刻(或结束时刻,或者开始时刻至结束时刻中间的任一时刻)作为图像刷新时刻。背光噪声的时间戳严格意义上应该是背光调节时刻。实际应用中,也可以采用与背光调节时刻接近的其他时间节点作为背光调节时刻,例如,HWC执行从内核节点获取待调节的亮度的开始时刻(或者结束时刻,或者开始时刻至结束时刻中间的任一时刻)作为亮度调节时刻。图像噪声的时间戳和背光噪声的时间戳便于后续和环境光传感器采集的初始环境光在时间跨度上进行去噪获得目标环境光。所述噪声算法库会将图像噪声和背光噪声存储在噪声存储器中,噪声算法库存储图像噪声时也会存储图像噪声的时间戳,噪声算法库存储背光噪声时也会存储背光噪声的时间戳。
在SCP处理器的协硬件层中的环境光传感器(ALS)在启动后以一定的采集周期采集初始环境光。SCP处理器的环境光传感器将初始环境光信息传输至SCP处理器的协驱动层(Hub DRV)层的环境光传感器驱动(ALS DRV)中,参见步骤E2。
SCP处理器向AP处理器传输的初始环境光信息包括第一值、第一时间和第二时间、其中,第一值可以理解为初始环境光的raw值,第一时间为环境光传感器采集所述第一值的积分开始时间,第二时间为环境光传感器采集所述第一值的积分结束时间。
在SCP处理器的协驱动(Hub DRV)层,环境光传感器驱动(ALS DRV)对初始环境光信息进行预处理,得到RGBC四通道上的raw值。SCP处理器的协驱动层将RGBC四通道上的raw值传输至SCP处理器的协应用层的环境光传感器应用,参见步骤E3。
SCP处理器的协应用层的环境光传感器将RGBC四通道上的raw值以及其他相关数据(例如,环境光传感器每次采集初始环境光的开始时间和结束时间)通过第一核间通信(SCP处理器的环境光传感器应用和AP处理器的HWC之间的通信)发送至AP处理器的HWC中,参见步骤E4。
AP处理器中的HWC获取SCP处理器上报的初始环境光的数据之后,AP处理器中的HWC可以将初始环境光的数据发送到噪声算法库。参见步骤A6。
如前所述,噪声算法库可以计算获得图像刷新时刻的图像噪声和亮度调节时刻的背光噪声,并将计算获得的图像噪声和背光噪声存储在噪声算法库中的噪声存储器中。实际应用中,噪声算法库不仅可以计算获得图像刷新时刻的图像噪声和亮度调节时刻的背光噪声。还可以在获得初始环境光的采集开始时间和采集结束时间之后,根据噪声存储器中存储的图像噪声和背光噪声获得初始环境光的采集开始时间至采集结束时间之间的积分噪声。噪声算法库从初始环境光中扣除初始环境光的采集开始时间至采集结束时间之间的积分噪声就可以得到目标环境光。
通过上述噪声算法库的描述可以理解,噪声计算库包含了多种计算模型,例如,第一算法模型,用于根据目标图像和亮度计算获得融合噪声。第二算法模型,用于根据各个时刻的融合噪声获得初始环境光的采集开始时间至采集结束时间之间的积分噪声。第三算法模型,用于根据初始环境光和积分噪声获得目标环境光。实际应用中,噪声算法库还可以包括其他计算模型,例如,在基于目标图像、亮度、初始环境光获得目标环境光的过程中,若对初始环境光的四通道上的raw值进行滤波,则存在对初始环境光的四通道上的raw值进行滤波的模型,本申请实施例对其他模型不再一一举例。
噪声算法库的输入包括:HWC在各个时刻获取的目标图像和亮度,HWC从SCP处理器获取的初始环境光的相关数据。噪声算法库的输出为:目标环境光的raw值,该目标环境光的raw值可以记为第二值。本申请实施例将HWC向噪声算法库发送目标图像、亮度和初始环境光的过程均记为步骤A6。
噪声计算库获得目标环境光后还需要将目标数据返回至HWC,该过程记为步骤A7。实际应用中,噪声算法库的输出为目标环境光的四通道上的raw值。
AP处理器中的HWC将噪声算法库返回的目标环境光的四通道上的raw值通过第一核间通信发送给SCP处理器的协应用层中的环境光传感器应用,参见步骤A8。
SCP处理器的协驱动层的环境光传感器应用在获得目标环境光四通道上的raw值之后,将目标环境光四通道上的raw值存储在协驱动层的环境光存储器中。参见步骤E5。
SCP处理器的协驱动层设有计算模块,该计算模型从存储器获得目标环境光四通道上的raw值,参见步骤E6。环境光传感器在每次积分结束时,产生积分中断信号,环境光传感器将积分中断信号发送至环境光传感器驱动,环境光传感器驱动调用计算模块,触发计算模型从存储器获得目标环境光四通道上的raw值。
由于环境光传感器驱动在本次积分结束后才会触发计算模块获取目标环境光的raw值,所以,此时获取的为上一个积分周期的目标环境光的raw值。
以图8所示实施例为例,在t1时刻积分结束后,环境光传感器获得t0时刻至t1时刻的初始环境光,SCP处理器将t0时刻至t1时刻的初始环境光发送至AP处理器,AP处理器经过计算获得t0时刻至t1时刻的目标环境光的raw值。AP处理器将t0时刻至t1时刻的目标环境光的raw值发送至SCP处理器。SCP处理器会存储t0时刻至t1时刻的目标环境光的raw值至SCP处理器的存储器中。
在t3时刻积分结束后,环境光传感器获得t2时刻至t3时刻的初始环境光,SCP处理器将t2时刻至t3时刻的初始环境光发送至AP处理器。每次环境光传感器积分结束后会产生积分中断信号,环境光传感器将积分中断信号发送至环境光传感器驱动,环境光传感器驱动调用计算模块,触发计算模型从存储器获得当前存储的t0时刻至t1时刻的目标环境光的raw值。由于此时为t3时刻之后,因此,计算模块在t3时刻之后根据获得的t0时刻至t1时刻的目标环境光的raw值计算获得目标环境光的lux值。即SCP处理器在T2周期内计算获得的目标环境光的lux值为T1周期内的真实环境光的lux值。
如前所述,SCP处理器中的环境光传感器会在积分结束(t3时刻)后产生积分中断信号(该积分中断信号给到环境光传感器驱动),并在t3时刻之后将T2周期的初始环境光发送至AP处理器,在AP处理器计算获得目标环境光后才会将目标环境光发送至SCP处理器,SCP处理器会将T2周期的目标环境光存储在存储器中。若SCP处理器采用T2周期的目标环境光的raw值计算获得lux值,则需要从环境光传感器驱动接收到积分中断信号开始,就开始等待,一直等到AP处理器传送目标环境光至SCP处理器的存储器中。SCP处理器中的环境光传感器驱动才能调用计算模块,从存储器获取T2周期的目标环境光的raw值。等到的时间至少包括:SCP处理器向AP处理器发送初始环境光的过程,AP处理器基于初始环境光以及其他相关数据计算获得目标环境光的过程和AP处理器向SCP处理器发送目标环境光至SCP处理器中的存储器的过程分别对应的时间决定,而这个时间相对比较长且不固定。因此,可以设置SCP处理器中的环境光传感器驱动在接收到第二个采集周器的积分中断信号后,调用计算模块从存储器取出上一个周期的目标环境光的raw值,从而根据上一周期的目标环境光的raw值计算lux值。其中,目标环境光的lux值可以记为第三值,第三值和第二值为同一目标环境光的lux值和raw值。
以图8所示采集周期为例,若采集周期T1采集的初始环境光的raw值为第一值。则根据采集周期T1采集的初始环境光的raw值得到的采集周期T1对应的目标环境光的raw值为第二值。根据采集周期T1对应的目标环境光的raw值得到的采集周期T1对应的目标环境光的lux值为第三值。在采集周期T2采集的初始环境光的raw值可以记为第四值。第四值为第一值对应的采集周期(也可以是第二值对应的采集周期,还可以是第三值对应的采集周期)之后的一个采集周期采集到的初始环境光。
SCP处理器的协驱动层中的计算模块根据目标环境光四通道上的raw值获得目标环境光的lux值。SCP处理器中的计算模块将计算获得的目标环境光的lux值通过协框架层的接口发送至协应用层的环境光传感器应用,参见步骤E7和E8。
SCP处理器中协应用层的环境光传感器应用通过第二核间通信(SCP处理器至AP处理器的光服务的通信)将目标环境光的lux值传输至AP处理器中原生框架层的光服务(lightservice)中,参见步骤E9。
光服务(lightservice)可以将目标环境光的lux值发送至显示引擎服务。显示引擎服务可以将目标环境光的lux值向上层发送,以便于应用层中的应用确定是否调节亮度。显示引擎服务还可以将目标环境光的lux值发送至内核节点,以备相关硬件根据内核节点存储的目标环境光的lux值调节显示屏的亮度。
在描述获得目标环境光的方法依赖的技术架构后,将从环境光传感器的采集周期的角度描述根据目标图像、亮度和环境光传感器采集的初始环境光得到目标环境光的过程。
通过上述示例可以理解,目标图像和待调节的亮度均由HWC获取,因此,HWC获取目标图像和获取待调节的亮度的过程存在先后顺序。HWC获取到目标图像或待调节的亮度后,会将目标图像或待调节的亮度给到噪声算法库,HWC发送目标图像或待调节的亮度至噪声算法库的过程也存在先后顺序。相应的,所述噪声算法库接收到所述目标图像和待调节的亮度的时间也存在先后顺序。然而,即使噪声算法库接收到所述目标图像和待调节的亮度的时间也存在先后顺序,由于HWC获取目标图像和待调节的亮度时可能处于同一时间度量级别内,因此,目标图像和待调节的亮度的时间戳可能相同。作为示例,在同一毫秒(第5毫秒)内,HWC先执行获取待调节的亮度,再执行获取目标图像。虽然,HWC执行时存在先后顺序,然而,目标图像和待调节的亮度的时间戳均为第5毫秒。
参见图8,环境光传感器采集环境光是以一定的时间周期T采集的,环境光传感器从t0到t2(采集周期T1)、从t2到t4(采集周期T2)、从t4到t6(采集周期T3)均为一个采集周期。在T1这个采集周期内,环境光传感器真正进行采集的时间为从t0到t1,从t1到t2这个时间段环境光传感器可以处于休眠状态。本申请实施例以环境光的采集周期固(即T1、T2和T3的值相同)定、积分时间段的时长固定为例进行描述。
作为示例,可以以350ms(t2-t0)作为一个采集周期。在一个采集周期内,环境光传感器真正进行采集的时间为50ms(t1-t0),那么在一个采集周期内,环境光传感器将有300ms(t2-t1)处于休眠状态。上述示例中的350ms、50ms和300ms仅用于举例,并不用于限定。
为了便于描述,可以将环境光传感器真正采集的时间段(例如,t0到t1)记为积分时间段,将环境传感器未启动采集的时间段(例如,t1到t2)记为非积分时间段。
电子设备的显示屏显示的图像是以一定频率进行刷新的。以60Hz为例,相当于每秒钟电子设备的显示屏刷新60次,或者每间隔16.7ms刷新一次图像。所以在电子设备的显示屏显示图像时,环境光传感器的采集周期内会出现图像刷新。当显示屏显示的图像进行刷新时,AP处理器执行图7所示的技术架构中的步骤A1至步骤A6(发送目标图像)。AP处理器中的HWC从t0时刻开始,控制CWB一直回写,即只要存在图像刷新,就一直重复执行上述步骤。
需要说明,本申请实施例以60Hz的刷新率为例。实际应用中,还可以是120Hz的刷新率或者是其他的刷新率。本申请实施例以每刷新一帧就需要重复执行上述步骤A1至步骤A6(发送目标图像)为例,实际应用中,还可以每间隔一帧(或者两帧等)重复执行上述步骤A1至步骤A6(发送目标图像)。
而亮度调节并未存在固定的周期性,所以,在环境光传感器的采集周期内也可能出现亮度调节。当亮度调节时,HWC同样执行图7所示的技术架构中的步骤A5’至步骤A6(发送待调节的亮度)。
环境光传感器每次积分结束后(即在t1之后,t3之后,t5之后……),由SCP处理器上报本次积分过程采集的初始环境光的数据(例如,初始环境光的四通道上的raw值和本次积分过程的积分开始时刻和积分结束时刻)给AP处理器的HWC,AP处理器的HWC将初始环境光的相关数据发送至噪声算法库,通过噪声算法库计算获得目标环境光。
参见图9,以一个采集周期作为示例,在t01时刻(和t0时刻为同一时刻)、t03时刻、t04时刻和t11时刻均为图像刷新时刻,在t02时刻和t12时刻为亮度调节时刻。因此,AP处理器可以实时计算获得t01时刻的图像噪声、t02时刻的背光噪声、t03时刻的图像噪声、t04时刻的图像噪声、t11时刻的图像噪声和t12时刻的背光噪声。在本次积分结束(t1时刻)后,AP处理器的噪声存储器中存储了:t01时刻的图像噪声、t02时刻的背光噪声、t03时刻的图像噪声和t04时刻的图像噪声。
在本次积分结束(t1时刻)后,环境光传感器获得本次积分的初始环境光以及本次积分时间段。SCP处理器将初始环境光的数据上报给AP处理器,AP处理器中的噪声计算模块根据本次积分时间段的开始时间和结束时间从噪声存储器中获得t01时刻的图像噪声、t02时刻的背光噪声、t03时刻的图像噪声、t04时刻的图像噪声。噪声计算库根据积分时间段采集的初始环境光和影响本次积分时间段的图像噪声和背光噪声计算获得目标环境光。
在非积分时间段内(t1到t2),由于HWC一直控制CWB回写,所以,HWC对t11时刻的刷新图像也进行了抠图获得了目标图像,噪声算法库也计算了t11时刻的图像噪声。非积分时间段t12时刻亮度发生变化,噪声算法库也计算了t12时刻的背光噪声。然而,计算获得目标环境光时,需要的融合噪声是对本次积分时间段获得的初始环境光造成干扰的融合噪声,因此,不需要t11时刻的图像噪声和t12时刻的背光噪声也可以获得本次积分时间段的目标环境光。
上述示例分别基于图7从技术架构的角度、基于图9从环境光传感器的采集周期的角度描述获取目标环境光的过程。下面将结合图7所示的技术架构和图9所示的环境光传感器的一个采集周期描述图10所示实施例提供的获取目标环境光的时序过程图。
通过上述描述可以理解,图像刷新触发AP处理器计算图像噪声过程、亮度调节触发AP处理器计算背光噪声的过程、SCP处理器控制底层硬件环境光传感器采集初始环境光的过程是独立进行的,不存在时序上的先后顺序。AP处理器的噪声计算库将上述三个独立进行的过程获得的目标图像、亮度和初始环境光进行处理得到目标环境光。
图10所示实施例中的步骤标号和图7所示技术架构中的步骤标号相同的表示进行的是相同的步骤。为了避免重复描述,在图7所示实施例中详细描述的内容在图10所示实施例中将简略描述。
结合图9,从t0时刻开始,图像进行刷新。同时,环境光传感器进入一个积分时间段,开始采集初始环境光。
相应的,在图10中,步骤E1、SCP处理器的协硬件层中的环境光传感器进入一个积分时间段,从t0(t01)时刻开始采集初始环境光。
步骤A1,图像t0(t01)时刻进行刷新,AP处理器的原生框架层中的SurfaceFlinger向AP处理器的硬件抽象层中的HWC发送界面的显示参数。HWC可以将接收到的SurfaceFlinger发送的各层界面的显示参数发送到HWC底层的硬件,由HWC底层的硬件根据各层界面的显示参数获得各层界面合成的图像。HWC底层的硬件将合成的图像返回给HWC。
步骤A2,AP处理器的硬件抽象层中的HWC将将合成的图像发送给AP处理器内核层中的OLED驱动。步骤A3,AP处理器的内核层中的OLED驱动将合成后的图像发送给AP处理器的硬件层的显示子系统。
步骤A4,AP处理器的硬件层中的显示子系统将送显前的图像存储在AP处理器内核层中的CWB内存中。
在本申请实施例中,HWC在将合成后的图像发送给OLED驱动之后,HWC将等待显示子系统发送的存储成功的信号。
显示子系统将送显前的图像成功存储在CWB内存后,将向HWC发送存储成功的信号。HWC在接收到显示子系统存储成功的信号后,从内核层中的CWB内存存储的送显前的图像中抠图获得目标图像。
步骤A5,AP处理器的硬件抽象层中的HWC从内核层中的CWB内存存储的送显前的图像中抠图获得目标图像。
步骤A6,AP处理器的硬件抽象层中的HWC获得目标图像后,将目标图像发送至本层的噪声算法库,噪声算法库接收到目标图像后,根据目标图像和缓存的当前的亮度信息计算t01时刻的图像噪声。步骤A1至步骤A6的执行过程中,SCP处理器的协硬件层中的环境光传感器一直处于一个采集周期内的积分过程。
结合图9,在t02时刻,环境光传感器仍然处于该积分时间段,正在采集初始环境光。在t02时刻,显示屏的亮度发生变化,触发执行图10中的步骤B1。
在图10中,步骤B1(图7所示架构中的步骤A5’),AP处理器的硬件抽象层的HWC从AP处理器的内核层中的内核节点获取t02时刻的亮度信息。
步骤B2(步骤A6),AP处理器的硬件抽象层的HWC将t02时刻的亮度信息发送到噪声算法库,噪声算法库根据t02时刻的亮度信息和缓存的当前显示的目标图像计算获得t02时刻的背光噪声。
步骤B1至步骤B2的执行过程中,SCP处理器的协硬件层中的环境光传感器一直处于一个采集周期内的积分过程。
在步骤B2之后,噪声算法库的噪声存储器中存储了t01时刻的图像噪声和t02时刻的背光噪声。
结合图9,在t03时刻,环境光传感器仍然处于该积分时间段,正在采集初始环境光。在t03时刻,图像进行一次刷新。
在图10中,由于图像进行了刷新,则继续执行步骤C1至步骤C6,步骤C1至C6可参照A1至A6中的描述,在此不再赘述。
步骤C1至步骤C6的执行过程中,SCP处理器的协硬件层中的环境光传感器仍然处于一个采集周期内的积分过程。
在步骤C6之后,噪声算法库的噪声存储器中存储了t01时刻的图像噪声、t02时刻的背光噪声和t03时刻的图像噪声。
参见图9,在t04时刻,环境光传感器仍然处于该积分时间段,正在采集初始环境光。在t04时刻,图像进行一次刷新。
在图10中,由于图像进行了刷新,则继续执行步骤D1至步骤D6,步骤D1至D6可参照A1至A6中的描述,在此不再赘述。
步骤D1至步骤D6的执行过程中,SCP处理器的协硬件层中的环境光传感器仍然处于一个采集周期内的积分过程。
在步骤D6之后,噪声算法库的噪声存储器中存储了t01时刻的图像噪声、t02时刻的背光噪声、t03时刻的图像噪声和t04时刻的图像噪声。
结合图9,在t1时刻,环境光传感器本次积分结束,在环境光传感器积分结束(t1时刻)后,环境光传感器获得初始环境光,在图10中,SCP处理器开始执行步骤E2、步骤E3、步骤E4,将初始环境光的相关数据(RGBC四通道上的raw值、积分开始时刻、积分结束时刻)发送至AP处理器的硬件抽象层的HWC中。
结合图9,在非积分时间段,图像也可能刷新(例如,t11时刻图像刷新),亮度也可能发生变化(例如,t12时刻亮度发生变化)。因此,在非积分时间段,图10中仍然存在步骤F1至步骤F6(图10中的步骤F1至步骤F5省略,具体可参照步骤A1至步骤A5),使得t11时刻的图像噪声存储在噪声算法库的噪声存储器中。在非积分时间段,仍然存在步骤G1至步骤G2(图9中的步骤G1省略,具体可参照步骤B1),使得t12时刻的背光噪声存储在噪声算法库的噪声存储器中。
步骤A6’,AP处理器的硬件抽象层中的HWC将初始环境光的数据发送至噪声算法库。噪声算法库根据初始环境光的数据和对初始环境光存在干扰的图像噪声和背光噪声计算获得目标环境光。
通过图10可以理解,环境光传感器的积分开始时间和积分结束时间由环境光传感器对应的时钟控制;AP处理器计算图像噪声的过程由图像刷新的时钟控制;AP处理器计算背光噪声的过程由背光调节的时间控制。因此,步骤A1(或者,步骤C1、步骤D1、步骤F1)的执行均由图像刷新触发。步骤B1(或者步骤G1)的执行由亮度调节触发。环境光传感器的积分开始时间和积分结束时间完全按照预先设置好的采集周期以及每次积分时长进行。因此,步骤E2的执行均由环境光传感器积分结束这一事件触发。
从触发事件的角度,这三个过程是完全独立。然而,这三个过程分别获得的结果(图像噪声、背光噪声和初始环境光)又通过环境光传感器积分时间段结束后的去噪过程关联起来。去噪过程中融合的初始环境光为环境光传感器当前采集周期采集到的初始环境光,去噪过程中去除的图像噪声和背光噪声为能够对当前采集周期采集到的初始环境光造成干扰的图像噪声和背光噪声。
本申请实施例通过分析屏下环境光的结构可以获得:对环境光传感器采集的环境光存在干扰的因素包括环境光传感器的感光区的正上方以及环境光传感器的感光区周围一定区域的正上方的显示区域的显示内容。该显示内容又分为两部分:显示图像的RGB像素信息和亮度信息。因此,本申请实施例中的噪声计算库根据目标图像的RGB像素信息和亮度信息融合获得融合噪声。然后,根据融合噪声获得初始环境光的积分时间段的积分噪声。通过从环境光传感器积分时间段获得的初始环境光中去除对该初始环境光造成干扰的积分噪声,获得目标环境光。由于将干扰部分去除,因此,能够获得精确的目标环境光,且通用性较强。
另外,由于电子设备的AP处理器可以获得目标图像和亮度信息,相应的,AP处理器获得图像噪声和背光噪声。SCP处理器可以获得初始环境光。因此,SCP处理器可以将将初始环境光发送到AP处理器,通过AP处理器对初始环境光和融合噪声进行处理获得目标环境光。避免了AP处理器频繁将目标图像(或图像噪声)和亮度信息(或背光噪声)向SCP处理器发送,核间通信太频繁功耗较大的问题。
再者,AP处理器中DSS可以将送显前的图像(显示屏本次刷新待显示的图像)存储在CWB内存中。AP处理器中的HWC从CWB内存中存储的送显前的图像中抠出目标图像,从而计算获得融合噪声,这种方式获得的融合噪声精确、且功耗较低。
还需要说明,由于在显示屏显示图像的情况下,才需要根据目标环境光调节显示屏的亮度。而在显示屏不显示任何图像的情况下,是不需要根据目标环境光调节显示屏的亮度的。因此,AP处理器还需要监测显示屏的亮灭屏事件。在亮屏时,执行本申请实施例提供的目标环境光的检测方法。在灭屏时,AP处理器可以不执行执行步骤A4至步骤A6。同理,SCP处理器可以在灭屏时也可以控制环境光传感器停止采集初始环境光,SCP处理器也可以不再执行步骤E2至步骤E5。
为了对AP处理器内部的执行具有更清晰的理解,描述AP处理器内部各个模块之间的时序图,该时序图以图10所示实施例中获得t01时刻的图像噪声、t02时刻的背光噪声为例进行描述。
图11所示实施例中,在刷新图像时,AP处理器中的各个模块执行以下步骤:
步骤1100,显示引擎服务从应用层中的应用中获得待显示的界面的显示参数后,显示引擎服务将待显示的界面的显示参数发送至SurfaceFlinger。
步骤1101,SurfaceFlinger从显示引擎服务获得应用A的待显示的界面的显示参数后,通过接口(例如,setLayerBuffer、setLayerColor、)将各个界面(应用A的待显示的界面、状态栏界面等)的显示参数(例如,内存地址、颜色等)发送给HWC。
步骤1102,HWC接收到各个界面的显示参数之后,通过HWC底层的硬件根据待显示界面的显示参数获得合成后图像。
步骤1103,HWC获得底层的硬件合成后的图像后,将合成后的图像发送至OLED驱动。
步骤1104,OLED驱动接收到HWC发送的合成后的图像后,将合成后的图像发送给显示子系统。
步骤1105,显示子系统接收到合成后的图像后,对合成后的图像进行二次处理,获得送显前的图像。
步骤1106,显示子系统将送显前的图像存储在CWB内存中。
需要说明,由于OLED屏需要刷新图像,因此,显示子系统还需要将送显前的图像送到显示屏进行显示。
在本申请实施例中,显示子系统将送显前的图像送到显示屏进行显示的步骤和显示子系统将送显前的图像存储在CWB内存的步骤是两个独立的步骤,并无严格意义上的先后顺序。
步骤1107,显示子系统将送显前的图像成功存储在CWB内存中之后,可以向HWC发送存储成功的信号。
步骤1108,HWC接收到存储成功的信号后,从CWB内存中存储的送显前的图像中抠图获得目标图像,所述HWC开始执行获得目标图像的时刻作为目标图像的时间戳。
步骤1109,HWC获取到目标图像以及时间戳后,将目标图像和时间戳发送给噪声算法库。
步骤1110,噪声算法库计算获得目标图像对应的刷新时刻的图像噪声(t01时刻的图像噪声)。该图像噪声的时间戳为所述得到所述图像噪声的目标图像的时间戳。噪声算法库存储所述图像噪声以及所述图像噪声的时间戳。
在亮度调节时,AP处理器中的各个子模块执行以下步骤:
步骤1111,显示引擎服务从应用层中的应用A中获得待调节的亮度后,显示引擎服务将待调节的亮度发送至内核节点。
步骤1112,HWC监听到内核节点中的数据发生变化后,从内核节点获取待调节的亮度。HWC执行从内核节点获取待调节的亮度的时刻为待调节的亮度的时间戳。
在实际应用中,HWC一直在监听内核节点是否发生了数据变化。
步骤1113,HWC向噪声算法库发送调节后的亮度和待调节的亮度的时间戳。
步骤1114,噪声算法库计算获得待调节的亮度的调节时刻的背光噪声(t02时刻的背光噪声)。该背光噪声的时间戳为所述得到所述背光噪声的待调节的亮度的时间戳。噪声算法库存储所述背光噪声以及所述背光噪声的时间戳。
在一个积分时间段结束之后,SCP处理器将积分时间段内采集的初始环境光发送给AP处理器中的HWC。
步骤1115,AP处理器的HWC接收到SCP处理器发送的初始环境光以及所述初始环境光的积分开始时间和积分结束时间。
步骤1116,HWC接收到SCP处理器发送的初始环境光后以及所述初始环境光的积分开始时间和积分结束时间后,将初始环境光以及所述初始环境光的积分开始时间和积分结束时间发送至噪声算法库。
步骤1117,噪声算法库根据图像噪声以及对应的时间戳、背光噪声以及对应的时间戳和初始环境光的积分开始时间和积分结束时间计算积分噪声。噪声算法库根据积分噪声和初始环境光计算获得背光噪声
本申请实施例重点描述了AP处理器内部获得目标环境光时各个模块之间的时序逻辑图。
上述实施例均以“AP处理器获取目标图像和亮度信息后,AP处理器计算融合噪声,SCP处理器获得初始环境光后,将初始环境光发送至AP处理器,由AP处理器对融合噪声进行处理获得初始环境光的积分时间段的积分噪声,再根据初始环境光和积分噪声获得目标环境光”为例。
实际应用中,AP处理器也可以获得目标图像和亮度信息之后,将目标图像和亮度信息发送至SCP处理器。SCP处理器融合目标图像和亮度信息以获得融合噪声、以及初始环境光的积分时间段的积分噪声,再根据融合噪声和初始环境光得到目标环境光。
实际应用中,AP处理器获取目标图像和亮度信息后,AP处理器计算融合噪声,并将计算获得的融合噪声发送至SCP处理器。SCP处理器根据接收到的融合噪声获得积分时间段的积分噪声,再根据积分时间段的积分噪声和环境光传感器采集的初始环境光获得目标环境光。
参见图12,为本申请实施例提供的“在AP处理器计算获得融合噪声;在SCP处理器计算积分噪声,并根据积分噪声和目标环境光获得目标环境光”的技术架构。
如前所述,获得目标环境光的过程可以简述如下:
步骤1,根据目标图像计算图像噪声。
步骤2,根据亮度计算背光噪声。
步骤3,根据图像噪声和背光噪声和初始环境光计算目标环境光(四通道上的raw值)。
图7所示的技术架构中,步骤3,根据图像噪声和背光噪声和初始环境光计算目标环境光,在AP处理器的噪声算法库中实现。AP处理器的噪声算法库能够计算得到图像噪声和背光噪声。初始环境光由SCP处理器的环境光传感器的驱动得到。因此,AP处理器噪声算法库需要获取SCP处理器上报的初始环境光的相关数据(步骤E3至步骤E4)。AP处理器最终该需要将计算获得的目标环境光的四通道上的值返回给SCP处理器得到目标环境光的Lux值(步骤A8,步骤E5、步骤E6)。
图12所示的技术架构中,步骤3,根据图像噪声和背光噪声和初始环境光计算目标环境光,在SCP处理器的去噪模块中实现。图像噪声和背光噪声由AP处理器获得,初始环境光由SCP处理器的环境光传感器驱动获得。因此,SCP处理器的去噪模块需要获取AP处理器发送的图像噪声和背光噪声(步骤A8、步骤E5、步骤E6),还需要SCP处理器的环境光传感器驱动发送的初始环境光(步骤E3)。
鉴于上述分析,图7所示技术架构中,AP处理器的噪声算法库中需要实现步骤1至步骤3的计算。图12所示技术架构中,AP处理器的噪声算法库中需要实现步骤1和步骤2,SCP处理器的计算模块需要实现步骤3。
为了更清楚的理解图12所示技术架构对应的获得目标环境光的过程,参照图13所示时序图。结合图9中各个时刻的事件,从t0时刻开始,图像进行刷新。同时,环境光传感器进入一个积分时间段,开始采集初始环境光。
相应的,在图13中,步骤E1、SCP处理器的协硬件层中的环境光传感器进入一个积分时间段,从t0(t01)时刻开始采集初始环境光。
步骤A1至步骤A6,参照图7所示实施例中步骤A1至步骤A6的描述。
步骤A7,AP处理器中的硬件抽象层中的噪声算法库将t01时刻的图像噪声发送给同一层的HWC。
步骤A8,在AP处理器计算获得t01时刻的图像噪声之后,将t01时刻的图像噪声发送至SCP处理器的协应用层的环境光传感器应用。
步骤A9(图12所示架构中的步骤E5),SCP处理器的协应用层的环境光传感器应用将t01时刻的图像噪声发送至SCP处理器协驱动层的噪声存储器中。
步骤B1至步骤B2,参照图7所示实施例中步骤B1至步骤B2的描述。
步骤B3,AP处理器中的硬件抽象层中的噪声算法库将t02时刻的背光噪声发送给同一层的HWC。
步骤B4,在AP处理器计算获得t02时刻的背光噪声之后,将t02时刻的背光噪声发送至SCP处理器的协应用层的环境光传感器应用。
步骤B5(图11所示架构中的步骤E5),SCP处理器的协应用层的环境光传感器应用t02时刻的背光噪声发送至SCP处理器协驱动层的噪声存储器中。
步骤C1至步骤C9,步骤D1至步骤D9,参照步骤A1至步骤A9的描述,不再赘述。
在环境光传感器积分结束后,触发SCP处理器执行步骤E2,步骤E2参照图7所示实施例的描述。
步骤E3至步骤E6,SCP处理器协驱动层中的去噪模块从本层的噪声存储器取出融合噪声,从本层的环境光传感器获得初始环境光的四通道上的raw值。根据初始环境光的四通道上的raw值和对初始环境光存在干扰的图像噪声和背光噪声计算获得目标环境光。在非积分时间段,图像也可能刷新(例如,t11时刻图像刷新),亮度也可能发生变化(例如,t12时刻亮度发生变化)。因此,在非积分时间段,图13中仍然存在步骤F1至步骤F9(图13中的步骤F1至步骤F5省略,具体可参照图13中的步骤A1至步骤A5),使得t11时刻的图像噪声存储在SCP处理器的噪声存储器中。在非积分时间段,仍然存在步骤G1至步骤G5(图13中的步骤G1省略,具体可参照图13中的步骤B1),使得t12时刻的背光噪声存储在噪声算法库的噪声存储器中。
下面将介绍图7所示的实施例中的噪声算法库根据目标图像、亮度和初始环境光计算获得目标环境光的过程。
步骤一,噪声计算库每获取到一个目标图像,根据目标图像和目标图像的刷新时刻显示屏的亮度计算获得目标图像刷新时刻的图像噪声;噪声计算库每获取到一个亮度,根据亮度和亮度的调节时刻的目标图像计算获得亮度调节时刻的背光噪声。
虽然图像噪声和背光噪声为不同的名字,但是计算过程均是根据一帧目标图像和一个亮度值计算获得的。
目标图像由多个像素点组成,首先,根据每个像素点的RGB值以及每个像素点的加权系数进行加权和运算,得到目标图像的加权RGB值。其中,每个像素点的加权系数根据该像素点的坐标与目标图像的基准坐标之间的距离确定。环境光传感器的感光区的中心点的坐标可以作为目标图像的基准坐标。
步骤二,噪声计算库根据目标图像的加权RGB值和亮度,得到融合噪声。在计算融合噪声时可以通过查表法(该表中设有目标图像的加权RGB值和亮度一起对应的融合噪声)获得,也可以通过预先设置的函数关系(自变量为目标图像的加权RGB值和亮度,因变量为融合噪声)获得。此时获得的融合噪声为四通道的raw值。
步骤三,噪声计算库根据各个时刻的融合噪声计算获得初始环境光的积分时间段内的积分噪声。
需要说明,图像噪声并不是图像刷新这个过程本身产生的。在积分时间段内,在图像刷新前的时间段,对初始环境光的干扰为刷新前图像对应的图像噪声,在图像刷新后的时间段,对初始环境光的干扰为刷新后的图像对应的图像噪声。
同理,背光噪声也并不是亮度调节这个过程本身产生的。在积分时间段内,在亮度调节前的时间段,对初始环境光的干扰为调节前的亮度对应的背光噪声,在亮度调节后的时间段,对初始环境光的干扰为调节后的亮度对应的背光噪声。
如前所述,噪声存储器中会存储噪声算法库计算获得的各个时刻的图像噪声和背光噪声。噪声存储器中存储的噪声统称为融合噪声或第一噪声。
步骤A1,所述第一处理器通过所述噪声算法库从所述噪声存储器的出口位置取出第一噪声,所述第一处理器通过所述噪声算法库更新所述噪声存储器的出口位置或所述出口位置的第一噪声;
步骤B1、若当前取出的第一噪声对应的时间戳在所述第一时间或第一时间之前,则所述第一处理器通过噪声算法库继续执行步骤A1,直到当前取出的第一噪声在第一时间之后;
步骤B2、若当前取出的第一噪声在所述第一时间之后,则所述第一处理器通过所述噪声算法库执行以下步骤:
步骤C1,若当前取出的第一噪声的时间戳首次在所述第一时间之后,并且在所述第二时间之前,则根据上一次取出的第一噪声计算获得所述第一时间至当前取出的第一噪声的时间戳对应的时刻之间的积分噪声,并继续从步骤A1开始执行;
步骤C2,若当前取出的第一噪声的时间戳首次在所述第一时间之后,并且在所述第二时间或第二时间之后,则根据上一次取出的第一噪声计算获得所述第一时间至第二时间之间的积分噪声,并继续执行步骤D1;
步骤C3,若当前取出的第一噪声的时间戳不是首次在所述第一时间之后,并且在所述第二时间之前,则根据上一次取出的第一噪声计算获得所述上一次取出的第一噪声的时间戳对应的时刻至当前取出的第一噪声的时间戳对应的时刻之间的积分噪声;并继续从步骤A1开始执行;
步骤C4,若当前取出的第一噪声的时间戳不是首次在所述第一时间之后,并且在所述第二时间或第二时间之后,则根据上一次取出的第一噪声计算上一次取出的第一噪声的时间戳对应的时刻至第二时间之间的积分噪声,并继续执行步骤D1;
步骤D1,根据所述第一时间至所述第二时间之间的积分噪声和所述第一值,获得第二值。
当噪声存储器为FIFO(First Input First Output)存储器时。FIFO存储器是先入先出的双口缓冲器,存储器的两个口中,一个为存储器的输入口,一个为存储器的输出口。这种存储器的结构中,第一个进入其内部的数据第一个被移出,相应的,移出数据的顺序与送入数据的顺序一致。FIFO存储器的出口位置即FIFO存储器输出口对应的存储地址。
当FIFO存储器移出一个数据的过程为:从出口位置(第一个位置)开始移除出口位置中存储的融合噪声,然后,出口位置开始的第二个位置中的数据移到出口位置,出口位置开始的第三个位置中的数据移到出口位置开始的第二个位置,……依次进行。
当然,实际应用中,当从出口位置(第一个位置,A1)开始移除第一个位置(A1)存储的融合噪声后,可以将存储器的出口位置更新为第二个位置(A2)。再次移除当前出口位置(A2)存储的融合噪声后,继续将存储器的出口位置更新为第三个位置(A3)……依次进行。
基于上述计算获得第二值的过程可以参考图14所述实施例至图16所示实施例。
参见图14,图14为本申请实施例提供的AP处理器中的噪声计算库根据图像噪声和背光噪声计算积分噪声的过程。该过程中的各个时刻可以对照图9和图10所示实施例中对各个时刻的描述:在t01时刻刷新图像,获得t01时刻的图像噪声;在t02时刻调节亮度,获得t02时刻的背光噪声;在t03时刻刷新图像,获得t03时刻的图像噪声;在t04时刻刷新图像,获得t04时刻的图像噪声。
从t01时刻至t02时刻,显示的图像为t01时刻刷新后的图像,显示屏亮度为t01时刻的亮度,t01时刻的图像噪声为t01时刻刷新后的图像在显示屏亮度为t01时刻的亮度的情况下的噪声。因此,初始环境光包含了持续时长为“t02-t01”、时间戳为t01的图像噪声。
从t02时刻至t03时刻,显示屏的亮度为t02时刻调节后的亮度,显示屏显示的图像为t01时刻刷新后的图像,t02时刻的背光噪声为t02时刻调节后的亮度在显示屏显示t01时刻调节后的图像的情况下的噪声。因此,初始环境光包含了持续时长为“t03-t02”、时间戳为t02时刻的背光噪声。
从t03时刻至t04时刻,显示的图像为t03时刻刷新后的图像,显示屏亮度为t02时刻调节后的亮度,t03时刻的图像噪声为t03时刻刷新后的图像在显示屏亮度为t02时刻调节后的亮度的情况下的噪声。因此,初始环境光包含了持续时长为“t04-t03”、时间戳为t03的图像噪声。
从t04时刻至t1时刻,显示的图像为t04时刻刷新后的图像,显示屏亮度为t02时刻调节后的亮度,t04时刻的图像噪声为t04时刻刷新后的图像在显示屏亮度为t02时刻调节后的亮度的情况下的噪声。因此,初始环境光包含了持续时长为“t1-t04”、时间戳为t04的图像噪声。
基于上述理解,AP处理器在计算积分噪声时:
t01时刻的图像噪声对t01时刻至t02时刻的初始环境光造成干扰;
t02时刻的背光噪声对t02时刻至t03时刻的初始环境光造成干扰;
t03时刻的图像噪声对t03时刻至t04时刻的初始环境光造成干扰;
t04时刻的图像噪声对t04时刻至t1时刻的初始环境光造成干扰。
因此,可以分别计算t01时刻至t02时刻的积分噪声,t02时刻至t03时刻的积分噪声,t03时刻至t04时刻的积分噪声,t04时刻至t1时刻的积分噪声。
对于t01时刻至t02时刻的积分噪声为:
对于t02时刻至t03时刻的积分噪声为:
对于t03时刻至t04时刻的积分噪声为:
对于t04时刻至t1时刻的积分噪声为:
其中,表示t01时刻的融合噪声,/>表示t02时刻的融合噪声,/>表示t03时刻的融合噪声,/>表示t04时刻的融合噪声。
而积分时间段内的各个子时间段(t01至t02,t02至t03,t03至t04,t04至t1)的积分噪声加在一起就是整个积分时间段的积分噪声。
上述示例中积分时间段的开始时刻正是图像刷新的时刻,即能够获得积分时间段的开始时刻的图像噪声。
在实际应用中,可能积分时间段的开始时刻并不是图像刷新的时刻,也不是背光调节的时刻。这种情况下,就需要获取本次积分时间段开始之前最近一次的变化时刻(图像刷新时刻或背光调节时刻)对应的融合噪声。
参见图15所示,为本申请实施例提供的AP处理器中的噪声计算库获得积分时间段(t01时刻至t1时刻)的积分噪声的示意图,t01时刻不再是本次积分时间段的开始时刻,而是本次积分时间段内的一次图像刷新时刻。在本次积分时间段开始之前最近的一次变化时刻(图像刷新时刻或亮度调节时刻)为t-1时刻,该时刻为图像刷新时刻。
参见图16所示,若本次积分时间段开始之前最近一次的变化时刻为图像刷新时刻,则该图像刷新时刻对应的图像噪声会对t0时刻至t01时刻的初始环境光造成干扰。
当然,若最近一次的变化时刻为亮度调节时刻,则该亮度调节时刻对应的背光噪声会对t0至t01时刻的初始环境光造成干扰。
图16所示的实施例中,积分时间段中的各个子时间段对应的积分噪声分别为:
对于t0时刻至t01时刻的积分噪声为:
对于t01时刻至t02时刻的积分噪声为:
对于t02时刻至t03时刻的积分噪声为:
对于t03时刻至t04时刻的积分噪声为:
对于t04时刻至t1时刻的积分噪声为:/>
其中,表示t-1时刻的融合噪声,/>表示t01时刻的融合噪声,/>表示t02时刻的融合噪声,/>表示t03时刻的融合噪声,/>表示t04时刻的融合噪声。
通过上述示例可以理解,获得的积分噪声也是四通道上的raw值。
上述示例中的时间戳均不相同,在实际应用中,HWC可能在一个时间度量单位内(例如1ms内)既执行了获取目标图像的过程,也执行了获取待调节的亮度的过程。然而,该时刻获取的目标图像和待调节的亮度的时间戳相同。
若存在时间戳相同的目标图像和亮度值,且所述噪声算法库先接收到该目标图像,则噪声算法库先根据目标图像和目标图像之前的最新的亮度值计算图像噪声,计算亮度值对应的背光噪声时,根据同时接收到的目标图像和亮度值计算背光噪声;
若存在时间戳相同的目标图像和亮度值,且所述噪声算法库先接收到该亮度值,则噪声算法库先根据亮度值和亮度值之前的最新的目标图像计算背光噪声,计算目标图像对应的图像噪声时,根据同时接收到的目标图像和亮度值计算图像噪声。
噪声算法库先接收到目标图像,则先计算获得图像噪声,先存储图像噪声至噪声存储器。噪声存储器中存储的融合噪声存在时间先后顺序,即在存储至噪声存储器之前,判断当前准备存储的融合噪声是否在上一次存储的融合噪声的时间戳之后,若当前准备存储的融合噪声在上一次存储的融合噪声的时间戳之后,则存储,若当前准备存储的融合噪声在上一次存储的融合噪声的时间戳之前或相同,则丢弃当前待存储的噪声。因此,后计算获得的背光噪声会被丢弃。
步骤四、噪声算法库从初始环境光中去除整个积分时间段的积分噪声获得目标环境光。
在本申请实施例中,SCP处理器向AP处理器的HWC发送的初始环境光为RGBC四通道raw值形式的初始环境光数据。HWC发送至噪声算法库的也为RGBC四通道raw值形式的初始环境光数据。在步骤三中得到的是积分噪声的四通道上的raw值。因此,在该步骤,可以对初始环境光的四通道raw值和积分噪声四通道raw值进行运算,得到目标环境光的四通道上的raw值。
噪声算法库在计算获得目标环境光的四通道上的raw值后,就可将该目标环境光的四通道上的raw值发送至SCP处理器中,SCP处理器根据目标环境光的四通道上的raw值计算获得目标环境光的lux值。
作为示例,可以根据各个通道的raw值乘以各个通道的系数(该系数可以由环境光传感器的厂家提供)加权得到lux值。
作为本申请另一实施例,为了使得用户的视觉效果更好,显示屏的亮度调节可能是渐变的过程。作为示例,当亮度需要从1561调节到1566时,若从1561直接调节到1566,亮度存在突变的过程,用户的眼睛可能感到不适。因此,可以从1561调节到1562,从1562调节到1563,从1563调节到1564,从1564调节到1566。
如前所述,亮度的变化可能会导致对初始环境光的干扰发生变化。因此,可以在每次亮度调节时,均根据亮度调节后的值和当前显示的目标图像(可以记为缓存目标图像)计算获得亮度调节后的值在当前显示的目标图像下的亮度噪声。
上述示例中的1561、1562、1563、1564、1566不带有绝对意义上的度量单位,即并不表示绝对意义上的亮度值,仅用于表示亮度发生了变化。
为更清楚的说明上述渐变调节背光的过程产生的功耗。参照以下示例:
t01时刻,亮度为1561时,噪声算法库计算对应的背光噪声为N1,并存储。
t02时刻,亮度变化为1562时,噪声算法库计算对应的背光噪声仍然为N1,并存储。
t03时刻,亮度变化为1563时,噪声算法库计算对应的背光噪声仍然为N1,并存储。
t04时刻,亮度变化为1564时,噪声算法库计算对应的背光噪声仍然为N1,并存储。
t05时刻,亮度变化为1565时,噪声算法库计算对应的背光噪声仍然为N1,并存储。
上述过程中,计算背光噪声的过程较频繁,然而获得的背光噪声并无差异,背光噪声对初始环境光的干扰也并未变化。在后续AP处理器中的噪声算法计算积分时间段的积分噪声时,还需要融合t01时刻的背光噪声N1、t02时刻的背光噪声N1、t03时刻的背光噪声N1、t04时刻的背光噪声N1、t05时刻的背光噪声N1,导致不仅占用存储空间,去噪过程还比较繁琐复杂。
为解决上述问题,AP处理器中的噪声算法库在获得变化后的亮度后,根据变化后的亮度和当前显示的图像计算获得背光噪声,且将其中一次(例如首次)背光噪声(t01时刻的背光噪声)作为参考背光噪声存储。噪声算法库继续将再次计算的背光噪声(例如t02时刻计算的背光噪声)和参考背光噪声(t01时刻的背光噪声)进行比较,若当前计算的背光噪声和参考背光噪声相等,则表示本次亮度调节后的亮度和参考背光噪声对应的亮度对初始环境光的干扰是相同的。则噪声算法库无需将当前计算的背光噪声(例如t02时刻计算的背光噪声)存储。
当然,在当前计算的背光噪声(例如t02时刻计算的背光噪声)和参考背光噪声不相等时,需要存储当前计算的背光噪声,当前计算的背光噪声为后续过程中的参考背光噪声。按照上述方式,亮度从1561调节到1566的情况下,只需要存储1561的亮度调节时刻对应的背光噪声至噪声存储器。从而降低了噪声存储器的占用量。
相应的,噪声算法库的噪声存储器中不存在t02时刻的背光噪声N1、t03时刻的背光噪声N1、t04时刻的背光噪声N1、t05时刻的背光噪声N1。计算积分噪声时也无需计算这些背光噪声,从而降低了功耗。
若在t06时刻,亮度变化为1570时,对应的背光噪声变为N2,由于此时计算的背光噪声N2和参考背光噪声N1不相等,因此,需要存储t06时刻的背光噪声N2。
当然,实际应用中,噪声算法库中未缓存待调节的亮度的情况下,需要将当前接收到的待调节的亮度缓存。作为示例,噪声算法库需要缓存接收的第一个待调节的亮度。
作为本申请另一实施例,在根据待调节的亮度以及调节时刻对应的目标图像计算背光噪声时,需要先对待调节的亮度进行处理,获得亮度换算值;然后,根据亮度换算值和对应的目标图像计算获得背光噪声。因此,实际应用中,噪声算法库在获得待调节的亮度后,首先根据待调节的亮度计算亮度换算值,然后将亮度换算值和上一次缓存的亮度换算值进行比较:
若当前亮度换算值和上一次缓存的亮度换算值相等,则表示当前亮度换算值获得的背光噪声和上一次缓存的亮度换算值获得的背光噪声也相等。因此,不需要缓存当前亮度换算值,可以丢弃当前亮度换算值,相应的,也不需要计算当前的背光噪声。
若当前亮度换算值和上一次缓存的亮度换算值不相等,则表示当前亮度换算值获得的背光噪声和上一次缓存的亮度换算值获得的背光噪声也不相等。因此,需要缓存当前亮度换算值,并计算当前的背光噪声。
当然,实际应用中,噪声算法库中未缓存亮度换算值的情况下,需要缓存接收到的待调节的亮度对应的亮度换算值。作为示例,噪声算法库需要缓存第一个待调节的亮度对应的亮度换算值。
作为本申请另一实施例,也可以通过计算多大变化的亮度值才能够引起背光噪声的变化,来确定允许噪声算法库不存储背光噪声时的亮度变化的范围。通过该亮度变化的范围确定噪声算法库是否需要根据亮度变化后的亮度值计算背光噪声存储背光噪声至噪声算法库的噪声存储器中。
作为示例,背光噪声计算公式为:NBL=f(L),其中,NBL为背光噪声,f()为背光噪声函数,L为亮度值。
可以计算NBL保持不变时的亮度的最大值Lmax和亮度的最小值Lmin。通过亮度的最大值Lmax和亮度的最小值Lmin之间的差值确定亮度变化间距。通过实际计算,当亮度变化间距大于8.3时,才会引起背光噪声的变化。亮度从1561一直变化到1566,亮度的变化小于8.3,因此,可以无需计算亮度在1562、1563、1564、1566时的背光噪声。当然,不同的背光噪声范围段可能对应的亮度变化间距不同。因此,可以划定范围:
在高亮对应的亮度范围(第一亮度范围),确定背光噪声的范围,从背光噪声范围内选取n1个背光噪声值,并分别计算n1个背光噪声值分别对应的亮度变化间距,然后,计算n1个亮度变化间距的平均值,作为该高亮对应的亮度范围内的亮度变化间距。
在中亮对应的亮度范围(第二亮度范围),确定背光噪声的范围,从背光噪声范围内选取n2个背光噪声值,并分别计算n2个背光噪声值分别对应的亮度变化间距,然后,计算n2个亮度变化间距的平均值,作为该中亮对应的亮度范围内的亮度变化间距。
在低亮对应的亮度范围(第三亮度范围),确定背光噪声的范围,从背光噪声范围内选取n3个背光噪声值,并分别计算n3个背光噪声值分别对应的亮度变化间距,然后,计算n3个亮度变化间距的平均值,作为该低亮对应的亮度范围内的亮度变化间距。
需要说明,上述从1561到1566的亮度调节,均以亮度调节过程中不存在图像刷新为例,即上述亮度调节过程中的目标图像不变,因此,计算获得的背光噪声为在同一目标图像下的背光噪声。若亮度调节过程中存在图像刷新,则图像刷新后的第一个亮度值需要基于刷新后的目标图像计算背光噪声,该背光噪声作为参考背光噪声存储、并参与获得计算积分噪声的过程。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应每一个功能划分每一个功能单元,也可以将两个或两个以上的功能集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以采用对应每一个功能划分每一个功能单元为例进行说明:
参照图17,该电子设备包括:第一处理器和第二处理器;
所述第一处理器,用于获取目标图像,所述目标图像为显示在所述显示屏中位于所述环境光传感器上方区域的图像;
所述第一处理器,还用于获取所述显示屏的亮度值;
所述第二处理器,用于获取所述环境光传感器采集的第一值;
所述第二处理器,还用于向所述第一处理器发送所述第一值;
所述第一处理器,还用于基于所述目标图像、所述亮度值和所述第一值,得到第二值。
所述第一处理器执行的其他步骤可以参照上述实施例中的描述,所述第二处理器执行的其他步骤也可以参照上述实施例中的描述,在此不再赘述。
需要说明的是,上述执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备可实现上述各个方法实施例中的步骤。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到第一设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请实施例还提供了一种芯片系统,芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请任一方法实施例的步骤。芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (38)
1.一种环境光的检测方法,其特征在于,应用于电子设备,所述电子设备包括第一处理器、第二处理器、显示屏和位于所述显示屏下方的环境光传感器;所述检测方法包括:
所述第一处理器获取目标图像,所述目标图像为显示在所述显示屏中位于所述环境光传感器上方区域的图像;
所述第一处理器获取所述显示屏的亮度值;
所述第二处理器获取所述环境光传感器采集的第一值;
所述第二处理器向所述第一处理器发送所述第一值;
所述第一处理器基于所述第一值的积分时间、所述目标图像的显示时间和所述亮度值的调节时间,得到第二值。
2.如权利要求1所述的检测方法,其特征在于,所述第一处理器获取目标图像之前,包括:
所述第一处理器通过所述电子设备的显示子系统获取第一图像;
所述第一处理器通过所述显示子系统将所述第一图像上包含所述目标图像的第二图像存储在所述电子设备的回写内存中;
所述第一处理器通过所述电子设备的HWC模块从所述回写内存中获取所述目标图像。
3.如权利要求2所述的检测方法,其特征在于,所述第二图像为:所述第一图像,或,所述目标图像,或,大于所述目标图像的范围且小于所述第一图像的范围的图像。
4.如权利要求2或3所述的检测方法,其特征在于,所述第一处理器通过所述显示子系统将所述第一图像上包含所述目标图像的第二图像成功存储在所述电子设备的回写内存中之后,还包括:
所述第一处理器通过所述显示子系统向所述HWC模块发送图像存储成功的信息;
相应的,所述第一处理器通过所述电子设备的HWC模块从所述回写内存中获取所述目标图像包括:
响应于接收到所述图像存储成功的信息,所述HWC模块从所述回写内存中获取所述目标图像;
所述方法还包括:所述第一处理器通过所述HWC模块获取所述目标图像的时间戳,所述目标图像的时间戳为所述HWC模块执行从所述回写内存中获取所述目标图像的开始时刻,所述目标图像的显示时间包括所述目标图像的时间戳。
5.如权利要求4所述的检测方法,其特征在于,所述方法还包括:
所述第一处理器通过所述HWC模块向所述电子设备的噪声算法库发送所述目标图像和所述目标图像的时间戳;
响应于接收到所述目标图像和所述目标图像的时间戳,所述噪声算法库存储所述目标图像和所述目标图像的时间戳至数据存储库。
6.如权利要求5所述的检测方法,其特征在于,响应于接收所述目标图像和所述目标图像的时间戳,所述第一处理器通过所述噪声算法库获取所述显示屏的亮度值具体为:所述第一处理器通过所述噪声算法库获取存储在数据存储库的亮度值中的第一亮度值,所述第一亮度值为在所述目标图像的时间戳表示的时刻之前最新存储的亮度值;
相应的,所述第一处理器通过所述噪声算法库基于所述目标图像和所述第一亮度值获得图像噪声;
所述第一处理器通过所述噪声算法库存储所述图像噪声和所述图像噪声的时间戳至所述电子设备的噪声存储器中,所述图像噪声的时间戳和所述目标图像的时间戳相同。
7.如权利要求6所述的检测方法,其特征在于,所述第一值的积分时间包括第一时间和第二时间,所述第二处理器向所述第一处理器发送所述第一值,第一时间和第二时间,所述第一时间和所述第二时间均与所述第一值相关;
所述第二处理器向所述第一处理器发送所述第一值,第一时间和第二时间,具体为:
所述第二处理器向所述HWC模块发送所述第一值,第一时间和第二时间;
响应于接收所述第一值,第一时间和第二时间,所述HWC模块向所述噪声算法库发送所述第一值,第一时间和第二时间;
相应的,所述第一处理器基于所述目标图像、所述亮度值和所述第一值,得到第二值,包括:响应于接收所述第一值,第一时间和第二时间,所述噪声算法库基于所述噪声存储器中存储的数据、所述第一值、第一时间和第二时间,得到第二值,所述噪声存储器中存储的数据为第一噪声,所述第一噪声包括所述图像噪声,所述图像噪声的时间戳在第一时间和第二时间之间。
8.如权利要求1所述的检测方法,其特征在于,所述第一处理器获取所述显示屏的亮度值之后,所述第一处理器获取目标图像;
相应的,所述第一处理器获取所述显示屏的亮度值包括:
所述第一处理器通过所述电子设备的HWC模块监听所述电子设备的内核节点中存储的显示屏的亮度值是否发生变化;
响应于监听到所述内核节点中存储的显示屏的亮度值发生变化,所述HWC模块从所述内核节点中获取所述显示屏的亮度值;
所述第一处理器通过所述HWC模块获取所述显示屏的亮度值对应的时间戳,所述显示屏的亮度值对应的时间戳为所述HWC模块执行从所述内核节点中获取所述显示屏的亮度值的开始时刻,所述亮度值的调节时间包括所述亮度值的时间戳。
9.如权利要求8所述的检测方法,其特征在于,所述第一处理器获取所述显示屏的亮度值之后,还包括:
所述第一处理器通过所述HWC模块向所述电子设备的噪声算法库发送所述显示屏的亮度值以及所述显示屏的亮度值的时间戳;
响应于接收到所述显示屏的亮度值和所述显示屏的亮度值的时间戳,所述噪声算法库存储所述显示屏的亮度和所述显示屏的亮度的时间戳至数据存储库。
10.如权利要求9所述的检测方法,其特征在于,响应于接收到所述显示屏的亮度值和所述显示屏的亮度值的时间戳,所述噪声算法库获取所述目标图像具体为:所述噪声算法库获取存储在数据存储库的目标图像中的第一目标图像,所述第一目标图像为所述显示屏的亮度值的时间戳表示的时刻之前最新存储的目标图像;
相应的,所述第一处理器通过所述噪声算法库基于所述显示屏的亮度值和所述第一目标图像获得背光噪声;
所述第一处理器通过所述噪声算法库存储所述背光噪声和所述背光噪声的时间戳至所述电子设备的噪声存储器,其中,所述背光噪声的时间戳和所述亮度值的时间戳相同。
11.如权利要求10所述的检测方法,其特征在于,所述第一值的积分时间包括第一时间和第二时间,所述第二处理器向所述第一处理器发送所述第一值,第一时间和第二时间,所述第一时间和所述第二时间均与所述第一值相关;
所述第二处理器向所述第一处理器发送所述第一值,第一时间和第二时间,具体为:
所述第二处理器向所述HWC模块发送所述第一值,第一时间和第二时间;
响应于接收所述第一值,第一时间和第二时间,所述HWC模块向所述噪声算法库发送所述第一值,第一时间和第二时间;
相应的,所述第一处理器基于所述目标图像、所述亮度值和所述第一值,得到第二值,包括:
响应于接收所述第一值,第一时间和第二时间,所述噪声算法库基于所述噪声存储器中存储的数据、所述第一值、第一时间和第二时间,得到第二值,所述噪声存储器中存储的数据为第一噪声,所述第一噪声包括所述背光噪声,所述背光噪声的时间戳在所述第一时间和所述第二时间之间。
12.如权利要求1所述的检测方法,其特征在于,所述检测方法还包括:
所述第一处理器通过所述电子设备的显示子系统获取第一图像;
所述第一处理器通过所述显示子系统将所述第一图像上包含所述目标图像的第二图像存储在所述电子设备的回写内存中;
所述第一处理器通过所述电子设备的HWC模块从所述回写内存中获取所述目标图像;
所述第一处理器通过所述HWC模块获取所述目标图像的时间戳,所述目标图像的时间戳为所述HWC模块执行从所述回写内存中获取所述目标图像的开始时刻,所述目标图像的显示时间包括所述目标图像的时间戳;
所述第一处理器通过所述HWC模块向所述电子设备的噪声算法库发送所述目标图像和所述目标图像的时间戳,所述目标图像的时间戳为所述HWC模块执行从所述回写内存中获取所述目标图像的开始时刻;
响应于接收到所述目标图像和所述目标图像的时间戳,所述噪声算法库存储所述目标图像和所述目标图像的时间戳至数据存储库;
所述第一处理器通过所述噪声算法库基于所述目标图像和所述目标图像对应的亮度值获得图像噪声,其中,所述目标图像对应的亮度值为:存储在数据存储库中、在所述目标图像的时间戳表示的时刻之前最新时刻的亮度值;
所述第一处理器通过所述噪声算法库存储所述图像噪声和所述图像噪声的时间戳至所述电子设备的噪声存储器中,所述图像噪声的时间戳和所述目标图像的时间戳相同;
所述第一处理器通过所述HWC模块监听所述电子设备的内核节点中存储的显示屏的亮度值是否发生变化;
响应于监听到所述内核节点中存储的显示屏的亮度值发生变化,所述HWC模块从所述内核节点中获取所述显示屏的亮度值;
所述第一处理器通过所述HWC模块获取所述显示屏的亮度值的时间戳,所述显示屏的亮度值的时间戳为所述HWC模块执行从所述内核节点中获取所述显示屏的亮度值的开始时刻,所述亮度值的调节时间包括所述亮度值的时间戳;
所述第一处理器通过所述HWC模块向所述噪声算法库发送所述显示屏的亮度值以及所述显示屏的亮度值的时间戳;
响应于接收到所述显示屏的亮度值和所述显示屏的亮度值的时间戳,所述噪声算法库存储所述显示屏的亮度和所述显示屏的亮度的时间戳至数据存储库;
所述第一处理器通过所述噪声算法库根据所述显示屏的亮度值和所述显示屏的亮度值对应的目标图像获得背光噪声,其中,所述显示屏的亮度值对应的目标图像为:存储在数据存储中、在所述显示屏的亮度值的时间戳表示的时刻之前最新的目标图像;
所述第一处理器通过所述噪声算法库存储所述背光噪声和所述背光噪声的时间戳至所述电子设备的噪声存储器,所述背光噪声的有时间戳和所述亮度值的时间戳相同;
其中,所述目标图像和所述显示屏的亮度值为所述第一处理器通过所述噪声算法库接收到的相邻的两个屏幕数据,若所述目标图像的时间戳在所述显示屏的亮度值的时间戳之前,则所述显示屏的亮度值对应的目标图像为所述目标图像;
若所述目标图像的时间戳在所述显示屏的亮度值的时间戳之后,则所述目标图像对应的亮度值为所述显示屏的亮度值;
若所述目标图像的时间戳和所述显示屏的亮度值的时间戳相同、且所述第一处理器通过所述噪声算法库先接收到所述目标图像,则所述显示屏的亮度值对应的目标图像为所述目标图像;
若所述目标图像的时间戳和所述显示屏的亮度值的时间戳相同、且所述第一处理器通过所述噪声算法库先接收到所述显示屏的亮度值,则所述目标图像对应的亮度值为所述显示屏的亮度值。
13.如权利要求12所述的检测方法,其特征在于,所述第一值的积分时间包括第一时间和第二时间,所述第二处理器向所述第一处理器发送所述第一值,第一时间和第二时间,所述第一时间和所述第二时间均与所述第一值相关;
所述第二处理器向所述第一处理器发送所述第一值,第一时间和第二时间,具体为:
所述第二处理器向所述HWC模块发送所述第一值,第一时间和第二时间;
响应于接收所述第一值,第一时间和第二时间,所述HWC模块向所述噪声算法库发送所述第一值,第一时间和第二时间;
相应的,所述第一处理器基于所述目标图像、所述亮度值和所述第一值,得到第二值,包括:
响应于接收所述第一值,第一时间和第二时间,所述噪声算法库基于所述噪声存储器中存储的数据,所述第一值,第一时间和第二时间,得到第二值,所述噪声存储器中存储的数据为第一噪声,所述第一噪声包括所述图像噪声和所述背光噪声,所述图像噪声的时间戳在第一时间和第二时间之间,所述背光噪声的时间戳在第一时间和第二时间之间。
14.如权利要求7、11或13所述的检测方法,其特征在于,所述第一时间为所述环境光传感器采集所述第一值的开始时间,所述第二时间为所述环境光传感器采集所述第一值的结束时间,所述噪声算法库基于所述噪声存储器中存储的数据、所述第一值、第一时间和第二时间,获得所述第二值,包括:
步骤A1,所述第一处理器通过所述噪声算法库从所述噪声存储器的出口位置取出第一噪声,所述第一处理器通过所述噪声算法库更新所述噪声存储器的出口位置或所述出口位置的第一噪声;
步骤B1、若当前取出的第一噪声对应的时间戳在所述第一时间或第一时间之前,则所述第一处理器通过噪声算法库继续执行步骤A1,直到当前取出的第一噪声在第一时间之后;
步骤B2、若当前取出的第一噪声在所述第一时间之后,则所述第一处理器通过所述噪声算法库执行以下步骤:
步骤C1,若当前取出的第一噪声的时间戳首次在所述第一时间之后,并且在所述第二时间之前,则根据上一次取出的第一噪声计算获得所述第一时间至当前取出的第一噪声的时间戳对应的时刻之间的积分噪声,并继续从步骤A1开始执行;
步骤C2,若当前取出的第一噪声的时间戳首次在所述第一时间之后,并且在所述第二时间或第二时间之后,则根据上一次取出的第一噪声计算获得所述第一时间至第二时间之间的积分噪声,并继续执行步骤D1;
步骤C3,若当前取出的第一噪声的时间戳不是首次在所述第一时间之后,并且在所述第二时间之前,则根据上一次取出的第一噪声计算获得所述上一次取出的第一噪声的时间戳对应的时刻至当前取出的第一噪声的时间戳对应的时刻之间的积分噪声;并继续从步骤A1开始执行;
步骤C4,若当前取出的第一噪声的时间戳不是首次在所述第一时间之后,并且在所述第二时间或第二时间之后,则根据上一次取出的第一噪声计算上一次取出的第一噪声的时间戳对应的时刻至第二时间之间的积分噪声,并继续执行步骤D1;
步骤D1,根据所述第一时间至所述第二时间之间的积分噪声和所述第一值,获得第二值。
15.如权利要求14所述的检测方法,其特征在于,所述第一处理器通过所述噪声算法库更新所述噪声存储器的出口位置或所述出口位置的第一噪声包括:
所述第一处理器通过所述噪声算法库将所述噪声存储器的出口位置移到当前取出的第一噪声的下一个第一噪声的位置;
或,
所述第一处理器通过所述噪声算法库将所述噪声存储器中存储的第一噪声向出口方向移动一个位置。
16.如权利要求7、11、13或15所述的检测方法,其特征在于,所述第一处理器基于所述目标图像、所述亮度值和所述第一值,第一时间和第二时间,得到第二值之后,还包括:
所述第一处理器向所述第二处理器发送所述第二值;
所述第二处理器接收到所述第二值后,所述第二处理器基于所述第二值计算第三值,其中,所述第二值为raw值,所述第三值为lux值;
所述第二处理器向所述第一处理器发送所述第三值;
所述第一处理器基于所述第三值调节所述显示屏的亮度。
17.如权利要求16所述的检测方法,其特征在于,所述第二处理器接收到所述第二值后,所述第二处理器根据所述第二值计算第三值,包括:
响应于接收到所述第二值,所述第二处理器将所述第二值存储在所述电子设备的环境光存储器;
所述第二处理器通过所述环境光传感器采集第四值,并在采集到的第四值时产生积分中断信号,所述第四值为所述环境光传感器在所述第二值对应的采集周期之后的一个采集周期采集到的环境光;
所述第二处理器通过所述环境光传感器向所述电子设备的环境光传感器驱动发送所述第四值和所述积分中断信号;
响应于接收到积分中断信号,所述第二处理器通过所述电子设备的环境光传感器驱动调用所述电子设备的计算模块;所述第二处理器通过所述计算模块获取所述环境光存储器中存储的第二值,并根据所述第二值计算所述第三值;
相应的,所述第二处理器通过所述环境光传感器向所述第一处理器发送所述第四值。
18.如权利要求12所述的检测方法,其特征在于,所述第一处理器通过所述噪声算法库基于所述显示屏的亮度值和所述显示屏亮度值对应的目标图像获得背光噪声包括:
所述第一处理器通过噪声算法库根据所述显示屏的亮度值计算获得亮度换算值;
若所述第一处理器通过所述噪声算法库接收到所述显示屏的亮度值之前接收到的屏幕数据中最近的一次屏幕数据为所述目标图像,则所述第一处理器通过所述噪声算法库根据所述亮度换算值和所述目标图像获得背光噪声;
若所述第一处理器通过所述噪声算法库接收到所述显示屏的亮度值之前接收到的屏幕数据中最近的一次屏幕数据为显示屏的亮度值;
所述第一处理器通过所述噪声算法库获取所述亮度换算值与上一次计算背光噪声采用的亮度换算值是否相等;
若所述亮度换算值和上一次计算背光噪声时的亮度换算值不相等,则所述第一处理器通过所述噪声算法库根据所述亮度换算值和所述目标图像获得背光噪声。
19.如权利要求18所述的检测方法,其特征在于,所述第一处理器通过所述噪声算法库获取所述亮度换算值与上一次计算背光噪声采用的亮度换算值是否相等之后,还包括:
若所述亮度换算值和上一次计算背光噪声时的亮度换算值相等,则所述第一处理器通过所述噪声算法库丢弃所述亮度换算值。
20.如权利要求2、3、12或13所述的检测方法,其特征在于,所述方法还包括:
所述电子设备通过显示屏显示所述第一图像。
21.一种环境光的检测方法,其特征在于,应用于电子设备,所述电子设备包括第一处理器,第二处理器,显示屏和位于所述显示屏下方的环境光传感器;所述检测方法包括:
所述第一处理器获取目标图像,所述目标图像为显示在所述显示屏中位于所述环境光传感器上方区域的图像;
所述第一处理器获取所述显示屏的亮度值;
所述第一处理接收所述第二处理器发送的第一值,所述第一值由所述环境光传感器采集得到;
所述第一处理器基于所述第一值的积分时间、所述目标图像的显示时间和所述亮度值的调节时间,得到第二值。
22.如权利要求21所述的检测方法,其特征在于,所述第一处理器获取目标图像之前,包括:
所述第一处理器通过所述电子设备的显示子系统获取第一图像;
所述第一处理器通过所述显示子系统将所述第一图像上包含所述目标图像的第二图像存储在所述电子设备的回写内存中;
所述第一处理器通过所述电子设备的HWC模块从所述回写内存中获取所述目标图像。
23.如权利要求22所述的检测方法,其特征在于,所述第二图像为:所述第一图像,或,所述目标图像,或,大于所述目标图像的范围且小于所述第一图像的范围的图像。
24.如权利要求22或23所述的检测方法,其特征在于,所述第一处理器通过所述显示子系统将所述第一图像上包含所述目标图像的第二图像成功存储在所述电子设备的回写内存中之后,还包括:
所述第一处理器通过所述显示子系统向所述HWC模块发送图像存储成功的信息;
相应的,所述第一处理器通过所述电子设备的HWC模块从所述回写内存中获取所述目标图像包括:
响应于接收到所述图像存储成功的信息,所述HWC模块从所述回写内存中获取所述目标图像;
所述方法还包括:所述第一处理器通过所述HWC模块获取所述目标图像的时间戳,所述目标图像的时间戳为所述HWC模块执行从所述回写内存中获取所述目标图像的开始时刻。
25.如权利要求24所述的检测方法,其特征在于,所述方法还包括:
所述第一处理器通过所述HWC模块向所述电子设备的噪声算法库发送所述目标图像和所述目标图像的时间戳;
响应于接收到所述目标图像和所述目标图像的时间戳,所述噪声算法库存储所述目标图像和所述目标图像的时间戳至数据存储库。
26.如权利要求25所述的检测方法,其特征在于,响应于接收所述目标图像和所述目标图像的时间戳,所述第一处理器通过所述噪声算法库获取所述显示屏的亮度值具体为:所述第一处理器通过所述噪声算法库获取存储在数据存储库的亮度值中的第一亮度值,所述第一亮度值为在所述目标图像的时间戳表示的时刻之前最新存储的亮度值;
相应的,所述第一处理器通过所述噪声算法库基于所述目标图像和所述第一亮度值获得图像噪声;
所述第一处理器通过所述噪声算法库存储所述图像噪声和所述图像噪声的时间戳至所述电子设备的噪声存储器中,所述图像噪声的时间戳和所述目标图像的时间戳相同。
27.如权利要求26所述的检测方法,其特征在于,所述第一值的积分时间包括第一时间和第二时间,所述第一处理接收所述第二处理器发送的所述第一值,第一时间和第二时间;
所述第一处理接收所述第二处理器发送的所述第一值,第一时间和第二时间,具体为:
所述第一处理器通过所述HWC模块接收所述第二处理器发送的所述第一值,第一时间和第二时间;
响应于接收所述第二处理器发送的所述第一值,第一时间和第二时间,所述HWC模块向所述噪声算法库发送所述第一值,第一时间和第二时间;
相应的,所述第一处理器基于所述目标图像、所述亮度值和所述第一值,得到第二值,包括:响应于接收所述第一值,第一时间和第二时间,所述噪声算法库基于所述噪声存储器中存储的数据、所述第一值、第一时间和第二时间,得到第二值,所述噪声存储器中存储的数据为第一噪声,所述第一噪声包括所述图像噪声,所述图像噪声的时间戳在第一时间和第二时间之间。
28.如权利要求21所述的检测方法,其特征在于,所述第一处理器获取所述显示屏的亮度值之后,所述第一处理器获取目标图像;
相应的,所述第一处理器获取所述显示屏的亮度值包括:
所述第一处理器通过所述电子设备的HWC模块监听所述电子设备的内核节点中存储的显示屏的亮度值是否发生变化;
响应于监听到所述内核节点中存储的显示屏的亮度值发生变化,所述HWC模块从所述内核节点中获取所述显示屏的亮度值;
所述第一处理器通过所述HWC模块获取所述显示屏的亮度值的时间戳,所述显示屏的亮度值对应的时间戳为所述HWC模块执行从所述内核节点中获取所述显示屏的亮度值的开始时刻。
29.如权利要求28所述的检测方法,其特征在于,所述第一处理器获取所述显示屏的亮度值之后,还包括:
所述第一处理器通过所述HWC模块向所述电子设备的噪声算法库发送所述显示屏的亮度值以及所述显示屏的亮度值的时间戳;
响应于接收到所述显示屏的亮度值和所述显示屏的亮度值的时间戳,所述噪声算法库存储所述显示屏的亮度和所述显示屏的亮度的时间戳至数据存储库。
30.如权利要求29所述的检测方法,其特征在于,响应于接收到所述显示屏的亮度值和所述显示屏的亮度值的时间戳,所述噪声算法库获取所述目标图像具体为:所述噪声算法库获取存储在数据存储库的目标图像中的第一目标图像,所述第一目标图像为所述显示屏的亮度值的时间戳表示的时刻之前最新存储的目标图像;
相应的,所述第一处理器通过所述噪声算法库基于所述显示屏的亮度值和所述第一目标图像获得背光噪声;
所述第一处理器通过所述噪声算法库存储所述背光噪声和所述背光噪声的时间戳至所述电子设备的噪声存储器,其中,所述背光噪声的时间戳和所述亮度值的时间戳相同。
31.如权利要求21所述的检测方法,其特征在于,所述检测方法包括:
所述第一处理器通过所述电子设备的显示子系统获取第一图像,所述第一处理器通过所述显示子系统将所述第一图像上包含所述目标图像的第二图像存储在所述电子设备的回写内存中;
所述第一处理器通过所述电子设备的HWC模块从所述回写内存中获取所述目标图像;
所述第一处理器通过所述HWC模块获取所述目标图像的时间戳,所述目标图像的时间戳为所述HWC模块执行从所述回写内存中获取所述目标图像的开始时刻;
所述第一处理器通过所述HWC模块向所述电子设备的噪声算法库发送所述目标图像和所述目标图像的时间戳,所述目标图像的时间戳为所述HWC模块执行从所述回写内存中获取所述目标图像的开始时刻;
响应于接收到所述目标图像和所述目标图像的时间戳,所述噪声算法库存储所述目标图像和所述目标图像的时间戳至数据存储库;
所述第一处理器通过所述噪声算法库基于所述目标图像和所述目标图像对应的亮度值获得图像噪声,其中,所述目标图像对应的亮度值为:存储在数据存储库中、在所述目标图像的时间戳表示的时刻之前最新时刻的亮度值;
所述第一处理器通过所述噪声算法库存储所述图像噪声和所述图像噪声的时间戳至所述电子设备的噪声存储器中,所述图像噪声的时间戳和所述目标图像的时间戳相同;
所述第一处理器通过所述HWC模块监听所述电子设备的内核节点中存储的显示屏的亮度值是否发生变化;
响应于监听到所述内核节点中存储的显示屏的亮度值发生变化,所述HWC模块从所述内核节点中获取所述显示屏的亮度值;
所述第一处理器通过所述HWC模块获取所述显示屏的亮度值的时间戳,所述显示屏的亮度值的时间戳为所述HWC模块执行从所述内核节点中获取所述显示屏的亮度值的开始时刻;
所述第一处理器通过所述HWC模块向所述噪声算法库发送所述显示屏的亮度值以及所述显示屏的亮度值的时间戳;
响应于接收到所述显示屏的亮度值和所述显示屏的亮度值的时间戳,所述噪声算法库存储所述显示屏的亮度和所述显示屏的亮度的时间戳至数据存储库;
所述第一处理器通过所述噪声算法库根据所述显示屏的亮度值和所述显示屏的亮度值对应的目标图像获得背光噪声,其中,所述显示屏的亮度值对应的目标图像为:存储在数据存储中、在所述显示屏的亮度值的时间戳表示的时刻之前最新的目标图像;
所述第一处理器通过所述噪声算法库存储所述背光噪声和所述背光噪声的时间戳至所述电子设备的噪声存储器,所述背光噪声的有时间戳和所述亮度值的时间戳相同。
32.如权利要求21、22、23、28、29、30或31所述的检测方法,其特征在于,所述第一处理器基于所述目标图像、所述亮度值和所述第一值,得到第二值之后,还包括:
所述第一处理器向所述第二处理器发送所述第二值,所述第二值用于指示所述第二处理器根据所述第二值计算获得第三值后向所述第一处理器发送所述第三值,其中,所述第二值为raw值,所述第三值为lux值;
所述第一处理器接收所述第三值,并基于所述第三值调节所述显示屏的亮度。
33.一种环境光的检测方法,其特征在于,应用于电子设备,所述电子设备包括第一处理器,第二处理器,显示屏和位于所述显示屏下方的环境光传感器;所述检测方法包括:
所述第二处理器获取所述环境光传感器采集的第一值;
所述第二处理器向所述第一处理器发送所述第一值,所述第一值用于指示所述第一处理器基于所述第一值获得第二值后向所述第二处理器发送所述第二值;
所述第二处理器接收所述第二值;
所述第二处理器获取第四值和积分中断信号,所述第四值为所述环境光传感器在所述第二值对应的采集周期之后的一个采集周期采集到的环境光数据,所述积分中断信号由所述环境光传感器在所述第四值对应的采集周期结束时产生;
所述第二处理器向所述第一处理器发送所述第四值;
响应于获取到所述积分中断信号,所述第二处理器基于所述第二值计算获得第三值,其中,所述第二值为raw值,所述第三值为lux值。
34.如权利要求33所述的检测方法,其特征在于,所述第二处理器通过所述电子设备的环境光传感器应用接收所述第二值;所述第二处理器通过所述电子设备的环境光传感器驱动接收所述环境光传感器发送的所述第四值和所述积分中断信号;
在所述环境光传感器应用接收到所述第二值之后,所述方法还包括:
所述第二处理器通过所述环境光传感器应用将所述第二值存储在所述电子设备的环境光存储器;
响应于接收到所述积分中断信号,所述第二处理器通过所述环境光传感器驱动调用所述电子设备的计算模块;
所述第二处理器通过所述计算模块获取所述环境光存储器中存储的第二值;
所述第二处理器通过所述计算模块根据所述第二值计算获得所述第三值;
相应的,所述第二处理器通过所述环境光传感器驱动向所述环境光传感器应用发送所述第四值;
所述第二处理器通过所述环境光传感器应用向所述第一处理器发送所述第四值。
35.一种电子设备,其特征在于,所述电子设备包括第一处理器、第二处理器、OLED屏和环境光传感器,所述环境光传感器位于所述OLED屏的下方,所述第一处理器和所述第二处理器用于运行存储器中存储的计算机程序,以使得所述电子设备实现如权利要求1至20任一项所述的方法。
36.一种芯片系统,其特征在于,包括第一处理器,所述第一处理器与存储器耦合,所述第一处理器执行存储器中存储的计算机程序,以实现如权利要求21至32任一项所述的方法。
37.一种芯片系统,其特征在于,包括第二处理器,所述第二处理器与存储器耦合,所述第二处理器执行存储器中存储的计算机程序,以实现如权利要求33至34任一项所述的方法。
38.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储计算机程序,所述计算机程序在处理器上运行时实现如权利要求21至32任一项所述的方法或如权利要求33至34任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211110935.6A CN115597706B (zh) | 2021-05-17 | 2021-05-17 | 一种环境光的检测方法、电子设备及芯片系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110537594.XA CN113804290B (zh) | 2021-05-17 | 2021-05-17 | 一种环境光的检测方法、电子设备及芯片系统 |
CN202211110935.6A CN115597706B (zh) | 2021-05-17 | 2021-05-17 | 一种环境光的检测方法、电子设备及芯片系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110537594.XA Division CN113804290B (zh) | 2021-05-17 | 2021-05-17 | 一种环境光的检测方法、电子设备及芯片系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115597706A CN115597706A (zh) | 2023-01-13 |
CN115597706B true CN115597706B (zh) | 2023-10-20 |
Family
ID=78942406
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110537594.XA Active CN113804290B (zh) | 2021-05-17 | 2021-05-17 | 一种环境光的检测方法、电子设备及芯片系统 |
CN202211110935.6A Active CN115597706B (zh) | 2021-05-17 | 2021-05-17 | 一种环境光的检测方法、电子设备及芯片系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110537594.XA Active CN113804290B (zh) | 2021-05-17 | 2021-05-17 | 一种环境光的检测方法、电子设备及芯片系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113804290B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117008854A (zh) * | 2022-04-28 | 2023-11-07 | 华为技术有限公司 | 亮屏控制方法、电子设备及计算机可读存储介质 |
CN116775200B (zh) * | 2023-08-24 | 2023-11-17 | 荣耀终端有限公司 | Aod显示方法和电子设备 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101945169A (zh) * | 2010-09-09 | 2011-01-12 | 深圳市融创天下科技发展有限公司 | 一种摄像和播放的方法、系统、移动通讯终端 |
CN102265707A (zh) * | 2011-04-29 | 2011-11-30 | 华为终端有限公司 | 终端设备中的发光器件控制方法、装置及终端设备 |
CN106462339A (zh) * | 2015-09-28 | 2017-02-22 | 华为技术有限公司 | 终端及检测环境光亮度的方法 |
CN107395280A (zh) * | 2017-08-23 | 2017-11-24 | 华南理工大学 | 适用于可见光通信的智能手机图像接收方法及其系统 |
CN107665698A (zh) * | 2017-11-13 | 2018-02-06 | 维沃移动通信有限公司 | 环境光强度补偿方法及装置 |
CN107945770A (zh) * | 2017-11-22 | 2018-04-20 | 广东欧珀移动通信有限公司 | 环境光强度检测方法、装置、存储介质及电子设备 |
CN107957294A (zh) * | 2017-11-22 | 2018-04-24 | 广东欧珀移动通信有限公司 | 环境光强度检测方法、装置、存储介质及电子设备 |
CN108021161A (zh) * | 2017-11-22 | 2018-05-11 | 广东欧珀移动通信有限公司 | 环境光强度检测方法、装置、存储介质及电子设备 |
CN108716950A (zh) * | 2018-05-16 | 2018-10-30 | 北京小米移动软件有限公司 | 环境光亮度获取方法及装置 |
CN110730262A (zh) * | 2019-10-30 | 2020-01-24 | 北京字节跳动网络技术有限公司 | 环境亮度值检测方法、装置和电子设备 |
WO2020074696A1 (en) * | 2018-10-11 | 2020-04-16 | Ams Ag | Ambient light sensor |
CN111486950A (zh) * | 2020-04-20 | 2020-08-04 | Oppo广东移动通信有限公司 | 环境光检测方法、装置、电子设备及存储介质 |
CN112017615A (zh) * | 2019-05-31 | 2020-12-01 | 华为技术有限公司 | 电子设备的环境光亮度校准方法及电子设备 |
CN112146758A (zh) * | 2019-06-27 | 2020-12-29 | 北京小米移动软件有限公司 | 环境光检测装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9146304B2 (en) * | 2012-09-10 | 2015-09-29 | Apple Inc. | Optical proximity sensor with ambient light and temperature compensation |
US20150054846A1 (en) * | 2013-08-22 | 2015-02-26 | Lenovo (Singapore) Pte, Ltd | Mobile electronic device with orientation dependent ambient light sensitivity |
CN114461093B (zh) * | 2021-08-19 | 2023-01-20 | 荣耀终端有限公司 | 一种环境光的检测方法、电子设备、芯片系统及存储介质 |
-
2021
- 2021-05-17 CN CN202110537594.XA patent/CN113804290B/zh active Active
- 2021-05-17 CN CN202211110935.6A patent/CN115597706B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101945169A (zh) * | 2010-09-09 | 2011-01-12 | 深圳市融创天下科技发展有限公司 | 一种摄像和播放的方法、系统、移动通讯终端 |
CN102265707A (zh) * | 2011-04-29 | 2011-11-30 | 华为终端有限公司 | 终端设备中的发光器件控制方法、装置及终端设备 |
CN106462339A (zh) * | 2015-09-28 | 2017-02-22 | 华为技术有限公司 | 终端及检测环境光亮度的方法 |
CN107395280A (zh) * | 2017-08-23 | 2017-11-24 | 华南理工大学 | 适用于可见光通信的智能手机图像接收方法及其系统 |
CN107665698A (zh) * | 2017-11-13 | 2018-02-06 | 维沃移动通信有限公司 | 环境光强度补偿方法及装置 |
CN107957294A (zh) * | 2017-11-22 | 2018-04-24 | 广东欧珀移动通信有限公司 | 环境光强度检测方法、装置、存储介质及电子设备 |
CN107945770A (zh) * | 2017-11-22 | 2018-04-20 | 广东欧珀移动通信有限公司 | 环境光强度检测方法、装置、存储介质及电子设备 |
CN108021161A (zh) * | 2017-11-22 | 2018-05-11 | 广东欧珀移动通信有限公司 | 环境光强度检测方法、装置、存储介质及电子设备 |
CN108716950A (zh) * | 2018-05-16 | 2018-10-30 | 北京小米移动软件有限公司 | 环境光亮度获取方法及装置 |
WO2020074696A1 (en) * | 2018-10-11 | 2020-04-16 | Ams Ag | Ambient light sensor |
CN112017615A (zh) * | 2019-05-31 | 2020-12-01 | 华为技术有限公司 | 电子设备的环境光亮度校准方法及电子设备 |
CN112146758A (zh) * | 2019-06-27 | 2020-12-29 | 北京小米移动软件有限公司 | 环境光检测装置 |
CN110730262A (zh) * | 2019-10-30 | 2020-01-24 | 北京字节跳动网络技术有限公司 | 环境亮度值检测方法、装置和电子设备 |
CN111486950A (zh) * | 2020-04-20 | 2020-08-04 | Oppo广东移动通信有限公司 | 环境光检测方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115597706A (zh) | 2023-01-13 |
CN113804290B (zh) | 2022-09-23 |
CN113804290A (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11595566B2 (en) | Camera switching method for terminal, and terminal | |
CN113810601B (zh) | 终端的图像处理方法、装置和终端设备 | |
CN113810600B (zh) | 终端的图像处理方法、装置和终端设备 | |
CN113542580B (zh) | 去除眼镜光斑的方法、装置及电子设备 | |
EP4231147A1 (en) | Drawing command processing method and related device therefor | |
CN115597706B (zh) | 一种环境光的检测方法、电子设备及芯片系统 | |
CN114089932A (zh) | 多屏显示方法、装置、终端设备及存储介质 | |
CN110138999B (zh) | 一种用于移动终端的证件扫描方法及装置 | |
CN113490291A (zh) | 数据下载方法、装置和终端设备 | |
CN113923351A (zh) | 多路视频拍摄的退出方法、设备、存储介质和程序产品 | |
CN115706869A (zh) | 终端的图像处理方法、装置和终端设备 | |
CN115134640A (zh) | 同步播放方法及装置 | |
CN113837990B (zh) | 一种噪声的监测方法、电子设备、芯片系统及存储介质 | |
CN113820008B (zh) | 一种环境光的检测方法、电子设备及芯片系统 | |
CN113391735A (zh) | 显示形态的调整方法、装置、电子设备及存储介质 | |
CN113808030B (zh) | 一种噪声的监测方法、电子设备及芯片系统 | |
CN116233599B (zh) | 一种录像模式推荐方法和电子设备 | |
CN116389884B (zh) | 缩略图显示方法及终端设备 | |
CN116048831B (zh) | 一种目标信号处理方法和电子设备 | |
CN116051351B (zh) | 一种特效处理方法和电子设备 | |
CN113672454B (zh) | 冻屏监控方法、电子设备及计算机可读存储介质 | |
WO2023237087A1 (zh) | 易孕期的预测方法、装置和电子设备 | |
WO2023020420A1 (zh) | 音量显示方法、电子设备及存储介质 | |
WO2023207715A1 (zh) | 亮屏控制方法、电子设备及计算机可读存储介质 | |
CN116449942A (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 |