2006-11-29

显示屏的Gamma校正

开始接触显示屏好长时间了,一直没有弄明白如何调整Gamma,甚至连它的基本作用也不是很清楚。我看的资料大多在介绍如何校正它,而且重点是针对某一款产品,并没有通用性,不过确实有一些参考价值。就这个问题,我曾经问过一些有经验的人,他们回答的也很含糊。我想,可能大家都是因为在困难面前无法获得足够的信息和资料,不得不放弃。我知道,Gamma的设定会影响到显示的效果,而且在不同的环境下参数也是不同的。如果我们不彻底掌握这种方法,别人请我们去做校正,即使通过经验和运气把效果调整好了,别人问我们原理的时候,我们也无法准确的回答他们。

大家都明白,这是一件耗费时间和精力的事情。为了得到较为精确的参数,不但要测量众多的数据,而且还要进行烦琐的计算,还要绘制一条曲线,看看它和理想的曲线相差多少,然后就要尽力让实际的曲线和理想的曲线接近。当两者相差无几的时候,显示屏展示出来的图像就和实际的图像很接近了,调整工作也就成功了。我很早以前做的一个案子,曾经请R公司的Z帮忙做调整,从他那里了解了一些基本的经验,不过碍于时间的限制,我一直没有深入的研究。后来在和L.P.公司的L联系的时候,他发给我一份资料,比较详细的介绍了这个调整的过程。

通过翻阅这一份资料,我明白了要做Gamma校正的原因。实际的图像通过摄像头拍摄会有误差,也就是输入(电压)和输出(亮度)并不是线性的关系,有一个经验的公式,两者符合一个指数是1.8到2.2的指数函数的关系,拍摄下来的图像再经过CRT显示之后,又会有一些偏差,为了保证最终的显示效果和实际图像尽量接近,我们需要让这两种偏差抵消,使输入和输出达到线性的关系。原理就是这样的,当然校正的过程有点麻烦。我曾经请S公司的人帮助校正过一个,但是并没有让我很满意,我希望他们能再做调整,不过他们告诉我,这个已经是最为符合经验公式的,而且他们的工作人员为了得出这个结果,花费了两天的时间用来测量和计算数据。

我对校正Gamma一直怀有一种恐惧感,但我也很不甘心就这样放弃它。今天看到我的同事L在调试一个显示屏,他说用16bit宽度的数据与用18bit宽度的数据显示效果不一样,16bit下面已经调校好的Gamma值用在18bit下面效果就比较差。我忽然想起以前L.P.公司的L说的,16bit与18bit是需要用不同的Gamma设定的。我仔细的阅读了资料,理解了其区别:16bit可以分成R5G6B5,也就是32级的灰度,而18bit可以分成R6G6B6,这是64级的灰度,灰度级的差别自然就会导致Gamma的不同。

没有评论: