La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Desarrollo de un decoder de video H

Presentaciones similares


Presentación del tema: "Desarrollo de un decoder de video H"— Transcripción de la presentación:

1 Desarrollo de un decoder de video H
Desarrollo de un decoder de video H.264/TS utilizando la plataforma de Matlab® Tenorio Moya Edison Fernando Ingeniería en Electrónica y Telecomunicaciones

2 AGENDA 1. INTRODUCCIÓN 2. ESTÁNDAR H.264/AVC 3. EMPAQUETAMIENTO TS
4. APLICATIVO EN MATLAB® 5. ANÁLISIS DE RESULTADOS 6. CONCLUSIONES Y RECOMENDACIONES

3 1. INTRODUCCIÓN Justificación:
Dentro de los principales problemas en la transmisión de video digital es la cantidad de bits que maneja por lo que se hace necesario el uso de estándares de compresión que hacen posible la reducción considerable de esta información, uno de estos estándares es el H.264 que reduce el tamaño del video original casi a la mitad de su peso conservando su calidad de imagen y se adapta con facilidad al Transport Stream de acuerdo al ISDB-Tb, por ello ha sido considerado como objeto de estudio en este trabajo.

4 1. INTRODUCCIÓN Alcance:
Desarrollar un aplicativo de compresión de video con el códec H.264 y posteriormente adaptarlo al protocolo de transporte TS, haciendo uso de una herramienta para el procesamiento de imágenes como es MATLAB®.

5 1. INTRODUCCIÓN Objetivos General
Diseñar un decoder de video H.264/TS implementado en la plataforma de desarrollo MATLAB®. Específicos Estudiar el estándar de codificación de video H.264 y el protocolo de transporte TS. Crear una interfaz gráfica para visualizar de forma detallada los formatos de video tanto para la codificación (.H264) como para el empaquetado (.TS) a través de un GUI. Analizar los resultados obtenidos mediante la comparación de archivos comprimidos con el video original.

6 2. ESTÁNDAR H.264/AVC Estructura para la transmisión de TV Digital
PAQUETES 1eramente se presenta la estructura básica para una tx de TV digital cuya finalidad es poder integrar audio, video y datos. En lo que se refiere al audio y video antes de su posterior tx son comprimidos y empaquetados lo cual nos da como resultado el flujo TS el mismo que integra (3 elementos in). En este trabajo nos vamos a enfocar en lo que tiene que ver con el video, donde se va a estudiar el códec H.264 y su empaquetamiento TS. VIDEO ES MUX VIDEO Compresor de Video MPEG-4 H.264 AUDIO ES TS AUDIO Compresor de Audio MPEG AAC DATOS ES DATOS Interactividad, aplicaciones Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

7 2. ESTÁNDAR H.264/AVC Principales Características:
Es códec el cual posee una gran eficiencia de codificación debido a la operación funcional que realiza cada bloque de su diagrama. Dentro de sus principales funcionalidades son: el tamaño variable de los MB, compensación de movimiento, utiliza múltiples imágenes de referencia.Es la solución eficiente al servicio de Televisión Digital, flujo de video por IP y las video comunicaciones. Tamaño variable de los MB Compensación y estimación movimiento Calidad de Imagen mejorada Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

8 2. ESTÁNDAR H.264/AVC Proceso del Códec H.264
Las bondades que mencionadas son fruto del proceso que se puede apreciar en el diagrama de bloques. Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

9 2. ESTÁNDAR H.264/AVC Predicción
Es la principal caracteristica que difiere con estandares predecesores, consiste en la interpolación y extrapolación de imágenes, tiene como objetivo reducir tanto la redundancia espacial como temporal en base a la predicion intra (la cual procesa frames I se procesan de manera independiente sin tomar otros como referencia) y la prediccion inter (procesa frames P y B es decir toma como referencia otros frames). Codifican solo la diferencia (explicacion de los MB variables). La imagen se divide en bloques o subimágenes de tamaño reducido donde los cuadros son comprimidos a través una transformada de coeficientes discretos la cual compacta la informacion mas relevante en una sola componente (AC). Una vez obtenidos estos coeficientes se realiza el proceso de cuantificación donde se filtran los coeficientes principales (coeficientes de baja frecuencia). A partir de aquí, se reordenan los coeficientes, se les aplica una codificación entrópica Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

10 2. ESTÁNDAR H.264/AVC Transformada y Cuantización Cuantización
Separa los componentes de baja y alta frecuencia donde luego cada entrada es redondeada con la cuantización. La imagen se divide en bloques o subimágenes de tamaño reducido donde los cuadros son comprimidos compactando la información mas relevante en una sola componente AC). Transformada y Cuantización Muestras de Bloques Cuantización Transformada Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

11 2. ESTÁNDAR H.264/AVC Codificación Entrópica
Se basa en códigos de longitud variable, reduce la información asignando códigos con diferentes longitudes a la información que se repite de cada cuadro. La info menos probables se codificarán con un mayor numero de bits que la info más probables. Codificación Entrópica Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

12 Cabecera del Paquete TS
3. EMPAQUETAMIENTO TS Es un protocolo de comunicación de formato contenedor para la transmisión y el almacenamiento de audio, vídeo y datos. En esta parte se obtienen los bits provenientes del códec de video H.264 para estructurarlos en forma de paquetes. Estos paquetes son tamaño variable con una longitud máxima de 64 kbyte están formados por dos secciones: cabecera (información del tipo de datos que se transporta en cada paquete) y carga útil (información del video). Finalmente el TS posee una longitud constante de 188 bytes (184 carga útil) (4 bytes cabecera contiene info de transmisión y sincronización de los paquetes). Cabecera del Paquete TS Paquete TS Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

13 (.avi), (.mj2), (.mpg), (.wmv), (.asf), (.asx), (.mp4), (.m4v), (.mov)
4. APLICATIVO EN MATLAB® Formatos: (.avi), (.mj2), (.mpg), (.wmv), (.asf), (.asx), (.mp4), (.m4v), (.mov) Función: VideoReader Esta constituido por los siguientes bloques: el proceso de cargar el video donde los formatos de entrada admitido por las funciones de MATLAB son ….., el proceso de compresion H.264 donde la utiliza funcion para el tratamiento de video como ……. con una calidad de imagen que puede ser escogida por el usuario mediante el factor Q que puede ser en un rango de 0 a 100, finalmente para el proceso de empaquetamiento TS se utiliza el FFmpeg que es una herramienta desarrollada en Linux la cual es llamada desde MATLAB® para tener como resultado el (TS). Función: VideoWriter Función: FFmpeg Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

14 obj = VideoReader ( nombre de archivo )
4. APLICATIVO EN MATLAB® VideoReader Es una función que actúa como un lector multimedia, el cual lee datos de video desde un archivo en el espacio de trabajo de MATLAB ® y los almacena temporalmente en un objeto que tiene toda la información sobre dicho video, es decir,….. La función empieza lee cada fotograma del video y crea una estructura de video con los fotogramas leídos. SINTAXIS obj = VideoReader ( nombre de archivo ) Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

15 objw = VideoWriter ( nombre , perfil )
4. APLICATIVO EN MATLAB® VideoWriter Es una función construir el nuevo video de acuerdo al parámetro denominado perfil definido por MATLAB el cual establece todas las caracteristicas que tendrá el nuevo video. union.m obtiene los valores combinados de dos o más matrices sin repeticiones ordenados ascendentemente y adicional arroja la posición de cada componente, cuyo propósito del resultado se utiliza para comparar los bloques del cuadro actual con los bloques de referencia. unique.m trabaja con una sola matriz donde devuelve los mismos valores pero sin repeticiones y ordenados, además realiza operaciones sobre la matriz. ismember.m Asigna códigos a los elementos comunes de dos matrices obteniendo como resultado una sola matriz codificada. La función se ayuda de otras funciones internas almacenadas en el toolbox de MATLAB® en la sección audiovideo que hacen posible el proceso del códec de video. union.m unique.m ismember.m C:\Program SINTAXIS objw = VideoWriter ( nombre , perfil ) Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

16 ffmpeg -i video_a_convertir.avi video_convertido.mpg
4. APLICATIVO EN MATLAB® FFmpeg Una vez que tenemos el video comprimido almacenado la aplicación desarrollada analiza y fragmenta el contenido para obtener el video TS, a través del uso del programa FFmpeg. ….. con el comando system es incorporada al entorno de programación de MATLAB®. Herramienta destinada manejo multimedia de datos la cual puede grabar, convertir y hacer streaming de audio y video. SINTAXIS ffmpeg -i video_a_convertir.avi video_convertido.mpg Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

17 5. ANÁLISIS DE RESULTADOS
Método Subjetivo El analisis de resultados de 4 videos comprimidos variado el factor Q. Para esto se tomaron 4 videos que son el resultado de la compresión y fueron evaluados a través de 2 métodos definidos por la VQEG. Sub realiza evaluación a un conjunto de personas que opinan acerca de su percepción. La opinión media Mean Opinion Score (MOS) son métricas generalmente aceptadas como medida de la calidad. MOS se basa progresión de 1 a 5, donde 1 representa la peor calidad y 5 la mejor. Luego de realizar las evaluaciones de los cuatro videos comprimidos expuestos a un total de diez personas se observar claramente que el video es bueno para Q igual a 50 y 100. Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

18 5. ANÁLISIS DE RESULTADOS
Método Objetivo Ob se base en el cálculo del MSE y PSNR, los valores típicos de PSNR para imágenes con pérdida y compresiones de video son entre 30 y 50 dB, donde a más alto, mejor calidad. Debido a que para un Q = 100 se tiene un tamaño de casi el doble del video original, se concluye que para un factor Q = 50 proporciona una buena calidad de imagen y una reducción de tamaño considerable la misma que es necesaria para que cumpla con los estándares de Televisión Digital. Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

19 5. ANÁLISIS DE RESULTADOS
Métodos Objetivo y Subjetivo En vista de que para los dos valores de Q la calidad de video es buena, se tiene que para Q igual a 100 el tamaño es mucho mayor en relación al video original, por lo que se concluye que el factor de calidad ideal es Q igual a 50 ya que proporciona una buena calidad de imagen y una reducción de tamaño de casi la mitad con respeto a su entrada. Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

20 6. CONCLUSIONES Y RECOMENDACIONES
Luego de un estudio minucioso del estándar H.264/AVC y empaquetamiento TS se presenta el diseño e implementación de un aplicativo con las características y funcionalidades que se plantearon al comienzo del proyecto con el cual se obtiene una compresión y calidad favorable para la posterior transmisión de un video procesado por esta aplicación. Como resultado del análisis de compresión de video basados en métodos objetivos y subjetivos se concluye que el factor de calidad ideal es Q igual a 50 ya que proporciona una buena calidad de imagen y una reducción de tamaño de casi la mitad con respeto a su entrada la misma que es necesaria para la división de tramas que realiza el Transport Stream TS. Se ha comprobado que una de las principales ventajas de H.264 es la capacidad de predicción de imágenes mejorada ya que analiza secciones de bloques mucho más pequeños en relación a otros estándares predecesores lo cual permite obtener videos de muy buena calidad y menor bitrate afirmando así el por qué ha recibido buena aceptación entre el mundo del video digital. Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

21 6. CONCLUSIONES Y RECOMENDACIONES
Uno de los procesos que marcan los beneficios del algoritmo implementado es la estimación y compensación de movimiento los mismos que son ejecutados a través de operaciones como la transformada, cuantización y codificación entrópica dando como resultado un precisión de imagen propicia y como consecuencia se requiere de mayor procesamiento del hardware usado. Para el adecuado funcionamiento y utilización de la aplicación Decoder de Video H.264/TS es fundamental realizar una correcta compilación de FFmpeg en el proceso de instalación, ya que esto podría causar errores al momento de invocar a esta biblioteca. Con la finalidad de evitar posibles inconvenientes es recomendable seguir a detalle cada uno de los pasos descritos en la Guía de compilación FFmpeg, misma que se encuentra en la página oficial de la herramienta. Desarrollo de un decoder de video H.264/TS utilizando la plataforma de MATLAB®

22 Gracias por su atención
Tenorio Moya Edison Fernando Ingeniería en Electrónica y Telecomunicaciones


Descargar ppt "Desarrollo de un decoder de video H"

Presentaciones similares


Anuncios Google