主题 : “软解”还是“硬解”——HDTV画质优化指南
【炫舞】开心竹有低头叶,傲骨梅无仰面花!
级别: 荣誉会员

UID: 13405
精华: 0
发帖: 29993
威望: 18208 点
无痕币: 1528 WHB
贡献值: 1 点
在线时间: 6268(时)
注册时间: 2008-02-15
最后登录: 2018-12-11

0 “软解”还是“硬解”——HDTV画质优化指南

管理提醒: 本帖被 kjxg 执行锁定操作(2008-11-28)
众所周知,在播放各种编码的高清视频时,电脑都需要进行大量的解码运算,而在具备高清视频硬件解码能力的显卡问世之前,广大玩家欣赏HDTV时都主要是依靠CPU对高清视频进行“软解码”。目前的主流显卡基本上都提供了对各种高清视频进行硬件解码的支持,让GPU代替CPU来承担繁重的解码运算,大大降低了播放高清视频时的CPU占用率,这样的解码方式被高清爱好者们称为“硬解码”。“软解”与“硬解”究竟哪个更强?下面我们就通过实际测试来对比一下,并结合完美解码谈谈HDTV的画质优化问题。

一、“软解码”和“硬解码”的设置

  我们知道,完美解码集成了常用的解码器、分离器和播放器等。在“完美解码设置”中,玩家可以根据显卡的情况来选择解码模式,例如NVIDIA显卡的PureVideo模式或AMD显卡的ATI UVD模式,这时软件会自动打开显卡相应的硬件加速/解码功能来进行高清视频的播放。

  完美解码中自带了KMplayer播放器,无论是选择PureVideo还是ATI UVD模式,KMplayer都会默认使用CyberLink H.264/AVC Decoder(PDVD 7.X)作为首选的视频解码器,该解码器支持MPEG2、H.264、VC-1等主流编码方式高清视频的硬件解码,并且可以在属性设置中通过是否勾选“Use DxVA”来选择是否开启硬件解码(见图1,默认为勾选,开启硬件解码)。


在播放过程中按“Tab”键,可以打开OSC 回放信息,屏幕上会显示该文件所采用的音视频编码方式和当前使用的解码器、分离器等信息,以及CPU实时占用率和画面帧数。正确开启GPU的硬件解码之后,视频输出方式会显示为“dxva”(图2),如果显示为其他输出方式,则表示使用CPU“软解码”模式。


KMplayer播放器中提供了三个预设的播放模式供我们选择,分别为“速度预设”、“基本预设”、“高画质预设”,其中“速度预设”模式下可以开启显卡的硬件解码功能,另外两个模式都是“软解码”模式。“速度预设”又可以分为“极速模式”和“高速模式”(图3),“极速模式”下禁用了所有的视频、音频滤镜,而“高速模式”下只禁用视频滤镜,因此两个模式下画质一样,而“高速模式”的音效要相对好一些,CPU占用率也相对稍高。玩家们可以根据自己的硬件配置情况在不同的模式之间进行选择。



二、“软解码”和“硬解码”的CPU占用率及画质对比

  了解完KMplayer播放器的软解码和硬解码设置情况之后,下面我们就来进行各种解码模式下的画质测试对比。
测试影片


硬件配置:

CPU:Intel Core2 Duo E6320/Pentium E2160
主板:Intel 975X主板
内存:金士顿 DDR2 667 1GB×2
显卡:影驰 8500GT HDMI
硬盘:三星 HD250HJ×2(Matrix RAID)
电源:航嘉多核DH6

  首先测试的是《Babel通天塔》,这部采用H.264编码的电影的编码率很高,对硬件的要求也很苛刻,在“速度预设”模式开启8500GT硬件解码的情况下CPU占用率为5%~15%,关闭硬件解码时CPU占用率为50%~75%;“基本预设”模式下无论是否勾选“Use DxVA”硬件解码,CPU占用率都在60%~80%,此时OSC显示的输出方式为“YV12”(图4);而“高画质预设”模式下无论是否勾选“Use DxVA”硬件解码,CPU占用率都达到了90%~100%,OSC显示的输出方式为“RGB32[高画质]”(图5)。这就说明了在“基本预设”和“高画质预设”两个模式下,KMplayer调用了不同的视频渲染器对画面进行优化处理,因此比“速度预设”模式下的普通CPU“软解码”占用更多的CPU资源。而且此时显卡的硬件解码功能均无法被开启,所有的解码运算及优化处理都要依赖CPU进行“软解码”。





通过影片截图进行仔细对比,可以看到硬件解码模式下(图6左),影片的整体画面色彩有点发灰,无论色彩饱和度还是对比度,都要逊色于另外两种模式,细节的表现力也不够,男主角的额纹尾端已经变得不明显。而在高画质预设的RGB32模式下(图6中),色彩则更为鲜艳,颜色显得浓郁一些,画面的质感很强,细节也更为突出,男主角的额纹清晰可见。

  基本预设的YV12模式下的画面质量介于以上两者之间(图6右),不进行细致的观察对比很难发现其差别。但RGB32高画质模式下CPU占用率一直居高不下,常常达到100%,使用E6320时还能流畅播放,如果把CPU换成E2160,则会出现画面停顿和影音不同步,可见RGB32高画质模式对CPU的要求十分苛刻。








接下来测试的是《X战警3》,这部影片同样采用H.264编码方式,但编码率比《Babel通天塔》略低,采用RGB32高画质模式时CPU占用率在75%~95%。硬件解码模式(图7左)和RGB32高画质模式(图7右)下的画面质量差别没有《Babel通天塔》那么大,但经过优化后的图像更加清晰锐利,尤其是在人物的特写镜头中更能体现出来。





三、HDTV画质优化设置

  通过上面的对比测试,我们可以看到高清视频的“软解码”和“硬解码”各有优缺点:显卡的硬件解码功能可以最大程度地降低CPU占用率,让低配置PC也能轻松完成HDTV播放,但无法同时调用视频渲染器,所以画面质量比较一般;利用CPU对HDTV进行“软解码”,可以调用各种视频渲染器对画面质量进行优化,但CPU必须承担庞大的解码运算任务,这对CPU的性能要求非常苛刻。高清玩家们应该根据自己的硬件配置实际情况和具体影片来确定不同的解码方案,在CPU能够胜任的前提下应该尽量选用“软解码”的方式来播放HDTV。

  除了上面介绍的几个预设模式之外,KMplayer播放器还提供了许多视频渲染器供我们选择。在右键菜单的“高级视频管理”→“视频渲染器”选项中,我们可以自由选择调用更多的渲染器(图8),这些渲染器各有特点,具体选择什么样的渲染器应根据不同的影片来决定,建议在播放过程中逐一进行选用并对比画面质量,从而确定最佳的画质优化方案。



结语

  显卡的HDTV硬件解码功能让很多的低配置PC都轻松胜任高清电影的播放,但如果要得到尽善尽美的画面质量,最好的方法还是选用高性能CPU进行“软解码”。软解码运算对CPU的要求非常高,甚至目前一些较低端的双核CPU也无法胜任,也许不久的将来会有一个GPU+CPU的协作解码方案出现,让我们拭目以待吧。

本帖最近评分记录:
  • 无痕币:+10(elevis) 优秀帖子
  • Total 0.037099(s) query 3, Time now is:05-02 11:22, Gzip enabled 粤ICP备07514325号-1
    Powered by PHPWind v7.3.2 Certificate Code © 2003-13 秋无痕论坛