本文是个杂谈和记录,笔者是个纯业余数码爱好者。简单说说对调光方面的理解。
周期性黑场的来源:TFT reset
OLED屏幕闪烁现在是无法避免的,因为显示完上一帧画面之后,需要驱动电路做TFT Reset,这个过程中,必须有 EM(Emission,发光)OFF的黑场时间,这个周期性的黑场就是频闪的源头。
Reset过程:
Reset (初始化/复位): 在写入新一帧的数据之前,必须先用一个参考电压清洗 TFT 栅极和 OLED 阳极上残留的上一帧的电荷。
Data Write (数据写入): $C_{st}$充入新的数据电压,决定这个像素这一帧该有多亮。
EM 开关管打开,电流正式流过 OLED 像素,下一帧的像素发光。
对应图中三步(图为6T1C LTPO简化模型):

(图片来源:凛光暗切BV1v9UPYwEsK)
在第一步(Reset)和第二步(Data Write)进行的时候,整个电路里的电压是非常混乱且不稳定的。如果在此时让 OLED 发光,屏幕就会显示出错误的内容。因此,在 Reset 和写入期间,DDIC 必须发出一个 EM OFF。 直到数据写稳了,再EM ON。用现在常见的120hz屏幕来说,那就是每秒120个刷新,每8.33ms一次reset,用手机拍屏幕就会显示出一条条的黑条划过。
为了续航考虑,我们不想让120hz的屏幕始终以120的帧数来显示(渲染压力大),比如我们让它在静止画面的时候以60hz显示,这时候就出现了问题,如果其他什么都不改,只改为每16.66ms一次reset,那么亮度的占空比变大了,时间下亮度积分高了,造成切换到60hz时屏幕变亮了,120hz时又变暗了,造成体感上的屏幕乱闪。
这样的结果显然无法被接受,那么怎么做好呢?很简单,只要让每16.66ms一次的reset黑场时间拉到两倍,亮度积分就与原先不变了。这样是解决了能用的问题,但是又引出了新问题,对于人眼来说,60Hz的明暗闪烁有些致命了,这里我们引出2EM方案。
在 60Hz 刷新率下,一帧画面的总时长大约是 16.6ms。屏幕在这 16.6ms 内的动作会被切割:
真实刷新期(第一个 EM 周期): 帧开始时,进行真实的TFT Reset和数据写入,此时 EM OFF。写完后EM ON。
人造黑场期(第二个 EM 周期): 到了 16.6ms 的中段,虽然并没有新的数据需要写入,但 EM 控制器会故意切断一次发光回路,插入一个人为的 EM OFF 黑场。随后再次 EM ON 恢复发光。
结果屏幕的画面数据确实是每秒更新 60 次(60Hz刷新),但在每一帧的显示时间内,OLED 实际上闪灭了 2 次。因此,物理上的发光频闪频率被强行拉高到了 120Hz,虽然依然属于低频PWM范畴,但相比 60Hz 显著改善。
很容易发现两个em off是完全不同的,实际操作时第一个 EM 周期(真实刷新)的黑场时间通常会长(具体的时间由电子迁移率决定,难以缩短),第二个 EM 周期(人造黑场)的时间可以很短,因为像素的存储电容$C_{st}$里已经存着当前帧数据,不需要再做任何的 Reset、补偿和写入动作。所以手机拍屏幕的时候发现黑条是一深一浅交替滚动的。
RC延迟就是因电阻与电容充放电而产生的时间,与电阻电容乘积成正比。
我们以最上面的图举例,$V_{ini}$ 是一个设定得极低的负电压。reset第一步过程中当 T6 打开时,N1 和 $V_{ini}$ 连通,$V_{ini}$ 就把 N1 里上一帧残留的电荷全部泄干。这就是阳极复位(Anode Reset)。
由于阳极(N1)和阴极($V_{ss}$)之间天然存在一个寄生电容($C_{oled}$),随着手机屏幕分辨率刷新率越来越高,留给第一步(① $V_{SCAN1}$)的时间太短。因为RC延迟,一瞬间抽不干 N1 里的电荷,就会导致异色拖影。宏观上表现就是晚上睡前关灯看黑底白字的信息流,发现字后有紫色的拖影。
所以阳极三扫就是把 $V_{SCAN1}$ 的脉冲加宽,让 T6 开得久一点,让 $V_{ini}$ 有充足的时间把阳极扫干净。而为了实现“阳极三扫”,将 $V_{SCAN1}$ 的有效脉冲宽度强行拉长了 3 倍(相当于连续维持了三行的扫描时间)。减少暗光下的拖影、偷亮。
为了做消费者喜爱的1HZ全屏AOD显示,比如苹果的全天候显示等等,需要能够在静止画面下做1hz显示以增加续航。由上面的 2× EM方案,我们夸张一点是不是就能1秒内:1次长黑场(真刷新)+ 119次短黑场(人造脉冲)变成所谓120x EM了呢?1hz显示不就有了么?没那么容易,因为传统LTPS漏电高。
如果在传统的 LTPS 屏幕上强行跑 1Hz,由于 LTPS 硅晶体管本身漏电流大,在这漫长的1秒时间里,存储电容里的电压就漏了。电压一掉,OLED 发光管的电流就跟着掉。
宏观表象是屏幕在这1秒内亮度会肉眼可见地暗下去,然后下一帧刷新时又突然变亮。这就导致了极其严重的低频频闪和画面失真。
LTPS 有高迁移率没有低漏电,IGZO低漏电但是迁移率不够高。那我们把它组合一下,让 LTPS 用于驱动,就能实现更小的驱动电流和更低的驱动电压,让 IGZO 负责开关,因为较小的漏电就能让像素保持更长时间开启,实现更低的刷新率。这就是LTPO。
LTPO利用IGZO的低漏电特性,使像素在更长时间内保持稳定,从而支持更宽泛的可变刷新率范围。输入只要是120hz的因数就行,如60、40、30、20、12等等,LTPS 其实也可以强行实现 LFD,不过有许多掣肘,目前的 LTPS-LFD 更多是下探到 30Hz,或者在某些特定息屏显示(AOD)场景下极限下探到 10Hz。因为再往下,软硬件补偿也救不回来了,总体上不如LTPO,实际上也只有oppo find X9用8T的LTPS做了全屏常亮AOD一个特例。
那为啥用上了LTPO刷新率一定要是因数呢,能不能无极可变,做到类似电脑上的VRR呢?(之后写。。。。。。)
但是吧还有问题:前面说在 LTPO 屏幕上负责复位和写入的那几道“门”换成了 IGZO 材料,电子迁移率低了,为了把同样大小的存储电容$C_{st}$充满,并让电压彻底稳定下来,reset时间拉长。导致7T LTPO电路在 1Hz 等极低刷新率下,会出现1次长黑场(真刷新)+ 119次短黑场(人造脉冲)的不对称,这会导致屏幕每一秒的开头都会闪烁一下,出现一些的亮度脉动。早期7T LTPO 手机在1hz低亮度下,会有亮度不均等瑕疵,所以厂商一般是屏蔽这个能力的。
8T顾名思义就是相比7T多了一个晶体管开关,这个开关和$V_{data}$中门对狙,就是用来更快地擦掉上一帧的信息的,也就意味reset更快。现在主流可以给到360hz的Reset频率,前面提到可调刷新率数是reset频率的因数,那么8T电路带来的一个好处就是更加细致的可变刷新率挡位,如72hz,90hz等等得到支持。
同样,更多的reset让屏幕在显示1hz的情况下依然可以显示稳定,即显示的是1hz,但是电容复位了3次,电压稳定,显示就没有问题了。
通常认为闪烁频率越高越护眼,所以在类DC调光无法解决均匀性问题的低亮度场景下我们要做高频 PWM 调光,低亮度下,PWM 调光占空比低,黑的时间长,PWM 黑场时间足够宽,它就可以将Reset黑场包裹进去。PWM带来的高频黑场,可以理解为需要cosplay Reset EM OFF,通过高频调光把那个必须存在的reset黑条稀释到高频中去。
为什么是超高频PWM调光是 1920Hz、2160Hz、3840Hz?就是为了把 Reset EM OFF 踩在其中一个 PWM 黑场的正中央。反直觉的是超高频PWM的频率不是越高越好,一些人觉得3840hz就一定比2160hz好,恨不得直接做到上万hz,那就不对:过高的PWM频率让pwm黑条过窄,反而难以“稀释”reset黑条,让黑条重新显现了出来,这明显违背了初衷。
比如在不继续改善reset时长的条件下,打入再多的EM pulse也只从电信号的角度考虑 ”造“ 出的频率,这些信号不能本质改变入眼的光学特征。1块120hz Reset的屏幕,尽管宣传PWM频率是4320Hz,但因为120Hz的大缺口周期性地存在,整个光学波形出现低频包络。视神经重新捕捉到那个 120Hz 的大闪烁,从而产生视觉疲劳。
韦伯定律想回答一个问题,客观的物理世界,是如何映射到我们主观的心理感知。即人眼对亮度变化的感知阈值(即刚好能察觉到变化的最小差异,$\Delta I$)与背景亮度($I$)成正比,即:
$\frac{\Delta I}{I} = K$(常数)。
这意味着人眼对相对变化敏感,对绝对变化不敏感。但它只在中等强度的刺激范围内有效,在物理刺激走向极端(极小或极大)时失效。
假设有两块屏幕,PWM波动深度都是 80%:
屏幕 A: 在 500 nits 的高亮度下,波动深度 80%(在 500 nits 到 55 nits 之间波动)。
屏幕 B: 在 5 nits 的极低亮度下,波动深度 80%(在 5 nits 到 0.5 nits 之间波动)。
物理指标上它们都是80%,但对人眼的刺激完全不同。由于韦伯定律的非线性以及在低光下的失效,5 nits 时的波动感受比 500 nits时小得多。
如此看来简单的数值计算难以评价频闪风险,那怎么综合考虑多种因素,并且尽量参考人的主观心理感受来评估频闪呢?

现在大家通常使用SVM值判断频闪风险。
一块屏幕发出的光,其亮度变化在示波器上呈现为一个复杂的波形。SVM 的计算需要通过傅里叶变换将复杂波形拆解成多个简单的正弦波,并提取参数:
各频率分量的频率 fi
屏幕闪烁并非只有一个绝对频率。复杂的 PWM 波形包含了基频(例如厂商宣传的 2160Hz)以及多个谐波频率。
波动深度 Ci
简单来说,就是每次闪烁时,亮度“掉下去”有多深。它指的是第 $i$ 个频率分量的振幅与平均光输出的比值。波动深度越大(也就是亮暗反差越剧烈),对人眼的刺激越强。
人类视觉敏感度阈值 Ti
这是一个基于大量人类视觉实验得出的标准化参数。它代表了在一个特定频率 fi 下,普通人刚好能察觉到频闪时的振幅阈值。所以SVM是一个加权标准。会将屏幕实际的波动幅度 Ci 与人眼的承受极限Ti 进行对比。
SVM 的傅里叶变换展开中,方波(PWM 波)的占空比极大地影响各次谐波的能量分布。如果高频 PWM 遇上 120Hz 的低占空比大黑场,低频基波(120Hz)的能量突增会导致 SVM 读数飙升。这正是各家厂商目前在卷“3Pulse/1Pulse 调光类 DC”策略试图抹平大黑场的根本指标原因。
同时,一块屏幕的频闪表现,不能单单看一个屏幕亮度,一个灰阶,一种刷新率模式下的表现,所以我们需要引入三维SVM热力图测量,测量不同可调刷新率挡位下的不同亮度下的不同灰阶显示下的综合表现。如果一个评测仅仅使用一个值或一条曲线来比较不同屏幕的频闪,是很不严谨的。
到这里是不是感觉已经非常完美了,但是SVM也只是一个参考值,因为它不是为屏幕频闪而生的,是灯具频闪标准,灯具提供的只有照明功能,而屏幕还要承载信息的阅读功能,模型是否可以套用?
SVM也只是一个时间维度单点测量指标,没有考虑屏幕大小的问题,相同SVM的智能手表和电视是否一样?而且OLED是逐行扫描的局部亮灭,而非全局统一的整体亮灭。如果你拿一个普通的点测光探头(只对准屏幕中心的一个小圆点),测出来的波动深度通常无限逼近100%,因为探头只看到了这一个像素的彻底亮起和熄灭。但这显然不能代表整块屏幕在同一时间的宏观光学表现,那么到底要如何才能测量呢?把探头做大一点然后积分亮度么?那么这个探头应该做多大?还是说亮度探头还要引入空间坐标信息?人眼敏感度阈值($T_i$),是基于较高环境亮度推导出来的,在暗光下是否适用?现在这些问题还没有答案。