|
PC、TV level的正确设定
DVD、HDTV视频采用的记录方式,8bit亮度信号Y的范围为16-235,参考黑色记录为16,参考白色记录为235。低于16的信号称为BTB(black than black), 留有15级footroom(下动态余量);高于235的信号称为Peak White,留有19级headroom(上动态余量)。至于视频工业为何采用这样的制作标准,我们不必细究。只需知道:
- DVD记录的信号16,在电视机被正确还原成黑色,而低于16 的信号(若有)不需要被显示出来。
- 信号235被还原成(参考)白色,如果DVD 记录有高于235的Peak White信号,若电视机的对比度设定还没有饱和的话,可以还原出这个比参考白色还“亮”的白画面,若电视机已达到饱和状态,则只能是做削波处理。
例如,当电影画面有局部的强光、强反光,可能出现“Peak White”信号,这取决于制作时的电平控制。参见下图蓝光“十面埋伏”的画面,刀的强反光带有>235的"Peak white"信号。
如果PC接显示器播放DVD视频,就会碰到问题。PC 桌面,是按0=黑,255=白定义的。DVD 解码出来的视频信号是16-235,如果不经处理,直接显示的话,DVD电影的黑色在PC 显示器是显示成暗灰色,白色显示成亮灰色。用户看到的是暗淡、发白的画面。不幸的是,微软的VMR 视频标准,默认就是采用这种方法来处理视频播放的。(微软这么做是有其道理的,暂且不谈)。VMR出来的一段时间,用户普遍抱怨VMR 的画质很差,比不上Overlay 颜色鲜艳,呵呵。
那么,采用Overlay 渲染播放,是如何处理的?很简单,把DVD 的16-235 信号,转换成(扩展)成0-255的信号,即把原来的TV level 转换成PC level,和PC桌面显示设定一致,PC 显示器就可以还原正确的画面颜色。至于BTW和Peak White 信号,一概切掉。不过,这样做也有弊端,例如:
-Peak White 信号没了,某些电影场景的高光细节会丢失。
-16-235共219级灰阶,转成255级灰阶后,会出现某些灰阶断层,例如原来的灰阶25、26,转换后变成10、12,灰级过渡就变得没有这么平滑。在某些画面情况,可能出现轻微的"Color banding".
大概是听多了用户抱怨,A、N后来的显卡驱动都做出了调整,有趣的是,是不同的方向:
-A卡,VMR默认改为按PC level处理,和Overlay一样
-N卡,Overlay默认改为按TV level处理,和VMR一样
由于用户实际的使用情况不同,会出现以下情况:
- 如果PC 用DVI-HDMI接投影、平板电视,而采用PC level输出,会导致原电影画面的暗部、亮部全部切掉(详细参见显卡区emufan 置顶贴)。
- 如果PC 接PC显示器,而采用TV level输出,会导致暗淡、发白的画面。
OK,搞清楚这些情况,我们可以根据自己的实际情况做出正确的选择:
对于N 卡用户:
-VGA 接CRT 的话,如果不嫌麻烦,把CRT按TV level 做1次亮度、对比度校准,记下设置参数,看片时调出这些设置值。虽然麻烦点,但这是可以取得最好画质的方法。
-接 LCD 的话,要做TV->PC level的转换,最简单是直接修改注册表,让N 卡驱动按PC level 处理VMR/overlay。如果是采用VMR输出的话,可以用KMP/mpc 的remap 16_235的shader 功能转换。具体参见坛内贴子。
-DVI -HDMI 接电视、投影,通常直接用VMR 输出就行了,TV level 对TV level,门当户对。
补充:此种情况适用于不能识别PClevel和TVlevel的电视,如夏新的37HWT2A和日立42PD9900TC,且只能使用DVI-HDMI的连接,使用HDMI显卡无此问题;对于能够自动识别的,如索尼40X200A和夏普52G7,只需按照PC level设置,事先检测一下没有坏处。海尔32能够支持DVI-HDMI1366x768,就说明是按照pclevle走,所以选择VMR反而不合适。
A 卡用户:
-接PC 显示器的话,啥都不用做,很方便。
- DVI -HDMI 接电视、投影,不清楚现在A 卡驱动是否可以智能识别显卡连接而改用TV level输出,若不是,就麻烦了。
对于视频播放,A、N卡均有各自的视频处理增强功能,例如反交错、降噪、锐化、缩放等等,暂不涉及。对于HD 1080p的视频回放,只要设置正确,A、N卡都能给出合格的画面,两者在HD基本画质方面,其实不存在大的差异,某些夸大的说法只是厂商的市场语言罢了。
*附:如何修改注册表,让NVIDIA的驱动按按PC LEVEL的方式来处理OVERLY VMR9
1. 在注册表找到
"HKey_Local_MachineHardwareDeviceMapVideo"
记下"devicevideo0" 对应的GUID,例如像这样:{88A65C65-AE58-4900-970A-D803FCC0E886}
2. 在注册表
"HKey_Local_MachineSYSTEMCurrentControlSetControlVideo{GUID}0000"
这里 的{GUID}是上面找到的数字
在 "0000" 目录下面新建 DWORD 项"VMRCCCSStatus" ,键值
3 - PC level
1 - TV level
然后,重启动。
这个方法对VMR有效,包括9x.xx、100.xx 驱动for XP。有个问题,使用PowerDVD 播放器放HD DVD,退出后,该设置会暂时失效,要重新启动才行。
对overlay 不一定有效。N卡驱动overlay 部分比较乱。
[ 本帖最后由 cyluoyan 于 2008-9-12 13:07 编辑 ] |
|