ES2265532T3 - Generacion de archivos de contenido raster mixto. - Google Patents

Generacion de archivos de contenido raster mixto. Download PDF

Info

Publication number
ES2265532T3
ES2265532T3 ES03006252T ES03006252T ES2265532T3 ES 2265532 T3 ES2265532 T3 ES 2265532T3 ES 03006252 T ES03006252 T ES 03006252T ES 03006252 T ES03006252 T ES 03006252T ES 2265532 T3 ES2265532 T3 ES 2265532T3
Authority
ES
Spain
Prior art keywords
image
layer
images
areas
selection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES03006252T
Other languages
English (en)
Inventor
Henry W. Burgess
Ming Liu
Raman Narayanan
Radoslav Nickolov
Wei Zhu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of ES2265532T3 publication Critical patent/ES2265532T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Holo Graphy (AREA)
  • Image Processing (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Record Information Processing For Printing (AREA)
  • Communication Control (AREA)

Abstract

Un procedimiento para interpretar imágenes compuestas, en el cual una imagen compuesta es una combinación de una capa de fondo (401; 601), una capa de selección (402; 602) y una capa superior (403; 603); comprendiendo cada una de dichas capas al menos una imagen con contenido; comprendiendo dicho procedimiento las etapas de: determinar (911) un área de contorno para cada imagen; generar (912) cuatro listas en las cuales dicha primera lista refleja aquellas áreas (607, 609) con ningún solape entre imágenes, en las cuales dicha segunda lista refleja aquellas áreas (610) en las cuales las áreas (606, 610) de la capa de selección no se solapan con las áreas (607, 609) de la capa superior, en las cuales dicha tercera lista refleja aquellas áreas en las que sólo se solapan las áreas (606, 610) de las capas de selección y superior, y en las cuales dicha cuarta lista refleja aquellas áreas (606, 608) en las cuales se solapan las áreas (605-610) de las capas de fondo, de selección y superior.

Description

Generación de archivos de contenido raster mixto.
Los aspectos de la presente invención están dirigidos a la generación y el uso de archivos. Más particularmente, la presente invención está relacionada con la interpretación (rendering) de imágenes compuestas.
El uso de archivos no modificables ha aumentado con el crecimiento de internet. Un formato de archivo estándar para publicar documentos es el formato de archivo Adobe Acrobat (generalmente asociado a la extensión .PDF). Otros formatos de archivo incluyen archivos JPEG y archivos de mapas de bits. Una ventaja de estos archivos es que estos formatos de archivo pueden usarse para intercambiar información por internet con una preocupación mínima de que se modifiquen los documentos.
Otro formato de archivo comúnmente utilizado es el archivo MRC o archivo de contenido raster mixto. Este formato de archivo divide una imagen en tres imágenes del mismo tamaño y las almacena con diferentes resoluciones y, en ciertos casos, con diferentes grados o tecnologías de compresión. La Figura 2 muestra un proceso típico para la generación de archivos MRC. Un generador 301 de imágenes emite una imagen fuente 302. La imagen fuente 302 tiene una resolución de imagen de 300 dpi. La imagen fuente 302 es dividida. mediante un proceso 303 de división. en tres imágenes 304-306 independientes. Las tres imágenes independientes incluyen una imagen máscara 304 en blanco y negro (B/N), una imagen superior 305 y una imagen de fondo 306. Las tres imágenes 304, 306 tienen las mismas dimensiones (x, y) que la imagen fuente 302. Según se muestra en la Figura 2, las resoluciones de las tres imágenes 304-306 aparecen como 300 dpi, 300 dpi, y 100 dpi, respectivamente. Mediante el proceso de compresión 307, las tres imágenes pueden ser selectivamente comprimidas a varios grados de compresión por diferentes tecnologías de compresión.
A pesar de las ventajas de poder descomponer una imagen fuente 302 en otros varios archivos 304-306, los archivos MRC tienen el inconveniente de un largo proceso de descomposición (proceso de separación 303), como es sabido en la técnica. El proceso de separación 303 trata de analizar todos los componentes de una imagen y separar los aspectos para su inclusión en cada uno de los archivos 304-306. Existe la necesidad de generar archivos MRC sin el prolongado retardo.
Además, los archivos compuestos 304-306 pueden ser grandes, aunque tengan poco contenido. La Figura 3 muestra una muestra de archivo MRC convencional. El archivo incluye tres capas que incluyen la capa de fondo 401, la capa selectora o capa máscara 402 en blanco y negro o B/N, y la capa superior 403. Con propósitos ilustrativos, la imagen compuesta 411 se muestra como la imagen que resulta cuando se combinan las tres capas (401-403). Como es sabido en la técnica, la capa de fondo tiene una profundidad de color por píxel de 24 bits por píxel (24 bpp), la capa selectora tiene una profundidad de color por píxel de 1 bpp, y la capa de fondo tiene una profundidad de color de 24 bpp.
Cada capa comprende una imagen. Cada imagen tiene las mismas dimensiones (x, y) (según se muestra en las Figuras 2 y 3). Por ejemplo, la capa de fondo 401 incluye una imagen con un contenido 404 en el centro. La capa selectora 402 incluye una imagen con tres juegos de contenidos 405-407. El contenido 405 es "Texto Negro", que pretende representar un texto en negro. El contenido 406 es "Texto de Color A", que es el texto que tiene el color A en la imagen compuesta 411, aunque en la capa selectora 402 está representado como texto en negro. Esto es debido a que la capa selectora 402 tiene sólo una profundidad de color de 1 bpp. Similarmente, el contenido 407 es "Texto de Color B", que es el texto que tiene el color B en la imagen compuesta 411, aunque en la capa selectora 402 es un texto en negro. La capa superior 403 incluye tres juegos de paletas de color que incluyen el negro 408, el color A 409, y el color B 410. Una preocupación relativa al archivo MRC de la Figura 3 es la significativa cantidad de espacio sin usar. El espacio sin usar aumenta el tamaño de la imagen subyacente de cada capa. Este espacio sin usar aumenta el tiempo necesario para las etapas de codificación, descodificación y composición. Además, la combinación del espacio sin usar con el contenido provoca a veces una mala compresión de las capas. En consecuencia, existe la necesidad de minimizar el espacio sin usar en los archivos compuestos 304-306.
Bottou L y otros: "High Quality Document Image Compression with DJVU (Compresión con DJVU de imágenes de documentos de alta calidad)" Journal of Electronic Imaging, SPIE + IS&T, US, vol 7, nº 3,1 de Julio de 1988, páginas 410-425, describen una técnica de compresión de imágenes denominada "DjVu" que está específicamente dirigida a la compresión de imágenes de alta calidad y alta resolución de documentos escaneados en color. Permite la transmisión rápida de imágenes de documentos por conexiones de baja velocidad pero reproduciendo los aspectos visuales del documento. El compresor DjVu separa el texto y los dibujos, que necesitan una elevada resolución espacial, de las fotografías y los fondos, que son más suaves y pueden ser codificados con una menor resolución espacial. Se utilizan dos técnicas para maximizar la relación de compresión. Ambas técnicas usan un codificador aritmético binario adaptativo denominado codificador ZP.
Bottou L y otros: "Efficient Conversion of digital documents to multilayer raster formats (Conversión eficiente de documentos digitales a formatos raster multicapa)" Document Analisys and Recognition, 2001. Proceedings, Sixth Internacional Conference of Seattle, WA, USA, 10-13 Sept 2001, páginas 444-448, describen cómo la descripción de un documento digital puede convertirse en algo eficaz para los formatos raster multicapa.
\newpage
P. Haffner, L. Bottou, Y. L: "A General Segmentation Scheme for DJVU Document Compression (Esquema de segmentación general para la compresión DJVU de documentos)" Internacional Symposium on Mathematical Morphology VI, Proceedings of ISMM2002, 3-5 de Abril de 2002, Sydney, New South Wales, Australia, páginas 17-35, describen una metodología de compresión de imágenes de documentos que utiliza una técnica de coincidencia de patrones que aprovecha las similitudes entre formas de caracteres.
"ITU-T Recommendation T.44 - Mixed Raster Content (MRC)" ITU-T Recommendation T.44, Abril 1999, páginas 1-31 proporciona una recomendación que especifica las características técnicas del formato de imagen de contenido raster mixto (MRC) que permite un eficiente tratamiento, intercambio y archivo de páginas raster orientadas que contengan una mezcla de imágenes multinivel y binivel.
El objetivo de la presente invención es proporcionar un procedimiento perfeccionado y un correspondiente medio legible por ordenador que tiene almacenado en si mismo un programa para interpretar imágenes compuestas.
Este objetivo se alcanza mediante el contenido de las reivindicaciones independientes 1 y 6.
En las reivindicaciones dependientes están definidas las realizaciones preferidas.
Los aspectos están dirigidos a la generación y utilización de archivos MRC para resolver una o más de las necesidades anteriormente descritas. En ciertos aspectos, los archivos MRC son generados por drivers de impresión sin que tengan que ser procesados por un proceso de separación. En otros aspectos, cada capa de los archivos MRC puede incluir una o más imágenes (o sub-imágenes) para permitir una compresión más eficaz que una única imagen que cubra cada capa. Estos diversos aspectos pueden ser utilizados independientemente o combinados.
Estas y otras características de la invención se harán aparentes tras considerar la siguiente descripción detallada de diversas realizaciones.
Breve descripción de los dibujos
El anterior resumen de la invención, así como la siguiente descripción detallada de las realizaciones preferidas se entenderán mejor al leerlas en conjunción con los dibujos adjuntos, incluidos a titulo de ejemplo y no a titulo de limitación con respecto a la invención reivindicada.
La Figura 1 es un esquema de un entorno informático digital de propósito general que puede utilizarse para implementar los diversos aspectos de la invención.
La Figura 2 muestra un proceso convencional para crear un archivo de contenido raster mixto.
La Figura 3 muestra un archivo de contenido raster mixto convencional.
La Figura 4 muestra un procedimiento para crear un archivo de contenido raster mixto.
La Figura 5 muestra un ejemplo de archivo de contenido raster mixto según aspectos de la presente invención.
La Figura 6 muestra otro ejemplo de archivo de contenido raster mixto según aspectos de la presente invención.
Las Figuras 7A y 7B muestran diversos procedimientos para crear archivos de contenido raster mixto.
Las Figuras 8A y 8B muestran las etapas de un procedimiento alternativo a la Figura 7A.
Las Figuras 9A y 9B muestran diversos procedimientos para interpretar una imagen compuesta a partir de un archivo de contenido raster mixto según aspectos de la presente invención.
La Figura 10 muestra otro procedimiento ejemplar para crear un archivo de contenido raster mixto.
La Figura 11 muestra un procedimiento ejemplar para mezclar imágenes.
La Figura 12 muestra diversos resultados para mezclar imágenes.
La Figura 13 muestra un procedimiento ejemplar para fijar la proximidad entre imágenes.
La Figura 14 muestra dos imágenes y varias representaciones del espacio consumido por su mezcla.
Las Figuras 15A, 15B y 15C muestran varias representaciones del conteo del espacio consumido en las imágenes combinadas.
Descripción detallada
La siguiente descripción está dirigida a archivos de contenido raster mixto. Se apreciará que los conceptos y aproximaciones descritos pueden ser aplicados a otros tipos de archivo. Además, se describen varios procedimientos. Estos procedimientos se proporcionan como ejemplos que pueden utilizarse y no están considerados como las únicas expresiones de los diversos procedimientos utilizados para generar o usar los archivos de contenido raster mixto perfeccionados. Adicionalmente, el color de píxel de la capa selectora se refiere generalmente como blanco y negro. Se apreciará que la capa selectora sólo puede tener una profundidad de color de 1 bit por píxel y por lo tanto sólo puede tener píxeles activos o inactivos (o estado de color 1 y estado de color 0). El blanco y el negro se utilizan para simplificar la nomenclatura. No obstante, en su lugar podría utilizarse cualquier color (por ejemplo, fucsia y cian) o "activado y desactivado" y similares.
La Figura 1 ilustra un esquema de un entorno informático digital de propósito general convencional que puede usarse para implementar diversos aspectos de la presente invención. En la Figura 1, un ordenador 100 incluye una mezcladad procesadora 110, una memoria 120 del sistema, y un bus 130 del sistema que acopla a la mezcladad procesadora 110 los diversos componentes del sistema incluyendo la memoria del sistema. El bus 130 del sistema puede ser cualquiera de los diversos tipos de estructuras de bus, incluyendo un bus de memoria o un controlador de memoria, un bus periférico, y un bus local que utilice cualquiera de las diversas arquitecturas de bus. La memoria 120 del sistema incluye la memoria de sólo lectura (ROM) 140 y la memoria de acceso aleatorio (RAM) 150.
En la ROM 140 está almacenado un sistema de entradas/salidas básicas (BIOS) 160, que contiene las rutinas básicas que ayudan a transferir información entre los elementos internos del ordenador 100, tal como durante el arranque. El ordenador 100 incluye también un mecanismo de disco duro 170 para leer y escribir en un disco duro (no representado), un mecanismo de disco magnético 180 para leer o escribir en un disco magnético extraíble 190, y un mecanismo de disco óptico 191 para leer o escribir en un disco óptico extraíble 192 tal como un CD ROM u otro medio óptico. El mecanismo de disco duro 170, el mecanismo de disco magnético 180, y el mecanismo de disco óptico 191 están conectados al bus 130 del sistema por una interfaz 192 del mecanismo de disco duro, una interfaz 193 del mecanismo de disco magnético, y una interfaz 194 del mecanismo de disco óptico, respectivamente. Los mecanismos y sus correspondientes medios legibles por ordenador proporcionan el almacenamiento no volátil de instrucciones legibles por ordenador, estructuras de datos, módulos de programa y otros datos para el ordenador personal 100. Los expertos en la técnica apreciarán que en el entorno operativo ejemplar también pueden utilizarse otros tipos de medios legibles por ordenador que puedan almacenar datos que sean accesibles por ordenador, tales como casetes magnéticas, tarjetas de memoria flash, discos de video digital, cartuchos de Bernoulli, memorias de acceso aleatorio (RAM), memorias de sólo lectura (ROM) y similares.
En el mecanismo de disco duro 170, el disco magnético 190, el disco óptico 192, la ROM 140 o la RAM 150 pueden almacenarse diversos módulos de programa incluyendo un sistema operativo 195, uno o más programas de aplicación 196, otros módulos de programa 197, y datos de programa 198. Un usuario puede introducir órdenes e información en el ordenador 100 a través de dispositivos de entrada tales como un teclado 101 y un dispositivo de puntero 102. Otros dispositivos de entrada (no representados) pueden incluir micrófono, joystick, mando para juegos, plato satélite, escáner o similar. Estos y otros dispositivos de entrada suelen estar conectados a la mezcladad procesadora 110 a través de una interfaz 106 de puerto serie que está acoplada al bus del sistema, pero pueden estar conectados mediante otras interfaces, tales como un puerto paralelo, un puerto para juegos o un bus serie universal (USB). Más adicionalmente, estos dispositivos pueden ser acoplados directamente al bus 130 del sistema a través de una interfaz apropiada (no representada). Un monitor 107 u otro tipo de dispositivo visualizador está conectado también al bus 130 del sistema a través de una interfaz tal como un adaptador 108 de video. Además del monitor, los ordenadores personales incluyen típicamente otros dispositivos periféricos de salida (no representados), tales como altavoces e impresoras. En algunas realizaciones, se provee un digitalizador 165 de lápiz y un correspondiente lápiz o punzón 166 para capturar digitalmente entradas a mano alzada. Aunque se muestra una conexión entre el digitalizador 165 de lápiz y el puerto 106 de interfaz serie, en la práctica el digitalizador 165 de lápiz puede estar acoplado directamente a la mezcladad procesadora 110 a través de un puerto paralelo u otra interfaz y del bus 130 del sistema, como es sabido en la técnica. Adicionalmente, aunque el digitalizador 165 está representado separado del monitor 107, la zona del digitalizador 165 utilizable para las entradas puede ser coextensiva con la zona de visualización del monitor 107. Más adicionalmente, el digitalizador 165 puede estar integrado en el monitor 107, o puede existir como dispositivo independiente superpuesto o añadido de algún otro modo al monitor 107.
El ordenador 100 puede funcionar en un entorno de red usando conexiones lógicas a uno o más ordenadores remotos, tales como un ordenador remoto 109. El ordenador remoto 109 puede ser un servidor, un router, un PC de red, un dispositivo punto a punto "peer" u otro nodo de red común, y típicamente incluye todos o muchos de los elementos descritos anteriormente con respecto al ordenador 100, aunque en la Figura 1 se ha ilustrado únicamente un dispositivo 111 de memoria de almacenamiento. Las conexiones lógicas representadas en la Figura 1 incluyen una red de área local (LAN) 112 y una red de área extensa (WAN) 113. Tales entornos de red son comunes en oficinas, redes informáticas de empresas, intranets e Internet.
Cuando se utiliza en un entorno de red LAN, el ordenador 100 se conecta a la red local 112 a través de una interfaz de red o adaptador 114. Cuando se usa en un entorno de red WAN, el ordenador personal 100 incluye típicamente un modem 115 u otro medio para establecer una comunicación por la red de área extensa 113, tal como Internet. El modem 115, que puede ser interno o externo, está conectado al bus 130 del sistema a través de la interfaz de puerto serie 106. En un entorno de red, los módulos de programa representados con referencia al ordenador personal 100, o partes de los mismos, pueden ser almacenados en el dispositivo remoto de memoria de almacenamiento.
Se apreciará que las conexiones de red representadas son ejemplares y que pueden usarse otras técnicas para establecer un enlace de comunicaciones entre los ordenadores. Se presupone la existencia de cualquiera de los diversos protocolos conocidos tales como TCP/IP, Ethernet, FTP, HTTP y similares, y el sistema puede funcionar en una configuración de cliente/servidor que permita a un usuario recuperar paginas web de un servidor basado en la red. Para visualizar y manipular datos en las páginas web puede utilizarse cualquiera de los ojeadores convencionales de red.
La Figura 4 muestra un procedimiento para crear un archivo de contenido raster mixto. Un generador 500 de imágenes (por ejemplo, un programa de pintura, un programa de procesamiento de textos, un sistema de publicación de webs, y similares) envía el contenido del archivo MRC (las tres capas: capa selectora 502, capa superior 503 y capa de fondo 504) sin emitir una imagen compuesta que necesita ser convertida (es decir, dividida) mediante el procedimiento 303 de la Figura 2. Esta emisión puede incluir llamadas a un motor 501 de interpretación gráfica (por ejemplo, el GDI API comercializado por Microsoft Corporation de Redmond, Washington). También pueden utilizarse otros interpretadores gráficos 501. Alternativamente, la interpretación puede tener lugar totalmente dentro del generador 500 de imágenes. Finalmente, el archivo MRC puede ser comprimido opcionalmente por el motor de compresión selectiva 505. La compresión es opcional, según se muestra mediante un recuadro de trazos.
La Figura 5 muestra un ejemplo de un archivo de contenido raster mixto según aspectos de la presente invención. El archivo MRC incluye tres capas: capa de fondo 601, capa selectora 602 y capa superior 603. La imagen compuesta 604 se muestra con propósitos explicativos. La capa de fondo incluye el contenido 605. El contenido de fondo 605 puede ser representado por una imagen del tamaño de la imagen compuesta 604. Alternativamente el contenido de fondo puede ser representado por una imagen que tenga un rectángulo de contorno inferior al tamaño de la imagen compuesta 604. La capa selectora 602 incluye el contenido 606 representado por "texto de color A" que, aunque está representado por un texto que tiene el color de la fuente A, la capa selectora 602 representa el contenido 606 como texto en negro. La capa superior 603 incluye el texto en negro 607, un rectángulo 608 coloreado en color A, y un contenido 609 como "texto de color B" en el color de la fuente B. El rectángulo coloreado 608 puede ser eliminado en ciertos casos. Por ejemplo, si el texto tiene un color uniforme y puede ser representado por la combinación de las capas de selección y de fondo. El contenido 607-609 puede ser representado como una única imagen del tamaño de la imagen compuesta 604 (similar a las anteriores descripciones de tamaño idéntico). Alternativamente, el contenido 607-609 puede ser representado por dos o más imágenes (o sub-imágenes). Las imágenes pueden estar definidas por áreas contorneadas (rectángulos u otras formas, según es sabido en la técnica) según se representan mediante las áreas contorneadas que rodean a cada uno de los contenidos 607-609.
Según se muestra en la Figura 5, la capa de selección 602 se utiliza cuando una imagen superior se solapa con una imagen de fondo. En este caso, al empujar el contenido desde la capa de selección hasta la capa superior se hace que sea más rápida la tarea de interpretación, ya que no es necesario comprobar y efectuar una selección o un "alpha blending" cuando el contenido superior y el de fondo no se solapan. Otro aspecto es que el texto de color uniforme y ciertos dibujos de líneas pueden ser almacenados como imágenes binarias en la capa superior con una adecuada paleta de color, en lugar de almacenarlos como una imagen binaria en la capa selectora más una imagen de color en la capa superior. Se cree que empujando el contenido de la capa selectora hasta la capa superior se aumenta la compresión y el rendimiento de la interpretación.
En la Figura 5 se muestra otra combinación en la cual las capas de selección y de fondo están presentes sin ninguna capa superior. En este caso, cuando hay un píxel no blanco en la capa de selección pero no hay un correspondiente píxel en la capa superior, el color del píxel de la imagen compuesta es el de la capa de selección. Esta combinación es corriente y puede ser más eficaz para el rendimiento de la interpretación y para la compresión que la combinación de capas de fondo, selección y superior.
La capa superior puede tener una gran profundidad de color (por ejemplo, 24 bpp). En una realización, todas las imágenes de la capa superior tienen la misma profundidad de color. Alternativamente, las imágenes de la capa superior pueden tener una o más profundidades de color. Por ejemplo, el contenido 607 puede tener una profundidad de color de 1 bpp, mientras que los contenidos 608 y 609 tienen una diferente profundidad de color de 24 bpp. Existen situaciones en las que el color real que debe asociarse a una región puede ser definido sin necesidad de una gran profundidad de color. Por lo tanto, en una realización adicional, el contenido 608 puede tener una profundidad de color de 8 bpp, mientras que el contenido 609 puede tener una profundidad de color diferente de 1 bpp y 8 bpp (incluyendo, pero sin limitación, 2 bpp, 4 bpp, 16 bpp, 24 bpp, 32 bpp, y así sucesivamente). El uso de la profundidad de color hasta el punto necesario para definir un margen de color (en lugar de uno fijo para toda una capa) permite una compresión mayor y/o más eficiente, al eliminarse en cada píxel los bits especificadores de color innecesarios, y/o una compresión más rápida y una mejor interpretación.
La capacidad de definir profundidades de color en base a cada imagen o colección de imágenes en una capa es también aplicable a la capa de fondo.
La Figura 6 muestra otra representación de un archivo MRC. En este caso, la imagen de fondo 610 está combinada con el "texto de color C" 611 y el "texto negro" 612 para formar una imagen compuesta 613. Cada imagen 610, 611 y 612 tiene un tamaño menor que el tamaño de la imagen compuesta. En este ejemplo alternativo, la suma combinada de las imágenes 610, 611 y 612 es inferior al tamaño de la imagen compuesta.
La Figura 7A muestra un procedimiento ejemplar para crear un archivo de contenido raster mixto. El procedimiento empieza en la etapa 701 de la aplicación de generación de imagen. En primer lugar, el texto y los dibujos lineales son procesados en la etapa 702. Si existe texto y/o dibujos lineales, son añadidos a la capa selectora en la etapa 703. El color de la línea o texto es utilizado para crear una zona de color para el fondo en la etapa 704. El área de color puede ser rectangular o de cualquier otra forma, según sea necesario, para definir el área en la capa superior para especificar adecuadamente el color del texto y/o las líneas procedentes de la etapa 702. A continuación, las fotografías residentes en el archivo de imagen son procesadas en la etapa 705 y añadidas a la capa de fondo en la etapa 706.
El ejemplo de la Figura 7A muestra la capacidad de procesar imágenes directamente desde una aplicación, según haya sido enviada a un driver de dispositivo, o desde un metarchivo sometido a "spooling". Por el contrario, la aproximación convencional para generar el archivo MRC es tomar una imagen compuesta intacta y dividirla en varios componentes mediante el procedimiento de separación 303. El procedimiento de separación 303 es propenso a errores y consume recursos significativos para manejar el procedimiento de descomposición de imágenes. Sin embargo, el ejemplo de la Figura 7A proporciona la capacidad de generar archivos MRC sin el procedimiento de separación, ya que el ejemplo de la Figura 7A maneja los diversos componentes de una imagen mientras los diversos componentes son aun alcanzables por separado.
La Figura 7B muestra un procedimiento alternativo para crear un archivo MRC. En este caso, cuando un interpretador gráfico arranca el procedimiento de generación de MRC en la etapa 701, las llamadas gráficas son listadas con las áreas aplicables de la imagen en la etapa 708. Para cada área de imagen, la lista puede incluir uno o más de los siguientes:
-
Área de contorno;
-
Tipo de salida gráfica; y
-
Color utilizado
A continuación, en la etapa 709, si el área de la imagen es texto o dibujos lineales, se añade el área de la imagen a la capa selectora en la etapa 703. Si no es así, en la etapa 710 el área de la imagen es añadida a la capa superior o a la de fondo. Cualquier tipo de imagen es añadida a la capa superior o a la de fondo, haciendo que la capa superior o la de fondo sean una buena representación del documento.
Las Figuras 8A y 8B muestran varias opciones para la etapa 704 de la Figura 7A. En la Figura 8A, el color de fuente o de brocha del texto y de las líneas, respectivamente, es anotado en la etapa 801 y pasado a la etapa 803. Además, en la etapa 802, se determina el área o áreas de contorno (que pueden ser rectángulos u otras formas que definan los contornos del texto y/o las líneas) y se pasa a la etapa 803. Las etapas 801 y 802 pueden producirse en cualquier orden o pueden manejarse al mismo tiempo. Se apreciará adicionalmente que las áreas determinadas en la etapa 802 no tienen que estar completamente llenas. Por ejemplo, un dibujo lineal de un círculo puede tener un área de contorno en forma de toro. En la etapa 803, el área o áreas determinadas por la etapa 802 se pintan como áreas llenas en la capa superior.
La Figura 8B muestra otra alternativa para la etapa 704. En primer lugar, en la etapa 804 se escanea cada píxel de la capa de selección. Si en la etapa 805 se determina que el píxel es negro, entonces se usa el color del píxel del fondo para rellenar el color de un correspondiente píxel de la capa superior en la etapa 806. La etapa 804 de escaneo puede cubrir cada píxel de toda la capa selectora.
Alternativamente, puesto que la capa selectora puede romperse en imágenes que contengan contenido, la etapa 804 puede escanear sólo las imágenes de la capa selectora. Como el área de la capa selectora no consumida por imágenes no contendría contenido, estas áreas no serían escaneadas por la etapa 804.
En otro aspecto de la invención, se modifica la disposición del archivo MRC. La Figura 9A muestra un procedimiento ejemplar para interpretar una imagen compuesta a partir de un archivo de contenido raster mixto de la Figura 6. En la etapa 901, el sistema empieza a construir una imagen compuesta a partir de las diversas capas de MRC. Para todos los píxeles de la imagen compuesta, se determina en la etapa 902 si un píxel está en una capa selectora. En caso afirmativo, el sistema determina en la etapa 905 si el píxel de la capa selectora es blanco. Si el píxel es blanco, el sistema comprueba en la etapa 906 si hay un píxel en la capa de fondo. Si no hay ningún píxel en la capa de fondo, en la etapa 909 se usa el color de fondo por defecto, si no es así, en la etapa 910 se utiliza el color del correspondiente píxel de la capa de fondo.
Si en la etapa 905 el píxel de la capa selectora no es blanco, el sistema comprueba en la etapa 907 si hay un píxel en la capa superior. Si no hay ningún píxel en la capa superior, en la etapa 908 se usa el color del píxel de la capa de selección. Si en la etapa 907 hay un píxel en la capa superior, en la etapa 904 se usa el color del píxel correspondiente de la capa superior.
Si en la etapa 902 no hay ningún píxel en la capa selectora, el sistema determina en la etapa 903 si hay un píxel en la capa superior. Si hay un píxel en la capa superior, el sistema usa en la etapa 904 el color del correspondiente píxel de la capa superior. Si no es así, el sistema determina en la etapa 906 si hay un píxel en la capa de fondo y continúa según se describió anteriormente.
Si en la etapa 902 no había ningún píxel en la capa selectora, el sistema determina en la etapa 903 si hay un correspondiente píxel en la capa superior. Si no, se usa (etapa 906) el color del correspondiente píxel de la capa de fondo. Si no hay un correspondiente píxel en la imagen de fondo, puede usarse un color de píxel por defecto (por ejemplo, blanco o gris, o incluso puede diseñarse como transparente). Si el resultado de la etapa 903 es sí, se usa (etapa 904) el color del correspondiente píxel de la capa superior.
La Figura 9B muestra un proceso para combinar las múltiples capas en una imagen compuesta. Desde el inicio en 901, el sistema obtiene los rectángulos u otras formas de contorno para el contenido de las capas. A continuación, el sistema calcula cuatro listas. La primera lista (NOL_FGBG) representa las áreas en las cuales la capa superior no se solapa con las áreas de selección, y las áreas en las que el fondo no se solapa con las áreas superiores. La segunda lista (SEL) representa las áreas en las que la selección no se solapa con las áreas superiores. La tercera lista (SELFG) representa las áreas en las que sólo se solapan las áreas de selección y superior. La cuarta lista (BGFGSEL) representa las áreas en las que se solapan todas las capas de fondo, de selección y superior.
A continuación, en la etapa 913 se rellena la imagen compuesta con un color de fondo por defecto. En las etapas 914-917 se procesa cada lista. En la etapa 904, cada área de la primera lista (NOL_FGBG), cuando exista un área superior, es rellenada con la imagen superior. En caso contrario, el área es rellenada con la imagen de fondo.
En la etapa 915, en cada área de la segunda lista (SEL), cuando el píxel de la capa de selección es blanco, no se hace ninguna modificación de la imagen compuesta. En caso contrario, se usa el valor del color del píxel de la capa de selección.
En la etapa 916, en cada área de la tercera lista (SELFG), cuando el píxel de la capa de selección es blanco, no se hace ninguna modificación de la imagen compuesta. En caso contrario, se usa el valor del color del píxel de la capa superior.
En la etapa 917, en cada área de la cuarta lista (BGFGSEL), cuando el píxel de la capa de selección es blanco, se usa el color de la capa de fondo. En caso contrario, se usa el valor del color del píxel de la capa superior.
La Figura 10 muestra otro procedimiento ejemplar para crear un archivo de contenido raster mixto. El procedimiento representado en la Figura 10 produce el archivo MRC de la Figura 6. El procedimiento comienza en la etapa 1001, en la cual se inicia el procedimiento. En un ejemplo, la etapa 1000 puede ser la recepción de una orden para imprimir el archivo MRC. Como la etapa 1000 puede ser parte de una aplicación, parte de una herramienta gráfica solicitada por una aplicación, o puede ser un huésped de otros modos de iniciar la creación del archivo MRC, la etapa 1000 está representada en un recuadro de trazos.
Con propósitos de simplicidad, lo que sigue se describe en relación con la creación de archivos MRC en un driver de impresora. Lo que sigue incluye referencia al GDI API, disponible en el sistema operativo WINDOWS ® comercializado por Microsoft Corporation, que expone varias llamadas para la manipulación de imagen. Se apreciará que sistemas operativos que incluyan LINUX y sistemas basados en Apple tendrán variaciones en las diversas llamadas. En consecuencia, como todos los sistemas operativos y los drivers de impresora pretenden ser abarcados por el alcance de esta descripción, la referencia a las llamadas GDI no pretende ser limitativa y únicamente tiene propósitos explicativos.
Para construir un driver de impresora usando GDI, pueden utilizarse diversas llamadas. Lo que sigue describe diversas llamadas que ayudan a dividir el contenido en varias capas. Las llamadas pueden ser descritas generalmente como DrvXXX GDI APIs. Específicamente, estas incluyen:
-
DrvCopyBits
-
DrvBitBlt
-
DrvStretchBlt
-
DrvStrokePath
-
DrvFillPath
-
DrvStrokeAndFillPath
-
DrvLineTo
-
DrvTextOut
-
DrvAlphaBlend
-
DrvGradientFill
-
DrvPlgBlt
-
DrvStretchBltROP
-
DrvTransparentBlt
Estas llamadas se dividen en procedimientos generadores de capa superior y procedimientos generadores de capa de fondo según sigue:
-
Procedimientos generadores de capa superior
\circ
DrvStrokePath
\circ
DrvLineTo
\circ
DrvTextOut
\circ
DrvBitBlt
-
Procedimientos generadores de capa de fondo
\circ
DrvCopyBits
\circ
DrvBitBlt
\circ
DrvStretchBlt
\circ
DrvAlphaBlend
\circ
DrvGradientFill
\circ
DrvPlgBlt
\circ
DrvStretchBltROP
\circ
DrvTransparentBlt
\circ
DrvFillPath
\circ
DrvStrokeAndFillPath
Se apreciará que las interpretaciones gráficas cambian a lo largo del tiempo. En consecuencia, la lista anterior está dada a título de ejemplo. Se apreciará que los expertos en la técnica pueden usar o podrán conocer otras llamadas que se consideran dentro del alcance de las llamadas gráficas indicadas anteriormente.
A efectos explicativos, el procedimiento de impresión puede dividirse en dos estadios. Estos dos estadios están representados por las mitades izquierda y derecha de la Figura 10. Durante el primer estadio, se crean dos buffers de mapas de bits en la etapa 1001. Los dos mapas de bits son la capa de selección y una combinación de capa de fondo y capa superior. La capa combinada puede denominarse BGFG_SURFACE y la capa de selección puede denominarse SEL_SURFACE. Ambos mapas de bits cubren la totalidad de la página. En la etapa 1002, el sistema determina si una de las llamadas recibidas era una llamada DrvXXX generadora de capa superior. Alternativamente, pueden usarse las llamadas FillPath y StrokeandFillPath, en lugar de las llamadas BitBlt, cuando un pincel es un color sólido y se usan varias operaciones de raster. En caso afirmativo, en la etapa 1004 se interpretan tanto BGFG_SURFACE como SEL_SURFACE usando una correspondiente llamada EngXXX (como parte de GDI API) sobre BGFG_SURFACE y SEL_SURFACE independientemente. Si la llamada fuese una llamada DrvXXX generadora de capa de fondo, (representada por "no" en la etapa de decisión 1002), se interpreta sobre BGFG_SURFACE usando la correspondiente llamada EngXXX de la caja de herramientas de GDI API en la etapa 1006.
Además, para cada llamada DrvXXX, se crea un nodo de datos que contiene al menos alguna de las siguientes informaciones:
-
Rectángulo o área de contorno que pueda ser afectada por la llamada DrvXXX,
-
Valor de color del texto para la llamada DrvTextOut y para los dibujos lineales.
-
Número de identificación (ID) para identificar el tipo de llamada DrvXXX.
Adicionalmente, cada nodo es añadido a una lista de elementos de fondo (BGE_LIST) o a una lista de elementos superiores (FGE_LIST) para ser procesado en el segundo estadio. Las etapas 1003 y 1005 del procedimiento muestran que el nodo puede ser desplazado a cada una de las listas. Sin embargo, puesto que la localización de estas etapas puede producirse antes o después de las etapas 1004 y 1006, las etapas 1003 y 1005 están representadas en recuadros de trazos.
BGFG_SURFACE puede tener una resolución igual a la resolución más elevada que se utilice para las imágenes de las capas de fondo y superior. Alternativamente, la resolución de la BGFG_SURFACE puede fijarse a la misma resolución que la resolución de la página en la imagen final.
El segundo estadio comienza después de haber sido procesadas todas las llamadas de DrvXXX. En este estadio se generan las imágenes para las tres capas. En la etapa 1007, el proceso determina si se solapan las imágenes de la lista de la capa de fondo y de la lista de la capa superior. En caso afirmativo, las imágenes se procesan añadidas a las imágenes que deben ser combinadas por el procedimiento (o procedimientos) MRC. Si las imágenes no se solapan, el procedimiento trata de desplazar las imágenes a la lista de selección en la etapa 1009. Para determinar si se necesita una imagen de selección, se realiza una prueba de intersección de cada imagen de la BGE_LIST con cada imagen de la FGE_LIST. Todas las áreas (rectangulares o de otro tipo) en las que intersecten elementos superiores y elementos de fondo están afectadas por una imagen de selección.
En un ejemplo, el procedimiento trata de colocar en la capa superior tantas imágenes de la capa de selección como sea posible. En otro ejemplo, el procedimiento trata de mantener al mínimo la suma de las áreas de todas las imágenes para reducir el tamaño de compresión y aumentar la prestación en los estadios de compresión, descompresión e interpretación. En un ejemplo adicional, el procedimiento trata de obtener el menor número de imágenes totales en todas las capas. Estos ejemplos pueden combinarse o utilizarse independientemente. Se han descrito juntos con propósitos explicativos.
En la etapa 1010, el proceso trata de reducir el número de ítems o de imágenes por capa. Por ejemplo, pueden combinarse dos imágenes de texto del mismo color que no se solapen.
En la etapa 1010, el proceso trata de reducir el número de elementos en las capas. En este caso, se combinan entre sí elementos de la misma capa para hacer de los elementos grandes elementos mayores. Debe observarse que esta etapa podría introducir nuevos ítems en las listas. A continuación se listan varias aproximaciones para combinar los elementos. Puede utilizarse una o más para determinar cómo se agrupan los elementos de las capas:
-
El elemento combinado evitará crear nuevos solapes con elementos de otras capas, a menos que al hacerlo se obtengan beneficios en otros aspectos listados más adelante;
-
El área del elemento combinado no será mucho mayor que la suma de los elementos individuales. Puede fijarse un límite (por ejemplo, 30%-40%) y comparar con el mismo para determinar si los elementos combinados están haciéndose demasiado grandes; y
-
Las llamadas especificas para interpretación pueden tener calificadores (por ejemplo, los elementos de la capa superior creados por DrvTextOut no se combinarán con elementos creados por otras llamadas DrvXXX porque tienen diferentes valores de BPP. Además, dentro de los elementos de la capa superior creados por DrvTextOut, sólo pueden combinarse elementos con el mismo color.
Después de determinar como descomponer la página, existen tres listas:
-
BGE_LIST;
-
SLE_LIST; y
-
FGE_LIST.
Cada lista contiene una lista de nodos que describen el área (por ejemplo, rectángulo u otra forma) para recoger de la página. En otra realización, las listas pueden incluir un factor de escala que describe como puede escalarse la imagen de la lista en la imagen final. El factor de escala permite la capacidad de almacenar cada imagen de elemento con una resolución diferente, incluso dentro de la misma capa.
Finalmente, en la etapa 1011 se interpretan las diversas capas. Para cada elemento de la lista de elementos de fondo que no intersecte con imágenes de la capa de selección, puede formarse una imagen recogiendo un área de la BGFG_SURFACE y colocándola en la capa de fondo. Para cada elemento de la lista de elementos de la capa superior que no intersecte con imágenes de la capa de selección, puede formarse una imagen recogiendo un área de la SEL_SURFACE y añadiéndola a la capa superior. Para los elementos de las listas de fondo y superior que intersecte con imágenes de la capa de selección, se crean imágenes para cada capa usando tanto SEL_SURFACE como BGFG_SURFACE.
Por ejemplo, refiriéndose también a la opción de comparación de intersección píxel por píxel de la Figura 9B, para un elemento de fondo que intersecte con la imagen de selección, puede construirse la imagen de fondo recogiendo un área de BGFG_SURFACE. A continuación, para cada píxel de la imagen de fondo, el procedimiento comprueba el correspondiente píxel de la SEL_SURFACE. Si el píxel de la SEL_SURFACE es negro, el valor del píxel de la imagen de fondo se sustituye con un píxel de fondo cercano cuyo correspondiente píxel en la SEL_SURFACE sea blanco. Para un elemento superior que intersecte con la imagen de selección, puede construirse la imagen superior recogiendo un área de BGFG_SURFACE. A continuación, para cada píxel de la imagen superior, el procedimiento comprueba el correspondiente píxel de la SEL_SURFACE. Si el píxel de la SEL_SURFACE es blanco, el valor del píxel de la imagen de fondo se sustituye con un píxel superior cercano cuyo correspondiente píxel en la SEL_SURFACE sea negro. Una ventaja de desplazar imágenes a la capa selectora y/o de reducir el número de imágenes por capa es que las capas resultantes pueden ser comprimidas con mayor eficacia.
Según se mencionó anteriormente, pueden usarse diversas técnicas de compresión para comprimir las diversas imágenes. Por ejemplo, cada imagen de 1 bpp puede ser comprimida usando compresión G4. Cada imagen de 24 bpp puede ser comprimida usando compresión JPEG según es sabido en la técnica.
La Figura 11 muestra un procedimiento para mezclar imágenes. Las imágenes pueden ser procesadas todas juntas o pueden ser divididas en grupos (denominados aquí "bloques"). Las imágenes pueden estar agrupadas en los bloques por tipos de imagen. Alternativamente, los bloques pueden estar agrupados por el orden en que fueron creados. Los bloques pueden tener o no un número máximo de imágenes predeterminado.
En la Figura 11, el bloque 1 tiene N imágenes. Las imágenes están dispuestas por orden de proximidad entre sí. La proximidad se describe más adelante con relación a la Figura 13. La proximidad puede ser contemplada como distancia física entre las imágenes o puede ser la cercanía mutua de las imágenes con propósitos de mezcla. Si dos imágenes se solapan, su valor de proximidad es "0", significando que tienen el valor de proximidad más bajo y deben ser mezcladas. A las imágenes que no deben ser mezcladas hay que adjudicarles un valor de proximidad igual o superior a 1. Se apreciará que puede utilizarse cualquier escala de proximidad.
Todas las imágenes del bloque 1 se comparan entre sí y cada par de imágenes es clasificado en términos del valor de proximidad. Si N=5 en la Figura 11, las parejas de imágenes serán las siguientes:
Imagen 1, Imagen 2
Imagen 1, Imagen 3
Imagen 1, Imagen 4
Imagen 1, Imagen 5
Imagen 2, Imagen 3
Imagen 2, Imagen 4
Imagen 2, Imagen 5
Imagen 3, Imagen 4
Imagen 3, Imagen 5
Imagen 4, Imagen 5
Se determina la proximidad para cada pareja y se ordenan las parejas según se muestra en la Figura 11 para el bloque 1 del lado izquierdo de la Figura.
En la etapa 1101, para la primera pareja de imágenes, el procedimiento determina si el límite es inferior a un límite predeterminado. En caso afirmativo, las imágenes son mezcladas en la etapa 1102 y se recalcula la proximidad para las imágenes restantes. Si en la etapa 1101 la proximidad es superior al límite, la mezcla puede detenerse en la etapa 1104. Por ejemplo, el límite puede fijarse en cualquier valor comprendido entre el valor de baja proximidad (significando que las imágenes deben ser mezcladas) y el valor de alta proximidad (significando que las imágenes no deben ser mezcladas). El margen para el límite puede ser 0,4 - 0,6. Se hace observar que el valor del límite puede ser superior o inferior al margen anterior dependiendo de los tipos de imágenes, las relaciones entre los tipos de imágenes y otros factores.
Según se indicó anteriormente, el proceso trata de mezclar entre sí las imágenes que están próximas entre sí. Puede obtenerse otra ventaja minimizando el número de imágenes resultantes que la operación MRC tiene que procesar. En este caso, aunque las imágenes puedan no tener una proximidad inferior al límite usado en 1101, puede especificarse un número deseado de imágenes por bloque con objeto de minimizar el número de imágenes a procesar. La etapa 1103 representa una determinación de si el número de imágenes en el bloque es inferior al número deseado de imágenes en el bloque. Por ejemplo, el número deseado de imágenes puede ser 4. Por lo tanto, aunque pueda ser alto el valor de proximidad entre dos cualesquiera de las imágenes, las imágenes aun pueden ser mezcladas (etapa 1102) para reducir el número de imágenes resultantes y en la etapa 1105 se recalcula la proximidad de las parejas de imágenes resultantes.
La Figura 12 muestra un ejemplo del escalonamiento de la función de mezcla a través de parejas de imágenes y de las imágenes resultantes. Las imágenes únicas están representadas por las áreas de imagen 1-N 1201-1205 respectivamente. El procedimiento de mezcla 1206 se desplaza entre las imágenes 1201-1205. La mezcla de dos imágenes cualesquiera puede ser un proceso de mezcla simple (proceso 1207) en el cual la imagen resultante (área de imagen A, que es una imagen única y está tratada como imagen de fondo) no produce ninguna imagen MRC. Alternativamente, la mezcla resultante puede ser una mezcla compleja con MRC según se muestra en el procedimiento 1208. La mezcla MRC 1208 produce al menos dos tipos de resultados. El primero 1211 es el área de imagen C en el cual se producen capas de fondo y de selección. El tercero 1212 es el área de imagen D en el cual se producen capas de fondo, de selección y superior. Este ordenamiento de imagen única (fondo), MRC con capas de fondo y de selección, y MRC con capas de fondo, de selección y superior es también la preferencia para determinar qué mezcla efectuar. Es decir, es preferible producir un archivo MRC con una única capa de fondo que un archivo MRC con capas de fondo, de selección y superior.
La Figura 13 muestra un procedimiento para determinar la proximidad en dos áreas de imagen cualesquiera. En la etapa 1303 se comprueba el solape de las áreas de imagen A 1301 y B 1302. Si las imágenes se solapan, en la etapa 1307 se pone la proximidad a 0. Si no se solapan, en la etapa 1304 el procedimiento determina si ambas imágenes son realmente imágenes MRC. Si ambas imágenes son imágenes MRC, la proximidad de las imágenes se fija (etapa 1308) a un valor comprendido entre 0 y un valor alto (en este caso, el valor alto es 1). Este valor intermedio puede ser un valor fijo para todas las situaciones (por ejemplo, 0,5). Alternativamente, el valor puede fijarse como una relación. En un ejemplo, la relación puede ser la relación de la eficiencia de combinar las áreas de imagen. En otras palabras, la relación puede ser el espacio no usado de la imagen mezclada dividido por el área total de las imágenes combinadas. Esta relación se muestra mediante la ecuación de la etapa 1308.
La Figura 14 muestra un ejemplo de determinación del espacio no usado. En la Figura 14, se considera la imagen de texto A 1401 para combinarla con la imagen de texto B 1402. En este ejemplo, las áreas de contorno de 1401 y 1402 están representadas por rectángulos. El área de imagen combinada de las dos áreas 1401 y 1402 resulta en el espacio no usado 1403 que se representa contorneado por líneas de trazos. En una realización alternativa, el espacio no usado puede estar basado en una cuadricula rectangular, resultando el área total que incluye 1401, 1402, el área rodeada por las líneas de trazos 1403 y las áreas exteriores 1404 y 1405. En el primer ejemplo, el espacio no usado incluye el área 1403. En el segundo ejemplo el espacio no usado incluye las áreas no usadas 1403, 1404 y 1405.
Volviendo a la Figura 13, si ambas imágenes no son realmente imágenes MRC, en la etapa 1305 el procedimiento determina si ambas imágenes son de texto o de líneas. En caso afirmativo, y si las imágenes son del mismo color (etapa 1306), se fija la proximidad en la etapa 1308 según se describió anteriormente.
Si las imágenes de texto o de líneas no son del mismo color, es necesario utilizar MRC, por lo que la proximidad se fija alta (por ejemplo 1) según se muestra en la etapa 1309. Alternativamente, la proximidad puede ponerse alta según se muestra en la etapa 1310, en la cual la proximidad se pone a un coeficiente varias veces superior a la nueva área MRC generada por la mezcla de las dos imágenes dividida por el área total de las imágenes combinadas.
Si el resultado de la etapa 1305 es negativo, en la etapa 1310 se fija la proximidad. Alternativamente, se puede fijar la proximidad como en la etapa 1309.
Una vez creados los archivos unidos, puede recordarse la cantidad de espacio consumido por las imágenes originales en las imágenes combinadas. Existen diferentes maneras de contar el espacio en las imágenes mezcladas. La Figura 15A muestra tres imágenes (1-3) cada una de las cuales tiene un tamaño de tres unidades. Se apreciará que puede utilizarse cualquier designación de espacio incluyendo centímetros cuadrados, milímetros cuadrados, pulgadas cuadradas, píxeles y similares. La imagen 1 se solapa con la imagen 3 y la imagen 2 se solapa con la imagen 3. En la Figura 15B, 1501 muestra la combinación de las imágenes 1 y 2. Tras la mezcla de la imagen combinada 1+3 con la imagen 2, la combinación resultante se representa como 1502. En 1502, el número de unidades realmente usadas es 7. No obstante, puede aproximarse este número tomando la combinación de imágenes 1 y 3 (1503) y añadiendo el tamaño de la imagen 2 1504 resultando en el tamaño aproximado de 8 unidades.
La Figura 15C muestra otra representación más. En este caso, se combinan primero las imágenes 1 y 2 resultando la imagen 1505. Añadiendo la imagen 3 resulta la imagen 1506, que tiene de nuevo 7 unidades de tamaño ya que la unidad central de la imagen 2 y la unidad inferior de la imagen 3 no se cuentan por separado sino combinadas. Alternativamente, este valor del tamaño del espacio usado en la imagen combinada puede incluir las imágenes 1 y 2 1507 con la imagen 3 1508, obteniéndose un total de 9 unidades. En otro ejemplo adicional, el tamaño de la imagen mezclada puede rematarse al tamaño total de la imagen combinada.
Aunque los sistemas y procedimientos ejemplares que dan cuerpo a la presente invención se han representado a título de ejemplo, se entenderá, naturalmente, que la invención no está limitada a estas realizaciones. Los expertos en la técnica pueden hacer modificaciones, particularmente a la luz de las anteriores enseñanzas. Por ejemplo, cada uno de los elementos de las realizaciones mencionadas anteriormente puede ser utilizado sólo o en combinación con elementos de las otras realizaciones. Aunque la invención ha sido definida usando las reivindicaciones adjuntas, estas reivindicaciones son ejemplares en cuanto a que la invención pretende incluir los elementos y etapas aquí descritos en cualquier combinación o sub-combinación. En consecuencia, existe cualquier número de combinaciones alternativas para definir la invención, que incorporan uno o más elementos de la memoria técnica, incluyendo la descripción, reivindicaciones y dibujos, en diversas combinaciones o sub-combinaciones. Los expertos en la tecnología relevante observarán a la luz de la presente memoria técnica, que pueden utilizarse combinaciones alternativas de aspectos de la invención, ya sean solas o combinadas con uno o más elementos aquí definidos, como modificaciones o alteraciones de la invención o como parte de la invención. Se pretende que la descripción escrita de la invención aquí contenida cubra la totalidad de tales modificaciones y alteraciones.

Claims (6)

1. Un procedimiento para interpretar imágenes compuestas, en el cual una imagen compuesta es una combinación de una capa de fondo (401; 601), una capa de selección (402; 602) y una capa superior (403; 603); comprendiendo cada una de dichas capas al menos una imagen con contenido; comprendiendo dicho procedimiento las etapas de:
determinar (911) un área de contorno para cada imagen;
generar (912) cuatro listas en las cuales dicha primera lista refleja aquellas áreas (607, 609) con ningún solape entre imágenes, en las cuales dicha segunda lista refleja aquellas áreas (610) en las cuales las áreas (606, 610) de la capa de selección no se solapan con las áreas (607, 609) de la capa superior, en las cuales dicha tercera lista refleja aquellas áreas en las que sólo se solapan las áreas (606, 610) de las capas de selección y superior, y en las cuales dicha cuarta lista refleja aquellas áreas (606, 608) en las cuales se solapan las áreas (605-610) de las capas de fondo, de selección y superior.
2. El procedimiento según la reivindicación 1, que comprende además las etapas de:
rellenar (914) dicha imagen compuesta con dichas áreas de la capa superior procedentes de dicha primera lista cuando dichas áreas de la capa superior estén presentes en dicha primera lista, y en caso contrario rellenar dicha imagen compuesta con áreas de la capa de fondo.
3. El procedimiento según la reivindicación 1, que comprende además la etapa de:
rellenar (915) dicha imagen compuesta con dicho área de la capa de selección procedente de dicha segunda lista cuando dicha segunda lista contenga un área de la capa de selección que no sea blanca.
4. El procedimiento según la reivindicación 1, que comprende además la etapa de:
rellenar (916) dicha imagen compuesta con dicho área de la capa de selección procedente de dicha tercera lista cuando dicha tercera lista contenga un área de la capa de selección que no sea blanca, en caso contrario rellenar dicha imagen compuesta con dicho área de la capa superior.
5. El procedimiento según la reivindicación 1, que comprende además la etapa de:
rellenar (917) dicha imagen compuesta con dicho área de la capa superior cuando dicho área de la capa de selección no sea blanca, en caso contrario rellenar dicha imagen compuesta con dicho área de la capa de fondo.
6. Un medio legible por ordenador que tiene un programa almacenado en el mismo, provocando dicho programa que un ordenador (100) efectúe un proceso de interpretación de imágenes compuestas, en el cual una imagen compuesta es una combinación de una capa de fondo (401; 601), una capa de selección (402; 602) y una capa superior (403; 603); comprendiendo cada una de dichas capas al menos una imagen con contenido; haciendo dicho programa que el ordenador (100) efectúe las etapas de:
determinar (911) un área de contorno para cada imagen;
generar (912) cuatro listas en las cuales dicha primera lista refleja aquellas áreas (607, 609) con ningún solape entre imágenes, en las cuales dicha segunda lista refleja aquellas áreas (610) en las cuales las áreas (606, 610) de la capa de selección no se solapan con las áreas (607, 609) de la capa superior, en las cuales dicha tercera lista refleja aquellas áreas en las que sólo se solapan las áreas (606, 610) de las capas de selección y superior, y en las cuales dicha cuarta lista refleja aquellas áreas (606, 608) en las cuales se solapan las áreas (605-610) de las capas de fondo, de selección y superior.
ES03006252T 2002-04-30 2003-03-20 Generacion de archivos de contenido raster mixto. Expired - Lifetime ES2265532T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US134636 1980-04-11
US10/134,636 US7110137B2 (en) 2002-04-30 2002-04-30 Mixed raster content files

Publications (1)

Publication Number Publication Date
ES2265532T3 true ES2265532T3 (es) 2007-02-16

Family

ID=22464255

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03006252T Expired - Lifetime ES2265532T3 (es) 2002-04-30 2003-03-20 Generacion de archivos de contenido raster mixto.

Country Status (20)

Country Link
US (2) US7110137B2 (es)
EP (1) EP1359545B1 (es)
JP (1) JP4299034B2 (es)
KR (1) KR100935267B1 (es)
CN (1) CN1293464C (es)
AT (1) ATE328335T1 (es)
AU (1) AU2003203331B2 (es)
BR (1) BR0301147A (es)
CA (1) CA2423528C (es)
DE (1) DE60305573T2 (es)
DK (1) DK1359545T3 (es)
ES (1) ES2265532T3 (es)
HK (1) HK1058849A1 (es)
MX (1) MXPA03002793A (es)
MY (1) MY144550A (es)
NO (1) NO329337B1 (es)
PL (1) PL359440A1 (es)
RU (1) RU2360288C2 (es)
TW (1) TWI322387B (es)
ZA (1) ZA200302351B (es)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4406364B2 (ja) * 2002-08-28 2010-01-27 エックスエムパイ (イスラエル) リミテッド 可変印刷文書を処理するための装置及び方法
US8064090B2 (en) * 2002-08-28 2011-11-22 Xmpie (Israel) Ltd. System and method for processing variable print documents
KR100910974B1 (ko) * 2002-10-02 2009-08-05 엘지전자 주식회사 고밀도 광디스크의 그래픽 데이터 관리방법
US20040123247A1 (en) * 2002-12-20 2004-06-24 Optimost Llc Method and apparatus for dynamically altering electronic content
JP2004260273A (ja) * 2003-02-24 2004-09-16 Oki Data Corp 画像形成装置
US20050222687A1 (en) * 2004-04-02 2005-10-06 Gordana Vunjak-Novakovic Cartilage implant assembly and method for implantation
KR100538224B1 (ko) * 2003-06-09 2005-12-21 삼성전자주식회사 잉크 젯 프린터의 스캔 및 인쇄 방법 및 장치
JP4125208B2 (ja) * 2003-09-29 2008-07-30 キヤノン株式会社 画像処理装置及び画像処理方法
JP4049136B2 (ja) * 2004-08-10 2008-02-20 ブラザー工業株式会社 画像処理装置及びプログラム
GB2421106A (en) * 2004-12-07 2006-06-14 Hewlett Packard Development Co A method and apparatus for preparing variable-data documents for publishing
EP1670257B1 (en) * 2004-12-10 2018-09-26 Ricoh Company, Ltd. Compressing a mutlivalue image with control of memory space requirement
US7880925B2 (en) * 2005-08-02 2011-02-01 Kabushiki Kaisha Toshiba Apparatus and method for generating an image file with a color layer and a monochrome layer
JP4606298B2 (ja) * 2005-10-18 2011-01-05 シャープ株式会社 画像処理装置、画像処理方法、および画像処理プログラム
US7730398B2 (en) 2005-10-25 2010-06-01 Research In Motion Limited Image stitching for mobile electronic devices
US7995075B2 (en) 2006-03-02 2011-08-09 Mediatek Inc. Display data extraction methods, devices and computer systems utilizing the same
JP4764231B2 (ja) * 2006-03-31 2011-08-31 キヤノン株式会社 画像処理装置、制御方法、コンピュータプログラム
CN100538620C (zh) * 2006-04-29 2009-09-09 光宝科技股份有限公司 打印方法及打印对象控制装置
CN100545831C (zh) * 2006-09-27 2009-09-30 北京大学 一种透明页面的光栅化处理方法及装置
CN100576238C (zh) 2006-09-30 2009-12-30 北京大学 一种光栅图像处理方法和装置
KR101282030B1 (ko) * 2007-01-26 2013-07-04 삼성전자주식회사 데이터의 보안 전송을 위한 화상형성장치 및 그 전송방법
JP4914318B2 (ja) * 2007-09-14 2012-04-11 株式会社リコー 画像処理装置、画像処理システム、画像処理方法、プログラム、および記録媒体
US8218887B2 (en) * 2007-09-28 2012-07-10 Abbyy Software, Ltd. Enhanced method of multilayer compression of PDF (image) files using OCR systems
US8619083B2 (en) * 2009-01-06 2013-12-31 Microsoft Corporation Multi-layer image composition with intermediate blending resolutions
US20100245918A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US8339670B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on graphic-list partitioning
US8411319B2 (en) * 2009-03-30 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for concurrent rendering of graphic-list elements
US8339672B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data using graphic-list partitions and associated rendering processors
US8339653B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on overlap characteristics
US20100245889A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US8339671B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data by partitioning a graphics list
AU2009202377A1 (en) * 2009-06-15 2011-01-06 Canon Kabushiki Kaisha Combining overlapping objects
JP2011040970A (ja) * 2009-08-10 2011-02-24 Canon Inc データ処理装置、および、データ処理方法
JP5434555B2 (ja) * 2009-12-14 2014-03-05 富士ゼロックス株式会社 画像情報処理装置及びプログラム
US20120092480A1 (en) * 2010-05-28 2012-04-19 Putman Matthew C Unique digital imaging method employing known background
US20120127198A1 (en) * 2010-11-22 2012-05-24 Microsoft Corporation Selection of foreground characteristics based on background
KR101868637B1 (ko) * 2012-02-16 2018-06-18 삼성전자주식회사 이미지 파일의 인코딩 및 디코딩 방법, 기계로 읽을 수 있는 저장 매체 및 멀티미디어 장치
TWI505203B (zh) * 2012-11-02 2015-10-21 Avisonic Technology Corp 產生車用影像的影像處理方法及影像處理裝置
JP5886265B2 (ja) * 2013-11-28 2016-03-16 シャープ株式会社 携帯端末装置、プログラム、及び記録媒体
US10268698B2 (en) 2014-11-21 2019-04-23 Adobe Inc. Synchronizing different representations of content
CN106157341B (zh) 2015-03-30 2019-05-14 阿里巴巴集团控股有限公司 生成合成图片的方法及装置
DE102016204044A1 (de) * 2016-03-11 2017-09-14 Bayerische Motoren Werke Aktiengesellschaft Verfahren und head-up-display zum perspektivischen transformieren und anzeigen eines bildinhalts sowie fahrzeug
CN108376416A (zh) * 2018-01-16 2018-08-07 天津大学 一种图像生成方法以及装置
CN108924557B (zh) * 2018-06-11 2022-02-08 海信视像科技股份有限公司 图像处理方法、装置、电子设备及存储介质
US11704843B2 (en) * 2021-03-03 2023-07-18 Adobe Inc. Advanced application of color gradients to text
KR20220126914A (ko) * 2021-03-10 2022-09-19 삼성전자주식회사 이미지의 알파 값을 이용하여 이미지를 출력하는 전자 장치 및 그 제어 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778092A (en) * 1996-12-20 1998-07-07 Xerox Corporation Method and apparatus for compressing color or gray scale documents
US6400844B1 (en) * 1998-12-02 2002-06-04 Xerox Corporation Method and apparatus for segmenting data to create mixed raster content planes
US6373981B1 (en) * 1998-12-21 2002-04-16 Xerox Corporation Method and apparatus for segmenting data to create mixed raster content planes
US6324305B1 (en) * 1998-12-22 2001-11-27 Xerox Corporation Method and apparatus for segmenting a composite image into mixed raster content planes
JP2000175052A (ja) * 1998-12-07 2000-06-23 Xerox Corp ピクセルマップ表現の処理方法及び装置
JP2000175053A (ja) * 1998-12-07 2000-06-23 Xerox Corp 文書の圧縮ピクセルマップ表現を表す混合ラスタコンテントプレ―ンの処理方法
JP2001136361A (ja) * 1999-11-01 2001-05-18 Canon Inc 画像通信装置およびその方法
US6608928B1 (en) * 1999-11-03 2003-08-19 Xerox Corporation Generic pre-processing of mixed raster content planes
US6633670B1 (en) * 2000-03-31 2003-10-14 Sharp Laboratories Of America, Inc. Mask generation for multi-layer image decomposition
US6701012B1 (en) * 2000-07-24 2004-03-02 Sharp Laboratories Of America, Inc. Out-of-layer pixel generation for a decomposed-image layer
US6941014B2 (en) * 2000-12-15 2005-09-06 Xerox Corporation Method and apparatus for segmenting an image using a combination of image segmentation techniques
US7027647B2 (en) * 2001-12-31 2006-04-11 Hewlett-Packard Development Company, L.P. Coder matched layer separation for compression of compound documents
US6941024B2 (en) * 2002-01-14 2005-09-06 Hewlett-Packard Development Company, L.P. Coder matched layer separation and interpolation for compression of compound documents

Also Published As

Publication number Publication date
RU2360288C2 (ru) 2009-06-27
BR0301147A (pt) 2004-08-17
CA2423528A1 (en) 2003-10-30
US20070013951A1 (en) 2007-01-18
NO329337B1 (no) 2010-09-27
US7110137B2 (en) 2006-09-19
US20030202212A1 (en) 2003-10-30
MXPA03002793A (es) 2005-02-14
JP2003331298A (ja) 2003-11-21
HK1058849A1 (en) 2004-06-04
ZA200302351B (en) 2004-03-10
NO20031441D0 (no) 2003-03-28
DK1359545T3 (da) 2006-09-25
EP1359545A1 (en) 2003-11-05
CA2423528C (en) 2011-03-22
KR20030085472A (ko) 2003-11-05
JP4299034B2 (ja) 2009-07-22
TW200306500A (en) 2003-11-16
NO20031441L (no) 2003-10-31
PL359440A1 (en) 2003-11-03
CN1455332A (zh) 2003-11-12
ATE328335T1 (de) 2006-06-15
EP1359545B1 (en) 2006-05-31
KR100935267B1 (ko) 2010-01-06
CN1293464C (zh) 2007-01-03
DE60305573D1 (de) 2006-07-06
MY144550A (en) 2011-09-30
DE60305573T2 (de) 2006-11-02
TWI322387B (en) 2010-03-21
AU2003203331B2 (en) 2008-10-30
AU2003203331A1 (en) 2003-11-20

Similar Documents

Publication Publication Date Title
ES2265532T3 (es) Generacion de archivos de contenido raster mixto.
EP0924653B1 (en) Blending graphical objects using planar maps
US8274667B2 (en) Image processing apparatus, control method thereof, and storage medium storing a program for converting raster image data into block vector image format
US7495675B1 (en) Processing illustration artwork
US20050193327A1 (en) Method for determining logical components of a document
EP1577838A2 (en) A method of rendering graphical objects
US10477063B2 (en) Character detection and binarization
US8326039B2 (en) Image processing apparatus, image processing method, and recording medium
JPH10243210A (ja) 画像処理装置及びその方法
JP6708476B2 (ja) 文書保存処理システム
JP2008117379A (ja) エンコードされたラスタ文書を生成するシステム、方法およびコンピュータプログラム
US7477265B2 (en) System and method for optimising halftoning printer performance
US20070216696A1 (en) System and method for document rendering employing bit-band instructions
JP5195882B2 (ja) 電子文書生成システム、電子文書生成方法およびプログラム
JP2004201302A (ja) 画像の解像度変換方法
US8749813B2 (en) Methods, devices and systems for encoding graphical primitives
JP5267147B2 (ja) 画像処理装置、画像処理方法、及び、コンピュータプログラム
JP3997808B2 (ja) 描画処理装置および描画処理方法
US10839562B2 (en) Methods and systems for enabling object attribute driven super resolution encoding
JP2004206343A (ja) 全ページの印刷データを生成する方法
AU2003201329A1 (en) A System and Method for Optimising Halftoning Printer Performance