第 1 章 声明...................................................................................................... 2
第 2 章
Mp3 解码算法流程.............................................................................. 3
2.1.
Mp3 文件格式...................................................................................... 3
2.1.1.
Audio Sequence ............................................................................. 3
2.1.2.
Audio Frame .................................................................................. 3
2.1.3.
Header............................................................................................ 4
2.1.4.
Error Check.................................................................................... 4
2.1.5.
Audio data , Layer III ..................................................................... 4
2.1.6.
Main_data ...................................................................................... 5
2.1.7.
Huffmancodebits ............................................................................ 6
2.1.8.
Ancillary data................................................................................. 7
2.2. 数据项的含义 ...................................................................................... 7
2.2.1.
Header............................................................................................ 7
2.2.2.
Error Check.................................................................................... 9
2.2.3.
Side information........................................................................... 10
2.3.
Mp3 解码算法所用的基本概念..........................................................11
2.3.1.
子带和缩放因子频带 ...................................................................11
2.3.2.
Huffman 码表的选择................................................................... 13
2.3.3.
huffman 码表的特点.................................................................... 14
2.3.4.
缩放因子(scalefactor).................................................................. 14
2.3.5.
节的长短块切换.......................................................................... 15
2.4.
mp3 解码具体流程............................................................................. 16
2.4.1. 预处理(Preprocessing)............................................................ 16
2.4.2.
Huffman decoding........................................................................ 16
2.4.3.
反量化(Requantization) .......................................................... 17
2.4.4.
重排序(Reordering) ................................................................ 17
2.4.5.
立体声解码(Stereo decoding)................................................. 17
2.4.6.
混叠消除(Alias reduction)...................................................... 18
2.4.7.
IMDCT 变换................................................................................ 18
2.4.8.
子带合成滤波(Synthesis filter bank)............................................ 19
第 3 章
libmad 解码程序源代码分析 ............................................................ 21
3.1.
码流读取............................................................................................ 21
3.2.
桢的同步............................................................................................ 22
3.3. 桢头解码............................................................................................ 25
3.4.
sideinfo 解码 ...................................................................................... 26
3.5.
main_data 的读取............................................................................... 27
3.6.
缩放因子解码 .................................................................................... 29
3.7.
huffman 解码...................................................................................... 31
3.8.
反量化(requantization) .................................................................. 34
3.9.
重排序(reordering) ........................................................................ 35
3.10.
IMDCT 变换 ...................................................................................... 37
3.11.
子带合成滤波(synthesis filter bank).............................................. 38
附录 A libmad 的交叉编译过程......................................................................... 44
第1章