RGB标准排列和PenTile排列

 二维码 3186
发表时间:2017-12-25 18:02作者:星痕

我们知道白色的光线是由红到紫的连续光谱组成的,而在计算机图形学里,则采用红绿蓝也就是RGB三种颜色的视觉等亮度混合(注意,不是光学等强度)来调和出白色光。我们知道显示屏是由许许多多的像素构成的,而为了让每一个单独的像素可以显示出各种颜色,就需要把它分解为红绿蓝三个比像素更低一级的子像素。也就是说,3个子像素构成一个整体,即彩色像素。当需要显示不同颜色的时候,三个子像素分别以不同的亮度发光,由于子像素的尺寸非常小,在视觉上就会混合成所需要的颜色。

    知道了子像素,那么我们就可以进入下一个问题,那就是子像素的排列。

RGB排列

    RGB排列是最标准的排列方式,它把一个方块形的像素,平均分成三等分,每一块赋予不同的颜色,这样就可以构成一个彩色像素。这也是绝大多数液晶显示器所采用的子像素排列方法(当然,三个像素的顺序是随意的,不国一般都是“红绿蓝”或者“蓝绿红”)。

标准RGB排列单个像素点

  这样,只要我们把足够多这样构造的像素排列到一起,就可以显示出我们所需要的图案了。

标准RGB排列显示原理

  事实上,绝大多数的液晶显示器,采用的都是标准RGB子像素排列。它的好处是像素独立性高,每一个像素都可以自己显示所有的颜色。但缺点是要制作m*n的显示器,总共需要制作3m*n个像素(在制造过程中,子像素是最基本的制造单位,它们本身没有颜色,颜色是靠滤光片而产生的)。这在液晶上是没什么问题的,因为液晶采用的是印刷工艺,制作多少个像素对成本的影响并不高。

RGB PenTile排列

  RGB PenTile排列是现在一些采用OLED材质的手机RGB子像素的排列方式。它与标准RGB排列单个像素点是不一样的,标准RGB排列的像素点是由红绿蓝三个子像素组成的,而PenTile的单个像素点只有“红绿”或者“蓝绿”两个子像素点组成。图中左边就是RGB PenTile排列的子像素排列方法。可以看到,同样显示3x3个像素,RGB PenTile在水平方向只做了6个子像素,而标准RGB做了9个,子像素数量减少了1/3。我们知道只有三基色才能构成所有的颜色,而两种颜色是不可以构成所有颜色的,所以在实际显示图像时,RGB PenTile的一个像素点会“借”用与其相邻的像素点的另一种颜色来构成三基色。水平方向,每个像素和相邻的像素共享自己所不具备的那种颜色的子像素,共同达到白色显示。

RGB PenTile与标准RGB子像素排布对比

  RGB PenTile为什么可以缩减1/3的子像素而保持总像素不变呢?既然缺少一种子像素,那它又是怎么达到依然显示3x3全彩色像素的结果的呢?这里面的关键在于相邻像素之间的“共用子像素”。我们来看一下RGB PenTile在工作时的子像素点亮情况就知道了。首先我们模拟一下RGB PenTile显示水平间隔的白色线条。

RGB PenTile显示水平间隔的白色线条

  从上图可以看到,水平方向,每个像素和相邻的像素共享自己所不具备的那种颜色的子像素,共同达到白色显示。

  然后我们模拟一下RGB PenTile显示垂直间隔的白色线条。公用情况也是一样的。

RGB PenTile显示垂直间隔的白色线条

  接下来我们再模拟一下RGB PenTile显示黑白点阵。

RGB PenTile显示黑白点阵

  注意,问题来了:应该有的蓝色像素不见了!这是因为每一个像素都失去了邻居,无法公用,所以RGB PenTile屏幕无法精确显示这样的图案。这个问题非常麻烦,为了让显示的结果仍然为白色,就需要把原本应该熄灭的蓝色像素重新点亮,结果就是显示白色点阵失败。

  现在我们知道了,RGB PenTile技术的精髓就是要做到相邻像素的子像素公用。这要求屏幕上显示的任何像素都需要有相邻像素的存在,但实际情况中,并不是时时刻刻都可以满足这点的,比如下面我们可以在实际中可能遇到的情况就是。这些情况下会出现什么问题呢?

  首先,我们看一下当RGB PenTile显示垂直方向的黑白交界线时,会发生怎样的情况?这种情况通常发生在文字边缘的位置。

RGB PenTile显示垂直方向的黑白交界线

  我们可以看到,在最左边一条,出现了红蓝红蓝像素的垂直交替排列。这在视觉上会导致明显的“彩边”现象。

  然后,我们看一下当RGB PenTile显示45度倾斜的黑白分界线。这种情况也经常出现在文字边缘的位置。

RGB PenTile显示45度倾斜的黑白分界线

  在这些情况下,会出现的问题都是屏幕上会出现非白色的边缘,这和我们要求的想去甚远,毕竟谁都不希望把黑白照片显示的花花绿绿吧?所以RGB PenTile技术会对这些情况作出一定的修正,那就是把一些本该熄灭的子像素点亮,人为的制造一些相邻像素,来实现颜色的正常显示。但这就带来了一个问题,那就是本来平整的边缘变得不再平整,成为了锯齿状。这也是RGB PenTile之所以会出现边缘毛刺的原因。

  上述的讨论都是在显示黑色和白色的基础上进行的,实际显示彩色画面的时候RGB PenTile还会遇到一些更奇怪的问题。举例来说,当我们需要显示纯黄色的时候,就需要把屏幕上所有蓝色的像素都关闭。但由于红色像素是间隔排列,而不是紧密排列的,所以导致肉眼可以轻易看出其间夹杂的黑色斑点,它们之间的距离是两倍于像素距离的,导致出现“网纹”。而当显示淡橙色的时候,红色和绿色像素会100%发光,而蓝色像素则以50%亮度发光,此时这些不发光的蓝色像素会构成暗点,导致本来应该是纯净的颜色表面出现两倍于像素距离程斜向分布的“颗粒感”。

  追其根本,RGB PenTile是一种通过相邻像素公用子像素的方式,减少子像素个数,从而达到以低分辨率去模拟高分辨率的效果。优点是同样亮度下视觉亮度更高,以及成本更低,但缺点也不言而喻——模拟的自然比不过真货。一旦需要显示精细内容的时候,Pentile的本质就会显露无遗,清晰度会大幅下降,导致小号字体无法清晰显示;而为了弥补色彩问题,所以在PRGB PenTile技术下显示色彩分割区的时候,分割线会产生两倍于实际像素点距的锯齿状纹路,也就是会产生锯齿状边缘。最后一点就是只要显示的内容不是白色,就会出现两倍于点距的网格状斑点。所以说,RGB PenTile技术的显示屏必须需要拥有足够高的分辨率,才可以弥补由于会产生两倍点距纹理带来的视觉效果下降。

 

会员登录
登录
其他账号登录:
我的资料
回到顶部