La modulación de código de pulso diferencial adaptativa ( ADPCM ) es una variante de la modulación de código de pulso diferencial (DPCM) que varía el tamaño del paso de cuantificación para permitir una mayor reducción del ancho de banda de datos requerido para una relación señal-ruido determinada .
Normalmente, la adaptación a las estadísticas de señal en ADPCM consiste simplemente en un factor de escala adaptativo antes de cuantificar la diferencia en el codificador DPCM. [1]
ADPCM fue desarrollado para la codificación de voz por P. Cummiskey, Nikil S. Jayant y James L. Flanagan en Bell Labs en 1973. [2]
En telefonía , una señal de audio estándar para una sola llamada telefónica se codifica como 8000 muestras analógicas por segundo, de 8 bits cada una, lo que da una señal digital de 64 kbit/s conocida como DS0 . La codificación de compresión de señal predeterminada en un DS0 es PCM de ley μ (ley mu) (Norteamérica y Japón) o PCM de ley A (Europa y la mayor parte del resto del mundo). Estos son sistemas de compresión logarítmica donde un número de muestra PCM lineal de 13 o 14 bits se asigna a un valor de 8 bits. Este sistema se describe en el estándar internacional G.711 . Cuando los costos del circuito son altos y la pérdida de calidad de voz es aceptable, a veces tiene sentido comprimir aún más la señal de voz. Se utiliza un algoritmo ADPCM para asignar una serie de muestras PCM de ley μ (o ley a) de 8 bits a una serie de muestras ADPCM de 4 bits. De esta manera, se duplica la capacidad de la línea. La técnica está detallada en el estándar G.726 .
Las técnicas ADPCM se utilizan en las comunicaciones de voz sobre IP . A principios de los años 90, la Interactive Multimedia Association también utilizó ADPCM para desarrollar los códecs de audio tradicionales ADPCM DVI, IMA ADPCM y DVI4. [3]
G.722 [4] es un códec de voz de banda ancha estándar ITU-T que opera a 48, 56 y 64 kbit/s, basado en codificación de subbanda con dos canales y codificación ADPCM de cada uno de ellos. [5] Antes del proceso de digitalización, capta la señal analógica y la divide en bandas de frecuencia con filtros de espejo en cuadratura (QMF) para obtener dos subbandas de la señal. Cuando se obtiene el flujo de bits ADPCM de cada subbanda, se multiplexan los resultados y el siguiente paso es el almacenamiento o transmisión de los datos. El decodificador tiene que realizar el proceso inverso, es decir, demultiplexar y decodificar cada subbanda del flujo de bits y recombinarlas.
En referencia al proceso de codificación, en algunas aplicaciones como la codificación de voz, la subbanda que incluye la voz se codifica con más bits que las demás. Es una forma de reducir el tamaño del archivo.
El sistema de sonido de Windows admitía ADPCM en archivos WAV . [6]
A partir del 31 de octubre de 2024 [actualizar], FFmpeg incluye 50 decodificadores ADPCM integrados y 16 codificadores, algunos de ellos destinados a propósitos específicos. Por ejemplo, "ADPCM Westwood Studios IMA" ( adpcm_ima_ws
) codifica y decodifica el audio de los antiguos videojuegos Command & Conquer . [7] [8]
El DSP de GameCube admite la codificación ADPCM en 64 canales de audio simultáneos.