Fraunhofer FDK AAC
   HOME

TheInfoList



OR:

Fraunhofer FDK AAC is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
library A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
for encoding and decoding digital audio in the
Advanced Audio Coding Advanced Audio Coding (AAC) is an audio coding standard for lossy digital audio compression. It was developed by Dolby, AT&T, Fraunhofer and Sony, originally as part of the MPEG-2 specification but later improved under MPEG-4.ISO (2006ISO/ ...
(AAC) format. Fraunhofer IIS developed this library for Android 4.1. It supports several Audio Object Types including
MPEG-2 MPEG-2 (a.k.a. H.222/H.262 as was defined by the ITU) is a standard for "the generic coding of moving pictures and associated audio information". It describes a combination of lossy video compression and lossy audio data compression methods ...
and
MPEG-4 MPEG-4 is a group of international standards for the compression of digital audio and visual data, multimedia systems, and file storage formats. It was originally introduced in late 1998 as a group of audio and video coding formats and related ...
AAC LC, HE-AAC (AAC LC + SBR), HE-AACv2 (LC + SBR + PS) as well
AAC-LD The MPEG-4 Low Delay Audio Coder (a.k.a. AAC Low Delay, or AAC-LD) is audio compression standard designed to combine the advantages of perceptual audio coding with the low delay necessary for two-way communication. It is closely derived from the M ...
(low delay) and AAC-ELD (enhanced low delay) for real-time communication. The encoding library supports
sample rate In signal processing, sampling is the reduction of a continuous-time signal to a discrete-time signal. A common example is the conversion of a sound wave to a sequence of "samples". A sample is a value of the signal at a point in time and/or ...
s up to 96 kHz and up to eight channels (7.1 surround).


Operation

The Android-targeted implementation of the Fraunhofer AAC encoder uses fixed-point math and is optimized for encoding on embedded devices/mobile phones. The library is currently limited to 16-bit
PCM Pulse-code modulation (PCM) is a method used to Digital signal (signal processing), digitally represent analog signals. It is the standard form of digital audio in computers, compact discs, digital telephony and other digital audio application ...
input. Other versions of the Fraunhofer encoder, like the one included in
Winamp Winamp is a media player (software), media player for Microsoft Windows originally developed by Justin Frankel and Dmitry Boldyrev by their company Nullsoft, which they later sold to AOL in 1999 for $80 million. It was then acquired by Rad ...
, are optimized for encoding music on desktop-class processors. Those versions of the encoder, however, are not open-source and require a commercial license. Version 2 of the library, introduced with Android P, also includes support for xHE-AAC and AAC-ELD v2. xHE-AAC extends the operating range of the codec from 12 to 300 kb/s for stereo signals and allows seamless switching between bitrates over this range for adaptive bitrate delivery (using standards such as
MPEG-DASH Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG-DASH, is an adaptive bitrate streaming technique that enables high quality streaming of media content over the Internet delivered from conventional HTTP web servers. Similar to Appl ...
or HLS for example). xHE-AAC also includes MPEG-D DRC mandatory loudness control to playback content at a consistent volume and offers new dynamic range control profiles for listening in noisy situations. The FDK AAC encoder employs a more aggressive default
low-pass filter A low-pass filter is a filter that passes signals with a frequency lower than a selected cutoff frequency and attenuates signals with frequencies higher than the cutoff frequency. The exact frequency response of the filter depends on the filt ...
than is used in other codecs. Higher frequencies are removed so that more bits are available to better describe sounds of lower frequencies, improving the overall quality for most combinations of recordings and listeners. In some, not completely rare, combinations the missing high frequencies are noticeable. The library allows overriding the low-pass filter setting, and in the highest VBR mode effectively applies no filter at all. A cross-platform source distribution is maintained by Martin Storsjö as part of the opencore-amr project under the name fdk-aac. The code compiles into a shared library, libfdk-aac. The media frameworks
FFmpeg FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing vide ...
and Libav support audio encoding through libfdk-aac.


Licensing

The license included by Fraunhofer in the FDK library source code allows redistribution in source or binary forms, but does not license patented technologies described by the code. The license states that the library may only be used for purposes as authorized by patent licenses. Via Licensing administers a patent pool that includes patent licenses for the AAC codecs, including xHE-AAC and MPEG-D DRC. The FDK license also states that "most manufacturers of Android devices already license these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec software may already be covered under those patent licenses when it is used for those licensed purposes only." There is no license fee required for using an AAC codec such as FDK AAC, only for manufacturing an "end-user"
codec A codec is a computer hardware or software component that encodes or decodes a data stream or signal. ''Codec'' is a portmanteau of coder/decoder. In electronic communications, an endec is a device that acts as both an encoder and a decoder o ...
such as producing a phone loaded with AAC software.
Debian Debian () is a free and open-source software, free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kerne ...
considers the FDK AAC license non-free because it prohibits people from charging a fee for distributing the library, which runs counter to the "No Discrimination Against Fields of Endeavor" rule in
Debian Free Software Guidelines ''The Open Source Definition'' (OSD) is a policy document published by the Open Source Initiative. Derived from the Debian Free Software Guidelines written by Bruce Perens, the definition is the most common standard for open-source software. ...
. The license was classified as free by
Fedora A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
after a review by the legal department at
Red Hat Red Hat, Inc. (formerly Red Hat Software, Inc.) is an American software company that provides open source software products to enterprises and is a subsidiary of IBM. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North ...
, though it's no longer classified as "allowed" due Fedora adopting a more defensive posture toward patents. However, Fedora states that this will not affect the fdk-aac-free package, which enables only the commonly used "Low Complexity AAC" profile, which is what most people use. The US patents on LC-AAC have expired. The FSF also considers it to be free, though discourages its use due to the explicit lack of a patent grant.


See also

* Nero AAC Codec *
FAAC FAAC (Freeware Advanced Audio Coder) is a software project which includes the Advanced Audio Coding, AAC data compression, encoder FAAC and Audio decoder, decoder FAAD2. It supports MPEG-2 AAC as well as MPEG-4 AAC. It supports several MPEG-4 Au ...
*
MPEG-4 Part 3 MPEG-4 Part 3 or MPEG-4 Audio (formally ISO/ IEC 14496-3) is the third part of the ISO/ IEC MPEG-4 international standard developed by Moving Picture Experts Group. It specifies audio coding methods. The first version of ISO/IEC 14496-3 was publis ...


References


External links

;Information *
Fraunhofer AAC Audio Playback Test SiteFraunhofer FDK AAC
at Hydrogenaudio Knowledgebase
Detailed information about the Fraunhofer FDK AAC encoder used in the EZ CD Audio ConverterVia Licensing Advanced Audio Coding
;Implementations
Official FDK source code repository
at the Android Open Source Project
fdk-aac
at Debian Package Tracker
"libfdk-aac" repo
at GitHub — FDK AAC as a shared library
"fdkaac" repo
at GitHub.com – a cross-platform command-line encoding and metadata utility that employs the libfdk-aac shared library
"fdk-aac-win32-builder repo"
at GitHub – a script for compiling the two repos above. (The binaries cannot distributed because of the FDK AAC licensing.) {{Compression Software Implementations, state=collapsed Audio codecs Cross-platform software