4、像素亮度补偿技术:电流补偿法、电压补偿法、查找表(LUT)补偿、实时补偿算法

各位工程师朋友,咱们接着聊。上一节我们分析了烧屏的机理,说白了就是像素老化速度不一致。那问题来了——既然老化已经发生了,我们能不能通过后天手段把它「拉回来」?

答案是肯定的。这就是我今天要讲的像素亮度补偿技术。我入行那会儿,OLED补偿还是个新鲜词,现在已经是高端显示器的标配了。你想想看,没有补偿的OLED屏,用个半年就「阴阳脸」,谁敢买?

补偿的核心思路其实很简单:老化的像素多给点驱动,年轻的像素少给点,最终让全屏亮度看起来一致。具体怎么实现?主要有四条路:电流法、电压法、查表法、实时算法。咱们一条一条拆开讲。

核心观点:补偿不是修复物理损伤,而是通过调整驱动信号,让老化像素「假装」还年轻。这是一种信号层面的欺骗艺术。

4.1 电流补偿法

电流补偿法,顾名思义,就是直接控制流过OLED像素的电流。OLED是电流型器件,亮度与电流基本成正比。所以只要保证每个像素的电流一致,亮度就一致。

听起来很完美对吧?但实际做起来,坑不少。

基本原理:

  • 每个像素配备一个驱动TFT(薄膜晶体管)
  • 驱动TFT的栅极电压控制源漏电流
  • 电流流过OLED,发光
  • 老化后,OLED的发光效率下降,需要更大的电流才能达到相同亮度

我在项目中遇到过一个问题:驱动TFT本身也会老化!它的阈值电压会漂移。你辛辛苦苦把电流调准了,结果TFT老化了,电流又变了。这就很头疼。

我的经验:电流补偿法对驱动TFT的稳定性要求极高。如果TFT的阈值电压漂移超过50mV,补偿效果就会大打折扣。建议搭配TFT老化补偿一起做。

电流补偿的典型电路结构:

// 简化的电流补偿像素电路
// 每个像素包含:驱动TFT (T1)、开关TFT (T2)、存储电容 (Cst)
// 数据线提供电流参考,而非电压参考

// 写入阶段:
// 1. 扫描线选通T2
// 2. 数据线电流 I_data 流过T1
// 3. Cst 存储T1的栅极电压 Vgs
// 4. 扫描线关闭T2

// 发光阶段:
// 1. T1 保持 Vgs
// 2. T1 输出电流 I_oled ≈ I_data
// 3. OLED 发光

说白了,电流补偿法就是「以电流为基准」的闭环控制。但实际面板上,电流的精确控制非常困难。走线电阻、TFT匹配性、温度漂移……每个因素都能让你的补偿精度打折扣。

4.2 电压补偿法

电压补偿法是目前最主流的方案。为什么?因为电压比电流好控制得多。你想想看,给一个像素施加精确的5V电压,比给它施加精确的1μA电流,容易太多了。

电压补偿的核心思想:

  • 预先测量每个像素的老化程度
  • 根据老化数据,计算补偿后的电压
  • 老化的像素给更高的电压,年轻的像素给更低的电压
  • 最终亮度一致

嗯,这里要注意:电压和亮度不是线性关系。OLED的电压-亮度曲线是指数型的。所以补偿电压的计算不能简单加减,得查曲线。

老化程度 原始亮度 (cd/m²) 补偿电压 (V) 补偿后亮度 (cd/m²)
0% (全新) 300 5.0 300
10% 老化 270 5.2 300
20% 老化 240 5.5 300
30% 老化 210 5.9 300

上面这个表格是我随便举例的。实际补偿曲线要复杂得多,还得考虑温度、灰阶、刷新率等因素。我曾经在一个项目中,光拟合这个曲线就花了三周时间。

避坑指南:电压补偿法有一个致命弱点——补偿范围有限。如果像素老化超过30%,需要的补偿电压可能超过驱动芯片的耐压范围。这时候强行补偿,反而会加速老化甚至烧坏像素。我曾经见过一个产品,补偿算法写得很好,但没做限幅保护,结果用了半年屏幕出现大量「亮点」——那是像素被烧穿了。

4.3 查找表(LUT)补偿

LUT补偿,说白了就是「查字典」。我们把所有可能的补偿值预先算好,存成一张表。运行时直接查表,不用实时计算。

为什么需要LUT?

  • 实时计算太慢:每个像素的补偿值都要算,4K屏幕有800多万个像素
  • 实时计算太耗电:算力就是功耗
  • 实时计算太热:OLED对温度敏感,芯片发热会影响补偿精度

我个人习惯把LUT设计成三维的:位置 × 灰阶 × 老化程度。举个例子:

// LUT 结构示意
// 维度1: 像素位置 (x, y)
// 维度2: 输入灰阶 (0-255)
// 维度3: 老化系数 (0.0 - 1.0)

// 查找过程:
// 1. 输入:像素坐标 (100, 200),灰阶 128,老化系数 0.85
// 2. 查表:LUT[100][200][128][0.85] = 142
// 3. 输出:补偿后的灰阶 142

// 注意:实际LUT不会存所有组合,而是存关键点,中间值用插值计算

LUT的大小是个问题。4K屏幕、256灰阶、100级老化,算下来数据量惊人。我做过一个项目,LUT压缩前有2GB,根本放不进驱动芯片的SRAM。后来用了分段线性插值,压缩到8MB,才勉强塞进去。

我的建议:LUT不要追求「全精度」。人眼对亮度的分辨能力有限,大约1%的亮度变化就看不出来了。所以LUT的量化精度做到8位就够了,没必要用16位。省下来的存储空间,可以放更多的老化数据点。

4.4 实时补偿算法

实时补偿,是前面几种方法的「升级版」。它不是在出厂时一次性补偿,而是在使用过程中持续监测、持续补偿。

实时补偿的典型流程:

  1. 监测阶段:定期测量每个像素的亮度或电流
  2. 分析阶段:对比当前值与初始值,计算老化程度
  3. 决策阶段:根据老化程度,决定补偿策略
  4. 执行阶段:更新LUT或调整驱动参数
  5. 循环:回到步骤1,持续监测

你可能会问:怎么监测每个像素的亮度?总不能在面板上装800万个传感器吧?

嗯,这里有个巧妙的方法——间接监测。我们不直接测亮度,而是测驱动TFT的电流。因为OLED的亮度与电流成正比,测电流就等于测亮度。而且电流可以在驱动芯片内部测量,不需要额外传感器。

我参与过一个项目,用的是「子帧监测法」:在每一帧的消隐期,选通一行像素,测量其驱动电流。这样一帧时间可以测完一行,60Hz刷新率下,大约16ms测一行。对于4K屏幕,需要2160行,也就是2160帧,大约36秒才能完成一次全屏扫描。

36秒一次,够用吗?说实话,对于烧屏这种缓慢变化的过程,足够了。烧屏是以小时甚至天为单位变化的,36秒的监测周期绰绰有余。

实时补偿的难点:

  • 噪声问题:测量电流时,噪声会干扰结果。我习惯用多次采样取平均,一般采16次,能有效降低噪声。
  • 温度影响:OLED的电流-温度系数大约是1%/°C。如果温度变化5°C,测量误差就有5%。所以必须做温度补偿。
  • 收敛速度:补偿算法不能一步到位,否则会出现「闪烁」。我一般用IIR滤波器,让补偿值缓慢变化,人眼就察觉不到。

4.5 四种方法的对比与选择

讲了这么多,到底该用哪种方法?我个人的经验是:没有银弹,只有权衡

方法 精度 成本 复杂度 适用场景
电流补偿法 高端专业显示器
电压补偿法 主流消费电子产品
LUT补偿 中高 所有OLED产品(基础版)
实时补偿算法 旗舰手机、高端电视

实际产品中,往往是多种方法组合使用。比如:

  • 出厂时用LUT做基础补偿
  • 使用过程中用实时算法更新LUT
  • 对关键像素(如Logo区域)用电压补偿做精细调整

我曾经调试过一个产品,就是这种「三合一」方案。刚开始觉得太复杂,但后来发现,每种方法正好弥补了另一种的短板。就像搭积木一样,组合起来效果出奇的好。

最后说一句:补偿技术再牛,也抵不过物理定律。如果像素已经老化到发光效率低于50%,再怎么补偿也没用——因为需要的电流太大,会烧坏驱动TFT。所以,补偿是延缓烧屏的手段,不是根治的灵药。好的OLED产品,应该是「预防为主,补偿为辅」。

像素亮度补偿技术体系 补偿技术总览 电流补偿法 直接控制像素电流 电压补偿法 调整驱动电压 查找表(LUT)补偿 预存补偿值查表 实时补偿算法 持续监测动态补偿 特性 精度高 / 成本高 TFT老化影响大 适合高端专业屏 特性 精度中等 成本适中 主流消费电子 特性 速度快 / 成本低 存储空间大 所有OLED基础版 特性 精度高 / 功耗高 算法复杂 旗舰手机/电视 实际产品:多种方法组合使用,取长补短 出厂LUT基础补偿 + 使用中实时更新 + 关键像素精细调整
专注资料整理