Codificación de audio MPEG Álvaro Pardo Características del sistema auditivo La sensibilidad del oído es logarítmico respecto a la frecuencia Varía con la frecuencia La discriminación en frecuencia es de 2Hz (a 1kHz) Cambios de intensidad por encima de 1dB son detectados El oído humano es sensible a frecuencias entre 20 Hz y 20 kHz Existen una conjunto de bandas críticas en frecuencia. Algunos fenómenos perceptivos son consistentes con las existencia de estas bandas. Por ejemplo, la percepción de una señal en presencia de otra da diferentes resultados si ambas están en una misma banda crítica o no. Introducción al estándar de compresión de audio MPEG-1 Es un estándar genérico para la compresión de audio. – – – No hace ninguna hipótesis respecto a la fuente de audio. Puede ser: voz, música, etc. Explota las características de sistema auditivo para eliminar componentes perceptualmente irrelevantes (que no son percibidas) y de esta forma reducir la cantidad de información. Puede codificar cualquier señal que deba ser escuchada por el oído humano. Características de la compresión de audio MPEG-1 Las frecuencias de muestreo son: 32, 44.1 y 48 kHz Cuatro modos de codificación – – – – Monofónico Doble Monofónico (dos canales independientes) Estéreo Estéreo conjunto (usa la correlación entre los dos canales) Soporta bitrates desde 32 kbps a 224 kbps que equivalen a una factor de compresión entre 24 y 2.7. Características de la compresión de audio MPEG-1: Modos de compresión Capa 1 (MP1) – – – Capa 2 (MP2) – – Es la más simple. Funciona bien con bitrates mayores 128 kbps Ejemplo: Philips Digital Compact Cassette (DCC) 192 kbps Complejidad intermedia Pensada para 128 kbps por canal Capa 3 (MP3) – – La más compleja pero de mejor calidad de audio Funciona correctamente alrededor de 64 kbps por canal Estructura del codificador Pasa el sonido PCM de entrada al dominio de la frecuencia dividiéndolo en 32 subbandas Genera el bitstream de salida en formato MPEG Calcula las partes perceptualmente irrelevantes del sonido de entrante Aloja bits a cada subbanda de acuerdo al modelo psicoacústico El Filtro Polifase 1 Es común a los tres modos de codificación Divide a la señal de audio en 32 bandas frecuenciales de igual ancho La descomposición tiene buena resolución temporal y razonable definición frecuencial Se utiliza una ventana de 512 muestras para el procesamiento. Se utiliza un buffer de 512 muestras y en cada ciclo de introducen 32 nuevas muestras Ejemplo de codificación en subbandas Modelos psicoacústicos Filtrado Submuestreo Cuantificación Multiplexado Q Q Q 16x48kHz =768 kbps 16x16kHz + 8x16kHz + 4x16kHz =448 kbps !!! 16x3x48kHz=2304 kbps Aumentó del bitrate!!! 16x3x16kHz=768 kbps “El truco es elegir donde gastar los bits” El Filtro Polifase 3 La salida para subanda i es: 63 7 k =0 j =0 Ventana de análisis S [i ] = ∑ M [i ][k ]∑ C[k + 64 j ]X [k + 64 j ] Coeficientes del filtro de análisis ( 2i + 1)( k − 16)π M [i ][k ] = cos 64 Muestras Se puede escribir como: (2i + 1)( n − 16)π S [i ] = x[t − n ]H i [n ] H i [n ] = h[n ] cos 64 n =0 511 ∑ El Filtro Polifase 4 1. Se enventana la señal Z [i ] = C[i ] ⋅ X [i ] i = 0,...,511 2. Cálculo parcial 7 Y [i ] = ∑ Z [i + 64 j ] i = 0,...,63 j =0 3. Se calculan las 32 subbandas 63 S [i ] = ∑ Y [i ] ⋅ M [i ][k ] k =0 El Filtro Polifase 5 El Filtro Polifase 6: h[n] El Filtro Polifase 7: Problemas El proceso no es reversible sin pérdidas Existe solapamiento entre las diferentes bandas Las bandas no se corresponden con las bandas críticas A baja frecuencia una banda crítica es cubierta por varias subbandas Psicoacústica La compresión se basa en la eliminación de información perceptualmente irrelevante. Es decir en la incapacidad del sistema auditivo para detectar los errores de cuantificación en condiciones de enmascaramiento. El enmascaramiento ocurre cuando la presencia de una señal “fuerte” hace que una señal “más débil” cercana, en frecuencia o en el tiempo, no sea percibida. Se sabe que la resolución del sistema auditivo es limitada y dependiente de la frecuencia. Esta dependencia con la frecuencia se puede formular en función de las bandas críticas. Las bandas críticas tiene un ancho de unos 100 Hz a bajas frecuencias y 4000 Hz en altas frecuencias. Psicoacústica 1 En función de la existencia de las bandas críticas, el umbral de detección del ruido de cuantificación depende únicamente de la potencia de la señal en un entorno de la misma. El estándar MPEG divide la señal en bandas de frecuencia que se aproximan a las bandas críticas, y luego cuantifica cada subbanda en función del umbral de detección del ruido dentro de esa banda. Psicoacústica 2: Enmascaramiento en frecuencia Se fija un tono enmascarador de cierta amplitud (ejemplo 1kHz 60 dB). Para cada tono de test cercano se aumenta la amplitud hasta que sea apenas audible y así se define el umbral de enmascaramiento. Umbral Absoluto: Se obtiene haciendo escuchar un tono en silencio. Se aumenta la amplitud hasta que comienza a ser audible. Psicoacústica 3: Enmascaramiento en el tiempo Si escuchamos un sonido fuerte demoramos unos segundos en poder detectar sonidos más débiles. Premasking Postmasking El modelo psicoacústico El modelo psicoacústico analiza la señal de audio y calcula la cantidad de ruido que se puede introducir en función de la frecuencia (en cada banda de frec.). Esto es equivalente a decir que calcula la “cantidad de enmascaramiento” en función de la frecuencia. El codificador usa esta información para decidir la mejor manera de gastar los bits disponibles. El estándar provee dos modelos psicoacústicos de diferente complejidad. El modelo psicoacústico: 1) Representación frecuencial Utiliza una representación frecuencial diferente al filtro polifase dado que requiere mayor resolución en frecuencia para poder calcular los umbrales de enmascarameinto. Utiliza la transformada de Fourier. El modelo I utiliza 512 muestras y el modelo II utiliza 1024 muestras. El modelo psicoacústico: 2) Separación tonal – no-tonal Se separan las componentes espectrales en tonales y no-tonales dado que el fenómeno de enmascaramiento es diferente en cada caso. – – El modelo I identifica los componentes tonales mediante la detección de los picos en el espectro. Luego junta todo el resto y los etiqueta como componentes no-tonales dentro de cada banda crítica. El modelo II define un índice de tonalidad en función de la frecuencia. Luego se usa este índice para interpolar entre tono enmascarando ruido y ruido enmascarando tono. El modelo psicoacústico: 3) Cálculo de los umbrales de enmascaramiento En función de los umbrales calculados para las bandas críticas se deben extraer umbrales para cada subbanda. Los modelos I y II implementan diferentes técnicas. Esencialmente buscan el umbral mínimo en cada subbanda. En función de estos umbrales se calcula la relación señal/enmascaramiento. – (Energía de la señal)/(umbral mínimo de la subbanda) El modelo psicoacústico: Ejemplo Umbral de enmsacaramiento sin umbral absoluto y con umbral absoluto Señal original en frecuencia -El umbral absoluto aumenta el umbral de enmsacaramiento en altas frecuencias, -La sinusoide enmascara las frecuencias adyacentes. Relación señal/enmascaramiento Se puede aumentar el ruido de cuantificación MPEG Layer 3: MP3 Mejora los resultados del filtro polifase mediante la utilización de una transformada MDCT (Modified DCT) para mejorar la precisión en frecuencia. La mejorar resolución frecuencial empeora la resolución temporal (esto introduce problemas de pre-eco que son predecidos y corregidos). Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para reducir la cantidad de ruido.