微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于C5000的音频解码系统设计

基于C5000的音频解码系统设计

时间:07-09 来源:互联网 点击:

解码软件由一个主函数控制,调度各个模块的有序运行。

解码软件的程序流程如图9所示。从图中我们可以看到对输入音频流解码先经过帧同步,读入同步头的信息,得到该MP3码流的采样频率、码流速率等参数,并记录现在所解码的MP3码流的帧数。然后获得粒度信息、主信息及定标因子,根据同步头中所得的MP3码流的压缩类型来读取信息,获得对应于各自颗粒中的各自通道的相关参数。

然后对一帧中的两个颗粒进行解码,首先是从比特流中获取每个颗粒对应的定标因子,并对每个颗粒下的数据进行哈夫曼解码,这个哈夫曼解码过程需要32个哈夫曼码表之一来进行解码,可以根据边带信息中含有每个颗粒选择码表的信息来进行选择。经过哈夫曼解码的数据,接下来要经过反量化取样,在这步中,各个子带的数据根据所使用窗的类型,利用在边带信息中获得的参数反量化。接下来就是重排序和立体声处理模块,在这个模块中根据MP3码流所采用的压缩类型来进行相应的处理。

这样当处理完一个颗粒中所有通道的数据后,就可以把这一颗粒已解码好的数据输出到输出缓冲区中,当把下一颗粒的数据解码完毕并输出后,这样一帧数据就解码完成。这帧数据就可以输入到D/A部分进行播放,并将输出缓冲区清空,等待下一帧的解码数据的输入。解码程序一直到在比特流中再也找不到一帧的同步头时,就完成了这一音频流的解码。

3 结束语

MP3解码算法比较复杂,并且市面上大部分便携式MP3播放器都采用的是硬件解码器,也就是采用专门的音频解码芯片来实现的,然而随着数字信号处理技术的飞速发展,使得采用通用数字信号处理器(DSP)实现这一解码算法成为可能,而且存性价比、低功耗和软件升级灵活性上都优于采用硬件解码方案的mp3播放器,成为未来MP3市场的发展方向。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top