欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

手机屏幕发绿?一切为了环保?

程序员文章站 2022-03-15 11:37:30
最近,苹果手机出现绿屏的问题广受关注,很多人都遇到过手机绿屏的问题,这种情况是怎么出现的?手机屏幕的工作原理是什么?在什么情况下会出现绿屏?有没有办法避免这种情况?绿屏是怎么回事?这次绿屏事件最初是部...

最近,苹果手机出现绿屏的问题广受关注,很多人都遇到过手机绿屏的问题,这种情况是怎么出现的?手机屏幕的工作原理是什么?在什么情况下会出现绿屏?有没有办法避免这种情况?

绿屏是怎么回事?

这次绿屏事件最初是部分用户发现:iphone 12的屏幕亮度调到最高的时候,显示一些很深的灰色图片时,也就是非常接近黑色的时候,屏幕边缘会出现发绿的效果。


iphone12边缘发绿,图片来源 bilibili

其实这种现象在oled屏幕当中是一个很常见的问题,之前华为的mate 20 pro 也出现过类似的情况。

当用户将亮度调低,同时是灰色背景的时候,屏幕就会出现泛绿的现象。

手机屏幕发绿?一切为了环保?
mate 20 pro 绿屏,图片来源腾讯

为什么oled屏会普遍出现这种问题呢?首先,简要介绍一下我们今天的主角——oled屏幕。

oled屏幕

oled(organic light emitting diode)——有机电激光显示,是一种特殊设计的自发光二极管,通电就会亮,电压大小不同,亮度就不同。


oled原理图,图片来源 bilibili-硬件茶

谈oled的每个像素点都由红绿蓝三个子像素组成,可以理解为一个个可以独立控制的彩色小灯泡,红绿蓝三种颜色按不同的比例混合,就形成了我们看见的五彩斑斓的视频、图片。 

正是因为没有液晶层和背光层,所以oled屏幕可以做得非常薄,甚至可以做成充满未来科技感的透明显示器! 


小米透明电视,图片来源小米

但目前oled工艺并不完美,还存在诸如mura(指显示出现灰度不均一的现象)、烧屏等问题。屏幕发绿,就是一个典型问题。

可不是那只爱钻盒子的网红猫maru,别看错了哦。

手机屏幕发绿?一切为了环保?
图片来源见水印

0led屏幕发绿的原因

屏幕发绿,在液晶显示器业内叫做mura,也就是显示不均匀。 

在oled屏幕的制作过程中,是通过蒸镀来将发光原材料覆盖在显示面板上的,但是目前的蒸镀工艺本身就很难做到将每一个独立小灯泡均匀布置在显示面板上,这就导致不同区域所覆盖的小灯泡数量会有差异。

 并且,每个小灯泡本身,是由三个子像素构成,这三个子像素的电压控制也很难做到完全一致。

这就导致了低亮度灰屏的时候,屏幕出现mura现象。 那为什么往往是灰屏的时候更容易出现mura现象呢?

这就需要介绍一个概念即rgb色彩。 rgb指的是红(red)、绿(green)、蓝(blue)三种颜色,我们前面已经了解到,oled是由这三种颜色构成的,通过电压来控制三种颜色的亮度,就能调配形成不同的颜色。

手机屏幕发绿?一切为了环保?
rgb示意,图片来源作者

自制我们用0-255这个区间的数字来表示三种颜色的亮度,255表示最亮,0就是不亮。


灰阶示意:rgb(0,0,0),就是黑色,rgb(255,255,255)就是白色。当rgb三者亮度相同时,就是各种灰色。图片来源作者自制

我们在手机上对屏幕亮度进行调节,其实就是对灰度进行调节。大家可以拿出手机试试,观测下面的纯白图片,然后缓慢的将亮度从最高调到最低。

可以明显发现,这是一个由白逐渐变灰的过程。


亮度测试图


亮度调节示意图

我们把亮度调低,实质上是将三个子像素的电压同时调低。

而调出不同的颜色,就是将三个子像素的电压按比例调到合适的大小。 

如果在低亮度下显示不同颜色,三者的数值就要相应缩小,缩小的幅度涉及到很复杂的计算。

当亮度调到很低的时候,三者数值都非常接近,最后就会呈现出灰色。 

前面提到,很难控制oled三个子像素的电压(也就是亮度)完全相同,当其中一个子像素偏高时,例如绿色过高,那么就会出现绿屏的现象,这就是为什么在深灰色的时候,屏幕容易出现mura现象的原因。 

其实不止是发绿,oppo的find x就曾被指出屏幕发红。原理和绿屏相似,就是控制红色子像素的电压不稳定。

手机屏幕发绿?一切为了环保?
oppo发红,图片来源 99danji

解决方案

几乎所有的oled显示器厂商,无论是lg、还是三星,目前都无法从oled的制作工艺上解决mura问题。

于是,工程师们便开始研究去mura的技术。 

比如用二维成像仪给点亮的oled显示器拍一张照片,根据实际显示情况,拍一张分布图,再反向把这些数据反馈到屏幕的驱动,将过亮的地方调暗一点。

这样,就可以在很大程度上缓解oled屏幕高亮度下显示不均匀的问题。

手机屏幕发绿?一切为了环保?
灰阶测试确定亮度分布,图片来源 bilibili

手机屏幕发绿?一切为了环保?
消除oled显示面板mura的方法,图片来源 xjishu

但上述方法一般适用于高亮度情况,对于低亮度时出现绿屏,聪明的工程师想到了另一个绝妙的解决办法。

 假设我们的屏幕在1nit(亮度单位,手机屏幕峰值亮度一般在1000nit)的时候,不会出现mura现象,但是在0.1nit的时候,会出现mura现象。

那么我们可以让屏幕工作在1nit的亮度下,但是只工作10%的时间。 

这时,因为眼睛的视觉暂留(物体在快速运动时, 当人眼所看到的影像消失后,人眼仍能继续保留其影像0.1-0.4秒左右)现象,这10%的1nit,在我们的眼睛看来就是0.1nit。

这种技术被称为pwm(pulse width modulation),但这并不是一个很好的技术,因为它本质上是通过闪烁来实现低亮度的,长期使用,有些人的眼睛就会受不了。

手机屏幕发绿?一切为了环保?
pwm,来源 bilibilii

phone 12出现绿屏,就是因为我们将屏幕亮度调得很高。

这时,pwm会停止工作,但我们依然让其显示深灰色,这时,就会出现mura现象。

那么,为什么安卓阵营的oled很少出现这种情况呢? 

华为自从上次mate 20 pro翻车之后,在面对oled低亮度下的mura问题时,把最容易出现mura区域的那些灰色,强制降低到更黑的灰色。这时,人眼其实很难辨别这微小的差异。

容易出现mura的区域在oled屏幕制造工艺改进之前,mura现象将会一直伴随着oled屏幕,我们只能通过一些去mura的技术来规避,或者尽可能地让用户少感知到。 如果你的手机在使用时出现了严重的mura现象尽快联系售后去解决问题吧。

- the end -

原文链接:蝌蚪五线谱 责任编辑:陈驰