编码和解码音频音视频

音频编码格式介绍-AAC

2018-12-29  本文已影响82人  smallest_one

目录

  1. 概述
  2. 帧格式
  3. 算法简介
  4. 开源的软件
  5. 参考阅读

1. 概述

AAC(Advanced Audio Coding),被认为是MP3的继任者,相对MP3有更高的压缩效率。1997年由MPEG正式宣布为国际标准,为MPEG-2标准的第7部分-ISO/IEC 13818-7:1997。MPEG-4标准中,AAC音频流部分在ISO/IEC 14496-3 (subpart 4)中规定。

AAC被iPhone、iTunes以及大多数便携式设备所使用。
AAC有很多的选项和profiles。

2. 帧格式

AAC音频格式有:

下面主要介绍ADTS。

ADTS的组成单元是ADTS Frame。


adts帧.png

ADTS_Header的可以分为以下三部分:

adts_fixed_header:

字段 比特数 说明
syncword 12 所有位必须为1,即0xFFF。
ID 1 0代表MPEG-4, 1代表MPEG-2。
layer 2 所有位必须为0。
protection_absent 1 1代表没有CRC,0代表有。
profile 2
sampling_frequency_index 4 标识使用的采样频率,具体见下表Table35。
private_bit 1 see ISO/IEC 11172-3, subclause 2.4.2.3 (Table 8).
channel_configuration 3 取值为0时,通过inband 的PCE设置channel configuration。
original/copy 1 编码时设置为0,解码时忽略。
home 1 编码时设置为0,解码时忽略。
sampling_frequency_index采样频率表.PNG

adts_variable_header:

字段 比特数 说明
copyright_identification_bit 1 编码时设置为0,解码时忽略。
copyright_identification_start 1 编码时设置为0,解码时忽略
frame_length 13 帧长度,包括header和crc的长度,单位byte
adts_buffer_fullness 11
number_of_raw_data_blocks_in_frame 2 number of AAC Frames(RDBs) in ADTS frame minus 1, 为了最大的兼容性通常每个ADTS frame 包含一个AAC frame。

AAC ES部分说明

  1. 一个frame的原始数据包含1024个样本时间段的音频数据。

3. 算法简介

AAC是一种宽带音频编码算法,它利用两种主要的编码策略来大幅减少表示高质量数字音频所需的数据量:

实际的编码过程包括以下步骤:

算法部分更多介绍可参考[5]。

4. 开源软件

5. 参考

上一篇 下一篇

猜你喜欢

热点阅读