NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 12493|回复: 17

[翻译]色同质差──深入LCD的显示颜色数与LUT

  [复制链接]
发表于 2009-12-21 23:45 | 显示全部楼层 |阅读模式
差不多昨天的这个时候秋月跟我提到了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的最大颜色数和实现方式主要有以下几种:
最大颜色数液晶面板类型灰度表现力成本
1约1677万色8bit驱动
2约1677万色6bit驱动+FRC
3约1619万色/约1620万色6bit驱动+FRC

真正意义上实现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万色),实际进行对比之后有时也会发现很大的不同。所以,显示器的性能决不是一张说明书所能够说得清的,所以在此我再次建议您在选购前进行实际考察与对比。
发表于 2009-12-22 01:41 | 显示全部楼层
学习了  感谢管理猿的精彩翻译
发表于 2009-12-22 08:21 | 显示全部楼层
关键是没钱啊……有钱我也买ips面板
发表于 2009-12-22 09:17 | 显示全部楼层
唔 大虾辛苦了。
我在想部分显卡不也号称10bit输出么,那个10bit是啥-.-
还有Matrox当年Parhelia的10bit RAMDAC也似乎支持10bit/per RGB的输出(+2bit的alpha ch)
又是啥东西-.-
发表于 2009-12-22 09:52 | 显示全部楼层
受教了!感谢管理猿!
话说如果按照这个文来看的话,目前大部分TN板的LCD应该都是6bit了
发表于 2009-12-22 11:36 | 显示全部楼层
那如果一台TN的显示器,用的面板为M215HW01 V0 铭牌显示为可显示16.7M的色彩
驱动IC为realtek RTD2482D,是否可以理解为真8bit的LCD?
 楼主| 发表于 2009-12-22 12:01 | 显示全部楼层
这款面板是友达光电推出的21.5寸FullHD TN面板,主要面向消费级LCD,市面上很多21.5寸产品都使用了这款面板。虽然没有查到这款面板的详细参数,但查了一下采用这个面板的产品的价格,基本上可以说是6bit产品。
TN产品基本上没有8bit驱动。在2000元档位的产品中,一般都是高端TN和廉价广视角面板交融的状况。从TN到廉价广视角在这个价位基本没有8bit驱动的(我新买的三星F2380就是6bit CPVA面板+HiFRC的16.7M色)。
在接近3000元这个档位估计就能买到IPS产品了。高端一些IPS、PVA、MVA面板据说都是8bit的。EIZO的高端机售价没有低于人民币五位数的,有米就去买EIZO吧。

话说F2380这个机器多少让人感觉有些可疑……发布会的样机上印着动态对比度10w:1,但销售的时候就很神奇地变成了15w:1。
 楼主| 发表于 2009-12-22 13:55 | 显示全部楼层
回复 4# akiduki
嘛……NV从GF8开始,ATI从X1000开始支持单色10bit输出。Vista也开始支持单色10bit输出。不过这也仅仅是理论上。
一来我们常用的DVI不支持10bit深度,只有8bit。只有Display Port配合10bit显示器才能享受到真正的10bit图像。而目前大规模配备DP接口的似乎只有新型的Mac(08年以后?出的),我这个07年的还依旧是Mini-DVI呢。
二来,就算电脑能输出、传输界面支持、显示器支持,现在能够提供10bit颜色的软件也不多。除了图像处理等专业用途以外,游戏、视频能够提供的精度也就8bit到头了。等到PC播放BD真正普及的那一天,10bit估计才能真正从专业领域走向千家万户。

PS.据说PS3内部的计算精度是16bit。
发表于 2009-12-22 13:55 | 显示全部楼层
本帖最后由 galaxy 于 2009-12-22 18:31 编辑

话说哪可以查?想知道LG1920TR是哪种……
(官网没看到,不过TN的基本就是6bit驱动+FRC了)
====================
那个,笔误,是1960……
发表于 2009-12-22 14:01 | 显示全部楼层
支持大虾的翻译文章
学习到了很多!
 楼主| 发表于 2009-12-22 14:26 | 显示全部楼层
回复 9# galaxy
这些东西一般都是不公开的吧……而且我也没查到你这个型号呢。
现在市面上的产品基本是:
山寨机 -> 6bit驱动+FRC(16.2M色)
TN面板 -> 6bit驱动+HiFRC(16.7M色)
廉价广视角 -> 基本上是6bit驱动+HiFRC
高端广视角 -> 8bit驱动

2000块钱以下基本上买不到8bit产品。想要8bit有一个最简单的方式就是直接买IPS面板产品,或者EIZO那些价格在五位数以上的型号
其实文中也说了,影响画质的不光有面板。显示器内部的做工、算法、用料甚至比面板更加重要。无奈现在业界“犹抱琵琶半遮面”的宣传实在是害人不浅,很多参数指标根本是不公开的,详细的资料无从查证。再加上媒体和枪手的误导,很容易忽悠市场和消费者。
发表于 2009-12-23 01:29 | 显示全部楼层
我的意思是在显卡中是否也存在类似这样的机制,还是说LUT和gamma校正只在显示器中进行。

还有这段话
接下来说说将RGB各8bit输入信号提升至显示器内部10bit以上的精度的处理运算。就算LUT只有10bit或12bit,若采用14bit或16bit的计算处理精度依旧可以获得更好的结果。可能有人会怀疑,反正最终输出也只有8bit,是否有必要采用那么高的计算精度。但我要说的是,要展现正确的图像暗部,显示器内部的处理精度是非常重要的。简单说,内部处理的精度越高,暗部的Gamma曲线就越接近理论曲线。


我没看明白
不过让我想起了这篇文章:
http://x264dev.multimedia.cx/?p=157
 楼主| 发表于 2009-12-23 09:54 | 显示全部楼层
回复 12# akiduki
这个我也不太清楚,原文中这段话写的就很暧昧,模棱两可。
发表于 2009-12-23 19:29 | 显示全部楼层
唔 大虾辛苦了。
我在想部分显卡不也号称10bit输出么,那个10bit是啥-.-
还有Matrox当年Parhelia的10bit  ...
akiduki 发表于 2009-12-22 09:17


Matrox的10bit是內部有10-bit的DAC, 輸出的是Analog訊號, 用D-Sub端口才有10-bit, DVI也是8-bit

HDMI 1.3 開始可以是10bit
HDMI 1.4 是12bit

P.S. 其實8-bit也不太足夠.....暗部細節特別明顯
发表于 2009-12-23 19:36 | 显示全部楼层
我的意思是在显卡中是否也存在类似这样的机制,还是说LUT和gamma校正只在显示器中进行。

还有这段话

...
akiduki 发表于 2009-12-23 01:29


現在的顯示卡全部也有用LUT方式的Gamma校正, 一般會跟據顯示器的ICC Profile來製造LUT (部分情況下Overlay會跳過這次校正)
顯示器也會用LUT方式進行Gamma校正
发表于 2009-12-24 00:17 | 显示全部楼层
回复 15# sswroom

嗯 也就是说gamma校正和LUT这个过程在显卡和显示器内部分别进行了两次吧
我在想问下 LUT这个步骤 在显卡中是由什么硬件实现的呢?不用具体,只要告诉我是和GPU相关,还是输出电路部分相关即可。
发表于 2009-12-24 12:06 | 显示全部楼层
回复  sswroom

嗯 也就是说gamma校正和LUT这个过程在显卡和显示器内部分别进行了两次吧
我在想问下 LU ...
akiduki 发表于 2009-12-24 00:17


LUT是一種編程技巧..... 是在軟件中進行。 顯示卡的LUT Gamma修正是在顯示卡的顯驅動程式中進行。
发表于 2009-12-24 20:43 | 显示全部楼层
找了篇关于Gamma的FAQ,链接如下
http://www.poynton.com/GammaFAQ.html

附件里是链接对应的pdf,原版权归poynton所有
或许会对理解有些帮助

GammaFAQ.pdf

247.03 KB, 下载次数: 5252

您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|NMM视频技术

GMT+8, 2024-4-23 21:37 , Processed in 0.056738 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表