显卡 频道

CUDA挑战SSE4? CPU/GPU视频编码详解

    说到视频编码,也许大家都会认为这种应用太小众,但我们却与之关系密切。从正版的电影发行媒体DVD、Blue-Ray或者HDDVD等等到我们下载的电影,其中大部分都经过了视频再编码的过程(BD 原盘镜像除外)。虽然这牵扯到版权问题,但不可否认,无论是MP4、IPOD、PSP、手机等各种随身设备播放的电影,还是DVDRip,BDRip,虽然对大家来说只是从网络下载,而制作的过程就是对它们进行的从原版片源再编码的过程。

     我们为什么觉得视频编码对PC应用来说过于小众,甚至不好用或根本没有用过。因为即便用目前中高端的PC机进行通常MP4需要的清晰度的视频编码速度仍很慢。而且,这一依赖CPU进行的工作,一般会给系统带来较大的负荷。更令人遗憾的是,即便Intel在酷睿2发布时花最大经历宣传的SSE4新指令集,专门为视频尤其是高清视频编码优化,但时隔2年支持SSE4的软件仍是屈指可数的DivX、SONY Vegas、Adobe premiere(加插件)和TMPGEnc四款。而最为常用的iTunes、Xvid Encoder以及一些个人开发的小软件,连多核心几乎都无法优化。显然,CPU的提升甚至SSE4的提出,对于视频编码软件开发者来说,没有太大兴趣。SSE4 最大70%的提速,对于耗时耗力的视频编码来说,对用户体验仍不能有质的改善。


Intel展示 SSE4对高清编码的提升,但注意对比对象CPU主频也提升了……

     而我们反观NVIDIA CUDA下开发的Badaboom,让我们看到了GPU强大的并行处理能力给视频编码带来3-5倍的速度提升。来自于Elemental Technologies, Inc.  这家小公司开发的基于GPU加速的Badaboom软件,它们甚至还推出了为Adobe premiere提供GPU加速的RapiHD插件。而来自日本的老牌软件TMPGEnc的开发公司PEGASYS也宣布即将推出新版本软件支持GPU加速。

新版本包装图,赫然带着CUDA标志
新版本包装图,赫然带着CUDA标志

     我们知道,NVIDIA在接手PhysX 3个月后实现在CUDA 2.0下开发的,利用GPU进行PhysX物理加速的驱动程序。而我们相信,Elemental 和 PEGASYS,使用CUDA让GPU进行视频编码的工作开发时间也不会比PhysX开发长太多。NVIDIA CUDA之父David Kirk曾无数次表示,基于CUDA的应用是非常简单的,而让GPU和CUDA很好为应用服务的关键在于程序并行化设计。显然,无论是PhysX还是Badaboom,以及TMPGEnc,它们本身已经做了充分的并行化设计,而转移至CUDA、GPU将非常方便。这与两年没有什么成果的SSE4多媒体指令集形成鲜明对比。

0
相关文章