High-Efficiency Advanced Audio Coding

From Wikipedia, the free encyclopedia
High-Efficiency Advanced Audio Coding
Filename extensionsMPEG/3GPP Container

Apple Container

  • .m4a, .m4b, .m4p, .m4r, .m4v

ADTS Stream - NOT raw - Contains Headers

  • .aac
Internet media typeaudio/aac
audio/aacp
audio/3gpp
audio/3gpp2
audio/mp4
Developed byISO
Type of formatAudio compression format
Contained byMPEG-4 Part 14, 3GP and 3G2, ISO base media file format, Audio Data Interchange Format (ADIF), Audio Data Transport Stream (ADTS)
Extended fromAAC
StandardISO/IEC 14496-3
Hierarchical structure of AAC profile, HE-AAC profile and HE-AAC v2 profile, and compatibility between them. The HE-AAC profile decoder is fully capable of decoding any AAC profile stream. Similarly, The HE-AAC v2 decoder can handle all HE-AAC profile streams as well as all AAC profile streams. Based on the MPEG-4 Part 3 technical specification.[1]
Evolution from MPEG-2 AAC-LC (Low Complexity) Profile and MPEG-4 AAC-LC Object Type to HE-AAC v2 Profile.[2]

High-Efficiency Advanced Audio Coding (HE-AAC) is an audio coding format for lossy data compression of digital audio defined as an MPEG-4 Audio profile in ISO/IEC 14496–3. It is an extension of Low Complexity AAC (AAC-LC) optimized for low-bitrate applications such as streaming audio. The usage profile HE-AAC v1 uses spectral band replication (SBR) to enhance the modified discrete cosine transform (MDCT) compression efficiency in the frequency domain.[3] The usage profile HE-AAC v2 couples SBR with Parametric Stereo (PS) to further enhance the compression efficiency of stereo signals.

HE-AAC is used in digital radio standards like HD Radio,[4] DAB+ and Digital Radio Mondiale.

History[edit]

The progenitor of HE-AAC was developed by Coding Technologies by combining MPEG-2 AAC-LC with a proprietary mechanism for spectral band replication (SBR), to be used by XM Radio for their satellite radio service. Subsequently, Coding Technologies submitted their SBR mechanism to MPEG as a basis of what ultimately became HE-AAC.

HE-AAC v1 was standardized as a profile of MPEG-4 Audio in 2003 by MPEG and published as part of the ISO/IEC 14496-3:2001/Amd 1:2003[5] specification.

The HE-AAC v2 profile was standardized in 2006 as per ISO/IEC 14496-3:2005/Amd 2:2006.[1][6]

Parts of the HE-AAC specification had previously been standardized and published by various bodies in 3GPP TS 26.401 ,[7] ETSI TS 126 401 V6.1.0 ,[8] ISO/IEC 14496-3:2001/Amd.1:2003 and ISO/IEC 14496-3:2001/Amd 2:2004. [9]

At the time, Coding Technologies had already begun using the trade names AAC+ and aacPlus for what is now known as HE-AAC v1, and aacPlus v2 and eAAC+ for what is now known as HE-AAC v2.

Perceived quality[edit]

Testing indicates that material decoded from 64 kbit/s HE-AAC does not quite have similar audio quality to material decoded from MP3 at 128 kbit/s using high quality encoders.[10][11][12][13] The test, taking bitrate distribution and RMSD into account, is a tie between mp3PRO, HE-AAC and Ogg Vorbis.

Further controlled testing by 3GPP during their revision 6 specification process indicates that HE-AAC and HE-AAC v2 provide "Good" audio quality for music at low bit rates (e.g., 24 kbit/s).

In 2011, a public listening test[14] comparing the two best-rated HE-AAC encoders at the time to Opus and Ogg Vorbis indicated that Opus had statistically significant superiority at 64 kbit/s over all other contenders, and second-ranked Apple's implementation of HE-AAC as statistically superior to both Ogg Vorbis and Nero HE-AAC, which were tied for third place.

MPEG-2 and MPEG-4 AAC-LC decoders without SBR support will decode the AAC-LC part of the audio, resulting in audio output with only half the sampling frequency, thereby reducing the audio bandwidth. This usually results in the high-end, or treble, portion of the audio signal missing from the audio product.

Support[edit]

Encoding[edit]

Orban Opticodec-PC Streaming and File Encoders were the first commercially available encoders supporting AAC-LC/HE-AAC back in 2003. They are now deprecated and replaced with StreamS Encoders from StreamS/Modulation Index with many more features, including support xHE-AAC/Unified Speech and Audio Coding. They are now in use at some of the largest content providers, and are considered to be the standard of the industry for live encoding.

Sony supports HE-AAC encoding since SonicStage version 4.

iTunes 9 supports HE-AAC encoding and playback.[15][16]

Nero has released a free-of-charge command line HE-AAC encoder, Nero AAC Codec,[17] and also supports HE-AAC inside the Nero software suite.

Sorenson Media's Squeeze Compression Suite includes an HE-AACv1 encoder and is available for macOS as well as Windows.

The 3GPP consortium released source code of a reference HE-AACv2 encoder that appears to offer competitive quality.[18]

Winamp Pro also supports ripping music to HE-AAC. Using a transcoding plugin for Winamp's media library, any file can be transcoded to HE-AAC.[19]

XLD, a macOS audio encoding program, offers encoding from any of its supported formats to HE-AAC.

Nokia PC Suite may encode audiofiles to eAAC+ format before transmitting them to mobile phone.

HE-AAC v1 and v2 encoders are provided by the Fraunhofer FDK AAC library in Android 4.1 and later versions.[20]

Decoding[edit]

HE-AAC is supported in the open source FAAD/FAAD2 decoding library and all players incorporating it, such as VLC media player, Winamp, foobar2000, Audacious Media Player and SonicStage.

The Nero AAC Codec supports decoding HE and HEv2 AAC.

HE-AAC is also used by AOL Radio and Pandora Radio clients to deliver high-fidelity music at low bitrates.

iTunes 9.2 and iOS 4 include full decoding of HE-AAC v2 parametric stereo streams.

  • iTunes 9 thru 9.1, iPhone OS 3.1 and Fall 2009 iPods have support for HE-AAC playback for version 1 with no parametric stereo.
  • Older versions of Apple iTunes, iPod Touch, and iPhone will play HE-AAC files at reduced fidelity because they ignore the spectral-band replication and parametric stereo information, instead playing them as though they were standard AAC-LC files without the high-frequency, or "treble," information that is only present in the SBR part of the signal.[21] These will report the track length as twice its actual length.[citation needed]

Dolby released Dolby Pulse decoders and encoders in September 2008. HE-AAC v2 is the core of Dolby Pulse so files and streams encoded in Dolby Pulse will playback on AAC, HE-AAC v1 and v2 decoders. Conversely files and streams encoded in AAC, HE-AAC v1 or v2 will playback on Dolby Pulse decoders.

Dolby Pulse provides the following additional capabilities beyond HE-AAC v2:

  • Ability to intelligently generate and insert reversible loudness normalization and dynamic range metadata into the encoded file/stream; this metadata can then be used to optimize the playback experience based on application and/or device.
  • Ability to insert custom metadata into the encoded file, and extract this metadata on playback

Dolby has additionally released a PC decoder as an SDK suitable for integration into PC applications requiring Dolby Pulse, HE-AAC or AAC playback capabilities.

HE-AAC v2 decoders are provided in all versions of Android.[20] Decoding is handled by Fraunhofer FDK AAC since Android version 4.1.

Clients[edit]

Application Platform Description
AIMP Windows A Winamp-like alternative music player.[22]
Adobe Flash Player Windows, macOS, ChromeOS, Linux Browser plug-in.[23][24] Supports AAC+ from any RTMP source.
Live streams wrapped in an ADTS container are not natively supported and have to be re-wrapped. (e.g. Icecast KH can serve streams in a .flv container, which is compatible with Flash.)[a]
Amarok (software) Windows, Linux Open-source music player.
Audacious Media Player Windows, Linux Open-source music player.
Deadbeef Linux, Android Open-source music player.
Die Plattenkiste Windows Freeware internet radio application (in German).
foobar2000 Windows Freeware music player.
fre:ac Windows, macOS, Linux Open-source audio converter.
FStream macOS, iOS Internet radio application.
GuguRadio iOS Internet radio application.
Internet Radio Player Android Internet radio player.
Internet Radio Box Archived 2012-08-25 at the Wayback Machine iOS Internet radio application.
iTunes Windows, macOS Freeware music player. Pre-installed on Mac computers.
JetAudio Windows, Android Shareware media player.
MediaHuman Audio Converter Windows, macOS Freeware audio converter.
(Supports conversion of MP3, AAC, AIFF, WAV etc.)
MPlayer Windows, macOS and Linux Open-source media player.
Mpv (media player) Windows, macOS and Linux Open-source media player.
Rockbox Various portable media devices Alternate firmware for various portable media-players, such as Apple iPod and Creative Zen.
QuickTime X macOS Media player pre-installed on Mac OS X Snow Leopard or later.
RealPlayer Windows, macOS, Linux, Android Freemium media player.
(HE-AAC v2 will only play in mono)[26]
Rhythmbox Linux Open-source music player.
Snowtape macOS Shareware internet radio application.
streamWriter Windows Open-source internet radio application.
StreamS HiFi Radio iOS Paidware internet radio player.
Tunein radio iOS, Android, Windows Phone, Blackberry Internet radio player.
VLC media player Windows, macOS, Linux, iOS, Android Open-source media player.
Winamp Windows, macOS, Android Freeware media player.
XiiaLive Android, iOS Internet radio player.
Kodi Windows, Linux, macOS, Android Open-source media player.
Media Player Classic Windows Open-source media player

Promotion aspects[edit]

Commercial trademarks and labeling[edit]

HE-AAC is marketed under the trademark aacPlus by Coding Technologies and under the trademark Nero Digital by Nero AG. Sony Ericsson, Nokia and Samsung use AAC+ to label support for HE-AAC v1 and eAAC+ to label support for HE-AAC v2 on their phones. Motorola uses AAC+ to indicate HE-AAC v1 and "AAC+ Enhanced" to indicate HE-AAC v2.[citation needed]

Licensing and patents[edit]

Companies holding patents for HE-AAC have formed a patent pool administered by Via Licensing Corporation[27] to provide a single point of license for product makers.

Patent licenses are required for end-product companies that make hardware or software products that include HE-AAC encoders and/or decoders.[28] Unlike the MP3 format before April 23, 2017,[29] content owners are not required to pay license fees to distribute content in HE-AAC.

Standards[edit]

HE-AAC profile was first standardized in ISO/IEC 14496-3:2001/Amd 1:2003.[5] HE-AAC v2 profile (HE-AAC with Parametric Stereo) was first specified in ISO/IEC 14496-3:2005/Amd 2:2006.[1][6][30] The Parametric Stereo coding tool used by HE-AAC v2 was standardized in 2004 and published as ISO/IEC 14496-3:2001/Amd 2:2004.[9][7]

The current version of the MPEG-4 Audio (including HE-AAC standards) is published in ISO/IEC 14496-3:2009.

Enhanced aacPlus is required audio compression format in 3GPP technical specifications for 3G UMTS multimedia services and should be supported in IP Multimedia Subsystem (IMS), Multimedia Messaging Service (MMS), Multimedia Broadcast/Multicast Service (MBMS) and Transparent end-to-end Packet-switched Streaming Service (PSS).[31][32][33][34] HE-AAC version 2 was standardized under the name Enhanced aacPlus by 3GPP for 3G UMTS multimedia services in September 2004 (3GPP TS 26.401).[35]

HE-AAC and HE-AAC v2 audio coding for DVB applications is standardized by TS 101 154.[36][37] AacPlus v2 by Coding Technologies[38] is also standardized by the ETSI as TS 102 005 for Satellite services to Handheld devices (DVB-SH) below 3 GHz.

In December 2007, Brazil started broadcasting terrestrial DTV standard called International ISDB-Tb that implements video coding H.264 with audio AAC-LC on main program (single or multi) and video H.264 with audio HE-AACv2 in the 1Seg mobile sub-program.

Versions[edit]

The following is the summary of the different versions of HE-AAC:

Version Common trade names Codec feature Standards
HE-AAC v1 aacPlus v1, eAAC, AAC+, CT-aacPlus AAC-LC + SBR ISO/IEC 14496-3:2001/Amd 1:2003
HE-AAC v2 aacPlus v2, eAAC+, AAC++, Enhanced AAC+ AAC-LC + SBR + PS ISO/IEC 14496-3:2005/Amd 2:2006
xHE-AAC aacPlus v2, eAAC+, AAC++, Enhanced AAC+ AAC-LC + SBR + PS + USAC ISO/IEC 23003-3:2012/Amd 2:2012
[39]

See also[edit]

Notes[edit]

  1. ^ To deliver streaming audio, AAC data is most likely carried in either the Audio Data Interchange Format (ADIF) or via Audio Data Transport Stream (ADTS). You can parse these containers and create FLV audio tags in order to use the audio file with Data Generation Mode.[25]

References[edit]

  1. ^ a b c ISO/IEC JTC1/SC29/WG11/N7016 (2005-01-11), Text of ISO/IEC 14496-3:2001/FPDAM 4, Audio Lossless Coding (ALS), new audio profiles and BSAC extensions, archived from the original (DOC) on 2014-05-12, retrieved 2009-10-09{{citation}}: CS1 maint: numeric names: authors list (link)
  2. ^ Fraunhofer IIS, MPEG-4 Audio and Video Technology (PDF), retrieved 2009-10-15[dead link]
  3. ^ Herre, J.; Dietz, M. (2008). "MPEG-4 high-efficiency AAC coding [Standards in a Nutshell]". IEEE Signal Processing Magazine. 25 (3): 137–142. Bibcode:2008ISPM...25..137H. doi:10.1109/MSP.2008.918684.
  4. ^ "Receiving NRSC-5". theori.io. 9 June 2017. Archived from the original on 20 August 2017. Retrieved 14 April 2018.
  5. ^ a b ISO (2003). "Bandwidth extension, ISO/IEC 14496-3:2001/Amd 1:2003". ISO. Archived from the original on 2012-01-04. Retrieved 2009-10-13.
  6. ^ a b ISO (2006). "Audio Lossless Coding (ALS), new audio profiles and BSAC extensions, ISO/IEC 14496-3:2005/Amd 2:2006". ISO. Archived from the original on 2012-01-04. Retrieved 2009-10-13.
  7. ^ a b 3GPP (2004-09-30). "3GPP TS 26.401 V6.0.0 (2004-09), General Audio Codec audio processing functions; Enhanced aacPlus General Audio Codec; General Description (Release 6)" (DOC). 3GPP. Archived from the original on 2006-08-19. Retrieved 2009-10-13.{{cite web}}: CS1 maint: numeric names: authors list (link)
  8. ^ 3GPP (2005-01-04). "ETSI TS 126 401 V6.1.0 (2004-12) - Universal Mobile Telecommunications System (UMTS); General audio codec audio processing functions; Enhanced aacPlus general audio codec; General description (3GPP TS 26.401 version 6.1.0 Release 6)". 3GPP. Retrieved 2009-10-13.{{cite web}}: CS1 maint: numeric names: authors list (link)
  9. ^ a b ISO (2004). "Parametric coding for high-quality audio, ISO/IEC 14496-3:2001/Amd 2:2004". ISO. Archived from the original on 2012-01-04. Retrieved 2009-10-13.
  10. ^ "Results of 64kbit/s Listening Test". 23 June 2007. Archived from the original on 23 June 2007. Retrieved 3 May 2018.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  11. ^ "Multiformat Listening Test @ 48 kbps - FINISHED". www.hydrogenaud.io. Archived from the original on 8 July 2014. Retrieved 3 May 2018.
  12. ^ "80 kbps personal listening test (summer 2005)". www.hydrogenaud.io. Archived from the original on 8 July 2014. Retrieved 3 May 2018.
  13. ^ "MP3 – WMA – AAC – OGG – qualité à 96 kbps (évaluation) - Traitement Audio - Video & Son - FORUM HardWare.fr". forum.hardware.fr. Archived from the original on 15 July 2012. Retrieved 3 May 2018.
  14. ^ "Hydrogen audio 2011 multiformat listening test unofficial results page". people.xiph.org. Archived from the original on 25 July 2012. Retrieved 3 May 2018.
  15. ^ "Apple - iTunes - Learn about the features of iTunes 10". Archived from the original on 2011-03-29. Retrieved 2011-03-29.
  16. ^ "iTunes". Apple. Archived from the original on 29 March 2011. Retrieved 3 May 2018.
  17. ^ "Nero AAC Codec". Archived from the original on 2009-12-11. Retrieved 2009-11-23.
  18. ^ Bouvigne, Gabriel (2006-03-20). "48kbps AAC public test results". MP3'Tech. Archived from the original on 2008-07-24. Retrieved 2008-09-05.
  19. ^ "Free Download Winamp Transcoder 2.0". www.free-codecs.com. Archived from the original on 20 August 2008. Retrieved 3 May 2018.
  20. ^ a b "Supported Media Formats". Google. Archived from the original on 2012-03-11. Retrieved 2013-10-10.
  21. ^ "iPod touch: Supported file formats". Apple Support. Retrieved 2019-04-07.
  22. ^ "AIMP". www.aimp.ru. Archived from the original on 8 November 2014. Retrieved 3 May 2018.
  23. ^ "Adobe Flash Player". www.adobe.com. Archived from the original on 23 July 2008. Retrieved 3 May 2018.
  24. ^ "Adobe bringing HD video, high quality audio to Flash using H.264, AAC (iPhone Flash support?) – MacDailyNews - Welcome Home". macdailynews.com. 21 August 2007. Archived from the original on 21 June 2015. Retrieved 3 May 2018.
  25. ^ "Playing Icecast streaming audio in Flash Player - Adobe Developer Connection". www.adobe.com. Archived from the original on 16 March 2015. Retrieved 3 May 2018.
  26. ^ "Orban Codec Products ~ Opticodec-PC 1020 Codec". Archived from the original on 2015-03-18. Retrieved 2014-10-19.
  27. ^ Via Licensing. "Licensing Programs". Archived from the original on 2017-05-13. Retrieved 2017-05-11.
  28. ^ Via Licensing. "AAC Licensing FAQ". Archived from the original on 2017-05-22. Retrieved 2017-05-11.
  29. ^ Thomson. "Thomson/FhG MP3 Licensing". Archived from the original on 2017-01-17.
  30. ^ Mihir Mody (2005-06-06). "Audio compression gets better and more complex". Embedded.com. Retrieved 2009-10-13.[permanent dead link]
  31. ^ ETSI (2009-04) ETSI TS 126 234 V8.2.0 (2009-04); 3GPP TS 26.234; Transparent end-to-end Packet-switched Streaming Service (PSS); Protocols and codecs Archived 2008-12-01 at the Wayback Machine Page 58. Retrieved on 2009-06-02.
  32. ^ ETSI (2009-01) ETSI TS 126 140 V8.0.0 (2009-01); 3GPP TS 26.140; Multimedia Messaging Service (MMS); Media formats and codes Archived 2008-12-06 at the Wayback Machine Page 11. Retrieved on 2009-06-02.
  33. ^ ETSI (2009-01) ETSI TS 126 141 V8.0.0 (2009-01); 3GPP TS 26.141; IP Multimedia System (IMS) Messaging and Presence; Media formats and codecs Archived 2008-10-07 at the Wayback Machine Page 10. Retrieved on 2009-06-02.
  34. ^ 3GPP (2009). "ETSI TS 126 346 V8.3.0 (2009-06); 3GPP TS 26.346; Multimedia Broadcast/Multicast Service (MBMS); Protocols and codecs". ETSI. p. 85. Archived from the original on 2008-10-04. Retrieved 2009-10-13.{{cite web}}: CS1 maint: numeric names: authors list (link)
  35. ^ 3GPP (2004). "3GPP TS 26.401 - General audio codec audio processing functions; Enhanced aacPlus general audio codec; General description". 3GPP. Archived from the original on 2008-10-04. Retrieved 2009-10-13.{{cite web}}: CS1 maint: numeric names: authors list (link)
  36. ^ ETSI TS 101 154 v1.5.1: Specification for the use of Video and Audio Coding in Broadcasting Applications based on the MPEG-2 Transport Stream
  37. ^ ETSI (2009-03-31). "TS 101 154 version 1.9.1 - Digital Video Broadcasting (DVB); Specification for the use of Video and Audio Coding in Broadcasting Applications based on the MPEG-2 Transport Stream". ETSI. Archived from the original on 2013-04-14. Retrieved 2009-10-13.
  38. ^ "Archived copy" (PDF). Archived from the original (PDF) on 2006-10-26. Retrieved 2007-01-29.{{cite web}}: CS1 maint: archived copy as title (link)
  39. ^ "xHE-AAC". Fraunhofer Institute for Integrated Circuits IIS. Retrieved 3 January 2021.

External links[edit]