AAC 被定义在 MPEG-2 和 MPEG-4 标准
最常用的 AAC Profile 是 AAC LC 和 AAC HE
MPEG-2 ISO/IEC 13818-7
-
MPEG-2 AAC LC
Low Complexity, High Quality
-
MPEG-2 AAC Main
1. 更多的预测工具 2. 复杂的窗函数切换 3. 扩展的频带复制
-
MPEG-2 AAC SSR
可变采样率规格 SSR 通过在编码时包含多个采样率层次的音频数据来实现不同设备的处理, 音频流可以在低采样率下解码 音频流也可以在高采样率下解码
MPEG-4 ISO/IEC 14496-3
-
MPEG-4 AAC LC
Low Complexity, High Quality
-
MPEG-4 AAC Main
同 MPEG-2 AAC Main 实际上,MPEG-4 AAC Main 就比 MPEG-4 AAC LC 多了一个 frequency domain prediction 技术: 在频域进行预测的技术,用于减少音频信号的冗余
-
MPEG-4 AAC SSR
Scalable Sample Rate 可变采样率规格,同 MPEG-2 AAC SSR 缺少 gain control
-
MPEG-4 AAC LTP
Long Term Prediction 长时期预测规格
-
MPEG-4 AAC LD
Low Delay 低延迟预测规格
-
MPEG-4 AAC HE
带有 SBR 技术的 MPEG-4 AAC LC SBR: 音乐低频段()和高频段(伴奏)。如果对整体频段编码,体积较大 SBR 把频谱切割开来,低频段单独编码,高频段放大后保存音质
ADTS
ADTS Sequence = ADTS Frame + ADTS Frame + ... + ADTS Frame
-
ADTS Frame
ADTS Frame = ADTS Header(7|9 bytes) + AAC ES
-
ADTS Header
ADTS Header = ADTS Fixed Header + ADTS Variable Header
-
ADTS Fixed Header
ADTS Fixed Header = Syncword(12 bits) + MPEG Version(1 bit) + Layer(2 bits) + Protection Absent(1 bit) + Profile(2 bits) + Sampling Frequency Index(4 bits) + Private Bit(1 bit) + Channel Configuration(3 bits) + Originality copy(1 bit) + Home(1 bit)
-
Syncword
12 bits,固定为 0xff,标识一个 ADTS 帧的开始,作为分界符,用于同步每帧起始位置
-
ID/MPEG Version
1 bit,固定为 0,标识属于 MPEG4 规范 0: MPEG-4 1: MPEG-2
-
Layer
2 bits,固定为 00
-
Protection Absent
1 bit,标识是否有 CRC 校验码 0: 无 CRC 校验码 1: 有 CRC 校验码
-
Profile
2 bits,标识使用哪个级别和规范的 AAC 00: 01: AAC Main 10: AAC LC 11: AAC LTR
-
Sampling Frequency Index
4 bits,标识采样频率 0000(0): 96000 DVD-Audio、一些 LPCM DVD 音轨、Blu-ray Disc(蓝光盘)、HD-DVD 0001(1): 88000 0010(2): 64000 0011(3): 48000 DVD,数字电视,电影,专业音频所用的 0100(4): 44100 CD,也常用于 MPEG-1 音频(VCD、SVCD、MP3) 0101(5): 32000 0110(6): 24000 0111(7): 22000 1000(8): 16000 1001(9): 12000 1010(10): 11025 1011(11): 8000 电话所用的采样率 1100(12): 7350 1101(13): reserve 1110(14): reserve 1111(15): escape value
-
Private Bit
1 bit,固定 0
-
Channel Configuration
3 bits,声道数 000: 001: single_channel_element 010: channel_pair_element 011: single_channel_element + channel_pair_element 100: single_channel_element + channel_pair_element + single_channel_element 101: single_channel_element + channel_pair_element + channel_pair_element 110: single_channel_element + channel_pair_element + channel_pair_element + lfe_channel_element 111: single_channel_element + channel_pair_element + channel_pair_element + channel_pair_element + lfe_channel_element
-
Originality copy
1 bit,固定 0
-
Home
1 bit,固定 0
-
ADTS Varaible Header
ADTS Variable Header = Copyrighted Identification(1 bit) + Copyrighted Identification Start(1 bit) + AAC Frame Length(13 bits) + ADTS Buffer Fullness(11 bits) + Number of AAC Frames(2 bits) + CRS(16 bits)
-
Copyrighted Identification
1 bit,固定 0
-
Copyrighted Identification Start
1 bit,固定 0
-
AAC Frame Length
13 bits,标识一个 ADTS 帧的长度(包括 ADTS 头和AAC 数据) proectoin absent = 0 ADTS Header 9 字节(多了 16 bits 的 CRC) proection absent = 1 ADTS Header 7 字节
-
ADTS Buffer Fullness
11 bits,标识码率可变性 0x7ff: 码率可变 0x000: 固定码率
-
Number of AAC Frames
2 bits,标识一个 ADTS 帧中包含的 AAC 原始帧 00(0): 标识 1 个 AAC 帧 01(1): 标识 2 个 AAC 帧 10(2): 标识 3 个 AAC 帧 11(3): 标识 4 个 AAC 帧
-
CRC
16 bits,标识循环冗余校验码内容(可选)
-
AAC ES