Desarrollo de predictor de píxel adaptativo para mapas de bits

Anuncio
Desarrollo de predictor de píxel
adaptativo para mapas de bits
Development of adaptive pixel predictor for bitmaps
Javier Garduño Cimental
[email protected]
Resumen:
L
os mapas de bits, por naturaleza, consumen gran cantidad de espacio de almacenamiento. Si bien se
han desarrollado muy diversos y sofisticados métodos de compresión para los mismos, han quedado
relegados los métodos destinados a una compresión sin pérdida de información. El resultado de este
trabajo pretende paliar esta carencia.
Considerando que no es posible comprimir cualquier ráfaga de datos de un tamaño particular a
uno más pequeño, y que un mapa de bits puede ser cualquier arreglo arbitrario de valores, se analizan
algunos supuestos y principios asociados a las imágenes que pueden tener algún sentido para el observador, de manera que sea posible conseguir que dicho subconjunto, el de las imágenes con sentido, sea
el favorecido por algún algoritmo compresor.
El mecanismo ideado es un predictor de pixel, un algoritmo destinado a transformar los datos originales de un mapa de bits, sin que esto conlleve a una pérdida de información en los mismos. El resultado es un nuevo conjunto de datos con menor entropía que los datos originales, cualidad que favorece
su compresión.
Palabras clave:
Algoritmo, compresión, imagen, matemáticas,
predictor, mapa de bits, heurística, pixel.
Abstract:
Bitmaps, by nature, consume lots of storage
space. While many have developed very sophisticated compression methods for them, those
methods for lossless compression of information
have been left behind. The result of this paper aims
to fill this gap.
Whereas it is not possible to compress any
data burst of a particular size to a smaller, and that
a bitmap can be any arbitrary arrangement of values, we analyze some assumptions and principles
associated with the images that might make some
núm. 11, 2012, pp. 97-118
sense to the observer, so that it is possible to make
this subset, the images with meaning, favored by
any compressor algorithm.
The mechanism developed is a predictor of
pixel, an algorithm designed to transform the original data of a bitmap, without this leading to a
loss of information therein. The result is a new set
of data with less entropy than the original data, a
quality that enhances their compression.
Keywords:
Algorithm, compression, image, mathematics,
predictor, bitmap, heuristic, pixel.
97
Javier
GabinoGarduño
EduardoCimental
Castrejón García
Introducción
L
os mapas de bits consumen gran cantidad de espacio de almacenamiento. Por tal
motivo, es ideal la compresión de la información que constituye dicha imagen.
Si bien existen muchos métodos de compresión, la mayoría de ellos están
diseñados para realizar una reducción de tamaño con pérdida de información, quedando
relegados los métodos que realizan la misma tarea sin pérdida de la misma.
Normalmente, estos últimos incluyen un proceso encargado de transformar la información a fin de facilitar el alcance de mejores tasas de compresión. Sin embargo, dichos
procesos son en extremo simples.
Con la creación de este algoritmo se pretende llenar el nicho creado por las técnicas
usadas tradicionalmente. El objetivo es encontrar una forma de transformar un mapa de
bits (imagen) de forma que coadyuve a mejorar su compresión utilizando un algoritmo
tradicional de compresión entrópica (Huffman)1, o similar.
Entendiendo la compresión
La compresión de datos hace referencia a la habilidad de reducir la cantidad de bits utilizados en el almacenamiento de tales datos. Por tasa de compresión se hace referencia a la razón
que existe entre el tamaño original de los datos y el tamaño de la versión comprimida de
los mismos. Es decir:
Donde C es la tasa de compresión, D es el tamaño original de los datos, y d es el tamaño de los datos comprimidos. Mayores valores de C son mejores.
En la teoría de la información, la información es tratada como una magnitud. Es cuantificable, y para caracterizar la información de una secuencia de símbolos, que es la manera en
que se almacena los datos de un mapa de bits, se utiliza la entropía.
La entropía y la no inyectividad de la compresión son conceptos de suma importancia en
el desarrollo de este trabajo.
Entropía
Se refiere al grado de incertidumbre que existe en la aparición de símbolos en una
secuencia de símbolos.
1
98
Huffman, D.A., A method for the construction of minimum-redundancy codes. En Resonance, vol 11 núm 2, pp 91–99, 2006.
DESARROLLO
DE PREDICTOR
DE PÍXEL
ADAPTATIVO
LA RESPONSABILIDAD
PATRIMONIAL
DEL
ESTADO PARA MAPAS DE BITS
Definición formal de entropía2
La entropía medida en bits se define formalmente como:
Matemáticas e Ingeniería
Donde:
p(xi) es la probabilidad de que la variable discreta x se encuentre en el estado xi. El
conjunto de todos los xi representa los n símbolos posibles que puede contener una cadena
de símbolos.
No inyectividad de la compresión
Para todos los casos una secuencia de símbolos, como la que podría estar almacenando
una imagen, se codifica como una secuencia de bits. Dicha secuencia ordenada se puede
considerar un número de base 2. Teniendo esto en cuenta, podemos establecer la siguiente
propiedad general:
Sea M el conjunto de todos los números de base n que se pueden escribir con m dígitos.
Sea K el conjunto de todos los números de base n que pueden ser escritos con k dígitos.
Donde:
Para cada M existen exactamente m - 1 subconjuntos K. Llámese Tm al conjunto que
contiene a dichos conjuntos K, quedando definido como:
Al ser disjuntos los conjuntos Ki, el conjunto Tm posee una cardinalidad:
Shannon, Claude E., A Mathematical Theory of Comunication, en The Bell System Technical Journal, vol 27, pp 379–423, 623–653, Julio Octubre 1948.
2
99
Javier
GabinoGarduño
EduardoCimental
Castrejón García
La cardinalidad de Tm no es otra cosa que la suma de la cardinalidad de cada uno de los
subconjuntos Ki que lo constituyen.
Llamemos regla de compresión a la función C que, recibiendo como entrada un elemento
de M, dé como resultado un elemento de Tm, tal que para cada elemento de Tm generado por
C, exista uno y sólo un elemento de M que lo haya generado.
Por tal motivo, la función C no puede generar un elemento de Tm para todos y cada
uno de los elementos de M. De lo que se concluye que no todo elemento de M puede ser
asociado a un elemento de cualquier conjunto K de forma inyectiva. Además, nos muestra
una relación inversa entre la razón de compresión y la fracción de datos que se pueden
comprimir. En otras palabras, podemos decir lo siguiente:
Lema 1. No es posible que todos los datos de tamaño m se compriman a un tamaño
menor k, siempre que sea utilizada la misma regla de compresión.
Lema 2. A mayor tasa de compresión, menor la cantidad de conjuntos de datos que
pueden alcanzarla.
Obtención del predictor de pixel
En muchos casos, la información que posee un flujo de datos ha sido generada por un
proceso no aleatorio. Esto convierte a dicho flujo de datos en algo potencialmente predecible.
La predictibilidad de la información abre la posibilidad de reducir su entropía.
Con todo lo anterior presente, se pretende crear un predictor de pixel que cumpla las
siguientes funciones:
•
Explotar el orden y características intrínsecas que poseen las imágenes, con el fin de
predecir su comportamiento, generando en el proceso un nuevo flujo de datos con
menor entropía, facilitando así su compresión.
•
Servir como método de discriminación, alentando la compresión del subconjunto de
imágenes que tengan sentido para el observador, sobre las imágenes carentes de él.
Propósito del predictor de pixel
Su objetivo es transformar el conjunto de datos que constituyen un mapa de bits, de
forma que la aplicación de un método de compresión resulte en un conjunto de datos más
pequeño. La forma de conseguirlo es prediciendo el valor de los pixeles, almacenando solamente las diferencias que posea con respecto al valor real.
Se desea además que la compresión resultante sea “sin pérdida”. Para que todo ello
resulte posible deben cumplirse las siguientes condiciones:
100
DESARROLLO
DE PREDICTOR
DE PÍXEL
ADAPTATIVO
LA RESPONSABILIDAD
PATRIMONIAL
DEL
ESTADO PARA MAPAS DE BITS
Condición 1. El predictor debe realizar una transformación sin pérdida de información.
Condición 2. El predictor debe poseer inversa. Es decir, debe ser posible obtener los
datos de la imagen original a partir del nuevo flujo de datos generado por el predictor.
Supuestos
Imagen ideal
Una imagen ideal puede ser concebida como un campo escalar, donde el valor asociado
a cada punto es su brillo correspondiente. Es una función
donde su valor depende de
la posición (x, y) considerada. Se puede expresar como:
Matemáticas e Ingeniería
Al hablarse de imagen, se hará referencia a un gráfico constituido por un solo canal de
color. Para imágenes que contengan un número mayor de canales, como las imágenes en
color, se utilizará el término imagen multicanal.
Donde es un vector de coordenadas cartesianas (x, y) que representa cada punto de
la imagen ideal. Un mapa de bits puede ser concebido como un muestreo de la función Φ
donde cada muestra corresponde a un pixel.
Imágenes posibles e imágenes con sentido
Un mapa de bits puede ser cualquier arreglo de valores, pero no resulta interesante ni
necesario tener la capacidad de comprimir todas las imágenes posibles. No todas las imágenes
posibles tienen sentido para el observador. El propósito será, por tanto, encontrar un método
que permita discriminar entre ambos tipos de imágenes: las que tienen “sentido” de las que
no. De forma que el pequeño conjunto de imágenes con sentido sea el subconjunto de imágenes posibles que se compriman más.
La definición de imagen con sentido es vaga hasta ahora. La pregunta entonces es: ¿qué
significa exactamente imagen con sentido? Es necesario definir el concepto de manera formal.
Para definir a una imagen con sentido, necesitamos conocer las características que debe
tener una impresión visual, para que nuestro cerebro la interprete como información con
significado relevante. Siguiendo principios muy elementales de la psicología del Gestalt, se
nos dice que la percepción funciona a base de “recortes” en los cuales se posa la atención
y llamamos “figuras”. Las zonas que circundan a los “recortes” o “figuras” son llamadas
“fondo”. A esto se le conoce como Ley de figura-fondo3. Para que nuestro cerebro tome
alguna sección de la imagen como figura es necesario que cumpla ciertas características, por
3
Köhler, Wolfgang, Psicología de la configuración, Ediciones Morata, 1967.
101
Javier
GabinoGarduño
EduardoCimental
Castrejón García
ejemplo, que dicha sección posea un color similar, o que tenga un fuerte contraste con los
elementos que se encuentran a su alrededor, o bien, poseer alguna clase de patrón que no
posee el resto de la imagen.
En este caso particular, se aprovecharán estos principios como punto de partida para
definir las características que cumple una imagen con sentido.
Se puede decir lo siguiente:
Definición 1. Una imagen con sentido está conformada por grandes áreas de valor
(color) similar.
Aquí se intenta hacer cumplir la Ley de figura-fondo, y en particular, uno de los rasgos
característicos que hacen a la mente humana separar una figura de su fondo circundante: el
contraste entre ellos. Asumimos que grandes áreas de color similar serán entendidas como
la misma figura. Y que toda imagen con sentido está constituida de figuras.
Hasta aquí, el término grandes áreas es ambiguo. Pero veremos que no es necesario
definirlo explícitamente. Los pixeles, como expresiones del componente más pequeño e
indivisible de un mapa de bits, son por naturaleza de poco tamaño. Su fin no es representar
ni ser percibidos individualmente como una estructura en el gráfico que conforman. Son,
de hecho, el detalle más insignificante que una imagen puede contener.
En vista de lo anterior, podemos decir que:
Definición 2. Un área grande consiste en un conjunto arbitrario de pixeles adyacentes
entre sí.
Siguiendo lo anterior, podemos deducir que dentro de un área grande, se cumple que:
Definición 3. El valor de un pixel tiende a ser igual al valor de un pixel adyacente.
De no ser el caso no se podría cumplir la definición 1, puesto que no se formarían
grandes áreas de valor (color) similar.
Grandes áreas de color no implican, necesariamente, que todos los pixeles que las conforman posean exactamente el mismo valor. Formulemos aquí, un supuesto un tanto aventurado,
y fruto del sentido común:
Definición 4. Para áreas grandes del mismo color, los valores de los pixeles intermedios
a otros dos colocados en posiciones arbitrarias, tienden a contener los valores intermedios a los
de dichos pixeles arbitrarios.
Si los pixeles intermedios a otros dos no poseen sus valores también intermedios,
se fomentarán diferencias más grandes entre pixeles adyacentes en el trayecto que va de
un pixel arbitrario a otro. Lo cual, basándonos en la definición 3 es una situación más
improbable, y por tanto, tendrá menor frecuencia de aparición. El comportamiento que
102
DESARROLLO
DE PREDICTOR
DE PÍXEL
ADAPTATIVO
LA RESPONSABILIDAD
PATRIMONIAL
DEL
ESTADO PARA MAPAS DE BITS
fomenta la definición 3 es una transición suave en los valores, pues minimiza las diferencias
de valor entre pixeles adyacentes.
Pixeles vecinos
Los pixeles vecinos a otro llamado c se han denominado de la siguiente manera:
γ (gamma), n (norte), δ (delta), o (oeste), e (este), α (alfa), s (sur) y β (beta).
Su configuración se encuentra esquematizada en la figura 1.
Matemáticas e Ingeniería
Con esto en mente, se utilizarán los pixeles más próximos que sea posible para estimar
el valor del pixel que se desea predecir.
Figura 1: Pixeles vecinos. Donde los pixeles en gris son vecinos de c.
Disponer de todos los pixeles vecinos de c significa que conocemos el valor de cada uno de
ellos, lo cual sería ideal al momento de realizar la predicción. Sin embargo, no es conveniente
la idea de utilizar todos los pixeles vecinos de c. De ser el caso, no podríamos obtener la imagen
original a partir de los datos del nuevo flujo de datos generado por el predictor.
Por tal motivo es indispensable que el algoritmo de predicción se base en datos que
no necesiten al pixel por predecir para ser conocidos. Esto se consigue analizando de forma secuencial la imagen, utilizando solamente pixeles previamente conocidos. La forma
tradicional para almacenar un mapa de bits es secuencial, de forma que se aprovecha una
característica intrínseca a su naturaleza de esta manera.
El recorrido usual para ordenar los pixeles de un mapa de bits es el siguiente:
•
El primer pixel es el situado en el extremo derecho de la línea superior de la imagen.
•
El consecutivo de cualquier pixel será siempre el situado a su derecha, si es que existe.
De no existir se optará por el situado en el extremo izquierdo de la línea inmediatamente inferior. Si tampoco existe un pixel con esas características, se dice entonces que
se ha alcanzado el último pixel.
103
Javier
GabinoGarduño
EduardoCimental
Castrejón García
Figura 2: Orden de los pixeles en una imagen.
Usando la definición, los pixeles vecinos a c que pueden ser utilizados, de forma que
del nuevo conjunto de datos se pueda obtener la imagen original, son: γ , n, δ y o.
Considerando que, en esencia, las imágenes pueden ser cualquier arreglo de valores, se
ha optado por buscar un predictor adecuado utilizando técnicas estadísticas y heurísticas.
Plano simple
El concepto de plano simple sirve como base para obtener una primera aproximación
al valor del pixel desconocido c.
Tomando dos pixeles arbitrarios de la imagen que pertenezcan a un área grande del
mismo color, se tenderá a obtener una transición suave de valores en los pixeles intermedios.
Se deduce que:
Definición 5. La transición de valores tiene una dirección definida y una gradiente
promedio, representada por:
Donde d es la distancia entre los pixeles c1 y c2.
Figura 3: Los pixeles c1 y c2 se encuentran a una distancia arbitraria d en una dirección arbitraria θ. Sus valores
asociados se representan aquí por la tonalidad asignada a cada uno, y la transición de valores en los pixeles intermedios
como la línea degradada que los une.
104
DESARROLLO
DE PREDICTOR
DE PÍXEL
ADAPTATIVO
LA RESPONSABILIDAD
PATRIMONIAL
DEL
ESTADO PARA MAPAS DE BITS
Esto es más fácil de observar si parametrizamos cada pixel con la triada ordenada (x, y, v),
donde x e y se corresponden con las coordenadas cartesianas del pixel en el mapa de bits, y v
con el valor (color) asociado a él. Esto convierte la imagen en una función v = f(x, y). Cada
pixel se concibe como una muestra de dicha superficie.
La distancia mínima entre dos puntos cualesquiera de una imagen es la distancia entre
dos pixeles vecinos. De forma que esta distancia constituye el incremento más pequeño en
el plano (x, y) sobre el cual es posible medir una razón de cambio. En este caso, un cambio
en v. De forma que los pixeles vecinos a un pixel c, se convierten en el recurso ideal para
realizar una aproximación del gradiente de la imagen en ese punto.
Son necesarios al menos tres pixeles que no se encuentren sobre la misma recta, para
calcular un gradiente. Los pixeles ideales para calcular dicho plano, por su cercanía a c, son:
γ, n y o. Basta entonces calcular el plano correspondiente y medir su inclinación para así
extrapolar el valor de c.
Matemáticas e Ingeniería
Estimación del gradiente
Definición 6. El plano común al que pertenecen los pixeles γ, n y o de un pixel c cualquiera, es el plano simple de c.
Al igual que la imagen, el plano simple es una función v’ = g(x, y).
Los pixeles mencionados se encuentran posicionados de forma tal, que son los vértices
de un paralelogramo. Esto resulta conveniente, pues convierte al cálculo del gradiente, y
por tanto el de una primera estimación del valor de c, en una tarea sumamente sencilla; lo
cual resulta recomendable.
El centro de este paralelogramo imaginario, punto que denominaremos p, es también
el punto medio entre los pixeles o y n. Por la definición 4, sabemos que el valor estimado
de la imagen en p no es otra cosa que el punto medio de los valores de o y n. Pero no sólo
eso, es también el punto medio entre los valores de γ y c. De forma que la estimación de c
resulta muy simple. Basta estimar el valor de la imagen en p con ayuda de o y n, y extrapolar
el valor de c utilizando γ y el valor de p previamente calculado, de forma que el resultado
sea el valor de v’ en las coordenadas de c.
Figura 4: Posición relativa en el plano (x, y) de los pixeles vecinos de c, que conforman al plano simple, el punto p, y las
rectas que los unen.
105
Javier
GabinoGarduño
EduardoCimental
Castrejón García
Así, el valor estimado de c según el cálculo de plano simple es:
Donde cs es la estimación de c por el método de plano simple.
En la práctica, no es posible asignar todos los posibles valores de cs a c. Esto se debe
a que los pixeles c sólo son capaces de almacenar un valor que se encuentre dentro de un
rango previamente establecido, que está definido por la especificación del formato de mapa
de bits utilizado. En los casos donde cs resulte un valor inválido para c, se seguirán las siguientes directrices:
•
Si el valor de cs es estrictamente mayor al límite superior del rango de c, entonces, cs
tomará el valor de dicho límite superior.
•
Si el valor de cs es estrictamente menor al límite inferior del rango de c, entonces, cs
tomará el valor de dicho límite inferior.
Evaluación del método de plano simple
Si los supuestos en los que se basa la predicción de plano simple son correctos, su aplicación a un conjunto de datos que no cumpla las características esperadas para una imagen
con sentido resultará menos eficiente.
La imagen más alejada de la ideal imagen con sentido es un ruido blanco, ya que el valor
de un pixel carece de relación alguna con el valor de uno adyacente.
Condiciones de prueba
Imágenes
El predictor de plano simple se puso a prueba con un conjunto de 132 imágenes
debidamente seleccionadas.
El conjunto está formado enteramente por imágenes multicanal, siguiendo el modelo
sRGB4, con profundidad de 8 bits por canal. Sin embargo, sólo es necesario analizar un
solo canal de color. Con este propósito, se decidió convertir las imágenes a un modelo de
escala de grises con profundidad de 8 bits, siguiendo la definición establecida por la Unión
Internacional de Telecomunicaciones en su especificación ITU-R 7095. La información de
corrección de gamma, de existir, ha sido descartada.
Como grupo de control, se han utilizado 31 imágenes de ruido en escala de grises de
la misma profundidad de color.
Poynton, Charles, Frequently Asked Questions about Color, consultado en: http://www.poynton.com/PDFs/ColorFAQ.pdf, el 2010-08-14, 1997
International Telecommunications Union, Basic Parameter Values for the HDTV Standard for the Studio and for International Programme Exchange, 1990.
4
5
106
DESARROLLO
DE PREDICTOR
DE PÍXEL
ADAPTATIVO
LA RESPONSABILIDAD
PATRIMONIAL
DEL
ESTADO PARA MAPAS DE BITS
Pixeles empleados
Resultados
Distribución del error en la predicción
En el ruido, los errores se distribuyen en forma triangular. El número de pixeles posibles
para cometer un error (por exceso o escasez, según el caso) se reduce de forma lineal al aumentar el valor absoluto de dicho error. La distribución típica se puede observar en la figura 5.
Matemáticas e Ingeniería
No todos los pixeles pertenecientes a una imagen se han utilizado en la prueba. La razón es que no todo pixel de una imagen posee vecinos γ, n, δ y o a la vez. De forma que no
se han tomado en cuenta los pixeles pertenecientes a la primera fila de la imagen, así como
los de la primera y última columna. Es el procedimiento seguido en todas las pruebas.
Figura 5: Distribución típica de los errores de predicción por plano simple, cuando éste es aplicado al ruido
Es el comportamiento esperado en el caso de un predictor que de resultados sin relación alguna con los valores a predecir.
Se intenta verificar si la distribución de los errores en la predicción aplicada al ruido y
a las imágenes con sentido es simétrica. En ambos casos, se aplicó el mismo test estadístico
de asimetría6, bajo las siguientes hipótesis:
H0: La distribución de los datos es simétrica.
H1: La distribución no es simétrica.
Para todas las imágenes de ruido analizadas se determina como verdadera la hipótesis
H0. La tabla 1 muestra el promedio del coeficiente de sesgo y el valor-p de las pruebas,
realizadas con una significancia del 0.05 a 31 diferentes imágenes de ruido.
Prueba definida en: Zwillinger, D. y Kokoska, S.. CRC Standard Probability and Statistics Tables and Formulae. Chapman & Hall: New York.
2000. Sección 2.2.24.1.
6
107
Javier
GabinoGarduño
EduardoCimental
Castrejón García
Ruido (errores en la predicción)
Coeficiente de sesgo
Prueba de sesgo (valores-p)
0.0001409
0.6856337
Promedio
Tabla 1: El promedio para los coeficientes del sesgo obtenido al analizar 31 imágenes de ruido. Asimismo, el promedio
de los valores-p para las pruebas de sesgo del mismo conjunto.
En el caso de imágenes con sentido, el error se distribuye de forma diferente. Tal y como
puede apreciarse en la figura 6, que es representativa de este comportamiento, se observa
un patrón distinto.
Figura 6: Distribución típica de los errores de predicción por plano simple, cuando éste es aplicado a una imagen con
sentido
Salvo contadas excepciones, las distribuciones del error para la predicción aplicada
a imágenes con sentido, no pasan la prueba de simetría. A pesar de su apariencia, son
esencialmente no-simétricas.
Imágenes con sentido (errores en la predicción)
Promedio
Coeficiente de sesgo
Prueba de sesgo (valores-p)
-0.0005462
0.0388129
Tabla 2: El promedio para los coeficientes de sesgo del error en la predicción obtenido al analizar imágenes con sentido.
De igual manera, el promedio de los valores-p para la prueba de sesgo del mismo conjunto
Al no ser simétricas, no podemos asumir la distribución normal de los errores, pero es
posible notar una diferencia estadísticamente significativa entre ambas poblaciones.
108
DESARROLLO
DE PREDICTOR
DE PÍXEL
ADAPTATIVO
LA RESPONSABILIDAD
PATRIMONIAL
DEL
ESTADO PARA MAPAS DE BITS
Desviación estándar promedio del error en la predicción
Ruido
Imágenes con sentido
118.9920367
8.6577798
La destacable diferencia entre las desviaciones estándar y la diferencia en la simetría
de ambas poblaciones, son las pruebas más contundentes sobre la diferencia de comportamiento del predictor entre ellas, así como de su eficacia al momento de intentar predecir
el valor de los pixeles.
Entropía calculada
Se presenta el resumen del cálculo de la entropía por tipo de imagen:
Matemáticas e Ingeniería
Tabla 3: La dispersión por tipo de imagen (ruido e imagen con sentido) es claramente discernible, según los datos
arrojados
Entropía del error en la predicción
Promedio
Desviación estándar
Ruido
Imágenes con sentido
7.9992612
0.0000655
4.2026105
0.8729370
Tabla 4: Entropía promedio del error y desviación estándar del error por tipo de imagen
Los datos revelan la entropía máxima que posee el error de predicción aplicado al
ruido, acercándose al máximo teórico de 8.07. Se revela la profunda diferencia que existe
entre ambos grupos de datos.
Se demuestra así, que el predictor de pixel por plano simple realiza una transformación
de los datos que es distinguible de una transformación arbitraria, y además, que lo hace de
la forma deseada y esperada.
Predicción de errores en cs
Resulta indudable que la predicción por plano simple contendrá errores, y es deseable
averiguar si dichos errores son también predecibles. Se intentó predecir dicho error buscando heurísticamente correlaciones entre él y otras variables involucradas en el proceso.
Evaluando con posterioridad su eficacia en la reducción de los errores.
Las variables elegidas para este análisis son las siguientes:
Error de predicción por plano simple (cs – c). El error de predicción por el método de
plano simple. Es el valor que se busca minimizar.
Como se recordará, la profundidad de color de las imágenes empleadas en la prueba es de 8 bits. Por tanto, la entropía máxima medida
en bits, es también 8.
7
109
Javier
GabinoGarduño
EduardoCimental
Castrejón García
Diferencia con delta (δ - cs). La diferencia entre el valor del pixel δ y el valor de la
predicción por plano simple. Se elige con la intención de encontrar alguna correlación entre
el error y el pixel δ vecino de c.
Inclinación izquierda (p – o). Se llama de esta forma a la cantidad que cumple la
siguiente igualdad:
Donde m es la derivada direccional del segmento de línea dirigido
.
Inclinación derecha (p - γ). Se llama de esta forma a la cantidad que cumple la siguiente igualdad:
Donde m es la derivada direccional del segmento de línea dirigido
.
Las inclinaciones izquierda y derecha son una herramienta para categorizar al plano
simple en función de su gradiente. Esto puede verse con más claridad en la figura 7.
Figura 7: Inclinación del plano simple. Esta puede ser izquierda o derecha, según se muestra en el presente esquema. La
inclinación del plano simple no es una rotación. Las flechas circulares sólo existen para facilitar la comprensión del
esquema.
Distribución de pixeles y errores por tipo de inclinación
Al graficar la inclinación izquierda contra la inclinación derecha, asignando un color diferente según la magnitud del error en la predicción por plano simple, se obtiene una gráfica
por imagen con características típicas. Un ejemplo de estas gráficas se presenta en la figura 8.
110
DESARROLLO
DE PREDICTOR
DE PÍXEL
ADAPTATIVO
LA RESPONSABILIDAD
PATRIMONIAL
DEL
ESTADO PARA MAPAS DE BITS
Para el total de las imágenes analizadas las gráficas evidencian una correlación entre la
inclinación derecha y la magnitud del error, considerando que valores positivos de la inclinación derecha muestran mayoría de puntos amarillos y rojos, asociados a errores positivos.
Mientras que valores negativos de inclinación derecha muestran mayoría de puntos azules y
verdes, asociados a errores negativos. Se evaluará la pertinencia de considerar dicha correlación real en función de su capacidad para reducir el error en la predicción final.
Matemáticas e Ingeniería
Figura 8: Inclinación izquierda vs. inclinación derecha. La magnitud del error por pixel se denota de acuerdo al color
mostrado en la escala
Es de notar que para el total de imágenes analizadas los gradientes se concentran en
el centro, y en aquellos puntos donde el valor absoluto de las inclinaciones es muy similar,
formando un patrón en forma de “X”.
La presencia del patrón en forma de “X”, se interpreta como una evidencia a favor de
la validez de la definición 3.
Figura 9: Distribución típica de error vs. inclinación derecha utilizando predicción por plano simple aplicado a una
imagen con sentido
111
Javier
GabinoGarduño
EduardoCimental
Castrejón García
Analizando dicha correlación entre la inclinación derecha y el error de predicción para
imágenes con sentido, se obtiene lo siguiente:
Coeficiente de correlación (promedio)
Desviación estándar (promedio)
0.4799453
0.1155479
Tabla 5: Coeficiente de correlación promedio y desviación estándar promedio para todas las imágenes con sentido
analizadas
En el total de las imágenes analizadas existe un coeficiente de correlación positiva,
cercana a 0.5.
Con base en lo anterior, una corrección del valor predicho debe utilizar una razón
positiva de la inclinación derecha. Sin embargo, se ha considerado irrelevante tomar a consideración la pendiente de una recta de regresión de los errores para establecer dicha razón
por dos motivos: (1) resulta muy variable entre imágenes y, (2) es recomendable elegir un
valor sencillo que favorezca la resolución rápida del problema en la computadora.
Análisis de propuestas
Plano simple secundario
En el intento de involucrar al pixel δ en el cálculo de la predicción, se intentó una
nueva estrategia creando un segundo plano simple que involucre el valor de dicho pixel. La
diferencia radica en los pixeles utilizados en su definición.
Definición 7: El plano común al que pertenecen los pixeles n, δ y o de un pixel c
cualquiera, es el plano simple secundario de c. El análogo al punto p de este plano se le
llamará q.
Resulta fácil descubrir que se cumplen todas y cada una de las relaciones entre los
pixeles involucrados, si se realizan las sustituciones correspondientes, y al igual que con el
plano simple, es posible efectuar una predicción con base en él.
Figura 10: Posición relativa en el plano (x, y) de los pixeles vecinos de c, que conforman al plano secundario, el punto q,
y las rectas que los unen
112
DESARROLLO
DE PREDICTOR
DE PÍXEL
ADAPTATIVO
LA RESPONSABILIDAD
PATRIMONIAL
DEL
ESTADO PARA MAPAS DE BITS
Tabla de sustitución
Plano secundario
γ
n
o
p
c
n
δ
o
q
c
Tabla 6. Correspondencia de pixeles del plano simple, respecto al plano secundario. Aplicando la sustitución, es posible
realizar cálculos homólogos.
Propuestas de corrección
Se eligió probar con diversos variantes del predictor. Su elección tiene el propósito de
considerar la correlación del error y la inclinación derecha mencionada con anterioridad, así
como incluir a un pixel no tomado en cuenta hasta ahora: el pixel δ, gracias a la utilización
del plano simple secundario.
Matemáticas e Ingeniería
Plano simple
Corrección 1 a 1: Por cada unidad de incremento en la inclinación derecha se efectúa un
decremento unitario en el valor de cs, y viceversa. Si p no es entero, se tomará el entero adyacente
a p más cercano al valor de cs.
Corrección 1 a 1/2: Por cada unidad de incremento en la inclinación derecha se efectúa
un decremento de 1/2 en el valor de cs, y viceversa. Cuando este valor no sea entero, se tomará
el entero adyacente más cercano al valor de p.
Corrección 1 a 3/2: Por cada unidad de incremento en la inclinación derecha se efectúa
un decremento de 3/2 en el valor de cs, y viceversa. Cuando este valor no sea entero, se tomará
el entero adyacente más cercano al valor de cs.
Corrección 1 a 1 de plano secundario: Por cada unidad de incremento en la inclinación
izquierda del plano secundario, se efectúa el incremento en una unidad en el valor de la predicción por plano secundario. Cuando este valor no sea entero, se tomará el entero adyacente
más lejano al valor de cs.
Corrección 1 a 1/2 de plano secundario: Por cada unidad de incremento en la inclinación izquierda del plano secundario, se efectúa el incremento de un medio en el valor
de la predicción por plano secundario. Cuando este valor no sea entero, se tomará el entero
adyacente más lejano al valor de cs.
Asimismo, se utilizan también variantes que son el promedio de algunos de los métodos
listados. En estos casos, si la predicción final no es entera, se tomará el entero adyacente más
lejano al valor de cs.
113
Javier
GabinoGarduño
EduardoCimental
Castrejón García
Clasificación de pixeles
Para segmentar la eficiencia de las propuestas, se clasificó a los pixeles según el gradiente del plano simple asociado a ellos.
Pixeles tipo X: Son aquellos que poseen un plano simple en el cual el valor absoluto de
la inclinación derecha e izquierda es el mismo, o bien, difieren en una unidad.
Pixeles tipo U: Son los pixeles que tienen un plano simple donde el valor absoluto de
la inclinación derecha es mayor al de la izquierda en más de una unidad.
Pixeles tipo L: Son los pixeles que tienen un plano simple donde el valor absoluto de la
inclinación izquierda es mayor al de la derecha en más de una unidad.
Resultados
Se ha calculado la entropía promedio de cada método propuesto por cada uno de los
tipos de pixel establecidos, obteniendo lo siguiente:
Entropías promedio
Plano simple
Plano simple (1 a 1)
Plano simple (1 a 3/2)
Plano simple (1 a 1/2)
Plano secundario
Promedio [Plano simple, Plano secundario]
Plano secundario (1 a 1/2)
Promedio [Plano simple(1 a 1/2), Plano secundario
(1 a 1)]
Promedio [Plano simple(1 a 1/2) Plano secundario
(1 a 1/2)]
X
U
L
3.4137
3.4093
3.5735
3.3399
3.9641
3.5515
3.8835
5.1118
5.0333
5.5286
4.7924
5.1931
4.8677
5.1272
4.8439
4.9954
5.1672
4.8901
5.6941
5.1746
5.5584
3.5758
4.7834
5.2005
3.5460
4.7737
5.1439
Tabla 6: Entropías promedio por predictor y tipo de pixel.
De los datos anteriores podemos concluir que los mejores predictores por tipo de pixel son
los siguientes:
Pixel tipo X. Predictor por plano simple con corrección 1 a 1/2. La predicción es ce,
donde:
114
DESARROLLO
DE PREDICTOR
DE PÍXEL
ADAPTATIVO
LA RESPONSABILIDAD
PATRIMONIAL
DEL
ESTADO PARA MAPAS DE BITS
Si el valor de ce no es entero, se redondeará al entero más próximo a p.
Pixel tipo U. Predictor por promedio de plano simple con corrección 1 a 1/2 y plano
secundario con corrección 1 a 1/2.
Si el valor de ce no es entero, se redondea al entero más próximo a cs.
Donde:
Matemáticas e Ingeniería
La predicción es ce donde:
Para los casos donde el pixel δ no está disponible, se aplica el mismo predictor que el
usado para los pixeles tipo X.
Pixel tipo L: Predictor por plano simple. La predicción es ce, donde:
Se debe anotar que para todos los casos se ha establecido que:
Si el valor de ce es estrictamente mayor al límite superior del rango que puede almacenar
un pixel, entonces, ce tomará el valor de dicho límite superior.
Si el valor de ce es estrictamente menor al límite inferior del rango que puede almacenar
un pixel, entonces, ce tomará el valor de dicho límite inferior.
Implementación
Los resultados anteriores fueron implementados en una especificación para almacenar
mapas de bits (SPB), la cual fue expresamente creada para tal propósito. Los detalles de
dicha especificación no se exponen aquí, pero se puede indicar que es capaz de almacenar
una versión comprimida de un mapa de bits, por medio del algoritmo Gzip. El mapa de
bits se trata previamente con el predictor de pixel descrito con anterioridad. Es capaz de
almacenar versiones en escala de grises con o sin canal alpha, e imágenes en modo de color
sRGB, con o sin canal alpha.
115
Javier
GabinoGarduño
EduardoCimental
Castrejón García
Casos especiales
En el desarrollo del predictor de pixel precedente se han dejado a un lado de forma
intencional aquellos casos atípicos donde el pixel por predecir, debido a su ubicación, carece de uno o más de los pixeles adyacentes necesarios para realizar la predicción. La implementación del algoritmo sí los toma en cuenta, y se presentan los siguientes predictores
auxiliares:
Valor por defecto. Aplica a la primera muestra de cada canal, cuando no existen muestras previas que puedan ser analizadas para obtener una predicción. Se establece como predicción el valor medio del rango total de c.
Pixel anterior. Se utiliza para todas las muestras que forman parte de la primera fila
del mapa de bits, excepto la primera muestra. Se establece como predicción el valor del pixel
anterior.
Pixel superior. Se utiliza para todas las muestras que forman parte de la primera columna del mapa de bits, excepto la primera muestra. Se establece como predicción el valor
del pixel superior.
3 pixeles. Predicción utilizada para todas las muestras de la última columna del mapa de
bits, siempre que no pertenezcan a la primera fila. Se establecen como predictores los mejores
posibles para cada tipo de pixel (X, U o L) de acuerdo al análisis desarrollado con anterioridad, siempre que no hagan uso del pixel δ (que no está disponible en esos casos).
Pruebas
Se ha tomado una muestra de 33 imágenes diferentes a las utilizadas en el desarrollo
del predictor, a las que se ha sometido a dos procesos de codificación:
•
Codificación como imagen SPB (la descrita anteriormente).
•
Codificación como variante de imagen SPB (SPBtest), que es idéntica a la codificación SPB tradicional, excepto en el proceso de filtrado de pixeles, donde se utiliza el
predictor de Paeth8 siempre que es posible. Dicho predictor es ampliamente usado
en la compresión de imágenes por su reconocida eficiencia. Para el resto de pixeles se
utilizan los mismos predictores que en la especificación SPB.
El tamaño resultante en bytes se muestra en la siguiente tabla:
8
116
Paeth, A. W., Image File Compression Made Easy. en Graphics Gems II. Academic Press, 1991.
DESARROLLO
DE PREDICTOR
DE PÍXEL
ADAPTATIVO
LA RESPONSABILIDAD
PATRIMONIAL
DEL
ESTADO PARA MAPAS DE BITS
Imagen
SPB
SPB/SPBtest
6,399,819
16,793,362
2,518,255
23,805,772
16,791,644
6,344,894
8,023,638
44,676,151
16,984,991
11,760,360
6,540,183
27,749,431
14,210,413
9,912,544
19,399,412
15,793,593
6,202,777
6,148,379
7,128,750
5,446,897
6,469,015
9,730,167
5,540,647
6,397,765
11,977,202
7,024,793
4,751,957
8,244,812
27,094,664
11,923,112
22,616,283
22,887,959
928,870
6,151,637
15,787,152
2,399,356
22,536,898
15,556,930
6,187,642
7,715,144
43,563,402
15,886,171
10,667,948
6,157,838
27,534,558
13,256,127
9,422,133
18,176,219
15,341,207
6,219,708
5,766,102
6,845,181
5,116,772
6,130,908
9,092,717
5,295,561
5,892,107
10,663,550
7,013,593
4,431,724
7,812,771
25,811,650
10,854,181
20,997,765
21,642,637
1,040,294
0.961
0.940
0.953
0.947
0.926
0.975
0.962
0.975
0.935
0.907
0.942
0.992
0.933
0.951
0.937
0.971
1.003
0.938
0.960
0.939
0.948
0.934
0.956
0.921
0.890
0.998
0.933
0.948
0.953
0.910
0.928
0.946
1.120
Matemáticas e Ingeniería
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
SPBtest
Tabla 7: Tamaño en bytes de las imágenes comprimidas utilizando el predictor desarrollado en éste trabajo y el predictor
Paeth, ampliamente usado en la industria.
Como es posible comprobar, a excepción de las imágenes 16 y 32, todas y cada una
de ellas han generado un tamaño de archivo menor al conseguido utilizando el predictor
de Paeth. Considerando que los mapas de bits son una muestra aleatoria de imágenes con
sentido, está más allá de toda duda razonable que el predictor desarrollado aquí supera en
desempeño al conocido como Paeth.
117
Javier
GabinoGarduño
EduardoCimental
Castrejón García
Conclusiones
El resultado de esta prueba corrobora los resultados previamente obtenidos en el proceso de creación del predictor de mapa de bits: (1) el predictor genera un flujo de datos
con menor entropía que la imagen con sentido original, (2) permite restaurar el flujo de
datos original, (3) presenta un mejor desempeño en el tipo de imágenes analizadas que el
predictor Paeth.
Referencias bibliográficas
•
•
•
•
•
•
•
HUFFMAN, D.A., A method for the construction of minimum-redundancy codes. En
Resonance, vol 11 núm 2, pp 91–99, 2006.
SHANNON, Claude E., A Mathematical Theory of Comunication, en The Bell System
Technical Journal, vol 27, pp 379–423, 623–653, Julio - Octubre 1948.
KÖHLER, Wolfgang, Psicología de la configuración, Ediciones Morata, 1967.
PAETH, A. W., Image File Compression Made Easy. en Graphics Gems II. Academic Press,
1991.
POYNTON, Charles, Frequently Asked Questions about Color, consultado en: http://www.
poynton.com/PDFs/ColorFAQ.pdf, el 2010-08-14, 1997
International Telecommunications Union, Basic Parameter Values for the HDTV Standard
for the Studio and for International Programme Exchange, 1990.
ZWILLINGER, D. y Kokoska, S.. CRC Standard Probability and Statistics Tables and
Formulae. Chapman & Hall: New York. 2000.
JAVIER GARDUÑO CIMENTAL Estudió la Licenciatura en Matemáticas Aplicadas y Computación
en la Facultad de Estudios Superiores Acatlán. Es desarrollador web, webmaster, y asesor de la
Dirección de la misma Facultad desde 2005. Desarrolla software de manera independiente. Ha impartido cursos sobre temas afines, y ha fungido como ponente en la 1º Jornada para Webmasters
de la UNAM.
118
Descargar