关键词不能为空

当前您在: 主页 > 英语 >

MP3格式解析

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 01:08
tags:

-

2021年2月28日发(作者:madox)



一、概述



二、整个


MP3


文件结构


三、


MP3


帧格式



1.


帧头格式



2. MAIN_DATA



四、


ID3


标准



1. ID3V1



2. ID3V2



五、


MP3


文件实例剖析

< br>


六、资料




一、



概述



MP3


文件是由帧


(frame)< /p>


构成的


,


帧是



MP3


文件最小的组成单位。


MP3


的全称应为



MPEG1 Layer-3


音频



文件


,MPEG(Moving Picture Experts Group)


在汉语中译为活动图像专家组


,


特指活动影


音压缩标准


,MPEG


音频文件是



MPEG1

< p>
标准中的声音部分


,


也叫



MPEG


音频层


,

< br>它根据压缩质量和编码复杂


程度划分为三层


,

< p>



Layer-1


、< /p>


Layer2



Layer3,


且分别对应



MP1



MP2



MP3

这三种声音文件


,


并根据不同


的用 途


,


使用不同层



次的编码。


MPEG


音频编码的层次 越高


,


编码器越复杂


,


压缩率也越高


,MP1




MP2


的压


缩率分别为



4:1




6:1-8:1,




MP3


的压缩率则高达


< p>
10:1-12:1,


也就是说


,


一分钟



CD


音质的音乐< /p>


,


未经


压缩需要



10MB


的存储空间


,


而经过



MP3


压缩编码后只有



1MB


左右。


不过



MP3


对音频信号采用的是有


损压缩 方式


,


为了降



低声音失真度


,MP3


采取了



感官编码技术


”,


即编码时先对音频文件进行频谱分析


,


然后用

< br>过滤器滤掉



噪音电平


,


接着通过量化的方式将剩下的每一位打散排列


,


最后形成具有较高压缩比的



MP3


文件


,


并使压



缩后的文件在回放时能够达到比较接近原音源的声音效果。




二、整个


MP3

< br>文件结构



MP3


文件大体分为 三部分:


TAG_V2(ID3V2)



Frame, TAG_V1(ID3V1)


ID3V2


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


ID3V1


的信息量。



Frame


.


.


.


Frame


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


每个


FRAME


的长度可能不固定,也可能固定,由位率< /p>


bitrate


决定


< br>每个


FRAME


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

< p>


帧头记录了


mp3


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



ID3V1


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


128BYTE





三、


MP3


帧格式



1.


帧头格式



帧头长

4


字节,对于固定位率的


MP3


文 件,所有帧的帧头格式一样其数据结构如下:




typedef FrameHeader {


unsigned int sync: 11;


//


同步信息



unsigned int version: 2;


//


版本



unsigned int layer: 2;


//




unsigned int error protection: 1;


// CRC


校验



unsigned int bitrate_index: 4;


//


位率



unsigned int sampling_frequency: 2;


//


采样频率



unsigned int padding: 1;


//


帧长调节



unsigned int private: 1;


//


保留字



unsigned int mode: 2;


//


声道模式



unsigned int mode extension: 2;


//


扩充模式



unsigned int copyright: 1;


//


版权



unsigned int original: 1;


//


原版标志



unsigned int emphasis: 2;


//


强调模式



}HEADER, *LPHEADER;



帧头


4


字节使用说明见表


1





MP 3


帧长取决于位率和频率,计算公式为:




. mpeg1.0


layer1 :


帧长


= (48000*bitrate)/sampling_freq + padding



layer2&3:


帧长


= (144000*bitrate)/sampling_freq + padding


. mpeg2.0


layer1 :


帧长


= (24000*bitrate)/sampling_freq + padding


layer2&3 :


帧长


= (72000*bitrate)/sampling_freq + padding


例如:位率为


64kbps


,采样频率为

44.1kHz



padding


(帧长调节)为


1


时,帧长



210


字节。



帧头后 面是可变长度的附加信息,对于标准的


MP3


文件来说,其长度 是


32


字节,紧


接其后的是压缩的声音 数据,当解码器读到此处时就进行解码了。





1 MP3


帧头字节使用说明



名称



同步


信息



版本





位长



11



1



2


2


2







所有位均为


1


,第


1


字节恒为

< br>FF




00-MPEG 2.5


01-


未定义



10-MPEG 2


11-MPEG 1


00-


未定义



01-Layer 3


10-Layer 2


11-Layer 1


CRC


校验



1


4




0-


校验



1-


不校验




取样率,单位是


kbps


,例如采用< /p>


MPEG-1 Layer 3



64k bps


是,值为


0101


< p>


bits


V1,L1


V1,L2


V1,L3


V2,L1


free


32


48


56


64


80


96


112


128


160


192


224


256


320


384


bad


free


32


40


48


56


64


80


96


112


128


160


192


224


256


320


bad


free


32(32)


64(48)


96(56)


128(64)


160(80)


192(96)


V2,L2


free


32(8)


48(16)


56(24)


64(32)


80(40)


96(48)


V2,L3


free


8 (8)


16


(16)


24


(24)


32


(32)


64


(40)


80


(48)


56


(56)


64


(64)


128


(80)


160


(96)


112


(112)


128


(128)


256


(144)


320


(160)


bad


0000


free


0001


32


0010


64


0011


96


0100


128


0101


160


0110


192


0111


224


224(112)


112(56)


256(128)


128(64)


288(144)


160(80)


320(160)


192(96)


352(176)


224(112)


384(192)


256(128)


416(224)


320(144)


448(256)


384(160)


bad


bad


位率




3< /p>





1000


256


1001


288


1010


320


1011


352


1100


384


1101


416


1110


448


1111


bad


V1 - MPEG 1


V2 - MPEG 2 and MPEG 2.5


L1 - Layer 1


L2 - Layer 2


L3 - Layer 3



表示位率可变





表示不允许值



2


采样


频率



采 样频率,对于


MPEG-1



00-44.1kHz


01-48kHz


10-32kHz


11-


未定义




对于


MPEG- 2



00-22.05kHz


01-24kHz


10-16kHz


11-


未定义




对于


MPEG- 2.5




00-11.025kHz 01-12kHz


10-8kHz


11-


未定义



帧长


调节



保留




声道


模式



1


1


2


2


用来调整文件头长度,


0-


无需调整,


1-


调整,具体调整计算方法见下文。



没有使用。



表示声道,


00-


立体声


Stereo


01-Joint Stereo


10-


双声




11-


单声道



当声道模式为


01


是才使用。



Value


强度立体声



off


on


off


on


MS


立体声



off


off


on


on


00


01


10


11


扩充


模式




4





1


1


2


版权



原版


标志



强调


方式



文 件是否合法,


0-


不合法



1-


合法



是否原版,



0-


非原版



1-


原版



用 于声音经降噪压缩后再补偿的分类,很少用到,今后也可能不会用。



00-


未定义



01-50/15ms


10-


保留



11-CCITT J.17



2. MAIN_DATA


MAIN_DATA


部分长度是否变化决定于



FRAMEHEADER




bitrate


是否变化


,





MP3


歌曲


,


它有三个版




:96Kbps(96


千比特位每 秒


)



128Kbps




192Kbps

< br>。


Kbps(


比特位速率


),< /p>


表明了音


乐每秒的数据量


,


Kbps


值越高


,

< br>音质越好


,


文件也越大


,MP3


标准规定


,


不变的


bitrate




MP3


文件称作



CBR,


大多数



MP3


文件都是



CBR



,


而变化的



bitrate




MP3


文件称作



VBR,


每个



FRAME


的长度都可


能是变化的。下面是



CBR




VBR


的不同点


:


1)CBR:


固定位率的



FRAME


的大小是固定的


(


公式如上所述


),


只要知道文件总长度


,


和帧


长即可由播放每帧需

< br>


26ms


计算得出



mp3


播放的总时间


,


也可通过计数帧的个数控制快


进、快退慢放等操作。注:有些时候,并不是所 有的帧都是等长的,有的帧可能多一个或几


个字节。



2)VBR:VBR




XING


公司推出的算法


,


所以在



MP3




FRAME

里会有


“XING


这个关


键字


(


现在很多流行的



小软件也可以进行



VBR


压缩


,


它们是否遵守这个约定

< br>,


那就不得而知了


),


它存放在



MP3


文件中的第一个有效



FRAME < /p>



,


它标识了这个



MP3


文件是



VBR


的。同时第一个



FRAME


里存放了



MP3


文件的



FRAME


的总个数


,


这就很容易获得了播放总时间


,


同时还




100


个字节存放了播放总时间的



100


个时间分段的



FRAME




INDEX,


假设



4



钟的



MP3


歌曲


,240S,

< p>
分成



100



,


每两个相邻



INDEX


的时间差就是



2.4S,


所以通过


这个



INDEX,


只要前后处理少数的



FRAME,


就能快速找出我们需要快进的


FRAME


头。




2 VBR


文件第一帧结构



字节



1



4







CBR


相同的标准声音帧头



存放


VBR


文件标识


“Xing”



58 69 6E 6 7


),此标识具体位置视采用的


MPEG


标准和声道


模式而定。标识的前后字节没有使用。



36



39


5



40


21



24


21



24


13



16


41



44


标志,


说明是否存储了帧数、


文件长度、


目录表和


VBR


规模信息,


如果存储 了,



01 02 04


08




MPEG-2


和单声道



MPEG-2


和非单声道



MPEG-1


和单声道



MPEG-1


和非单声道


(


常见


)


45



48


帧数(包括第一帧)



49



52


文件长度



53



152


153



156



另可参考下文


:


四、


ID3


标准


< p>
MP3


帧头中除了存储一些象


private



copyright


< br>original


的简单音乐说明信息以外,


没有考虑存 放歌名、


作者、


专辑名、


年份等复杂信 息,


而这些信息在


MP3


应用中非常必 要。


1996


年,


FricKemp< /p>



“Studio 3”


项目中提出了在


MP3


文件尾增加一块用于存放歌曲的


说明信息,形成了


ID3


标准,至今已制定出

< br>ID3 V1.0



V1.1



V2.0



V2.3

< br>和


V2.4



准。版本越高,记 录的相关信息就越丰富详尽。



1. ID3V1


ID3 V1.0


标准并不周全,


存放 的信息少,


无法存放歌词,


无法录入专辑封面、


图片等。


V2.0


是一个相当完备的标准,但给编写软 件带来困难,虽然赞成此格式的人很多,在软件


中真正实现的却极少。绝大多数


MP3


仍使用


ID3 V1.0


标准。此标准是将


MP3


文件尾的

最后


128


个字节用来存放


ID3


信息,这


128


个字节使用说明见表< /p>


3





3 ID3 V1.0


文件尾说明



字节



1-3


4-33


34-63


64-93


94-97


98-127


128


0


1


长度



(


字节


)






3


30


30


30


4


30


1


'Blues'


'Classic


存放


“TAG”< /p>


字符,表示


ID3 V1.0


标准,紧接其后的是歌曲信息。



歌名



作者



专辑名



年份



附注



MP3


音乐类别,共


147


种。




4 MP3


音乐类别:



20


'Alternative'


40


'AlternRock'


21


'Ska'


41


'Bass'


60


'Top 40'


61


'Christian


VBR


规模,用于位率变动



目录表,用来按时间进行字节定位。



Rock'


2


3


4


5


6


7


8


9


'Country'


'Dance'


'Disco'


'Funk'


'Grunge'


'Hip-Hop'


'Jazz'


'Metal'


22


'Death Metal'


42


'Soul'


23


'Pranks'


43


'Punk'


Rap'


62


'Pop/Funk'


63


'Jungle'


64


'Native


American'


24


'Soundtrack'


44


'Space'


25


'Euro-Techno' 45


'Meditative'


26


'Ambient'


27


'Trip-Hop'


28


'Vocal'


29


'Jazz+Funk'


31


'Trance'


32


'Classical'


34


'Acid'


35


'House'


36


'Game'


37


'Sound Clip'


38


'Gospel'




'Instrumental


Rock'


65


'Cabaret'


46


'Instrumental Pop' 66


'New Wave'


47


67


'Psychadelic'


68


'Rave'


69


'Showtunes'


70


'Trailer'


72


'Tribal'


73


'Acid Punk'


74


'Acid Jazz'


75


'Polka'


76


'Retro'


77


'Musical'


78


'Rock & Roll'


79


'Hard Rock'




83


Swing


87


Revival


91


Gothic Rock


95


Slow Rock


99


Acoustic


103 Opera


107 Booty Bass


111 Slow Jam


115 Folklore


48


'Ethnic'


49


'Gothic'


50


'Darkwave'


52


'Electronic'


54


'Eurodance'


55


'Dream'


56


'Southern Rock'


57


'Comedy'


58


'Cult'


59


'Gangsta'




82


National Folk


86


Latin


90


Advantgarde


94


Symphonic Rock


98


Easy Listening


102 Chanson


106 Symphony


10


'New Age'


30


'Fusion'


11


'Oldies'


12


'Other'


13


'Pop'


14


'R&B'


15


'Rap'


16


'Reggae'


17


'Rock'


18


'Techno'




51


'Techno-Industrial' 71


'Lo-Fi'


33


'Instrumental' 53


'Pop-Folk'


19


'Industrial'


39


'Noise'


80


Folk


88


Celtic


92


81


Folk/Rock


89


Bluegrass


84


Fast-Fusion 85


Bebob


Progressive


Psychadelic


93


Rock


Rock


97


Chorus


101 Speech


105 Sonata


96


Big Band


100 Humour


Chamber


104


Music


108 Primus


112 Club


109 Porn Groove


110 Satire


113 Tango


114 Samba


Any other value should be considered as 'Unknown'




2. ID3V2


ID3V2


到现在一共有



4

< br>个版本


,


但流行的播放软件一般只支持第



3



,




ID3v2.3


。由



ID3V1


记录


-


-


-


-


-


-


-


-



本文更新与2021-02-28 01:08,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/677387.html

MP3格式解析的相关文章