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 contienen voz. La codificación de voz utiliza la estimación de parámetros específicos del habla utilizando técnicas de procesamiento de señales de audio para modelar la señal de voz, combinadas con algoritmos genéricos de compresión de datos para representar los parámetros modelados resultantes en un flujo de bits compacto.
Algunas aplicaciones de la codificación de voz son la telefonía móvil y la 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 las más utilizadas en aplicaciones de VoIP son las técnicas LPC y transformada de coseno discreta modificada (MDCT).
Las técnicas empleadas en la codificación del habla son similares a las que se utilizan en la compresión de datos de audio y la codificación de audio, donde los conocimientos en psicoacústica se utilizan para transmitir solo datos que son relevantes para el sistema auditivo humano. Por ejemplo, en la codificación de voz en banda de voz, solo se transmite información en la banda de frecuencia de 400 a 3500 Hz, pero la señal reconstruida sigue siendo adecuada para la inteligibilidad.
La codificación del habla se diferencia 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, parte de la información auditiva que es relevante en la codificación de audio puede ser innecesaria en el contexto de la codificación del habla. En la codificación del habla, el criterio más importante es la preservación de la inteligibilidad y la agradabilidad del habla, con una cantidad restringida de datos transmitidos. Además, la mayoría de las aplicaciones de voz requieren un retraso de codificación bajo, ya que los retrasos de codificación largos interfieren con la interacción del habla.
Categorías
Los codificadores de voz son de dos tipos:
- Códigos de onda
- Time-domain: PCM, ADPCM
- Dominio de frecuencia: codificación de submarinismo, ATRAC
- Vocoders
- Codificación predictiva lineal (LPC)
- Codificación formativa
Compansión de muestra vista como una forma de codificación de voz
Los algoritmos de ley A y ley μ (G.711) que se utilizan en la telefonía digital PCM tradicional pueden verse como un precursor anterior de la codificación de voz, ya que requieren solo 8 bits por muestra pero brindan efectivamente 12 bits de resolución. Las leyes de expansión logarítmica son consistentes con la percepción auditiva humana en el sentido de que un ruido de baja amplitud se escucha junto con una señal de habla de baja amplitud pero está enmascarado por uno de gran 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, hacen que estos algoritmos de compresión instantánea muy simples sean aceptables para discurso.
En ese momento se probó una amplia variedad de otros algoritmos, en su mayoría 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 ancho de banda del 33% 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 de telefonía fija.
En 2008, ITU-T estandarizó el códec G.711.1, que tiene una estructura escalable. La frecuencia de muestreo de entrada es de 16 kHz.
Compresión de voz moderna
Gran parte del trabajo posterior en compresión de voz fue motivado por la investigación militar en comunicaciones digitales para radios militares seguras, donde se requerían tasas de datos muy bajas para permitir una operación efectiva en un entorno de radio hostil. Al mismo tiempo, se disponía de mucha más potencia de procesamiento, en forma de circuitos VLSI, que la que estaba disponible para las técnicas de compresión anteriores. Como resultado, los algoritmos de compresión de voz modernos podrían usar técnicas mucho más complejas que las que estaban 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 su uso en aplicaciones civiles, lo que permitió la creación de redes de telefonía móvil digital 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 envolvente espectral y un modelo basado en un libro de códigos del residual 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 debidas a errores de transmisión. Para obtener los mejores resultados generales de codificación, los métodos de codificación de voz y codificación de canal se eligen 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.
La transformada de coseno discreta modificada (MDCT), un tipo de algoritmo de transformada de coseno discreta (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 presentado en 2006, FaceTime de Apple (usando AAC-LD) presentado en 2010 y el códec CELT presentado en 2011.
Opus es un codificador de voz de software gratuito. Combina los algoritmos de compresión de audio MDCT y LPC. Es muy utilizado para llamadas VoIP en WhatsApp. La consola de videojuegos PlayStation 4 también usa Opus para su chat de fiesta del sistema PlayStation Network.
Codec2 es otro codificador de voz de software libre, que funciona a velocidades de bits tan bajas como 450 bit/s.
Subcampos
- Codificación de audio de banda ancha
- Codificación predictiva lineal (LPC)
- AMR-WB for WCDMA networks
- VMR-WB for CDMA2000 networks
- Speex, IP-MR, SILK y Opus para voz sobre IP (VoIP) y videoconferencias
- Transformación de cosina discreta modificada (MDCT)
- AAC-LD, G.722.1, G.729.1, CELT y Opus for VoIP y videoconferencias
- 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
- Tarifa completa, media tasa, EFR y AMR para redes GSM
- G.723.1, G.728, G.729, G.729.1 e iLBC para VoIP o videoconferencias
- ADPCM
- G.726 para VoIP
- Excitación Multi-Band (MBE)
- AMBE+ para radio móvil digital y teléfono satélite
- Codec 2
Contenido relacionado
Frecuencia máxima utilizable
Freenet
Kilobaudios