AAC编码学习笔记

几种AAC编码

AAC-LC

低复杂度编码格式,相对简单的编码方式,大部分播放器都支持。

AAC-HE

AAC-HE = AAC-LC + SBR,AAC-HE是在AAC-LC的基础上加上SBR技术。SBR(Spectral Band Replication)技术对音频的高频和低频分开处理,即保证了压缩性能又兼顾了音频质量。

AAC-HEv2

AAC-HEv2 = AAC-LC + SBR + PS,AAC-HEv2是在AAC-HE的基础上加上PS技术。立体声音频中两个声道的音频是十分相似的,PS(parametric stereo)技术会将立体声中的两个声道相似的部分保存成一份音频数据,再把两个声道的差异信息作为参数存储,这样不需要完整保存两个声道,压缩了数据量。

数据格式

ADIF

Audio Data Interchange Format,音视频的解码参数信息放在头部,只能从头开始播放。一般用于文件存储。

ADTS

Audio Data Transport Stream,用于音频传输,每个音频帧开头都会携带ADTS header,header中存放了音频解码参数,可以从音频的任意位置开始播放。

LATM

Low-overhead MPEG-4 Audio TransportMultiplex,低开销音频传输复用。相对于ADTS的传输方式,LATM可以只在音频头部携带解码信息,不需要每一帧都加上音频解码参数,减少传输数据量。LATM将音频解码参数放在AudioSpecificConfig信息内,信息可以带内传输也可以带外传输,带内指的是每个LATM帧都携带AudioSpecificConfig;带外传输指的是发送一次AudioSpecificConfig,比如通过SDP携带AudioSpecificConfig信息。

AAC的兼容性设计

AAC的计是前向兼容的,像SBR、PS等数据是通过额外参数传输,当低级播放器遇到AAC-HE、AAC-HEv2等比较复杂的编码格式时,播放器只会解析基础数据,将音频作为AAC-LC格式播放。