Marco Andrés Armijos Santamaría Julio 2015 Desarrollo de un codificador de audio mpeg-2/mpeg-4 aac/ts utilizando matlab Marco Andrés Armijos Santamaría Julio 2015
AGENDA Introducción Marco Teórico Diseño del codificador Pruebas y resultados Conclusiones y recomendaciones
Introducción Antecedentes Nacimiento del estándar ISDB-Tb Adopción del estándar ISDB-Tb en el Ecuador Proyecciones a futuro tras la adopción del estándar en el Ecuador
Introducción Justificación e importancia Adopción de nuevas tecnologías de codificación dadas por la ISDB-Tb Uso de MATLAB y su aplicación en dispositivos reprogramables
Introducción Justificación e importancia Obtención de la trama Transport Stream Ventajas de codificación de audio AAC Beneficio a la industria tecnológica nacional
Introducción Alcance del proyecto Obtención de la trama Transport Stream Basado en las normativas ISBD-Tb Regla Uso Codificación de audio AAC Implementación hardware / Futuras investigaciones Proyección
AGENDA Introducción Marco Teórico Diseño del codificador Pruebas y resultados Conclusiones y recomendaciones
Marco Teórico Sistemas ISDB Introducción Estructura General
Marco Teórico Sistema ISDB-Tb Introducción Características
Marco Teórico Compresión de audio Introducción Compresión con y sin pérdidas Diagrama general
Marco Teórico Métodos de codificación de audio Codificación perceptual Codificación paramétrica Codificación de forma de onda Codificación híbrida
Marco Teórico Perceptual Paramétrica
Marco Teórico PCM DPCM ADPCM Subandas De forma de Onda Transformada Híbrida
Marco Teórico Parámetros para la codificación de audio Canales Frecuencia de muestreo No de bits / muestra Tipo de compresión Tasa de bits
Marco Teórico
Marco Teórico El codificador MPEG Introducción Esquema general
Marco Teórico Codificación Huffman Uso en codificadores: MP3, AAC, Vorbis. Técnica logarítmica de codificación (no de compresión). Codificación entrópica. Propiedad del prefijo único. Proceso de rápida decodificación mediante uso de libros de códigos.
Marco Teórico Función Ventana Evitar discontinuidades al inicio y final de los bloques analizados. Limitar una señal considerada como infinita, para que la misma pueda ser analizada en un tiempo finito.
Marco Teórico La Transformada Discreta del Coseno Modificada (MDCT) Transformada lineal ortogonal, se basa en la teoría de cancelación del aliasing en el dominio del tiempo. Se aplica sobre bloques consecutivos con gran cantidad de datos. Usado principalmente en bloques de solapamiento. Este solapamiento y las cualidades de energía de compactación de la DCT, hacen que la MDCT sea ampliamente usada para aplicaciones de compresión de señal MP3, AAC, WMA.
Marco Teórico AAC (Advanced Audio Coding) Introducción Estandarización Tipos de perfil AAC-LC AAC-Main AAC-SSR
Marco Teórico Comparación de AAC con MP3 Tasas de frecuencia de muestreo 8 a 96 kHz / 16 a 48 kHz Número de canales 48 canales / 2 canales Alta eficiencia y uso de herramientas simples MDCT Alta eficiencia de codificación para señales estacionarias Alta precisión de codificación para señales transitorias Empleo de funciones ventana especiales Manejo de otras herramientas de codificación Apoyo en crecimiento vs. disponibilidad de hardware y software
Marco Teórico Licencias y patentes Formatos contenedores
Marco Teórico Productos definidos por AAC Estándares HDTV Hardware ISDB-T ISDB-Tb DVB Hardware Software FAAC y FAADv2 FFMPEG
Marco Teórico Codificación AAC Introducción Generalidades Modelo referencial
Modelo referencial de un codificador AAC
Marco Teórico Empaquetamiento del bitstream – ADTS
AGENDA Introducción Marco Teórico Diseño del codificador Pruebas y resultados Conclusiones y recomendaciones
Diseño del codificador Ámbito del sistema Funciones del producto Apertura exclusiva de archivos WAV Obtención de una señal de audio de extensión AAC Obtención de una señal de audio de extensión TS Visualización de gráficos del tratamiento de la señal durante el proceso de compresión Integración del proceso de transformación del formato de audio mediante la asociación de archivos BATCH al lenguaje M
Codificación de coeficientes y datos Apertura exclusiva de archivos de audio de extensión WAV como señal de entrada. Reconocimiento de la señal de entrada Tratamiento de los datos obtenidos de la señal de entrada como preparación previa para el proceso de codificación. Procesamiento de la señal de entrada Producto de los bloques establecidos en el arreglo matricial con la función ventana y aplicación de la MDCT. Transformación de dominios Obtención de los coeficientes de la MDCT y cuantificación de las bandas del factor de escala Obtención de coeficientes MDCT y factores de escala Codificación de coeficientes y datos Codificación Formación del bitstream en base a los parámetros de codificación obtenidos y aplicación de ADTS Formación del bitstream Transformación de formato AAC a TS mediante el uso de la herramienta FFMPEG. Transformación de formato
Diseño del codificador Perspectivas del producto Restricciones Señal de entrada WAV 44100 Hz 16 bits Mono Tipo de perfil AAC – LC Tipo de bloques de señal Procesamiento de bloques largos, sin uso de ventanas especiales Bloques no considerados Modelo psicoacústico TNS M/S Control de tasa de bits Formato contenedor Formato ADTS para transmisión Otros Valores forzados durante proceso de codificación
Diseño del codificador Interfaces Interfaz de usuario Interfaz de software Interfaz de hardware
Diseño del codificador Señal de entrada
Diseño del codificador Tratamiento de la señal de entrada
Diseño del codificador Transformación de dominio y descomposición espectral
Diseño del codificador Obtención de los coeficientes de la MDCT, relación con los factores de escala. No se presenta un modelo psicoacústico, relación con el enmascaramiento de las bandas audibles. Definición del valor máximo de las bandas del factor de escala. Inspección de las muestras de cada sub banda. Uso del valor promedio de los coeficientes MDCT (criterio de diseño) para la cuantificación, cálculo del factor de escala de cada sub banda. Proceso de codificación entrópica, aplicación de libro de códigos
Diseño del codificador Proceso de codificación Proceso de codificación entrópica – Huffman
Diseño del codificador Formación del bitstream Uso del formato ADTS Estructura de cabeceras MPEG-2 y MPEG-4
Diseño del codificador Conversión del formato Uso de programa FFMPEG Asociación externa al lenguaje de programación Empleo de archivos BATCH
Diagrama general del codificador
Diagrama de bloque del codificador
AGENDA Introducción Marco Teórico Diseño del codificador Pruebas y resultados Conclusiones y recomendaciones
Pruebas y Resultados Generación del archivo de audio AAC Características del audio de entrada Características del audio codificado
Pruebas y Resultados Señal de audio de entrada y arreglo de bloques
Pruebas y Resultados Bloque de muestra con función ventana y MDCT
Pruebas y Resultados Análisis de coeficientes MDCT
Pruebas y Resultados Análisis del formato contenedor ADTS
Pruebas y Resultados Análisis de la trama AAC
Pruebas y Resultados Generación de archivo de audio TS
AGENDA Introducción Marco Teórico Diseño del codificador Pruebas y resultados Conclusiones y recomendaciones
Conclusiones y Recomendaciones Se ha diseñado un codificador de audio basado en un algoritmo de compresión con pérdidas bajo las normativas dadas por el estándar ISO/IEC 13818-7 (AAC), capaz de entregar a su salida una señal de audio en formato TS mediante un proceso de conversión y asociación externa al programa FFMPEG. El diseño fue realizado usando el lenguaje de programación *m, inclusive durante la asociación externa al programa FFMPEG, donde se relacionó un archivo BAT de Windows al código de programación. El diseño en lenguaje de programación *m es de mucha utilidad para realizar diversas modificaciones y puede ser transformado a lenguaje de programación VHDL para que el mismo pueda ser implementado a niveles de hardware en equipamiento de transmisores de Televisión Digital Terrestre bajo las normas de la ISDB-Tb.
Conclusiones y Recomendaciones Los archivos de prueba codificados en AAC tienen una eficiencia promedio del 85%, misma que podría aumentarse con el empleo de una mayor cantidad de bloques al modelo referencial. Existen varias ventajas de realizar el proceso de codificación usando AAC entre las mismas se pueden destacar el uso de la MDCT y las funciones de ventana para la transformación de la señal, ya que brinda un mejor análisis y tratamiento de la misma para el proceso de codificación.
Conclusiones y Recomendaciones Se debe extender la funcionalidad del codificador diseñado a niveles de hardware, mediante diferentes códigos de programación como es el caso de VHDL. Esto con el fin de que la funcionalidad pueda ser implementada en equipos de Televisión Digital Terrestre con las normativas de la ISDB-Tb que cumplan los requerimientos de AAC como estándar para la codificación de audio. Dicha extensión podría a futuro generar equipos realizados en nuestro país.
Conclusiones y Recomendaciones Con fines de mejorar la calidad del codificador diseñado, se debería realizar la integración de una mayor cantidad de bloques funcionales dados por el esquema general del codificador AAC. Con esta mejora, se podría obtener una mejor calidad de audio y un mayor porcentaje de compresión con un mejor tratamiento de ruido y tratamiento multicanal, requerimientos que cada día son mayormente necesarios por los sistemas de transmisión.
GRACIAS