MP3 Audio Frame Header
MP3 のオーディオ フレーム ヘッダ構造についてのメモ。
参考資料
ヘッダ構造
MP3 のオーディオ フレーム ヘッダは、基本的なオーディオ情報を格納する 4 バイトの領域である。内訳は以下。
Byte/Bits | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
0 | A | A | A | A | A | A | A | A |
1 | A | A | A | B | B | C | C | D |
2 | E | E | E | E | F | F | G | H |
3 | I | I | J | J | K | L | M | M |
各項目の詳細。
# | Size | 内容 |
---|---|---|
A | 11 | 同期フレーム。オーディオ フレーム ヘッダを検索するための目印。すべてのビットが 1 となる。 |
B | 2 | MPEG オーディオのバージョン情報。内容は 00 = MPEG Version 2.5、01 = 予約済み (未使用)、10 = MPEG Version 2 (ISO/IEC 13818-3)、11 = MPEG Version 1 (ISO/IEC 11172-3)。 |
C | 2 | レイヤーの種類。MP3 の場合は Layer III となる。00 = 予約済み (未使用)、01 = Layer III、10 = Layer II、11 = Layer I。 |
D | 1 | CRC によって保護されていることを示すフラグ。保護されている場合は、オーディオ フレーム ヘッダの後に CRC (長さは 16 ビット) データが付く。0 = 保護あり、1 = 保護なし。 |
E | 4 | ビットレート。詳細は「ビットレート表」を参照のこと。 |
F | 2 | サンプリング レート。詳細は「サンプリング レート表」を参照のこと。 |
G | 1 | パディング フラグ。0 = パディングなし、1 = パディングあり。 |
H | 1 | プライベート ビット。アプリ独自のイベント定義を行いたい場合などに使用する。0 = 使用しない、1 = 使用する。 |
I | 2 | 音声のチャンネル設定。00 = Stereo、01 = Joint stereo (Stereo)、10 = Dual channel (Stereo)、11 = Single channel (Mono)。 |
J | 2 | 拡張モード。この情報はチャンネル設定が Joint stereo の場合に使用される。詳細は「拡張モード表」を参照のこと。 |
K | 1 | 著作権情報。0 = 著作権による保護なし、1 = 著作権による保護あり。 |
L | 1 | オリジナルであることを示すフラグ。0 = コピーされたメディア、1 = オリジナル。 |
M | 2 | 音声の高域を補正する方法。00 = 補正なし、01 = 50/15ms。昔のsオーディオ CD などで使用されていた補正形式、 10 = 将来のために予約されている値。現在は意味を持たない、11 = CCITT j.17。CCITT (Comite Consultatif International Telegraphique et Telephonique、国際電信電話諮問委員会) によって決められた補正形式。 |
ビットレート表
オーディオ フレーム ヘッダにおけるビットレート。V~ は MPEG バージョン、L~ はレイヤーとなる。
Bits | V1,L1 | V1,L2 | V1,L3 | V2,L1 | V2, L2 & L3 |
---|---|---|---|---|---|
0000 | 無制限 | ||||
0001 | 32 | 32 | 32 | 32 | 8 |
0010 | 64 | 48 | 40 | 48 | 16 |
0011 | 96 | 56 | 48 | 56 | 24 |
0100 | 128 | 64 | 56 | 64 | 32 |
0101 | 160 | 80 | 64 | 80 | 40 |
0110 | 192 | 96 | 80 | 96 | 48 |
0111 | 224 | 112 | 96 | 112 | 56 |
1000 | 256 | 128 | 112 | 128 | 64 |
1001 | 288 | 160 | 128 | 144 | 80 |
1010 | 320 | 192 | 160 | 160 | 96 |
1011 | 352 | 224 | 192 | 176 | 112 |
1100 | 384 | 256 | 224 | 192 | 128 |
1101 | 416 | 320 | 256 | 224 | 144 |
1110 | 448 | 384 | 320 | 256 | 160 |
1111 | 未定義 |
サンプリング レート表
オーディオ フレーム ヘッダにおける、サンプリング レート。
Bits | MPEG1 | MPEG2 | MPEG2.5 |
---|---|---|---|
00 | 44100 | 22050 | 11025 |
01 | 48000 | 24000 | 12000 |
10 | 32000 | 16000 | 8000 |
11 | 予約済み |
拡張モード表
音声のチャンネル設定が Joint stereo の場合に使用される、バンド幅 (周波数範囲) の情報。
MPEG Layer I ~ II
Bits | バンド幅 |
---|---|
00 | 4 ~ 31 |
01 | 8 ~ 31 |
10 | 12 ~ 31 |
11 | 16 ~ 31 |
MPEG Layer III
Bits | 強度 (Stereo) | 強度 (MS stereo) |
---|---|---|
00 | off | off |
01 | on | off |
10 | off | on |
11 | on | on |