Edison Manuel Hernández Ricardo Andrés Velásquez

Slides:



Advertisements
Presentaciones similares
CONVERSORES DE VIDEO HANA ACCHOURAGH EL AMRI 4º B.
Advertisements

Capa 6 Capa de Presentación
Herramientas informáticas
Internet y tecnologías web
VIDEOCONFERENCIA.
Tecnología Multimedia Fundamentos y Aplicaciones
Fundamentos de Diseño de Software INFT.1
© 2007 Cisco Systems, Inc. All rights reserved. Traducido en apoyo a la capacitación de Instructores de la Red Proydesa Vivir en un mundo basado en redes.
Televisión y Multimedia
U2. Grabación, edición y postproducción de audio
CODECS Y FORMATOS DE VÍDEO
COMPENSACIÓN DE MOVIMIENTO
Servicios de video Tema 8 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto.
Visión General Telefonía IP = Unión en la transmisión de VOZ y DATOS
El Streaming Integrantes: Julio César Restrepo Ricardo García
Introduccion a los Sistemas de Grabacion Digital de Video
PROTOCOLOS Y ESTANDARES DE RED
CAPA DE RED DEL MODELO DE REFERENCIA OSI
“8 Principios de la Gestión Administrativa”
JPEG/JPG Integrantes:
Sistema de Comunicación
EL ESTÁNDAR JPEG2000 JUAN ANTONIO ESTRADA PASCUAL.
Telefonia Sobre IP VoIP Zulema Sierra Carlos Garcia.
Evaluación de Productos
Requerimientos No Funcionales
Aspectos básicos de networking: Clase 5
ALGORITMOS DE COMPRESIÓN DE VIDEO
Diseño Web y Multimedia 1 Clase 1 Docente: Josué Fortis.
Grupo de Arquitectura de Computadores Comunicaciones y Sistemas Grupo de Seguridad de las Tecnologías de la Información y las Comunicaciones Laboratorio.
Introducción a la Ingeniería en Sistemas Comunicaciones de Datos.
Visualizador de imágenes remotas Alumno: Juan Pablo García Ortíz Director: Vicente Gonzalez Ruiz.
Ing. Karen Torrealba de Oblitas
CONCEPTOS DE NUEVOS SISTEMAS 1. Un sistema de manejo de información 1. Un sistema de manejo de información Desde la perspectiva del usuario final todas.
Introducción a la codificación natural Jose Antonio Cantón Claro
JPEG/JPG Aguilar López Donaji Cruz Ortiz Nora Elida
EL ESTANDAR MPEG-4 PID JOSE BAENA ROCA El estándar MPEG-4 Introducción. Funcionalidades. Estructura y sintaxis. Codificación y decodificación. Escalabilidad.
VIDEO Y AUDIO DIGITAL.
Redes Inalámbricas MPEG-4 Sobre Redes Inalámbricas.
Procesamiento de Imágenes Digitales Propagación del Error en Codificación de Video Escalable Pablo Fernández Riejos Roberto Fuentes González Francisco.
Enrique Pozo Márquez Miguel Ángel Oliva Delgado
Digitalización y compresión de vídeo
EL PAPEL ACTUAL DE LOS SISTEMAS DE INFORMACIÓN EN LOS NEGOCIO
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Tema 4. VÍDEO DIGITAL.
Tipos de archivos de audio John sebastian cruz miranda Sebastian bustamante palacio 8a.
RECURSOS DIGITALES.  La información de un ordenador está almacenada en lo que se llaman archivos. Normalmente los archivos están formados por un nombre,
VIDEOS Y AUDIO DIGITAL. DEFINICIONES VIDEOS: Es un tipo de sistema de grabación de videos que funciona usando una representación digital de la señal de.
Vídeo y audio digital:. Tipos de formato de sonido: 1.WAV: Admite archivos mono y estéreo con diversos tamaños de muestreo. Este tipo de extensión no.
Audio Digital Conceptos Básicos.
Cristian Fonnegra Marin. DISEÑO WEB.
Obtención de la imagen digital  Existen dos maneras de obtener una imagen digital: ◦ Capturando una escena real con una cámara fotográfica digital. ◦
Compresión de imágenes Carlos Miguel Calafate Visión por Computador 2002.
LA EDICIÓN DE VIDEO Micro Clase Carlos Miguel Quirós.
Punto 3 – Servicio de Vídeo Juan Luis Cano. El podcasting consiste en la distribución de archivos multimedia mediante un sistema de redifusión (RSS) que.
Clase 3 Tecnología de la Comunicación II Lics. en Com. Social y Periodismo F AC. DE C S. H UMANAS. UNSL. Creación y edición de audios digitales.
TECNOLOGIAS ACCESIBLES
ARCHIVOS DE AUDIO.
© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public1 Capa física del modelo OSI Aspectos básicos de networking: Capítulo 8.
PROTOCOLO DE TRANSPORTE MEJORADO PARA EQUIPOS MOVILES, ORIENTADO AL MANEJO EFICIENTE DE ENERGÍA EN APLICACIONES STREAMING MULTIMEDIA.
MODOS DE TRANSMISION Pucallpa 15 de Enero del 2009.
Estudiantes: Mauricio Gutierrez Gutierrez Carla Yesenia Rojas Farfan
Televisión y Multimedia
El Streaming  Consiste en la distribución de audio o video por Internet.  La palabra streaming se refiere a que se trata de una corriente continua.
Clase 4 Creación y edición de videos digitales
 es el conjunto de conocimientos y técnicas científicas aplicadas al desarrollo, implementación, mantenimiento y perfeccionamiento de estructuras (tanto.
Desarrollo de un decoder de video H
FORMATOS DE VIDEO.AVI Se adapta para ser interpretado por unos códecs. No es uno de los mejores contenedores pero sí uno de los más utilizados por su antigüedad.
Este trabajo tiene como fin hablar de las tecnologías para móviles más importantes.
Redes Convergentes Calidad en el Servicio.
JUAN CARLOS RODRIGUEZ GAMBOA.  Texto plano (sin formato).  Texto enriquecido (texto formateado)  Hipertexto (Conjunto integrado de documentos)
Transcripción de la presentación:

Edison Manuel Hernández Ricardo Andrés Velásquez ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez

OBJETIVOS Estudiar el estándar de codificación de video MPEG-4 especialmente las partes 2 y 10 que tratan los temas de video natural, identificando los puntos clave de su implementación en hardware. Seleccionar el perfil y nivel de MPEG-4 más adecuado para ser implementado en el ambiente de una red inalámbrica. Diseñar una arquitectura de hardware para la parte visual de un decodificador MPEG-4. Hacer la implementación de un decodificador MPEG-4 (Parte visual) en una FPGA. Modelamiento a alto nivel del decodificador de video MPEG-4 en SystemC. Completar los requisitos para obtener el titulo de Ingeniero Electrónico.

ANTECEDENTES Auge de las Aplicaciones de streaming de video en todo tipo de redes, entre ellas las redes inalámbricas. Proyecto de Acompañantes Móviles Digitales que actualmente desarrolla el Grupo Electrónica y control. No existía una experiencia previa del grupo en el área de compresión de video. Deseo de apropiar la tecnología de compresión de video y de asumir los desafíos que las redes inalámbricas imponen a la transmisión de video.

Características de las comunicaciones inalámbricas Las conexiones inalámbricas tienen una calidad menor a las conexiones alambradas: menor ancho de banda, menor estabilidad en la conexión, tasas de error más altas, etc. Existen tres problemas claves en la transmisión multimedia inalámbrica: La necesidad de mantener la calidad de servicio. Operar con recursos limitados de energía. Operar en ambientes heterogéneos.

Características Deseables para la Transmisión de Video en Redes Inalámbricas Resiliencia al error Debido a la pérdida de bits por desvanecimiento se afecta el bitstream. Escalabilidad Variar la potencia de procesamiento (enviando a cada usuario sólo lo necesario). Baja Complejidad Un CODEC de menor complejidad, implica menores recursos de software y hardware, y por lo tanto menor consumo de potencia.

¿Por qué Utilizar MPEG-4? La tasa de bits más baja es de 5 kbps. Las técnicas de codificación de video escalable, Herramientas para la resiliencia de error. Codificación basada en objetos. Animación Facial para reducir el consumo de ancho de banda.

¿Por Qué Comprimir Video? Dejemos que el siguiente ejemplo responda la pregunta … Se tiene una secuencia de video con las siguientes características: resolución QCIF, formato de color YCbCr, formato de muestreo 4:2:0, 8 bit por cada componente de color y 15 fps. N. Píxeles por frame = 176 x 144(Y) + 88 x 72(Cb) + 88 x 72(Cr) = 38016 N. Bits por frame = 38.016 x 8bits = 304.128 N. Bits por segundo = 304.128 x 15 = 4’561.920 bps

CODEC La compresión involucra dos sistemas complementarios: Por un lado esta el compresor o codificador (encoder), el cual convierte los datos originales a una forma comprimida que puede almacenarse o transmitirse. Del otro lado esta el decodificador (decoder) que se encarga de convertir la forma comprimida de los datos a su representación original. Este par de sistemas se conocen normalmente como CODEC.

Tipos de Compresión Sin perdidas: Los datos de salida del decodificador son una copia perfecta de los originales. Se utiliza sobre datos que contienen redundancia estadística La compresión sin perdidas de un video o imagen solo alcanza niveles de compresión moderados (reduce de 3 a 4 veces el tamaño original). Con perdidas: Los datos que salen del decodificador NO son iguales a los datos originales. Porcentaje de compresión superior a expensas de perdida en la calidad de la imagen (puede reducir hasta más de 70 veces el tamaño original).

Modelo Temporal El objetivo del modelo temporal es reducir la redundancia entre frames. Esto se consigue formando una predicción del frame actual a partir de uno o mas frames anteriores o futuros. El método más sencillo de predicción temporal es usar el frame anterior como predicción del actual. La exactitud de la predicción puede mejorarse cuando se utilizan técnicas de estimación y compensación de movimiento entre el frame referencia y el frame actual.

Modelo Espacial La objetivo del modelo espacial es decorrelacionar los datos ya sea de la imagen original o de la imagen residual y convertirlos a una forma tal que puedan ser comprimidos eficientemente usando un decodificador de entropía. Los modelos espaciales tienen tres componentes principales: transformación, cuantización y reordenación. La transformada es el corazón de la mayoría de los estándares y sistemas de codificación de video. La etapa de cuantización introduce las perdidas en la compresión de video.

Estándares de Codificación de Video Evolución histórica estándares de codificación de video

Estándares de Codificación de Video Estándares de la ITU H.261 Primer estándar de compresión y decompresión de video para videoconferencia. Ratas de bits de 64kbps a 2Mbps H.263 Mejora la rata de compresión y la calidad de imagen comparado con H.261 H.264 También conocido como MPEG-4 part 10 ó AVC. Mas que un importante avance H.264 incluye una gran variedad de herramientas para mejorar el desempeño Estándares de la ISO/IEC MPEG1 Desarrollado para el almacenamiento y distribución de audio y video. Utilizado en los primeros Video CDs VCD. MPEG2 Extiende las aplicaciones de MPEG-1 principalmente en lo que se refiere a disusión de TV, TV digital y HDTV. Ratas de bits 1.5Mbps a 60 Mbps MPEG4 MPEG-4 busca mayor flexibilidad, interactividad, soporte sobre nuevas redes, etc. Actualmente consiste de 19 partes. Otros VC1 Basado en el Microsoft Windows Media Video 9. Representa un competidor importante para H.264. Esta siendo desarrollado por SMPTE.

Eficiencia: Calidad vs. Tasa de Bits

Eficiencia: Calidad vs. Tasa de Bits

Eficiencia: Calidad vs. Tasa de Bits

Complejidad Computacional Hay algo claro, herramientas más sofisticadas de compresión, traen consigo un incremento en la complejidad computacional de codificadores y decodificadores. Algunos estudios muestran que H.264 tiene una complejidad de 2 a 3 veces superior que MPEG-4 Visual perfil simple. De otro lado se estima que VC-1 tiene una complejidad de 1.5 veces la de MPEG-4 perfil simple.

MPEG-4 MPEG 4 actualmente esta dividido en 18 partes: Scene description – ISO/IEC 14496-10 ISO file format – ISO/IEC 14496-11 IPMP extensions – ISO/IEC 14496-12 MP4 file format – ISO/IEC 14496-13 H.264 file format – ISO/IEC 14496-14 Animation extensión – ISO/IEC 14496-15 Streaming text format – ISO/IEC 14496-16 Font compression – ISO/IEC 14496-17 Synthesize texture stream – ISO/IEC 14496-18 Systems – ISO/IEC 14496-1 Visual – ISO/IEC 14496-2 Audio – ISO/IEC 14496-3 Conformance Testing – ISO/IEC 14496-4 Reference Software – ISO/IEC 14496-5 DMFI – ISO/IEC 14496-6 Reference Software – ISO/IEC 14496-7 Carriage over IP networks – ISO/IEC 14496-8 Reference hardware – ISO/IEC 14496-9

MPEG-4 Visual

¿Por qué MPEG-4 Visual? Es un estándar más maduro, bien documentado y ampliamente utilizado en la actualidad. Cuenta con una amplia variedad de perfiles, muchos de los cuales son aptos para redes inalámbricas y dispositivos portátiles. Herramientas de codificación más simples, y por lo tanto CODECs de menor complejidad. Eficiencia de codificación intermedia, soporte para tasas de bits iguales o inferiores a los 64kbps.

Características de MPEG-4 Visual Codificación basada en objetos en lugar de frames. Uso de objetos Naturales o sintéticos a partir de los cuales se puede realizar la composición de una escena. Soporte para interactividad. MPEG-4 es mas rehusable y flexible, con mayores capacidades de protección de contenido. Las bajas ratas de bits soportadas dan la capacidad de disfrutar el contenido interactivo sobre redes DSL, inalámbricas y móviles.

Codificación Basada en Objetos

Escena MPEG-4 Visual

Objetos, Perfiles y Niveles Los objetos visuales (CODECS de video) usan combinaciones específicas de herramientas para representar eficientemente diferentes tipos de objetos visuales. Los perfiles usan combinaciones específicas de tipos de objetos visuales para servir eficientemente a un segmento específico del mercado. Los niveles especifican la cantidad de memoria, la tasa de bits y las limitaciones de complejidad dentro de un perfil para asegurar interoperabilidad.

Objetos, Perfiles y Niveles MPEG-4 Visual proporciona soporte a las diversas aplicaciones a través de una estructura jerárquica conformada por Perfiles, Objetos, niveles, y las herramientas de codificación asociados a estos. Objeto tipo_1 Objeto tipo_2 Objeto tipo_n … Herramienta 1 Herramienta 2 Herramienta 3 Herramienta 4 Herramienta n …

Objetos Visuales de Interés Simple Es un objeto natural, de video rectangular de relación arbitraria alto/ancho, desarrollado para baja rata de bits, soporta las herramientas de resiliencia al error. Simple Escalable Es una extensión escalable del tipo anterior, el cual da una escalabilidad temporal y espacial, usando el tipo Simple como capa base.

Objetos Visuales de Interés Simple Avanzado de Tiempo Real Es un objeto de tipo simple al que se le han agregado dos herramientas para mejorar la resiliencia al error y flexibilidad de codificación: NEWPRED y Conversión dinámica de resolución Objeto Simple Avanzado Es un objetos simple que solo soportan objetos rectangulares, al que se le ha agregado algunas herramientas para hacer la codificación mas eficiente. Entre estas herramientas tenemos: B-VOP, compensación de movimiento QPEL y compensación de movimiento global (GMC).

Objetos Visuales de Interés Objetos Escalables de Granularidad Fina Puede usar por encima de 8 capas de Escalabilidad para que así la calidad de la imagen sea fácilmente adaptable a Las circunstancias de transmisión y decodificación.

Advanced Real Time Simple Fine Granularity Scalable Visual Tools Visual Object Types Simple Simple Scalable Advanced Real Time Simple Advanced Simple Fine Granularity Scalable Basic : I-VOP, P-VOP, Predicción AC/DC, 4-MV, Unresticted MV X Resiliencia al error: puntos de resincronización, particionamiento de datos, VLCs Reversibles Short Header   B-VOP Cuantización métodos 1 y 2 Entrelazado Escalabilidad Temporal (Rectangular) Escalabilidad Espacial (Rectangular) Conversión dinámica de resolución NEWPRED Compensación de movimiento global Compensación de movimiento QPEL Escalabilidad de Granularidad Fina (FGS) Escalabilidad Temporal FGS

Perfiles Simple Solo acepta objetos de tipo simple y fue creado para aplicaciones de baja complejidad. Existen 4 niveles para el perfil simple con tasas de bits que van desde 64 hasta 384 kbits/seg. Simple Escalable Puede proveer las herramientas de escalabilidad temporal y espacial en el mismo ambiente operacional previsto para el Perfil Simple.

Perfiles Simple Avanzado de Tiempo Real Pensado para aplicaciones de Video Streaming para redes como Internet, proporciona codificación robusta al error y adaptable a las condiciones cambiantes de la red. Simple Avanzado Es una versión mejorada del perfil simple, pensada para el mismo rango de aplicaciones.

Perfiles Escalable de Granularidad Fina Fue creado pensando en aplicaciones de video para correr sobre Internet y multimedia inalámbrica. Posee objetos de tipo simple, avanzado simple y FGS.

Bitstream Cabecera Secuencia Visual de Objeto Cabecera Objeto Visual Capa de Objeto de Video Stream Elemental Marca de sincronismo Numero de Macrobloque Quant_scale HEC Información DC y de cabecera Marca DC Información de Textura Marca de sincronismo Numero de Macrobloque Quant_scale HEC Información de movimiento y cabeceras Marca de Movimiento Información de Testuras

¿Por qué utilizar MPEG-4 Visual Perfil Simple? El perfil simple, a pesar de ser el perfil más básico, cuenta con las características necesarias para ser utilizado en aplicaciones inalámbricas y dispositivos móviles. Su baja complejidad respecto a los otros perfiles lo convierte en la elección predilecta de la industria. Proporciona una plataforma de partida para implementar perfiles más avanzados, como el avanzado simples, simple de tiempo real, etc. Muchos de los procesadores modernos de orientación a ambientes inalámbricos cuentan codificadores de perfil simple.

Arquitectura Decodificador

Procesamiento de Bitstream

Decodificador de Entropía Shift Register Unidad de búsqueda VLCs uno o más bits datos error bitstream

Decodificación Texturas

Decodificación Run-Level

Escaneo Inverso

Cuantización Tipo 1

Cuantización Tipo 2 + x << 1 Unidad de Control QF[v][u] quantizer_scaler M U X + x dc_scaler Unidad de Control Saturación -1 << 1 QF[v][u] K Quant_type Intra_coded short_video

DCT_2D

DCT_2D Buffer entrada Buffer IDCT_1D Doble Buffer Doble IDCT_1D ROM 8x8 Constantes A ROM 8x8 Constantes AT Unidad de Control

IDCT_1D Multiplicador Paralelo Aritmética Distribuido

Decodificación de MV

Compensación de Movimiento

Resultados Preliminares IDCT_2D Frecuencia CLK (MHz) Potencia Estática (mW) Potencia Dinámica (mW) Total Potencia (mW) 12,5 92 18,7 110,7 25 32,47 124,47 50 74,84 166,84 Potencia consumida por el módulo IDCT_2D Desempeño Módulo IDCT_2D vs. Desempeño Requerido por Perfil

Resultados Preliminares VLC decoder Frecuencia CLK (MHz) Potencia Estática (mW) Potencia Dinámica (mW) Total Potencia (mW) 12,5 92 0,56 92,56 25 1,38 93,38 50 2,85 94,85 Conversor RGB2YCbCr

SystemC

Qué es SystemC ? SystemC es una librería de clases de C++, que incluye cualquier librería, programa y encapsulación de C++ Es un lenguaje de diseño de sistemas que ha evolucionado, en respuesta a una necesidad general por un lenguaje que mejora la productividad para diseñadores de sistemas electrónicos.

¿ Por qué SystemC ? Lenguajes como C/C++ y Java no fueron creados para modelar Hardware. Carencia de estos lenguajes en manejar un estilo de modelamiento uniforme. No existen herramientas de traducción (C/C++ a HDL) Además C++ no soporta: * Comunicación estilo Hardware (Señales, protocolos, etc.) * Noción del tiempo * Concurrencia (El hardware y los sistemas trabajan en paralelo)

¿ Por qué SystemC ? Una de las ideas principales de SystemC es permitirle al programador de C/C++, realizar aquellos diseños que no son posibles con estos últimos. SystemC también permite modelamiento a un alto nivel de abstracción ej: protocolos de comunicación representados en interfaces y canales. SystemC no es otro dialecto de C++, es C++.

Metodología Actual en el diseño de Sistemas C/C++; Modelamiento a nivel de sistema Conversión Manual Analisis VHDL/Verilog Perfeccionar Simulación Resultados Síntesis Resto del proceso

Metodología con SystemC Modelo enSystemC Simulación Mejoramiento Traducción con Software Síntesis Resto del proceso

Verificación funcional SystemC en contraste con otros lenguajes Transistores Compuertas RTL Test Bench Verificación funcional Comportamiento Hardware/Software Arquitectura Requerimientos Verilog VHDL SystemVerilog Vera, e SystemC Matlab

Proceso para Simulación en ModelSim CODIGO ORIGINAL CODIGO MODIFICADO int sc_main (int, char **) { sc_signal<bool> reset; contador top(“top”); top.reset(reset); reset.write(1); sc_start(3, SC_NS); reset.write(0); sc_start(50, SC_NS); } SC_MODULE (new_top) contador top; void body_main(); SC_CTOR(new_top) : reset(“reset”), top(“top”) SC_THREAD(body_main); }; void new_top::main_body() wait(3, SC_NS); wait(50, SC_NS); SC_MODULE_EXPORT(new_top); Testbench Macro para exportar el módulo a ModelSim Proceso para Simulación en ModelSim

Módulos diseñados en SystemC IDCT Decodificador de Entropía. Decodificación Run-Level. Escaneo inverso. Cuantización Inversa.

Conclusiones La eficiencia de un CODEC de video es una relación entre la tasa de bits que puede alcanzar y la calidad de imagen que logra a dicha tasa de bits. Un CODEC de video de alta eficiencia puede lograr tasas de bits iguales a las de uno menos eficientes pero con una calidad de imagen mucho mayor. MPEG-4 Visual no es el estándar de codificación de video con el mejor desempeño (H.264 & VC-1), sin embargo la complejidad computacional limitada, las herramientas de resiliencia al error y escalabilidad le dan una ventaja estratégica frentes a sus competidores. Se selecciono el perfil simple como el más adecuado para dispositivos móviles, puesto que de todos los perfiles soportados por MPEG-4 es el que más se adecua a los recursos de cómputo limitados y a las limitaciones de potencias de los mismos. Además se convierte en un muy buen primer paso para desarrollar otros perfiles más avanzados.

Conclusiones Se definió una arquitectura de hardware para un decodificador MPEG-4 perfil simple que puede ser adaptada a cualquiera de los niveles del perfil. La arquitectura soporta todas las herramientas asociadas a los objetos de tipo simple. Se definieron las arquitecturas lógicas para los diferentes módulos de la arquitectura, en algunos módulos se hicieron implementaciones buscando medir la complejidad y el consumo de potencia. SystemC se utilizo como una herramienta de modelamiento a nivel de sistema, para comprobar el funcionamiento de los diferentes módulos. Se comprobaron las ventajas de este lenguaje en cuanto a la rapidez para modelar sistemas digitales.

Conclusiones SystemC es una herramienta adecuada para diseñar sistemas electrónicos a mucho más alto nivel que lenguajes como VHDL y Verilog. Como desventaja frente a los anteriores, SystemC no cuenta hasta ahora con herramientas de síntesis directa a dispositivos programables; teniendo que ser traducido a lenguajes como VHDL o Verilog que si cuentan con este tipo de herramientas. Tener unos fundamentos adecuados en el lenguaje de programación C++, facilita enormemente realizar gran parte de la lógica requerida para el diseño, ya que se pueden utilizar la mayoría de la herramientas y librerías ofrecidas por C++, con la opción de realizar varios procesos en paralelo.