You are on page 1of 7

Trabajo Práctico especial

Señales y Sistemas
Introducción a la codificación de señales de audio
en formato MP3
14 de noviembre de 2006

Objetivo
Este trabajo práctico tiene como finalidad la comprensión por parte del alumno de la utilidad
del procesamiento de señales en su aplicación a compresión de señales de audio. En particular,
estamos interesados en entender cómo los sistemas denominados de procesamiento de señales en
múltiples velocidades (multirate signal processing) son utilizados para estos fines. Se propone
en el desarrollo del mismo estudiar un tipo particular de sistemas multirate, los denominados
filtros polifásicos, y entender cómo dichos filtros son utilizados en la codificación propuesta por
la norma MPEG-1, en sus aspectos relacionados al audio, conocido bajo la patente comercial
como MP3.
Para el desarrollo del Trab. Práctico serán utilizadas diversos temas:
Conceptos elementales de cuantización.
Filtros discretos: métodos de diseño de filtros multirate, con representación polifásica.
Rudimentos de codificación sub-banda (subband coders).
Códigos perceptuales y fenómenos psicoacusticos.
Elementos básicos de definición de la norma MPEG-1.

Requisitos para la aprobación:


El presente Trabajo Práctico Especial será evaluado con nota, la cual tiene participación en
el cálculo de la nota de la cursada y final de la materia (ver reglamento de la materia).
Este trabajo práctico será evaluado exclusivamente en las fechas indicadas en el calendario
y en el turno en el cual el alumno se halle inscripto. Se dispondrá de dos fechas de evaluación
de las cuales el alumno deberá optar por una de ellas. Bajo ningún concepto se podrá rendir en
ambas fechas. Es aconsejable rendir en la primera fecha y dejar la segunda solo para eventuales
imponderables (problemas personales, fallas técnicas en la impresión del tp, etc) ya que no
habrá posibilidad alguna de rendir fuera de las mismas. La evaluación del tp es individual y se
hará en forma oral o escrita por los docentes auxiliares. Puede incluir preguntas sobre:
- Items particulares sobre los ejercicios de esta guı́a y su implementación en Matlab.
- Conceptos teóricos necesarios para realizar los ejercicios.
Puede requerirse también al alumno que implemente alguno de los ejercicios o similares en la
computadora en el momento de la evaluación. Por lo tanto el alumno debe presentarse el dı́a
de la evaluación con:

* Esta guı́a.

* Las soluciones a los problemas planteados: Cuando el problema requiera una implementa-
ción, la misma debe estar adecuadamente descripta y debidamente justificada. Es decir,
si es necesario justificación teórica, ésta debe estar desarrollada. Si se pide una imple-
mentación práctica la misma debe estar adecuadamente documentada de modo que el
docente pueda constatar que las especificaciones requeridas se cumplen. Esto incluye la
presentación del programa de MATLAB utilizado, y los gráficos necesarios para mostrar
los resultados obtenidos. Los programas de MATLAB deben incluirse en la presentación
impresos y en versión electrónica. Todos los gráficos deberán tener tı́tulo, comentarios en
ambos ejes sobre la unidad a representar y el eje de abscisas debe estar en unidades de
tiempo o frecuencia según corresponda.

Nota del trabajo práctico especial: vendrá dada por (ver reglamento):

0: Tp no entregado, con errores conceptuales o errores en la evaluación que evidencien la no


realización personal del trabajo práctico.

40: Tp en el que el alumno cumple con los mı́nimos requisitos de aprobación

70: Tp en el que el alumno realiza y demuestra conocimiento de todos los puntos solicitados.

100: Tp en el que el alumno demuestra una clara conceptualización del trabajo realizado y
excede las pautas solicitadas.
Introducción
Desde que se establecieron los principios básicos de la transmisión de señales en formato
digital en los años 50, con el trabajo fundador de Shannon “Una Teorı́a Matemática de la
Comunicación”, ha habido un incesante crecimiento de investigación sobre métodos más y
más poderosos para enviar la misma información en menos bits. En las últimas décadas la
investigación en esos temas era una cosa tan difundida, y la electrónica necesaria para implentar
ese tipo de transmisiones tenı́an un grado de madurez tal, que era necesario contar con una
norma que permitiera estandarizar el tipo de codificación de modo que fuera posible pensar
por ejemplo en la television digital, es decir que permitiera a las industrias fabricar aparatos
receptores de señales en algún formato estandard.
A fin de alcanzar ese objetivo, y en general normalizar las técnicas de compresión para
video y audio, la Organización Internacional de Normas (ISO: Internations Standards Organi-
zation), creó un subcomité en conjunto con la Comisión Internacional de Electrotecnia (IEC:
Internations Electrotechnical Commission) denominado “Grupo de Expertos en Imagenes en
Movimiento”MPEG (Moving Pictures Experts Group). Este grupo de trabajo ha desarrollado
dos normas, una para video y audio digital de computadoras, identificada por la sigla MPEG-1
(año 1991), y otra para video y audio digitales empleados en la radiodifusión y en la distribu-
ción de tales señales, llamada MPEG-2 (1992). Actualmente el grupo MPEG está trabajando
en la norma MPEG-4. La normas de codificación de audio no son absolutamente cerradas, sino
que permiten diferentes grados de compresión. En MPEG-1 hay tres distintas capas, cada una
de las cuales crecen en complejidad. Lo que comunmente llamamos MP3 es la primera imple-
mentación hecha de la norma MPEG-1, capa III, que fue patentada y por lo tanto no es una
norma pública. En el artı́culo de Brandenburg, perteneciente al Fraunhofer Institute for Inte-
grated Circuits FhG-IIS A, Alemania, se explica porqué esta implementación, que justamente
fue gestada en dicho instituto, llegó a ser tan popular.

Alcances del trabajo Práctico


La comprensión completa de la norma MPEG-1 para audio, aún para la capa I, requiere una
gran cantidad de conocimientos no solo sobre procesamiento de señales sino sobre codificación
que exceden el ámbito de la materia. Sin embargo es posible entender aquellos principios de
subband coders que son utilizados en este formato, y que muestran un claro ejemplo de la
potencialidad de estas herramientas. Entonces el objetivo de este práctico será comprender
los elementos de la norma correspondientes a los bancos de filtros utilizados, y demostrar el
potencial que ellos pueden proveer, aún sin llegar a la codificación de la señal en formato
MP3 realmente. Solo se analizará la parte de la norma que permite calcular la salida de los
filtros polifasicos y la cantidad de bits por banda a asignar, sin ocuparnos de la parte de
empaquetamiento ni la codificación de cada frame. Luego se implementará el banco de filtros
de sı́ntesis, con lo cual podremos apreciar la degradación o no de la codificación propuesta.

Introducción a los bancos de filtros multirate


Principios elementales de cuantización
En nuestra materia hemos estudiado hasta el presente todas las implicancias de convertir
una señal de tiempo continuo x(t) a su versión de tiempo discreto xd (n) = x(t)|t=nFs . En los
sistemas fı́sicos esta operación es realizada mediante un conversor A/D, pero con la salvedad
de que además de limitar el tiempo a instantes discretos, se realiza al mismo tiempo una
cuantificación de la señal. Esto quiere decir que las señales no solo son funciones discretas en
su eje de tiempos, sino que también son discretas en amplitud.
La aproximación más simple que suele utilizarse para el tratamiento de la cuantización es
considerar que la señal cuantizada es sumada a una señal de error e(n),

e(n) = x̂(n) − xd (n)

xd(n) x̂(n) = Q(xd(n))


Q(·)

xd(n) x̂(n) = xd(n) + e(n)


X

e(n)

donde se considera que e(n) es un proceso estocástico, descorrelacionado de la señal xd (n). La


suposición de descorrelación es útil a los propósitos analı́ticos, pero solo es aproximadamente
cierta si se cumplen dos premisas:

La amplitud de los pasos de la cuantización ∆ son suficientemente pequeños como para


asumir que el error tiene una naturaleza aleatoria.

Los niveles de cuantización son suficientes como para cubrir todo el rango de la señal, es
decir que no hay “clipping”.

Si estas dos premisas se cumplen, tendremos que las amplitudes posibles de e(n) son como máxi-
mo ±∆/2 y su distribución de densidad de probabilidad es una uniforme entre esos lı́mites. Este
modelo es adecuado si se supone que el ruido de cuantización no degradará significativamente
a la señal.

Introducción a los Subband coders


De acuerdo a lo dicho previamente es inmediato darse cuenta que la cantidad de bits reque-
ridos para codificar una señal está muy emparentado con la energı́a de la señal. Si la amplitud
de la señal es mayor, se requerirán más escalones de codificación. De otro modo, es posible
pensar que se podrı́a utilizar la misma cantidad de escalones, pero de separación entre niveles
más grande. Pero si la señal es compleja, el hecho de aumentar ∆ puede producir cuantizaciones
que provoquen una distorsión inaceptable en los niveles en que la amplitud de la señal es baja.
Una posible distribución mejorada de bits de cuantización consistirı́a en subdividir la señal
en porciones más simples, o de naturaleza parecida (por ejemplo porciones de señales que tengan
grandes amplitudes pero sin detalles, y otra con los detalles pero de menor amplitud), y tratar
de cuantizar cada porción por separado, de modo que la cantidad total de bits (por ejemplo de
un frame de señal) siga siendo siempre constante. El mejor ejemplo de esto son los codificadores
por subbandas (subband coders), que implementan una división eficiente de la señal en bandas
separadas de frecuencia, permitiendo una distribución de bits distinta en cada banda de acuerdo
a criterios separados para cada banda. El principio de funcionamiento de un subbancoder es
representado en la figura.

En este caso la señal se divide en M señales distintas, mediante M filtros pasabanda. Cada
una de las señales de salida tendrá distintas necesidades de cuantización de acuerdo al tipo
de señal a codificar, y por lo tanto la cantidad total de bits disponibles por unidad de tiempo
puede ser distribuı́da entre las diferentes señales para lograr menor degradación de la señal, o
a la inversa, para la misma degradación usar menos bits. Si las bandas de frecuencia no tienen
overlapp entre ellas, es lógico pensar que el sistema tendrá éxito en recuperar la señal con un
mı́nimo de distorsión. Los subbancoders implementan versiones de bancos de filtros que pueden
lograr el mismo objetivo, aunque el overlap de las bandas no sea nulo.
Un ejemplo de tal descomposición que ya a sido objeto de estudio en nuestra materia es la
transformada de Fourier de corto tiempo, en su versión para frecuencia discreta. La expresión
de la STFT (Short time Fourier Transform) puede escribirse como

2π k m
X
Xk (n) = x(n − m) w(m) e−j M

m=−∞

∞  
−j 2πM
km
X
Xk (n) = x(n − m) w(m) e
m=−∞
que puede ser pensada como una serie de M señales, Xk (n), una para cada uno de los ı́ndices
de la DFT, que son porciones filtradas de la señal.

1. Dibuje los espectros del banco de filtros correspondiente a la STFT para ventana rectan-
gular y de Hanning. Discuta cuál de los dos casos tiene más aliasing entre bandas.

Multirate
Este principio de convertir una señal x(n) en M señales parecerı́a presentar el inconveniente
de que se necesitan M veces más muestras que antes para enviar la señal x(n). Sin embargo,
como las señales son de banda limitada, no es difı́cil imaginar que es posible enviar solo una
muestra de cada M , o sea, submuestrear por M cada una de las señales del banco de análisis sin
perder información realmente. El esquema completo del banco de filtros será como se muestra
ahora en la figura para M = 2.

2. Grafique esquemáticamente para un banco de filtros pasabanda ideal, cómo serı́a el es-
pectro de la señales x0 (n), x1 (n), v0 (n), v1 (n), y0 (n) e y1 (n) y discuta una posible elección
de los filtros de reconstrucción, que sea capaz de obtener una baja distorsión de la señal
x̂(n) con respecto a la original.

Multirate systems y bancos de filtros-coseno modulados


En la norma MPEG-1 para audio se utiliza una implementación eficiente de los sistemas
multirate para codificación subbanda. Estos son llamados filtros polifasicos coseno-modulados.
Dicha implementación es conveniente desde varios puntos de vista:

- La implementación polifásica hace que la cantidad de operaciones necesarias para imple-


mentar los filtros se reduzca considerablemente.

- Utiliza filtros de coeficientes reales, basados en la modulación mediante cosenos de un


único filtro pasabanda inicial.

- Una elección adecuada de los parámetros de los moduladores hace que la distorsión total
de la señal sea baja, a nivel tolerable.

- Una adecuada elección de la banda de transición de los filtros permite simplificaciones


posteriores hacerca de los parámetros de los filtros, minimizando el aliasing entre bandas.

La norma MPEG-1 no especifica cada aspecto de la codificación, sin embargo la cantidad


de filtros, ası́ como los coeficientes del filtro base sı́ están definidos en la norma, dejando librado
al implementador otros aspectos de la compresión.
Desarrollo del trabajo Práctico
El trabajo práctico consiste en la implementación de un banco de filtros multirate como los
utilizados en el formato MP3. Luego se utilizará una implementación de Matlab disponible en
la web para entender los principios de la distribucion de bits por banda utilizados en la capa I
de la norma MPEG-1.

Esquema general del codificador de la norma MPEG-1 para audio


3. Estudiando la bibliografı́a sugerida realice un diagrama de bloques general del codificador
de la norma con sus boques principales.

4. Implemente el banco de filtros polifásicos de descomposición (análisis) y de composición


(sı́ntesis) según lo indicado en el tutorial de Pan, utilizando como datos el filtro C que
figura en los scripts de Matlab suministrados (ver explicación adicional sobre implemen-
taciones polifásicas y filtros coseno modulados).

El modelo Psicoacústico
La norma MPEG-1 para audio implementa una compresión de la información con pérdidas.
En la compresión con pérdidas, los datos codificados y vueltos a decodificar no son idénticos
bit a bit a los datos de la fuente. La compresión con pérdida es irreversible, ya que la señal de
audio reconstruı́da no será exactamente igual a la señal original.
La compresión con pérdida, permite una más alta reducción de la tasa de bits. En general,
una mayor compresión crea una mayor distorsión pero con técnicas cuidadosamente seleccio-
nadas, esta distorsión puede hacerse bastante imperceptible al oı́do humano. Los codificadores
con pérdida exitosos son aquellos en los cuales las diferencias se arreglan para que un oyente hu-
mano los encuentre subjetivamente difı́cil de percibir. Estos codificadores están basados en una
comprensión de percepción psicoacústica. Estos se llaman frecuentemente códigos perceptivos.
Para una introducción a los modelos psicoacústicos, consulte la bibliografı́a sugerida.

4. Describa los principales fenómenos psicoacústicos que se tienen en cuenta en los modelos
utilizados en la norma: Sensibilidad del oı́do humano en función de la frecuencia, Enmas-
caramiento en frecuencia, y Enmascaramiento simultáneo (dominio frecuencia) por ruidos
y tonales.

5. Describa para cada frame los pasos que se siguen en la determinación de la máscara de
ruido por banda implementada en los scripts de Matlab suministrados. Determine para
cada paso cuál de los dos modelos psicoacústicos está implementado en los scripts.

6. Implemente nuevamente la descomposición de la señal mediante el banco de filtros ante-


rior, pero codifique cada frame de acuerdo a la máscara de ruido por banda determinada
en el programa de Matlab. Escuche la señal reconstruida con este método. Compare el
resultado con una codificación uniforme de la señal con igual número de bits totales.

7. Repita la implementación anterior, pero modificando la tasa de bits permitida. Comente


los efectos de tipo distorsivo que esto produce.

You might also like