mp3ビットストリームの構造

構造の概要

mp3における各フレームの構造は下図のようになっている。

ヘッダ

32bitあるヘッダ情報の詳細を以下に示す。ヘッダは下記の順に構成される。

syncword 12 bit 0b111111111111
同期用(12 bit 全て"1")の値を格納
ID 1 bit 0b1: ISO/IEC 11172-3 (MPEG Audio 規格)
Layer 2 bit 0b01: Layer III(mp3)
protection_bit 1 bit 0b0: エラーチェックあり。16bitのCRCエラーチェックを付加
0b1: エラーチェックなし。
bitrate_index 4 bit 0b0000: フリービットレート
0b0001: 32kbps
0b0010: 40kbps
0b0011: 48kbps
0b0100: 56kbps
0b0101: 64kbps
0b0110: 80kbps
0b0111: 96kbps
0b1000: 112kbps
0b1001: 128kbps
0b1010: 160kbps
0b1011: 192kbps
0b1100: 224kbps
0b1101: 256kbps
0b1110: 320kbps
sampling_frequency 2 bit 0b00: 44.1kHz
0b01: 48kHz
0b10: 32kHz
padding_bit 1 bit 0b0: パディングビットなし
0b1: パディングビットあり
private_bit 1 bit 標準規格では使用されない。
mode 2 bit 0b00: ステレオ
0b01: ジョイントステレオ(Intensityステレオ,M/Sステレオ)
0b10: デュアルチャンネル
0b11: モノラル
mode_extension 2 bit 0b01: Intensityステレオを適用
0b10: M/Sステレオを適用
0b11: IntensityステレオとM/Sステレオを適用
0b00: どちらも非適用
copyright 1 bit 0b0: 著作権が保護される
0b1: 著作権なし
original/copy 1 bit 0b0: コピー
0b1: オリジナル
emphasis 2 bit 0b01: 50/15μs
0b11: CCITT J.17
0b00: エンファシスなし

オーディオデータ

2ch時のオーディオデータ詳細を以下に示す。データは下記の順に構成される。

main_data_begin 9 bit メインデータの開始位置をByte単位で示す。1つ前のフレームの末尾位置に1を足したものを基準としたマイナス値。
mp3はビットリザーバが導入されているためデータの開始位置が各データフレームで一定ではない。
private_bits 3 bit 標準規格では使用されない。
scfsi[ch][scfsi_band] 8 bit(1 bit×2ch×4帯域) 0b0: 2つのグラニュールに別のスケールファクタを各々割り当てる。
0b1: 2つのグラニュールに同一のスケールファクタを割り当てる。
帯域1: スケールファクタバンド0~5
帯域2: スケールファクタバンド6~10
帯域3: スケールファクタバンド11~15
帯域4: スケールファクタバンド16~20
続く 続く 続く