Es lo Cotidiano

Mexicanos diseñan compresor de datos e imágenes

Universidad Autónoma de Aguascalientes (UAA) e Instituto Tecnológico de Aguascalientes (ITA), las instituciones que alojan esta investigación

Mexicanos diseñan compresor de datos e imágenes

Aguascalientes, Ags.- Hermilo Sánchez Cruz, secretario técnico de la Maestría en Ciencias con opción a Computación, Matemáticas Aplicadas por la Universidad Autónoma de Aguascalientes (UAA), y Mario Alberto Rodríguez Díaz, coordinador de la Maestría en Ciencias de la Ingeniería por el Instituto Tecnológico de Aguascalientes (ITA) —que pertenece al Tecnológico Nacional de México (Tecnm)—, desarrollan un modelo de compresión de datos.

Ambos han estudiado la distribución de probabilidad de la aparición de símbolos en los mensajes que se van a codificar, pues entre más precisa es esta información, más eficiente será la compresión.

En esta materia, se han especializado en imágenes en blanco y negro y en escala de grises. En ambas se repiten patrones, por ello han realizado análisis para identificar aquellas pautas que son redundantes dentro de la imagen; con base en ello propusieron un método para reconocer esos caracteres, de esta manera solamente se codifica uno o pocos ejemplares por cada carácter a manera de patrón y se disminuye la cantidad de datos a almacenarse.

Imágenes en blanco y negro

Hermilo Sánchez indicó que durante su posdoctorado trabajó con un código de cadena llamado Three Octagonal Symbol Change Code (3OT), que es una curva en tres dimensiones, misma que decidió utilizar para representar los contornos de los objetos binarios en las imágenes y comprimir la redundancia en la información, como resultado observó que las imágenes ocupaban poca memoria en comparación con el objeto original.

“Entonces empecé a buscar compresores de blanco y negro, y resultó que mi método daba mayor compresión, pues eso es bien padre, porque estoy mejorando algo respecto a un estándar internacional. Seguí trabajando con esos métodos de codificación de objetos binarios, hasta creamos el caso tridimensional, para proponer nuevos códigos”, comentó.

Entonces realizó, junto con Mario Alberto Rodríguez, un estudio de las técnicas que son los estándares en la literatura, como JPEG, JPEG-LS, PNG y CALIC, esto para observar cómo funcionan y de qué manera el algoritmo desarrollado podría competir con ellas.

Para hacer una comparativa del código de cadena 3OT con un estándar internacional conocido como JBIG2, utilizaron imágenes del Comité Consultivo Internacional Telegráfico y Telefónico (CCITT) y obtuvieron como resultado 27 por ciento de mejor compresión a 200 puntos por pulgada (dpi, por sus siglas en inglés) y 65 por ciento a 600 dpi. En un ejercicio similar, pero con el DjVu, los resultados fueron de seis por ciento de mejora a 200 dpi y 35 por ciento en el caso de 600 dpi.

Escala de grises

Por su parte, Mario Alberto Rodríguez mencionó que actualmente trabajan en la compresión de imágenes en escala de grises, el enfoque que manejan es la codificación de un pixel a otro en su nivel de gris, para ello utilizan el mismo código denominado 3OT, pues les permite representar una imagen como una cadena de caracteres. De esta manera, se pasa del dominio de la imagen al dominio de código de cadena y, posteriormente, se realiza la compresión.

A diferencia de las imágenes en blanco y negro, donde los objetos son binarios, el método en la escala de grises involucra 256 posibles tonos —del 0 al 255—. Este valor dependerá de diferentes factores, como la posición actual o el nivel de gris dentro de la imagen, por ejemplo, en un pixel con un nivel de gris de valor 100, la posibilidad de que el siguiente sea de 101 a 255 es mayor que de 0 a 99, esto, porque son más posibles valores.

“Otro es el histograma de la imagen, que básicamente son cuántos pixeles de cada intensidad hay en la imagen, es la distribución de los valores de grises en toda la imagen, obviamente también de eso va a depender. Y también de los pixeles vecinos, normalmente en una imagen, en un pixel dado, sus vecinos son similares a su valor actual, solo cambian cuando pasa de un objeto a otro en la imagen, entonces también se toma en cuenta la vecindad”, destacó.

Para ello, están probando el código de cadena 3OT con una mezcla de contexto, en este, varios modelos se toman en cuenta para hacer la predicción de los caracteres en el código, posteriormente, se hace una suma ponderada y haciendo uso de una red neuronal, se determina cuáles modelos son los que van a mantenerse, así como la probabilidad final de cada uno de los elementos del código. Los parámetros se pasan a un codificador aritmético, en donde finalmente se generan los bits del código comprimido.

Otro enfoque que se desarrolla es la utilización de un autómata finito determinístico, este permite cambiar de estados, de esta manera, dependiendo del estado en que se encuentra la codificación, puede predecir el siguiente símbolo. En el código de cadena 3OT se tienen solamente tres símbolos: 0, 1 o 2, si actualmente estamos en el 0, este método busca determinar la probabilidad de que siga otro 0, un 1 o 2, pero esta posibilidad no será la misma para todos los ceros, pues va a depender del contexto en el que se encuentre en ese momento.

Para hacer una comparativa del código de cadena 3OT con un estándar internacional conocido como JBIG2, utilizaron imágenes del Comité Consultivo Internacional Telegráfico y Telefónico (CCITT) y obtuvieron como resultado 27 por ciento de mejor compresión a 200 puntos por pulgada (dpi, por sus siglas en inglés) y 65 por ciento a 600 dpi. En un ejercicio similar, pero con el DjVu, los resultados fueron de seis por ciento de mejora a 200 dpi y 35 por ciento en el caso de 600 dpi.

Escala de grises

Por su parte, Mario Alberto Rodríguez mencionó que actualmente trabajan en la compresión de imágenes en escala de grises, el enfoque que manejan es la codificación de un pixel a otro en su nivel de gris, para ello utilizan el mismo código denominado 3OT, pues les permite representar una imagen como una cadena de caracteres. De esta manera, se pasa del dominio de la imagen al dominio de código de cadena y, posteriormente, se realiza la compresión.

A diferencia de las imágenes en blanco y negro, donde los objetos son binarios, el método en la escala de grises involucra 256 posibles tonos —del 0 al 255—. Este valor dependerá de diferentes factores, como la posición actual o el nivel de gris dentro de la imagen, por ejemplo, en un pixel con un nivel de gris de valor 100, la posibilidad de que el siguiente sea de 101 a 255 es mayor que de 0 a 99, esto, porque son más posibles valores.

“Otro es el histograma de la imagen, que básicamente son cuántos pixeles de cada intensidad hay en la imagen, es la distribución de los valores de grises en toda la imagen, obviamente también de eso va a depender. Y también de los pixeles vecinos, normalmente en una imagen, en un pixel dado, sus vecinos son similares a su valor actual, solo cambian cuando pasa de un objeto a otro en la imagen, entonces también se toma en cuenta la vecindad”, destacó.

Para ello, están probando el código de cadena 3OT con una mezcla de contexto, en este, varios modelos se toman en cuenta para hacer la predicción de los caracteres en el código, posteriormente, se hace una suma ponderada y haciendo uso de una red neuronal, se determina cuáles modelos son los que van a mantenerse, así como la probabilidad final de cada uno de los elementos del código. Los parámetros se pasan a un codificador aritmético, en donde finalmente se generan los bits del código comprimido.

Otro enfoque que se desarrolla es la utilización de un autómata finito determinístico, este permite cambiar de estados, de esta manera, dependiendo del estado en que se encuentra la codificación, puede predecir el siguiente símbolo. En el código de cadena 3OT se tienen solamente tres símbolos: 0, 1 o 2, si actualmente estamos en el 0, este método busca determinar la probabilidad de que siga otro 0, un 1 o 2, pero esta posibilidad no será la misma para todos los ceros, pues va a depender del contexto en el que se encuentre en ese momento.