Top Banner
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD PROFESIONAL CULHUACÁN SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN DE IMÁGENES MÉDICAS TESIS PARA OBTENER EL GRADO DE: MAESTRO EN CIENCIAS DE INGENIERÍA EN MICROELECTRÓNICA PRESENTA: ING. ORESTE HERMINIO CHÁVEZ ROMÁN ASESOR: DR. VOLODYMYR PONOMARYOV MEXICO D.F. DICIEMBRE 2007
136

OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

Oct 27, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD PROFESIONAL CULHUACÁN

SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN

OPTIMIZACIÓN DEL ESTÁNDAR

JPEG2000 PARA COMPRESIÓN DE IMÁGENES MÉDICAS

TESIS PARA OBTENER EL GRADO DE:

MAESTRO EN CIENCIAS DE INGENIERÍA EN MICROELECTRÓNICA

PRESENTA: ING. ORESTE HERMINIO CHÁVEZ ROMÁN

ASESOR: DR. VOLODYMYR PONOMARYOV

MEXICO D.F. DICIEMBRE 2007

Page 2: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …
Page 3: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …
Page 4: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

AGRADECIMIENTOS

AGRADECIMIENTOS

A MIS PADRES: Con un profundo amor, respeto y admiración. Mis conceptos, mis valores y mi superación se los debo a ustedes. Esto será la mejor de las herencias, lo reconozco y lo agradeceré eternamente. Deseo de todo corazón que mi triunfo profesional lo sientan como suyo. A ILI: Por darme siempre todo su apoyo a lo largo de toda la maestría, pero sobre todo por brindarme su amor incondicional que me ha dado fuerzas para lograr mis objetivos. A MI ASESOR, EL DOCTOR VOLODYMYR PONOMARYOV: Por orientarme y guiarme durante el desarrollo de este trabajo, sin lo cual hubiera sido imposible terminar satisfactoriamente este proyecto.

A MIS HERMANOS: Ney y Juanjo, por su apoyo y solidaridad que nos une en el camino de la vida. Pero sobre todo por compartir las tristezas y alegrías. Son los mejores hermanos que pude tener. A LOS PROFESORES Y COMPAÑEROS DE LA SEPI: Por orientarme y por compartir esta maravillosa experiencia. AL INSTITUTO POLITÉCNICO NACIONAL Y A LA SECCIÓN DE POSTGRADO DE ESIME UC: Por el apoyo y confianza brindada para la elaboración de este proyecto; así como, por la educación de primera calidad obtenida en esta institución. AL CONSEJO NACIONAL DE CIENCIA Y TECNOLOGÍA: Por el apoyo brindado para la elaboración de este proyecto.

Page 5: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ÍNDICE

ÍNDICE

RESUMEN i ABSTRACT ii INTRODUCCIÓN iii OBJETIVO iv METAS iv JUSTIFICACIÓN iv

CAPITULO 1 “ESTÁNDAR JPEG2000” 1.1. INTRODUCCIÓN 2 1.2. CARACTERÍSTICAS PRINCIPALES. 3 1.2.1. PRE-TRATAMIENTO 3 1.2.2. TRANSFORMADA WAVELET (WT) 5

TRANSFORMADA WAVELET DISCRETA (DWT) 5 1.2.3. CUANTIZACIÓN 8 1.2.4. CODIFICACIÓN DE ENTROPÍA 9 1.3. ORGANIZACIÓN DE TRAMA 10 1.3.1. SISTEMA DE COORDENADAS 10 1.3.2. BLOQUES Y PRECINTOS 11 1.3.3. CAPAS, PAQUETES Y CABECERAS 12 1.3.4. ORDENACIÓN DE LA TRAMA (ORDEN DE PROGRESIÓN) 13

PROGRESIÓN CAPA-RESOLUCIÓN-COMPONENTE-POSICIÓN (LRCP) 13

PROGRESIÓN RESOLUCIÓN-CAPA-COMPONENTE-POSICIÓN (RLCP) 14

PROGRESIÓN RESOLUCIÓN-POSICIÓN-COMPONENTE-CAPA (RPCL) 14

PROGRESIÓN POSICIÓN-COMPONENTE-RESOLUCIÓN-CAPA (PCRL) 14

PROGRESIÓN COMPONENTE-POSICIÓN-RESOLUCIÓN-CAPA (CPRL) 14

1.4. CONTROL DE TASA 15 1.4.1. CONTROL DE TASA UTILIZANDO Q-TABLA 15 1.4.2. CONTROL DE TASA UTILIZANDO EBCOT 15 1.5. EXTENSIONES 16 1.5.1. REGIONES DE INTERÉS (ROI) 16 1.5.2. RESISTENCIA AL ERROR 18 1.5.3. FRAGMENTACIÓN O TILING (SSWT) 19 1.5.4. TRATAMIENTO POST-COMPRESIÓN 20 1.6. RESULTADOS 20

Page 6: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ÍNDICE

1.6.1. RESULTADOS CON PÉRDIDAS (LOSSY) 21

TAMAÑO DE BLOQUE 21 FILTROS DWT (9,7) Y (5,3) 21 NIVELES DE DESCOMPOSICIÓN WAVELET 22 CODIFICACIÓN SENCILLA, PARALELA Y AMBAS 23 COMPARACION JPEG2000 VS. JPEG 23

1.6.2. RESULTADOS SIN PÉRDIDAS (LOSSLESS) 24 TRANSFORMADA REVERSIBLE DE COLOR (RCT) 24 OTRAS OPCIONES 25

1.6.3. RESULTADOS DE LA CODIFICACIÓN DE ENTROPÍA 25 1.7. CONCLUSIONES 26 1.8. REFERENCIAS 27

CAPÍTULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS” 2.1. TRANSFORMADA WAVELET 30 2.1.1. FUNDAMENTOS DE LAS FUNCIONES WAVELETS 30 2.1.1.1. FILTROS UTILIZADOS EN CODIFICACIÓN EN SUBBANDAS 30 2.1.1.2. ALGORITMO BÁSICO DE CODIFICACIÓN EN SUBBANDAS 31 2.1.1.3. BANCO DE FILTROS QMF DE M-BANDAS 32 2.1.2. INTRODUCCIÓN A LAS WAVELETS 32 2.1.3. HISTORIA DE LAS WAVELETS 33

2.1.4. DE TRANSFORMADA DE FOURIER A TRANSFORMADA WAVELET 33

2.1.5. TRANSFORMADA CONTINUA WAVELET 35 2.1.6. TRANSFORMADA DISCRETA DE WAVELET 38 2.1.7. FAMILIAS WAVELETS 42 2.1.7.1. HAAR 42 2.1.7.2. DAUBECHIES 43 2.1.7.3. BIORTOGONAL 43 2.1.7.4. COIFLETS 45 2.1.7.5. SYMLETS 45 2.2. UMBRAL DE COMPRESIÓN 45 2.2.1. UMBRAL DE PORCENTAJE 46 2.2.2. UMBRAL UNIVERSAL (UNIVERSAL THRESHOLDING) 46 2.2.3. UMBRAL ADAPTIVO (ADAPTIVE THRESHOLDING) 46 2.2.4. UMBRAL DURO (HARD THRESHOLDING) 47 2.2.5. UMBRAL SUAVE (SOFT THRESHOLDING) 47 2.3. CONCLUSIONES 48 2.4. REFERENCIAS 48

Page 7: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ÍNDICE

CAPÍTULO 3 “IMÁGENES MÉDICAS” 3.1. INTRODUCCIÓN 52 3.2. TIPOS DE IMÁGENES MÉDICAS 52 3.2.1. IMÁGENES DE RADIOGRAFÍA 53 3.2.2. IMÁGENES POR ULTRASONIDOS 55 3.2.3. TOMOGRAFÍA AXIAL COMPUTARIZADA 56 3.2.4. MEDICINA NUCLEAR 58

TOMOGRAFÍA POR EMISIÓN DE POSITRONES ÚNICOS (SPECT) 59 TOMOGRAFÍA POR EMISIÓN DE POSITRONES (PET) 59

3.2.5. RESONANCIA MAGNÉTICA 60 3.2.6. RESUMEN DE CARACTERÍSTICAS 61 3.3. COMPRESIÓN DE IMÁGENES MÉDICAS CON JPEG2000 62 3.3.1. COMPRESIÓN SIN PÉRDIDAS 63 3.3.2. COMPRESIÓN CON PÉRDIDAS Y ROI 65 3.4. CONCLUSIONES 66 3.5. REFERENCIAS 68 CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET” 4.1. INTRODUCCIÓN 70

4.2. ALGORITMO DE DESCOMPOSICIÓN DE UNA IMAGEN CON FUNCIONES WAVELETS 70

4.2.1. LONGITUD DE LOS FILTROS ASOCIADOS CON LAS WAVELETS 72

4.3. CR PARA MEDIR EL GRADO DE COMPRESIÓN DE LAS IMÁGENES 73

4.4. CRITERIOS DE FIDELIDAD 73 4.4.1. ERROR ABSOLUTO MEDIO (MAE) 73 4.4.2. ERROR CUADRÁTICO MEDIO (MSE) 74 4.4.3. RELACIÓN SEÑAL RUIDO PICO (PSNR) 74 4.5. RESULTADOS OBTENIDOS EN LAS PRUEBAS REALIZADAS 74 4.6. CONCLUSIONES 84 4.7. REFERENCIAS 85 CAPÍTULO 5 “CONCLUSIONES Y TRABAJOS FUTUROS” 5.1. CONCLUSIONES 87 5.2. TRABAJOS FUTUROS 89 ANEXO A: ÍNDICE DE FIGURAS Y TABLAS CAPÍTULO 1 “ESTÁNDAR JPEG2000” 91

Page 8: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ÍNDICE

CAPÍTULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS” 91 CAPÍTULO 3 “IMÁGENES MÉDICAS” 92 CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE

COMPRESIÓN CON WAVELET” 93

ANEXO B: GLOSARIO 94

ANEXO C: PROGRAMAS REALIZADOS EN MATLAB, PARA COMPRIMIR LAS IMÁGENES MÉDICAS 98

ANEXO E: PUBLICACIONES EN CONGRESOS 103

Page 9: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

RESUMEN

i

RESUMEN

La compresión de datos trata de reducir el número de bits necesarios para la transmisión o almacenamiento de datos. Esta tesis presenta el desarrollo de compresión de imágenes médicas (ultrasonido, mamografías, etc.) mediante funciones wavelets (Daubechies, Coiflets, Symlets y Biortogonales); un algoritmo con baja complejidad que optimiza el estandar de compresión JPEG2000 desarrollado por (Joint Photographic Experts Group) para la compresión de imágenes, mediante la aplicación de la transformada discreta de wavelet bi-dimensional, así como la determinación del umbral requerido para tener una calidad óptima en la imagen sin perder índice de compresión.

La base del estándar JPEG2000 es la transformada Wavelet, la cual se ha

extendido a innumerables campos en los últimos años. Se hará una introducción a la transformada y una breve explicación de los aspectos más relevantes y novedosos del estándar, así como los métodos perceptuales que utiliza y la diferenciación de zonas de mayor calidad de compresión.

Page 10: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ABSTRACT

ii

ABSTRACT

The data compression tries to reduce the number of necessary bits for the transmission or storage of data. This thesis presents the development of compression of medical images (ultrasound, mamografías, etc.) by means of functions wavelets (Daubechies, Coiflets, Symlets and Biorthogonals); an algorithm with low complexity that it optimizes the standard of compression JPEG2000 developed by (Joint Photographic Experts Group) for the compression of images, by means of the application of bi-dimensional the Discrete Wavelet Transform, as well as the determination of the required threshold to have an optimal quality in the image without sacrificing compression ratio.

The base of standard JPEG2000 is the Wavelet transform, which has extended to innumerable fields in the last years. One will become an introduction to transform and a brief explanation of the most excellent and novel aspects of the standard, as well as the methods that use and the differentiation of zones of greater quality of compression.

Page 11: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

INTRODUCCIÓN, OBJETIVO, METAS Y JUSTIFICACIÓN

iii

INTRODUCCIÓN

Hoy en día, prácticamente cualquier actividad humana, ya sea que involucre llamadas por teléfono, compras en almacenes, imágenes de satélite, transacciones de tarjeta de crédito, información de imágenes médicas, etc., se almacena en una base de datos. Debido a la creciente necesidad de almacenamiento, ya no es raro encontrar bases de datos de varios gigabytes e incluso terabytes. Las técnicas tradicionales de análisis de información no han tenido un desarrollo equiparable y están mostrando ser insuficientes. La velocidad a la que se almacenan datos está siendo muy superior a la velocidad con la que se analizan.

Con los volúmenes actuales de información es claro que se tienen que crear

herramientas más sofisticadas con la capacidad de asistir a usuarios en el análisis automático e inteligente de grandes volúmenes de datos que permita encontrar conocimiento útil. Sin estos desarrollos en análisis, se podría dejar de extraer una gran cantidad de información.

Determinados campos profesionales, como la medicina o la astronomía, que trabajan

con imágenes digitales, se caracterizan porque requieren una alta calidad de imagen ocupando un gran volumen, con lo que necesitan una buena tasa de compresión. El objetivo de este proyecto está enfocado a la mejora de las técnicas actuales empleadas para la compresión de imágenes médicas.

Este trabajo está enfocado a la investigación e implementación de algoritmos de

compresión para la implementación de una aplicación software. Para ello, antes conviene conocer cuales son las características del estándar JPEG2000 en una sencilla pero completa descripción.

El estándar de compresión JPEG2000 tiene gran importancia, puesto que ya se han

publicado diversos trabajos en los que se ha comparado su desempeño con respecto a los demás formatos de compresión y se ha demostrado su superioridad.

Sin embargo no se ha estudiado mucho su desempeño específicamente para

compresión de imágenes médicas [ultrasonido, tomografía, mamografía, etc], esto es un punto muy importante, ya que este tipo de imágenes presentan características específicas, como la textura, aspereza (granularidad), contraste, regularidad; pues la percepción de estas características juegan un importante papel en el sistema de la visión humana. Por esta razón en este trabajo se realizó un estudio para verificar el desempeño de este estándar para compresión de imágenes médicas (US, Mamografías, etc.), mediante las funciones wavelets; optimizándolo para mejorar su funcionamiento al comprimir este tipo de imágenes.

Page 12: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

INTRODUCCIÓN, OBJETIVO, METAS Y JUSTIFICACIÓN

iv

OBJETIVO

Investigar, analizar y probar diferentes algoritmos de compresión con pérdidas y sin pérdidas, con el propósito de optimizar la eficiencia del estándar de compresión JPEG2000 y así posteriormente realizar su implementación en imágenes médicas, mediante MATLAB, uno de los lenguajes de programación más extendidos en el ámbito científico. METAS

1. Investigar la eficacia y el funcionamiento del estándar de compresión JPEG2000. 2. Implementar y realizar pruebas en Matlab para verificar experimentalmente el

desempeño de los algoritmos de compresión con diferentes transformadas Wavelet.

3. Implementar y realizar pruebas con los algoritmos de compresión que presentaron

mejor desempeño en la compresión de imágenes médicas, para optimizar el estándar de compresión JPEG2000.

JUSTIFICACIÓN

Los sistemas de compresión de imágenes aprovechan las propiedades estadísticas de este tipo de datos para conseguir la máxima compresión. Además, estos sistemas tienen en cuenta las características del sistema visual humano cuando el uso que se hace de las imágenes comprimidas es la visualización.

Existen aplicaciones en las que se tolera una cierta pérdida de fidelidad en la

decodificación de la imagen con el objetivo de conseguir una compresión mayor. Estas técnicas se conocen como compresión con pérdidas. Sin embargo, en otras aplicaciones no se tolera ninguna pérdida de información, y por tanto habrá que emplear técnicas de compresión sin pérdidas. Ejemplos de este tipo de aplicaciones son la edición de imágenes, la conservación de material gráfico, las imágenes médicas o los sistemas de medición mediante la imagen.

Las funciones Wavelets constituyen una de las características claves de innumerables

algoritmos de compresión y en concreto del estándar JPEG2000. El objetivo de toda transformación, en cuanto a compresión se refiere, es representar la información en otro espacio de una manera más eficiente. La base de dicho espacio será la clave de su eficacia.

Poco se ha estudiado el desempeño específicamente para compresión de imágenes

médicas (ultrasonido, tomografías, mamografías, etc.), este es un punto muy importante, ya que requiere un tratamiento y una calidad de imagen superior a otros campos por ser crítica para un buen diagnostico, cuando el médico las diagnostica.

Page 13: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

INTRODUCCIÓN, OBJETIVO, METAS Y JUSTIFICACIÓN

v

Por esta razón en este trabajo se realizó un estudio para verificar el desempeño de las funciones Wavelet en compresión de imágenes médicas, con la finalidad de optimizar el estándar de compresión JPEG2000.

Page 14: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1:

ESTÁNDAR JPEG2000

Page 15: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

1Formalmente conocida como Consultative Committee for International Telephone and Telegraph (CCITT).

2

1.1. INTRODUCCIÓN

En 1996 el comité JPEG (Joint Photographic Experts Group) comenzó a investigar un nuevo estándar de codificación de imágenes con los últimos avances. A este proyecto se le llamó JPEG2000, el cual fue dividido en seis partes, posteriormente ampliado a once. La primera constituye el bloque principal del estándar. El resto lo forman extensiones, aplicación al movimiento, testeo, implementación de software y formación del formato de archivo, seguridad... etc. Las fechas previstas para las seis primeras partes estaban comprendidas entre el 2000 y 2002, de ahí el nombre adoptado. Esta parte del proyecto se basa en dicha primera parte para la implementación de una aplicación software. Para ello, antes conviene conocer cuales son las características del estándar JPEG2000 en una sencilla pero completa descripción.

El comité JPEG se formó en 1986 bajo los regimenes de la ISO y la ITU-T1. El

primer estándar que publicó fue el ya clásico JPEG que tuvo una gran aceptación por su sencillez, rapidez y eficacia, lo cual contribuyó a su amplia difusión, aunque probablemente Internet y su libre distribución hayan tenido también mucho que ver. Sus principales características eran: (i) El uso de la Transformada Discreta del Coseno (DCT), basada en codificación con pérdidas y códigos Huffman con la restricción de 8 bpp (imagen de color) de entrada; (ii) Una extensión para controlar diferentes realces de la imagen; y (iii) Un modo sin pérdidas con codificación predictiva y códigos Huffman o aritméticos.

Pero pronto las cualidades del estándar JPEG serían insuficientes en cuanto a calidad

de compresión, como los típicos artefactos de la DCT, como la flexibilidad, en cuanto a formación de la trama final. Con estas premisas no queda más remedio que abandonar la DCT por mejores transformaciones que permitan aplicar mejor los métodos perceptuales conocidos, como el enmascaramiento de coeficientes, la sensibilidad al contraste (CSF) o la selección de zonas de mejor calidad; y transformadas que permitan mayor flexibilidad en la organización de la trama para poder elegir mejor la tasa final de compresión, introducir códigos de corrección de errores o simplemente por elegir en que orden se codificará la imagen. Esto será fundamental para abarcar un gran número de aplicaciones. Aplicaciones como compresión de imágenes médicas, librerías digitales, multimedia, Internet o teléfonos móviles.

Los objetivos técnicos eran por tanto mejorar la calidad de las imágenes tratadas y

aumentar las posibles aplicaciones. Así, las características se pueden resumir en:

Eficiencia de compresión. Compresión con y sin pérdidas. Representación con resolución múltiple. Decodificación SNR progresiva y en resolución. Fragmentación de la imagen. Regiones de Interés. Protección frente a Errores. Acceso y procesamiento aleatorio de la trama.

Page 16: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

3

Tratamiento post-compresión. Posibilidad de interacciones en la codificación. Un formato más flexible.

Detrás de todo esto está, como con el anterior JPEG, el crear un estándar libre de

distribución que no suponga un coto privado como ocurre con otros algoritmos, aunque evidentemente las empresas colaboradoras siempre tendrían beneficios directos y/o indirectos derivados de esta actividad.

En 1997 se propusieron 20 algoritmos y fue la descomposición Wavelet la que se

adoptó como base del nuevo estándar. Actualmente la transformada Wavelet está extendida a innumerables e incluso insospechados campos. El éxito de esta derivó entonces del estado del arte que se tenía por entonces y de las posibilidades que permitía. Más adelante se profundizará más sobre este tipo de transformadas. 1.2. CARACTERÍSTICAS PRINCIPALES

El diagrama de bloques típico del JPEG2000 está constituido por una etapa de pre-tratamiento de la imagen, una transformada discreta wavelet, una etapa de cuantización, una codificación aritmética (también llamada tier-1) y después la organización de trama (tier-2). Posteriormente se irá desgranando con más detalle cada una de las partes. Ver figura 1.1.

Figura 1.1. Diagrama de Bloques JPEG2000.

1.2.1. PRE-TRATAMIENTO

Esta etapa constituye la primera toma de contacto entre la imagen y el algoritmo. Este último examina las características de aquella, adaptándose y moldeándola. Las características serán el valor de offset, el rango de la imagen y el número de componentes. El valor de offset es un escalado de la forma:

DCoe OII −= . (1.1)

Donde Ie y Io es la imagen escalada y original respectivamente y ODC viene representado por:

12 −= IBDCO . (1.2)

Donde BI es el número de bits de la imagen original.

Page 17: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

4

Para hacer la transformación inversa basta con sumar este valor de offset. El rango dinámico quedará de la forma [ 12,2 11 −− −− II BB ].

Finalmente si la imagen tiene varias componentes, de color se entiende, se pueden utilizar dos tipos de transformaciones a partir de las componentes originales Rojo-Verde-Azul RGB: Una transformación con pérdidas llamada Transformación Irreversible de Color (ITC), que como su propio nombre indica, no se puede realizar la transformación inversa sin asumir unas pérdidas. La transformación se realiza mediante la multiplicación matricial:

⎟⎟⎟

⎜⎜⎜

⎛∗⎟⎟⎟

⎜⎜⎜

−−−−=

⎟⎟⎟

⎜⎜⎜

BGR

CCY

r

b

08131.041869.0500.0500.033126.016875.0114.0587.0299.0

. (1.3)

La transformación ITC inversa es:

⎟⎟⎟

⎜⎜⎜

⎛∗⎟⎟⎟

⎜⎜⎜

⎛−=

⎟⎟⎟

⎜⎜⎜

r

b

CCY

BGR

0772.10.171414.034413.00.1402.100.1

. (1.4)

La otra transformación es la llamada Transformación Reversible de Color (RTC), que

puede ser usada para casos con o sin pérdidas. Esta se define como:

GBVGRUBGRY −=−=⎥⎦⎤

⎢⎣⎡ ++

= ,,4

2 . (1.5)

Donde ⎡ ⎤w es el entero más alto que es igual o más pequeño que w. La transformación

RTC inversa es:

GVBGURVUYG +=+=⎥⎦⎤

⎢⎣⎡ +

−= ,,4

. (1.6)

La base de las dos transformaciones es obtener un canal de luminancia y dos de

diferencia de color, diferencia de rojo y diferencia de azul, con lo que se trata la imagen con tres canales por separado con diferentes características de codificación. Evidentemente tanto el valor de offset como el tipo de transformación elegida deben ser conocidos por el decodificador. Otra operación en la codificación de color es una reindexación de la paleta de colores donde los saltos dentro de la paleta son relativos y los colores más frecuentes se ponen en zonas más cercanas. Para más información consultar [1]. A partir de aquí la descripción se centrará en la componente de luminancia ya que el tratamiento para las otras dos es similar.

Page 18: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

5

1.2.2. TRANSFORMADA WAVELET (WT)

En este punto haremos una pequeña descripción de la Transformada Discreta Wavelet, pero mas adelante daremos una descripción mas detallada. La Transformada Wavelet constituye una de las características claves de innumerables algoritmos de compresión y en concreto del estándar JPEG2000. La Transformación Wavelet (WT) supone un nuevo enfoque en el tratamiento de la señal, y en concreto del tratamiento de imágenes [2]. El objetivo de toda transformación, en cuanto a compresión se refiere, es representar la información en otro espacio de una manera más eficiente. La base de dicho espacio será la clave de su eficacia.

TRANSFORMADA WAVELET DISCRETA (DWT)

La DWT es la transformada que ha sustituido a la DCT en el nuevo estándar JPEG. Las características que han incluido en esta decisión, como se comenta en los anteriores párrafos, son la representación multirresolución, la localización y la capacidad de realizar una codificación sin pérdidas con filtros enteros. Por simplicidad a continuación se tratará la DWT de una dimensión, ya que la extensión a las dos dimensiones es inmediata.

La DWT [3][4][5] se puede entender como una aplicación sucesiva de un par de filtros,

uno paso bajo h0(n) y otro paso alto h1(n), seguidos de submuestreo de factor 2. Este par de filtros es conocido como banco de filtros de análisis. Para aplicar estos filtros se hace una extensión especular de la señal según se explica en la sección 1.5.5 Los filtros que se utilizan, elegidos básicamente por sus buenas propiedades, son el filtro de coeficientes enteros (5,3) para las transformadas reversibles, codificación sin pérdidas, y el filtro de Daubechies (9,7) para las transformadas irreversibles, codificación con pérdidas. La numeración indica el número de coeficientes de los filtros h0 y h1 respectivamente. Además, como se comenta en la sección 1.5.1, también se utilizan otros filtros. Los más relevantes se incluyen en las tablas siguientes.

La reconstrucción se hace mediante la inserción de ceros y otro par de filtros g0 y g1, banco de filtro de síntesis. El resultado se suma consiguiendo la reconstrucción perfecta si los filtros cumplen las siguientes propiedades en el espacio transformado Z:

⎩⎨⎧

=−+−=+

0)()()()(2)()()()(

1100

1100

zGzHzGzHzGzHzGzH

. (1.7)

La ecuación 1.7 se puede cumplir eligiendo:

)()( 10 zHczzG l −−= − , )()( 01 zHczzG l −= − . (1.8) Donde l es un número entero y c el factor de escala. Entonces:

2)()()()( 011

101 =−+−− −− zHzHczzHzHcz . (1.9)

Page 19: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

6

La constante l tiene que ver con el retardo y c afecta a la normalización. Los filtros que cumplen estas propiedades se llaman biortogonales por ser ortogonales dos a dos, h0 y g1 a h1 y g0. El filtro (5,3) es un ejemplo de filtro biortogonal (tabla 1.2), sin embargo el de Daubechies (9,7) es más eficiente para compresión (tabla 1.1).

Su extensión a dos dimensiones es inmediata teniendo en cuenta que se puede aplicar de manera sucesiva a cada una de ellas, es decir, la WT es de variables separables. La descomposición típica de una imagen es descomponer cada nivel en cuatro partes: la banda LL con filtrado paso bajo en las dos dimensiones, la banda HL con filtrado paso alto para la dirección horizontal y paso bajo para la vertical, la banda LH con filtrado paso alto para la dirección vertical y paso bajo para la horizontal y la banda HH con filtrado paso alto para las dos dimensiones.

N H0 N h1 0 +0.602949018236360 -1 +1.115087052457000

±1 +0.266864118442875 -2,0 -0.591271763114250 ±2 -0.078223266528990 -3,1 -0.057543526228500 ±3 -0.016864118442875 -4,2 +0.091271763114250 ±4 +0.026748757410810 N G0 N g1 0 +1.115087052457000 1 +0.602949018236360

±1 +0.591271763114250 0,2 -0.266864118442875 ±2 -0.057543526228500 -1,3 -0.078223266528990 ±3 -0.091271763114250 -2,4 +0.016864118442875 ±4 -3,5 +0.026748757410810

Tabla 1.1. Filtros de análisis y síntesis Daubechies (9,7). En la figura 1.2 se presentan ejemplos de wavelets.

N h0 N h1 0 ¾ -1 +1

±1 ¼ -2,0 -1/2 ±2 -1/8 N g0 N g1 0 +1 1 +3/4

±1 +1/2 0,2 -1/4 ±2 -1,3 -1/8

Tabla 1.2. Filtros de análisis y síntesis entero (5,3).

Page 20: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

7

Figura 1.2. Ejemplos de filtros ortonormales. (a) Meyer. (b) y (c) Battle-Lemarié. (d)

Haar. (e) y (f) Daubechies.

Page 21: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

8

1.2.3. CUANTIZACIÓN

El antiguo estándar JPEG utilizaba un cuantificador uniforme con una reconstrucción en la mitad del intervalo. El ancho de cuantificación era variable en función de la sensibilidad para adaptar la percepción al SVH y después se aplica un mapa de dimensiones 8x8 y 1 byte por cada uno.

Una importante diferencia es la presencia de una zona muerta (elimina ruido y aumenta

la frecuencia de ceros, lo que facilita la codificación posterior) en el cuantificador. La razón de incluir esta zona se debe a que el cuantificador óptimo para una señal continua con distribución Laplaciana, como es el caso de la DCT y DWT, es precisamente el que incluye dicha zona muerta[6][7]. El tamaño de la zona disminuye a medida que la varianza de la distribución Laplaciana aumenta. Este tamaño suele ser menos que 2 veces el ancho de la cuantificación, ∆b, y típicamente alrededor de 1.

La ventaja de un cuantificador con zona muerta del doble de ∆b es que el resultado de la

codificación es el mismo tanto si se trunca el valor de un cuantificador de Mb bits en el bit Nb como si se cuantifica el mismo valor con un cuantificador con un ancho bb NM

b−=Δ 2 ,

donde Mb es la magnitud. Esto implica que la reconstrucción va a ser correcta si se truncan los valores obtenidos,

lo que permite alcanzar las tasas deseadas sin necesidad de hacer varias iteraciones como era el caso de JPEG.

Los parámetros a elegir en el cuantificador serán el ancho de cuantificación y la zona

muerta en relación con el anterior donde la elección puede ser en base a consideraciones perceptuales o simplemente en base a la tasa de compresión final.

La cuantificación viene dada por:

( ) ⎥⎦

⎤⎢⎣

Δ

Δ+=

b

bbbb

nzvuIvuIsignvuq

*),(),(),( , )1,1(−∈nz . (1.10)

Siendo Ib la banda correspondiente de la imagen transformada y u y v sus coordenadas.

Según esto la zona muerta valdrá 2(1-nz)∆b, con rango desde 0 a 4. El caso general se obtiene para nz = 0 con una zona muerta de 2.

Tomando u y v como coordenadas del espacio transformado wavelet se define para cada

bloque i de cada subbanda b, con un ancho de cuantificación Δi que será el mismo para cada bloque de cada banda y qi(u,v) como coeficiente cuantizado.

El ancho de cuantificación viene dado por:

⎟⎠⎞

⎜⎝⎛ +=Δ ∈−

11212 bR

bbb

μ. (1.11)

Page 22: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

9

Figura 1.3. Cuantificador uniforme con zona muerta variable.

Donde Rb son los bits que representan el rango dinámico de la sub-banda b. Añadiendo los bits de guarda G0, se tiene que Rb = RI - G0. Además Єb será el exponente y μb la mantisa. Así cuanto mayor sea el exponente, más pequeño será el ancho de cuantificación. Ver figura 1.3. Si se asume que el número de bits necesarios para manejar la información vendrá dado por el rango dinámico de la imagen transformada dividido por el ancho de cuantificación según la siguiente relación se obtiene un valor directo del número de planos de bit, ver sección 1.2.4.

12log 02

1

−∈+=Δ

=−

bb

R

b GMI

. (1.12)

Los únicos parámetros que debe conocer el decodificador son el exponente y la mantisa.

Para ello hay dos maneras: con el valor (Єb, μb) para cada subbanda, o bien con el valor (Є0, μ0) de la banda LL y el resto se obtiene mediante la relación:

),(),( 0 obLbb nN μμ +−∈=∈ . (1.13)

Donde NL es el nivel de descomposición y nb la subbanda.

El proceso de reconstrucción es inmediato. Sólo queda añadir que la reconstrucción de

las muestras se hace en el medio del intervalo, aunque también existen reconstrucciones a 37.5% del intervalo.

Como es lógico, la cuantificación sólo tendrá sentido cuando se utilicen filtros no reversibles (9,7), o lo que es lo mismo, para filtros reversibles (5,3) el ancho de cuantificación será ∆b = 1 con Єb = Rb y μb = 0.

1.2.4. CODIFICACIÓN DE ENTROPIA

Una vez pre-procesada, transformada y cuantificada la imagen se pasa a la etapa de codificación propiamente dicha, donde tiene lugar la compresión y se forma la trama de bits. La codificación de entropía ya se utilizaba en anteriores y muy conocidos algoritmos de compresión, como SPIHT [8] o EZW [9], que aprovechaban la correlación entre las

Page 23: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

10

distintas bandas de la transformada wavelet. Si se explota esta propiedad de la transformada, puesto que no es más que redundancia, se limita la flexibilidad de ordenación de la trama y además se disminuye la resistencia al error, puesto que puede haber propagación de errores. Estas son dos características importantes en el estándar JPEG2000 para aplicaciones de transmisión de datos. Evidentemente los algoritmos anteriores son muy potentes si lo único que se pretende es almacenar y no transmitir. Por tanto el JPEG2000 tratará cada subbanda por independiente, no por separado.

El algoritmo de compresión, otro de los núcleos del estándar junto a la transformada

wavelet, es el EBCOT (Embebbed Block Coding with Optimized Truncation), ver [10]. El algoritmo EBCOT consiste en fragmentar la distintas subbandas en bloques de tamaño arbitrario y realizar una codificación por planos de bit. Como se mencionó antes la codificación de bloques independientes tiene como ventajas el poder tener un acceso aleatorio a la imagen, el poder codificar en paralelo reduciendo el tiempo de cálculo, poder cortar y rotar la imagen una vez procesada, control de tasas, variación del orden e introducir códigos de resistencia al error. Por lo contrario, aunque se aumenta la flexibilidad y con ello el número de posibles aplicaciones, la eficiencia de compresión va a ser menor debido a que no se explota dicha correlación entre bandas, pero es asumible.

1.3. ORGANIZACIÓN DE TRAMA El estándar trata de realizar un algoritmo versátil en dos sentidos: en compresión (descomposición en subbandas, niveles, filtros,...), que se ha visto a lo largo de las secciones anteriores, y en descompresión, que se verá en esta sección. Todos los elementos mencionados hasta aquí, como los bloques, planos, niveles, bandas,... y algunos que se introducirán más adelante están en relación directa con la forma de organizar la trama final. Aquí se hablará de un nivel superior, donde la codificación de varios planos, de los bloques y de los precintos, se agrupan en paquetes, los cuales darán una idea de la capacidad de flexibilidad en la organización de la trama. Conceptos como éstos se explican en las siguientes secciones, aunque antes conviene introducir el concepto de sistema de coordenadas. 1.3.1. SISTEMA DE COORDENADAS

La posición de cada uno de los coeficientes y las bandas de la imagen transformada se toma en relación a un origen de coordenadas. Las coordenadas constan de: dos coordenadas para la distancia entre la esquina superior izquierda de la banda al origen y otras dos para el alto y ancho con respecto a la esquina superior izquierda. Esto se puede ver más claro en la imagen 1.4. Este sistema de referencia será útil para operaciones de decodificación y tratamiento post-procesado

Page 24: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

11

. Figura 1.4. Sistema de coordenadas.

De tal manera que las coordenadas en cada banda se obtienen:

Para nbHL.

Para nbLH.

⎪⎪⎪⎪

⎪⎪⎪⎪

⎟⎟⎠

⎞⎜⎜⎝

⎛⎥⎥

⎤⎢⎢

⎡ −⎥⎥

⎤⎢⎢

⎡ −

⎟⎟⎠

⎞⎜⎜⎝

⎛⎥⎥

⎤⎢⎢

⎡ −⎥⎥⎤

⎢⎢⎡

⎟⎟⎠

⎞⎜⎜⎝

⎛⎥⎥⎤

⎢⎢⎡

⎥⎥

⎤⎢⎢

⎡ −

=

−−

b

b

b

b

b

b

b

bb

b

n

nsiz

n

nsiz

n

nsiz

nsiz

nsiz

n

nsiz

YOXO

YOXO

YOXO

ybxb

22

,2

2

22

,2

2,

22

),(

11

1

1

00

Para nbHH.

(1.14)

Donde nb es el nivel de descomposición de la banda. Para (xb1, yb1) basta con sustituir

XOsiz y YOsiz por Xsiz y Ysiz. La banda nbLL es directamente la reconstrucción del nivel inferior.

1.3.2. BLOQUES Y PRECINTOS

En cada nivel de resolución además se definen regiones que engloban a los bloques, sobre los que se realiza la codificación propiamente dicha. Así cada borde de precinto corresponde con un borde de bloque, pero de no al revés. El tamaño de los bloques, aún siendo igual para todos los niveles, corresponde a tamaños de regiones de la imagen distintas, puesto que tienen diferentes resoluciones. La razón de los precintos es, como se mencionó anteriormente, el manejar la información comprimida con un nivel superior al de los bloques evitando la dependencia del tamaño de la región y los bloques con el nivel de resolución.

Para resumir todo esto, el siguiente ejemplo. La figura 1.5 representa una imagen de

768 columnas y 512 filas donde si (XOsiz, YOsiz) = (7, 9) entonces (Xsiz, Ysiz) = (775, 521). El primer nivel se extiende desde (2, 3) a (193, 130) mientras que la subbanda 3HL lo hace desde (1, 2) a (96, 65). En este caso los bloques de 64x64 corresponden a regiones de la imagen de tamaño 128x128, 256x256 y 512x512 en las bandas 1LL, 2LL y 3LL respectivamente. Los tamaños de los precintos son, de mayor a menor nivel, 32x32, 32x32, 64x64 y 128x128. Notar que en el nivel 3 los bloques deben ser de 32x32.

Page 25: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

12

Figura 1.5. Ejemplo de descomposición en bloques y precintos.

1.3.3. CAPAS, PAQUETES Y CABECERAS

Los bloques comprimidos son agrupados en una o varias capas. Estas, por tanto, contienen un determinado número de pasadas de codificación de los bloques. El número de pasadas que contienen varía de un bloque a otro y viene determinado por la estimación de la tasa de compresión que se explicará más adelante, sección 1.4. Así la información de una componente, resolución, capa y posición es incluida en un paquete. La posición de los bloques viene dada por los números dentro de los bloques en la figura 1.6.

A cada paquete se le añade una cabecera que incluye información sobre el mismo. El

primer bit indica si el paquete está o no vacío, puesto que puede haber capas que no tengan información. Después, si el paquete no esta vacío, se indica con un bit también si hay información del bloque en el paquete anterior, si no es así se marca con el tag-tree correspondiente del precinto. Un tag-tree es una estructura jerárquica que explota la redundancia espacial, ver [11]. A continuación se incluye el número de pasadas de codificación de los bloques y la longitud de la información comprimida. También se incluye información de donde pertenece el bloque (nivel, precinto,...).

Figura 1.6. Cabeceras de los paquetes en la trama de compresión final.

Se añade en la trama una cabecera con la información de control de la imagen. El resto

de marcadores y cabeceras corresponden a códigos de corrección de errores. En la figura

Page 26: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

13

1.6 se incluyen también las cabeceras para las distintas fragmentaciones de la imagen que permite JPEG2000 también llamado tiling. A esto se dedica una breve explicación en la sección 1.5.5.

1.3.4. ORDENACIÓN DE LA TRAMA (ORDEN DE PROGRESIÓN) La trama se reordena en función de las necesidades de la aplicación. Aunque el resultado final es el mismo, este orden será clave si la imagen va a ser transmitida o si simplemente va a ser almacenada. Dos ordenaciones típicas son resolución progresiva y SNR progresivo. La primera aumenta la resolución o tamaño de la imagen a medida que se va decodificando la información, la segunda aumenta la calidad de la imagen cuanta más información se decodifique. Para que el codificador pueda hacer cualquier ordenación y el decodificador sepa cual ha sido, basta con incluir cuatro parámetros en las cabeceras de los paquetes.

Figura 1.7. Ejemplos de ordenación de paquetes. a. Organización en resolución progresiva.

b. Organización en SNR progresivo.

Estos parámetros son: componente, resolución, capa y posición en el precinto. Elegir una ordenación determinada no es más que variar el orden de los bucles que se encargan de rastrear la imagen. Esto queda más claro en los siguientes párrafos donde se muestran los tipos de ordenaciones posibles.

PROGRESIÓN CAPA-RESOLUCIÓN-COMPONENTE-POSICIÓN (LRCP)

Teniendo c para componente, r para resolución, l para capa y p para posición en el ejemplo de la figura 1.5, esta ordenación se obtiene mediante los bucles:

for l = 0,1

for r = 0,1,2,3 for c = 0,1,2 for p = 0,1,2,3,4,5 paquete(c, r, l, p)

Page 27: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

14

Este modo puede ser útil para la búsqueda en una base de imágenes donde no es necesario decodificar toda la imagen para reconocerla. Este modo tiene una funcionalidad parecida a la que proporciona el anterior JPEG con modo progresión secuencial.

PROGRESIÓN RESOLUCIÓN-CAPA-COMPONENTE-POSICIÓN (RLCP)

Este modo de operación puede resultar útil para aplicaciones cliente-servidor. Es semejante al modo progresión jerárquica del JPEG.

PROGRESIÓN RESOLUCIÓN-POSICIÓN-COMPONENTE-CAPA (RPCL)

Esta progresión se utiliza cuando se necesita escalabilidad en resolución pero que los paquetes aparezcan juntos en la trama.

PROGRESIÓN POSICIÓN-COMPONENTE-RESOLUCIÓN-CAPA (PCRL)

Puede ser útil cuando se quiere conseguir calidad de la imagen en una localización espacial determinada.

PROGRESIÓN COMPONENTE-POSICIÓN-RESOLUCIÓN-CAPA (CPRL)

Es usada cuando se quiere calidad en una zona determinada para una determinada componente.

Figura 1.8. Ejemplo de Progresión LRCP, 0.125 bpp(izda.) y 0.50 bpp(dcha.).

Figura 1.9. Ejemplo de Progresión RLCP.

Page 28: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

15

1.4. CONTROL DE TASA

En el estándar JPEG2000 muchos de los aspectos de codificación han sido tomados para obtener una eficiencia en la consecución de una tasa deseada sin sacrificar demasiado en la capacidad de compresión. Una elección semejante a esta es la de sacrificar dicha capacidad de compresión al no explotar la correlación entre bandas a cambio de conseguir una mayor flexibilidad. En este caso es la elección de codificación por planos de bit y un buen algoritmo de truncado, permitido por el tipo de cuantificador, lo que permitirá alcanzar una tasa de compresión fiel a la esperada.

Figura 1.10. Ejemplo de PCRL (4 bloques).

En el estándar JPEG el método era controlar la cuantización y las tablas Huffman, que

no era un buen método para alcanzar la tasa deseada. El método era ir variando las tablas de cuantización, variando el escalado, hasta aproximar la tasa deseada. Sin embargo el JPEG2000 permite una estimación a priori de la relación Tasa-Distorsión (R-D) que da una aproximación muy fina. Para conseguir esta tasa se pueden utilizar los siguientes métodos.

1.4.1. CONTROL DE TASA UTILIZANDO Q-TABLA

Este método consiste en variar los anchos de cuantificación para cada sub-banda hasta conseguir la tasa requerida e incluir los anchos en las cabeceras. Como se mencionó antes este método necesita varias iteraciones para conseguir la tasa deseada.

Sin embargo este método puede ser muy bueno para aprovechar las características del

SVH, que responde de diferente modo a distintas frecuencias según la Función de Sensibilidad al Contraste (CSF), en este caso a distintas bandas.

1.4.2. CONTROL DE TASA UTILIZANDO EBCOT

El algoritmo EBCOT, propuesto por Taubman, consigue alcanzar la tasa deseada en una sola iteración y con la mínima distorsión posible. A continuación se hace una breve descripción del método. Para conocer más detalles consultar [11, 12].

Page 29: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

16

El método comienza con el ancho de cuantificación más pequeño posible y realiza la codificación de entropía de los bloques. Después mediante el algoritmo de cálculo de Tasa Lagrangiana (Lagragian Rate Allocation) se obtiene el número de pasadas para cada bloque para obtener la tasa deseada y con la mínima distorsión posible. Esto se repite para cada capa.

Para que el algoritmo funcione eficientemente se necesita que, al truncar la

codificación, la construcción de las capas sea eficiente. Lo que se pretende es truncar la codificación con la mínima distorsión posible, es decir, la máxima calidad visual posible. Esta propiedad solo puede ser conseguida con el orden LRCP de la sección 1.3.4 porque el último parámetro que se recorre son las capas. El problema es que el truncado puede no ser óptimo si no cae al final de la formación de una capa y algunos paquetes pueden ser descartados. Por esto es mejor utilizar un número alto de capas, entorno a 50, para conseguir una eficiente tasa de compresión. Aunque el impacto en el PSNR final es pequeño.

1.5. EXTENSIONES

Hasta aquí se han descrito a rasgos generales las características principales del estándar JPEG2000. A medida que se han ido consolidando las bases, se han añadido nuevas características que, aunque ya no son básicas, le han dado una mayor potencia en aplicaciones: como la introducción de códigos de corrección de errores para aplicaciones de transmisión, regiones de interés para mayor eficiencia de almacenamiento o mejor calidad solo en determinadas regiones, como la fragmentación de la imagen para tratamiento por separado en máquinas de poca capacidad,...etc. En las siguientes secciones se hace una revisión de algunas de las más importantes.

1.5.1. REGIONES DE INTERÉS (ROI)

Las Regiones de Interés (ROI) son regiones de la imagen que van a sufrir un mejor trato por parte del codificador. Básicamente consisten en un realce de los coeficientes de regiones cuadradas o circulares de manera que el codificador no pueda eliminarlos cuando tenga que truncar las capas, [13] [14].

Las regiones son sencillas para que se puedan describir con pocos parámetros. Una

región está descrita por cuatro parámetros en el caso de ser rectangular, dos para las coordenadas de una esquina y otras dos para el ancho y el alto; y tres si es circular, dos para las coordenadas del centro y una para el radio. Las regiones por tanto serán rectangulares, circulares y combinaciones de estas. Las coordenadas están normalizadas a las dimensiones de la imagen y para el caso del radio a la dimensión más grande.

Región Rectangular: )(),( iiiiii wyyyhxxx +≤≤+≤≤ . Región Circular: 222 )5.0()()( +≤−+− iii ryyxx .

(1.14)

Page 30: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

17

Donde hi y wi son las dimensiones del la región rectangular i y ri el radio. Estas coordenadas son enviadas al decodificador junto con el realce y éste no tiene más que decodificar y deshacer el realce en la ROI. Para determinar la ROI:

1. Determinar que bloques de código contiene el píxel. 2. Encontrar los paquetes que contienen los bloques de código. 3. Decodificar las cabeceras del paquete. 4. Usa los datos de la cabecera para encontrar la información de los bloques de código

de cada paquete. 5. Transmitir esta información al decodificador. Realzar una muestra es multiplicar por 2u, es decir, una operación de desplazamiento de

la muestra. Hay tres tipos de realce: • Genérica: En este caso se codifican las coordenadas de la región, cuatro si

rectangular y tres si circular, y el realce para cada una de ellas.

• Igualado por Bloques: Ahora el realce de todas las muestras se aproxima al máximo de todo el grupo. Con este método sólo hace falta almacenar un realce. En cambio da menos libertad de elegir y puede dar problemas de saturación de las muestras.

• Partición Implícita: Este método es la que JPEG2000 utiliza por defecto. Consiste

en elegir un determinado realce de manera que el coeficiente de menor valor de la ROI sea mayor que cualquiera del resto de los coeficientes que no estén en la ROI. Con este método el decodificador no necesita conocer las coordenadas de la ROI puesto que basta con saber el umbral a partir del cual el coeficiente es de la región.

Otras consideraciones a tener en cuenta es la forma que tienen las ROI en cada nivel

[15]. Estas serán diferentes en función del tipo de filtro utilizado. Para el cálculo de las ROI en sucesivos niveles se utilizan filtros de Daubechies (9,7) y (5,3), CRF(13,7), SWE(13,7), (2,6), (2,10) y (10,18). En el caso de que se definan varias regiones de interés es posible que las ROI se solapen en los niveles de baja resolución. En los casos en los que esto suceda se tiene en cuenta el realce que sea mayor.

Figura 1.11. Solape de Varias ROI en el dominio Wavelet.

Page 31: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

18

Los inconvenientes son que las ROI pueden perjudicar la flexibilidad de la organización de la trama y que para 16-bit no se pueden implementar ROI puesto que el realce se puede saturar.

1.5.2. RESISTENCIA AL ERROR

El estándar JPEG2000 es capaz de introducir redundancias en la imagen comprimida, o mejor dicho, códigos de error como cabeceras de trama, para poder descomprimir la imagen aún con pérdidas de información. Esta extensión sólo tiene sentido en entornos de comunicaciones y aplicaciones cliente-servidor donde es muy probable tener pérdidas de información. Ya se están sugiriendo extensiones para aplicaciones sin cables, wireless, dentro del estándar. Evidentemente, si su uso es para almacenar en bases de datos, sólo supondrá un exceso de información. Las técnicas utilizadas para detección de errores están implementadas a nivel de codificación de entropía y a nivel de paquetes.

Como se discutió antes, el hecho de tratar con divisiones en bloques independientes de

otras bandas hace que sea más sencillo introducir códigos de protección dentro de los mismos bloques. Un ejemplo a nivel de codificación viene dado por los restablecimientos de los contextos de probabilidad al final de cada pasada de los planos de bit, lo que evita que el error se propague en las siguientes etapas, aunque por contra se pierde eficiencia en la compresión. Además también se pueden introducir símbolos al final de la codificación aritmética de cada plano, como la marca '1010', que indica que la decodificación se está haciendo correctamente. Si esta marca no aparece se descartan los siguientes planos del bloque. Este proceso constituye un ejemplo de detección de errores.

A nivel de paquete se introducen cabeceras y colas en cada uno de ellos para detección

de errores. La forma se puede ver en la figura 1.6. Como resumen, las clases de detección de errores implementadas son: A nivel de paquete: • Cabeceras: inclusión de cabeceras en los paquetes para protección y corrección de

errores.

• Colas: tienen la misma misión que las cabeceras.

A nivel de bloque: • Marcadores de segmento: marcas al final de la codificación de cada plano de bit.

• Terminación para resistencia al error: se introduce una terminación especial al

finalizar cada pasada en la codificación aritmética.

Page 32: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

19

• Codificación causal: elimina la dependencia de los contextos en relación a las codificaciones de los planos de bit anteriores.

• Codificación paralela: restablece los contextos probabilísticos de la codificación

aritmética. Esto permite en cierta forma una codificación paralela de cada plano.

• Codificación sencilla (lazy): consiste en no marcar todos los planos ni hacer una terminación especial en la codificación aritmética, con lo que el proceso es más sencillo y rápido a cambio de perder eficiencia en la detección de errores.

Todas las combinaciones son posibles aunque no tiene mucho sentido el utilizar, por

ejemplo, la codificación sencilla con marcadores de segmento puesto que tienen funciones diferentes.

1.5.3. FRAGMENTACIÓN O TILING (SSWT)

La fragmentación o tiling de la imagen sólo tiene sentido en sistemas que tienen poca capacidad de memoria, de manera que no es necesario almacenar una transformada wavelet de toda la imagen, o bien para aplicaciones en que se necesite rapidez, donde la máquina puede procesar partes de la imagen en paralelo. Esto tiene interés para sistemas pequeños como teléfonos móviles o pequeñas agendas, pero hay que tener en cuenta que el proceso de fragmentación implica información en exceso puesto que se aumenta el número de cabeceras. Otra aplicación que se podría aprovechar es la de tener un mecanismo para comprimir con distintas calidades en zonas diferentes de la imagen, pero para esto ya están las ROI.

El método de fragmentación es llamado Segmentación Espacial de la Transformada Wavelet (SSWT). Uno de los primeros inconvenientes de realizar la transformación wavelet con distintos fragmentos de la imagen, además del exceso de información, es la distorsión en los bordes. Esto es debido a que las primeras frecuencias que se pierden son las altas, puesto que son las menos sensibles para el SVH [16], y en las zonas de los bordes de la imagen, donde predominan estas, se producen molestos artefactos. Para reducir este efecto se pueden solapar los fragmentos o cuadros que componen la imagen, aunque esto también produce exceso de información en función de cuanto se solapan los cuadros. En el caso de que una ROI esté contenida en varios cuadros se procesa por separado. El solape utilizado en el JPEG2000 es de un píxel por dos caras de cada cuadro de manera que el solape final es de un solo píxel. Viene a ser como Solape de una Sola Muestra en la Transformada Wavelet (SSOWT). Una alternativa es el método Extensión de Punto Simétrico Sin Solape (Non-Overlapped SSWT with the Point-Symmetric Extension). Consiste en hacer una reflexión especular de las muestras en torno a los bordes de los fragmentos como muestra la figura 1.12. Después se aplica la transformada wavelet sobre la secuencia obtenida en la reflexión y se codifica en función de si la secuencia es par o impar. El resultado es que los coeficientes wavelet de los bordes ya no son los mismos pero la reconstrucción es perfecta.

Page 33: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

20

Figura 1.12. Extensión de los coeficientes simétricamente.

1.5.4. TRATAMIENTO POST-COMPRESIÓN

El estándar JPEG2000 permite hacer ciertas manipulaciones sobre la imagen sin tener que hacer la decodificación de entropía [17]. Una primera solución sería decodificar la imagen, hacer la transformada inversa y después hacer la manipulación para volver a hacer el proceso contrario. Una segunda opción, que es la adoptada por eficiencia de cómputo, es el hacer las manipulaciones directamente en el espacio wavelet, así sólo se tendría que realizar la decodificación. Las operaciones básicas son rotaciones de 90, 180 y 270 grados, voltear horizontal y verticalmente y combinaciones de las anteriores. Para que el decodificador sepa cuál de las manipulaciones se ha hecho, se incluyen tres bits que cubren todas las combinaciones posibles, teniendo en cuenta que algunas son equivalentes.

1.6. RESULTADOS

Conviene, para una mejor comprensión de las características hasta ahora expuestas del estándar JPEG2000, hacer un pequeño análisis de como varían las tasas de compresión y calidades de las imágenes en función de los distintos parámetros. En la evaluación de la calidad de la imagen en los experimentos hechos se ha utilizado el PSNR como medida evaluadora:

⎟⎟⎠

⎞⎜⎜⎝

⎛=

MSEKPSNR

2

10log10 , ( )∑ ∑= =−= x yN

i

N

j iOyx

yxIyxINN

MSE1

2

1),(),(1 . (1.15)

Figura 1.13. Fotos-test (2560x2048) elegidas por el estándar JPEG2000.

Page 34: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

21

Donde Io y Ii son la imagen comprimida y original respectivamente, y K es l constante de normalización, generalmente K = 255. Aquí sólo se presentarán datos cualitativos y cuantitativos mediante gráficas, para datos más precisos consultar el artículo de Rabbani y Joshi, [18]. Los valores son una media de los valores obtenidos con tres imágenes diferentes, figura 1.13.

1.6.1. RESULTADOS CON PÉRDIDAS (LOSSY)

TAMAÑO DE BLOQUE

Según la gráfica 1.14 se observa como tamaños de bloque por debajo de 32x32 no son eficientes, sobre todo para tasas altas donde la diferencia es mayor. Esto es debido a que el aumento de la información de cabeceras está en relación con el número de bloques. Otra razón es que la reinicialización de los códigos aritméticos es mucho más frecuente. Por tanto para una misma tasa se obtienen peores calidades a medida que se disminuye el tamaño de bloque.

Figura 1.14. Relación Tasa-PSNR en función del tamaño de bloque [19].

FILTROS DWT (9,7) Y (5,3)

Como ya se intuía, el filtro no reversible es el que tiene más calidad de imagen frente a una misma tasa debido a la precisión de punto flotante (9,7) frente a la precisión entera (5,3). En cambio el filtro (5,3) permitirá la implementación sin pérdidas, cosa que no es posible con el otro.

Page 35: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

22

Figura 1.15. Relación Tasa-PSNR en función de los filtros Reversible (5,3) y No Reversible (9,7) [19].

NIVELES DE DESCOMPOSICIÓN WAVELET

Figura 1.16. Relación Tasa-PSNR en función de los Niveles Wavelet [19].

Page 36: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

23

El número de niveles afecta a la eficiencia de la codificación en cuanto al número de niveles de resolución que se representan. Los experimentos muestran como más allá de los cinco niveles, hasta los ocho, los valores son muy parecidos. Según se muestra en la gráfica 1.16 las pérdidas son más significativas para el caso de un sólo nivel.

CODIFICACIÓN SENCILLA, PARALELA Y AMBAS

El estándar JPEG2000 implementa muchos tipos de codificación para aumentar la velocidad de procesamiento, mediante codificaciones en paralelo o simplemente codificaciones menos severas [20]. Por contra esto implica pérdida de la potencia de compresión, como se observa en la figura 1.17, por no explotar toda la dependencia probabilística espacial y entre planos, aunque las pérdidas son muy pequeñas, entre 0.001 y 0.3 dB dependiendo de la tasa de compresión.

Figura 1.17. Relación Tasa-PSNR en función Codificación Sencilla, Paralela y Sencilla – Paralela [19].

COMPARACION JPEG2000 VS. JPEG

Para tasas bajas el anterior JPEG no es capaz de llegar con q-tablas. La comparación se ha hecho con parámetros óptimos del nuevo algoritmo con el filtro de (9,7). Como muestra la gráfica 1.18, el anterior JPEG está entre 2 y 4 dB por debajo, lo cual es mucho.

Page 37: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

24

Figura 1.18. Relación Tasa-PSNR en función comparando JPEG2000 vs. JPEG [19].

1.6.2. RESULTADOS SIN PÉRDIDAS (LOSSLESS)

TRANSFORMADA REVERSIBLE DE COLOR (RCT)

Es bien conocido que decorrelar la imagen mediante una transformada de color representa más eficientemente la información y por tanto mejor será su procesamiento posterior. Esto se muestra en la tabla 1.3 para distintas imágenes donde para la RCT se pueden ganar de 0.16 a 2.39 bpp, que es mucho para codificación sin pérdidas.

Imagen Sin RCT Con RCT Lena 13.789 13.622

Mandril 18.759 18.103 Bicicleta 13.937 11.962

Mujer 13.892 11.502 Tabla 1.3. Tasa sin pérdidas (bpp) con y sin RCT.

Page 38: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

25

OTRAS OPCIONES

Al igual que en el caso sin pérdidas a medida que aumenta el número de niveles aumenta la eficiencia de representación y por tanto la tasa sin pérdidas que se puede obtener. Más allá de 8 niveles no se observa mucha mejoría. Para el tamaño de bloque ocurre lo mismo, perdiendo eficiencia con tamaños menores de 32x32. Lo mismo con las codificaciones sencillas y paralelas. Para el caso del número de capas, a medida que aumentan, se mejora la eficiencia del truncado pero se aumenta el exceso de información en las cabeceras; aunque muy poco, en torno a 0.01 bpp. Lo mismo que sucede con pérdidas.

Comparando JPEG2000 Sin Pérdidas y JPEG-LS los valores son muy dispares entre las dos técnicas. Se encuentran casos donde JPEG2000 es mejor y casos donde es peor. Pero teniendo en cuenta que JPEG-LS es uno de los algoritmos sin pérdidas que consiguen mejores tasas de compresión se puede decir que JPEG2000 puede competir con la mayoría de algoritmos sin pérdidas.

1.6.3. RESULTADOS DE LA CODIFICACIÓN DE ENTROPÍA

Para ver mejor el proceso de codificación paso por paso se presentan las siguientes gráficas que representan los progresos del codificador en las distintas etapas con la imagen de “Lena”. Los parámetros elegidos son los óptimos en relación con los experimentos anteriormente mencionados.

Figura 1.19. Gráfica de progreso en la codificación de 11 planos de bit [19].

Page 39: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

26

Como se ve, la progresión es exponencial dada su linealidad con un eje logarítmico. Notar que para las pasadas de “Significancia” y “Refinamiento” el valor en el primer plano es 0 bytes, con lo que tendrían un valor de - ∞. Notar también que la relación entre ellos permanece prácticamente constante excepto en el último plano para la pasada de “Normalización”, ya que casi todos los pixeles son codificados en las anteriores pasadas. Una curiosidad es que el número bytes utilizados en un plano es siempre superior a la suma de todos los utilizados en los anteriores planos (excepto en el plano 11).

Figura 1.20. Progresión de tasas y medidas en la codificación de 11 planos de bit [19].

En la figura 1.20 se representa por un lado el PSNR en dB en función de los planos de

bit y por otro lado los porcentajes del número de píxeles que en el plano codificado están en la pasada de refinamiento, son significantes, e insignificantes. La línea discontinua representa el porcentaje de bpp en relación con el máximo, 8 bpp. 1.7. CONCLUSIONES

En este primer capítulo se explican las principales características del estándar de compresión JPEG2000, las cuales están constituidos por una etapa de pre-tratamiento de la imagen, una transformada discreta wavelet, una etapa de cuantización, una codificación aritmética y después la organización de trama.

Page 40: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

27

En el estándar JPEG2000 muchos de los aspectos de codificación han sido tomados para obtener una eficiencia en la consecución de una tasa deseada sin sacrificar demasiado en la capacidad de compresión. Una elección semejante a esta es la de sacrificar dicha capacidad de compresión al no explotar la correlación entre bandas a cambio de conseguir una mayor flexibilidad. En este caso es la elección de codificación por planos de bit y un buen algoritmo de truncado, permitido por el tipo de cuantificador, lo que permitirá alcanzar una tasa de compresión fiel a la esperada.

Las Regiones de Interés (ROI) son regiones de la imagen que van a sufrir un mejor trato

por parte del codificador. Básicamente consisten en un realce de los coeficientes de regiones cuadradas o circulares de manera que el codificador no pueda eliminarlos cuando tenga que truncar las capas.

En la ROI existen tres tipos de realce, los cuales son Genérica, Igualado por Bloques y Partición Implícita, que es el método que JPEG2000 utiliza por defecto.

También se explicó que el estándar JPEG2000 es capaz de introducir redundancias o

códigos de error en la imagen comprimida como cabeceras de trama, para poder descomprimir la imagen aún con pérdidas de información. Las técnicas utilizadas para detección de errores están implementadas a nivel de codificación de entropía y a nivel de paquetes.

En los resultados mostrados, según la gráfica 1.14 se observa como tamaños de bloque

por debajo de 32x32 no son eficientes, sobre todo para tasas altas donde la diferencia es mayor. Esto es debido a que el aumento de la información de cabeceras está en relación con el número de bloques. Otra razón es que la reinicialización de los códigos aritméticos es mucho más frecuente.

Así como ya se intuía, el filtro no reversible es el que tiene más calidad de imagen frente a una misma tasa debido a la precisión de punto flotante (9,7) frente a la precisión entera (5,3). En cambio el filtro (5,3) permitirá la implementación sin pérdidas, cosa que no es posible con el otro. 1.8. REFERENCIAS [1]. W. Zeng, J. Li, and S. Lei. An efficient color re-indexing scheme for palette-based

compression. In Int. Conf. on Image Processing, 2000. [2]. Jianhua Chen, Yufeng, Zhang, Xinling Shi. Image coding based on wavelet transform

and uniform scalar dead zone quantizer. Department of Electronic Engineering, Yunnan University, March 2006

[3]. I. Daubechies. Ten lectures on wavelets. SIAM, Philadelphia, PA, 1992. [4]. S. Mallat. A Wavelet Tour of Signal Processing. Academic Press, 1999. [5]. C.K. Chui. An introduction to wavelets. Academic Press, Boston, MA, 1992.

Page 41: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

28

[6]. G. Sullivan. Eficient scalar quantization of exponential and laplacian variables. IEEE Trans. Inform., 42(5):1365-1374, December 1996.

[7]. Jianhua Chen, Yufeng Zhang, Xinling Shi. Image coding based on wavelet transform

and uniform scalar dead zone quantizer. Department of Electronic Engineering, Yunnan University, China. March 2006.

[8]. A. Said and W.A. Pearlman. A new fast and eficient image codec based on set

partitioning in hierarchical trees. IEEE Trans. Circuits Syst. Video Technol, 6(3):243-250, June 1996.

[9]. J.M. Shapiro. Embedded image coding using zero trees of wavelet coeficients. IEEE

Trans. Signal Processing, 41(12):3445-3462, 1993. [10]. Charilaos Christopoulos and Ericsson Research. Jpeg2000 verification model 8.5

(technical description). Technical Report ISO/IEC JTC1/SC29/WG1 N1878 (ITU-T SG8), JPEG (Joint Photographic Expert Group). 2000.

[11]. D. Taubman. High perfomance scalable image compression with EBCOT. IEEE

Trans. Image Processing, 9(7):1158-1170, July 2000. [12]. Charilaos Christopoulos (Media Lab) and Ericsson Research (Sweden). Jpeg2000

verification model 8.5 (technical description). Technical Report ISO/IEC JTC1/SC29/WG1 N1878 (ITU-T SG8), JPEG (Joint Photographic Expert Group)., 2000.

[13]. J. AskelÄof, M. Larsson, and C. Christopoulos. Region of interest coding in jpeg

2000. Signal Processing: image communication, 17:105-111, 2002. [14]. Anthony Nguyen, Vinod Chandran, Sridha Sridharan. Gaze tracking for region of

interest coding in JPEG 2000. Image and Video Research Laboratory, School of Engineering Systems, Queensland University of Technology, Brisbane QLD 4001, Australia. November 2005.

[15]. Pablo G. Tahoces, J. Ramón Varela, María J. Lado, Miguel Souto. Image

compression: Maxshift ROI encoding options in JPEG2000. To appear in: Computer Vision and Image Understanding. July 2007.

[16]. S. Daly, W. Zeng, J. Li, and S Lei. Visual masking in wavelet compression for

jpeg2000. Technical report, Sharp Laboratories and Microsoft, 2000. [17]. Marco Aguzzi, Maria Grazia Albanesi, Marco Martelli. A new algorithm for the

embedding of a prediction mechanism into the JPEG2000 coding chain. Dipartimento di Informatica e Sistemistica, Università degli Studi di Pavia, Via Ferrata 1, 27100 Pavia, Italy. February 2006.

Page 42: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 1 “ESTÁNDAR JPEG2000”

29

[18]. Majid Rabbani and Rajan Joshi. An overview of the jpeg2000 still image compression standard. Technical report, Eastman Kodak Company, 2001.

[19]. Rafael Redondo Tejedor. Libro: Desarrollo de Algoritmos de Optimización Visual en

Imágenes Médicas; Cap 3, pag (118-123). Junio 2002. [20]. Jiang-Lung Liu. Efficient selective encryption for JPEG 2000 images using private

initial table. Department of Electrical Engineering, Chung Cheng Institute of Technology, National Defense University, Taiwan. February 2006.

Page 43: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 2:

COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS

Page 44: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

30

2.1. TRANSFORMADA WAVELET 2.1.1. FUNDAMENTOS DE LAS FUNCIONES WAVELETS

Como es bien sabido existen diversos esquemas de compresión, cada uno de ellos es más eficiente para su función, dependiendo de las características de los datos que se desean comprimir. Desafortunadamente, en muchas ocasiones los datos a comprimir presentan una combinación que dificulta el poder seleccionar un esquema de compresión.

Una forma de solucionar este problema es mediante la descomposición de la señal a comprimir en diferentes bandas de frecuencia utilizando filtros digitales, y una vez separada aplicar en cada banda una codificación apropiada a las características de cada banda de frecuencia. A este proceso se le conoce normalmente como codificación en subbandas.

2.1.1.1. FILTROS UTILIZADOS EN CODIFICACIÓN EN SUBBANDAS

El banco de filtros mas frecuentes usado en codificación en subbandas consiste en una cascada de etapas, donde cada etapa consiste en un filtro pasa bajas y un filtro pasa altas, como el que se muestra en la figura 2.1.

Figura 2.1. Banco de filtros de ocho bandas.

Page 45: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

31

El más popular de estos filtros es el conocido como “Quadrature Mirror Filtres (QMF)”, que fueron propuestos por Croisier, Esteban y Galand [1].

2.1.1.2. ALGORITMO BÁSICO DE CODIFICACIÓN EN SUBBANDAS

El algoritmo básico de un sistema para codificación en subbandas se muestra en la figura 2.2.

Figura 2.2. Diagrama a bloques de un sistema de codificación en subbandas.

Como se aprecia en la figura, mediante el filtro de análisis se descompone la señal en

diferentes bandas de frecuencias, posteriormente se realiza un submuestreo de la señal por el número de bandas en que se este descomponiendo. Finalmente se codifica cada banda utilizando el método que sea más apropiado para las características de los datos de cada banda, para después realizar la transmisión de los datos por un canal de comunicación.

En la parte del receptor se tiene que realizar el proceso inverso, es decir decodificar

cada banda, realizar una interpolación de datos y finalmente realizar una interpolación de datos y finalmente realizar el filtrado de la señal con filtros de síntesis para cada banda del canal.

Page 46: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

32

Figura 2.3. Características espectrales en los puntos A, B y C de la figura 2.1.

2.1.1.3. BANCO DE FILTROS QMF DE M-BANDAS

En algunas aplicaciones es necesario descomponer la señal de entrada en múltiples bandas. Como ya se mencionó para esto se puede utilizar un banco de filtro como el de la figura 2.1. Este presenta un eficiente camino para obtener una división en M-bandas. Desafortunadamente al pasar la señal por la estructura de filtros, las características espectrales de la señal van perdiendo calidad.

Esto se puede apreciar con más detalle en la figura 2.3, en esta muestra las

características espectrales de una señal en los puntos A, B y C que se muestra en la figura 2.1. 2.1.2. INTRODUCCIÓN A LAS WAVELETS

La transformada Wavelet es la representación de la señal en función de unas bases más apropiadas, para señales no estacionarias, que las exponenciales complejas de Fourier, produciendo un mejor compromiso entre la resolución temporal y de frecuencia [2].

Page 47: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

33

Algunas de las aplicaciones son las siguientes: Compresión de señales e imágenes [3], análisis de electroencefalograma [4], detección de picth [5], procesamiento de correlación de banda ancha [6], compresión de imágenes de huellas dactilares [7], detección de cambios en estructuras y señales [8], detección de ondas sísmicas [9], cancelación de ecos acústicos y telefónicos [10], reconstrucción y filtraje de potenciales evocados [11], reflectometría óptica [12], análisis de ruido en MOSFETs [13], etc. Como se observa el rango de aplicaciones es amplio que bien merece la pena conocer sobre esta novedosa herramienta. Por otra parte, la gran cantidad de información proveniente de todas las áreas del conocimiento, ha forzado la búsqueda de sistemas de compresión de datos para hacer más eficiente su transmisión y almacenamiento. Esto estimulo el estudio de bancos de filtros para la separación de bandas como un paso previo al procesamiento de la señal [14]. 2.1.3. HISTORIA DE LAS WAVELETS

Desde el punto de vista histórico, el análisis con Wavelets es un método nuevo, aunque sus fundamentos matemáticos datan de tiempo atrás con el trabajo de Joseph Fourier en el siglo XIX. Fourier puso los fundamentos, con su teoría del análisis en frecuencia que demostró ser de enorme importancia y muy influyente ahora en el análisis con Wavelets.

La atención de los investigadores cambió gradualmente del análisis basado en frecuencia, al análisis basado en escala, cuando empezó a quedar claro que el acercamiento que mida las fluctuaciones medias a diferentes escalas podría evidencias menos sensibilidad al ruido.

La primera mención registrada de lo que ahora llamamos “Wavelet” fue hecha en 1909, en una tesis por Alfred Haar.

El concepto de Wavelet en su forma teórica presente fue propuesto por Jean Moriet y el

equipo de centro de física teórica Marseille trabajando bajo las ordenes de Alex Grossman en Francia.

Los métodos de análisis con Wavelet han sido desarrollados principalmente por Y.

Meyer y sus colegas que han asegurado la diseminación de los métodos. Los principales algoritmos datan de tiempo atrás del trabajo de Stephane Mallat en 1988. Desde entonces, investigaciones sobre Wavelets se han realizado internacionalmente. Dichas investigaciones son principalmente activas en los Estados Unidos, donde se encabezan por el trabajo de científicos como Ingrid Daubechies, Ronald Coifman y Victor Wickerhauser.

El dominio de las Wavelets esta creciendo rápidamente, muchas publicaciones matemáticas y ensayos son publicados cada mes. 2.1.4. DE TRANSFORMADA DE FOURIER A TRANSFORMADA WAVELET

Generalmente para analizar fenómenos físicos, uno se basa en las señales que ellos producen. El dominio natural de la señal es el tiempo, o el espacio si se trata de una imagen. Sin embargo, para visualizar atributos particulares o para realizar procesos de un manera más simple, desde el siglo pasado se ha intentado transformar la señal y llevarla a

Page 48: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

34

otros dominios como por ejemplo la frecuencia. El primero de estos intentos corresponde al trabajo de Fourier [15].

La teoría de las series de Fourier ha sido importante en síntesis y análisis de redes porque permite aproximar una función arbitraria sobre un intervalo de tiempo dado, con la suma de otras señales más convenientes de tratar y visualizar.

Suponiendo que queremos expresar una señal x(t) en función de otras señales gn(t) en

un intervalo (t1, t2) como:

∑= )()( tgCtx n , 21 ttt ≤≤ . (2.1) El criterio más usado para determinar el valor óptimo de Cn es minimizar el promedio

del cuadrado del error <ε2> en el intervalo (t1, t2) definido como:

( )∫ ∑−−=

2

1

2

12

2 )()(1 t

tnn dttgCtx

ttε . (2.2)

Para derivar se anula la derivada de esta función respecto a Cn. El cálculo de Cn se hace

muy complejo excepto si las funciones gn son ortogonales entre en cuyo caso, incluyendo la posibilidad de funciones complejas, resulta:

∫=

2

1

2

1

)()(

)()(

*

*

t

tnn

t

tn

n

dttgtg

dttgtxC . (2.3)

Como se observa el coeficiente Cn se calcula proyectando, en forma normalizada, la

función x(t) sobre la función base gn(t). Si las señales bases gn(t) están normalizadas (energía o potencia unitaria), los coeficientes Cn se calcularán directamente haciendo el producto escalar de la señal x(t) con la base gn(t).

)(),()()(2

1

* tgtxdttgtxC n

t

tnn == ∫ . (2.4)

Esto recuerda mucho la representación de vectores en función de las coordenadas de un

sistema ortogonal generalizado. Por ejemplo, si queremos conocer de un vector en un plano (x, y) cual es su componente x. Realizamos el producto escalar del vector con el vector unitario en la dirección x.

En el área de eléctrica y electrónica se acostumbra utilizar como bases gn(t) a exponenciales complejas (sinusoidales) infinitas debido, entre otras cosas, a que nuestros sistemas responden de manera natural con exponenciales complejas que son funciones fáciles de sintetizar y manejar. Por otra parte permiten, en sistemas lineales, aplicar

Page 49: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

35

superposición. Por años el análisis de Fourier ha permitido no solo resolver más eficiente los problemas, sino que ha creado otro dominio de representación de las señales eléctricas.

Sin embargo el análisis tradicional de Fourier no es útil cuando la señal a analizar carece de una regularidad estadística determinada o cuando tiene variaciones locales de la frecuencia. Se piensa entonces que si se escogen porciones de la señal o lo que es lo mismo, se hacen pasar los datos por una ventana previa al cálculo de la transformada de Fourier, es posible obtener la localización en tiempo de cada componente frecuencial. Esto representa observar la señal x(t) a través de la ventana w(t) trasladada hasta el tiempo t, que es lo que hace la Transformada de Fourier de corto plazo o STFT (Short Time Fourier Transform) [16] de la señal x(t), es decir:

∫∫∞

−∞

− −=−= ´)´(´)()()(),( ´2** dfeffWfxedetwxftSTFT tfjjwjwx

πττ τττ . (2.5)

Se puede ver a la STFT como la proyección de la señal x(t) sobre una función base

sinusoidal limitada temporalmente a través de una ventana fija w(t) y, debido a que la operación es invertible, esto al mismo tiempo equivale a representar la señal x(t) a través de una familia de funciones bases del tipo: w*(t-t) e-jwt. Otra forma de verlo es como un filtraje de la señal x(t) con un filtro pasabanda de ancho de banda constante trasladado a las diferentes frecuencias de análisis.

Una vez elegida la ventana w(t), la resolución para todo el plano t-f estará fija. Por lo tanto para una STFT dada podemos aumentar la resolución temporal con funciones más estrechas en tiempo con lo que estaremos perdiendo resolución en frecuencia ya que los filtros se hacen más anchos. El mejor intento fue el de Gabor [17] quien propuso el uso de una ventana envolvente gausseana lográndose una buena resolución en el dominio t-f. Pero aún así se sigue dependiendo del tamaño de la ventana elegida.

Se piensa entonces en representar la función con otro tipo de bases que traten en lo

posible de mejorar la resolución adaptándola al rango de frecuencias analizando. Esto se define como la transformada continua Wavelet. 2.1.5. TRANSFORMADA CONTINUA WAVELET

La transformada continua Wavelet de una señal x(t) se define como:

∫∫∞

⎟⎠⎞

⎜⎝⎛ −

== dta

btwtxa

dttwtxbaCWT ab** )(1)()(),( . (2.6)

O calculándola en base a la representación espectral de la señal y de la base:

∫∞

= dweawtWwxabaCWT jbw)(*)(),( . (2.7)

Page 50: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

36

Observe que, al igual que en Fourier, se está realizando un proceso escalar de la señal x(t) con una función que llamaremos Wab(t) que se genera trasladando, escalando y normalizando la energía de una onda madre llamada W(t). Es decir, a una escala “a” dada, uno sustituye la señal por una mejor aproximación posible a dicha escala.

Para que la relación sea invertible, es decir para que se pueda recuperar la señal x(t) a partir de las proyecciones sobre las bases seleccionadas, la onda madre w(t) debe cumplir la siguiente condición:

∫∞

∞−

∞pωωω

dW 2)(

. (2.8)

Esto obliga a la señal a ser de energía finita, oscilación. En este caso la señal x(t) puede

ser recuperada mediante la transformada Wavelet inversa, ICWT, definida como:

∫∫ ⎟⎠⎞

⎜⎝⎛ −

= 2

1),()(a

dbdaa

btwa

baCWTCtx xg . (2.9)

Una función Wavelet sencilla, muy usada para señales de cambios abruptos es la

función Wavelet de Haar que se observa en la figura 2.4.

Figura 2.4. Wavelet de Haar.

Al variar a y b se obtienen las siguientes señales escaladas y trasladadas:

Page 51: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

37

Figura 2.5. Wavelet de Haar trasladada y escalada. Esta base no puede ser apropiada para representar señales con cambios suaves. Ingrid

Daubechies [18] desarrolló una familia de Wavelets madres que han tenido mucha aceptación en diversas aplicaciones. A continuación se muestra una de ellas.

Figura 2.6. Wavelet Daubechies 4.

En la transformada Wavelet, aparece en vez de la frecuencia f una variable asociada a

que llamaremos escala. Esta variable está relacionada inversamente con la frecuencia. Su papel será el siguiente: para a grande (suponga a >1) la función w(t) se amplía en tiempo; al

Page 52: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

38

multiplicar la señal x(t) por algo más amplio en tiempo (bajas frecuencias) que corresponde a algo más estrecho en frecuencia se obtendrá mayor resolución en frecuencia. Para a pequeño el análisis se invierte: ventana estrecha en tiempo implica una menor resolución en frecuencia.

La transformada Wavelet obliga a un cambio en la interpretación de resultados respecto

al análisis de Fourier tradicional. En la figura 2.7 se presenta el gráfico de contornos de la CWT y la STFT de 3 sinusoidales de frecuencia fo, 2fo y 4fo. La STFT presenta tres franjas de ancho constante para todo t. Por su parte, la CWT produce tres franjas con un ancho que varía: Para frecuencias mayores (escala menor) el ancho es mayor.

Figura 2.7. Comparación de la CWT y la STFT de una suma de tonos.

2.1.6. TRANSFORMADA DISCRETA DE WAVELET

Un problema de la transformada continua Wavelet es que los coeficientes no son independientes uno de otro, produciendo una descomposición de la señal redundante y no ortogonal [19]. Meyer [20] propone discretizar a y b, de forma de obtener una base ortogonal, de la siguiente manera: a = aoj y b = koj T. Observe que, de manera lógica, se ha discretizado b en proporción a la discretización de a. El problema entonces se reduce a escoger ao, T y w(t) tal que se cumpla la formula de reconstrucción en su versión discreta. Es decir se debe poder recuperar la señal x(t) calculando la sumatoria de la Wavelets pasadas por los respectivos coeficientes. Sí la redundancia es alta (pasos pequeños de a) casi no hay restricciones sobre w(t), por otra parte si el paso es grueso, crecen las restricciones sobre w(t).

Tal vez asociando la escala con una división en octavas y por facilitar la realización

práctica se escoge ao = 2. Con este valor, la representación de la transformada de la señal en el dominio de la frecuencia produce unos coeficientes dados por:

[ ] )2(12/

, )2(*)(2 kjJ

KJ jffXFWT −−−= . (2.10)

Page 53: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

39

Esto es similar a pasar la señal por un banco de filtro en octavas y luego tomar muestras de la salida filtrada en los puntos indicados. Como la Wavelet tiene la peculiaridad de ser pasa-banda, dichos filtros son pasa-bandas escalados en frecuencia. Esto puede conseguirse con un esquema de filtraje que combine filtros pasa-bajos y pasa-alto de manera de ir cubriendo el espectro y cambiando la resolución de la representación. Observe el siguiente esquema:

Figura 2.8. Esquema de filtraje para lograr descomposición en Wavelets.

Si se supone que el filtro pasa-alto es ideal (unitario entre p/2 y 3p/2, periodo 2p) y de manera similar el pasa-bajo, (unitario entre –p/2 y p/2), se puede observar la respuesta en frecuencia total en los puntos 1, 2 y 3.

Figura 2.9. Respuesta en frecuencia de los puntos 1, 2 y 3.

Page 54: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

40

Como se puede observar, las respuestas en frecuencia de las bandas de las salidas indicadas corresponden a selecciones en frecuencia en octavas. Esto es similar a lo que se realiza al descomponer una señal en función de una Wavelet madre y traslaciones y escalamientos de la misma. En el caso de bancos de filtros (FLP y HPF) separa en bandas uniformes; si en vez de separar la señal en bandas uniformes, se puede intentar separación en bandas no uniformes. La más simple y común es la estructura de bancos de filtros en octavas.

Aquí podemos encontrar la primera relación con la representación de una señal en base

a Wavelets, ya que haciendo uso de las llamadas identidades nobles, que se muestran en la figura 2.10 podemos modificar cada rama y convertir el esquema mostrado en algo similar a la transformada Wavelet.

Figura 2.10. Identidades Nobles.

Figura 2.11. Bancos de filtros y descomposición en Wavelets.

Si se compara con la figura 2.8, la diferencia radica en los compresores temporales a la

salida que son los que garantizarán que el número de muestras total a la entrada y a la salida sea constante.

Viendo nuevamente la ecuación (2.10) que permite calcular los coeficientes de la transformada Wavelet se observa que la representación en frecuencia para la banda j de la Wavelet es de tipo W*(f/2j). Por ejemplo W(f/2) sería equivalente a pasar por diezmador constituido por un filtro con respuesta en frecuencia W(f) seguido de un compresor temporal por 2.

Page 55: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

41

En general, para aplicar la descomposición en Wavelets, se puede comenzar por Wavelet de Haar, luego para mejorar la reconstrucción se aumenta el orden (Haar, cubic, spline, etc.). Si aún no es satisfactorio se puede probar las familias Meyer o Daubechies, que provienen de filtros con mayor regularidad y por lo tanto proporcionan Wavelets más continuas y apropiadas para aproximar señales.

Los coeficientes de la aproximación en algún nivel en términos de las funciones base de

alguna Wavelet son simplemente valores promedios de la función f(t), en los intervalos correspondientes. Estos coeficientes son llamados coeficientes de aproximación y se obtienen formalmente por la integración de la ecuación (2.11).

∫+

≡)1(2

2

)(21),(

l

lk

k

k

dttflkc . (2.11)

Lo que presenta esta integral es que f(t), puede representarse como una combinación

lineal de la función )2( tt−φ .

⎩⎨⎧

=−

,0,1

)2( ttφ otrot k20 ≤≤

caso

,. (2.12)

En otras palabras alguna función en el campo 2ℜ→kV puede obtenerse como una

combinación lineal de una dilatación de )(tφ , por un factor 2k y sus traslaciones en múltiplos enteros de 2k.

Similarmente los coeficientes de detalles d(l,k) son obtenidos de la ecuación (2.13).

∫+

− −≡)1(2

2

)2()(21),(

l

l

kk

k

k

dtlttfkld ψ . (2.13)

Donde ψ(t) represente alguna función Wavelet como puede ser “Haar, Daubechies, etc”. Es importante mencionar que después de obtener los coeficientes de los detalles no es

necesario aplicar las integrales de las ecuaciones (2.12) y (2.13) para obtener c(k,l) y d(k,l) de cada nivel, estos vectores pueden ser obtenidos por un esquema de filtrado digital.

El valor promedio sobre un intervalo dado en un nivel de aproximación es simplemente, como se mencionó anteriormente, el promedio de dos valores consecutivos para obtener la siguiente aproximación fina en este mismo intervalo, es decir:

[ ])12,1()2,1(21),( +−+−= nknkcnkc . (2.14)

Donde n indica el número de muestra; si hacemos pasar la secuencia c(k-1,n) por un

filtro digital con respuesta al impulso, obtenemos:

Page 56: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

42

[ ])1()(21)(~ ++= nnnh δδ . (2.15)

Denotando la salida del filtro por, y(k-1,n) tenemos que;

[ ])1,1(),1(21),( +−+−=− nkcnkcnlky . (2.16)

Podemos observar que finalmente,

)2,1(),( nkynkc −= . (2.17) Este proceso de filtrado es referido como “downsampling” por un factor de dos y a la

combinación de filtrado y “downsampling” es llamado “decimación”. De manera similar, obtenemos d(k,n) a partir de c(k-1,n), al pasarlo por otro filtro de respuesta al impulso dado por

[ ])1()(21)(~ +−= nnng δδ . (2.18)

Estos filtros son llamados filtros de espejo en cuadratura (Quadrature Mirror Filters,

QMF). La reconstrucción de la señal es por medio de filtrado, estos filtros cumplen con la

igualdad dada por la ecuación (2.19), de donde podemos recuperar la señal original:

)(~2)()(~2)(

ngngnhnh−=−=

. (2.19)

2.1.7. FAMILIAS WAVELET

Las familias Wavelets [21] que han demostrado ser más útiles para el procedimiento de señales son las siguientes: 2.1.7.1. HAAR

Cualquier discusión sobre Wavelets debe de empezar con la Wavelet Haar, por ser más simple y sencilla, esta Wavelet es discontinua y se parece a una función “paso”. Esta función es equivalente a la Wavelet Daubechies db1.

Page 57: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

43

Figura 2.12. Wavelet de Haar.

2.1.7.2. DAUBECHIES

Ingrid Daubechies, una de las personalidades más importantes en el mundo de la investigación de Wavelets, inventó lo que se conoce como Wavelets ortonormal, haciendo con esto posible el análisis discreto con Wavelets. El nombre de las Wavelets de la familia Daubechies se escribe dbN, donde N es el orden y db corresponde al apellido de la Wavelet. La Wavelet db1, como se mencionó anteriormente es igual a la Wavelet de Haar.

Figura 2.13. Familia de Wavelets Daubechies.

2.1.7.3. BIORTOGONAL

Esta familia de Wavelets tiene la propiedad de poseer fase lineal, que es necesaria para la reconstrucción de señales e imágenes. Estas utilizan dos Wavelets diferentes, una para descomposición y otra para reconstrucción en lugar de usar solo para los dos procesos como las otras familias. Interesantes propiedades se derivan de esto. En la figura 2.14 podemos apreciar esta familia.

Page 58: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

44

Figura 2.14. Familia de Wavelets Biortogonales.

Page 59: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

45

2.1.7.4. COIFLETS

Estas Wavelets fueron construidas por I. Daubechies y R. Coifman. Estas funciones Wavelets tienen 2N momentos igual a cero y la función escalar tiene 2N-1 momentos igual a cero. Las dos funciones soportan una longitud de 6N-1.

Figura 2.15. Familia de Wavelets Coiflets.

2.1.7.5. SYMLETS

Las Symlets son Wavelets casi simétricas propuestas por Daubechies como modificación a la familia db. Las propiedades de las dos familias de Wavelets son similares.

Figura 2.16. Familia de Wavelets Symlets. 2.2. UMBRAL DE COMPRESIÓN

El umbral es una de las herramientas matemáticas más usadas cuando se trata de realizar compresión con pérdidas de señales. Este se basa en la eliminación de los coeficientes la determina el nivel de umbral.

Page 60: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

46

Existen principalmente tres métodos que sirven para determinar el valor que tomará el umbral que son el umbral de porcentaje [22], el umbral universal y el umbral adaptivo. Estas técnicas se explican a continuación.

De igual forma, más adelante se explican dos formas de aplicar el umbral a una señal

que son las que se conocen como umbral duro y umbral suave. 2.2.1. UMBRAL DE PORCENTAJE

En ciertas aplicaciones como en la compresión de imágenes, donde una cuota de bits se ha asignado al archivo comprimido es más conveniente poner un cierto porcentaje de coeficientes a cero para satisfacer el requisito de la cuota. En este caso la selección del umbral “t” se basa en el histograma de los coeficientes de donde se selecciona del total del número de coeficientes.

2.2.2. UMBRAL UNIVERSAL (UNIVERSAL THRESHOLDING)

Este método fue propuesto por Donoho [23]. Usa la estadística del espectro de la Wavelet, así como tablas estadísticas del umbral. Regularmente usa la desviación estándar σ como una característica. Este umbral es el siguiente:

nnKt )(log2 2σ⋅= . (2.22)

2.2.3. UMBRAL ADAPTIVO (ADAPTIVE THRESHOLDING)

Cuando el método propuesto adapta los valores de umbral del espectro de las Wavelets, es decir, los coeficientes de descomposición, este es llamado umbral adoptivo un ejemplo de ello es el encontrado en [24]. Matemáticamente representado por

∑=

−=n

i

lli

S

l SmediaSn 1

2)(1σ . (2.23)

Donde

∑=

=n

i

li

S

l Sn

Smedia1

1)( . (2.24)

Page 61: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

47

2.2.4. UMBRAL DURO (HARD THRESHOLDING)

Si se tiene una señal o coeficientes denotada por “x” y a la cual le aplicamos el umbral duro [23], después de aplicarle el umbral dicha señal será denotada por “S”.

Entonces tenemos que el umbral duro viene dado por la siguiente expresión:

⎩⎨⎧

=,0,x

S sisi

.,´

txtx

≤>

. (2.25)

2.2.5. UMBRAL SUAVE (SOFT THRESHOLDING)

De manera muy semejante el umbral suave [23] está dado por la ecuación siguiente:

⎩⎨⎧ −

=,0

),)(( txxsignS

sisi

.,

txtx

≤>

. (2.26)

Donde: t (threshold) es el umbral.

La función sign(x), regresa +1 si x>0, -1 si x<0 y 0 si x=0.

Figura 2.17. Umbral Duro y umbral suave.

Una vez determinado el valor de umbral que utilizaremos, ya sea mediante el umbral de

porcentaje, el umbral universal y el umbral adaptivo, se puede aplicar este a los coeficientes de la señal utilizando cualquiera de los métodos de aplicación del umbral, es decir umbral suave o umbral duro.

Después de aplicar el umbral a los coeficientes de detalle, un gran número de estos se

hacen cero, y este es el que realmente determina que tanto se comprime la señal, aunque cabe mencionar que es muy importante vigilar el valor que utilizamos de umbral, para que

Page 62: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

48

la señal no pierda características que puedan ser importantes. Esto puede hacer mediante el criterio de relación señal a ruido que se explica en el siguiente capítulo. 2.3. CONCLUSIONES

En este capítulo se presentan las bases teóricas para comprender en que consiste el

método de compresión utilizando transformada de funciones Wavelet, se explica paso a paso como es que se descompone una señal en sus coeficientes de aproximación y detalles, además se presentó como se puede hacer una descomposición multinivel de una señal con Wavelets.

Se presenta de manera gráfica la forma que tienen las diferentes familias de funciones

Wavelets que se emplearan para realizar las pruebas de compresión, como son la familia Daubechies, Coiflets, Symlets y Biortogonal, además de la Haar. De igual forma se presenta el fundamento matemático de la transformada discreta coseno.

Se explica en que consiste un término umbral de compresión muy importante dentro de

los métodos de compresión por transformada. La importancia de este parámetro radica en que este es el que determina que tanto se comprime la señal, solo que es muy importante tener en cuenta que mientras más se comprima la señal más se deteriorará la misma y por lo tanto puede llegar a perder propiedades importantes para su análisis por los médicos.

Finalmente se explican los dos métodos más importantes que existen para aplicar el

umbral, como son el umbral duro y umbral suave. Todo lo anterior es de importancia para comprender más claramente el capítulo siguiente en donde se presentan las pruebas realizadas mediante Matlab para implementar estos algoritmos y de esta forma verificar su funcionamiento con imágenes médicas. 2.4. REFERENCIAS [1]. Khalid Sayood. Morgan Kaufmann. Introduction to data compression. Second

Edition. Publishers. 2000. [2]. G. Strang, Wavelets and dilation equations: A brief introduction, SIAM review, vol.

31, No. 4, pp. 614-627, December 1997. [3]. S. Mallat, Multifrequency channel decompositions of images and wavelets models,

IEEE Transactions on Acoustic, Speech, and Signal Processing, vol.37, Nº 12, December 2002.

[4]. P. Durka. “Time-frequency analysis of EEG”. PhD Thesis. Warsaw University.

March 2002.

Page 63: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

49

[5]. Gavat, M. Zirra, V. Enescu, “Pitch detection of speech signals by dyadic wavelet transform”, International Conference on Signal Processing Technology, Oct. 99, pp. 1630-1634.

[6]. Apiki, S. Lossless Data Compression, , BYTE, March 1998. [7]. Raita, T. y Teuhola, J. Predictive Text Compression by Hashing., ACM Conference

on Information Retrieval, 1993. [8]. J. Ziv & A. Lempel, IEEE Transactions on Information Theory, 24, 1992 (LZ92). [9]. Fuentes de Infozip Zip 2x / Unzip 5.x. Mark Adler, Richard B. Wales, Jean-loup

Gailly, Kai Uwe Rommel e Igor Mandrichenko. [10]. Compress para Unix 4.12, Fuentes. Spencer W. Thomas, Jim McKie, Steve Davies,

Ken Turkowski, James A. Woods, Joe Orost, Dave Mack, 1993. [11]. A Technique for High Performance Data Compression. Welch, Terry A., Computer,

17, no. 6, June 1994. [12]. Knuth, Donald E. Esquemas Algorítmicos. Vol. III: Ordenación y búsqueda, sec. 6.4. [13]. Haruhiko Okumura. Data Compression Algorithms of LARC and LHarc., 1999. [14]. Andrew S. Tanenbaum. Computer Networks. Third Edition.. Pretice-Hall 1996. [15]. Trina Adrián de Pérez. “Guía de Teoría Señales y Sistemas”. U.S.B. 1997. [16]. S. Kadame and G.F. Boudreaux-Bartels, Linear and quadratic time-frequency signal

representations, IEEE Transactions on Signal Processing, vol. 40, Nº. 10oct 98. [17]. Daubechies, The wavelet transform, time-frequency location and signal analysis,

IEEE Transactions on Information Theory, vol. 36, Nº 5, September 2001. [18]. Daubechies, Orthonormal bases of compactly supported wavelets, Communications

on Pure and Applied Mathematics, vol. XLI 909-996. Inc. 2003. [19]. O. Rioul & M. Vetterli, Wavelets and Signal Processing, IEEE Signal Processing

Magazine, October 1991, pp. 14-38. [20]. Y. Meyer Theory & Applications, Cambridge University Press, 2003. [21]. Misiti, M. Misiti, Y. Oppenheim, G. Wavelet, toolbox User’s Guide, N.Y. USA:

Matlab, 2006. [22]. Goswami, J.C. Chan, A.K. Fundamental of Wavelets, Wiley & Sons, N.Y. USA 1999

p.p. 214-218.

Page 64: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS”

50

[23]. David Leigh Donoho, Jiashun Jin. Asymptotic Minimaxity of False Discovery Rate

Thresholding for Sparse. Pag. 70. Publicado en 2004.Dept. of Statistics, Stanford University.

[24]. L. Badillo, V.I. Ponomaryov, F.J. Gallegos-Funes, L. Igartua, R. Ricardo-Fabi “Long

Term EEG Digital Recorder System”, Jounal “Telecommunications and Radio Engineering”, Vol 56, Nº 1, pp. 118-126. 2001.

Page 65: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 3:

IMÁGENES MÉDICAS

Page 66: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 3 “IMÁGENES MÉDICAS”

1 Premio Novel de física en 1901 2 Premio Nobel de Medicina a Comack y Hounsfield en 1979

52

3.1. INTRODUCCIÓN

La información en forma de imágenes es muy importante en diversos campos científicos y profesionales, entre los que destaca de forma especial la medicina. En las últimas dos décadas han aparecido diversas modalidades de imágenes médicas que ofrecen a los médicos y profesionales sanitarios información muy importante, y en ocasiones imprescindible, para el diagnóstico de patologías y seguimiento de pacientes, y en los últimos años la planificación quirúrgica. Se puede destacar de forma especial las imágenes médicas de tomografía axial computarizada (TAC) y la resonancia magnética nuclear (RMN). Las herramientas informáticas y los métodos de tratamiento digitales son necesarios tanto para la adquisición de las imágenes médicas digitales como para su tratamiento y análisis. Asimismo, aplicaciones de visualización son de gran utilidad en medicina para facilitar y permitir un aprovechamiento adecuado de la enorme cantidad de información disponible sobre los pacientes.

La obtención de una imagen médica consiste en el estudio de la interacción de un

determinado tipo de radiación cuando atraviesa el tejido humano, y la obtención de información clínica de interés a partir de dicha interacción. Así una imagen médica sería la representación espacial en forma de imagen de una o más propiedades físicas dentro del cuerpo de un ser vivo, en general humano.

El importante avance en medicina en el siglo XX, en concreto a partir de la segunda

mitad, vino acompañado, en gran medida, de los avances científicos de la física y los avances técnicos de la ingeniería. Se han ido sucediendo métodos cada vez más complejos en respuesta a conocimientos y necesidades cada vez más complejas. Se puede decir que el campo de las imágenes médicas surge a raíz de los estudios de W.C. Röntgen en 18951 de los rayos X. En 1923 aparece la angiografía para resaltar el contraste mediante sustancias radio-opacas. En 1950 surgen experimentos con ultrasonidos debido a los avances del Sonar en la II Guerra Mundial. En 1970 se inventa la Tomografía Axial Computerizada mediante cálculos de proyecciones desarrollados en 1917 (Radon). Hounsfield2 construye el primer tomógrafo comercial. En 1980 es el turno de la Tomografía de emisión de fotones únicos (SPECT: Single Photon Emission Computed Tomography) y Tomografía por emisión de positrones (PET: Positron Emission Tomography). También en este año se inventa la Resonancia Magnética (RM) de gran resolución de contraste que permite hacer estudios funcionales. Aquí se resumen las características de los tipos de imágenes médicas mías importantes.

3.2. TIPOS DE IMÁGENES MÉDICAS

Existen dos tipos de imágenes médicas: las que se obtienen por proyección y por reconstrucción. Las primeras surgen de la obtención directa de la interacción entre radiación y tejido. En este tipo está la radiología convencional y digital, la medicina nuclear y los ultrasonidos (US). Las segundas son una extensión de las primeras mediante diferentes proyecciones y su posterior reconstrucción. A este grupo pertenece la TAC (Tomografía Axial Computarizada), SPECT (Tomografía por Emisión de Positrones

Page 67: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 3 “IMÁGENES MÉDICAS”

53

Únicos) y PET (Tomografía por Emisión de Positrones), MR (Resonancia Magnética) e imágenes en 3D. Aunque SPECT y PET también son imágenes de medicina nuclear [1]. 3.2.1. IMÁGENES DE RADIOGRAFÍA

Los rayos X fueron descubiertos por RÄontgen1 en 1895 cuando experimentaba con gases. Para producirlos se necesita un cátodo y un ánodo con una diferencia de potencial muy alta, en torno a las decenas de Kvoltios. La naturaleza de los Rayos X es electromagnética y son radiaciones ionizantes, capaces de separar electrones de sus núcleos.

Los rayos X tienen una capacidad de penetración muy alta, con lo que la capacidad de resolución de las radiografías no es muy buena, en comparación con otros métodos. Para obtener la imagen de un objeto se interpone éste entre emisor y detector. Al detector llegará distinta intensidad en función de por donde haya pasado la radiación, de tal manera que la imagen formada es una imagen con diferentes tonos de grises, negro para las zonas más radiadas y blanco para las menos. Los estudios en torno a este tipo de imagen están enfocados reducirla radiación para el paciente y mejorar la calidad, en general el contraste, de la imagen.

Los problemas típicos en la formación de la imagen de radiografía es la dispersión y

errores en la proyección. La dispersión ocurre cuando los rayos atraviesan un objeto perdiendo concentración de energía. Las maneras de evitarlo son utilizando colimadores, parrillas antidifusoras o bien separando el objeto del detector ya que los rayos que sufren difusión han sido más atenuados y afectarán menos. Los problemas de proyección pueden ser de tres tipos: (a) si la fuente no es puntual los contornos del objeto aparecen difuminados, (b) si el haz no es perpendicular al detector habrá una deformación en la imagen y (c) si hay dos objetos separados que no están en el centro del haz entonces puede que sus dos proyecciones se solapen. Esto se muestra en la figura 3.1.

Figura 3.1. Tipos de Errores de Proyección.

Page 68: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 3 “IMÁGENES MÉDICAS”

54

La figura 3.2 muestras un posible sistema de rayos x para la formación de radiografías: Este tipo de imagen constituye el 80% del volumen de imágenes médicas actual, aunque cada vez más se tiende a su digitalización.

Para obtener radiografías digitales se pueden digitalizar con un escaner, sería una

obtención indirecta. Una forma directa es irradiar sobre una placa luminiscente (fluorobromo de bario) capaz de almacenar la información y después leer la información mediante un laser He-Ne rojo de 633nm. A este último método se le llama radiografía digital por luminiscencia. Una ventaja, aparte de ser un método más directo, es que con un 10% de la radiación anterior se obtiene la misma calidad, y esto es una ventaja muy a tener en cuenta. La desventaja es que la adquisición es más lenta, entorno a 2 ó 3 veces menor. Una tercera forma es obtener la imagen mediante video con un CCD sensible a los rayos X puesto en el lugar de las placas.

Figura 3.2. Sistema de rayos X.

Figura 3.2. Ejemplos de Radiografías. A) Cuello. B) Pelvis.

Dado que la capacidad de penetración de los rayos X en el tejido es muy grande se

utilizan sustancias radio-opacas inyectadas en la zona que se quiere resaltar, esto es la

Page 69: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 3 “IMÁGENES MÉDICAS”

55

angiografía. La imagen se forma mediante sustracción de dos imágenes, la imagen con la sustancia radio-opaca y la imagen sin ella. En el ejemplo de la figura 3.3 se puede ver como los vasos sanguíneos, de color blanco, se pueden ver mucho más claro que con una radiografía convencional.

Figura 3.4. Ejemplo de Angiografía.

3.2.2. IMÁGENES POR ULTRASONIDOS

Los avances tecnológicos con US comenzaron a desarrollarse seriamente en los años 50 a raíz de las investigaciones militares de la II Guerra Mundial. Su aplicación para fines más pacíficos, la medicina, supuso la aparición de sistemas de diagnóstico muy versátiles, baratos y portables. Actualmente las máquinas con esta tecnología tienen tamaños muy reducidos y se aplican en numerosos campos como el diagnóstico cardiológico, en ginecología, en cura de lesiones y cada vez más en cirugía.

Los US son ondas acústicas que están por encima de espectro audible, por encima de 20

khz. En medicina van desde 1 a 20 Mhz. Las ondas acústicas son ondas de presión que deforman el medio en función de su elasticidad, o más bien son esta deformación. Evidentemente en el vacío no se pueden propagar. Se propagan muy bien los líquidos y se refleja en las estructuras en función de su densidad. La imagen de US se forma a partir de los ecos, de ahí su nombre de ecografía, recibidos al chocar contra un objeto. La formación se basa en tres principios:

• La amplitud de las ondas recibidas depende de la densidad del objeto contra el que

ha chocado la onda.

• Sabiendo la velocidad de propagación de las ondas en el medio se puede conocer la distancia a la que se encuentra el obstáculo.

Page 70: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 3 “IMÁGENES MÉDICAS”

56

• La variación en frecuencia de la onda recibida depende de la velocidad a la que se esté moviendo el objeto (efecto Doppler).

Las imágenes resultantes tienen resoluciones y definiciones muy bajas que no pueden

competir con otras técnicas como las TAC. Pero tienen las ventajas de aportar información funcional, cosa que no se puede obtener con TAC, además se pueden implementar en equipos portátiles y baratos, muy útiles para zonas rurales. Ejemplos de ecografías se pueden ver en la figura 3.4.

Figura 3.5. Ejemplos de Ecografías. A) Embarazo. B) Quiste en un ovario.

3.2.3. TOMOGRAFÍA AXIAL COMPUTARIZADA

La TAC fue descrita y puesta en práctica por el Dr. Godfrey Hounsfield en 1972, quien advirtió que los rayos X que pasaban a través del cuerpo humano contenían información de todos los constituyentes del cuerpo en el camino del haz de rayos, que, a pesar de estar presente, no se recogía en el estudio convencional con placas radiográficas, debido a su facilidad de penetración.

El problema que tienen las radiografías es que los rayos X tienen una gran capacidad de penetración, con lo que se pierde capacidad para diferenciar objetos, sobre todo cuando éstos son tejidos blandos. El TAC se basa en la reconstrucción de la información radiológica en varios planos de radiación, alrededor del paciente, en forma de secciones o rodajas, con lo que se puede obtener una reconstrucción volumétrica con mucho mayor contraste.

Un sistema TAC consta de una fuente de rayos X colimada con un haz muy fino que permite espesores de solo unos pocos milímetros. Un detector de radiación sensible a la energía recibida. El sistema mecánico que permita manejar y sincronizar todo esto y el sistema reconstructor que permita reconstruir la imagen a partir de las proyecciones.

Page 71: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 3 “IMÁGENES MÉDICAS”

57

Figura 3.6. Proyecciones y barrido en la reconstrucción Tomográfica.

La intersección de las proyecciones da como resultado pequeñas regiones llamadas voxels, figura 3.7.

3.7. Formación de voxels en TAC.

El valor de cada una se puede hallar mediante la combinación lineal mediada de todas

las proyecciones con sistema de ecuaciones matricial o bien directamente mediante la Transformada de Fourier.

Figura 3.8. Tomografía Axial Computerizada. a). Equipo médico de TAC. b). Imagen de un

paciente con ictus cerebral.

Page 72: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 3 “IMÁGENES MÉDICAS”

58

El sistema TAC es uno de los primeros en lograr imágenes en 3D con una alta resolución espacial y de contraste. Aunque posteriormente fue mejorado por la resonancia magnética. Como la mayoría de los métodos los nuevos avances y mejoras han perfeccionando la técnica TAC pasando de la 1 generación con imágenes de 80x80 y 4.5 min. de exploración a la 5 generación con imágenes de 1000x1000 con tiempos de centésimas de segundo.

3.2.4. MEDICINA NUCLEAR

La medicina nuclear se basa en la utilización de isótopos radioactivos para formación de imágenes. Estos radioisótopos son inyectados en el tejido celular difundiéndose por las cavidades mediante flujos, sobre todo por el torrente sanguíneo, y cuya actividad se puede detectar desde el exterior. La peculiaridad de estas imágenes es que aportan una información funcional del organismo, cosa que no pueden hacer otros tipos como CT o Radiografía. Además si se combinan diferentes tomas con distintos ángulos se puede tener una reconstrucción tridimensional. Por contra la capacidad de contraste y resolución de estas imágenes es escasa. Los avances con aceleradores de partículas ha permitido que esta técnica haya tenido un gran desarrollo.

La radiación que obtiene desde el exterior es la γ dado que ni la α ni la β llegan al

exterior. El detector se compone de un cristal de centelleo junto con un tubo fotomultiplicador. Los radioisótopos son compuestos químicos, pero normalmente se administran como radio-fármacos, moléculas que actúan en una determinada función u órgano. Deben tener un tiempo de vida corto a fin de irradiar lo menos posible al paciente. Normalmente se introducen mediante una inyección pero también se puede hacer mediante inhalación, vía oral, etc. En la actualidad, la detección de la radiación se realiza en la llamada cámara de Anger o gamma-cámara. A partir de varias orientaciones se puede hacer una reconstrucción tomográfica. Estas son la SPECT y PET.

Los cristales de centelleo son de yoduro sódico activados con talio, sensibles a la

radiación gamma y son muy caros. En ocasiones se suele anteponer al cristal un colimador o rejilla para eliminar las radiaciones en las direcciones no deseadas.

Figura 3.9. Ejemplo de una imagen de MN que muestra una atrofia renal.

Page 73: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 3 “IMÁGENES MÉDICAS”

59

TOMOGRAFÍA POR EMISIÓN DE POSITRONES ÚNICOS (SPECT)

La tomografía axial computerizada (TAC) introdujo grandes avances en las exploraciones médicas y también en medicina nuclear. Supuso el paso de 2 a 3 dimensiones. Al igual que las TAC, las SPECT analiza la radiación entorno a una circunferencia exterior al cuerpo a analizar mediante detectores colimados. La diferencia es que con TAC se irradia y con SPECT la radiación viene del interior, de los radioisótopos. Por contra con SPECT no se consigue la misma nitidez en las imágenes como con TAC. Para obtener la imagen tomográfica se utiliza una gamma-cámara rotatoria que proporciona datos cualitativos e incluso cuantitativos.

Si se toman distintos planos, se puede construir una representación 3D lo que permite realizar los cortes dentro del cuerpo con la orientación que se quiera. La reconstrucción de las proyecciones se consigue mediante cálculos matriciales al igual que las TAC.

TOMOGRAFÍA POR EMISIÓN DE POSITRONES (PET)

Constituye la parte más reciente de la medicina nuclear, se forma a partir de emisores de positrones, es decir, radiaciones β. Las radiaciones beta tienen un tiempo de vida corto, se propagan hasta encontrarse con un electrón, entonces se aniquilan y se producen dos fotones que se alejan en sentidos contrarios; si el radioisótopo emite otro par de fotones entonces la posición del positrón está en esa misma línea. Al igual que en TAC y SPECT la detección se produce a lo largo de una circunferencia que rodea el cuerpo de análisis.

Los sistemas PET son extremadamente caros pero son de interés para el estudio

metabólico de tejidos y órganos, como por ejemplo, el metabolismo de la glucosa cerebral, el metabolismo del oxígeno o procesos miocárdicos.

Figura 3.10. Reconstrucción 3D a partir de la cual se puede obtener cualquier corte.

Page 74: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 3 “IMÁGENES MÉDICAS”

60

Figura 3.11. Equipo PET. a). Anillo detector PET donde se detectan coincidencias de fotones. b). Imagen PET que indica una malignidad, la actividad cerebral, cardiaca, renal y

vesical son fisiológicas. 3.2.5. RESONANCIA MAGNÉTICA

La RM es un método de diagnóstico que ha resultado ser de gran utilidad en la medicina desde su introducción en 1976. La RM se basa en la capacidad de algunos núcleos para absorber ondas de radiofrecuencia cuando son sometidos al efecto de un campo magnético. Dicha capacidad genera una señal que es detectada por un receptor y tratada en un ordenador de manera similar a como lo hace la TAC para producir imágenes.

Respecto a otras técnicas como los rayos X y la TAC, se usa cada vez más por sus

mejores prestaciones, como permitir cortes más finos, y en varios planos, ser más sensible para demostrar accidentes vasculares cerebrales, tumores y otras patologías, y no utilizar radiaciones ionizantes. Como desventajas cabe mencionar su mayor coste, el prolongado tiempo para obtener las imágenes y el tener que excluir a portadores de marcapasos y otros objetos extraños intracorpóreos.

La RM se basa en el hecho de que por debajo de los 60 Mhz hay una ventana de

radiofrecuencia que produce fenómenos de resonancia en los tejidos, en concreto con los núcleos de hidrógeno de las moléculas de agua, dando información de la densidad de átomos. Además, el spin de éstos también podrá proporcionar información fisiológica de los tejidos. Las bases de este fenómeno fueron sentadas en 1946 por Felix Bloch y Edward M. Purcell (Premiados con el Nobel en 1952). En 1972 Damadiam probó que los tejidos cancerosos tenían diferentes comportamientos de resonancia. La aplicación era inmediata. Se aplicaron los mismos métodos de reconstrucción propuestos por Lautebur en las TAC. A partir de aquí el desarrollo fue espectacular hasta ser uno de los pilares fundamentales de la imagen médica. Los fundamentos físicos son:

• Se orientan los átomos que se van a analizar, normalmente de hidrógeno, en

dirección de un campo magnético.

Page 75: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 3 “IMÁGENES MÉDICAS”

61

• Se les aplica un campo electromagnético a su frecuencia de resonancia para cambiar

su momento magnético.

• Cuando el impulso de radiofrecuencia cesa el momento magnético vuelve a su posición inicial liberando energía electromagnética que se puede captar desde el exterior con un detector o antena.

• Los datos obtenidos se procesan para formar la imagen de resonancia en niveles de

grises en función de la energía captada de cada región.

También son de interés los núcleos C13, F19, P31 y Na23, que son también susceptibles de magnetización. Pero es el H el más utilizado por ser el más abundante el cuerpo humano y por el más fácil de tratar magnéticamente. El tipo de tejido viene marcado por los tiempos de respuesta de los protones. Teniendo en cuenta todos estos parámetros se puede llegar a obtener una imagen capaz de distinguir tejidos blandos con un gran contraste, como puede ser sangre y grasa, además con una resolución espacial muy buena.

Evidentemente esta técnica también tiene sus inconvenientes, y es que las máquinas

necesarias son muy aparatosas, grandes y costosas. Además, dado el gran número de cálculos que requiere la formación de las imágenes supone que el proceso sea muy lento e incómodo para el paciente.

En la formación de las imágenes se pueden utilizar tres métodos: excitación local (por

puntos, líneas o planos), por retroproyección filtrada o mediante transformadas de Fourier (igual que en TAC).

Figura 3.12. Resonancia Magnética. a). Equipo médico de RM. b). Imagen obtenida con

plano sagital de cabeza.

3.2.6. RESUMEN DE CARACTERÍSTICAS

La tabla 3.1 resume las principales características de los tipos de imágenes médicas aquí contadas.

Page 76: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 3 “IMÁGENES MÉDICAS”

62

TAC MR US MN RayosX (D) RayosX (A)

Píxel/Imagen (256-512)2 5122 5122 1282 10002 20002

Bpp 12 12 8 8 12 14 Resolución espacial media alta media baja alta alta Resolución contraste alta alta baja baja alta baja

Radiación media ninguna ninguna media baja media Coste alto alto media medio medio bajo

Función fisiológica no alguna no si no no Portabilidad no no si si no si

Tabla 3.1. Parámetros de calidad en imágenes médicas.

3.3. COMPRESIÓN DE IMÁGENES MÉDICAS CON JPEG2000

Según todo lo expuesto anteriormente sobre las imágenes médicas es evidente la

necesidad de desarrollar algoritmos de todo tipo para facilitar el uso de las mismas. Algoritmos que van desde el realce, segmentación, filtrado, análisis frecuencial, depuración y eliminación de ruido, visualización... hasta el almacenamiento. Y es en este punto, el almacenamiento, donde las técnicas de compresión de imagen juegan un papel fundamental, [2].

El problema que surge con las imágenes médicas es que, en general, aceptan pocas

pérdidas, dicho de otro modo; para realizar un buen diagnóstico a partir de las mismas se necesita que tengan buena calidad sobre todo en las zonas claves donde se encuentra la patología. Cuando se dice buena calidad en realidad se quiere decir muy buena, de ahí que los métodos más extendidos para comprimir imágenes médicas sean métodos sin pérdidas [3].

Según esto, el estándar JPEG2000 tiene dos características de compresión que pueden

resultar muy útiles, estas son: la opción de compresión sin pérdidas y las Regiones de Interés [4]. Si bien es verdad que, aunque JPEG2000 sin pérdidas obtiene tasas algo menores, aporta una visión más flexible que otros métodos sin pérdidas que por lo general suelen ser muy poco flexibles. Por otro lado es interesante la capacidad de proporcionar calidades de compresión locales aún con pérdidas, es decir, diferentes en función de la región de imagen. Esto permite alcanzar tasas muy altas de compresión con calidades muy buenas sólo en las regiones interesantes, las que muestren la patología asociada. A continuación se presentan ejemplos de estas dos características. Todas las imágenes tienen 8 bpp que, aunque no es suficiente en algunos tipos para hacer un buen diagnóstico, algunas tienen más de 12 bpp, si es suficiente para comparar tasas de compresión. Las imágenes médicas han sido proporcionadas por el Hospital General Universitario Gregorio Marañón.

Page 77: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 3 “IMÁGENES MÉDICAS”

63

3.3.1. COMPRESIÓN SIN PÉRDIDAS

En compresión de imágenes médicas es fundamental que el proceso sea sin pérdidas o que estas sean muy pocas, ya que están en juego las vidas de los pacientes, ya sean humanos o animales. El problema de no tener pérdidas es que la compresión que se obtiene es mucho menor y eso supone un grave problema cuando el volumen de información es muy grande, como es el caso de las imágenes médicas. Dependiendo de la aplicación la imagen aceptará más o menos pérdidas. Por ejemplo son más aceptables pérdidas en PET, donde la calidad ya de por sí es muy baja, que para una resonancia magnética, donde prima la calidad.

Las siguientes imágenes muestran ejemplos de compresión sin pérdidas obtenidas con J2MT con el filtro entero (5,3) y con los parámetros por defecto del JPEG2000. Se presentan las originales, que son iguales que las comprimidas por ser sin pérdidas, y además el espacio transformado a su lado.

Figura 3.13. Compresión de una CT de 512x512 a 1.6584 bpp (4.82:1).

Figura 3.14. Compresión de una PET de 256x256 a 1.7748 bpp (4.51:1).

En el campo de la medicina los principales algoritmos de compresión sin pérdidas, algunos ya mencionados anteriormente, que se han propuesto para imágenes con niveles de

Page 78: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 3 “IMÁGENES MÉDICAS”

64

gris son: CALIC (Context Based, Adaptive, Lossles Image Codec), CPM (Central Prediction Method), TMW, BTPC (Binary Tree Predictive Coding), PNG (Portable Network Graphics), SPIHT (Set Partitioning in Hierarchical Trees), LOCO-I (Low Complexity Lossless Compression for Images), FELICS (Fast, Efficient, Lossless Image

Figura 3.15. Compresión de una radiografía de 2550x2100 a 2.7703 bpp (2.89:1).

Figura 3.16. Compresión de una RM de 512x512 a 4.2844 bpp (1.87:1).

Compression System), CLIC (Context based Lossless Image Compression), GIF (Graphics Interchange Format), TIFF (Tagged Image File Format) y JPEG-LS. Ver [5][6]. Las principales técnicas de estos algoritmos son la codificación predictiva adaptativa, Lempel-Ziv, descomposición piramidal, transformaciones o codificación aritmética. Los métodos que mejores tasas consiguen de los anteriormente citados son TMW, CALIC, SPIHT y JPEG-LS. Estos proporcionan tasas para imágenes médicas similares que van desde 2:1 hasta 5:1, dependiendo del tipo de imagen. Notar también que aunque algunos de los anteriores de tasas similares, como es el caso de GIF, sólo es capaz de procesar imágenes de 8 bpp, totalmente insuficiente para CT o RM que utilizan 12 bpp. En la tabla 3.2 se incluye la relación de tasas de compresión sin pérdidas de alguno de ellos para las anteriores imágenes.

Page 79: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 3 “IMÁGENES MÉDICAS”

65

Tabla 3.2. Tasas de compresión sin pérdidas con diferentes algoritmos.

A tenor de los datos de la tabla 3.2 se puede ver que JPEG2000 sin pérdidas es capaz de

competir contra los algoritmos sin pérdidas más eficientes. Si bien sus tasas no son igual de altas en todos los casos, sí que proporciona tasas muy altas y en algunos casos por encima de las demás. 3.3.2. COMPRESIÓN CON PÉRDIDAS Y ROI

La compresión con pérdidas en el caso de imágenes médicas es, en muchos casos, inviable dada la calidad necesaria en el diagnóstico, como el caso de CT o RM, que tienen resoluciones espaciales y de contraste muy altas. El problema viene con el coste asociado al almacenamiento, la capacidad de memoria, que aunque se han ido abaratando mucho en estos últimos años, siguen siendo una pieza clave en los sistemas. Otro inconveniente es el tiempo de acceso y procesamiento que evidentemente aumenta con el tamaño de las imágenes [7].

Un aspecto a tener en cuenta es el de asumir pérdidas bajo ciertas condiciones. En el

caso de utilizar métodos preceptúales se pueden asumir ciertas pérdidas si no son preceptualmente visibles. En el caso de imágenes médicas se puede establecer una condición adicional: sólo ciertas regiones de la imagen son necesarias para el diagnóstico. Bajo esta suposición la ganancia de compresión puede aumentar drásticamente si se codifican las regiones de diagnóstico con una buena calidad y el resto con otra no tan buena, esto es, utilizar Regiones de Interés.

Figura 3.17. Compresión de las imágenes de las figuras 3.13 y 3.16 con una calidad muy buena (pérdidas inapreciables) a 0.5 bpp (16:1). a) Sin pérdidas 3.37 bpp (2.73:1). b) Con

pérdidas y ROI 0.2 bpp (41:1).

Page 80: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 3 “IMÁGENES MÉDICAS”

66

Figura 3.18. Compresión de una RM de 256x256 con un tumor en la cabeza. a) Sin

pérdidas 3.37 bpp (2.73:1). b) Con pérdidas y ROI 0.2 bpp (41:1).

Figura 3.19. Compresión de una CT de 512x512 con un tumor en la rodilla. a) Sin pérdidas 2.1127 bpp (3.79:1). b) Con pérdidas y ROI 0.1 bpp (80:1).

Los inconvenientes que pueden surgir del uso de estas ROI son que se elijan mal las

regiones y se pierda información útil para el diagnóstico. Por ejemplo si la región que engloba a la patología es muy pequeña se puede perder la localización de la misma [8]. Aunque estos aspectos técnicos son más bien externos al método y más achacables al usuario. 3.4. CONCLUSIONES

En este tercer capítulo describimos los principales tipos de imágenes médicas, mencionamos que, existen dos tipos de imágenes médicas: las que se obtienen por proyección y por reconstrucción; Las primeras surgen de la obtención directa de la interacción entre radiación y tejido; y las segundas son una extensión de las primeras mediante diferentes proyecciones y su posterior reconstrucción.

Page 81: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 3 “IMÁGENES MÉDICAS”

67

Sabemos que en las últimas dos décadas han aparecido diversas modalidades de imágenes médicas que ofrecen a los médicos y profesionales sanitarios información muy importante, y en ocasiones imprescindible, para el diagnóstico de patologías y seguimiento de pacientes, y en los últimos años la planificación quirúrgica.

Imágenes de Radiografía: En las cuales lo caracterizan porque los rayos X tienen una

capacidad de penetración muy alta, con lo que la capacidad de resolución de las radiografías no es muy buena, en comparación con otros métodos.

Imágenes por Ultrasonido: Los US son ondas acústicas que están por encima de

espectro audible, por encima de 20 khz. En medicina van desde 1 a 20 Mhz. La imagen de US se forma a partir de los ecos, de ahí su nombre de ecografía, recibidos al chocar contra un objeto.

Tomografía Axial Computarizada: El TAC se basa en la reconstrucción de la

información radiológica en varios planos de radiación, alrededor del paciente, en forma de secciones o rodajas, con lo que se puede obtener una reconstrucción volumétrica con mucho mayor contraste.

Medicina Nuclear: La medicina nuclear se basa en la utilización de isótopos

radioactivos para formación de imágenes. Estos radioisótopos son inyectados en el tejido celular difundiéndose por las cavidades mediante flujos, sobre todo por el torrente sanguíneo

Resonancia Magnética: La RM se basa en la capacidad de algunos núcleos para

absorber ondas de radiofrecuencia cuando son sometidos al efecto de un campo magnético. Como desventajas cabe mencionar su mayor costo, el prolongado tiempo para obtener las imágenes y el tener que excluir a portadores con objetos intracorpóreos.

También podemos resumir que necesitamos desarrollar algoritmos para facilitar el uso

de las imágenes médicas, en este caso nos enfocamos en JPEG2000 [9]. Pues como es de suponer, el problema que surge con las imágenes médicas es que, en general, aceptan pocas pérdidas. Para realizar un buen diagnóstico a partir de las mismas se necesita que tengan buena calidad sobre todo en las zonas claves donde se encuentra la patología.

El estándar JPEG2000 tiene dos características de compresión que pueden resultar muy útiles, estas son: la opción de compresión sin pérdidas y las Regiones de Interés.

En compresión de imágenes médicas es fundamental que el proceso sea sin pérdidas o

que estas sean muy pocas, ya que están en juego las vidas de los pacientes, ya sean humanos o animales. El problema de no tener pérdidas es que la compresión que se obtiene es mucho menor y eso supone un grave problema cuando el volumen de información es muy grande. Pero esto depende de la aplicación que imagen aceptará más o menos pérdidas.

La compresión con pérdidas en el caso de imágenes médicas es, en muchos casos, inviable dada la calidad necesaria en el diagnóstico, como el caso de RM, que tienen resoluciones espaciales y de contraste muy altas. Otro detalle que hay que menciona es el costo asociado al almacenamiento, pues sigue siendo una pieza clave en los sistemas.

Page 82: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 3 “IMÁGENES MÉDICAS”

68

En el caso de imágenes médicas se puede establecer una condición adicional: sólo

ciertas regiones de la imagen son necesarias para el diagnóstico. Bajo esta suposición la ganancia de compresión puede aumentar drásticamente si se codifican las regiones de diagnóstico con una buena calidad y el resto con otra no tan buena, esto es, utilizar Regiones de Interés. Los inconvenientes que pueden surgir del uso de estas ROI son que se elijan mal las regiones y se pierda información útil para el diagnóstico. 3.5. REFERENCIAS [1]. R. Barea-Navarro. Fundamentos de Bioingeniería. Departamento de Electrónica,

Tesis. (Univ. de Alcalá). [2]. M. Rabbani and P.W. Jones. Image compression techniques for medical diagnosis

imaging systems. J. of Digital Imaging, 4(2):65-78, 1991. [3]. L. Kaur , S. Gupta a, R.C. Chauhan b, S.C. Medical ultrasound image compression

using joint optimization of thresholding quantization and best-basis selection of wavelet packets. Saxenac a Sant Longowal Institute of Engineering and Technology, Longowal, Punjab, India. Dehradun Institute of Technology, Dehradun, Uttaranchal, India. Indian Institute of Technology, Roorkee, Uttaranchal, India. June 2006

[4]. S. Daly, W. Zeng, J. Li, and S Lei. Visual masking in wavelet compression for

jpeg2000. Technical report, Sharp Laboratories and Microsoft, 2000. [5]. J. Kivijarvi, T. Ojala, T. Kaukoranta, A. Kuba, L. Nyful, and O.Nevalainen. A

comparison of lossless compression methods for medical images. Computerized Medical Imaging and Graphics, 22:323-339,1998.

[6]. K.M. Au, N.F. Law,W.C. Unified feature analysis in JPEG and JPEG 2000

compressed domains. Siu Centre for Multimedia Signal Processing, Department of Electronic and Information Engineering, The Hong Kong Polytechnic University, November 2006.

[7]. Cécile Delgorge, Christophe Rosenberger, Gérard Poisson, and Pierre Vieyres.

Towards a New Tool for the Evaluation of the Quality of Ultrasound Compressed Images. IEEE Transactions on Medical Imaging, VOL. 25, NO. 11, pag. 78, November 2006.

[8]. M. Keil, G. Cristobal, and H. Neumann. A neurodynamical retinal network bared on

reaction-diffusion systems. In ICIAP2001, Palermo, Italy, September 26-28, 2001. [9]. M. Rabbani and P.W. Jones. Image compression techniques for medical diagnosis

imaging systems. J. of Digital Imaging, 4(2):65-78, 1991.

Page 83: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 4:

IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS

DE COMPRESIÓN CON WAVELET

Page 84: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

70

4.1. INTRODUCCIÓN

Antes de proceder a realizar la implementación de los algoritmos de compresión, se realizaron numerosos experimentos con los algoritmos que se utilizarán para realizar la implementación, que son los de compresión por transformada Wavelet. Los experimentos se realizaron mediante simulaciones en Matlab [1] de forma que se pudiera realizar una evaluación de su desempeño.

La transformada discreta Wavelet es utilizada como herramienta matemática para la

compresión de imágenes médicas, nos basamos en diferentes funciones Wavelets que fueron para implementar la técnica propuesta.

4.2. ALGORITMO DE DESCOMPOSICIÓN DE UNA IMAGEN CON FUNCIONES

WAVELETS

Para calcular los coeficientes de Wavelet de cada una de las escalas posibles requiere una gran cantidad de tiempo de procesamiento. Un modo eficiente para optimizar el tiempo de procesamiento fue desarrollado por Mallat utilizando filtros [2]. El algoritmo de Mallat es de hecho un esquema clásico conocido por la comunidad de procesamiento de señales. Este algoritmo de filtrado es muy práctico y produce una transformada rápida Wavelet.

Las aproximaciones son componentes de baja frecuencia de la señal y los detalles son componentes de alta frecuencia de la señal. Una etapa de descomposición con filtros se muestra gráficamente en la figura 4.1.

Figura 4.1. Descomposición con filtros simétricos.

La señal original s(t) pasa por dos filtros complementarios y se obtienen dos señales,

una corresponde a la aproximación A, y la otra corresponde a los detalles D. Si se realiza esta operación en una imagen digital, se obtendrá como resultado el doble de datos de la imagen original.

Para evitar el aumento en el número de coeficientes se utiliza el concepto de muestreo hacia abajo (downsampling). Este proceso se muestra en la figura 4.2 con este se obtienen

Page 85: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

71

los coeficientes de la Transformada Discreta Wavelet (DWT) a la mitad de las muestras que se obtienen a la salida de los filtros. La transformada Wavelet funciona de la siguiente manera: la imagen se filtra mediante una serie de filtros paso-bajo y paso-alto, obteniéndose así porciones de alta frecuencia y de baja frecuencia de la imagen. Este proceso se repite, eliminando cada vez alguna porción de la imagen correspondiente a alguna frecuencia. A este proceso se le denomina descomposición.

La trasformada DWT 2-D analiza la imagen a diferentes bandas frecuenciales con

diferentes resoluciones mediante la descomposición de la imagen en una aproximación gruesa e información de detalle [3]. La descomposición de la señal en diferentes bandas frecuenciales se realiza simplemente filtrando paso-bajo y paso-alto la imagen x[n].

La descomposición reduce a la mitad la resolución temporal, dado que ahora la mitad de muestras caracterizan a la imagen completa. Este procedimiento, conocido como codificación subbanda, se puede repetir para conseguir una descomposición mayor. Tras cada nivel de descomposición, el filtrado y submuestreo dará lugar a la mitad de muestras (y por tanto la mitad de resolución temporal) y a la mitad del ancho de banda (el doble de resolución frecuencial). La figura 4.2 muestra un ejemplo de transformada wavelet para tres niveles de descomposición wavelet (n=3), partiendo de la imagen original. En la figura 4.3 se muestra la notación habitualmente utilizada en la descomposición wavelet 2D.

Figura 4.2. Imagen US a tres niveles de descomposición.

Page 86: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

72

Figura 4.3. Notación empleada en la descomposición wavelet 2-D.

El diagrama de cómo se realiza la descomposición con varios niveles se muestran en la

figura 4.4.

Hx

Gx

↓2

↓2

Hy

Gy

↓2

↓2

Hy

Gy

↓2

↓2

N

M

N

M/2

N/2M/2

Hx

Gx

↓2

↓2

Hy

Gy

↓2

↓2

Hy

Gy

↓2

↓2

N

M

N

M/2

N/2M/2

Hx

Gx

↓2

↓2

Hy

Gy

↓2

↓2

Hy

Gy

↓2

↓2

N/2

M/4

N/4

M/4Hx

Gx

↓2

↓2

Hy

Gy

↓2

↓2

Hy

Gy

↓2

↓2

N/2

M/4

N/4

M/4

Hx

Gx

↓2

↓2

Hy

Gy

↓2

↓2

Hy

Gy

↓2

↓2

N

M

N

M/2

N/2M/2

Hx

Gx

↓2

↓2

Hy

Gy

↓2

↓2

Hy

Gy

↓2

↓2

N

M

N

M/2

N/2M/2

Hx

Gx

↓2

↓2

Hy

Gy

↓2

↓2

Hy

Gy

↓2

↓2

N/2

M/4

N/4

M/4Hx

Gx

↓2

↓2

Hy

Gy

↓2

↓2

Hy

Gy

↓2

↓2

N/2

M/4

N/4

M/4

Figura 4.4. Esquema general de una descomposición de dos niveles de una imagen de ultrasonido empleando funciones Wavelets.

4.2.1. LONGITUD DE LOS FILTROS ASOCIADOS CON LAS WAVELETS

Las funciones Wavelets asocian varias propiedades. Las familias Coiflet, Biortogonal, Haar, Symlet, Daubechies tienen la propiedad de que pueden ser calculadas usando filtros FIR [4].

La tabla 4.1. presenta esta propiedad para las funciones Wavelets mencionadas así como la máxima longitud del filtro.

Page 87: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

73

Tabla 4.1. Longitud de los filtros para las diferentes familias Wavelets. WAVELETS ORDEN MÁXIMA LONGITUD DEL

FILTRO Daubechies N (Entero Positivo). 2N

Symlet N=2,3,…,8. 2N Coiflet N=1,2,…,5. 6N

Biortogonal Nd=1,3,5,7,9. 2(Nd)+2

4.3. CR PARA MEDIR EL GRADO DE COMPRESIÓN DE LAS IMÁGENES

Para caracterizar que tanto se comprimió la imagen en el algoritmo de compresión por Wavelets, utilizamos la relación de compresión (Compression Rate – CR) [5] dada por la ecuación (4.6).

Número de la señal original [bits] CR= Número de muestras de la señal comprimida [bits]

.

. (4.6)

Existe otro criterio muy utilizado dentro del campo de compresión de imágenes que se

refiere al número de bits por píxel (bpp) que ocupa la imagen comprimida, el cual debe de disminuir con relación al número de bpp que tiene sin comprimir. Este criterio puede ser aplicado para el caso de compresión de imágenes, solamente variaría en que en este caso se consideraría como bits por muestra (bpm). Sin embargo para nuestro caso consideramos que es suficiente con el criterio de la razón de compresión ya que nos permitió en todo momento tener una idea clara de que tanto se comprimían las imágenes y por lo tanto, saber como se estaba comportando el algoritmo.

4.4. CRITERIOS DE FIDELIDAD

Para una evaluación objetiva de fidelidad [6] de las imágenes comprimidas, empleamos los tres criterios mas utilizados para la evaluación de la diferencia entre dos imágenes. 4.4.1. ERROR ABSOLUTO MEDIO (MAE)

Esta es una medida numérica muy utilizada que caracteriza en promedio la diferencia entre la imagen original y la imagen comprimida:

∑∑= =

−⋅

=M

m

N

n

nmynmyNM

MAE1 1

],[ˆ],[1 . (4.7)

Page 88: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

74

4.4.2. ERROR CUADRÁTICO MEDIO (MSE)

Este criterio es muy semejante al MAE, solo que éste estima en promedio la diferencia cuadrática entre dos imágenes:

[ ] [ ]( )∑∑= =

−⋅

=M

m

N

n

nmynmyNM

MSE1 1

2,ˆ,1 . (4.8)

4.4.3. RELACIÓN SEÑAL RUIDO PICO (PSNR)

Otro criterio importante es la fidelidad entre la señal original y la señal comprimida. Normalmente este criterio se evalúa como la relación señal ruido pico (PSNR), la cual se representa por la siguiente ecuación:

( )

MSEPSNR

b 2

1012log10 −⋅= . (4.9)

En donde: M = Altura de la imagen. N = Largo de la imagen. y[m,n] = Imagen original. ŷ[m,n] = Imagen comprimida. b = Bits por pixel de la imagen. 4.5. RESULTADOS OBTENIDOS EN LAS PRUEBAS REALIZADAS

En los experimentos realizados se aplicaron las funciones Wavelets Daubechies, Coiflet, Symlet y Biortogonal, para después aplicarles el umbral y finalmente el número de coeficientes, las pruebas se realizaron para una descomposición-reconstrucción de nivel 1, 2, 3, 4 y 5.

Los parámetros utilizados para realizar los experimentos son el umbral y los Criterios de Fidelidad mencionados en los puntos 4.4.

Los resultados obtenidos se muestran de la gráfica 4.1 a la 4.8. Las características de las imágenes con las que se experimentaron son; Dimensiones: 1024x1024, para todas las imágenes. Tipo: Imagen PGM. Tamaño: 1025 KB.

De los resultados obtenidos que se muestran, las familias Wavelets Daubechies y

Biortogonal son la que presentan mejor desempeño en Razón de Compresión (CR) manteniendo una aceptable relación señal a ruido (SNR), con respecto a otras Wavelets.

En la teoría de compresión de imágenes/señales se establece que la eliminación de los

datos psicovisualmente redundantes conlleva una pérdida real, o cuantitativa de información visual. Debido a que la información de interés puede perderse, por lo que es muy conveniente el desarrollo de un método repetible o reproducible que permita la cuantificación de la naturaleza y el alcance de la perdida de información. Con los resultados

Page 89: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

75

referentes a la SNR de las figuras anteriores, obtenemos un criterio de fidelidad objetiva sobre las imágenes médicas.

La teoría de compresión [7][8] también establece que: aunque los criterios de fidelidad

objetiva ofrecen un mecanismo simple y conveniente para la evaluación de la pérdida de información, la mayoría de las imágenes/señales descomprimidas acaban siendo vistas por seres humanos. En consecuencia, a menudo es más apropiado medir la calidad de la imagen/señal mediante evaluaciones subjetivas de un observador.

05

101520253035404550

RAZÓN DE COMPRESION

db1 db2 db5 db6FAMILIA WAVELET

COMPRESION CON UMBRAL DURO

Umbral 96Umbral 80Umbral 60Umbral 40Umbral 20Umbral 5

Gráfica 4.1. Resultados de compresión utilizando familia de Wavelets Daubechies, con

umbral duro.

Figura 4.5. Compresión con Daubechies 1 con umbral duro de 40 y calidad 60. PSNR 39.23

Page 90: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

76

05

101520253035404550

RAZÓN DE COMPRESION

db1 db2 db5 db6FAMILIA WAVELET

COMPRESION CON UMBRAL SUAVE

Umbral 96Umbral 80Umbral 60Umbral 40Umbral 20Umbral 5

Gráfica 4.2. Resultados de compresión utilizando familia de Wavelets Daubechies, con

umbral suave.

Figura 4.6. Compresión con Daubechies 1 con umbral suave de 40 y calidad 60. PSNR 36.22

Haciendo un comparativo entre la familia Daubechies, observamos en las gráficas 4.1 y 4.2 que la Daubechies 1 presenta un mejor desempeño en cuanto a la Razón de Compresión se refiere (C.R. – Compression Rate), teniendo una C.R. de 46.11 al aplicarle umbral duro y 48.51 al aplicarle umbral suave.

En la figura 4.5 y 4.6 mostramos los mejores resultados obtenidos, en cuanto a calidad visual se refiere.

Page 91: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

77

0

1

2

3

4

5

6

7

RAZÓN DE COMPRESION

Coif2 Coif3 Coif4 Coif5FAMILIA WAVELET

COMPRESION CON UMBRAL DURO

Umbral 96Umbral 80Umbral 60Umbral 40Umbral 20Umbral 5

Gráfica 4.3. Resultados de compresión utilizando familia de Wavelets Coiflet, con

umbral duro.

Figura 4.7. Compresión con Coiflet 2 con umbral duro de 40 y calidad 60. PSNR 40.41

Page 92: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

78

0

12

3

45

6

78

RAZÓN DE COMPRESION

Coif2 Coif3 Coif4 Coif5FAMILIA WAVELET

COMPRESION CON UMBRAL SUAVE

Umbral 96Umbral 80Umbral 60Umbral 40Umbral 20Umbral 5

Gráfica 4.4. Resultados de compresión utilizando familia de Wavelets Coiflet, con umbral

suave.

Figura 4.8. Compresión con Coiflet 2 con umbral suave de 40 y calidad 60. PSNR 38.13

En las gráficas 4.3 y 4.4 mostramos los resultados obtenidos del análisis de la familia Coiflet, como observamos la Wavelet Coiflet 2 presenta mejores resultados en compresión de imágenes, con 6.86 aplicando umbral duro y 7.42 con umbral suave.

De igual manera, en las figuras 4.7 y 4.8 mostramos los mejores resultados de calidad visual obtenidos.

Page 93: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

79

0

1

2

3

4

5

6

7

8

RAZÓN DE COMPRESION

Sym3 Sym4 Sym5 Sym6FAMILIA WAVELET

COMPRESION CON UMBRAL DURO

Umbral 96Umbral 80Umbral 60Umbral 40Umbral 20Umbral 5

Gráfica 4.5. Resultados de compresión utilizando familia de Wavelets Symlet, con umbral

duro.

Figura 4.9. Compresión con Symlet 3 con umbral de 40 y calidad 60. PSNR 40.75

Page 94: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

80

012345678

RAZÓN DE COMPRESION

Sym3 Sym4 Sym5 Sym6FAMILIA WAVELET

COMPRESION CON UMBRAL SUAVE

Umbral 96Umbral 80Umbral 60Umbral 40Umbral 20Umbral 5

Gráfica 4.6. Resultados de compresión utilizando familia de Wavelets Symlet, con umbral

suave.

Figura 4.10. Compresión con Symlet 3 con umbral de 40 y calidad 60. PSNR 38.07

En cuanto al análisis de la familia de Wavelets Symlet, mostramos un comparativo en

las gráficas 4.5 y 4.6, teniendo como resultado que la Symlet 3 presenta mejor desempeño al comprimir una imagen; dando como resultado una C.R. de 7.60 aplicando umbral duro y 7.54 con umbral suave.

En las figuras 4.9 y 4.10 mostramos los mejores resultados obtenidos en calidad visual de la imagen.

Page 95: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

81

05

101520253035404550

RAZÓN DE COMPRESION

Bior1.1 Bior1.3 Bior1.5 Bior2.2FAMILIA WAVELET

COMPRESION CON UMBRAL DURO

Umbral 96Umbral 80Umbral 60Umbral 40Umbral 20Umbral 5

Gráfica 4.7. Resultados de compresión utilizando familia de Wavelets Biortogonal, con

umbral duro.

Figura 4.11. Compresión con Biortogonal 1.1 con umbral de 40 y calidad 60. PSNR 39.23

Page 96: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

82

05

101520253035404550

INDICE DE COMPRESION

Bior1.1 Bior1.3 Bior1.5 Bior2.2FAMILIA WAVELET

COMPRESION CON UMBRAL SUAVE

Umbral 96Umbral 80Umbral 60Umbral 40Umbral 20Umbral 5

Gráfica 4.8. Resultados de compresión utilizando familia de Wavelets Biortogonal, con

umbral suave.

Figura 4.12. Compresión con Biortogonal 1.1 con umbral de 40 y calidad 60. PSNR 36.22

Finalmente en las gráficas 4.7 y 4.8 mostramos el comparativo entre la familia Wavelet Biortogonales, en las cuales se observan que tienen una C.R. similar al de las Wavelet Daubechies, teniendo un 46.11 aplicando umbral duro y un 48.51 aplicando umbral suave.

También mostramos los mejores resultados en calidad visual, las figuras 4.11 y 4.12 muestran lo descrito.

Page 97: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

83

La elección de una determinada transformación en una aplicación concreta depende de la cantidad tolerable de errores de reconstrucción y de los recursos de cálculo disponibles.

Los errores fueron evaluados cuantitativamente. Estos se muestran en la gráfica 4.9 para mostrar el umbral duro y 4.10 para el umbral suave. Podemos ver que a menor umbral, mayor será en índice de compresión y viceversa, esto es que la compresión es inversamente proporcional a la calidad visual de la imagen.

En las gráficas 4.9 y 4.10, mostramos los mejores resultados de los análisis que obtuvimos de las familias Wavelets (Daubechies 1, Coiflet 2, Symlet 3 y Biortogonal 1.1), aplicando umbral duro y umbral suave, respectivamente.

05

101520253035404550

5 20 40 60 80 100CALIDAD

RAZÓN DE COMPRESION

db1Coif2Sym3Bior1.1

Gráfica 4.9. Calidad visual vs compresión con umbral duro.

05

101520253035404550

5 20 40 60 80 100CALIDAD

RAZÓN DECOMPRESION

db1Coif2Sym3Bior1.1

Gráfica 4.10. Calidad visual vs compresión con umbral suave.

Page 98: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

84

Existen algunos trabajos de investigación que comparan varias aplicaciones existentes del estándar JPE2000 comprimiendo imágenes médicas [9][10]. Tomando como punto de partida los resultados ahí mostrados; nos atrevemos a hacer una comparación entre la aplicación JPEG2000 Kakadu [11] y los mejores resultados aquí obtenidos mediante el algoritmo propuesto, observando que nuestros resultados en Razón de Compresión – CR son superiores, ya que con el algoritmo podemos comprimir hasta 48 veces una imagen (aplicando wavelet Daubechies 1 y Biortogonal 1.1).

4.6. CONCLUSIONES

En este capítulo se explicó de manera detallada el procedimiento que seguimos para implementar el algoritmo de compresión usando diferentes familias de funciones Wavelets, que no cambia de una familia a otra, debido a que la implementación se hizo mediante una estructura de filtros FIR, y para cambiar de una familia Wavelet a otra solo es necesario cambiar los coeficientes que se van a utilizar, esto simplifica mucho esta parte de pruebas, ya que para ellas se utilizaron cuatro familias diferentes de Wavelets (Daubechies, Coiflets, Symlets y Biortogonales).

Se explicaron dos conceptos fundamentales cuando se habla de compresión de

imágenes, la razón de compresión CR que sirve para determinar que tanto se comprimió la imagen después de aplicarle el algoritmo de compresión. El otro concepto de importancia es la relación señal ruido SNR, que es importante porque estamos trabajando compresión con pérdidas y éste nos permite tener un parámetro que nos indique hasta donde podemos comprimir la imagen sin que esta pierda sus características importantes.

Aplicar el umbral duro en la compresión de imágenes, resulta el método más simple de

implementar, debido a su lógica; sin embargo, al aplicar el umbral suave comprobamos que tiene mejor índice de compresión, aunque existe una leve pérdida visual en comparación con el umbral duro. El aplicar el umbral suave nos da una leve distorsión de las imágenes (en comparación con el umbral duro), esto es por la desviación de su lógica, esto lo podemos ver en la 2.3.4. y 2.3.5.sección.

De acuerdo al análisis que se ha realizado para llevar acabo la compresión se observo

que las Wavelets Daubechie 1, Coiflet 2, Symlet 3 y Biortogonal 1.1, mostraron un mejor desempeño sobre las demás. Hay que hacer notar, que con las Wavelets Daubechies 1 y la Biortogonal 1.1 presentan un mejor desempeño y podemos comprimir hasta 48 veces la imagen.

Finalmente, se observó que cuando queremos Calidad Visual al 100% el nivel de

compresión reduce y cuando queremos una Calidad Visual baja, ocurre lo contrario. Es decir, la compresión es inversamente proporcional a la calidad visual de la imagen.

Haciendo una revisión de los beneficios que obtenemos del algoritmo propuesto, podemos ver que lo resultados en cuanto a Razón de Compresión se refiere, son aceptables, aplicados a las imágenes médicas.

Page 99: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET”

85

4.7. REFERENCIAS [1]. Misiti, Michel., Wavelets Toolbox for use with Matlab, edited by MathWorks 1998. [2]. S. Mallat, A Wavelet tour of Signal Processing San Diego, CA. USA. Academic Press

1998. [3]. V. Bruni, D. Vitulano Istituto per le Applicazioni del Calcolo. Combined image

compression and denoising using wavelets. Viale del Policlinico 137, 00161 Rome, Italy. November 2006.

[4]. Ifeachor E., Jervis B. Digital Signal Processing a practical approach, Addison Wesley

publisher 1993. [5]. R. González, R. Woods, Tratamiento Digital de Imágenes, Addison-Wesley,

Massachusetts USA 1996. [6]. J.L. Sánchez Ramírez, V. Ponomariov, L. Badillo, C. Juárez, L. Igartua, “Compresión

de Señales de un Sistema de Telemetría Utilizando Funciones Wavelets”, 7ª Conferencia de Ingeniería Eléctrica (CIE 2001), CINVESTAV IPN, México D.F. Septiembre 2001.

[7]. Yu-Wei Chang, Hung-Chi Fang, Chih-Chi Cheng, Chun-Chia Chen, and Liang-Gee

Chen, Fellow. Precompression Quality-Control Algorithm for JPEG 2000. IEEE Transactions on Image Processing, VOL. 15, NO. 11, NOVEMBER 2006.

[8]. Hamid Rahim Sheikh, Muhammad Farooq Sabir, and Alan Conrad Bovik. A

Statistical Evaluation of Recent Full Reference Image Quality Assessment Algorithms. IEEE Transactions on Image Processing, VOL. 15, NO. 11, NOVEMBER 2006.

[9]. J.L. Sánchez Ramírez, V. Ponomaryov, C. Juárez, “Evaluación y Optimización del

Estándar JPEG2000 para Compresión de Imágenes de Ultrasonido”, SEPI - ESIME, Instituto Politécnico Nacional (IPN), 2005.

[10]. O.H. Chávez Román, V. Ponomaryov, “Evaluación del Estándar JPEG2000 para

Compresión de Imágenes de Ultrasonido”, SEPI – ESIME, Instituto Politécnico Nacional (IPN), 2006.

[11]. http://www.kakadusoftware.com

Page 100: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPITULO 5: CONCLUSIONES Y TRABAJOS

FUTUROS

Page 101: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 5 “CONCLUSIONES Y TRABAJOS FUTUROS”

87

5.1. CONCLUSIONES

Después del análisis realizado en ésta tesis se puede tener una idea general de la gran importancia que tienen los sistemas de compresión en imágenes médicas. El lector tendrá un más claro conocimiento del sistema que se utilizó para el registro así como de las principales partes que lo conforman.

Con este propósito se presentaron esquemas para facilitar el entendimiento de cómo esta estructurado el sistema JPEG2000 y el algoritmo propuesto; y de la forma en que interactúan estas partes para lograr realizar una compresión de imágenes, que en este caso son médicas, para disponer de una base de datos con registros reales que nos permitan experimentar con ellos en la implementación de los algoritmos para su compresión.

Como un antecedente para el lector en el capítulo 1, se explico de donde surgió el

estándar JPEG2000, como fue dividido y quien lo formó, igualmente detallamos el proceso que lleva una imagen al comprimirse con la aplicación JPEG2000, sus diferentes procesos, así como sus métodos más eficientes y más flexibles que mejoren tanto el almacenamiento de imágenes digitales como la comunicación. Para ello utiliza las nuevas herramientas de compresión desarrolladas en los últimos años donde son clave el uso de Wavelets, la codificación Aritmética. Las diferentes aplicaciones que existen que se revelan como un entorno muy útil para la comprensión del JPEG2000 de una manera rápida e intuitiva.

En la evaluación de la compresión de imágenes médicas el JPEG2000 se mostró su gran eficiencia con tasas muy competitivas en compresión sin pérdidas y artefactos muy poco visibles en el caso sin pérdidas. Un aspecto adicional a tener en cuenta que aporta el nuevo estándar es la compresión con regiones de interés, que son las regiones de la imagen que va a sufrir un mejor trato por parte del codificador; esto puede resultar de gran utilidad en imágenes médicas para preservar con buena calidad sólo aquellas zonas de la imagen que contienen la patología.

También la resistencia al error que tiene el JPEG2000, nos dice que es capaz de introducir redundancias en la imagen comprimida, códigos de error como cabeceras de trama para descomprimir la imagen aún con pérdidas de información.

Al final de este capítulo se presentó el comparativo de varias gráficas, mostrando los resultados de la compresión con pérdidas, así como el comportamiento de los filtros (5, 3) y (9, 7) tomando como parámetro a medir el PSNR; la relación PSNR comparando JPEG2000 vs JPEG.

En el capítulo 2 se investigó las bases teóricas para comprender en que consiste el

método de compresión utilizando funciones Wavelets. Se explicó paso a paso como es que se descompone una imagen en sus coeficientes de aproximación y detalles, además de cómo se puede hacer una descomposición multi-nivel de una imagen con Wavelets.

Se analizó en forma gráfica la forma que tienen las diferentes familias de funciones Wavelets que se emplearan para realizar las pruebas de compresión, como son la familia Daubechies, Coiflet, Symlet y Biortogonal.

Se explicó en que consiste un término umbral de compresión; muy importante dentro de los métodos de compresión por transformada. La importancia de este parámetro radica en que éste es el que determina qué tanto se comprime la imagen, solo que es muy importante tener en cuenta que mientras más se comprima la imagen más se deteriora la

Page 102: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 5 “CONCLUSIONES Y TRABAJOS FUTUROS”

88

misma y por lo tanto puede llegar a perder propiedades importantes para su análisis por los médicos.

Se investigaron los dos métodos más importantes que existen para aplicar el umbral, como son el umbral duro y el umbral suave. Todo lo anterior es de gran importancia para comprender más claramente las pruebas realizadas mediante Matlab para implementar este algoritmo y de esta forma verificar su funcionamiento con imágenes médicas.

De igual manera, en el capítulo 3 se explicó la importancia que tienen las imágenes

médicas y de los dos tipos de imágenes que existen: por proyección y por reconstrucción, la primera surgen de la obtención directa de la interacción entre radiación y tejido; y las segundas son una extensión de las primeras mediante diferentes proyecciones y su posterior reconstrucción.

Se investigó como se obtiene una radiografía; resumiendo se concluyó que los rayos X tienen una capacidad de penetración muy alta, es por eso que la resolución de las radiografías no es muy buena. Los avances tecnológicos con Ultra-Sonidos (US) comenzaron en los años 50, a raíz de las investigaciones militares de la II Guerra Mundial. Los US son ondas acústicas que están por encima de 20 Khz. Es por eso que se ve la necesidad de desarrollar algoritmos para facilitar el uso de las imágenes médicas.

Por último, en el capítulo 4 se explicó de forma detallada el procedimiento que

seguimos para el implemento del algoritmo de compresión propuesto, usando diferentes familias de funciones Wavelets; se analizó de una familia a otra, debido a que la implementación se hizo mediante una estructura de filtros FIR, y para cambiar de una familia Wavelet a otra solo fue necesario cambiar los coeficientes que se van a utilizar (de las familias wavelets correspondientes), esto simplifica mucho esta parte de pruebas, ya que para ellas se utilizaron cuatro familias diferentes de Wavelets (Daubechies, Coiflets, Symlets y Biortogonales).

Se investigó los dos conceptos fundamentales cuando se habla de compresión de imágenes, la Razón de Compresión CR que sirve para determinar que tanto se comprimió la imagen después de aplicarle el algoritmo de compresión. El otro concepto muy importante es la señal ruido pico PSNR, que es muy importante porque estamos trabajando compresión con pérdidas y éste nos permite tener un parámetro que nos indique hasta donde podemos comprimir la imagen sin que ésta pierda sus características importantes.

También, en este capitulo, se investigaron los resultados obtenidos durante las pruebas realizadas con el algoritmo diseñado, observando y analizando que las familias de funciones Wavelets Daubechies y Biortogonales son la que presentan mejor desempeño en Razón de Compresión (CR), aplicando umbral duro y manteniendo una aceptable relación señal a ruido pico (PSNR), con respecto a otras Wavelets. Para hacer la elección de una determinada transformación en una aplicación concreta depende de la cantidad tolerable de errores de reconstrucción y de los recursos de cálculos disponibles.

Los resultados experimentales han demostrado la efectividad de usar las funciones de Wavelets para compresión de imágenes médicas. Además se apreció en los experimentos que de todas las familias de funciones Wavelets que se utilizaron (Daubechies, Coiflets, Symlets y Biortogonales), las funciones Wavelets Daubechies y las Biortogonales fueron las que presentaron un mejor desempeño. Los resultados de los experimentos en Matlab muestran qué tanto es posible comprimir la imagen conservando una adecuada relación señal ruido, para aplicaciones médicas.

Page 103: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

CAPÍTULO 5 “CONCLUSIONES Y TRABAJOS FUTUROS”

89

5.2. TRABAJOS FUTUROS

Dentro de esta área de investigación se pueden realizar más trabajos, entre los que se encuentran los siguientes:

1. Investigar otras maneras de optimizar el estándar de compresión JPEG2000, ya

que como vimos tiene buenas ventajas sobre los demás algoritmos de compresión.

2. Seguir buscando otras alternativas para comprimir imágenes médicas con el algoritmo propuesto sin perder sus características principales.

3. Realizar otros algoritmos que puedan proporcionar tasas de compresión más altas y enfocarse en las Regiones de Interés, ya que en esta área falta mucho por investigar.

4. Elaborar una interfaz gráfica, con todas las características del algoritmo; que permita manipular más fácilmente las imágenes, esto sería de gran utilidad en el área de la medicina.

5. Realizar la implementación de algoritmos de compresión que utilicen “Wavelet Packets” como otra opción para comprimir imágenes médicas.

Page 104: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO A:

ÍNDICE DE FIGURAS Y TABLAS

Page 105: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO A “ÍNDICE DE FIGURAS Y TABLAS”

91

ANEXO A: ÍNDICE DE FIGURAS Y TABLAS

CAPÍTULO 1 “ESTÁNDAR JPEG2000” Tabla 1.1. Filtros de análisis y síntesis Daubechies (9,7). 6 Tabla 1.2. Filtros de análisis y síntesis entero (5,3). 6 Figura 1.2. Ejemplos de filtros ortonormales. (a) Meyer. (b) y (c) Battle-Lemarié. (d) Haar. (e) y (f) Daubechies. 7

Figura 1.3. Cuantificador uniforme con zona muerta variable. 9 Figura 1.4. Sistema de coordenadas. 11 Figura 1.5. Ejemplo de descomposición en bloques y precintos. 12 Figura 1.6. Cabeceras de los paquetes en la trama de compresión final. 12 Figura 1.7. Ejemplos de ordenación de paquetes. a. Organización en resolución progresiva. b. Organización en SNR progresivo. 13

Figura 1.8. Ejemplo de Progresión LRCP, 0.125 bpp(izda.) y 0.50 bpp(dcha.). 14 Figura 1.9. Ejemplo de Progresión RLCP. 14 Figura 1.10. Ejemplo de PCRL (4 bloques). 15 Figura 1.11. Solape de Varias ROI en el dominio Wavelet. 17 Figura 1.12. Extensión de los coeficientes simétricamente. 20 Figura 1.13. Fotos-test (2560x2048) elegidas por el estándar JPEG2000. 20 Figura 1.14. Relación Tasa-PSNR en función del tamaño de bloque. 21 Figura 1.15. Relación Tasa-PSNR en función de los filtros Reversible (5,3) y No Reversible (9,7). 22

Figura 1.16. Relación Tasa-PSNR en función de los Niveles Wavelet. 22 Figura 1.17. Relación Tasa-PSNR en función Codificación Sencilla, Paralela y Sencilla – Paralela. 23

Figura 1.18. Relación Tasa-PSNR en función comparando JPEG2000 vs. JPEG. 24 Tabla 1.3. Tasa sin pérdidas (bpp) con y sin RCT. 24 Figura 1.19. Gráfica de progreso en la codificación de 11 planos de bit. 25 Figura 1.20. Progresión de tasas y medidas en la codificación de 11 planos de bit. 26 Figura 1.20. Progresión de tasas y medidas en la codificación de 11 planos de bit. 26

CAPÍTULO 2 “COMPRESIÓN UTILIZANDO FUNCIONES WAVELETS” Figura 2.2. Diagrama a bloques de un sistema de codificación en subbandas. 31 Figura 2.3. Características espectrales en los puntos A, B y C de la figura 2.1. 32 Figura 2.4. Wavelet de Haar. 36 Figura 2.5. Wavelet de Haar trasladada y escalada. 37 Figura 2.6. Wavelet Daubechies 4. 37 Figura 2.7. Comparación de la CWT y la STFT de una suma de tonos. 38 Figura 2.8. Esquema de filtraje para lograr descomposición en Wavelets. 39 Figura 2.9. Respuesta en frecuencia de los puntos 1, 2 y 3. 39

Page 106: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO A “ÍNDICE DE FIGURAS Y TABLAS”

92

Figura 2.10. Identidades Nobles. 40 Figura 2.11. Bancos de filtros y descomposición en Wavelets. 40 Figura 2.12. Wavelet de Haar. 43 Figura 2.13. Familia de Wavelets Daubechies. 43 Figura 2.14. Familia de Wavelets Coiflets. 44 Figura 2.15. Familia de Wavelets Biortogonales. 45 Figura 2.16. Familia de Wavelets Symlets. 45 Figura 2.17. Umbral Duro y umbral suave. 47 Figura 2.17. Umbral Duro y umbral suave. 48

CAPÍTULO 3 “IMÁGENES MÉDICAS” Figura 3.2. Sistema de rayos X. 54 Figura 3.2. Ejemplos de Radiografías. A) Cuello. B) Pelvis. 54 Figura 3.4. Ejemplo de Angiografía. 55 Figura 3.5. Ejemplos de Ecografías. A) Embarazo. B) Quiste en un ovario. 56 Figura 3.6. Proyecciones y barrido en la reconstrucción Tomográfica. 57 3.7. Formación de voxels en TAC. 57 Figura 3.8. Tomografía Axial Computerizada. a). Equipo médico de TAC. b). Imagen de un paciente con ictus cerebral. 57

Figura 3.9. Ejemplo de una imagen de MN que muestra una atrofia renal. 58 Figura 3.10. Reconstrucción 3D a partir de la cual se puede obtener cualquier corte. 59 Figura 3.11. Equipo PET. a). Anillo detector PET donde se detectan coincidencias de fotones. b). Imagen PET que indica una malignidad, la actividad cerebral, cardiaca, renal y vesical son fisiológicas.

60

Figura 3.12. Resonancia Magnética. a). Equipo médico de RM. b). Imagen obtenida con plano sagital de cabeza. 61

Tabla 3.1. Parámetros de calidad en imágenes médicas. 62 Figura 3.13. Compresión de una CT de 512x512 a 1.6584 bpp (4.82:1). 63 Figura 3.14. Compresión de una PET de 256x256 a 1.7748 bpp (4.51:1). 63 Figura 3.15. Compresión de una radiografía de 2550x2100 a 2.7703 bpp (2.89:1). 64 Figura 3.16. Compresión de una RM de 512x512 a 4.2844 bpp (1.87:1). 64 Tabla 3.2. Tasas de compresión sin pérdidas con diferentes algoritmos. 65 Figura 3.17. Compresión de las imágenes de las figuras 3.13 y 3.16 con una calidad muy buena (pérdidas inapreciables) a 0.5 bpp (16:1). a) Sin pérdidas 3.37 bpp (2.73:1). b) Con pérdidas y ROI 0.2 bpp (41:1).

65

Figura 3.18. Compresión de una RM de 256x256 con un tumor en la cabeza. a) Sin pérdidas 3.37 bpp (2.73:1). b) Con pérdidas y ROI 0.2 bpp (41:1). 66

Figura 3.19. Compresión de una CT de 512x512 con un tumor en la rodilla. a) Sin pérdidas 2.1127 bpp (3.79:1). b) Con pérdidas y ROI 0.1 bpp (80:1). 66

Figura 3.19. Compresión de una CT de 512x512 con un tumor en la rodilla. a) Sin pérdidas 2.1127 bpp (3.79:1). b) Con pérdidas y ROI 0.1 bpp (80:1). 66

Page 107: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO A “ÍNDICE DE FIGURAS Y TABLAS”

93

CAPÍTULO 4 “IMPLEMENTACIÓN EN MATLAB DE LOS ALGORITMOS DE COMPRESIÓN CON WAVELET” Figura 4.2. Imagen US a tres niveles de descomposición. 71 Figura 4.3. Notación empleada en la descomposición wavelet 2-D. 72 Figura 4.4. Esquema general de una descomposición de dos niveles de una imagen de ultrasonido empleando funciones Wavelets. 72

Tabla 4.1. Longitud de los filtros para las diferentes familias Wavelets. 73 Gráfica 4.1. Resultados de compresión utilizando familia de Wavelets Daubechies, con umbral duro. 75

Figura 4.5. Compresión con Daubechies 1 con umbral duro de 40 y calidad 60. 75 Gráfica 4.2. Resultados de compresión utilizando familia de Wavelets Daubechies, con umbral suave. 76

Figura 4.6. Compresión con Daubechies 1 con umbral suave de 40 y calidad 60. 76 Gráfica 4.3. Resultados de compresión utilizando familia de Wavelets Coiflet, con umbral duro. 77

Figura 4.7. Compresión con Coiflet 2 con umbral duro de 40 y calidad 60. 77 Gráfica 4.4. Resultados de compresión utilizando familia de Wavelets Coiflet, con umbral suave. 78

Figura 4.8. Compresión con Coiflet 2 con umbral suave de 40 y calidad 60. 78 Gráfica 4.5. Resultados de compresión utilizando familia de Wavelets Symlet, con umbral duro. 79

Figura 4.9. Compresión con Symlet 3 con umbral de 40 y calidad 60. 79 Gráfica 4.6. Resultados de compresión utilizando familia de Wavelets Symlet, con umbral suave. 80

Figura 4.10. Compresión con Symlet 3 con umbral de 40 y calidad 60. 80 Gráfica 4.7. Resultados de compresión utilizando familia de Wavelets Biortogonal, con umbral duro. 81

Figura 4.11. Compresión con Biortogonal 1.1 con umbral de 40 y calidad 60. 81 Gráfica 4.8. Resultados de compresión utilizando familia de Wavelets Biortogonal, con umbral suave. 82

Figura 4.12. Compresión con Biortogonal 1.1 con umbral de 40 y calidad 60. 82 Gráfica 4.9. Calidad visual vs compresión con umbral duro. 83 Gráfica 4.10. Calidad visual vs compresión con umbral suave. 83 Figura 4.14. Calidad visual vs compresión con umbral suave. 82

Page 108: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO B:

GLOSARIO

Page 109: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO B “GLOSARIO”

95

ANEXO B: GLOSARIO

ALGORITMO: Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.

ALMACENAMIENTO EN MEMORIA: Grabación de la información en una

memoria de estado sólido. Se puede tener acceso a los datos almacenados en orden secuencial o al azar.

AMPLITUD: Valor máximo que toma una magnitud oscilante en un periódico.

ANALÓGICO/DIGITAL: Conversión de las tensiones y corrientes analógicas

procedentes de un sensor para su representación digital.

ARCHIVO: Datos históricos que suelen estar contenidos en cintas o discos o en cualquiera otro medio y que se refieren a un solo tema.

ATENUACIÓN: Disminución de la amplitud de la señal, pérdida o reducción de

amplitud de una señal al pasar a través de un circuito, debida a resistencias, fugas, etc. Puede definirse en términos de su efecto sobre voltaje, intensidad o potencia. Se expresa usualmente en decibeles por unidad de longitud.

BIT: La unidad de información más pequeña que puede ser procesada o transportada

por un circuito. Es representado por la ausencia de un pulso electrónico (1 o 0).

BIT MÁS SIGNIFICATIVO: Unidad de cantidad de información mas importante entre un grupo de impulsos transmitidos.

BIT MENOS SIGNIFICATIVO: Símbolo impreso, número o signo de puntuación,

que en ciertos casos puede tener una representación gráfica, pero es enviada cuando no hay información que transmitir.

COMPRESIÓN: Disminución de la gama de amplitudes o intensidades de la señal a la

entrada de un sistema.

COMPRESIÓN CON PÉRDIDA: A cualquier procedimiento de codificación que tenga como objetivo representar cierta cantidad de información utilizando una menor cantidad de la misma, siendo imposible una reconstrucción exacta de los datos originales.

COMPRESIÓN DE DATOS: Técnica mediante la cual un conjunto de datos

idénticos, se transmiten bajo forma de un factor de repetición, seguido por el dato que se ha repetido. En general, es una técnica de codificación de datos que permite almacenarlos en un área de memoria lo más reducida posible, y permite hacer más eficiente el uso de un canal de comunicación mediante la sustitución de caracteres por códigos cortos.

Page 110: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO B “GLOSARIO”

96

COMPRESIÓN SIN PÉRDIDA: A cualquier procedimiento de codificación que

tenga como objetivo representar cierta cantidad de información utilizando una menor cantidad de la misma, siendo posible una reconstrucción exacta de los datos originales.

DECIBEL: Décima parte de un Bel. Unidad para medir la intensidad relativa de una

señal, tal como potencia, voltaje, etc. El número de decibeles es diez veces el logaritmo (base 10) de la relación de la cantidad medida al nivel de referencia.

ENTROPÍA: Una magnitud que mide la parte de la energía que no puede utilizarse

para producir un trabajo; es el grado de desorden que poseen las moléculas que integran un cuerpo.

FIDELIDAD: Es una norma de calidad que significa que la reproducción del sonido o

imágenes es muy fiel al original. La alta fidelidad pretende que los ruidos y la distorsión sean mínimos. El término “fidelidad” se aplica normalmente a todo sistema doméstico de razonable calidad, aunque algunos creen que intenta un criterio superior.

FILTRO: Circuito o dispositivo que deja pasar una frecuencia o banda de frecuencias

determinadas.

FILTRO PASA BAJAS: Filtro de una sola banda pasante que se extiende desde la frecuencia cero hasta la frecuencia de corte. Permite el paso de las frecuencias altas. Se le conoce por sus siglas en ingles: LPF

FILTRO DIGITAL: Filtro formado por semiconductores que realiza la función de

rectificar una onda analógica, obteniendo a la salida una señal discreta.

FRECUENCIA: Ritmo de recurrencia o rapidez de un fenómeno periódico. Representa el número completo de ciclos por unidad de tiempo para una magnitud periódica tal como corriente alterna, las ondas acústicas u ondas de radio.

IMAGEN: Es una representación visual de un objeto mediante técnicas diferentes de

diseño, pintura, fotografía, video. En matemáticas, una imagen de una función f es el conjunto de elementos y para los cuales existe un elemento x tal que y=f(x). En física la imagen óptica de un objeto es la proyección de los puntos de la superficie visible del objeto sobre un plano. En informática puede tener dos significados: una imagen puede ser un archivo codificado que, al abrirlo, muestra una representación visual de algo.

SNR (en inglés Signal to noise ratio SNR o S/N): Se define como el margen que hay

entre el nivel de referencia (información significativa) y el ruido de fondo de un determinado sistema. Este margen es medido en decibelios.

TRANSFORMADA WAVELET: (ondículas, ondeletas u onditas) Representa una

señal en términos de versiones trasladadas y dilatadas de una onda finita (denominada wavelet madre). La teoría de wavelets está relacionada con muy variados campos.

Page 111: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO B “GLOSARIO”

97

Todas las transformaciones wavelet pueden ser consideradas formas de representación en tiempo-frecuencia y, por tanto, están relacionadas con el análisis armónico.

TOMOGRAFÍA: Es el procesado de imágenes por secciones. Un aparato usado en

tomografía es llamado tomógrafo, mientras que la imagen producida es un tomograma. Este método es usado en medicina, arqueología, biología, geofísica, oceanografía, ciencia de los materiales y otras ciencias. En la mayoría de los casos se basa en un procedimiento matemático llamado reconstrucción tomográfica.

ULTRASONIDO: El ultrasonido es una onda acústica cuya frecuencia está por encima

del límite perceptible por el oído humano (aproximadamente 20 KHz). Los ultrasonidos son utilizados tanto en aplicaciones industriales (medición de distancias, caracterización interna de materiales, ensayos no destructivos y otros), como en medicina (ver por ejemplo ecografía, fisioterapia, ultrasonoterapia).

UMBRAL: El umbral es la cantidad mínima de señal que ha de estar presente para ser

registrada por un sistema. Por ejemplo, la mínima cantidad de luz que puede detectar el ojo humano en la oscuridad. El umbral es la base de la exploración psicofísica de las sensibilidades (táctil, olfatoria, visual o auditiva).

Page 112: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO C: PROGRAMAS REALIZADOS EN MATLAB, PARA COMPRIMIR

LAS IMÁGENES MÉDICAS

Page 113: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO C “PROGRAMAS REALIZADOS EN MATLAB, PARA COMPRIMIR LAS IMÁGENES MÉDICAS”

99

ANEXO C: PROGRAMAS REALIZADOS EN MATLAB, PARA COMPRIMIR LAS IMÁGENES MÉDICAS

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%% COMPRESION BASADA EN WAVELET %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Este programa comprime las imagenes a diferentes niveles % de descomposicion con diferentes wavelets % LIMPIA VARIABLES Y CIERRA TODO. clear all; close all; %Leer la imagen %Cargar la imagen original. X = imread('us1.bmp'); % X contiene la imagen cargada. % map contiene el mapa-de-color (colormap) cargada. [X,map] = imread('us1.bmp'); X = double(X); % Muestra la imagen de entrada nbc = size(map,1); figure(1); imshow(uint8(X)); title('I M A G E N O R I G I N A L') % n = El numero de niveles de descomposicion, el cual debe ser entero %y no debe excederse de 3 n = 5; % wname = Es el nombre de la wavelet que se va a utilizar para hacer %las descomposiciones wname = 'db1'; % Los nombres de las wavelet disponibles 'wname' son: % Daubechies: 'db1' or 'haar', 'db2', ... ,'db45' % Coiflets : 'coif1', ... , 'coif5' % Symlets : 'sym2' , ... , 'sym8', ... ,'sym45' % Wavelet discreta Meyer: 'dmey' % Biorthogonal: 'bior1.1', 'bior1.3', 'bior1.5' % 'bior2.2', 'bior2.4', 'bior2.6', 'bior2.8' % 'bior3.1', 'bior3.3', 'bior3.5', 'bior3.7' % 'bior3.9', 'bior4.4', 'bior5.5', 'bior6.8' % Reverse Biorthogonal: 'rbior1.1', 'rbior1.3', 'rbior1.5' % 'rbior2.2', 'rbior2.4', 'rbior2.6', 'rbior2.8' % 'rbior3.1', 'rbior3.3', 'rbior3.5', 'rbior3.7' % 'rbior3.9', 'rbior4.4', 'rbior5.5', 'rbior6.8' %**************************************************************************

Page 114: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO C “PROGRAMAS REALIZADOS EN MATLAB, PARA COMPRIMIR LAS IMÁGENES MÉDICAS”

100

% Para realizar un multi-nivel de descomposicion de la imagen. [C,S] = wavedec2(X,n,wname); % Donde: X es la imagen original y n el nivel de descomposicion %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Para compresion de la imagen thr = 0; % Umbral sorh = 'h'; % Umbral Duro (hard): "h" y suave (soft): "s" keepapp = 1; % Permite guardar los coeficientes de aproximacion. %%% Si keepapp=1, los coeficientes no pueden ser umbralizados otra %%%vez. [thr,sorh,keepapp] = ddencmp('cmp','wv',X); %%% es: 'cmp' para compresion. %%% Regresa una version comprimida "Xcomp" de la imagen de entrada X %%%obtenida %%% por los coeficientes del umbral wavelet usando un umbral positivo %%%global [Xcomp,CXC,LXC,PERF0,PERFL2] = wdencmp('gbl',C,S,wname,n,thr,sorh,keepapp); % Donde Xcomp = imagen comprimida % [CXC,LXC] = son la descomposicion wavelet de la estructura % Xcomp (ver wavedec2) %%%PERFO y PERFL2 son un score de recuperacion y compresion en %%%porcentaje %PERFL2 = 100*(vector-normal de CXC / vector-normmal de C)^2 si [C,S] % denota la estructura de la descomposicion wavelet de X. % gb1 = Indica que vamos a trabajar con señales de dos % dimensiones. lvd para una dimension clc disp('PERF0 indica el porcentaje de los coeficientes wavelet que'); disp('se fijaron a cero. Por lo tanto, PERF0 es:'); disp(PERF0); disp('PERFL2 indica el porcentaje de la energia de la imagen que'); disp('fue preservada en el proceso de compresion. Por lo tanto PERFL2:'); disp(PERFL2); disp('El umbral ocupado para el proceso fue de:'); disp(thr); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%ESTE PROGRAMA VA A TENER LA CAPACIDAD DE CALCULAR EL "ERROR %%%CUADRATICO MEDIO" (MSE), ASI COMO LA RELACION SEÑAL A RUIDO "PSNR". %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Imagen original [N,M]=size(X); %Imagen Comprimida

Page 115: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO C “PROGRAMAS REALIZADOS EN MATLAB, PARA COMPRIMIR LAS IMÁGENES MÉDICAS”

101

[N1,M1]=size(Xcomp); if size(X)==size(Xcomp) RESTA = abs(double(X)-double(Xcomp)); RESTA = RESTA.^2; V_MSE= sqrt(sum(sum(RESTA))/(N*M)); V_PSNR= 20 * log10(255/V_MSE); disp('El Error Cuadratico Medio (MSE) es: '); disp(V_MSE); disp('La Relacion Señal a Ruido Pico (PSNR) es: '); disp(V_PSNR); else disp('Las matrices no son del mismo tamaño'); V_MSE = 0 ; V_PSNR = 0 ; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% Guarda la imagen comprimida en formato TIF %%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% imwrite(Xcomp,'Imagen_Comprimida.tif','tif'); imwrite(Xcomp,'Imagen_Comprimida.bmp','bmp'); figure(2); imshow(uint8(Xcomp)); title('I M A G E N C O M P R I M I D A') figure(3); subplot(2,1,1); imshow(uint8(X)); title('IMAGEN ORIGINAL') subplot(2,1,2); imshow(uint8(Xcomp)); title('IMAGEN COMPRIMIDA') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% ESTE PROGRAMA SACA LA RESTA ENTRE LA IMAGEN ORIGINAL Y LA %%%% %%%% IMAGEN COMPRIMIDA, LLAMANDOLA IMAGEN DE ERROR %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Y = imabsdiff(X,Xcomp); % Diferencia absoluta de las dos imagenes Y1 = imsubtract(X,Xcomp); % Y2 = abs(X - Xcomp); % Diferencia absoluta de imagenes Y3 = (255 - Y2); % Invertir Imagen de error Y2. figure(2); subplot(2,2,1); imshow(Y,[]); title('Diferencia Absoluta de las Imagenes') subplot(2,2,2); imshow(Y1,[]); title('Diferencia de Imagenes') subplot(2,2,3); imshow(Y2,[]); title('Imagen de Error')

Page 116: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO C “PROGRAMAS REALIZADOS EN MATLAB, PARA COMPRIMIR LAS IMÁGENES MÉDICAS”

102

subplot(2,2,4); imshow(Y3,[]); title('Imagen de Error Amplificada') %figure(5); %subplot(3,1,1); imshow(uint8(X)); title('IMAGEN ORIGINAL') %subplot(3,1,2); imshow(Y); title('IMAGEN DE ERROR') %subplot(3,1,3); imshow(uint8(Xcomp)); title('IMAGEN COMPRIMIDA')

En este anexo sólo se muestra la lista de los programas para comprimir empleando

Wavelet Daubechies 1, con nivel de descomposición 5; así que, el código es muy semejante para las demás familias wavelet con sus diferentes modalidades y con los diferentes niveles de descomposición.

Page 117: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D:

PUBLICACIONES EN CONGRESOS

Page 118: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

104

LISTA DE PUBLICACIONES

EVALUACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN DE IMÁGENES DE ULTRASONIDO. 1er FESTIVAL PIFI, MEXICO D.F. 2006

COMPRESIÓN DE IMÁGENES MÉDICAS USANDO FUNCIONES

WAVELETS. CONGRESO DE INSTRUMENTACIÓN SOMI XXI, 31MCA, ENSENADA B.C. OCTUBRE 2006.

COMPRESIÓN DE IMÁGENES DE ULTRASONIDO USANDO

DIFERENTES FUNCIONES WAVELETS. 9º CONGRESO NACIONAL DE INGENIERIA ELECTROMECÁNICA Y DE SISTEMAS. IDE0-003, NOVIEMBRE 2006.

AUTORES:

Ing. Oreste Herminio Chávez Román Dr. Volodymyr Ponomaryov

Page 119: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

105

Page 120: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

106

Page 121: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

107

Page 122: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

108

Page 123: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

109

Page 124: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

110

Page 125: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

111

Page 126: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

112

Page 127: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

113

Page 128: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

114

Page 129: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

115

Page 130: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

116

Page 131: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

117

Page 132: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

118

Page 133: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

119

Page 134: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

120

Page 135: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

121

Page 136: OPTIMIZACIÓN DEL ESTÁNDAR JPEG2000 PARA COMPRESIÓN …

ANEXO D “PUBLICACIONES EN CONGRESOS”

122