CN113806103B - 一种数据处理方法、电子设备、芯片系统及存储介质 - Google Patents

一种数据处理方法、电子设备、芯片系统及存储介质 Download PDF

Info

Publication number
CN113806103B
CN113806103B CN202110776293.2A CN202110776293A CN113806103B CN 113806103 B CN113806103 B CN 113806103B CN 202110776293 A CN202110776293 A CN 202110776293A CN 113806103 B CN113806103 B CN 113806103B
Authority
CN
China
Prior art keywords
data
calibration
ambient light
image
display screen
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110776293.2A
Other languages
English (en)
Other versions
CN113806103A (zh
Inventor
张文礼
王思文
李炜
张佳祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Glory Smart Technology Development Co ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202110776293.2A priority Critical patent/CN113806103B/zh
Publication of CN113806103A publication Critical patent/CN113806103A/zh
Application granted granted Critical
Publication of CN113806103B publication Critical patent/CN113806103B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J1/00Photometry, e.g. photographic exposure meter
    • G01J1/42Photometry, e.g. photographic exposure meter using electric radiation detectors
    • G01J1/4204Photometry, e.g. photographic exposure meter using electric radiation detectors with determination of ambient light

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Sustainable Development (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Telephone Function (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请实施例提供一种数据处理方法、电子设备、芯片系统及存储介质,涉及屏下环境光技术领域,可以解决环境光传感器的校准时开发难度大、开发周期长的问题。该方法包括:在待校准的电子设备的应用层设置校准程序包,校准程序包可以基于校准流程指示电子设备的显示屏显示图像;位于硬件抽象层的生产服务进程可以获得环境光传感器采集的与显示的图像相关的数据;在硬件抽象层设置校准算法库,校准算法库用于基于环境光传感器采集的数据得到校准数据,该校准数据用于在环境光传感器采集环境光时计算采集的环境光中的噪声。

Description

一种数据处理方法、电子设备、芯片系统及存储介质
技术领域
本申请实施例涉及屏下环境光领域,尤其涉及一种数据处理方法、电子设备、芯片系统及存储介质。
背景技术
随着电子设备的发展,电子设备的显示屏的占比越来越高。为追求极致的屏占比,可以将电子设备上的环境光传感器设置在电子设备的有机发光二极管(Organic Light-Emitting Diode,OLED)屏下方。OLED屏本身会发光,这就导致置于OLED屏下方的环境光传感器采集的环境光中包含噪声。噪声通常与环境光传感器和显示屏之间的相对位置有关。因此,在电子设备出厂前、电子设备维修(例如,更换显示屏、拆机等)后,均需要对电子设备的环境光传感器进行校准。
电子设备出厂前的校准需要采用特定的校准设备。由于该校准设备昂贵,电子设备维修阶段(例如,返厂维修时,服务网点维修时)不再采用该校准设备。这就要求开发人员需要额外开发至少一套无需该校准设备参与的校准方式。导致开发人员的开发难度大、开发周期长。
发明内容
本申请实施例提供一种数据处理方法、电子设备、芯片系统及存储介质,解决环境光传感器的校准时开发难度大、开发周期长的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供一种数据处理方法,应用于电子设备,电子设备包括:第一应用、生产服务进程、校准算法库和显示屏,该方法包括:
第一应用接收第一信息,第一信息用于指示显示屏显示第一图像;
显示屏显示第一图像;
第一应用向生产服务进程发送第一请求信息;
响应于接收第一请求信息,生产服务进程获取电子设备的环境光传感器采集的第一数据,第一数据为显示屏显示第一图像时,环境光传感器采集的数据;
生产服务进程向校准算法库发送第一数据;
校准算法库基于第一数据,得到第一测试数据。
本申请实施例中,在待校准的电子设备的应用层设置第一应用,第一应用可以基于校准流程指示电子设备的显示屏显示图像;第一应用向位于硬件抽象层的生产服务进程发送请求信息,生产服务进程接收到请求信息可以获得环境光传感器采集与显示的图像相关的数据;生产服务进程可以将获取的数据发送给在硬件抽象层设置校准算法库,校准算法库用于基于环境光传感器采集的数据得到校准数据,该校准数据用于在环境光传感器采集环境光时计算采集的环境光中的噪声。该方法的实施完全依赖待校准的电子设备,不再需要特定的校准设备,可以应用在产线生产阶段、维修阶段对环境光传感器进行校准。开发难度小、开发周期短。
在第一方面的一种可能的实现方式中,第一请求信息携带第一标识;
生产服务进程向校准算法库发送第一数据包括:
生产服务进程向校准算法库发送第一数据和第一标识。
在第一方面的一种可能的实现方式中,生产服务进程向校准算法库发送第一数据和第一标识之后,该方法还包括:
校准算法库确定第一标识是否与目标标识相同;
若第一标识与目标标识不相同,则校准算法库向生产服务进程发送第一响应,第一响应携带第一标识;
响应于接收第一响应,生产服务进程向第一应用发送第二响应,第二响应携带第一标识。
在第一方面的一种可能的实现方式中,生产服务进程向第一应用发送第二响应之后,该方法还包括:
第一应用指示显示屏显示第二图像;
第一应用向生产服务进程发送第二请求信息,第二请求信息携带第二标识;
响应于接收第二请求信息,生产服务进程获取电子设备的环境光传感器采集的第二数据,第二数据为显示屏显示第二图像时,环境光传感器采集的数据;
生产服务进程向校准算法库发送第二数据和第二标识;
相应的,校准算法库基于第一数据,得到第一测试数据包括:
校准算法库基于第一数据和第二数据,得到第一测试数据。
在第一方面的一种可能的实现方式中,校准算法库确定第一标识是否等于目标标识之后,还包括:
若第一标识与目标标识相同,则校准算法库向生产服务进程发送校准数据,校准数据包括第一测试数据;
生产服务进程接收到校准数据,将校准数据写入预设的存储区域。
在第一方面的一种可能的实现方式中,若第一标识与目标标识不相同,该方法还包括:
校准算法库向生产服务进程发送第三响应,第三响应携带第一标识;
生产服务进程接收到第三响应,基于第三响应向第一应用发送第四响应,第四响应携带第一标识;
第一应用接收第四响应后,第一应用显示第一界面,第一界面用于表示环境光传感器校准完成。
在第一方面的一种可能的实现方式中,若第一标识与目标标识不相同,则校准算法库向生产服务进程发送第一响应,包括:
若第一标识与中心点校准标识相同,则校准算法库基于第一标识获取校准算法库接收到的与第一标识相关的数据,其中,中心点校准标识与目标标识不相同,与第一标识相关的数据包括:第一数据;
校准算法库确定与第一标识相关的数据是否满足预设条件;
在与第一标识相关的数据不满足预设条件时,校准算法库基于第一坐标得到第二坐标;第一坐标为显示屏显示第一图像时第一图像在显示屏上的坐标,第二坐标中第一方向上的值和第一坐标中第一方向上的值相同;
校准算法库向生产服务进程发送第一响应,第一响应携带第二坐标和未完成标识,未完成标识用于表示中心校准步骤未完成;
相应的,第二响应携带第二坐标和未完成标识;第一应用指示显示屏显示第二图像包括:
响应于接收到第二响应,第一应用基于第二响应中的未完成标识和第二坐标显示第二图像。
在第一方面的一种可能的实现方式中,第二标识和第一标识相同;
生产服务进程向校准算法库发送第二数据和第二标识之后,该方法还包括:
校准算法库基于第二标识获取校准算法库接收到的与第二标识相关的数据,其中,与第二标识相关的数据包括:第一数据和第二数据;
校准算法库确定与第二标识相关的数据是否满足预设条件;
在与第二标识相关的数据满足预设条件时,校准算法库获取与第二标识相关的数据中的极大值;
校准算法库获取极大值对应的图像在显示屏上显示时的第三坐标,校准数据包括第三坐标。
在第一方面的一种可能的实现方式中,校准算法库获取极大值对应的图像在显示屏上显示时的坐标之后,该方法还包括:
校准算法库向生产服务进程发送第五响应,第五响应携带第三坐标和已完成标识,第三坐标为环境光传感器在电子设备的显示屏上的投影的坐标,已完成标识用于表示中心校准步骤已完成;
响应于接收到第五响应,生产服务进程基于第五响应向第一应用发送第六响应,第六响应携带第三坐标和已完成的标识。
在第一方面的一种可能的实现方式中,生产服务进程基于第五响应向第一应用发送第六响应之后,该方法还包括:
第一应用接收第六响应,并从第六响应中获取第三坐标;
在第六响应携带已完成标识的情况下,第一应用基于第三坐标,以及预设的目标区域的长和宽,得到目标区域在显示屏上的位置;
第一应用获取目标区域中的各个子区域在目标区域中的相对位置;
第一应用基于各个子区域在目标区域中的相对位置和目标区域在显示屏上的位置,得到各个子区域在显示屏上的位置。
在第一方面的一种可能的实现方式中,在得到各个子区域在显示屏上的位置之后,还包括:
第一应用指示显示屏显示第三图像,第三图像在显示屏上的位置为第一子区域在显示屏上的位置,第一子区域为各个子区域中的一个子区域;
第一应用向生产服务进程发送第三请求信息;
响应于接收第三请求信息,生产服务进程获取电子设备的环境光传感器采集的第三数据,第三数据为显示屏显示第三图像时,环境光传感器采集的数据;
生产服务进程向校准算法库发送第三数据;
校准算法库基于第三数据,得到第二测试数据,校准数据包括第二测试数据。
在第一方面的一种可能的实现方式中,第一标识和第二标识均为亮度拟合曲线校准的标识;
显示屏显示第一图像包括:
显示屏以第一亮度显示第一颜色的第一图像;
相应的,第一应用指示显示屏显示第二图像包括:
响应于接收到第二响应,第一应用指示显示屏以第二亮度显示第一颜色的第一图像。
在第一方面的一种可能的实现方式中,第一应用接收第一信息之前,还包括:
第一应用向生产服务进程发送第四请求信息;
响应于接收第四请求信息,生产服务进程获取电子设备的信息,电子设备的信息包括:电子设备的显示屏的标识,电子设备的环境光传感器的标识,电子设备的模式;
生产服务进程向校准算法库发送电子设备的信息;
响应于接收到电子设备的信息,校准算法库获取与电子设备的信息对应的第一信息;
校准算法库向生产服务进程发送第一信息;
响应于接收到第一信息,生产服务进程向第一应用发送第一信息。
在第一方面的一种可能的实现方式中,电子设备的模式为第一模式;
显示屏显示第一图像之前,还包括:
在电子设备的显示屏的分辨率不为预设分辨率时,第一应用设置电子设备的显示屏的分辨率为预设分辨率;
或,第一应用获取电子设备的显示屏当前的第一分辨率;
第一应用基于第一分辨率和预设分辨率计算获得比例系数;
第一应用获取在预设分辨率下第一图像的第一大小;
第一应用基于第一大小和比例系数,得到第一分辨率下第一图像的第二大小;
第一应用指示显示屏以第二大小显示第一图像。
在第一方面的一种可能的实现方式中,第一应用向生产服务进程发送第一请求信息包括:
第一应用通过hidl接口向硬件抽象层接口发送第一请求信息;
硬件抽象层接口向生产服务进程发送第一请求信息。
在第一方面的一种可能的实现方式中,第一应用通过hidl接口向硬件抽象层接口发送第一请求信息之前,该方法还包括:
第一应用从指示显示屏显示第一图像开始延时第一预设时间,第一预设时间大于或等于图像生效时长和环境光传感器的采集周期中的采集时长,图像生效时长为从第一应用指示显示屏显示图像至显示屏显示图像之间的时长。
在第一方面的一种可能的实现方式中,电子设备包括第一处理器和第二处理;生产服务进程为运行在第一处理器中的进程,环境光传感器驱动为运行在第二处理器中的驱动;
生产服务进程获取电子设备的环境光传感器采集的第一数据之前,还包括:
第二处理器中的环境光传感器驱动接收环境光传感器发送的第一数据;
相应的,生产服务进程获取电子设备的环境光传感器采集的第一数据包括:
生产服务进程基于核间通信从第二处理器中的环境光传感器驱动获取第一数据。
在第一方面的一种可能的实现方式中,校准算法库确定与第一标识相关的数据是否满足预设条件包括:
校准算法库确定与第一标识相关的数据中是否存在第四数据,第四数据大于第五数据且第四数据大于第六数据,其中,第五数据对应的图像的坐标在第二方向上的值大于第四数据对应的图像的坐标在第二方向上的值,第六数据对应的图像的坐标在第二方向上的值小于第四数据对应的图像的坐标在第二方向上的值;
若与第一标识相关的数据中存在第四数据,校准算法库确定与第一标识相关的数据满足预设条件;若与第一标识相关的数据中不存在第四数据,校准算法库确定与第一标识相关的数据不满足预设条件。
第二方面,提供一种电子设备,包括处理器,处理器用于运行存储器中存储的计算机程序,实现本申请第一方面任一项的方法。
第三方面,提供一种芯片系统,包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请第一方面任一项的方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被一个或多个处理器执行时实现本申请第一方面任一项的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在设备上运行时,使得设备执行本申请第一方面任一项的方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的数据处理方法所应用的电子设备的一种硬件结构示意图;
图2为本申请实施例提供的一种电子设备中的环境光传感器的位置关系图;
图3为本申请实施例提供的一种环境光传感器采集的环境光的示意图;
图4为本申请实施例提供的一种校准环境光传感器时校准的目标区域的示意图;
图5为本申请实施例提供的一种校准环境光传感器的中心点在显示屏上的投影的位置的过程示意图;
图6为本申请实施例提供的一种校准环境光传感器的中心点在显示屏上的投影的位置的过程示意图;
图7为本申请实施例提供的一种校准目标区域时显示的环形图像的示意图;
图8为本申请实施例提供的一种校准各个子区域的干扰系数是的示意图;
图9为本申请实施例提供的利用产线测试装备对手机中的环境光传感器校准时的技术架构图;
图10为本申请实施例提供的返厂维修时对手机中的环境光传感器校准时的技术架构图;
图11为本申请实施例提供的可应用在生产和维修场景下对环境光传感器校准的技术架构图;
图12为本申请实施例提供的一种基于图11所示技术架构实现的对环境光传感器校准的流程示意图;
图13为基于图12所示的流程的技术架构图;
图14为本申请实施例提供的一种基于图11所示技术架构实现的对环境光传感器校准的流程示意图;
图15为基于图14所示的流程的技术架构图;
图16为本申请实施例提供的环境光校准时的一种显示界面的示意图;
图17为本申请实施例提供的环境光校准时的另一种显示界面的示意图;
图18为本申请实施例提供的环境光校准时的另一种显示界面的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”、“第四”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的一种数据处理方法,可以适用于设有OLED屏的电子设备中。该电子设备可以为设有屏下环境光传感器的平板电脑、手机、可穿戴设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,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,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A,触摸传感器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的等待时间,因而提高了系统的效率。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)。
此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
在其他一些实施例中,电源管理模块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转为电磁波辐射出去。
无线通信模块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可以通过无线通信技术与网络以及其他设备通信。
电子设备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的检测信号计算触摸的位置。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
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为本申请实施例提供的一种待校准环境光传感器的手机的结构示意图,手机的显示屏为OLED屏,手机的环境光传感器设置在OLED屏的下方。因此,无需再对显示屏中的显示模组进行挖槽以放置环境光传感器,环境光传感器正上方的显示屏可以显示图像。另外,环境光传感器可以设置在手机的上半部分,例如,状态栏区域。
图3为图2所示实施例中的手机的环境光传感器采集的环境光的示意图;OLED屏为自发光的显示屏,OLED屏显示图像时,用户从显示屏上方可以看到图像,同样,位于OLED屏下方的环境光传感器也能采集到的OLED屏显示的图像对应的光。因此,环境光传感器采集到的环境光包括显示屏发出的光和外界真实的环境光。
若要精确的获得外界真实的环境光,除了要获得环境光传感器采集的环境光,还需要获得显示屏发出的光对应的噪声。将环境光传感器采集的环境光减去显示屏发出的光对应的噪声得到外界真实的环境光。
如图2所示,实际上环境光传感器在显示屏上的投影面积相比于显示屏本身的面积要小的多。因此,并不是整个显示屏发出的光均会对环境光传感器采集的环境光造成干扰。而是显示屏中环境光传感器上方的显示区域发出的光以及环境光传感器周围一定范围的上方的显示区域发出的光才会对环境光传感器采集的环境光造成干扰。
参见图4所示,将显示屏中对环境光传感器采集的环境光存在干扰的区域记为目标区域。即对环境光传感器采集的环境光存在干扰的噪声可以由显示屏的目标区域显示的图像和显示屏的亮度获得。
本申请实施例在对手机的环境光传感器进行校准时,可以通过校准测试得到手机的显示屏中目标区域的位置。
在确定显示屏中位于环境光传感器上方的目标区域时,首先需要通过校准测试得到环境光传感器的中心点在显示屏上的投影位置,然后基于该投影位置通过长和宽在手机的显示屏中确定上述目标区域。
在实际应用中,在显示屏的目标区域中的每个像素点显示的内容相同的情况下,目标区域中距离环境光传感器的中心点较远的子区域对环境光传感器采集的初始环境光的干扰要小于目标区域中距离环境光传感器的中心点较近的子区域对环境光传感器采集的初始环境光的干扰,因此,需要将目标区域划分为多个子区域,然后对目标区域中的各个子区域的干扰系数进行校准,从而得到各个子区域的干扰系数。
另外,目标区域中每个像素点显示的不同颜色(RGB)搭配不同的亮度产生的噪声也不相同。因此,还需要通过校准测试得到不同颜色下的亮度拟合曲线。该亮度拟合曲线用于确定目标区域显示的不同图像在不同的亮度下产生的噪声。
上述列举的各个校准内容,都需要手机处于暗环境中。因此,在进行上述各个校准之前,需要先对手机所处的暗环境进行校准。
鉴于上述分析,在手机出厂前,对手机的显示屏下方的环境光传感器进行校准时,至少校准以下内容:暗环境校准、环境光传感器的中心点校准、目标区域校准、各个子区域的干扰系数校准、亮度拟合曲线校准。
具体校准时,将手机放置在产线测试装备中,手机还需要通过USB数据线连接产线测试装备。当然,手机也可以通过无线通信的方式与产线测试装置建立连接,例如,WiFi,蓝牙等。产线测试装备可以提供校准测试时的暗环境,产线测试装备还可以对手机的环境光传感器进行校准。
对暗环境校准,是为了确保手机的环境光传感器所在的环境是否足够暗,该暗环境中若存在光源,该暗环境下的反光系数是否足够小。
具体实现时,由于手机的环境光传感器通常位于手机的状态栏区域,因此,可以在远离环境光传感器的区域(例如,手机的显示屏的中心区域)显示暗环境校准图像(例如,80×80的像素图像,80表示像素点的个数)。该暗环境校准图像可以为高亮的白色图像块(例如,显示屏可以设置的亮度值中的最大值)。在暗环境校准图像显示稳定后,手机的环境光传感器采集多次数据。计算多次数据的平均值,若平均值小于阈值,则表示手机的环境光传感器所在的环境属于暗环境。同时通过在距离环境光传感器较远的区域显示图像,判断存在光源的情况下,反射系数足够小。这是由于,暗环境校准图像距离环境光传感器较远,理论上,暗环境校准图像直接发出的光对环境光传感器的干扰很小。只有该环境存在较大反射的情况下,暗环境校准图像发出的光经过反射有可能通过环境光传感器上方的区域入射到环境光传感器中。因此,通过该方式可以测试手机的环境光传感器所在的环境是否足够暗;该暗环境中若存在光源,该暗环境下的反光系数是否足够小。
另外,由于暗环境校准后,还需要校准其他多个数据,因此,需要确定当前的暗环境是否比较稳定。所以,还可以计算上述多个数据中的最大值和平均值之间的差值,最小值和平均值之间的差值,若上述差值均小于差值阈值,则表示该暗环境稳定。
在对环境光传感器的中心点校准时,确定中心点校准图像的大小,该中心点校准图像的大小可以为较小尺寸的图像,例如,3×3的像素图像,5×5的像素图像,7×7的像素图像,10×10的像素图像等。其中,数字3、5、7、10表示像素点的个数。
当然,实际应用中,该中心点校准图像的大小可以和环境光传感器的感光区域的长和宽大小相同,中心点校准图像可以为白色图像块。该白色图像块的亮度可以设置的相对较高,例如,设置为显示屏可以设置的亮度值中的最大值。
在手机处于的暗环境满足要求后,按照图5所示的方式通过产线测试装备控制在手机的显示屏上显示中心点校准图像,并获取环境光传感器采集的数据。
如图5所示,第一次,在手机的显示屏上的位置A1显示中心点校准图像。需要说明,在手机的显示屏上的位置A1以外的其他区域呈现黑色(图示中未示出)。位置A1为设计时设定的理论中心点,然而在手机装配完成后,该理论中心点与实际的中心点可能存在偏差。因此,需要重新找寻实际中心点。即使手机装配过程存在差异,实际中心点和理论中心点的差距不会太大,通过位置A1作为起点找寻实际中心点的效率相比于随机找一个位置作为起点找寻实际中心点的效率更高。在显示屏上的位置A1显示的中心点校准图像稳定后,获取手机的环境光传感器采集的环境光。由于此时手机处于暗环境中,且手机的显示屏上的位置A1以外的其他区域呈现黑色,因此,手机的环境光传感器采集的环境光就为位置A1显示的白色图像对应的光。
理论而言,中心点校准图像在显示屏上显示时,中心点校准图像的中心点和环境光传感器的中心点在显示屏上的投影重合时,手机的环境光传感器采集的环境光应该最大。
因此,可以将该中心点校准图像沿着显示屏的X方向依次移动一个像素点,每一移动一个像素点,中心点校准图像在新位置显示稳定后,获取环境光传感器采集的数据。
在中心点校准图像沿着X方向移动的过程中,记录每个位置(例如图5所示的A1、A2、A3、A4和A5)以及每个位置对应的环境光传感器采集的数据。在移动过程中,找出环境光传感器采集的数据的极大值对应的位置(例如,A3)。中心点校准图像在该位置(A3)时,中心点校准图像的中心点的x坐标就为环境光传感器的中心点的x坐标。
然后,以沿着X方向移动时,环境光传感器采集的数据的极大值对应的位置(A3)作为起点,中心点校准图像沿着显示屏的Y方向继续依次移动一个像素点,每一移动一个像素点,中心点校准图像在新位置显示稳定后,获取环境光传感器采集的数据。在中心点校准图像沿着Y方向移动的过程中,记录每个位置(例如图6所示的B1、B2、B3、B4和B5)以及每个位置对应的环境光传感器采集的数据。在移动过程中,找出环境光传感器采集的数据的极大值对应的位置(例如B4)。中心点校准图像在该位置(B4)时,中心点校准图像的中心点的y坐标就为环境光传感器的中心点的y坐标。当然,中心点校准图像在该位置(B4)时,中心点校准图像的中心点的x坐标就为环境光传感器的中心点的x坐标。
当然,实际应用中,也可以不记录环境光传感器的中心点的x坐标和y坐标,而是记录中心点校准图像在位置B4时,中心点校准图像的4个顶点的任意一个顶点的x坐标和y坐标。本申请实施例对记录的方式不做限定。
当然,还需要说明,在中心点校准图像向环境光传感器的中心点在显示屏上的投影位置移动的过程中,环境光传感器采集的数据应该逐渐变大再逐渐变小。若在中心点校准图像移动的过程中,环境光传感器采集的数据逐渐变小,则表示中心点校准图像在向远离环境光传感器的中心点在显示屏上的投影位置移动。因此,需要调整移动方向为相反的方向。作为示例,在沿着x方向移动的过程中,若原本向左移动,但是在移动过程中,环境光传感器采集的数据逐渐变小,则需要调整移动方向为向右移动。
另外,在判断是否能够得到x坐标的过程中。若存在三个数据,三个数据对应的图像在左右方向上依次排列(y坐标相同),。并且中间的数据大于两边的两个数据;则确定已经能够找到极大值(已经能够找到极大值时对应的条件可以记为预设条件)。当然,在判断是否能够得到x坐标的过程中,三个数据分别对应的图像为上下依次排列(x坐标相同)。
中间的数据可以记为第四数据,两边的数据中一个记为第五数据,另一个记为第六数据。
其中,中间的数据就为极大值。若不存在这样一个中间的数据,则不满足预设条件,就需要继续移动位置显示中心点校准图像,获取对应的数据,继续按照上述方式判断。
在对目标区域校准时,可以设置环形图像,如图7所示,该环形图像为白色图像块,该环形图像的内径为方形内径,该方形内径大于或等于70×70(70表示像素点的个数),环形图像的环形宽度为20个像素点。控制手机的显示屏显示白色的环形图像,该环形图像的中心点与环境光传感器的中心点在显示屏上的投影重合。在手机的显示屏的其他区域呈现黑色。在显示屏显示的环形图像稳定后,获取环境光传感器采集的数据。若70×70内径的环形图像对应的数据大于阈值,则认为当前环形图像会对环境光传感器采集的初始环境光存在干扰。则可以继续扩大环形图像的内径为80×80(80表示像素点的个数),环形图像的宽度不变。同样,内径为80×80的环形图像的中心点与环境光传感器的中心点在显示屏上的投影重合。在显示屏显示的环形图像稳定后,获取环境光传感器采集的数据,若80×80内径的环形图像对应的数据大于阈值,则认为当前环形图像会对环境光传感器采集的初始环境光存在干扰。按照这种方式依次扩大环形图像的内径,环形图像的环形宽度可以保持不变,直到显示屏显示某个尺寸的内径对应的环形图像时,环境光传感器采集的数据小于或等于阈值,此时,该环形图像的内径对应的区域就为目标区域。
当然,实际应用中,可以设置目标区域为以环境光传感器的中心点在显示屏上的投影为中心点,固定长和宽的区域,该固定的长和宽可以为:长90宽90,长100宽100等。在实际应用中,也可以由产线人员通过产线测试装备校准测量确定少量手机的目标区域的长和宽后,然后,在后续的同类手机产品中固定目标区域为:以环境光传感器在显示屏上的投影为中心点、大于或等于产线人员通过产线测试装备校准测量的长和宽对应的区域。作为示例,产线人员通过产线测试装备测量确定显示屏显示长和宽均为80的内径的环形图像时,环境光传感器采集的数据小于或等于阈值。则手机出厂前的环境光传感器校准时,无需通过上述方式对目标区域进行校准,而是直接设置目标区域的长和宽均为90,或者均为100等。
上述示例中的70、20、80、90和100仅用于举例,还可以为其他数值。
在确定目标区域后,可以将目标区域划分为多个子区域,然后校准测量各个子区域的干扰系数。将目标区域划分为多个子区域的方式可以将目标区域设置为多个内径为方形的环形区域,每个环形区域为一个子区域。
参见图8,还可以将目标区域划分为多个内径为方形的环形区域和1个方形区域,再将每个环形区域划分为多个片段区域,每个片段区域为一个子区域。图8所示示例中,将目标区域划分为3个环形区域和1个方形区域,其中,每个环形区域又分为4个片段区域。即图8所示示例将目标区域划分为13个子区域。在实际应用中,还可以按照上述方式划分为6个环形区域和1个方形区域,其中,每个环形区域划分为4个片段区域。这样就可以将目标区域划分为25个子区域。当然,在具体实施时,还可以采用其他划分子区域的方式,本申请实施例对此不做限制。
在校准测量每个子区域的干扰系数时,可以依次点亮目标区域中的每个子区域,点亮的子区域显示白色图像。每个子区域显示的图像稳定后,可以获得环境光传感器采集的数据。根据各个子区域对应的数据占所有子区域对应的数据之和的比例,得到每个子区域的干扰系数。
在对亮度拟合曲线进行校准时,需要得到显示屏的亮度曲线校准区域(该亮度曲线校准区域可以为目标区域,还可以包含目标区域)中不同颜色搭配不同亮度对应的环境光传感器采集的数据,该环境光传感器采集的数据可以转化为不同颜色搭配不同亮度对应的噪声。因此,可以控制亮度曲线校准区域中每个像素点显示R对应的颜色(红),然后依次调节多个亮度值,获得红色和每个亮度值搭配后在四通道(RGBC)上的干扰。按照这种方式还可以得到绿色和每个亮度值搭配后在四通道上的干扰,和蓝色和每个亮度值搭配在四通道上的干扰。
上述示例中的亮度曲线校准区域包含目标区域时,手机的显示屏显示的图像大于目标区域。然而,环境光传感器采集的数据实际上是目标区域显示的图像和亮度对应的干扰。这是由于上述校准过程已经确定了目标区域以外的区域显示的图像不会对环境光传感器采集的环境光存在干扰。
通过上述示例可以理解,若设置了6个亮度值,则可以得到表1所示的18条不同颜色和不同亮度对应的条目数据。
表1不同颜色和不同亮度对应的条目数据
颜色 亮度 环境光传感器采集数据
R 亮度1 数据1
R 亮度2 数据2
R 亮度3 数据3
R 亮度4 数据4
R 亮度5 数据5
R 亮度6 数据6
G 亮度1 数据7
G 亮度2 数据8
G 亮度3 数据9
G 亮度4 数据10
G 亮度5 数据11
G 亮度6 数据12
B 亮度1 数据13
B 亮度2 数据14
B 亮度3 数据15
B 亮度4 数据16
B 亮度5 数据17
B 亮度6 数据18
在具体实现时,示例一:可以先固定亮度曲线校准区域的图像颜色,然后在该颜色下,依次设置显示屏为多个亮度值,从而得到红色搭配不同亮度的条目数据,绿色搭配不同亮度的条目数据和蓝色搭配不同亮度的条目数据。
示例二:也可以先固定显示屏的亮度值,然后在该亮度值下,依次设置亮度曲线校准区域的图像的颜色为不同颜色(红、绿和蓝的顺序可以不固定),从而得到亮度1搭配不同颜色的条目数据,亮度2搭配不同颜色的条目数据,……,亮度6搭配不同颜色的条目数据。
具体采用哪种方式可以根据实际情况设置。例如,可以根据显示特定图像的触发指令到该特定图像成功显示的第一时长和以特定亮度显示的触发指令到该特定亮度的成功调节的第二时长确定采用哪种方式。
作为示例,若第一时长大于第二时长,则可以采用刷新图像次数少的方式,即采用示例一(表1)所示的方式获得条目数据。
若第一时长小于第二时长,则可以采用亮度调节次数少的方式,即采用示例二所示的方式获得条目数据。
通过上述设定可以降低校准的总时长。
当然,若设置了9个亮度值,则可以得到27条不同亮度和不同颜色对应的条目数据。实际应用中,可以存储上述不同亮度和不同颜色对应的条目数据,而不是存储亮度拟合曲线。
在真正计算噪声时,根据存储的不同亮度和不同颜色对应的条目数据拟合得到在不同颜色下随亮度变化的干扰值对应的亮度拟合曲线。然后,获取显示屏当前显示的图像的目标区域对应的目标图像和显示屏当前的亮度值,根据目标图像中每个像素点的RGB值和亮度值从亮度拟合曲线中获取曲线数据。根据目标图像中每个像素点对应的曲线数据,每个像素点对应的曲线数据对应的伽马值,以及所在的子区域的干扰系数得到每个像素点对应的噪声。最后将目标图像每个像素点对应的噪声累加计算获得目标区域对应的图像在的噪声。
通过上述对手机的环境光传感器的校准的示例可以理解,无论校准测量哪个参数,均需要控制手机的显示屏在特定区域显示特定图像(例如,暗环境校准图像,中心点校准图像,环形图像、子区域图像和亮度曲线校准区域图像)。并且在特定图像显示稳定后,还要获得环境光传感器采集的数据。当然,还需要根据环境光传感器采集的数据得到校准数据(例如,环境光传感器的中心点在显示屏上的投影的坐标,目标区域的长和宽,各个子区域的干扰系数和亮度拟合曲线对应的条目数据等),还需要将这些校准数据写入特定的数据结构中存储,便于后续真正计算干扰环境光传感器采集环境光的噪声时采用。
对手机的环境光传感器的校准可能在手机出厂前的产线生产阶段,还可能在出厂后的手机维修后的维修阶段。下面将分别描述在不同场景下对手机的环境光传感器的校准过程。
在产线生产阶段的校准测试时,可以基于图9所示实施例描述的技术架构实现。
该技术架构中,左侧为产线测试装备,该产线测试装备为用于对手机进行校准的产线设备。产线测试装备可以提供暗环境,产线测试装备中装载有测试系统,该测试系统中添加有环境光传感器测试组件;该测试组件为校准过程的控制中心,在进行校准测试前,测试组件可以加载校准算法库,该校准算法库中设有校准过程中的一些数据处理算法。另外,由于产线测试装备属于PC装备,因此,校准算法库为适配PC装备的dll库。
该技术架构中,右侧为手机,产线测试装备和手机之间可以通过USB数据线或无线网络建立连接,以传输信息。该技术架构中手机侧虚线上半部分为手机的AP(applicationprocessor)处理器执行的部分,下半部分为SCP(sensor coprocessor)处理器执行的部分。AP处理器为应用处理器,操作系统、用户界面和应用程序都在AP处理器上运行。SCP处理器为协处理器,可以协助AP处理器进行与传感器(例如,环境光传感器)等相关的事项。
如前所述,对环境光传感器的校准过程可以分为三大功能模块:
构图显示模块,用于控制手机的显示屏中的特定区域显示特定图像;
环境光数据获取模块,用于获取环境光传感器采集的数据,环境光传感器采集的数据用于得到校准数据。
数据写入模块,用于写入得到的校准数据。例如,环境光传感器的中心点在显示屏上的投影的坐标,目标区域的长和宽,每个子区域对应的数据或干扰系数,亮度拟合曲线对应的条目数据。
下面将结合图9描述各个功能模块。
通过图9所示技术架构实现构图显示模块对应的功能时,依次执行图9中的步骤A1至步骤A7。
步骤A1,测试组件通过调用校准算法库,发送获取待显示的图像信息的请求信息。步骤A2,校准算法库返回待显示的图像信息。步骤A3,测试组件向测试系统发送显示命令(携带待显示的图像信息)。步骤A4,测试系统向手机中的人机界面服务(Man MachineInterface server,MMI server)发送MMI显示命令(携带待显示的图像信息)。MMI server根据待显示的图像信息,构造待显示的图像。步骤A5,将待显示的图像发送给GPU进行构图显示。当然,MMI server还需要调用背光的硬件抽象层接口定义语言(HAL interfacedefinition language,hidl)接口,该接口用于设置发送给GPU显示的图像进行显示时的背光。当然,实际应用中,MMI server还可以基于内核节点设置发送给GPU显示的图像进行显示时的背光。
MMI server还需要基于步骤A6反向传输显示完成的信息。测试系统通过步骤A7告知测试组件手机的显示屏已经显示特定图像,请进行下一步操作。
需要说明,测试组件向测试系统发送的显示命令和测试系统向MMI server发送的显示命令可以不同,也可以相同。同理,反向传输的用于表示显示完成的信息(步骤A6和步骤A7中的用于表示显示完成的消息)也可以相同也可以不同。
在手机的显示屏显示特定图像后,就可以获取环境光传感器采集的数据,即环境光数据获取模块对应的功能。可参照图9中步骤B1至步骤B10。
步骤B1,测试组件向测试系统发送读值指令,针对手机采用的芯片设置相应的读值指令,作为示例,采用高通芯片时,该读值指令可以为diag指令,采用联发科芯片时,该读值指令可以为AT指令,图9所示实施例中,以采用联发科芯片为例,则读值指令为AT指令为例,AT指令可以控制手机执行多种操作。步骤B2,测试系统可以向手机的命令服务(attention command server,atcmd server)下发AT读值指令,该AT读值指令用于指示atcmd server获取环境光传感器采集的数据。步骤B3,atcmd server通过写节点的方式告知内核中的Inputhub模块(可以是在内核层自定义的一种软件模块)读取环境光传感器采集的数据。步骤B4,Inputhub模块向环境光传感器驱动下发输入输出控制(input/outputcontrol,ioctl)读值指令,该ioctl读值指令用于指示环境光传感器驱动返回环境光传感器采集的数据。环境光传感器通过环境光传感器驱动执行步骤B5,将采集得到的数据(为避免采集到图像稳定显示前的数据,环境光传感器可以在接收到ioctl读值指令后将下一个采集周期采集的数据)返回给Inputhub模块,Inputhub模块将数据存储在节点的全局数组中,步骤B6,Inputhub模块向atcmd server发送节点写成功的信息,atcmd server收到节点写成功的信息后,atcmd server读取节点中存储的数据。步骤B7,atcmd server将读取的数据发送给测试系统。步骤B8,测试系统将数据发送给测试组件。步骤B9,测试组件将数据发送到校准算法库。步骤B10,校准算法库接收到数据后,可以向测试组件发送响应,以通知测试组件进行下一步测试工作。
当然,在校准算法库确定根据当前接收到的数据已经得到校准结果后,校准算法库返回给测试组件的响应需要能够通知测试组件已经获得全部校准结果。测试组件接收到的响应表示校准算法库已经得到全部校准结果后,需要将校准结果存储在手机特定的分区中。即数据写入模块对应的功能。具体可参照图9所示技术架构中的步骤C1至步骤C6。
实际应用中,可以在校准过程全部完成后,再将所有的校准结果写入手机特定的分区中。步骤C1,测试组件调用校准算法库,以请求校准算法库返回全部校准结果。步骤C2,校准算法库返回给测试组件校准结果。步骤C3,测试组件将校准算法库返回的校准结果携带在写数据指令中发送给测试系统。步骤C4,测试系统以AT写数据指令的形式发送校准结果给手机中的atcmd server。步骤C5,手机中的Atcmd server接收到校准结果后,将校准结果写在节点中,并通知Inputhub写节点成功的信息。步骤C6,Inputhub接收到写节点成功的信息后,从节点中获取校准结果,并调用写NV接口,将校准结果存储在NV分区的数据结构中。
通过循环执行构图显示模块对应的步骤(步骤A1至步骤A7)和环境光数据获取模块对应的步骤(步骤B1至步骤B10)得到全部校准数据后,可以执行数据写入模块对应的步骤(步骤C1至步骤C6),将环境光传感器的中心点在显示屏上的投影的坐标、目标区域的长和宽、子区域的干扰系数和亮度拟合曲线对应的条目数据写入手机的特定的存储区域。例如,非易失性存储(non-volatile,NV)分区,还可以是个性化设计的分区,记为OEMINFO。
需要说明,在将校准数据写入手机的特定的存储区域时,还可以写入其他数据,例如,手机的型号、手机的显示屏的厂家、环境光传感器的厂家、校准时手机处于升级模式还是烧片模式等。
在手机返厂维修(例如,更换显示屏、拆机等)后,环境光传感器相对显示屏的位置可能发生变化,因此,环境光传感器的中心点在显示屏上的投影、目标区域、各个子区域的干扰系数、亮度曲线等可能都会发生变化。因此,需要对环境光传感器重新进行校准。
在手机返厂维修时,为了节约产线设备资源,通常不再使用产线生产时的产线测试装备。返厂维修阶段的校准测试可以基于图10所示实施例描述的技术架构实现。
如图10所示,返厂维修阶段的校准测试不再需要产线测试装置参与,校准测试过程可以完全在手机上实现。因此,图10所示的技术架构可以通过手机中的AP处理器和SCP处理器实现。
在校准测试时,为了使得环境光传感器采集的数据完全由手机的显示屏的特定区域显示的特定图像产生,需要将手机置于暗环境中。产线校准时,由产线测试装备提供暗环境,在返厂维修时,可以采用黑盒夹具提供暗环境。手机可以将上半部分插入黑盒夹具,手机的下半部分裸露在外界环境中。由于环境光传感器位于手机上半部分的状态栏区域,因此,手机的上半部分插入黑盒夹具中时,环境光传感器采集的数据就为手机的显示屏上的特定区域的特定图像产生的。
如图10所述,手机的AP处理器的应用层设有应用程序包,该应用程序包可以启动测试、在手机的显示屏上进行构图显示和结束测试等。在AP处理器的硬件抽象层设置控制模块和校准算法库。其中,校准算法库是为了适应手机系统,因此,该校准算法库为so库。在AP处理器的内核层设有Intputhub模块。
在进行构图显示时,执行图10中的步骤D1至步骤D4。步骤D1,应用程序包向控制模块发送获取待显示的图像信息的请求信息。步骤D2,控制模块调用校准算法库以获取待显示的图像信息。步骤D3,校准算法库将待显示的图像信息返回给控制模块。步骤D4,控制模块将待显示的图像信息发送给应用程序包。应用程序包控制手机的显示屏基于待显示的图像信息在在特定区域显示特定图像。
应用程序包控制手机的显示屏在特定区域显示特定图像后,就可以读取环境光传感器采集的数据,即执行图10中的步骤E1至步骤E8,以实现环境光数据获取模块对应的功能。
步骤E1,应用程序包通知控制模块显示完成。步骤E2至步骤E5,控制模块与Intputhub模块通信,以通过Intputhub模块从SCP处理器的环境光传感器驱动获取环境光传感器采集的数据。步骤E2至步骤E5,可以参照图9所示实施例中的步骤B3至步骤B6的相关描述。步骤E6,控制模块获取到环境光传感器采集的数据后,将数据发送至校准算法库,步骤E7,校准算法库返回响应给控制模块,步骤E8,控制模块将响应发送给应用程序包。
在校准算法库能够基于接收到的数据得到全部校准结果的情况下,校准算法库会返回全部校准结果给控制模块。
控制模块得到全部校准数据后,控制模块可以通过Inputhub模块将校准结果写到特定的NV数据结构中,具体可参照图10中的步骤F1至步骤F2。步骤F1至步骤F2可以参照图9所示实施例中的步骤C5至步骤C6。
另外,上述过程中,应用层的应用程序可以通过hidl接口与硬件抽象层中的控制模块通信。
作为另一示例,手机还可能在手机厂商提供的服务网点进行维修,在服务网点进行维修时,服务网点不存在黑盒夹具,可以通过黑色压头压在手机的显示屏中环境光传感器的附近区域。这样保证环境光传感器上方一定范围内处于暗环境。在服务网点对手机的环境光传感器校准时和在返厂维修时对手机的环境光传感器校准时的流程类似。当然,也可以将返厂维修时技术架构中的控制模块和校准算法库均设置在应用层,应用层直接与内核层中的节点实现与Inputhub通信。在服务网点对环境光传感器进行校准时不再通过图示进行举例。
通过上述示例可以理解,产线生产时的校准过程、返厂维修时的校准过程和服务网点维修时的校准架构存在较大差异。
在产线生产校准阶段,需要在PC侧开发校准算法库,以提供给产线测试装备使用,因此需要开发dll格式的校准算法库。
在返厂维修校准阶段,需要在手机侧的HAL层开发校准算法库,该校准算法库需要提供给手机的硬件抽象层的控制模块使用,因此需要开发so格式的校准算法库。
在服务网点维修校准阶段,需要在应用层集成校准算法库,因此,需要在JAVA的JNInative层开发校准算法库。
对于开发人员而言,需要掌握PC侧,手机侧等非常全面的知识。因此,耗费人力、开发适配周期长、且容易出现问题。
为了解决上述问题,本申请实施例提供了归一化的校准方案。该校准方案,生产阶段的校准中,产线测试装备不再依赖DLL格式的校准算法库。返厂维修阶段的校准中,也不再依赖JAVA的JNInative层的校准算法库。
参见图11,为本申请实施例提供的校准方案的技术架构图。该技术架构图中,手机侧包括AP处理器和SCP处理器。
其中,AP处理器的应用层存在校准程序包;该校准程序包用于控制对环境光传感器进行校准测试。
AP处理器的硬件抽象层存在硬件抽象(Hardware Abstraction Layer,HAL)接口;该HAL接口用于与芯片平台提供的生产服务进程建立通信。
在应用层和硬件抽象层之间设有归一化的hidl接口,该hidl接口为硬件抽象层和应用层之间的接口的一种接口描述语言。
该归一化的hidl接口可以使得应用层的校准程序包可以跨芯片平台使用,例如,可以应用在使用不同厂家的AP处理器的电子设备中。
硬件抽象层还存在芯片平台提供的生产服务进程,例如,高通平台的test_diag进程,联发科平台的atcmd server进程,test_diag进程和atcmd server进程可以用于开发和调试环境光传感器,且均存在与生产过程相关的接口。通过与生产服务进程提供的接口通信,可以基于这些生产服务进程实现生产过程中的校准测试。
硬件抽象层还设有校准算法库,该校准算法库为应用在手机侧的so库。
手机的SCP处理器(记为第二处理器)中设有环境光传感器驱动,环境光传感器采集的数据上报给环境光传感器驱动。
在进行通信时,AP处理器(记为第一处理器)中的校准程序包调用hidl接口与AP处理器中的硬件抽象层中的HAL接口建立通信。AP处理器中的硬件抽象层中的HAL接口通过建立套接字(socket)通信与芯片平台提供的生产服务进程建立通信。AP处理器的硬件抽象层中的生产服务进程可以调用校准算法库。AP处理器中的硬件抽象层中的生产服务进程还可以基于核间通信(Inter Processor Communication,IPC)与SCP处理器中的环境光传感器驱动建立通信。
该技术架构中,hidl接口为归一化的接口,可以不限定芯片平台。Socket通信本来就是应用进程之间双向通信的方式。因此,该通信方式也不会局限在特定的芯片平台上。生产服务进程可以调用校准算法库的接口。IPC通信属于芯片平台提供的基本能力,通过简单适配就可以实现。因此,也不会限定特定的芯片平台。因此,本申请实施例提供的校准方法可以应用在手机中的多个芯片平台,且开发过程简单。
另外,需要说明,在进行socket通信时,HAL层作为socket通信的client端,封装clientso库,生产服务进程作为socket通信的server端,提供server服务。
图11所示技术架构中,仅示出与本申请实施例相关的模块。
在对环境光传感器进行校准时,手机的类型、手机采用的环境光传感器的厂家、手机采用的显示屏的类型均有可能不同。相应的,校准过程或校准过程中的一些参数也可能不同。因此,在进行校准时首先需要根据手机的相关信息确定校准过程,然后再根据校准过程进行校准。
在具体实现时,根据手机的相关信息确定校准过程的方法可以参照图12所示的流程图和图13所示的技术架构。
图12所示实施例中,S11,校准程序包启动校准。S12,校准程序包调用hidl接口,通过hidl接口向HAL接口传递启动命令字。在图13所示的技术架构图中,可参照步骤G1。
S13,硬件抽象层中的HAL接口接收到校准程序包通过hidl接口发送的启动命令字后,硬件抽象层中的HAL接口建立与生产服务进程的socket通信,以传递启动命令字到生产服务进程。在图13所示的技术架构图中,可参照步骤G2。
S14,生产服务进程接收到启动命令字后,生产服务进程获取手机的相关信息(例如,产品类型、环境光传感器的厂家、显示屏的类型、烧片模式还是升级模式等)。上述类型、厂家均作为识别的标识。
在具体实现时,生产服务进程通过访问AP处理器的内核节点获得产品类型,作为示例,高通平台的AP处理器,从/proc/device-tree/honor_sensor_info/product_name节点获取。该产品类型用于在处理屏下环境光传感器的相关业务时对手机产品进行区分。
生产服务进程可以从OLED模块提供的接口获取手机的显示屏的类型。
以高通平台为例,生产服务进程可以基于高通信息接口(Qualcom MessageInterface,QMI)从SCP处理器侧获取环境光传感器的类型。以联发科平台为例,生产服务进程可以基于核间通信从SCP处理器获取环境光传感器的类型。SCP处理器处理的业务与环境光传感器相关,因此,SCP侧本身可以得到环境光传感器的类型。
生产服务进程可以通过ro.runmode属性对应的接口获取烧片模式还是升级模式。烧片模式和升级模式可以区分手机当前处于生产阶段还是维修阶段。手机为烧片模式时,表示手机处于生产阶段的环境光传感器校准。当手机为升级模式时,手机为维修阶段的环境光传感器校准。
如前所述,socket通信是建立在HAL接口和生产服务进程之间的通信,手机处于烧片模式时,会自动启动生产服务进程,以便于AP处理器中的硬件抽象层中的HAL接口与芯片平台提供的生产服务进程建立socket通信。在用户出厂后处于升级模式时(例如服务网点维修时的校准),校准程序包预先基于hidl接口给HAL接口下发一条拉起生产服务进程的指令,HAL接口需要先拉起生产服务进程,然后HAL接口才能和生产服务进程建立socket通信。手机在返厂维修时的校准时,可以采用升级模式下的校准也可以采用烧片模式下的校准。
S15,生产服务进程将获取到的手机的相关信息传递给校准算法库。在图13所示的技术架构图中,可参照步骤G3。
S16,校准算法库返回给生产服务进程与手机的相关信息对应的校准流程控制数据。在图13所示的技术架构图中,可参照步骤G4。
S17,生产服务进程得到校准流程控制数据。S18,生产服务进程将校准流程控制数据通过socket通信传递给HAL接口。在图13所示的技术架构图中,可参照步骤G5。
S19,HAL接口通过hidl接口将校准流程控制数据传递给校准程序包。在图13所示的技术架构图中,可参照步骤G6。
S110,校准程序包接收到校准流程控制数据。
校准流程控制数据设置了如何对手机的环境光传感器进行校准。该校准流程控制数据可以理解为以下步骤的控制流程:图5和图6所示的环境光传感器的中心点在显示屏上的投影位置的校准过程、图7所示的目标区域的校准过程、图8所示的子区域的干扰系数的校准过程和表1所示的亮度拟合曲线的校准过程。
校准程序包拿到校准流程控制数据之后的步骤可以参照图14所示流程图和图15所示技术架构图。
在图14所示实施例中,S21,校准程序包解析校准流程控制数据。然后按照顺序执行校准流程控制数据中的各个步骤。
假设当前执行校准环境光传感器的中心点在显示屏上的投影的步骤。S22,校准程序包查看校准流程控制数据中的最后一步是否已经完成,当前未完成,则校准程序包执行当前待执行的步骤(校准环境光传感器的中心点在显示屏上的投影)。参见图5所示实施例,校准程序包根据校准流程控制数据控制手机的显示屏按照校准流程控制数据中规定的方式在位置A1显示中心点校准图像。
另外,需要说明,在显示屏显示任何图像时,需要知道RGB值,还需要知道显示屏的亮度值。根据图像的RGB值和亮度值才能显示出图像。另外,在获取亮度拟合曲线时,还需要调节显示屏的亮度值为多个值。
在调节显示屏的亮度时,底层的硬件通常采用多阶形式的亮度值,例如,将亮度值划分为4096阶。即底层硬件可以实现4096个亮度值的调节。然而,应用层的应用程序对亮度值的划分通常为256阶。因此,在底层硬件的亮度值和应用程序的亮度值之间会有一个换算,并且,4096阶的亮度值和256阶的亮度值之间并不是等比例的换算。为了避免该冲突,可以在校准时采用的校准程序包中将亮度值设定为与底层的硬件一致的亮度体系。
还需要说明的是,显示屏显示中心点校准图像或者其他校准过程采用的图像时,采用像素点的个数定义了图像的大小,采用坐标定义了图像的位置。像素点的个数为显示屏的硬件像素点个数,坐标为显示屏的硬件像素点的个数为度量单位的坐标。因此,显示屏显示的局部区域的图像的大小和位置与显示屏的硬件分辨率相关。
若手机中的校准程序包以最大分辨率(硬件能够提供的最大分辨率)显示图像时,校准程序包按照预先设定的图像大小和位置能够控制显示屏正确显示。然而,若校准程序包以小于最大分辨率的分辨率进行显示时,则校准程序包按照预先设定的图像大小和位置控制显示屏进行显示时,显示屏显示的图像就会出现移位、放大等情况。
在手机出厂前的校准时,可以设定以最大分辨率进行显示。但是在手机出厂后维修阶段的校准时,用户可能已经将手机的显示屏的分辨率设定为较小的分辨率。这样就会出现校准错误的现象。
在实际应用中,可以在校准前通过校准程序将手机的分辨率调整为最大分辨率,然后再执行本申请实施例提供的校准方法。还可以设定比例系数。校准程序包根据手机当前的分辨率和最大分辨率之间的比例系数,得到最大分辨率下的图像转换到当前分辨率下的图像的比例系数。然后校准程序包根据该比例系数将最大分辨率下定义的待显示的图像的大小和坐标转换为当前分辨率下的待显示的图像的大小(记为第二大小)和坐标。最后校准程序包控制手机的显示屏再根据当前分辨率下的待显示的图像的大小和坐标显示待显示的图像。
需要说明,上述示例以最大分辨率进行说明,实际应用中,预先在哪个分辨率(记为预设分辨率)下设置的待显示的图像的大小(记为第一大小)和坐标,就需要得到手机当前的分辨率(记为第一分辨率)和预设分辨率之间的比例系数。
如前所述,中心点校准图像显示稳定后,才会获取手机的环境光传感器采集的数据。S24,校准程序包基于校准流程控制数据延时一段时间。
S25,在延时结束后,校准程序包根据校准流程控制数据发送校准命令字给hidl接口,其中,校准命令字包括:当前步骤对应的主步骤和子步骤,该子步骤为该主步骤中的子步骤。例如,主步骤可以为校准环境光传感器的中心点在显示屏上的投影的步骤,该主步骤包括一个子步骤,则子步骤为校准环境光传感器的中心点在显示屏上的投影的步骤。hidl接口向HAL接口传递校准命令字。在图15所示的技术架构图中,可参照步骤H1。
S26,HAL接口基于socket通信传递校准命令字给生产服务进程。在图15所示的技术架构图中,可参照步骤H2。
S27,生产服务进程接收到校准命令字后,基于IPC通信从SCP处理器的环境光传感器驱动获取位置A1对应的环境光传感器采集的RGBC数据。在图15所示的技术架构图中,可参照步骤H3和步骤H4。
在此需要说明,在图像显示稳定后,环境光传感器采集的数据才准确。由于环境光传感器采集数据并不是一瞬间的事情,而是需要采集一段时间的数据,将这一段时间的数据作为环境光传感器采集的数据。作为示例,环境光传感器采集的数据可以为持续50ms的数据,环境光传感器并不是一直采集数据,在采集50ms后,可以休眠10ms;然后再采集50ms,再休眠10ms……。环境光传感器采集50ms的数据期间,图像均需要稳定显示。上述示例中,50ms和10ms仅用于举例,实际应用中,还可以是其他数值。
因此,可以预先计算好图像显示稳定(在图像不变改变显示屏的亮度时,为亮度显示稳定)的延时和环境光传感器采集数据的延时。即S24中校准程序包延时的时间考虑了图像显示稳定的延时和环境光传感器采集数据的延时。对于SCP处理器侧的环境光传感器按照预先设定的采集周期采集数据给环境光传感器驱动。SCP处理器的环境光传感器驱动接收到生成服务进程发送的获取数据的请求后,将最新采集到的数据返回给生产服务进程。由于校准程序包预先考虑了图像显示稳定的延时和环境光传感器采集数据的延时,环境光传感器上报的数据为环境光传感器采集的图像显示稳定后的数据。
图像显示稳定的延时为从所述校准程序包发出显示图像的指令(用于指示所述显示屏显示图像)到显示屏显示图像的时长。
另外,需要说明,为了降低校准时长,可以通过上述示例一和示例二中的方式降低每次稳定显示的时间,还可以将环境光传感器的采样周期设置的相对较小。
例如,可以设置为所述环境光传感器能够支持的最低采样周期。然后,将该采样周期内的休眠时间设置的比较小,例如,在0-10ms之间的休眠时间。这样,就可以将降低校准过程的延时。从而提高校准效率。
当然,在校准结束后,可以将环境光传感器的采样周期、采集时长和休眠时长均恢复为常规时间,作为示例,将采样周期设置为350ms,将采集时长设置为50ms,将休眠时长设置为300ms。当然,实际应用中,还可以是其他数值的设置,本申请实施例对此不做限定。
S28,生产服务进程接收到环境光传感器采集的数据后,将校准命令字、环境光传感器采集的数据和当前步骤对应的主步骤和副步骤传递给校准算法库。在图15所示的技术架构图中,可参照步骤H5。
S29,校准算法库根据接收到的信息判断所有校准步骤是否完成,若未完成,则校准算法库执行S210,将步骤的响应(响应包的数据结构参照后续的实施例中的描述)传递给生产服务进程。在图15所示的技术架构图中,可参照步骤H6。
S211,生产服务进程接收到响应后,通过socket通信传递响应至HAL层的HAL接口。在图15所示的技术架构图中,可参照步骤H7。
S212,HAL接口返回响应给hidl接口。hidl接口将响应传递给应用层的校准程序包。在图15所示的技术架构图中,可参照步骤H8。
S213,校准程序包收到响应。
校准程序包接收到响应后,会继续按照图14所示实施例中的S22至S213(图15所示实施例中的步骤G1至步骤G8)执行校准流程中当前未完成的步骤或当前完成的步骤后的下一个步骤。作为示例,在当前步骤对应的子步骤未完成的情况下,继续循环执行以完成当前步骤对应的子步骤。在当前步骤对应的子步骤完成的情况下,继续循环执行以完成当前步骤对应的主步骤中的下一个子步骤。在当前步骤对应的主步骤中的每个子步骤完成的情况下,则执行当前步骤对应的主步骤的下一个主步骤中的第一个子步骤,……。
在具体实现时,在完成显示屏的位置A1显示中心点校准图像对应的一个循环之后,在显示屏的位置A2显示中心点校准图像……;在显示屏的位置A3显示中心点校准图像;……;在显示屏的亮度曲线校准区域显示B通道表示的颜色,并控制显示屏的亮度为亮度6。
图14所示实施例中,循环执行S22至S213,直到在某次执行过程中的步骤S29,校准算法库根据接收到的信息判断所有步骤已经完成,则校准算法库在确定所有步骤已经完成后,执行S214,将响应和校准数据给到生产服务进程。在图15所示的技术架构图中,可参照步骤H(n-1)。校准算法库将响应和校准数据给到生产服务进程后,可以去清理缓存的校准数据。
图14所示实施例中,S215,生产服务进程将校准算法库返回的校准数据写入NV分区中。在图15所示的技术架构图中,可参照步骤Hn。
图14所示实施例中,生产服务进程还需要执行S211至S213,以通过HAL接口和hidl接口通知校准程序包所有步骤已完成。
图14所示实施例中,校准程序包接收到表示全部步骤已经完成的响应校准程序包执行步骤S22时,就可以确定最后一步已经完成,校准程序包执行S216,控制手机的显示屏显示校准成功的界面。
需要说明,生产服务进程将校准算法库返回的校准数据写入NV分区中时,为避免将任意数据非法写入的情况。可以由校准算法库判定校准数据是否合法,在校准算法库确定返回给生产服务进程的校准数据合法后,发送给生产服务进程。校准算法库确定校准数据是否合法,可以是:确定校准数据是否在一定范围内,确定校准数据的格式是否满足要求等。当然,上述判断校准数据是否合法的方式仅用于举例,并不对此造成限制。
上述示例中,硬件抽象层的HAL接口和芯片平台提供的生产服务进程之间采用socket通信。Socket通信时,依托的数据结构如下:
头结构:
Figure BDA0003154773260000221
该头结构用来判定数据结构的版本号以及主命令字id(如前所述的主步骤)和子命令字id(如前所述的副步骤)。版本号的定义可以为后续的数据结构的变更提供兼容性措施,以便将来可以基于版本号进行功能扩展。主命令字id和子命令字id决定了socket通信的client端的请求包和server端的回应包的公共数据结构。
下面是socket通信的client端的请求包的数据结构:
struct AlsUdCaliCmdReq{
struct AlsUdCaliDataHeader header;//头结构
};
socket通信的client端的请求包的数据结构都是一致的。仅需告知主命令字id和子命令字id以及版本号。socket通信的server端根据版本号和主命令字id和子命令字id就可以决策需要采取的行动。
下面是socket通信的server端的对于启动命令字的回应包的数据结构:
Figure BDA0003154773260000222
socket通信的server端对于启动命令字的回应包需要带回如前所述的校准流程控制数据,该回应包还需要告知校准程序包该校准流程控制数据是个几行几列的数组,还需要返回执行成功或失败的状态标志。
下面是socket通信的server端的对于循环执行的校准命令字的回应包的数据结构:
Figure BDA0003154773260000231
对于循环执行的校准命令字的回应包只需要告知该步骤执行成功与失败的状态即可。即包括循环执行的主命令字id和子命令字id,执行成功或失败的状态标志。其中,校准程序包接收到的响应中的主命令字id和子命令字id为校准流程控制数据中的最后一个校准循环时,就可以确定已经完成所有校准步骤。
如步骤S29、S214和步骤S215所示,校准算法库获得的校准数据是不需要传输给校准程序包的。因此,返回给校准程序包的回应包的数据结构不需要包含校准数据。然而,校准程序包在执行后续的目标区域校准时,各个子区域的干扰系数校准和亮度拟合曲线校准时,均需要确定环境光传感器的中心点位置。以环境光传感器的中心点位置进行其他校准工作。因此,在校准数据为环境光传感器的中心点在显示屏上的投影位置时,该校准数据的回应包的数据结构如下:
Figure BDA0003154773260000232
若校准算法库根据获取到的各个位置的中心点校准图像还不能得到最终的中心点校准结果(例如,中心点的x坐标和y坐标),该回应包中的x坐标和y坐标表示下一个显示中心点校准图像时的位置。若校准算法库根据获取到的各个位置的中心点校准图像已经能够得到最终的中心点校准结果(例如,中心点的x坐标和y坐标),该回应包中的x坐标和y坐标表示中心点校准结果。
上述示例以中心点校准图像的中心点的x坐标和y坐标作为中心点校准结果。当然,还可以以中心点校准图像的左上角(还可以是,右上角,左下角或右下角)的x坐标和y坐标作为中心点校准结果。另外,为了使得校准程序包能够根据回应包确定x和y的具体含义,可以在x和y表示中心点校准结果是,包括用于表示寻找中心点完成的信息;可以在x和y表示下一次显示中心点校准图像时的位置时,包括用于表示寻找中心点未完成的信息。当然,也需要包括执行成功或失败的状态标志。
如前所述,目标区域可以是以环境光传感器的中心点在显示屏上的投影位置为中心点,通过校准测试得到的长和宽的值,也可以是在校准测试时,不需要经过测试,直接赋予的预先设置的长和宽的值。
若长和宽需要通过校准测试得到,则进行子区域的干扰系数的校准测试时,需要根据校准测试得到的长和宽,将目标区域划分为多个子区域。因此,还需要设计校准数据为目标区域时的回应包的数据结构。
若长和宽不需要通过校准测试得到,而是预先设置的长和宽的值。则校准程序包不需要返回校准数据为目标区域时的回应包。开发人员可以预先设置各个子区域相对中心点的坐标,校准程序包只要获取到环境光传感器的中心点在显示屏上的投影位置,就可以得到各个子区域的位置。
当以上这些数据结构作为参数通过socket通道传递时,对应的数据类型都采用void的泛型类型。对于socket通道而言,不需要关注传输的数据类型。而对数据结构的约定和理解只有client端和server端作为通信双方自行编解码即可。
作为一个应用场景的示例,校准程序包(可以记为第一应用)启动校准后,按照图12所示的流程图得到校准流程控制数据(可以记为第一信息)。图12中的启动命令字可以记为第四请求信息。该校准流程控制数据中规定了依次进行暗环境校准,环境光传感器的中心点在显示屏上的投影的坐标校准,各个子区域的干扰系数校准和亮度拟合曲线校准。其中,目标区域的大小采用预先设置的长和宽。即校准程序包中已经设置了目标区域的长和宽。相应的,校准程序包中也设置各个子区域在目标区域中的相对位置。
图14所示实施例中的第一次循环:
步骤S21,校准程序包解析校准流程控制数据。步骤S22,首次循环最后一次未完成,则基于校准流程控制数据中规定的顺序先进行暗环境校准。
在进行暗环境校准时,执行步骤S23显示暗环境校准图像。
需要说明,校准程序包控制显示屏显示任何图像时,校准程序包可以发出相关指令,该指令携带待显示的图像的相关信息,电子设备可以根据该指令中携带的待显示的图像的相关信息显示对应的图像。
执行步骤S24延时,延时的时间的设定可以保证手机的显示屏稳定显示暗环境校准图像后,环境光传感器能够采集到多次该暗环境校准图像对应的数据(例如,4次)。然后依次执行步骤S25至步骤S28。
步骤S29中,校准算法库基于校准命令字中的主步骤和子步骤确定当前步骤为确定暗环境校准的步骤(即所有步骤未完成)。将暗环境校准的数据输入与暗环境校准对应的算法模型中。该算法模型输出结果为暗环境满足条件(具体可参照上述实施例中描述的对暗环境进行校准的方法),则校准算法库执行S210至步骤S213。此时返回的响应包括主步骤和子步骤,还包括用于表示当前步骤校准成功的信息。
第二次循环:
校准程序包接收到暗环境对应的步骤的响应后,执行步骤S22判断最后一步未完成,则继续基于校准流程控制数据中规定的顺序进行环境光传感器的中心点在显示屏上的投影坐标的校准。
在进行环境光传感器的中心点在显示屏上的投影坐标的校准时,执行到步骤S23,在位置A1(理论中心点)显示中心点校准图像;继续执行步骤S24至S28。
步骤S29,校准算法库基于校准命令字中的主步骤和子步骤确定当前步骤为确定中心点的步骤(即所有步骤未完成)。将当前接收到的中心点校准数据输入与中心点校准对应的算法模型中。该算法模型输出结果为还不能根据当前缓存的所有中心点校准数据计算得到x坐标(如何计算得到x坐标的算法可参照图5所示实施例的描述)。
校准算法库执行S210至步骤S213。此时返回的响应包与暗环境校准时返回的响应包不同。中心点校准时的响应包包括主步骤和子步骤,还包括位置A1之后的下一个位置(A2)的x坐标和y坐标。响应包还包括:当前中心点校准未完成的信息,还包括用于表示该步骤校准成功的信息。
第三次循环:
校准程序包接收到中心点校准的步骤的响应后,执行步骤S22,根据响应包判断最后一步未完成,则继续基于校准流程控制数据中规定的顺序进行环境光传感器的中心点在显示屏上的投影坐标的校准。
执行步骤S23,由于响应包表示当前步骤还未完成,因此,基于接收到的响应包中的x坐标和y坐标在位置A2显示中心点校准图像;继续执行步骤S24至S213。中间步骤详见上述实施例中的描述,在此不再赘述。
……
第六次循环:
在执行到步骤S23,在位置A5显示中心点校准图像;继续执行步骤S24至S28。
步骤S29,校准算法库基于校准命令字中的主步骤和子步骤确定当前步骤为确定中心点的步骤(所有步骤未完成)。将中心点校准的数据输入与中心点校准对应的算法模型中。该算法模型输出结果为可以根据当前存储的中心点校准的数据计算得到x坐标(如何计算得到x坐标的算法可参照图5所示实施例的描述),并确定位置B1。
校准算法库执行S210至步骤S213。此时返回的响应包包括位置B1的x坐标和y坐标,还包括表示当前步骤未完成的信息。
第七次循环:
校准程序包接收到第六次循环的响应后,执行步骤S22判断最后一步未完成,则继续基于校准流程控制数据中规定的顺序进行环境光传感器的中心点在显示屏上的投影坐标的校准。
执行步骤S23,根据响应包中未完成的信息,在响应包中的x坐标和y坐标对应的位置B1显示中心点校准图像;继续执行步骤S24至S213。中间步骤详见上述实施例中的描述,在此不再赘述。
……
第十一次循环:
在执行到在位置B5显示中心点校准图像;继续执行步骤S24至S28。
步骤S29,校准算法库基于校准命令字中的主步骤和子步骤确定当前的步骤为中心点校准的步骤(所有步骤未完成)。将中心点校准的数据输入与中心点校准对应的算法模型中。该算法模型输出结果为可以根据当前缓存的数据计算得到y坐标(如何计算得到y坐标的算法可参照图5所示实施例的描述)。
校准算法库执行S210至步骤S213。此时返回的响应包包括x坐标和y坐标,还包括中心点校准完成的信息。需要说明,此时响应包中的x坐标和y坐标表示环境光传感器的中心点的校准结果,并不是下个循环显示中心点校准图像的位置。
由于校准算法库已经确定了x坐标和y坐标,而目标区域不经过循环流程也可以获得,因此,校准算法库可以直接生成目标区域的校准数据。
校准程序包根据接收到的响应包确定中心点校准已经完成,则可以将响应包中的x和y坐标作为中心点的校准结果。
校准程序包可以按照校准流程控制数据中的顺序继续执行子区域的干扰系数的校准。由于目标区域的长和宽为预先设置的固定值,因此,可以在校准程序包中预先设置各个子区域在目标区域中的相对位置。校准程序包中根据中心点坐标可以得到目标区域在显示屏上的坐标,然后根据目标区域在显示屏上的坐标和各个子区域在目标区域中的相对位置可以得到各个子区域在显示屏上的位置坐标。
第十二次循环:
在进行子区域的干扰系数校准时,校准程序包中设置了各个子区域的序号,可以依据各个子区域的序号执行各个子区域的干扰系数校准。
执行步骤S23步骤S28。
步骤S29中,校准算法库基于校准命令字中的主步骤和子步骤确定当前步骤为子区域校准(主步骤)中的第一个子区域的步骤(子步骤),所有步骤未完成。将第一个子区域校准的数据存储。
校准算法库执行S210至步骤S213。此时返回的响应包括主步骤和子步骤,还包括用于表示当前步骤校准成功的信息。
……
第三十六次循环:
假设划分为25个子区域,则第三十六次循环为执行的最后一个子区域的校准。
按照其他子区域校准的方式执行到步骤S28。
步骤S29中,校准算法库基于校准命令字中的主步骤和子步骤确定当前步骤为子区域校准中的第25个子区域校准的步骤,所有步骤未完成。将第25个子区域校准的数据存储。
校准算法库执行S210至步骤S213。此时返回的响应包括主步骤和子步骤,还包括用于表示该步骤校准成功的信息。
在具体实现时,校准算法库可以缓存各个子区域对应的数据。校准算法库也可以预先存储各个子区域在目标区域中的相对坐标,根据各个子区域在目标区域中的相对坐标,得到目标区域的拼接数据。存储在NV区的校准数据可以为目标区域的拼接数据。在真正计算噪声时,由噪声计算时的噪声算法库再根据拼接数据计算获得各个子区域的干扰系数。当然,校准算法库也可以根据拼接数据计算获得各个子区域的干扰系数,将各个子区域的干扰系数作为校准数据存储在NV区。在真正计算噪声时,由噪声计算时的噪声算法库直接获得各个子区域的干扰系数。本申请实施例对此不做限定。
第三十七循环:
校准程序包接收到第三十六循环的响应包之后,执行步骤S22,开始执行亮度拟合曲线校准。
执行到步骤S23,按照表1的方式固定红色图像,调节亮度为亮度1。
继续执行到步骤S28。
步骤S29,校准算法库基于校准命令字中的主步骤和子步骤确定当前步骤为亮度拟合曲线校准的第一个步骤,所有步骤未完成。按照该步骤对应的处理方式将亮度拟合曲线校准的数据存储。
校准算法库继续执行S210至步骤S213。此时返回的响应包括主步骤和子步骤,还包括用于表示本次循环成功的信息。
……
最后一次循环:
执行到步骤S23,按照表1的方式固定蓝色图像,调节亮度为亮度6。
继续执行到步骤S28。
步骤S29,校准算法库基于校准命令字中的主步骤和子步骤确定当前步骤为亮度拟合曲线校准步骤中的第18个子步骤,所有步骤已完成。按照该步骤对应的处理方式将亮度拟合曲线校准的数据存储。
校准算法库继续执行S214,将所有的校准数据(环境光传感器中心点校准时的x坐标和y坐标,目标区域的长和宽,各个子区域的拼接数据,不同颜色和不同亮度对应的条目数据)发送给生产服务进程。生产服务进程执行步骤S215。将所有的校准数据(环境光传感器中心点校准时的x坐标和y坐标,目标区域的长和宽,各个子区域的拼接数据,不同颜色和不同亮度对应的条目数据),以及产品的相关信息等写入预设的存储区域。
环境光传感器在检测环境光时,环境光传感器采集的数据包括:噪声和真实的环境光。存储区域中的校准数据用于计算获得噪声。
作为示例,噪声为环境光传感器上方的显示屏中的目标区域显示的图像和亮度对应的光产生的。目标区域在显示屏上的位置通过环境光传感器中心点校准时的x坐标和y坐标以及目标区域的长和宽确定。然后,获取环境光传感器采集数据时目标区域对应的目标图像。根据目标图像中每个像素点的RGB值和显示屏的亮度,从不同颜色和不同亮度对应的条目数据中找到每个像素点对应的曲线数据。根据每个像素点对应的曲线数据对应的伽马值,以及每个像素点所在的子区域的干扰系数得到每个像素点对应的噪声。最后将目标图像每个像素点对应的噪声累加计算获得目标区域对应的图像在的噪声。环境光传感器采集的数据减去该噪声就可以得到外界真实的环境光。
图14所示示例中,生产服务进程还需要执行步骤S211至步骤S213。此时返回的响应包括主步骤和子步骤,还包括用于表示本次循环成功的信息。
校准程序包执行步骤S22,能够确定最后一个校准步骤已经完成,则在手机的显示屏显示校准成功的界面。
可以将上述示例中任意一次循环显示的图像记为第一图像。与第一图像处于同一循环中的校准命令字记为第一请求信息。显示屏显示第一图像时,所述环境光传感器采集的数据记为第一数据。基于第一数据得到的校准数据记为第一测试数据。与第一图像处于同一循环中的校准命令字中的主步骤和子步骤组成第一标识。最后一个循环步骤对应的主步骤和子步骤组成目标标识,校准算法库中预先保存该目标标识。与所述第一图像处于同一循环中的响应包括第一响应和第二响应。校准算法库向生产服务进程发送的响应记为第一响应,生产服务进程向第一应用发送的响应记为第二响应。第一响应和第二响应可以相同。
作为另一示例,第一图像所在的循环可以为最后一个循环。第一图像所在的循环也可以不为最后一个循环。
作为一个示例,第一图像所在的循环不为最后一个循环,可以将第一图像所在的循环之后的一个循环中显示的图像记为第二图像。与第二图像处于同一循环中的校准命令字记为第二请求信息。显示屏显示第二图像时,所述环境光传感器采集的数据记为第二数据。基于第一数据和第二数据得到的校准数据记为第一测试数据。与第二图像处于同一循环中的校准命令字中的主步骤和子步骤组成第二标识。
与所述第二图像处于同一循环中的响应包括第三响应和第四响应。校准算法库向生产服务进程发送的响应记为第三响应,生产服务进程向第一应用发送的响应记为第四响应。第三响应和第四响应可以相同。
作为另一示例,第一图像和第二图像所在的循环均为中心点校准对应的循环。第一图像和第二图像为位置A1至位置A5中的两个图像,或者为位置B1至位置B5中的两个图像;第一标识和第二标识均为中心点校准标识。与所述中心点校准标识相关的数据包括:位置A1至位置A5对应的环境光传感器采集的数据,或者位置B1至位置B5对应的环境光传感器采集的数据。第二图像所在的循环在第一图像所在的循环之后的一个循环。则第二图像对应的位置为显示屏显示第一图像时第一图像在所述显示屏上的第一坐标获得的第二坐标。例如,在第一坐标的基础上水平或竖直移动一个像素点得到第二坐标。
可以将与中心点校准标识相关的数据中的极大值对应的图像的坐标记为第三坐标。
第三坐标可能是第一坐标,也可能是第二坐标,还可能不为第一坐标和第二坐标。
可以将得到极大值时对应的响应记为第五响应和第六响应。第五响应和第六响应可以相同,也可以不同,但是表示的含义相同。校准算法库向生产服务进程发送的响应记为第五响应;生产服务进程向所述第一应用发送的响应记为第六响应。
第五响应可以为第二响应,例如,获得第二数据后就可以得到极大值。第五响应也可以不为第二响应,例如,获得第二数据后还不能得到极大值,需要继续获得数据,才能得到极大值。
作为另一示例,可以将任意一个子区域(可以记为第一子区域)所在的循环中显示的图像记为第三图像。第三图像所在的循环中的校准命令字记为第三请求信息。显示屏显示第三图像时,所述环境光传感器采集的数据记为第三数据。基于第三数据得到的校准数据记为第二测试数据。
作为另一示例,第一图像和第二图像可以为亮度拟合校准时,连续显示的两个图像。第一图像和第二图像的相同,均为纯色的图像。第一图像和第二图像的颜色均为:红色、蓝色或绿色。可以将第一图像和第二图像的颜色记为第一颜色。显示屏显示第一图像和第二图像时,显示屏的亮度不同(分别记为第一亮度和第二亮度)。例如,第一图像为表1中的第一条目对应的图像;第二图像为表1中第二条目对应的图像。在具体实现时,以亮度1显示第一图像后。在下一次循环时,不需要再次触发显示一遍第一图像,只需要调节显示屏的亮度为亮度2就可以得到第二图像。
上述示例中以主步骤和子步骤结合确定当前的步骤。暗环境校准时,可以有一个主步骤和一个子步骤,校准算法库基于主步骤和子步骤可以确定当前接收到的数据为暗环境校准的数据,从而调用相应的算法模型判断暗环境是否满足要求。中心点校准时,可以有一个主步骤和一个子步骤,校准算法库根据内部的算法在能够得到中心点坐标的情况下,确定中心点校准完成。子区域的干扰系数校准时,可以有一个主步骤和多个子步骤,每个子区域对应一个子步骤(预先设置了多少个子步骤)。校准算法库可以根据主步骤和子步骤的标识确定子区域的干扰系数对应的数据,从而在最后一个子区域对应的循环步骤时,得到子区域校准过程的全部数据。亮度拟合曲线校准时,可以有一个主步骤和多个子步骤,每个颜色搭配每个亮度对应一个子步骤(预先设置了多少个条目)。校准算法库可以根据主步骤和子步骤的标识确定当前接收到的数据为亮度拟合曲线的条目数据。在最后一个子步骤对应的循环步骤时,得到亮度拟合曲线校准过程的全部条目数据。因此,校准算法库能够根据主步骤和子步骤确定所有的步骤是否已完成。
实际应用中,需要先进行暗环境校准,然后在进行中心点校准,再得到目标区域,在得到各个子区域的位置。子区域的干扰系数校准和亮度拟合曲线校准的顺序并未限定。当然,在执行完上述校准过程后,也可以再增加暗环境校准。避免在校准过程中,暗环境条件不达标导致校准出现错误。在最后一次的暗环境校准确定暗环境条件达标的情况下,再显示校准成功的界面。
上述示例描述了与本申请实施例相关的循环过程。在上述循环过程中每次循环过程前面的次数标号仅用于表示该实施例对应的校准过程中循环过程的次序。在实际应用中,还可以是比上述实施例更多的循环次数,或更少的循环次数。本申请实施例对此不做限定。
在手机出厂前的校准、返厂维修时的校准和服务网点的校准均基于图12和图14所示的流程图实现对手机中环境光传感器的校准。只是,在对手机中的环境光传感器进行校准时,手机的显示屏中环境光传感器附近的区域需要置于暗环境中。
在手机出厂前的产线校准时,仍然可以使用产线测试装备提供暗环境,手机与产线测试装备通过USB数据线或者无线通信方式连接。由产线测试装备根据手机的芯片平台向手机发送相应的指令,该相应的指令用于触发手机中的MMI server执行校准程序包。在校准程序包对应的流程结束后,产线测试装备基于该相应的指令从手机查询到校准完成。
校准程序包中限定的校准流程已经完全与产线测试装备解耦。在实际应用中,通过产线测试装备触发校准程序包启动后,整个校准过程中,产线测试装备不再需要与校准程序包进行任何控制交互。产线测试装备只需要在校准程序包运行结束后,查询获得校准数据。因此,通过图11所示的技术架构实现的校准过程中,不再需要开发集成在PC测的DLL格式的校准算法库。
当然,产线测试装备若只是为手机中的环境光传感器提供暗环境,则可以通过其他方式提供暗环境。在对手机中的环境光传感器进行校准时,取消价格昂贵的产线测试装备。
作为示例,提供一种设备,该设备可以有暗室。暗室可以放置手机。在进行校准时,通过该设备上的扫码器扫描手机上的唯一标识号(例如,手机的设备序列号),以使得该装置与手机建立无线连接。将手机放置在暗室内,该暗室闭合后,设备监测放置了手机的暗室中的暗环境是否符合校准条件。若符合,则设备通过无线通信控制手机启动校准。在达到预设的时间(该时间可以完成校准过程)后,设备通过无线通信查询校准结果。
当然,当设备存在多个暗室的情况下,可以同时对多个手机进行校准。例如,设备的多个暗室放置了手机的情况下,设备可以依次触发每个暗室中的手机启动校准。在达到预设的时间后,设备按照触发手机启动校准的顺序依次查询校准结果。
在服务网点维修后的校准阶段,工作人员可以在手机的负一屏搜索“环境光校准”进入图16所示的显示界面;工作人员也可以设置中寻找该功能触发手机进入图16所示的显示界面。图16所示的显示界面可以包括“开始检测”的控件,还可以包括检测过程中的注意事项。工作人员点击“开始检测”的控件,进入图17所示的显示界面。图17所示的显示界面中可以通过线条展示压合区域。为了使得工作人员更清楚的了解压合区域的具体位置,图17所示的显示界面中还可以包括压合区域位置提示。该位置提示可以为手机的模型图,该模型图中通过不同颜色(例如图17中的黑色)显示压合区域。工作人员将黑色压头(也可以是黑色的任意物体)压在压合区域。压合区域只是粗略的一个区域,压合区域要比目标区域大得多,才能提供不影响环境光传感器校准的暗环境。图17所示的显示界面中还可以包括“开始校准”的控件,工作人员在确定将黑色压头压在压合区域后,在图17所示的显示界面中点击“开始校准”的控件以触发校准程序包执行图12和图14所示的校准流程。在校准程序包完成校准流程后,手机的显示屏显示校准成功的界面(例如,图18所述的显示界面)。用户就可以从手机的显示屏上取走黑色压头。需要说明,用于提示校准成功的标识需要在指定的压合区域以外进行显示。工作人员才能够在压合区域被覆盖的情况下,通过手机显示的界面得到校准成功的信息。
另外,需要说明,用户点击图16所示的显示界面中的“开始检测”的控件,可以触发校准程序包执行图12所示的流程图。校准程序包获取到校准流程后,校准程序包再指示手机显示图17所示的显示界面。因为,图12所示的流程图的实施是不需要必须在暗环境下执行的。
在返厂维修后的校准阶段,可以采用和服务网点维修后的校准阶段一样的流程和一样的显示界面。只是在返厂维修后的校准阶段,工作人员可以按照服务网点维修后的校准时采用黑色压头压在压合区域提供暗环境;也可以将手机的上半部分放入夹具中。在校准程序包完成校准流程后,手机的显示屏显示校准成功的界面。用户就可以从夹具中取走手机。
当然,实际应用中,用户也可以在手机上自行进行校准。例如,用户自行拆机,自行维修后,可以对手机的环境光传感器的校准。
作为示例,用户可以在手机中下载安装校准程序包对应的应用(记为校准应用)。当然,该校准应用也可以在出厂时预置在手机中。用户通过点击校准应用,或负一屏搜索该应用,或通过设置找到该应用。用户对手机的环境光传感器进行校准前,需要预先从手机厂商提供的服务器获得校准的权限。在用户拥有对手机的环境光传感器进行校准的权限后,用户才可以启动校准应用。校准流程以及显示的界面可以参照图16至图18所示。
需要说明,在提示用户覆盖压合区域后,相应的控件(例如,“开始校准”的控件)和用于显示校准成功的标志均需要显示在手机的下半部分,以便于用户能够执行点击控件的操作和便于用户知晓校准结束。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种计算机程序产品,当计算机程序产品在第一设备上运行时,使得第一设备可实现上述各个方法实施例中的步骤。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到第一设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请实施例还提供了一种芯片系统,芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请任一方法实施例的步骤。芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (21)

1.一种数据处理方法,其特征在于,应用于设置屏下环境光传感器的电子设备,所述电子设备包括:第一应用、生产服务进程、校准算法库和显示屏,所述方法包括:
所述第一应用接收第一信息,所述第一信息用于指示所述显示屏显示第一图像;
所述显示屏显示所述第一图像,其中,所述显示屏显示所述第一图像之前,所述环境光传感器处于暗环境中;
所述第一应用向所述生产服务进程发送第一请求信息;
响应于接收所述第一请求信息,所述生产服务进程获取所述电子设备的环境光传感器采集的第一数据,所述第一数据为所述显示屏显示所述第一图像时,所述环境光传感器采集的数据;
所述生产服务进程向所述校准算法库发送所述第一数据;
所述校准算法库基于所述第一数据,得到第一测试数据,所述第一测试数据用于在所述环境光传感器采集环境光数据时对采集的环境光数据进行校准。
2.如权利要求1所述的方法,其特征在于,所述第一请求信息携带第一标识;
所述生产服务进程向所述校准算法库发送所述第一数据包括:
所述生产服务进程向所述校准算法库发送所述第一数据和所述第一标识。
3.如权利要求2所述的方法,其特征在于,所述生产服务进程向所述校准算法库发送所述第一数据和所述第一标识之后,所述方法还包括:
所述校准算法库确定所述第一标识是否与目标标识相同;
若所述第一标识与所述目标标识不相同,则所述校准算法库向所述生产服务进程发送第一响应,所述第一响应携带所述第一标识;
响应于接收所述第一响应,所述生产服务进程向所述第一应用发送第二响应,所述第二响应携带所述第一标识。
4.如权利要求3所述的方法,其特征在于,所述生产服务进程向所述第一应用发送第二响应之后,所述方法还包括:
所述第一应用指示所述显示屏显示第二图像;
所述第一应用向所述生产服务进程发送第二请求信息,所述第二请求信息携带第二标识;
响应于接收所述第二请求信息,所述生产服务进程获取所述电子设备的环境光传感器采集的第二数据,所述第二数据为所述显示屏显示所述第二图像时,所述环境光传感器采集的数据;
所述生产服务进程向所述校准算法库发送所述第二数据和所述第二标识;
相应的,所述校准算法库基于所述第一数据,得到第一测试数据包括:
所述校准算法库基于所述第一数据和所述第二数据,得到所述第一测试数据。
5.如权利要求3所述的方法,其特征在于,所述校准算法库确定所述第一标识是否等于目标标识之后,还包括:
若所述第一标识与所述目标标识相同,则所述校准算法库向所述生产服务进程发送校准数据,所述校准数据包括所述第一测试数据;
所述生产服务进程接收到所述校准数据,将所述校准数据写入预设的存储区域。
6.如权利要求5所述的方法,其特征在于,若所述第一标识与所述目标标识相同,所述方法还包括:
所述校准算法库向所述生产服务进程发送第三响应,所述第三响应携带所述第一标识;
所述生产服务进程接收到所述第三响应,基于所述第三响应向所述第一应用发送第四响应,所述第四响应携带所述第一标识;
所述第一应用接收所述第四响应后,所述第一应用显示第一界面,所述第一界面用于表示所述环境光传感器校准完成。
7.如权利要求4所述的方法,其特征在于,若所述第一标识与所述目标标识不相同,则所述校准算法库向所述生产服务进程发送第一响应,包括:
若所述第一标识与中心点校准标识相同,则所述校准算法库基于所述第一标识获取所述校准算法库接收到的与所述第一标识相关的数据,其中,所述中心点校准标识与所述目标标识不相同,所述与所述第一标识相关的数据包括:所述第一数据;
所述校准算法库确定所述与所述第一标识相关的数据是否满足预设条件;
在所述与所述第一标识相关的数据不满足预设条件时,所述校准算法库基于第一坐标得到第二坐标;所述第一坐标为所述显示屏显示所述第一图像时所述第一图像在所述显示屏上的坐标,所述第二坐标中第一方向上的值和所述第一坐标中第一方向上的值相同;
所述校准算法库向所述生产服务进程发送第一响应,所述第一响应携带所述第二坐标和未完成标识,所述未完成标识用于表示中心校准步骤未完成;
相应的,所述第二响应携带所述第二坐标和未完成标识;所述第一应用指示所述显示屏显示第二图像包括:
响应于接收到所述第二响应,所述第一应用基于所述第二响应中的未完成标识和所述第二坐标显示所述第二图像。
8.如权利要求7所述的方法,其特征在于,所述第二标识和所述第一标识相同;
所述生产服务进程向所述校准算法库发送所述第二数据和所述第二标识之后,所述方法还包括:
所述校准算法库基于所述第二标识获取所述校准算法库接收到的与所述第二标识相关的数据,其中,所述与所述第二标识相关的数据包括:所述第一数据和所述第二数据;
所述校准算法库确定所述与所述第二标识相关的数据是否满足预设条件;
在所述与所述第二标识相关的数据满足预设条件时,所述校准算法库获取所述与所述第二标识相关的数据中的极大值;
所述校准算法库获取所述极大值对应的图像在所述显示屏上显示时的第三坐标,校准数据包括所述第三坐标。
9.如权利要求8所述的方法,其特征在于,所述校准算法库获取所述极大值对应的图像在所述显示屏上显示时的坐标之后,所述方法还包括:
所述校准算法库向所述生产服务进程发送第五响应,所述第五响应携带所述第三坐标和已完成标识,所述第三坐标为所述环境光传感器在所述电子设备的显示屏上的投影的坐标,所述已完成标识用于表示所述中心校准步骤已完成;
响应于接收到所述第五响应,所述生产服务进程基于所述第五响应向所述第一应用发送第六响应,所述第六响应携带所述第三坐标和已完成的标识。
10.如权利要求9所述的方法,其特征在于,所述生产服务进程基于所述第五响应向所述第一应用发送第六响应之后,所述方法还包括:
所述第一应用接收所述第六响应,并从所述第六响应中获取所述第三坐标;
在所述第六响应携带已完成标识的情况下,所述第一应用基于所述第三坐标,以及预设的目标区域的长和宽,得到所述目标区域在所述显示屏上的位置;
所述第一应用获取所述目标区域中的各个子区域在所述目标区域中的相对位置;
所述第一应用基于所述各个子区域在所述目标区域中的相对位置和所述目标区域在所述显示屏上的位置,得到所述各个子区域在所述显示屏上的位置。
11.如权利要求10所述的方法,其特征在于,在得到所述各个子区域在所述显示屏上的位置之后,还包括:
所述第一应用指示所述显示屏显示第三图像,所述第三图像在所述显示屏上的位置为第一子区域在所述显示屏上的位置,所述第一子区域为所述各个子区域中的一个子区域;
所述第一应用向所述生产服务进程发送第三请求信息;
响应于接收所述第三请求信息,所述生产服务进程获取所述电子设备的环境光传感器采集的第三数据,所述第三数据为所述显示屏显示所述第三图像时,所述环境光传感器采集的数据;
所述生产服务进程向所述校准算法库发送所述第三数据;
所述校准算法库基于所述第三数据,得到第二测试数据,校准数据包括所述第二测试数据。
12.如权利要求4所述的方法,其特征在于,所述第一标识和所述第二标识均为亮度拟合曲线校准的标识;
所述显示屏显示所述第一图像包括:
所述显示屏以第一亮度显示第一颜色的第一图像;
相应的,所述第一应用指示所述显示屏显示第二图像包括:
响应于接收到所述第二响应,所述第一应用指示所述显示屏调节亮度为第二亮度。
13.如权利要求1至12任一项所述的方法,其特征在于,所述第一应用接收第一信息之前,还包括:
所述第一应用向所述生产服务进程发送第四请求信息;
响应于接收所述第四请求信息,所述生产服务进程获取所述电子设备的信息,所述电子设备的信息包括:所述电子设备的显示屏的标识,所述电子设备的环境光传感器的标识,所述电子设备的模式;
所述生产服务进程向所述校准算法库发送所述电子设备的信息;
响应于接收到所述电子设备的信息,所述校准算法库获取与所述电子设备的信息对应的所述第一信息;
所述校准算法库向所述生产服务进程发送所述第一信息;
响应于接收到所述第一信息,所述生产服务进程向所述第一应用发送所述第一信息。
14.如权利要求13所述的方法,其特征在于,所述电子设备的模式为第一模式;
所述显示屏显示所述第一图像之前,还包括:
在所述电子设备的显示屏的分辨率不为预设分辨率时,所述第一应用设置所述电子设备的显示屏的分辨率为预设分辨率;
或,所述第一应用获取所述电子设备的显示屏当前的第一分辨率;
所述第一应用基于所述第一分辨率和所述预设分辨率计算获得比例系数;
所述第一应用获取在所述预设分辨率下所述第一图像的第一大小;
所述第一应用基于所述第一大小和所述比例系数,得到所述第一分辨率下所述第一图像的第二大小;
所述第一应用指示所述显示屏以所述第二大小显示所述第一图像。
15.如权利要求1所述的方法,其特征在于,所述第一应用向生产服务进程发送第一请求信息包括:
所述第一应用通过hidl接口向硬件抽象层接口发送所述第一请求信息;
所述硬件抽象层接口向所述生产服务进程发送第一请求信息。
16.如权利要求15所述的方法,其特征在于,所述第一应用通过hidl接口向所述硬件抽象层接口发送所述第一请求信息之前,所述方法还包括:
所述第一应用从指示所述显示屏显示第一图像开始延时第一预设时间,所述第一预设时间大于或等于图像生效时长和所述环境光传感器的采集周期中的采集时长,所述图像生效时长为从所述第一应用指示所述显示屏显示图像至所述显示屏显示图像之间的时长。
17.如权利要求1所述的方法,其特征在于,所述电子设备包括第一处理器和第二处理器 ;所述生产服务进程为运行在所述第一处理器中的进程,所述环境光传感器驱动为运行在所述第二处理器中的驱动;
所述生产服务进程获取所述电子设备的环境光传感器采集的第一数据之前,还包括:
所述第二处理器中的环境光传感器驱动接收所述环境光传感器发送的所述第一数据;
相应的,所述生产服务进程获取所述电子设备的环境光传感器采集的第一数据包括:
所述生产服务进程基于核间通信从第二处理器中的环境光传感器驱动获取所述第一数据。
18.如权利要求7或8所述的方法,其特征在于,所述校准算法库确定所述与所述第一标识相关的数据是否满足预设条件包括:
所述校准算法库确定所述与所述第一标识相关的数据中是否存在第四数据,所述第四数据大于第五数据且所述第四数据大于第六数据,其中,所述第五数据对应的图像的坐标在第二方向上的值大于所述第四数据对应的图像的坐标在所述第二方向上的值,所述第六数据对应的图像的坐标在所述第二方向上的值小于所述第四数据对应的图像的坐标在所述第二方向上的值;
若所述与所述第一标识相关的数据中存在第四数据,所述校准算法库确定所述与所述第一标识相关的数据满足预设条件;若所述与所述第一标识相关的数据中不存在第四数据,所述校准算法库确定所述与所述第一标识相关的数据不满足预设条件。
19.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于运行存储器中存储的计算机程序,以使得所述电子设备实现如权利要求1至18任一项所述的方法。
20.一种芯片系统,其特征在于,包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如权利要求1至18任一项所述的方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储计算机程序,所述计算机程序在处理器上运行时实现如权利要求1至18任一项所述的方法。
CN202110776293.2A 2021-07-08 2021-07-08 一种数据处理方法、电子设备、芯片系统及存储介质 Active CN113806103B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110776293.2A CN113806103B (zh) 2021-07-08 2021-07-08 一种数据处理方法、电子设备、芯片系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110776293.2A CN113806103B (zh) 2021-07-08 2021-07-08 一种数据处理方法、电子设备、芯片系统及存储介质

Publications (2)

Publication Number Publication Date
CN113806103A CN113806103A (zh) 2021-12-17
CN113806103B true CN113806103B (zh) 2022-08-26

Family

ID=78893075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110776293.2A Active CN113806103B (zh) 2021-07-08 2021-07-08 一种数据处理方法、电子设备、芯片系统及存储介质

Country Status (1)

Country Link
CN (1) CN113806103B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115326194B (zh) * 2022-10-17 2023-02-17 荣耀终端有限公司 一种环境光传感器校准方法、电子设备和存储介质
CN116659659B (zh) * 2022-11-14 2024-03-29 荣耀终端有限公司 一种环境光传感器的校准方法、电子设备及芯片系统
CN116309593B (zh) * 2023-05-23 2023-09-12 天津市中西医结合医院(天津市南开医院) 基于数学模型的肝脏穿刺活检b超图像处理方法及系统
CN116754069B (zh) * 2023-08-23 2023-11-10 荣耀终端有限公司 校准数据的测试方法、电子设备、测试装备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330576A (zh) * 2007-06-19 2008-12-24 奥林巴斯映像株式会社 图像显示装置和方法以及图像拾取装置、图像再现装置
CN107818753A (zh) * 2017-11-22 2018-03-20 广东欧珀移动通信有限公司 屏幕亮度调整方法、装置、存储介质和电子设备
WO2018120813A1 (zh) * 2016-12-27 2018-07-05 华为技术有限公司 一种智能推荐方法和终端
CN112017615A (zh) * 2019-05-31 2020-12-01 华为技术有限公司 电子设备的环境光亮度校准方法及电子设备
WO2021057244A1 (zh) * 2019-09-27 2021-04-01 北京市商汤科技开发有限公司 光强调节方法及装置、电子设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011137731A2 (zh) * 2011-04-29 2011-11-10 华为终端有限公司 终端设备中的发光器件控制方法、装置及终端设备
US9947275B1 (en) * 2014-09-19 2018-04-17 Amazon Technologies, Inc. Real-time white point correction for tablet display
CN107665697B (zh) * 2017-10-20 2019-07-26 维沃移动通信有限公司 一种屏幕亮度的调节方法及移动终端
US10733942B2 (en) * 2018-04-13 2020-08-04 Apple Inc. Ambient light color compensation systems and methods for electronic device displays

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330576A (zh) * 2007-06-19 2008-12-24 奥林巴斯映像株式会社 图像显示装置和方法以及图像拾取装置、图像再现装置
WO2018120813A1 (zh) * 2016-12-27 2018-07-05 华为技术有限公司 一种智能推荐方法和终端
CN107818753A (zh) * 2017-11-22 2018-03-20 广东欧珀移动通信有限公司 屏幕亮度调整方法、装置、存储介质和电子设备
CN112017615A (zh) * 2019-05-31 2020-12-01 华为技术有限公司 电子设备的环境光亮度校准方法及电子设备
WO2021057244A1 (zh) * 2019-09-27 2021-04-01 北京市商汤科技开发有限公司 光强调节方法及装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN113806103A (zh) 2021-12-17

Similar Documents

Publication Publication Date Title
CN113806103B (zh) 一种数据处理方法、电子设备、芯片系统及存储介质
WO2020244492A1 (zh) 一种投屏显示方法及电子设备
WO2021135730A1 (zh) 显示界面适配方法、显示界面适配设计方法和电子设备
CN111563466B (zh) 人脸检测方法及相关产品
CN116360725B (zh) 显示交互系统、显示方法及设备
CN114327127B (zh) 滑动丢帧检测的方法和装置
EP4231147A1 (en) Drawing command processing method and related device therefor
WO2022042326A1 (zh) 显示控制的方法及相关装置
CN116114239B (zh) 音量管理的方法及电子设备
WO2020034150A1 (zh) 一种广告图片的显示方法、上传方法及装置
CN114237413A (zh) 处理交互事件的方法和装置
CN115597706B (zh) 一种环境光的检测方法、电子设备及芯片系统
WO2020155013A1 (zh) 一种紧急呼叫方法及用户终端
CN114490228B (zh) 一种蓝牙自动化测试方法及相关装置
CN116754069B (zh) 校准数据的测试方法、电子设备、测试装备及存储介质
WO2022007757A1 (zh) 跨设备声纹注册方法、电子设备及存储介质
CN116659659B (zh) 一种环境光传感器的校准方法、电子设备及芯片系统
CN110830717B (zh) 一种参数值的获取方法及电子设备
WO2024022288A1 (zh) 安装智能设备的方法及电子设备
CN115087134B (zh) 一种蓝牙连接的方法和电子设备
CN116077943B (zh) 调度系统资源的方法及相关装置
CN116744187B (zh) 扬声器控制方法及设备
CN114125805B (zh) 蓝牙回连方法及终端设备
CN114390195B (zh) 一种自动对焦的方法、装置、设备及存储介质
EP4117170A1 (en) Method and device for adjusting vibration waveform of linear motor

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
TR01 Transfer of patent right

Effective date of registration: 20230908

Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New Area, Pudong New Area, Shanghai

Patentee after: Shanghai Glory Smart Technology Development Co.,Ltd.

Address before: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee before: Honor Device Co.,Ltd.

TR01 Transfer of patent right