现在的位置: 首页 > 综合 > 正文

MP3文件格式

2013年02月08日 ⁄ 综合 ⁄ 共 1683字 ⁄ 字号 评论关闭

一.概述:

 

MP3文件是由帧(frame)构成的,帧是MP3文件最小的组成单位。MP3的全称应为MPEG1 Layer-3音频文件,MPEG(Moving Picture Experts Group)在汉语中译为活动图像专家组,特指活动影音压缩标准,MPEG音频文件是MPEG1标准中的声音部分,也叫MPEG音频层,它根据压缩质量和编码复杂程度划分为三层,即Layer-1Layer2Layer3,且分别对应MP1MP2MP3这三种声音文件,并根据不同的用途,使用不同层次的编码。MPEG音频编码的层次越高,编码器越复杂,压缩率也越高,MP1MP2的压缩率分别为4161-81,而MP3的压缩率则高达101-121,也就是说,一分钟CD音质的音乐,未经压缩需要10MB的存储空间,而经过MP3压缩编码后只有1MB左右。不过MP3对音频信号采用的是有损压缩方式,为了降低声音失真度,MP3采取了感官编码技术,即编码时先对音频文件进行频谱分析,然后用过滤器滤掉噪音电平,接着通过量化的方式将剩下的每一位打散排列,最后形成具有较高压缩比的MP3文件,并使压缩后的文件在回放时能够达到比较接近原音源的声音效果。

 

 

 

 

 

二.整个MP3文件结构:

MP3文件大体分为三部分:TAG_V2(ID3V2)Frame,  TAG_V1(ID3V1)

ID3V2

包含了作者,作曲,专辑等信息,长度不固定,扩展了ID3V1的信息量。

Frame

.

 

 

.

 

 

.

Frame

 

 

一系列的帧,个数由文件大小和帧长决定

每个FRAME的长度可能不固定,也可能固定,由位率bitrate决定

每个FRAME又分为帧头和数据实体两部分

帧头记录了mp3的位率,采样率,版本等信息,每个帧之间相互独立

ID3V1

包含了作者,作曲,专辑等信息,长度为128BYTE

 

 

 

 

 

 

三.MP3FRAME格式:

每个FRAME都有一个帧头FRAMEHEADER,长度是4BYTE32bit,帧头后面可能有两个字节的CRC校验,这两个字节的是否存在决定于FRAMEHEADER信息的第16bit,为0则帧头后面无校验,为1则有校验,校验值长度为2个字节,紧跟在FRAMEHEADER后面,接着就是帧的实体数据了,格式如下:

 

 

 

FRAMEHEADER

CRCfree

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
10 - MPEG Version 2
11 - MPEG Version 1

 

 

 

C

 

 

 

2

 

 

 

(18,17)

 

 

 

Layer description
00 - reserved
01 - Layer III
10 - Layer II
11 - Layer I

 

 

 

D

 

 

 

1

 

 

 

(16)

 

 

 

Protection bit
0 - Protected by CRC (16bit crc follows header)
1 - Not protected

 

 

 

E

 

 

 

4

 

 

 

(15,12)

 

 

 

Bitrate index

bits

 

 

 

V1,L1

 

 

 

V1,L2

 

 

 

V1,L3

 

 

 

V2,L1

 

 

 

V2,L2

 

 

 

V2,L3

 

 

 

0000

 

 

 

free

 

 

 

free

 

 

 

free

 

 

 

free

 

 

 

free

 

 

 

free

 

 

 

0001

 

 

 

32

 

 

 

32

 

 

 

32

 

 

 

32

 

 

 

32

 

 

 

8 (8)

 

 

 

0010

 

 

 

64

 

 

 

48

 

 

 

40

 

 

 

64

 

 

 

48

 

 

 

16 (16)

 

 

 

0011

 

 

 

96

 

 

 

56

 

 

 

48

 

 

 

96

 

 

 

56

 

 

 

24 (24)

 

 

 

0100

 

 

 

抱歉!评论已关闭.