Advanced Audio Coding

From MultimediaWiki
(Redirected from AAC)
Jump to: navigation, search

Specification links:

Reference Sources:

Usually stored in an MP4 container.

See also Understanding AAC.

Implementations

With Source Code

Other Notables

Decoder Features

AAC decoder feature matrix

Decoder al17 elem_id0 bad_concat lfe_is_sce SBR PS CCE Main LTP ER AAC LC ER AAC LD AAC-960 ADTS (Implicit SBR+PS) MP4 (Implicit SBR+PS) MP4 (EBC SBR / Impl PS) MP4 (EBC SBR / EBC PS) MP4 (Impl SBR / ENBC PS) 3GPP (EBC SBR / Impl PS) 3GPP (ENBC SBR / Impl PS)
mp4mcDec Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
libavcodec Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes
libfaad2 No Yes Yes Yes Yes Yes No Yes Yes No No Yes Yes Yes Yes Yes No Yes Yes
iTunes No No Yes No LFE Yes No? No No No No No No No No SBR No PS No PS No PS No PS No PS
WinAMP Yes Garbled No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes No No
Microsoft DTV-DVD Audio Decoder No Yes Yes No LFE Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes

Common AAC Flavors

MPEG-2 AAC-LC

The basic subset of AAC that most other flavors and profiles are based on.

The AAC Profile (MPEG-4 AAC-LC)

MPEG-2 AAC-LC plus a Perceptual Noise Substitution (PNS) tool.

The HE-AAC Profile (v1 and v2)

HE-AAC (also known by the Dolby trade name aacPlus) is MPEG-4 AAC-LC + SBR (Spectral Band Replication) and HE-AAC v2 (aacPlus v2) is MPEG-4 AAC-LC + SBR + PS (Parametric Stereo). Standard AAC-LC decoders can decode HE-AAC encoded files/streams but without SBR and PS you do not get the full quality.

  • See also

MPEG-2/4 AAC Main

MPEG-2/4 AAC-LC plus a computationally intensive, intra-channel, inter-frame frequency domain prediction tool. Additionally this profile adds relaxation to the maximum TNS filter size, and time domain coupling. The details of the prediction tool are only given in ISO/IEC 13818-7 not in ISO/IEC 14496-3. In the wild this appears to be used in some Hulu streams.

MPEG-4 AAC LTP

MPEG-4 AAC-LC plus a less computationally intensive frequency domain prediction tool. This flavor is rarely seen in the wild. Despite being an MPEG-4 only flavor it can be embedded in an ADTS stream.

BSAC AAC

Bit Slice Arithmetic Coding (BSAC) is an alternate quantization and entropy coding scheme for AAC. It is used by the T-DMB broadcast standard.

Extensions

GAIN headers

See http://mp3gain.sourceforge.net and MP3 GAIN header.

MPEG Surround

MPEG Surround is a multichannel coding scheme that can used with any core coder audio but is most often used with (HE-)AAC and BSAC. MPEG Surround technology shares similar characteristics with PS (Parametric Stereo) used in HE-AAC v2 including mixing in the same SBR domain used by HE-AAC.

References:

AAC Encoding Guidelines

The following documents are must reads for anyone implementing an AAC encoder

  • ISO/IEC 14496-3:2009 - Decoding AAC, systems MPEG-4 integration
  • ISO/IEC 14496-26:2010 - Conformance, includes limits on various bitstream values
  • ISO/IEC 14496-24:2008 - ISO Gapless AAC
  • ISO/IEC 13818-7:2006 - MPEG-2 AAC includes informative annexes on encoding omitted from 14496-3
  • 3GPP 26.403-405 - Elaborations on the annexes in 13818-7
  • Improved ISO AAC Coder, Ivan Dimkovic, PsyTEL Research