欢迎来到天天文库
浏览记录
ID:11269107
大小:100.11 KB
页数:62页
时间:2018-07-11
《mp3解码算法流程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Mp3解码算法流程第1章 声明本文档版权归属于西安交通大学人工智能与机器人研究所 作者:李国辉 ghli@aiar.xjtu.edu.cn第2章 Mp3解码算法流程 MP3的全称为MPEG1Layer-3音频文件,MPEG音频文件是MPEG1标准中的声音部分,也叫MPEG音频层,它根据压缩质量和编码复杂程度划分为三层,即Layer1、Layer2、Layer3,且分别对应MP1、MP2、MP3这三种声音文件,并根据不同的用途,使用不同层次的编码。MPEG音频编码的层次越高,编码器越复杂,压缩率也越高,MP1和MP2的压缩率分别为4:1和6:1-8:1,而M
2、P3的压缩率则高达10:1-12:1。一分钟CD音质的音乐,未经压缩需要10MB的存储空间,而经过MP3压缩编码后只有1MB左右。不过MP3对音频信号采用的是有损压缩方式,为了降低声音失真度,MP3采取了“心理声学模型”,即编码时先对音频文件进行频谱分析,然后再根据心理声学模型把谱线分成若干个阈值分区,并计算每个阈值分区的阈值,接着通过量化和熵编码对每个谱线进行编码,最后形成具有较高压缩比的MP3文件,并使压缩后的文件在回放时能够达到比较接近原音源的声音效果。2.1.Mp3文件格式 MP3文件以一帧为一个编码单元,各帧编码数据是独立的。为了清晰而准确地描述mp3文件格
3、式,下面采用位流语法描述,这种语法格式与c语言近似,易于理解,且描述清晰。其中粗体表示码流中的数据项,bslbf代表位串,即“Bitstring,leftbitfirst”,uimsbf代表无符号整数,即”unsingedinteger,mostsignificantbitfirst”,数字表示该数据项所占的比特数。2.1.1. AudioSequenceaudiosequence() { while(true) { frame() } }2.1.2. AudioFrameframe(){ header() error_
4、check() audio_data() ancillary_data()}2.1.3. Headerheader(){ syncword 12 bslbf ID 1 bslbf
5、 layer 2 bslbf protection_bit 1 bslbf bitrate_index
6、 4 bslbf sampling_frequency 2 bslbf padding_bit 1 bslbf private_bit
7、 1 bslbf mode 2 bslbf mode_extension 2 bslbf c
此文档下载收益归作者所有