AAC音频格式
目录
AAC音频格式介绍
主要特点
技术优势
常见文件扩展名
应用领域
AAC与PCM的区别与优势对比
基本概念差异
主要技术区别
各自优势
PCM的优势
AAC的优势
应用场景选择
AAC音频数据格式解析
1. AAC 文件格式
(1) ADIF (Audio Data Interchange Format)
(2) ADTS (Audio Data Transport Stream)
2. AAC 裸流格式(Raw AAC)
(1) AudioSpecificConfig
(2) AAC 数据帧
3. AAC 编码类型(Profile)
4. AAC vs. MP3 数据对比
5. 解析工具
总结
AAC音频格式介绍
AAC(Advanced Audio Coding,高级音频编码)是一种有损数字音频压缩格式,由MPEG(Moving Picture Experts Group)和ISO/IEC联合开发,作为MP3格式的后继者。
主要特点
-
高效压缩:在相同比特率下,AAC通常能提供比MP3更好的音质
-
广泛支持:被Apple iTunes、YouTube、Android、iOS等广泛采用
-
采样率范围:8-96 kHz
-
多声道支持:最多支持48个声道
-
扩展性:支持可变比特率(VBR)和恒定比特率(CBR)
技术优势
-
采用改进的滤波器组(改进的离散余弦变换)
-
时域噪声整形(TNS)
-
预测技术
-
联合立体声编码
-
量化噪声处理更精细
-
更高效的霍夫曼编码
常见文件扩展名
-
.aac - ADIF格式的AAC文件
-
.m4a - MPEG-4音频(通常为AAC编码)
-
.mp4 - MPEG-4容器(可能包含AAC音频)
应用领域
-
流媒体服务(如Spotify、Apple Music)
-
数字电视和广播
-
移动设备音频
-
视频游戏音效
-
网络视频(如YouTube)
AAC已成为当今最流行的音频格式之一,尤其在苹果生态系统中占据主导地位。
AAC与PCM的区别与优势对比
基本概念差异
PCM (脉冲编码调制):
-
原始无损音频格式
-
直接记录声音波形的数字样本
-
未压缩格式,文件体积大
-
CD音频的标准格式(44.1kHz/16bit)
AAC (高级音频编码):
-
有损压缩音频格式
-
使用心理声学模型去除人耳不易察觉的声音信息
-
通过复杂算法大幅减小文件体积
-
MPEG标准的一部分,广泛用于流媒体和移动设备
主要技术区别
特性 | PCM | AAC |
---|---|---|
压缩方式 | 无压缩 | 有损压缩 |
数据量 | 大(约10MB/分钟CD音质) | 小(约1MB/分钟128kbps) |
音质 | 原始无损 | 接近无损(高比特率时) |
处理复杂度 | 低 | 高(编解码需要更多计算) |
延迟 | 低 | 较高(编码需要缓冲) |
各自优势
PCM的优势
-
完美音质:保留原始音频所有细节
-
低处理延迟:无需编解码,实时性好
-
编辑友好:多次编辑不会造成音质损失
-
通用兼容:所有音频设备都支持基本PCM格式
-
专业应用:音乐制作、录音棚等专业领域标准
AAC的优势
-
高效压缩:比MP3更高效,相同体积音质更好
-
节省空间:适合移动设备和流媒体传输
-
网络友好:减少带宽需求,加快传输速度
-
广泛支持:苹果生态、Android、流媒体平台普遍支持
-
灵活比特率:支持从低质量语音到高质量音乐的不同需求
应用场景选择
使用PCM的情况:
-
专业音频制作和母带处理
-
需要多次编辑的音频工程
-
对延迟敏感的实时音频应用
-
需要绝对保真度的场景
使用AAC的情况:
-
消费级音乐播放和流媒体
-
移动设备存储音频文件
-
网络视频的音频轨道
-
需要节省存储空间的场合
现代音频系统通常会根据需要在PCM和AAC之间转换,如在录音时使用PCM,分发时转换为AAC。
AAC音频数据格式解析
AAC(Advanced Audio Coding)是一种高效的有损音频压缩格式,广泛应用于流媒体、数字广播和移动设备。其数据格式可以分为文件格式和裸流格式两种主要形式。
1. AAC 文件格式
AAC通常以容器格式存储,常见的包括:
-
.aac(ADIF 或 ADTS 格式)
-
.m4a(MPEG-4 容器,通常为 AAC-LC)
-
.mp4(MPEG-4 视频/音频容器)
-
.3gp(移动设备常用)
(1) ADIF (Audio Data Interchange Format)
-
特点:整个文件只有一个头部,后面紧跟连续的 AAC 数据帧。
-
适用场景:本地存储,不适合流式传输(因为必须从头开始解码)。
-
结构:
| ADIF Header | Raw AAC Data Frames... |
(2) ADTS (Audio Data Transport Stream)
-
特点:每个 AAC 数据帧前都有一个同步头,适合流媒体传输(如 HTTP Live Streaming)。
-
适用场景:网络流媒体、实时广播。
-
结构:
| ADTS Header | AAC Frame | ADTS Header | AAC Frame | ... |
-
ADTS 头结构(7或9字节):
字段 位数 说明 Sync Word 12 bits 固定 0xFFF
,用于帧同步MPEG Version 1 bit 0
=MPEG-4,1
=MPEG-2Layer 2 bits 固定 00
(AAC无Layer概念)Protection Absent 1 bit 1
=无CRC校验,0
=有CRCProfile 2 bits 0
=AAC Main,1
=AAC LC,2
=AAC SSR,3
=AAC LTPSampling Freq Index 4 bits 采样率索引(如 4
=44.1kHz)Private Bit 1 bit 通常为 0
Channel Config 3 bits 声道配置(如 2
=双声道)Original/Copy 1 bit 0
=原始,1
=复制Home 1 bit 通常为 0
Copyright ID Bit 1 bit 版权标识 Copyright ID Start 1 bit 版权开始标识 Frame Length 13 bits ADTS帧总长度(头+AAC数据) Buffer Fullness 11 bits 码流缓冲信息 Num of Raw Data Blocks 2 bits 0
=1个AAC帧
2. AAC 裸流格式(Raw AAC)
AAC裸流数据通常存储在MP4等容器中,其结构由音频配置信息(AudioSpecificConfig)和原始数据帧组成。
(1) AudioSpecificConfig
-
描述AAC的编码参数,通常存储在MP4的
esds
(Elementary Stream Descriptor)或ADTS头中。 -
结构(2字节或更多):
字段 位数 说明 Audio Object Type 5 bits 编码类型(如 2
=AAC-LC)Sampling Freq Index 4 bits 采样率索引(同ADTS) Channel Config 4 bits 声道配置(同ADTS) GASpecificConfig 可变 扩展参数(如帧长、是否含SBR/PS等)
(2) AAC 数据帧
-
AAC 数据以帧(Frame)为单位存储,每帧包含:
-
1024个PCM样本(AAC-LC)或 960个样本(AAC-LD,低延迟模式)。
-
采用改进的离散余弦变换(MDCT)进行频域编码。
-
使用霍夫曼编码进一步压缩数据。
-
3. AAC 编码类型(Profile)
AAC有多个变种,适用于不同场景:
Profile | 说明 | 典型应用 |
---|---|---|
AAC-LC (Low Complexity) | 标准AAC,平衡音质和计算量 | 音乐流媒体(Spotify、Apple Music) |
AAC-HE (High Efficiency, v1) | 结合SBR(频带复制),提高低码率音质 | 网络广播、低比特率传输 |
AAC-HEv2 (v2) | 增加PS(参数立体声),进一步压缩立体声数据 | 超低码率语音/音乐 |
AAC-LD (Low Delay) | 低延迟(~20ms),适合实时通信 | 视频会议、VoIP |
AAC-ELD (Enhanced Low Delay) | 增强低延迟,音质更好 | 高清语音通话 |
4. AAC vs. MP3 数据对比
特性 | AAC | MP3 |
---|---|---|
压缩效率 | 更高(相同音质下文件更小) | 较低 |
音质 | 高频保留更好,低码率表现更优 | 高码率接近AAC,低码率较差 |
帧结构 | 固定1024样本(LC)或960(LD) | 1152样本(MPEG1)或576(MPEG2) |
延迟 | 较高(编码需缓冲) | 较低 |
专利 | 需授权(但已广泛免费支持) | 专利已过期 |
5. 解析工具
-
FFmpeg:可提取AAC裸流并分析:
sh
复制
下载
ffmpeg -i input.aac -c:a copy -f adts output.aac
-
Hex Editor:手动分析ADTS头。
-
MP4Box:解析MP4中的AAC配置:
sh
复制
下载
MP4Box -info input.mp4
总结
-
ADIF 适合本地存储,ADTS 适合流式传输。
-
AAC裸流 由
AudioSpecificConfig
+ 数据帧组成。 -
AAC-LC 最常用,AAC-HE/HEv2 适合低码率,AAC-LD/ELD 适合实时通信。
-
比MP3更高效,但计算复杂度更高。
AAC凭借其高压缩比和优秀音质,已成为现代音频编码的主流标准。