2007-12-26

【转】从菜鸟出发!征服高清详细评测全攻略(四)

第18页:AVIVO HD与PUREVIDEO HD技术对比介绍(上)
第19页:AVIVO HD与PUREVIDEO HD技术对比介绍(下)
第20页:解码器,分离器以及DXVA的概念
第21页:PowerDVD开启硬解设置指南
第22页:终极解码以及完美解码设置指南(上)
第23页:终极解码以及完美解码设置指南(下)
第24页:KMPlayer播放器设置指南(上)
第25页:KMPlayer播放器设置指南(下)
第26页:KMPlayer播放器设置H.264硬解指南
第27页:KMPlayer播放器设置VC-1硬解指南
第28页:KMPlayer播放器设置MPEG2硬解指南
第29页:如何确认自己已经打开硬加速(上)
第30页:如何确认自己已经打开硬加速(下)


第18页:AVIVO HD与PUREVIDEO HD技术对比介绍(上)
  新一代编码H.264/VC-1的编解码方案流程主要包括如下5个部分:精密运动估计与帧内估计(Estimation)、变换(Transform)及逆变换、量化(Quantization)及逆量化、环路滤波器(Loop Filter)、熵解码(Entropy Coding)。下图则是H.264编码流程图


  AMD上代Radeon X1000显卡硬件支持ATI AVIVO技术, 针对H.264和VC-1编码的视频,由CPU处理器负责Bitstream Processing(码流处理)和Entropy Decode(熵解码),由Shader着色单元来硬件加速Frequency Transform(频率转换)、Pixel Prediction(像素预测)和Deblocking(环内解块滤波)过程。因此,不能称上纯硬件解码。



第19页:AVIVO HD与PUREVIDEO HD技术对比介绍(下)
  可以看出,AMD上一代的高清视频硬件解码技术并不完美,到了HD 2000系列,Radeon HD 2600系列(RV630),Radeon HD 2400系列(RV610)图形芯片当中集成专门的UVD硬件单元(通用视频解码器),完全负责硬件加速处理Bitstream Processing(码流处理)和Entropy Decode(熵解码),由Shader着色单元来硬件加速Frequency Transform(频率转换)、Pixel Prediction(像素预测)和Deblocking(环内解块滤波)过程,即Avivo HD。
    NVIDIA早在GeForce 6时代就开始引入HD视频解决方法-PureVideo,实现硬件加速,其实其原理就是通过驱动利用可编程GPU的空闲运算能力对编码进行加速,实际上这并非完整的硬件解码,有相当一大部分是GPU通过软件来完成,但不论如何很大程度的分担了CPU的压力。 并且在画质上也有一定的改观。
前代的PureVideo的硬件组成部分只有一个VP(视频处理器,Video Processcor),并且这个VP的处理能力以及性能还是比较低下。到了G84,NVIDIA在GPU里不仅重新设计了一个功能更强强大的新的视频处理器,并且增加了一个熵解码处理器引擎,NVIDIA称为BSP ENGINE(Bitstream Processcor ENGINE)。新的视频处理器(NEW VP或者是VP2)可以对MPEG-2,VC-1,H.264进行实时解码,包含了最近比较流行的第三代视频编码。而Bitstream Processcor ENGINE则主要针对H264的CABAC/CAVLC这两种熵编码进行解码。

  前面说过H.264标准采用的熵解码有两种:一种是基于内容的自适应变长编码(CAVLC)与统一的变长编码(CAVLC)结合;另一种是基于内容的自适应二进制算术编码(CABAC),也就是主要档次。CAVLC与CABAC根据相临块的情况进行当前块的编码,以达到更好的编码效率。CABAC比CAVLC压缩效率高,但要复杂一些,对硬件要求会更高一些。 CABAC (CAVLC 也同样)是一个不会损伤画面的无损编码,但是会降低编码和解码的速度。

  初步看之下PUREVIDEO HD以用AVIVO HD都拥有了完整的硬件解码功能,事实上则不然,两家在对视频编码的支持上有一些出入。首先就是两家视频加速技术对MPEG2的并非全硬件解码,相当多的一部分交给了CPU去软解压,这一点上相信没有多少人会有异议,毕竟MPEG2本身对硬件损耗就非常低,再通过部分硬件解码,其CPU占用率已经降得相当低的一个地步,这在我们后面的测试中也得到证实。而在对相当损费资源的H.264编码时,两家也采用了统一的态度,完全的硬件解码,彻底解放CPU瓶颈,这使得H.264在两家新显卡上解码不再是问题。
  另外,对于VC-1,ATI/AMD和NVIDIA的态度就有所差异了。ATI/AMD认为,VC-1作为和H.264新一代HDTV标准编码,同时又有比较高的CPU占用率,所以仍然采用与H.264一样的全程VC-1解码(这也就是为何2600xt集成如此多晶体管的一个原因);而NVIDIA则认为,VC-1尽管占用比较高,但进行部分解码之后,低端CPU仍然能胜任解码工作,并且随着CPU主频的提升,这一状况会得到缓解。另外NVIDIA同时也认为,现在主流CPU即使软解也才70%的CPU占用,再加上PUREVIDEO HD分担一部分后则仅有40%左右的占用,在不进行其它大型任务的情况下,与0%CPU占用没有任何区别。这一点上是仁者见仁智者见智,按照笔者个人看法,所有硬解码在未来都会给软解码所代替,而现在笔者即使是在解码CABAC 40m码率的片源时使用采用软解码,就为了保证画质以及可以随心换解码器;另外一方面,有总比没有好,哪天笔者要是没了3.6G的Conroe,使用一颗Athlon64 3000+时,带有全程解码VC-1以及H264的AVIVO HD显然会更好一些。



第20页:解码器,分离器以及DXVA的概念

  我们介绍一下解码器,分离器以及DXVA的概念解码器的功能就是对视频或者音频进行解压缩。我们知道不论是原始的视频或者是原始的音频,数据都是十分惊人和庞大的,所以我们要用编码器对其进行压缩,这样才有利于传输和存储。在播放时我们就要需要还原成画面或者声音,这就需要解压,也就是解码。

  其中视频解码器比较复杂:视频压缩技术就像我们之前所说有很多种,每一种里又有不少官方的,第三方的解码器,各种解码器功能,画面,速度都有差异,不过一般分为两种解码器:硬件解码器和软件解码器。硬件解码器就是利用解码器所带的驱动接口和硬件本身连接上,利用硬件所带的功能对视频进行解码,这样可以降低对CPU的负荷,从而实现流畅播放以及提升CPU多任务的能力。软件解码器就是除了硬件解码器之外的所有解码器,其最大特征就是利用CPU通用处理的功能,对其进行软件解码。软件解码虽然耗费CPU,但是可以修改,升级,在CPU资源充足的情况下是最好的选择。

  分离器的功能就是把封装在一起的视频以及音频还原出来。之前我们谈过有不少的封装,每一种封装必须对应一种分离器,才能正确的把视频和音频分离出来以供解码器解码。分离器也有很多种,一般情况下非标准的封装格式在正规的播放器里都没有相应的分离器,比如MKV。而分离器比较出名的有月光分离器,haali等。

  DXVA(也称DirectX VA)全称就是DirectX Video Acceleration(硬件视频加速接口)。DXVA是一个由微软和图形芯片厂商联合定义的一个硬件接口规范。如果一种显卡芯片在硬件上支持DXVA规范,并不代表它就实现了DXVA里面定义的所有功能。不过有一点可以肯定的是:对于DXVA定义的每一项功能,符合DXVA规范的显示芯片驱动程序一定会告诉系统,这项功能在它的硬件里实现了还是没有实现——这是DXVA规范强制性要求的。这样做的好处是应用程序不需要自己花费时间和精力去测试显卡有没有实现某项功能。同样的,如果一种解码器支持DXVA规范,也不代表它就能利用DXVA规范里面所有的功能组合,它可以选择自己有能力支持的,或者想要支持的那些功能的组合,而其他功能组合也许就放弃了。此外,如果某种显示芯片虽然通过驱动表示支持某种功能,但解码器认为该芯片对这个功能的支持是不稳定的,容易导致系统崩溃或错误,那么解码器也可以放弃使用该芯片的这种功能。

  按照DXVA规范,硬件解码加速有3种级别
1、MC加速(运动补偿,也就前文提到Pixel Prediction)
2、IDCT加速(前文提到的Frequency Transform) + MC加速
3、VLD加速(前文提到的熵解码) + IDCT加速 + MC加速+(deblocking fliter环内解块滤波)
  除了比较老的显卡(例如Geforce3)才支持MC加速之外,现在GF6/7,X1000系列第二级,而GF 8600/8500支持H.264第三级加速,以及HD2000系列支持VC-1/H.264第三级加速,当然,这也需要解码器支持才能被调用。当播放器或者解码器显示DXVA(也称DirectX VA)时也代表着硬件加速已经被开启。

第21页:PowerDVD开启硬解设置指南


  在所有所有的播放软件器,设置最为简单,又能直接开启硬件解码的软件,只能是PowerDVD了。可以说PowerDVD是目前最好的软件解压CD/DVD/HDTV播放工具,同时它自带了HDTV硬件加速的编码,使得调用极其简单。


  如果您使用的是NVIDIA的显卡并且带有PUREVIDEO技术,那么它会有一个PUREVIDEO HD的标志显示出来。

  PowerDVD分别可以对H.264,VC-1,MPEG2,X264,XVID,DVIX等格式进行解压。也就是说基本上主流的DVD/DVDrip,HDTV/HDrip都可以解码,并且在显卡有硬解功能时无需任何设置即可开启硬解。

以下信息代表DXVA硬件加速启用。


  PowerDVD无疑是强大的而且方便的,非常适合菜鸟使用硬解看中文片,即使是软解,它也能最为迅速的找到正解的解码器,不会出现画面,音频不正确的情况,而这一切都是无需设置的。对了,为何要说中文片呢,因为除了您外语特别好的情况下,PowerDVD是没有办法外挂字幕的,这也是该软件的一大遗憾,许多人正是因为如此抛弃了PowerDVD,而仅仅使用它所附带的解码器配合其它播放器。

  PowerDVD的缺点不仅如此,由于不可配置,其分离器比较少,就连AVI这种老得不行了的封装分离得都有些问题,当然,这和现在HDTV的AVI封装了dts多音轨可能有些关系。

  其它方面,尽管PowerDVD是靠播放DVD起家,但是如果碰到了HDDVD的同样为MPEG-2 PS封装的EVO文件,PowerDVD一样无法对其分离。PowerDVD优点:无需设置,有众多同时存在不同级加速的解码器即开即用,十分方便,是购买HDDVD/BD碟最佳播放器。
  PowerDVD缺点:PowerDVD对网上下载的Remux非TS封装片源都无法正常分离,如果碰到HDrip的MKV格式更是无可奈何。最为气愤的是无法挂任何字幕。注意:PowerDVD一定要优先于其它播放器安装。如果PowerDVD工作不正常,有可能是解码器/分离器混乱,重装一般可以解决问题。

第22页:终极解码以及完美解码设置指南(上)


  终极解码以及完美解码其实说白了就是一个软件大集合,其中时下最热门的包括了播放器,解码器,以及分离器。由于终极解码或者完美解码的设置十分霸道,并且自由度不算高,所以我们可以把终极解码或者完美解码当成一个解码器以及分离器的软件包来安装。也就是说只使用它附带的解码器或者分离器,甚至是播放器,但不使用它自带的设置器,而是使用设置最为细致的KMPlayer。




第23页:终极解码以及完美解码设置指南(下)

  在这里和大家说明一下,不论是安装了终极解码或者完美解码后,其装在系统里的解码器和分离器是由当前设置所决定,比如您现在想使用NVIDIA VIDEO Decoder,而您就需要将相应的选择调至NVIDIA VIDEO Decoder选项并且应用之后,它才会调 出NVIDIA VIDEO Decoder的安装。


  同样的,需要调出什么样的解码器,或者分离器,直接在终极解码或者完美解码设置,它就会被安装上了。可以看出已经可以使用KMPlayer搜索到NVIDIA VIDEO Decoder这个解码器了,这在之前并没有。

  另外一点需要大家注意,一般情况下最好不要用终极解码或者完美解码对KMPlayer设置,我们的理由是KMPlyaer的设置功能更为强大。不过终极解码或者完美解码设置的优先级较高,也十分霸道,在设置了KMPlayer的选项之后,再用KMPlayer设置基本无效,所以我们推荐这样设置:在另外安装KMPlayer或者是已经有KMPlayer绿色免安装版的同时,我们在终极解码或者完美解码里调用这个选项:



  这样做我们就可以把终极解码或者完美解码的默认播放器设置为Media Player Classic,不仅不会对KMPlayer造成直接影响,又提供了解码器/分离器的同时,还能多了一个Media Player Classic次选播放器,一举三得。



第24页:KMPlayer播放器设置指南(上)

  首先,我要推荐一下KMPlayer播放器,根据我了解仍然有不少朋友使用MYMPC,暴风影音以及风雷影音,大多数人总是认为这些软件更为简单。

  其实则不然,KMPlayer默认的设置一样可以对各种格式的影音文件播放,并且它拥有众多的快捷键,可以对显示大小,长宽比例,色彩随意控制,最重要它的分离器比较优秀,即是是对RMVB/RM快进或者后退时,几乎没有任何后滞和延迟,这是一般播放器无法做到的。来自韩国的影音全能播放器KMPlayer,与Mplayer一样从linux平台移植而来的Kmplayer(简称KMP)几乎可以播放您系统上所有的影音文件。通过各种插件扩展KMP可以支持层出不穷的新格式。这个播放器最大好处就是自由度非常高,怎么设置都成,甚至可以根据不同的流媒体格式设置不同的分离器,根据不同的编码格式设置不同的解码器,这也是我们高清播放里最为需要一个功能。

  不过它的缺点也是显而易见的,这也就是我们之前为何要去不停的重复声明PowerDVD简单易懂,那是因为相对KMPlayer而言简直太轻松了-----KMPlayer实在设置太复杂了。

  我们在这一步步的教会大家如何去设置KMPlayer,并且告诉它每一步的含义。

  首先进入KMPlayer的参数选项内部 ,我们要做的第一件事是让解码器以及分离器的设置无条件使用。


图片不清。请点击查看

  在选择外部视频解码器时,原先是除了默认的由libcodec.dll处理之外没有其它的可以调用,所以我们要使用用户自定义解码器来搜索当前系统存在的所有解码器。


图片不清。请点击查看

第25页:KMPlayer播放器设置指南(下)


  之后我们也要定义一下分离器的使用,只有正确的分离才有能解码,这一步更为重要,其搜索和管理外部分离器方法和解码器一样,这里就不重复了。

  另外,现在时下比较流行的Haali分离器,可以很好对MPEG2-TS MPEG-PS和MKV等封装分离,强烈推荐使用。但是Haali分离器是在分离器选项里找不到的,而KMPlayer则专门有一处可以管理什么封装使用Haali分离器。


图片不清点击打开查看



  如何判定你现在在KMPlayer里用的是何种分离器,何种解码呢?按下Tab键之后可以查看当前视频播放的OSC信息,但因为Haali分离器并不在KMPlayer支持的列表之内,所以它未被显示,如上述方法,我们可以在桌面右下角的栏里看到它。
下面我们将开始介绍如何设置能在KMPlayer中针对各个编码打开硬解

第26页:KMPlayer播放器设置H.264硬解指南


  H.264解码设置相对比较容易,其要求是之前要一定要安装上PowerDVD 7.X的H.264解码器,具体步骤请进上面介绍。

  另外分离器尽量不要用内置的分离器,有时候调用nero分离器或者内置的分离器,即使解码器能正常使用,但却开不了硬件加速。

  选择外部视频解码器,如果之前没有调入外部解码器或者是搜索过外部解码器的话都是系统默认,所以我们先要搜索外部解码器。搜索外部解码器这一步骤会将所有外部解码器搜索出来然后在相应的编码格式里选对应的解码器,H.264的直接使用PowerDVD的H.264解码器可以直接开启硬件加速。然后点右边的C,就可以进去对解码器进行调节。USE DxVA的选项勾上即打开硬件加速。



  完美解码的话设置相对简单,只要H.264这一项选中Cyberlink(DxVA)即可。当然分离器最好还是选择Haali。此外,有必要介绍一下CoreAVC这个软解H.264的软件,它是公认H.264画面以及设置比较都优秀的解码器,尽管它只是软件运算,但是拥有比FFSHADOW更低的CPU占用率,成为了软解解码器的首选。


第27页:KMPlayer播放器设置VC-1硬解指南

  VC-1/WMV HD的情况比较复杂,首先KMPlayer要选用比较新版的,自从2.9.3.1288之后开始增加对VC-1/WMV HD选项,令KMP硬解VC-1不再是梦想。
不过首先我们要确定的是要安装了WMP11,或者WMP11里自带的解码器wmfdist-11.exe这个文件。这个解码器安装了之后,就可以在KMP里调用。

  不过在KMP里是无法对WMVideo解码器进行设置的,我们得利用一个设置程序WMV PowerToy.exe对WMVideo解码器进行设置。
  详细设置如下,即可开启VC-1加速。在最后一项是关于画质的,开启强力deblocking以及柔化色块会加重一些系统负担,但对画面有利,建议机器好的朋友这样设置。



值得注意的是,终极解码并没有为VC-1提供任何设置,所以也无法设置。


第28页:KMPlayer播放器设置MPEG2硬解指南

  MPEG2的硬解则仁者见仁智者见智,可以说哪怕是很老的显卡都支持MPEG2加速(只要符合DXVA标准),但是大多数人的CPU都可以流畅的软解MPEG2,所以是否需要硬解就要看大家的喜好了。
  MPEG2的硬解比较有趣,不管是NVIDIA的显卡还是ATI或者是INTEL的显卡,都需要调用NVIDIA Video Decoder。
KMP的设置一如往常。




  右键打开其属性后显示其内容。

  完美解码的设置还是一如往常的方便,不过要注意的是要选择NVIDIA,而不要选择NVIDIA(VPP),因为选中了NVIDIA(VPP)之后会对DVD片源进行实时IVTC渲染,画面质量会提高一个档次,不过同时也会失去硬件加速,这点一定要注意。


第29页:如何确认自己已经打开硬加速(上)

  不同软件有不同的检测方法,不过不管如何开启硬件加速最大的好处就是降低CPU占有率,所以我们可以直接在CPU占用率里查看,对于有着明显效果的,一眼就能看出来了,如下图。我们使用Perfmon查看量化的CPU查用率,比Windows任务管理器查看更加直观。



第30页:如何确认自己已经打开硬加速(下)

  在KMP里稍微复杂一些,首先要打开右键——滤镜——高级播放信息。

  在确保硬件加速被开启的过程中,我们第一步要检查的就是解码器是否被正确调用。
  我们看到这里会显示所有几乎我们想要的信息。首先是各滤镜的调用信息,然后还有视频/音频解码器信息。


  解码器被正确调用之后,并且对解码器的设置也正确之后,就会出现DXVA的字样,代表显卡硬件加速已经打开。不论是何片源,只要DXVA出现就代表硬件解码被打开。



没有评论: