CN113820008B - 一种环境光的检测方法、电子设备及芯片系统 - Google Patents
一种环境光的检测方法、电子设备及芯片系统 Download PDFInfo
- Publication number
- CN113820008B CN113820008B CN202110611025.5A CN202110611025A CN113820008B CN 113820008 B CN113820008 B CN 113820008B CN 202110611025 A CN202110611025 A CN 202110611025A CN 113820008 B CN113820008 B CN 113820008B
- Authority
- CN
- China
- Prior art keywords
- noise
- time
- memory
- image
- exit position
- 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 16
- 230000015654 memory Effects 0.000 claims abstract description 450
- 238000004364 calculation method Methods 0.000 claims abstract description 69
- 238000000034 method Methods 0.000 claims description 142
- 238000004590 computer program Methods 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 abstract description 144
- 230000010354 integration Effects 0.000 description 179
- 230000004927 fusion Effects 0.000 description 178
- 230000008569 process Effects 0.000 description 82
- 230000000875 corresponding effect Effects 0.000 description 48
- 238000010586 diagram Methods 0.000 description 38
- 238000004891 communication Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 8
- 241000023320 Luma <angiosperm> Species 0.000 description 6
- 239000000872 buffer Substances 0.000 description 6
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 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
- 230000001419 dependent 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
- 230000004313 glare Effects 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
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002156 mixing Methods 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
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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
-
- 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/02—Details
- G01J1/0295—Constructional arrangements for removing other types of optical noise or for performing calibration
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10K—ORGANIC ELECTRIC SOLID-STATE DEVICES
- H10K59/00—Integrated devices, or assemblies of multiple devices, comprising at least one organic light-emitting element covered by group H10K50/00
- H10K59/60—OLEDs integrated with inorganic light-sensitive elements, e.g. with inorganic solar cells or inorganic photodiodes
Abstract
本申请实施例提供一种环境光的检测方法、电子设备及芯片系统,涉及环境光传感器技术领域。该检测方法包括:将噪声算法库计算获得的图像噪声和背光噪声分开存储,避免将图像噪声和背光噪声存储在一个存储器中时,会将时间戳表示的时刻等于或早于上一次存储的噪声的时间戳表示的时刻的噪声丢弃的问题;在将图像噪声和背光噪声分开存储后,还可以比较图像噪声存储器存储的图像噪声中时间戳表示的时刻最早的图像噪声的时间戳和背光噪声存储器存储的背光噪声中时间戳表示的时刻最早的背光噪声的时间戳,从而确定哪个噪声可以用于计算获得真实的环境光,由于采用该方式不会丢失图像噪声或背光噪声,因此,能够计算获得精确的环境光。
Description
技术领域
本申请实施例涉及环境光传感器领域,尤其涉及一种环境光的检测方法、电子设备及芯片系统。
背景技术
随着电子设备的发展,电子设备的显示屏的占比越来越高。为追求极致的屏占比,可以将电子设备上的环境光传感器设置在电子设备的OLED(Organic Light-EmittingDiode)屏下方。OLED屏本身会发光,这就导致置于OLED屏下方的环境光传感器采集的环境光中包含了OLED屏本身发出的光,导致基于环境光传感器采集的环境光不精确。
目前,为了精确的测量环境光,可以获得环境光传感器采集的环境光以及环境光传感器启动期间的噪声。然后,基于环境光传感器采集的环境光和获得的噪声获得真实的环境光。然而,在实际应用中,常出现丢失获得的噪声的问题,导致这种环境光的检测方式的得到的真实的环境光不精确。
发明内容
本申请实施例提供一种环境光的检测方法、电子设备及芯片系统,解决目前环境光的检测方式获得的真实环境光不精确的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供一种环境光的检测方法,应用于电子设备,所述电子设备包括用于存储第一类的噪声的第一噪声存储器和用于存储第二类的噪声的第二噪声存储器,所述第一噪声存储器的出口位置存储的噪声为第一噪声,所述第一噪声存储器的出口位置存储的噪声为所述第一噪声存储器当前存储的第一类的噪声的时间戳表示的时刻中最早的第一类的噪声,所述第二噪声存储器的出口位置存储的噪声为所述第二噪声存储器当前存储的第二类的噪声的时间戳表示的时刻中最早的第二类的噪声;
所述方法包括:
获取所述电子设备的环境光传感器采集的第一值、第一时间和第二时间,所述第一时间为所述环境光传感器采集所述第一值的开始时刻,所述第二时间为所述环境光传感器采集所述第一值的结束时刻;
比较所述第一噪声存储器的出口位置存储的噪声的时间戳和所述第二噪声存储器的出口位置存储的噪声的时间戳;
所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻、且所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二时间、且所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻晚于所述第一时间,从所述第一噪声存储器的出口位置取出第一噪声,并更新所述第一噪声存储器的出口位置的噪声或更新所述第一噪声存储器的出口位置;
基于所述第一值和所述第一噪声,计算获得第二值。
本申请实施例将噪声算法库计算获得的图像噪声和背光噪声分开存储,避免将图像噪声和背光噪声存储在一个存储器中时,会将时间戳表示的时刻等于或早于上一次存储的噪声的时间戳表示的时刻的噪声丢弃的问题;在将图像噪声和背光噪声分开存储后,还可以比较图像噪声存储器存储的图像噪声中时间戳表示的时刻最早的图像噪声的时间戳和背光噪声存储器存储的背光噪声中时间戳表示的时刻最早的背光噪声的时间戳,从而确定哪个噪声可以用于计算获得真实的环境光。按照这种方式不会丢失图像噪声和背光噪声,因此计算获得的真实环境光更精确。
在第一方面的一种可能的实现方式中,在从所述第一噪声存储器的出口位置取出第一噪声,并更新所述第一噪声存储器的出口位置的噪声或更新所述第一噪声存储器的出口位置之后,基于所述第一值、所述第一噪声,计算获得第二值之前,还包括:
更新后的所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻晚于所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻、且所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二时间、且所述更新后的第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻晚于所述第一时间,从所述第二噪声存储器的出口位置取出第二噪声,并更新所述第二噪声存储器的出口位置的噪声或更新所述第二噪声存储器的出口位置;
相应的,所述基于所述第一值和所述第一噪声,计算获得第二值,包括:
基于所述第一值、所述第一噪声和所述第二噪声,计算获得第二值。
在第一方面的一种可能的实现方式中,所述基于所述第一值、所述第一噪声和所述第二噪声,计算获得第二值之前,还包括:
所述更新后的所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻等于更新后的所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻、且所述更新后的第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二时间,从所述更新后的第一噪声存储器的出口位置取出第三噪声,并更新所述第一噪声存储器的出口位置的噪声或更新所述第一噪声存储器的出口位置;从所述更新后的所述第二噪声存储器的出口位置取出第四噪声,并更新所述第二噪声存储器的出口位置的噪声或更新所述第二噪声存储器的出口位置;
计算所述第三噪声和所述第四噪声的平均值,获得第五噪声;
所述基于所述第一值、所述第一噪声和所述第二噪声,计算获得第二值,包括:
基于所述第一值、所述第一噪声、第二噪声和所述第五噪声,计算获得第二值。
在第一方面的一种可能的实现方式中,所述第一噪声的时间戳晚于所述第一时间,在所述第一噪声存储器的出口位置存储的噪声为第一噪声之前,所述第一噪声存储器的出口位置存储的噪声为第九噪声;在所述第二噪声存储器的出口位置存储的噪声为第二噪声之前,所述第二噪声存储器的出口位置存储的噪声为第六噪声,所述方法还包括:
所述第六噪声的时间戳表示的时刻晚于所述第九噪声的时间戳表示的时刻、且所述第九噪声的时间戳表示的时刻早于所述第一时间、且所述第六噪声的时间戳表示的时刻早于或等于所述第一时间,更新所述第一噪声存储器的出口位置的噪声为所述第一噪声或更新所述第一噪声存储器的出口位置到所述第一噪声的存储位置;
从所述第二噪声存储器的出口位置取出所述第六噪声,并更新所述第二噪声存储器的出口位置的噪声为所述第二噪声或更新所述第二噪声存储器的出口位置到所述第二噪声的存储位置;
相应的,所述基于所述第一值、所述第一噪声和所述第二噪声,计算获得第二值,包括:
基于所述第一值、所述第一噪声、所述第二噪声和所述第六噪声,计算获得第二值。
在第一方面的一种可能的实现方式中,在所述第二噪声存储器的出口位置存储的噪声为第六噪声之前,所述第二噪声存储器的出口位置存储的噪声为第十噪声,在比较所述第六噪声的时间戳表示的时刻和所述第九噪声的时间戳表示的时刻之前,还包括:
确定所述第十噪声的时间戳表示的时刻早于所述第六噪声的时间戳表示的时刻;
取出并丢弃所述第十噪声,并更新所述第二噪声存储器的出口位置的噪声为所述第六噪声或更新所述第二噪声存储器的出口位置到所述第六噪声的存储位置。
在第一方面的一种可能的实现方式中,在更新所述第一噪声存储器的出口位置的噪声为所述第一噪声或更新所述第一噪声存储器的出口位置到所述第一噪声的存储位置之前,还包括:
获取所述第一噪声存储器当前存储的噪声的个数;
在所述第一噪声存储器当前存储的噪声的个数大于或等于2时,更新所述第一噪声存储器的出口位置的噪声为所述第一噪声或更新所述第一噪声存储器的出口位置到所述第一噪声的存储位置。
在第一方面的一种可能的实现方式中,所述更新所述第二噪声存储器的出口位置的噪声为所述第四噪声或更新所述第二噪声存储器的出口位置到所述第四噪声的存储位置之后,包括:
若所述第二噪声存储器当前存储的噪声的个数等于1,则不再更新所述第二噪声存储器的出口位置的噪声、且不再更新所述第二噪声存储器的出口位置;
相应的,所述从所述更新后的所述第二噪声存储器的出口位置取出所述第四噪声之后,终止从所述第二噪声存储器的出口位置获取噪声。
在第一方面的一种可能的实现方式中,所述终止从所述第二噪声存储器的出口位置获取噪声之后,在基于所述第一值和所述第一噪声,计算获得第二值之前,还包括:
若所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于第二时间,则从所述第一噪声存储器的出口位置取出第七噪声,并更新所述第一噪声存储器的出口位置的噪声为第十一噪声或更新所述第一噪声存储器的出口位置为第十一噪声的存储位置,所述第十一噪声的时间戳表示的时刻晚于所述第七噪声;
相应的,所述基于所述第一值、所述第一噪声、第二噪声和所述第五噪声,计算获得第二值,包括:
基于所述第一值、所述第一噪声、所述第二噪声、所述第五噪声和所述第七噪声,计算获得第二值。
在第一方面的一种可能的实现方式中,所述方法还包括:
若所述第十一噪声的时间戳表示的时刻晚于或等于所述第二时间,则终止从所述第一噪声存储器的出口位置获取噪声。
在第一方面的一种可能的实现方式中,所述方法还包括:
获取噪声;
在获取的噪声为第一类的噪声时,按照所述第一类的噪声的时间戳表示的时刻的顺序存储所述第一类的噪声至所述第一噪声存储器;
在获取的噪声为第二类的噪声时,按照所述第二类的噪声的时间戳表示的时刻的顺序存储所述第二类的噪声至所述第二噪声存储器。
在第一方面的一种可能的实现方式中,所述更新所述第一噪声存储器的出口位置的噪声包括:
将所述第一噪声存储器中除出口位置以外的其他位置存储的噪声向出口方向移动一个位置;
所述更新所述第一噪声存储器的出口位置包括:
将所述第一噪声存储器的出口位置移到所述第一噪声存储器当前存储的噪声的时间戳表示的时刻最早的位置。
在第一方面的一种可能的实现方式中,所述从所述第一噪声存储器的出口位置取出第一噪声后,还包括:
存储所述第一噪声至第三噪声存储器;
相应的,所述基于所述第一值和所述第一噪声,计算获得第二值包括:
在终止从所述第一噪声存储器的出口位置获取噪声、且终止从所述第二噪声存储器的出口位置获取噪声的情况下,基于所述第一值和所述第三噪声存储器当前存储的噪声,计算获得第二值,所述第三噪声存储器当前存储的噪声至少包括:所述第一噪声。
在第一方面的一种可能的实现方式中,所述第一噪声存储器以环形数组的形式存储所述第一类的噪声;所述第二噪声存储器以环形数组的形式存储所述第二类的噪声;
所述第一类的噪声为图像噪声,所述第二类的噪声为背光噪声;
或,
所述第一类的噪声为背光噪声,所述第二类的噪声为图像噪声。
第二方面,提供一种电子设备,所述电子设备包括用于存储第一类的噪声的第一噪声存储器和用于存储第二类的噪声的第二噪声存储器,所述第一噪声存储器的出口位置存储的噪声为第一噪声,所述第一噪声存储器的出口位置存储的噪声为所述第一噪声存储器当前存储的第一类的噪声的时间戳表示的时刻中最早的第一类的噪声,所述第二噪声存储器的出口位置存储的噪声为所述第二噪声存储器当前存储的第二类的噪声的时间戳表示的时刻中最早的第二类的噪声;
所述电子设备包括:
获取模块,用于获取所述电子设备的环境光传感器采集的第一值、第一时间和第二时间,所述第一时间为所述环境光传感器采集所述第一值的开始时刻,所述第二时间为所述环境光传感器采集所述第一值的结束时刻;
比较模块,用于比较所述第一噪声存储器的出口位置存储的噪声的时间戳和所述第二噪声存储器的出口位置存储的噪声的时间戳;
取存模块,用于所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻、且所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二时间、且所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻晚于所述第一时间,从所述第一噪声存储器的出口位置取出第一噪声,并更新所述第一噪声存储器的出口位置的噪声或更新所述第一噪声存储器的出口位置;
计算模块,用于基于所述第一值和所述第一噪声,计算获得第二值。
第三方面,提供一种电子设备,包括处理器,处理器用于运行存储器中存储的计算机程序,实现本申请第一方面任一项的方法。
第四方面,提供一种芯片系统,包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请第一方面任一项的方法。
第五方面,提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被一个或多个处理器执行时实现本申请第一方面任一项。
第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在设备上运行时,使得设备执行本申请第一方面任一项的方法。
可以理解的是,上述第二方面至第八方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的一种电子设备的硬件结构示意图;
图2为本申请实施例提供的电子设备中环境光传感器和显示屏的一种位置关系图;
图3为本申请实施例提供的电子设备中环境光传感器和显示屏的另一种位置关系图;
图4为本申请实施例提供的电子设备中环境光传感器和显示屏的另一种位置关系图;
图5为本申请实施例提供的显示屏上目标区域的位置关系图;
图6为本申请实施例提供的显示屏上环境光传感器和目标区域的一种位置关系图;
图7为本申请实施例提供的环境光的检测方法依赖的一种技术架构图;
图8为本申请实施例提供的环境光传感器采集环境光的采集周期示意图;
图9为图8所示实施例中一个采集周期内进行图像刷新和背光调节的各时间节点示意图;
图10为基于图7所示技术架构实现的环境光的检测方法的一种时序流程图;
图11为图10所示实施例中本申请实施例提供的AP处理器中的各个模块之间的时序流程图;
图12为本申请实施例提供的环境光的检测方法依赖的另一种技术架构图;
图13为基于图12所示技术架构实现的环境光的检测方法的另一种时序流程图;
图14为基于图9所示实施例提供的各时间节点的图像噪声和背光噪声计算积分噪声的示意图;
图15为本申请实施例提供的一个采集周期内的进行图像刷新和背光调节的各时间节点示意图;
图16为基于图15所示实施例提供的各时间节点的图像噪声和背光噪声计算积分噪声的示意图;
图17为本申请实施例提供的进行图像刷新和背光调节的各时间节点示意图;
图18为本申请实施例提供的在图17所实施例的基础上噪声存储器存储的各个时刻的噪声示意图;
图19为本申请实施例提供的在图18所示实施例的基础上计算获得积分噪声的示意图;
图20为本申请实施例提供的进行图像刷新和背光调节的各时间节点示意图;
图21为本申请实施例提供的一种噪声存储器存储的各个时刻的噪声示意图;
图22为本申请实施例提供的基于图21所示的实施例计算积分噪声的示意图;
图23为本申请实施例提供的从图像噪声存储器和背光噪声存储器获取融合噪声计算积分噪声的过程示意图;
图24为本申请实施例提供的另一种从图像噪声存储器和背光噪声存储器获取融合噪声计算积分噪声的过程示意图;
图25为本申请实施例提供的一种图像噪声存储器和背光噪声存储器存储的噪声的示意图;
图26为本申请实施例提供的另一种从图像噪声存储器和背光噪声存储器获取融合噪声计算积分噪声的过程示意图;
图27为本申请实施例提供的另一种从图像噪声存储器和背光噪声存储器获取融合噪声计算积分噪声的过程示意图;
图28为本申请实施例提供的一种对图像噪声存储器和背光噪声存储器进行预处理的过程示意图;
图29为本申请实施例提供的在图28所示实施例的基础上从图像噪声存储器和背光噪声存储器获取融合噪声计算积分噪声的过程示意图;
图30为本申请实施例提供的电子设备的示意性框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,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)层的环境光传感器驱动(ALSDRV)中,参见步骤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时刻的背光噪声也可以获得本次积分时间段的目标环境光。实际应用中,噪声算法库计算机获得t11时刻的图像噪声和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时刻的图像噪声为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)的积分噪声加在一起就是整个积分时间段的积分噪声。
上述示例中积分时间段的开始时刻正是图像刷新的时刻,即能够获得积分时间段的开始时刻的图像噪声。
在实际应用中,可能积分时间段的开始时刻并不是图像刷新的时刻,也不是背光调节的时刻。这种情况下,就需要获取本次积分时间段开始之前最近一次的变化时刻(图像刷新时刻或背光调节时刻)对应的融合噪声。
参见图15所示,为本申请实施例提供的AP处理器中的噪声计算库获得积分时间段(t01时刻至t1时刻)的积分噪声的示意图,t01时刻不再是本次积分时间段的开始时刻,而是本次积分时间段内的一次图像刷新时刻。在本次积分时间段开始之前最近的一次变化时刻(图像刷新时刻或亮度调节时刻)为t-1时刻,该时刻为图像刷新时刻。
参见图16所示,若本次积分时间段开始之前最近一次的变化时刻为图像刷新时刻,则该图像刷新时刻对应的图像噪声会对t0时刻至t01时刻的初始环境光造成干扰。
当然,若最近一次的变化时刻为亮度调节时刻,则该亮度调节时刻对应的背光噪声会对t0至t01时刻的初始环境光造成干扰。
图16所示的实施例中,积分时间段中的各个子时间段对应的积分噪声分别为:
通过上述示例可以理解,获得的积分噪声也是四通道上的raw值。
上述示例中的时间戳均不相同,在实际应用中,HWC可能在一个时间度量单位内(例如1ms内)既执行了获取目标图像的过程,也执行了获取待调节的亮度的过程。然而,该时刻获取的目标图像和待调节的亮度的时间戳相同。
若存在时间戳相同的目标图像和亮度值,且所述噪声算法库先接收到该目标图像,则噪声算法库先根据目标图像和目标图像之前的最新的亮度值计算图像噪声,计算亮度值对应的背光噪声时,根据时间戳相同的目标图像和亮度值计算背光噪声;
若存在时间戳相同的目标图像和亮度值,且所述噪声算法库先接收到该亮度值,则噪声算法库先根据亮度值和亮度值之前的最新的目标图像计算背光噪声,计算目标图像对应的图像噪声时,根据时间戳相同的目标图像和亮度值计算图像噪声。
噪声算法库先接收到目标图像,则先计算获得图像噪声,先存储图像噪声至噪声存储器。噪声存储器中存储的融合噪声存在时间先后顺序,即在存储至噪声存储器之前,判断当前准备存储的融合噪声是否在上一次存储的融合噪声的时间戳之后,若当前准备存储的融合噪声在上一次存储的融合噪声的时间戳之后,则存储,若当前准备存储的融合噪声在上一次存储的融合噪声的时间戳之前或相同,则丢弃当前待存储的噪声。因此,后计算获得的背光噪声会被丢弃。
在实际应用中,目标图像的时间戳可以为HWC开始执行从CWB回写内存获取目标图像的时刻作为目标图像的时间戳。亮度值的时间戳可以为HWC开始执行从内核节点获取亮度值的时刻作为亮度值的时间戳。HWC在执行获取目标图像的过程中,有可能会切换到获取亮度值。因此,HWC虽然先执行获取目标图像,后执行获取亮度值,亮度值的时间戳晚于目标图像的时间戳。然而,HWC有可能先获取到亮度值并将亮度值发送至噪声算法库,噪声算法库计算获得背光噪声并存储该背光噪声。后获取到目标图像并将目标图像发送至噪声算法库,噪声算法库计算获得图像噪声并存储该图像噪声。这样就导致当前准备存储的图像噪声的时间戳表示的时刻在上一次存储的背光噪声的时间戳表示的时刻之前。
步骤四、噪声算法库从初始环境光中去除整个积分时间段的积分噪声获得目标环境光。
在本申请实施例中,SCP处理器向AP处理器的HWC发送的初始环境光为RGBC四通道raw值形式的初始环境光数据。HWC发送至噪声算法库的也为RGBC四通道raw值形式的初始环境光数据。在步骤三中得到的是积分噪声的四通道上的raw值。因此,在该步骤,可以对初始环境光的四通道raw值和积分噪声四通道raw值进行运算,得到目标环境光的四通道上的raw值。
噪声算法库在计算获得目标环境光的四通道上的raw值后,就可将该目标环境光的四通道上的raw值发送至SCP处理器中,SCP处理器根据目标环境光的四通道上的raw值计算获得目标环境光的lux值。
作为示例,可以根据各个通道的raw值乘以各个通道的系数(该系数可以由环境光传感器的厂家提供)加权得到lux值。
上述实施例中,AP处理器侧的噪声算法库每次计算获得融合噪声(图像噪声或背光噪声)之后,会将当前计算获得的融合噪声存储在噪声存储器中。
另外,上述实施例中的步骤三中,在噪声算法库计算获得融合噪声后,将融合噪声存储在噪声存储器中时,若当前准备存储的融合噪声在上一次存储的融合噪声的时间戳之前或相同,则丢弃当前待存储的噪声。因此,当前准备存储的融合噪声会被丢弃,而不能存储在噪声存储器中。这样可能会导致计算获得的积分噪声错误,以至于计算获得的目标环境光错误。
为了更清楚理解存在时间戳相同的融合噪声时,可能导致计算获得的积分噪声错误的问题。参照图17所示实施例。
图17所示实施例中,t-1时刻进行亮度调节,t01时刻进行图像刷新,t02时刻既进行亮度调节,也进行图像刷新,t03时刻进行图像刷新,t04时刻进行图像刷新。t0时刻为积分开始时刻,t1为积分结束时刻。
噪声算法库接收到HWC发送的t-1时刻的亮度值,则根据t-1时刻的亮度值和噪声算法库在该时刻之前接收到的最近时刻的目标图像计算获得t-1时刻的背光噪声。存储t-1时刻的背光噪声至噪声算法库。
噪声算法库接收到HWC发送的t01时刻的目标图像,则根据t01时刻的目标图像和t-1时刻的亮度值计算获得t01时刻的图像噪声。存储t01时刻的图像噪声至噪声算法库。
噪声算法库先接收到HWC发送的t02时刻的目标图像,则根据t02时刻的目标图像和t-1时刻的亮度值计算获得t02时刻的图像噪声。存储t02时刻的图像噪声至噪声算法库。
噪声算法库后接收到HWC发送的t02时刻的亮度值,则根据t02时刻的亮度值和t02时刻的图像计算获得背光噪声。由于噪声算法库已经存储t02时刻的融合噪声,因此,噪声算法库会丢弃t02时刻的背光噪声。
噪声算法库接收到HWC发送的t03时刻的目标图像,则根据t03时刻的目标图像和t02时刻的亮度值计算获得t03时刻的图像噪声。存储t03时刻的图像噪声至噪声算法库。
噪声算法库接收到HWC发送的t04时刻的目标图像,则根据t04时刻的目标图像和t02时刻的亮度值计算获得t04时刻的图像噪声。存储t04时刻的图像噪声至噪声算法库。
参见图18,在积分结束(t1)之后,噪声存储器中存储了:t-1时刻的背光噪声、t01时刻的图像噪声、t02时刻的图像噪声、t03时刻的图像噪声、t04时刻的图像噪声。
参见图19,在计算积分噪声时,t02时刻至t03时刻的积分噪声采用的为噪声算法库存储的t02时刻的图像噪声,而t02时刻的图像噪声由t02时刻的目标图像和t-1时刻的亮度值计算获得。显然,t02时刻至t03时刻显示屏的亮度值为t02时刻对应的亮度值。所以,就会导致t02时刻至t03时刻的积分噪声错误,导致计算的目标环境光错误。
另外,本申请实施例以AP处理器侧的噪声算法库每次计算获得融合噪声(图像噪声或背光噪声)之后,会将当前计算获得的融合噪声存储在AP处理器的噪声存储器中,AP处理器的噪声算法库从噪声存储器中获取融合噪声计算获得积分噪声为例。
实际应用中,AP处理器的噪声算法库计算获得融合噪声后,也可以将计算获得的融合噪声发送给HWC,AP处理器侧的HWC将融合噪声发送至SCP处理器,SCP处理器存储接收的融合噪声至SCP处理器侧的噪声存储器。SCP处理器根据噪声存储器中存储的融合噪声获得积分噪声。
若AP处理器计算融合噪声,AP处理器将融合噪声发送至SCP处理器,SCP处理器存储融合噪声,SCP处理器计算获得积分噪声。还可能出现以下情况:
参见图20,t-1时刻进行亮度调节,t01时刻进行图像刷新,t02时刻进行亮度调节,t03时刻进行图像刷新,t04时刻进行图像刷新。t0时刻为积分开始时刻,t1为积分结束时刻。
t-1时刻亮度调节,AP处理器计算获得t-1时刻的背光噪声,t01时刻进行图像刷新,AP处理器计算获得t01时刻的图像噪声,t02时刻进行亮度调节,AP处理器计算获得t02时刻的背光噪声,……。
t01时刻和t02时刻很接近,例如,t01时刻比t02时刻早1ms。但是由于AP处理器获得t01时刻的图像噪声并发送t01时刻的图像噪声至SCP处理器的噪声存储器的过程和AP处理器获得获得t02时刻的背光噪声并发送t02时刻的背光噪声至SCP处理器的噪声存储器的过程存在差异,导致t02时刻的背光噪声可能比t01时刻的图像噪声更早的发送至SCP处理器的噪声存储器中。
如前所述,噪声存储器存储融合噪声时,会将待存储的时间戳表示的时刻比上一次存储的融合噪声的时间戳表示的时刻更早或相等的融合噪声丢弃,以保证噪声储器中存储的融合噪声都是按照时间戳表示的时刻的时间先后顺序存储。
作为示例,若先存储了t02时刻的背光噪声,则SCP处理器会丢弃t01时刻的图像噪声,则噪声存储器中存储的融合噪声的时间戳参见图21所示。
按照上述获得积分噪声的过程,可以得到图22所示的积分噪声。丢弃t01时刻的图像噪声后,t01时刻至t02时刻的积分噪声根据t-1时刻的融合噪声计算获得。显然,t01时刻至t02时刻的积分噪声应该根据t01时刻的融合噪声计算获得。因此,这个积分时间段的积分噪声总和错误,也导致获得的目标环境光不准确。
作为另一示例,继续以AP处理器侧的噪声算法库每次计算获得融合噪声(图像噪声或背光噪声)之后,会将当前计算获得的融合噪声存储在AP处理器的噪声存储器中,AP处理器的噪声算法库从噪声存储器中获取融合噪声计算获得积分噪声为例。目标图像的时间戳可以为AP处理器中的HWC开始执行从CWB回写内存获取目标图像的时刻作为目标图像的时间戳。亮度值的时间戳可以为HWC开始执行从内核节点获取亮度值的时刻作为亮度值的时间戳。HWC在执行获取目标图像的过程中,有可能会切换到获取亮度值。因此,HWC虽然先执行获取目标图像,后执行获取亮度值,亮度值的时间戳晚于目标图像的时间戳。实际应用中,HWC有可能先获取到亮度值并将亮度值发送至噪声算法库,噪声算法库计算获得背光噪声并存储该背光噪声。HWC有可能后获取到目标图像并将目标图像发送至噪声算法库,噪声算法库计算获得图像噪声并存储该图像噪声。这样就导致当前准备存储的图像噪声的时间戳表示的时刻在上一次存储的背光噪声的时间戳表示的时刻之前。因此也会出现图21所示实施例中的情况。
为解决上述问题,本申请实施例将图像噪声和背光噪声分别存储。即为图像噪声设置图像噪声存储器,例如图像噪声FIFO,为背光噪声设置背光噪声存储器,例如背光噪声FIFO。
对于图像噪声而言,AP处理器每次获取图像噪声的步骤是相同的。因此,先刷新的图像对应的图像噪声先送至图像噪声FIFO中,后刷新的图像对应的图像噪声后发送至图像噪声FIFO中。同理,对于背光噪声而言,AP处理器每次获取背光噪声的步骤也是相同的。因此,先调节的亮度对应的背光噪声先送至背光噪声FIFO中,后调节的亮度对应的背光噪声后发送至背光噪声FIFO中。
在获得积分噪声时,从图像噪声FIFO中取出图像噪声,从背光噪声FIFO中取背光噪声。为了保证获取的融合噪声为图像噪声FIFO和背光噪声FIFO中存储的融合噪声中时间戳表示的时刻最早的融合噪声,每次取融合噪声时,可以比较图像噪声存储器的出口位置存储的图像噪声的时间戳和背光噪声存储器的出口位置存储的背光噪声的时间戳。若图像噪声存储器的出口位置存储的图像噪声的时间戳早于背光噪声存储器的出口位置存储的背光噪声的时间戳,则先取出图像噪声存储器的出口位置存储的图像噪声。若图像噪声存储器的出口位置存储的图像噪声的时间戳晚于背光噪声存储器的出口位置存储的背光噪声的时间戳,则先取出背光噪声存储器的出口位置存储的背光噪声。
以图20所示实施例中的各个时刻的发生事件为例进行描述,图像噪声和背光噪声分开存储,则图像噪声FIFO中存储了t-2时刻的图像噪声,t01时刻的图像噪声,t03时刻的图像噪声,t04时刻的图像噪声,参照图23。背光噪声FIFO中存储了:t-1时刻的背光噪声,t02时刻的背光噪声,参照图23。图23所示实施例中的图像噪声FIFO中存储的图像噪声用时间戳替代表示。背光噪声FIFO中存储的背光噪声用时间戳替代表示。图像噪声的时间戳和图像噪声存储在同一个存储位置的不同字段中。背光噪声的时间戳和背光噪声存储在同一个存储位置的不同字段中。
噪声算法库在根据图像噪声FIFO和背光噪声FIFO中存储的融合噪声计算获得积分噪声时,可以参照如下步骤:
噪声算法库首先查看图像噪声FIFO的出口位置的图像噪声的时间戳和背光噪声FIFO的出口位置的背光噪声的时间戳哪个更早。
第一次从图像噪声FIFO或背光噪声FIFO取融合噪声:取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t-2时刻的图像噪声,并更新图像噪声FIFO的出口位置的图像噪声。具体可参照图23中第一次取噪声后图像噪声FIFO中存储的图像噪声的时间戳。
第二次从图像噪声FIFO或背光噪声FIFO取融合噪声:t-2时刻在t0时刻之前,继续取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t-1时刻的背光噪声,并更新背光噪声FIFO的出口位置的背光噪声。具体可参照图23中第二次取噪声后背光噪声FIFO中存储的背光噪声的时间戳。
第三次从图像噪声FIFO或背光噪声FIFO取融合噪声:t-1时刻在t0时刻之前,丢弃t-2时刻的图像噪声,并继续取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t01时刻的图像噪声,并更新图像噪声FIFO的出口位置的图像噪声。具体可参照图23中第三次取噪声后图像噪声FIFO中存储的图像噪声的时间戳。
第四次从图像噪声FIFO或背光噪声FIFO取融合噪声:t01时刻在t0时刻之后t1时刻之前,可以计算获得t0时刻至t01时刻的积分噪声。并继续取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t02时刻的背光噪声,并更新背光噪声FIFO的出口位置的背光噪声。具体可参照图23中第四次取噪声后背光噪声FIFO中存储的背光噪声的时间戳。
第五次从图像噪声FIFO或背光噪声FIFO取融合噪声:t02时刻在t0时刻之后t1时刻之前,可以计算获得t01时刻至t02时刻的积分噪声。并继续取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t03时刻的图像噪声,并更新图像噪声FIFO的出口位置的图像噪声。具体可参照图23中第五次取噪声后图像噪声FIFO中存储的图像噪声的时间戳。
第六次从图像噪声FIFO或背光噪声FIFO取融合噪声:t03时刻在t0时刻之后t1时刻之前,可以计算获得t02时刻至t03时刻的积分噪声。并继续取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t04时刻的图像噪声,并更新图像噪声FIFO的出口位置的图像噪声。具体可参照图23中第六次取噪声后图像噪声FIFO中存储的图像噪声的时间戳。
第七次从图像噪声FIFO或背光噪声FIFO取融合噪声:t04时刻在t0时刻之后t1时刻之前,可以计算获得t03时刻至t04时刻的积分噪声。并继续取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t11时刻的背光噪声,并更新背光噪声FIFO的出口位置的背光噪声。
需要说明,t11时刻的背光噪声,可能是在噪声算法库计算获得积分噪声的期间,HWC从内核节点获取到的待调节的亮度,HWC将待调节的亮度发送至噪声算法库,噪声算法库计算获得t11时刻的背光噪声,并存储t11时刻的背光噪声至背光噪声FIFO。t12时刻的图像噪声,可能是在噪声算法库计算获得积分噪声的期间,HWC从CWB回写内存获取到的目标图像,HWC将目标图像发送至噪声算法库,噪声算法库计算获得t12时刻的图像噪声,并存储t12时刻的图像噪声至图像噪声FIFO。图示中的t11时刻的背光噪声存储在背光噪声存储器中的时间仅用于示例,并不对本申请造成任何限制。t12时刻的图像噪声存储在图像噪声存储器中的时间也仅用于示例,并不对本申请造成任何限制。
当前取出的融合噪声的时间戳在t1时刻之后,计算获得t04时刻至t1时刻的积分噪声。此时无需再取出融合噪声,也可以得到t0时刻至t1时刻的积分噪声。
需要说明,由于t11时刻的融合噪声有可能对下一个积分时间段的初始环境光存在干扰,因此,噪声算法库可以缓存一个最新取出的融合噪声。
作为示例,在第五次去噪声时,取出t03时刻的图像噪声后,计算t02时刻至t03时刻的积分噪声时,需要用到t02时刻的背光噪声,因此,噪声算法库可以缓存一个最新取出的融合噪声。相应的,计算t02时刻至t03时刻的积分噪声之后,缓存t03时刻的图像噪声。
作为另一实施例,上述过程还可以按照图24所示实施例进行。
参照图24所示实施例,与图23所示实施例类似,只是在取出融合噪声后,即使当前可以根据取出的融合噪声计算获得子时间段的积分噪声,也可以先不计算各个子时间段的积分噪声,而是将取出的对本次积分时间段存在干扰的融合噪声(图像噪声和背光噪声)再次存储在同一存储器中,该存储器可以是上述实施例中用于存储图像噪声和背光噪声的噪声存储器。还可以是任意形式的存储器,本申请实施例对此不做限定。
第一次从图像噪声FIFO或背光噪声FIFO取融合噪声:取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t-2时刻的图像噪声,并更新图像噪声FIFO的出口位置的图像噪声。
第二次从图像噪声FIFO或背光噪声FIFO取融合噪声:t-2时刻在t0时刻之前,继续取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t-1时刻的背光噪声,并更新背光噪声FIFO的出口位置的背光噪声。
第三次从图像噪声FIFO或背光噪声FIFO取融合噪声:t-1时刻在t0时刻之前,丢弃t-2时刻的图像噪声,并继续取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t01时刻的图像噪声,并更新图像噪声FIFO的出口位置的图像噪声。
t01时刻在t0时刻之后,因此,t-1时刻会对t0时刻至t1时刻的初始环境光存在干扰,因此,将t-1时刻的背光噪声存储在噪声存储器中。
第四次从图像噪声FIFO或背光噪声FIFO取融合噪声:t01时刻在t0时刻之后t1时刻之前,t01时刻会对t0时刻至t1时刻的初始环境光存在干扰,因此,将t01时刻的图像噪声存储在噪声存储器中。并继续取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t02时刻的背光噪声,并更新背光噪声FIFO的出口位置的背光噪声。
第五次从图像噪声FIFO或背光噪声FIFO取融合噪声:t02时刻在t0时刻之后t1时刻之前,t02时刻会对t0时刻至t1时刻的初始环境光存在干扰,因此,将t02时刻的背光噪声存储在噪声存储器中。并继续取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t03时刻的图像噪声,并更新图像噪声FIFO的出口位置的图像噪声。
第六次从图像噪声FIFO或背光噪声FIFO取融合噪声:t03时刻在t0时刻之后t1时刻之前,t03时刻会对t0时刻至t1时刻的初始环境光存在干扰,因此,将t03时刻的图像噪声存储在噪声存储器中。并继续取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t04时刻的图像噪声,并更新图像噪声FIFO的出口位置的图像噪声。
第七次从图像噪声FIFO或背光噪声FIFO取融合噪声:t04时刻在t0时刻之后t1时刻之前,t04时刻会对t0时刻至t1时刻的初始环境光存在干扰,因此,将t04时刻的图像噪声存储在噪声存储器中。并继续取出当前图像噪声FIFO的出口位置和背光噪声FIFO的出口位置中更早时刻的融合噪声:t11时刻的背光噪声,并更新背光噪声FIFO的出口位置的背光噪声。
当前取出的融合噪声的时间戳t11在t1时刻之后,可以不再将t11时刻的融合噪声存储在噪声存储器中,而是缓存t11时刻的融合噪声。
当然,实际应用中,也可以将t11时刻的融合噪声存储在噪声存储器中。t11在t1时刻之后,后续的融合噪声不会再对本次积分时间段存在干扰,因此,无需再继续取出融合噪声。噪声算法库在下一个周期接收到SCP处理器发送的下个周期采集的初始环境光和对应的积分开始时间和积分结束时间后,会继续按照本申请实施例提供的方法从图像噪声FIFO和背光噪声FIFO取出融合噪声。
经过上述过程,噪声存储器中存储了t-1时刻的融合噪声,t01时刻的融合噪声,t02时刻的融合噪声,t03时刻的融合噪声,t04时刻的融合噪声。可以存储t11时刻的融合噪声,因为t11时刻的融合噪声可能干扰下一个积分时间段的初始环境光。
然后按照上述实施例中的步骤三,继续根据噪声存储器中存储的融合噪声计算获得整个积分时间段内各个子时间段的积分噪声。
按照上述图23和图24的方式可以避免上述实施例提到的丢失晚到的融合噪声的问题。当图像噪声和背光噪声的时间戳存在相等的情况下,可以参照如下实施例获得积分噪声。
参照图25,t02时刻的图像噪声存储在图像噪声FIFO中,t02时刻的背光噪声存储在背光噪声FIFO中。其他时刻的发生事件可以参照图17所示实施例的描述,在此不再赘述。
参见图26,前三次取图像噪声或背光噪声的过程可以参照图24所示实施例的描述。
在第三次取出融合噪声后,图像噪声FIFO的出口位置存储的图像噪声的时间戳为t02时刻,背光噪声FIFO的出口位置存储的背光噪声的时间戳也为t02时刻。
在第四次取融合噪声时,图像噪声FIFO的出口位置存储的图像噪声的时间戳和背光噪声FIFO的出口位置存储的背光噪声的时间戳相同,则将图像噪声FIFO的出口位置存储的图像噪声和背光噪声FIFO的出口位置存储的背光噪声均取出来,并计算二者的平均值,作为t02时刻的融合噪声(均值噪声)。将t02时刻的融合噪声存储在噪声存储器中。
后续的执行过程继续参照图24所示实施例的描述,在此不再赘述。
当然,图26所示实施例中,也可以一边从图像噪声FIFO和背光噪声FIFO中取出融合噪声,一边计算相应的子时间段的积分噪声,而不是将取出的融合噪声存储。
参见图27,在执行过程中,第三次取噪声后,图像噪声FIFO的出口位置存储的图像噪声的时间戳为t02时刻,背光噪声FIFO的出口位置存储的背光噪声的时间戳也为t02时刻。在第四次取噪声时,若图像噪声FIFO的出口位置存储的图像噪声的时间戳为t02时刻,背光噪声FIFO的出口位置存储的背光噪声的时间戳也为t02时刻。则将图像噪声FIFO的出口位置存储的图像噪声和背光噪声FIFO的出口位置存储的背光噪声均取出来,并计算二者的平均值,作为t02时刻的融合噪声(均值噪声)。并根据t01时刻的融合噪声计算获得t01时刻至t02时刻的积分噪声。
在第五次取出t03时刻的融合噪声后,根据t02时刻的融合噪声(均值噪声)计算获得t02时刻至t03时刻的积分噪声。
后续过程可以参照图23所示实施例执行,本申请在此不再赘述。
通过上述示例的几种方式可以避免图像噪声和背光噪声的时间戳冲突的问题,从而获得精确的积分噪声,获得精确的目标环境光。
参见图20,为本申请实施例提供的一种各时刻发生事件的示意图。基于图20所示的各时刻发生的事件,可以得到图28所示实施例提供的图像噪声FIFO中和背光噪声FIFO中存储的融合噪声,具体可参照图28所示实施例中图像噪声FIFO和背光噪声FIFO的初始状态。
如图28所示的初始状态,图像噪声FIFO中存储了t-2时刻的图像噪声,t01时刻的图像噪声,t02时刻的图像噪声,t03时刻的图像噪声,t04时刻的图像噪声。
假设t-2时刻之前还存在t-3时刻的亮度调节,则背光噪声FIFO中存储了t-3时刻的背光噪声,t-1时刻的背光噪声,t02时刻的背光噪声。
在图7所示实施例中的步骤E4之后,AP处理器中的HWC可以将步骤E4传输的初始环境光和积分开始时刻(t0时刻)、积分结束时刻(t1时刻)发送至噪声算法库,噪声算法库获得初始环境光和积分开始时刻(t0时刻)、积分结束时刻(t1时刻)之后。噪声算法库可以先对图像噪声FIFO中存储的图像噪声和背光噪声FIFO中存储的背光噪声进行预处理。
上述实施例均以更新图像噪声FIFO出口位置的图像噪声为例,图28和图29所示实施例以更新图像噪声FIFO的出口位置,更新背光噪声FIFO的出口位置为例进行描述。
实际应用中,若图像噪声FIFO为环形数组结构的存储器时,出口位置也可以理解为图像噪声FIFO中存储的数据的队头。若背光噪声FIFO为环形数组结构的存储器时,出口位置也可以理解为背光噪声FIFO中存储的数据的队头。图像噪声FIFO的出口位置(存储的图像噪声的队头)存储的图像噪声为当前队列中时间戳最早的图像噪声,按照队列的顺序,向队尾方向存储的图像噪声的时间戳逐渐更晚。背光噪声FIFO的出口位置(存储的背光噪声的队头)存储的背光噪声为当前队列中时间戳最早的背光噪声,按照队列的顺序,向队尾方向存储的背光噪声的时间戳逐渐更晚。
如前所述,即使积分开始时刻之前的融合噪声对本次积分过程采集的初始环境光存在干扰,也是距离本次积分开始时刻最近的一次的融合噪声对本次积分过程采集的初始环境光存在干扰。因此,可以将图像噪声FIFO的出口位置移到时间戳在积分开始时刻之前最近一次的图像噪声的位置。
由于存在时间戳和积分开始时刻相同的融合噪声时,对本次积分过程存在干扰的融合噪声为积分开始时刻的融合噪声。因此,存在时间戳和积分开始时刻相同的图像噪声时,也可以将图像噪声FIFO的出口位置移到时间戳和积分开始时刻相同的图像噪声的位置。
当然,实际应用中,存在时间戳和积分开始时刻相同的图像噪声时,将图像噪声FIFO的出口位置移到积分开始时刻之前最近一次的图像噪声的位置也不影响本申请实施例的实施。
同理,将背光噪声FIFO的出口位置移到时间戳在积分开始时刻之前最近一次的背光噪声的位置。存在时间戳和积分开始时刻相同的背光噪声时,也可以将背光噪声FIFO的出口位置移到时间戳和积分开始时刻相同的背光噪声的位置。
当然,实际应用中,存在时间戳和积分开始时刻相同的背光噪声时,将背光噪声FIFO的出口位置移到积分开始时刻之前最近一次的背光噪声的位置也不影响本申请实施例的实施。
如图28所示,若按照时间先后顺序,分别执行:t-3时刻进行亮度调节,t-2时刻进行图像刷新,t-1时刻进行亮度调节,t0时刻为积分开始时刻(记为第一时间),t01时刻进行图像刷新,t02时刻进行亮度调节,t03时刻进行图像刷新,也进行了亮度调节,t04时刻进行图像刷新,t1为积分结束时刻(记为第二时间)。
初始状态的图像噪声FIFO和背光噪声FIFO可以参照图28所示实施例中的初始状态的图像噪声FIFO和背光噪声FIFO中分别存储的融合噪声。
在图28和图29所示实施例中,t-3时刻可以为第十噪声,t-2可以记为第九噪声,t-1时刻的图像噪声可以记为第六噪声,t01时刻的图像噪声可以记为第一噪声,t02时刻的背光噪声可以记为第二噪声,t03时刻的图像噪声可以记为第三噪声,t03时刻的背光噪声可以记为第四噪声,t03时刻的图像噪声和t03时刻的背光噪声的平均值可以记为第五噪声,t04时刻的图像噪声可以记为第七噪声。
图像噪声FIFO记为第一噪声存储器,图像噪声记为第一类的噪声,背光噪声FIFO记为第二噪声存储器,背光噪声记为第二类的噪声。从图像噪声FIFO和背光噪声FIFO取出的融合噪声存储在噪声存储器中,该噪声存储器可以记为第三噪声存储器。
可以预先对图像噪声FIFO和背光噪声FIFO进行预处理:
初始状态的图像噪声FIFO中,出口位置的图像噪声的时间戳(t-2)在积分开始时刻t0之前,则继续查看出口位置之后的位置的图像噪声的时间戳,该出口位置之后的位置为:按照存储顺序,存储出口位置的图像噪声后,存储下一个图像噪声时的位置,也可以理解为,向着队尾方向,该出口位置之后的一个位置。出口位置之后的位置的图像噪声的时间戳(t01)在积分开始时刻之后,则表示图像噪声FIFO的出口位置(队头)为积分开始之前最近一次的图像噪声。
按照同样的方式,初始状态的背光噪声FIFO中,出口位置的背光噪声的时间戳(t-3)在积分开始时刻t0之前,则继续查看出口位置之后的位置的背光噪声的时间戳,该出口位置之后的位置为:按照存储顺序,存储出口位置的背光噪声后,存储下一个背光噪声时的位置。出口位置之后的位置的背光噪声的时间戳(t-1)也在积分开始时刻之前,则可以将t-3时刻的背光噪声删除(也可以理解为取出并丢弃)。背光噪声FIFO的出口位置(队头)变更为t-1时刻的背光噪声所在的位置。
继续按照上述方式查看当前出口位置(t-1时刻的背光噪声所在的位置)之后的位置(t02时刻的背光噪声所在的位置)的背光噪声的时间戳。直到当前出口位置(t-1时刻的背光噪声所在的位置)之后的位置(t02时刻的背光噪声所在的位置)的背光噪声的时间戳(t02)在积分开始时刻之后。则不再删除当前出口位置中存储的背光噪声。此时的出口位置(队头)存储的就为积分开始时刻或积分开始时刻之前的最近一次的背光噪声。虽然本申请实施例中图像噪声FIFO不需要预处理,然而,实际应用中,图像噪声FIFO在需要预处理的情况下,也可以按照上述对背光噪声FIFO预处理的方式进行预处理。
预处理后的图像噪声FIFO的出口位置和背光噪声FIFO的出口位置具体可以参照图28所示的预处理后的图像噪声FIFO和预处理后的背光噪声FIFO的示意图。
需要说明,实际应用中,图像噪声FIFO中仅存储一个图像噪声的情况下,该图像噪声的时间戳可能早于或等于积分开始时刻,也可能在积分开始时刻和积分结束时刻之间,还可能在积分结束时刻或之后。
若早于或等于积分开始时刻,则该图像噪声可能对本次积分过程采集的初始环境光存在干扰,也可能会对下次积分过程采集的初始环境光存在干扰。
若在积分开始时刻和积分结束时刻之间,则该图像噪声对本次积分过程采集的初始环境光存在干扰,也可能会对下次积分过程采集的初始环境光存在干扰。
若在积分结束时刻或之后,则可能对下一次积分过程采集的初始环境光存在干扰。
为了避免丢失对下次积分过程采集的初始环境光存在干扰的融合噪声。图像噪声FIFO中仅存储一个图像噪声的情况下,预处理时,出口位置不变。同理,背光噪声FIFO中仅存储一个背光噪声的情况下,预处理时,出口位置也不变。
参见图29,结合图28所示的预处理后的图像噪声FIFO和背光噪声FIFO。
第一次存储融合噪声至噪声存储器,对比预处理后的图像噪声FIFO的出口位置的时间戳(t-2时刻)和背光噪声FIFO的出口位置的时间戳(t-1时刻)。由于时间戳表示的时刻与积分开始时刻最近的一个融合噪声(包括时间戳与积分开始时刻相等的融合噪声)才会对本次积分过程采集的初始环境光存在干扰,因此,选取出口位置存储的融合噪声的时间戳中表示的时刻距离积分开始时间更近的时间戳对应的融合噪声,此时更近的为t-1时刻的背光噪声。则取出t-1时刻的背光噪声存储至噪声存储器。
并变更图像噪声FIFO的出口位置至出口位置的下一个存储位置:t01时刻的图像噪声所在的位置。变更背光噪声FIFO的出口位置至出口位置的下一个存储位置:t02时刻的背光噪声所在的位置。背光噪声FIFO中存储的t-1时刻的背光噪声被删除。
第二次存储融合噪声至噪声存储器,对比图像噪声FIFO的出口位置的图像噪声的时间戳(t01时刻)和背光噪声FIFO的出口位置的时间戳(t02时刻),存储时间戳表示的时刻更早的融合噪声(t01时刻的图像噪声),并更新本次取出融合噪声的存储器(图像噪声FIFO)的出口位置至当前取出融合噪声的位置(t01时刻的图像噪声所在的位置)之后的存储位置(t02时刻图像噪声所在的位置)。同时删除图像噪声FIFO中t01时刻的图像噪声。
此时图像噪声FIFO和背光噪声FIFO可以参照图29所示的第二次存储融合噪声至噪声存储器后的图像噪声FIFO和背光噪声FIFO的示意图。在实际应用中,预处理后的图像噪声FIFO的出口位置的时间戳表示的时刻和背光噪声FIFO的出口位置的噪声的时间戳表示的时刻之间的关系可能出现以下情况中的一种或多种。
表1图像噪声FIFO的出口位置的时间戳表示的时刻早于背光噪声FIFO的出口位置的噪声的时间戳表示的时刻。
图像噪声时间戳 | 背光噪声时间戳 | 丢弃 | 存储 | 是否退出本次循环 |
早于t<sub>0</sub> | 早于t<sub>1</sub> | 图像噪声 | 背光噪声 | 否 |
早于t<sub>0</sub> | 等于t<sub>1</sub> | 图像噪声 | 背光噪声 | 否 |
早于t<sub>0</sub> | 晚于t<sub>0</sub>早于t<sub>1</sub> | 否 | 图像噪声 | 否 |
早于t<sub>0</sub> | 等于或晚于t<sub>1</sub> | 否 | 图像噪声 | 否 |
等于t<sub>0</sub> | 晚于t<sub>0</sub>早于t<sub>1</sub> | 否 | 图像噪声 | 否 |
等于t<sub>0</sub> | 等于或晚于t<sub>1</sub> | 否 | 图像噪声 | 否 |
晚于t<sub>0</sub>早于t<sub>1</sub> | 晚于t<sub>0</sub>早于t<sub>1</sub> | 否 | 图像噪声 | 否 |
晚于t<sub>0</sub>早于t<sub>1</sub> | 等于或晚于t<sub>1</sub> | 否 | 图像噪声 | 否 |
等于t<sub>1</sub> | 晚于t<sub>1</sub> | 否 | 否 | 是 |
晚于t<sub>1</sub> | 晚于t<sub>1</sub> | 否 | 否 | 是 |
图像噪声FIFO的出口位置的时间戳表示的时刻晚于背光噪声FIFO的出口位置的噪声的时间戳表示的时刻可以参照表1,只是表1的图像噪声作为背光噪声,背光噪声作为图像噪声。
表2图像噪声FIFO的出口位置的时间戳表示的时刻等于背光噪声FIFO的出口位置的噪声的时间戳表示的时刻。
基于上述方式可以比较图像噪声FIFO的出口位置的时间戳表示的时刻和背光噪声FIFO的出口位置的噪声的时间戳表示的时刻之间的关系,从而得到处理方式。
下面将通过具体的实施例进行描述。
参见图29,第三次存储融合噪声至噪声存储器,对比图像噪声FIFO的出口位置的图像噪声的时间戳(t03时刻)和背光噪声FIFO的出口位置的时间戳(t02时刻),存储时间戳表示的时刻更早的融合噪声(t02时刻的背光噪声),并更新本次取出融合噪声的存储器(背光噪声FIFO)的出口位置至当前取出融合噪声的位置(t02时刻的背光噪声所在的位置)之后的存储位置(t03时刻背光噪声所在的位置)。同时删除背光噪声FIFO中t02时刻的背光噪声。
第四次存储融合噪声至噪声存储器,由于此时图像噪声FIFO的出口位置的图像噪声的时间戳(t03时刻)和背光噪声FIFO的出口位置的背光噪声的时间戳(t03时刻)相同,则将时间戳相同的图像噪声和背光噪声均取出来计算平均值,作为t03时刻的融合噪声存储在噪声存储器中。并同时更新本次取出融合噪声的FIFO的出口位置。
在此需要说明,在t03时刻的背光噪声对应的存储位置为背光噪声FIFO当前仅存储的一个背光噪声的情况下,可以不再变更出口位置。这是由于在某些场景中,仅存储的融合噪声可能会对下一个采集周期采集的初始环境光存在干扰。
作为示例,若图像噪声FIFO中仅存储了t03时刻的图像噪声,背光噪声FIFO中仅存储了t03时刻的背光噪声,并且在t03时刻之后均不再存在图像刷新,也不存在亮度调节,则t03时刻的均值噪声可能会对下一个采集周期采集的初始环境光存在干扰,这种情况下,就不能变更图像噪声FIFO的出口位置,也不能变更背光噪声FIFO的出口位置。
若图像噪声FIFO仅存储了一个图像噪声,且该图像噪声位于出口位置时,该出口位置的图像噪声不再被删除。也不再更新图像噪声FIFO的出口位置的噪声或更新图像噪声FIFO的出口位置。相应的,在图像噪声FIFO当前存储的噪声的个数大于或等于2时,更新图像噪声FIFO的出口位置的噪声或更新图像噪声FIFO的出口位置。背光噪声FIFO同样适用该情况,在此不再赘述。
即可以从图像噪声FIFO中“复制”图像噪声,也可以从图像噪声FIFO中“剪切”图像噪声。在图像噪声FIFO中的数据队列仅存储一个图像噪声时,若需要从图像噪声FIFO中拿到仅存储的这一个图像噪声,则需要采用“复制”图像噪声的方式。
在具体实现时,图像噪声FIFO可以为环形数组结构形式的存储器,假设该存储器设有10(仅用于举例)个存储位置,然而内部连续的5个存储位置存储了数据(每个存储位置存储一个融合噪声以及对应的时间戳),则5个存储位置的队头为上述实施例中的出口位置,相应的,5个存储位置的另一端为队尾。可以根据队头指向的存储位置和队尾指向的存储位置确定存储器中当前存储的数据的个数。当然,实际应用中,也可以设置参数:size,该size用于表示存储器当前存储的数据的个数。每当存入一个数据,该size值加1,每当取出并删除(“剪切”)一个数据,该size值减1。若实际应用中,仅复制一个数据,被复制的数据仍然作为队列中的数据,则size值不会减1。通过该size值也可以确定存储器中当前存储的数据的个数。
背光噪声FIFO同样适用上述情况,在此不再赘述。
继续回到图29所示实施例,第四次存储融合噪声至噪声存储器时,背光噪声FIFO存储的出口位置的背光噪声(t03时刻的背光噪声)已经取出来计算均值噪声并存储在噪声存储器中,且出口位置的背光噪声(t03时刻的背光噪声)为背光噪声FIFO仅存储的一个背光噪声,则背光噪声FIFO退出此次存储融合噪声至噪声存储器的过程。后续存储融合噪声至噪声存储器中时,仅考虑图像噪声FIFO。
参见图29中的第四次存储融合噪声至噪声存储器,在第四次存储融合噪声至噪声存储器后,背光噪声FIFO退出此次存储融合噪声至噪声存储器的过程。
第五次存储融合噪声至噪声存储器,取出图像噪声FIFO的出口位置的t04时刻的图像噪声,并更新本次取出融合噪声的存储器(图像噪声FIFO)的出口位置至当前取出融合噪声的位置(t04时刻的背光噪声所在的位置)之后的存储位置(t12时刻图像噪声所在的位置)。
需要说明,在噪声算法库从图像噪声FIFO和背光噪声FIFO中取出(“复制”或“剪切”)融合噪声存储到噪声存储器的过程中,电子设备也可能刷新图像,也可能调节显示屏的亮度。例如,t11时刻调节显示屏亮度,t12时刻刷新图像。
由于噪声算法库接收到目标图像计算获得图像噪声后就会存储图像噪声至噪声算法库。接收到待调节的亮度计算获得背光噪声后就会存储背光噪声至噪声算法库,所以,噪声算法库在从图像噪声FIFO和背光噪声FIFO中取出融合噪声存储到噪声存储器的过程中,噪声算法库也可能存储图像噪声至图像噪声FIFO,噪声算法库也可能存储背光噪声至背光噪声FIFO。
虽然,背光噪声FIFO已经退出此次存储融合噪声至噪声存储器的过程,然而,背光噪声FIFO依然会存储t11时刻的背光噪声。以便于参与下一次周期的存储融合噪声至噪声存储器的过程。
在图像噪声FIFO的出口位置变更为t12时刻的图像噪声所在的位置之后,继续准备下一次存储融合噪声至噪声存储器的过程。
查看图像噪声FIFO的出口位置存储的图像噪声的时间戳,为t12时刻,t12时刻在本次积分结束(t1)之后,则t12时刻不再对本次积分过程采集的初始环境光存在干扰,则不再取出t12时刻的图像噪声存储至噪声存储器,即不再更新图像噪声FIFO的出口位置的噪声、且不再更新图像噪声FIFO的出口位置。t12时刻可以记为第十一噪声。
此次存储融合噪声至噪声存储器的过程结束。
此时噪声存储器中存储了t-1时刻的背光噪声、t01时刻的图像噪声,t02时刻的背光噪声,t03时刻的均值噪声,t04时刻的图像噪声。
需要说明,上述示例均以先终止从背光噪声FIFO取出噪声为例进行说明。
作为本申请另一实施例,若背光噪声FIFO中还存在t05时刻的背光噪声,且t05时刻的背光噪声为位于t04时刻和t1时刻之间的唯一个噪声,则在从图像噪声FIFO中取出t04时刻的图像噪声并存储后,会先终止从图像噪声FIFO中取出噪声。此后背光噪声FIFO参与取出噪声并存储的过程。在该种情况下,可以将t05时刻的背光噪声记为第八噪声。
然后按照上述步骤三中的计算积分时间段的积分噪声方式,噪声算法库从噪声存储器中取出融合噪声以计算获得积分噪声。从而根据积分噪声和初始环境光(记为第一值)得到目标环境光(记为第二值)。
需要说明,上述第一噪声至第八噪声仅用于举例,实际应用中,若将两个噪声FIFO分别记为第一噪声存储器和第二噪声存储器。
在第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻、且所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二时间、且所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻晚于所述第一时间,从所述第一噪声存储器的出口位置取出的噪声均可以记为第一噪声。
所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻晚于所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻、且所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二时间、且所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻晚于所述第一时间,从所述第二噪声存储器的出口位置取出的噪声均可以记为第二噪声。
所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻等于所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻、且所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二时间,从所述第一噪声存储器的出口位置取出的噪声均记为第三噪声,从所述第二噪声存储器的出口位置取出的噪声均记为第四噪声。
所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻晚于所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻、且所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第一时间、且所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于或等于所述第一时间;从所述第一噪声存储器的出口位置取出的噪声均记为第六噪声。
若在终止从所述第二噪声存储器的出口位置获取噪声之后,还未终止从所述第一噪声存储器的出口位置获取噪声,且所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于第二时间,则从所述第一噪声存储器的出口位置取出的噪声均记为第七噪声。
若在终止从所述第一噪声存储器的出口位置获取噪声之后,还未终止从所述第二噪声存储器的出口位置获取噪声,且所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于第二时间,则从所述第二噪声存储器的出口位置取出的噪声均记为第八噪声。
在一个实施例中,可能包括第一噪声至第八噪声中的一个或多个噪声。在包括第一噪声时,可能包括多个第一噪声。包括第二噪声时,可能包括多个第二噪声。包括第三噪声和第四噪声时,可能包括多个第三噪声和多个第四噪声。
需要说明,按照图28和图29所示的实现方式,则噪声算法库从噪声存储器中取出融合噪声以计算获得积分噪声。从而根据积分噪声和初始环境光得到目标环境光时,不再出现上述实施例步骤三中的步骤C2和步骤C4的情况,在将噪声存储器中存储的最后一个融合噪声取出后,就可以根据最后一个融合噪声计算获得积分时间段内的最后一个子时间段的积分噪声。计算获得积分噪声的过程具体可参照上述实施例中的步骤三中的描述,在此不再赘述。
在此需要说明,作为本申请一个实施例,预处理时:
图像噪声FIFO的出口位置的下一个位置存储的图像噪声的时间戳和积分开始时刻相同时,变更图像噪声FIFO的出口位置至下一个位置。
和/或,
背光噪声FIFO的出口位置的下一个位置存储的背光噪声的时间戳和积分开始时刻相同时,变更背光噪声FIFO的出口位置至下一个位置。
相应的,第一次存储融合噪声至噪声存储器中时:
若图像噪声FIFO的出口位置存储的图像噪声的时间戳表示的时刻与积分开始时刻相同,背光噪声FIFO的出口位置存储的背光噪声的时间戳表示的时刻与积分开始时刻不相同,则存储图像噪声FIFO的出口位置存储的图像噪声至噪声存储器。背光噪声FIFO的出口位置存储的背光噪声的时间戳表示的时刻早于积分开始时刻时,删除背光噪声FIFO的出口位置存储的背光噪声。
若背光噪声FIFO的出口位置存储的背光噪声的时间戳表示的时刻与积分开始时刻相同,图像噪声FIFO的出口位置存储的图像噪声的时间戳表示的时刻与积分开始时刻不相同,则存储背光噪声FIFO的出口位置存储的背光噪声至噪声存储器。图像噪声FIFO的出口位置存储的背光噪声的时间戳表示的时刻早于积分开始时刻时,删除图像噪声FIFO的出口位置存储的背光噪声。
若图像噪声FIFO的出口位置存储的图像噪声的时间戳表示的时刻与积分开始时刻相同,背光噪声FIFO的出口位置存储的背光噪声的时间戳表示的时刻与积分开始时刻也相同,则将图像噪声FIFO的出口位置存储的图像噪声和背光噪声FIFO的出口位置存储的背光噪声计算均值作为积分开始时刻的融合噪声存储在噪声存储器。
该示例省略出口位置的变更,具体可参照上述实施例中的描述。
作为本申请另一实施例,预处理器时:
若图像噪声FIFO的出口位置的下一个位置存储的图像噪声的时间戳和积分开始时刻相同时,不再变更图像噪声FIFO的出口位置。
若背光噪声FIFO的出口位置的下一个位置存储的背光噪声的时间戳和积分开始时刻相同时,不再变更背光噪声FIFO的出口位置。
相应的,第一次存储融合噪声至噪声存储器中时:
若图像噪声FIFO的出口位置存储的图像噪声的时间戳表示的时刻早于背光噪声FIFO的出口位置存储的背光噪声的时间戳表示的时刻。在背光噪声FIFO的出口位置存储的背光噪声的时间戳表示的时刻早于或等于积分开始时刻时,则存储背光噪声FIFO的出口位置存储的背光噪声至噪声存储器中;删除图像噪声FIFO的出口位置存储的图像噪声。在背光噪声FIFO的出口位置存储的背光噪声的时间戳表示的时刻晚于积分开始时刻,则存储图像噪声FIFO的出口位置存储的图像噪声至噪声存储器中;
若图像噪声FIFO的出口位置存储的图像噪声的时间戳表示的时刻晚于背光噪声FIFO的出口位置存储的背光噪声的时间戳表示的时刻。在图像噪声FIFO的出口位置存储的图像噪声的时间戳表示的时刻早于或等于积分开始时刻时,则存储图像噪声FIFO的出口位置存储的图像噪声至噪声存储器中;删除背光噪声FIFO的出口位置存储的背光噪声。在图像噪声FIFO的出口位置存储的图像噪声的时间戳表示的时刻晚于积分开始时刻时,则存储背光噪声FIFO的出口位置存储的背光噪声至噪声存储器中。
若图像噪声FIFO的出口位置存储的图像噪声的时间戳表示的时刻等于背光噪声FIFO的出口位置存储的背光噪声的时间戳表示的时刻,则计算图像噪声FIFO的出口位置存储的图像噪声和背光噪声FIFO的出口位置存储的背光噪声的均值噪声,将该均值噪声存储至噪声存储器中。
该示例省略出口位置的变更,具体可参照上述实施例中的描述。
当然,这种情况可能会导致噪声存储器存储一个对积分开始时刻至积分结束时刻的初始环境光不存在干扰的融合噪声。然而,并不影响后续执行上述实施例中的步骤三计算积分时间段的积分噪声的过程。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应每一个功能划分每一个功能单元,也可以将两个或两个以上的功能集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以采用对应每一个功能划分每一个功能单元为例进行说明。该电子设备包括:
获取模块,用于获取所述电子设备的环境光传感器采集的第一值、第一时间和第二时间,所述第一时间为所述环境光传感器采集所述第一值的开始时刻,所述第二时间为所述环境光传感器采集所述第一值的结束时刻;
比较模块,用于比较所述第一噪声存储器的出口位置存储的噪声的时间戳和所述第二噪声存储器的出口位置存储的噪声的时间戳;
取存模块,用于所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻、且所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二时间、且所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻晚于所述第一时间,从所述第一噪声存储器的出口位置取出第一噪声,并更新所述第一噪声存储器的出口位置的噪声或更新所述第一噪声存储器的出口位置;
计算模块,用于基于所述第一值和所述第一噪声,计算获得第二值。
需要说明,本申请实施例中还可以存在其他功能模块用于执行本申请实施例提供的环境光的检测方法中的各个功能。其他功能模块不再一一进行举例。
本申请还提供一种电子设备,参照图30,该电子设备包括:处理器、存储器。存储器包括:图像噪声存储器和背光噪声存储器。当然,该电子设备还可以包括用于存储图像噪声和背光噪声的噪声存储器。
需要说明,用于存储图像噪声的图像噪声存储器可以是存储器内部的包括多个存储位置的存储区域,用于存储背光噪声的背光噪声存储器可以是存储器内部的包括多个存储位置的存储区域,用于存储图像噪声和背光噪声的噪声存储器可以是存储器内部的包括多个存储位置的存储区域。实际应用中,图像噪声存储器、背光噪声存储器和噪声存储器可以是同一存储内部的不同存储区域,还可以是不同存储器内部的存储区域。当然,实际应用中,图像噪声存储器、背光噪声存储器和噪声存储器还可以是完全独立的存储器。本申请实施例对此不做限定。
本申请实施例中的处理器可以执行本申请实施例提供的任一环境光检测方法,在图7所示技术架构中,本申请实施例中的处理器可以是AP处理器,还可以是SCP处理器。
需要说明的是,上述电子设备等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备可实现上述各个方法实施例中的步骤。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到第一设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请实施例还提供了一种芯片系统,芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请任一方法实施例的步骤。芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (16)
1.一种环境光的检测方法,其特征在于,应用于电子设备,所述电子设备包括用于存储第一类的噪声的第一噪声存储器和用于存储第二类的噪声的第二噪声存储器,所述第一噪声存储器的出口位置存储的噪声为第一噪声,所述第一噪声存储器的出口位置存储的噪声为所述第一噪声存储器当前存储的第一类的噪声的时间戳表示的时刻中最早的第一类的噪声,所述第二噪声存储器的出口位置存储的噪声为所述第二噪声存储器当前存储的第二类的噪声的时间戳表示的时刻中最早的第二类的噪声;
所述方法包括:
获取所述电子设备的环境光传感器采集的第一值、第一时间和第二时间,所述第一时间为所述环境光传感器采集所述第一值的开始时刻,所述第二时间为所述环境光传感器采集所述第一值的结束时刻;
比较所述第一噪声存储器的出口位置存储的噪声的时间戳和所述第二噪声存储器的出口位置存储的噪声的时间戳;
所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻、且所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二时间、且所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻晚于所述第一时间,从所述第一噪声存储器的出口位置取出第一噪声,并更新所述第一噪声存储器的出口位置的噪声或更新所述第一噪声存储器的出口位置;
基于所述第一值和所述第一噪声,计算获得第二值。
2.根据权利要求1所述的方法,其特征在于,在从所述第一噪声存储器的出口位置取出第一噪声,并更新所述第一噪声存储器的出口位置的噪声或更新所述第一噪声存储器的出口位置之后,基于所述第一值、所述第一噪声,计算获得第二值之前,还包括:
更新后的所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻晚于所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻、且所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二时间、且所述更新后的第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻晚于所述第一时间,从所述第二噪声存储器的出口位置取出第二噪声,并更新所述第二噪声存储器的出口位置的噪声或更新所述第二噪声存储器的出口位置;
相应的,所述基于所述第一值和所述第一噪声,计算获得第二值,包括:
基于所述第一值、所述第一噪声和所述第二噪声,计算获得第二值。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一值、所述第一噪声和所述第二噪声,计算获得第二值之前,还包括:
所述更新后的所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻等于更新后的所述第二噪声存储器的出口位置存储的噪声的时间戳表示的时刻、且所述更新后的第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于所述第二时间,从所述更新后的第一噪声存储器的出口位置取出第三噪声,并更新所述第一噪声存储器的出口位置的噪声或更新所述第一噪声存储器的出口位置;从所述更新后的所述第二噪声存储器的出口位置取出第四噪声,并更新所述第二噪声存储器的出口位置的噪声或更新所述第二噪声存储器的出口位置;
计算所述第三噪声和所述第四噪声的平均值,获得第五噪声;
所述基于所述第一值、所述第一噪声和所述第二噪声,计算获得第二值,包括:
基于所述第一值、所述第一噪声、第二噪声和所述第五噪声,计算获得第二值。
4.根据权利要求2至3任一项所述的方法,其特征在于,所述第一噪声的时间戳晚于所述第一时间,在所述第一噪声存储器的出口位置存储的噪声为第一噪声之前,所述第一噪声存储器的出口位置存储的噪声为第九噪声;在所述第二噪声存储器的出口位置存储的噪声为第二噪声之前,所述第二噪声存储器的出口位置存储的噪声为第六噪声,所述方法还包括:
所述第六噪声的时间戳表示的时刻晚于所述第九噪声的时间戳表示的时刻、且所述第九噪声的时间戳表示的时刻早于所述第一时间、且所述第六噪声的时间戳表示的时刻早于或等于所述第一时间,更新所述第一噪声存储器的出口位置的噪声为所述第一噪声或更新所述第一噪声存储器的出口位置到所述第一噪声的存储位置;
从所述第二噪声存储器的出口位置取出所述第六噪声,并更新所述第二噪声存储器的出口位置的噪声为所述第二噪声或更新所述第二噪声存储器的出口位置到所述第二噪声的存储位置;
相应的,所述基于所述第一值、所述第一噪声和所述第二噪声,计算获得第二值,包括:
基于所述第一值、所述第一噪声、所述第二噪声和所述第六噪声,计算获得第二值。
5.根据权利要求4所述的方法,其特征在于,在所述第二噪声存储器的出口位置存储的噪声为第六噪声之前,所述第二噪声存储器的出口位置存储的噪声为第十噪声,在比较所述第六噪声的时间戳表示的时刻和所述第九噪声的时间戳表示的时刻之前,还包括:
确定所述第十噪声的时间戳表示的时刻早于所述第六噪声的时间戳表示的时刻;
取出并丢弃所述第十噪声,并更新所述第二噪声存储器的出口位置的噪声为所述第六噪声或更新所述第二噪声存储器的出口位置到所述第六噪声的存储位置。
6.根据权利要求4或5所述的方法,其特征在于,在更新所述第一噪声存储器的出口位置的噪声为所述第一噪声或更新所述第一噪声存储器的出口位置到所述第一噪声的存储位置之前,还包括:
获取所述第一噪声存储器当前存储的噪声的个数;
在所述第一噪声存储器当前存储的噪声的个数大于或等于2时,更新所述第一噪声存储器的出口位置的噪声为所述第一噪声或更新所述第一噪声存储器的出口位置到所述第一噪声的存储位置。
7.根据权利要求3所述的方法,其特征在于,所述更新所述第二噪声存储器的出口位置的噪声或更新所述第二噪声存储器的出口位置之后,包括:
若所述第二噪声存储器当前存储的噪声的个数等于1,则不再更新所述第二噪声存储器的出口位置的噪声、且不再更新所述第二噪声存储器的出口位置;
相应的,所述从所述更新后的所述第二噪声存储器的出口位置取出所述第四噪声之后,终止从所述第二噪声存储器的出口位置获取噪声。
8.根据权利要求7所述的方法,其特征在于,所述终止从所述第二噪声存储器的出口位置获取噪声之后,在基于所述第一值和所述第一噪声,计算获得第二值之前,还包括:
若所述第一噪声存储器的出口位置存储的噪声的时间戳表示的时刻早于第二时间,则从所述第一噪声存储器的出口位置取出第七噪声,并更新所述第一噪声存储器的出口位置的噪声为第十一噪声或更新所述第一噪声存储器的出口位置为第十一噪声的存储位置,所述第十一噪声的时间戳表示的时刻晚于所述第七噪声;
相应的,所述基于所述第一值、所述第一噪声、第二噪声和所述第五噪声,计算获得第二值,包括:
基于所述第一值、所述第一噪声、所述第二噪声、所述第五噪声和所述第七噪声,计算获得第二值。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若所述第十一噪声的时间戳表示的时刻晚于或等于所述第二时间,则终止从所述第一噪声存储器的出口位置获取噪声。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
获取噪声;
在获取的噪声为第一类的噪声时,按照所述第一类的噪声的时间戳表示的时刻的顺序存储所述第一类的噪声至所述第一噪声存储器;
在获取的噪声为第二类的噪声时,按照所述第二类的噪声的时间戳表示的时刻的顺序存储所述第二类的噪声至所述第二噪声存储器。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述更新所述第一噪声存储器的出口位置的噪声包括:
将所述第一噪声存储器中除出口位置以外的其他位置存储的噪声向出口方向移动一个位置;
所述更新所述第一噪声存储器的出口位置包括:
将所述第一噪声存储器的出口位置移到所述第一噪声存储器当前存储的噪声的时间戳表示的时刻最早的位置。
12.根据权利要求9至11任一项所述的方法,其特征在于,所述从所述第一噪声存储器的出口位置取出第一噪声后,还包括:
存储所述第一噪声至第三噪声存储器;
相应的,所述基于所述第一值和所述第一噪声,计算获得第二值包括:
在终止从所述第一噪声存储器的出口位置获取噪声、且终止从所述第二噪声存储器的出口位置获取噪声的情况下,基于所述第一值和所述第三噪声存储器当前存储的噪声,计算获得第二值,所述第三噪声存储器当前存储的噪声至少包括:所述第一噪声。
13.根据权利要求1至12任一项所述的方法,其特征在于,所述第一噪声存储器以环形数组的形式存储所述第一类的噪声;所述第二噪声存储器以环形数组的形式存储所述第二类的噪声;
所述第一类的噪声为图像噪声,所述第二类的噪声为背光噪声;
或,
所述第一类的噪声为背光噪声,所述第二类的噪声为图像噪声。
14.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于运行存储器中存储的计算机程序,以使得所述电子设备实现如权利要求1至13任一项所述的方法。
15.一种芯片系统,其特征在于,包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如权利要求1至13任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储计算机程序,所述计算机程序在处理器上运行时实现如权利要求1至13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110611025.5A CN113820008B (zh) | 2021-05-31 | 2021-05-31 | 一种环境光的检测方法、电子设备及芯片系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110611025.5A CN113820008B (zh) | 2021-05-31 | 2021-05-31 | 一种环境光的检测方法、电子设备及芯片系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113820008A CN113820008A (zh) | 2021-12-21 |
CN113820008B true CN113820008B (zh) | 2022-07-22 |
Family
ID=78923786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110611025.5A Active CN113820008B (zh) | 2021-05-31 | 2021-05-31 | 一种环境光的检测方法、电子设备及芯片系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113820008B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103314281A (zh) * | 2010-11-25 | 2013-09-18 | 意法半导体(R&D)有限公司 | 辐射传感器 |
CN105829873A (zh) * | 2013-12-19 | 2016-08-03 | 科磊股份有限公司 | 低噪声传感器及使用低噪声传感器的检验系统 |
CN111968597A (zh) * | 2020-08-12 | 2020-11-20 | Oppo(重庆)智能科技有限公司 | 屏幕亮度调节方法、装置、电子设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9494462B2 (en) * | 2015-02-13 | 2016-11-15 | Northrop Grumman Systems Corporation | Balanced intensity differential photo detector |
TW201633077A (zh) * | 2015-03-10 | 2016-09-16 | 原相科技股份有限公司 | 用來偵測雜訊的影像處理方法及其導航裝置 |
-
2021
- 2021-05-31 CN CN202110611025.5A patent/CN113820008B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103314281A (zh) * | 2010-11-25 | 2013-09-18 | 意法半导体(R&D)有限公司 | 辐射传感器 |
CN105829873A (zh) * | 2013-12-19 | 2016-08-03 | 科磊股份有限公司 | 低噪声传感器及使用低噪声传感器的检验系统 |
CN111968597A (zh) * | 2020-08-12 | 2020-11-20 | Oppo(重庆)智能科技有限公司 | 屏幕亮度调节方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113820008A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113411528B (zh) | 一种录像帧率的控制方法、终端及存储介质 | |
CN113810601B (zh) | 终端的图像处理方法、装置和终端设备 | |
WO2022007862A1 (zh) | 图像处理方法、系统、电子设备及计算机可读存储介质 | |
CN113797530B (zh) | 图像的预测方法、电子设备和存储介质 | |
CN113542580B (zh) | 去除眼镜光斑的方法、装置及电子设备 | |
CN113810603B (zh) | 点光源图像检测方法和电子设备 | |
CN111741284A (zh) | 图像处理的装置和方法 | |
WO2022100685A1 (zh) | 一种绘制命令处理方法及其相关设备 | |
CN114489533A (zh) | 投屏方法、装置、电子设备及计算机可读存储介质 | |
CN114365482A (zh) | 一种基于Dual Camera+TOF的大光圈虚化方法 | |
CN113804290B (zh) | 一种环境光的检测方法、电子设备及芯片系统 | |
CN111182140A (zh) | 马达控制方法及装置、计算机可读介质及终端设备 | |
CN114095666A (zh) | 拍照方法、电子设备和计算机可读存储介质 | |
CN110138999B (zh) | 一种用于移动终端的证件扫描方法及装置 | |
CN113542613A (zh) | 一种用于拍照的装置及方法 | |
CN113934519B (zh) | 应用的调度方法及电子设备 | |
CN113542574A (zh) | 变焦下的拍摄预览方法、终端、存储介质及电子设备 | |
CN112541861A (zh) | 图像处理方法、装置、设备及计算机存储介质 | |
CN113820008B (zh) | 一种环境光的检测方法、电子设备及芯片系统 | |
CN113923351B (zh) | 多路视频拍摄的退出方法、设备和存储介质 | |
CN113837990B (zh) | 一种噪声的监测方法、电子设备、芯片系统及存储介质 | |
CN113852755A (zh) | 拍摄方法、设备、计算机可读存储介质及程序产品 | |
CN113808030B (zh) | 一种噪声的监测方法、电子设备及芯片系统 | |
CN115706869A (zh) | 终端的图像处理方法、装置和终端设备 | |
CN113391735A (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 |