Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las...

25
Codificación de audio MPEG

Transcript of Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las...

Page 1: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

Codificación de audio MPEG

Page 2: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

¿Qué es el sonido?

La sensación detectada por el oído y procesada por el cerebro

Una perturbación en el aire

Page 3: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

Propiedades físicas del sonido

Amplitud Frecuencia Velocidad

Page 4: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

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.

Page 5: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

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.

Page 6: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

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.

Page 7: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

Características de la compresión de audio MPEG-1: Modos de compresión

Capa 1 (MP1)– Es la más simple. – Funciona bien con bitrates mayores 128 kbps– Ejemplo: Philips Digital Compact Cassette (DCC) 192 kbps

Capa 2 (MP2)– 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

Page 8: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

Estructura del codificador

Calcula las partes perceptualmente irrelevantes del sonido de entrante

Pasa el sonido PCM de entrada al dominio de la frecuencia

dividiéndolo en 32 subbandas

Aloja bits a cada subbanda de acuerdo al

modelo psicoacústico

Genera el bitstream de salida en formato MPEG

Page 9: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

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

Page 10: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

El Filtro Polifase 2: Ejemplo de codificación en subbandas

SubmuestreoFiltrado

Q

Q

Q

Cuantificación Multiplexado

16x48kHz =768 kbps 16x3x48kHz=2304 kbps

16x3x16kHz=768 kbps

“El truco es elegir donde gastar los bits”Aumentó del bitrate!!!

16x16kHz + 8x16kHz + 4x16kHz=448 kbps !!!

Page 11: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

El Filtro Polifase 3

La salida para subanda i es:

Se puede escribir como:

511

0

][][][n

i nHntxiS

]64[]64[]][[][63

0

7

0

jkXjkCkiMiSk j

64

)16)(12(cos]][[ kikiM

Ventana de análisis

Muestras

Coeficientes del filtro de análisis

64

)16)(12(cos][][ ninhnHi

Page 12: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

El Filtro Polifase 4

1. Se enventana la señal

3. Cálculo parcial

6. Se calculan las 32 subbandas

511,...,0 ][][][ iiXiCiZ

63,...,0 ]64[][7

0

ijiZiYj

63

0

]][[][][k

kiMiYiS

Page 13: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

El Filtro Polifase 5

Page 14: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

El Filtro Polifase 6: h[n]

Page 15: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

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

Page 16: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

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.

Page 17: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

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.

Page 18: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

Psicoacústica 2: Enmascaramiento en frecuencia

Se obtiene haciendo escuchar un tono en silencio. Se aumenta la amplitud hasta que comienza a ser audible.

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.

Page 19: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

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

Page 20: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

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.

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.

Page 21: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

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.

Page 22: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

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.

Page 23: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

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)

Page 24: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

El modelo psicoacústico: Ejemplo

Señal original en frecuencia

Umbral de enmsacaramiento sin umbral absoluto y con umbral absoluto

-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

Page 25: Codificación de audio MPEG...2020/03/31  · Se utilizan códigos de Huffman para codificar las muestras cuantificadas. La distribución de los bits se hace en forma iterativa para

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.