|
|
3 MPEG
Audio.
3.1
El estándar MPEG audio.
El
estándar MPEG Audio contempla tres niveles diferentes de codificación-decodificación
de la señal de audio, de los cuales sólo el primero
está totalmente terminado. Los otros dos son aplicables, y
de hecho se utilizan habitualmente, pero siguen abiertos a ampliaciones.
Estos tres niveles son:
-
MPEG-1:
"Codificación de imágenes en movimiento y audio
asociado para medios de almacenamiento digital hasta 15
Mbit/s"
-
MPEG-2:
"Codificación genérica de imágenes en
movimiento e información de audio asociada"
-
MPEG-3:
la planificación original contemplaba su aplicación
a sistemas HDTV; finalmente fue incluido dentro de MPEG-2.
-
MPEG-4:
"Codificación de objetos audiovisuales"
En
el Apéndice 1 se detallan todos los niveles del estándar
MPEG y las referencias ISO correspondientes.
A
su vez, MPEG describe tres esquemas de codificación de audio
denominados esquema-1, esquema-2 y esquema-3. Del primero al tercero
aumentan tanto la complejidad del codificador como la calidad del
sonido. Los tres son compatibles jerárquicamente, esto es,
el decodificador esquema-i es capaz de interpretar información
producida por un codificador esquema-i y todos los niveles por debajo
del i. Así, un decodificador esquema-3 acepta los tres niveles
de codificación, mientras el esquema-2 sólo acepta el
1 y el 2.
MPEG
define, para cada esquema, el formato del bitstream y el decodificador
(que puede ser implementado de diferentes maneras). Con vistas a admitir
futuras mejoras no se define el codificador, pero en un apartado informativo
se da un ejemplo de codificador para cada uno de los esquemas. Hay
que decir que tanto MPEG-1 como MPEG-2 emplean estos tres esquemas,
pero este último añade nuevas características
(ver apartado 6, " breve FAQ sobre MPEG ").
3.2
Introducción al sistema MPEG-1.
Este
es el sistema que describe la norma ISO en lo referente al sistema
MPEG-1:
Codificación:
el codificador procesa la señal de audio digital y produce
el bitstream empaquetado para su almacenamiento y/o transmisión.
El algoritmo de codificación no está determinado, y
puede utilizar enmascaramiento, cuantización variable y escalado.
Sin embargo, debe ajustarse a las especificaciones del decodificador.

Figura
1: codificador según la norma ISO 11172-3
Las
muestras se introducen en el codificador y a continuación el
mapeador crea una representación filtrada y submuestreada de
la señal de entrada. Las muestras mapeadas se denominan tanto
muestras de subbanda (esquemas 1 y 2) como muestras de subbanda transformadas
(esquema 3). El modelo psicoacústico crea una serie de datos
(dependiendo de la implementación del codificador) que sirven
para controlar la cuantización y codificación. Este
último bloque crea a su vez su propia serie de datos, de nuevo
dependiendo de la implementación. Por último, el bloque
de empaquetamiento de trama se encarga de agrupar como corresponde
todos los datos, pudiendo añadir algunos más, llamados
datos adicionales, como por ejemplo CRC o información del usuario.
Decodificación:
el decodificador debe procesar el bitstream para reconstruir la señal
de audio digital. La especificación de este elemento sí
esta totalmente definida y debe seguirse en todos sus puntos. La figura
ilustra el esquema del decodificador.

Figura
2: decodificador según la norma ISO 11172-3
Los
datos del bitstream son desempaquetados para recuperar las diversas
partes de la información. El bloque de reconstrucción
recompone la versión cuantizada de la serie de muestras mapeadas.
El mapeador inverso transforma estas muestras de nuevo a PCM.
Esquemas:
-
Incluye
la división del mapeado básico de la señal
de audio digital en 32 subbandas, segmentación para el
formateo de los datos, modelo psicoacústico y cuantización
fija. El retraso mínimo teórico es de 19 ms.
-
Incluye
codificación adicional, factores de escala y diferente
composición de trama. El retraso mínimo teórico
es de 35 ms.
-
Incluye
incremento de la resolución en frecuencia, basado en
el uso de un banco de filtros híbrido. Cuantización
no uniforme, segmentación adaptativa y codificación
entrópica de los valores cuantizados. El retraso mínimo
teórico es de 59 ms.

Tabla
2 : resumen de datos de los tres esquemas
La
calidad viene dada del 1 al 5, siendo el 5 la superior (ver apartado
6). Hay que señalar que pese a los números de la norma
ISO, el retraso típico
acostumbra a ser tres veces mayor en la práctica.
Modos:
hay cuatro modos de funcionamiento para cualquiera de estos tres esquemas.
-
single
channel o canal único: una señal en un bitstream.
-
dual
channel o canal doble: dos señales independientes en
un mismo bitstream.
-
stereo:
como el anterior, perteneciendo las señales al canal
izquierdo y derecho de una señal estéreo original.
-
joint
stereo: como el anterior, aprovechando ciertas características
del estéreo como irrelevancia y redundancia de datos
para reducir la tasa de bits.
3.3
MPEG-1 en detalle.
Tras
haber visto la introducción que figura en los documentos ISO,
podemos pasar a analizar en detalle el funcionamiento del sistema.
A continuación haremos hincapié en las características
y diferencias entre los tres esquemas de MPEG-1.
La
codificación:
-
El
banco de filtros: realiza el mapeado del dominio del tiempo al
de la frecuencia. Existen dos tipos: el polifase y el híbrido
polifase/MDCT. Estos bancos proporcionan tanto la separación
en frecuencia para el codificador como los filtros de reconstrucción
del decodificador. Las muestras de salida del banco están
cuantizadas.
-
El
modelo psicoacústico: calcula el nivel a partir del cual
el ruido comienza a ser perceptible, para cada banda. Este nivel
se utiliza en el bloque de asignación de bit/ruido para
determinar la cuantización y sus niveles. De nuevo, se
utilizan dos diferentes. En ambos, los datos de salida forman
el SMR (signal-to-mask ratio) para cada banda o grupo de bandas.
-
Asignación
de bit/ruido: examina tanto las muestras de salida del banco de
filtros como el SMR proporcionado por el modelo psicoacústico,
y ajusta la asignación de bit o ruido, según el
esquema utilizado, para satisfacer simultáneamente los
requisitos de tasa de bits y de enmascaramiento.
-
El
formateador de bitstream: toma las muestras cuantizadas del banco
de filtros, junto a los datos de asignación de bit/ruido
y otra información lateral para formar la trama.
Los
tres esquemas utilizan diferentes algoritmos para cumplir estas especificaciones:
Esquema
I :
-
El
mapeado tiempo-frecuencia se realiza con un banco de filtros
polifase con 32 subbandas. Los filtros polifase consisten en
un conjunto de filtros con el mismo ancho de banda con interrelaciones
de fase especiales que ofrecen una implementación eficiente
del filtro subbanda. Se denomina filtro subbanda al que cubre
todo el rango de frecuencias deseado. En general, los filtros
polifase combinan una baja complejidad de computación
con un diseño flexible y múltiples opciones de
implementación.
-
El
modelo psicoacústico utiliza una FFT (Fast Fourier Transform)
de 512 puntos para obtener información espectral detallada
de la señal. El resultado de la aplicación de
la FFT se utiliza para determinar los enmascaramientos en la
señal, cada uno de los cuales produce un nivel de enmascaramiento,
según la frecuencia, intensidad y tono. Para cada subbanda,
los niveles individuales se combinan y forman uno global, que
se compara con el máximo nivel de señal en la
banda, produciendo el SMR que se introduce en el cuantizador.
-
El
bloque de cuantización y codificación examina
las muestras de cada subbanda, encuentra el máximo valor
absoluto y lo cuantiza con 6 bits. Este valor es el factor de
escala de la subbanda. A continuación se determina la
asignación de bits para cada subbanda minimizando el
NMR (noise-to-mask ratio) total. Es posible que algunas
subbandas con un gran enmascaramiento terminen con cero bits,
es decir, no se codificará ninguna muestra. Por último
las muestras de subbanda se cuantizan linealmente según
el número de bits asignados a dicha subbanda concreta.
-
El
trabajo del empaquetador de trama es sencillo. La trama, según
la definición ISO, es la menor parte del bitstream decodificable
por sí misma. Cada trama empieza con una cabecera para
sincronización y diferenciación, así como
16 bits opcionales de CRC para detección y corrección
de errores. Se emplean, para cada subbanda, 4 bits para describir
la asignación de bits y otros 6 para el factor de escala.
El resto de bits en la trama se utilizan para la información
de samples, 384 en total, y con la opción de añadir
cierta información adicional. A 48 Khz, cada trama lleva
8 ms de sonido.
Esquema
II :
-
El
mapeado de tiempo-frecuencia es idéntico al del esquema
I.
-
El
modelo psicoacústico es similar, salvo que utiliza una
FFT de 1024 puntos para obtener mayor resolución espectral.
En los demás aspectos, es idéntico.
-
El
bloque de cuantización y codificación también
es similar, generando factores de escala de 6 bits para cada
subbanda. Sin embargo, las tramas del esquema II son tres veces
más largas que las del esquema I, de forma que se concede
a cada subbanda tres factores de escala, y el codificador utiliza
uno, dos o los tres, según la diferencia que haya entre
ellos. La asignación de bits es similar a la del esquema
I.
-
El
formateador de trama: la definición ISO de trama es la
misma que en el punto anterior. Utiliza la misma cabecera y
estructura de CRC que el esquema I. El número de bits
que utilizan para describir la asignación de bits varía
con las subbandas: 4 bits para las inferiores, 3 para las medias
y dos para las superiores, adecuándose a las bandas críticas.
Los factores de escala se codifican junto a un número
de dos bits que indica si se utilizan uno, dos o los tres. Las
muestras de subbanda se cuantizan y a continuación se
asocian en grupos de tres, llamados gránulos. Cada uno
se codifica con una palabra clave, lo que permite interceptar
mucha más información redundante que en el esquema
I. Cada trama contiene, pues, 1152 muestras PCM. A 48 Khz. cada
trama lleva 24 ms de sonido.

Diagrama
1: diagrama de flujos del codificador para esquema-1 y esquema-2 según
ISO 11172-3
Esquema
III :
El
esquema III es sustancialmente más complicado que los
dos anteriores e incluye una serie de mejoras cuyo análisis
resultaría desbordante, de manera que no entraremos en
tantos detalles. Su diagrama de flujos es conceptualmente semejante
al visto para los otros dos esquemas, salvo que se realizan
múltiples iteraciones para procesar los datos con el
mayor nivel de calidad en un cierto tiempo, lo cual complica
su diseño hasta el punto de que los diagramas ISO ocupan
decenas de páginas.
El
mapeado de tiempo-frecuencia añade un nuevo banco de
filtros, el DCT (Discrete Cosine Transform), que con el polifase
forman el denominado filtro híbrido. Proporciona una
resolución en frecuencia variable, 6x32 o 18x32 subbandas,
ajustándose mucho mejor a las bandas críticas
de las diferentes frecuencias.
El
modelo psicoacústico es una modificación del empleado
en el esquema II, y utiliza un método denominado predicción
polinómica. Incluye los efectos del enmascaramiento temporal.
El
bloque de cuantización y codificación también
emplea algoritmos muy sofisticados que permiten tramas de longitud
variable. La gran diferencia con los otros dos esquemas es que
la variable controlada es el ruido, a través de bucles
iterativos que lo reducen al mínimo posible en cada paso.
El
formateador de trama: la definición de trama para este
esquema según ISO varía respecto de la de los
niveles anteriores: "mínima parte del bitstream
decodificable mediante el uso de información principal
adquirida previamente". Las tramas contienen información
de 1152 muestras y empiezan con la misma cabecera de sincronización
y diferenciación, pero la información perteneciente
a una misma trama no se encuentra generalmente entre dos cabeceras.
La longitud de la trama puede variarse en caso de necesidad.
Además de tratar con esta información, el esquema
III incluye codificación Huffman de longitud variable,
un método de codificación entrópica que
sin pérdida de información elimina redundancia.
Los métodos de longitud variable se caracterizan, en
general, por asignar palabras cortas a los eventos más
frecuentes, dejando las largas para los más infrecuentes.
La
decodificación:
Es
mucho más sencilla que la codificación, de manera que
con lo ya comentado en partes anteriores basta para seguir los siguientes
diagramas ISO que incluyen algunas notas aclaratorias al margen que
no forman parte de las figuras originales de la norma.

Diagrama
2: diagrama de flujos del decodificador para esquema-1 y esquema-2
según ISO 11172-3

Diagrama 3: detalle del filtro
del diagrama 2

Diagrama
4: diagrama de flujos del decodificador para esquema-3 según
ISO 11172-3
|