# ACELP

La technologie ACELP (ou Algebraic code-excited linear prediction) est une méthode de compression de la voix développée à l'Université de Sherbrooke à la fin des années 1980. Cette technologie fait partie du standard de la téléphonie cellulaire contemporaine.

## Développement et commercialisation

En 1988, un groupe de l'Université de Sherbrooke a entrepris des travaux qui ont conduit à la création de la technologie ACELP. Le groupe de recherche était dirigé par le professeur Jean-Pierre Adoul de la Faculté de génie. En 1989, le premier brevet lié à la technologie ACELP a été déposé. Une série d'activités de recherche et développement ont suivi.
Les activités de développement et de commercialisation de la plateforme technologique ACELP, coordonnées par Sipro Lab Telecom et VoiceAge, ont généré des revenus pour l'Université de Sherbrooke, estimés à environ 180 millions de dollars canadiens. Ces revenus prennent la forme d'octroi de fonds de recherche, de redevances et de dividendes.

## Adoption

En 1995, la technologie ACELP a été adoptée comme standard pour la téléphonie cellulaire. En 2016, on estime que plus de 95 % des téléphones cellulaires de la planète intègrent la technologie ACELP pour l'encodage numérique de la voix.
La méthode ACELP est largement utilisée dans les normes actuelles de codage de la parole telles que AMR, EFR, AMR-WB (G.722.2), VMR-WB, EVRC, EVRC-B, SMV, TETRA, PCS 1900, MPEG-4 CELP et les normes G de l'ITU-T G.729, G.729.1 (première étape de codage) et G.723.1. L'algorithme ACELP est également utilisé dans le codec propriétaire ACELP.net. L'application Audible utilise une version modifiée pour ses livres audio parlés. ACELP est également utilisé dans les logiciels de conférence, les outils de compression vocale et est devenu l'un des formats du 3GPP.

## Technologie

L'algorithme ACELP, basé sur la prédiction linéaire à excitation par code (CELP), utilise des règles mathématiques spécifiques appelées livres de codes ACELP. Ces livres, dotés d'une structure spécifique, sont conçus pour optimiser la transmission ou le stockage du son tout en préservant une qualité audio acceptable.
ACELP synthétise la voix à partir des données compressées en utilisant un filtre à long terme, qui prend en compte des caractéristiques liées à la tonalité de la voix, et un filtre à court terme, qui capture les changements rapides dans le son. Ces deux filtres sont cruciaux pour garantir que la voix synthétisée reproduise au mieux la qualité de la voix d'origine. Les équations suivantes détaillent le processus de génération des signaux audio en exploitant les propriétés algébriques du livre de codes dans le cadre de l'algorithme ACELP.
Le filtre de synthèse à long terme (tonalité) est exprimé par ${\frac {1}{B(z)}}={\frac {1}{1-g_{p}z^{-T}}}$. Dans cette définition, $B(z)$ est une fonction mathématique représentant le filtre, le terme $1-g_{p}z^{-T}$ indique comment les échantillons audio à long terme sont synthétisés, avec $g_{p}$ influençant la tonalité et $z^{-T}$ représentant un décalage temporel.
Pour sa part, le filtre de synthèse à court terme est exprimé par ${\frac {1}{A(z)}}={\frac {1}{1+\sum _{i=1}^{P}a_{i}z^{-i}}}$. Dans cette définition, $A(z)$ est une fonction mathématique représentant le filtre, le terme $1+\sum _{i=1}^{P}a_{i}z^{-i}$ indique comment les échantillons audio à court terme sont synthétisés, avec $\sum _{i=1}^{P}a_{i}z^{-i}$ représentant une somme de termes, où $a_{i}$ sont des coefficients et $z^{-i}$ sont des décalages temporels.
Dans le processus global, un livre de codes algébrique de 16 bits est utilisé pour rechercher la meilleure combinaison de paramètres d'innovation et de gain. Le vecteur d'innovation peut contenir jusqu'à quatre impulsions non nulles. En pratique, ACELP synthétise un bloc de $n$ échantillons de parole en filtrant une séquence d'innovation extraite du livre de codes. Cette séquence est ensuite ajustée en amplitude par un facteur de gain $g_{c}$ à travers deux filtres qui évoluent dans le temps.