织梦CMS - 轻松建站从此开始!

罗索

fpFLAC 支持SSE4 FLAC编码器与支持CUDA FLAC编码器速度测试

落鹤生 发布于 2013-07-18 09:55 点击:次 
今天我们来看一下这两项技术在音频编码方面的应用,虽然音频编码复杂程度和文件的数据流量都要比视频小得多,这也是为什么在这些新技术如此晚的应用 于音频编码的原因。这里推荐两个编码器,一款是支持64bit Windows系统,并支持SSE2和SSE4.1多媒体指令集加速的FLAC编码
TAG:

在PC应用中,CPU和GPU的新技术近年来大多服务于视频和音频的多媒体应用,而更多可能偏重于视频一些,如果大家熟悉Intel在2008年发 布45nm处理器时加入的SSE4.1新多媒体指令集,那么应该知道Penryn 45nm家族的引擎和指令集优化都对视频编码非常有利,至少Intel是这么宣传这么说的。而在NVIDIA GPU并行计算在高性能计算端得到很多应用的同时,它在个人电脑上的应用最大表现也在视频处理方面,而视频编码也是重要的一项。

今天我们来看一下这两项技术在音频编码方面的应用,虽然音频编码复杂程度和文件的数据流量都要比视频小得多,这也是为什么在这些新技术如此晚的应用 于音频编码的原因。这里推荐两个编码器,一款是支持64bit Windows系统,并支持SSE2和SSE4.1多媒体指令集加速的FLAC编码器fpflac;另一款是支持NVIDIA CUDA架构GPU加速的FLAC编码器FlaCuda编码器。

首先说一下,目前SSE4.1和 CUDA硬件支持情况。Intel 酷睿2 E7000以上系列的CPU(E7000、E8000、Q8000、Q9000、i5、i7)是全部支持SSE4.1的;支持CUDA架构的GPU,是 NVIDIA GeForce8系列所有GPU(包括主板整合)、GeForce9、GT100/200所有显卡均支持,值得注意的是GPU利用多个流处理器并行计算的 方式,所以编码性能好坏与流处理器工作频率以及流处理器个数均有很大关系。

fpFLAC编码器介绍与使用

fpFLAC编码器制作者曾经发布过fpMP3编码器,它也是较为流行的基于LAME编码器开发,能够很好的支持多核心CPU的一款MP3编码器,同时 fpFLAC的老版本也是一款可以很好支持多核CPU的编码器,此次新版本开始支持SSE4.1多媒体指令集,同时有64位版本。从我们提供的链接上,大 家可以下载到相关软件,软件内有一个英文的Readme,写的较为详细,我们把重要的几点做以下总结。
首先,下载的压缩包解压后并不是说明中所说的安装包,其实软件也并不用安装,只是选择一下使用Win32的文件夹还是Win64的,打开这两个文件 夹,..\win64\sse2(sse4),可以看到SSE4和SSE2的文件夹,打开后拷贝里面的 dll文件到..\win64这一层目录中,覆盖原有的dll。这款编码器同样是与FLAC”官方“编码器定义相同的,在编码级别上支持0-8级的不同等 级,8级编码后文件尺寸最小计算最复杂。

编码器的作者为用户设计好了一个bat文件,在Windows的命令窗口下执行这个BAT即可,BAT内默认FLAC的级别是5,也可以通过编辑BAT来改变这个级别。

FlaCuda编码器介绍与使用

NVIDIA CUDA是GeForce 8以后,NVIDIA提出的用GPU进行并行计算的一个架构,对于我们来说可以认为是显卡加速。之前,GPU加速在视频编码方面表现的非常好,而在 Lame的CUDA版上表现极为一般,这与音频编码中算法有很大关系,不过我们目前只有一款显卡,所以不对其效率进行测评,只是来谈一下应用和看看它大概 水平。我们使用GeForce GT240显卡,拥有96个流处理器,流处理器工作频率是1340MHz。

使用时可以直接在Windows的命令窗口下执行编码器的exe文件,其中有两个参数比较重要,在exe后直接可以加-0...11的参数,这个 FLAC编码器将文件压缩分为了11个级别,与原始FLAC编码器似乎有较大差别。另外,在命令行最后要用-o<文件名>的方式来写上输出文 件的名字。其他高级参数我们目前不太清楚其用途。

 

从测试来看,我们选用了6张CD合成的一个WAV文件,总时长达到了6小时36分39秒,下表可以看到我们整个测试编码锁消耗的时间。与FLAC原 始编码器相比速度都有很大提升,原始编码器完成这段编码的时间是163秒(默认等级5,不支持多核心CPU)。使用500-600元级别的GT240显 卡,在基本不占用CPU的情况下,可以达到的速度虽然不如高频率的4核心CPU快,但与主流双核CPU相比肯定有明显优势,同时CUDA的FLAC编码器 5级的文件要比fpFLAC最高8级的文件更小对应时间更短得多。当然,使用酷睿2四核心Q9550 2.83GHz的CPU在默认等级下编码速度是最快的,不过,我们发现在支持SSE4.1的CPU上似乎无法测试SSE2加速的情,当然也不排除SSE2 和SSE4差别很小的情况。

目前这两款编码器都基于命令行窗口模式运行,对于普通用户来说操作还不够方便。不过我们可以看到,无论是CPU的多媒体指令集还是GPU的并行计算,已经在音频编码上带来了很大的提速。

 

(赵宇为)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201307/16699.html]
本文出处:soomal 作者:赵宇为 原文
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容