Adaptive Differential Pulse Code Modulation
# Adaptive Differential Pulse Code Modulation

L’Adaptive Differential Pulse Code Modulation (ADPCM) (en français, Modulation par impulsions et codage différentiel adaptatif (MICDA)) est un algorithme non standardisé de compression de données avec perte.

L’algorithme repose sur la présence d’un schéma de prédiction et d’un codage des erreurs entre la prédiction et le signal original. Les erreurs étant souvent de faibles magnitudes, une compression intéressante est possible grâce à la diminution des bits nécessaires à l’opération. Dans le cas de l'ADPCM, ce codage est dynamique et tient compte de la grandeur des erreurs en modifiant le pas de quantification.

Lors du décodage, les erreurs sont ajoutées au signal issu de la prédiction pour obtenir un signal plus ou moins fidèle à l’original. Ce système est surtout utilisé pour les fichiers audio, en particulier les échantillons vocaux.

En résumé, l'ADPCM tient compte des propriétés suivantes :

* le signal est quasi-stationnaire ;
* la prédiction est adaptative ;
* la prédiction utilise les données précédentes et fournit de nouvelles données ;
* la prédiction tente de minimiser l’erreur ;
* une bonne prédiction assure une réduction de l'erreur et donc du taux de transmission.

Au milieu des années 1980, le CCITT a introduit l’ADPCM à 32 kbit/s (G.721). Plus tard, le G.726 et G.727 avec des taux différents (16, 24, 32 et 40 kbit/s). Par la suite, plusieurs formats et variantes firent leur apparition. Citons notamment les codecs de Microsoft et Apple nommés IMA mais avec des différences entre les deux versions.

