一己之力征服一众厂商——魔法师蛋小丁谈 他推广OLED屏幕DC调光的这两年

2019-04-02 14:45:25 112点赞 192收藏 124评论

5月22日起至6月30日,每日来#618学堂#(专题链接:PC端/APP端)参与互动,带你边学边买赚钱花,轻松玩懂618;这篇文章来自#2019手机圈风向#,手机新闻哪家强,大妈带你看风向。手机圈的所有大事小情都在这了,你要不要来试试~>点此关注<

显示器和台灯上都会追求低频闪的我们却一直以来对OLED屏的严重频闪置若罔闻;

而我无法忍受S8的频闪,到今天引起大家都重视这个问题,经历了两年多的时间。

刚开始提出这个问题的时候,大多数的声音都是不友好的;直到做出类DC调光功能的内核,也有许多人嘲笑我为民科;

但是从现在的大势来看,我的目的已经达到了,以前的事情就不再赘述,至于什么是PWM调光,PWM调光有什么危害,现在网上也有很多资料,护眼灯的商品页面也总会进行科普,有兴趣的可以自己了解下,或者参考我的置顶微博。

道阻且长 行则将至道阻且长 行则将至

首先需要澄清的是,最早的手机OLED屏都是DC调光的,PWM调光反而是一个更复杂更“先进”的功能,因此不存在DC调光是谁“发明”的问题。

PWM调光确实可以极大提升颜色的准确度,遮盖Mura缺陷(你们所说的抹布屏)。

模组厂商从良品率考虑,肯定不会做出厂全亮度DC调光的屏幕模组,PWM让他们省了很多钱;而手机厂商从评测的结果考虑,也想在低亮度下通过PWM调光让数据更好看(仅仅只是数据而已)。

但用户呢?这里唯独没有用户……

现在要解决的问题就是用户的问题,让用户在使用手机更加舒适,而非看着手机屏幕评测数据自嗨。

还有:DC调光并不会减少屏幕的寿命。反而电压相同的情况下,PWM频率越高,屏幕功耗越大,OLED衰减也越快。

很多手机在大约100nit亮度以上是DC调光了,差不多是最高亮度的25%;但在系统UI的亮度进度条上,你要拉到70%以上,亮度才达到100nit。

也就是说我们在室内使用手机时,基本上都是100nit以下亮度,“享受”240Hz的PWM调光。

因此,问题的核心——就是在100nit以下实现DC调光。

在此之前,已经有一种叫做闪烁保护的APP在流行,它是通过强制屏幕高亮度,再应用一层灰色的图层遮罩,来达到视觉上降低亮度的效果。

但是这种思路对显示效果的影响过于明显,并且使用也不够方便,我自己也尝试使用过一段时间,后来还是放弃了。

再之后,我想出了另外一个办法,并首先在一加6T上做出了内核,这也是现在所有低亮度类DC调光功能的整体思路:

Xperia XZ3在各亮度下的频闪曲线Xperia XZ3在各亮度下的频闪曲线

以iXBT网站的Xperia XZ3测试结果为例,它在25%及以上亮度是DC调光,在10%亮度是低频PWM调光。

因此,我在内核中对系统亮度进行了判断:

• 当收到信号,要求亮度低于25%的时候,内核就不管它了;无论接到什么亮度请求,都强制系统亮度为25%,也就是说,即使你要调节亮度到10%,实际亮度也是25%;

• 之后通过高通MDP中的PCC功能,对屏幕收到的图像亮度进行调整;也就是说这时候屏幕实际亮度没变,就是25%,但是显示的图像变暗了,因此屏幕看起来也变暗了。

这样,在低亮度下既可以保持DC调光,也可以调节用户的感官亮度。

DC调光内核的软件逻辑DC调光内核的软件逻辑

由于屏幕驱动芯片的一些寄存器目前不对外开放,不管是我这种第三方开发者,还是手机厂商都无法直接修改;所以,低亮度下的OLED屏幕是无法强制DC调光的(当然也有一种强行写寄存器的魔改方法,但是最后的效果会很差)。

综上所述,目前手机厂商所使用的DC调光功能,都是类似的思路,不同的地方在于“如何降低图像亮度”。

对图像亮度的降低方法,直接影响了低亮度下的显示效果,例如从最简单的应用遮罩(“闪烁保护”APP),到我尝试调用高通MDP的PCC接口,再到硬件实现的Pixelworks显示芯片。

作为最早公开在微博上讨论DC调光的厂商之一,OPPO的ColorOS虽然还没有放出支持DC调光功能的测试版固件,但是跟他们对媒体开发团队的工程师聊天的时候,他们提到更好的方法,对我也有很大的启发。

与ColorOS大佬的微信聊天截图与ColorOS大佬的微信聊天截图

昨天,ColorOS的软件负责人——Jay,把他们做好的Demo视频发出来了。

我看了下Demo视频,效果还是比较理想的;他们的工程师(多媒体开发团队)后来还把原理图发出来了,这里分析一下。

Dim Layer方案原理图Dim Layer方案原理图

ColorOS做“类DC调光”,采用的是「蒙版调光」+「dither平滑」的方式。

看到「蒙版调光」,很多人估计以为是闪烁保护那种应用蒙版;其实这里的蒙版指的是骁龙855内部Snapdragon Display Engine的图层混合器功能。

这个混合器也用于处理VR的左右眼图像,或者视频解码与应用界面的叠加等等;它有一个专用的图层叫Dim Layer。

图层混合器通过对Dim Layer,与其它图层进行透明混合处理,最终得到一个降低亮度后的输出图像;

而我之前写的PCC方案是针对合成后图层的后期处理,相比较之下「蒙版调光」调用的接口更底层也更直接。

他们的这种方法,在色阶、对比度和色偏上,比PCC的方法都有提升,也与我在微博提到的——用颜色抖动(dither)来解决色带(banding)的思路,不谋而合。

在无法改变硬件的情况下,这是比较理想的纯软件解决方案;从我的经验来看,其他家的已发布或者未发布方案都还是基于PCC,而ColorOS 这套类DC调光方案,调用的接口更加巧妙,更加底层,不管是实际显示效果还是功耗控制,优势都是可预期的明显胜出。

从纯软件的角度来说,我认为未来低亮度类DC调光的方案,都会从PCC转向他们这个方向;虽说技术难度并不高,但是思路的领先才是关键。

在这里,也感谢 ColorOS 杨海等几位的大力支持;说实话,肯把技术这样讲出来,还是很需要勇气的;毕竟这是他们辛苦摸索的成果,这篇文章被关注我微博的友商看到之后,绝对会被拿去研究,大概率直接就用了。

但是在交谈中,他们还是很大度:如果友商用了我们的技术,能够给消费者带来更好的体验,那就用了吧,算是 OPPO 给业界带来的一个小礼物。

当然了,希望他们未来也用Pixelworks芯片加持,那就舒服了。

经过这几年永不为奴的抗争,“LCD教”终于迎来了希望的曙光——在DC调光的浪潮下终于不用担心低频PWM了。

但是未来的路还很长:

  1. 软件调整图像亮度,还需要探索更多的方法,更好地兼顾显示效果与舒适度;

  2. 随着DC调光功能的普及,能否倒逼三星等OLED厂商做出全亮度DC调光的模组;

  3. 能否进一步降低DC调光在每一帧刷新中的闪烁深度;

  4. 能否做出720Hz甚至更高的高频PWM调光OLED屏?

这些需求是循序渐进的,但我们终于又走回了正确的道路;

有了一个好的开始,几千上万块钱的手机终于能像几十一百块钱的台灯一样,在资本野蛮生长的道路上考虑用户的健康了。

 转载自:新浪微博@魔法师蛋小丁

原标题:《写在DC调光的浪潮开始之后》


展开 收起
评论124

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
192
扫一下,分享更方便,购买更轻松