Format MPEG
[Home DspBoard]



Chaque Trame (frame) contient les éléments suivants :

Header

Nb de bits
Nom
Détail
12 Synchro de trame 0xFFF
1 ID 1=MPEG, 0=Reserved
2 Layer 11=Layer I, 10=Layer II, 01=Layer III, 00=Reserved
1 Protection bit Equals '1' if no redundancy has been added, '0' if redundancy has been added
4 Bit Rate index
bit_rate_index Layer I Layer II Layer III
'0000' free format free format free format
'0001' 32 kbit/s 32 kbit/s 32 kbit/s
'0010' 64 kbit/s 48 kbit/s 40 kbit/s
'0011' 96 kbit/s 56 kbit/s 48 kbit/s
'0100' 128 kbit/s 64 kbit/s 56 kbit/s
'0101' 160 kbit/s 80 kbit/s 64 kbit/s
'0110' 192 kbit/s 96 kbit/s 80 kbit/s
'0111' 224 kbit/s 112 kbit/s 96 kbit/s
'1000' 256 kbit/s 128 kbit/s 112 kbit/s
'1001' 288 kbit/s 160 kbit/s 128 kbit/s
'1010' 320 kbit/s 192 kbit/s 160 kbit/s
'1011' 352 kbit/s 224 kbit/s 192 kbit/s
'1100' 384 kbit/s 256 kbit/s 224 kbit/s
'1101' 416 kbit/s 320 kbit/s 256 kbit/s
'1110' 448 kbit/s 384 kbit/s 320 kbit/s
2 Sampling Frequency '00' 44.1 kHz ,'01' 48 kHz, '10' 32 kHz, '11' reserved
1 Padding byte if this bit equals '1' the frame contains an additional slot to adjust the mean bitrate to the sampling frequency, otherwise this bit will be '0'. Padding is only necessary with a sampling frequency of 44.1kHz
1 Private Non utilisé
2 Mode '00' stereo,'01' joint_stereo (intensity_stereo and/or ms_stereo) ,'10' dual_channel,'11' single_channel
2 Mode Extension Layer I et II
'00' subbands 4-31 in intensity_stereo, bound==4,'01' subbands 8-31 in intensity_stereo, bound==8,'10' subbands 12-31 in intensity_stereo, bound==12,'11' subbands 16-31 in intensity_stereo, bound==16
Layer III
bit0=ms_stereo(1 on; 0 off), bit 1=intensity_stereo(1 on, 0 off)
1 CopyRight if this bit equals '0' there is no copyright on the coded bitstream, '1' means copyright protected
1 Original/Home this bit equals '0' if the bitstream is a copy, '1' if it is an original
2 Emphasis '00' no emphasis, '01' 50/15 microsec. emphasis, '10' reserved, '11' CCITT J.17
     

Error Check

Nb de bits
Nom
Détail
16 CRC Check Présent UNIQUEMENT si protection bit dans le header est à 0

Audio Data

Dépend du Layer défini dans Layer dans le header

Layer I

Mode=Single Channel

Nb de bits
Nom
Détail
4*32 Allocation Allocation des 32 sous bandes
for (sb=0; sb<32; sb++)
 allocation[sb]
0 si aucune donnée, nb_bit-1 sinon, 0xF : invalid
6*32 max Scale Factor Un scale factor est encodé uniquement si allocation[i]>0
for (sb=0; sb<32; sb++)
 if (allocation[sb]!=0)
  scalefactor[sb]
[2..15]*32*12 Sample for (s=0; s<12; s++)
 for (sb=0; sb<32; sb++)
  if (allocation[sb]!=0)
    sample[sb][s]