看到有不少兄弟纠结于i9000屏幕的“颗粒感”的,在这里我先说明一下,因为我原来是M8的用户,所以对屏幕显示效果比较敏感,i9000的颗粒感在我看来是很明显的——虽然绝大多数时候并不影响使用。但为什么i9000以及其他用大部分AMOLED的手机屏幕会显现出颗粒感,下面我们就来分析一下这其中的根源。

首先要说明的是,颗粒感和AMOLED材质本身无关,而它完全和屏幕本身的子像素排列有关系。让我们来看看什么是子像素。

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

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

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

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

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

但是这个问题到了AMOLED时代就不一样了,AMOLED面临2个问题:第一个是像素总个数直接决定生产成本,第二个是AMOLED的发光效率并不高。如果采用和液晶一样的工艺,就需要更高的发光亮度,才能得到和液晶一样的观感,同时也会增加制造成本,所以三星在制造AMOLED面板的时候,采用了一种不同于上面的子像素排列方法,这种子像素排列方式叫做RGB Pentile,有许多变种,我们来看一下i9000、Nexus One、Desire等手机采用的那种排列方法。

图中左边就是i9000所采用的Pentile RGB排列子像素的子像素排列方法。可以看到,同样显示3x3个像素,Pentile在水平方向只做了6个子像素,而标准RGB做了9个,子像素数量减少了1/3。也就是说,Pentile技术下一个像素只包含两个子像素,要么是绿+红,要么是绿+蓝。大家可能要奇怪了,Pentile为什么可以缩减1/3的子像素而保持总像素不变呢?既然缺少一种子像素,那它又是怎么达到依然显示3x3全彩色像素的结果的呢?这里面的关键在于相邻像素之间的“共用子像素”。我们来看一下Pentile在工作时的子像素点亮情况就知道了。

首先是显示水平间隔的白色线条。

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

然后是现实垂直间隔的白色线条。

公用情况也是一样的。

下面来显示黑白点阵。

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

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

首先,是显示垂直方向的黑白交界线。可能出现的位置:文字边缘。

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

然后,是45度倾斜的黑白分界线。可能出现位置:文字边缘。

可以看到,边缘期待的白色变成了红色。

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

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

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

最后补两张屏幕实际照片,分别是HTC Legend和Desire。

Legend:

标准RGB

Desire:

Pentile RGB

Google Nexus One VS Apple iPhone 3GS

Nexus One: NASA 照片 – 火星日出

Nexus One: Intensity Scale Ramps

不平滑,白色不純

像素排列 p(Pentile)排列 RGB 排列相关推荐

  1. RGB排列和Pentile排列有什么区别

    RGB排列的屏幕用三原色调色,一个像素点一个颜色,所以清晰度高,显示细腻,好的IPS用RPG排列色彩还原度很真实. P排列,PenTiel是一种oled屏幕的像素排列方式,相对于标准RGB排列,Pen ...

  2. amoled led 排列_AMOLED屏幕为啥不用RGB排列?

    先简单介绍一下,AMOLED屏是英文Active-matrix organic light emitting diode的简写,拥有超高的色彩还原能力和色彩逼真程度,而能耗的降低与超薄的设计更是得众多 ...

  3. amoled led 排列_科普:为何AMOLED屏幕不用RGB排列

    科普:为何AMOLED屏幕不用RGB排列 先简单介绍一下,AMOLED屏是英文Active-matrix organic light emitting diode的简写,拥有超高的色彩还原能力和色彩逼 ...

  4. amoled led 排列_为何AMOLED屏幕不用RGB排列?

    OFweek显示网讯 AMOLED屏幕为什么不采用RGB排列呢? 先简单介绍一下,AMOLED屏是英文Active-matrix organic light emitting diode的简写,拥有超 ...

  5. 则必有不完全相同的奇数排列对换为同一个偶排列

    定理: n个数码(n>1)共有n!个n级排列,其中奇偶排列各占一半. 证明:n级排列的总数为n x (n-1) x 2 x 1 = n!,设其中奇排列为p个,偶排列为q个. 设想将每个奇排列都施 ...

  6. 一个排列是某些对象的有序组合,例如,3124 就是数字 1,2,3,4 的一种可能排列。 如果所有的排列按照数值或者字母序排序,我们称其为一个字典序。 0, 1, 2 的字典排列有:012 021 1

    字典排列 一个排列是某些对象的有序组合,例如,3124 就是数字 1,2,3,4 的一种可能排列. 如果所有的排列按照数值或者字母序排序,我们称其为一个字典序. 0, 1, 2 的字典排列有:012 ...

  7. 用c语言实现字母排列组合,C语言字母排列组合的实现.pdf

    C语言字母排列组合的实现 曹玉坤 2011-6-21 目录 概述3 需求3 规律3 实现算法5 难点6 代码6 概述 本文档概述字母排列组合的实现算法和分析过程,着重强调在 解决问题前,对问题的思考方 ...

  8. 用c语言实现字母排列组合,C语言字母排列组合的实现.doc

    C语言字母排列组合的实现.doc C语言字母排列组合的实现曹玉坤2011-6-21目录概述3需求3规律3实现算法5难点6代码6概述 本文档概述字母排列组合的实现算法和分析过程,着重强调在解决问题前,对 ...

  9. 【2019华为笔试】召唤师的技能——圆排列,翻转和项链排列

    题目描述: dota游戏里面,召唤师可以控制冰雷火三种元素,并通过元素组合产生新的技能.现在我们修改了张新的地图, 地图中他能够控制n种元素, 并且将m个元素围成一个圈组成一 个新技能(这m个元素通过 ...

  10. 怒刷排列组合,如何解“排列组合”一类的问题

    怒刷排列组合 在刷Leetcode题目时,时常会看到一些大佬提出时间复杂度为O(1)的题解,而我还在O(nm)和O(n)之间如此反复,细细品味,其实有一类题目是经常可以爆出O(1)的解法的,这一类题目 ...

最新文章

  1. WSUS Troubleshooting guide
  2. linux文件系统逻辑,Linux系统——文件系统与LVM 逻辑
  3. Java中集合删除元素时候关于ConcurrentModificationException的迷惑点
  4. 这是我转贴的strcpy函数与strncpy函数的比较,其中有些错误,建议大家还是看msdn,要好的多
  5. servlet会话技术
  6. MySQL insert not exists插入唯一数据
  7. SPI、I2C、I2S
  8. 「大学生offer内推计划」:阿里/百度/华为等一线大厂都在抢这样的人!
  9. 关闭smartview 版本更新提示
  10. JAVA面向对象之对象和类
  11. 8月刚入职字节跳动的测试开发面试题,附答案
  12. 评论采集-评论采集器-评论采集插件-评论采集工具免费下载
  13. O2O、B2B、C2C(通俗讲解)
  14. C#:TcpClient(客户端) and TcpServer(服务端)
  15. 制作网页中的qq咨询
  16. 关于U盘中病毒将文件改为系统文件属性并隐藏文件夹的解决方法
  17. 图像平滑之二维离散卷积
  18. 腾讯云CentOS自建CA证书搭建https服务器
  19. cleanmymac x激活免费秘钥v2021.4.7.8如何清空DNS缓存教程分享
  20. HiCopyTrader跟单系统启动失败,错误提示:api ms win crt xxxx.dll 之类文件缺失,怎么办

热门文章

  1. 基于FPGA的电子计算器设计(下)
  2. supervisor+cesi多服务器进程集中管理
  3. 【ImportError: cannot import name ‘json‘ from ‘itsdangerous‘】
  4. 推荐一款清爽的实时监控大屏附安装教程
  5. 流?I/O操作?阻塞?epoll?
  6. 子串子序列常见算法面试题
  7. ClickHouse----单击安装 引擎
  8. 请听一个故事------三个70多岁老人的创业故事(励志)
  9. 中文版ASAM OpenSCENARIO与OpenDRIVE标准正式发布
  10. CLIP CLAP