Difference between revisions of "Advanced Audio Coding"

From VideoLAN Wiki
Jump to navigation Jump to search
(Change links)
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{wikipedia|Advanced Audio Coding}}
+
{{Hydrogenaudio|Advanced Audio Coding}}
 +
{{Mmwiki|Advanced Audio Coding|Understanding AAC}}
 
AAC is a set of codecs designed to provide better compression than [[MP3]]s, and are improved versions of [[MPEG]] audio.
 
AAC is a set of codecs designed to provide better compression than [[MP3]]s, and are improved versions of [[MPEG]] audio.
  
Line 5: Line 6:
  
 
== Introduction ==
 
== Introduction ==
AAC actually refers to two similar codecs - MPEG-2 AAC and MPEG-4 AAC. It has many options and is heavily customisable depending on the desired output
+
AAC actually refers to two similar codecs - MPEG-2 Part 7 (Advanced Audio Coding) and MPEG-4 Part 3. It has many options and is heavily customisable depending on the desired output
  
 
It has some advantages over MP3 - it has a greater range of sample frequencies, up to 48 channels and higher coding efficiency. It also has much better handling of frequencies above 16 kHz.
 
It has some advantages over MP3 - it has a greater range of sample frequencies, up to 48 channels and higher coding efficiency. It also has much better handling of frequencies above 16 kHz.
 
Depending on the AAC profile and the MP3 encoder, 96 kbit/s AAC can give nearly the same or better perceptional quality as 128 kbit/s MP3.
 
Depending on the AAC profile and the MP3 encoder, 96 kbit/s AAC can give nearly the same or better perceptional quality as 128 kbit/s MP3.
  
MPEG-4 AAC is used by [[iTunes]] and [[iPod]] (see also [http://www.apple.com/mpeg4/aac Apple webpage on AAC]) and most of the portable devices.
+
MPEG-4 AAC is used by [[iTunes]] and [[iPod]] (see also [https://web.archive.org/web/20031202022159/http://www.apple.com/mpeg4/aac/ Apple webpage on AAC]) and most of the portable devices.
  
 
== Profiles and extensions ==
 
== Profiles and extensions ==
  
 
=== Main ===
 
=== Main ===
 +
The main codec for AAC, as defined in MPEG-2, had 3 profiles:
 +
* Low Complexity profile (LC)
 +
* Main profile (Main)
 +
* Scalable Sampling Rate (SSR)
 +
 +
In MPEG-4, it combines it with Perceptual Noise Substitution (PNS) extension.
 +
 +
=== ER - Error Resilience ===
 +
This is an extension to improve error resilience on AAC.
  
 
=== LD - Low Delay ===
 
=== LD - Low Delay ===
 +
 +
LD is an 2000 extension used to improve AAC for 2-way communication.
  
 
=== ELD - Extended Low Delay ===
 
=== ELD - Extended Low Delay ===
 +
 +
ELD is a 2008 extension of AAC that improves LD further.
  
 
=== LTP ===
 
=== LTP ===
 +
LTP is an extension from 1999 that uses [[wikipedia:Long_Term_Prediction|Long Term Prediction]].
  
 
=== He-AAC / AAC+ ===
 
=== He-AAC / AAC+ ===
 +
{{wikipedia|HE-AAC}}
 +
 
'''High Efficiency AAC''' (aka '''aacPlus'''), is a [[lossy]] data compression scheme for audio streams, and is part of the '''[[MPEG-4]] Part 3''' specification.
 
'''High Efficiency AAC''' (aka '''aacPlus'''), is a [[lossy]] data compression scheme for audio streams, and is part of the '''[[MPEG-4]] Part 3''' specification.
  
HE-AAC combines [[Advanced Audio Coding]] (AAC), [[wikipedia:Spectral Band Replication|Spectral Band Replication]] (SBR)
+
HE-AAC combines [[Advanced Audio Coding]] (AAC) with [[wikipedia:spectral band replication|spectral band replication]] (SBR)
  
 
=== He-AACv2 / eAAC+ ===
 
=== He-AACv2 / eAAC+ ===
{{wikipedia|HE-AAC}}
 
  
 
Enhanced aacPlus combines SBR and [[wikipedia:Parametric Stereo|Parametric Stereo]] (PS). The [[codec]] can operate at very low bitrates and is good for [[internet radio]] streaming.  A 48 kilobit-per-second stream is considered to have higher quality than 128 [[kbit/s]] [[MP3]].
 
Enhanced aacPlus combines SBR and [[wikipedia:Parametric Stereo|Parametric Stereo]] (PS). The [[codec]] can operate at very low bitrates and is good for [[internet radio]] streaming.  A 48 kilobit-per-second stream is considered to have higher quality than 128 [[kbit/s]] [[MP3]].
  
VLC supports HE-AAC through the [[FAAD2]] library.
+
=== SLS / HD-AAC ===
 +
MPEG-4 Scalable to Lossless is a 2006 extension to add Lossless support to AAC.
 +
 
 +
It copies the idea of wavpack hybrid to encode and split the difference between lossy and lossless versions.
  
VideoLAN uses the [[FAAC]] (encoder) and [[FAAD]] (decoder) to provide support for AAC audio.
+
Some version of SLS is marketed as HD-AAC
  
 +
== VLC support ==
 +
{{codec audio|mod=faad|id=mp4a}}
  
{{codec audio|mod=faad2}}
+
=== Decoding ===
 +
VLC supports AAC and HE-AAC through the libraries [[libfaad]] and [[libavcodec]].
  
 +
The FAAD module supports Main (Main, LC, SSR), LD, ER, LTP, SBR and PS.<br />
 +
It should decode AAC, HeAAC and HeAACv2 streams. It should not decode HD-AAC/AAC-SLS or AAC-ELD streams.
  
==External links==
+
The avcodec  module supports Main (Main, LC), LTP, SBR and ALS.
* [http://www.tuner2.com/ Tuner2.com] list of Internet radio stations using aacPlus
 
* [http://www.codingtechnologies.com/products/aacPlus.htm aacPlus explained]
 
* [http://sourceforge.net/projects/faac/ Freeware Advanced Audio Coder] FAAC(encoder) and FAAD2 (decoder)
 
  
== Related Links ==
+
=== Encoding ===
* [[HE-AAC]]
+
VLC support AAC encoding through the [[libavcodec]] library.
* [http://www.audiocoding.com/ FAAC and FAAD]
 

Latest revision as of 10:23, 14 April 2019

AAC is a set of codecs designed to provide better compression than MP3s, and are improved versions of MPEG audio.

AAC has many options and profiles available.

Introduction

AAC actually refers to two similar codecs - MPEG-2 Part 7 (Advanced Audio Coding) and MPEG-4 Part 3. It has many options and is heavily customisable depending on the desired output

It has some advantages over MP3 - it has a greater range of sample frequencies, up to 48 channels and higher coding efficiency. It also has much better handling of frequencies above 16 kHz. Depending on the AAC profile and the MP3 encoder, 96 kbit/s AAC can give nearly the same or better perceptional quality as 128 kbit/s MP3.

MPEG-4 AAC is used by iTunes and iPod (see also Apple webpage on AAC) and most of the portable devices.

Profiles and extensions

Main

The main codec for AAC, as defined in MPEG-2, had 3 profiles:

  • Low Complexity profile (LC)
  • Main profile (Main)
  • Scalable Sampling Rate (SSR)

In MPEG-4, it combines it with Perceptual Noise Substitution (PNS) extension.

ER - Error Resilience

This is an extension to improve error resilience on AAC.

LD - Low Delay

LD is an 2000 extension used to improve AAC for 2-way communication.

ELD - Extended Low Delay

ELD is a 2008 extension of AAC that improves LD further.

LTP

LTP is an extension from 1999 that uses Long Term Prediction.

He-AAC / AAC+

High Efficiency AAC (aka aacPlus), is a lossy data compression scheme for audio streams, and is part of the MPEG-4 Part 3 specification.

HE-AAC combines Advanced Audio Coding (AAC) with spectral band replication (SBR)

He-AACv2 / eAAC+

Enhanced aacPlus combines SBR and Parametric Stereo (PS). The codec can operate at very low bitrates and is good for internet radio streaming. A 48 kilobit-per-second stream is considered to have higher quality than 128 kbit/s MP3.

SLS / HD-AAC

MPEG-4 Scalable to Lossless is a 2006 extension to add Lossless support to AAC.

It copies the idea of wavpack hybrid to encode and split the difference between lossy and lossless versions.

Some version of SLS is marketed as HD-AAC

VLC support

mp4a
This is an audio codec. The name to use at the command line is mp4a.
This codec is from the faad module.

Decoding

VLC supports AAC and HE-AAC through the libraries libfaad and libavcodec.

The FAAD module supports Main (Main, LC, SSR), LD, ER, LTP, SBR and PS.
It should decode AAC, HeAAC and HeAACv2 streams. It should not decode HD-AAC/AAC-SLS or AAC-ELD streams.

The avcodec module supports Main (Main, LC), LTP, SBR and ALS.

Encoding

VLC support AAC encoding through the libavcodec library.