# Codificación de voz

La codificación de voz es una aplicación de compresión de datos de señales de audio digital que contiene voz. La codificación de voz utiliza la estimación de parámetros específicos de voz utilizando técnicas de procesamiento de señal de audio para modelar la señal de voz, combinada con algoritmos de compresión de datos genéricos para representar los parámetros modelados resultantes en un flujo de bits compacto.
Algunas aplicaciones de codificación de voz son telefonía móvil y voz sobre IP (VoIP). La técnica de codificación de voz más utilizada en telefonía móvil es la codificación predictiva lineal (LPC), mientras que la más utilizada en las aplicaciones de VoIP son las técnicas de LPC y la transformación de coseno discreto modificado (MDCT).
Las técnicas empleadas en la codificación del habla son similares a las utilizadas en la compresión de datos de audio y la codificación de audio, donde el conocimiento en psicoacústica se utiliza para transmitir solo datos que son relevantes para el sistema auditivo humano. Por ejemplo, en la codificación de voz en frecuencia de voz, solo información en la banda de frecuencia 400 Hz a 3500 Hz se transmite pero la señal reconstruida sigue siendo adecuada para la inteligibilidad.
La codificación de voz difiere de otras formas de codificación de audio en que el habla es una señal más simple que la mayoría de las otras señales de audio, y hay mucha más información estadística disponible sobre las propiedades del habla. Como resultado, cierta información auditiva que es relevante en la codificación de audio puede ser innecesaria en el contexto de codificación de voz. En la codificación del habla, el criterio más importante es la preservación de la inteligibilidad y la "simpatía" del habla, con una cantidad limitada de datos transmitidos.
Además, la mayoría de las aplicaciones de voz requieren un bajo retraso de codificación, ya que los largos retrasos de codificación interfieren con la interacción de voz.

## Categorías

Los codificadores de voz son de dos tipos:
* Codificadores de forma de onda
** Dominio del tiempo: PCM, ADPCM
** Dominio de frecuencia: codificación de sub-banda, ATRAC
* Vocoders
** Codificación predictiva lineal (LPC)
** Codificación de formantes

## Ejemplo de comparación visto como una forma de codificación de voz

Desde este punto de vista, los algoritmos de la ley A y la ley μ ( G.711 ) utilizados en la telefonía digital PCM tradicional se pueden ver como un precursor anterior de la codificación del habla, que requiere solo 8 bits por muestra pero proporciona una resolución efectiva de 12 bits. Las leyes de comparación logarítmica son consistentes con la percepción de la audición humana en que un ruido de baja amplitud se escucha a lo largo de una señal de voz de baja amplitud, pero es enmascarado por una de alta amplitud. Aunque esto generaría una distorsión inaceptable en una señal de música, la naturaleza pico de las formas de onda del habla, combinada con la estructura de frecuencia simple del habla como una forma de onda periódica que tiene una frecuencia fundamental única con ráfagas de ruido adicionales ocasionales, hace que estos algoritmos de compresión instantánea muy simples sean aceptables para habla.
Se probaron una gran variedad de otros algoritmos en ese momento, principalmente en variantes de modulación delta, pero después de una cuidadosa consideración, los diseñadores de los primeros sistemas de telefonía digital eligieron los algoritmos de ley A / ley μ. En el momento de su diseño, su reducción del 33 % del ancho de banda para una complejidad muy baja hizo un excelente compromiso de ingeniería. Su rendimiento de audio sigue siendo aceptable, y no hubo necesidad de reemplazarlos en la red telefónica fija.
En 2008, el códec G.711.1, que tiene una estructura escalable, fue estandarizado por el UIT-T. La frecuencia de muestreo de entrada es 16 kHz

## Compresión moderna del habla

Gran parte de los trabajos posteriores en compresión de voz fueron motivados por la investigación militar en comunicaciones digitales para radios militares seguras, donde se requerían velocidades de datos muy bajas para permitir una operación efectiva en un entorno de radio hostil. Al mismo tiempo, había mucha más potencia de procesamiento disponible, en forma de circuitos VLSI, que la disponible para las técnicas de compresión anteriores. Como resultado, los algoritmos modernos de compresión de voz podrían usar técnicas mucho más complejas que las disponibles en la década de 1960 para lograr relaciones de compresión mucho más altas.
Estas técnicas estaban disponibles a través de la literatura de investigación abierta para ser utilizadas en aplicaciones civiles, permitiendo la creación de redes digitales de telefonía móvil con capacidades de canal sustancialmente más altas que los sistemas analógicos que las precedieron.
Los algoritmos de codificación de voz más utilizados se basan en la codificación predictiva lineal (LPC). En particular, el esquema de codificación de voz más común es la codificación de predicción lineal excitada por código ( CELP ) basada en LPC, que se utiliza, por ejemplo, en el estándar GSM . En CELP, el modelado se divide en dos etapas, una etapa predictiva lineal que modela la envoltura espectral y el modelo basado en el libro de códigos del residuo del modelo predictivo lineal. En CELP, los coeficientes de predicción lineal (LPC) se calculan y cuantifican, generalmente como pares espectrales de línea (LSP). Además de la codificación de voz real de la señal, a menudo es necesario utilizar la codificación de canal para la transmisión, para evitar pérdidas debido a errores de transmisión. Por lo general, la codificación de voz y los métodos de codificación de canal deben elegirse en pares, con los bits más importantes en el flujo de datos de voz protegidos por una codificación de canal más robusta, para obtener los mejores resultados de codificación general.
La transformación de coseno discreto modificado (MDCT), un tipo de algoritmo de transformación de coseno discreto (DCT), se adaptó a un algoritmo de codificación de voz llamado LD-MDCT, utilizado para el formato AAC-LD introducido en 1999. Desde entonces, MDCT ha sido ampliamente adoptado en aplicaciones de voz sobre IP (VoIP), como el códec de audio de banda ancha G.729.1 introducido en 2006, Apple 's Facetime (usando AAC-LD) introducido en 2010, y el códec CELT introducido en 2011.
Opus es un codificador de voz de software libre . Combina los algoritmos de compresión de audio MDCT y LPC. Es ampliamente utilizado para llamadas VoIP en WhatsApp . La consola de videojuegos PlayStation 4 también utiliza el códec CELT / Opus para el chat de fiesta del sistema PlayStation Network .
Codec2 es otro codificador de voz de software libre, que logra lograr una compresión muy buena, tan baja como 700 bit/s.
Subcampos

### Codificación de audio de banda ancha

* Codificación predictiva lineal (LPC)
** AMR-WB para redes WCDMA
** VMR-WB para redes CDMA2000
** Speex, IP-MR, SILK y Opus para voz sobre IP (VoIP) y videoconferencia
* Transformada discreta de coseno modificada (MDCT)
** AAC-LD, G.722.1, G.729.1, CELT y Opus para VoIP y videoconferencia
* Modulación de código de pulso diferencial adaptativo (ADPCM)
** G.722 para VoIP

### Codificación de audio de banda estrecha

* LPC
** FNBDT para aplicaciones militares.
** SMV para redes CDMA
** Full Rate, Half Rate, EFR y AMR para redes GSM
** G.723.1, G.728, G.729, G.729.1 e iLBC para VoIP o videoconferencia
* ADPCM
** G.726 para VoIP