电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者维修技术维修教程知识电子制作基于定点DSP的MP3音频编码算法研究及实现

基于定点DSP的MP3音频编码算法研究及实现

09-08 12:12:43 | http://www.5idzw.com | 电子制作 | 人气:623
标签:电子小制作,http://www.5idzw.com 基于定点DSP的MP3音频编码算法研究及实现,http://www.5idzw.com

由于上述三个模块是最主要并且运算量最大的模块,通过对它们的简化和优化,程序的大小和运算量可得到极大的减少。

3用定点DSP实现MP3压缩算法 

为了实现MP3的实时编码,必须采用高速DSP芯片。采用美国德州仪器(T1)公司的主流定点DSP芯片TMS320C549,其运算速度是 100MIPS,调试开发的环境是TI公司的第三方Spectrum Digital公司的EVM评估板,板上除了TMS320C549自带的32K字片上内存外,还有128K字片外内存,数模转换采用TI的 TLC320AD55,与PC机通过JTAG口实现数据与程序的加载和调试。

    由于评估板与主机的接口速度太慢,即使能做到实时压缩,将比特流传给PC机存盘的速度也会跟不上。因此笔者采用的办法是:将原始PCM音频数据从PC机的硬盘文件加载到板上的片外内存,压缩后的数据传给PC机存盘,再加载后续文件,压缩存盘,直到整个音频文件全部压缩完,最后用C语言程序将各数据块拼成 MP3文件,用软件解码程序回放。是否能达到实时要求只能通过测试每帧运行的指令数判断。

    在运用快速算法计算子带分析滤波器时,考虑到DSP芯片的特点,每分解一次,要作一次如(10)式的加法,势必降低精度,另外(11)和(12)式的系数动态范围太大,精度也会受到影响,因此,只分解到16点DCT运算。

采用静态心理声学模型,心理声学模型和量化编码外循环所需的运算量就为零。代表帧的心理声学模型和缩放因子采用C语言或MATLAB语言编程计算,或者将网上下载的MP3文件中的缩放因子信息破译出来加以利用,子带分析滤波器之后的MDCT全部采用长块。表1是静态缩放因子比特数和缩放因子的一种设置方案。

    另外在内循环中,首先初步选择一个全局增益使最大量化值小于码表可编码的最大值,标准推荐的作法是全局增益从小开始,每循环一次量化后,比较最大量化值,并调整一次全局增益,直到满足要求为止。本程序省去了这一循环,事先根据最大谱线值计算出应有的全局增益,作成数据表格,程序中只需根据最大谱线值查表即可。初始化全局增益确定后,要分区、量化、编码并计算编码比特数,如果比特数太大或太小都还要调整全局增益。对这一迭代循环过程,采用折牛搜索的办法实现,也就是说第一次循环时全局增益取上述初始化值的一半,若编码比特数超出要求,则再取一半作为新的全局增益,否则增大一半,如此不断循环直到无法折半为止。这种折半搜索的方法比逐一搜索要快很多。

    采用了这些简化、优化措施以及编程技巧,整个编码程序运算量仅需75MIPS左右,片上存储空间占用27K字左右。用标准的MP3回放软件解码,通过主观测评,音质接近CD。

    由于本系统对心理声学模型进行了大量的简化,对于一般的音乐,这种简化带来的声音质量的下降并不明显,尤其是在要求不高的应用场合完全可行。但是当应用到某些编码难度较高的音频信号,例如响板时,声音质量下降较明显。因此如果采用更高运算速度的DSP,可在该编码系统中加入一个完备的或简化的动态心理声学模型,编码质量可进一步提高,至于简化的动态心理声学模型还有待进一步摸索。

参考文献 

1 Draft International Standard ISO/IEC CD 11172—3.1992

2王剑虹,吴海华,陈健.MPEG音频解码中子带合成滤波器的快速算法及定点DSP实现.上海交通大学学报,2000;34(6):761-764

3陈健,李力利,陈亚骏.MUSICAM算法仿真及DSP实现.上海交通大学学报,1997;31(1):74-78

4吴海华,王剑虹,陈健.用低价型DSP实现MP3解码.电声技术,1999,10:11-14

5 Byeong Gi Lee.FCT—A Fast Cosine Transform.ICASSP,  San Diego.Califonia,America,1984;10(2)

上一页  [1] [2] 

,基于定点DSP的MP3音频编码算法研究及实现
关于《基于定点DSP的MP3音频编码算法研究及实现》的更多文章