esquema de marcas de agua para imágenes médicascferegrino/publicaciones/articulos/tesis... ·...
TRANSCRIPT
i
Esquema de Marcas de Agua para Imágenes Médicas
Por
Raúl Rodríguez Colín
Tesis sometida como requisito parcial para obtener el grado de
MAESTRO EN CIENCIA EN LA ESPECIALIDAD DE CIENCIAS COMPUTACIONALES
en el
Instituto Nacional de Astrofísica,
Óptica y Electrónica. INAOE
Supervisada por: Dra. Claudia Feregrino Uribe
INAOE
Tonantzintla, Puebla. MEXICO Noviembre, 2006
i
Resumen
En este trabajo…
ii
iii
Índice General
CAPÍTULO 1 1 Introducción ............................................................................................................. 1 1.1 Motivación ...................................................................................................... 4 1.2 Objetivo general .............................................................................................. 4 1.3 Objetivos específicos ...................................................................................... 5 1.4 Estructura de la tesis........................................................................................ 5 CAPÍTULO 2 2 Marco Teórico.......................................................................................................... 7 2.1 Compresión de datos ....................................................................................... 7 2.1.1 Compresores estadísticos .................................................................. 10 2.1.2 Algoritmo de Huffman...................................................................... 11 2.2 Criptografía ................................................................................................... 16 2.2.1 Cifradores de bloque ......................................................................... 18 2.2.2 Cifradores de flujo ............................................................................ 19 2.2.3 Aplicaciones de la criptografía.......................................................... 20 2.3 Esteganografía............................................................................................... 21 2.3.1 Métodos esteganográficos................................................................. 21 2.3.2 Ataques a la esteganografía............................................................... 23 Conclusiones ......................................................................................................... 24 CAPÍTULO 3 3 Marcas de agua....................................................................................................... 27 3.1 Clasificación.................................................................................................. 28 3.2 Aplicaciones.................................................................................................. 32 3.3 Requerimientos ............................................................................................. 34 3.4 Esquema de un sistema de marcas de agua................................................... 35 3.4.1 Inserción de la marca ........................................................................ 35 3.4.2 Detección / extracción de la marca ................................................... 36 3.5 Ataques.......................................................................................................... 37 3.6 Técnicas de marcas de agua .......................................................................... 39 3.6.1 En el dominio del espacio ................................................................. 39 3.6.2 En el dominio de transformada ......................................................... 41 3.7 Marcas de agua en imágenes médicas............................................................. 42 Conclusiones ......................................................................................................... 45
iv
CAPÍTULO 4 4 Esquema de marcas de agua para imágenes médicas .............................................47 4.1 Esquema general............................................................................................47 4.2 Algoritmo propuesto......................................................................................48 4.2.1 Generación de la marca de agua ........................................................49 4.2.2 Invariantes geométricos......................................................................49 4.2.3 Selección de regiones no homogéneas ..............................................52 4.2.4 Inserción / extracción de la información ...........................................53 Conclusiones..........................................................................................................56 CAPÍTULO 5 5 Experimentación y análisis de los resultados .........................................................57 5.1 Banco de pruebas...........................................................................................57 5.2 Evaluación de resultados ...............................................................................59 5.3 Experimentos .................................................................................................60 5.4 Resultados......................................................................................................67 5.5 Discusión de resultados .................................................................................74 CAPÍTULO 6 6 Conclusiones y trabajo futuro.................................................................................77 6.1 Conclusiones..................................................................................................77 6.2 Trabajo futuro ................................................................................................78 APÉNDICES A Implementación en Matlab ....................................................................................79 BIBLIOGRAFÍA .......................................................................................................89
v
Índice de figuras y tablas
CAPÍTULO 2 Figura 2.1 Construcción de un árbol de Huffman.......................................................... 15 Figura 2.2 Sistema criptográfico ............................................................................... 18 Figura 2.3 Sistema esteganográfico .......................................................................... 21 Tabla 2.1 Probabilidades de los símbolos de un mensaje ......................................... 13 Tabla 2.2 Códigos Huffman de los símbolos de un mensaje .................................... 15 CAPÍTULO 3 Figura 3.1 Clasificación de las marcas de agua. ....................................................... 28 Figura 3.2 Compromiso establecido en las técnicas de marcas de agua................... 35 Figura 3.3 Proceso de inserción ................................................................................ 36 Figura 3.4 Proceso de detección/extracción.............................................................. 37 Figura 3.5 Planos que conforman la imagen............................................................. 40 Figura 3.6 Ocultando información en los bits menos significativos......................... 40 Figura 3.7 Marca insertada en planos diferentes de una imagen .............................. 40 Figura 3.8 Proceso de inserción basado en transformada ......................................... 41 Figura 3.9 Proceso de extracción/detección basado en transformada....................... 41 Figura 3.10 Esquema de inserción de marca de agua aditiva ................................... 42 Figura 3.11 Componentes de seguridad de la información médica .......................... 43 Tabla 3.1 Técnicas de marca de agua según su dominio .......................................... 39 CAPÍTULO 4 Figura 4.1 Esquema general del algoritmo propuesto............................................... 47 Figura 4.2 Generación de la marca de agua .............................................................. 49 Figura 4.3 Recorrido en espiral realizado en la imagen............................................ 52 Figura 4.4 Modificación de pixeles en el proceso de inserción ................................ 53 Figura 4.5 Corrección de distorsión geométrica (rotación) ...................................... 54 Figura 4.6 Corrección de distorsión geométrica (reflexión) ..................................... 55 CAPÍTULO 5 Figura 5.1 Imágenes obtenidas en “Prueba 1” .......................................................... 61 Figura 5.2 Imágenes obtenidas en “Prueba 2” .......................................................... 63 Figura 5.3 Imágenes obtenidas en “Prueba 3” .......................................................... 65 Figura 5.4 Degradación producida en una imagen.................................................... 67 Figura 5.5 Capacidad máxima en imagen “Brain”.................................................... 68 Figura 5.6 Capacidad máxima en imagen “Chest” ................................................... 68
vi
Figura 5.7 Capacidad máxima en imagen “Shoulder” ..............................................69 Figura 5.8 Capacidad máxima en imagen “Knee” ....................................................69 Figura 5.9 Degradación contra Capacidad en imagen “Brain” .................................70 Figura 5.10 Degradación contra Capacidad en imagen “Chest” ...............................71 Figura 5.11 Degradación contra Capacidad en imagen “Shoulder”..........................71 Figura 5.12 Degradación contra Capacidad en imagen “Knee”................................72 Tabla 5.1 Imágenes utilizadas en los experimentos ..................................................58 Tabla 5.2 Características de las imágenes utilizadas.................................................58 Tabla 5.3 Información utilizada como marca de agua...............................................59 Tabla 5.4 Parámetros y resultados del algoritmo en “Prueba 1” ...............................60 Tabla 5.5 Ejecución en Matlab de “Prueba 1”...........................................................62 Tabla 5.6 Parámetros y resultados del algoritmo en “Prueba 2” ...............................62 Tabla 5.7 Ejecución en Matlab de “Prueba 2”...........................................................64 Tabla 5.8 Parámetros y resultados del algoritmo en “Prueba 3” ...............................64 Tabla 5.9 Ejecución en Matlab de “Prueba 3”...........................................................67 Tabla 5.10 Degradación y Robustez de la marca en “Brain” 1 .................................72 Tabla 5.11 Degradación y Robustez de la marca en “Brain” 2 .................................73 Tabla 5.12 Degradación y Robustez de la marca en “Chest” 1.................................73 Tabla 5.13 Degradación y Robustez de la marca en “Chest” 2.................................73 Tabla 5.14 Degradación y Robustez de la marca en “Knee” 1..................................73 Tabla 5.15 Degradación y Robustez de la marca en “Knee” 2..................................74 Tabla 5.16 Degradación y Robustez de la marca en “Shoulder” 1............................74 Tabla 5.17 Degradación y Robustez de la marca en “Shoulder” 2............................74 APÉNDICE A Figura A.1 Programa principal.....................................................................................80 Figura A.2 Función que genera la marca a partir de un archivo ...............................81 Figura A.3 Función que recorre la imagen ................................................................84 Figura A.4 Función para insertar la información ......................................................85 Figura A.5 Función para recuperar la información ...................................................85 Figura A.6 Calcula la homogeneidad y luminancia de una imagen ..........................86 Figura A.7 Calcula el angulo de una imagen.............................................................86 Figura A.8 Código utilizado para corregir reflexiones en una imagen .....................87 Figura A.9 Función que elimina la rotación en una imagen......................................87 Figura A.10 Función que elimina una reflexión en una imagen ...............................88 Figura A.11 Métricas para evaluación de resultados.................................................88
1
Capítulo 1
Introducción
Los avances en el conocimiento médico y la técnica, han hecho posible el diagnóstico
de numerosas enfermedades del hombre. El uso de los Rayos X y la radiología ha
sido un factor importante para el desarrollo de la medicina en el siglo XXI.
En años recientes la propagación de la tecnología digital en el campo médico se ha
acelerado. En este campo, y en especial el área de radiología se ha ampliado con el
uso de otras técnicas: ultrasonido, medicina nuclear, tomografía computarizada,
resonancia magnética, radiología digital y técnicas de intervención que incrementan
cada vez más la capacidad de los radiólogos para diagnosticar y curar enfermedades.
Esta tecnología digital consiste en dispositivos de adquisición de imágenes, unidades
de almacenamiento, estaciones de visualización y bases de datos.
Muchos de los sistemas de exploración empleados para el diagnóstico médico se
basan en el estudio de imágenes, dichos sistemas obtienen una imagen en un soporte
físico (placas radiográficas, papel) que puede ser reproducido y archivado. Una de las
ventajas que ofrece la utilización de tecnología digital es la manipulación de
imágenes digitales para un mejor diagnóstico y la reducción del número de
exposiciones de los pacientes a la radiación. Esto permite incrementar la velocidad de
operación del área de radiología y reducir los costos de operación.
2
Las necesidades de almacenamiento y manipulación de imágenes médicas surge a
partir de los años 70’s como consecuencia del desarrollo de la tomografía
computarizada como medio de diagnostico basado en imágenes digitales. Desde
entonces, se han desarrollado diferentes técnicas en la obtención de imágenes. Estas
técnicas han contribuido a la generación de diferentes tipos de imágenes médicas
digitales para diagnostico, junto con el consecuente incremento en la producción de
las mismas.
La radiología convencional y los sistemas de radiología computada (que utilizan
placas de fósforo), ocupan entre el 70 y el 80%, e incluso, llegando en algunos
servicios de radiología a alcanzar el 85% del volumen total de exploraciones
radiográficas. La gran cantidad de imágenes producidas para diagnóstico, han hecho
complicado el manejo de las imágenes principalmente en la impresión y
almacenamiento posterior, produciendo una gran demanda de medios de
almacenamiento mas apropiados (no impresiones en papel o en placas radiográficas)
y, a su vez, métodos de transferencia entre dispositivos manufacturados por diferentes
compañías.
Para el caso de las imágenes médicas, además de los atributos de la imagen y de la
imagen misma, normal o comprimida, se agregan datos demográficos y de
identificación del paciente, información acerca de las condiciones de adquisición y,
en algunos casos, información del examen, serie a la que pertenece la imagen y orden
que guarda en un estudio. Por lo tanto, es necesario contar con sistemas de
información que ofrezcan una alternativa en el manejo de imágenes médicas a gran
escala, facilitando todas las actividades relacionadas con las mismas en beneficio de
los pacientes de un hospital.
Los sistemas PACS (Picture Archiving and Communication Systems) ofrecen una
alternativa para el manejo de imágenes digitales de forma eficiente, además de
ofrecer ventajas sobre el manejo manual de imágenes.
3
• Se obtiene la facilidad de transmitir una imagen a un lugar remoto vía una red
de telecomunicación.
• Se puede incorporar la información de diagnóstico a las imágenes.
• Se tiene la posibilidad de consultar bancos de imágenes con patologías
similares con la finalidad de apoyar la capacitación y la enseñanza de los
radiólogos en formación.
Los sistemas PACS están integrados por un conjunto de dispositivos, cuya
responsabilidad es la de ofrecer todos los elementos operacionales en el área de
radiología y áreas dependientes, entre estas demandas se incluye la Adquisición de
imágenes; muchas de las modalidades de radiología son digitales (tomografía
computarizada, resonancia magnética, medicina nuclear, entre otras). Sin embargo
existen modalidades cuya información es analógica requiere de digitalizadores
(radiología convencional y ultrasonido).
En un principio, para el caso de las imágenes médicas digitales, cada fabricante de
equipos generadores de imágenes médicas tenía su propia especificación para el
manejo de información. Esto provocó el surgimiento de problemas al tratar de
integrar los distintos formatos de imágenes digitales particulares de cada fabricante.
Por estas razones surgió la necesidad de estandarizar el proceso de manipulación de
imágenes médicas digitales. Este trabajo fue iniciado en 1983 por un comité formado
por el Colegio Americano de Radiología (ACR) y la Asociación Nacional de
Manufactura Eléctrica (NEMA), así surgió el estándar DICOM (Digital Imaging and
Communication in Medicine) que es utilizado mundialmente para el intercambio de
imágenes médicas, así como manejo, almacenamiento, impresión y transmisión de
imágenes médicas.
4
DICOM permite la integración de escáners, servidores, estaciones de trabajo,
impresoras y hardware de red de múltiples proveedores dentro de un sistema de
almacenamiento y comunicación de imágenes. El estándar describe el formato de
archivos y la especificación de los datos primordiales de un paciente en la imagen así
como el encabezado requeridos, describiendo un lenguaje común a distintos sistemas
médicos. De esta forma las imágenes vienen acompañadas de mediciones, cálculos e
información descriptiva relevante para diagnósticos.
1.1 Motivación
Dentro del ámbito médico se ha enfatizado la importancia de la seguridad en el
manejo de la información médica (nombre del paciente, edad, sexo, estudio realizado,
diagnóstico, etc.), ya que es habitual que el médico utilice como material didáctico
imágenes y expedientes clínicos de sus pacientes. En este caso también se debe contar
con el consentimiento del paciente ya que existe la posibilidad de que el paciente dé
al médico sus datos para que éste los utilice únicamente para fines médicos y no para
emplearlos con fines de investigación o para la docencia.
1.2 Objetivo General
• Diseñar e implementar un algoritmo que combine técnicas de marcas de agua
utilizadas en algoritmos robustos con técnicas esteganográficas de algoritmos
de alta capacidad para ocultar información, referente al paciente y al estudio
radiológico.
5
1.3 Objetivos Específicos
• Ocultar información en imágenes radiológicas en escala de grises sin
sacrificar en gran medida la calidad de la imagen, es decir, la degradación
producida en la imagen marcada sea mínima.
• Desarrollar un algoritmo que supere la capacidad de ocultamiento de
información en imágenes médicas digitales de los algoritmos robustos
actuales.
1.4 Estructura de la tesis
En el capítulo 2 se mencionan los fundamentos necesarios para el desarrollo del
presente trabajo. Entre estos fundamentos se mencionan algunos relacionados con la
protección de información tales como criptografía y la esteganografía, así como la
compresión de datos, la cual nos permite ocultar más información en imágenes
médicas.
En el capítulo 3 se describen a detalle las características de técnica de marcas de
agua: clasificación, aplicaciones, requerimientos, esquema general de un sistema de
marcas de agua (inserción, detección y extracción de la información oculta), ataques,
etc. Al final del capítulo se hace una recopilación de manera breve de los diferentes
algoritmos existentes.
En el capítulo 4 se describe el esquema del algoritmo de marcas de agua propuesto.
En este capítulo se hace uso de técnicas de compresión de datos para incrementar la
cantidad de información que se puede ocultar en las imágenes médicas, así como
técnicas criptográficas para incrementar la seguridad en los datos que se ocultan en
6
dichas imágenes, finalmente, la utilización de las marcas de agua, para ocultar la
presencia de la información en las imágenes médicas.
En el capítulo 5 se muestran los resultados obtenidos, la implementación del
algoritmo propuesto, así como la descripción del conjunto de imágenes utilizadas en
las pruebas, al final se discuten los resultados obtenidos.
Finalmente, en el capítulo 6 se mencionan las conclusiones a las que se llegaron
durante el desarrollo de este trabajo así como el trabajo futuro.
7
Capítulo 2
Marco Teórico
Para el desarrollo de este trabajo se requiere conocer las diferentes técnicas que
existen para la protección de información, es decir, la manera en que la información
es procesada para establecer medidas de seguridad contra personas que no están
autorizadas para conocer dicha información.
En este capítulo se presentan los fundamentos teóricos para realizar el desarrollo de
un algoritmo de marcas de agua aplicado a imágenes médicas radiológicas.
2.1 Compresión de datos
En los últimos años, el aumento en la capacidad de almacenamiento de información
como en la velocidad de procesamiento en la computadoras y el aumento de
velocidad en dispositivos de almacenamiento ponen en cuestionamiento la necesidad
de utilizar la compresión de datos, en este trabajo se utiliza la compresión de
información para incrementar la capacidad de ocultamiento en las imágenes médicas.
Una de las técnicas que ayudan a mejorar el funcionamiento de una red es la
compresión de datos. La compresión de datos beneficia en el sentido que el proceso
compresión-transmisión-descompresión es más rápido que el proceso de transmitir
datos sin compresión. La compresión de datos es el proceso de codificar información
usando menos bits o unidades de información utilizando esquemas de codificación
8
específicos. Los algoritmos de compresión buscan redundancia en los datos y la
eliminan, por lo tanto, entre más sea la redundancia, es mayor la razón de compresión
que se obtiene. La redundancia depende del tipo de datos (texto, imágenes, audio,
etc.), por lo tanto, no existe un método de compresión universal que pueda ser óptimo
para todos los tipos de datos [1]. La compresión de datos no sólo es para la
transmisión de información, sino también para el almacenamiento. La compresión de
datos ayuda a reducir el consumo de recursos, tales como espacio en disco duro o
ancho de banda.
El desempeño de un algoritmo de compresión se mide según la razón de compresión
que alcanza (ecuación 2.1) y el factor de compresión (ecuación 2.2); siendo este
último el inverso del primero.
)()(
bytesoriginalarchivodeltamañobytescomprimidoarchivodeltamañoRc = (2.1)
)()(
bytescomprimidoarchivodeltamañobytesoriginalarchivodeltamañoFc = (2.2)
Los algoritmos de compresión se pueden clasificar tomando en cuenta los siguientes
factores:
• Por el tiempo necesario para comprimir/descomprimir.
1. Simétricos: En este tipo de compresores el proceso de descompresión
consume una cantidad de tiempo igual al consumido en el proceso de
compresión. Este tipo de compresores son muy utilizados en aplicaciones que
requieren la transmisión de datos en tiempo real. Por ejemplo, aplicaciones de
videoconferencias, voz sobre IP y aplicaciones de telemedicina.
9
2. Asimétricos: En este tipo de compresores el tiempo requerido para la
compresión y descompresión difiere, generalmente el proceso de compresión
tarda mucho tiempo en comparación con la descompresión. Estos
compresores son utilizados generalmente para comprimir grandes volúmenes
de datos, con la característica de que el proceso de compresión generalmente
se realiza solo una vez, mientras que la descompresión se lleva a cabo muchas
veces.
• Según el modelo utilizado, se clasifican en:
1. No adaptativo: En este tipo de compresores, el proceso de compresión es
constante. Estos tipos de compresores son rápidos, pues no es necesario un
reconocimiento previo de los datos a comprimir. La implementación del
algoritmo de compresión es muy sencillo pero la razón de compresión
generalmente es muy baja [1].
2. Semi-adaptativo: Estos compresores definen el modelo basado en una
exploración previa del total de datos a comprimir y después se aplica dicho
modelo de forma invariable en el proceso de compresión. Para el
funcionamiento de estos compresores se requiere que los datos a comprimir
estén almacenados o que su transmisión se lleve a cabo dos veces (en la
primera transmisión se establece el modelo y en la siguiente se aplica dicho
modelo para realizar la codificación).
3. Adaptativo: Este tipo de compresores se caracteriza por la actualización
dinámica del modelo. Es decir, conforme se realiza la compresión, el modelo
aplicado varia dependiendo del comportamiento de los datos de entrada.
10
La compresión de datos se puede dividir en dos tipos principales: compresión con
pérdida (lossy compression) y compresión sin pérdida (lossless compression). En la
compresión sin pérdida, es posible reconstruir exactamente los datos originales a
partir del archivo comprimido. Por otro lado, en la compresión con pérdida, la
descompresión produce una aproximación a los datos originales.
La compresión de datos sin pérdida es comúnmente utilizada en aplicaciones como la
compresión de texto, donde la pérdida de un solo bit de información afecta el
resultado obtenido en la descompresión. La compresión con pérdida a menudo es
utilizada en aplicaciones de compresión de imágenes y audio. No es el caso en
aplicaciones de compresión de imágenes médicas [2]. Los métodos de compresión
con pérdida obtienen mejores razones de compresión que las técnicas sin pérdida.
2.1.1 Compresores Estadísticos
Los métodos de compresión estadísticos usan las propiedades estadísticas de los datos
que van a comprimirse para asignar códigos de longitud variable a los símbolos
individuales en los datos. Existen varios métodos estadísticos, la principal diferencia
entre ellos es la forma en la que cada uno obtiene las probabilidades de los símbolos
[3]. Los métodos estadísticos emplean un modelo para obtener las probabilidades de
los símbolos, la calidad de la compresión que se logra depende de qué tan bueno sea
ese modelo. Para obtener buena compresión, la estimación de la probabilidad se basa
en el contexto en el que ocurren los símbolos. Dadas las probabilidades de los
símbolos, la codificación se encarga de convertir dichas probabilidades en una cadena
de bits para obtener los datos en forma comprimida. Los métodos estadísticos
comúnmente usados son Codificación Huffman, Codificación Aritmética y PPM.
11
En estos compresores, se pueden utilizar las siguientes variantes del modelo
estadístico:
1. No adaptativo: En este tipo de compresores, las probabilidades de los
símbolos son constantes. Son rápidos, pues solo se realiza una sola pasada
sobre los datos, pero la razón de compresión es muy baja. El algoritmo de
compresión es muy sencillo.
2. Semi-adaptativo: Los compresores semi-adaptativos realizan dos pasadas
sobre la secuencia de símbolos a codificar. En la primera pasada se calculan
las probabilidades asociadas y el la segunda se realiza la codificación.
3. Adaptativo: Las probabilidades instantáneas de los símbolos varían conforme
se produce la compresión. Se realiza un único recorrido de los símbolos
codificados. Así, la longitud de los códigos que son asignados a los símbolos,
aumenta o disminuye según la frecuencia de aparición de estos en el tiempo.
A continuación se describirá el algoritmo de Huffman, este algoritmo estadístico no
adaptativo, el cual es utilizado en este trabajo para realizar la compresión de la
información, ya que ofrece una razón de compresión de 2:1.
2.1.2 Algoritmo de Huffman
La codificación de Huffman fue descrita por primera vez por David A. Huffman en
1952 en un artículo llamado “A Method fo the Construction of Minimun Redundancy
Codes”. Debido a su facilidad de cómputo, es ampliamente utilizado en programas de
compresión, facsímiles y en esquemas de compresión de imágenes como JPEG. El
compresor de Huffman presenta las siguientes características:
12
1. Utiliza códigos de longitud variable, asignando a los símbolos más frecuentes
un código de compresión de menor longitud a costa de asignar códigos de
mayor longitud a los menos frecuentes.
2. El número de bits por código de compresión es un número entero. Esto
provoca que si la entropía de un símbolo es 2.5 bits, el código de Huffman
asignará un código con una longitud de 2 ó 3 bits, pero no 2.5 bits. Debido a
esto, la codificación de Huffman no puede ser considerada como un método
de codificación óptimo, pero si es la mejor aproximación para construir
códigos de compresión con un número entero de bits.
3. Aunque los códigos asociados a símbolos diferentes tienen diferente longitud,
éstos pueden ser decodificados de forma única e instantánea. Esto debido a
que en la codificación Huffman se usan códigos instantáneos
Para construir un código de Huffman normalmente se utiliza un árbol binario que se
construye a partir de las probabilidades de los símbolos que se desean codificar. El
diseño de dicho árbol se realiza de la siguiente forma:
1. Crear tantos nodos (que serán las hojas del árbol) como símbolos se vayan a
codificar. En cada nodo se almacena el símbolo codificado y su probabilidad.
Estos nodos forman la lista de nodos sin procesar.
2. Extraer los dos nodos de la lista de nodos sin procesar que tengan la
probabilidad menor.
3. Insertar en la lista un nodo que sea padre de los nodos seleccionados. Este
nodo no tiene asociado ningún símbolo y su probabilidad será la suma de las
probabilidades de los nodos hijos.
4. Repetir los pasos 2 y 3 hasta que únicamente se tenga un nodo en las lista de
nodos sin procesar, nodo que debe tener una probabilidad igual a 1 y que se
llama nodo raíz del árbol de Huffman.
13
Una vez construido el árbol, el código de compresión asociado a un símbolo se
calcula recorriendo el árbol desde la raíz hasta el símbolo codificado.
Ejemplo: Si las probabilidades de las letras en un mensaje son:
Letra Probabilidad
a 0.121
b 0.051
c 0.137
d 0.094
e 0.274
f 0.281
g 0.042
Tabla 2.1 Probabilidades de los símbolos de un mensaje
Entonces la construcción del árbol de Huffman es:
Paso 1:
Paso 2:
14
Paso 3:
Paso 4:
Paso 5:
Paso 6:
15
Paso 7:
Figura 2.1 Construcción de un árbol de Huffman
Finalmente, los códigos asignados a las letras son:
Letra Código binario
a 010
b 0000
c 011
d 001
e 10
f 11
g 0001
Tabla 2.2 Códigos Huffman de los símbolos de un mensaje
Es importante observar que el código generado por el algoritmo para cada uno de los
símbolos es único, es decir, no tendrá palabras código prefijos de otras palabras
código.
16
2.2 Criptografía
La palabra criptografía proviene del griego krypto que significa escondido y de la
palabra graphein que significa escritura, por tanto, cuando se habla de criptografía, se
refiere a esconder, ocultar o hacer ininteligible cierta información. El objetivo de la
criptografía es proteger el contenido de los archivos durante su transmisión,
modificando los datos originales de manera que sólo puedan ser recuperados por
personas autorizadas. Una vez que los datos son recibidos y descifrados, la protección
del contenido se pierde y éste queda expuesto a diversos ataques.
Durante siglos, el principal uso de la criptografía se redujo principalmente a sus
aplicaciones en la diplomacia, particularmente en tiempos de guerra. Los primeros
sistemas criptográficos realizaban el ocultamiento de la información mediante
técnicas de transposición y sustitución. Algunos ejemplos de estos sistemas son el
Cifrado de César, la Escítala y la máquina Enigma [4]. Sin embargo, en años
recientes se han dado grandes avances en las tecnologías para comunicación digital y
móvil; tales como telefonía inalámbrica y celular, sistemas de comunicación personal,
etc. La transmisión y almacenamiento seguro de la gran cantidad de información
digital utilizada en estas aplicaciones tiene una importancia crucial, especialmente, en
el caso del comercio electrónico y móvil.
La criptografía es crucial en los sistemas de seguridad [5]. Los sistemas criptográficos
(criptosistemas) son controlados por el uso de una llave, con la cual realizan la
transformación de la información. Los criptosistemas realizan los tres objetivos de la
seguridad de la información: confidencialidad, integridad y disponibilidad. La
confidencialidad e integridad se dividen en 5 servicios:
17
• Confidencialidad: El acceso a la información es restringido a entidades
autorizadas.
• Autenticación de usuario: Las partes involucradas en una transacción segura son
quienes dicen ser.
• Autenticación de datos de origen: Se asegura el origen de los datos.
• Integridad de los datos: Los datos no han sido modificados por entidades no
autorizadas durante la transmisión.
• No repudio: Quien ha realizado una transacción, no puede negar después que fue
quien la realizó.
Históricamente, los criptosistemas han proporcionado únicamente el servicio de
confidencialidad [6]. La confidencialidad se logra a través del cifrado de los datos. El
cifrado transforma datos legibles “texto en claro” (cleartext) en datos totalmente
ininteligibles “texto cifrado” (ciphertext) mediante la aplicación de un algoritmo cuya
entrada es una cadena de bits conocida como llave (Figura 2.1). El proceso inverso de
convertir texto cifrado en texto en claro es llamado descifrado y se requiere
nuevamente de una llave para realizarlo. Un criptosistema consiste de una 5-tupla (M,
C, K, E, D), donde:
• M representa el conjunto de todos los mensajes sin cifrar (texto en claro).
• C representa el conjunto de todos los posibles mensajes cifrados.
• K representa el conjunto de claves que se pueden emplear en el criptosistema.
• E es el conjunto de transformaciones de cifrado o familia de funciones que se
aplica a cada elemento de M para obtener un elemento de C.
• D es el conjunto de transformaciones de descifrado, análogo a E.
18
Figura 2.2 Sistema criptográfico
2.2.1 Cifradores de bloque
Los algoritmos de cifrado por bloques toman bloques de tamaño fijo del texto en
claro (cleartext) y producen un bloque de tamaño fijo de texto cifrado (ciphertext),
generalmente del mismo tamaño que la entrada. El tamaño del bloque debe ser lo
suficientemente grande como para evitar ataques de texto cifrado. La asignación de
bloques de entrada a bloques de salida debe ser uno a uno para hacer el proceso
reversible y parecer aleatoria.
Para la asignación de bloques los algoritmos de cifrado simétrico realizan
sustituciones y permutaciones en el texto en claro hasta obtener el texto cifrado.
• La sustitución es el reemplazo de un valor de entrada por otro de los posibles
valores de salida, en general, si usamos un tamaño de bloque k, el bloque de
entrada puede ser sustituido por cualquiera de los 2k bloques posibles.
• La permutación es un tipo especial de sustitución en el que los bits de un
bloque de entrada son reordenados para producir el bloque cifrado, de este
modo se preservan las estadísticas del bloque de entrada (el número de unos y
ceros).
19
Los algoritmos de cifrado por bloques iterativos funcionan aplicando en sucesivas
rotaciones una transformación (función de rotación) a un bloque de texto en claro. La
misma función es aplicada a los datos usando una subclave obtenida de la clave
secreta proporcionada por el usuario. El número de rotaciones en un algoritmo de
cifrado por bloques iterativo depende del nivel de seguridad deseado.
2.2.2 Cifradores de flujo
Generalmente operan sobre 1 bit (o sobre bytes o palabras de 16 ó 32 bits) de los
datos de entrada cada vez. El algoritmo genera una secuencia (secuencia cifrante o
keystream en inglés) de bits que se emplea como clave. El cifrado se realiza
combinando la secuencia cifrante con el texto en claro.
El paradigma de este tipo de algoritmos es el One Time Pad, que funciona aplicando
una XOR (ó-exclusiva) a cada bit de la entrada junto con otro generado de forma
aleatoria para obtener cada bit de la salida. La secuencia de bits aleatorios es la clave
de la sesión, secuencia de cifrado o el pad, que es del mismo tamaño que la entrada y
la salida. Para recuperar el texto original, el texto cifrado debe pasar por el mismo
proceso empleado para cifrar usando el mismo pad. Este algoritmo es conocido por
ser el único incondicionalmente seguro, aunque, como las claves son del mismo
tamaño que la entrada, es de poca utilidad práctica.
Los algoritmos de este tipo son intentos de conseguir algoritmos prácticos que se
aproximen al funcionamiento del one time pad.
20
2.2.3 Aplicaciones de la criptografía La criptografía es una disciplina con multitud de aplicaciones, muchas de las cuales
están en uso hoy en día. Entre las más importantes destacamos las siguientes:
• Seguridad de las comunicaciones. Es la principal aplicación de la
criptografía a las redes de computadoras, ya que permiten establecer canales
seguros sobre redes que no lo son. Además, con el poder de procesamiento
actual y empleando algoritmos de cifrado simétrico (que se intercambian
usando algoritmos de clave pública) se consigue la privacidad sin perder
velocidad en la transferencia.
• Identificación y autenticación. Gracias al uso de firmas digitales y otras
técnicas criptográficas es posible identificar a un individuo o validar el acceso
a un recurso en un entorno de red con más garantías que con los sistemas de
usuario y clave tradicionales.
• Certificación. La certificación es un esquema mediante el cual agentes fiables
(como una entidad certificadora) validan la identidad de agentes desconocidos
(como usuarios reales). El sistema de certificación es la extensión lógica del
uso de la criptografía para identificar y autenticar cuando se emplea a gran
escala.
• Comercio electrónico. Gracias al empleo de canales seguros y a los
mecanismos de identificación se posibilita el comercio electrónico, ya que
tanto las empresas como los usuarios tienen garantías de que las operaciones
no pueden ser espiadas, reduciéndose el riesgo de fraudes y robos.
21
2.3 Esteganografía
Mientras que la criptografía se encarga de proteger el contenido de los mensajes, la
esteganografía es una técnica que se encarga de ocultar y proteger tanto el mensaje
como la existencia del mensaje. Esteganografía proviene de los vocablos griegos
stegos que significa oculto y graphos que significa escritura, es decir esteganografía
significa escritura oculta.
Figura 2.3 Sistema esteganográfico
2.3.1 Métodos esteganográficos
Métodos clásicos. La esteganografía da sus primeros pasos en la antigua Grecia. Se
cuenta en “Las Historias de Herodoto” que Demeratus quería comunicar a la ciudad
de Esparta que Xerxes tenía planes para invadir Grecia. Para evitar ser capturado por
espionaje en los controles, escribió sus mensajes en tablas que luego fueron cubiertas
con cera, de forma que parecían no haber sido usadas. Ésta es posiblemente una de las
primeras manifestaciones en la historia de mensajes esteganográficos. Otro método
usado durante siglos consistía en tatuar al mensajero (generalmente un esclavo) un
mensaje en la cabeza afeitada para después dejarle crecer el pelo y enviar así el
mensaje oculto.
22
Cifrado nulo (Null Cipher). El método de escritura de meta-información en un texto
es usado desde hace siglos, y sigue siendo usado hoy en día. Esto es debido a que se
trata posiblemente de uno de los métodos más sencillos de ocultar información.
Consiste en escribir un texto aparentemente inofensivo donde, mediante algún
mecanismo conocido por el legítimo receptor de la información (actualmente
hablamos de algoritmos y claves), subyace la información realmente importante.
Veamos un ejemplo de un mensaje real enviado por un espía alemán durante la
Segunda Guerra Mundial:
Apparently neutral's protest is thoroughly discounted
and ignored. Isman hard hit. Blockade issue affects
pretext for embargo on by products, ejecting suets
and vegetable oils.
Si de este inocente texto extraemos la segunda letra de cada palabra, obtendremos
este otro mensaje:
Pershing sails from NY June 1
Aquí vemos lo fácil que es esconder información en textos, así como comprendemos
la necesidad de gran cantidad de información (ruido) para ocultar la auténtica
información de forma que no llame la atención.
Tinta invisible. Aunque el método de escritura con tinta invisible es usado desde la
edad media, es en la Segunda Guerra Mundial cuando adquiere una importancia
capital. Fue usado muy activamente por la resistencia en los campos de prisioneros
nazis.
Generalmente se usa de la siguiente forma: en primer lugar se escribe una carta
completamente normal, y después se escribe, entre las líneas de esa carta, otro texto
donde está la información importante. Era habitual el uso de vinagre, zumos de frutas
23
u orina, aunque hoy en día existen compuestos químicos específicos que sirven
igualmente y no desprenden olores tan fuertes (que serían fácilmente detectados por
un perro entrenado). Al calentar el papel, la escritura oculta se hace visible.
Micropuntos. La tecnología de los micropuntos fue inventada por los alemanes
durante la Segunda Guerra Mundial y fue usada de forma muy activa durante la época
de la guerra fría.
La técnica se basa en esconder puntos minúsculos en fotografías, tan pequeños que
para el ojo humano e incluso para instrumentos ópticos básicos como lupas- resultan
invisibles, pero que forman un patrón de información significativa.
Debido a la naturaleza analógica de esta técnica, resultaba fácilmente detectable para
los servicios de inteligencia, si bien advertir la presencia de mensajes
esteganográficos no siempre significa que puedan ser legibles. Aún así, descubrir la
presencia de un mensaje esteganográfico se considera un fracaso de la esteganografía
que lo soporta, pues la imposibilidad de comprender su contenido conforma su capa
de cifrado.
2.3.2 Ataques a la esteganografía. Los dos métodos más usados para detectar y atacar la esteganografía son:
• Ataque visual
Consiste en buscar de forma manual diferencias entre el medio original
(imagen, audio, etc.) y el stego-medio, siempre y cuando dispongamos del
archivo original. En caso de no disponer de él, se pueden buscar
irregularidades en el stego-archivo para tratar de encontrar signos de la
existencia de datos ocultos, pero difícilmente se puede obtener información
útil más allá de la existencia de los mismos. Esta técnica es la más
rudimentaria a la hora de realizar análisis esteganográfico y no tiene mucha
utilidad real.
24
• Ataque estadístico
El concepto de este tipo de ataques se basa en la comparación de la frecuencia
de distribución de colores de un posible stego-medio con la frecuencia que se
puede esperar en teoría de un stego-medio. Aunque los resultados son bastante
buenos (ha demostrado en muchas ocasiones ser efectiva), esta técnica es
extremadamente lenta. El ataque estadístico es muy complicado, por lo que se
automatiza mediante diversos programas.
Conclusiones
En este capitulo se han presentado los fundamentos de la compresión y de la
criptografía que serán utilizados en el desarrollo de este trabajo de investigación.
Primeramente se hizo una descripción de los métodos de compresión estadísticos, de
los cuales el algoritmo de Huffman fue elegido para este trabajo. Posteriormente se
describieron los métodos de criptografía, de estos, se seleccionó un algoritmo de
cifrado de flujo, ya que su implementación es sencilla y el costo computacional es
mínimo.
Se concluye que es factible la combinación de técnicas de compresión con técnicas de
cifrado de datos, este proceso de combinación debe ser en el orden compresión-
cifrado, en este orden, se reduce la información que debe ser cifrada y por
consiguiente el costo computacional se reduce. Si el proceso es invertido cifrado-
compresión, no se aprovechan las ventajas de ambos esquemas; debido a que el
cifrado convierte los datos originales en datos ininteligibles, con esto, la redundancia
que existía en los datos originales se pierde, impidiendo que el compresor obtenga
una buena razón de compresión de los datos.
25
Finalmente, la esteganografía permite ocultar información en archivos multimedia, de
manera que la existencia de esta información sea desapercibida, la utilización de la
compresión, la criptografía y la esteganografía en un sólo esquema permiten:
• Aumentar la cantidad de información a ocultar en archivos multimedia (audio,
imagen, video) mediante la utilización de técnicas de compresión.
• Incrementar la seguridad en la información comprimida mediante el uso de
técnicas de cifrado, aunado a esto, la seguridad que ofrecen los esquemas
esteganográficos en el proceso de transmisión o almacenamiento de datos.
26
27
Capítulo 3
Marcas de Agua
El nombre de esta técnica (watermarking en inglés) proviene de las tradicionales
técnicas utilizadas por algunas personas para certificar la autenticidad y el origen de
documentos de papel a través de variaciones en la opacidad de los mismos. El caso
más claro es el que se aprecia en los billetes de banco cuando se miran a contraluz.
Las marcas de agua digitales es otra técnica de protección de información. El objetivo
de esta técnica es ocultar o insertar cierta cantidad de información en un medio digital
(imagen, audio o video), modificando este medio de manera mínima, y
posteriormente extraer la información insertada del medio modificado para ciertos
propósitos (autenticación, control de copias, verificación de la integridad de la
información, derechos de autor, etc.). La información insertada es llamada “marca de
agua” (watermark) y el medio donde se inserta es llamado “medio o señal de
cobertura” (cover médium, host medium), mientras el medio modificado es llamado
“medio marcado o stego-medio” (watermarked medium, stego-medium).
Aunque la esteganografía y las marcas de agua son técnicas utilizadas para la
comunicación encubierta, la esteganografía se encarga solo de cubrir la comunicación
punto a punto entre dos partes [ref. 1a]. Los métodos esteganográficos no son
robustos ante ataques o modificaciones en los datos que pudieran ocurrir durante la
transmisión, almacenamiento o conversión de formato [ref. 2a].
28
Las marcas de agua con respecto a la esteganografía tienen requerimientos
adicionales de robustez contra posibles ataques. Un sistema esteganográfico ideal
debe insertar una gran cantidad de información perfectamente segura, sin degradación
visible en el medio de cobertura. Es por eso que en las marcas de agua existe un
compromiso entre la capacidad y la seguridad para obtener mayor robustez [ref. 3a].
3.1 Clasificación
Las marcas de agua y las técnicas de marcas de agua pueden ser divididas en tres
categorías (tipo de dominio, formato de la información y tipo de percepción humana);
a su vez, cada categoría contiene subclasificaciones (ver Figura 3.1).
Figura 3.1 Clasificación de las marcas de agua.
29
Las técnicas de marcas de agua pueden ser divididas en cuatro categorías acorde al
tipo de información multimedia (texto, imagen, audio y video):
MARCAS DE AGUA EN TEXTO
1. Alteración de los espacios en blanco: La alteración del espacio entre líneas,
entre palabras, o la inclusión de espacios en blanco al final de una frase, son
difícilmente detectables y permite construir códigos fácilmente.
2. Métodos sintácticos: Un posible sistema de marcado se basa en la alteración
de los signos de puntuación en aquellos casos en los que no afecte al
significado. La cantidad de bits que se puede ocultar con este método es muy
baja.
Entre las aplicaciones del ocultamiento de información en textos cabe resaltar que:
• Permite a los editores de texto comprobar si un archivo ha sido modificado,
además de insertar los datos del autor dentro del propio archivo.
• Protección de documentos ante una difusión no autorizada del material.
MARCAS DE AGUA EN IMÁGENES
Entre los diferentes esquemas para ocultar información en imágenes se
encuentran:
1. Modificación del bit menos significativo (LSB): Consiste en modificar el bit
menos significativo de los píxeles para insertar la marca de agua.
2. Marcado en el dominio de frecuencia: Esta técnica consiste en modificar los
coeficientes resultantes de aplicar una transformada a la imagen y
posteriormente aplicar la transformada inversa para obtener la imagen
marcada.
30
MARCAS DE AGUA EN AUDIO
Entre los diferentes esquemas para ocultar información en audio se encuentran:
1. Modificación del bit menos significativo (LSB): consiste en modificar el bit
menos significativo de cada una de las muestras de la señal. La desventaja de
esta técnica es que introduce ruido perceptible en la señal.
2. Codificación de fase: El sistema auditivo humano es insensible a cambios
absolutos en la fase de la señal. De esta forma se puede ocultar información en
la fase dividiendo una señal de audio en segmentos (tramas) y sustituyendo la
fase del segmento inicial por la información a ocultar.
3. Técnicas de espectro ensanchado: Se trata de un método similar al utilizado
en sistemas de comunicaciones. Este método concentra el mensaje a transmitir
en un ancho de banda lo más limitado posible, para obtener un uso eficiente
del canal de comunicaciones.
4. Introducción de eco: Consiste en introducir eco en la señal que contendrá la
información. Los datos a ocultar se codifican en la amplitud inicial.
MARCAS DE AGUA EN VIDEO
Similar a las técnicas en imágenes, con la diferencia de que el marcado se realiza
en cada uno de los cuadros (frames) que componen el video.
Acorde al tipo de percepción humana, las marcas de agua digitales pueden ser
divididas en dos tipos:
• Marca de agua visible: Es aquella la cual aparece visible ante los usuarios con
una cuidadosa inspección, es decir, la marca de agua es visible a simple vista. Una
marca de agua visible puede utilizarse para que los usuarios verifiquen
rápidamente cuál es la fuente de los datos.
• Marca de agua invisible: La inserción de una marca de agua implica la
modificación del archivo donde es insertada, las marcas de agua invisibles logran
31
que estos cambios sean imperceptibles, esto es posible debido a que el sistema
visual humano (SVH) no es un detector perfecto y esto es aprovechado para
lograr que ciertas modificaciones pasen desapercibidas.
• Marca de agua dual: La marca de agua dual es una combinación de marcas de
agua visible e invisible. En este esquema de marca de agua, una marca invisible
es utilizada como respaldo de la marca visible.
Acorde a la resistencia de la marca a la manipulación (ataques1) del contenido del
medio pueden ser divididas en:
• Robusta: La marca de agua robusta, es aquella que se inserta de tal forma que las
alteraciones realizadas en la imagen marcada no se distinguen perceptualmente;
este tipo de marca de agua debe resistir operaciones clásicas (también llamadas
ataques, ver sección 3.4) de manera que la información insertada puede ser
recuperada [Ref. 4]. Generalmente es utilizada para protección de derechos de
autor, esta área de aplicación se basa en la identificación del propietario de la
información así como de la identificación de los compradores.
• Frágil: La marca de agua invisible y frágil es insertada de tal forma que cualquier
manipulación o alteración de la imagen, deberá alterar o destruir la marca de agua
[Ref. 4]. Generalmente se utilizan para la autenticación de imágenes, proceso que
verifica que el contenido no ha sido modificado o que el emisor sea quien dice ser.
1 Se le denominan ataques a las manipulaciones o modificaciones realizadas a la información con el objetivo de alterar o eliminar la marca insertada, tales como filtrados, operaciones geométricas, etc.
32
Acorde a los elementos necesarios para detectar/extraer la marca insertada, las
técnicas de marca de agua de dividen en:
• Privado: Un esquema invisible, robusto y privado requiere de al menos la imagen
original para poder detectar la marca de agua insertada. Existen dos tipos de
sistemas:
1. Extraen la marca de la imagen posiblemente alterada y utilizan la imagen
original para identificar las regiones donde la imagen está posiblemente
distorsionada.
2. Similar al anterior, pero en estos sistemas, es necesaria una copia de la
marca de agua insertada, en este esquema, sólo es posible conocer si la
marca está en la imagen, es decir, la salida del sistema es un valor binario.
• Público: En un esquema invisible, robusto y público (también conocido como
marca de agua “ciega”) no se requiere de la imagen original, ni la marca de agua
insertada, sólo se tiene la stego-imagen2 y la llave/imagen secreta para poder
detectar la información.
3.2 Aplicaciones
Los requisitos que deben cumplir en la práctica los algoritmos de marca de agua son
establecidos con base en la aplicación en la cual serán utilizados. Dentro de las
aplicaciones de marcas de agua de encuentran las siguientes:
• Comunicaciones secretas: en este tipo de aplicación, la marca es insertada en
los archivos multimedia; es utilizada por dos o más personas para
comunicarse de manera secreta sin levantar sospecha a terceros, es una
aplicación clásica de la esteganografía (ocultar información dentro de otra).
2 Se le denomina stego-imagen a la imagen que contiene información insertada, también se conoce como imagen marcada.
33
• Protección de derechos: Para la protección de la propiedad intelectual, los
archivos multimedia pueden contener una marca de agua representando
información de derechos de autor del propietario. Esta marca de agua puede
tomarse como prueba de la propiedad intelectual ante una corte cuando
alguien ha infringido los derechos de autor.
• Control de Copias: Para rastrear el origen de copias ilegales, el propietario
puede hacer uso de técnicas de identificación (fingerprinting). En este caso, el
propietario puede insertar diferentes marcas de agua en las copias de los datos
que han sido entregadas a diferentes clientes. Esta técnica puede insertar un
número de serie en los datos, el cual es relacionado con la identidad de los
clientes. Esta técnica permite al dueño de la propiedad intelectual identificar a
aquellos clientes que han infringido el acuerdo de licencia proveyendo de la
información a terceras personas.
• Autenticación: Las marcas de agua frágiles pueden ser utilizadas para
verificar la autenticidad de la información. Una marca de agua frágil indica si
la información ha sido alterada, asimismo permite localizar la posición en
donde se produjo dicha alteración.
• Seguridad Médica: Insertar información de los pacientes (nombre, fecha de
nacimiento, sexo, etc.) en las imágenes médicas puede ser una medida de
seguridad útil.
• Ocultamiento de Información: La técnicas de marcas de agua pueden ser
utilizadas para la transmisión secreta de mensajes.
34
3.3 Requerimientos
Los requerimientos más importantes de marcas de agua digitales son:
• Robustez: Las imágenes están expuestas a muchos tipos de modificaciones
o distorsiones: las pérdidas por compresión, los cambios producidos por el
mejoramiento de las imágenes, etc. Una marca de agua se considera robusta
si perdura después de estas operaciones y, en el caso de las marcas en
imágenes, también deben persistir después de transformaciones geométricas
[Ref. 1].
• Imperceptibilidad: La imperceptibilidad o transparencia de la marca de
agua tiene como base el comportamiento del sistema de percepción humano.
Una marca de agua es imperceptible, si la degradación que causa en los
archivos donde se ha insertado es muy difícil de apreciar. Este concepto se
contrapone al de la robustez (Figura 3.2), si se tiene en cuenta que un
sistema robusto debe insertar la marca en las regiones significativas de la
imagen. En algunas aplicaciones se puede aceptar una pequeña degradación
de los datos, a cambio de lograr mayor robustez del algoritmo [Ref. 1].
• Capacidad: Este es un factor importante cuando una gran cantidad de
información se debe ocultar, dicha información es usualmente relacionada
con la imagen. Por ejemplo, cuando se transmiten imágenes médicas; los
datos del paciente y el diagnóstico pueden ser ocultados en la misma imagen
[Ref. 1].
35
Figura 3.2 Compromiso establecido entre requerimientos de las marcas de agua
3.4 Esquema de un sistema de marcas de agua En esta sección se describen cada una de las partes que componen un esquema de
marcas de agua, cada una de estas partes es descrita de manera general, ya que cada
esquema tiene alguna característica o parámetros que las diferencia entre ellas.
3.4.1 Inserción de la marca de agua. En la Figura 3.4.1 se muestra un ejemplo de inserción de información. Sea I la
imagen original, y W = {w1, w2, w3,…,wL}la marca de agua a insertar de longitud L, y
I’ la imagen marcada o stego-imagen.
La función de inserción toma la imagen I y la marca de agua W y genera la imagen
marcada I’. Dependiendo de la técnica a utilizar, la imagen original es transformada
al dominio de frecuencia (ecuación 3.1) o puede utilizarse el dominio espacial
(ecuación 3.2), esto depende de la técnica seleccionada.
36
'),( IWIE = (3.1)
'),( IWfE = (3.2)
La figura 3.2 ilustra el proceso de inserción de marcas de agua, J denota la imagen
marcada después de ser distorsionada.
Figura 3.3 Proceso de inserción
3.4.2 Detección/Extracción de la marca de agua. La fase de detección/extracción de la marca de agua toma la imagen J (J puede ser
una imagen alterada) de la cual será extraída la marca insertada W’. Dependiendo el
algoritmo de marca de agua, la imagen original puede ser necesaria para recuperar la
marca.
A continuación se describe el proceso de detección/extracción de la marca:
1. Se extrae la marca de la imagen J.
'),( WIJD = (3.3)
2. Posteriormente la secuencia extraída W’ es comparada con la secuencia
original, la salida de este proceso es 1 si la marca existe en J y 0 si la marca
no existe en J.
( )⎩⎨⎧ <
=casootroen
csiWWC
01
,'δ
δ (3.4)
37
Donde c es la correlación que existe entre W y W’ y δ es el valor del umbral para
determinar si la marca extraída es similar a la original.
Figura 3.4 Proceso de detección/extracción
3.5 Ataques En la práctica, un archivo multimedia marcado puede ser alterado a propósito o
accidentalmente, por lo tanto el sistema de marca de agua debe ser capaz de detectar
y extraer la marca de agua insertada. Las distorsiones son limitadas a aquellas que no
producen degradación excesiva, de otra forma el archivo marcado será inservible.
Estas distorsiones también introducen degradación en el desempeño del sistema.
Los ataques son clasificados en dos tipos:
• Ataques Pasivos: Este tipo de ataque evalúa estadísticamente las
características de la imagen marcada para determinar si tiene información
oculta. Este tipo de ataque no pretende eliminar la marca solamente detectar la
presencia de información oculta, es utilizado en aplicaciones de
comunicaciones encubiertas.
• Ataques Activos: Este tipo de ataque altera o distorsiona la imagen marcada
con el propósito de modificar o eliminar la información que se insertó en la
imagen.
o Ataques por promediado estadístico: Intentan calcular la marca y
extraerla de la imagen marcada.
38
o Ataques en el proceso de detección de la marca: El intruso intenta
por diversos medios deducir el proceso del detector de la marca,
encontrando las posibles regiones donde se insertó la marca y tratando
de eliminarla.
o Ataque por confabulación: En este tipo de ataque se utilizan varias
copias de los archivos marcados con diferentes marcas (utilizando el
mismo algoritmo) para generar un archivo que no contenga la marca.
o Falsificación: en este ataque, se intenta insertar una marca falsa que
pueda ser reconocida como válida.
A continuación de listan algunos ataques que se aplican a sistemas de marcas de agua:
• Adición de Ruido: Este ataque se origina en cierto tipo de aplicaciones que
utilizan convertidores D/A (digital-analógico) y A/D (analógico-digital) o por
errores en la transmisión.
• Filtrado: Este tipo de ataque aplica filtrado linear a la imagen como: filtros
pasa baja, filtro pasa alta, filtro gaussiano, filtro mediana, etc., los cuales no
introducen una degradación considerable a la imagen marcada, pero puede
afectar dramáticamente el resultado en el proceso de extracción de la marca.
• Compresión: Este tipo de ataque generalmente es no intencional, el cual es
muy frecuente en aplicaciones multimedia. Prácticamente todo el audio, video
e imágenes que se encuentran en internet han sido comprimidas.
• Ataques Geométricos: Este tipo de ataque no pretende eliminar la marca
insertada en la imagen, pero genera distorsiones espaciales en la marca de
39
agua. Con este tipo de ataques, la función para detectar la marca pierde
sincronización con respecto a la información insertada. Los ataques
geométricos comunes son rotación, escalado, escalado no uniforme, traslación,
entre otros.
3.6 Técnicas de marcas de agua Los algoritmos (técnicas) de marca de agua pueden ser aplicados tanto en el dominio
espacial como en el dominio de transformada. La Tabla 3.6.1 muestra una
comparación entre las técnicas de marcas de agua.
Requerimiento Dominio espacial Dominio de transformada
Costo computacional Bajo Alto
Robustez Frágil Robusto
Calidad Alto Bajo
Capacidad Alto(depende del tamaño de
la imagen) Bajo
Aplicaciones Autenticación Control de Copias
Tabla 3.1 Técnicas de marca de agua según su dominio
3.6.1 Técnicas en el dominio espacial Las técnicas en el dominio espacial modifican directamente la intensidad o el valor de
color de algunos píxeles seleccionados. Una de las técnicas más comunes en el
dominio del espacio es la denominada LSB (acrónimo en inglés de Least Significant
Bit) en la cual la marca de agua es insertada en el bit menos significativo de algunos
píxeles seleccionados [Ref. 1-6]. Esta técnica es muy fácil de implementar y muy
rápida, pero su robustez baja. La Figura 3.5 muestra un ejemplo de esta técnica, la
40
cual selecciona el plano menos significativo de la imagen y reemplaza el valor del
plano con la información de la marca que se desea ocultar (Figura 3.6).
Figura 3.5 Planos que conforman la imagen
Figura 3.6 Ocultando información en los bits menos significativos
El siguiente ejemplo (Figura 3.7) muestra el resultado de insertar una imagen en
diferentes bits de la imagen original. Se observa que la marca es visible si es insertada
en los bits de planos más significativos de la imagen original.
Imagen original
Marca de agua 4 LSB 7 LSB
Figura 3.7 Marca insertada en planos diferentes de una imagen
41
3.6.2 Técnicas en el dominio de transformada Las técnicas en el dominio de transformada modifican los valores de los coeficientes
de algunas transformadas. Esto significa que los coeficientes en el dominio de
transformada deben ser modificados para insertar la marca de agua y finalmente la
transformada inversa debe ser aplicada para obtener la imagen marcada o stego-
imagen [6].
Las transformadas comunes utilizadas para propósitos de marca de agua, son las
siguientes: DCT (Discrete Cosine Transform) [], DWT (Discrete Wavelet Transform)
[] y DFT (Discrete Fourier Transform) []. La figura 3.8 presenta un esquema general
del funcionamiento de los esquemas de marcas de agua en el dominio de
transformada.
Figura 3.8 Proceso de inserción basado en transformada
Figura 3.9 Proceso de extracción/detección basado en transformada
42
La siguiente figura muestra un esquema de inserción en el dominio de transformada,
en los cuales, la marca es insertada en los coeficientes obtenidos después de aplicar
alguna transformada.
Figura 3.10 Esquema de inserción de marca de agua aditiva
3.7 Marcas de agua en imágenes médicas
La imaginología médica es un campo donde la protección de la integridad y
confidencialidad de la información médica se deriva de estricta ética y reglas
legislativas. Los registros de información médica de los pacientes es un expediente
complejo integrado por exámenes, diagnósticos, prescripciones, e imágenes en varias
modalidades. Esta información es utilizada para diferentes propósitos (investigación
clínica, estudios de epidemiología). Todos los registros médicos, electrónicos o no,
están ligados al secreto médico, y por lo tanto deben ser confidenciales.
Por lo anterior, se imponen tres características para los expedientes clínicos de
pacientes (Figura 3.11):
• Confidencialidad. Significa que sólo entidades autorizadas pueden acceder a
la información.
• Confiabilidad. Esta característica tiene dos aspectos:
43
o Integridad. Se refiere a que la información no ha sido modificada por
entidades no autorizadas.
o Autenticación: Se refiere a tener una prueba de que la información
pertenece al paciente correcto.
• Disponibilidad. Se refiere a la característica de que los sistemas de
información sean utilizados por entidades autorizadas.
Figura 3.11 Componentes de seguridad de la información médica
Recientemente ha existido mucho interés en las técnicas de marcas de agua para
proteger la propiedad intelectual en formatos digitales (imágenes, audio, video,
software). A consecuencia de este interés, un gran número de técnicas de marcas de
agua han surgido.
El número de estudios en la literatura dedicados a las marcas de agua en imágenes
médicas no es muy extenso. Anand et al. [Ref. 7] proponen insertar una versión
encriptada del expediente electrónico de pacientes (EPR) en los bits menos
significativos (LSB) de las imágenes es escala de grises. Aunque la degradación en la
calidad de la imagen obtenida es mínima, las limitaciones y la fragilidad de las
marcas de agua en bits menos significativos es muy conocida. Miaou et al. [Ref. 8]
propone un método para autenticar el origen de la información (identificar el hospital
donde se realizó el estudio), y la información que se oculta en las imágenes es un
registro de electrocardiograma (ECG), el diagnóstico y datos del médico que realizó
44
el estudio, la técnica utilizada es similar a utilizada por Anand et al. [Ref. 7], es decir,
insertar la información en los bits menos significativos de la imagen. De igual forma
Macq y Deweyand [Ref. 9] insertan la información en la cabecera de las imágenes.
Las marcas de agua en el contexto médico requieren de tres objetivos:
1. Ocultamiento de información con el propósito de insertar meta-datos,
anotaciones y otro tipo de información que haga a las imágenes más útiles y
fáciles de utilizar.
2. Control de integridad, es decir, verificar que la imagen está intacta, que no ha
sido modificada de manera no autorizada
3. Autenticidad, es decir, verificar que la imagen es realmente la que el usuario
supone que es.
Requerimientos para marcas de agua en imágenes médicas:
• Imperceptible: En el ámbito médico, la calidad de las imágenes es muy
estricta, es decir, no está permitido alterar en ningún sentido, por esta
razón, el método de marcas de agua debe ser reversible, es decir que los
píxeles de la imagen original deben ser recuperados, esto limita
significativamente la capacidad y el número de posibles métodos a utilizar.
• Control de Integridad: Es necesario probar que la información que se ha
insertado en las imágenes ha preservado su integridad, es decir, no ha sido
alterada de alguna manera.
• Autenticación: Este es un requerimiento crítico en los registros clínicos
de los pacientes, especialmente en las imágenes.
45
Conclusiones
En este capítulo se presentaron las diversas técnicas que existen en el área de las
marcas de agua, haciendo énfasis en las técnicas más utilizadas. Se presentó la
clasificación de las diferentes técnicas, los requerimientos que deben de cumplir y las
diferentes aplicaciones en donde son utilizadas, finalmente se presentaron los
diferentes ataques a los cuales están expuestas las imágenes resultantes (imágenes
marcadas o stego-imágenes).
Se observó que las técnicas basadas en dominio espacial generan menos degradación
en las imágenes, pero la marca insertada utilizando estas técnicas son frágiles ante
ataques geométricos o ante aplicación de filtrado en la imagen marcada. Los
esquemas basados en dominio de transformada presentan mayor robustez antes
ataques efectuados en la imagen marcada, pero al contrario de las técnicas de dominio
espacial, introducen más degradación en la imagen, es decir, a mayor robustez de la
marca, más degradación en la imagen marcada.
Son pocos los esquemas que trabajan con imágenes médicas, y estos esquemas
simplemente ocultan información de carácter médico en las imágenes, no se reportan
ataques aplicados a las imágenes marcadas, solamente se reportan resultados con
respecto a la degradación y la capacidad de los esquemas descritos. En el siguiente
capitulo se presenta un esquema de marcas de agua en el dominio espacial aplicado a
imágenes médicas de carácter radiológico resistente a ataques; este esquema utiliza
las métricas estadísticas para determinar zonas de la imagen no homogéneas en donde
se pueda ocultar información, sin degradar demasiado la imagen; es decir, se
localizan zonas como bordes, zonas con textura, en las cuales los cambios producidos
por la inserción de la información sean imperceptibles.
46
47
Capítulo 4
Esquema de Marcas de Agua para Imágenes
Médicas
4.1 Esquema general
En la siguiente figura se presenta el esquema general de marcas de agua aplicado a
imágenes médicas en este trabajo.
Figura 4.1 Esquema general del algoritmo propuesto
48
4.2 Algoritmo propuesto El algoritmo de marcas de agua para imágenes médicas está dividido en 4 secciones:
• Generación de la marca de agua
En esta sección el algoritmo obtiene de un archivo DICOM la imagen y parte
de la información la cual será utilizada para generar la marca que se insertará
en la imagen.
• Invariantes Geométricos
En esta sección se explica parte de la teoría de momentos geométricos de una
imagen, estos momentos geométricos ayudan a obtener características
invariantes (por ejemplo centro de masa o centroide, el cual es invariante a
rotación, escalado y traslación) de una imagen.
• Selección de regiones no homogéneas
En esta sección se utiliza un método estadístico para seleccionar las
posiciones donde será insertada la información; estas regiones permiten
insertar información en zonas poco homogéneas de manera que sea
imperceptible. Dicho método utiliza medidas obtenidas a partir de la
distribución de intensidad en los niveles de gris (homogeneidad) para
caracterizar texturas.
• Inserción/Extracción de la información
En esta sección se explica la manera en que la imagen es recorrida con el
objetivo de localizar regiones que permitan insertar la marca en la imagen.
Posteriormente se describe el procesamiento que hace en la imagen previo a la
extracción de la información insertada.
49
4.2.1 Generación de la marca de agua.
En la figura 4.2 se ejemplifica la generación de la marca de agua, el proceso para su
obtención es el siguiente:
1. Extraer la imagen y los meta datos del archivo DICOM.
2. Comprimir los datos extraídos, en este esquema se utiliza el algoritmo de
Huffman, con el objetivo de reducir la cantidad de información a insertar.
3. Cifrar la información comprimida en el paso anterior con el objetivo de
incrementar la seguridad en la información, en este esquema se utiliza un
cifrador de flujo RC4.
4. Generar una secuencia de bits a partir de la información cifrada que servirá
como marca.
Figura 4.2 Generación de la marca de agua
4.2.2 Invariantes Geométricos Los momentos de imágenes son una técnica comúnmente utilizada en el proceso de
extracción de características, donde cada uno de los momentos que se obtiene aporta
diferente información para la misma imagen [Ref. 1].
50
En general, dada una imagen representada por una función arbitraria representativa de
los niveles de gris en cada imagen, f(x, y), se define el momento de orden (p, q), mpq
como:
),(1
0
1
0yxfyxm
M
x
N
y
qppq ⋅⋅= ∑∑
−
=
−
= (4.1)
Donde f es una matriz con datos de la imagen de tamaño MxN. Para las imágenes
digitales, el momento de orden cero es definido como:
∑∑−
=
−
=
=1
0
1
000 ),(
M
x
N
yyxfm (4.2)
Esta formula también es conocida como la masa de la matriz f. de manera similar, el
momento de orden 1 de la imagen es definido como:
∑∑−
=
−
=
⋅=1
0
1
010 ),(
M
x
N
yyxfxm (4.3)
∑∑−
=
−
=
⋅=1
0
1
001 ),(
M
x
N
yyxfym (4.4)
Los dos momentos de primer orden, m10 y m01 [Ref. 2], son utilizados para localizar
el centro de masa de la matriz f. El centroide de la imagen puede ser calculado con:
00
010
00
100 ;
mmy
mmx == (4.5)
El centroide obtenido es utilizado en el proceso de inserción y en el proceso de
extracción. Teniendo en cuenta que las coordenadas del centroide de la función f(x, y)
son x0 y y0, se pueden definir los momentos centrales:
( ) ( ) ),(1
0
1
000 yxfyyxx
M
x
N
y
qppq ⋅−⋅−= ∑∑
−
=
−
=
µ (4.6)
51
Los momentos centrales de tercer orden, µ12, µ21, µ30 y µ03 se utilizan para determinar
la relación (ángulo) que existe entre una imagen rotada f(x’, y’) con la imagen original
f(x, y) [Ref. 1], estos momentos son calculados con:
( ) ( ) ( )yxfyyxxM
x
N
yo ,
1
0
1
0
21012 ⋅−⋅−= ∑∑
−
=
−
=
µ (4.7)
( ) ( ) ( )yxfyyxxM
x
N
y
,1
0
1
0
10
2021 ⋅−⋅−= ∑∑
−
=
−
=
µ (4.8)
( ) ( )yxfxxM
x
N
y,
1
0
1
0
3030 ⋅−= ∑∑
−
=
−
=
µ (4.9)
( ) ( )yxfyyM
x
N
y,
1
0
1
0
3003 ⋅−= ∑∑
−
=
−
=
µ (4.10)
En otras palabras, con una imagen rotada en cualquier dirección, el ángulo de
rotación θ de la imagen es obtenido utilizando:
⎟⎟⎠
⎞⎜⎜⎝
⎛++
−=0321
3012arctanµµµµ
θ (4.11)
Con la ecuación 4.11 obtenemos θn, el cual será empleado en el proceso de extracción
de la marca. En la sección 4.2.4 se explica la utilización de la ecuación (4.11) en el
proceso de extracción en la marca insertada en la imagen ante posibles ataques
geométricos.
Para determinar si la imagen ha sido reflejada horizontal o verticalmente, se calculan
los momentos geométricos de primer orden µ10 para reflexiones horizontales y µ01
para reflexiones verticales, de estos valores, se obtiene el signo.
52
4.2.3 Selección de regiones no homogéneas
Para seleccionar aquellas posiciones en las cuales la información de la marca será
insertada, se sigue el siguiente proceso:
• Se recorre la imagen mediante una espiral a partir del centroide calculado en
la sección anterior (ecuación 4.5).
Figura 4.3 Recorrido realizado en la imagen, indicando la posición de los posibles píxeles en
donde se ocultará la información
• Para determinar si una posición es “apropiada” para ocultar información, se
calcula la homogeneidad mediante la varianza (σ2) de sus vecinos, utilizando
una ventana de tamaño kxk. La Figura 4.4 muestra un ejemplo de una ventana
de tamaño 3x3.
( )( )∑∑−
=
−
=
−=1
0
1
0
22 ,1 k
x
k
yyxf
MNµσ (4.12)
Donde:
( )∑∑−
=
−
=
=1
0
1
0,1 k
x
k
yyxf
MNµ (4.13)
53
• Para determinar si es posible insertar un bit de información en la posición
seleccionada, se verifica la siguiente condición: si σ2 > Th entonces el píxel es
seleccionado para insertar información en esa posición, Th es un umbral de
homogeneidad, el cual es ingresado por el usuario.
σ2 = 0.0330 vía 4.12 Th = 0.03 Lmean = 73.6
Lreal = Lmean – δ2 4.15 Lreal = 50 σ2 = 0.0309
Figura 4.4 Modificación de pixeles en el proceso de inserción
4.2.4 Inserción/Extracción de la información
Proceso de Inserción
Mediante la ecuación (4.11) obtenemos el ángulo de la imagen original θn, el cual es
necesario en el proceso de extracción de la imagen, este valor es parte de la llave que
permitirá recuperar la información oculta.
Posteriormente, el proceso de inserción utiliza las posiciones obtenidas en la sección
anterior y realiza el siguiente procedimiento:
• Obtiene un bloque de tamaño kxk con centro en la posición del píxel
seleccionado (Figura 4.4).
• Si el bit a insertar es “1”, se modifica el valor de la luminancia del píxel
central, cumpliendo la siguiente condición:
1δ+≥ meanreal LL (4.14)
54
• Si el bit a insertar es “0”, se modifica el valor de la luminancia del píxel
central, cumpliendo la siguiente condición:
2δ−< meanreal LL (4.15)
Donde δ1 y δ2 son calculados con base en la homogeneidad y la luminancia del
bloque de tamaño kxk, Lreal es el nivel de gris del píxel central y Lmean es el nivel de
gris medio del bloque.
Proceso de Extracción Antes de extraer la información, la imagen es procesada para corregir las posibles
rotaciones realizadas en la imagen marcada, el proceso se lista a continuación.
1. Se obtiene θd mediante la ecuación 4.11, verificando que el valor de θd
cumpla la siguiente condición:
⎩⎨⎧
+=<+
=>+=
πθθµµ
θθµµθ
12103
2103
0
0
d
dd entonces
entonces (4.16)
2. Para corregir la distorsión, la imagen es rotada θc grados en sentido contrario
a la rotación inicial, donde θc es calculado con:
ndc θθθ −= (4.17)
La figura 4.5 muestra un ejemplo de la corrección de rotación en una imagen.
a) b) Figura 4.5 a) Imagen marcada (rotada 66º), b) imagen con rotación corregida
55
Para determinar si la imagen ha sido reflejada horizontal o verticalmente, es necesario
comparar el cambio de signo de los momentos geométricos de primer orden µ10 y µ01
de la imagen marcada y atacada. La figura 4.6 muestra un ejemplo de la corrección de
una imagen reflejada horizontal y/o verticalmente.
a)
b)
c) d) Figura 4.6 a), b) y c) Posibles reflexiones en la imagen, d) imagen con reflexión
corregida
Después de corregir las posibles rotaciones o reflexiones en la imagen marcada y atacada, se realiza el siguiente proceso para extraer la marca.
• Localizar los píxeles que fueron modificados en la sección 4.2.3. • Para cada posición obtenida en el paso anterior, se utiliza un umbral de
decisión para extraer la marca, la información es extraída cumpliendo las siguientes condiciones:
o Se extrae un bit “1” si:
meanreal LL ≥ (4.18)
o Se extrae un bit “0” si:
meanreal LL < (4.19)
En este proceso los valores de δ1 y δ2 no son requeridos para la extracción de la
marca.
56
Conclusiones
En este capitulo se presentó un esquema de marcas de agua en cual es aplicado a
imágenes medicas de carácter radiológico. El esquema presentado utilizada la
homogeneidad y la luminancia de la imagen para realizar el proceso de inserción de
la marca (generada con la información extraída de archivos DICOM).
El esquema propuesto es robusto ante manipulaciones comunes en el ámbito médico,
como rotaciones, reflexiones, mediante la utilización de características invariantes de
la imagen, así como a cambios de contraste, cambios de brillo, etc. es importante
mencionar que estas modificaciones son menores, ya que las imágenes no deben
sufrir modificaciones que afecten la calidad de la misma.
Una de las ventajas importantes del esquema propuesto es que solamente se requiere
de la imagen marcada o la imagen marcada y atacada para recuperar la información
insertada, no se requiere de ninguna otra información adicional, esto es un factor
importante, ya que muchos de los esquemas que son “ciegos”, necesitan información
extra para poder recuperar la información oculta.
El algoritmo propuesto utiliza un recorrido de la imagen en forma de espiral, ya que
el centroide, que es el origen de este recorrido, se encuentra cercano al centro de la
imagen; muchas de las imágenes médicas concentran sus regiones de interés en el
centro de la imagen, debido a esta razón, el recorrido de la imagen parte del centroide
y recorre la imagen buscando regiones con textura que permitan ocultar información
de manera que la degradación en la imagen final sea mínima e imperceptible.
57
Capítulo 5
Experimentación y Análisis de los Resultados
En este capitulo, se presentan los experimentos realizados utilizando el algoritmo de
marcas de agua descrito en el capitulo previo. En cada apartado de muestran y se
discuten los resultados obtenidos y aplicando el algoritmo de marcas de agua en
imágenes médicas de carácter radiológico extraídas de archivos DICOM3.
5.1 Banco de pruebas
El algoritmo fue aplicado en imágenes médicas de carácter radiológico, dichas
imágenes fueron extraídas de archivos DICOM. Las imágenes utilizadas en los
experimentos tienes las siguientes características: imágenes en escala de grises,
512x512 pixeles y 8 bits de profundidad por pixel (256 niveles de gris). La tabla 5.1
muestra algunas imágenes utilizadas en los experimentos. La tabla 5.2 muestra las
características de las imágenes utilizadas en los experimentos; la cantidad de
información a ocultar así como la degradación producida en las imágenes depende de
las siguientes características (Cantidad de contornos, zonas homogéneas y texturas en
la imagen es decir regiones con gran variación en los niveles de gris). La tabla 5.3
3 DICOM (Digital Imaging and Communications in Medicine) es un estándar que facilita la interoperabilidad de imágenes médicas.
58
muestra un ejemplo de marca de agua utilizado en los experimentos, la información
corresponde a datos extraídos del archivo DICOM, así como un pequeño diagnostico.
La obtención de las imágenes se realizó mediante el toolbox de procesamiento de
imágenes de Matlab4, el cual nos permite acceder a las imágenes y los metadatos de
archivos en formato DICOM.
Brain
Chest
Shoulder
Knee Tabla 5.1 Imágenes utilizadas en los experimentos
Imagen Contornos Zonas Homogéneas Texturas
Brain Alto Medio Medio
Chest Alto Medio Bajo
Shoulder Medio Alto Bajo
Knee Medio Medio Alto
Baboon Medio Bajo Alto
Tabla 5.2 Características de las imágenes utilizadas en los experimentos
2002-05-08
REYNA VALDEZ PEREZ
62
DR. LUIS TEODORO GARCIA
TAC ABDOMEN COMPLETO
-CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO
4 MatLab es un lenguaje de programación matemático de Mathworks que permite procesar imágenes digitales.
59
-HIGADO, BAZO, PANCREAS, GRANDES VASOS, AL IGUAL QUE RIÑON DERECHO SIN ALTERACION
-RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL
-VESICULA Y VIA BILIAR SIN PATOLOGIA
-UTERO CON CALCIFICAIONES EN SUS PAREDES EN RELACION PROBABLE CON MIOMAS Y ENDOMETRIO
ENGROSADO
-NO SE APRECIA ADENOPATIAS INGUINALES
-CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR
-RESTO SIN ALTERACIONES. SUGERIMOS CORRELACION CLINICA
Tabla 5.3 Ejemplo de información utilizada como marca de agua
5.2 Evaluación de resultados
Para la evaluación de los resultados se aplicaron métricas que permiten evaluar la
calidad de una imagen que ha sido modificada con respecto a su estado original
(PSNR, MSE), de esta manera es posible cuantificar la distorsión generada después
de aplicar el algoritmo a una imagen. Para obtener la similaridad entre la marca
insertada con la marca recuperada se utilizo la métrica NCC.
MSE (Mean Square Error)
( )∑∑−
=
−
=
−=1
0
1
0
2),('),(1 M
x
N
yyxfyxf
NMMSE
(5.1)
Donde M y N son las dimensiones de la imagen, f(x, y) y f’(x, y) representan la
imagen original y la imagen marcada respectivamente. Esta métrica nos permite
conocer la cantidad de degradación que fue introducida en la imagen marcada,
valores cercanos a cero indican menor degradación.
PSNR (Peak Signal-to-Noise-Ratio)
dBMSE
PSNR2
10255log10×=
(5.2)
NCC (Normalized Cross-Correlation)
60
∑∑
∑∑−
=
−
=
−
=
−
=
⋅= 1
0
1
0
2
1
0
1
0
),(
),('),(
R
x
C
y
R
x
C
y
yxW
yxWyxWNCC
(5.3)
Donde R y C son las dimensiones de la marca insertada, W(x, y) y W’(x, y)
representan la marca original y la marca extraída respectivamente. Los valores
obtenidos al aplicar esta métrica se encuentran en el rango de 0 a 1, siendo 0 marcas o
imágenes completamente diferentes y 1 completamente similares.
5.3 Experimentos
Esta sección muestra algunos experimentos realizados en las imágenes médicas, a
continuación se presentan pruebas realizadas variando el valor de los parámetros del
algoritmo. A continuación se presentan algunos ejemplos de imágenes marcadas e
imágenes marcadas-atacadas, mostrando los parámetros utilizado en el algoritmo y
los valores obtenidos en términos de degradación y extracción de la marca insertada.
Prueba 1. Imagen “Brain”
Tamaño del bloque Umbral Th Desplazamiento Información (bits)
3x3 0.001 3 (sin traslape) 2344
PSNR MSE NCC
Método 1 33.82 26.93 1.0000
Método 2 45.20 19.60 0.9918
Tabla 5.4 Parámetros y resultados del algoritmo en “Prueba 1”
61
Imagen Marcada 1
Posiciones
Atacada (brillo)
Imagen Marcada 2
Posiciones
Atacada (brillo)
Figura 5.1 Imágenes obtenidas en “Prueba 1”
******************************************************************************** Iniciando programa de marcas de agua en imágenes médicas ******************************************************************************** Umbral para homogeneidad normalizada = 0.001 Desplazamiento = 3 Tamaño de ventana = 3 ******************** METODO 1 ******************** Inserción --> Pixeles modificados : 2344, [ 293 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 3.382708e+001 MSE = 2.693844e+001 --------------- Marca de Agua original --------------- 2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR ---------- Marca de Agua extraída (Atacada) ---------- 2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN
62
-CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR Porcentaje recuperado NCC = 1.000000 ******************** METODO 2 ******************** Inserción --> Pixeles modificados : 2344, [ 293 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 4.520637e+001 MSE = 1.960844e+000 --------------- Marca de Agua original --------------- 2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR ---------- Marca de Agua extraída (Atacada) ---------- 2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODOROàGARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO K, POR CVECIMIENTO VENTRICULAR IZQUIEVDO -RIÑON IZQUIEZDO CON PEQUEÑO QUISTE EN PARED LATERAL -vESÉCULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ATENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR Porcentaje recuperado NCC = 0.991803 ******************************************************************************** Finalizando programa de marcas de agua en imágenes médicas ********************************************************************************
Tabla 5.5 Ejecución en Matlab de “Prueba 1”
Prueba 2. Imagen “Chest”
Tamaño del bloque Umbral Th Desplazamiento Información (bits)
3x3 0.001 3 (sin traslape) 2344
PSNR (dB) MSE NCC
Método 1 23.64 281.09 1.0000
Método 2 46.67 1.39 0.9554
Tabla 5.6 Parámetros y resultados del algoritmo en “Prueba 2”
63
Imagen Marcada 1
Posiciones
Atacada (brillo)
Imagen Marcada 2
Posiciones
Atacada (brillo)
Figura 5.2 Imágenes obtenidas en “Prueba 2”
******************************************************************************** Iniciando programa de marcas de agua en imágenes médicas ******************************************************************************** Umbral para homogeneidad normalizada = 0.001 Desplazamiento = 3 Tamaño de ventana = 3 ******************** METODO 1 ******************** Inserción --> Pixeles modificados : 2344, [ 293 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 2.364222e+001 MSE = 2.810986e+002 --------------- Marca de Agua original --------------- 2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR ---------- Marca de Agua extraída (Atacada) ---------- 2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN
64
-CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR Porcentaje recuperado NCC = 1.000000 ******************** METODO 2 ******************** Inserción --> Pixeles modificados : 2344, [ 293 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 4.667357e+001 MSE = 1.398697e+000 --------------- Marca de Agua original --------------- 2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR ---------- Marca de Agua extraída (Atacada) ---------- 2002-05%0� REYNA VAL�E� PERAZ 62 DB. HUIS TEODORO GAR@IA TAC ABDOM�N -C@R@IOMEGAIA GRADO I, POR BRECHMIENDO VENPRICUAR IZQUIARDO -RIÑON IZQUI@RDO CMN PEQ�EÑO PUISTE EN PARED LAPE�AL -V�PICULA Y �IA`BILHAR SIL PATO_GIA ,JO SE APRECIA ADENOPATIAS INGEINALES -�AMBIOR DEGENERATIVOS �E LA BNHUMNA DU B@R Porcentaje recuperado NCC = 0.955428 ******************************************************************************** Finalizando programa de marcas de agua en imágenes médicas ********************************************************************************
Tabla 5.7 Ejecución en Matlab de “Prueba 2”
Prueba 3. Imagen “Baboon”
Tamaño del bloque Umbral Th Desplazamiento Información (bits)
3x3 0.003 2 (con traslape) 8104
PSNR (dB) MSE NCC
Método 1 21.94 415.50 1.0000
Método 2 36.00 16.32 0.9627
Tabla 5.8 Parámetros y resultados del algoritmo en “Prueba 3”
65
Imagen Marcada 1
Posiciones
Atacada (brillo)
Imagen Marcada 2
Posiciones
Atacada (brillo)
Figura 5.3 Imágenes obtenidas en “Prueba 3”
******************************************************************************** Iniciando programa de marcas de agua en imágenes médicas ******************************************************************************** Umbral para homogeneidad normalizada = 0.003 Desplazamiento = 2 Tamaño de ventana = 3 ******************** METODO 1 ******************** Inserción --> Pixeles modificados : 8104, [ 1013 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 2.194504e+001 MSE = 4.155050e+002 --------------- Marca de Agua original --------------- FECHA : 08 DE MAYO DEL 2002. NOMBRE : REYNA VALDEZ PEREZ. EDAD : 62 AÑOS. REFIERE : DR. LUIS TEODORO GARCIA. TAC ABDOMEN COMPLETO SE REALIZARON CORTES DE TOMOGRAFIA AXIAL COMPUTADA DESDE EL LA BASE DIAFRAGMATICA HASTA HUECO PELVICO. PREVIA INGESTION DE MEDIO DE CONTRASTE IODADO LIQUIDO, Y CONTRASTE ENDOVENOSO SE OBSERVO LO SIGUIENTE. 1.- CARDIOMEGALIA GRADO I, SIN ALTERACION EN BASES PULMONARES, NI ENGROSAMIENTO PLEURAL O DERRAME. 2.- CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO. 3.- HIGADO, BAZO, PANCREAS, GRANDES VASOS, AL IGUAL QUE RIÑON DERECHO SIN ALTERACION. 4.- RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL. 5.- VESICULA Y VIA BILIAR SIN PATOLOGIA.
66
6.- UTERO CON CALCIFICAIONES EN SUS PAREDES EN RELACION PROBABLE CON MIOMAS Y ENDOMETRIO ENGROSADO. 7.- NO SE APRECIA ADENOPATIAS INGUINALES. 8.- CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR. 9.- RESTO SIN ALTERACIONES. SUGERIMOS CORRELACION CLINICA. ---------- Marca de Agua extraída (Atacada) ---------- FECHA : 08 DE MAYO DEL 2002. NOMBRE : REYNA VALDEZ PEREZ. EDAD : 62 AÑOS. REFIERE : DR. LUIS TEODORO GARCIA. TAC ABDOMEN COMPLETO SE REALIZARON CORTES DE TOMOGRAFIA AXIAL COMPUTADA DESDE EL LA BASE DIAFRAGMATICA HASTA HUECO PELVICO. PREVIA INGESTION DE MEDIO DE CONTRASTE IODADO LIQUIDO, Y CONTRASTE ENDOVENOSO SE OBSERVO LO SIGUIENTE. 1.- CARDIOMEGALIA GRADO I, SIN ALTERACION EN BASES PULMONARES, NI ENGROSAMIENTO PLEURAL O DERRAME. 2.- CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO. 3.- HIGADO, BAZO, PANCREAS, GRANDES VASOS, AL IGUAL QUE RIÑON DERECHO SIN ALTERACION. 4.- RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL. 5.- VESICULA Y VIA BILIAR SIN PATOLOGIA. 6.- UTERO CON CALCIFICAIONES EN SUS PAREDES EN RELACION PROBABLE CON MIOMAS Y ENDOMETRIO ENGROSADO. 7.- NO SE APRECIA ADENOPATIAS INGUINALES. 8.- CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR. 9.- RESTO SIN ALTERACIONES. SUGERIMOS CORRELACION CLINICA. Porcentaje recuperado NCC = 1.000000 ******************** METODO 2 ******************** Inserción --> Pixeles modificados : 8104, [ 1013 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 3.600343e+001 MSE = 1.632066e+001 --------------- Marca de Agua original --------------- FECHA : 08 DE MAYO DEL 2002. NOMBRE : REYNA VALDEZ PEREZ. EDAD : 62 AÑOS. REFIERE : DR. LUIS TEODORO GARCIA. TAC ABDOMEN COMPLETO SE REALIZARON CORTES DE TOMOGRAFIA AXIAL COMPUTADA DESDE EL LA BASE DIAFRAGMATICA HASTA HUECO PELVICO. PREVIA INGESTION DE MEDIO DE CONTRASTE IODADO LIQUIDO, Y CONTRASTE ENDOVENOSO SE OBSERVO LO SIGUIENTE. 1.- CARDIOMEGALIA GRADO I, SIN ALTERACION EN BASES PULMONARES, NI ENGROSAMIENTO PLEURAL O DERRAME. 2.- CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO. 3.- HIGADO, BAZO, PANCREAS, GRANDES VASOS, AL IGUAL QUE RIÑON DERECHO SIN ALTERACION. 4.- RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL. 5.- VESICULA Y VIA BILIAR SIN PATOLOGIA. 6.- UTERO CON CALCIFICAIONES EN SUS PAREDES EN RELACION PROBABLE CON MIOMAS Y ENDOMETRIO ENGROSADO. 7.- NO SE APRECIA ADENOPATIAS INGUINALES. 8.- CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR. 9.- RESTO SIN ALTERACIONES. SUGERIMOS CORRELACION CLINICA. ---------- Marca de Agua extraída (Atacada) ---------- FECHA : 08 DE MAYO DEL 2002. NOMBRE : REYNA VALDEZ PEREZ. EDAD : 62 AÑOS. REFIERE : DR. LUIS TEODORO GARCIA. " $0 TAC ABDOMEN COMPLETO ` SE REALKZARON CORTES(DE TOMOGRAFIA AxIAL COmRUTADA DGSDE EL NA$BASE DIANÓAGMATIGa HASTA HUEKO PELViÃO. PREVIA INGESTION DE MetKO DE CONTRASTE IODADO!NMqUMeO, Y CONTRASTE ENDOVENOSO
67
×e"ORSERVO°LO SIGUKENTE> 1®-1OIRDIOMEgALIA GRALO Il SIN AL\ERACION"ENàBASES PULMONARES, NI ENOZOSAMIENTO ÐLEURÁL O DERRAME. 2./`CARDKoMEGALIA GRADO I. P_R0CRECIMIENtO öENURICULAV IZQUIERDO. 3.- HIGADo,`FAZO, ÐÁncREAS,`GRANLES0VASOS,!aL IGUAL QÕE RIÓÏN DERECH� SIN ALÔERACION.` 4.-0rIÑON IZQUIERDO COÎ PEQUEÑO QUISTE EN PARED laTEÒALn 5.m VESICU\A Y VÉA BÉLIQR SIN PATOLOGIA. 6.- UTeRO CON CáL[IFICAIONES EN SUS pAREDE[ eN ReLASION(\ROBACLE CON MIOMAS ] ENDOMETRIO ENWrOSaDO. 7.- No SE APRECIA ADENOPATIAS INGUINALESn! 8.- CAMBIOS TUGUNERA\IVOS DE LA COLUMNA LUMBAR. 9®m RESTO SIN ALÔErACIONEW. SUGERIMOS SORRELACION CLINiãAn Porcentaje recuperado NCC = 0.962735 ******************************************************************************** Finalizando programa de marcas de agua en imágenes médicas ********************************************************************************
Tabla 5.9 Ejecución en Matlab de “Prueba 3”
5.4 Resultados
En esta sección se presentan los resultados obtenidos en los diferentes experimentos
efectuado en las imágenes médicas. La figura 5.x muestra un ejemplo de la
degradación producida en la imagen al aplicar el algoritmo de marca de agua. En la
figura 5.x b) las modificaciones realizadas son perceptibles (contornos de la imagen),
lo que lleva a tener mas degradación en la imagen marcada, pero mayor robustez en
el proceso de extracción de la marca. La figura 5.x c) presenta menos degradación
que la figura 5.x b), pero la marca insertada es menos robusta, provocando que la
extracción de la marca no sea completa.
a) Imagen Original
b) Imagen Marcada 1
c) Imagen Marcada 2
Figura 5.4 Degradación producida en una imagen
68
Las siguientes graficas muestran la capacidad máxima de cada una de las imágenes
variando los parámetros de desplazamiento entre la ventana y el umbral de
homogeneidad (Th).
Figura 5.5 Capacidad máxima variando desplazamiento y umbral en imagen “Brain”
Figura 5.6 Capacidad máxima variando desplazamiento y umbral en imagen “Chest”
69
Figura 5.7 Capacidad máxima variando desplazamiento y umbral en imagen “Shoulder”
Figura 5.8 Capacidad máxima variando desplazamiento y umbral en imagen “Knee”
70
Como se observa el las graficas anteriores, que la capacidad de la imagen crece al
utilizar las ventanas de búsqueda de manera traslapadas. De igual forma el utilizar
valores mayores para el umbral, permite encontrar regiones con mucha textura, es
decir, los valores de la imagen varían mucho y por consecuencia la modificación es
imperceptible al sistema visual humano, en contraparte esta característica limita la
cantidad de información que puede ser insertada en la imagen.
Las siguientes graficas muestran la degradación producida en las imágenes, variando
la cantidad de bits a ocultar así como el valor asignado para δ1 y δ2. Los valores
asignados para δ1 y δ2 en PSNR1 (Método 1) son calculados utilizando valores
proporcionales a la luminancia media del bloque que se está procesando. Los valores
asignados para δ1 y δ2 en PSNR2 (Método 2) son calculados utilizando el valor de la
homogeneidad y luminancia del bloque que se está procesando.
Figura 5.9 Degradación contra Capacidad en imagen “Brain”
71
Figura 5.10 Degradación contra Capacidad en imagen “Chest”
Figura 5.11 Degradación contra Capacidad en imagen “Shoulder”
72
Figura 5.12 Degradación contra Capacidad en imagen “Knee”
Las siguientes tablas muestran la robustez de la marca en el proceso de extracción, variando
la cantidad de información a ocultar. La cantidad de información que es posible ocultar en las
imágenes depende de las características de las mismas, si la imagen cuenta con muchas zonas
homogéneas limita la cantidad de información a ocultar; si los valores de los niveles de gris
en los contornos tienen poca textura, impiden que la marca de agua insertada sea
imperceptible provocando una mayor degradación en la imagen.
Método 1 Método 2 Bits a
insertar PSNR (dB) NCC PSNR (dB) NCC
4300 39.27 1.0000 42.18 0.9962 4000 39.37 1.0000 42.30 0.9965 2500 41.78 1.0000 44.67 0.9960 1500 44.10 1.0000 47.09 0.9946 1000 46.01 1.0000 48.89 0.9900 Tabla 5.10 Degradación y Robustez de la marca en imagen “Brain”.
Con umbral 0.001, k=3 y sin traslape de ventana
73
Método 1 Método 2 Bits a
insertar PSNR (dB) NCC PSNR (dB) NCC
4300 39.52 1.0000 42.17 0.9888 4000 39.86 1.0000 42.64 0.9890 2500 42.15 1.0000 44.67 0.9849 1500 45.16 1.0000 47.49 0.9893 1000 47.46 1.0000 49.77 0.9960 Tabla 5.11 Degradación y Robustez de la marca en imagen “Brain”.
Con umbral 0.001, k=3 y con traslape de ventana
Método 1 Método 2 Bits a
insertar PSNR (dB) NCC PSNR (dB) NCC
4300 21.18 1.0000 34.11 0.8039 4000 22.40 1.0000 35.56 0.8381 2500 33.74 1.0000 46.36 0.9422 1500 34.53 1.0000 47.78 0.9516 1000 36.61 1.0000 49.72 0.9512 Tabla 5.12 Degradación y Robustez de la marca en imagen “Chest”.
Con umbral 0.001, k=3 y sin traslape de ventana
Método 1 Método 2 Bits a
insertar PSNR (dB) NCC PSNR (dB) NCC
4300 30.71 1.0000 43.32 0.9453 4000 30.75 1.0000 43.45 0.9484 2500 32.29 1.0000 45.11 0.9465 1500 35.69 1.0000 47.72 0.9512 1000 38.23 1.0000 50.09 0.9509 Tabla 5.13 Degradación y Robustez de la marca en imagen “Chest”.
Con umbral 0.001, k=3 y con traslape de ventana
Método 1 Método 2 Bits a
insertar PSNR (dB) NCC PSNR (dB) NCC
4300 45.22 1.0000 46.22 0.9995 4000 45.77 1.0000 46.62 0.9995 2500 48.15 1.0000 48.79 1.0000 1500 50.36 1.0000 51.40 0.9986 1000 52.54 1.0000 53.07 0.9980 Tabla 5.14 Degradación y Robustez de la marca en imagen “Knee”.
Con umbral 0.001, k=3 y sin traslape de ventana
74
Método 1 Método 2 Bits a
insertar PSNR (dB) NCC PSNR (dB) NCC
4300 45.87 1.0000 46.52 0.9990 4000 46.27 1.0000 46.89 1.0000 2500 48.01 1.0000 48.57 0.9992 1500 50.08 1.0000 50.83 0.9973 1000 51.59 1.0000 52.46 1.0000 Tabla 5.15 Degradación y Robustez de la marca en imagen “Knee”.
Con umbral 0.001, k=3 y con traslape de ventana
Método 1 Método 2 Bits a
insertar PSNR (dB) NCC PSNR (dB) NCC
2000 43.62 1.0000 48.54 1.0000 1500 45.44 1.0000 50.26 1.0000 1000 47.45 1.0000 52.13 1.0000 500 51.86 1.0000 56.19 1.0000 200 56.99 1.0000 61.09 1.0000
Tabla 5.16 Degradación y Robustez de la marca en imagen “Shoulder”. Con umbral 0.001, k=3 y sin traslape de ventana
Método 1 Método 2 Bits a
insertar PSNR (dB) NCC PSNR (dB) NCC
2000 44.72 1.0000 49.37 1.0000 1500 46.26 1.0000 50.75 1.0000 1000 49.36 1.0000 53.27 1.0000 500 52.86 1.0000 56.76 1.0000 200 57.85 1.0000 60.73 1.0000
Tabla 5.17 Degradación y Robustez de la marca en imagen “Shoulder”. Con umbral 0.001, k=3 y con traslape de ventana
5.5 Discusión de resultados
De los resultados obtenidos se puede concluir que se obtuvieron buenos resultados
con respecto a la cantidad de información recuperada en el proceso de extracción de
la marca, obteniendo porcentajes de recuperación por arriba del noventa por ciento,
sin embargo, es importante mencionar que la información medica utilizada como
marca en este trabajo es sensible a alteraciones en la misma.
75
Un claro ejemplo es el mostrado en la Tabla 5.4, por un lado, si queremos recuperar
completamente la información insertada, es necesario sacrificar la calidad de la
imagen final, por otro lado, si se desea que la calidad de la imagen no sea degradada o
alterada de tal forma que interfiera en una mala interpretación de la imagen, es
necesario sacrificar la información insertada. En la Tabla 5.5 se aprecian errores en la
información recuperada, que pueden afectar el diagnostico o la interpretación que fue
insertada originalmente, esta aspecto toma mayor importancia si los datos que se
manejan son numéricos.
Por otro lado, si la información que se desea ocultar es otra imagen, los resultados
obtenidos demuestran que es factible recuperar la marca e identificarla, aun cuando la
imagen marcada presente mucha degradación con respecto a la original.
76
77
Capítulo 6
Conclusiones y trabajo
futuro
6.1 Conclusiones
En este trabajo de investigación se implementó en software para marcas de agua
aplicado en imágenes médicas de carácter radiológico; este esquema combina
técnicas como compresión y cifrado de datos, así como técnicas de marcas de agua
para incrementar la seguridad en la información referente a pacientes y sus
diagnósticos.
Por un lado, la compresión de datos permite incrementar la capacidad de información
que se puede ocultar en las imágenes, satisfaciendo así el requerimiento de capacidad
de los esquemas de marca de agua; por otro lado, técnicas de cifrado de datos
permiten proteger información relevante de personas no autorizadas para conocer el
contenido. Aunado a esto, la seguridad se incrementa al utilizar esquemas de marcas
de agua permitiendo que la información insertada pase desapercibida.
Hasta el momento, no existe algún esquema o algoritmo que sea robusto ante todos
los ataques posibles que pueden ser aplicados a una imagen, cada uno de los
algoritmos es diseñado dependiendo la aplicación en la cual será utilizado; es por eso
78
que este campo de investigación está en constante desarrollo, ideando e
implementando métodos que sean robustos a mas ataques.
6.2 Trabajo futuro
Basando se en la experiencia obtenida durante el desarrollo de este trabajo, se
proponen lo siguiente:
La utilización de técnicas de corrección de errores que permitan recuperar la
información insertada de un amanera mas confiable, por un lado, la utilización de
estas técnicas permitirán recuperar mas información, pero limitando la capacidad de
datos a insertar, ya que estas técnicas agregan bits de redundancia para poder detectar
y corregir errores en la información recuperada.
Utilización de otras técnicas para realizar la inserción de la información en la imagen,
que permitan que la degradación causada sea mínima, permitiendo que la calidad de
la imagen no sea afectada por la información que será insertada.
79
Apéndice A
Implementación en Matlab
En esta sección se presenta el código en Matlab del esquema de marcas de agua para
imágenes médicas. Se muestra el código de cada una de las etapas explicado en el
capitulo cuatro de este trabajo.
En la siguiente Figura se presenta el programa principal para el esquema de marcas
de agua en imágenes médicas. En esta función, se establecen los parámetros para el
recorrido de las imágenes, así como para la inserción de la información. clear all;
close all;
% Imagen Original
IMG = imread('F:\00 Articulo MCIS 2006\Shoulder.jpg');
% Se obtiene el tamaño de la imagen.
N = size(IMG,1);
% Se convierten las matrices a double.
IMG = double(IMG);
%-------------------------------------------------------------------------------
% SE GENERA UNA MARCA DE AGUA ALEATORIA.
%-------------------------------------------------------------------------------
Marca = lee_marca_agua('Diagnostico_2.txt'); % 1013 bytes de información.
ani = size(Marca,1);
sec = size(Marca,2);
% Se inicializa la matriz que contendrá la marca recuperada
Marca2 = zeros(ani,sec)-2;
% Obtenemos la cantidad de bits a ocultar
t_bits = anillos * sectores;
% Se centra la imagen con respecto al centroide
[IMG,mx11,my11] = Centrar(IMG,N,N,5);
80
%-------------------------------------------------------------------------------
% INICIALIZACION DE PARAMETROS
%-------------------------------------------------------------------------------
rec = 3;
t_v = 3;
umb = 0.003;
fprintf(1,'\nUmbral para homogeneidad normalizada = %d',umb);
fprintf(1,'\nDesplazamiento = %d',rec);
fprintf(1,'\nTamaño de ventana = %d',t_v);
%-------------------------------------------------------------------------------
% SE INSERTA LA MARCA EN LA IMAGEN.
%-------------------------------------------------------------------------------
[mx1,my1] = ait_centroid(IMG);
[IMG_F,Marca] = Espiral_cuadrada(IMG,Marca,mx1,my1,rec,t_v,umb,N,sec,1,t_bits);
degra = PSNR(IMG,IMG_F,N,N);
fprintf(1,'PSNR = %d\n',degra);
error = MSE(IMG,IMG_F,N,N);
fprintf(1,'MSE = %d\n',error);
muestra_marca(Marca,sec,ani);
%-------------------------------------------------------------------------------
% Se calcula en angulo de la imagen para eliminar posibles rotaciones
% angulo_1 = Calcula_Angulo_Imagen(IMG_F,N);
% Se calculan el signo de los momentos centrales de primer orden para eliminar
% posibles reflexiones en la imagen.
% [or_x,or_y] = Calcula_signo(IMG_F,N);
%-------------------------------------------------------------------------------
% A T A Q U E S
%-------------------------------------------------------------------------------
% Reflejar la imagen.
%IMG_F = fliplr(IMG_F);
%IMG_F = flipud(IMG_F);
%IMG_F = Elimina_flip(IMG_F,N,or_x,or_y);
%-------------------------------------------------------------------------------
% SE EXTRAE LA MARCA DE LA IMAGEN MARCADA
%-------------------------------------------------------------------------------
% Se elimina la posible rotacion en la imagen marcada.
%IMG_F = Eliminar_rotacion_imagen(IMG_F,N,angulo_1);
% Se eliminan las posibles reflexiones en la imagen marcada.
%IMG_F = Elimina_flip(IMG_F,N,or_x,or_y);
[mx1,my1] = ait_centroid(IMG_F);
[IMG_F,Marca2] = Espiral_cuadrada(IMG_F,Marca2,mx1,my1,rec,t_v,umb,N,sec,2,t_bits);
resulta = corr2(Marca,Marca2);
fprintf(1,'\nPorcentaje recuperado = %f\n',resulta);
muestra_marca(Marca2,sectores,anillos); A.1 Programa principal
81
La siguiente figura, muestra el código para leer un archivo y generar la secuencia de
bits que será insertada en la imagen.
function [marca] = lee_marca_agua(arch)
marca = [];
fid=fopen(arch);
while 1
tline = fgetl(fid);
if ~ischar(tline), break, end
%disp(tline)
tam = length(tline);
for i = 1:tam
elem = tline(i);
marca = [marca,rellena(dec2bin(elem))];
end
end
fclose(fid);
function [cad] = rellena(nume)
cad = [];
h = length(nume);
if h<8
for j = 1:(8-h)
nume = ['0',nume];
end
end
for j = 1:8
if nume(j)=='1'
cad = [cad, 1];
end
if nume(j)=='0'
cad = [cad, 0];
end
end
A.2 Función que genera la marca a partir de un archivo
82
La siguiente figura muestra el código de la función que recorre la imagen y permite
insertar y extraer la marca de agua. function [pnts,mark] =
Espiral_Cuadrada(mtx,mark,cx,cy,vnt,vnt2,umbral,n,n2,modo,tot_bits)
pnts = double(mtx);
tot = 1;
px = round(cx);
py = round(cy);
lim = ((n-20)/vnt)+1;
for tam = 1:lim
desp = (tam * vnt);
valo = mod(tam,2);
% Marca las posiciones de los pixeles que forman la espiral
if (valo ~= 0)
[pnts,tot,mark] = Calcula_puntos(mtx,mark,pnts,tot,px,py,px+desp,py,
vnt,'R',umbral,vnt2,n,n2,modo,tot_bits);
px = px + desp;
[pnts,tot,mark] = Calcula_puntos(mtx,mark,pnts,tot,px,py,px,py+desp,
vnt,'D',umbral,vnt2,n,n2,modo,tot_bits);
py = py + desp;
end
if (valo == 0)
[pnts,tot,mark] = Calcula_puntos(mtx,mark,pnts,tot,px,py,px-desp,py,
vnt,'L',umbral,vnt2,n,n2,modo,tot_bits);
px = px - desp;
[pnts,tot,mark] = Calcula_puntos(mtx,mark,pnts,tot,px,py,px,py-desp,
vnt,'U',umbral,vnt2,n,n2,modo,tot_bits);
py = py - desp;
end
end
%-------------------------------------------------------------------------------
function [posi,cnts,Info] = Calcula_puntos(ima,Info,m_ps,cnt,x1,y1,x2,y2,
tam,dir,thr,dim,n_ima,n_info,modo,tot_bits)
if cnt <= tot_bits
if dir == 'R'
x1 = x1+tam;
for i = x1:tam:x2
if Ventana_Valida(i,y1,n_ima,dim)==1
B = double(Ventana(ima,i,y1,dim));
if modo==1
[m_ps,cnt,Info] = Modifica(ima,Info,m_ps,B,dim,i,y1,
cnt,thr,n_info,tot_bits);
end
83
if modo==2
[m_ps,cnt,Info] = Recupera(ima,Info,m_ps,B,dim,i,y1,
cnt,thr,n_info,tot_bits);
end
end
end
end
if dir == 'D'
y1 = y1+tam;
for i = y1:tam:y2
if Ventana_Valida(x1,i,n_ima,dim)==1
B = double(Ventana(ima,x1,i,dim));
if modo==1
[m_ps,cnt,Info] = Modifica(ima,Info,m_ps,B,dim,x1,i,
cnt,thr,n_info,tot_bits);
end
if modo==2
[m_ps,cnt,Info] = Recupera(ima,Info,m_ps,B,dim,x1,i,
cnt,thr,n_info,tot_bits);
end
end
end
end
if dir == 'L'
x1 = x1-tam;
for i = x1:-tam:x2
if Ventana_Valida(i,y1,n_ima,dim)==1
B = double(Ventana(ima,i,y1,dim));
if modo==1
[m_ps,cnt,Info] = Modifica(ima, Info,m_ps,B,dim,i,y1,
cnt,thr,n_info,tot_bits);
end
if modo==2
[m_ps,cnt,Info] = Recupera(ima,Info,m_ps,B,dim,i,y1,
cnt,thr,n_info,tot_bits);
end
end
end
end
if dir == 'U'
y1 = y1-tam;
for i = y1:-tam:y2
if Ventana_Valida(x1,i,n_ima,dim)==1
B = double(Ventana(ima,x1,i,dim));
if modo==1
84
[m_ps,cnt,Info] = Modifica(ima,Info,m_ps,B,dim,x1,i,
cnt,thr,n_info,tot_bits);
end
if modo==2
[m_ps,cnt,Info] = Recupera(ima,Info,m_ps,B,dim,x1,i,
cnt,thr,n_info,tot_bits);
end
end
end
end
end
posi = m_ps;
cnts = cnt;
function [valor] = Ventana_Valida(xx,yy,n_ima,dim)
vx1 = xx-dim;
vx2 = xx+dim;
vy1 = yy-dim;
vy2 = yy+dim;
valor = 0;
if (vx1>=0)&(vx2<n_ima)&(vy1>=0)&(vy2<n_ima)
valor = 1;
end A.3 Función que recorre la imagen
La siguiente figura muestra el código para insertar la información en la imagen,
eligiendo una zona con poca homogeneidad. function [posic,cuenta,Info] = Modifica(imag,Info,posic,Vent,dimension,xx,yy,
cuenta,thr1,tama_info,tot_bits)
xx = round(xx);
yy = round(yy);
Vent_Hom = Vent / 255;
Homogen = Homogeneidad(Vent_Hom,dimension,dimension);
modificado = 0;
if (Homogen > thr1)
[lumi,minn,maxx] = Luminancia(Vent,dimension);
rel = (minn/maxx);
[colum,fila] = Sig_Coordenada(cuenta,tama_info);
if cuenta <= tot_bits
mitad = round((dimension*dimension)/2);
v_bit = Info(fila,colum);
if (v_bit == 1)
valor = lumi+maxx;
85
Vent(mitad) = valor; cuenta = cuenta+1;
modificado = 1;
posic = Modifica_Ventana(posic,xx,yy,dimension,Vent);
elseif (v_bit == 0)
valor = lumi-minn;
Vent(mitad) = valor; cuenta = cuenta+1;
modificado = 1;
posic = Modifica_Ventana(posic,xx,yy,dimension,Vent);
end
end
end
if modificado == 1
Vent_Hom = Vent / 255;
Homogen = Homogeneidad(Vent_Hom,dimension,dimension);
if (Homogen <= thr1)
cuenta = cuenta-1; modificado = 0;
posic = Modifica_Ventana(posic,xx,yy,dimension,Vent);
end
end
A.4 Función para insertar la información
La siguiente figura muestra el código para recuperar la información en la imagen,
verificando el valor de la luminancia del píxel seleccionado. function [posic,cuenta,Info] = Recupera(imag,Info,posic,Vent,dimension,xx,yy,
cuenta,thr1,tama_info,tot_bits)
xx = round(xx);
yy = round(yy);
Vent_Hom = Vent / 255;
Homogen = Homogeneidad(Vent_Hom,dimension,dimension);
if (Homogen > thr1)
[lumi,minn,maxx] = Luminancia(Vent,dimension);
[colum,fila] = Sig_Coordenada(cuenta,tama_info);
if cuenta <= tot_bits
mitad = round((dimension*dimension)/2);
if Vent(mitad) >= lumi
Info(fila,colum) = 1; cuenta = cuenta+1;
elseif Vent(mitad) < lumi
Info(fila,colum) = 0; cuenta = cuenta+1;
end
end
end A.5 Función para recuperar la información
86
El código que se presentan en la siguiente figura es utilizado para calcular la
homogeneidad y la luminancia de una imagen. function [h] = Homogeneidad(mat,xx,yy)
mat = double(mat);
m = 0;
for y = 1:yy
for x = 1:xx
m = m + mat(y,x);
end
end
m = m / (yy*xx);
h = 0;
for y = 1:yy
for x = 1:xx
v = (mat(y,x)-m).^2;
h = h + v;
end
end
h = h / (yy*xx);
function [lumi,min1,max1] = Luminancia(vent,tv)
A = [];
for x = 1:tv
A = [A,vent(x,:)];
end
lumi = mean(A);
min1 = lumi * 0.05;
max1 = lumi * 0.10;
A.6 Calcula la homogeneidad y luminancia de una imagen
La siguiente figura muestra el código para obtener el angulo de una imagen, éste
valor es útil para eliminar una posible rotación en la imagen marcada. function [angulo_1] = Calcula_Angulo_Imagen(IMG_F,N);
[mx2,my2] = ait_centroid(IMG_F);
% se calculan los momentos centrales de tercer orden.
mc12 = momentos_centrales(IMG_F,1,2,mx2,my2,N,N);
mc21 = momentos_centrales(IMG_F,2,1,mx2,my2,N,N);
mc30 = momentos_centrales(IMG_F,3,0,mx2,my2,N,N);
mc03 = momentos_centrales(IMG_F,0,3,mx2,my2,N,N);
% se obtiene el angulo de la imagen.
angulo_1 = round(atan(-(mc12+mc30)/(mc21+mc03)) * (180/pi)); A.7 Calcula el angulo de una imagen
87
Para determinar si la imagen marcada ha sufrido alguna reflexión en alguno de los
ejes, se calcula el signo de los momentos centrales de primer orden. function [sx,sy] = Calcula_signo(IMG,N)
[mx2,my2] = ait_centroid(IMG);
mc10 = momentos_centrales(IMG,1,0,mx2,my2,N,N); % <-- eje de las y
mc01 = momentos_centrales(IMG,0,1,mx2,my2,N,N); % <-- eje de las x
sx = -1;
sy = -1;
if mc01 > 0
sx = 1;
end;
if mc10 > 0
sy = 1;
end; A.8 Código utilizado para corregir reflexiones en una imagen
Las siguientes figuras son utilizadas en el proceso de extracción de la marca, se
aplican como un pre-procesamiento para eliminar posibles distorsiones geométricas
como rotaciones (A.9) o reflexiones (A.10) en una imagen. function [A3R] = Eliminar_rotacion_imagen(A3,N,angulo_1)
NR = size(A3,1);
[mx2,my2] = ait_centroid(A3);
mc12 = momentos_centrales(A3,1,2,mx2,my2,NR,NR);
mc21 = momentos_centrales(A3,2,1,mx2,my2,NR,NR);
mc30 = momentos_centrales(A3,3,0,mx2,my2,NR,NR);
mc03 = momentos_centrales(A3,0,3,mx2,my2,NR,NR);
angulo_2 = atan(-(mc12+mc30)/(mc21+mc03));
if (mc03+mc21) < 0
angulo_2 = angulo_2 + pi;
end;
angulo_2 = round(angulo_2 * (180/pi));
angulo_r = round(angulo_1-angulo_2);
A3R = imrotate(A3,-angulo_r);
NSR1 = size(A3R,1);
NSR2 = size(A3R,2);
mx3 = round(NSR2 / 2)-(N/2);
my3 = round(NSR1 / 2)-(N/2);
A3R = imcrop(A3R,[mx3, my3, N-1, N-1]);
A.9 Función que elimina la rotación en una imagen
88
function [imgflip] = Elimina_flip(IMG,N,or_x,or_y);
[mx2,my2] = ait_centroid(IMG);
mc10 = momentos_centrales(IMG,1,0,mx2,my2,N,N); % <-- eje de las y
mc01 = momentos_centrales(IMG,0,1,mx2,my2,N,N); % <-- eje de las x
or_x = -1;
if mc01 > 0
or_x_ = 1;
end;
% Se elimina el flip en el eje x
if or_x ~= or_x_
IMG = flipud(IMG);
end;
[mx2,my2] = ait_centroid(IMG);
mc10 = momentos_centrales(IMG,1,0,mx2,my2,N,N); % <-- eje de las y
mc01 = momentos_centrales(IMG,0,1,mx2,my2,N,N); % <-- eje de las x
or_y_ = -1;
if mc10 > 0
or_y_ = 1;
end;
% Se elimina el flip en el eje y
if or_y ~= or_y_
IMG = fliplr(IMG);
end;
imgflip = IMG; A.10 Función que elimina una reflexión en una imagen
Finalmente se muestra el código de las métricas utilizadas para la evaluación de los
resultados del esquema propuesto. function [mse] = MSE(mat1,mat2,ppx,ppy)
suma = 0.0;
for xx = 1:ppx
for yy = 1:ppy
v1 = mat1(yy,xx)-mat2(yy,xx);
suma = suma + (v1*v1);
end
end
mse = suma/(ppx*ppy);
function [psnr] = PSNR(mat1,mat2,ppx,ppy)
mse1 = MSE(mat1,mat2,ppx,ppy);
nume = 255*255;
psnr = 10*log10(nume/mse1);
A.11 Métricas para evaluación de resultados
89
Bibliografía
[1]. Johnson, N.F., Jajodia, S., and Duric, Z., “Information hiding: Steganography
and watermarking attacks and countermeasures”, Kluwer academic
Publishers, 2000.
[2]. Katzenbeisser, S., Petitcolas, F.A.P., “Information hiding techniques for
steganography and digital watermarking”, Artech House Publishers, 2000.
[3]. Shoemaker, C., “Hidden bits: A survey of techniques for digital
watermarking”, Independent study, EER 290, spring 2002.
[4]. Salomon, D, “A Guide to Data Compression Methods”, New York, Springer-
Verlag, 2002.
[5]. Fowler, J. and Yagel, R. (1994) “Lossless Compression of Volume Data”,
Symposium on Volume Visualization, pp. 43-50, Oct. 1994.
[6]. Witten. I.H., Moffat, A. and Bell, T.C., “Managing Gigabytes: Compressing
and Indexing Documents and Images”, Second Edition, San Francisco, CA,
Academic Press, 1999.
[7]. Lucena López, M.J., “Criptografía y Seguridad en Ordenadores”, Libro
electrónico, Tercera edición, Mayo 2003. Disponible en
http://iie.fing.edu.uy/ense/asign/seguro/Criptografia.pdf
[8]. Ferguson, N., and Schneier, B., “Practical Cryptography”, Wiley, Indiana
90
[9]. Certicom Corp., “An Introduction to Information Security”, a Certicom
whitepaper, July 2000. Disponible en
www.certicom.com/research/wecc1.html.
[10]. Stallings, W., “Cryptography and Network Security”, Prentice Hall, NJ, 2003.
[11]. Schneier, B. “Applied Cryptography”, John Wiley & Sons, NY, 1996.
[12]. Diffie, W., and Hellman, M., “New directions in cryptography”, IEEE
Transactions on Information Theory, Vol IT-22, pp. 644-654, November 1976.
[13]. Rivest, R., Shamir, A., and Adleman, L., “A Method for Obtaining Digital
Signatures and Public Key Cryptosystems”, Communications of the ACM,
February 1978.
[14]. Jurisic, A., and Menezes, A., “Elliptic Curves in Cryptography”, Dr Dobb’s
Journal, pp. 26-35, July 2000.
[15]. Puech W. and Rodrigues J. M., “A new crypto-watermarking method for
medical images safe transfer”. In Proceedings of the 12th European Signal
Processing Conference, Vienna Austria, September 2004, p. 1481-1484.
[16]. Coatrieux G., et al., “Relevance of watermarking in medical imaging”, In
IEEE-embs Information Technology Applications in Biomedicine, Arlington,
USA, November 2000, p. 250-255.
[17]. Anderson R. J., Petitcolas F. A. P., “On the limits of Steganography”, Selected
Areas in Comm., Vol. 16, No. 4, 1998, p. 474-481.
[18]. Lin E. T., Podilchuk C. I., and Delp E. J., "Detection of Image Alterations
Using Semi-Fragile Watermarks". In Proceedings of the SPIE International
91
Conference on Security and Watermarking of Multimedia Contents II, Vol.
3971, San Jose, CA, January 23-28, 2000, p. 152-163.
[19]. Plaintz B., Maeder A., “Medical Image Watermarking: A Study on Image
Degradation”. In Proceedings of the Australian Pattern Recognition Society
(APRS) Workshop on Digital Image Computing (WDIC 2005), Brisbane,
Australia, February 2005.
[20]. Provos N., Honeyman P., “Hide and Seek: An Introduction to Steganography”.
IEEE Security and Privacy, vol. 01, no. 3, May 2003, p. 32-44.
[21]. D. Anand and U. C. Niranjan, “Watermarking Medical Images with Patient
Information” In proc. IEEE/EMBS Conference, Hong Kong, China, October
1998, pp. 703-706.
[22]. S. G. Miaou, C. H. Hsu, Y. S. Tsai and H. M. Chao, “A Secure Data Hiding
Technique with Heterogeneous Data-Combining Capability for Electronic
Patient Records”, In Proceedings of the World Congress on Medical Physics
and Biomedical Engineering, Session Electronic Healthcare Records. IEEE-
EMB, Ed. Chicago, USA, July 2000.
[23]. B. Macq and F. Deweyand, “Trusted Headers for Medical Images”, in DFG
VIII-DII Watermarking Workshop, Erlangen, Germany, October 1999.
[24]. Tung-Lam L., Thi-Hoang-Lan N.: “Digital Image Watermarking with
Geometric Distortion Corrections Using the Moment Image Theory”,
International Conference on Research,. Innovation & Vision for the Future
(RIVF), February (2004).
92
[25]. A Lossless P. Dong et al.: Digital Watermarking Robust to Geometric
Distortions. In IEEE Transactions on Image Processing, Vol. 4, No. 12,
December (2005).