S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... ·...

113
S.E.P S.E.S. D.G.E.S.T. CENTRO NACIONAL DE INVESTIGACIÓN Y DESARROLLO TECNOLÓGICO cenidet Análisis e implementación de algoritmos para la compresión/descompresión de imágenes T E S I S QUE PARA OBTENER EL GRADO DE: MAESTRO EN CIENCIAS EN CIENCIAS COMPUTACIONALES P R E S E N T A: MARCO ANTONIO MARTÍNEZ PÉREZ DIRECTOR DE TESIS: Dr. Raúl Pinto Elías CODIRECTOR DE TESIS: MC. Osslan Osiris Vergara Villegas Cuernavaca, Morelos, México. Noviembre de 2006

Transcript of S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... ·...

Page 1: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

S.E.P S.E.S. D.G.E.S.T.

CENTRO NACIONAL DE INVESTIGACIÓN Y DESARROLLO TECNOLÓGICO

cenidet

Análisis e implementación de algoritmos para la

compresión/descompresión de imágenes

T E S I S

QUE PARA OBTENER EL GRADO DE:

MAESTRO EN CIENCIAS EN CIENCIAS

COMPUTACIONALES

P R E S E N T A:

MARCO ANTONIO MARTÍNEZ PÉREZ

DIRECTOR DE TESIS: Dr. Raúl Pinto Elías

CODIRECTOR DE TESIS: MC. Osslan Osiris Vergara Villegas

Cuernavaca, Morelos, México. Noviembre de 2006

Page 2: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

DedicatoriasDedicatoriasDedicatoriasDedicatorias

A mi PadresA mi PadresA mi PadresA mi Padres

Por enseñarme el valor de la responsabilidad y la humildad, por darme todo su apoyo cuando más los he necesitado, por ser el mejor ejemplo de fortaleza. Dios los bendiga y

los cuide por siempre.

A mis hermanosA mis hermanosA mis hermanosA mis hermanos

Por ser parte de mi formación, por ayudarme a levantar en cada tropiezo, por cada consejo recibido, por cada regaño y también porque sin su apoyo incondicional no

habría logrado alcanzar mi sueño de obtener el grado de maestro.

A mi EryA mi EryA mi EryA mi Ery

Por ser parte de mi vida, por permitirme ser parte de esta hermosa familia, por tus consejos, por tu apoyo incondicional, por ser una mujer maravillosa. Te amo.

A mi AndréA mi AndréA mi AndréA mi André

Por ser un niño hermoso y llenar nuestro hogar de sonrisas, felicidad y mucho amor. Espero ser el padre y amigo que necesitas.

A toda mi familiaA toda mi familiaA toda mi familiaA toda mi familia

Porque todo lo que hago es por ustedes, quiero ser lo mejor de lo mejor.

Page 3: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

AgradecimientosAgradecimientosAgradecimientosAgradecimientos

Al COSNET, por apoyarme económicamente en el desarrollo de esta tesis de maestría.

Al Centro Nacional de Investigación y Desarrollo Tecnológico CENIDET, así como a todo el personal que en el labora, por aceptarme como alumno y ser parte de su equipo.

A mi director de tesis, Dr. Raúl Pinto Elías y mi codirector de tesis, M.C. Osslan Osiris Vergara Villegas, por no dejarme nunca sólo, por involucrarme en este proyecto como

tesista, por sus atinados consejos que llevaron a buen termino el trabajo de tesis.

Al comité revisor Dr. Gerardo Reyes Salgado, Dr. Marcos A. Capistrán Ocampo y especialmente a una gran amiga a la MC. Andrea Magadán Salazar, por todo el

tiempo brindado a la revisión de este trabajo de tesis.

A todos mis profesores, que me brindaron sus mejores conocimientos.

A toda la gente involucrada en este proyecto que confío en mí, le doy las gracias de todo corazón.

PePePePero no podían faltar ro no podían faltar ro no podían faltar ro no podían faltar mis amigos y compañeros del CENIDET:mis amigos y compañeros del CENIDET:mis amigos y compañeros del CENIDET:mis amigos y compañeros del CENIDET:

A la banda Mostacha (Tito y Ariel).

A los cuates del área de visión artificial: Gato, Sammy, Neko y al Fantas.

A los cuates de Ingeniería de Software: Chango, Mujer Maravilla, Mireya, Chikatrón, Chemando ++.

A los cuates de Sistemas Distribuidos: Sonia, Rosy, Morgan, Barry, Casper, Gabo.

A todos mis compañeros de generación.

A mis compañeros del fucho.

Y a todos mis compañeros del CENIDET.

Page 4: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

i

Tabla de Contenido

Descripción Pág. Tabla de Contenido…..……………………………………………………....................... i Listado de figuras….……………………………………………………………….….…. iii Listado de tablas……………...…………………………………………………...….….. v

Capítulo I. Introducción…………………………………………………....................... 1

1.1 Introducción……………………………………………………………….….…. 2 1.2 Organización de la tesis…………………………………………………...….….. 3 1.3 Antecedentes………………………………………………………............….….. 3 1.4 Justificación……………………………………………………………….….….. 4 1.5 Descripción del problema…………………………………………............….….. 5 1.6 Marco conceptual…………………………………….……………………….…. 6

1.6.1 Visión artificial………………………...………………………….….…. 6 1.6.2 Compresión sin pérdida……………………………………...……….…. 8 1.6.3 Compresión con pérdida…………………………………………..….…. 9 1.6.4 Teoría fractal………………………………………………............….…. 10 1.6.5 Transformada wavelet……………………………………………..….… 11

1.7 Propuesta de solución……………………………………………………...….…. 13 1.7.1 Objetivo de la tesis………………………………………………...….… 13 1.7.2 Beneficios………………………………………………………….….… 13 1.7.3 Alcances…………………………………………………………...….… 13

1.7.3.1 Alta prioridad……………………………………………...….… 13 1.7.3.2 Baja prioridad……………………………………………...…… 14

1.7.4 Limitaciones……………………………………………………….….… 14 1.7.5 Áreas involucradas………………………………………………...….… 14 1.7.6 Aplicaciones……………………………………………………….….… 15

Capítulo II. Marco de referencia………………………………………………………. 16 2.1 Introducción……………………………………………………………….….…. 17 2.2 Estado del arte……………………………………………………………..….…. 17 2.3 Resumen artículos relacionados…………………………………………...….…. 26 2.4 Análisis de contenido……………………………………………………...….…. 26

2.4.1 Problemática……………………………………………………….….… 26 2.4.2 Tipo de imágenes a utilizar………………………………………..….…. 27

2.5 Fundamentos………………………………………………………............….…. 27 2.5.1 Representación de una imagen…………………………………….….… 28 2.5.2 Muestreo y cuantificación………………………………………....….… 29

2.5.2.1 Muestreo uniforme y cuantificación………………………….… 29 2.5.2.2 Muestreo no uniforme y cuantificación…………………...….… 30

2.5.3 Almacenamiento de una imagen digital………………….………..….… 30 2.5.4 Resolución de una imagen digital………………….……………...….…. 31 2.5.5 Definición y conceptos…………………………………………….….… 32 2.5.6 Formato BMP……………………………………………………...….… 32 2.5.7 Creación de la paleta………………………………………............….…. 35 2.5.8 Principio de ortogonalidad y exactitud, wavelet packet...…............ …… 36 2.5.9 Rango y dominio…………………………………………………..….… 36 2.5.10 Particionamiento………………………………………………..….…. 38

2.6 Técnicas de compresión…………………………………………………...….…. 39 2.6.1 Codificación Huffman……………………………………………..….… 40 2.6.2 Codificación por longitud de cadenas……………………………..….… 43 2.6.3 Codificación LZW…………………………………………………….… 44 2.6.4 Compresión fractal………………………………………………...….… 46

Page 5: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

ii

2.6.5 Transformada coseno discreta ...………………………………………... 47 2.6.6 Transformada wavelet…………….……………………………….….… 49

2.7 Conclusiones………………………………………………………………….…. 50

Capítulo III. Arquitectura de algoritmos de compresión……………..............….….. 52 3.1 Introducción……………………………………………………………….….….. 53 3.2 Base de imágenes utilizadas…….……………………………………………….. 53 3.3 Compresión fractal de imágenes ……………………………………............. 54

3.3.1 Sistema de funciones iteradas…………………………………………… 54 3.3.2 Sistema de particionamiento de funciones iteradas……………………... 56 3.3.3 Algoritmo de compresión fractal………………………………………... 58 3.3.4 Algoritmo de descompresión fractal………………………...................... 60

3.4 Descomposición de imágenes con wavelets………………………....................... 61 3.4.1 Transformada Haar……………………………………………………… 62 3.4.2 Transformada Daubechies 4…………………………………………….. 65

3.5 Codificación Huffman…………………………………………………………… 69 3.6 Codificación por longitud de cadenas…………………………………………… 71 3.7 Conclusiones………………………………………………………...................... 73

Capítulo IV. Arquitectura del sistema de compresión……………………………….. 74 4.1 Introducción……………………………………………………………………… 75 4.2 Arquitectura……………………………………………………………………… 75

4.2.1 Niveles de descomposición wavelet…..………………………………… 76 4.2.2 Tamaño de las subimágenes……………………...……………………... 77 4.2.3 Eliminación del detalle………...………………………………………... 78 4.2.4 Reconstrucción……………………………………………...................... 79

4.2.5 Almacenamiento…………………..………………………...................... 80 4.3 Comparación entre imágenes….………………………………………………… 80 4.4 Conclusiones...…………………………………………………………………... 81

Capítulo V. Pruebas y resultados……………………………………………………… 82 5.1 Introducción……………………………………………………………………… 83 5.2 Recursos técnicos empleados……………………………………………............. 83 5.3 Descripción de los casos de prueba……………………………………………… 84 5.4 Experimentación…………………………………………………………………. 85 5.5 Análisis de resultados……………………………………………………............. 97

Capítulo VI. Conclusiones……………………………………………………………… 98 6.1 Introducción……………………………………………………………………… 99 6.2 Metas logradas…………………………………………………………………… 99 6.3 Aportaciones………………………………………………………....................... 100 6.4 Trabajos futuros………………………………………………………….............. 101

Referencias……………………………………………………………………................ 103

Page 6: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

iii

Listado de Figuras

Descripción Pág. Figura 1.1. Etapas fundamentales de un esquema de visión artificial ...................................................7 Figura 1.2. Pasos para la compresión con pérdidas mediante transformación ................................9 Figura 1.3. Pasos para la compresión/descompresión del Standard JPEG ................................ 10 Figura 1.4. El brócoli completo sigue un patrón claramente definido ..................................................11 Figura 1.5. Aplicación de la transformada wavelet ...............................................................................12 Figura 2.1. Efectos de los bloques sin traslapar y después del procesamiento de

reconstrucción ..................................................................................................................... 18

Figura 2.2. Mapeo de las regiones poligonales en el dominio wavelet .................................................21 Figura 2.3. Aproximación de un rango a través de un bloque de dominio transformado......................22 Figura 2.4. Configuración múltiple pipeline..........................................................................................23 Figura 2.5. Imagen original, imagen reconstruida, error promedio de las imágenes.............................25 Figura 2.6. Dos siluetas fijan una transformación afín W: R2 → R2 .....................................................25 Figura 2.7. Representación de los ejes de una imagen. ................................................................28 Figura 2.8. Imágenes de un embrión de pollo (formato de 8 bits) con paletas

personalizadas ..................................................................................................................... 35

Figura 2.9. Quadtree partitioning................................................................................................39 Figura 2.10. HV – partitioning ................................................................................................................39 Figura 2.11. Triangular partitioning ................................................................................................39 Figura 2.12. Creación del árbol de Huffman ...........................................................................................43 Figura 2.13. El helecho............................................................................................................................46 Figura 2.14. Imagen a particionar en bloques de 8x8..............................................................................48 Figura 2.15. Ejemplo de la aplicación de la DCT a bloques ................................................................48 Figura 2.16. Descomposición a través de wavelets .................................................................................49 Figura 2.17. Comparaciones entre transformadas: Haar y Daubechies ...................................................51 Figura 3.1. Imágenes ejemplo. Formatos de 8 y 24 bits, cuadradas de 256 x 256 ................................53 Figura 3.2. Proceso iterativo sobre una imagen. Esta imagen está siendo modificada por la

misma función dentro de un mismo espacio de trabajo ...................................................... 55

Figura 3.3. Iteraciones contractivas como imagen arbitraria “un círculo” ................................55 Figura 3.4. Iteraciones sobre el atractor. Aplicación de tres funciones contractivas.............................55 Figura 3.5. Elección de un bloque de rango. Dominio e isometría........................................................57 Figura 3.6. Bloque rango, dominio del bloque transformado, error ......................................................58 Figura 3.7. Función de transformación. Bloque dominio, Isometría 1ª diagonal, luminancia

modificada........................................................................................................................... 59

Figura 3.8. Bloque original y su escalado..............................................................................................59 Figura 3.9. Proceso de descompresión de una imagen fractal ...............................................................60 Figura 3.10. Descomposición de la señal en sus bandas de frecuencia ...................................................62 Figura 3.11. Transformada wavelet con la función Haar ................................................................64 Figura 3.12. Transformada Haar a una imagen a niveles de gris.............................................................65 Figura 3.13. Representación matricial de la D4.......................................................................................67 Figura 3.14. Descomposición de la imagen a diferentes niveles y su posterior

reconstrucción ..................................................................................................................... 68

Figura 3.15. Descomposición de la imagen de Bárbara en subimágenes ................................................69 Figura 3.16. Proceso de compresión por codificación Huffman .............................................................70 Figura 3.17. Ejemplo de compresión con codificación Huffman ............................................................70 Figura 3.18. Proceso de codificación por RLE........................................................................................71 Figura 3.19. Operación de la cabecera de lectura de archivo ................................................................72 Figura 3.20. Proceso de compresión por codificación Run Length.........................................................72 Figura 3.21. Ejemplo de compresión con codificación RLE................................................................73

Page 7: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

iv

Figura 4.1. Proceso de compresión aplicando wavelets ................................................................76 Figura 4.2. Proceso de descomposición del primer nivel ................................................................77 Figura 4.3. Proceso de descomposición del primer nivel de una imagen fraccionada en

bloques de 128 x 128 píxeles .............................................................................................. 77

Figura 4.4. Diagonalización del detalle ................................................................................................78 Figura 4.5. Eliminación total del detalle................................................................................................78 Figura 4.6. Umbralización del detalle................................................................................................79 Figura 4.7. Histograma del detalle. Mejor umbral pico más alto ..........................................................79 Figura 4.8. Reconstrucción de la imagen descompuesta con wavelets..................................................79 Figura 4.9. Datos de la imagen original y el archivo codificado ...........................................................80 Figura 4.10. Resta de imágenes ...............................................................................................................81 Figura 4.11. Empate entre imágenes................................................................................................81 Figura 5.1. Imagen original con su imagen reconstruida, resta de imágenes y empate

respectivamente................................................................................................................... 86

Figura 5.2 a) Imagen original ...................................................................................................................88 Figura 5.2 b) Imagen reconstruida ................................................................................................ 88 Figura 5.2 c) Resta de imágenes ...............................................................................................................88 Figura 5.2 d) Empate de imágenes................................................................................................ 88 Figura 5.3. Bárbara. Imagen a comprimir con fractales ................................................................89 Figura 5.4. Bloques de 32 píxeles................................................................................................90 Figura 5.5. Bloques de 16 píxeles................................................................................................90 Figura 5.6. Bloques de 8 píxeles................................................................................................ 90 Figura 5.7. Bloques de 4 píxeles................................................................................................ 90 Figura 5.8. Bloques de 2 píxeles................................................................................................ 90 Figura 5.9 a) Imagen original ...................................................................................................................92 Figura 5.9 b) Imagen reconstruida ................................................................................................ 92 Figura 5.9 c) Resta de imágenes ...............................................................................................................92 Figura 5.9 d) Empate de imágenes................................................................................................ 92 Figura 5.10. Imagen original y la información extraída del software de National Instruments ..............93 Figura 5.11. Imagen reconstruida y la información extraída del software de National

Intruments ........................................................................................................................... 93

Figura 5.12. Imagen original y la información extraída del software de National Instruments ..............94 Figura 5.13. Imagen reconstruida y la información extraída del software de National

Instruments .......................................................................................................................... 94

Figura 5.14. Imagen original y la información extraída del software de National Instruments 95 Figura 5.15. Imagen reconstruida y la información extraída del software de National

Instruments .......................................................................................................................... 95

Figura 5.16. Imagen original y la información extraída del software de National Instruments ..............96 Figura 5.17. Imagen reconstruida y la información extraída del software de National

Instruments .......................................................................................................................... 96

Figura 5.18. Izquierda el histograma de la imagen reconstruida, a la derecha el de su imagen original ................................................................................................................................

96

Figura 6.1. Histograma local de una de las bandas de descomposición wavelet................................103 Figura 6.2. Histograma de el filtro prewitt aplicado a la imagen de la izquierda................................104 Figura 6.3. Imagen original con su imagen transformada a YUV, reconstrucción, resta de

imágenes y empate respectivamente ................................................................................... 104

Page 8: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

v

Listado de Tablas

Descripción Pág. Tabla 2.1. Relación de las cantidades en bytes de las imágenes en cuanto a su

tamaño ................................................................................................................................ 30

Tabla 2.2. Información del byte y su posición correspondiente a la paleta................................34 Tabla 2.3. Cabecera de archivo y cabecera de información ................................................................34 Tabla 2.4. Símbolos de la imagen y su frecuencia en toda la imagen................................40 Tabla 2.5. Codificación con Huffman ................................................................................................41 Tabla 2.6. Resultados de la codificación Huffman................................................................41 Tabla 3.1. Símbolos de la imagen y su frecuencia en toda la imagen................................69 Tabla 3.2. Compresión RLE de una imagen con formato BMP...........................................................71 Tabla 5.1. Lista de imágenes empleadas en la experimentación..........................................................85 Tabla 5.2. Pruebas realizadas con compresiones sin pérdida de información.

Codificación Huffman................................................................................................ 85

Tabla 5.3. Descripción de las imágenes empleadas para compresión con wavelets ...........................87 Tabla 5.4. Resultado de las pruebas realizadas con compresiones con pérdida de

información. Transformada Haar ........................................................................................ 87

Tabla 5.5. Pruebas realizadas con compresiones con pérdida de información. Fractales ..............................................................................................................................

90

Tabla 5.6. Pruebas realizadas con compresiones sin pérdida de información. Codificación RLE................................................................................................

91

Page 9: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Centro Nacional de Investigación y Desarrollo Tecnológico

Capítulo I

Introducción

Page 10: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

2

1.1 Introducción

Cuando se obtiene una imagen digitalizada a través de algún medio como un

scanner, satélite, cámara fotográfica u otro, se produce una gran cantidad de

información. De hecho, esta información puede ser tan grande que su almacenamiento,

procesamiento y transmisión llegan a ser desmesurados para ciertas aplicaciones

prácticas.

Con los años, la necesidad de comprimir imágenes ha crecido constantemente,

debida, entre otros factores, a la falta de capacidad en los dispositivos de

almacenamiento para guardar, con la mínima cantidad de información que genera, una

imagen. En la actualidad, a la compresión de datos se le conoce como una “tecnología

de validación”. Su empleo ha sido crucial en el avance de la informática multimedia (es

decir, el empleo de las computadoras para la impresión, publicación, video producción y

difusión) [1].

La compresión de imágenes afronta el problema de la reducción de la cantidad

de datos que representan una imagen digitalizada. La base del proceso de reducción

consiste en la eliminación de datos que sean redundantes.

Desde el punto de vista matemático, equivale a transformar una distribución

bidimensional de píxeles en un conjunto de datos estadísticos sin correlacionar. La

transformación se aplica antes del almacenamiento o transmisión de la imagen.

Posteriormente, la imagen comprimida se descomprime para reconstruir la imagen

original o una aproximación de la misma [2].

Recientemente, la teoría de fractales ha sido estudiada para manejar y modelar la

redundancia de información en una imagen, por otro lado, las wavelets se han empleado

como una transformada para el análisis multirresolución, donde la forma en que se

disponen los datos una vez aplicados los filtros wavelet permiten mejorar los métodos

de compresión sin pérdida. La aplicación de estas técnicas es de gran importancia en el

ámbito del reconocimiento de patrones visuales, tal es el caso de la compresión de

imágenes a color, sean éstas estáticas o dinámicas, para la reducción de volúmenes de

datos.

En la compresión digital de imágenes, se pueden identificar y aprovechar tres

tipos básicos de redundancia: la redundancia de codificación, la redundancia entre

Page 11: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

3

píxeles y la redundancia psicovisual. La compresión de datos se consigue cuando una o

varias de estas redundancias se reducen o se eliminan.

Además, la compresión de datos cobra especial importancia en Internet, ya que

cuanto más pequeño sea el archivo a enviar, menos tiempo tardará en llegar y menos

dinero costará el proceso.

1.2 Organización de la tesis Esta tesis se encuentra estructurada en 6 capítulos, a continuación se describe el

contenido de cada uno de ellos:

Capítulo I. Introducción. Comprende aquellos aspectos de introducción y

definición del tema de tesis, así como también la propuesta de solución con sus

respectivos alcances y limitaciones.

Capítulo II. Marco de referencia. Se abarcan los conceptos de importancia, así

como los trabajos relacionados con el tema de tesis.

Capítulo III. Análisis de diferentes métodos de compresión.

Capítulo IV. Diseño de la herramienta final. En este capítulo se da una

descripción detallada del funcionamiento de la herramienta final de compresión.

Capítulo V. Pruebas y resultados. Una vez definido el método de compresión, se

procederá a realizar pruebas con el método anteriormente definido, presentando

resultados del (los) algoritmo (s) aplicado (s) a diferentes imágenes, así como el impacto

que tienen en el reconocimiento de patrones.

Capítulo VI. Conclusiones. Se describen las conclusiones de acuerdo a las

pruebas realizadas, así como los trabajos futuros detectados en el transcurso del

desarrollo del tema de investigación.

1.3 Antecedentes

A continuación se presentan algunas tesis que fueron realizadas en CENIDET,

por alumnos pertenecientes al grupo de visión artificial y que tienen relación con este

tema de tesis:

Page 12: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

4

Tesis: Localización de objetos en imágenes en color utilizando textura, aplicación a

objetos alfaflexibles [3].

Presenta: C. José Antonio Castillo Gutiérrez

Director de tesis: Dr. Raúl Pinto Elías

Se desarrolló una metodología para la segmentación automática de objetos

alfaflexibles utilizando la información de textura. Para ello, se desarrolló un algoritmo

que, por medio del color y de la textura de los objetos deseados, realiza la segmentación

automática de objetos complejos, es decir, objetos en los que no se aprecian claramente

sus límites por motivos de ruido, luminosidad, rotación, escala y traslación.

El proceso de segmentación inicia con una fase de división de la imagen entrante

generando una estructura jerárquica en forma de árbol de orden cuatro, de esta forma se

analiza a cada nodo buscando condiciones de homogeneidad. Posteriormente se

emplean los campos de Markov para realizar la caracterización y distinguir los límites

precisos entre regiones vecinas que contengan diferentes texturas.

Tesis: Reconocimiento de texturas artificiales, aplicación a la inspección visual [4].

Presenta: C. Osslan Osiris Vergara Villegas.

Director de tesis: Dr. Raúl Pinto Elías

En esta tesis se desarrolló una herramienta que permite la definición de:

textones, repetición de textones básicos, definición de criterios de calidad, texturas

artificiales, etc. Para ello, se elaboró una herramienta de visión por computadora que

permitió realizar la inspección visual de patrones de textura artificiales.

Los algoritmos responden a las variaciones de cambio de escala, rotación y

traslación.

Las tesis citadas anteriormente son ejemplos de aplicaciones en las cuales es

necesario contar con una buena técnica de compresión, ya que se enfocan a analizar

imágenes con textura, factor con mayor complejidad a tratar por lo difícil de su

reconstrucción con altos niveles de calidad. Por ello, el analizar e implementar alguna

técnica de segmentación basada en texturas es base en la recopilación de información

necesaria para obtener imágenes con mejor calidad en la compresión de las mismas.

1.4 Justificación

Page 13: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

5

En el país son escasas las instituciones que se encuentran trabajando en el área

de compresión de imágenes, o bien aquellas pocas que se dedican a tal campo de

investigación se basan en cajas negras1 para realizar sus pruebas e implementaciones.

Es por ello, que el Centro Nacional de Investigación y Desarrollo Tecnológico

(CENIDET) y el grupo de inteligencia artificial, se han enfocado al área de compresión

de imágenes desarrollando una tesis que proporcione una detallada descripción de los

trabajos de investigación en el área anteriormente citada.

Normalmente, procesar una imagen tiene un costo computacional bastante alto, donde la velocidad de respuesta de los algoritmos es afectada por la gran cantidad de datos que tiene que analizar.

Por lo tanto, es importante considerar que no es necesario guardar o trabajar con toda la información de una imagen, dado que contiene datos redundantes o características que podrían representarse bajo ciertas funciones. Una de las posibles soluciones sería efectuar tareas de compresión resolviendo en cierta medida este problema. Pero la información de la imagen reconstruida no garantiza que sea precisa en posteriores aplicaciones de reconocimiento de patrones (en el caso de la compresión con pérdida de información como JPEG), por lo que es de gran importancia implementar técnicas que no afecten en gran medida su posterior reconocimiento.

En efecto, la compresión de imágenes permite trabajar con el mínimo número de datos que representan a la imagen, así también, acota el espacio de procesamiento. De igual forma, hace posible aplicar algoritmos de encriptación para la transmisión de imágenes en procesos donde es necesario mantener altos niveles de confiabilidad de la imagen.

1.5 Descripción del problema

La información es un factor muy importante para la toma de decisiones. Al igual

que en los humanos, en cualquier sistema computacional los datos registrados permiten

interactuar con medios externos, en el caso de los sistemas de visión artificial estos

medios son cualquier fuente de obtención de imágenes.

Los sistemas de visión artificial necesitan fundamentalmente el análisis a través

de imágenes, pero en variadas ocasiones estas imágenes llegan a tanto espacio que hace

difícil contar con una gran cantidad de ellas.

El comprimir imágenes puede ayudar en gran medida a mejorar las deficiencias

en cuanto a almacenamiento, pero enfrenta el problema del reconocimiento posterior

1 Software cerrado a modificaciones (por ejemplo MATLAB).

Page 14: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

6

(no de la calidad visual si no la capacidad de implementar algún proceso digital sobre la

imagen reconstruida) cuando se emplean métodos con pérdida de información.

El estándar JPEG pertenece a los métodos con pérdida de información, este tipo

de métodos aprovecha las limitaciones de la visión humana al eliminar aquellas

frecuencias (altas) que el ojo humano no puede percibir con detalle, dejando únicamente

aquellas (frecuencias bajas) donde la vista es totalmente sensible.

Los métodos sin pérdida de información se basan en la ocurrencia y la secuencia

de píxeles permitiendo la reconstrucción exacta de la imagen original, de esta forma la

compresión es muy poca o simplemente no se comprime el archivo sino que el resultado

es una expansión.

Es por ello, que el problema principal al que se enfrenta la compresión de

imágenes es buscar algoritmos (con pérdida de información) que realicen una buena

reducción de la información evitando impactar en el reconocimiento de patrones.

Por otra parte, para definir el problema, es necesario considerar algunos aspectos que se tendrán en cuenta durante el proceso de compresión, tales como:

� La representación de una imagen a nivel matricial.

� Muestreo y cuantificación de una imagen.

� Almacenamiento de la imagen.

� Resolución de una imagen digital.

Los aspectos anteriores son explicados detalladamente en la sección 2.5.

1.6 Marco conceptual

A continuación se definirán algunos conceptos que serán empleados durante el

trabajo de investigación y que además su manejo o conocimiento permitirá hacer fluido

el proceso de investigación.

1.6.1 Visión artificial

La visión por computadora es una de las áreas de la Inteligencia Artificial (IA)

que tiene como uno de sus objetivos el mejorar las soluciones actuales a problemas

relacionados con la percepción del mundo a través de imágenes digitales. Es decir, lo

importante de cada imagen es su posible interpretación, para lo cual se necesita

Page 15: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

7

identificar correctamente a los objetos contenidos en ella. A continuación se definirán

las etapas del esquema de un sistema de visión artificial (figura 1.1) en base a [1].

Figura 1.1. Etapas fundamentales de un esquema de visión artificial.

� Adquisición de imágenes. Para la adquisición de una imagen digital se necesita

un sensor de imágenes y la posibilidad de digitalizar la señal producida por el

sensor. Existen diferentes medios para la obtención de imágenes dependiendo de

las necesidades de aplicación, por ejemplo una cámara de barrido de líneas.

� Preprocesamiento. Consiste en transformar la imagen de forma que se aumenten

las probabilidades de éxito en procesos posteriores (mejoramiento de la imagen),

es decir, se transforman las características de la imagen de acuerdo con la

problemática de interés. Tradicionalmente se aplican técnicas para mejorar el

brillo, realce o atenuación de detalles u otro procedimiento.

� Segmentación. Es el proceso de dividir una imagen en sus partes constituyentes

u objetos. Es un aspecto complicado en un sistema de visión artificial, que en

muchas ocasiones retrasa la solución satisfactoria del problema. El resultado de

esta operación contiene los datos (conjunto de píxeles en bruto) que constituyen

los puntos de una región determinada.

� Representación. Este proceso se ocupa de transformar los píxeles en bruto a una

forma adecuada para ser tratada posteriormente por un algoritmo de

reconocimiento de patrones, permitiendo resaltar los puntos de interés de la

imagen.

Adquisición de imágenes

Preprocesado

Segmentación Representación y

descripción

Reconocimiento e interpretación

Base de conocimiento Dominio del problema

Entrada

Salida

Page 16: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

8

� Descripción (Selección de rasgos). Consiste en la extracción de datos basados en

alguna información cuantitativa, que permita diferenciar un objeto de otro.

� Reconocimiento. Proceso que asigna una etiqueta al objeto en estudio, de

acuerdo a la información de sus descriptores.

� Interpretación. Consiste en asignar significado a un conjunto de objetos

reconocidos.

Es importante mencionar la relación de las etapas mencionadas anteriormente

con la base de conocimientos. Puede ser tan sencilla como describir detalles de una

imagen, es decir, contiene la información relevante para evitar insuficiencia en la

búsqueda de información. Y también tan compleja como una lista interrelacionada de

los posibles defectos de un problema de visión.

1.6.2 Compresión sin pérdida

La compresión de imágenes sin pérdida de información permite reconstruir de manera exacta a la imagen original. Este tipo de compresión es deseable porque la pérdida de información (en imágenes) en torno al ámbito legal está prohibida. Algunas aplicaciones son: las imágenes satelitales, radiografía digital, etc. En general, el uso de estas imágenes está motivado por su futura utilización.

Existen diferentes métodos de compresión sin pérdida de información; algunas de ellas son:

� Codificación de longitud variable

� Codificación de planos de bits.

Dentro de las técnicas de codificación de longitud variable están: codificación de Huffman y codificación por longitud de cadena (RLE por sus siglas en ingles Run Length Encoding).

En la codificación de planos de bits se encuentran: la descomposición de planos de bits, codificación por zonas constantes, codificación por longitud de series unidimensionales, codificación por longitud de series bidimensionales y trazado de contornos [1].

El documento de tesis considera la codificación de longitud variable, así como la

codificación Huffman (vistas más adelante) que son las más comúnmente utilizadas.

1.6.3 Compresión con pérdida

Page 17: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

9

La compresión con pérdida de información busca, en la mayoría de las

ocasiones, mejorar los índices de compresión obtenidos con la compresión sin pérdida

ya que permite tolerar la distorsión resultante (pudiendo o no verse a simple vista) de la

imagen reconstruida. En varias ocasiones estos métodos son capaces de obtener escalas

de compresión 30:1 en imágenes monocromas reconocibles.

En la figura 1.2 se puede ver el proceso de transformación de una imagen en el

dominio de las frecuencias. En este caso se muestra la transformación del dominio

manejado por el estándar de compresión JPEG.

Figura 1.2. Pasos para la compresión con pérdidas mediante transformación.

El proceso en general es sencillo, ya que consiste en cinco pasos, donde cada

uno de ellos tiene una serie de tareas incluidas que dependen de las necesidades y del

estilo de cada estándar de compresión.

Primeramente, se toman las características de la imagen original. Posteriormente

se aplica una transformación (Transformada de coseno discreta, wavelets, etc.), esto es

con el fin de disponer los datos de forma que al aplicar el procesado con métodos de

compresión sin pérdida de información se alcancen mejores índices de compresión.

Cabe destacar que en esta etapa se puede aplicar algún tipo de cuantificación

(eliminación de datos poco representativos) con lo que se pueden alcanzar mejores

compresiones y la calidad de reconstrucción depende de la cantidad de datos

eliminados. El tercer paso es que, a partir de los datos compresos, se pueda reconstruir

la imagen sin que se distingan cambios bruscos en cuanto a la imagen original.

Cuando se habla de este tipo de compresión con pérdida de información el

estándar JPEG (Figura 1.3) es el más conocido en todo el mundo por las capacidades de

compresión que alcanza. La idea de JPEG es subdividir la imagen original en bloques

de 8x8 píxeles y a cada una de las subimágenes o bloques generados aplica la

transformada de coseno discreta (DCT) tratando de empaquetar tanta información como

resulte posible con el mínimo número de coeficientes de la transformada. Posterior a

ello aplica las tablas de cuantificación definidas por el mismo estándar quedando

Imagen de entrada

Transformación Procesado Transformación inversa

Imagen de salida

Page 18: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

10

dispuestos los datos de forma que se puedan aplicar métodos de organización de píxeles

de forma diagonal, métodos de eliminación de secuencias, así como métodos de

codificación de longitud variable.

Figura 1.3. Pasos para la compresión/descompresión del Standard JPEG.

1.6.4 Teoría fractal

El término fractal es un término antiguo pero su significado ha evolucionado de

igual forma en que el lenguaje se modifica con el tiempo.

Por fractal se entiende el reflejo de patrones dentro de sí mismos.

La geometría fractal se dedica al estudio de figuras con detalle infinito que

describen algunos fenómenos naturales. Los fractales cumplen en general con tres

características importantes de acuerdo a [5]:

� Se basan en una geometría compleja y de infinito detalle; es decir, se puede

aumentar miles de veces el zoom de la cámara, y permitirá ver tanto detalle

aproximadamente como el que tenía la figura original.

� La información para generarlos es poca, y en particular se basan en un principio

de retroalimentación de los resultados creando iteraciones que dependen de los

parámetros de entrada. Normalmente se manejan números complejos2.

� La mayoría de los fractales cumplen con el principio de "similitud a sí mismos"

(auto-similar). Un ejemplo claro presente en la naturaleza es el brócoli. Al mirar

el brócoli, se observa que es una verdura con un tronco y con un grupo de

2 Un número complejo es aquel que se compone de una parte real y de una parte imaginaria. Por ejemplo la raíz cuadrada de -1 es un número imaginario.

Imagen comprimida

Decodificados de símbolos

Transformación inversa

Unión de subimágenes

Imagen descomprimida

Imagen de entrada

División en subimágenes (nxn)

Transformación Cuantificar (eliminación)

Codificador de símbolos

Imagen de salida

Page 19: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

11

"florecillas" en la parte superior. Pero curiosamente, al mirar con más cuidado,

se observan tallos más delgados con sus respectivas "florecillas" que a su vez se

constituyen por tallos aún más delgado y florecillas más pequeñas. Precisamente

la característica de realizar "zooms" en los Fractales se le conoce con el nombre

de similitud a sí mismos. De la misma manera se puede observar un helecho

compuesto de un tallo con sus respectivas hojas, una nube conformada de nubes

más pequeñas, o bien una montaña constituida por montañitas.

Figura 1.4. El brócoli completo sigue un patrón claramente definido.

Las características sobre el mundo fractal presente en la naturaleza pueden verse

reflejadas en la figura 1.4.

1.6.5 Transformada wavelet

El término wavelet proviene del campo de la sismología, donde fue bautizado por Ricker en 1940 para describir el disturbio resultante del impulso sísmico agudo o de una carga explosiva [6].

Posteriormente, Grossman y Morlet mostraron cómo, señales arbitrarias, pueden ser analizadas en términos de escalamientos y traslaciones de una función wavelet madre. Yves Meyer y Stephane Mallat ampliaron esta noción a una teoría llamada “Análisis multiresolución”. En 1989 Mallat mostró cómo esta teoría se puede utilizar en el procesamiento de imágenes y en el análisis de señales.

Una definición bastante sencilla de las wavelets es la que da Subhasis Saha [6]: “las wavelets son funciones definidas en intervalos finitos que tienen un valor promedio de cero”. Las wavelets se definen por medio de una o varias funciones iniciales llamadas wavelets madre y un algoritmo para obtener el resto de las funciones que conformarán la base a partir de las funciones madre (algunos se refieren a este algoritmo

Page 20: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

12

como wavelet padre). Otra propiedad que será deseable en estas funciones es que sean ortonormales3.

Figura 1.5. Aplicación de la transformada wavelet.

La transformada wavelet consiste en comparar la señal con ciertas funciones

wavelet, las cuales se obtienen a partir de las wavelet madre. La comparación permite

obtener unos coeficientes que son susceptibles de interpretación y posterior

manipulación (Figura 1.5, ejemplo de descomposición). En cualquier caso, un requisito

básico es la posibilidad de invertir la transformada, recuperando la señal a partir de esos

coeficientes wavelet calculados [7].

3 Es aquella matriz que conmuta con su transpuesta. Es decir, que el producto punto de cualquier par de filas o de columnas distintas es siempre cero y el producto de una fila o una columna consigo misma es uno.

Page 21: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

13

1.7 Propuesta de solución 1.7.1 Objetivo de la tesis Diseñar e implementar un algoritmo basado en la teoría de fractales y/o wavelets

para la compresión/descompresión de imágenes estáticas con un índice de pérdida

reducido, pretendiendo un bajo o nulo impacto para el proceso de reconocimiento de

patrones.

1.7.2 Beneficios

� Reducción del espacio de almacenamiento, al disminuir la cantidad de datos que

representa una imagen.

� Mayor velocidad de transmisión de imágenes a través de Internet al disminuir el

tamaño de archivo, así también ahorro en uso del ancho de banda.

� Cifrado de datos, confiabilidad en la transmisión o manipulación de imágenes.

� Aplicaciones para el tratamiento digital de imágenes en monitoreo remoto.

� Reducción en el tiempo de transmisión de imágenes en la telefonía móvil.

1.7.3 Alcances

Es de especial importancia para un proyecto de tesis evaluar los alcances que se

pretenden cumplir a lo largo de cierto tiempo, definiendo también aquellos que no se

encuentran dentro de las posibilidades de ser realizados.

1.7.3.1 Alta Prioridad

� Analizar técnicas como fractales y wavelets, que permitan obtener una buena

opción de compresión con bajo impacto en el tratamiento digital de imágenes.

� Comprimir imágenes tanto en escala de grises como imágenes a color.

� Trabajar con imágenes estáticas.

� Diseñar e implementar un modelo computacional (programa de cómputo) del

algoritmo de compresión/descompresión.

Page 22: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

14

� Obtener alta calidad de compresión que permita reconstruir con baja pérdida de

datos a la imagen original.

� Implementar la herramienta bajo programación en C++ Builder 5.0

1.7.3.2 Baja Prioridad

� Trabajar la compresión en secuencias de imágenes.

� Acoplar el algoritmo a diferentes tamaños de imagen.

1.7.4 Limitaciones

Para el desarrollo del proceso de compresión de imágenes se han precisado las siguientes limitaciones:

� El tiempo de respuesta al que será sometido el algoritmo de compresión /

descompresión no garantiza que su manejo sea en tiempo real (secuencia de

imágenes).

� Cuando se comprime una imagen con algún método con pérdida de información,

algunas características de la misma imagen cambian. Por lo tanto, su

procesamiento pudiera no ser igual o no dar los mismos resultados que el

procesamiento de la imagen original.

� Se trabajará con tamaños definidos de imágenes.

� No se pretende competir contra otros estándares de compresión, si no más bien

se busca que el algoritmo no afecte el proceso de reconocimiento de patrones.

1.7.5 Áreas involucradas

Para el desarrollo de este tema de tesis se han definido diferentes áreas de

estudio, que apoyarán el proceso de investigación. A continuación se enlistan tales áreas

ligadas con este trabajo:

� Teoría de fractales.

� Transformada de wavelets.

� Inteligencia Artificial.

� Reconocimiento de patrones.

� Procesamiento digital de imágenes.

Page 23: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo I. Introducción Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

15

1.8 Aplicaciones Como se vió anteriormente la compresión de imágenes tiene amplia aplicación

en diferentes áreas. Los dos métodos manejados en este tema de tesis son empleados en

el procesamiento digital de imágenes, así como en el análisis de señales (en el caso de la

transformada wavelet).

La compresión de imágenes es ampliamente aplicable dada la demanda de

grandes cantidades de información que se necesita transferir, utilizando medios por

ejemplo Internet, así también información satelital, donde el ancho de banda no permite

el envío acelerado de esta información.

Por otra parte, la teoría fractal no solamente se dedica a la parte de compresión,

sino que también se emplea para estudiar la forma en que se comportan ciertos virus.

También con fractales se pueden obtener las medidas de los litorales de un país con

mayor exactitud, detectar comportamiento de las redes de Internet, etc. La teoría de

fractales tiene una amplia gama de aplicaciones.

La transformada wavelet al permitir descomponer la señal en sus bandas de

frecuencia, permite manipular estas bandas para la eliminación de ruido, segmentación,

etc.

Para efectos de este tema de investigación se desarrolló un enfoque hacia la

compresión de imágenes, que es una de las áreas de oportunidad con mayor estudio en

la Inteligencia Artificial.

Page 24: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Centro Nacional de Investigación y Desarrollo Tecnológico

Capítulo II

Marco de Referencia

Page 25: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

17

2.1 Introducción

Conforme la informática avanza, las imágenes se han convertido en una parte

fundamental de ésta. Hoy en día surgen más entornos gráficos orientados a múltiples

aplicaciones. Las imágenes se han hecho conforme a la informática, de ahí la necesidad de

compactarlas para reducir la cantidad de datos que representa la información de cada una de

ellas.

El término compresión de datos se refiere al proceso de reducción del volumen de

datos necesarios para representar una determinada cantidad de información. Debe hacerse

una clara distinción entre datos e información. No son sinónimos. De hecho, los datos son

los medios a través de los cuales se conduce la información. Se pueden utilizar distintas

cantidades de datos para describir la misma información. Es decir, algunas veces la

información contiene datos (o palabras) irrelevantes o repetitivos. A esto se le conoce como

redundancia de datos [1].

En este capítulo se tratarán aspectos sobre los fundamentos teóricos referentes al

tema de compresión de imágenes (wavelets y fractales). También se verá la importancia de

la compresión de imágenes a través de diversos artículos.

2.2 Estado del arte

Para este tema de investigación se analizaron diferentes técnicas de compresión, así

también se abarcaron trabajos/ tesis relacionados con el tema de tesis (compresión de

imágenes). Se observó que es difícil establecer una comparación con los trabajos

relacionados existentes. Esto, debido a que dichos trabajos se basan en el manejo de índices

de error y calidad visual. Sin embargo, no contemplan el reconocimiento de patrones ni las

técnicas de compresión aquí planteadas. Fue difícil hacer una recopilación de los trabajos

relacionados por el gran número de artículos encontrados, pero se optó por hacer una

selección que permitiera obtener aquellos que consideraban aspectos de interés con mayor

afinidad al tema de tesis propuesto.

A continuación se presentan algunos trabajos, cuyo objetivo primordial se ha

enfocado a la compresión de imágenes:

Page 26: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

18

Codificación de bloques de imágenes con wavelets adaptadas [8]

Se basa en subdivisiones de la imagen en estructuras de árbol denominadas

“quadtrees”, es decir, cada elemento de la imagen se divide en particiones más pequeñas.

Las diferentes imágenes obtenidas pueden ser comprimidas independientemente de forma

adaptable (estadísticamente). Para adaptar dichas estadísticas de la imagen local y rasgos,

se presentan diversas formas de cómo optimizar la transformada wavelet codificando la

imagen por bloques.

Figura 2.1. Efectos de los bloques sin traslapar y después del procesamiento de reconstrucción.

Se propone un particionamiento similar a JPEG, es decir, la imagen es subdividida

en bloques más pequeños, ya sea de 8 x 8 ó 16 x 16 píxeles, como se muestra en la imagen

reconstruida de la figura 2.1.

Para eliminar el famoso “blocking4”, se procede a aplicar una técnica de

“overlapping” (traslape) a través de la varianza, con el objetivo de suavizar los contornos

de cada subbloque de la imagen.

4 Efecto de particionar una imagen en bloques.

Page 27: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

19

El proceso de codificación de los bloques sigue dos pasos primordiales en cuanto a

la varianza:

1. Los cuatro subbloques tienen aproximadamente la misma varianza (en el sentido

que esa varianza no exceda cierto umbral). En este caso el bloque entero es

codificado mediante el uso de los siguientes conceptos:

a. Diseño de los filtros wavelet para cada subbloque.

b. Uso de los filtros wavelet apropiados de una librería dada, para cada

subbloque. Este proceso se lleva a cabo mediante la descomposición wavelet

con todos los filtros de la librería y se evalúan los costos de las funciones. El

filtro que produce más bajos resultados es elegido, a partir de ello se

cuantifica y se codifica.

c. Métodos wavelet packet para cada subbloque.

d. Uso de la descomposición wavelet generalizada para cada subbloque.

2. Los cuatro subbloques tienen diferente varianza. En ese caso cada subbloque es

dividido de manera recursiva. El procedimiento se detiene hasta encontrar un bloque

de 2 x 2 píxeles. Estos bloques son codificados directamente.

Implementación del algoritmo EZW (Embeded ZeroTree Wavelet) [9]

EZW (introducido por J. M. Shapiro [10] en 1993) es atractivo para transmisión de imágenes satelitales gracias a su simplicidad y su bajo uso de memoria. EZW funciona de la siguiente forma: primero, obtiene los coeficientes más grandes, dado que éstos contienen la mayor información. Posteriormente, maximiza y promedia los valores que tienden a ser más pequeños localizados en una subbanda de frecuencias. En la que las frecuencias se encuentran desde las más bajas hasta las más altas.

La estructura Zerotree es un árbol en el que cada objeto padre contiene cuatro objetos hijos. Cada uno de los hijos se convertirá en padre de cuatro hijos y así sucesivamente. La ventaja de usar este tipo de estructura es que si se obtiene algún padre que no contiene información que sea relevante para comprimir podría ser descartado, y así la información que contiene también sería discriminada.

El algoritmo comprendió las siguientes restricciones para ser utilizado:

� Debe comprimir las imágenes lo más cercano posible al tiempo real, de tal

forma que no limite su eficiencia y productividad. Es decir, mientras que una

imagen se está comprimiendo, el hardware se debe estar preparando para el

envío de ésta.

Page 28: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

20

� Se necesita de una proporción de compresión de 10:1 ó más para asegurar que el

bus del satélite no se encuentre saturado. Permitiendo mayor capacidad de

descarga de imágenes satelitales.

� Minimizar el uso de memoria, para reducir el costo del envío de información a

través de satélites.

Compresión de imágenes mediante el modelado de texturas en el dominio wavelet [11]

Consiste en algoritmos que permiten incluir bits de alta y baja frecuencia. Con ello

se evita la pérdida de información excesiva al transmitir imágenes con textura. Las

imágenes son reconstruidas y almacenadas con fidelidades de medio a alto rango en el

espacio de frecuencias y una fidelidad absoluta en el rango de frecuencias bajas. Esta

técnica híbrida de modelado de espectros de textura toma lugar en el dominio de la

transformada de wavelet.

La figura 2.2 da una idea muy general de la forma en que realiza la compresión, es

decir:

� Aplica técnicas de segmentación a la imagen (en este caso regiones poligonales),

con el fin de extraer los contornos de la imagen y así al reconstruir la imagen poder

obtener una mejor definición de los detalles de la imagen.

� Posteriormente aplica la descomposición por subbandas utilizando filtros wavelet

para obtener tanto la información de la imagen natural como también la información

de los contornos.

Page 29: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

21

Figura 2.2. Mapeo de las regiones poligonales en el dominio wavelet.

Algoritmo basado en wavelets packets para compresión de señales

electroencefalográficas (EEG) [12]

En este trabajo se desarrolla un algoritmo de compresión de señales

electroencefalográficas (EEG, Electroencefalographic) basadas en la transformada wavelet

packet (WPT). La señal EEG es segmentada y descompuesta mediante la WPT y los

coeficientes son sometidos a procesos de umbralización (valla), y aquellos valores

absolutos que resultaron menores que el umbral son igualados a cero preservando los

demás coeficientes. Se desarrolla un esquema para almacenar eficientemente los

coeficientes remanentes. Este algoritmo permite obtener una alta tasa de compresión con

baja distorsión residual (PRD, Percent Root-mean square Distorsion), es decir, el resultado

de la comparación entre la imagen original y la imagen reconstruida se obtiene mediante la

ecuación 2.1.

( )%100

1

2

1

2

x

yi

xiyi

PRDN

i

N

i

=

=

−=

En este trabajo se realizan pruebas empleando MATLAB 5.3 y se usan diferentes filtros wavelets como:

� Daubechies 6 al 10

[Eq. 2.1]

Page 30: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

22

� Symlets 4 al 8

� Coiflets 5

Así también se realizan pruebas a diferentes niveles de descomposición.

Una nueva técnica de codificación de imágenes unificando fractales y codificación en

las transformaciones [13].

En este trabajo se presenta un nuevo esquema de codificación basado en la

unificación de fractales y la codificación de las transformaciones. Se introduce una

generalización de las transformaciones de iluminación basado en codificación fractal. Para

extender la transformación de iluminación a frecuencias de dominio, los fractales y

transformaciones se convierten en subconjuntos de la transformación sugerida. Este nuevo

esquema de codificación FTC (fractal based transform coding) combina las ventajas de

ambas técnicas. El tiempo de codificación es reducido comparado con los esquemas

tradicionales de codificación fractal y el decodificador converge mucho mejor. El

porcentaje de error es subjetivo, ya que se encuentra sujeto a la calidad de la imagen.

Figura 2.3. Aproximación de un rango a través de un

bloque de dominio transformado.

El codificador fractal clásico consiste en que la imagen a ser codificada es

particionada dentro de un bloque R no sobrepuesto. La tarea del codificador fractal es

buscar un bloque tan grande de la misma imagen (un bloque dominio D) para cada rango de

bloque, tal que una transformación en este bloque t (D) es una buena aproximación de el

bloque rango (Figura 2.3). Sólo las transformaciones de cada bloque de rango son

transmitidas al decodificador. Estas transformaciones son iterativamente aplicadas a cierta

Page 31: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

23

imagen inicial, generando la reconstrucción de la misma. Para asegurar la convergencia en

el decodificador, la transformación t tiene que ser contractiva.

Se describe una generalización de la transformación de la luminancia en el dominio

de la frecuencia. Los fractales y la codificación por transformación son subconjuntos de

esta transformación. La codificación de las transformaciones tiene como objetivo reducir la

redundancia inter-block. La codificación fractal explota los inter-blocks similares entre las

diferentes escalas de la imagen.

Una implementación paralela de algoritmos fractales para la compresión de imágenes

[14]

En este documento, se presentan una serie de resultados de experimentos obtenidos

con la implementación paralela de algoritmos para la compresión de imágenes empleando

fractales. El proceso de compresión fractal de imágenes exhibe un paralelismo natural,

viéndose reflejado en la velocidad de ejecución de los algoritmos. La velocidad

computacional ha sido intensificada a través de modificaciones a algoritmos

desarrollándose una recomposición de estructuras de árbol (quadtrees), en los cuales los

subbloques son combinados iterativamente dentro de grandes rangos por la codificación

fractal. Por lo tanto, los esquemas de clasificación sirven para reducir la complejidad

algorítmica a O (n4).

Figura 2.4. Configuración múltiple pipeline.

Page 32: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

24

La figura 2.4 muestra la estructura del algoritmo. Se emplea un modelo cliente-

servidor. Un simple procesador concentrador se dedica a la distribución de las tareas, así

como también se ocupa de disponer de los resultados de cada uno de los nodos. En este

algoritmo se observan diversas deficiencias como:

� Se necesita de gran cantidad de recursos para acelerar la velocidad de

procesamiento.

� La velocidad de procesamiento es pobre si crece demasiado el número de clientes.

Compresión de imágenes fijas utilizando la trasformada wavelet [15]

En este trabajo se presenta la aplicación de un algoritmo de compresión de imágenes

fijas utilizando la transformada wavelet.

Este algoritmo estudia las características de las imágenes en tonos de gris para

permitir explotar aspectos importantes del sistema visual humano. El ojo humano es menos

sensitivo a las frecuencias espaciales altas (bordes de una imagen) que a las frecuencias

espaciales bajas (texturas de una imagen). El método utilizado consiste en codificar con

pocos bits los coeficientes que representan frecuencias altas y con más bits los coeficientes

de frecuencias bajas. Las etapas de la compresión son:

� La descomposición wavelet utilizando diferentes filtros FIR, entre ellos los de Haar

y Daubechies.

� La cuantificación durante la cual se lleva a cabo la compresión efectiva, y que

comprende tres pasos: asignación de bits, umbralización y cuantificación.

� La codificación que incluye el método de Run-Length seguido de una codificación

de Huffman dinámica o estática.

La descompresión comprende procesos inversos a los anteriores.

El algoritmo resulta ser efectivo en cuanto a la calidad de las imágenes comprimidas

y en pruebas preliminares se han alcanzado índices de compresión del orden de 10:1

(Figura 2.5).

Page 33: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

25

Figura 2.5. Imagen original, imagen reconstruida, error promedio de las imágenes.

Una evaluación de la compresión fractal en bloques [16]

Este documento se basa en la compresión fractal. El método en general es muy

sencillo ya que se basa en la presunción de que la imagen tiene información redundante.

Para esto la imagen es descompuesta en bloques de rango y se busca para cada rango: una

transformación de bloque de dominio mayor similar al rango (Figura 2.6). La aproximación

fractal de la imagen es construida iterando estos mapas sobre una imagen inicial arbitraria.

La selección de los tamaños de los bloques depende de varios factores. Bloques de

tamaño 4 x 4 y menores, son sencillos de analizar y clasificar geométricamente,

permitiendo una rápida evaluación de la distancia inter-bloque, y además son fáciles de

codificar con exactitud y conducen a un sistema de codificación robusto. Por otra parte, los

bloques de 5 x 5 y mayores, permiten una mayor tasa de compresión, así como explotación

de la redundancia en zonas suaves de la imagen.

Figura 2.6. Dos siluetas fijan una transformación afín W: R2 → R2.

Page 34: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

26

2.3 Resumen de artículos relacionados

Comprimir imágenes empleando la mínima cantidad de recursos y obteniendo

niveles altos de calidad en reconstrucción son los principales retos que se ven reflejados en

los trabajos citados anteriormente. Por ello es necesario diseñar algoritmos que faciliten el

manejo de grandes volúmenes de información y su transmisión por la red. Pero ese no es el

único problema. El reconocimiento de patrones es fundamental para el desarrollo de

aplicaciones, en las que la calidad de la imagen reconstruida es un factor que dificulta el

reconocimiento de un objeto.

La principal desventaja de los trabajos anteriores es que buscan comprimir la

imagen (con métodos con pérdida de información) buscando altos rangos de compresión

únicamente, sin tomar en cuenta los efectos en el reconocimiento de patrones. Es decir, son

algoritmos con pérdida de información que a la vista del ojo humano no es perceptible, pero

en ciertas o muchas ocasiones a nivel computacional los cambios en la reconstrucción de

las imágenes son determinantes para su tratamiento.

A diferencia de los trabajos anteriores, en este trabajo de tesis el objetivo es

comprimir imágenes al máximo, cuidando que la pérdida en el número de datos sea

mínima. Esto con la finalidad de no afectar el posterior reconocimiento automático de las

imágenes.

Los artículos citados anteriormente dan un panorama más amplio sobre la cantidad

de líneas de investigación referente a la compresión de imágenes, aunque en México no

existen instituciones que desarrollen software para compresión de imágenes, cenidet se

encuentra situado como una de las pocas instituciones que se dedica a la investigación en

esta área.

2.4 Análisis de contenido

2.4.1 Problemática Los artículos también difieren del objetivo de esta tesis porque no comparan los

métodos de compresión que utilizan. Para este trabajo, se utilizan varios métodos de

Page 35: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

27

compresión, entre ellos fractales y wavelets y posteriormente se dan a conocer los

resultados en la aplicación de cada uno de ellos. Una diferencia importante es que la

mayoría de los trabajos analizados no manejan imágenes a color, nada mas profundizan en

aplicaciones a niveles de gris. Además, sus estudios se basan en los resultados obtenidos de

software comercial como MATLAB.

Otro aspecto importante es que no realizan la evaluación de los resultados a través

de alguna herramienta (de reconocimiento de patrones), sino que únicamente se enfocan a

comparar la imagen resultante con la imagen original. Considerando esta característica el

tema de tesis que se está realizando tiene amplia ventaja en cuanto a su utilidad.

En la mayoría de los artículos se pretende competir con los estándares de

compresión, en este tema de tesis se pretende aplicar algún tipo de compresión, tal que no

afecte el posterior reconocimiento (para efectos del reconocimiento automático de la

imagen a nivel computacional).

2.4.2 Tipo de imágenes a utilizar

Se manejan imágenes cuadradas que correspondan a tamaños de potencias enteras

de dos, principalmente 128 x 128, 256 x 256 y 512 x 512 píxeles. Además se trabaja con

formatos de 8 bits y de 24 bits para imágenes a color.

En la etapa de pruebas y resultados se manejan diferentes imágenes en cuanto a

calidad y formato, con ello será posible medir la capacidad de compresión y reconstrucción

de estas imágenes con el algoritmo diseñado.

Cabe destacar que no se contempla el uso de imágenes que no sean cuadradas

(potencias enteras de dos) ni las particiones de tales. Estas se manejan como trabajos

futuros a la herramienta.

2.5 Fundamentos

Con la finalidad de hacer un documento de fácil comprensión y de utilidad en

investigaciones posteriores, se explican algunos conceptos relacionados con el

procesamiento digital de imágenes. Además se describen temas que tienen relación con la

compresión de las mismas:

� Principios de ortogonalidad, ortonormalidad.

Page 36: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

28

� Regiones rango y dominio.

� Técnicas de particionamiento.

2.5.1 Representación de una imagen

Una imagen monocroma o simplemente una imagen se representa matemáticamente

a través de una función bidimensional de intensidad de luz f(x, y), donde x e y representan

las coordenadas espaciales, y el valor f en un punto cualquiera (x, y) es proporcional al

brillo (o nivel de gris) de la imagen en ese punto [1].

La figura 2.7 muestra la forma en que normalmente se disponen los ejes de una

imagen, pero puede ser que se manejen de forma invertida según sea conveniente.

Una imagen digital, es aquella que ha sido discretizada tanto en las coordenadas

espaciales como en el brillo [1].

La imagen digital para fines computacionales, puede ser representada por una matriz

donde cada punto de la imagen es considerado como el valor obtenido del nivel de gris o

color de ese punto. A estos elementos se les denomina píxeles o pels5. Aún cuando una

imagen digital varía en cuanto a tamaño y formato, en esta investigación se trabaja en su

mayoría con imágenes cuadradas potencias de 2 por la gran cantidad de ventajas que éstas

representan.

5 Derivado de la abreviatura en inglés de picture elements.

Y

X

0,0

Page 37: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

29

Figura 2.7. Representación de los ejes de una imagen.

2.5.2 Muestreo y cuantificación de una imagen

2.5.2.1 Muestreo uniforme y cuantificación Una función de imagen f(x, y) debe ser digitalizada tanto espacialmente como en su

amplitud para ser utilizable para el procesamiento por medio de computadora. A la

digitalización espacial (x, y) se le denomina muestreo de la imagen y la digitalización de la

amplitud es la cuantificación del nivel de gris o color [1].

Una imagen digitalizada6 se obtiene a través de una serie de muestras igualmente

espaciadas tal como se ve en la ecuación 1.1, donde cada elemento f(x, y) representa una

cantidad discreta.

−−−−−

=

)1,1(......)2,1()1,1()0,1(

.

.

)1,1(......)2,1()1,1()0,1(

)1,0(......)2,0()1,0()0,0(

),(

NMfMfMfMf

Nffff

Nffff

yxf

La digitalización de los valores M, N y el número de niveles de gris permitidos para

cada píxel se obtiene a través de:

N = 2n

M = 2k

G = 2m

En donde m, n y k son valores enteros y G indica el número de niveles de gris.

Empleando las ecuaciones 1.2, 1.3, 1.4 se puede obtener la ecuación 1.5 que representa el

número de bits necesarios para almacenar la imagen digital.

b = M x N x m y si M = N, entonces,

b = N2m

6 Aquella imagen que ha sido muestreada en función de sus coordenadas espaciales.

[Eq. 1.1]

[Eq. 1.3]

[Eq. 1.4]

[Eq. 1.5]

[Eq. 1.6]

[Eq. 1.2]

Page 38: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

30

Por ejemplo, una imagen de 256 x 256 puntos con 128 niveles de gris necesita

458,752 bits de memoria. Si los píxeles y los niveles de gris aumentan, la memoria

requerida es mayor; ejemplos de imágenes cuadradas, se presentan en la tabla 1.1.

Tabla 2.1. Relación de las cantidades en bytes de las imágenes en cuanto a su tamaño.

1 2 3 4 5 6 7 8

32 1024 2048 3072 4096 5120 6144 7168 8192

64 4096 8192 12288 16384 20480 24576 28672 32768

128 16384 32786 49152 65536 81920 98304 114688 131072

256 65536 131072 196608 262144 327680 393216 458752 524288

512 262144 524288 786432 1048576 1310720 1572864 1835008 2097152

1024 1049576 2097152 3145728 4194304 5242880 6291456 7340032 8388608 2.5.2.2 Muestreo no uniforme y cuantificación

La apariencia de una imagen puede mejorarse en varias ocasiones manejando un

esquema adaptativo, donde la forma de muestrear y cuantificar dependa de las

características de la imagen. Es decir, realizar un muestreo mayor en las áreas donde exista

más detalle y/o cambios en los niveles de color o intensidad luminosa.

La descripción anterior puede aplicarse a aquellas imágenes con fondos uniformes,

donde esta parte no proporciona mucha información y puede ser representado aplicando un

muestreo no fino.

Realizar este tipo de muestreo es complicado, ya que se necesita identificar los

contornos de la imagen. También este tipo de muestreo es impráctico cuando se presentan

regiones uniformes relativamente pequeñas.

Una técnica alternativa que resulta particularmente atractiva para distribuir los

niveles de gris consiste en identificar la frecuencia de aparición de todos los niveles de gris

permitidos.

2.5.3 Almacenamiento de una imagen digital

mN

Page 39: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

31

La cantidad de memoria que consume una imagen digital al almacenarse, en muchas

ocasiones, es sumamente extensa provocando que los medios de transmisión y

almacenamiento se vean rebasados al ser deficientes para manejar estas cantidades de

información.

El almacenamiento digital se divide en tres categorías básicas [1]:

� Almacenamiento a corto plazo. El cual puede ser manejado durante el

procesamiento (memoria temporal de la computadora).

� Almacenamiento en línea. Para una reutilización relativamente rápida (discos

magnéticos, comúnmente Winchester con gran cantidad de megabytes).

� Almacenamiento en archivo. Se caracteriza por acceso poco frecuente (cintas

magnéticas y los discos ópticos habituales).

2.5.4 Resolución de una imagen

La calidad de resolución de una imagen digitalizada depende de la forma en que se

realiza el muestreo y la cuantificación, es decir, cuanto mayor sea la cantidad de muestras

obtenidas mejor será la calidad de la imagen obtenida, pero traerá consigo una mayor

cantidad de bits necesarios para su almacenamiento, procesamiento o transmisión.

La calidad de una imagen es subjetiva, ya que depende de diversos factores, entre

ellos las necesidades de aplicación. En el caso del reconocimiento de patrones la calidad es

una parte importante para efectuar tareas de clasificación, reconocimiento, interpretación,

caracterización, etc., ya que disminuir la calidad podría ocasionar que se obtuvieran

resultados no deseados.

Los puntos mencionados anteriormente, incluyendo la velocidad de procesamiento y

capacidad de almacenamiento en memoria temporal del equipo de trabajo, fundamentan el

problema principal para el tratamiento de imágenes digitales, afectando entre otras tareas:

� El reconocimiento de patrones.

� El filtrado de señales.

� La transmisión de imágenes.

Por ello, un algoritmo que permita manejar el mínimo número de datos que

representen a una imagen podría disminuir el número de operaciones a realizar provocando

Page 40: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

32

entre otras cosas la reducción del almacenamiento de datos de la imagen, así como la

aceleración del proceso de transmisión de ésta al disminuir el consumo del ancho de banda,

en el caso del manejo remoto de imágenes.

2.5.5 Definición y conceptos

Al tratar de definir algunos términos, diferentes autores explican de diversas

maneras los mismos conceptos [19]. Esto se debe al contexto en el que se encuentre

trabajando y al problema a tratar.

En el área de visión artificial frecuentemente se abordan conceptos importantes, por

lo que a continuación se procede a la definición de tales términos, ya que serán empleados a

lo largo de este documento.

� Visión Artificial o Visión por Computadora. Es una disciplina que desarrolla las

bases teóricas y algorítmicas mediante las cuales puede extraerse información

del mundo real, de manera automática a partir de una imagen observada, de un

conjunto de imágenes o de una secuencia. Tal información puede relacionarse

con el reconocimiento de objetos genéricos, descripciones tridimensionales del

mismo, posición y orientación de objetos o la medición de cualquier propiedad

espacial, tal como la distancia entre dos puntos bien definidos o la sección

transversal del objeto.

� Imagen. Es la proyección en perspectiva en el plano bidimensional de una

escena tridimensional en un determinado instante de tiempo.

� Cuadro. Es una matriz bidimensional de valores de intensidad lumínica obtenida

para un tiempo t, puede decirse que es en cierta forma una imagen discretizada.

� Píxel. Es el elemento más pequeño en que se puede dividir una imagen,

representa un valor de intensidad lumínica.

� Redundancia de datos. Comprende la información que se encuentra repetida en

una imagen.

2.5.6 El Formato BMP

Page 41: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

33

BMP es un formato gráfico creado por Microsoft para Windows [17]. Permite

grabar imágenes de diferentes profundidades de color. A continuación se verá el formato de

8 bits por píxel. Para su estudio se utilizará un editor hexadecimal con el que será posible

leer el archivo byte a byte. Cada byte puede almacenar un número entre 0 y 255 que se

representa en un editor hexadecimal con 2 cifras (de 00 a FF) [18].

Aunque BMP puede utilizar compresión RLE, se emplearán imágenes grabadas sin

compresión para mayor simplicidad.

El formato BMP de 8 bits por píxel puede representar 256 colores diferentes y es de

tipo indexado. Esto quiere decir que los 256 colores disponibles para la imagen se

almacenan en una tabla o paleta de colores que es exclusiva de dicha imagen. Dos imágenes

de 8 bits diferentes podrían tener dos paletas diferentes. A continuación se describe la

información contenida en una imagen BMP. También se da información acerca de la paleta

en una imagen personalizada con formato de 8 bits.

� Cabecera. Contiene información relativa al archivo pero no del color de los píxeles.

� Identificador del formato. Los dos primeros bytes identifican el archivo como BMP y

contienen siempre el valor hexadecimal 42, 4D (66 77 en decimal, y BM en ASCII).

� Tamaño del archivo. El tamaño del archivo se localiza en los siguientes 4 bytes pero al

contrario de los números decimales, el byte más significativo en una palabra es el de la

derecha (el 4¼) y el menos significativo el de la izquierda (por el standard llamado litle

endian). Por ejemplo, el tamaño de un archivo de un total de 1258 bytes se almacenará

de la siguiente manera: 234 | 4 | 0 | 0. El valor decimal de la palabra de cuatro octetos se

calcula así: 234*1 + 4*256 + 0 + 0 = 1258.

� Píxeles de ancho y alto. El número de columnas del mapa de bits se almacena en otra

palabra de 4 bytes a partir de la posición 18 y el número de filas en otros cuatro bytes a

partir de la posición 22 de manera idéntica al tamaño del archivo.

� Paleta de colores. Se ha comentado anteriormente que BMP de 8 bits es un

formato de color indexado. La paleta de colores se almacena en la cabecera a

partir de la posición 54. Cada color se codifica con sus componentes RGB pero

como forman parte de la misma palabra aparecerán, al seguir el standard little

endian, en el primer byte el azul, luego el verde y por último el rojo (BGR).

Page 42: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

34

Después de cada tres bytes RGB se deja otro byte con el valor cero (relleno de la

palabra) de modo que la paleta ocupa 256*4 = 1024 bytes. La paleta puede tener

cualquier combinación de colores o una gama completa de grises. Pero cada uno

de ellos, sea color o gris, expresa en la paleta sus componentes RGB.

� Información de cada píxel. El píxel de la esquina inferior izquierda es el primero

en almacenarse y lo hace en la posición 1078 (tabla 2.2). Este byte no almacena

información de color sino el ordinal del color de la paleta (8 bits, 256 valores;

uno por cada color de la paleta). El segundo píxel será el de la derecha, y así

sucesivamente hasta terminar la primera fila (la fila inferior del mapa de bits).

Una vez completada la fila, el siguiente byte codifica el píxel de la izquierda de

la penúltima fila.

Píxel inferior izquierdo:

Tabla 2.2. Información del byte y su posición correspondiente a la paleta.

BYTE HEX DEC

1078 0A 10 [ Décimo color de la paleta ]

Para mayor simplicidad ver la tabla 2.3 donde se describe la forma en que se

disponen los datos de la cabecera de archivo y cabecera de información.

Tabla 2.3. Cabecera de archivo y cabecera de información.

Tamaño en bytes Contenido Descripción

2 Tipo formato Debe ser “BM”, por lo que en la práctica se debe leer como

dos bytes por separado

4 Tamaño del archivo Tamaño en bytes del archivo, dividiendo entre 1024 se

obtiene el mismo en KB.

2 Reservado Deber ser cero

2 Reservado Debe ser cero

4 Offset Posición en bytes en la que empiezan los datos en sí

4 Tamaño de la cabecera Tamaño de la cabecera de información. Siempre es 40.

4 Ancho Ancho en píxeles de la imagen

4 Alto Alto en píxeles de la imagen

2 Planos Planos del dispositivo de salida

2 Bits Bits por píxel

4 Compresión Tipo de compresión.

4 Tamaño imagen Tamaño de la estructura de datos (píxeles y paleta)

Page 43: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

35

4 Píxeles por metro h Píxeles por metro para dispositivos de salida con medida

horizontal

4 Píxeles por metro v Píxeles por metro para dispositivos de salida con medida

vertical

4 Colores usados Cantidad de colores usados.

4 Colores importantes Cantidad de colores importantes

Como cada palabra es de cuatro bytes, en aquellos mapas que tengan un número de

columnas que no es múltiplo de 4, se debe completar la última palabra de la fila con bytes

de relleno (lo que constituye información basura).

2.5.7 Creación de la paleta

Dada la información anterior, se puede ver que existen imágenes con formato a 8

bits que tengan paletas personalizadas (Figura 2.8), es por ello que para la compresión de

cierta imagen con alguna paleta personalizada, se deben guardar 1024 bytes que contienen

la información (de la paleta); tal como se ve a continuación existe una gran diversidad de

colores en torno al formato de las imágenes:

� 1 bit por píxel se refiere a una imagen con 2 colores.

� 4 bits por píxel se refiere a una imagen con 16 colores.

� 8 bits por píxel se refiere a una imagen con 256 colores.

� 16 bits por píxel se refiere a una imagen con 32,768 colores.

� 24 bits por píxel se refiere a una imagen arriba de 16, 777,216 colores.

Para explicar mejor esta información se muestra la figura 2.8. En ella se puede ver

claramente que es sumamente importante tener la información de la paleta, ya que en el

caso de no contar con ella no se podría saber con qué colores restaurar la imagen de

acuerdo al archivo codificado.

Figura 2.8. Imágenes de un embrión de pollo (formato de 8 bits) con paletas personalizadas.

Page 44: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

36

2.5.8 Principios de ortogonalidad y exactitud, wavelet packet

Condición de ortogonalidad: La suma de los cuadrados de los coeficientes wavelet

es cero. Esta condición proviene del teorema de Pitágoras. Se refiere a las dimensiones

independientes de una cantidad medida. En un mapa, por ejemplo es posible localizar un

punto por su longitud y su latitud. Esas dos mediciones son independientes y se necesitan a

los dos para localizar el punto.

1)2()(∑ =− mkckc , para m = 0

0)2()(∑ =− mkckc , para m ≠ 0

Condición de exactitud: La suma de los coeficientes pares es igual a la suma de los

coeficientes impares.

∑ =− 0)1)(( nnc

La cual también se puede representar de la siguiente manera:

∑ ∑= )()( mcnc

Donde:

n son los coeficientes pares

m son los coeficientes impares

La transformada wavelet packet se obtiene a través de la convolución de los

coeficientes de los filtros y la señal muestreada7, la ecuación para esta convolución es la

2.6.

∑ −=k

knXkcnY )()()(

Donde:

C (k) coeficientes del filtro

X (n) señal muestreada 7 Aquella parte de la señal que ha sido discretizada para su estudio.

[Eq. 2.2]

[Eq. 2.3]

[Eq. 2.4]

[Eq. 2.5]

[Eq. 2.6]

Page 45: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

37

2.5.9 Rango y dominio El rango de una matriz es el número de líneas de esa matriz (filas o columnas) que

son linealmente independientes.

Una línea es linealmente dependiente de otra u otras cuando se puede establecer una

combinación lineal entre ellas.

Por ejemplo si 4.33.21 fff −= , entonces se dice que f1 es linealmente

dependiente de f3 y f4.

Una línea es linealmente independiente de otra u otras cuando no se puede

establecer una combinación lineal entre ellas.

Ejemplo:

Cálculo del rango de una matriz basado en el cálculo de menores.

Comenzando por el orden k = 2, se realiza el proceso siguiente (para una etapa k

cualquiera):

� Se busca un menor α ≠ 0 de orden k, entonces el rango será ≥ k.

� Se añade a dicho menor una fila i, y cada una de las columnas que en él no

figuran, obteniéndose así menores de orden k + 1. Si todos estos menores son

nulos, significa que la fila i es combinación lineal de las k filas del menor

anterior, por lo que es posible eliminar esa fila.

� Se siguen realizando pruebas con las filas restantes. Si todos los menores así

formados son nulos, entonces la matriz tiene sólo k filas linealmente

independientes, que son las que aparecen en el menor, y por tanto su rango es k.

� Si alguno de los menores k + 1 es distinto de cero, el rango es ≥ k + 1 y se repite

el proceso para otro orden k superior.

Ejemplo:

Calcular el rango de la matriz

=

5106

0321

2103

1021

A

Se elige un menor de orden 2, por ejemplo:

Page 46: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

38

2)(066003

21≥⇒≠−=−== Ara

Se elige un menor de orden 3, por ejemplo:

3)(018)2180()020(

321

103

021

≥⇒≠−=++−++== Ara

Se elige el menor de orden 4, por ejemplo:

0

5106

0321

2103

1021

=

=a Por lo tanto el rango es r(A)= 3

Si al elegir un menor de orden 2 el resultado es igual a 0, entonces se elige otro, y

así sucesivamente hasta elegir todos. Si todos son 0, entonces el rango es 1. De la misma

forma, cuando se eligen menores de orden 3.

Por otro lado, el dominio de definición de una función es el conjunto de existencia

de la misma, o sea los valores para los cuales la función está definida. Dicho de otra forma,

si el conjunto de existencia es vacío entonces no existe la función.

Por ejemplo:

Dadas dos funciones f y g con dominios A y B se tiene lo siguiente:

� (f + g)(x) = f(x) + g(x) Dominio = A∩B

� (f - g)(x) = f(x) - g(x) Dominio = A ∩ B

� (f · g)(x) = f(x) · g(x) Dominio = A ∩ B

� (f / g)(x) = f(x) / g(x) Dominio = {x Є A ∩ B Λ g(x) ≠ 0}

Al conjunto de valores que se obtienen a partir del dominio de definición se le

denomina recorrido de la función.

2.5.10 Particionamiento

Estas técnicas consisten en disminuir el tamaño de la biblioteca de bloque de

dominio y por tanto disminuir el número de comparaciones que es lo que hace que este

algoritmo sea lento. Las técnicas más importantes son:

Page 47: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

39

� Quadtree Partitioning (Figura 2.9): la imagen es dividida en bloques de rango

cuadrados, pero estos bloques son de tamaño diferente. Se utilizan bloques muy

pequeños para las zonas de la imagen donde se encuentran grandes detalles. En el

ejemplo, la zona en donde se encuentran más detalles es en los ojos de Lena y se

engloba en bloques más grandes partes de las imágenes donde no se producen tantos

cambios o tantos detalles, como puede ser el fondo de la imagen. Así se reduce el

número de comparaciones en la imagen, ya que las zonas continuas y sin muchos

cambios (el fondo) quedan caracterizados por un número menor de bloques que en

el caso de particionado de igual tamaño.

� HV- Partitioning (Figura 2.10): la forma de los bloques es rectangular.

� Triangular Partitioning (Figura 2.11): la forma de los bloques, como su mismo

nombre indica, es triangular.

Estas técnicas mencionadas se basan en reducir el número de bloques de dominio,

ya que agrupa en bloques más grandes, partes de la imagen con menos cambios mientras

que para zonas con gran detalle utiliza bloques más pequeños. Así se ve reducido el número

de comparaciones para cada bloque de rango en la búsqueda de su mejor bloque de

dominio.

Estas técnicas: Quadtree Partitioning, HV-Partitioning y Triangular Partitioning

pueden ser ampliadas y además de reducir el tamaño de la biblioteca de dominios pueden

reducir el número de comparaciones sobre esa biblioteca.

Figura 2.9. Quadtree partitioning. Figura 2.10. HV – partitioning. Figura 2.11. Triangular

partitioning.

2.6 Técnicas de compresión

Page 48: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

40

El código de una imagen representa el cuerpo de la información mediante un

conjunto de símbolos. La eliminación del código redundante consiste en utilizar el menor

número de símbolos para representar la información [7].

Por ejemplo dentro de los métodos de compresión se puede encontrar que la

codificación Huffman y la codificación aritmética a través de métodos estadísticos ayudan a

eliminar la redundancia y con ello permiten reducir el espacio de memoria original de los

datos. Estas redundancias o correlaciones se encuentran presentes en la mayoría de las

imágenes. A partir de estas correlaciones el valor de un píxel se puede calcular a través de

sus vecinos.

El ojo humano es sensible a ciertas frecuencias (las bajas principalmente), así que

los métodos de compresión basados en transformadas utilizan estas características para

eliminar, a través de cuantizaciones, aquellas frecuencias (altas) donde a la vista no percibe

los cambios en la reconstrucción de la imagen. Algunos de los métodos que realizan este

tipo de proceso son: EZW, SPHIT, JPEG, etc.

En esta sección se analizarán algunos métodos de compresión que permitirán

conocer con mayor detenimiento el funcionamiento del algoritmo final de compresión.

En el capítulo tres se dará una detallada descripción del algoritmo empleado en el

trabajo de tesis.

2.6.1 Codificación Huffman [20]

El método de Huffman consiste en crear una serie de reducciones de la fuente

ordenando las probabilidades de los símbolos considerados y combinando los símbolos de

menor probabilidad en un único símbolo que los sustituye en la siguiente reducción de la

fuente.

Primero es necesario realizar una serie de reducciones de la fuente de manera que

las probabilidades de símbolos considerados, estén ordenados (tabla 2.4).

Tabla 2.4. Símbolos de la imagen y su frecuencia en toda la imagen.

Page 49: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

41

3333

8888

2324

2222

Elemento/Símbolo Frecuencia Probabilidad 2 6 6/16 3 5 5/16 4 1 1/16 8 4 4/16

El segundo paso es reducir el número de probabilidades, iniciando con la suma de

las dos más pequeñas, la cual genera una nueva probabilidad. Estas probabilidades se

ordenan si es necesario y luego se vuelven a sumar las dos más pequeñas para generar la

nueva probabilidad, para el caso del ejemplo es 10/16. Este proceso se continúa hasta que

sólo queden dos probabilidades.

El tercer paso es asignar un cero a una de las probabilidades resultantes y uno a la

otra, ya sea a la izquierda o la derecha según se haya definido.

Finalmente con la asignación del uno o cero del paso anterior, se regresa asignando

en el mismo orden, un cero o uno a las probabilidades reducidas, hasta llegar a las

probabilidades originales, tal como se muestra en la tabla 2.5.

La longitud media por símbolo se determina de la siguiente manera:

bpsLmed 9375.116

1.3

16

4.3

16

5.2

16

6.1 =+++=

Tabla 2.5. Codificación con Huffman.

Fuente original Reducción de la fuente Elemento / símbolo Probabilidad Código final Reducción 1 CM Reducción 2 CI

2 6/16 1 6/16 1 10/16 0

3 5/16 00 5/16 00 6/16 1

8 4/16 010 5/16 01

4 1/16 011

Al emplear este código, el número de bits requeridos para codificar una matriz es de

31 bits, mientras que si se usaran los 4 bits planteados inicialmente se necesitarían de 64

bits. De aquí que el código de Huffman sea una buena alternativa para la reducción de los

datos originales y por lo mismo se logre una compresión de datos aceptable (tabla 2.6).

Tabla 2.6. Resultados de la codificación Huffman.

[Eq. 2.7]

Page 50: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

42

Elemento/Símbolo Frecuencia Longitud de código Longitud en bits

2 6 1 6

3 5 2 10

4 1 3 3

8 4 3 12

Total en bits 31

A continuación para explicar mejor este algoritmo se utiliza un ejemplo sencillo

tomando un texto corto.

� Cadena a comprimir: “ataca la jaca a la estaca”.

� Siguiendo los pasos anteriores se obtiene cada elemento contenido en la cadena:

' '(5), a (9), c (2), e (1), j (1), l (2), s (1), t (2).

� El siguiente paso es ordenar los elementos de acuerdo a su probabilidad (menor

a mayor): e (1), j (1), s (1), c (2), l (2), t (2), ' '(5), a (9), considerando a cada

elemento un nodo.

� Ahora se toman los dos primeros nodos sumando sus frecuencias y se coloca en

el lugar correspondiente haciendo este proceso de forma sucesiva (Figura 2.12).

� Una vez formado el árbol de Huffman se asignan ceros y unos a cada rama del

nodo (este es un aspecto arbitrario). Con esto se crea la nueva codificación.

� Al final se tiene una codificación de 8 bytes de un tamaño original de 23 bytes.

s(1) (2) c(2) l(2) t(2) ' '(5) a(9)

e(1) j(1)

s(1) (2)

c(2) l(2) t(2) ' '(5) a(9)

e(1) j(1)

(3)

Page 51: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

43

s(1) (2)

c(2) l(2) t(2)

' '(5)

a(9)

e(1)j(1)

(3)

(5)(4)

(9)

(14)

(23)

Figura 2.12. Creación del árbol de Huffman.

2.6.2 Codificación por longitud de cadenas [21]

La codificación por longitud de cadenas (RLE, Run Length encoding) es

probablemente el algoritmo más fácil de implementar. Se encarga de reemplazar las

secuencias de los mismos valores de datos dentro de un archivo con un contador de

ocurrencias acompañado de un valor tipo símbolo.

Se tiene por ejemplo una cadena de datos (17 bytes) a ser comprimida:

ABBBBBBBBBCDEEEEF

Usando compresión de tipo RLE, el compresor toma 10 bytes y se puede ver como:

A*9BCD*4EF

También se pueden ver cadenas de datos repetidas que son reemplazadas por el

caracter de control (*) seguidas de un número que representa los caracteres repetidos de sí

mismo. El caracter de control no es fijo, puede ser diferente de una implementación a otra.

Si el caracter de control por sí mismo aparece en el archivo, entonces se emplea un

carácter que no se encuentre contenido en el archivo para evitar confusiones al momento de

la reconstrucción.

Page 52: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

44

También se puede ver que la codificación RLE sólo es efectiva si hay secuencias de

cuatro ó más repeticiones de caracteres, porque tres caracteres son usados por conducto del

RLE, así la codificación de 2 repeticiones de caracteres daría como resultado un incremento

en el tamaño de archivo.

Es importante saber que hay varios esquemas de codificación RLE. El ejemplo

anterior sólo ha sido empleado para demostrar el principio básico de la codificación RLE.

Algunas veces la implementación del RLE es adaptada al tipo de datos que se comprimen.

Ventajas y desventajas del algoritmo:

� Este algoritmo es muy fácil de implementar y no requiere de mucho procesamiento

a nivel hardware.

� La compresión RLE sólo es eficiente si el archivo contiene muchos datos repetidos

consecutivos. Estos pueden ser archivos de texto con muchos espacios u otros

caracteres, así también pueden utilizarse imágenes con muchas áreas con colores

uniformes.

La compresión RLE es usada en los archivos con formato:

� TIFF.

� PDF.

2.6.3 Codificación LZW

Este algoritmo está basado en las ideas de Lempel y Ziv, las cuales han sido

perfeccionadas por Terry Welch en 1984 [22]. Comúnmente a este algoritmo se le conoce

como Lempel, Ziv y Welch o por sus iniciales LZW.

En vez de utilizar ventanas deslizantes (algoritmo original de Lempel y Ziv) se

maneja una estructura de tipo diccionario. A cada nueva cadena de caracteres que se agrega

al diccionario se le asigna un nuevo código. La compresión se realiza cuando a una

secuencia de caracteres se le da un solo código.

Inicialmente el diccionario tiene cargados los códigos originales del ASCII. Es decir

que para cada valor del 0 al 255 tiene como código su valor correspondiente al valor

ASCII.

El pseudocódigo del compresor es el siguiente:

Page 53: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

45

Añadir al diccionario una entrada por cada símbolo del alfabeto Mientras (no fin Archivo) {

Buscar emparejamiento en diccionario (siempre existirá) Escribir índice emparejamiento e índice del carácter siguiente Añadir esta concatenación al diccionario como nueva entrada.

}

El pseudocódigo del descompresor es el siguiente:

Añadir al diccionario una entrada por cada símbolo del alfabeto Mientras (no fin Archivo) {

Leer par (a,b) Buscar a y b en el diccionario Añadir a concatenado b al diccionario y escribirlo a la salida

} Este algoritmo de descompresión plantea un problema en un caso en particular. Este

caso se corresponde si se tiene una cadena ya en el diccionario compuesta por un carácter

(a) y una cadena (S) y aparece una secuencia en concreto al descomprimir. Esta secuencia

es aSaSa. En este caso el problema ocurre debido que al descomprimir aparece un código

que aún no se ha reconstruido en el diccionario. El modo de solucionar esto es considerarlo

una excepción del algoritmo y cuando aparezca dicha excepción, añadir en la posición del

diccionario la cadena aSa.

A continuación se muestra un ejemplo de codificación LZW con una cadena que fue

colocada a propósito: wabba_wabba_wabba_wabba_woo_woo_woo, de igual forma se

coloca la reconstrucción de la cadena.

Page 54: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

46

2.6.4 Compresión fractal

En compresión de imágenes, se puede distinguir entre la compresión sin pérdida

(por ejemplo el formato GIF), que permite una compresión de 3 a 1 y los métodos de

compresión con pérdida (por ejemplo el formato JPEG; Joint Photographic Expert Group),

que permite una compresión de 25 a 1 sin una excesiva pérdida de calidad visual. La

compresión fractal de imágenes pertenece a este último tipo de compresión.

La compresión fractal posee características únicas. Este método de compresión se

encuentra dentro de los que codifican la información de una imagen con pérdida. Se basa en

la presunción de que en toda imagen existe redundancia aprovechable. Para esto la imagen

es descompuesta en bloques de rango y se busca, para cada rango, una transformación de

un bloque de dominio mayor de tal forma que el dominio transformado se vea similar al

rango. La aproximación fractal de la imagen es construida iterando estas codificaciones

sobre una imagen inicial arbitraria.

Figura 2.13. El helecho.

En la figura 2.13 se muestra la imagen de un helecho. Esta imagen está almacenada

en un fichero BMP con una resolución de 1024 x1024 píxeles. Para almacenar dicha

imagen se necesitan 131.072 bytes.

Sin embargo, si la imagen se analiza detenidamente se puede observar que las hojas

del helecho tienen el mismo aspecto. Es decir, si se realiza un acercamiento sobre una hoja

del helecho se obtendrá aproximadamente la misma imagen del helecho completo. Si se

vuelve a hacer un acercamiento sobre una hoja de esa hoja se obtiene una estructura similar,

y así sucesivamente. Por tanto, para tener la información de la imagen original sólo se

Page 55: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

47

guarda la información de una hoja pequeña, la cual ocupa menos espacio que la original. En

este caso, se ocupan solamente 96 bytes para guardar la información necesaria para

reproducir la imagen. Ésta es la idea en la que se basa la compresión fractal.

2.6.5 Transformada coseno discreta La transformada coseno discreta (DCT por sus siglas en ingles) es la preferida para

la compresión de imágenes, la emplea JPEG en su estándar. Para el caso bidimensional

queda definida como:

∏+

∏+= ∑∑

=

= N

vy

N

uxyxfvauavuC

N

y

N

x 2

)12(cos

2

)12(cos),()()(),(

1

1

1

0

En el caso de la reconstrucción o transformada inversa se emplea la ecuación 2.9.

Para u, v = 0, 1,2,…, N-1.

∏+

+= ∑∑

=

= N

vy

N

xvuCvauayxf

N

v

N

u 2

)12(cos

2

)12(cos),()()(),(

1

0

1

0

Para x, y = 0, 1, 2,…., N-1.

=

N

Nua

2

1

)(

=

N

Nva

2

1

)(

El resultado de aplicarle la DCT en bloques de 8 x 8 píxeles a la imagen de la Figura

2.14 puede verse en la imagen de la Figura 2.15.

Para u = 0 Para u = 1,2,…, N-1

Para v = 0

Para v = 1,2,…, N-1

[Eq. 2.8]

[Eq. 2.9]

[Eq. 2.10]

[Eq. 2.11]

Page 56: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

48

Figura 2.14. Imagen a particionar en bloques de

8x8.

Figura 2.15. Ejemplo de la aplicación de la DCT

a bloques.

Se puede observar en la Figura 2.15 que la forma en que se compacta la energía

permite realizar la compresión por la forma en que se disponen los datos. Los coeficientes

que se encuentran en la esquina superior izquierda son píxeles con niveles más altos de

intensidad, mientras los de la esquina inferior derecha tienden a ser cero.

El coeficiente que se encuentra en la izquierda superior izquierda es el valor

promedio de todos los coeficientes originales de la subimagen y se denomina DC, todos los

demás se denominan AC resultantes.

Los coeficientes AC pueden ser tratados con algún método de cuantización para

eliminar parte de ellos y obtener mejores resultados de compresión.

Page 57: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

49

La aplicación de la DCT puede ser una forma de almacenar menos coeficientes

(logrando compresión). Se pueden eliminar algunos de ellos, siempre que no exista tanta

variación en la amplitud de los coeficientes de la imagen original. Si hay variaciones

abruptas, la eliminación de coeficientes puede ocasionar que la imagen reconstruida no sea

de buena calidad.

2.6.6 Transformada wavelet

La idea de la transformada wavelet consiste en representar a la función analizada

por superposición con la función wavelet en diferentes escalas.

Existen múltiples funciones wavelet que pueden ser utilizadas para el análisis de

señales, por ejemplo la función Haar, Daubechies 4, Daubechies 6, Daubechies 8, o la

función Mexican hat.

La transformada wavelet es una función matemática que separa a una señal en sus

diferentes componentes de frecuencia. Dicha separación sirve para estudiar a cada

componente por separado. Esto equivale a separar a los contenidos de la señal analizada en

diferentes rangos de frecuencias, en donde a cada rango se le denomina escala. La

transformada wavelet es apta para el análisis de situaciones físicas cuando la señal contiene

picos y discontinuidades, lo que permite que sea usada en campos de estudio tales como:

física cuántica, matemáticas, ingeniería eléctrica, ingeniería electrónica, o geología sísmica

[23], Figura 2.16.

Filtro

Pasa bajas

Filtro

Pasa altas

Señal Original

Contiene la mayorcantidad de la información

de la señal original

Descomposición de laseñal

Contiene el detalle dela señal

Figura 2.16. Descomposición a través de wavelets.

Page 58: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

50

Esta descomposición es la que permite conservar a la imagen original pero de

diferente forma, teniendo así por un lado el detalle de la señal y por otro lado la

información de mayor interés de la imagen; la transformación de una imagen a través de

wavelets es una mejor opción que la transformada discreta coseno, dado a que el costo

computacional es menor y la distribución de la energía es mejor para la reconstrucción

posterior de la imagen.

2.7 Conclusiones

Como se ha visto en el capítulo anterior, la compresión de imágenes es de suma

importancia en el tratamiento de imágenes digitales y existen varios métodos para realizar

esta tarea.

La elección del mejor método de compresión depende de diversos factores, ya que

en cada uno de ellos se pueden encontrar ventajas y desventajas en su aplicación.

La tarea de analizar los diferentes métodos de compresión para este tema de tesis se

reduce a la teoría de fractales y a la transformada wavelet (métodos de compresión con

pérdida de información), es por ello, que en este documento se definen aspectos de cada

una de las técnicas.

En base a la teoría fractal (nuevo paradigma de compresión) se encontró que para la

búsqueda de las funciones contractivas el tiempo de procesamiento es relativamente alto.

Sin embargo, la calidad con la que se reconstruyen las imágenes es bastante buena. Pero el

elevado tiempo de procesamiento disminuye la calidad del algoritmo, es por ello que

muchos artículos relacionados con compresión de tipo fractal se enfocan a mejorar los

sistemas de funciones iteradas, buscando una mejor solución a través de la búsqueda de los

bloques de dominio con técnicas de particionamiento.

La teoría wavelet es bastante amplia, es por ello que al estudiarla es necesario

incluir una serie de transformadas que van desde la transformada de Fourier pasando por la

transformada rápida de Fourier para llegar a la transformada wavelet. El estudiar wavelets

también incluye ver el porqué de su existencia, así una vez que se definieron las debilidades

de las transformadas anteriores a las wavelets (transformada rápida de Fourier,

Transformada corta para la transformada de Fourier), se puede pasar a un nivel más

Page 59: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo II .Marco de Referencia Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

51

concreto de estudio que es: ¿Qué wavelet utilizar y porqué?, en este caso se ha decidido

estudiar dos: la transformada basada en las wavelets Haar y Daubechies (D4).

La respuesta a la pregunta de qué wavelet emplear en cierta aplicación, depende

simplemente del tipo de aplicación a la cual la wavelet será sometida. La transformada

Haar tiene la ventaja de ser simple para entender y fácil de llevar a nivel computacional. En

cuanto a la transformada Daubechies (D4) tiene una ligera complejidad computacional y

conceptual. Como la matriz de Daubechies tiene un traslape, permite que se definan con

mayor detalle las imágenes, a diferencia de Haar que excluye tales datos.

En la figura 2.17 se ven claramente las diferencias al aplicar las transformadas en

cierta señal. La línea superior corresponde a los datos originales y las señales inferior negra

y roja corresponden a la transformada Daubechies y Haar respectivamente.

Como se puede ver en la Figura 2.17 la transformada Haar representa los cambios

de promedios entre los valores pares e impares de la señal. En cambio, el traslape que

realiza Daubechies permite precisar con mayor detalle los cambios en todos los coeficientes

de las bandas.

Datos Originales

Transformada Haar

Transformada Daubechies

Datos Originales: SeñalArribaTransformada Haar: Señal inferior suaveTransformada Daubechies:Señal con cambios marcados en la señal inferior

Figura 2.17. Comparaciones entre transformadas: Haar y Daubechies.

Page 60: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Centro Nacional de Investigación y Desarrollo Tecnológico

Capítulo III

Análisis de algoritmos de

compresión

Page 61: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

53

3.1 Introducción

Una vez que se han definido los criterios necesarios sobre compresión de

imágenes, se procederá a realizar el diseño de la herramienta que permita comprobar los

aspectos teóricos definidos en los capítulos previos.

En este capítulo se define el tipo de imágenes a utilizar, tamaños de imágenes, la

transformada a utilizar, cada uno de los aspectos que contribuyen al buen desempeño

del algoritmo propuesto.

También es de suma importancia ver que no sólo se implementaron métodos de

compresión con pérdida de información (Fractales, Wavelets), sino que también se

aplicaron algoritmos sin pérdida de información (Huffman, Run Length Encoding) con

el fin de hacer una herramienta que tuviera más alternativas para la compresión de

imágenes. Además, se implementó un módulo de empate y resta de imágenes.

A continuación se dará una explicación más amplia de estos métodos de

compresión, así como también la implementación de los algoritmos para las diferentes

imágenes propuestas.

3.2 Base de imágenes utilizadas

Para el análisis de imágenes se optó por una base de imágenes preferentemente

de tamaños cuadrados potencias de 2 (Figura 3.1), el porqué: es que se necesitan de

tamaños cuadrados en las matrices que se manejan tanto en wavelets como en fractales,

no así en los métodos sin pérdida de información (codificación Huffman, codificación

de cadenas).

Figura 3.1. Imágenes ejemplo. Formatos de 8 y 24 bits, cuadradas de 256 x 256.

Las imágenes dispuestas en la figura 3.1 son un ejemplo de las entradas

aceptadas por el sistema (imágenes cuadradas potencias de dos), las modificaciones al

Page 62: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

54

software para realizar pruebas con imágenes que no sean cuadradas potencias de dos

son realmente sencillas, aunque en este tema de tesis no se encuentran contempladas

esas modificaciones.

3.3 Compresión fractal de imágenes

La compresión fractal de imágenes se fundamenta principalmente en el sistema

de funciones iteradas y en el sistema de particionamiento de funciones iteradas, por lo

tanto en esta sección se tratarán estos dos aspectos de suma importancia, que permitirán

conocer más a fondo el funcionamiento de este tipo de compresión.

3.3.1 Sistema de funciones iteradas El concepto de sistema de funciones iteradas (IFS, Iterated Function System)

permite la construcción de fractales clásicos con mucha más transparencia. Ellos pueden

ser obtenidos como atractores propios IFS’s [24].

Por otra parte, una transformación afín consiste en una rotación, una traslación y

un escalamiento que afecta a cada uno de los puntos de la imagen o curva fractal8 que

está siendo estudiada. En pocas palabras, lo que sucede es que el punto identificado por

las coordenadas (x, y) se traslada hasta quedar ubicado en las coordenadas (a, b). La

ecuación que controla dicha transformación se ilustra en la ecuación 3.1.

+

=

=

f

e

y

x

dc

ba

y

xw

b

a.

Desde luego que es necesario buscar una representación que resulte más fácil de

implementar mecánicamente tal como:

++

++=

fdycx

ebyax

b

a

Los parámetros a, b, c y d son los que se encargan de realizar la rotación de cada

punto, mientras que sus magnitudes corresponden al factor de escalamiento, e y f, que se

aplicará a cada uno de ellos.

En cuanto a los parámetros e y f, cabe señalar que son los responsables de

realizar la traslación lineal del punto sobre el que se aplican.

8 Curva fractal. Estudio que no sólo abarca la geometría del caos determinístico, sino también la del universo mismo [24].

[Eq. 3.1]

[Eq. 3.2]

Page 63: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

55

El sistema de funciones iteradas realiza estos pasos sencillos en su aplicación,

ahora se procederá a observar tal actuación.

Se puede observar que a partir de una simple función se pueden tener figuras

extremadamente curiosas y hermosas, a partir de una infinidad de iteraciones (Figura

3.2).

Figura 3.2. Proceso iterativo sobre una imagen. Esta imagen está siendo modificada por la misma función dentro de un mismo espacio de trabajo.

El resultado no deja de ser curioso, pero en principio no dice nada. Sin embargo

si se prueba a hacer lo mismo con otra figura, un círculo, se puede observar que el

resultado es aproximadamente el mismo (Figura 3.3).

Figura 3.3. Iteraciones contractivas como imagen arbitraria “un círculo”.

El resultado es nuevamente interesante. Este hecho se basa en el teorema del

punto fijo. Este teorema [24], en el caso que ocupa, dice que si se itera sobre un

conjunto (la imagen considerada un conjunto de píxeles) usando funciones contractivas

convergen en el infinito a un conjunto (punto) fijo (en el ejemplo es el triángulo). Este

conjunto fijo (imagen) recibe el nombre de atractor. El atractor es la imagen a la que

converge el sistema de funciones iteradas, es decir, si se aplican las funciones sobre la

imagen atractor y se sigue iterando, se obtendrá la misma imagen (Figura 3.4).

Figura 3.4. Iteraciones sobre el atractor. Aplicación de tres funciones contractivas.

Las funciones contractivas en este caso son funciones que, recibiendo una

imagen, dan lugar a otra imagen pero de menor tamaño que la original (la contraen). En

Page 64: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

56

el ejemplo (de la figura 3.4) son 3 las funciones contractivas que se han usado. Este

concepto es imprescindible ya que si la imagen resultado es de un tamaño mayor que la

original lo que se obtendría es una imagen que tiende al infinito, y si fuese de igual

tamaño la imagen no se modificaría [24].

3.3.2 Sistema de particionamiento de funciones iteradas

En definitiva se tiene una propiedad curiosa por un lado y un teorema

matemático que permite un respaldo. El punto de partida ideal para la investigación.

Siguiendo la misma corriente se hace la siguiente pregunta: ¿y si se realiza el proceso

opuesto?, es decir, si se toma una imagen cualquiera y que sea el atractor, ¿cuáles son

las funciones contractivas que aplicándolas a una imagen original cualquiera, van a

converger a esa imagen? Si se consigue obtener estas funciones contractivas sólo se

tendrían que guardar a éstas en lugar de la imagen con el consiguiente ahorro de

espacio, es decir, comprimir la imagen [24].

En el apartado anterior se ha indicado qué es lo que hay que hacer para

comprimir una imagen (obtener las funciones contractivas de esa imagen) pero no se ha

dicho cómo. El método IFS es válido para atractores que son fractales, es decir, que

contienen mucha autosemejanza, como es el caso del helecho, pero si una imagen es

más complicada, como en la mayoría de los casos prácticos, no se encontrarán las

funciones contractivas de manera tan sencilla.

Proceso de compresión de una imagen más complicada:

� Sea una imagen que se considera atractor de la función que se busca. La

imagen a comprimir se considera el atractor, es decir:

o Aquella imagen a la que tiende tras sucesivas aplicaciones se le

aplica una función por determinar sobre cualquier imagen inicial.

o Aquella imagen que al aplicar la función por determinar se vuelve a

obtener como resultado a ella misma.

� Debido a lo anterior el objetivo es buscar una función que copie esa imagen

a sí misma.

Ahora se aplica la técnica PIFS o Sistema de Funciones Iteradas Particionado. El

adjetivo de particionado hace referencia a que ahora no se busca una función que

trasforma una imagen completa (como el cuadrado y el círculo comentados

anteriormente). Ya que esto sirve para comprimir sólo imágenes con autosemejanza. Lo

Page 65: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

57

que se busca es particionar y dividir la imagen original y para cada parte hallar esa

función de transformación. El proceso para encontrar la función de transformación

fractal mencionada consta de los siguientes pasos:

� Dividir la imagen en diferentes bloques. Cada parte de la imagen recibe el nombre

de bloque de rango, y la unión de ellos debe formar la imagen original.

� Se construye una biblioteca de trozos de la imagen cuyo tamaño es el doble al del

bloque de rango, dichas partes reciben el nombre de dominio de bloque.

� Para cada bloque de rango se busca el mejor bloque de dominio en la biblioteca de

imágenes. Es decir, se busca un bloque de dominio que al transformarse sea lo más

parecido posible al rango. Este paso se traduce en un algoritmo de búsqueda, donde

se tienen que recorrer todos los rangos y para cada uno recorrer todos los dominios

de la biblioteca buscando aquel que tras la transformación se parezca más al rango.

� El bloque de dominio que se busca es el resultado de transformar un bloque de

dominio (el tamaño debe ser el doble al del rango). Lo que se busca son los

parámetros de esa transformación, es decir, una función contractiva que obtenga

dicho dominio a una imagen lo más similar posible al rango.

� De esta manera se logra obtener un conjunto de funciones contractivas con las que

se pueda copiar la imagen completa a sí misma.

Figura 3.5. Elección de un bloque de rango. Dominio e isometría.

En la Figura 3.5 se muestra esta serie de pasos. Dado un rango en el hombro de

Lena se ha identificado un dominio que al aplicar una transformación se obtiene como

Page 66: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

58

resultado una imagen muy parecida al bloque de rango. Existen ocho posibilidades para

transformar el bloque de dominio: la original, tres rotaciones de 90 grados y la reflexión

por medio de la horizontal, la vertical y las dos diagonales. En el ejemplo la reflexión

por la primera diagonal sería la más adecuada para llegar al rango. Para adaptar los

niveles de gris se tienen que modificar la luminancia y el contraste de la imagen.

Finalmente se tiene que contraer el bloque de dominio elegido al tamaño del bloque de

rango.

3.3.3 Algoritmo de compresión fractal

Inicialmente se debe tomar una partición de la imagen en subconjuntos llamados

"regiones dominio". Cada una de estas regiones se sustituirá por la transformada afín

que la genera. Cuanto mayor sea el tamaño de los subconjuntos de la partición, mejor

será la compresión de la imagen y peor su calidad.

Posteriormente se tienen que obtener las "regiones rango", que son subconjuntos

de la imagen, de tamaño mayor que las regiones dominio (dos o tres veces más), que no

tienen porqué cubrir todo el conjunto, y pueden superponerse. La idea del algoritmo es

buscar transformaciones contractivas que transformen las regiones rango en regiones

dominio.

En la Figura 3.5 es posible observar que dado un domino, aplicando la isometría

de la primera diagonal, modificando la luminancia y escalando al tamaño del rango se

obtiene una imagen muy similar al rango. En la Figura 3.6 se muestra una comparación

entre el rango y el escalado, donde las zonas que aparecen en color blanco son áreas con

errores importantes. Las zonas negras significan una correspondencia buena entre el

bloque de rango y el bloque de dominio transformado.

Bloque rango Dominio Transformado

Error

Figura 3.6. Bloque rango, dominio del bloque transformado, error.

Page 67: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

59

Este proceso es muy lento cuando se trabaja con un gran número de conjuntos.

Para la compresión de una imagen se debe encontrar para cada bloque de rango

un bloque de dominio que se transforme a dicho rango. Es decir a partir del bloque

dominio (Figura 3.7):

� Calcular su isometría9.

� Sumar un valor de luminancia10.

� Calcular su escalado, obteniendo una imagen muy similar al bloque de

rango.

La función que se obtiene es la siguiente: el conjunto de valores a, b, c y d

caracterizan una determinada isometría y unos valores s de contraste11, o de luminancia

y e y f que es una traslación como se ve en la ecuación 3.3.

Figura 3.7. Función de transformación. Bloque dominio, Isometría 1ª diagonal, luminancia modificada.

+

=

si

fi

ei

z

y

x

dici

biai

zyxWi *

000

0

0

),,(

El bloque de dominio al ser de tamaño superior (el doble concretamente) se debe

escalar al tamaño del rango. En la aplicación el escalado consiste en calcular la media

de cuatro píxeles y el resultado es el nuevo píxel de la imagen escalada. Este proceso se

muestra en figura 3.8 y el promediado de píxeles en la ecuación 3.4.

Figura 3.8. Bloque original y su escalado.

9 Cuando una figura geométrica y su imagen de transformación son congruentes. 10 Cantidad de iluminación contenida en la imagen. 11 Permite resaltar aspectos visuales de uno o más elementos.

[Eq. 3.3]

Page 68: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

60

scaladoValorGrisEValorGrisValorGrisValorGrisValorGris

=+++

4

4321

3.3.4 Algoritmo de descompresión fractal

Lo primero que debe hacerse para el proceso de descompresión es elegir dos

zonas de memoria capaces de contener a la imagen una vez descomprimida. A la

primera zona de memoria se le aplican las transformaciones contractivas obtenidas en la

compresión; en la segunda zona se almacena el resultado.

Después se comparan las imágenes contenidas en las dos zonas de memoria y si

son muy distintas se repite el proceso descrito anteriormente.

Una vez que se ha aplicado la técnica PIFS (Partitioning Iterated Function

System), es decir, particionado la imagen en bloques de rango y para cada uno se ha

obtenido una función de transformación, la compresión es dada por un conjunto de

funciones, es decir, un sistema de funciones iteradas.

Teniendo en cuenta que la imagen a comprimir se ha considerado un atractor, el

proceso de descompresión consiste en que para dada cualquier imagen inicial, aplicando

las funciones de transformación iteradamente, se obtiene la imagen de Lena. Esto es la

descompresión fractal de una imagen.

En la figura 3.9 se presentan imágenes reconstruidas por algoritmos aplicando la

teoría de fractales.

Figura 3.9. Proceso de descompresión de una imagen

fractal.

[Eq. 3.4]

Page 69: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

61

Los algoritmos empleados en teoría de fractales se encuentran afectados por las

regiones rango y dominio, es decir, que para comprimir/descomprimir siempre se

verificará que las contracciones y ampliaciones de la señal se encuentren dentro de estas

regiones.

3.4 Descomposición de imágenes con wavelets

Básicamente, lo que hace la transformada wavelet es filtrar una señal en el

dominio del tiempo mediante filtros paso bajo y paso alto que eliminan ciertos

componentes de alta o baja frecuencia de la señal. El procedimiento se repite para las

señales resultantes del proceso de filtrado anterior [23].

El análisis multirresolución está diseñado para proporcionar una buena

resolución temporal de la señal y pobre resolución en frecuencia para las altas

frecuencias. Pero proporciona buena resolución en frecuencia y baja en tiempo para

bajas frecuencias. Este tratamiento adquiere un sentido especial cuando las señales a

manejar tienen componentes de alta frecuencia de corta duración y componentes de baja

frecuencia de larga duración [25].

Como se puede observar en la figura 3.10, la transformada wavelet filtra una

señal en el dominio del tiempo mediante filtros paso bajo y paso alto que eliminan

ciertos componentes de alta o baja frecuencia de la señal, el procedimiento se repite

para las señales resultantes del proceso de filtrado anterior. Por ejemplo, supóngase que

se tiene una señal con frecuencias de hasta 1000 Hz, en la primera etapa de filtrado la

señal es dividida en dos partes haciéndola pasar a través de un filtro paso-bajo y un

filtro paso-alto con lo cual se obtienen dos versiones diferentes de la misma señal: una

que corresponde a las frecuencias entre 0 y 500 Hz. (paso bajo) y otra que corresponde a

las frecuencias entre 500-1000 Hz. (paso alto). Posteriormente, se toma cualquiera de

las dos versiones (comúnmente la parte del filtro paso bajo) o ambas y se hace

nuevamente la misma división. Esta operación se denomina descomposición.

Page 70: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

62

Señal Original

Descomposición dela señal

Contiene la mayorcantidad de la información

de la señal original

Figura 3.10. Descomposición de la señal en sus bandas de frecuencia.

De esta forma y suponiendo que se ha tomado la parte de la señal

correspondiente al filtro paso bajo se tendrían tres conjuntos de datos, cada uno de los

cuales corresponde a la misma señal pero a distintas frecuencias: 0-250 Hz., 250-500

Hz. y 500-1000 Hz. A continuación se vuelve a tomar la señal correspondiente a la parte

del filtrado de paso bajo haciéndola pasar nuevamente por los filtros paso bajo y paso

alto, de esta forma ya se tendrían 4 conjuntos de señales correspondientes a las

frecuencias 0-125 Hz., 125-250 Hz., 250-500 Hz. y 500-1000Hz. El proceso continúa

hasta que la señal se ha descompuesto en un cierto número de niveles predefinidos.

3.4.1 Transformada Haar

La finalidad de la transformada Haar es construir una base ortonormal de

funciones f Є L2 ([0, 1]) con respecto al producto interior:

∫=1

0

)()(, dxxgxfgf

Distinta a la base de Fourier construida por senos y cosenos. La base construida

es ahora conocida como base de Haar, en honor a su creador Alfred Haar [6]. Existen

muchas bases de este tipo que tienen utilidad en distintas áreas.

La transformada Haar utiliza impulsos cuadrados para aproximar la función

original. Por otra parte, las funciones básicas de las wavelets de Haar de cada nivel se

asemejan a un pulso a lo largo del eje x [24].

Para definir la base de Haar en el intervalo [0,1), se comenzará con la función

indicadora φ: [0, 1) → [0, 1] dada por:

[Eq. 3.5]

[Eq. 3.6]

1 si x Є [0,1]

0 en otro caso

Φ(x) =

Page 71: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

63

Siguiendo esta idea, se define al wavelet básico (o wavelet madre) ψ dado por:

Para definir a los demás integrantes de la familia, primero se debe observar que

todo número n Є N puede ser escrito de forma única como la suma de una potencia de 2

y un entero positivo menor a la potencia usada, i.e. n = 2j + k, 0 ≤ k < 2j; j ≥ 0. Así, se

define el n-ésimo wavelet de la familia como:

Ψn (x) = 2j/2ψ (2

jx − k)

Donde j y k cumplen que n = 2j + k, 0 ≤ k < 2j; j ≥ 0. Este conjunto no está

completo, pues aún no forma una base de las funciones en L2 ([0, 1]).

Para eso, se agrega la función ψ0 (x) = φ (x).

Un ejemplo que es simple, pero que al mismo tiempo ilustra los aspectos más

importantes de la transformada wavelet, es el de la función wavelet Haar. Para explicar

el procedimiento se consideran 8 muestras discretas de una señal analógica:

X(0), X(1), X(2), X(3), X(4), X(5), X(6), X(7)

La transformada wavelet se lleva a cabo formando promedios y diferencias,

divididas entre dos, de los pares adyacentes de la señal original:

X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) X(0) X(1) X(2) X(3) X(4) X(5) X(6)X(7)

a(0) a(1) a(2) a(3) d(0) d(1) d(2) d(3)

Siendo a(n) los promedios y d(n) las diferencias divididas entre dos. En términos

de procesamiento un filtro pasa bajos equivale a realizar promedios y un filtro pasa altos

equivale a realizar diferencias.

En esta parte del procesamiento, la transformada filtra a la señal haciéndola

pasar por un filtro pasa bajos y un filtro pasa altos. En la segunda etapa el proceso se

repite haciendo pasar a los resultados obtenidos del filtro pasa bajos por un filtro pasa

[Eq. 3.7]

[Eq. 3.8]

1 si x Є [0,1/2]

0 en otro caso

-1 si x Є [1/2,1] Ψ(x) =

Page 72: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

64

bajos y un filtro pasa altos. El proceso de descomposición en escalas se repite hasta que

la señal no se pueda dividir más. A cada proceso de filtrado se le considera una escala y

al resultado final se le conoce como espectro wavelet. El proceso descrito para la

transformada wavelet Haar se ilustra numéricamente en la figura 3.11.

37 15211858282835

36 32001183828

32 10428

30 2

30 2 4 10 1 0 20 3

Figura 3.11. Transformada wavelet con la función Haar.

A continuación se da un ejemplo práctico de compresión:

Linealidad:

� Se suponen dos números a y b.

� Transformada que sustituye a y b por su media (m) y su diferencia (d):

2

bam

+=

� Idea: Si a y b están cercanos entonces almacenar su diferencia es más

eficiente.

� Con este método no se pierde información, se puede recuperar a y b así:

2

dma −=

2

dmb +=

� Ésta es la idea que utiliza la transformada de Haar.

Algoritmo: Vector [3, 5, 4, 8, 13, 7, 5, 3].

� Calcular las medias para cada pareja: 42

3510

2

7136

2

844

2

53=

+=

+=

+=

+

Page 73: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

65

� Nuevo vector [4, 6, 10, 4,….].

� Calcular las diferencias.

� Vector completo [4, 6, 10, 4, -1, -2, 3, 1].

� Los valores de la media para abajo tienden a ser muy pequeños y de la media

para arriba tienden a ser lo contrario. Si realizamos el proceso sobre el nuevo

vector hasta N/2 se obtiene el siguiente vector: [6, -1, -1, 3, -1, -2, 3, 1].

� Es por ello que tras sucesivas operaciones se observa que los valores tienden

a cero y el valor promedio del vector se va hacia la izquierda.

En la figura 3.12 se puede ver el proceso de transformación con la wavelet Haar

y su posterior representación a niveles de gris.

Figura 3.12. Transformada Haar a una imagen a niveles de gris.

3.4.2 Transformada Daubechies

La transformada wavelet Daubechies es llamada así por su creador (¿o su

descubridor?), la matemática Ingrid Daubechies [26]. La transformada Daubechies

cuatro (D4) tiene cuatro coeficientes wavelet y funciones de escalación. La función de

escala tiene los coeficientes:

24

310

+=h

24

331

+=h

24

332

+=h

24

313

−=h

A cada paso de la transformación wavelet se le aplica la función de escala al

dato de entrada. Si el conjunto original de datos tiene N valores, la función de escala

será aplicada en el escalón de la transformada wavelet calculado como N/2 valores

[Eq. 3.9]

Page 74: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

66

uniformes. Tal que los valores uniformes de la transformada wavelet estén almacenados

en la mitad baja de los elementos N del vector de entrada.

Los valores de la función wavelet son:

� g0 = h3

� g1 = -h2

� g2 = h1

� g3 = -h0

En cada paso de la transformada wavelet se aplica la función wavelet para los

datos de entrada. Si el conjunto de datos originales tiene N valores, la función wavelet

será aplicada a las diferencias calculadas N/2 (cambio de reflexión en los datos), tal que

la transformada wavelet a los valores wavelet serán almacenados en la parte superior

media de los elementos N del vector de entrada.

Las funciones wavelet y de escalamiento son calculadas tomando el producto

interno de los coeficientes y los cuatro valores. Las ecuaciones son:

Daubechies D4 función de escala:

32322212120 +++ +++= iiii ShShShShai

[ ] [ ] [ ] [ ] [ ]32322212120 +++ +++= iiii ShShShShia

Daubechies D4 función wavelet:

32322212120 +++ +++= iiii SgSgSgSgci

[ ] [ ] [ ] [ ] [ ]32322212120 +++ +++= iiii SgSgSgSgic

Para cada iteración en los pasos de la transformada wavelet se calcula un valor

de escala wavelet y un valor de función wavelet. El índice es incrementado por dos en

cada iteración. Posteriormente se calcula una nueva escala y una función wavelet.

En el caso de la transformada hacia adelante con un conjunto finito de datos, se

incrementará hasta que sea igual a N-2. En la última iteración, el producto interno será

calculado así: s [N-2], s [N-1], s [N] y s [N + 1]. Puesto que se tiene el problema de que

s [N] y s [N + 1] no existen, se puede:

� Tratar los datos como si fueran periódicos. El comienzo de la secuencia hasta

el final (en el caso de la transformación hacia adelante) y los datos finales se

cubren hacia el comienzo (en el caso de la transformada inversa).

[Eq. 3.10]

[Eq. 3.11]

Page 75: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

67

� Tratar los datos como si se reflejaran al final. Esto significa que los datos

están reflejados desde cada final, como si un espejo estuviera sostenido al

final de cada secuencia de datos.

� Ortogonalización Gram-Schmidt. Se ocupa de calcular las funciones wavelet

y de escala que son aplicadas en el comienzo y en el final de cada conjunto

de datos.

En la Figura 3.13 se ve la transformada hacia delante (D4) para una matriz de 8

x 8.

+

+

+

+

+

+

3

3

2

2

1

1

1133

0022

1133

0022

1133

0022

1133

0022

.

0000

0000

00

0000

0000

0000

000000

000000

i

i

i

i

i

i

i

i

c

a

c

a

c

a

c

a

ghgh

ghgh

ghgh

ghgh

ghgh

ghgh

ghgh

ghgh

Figura 3.13. Representación matricial de la D4.

Con los procesos anteriormente descritos es importante mencionar que no se está

realizando ninguna compresión, sino que se esta representando a la señal original pero

descompuesta en sus diferentes bandas de frecuencia (independientemente de los filtros

aplicados).

La eliminación de datos para efectos de la compresión de información en una

señal (o imagen) se da después de la descomposición, ya que se tienen por un lado la

información de baja frecuencia que contiene la mayor cantidad de elementos necesarios

para reconstruir la señal (como se vio en la figura 3.10) y por otra parte la señal de alta

frecuencia cuyos coeficientes tienen una mayor uniformidad, y es ahí donde se aplican

los diferentes métodos para almacenar o eliminar cierta información de detalle de la

imagen independientemente de la calidad con que se requiera construir la señal posterior

a la compresión, en este caso se trabajó con el primer nivel de detalle y se aplicaron tres

tipos de eliminación de detalle, los cuales serán descritos en el capítulo cuatro.

El proceso que se sigue para la descomposición de una señal bidimensional (por

ejemplo una imagen) es similar sólo que se comienza trabajando por filas y

posteriormente por columnas, y el proceso final se muestra en la figura 3.14. Cabe

Page 76: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

68

mencionar que en teoría no se deberían perder datos, pero al manejar promedios y

diferencias entre píxeles (transformada Haar) se da la pérdida en la conversión de datos

y ésta se observa entre más niveles de descomposición se realicen.

Figura 3.14. Descomposición de la imagen a diferentes niveles y su posterior reconstrucción.

Para efectos de la herramienta final se contemplaron imágenes cuadradas, así

también el uso de imágenes a color en 24 bits manejando cada plano (RGB) como si

fueran tres imágenes diferentes.

Por otro lado, a pesar de que en el capítulo anterior se observó claramente que la

transformada que conserva la mayor cantidad de datos en el detalle de las imágenes es

Daubechies 4, para el caso de las imágenes se enfrenta al problema de la conversión de

datos y la normalización del rango dinámico de una imagen a valores que van de 0 a

255 y que al aplicar los filtros correspondientes a Daubechies 4 proporcionaban rangos

que iban desde -30 hasta mas de 300 por lo que normalizar estos datos provocaría

mayor pérdida de información para la reconstrucción de la imagen. Por su parte al

aplicar la transformada Haar la única pérdida de información que efectúa es en la

conversión de datos, es decir un dato flotante convertirlo a entero (por ejemplo: 233.5 a

233).

También se contempla en la herramienta el aplicar las transformaciones a

diferentes bloques de la imagen; es decir, aplicar los filtros wavelet a subimágenes de la

Page 77: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

69

imagen original, tal que permitieran suavizar el detalle de esa pequeña subimagen

(Figura 3.15).

Figura 3.15. Descomposición de la imagen de Bárbara en subimágenes.

3.5 Codificación Huffman

Como se había mostrado en el capítulo dos, la codificación Huffman se basa en

analizar la imagen, obtener los símbolos presentes en ella y formar un nuevo código a

niveles de bits con una longitud menor (tabla 3.1), partiendo de las probabilidades de

aparición, es decir, si un símbolo es más frecuente entonces se procede a darle el código

más pequeño y así sucesivamente.

Tabla 3.1. Símbolos de la imagen y su frecuencia en toda la imagen.

3333

8888

2324

2222

Elemento/Símbolo Frecuencia Probabilidad 2 6 6/16 3 5 5/16 4 1 1/16 8 4 4/16

Para fines de complementar la herramienta final, no se realizaron modificaciones

al algoritmo original y se empleó como apoyo a la descomposición wavelet, en resumen

en la figura 3.16 puede verse el proceso de compresión con codificación Huffman

diseñado para la herramienta final. Antes de realizar tal proceso se procedió a guardar la

información de la paleta y formato de la imagen original. Con ello, se evita el problema

de la paleta de colores.

Page 78: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

70

2.1

Se obtiene la frecuenciade ocurrencia de cadapixel contenido en la

imagen

Se crea el arbol deHuffman

Se ordena los pixelesde acuerdo a ocurrencia

Se lee Pixel a Pixel dela imagen

Archivo cod ificado -extensión HUFF.

IMAGEN - BMP

Se obtiene elnuevo código aniveles de bit.

2.2 Figura 3.16. Proceso de compresión por codificación Huffman.

El proceso de codificación Huffman empleado permite comprimir archivos de

texto e imágenes, en el caso de archivos de texto bastará con llamar a la función

correspondiente, la cual permitirá obtener la ruta y nombre del archivo codificado. En el

caso de imágenes se guarda en primera instancia características esenciales para la

reconstrucción de la imagen: filas, columnas, formato y paleta de colores;

posteriormente se anexa la información obtenida de la codificación Huffman.

En la figura 3.17 se puede observar un ejemplo de compresión usando el

esquema de codificación Huffman.

Figura 3.17. Ejemplo de compresión con codificación Huffman.

Page 79: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

71

3.6 Codificación por longitud de cadenas

La compresión de tipo Run Length es una técnica usada para reducir el tamaño

de una secuencia repetida de caracteres. Típicamente RLE codifica una serie de

símbolos acompañado de un contador de éstos (Figura 3.18). Este tipo de compresión

puede alcanzar índices de compresión limitados dada la simpleza de su ejecución, de

igual forma en ocasiones cuando en el archivo no se tienen repeticiones de caracteres el

archivo duplicará su longitud (por su arquitectura) dependiendo el tipo de dato (entero,

flotante, etc.) que se maneje como indicativo de longitud.

Figura 3.18. Proceso de codificación por RLE.

La tabla 3.2 muestra los valores hexadecimales de una imagen en formato BMP

cuando presenta compresión, aunque es difícil encontrar imágenes con formato BMP

que tengan algún tipo de compresión.

Tabla 3.2. Compresión RLE de una imagen con formato BMP.

Bytes codificados Bytes decodificados

05 10 10 10 10 10 10

00 05 23 65 34 56 45 00 23 65 34 56 45

0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A

00 04 46 57 68 79 46 57 68 79

Como se ha visto (Figura 3.18) el proceso de codificación RLE es bastante

simple y es uno de los primeros estándares de compresión, pero dado a que en imágenes

es difícil encontrar secuencias repetidas se ha optado por modificar un poco la forma de

codificar RLE (Figura 3.19) agregando una información de lectura de archivo.

La cabecera de lectura se forma con banderas (ceros o unos) a niveles de bit. La

cual nos indica como leer el archivo codificado. Si se encuentra en la reconstrucción

con bit con valor uno se leen dos caracteres del archivo codificado el primero indica el

número de veces que se repite el segundo carácter obtenido. En caso contrario si se

Page 80: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

72

encuentra un bit con valor cero se lee un solo carácter y se coloca directamente en el

archivo (o imagen) reconstruido (a).

34567892596000001111

3456888888822222222299999000000

Cabecera deLectura - bits

Información delos bytes

Reconstrucción

Figura 3.19. Operación de la cabecera de lectura de archivo.

En la figura 3.19 se puede ver la operación de la cabecera. Esta forma de

operación evita la duplicidad de información. En el caso de encontrar una imagen con

dimensiones de 256 x 256 píxeles en formato de 8 bits con ninguna secuencia de

caracteres repetida el tamaño aumentaría 8192 bytes frente a la codificación RLE

normal que aumentaría 65536 bytes.

El proceso de compresión utilizando el esquema de codificación RLE

modificado se muestra en la figura 3.20.

2.3

Obtenemos lafrecuencia de ocurrenciade cada pixel contenido

en la imagen

Obtenemos cabecerade lectura de archivo

Obtenemos elnuevo código aniveles de bit.

Archivo codificado -extensión RLE.

IMAGEN - BMP

Figura 3.20. Proceso de compresión por codificación Run Length.

El proceso de codificación RLE empleado permite comprimir archivos de texto e

imágenes, en el caso de archivos de texto bastará con llamar a la función

correspondiente, la cual permitirá obtener la ruta y nombre del archivo codificado. En el

caso de imágenes se guarda en primera instancia características esenciales para la

Page 81: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo III. Análisis de algoritmos de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

73

reconstrucción de la imagen: filas, columnas, formato y paleta de colores;

posteriormente se anexa la información obtenida de la codificación RLE.

Un ejemplo de compresión (codificación RLE) puede ser observado en la figura

3.21. Los mejores resultados de compresión utilizando este esquema se notan en

imágenes binarias o con áreas uniformes muy grandes.

Figura 3.21. Ejemplo de compresión con codificación RLE.

3.7 Conclusiones

En este capítulo se analizaron los diferentes métodos de compresión que se

emplearon en la tesis. Se explicó el porqué de su implementación y se indicaron los

puntos importantes que se tendrían que considerar para efectuar su programación y

prueba. Otro de los propósitos de este capitulo fue proporcionar la información

necesaria para comprender el algoritmo original y mostrar las modificaciones realizadas

a ciertos procesos en cada uno de los algoritmos de compresión empleados en la tesis.

Es importante mencionar que ha pesar de que se realizó un análisis de las

técnicas de compresión LZW y Coseno discreta, no se consideraron finalmente en la

arquitectura de la herramienta debido al tiempo que se necesitaría emplear para llevar a

cabo tal actividad, razón por la cual no se muestran pruebas de ellas.

Page 82: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Centro Nacional de Investigación y Desarrollo Tecnológico

Capítulo IV

Arquitectura del sistema de

compresión

Page 83: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo IV. Arquitectura del sistema de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

75

4.1. Introducción En este capítulo se observará el diseño e implementación de la aplicación final

de compresión. En esta aplicación se encuentran incluidos tres métodos de compresión:

� Codificación Huffman

� Codificación RLE

� Descomposición wavelet

En las siguientes secciones se hará una explicación precisa del algoritmo de

compresión final.

4.2. Arquitectura

En la figura 4.1 se puede observar un esquema general del algoritmo de

compresión implementado en la aplicación de tesis. Como se puede observar el usuario

es quien determina todas y cada una de las características con las que se desea

manipular a la imagen a comprimir.

De forma didáctica se presenta la herramienta de descomposición con wavelets

que a su vez se apoya de algoritmos de compresión sin pérdida RLE y Huffman

respectivamente para obtener el archivo codificado final.

Cabe mencionar que cuando se aplica la transformada wavelet no se está

realizando una compresión sino una forma de representar a la imagen en diferentes

bandas de frecuencia.

Al aplicar la codificación RLE se eliminan las secuencias repetidas de

caracteres obteniendo un archivo texto, el cual es sometido a una nueva codificación a

niveles de bits (codificación Huffman) obteniendo el archivo final de codificación.

En el esquema (Figura 4.1) se puede observar que el usuario puede elegir las

características siguientes:

� Nivel de descomposición Wavelet.

� Tamaño de las subimágenes (si es que se desea).

� Tipo de eliminación de detalle o si no se desea eliminar el detalle.

� Reconstrucción.

� Proceso de almacenamiento.

Page 84: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo IV. Arquitectura del sistema de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

76

2.4 2.5 Figura 4.1. Proceso de compresión aplicando wavelets.

En la Figura 4.1 las flechas indican la relación de cada una de las etapas que

comprenden nuestro método de compresión. Se puede notar que el primer paso es la

descomposición de la señal con Wavelets, para posteriormente realizar el proceso de

eliminación de detalle y finalmente guardar el archivo final codificando la imagen con

métodos sin pérdida de información como son RLE y Huffman respectivamente. Todo

lo anterior puede ser configurado o manipulado con el usuario.

Cada una de estas características será explicada más detenidamente en las

secciones posteriores.

4.2.1.Niveles de descomposición wavelet

Los niveles de descomposición dispuestos son ocho. El nivel máximo de

descomposición está dado por 2p siempre y cuando sea menor o igual al tamaño del

bloque de la imagen, donde p es el nivel de descomposición.

En la imagen de la figura 4.2 se puede ver la descomposición del primer nivel en

una imagen que no ha sido fraccionada, es decir, se toma el bloque completo de la

imagen de 256 x 256 píxeles.

Descomposición dela señal

ReconstrucciónEliminación del

detalle

Codificación RLE

Codificación Huffman

Proceso de Guardar

Usuario

(Wavelets)

Page 85: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo IV. Arquitectura del sistema de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

77

Figura 4.2. Proceso de descomposición del primer nivel.

4.2.2. Tamaño de las subimágenes Los tamaños de las subimágenes utilizadas son múltiplos enteros potencias de

dos que se eligieron desde 8 x 8 píxeles hasta 512 x 512 píxeles. En el caso de que no se

elija fraccionar la imagen se toma por defecto el tamaño de la imagen original.

En la imagen de la figura 4.3 se puede observar el tratamiento de la imagen en

bloques. Cuando se realiza este tipo de fraccionamiento, la descomposición wavelet se

aplica a cada bloque de la imagen por separado.

Figura 4.3. Proceso de descomposición del primer nivel de una imagen

fraccionada en bloques de 128 x 128 píxeles.

Page 86: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo IV. Arquitectura del sistema de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

78

4.2.3. Eliminación del detalle En este trabajo de investigación se manejaron 3 formas de trabajar el detalle

(únicamente al primer nivel):

� Diagonalización (Figura 4.4). Con esta eliminación se trunca la diagonal del

bloque al cual se le aplicó el primer nivel de descomposición wavelet. Es

decir, se reemplaza el píxel correspondiente a la diagonal inferior del bloque

(es) de la imagen o la imagen completa a un valor único.

� Eliminación total (Figura 4.5). Este tipo de eliminación reemplaza el píxel

correspondiente a un valor único, las bandas altas de descomposición,

dejando únicamente la banda de baja frecuencia donde se encuentra la mayor

cantidad de información de la imagen

� Umbralización (Figura 4.6). En primera instancia se optó por manejar el

método Otsu [27] para buscar el mejor umbral y quitar la mitad del detalle

por cada bloque de descomposición pero se enfrentó el problema de que el

detalle tiene un histograma con forma gaussiana lo que hace que la obtención

del umbral con Otsu no funcione eficientemente (Figura 4.7). Debido a que

el histograma del detalle tiene forma gaussiana el mejor umbral es el pico

más alto, considerándose esta característica para la eliminación del detalle.

Figura 4.4. Diagonalización del detalle. Figura 4.5. Eliminación total del detalle.

Page 87: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo IV. Arquitectura del sistema de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

79

Figura 4.6. Umbralización del detalle. Figura 4.7. Histograma del detalle. Mejor umbral pico más alto.

4.2.4. Reconstrucción

Para la reconstrucción de la imagen se requiere de los niveles de descomposición

y del tamaño del bloque de imagen a recomponer con wavelets.

Aunque en esta parte de la herramienta no se ha codificado el archivo sino que

se disponen los datos directamente de la imagen, se optó por colocar la opción de

reconstrucción en el mismo módulo de compresión, para que el usuario verifique a

simple vista la calidad de reconstrucción con la que puede obtener a la imagen, una vez

que ésta ha sido codificada.

En la imagen de la figura 4.8 se puede observar la descomposición al primer

nivel con una eliminación del tipo diagonal y así también la reconstrucción de la misma.

Figura 4.8. Reconstrucción de la imagen descompuesta con wavelets.

Page 88: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo IV. Arquitectura del sistema de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

80

4.2.5. Almacenamiento

En esta parte de la aplicación (Figura 4.9) se despliegan las características de la

imagen, tamaño original y tamaño del archivo codificado posterior a la compresión con

métodos sin pérdida de información. Estos métodos de compresión son la codificación

RLE y Huffman respectivamente.

La figura 4.8 tiene un tamaño en bytes de 66614 el archivo final codificado tiene

un tamaño de 32566 bytes con un porcentaje de compresión de más del 50%.

Figura 4.9. Datos de la imagen original y el archivo codificado.

4.3. Comparación entre imágenes

Para ampliar la aplicación final se implementó un módulo de resta de imágenes

(Figura 4.10). Con este módulo es difícil observar diferencias entre la imagen original y

la reconstruida ya que los resultados tienden a cero. Es por ello, que se diseñó un

algoritmo de empate entre imágenes (Figura 4.11), el cual resalta aquellos píxeles que

no coinciden con la imagen original contrastándolos totalmente del fondo.

Page 89: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo IV. Arquitectura del sistema de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

81

Figura 4.10. Resta de imágenes.

Figura 4.11. Empate entre imágenes.

4.4. Conclusiones

Con los puntos anteriormente citados se está dando al usuario la posibilidad de

conocer el proceso de compresión de forma sencilla.

El aplicar conjuntamente los diferentes métodos de compresión permite al

usuario modificar y con ello determinar las características con la cuales se va a generar

el archivo final (compreso), ésta flexibilidad hace de la arquitectura final una

herramienta útil para comprender el proceso de compresión.

Los archivos de salida (generado por la aplicación) pueden ser reconstruidos con

diferente calidad, dado a que existen características diferentes tanto en la imagen como

en las opciones de construcción (tipo de imagen, descomposición de la señal, etc.), pero

esto se muestra en detalle en el capitulo 5.

Page 90: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo IV. Arquitectura del sistema de compresión Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

82

Realizar un módulo de comparación entre imágenes que sea visual ayuda a observar las

diferencias que existen entre una imagen original y una imagen reconstruida.

Page 91: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Centro Nacional de Investigación y Desarrollo Tecnológico

Capítulo V

Pruebas y resultados

Page 92: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

83

4.1 Introducción

En este capítulo se pueden observar diferentes pruebas realizadas al sistema con

las imágenes que se definieron para el estudio en cuestión.

Se dan a conocer los resultados obtenidos aplicando diferentes tipos de

eliminación del detalle en cada una de las imágenes. Así también se da una explicación

del porqué se dirigieron las tareas de compresión hacia la aplicación de wavelets y

especialmente a la transformada Haar.

De igual forma se realizan pruebas con un software externo de Nacional

Instruments [28] (Vision Builder 2.0) para verificar que la compresión realizada no

afecta el reconocimiento de patrones. El emplear un software externo es para evitar

especulaciones en cuanto al funcionamiento de los algoritmos empleados, además es

parte importante para comprobar que sí se cumple el objetivo de la tesis (bajo o nulo

impacto en el reconocimiento de patrones).

Aunque para la comparación de imágenes se dispone del software de National

Instruments (Visión Builder 2.0), en el sistema realizado en este trabajo de tesis se

diseñó un módulo de comparación y resta de imágenes con el fin de tener en la misma

aplicación resultados entre la imagen original y la imagen reconstruida.

4.2 Recursos técnicos empleados

Las evaluaciones en el desempeño de la herramienta fueron realizadas bajo las

siguientes especificaciones:

� El equipo utilizado fue una computadora Intel Celerón a 2.6 Mhz, disco duro

de 40 Gb y una memoria de 256 Mb.

� Las imágenes fueron en su mayoría de 256 x 256 píxeles en escala de grises,

a color y paletas personalizadas; aunque para manejar las imágenes en

tamaños mayores se manejó Microsoft Photo Editor para escalarlas.

� Los formatos de imagen son BMP, estándar de Microsoft Windows.

Page 93: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

84

4.3 Descripción de los casos de prueba

En esta sección se describen las imágenes utilizadas para realizar las pruebas a

diferentes niveles de descomposición, así como el nivel de detalle eliminado para la

reconstrucción.

En la tabla 5.1 se pueden observar todas las imágenes que sirvieron de prueba

para la herramienta. Los tamaños de las imágenes son cuadrados de 256 y 512 píxeles.

Se utilizaron también imágenes con 12paletas personalizadas y con formatos a color (24

bits). Además de estas imágenes se analizaron otras que el software de National

Intrument (vision builder 2.0) utiliza para realizar ciertas pruebas propias de tal

herramienta y así observar los resultados de las imágenes originales frente a imágenes

reconstruidas.

Se llevaron a cabo 5 casos de experimentación, aunque en cada una de ellas se

comprenden varias imágenes con su respectiva descripción y tamaño de compresión con

el algoritmo dado. Estas pruebas son:

� Caso 1. Compresión de imágenes aplicando codificación Huffman

� Caso 2. Compresión con wavelets aplicando diferentes niveles de

descomposición y métodos de eliminación

� Caso 3. Compresión con fractales aplicado a diferentes tamaños de bloques de

rango.

� Caso 4. Compresión de imágenes aplicando codificaciones por longitudes de

cadena (RLE).

� Caso 5. Pruebas con software de National Instrument.

En las pruebas se muestran los métodos de compresión con y sin pérdida de

información y se indica si la compresión realizada es mejorada o no (expansión).

También se expone un caso de prueba para la compresión fractal con las dificultades

encontradas al implementar el este algoritmo.

12 Aquella que no corresponde a la escala de grises que normalmente maneja el formato de 8 bits.

Page 94: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

85

Tabla 5.1. Lista de imágenes empleadas en la experimentación.

No. Nombre Imagen Descripción de imagen

1 Barbara Imagen en escala de grises (8 bits), en tamaños de 256 x 256 y 512 x 512.

2 Lena Imagen en escala de grises (8 bits), en tamaños de 256 x 256 y 512 x 512.

3 Clown Imagen en escala de grises (8 bits), en tamaños de 256 x 256 y 512 x 512.

4 Bird Imagen a color (24 bits), en sus tamaños de 256 x 256 y 512 x 512.

5 Angiograma Imagen en escala de grises (8 bits), en tamaños de 256 x 256 y 512 x 512

6 EmbrionPollo Imagen con paleta personalizada (8 bits), en tamaños de 256 x 256 y 512 x 512.

7 Fruit Imagen en escala de grises (8 bits), en tamaños de 256 x 256 y 512 x 512.

8 HuellaDactilar Imagen en escala de grises (8 bits), en tamaños de 256 x 256 y 512 x 512.

9 Semillas Polen Imagen en escala de grises (8 bits), en tamaños de 256 x 256 y 512 x 512.

10 Cerillas Imagen binaria (ceros y unos), en tamaños de 256 x 256 y 512 x 512.

4.4 Experimentación

Como se puede ver en la tabla 5.1, son 10 las imágenes empleadas para efectos

de la tesis en cuanto a la etapa de pruebas. En cada una de ellas se observa un índice de

compresión diferente, porque tienen secuencias de datos menores a otras (por ejemplo

binarias), o bien, las frecuencias en los datos son mayores, etc.

Diferentes factores afectan el índice de compresión, así también el tipo de

eliminación del detalle en la descomposición wavelet, ya que cuantifica los píxeles de

tal forma que disminuye el rendimiento del algoritmo.

Para los casos de prueba se presenta una tabla descriptiva de las imágenes que

sirvieron de base para el sistema (tabla 5.1). La tabla 5.2 presenta los resultados de las

diferentes compresiones sin pérdida de información (codificación Huffman).

Caso de prueba 1:

Objetivo: Aplicar el algoritmo de compresión (sin pérdida de información) por

codificación Huffman de la lista de imágenes, de 256 y 512 píxeles, contenidas en la

tabla 5.1.

Tabla 5.2. Pruebas realizadas con compresiones sin pérdida de información. Codificación Huffman.

Prueba Imagen Descripción Bytes Originales Bytes Resultado

1 Barbara 8 bits, 256 x 256 píxeles, escala de grises 66614 64695

2 Barbara 8 bits, 512 x 512 píxeles, escala de grises 263222 251509

3 Lena 8 bits, 256 x 256 píxeles, escala de grises 66614 64392

4 Lena 8 bits, 512 x 512 píxeles, escala de grises 263222 250328

5 Clown 8 bits, 256 x 256 píxeles, escala de grises 66614 65342

6 Clown 8 bits, 512 x 512 píxeles, escala de grises 263222 253649

7 Bird 24 bits, 256 x 256 píxeles, escala de gris 196662 190327

8 Bird 24 bits, 512 x 512 píxeles, escala de gris 786486 757127

Page 95: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

86

9 Angiograma 8 bits, 256 x 256 píxeles, escala de grises 66614 53098

10 Angiograma 8 bits, 512 x 512 píxeles, escala de grises 263222 203895

11 EmbrionPollo 8 bits, 256 x 256 píxeles, paleta a colores 66614 60988

12 EmbrionPollo 8 bits, 512 x 512 píxeles, paleta a colores 263222 236992

13 Fruit 8 bits, 256 x 256 píxeles, escala de grises 66614 65359

14 Fruit 8 bits, 512 x 512 píxeles, escala de grises 263222 254452

15 Huella 8 bits, 256 x 256 píxeles, escala de grises 66614 55222

16 Huella 8 bits, 512 x 512 píxeles, escala de grises 263222 215029

17 Semillas Polen 8 bits, 256 x 256 píxeles, escala de grises 66614 40415

18 Semillas Polen 8 bits, 512 x 512 píxeles, escala de grises 263222 158274

19 Cerillas 8 bits, 256 x 256 píxeles, imagen binaria 66614 9246

20 Cerillas 8 bits, 512 x 512 píxeles, imagen binaria 263222 53083

Como se puede ver en la tabla 5.2 la compresión se realiza con éxito empleando

Huffman. La compresión es mínima y depende de la frecuencia de información

contenida en la imagen.

Un detalle importante en la codificación Huffman es que cuando la distribución

del histograma en una imagen sea uniforme, menor será la compresión dado a que el

árbol aumenta en cuanto a tamaño y las ramas finales se encuentran casi o a la misma

altura. En caso contrario si el histograma no es uniforme, entonces los símbolos más

frecuentes tendrán el código más pequeño y por lo consiguiente se realizará una mejor

codificación (archivo más pequeño).

A continuación en la figura 5.1 se puede observar una de las imágenes

reconstruidas (la cual se espera sea una imagen idéntica a la original) dado a que se

emplean métodos sin pérdida de información.

Para confirmar que la información de la imagen reconstruida es idéntica a la

original se aplica el módulo de resta y empate de imágenes respectivamente, con esto

puede observarse que las imágenes son idénticas.

Figura 5.1. Angiograma. Imagen original con su imagen reconstruida, resta de imágenes y empate respectivamente.

Page 96: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

87

Caso de prueba 2:

Objetivo: Realizar la compresión de tres imágenes (Bárbara, Birds y Huella) de la tabla

5.1 aplicando métodos de compresión con pérdida de información, en este caso la

transformada wavelet Haar a diferentes niveles de descomposición, así también con

diferentes modelos de cuantización.

Para efectos de la aplicación de wavelets se dispondrá de los algoritmos sin

pérdida de información.

Las pruebas a realizar dadas las combinaciones entre niveles de descomposición,

números de imágenes, métodos de eliminación de detalle; fueron muchas, pero dado el

tamaño que éstas ocuparían no es posible plasmarlas en este documento de tesis, es por

ello que únicamente se procederá a describir las mismas imágenes (tabla 5.3) con

diferentes características.

Tabla 5.3. Descripción de las imágenes empleadas para compresión con wavelets.

Índice Nombre Formato Filas Columnas 1 Bárbara 8 bits 256 256 2 Birds 24 bits (a colores) 256 256 3 Huella 8 bits 512 512

Para hacer referencia a la imagen a comprimir con wavelets se hará referencia a

la tabla 5.3 para indicar el tipo de imagen se está empleando.

Tabla 5.4. Resultado de las pruebas realizadas con compresiones con pérdida de información. Transformada Haar.

Imagen Descomposición Tamaño Bloque Método de cuantización Bytes

Originales Bytes

Resultado 1 1 256 Diagonalización 66614 32566 1 1 256 Umbralización 66614 26614 1 1 256 Eliminación 66614 19528 1 1 8 Diagonalización 66614 43850 1 1 8 Umbralización 66614 55901 1 1 8 Eliminación 66614 24191 2 1 256 Diagonalización 196662 85462 2 1 256 Umbralización 196662 64393 2 1 256 Eliminación 196662 53202 2 1 8 Diagonalización 196662 102957 2 1 8 Umbralización 196662 139753 2 1 8 Eliminación 196662 59553 3 1 512 Diagonalización 263222 111784 3 1 512 Umbralización 263222 68461 3 1 512 Eliminación 263222 63502 3 1 8 Diagonalización 263222 159380 3 1 8 Umbralización 263222 193573 3 1 8 Eliminación 263222 82053

Page 97: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

88

Como se puede observar en la tabla 5.4, la compresión realizada es bastante

interesante, ya que mejora sustancialmente los métodos de compresión sin pérdida de

información.

La figura 5.2 presenta un ejemplo de la reconstrucción para verificar que

realmente a simple vista es difícil encontrar defectos.

Con la tabla anterior se puede ver que la compresión depende de varios factores:

� Niveles de descomposición de la señal. En este paso también se genera una

pérdida de información, porque al efectuar promedios y diferencias a más

niveles, lógicamente se realiza una mayor conversión de tipos de datos.

� Tamaño de los bloques (subimágenes). Debido a que se emplean algoritmos de

secuencias de datos y frecuencias para la compresión es más difícil encontrar

tales características cuando se divide la imagen, aun cuando se podría solucionar

implementando un reensamble de bloques.

� Modelo o método de cuantización. Aun cuando es método que mejores

resultados ofrece, en cuanto a la calidad de la imagen y menor impacto en el

reconocimiento, la umbralización todo depende de la calidad de la imagen a

comprimir.

a) b) c) d)

Figura 5.2 a) Imagen original, b) Imagen reconstruida, c) Resta de imágenes d) Empate de imágenes.

Las imágenes anteriores (Figura 5.2) describen claramente lo que los estándares

de compresión presentan que es: “el engaño óptico”. Es difícil decir que la primera es la

imagen original y la segunda su imagen reconstruida posterior a la aplicación de

wavelets y de un método de eliminación de detalle (umbralización); pero realmente para

el proceso de reconocimiento de patrones la resta de imágenes ejemplifica muy poco

(Figura 5.2 c), ya que la mayoría de los valores tienden a cero y pareciera que la imagen

reconstruida es idéntica a la original. Sin embargo, el empate de píxeles (Figura 5.2 d)

muestra en blanco los píxeles que no corresponden entre sí, los cuales indican una gran

Page 98: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

89

cantidad de datos que no coinciden que a simple vista o con una resta de imágenes no se

pueden ver. Los valores obtenidos entre la imagen de la figura 5.2 a y la 5.2 b

corresponden a:

PSNR = 4.93515693284949 y MSE = 0.754959106445313

Caso de prueba 3:

Objetivo: Realizar la compresión de las imágenes utilizando fractales. Se dispone de

una sola imagen (Figura 5.3) porque con una sola imagen se pueden observar los

resultados en que se realiza la compresión (tiempo y tamaño de compresión). Aquí se

observa claramente que el tiempo de compresión afecta el rendimiento del software.

Para esta aplicación se manejaron imágenes con dimensiones de 256 x 256

píxeles y formato de 8 bits en escala de grises. Se utilizaron estas características para

aprovechar los tipos de dato de 8 bits (unsigned char). Es decir que si se amplia el

tamaño de las imágenes también aumentaría el tamaño del tipo de dato a 16 bits (short

int) con el que lógicamente aumentaría también el tamaño de archivo compreso con

fractales.

Figura 5.3. Bárbara. Imagen a comprimir con fractales.

A la imagen de la figura 5.3 se le sometió a compresión a través de fractales. En

las imágenes 5.4, 5.5 y 5.6 se ve la reconstrucción de la imagen original empleando

diferentes tamaños de rangos de dominio con tiempos aceptables de descompresión pero

no obteniendo una calidad aceptable de reconstrucción.

Page 99: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

90

Figura 5.4. Bloques de 32 píxeles. Figura 5.5. Bloques de 16 píxeles. Figura 5.6. Bloques de 8 píxeles.

Figura 5.7. Bloques de 4 píxeles. Figura 5.8. Bloques de 2 píxeles.

Las imágenes mejor reconstruidas en cuanto a la calidad visual fueron las

imágenes de las figuras 5.7 y 5.8 (con bloques de 4 y 2 píxeles), pero aunque las

reconstrucciones son bastante aceptables los tiempos de compresión son muy

deficientes, ya que se tomaron hasta casi 7 minutos para obtener la imagen de la figura

5.7 y casi el doble de tiempo y tamaño en archivo (expansión) en la imagen de la figura

5.8.

En la tabla 5.5 se pueden ver los resultados obtenidos con este tipo de

compresión, entre más pequeños son los tamaños del bloque de rango mayor es el

tamaño de archivo. La imagen aceptable en cuanto a tamaño y calidad es la que maneja

tamaños de bloque de 4 píxeles, aunque el tiempo de compresión es elevado.

Tabla 5.5. Pruebas realizadas con compresiones con pérdida de información. Fractales. Imagen Tamaño del Bloque Bytes Originales Bytes Resultado

Bárbara 32 píxeles 66614 453 Bárbara 16 píxeles 66614 1797 Bárbara 8 píxeles 66614 7173 Bárbara 4 píxeles 66614 28677 Bárbara 2 píxeles 66614 114693

Page 100: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

91

Caso de prueba 4:

Objetivo: Realizar la compresión de las imágenes de la tabla 5.1 aplicando métodos de

compresión sin pérdida de información en este caso codificación RLE.

Tabla 5.6. Pruebas realizadas con compresiones sin pérdida de información. Codificación RLE.

Prueba Imagen Descripción Bytes Originales Bytes Resultado

1 Barbara 8 bits, 256 x 256 píxeles, escala de grises 66614 73684

2 Barbara 8 bits, 512 x 512 píxeles, escala de grises 263222 271474

3 Lena 8 bits, 256 x 256 píxeles, escala de grises 66614 73594

4 Lena 8 bits, 512 x 512 píxeles, escala de grises 263222 269728

5 Clown 8 bits, 256 x 256 píxeles, escala de grises 66614 73337

6 Clown 8 bits, 512 x 512 píxeles, escala de grises 263222 271583

7 Bird 24 bits, 256 x 256 píxeles, escala de gris 196662 219879

8 Bird 24 bits, 512 x 512 píxeles, escala de gris 786486 878136

9 Angiograma 8 bits, 256 x 256 píxeles, escala de grises 66614 68393

10 Angiograma 8 bits, 512 x 512 píxeles, escala de grises 263222 268221

11 EmbrionPollo 8 bits, 256 x 256 píxeles, paleta a colores 66614 57673

12 EmbrionPollo 8 bits, 512 x 512 píxeles, paleta a colores 263222 175885

13 Fruit 8 bits, 256 x 256 píxeles, escala de grises 66614 73285

14 Fruit 8 bits, 512 x 512 píxeles, escala de grises 263222 269206

15 Huella 8 bits, 256 x 256 píxeles, escala de grises 66614 74257

16 Huella 8 bits, 512 x 512 píxeles, escala de grises 263222 283418

17 Semillas Polen 8 bits, 256 x 256 píxeles, escala de grises 66614 60472

18 Semillas Polen 8 bits, 512 x 512 píxeles, escala de grises 263222 212182

19 Cerillas 8 bits, 256 x 256 píxeles, imagen binaria 66614 3660

20 Cerillas 8 bits, 512 x 512 píxeles, imagen binaria 263222 13983

Como se puede ver en la tabla 5.6 una codificación eficiente (compresión) es

realizada en pocas imágenes, y esto es por el tipo de imagen, es decir, que entre mayor

secuencia de datos tenga mejor comprime (codificación RLE).

La forma en que se codificó el algoritmo RLE al anexar una cabecera de lectura

(visto en la sección anterior) mejoró el rendimiento del algoritmo tradicional de

compresión al no generar un archivo de mayor tamaño al original.

Un dato interesante (observado) es que la compresión de la imagen de las

cerillas (tabla 5.6 prueba 19 y 20) mejora notablemente cualquier algoritmo con o sin

Page 101: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

92

pérdida implementado en el sistema final de compresión de información por las

características de la imagen (binaria y con muchas zonas uniformes).

A continuación en la figura 5.9 se puede observar una de las imágenes

reconstruidas, la cual tendrá que ser una imagen idéntica a la original, dado a que se

emplean métodos sin pérdida de información, para ello se empleó un método de resta de

imágenes, además de una comparación dato a dato y aquellos que no concuerdan con la

reconstrucción se realzan para observar cuáles píxeles cambiaron.

a) b) c) d) Figura 5.9 a) Imagen original, b) Imagen reconstruida, c) Resta de imágenes d) Empate de imágenes.

Las pruebas anteriores fueron presentadas con detalle con el fin de dar a conocer

los resultados de cada uno de los métodos aplicados. En la sección siguiente se hará un

análisis de los resultados obtenidos.

Caso de prueba 5:

Objetivo: Realizar compresión de algunas de las imágenes contenidas en el software de

National Instruments para verificar con un software externo (Vision Builder) para el

proceso de reconocimiento de patrones. Buscar obtener semejantes resultados a los que

la imagen original obtiene con este software.

Como ya se mencionó, las pruebas son realizadas con imágenes distribuidas por

National Instruments. Con ello es posible corroborar que el algoritmo empleado para

comprimir tales imágenes no afecta su posterior reconocimiento desde una herramienta

externa.

Cabe destacar que el software maneja específicamente imágenes de 640 x 480

píxeles y la herramienta de compresión maneja imágenes cuadradas potencias de dos

por lo que antes de la compresión se sometieron a un escalado de la imagen y posterior

a la reconstrucción se sometieron tales imágenes a un nuevo escalado. Es importante

considerar lo anterior ya que al estar cambiando los tamaños de la imagen podría

Page 102: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

93

generar puntos o datos que no estaban ahí y que pueden mermar el rendimiento del

software de National Instruments, dado a que por pequeñas variaciones en las imágenes,

este software modifica radicalmente sus resultados.

La imagen de la figura 5.10 muestra una pieza que se encuentra en buen estado,

de acuerdo a los resultados del software. Si se realiza la comparación de los datos

registrados por la imagen de la figura 5.10 con la reconstrucción de la misma en la 5.11

se puede observar que los resultados son similares, y aunque existen variaciones, estas

variaciones no afectan el reconocimiento de patrones, al ser mínimas.

En otras palabras, los datos obtenidos en la figura 5.10 son semejantes a la

imagen de la figura reconstruida de la 5.11. Con esta similitud de resultados el software

al realizar las mediciones pertinentes no encuentra dato alguno que haga rechazar la

pieza en la imagen que se está reconstruyendo.

Locate bottle left edge: 139.29 PASS

Bottle referencial: PASS

Left edges: 2

Left distance: 10.53

Right edges: 2

Right distance: 5.52

Spray Nozzle Presence: 54.61 pix.

Cap Presence: Min Intensity 22.

Figura 5.10. Imagen original y la información extraída del software de National Instruments.

Locate bottle left edge: 139.15 PASS

Bottle referential: PASS

Left edges: 2

Left distance: 9.44

Right edges: 2

Right distance: 10.34

Spray Nozzle Presence: 55.70 pix.

Cap Presence: Min Intensity 25.

Figura 5.11. Imagen reconstruida y la información extraída del software de National Intruments.

Page 103: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

94

A continuación se presenta una imagen (Figura 5.12) que tiene defectos en la

parte de la tapa, tal defecto provoca que el software de National Instruments la rechace

por completo al no estar dentro de la calidad solicitada. En la imagen de la figura 5.13

se tiene la reconstrucción de la imagen de la figura 5.12 con resultados similares, por lo

que el software también rechaza esta última pieza (figura 5.13).

Locate bottle left edge: 100.59 PASS

Bottle referential: PASS

Left edges: 2

Left distance: 22.40 too large. FAIL

Right edges: 2

Right distance: 23.42 too large FAIL

Spray Nozzle Presence: 55.56 pix.

Cap Presence: Min Intensity 20.

Figura 5.12. Imagen original y la información extraída del software de National Instruments.

Locate bottle left edge: 99.15 PASS

Bottle referential: PASS

Left edges: 2

Left distance: 22.49 too large. FAIL

Right edges: 2

Right distance: 23.29 too large. FAIL

Spray Nozzle Presence: 58.40 pix. too large

Cap Presence: Min Intensity 24.

Figura 5.13. Imagen reconstruida y la información extraída del software de National Instruments. Otra prueba realizada fue con imágenes de abrazaderas tal como se muestra en

las figuras 5.14 y 5.15. En este tipo de imágenes es importante observar que un alto

grado de variación en los píxeles el software de National Instruments arrojaría

resultados indeseables al realizar el análisis de las imágenes reconstruidas. Por lo tanto,

es necesario poner atención en los valores obtenidos en la figura 5.14 como en la 5.15 al

ser analizadas con este software.

Page 104: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

95

Los resultados son bastante aceptables, dado que no afectan el reconocimiento

de las piezas de acuerdo a las medidas que despliega el software.

Match Patern: # Matches 1. PASS

Set coordinate System: PASS

Find Circular Edge: Radius 59.22. PASS

Left distance: 9.44

Detect Object: # Objects 1. 1 PASS

Detect Object: # Objects 2. 2 PASS

Caliper: Distance: 28.32

Figura 5.14. Imagen original y la información extraída del software de National Instruments.

Match Patern: # Matches 1. PASS

Set coordinate System: PASS

Find Circular Edge: Radius 59.25. PASS

Left distance: 9.44

Detect Object: # Objects 1. 1 PASS

Detect Object: # Objects 2. 2 PASS

Caliper: Distance: 28.29

Figura 5.15. Imagen reconstruida y la información extraída del software de National Instruments.

También se analizaron imágenes de abrazaderas con fallos (Figuras 5.16 y 5.17).

La principal falla es la distancia del calibrador, detectando que es demasiado pequeña y

por ello se considera una pieza defectuosa. Pero es posible observar que la imagen

reconstruida de la figura 5.17 tiene casi idénticos datos, de igual forma indica que la

distancia del calibrador es demasiado pequeña.

Page 105: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

96

Match Patern: # Matches 1. PASS

Set coordinate System: PASS

Find Circular Edge: Radius 58.95. PASS

Left distance: 9.44

Detect Object: # Objects 1. 1 PASS

Detect Object: # Objects 2. 2 PASS

Caliper: Distance: 24.66 too small.

Figura 5.16. Imagen original y la información extraída del software de National Instruments.

Match Patern: # Matches 1. PASS

Set coordinate System: PASS

Find Circular Edge: Radius 58.92. PASS

Left distance: 9.44

Detect Object: # Objects 1. 1 PASS

Detect Object: # Objects 2. 2 PASS

Caliper: Distance: 23.72 too small.

Figura 5.17. Imagen reconstruida y la información extraída del software de National Instruments.

Las figuras 5.10, 5.11, 5.12, 5.13, 5.14, 5.15, 5.16 y 5.17 confirman que la

compresión no afecto el proceso de reconocimiento de patrones al obtener resultados

similares tanto en las piezas aceptadas por el software como las que no pasan las

medidas aceptadas por algún defecto.

Figura 5.18. Izquierda el histograma de la imagen reconstruida, a la derecha el de su imagen original.

Page 106: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo V. Pruebas y resultados Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

97

Si se observan los histogramas de las imágenes originales con su

correspondiente descompresión se puede ver que a simple vista no existe diferencia

alguna, como se muestra en la figura 5.18.

Las imágenes que fueron comprimidas alcanzaron tasas de compresión de 5:1,

por la uniformidad de colores.

4.5 Análisis de resultados

Cuando se realiza la compresión sin pérdida de información el tamaño del

archivo codificado obtenido es más pequeño que el original dependiendo del tipo de

imagen a codificar, pero con la ayuda de la descomposición wavelet estos algoritmos se

vuelven bastante eficientes gracias a la forma en que se disponen los datos en la imagen

que se pretende comprimir.

Prácticamente los mejores resultados obtenidos son los archivos codificados en

las pruebas del caso 2. En este caso se manejó la arquitectura planteada. A partir de la

descomposición wavelet y cuantificación realizar la compresión con métodos de

compresión sin pérdida.

Se desistió continuar trabajando con una herramienta basada en fractales dada la

complejidad en cuanto a tiempo de respuesta y deficiente calidad de reconstrucción.

Las pruebas efectuadas con wavelets son bastante amplias, pero únicamente se

muestran algunas de ellas, así también se presentan resultados empleando una

herramienta de National Instruments para mostrar la eficiencia del algoritmo planteado

en este documento de tesis. Las imágenes reconstruidas generan pocas variaciones en tal

software.

También se observó que los algoritmos actúan de forma diferente en torno a las

características de las imágenes a comprimir. Es decir, cuanto mayor detalle tenga la

imagen se obtendrá una menor compresión y en caso contrario, se alcanzan mejores

resultados.

En cuanto a la paleta de colores en las imágenes de 8 bits, ésta se guarda de

forma intacta para poder realizar la descompresión, esta información corresponde a 1

Kb de información que se anexa al archivo final compreso, por lo tanto, si se maneja

una paleta personalizada no afectará sus resultados, ya que lo que importa no es la

paleta de colores, si no la calidad de la imagen.

Page 107: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Centro Nacional de Investigación y Desarrollo Tecnológico

Capítulo VI

Conclusiones

Page 108: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo VI. Conclusiones Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

99

5.1 Introducción

En este último capítulo se dan las conclusiones del trabajo de tesis, describiendo

las metas alcanzadas con la herramienta computacional, así se listan las aportaciones

realizadas. Otro punto de interés son los trabajos futuros en los que se podrían ampliar

los conocimientos en torno a este tema de estudio.

La compresión de imágenes tiene aún muchas líneas de investigación, y en este

trabajo no se han agotado todas, el enfoque ha sido investigar la aplicación de wavelets

y fractales, en donde se ha concluido que la mejor forma de aplicar métodos de

compresión es aplicando wavelets. En este caso la transformada Haar porque, aunque es

una onda cuadrada, permite conservar la mayoría de datos originales de la imagen a

diferencia de la transformada Daubechies 4 por la normalización de datos al rango

dinámico de la imagen (0 - 255).

La flexibilidad que se tiene al trabajar con wavelets fue una de las razones para

aplicar esta transformada en lugar de emplear fractales como método final de

compresión, además, de que wavelets permite conservar características esenciales que

evitan que el reconocimiento de la imagen posterior a su reconstrucción sea vea

afectado.

También se ha concluido que al aplicar métodos de compresión como RLE y

Huffman, en conjunto, se mejora notablemente el tamaño del archivo codificado.

Las pruebas realizadas en el capítulo anterior se consideraron bastante

aceptables para comprobar que el reconocimiento de patrones no es afectado

notablemente, evaluándose tal proceso con el uso de la herramienta externa de National

Instruments (Vision Builder 2.0), la cual muestra resultados que variaron poco en la

imagen original frente a la imagen reconstruida.

5.2 Metas logradas

Al término de este trabajo de investigación y en base a los resultados obtenidos,

se puede mencionar que las metas alcanzadas son satisfactorias de acuerdo a lo

siguiente:

� Se alcanza comprimir imágenes con rangos aceptables de hasta más de 5:1.

� Se manejan tanto imágenes a escala de grises como a color o con paletas

personalizadas.

� Se implementaron cuatro métodos para compresión para hacer un mejor estudio:

Page 109: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo VI. Conclusiones Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

100

o Codificación Huffman.

o Codificación Run Length Encoding.

o Compresión con fractales.

o Descomposición con wavelets.

� En cuanto a la descomposición wavelet, se implementaron cuatro formas para

tratar al detalle de la imagen descompuesta:

o Eliminación total del detalle del primer nivel.

o Umbralización.

o Diagonalización.

o Conservación total.

� Los tamaños de los archivos resultantes son variables, dependen

considerablemente de la imagen.

� El reconocimiento de patrones no se vio afectado en la compresión de imágenes

aún frente a algoritmos con pérdida de información (wavelets), que fue el

objetivo buscado.

Con los puntos anteriores se puede decir que se han cumplido las metas

planteadas en la tesis.

5.3 Aportaciones

Además de los objetivos propuestos para este trabajo de investigación, se

lograron algunas aportaciones adicionales. Las más importantes son las siguientes:

� Se estudiaron e implementaron cuatro métodos de compresión de imágenes,

siendo que únicamente se tenía contemplado el análisis de dos de ellos y la

implementación de uno.

� Se realizó un estudio exhaustivo del funcionamiento de los cuatro métodos

implementados (RLE, Huffman, Fractales, Wavelets) en la herramienta final de

compresión.

� Los métodos de compresión sin pérdida de información fueron adaptados para la

compresión de archivos de diferentes tipos (imágenes y texto).

� Para dar mayor veracidad a las técnicas de compresión implementadas en esta

herramienta se realizaron pruebas con software externo desarrollado por

National Instruments.

Page 110: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo VI. Conclusiones Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

101

� Se presenta una documentación (sencilla) del funcionamiento de los algoritmos

implementados en este trabajo para su mayor comprensión.

5.4 Trabajos futuros

Existe una gran variedad de trabajos futuros referentes a la tesis que pueden

considerarse importantes de mencionar:

� Trabajar algún tipo de filtro en conjunto con wavelets. Es decir, descomponer la

señal y obtener la primer banda izquierda (LL) y guardar únicamente esa

información con lo que en primera instancia disminuiría de un archivo de 66 Kb.

a 18 Kb. Por otro lado, para la recomposición de los detalles eliminados aplicar

algún tipo de filtrado (Figura 6.1 y 6.2).

� Emplear la transformación del dominio de la imagen como los es YUV [29] o

HSI [30] para imágenes a 24 bits, ya que se realizaron las pruebas a una imagen

transformada a YUV y se obtienen rangos mayores de compresión (figura 5.3).

� Trabajar en la compresión de video manejando wavelets.

� Buscar mezclar técnicas de compresión para observar el comportamiento

(agregar el método de compresión LZW).

� Al efectuar el fraccionamiento de la imagen para la aplicación de la

transformada wavelet agrupar los bloques en una sola sección con el fin de tener

mayor número de zonas uniformes y así aumentar la compresión.

� Diseño de métodos de eliminación de detalle. Con el fin de encontrar algún

método automático para efectuar tal eliminación.

Figura 6.1. Histograma local de una de las bandas de descomposición wavelet.

Page 111: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo VI. Conclusiones Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

102

Figura 6.2. Histograma de el filtro prewitt aplicado a la imagen de la izquierda.

Figura 6.3. Imagen original con su imagen transformada a YUV, reconstrucción, resta de

imágenes y empate respectivamente.

Como se puede observar en la figura 6.1 y 6.2 los histogramas generan una

forma de onda muy parecida. Con estas características de onda se podría continuar

trabajando buscando algún tipo de filtrado que obtenga similares características.

En las imágenes de la figura 6.3 se puede ver que al transformar a YUV la

imagen se reconstruye visualmente muy bien, pero al observar la resta de imágenes y la

coincidencia entre píxeles de las imágenes (original y transformada) el error es enorme,

por lo que sería interesante el trabajar con transformaciones de dominio realizando un

análisis de qué tanto se ve afectada la reconstrucción de la imagen.

Finalmente al trabajar con wavelets se encontró con diferentes transformadas, en

este trabajo se estudiaron dos (Daubechies 4 y Haar) aunque únicamente se implementó

la transformada Haar, por lo que sería recomendable trabajar con otras para corroborar

Page 112: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo VI. Conclusiones Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

103

si la transformada empleada fue la mejor o si se puede mejorar aplicando filtros propios

de descomposición.

Referencias

[1] R. C., González, R. E., Woods, “Tratamiento digital de imágenes”, Addison-

Wesley/Diaz de Santos, E.U.A., 1996.

[2] R., García. "Compresión de imágenes fijas en Matlab a través de DCT y Wavelet". Tesis de maestría en Ciencias con Especialidad en Ingeniería Electrónica. Departamento de Ingeniería Electrónica, Escuela de Ingeniería, Universidad de las Américas, 2003.

[3] J. A., Castillo, "Localización de objetos en imágenes en color utilizando textura,

aplicación a objetos alfafexibles", Reporte interno, Centro Nacional de Investigación y Desarrollo Tecnológico, Morelos, México, 2002.

[4] O. O., Vergara, "Reconocimiento de texturas artificiales aplicación a la inspección

visual". Tesis de maestría en Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Morelos, México, 2003.

[5] D. Melero, 1999, "Matemática fractal". [On line] Available: http://www2.uah.es/vivatacademia/anteriores/once/docencia.htm

[6] C. A. Hijar, J. P. Newman, Rodríguez B., M. A. Peñaloza, R. N., "Wavelets". Material de cursos, Instituto Tecnológico Autónomo de México, 2003.

[7] S. Díaz, Febrero 2000, "Compresión de mamografías digitales", Universidad de Oviedo, [On line] Available: http://coco.ccu.uniovi.es/immed/compresion/

[8] A. Uhl. "Adaptive wavelet image block coding". In H.H. Szu, editor, Wavelet Applications III, volume 2762 of SPIE Proceedings, pages 127-135, Orlando, FL, USA, April 1996.

[9] J., Oliver, M.P., Malumbres, "An implementation of the EZW algorithm", Publicaciones de la Universidad Jaume I (SNRFAI 2001), ISBN: 84-8021-349-3, pp. 37-42, Año 2001.No. 12, Diciembre 1993.

[10] J.M., Shapiro, "Embedded image coding using zerotrees of Wavelet coefficients", IEEE Transactions On Image Processing, Vol. 41,

[11] T. W., Ryan, L. D. Sanders, H. D. Fisher, A. E. Everson, "Image compression By

texture modeling in the Wavelet domain". IEEE Transactions On Image Processing, Tucson Arizona, Vol. 5, No 1. Enero 1996.

[12] J. L., Cárdenas–Barrena, J. V., Lorenzo–Ginori, E., Rodríguez y Valdivia. "Algoritmo

basado en Wavelets packets para la compresión de señales electroencefalográficas".II Congreso Latinoamericano de Ingeniería Biomédica, Habana Cuba, Mayo 2001.

[13] K. U. Barthel, J. Schüttemeyer, T. Voyé, P. Noll. "A new image coding technique

unifying fractal and transform coding". Proceedings of ICIP'94, IEEE International Conference on Image Processing, Austin Texas, Vol. III, pp. 112-116, 1994.

[14] W. A., Stapleton, W., Mahmoud, D. J., Jackson. "A parallel implementation of a

fractal image compression algorithm". Proceedings of the Twenty-Eighth Southeastern Symposium on System Theory, pp. 332-336, March 31-April 2, 1996.

[15] N. Fournier, G. Castro, C. Russo, O. Bria. "Compresión de imágenes fijas utilizando

la transformada Wavelet". Tesis para obtener el grado de maestría. Departamento de

Page 113: S.E.P S.E.S. D.G.E.S.T. - CENIDET - Centro Nacional de Investigación y Desarrollo ... · 2014-04-02 · AgradecimientosAgradecimientos Al COSNET, por apoyarme económicamente en

Capítulo VI. Conclusiones Compresión de imágenes

Centro Nacional de Investigación y Desarrollo Tecnológico

104

informática, Cs. Ex., Universidad Nacional de la Plata, Argentina, 1997.

[16] A., Repetto, C., Delrieux, "Una evaluación de la compresión fractal en bloques". Departamento de Ingeniería Eléctrica, Universidad del Sur, Argentina.

[17] W., Wouters, 21 de febrero de 1997, “BMP format”, Clean Coding Company, [On line] Available: http://www.wotsit.org/search. asp?s=windows.

[18] D., Atauri, L., Fernández, M., Alcojor, I., Acero, "Ocultación de imágenes mediante

esteganografía", Revista de la asociación de técnicos informáticos, Cataluna, España, ISSN: 0211-2124, No. 163, pp. 53, 2003.

[19] A. R., Emilio, "Seguimiento y predicción del movimiento de objetos rígidos en un

ambiente complejo". Tesis de maestría en Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Morelos, México, 2004.

[20] R., Saenz, "Comunicación de datos", Materia del cursos, Departamento de Ciencia y Tecnología, Universidad Nacional de Quilmes, Buenos Aires, Argentina.

[21] L., Leurs, 2000, "Compression algorithms", [On line] Available : http://www.prepressure.com/techno/compression1.htm.

[22] T. A., Welch, “A technique for high perfomance data compression”, IEEE Computer, Vol. 17, No. 16, 1984, pp. 8-19.

[23] O. Y., García, "Analizador de espectros utilizando la transformada Wavelet packet". Tesis de Licenciatura. Insituto Tecnológico de Tuxtla Gutiérrez. Chiapas, México, 2002.

[24] C., Monroy, "Curvas fractales", Alfaomega Grupo Editor, México, 2002.

[25] R. M., Castro, "Análisis de la teoría de ondículas orientada a las aplicaciones en Ingeniería Eléctrica: fundamentos". Trabajo de Investigación. Departamento de Ingeniería Eléctrica Universidad Politécnica de Madrid. España, 2002.

[26] I., Kaplan, January 2002, "The daubechies D4 Wavelet transform", Livermore, California, [On line]Available : http://www.bearcave.com/misl/misl_tech/wavelets/daubechies

[27] N. Otsu, "A threshold selection method from gray – level histograms". IEEE transactions on systems, man, and cybernetics, vol. SMC-9. No.1, Enero 1979.

[28] National Instrument, [On line] Available: http://www.ni.com/

[29] D.H, Pichard. “U.S color television fundamentals – a review”, In SMPTE Journal, v. 86 (Nov. 1977), 819 – 828.

[30] H., Temislav. “Visualisation of uncertainly using the HSI color model: computing

with colors”. International Institute for Geo-Information Science & Earth Observation (ITC), Holanda, 2003.