IMPRESIÓN A COLOR
CAMPO DE LA INVENCIÓN La presente descripción está dirigida de manera general a la impresión a color de medio tono. ANTECEDENTES DE LA INVENCIÓN Las impresoras del tipo de barrido, que han sido implementadas con varias máquinas impresoras como máquinas impresoras electrofotográficas y máquinas de impresión de chorro de tinta, comúnmente emplean el medio tono para transformar datos de imagen de tono continuo a datos de impresión que pueden ser impresos como un arreglo de puntos que pueden ser de tamaño sustancialmente similar. Por ejemplo, los datos de imagen de tono continuo de 24 bits/pixeles pueden ser transformados a medios tonos a una pluralidad de mapas de bits de un solo color de un bit por pixel . Puede ser difícil lograr una distribución sustancialmente uniforme o uniforme de los puntos de medio tono. BREVE DESCRIPCIÓN DE LAS FIGURAS La Figura 1 es un diagrama de bloques esquemático de una modalidad de un sistema de impresión. La Figura 2 es una ilustración esquemática de una modalidad de un arreglo de pixeles . Las Figuras 3 y 4 exponen un diagrama de flujo esquemático de una modalidad de un procedimiento para
Ref. 169787 imprimir un pixel de datos de impresión. La Figura 5 es un diagrama esquemático de una modalidad de un arreglo de umbral estocástico. Las Figuras 6 y 7 exponen un diagrama de flujo esquemático de una modalidad de otro procedimiento para imprimir un pixel de datos de impresión.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN La Figura 1 es un diagrama de bloques esquemático de una modalidad de un aparato de impresión que incluye una interfaz 31 que recibe datos de impresión, por ejemplo de una computadora anfitriona, y almacena los datos de impresión en una memoria intermedia 33. Un procesador 35 está configurado para procesar los datos de impresión para producir datos de barrido apeados por bits que son almacenados en una memoria 37. Una máquina impresora 39 imprime una imagen de acuerdo a los datos de barrido mapeados por bits generados por el procesador 35. La máquina impresora 39 puede ser una máquina impresora electrofotográfica o una máquina impresora de chorro de tinta, por ejemplo. La impresión es efectuada imprimiendo, depositando, aplicando o formando de otro modo selectivamente marcas como puntos sobre una superficie receptora o sustrato que puede ser un medio de salida de impresión como papel o una superficie de transferencia como una banda o tambor de transferencia. Si es usada una superficie de transferencia, la imagen formada o impresa sobre la superficie de transferencia es transferida apropiadamente a un medio de salida de la impresión como el papel . La Figura 2 es una ilustración esquemática de una modalidad de un arreglo 20 de ubicaciones de pixeles P que puede ser usado para definir la ubicación sobre un medio de salida de impresión 41 que puede ser marcado o impreso. Una marca de un color primario particular (por ejemplo, cian, magenta, amarillo o negro) que sea impresa o depositada en la ubicación de un pixel puede ser llamada de manera conveniente, un punto. Cada ubicación de pixel P puede, por ejemplo, ser marcada o impresa con (a) uno o más puntos de color primario, no negro (por ejemplo, cian, magenta o amarillo) , (b) un punto negro en sí, o (c) un punto negro y al menos un punto de color primario no negro. Los datos de impresión típicamente comprenden datos de tono continuo (como datos de pixel de 32 bits o 24 bits) y comúnmente se emplea el medio tono (por ejemplo, usando uno o más arreglos de umbral de medio tono) para trazar el mapa o transformar los datos de tono continuo a un mapa de bits de medio tono que contiene un bit por pixel por plano de color primario, por ejemplo. Las Figuras 3 y 4 exponen un diagrama de flujo esquemático de una modalidad de un procedimiento para imprimir un pixel de datos de impresión C, M, Y. En 111 son recibidos los valores de C, M, Y. En 113 los valores de C, M, Y se les asigna Cout, Mout, Yout, y K y las variables de color secundario R (rojo) , G (verde) , y B (azul) son inicializadas a cero (0) . En 115 se determina si C+M+Y es mayor que un valor de color máximo predeterminado como 255. Si no, el procesamiento continua en 127. Si la determinación en 115 es si, en 117 al máximo de C, M, Y se le asigna max_color, al valor medio de C, M, Y se le asigna mid_color, y al mínimo de C, M, Y se le asigna min_color . En 119 se selecciona un valor de K (negro) que está entre un máximo de cero (0) y (max_color+2*min_color-255) /2 , y un mínimo de min_color y (C+M+Y-255) /2) : MAX(0, (max_color+2*min_color-255) /2) < K < MIN
(min_color, (C+M+Y-255) /2) (Ecuación 1) En 121 a los valores para T, max_color_out , mid_color__out , min_color out, y S_color se les asignan los siguientes : T = 255 - min_color + K (Ecuación 2) max_color_out= T-mid_color (Ecuación 3) mid_color_out= T-max_color (Ecuación 4) min_color_out= min_color-K (Ecuación 5) S_color = max_color + mid_color-K-T (ecuación 6) De acuerdo a lo anterior, la suma de K, max_color_out , mid_color_out , min_color_out y S-color es sustancialmente igual a 255. En 123 a cada uno de max_color__out , mid_color_out , min_color_out , se le asigna uno apropiado de Cout, Mout, Yout, dependiendo de las magnitudes relativas de C, M, Y. Por ejemplo, si C _> M > Y, entonces Cout = max_color_out , Mout = mid_color_out y Yout = min__color_out . Si M > Y C, entonces Cout = min_color_out , Mout = max_color_out y Yout = mid_color_out . Si Y > C M, entonces Cout = mid_color_out , Mout = mín_color_out y Yout = max_color__out . En 125, a S_color se le asigna R, G o B como función de lo cual dos de C, M o Y contribuyen al color secundario S_color. Esto puede ser logrado, por ejemplo, determinando si C, M o Y es el mínimo de C, M, Y. Si C es el mínimo, entonces a S_color se le asigna R. Si M es el mínimo, entonces a S_color se le asigna G. Si Y es el mínimo, entonces a S_color se le asigna B. En 127, se efectúa el medio tono usando la siguiente Ecuación 7, por ejemplo usando un solo arreglo de umbral de medio tono estocástico que tiene valores de umbral t escalados a [0, 255] para el ejemplo ilustrativo donde el valor del color máximo predeterminado es 255. La Figura 5 ilustra esquemáticamente una modalidad de un arreglo de umbral de medio tono estocástico que puede ser empleado para el medio tono.
Si K > t, el punto K está encendido De otro modo si K+B>t, los puntos C, M están encendidos De otro modo si K+B+G>t, los puntos C, Y están encendidos De otro modo si K+B+G+R>t, los puntos M, Y están encendidos De otro modo si K+B+G+R+Cout>t , el punto C está encendido De otro modo si K+B+G+R+Cout+Mout>t , el punto M está encendido De otro modo si K+B+G+R+Cout+Mout+Yout>t , el punto Y está encendido De otro modo ningún punto está encendido (punto blanco) (Ecuación 7) De acuerdo al procedimiento anterior, si C+M+Y es menor que o igual a un ejemplo ilustrativo de un valor de color máximo de 255, un punto C, un punto M, un punto Y, o ningún punto es impreso. De otro modo, se selecciona un valor de color negro K, los valores de color para cian, magenta y amarillo son ajustados y se determina un valor de color secundario de tal manera que la suma de K, Cout, Mout, Yout, y S_color sean iguales a 255. Esto puede proporcionar la impresión de un punto de un solo color primario o un solo color secundario; es decir, un punto K, un punto C y un punto M, un punto C y un punto Y, un punto M y un punto Y, un punto C, un punto M o un punto Y. De esta manera, a lo más pueden ser impresos dos puntos superpuestos en la ubicación de un pixel, dependiendo del valor del umbral, y cualquiera de esos dos puntos superpuestos comprende colores primarios no negros que forman un solo color secundario B, G o R. Puede arribarse a las ecuaciones para seleccionar
K, ajustar los valores de color para cian, magenta y amarillo, determinar un valor de color secundario (Ecuaciones 1-6) como sigue para el ejemplo particular donde C >_ M . Y y
C+M+Y>255. Los valores de color C, M, Y pueden ser separados en los tres componentes: un componente gris, un componente de color secundario y un componente de color primario que no contribuye al gris o un color secundario. El componente gris comprende el mínimo de C, M, Y, el cual para este ejemplo es Y: gris = MIN(C, M, Y) =Y (Ecuación 8) El componente gris puede ser sustraído para arribar a las versiones C2 , M2, Y2 que pueden ser expresadas en términos de C, M, Y: C2= C - gris= C-Y (Ecuación 9) M2= M - gris = M-Y (Ecuación 10) Y2= Y - gris = 0 (Ecuación 11) El color secundario en este ejemplo es azul, y puesto que C > M, el valor para el azul puede ser expresado como sigue : Azul = M2 = M - Y (Ecuación 12) Sustrayendo el componente del color secundario de C2, M2, Y2 resulta en: C3 = C2 - Azul = C - M (Ecuación 13) M3 = 0 (Ecuación 14) Y3 = 0 (Ecuación 15) De esta manera, el color de entrada C, M, Y ha sido separado en tres componentes: un componente gris, un componente de color secundario (en este caso, azul = M-Y) , y un componente de color primario (en este caso C3=C-M) . El componente primario puede ser considerado aquella porción del máximo de C, M, Y que no contribuye al gris o un color secundario. El componente gris puede ser representado por K o conjuntos de puntos C, M, Y no superpuestos: K + CMY = gris = Y (Ecuación 16) donde CMY es la cantidad de conjuntos de puntos C,
M, Y no superpuestos que contribuyen al componente gris. Cada conteo de CMY representa tres puntos no superpuestos, un punto C, un punto M y un punto Y. El azul puede ser representado por conjuntos de puntos C, M superpuestos o conjuntos de puntos no superpuestos : B + CM = Azul = M - Y. (Ecuación 17) donde B es la cantidad de conjuntos de puntos C, M superpuestos, y CM es la cantidad de conjuntos de puntos C, M no superpuestos que contribuyen al azul . Cada conteo de CM representa dos puntos no superpuestos, un punto C y un punto M. Puesto que esta desviación es para C+M+Y>255, la suposición es que no deberán existir espacios en blanco, de modo que la cobertura por los tres componentes (gris, secundario y primario) sume hasta 255. La cobertura por el componente gris comprende puntos K y puntos C, M, Y no superpuestos, y puede ser representada por K+3*CMY. La cobertura por el componente secundario comprende puntos C, M superpuestos (azules) y puntos C, M, no superpuestos, y puede ser representada por B+2*CM. La cobertura por el componente primario comprende C3 , la cual puede ser representada por C-M. Por lo tanto: K + 3*CMY + B + 2*CM + C - M = 255 (Ecuación 18) Usando la Ecuación 16, puede sustituirse (Y-K) por CMY: K + 3* (Y-K) + B + 2*CM + C - M = 255 (Ecuación 19) De lo anterior, CM puede expresarse como: CM = 255 - C - 2*Y + 2*K (Ecuación 20) Puesto que CM >. 0, se sigue que: 255 - C - 2*Y + 2*K > 0 (Ecuación 21) lo anterior proporciona : K > (C+2*Y-255)/2 (Ecuación 22) Puesto que K no puede ser menor de 0, un valor menor de K puede ser expresado como: K min = MAX(0,C+2*Y-255)/2) (Ecuación 23) para la condición donde las coberturas de los diferentes componentes (gris, secundario y primario) suman hasta 255. Sustituir la ecuación 20 en la Ecuación 17 proporciona la siguiente ecuación para B (puntos C, M superpuestos) : B = M - Y - CM = C + M + Y - 255 - 2*K (Ecuación 24) Puesto que B _> 0, el lado derecho de la anterior es mayor que 0 : M - Y - CM = C + M + Y - 255 - 2*k >0 (Ecuación 25) Rearreglar la anterior para aislar K proporciona: K < (C + M + Y - 255) /2 (Ecuación 26) Puesto que CMY>0 , la ecuación 16 proporciona: Y - K > 0 (Ecuación 27) Rearreglar la anterior proporciona: K ^ Y (Ecuación 28) De acuerdo a las ecuaciones 26 y 28, no hay límite superior para K bajo la condición de que las coberturas de los diferentes componentes sumen hasta 255 comprende un mínimo de Y y (C + M + Y - 255) /2) : Kmax=MIN(Y, (C + M + Y - 255) /2) (Ecuación 29) Las posibles combinaciones de punto son K, B (C, M superpuestos) , C, M o Y. K se selecciona de acuerdo a las ecuaciones 23 y 29, y CMY, CM, y B pueden obtenerse de acuerdo a las ecuaciones 16, 20 y 17: CMY = Y - K (Ecuación 30) CM = 255 - C - 2*Y +2*k (Ecuación 31) B = M - Y - CM (Ecuación 32) La cantidad de puntos C individuales, Cout, comprende los puntos C de C3 , CM, y CMY: Cout = C3 + CM + CMY = C - M + Y - K + 255 - C -2*Y + 2*K = 255 - M - Y + K (Ecuación 33) La cantidad de puntos M individuales, Mout, comprenden los puntos M de CM y CMY: Mout = CM + CMY = Y - K + 255 - C - 2*Y + 2*K = 255 - C - Y + K (Ecuación 34) La cantidad de puntos amarillos individuales comprende los puntos Y de CMY: Yout = CMY = Y - K (Ecuación 35) Sustituir T = 255-Y+K en las Ecuaciones 33 y 34 proporciona las siguientes expresiones para un color de salida cian Cout, el color de salida magenta Mout, y el color secundario B: Cout = T - M (Ecuación 36) Mout = T - C (Ecuación 37) B = C + M - K - T (Ecuación 38) De acuerdo a lo anterior, la suma de K, Cout, Mout, Yout y B es igual a 255, y K puede seleccionarse de una gama de valores entre Kmin y Kmax, lo que permite que los valores del color sean ajustados para diferentes características de impresión. Por ejemplo, si K se minimiza, la cantidad de color se maximiza, lo cual puede dar como resultado imágenes de medio tono de alta calidad en una variedad de impresoras puesto que K, el color más visible, se reduce sustancialmente. Sin embargo, en algunas impresoras que tienen una capa uniforme de tinta puede reducirse la cantidad de ruido. Cuando K se maximiza, el color secundario se reduce, lo cual puede producir una mejor calidad de imagen. También, cuando K se maximiza, la cantidad de tinta de color usada se reduce, lo cual puede reducir el costo de la impresión. Las ecuaciones 23 y 29, la ecuación T=255-Y+K, y las ecuaciones 36, 37, 35 y 38 se basan en C > M > Y , y han sido generalizadas para arribar a las Ecuaciones 1-6 sustituyendo maxjcolor para C, mid_color para M, y min_color para Y, donde la Ecuación 1 se basa en las Ecuaciones 23 y 29. Las FIGS. 6 y 7 exponen un diagrama de flujo esquemático de una modalidad de procedimiento para imprimir un pixel de datos de impresión de CMYK. En 211 son recibidos los valores del color de entrada Cl, Ml, Yl, Kl . En 213 a los valores de Cl, Ml, Yl, Kl se les asigna Cout, Mout, Yout, Kout; y las variables del color secundario R (rojo), G
(verde) y B (azul) son inicializados a (0) . En 215 se hace la determinación de si C1+M1+Y1+K1 es mayor que un valor de color máximo predeterminado como 255. Si no, el procesamiento continúa en 227. Si la determinación en 215 es si, en 216 si son ajustados los valores de CMY como sigue sobre la base de la suposición de que la superposición de C, M o Y producirá K: Cadj = MIN(C1, 255-K1) (Ecuación 39) Madj = MIN(M1, 255-K1) (Ecuación 40) Yadj = MIN(Y1, 255-K1) (Ecuación 41) De acuerdo a lo anterior, los valores de color para
C, M, Y se ajustan para arribar a cantidades efectivas Cadj,
Madj , Yadj las cuales se aproximan mucho más a las contribuciones efectivas de cian, magenta y amarillo al color de salida. En otras palabras, el cian, magenta o amarillo gue es superpuesto por negro produce negro, y cian, magenta o amarillo subyacente no contribuye al color de salida. El negro ocupa Kl, el cual deja 255-Kl como el área donde el cian, magenta o amarillo contribuirían al color de salida. En 217 lo máximo de Cadj, Madj, Yadj se le asigna max_color, al valor medio de Cadj , Madj , Yadj se le asigna mid_color, y al mínimo de Cadj , Madj , Yadj se le asigna min_color. En 219 se selecciona un valor de K (negro) como sigue:
MAX(0, (max_color+2*min_color-255+Kl (/2) <. K < MIN(min_color, (Cadj +Madj+Yadj -255+K1 (/2) (Ecuación 42) En 220 se suma Kl al valor de K determinado en 219 para arribar a un valor de color de salida negro Kout : Kout = K + Kl (Ecuación 43) En 221 a los valores para T, max_color_out , mid_color-out, min_color-out , y S-color se les asigna lo siguiente : T = 255 -Kl - min_color + K (Ecuación 44) max_color-out = T -mid_color (Ecuación 45) mid_color_out = T max__color (Ecuación 46) min_color_out = min_color - K (Ecuación 47) S__color = max_color + mid_color - K- T (Ecuación 48) Las ecuaciones en 219 a 221 son similares a las ecuaciones 119 y 121 de la FIG. 3 excepto que 255 está reemplazado por (255-K1) el cual es la cobertura máxima para
C, M o Y. Además, en 220 se sumó Kl a K para arribar a un color de salida negro Kout . De acuerdo a lo anterior, la suma de Kout, max_color_out , mid_color_out , min_color__out , y S_color es sustancialmente igual a 255. En 223 a cada uno de max_color_out , mid_color_out , min_color_out se le asigna uno apropiado de Cout, Mout, Yout, dependiendo de las magnitudes relativas de Cadj , Madj , Yadj . Por ejemplo, si Cadj > Madj > Yadj, entonces Cout max_color_out , Mout = mid_color_out , y Yout = min_color_out si Madj > Yadj > Cadj , entonces Cout = min_color_out, Mbut = max_color_out, y Yout = mid__color_out . Si Yadj > Cadj > Madj , entonces Cout = mid_color_out, Mout = min_color_out, y Yout = max_color_out . En 225, se asigna S_color a R, G, o B como función de lo cual dos Cadj , Madj o Yadj contribuyen al color secundario S_color. Esto puede ser logrado, por ejemplo determinando si Cadj , Madj o Yadj es el mínimo de Cadj , Madj o Yadj . Si Cadj es el mínimo, entonces se asigna S-color a R. Si Madj es el mínimo, entonces se asigna S_color a G. Si Yadj es el mínimo entonces se asigna S_color a B. En 227 se efectúa medio tono usando lo siguiente, por ejemplo, usando un arreglo de umbral de medio tono estocástico que tenga valores de umbral t escalados a [0,255] para el ejemplo ilustrativo donde el valor de color máximo predeterminado es 255. La FIG. 4 ilustra esquemáticamente una modalidad de un arreglo de umbral de medio tono estocástico que puede ser empleado para el medio tono. Si Kout>t, el punto K está encendido De este modo si Kout+B>t, los puntos C, M están encendidos De este modo si Kout+B+G>t, los puntos C, Y están encendidos De este modo si Kout+B+G+R>t , los puntos M, Y están encendidos De este modo si Kout+B+G+R+Cout>t , el punto C está encendido De este modo si Kout+B+G+R+Cout+Mout>t , el punto M está encendido De este modo si Kout+B+G+R+Cout+Mout+Yout>t, el puntos Y está encendido De este modo ningún punto está encendido (punto blanco) (Ecuación 49) De acuerdo al procedimiento de la FIG. 5, si C1+M1+Y1+K1 es menor que un ejemplo ilustrativo de un valor de color máximo de 255, se imprime un punto K, C, M, Y, o ninguno. De otro modo, los valores de color cian, magenta y amarillo son inicialmente ajustados sobre la suposición de que la superposición de cian, magenta o amarillo con negro produce negro, se selecciona un valor de color negro Kout sobre la base de los valores de cian, magenta y amarillo inicialmente ajustados y Kl, y los valores de color de cian, magenta y amarillo inicialmente ajustados son ajustados adicionalmente, y se determina un valor de color secundario de tal manera que la suma de Kout, Cout, Mout, Yout, y S_color sea igual a 255. Esto proporciona la impresión de un punto de un solo color primario o un solo color secundario; es decir, un punto K, un punto C, y un punto M, un punto C y un punto Y, un punto M y un punto Y, un punto C, un punto M, o un punto Y. De esta manera, pueden ser impresos además dos puntos superpuestos en la ubicación de un pixel, dependiendo del valor del umbral, y esos dos puntos superpuestos comprenden colores primarios no negros que forman un solo color secundario . Las reivindicaciones, como se presentaron originalmente según puedan ser enmendadas, abarcan variaciones, alternativas, modificaciones,, mejoras, equivalentes y equivalentes sustanciales de las modalidades y enseñanzas descritas aquí, incluyendo aquellas que no sean contempladas o apreciadas actualmente, y que, por ejemplo, puedan surgir de solicitantes/patentantes u otros. Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.