Skip to content
Bertrand Caron edited this page Nov 22, 2023 · 58 revisions

MPEG-2/4 Audio (AAC) (codec) Statut

Description

L’AAC (Advanced Audio Coding) est un codec audio défini dans la norme MPEG-2 (partie 7) puis MPEG-4 (partie 3). Il s'agit d'un algorithme de compression audio avec perte offrant un meilleur rapport qualité/débit que l'ancien MPEG-1/2 Audio Layer 3 (MP3). Il a été conçu en 1997 par le Fraunhofer-Institut en collaboration avec AT&T, Sony et Dolby. Il s'agit d'un codec documenté et normalisé à l'ISO (CPO-DOC) mais son utilisation reste soumise à redevances (CPO-LIB). Il est conçu pour être transmis sur des réseaux à faible bande passante, donc universellement utilisé dans des applications de streaming, de distribution en ligne ou de télévision sur support mobile, mais il est possible de l'utiliser avec un débit et donc une qualité plus élevés.

En raison de sa compression avec pertes, le format AAC n'est pas habituellement considéré comme un format de données de préservation, mais l'efficacité de sa compression, son caractère documenté et sa large adoption en font un format généralement accepté, notamment comme flux audio synchronisé à un contenu vidéo compressé.

Qualité et caractéristiques du flux

Les données audio AAC ont des fréquences d’échantillonnage de 8 kHz à 192 kHz avec un nombre de canaux audio pouvant aller jusqu’à 48. Un fichier AAC peut donc être mono, double mono, stéréo, joint stéréo ou multicanal. Les canaux peuvent être groupés (cas du joint stéréo et du multicanal) pour tirer parti de la corrélation intercanal et augmenter la compression. Le débit binaire peut varier entre 8 et 529 kbit/s en fonction du taux et du mode de compression choisi.

On notera également que différents modes de compression sont utilisables : CBR (Constant bitrate) pour un débit fixe, VBR (Variable bitrate) pour un débit variable.

Un flux AAC est constitué d'objects, qui peuvent être de différents types ; les profils (extensions) d'AAC définissent quels objects peuvent être embarqués. Ainsi, le profil AAC-LC n'autorise (dans sa version décrite par la norme MPEG-2 partie 7) que des objects de type "AAC Low Complexity".

Sociabilité

Le format AAC est un standard internationalement répandu et adopté, notamment parce qu'il a été largement soutenu par Apple qui l’a choisi comme principal format de fichier pour ses baladeurs iPod, dans son logiciel iTunes ou sa plateforme de streaming. Apple est suivi par de nombreuses autres plateformes de streaming audio (Youtube Music, Spotify). En 2006 Sony adopte lui aussi ce format pour ses baladeurs. La RNT (radio numérique terrestre) dans son système de radio diffusion DAB+ (Digital Audio Broadcasting +) l'utilise également, dans sa version HE-AAC version 2. Enfin, de nombreuses consoles de jeu l'adoptent et il est supporté nativement par la très grande majorité des navigateurs web.

Relations à d'autres formats

Le format de flux audio AAC a été conçu dans le but de remplacer le MP3.

Le format Unified Speech and Audio Coding (USAC), décrit dans les normes MPEG-D (ISO/IEC 23003-3) et MPEG-4 partie 3 (ISO/IEC 14496-3:2009/Amd 3), permet de conserver une qualité satisfaisante à des débits très réduits, notamment pour la diffusion radio et télévision et les réseaux mobiles. Bien que son nom commercial soit "xHE-AAC" (Extended High Efficiency AAC) il s'agit d'un format d'encodage différent de l'AAC.

La sous-partie 11 de la norme MPEG-4 partie 3 définit un format proche, ALS (pour Audio Lossless Coding, ou MPEG-4 ALS), qui permet une compression sans perte mais n'est pas largement adopté et ne dispose donc pas d'un bon support logiciel. Autre format lié, le HD-AAC, fondé sur la sous-partie 12 de la norme MPEG-4 partie 3 (Scalable Lossless Encoding) permet d'embarquer un flux AAC standard (compressé avec pertes) et un flux non compressé, afin d'assurer une diffusion adaptée à la bande passante.

Versions

AAC dispose de nombreux profils permettant de gérer de multiples extensions et de répondre à différents usages. Il est également caractérisé par des niveaux (levels) définissant la fréquence d'échantillonnage et le nombre de flux audio décodés simultanément. La partie 7 de la norme MPEG-2 définissait en 1997 trois profils : Low Complexity (AAC-LC), la plus utilisée, la plus simple et la plus couramment gérée par les outils ; Main profile et Scalable Sampling Rate profile (AAC-SSR). Après la publication de la norme MPEG-4 en 1999, de nombreux autres profils sont développés, extensions de la norme mais qui restent rétro-compatibles. Parmi ces derniers on peut citer :

  • HE-AAC (pour High efficiency), aussi appelé AAC+, défini en 2003 et sa version 2, définie en 2004, permettent de conserver une qualité satisfaisante à des débits réduits, notamment pour le streaming ;
  • AAC-LD (pour Low delay), AAC-ELD (pour Enhanced Low Delay) et AAC-ELD version 2, optimisé pour les secteurs de la téléphonie et de la visioconférence.

Conteneur

La norme MPEG-2 partie 7 spécifie deux formats conteneurs pour le flux audio AAC :

  • ADIF (Audio Data Interchange Format), simple en-tête suivi du flux brut AAC, utilisé pour l'échange de fichiers (extension .aac) ;
  • ADTS (Audio Data Transport Stream), très proche des conteneurs Transport Stream MPEG-1/2, qui définit des en-têtes pour chaque frame et permet ainsi la resynchronisation, donc le streaming.

À partir de la norme MPEG-4 partie 3, le codec AAC est plus généralement embarqué dans d'autres conteneurs multimédia : MP4 le plus souvent, mais aussi Quicktime File Format (en particulier par Apple pour ses fichiers .m4p diffusés par iTunes), MKV, AVI, 3GP, 3G2, FLV, F4V, M2TS, MXF, etc. Pour le streaming, la norme MPEG-4 partie 3 définit également un format conteneur pour un flux AAC non multiplexé : Low Overhead Audio Stream (LOAS), et sa version multiplexée, Low Overhead Audio Transport Multiplex (LATM).

Il peut de même être associé à une grande variété de codecs vidéo.

Organisme de maintenance et documentation de référence

Le format est normalisé par le groupe Moving Picture Experts Group qui maintient les normes ISO/CEI 13818-7 (MPEG-2 Partie 7) et ISO/CEI 14496-3 (MPEG-4 Partie 3, en particulier la sous-partie 4 qui définit l'AAC-LC).

Normes ISO :

  • MPEG-2 partie 7 : ISO/IEC 13818-7:2006 « Generic coding of moving pictures and associated audio information — Part 7: Advanced Audio Coding (AAC) » ;
  • MPEG-4 partie 3 : ISO/IEC 14496-3:2019 « Coding of audio-visual objects — Part 3: Audio ».

Identifiants

Plusieurs types MIME sont associés aux flux AAC selon le conteneur qui les embarque : audio/aac (type MIME officiel enregistré par l'IANA), audio/mp4 (AAC dans un conteneur MP4), audio/x-m4a (notamment pour les fichiers MP4 AAC LC issus d'iTunes), audio/x-hx-aac-adif (AAC dans un conteneur ADIF), audio/x-hx-aac-adts (AAC dans un conteneur ADTS), audio/x-mp4a-latm pour un flux AAC multiplexé en streaming, etc.

Registre Identifiant
Wikidata Q337594
Bibliothèque du Congrès fdd000036 AAC_MP2 : Advanced Audio Coding (MPEG-2)
fdd000112 AAC_ADIF : Advanced Audio Coding (MPEG-2), Audio Data Interchange Format
fdd000114 AAC_MP4 : Advanced Audio Coding (MPEG-4)
fdd000233 AAC_MP4_LC : AAC (MPEG-4) Low Complexity Object
fdd000234 MP4_FF_2_AAC : MPEG-4 File Format, V.2, with Advanced Audio Coding
fdd000110 QTA_AAC : QuickTime Audio, AAC Codec
Just Solve the File Format Problem AAC

Caractéristiques techniques

AAC dispose de mécanismes de correction d'erreur (CPO-ROB). En outre, un paramétrage optionnel d'AAC, AAC-ER (pour Error resilient) le rend particulièrement résilient en cas de transmission via un réseau de qualité variable.

Les flux AAC peuvent être protégés par des mécanismes de gestion des droits numériques (DRM), notamment ceux diffusés par iTunes (via le DRM propriétaire d'Apple, Fairplay) de 2003 à 2009 (CPO-PRO).

Outils

De très nombreux outils permettent la lecture de fichiers AAC, ou du moins de leur partie AAC-LC, tous les lecteurs n'étant pas en mesure d'exploiter les extensions complémentaires.

On notera l'existence d'outils payants existent pour valider et analyser des flux audio AAC : AAC AUDIO VALIDATION et AAC Audio ES Viewer. Ils sont ici cités à titre informatif, la BnF ne les ayant pas testés.

L'outil open source ffmpeg et ses outils liés (ffplay, ffprobe) permettent de lire, encoder et analyser les flux audio AAC. Ffmpeg s'appuyant sur une bibliothèque AAC développée par le Fraunhofer Institut et soumise à des brevets logiciels aux États-Unis, il est nécessaire de s'assurer de disposer d'une version compilée avec l'option --enable-nonfree pour utiliser cette version officielle.

Le plugin File Integrity Verifier de l'outil Foobar2000, fondé sur ffmpeg, est capable d'évaluer l'intégrité de flux audio, dont ceux au format AAC, que ceux-ci disposent d'empreintes numériques CRC-32 ou MD5 embarquées ou non.

L'outil d'analyse et d'extraction de métadonnées techniques pour la BnF est MediaInfo.

Métadonnées internes

Les en-têtes de chaque frame intègrent des métadonnées techniques. Optionnellement, l'empreinte numérique au format CRC-32 de la frame y est spécifiée.

Usage ou présence dans les collections de la BnF

Le format AAC est prescrit comme flux audio pour le dépôt légal de la vidéo.

L'AAC est également le format du flux audio demandé à partir de 2012 par la BnF pour la numérisation des images animées. Le référentiel de numérisation sur les formats vidéo décrit les paramètres demandés dans ce cas, ainsi que les cas particuliers où le FLAC lui est préféré.

Clone this wiki locally