AAC解码算法理详解.docVIP

  • 16
  • 0
  • 约1.71万字
  • 约 15页
  • 2016-10-11 发布于广东
  • 举报
AAC解码算法理详解

AAC解码算法原理详解 原作者:龙帅 (loppp138@) 此文章为便携式多媒体技术中心提供,未经站长授权,严禁转载,但欢迎链接到此地址。 本文详细介绍了符合ISO/IEC 13818-7(MPEG2 AAC audio codec) , ISO/IEC 14496-3(MPEG4 Audio Codec AAC Low Complexity)进行压缩的的AAC音频的解码算法。 1、程序系统结构 下面是AAC解码流程图: AAC解码流程图 在主控模块开始运行后,主控模块将AAC比特流的一部分放入输入缓冲区,通过查找同步字得到一帧的起始,找到后,根据ISO/IEC 13818-7所述的语法开始进行Noisless Decoding(无噪解码),无噪解码实际上就是哈夫曼解码,通过反量化(Dequantize)、联合立体声(Joint Stereo),知觉噪声替换(PNS),瞬时噪声整形(TNS),反离散余弦变换(IMDCT),频段复制(SBR)这几个模块之后,得出左右声道的PCM码流,再由主控模块将其放入输出缓冲区输出到声音播放设备。 2. 主控模块 主控模块的主要任务是操作输入输出缓冲区,调用其它各模块协同工作。其中,输入输出缓冲区均由DSP控制模块提供接口。输出缓冲区中将存放的数据为解码出来的PCM数据,代表了声音的振幅。它由一块固定长度的缓冲区构成,通过调用DSP控制模块的接口函数,得到头指针,在完成输出缓冲区的填充后,调用中断处理输出至I2S接口所连接的音频ADC芯片(立体声音频DAC和DirectDrive耳机放大器)输出模拟声音。 3. 同步及元素解码 同步及元素解码模块主要用于找出格式信息,并进行头信息解码,以及对元素信息进行解码。这些解码的结果用于后续的无噪解码和尺度因子解码模块。 AAC的音频文件格式有以下两种: ADIF:Audio Data Interchange Format音频数据交换格式。这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行。故这种格式常用在磁盘文件中。 ADTS:Audio Data Transport Stream音频数据传输流。这种格式的特征是它是一个有同步字的比特流,解码可以在这个流中任何位置开始。它的特征类似于mp3数据流格式。 AAC的ADIF格式见下图: 3.1ADIF的组织结构 AAC的ADTS的一般格式见下图: 3.2 ADTS的组织结构 图中表示出了ADTS一帧的简明结构,其两边的空白矩形表示一帧前后的数据。 ADIF和ADTS的header是不同的。它们分别如下所示: 3.3ADIF的头信息 3.4 ADTS的固定头信息 ADTS的可变头信息 3.5 帧同步 帧同步目的在于找出帧头在比特流中的位置,13818-7规定,aac ADTS格式的帧头为12比特的“1111 1111 1111”. 3.6头信息解码 ADTS的头信息为两部分组成,其一为固定头信息,紧接着是可变头信息。固定头信息中的数据每一帧都相同,而可变头信息则在帧与帧之间可变。 3.7元素信息解码 在AAC中,原始数据块的组成可能有六种不同的元素。它们分别是 SCE: Single Channel Element单通道元素。单通道元素基本上只由一个ICS组成。一个原始数据块最可能由16个SCE组成。 CPE: Channel Pair Element双通道元素,由两个可能共享边信息的ICS和一些联合立体声编码信息组成。一个原始数据块最多可能由16个SCE组成。 CCE: Coupling Channel Element藕合通道元素。代表一个块的多通道联合立体声信息或者多语种程序的对话信息。 LFE: Low Frequency Element低频元素。包含了一个加强低采样频率的通道。 DSE: Data Stream Element数据流元素,包含了一些并不属于音频的附加信息。 PCE: Program Config Element程序配置元素。包含了声道的配置信息。它可能出现在ADIF头部信息中。 FIL: Fill Element填充元素。包含了一些扩展信息。如SBR,动态范围控制信息等。 3.8处理流程 (1). 判断文件格式,确定为ADIF或ADTS (2). 若为ADIF,解ADIF头信息,跳至第6步。 (3). 若为ADTS,寻找同步头。 (4). 解ADTS帧头信息。 (5). 若有错误检测,进行错误检测。 (6). 解块信息。 (7). 解元素信息。 4.无噪声解码 无噪编码就是哈夫曼编码,它的作用在于进一步减少尺度因子和量化后频谱的冗余

文档评论(0)

1亿VIP精品文档

相关文档