“硬解码”与“软解码”的区别

关于“硬解码”与“软解码”

忧蓝 发布于:  2010-08-02 11:03

     由于高清视频的分辨率远远高于一般格式视频,使得高清视频的码率非常高。再加上VC-1和H.264编码的压缩率很高,解码运算的运算量很大。因此常规地直接用CPU解码(即常说的“软解”)会极大地消耗CPU的运算能力,一些较老的CPU软解H.264时CPU占用率往往高达90%以上,更老的可能就放不动了。

    “硬解”是硬件解码的简称。简单而言,硬件解码就是通过显卡的视频加速功能对高清视频进行解码。因此硬解能够将CPU从繁重的视频解码运算中释放出来,使电脑具备流畅播放高清视频的能力。显卡的GPU/VPU要比CPU更适合这类大数据量的、低难度的重复工作。视频解码工作从处理器那里分离出来,交给显卡去做,这就叫做“硬解码”,例如NVIDIA的PureVideo、AMD的UVD技术等等。与之对应的,以前那种纯粹依靠CPU来的方式则是“软解码”。不过受到技术条件的限制,纯粹的“硬解码”在现阶段是不存在的,CPU依然在发挥一部分作用,只不过硬解码时GPU/VPU已经成为运算的主力。


谁更“好”?
    软解码是在显卡本身不支持或者部分不支持硬件解码的前提下,将解压高清编码的任务交给CPU,这是基于硬件配置本身达不到硬解压要求的前提下,属于一个折中的无奈之举。那这么说是不是软解压就一无是处了呢?不,这要是情况而定。对于一个不看、或者不经常看高清的用户而言,如果专门为很少用到的功能进行过多支出,那无疑是一种浪费;而在保证正常应用的前提下,还能在偶尔看一下高清的时候自己的电脑配置不至于播放不了,或者播放不流畅,那么这时候一颗性能不算太次的CPU就大有用武之地了,好在现在早已是双核,甚至多核CPU的时代,这个已经不是问题。总结软解码的好处,就是成本低廉,几乎不用二次投入,就可以享受高清带来的乐趣和震撼。

    硬解码的优势是不言而喻的,一款支持VC-1、H.264和MPEG-2格式硬件加速的显卡或者集成显卡主板是高清爱好者的上佳选择。由于解压缩的任务基本全部交给了显示芯片,CPU就可以如释重负,轻松上阵,承担更多的其他任务,这尤其对于经常需要多任务运行的用户更为重要,如果让他们使用CPU负担解压任务的同时,再运行3个QQ、2个UC,运行BT、迅雷等一大堆任务,这将是一件不可想象的事情,但是如果换成硬解压方案,这又是一件很轻松的事情,看看吧,差别就是这么大。不过硬解压也并不都是优点,它也有缺憾的,比如硬件的支出,其余配置基本相同的前提下,就会比软解压方案多一些,这对于配置预算很有限的用户来说更是一个摆在面前的实际问题。另外,多了一块独立显卡,就会增加功耗,尤其是像GTX 280、HD 4870之类的高端显卡,动不动就是上百瓦,另外还要牵扯到电源的功率是否可以应付、机箱的散热是否能达到要求等等,这些都更增加了用户的整体预算。

    列举了软解压和硬解压两者的优、劣,最终还是不好确定哪个好哪个坏,还是那句话,“适合的,就是最好的”。配机预算有限,只是偶尔欣赏一下高清的用户,使用软解压方案即可;而对于高清爱好者,同时兼顾大型3D游戏的用户,一款支持多种高清格式的主流显卡或者性能不算很弱的集成主板是他们的最终选择。


谁的播放效果更好?
    由于硬件解码尤其是全程解码是新推出的技术,所以在大部分人心目中硬件解码要比软件解码先进,因此在自己显卡支持硬件解码的情况下会千方百计地开启硬件解码设置。其实硬解解码并不是必须的,因为硬件解码的出现是当CPU性能不足以应付视频解码需求时的一种解决方案,主要作用是降低CPU占用率,如果在CPU能流畅播放高清视频硬解的作用也就不明显了。这里有人可能会说降低CPU占有率可以降低能耗,硬解确实可以降低CPU功耗,但是显卡的功耗是会增加的,而且就目前情况来看,显卡的功耗已经大幅超过CPU了,所以靠硬解来降低系统能耗是不太可能的。也有很多人而觉得让CPU处于空闲比较好,但是CPU占有率高就是电脑的使用率高,不然买这么贵的CPU就没有必要了。

从使用角度来讲的硬件解码则有三大缺点,一是画面质量比不上软件解码,根据测试表明,软解码画面质量明显优于早期显卡的硬件解码,与最新最强显卡硬件解码播放高清相比也略占上风;二是硬件解码需要播放软件中设置,且对字幕等支持不好;三是早期支持硬解码的显卡还存在着各种各样的小毛病。当然随着技术进步这些问题可能会得到解决,但是到时CPU的性能也就更高了,软解高清的能力也许就像现在软解DVD一样了。比如现在的9600GT除了新增的“动态对比度增强”和“色彩增强”这两项视频优化技术之外,NVIDIA还提供了“去交织”、“反锯齿”和“降噪”等高清视频最重要的画面后期处理技术,并且支持双视频流解码性能超强,但是Intel Core i7 性能也令人咋舌,可以在没有任何缓存或预处理措施的情况下即时处理总容量达到200GB,合计像素数为224万亿的RAW格式照片,估计播放HDTV根本就是小菜一碟。

    当然,硬件解码对CPU性能较差的人来说还是十分重要的。但是,并不是有硬件解码的显卡就一定要用的,在Core 2 Duo下使用MPlayer + CoreAVC播放高清时即使开启反交错等滤镜也可以流畅播放。在这种情况下其实并不需要硬解。是否需要使用硬解应该视情况而定,不需要一味求新,因为这些新的概念多数是硬件厂商的营销策略。

其实,画质孰好孰坏个人觉得还是审美角度的差异。还是一句话,适合自己的才是最好的。我们不管看电影还是电视,看的是情节,是内容而不是画质(当然画质音质要达到一定的水平),谁也不会在面前摆两台,一台硬解,一台软解,然后比较谁更好(专业人士除外),我们看电影是为了娱乐,而不是让电视来娱乐你。  

 
 
 
 

手机视频硬解码和软解码的区别

在手机评测视频播放能力的时候经常会提到“硬解码”和“软解码”,但是很多人不太明白是什么意思,其实问题很简单。大家都知道PC都有CPU和GPU(显卡),在手机上也是有CPU和GPU。

手机和电脑的区别主要在于电脑上的显卡是作为独立出来的一个重要部件而存在的,在手机上GPU和CPU的关系很紧密,在以前的智能机很多GPU的事都是由CPU来完成的,手机发展到如今已经有了独立的GPU。但是还是和CPU封装在一起的,由芯片开发商一起开发的。如今的高通骁龙800处理器采用的是Adreno 330 GPU,在视频和渲染方面有了极大的提升,已经难以置信的支持了4K视频的拍摄和播放。

硬解码:由显卡核心GPU来对高清视频进行解码工作,CPU占用率很低,画质效果比软解码略差一点,需要对播放器进行设置。

优点:播放流畅、低功耗

缺点:受视频格式限制、功耗大、画质没有软解码好

软解码:由CPU负责解码进行播放

优点:不受视频格式限制、画质略好于硬解

缺点:会占用过高的资源、对于高清视频可能没有硬解码流畅(主要看CPU的能力)

就好比两个人一样,一个人有一个袋子,一个人只能用手,在拿东西的时候有袋子的肯定会省力一些。但是在个别情况下袋子不方便装的话可能需要手直接拿着。

谁更好?

软解码是在显卡本身不支持或者部分不支持硬件解码的前提下,将解压高清编码的任务交给CPU,这是基于硬件配置本身达不到硬解压要求的前提下,属于一个折中的无奈之举。那这么说是不是软解压就一无是处了呢?不,这要是情况而定。对于一个不看、或者不经常看高清的用户而言,如果专门为很少用到的功能进行过多支出,那无疑是一种浪费;而在保证正常应用的前提下,还能在偶尔看一下高清的时候自己的电脑配置不至于播放不了,或者播放不流畅,那么这时候一颗性能不算太次的CPU就大有用武之地了,好在现在早已是双核,甚至多核CPU的时代,这个已经不是问题。总结软解码的好处,就是成本低廉,几乎不用二次投入,就可以享受高清带来的乐趣和震撼。
    所以硬解码软解码是相互相成的,没有电脑或者手机只有硬解码,也没有电脑或者手机只有软解码

你可能感兴趣的:(Android开发,硬件加速,视频流)