High-Efficiency Advanced Audio Coding

From HandWiki
Short description: Audio codec
High-Efficiency Advanced Audio Coding
Filename extensionsMPEG/3GPP Container
  • .m4a, .mp4, .3gp

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

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

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

Encoding

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

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

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.)[lower-alpha 1]
Amarok 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 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

Commercial trademarks and labeling

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

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

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

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

Notes

  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

  1. 1.0 1.1 1.2 ISO/IEC JTC1/SC29/WG11/N7016 (2005-01-11) (DOC), Text of ISO/IEC 14496-3:2001/FPDAM 4, Audio Lossless Coding (ALS), new audio profiles and BSAC extensions, http://kikaku.itscj.ipsj.or.jp/sc29/open/29view/29n6475t.doc, retrieved 2009-10-09 
  2. Fraunhofer IIS, MPEG-4 Audio and Video Technology, http://www.itu.int/ITU-R/study-groups/seminars/rsg6-eng/docs/(7)%20Nikolaus%20Rettelbach.pdf, retrieved 2009-10-15 [|permanent dead link|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. doi:10.1109/MSP.2008.918684. Bibcode2008ISPM...25..137H. 
  4. "Receiving NRSC-5". 9 June 2017. http://theori.io/research/nrsc-5-c. 
  5. 5.0 5.1 ISO (2003). "Bandwidth extension, ISO/IEC 14496-3:2001/Amd 1:2003". ISO. http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38148. 
  6. 6.0 6.1 ISO (2006). "Audio Lossless Coding (ALS), new audio profiles and BSAC extensions, ISO/IEC 14496-3:2005/Amd 2:2006". ISO. http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43026. 
  7. 7.0 7.1 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. http://www.3gpp.org/ftp/Specs/archive/26_series/26.401/26401-600.zip. 
  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. http://webapp.etsi.org/workprogram/Report_WorkItem.asp?wki_id=21806. 
  9. 9.0 9.1 ISO (2004). "Parametric coding for high-quality audio, ISO/IEC 14496-3:2001/Amd 2:2004". ISO. http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=39382. 
  10. "Results of 64kbit/s Listening Test". 23 June 2007. http://www.rjamorim.com/test/64test/results.html. 
  11. "Multiformat Listening Test @ 48 kbps - FINISHED". http://www.hydrogenaud.io/forums/index.php?showtopic=50888. 
  12. "80 kbps personal listening test (summer 2005)". http://www.hydrogenaud.io/forums/index.php?showtopic=35438. 
  13. "MP3 – WMA – AAC – OGG – qualité à 96 kbps (évaluation) - Traitement Audio - Video & Son - FORUM HardWare.fr". http://forum.hardware.fr/hardwarefr/VideoSon/MP3-WMA-AAC-OGG-qualite-kbit/s-evaluation-sujet-84950-1.htm. 
  14. "Hydrogen audio 2011 multiformat listening test unofficial results page". http://people.xiph.org/~greg/opus/ha2011/. 
  15. "Apple - iTunes - Learn about the features of iTunes 10". https://www.apple.com/itunes/features/#importing. 
  16. "iTunes". https://www.apple.com/itunes/features/#radio. 
  17. "Nero AAC Codec". http://www.nero.com/ena/technologies-aac-codec.html. 
  18. Bouvigne, Gabriel (2006-03-20). "48kbps AAC public test results". MP3'Tech. http://www.mp3-tech.org/tests/aac_48/results.html. 
  19. "Free Download Winamp Transcoder 2.0". http://www.free-codecs.com/download/Winamp_Transcoder.htm. 
  20. 20.0 20.1 "Supported Media Formats". Google. http://developer.android.com/guide/appendix/media-formats.html. 
  21. "iPod touch: Supported file formats" (in en). https://support.apple.com/en-us/HT1709. 
  22. "AIMP". http://www.aimp.ru/. 
  23. "Adobe Flash Player". http://www.adobe.com/products/hdvideo/supported_technologies/heaacv2.html. 
  24. "Adobe bringing HD video, high quality audio to Flash using H.264, AAC (iPhone Flash support?) – MacDailyNews - Welcome Home". 21 August 2007. http://macdailynews.com/2007/08/21/adobe_bringing_hd_video_high_quality_audio_to_flash_using_h264_aac/. 
  25. "Playing Icecast streaming audio in Flash Player - Adobe Developer Connection". http://www.adobe.com/devnet/flashplayer/articles/icecast-streams.html. 
  26. "Orban Codec Products ~ Opticodec-PC 1020 Codec". http://www.orban.com/products/codec/software/opticodec-pc1020/codec/. 
  27. Via Licensing. "Licensing Programs". http://www.via-corp.com/us/en/licensing.html. 
  28. Via Licensing. "AAC Licensing FAQ". http://www.via-corp.com/us/en/licensing/aac/faq.html. 
  29. Thomson. "Thomson/FhG MP3 Licensing". http://www.mp3licensing.com/royalty/. 
  30. Mihir Mody (2005-06-06). "Audio compression gets better and more complex". Embedded.com. http://www.embedded.com/columns/specialreports/164300682?_requestid=60812. [yes|permanent dead link|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 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 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 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. http://www.3gpp.org/ftp/Specs/html-info/26346.htm. 
  35. 3GPP (2004). "3GPP TS 26.401 - General audio codec audio processing functions; Enhanced aacPlus general audio codec; General description". 3GPP. http://www.3gpp.org/ftp/Specs/html-info/26401.htm. 
  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. http://webapp.etsi.org/workprogram/Report_WorkItem.asp?wki_id=30945. 
  38. "Archived copy". http://www.codingtechnologies.com/products/assets/CT_aacPlus_whitepaper.pdf. 
  39. "xHE-AAC". https://www.iis.fraunhofer.de/en/ff/amm/broadcast-streaming/xheaac.html. 

External links

  • Stream.Media Radio Streaming Provider that provides every stream in HE-AACv2
  • MPEG-4 HE-AAC v2 — audio coding for today's digital media world, article in the EBU technical review (01/2006) giving explanations on HE-AAC.
  • Tuner2.com list of Internet radio stations using aacPlus
  • RadioFeeds UK & Ireland (AAC+) UK terrestrial radio stations streaming online in aacPlus format
  • aacPlus explained
  • Open Source AAC codec FAAC (encoder) and FAAD2 (decoder)
  • Reworked HE-AAC encoder aacplusenc (Windows binary aacplusenc.exe only goes to 51 kbit/s.)
  • SNG 1.3 Front-end for Nero Encoder e.g. AAC-LC, HE-AAC, HE-AACv2 e.g.(Van Halen's Panama HE-AAC maxed at 205 kbit/s)
  • neroAacEnc.exe - the Nero Encoder back-end for the SNG 1.3 front-end.
  • Winamp.com Audio player/ripper that allows you to rip CDs into HE-AAC and convert other audio files into HE-AAC (with a free add-on).
  • EZ CD Audio Converter CD Ripper, Audio Converter, and CD Burner that allows you to rip to AAC-LC and HE-AAC, convert to AAC-LC and HE-AAC and burn AAC-LC and HE-AAC to an Audio CD.
  • Die Plattenkiste Albumplayer, Ripper, Converter, and CD Burner that allows you to rip to AAC and aacPlus, convert to AAC and aacPlus and burn AAC and aacPlus to gapless Audio-CD.
  • mp3PRO vs MP3 - includes graphs comparing high-frequency performance for MP3pro (similar to HE-AAC+)
  • Official MPEG web site
  • Via Licensing Corporation - HE-AAC Patent Pool
  • RFC 4281 - The Codecs Parameter for "Bucket" Media Types
  • Fraunhofer AAC Test Site