当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]定点DSP的MP3间频编码算法研究

MP3是MPEG-1国际标准中音频压缩层3的简称,单声道比特率一般取64kbps,在采样率44.1kHz的情况下,其压缩比可达12倍以上,被广泛应用于互联网等许多场合。由于解码比编码过程简单很多,MP3播放机或随身听已随处可见,但MP3编码在单片机定点DSP上实现,并要保证音质,则鲜有耳闻。考虑到心理声学模型在整个MP3音频编码算法中所占比例巨大,笔者从简化该模型入手,采用快速算法减少了带编码的运算量和数据量,尽可能少量化编码的迭代循环次数,从而在一片美国德州仪器公司的TMS320C549芯片上实现了MP3的实时压缩,用标准解码软件回放,主观评定,对于通常的音频能达到接近CD的音质。

    
  寻找快速算法的关键就是这最后一步。将系数设数组:

  其中,   
  最终的子带样值是如下的蝶形组合: X[K]=Xe[k]+(1/cos[(2k+1)π/64]Xo[k],k=0,1,…,15 (11) X[31-k]=Xe[k]-(1/cos[(2k+1)π/64])Xo[k],k=0,1,…,15 (12)直接计算(1)式需要32次乘法和32次加法,采用快速算法需2次乘法和15次加法,运算量原来的1/4,而且数据表格所占用的存储空间也减少为原来的1/8左右。[!--empirenews.page--]2.2 心理声学模型的简化
  根据试验观察发现每帧的掩蔽阈值曲线大致相同,所以考虑采用静态声学心理模型,具体做法是:首先对某一具有代表性的音频帧, 

 


  根据心理声学模型计算出掩蔽阈值曲线,在压缩其它音频源时,不再计算每帧的心理声学模型,而是认为每帧信号与上述被分析过的代表帧具有相同的掩蔽特性。这样,虽然不是很准确,但通常情况下,误差不会太大,不易被人耳察觉,省去心理学模型需的巨大运算量和存储空间。实践证明编码效果令人满意,而且对于要求不是很高的应用场合,可以认为掩蔽阈值是频率的常数函数,每个频带采用相同的量化阶,也听不出声音质量的明显下降。
  2.3 量化编码迭代循环的简化
  量化编码迭代是两重循环过程,图3是外迭代循环流图,迭代的目的是在可用比特数的限制之内,以各频带的掩蔽值为依据,确定全局增益(体现了全局量化阶)和各频带的缩放因子(体现了局部量化阶)。内循环逐步增加量化器步长,即全局增益,直到MDCT系数量化后可被可用比特进行霍夫曼编码,即通过增加全局量化阶以降低编码比特数;外循环依据掩蔽阈值检测各缩放因子带的失真,若超过允许失真,则扩大该带的MDCT系数,即增大该带的缩放因子,以降低局部失真;最后一次迭代的结果作为最终的霍夫曼码。每一次循环都要用当前量化阶量化并霍夫曼编码一次,运算量相当大。从外循环可以看出掩蔽阈值最终决定缩放因子,为了能省去外控代循环,将代表帧的缩放因子作成表格,供每帧采用。由于上述三个模块是最主要并且运算量最大的模块,通过对它们的简化和优化,程序大小和运算量可得到极大的减少。
  3 用定点DSP实现MP3压缩算法
  为了实现MP3的实时编码,必须采用高速DSP芯片。采用美国德州仪器(TI)公司的主流定点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是静态缩放因子比特数和缩放因子的一种设置方案。表1 缩放因子数据表格 缩放因子带 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 缩放因子比特数 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 缩放因子 1 1 0 0 1 1 4 5 3 7 5 3 0 3 0 1 0 7 5 0 3 另外在内循环中,首先初步选择一个全局增益使最大量化值小于码表可编码的最大值,标准推荐的作法是全局增益从小开始,每循环一次量化后,比较最大量化值,并调整一次全局增益,直到满足要求为止。本程序省去了这一循环,事先根据最大谱线值计算出应有的全局增益,作成数据表格,程序中只需根据最大谱线值查表即可。初始化全局增益确定后,要分区、量化、编码并计算编码比特数,如果比特数太大或太小都还要调整全局增益。对这一迭代循环过程,采用折半搜索的办法实现,也就是说第一次循环时全局增益取上述初始化值的一半,若编码比特数超出要求,则再取一半作为新的全局增益,否则增大一半,如此不断循环直到无法折半为止。这种折半搜索的方法比逐一搜索要快很多。采用了这些简化、优化措施以及编程技巧,整个编码程序运算量仅需74MIPS左右,片上存储空间占用27K字左右。用标准的MP3回放软件解码,通过主观测评,音质接收CD。
  当应用到某些编码难度较高的音频信号,例如响板时,声音质量下降较明显。因此如果采用更高运算速度的DSP,可在该编码系统中加入一个完备的或简化的动态心理声学模型,编码质量可进一步提高,至于简化的动态心理声学模型还有待进一步摸索。


  

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭