アカベコマイリ

HEAR NOTHING SEE NOTHING SAY NOTHING

MP3 Audio Frame Header

MP3 のオーディオ フレーム ヘッダ構造についてのメモ。

参考資料

ヘッダ構造

MP3 のオーディオ フレーム ヘッダは、基本的なオーディオ情報を格納する 4 バイトの領域である。内訳は以下。

Byte/Bits01234567
0AAAAAAAA
1AAABBCCD
2EEEEFFGH
3IIJJKLMM

各項目の詳細。

#Size内容
A11同期フレーム。オーディオ フレーム ヘッダを検索するための目印。すべてのビットが 1 となる。
B2MPEG オーディオのバージョン情報。内容は 00 = MPEG Version 2.5、01 = 予約済み (未使用)、10 = MPEG Version 2 (ISO/IEC 13818-3)、11 = MPEG Version 1 (ISO/IEC 11172-3)。
C2レイヤーの種類。MP3 の場合は Layer III となる。00 = 予約済み (未使用)、01 = Layer III、10 = Layer II、11 = Layer I。
D1CRC によって保護されていることを示すフラグ。保護されている場合は、オーディオ フレーム ヘッダの後に CRC (長さは 16 ビット) データが付く。0 = 保護あり、1 = 保護なし。
E4ビットレート。詳細は「ビットレート表」を参照のこと。
F2サンプリング レート。詳細は「サンプリング レート表」を参照のこと。
G1パディング フラグ。0 = パディングなし、1 = パディングあり。
H1プライベート ビット。アプリ独自のイベント定義を行いたい場合などに使用する。0 = 使用しない、1 = 使用する。
I2音声のチャンネル設定。00 = Stereo、01 = Joint stereo (Stereo)、10 = Dual channel (Stereo)、11 = Single channel (Mono)。
J2拡張モード。この情報はチャンネル設定が Joint stereo の場合に使用される。詳細は「拡張モード表」を参照のこと。
K1著作権情報。0 = 著作権による保護なし、1 = 著作権による保護あり。
L1オリジナルであることを示すフラグ。0 = コピーされたメディア、1 = オリジナル。
M2音声の高域を補正する方法。00 = 補正なし、01 = 50/15ms。昔のsオーディオ CD などで使用されていた補正形式、 10 = 将来のために予約されている値。現在は意味を持たない、11 = CCITT j.17。CCITT (Comite Consultatif International Telegraphique et Telephonique、国際電信電話諮問委員会) によって決められた補正形式。

ビットレート表

オーディオ フレーム ヘッダにおけるビットレート。V~ は MPEG バージョン、L~ はレイヤーとなる。

BitsV1,L1V1,L2V1,L3V2,L1V2, L2 & L3
0000無制限
0001323232328
00106448404816
00119656485624
010012864566432
010116080648040
011019296809648
01112241129611256
100025612811212864
100128816012814480
101032019216016096
1011352224192176112
1100384256224192128
1101416320256224144
1110448384320256160
1111未定義

サンプリング レート表

オーディオ フレーム ヘッダにおける、サンプリング レート。

BitsMPEG1MPEG2MPEG2.5
00441002205011025
01480002400012000
1032000160008000
11予約済み

拡張モード表

音声のチャンネル設定が Joint stereo の場合に使用される、バンド幅 (周波数範囲) の情報。

MPEG Layer I ~ II

Bitsバンド幅
004 ~ 31
018 ~ 31
1012 ~ 31
1116 ~ 31

MPEG Layer III

Bits強度 (Stereo)強度 (MS stereo)
00offoff
01onoff
10offon
11onon