MP3 文件格式
一.概述:
MP3 文件是由帧(frame)构成的,帧是 MP3 文件最小的组成单位。MP3 的全称应为 MPEG1 Layer-3 音频
文件,MPEG(Moving Picture Experts Group)在汉语中译为活动图像专家组,特指活动影音压缩标准,MPEG
音频文件是 MPEG1 标准中的声音部分,也叫 MPEG 音频层,它根据压缩质量和编码复杂程度划分为三层,即
Layer-1、Layer2、Layer3,且分别对应 MP1、MP2、MP3 这三种声音文件,并根据不同的用途,使用不同层
次的编码。MPEG 音频编码的层次越高,编码器越复杂,压缩率也越高,MP1 和 MP2 的压缩率分别为 4:1 和
6:1-8:1,而 MP3 的压缩率则高达 10:1-12:1,也就是说,一分钟 CD 音质的音乐,未经压缩需要 10MB
的存储空间,而经过 MP3 压缩编码后只有 1MB 左右。不过 MP3 对音频信号采用的是有损压缩方式,为了降
低声音失真度,MP3 采取了“感官编码技术”,即编码时先对音频文件进行频谱分析,然后用过滤器滤掉
噪音电平,接着通过量化的方式将剩下的每一位打散排列,最后形成具有较高压缩比的 MP3 文件,并使压
缩后的文件在回放时能够达到比较接近原音源的声音效果。
二.整个 MP3 文件结构:
MP3 文件大体分为三部分:TAG_V2(ID3V2),Frame, TAG_V1(ID3V1)
三.MP3 的 FRAME 格式:
每个 FRAME 都有一个帧头 FRAMEHEADER,长度是 4BYTE(32bit),帧头后面可能有两个字节的 CRC 校
验,这两个字节的是否存在决定于 FRAMEHEADER 信息的第 16bit,为 0 则帧头后面无校验,为 1 则有校验,
校验值长度为 2 个字节,紧跟在 FRAMEHEADER 后面,接着就是帧的实体数据了,格式如下:
FRAMEHEADER CRC(free) MAIN_DATA
4 BYTE 0 OR 2 BYTE 长度由帧头计算得出
1.帧头 FRAMEHEADER 格式如下:
AAAAAAAA AAABBCCD EEEEFFGH IIJJKLMM
13 个帧头字符的含义如下:
Sign Length
(bits)
Position
(bits)
Description
A 11 (31-21) Frame sync (all bits set)
B 2 (20,19) MPEG Audio version
00 - MPEG Version 2.5
01 - reserved
ID3V2 包含了作者,作曲,专辑等信息,长度不固定,扩展了 ID3V1 的信息量。
Frame
.
.
.
Frame
一系列的帧,个数由文件大小和帧长决定
每个 FRAME 的长度可能不固定,也可能固定,由位率 bitrate 决定
每个 FRAME 又分为帧头和数据实体两部分
帧头记录了 mp3 的位率,采样率,版本等信息,每个帧之间相互独立
ID3V1 包含了作者,作曲,专辑等信息,长度为 128BYTE。
评论0