La codificación de voz es una aplicación de compresión de datos a señales de audio digitales que contienen voz . La codificación de voz utiliza la estimación de parámetros específicos de la voz 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. [1]
Las aplicaciones comunes de la codificación de voz son la telefonía móvil y la voz sobre IP (VoIP). [2] 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 VoIP son la LPC y las técnicas de transformada de coseno discreta modificada (MDCT). [ cita necesaria ]
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 se utiliza la apreciación de la psicoacústica para transmitir sólo datos que son relevantes para el sistema auditivo humano. Por ejemplo, en la codificación de voz en banda vocal , sólo se transmite información en la banda de frecuencia de 400 a 3500 Hz, pero la señal reconstruida conserva una inteligibilidad adecuada .
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 otras señales de audio y hay 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 general puede resultar innecesaria en el contexto de la codificación del habla. La codificación del habla enfatiza la preservación de la inteligibilidad y el agrado del habla mientras se utiliza una cantidad limitada de datos transmitidos. [3] Además, la mayoría de las aplicaciones de voz requieren un retraso de codificación bajo, ya que la latencia interfiere con la interacción del habla. [4]
Los codificadores de voz son de dos clases: [5]
Los algoritmos de ley A y ley μ utilizados en la telefonía digital PCM G.711 pueden verse como un precursor anterior de la codificación de voz, que requiere solo 8 bits por muestra pero proporciona efectivamente 12 bits de resolución . [7] La compresión logarítmica es consistente con la percepción auditiva humana en el sentido de que se escucha un ruido de baja amplitud junto con una señal de voz de baja amplitud, pero está enmascarado por una de alta amplitud. Aunque esto generaría una distorsión inaceptable en una señal musical, la naturaleza de picos 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 única frecuencia fundamental con ocasionales ráfagas de ruido agregadas, hacen que estos algoritmos de compresión instantánea muy simples sean aceptables para discurso. [ cita necesaria ] [ dudoso ]
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 33% del ancho de banda para una complejidad muy baja supuso un excelente compromiso de ingeniería. Su rendimiento de audio sigue siendo aceptable y no fue necesario reemplazarlos en la red telefónica fija. [ cita necesaria ]
En 2008, el ITU-T estandarizó el códec G.711.1 , que tiene una estructura escalable. La frecuencia de muestreo de entrada es de 16 kHz. [8]
Gran parte del trabajo posterior en compresión de voz fue motivado por la investigación militar sobre comunicaciones digitales para radios militares seguras , donde se utilizaban velocidades de datos muy bajas para lograr 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 disponible para técnicas de compresión anteriores. Como resultado, los algoritmos de compresión de voz modernos podrían utilizar 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.
Los algoritmos de codificación de voz más utilizados se basan en la codificación predictiva lineal (LPC). [9] 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 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íneas (LSP). Además de la codificación de voz real de la señal, a menudo es necesario utilizar 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 canales se eligen en pares, estando los bits más importantes en el flujo de datos de voz protegidos por una codificación de canales más robusta.
La transformada de coseno discreta modificada (MDCT) se utiliza en la técnica LD-MDCT utilizada por el formato AAC-LD introducido en 1999. [10] Desde entonces, MDCT ha sido ampliamente adoptada en aplicaciones de voz sobre IP (VoIP), como la El códec de audio de banda ancha G.729.1 introducido en 2006, [11] FaceTime de Apple (usando AAC-LD) introducido en 2010, [12] y el códec CELT introducido en 2011. [13]
Opus es un codificador de audio de software gratuito . Combina el algoritmo SILK basado en LPC orientado al habla y el algoritmo CELT basado en MDCT de menor latencia, alternando entre ellos o combinándolos según sea necesario para lograr la máxima eficiencia. [14] [15] Es muy utilizado para llamadas VoIP en WhatsApp . [16] [17] [18] La consola de videojuegos PlayStation 4 también utiliza Opus para el chat de fiesta del sistema PlayStation Network . [19]
Se han demostrado varios códecs con velocidades de bits aún más bajas. Codec2 , que funciona a velocidades de bits tan bajas como 450 bit/s, se utiliza en la radioafición. [20] La OTAN actualmente utiliza MELPe , que ofrece voz inteligible a 600 bit/s y menos. [21] También han surgido enfoques de codificadores de voz neuronales: Lyra de Google ofrece una calidad "casi espeluznante" a 3 kbit/s. [22] Satin de Microsoft también utiliza aprendizaje automático, pero utiliza una tasa de bits ajustable más alta y es de banda ancha. [23]
{{cite book}}
: |journal=
ignorado ( ayuda )