- 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 descomprimiendolos para reproducirlos o manipularlos en un formato más apropiado. Se implementa en software, hardware o una combinación de ambos.
Contenido
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 cuatro grandes grupos dependiendo del método de codificación o reducción de la tasa de bits:
Codificadores perceptuales
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 dónde 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 codificaicó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
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)
Los vocoders son codificadores paramétricos específicos para la codificación de la voz. Estos analizan la señal de voz corresponiente 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 del señal, y a partir de una predicción lineal permiten codificar el señal auditivo; de esta forma se consiguen tasas de compresión elevadas cuando los señales son muy 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:
- Codificadores en el dominio frecuencial:
-
- Codificación en sub-bandas
- Codificación por transformada
-
Codificadores híbridos (codificación 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
-
Tipo de códecs de audio
Si obviamos las pérdidas producidas por el error de cuantificación, que en muchos casos son inapreciables, los códecs pueden ser, según el tipo de compresión, con pérdidas (lossy) o sin pérdidas (lossless):
Códecs de audio con pérdidas
En audio se aprovechan las limitaciones del sistema auditivo humano (margen frecuencial, umbral de audición, enmascaramiento temporal y/o enmascaramiento frecuencial para comprimir los datos de audio. Se usan diferentes métodos para eliminar los datos inaudibles:
-
- Transformada en el dominio frecuencial y eliminación de las frecuencia inaudibles (inferiores a 20Hz y superiores a 20kHz, u enmascaradas por otras frecuencias de mayor potencia).
-
- División del señal en subbandas de frecuencia que se aproximan a las bandas críticas y cuantificar cada subbanda en función de un umbral de detección del ruido dentro de la subbanda. De esta forma se analiza el señal de audio y se calcula la cantidad de ruido (pérdidas inapreciables) que se pueden introducir a cada rango de frecuencias, es decir, el umbral de enmascaramiento.
- Predicción de datos.
- Caracterización de la voz a partir de una parametrización.
El nivel de compresión se puede controlar y depende de la calidad que se quiera obtener, el tamaño del fichero, el ancho de banda de la red, el tiempo de compresión...
Usualmente se utilizan compresiones máximas para transmisiones, especialmente cuando son servicios en directo como telefonía (telefonía IP o celular) o reproducciones en directo como podcasting (radio por internet o programas de audio por internet).
Códecs de audio sin pérdidas
Estos códecs utilizan una compresión sin pérdidas para minimizar el tamaño del flujo de datos. Para realizar esta codificación se utilizan algoritmos basados en la eliminación de la redundancia del señal de audio, y por lo tanto en el grado de predicibiilidad de la información. Si el señal tiene patrones repetitivos, éste es redundante y por lo tanto fácil de predecir.
Usualmente los patrones repetitivos de señal son más evidentes en otro dominio (temporal, frecuencial...), es por esto que la transformación de la señal en función de éstos patrones permitirá reducir o eliminar la redundáncia.
En audio, igual que en vídeo, imagen o datos, la eliminación de la redundáncia se implementa:
-
- Transformaciones en otro dominio donde los patrones repetitivos sean más evidentes.
- Predicción.
- Codificación entrópica: codificación de Huffman, codificación aritmética, Run Length Coding (RLE).
Parámetros
Los códecs de audio se caracterizan por los siguientes parámetros:
-
- Número de canales: depende del número de señales de audio simultáneos que contiene el flujo de datos. Puede ser mono (1 canal), estéreo (2 canales) o multicanal como 5.1 (seis canales) o 7.1 (ocho canales).
-
- Frecuencia de muestreo: determina la calidad percebida, por lo tanto cuanto más alto sea mayor será la fidelidad del sonido obtenido respeto al original. Puesto que el sistema auditivo humano no es capaz de percibir frecuencias superiores a 20kHz y que la frecuencia de muestreo debe cumplir el criterio de Nyquist, para obtener calidad CD nunca se utiliza frecuencias de muestreo superiores a 44.1kHz, puesto que no suponen ninguna ganancia de calidad.
-
- Número de bits por muestra. Determina la precisión con la que se reproduce la señal original y el rango dinámico de la misma. Se suelen utilizar 8 (para un rango dinámico de hasta 45 dB), 16 (para un rango dinámico de hasta 90 dB como el formato CD) o 24 bits por muestra (para 109 a 120 dB de rango dinámico). El más común es 16 bits.
-
- Tipo de compresión: distingue entre compresión con pérdias (lossy) y sin pérdidas (lossless).
-
- Tasa de bits: determina el número de bits de información necesarios por unidad de tiempo. La tasa de bits no se puede deducir de los parámetros anteriores puesto que la compresión puede ser con pérdidas o sin perdidas. Además, puede ser constante (CBR), variable (VBR) o en media (ABR). En audio se utiliza tasa de bits variable (VBR), puesto que es más eficiente que CBR cuando hay silencios o segmentos donde la complejidad es baja y se pueden almacenar con menos bits.
Aplicaciones
El objetivo principal de los códecs de audio es reducir la cantidad de datos digitales necesarios para reproducir una señal auditiva. Resulta especialmente útil comprimir los datos para que ocupen el mínimo tamaño posible a la hora de almacenarlo y si se tiene que transmitir por red se pueda enviar con la mayor rapidez posible. Así, las aplicaciones principales son:
-
- Almacenamiento: útil en dispositivos de reproducción multimedia o de audio almacenado, puesto que a mejor codificación mayor será la compresión y por lo tanto también el espacio requerido para almacenarlo. Se utiliza en reproductores de audio digital como reproductores de CD-MP3, reproductores basados en Flash o reproductores basados en disco duro (iPod de Apple, Creative Zen, Commodore eVIC...).
-
- Transmisión: útil cuando se debe enviar la información por cualquier tipo de red, puesto que a menor tasa de bits más rápido será el envío. Se utiliza para podcasting (radio o programas por internet]]), radio digital, audio para televisión digital y especialmente para videoconferencia y telefonía (IP o celular).
Estandarización
Hay dos organizaciones que dominan la estandarización de los codificadores de audio:
Características de los principales códecs de audio
Las características técnicas de los principales códecs de audio son:
Codec AAC FLAC Monkey's Audio MP3 Vorbis (Ogg) WavPack WMA Tipo de compresión Con pérdidas, Híbrido Sin pérdidas Sin pérdidas Con pérdidas Con pérdidas Con pérdidas, Sin pérdidas, Híbrido Con pérdidas, Sin pérdidas Frecuencia de muestreo 8kHz a 192kHz 1Khz a 1.04857Mhz 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48kHz 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48kHz 1Hz a 200kHz 1Hz a 13.777216MHz 8, 11.025, 12, 16, 22.05, 32, 44.1, 48, 96kHz Tasa de bits 8-529Kbps (estéreo) Variable Variable 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 Kbps Variable Variable (modo sin pérdidas) / superior 196kbps (modo con pérdidas) 4-768kbps / variable (sin pérdidas) Bits por muestra Cualquiera 4, 8, 16, 24, 32 ? Cualquiera Cualquiera Variable (modo sin pérdidas) / superior a 2.2 (modo con pérdidas) 16, 24 (modo sin pérdidas) / Cualquiera (modo con pérdidas) CBR Si No No Si Si Si Si VBR Si Si Si Si Si Si Si Multicanal hasta 28 canales hasta 8 canales No No hasta 255 canales hasta 16 canales hasta 8 canales (WMA Professional) / hasta 6 canales (WMA sin pérdidas) Ejemplos de códecs de audio
Sin pérdidas Con pérdidas Códecs de voz ALAC (Apple Lossless) DST (Direct Stream Transfer)
FLAC (Free Lossless Audio Codec)
LA (Lossless Audio)
LPAC (Lossless Predictive Audio Codec)
LTAC (Lossless Transform Audio Codec)
MLP (Meridial Lossless Packing)
Monkey's Audio (APE)
MPEG-4 ALS
MPEG-4 SLS
OptimFROG
QDesign
RealAudio Lossless
RKAU
Shorten (SHN)
TTA (True Audio)
WavPack
WMA lossless (Windows Media Audio Lossless)
AAC (Advanced Audio Coding)
HE-AAC (High Efficiency Advance Audio Coding)
AC3 (Dolby Digital A/52)
ADX (videojuegos)
ATRAC (Adaptive TRansform Acoustic Coding)
DRA
DTS (Digital Theather Systems)
MP1 (MPEG audio layer-1)
MP2 (MPEG audio layer-2)
MP3 (MPEG audio layer-3)
Ogg Vorbis
Perceptual Audio Coding
RTA (Real Time Audio Codec)
WMA (Windows Media Audio)
AMBE
AMR
CELP
EVRC
G.722
G.723
G.726
GSM
HILN (MPEG-4 paramétrico)
iLBC
IMBE
Perceptual Audio Coding (radio digital y satélite)
QCELP
VSELP
Véase también
- Audio digital
- Codificación digital
- Procesamiento digital de voz
- Procesamiento digital de audio
- Códec
- Códec de vídeo
- Contenedor multimedia
Enlaces externos
Categoría:- Códecs de audio
- Existen dos tipos de vocoders:
Wikimedia foundation. 2010.