# AES/EBU

L'AES3 (aussi connu sous l’appellation AES/EBU) est un standard définissant une interface de transmission audio numérique, principalement destinée à un usage professionnel. Ce format de transmission permet de véhiculer à travers une liaison série deux canaux audio PCM Linéaire sur des supports variés, comme des lignes symétriques, asymétriques, coaxiales et optiques.
Le standard fut publié pour la première fois en 1985 par l'Audio Engineering Society et fut ratifié la même année par l'Union européenne de radio-télévision (EBU).

## Historique

En octobre 1984, le groupe de travail de l'Audio Engineering Society présenta lors de la convention AES de New York, une ébauche de standard (draft) intitulée AES3. Ce projet reçut un accueil enthousiaste de la part des fabricants et des utilisateurs.
L'année suivante, l'AES publia la première version du standard AES3-1985, qui fut envoyé pour ratification à l'ANSI (Etats-Unis), l'EIAJ (Japon) et à l'EBU (Europe).
L'EBU ratifia le standard en y apportant de légères modifications, la plus significative étant l'emploi obligatoire d'un transformateur électrique dans les interfaces de transmission et de réception, alors que l'AES ne faisait que fortement le recommander$^,$. L'EBU a donc publié sa propre version du standard sous l'appellation Tech 3250, plus connu sous le nom AES/EBU.
Ainsi, bien que les deux standards ne soient pas rigoureusement identiques, les termes AES3 et AES/EBU sont généralement considérés comme synonymes.
L'AES3 a été révisé en 1992, 2003 et 2009. L'EBU Tech 3250 a été révisé en 1992 et 2004.
Le développement de l'AES3 ayant eu lieu à la même époque que la normalisation du S/PDIF par l'IEC, ces derniers ont décidé de prendre en compte l'inter-opérabilité entre les deux formats. Ainsi, l'AES3 et le S/PDIF ne présentent des différences qu'au niveau de leurs conceptions électrique et des données auxiliaires, permettant ainsi aux fabricants de concevoir des interfaces compatibles avec les deux formats à moindre coût. Voilà pourquoi on considère souvent le S/PDIF comme le pendant grand public de l'AES3.

## Technologie

L'AES3 est un protocole de communication couvrant les couches 1 (physique) et 2 (liaison) du modèle OSI.

### Connectiques

L'AES3 définit comme connecteur standard l'XLR 3 broches tel que défini par l'IEC 60268-12. Le standard évoque également l'usage de connecteurs BNC.

#### IEC 60958 Type I—Balanced, XLR

Les connecteurs IEC 60958 Type I utilisent une ligne symétrique : 3-conducteurs, 110-ohm en paires torsadées avec connecteur XLR (utilisation professionnelle). Le Type I est utilisé habituellement dans des installations professionnelles et est considéré comme le connecteur du standard.

#### Autres types de liaison

La révision AES-3id du standard ajoute la connexion par câble de 75-ohm avec connecteur BNC.
Le signal audio numérique AES3 peut être aussi transmis en mode asynchrone. C'est le standard AES47 (correspondant à l'IEC 62365) qui décrit le passage des trames AES3 vers les cellules ATM. Cela requiert une infrastructure CAT5 ou CAT6.

### Protocole
#### Composition

La transmission des données se décompose en une suite de blocs audio. Chaque bloc audio est composé de 192 trames. Une trame est composée de deux mots de 32 bits. Et chaque mot correspond à un canal (A et B). Par exemple, dans le cas d'un signal stéréo, le canal A est utilisé pour le signal gauche et le canal B pour le signal droit.

#### Séparation des blocs

Afin de pouvoir identifier facilement un nouveau bloc audio, le premier mot de la première trame du bloc commence par le préambule "Z" (voir #Mot de base). Soit:

#### Mot de base

Le mot de 32 bits est découpé de la façon suivante:
| bits | description |
| 0-3 | Appelé "préambule", ces bits ne contiennent pas de données mais sont là pour faciliter la synchronisation du signal et pour identifier les mots entre eux. Ils ne sont pas codés en biphase marqué, ils ne représentent donc pas de données réelles et sont donc uniques dans le flux de données et facilement identifiables. Trois types de valeur existent: * Z ⇒ marque un mot qui est en canal A (1er canal transmis) en début de block: - 11101000 si le précédent état de la ligne est "0" - 00010111 si c'est "1". * X ⇒ marque un mot de canal A qui n'est pas en début d'un block: - 11100010 si le précédent état de la ligne est "0" - 00011101 si c'est "1". * Y ⇒ marque un mot qui n'est pas un canal A (tous les autres canaux) : - 11100100 si le précédent état de la ligne est "0" - 00011011 si c'est "1". Dans l'extension du standard IEC, ils sont appelés M, W, B. |
| 4-7 | Ces 4 bits transportent des informations auxiliaires dont la signification n'est pas imposée. Ils peuvent être utilisés comme un canal audio basse résolution pour l'ajout de commentaires de production ou de studio à studio. Ils peuvent aussi être utilisés pour agrandir la résolution des données du son pour aller jusqu’à 24 bits mais dans ce cas la source et le récepteur doivent être capables de supporter ce format. |
| 8-27 | Ce sont les 20 bits de données du son. L'envoi commence par les bits de poids faible suivis des bits de poids fort. Si la source ne peut fournir des données sur 20 bits, les bits de poids faible inutilisés seront mis à la valeur logique "0" (par exemple, pour les données issues d'un CD qui sont sous format 16 bits, les bits 8 à 11 seront mis à zéro). |
| 28 | Bit de validité: mis à zéro si les bits de données (8-27) sont corrects et peuvent être utilisés directement pour une conversion numérique/analogique. Si la valeur est "1", le récepteur peut couper le son pendant la réception de ces valeurs fausses. Ce bit est utilisé par la plupart des lecteurs CD pour indiquer une dissimulation plutôt qu'une correction d'erreur a lieu. |
| 29 | Bit d'utilisateur : aucune valeur imposée. Ce bit en association avec les 191 autres bits du bloc audio permet d'y mettre des données comme le nom de la chanson, sa durée, son numéro et toutes autres données possibles. Ce bit étant présent dans chaque canal, la longueur des données transmissibles est multiple du nombre de canaux (longueur = 192 * nombre de canaux). |
| 30 | Bit de statut du canal : sa structure dépend du standard utilisé AES/EBU ou S/PDIF. |
| 31 | Bit de parité: pour la détection d'erreur. Le récepteur doit vérifier la loi suivante: le bit de parité est égal à "0" si la somme des autres bits est paire, et égal à "1" dans le cas contraire. |

#### Statut du canal

Pour chaque bloc audio, les bits en position 30 (bit de statut du canal) sont associés. Ils forment ainsi pour chaque canal un statut de 192 bits. Celui-ci est généralement représenté comme un ensemble de 24 octets (192/8). Le contenu de l'état du canal est complètement différent entre AES3 et le S/PDIF. Il converge sur une seule donnée qui est le premier bit du premier octet (1 pour AES3 et 0 pour S/PDIF).
| Octet | Bits | Description |
| 0 | Contrôle élémentaire des données : vitesse d'échantillonnage, compression, phase. | Contrôle élémentaire des données : vitesse d'échantillonnage, compression, phase. |
| 0 | 0 | La valeur 0 indique que le canal statut est de type S/PDIF, 1 indique que c'est du type AES/EBU. |
| 0 | 1 | La valeur 0 Indique que le codage du son se fait en LPCM, 1 indique que les données ne sont pas audio |
| 0 | 2-4 | Indique le type de réduction de bruit appliquée aux données. Généralement mis à 100b (rien). |
| 0 | 5 | La valeur 0 indique que la source est verrouillée sur un certain temps externe (non précisé), 1 indique que la source n'est pas verrouillée. |
| 0 | 6-7 | Fréquence d'échantillonnage. Ces bits sont redondants quand le signal est transmis en temps réel (la fréquence est donnée par la fréquence de transmission des données, soit par exemple : une réception de 250 blocs audio par second correspond à un échantillonnage de 48 kHz). 00: fréquence non indiquée. La fréquence se déduit de la fréquence de transmission des données. 01: 48 kHz 10: 44,1 kHz 11: 32 kHz |
| 1 | Indique si le flux audio est stéréo, mono ou autres combinaisons. | Indique si le flux audio est stéréo, mono ou autres combinaisons. |
| 1 | 0-3 | Indique la relation des 2 canaux: 0000: mode non indiqué. 0001: mode à 2 canaux. 0010: mode simple canal (mono). 0011: mode primaire/secondaire. Le premier mot est primaire. 0100: mode stéréo. Le premier mot est pour le canal gauche, le deuxième pour le canal droit. 0111: mode simple canal à fréquence d'échantillonnage double. Les 2 mots d'une trame portent des échantillonnages successifs du même canal. La fréquence d'échantillonnage et le double de celle indiquée par l'octet 0. 1000: idem 0100 mais concerne le canal gauche de la stéréo. 1001: idem 0100 mais concerne le canal droit de la stéréo. 1111: mode multiple-canal. |
| 1 | 4-7 | Indique le format du canal du mot de canal utilisateur: 0000: pas information utilisateur. 0001: structure de 192 bits et le préambule Z indique le début d'un bloc. 0010: réservé pour le standard AES18. 0011: définition utilisateur. 0100: données utilisateurs conforme au format définit par IEC 60958-3. 0101: réservé pour des méta-data |
| 2 | Longueur des données audio | Longueur des données audio |
| 2 | 0-2 | Indique si les bits auxiliaires sont utilisés (bits 4-7 du mot de base). 000: les bits auxiliaires ne sont pas utilisés. Le son est codé sur 20bits. 001: les bits auxiliaires sont utilisés. Le son est codé sur 24bits. 010: les bits auxiliaires sont utilisés pour de la coordination de signal. Le son est codé sur 20bits. |
| 2 | 3-5 | Indique la longueur effective des données du son. Si les bits auxiliaires sont utilisés pour le son: 000: non indiqué 001: 23bits 010: 22bits 011: 21bits 100: 20bits 101: 24bits. Si les bits auxiliaires ne sont pas utilisés pour le son: 000: non indiqué 001: 19bits 010: 18bits 011: 17bits 100: 16bits 101: 20bits. |
| 2 | 6-7 | Indique le niveau d'alignement du volume sonore. 00: pas d'alignement. 01:alignement 20dB en dessous du maximum. 10:alignement 18,06 dB en dessous du maximum. |
| 3 | Permet d'indiquer si le mode multiple-canal est actif et si oui quel est le numéro de canal actuel. | Permet d'indiquer si le mode multiple-canal est actif et si oui quel est le numéro de canal actuel. |
| 4 | Indications complémentaires sur l'échantillonnage. | Indications complémentaires sur l'échantillonnage. |
| 4 | 0-1 | Référence digitale audio (lié à la norme AES11). |
| 4 | 2 | Réservé. |
| 4 | 3-6 | Fréquence d'échantillonnage: 1000: 24 kHz 0100: 96 kHz 1100/192 kHz, 1001/22,05 kHz, 0101/88,2 kHz, 1101/176,4 kHz. |
| 4 | 7 | Indique le ratio à appliquer: 0: pas de ratio. 1: la fréquence d'échantillonnage est 1/1,001 fois ce qui est indiqué par les bits 3-6 de l'octet 4, ou bits les bits 6-7 de l'octet 0. |
| 5 | Non utilisé (mis à zéro par défaut) | Non utilisé (mis à zéro par défaut) |
| 6-9 | Adresse alphanumérique du canal source. | Adresse alphanumérique du canal source. |
| 10-13 | Adresse alphanumérique du canal destination. | Adresse alphanumérique du canal destination. |
| 14-17 | Numéro du bloc audio sur 32bits. | Numéro du bloc audio sur 32bits. |
| 18-21 | Heure de la journée en seconde où le bloc audio a été créé. | Heure de la journée en seconde où le bloc audio a été créé. |
| 22 | Indique la fiabilité des données pour les octets du statut du canal. Si la valeur est mise à 1 les données ne sont pas fiables. | Indique la fiabilité des données pour les octets du statut du canal. Si la valeur est mise à 1 les données ne sont pas fiables. |
| 22 | 0-3 | Réservé. |
| 22 | 4 | octets 0 à 5. |
| 22 | 5 | octets 6 à 13. |
| 22 | 6 | octets 14 à 17. |
| 22 | 7 | octets 18 à 21. |
| 23 | CRC sur les octets 0 à 22 du statut (x$^8$+x$^4$+x$^3$+x$^2$+1, initialisé à 1). | CRC sur les octets 0 à 22 du statut (x$^8$+x$^4$+x$^3$+x$^2$+1, initialisé à 1). |

#### Codage sur le support physique

Le transfert des données sur le support physique se fait par codage Codage Biphase Marqué (similaire au Codage Manchester Différentiel). Exemple:

#### Compatibilité avec les anciens lecteurs CD

Les anciens lecteurs CD ne supportant pas les données PCM sur 24 bits, certains fabricants ont préféré les encoder en 20 bits plutôt que de modifier le matériel de leur lecture audio. Ainsi, certains lecteurs utilisent le bit de parité afin de coder l'information d'un bit supplémentaire, soit un total de 21 bits. Ce bit peut être utilisé soit pour l'extrême précision soit pour la correction d'erreur.