Android Q自动背光曲线调节

news/2024/9/23 6:33:54/

诺基亚客户对背光曲线有很明确需求,因此就将系统的背光曲线部分看了下,现将这个流程总结出来。
一,概念明确
背光的调节有与光相关的概念,需要首先明确下,后面我们会用到这些概念。
1,环境光:是指真实的环境光的亮度值(可用照度计测得)。

注意,这里要区分环境光与手机sensor感光,这中间会有误差,sensor是比较敏感的器件,同一光源下角度稍偏,sensor上报的值就会有很大变化,因此测试时,尽可能保证手机sensor与环境光是平行的,避免应角度带来的误差。一般情况下,sensor上报的值 < 环境光值 ,因为手机结构有玻璃等遮挡物,光线会有损耗。

2,Nit值:该值为人眼感知的光强度的度量单位。
3,手机背光:也称灰阶,是一个0-255的值,这是从上层设到驱动,并最终影响屏幕亮度的值。
4,手机屏幕亮度:手机屏幕的真实亮度,需要用特定仪器测试。

我们配置的是手机背光(0-255),至于特定背光下手机屏幕真正显示的亮度,与当前屏材质、电流大小等硬件参数有关。

二,配置
目标:客户的需求是得到 环境光—手机屏幕亮度 ,这两者之间的曲线关系。
系统给出来的配置接口:
config_autoBrightnessLevels ----LUX
config_autoBrightnessDisplayValuesNits ---- DisplayNit
config_screenBrightnessNits —> Nit
config_screenBrightnessBacklight —>BL

1,得到环境光 与 手机光感sensor器件 上报的光感值 之间的关系。因为软件配置的值都是通过手机光感sensor上报的值来的,但是真实的环境光与其有差异,因此需要找到两者之前的关系,并通过sensor上报的值反推环境光值。有了这个关系,我们就能从客户需求 环境光 —手机屏幕亮度 ,转换为 sensor上报感光----手机屏幕亮度

注意:如果发现用照度计测到的环境光 < sensor上报值,说明驱动有做补光的操作,将sensor检测到的环境光乘了 比例系数在上报了。

2,得到 背光等级与屏幕亮度之间的关系。这个需要CE通过仪器测量的出来,有了这个关系,我们就能将 sensor上报感光----手机屏幕亮度,转换为 sensor上报感光----背光等级

到这里,我们要关注的就是 sensor上报感光----背光等级 之间的关系曲线了。
sensor上报感光 就是 config_autoBrightnessLevels —LUX
背光等级 就是 config_screenBrightnessBacklight -----BL
那么如果配置这两个变量之前的关系呢?

andorid有个自带的api,就是通过一组离散点来构建一个曲线。

Android系统提供了 4 个数组配置曲线,然后两两分组得到两条曲线,第一条就是LUX–DisplayNit,第二条就是 Nit—BL,注意曲线是可以有 x–y,也可以由y–x。
LUX–DisplayNit
Nit—BL
其中DisplayNit 与 Nit是同一个值,这样就把 LUX ----》 BL 通过两条曲线连接起来了。

下面,我们就要根据客户给出的 环境光 — 手机屏幕亮度 的离散点来配置了。
环境光 ----》 sensor上报感光 (LUX)----》DisplayNit ----》Nit ----》 BL ----》手机屏幕亮度
简化中间过程就是:环境光 ----》手机屏幕亮度,这也与我们的目标统一起来了。
按照这个关系,对应客户给出来的值,就能得到客户要求的背光曲线。

以下为一个配置的例子:

LUX
Nit
LUX是17个值,Nit是18个值,因为LUX有个默认的0没有没出来。
比如 0 <= LUX <= 16,对应的Nit为 Nit <= 33.07
比如 16 <= LUX <= 32,对应的Nit为 33.07<= Nit <= 49.81
依次类推。。。。。

每组对应配置的个数不限制(也可以是 LUX(20)-- Nit(21)),但是数据越多,曲线就越精准,也就更贴近客户的需求。

注意:关于Nit–BL这个组配置,展讯平台给出如下解释:
这部分是实际客户的设备的特性。需要测量。上表是某个显示设备的实际情况。
1.测量的方式,使用纯白的White的bmp测试pattern。
2.使用CA310/CA410 等色彩分析仪测试屏幕的亮度。
3.显示测试pattern,使用色彩分析仪测试屏幕的显示亮度。修改不同的背光等级进行逐一测试得到表格。
这组值与设备有关,通常不修改这组值,而是修改LUX—DisplayNit


http://www.ppmy.cn/news/871318.html

相关文章

android关闭背光

android关闭背光 Android11方法1&#xff08;可能关不完还是会有点亮&#xff09;&#xff1a;方法2&#xff08;这个涉及系统权限&#xff09;&#xff1a;2.1调试&#xff1a;2.2处理问题&#xff1a;2.2.1 处理核心代码2.2.2 验证 遇到问题2.2.3 验证 遇到问题检查要操作文件…

Android屏幕背光调整机制

扩展一个硬件&#xff08;比如LED、蓝牙、传感器等&#xff09;&#xff0c;至少需要硬件、驱动、驱动交互模块。至于系统的层面如何把系统库加入自己的体系里面去&#xff0c;就是操作系统自己的事了。这里分析一下以背光调整为例Android。 源码在这里&#xff1a;http://code…

Android背光系统实现

&#xff08;一&#xff09;Lights应用层 SystemUI——系统应用&#xff0c;其主要功能&#xff1a;状态栏信息显示、通知面板、截图/壁纸/屏保服务等&#xff1b; 代码&#xff1a; packages/apps/Settings/src/com/android/settings/BrightnessPreference.java frameworks/…

LCD背光调节实验

目录 LCD 背光调节简介硬件原理分析实验程序编写编译下载验证编写Makefile 和链接脚本编译下载 不管是使用显示器还是手机&#xff0c;其屏幕背光都是可以调节的&#xff0c;通过调节背光就可以控制屏幕的亮度。在户外阳光强烈的时候可以通过调高背光来看清屏幕&#xff0c;在光…

Android 系统背光设置

一、一般设置 1、手动设置背光API // 修改当前Activity界面的窗口亮度 private void setScreenLight(int brightness) {WindowManager.LayoutParams lp getWindow().getAttributes();lp.screenBrightness Float.valueOf(brightness) * (1f / 255f);getWindow().setAttribut…

背光

关于液晶显示模块使用的背光源&#xff0c;有几种类型的产品&#xff1a;1、LED背光&#xff1b;2、EL背光&#xff1b;3、CCFL背光。LED背光&#xff0c;其具有 操作简单实用、使用奉命长&#xff0c;功耗低、亮度高等优点。 下面介绍一下LED背光源&#xff1a; 1、可选多种色…

手机背光显示

简介 移动设备如智能手机、电子阅读器和手表在当今世界正变得无处不在。这就需要准确的光学工程的来优化手机功能的性能&#xff0c;如相机系统、传感器和显示器。 手机显示的一个关键设计目标是在它的面积和视角范围内实现均匀的照明。另外&#xff0c;它应该具有高的光学效…

LCD背光,功耗,电池总结

问题&#xff1a;屏半亮&#xff0c;出现闪屏 解决方案&#xff1a;背光驱动中使用spin_lock_irqsave和spin_unlock_irqrestore防止多cpu竞争。 问题 如何让Android进入待机睡眠状态&#xff08;测试LCD电流&#xff09;&#xff1f; 在终端中用如下命令&#xff1a; echo …