MPEG-4 AudioにおけるAudio Specific Configの理解について
3339 ワード
MPEG-4 Audioには、エンコーダカテゴリ、オーディオ周波数、オーディオチャネル数などのAudioエンコーダの重要な情報を含むAudio Specific Configという非常に重要なヘッダがあります.
例えば、AAC LC、デュアルチャネル48 K符号化header:000100110010
Object Type=2、5 bitのバイナリで表すと:00010
frequency index=3、4 bitのバイナリで0011
channel configuration=2,4 bitのバイナリで0010と表す
例えば、AAC ELD、デュアルチャネル48 K符号化header:1111000110010010010010
Object Type=39,39は5ビットバイナリでは表現できないのでif(object type==31)という条件を借りる必要があるので,上位5 bitは11111,すなわち31である.
そして6 bit+32で表す、このobject typeは39であるため、6 bitは7を表し、バイナリでは:000111を表す必要がある.
したがってobject typeのバイナリは最終的に11111000111である.
frequency index=3、4 bitのバイナリで0011
channel configuration=2,4 bitのバイナリで0010と表す
WIKI:https://wiki.multimedia.cx/index.php?title=MPEG-4_Audio
The Audio Specific Config is the global header for MPEG-4 Audio:
MPEG-4 Audio Object Types: 0: Null 1: AAC Main 2: AAC LC (Low Complexity) 3: AAC SSR (Scalable Sample Rate) 4: AAC LTP (Long Term Prediction) 5: SBR (Spectral Band Replication) 6: AAC Scalable 7: TwinVQ 8: CELP (Code Excited Linear Prediction) 9: HXVC (Harmonic Vector eXcitation Coding) 10: Reserved 11: Reserved 12: TTSI (Text-To-Speech Interface) 13: Main Synthesis 14: Wavetable Synthesis 15: General MIDI 16: Algorithmic Synthesis and Audio Effects 17: ER (Error Resilient) AAC LC 18: Reserved 19: ER AAC LTP 20: ER AAC Scalable 21: ER TwinVQ 22: ER BSAC (Bit-Sliced Arithmetic Coding) 23: ER AAC LD (Low Delay) 24: ER CELP 25: ER HVXC 26: ER HILN (Harmonic and Individual Lines plus Noise) 27: ER Parametric 28: SSC (SinuSoidal Coding) 29: PS (Parametric Stereo) 30: MPEG Surround 31: (Escape value) 32: Layer-1 33: Layer-2 34: Layer-3 35: DST (Direct Stream Transfer) 36: ALS (Audio Lossless) 37: SLS (Scalable LosslesS) 38: SLS non-core 39: ER AAC ELD (Enhanced Low Delay) 40: SMR (Symbolic Music Representation) Simple 41: SMR Main 42: USAC (Unified Speech and Audio Coding) (no SBR) 43: SAOC (Spatial Audio Object Coding) 44: LD MPEG Surround 45: USAC
There are 13 supported frequencies: 0: 96000 Hz 1: 88200 Hz 2: 64000 Hz 3: 48000 Hz 4: 44100 Hz 5: 32000 Hz 6: 24000 Hz 7: 22050 Hz 8: 16000 Hz 9: 12000 Hz 10: 11025 Hz 11: 8000 Hz 12: 7350 Hz 13: Reserved 14: Reserved 15: frequency is written explictly
例えば、AAC LC、デュアルチャネル48 K符号化header:000100110010
Object Type=2、5 bitのバイナリで表すと:00010
frequency index=3、4 bitのバイナリで0011
channel configuration=2,4 bitのバイナリで0010と表す
例えば、AAC ELD、デュアルチャネル48 K符号化header:1111000110010010010010
Object Type=39,39は5ビットバイナリでは表現できないのでif(object type==31)という条件を借りる必要があるので,上位5 bitは11111,すなわち31である.
そして6 bit+32で表す、このobject typeは39であるため、6 bitは7を表し、バイナリでは:000111を表す必要がある.
したがってobject typeのバイナリは最終的に11111000111である.
frequency index=3、4 bitのバイナリで0011
channel configuration=2,4 bitのバイナリで0010と表す
WIKI:https://wiki.multimedia.cx/index.php?title=MPEG-4_Audio
Audio Specific Config
The Audio Specific Config is the global header for MPEG-4 Audio:
5 bits: object type
if (object type == 31)
6 bits + 32: object type
4 bits: frequency index
if (frequency index == 15)
24 bits: frequency
4 bits: channel configuration
var bits: AOT Specific Config
Audio Object Types
MPEG-4 Audio Object Types:
Sampling Frequencies
There are 13 supported frequencies: