Códec de audio

Un códec de audio es un códec que incluye un conjunto de algoritmos que permiten codificar y decodificar los datos auditivos, lo cual significa reducir la cantidad de bits que ocupa el fichero de audio. Sirve para comprimir señales o ficheros de audio con un flujo de datos (stream) con el objetivo de que ocupan el menor espacio posible, consiguiendo una buena calidad final, y descomprimiéndolos para reproducirlos o manipularlos en un formato más apropiado. Se implementa en software, hardware o una combinación de ambos.


Métodos de codificación

Actualmente existen una gran variedad de codecs de audio. Aunque cada vez son más complejos y añaden características adicionales, se pueden clasificar en cinco grandes grupos dependiendo del método de codificación o reducción de la tasa de bits:


Codificadores perceptuales

Esquema de un codificador perceptual de audio.
Esquema de un decodificador perceptual de audio.

Los codificadores perceptuales aprovechan las limitaciones en la percepción del sistema auditivo humano ( umbral de audición, enmascaramiento temporal y/o frecuencial) para codificar el flujo de datos.

Para codificar las muestras en formato PCM (audio digital sin comprimir) se realiza una transformada al dominio frecuencial y se cuantifican y codifican a partir de un conjunto de datos obtenidos en un modelo psicoacústico. La implementación de este modelo psicoacústico es lo que determina la calidad final y es donde se aprovecha el enmascaramiento temporal o frecuencial, siendo el umbral de enmascaramiento el que controla la cuantificación.

En la cuantificación de audio se utilizan distintos tipos de cuantificadores: uniforme, no-uniforme, logarítmico ( ley-mu o ley-A), diferencial o vectorial. Generalmente se utiliza cuantificación no-uniforme para música, cuantificación diferencial o logarítmica para señales de voz y cuantificación vectorial para procesado avanzado del señal de voz.

En la salida de este bloque se puede incorporar un codificador entrópico que comprime sin pérdidas para reducir el tamaño de la trama binaria. Esta trama se empaqueta junto con información adicional que contiene datos imprescindibles para la decodificación como el tamaño de la trama, el número de bits de codificación, el margen dinámico... También se puede añadir corrección de errores.

El decodificador desempaqueta la señal codificada para obtener las muestras y la información auxiliar. Seguidamente, decodifica las muestras y las convierte en el dominio temporal para obtener audio en formato PCM, aunque éste no será igual al inicial, puesto que es un proceso de codificación con pérdidas.

Las distintas versiones de MPEG-1, siendo MP3 (MPEG-1 layer3) la más conocida, utilizan este método de codificación.

Codificadores paramétricos

Codificador paramétrico de audio.

Los codificadores paramétricos se basan en que el audio y la voz se pueden representar y sintetizar con tonos aislados, patrones armónicos (representados con sinusoides) y componentes ruidosas. Estos se representan con parámetros como la amplitud, la frecuencia fundamental o los componentes espectrales y requieren pocos bits para representarlos.

Durante el proceso de codificación se extrae información de las muestras de entrada aplicando una transformada de fourier para luego realizar la estimación de parámetros. Seguidamente se codifican basándose con un modelo de la percepción humana, y se multiplexan para formar la trama binaria.

En el proceso de decodificación, a través de un bloque de síntesis y con los parámetros codificados, se reproduce una señal con las características análogas a la señal original.

Un ejemplo de este tipo de codificación es HVXC para voz y HILN para música, ambos dentro del estándar MPEG-4

Vocoders (codificación de voz)

Esquema de un sistema de codificación-decodificación paramétrica.

Los vocoders son codificadores paramétricos específicos para la codificación de la voz. Estos analizan la señal de voz correspondiente a un segmento temporal considerado estacionario para extraer los parámetros del modelo y la excitación. Esta información es la que se codifica. En el proceso de decodificación, el decodificador sintetiza los parámetros a través de un modelo de producción de voz.

Existen dos tipos de vocoders:
  • vocoder por predicción lineal
  • LPC-10

Codificadores de forma de onda

Los codificadores de forma de onda se basan en el estudio del señal, de forma que intentan reproducir la forma del señal de entrada. Generalmente se diseñan para ser independientes del señal, de manera que se utilizan para codificar una gran variedad de señales. Estos codificadores aprovechan la redundancia de la señal y, a partir de una predicción lineal, permiten codificar la señal auditiva. De esta forma se consiguen tasas de compresión elevadas cuando las señales son redundantes y prácticamente nulas cuando no es así.

La codificación del señal se puede llevar a cabo tanto en el dominio temporal como frecuencial:

Codificadores en el dominio temporal:
  • Modulación por codificación de pulsos ( PCM, Pulse Code Modulation)
  • Modulación por codificación de impulsos diferenciales ( DPCM, Differential PCM)
  • Modulación por codificación de impulsos diferenciales adaptativos( ADPCM, Adaptative PCM)
Codificadores en el dominio frecuencial:
  • Codificación en sub-bandas
  • Codificación por transformada

Codificadores híbridos (codificación de voz)

Esquema de un codificador híbrido para señales de voz.

Los codificadores híbridos, también conocidos como codificadores de análisis-por-síntesis combinan las técnicas de los codificadores de forma de onda con los vocoders. El objetivo de estos es obtener voz de alta cualidad a tasas de bit bajas (inferiores a 8kHz). Su funcionamiento se basa en analizar un conjunto de muestras como si se tratase de una sola para obtener los parámetros de la señal. Al decodificar la trama, se sintetizan los parámetros para conseguir que se parezca al original.

Algunos codificadores híbridos son:
  • Codificador RELP
  • Codificador multipulso MPC
  • Codificador CELP
  • Codificador VSELP
  • Codificador RPE-LTP
Other Languages
العربية: ترميز الصوت
English: Audio codec
italiano: Codec audio
한국어: 오디오 코덱
português: Codec de áudio
русский: Аудиокодек
Türkçe: Ses çözücü
українська: Аудіо-кодек