EFICIENCIA DE CODIFICACIÓN DEL CODIFICADOR DIRAC

EFICIENCIA DE CODIFICACIÓN DEL CODIFICADOR DIRAC Por: Karla Anai Martínez Figueroa Ricardo Ortiz Presentado al comité revisor del Instituto de Ingen

0 downloads 56 Views 7MB Size

Recommend Stories


Empresas del Estado y eficiencia:
Empresas del Estado y eficiencia: La relevancia del ejercicio de la propiedad1 Empresas patrocinadoras: 1 Este trabajo ha sido llevado adelante por

Eficiencia energética de edificios
Eficiencia energética de edificios Cumbre de gestión sostenible 2012 Ana González Martín -La eficiencia energética en la edificación en Europa -El p

manual de eficiencia energética
m anual de eficiencia energética m anual de eficiencia energética Obra realizada por: w w w.eoi.es Con la colaboración del Centro de Eficiencia E

Story Transcript

EFICIENCIA DE CODIFICACIÓN DEL CODIFICADOR DIRAC

Por: Karla Anai Martínez Figueroa Ricardo Ortiz

Presentado al comité revisor del Instituto de Ingeniería y Tecnología de La Universidad Autónoma de Ciudad Juárez para obtener el título de:

INGENIERO EN SISTEMAS DIGITALES Y COMUNICACIONES

UNIVERSIDAD AUTÓNOMA DE CIUDAD JUÁREZ Mayo 2011

EFICIENCIA DE CODIFICACIÓN DEL CODIFICADOR DIRAC

Los miembros del comité revisor que aprobaron el proyecto de titulación de: Karla Anai Martínez Figueroa y Ricardo Ortiz.

Humberto Ochoa Asesor

___________________________________________

Abimael Jiménez

___________________________________________

David García

___________________________________________

UNIVERSIDAD AUTÓNOMA DE CIUDAD JUÁREZ

Ins'tituto de Ingeniería y Tecnología

Departamento de Ingeniería Eléctrica y Computación

Titulación extracurricular: Por promedio

Fecha: 27 de Mayo del 2011 Hora: 16:00 - 18:00 Lugar: Lab. Control

Nombre del alumno: Karla Anaí Martínez Figueroa Promedio: 9.2

El acto protocolario consta de las siguientes partes: Presentación de alumno (s) Lectura del acta Firma del aeta Toma de protesta Finalización y felicitaciones

Firmas de conformidad:

Mtro. Jesús Armando Gándara Fernández

Jefe de Departamento M.C. David García Chaparro Coordinador de programa M.C Alejandra Mendozo Correón Coordinador de academia Ing. Ismael Canales Voldiviezo Tutor

UNIVERSIDAD AUTÓNOMA DE CIUDAD JUÁREZ InsHtuto de Ingeniería y Tecnología Fecha: 27 de Mayo del 2011 Horario: 16:00 - 18:00 HRS.

EVALUACIÓN DE EXAMEN PROFESIONAL INTRACURRICULAR NIVEL: L1CEI~CIA TURA TEMA:

Lugar: Lab. Control

"Eficiencia de Codificación del Codificador DIRAC "

Lo evaluación del examen profesional intracurricular consto de 4 partes: [Desarrollado en 1 hora) 1°._ 2°.3°.4°.-

Exposición por parte de los alumnos (máximo 20 minutos). Réplica por porte del jurado. Comentarios y/o recomendaciones. Entrego de resultados.

Nombre del alumno: Ricardo Ortiz

Calificación Maestro de la materia (30%) Calificación Director de Trabajo (40%)

Z9 J/o

Calificación del Jurado (30%) TOTAL

Se recomiendo que el documento se deposite paro consulto en lo BIBLIOTECA SiD NoD

Jurado

Dr. Humberlo Ochoa Dominguez

Miro.

arda Chaparro

(

TABLA DE CONTENIDO Página AGRADECIMIENTOS…………………………………………………………..

vi

LISTA DE FIGURAS…....…………………………………………….................

vii

LISTA DE TABLAS…....……………………………………………...................

0ix

LISTA DE ACRÓNIMO…....…………………………………………………… LISTA DE ANOTACIONES…....………………………………………………..

0x 0xiii

Capítulo 1 1. INTRODUCCIÓN…………………………………………………………….

1

1.1 Introducción……………………………………………………………….

1

1.2 Planteamiento del

3

problema………………………………………………. 1.2.1 Definición del problema...

3

…………………………………………… 1.2.2 Objetivos………………………………………………………….......

3

1.2.3 Preguntas de

4

investigacion…………………………………………… 1.2.4 Justificación…………………………………………………………... 1.2.5 Delimitación………………………………………………………...

4 4

Capítulo 2 2. MARCO TEÓRICO…………………………………………………………… 2.1 Codificador Dirac………………………………………………………….

9

2.2 Decodificador Dirac………………………………………………………

9

2.3 Caracteristicas de

3

6

10

Dirac…………………………………………………… 2.4 Aplicaciones de Dirac…………………………………………………......

11

2.5 Ventajas de Dirac………………….……………………………………...

11

2.6 Comparación de Dirac con otros

12

codecs………………………………….. 2.7 Codificador de video

13

H.264………………………………………………. 2.8 Caracteristicas de H.264………………………………………...

19

………… 2.9 Aplicaciones de H.264………………………………………………….....

20

Capítulo 3 3. MATERIALES Y MÉTODOS………………………………………………... 3.1 Bloques del Sistema

22 22

Codificador…………………………………………. 3.1.1 Transformada

22

Wavelet……………………………………………….. 3.1.2 Transformada

24

Inversa………………………………………………… 3.1.3 Codificación

25

Aritmetica…………………………………………….... 3.1.4 Estimación de

25

Movimiento…………………………………………... 3.1.5 Compensación de

27

Moviemiento……………………………………… 3.2 Bloques del Sistema Decodificador

4

28

…………………………………….... 3.2.1 Decodificador de

29

Entropía………………………………………….... 3.2.2 Cuantización Escalar

29

Inversa………………………………………… 3.2.3 Compensación de

29

Movimiento…………………………………….... Capítulo 4 4. RESULTADOS Y CONCLUSIONES………………………………………...

30

4.1 Implementación……………………………………………………………

30

4.2 Resultados…………………………………………………………….....

30

4.3 Conclusiones…………………………………………………….............

44

APÉNDICE………………………………………………………………………. A. Luminancia, Cominancia y Formato

46 46

4:2:0……………………………….. REFERENCIAS…………………………………………………….…………….

5

48

AGRADECIMIENTOS Deseo expresar mi gratitud primeramente a Dios por guiarme en el camino de mi carrera, por estar conmigo en la realización de este proyecto y por darme la oportunidad de terminar una meta más en mi vida, gracias por llenar mi vida de dicha y bendiciones. De igual forma agradezco al Dr. Humberto Ochoa por su apoyo, guía, y paciencia que me fueron otorgados través de este proyecto, además de compartir su sabiduría e impulsarme a ser mejor cada día. A el Dr. José Míreles por el apoyo y guía que me brindo, a los miembros del comité revisor por su disposición, a mis maestros por sus enseñanzas y ayuda brindadas. A el Ing. Ismael Canales por todo el apoyo y guía que me ha brindado desde el inicio de esta carrera, gracias por la disponibilidad. Deseo dedicar todos mis logros a mi esposo Francisco, le agradezco su apoyo, guía y comprensión en la realización de mi carrera universitaria, estoy segura que sin él, no hubiera sido posible, gracias por siempre echarme porras para seguir adelante. A mis padres, a quienes agradezco de todo corazón, su amor y apoyo que me brindan día a día. Y a mis hermanos por estar siempre al pendiente de mí.

Mayo 2011

6

LISTA DE FIGURAS Figura

Página

2.1. Arquitectura del codificador Dirac……………………………………………………..9 2.2. Arquitectura del decodificador Dirac………………………………………………….10 2.3. Apoyo a formato de imagen 4:200 muestreo de croma, Superior: CIF, Inferior: QCIF……………………………………………………………………………...14 2.4. Piezas específicas para los perfiles de codificación H.264…………………………....19 3.1. Arquitectura de la Transformada Wavelet en Dirac………………………………......22 3.2. Frecuencia de Descomposición de Subbanda de la Transformada Wavelet Dirac………………………………………………………………………………………..23 3.3. Etapas de la Transformada Wavelet…………………………………………………...24 3.4. Descomposición de sub banda Wavelet relación entre padres e hijos………………...26 3.5 Cuantizador Uniforme y Zona Muerta………………………………………………....27 3.6. OBMC esquema que muestra los bloques superpuestos……………………………..28 4.1. Video original “foreman_cif.yuv” Secuencia CIF (352x288)………………………...31 4.2. PSNR (Y) Dirac y H.264 “foreman_cif.yuv” CIF………………………………..…...32 4.3. PSNR (Cb) Dirac y H.264 “foreman_cif.yuv” CIF……………………………....…...33 4.4. PSNR (Cr) Dirac y H.264 “foreman_cif.yuv” CIF………………………………..…..33 4.5. Video original “news_qcif.yuv” QCIF y “news_cif.yuv” CIF………………………..34 4.6. Dirac y H.264 “news_qcif.yuv” Secuencia QCIF………………………………...…...35 4.7. PSNR (Y) Dirac y H.264 “news_qcif.yuv” QCIF…………………………………….36 4.8. Dirac y H.264 “news_cif.yuv” Secuencia CIF……..………………………………....37 4.9. PSNR (Y) Dirac y H.264 “news_cif.yuv” CIF………………………..………………38

7

4.10. Video original “akiyo_qcif.yuv” Secuencia: QCIF……………………………..…...39 4.11. PSNR (Y) Dirac y H.264 “akiyo_qcif.yuv” QCIF………………………………..….40 4.12. Video original “bus_cif.yuv” Secuencia: CIF…………………………..……………41 4.13. PSNR (Y) Dirac y H.264 “bus_cif.yuv” CIF………………………………………...42 4.14. Video original “carphone_qcif.yuv” Secuencia: QCIF………………………………43 4.15. PSNR (Y) Dirac y H.264 “carphone_qcif.yuv” QCIF……………………………….44

8

LISTA DE TABLAS Tabla

Página

2.1 Formatos CIF y QCIF…………………………………………………………………...7 2.2 Comparación de Dirac con otros Códecs…………………………………………….. ..13 2.3 Perfiles de H.264 para usos particulares…...…………………………………………..16 2.4 H.264 / MPEG-4 Parte 10 Especificación de perfiles……………………………….....16 4.1 Análisis de la secuencia de video “foreman_cif.yuv” CIF…........................................32 4.2 Análisis de la secuencia de video “news.yuv” QCIF…………………………..………36 4.3 Análisis de la secuencia de video “news.yuv” CIF……………………….........………38 4.4 Análisis “akiyo_qcif.yuv” QCIF……………………………………………………….40 4.5 Análisis de la secuencia de video “bus_cif.yuv” CIF…………………………….……41 4.6 Análisis de la secuencia de video “carphone_qcif.yuv” QCIF………………………...43

9

LISTA DE ACRÓNIMOS 4K

4.000 píxeles de resolución horizontal

AFF

Formato Avanzado de Archivo (Advanced file format)

ASO

Orden de secuencia arbitraría (Arbitrary slice order)

AVC

Código de Video Avanzado (Advanced Video Coding)

BCC

Corporación

Británica

de

Radiodifusión

(British

Broadcasting

Corporation) Bitrate

Tasa de Bits

CAVLC

Adaptación de longitud variable en función del contexto de codificación (Context-based adaptive variable length coding)

CABAC

Contexto basado en la adaptación aritmética binaria de codificación (Context-based adaptive binary arithmetic coding)

CIF

Common Intermediate Format

Códec

Codificador-Decodificador

Codecs

Codificadores-Decodificadores

DCT

Coseno Discreto de Transformación (Discrete Cosine Transform)

DP

Partición de datos (Data partitioning)

DSL

Línea de abonado digital (Digital subcriber line)

FMO

Macro flexible para bloquear (Flexible macro block order)

Frames

Cuadros

Fps

Pies por segundo (Feet Per Second)

GOP

Grupo de Imagen

H.264

Codificador de video de alta comprensión

HD

Alta definición (High definition)

HDTV

Televisión de alta definición ( High definition televisión)

HH

Alto-Alto (High-High)

10

HL

Alto-Bajo (High-Low)

IEC

Comisión Electrotécnica Internacional (International Electrotechnical Commission)

I-PCM

Modulación de código (Pulse Code Modulation)

ISO

Organización Internacional de Normalización

LH

Bajo-Alto (Low-High)

LL

Bajo-Bajo (Low-Low)

MB

Vectores de movimiento (Motion vector)

MBAFF

Macro bloque del marco de adaptación / Campo (Macro block adaptive / field)

MPEG

Grupo de Expertos en Imágenes Móviles (Moving Picture Experts Group)

MPEG-2

Grupo de Expertos en Imágenes Móviles 2

MPEG-4

Grupo de Expertos en Imágenes Móviles 4

MVC

Video multi vista de codificación (Multi-view video coding)

NAL

Capa de abstracción de red

NTSC

Comité Nacional del Sistema de Televisión (National Television System Committee)

PAFF

Estructura imagen de Adaptación / Campo (Picture adaptive frame / field)

PAL

Línea alternada en fase (Phase Alternating Line)

PSNR

Relación Señal a Ruido de Pico (Peak Signal-to-Noise Ratio)

PVRs

Gravado de video personal ( Personal video recorder)

QCIF

Quarter Common Intermediate Format

QF

Factor de Calidad (Quality factor)

QP

Parámetro de cuantización (Quantization Parameter)

RDO

Tasa de optimización de la distorsión (Rate Distortion Optization)

RGB

Rojo, Verde y Azul (Red, Green and blue)

RS

Segmento redundante (Redundant slice)

11

Segmento B Bi direccional predictivo con código de división (Bi-directionally predictive coded slice) Segmento I

(Intra-coded slice)

Segmento P

(Predictive-coded slice)

SD

Definición estándar (Standard Definition)

SI

SVC

SP

Switched prediction

SVC

Codificación de video escalable (Scalable video coding)

VCL

Codificación de la capa de video (Video Coding Layer)

VLC

Cliente Video LAN (Video LAN Client)

WMV

Windows Media Video

12

LISTA DE ANOTACIONES Formatos de Video.- Los formatos de video representan

el tamaño y posición

miembro de la señal de video. Formato QCIF.- Es un formato para videoconferencias, define una resolución de la imagen que permite 30 cuadros por segundo con un tamaño de 144 líneas por 176 pixeles por línea, esto se refiere a un cuarto de la resolución de CIF. Su objetivo es ofrecer un formato de vídeo común reducido para los codificadores Formato CIF.- Es un formato que se utiliza para compatibilizar los diversos formatos de video digital. Su objetivo es ofrecer un formato de video común reducido para los codificadores. Define secuencias de video de 30 cuadros por segundo, donde cada cuadro contiene 288 líneas con 352 pixeles por línea, la línea presenta un aspecto en formato 4:3. Es utilizado en sistemas de videoconferencias que fácilmente soporta señales NTSC y PAL. H.264.- Es una norma que define a un Códec de video de alta comprensión. 4K.- Es un estándar emergente para la resolución en el cine digital y de gráficos por ordenador. NTSC.- Es la responsable de la configuración de la televisión y los estándares de video en todo el mundo. PAL.- Es un sistema de codificación empleado en transmisión de señales de televisión analógica en colores. Se deriva de NTSC con algunas mejoras. Es el estándar dominante. Luma.- Representa la parte blanca y negra del video. Croma.- El croma o inserción croma es una técnica audiovisual utilizada ampliamente tanto en cine y televisión como en fotografía, consiste en la sustitución de un fondo por otro mediante un ordenador, representa el color del video. Streaming.- Consiste en la distribución de audio o video por Internet. La palabra Steaming se refiere a que se trata de la corriente continua sin interrupción.

13

Blokiness.- Es la consecuencia de partes de una imagen de última hora en cuadros pequeños, debido a un exceso de presión o un archivo de video abrumado en el procesador de una computadora. MPEG-4 Parte 10 o AVC.- Estándar para la comprensión de video. RGB.- Es un modelo de color aditivo en el que se añaden luz roja, verde y azul. Codificación aritmética.- Se usa para crear una poderosa técnica de CABAC. Este tipo de codificación es sin perdidas. Tamaño de corte flexible.- Aumenta la eficacia de codificación mediante la reducción de los datos de cabecera. PSNR.- es un término utilizado en ingeniería para definir la relación entre la máxima energía posible de una señal y el ruido que afecta a su representación. Vectorscopio.- instrumento de medida utilizado en televisión para ver y medir la componente de color de la señal de vídeo. YUV.- Componente de luminancia y crominancia.

14

CAPITULO 1 INTRODUCCION 1.1 Introducción En la actualidad el uso de comunicación digital aumenta enormemente día con día, la comprensión de vídeo se ha convertido en una pieza muy importante para las nuevas tecnologías, desempeñando un papel integral que favorece el uso de multimedia a través de Internet. Con el rápido crecimiento de internet en el mundo digital y la introducción de los medios de alta definición y la capacidad de trasmitir lo más eficientemente posible. En la actualidad almacenar o trasmitir una secuencia de video digital es muy caro y lento por lo que precisa de codificadores que reduzcan el ancho de banda del video. Además existen multitud de estándares diferentes, especialmente en el ámbito informático. La mayoría de los codificadores de video comprimen la información para que pueda ser almacenada o transmitida ocupando el mínimo espacio posible. Para conseguirlo se aprovecha que las secuencias de video tienen redundancia en las dimensiones espacial y temporal. Por lo tanto, eliminando dicha información redundante se consigue codificar la información de manera más óptima. Para eliminar la información redundante en el plano temporal se utiliza la predicción por compensación de movimiento, donde se estima el movimiento entre bloques sucesivos de la imagen. Los bloques son formados por grupos de pixeles, generalmente de 8x8 o 16x16. Posteriormente se codifica la información de los vectores de movimiento y del error de predicción respecto al bloque anterior [27]. El códec Dirac es uno de los más recientes, es un códec de video de código abierto, llamado así en honor del científico Paul Dirac, el cual es basado en la transformada wavelet

15

y fue utilizado por primera vez en el 2008 durante las olimpiadas de Beijing por British Broadcasting Corporation (BBC) de Londres, la cual es la iniciadora del proyecto [28]. Dirac proporciona una eficiencia de comprensión, con una arquitectura simple, basado en herramientas básicas. El códec Dirac es investigado a detalle, con especial atención a su desempeño, en la presente investigación Dirac es comparado con el códec H.264. El análisis se realiza en términos visuales de calidad medidos por PSNR y tasa de bits. El objetivo general de Dirac es proporcionar la comprensión de video de alta calidad en la web hasta HD [7]. Dirac compite con otros formatos existentes, tales como H.264. La presente investigación es realizada para comprobar que tan eficiente es realmente el Códec Dirac, el cual será comparado con el códec H.264. En investigaciones anteriores se dice que Dirac es un Códec de comprensión de video de uso general adecuado para todo desde internet hasta televisión de alta definición [1]. Dirac puede comprimir cualquier tamaño de la imagen de baja resolución QCIF hasta de alta definición y más allá, similares a los Codecs de video comunes como la ISO / IEC, MPEG, MPEG-4 y WMV de Microsoft. Además promete un ahorro significativo en la tasa de datos y mejoras en la calidad sobre estos Codecs [7]. También emplea la compresión wavelet, en lugar del coseno discreto utilizado en la mayoría de otros Codecs, como H.264/MPEG-4 AVC. Dirac es uno de varios proyectos que han aplicado a ondas de compresión de vídeo y ha demostrado su viabilidad en el estándar de compresión JPEG 2000 para imágenes fotográficas [31]. Existen dos partes en el proceso del desarrollo de Dirac: una especificación de compresión para el flujo de bits y decodificador, y software para la compresión y descompresión. El software no está dirigido sólo para proporcionar referencias de codificación y decodificación, se trata de una aplicación prototipo que libremente se puede modificar e implementar. El decodificador, en particular, está diseñado para ser rápido y ágil. La especificación resultante es simple y sencilla de implementar y es optimizado para el rendimiento en tiempo real [2].

16

En esta investigación el rendimiento del códec Dirac ha sido analizado para secuencias de video QCIF y CIF, las cuales se comparan con el códec H.264 a diferentes velocidades de bits. Los capítulos 2 y 3 dan una amplia explicación del códec Dirac y el códec H.264. Se explican las arquitecturas del códec Dirac y diversas características de cada códec junto con las ventajas, características y aplicaciones. En el capítulo 4 se presentan los datos de prueba, resultados y conclusiones obtenidos. 1.2 Planteamiento del Problema 1.2.1 Definición del problema El Códec Dirac es una nueva tecnología en codificadores de video, creada y utilizada por la BBC de Londres para transmitir eventos especiales, llamado así en honor del científico británico Paul Dirac. La comunidad científica cada día toma más en cuenta y está más interesado en este Códec para formatos de video de alta definición, ya que es un Códec libre de patentes. Además, el Códec Dirac ofrece herramientas de comprensión y descomprensión de video para propósitos generales, a resoluciones desde QCIF hasta HDTV. Este Códec es muy importante en el sector audio visual ya que supone una importante pieza en el futuro. A la fecha no existe comparación de la eficiencia de esta tecnología en cuanto a capacidad de codificación y medidas subjetivas (calidad en un número determinado de secuencias de video) para la recuperación del video en el decodificador. 1.2.2 Objetivos Analizar la eficiencia de calidad del Códec Dirac por medio de las secuencias QCIF y CIF con el fin de estudiar la calidad de video en el lado del codificador.

17

1.2.3 Preguntas de investigación ¿Qué es Dirac? ¿Para qué sirve Dirac? ¿Cómo funciona Dirac? ¿Qué es H.264? ¿Para qué es H.264? ¿Qué son los formatos de video? ¿Cómo se mide la eficiencia del Códec Dirac? ¿Cómo se compara el codificador Dirac con el desempeño del codificador H.264? ¿Cuál es la eficiencia del Códec Dirac?

1.2.4 Justificación La presente investigación se realiza para comprobar que tan eficiente es realmente el Códec Dirac, el cual en investigaciones anteriores se dice que es un Códec de comprensión de video de uso general adecuado para todo desde internet hasta televisión de alta definición y el cine electrónico [1]. Dirac está diseñado para ser rápido, cuenta con una opción muy interesante para desarrollos independientes ya que no cuenta con patentes e incluso para los programas profesionales como Adobe Premier. Dirac utiliza una forma más flexible y eficiente de la entropía de codificación llamado codificación aritmética, que contiene los bits de manera eficiente en el flujo de bits [2]. Además es un códec de video de última generación que utiliza técnicas modernas, como la transformada wavelet y codificación aritmética. En esta investigación se comprobara si realmente lo que se dice del Códec Dirac es verdadero, comparándolo con el Códec H.264. 1.2.5 Delimitación

18

Utilizaremos los Códec Dirac y H.264 para realizar las comparaciones, por medio de los formatos QCIF y CIF, debido a que son los formatos que soportan ambos codificadores. Para obtener el Códec Dirac se compilará el código fuente del software utilizando Visual C ++ 2008.

19

CAPÍTULO 2 MARCO TEÓRICO El Códec Dirac promete ser un buen codificador. El objetivo de Dirac es proporcionar la comprensión de video de alta calidad de video en la web hasta HD [7] y ser competitivos con otros Codecs, fue elaborado en base a la relación de la cantidad de compresión y calidad perceptual obtenida por la BBC de Londres. Dirac ha sido desarrollado como una herramienta de investigación para el desarrollo de posteriores proyectos, no como un producto [3]. Existen múltiples y variadas razones que han llevado a la BCC a apoyar el desarrollo de Dirac, algunas van desde aspectos técnicos, como la necesidad de medición de la audiencia de sus canales de entretenimiento hasta los sistemas de transmisión de televisión. Dirac puede comprimir cualquier tamaño de cuadros de video de baja resolución QCIF (176x144 píxeles) hasta de alta definición (1920x1080 píxeles) y más allá, similares a los Codecs de video comunes como la ISO / IEC, MPEG, MPEG-4 y WMV de Microsoft. Sin embargo promete un ahorro significativo en la tasa de datos y mejoras en la calidad sobre estos Codecs [7]. Dirac utiliza comprensión con la transformada wavelet, compensación de movimiento y codificación aritmética para eliminar redundancias dentro de la imagen. La transformada separa en diferentes bandas frecuenciales con diferentes resoluciones, esto es, utiliza la transformada sub muestreada. En el codificador se puede seleccionar una de varias transformadas wavelet la cual se aplicará a toda la secuencia de video. La transformada wavelets es una representación lineal tiempo-frecuencia similar a la transformada Fourier que representa una señal en términos de versiones trasladadas y dilatadas de una onda finita (denominada ondula madre) [5,6]. Además, Dirac es

20

compatible con cualquier marco de dimensiones (QCIF a HDTV) y formato común de croma (luminancia sólo, 4:4:4, 4:2:2, 4:2:0) por medio del relleno del Marco. El relleno asegura que la transformada wavelet se puede aplicar correctamente [4]. El Códec Dirac opera con los formatos QCIF y CIF, el formato QCIF posee un cuarto de los píxeles del formato CIF, es un formato para video conferencias que permiten 30 cuadros por segundo. El formato CIF es un formato de video no entrelazado, con una resolución de (352x288) puntos por trama y con una tasa de tramas típica de 30 a 15 tramas. Estos valores corresponden a la mitad de las líneas activas de una señal de televisión [10]. CIF define secuencias de video de 29,97 imágenes por segundo, donde cada una de ellas contiene 288 líneas con 352 píxeles por línea. La imagen definida con estos parámetros presenta una relación de aspecto en formato 4:3 [11]. Tabla 2.1 Formatos CIF y QCIF [9].

La figura 2.1 muestra la arquitectura del codificador Dirac. El primer frame o cuadro de video entra por Vin, éste es transformado por la transformada wavelet y cuantizado utilizando cuantizadores gauseanos, la salida de estos cuantizadores es enviada al codificador de entropía o codificador aritmético para ser codificado sin pérdidas en una secuencia de unos y ceros. También, al mismo cuadro se le aplica el proceso inverso, o sea, se le aplica cuantización inversa y las transformada wavelet inversa. El cuadro recuperado es almacenado en una memoria y marcado como cuadro I. Después, se introduce el siguiente cuadro por Vin, al cual denominaremos P2. La imagen de este cuadro puede estar desplazado con respecto a la imagen en el cuadro I que se codificó anteriormente, estos desplazamientos deben ser buscados en la imagen I, esto es, el cuadro I se divide en ventanas de 32x32. El cuadro P2 se divide en cuadros de 8x8. Cada ventana de 32x32 en I corresponde a 16 cuadros de 8x8 en P2 a los cuales denominaremos CP. Cada cuadro CP se busca en su correspondiente ventana I calculando las diferencias (residuos) dentro de esta

ventana. Esto es, se desplaza el cuadro CP dentro de la ventana de 32x32 hasta que se encuentra el mínimo y se obtiene la diferencia entre el cuadro de 8x8 CP y el cuadro de 8x8 encontrado dentro de la ventana I que denominaremos CI. La diferencias la denominaremos D = CP – CI. Después, se calcula un vector desde inicio de la posición original del CP al inicio de la posición de CI en el cuadro I. Esto se realiza con todo el cuadro P2, y enseguida, se obtiene un cuadro de residuos con sus correspondientes vectores de movimiento. Este cuadro de residuos se llama compensación de movimiento. Posteriormente, los residuos son transformados, cuantizados y codificados utilizando en codificador aritmético. Los vectores de movimiento también se codifican utilizando el codificador aritmético. El cuadro de residuos se suma con el cuadro I utilizando los vectores de movimiento para producir el cuadro P, O sea, a cada residuo D, de 8x8, se le localiza en el cuadro I utilizando su correspondiente vector de movimiento y se realiza la operación inversa CP = D+CI. Con lo que se obtiene una versión aproximada del segundo cuadro de entrada P2 y se almacena en memoria. Existe la posibilidad de que en cuadros subsecuentes se utilice el cuadro P y el cuadro I para obtener residuos, el cuadro reconstruido se llamaría cuadro B, el cual es el resultado de una predicción bidireccional del cuadro P y del cuadro I con sus correspondientes vectores de movimiento este cuadro B también se almacena en memoria. Usualmente, después de 12 frames o cuadros predichos, se vuelve a calcular un nuevo cuadro I. Dirac está basado en una tecnología de código abierto. El desempeño general de los codificadores es mucho mejor que MPEG-2 y ligeramente peor que H.264/AVC en la actual etapa de desarrollo [8]. El decodificador revierte el proceso de codificación. De hecho, el codificador al reconstruir cualquier cuadro en base a residuos y vectores de movimiento, emula la función del decodificador, es por esta razón que el codificador siempre es más complejo que el decodificador. 2.1 Codificador Dirac

Figura 2.1. Arquitectura del codificador Dirac [8].

2.2 Decodificador Dirac En la figura 2.2. Se muestra como el decodificador realiza las operaciones inversas al codificador [7].

Figura 2.2. Arquitectura del decodificador Dirac [7]. 2.3 Características de Dirac [13] A continuación se muestran las características del Códec Dirac:

24



Apoyo directo de múltiples formatos de imagen



Apoyo directo de 4K cine electrónico a través del formato QCIF



Apoyo directo de múltiples formatos de croma por ejemplo, 4:4:4 / 4:2:2 / 4:2:0



Apoyo directo de múltiples profundidades de bits por ejemplo, de 8 bits a 16 bits



Apoyo directo de entrelazado a través de los metadatos



Apoyo directo de distintas velocidades de cuadro de 23.97 Fps. a 60 Fps.



Definibles proporciones de pixeles



Rangos definibles de señal y compensaciones



Múltiples espacios de color con los metadatos para describir



Color de primarias y matrices de color



Transferencia de funciones



Número de 32 bits de marco (60 Fps.)



Una selección de los filtros wavelet múltiples (incluidos los filtros optimizados de

baja conversión) 

Profundidad definibles de wavelets

2.4 Aplicaciones de Dirac [1] A continuación se muestran las áreas de aplicación y uso del Códec Dirac: 

Radiodifusión



Escritorio de producción



Clip de distribución



Transmisión en vivo de video



Enlace de noticias



Intermedio digital a película de almacenamiento de archivos



Transferencia de intercambio de archivos



Televisión de alta definición con SD, capacidad de transmisión simultanea



Archivo de almacenamiento



PVRs

2.5 Ventajas de Dirac [1] A continuación se muestran las ventajas del Códec Dirac: 

Dirac es una tecnología abierta – la eliminación de costos de licenciamiento de

software, el hardware y el flujo de contenido 

Flexibilidad técnica de Dirac ofrece un paquete versátil, que facilita la operación de

más de muchas aplicaciones y, por consiguiente ahorro de dinero 

Capacidad de comprimir archivos de alta resolución para la producción, contenida

de la emisión, y las aplicaciones web 2.0. La comprensión puede ser sin pérdida o sin pérdida visual 

Puede explotar de comprensión con pérdida de grupo largo de la imagen (GOP) en

formato para la radiodifusión y otros medios de distribución

25



La eficiencia de la calidad o comprensión es similar a la de H.264 [14], pero sin la

complejidad de la codificación o la carga de la licencia 

Puede lograr un buen rendimiento de comprensión subjetiva utilizando algunas

herramientas guiadas por criterios psico visual 

Más espacio para las futuras implementaciones y por lo tanto más posibilidades de

mejorar el rendimiento 

Puede mejorar la calidad mediante la concentración de más en grandes errores y

restar importancia a los errores de alta frecuencia 

Relativa simplicidad y rendimiento



Ofrece buena calidad a baja velocidad de bits, lo que lleva a costos más bajos



Ofrece buena calidad con bajo retardo, ideal para aplicaciones de transmisión en

vivo en los estudios y las emisiones fuera 

Apto para todo, desde lo que fluye de Internet a televisión de alta definición y el

cine electrónico 

La velocidad de reproducción puede ser mejorada ya que el software está

optimizado 2.6 Comparación de Dirac con otros Codecs A continuación se muestra la comparación del códec Dirac con otros Codecs.

26

Tabla 2.2 Comparación de Dirac con otros Codecs [15].

2.7 Codificación de video H.264 H.264 es un estándar abierto, con licencia compatible con las técnicas más eficientes de compresión de vídeo disponibles hoy en día, y es equivalente a MPEG-4 Parte 10, o MPEG-4 AVC [20]. H.264 / MPEG-4 tiene una estructura en capas que se componen de dos capas: NAL y VCL. Los resúmenes de los datos VCL y NAL tienen información de cabecera sobre el formato de VCL. El cual es conveniente para el transporte de las capas de transporte o medios de almacenamiento. La unidad NAL define un formato genérico para su uso, basados en paquetes y sistemas de transmisión de bits. La VCL es un núcleo de codificación de capa y se concentra en lograr la máxima eficiencia de codificación. La estructura de capa soporta 4:2:0 croma de muestreo del formato de la imagen como en los formatos QCIF y CIF el cual se muestra en la figura 2.3.

Figura 2.3. Apoyo a formato de imagen 4:2:0 muestreo de croma, Superior: CIF, Inferior: QCIF [14].

27

El estándar H.264 es una “familia de normas”, que incluyen los siguientes conjuntos de capacidades: •

Perfil básico (PA): El perfil de referencia incluye los segmentos I, P y el tramo de

codificación, herramientas mejoradas de recuperación de errores (bloque flexible macro-pedido FMO), y CAVLC. Principalmente para aplicaciones de bajo costo con recursos informáticos limitados, este perfil se utiliza ampliamente en aplicaciones de videoconferencia y móvil. •

Perfil principal (MP): Originalmente concebido como el perfil de consumo

corriente para aplicaciones de transmisión y almacenamiento. El perfil principal que incluye, I-, P- y B-partes, entrelazado de codificación, CAVLC y CABAC. Este perfil está diseñado para proporcionar la mayor eficacia posible de codificación. •

Perfil extendido (XP): El perfil extendido es un superconjunto del perfil de

referencia. Incluye B-, SP- y SI-partes, particiones de datos, herramientas de codificación y entrelazado, además de herramientas del perfil de referencia. Por lo tanto, es más complejo pero también proporciona una mejor eficacia de la codificación. Se pretende que el perfil de streaming de vídeo, tiene una capacidad de compresión relativamente alta y la solides de las pérdidas de datos y conmutación de corriente del servidor. •

Alto Perfil (HIP): El perfil principal de las aplicaciones de almacenamiento y

difusión del disco, sobre todo para la televisión de alta definición. Existen cuatro altos perfiles [21]:

-

Alto perfil.- Apoya el vídeo de 8 bits con muestreo 4:2:0 para aplicaciones

con alta resolución.

28

-

Alto perfil 10.- Apoya la toma de muestras 4:2:0 con un máximo de 10 bits

de precisión de la representación por muestra. -

Alto perfil 4:2:2.- Soporta el muestreo de croma 4:2:2 y hasta 10 bits por

muestra. -

Alto perfil 4:4:4.- Soporta el muestreo de croma 4:4:4, hasta 12 bits por

muestra, y un número entero de color residual transformado para la codificación de la señal RGB.

Tabla 2.3 Perfiles de H.264 para usos particulares [14].

29

Tabla 2.4 H.264 / MPEG-4 Parte 10 Especificación de perfiles [14].

Las partes más comunes de codificación para los perfiles son los siguientes [14]: 

Segmento I: utiliza la predicción sólo a partir de muestras descifrada en la misma

división 

Segmento P: utiliza la predicción de cosas, de imágenes de referencia previamente

descifradas, utilizando la mayoría de vectores de movimiento y un índice de referencia para predecir los valores de la muestra de cada bloque 

CAVLC: para la entropía de codificación

Las partes más comunes de codificación para el perfil de referencia son las siguientes: 

30

Segmentos comunes: I segmento, P segmento, CAVLC



FMO: macro-bloques no necesariamente en la exploración de trama orden. El mapa

asigna macro-bloques a un grupo de corte 

ASO: la dirección de macro-bloque de la primera macro-bloque de un trozo de una

imagen puede ser menor que la dirección de macro-bloque de la primera macro-bloque de alguna otra parte anterior de la misma imagen codificada 

RS: este segmento pertenece a la codificación de datos redundantes obtenidos por la

tasa de codificación igual o diferente, en comparación con los datos anteriores codificados de la misma división Las partes más comunes de codificación para el perfil principal son los siguientes: 

Segmentos comunes: Segmento I, Segmento P, CAVLC



Segmento B: el segmento de código mediante el uso de la predicción de cosas, de

imágenes de referencia previamente descifrados, con un máximo de dos vectores de movimiento y los índices de referencia para predecir los valores de la muestra de cada bloque 

Ponderado de predicción: ajuste de escala mediante la aplicación de un factor de

ponderación de las muestras de movimiento compensado datos de la predicción en P o B división 

CABAC: para la codificación de la entropía

Las partes más comunes de codificación para el perfil extendido son los siguientes: 

Segmentos comunes: Segmento I, Segmento P, CAVLC



Segmento SP: especialmente codificados para la conmutación eficiente entre

secuencias de vídeo, similar a la codificación de un segmento P 

Segmento SI: encendido, similar a la codificación de un segmento I



Partición de datos: los datos codificados se colocan en las particiones de datos por

separado, cada partición se puede colocar en la unidad de capa diferente 

31

FMO, ASO



Segmento RS, Segmento B



Predicción Ponderado

Las partes específicas de codificación para los diferentes perfiles están representadas en la figura 2.4.

32

Figura 2.4. Piezas específicas para los perfiles de codificación H.264 [14].

2.8 Características de H.264 [20, 21] H.264/AVC/MPEG-4 Parte 10, contiene una serie de características nuevas que le permiten comprimir el vídeo mucho más eficaz que los estándares anteriores y proporcionar una mayor flexibilidad para las aplicaciones en una amplia variedad de entornos de red. A continuación se mencionan algunas de las características [20, 21]:  Multi-imagen y predicción inter-foto incluido el tamaño de bloque variable de

compensación de movimiento, la predicción ponderada, la exactitud de cuartos de píxeles de la compensación de movimiento, sin restricciones de múltiples vectores de movimiento por macro-bloque, del filtrado para la predicción de luminancia media de la muestra PEL y el apoyo de imágenes de referencia múltiples

33



Transforma la longitud de palabra 4 x 4 para 16 bits



Codificación aritmética



Conjunto de parámetros de estructura



Tamaño de corte flexible



PAFF



MBAFF



Sin pérdidas macro-bloque de codificación y ordenación flexible macro-bloque



Vídeos flexibles de escaneo entrelazado de codificación



Transforma las nuevas características de diseño, incluyendo: número entero

resultado exacto (4 × 4) y (8 × 8) transforma los bloques espaciales 

Diseño de cuantificación incluyendo: control logarítmica de tamaño de paso para

facilitar la gestión de la velocidad de bits y en circuito de bloqueo del filtro para evitar el bloqueo de los artefactos 

La entropía de codificación de diseño, incluyendo: CABAC, CAVLC y VLC



Pérdida de características que incluyen la resistencia: NAL, FMO, DP y RS



Apoyo de blanco y negro, 4:2:0, 4:2:2, y 4:4:4 sub-muestreo de croma



Apoyo de precisión a la profundidad de muestreo de bits entre 8 a 12 bits por

muestra 2.9 Aplicaciones de H.264 [14] El H.264 / MPEG-4 parte 10 AVC tiene una amplia gama de aplicaciones de contenido de vídeo. Algunos de ellos se enumeran a continuación:

34



Vídeo en tiempo real a través de Internet



Televisión por cable en redes ópticas



Servicios de difusión directa por satélite de vídeo



DSL, servicios de vídeo



Radiodifusión de televisión digital terrestre, cable modem



Medios Interactivos de almacenamiento



Correo multimedia

35



Servicios multimedia sobre redes de paquetes



Servicios de conversación en tiempo real (videoconferencia, etc.)



Vigilancia remota de vídeo



Medios de almacenamiento de serie (videograbadora digital, etc.)



D Cinema de distribución de contenidos, edición de estudio



SVC y MVC, se han adoptado como extensiones de la H.264

CAPITULO 3 MATERIALES Y MÉTODOS 3.1. Bloques del Sistema Codificador A continuación se explica cada uno de los bloques de la arquitectura del codificador Dirac: 3.1.1. Transformada Wavelet Dirac utiliza la transformada Wavelet discreta como un remplazo para el DCT, el cual se utiliza en muchos codificadores. La transformada wavelet ha demostrado proporcionar a una técnica más eficiente que el bloqueo transformador con imágenes fijas [16]. Dentro de los filtros de ondulación de Dirac, se codifican los datos en tres etapas, las indicaciones se muestran en la figura 3.1. En la ondulación de Daubechies los filtros se utilizan para transformar y para dividir los datos en los sub bandas las cuales se cuantifican con los parámetros correspondientes de RDO y de ahí la longitud de la variable se codifica como lo muestra la siguiente figura. Estas tres etapas se invierten en el decodificador.

Figura 3.1. Arquitectura de la Transformada Wavelet en Dirac [16].

36

Dirac adopta 4 niveles de la transformada wavelet, el filtro producido para las sub bandas llamado LL, LH, HL, HH. La banda de LL se codifica iterativa para obtener los datos necesarios.

Cada sub banda contiene coeficientes que representan las áreas

específicas dentro del marco; los coeficientes de diversas bandas que se relacionan en la misma área se pueden explotar para la correlación. Esta independencia de sub banda puede ser modelada como relación padre-hijo y aprovechar los armónicos del espectro. Cifrando al padre antes que al hijo (LF-HF) la probabilidad de los valores cero puede ser estimado mejorando la eficiencia. La única restricción para la descomposición wavelet es que debe haber un número exacto de macro bloques horizontales y verticales en el que las dimensiones sean divisibles por 16; típicamente un macro bloque debe ser de 4X4 fijado en bloques. Sin embargo esta restricción se puede eliminar automáticamente rellenando los datos con negro antes de la codificación, pero tiene que ser ejecutada dentro de Dirac [1].

Figura 3.2. Frecuencia de Descomposición de la Transformada Wavelet [1].

La siguiente figura muestra una imagen original a la izquierda, en primer lugar la transformada wavelet en el medio y segundo lugar la transformada en la derecha. Considerando que el primer nivel de transformación, representa un cero medio gris. Aunque la transformación es del mismo tamaño que el original, la mayoría de la información se concentra ahora en la frecuencia baja esquina superior izquierda. Es posible que para ver detalle en otras partes de la transformación, pero es a un nivel mucho más

37

bajo. La transformación de los paquetes de la mayor parte de la información es solo una parte de la transformación (superior izquierda de la frecuencia), lo que nos permite lograr una comprensión [2].

Figura 3.3. Etapas de la Transformada Wavelet [2].

3.1.2. Transformada Inversa Si la transformada inversa se ha aplicado correctamente antes de la codificación y sin pérdida de codificación empleada, el recorte no será necesario, y al revertir las operaciones se reproduce la codificación Y, CO y CG sin pérdida de IR (Y es de 8 bits) e IG (CO y CG será de 9 bits), produciendo un proceso transparente de RGB de 8 bits a RGB de 8 bits del sistema de codificación. En la codificación YCoCg, IR entero, IG, IB debe calcularse directamente a partir del descifrado Y, C1 (CO) y C2 (GC) por los valores [36]: Y − = Parámetros de video [Desplazamiento de Luma] Co = C1 − = Parámetros de video [Desplazamiento de Croma] Cg = C2 − = Parámetros de video [Desplazamiento de Croma] t = Y − (Cg>> 1) IG = t + Cg IB = t − (Co >> 1) IR = IB + Co

38

(3.1)

3.1.3. Codificación Aritmética La entropía de codificación se aplica para reducir al mínimo el número de bits utilizados. La clave de codificación de entropía es utilizar un número variable de bits para los diferentes valores. Normalmente se utilizan ocho bits para definir el brillo de un píxel. En la transformada wavelet, podemos ver en la figura 3.3, que muchos de los valores son aproximadamente cero. Si sólo usamos un solo bit para indicar un valor de cero, inmediatamente necesita muchos menos bits para almacenar la transformación. Por supuesto, esto sólo funciona después de la transformación wavelet debido a que pocos de los valores de la imagen original son cero. Dirac utiliza una técnica avanzada de la entropía de codificación llamado "codificación aritmética" [17], que es a la vez flexible y eficiente. Los valores distintos de cero en la mayor sub-bandas de frecuencias de la transformada wavelet, están a menudo en la misma parte de la imagen como lo son en menor sub-bandas de frecuencias. Es decir, hay correlaciones estadísticas entre sub-bandas. Dirac crea modelos estadísticos de estas correlaciones y la codificación aritmética nos permite aprovechar estas correlaciones para lograr una mejor compresión [18]. La información del movimiento estimado en el codificador también utiliza modelos estadísticos y la codificación aritmética para comprimirlo en el menor número de bits. Estos datos comprimidos se ponen en el flujo de bits, para ser utilizado por el decodificador como parte del vídeo comprimido. 3.1.4. Estimación de Movimiento Esta tarea es específica para el codificador, y representa la parte más pesada del proceso de codificación. Dirac utiliza tres etapas de enfoque, utilizando muestras de luminancia solamente. En primer lugar, el movimiento de vectores se encuentra en cada bloque con una precisión de píxeles con estimación de movimiento jerárquico. En la segunda etapa los vectores se encuentran para cada bloque con una precisión sub-pixel, con soporte hasta 1.8 pixeles. En la tercera etapa, se toma la decisión de elegir que calculo se va

39

a utilizar y el movimiento global de vectores mediante la agrupación de bloques con el movimiento similar.

Figura 3.4. Descomposición de la Sub banda Wavelet relación entre padres e hijos [1].

Dirac utiliza tres tipos de imagen. Imágenes Intra (I), Imágenes nivel 1 (L1) e imágenes nivel 2 (L2). Las imágenes Intra se codifican sin hacer referencia a otras imágenes de secuencia, las imágenes nivel 1 y 2 son imágenes de interés, es decir, se codifican con referencia a otras imágenes previamente codificadas. Las imágenes L1 son predecidas a partir de imágenes I, solo de la cara (también conocidos como P-imágenes), mientras que las imágenes L2 son previstas a partir de ambas referencias anteriores y posteriores, (También conocidas como B-imágenes). Después de la transformada wavelet, se cuantifica el coeficiente de cada sub banda. Dirac utiliza una cuantificación de zona muerta, las indicaciones se muestran en la figura 3.5, que se diferencia de la cuantificación ortodoxa, haciendo el primer sistema de paso de la cuantificación dos veces más ancho. Esto permite que Dirac realice una cuantificación más grande en valores más pequeños. Se realiza la predicción del coeficiente una vez que la transformada wavelet se ha terminado, y se utiliza para quitar cualquier dependencia residual entre los coeficientes el tener en cuenta una codificación más eficaz de la entropía de datos. El coeficiente de predicción se produce con la región LL en uno por píxel. Un coeficiente es predicho por el valor medio de los píxeles circundantes del píxel actual. La diferencia se cuantifica y se agrega a una última etapa para la reconstrucción. Los

40

parámetros de codificación se adaptan a los pasos de cuantificación de acuerdo a los parámetros RDO necesarios para alcanzar una calidad métrica determinada [1].

Figura 3.5. Cuantizador Uniforme y Zona Muerta [1].

3.1.5. Compensación de Movimiento Dirac utiliza la compensación de movimiento, al igual que muchos otros sistemas, para lograr una buena compresión [11]. Para evitar el bloqueo de artefactos comunes en otros Codecs, estimando movimiento con superposición de bloques. Esta información debe ser enviada al codificador. Sin embargo debe haber un exacto numero de macro bloques (4x4 conjunto de bloques) horizontal y vertical, lo cual se logra mediante el relleno de los datos. El método OBMC se encuentra en una máscara lineal de rampa separable, que actúan como una función de peso en el bloque. Un pixel puede estar comprendido en un solo bloque o en un máximo de cuarto si se encuentra en la esquina de un bloque [19], como se muestra en la figura 3.6.

41

Figura 3.6. OBMC esquema que muestra los bloques superpuestos [19].

Dirac también apoya el uso del cálculo del movimiento global, el cual puede indicar el movimiento de la cámara, por ejemplo, el zoom, en unos pocos bytes y reducir así la tasa de bits. A bajas velocidades de bits que puede ser útil para predecir simplemente un marco usando sólo la información de movimiento sin transmitir ningún coeficiente wavelet en absoluto. Aún más extrema puede predecir simplemente un marco a ser el mismo que un cuadro anterior. Estas técnicas, que son apoyados por Dirac, puede ofrecer importantes reducciones de tasa de bits cuando sólo se requiere una modesta calidad, por ejemplo, para el streaming de Internet [1]. La compensación de movimiento en Dirac bloquea el uso, pero los bloques se traslapan. A través de que se traslapan, hay una transición suave entre las predicciones proporcionados por los vectores de movimiento diferentes. El resultado es que incluso a bajas tasas de bits, Dirac es generalmente libre de blockiness, así como dentro los marcos. 3.2. Bloques del Sistema Decodificador A continuación se explica cada uno de los bloques de la arquitectura del decodificador Dirac.

42

3.2.1 Decodificador de Entropía En esta primera etapa, la entrada de flujo de bits codificados se descifra mediante la técnica de decodificación de la entropía. El decodificador está incrustado en el codificador y por lo tanto, podemos obtener una imagen reconstruida después de la codificación y decodificación. El codificador es utilizado por el decodificador para la reconstrucción, el trabajo es la sincronización. Si no se mantiene entonces el error de cuantificación se acumula. 3.2.2 Cuantización Escalar Inversa La Cuantización escalar inversa es una de las últimas etapas, en la cual la transformada inversa se aplica a los datos para producir la salida descodificada, sin compresión de vídeo. 3.2.3 Compensación de Movimiento La compensación de movimiento es una de las últimas etapas del decodificador, una compensación es entre la calidad de vídeo y la velocidad de movimiento vector bits. Estas técnicas pueden proporcionar reducciones sustanciales y tasa de bits con sólo una calidad modesta necesaria.

43

CAPITULO 4 RESULTADOS Y CONCLUSIONES 4.1 Implementación Dirac es interpretado en el lenguaje C++ de programación que permite el desarrollo orientado a objetos en todos los sistemas operativos más comunes. El código C++ compila para producir las bibliotecas de funciones comunes, la valoración de movimiento, codificación y decodificación, que tiene una interfaz que les permite llamar desde C [2]. Para realizar este proyecto se utilizo el programa de Dirac en Microsoft Visual C + + 2008 Express Edition. 4.2 Resultados Este estudio consiste en mostrar la eficiencia de codificación del códec Dirac, en comparación con el códec H.264, establecidos en términos de calidad visual, se utilizo el formato 4:2:0 con secuencias QCIF y CIF, para mostrar la eficiencia del códec Dirac se realizaron pruebas de PSNR y bitrate, en algunas de las secuencias de video también se obtuvo el QF para el caso de Dirac y el QP para H.264. Para garantizar la exactitud de las pruebas, el códec Dirac se codifico con el mismo bitrate de los datos obtenidos de H.264. Se utilizaron 5 videos con diferentes grados y tipos de movimiento para las simulaciones. Las secuencias de video de “Foreman” CIF (352x288 pixeles) [29], “News” QCIF (176x144 pixeles) y CIF (352x288 pixeles) [29], “Akiyo” QCIF (176x144 pixeles) [29], “Bus” CIF (352x288 pixeles), “Carphone” QCIF (176x144 pixeles) [29] se han utilizado para el proceso de las pruebas de Dirac. En estas pruebas, las secuencias de video han sido codificadas y decodificadas en Dirac, variando el bitrate y en algunos casos el QF.

44

Se utilizo MATLAB para obtener los PSNR de las secuencias de video codificadas y decodificadas de Dirac. I.

En la primera prueba se utiliza la secuencia de video de “Foreman” CIF (352x288),

en la figura 4.1 se muestra el video original que contiene 298 frames de los cuales se analizaron 298 frames. En esta secuencia el QF es de 5 en todos los casos, se obtuvo el PSNR de Y, u (Cb) y v (Cr) después de codificar y decodificar las secuencias de video con los diferentes bitrates en Dirac como se muestra en la tabla 4.1 y en las figuras 4.2, 4.3 y 4.4.

Figura 4.1. Video original “foreman_cif.yuv” Secuencia CIF (352x288) [29].

45

Tabla 4.1 Análisis de la secuencia de video “foreman_cif.yuv” CIF. DIRAC

H.264

Bitrate(Kb/sec )

PSNR (Y)

PSNR (u(Cb))

PSNR (v(Cr))

Bitrate(Kb/sec)

PSNR (Y)

PSNR (u(Cb))

PSNR (v(Cr))

102

30.926

35.7498

37.0434

102

31.80

40.08

37.76

220

34.36

37.5811

39.557

220

34.85

41.92

39.56

356

37.209

39.7929

41.9484

356

36.18

42.76

40.12

492

38.776

41.2715

43.3071

492

37.44

43.45

40.36

756

40.746

42.9833

44.6673

756

38.56

43.98

41.08

985

42.062

43.91

45.6395

985

39.83

44.37

41.78

1185

42.927

44.5328

46.2004

1185

40.20

44.78

41.92

Figura 4.2. PSNR (Y) Dirac y H.264 “foreman_cif.yuv” CIF.

46

47

Figura 4.3. PSNR (Cb) Dirac y H.264 “foreman_cif.yuv” CIF.

Figura 4.4. PSNR (Cr) Dirac y H.264 “foreman_cif.yuv” CIF.

Para la secuencia de video “foreman” CIF, el códec Dirac muestra una ganancia baja con respecto al códec H.264 que tiene una ganancia mayor, a una velocidad binaria de 102 Kb/sec a 1185 Kb/sec, tanto para Y como para Cr y Cb. Esto se muestra

48

claramente en las figuras 4.2, 4.3 y 4.4. La secuencia “foreman” tiene movimiento en la cara de la persona y un movimiento de cámara, hay que tomar en cuenta que se analizo los 298 con los que cuenta esta secuencia de video. II.

En esta prueba se utiliza la secuencia de video de “News” QCIF (176x144) y CIF

(352x288), En la figura 4.5 se muestra el video original que contiene 298 frames de los cuales se analizaron 100, para ambas secuencias, en las cuales se utilizo en Dirac un QF variado de 0 a 10 y un QP de 0 a 50 para H.264 como se muestra en la figura 4.6 para la secuencia QCIF, y en la figura 4.8 para la secuencia CIF. Además se obtuvo el PSNR de Y después de codificar y decodificar las secuencias de video con los diferentes bitrates que se muestran en la figura 4.7 y tabla 4.2 para QCIF y en la figura 4.9 y la tabla 4.3 para CIF.

Figura 4.5. Video original “news_qcif.yuv” QCIF y “news_cif.yuv” CIF [29].

49

Figura 4.6. Dirac y H.264 “news_qcif.yuv” Secuencia QCIF [29, 34].

50

Tabla 4.2 Análisis de la secuencia de video “news.yuv” QCIF. DIRAC

H.264

QF

Bitrate (Kb/sec)

PSNR Y

QP

Bitrate (Kb/sec)

PSNR Y

10

226.920

46.087

0

226.920

66.767

8

91.395

40.448

10

91.395

51.357

5

13.176

26.130

25

13.176

39.473

3

1.972

24.895

40

1.972

28.089

0

0.681

22.968

50

0.681

21.780

Figura 4.7. PSNR (Y) Dirac y H.264 “news_qcif.yuv” QCIF.

Para la secuencia de video “news” QCIF, Dirac muestra una ganancia baja respecto a H.264 que tiene una ganancia mayor, a una velocidad binaria de 0.681 Kb/sec a 226.920 Kb/sec. La secuencia “news” no presenta movimiento de cámara. Sin embargo el fondo

51

contiene movimiento debido a escenas de ballet. Los objetos de enfrente (2 personas) presentan movimiento ligero de cara. Para esta secuencia se analizaron 100 frames de 298.

52

Figura 4.8. Dirac y H.264 “news_cif.yuv” Secuencia CIF [29, 34].

53

Tabla 4.3 Análisis de la secuencia de video “news.yuv” CIF. DIRAC

H.264

QF

Bitrate(Kb/sec)

PSNR Y

QP

Bitrate(Kb/sec)

PSNR Y

10

963.130

46.7070

0

963.130

45.8237

8

401.650

43.4084

10

401.650

42.6281

5

38.624

28.6117

25

38.624

28.6117

3

5.826

27.1693

40

5.826

29.6997

0

2.060

25.1507

50

2.060

30.3389

Figura 4.9. PSNR (Y) Dirac y H.264 “news_cif.yuv” CIF

Para la secuencia de video “news” CIF, Dirac muestra al inicio una ganancia baja, a una velocidad binaria de 2.060 Kb/sec a 38.624 Kb/sec respecto a H.264 que tiene una

54

ganancia mayor, para después mostrar una mayor ganancia de a una velocidad binaria de 38.624 Kb/sec a 963.130 Kb/sec, a diferencia de H.264 que muestra una menor ganancia. Para esta secuencia se analizaron 100 frames de 298. La secuencia “news” no presenta movimiento de cámara. Sin embargo el fondo contiene movimiento debido a escenas de ballet. Los objetos de enfrente (2 personas) presentan movimiento ligero de cara. III.

En esta prueba se utiliza la secuencia de video “akiyo” QCIF (176x144), en la

figura 4.10 se muestra el video original que contiene 298 frames de los cuales se analizaron 60 frames. En la secuencia “akiyo” el QF es de 0 para todos los casos en Dirac y el QP varia de 2 a 51 para H.264, se obtuvo el PSNR de Y después de codificar y decodificar las secuencias de video a diferentes bitrates en Dirac como se muestra en la tabla 4.4 y figura 4.11.

Figura 4.10. Video original “akiyo_qcif.yuv” Secuencia: QCIF [29].

55

Tabla 4.4 Análisis “akiyo_qcif.yuv” QCIF. DIRAC

H.264

Q F

Bitrate (Kb/sec)

PSNR Y

Q P

Bitrate (Kb/sec)

PSNR Y

0

4710.570

-

2

4710.570

62.518

0

3728.600

-

6

3728.600

55.275

0

1292.510

-

10

1292.510

51.832

0

204.140

46.4502

28

204.140

38.431

0

66.050

41.9091

40

66.050

29.836

0

12.760

27.7398

51

12.760

12.790

Figura 4.11. PSNR (Y) Dirac y H.264 “akiyo_qcif.yuv” QCIF.

Para la secuencia de video “akiyo” QCIF, Dirac muestra al inicio una ganancia alta, a una velocidad binaria de 12.76 Kb/sec a 204.14 Kb/sec respecto a H.264 que tiene una ganancia menor, para después no mostrar una ganancia a una velocidad binaria de 204.14

56

Kb/sec a 4710.57 Kb/sec, a diferencia de H.264 que muestra una ganancia mayor. Para esta secuencia se analizaron solo 60 frames de 298. La secuencia “akiyo” no presenta movimiento de cámara. Solo presenta un movimiento ligero de cara. IV.

En la siguiente prueba se utiliza la secuencia de video “bus” CIF (352x288), en la

figura 4.12 se muestra el video original que contiene 148 frames de los cuales se analizaron 60 frames. En esta secuencia el QF es de 0 para todos los casos en Dirac y el QP varia de 2 a 51 para H.264, se obtuvo el PSNR de Y después de codificar y decodificar las secuencias de video a diferentes bitrates en Dirac como se muestra en la tabla 4.5 y figura 4.13.

Figura 4.12. Video original “bus_cif.yuv” Secuencia: CIF [29].

Tabla 4.5 Análisis de la secuencia de video “bus_cif.yuv” CIF. DIRAC

57

Q F

Bitrate(Kb/sec)

0 0

H.264 PSNR Y

Q P

Bitrate(Kb/sec)

PSNR Y

16857.590

-

2

16857.590

64.735

12825.100

-

6

12825.100

55.792

0

3626.320

45.8305

20

3626.320

42.57

0

193.940

28.4754

40

193.940

26.759

0

48.480

21.2804

50

48.480

20.722

Figura 4.13. PSNR (Y) Dirac y H.264 “bus_cif.yuv” CIF

Para la secuencia de video “bus” CIF, Dirac muestra una ganancia mayor, respecto a H.264 que tiene menor ganancia a una velocidad binaria de 48.480 Kb/sec a 3626.320 Kb/sec, para después no mostrar ganancia a una velocidad binaria de 3626.320 Kb/sec a 16857.590 Kb/sec, a diferencia de H.264 que muestra una ganancia mayor. Para esta secuencia se analizaron solo 60 frames de 148. La secuencia “bus” presenta movimiento de cámara. En esta prueba se utiliza la secuencia de video “carphone” QCIF (176x144), en la figura 4.14 se muestra el video original que contiene 380 frames de los cuales se analizaron 30. En esta secuencia el QF es de 0 para todos los casos en Dirac, se obtuvo el PSNR de Y

58

después de codificar y decodificar las secuencias de video a diferentes bitrates en Dirac como se muestra en la tabla 4.6 y figura 4.15.

59

Figura 4.14. Video original “carphone_qcif.yuv” Secuencia: QCIF [29].

Tabla 4.6 Análisis de la secuencia de video “carphone_qcif.yuv” QCIF. DIRAC

60

H.264

Bitrate(Kb/sec)

PSNR Y

Bitrate(Kb/sec)

PSNR Y

128

37.8829

128

36.70

256

41.7849

256

40.40

384

43.3671

384

42.73

512

44.6883

512

44.45

768

46.6431

768

46.76

1024

48.2723

1024

48.43

Figura 4.15. PSNR (Y) Dirac y H.264 “carphone_qcif.yuv” QCIF

Para la secuencia de video “carphone” QCIF, Dirac muestra una ganancia mayor, par respecto a H.264 que tiene menor ganancia a una velocidad binaria de 128 Kb/sec a 768 Kb/sec, para después mostrar una ganancia menor a una velocidad binaria de 768 Kb/sec a 1024 Kb/sec, a diferencia de H.264 que muestra una ganancia mayor. Para esta secuencia se analizaron solo 30 frames de 148. La secuencia “carphone” presenta movimiento de cámara. Además de ligeros movimientos de cara.

4.3 Conclusiones Dirac es un códec muy prometedor, Según la BCC de Londres, Dirac fue desarrollado con el fin de optimizar su rendimiento sea la relación de compresión y la calidad de percepción a la vanguardia. Su carácter simplista proporciona robustez que es una característica muy beneficiosa, por lo tanto en gran medida Dirac ha logrado su objetivo [30]. Dirac y H.264 tienen resultados similares.

61

Dirac es un sistema de comprensión de video de uso general que logra un alto rendimiento mediante el uso de técnicas modernas como la transformada wavelet y la codificación aritmética la cual permite una codificación eficiente. Los resultados de H.264 se destacan en términos de rendimiento respecto a la relación de comprensión, calidad y aplicaciones a través de Dirac. Las graficas y tablas muestran que el PSNR de las secuencias de video mejora a medida que aumenta la velocidad de bits. La compresión de video es fundamental para la trasmisión de video y almacenamiento, los resultados muestran que la simplicidad del diseño de Dirac es apropiada para aplicaciones que requieren una latencia baja, como las videoconferencias. Por otra parte, en los casos en que el video es totalmente codificado H.264 sería una mejor opción. Hay que tomar en cuenta que Dirac es un códec relativamente nuevo y tiene un potencial significativo a nuevas mejoras. Una de las ventajas principales de Dirac es que es un códec libre de regalías, además el uso de video está creciendo día a día rápidamente y la reducción de costos probablemente se convertirá en una cuestión clave ya que apoya el uso de la tecnología digital para los consumidores. Para concluir en las pruebas realizadas se demostró que el Codec Dirac, es un mejor codificador para 4 de 6 secuencias de video tanto QCIF como CIF, esto a diferentes velocidades de bitrates. Para un mejor análisis de cumplimiento de normas de codificación se puedes hacer más pruebas a velocidades de bits diferentes con otras secuencias de video como SD y HD.

62

APÉNDICE A LUMINANCIA, CROMINANCIA Y FORMATO 4:2:0 La luminancia es una componente de la señal de video, es la medida fotométrica del brillo de una imagen de video. La luminancia representa la información de la de la parte negra y blanca que tiene la imagen. Esto quiere decir que la luminancia maneja solo dos colores blanco y negro. En los sistemas digitales esta señal se codifica por separado a la señal de color, y se evita en todo momento que interfiera con las señales de color, además esta señal de luminancia suele indicarse con la letra Y. En los sistemas de procesamiento de imágenes digitales, la luminancia es creada a partir de la señal RGB original, esto se hace multiplicando las 3 matrices de píxeles (una matriz de rojo, una de verde y una de azul), que componen la imagen en determinadas proporciones, y se generan escalas de grises acordes con el brillo que el ojo humano va a recibir posteriormente de la imagen. Es un término comúnmente utilizado en el procesamiento digital de imágenes para caracterizar a cada píxel. En el sistema de color RGB, la luminancia de un pixel se calcula con la expresión matemática [25]. Y = 0,299R + 0,587G + 0,114B

(A.1)

La crominancia es el componente que contiene la información sobre el color de una señal de vídeo. Se utiliza el vectorscopio para ver y medir la señal de la crominancia. El color o croma es una señal de video, el cual está definido por los parámetros de tono y saturación, el tinte (HUE) nos indica que color es y la saturación la cantidad de color. Dependiendo del sistema utilizado para la codificación de una imagen estas dos magnitudes toman diferentes formas [26]. La crominancia requiere un ancho de banda menor que la luminancia, y suele indicarse como Cb y Cr. El formato 4:2:0 es una simplificación del 4:2:2 que se utiliza en un gran número de aplicaciones para el registro de video en soporte magnético o en disco duro. Es el formato

63

de entrada utilizado en la versión MPEG-2 que se utiliza en la transmisión de televisión digital. Se obtiene reduciendo a la mitad la frecuencia de muestreo de los componentes de croma en el sentido vertical. Con ello, se iguala la densidad de muestra de croma de las dos direcciones. Las muestras de croma se obtienen a partir de las muestras del formato 4:2:2, promediando dos filas consecutivas. En definitiva, en el formato 4:2:0 el tamaño de las matrices de croma se reducen a 360x240 para el estándar 525/60 y a 360x288 para el estándar 625/50, mientras que las matrices de luminancia se mantienen con el mismo tamaño que los formatos 4:4:4 o 4:2:2. A continuación se muestra la posición de las muestras de cromas respecto a las de luminancia.

(A.2)

64

REFERENCIAS

[1]

(BCC) “Dirac / La familia de compresión utilizando la tecnología abierta” http://www.bbc.co.uk/rd/projects/dirac/, a 22 de Febrero 2011.

[2] T. Borer, and T. Davies, “Dirac video compression using open technology”, BBC EBU Technical Review, July 2005. [3] “Video / Dirac (Códec)” http://es.wikipedia.org/wiki/Dirac_(c%C3%B3dec), a 23 de Febrero 2011. [4] M. Tun, K. K. Loo and J. Cosmas “ Error- Resilient Performance of Dirac Video Codec Over Packet-Erasure Channel ”IEEE SP. Magazine, vol. 53, No. 3, Sept. 2007. [5] Juan José Pérez Solano, Supresión de Interferencias Mediante Transformadas Wavelet en Sistemas de Comunicación con Espectro Ensanchado por Salto de Frecuencia. Grado de Doctor, Universidad de Valencia, Valencia, España, 2002. [6] “Video / Dirac (Códec)” http://es.wikipedia.org/wiki/Wavelet, a 24 de Febrero 2011. [7] Aruna Ravi, Performance Analysis and Comparison of Dirac Video Codec with H.264 / MPEG-4 part 10 AVC. Master, University of Texas at Arlington, Arlington, Texas, 2009. [8] T.Wiegand, G. J. Sullivan, G. Bjøntegaard and A. Luthra, "Overview of the H.264/AVC Video Coding Standard", IEEE Transactions On Circuits and Systems for Video Technology, Vol. 13, No. 7, July 2003, pp. 560-576. [9]

Pedro Ángel Cuenca Castillo, Codificación y Transmisión Robusta de Señales de Vídeo MPEG-2 de Caudal Variable sobre Redes de Transmisión Asíncrona ATM. Ediciones de la Universidad de Castilla-La Mancha, 1999.

65

[10] María Carmen España Boquera, Servicios Avanzados de Telecomunicación. Ediciones Díaz de Santos, S.A, 2003. [11] Nexus Radical, “Common Intermediate Format”, Tecnología al Instante, Mayo 2008. [12] H. Ochoa, pláticas sostenidas el día 03 de Marzo 2010, Edificio Y4 IIT, UACJ. [13] “Dirac / Video comprensión” http://diracvideo.org/, a 24 de Febrero 2011. [14] S.K.Kwon, A.Tamhankar and K.R.Rao, “Overview of H.264 / MPEG-4 Part 10” J. Visual Communication and Image Representation, Vol 17, pp.186-216, April 2006. [15] G. A. Davidson, et al “ATSC video and audio coding”, Proceedings of IEEE, vol. 94, pp. 60-76, Jan. 2006. [16] Constantino Pérez Vega, José María Zamanillo Sainz de la Maza, Fundamentos de Televisión Analógica y Digital. Servicio de Publicaciones de la Universidad de Cantabria, 2003. [17] (Mohammed Ghanbari) “Standard Codecs / Image Compression to Advanced Video Coding” http://www.iee.org/Publish/Books/index.cfm, a 4 de Marzo del 2011. [18] (G.G. Langdon and J. Rissanen) “A double / adaptive file compression algorithm IEEE Trans” http://www.ieee.org/portal/site, a 4 de Marzo del 2011. [19] (BBC R&D ) “The Dirac Algorithm, available online at the wiki of the project” http://diracvideo.org/wiki/index.php/Dirac_Algorithm. [20] “MPEG-4 / AVC” http://es.wikipedia.org/wiki/H.264/MPEG-4_AVC, a 28 de Marzo 2011. [21] D. Kumar, P. Shastry and A. Basu, “Overview of the H.264 / AVC”, 8 th Texas Instruments Developer Conference India, 30 Noviembre – 1 Diciembre del 2005. [22] T. Wiegand and G. J. Sullivan, “The H.264 video coding standard”, IEEE Signal Processing Magazine, vol. 24, pp. 148-153, March 2007. [23] D. Marpe, T. Wiegand and G. J. Sullivan, “The H.264/MPEG-4 AVC standard and its applications”, IEEE Communications Magazine, vol. 44, pp. 134-143, Aug. 2006. [24] I. Richardson, “The H.264 AVC standard”, to be published in late 2009. [25] “Luminancia” http://es.wikipedia.org/wiki/Luminancia, a 20 de Abril 2011. [26] “Crominancia” http://es.wikipedia.org/wiki/Crominancia, a 20 de Abril 2011.

[27] “Códec Dirac” http://www.slashcam.com/ES/info/C-dec-Dirac-recibe-apoyo-GPU319068.html, a Febrero 2010. [28] L. Fan, “Mobile Multimedia Broadcasting Standards”, ISBN: 978-0-387-78263-8, Springer US, 2009. [29] “Secuencias de Video YUV” http://trace.eas.asu.edu/yuv/index.html, a 1 de Marzo 2011. [30] K. Onthriar, K. K. Loo and Z. Xue, “Performance comparison of emerging Dirac video

codec

with

H.264/AVC”,

IEEE

International

Conference

on

Digital

Telecommunications, 2006, ICDT apos; Vol. 06, Page: 22, Issue: 29-31, Aug. 2006. [31] “Dirac códec” http://en.wikipedia.org/wiki/Dirac_(codec) a 20 de abril 2011. [32] Peter Meerwald “The Dirac Video Codec” Computer Science, University of Salzburg, 18 de Abril 2007. [33] “Performance

Analysis

and

Comparison

of

H.264”

www.ee.uta.edu/Dip/.../Performance%20Analysis%20and%20Comparison.ppt a 16 de Mayo 2011. [34] “Study

and

Performance

Comparison

of

H.264”

www.ee.uta.edu/Dip/Courses/EE5359/Touseef.ppt a 16 de Mayo 2011. [35] “MPEG-4

AVC/H.264

Video

Сodecs

Comparison”

http://compression.ru/video/codec_comparison/pdf/MSU_H264_Comparison_eng.pdf a 16 de Mayo 2011. [36]

“Especificaciones

de

latest.pdf a 3 de marzo 2011.

Dirac”

diracvideo.org/download/specification/dirac-spec-

68

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.