头像
dgwxx
管理猿
帖子: 771
注册时间: 2010-09-19 20:42
联系: 网站

色同质差──深入LCD的显示颜色数与LUT

差不多昨天的这个时候秋月跟我提到了14bit的EIZO显示器,一直有些在意,所以翻到这个文章,觉得很有价值,就翻译过来了。NMM虽然不是硬件论坛,但多少跟最近热门的banding有些关系。希望多少能给读者带来一些启示。

* * *
*原文:http://plusd.itmedia.co.jp/pcuser/articles/0902/16/news001.html
*翻译:dgwxx
* * *

警惕LCD的最大颜色数
虽然LCD的产品说明中都写有“最大颜色数”,但似乎留意到该项的人并不是很多。因为现如今几乎所有产品都能够拥有1600万色的显示能力,所以应该没人会对此有所不满。但是,一个“最大颜色数”中却存在着意想不到的陷阱。
PC用LCD的理想目标,是能够完全显示PC输出的RGB每通道8bit(共计3*8bit=24bit)、既Full Color数据。RGB每通道8bit就意味着需要具备显示1677万色的能力。计算方法如下:

8bit=2^8=256色
256色(R)×256色(G)×256色(B)=16,777,216色
16,777,216色≒约1677万色

现在希望您记住两点。第一点,目前并非所有主流LCD都能够实现1677万色显示。第二点,1677万色显示的实现方式并不相同。目前消费级LCD的最大颜色数和实现方式主要有以下几种:
table.png
table.png (7.63 KiB) 查看 6501 次
真正意义上实现1677万色显示的LCD,只有使用8bit驱动、显示RGB每通道8bit数据的产品,既表格中的第1类产品。与原生8bit显示相对,表中的第2和第3类产品则是所谓的“伪Full Color”显示,在降低生产成本的同时,理论上颜色的表现力要劣于8bit驱动的面板。
在产品性能标识上,第3类产品因其颜色数为约1619万色/约1620万色比较易于辨别。但第1、2类产品因为颜色数都是约1677万色,比较难以区分。因为前者在画质表现上具有优势,所以如果需要用于图像处理等领域,选择时就要特别留意。
在这里插一句,液晶电视和商用领域所使用的LCD中有些产品是使用10bit驱动的液晶面板生产的。理论上可以显示1,073,741,824色(约10亿7300万色)。因为需要配合10bit输出的图形设备和专业的软件使用,所以在PC领域还远远说不上普及。

下面简单说说FRC这个东西。所谓FRC(Frame Rate Control)是指利用人眼的视觉暂留特性,通过操控画面刷新频率(Frame Rate),在视觉上增加颜色数量的技术。打个简单的比方,如果用很高的频率交叉显示“白色”和“红色”,那么在人眼看来就成了“粉色”。
具体到“6bit驱动面板+FRC”的LCD,液晶面板能够显示的颜色数只有可怜的6bit(2^6=64)^3=262,144色。此时让FRC作用于每个RGB通道,通过改变液晶显示每个颜色的间隔,在每两种颜色中间再生成3种伪色(4bit驱动FRC)。以此,可以为RGB每通道都增加189种伪颜色((6bit-1)×3=189色)。把这189种颜色加上,就能实现(2^6+189)^3=16,194,277色(≒约1619万色/约1620万色)的显示。
目前,在采用新一代FRC技术的产品在逐渐增多。通过比传统FRC技术更多的bit数来生成更多的伪色,再从中选出“Full Color”范围内的其他颜色,来实现1677万色显示。
话说回来,影响画质的因素不只有液晶面板一项,其他因素(图像处理芯片)对画面的影响也非常大。因此“8bit驱动”和“6bit驱动+FRC”两种显示方式之间的差距有时候会比较难以分辨。通过明暗线性变化的灰阶图来区别,应该会比较明显。这种性质,无论是在静止图像中,还是在视频、游戏应用中都相同。
pict1.jpg
上图为“8bit fullcolor”显示(左)和“6bit驱动+FRC”的伪full color显示的灰阶对比示意图。示意图中为了强调二者之间的差距进行了刻意的夸张,实际上前者的灰阶表现力的确要高于后者。

大于8bit的LUT的重要性
虽然前面写道“6bit驱动+FRC画质不如8bit驱动好”,但也不能因此一概而论地说8bit驱动面板的颜色数和色阶显示就一定好。在提升LCD颜色表现力的过程中,Lookup table(略作LUT)起着举足轻重的地位。
所谓LUT,就是指将某些运算的结果事先存储的列表。在某个系统中,当发生某些特定的运算时,通过查表取得事先计算好的结果,可以大幅提高效率。(注:有点类似于我们熟悉的乘法口诀。)
具体到LCD中的LUT的话,就是将从PC端取得的信号(RGB各8bit),和输出到LCD端的输出信号(RGB各8bit)事先进行计算并一一映射的功能。廉价液晶通常使用8bit的LUT,而注重颜色表现能力的液晶则通常使用10bit、12bit等大于8bit的LUT,在输入、输出信号之间的映射过程中,也采用10bit以上的内部计算精度。
pict2.jpg
先从大于8bit的LUT的效能说起。比如,某产品介绍中标有“约1677万色(10亿6433万色中)”,就说明该产品具有RGB各10bit的LUT(1024^3=10亿6433万色)。具体来说,显示器会先将从PC端输入的RGB各8bit信号提升至显示器内部处理用的10bit信号,再按照10bit的LUT查找最合适的8bit输出值,进行显示输出。因此,Gamma曲线可以更加接近理论曲线,banding、色相偏移等问题的发生大幅度地减少。若是12bit LUT,则是从680亿种颜色中选取合适的1677万色,比10bit LUT的颜色还原能力更加优秀。
接下来说说将RGB各8bit输入信号提升至显示器内部10bit以上的精度的处理运算。就算LUT只有10bit或12bit,若采用14bit或16bit的计算处理精度依旧可以获得更好的结果。可能有人会怀疑,反正最终输出也只有8bit,是否有必要采用那么高的计算精度。但我要说的是,要展现正确的图像暗部,显示器内部的处理精度是非常重要的。简单说,内部处理的精度越高,暗部的Gamma曲线就越接近理论曲线。
纵观当今的液晶显示器,就算是比较廉价的产品中,采用10bit LUT的产品也越来越多。但是,运算精度超过LUT精度的依旧仅限于少数高端产品。特别是12bit LUT+14/16bit内部运算的超高精度仅见于带有颜色管理的高端LCD。
实际上,8bit LUT+8bit运算产品和10bit以上LUT+10bit以上运算精度的产品之间的差异有时意外的明显。具备这个等级精度的高端产品通常也带有高性能的图像处理器,比起画质参差不齐的入门级产品,画质的差别就更加明显了。在显示灰阶时,具备高精度LUT/高精度计算的产品在暗部表现通常更加平滑。此类产品的banding和色相偏移几乎为0,灰阶过渡自然,对比度也更加稳定。追求颜色还原性能的用户自然不必说,对画质稍微有些追求的用户,也推荐选购具备10bit LUT的产品。
pict3.jpg
通过10bit以上LUT+10bit以上的运算精度改善灰阶过渡的示意图。可以使Gamma曲线更加接近理想状态。

精度更高的3D-LUT
一些Hi-End级的LCD采用了下一代的LUT──3D-LUT。在传统的LUT中,RGB每个通道都有单独的LUT,当需要表现某个颜色的时候,需要分别参照RGB每个颜色的LUT,使用从每个LUT中获得的RGB颜色计算需要显示的颜色。
而3D-LUT则将RGB三个颜色混合成为一个立体的LUT(可以理解为XYZ轴分别是RGB的立方体)。因为LUT上具有RGB混合后的中层灰度,所以在中层灰度的表现性和Gray scale的正确性上具有进步。
以EIZO的宽屏液晶显示器为例,ColorEdge CG242W就采用了3D-LUT。比起传统LUT,这款产品在中层灰度的测定值和理论值之间相差极小。
3D-LUT在颜色管理环境中进行颜色空间转换时也能发挥其威力。将某个颜色空间中的1677万种颜色转换成其他颜色空间的时候,可以将源空间的损失降到最低,进行高精度的转换。不仅如此,由于在RGB混合(加法混色)的还原性上有所进步,在调整亮度、色度、色相的图像编辑过程中,可以将用户对各种参数的调节线性反应到显示上。这点恐怕是最为重视颜色还原的颜色管理LCD最为重要的特性。
pict4.jpg
与传统LUT相比,3D-LUT的调色点更多,加法混色性能更加优秀。

综上,液晶面板的驱动bit数、LUT和内部计算精度在很大程度上影响着液晶的颜色还原。就算各项性能指标相同的显示器(注:指同为1677万色),实际进行对比之后有时也会发现很大的不同。所以,显示器的性能决不是一张说明书所能够说得清的,所以在此我再次建议您在选购前进行实际考察与对比。
日常推 @dgwxx: 基本没什么技术的话题,欢迎没事看看消遣。
► 显示剧情透露 平庸的rip
► 显示剧情透露 “不知道”的五大理由
chopper
帖子: 1
注册时间: 2010-09-24 13:53

Re: 色同质差──深入LCD的显示颜色数与LUT

最近看了些这方面的文章 简单写点 为新论坛添块砖 呵呵

FRC(Frame Rate Control)也即现在6BIT液晶面板里说常道的抖动算法 整合在液晶驱动电路板上的IC(integrated circuit)芯片中 现在不同品牌的液晶厂商除了屏幕技术的改进(PVA、S-PVA、P-MVA、IPS、S-IPS、AS-IPS、ASV) IC芯片的功能也在逐步加强,譬如:通过提升驱动电压来加速液晶盒的动作,从而将响应时间降至更低,缩短了色调切换的时间 等等

回到 “解码 播放 字幕 / Decoder playback and subtitles”