MP3解码算法原理.pdf

MP3解码算法原理.pdf

ID:51494959

大小:505.26 KB

页数:17页

时间:2020-03-25

MP3解码算法原理.pdf_第1页
MP3解码算法原理.pdf_第2页
MP3解码算法原理.pdf_第3页
MP3解码算法原理.pdf_第4页
MP3解码算法原理.pdf_第5页
资源描述:

《MP3解码算法原理.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1、程序系统结构mp3解码流程图其中同步及差错检查包括了头解码模块在主控模块开始运行后,主控模块将比特流的数据缓冲区交给同步及差错检查模块,此模块包含两个功能,即头信息解码及帧边信息解码,根据它们的信息进行尺度因子解码及哈夫曼解码,得出的结果经过逆量化,立体声解码,混淆缩减,IMDCT,频率反转,合成多相滤波这几个模块之后,得出左右声道的PCM码流,再由主控模块将其放入输出缓冲区输出到声音播放设备。2、主控模块主控模块的主要任务是操作输入输出缓冲区,调用其它各模块协同工作。其中,输入输出缓冲区均由DSP控制模块提供接口。输入缓冲区中放的数据为

2、原始mp3压缩数据流,DSP控制模块每次给出大于最大可能帧长度的一块缓冲区,这块缓冲区与上次解帧完后的数据(必然小于一帧)连接在一起,构成新的缓冲区。输出缓冲区中将存放的数据为解码出来的PCM数据,代表了声音的振幅。它由一块固定长度的缓冲区构成,通过调用DSP控制模块的接口函数,得到头指针,在完成输出缓冲区的填充后,调用中断处理输出至I2S接口所连接的音频ADC芯片(立体声音频DAC和DirectDrive耳机放大器)输出模拟声音。3、同步及差错检测同步及差错检测模块主要用于找出数据帧在比特流中的位置,并对以此位置开始的帧头、CRC校验码及帧

3、边信息进行解码,这些解码的结果用于后继的尺度因子解码模块和哈夫曼解码模块。Mpeg1layer3的流的主数据格式见下图:主数据的组织结构图其中granule0和granule1表示在一帧里面的粒度组1和粒度组2,channel0和channel1表示在一个粒度组里面的两个通道,scalefactor为尺度因子quantizedvalue为量化后的哈夫曼编码值,它分为bigvalues大值区和count11值区CRC校验:表达式为X16+X15+X2+13.1帧同步帧同步目的在于找出帧头在比特流中的位置,ISO1172-3规定,MPEG1的帧头

4、为12比特的“111111111111”,且相邻的两个帧头隔有等间距的字节数,这个字节数可由下式算出:N=144*比特率/采样率如果这个式子的结果不是整数,那么就需要用到一个叫填充位的参数,表示间距为N+1。3.2头信息解码头信息解码目的是找出这一帧的特征信息,如采样率,是否受保护,是否有填充位等。头信息见下图:帧头信息结构图其长度为4字节,数据结构如下:typedefstructtagHeader{unsignedintsync:11;//同步信息unsignedintversion:2;//版本unsignedintlayer:2;//层

5、unsignedinterror2protection:1;//CRC校正unsignedintbit2rate2index:4;//位率索引unsignedintsample2rate2index:2;//采样率索引unsignedintpadding:1;//空白字unsignedintextension:1;//私有标志unsignedintchannel2mode:2;//立体声模式unsignedintmodeextension:2;//保留unsignedintcopyright:1;//版权标志unsignedintorigin

6、al:1;//原始媒体unsignedintemphasis:2;//强调方式}HEADER3.3帧边信息解码帧边信息解码的主要目的在于找出解这帧的各个参数,包括主数据开始位置,尺度因子长度等。帧边信息如下图所示:帧边信息(side_infomation)表3.4main_data_beginmain_data_begin(主数据开始)是一个偏移值,指出主数据是在同步字之前多少个字节开始。需要注意的是,1.帧头不一定是一帧的开始,帧头CRC校验字和帧边信息在帧数据中是滑动的。2.这个数值忽略帧头和帧边信息的存在,如果main_data_beg

7、in=0,则主数据从帧边信息的下一个字节开始。参见下图:同步示意图3.5block_typeblock_type指出如下三种块类型:block_type=0长块block_type=1开始块block_type=3结束块block_type=2短块在编码过程中进行IMDCT变换时,针对不同信号为同时得到较好的时域和频域分辨率定义了两种不同的块长:长块的块长为18个样本,短块的块长为6个样本。这使得长块对于平稳的声音信号可以得到更高的频率分辨率,而短块对跳变信号可以得到更高的时域分辨率。由于在短块模式下,3个短块代替1个长块,而短块的大小恰好是

8、一个长块的1/3,所以IMDCT的样本数不受块长的影响。对于给定的一帧声音信号,IMDCT可以全部使用长块或全部使用短块,也可以长短块混合使用。因为低频区的频域分辨

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。