Sunteți pe pagina 1din 3

Codificador y decodificador MP3

Jose Manuel Bedoya Salazar


Ingeniería de Sonido
Universidad San Buenaventura, Sede Medellín

Definición del problema


Basándonos en la pregunta: ¿Cómo funciona la codificación y decodificación MP3?;
buscamos dar solución a esta creando, mediante los conocimientos adquiridos en la materia
Psicoacústica e investigando, un algoritmo en MATLAB el cual permite codificar y
decodificar archivos de audio MP3; y a su vez entender el funcionamiento de cada parte,
módulo o sección que tenga el algoritmo. Así como también se busca entender toda la teoría
de procesamiento de señales que hay detrás del mismo.

División del problema


Umbral mínimo de audición
Este umbral corresponde al mínimo ruido que se pueda escuchar en un ambiente
silencioso; expresado por una curva de intensidad contra frecuencia en las cual se puede
ver que las frecuencias 2 y 5 khz está su parte mínima (0 dB) y en consecuencia, la
información que esté bajo esta curva, no es captada por el oído humano, diciendo así que
esta información no necesariamente se deba codificar.

Enmascaramiento
• Enmascaramiento en frecuencia
Se trata de que una determinada frecuencia puede enmascarar, cubrir o disminuir
el nivel de otra frecuencia adyacente, aplicando únicamente cuando el nivel de la
frecuencia enmascararte es mayor que el nivel de la frecuencia adyacente
(enmascarado)

• Enmascaramiento temporal
Sucede cuando un tono suave está muy próximo en el dominio del tiempo (en
milisegundos) a un tono fuerte; es decir, cuando suena un tono suave y
posteriormente suena un tono fuerte, el tono suave será enmascarado por el tono
fuerte; pero posteriormente si el tono fuerte desaparece, el oído necesita un intervalo
de tiempo para volver a escuchar el tono suave.

En cualquier sonido, se presentan los dos enmascaramientos a la vez, obteniendo así (con
la superposición de ambas gráficas) una sola gráfica de tres ejes; en donde el área bajo la
curva, serían los sonidos que no pueden ser escuchados.

Bandas críticas
Para poder llevar a cabo el enmascaramiento en frecuencia, se necesita saber cuanto es el
área de enmascaramiento para cada frecuencia, la cual, para todas las frecuencias no es
la misma y esta varía de manera logarítmica y de esta manera, un tono puro (representado
por una componente en el dominio de la frecuencia) puede ser representado como
una curva de enmascaramiento psicoacústico.
Entonces, decimos que las bandas críticas son los estímulos más fuertes a los cuales
responde el oído en sus diferentes regiones de frecuencia, y como se dijo anteriormente, el
ancho de cada banda varía dependiendo de la zona frecuencial donde se encuentre: de 20
a 400 Hz su ancho de banda es de aproximadamente 100 Hz, pero sin embargo, este ancho
aumenta de una manera logarítmica a medida que aumenta la frecuencia.
Se puede saber cuánto es el ancho de la banda crítica con la siguiente formula:

Ancho de la banda crítica (Hz) = 24. 7(4.37F + 1)


F es la frecuencia central en KHz

Transformada discreta de Fourier


Transforma una función matemática en otra, obteniendo una representación en el dominio
de la frecuencia, siendo la función original una función en el dominio del tiempo

• Transformada rápida de Fourier (FFT): es un algoritmo eficiente que permite


calcular la transformada de Fourier discreta (DFT) y su inversa.

Transformada de coseno discreta (DCT)


Es una transformada basada en la Transformada de Fourier discreta, pero utilizando
únicamente números reales.

Ventaneo
Es una función que se usa después de que se aplica la FFT y la onda queda “truncada”,
por ende, al juntarse con la otra señal, se escucharía una especie de corte. Lo que se hace
con el ventaneo, es reducir la amplitud de las discontinuidades en los límites de cada
secuencia finita, Esto hace que los extremos de la forma de onda se encuentren y por lo
tanto, da como resultado una forma de onda continua y sin transiciones bruscas.

Banco de filtros
Es una matriz formada por más de un filtro pasabanda que separa la señal de en varias
componentes, cada uno llevando una sola frecuencia de sub-banda de la señal original. Es
decir, son varios filtros pasa banda que descompone la señal de entrada en sus
componentes frecuenciales.

Codificación Huffman
Es un método general de codificación y compresión diseñado para minimizar el número
medio de bits necesarios para transmitir un símbolo cuando se debe transmitir varias copias
independientes y estadísticamente equivalentes de dicho símbolo.
Esta técnica crea códigos de longitud variable sobre un número total de bits, donde los
símbolos con más alta probabilidad tienen códigos más cortos. Los códigos de Huffman
tienen la propiedad de poseer un único prefijo y por lo tanto, pueden ser decodificados
correctamente a pesar de su longitud variable; el proceso de la decodificación es muy
rápido, a través de una tabla de correspondencias. Este tipo de codificación permite ahorrar,
en promedio, aproximadamente un 20% en espacio de almacenamiento.

Metodología
Análisis psicoacústico
Primero, se usa una FFT de 1024 puntos para pasar del dominio temporal al frecuencial,
pero con un ventaneo para poder obtener una buena resolución de frecuencia evitando las
discontinuidades en los extremos de la seña; posteriormente se determina qué tipo de
señal está siendo procesada y así saber qué tipo de bloque se le puede aplicar (largo o
corto); se calcula el umbral mínimo de enmascaramiento o las bandas críticas y así eliminar
la información que resulte enmascarada; y por último, salen hacia la DCT modificada los
bloques y al módulo de ventaneo el tipo de bloque que es.

Aplicación de filtros polifásicos o banco de filtros


Paralelamente al paso anterior, se aplica otra FFT para pasar la señal al dominio frecuencial
a la cual se le aplicará un banco de filtros el cual la descompone en sus componentes
frecuenciales para pasar al análisis psicoacústico y a su vez, dividirla en bloques los cuales
pasarán al módulo de la DCT modificada.

DCT modificada
Una vez los bloques salen del análisis psicoacústico y del banco de filtros, se les aplica
una DCT modificada para pasar ya al dominio del tiempo, trasponer o “juntar” estos bloques;
y a su vez, esta se usa para obtener un 50% de aliasing con el fin de compensar la falta
precisión del banco de filtros, es decir, reducir este fenómeno (aliasing).

Ventaneo
Ya una vez sale en el dominio del tiempo o pasado por la DCT modificada, aún sigue con
problemas de aliasing; por eso en este módulo se aplica también un ventaneo, donde se
pueden dar cuatro tipos de ventanas: NORMAL, transición de ventana larga a corta
(START), ventana corta (SHORT), transición de ventana corta a larga (STOP). Aplicando
cada tipo dependiendo del tipo de bloque que diga el análisis psicoacústico.

Cuantización y codificación
Finalmente se da el paso de la cuantización, donde existen dos ciclos anidados, uno interno
y otro externo. la función del primero es la de cambiar el tamaño del paso de cuantización
hasta que los datos espectrales puedan ser codificados con el número de bits disponible, y
posteriormente aplicar la codificación Huffman; mientras que el ciclo externo, cumple la
función de amplificar las bandas de factores de escala, de tal forma que las demandas del
análisis psicoacústico sean cumplidas en la medida de lo posible. Obteniendo como
resultado el archivo MPEG-3 codificado.

Bibliografía
[1] Giacchetti Burrei, F. (1994). SISTEMA DE ADQUISICIÓN Y CODIFICACIÓN DE SEÑALES
DE AUDIO. Ingeniero. UNIVERSIDAD NACIONAL DE INGENIERÍA (Perú).
[2] Schuller, G. (2018). Audio Coding.
[3] Takaya, K. (2008). MP3 - Mpeg 1,2 layer 1,2,3 Audio Encoding.
[4] tello paleta, e. (2016). DISEÑO E IMPLEMENTACIÓN DE UN CODIFICADOR
DECODIFICADOR PERCEPTUAL DE AUDIO DIGITAL. Maestría. UNIVERSIDAD NACIONAL
AUTÓNOMA DE MÉXICO.
[5] Thiagarajan, J. and Spanias, A. (2012). Analysis of the MPEG-1 layer III (MP3) algorithm using
MATLAB. [San Rafael, Calif.]: Morgan & Claypool Publishers.

S-ar putea să vă placă și