MP3解码算法分析——MP3帧头(Frame Header)数据结构描述

本文详细分析了MP3文件中帧头的数据结构及其各项属性的作用,包括同步块、MPEG版本、层、保护位、比特率、采样频率、补齐位、声道模式、版权位、原始位、强调位等,解释了如何根据这些属性理解MP3文件的编码方式和播放特性。
 MP3解码算法分析(2)——MP3帧头(Frame Header)数据结构描述  
 


 

1. 帧头(Frame Header)数据结构描述
     A    B C     D    E       F    G   H    I       J       K    L    M    AudioData
     12   1 2     1    4       2    1   1    2       2       1    1    2
     Sync ID Layer Prot BitRate Freq Pad Priv Channel ModeExt Copy Home Emph AudioData

     位置作用                                                长度(Bits)
     ---- -------------------------------------------------- ----------
     A     帧同步                                              12 20-31
     B     MPEG 音频版本(MPEG-1, 2 等)                         1   19
     C     MPEG 层(Layer I, II, III 等)                        2   17-18
     D     保护(On/Off, 如果开,校验和附在头后)                1   16
     E     比特绿索引(查找表用于说明本 MPEG 版本和层的比特率) 4   12-15
     F     采样率频率(44.1kHz 等,由查找表决定)                2   10-11
     G     补齐位(On/Off, 是否对未填满的帧进行补齐)            1   9
     H     保留位(On/Off, 允许特定应用触发)                    1   8
     I     声道模式(立体声,联合立体声,双声道、单声道)        2   6-7
     J     扩展模式(只用于联合立体声,以联合声道数据)          2   4-5
     K     版权(On/Off)                                        1   3
     L     原始(On/Off, Off 表示复制版,On 表示原创)           1   2
     M     强调(尊重强调原始录制,现基本废弃)                  2   0-1
     ---   -------------------------------------------------- ----------
     Table 2-1: MP3 文件中十三个帧头属性

2. 32 位帧头(Frame Header)
   跟随同步块之后的是 ID 双位,它指明该帧是 MPEG-1/MPEG-2 编码; 之后是层 Layer 双位,它决定了该帧
   是 Layer I/II/III;如果没设保护位(Prot),一个 16bit 的校验和会插在音频数据之前。

   比特率域,自然地就是指当前帧的比特率(如 128kbps);之后是采样频率(从16,000Hz 到 44,100Hz, 取决于
   当前使用的是 MPEG-1 还是 MPEG-2)。 补齐位用于确认每帧是否严格按比特率对齐, 例如,一个 128 kbps
   Layer II 的比特率采样率为 44.1kHz 的情况下,某些帧会以 417 bytes 和 418 结束,417 byte 的帧将设
   定补齐位(1),以补偿差异。

   声道模式域可设定帧为立体声/单声道/混合立体声等模式,如果设定为联合立体声, 还可进一步设定扩展模
   式,以让解码器知道如何处理它们,即:高频部分是否已经结合进各声道。

   版权位并不装载版权信息(明显,因为它只有一个比特), 其实更像是在模仿 CD 或 DAT 上的版权位。 如果

   设定该位,拷贝该声道是严格讲是违法的(一些好的程序会给你警告)。 如果数据是从原始媒体上发现的,

   原始位将被设置,“保留位Priv” 用以说明特定的应用触发用户事件。

   “强调位 Emphasis”用作一个标志, 在原始录制时加一个强调位,该位几乎不被使用, 尽管一些录制程序

   确实仍在使用它。

   最后,解码器移动过“校验和”部位 (如果它存在), 到达实际的音频数据帧, 并开始处理,循环往复。每

   个音频文件都有成千上万帧。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值