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

上传人:油条 文档编号:39814943 上传时间:2018-05-20 格式:DOC 页数:3 大小:29.50KB
返回 下载 相关 举报
基于定点DSP的MP3间频编码算法研究及实现_第1页
第1页 / 共3页
基于定点DSP的MP3间频编码算法研究及实现_第2页
第2页 / 共3页
基于定点DSP的MP3间频编码算法研究及实现_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于定点DSP的MP3间频编码算法研究及实现》由会员分享,可在线阅读,更多相关《基于定点DSP的MP3间频编码算法研究及实现(3页珍藏版)》请在金锄头文库上搜索。

1、中国搜课网 http:/ 课件 教案 试题 论文 图书 中考 高考 新课标中国搜课网 http:/ 提供中小学全科课件、教案、论文、中高考试题、新课标资源、电子图书搜索与下载服务。基于定点 DSP 的 MP3 间频编码算法研究及实现 摘要:通过对心理声学模型的简化,并在子带滤波器和量化编码模块采用快速算法,大大 降低了运算量,在一片 100MIPS 的定点 DSP 上实现了实时压缩。关键词:音频编码掩蔽阈值心理声学模分析子带滤波器 MP3 是 MPEG-1 国际标准中音频压缩层 3 的简称,单声道比特率一般取 64kbps,在采样率 44.1kHz 的情况下,其压缩比可达 12 倍以上,被广泛

2、应用于互联网等许多场合。由于解码 比编码过程简单很多,MP3 播放机或随身听已随处可见,但 MP3 编码在单片机定点 DSP 上实现,并要保证音质,则鲜有耳闻。考虑到心理声学模型在整个 MP3 音频编码算法中所 占比例巨大,笔者从简化该模型入手,采用快速算法减少了带编码的运算量和数据量,尽 可能少量化编码的迭代循环次数,从而在一片美国德州仪器公司的 TMS320C549 芯片上实 现了 MP3 的实时压缩,用标准解码软件回放,主观评定,对于通常的音频能达到接近 CD 的音质。1MP3 编码算法及处理 图 1 是 MP3 编码器的系统方框图。每声道以 1152 个采样值为一帧进行处理。首先,分析

3、 子带滤波器采用正交镜像滤波器组,将 20kHz 左右带宽的信号划分成相等带宽的 32 个子 带。然后对子样值作 MDCT 以补偿子带滤波的不足,主要是为提高频率分辨率、消除由子 带滤波引起的带间混迭。 同时采样值通过心理声学模型计算出各频带的掩蔽阈值。 失真控制循环和非归一化量化控制循环是量化编码循环过程,它通过量化减少各 MDCT 系 数的精度,使编码比特数得以降低。不同系数采用不同的量化阶,从耳敏感的频率量化精 度高,不敏感的频率量化精度低,量化误差则不会被人耳察觉。选择量化阶的依据就是心 理声学模型计算出的掩蔽阀值。最后将量化阶等信息以及霍夫曼码打包成比特流,供解码用。 那么为什么掩蔽

4、阈值能反映人耳的听觉特点呢? 人耳的听觉特性涉及生理声学和心理声学方面的问题。例如人耳对不同频率的声音感觉不 同就是生理方面的问题,其中对 2kHz4kHz 的声音最敏感,且低频较高频敏感。敏感程 度具体体现为静态掩蔽阈值,如图 2 虚线所示,表示在安静的情况下,各种频率的声音刚 好被听到的音量。与人的心理知觉有关的有掩蔽效应等。掩蔽效应指一个声音的听觉感受 受到另一个声音影响的现象,分为时间掩蔽(前向、后向掩蔽)和频率掩蔽(同时掩蔽) 。 例如,当一个较强的声音停止后,要过一会儿才能听到另一个较强的声音,这就是时间掩 蔽效应。频率掩蔽是指一个声音对与其同时存在的临近频率的声音产生的影响,如图

5、 2 实 线所示。其中标志 1 的实线表示:当 1kHz 的掩蔽声音为 60dB 时,不同频率的声音刚好被 听到的分贝值,可见越临近频率被掩蔽得越厉害,且低频更易掩蔽高频。 因此心理声学模型就先用 FFT 分析信号中包含的频率分量,将每个频率处受到其他所有频 率分量掩蔽的值加起来,连线得到的曲线就是掩蔽阈值,是频率的函数。当某频率分量的 能量处曲线下方时,不能被人耳感觉到,则该频率分量可用零比特编码;另一方面,选择 量化阶时若能保证量化噪声低于掩蔽曲线,也不被人耳察觉,所以掩蔽值越大的频率分量 量化阶可以越大。因此用掩蔽阈值作为量化编码的依据,就能够信证压缩后的声音质量。 由于声音信号随时间改

6、变,因此每帧信号都要计算两次心理声学模型,其中要用到大量的 实验测试数据,运算量之在是可想而知的。 2 算法的简化和优化中国搜课网 http:/ 课件 教案 试题 论文 图书 中考 高考 新课标中国搜课网 http:/ 提供中小学全科课件、教案、论文、中高考试题、新课标资源、电子图书搜索与下载服务。2.1 分析子带滤波器的快速算法 分析子带滤波器的输入是 32 个采样值,输出是 32 个频率等间隔的子带样值。它首先将 32 个采样值放入一个长度 512 的先进先出(FIFO)缓存;对该缓存加窗;然后 512 个缓存中 每 8 个值累加,转换成 64 个中间值;最后通过(1)或将 64 个中间值

7、变换成 32 个采样值:寻找快速算法的关键就是这最后一步。将系数设数组:可以发现该数组具有如下的对称性:c16+n=c16-n,n=0,1,,16 (3) c48+n=-c48-n,n=0,1,,15 (4) 所以合并系数相等或相反的项, (1)式变成:其中,可见用(5)式代替(1)式可以减少一半的乘法运算。又发现(5)式和标准的 IDCT 非常 相似,可以将 Lee 提出的快速 IDCT 算法稍加改动推导(5)式的快速算法。所以又将 32 点变换分解成以下的两个 16 点变换:其中,最终的子带样值是如下的蝶形组合: XK=Xek+(1/cos(2k+1)/64Xok,k=0,1,,15(11

8、)X31-k=Xek-(1/cos(2k+1)/64)Xok,k=0,1,,15(12) 直接计算(1)式需要 6432 次乘法和 6332 次加法,采用快速算法需16162+162 次乘法和 15162+162+31+15 次加法,运算量原来的 1/4,而且数据 表格所占用的存储空间也减少为原来的 1/8 左右。 2.2 心理声学模型的简化 根据试验观察发现每帧的掩蔽阈值曲线大致相同,所以考虑采用静态声学心理模型,具体 做法是:首先对某一具有代表性的音频帧,根据心理声学模型计算出掩蔽阈值曲线,在压 缩其它音频源时,不再计算每帧的心理声学模型,而是认为每帧信号与上述被分析过的代 表帧具有相同的

9、掩蔽特性。这样,虽然不是很准确,但通常情况下,误差不会太大,不易 被人耳察觉,省去心理学模型需的巨大运算量和存储空间。实践证明编码效果令人满意, 而且对于要求不是很高的应用场合,可以认为掩蔽阈值是频率的常数函数,每个频带采用 相同的量化阶,也听不出声音质量的明显下降。 2.3 量化编码迭代循环的简化 量化编码迭代是两重循环过程,图 3 是外迭代循环流图,迭代的目的是在可用比特数的限 制之内,以各频带的掩蔽值为依据,确定全局增益(体现了全局量化阶)和各频带的缩放 因子(体现了局部量化阶) 。内循环逐步增加量化器步长,即全局增益,直到 MDCT 系数 量化后可被可用比特进行霍夫曼编码,即通过增加全

10、局量化阶以降低编码比特数;外循环 依据掩蔽阈值检测各缩放因子带的失真,若超过允许失真,则扩大该带的 MDCT 系数,即 增大该带的缩放因子,以降低局部失真;最后一次迭代的结果作为最终的霍夫曼码。每一 次循环都要用当前量化阶量化并霍夫曼编码一次,运算量相当大。从外循环可以看出掩蔽中国搜课网 http:/ 课件 教案 试题 论文 图书 中考 高考 新课标中国搜课网 http:/ 提供中小学全科课件、教案、论文、中高考试题、新课标资源、电子图书搜索与下载服务。阈值最终决定缩放因子,为了能省去外控代循环,将代表帧的缩放因子作成表格,供每帧 采用。 由于上述三个模块是最主要并且运算量最大的模块,通过对它

11、们的简化和优化,程序大小 和运算量可得到极大的减少。 3 用定点 DSP 实现 MP3 压缩算法 为了实现 MP3 的实时编码,必须采用高速 DSP 芯片。采用美国德州仪器(TI)公司的主 流定点 DSP 芯片 TMS320C549,其运算速度 100MIPS,调试开发的环境是 TI 公司的第三 方 SpectrumDigital 公司的 EVM 评估板,板上除了 TMS320C549 自带 32K 字片上内存外, 还有 128K 字片外内存,数模转换采用 TI 的 TLC320AD55,与 PC 机通过 JTAG 口实现数 据与程序的加载和调试。 由于评估板与主机的接口速度太慢,即使能做到实

12、时压缩,将比特流传给 PC 机存盘的速 度也会跟不上。因此笔者采用的办法是:将原始 PCM 音频数据从 PC 机的硬盘文件加载到 板上的片外内存,压缩后的数据传给 PC 机存盘,再加载后续文件,压缩存盘,直到整个 音频文件全部压缩完,最后用 C 语言程序将各数据块拼成 MP3 文件,用软件解码程序回 放。是否能达到实时要求只能通过测试每帧运行的指令数判断。 在运用快速算法计算子带分析滤波器时,考虑到 DSP 芯片的特点,每分解一次,要作一次 加(10)式的加法,势必降低精度,另外(11)和(12)式的系数动态范围太大,精度也 会受到影响,因此,只分解到 16 点 DCT 运算。 采用静态心理声

13、学模型,心理声学模型和量化编码外循环所需的运算量就为零。代表帧的 心理声学模型和缩放因子采用 C 语言或 MATLAB 语言编程计算,或者将网上下载 MP3 文 件中的缩放因子信息破译出来加以利用,子带分析滤波器之后的 MDCT 全部采用长块。表 1 是静态缩放因子比特数和缩放因子的一种设置方案。表 1 缩放因子数据表格缩放因子带 01234567891011121314151617181920 缩放因子比特数 333333333333333333333 缩放因子 110011453753030107503 另外在内循环中,首先初步选择一个全局增益使最大量化值小于码表可编码的最大值,标 准推荐

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

15、量仅需 74MIPS 左右,片上 存储空间占用 27K 字左右。用标准的 MP3 回放软件解码,通过主观测评,音质接收 CD。 由于本系统对心理声学模型进行了大量的简化,对于一般的音乐,这种简化带来的声音质 量的下降并不明显,尤其是在要求不高的应用场合完全可行。但是当应用到某些编码难度 较高的音频信号,例如响板时,声音质量下降较明显。因此如果采用更高运算速度的 DSP,可在该编码系统中加入一个完备的或简化的动态心理声学模型,编码质量可进一步 提高,至于简化的动态心理声学模型还有待进一步摸索。 基于定点 DSP 的 MP3 间频编码 算法研究及实现一文由中国搜课网搜集整理,版权归作者所有,转载请注明出处!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号