罗力 发表于 2010-5-19 18:01

[转帖]重现您丢失的播放细节,HTPC高清播放扫盲

重现您丢失的播放细节,HTPC高清播放扫盲贴(转帖)http://www.jd-bbs.com/viewthread.php?tid=2059079&highlight=htpc
如果电视机出现了灰阶丢失的情况,并不一定是电视机本身的问题,也很有可能是电视机不兼容计算机的色彩空间和灰阶模式造成的。如果你不了解色彩空间,那么,本文会给你答案。
      当我们用HTPC连接平板电视机时,你有没有发现图像的暗部和亮部细节损失严重?而且在调节之后,图像的细节都无法还原,难道我们当初千挑万选的电视机灰阶显示能力这么差?其实,这可能并不是你的电视机出现了问题,而是你的HTPC和电视机之间因为色彩空间不兼容的原因造成的。
了解色彩空间
      目前,数字视频信号有RGB信号和YCbCr(YUV、亮彩、色差)信号两种,通常也叫做色彩空间,它们对色彩的表示方法有所区别。
      我们可以在3维立方体中通过绘制三原色(即红色、绿色和蓝色,简写为RGB)的构成比率图以表示各种颜色,其中黑色位于原点,而白色则位于原点的斜对角。得到的立方体就是著名的RGB色彩空间,它主要用于计算机设备对色彩的描述(PC Level)。http://www.mcplive.cn/images/200901/20090107140613885.jpg

RGB色彩空间
而另一种色彩空间YCbCr是采用一个亮度信号(Y)和两个色差信号(B-Y、R-Y)相组合,称为色差信号,主要由电视机等消费类产品(StudioLevel)采用。因为当时在黑白画面过渡到彩色画面的历程中,为了兼容黑白画面(B-Y和R-Y信号为零),电视台除了传送原来的亮度信号Y以外,再用次载波(3.58MHz)来传输色彩信号B-Y、R-Y,而不是RGB三原色信号。
      而YCbCr和RGB空间是可以相互转换的,可用如下的方程将YCbCr空间中的色彩转换为RGB色彩空间中的色彩:
      R’=1.164*(Y-16)+1.596*(Cr-128)
      G’=1.164*(Y-16)-0.813*(Cr-128)-0.392*(Cb-128)
      B’=1.164*(Y-16)+1.596*(Cr-128)
灰阶模式也有两种
      Full Range
    视频信号由模拟转换为数字信号的过程中涉及到了采样技术,RGB信号在处理图像时,每个像素的色彩由3个分别对应三原色的8位二进制数字来确定,28=256个灰阶。比如(255,255,255)代表白色,(255,0,0)代表红色,那么灰阶总共是0~255一共256个,通常被称作Full Range。
      Limited Range
    这种信号格式的每个像素记录需要24位,所需的存储空间和数据量毫无疑问比较大。而YCrCb信号如果采用13.5MHz采样频率得到的8位或10位PCM信号则称为4∶4∶4,也有256个灰阶。但是这样的话数据量太大了。研究表明,人眼察觉到的光亮度信息(Y)的60%至70%来自绿色光。
      红色和蓝色信道实际上只是亮度信息的复制,因此这些重复信息完全可以去除掉。为了减少数据储存空间和数据传输带宽,可以用较低的采样频率6.75MHz来采样B-Y和R-Y信号,称做4∶2∶2,也就是消费电子的Studio Level。
      在StudioLevel设备中,8位YCbCr系统都规定亮度的取值范围介于16至235之间,而B-Y和R-Y信号的取值范围介于16至240之间。YCbCr4∶2∶2色差信号的灰阶是16~235,通常被称作LimitedRange,而RGB信号也有两种采样频率和灰阶,在PCLevel系统中是0~255,而在Studio Level消费电子中则是16~235。http://www.mcplive.cn/images/200901/2009010714114297.jpg

      灰阶出现问题
    那么,视频信号有两种不同的色彩空间和灰阶模式,如果交叉互连时,灰阶就有可能出现问题。如果不同色彩空间的设备之间进行了连接,那么灰阶信号就可能因为不匹配而丢失,造成画面的细节缺失。而不同灰阶模式的设备相连也可能出现灰阶丢失的问题。我们平时所使用的显卡或者PC显示器,它们都是PCLevel的设备,采用Full Range灰阶。而DVD播放器、投影机、平板电视等则是SutioLevel设备,采用LimitedRange灰阶。不同设备之间的互相连接,对灰阶的处理情况可能会有不同。
PC对色彩空间的处理
      如果你使用的是电脑显示器连接PC,那么毫无疑问,你的显示器是PCLevel设备,可以显示完整的0~255灰阶。但是这个情况只是在使用桌面输出的时候,诸如DisplayX、Displaymate等测试软件时能够看到完整的灰阶,如果播放StudioLevel的DVD影碟、高清视频文件时,灰阶又可能是另一回事。那么,StudioLevel的视频素材在PC和PC显示器上播放的时候也要经过处理吗?
      答案是肯定的。Studio Level标准里,黑色为16,白色则为235,低于16的称为BlackerThanBlack(BTB),高于235的称为PeakWhite。编码时数字16对应视频电压0mV,是画面最黑的地方,这是日本NTSC制式采用的基准黑电平,235对应亮度电压714mV,这是最亮的地方。向下留有15级Footroom(下动态余量),向上留有19级Headroom(上动态余量)。
      如果DVD盘片记录的信号是16,那么在电视机中则被还原成黑色,低于16的信号则不被显示,高于235的Peak White信号则做削波处理,还原为白色。Studio Level的信号如果在PC中不处理,16~235信号就会出现发白的颜色。
      PC在播放高清电影的时候,一共经过了以下四个流程:来源影片→解码器→显卡→显示器
      其实我们只需要一个步骤把灰阶从16~235转换到0~255就可以了。但是,为了解决StudioLevel的灰阶问题,这四个部分都有可能出现在灰阶部分进行处理的混乱情况。所以,最后影片出来的播放效果就有可能惨不忍睹。在为影片转码压制DVDrip的时候,很多压制软件就有“Extend toPC video\" 的选项,将16~235灰阶扩展到0~255。

The KMPlayer在“色阶控制”选项中可以控制灰阶输出
显卡在渲染视频画面时,也分Overlay和VMR9等模式。用Overlay(覆盖)模式渲染时,会把视频信号里的0~15和236~255丢弃,把16~235扩展为0~255,并输出到显示器上。与之配合的PCLevel显示器把显卡输出的0对应于最黑,输出的255对应于最亮。在Overlay模式下,多余的BTB和PeakWhite信号都被忽略掉了。这样做可能会丢失部分场景的高光细节,而原本的219级灰阶扩展为256级灰阶后,也会出现某些灰阶图像过渡不够自然的情况。

CoreAVC中和灰阶相关的选项http://www.mcplive.cn/images/200901/20090107141302623.jpg

而在VMR9渲染模式下时,显卡对视频信号不做任何变换,直接输出给显示器。如果显示器还是按PCLevel调整的,0是最黑,255是最白,那么参考黑位在显示器上就是(16,16,16),结果看起来就是不那么黑,有点发白。解决办法就是把显示器按照Studio Level调整,把亮度调低点。
      现在,很多播放软件和视频插件也支持输出灰阶调整功能。以TheKMPlayer播放软件为例,打开参数选项中的“模糊/色阶”,然后在“色阶控制”选项中选择开启,在输出幅度位置选择16~235替代默认的0~255。CoreAVC、gabest、ffdshow等解码器都有相关的灰阶扩展选项。
      而在显示器方面,一般我们使用的是0~255灰阶的PC Level设备,但是我们也可能使用Studio设备的平板电视机。所以,在上述的几个步骤中,无数的混乱造成影片播放时灰阶的严重丢失。要调整好它们之间的关系,不下一番苦功夫是不行的。
HTPC和电视机的连接
      AV领域的视频设备是从16~235之间取值的,不过实际上很多中高端的DVD播放器、电视机和投影机都可以选择PC Leve(l Full Range)或者Studio Level(Limited Range)模式来适应不同的状况。

SONY PS3中的RGB Full Range灰阶选项,可以选择“有限”或者“全取”http://www.mcplive.cn/images/200901/20090107141602903.jpg

如果HTPC输出的信号是0~255的FullRange灰阶信号,而StudioLevel的电视机则是以16作为基准黑,235作为基准白的。这个时候,原本0~15和236~255之间的细节都显示不出来了。不过,这部分细节并没有被丢掉,只是被电视机藏到了一个不易被人注意的角落。因为StudioLevel仍然还有BTB和PeakWhite信号,我们只要对电视机的gamma重新进行调节,就可以把大部分细节还原出来。

在高端投影机中,一般都有针对色彩空间和灰度的选项http://www.mcplive.cn/images/200901/20090107141640531.jpg

如果是直接用HDMI接口连接视频播放设备和电视机呢?也有可能因为输出的灰阶格式和机电视机的兼容格式不同造成灰阶的丢失。比如,蓝光播放器输出的是RGB FullRange格式,而电视机则只支持LimitelRange,就需要对输出端进行调整。在PS3、蓝光播放器等HDMI设备中,都可以对HDMI接口的灰阶深度进行调整,比如在PS3上,有一个RGBFullRange(HDMI)的选项,选择“有限”则是以16~253的范围输出RGB信号,选择“全取”则是以0~255的范围输出RGS信号。http://www.mcplive.cn/images/200901/20090107141748359.jpg

用于灰阶测试的ramp.ts视频画面,如果灰阶丢失以后,白点和黑点以外的色块就不可见了。
      而现在,NVIDIA显卡和ATI显卡也可以通过驱动面板对HDMI的灰阶进行调整,选择RGB Full Range、RGB Limited Range或YCrCb 4:4:4的数字颜色格式。
实际测试和调节
      我们使用HTPC和松下42PV70C等离子电视机相连,实际考察HTPC和电视之间的兼容情况。HTPC这边使用了原生HDMI接口的RadeonHD 3450显卡、DVI接口转接HDMI的RadeonHD 3650显卡和DVI接口转接HDMI的GeForce 8800GT显卡,通过HDMI接口连接到电视机上。
      平时,松下42PV70C电视机的HDMI接口已经通过连接PS3游戏机设置好了亮度和对比度值,设置为对比度为85,亮度为50时,画面的细节有较好的表现。

在ATI最新的8.11驱动中,如果你用HDMI连接,会有一个像素格式的选择,可以选择计算机标准Full RGB、Studio视频Limited RGB以及YCbCr 4:4:4/4:2:2。http://www.mcplive.cn/images/200901/20090107142003374.jpg

      而HTPC通过DVI转接的HDMI接口在连上电视及以后,我们打开了一张灰阶测试图片,黑色灰阶16以下的全部不可见,而白色灰阶235以上的也不可见。这正好说明了电视机以16灰阶作为黑色,丢弃了大部分的暗部细节。接下来,我们播放了一段ts格式测试视频片段,黑色和白色各有一个色块在播放中丢失了。而我们换用原生HDMI接口的RadeonHD3450显卡后,也发现灰阶丢失同样非常严重。不过,无论是DVI转接还是原生的HDMI接口的显示图像都可以通过调节电视机的亮度和对比度提升细节表现能力,在降低对比度到40,提升亮度到90以后,大部分灰阶都可以看到了。但是,此时的画面相对比较暗淡,且仍然有6以下的黑色灰阶不可见,黑色部分的噪点也增加了。可以说,细节出来了,但是画面的观感还不如调节前。
    接下来,我们又通过VGA接口连接PC到42PV70C电视机上进行测试。此时,在先前的对比度80,亮度50的设置下,所有的灰阶都正常,1~254灰阶都可以正常辨识。由此看来松下42PV70C电视的HDMI接口只能兼容LimitedRange的灰阶,在连接HTPC时其表现还不如VGA接口。通过VGA接口的显示效果都要比HDMI更好。
http://www.mcplive.cn/images/200901/20090107142026286.jpg
NVIDIA显卡在动态范围调节选项里有灰阶的调节,并对该选项进行了说明。而且在使用HDMI接口之后,还可以支持RGB和YCrCb色彩空间的选择。
    除了调节显示器以外,我们还可以通过软件调节的方法增加画面细节。但是,通过软件的调节大多数只能调节视频的Gamma值,对桌面的显示输出没有改变。除了前面我们讲到的调节TheKMPlayer、CoreAVC等解码器之外,还可以调节显卡驱动。在ATI显卡的Avivo驱动面板中可以调节视频亮度和对比度,来增加视频的细节。通过调整以后,测试的ramp.ts视频画面中缺失的色块又回来了。只是我们在前面说过,该调节仅仅是调整的视频画质,桌面显示和图片的质量仍不理想。在ATI最新的8.11驱动里,如果使用HDMI接口连接,还增加了一个像素格式的选项,可以选择计算机标准FullRGB、Sudio视频Limited RGB以及YCbCr 4:4:4、YCbCr 4:2:2。如果选择YCbCr4:2:2,细节表现能力也会提升。
    在高清音频领域,有一个名词正在流行,那就是“点灯”。意思是可以实现高清音频源码输出的播放设备加次世代功放的组合,在经过正确的设置后,实现了高清音频的正确解码,功放上对应高清音频解码灯成功亮起。而在HDMI视频领域,我们也可以用“点灯”来形容灰阶的正确输出和显示,但是这个设置和判断是非常困难的,不知道你成功“点灯”了吗?

保安 发表于 2010-5-19 19:29

我震惊了

mazhen8u8 发表于 2010-5-19 19:48

在ATI最新的8.11驱动中

炎之女皇 发表于 2010-5-19 19:55

鸡蛋灌饼 发表于 2010-5-19 19:58

懒得看,直觉告诉我一定能挑出一堆错

雅木 发表于 2010-5-19 20:00

等離子hdmi連接還不如vga,液晶此刻可以頭頂青天不

xxyyzz7711 发表于 2010-5-19 20:27

这么说的话,我的HDMI到1080P的液晶,在CCC里面只能使用YCbCr 4:4:4,设其他的都会被改回去

罗力 发表于 2010-5-19 20:31

液晶顶啥子青天,别说电视了,我这DVI看那图左右都是黑做一团的。。。

siyeclover 发表于 2010-5-22 22:49

看的稀里糊涂的。
昨晚我发现三公主的设置里有个limited range和full range,默认是limited,我把它改成full,这对不对?
是否应该在电视上做设置?刚才看了一下电视的设置,好像没有类似的选项,要进工程菜单?我的电视是松下G11 。

何边杨 发表于 2010-5-23 01:20

在ATI最新的8.11驱动里

罗力 发表于 2010-5-23 14:21

本帖最后由 罗力 于 2010-5-23 14:26 编辑

看的稀里糊涂的。
昨晚我发现三公主的设置里有个limited range和full range,默认是limited,我把它改成full,这对不对?
是否应该在电视上做设置?刚才看了一下电视的设置,好像没有类似的选项,要进工程菜单?我的 ...
siyeclover 发表于 2010-5-22 22:49 http://bbs.saraba1st.com/2b/images/common/back.gif

不对,你的电视不是全色欲的,应该改成limited,不然你可能看不到上面测试图的两端。
或者直接看这张图更加直观,上面有三个数,下面也是三个数,设不对下面黑成一团
http://img1.soufun.com/bbs/2007_10/08/sh/1191822276085_000.jpg

siyeclover 发表于 2010-5-23 14:28



不对,应该改成limited,不然你可能看不到上面测试图的两端。
罗力 发表于 2010-5-23 14:21 http://bbs.saraba1st.com/2b/images/common/back.gif
对,我发现确实看不到上边两行了。
可是,用Limited不是就会丢失一些色阶吗?
我今天打电话给松下的客服,问他们松下G11支持RGB FULL RANGE否,结果他们根本不知道这是啥,让他们去问工程师,问了半天也没答案。

平时我们看片打游戏到底应该使用Limited还是full?

kmh 发表于 2010-5-23 14:41

我用的是a卡接s10
平时又不用这东西上网
放片时只要在解码器里选TVOUT(16-235)就行了

罗力 发表于 2010-5-23 14:58

不会,你用full才会丢失色阶,因为电视机无法处理溢出的数据。

具体表现是如黑夜环境下那些黑旮旯的地方都看不清人了,于是拼命调高亮度,结果屏幕发白,黑位严重丢失。

而用限制只是色彩数要少点,但保持了灰度的正确性。

siyeclover 发表于 2010-5-23 15:02

我的理解是有限色阶比全色阶能显示的色阶少,这样会丢失一些色阶。
但是在不支持全色阶的显示设备上使用全色阶,会丢掉大段连续的色阶,显示效果会更差。
然而如果播放设备和显示设备都支持全色阶的话,还是全色阶更好。

请问是这样吗?

炎之女皇 发表于 2010-5-23 15:06

罗力 发表于 2010-5-23 15:24

本帖最后由 罗力 于 2010-5-23 15:48 编辑

我的理解是有限色阶比全色阶能显示的色阶少,这样会丢失一些色阶。
但是在不支持全色阶的显示设备上使用全色阶,会丢掉大段连续的色阶,显示效果会更差。
然而如果播放设备和显示设备都支持全色阶的话,还是全色阶更 ...
siyeclover 发表于 2010-5-23 15:02 http://bbs.saraba1st.com/2b/images/common/back.gif


应该这样理解
有限的16-235,有220级灰度
全rgb的0-255,有256级灰度

如果你都选对了
区别就是把一幅图像从最黑到最白,是量化成220级还是256级。区别是颜色细腻度的区别
不过看碟因为现在的碟本身就是yuy色域的,用RGB限制可谓是1:1的放映,所以不存在丢颜色细腻度的问题,而如果你的设备是全色欲的话,也就是超过碟上的色域了,你不限制也就像你拿千千升频听MP3一样的,也听不出什么来,至于游戏和别的图像的话,你是全色欲设备选全色欲当然舒服了,如果不是也就是选错了。


如果你选错了,就是用只能显示220级灰度的设备按照255级灰度量化,结果就是,中间就把220级的能力用完了,两头没法搞于是丢掉不管了,就像你用1204x768的显示器你不缩放,而要求1:1放一张1920x1200的桌面,结果就是只看到图片的一部分。

siyeclover 发表于 2010-5-23 15:42

多谢两位的指点,这一部分我明白了。
那么我在实际使用中应该怎么设置?
三公主设置为有限灰阶,电脑播放软件的解码器设置为16-235,是这样吗?
还是说,得根据播放的片子不同而做不同的设置?

另外这个G11到底是不是不支持全色阶?

罗力 发表于 2010-5-23 16:06

很显然不支持,不然开了你也能看见我上面贴的那图了,不过你也别觉得有什么不爽的,松下G11官方说有10.7亿色已经很够看的了,本身显示能力就不够的话就算从规格上支持全色域也没那全色域的效果。

你看现在的电视技术还不够成熟,别说全色域,很多电视都还在广色域的战线上奋斗呢。。。
你可以开着双显用松下电视比比你电脑上的LCD,那个接电脑dvi就是全色域信号支持,你能看出颜色比你的松下电视好吗?

所以也不要迷信全色欲,有人说日立有这功能,但实际效果不好。

newfaceryo 发表于 2010-5-23 16:21

我的2410买回来看这种色阶测试图从来没有看到两端过。

求解决方案讲解

siyeclover 发表于 2010-5-24 00:15

多谢指点,我把三公主改为受限色阶了。
显示器应该都是全色阶的吧?为啥电视就这么难?

炎之女皇 发表于 2010-5-24 00:36

页: [1]
查看完整版本: [转帖]重现您丢失的播放细节,HTPC高清播放扫盲