COMPRESIÓN MEJORADA DE IMÁGENES DE NIVEL GRIS
Campo de la Invención La presente invención se refiere en general al procesamiento de imágenes y específicamente a los métodos de compresión de imágenes . Antecedentes de la invención Se conocen en la técnica varios métodos de compresión de imagen. Esos métodos pueden clasificarse generalmente como de pérdida y sin pérdida. Cuando se utiliza la compresión sin pérdida, la imagen original puede reproducirse exactamente con descompresión. Sin embargo, en general los métodos con pérdidas alcanzan mayores proporciones de compresión, i.e., archivo de imágenes comprimidas más pequeños para una imagen^ original dada. Uno de los métodos más comunes para la compresión sin pérdidas de imágenes en escala de _gris y a color es el algoritmo de Lempel-Ziv-Welch (LZW) . Este algoritmo se describe en las Patentes de E.U. 4,558,302 y 5,642,112, cuyas descripciones se incorporan en la presente para referencia. La compresión LZW utiliza un diccionario para almacenar secuencias ordenadas de caracteres de datos encontrados en la entrada nacia el algoritmo. La corriente de entrada, típicamente una secuencia de valores de pixel en una imagen, se busca al comparar segmentos de la corriente de entrada a
las secuencias ordenadas almacenadas en el diccionaxio a fin de encontrar la secuencia ordenada comparada más grande. El diccionario se aumenta entonces al almacenar una secuencia ordenada extendida, que comprende la secuencia ordenada de comparación más grande con la adición del siguiente carácter de datos de entrada que sigue al segmento de comparación más grande en la corriente de entrada. Este procedimiento continúa hasta que toda la imagen se ha comprimido. Sumario de la Invención Es un objetivo de la presente invención proporcionar métodos, aparatos y productos mejorados para la compresión de imágenes . Es un objetivo adicional de algunos aspectos de la presente invención proporcionar un método para mejorar la proporción de compresión que puede llevarse a cabo utilizando algoritmos de compresión existentes. En las modalidades preferidas de la presente invención, los pixeles en una imagen de entrada se reordenan antes de la compresión, a fin de generar una imagen reordenada que tiene una variación total reducida. La "Variación Total" en este contexto significa la suma o media de las diferencias absolutas entre los pixeles cercanos en la imagen. Los algoritmos de compresión -conocidos en la técnica, tales como los algoritmos LZW antes mencionados, típicamente logran proporciones de compresión sustancialmente
más altas cuando la variación total es.Jbaja. Por lo tanto, cuando la imagen reordenada se comprime el archivo de imágenes de salida es sustancialmente más pequeño que el que podría lograrse sin reordenación, aún contando con los datos adicionales necesarios para restaurar los pixeles a su orden original siguiendo la descompresión. En algunas modalidades preferidas de la presente invención, los valores de pixel en la imagen de entrada se cuantifican para un número seleccionado de niveles. Los valores de pixel originales en la imagen se reordenan entonces a fin de agruparlos mediante sus valores cuantificados respectivos, aunque conservado los pixeles dentro de cada grupo en el orden en el cual aparecen en la imagen de entrada. La imagen cuantificada y la imagen reordenada ambas se comprimen, utilizando cualquier algoritmo o algoritmos de compresión adecuados conocidos en la técnica. Preferentemente, se utilizan los algoritmos sin pérdidas. Más preferentemente, se aplican algoritmos diferentes a la imagen cuantificada y a la imagen reordenada, seleccionadas a fin de maximizar la proporción de compresión en cada caso. Para construir la imagen, las imágenes cuantificada y reordenada se descomprimen. Se re-coloca entonces cada pixel en la imagen cuantificada mediante su valor tomado a partir de la imagen reordenada y de _ este modo se reconstruye la imagen de entrada .
Se proporciona por lo tanto, de acuerdo con una modalidad preferida de la presente invención, un método para compresión de una imagen de entrada que incluye una pluralidad de pixeles que tienen valores de pixel de entrada respectivos, incluyendo: cuantificar los valores de pixel de entrada a fin de generar valores de pixel cuantificados respectivos; generar una imagen cuantificada mediante la sustitución de los valores de pixel cuantificados para los valores de pixel de entrada respectivos en la imagen de entrada; reordenar los valores de pixel de entrada en la imagen de entrada a fin de generar una imagen reordenada en la cual los valores de pixel de entrada se agrupan mediante sus valores cuantificados respectivos; y comprimir la imagen cuantificada y la imagen reordenada a fin de generar un archivo de imágenes de salida comprimido . Preferentemente, cuantificar los valores de pixel de entrada incluye dividir los valores de pixel de entrada en un número seleccionado de rangos y asignar los pixeles cuyos valores se encuentran en cada uno de los rangos al correspondiente de los valores cuantificados . En una modalidad preferida, cuantificar los valores de pixel de entrada incluye cuantificar los valores de pixel
de entrada en un primer y segundo números de niveles de cuantificación, y generar la imagen cuantificada y reordenar los valores de pixeles de entrada incluye generar una imagen cuantificada y una imagen reordenada respectivas para cada uno de los primeros y segundos números de niveles de cuantificación, y comprimir la imagen cuantificada y la imagen reordenada incluye seleccionar uno de los primeros y segundos números para utilizarse en generar el archivo de imágenes de salida comprimido dependiente del cual los primeros y segundos números dan el archivo de imágenes de salida más pequeño . Preferentemente, reordenar los valores de pixel de entrada incluye copiar los valores de pixel de entrada hacia la imagen reordenada secuencialmente de acuerdo a un orden en el cual los pixeles aparecen en la imagen de entrada. Más preferentemente, copiar los valores de pixel de entrada hacia la imagen reordenada incluye copiar los valores de pixel de entrada en el orden de cuadrícula. Además preferentemente, los valores de pixel cuantificados incluyen al menos primeros y segundos valores cuantificados y copiar los valores de pixel de entrada hacia la imagen reordenada incluye copiar los valores de manera que en la imagen reordenada, los píxeles pertenezcan al primer valor cuantificado que aparece
en el orden de cuadrícula de la imagen de entrada, seguida en el orden de cuadrícula por los pixeles que pertenecen al segundo valor cuantificado. Preferentemente, comprimir las imágenes cuantificada y reordenada, incluye aplicar un algoritmo de compresión sin pérdidas, hacia al menos una de las imágenes, tal como un algoritmo Lempel-Ziv-Welch. En modalidades preferidas, el método incluye almacenar el archivo de imágenes de salida en una memoria o alternativa o adicionalmente transmitir el archivo de imágenes de salida sobre un enlace de comunicación. También se proporciona, de acuerdo con una modalidad preferida de la presente invención, un método para la compresión de una imagen de entrada que incluye una pluralidad de pixeles que tienen valores de pixel de entrada respectivos, que incluyen: reordenar los pixeles en la imagen de entrada a fin de generar una imagen reordenada que tiene una variación total reducida para la imagen de entrada; y comprimir la imagen reordenada a fin de generar un archivo de imágenes de salida comprimido. Se proporciona además, de acuerdo con la modalidad preferida de la presente invención, un método para descomprimir un archivo de imágenes comprimido que incluye una imagen cuantificada comprimida y una imagen reordenada
comprimida, en donde la imagen cuantificada se generó al reemplazar los valores de pixel cuantificados por los valores de pixel de entrada de una pluralidad de pixeles en una imagen de entrada y en donde se generó la imagen reordenada al agrupar los valores de pixel de entrada mediante sus valores cuantificados respectivos, el método incluye: descomprimir la imagen cuantificada y la imagen reordenada; y re-colocar el valor cuantificado de cada uno de los pixeles en la imagen cuantificada descomprimida con el correspondiente de los valores de pixel de entrada tomados de la imagen reordenada descomprimida a fin de reconstruir la imagen de entrada . Preferentemente, los valores cuantificados incluyen al menos primeros y segundos valores cuantificados y reemplazar el valor cuantificado de cada uno de los pixeles incluye : rastrear la imagen cuantificada descomprimida para encontrar los pixeles que tienen el primer valor cuantificado; reemplazar cada uno de los pixeles que tienen el primer valor cuantificado en secuencia con el sucesivo de los valores de pixeles de entrada tomados a partir de la imagen reordenada descomprimida; rastrear la imagen cuantificada descomprimida para
encontrar los pixeles que tienen el segundo valor cuantificado; y reemplazar cada uno de los pixeles que tienen el segundo valor cuantificado en secuencia con el sucesivo de los valores de pixeles de entrada tomados a partir de la imagen reordenada descomprimida . Se proporciona además, de acuerdo con una modalidad preferida de la presente invención, un aparato para la compresión de una imagen de entrada que incluye una pluralidad de pixeles que tienen valores de pixel de entrada respectivos, incluyendo un procesador de imagen, el cual se adapta para cuantificar los valores de pixel de entrada a fin de generar ios valores de pixel cuantificados respectivos y para generar una imagen cuantificada al sustituir los valores de pixel cuantificados por los valores de pixel de entrada respectivos en la imagen de entrada y además para reordenar los valores de pixel de entrada en la imagen de entrada a fin de generar una imagen reordenada en la cual se agrupan los valores de pixel de entrada mediante sus valores cuantificados respectivos y para comprimir la imagen cuantificada y la imagen reordenada a fin de generar un archivo de imágenes de salida comprimido. En una modalidad preferida, el aparato incluye un dispositivo de captura de imagen, el cual se configura para capturar la imagen de entrada y para transportar la imagen de
entrada hacia el procesador. En otra modalidad preferida, el apairato incluye una memoria, acoplada al procesador a fin de recibir el archivo de imagen de salida para almacenarse en la memoria. En todavía otra modalidad preferida, el procesador se acopla para transmitir el archivo de imágenes de salida sobre un enlace de comunicación. Adicíonalmente se proporciona, de acuerdo con una modalidad preferida de la presente invención, un aparato para la compresión de una imagen de entrada que incluye una pluralidad de pixeles que tienen valores de pixel de entrada respectivos, incluyendo un procesador de imagen, el cual se adapta para reordenar los pixeles en la imagen de entrada a fin de generar una imagen reordenada que tiene una variación total reducida en relación a la imagen de entrada y para comprimir la imagen reordenada a fin de generar un archivo de imágenes de salida comprimidos. Se proporciona además, de acuerdo con una modalidad preferida de la presente invención, un aparato para descomprimir un archivo de imágenes comprimido que incluye una imagen cuantificada comprimida y una imagen reordenada comprimida, en donde la imagen cuantificada se generó al reemplazar los valores de pixel cuantificados para los valores de pixel de entrada de una pluralidad de pixeles en una imagen de entrada y en donde la imagen reordenada se generó al agrupar los valores de pixel de entrada mediante
sus valores cuantificados respectivos, incluyendo el aparato un procesador de imagen, el cual se adapta para descomprimir la imagen cuantificada y la imagen reordenada y para reemplazar el valor cuantificado de cada uno de los pixeles en la imagen cuantificada descomprimida con el correspondiente de los valores de pixel de entrada tomados a partir de la imagen reordenada descomprimida a fin de reconstruir la imagen de entrada. En una modalidad preferida, el aparto incluye una pantalla, la cual se acopla para accionarse por el procesador de imagen para desplegar la imagen de entrada reconstruida . También se proporciona, de acuerdo con una modalidad preferida de la presente invención, un producto de software de computadora para la compresión de una imagen de entrada que incluye una pluralidad de pixeles que tienen valores de pixel de entrada respectivos, el producto incluye un medio legible por computadora en el cual se almacenan las instrucciones del programa, tales instrucciones cuando se leen por una computadora, causan que la computadora cuantifique los valores de pixel de entrada a fin de generar valores de pixel cuantificados respectivos y para generar una imagen cuantificada al sustituir los valores de pixel cuantificados por los valores de pixel de entrada respectivos en la imagen de entrada y además para reordenar los valores de pixel de entrada en la imagen de entrada a fin de generar
una imagen reordenada en la cual los valores de pixel de entrada se agrupan mediante sus valores cuantificados respectivos y comprime la imagen cuantificada y la imagen reordenada a fin de generar un archivo de imágenes de salida comprimido. Se proporciona además, de acuerdo con una modalidad preferida de la presente invención, un producto de software de computadora para la compresión de una imagen de entrada que incluye una pluralidad de pixeles que tienen valores de pixel de entrada respectivos, incluyendo el producto un medio legible por computadora en el cual se almacena las instrucciones del programa, cuyas instrucciones, cuando se leen por una computadora, causan que la computadora reordene los pixeles en la imagen de entrada a fin de generar una imagen reordenada que tiene una variación total reducida en relación a la imagen de entrada y para comprimir la imagen reordenada a fin de generar un archivo de imágenes de salida comprimido . Se proporciona adicionalmente, de acuerdo con una modalidad preferida de" la presente invención, un producto de software de computadora para descomprimir un archivo de imágenes comprimido que incluye una _ imagen cuantificada comprimida y una imagen reordenada comprimida en donde la imagen cuantificada se generó "al sustituir los valores de pixel cuantificados por los valores de pixel de entrada de
una pluralidad de pixéles en una imagen de entrada y en donde la imagen reordenada se generó al agrupar ios valores de pixel de entrada mediante sus valores cuantificados respectivos, el producto incluye un medio legible por computadora, en el cual se almacenan las instrucciones del programa, cuyas instrucciones, cuando se leen por computadora, causan que la computadora descomprima la imagen cuantificada y la imagen reordenada y reemplace el valor cuantificado de cada uno de los pixeles en la imagen cuantificada descomprimida con el correspondiente de los valores de pixel de entrada tomados a partir de la imagen reordenada descomprimida a fin de reconstruir la imagen de entrada . La presente invención será más completamente entendida a partir de la siguiente descripción detallada de las modalidades preferidas de la misma, tomadas junto con los dibujos en J-OS cuales: Breve Descripción de los Dibujoa La Figura 1 es una ilustración en perspectiva esquemática del aparato de compresión de imagen, de acuerdo con una modalidad preferida de la presente invención; La Figura 2 es un diagrama de flujo que ilustra esquemáticamente un método para la compresión de imagen, de acuerdo con una modalidad preferida de la presente invención; La Figura 3 es una representación esquemática de
una matriz de pixeles en una imagen de entrada y en una imagen reordenada que se forman a partir de la imagen de entrada de acuerdo con el método de la Figura 2; y La Figura 4 es un diagrama de flujo que ilustra esquemáticamente un método para la descompresión de imagen, de acuerdo con una modalidad preferida de la presente invención. Descripción Detallada de las Modalidades Preferidas De acuerdo con una modalidad preferida de la presente invención, la Figura 1 es una ilustración en perspectiva esquemática de un sistema 20 para la captura y compresión de imágenes. El sistema 20 comprende un dispositivo 22 de entrada de imagen, tal como una cámara de vídeo, un explorador o cualquier otro tipo de dispositivo de captura de imagen adecuado conocido en la técnica. El dispositivo 22 captura una imagen de nivel de gris o a color de un objeto y transporta los datos de imagen correspondientes a un procesador de imagen 24, típicamente comprende una computadora adecuada para propósitos generales. De manera alternativa, la imagen de nivel de gris entra hacia el procesador desde otra fuente. El procesador 24 comprime la imagen y almacena los datos de imagen comprimidos resultantes en una memoria 28, tal como un disco magnético u óptico. Adicional o alternativamente, los datos comprimidos se transmiten a otra computadora sobre una red. Cuando la
imagen se va a revisar los datos relevantes se vuelven a llamar por el procesador 24 (o por cualquier otro procesador adecuado) y se descomprimen y despliegan entonces en una pantalla de despliegue 26. De manera alternativa, la imagen descomprimida se imprime mediante una impresora adecuada (no mostrada) o además se procesa, por ejemplo para extraer información a partir de la imagen, utilizando métodos de procesamiento y análisis de imagen conocidos en la técnica. Las funciones de compresión y descompresión de imagen se llevan a cabo preferentemente utilizando software de ejecución en el procesador 24, el cual implementa los principios de la presente invención, como se describe en detalle aquí a continuación. El software puede suministrarse en un medio tangible, tal como un CD-ROM o una memoria no volátil y se carga en el procesador. De manera alternativa, el software puede descargarse al procesador a través de la conexión de red u otro enlace electrónico. Además, de manera alternativa, el procesador 24 puede comprender elementos cableados dedicados o un procesador de señal digital para llevar a cabo las etapas de compresión y/o descompresión de imagen . Ahora se hace referencia a las Figuras 2 y 3, las cuales ilustran esquemáticamente un método para la compresión de imagen, de acuerdo con una modalidad preferida de la presente invención. La Figura 2 es un diagrama de flujo que
muestra las etapas en el método. La Figura 3 muestra una imagen de entrada 40 original y una imagen reordenada 59, generada a partir de la imagen de entrada de acuerdo con el método de la Figura 2 . La imagen 40 comprende una pluralidad de pixeles, tales como los pixeles 43, 45 y 47. Cada uno de los pixeles tienen un valor de pixel dado, típicamente un número de 8 bits, representando el nivel de gris del pixel en la imagen. Por otro lado, la imagen 40 puede ser una imagen a color, en cuyo caso los valores de pixel preferentemente comprenden niveles de rojo, verde y azul para cada pixel o de manera alternativa, valores de luminancia y crominancia, como se conoce en la técnica. En una etapa de cuantificación 30, los valores de pixel en la imagen 40 se cuantifican en un número seleccionado de niveles de cuantificación N. N puede tener sustancialmente cualquier valor mayor que o igual a dos. Puede utilizarse sustancialmente cualquier criterio para determinar a cual nivel cuantificado debe asignarse cada pixel en la imagen. Para una velocidad óptima de ejecución, la cuantificación se lleva a cabo preferentemente simplemente al omitir los valores de pixel. De manera alternativa, los umbrales de cuantificación óptima pueden determinarse de manera adaptable, por ejemplo, en base a los análisis de histograma y los umbrales pueden aún variar en el área de la imagen .
En una etapa 32 de reordenación del pixel, los valores de pixel originales pueden representarse secuencialmente para la imagen reordenada 59 de acuerdo a sus niveles de cuantificación respectivos y su orden en la imagen 40. Por motivo de ilustración, la imagen 59 se divide en ocho regiones 42, 44, 46, 48, 50, 52, 54 y 56, correspondiendo cada una a uno de los ocho niveles de cuantificación, yendo desde los valores de pixel obscuros a brillantes en la imagen. El pixel 43 el cual es el primer pixel en el nivel de cuantificación más bajo a partir del inicio de la cuadrícula de los pixeles en la imagen 40, se representa para la primer ubicación de pixel en la imagen 59. El pixel 45 uno de los últimos pixeles en la imagen 40 que pertenece al nivel de cuantificación más bajo, se representa en una ubicación cerca del extremo de la región 42 en la imagen 59. El pixel 47, el primer pixel en el siguiente nivel de cuantificación mayor, se representa en el inicio de la región 44. De este modo, todos los pixeles en la imagen 40 se representan en sucesión, produciendo dos imágenes: una imagen cuantificada, en la cual los pixeles permanecen en su orden original; y la imagen reordenada 59, en la cual los valores de pixel retienen su contenido total de nivel de gris (o de color) , pero se reordenan -de acuerdo a sus niveles de cuantificación. El resultado de esta reordenación es que la
variación de tanto la imagen cuantificada como la imagen reordenada, en términos de las diferencias absolutas entre los valores de pixel de los pixeles cercanos, se reduce sustancialmente en relación a la imagen 40 original. En las etapas de compresión 34 y 36, la imagen cuantificada y la imagen reordenada se comprimen respectivamente. Sustancialmente, puede utilizarse para este propósito cualquier algoritmo adecuado conocido en la técnica y pueden aplicarse diferentes algoritmos a las imágenes cuantificada y reordenada. Siguiendo la compresión, un archivo de imágenes que contiene ambas de las imágenes comprimidas se emite a una etapa 38 de salida de imagen. El inventor ha aplicado al método de la Figura 2 a 73 diferentes imágenes en escala de gris, utilizando la cuantificación a N=2. La compresión G4 se aplicó a las imágenes cuantificadas, mientras que la compresión LZW se aplicó a las imágenes reordenadas. ("G4" se refiere al Grupo 4 o la compresión MMR., especificada por la Unión Internacional de Telecomunicaciones ITU-T.) Un promedio mejorado de aproximadamente 5% en la proporción de compresión del archivo de salida se logró en relación al obtenido utilizando solo LZW en las imágenes originales sin reordenación. La mejora en la proporción de compresión proviene del hecho de que LZW, así como otros algoritmos de compresión conocidos en la técnica, funciona más efectivamente cuando se reduce la
variación de imagen. _ Cuánto se reduce la variación es una función del contenido de la imagen original y el número de niveles de cuantificación N. Opcionalmente, las etapas 30 hasta 36 se repiten para dos o más valores diferentes de N y se selecciona el valor que da la mejor proporción de compresión. Como otra opción, las etapas 30 y 32 pueden aplicarse recursivamente a la imagen cuantificada con un número más pequeño de niveles de cuantificación en cada recursión. Preferentemente, para cada región de cada una de las imágenes reordenadas resultantes, se reduce el número de bits por pixel, para almacenar no todo el valor de nivel de gris, pero preferentemente la diferencia entre el valor de nivel de gris y un umbral apropiado. (Esta etapa puede igualmente aplicarse a la imagen reordenada 59 aún sin la recursión) . Como un resultado, aunque se necesitarán cuatro o más imágenes para comprimirse y almacenarse, la baja variación de esas imágenes pueden dar como resultado un archivo de salida que tiene todavía mejor proporción de compresión que la que podría lograrse sin la recursión. Además, aunque los pixeles en la imagen 59 se ordenan de manera serial a lo largo de la cuadrícula, también son posibles otros esquemas de reordenamiento. Por ejemplo, cada nivel puede ubicarse en un sector de la imagen reordenada, tal como un cuadrante de la imagen en el caso de
que se utilicen cuatro niveles de cuantificación. De acuerdo con una modalidad preferida de la presente invención, la Figura 4 es un diagrama de flujo que ilustra esquemáticamente un método para la descompresión de un archivo de imagen que se comprimió utilizando el método de la Figura 2. El método inicia las etapas 60 y 62 de descompresión en donde la imagen cuantificada comprimida y la imagen reordenada comprimida se leen respectivamente a partir del archivo de salida producido en la etapa 38 y se descomprime utilizando el algoritmo de descompresión apropiado . A una etapa 64 de reemplazo de pixel, los valores de pixel cuantificados en la imagen cuantificada descomprimida se reemplazan por los valores correspondientes de la imagen reordenada. Para llevar a cabo este remplazo, la imagen cuantificada se rastrea preferentemente en el orden de la cuadrícula para pixeles que pertenecen al primer valor de cuantificación. Este es el nivel más bajo en- el ejemplo de la Figura 3 , cuyos valores de pixel se almacenan en la región 42 de la imagen 59. En esta etapa, los valores de los pixeles 43 y 45 se representan de regreso a sus ubicaciones apropiadas en la imagen 40. Este proceso de exploración y reemplazo de los valores de pixel se repiten entonces para todos los niveles de cuantificación restantes en orden, hasta que todos los valores de pixel se representen de regreso a
sus ubicaciones originales. Debido a que se almacenaron los valores de pixel en la imagen 59 en el orden de la cuadrícula, no se necesitan en esta etapa para indicadores u otros datos auxiliares más allá de la imagen cuañtificada en sí. En una etapa de salida de imagen 66, la imagen 40 original por ejemplo, se reconstruye y emite para desplegarse en la pantalla 26. Asumiendo un algoritmo sin pérdidas, tal como el LZW, que se utilizó en las etapas 34 y 36 (Figura 2), la imagen original se reproduce exactamente sin pérdida de información. De manera alternativa, puede utilizarse un algoritmo con pérdidas . Se apreciará que las modalidades preferidas descritas arriba se citan a manera de ejemplo y que la presente invención no se limita a lo que se ha mostrado y descrito particularmente anteriormente. Preferentemente, el alcance de la presente invención incluye tanto combinaciones y subcombinaciones de varias características descritas anteriormente, así como variaciones y modificaciones de la misma que pueden ocurrir para personas expertas en la materia al leer la descripción anterior y que no se describe en la técnica anterior.