• No se han encontrado resultados

Análisis y Tutorial del Codificador de Audio MPEG 11172-3-Edición Única

N/A
N/A
Protected

Academic year: 2017

Share "Análisis y Tutorial del Codificador de Audio MPEG 11172-3-Edición Única"

Copied!
132
0
0

Texto completo

(1)

PUBLICACIÓN DE TRABAJOS DE GRADO

Las Bibliotecas del Sistema Tecnológico de Monterrey son depositarias de los trabajos recepcionales y de

grado que generan sus egresados. De esta manera, con el objeto de preservarlos y salvaguardarlos como

parte del acervo bibliográfico del Tecnológico de Monterrey se ha generado una copia de las tesis en

versión electrónica del tradicional formato impreso, con base en la Ley Federal del Derecho de Autor

(LFDA).

Es importante señalar que las tesis no se divulgan ni están a disposición pública con fines de

comercialización o lucro y que su control y organización únicamente se realiza en los Campus de origen.

Cabe mencionar, que la Colección de

Documentos Tec,

donde se encuentran las tesis, tesinas y

disertaciones doctorales, únicamente pueden ser consultables en pantalla por la comunidad del

Tecnológico de Monterrey a través de Biblioteca Digital, cuyo acceso requiere cuenta y clave de acceso,

para asegurar el uso restringido de dicha comunidad.

(2)

Análisis y Tutorial del Codificador de Audio MPEG

11172-3-Edición Única

Title

Análisis y Tutorial del Codificador de Audio MPEG

11172-3-Edición Única

Authors

José I. Maria Gómez Quiñones

Affiliation

Campus Monterrey

Issue Date

2000-07-01

Item type

Tesis

Rights

Open Access

Downloaded

19-Jan-2017 09:00:27

(3)
(4)

Instituto Tecnológico y de Estudios Superiores de Monterrey

Campus Monterrey

División de Electrónica, Computación, Información, y Comunicaciones

Programa de Graduados

Análisis y Tutorial del codificador de Audio MPEG 11172-3

TESIS

Presentada como requisito parcial para obtener el grado académico de

Maestro en Ciencias En Ingeniería Electrónica

Especialidad en Sistemas Electrónicos

Ing. José I. Gómez Quiñones

(5)
(6)

Instituto Tecnológico y de Estudios Superiores de Monterrey

Campus Monterrey

División de Electrónica, Computación, Información, y Comunicaciones

Programa de Graduados

Los miembros del comité de tesis recomendamos que la presente tesis de José I. Gómez Quiñones sea aceptada como requisito parcial para obtener el grado académico de Maestro en Ciencias en:

Ingeniería Electrónica

Especialidad en Sistemas Electrónicos

Comité de tesis:

PhD. Ramón M. Rodríguez Dagnino Asesor de la tesis

MSc. Ricardo Guzmán Díaz. Sinodal

Programa de Graduados en Electrónica, Computación, Información, y

Comunicaciones

MSc. Artemio Aguilar Coutiño. Sinodal

(7)
(8)

Agradecimientos

A Dios principio absoluto y creador, por mi vida, mis padres y todo lo que tengo.

Papá, gracias por tu apoyo y cariño de siempre, por ser mi mejor amigo, por enseñarme tantas cosas.

A mis tíos José Francisco e Isabel por sus consejos y oraciones demás de estar conmigo en los momentos más importantes.

A Mai por sus horas escuchándome, por las consultas y las terapias gratuitas.

A Franco, y Mei.

A Ivette, gracias por tu amor, por todo este tiempo, por tus consejos y tu apoyo.

A mi asesor Dr. Ramón M. Rodríguez Dagnino que gracias a su instrucción y guía hicieron posible terminar este trabajo de investigación.

A mis Sinodales Ing. Ricardo Guzmán D. M.C. y Ing. Artemio Aguilar C. M.C. por su dedicación en la revisión de esta tesis y sus valiosos comentarios.

Al Dr. Graciano Dieck Assad por la oportunidad que me dió de formar parte del Departa-mento de Ingeniería Eléctrica.

Al Dr. Ignacio Célis Villegas por sus consejos siempre acertados a cualquier hora.

A mis maestros del Departamento de Ingeniería Eléctrica.

Al M.C. Ing. Víctor M. Cázares Rangel por su valiosa ayuda en la revisión de esta tesis.

A la flota rebelde: Rubén, Víctor, Gabriel y Horacio, por el apoyo incondicional y por los corridos.

A César Rostro y Germán Segura gracias por su apoyo de siempre.

JOSÉ I. GÓMEZ QUIÑONES

(9)

José I. Gómez Quiñones, M.C.

Instituto Tecnológico y de Estudios Superiores de Monterrey, 2000

Asesor de la tesis: PhD. Ramón M. Rodríguez Dagnino

En los últimos años, el audio digital ha venido a reemplazar las opciones analógicas de procesamiento reproducción y almacenamiento de señales audibles. Con los avances en el área de redes de tele-comunicaciones, aplicaciones multimedia y redes inalámbricas, han emergido una gran cantidad de dispositivos demandantes de audio digital con bajas tasas de bits.

(10)

Índice General

Índice de Figuras v

Índice de Tablas vii

Capítulo 1 Introducción 1

1.1 Consideraciones básicas 1 1.2 Orígenes 2 1.2.1 Capas (Layers) 3 1.3 Alcance de la Tesis y motivación 3 1.4 Organización de la Tesis 4

Capítulo 2 Filtrado por sub-bandas en MPEG 7

2.1 Panorama General 7 2.2 Concepto principal 7 2.2.1 Definición matemática 9

Capítulo 3 Codificación en el dominio de la frecuencia 15

3.1 Codificación en el dominio de la frecuencia en MPEG 15 3.1.1 Banco de filtros 16 3.2 Dinámica de los datos de la señal de audio de entrada 20

Capítulo 4 Capa I 25

4.1 Codificación 25 4.2 Factores de escala 25 4.2.1 Codificación de factores de escala 26 4.3 Asignación de bits 27 4.4 Cuantización y Codificación de las muestras de sub-banda 30 4.5 Codificación de la asignación de bits 33 4.6 Formato de la trama de datos 34

Capítulo 5 Capa II 41

5.1 Codificación 41 5.2 Factores de Escala 41 5.3 Codificación de los Factores de Escala 41 5.4 Asignación de Bits 46 5.5 Cuantización y Codificación de las muestras de sub-banda 49 5.6 Codificación del número de bits asignados 51

(11)

5.7 Formato de la trama de datos 53

Capítulo 6 Modelo Psicoacústico 55

6.1 Bandas Críticas 55 6.2 Fundamentos 56 6.3 Modelo Psicoacústico 1 57 6.3.1 Análisis 57 6.3.2 Determinación del Nivel de Presión de Sonido (SPL) 58

6.3.3 Obtención del Umbral Absoluto Absolute Threshold 59

6.3.4 Determinación de las componentes tonales y no-tonales 60 6.3.5 Discriminación de componentes enmascarantes tonales y no tonales 62 6.3.6 Cálculo de Umbral Enmascarante individual 62 6.3.7 Cálculo del Umbral Enmascarante Global 64 6.3.8 Determinación del Umbral Enmascarante Mínimo 64 6.3.9 Relación Señal a Máscara (Signal to Mask Ratio) 64 6.4 Modelo 2 64 6.4.1 Procedimiento de cálculo del umbral 65 6.4.2 Cálculo de la relación SMR 70

6.4.3 Adaptación del Modelo Psicoacústico 2 a Capa III 72

Capítulo 7 Capa III 75

7.1 Modelo Psicoacústico 76 7.2 Banco de filtros híbrido conmutable .. 77 7.2.1 Pre-ecos 77 7.2.2 Ventanas 77 7.2.3 Aplicación de la MDCT 80 7.3 Cuantización y codificación de muestras 81 7.3.1 Ciclo de iteraciones 82 7.3.2 Cálculo del promedio de bits disponibles 82

7.3.3 Control de Reserva de bits (Bit reservoir) 83

7.3.4 Bandas de factor de escala 84 7.3.5 Ciclo de iteración externo (Outer Iteration Loop) 85 7.3.6 Ciclo de iteración interna (Inner Iteration Loop) 91 7.4 Formato de la trama de datos 93

Capítulo 8 Sintaxis de la trama de audio 95

8.1 Información general 95 8.1.1 Header 95 8.2 Capa I 97 8.3 Capa II 98

8.4 Capa III 98

Capítulo 9 Conclusión 103

9.1 Aplicaciones 103 9.2 Futuras implementaciones 104

(12)

ÍNDICE GENERAL iii

Apéndice B El formato WAV 107

Apéndice C Información de los archivos del disco de apoyo 109

Apéndice D Lista de acrónimos utilizados. 111

Bibliografía 113

(13)
(14)

índice de Figuras

2.1 Separación en sub-bandas de una señal x(n) 8

2.2 Quadrature Mirror Filter 8 2.3 Proceso de filtrado lineal 9 2.4 Decimación por un factor D 10 2.5 Espectro de las señal x(n) en el proceso de decimación 12 2.6 Espectro de la señal x(n) en el proceso de Interpolación 14

3.1 Diagrama de flujo del filtro de Análisis 17 3.2 Ventana de Análisis C 18 3.3 Ventana de Análisis modificada 18 3.4 Respuesta en frecuencia del filtro prototipo 19 3.5 Respuesta de los 8 primeros filtros 20 3.6 Comportamiento de la Sub-banda 0 21 3.7 Comportamiento de los datos en la Sub-banda 11 22 3.8 Comportamiento de los datos en la Sub-banda 31 22 3.9 Dinámica de datos en el banco de filtros 23

4.1 Diagrama a bloques de Capa 1 25 4.2 Agrupamiento de muestras de sub-banda para Capa 1 26 4.3 Comportamiento lineal y logarítmico de los factores de escala 28 4.4 Diagrama de flujo para el proceso de asignación de bits 36 4.5 Una muestra de un cuantizador de 7 niveles para Capas I y II 37 4.6 Diagrama de flujo para el proceso de cuantización de muestra 38 4.7 Número de bits asignados para diferente tasa de bits 39 4.8 Trama de datos codificados en Capa 1 39

(15)

6.1 Umbrales involucrados en el modelo psicoacústico 57 6.2 Otra perspectiva de los umbrales acústicos 58 6.3 Umbral Absoluto 60 6.4 Listado de componentes tonales 62 6.5 Listado de componentes no-tonales 63 6.6 Umbrales obtenidos con el modelo psicoacústico 1 65 6.7 Respuesta de la ventana Hann ' 66 6.8 Gráfica de no-predictibilidad 67 6.9 SMR calculado con el Modelo Psicoacústico 2 71 6.10 Comparación de SMR 71

7.1 Diagrama de flujo de la implementación del modelo psicoacústico 76 7.2 Dinámica de procesamiento de datos en Capa III 78 7.3 Conmutación de ventanas 79 7.4 Ventana normal tipo 0 80 7.5 Ventana start tipo 1 81 7.6 Ventana stop tipo 3 82 7.7 Ventana short tipo 2 83 7.8 Ilustración de la aplicación de la ventana tipo 2 83 7.9 Conmutación típica en el banco de filtros híbrido . . . 84 7.10 Entropía psicoacústica 85 7.11 Diagrama de mariposa de la MDCT 86 7.12 Detalle de la mariposa utilizada en la MDCT 86 7.13 Variables de entrada/salida para el esquema de iteraciones 87 7.14 Diagrama de flujo de los ciclos de iteración en Capa III 88 7.15 Ciclo de iteración externo (Outer Iteration Loop) 89 7.16 Ciclo de iteración interno (Inner Iteration Loop) 92 7.17 Trama de datos Capa III 94

8.1 Sección de asignación de bit en la trama de datos 97 8.2 Sección de big_values 99

(16)

Índice de Tablas

1.1 Tasa de bits para diferentes medios digitales de transmisión 1

4.1 Factores de escala para Capas I y II 27 4.2 Factores de escala para Capas I y II 29 4.3 Razón Señal a Ruido (Signal to Mask Ratio) 29 4.4 Coeficientes de Cuantización para Capa I 31 4.5 Valores iniciales de las variables involucradas en el ejemplo de Cuantización 31 4.6 Fragmento del cuantizador utilizado en el ejemplo 32 4.7 Codificación de acuerdo a los bits asignados 34 4.8 Codificación de acuerdo a los bits asignados 34

5.1 Asignación de clase de acuerdo a la diferencia de los factores de escala 44

5.2 Patrones de Transmisión de Factor de Escala para Capa II 44

5.3 Selección de Tabla de acuerdo a la frecuencia de Muestreo Fs y Tasa de bits deseado 47

5.4 Signal to Noise Ratio para Capa II 51

5.5 Coeficientes de cuantización Capa II 53

6.1 Bandas críticas discretas 56 6.2 Fragmento de la tabla T3-D.lb 59 6.3 Límites de Bandas Críticas para una frecuencia de muestreo de 44.1 kHz 60 6.4 Rango de frecuencias A / para Capa I, 44.1 kHz 61 6.5 Líneas espectrales necesarias para el cálculo del Umbral Enmascarante individual . . . 62 6.6 Fragmento de la Tabla de cálculo de particiones 3-D.3.b 68 6.7 Fragmento de la tabla de particiones del codificador Capa I y II 70

7.1 Coeficientes de Capa III para la mariposa utilizada en la MDCT 80

7.2 Tabla de longitud de bits de las bandas de factor de escala 87 7.3 Tabla de coeficientes de pre-énfasis 90

8.1 Codificación de Capa 95 8.2 Índice de tasa de bits 96 8.3 Código de frecuencia de muestreo 96 8.4 Código de modo 96 8.5 Código de sub-bandas en joint_stereo 97 8.6 Tipo de De-énfasis que deberá ser usado por el decodificador 97 8.7 Codificación de la información de las bandas de factor de escala 98 8.8 Codificación de la información del tipo de bloque usando en el granulo 99

[image:16.612.134.564.230.702.2]
(17)
(18)

Capítulo 1

Introducción

1.1 Consideraciones básicas

Con el advenimiento de redes de datos más rápidas y eficientes se hizo patente la necesidad de la transmisión señales de voz, video y música en tiempo real. Siendo esta materia una oportunidad de investigación y desarrollo muy grande, se han planteado muchas y muy variadas opciones para hacer la transmisión de datos multimedia más poderosa y robusta.

La necesidad de minimizar costos de transmisión, la relación costo-eficiencia en el almacenamiento de datos, y la creciente demanda de transmisión de señales multimedia en canales de capacidad limitada constituyen las principales motivaciones para desarrollar nuevas opciones en el área de la transmisión de señales multimedia. La consigna medular es sin duda la reducción de la tasa de bits (bü-rate).

Una de las áreas más beneficiadas con el concepto de reducción de la tasa de bits ha sido la transmisión y almacenamiento de audio (tema central de esta investigación), sin embargo a la hora de procesar la señal original, el codificador debe asegurar que la señal reconstruida sea de alta calidad y que presente una buena inmunidad a las variaciones espectrales y de amplitud, que el codificador sea de baja complejidad y consumo de potencia, debe ser portable a una gran variedad de dispositivos y aplicaciones, además de permitir códigos de protección contra errores y en aplicaciones profesionales permitir edición, manipulación y mezclado así como compresión del rango dinámico.

Para ilustrar el impacto de la reducción en la tasa de bits veamos la Tabla 1.1

Medio Ancho de banda Frecuencia de muestreo Tasa de bits audio estéreo Codificación CD DAT ProDAT DAT DCC MD 20 kHz 16 kHz 16 kHz 16 kHz 20 kHz 22 kHz 44.1 kHz 32 kHz 44.1 kHz 48 kHz 44.1 kHz 44.1 kHz 1411.2 kbits/s 1024 kbits/s 1411.2 kbits/s 1536 kbits/s 384 kbits/s 292 kbits/s PCM PCM PCM P C M

PASC ATRAC

Tabla 1.1: Tasa de bits para diferentes medios digitales de transmisión.

De la tabla anteror podemos observar que en el CD (el medio de almacenamiento de audio por excelencia) la tasa de bits es de 1.41Mb/s, mientras que el Mini Disk (MD) l se reduce en un 80%;

(19)

ciertamente el CD requiere de 16 a 32 bits extras por cada muestra de audio para corrección de errores, de aquí la importancia del desarrollo de nuevas técnicas de compresión de audio.

1.2 Orígenes

Muchas técnicas de compresión de señales audibles han sido exploradas, de ahí surgió la necesidad de estandarizar un modelo eficiente y que cumpla con las características mencionadas anteriormente. MPEG (Moving Pictures Experts Group) publicó en 1992 la versión final del estándar de compresión de audio 11172-3, "Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to About 1.5 Mbit/s", que es el estándar más utilizado y de más aceptación actualmente por su robustez y eficiencia probadas.

La evolución de los estándares propuestos por MPEG se ha desarrollado como sigue:

MPEG-1: "Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 MBit/s", conocido como IS-11172, liberado en 1992.

MPEG-2: "Generic Coding of Moving Pictures and Associated Audio", IS-13818, liberado en 1994

MPEG-3: no existe, (los resultados obtenidos se incluyen en MPEG-2)

MPEG-4: "Very Low Bitrate Audio-Visual Coding"en proceso de desarrollo.

Actualmente los algoritmos utilizados son los descritos por MPEG-1 y 2, el estándar MPEG-4 será liberado a finales del año 2000 o a principios del 2001.

Las mejoras a en las aplicaciones implementadas por los estándares se enumeran a continuación:

• MPEG-1:

Canales: un canal (mono), dos canales (estéreo)

Frecuencia de muestreo: 32, 44.1, y 48 kHz.

Tasa de bits: de 32 a 448 kbits/s para Capa (Layer) I. 32 a 384 kbits/s para Capa II. 32 a 320 kbits/s para Capa III.

• MPEG-2:

Canales: 5 canales principales (Izquierdo, Derecho, Central, LS (Left Sorround), RS (Right Sorround), y un canal adicional LFE (Low Frequent Enhancement) usado para reproducir sonidos fuertes de rn^uy bajas frecuencias 15 a 120 Hz.

Frecuencia de muestreo: 16, 22.05, 24, 32, 44.1, y 48 kHz.

Tasa de bits: de 32 a 256 kbits/s para la Capa I. 8 a 160 kbits/s para Capas II y III.

• MPEG-2 AAC:

Canales: 1 a 48.

Frecuencia de muestreo: 8 a 96 kHz.

Tasa de bits: 8 a 160 kbits/s

(20)

1.3. ALCANCE DE LA TESIS Y MOTIVACIÓN

El estándar MPEG-2 es compatible con MPEG-1 debido a que los datos de los 3 canales extras se codifican en la sección de datos adicionales (Capítulo 8), para los dos canales básicos, no se presentan diferencias substanciales en la implementación del codificador. MPEG-2 AAC es una extensión del estándar anterior que no tiene compatibilidad con MPEG-1, fue liberado en 1997.

MPEG-1 y MPEG-2 consisten de cuatro partes principales:

1. System Describe la sincronización y el multiplexeo de video y audio.

2. Video Describe la compresión utilizada en señales de video.

3. Audio Describe la compresión de señales de audio.

4. Compliance Testing Enumera los procedimientos que determinan las características de las tramas de datos codificadas y el proceso de decodificación y pruebas con los estatutos de las partes anteriores.

1.2.1 Capas (Layers)

MPEG especifica una familia de esquemas de codificación llamadas Capas I, II y III de que aumenta en complejidad y desempeño conforme al número. Para cada Capa, el estándar solo especifica el formato de la trama de datos y el decodificador, en ninguna parte se especifica el codificador, con el fin de permitir una mejora continua en la implementación de los codificadores y su adaptación en aplicaciones específicas. Sin embargo en la parte informativa del estándar se da un ejemplo de la posible implementación del codificador.

Las tres Capas usan la misma estructura básica, el esquema de codificación se puede definir como codificación perceptual en transformadas de sub-banda (perceptual subband transform coding), el codificador analiza las componentes espectrales de la señal de audio mediante un banco de filtros y aplica un modelo psicoacústico que estima el ruido de cuantización perceptible. En las tres capas se utiliza el mismo banco de filtros de análisis. En la etapa de cuantización y codificación el codificador asigna el número disponible de bits de datos de manera que se cumpla con la tasa de bits definida por el usuario y los requerimientos de enmascaramiento de acuerdo a la señal de entrada. El decodificador es mucho menos complejo debido a que sólo se encarga de sintetizar la señal de audio tomando sus componentes espectrales decodificadas2. Las tres Capas soportan la inserción de información asociada a la aplicación en la parte de ancillary data, dentro de la trama de datos y presentan sensibilidad a errores similar.

Entonces mp3,- no quiere decir MPEG-3, sino hace referencia a la Capa de compresión con que fue codificado.

Aunque la Capa III es superior en calidad de sonido y razón de compresión (y complejidad), se conserva la especificación de la trama de datos en el estándar por si hubiera mejoras significativas en la implementación del modelo, por lo cual futuras investigaciones en los esquemas de las Capas I y II

no deben sorprendernos.

1.3 Alcance de la Tesis y motivación

Al inicio de esta investigación nos encontramos con que la mayoría de los textos y publicaciones que hacen referencia al estándar de compresión audio MPEG, se refieren al tema de manera muy superficial,

(21)

y exploran aspectos aislados (sin dejar de ser importantes) como el banco de filtro de análisis, el modelo psicoacústico etc., pero ninguno profundiza en detalles de otros aspectos como pudieran ser el esquema de asignación de bit y la etapa de cuantización. La mayoría de estos documentos hacen referencia al estándar, sin embargo el estándar no es tan claro en algunos de sus estatutos. Este trabajo pretende ser una guía para futuras implementaciones de dispositivos de compresión de audio, además de ofrecer estadísticas y gráficas del comportamiento del codificador y el modelo psicoacústico que sirvan como base a otras investigaciones y posibles mejoras en la implementación, o la adaptación del modelo a diferentes dispositivos.

El codificador propuesto en el estándar es solo una alternativa para su implementación, como vimos anteriormente, no es un esquema normativo, es su carácter informativo el que da la pauta para la adaptación de nuevas mejoras en los bloques que lo constituyen, y en ese aspecto puede verse como una gran oportunidad de investigación y desarrollo.

1.4 Organización de la Tesis

En toda la tesis se incluyen gráficas descriptivas del comportamiento de los bloques del codificador, diagramas de bloques, diagramas de flujo para su implementación, sugerencias de implementación basadas en lenguaje C y tramas de audio para que el lector pueda comprobar las diferentes opciones con las que el archivo de audio fue codificado.

En el Capítulo 2 se examina la teoría matemática necesaria para la codificación por sub-bandas que se utiliza en las tres capas de codificación de audio MPEG. El Capítulo 3 explora los aspectos de la codificación en el dominio de la frecuencia, es decir la implementación del banco polifásico de filtros aplicado a las tres capas de compresión de audio MPEG, se examinan sus ventajas y la dinámica de los datos que serán introducidos al esquema del codificador.

El Capítulo 4 describe la Capa I, que es el más sencillo y constituye una buena base para com-prender las Capas superiores, particularmente se recomienda poner especial atención en los conceptos de factor de escala, asignación de bit y cuantización (que es en donde se lleva a cabo la compresión de las muestras, basadas en las características de la señal de audio obtenidas por un modelo psicoacústico) para entender el capítulo posterior. En el Capítulo 5 se examina la Capa II, que es una mejora a la Capa I, como podremos ver, el esquema es el mismo solo que ahora se incluye una ventana de análisis más grande (1152 muestras de audio) que tendrá una repercusión importante en la calidad de la trama codificada.

El Capítulo 6 examina los dos modelos psicoacústicos propuestos en el estándar, conceptos como Masking Threshold, absolute Threshold y Signal to Mask Ratio serán objetos fundamentales de nuestro análisis. Este es uno de los capítulos más importantes debido a que el concepto de compresión de audio se basa en las capacidades auditivas y enmascarantes del sistema auditorio humano, veremos que mientras que el Modelo 1 se aplica a las Capas I y II, el Modelo 2 es ideal para su implementación en Capa III, para lo cual analizaremos la adaptación propuesta para su uso con este esquema de compresión.

(22)

1.4. ORGANIZACIÓN DE LA TESIS 5

La trama de datos codificados tiene algunas generalidades aplicables a las tres Capas que exam-inaremos en el Capítulo 8, desde luego que también examexam-inaremos las diferencias que cada Capa tenga con respecto a las otras, en este capítulo podremos observar como se compone la trama de los datos codificados. El Capítulo 9 resume las conclusiones más destacadas de este trabajo de investigación y ofrece una perspectiva del futuro de la compresión de audio.

(23)
(24)

Capítulo 2

Filtrado por sub-bandas en MPEG

2.1 Panorama General

Una gran variedad de técnicas se han desarrollado para representar eficientemente señales de audio de manera digital ya sea para transmisión o almacenamiento. La codificación en el dominio de la frecuencia es un método que ofrece muchas ventajas entre las que podemos enumerar las siguientes:

• Es posible diseñar un banco de filtros de acuerdo a las necesidades propias de la aplicación y de la fidelidad requerida, haciendo énfasis en las frecuencias deseadas.

• Usan métodos computacionales de fácil implementación, que permiten desarrollar aplicaciones de alta eficiencia.

• Si además de tener un esquema de codificación por sub-bandas se agrega asignación dinámica de bits, se obtiene como resultado un sistema capaz de controlar el ruido de cuantización inherente en el proceso de conversión de una señal analógica a su versión digital.

• Las condiciones de redundancia (señales con respuestas espectrales no planas) e irrelevancia (señales por debajo de los límites audibles) son explotadas para reducir la cantidad de datos transmitidos con respecto a las señales transmitidas en PCM.

MPEG utiliza un codificador en el dominio de la frecuencia basado en un sistema de filtros QMF (Quadrature Mirror Filter). El espectro de la señal de entrada es separado en 32 bandas de frecuencia uniformemente espaciadas para generar componentes espectrales y cuantizar esos componentes por separado.

2.2 Concepto principal

En una señal de audio, la cantidad de energía más grande se encuentra concentrada en bandas críticas dentro de las cuales las frecuencias situadas dentro de la región que comprende la banda crítica, son similares en términos de percepción auditiva. De acuerdo a la energía contenida en esas bandas es deseable que la banda con una mayor energía sea codificada con mas bits que aquella con una cantidad de energía menor, de esta manera cada banda se codifica por separado.

(25)

dos sub-bandas Xo (n) y Xi (n), asumamos que x0 (n) tiene una cantidad de energía mayor de tal manera

que necesita ser codificada usando 16 bits, mientras que x\ (n) requiere solo 8 bits. Ahora la tasa de bits será de 80 kilobits/seg para la sub-banda x0 (n) mientras que para x\ (n) será de 40 kbits/s, la tasa

de bits total para ambas señales será de 120 kbits/s, como resultado de esta separación en frecuencia se logró una reducción del 25% del bit rate original. La Figura 2.1 (a) muestra el comportamiento hipotético de una señal x(n) en el dominio de la frecuencia, la Figura 2.1 (b) muestra el esquema de filtros H{z) (filtros de análisis) que serán aplicados a la señal x(n), finalmente en Figura 2.1 (c), se muestra la respuesta final[12].

JO»)

(a)

0

i

0

(c)

Figura 2.1: Separación en sub-bandas de una señal x(n).

La reconstrucción de la señal se hace usando los filtros de síntesis en conjunto con los expansores, así, la señal puede ser separada en M sub-bandas con cada señal de sub-banda decimada por M y cuantizada independientemente.

El sistema mostrado a continuación se le llama Quadrature Mirror Filter (QMF).

x(n) vo(n)

u

yo(n)

V,(n) F0(z)

F,(z| Xp(n)

Banco de Declinadores Expansores Banco de Análisis Síntesis

Figura 2.2: Quadrature Mirror Filter.

(26)

2.2. CONCEPTO PRINCIPAL 9

este par es seguido por dos decimadores. Similarmente F0(z) y Fi(z) son los filtros de síntesis (o

reconstrucción), y el par [FQ(z), Fi (z)] es el Banco de síntesis. En el caso práctico de audio digital, la

señal reconstruida x(ri) diferiría de XR{TI) debido a cuatro razones:

1. Aliasing

2. Distorsión en amplitud

3. Distorsión en fase

4. Codificación o cuantización de las señales de sub-banda

Es posible demostrar que los filtros pueden ser diseñados de tal forma que los primeros tres problemas pueden ser eliminados. En las siguientes secciones examinaremos el concepto de decimadores e interpoladores que constituyen los bloques básicos de los filtros QMF.

2.2.1 Definición matemática

El proceso de conversión de tasa de muestreo en el dominio digital puede ser vista como una operación de filtrado lineal, como se ilustra en la Figura 2.3. La señal de entrada x(n) se caracteriza por la razón de muestreo Fx = 1/TX y la salida y(m) se caracteriza por la razón de muestreo Fy = 1/Ty , donde

Tx y Ty son los intervalos de muestreo correspondientes; la razón Fy/Fx debe dar como resultado un

número racional [11].

Fx D

Ahora se demostrará que el filtro lineal se caracteriza por su respuesta al impulso variante en el tiempo, denotado como h(n,m). De aquí que la entrada x(n) y la salida y(m) están relacionadas por la suma de convoluciones para sistemas variantes en el tiempo.

x(n)

_T

Filtrado Linealh(n,m)

'y y(nn]

Figura 2.3: Proceso de filtrado lineal.

Decimación por un factor D

Asumamos que la señal x(n) con espectro X(u) será sub-muestreada por un factor entero D. El espectro X(LJ) se asume distinto de cero en el intervalo de frecuencia 0 <| u \< ir, o equivalentemente, | F \< Fx/2. Sabemos que si se reduce la razón de muestreo selecionando cada valor múltiplo de D

de x(n), con una frecuencia de fold de FX/2D. Para evitar el traslape espectral, debemos primero

reducir el ancho de banda de x(n) a Fmax = FX/2D o equivalentemente a u)max = n/D. El proceso

de decimación se muestra en la Figura 2.4. La señal de entrada x(n) se pasa a través de un filtro paso bajo, caracterizado por la respuesta al impulso h(n) y una respuesta a la frecuencia HD(u>), que

(27)

HD(LJ) = en cualquier otro caso

De esta forma el filtro elimina el espectro de X(u) en el rango ir/D < u> > ir. Desde luego que solo los componentes de x(n) en el rango | u> |< it/D son los componentes de interes.

La salida del filtro es una secuencia v(n) dada como

oo

v(n) = ^ h(k)x(n — k)

k=0

x(n) ,

F =1 h(n)

v(n) , Decimcidor D

Y(m) „ F =£x

Figura 2.4: Decimation por un factor D.

La secuencia v(n) se sub-muestrea por un factor D para producir y(m). Entonces

y(m) — v(mD)

v(n) = - k)

k=0

Aunque la operacion de filtrado en x(n) es lineal e invariante en el tiempo, el sub-muestreo en combinacion con el filtrado resulta en un sistema variante en tiempo. Las caracterfsticas de la secuencia de salida y(m) en el dominio de la frecuencia pueden ser obtenidas relacionando el espectro de y(m) con el espectro de la secuencia de entrada x(n). Primero, sera conveniente definir una secuencia v(ri) como:

v(n),

' n = 0,±D,±2£> en cualquier otro caso

Claramente, v(n) puede ser vista como una secuencia obtenida multiplicando v(n) con un tren de impulses periodicos p(n), con periodo D. La representacion en serie de Fourier discreta de p(n) es:

p(n) = fe=0

De aqui que

v(n) = v(n)p(n)

(28)

2.2. CONCEPTO PRINCIPAL 11

Ahora la transformada Z bilineal de la secuencia de salida y(m) es

Y(z)

= ¿

y(m)z-

m

¿—— OO

oo

774= — OO OO

donde el último paso parte del hecho de v(m) = 0, excepto en los múltiplos de D. Haciendo uso de las relaciones anteriores, obtenemos:

ro=-oo L k=0

^ D — l oo

fc=0 m=—oo

Análogamente el último paso parte del hecho de que V(z) = HD(Z)X(Z).

Evaluando Y(z) en el círculo unitario, obtenemos el espectro de la señal de salida y(m). Como la razón de y(m) es Fy = l/Ty, la variable de frecuencia que hemos denotado como uy, esta dada en

radianes y es relativa a la frecuencia de muestreo Fy, 2-KF

que están relacionadas por

— = 2irFTy

UJy = DüJx

De esta forma, como se esperaba, el rango de frecuencias 0 <| u>x |< ir/D, es reducido dentro del

rango de frecuencia correspondiente 0 <| LJX |< TT por el proceso de decimación.

Podemos concluir que el espectro Y(u>y), puede ser expresado como:

uy-2nk\

— O " J

k=0

Con un filtro apropiado HD{<¿). El traslape espectral se elimina y consecuentemente solo desaparece el primer término de la ecuación anterior de manera que:

(29)

-a o

D

|V(<ax)| 2E D

71 (Bx

­ s o s D D

(30)

2.2. CONCEPTO PRINCIPAL 13

Interpolación por un factor I

Un incremento en la razón de muestreo por un factor entero 7 puede obtenerse interpolando 7 — 1 nuevas muestras entre valores sucesivas de la señal. El proceso de interpolación se puede llevar a cabo de varias maneras, nos interesa que la forma espectral de la secuencia de la señal x(n) se conserve.

Sea v(m) una secuencia con una razón de muestreo Fy = IFX, la cual se obtiene de x(n) agregando

7 — 1 ceros entre valores sucesivos de x(n). De esta forma:

_ í x(m/I), m = 0,±7,±27,... \ 0, en cualquier otro caso

y su razón de muestreo es idéntica a la razón de y(m). Esta secuencia tiene una transformada Z:

V(z) = f] v(m)z-

m

x(m)z-mI = — oo

oo

V(z) = X(z')

El espectro correspondiente de v(m) se obtiene evaluando en el círculo unitario, así

V(Uy) = X(tüyl)

Donde wy denota la variable de frecuencia relativa a la nueva razón de muestreo Fy, ahora la

relación entre muéstreos es Fy = 77^, entonces

Los espectros X(u>x) y V(u>y) se ilustran en la Figura 2.6. El espectro de la señal resultante V{wy)

es una repetición periódica de espectro de la señal de entrada X(wy).

Como sólo las componentes de frecuencia de x(n) dentro del rango 0 < u>y < ir/I son únicos, las

imágenes de X(u) arriba de u)y = TT/7 deben ser rechazadas pasando la secuencia v(m) por un filtro

paso bajo con respuesta a la frecuencia de H¡(uy) que idealmente tenga una característica

), en cualquier otro caso

Donde C es un factor de escala requerido para normalizar la secuencia de salida y(m). El espectro de salida es

Y

f

u

)

=

í

CX

(

u

v

1

)^

° <l

"y

l<

*/I

y \ 0, en cualquier otro caso

El factor de escala C se selecciona de manera que la salida y(m) = x{m/I) para m = 0, ±7, ±27,.... Seleccionamos el punto m = 0, así

(31)

A

|X(tox)|

O ffi

«"x

37t 551 tov

Figura 2.6: Espectro de la señal x{n) en el proceso de Interpolación.

Como uiy — u>x/I puede ser expresada como:

2/(0) = j ^ C ,„

Por lo tanto, C = / es el factor de normalización deseado.

Finalmente la secuencia de salida y(m) puede ser expresada como una convolución de la secuencia v(n) con la respuesta unitaria h(n) del filtro paso bajo. Así:

yím) = / , h(m - k)v(k)

fc= —CJO

Como v(k) = 0 excepto en múltiplos de /, donde v{kl) = x(k) entonces

y(m) = V^ h(m — kl)x(k)

(32)

Capftulo 3

Codificacidn en el dorninio de la frecuencia

3.1 Codificacidn en el dominio de la frecuencia en MPEG

El banco de filtros polifasico es un componente clave, comun entre todas las Capas de compresion de audio MPEG. El banco de filtros divide la serial de audio PCM en 32 sub-bandas procesandola a traves de un banco de filtros y decimando las salidas por un factor de 32. Asumiendo filtros ideales con una respuesta a la frecuencia rectangular, el teorema de Nyquist garantiza que la senal original puede ser reconstruida exactamente interpolando las sub-bandas de la senal a su frecuencia de muestreo original y sumando los resultados.

MPEG utiliza un conjunto de filtros FIR de 512 coeficientes tanto en el proceso de codification (analisis) como en el proceso de decodificacion (smtesis). Estos filtros de cancelacion de componentes espectrales fueron disenados para tener una gran atenuacion en los lobulos superiores, ofrecen buena resolution en el dominio del tiempo asf como una resolucidn en el dominio de la frecuencia razonable.

Los filtros fueron disenados tomando en cuenta cuatro consideraciones importantes:

• Las 32 sub-bandas uniformemente espaciadas no reflejan exactamente el comportamiento depen-diente de la frecuencia del sistema auditivo humano, a pesar de que muchos eventos psicoaciisticos son consistentes con el escalamiento en frecuencia de las bandas criticas. Por ejemplo, el vol-umen y la audibilidad de un sonido en presencia de una senal enmascarante es diferente para senales dentro de una banda crftica que para senales que se extienden mas alia del ancho en frecuencia de una banda crftica. En bajas frecuencias, una sola sub-banda cubre varias bandas criticas, en est'as circunstantias el numero de bits de cuantizacion no puede ser adaptado para cada nivel de enmascaramiento de ruido individual en cada banda crftica, ante esta imposibili-dad, la banda crftica con el nivel de enmascaramiento de ruido mas bajo es la que se toma en cuenta a la hora de asignar los bits de cuantizacion requeridos para toda la sub-banda. La razon principal de la no consistencia de los filtros polifasicos con la escala de bandas criticas tiene que ver con el esquema de reconstruction perfecta del banco propuesto.

• El banco de filtros de analisis y smtesis no son transformaciones sin perdidas, aun sin acoplar el esquema de cuantizacion, la transformation inversa no puede recuperar perfectamente la senal original, sin embargo el diseno puede lograr hacer inaudible el error introducido.

• Las sub-bandas adyacentes tienen superposiciones de manera que una senal con determinada frecuencia puede afectar a dos salidas adyacentes del banco de filtros.

(33)

• Las estructuras polifásicas son esquemas computacionalmente eficaces de complejidad moderada y bajo retraso en tiempo. Son ideales para la implementación en circuitos integrados dedicados y lenguajes de alto nivel.

Como no es posible construir filtros con una respuesta perfectamente plana en la banda de paso y cero en cualquier otro lugar, es posible que se introduzcan efectos de traslape espectral aliasing durante el proceso de decimación provocando pérdida de información. Cualquier filtrado en el dominio de sub-bandas debe garantizar el funcionamiento óptimo de los filtros de síntesis en la cancelación de los términos de traslape espectral.

3.1.1 Banco de filtros

La función del banco de filtros es hacer un mapeo tiempo-frecuencia. El banco de filtros esta críticamente muestreado (hay tantas muestras en el dominio analizado como en el dominio del tiempo). La operación de filtrado se lleva a cabo multiplicando un filtro prototipo, por una función modu-ladora que hace el corrimiento de la respuesta paso bajo al rango de sub-banda deseado. De acuerdo al estándar, la implementación polifásica del banco de filtros de análisis se lleva a cabo como se muestra en el diagrama de flujo de la Figura 3.1.

De acuerdo con el diagrama de flujo la ecuación resultante es

63 7

s[i\ = Y, J2

M

w w *

w*

+

64

J] *

x

\-

k

+

64

^)

fc=O j=0

donde:

i es el índice de sub-banda de 0 a 31

st[i] es la muestra de salida del filtro para la sub-banda » en tiempo t, donde t es un entero múltiplo de 32

C[n] es uno de los coeficientes de la ventana C definidos en Hable 3-C.l del estándar • x[n] es una muestra de entrada de audio

M[i] [k] es la función moduladora del filtro prototipo

Para obtener el Vector Z es necesario multiplicar los 512 datos de la Ventana C incluida en el estándar como Table 3-C.l. La Ventana C tiene el comportamiento mostrado en la Figura 3.2.

De hecho los coeficientes de la ventana C son los coeficientes del filtro prototipo que será desplaza-do a la posición frecuencial deseada. Para mostrar su respuesta en frecuencia haremos la manipulación siguiente en la respuesta al impulso h(n)[8]

=

í

-C(n),

I C(n),

, \ i ^ v / i si la parte entera de n/64 es impar

i r<(~ \ e n cualqUier otro caso

obtendremos la respuesta en el tiempo ilustrada en la Figura 3.3. La forma de h(n) se usará solo para propósitos de análisis.

(34)

3.1. CODIFICACIÓN EN EL DOMINIO DE LA FRECUENCIA EN MPEG 17

Inicio

for i=511 downto 32 do X[i]=X[i-32]

for i=31 downto 0 do X[i]=siguiente muestra

de entrada de audio

Ventana C by 512 coeficientes para producir el Vector Z

for i=0 to 511 do Zi=Ci*Xi

Cálculo Parcial

for i=0 to 63 do

7

Yi=E Z

Calcular 32 muestras

for i=0 to 31 do

63

Si- £

Salida 32 muestras de Sub-banda

Fin

(35)

50 100 150 200 250 300 350 400 450 500

Figura 3.2: Ventana de Análisis C.

-• 0 02

-50 100 1-50 200 2-50 300 3-50 400 4-50 -500

(36)

3.1. CODIFICACIÓN EN EL DOMINIO DE LA FRECUENCIA EN MPEG 19

50

­50

-100

-150

­200

Ancho de banda Nominal

0.02 0.04 0.06 Ó.Ó8 0.1 0.12 0.14

Figura 3.4: Respuesta en frecuencia del filtro prototipo.

inclusión de desplazamientos apropiados en los términos de coseno, dan como resultado una cancelación de traslape espectral bastante aceptable. Otro problema que aparece debido al uso de un filtro con respuesta mas amplia que la nominal, es la superposición en frecuencia en filtros adyacentes, este problema puede causar problemas en la compresión porque la energía de la señal cerca de los límites nominales de la sub-banda puede aparecer en las salidas de dos filtros adyacentes.

Con el fin de desplazar en frecuencia el filtro prototipo h(n) se multiplica ahora por

= eos (2z - 16)TT

64 para i=0 a 31, y k=0 a 63

Con la multiplicación anterior se modula la respuesta del filtro prototipo con el término de coseno para mover la respuesta paso bajo a la banda apropiada de frecuencia, de ahí que son llamados filtros polifásicos Figura 3.5 . Estos filtros tienen frecuencias centradas en múltiplos impares de TT/(64T)

donde T es el periodo de muestreo de la señal de audio y cada filtro tiene un ancho de banda nominal

de TT/(32T).

Para concluir, tenemos la secuencia car44.wav1 que fue procesada para obtener los datos de la sub-banda 0, así, en la Figura 3.6(a) observamos las muestras en el dominio del tiempo, mientras que en Figura 3.6(b), observamos el contenido espectral de la sub-banda. El histograma de los datos lo podemos observar en Figura 3.6(c)

Ahora para la sub-banda 11, tenemos el contenido espectral en Figura 3.7(a), y el histograma de los datos en Figura 3.7(b).

Finalmente, el contenido espectral de la sub-banda 31 se muestra en la Figura

3.8-1A lo largo de la tesis se presentan una serie de archivos de audio elaborados como parte de esta tesis, que

(37)

0.1 0 2 0.3 0 4 0.5 0.6 0.7 0.8 0 9

Figura 3.5: Respuesta de los 8 primeros filtros.

De las gráficas descritas anteriormente, podemos concluir que la información se concentra en las bandas inferiores y decrece en las bandas superiores, este hecho es determinante en la elección de los mecanismos de compresión de audio usados por MPEG, debido a que muchos de los algoritmos como pudieran ser el esquema de cuantización en Capa II (Capítulo 5) o la elección de la tabla de código Huffman (Capítulo 6), hacen uso de esta estrategia.

3.2 Dinámica de los datos de la señal de audio de entrada

Un grupo de 32 muestras de la señal de entrada son introducidas a un Vector X de 512 elementos como se muestra en la Figura 3.9. Las 32 nuevas muestras de audio se recorren en las posiciones 0 a 31, la muestra mas reciente en la posición 0, y los 32 elementos mas viejos son desechados.

El contenido del buffer es multiplicado por la Ventana C y los resultados se guardan en el

Vector Z. El contenido de Z se divide en 8 vectores de 64 elementos los cuales se suman para formar un vector Y. El vector Y se transforma usando una variante de la Transformada Discreta de Coseno Modificada (MDCT), para así obtener los 32 valores de sub-banda.

(38)

3.2. DINÁMICA DE LOS DATOS DE LA SEÑAL DE AUDIO DE ENTRADA 21

Series: datos Raw Periodogram

(a) Tiempo (b) Frecuencia

Observackmes

(c) Histograma

(39)

Seríes: datos Raw Periodogram

(a) Frecuencia (b) Histograma

Figura 3.7: Comportamiento de los datos en la Sub-banda 11.

Series: datos Raw Penodogram

(a) Frecuencia (b) Histograma

(40)

3.2. DINÁMICA DE LOS DATOS DE LA SEÑAL DE AUDIO DE ENTRADA 23

31 O

32 muestras

— • — •

° l 1

0

i 1

64 muestras

— • — •

1

i

i

i

1

T FIFOX

i 1

Ventana C

1

1

Vector Z

1

i

i

1

— •

1

1

— 1

!

i 511

1

o,

i

63 J 511

63

Vector Y

63

63

MDCT

] 0 Muestras

i * J32subbanda

(41)
(42)

Capítulo 4

Capa I

4.1 Codificación

La Capa I es capaz de comprimir audio estéreo a una tasa de bits de 384 kbits/s con calidad de audio cercana a la de CD. Puede verse a las Capas II y III como mejoras substanciales a la Capa I, la implementación de Capas I y II es muy similar1.

El diagrama de codificación básico se ilustra en la Figura 4.1. [4]

FILTRO  D E A N Á L I S I S Y

DECIMACIÓN

CUANTIZAODR

MODELO PSICOACÚSTICO

A8IBNACIÚN DE BIT

RATE

CODIFICADOR DE MUESTRA CUANTIZADA

CODIFICADOR DE AEIBNACIÓN

DE BIT RATE

CANAL DIGITAL

Figura 4.1: Diagrama a bloques de Capa I.

La señal PCM de entrada se alimenta al banco de filtros (mostrado en la sección del capítulo anterior), que hace un mapeo tiempo-frecuencia. El filtro de análisis separa las muestras de de menor a mayor frecuencia en 32 sub-bandas igualmente espaciadas. Simultáneamente las muestras se alimentan a la etapa del modelo psicoacústico que dará como resultado la razón Señal a Máscara (Signal to Mask Ratio). Examinaremos a continuación cada uno de los bloques funcionales del diagrama.

4.2 Factores de escala

En Capa I cada trama contiene las últimas 12 muestras decimadas de cada una de las 32 sub-bandas del banco de filtros (32*384 muestras). Las muestras de la señal de entrada se agrupan como se indica en la Figura 4.2.

'Los detalles de la Capa II se verán en el siguiente capítulo

(43)

12 muestras

A FILTRO DE SUBBANDA  O \ .

~ | 1 scf 12 muestras

Y FFILTRO DE SUBBANDA 1

Muestras

de Audio

Ai

PILTRO DE SUBBANDA 2

FILTRO DE SUBBANDA 3 , .

12 muestras

Figura 4.2: Agrupamiento de muestras de sub-banda para Capa 1.

Una vez obtenidas las 12 muestras por cada sub-banda, se procede al cálculo del factor de escala. Se determina el máximo de los valores absolutos de ese grupo de 12 muestras. Un factor de escala se asigna por grupo de 12 muestras. El siguiente valor más grande de acuerdo a la Tabla 4.1 se usa como factor de escala. Si las 12 muestras tienen amplitud 0 entonces la sub-banda no se transmite.

Como ejemplo si en una secuencia de audio el valor absoluto máximo de las 12 muestras decimadas es de 0.13, entonces el factor de escala asignado será de 0.15749013123690 con índice 11. La asignación del factor de escala es un dimensionamiento relativo de manera que la muestra mayor se acerca pero no excede 1, así, el factor de escala se usa para multiplicar la muestra recuantizada. Los factores de escala en la tabla se incrementan por un factor de \/2 o aproximadamente 2dB. En la trama, la sección de factores de escala contiene 32 valores de 6 bits, indexando uno de los 63 valores en la tabla.

Así el primer elemento de la tabla (índice 0) es 2dB más grande que el elemento 1.

4.2.1 Codificación de factores de escala

(44)

4.3. ASIGNACIÓN DE BITS 27 i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Factor d e escala 2.00000000000000 1.58740105196820 1.25992104989490 1.00000000000000 0.79370052598410 0.62996052494740 0.50000000000000 0.39685026299210 0.31498026247370 0.25000000000000 0.19842513149600 0.15749013123690 0.12500000000000 0.09921256574800 0.07874506561840 0.06250000000000 i 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Factor d e escala 0.04960628287400 0.03937253280920 0.03125000000000 0.02480314143700 0.01968626640460 0.01562500000000 0.01240157071850 0.00984313320230 0.00781250000000 0.00620078535930 0.00492156660120 0.00390625000000 0.00310039267960 0.00246078330060 0.00195312500000 0.00155019633980 i 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

Factor d e escala 0.00123039165030 0.00097656250000 0.00077509816990 0.00061519582510 0.00048828125000 0.00038754908500 0.00030759791260 0.00024414062500 0.00019377454250 0.00015379895630 0.00012207031250 0.00009688727120 0.00007689947810 0.00006103515630 0.00004844363560 0.00003844973910 i 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

Factor d e escala 0.00003051757810 0.00002422181780 0.00001922486950 0.00001525878910 0.00001211090890 0.00000961243480 0.00000762939450 0.00000605545450 0.00000480621740 0.00000381469730 0.00000302772720 0.00000240310870 0.00000190734860 0.00000151386360 0.00000120155430 0.00000000000000

Tabla 4.1: Factores de escala para Capas I y II

unos lógicos ('1111...') que podrían ser confundidos con el código de sincronización.

4.3 Asignación de bits

El estándar de compresión de audio MPEG [5] usa un esquema de asignación de bit adaptivo en el cual los valores de escala y el número de bits por muestra varía de trama a trama, de acuerdo al modelo psicoacústico y la tasa de bits deseado. La sección de asignación de bit, indica (mediante una tabla) el número de bits asignados a cada muestra en la sub-banda y finalmente determina el número de niveles de cuantización lineal. Si bien es cierto que el número de niveles reduce el ruido de cuantización, también se incrementa el número de bits necesario para codificar todas las muestras así como la tasa de bits total. La sección de asignación de bits contiene 32 valores de 4 bits que permiten escoger entre 15 posibles cuantizadores para cada sub-banda.

El principio usado en el procedimiento de asignación es la minimización de la Razón de Ruido a Máscara (Noise to Mask Ratio) en la trama, con la consigna de que el número de bits utilizado no exceda el número disponible para esa trama. La Capa I es capaz de mantener la calidad de audio CD a una razón de compresión de 5 a 1 o mejor (cada muestra se codifica con un promedio de 3 bits). Esta razón de compresión se logra fijando el ruido de cuantización en las bandas de frecuencia donde el oído humano es menos sensible. El modelo psicoacústico determina (de acuerdo a la señal de audio de entrada) el nivel de ruido máximo apenas perceptible (Masking Levet) para cada una de las sub-bandas. Como la cantidad de ruido de cuantización esta relacionada directamente al número de bits usados por el cuantizador, el algoritmo asigna los bits disponibles de manera que la distorsión audible se minimiza.

El número de bits asignado a una muestra puede encontrarse en la Tabla 4.2 (Clause 2.4.2.5

en la parte principal del estándar), el rango va de 0 a 15 bits, excluyendo la asignación de 1 bit.

(45)

Escala Logarítmica

40 60 índice

Figura 4.3: Comportamiento lineal y logarítmico de los factores de escala.

cb: Número total de bits disponibles.

bbal: Número de bits necesarios para la asignación de bits.

banc: Número de bits requeridos para los datos adicionales.

berr: Número de bits asignados para protección de error.

bspl: Número de bits asignados para las muestras.

bscf: Número de bits asignados para los factores de escala.

ad: Variable auxiliar.

adb: Número de bits que pueden ser usados para codificar las muestras de los factores de escala y las muestras de sub-banda.

Entonces:

adb = cb — (bbal + banc + berr)

El procedimiento de asignación es iterativo, en cada paso se busca asignar el número de bits que den la resolución requerida. El proceso se ilustra en el diagrama de flujo de la Figura 4.4.

(46)

4.3. ASIGNACIÓN DE BITS 29 Código 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Bits 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Inválido

Tabla 4.2: Factores de escala para Capas I y II

3-C.2, 3-Annex C (Tabla 4.3). De nuevo es necesario aclarar que la columna bitallocno existe en la tabla original del estándar.

bitalloc 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Pasos 0 3 7 15 31 63 127 255 511 1023 2047 4095 8191 16383 32767 SNR(dB) 0.00 7.00 16.00 25.28 31.59 37.75 43.84 49.89 55.93 61.96 67.98 74.01 80.03 86.05 92.01

Tabla 4.3: Razón Señal a Ruido (Signal to Mask Ratio)

(47)

bitalloc tenga 2, SNR será de 16 dB y 7 pasos de cuantización, si bitalloc vale 12, entonces el SNR será de 80.03 dB y 8191 pasos de cuantización), esto con el fin de no volver a procesar la sub-banda. Ahora se calculará de nuevo el MNR usando como SNR a donde bitalloc apunta. Si hay sub-bandas a las que todavía no se les asignan bits, se repite el proceso, si no, se calcula de nuevo el número de bits disponibles y se repite el procedimiento, hasta que ya no haya bits disponibles.

4.4 Cuantización y Codificación de las muestras de sub-banda

MPEG utiliza un cuantizador lineal de n niveles con representación de cero donde

Niveles = 2" - 1

Este tipo de cuantizador evita que existan cambios pequeños alrededor de cero, cuando se cuan-tizan niveles pequeños. Como ejemplo se ilustra en la Figura 4.5 un posible cuantizador de 7 niveles con 3 bits por muestra cuantizada.

Cada una de las muestras de sub-banda se normaliza dividiendo su valor por el factor de escala para obtener X, y se cuantiza de acuerdo a los siguientes pasos:

1. Calcular AX + B

2. Tomar los N bits más significativos

3. Invertir el MSB

A y B pueden ser encontrados en la Tabla 4.4 (Table 3-C.3, 3-Annex C del estándar, esta tabla es solo para la Capa I). N representa el número de bits necesarios para codificar el número de pasos. La inversión del bit más significativo se hace para evitar una cadena de '1'.

Podemos ilustrar el algoritmo anterior con el siguiente diagrama de flujo de la Figura 4.6, defi-namos:

i: índice i=0...32.

j : índice de muestra j=0...11, una de las 12 muestras de sub-banda.

muestra_sb: Una de las 12 (j) muestras de sub-banda.

scf: Factor de escala correspondiente a ese grupo de muestras.

d: Muestra escalada.

n: índice auxiliar.

bitalloc: Número de bits asignados a esa sub-banda.

A, B: Coeficientes A y B en la Tabla 4.4.

sig: Variable booleana auxiliar activa cuando d > 0.

(48)

4.4. CUANTIZACIÓN Y CODIFICACIÓN DE LAS MUESTRAS DE SUB-BANDA 31

Como se muestra en la Figura 4.6 primero, es necesario escalar la muestra con respecto a su factor de escala, bitalloc es el índice que apunta al número de niveles de cuantización necesarios para cuantizar la muestra, n será el indicador que apunte a la tabla Tabla 4.4, si el número dd es positivo, activamos la bandera sig, si es negativo entonces será necesario complementar el bit más significativo (ssmp |= 1<C n) para evitar una posible cadena de '1'. Finalmente es necesario hacer n corrimientos a la izquierda al número dd, el resultado de este corrimiento es el número que será insertado en la trama final. Iteraciones 3 7 15 31 63 127 255 511 1023 2047 4095 8191 16383 32767 A 0.750000000 0.875000000 0.937500000 0.968750000 0.984375000 0.992187500 0.996093750 0.998046875 0.999023438 0.999511719 0.999755859 0.999877930 0.999938965 0.999969482 B -0.250000000 0.125000000 -0.062500000 -0.031250000 -0.015625000 -0.007812500 -0.003906250 -0.001953125 -0.000976563 -0.000488281 -0.000244141 -0.000122070 -0.000061035 -0.000030518

Tabla 4.4: Coeficientes de Cuantización para Capa I

La idea básica en el proceso de cuantización es encontrar el índice que apunte al factor multi-plicativo, de acuerdo al cuantizador seleccionado. Supongamos que una de las 12 muestras en una sub-banda tiene las siguientes características:

Característica

Magnitud de la muestra Factor de Escala scf X=muestra/scf bitalloc A B AX+B Valor Asignado Valor -0.001466 0.001953 -0.750825 6+1 0.9921875 -0.0078125 -0.752772 15

Tabla 4.5: Valores iniciales de las variables involucradas en el ejemplo de Cuantización

(49)

de esta multiplicación es el Valor_A.signado (15), si el resultado de AX+B hubiera dado un número positivo entonces se complementaría el bit más significativo del valor asignado. Entonces, 15 es el apuntador a la tabla de cuantización, como se muestra en la Tabla 4.6:

Valor de la muestra

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Cociente - 126 / 127

- 124 / 127

- 122 / 127

- 120 / 127

- 118 / 127

- 116 / 127

- 114 / 127

- 112 / 127

- 110 / 127

- 108 / 127

- 106 / 127

- 104 / 127

- 102 / 127

- 100 / 127

- 98 / 127

- 96 / 127 - 94 / 127

- 92 / 127

- 90 / 127

Valor re-cuantizado -0.992125984 -0.976377953 -0.960629921 -0.94488189 -0.929133858 -0.913385827 -0.897637795 -0.881889764 -0.866141732 -0.850393701 -0.834645669 -0.818897638 -0.803149606 -0.787401575 -0.771653543 -0.755905512 -0.74015748 -0.724409449 -0.708661417

Tabla 4.6: Fragmento del cuantizador utilizado en el ejemplo.

Si ahora el valor re-cuantizado -0.75590568 se multiplica por el factor de escala correspondiente 0.001953, da como resultado -0.001476 que es una aproximación bastante exacta de la muestra original (Tabla 4.6). Es necesario subrayar que el objetivo de esta etapa es siempre mantener el ruido de cuantización por abajo de los niveles auditivos.

Para cada una de las muestras se realiza el proceso anterior, el número que se inserta en la trama es el valor asignado, lo cual muestra una reducción muy considerable en la tasa de bits, debido a que no es necesario mandar los 32 bits de la muestra en punto flotante, con solo unos cuantos bits es posible representar eficientemente su valor original.

Una posible implementación en C para el proceso de cuantización sería el siguiente:

dd = dd * an + bn;

float muestra,factor,an,bn,dd; int n,sbb,sig;

/* Se extraen N-l MSB bits de la muestra de punto flotante */ if (dd >= 0) sig = 1;

else { sig = 0; dd += 1.0; }

(50)

4.5. CODIFICACIÓN DE LA ASIGNACIÓN DE BITS 33

sbb= (unsigned int) (dd * (double) (lL«n));

printf("El valor de sub-banda = 7.d\n" ,sbb) ;

if (sig) sbb |= l « n ;

printf("El valor de sub-banda = '/,d\n" ,sbb) ;

Para comprobar el buen funcionamiento de la implementación anterior podríamos usar el siguiente programa en C:

nb = n+1;

if (((sbb » nb-1) & 1) == 1) ff = 0.0; else ff = -1.0;

ff += (double) (sbb & ( ( l « n b - l ) - l ) ) / (double) (lL«nb-l);

ff =

(double) (f f+1.0/(double) (lL«nb-l)) *

(double) (lL«nb) / (double) ((lL«nb)-l);

printf("nb= '/.d\n" ,nb) ; printf ("sample °/.d\n" ,sbb) ; printfC'fraction 7.f\n",ff);

printf ("Valor final por factor de escala 7,f\n" ,ff*f actor) ;

4.5 Codificación de la asignación de bits

Con el fin de ilustrar el proceso de la codificación de la asignación de bits veamos ahora un ejemplo práctico. Los datos fueron recolectados mientras se codificaban las secuencias carllxpx.mp3 y se mues-tran para el Modelo Psicoacústico 1 y 2 (Capítulo 6). El código de 4 bits se dá en (clausule 2.4.2.5

del estándar) Tabla 4.7.

Los datos mostrados en la Figura 4.7 corresponden a la trama 120. Podemos observar que para el caso de 64 kbits/s, se asignan sólo unos cuantos bits (máximo 4) por sub-banda, mientras que para el caso de 448 kbits/s se asigna un número mucho más grande de bits por cada muestra de sub-banda, es en esta etapa en donde toma sentido la codificación por sub-bandas al no asignarle bits a las sub-bandas con información no relevante.

(51)

Código 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110

un

Bits 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 N o válido

Tabla 4.7: Codificación de acuerdo a los bits asignados

(por ejemplo en señales de voz, o algunas piezas musicales que sólo fueron ejecutadas con algunos instrumentos, un ejemplo de una secuencia de audio de piano la podemos apreciar en ball64p2.mp3, balll28p2.mp3, ball448p2.mp3).

4.6 Formato de la trama de datos

En Capa I, cada trama comienza con un block de inicio de 32 bytes cuyo formato es igual en todos los capas del estándar (los detalles particulares de la sintaxis de la trama son analizados en el capítulo 8). El propósito del encabezado es permitir al receptor la sincronización, el código de sincronización con-tiene doce "unos" lógicos, también el encabezado incluye la información para determinar los parámetros básicos de codificación como razón de muestreo, tasa de bits, capa, parámetros de canal (monoaural o estéreo) y la existencia de códigos de protección contra errores. La razón de muestreo se limita a 32.0, 44.1 o 48 kHz, también la tasa de bits se restringe a valores en el rango de 32 a 448 kbits/s. Si se especifica el uso de códigos de protección de errores, entonces inmediatamente después del header siguen 16 bits de CRC (Código de Redundancia Cíclica).

A continuación se incluyen por sub-banda (0 a 31): 4 bits asignados, la información de los fac-tores de escala (0 o 6 bits por sub-banda), las muestras codificadas y finalmente cualquier información adicional {Ancillary Data) de acuerdo a la aplicación. La trama de datos en capa I se ilustra en la Figura 4.8.

El número de ranuras (slots) en una trama varía con respecto a la frecuencia de muestreo (Fs) y la tasa de bits. Cada trama contiene la información de las 384 muestras la señal de audio de entrada, entonces la tasa de tramas es Fs/384. Así

Fs (kHz) Duración de la trama (ms) 48 8

44.1 8.7074 32 12

(52)

4.6. FORMATO DE LA TRAMA DE DATOS 35

La longitud de una ranura en Capa I es de 32 bits. El número de ranuras en la trama puede ser calculado con la fórmula:

(53)

Inicio

Cálculo de acto

bspl=bscf=O bitalloc=0

forsb=0;sb<32;sb++ lMNR|sb)=SNR[sb]­SMR|sb]l

+; 1 bit para smpblte | bscf++;1 brtparascatebtts

No hay nucientes bits Mo votver o pfoceaai

IQ subbonda

Fin

(54)

4.6. FORMATO DE LA TRAMA DE DATOS 37

6/7 4/7 2/7

CO

ü o <° ­2/7

­4/7 ­6/7

i

110

101 100

011 010

001 co

i

_cg<D •o

(0

o o

• o

«o O 000

­5/7­3/7­1/7 1/7 3/7 5/7 Entrada

(55)

Inicio

d=muestra sbfilfi] scf[k][i]

Fin

(56)

4.6. FORMATO DE LA TRAMA DE DATOS 39

20 2b 30 3S 0 20 í*

(a) 64 kbits/s (b) 128 kbits/s

30 36 (c) 448 kbits/s

Figura 4.7: Número de bits asignados para diferente tasa de bits.

Header (32)

CRC

(0­16) (128­256) (0­384)Bit Alloc. Factores de Escala Muestras Ano Data

(57)
(58)

Capítulo 5

Capa II

5.1 Codificación

La Capa II es una mejora substancial de la Capa I, sus mejoras radican en el hecho que codifica los datos de audio en grupos más grandes e impone algunas restricciones en las posibles asignaciones de bits, también, representa la asignación de bits, los valores de factor de escala y las muestras cuantizadas de manera más compacta. La Capa II tiene una mejor calidad de audio debido a que destina una mayor cantidad de bits para representar la muestra de sub-banda cuantizada (con Capa II es posible cuantizar una muestra con 65535 niveles).

Al igual que la Capa I, el diagrama de flujo de la Capa II sigue los procedimientos mostrados a continuación (Figura 5.1).

El enfoque básico es el mismo que el de la Capa I, es decir la tasa de bits se reduce al incrementar el tamaño de la trama a 36 muestras de sub-banda llamadas parte 1, 2 y 3. Cada parte contiene 12 muestras de sub-banda como la trama en Capa I, los datos de la trama se organizan como se muestra en la Figura 5.2. El agrupamiento mostrado se usa tanto en Capa II como Capa III. Ahora el tamaño de la trama será de 36 * 32 = 1152 muestras de sub-banda. En el folder de Capa II del CD (12) incluido se pueder analizar algunas secuencias codificadas en Capa II. De esa forma podremos evaluar el desempeño del codificador de manera cualitativa.

5.2 Factores de Escala

El cálculo de factor de escala se hace para cada grupo de 12 muestras de sub-bandas. Se determina el máximo del absoluto de las 12 muestras y se toma el siguiente valor más grande en magnitud de acuerdo a la Tabla 4.1 en la página 27.

5.3 Codificación de los Factores de Escala

Como veremos a continuación, no es necesario transmitir los tres factores de escala (de cada una de las partes), el codificador tomará esta decisión cuando exista una la similitud en los valores de los factores de escala, o cuando anticipe que un posible enmascaramiento de ruido temporal hecho por el sistema auditivo humano, ocultará cualquier distorsión causada por usar solo un factor de escala en vez de

(59)

Inicio

Análisis de subbanda Análisis de FFT

Cálculo de Factor de

Escala Cálculo de MaskingThreshold

Cálculo de Asignación de Bits

Codificación de factores | de escala

Determinación de subbandas no

transmitidas.

Cuantización de muestras subbanda

Codificación de muestras

Codificación de asignación de bits

Fin

(60)

5.3. CODIFICACIÓN DE LOS FACTORES DE ESCALA 43

•c

ni a.

CM

•c

ce

Q .

•c

co o.

12 12 12

FILTRO DE SUBBANDA

FILTRO DE SUBBANDA I >J i*-5 ^>

Muestras

de Audio

FlLTRD DE SUBBANDA Z • • •

FtLTRO DE SUBBANDA 3 • • •

kjFlLTRO DE SUBBANDA 3C

¡FILTRO DE SUBBANDA 3  I r

[image:60.616.149.534.194.500.2]

36 Muestras

Figure

Tabla de longitud de bits de las bandas de factor de escala
Figura 5.2: Agrupamiento de muestras de sub-banda para Capas II y III.
Tabla 5.2: Patrones de Transmisión de Factor de Escala para Capa II
Figura 5.7: Tabla 3-B.2.d. Posibles niveles de cuantización por sub-banda.
+7

Referencias

Documento similar

DECORA SOLO LAS IMÁGENES QUE NECESITES PARA LLEGAR AL NÚMERO CORRESPONDIENTE... CEIP Sansueña/CEIP Juan XXIII Infantil

Las personas solicitantes deberán incluir en la solicitud a un investigador tutor, que deberá formar parte de un grupo de investigación. Se entiende por investigador tutor la

La Sección de Adquisiciones (1 puesto de P -4, 1 puesto de P-3, 1 puesto de personal nacional del Cuadro Orgánico y 4 puestos de personal nacional de Servicios

Imparte docencia en el Grado en Historia del Arte (Universidad de Málaga) en las asignaturas: Poéticas del arte español de los siglos XX y XXI, Picasso y el arte español del

Que en la reumon de la Comisión de Gestión Interna, Delegada del Consejo Social, celebrada el día 17 de marzo de 2011 , con quórum bastante para deliberar y

Son masas de aire muy inestables, no sólo porque van asociadas a sistemas frontales que responden a las mismas características que el tiempo ciclónico del oeste,

3 Los factores que hemos utilizado son: 1.- altitud, 2.- orientación, 3.- situación estratégica, 4.- presencia/ausencia absoluta y porcentual de elementos arqueológicos (cerámica,

 La Guía de estudio se dirige de forma específica al estudiante de la UNED, a tu estudiante, y proporciona la información necesaria sobre una asignatura concreta,