EP1187456B1 - Pattern rendering system and method - Google Patents
Pattern rendering system and method Download PDFInfo
- Publication number
- EP1187456B1 EP1187456B1 EP01307581A EP01307581A EP1187456B1 EP 1187456 B1 EP1187456 B1 EP 1187456B1 EP 01307581 A EP01307581 A EP 01307581A EP 01307581 A EP01307581 A EP 01307581A EP 1187456 B1 EP1187456 B1 EP 1187456B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- halftone
- hue angle
- image data
- color image
- gray
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/40012—Conversion of colour to monochrome
Definitions
- This invention is directed to rendering patterns in place of colors in order to represent the colors in a black and white system.
- Color images are increasingly used to convey information.
- support for color representation is not always provided in black and white facsimile machines, photocopy machines and other image output devices.
- Some conventional systems provide for black and white representation of color in which a pattern is selected to represent a color in the original color palette. A pattern representing the color is then reproduced. Since differing colors require different patterns, conventional techniques for providing this mapping of color to pattern require the calculation of many unique patterns. This requires time and/or circuitry for the necessary calculations.
- JP11-069156 and JP06-059657 both address the conversion of color image data to monochrome image data.
- JP11-069156 a plurality of dither patterns are prepared beforehand and a single dither pattern is then selected based on the hue and/or saturation of the original color image.
- JP06-059657 a gray table corresponding to each hue is formed and set in a gray table memory. In the case that a given saturation is larger than a specified value a gray table corresponding to the given hue is selected, in the case that the given saturation is smaller than the specified value a gray table corresponding to a gray color is selected.
- This invention provides systems and methods that preserve the lightness relationship between colors in a document.
- This invention provides systems and methods that reduce processing cycles and/or increase the processing speed for processing a black-white version of a color document.
- This invention separately provides systems and methods that reduce the memory requirements for implementing black-white printable versions of a color document.
- the required memory is reduced by using the hue angle of each color to be printed as an index into a table of halftones.
- the indexed halftone information is then combined with the luminance, or lightness, information for the indexed color to render a color in a black/white printable version with increased processing speed and/or without having to store color pattern information.
- the gray scale halftone is selected to render the color appropriately without analyzing the hue angle.
- FIG. 1 shows one exemplary embodiment of a pattern rendering system 100 according to this invention.
- the pattern rendering system 100 includes a lightness determining circuit 110, a lightness lookup table memory 112, a gray color determining circuit 120, a hue angle determining circuit 130, a memory 140, that stores a previously used hue angle, a halftone screen angle setting circuit 150, a halftone lookup table 160, a candidate halftone selecting circuit 170, a gray and halftone setting circuit 180, and a rendering circuit 190.
- the color input signal in the exemplary embodiment is received from a color image data source 20 and is applied to an input terminal of the lightness determining circuit 110.
- the lightness determining circuit 110 is also connected to the lightness look-up table 112.
- the lightness, or luminance is determined according to any of the standard techniques for the color model in use. For example, if the color is in the RGB color space, the lightness of the color input signal is determined using the Red/Green/Blue values of the color image data received from the color image data source 20. For example, the NTSC Video Standard could be used to calculate gray values from RGB values. For color in CIE (Commission Internationale de l'Éclairage) LAB color space models, the lightness or luminance can be determined using the "L" component. Similarly, for other color space models such as XYZ, CMYK, CMY, and any other known or later developed color model, well known and established methods of determining the lightness are used.
- the lightness determining circuit 110 then compensates for different device characteristics by looking up the input signal lightness in the lightness lookup table memory 112 to determine an output lightness in accordance with the lookup table.
- the output of the lightness determining circuit 110 and the lightness lookup table 112 is a grayscale output signal.
- the grayscale output signal is then applied as an input to the gray and halftone setting circuit 180.
- the gray color determining circuit 120 determines whether the color of a current portion of the image data is gray. If the color is already gray, as determined by the gray color determining circuit 120, then color-to-pattern mapping according to this invention is not required. As a result, when gray is detected, the gray color determining circuit 120 asserts a disable signal which disables the hue angle determining circuit 130. The gray color output signal output by the gray color determining circuit 120 is then supplied to the candidate halftone selecting circuit 170, which selects the appropriate halftone. Since the halftone used to render gray image data is associated with a single fixed halftone screen angle, no hue angle processing is required.
- the output of the candidate halftone selecting circuit 170 is then supplied to the gray and halftone setting circuit 180 where the candidate halftone is combined with the lightness information received from lightness lookup table 112.
- the gray and halftone setting circuit then sets a halftone based on the candidate halftone and the lightness signal.
- the set halftone is then supplied to the rendering circuit 190.
- the image data is rendered by the output device, which can include, but is not limited to, a facsimile machine, a black/white copier or any other system in which black and white representation of color image data is desired, based on the halftone set by the gray and halftone setting circuit.
- the failure of the gray determining circuit 120 to detect gray enables the hue angle determining circuit 130 to process the color image data supplied to the hue angle determining circuit 130.
- the hue angle determining circuit 130 determines the hue angle of the current portion of the color image data. The hue angle of a color is determined by well known and established methods appropriate to the color model chosen. The value of the hue angle determining circuit 130 is then supplied as an input to the candidate halftone selecting circuit 170.
- the determined hue angle is also supplied to the halftone screen angle setting circuit 150.
- the previous hue angle used by the candidate halftone selecting circuit 170 is also stored in the previous hue angle memory 140. If the determined hue angle differs from the previous hue angle stored in the previous hue angle memory 140 by less than a threshold value, then the previous halftone, as determined by the previous hue angle stored in the previous hue angle memory 140 is used to generate the pattern for the current portion of the color image data.
- the threshold value is about 1°.
- the determined hue angle is used to select a halftone from the halftone lookup table 160 based on the presence of the determined hue angle in a hue angle range associated with a halftone entry in the halftone lookup table 160. If the difference is above the threshold value, the previous hue angle stored in the previous hue angle memory 140 is updated with the newly determined hue angle.
- the candidate halftone selecting circuit 170 uses the value of the hue angle determined by the hue angle determining circuit 130 or stored in the previous hue angle memory 140, as an index into the table of halftones contained in the halftone lookup table 160.
- the selected halftone specifies the spot function and frequency that are output by the candidate halftone selecting circuit 170 to the gray and halftone setting circuit 180, while the hue angle determined by the hue angle determining circuit 130 or stored in the previous hue angle memory 140, specifies the halftone screen angle that will be output for use in the halftone.
- the gray and halftone setting circuit 180 combines the halftone output by the candidate halftone selecting circuit 170 and the halftone screen angle set from the determined hue angle to form a resultant halftone.
- the resultant halftone is then supplied to the rendering circuit 190.
- the rendering circuit 190 renders the image data for the output device based on the resultant halftone.
- Fig. 2 shows a second exemplary embodiment of a pattern rendering system 200 according to this invention.
- the pattern rendering system 200 includes a processor 210, connected via a communications bus 295 to a memory 220, a lightness determining circuit 230, a gray determining circuit 240, a hue angle determining circuit 250, a halftone screen angle setting circuit 260, a candidate halftone selecting circuit 270, a gray and halftone setting circuit 280, a rendering circuit 290 and input/output interface circuit 205.
- the memory includes a lightness lookup table 222, a halftone lookup table 224 and a previous hue angle memory portion 226.
- the color image data source 20 is connected to the input/output interface 205 and supplies color image data. Under the control of the processor 210, the color image data is then supplied to the lightness determining circuit 230.
- the lightness determining circuit 230 determines the lightness, or luminance, of each portion of the color image data supplied using any of the standard techniques for the color model in use, as discussed above.
- the lightness determining circuit 230 compensates for different device characteristics by looking up the lightness in the lightness lookup table 222 of the memory 220 to determine an output lightness in accordance with the lookup table.
- the output of the lightness determining circuit 230 and the lightness lookup table 222 is a grayscale output signal.
- the grayscale output signal is then supplied to the gray and halftone setting circuit 280.
- the gray color determining circuit 240 determines, under control of the processor 210, whether the color of a current portion of the color image data is gray. If the color of the current portion of the color image data is gray, as determined by the gray color determining circuit 240, the gray color output signal output by the gray color determining circuit 240 is supplied to the candidate halftone selecting circuit 270. In response, the candidate halftone selecting circuit 270 selects, under control of the processor 210, the gray halftone.
- This gray color output signal information is then supplied to the gray and halftone selecting circuit 280, the gray and halftone setting circuit sets, under the control of the processor 210, the halftone to be used in rendering gray based on the value of the lightness received from the lightness lookup table 222.
- the gray halftone signal is then supplied to the rendering circuit 290.
- the rendering circuit 290 renders, under control of the processor 210, the image data based on the gray halftone signal for the output device, which can include, but is not limited to, a facsimile machine, a black/white copier or any other system in which a pattern representation of color image data is required, as discussed above.
- the current portion is supplied to the hue angle determining circuit 250.
- the hue angle determining circuit 250 determines, under control of the processor 210, the hue angle of the current portion of the color image data. As discussed above, the hue angle of a color is determined by well known and established methods appropriate to the color model chosen. The value of the hue angle determining circuit 250 is then supplied as an input to the candidate halftone selecting circuit 270.
- the candidate halftone selecting circuit 270 uses, under control of the processor 210, the value of the hue angle determined by the hue angle determining circuit 250 as an index into the table of halftones contained in the halftone lookup table 224.
- the determined hue angle is also supplied to the halftone screen angle setting circuit 260.
- the previous hue angle used by the candidate halftone selecting circuit 276 is also stored in the previous hue angle memory portion 226. If the determined hue angle differs from the previous hue angle stored in the previous hue angle memory portion 226 by less than a threshold value, then the previous halftone, as determined by the previous hue angle stored in the previous hue angle memory 226 is used to generate the pattern for the current portion of the color image data.
- the threshold value is about 1°.
- the determined hue angle is used to select a halftone from the halftone lookup table 224 based on the presence of the determined hue angle in a given hue angle range.
- the previous hue angle stored in the previous hue angle memory portion 226 is updated to store the newly determined hue angle.
- the halftone selected by the candidate halftone selecting circuit specifies the spot function and frequency that are output by the candidate halftone selecting circuit 270, under control of the processor 210, to the gray and halftone setting circuit 280, while the hue angle determining circuit 250 specifies the halftone screen angle that will be output for use in the halftone.
- the gray and halftone setting circuit 280 combines, under control of the processor 210, the halftone output by the candidate halftone selecting circuit 270 and the determined hue angle output by the hue angle determining circuit 250 to form a resultant halftone.
- the resultant halftone is supplied by the gray and halftone setting circuit 280, under control of the processor 210, to the rendering circuit 190.
- the rendering circuit 290 under control of the processor 210, renders the image data for the output device.
- FIG. 3 is a flowchart outlining one exemplary embodiment of a method for rendering color image data using black and white patterns according to this invention.
- control continues to step S110, where a next portion of the color image data is selected.
- step S120 a determination is made whether the color image data signal already reflects a gray color. If the color image data already reflects a gray color, control jumps to step S180. Since the halftone to render gray image data is associated with a single fixed halftone screen angle, no hue angle processing is required. The halftone to render gray is selected and control jumps to step S190. Otherwise, if the color image data does not reflect a gray color, control jumps to step S130.
- step S130 the hue angle for the color image data is determined.
- the color input hue angle can be determined by any well known method of determining hue angle for the color space model as discussed above.
- step S140 a determination is made whether the difference between the newly determined hue angle and a previously determined hue angle is below a threshold value. If the difference between the newly determined hue angle and the previously determined hue angle is below a threshold value, control continues to step S150. Otherwise control jumps to step S160.
- step S150 the screen angle and the halftone are not changed and the previously determined hue angle and the previous halftone are used to render the color image data. Additionally, the previously determined hue angle is not updated. Control then jumps to step S190.
- step S160 a candidate halftone is selected from the halftone lookup table by using the newly determined hue angle as an index into the halftone lookup table.
- a selected halftone is identified from the halftone lookup table by identifying the range of hue angles in the table within which the newly determined hue angle lies.
- step S170 the halftone screen angle associated with the current halftone is determined based on the newly determined hue angle.
- the newly determined hue angle is then stored as the previously determined hue angle. Control then jumps to step S190. This prevents a change of patterns for colors that are very close in terms of color or shade.
- step S190 the lightness of the color signal is determined.
- the lightness is shown in the exemplary embodiment as determined after the hue angle has been determined. However, the lightness can be determined whenever the current portion of the color image data is available. Thus, the lightness can be determined, in parallel with, preceding or following determining the hue angle.
- step S200 the color model being used is determined and a lightness determination is made using standard, well-known techniques for determining lightness for the determined color model. For example, if the color image data is in the RGB color space, coefficients of, for example, 0.1B, 0.6G, 0.3R can be used according to the NTSC standard for determining lightness in RGB to black-and-white conversion. However, any method of lightness determination supported by the color model can be used. For example, in the CIE LAB color space models, the lightness may be calculated based on the L* component.
- step S210 the halftoning threshold is determined based on the determined lightness values determined in step S200.
- the halftoning threshold value determines how many pixels are turned on to represent a given density of color. Thus, the lightness of the color provides the halftoning threshold value. Control then continues to step S220.
- step S220 the previously determined halftoning and gray threshold values are set.
- step S230 the image data is rendered using the determined halftone, and determined halftoning thresholds.
- step S240 a determination is made whether any color image data remains to be processed. If any color image data remains to be processed, control jumps back to step S110. Otherwise control continues to step S250, where processing ends.
- Fig. 4 shows an exemplary embodiment of a halftone lookup table with 7 halftones.
- each of the halftones 1-7 are associated with a specific spatial frequency 310, a range of hue angles 320 and a given spot function 330.
- the 360° of possible hue angle are divided into ranges.
- hue angle 1 is associated with a frequency of 18, a hue angle of 0°-72°, and the spot function ⁇ add abs 2 div ⁇ .
- the exemplary spot function is written in a PostScript ® type Page Description Language.
- any method of implementing a halftone specification using any known or later developed method or language may be used.
- the hue angle would lie between 0° and 72°. Therefore, the halftone associated with this range, having a frequency of 18 and a spot function of ⁇ add abs 2 div ⁇ would be selected for use with the determined hue angle of 35.
- the exemplary embodiment of the halftone lookup table shown in Fig. 4 shows hue angle ranges divided evenly across the possible 360° of possible hue angle.
- the hue angles ranges do not need to evenly divide the 360° of hue angle color space. Any division may be adopted.
- the halftone associated with a gray object having a frequency of sixteen and spot function ⁇ 180 mul cos exch 180 mul cos add 2 div ⁇ is selected when the pattern rendering systems 100 and 200 determine that gray color is to be output. Similarly, if the current portion of the color image data is high spatial frequency image data, such that no single color can be associated with the current portion, an image is detected. In response, halftone 7 is selected to optimize the pattern rendering. image data.
- Fig. 5 shows one exemplary embodiment of a data structure for the lightness lookup tables 112 and/or 222 according to this invention.
- the lightness lookup tables 112 and/or 222 accept a lightness value as an input and provide a transformed lightness value as an output. This transformation allows the lightness lookup tables 112 and/or 222 to be used to correct an output device for anomalies.
- the pattern rendering systems 100 and/or 200 can be implemented using discrete logical devices and memory devices. However, the pattern rendering systems 100 and/or 200 can also be implemented on a general purpose computer, a special purpose computer, an ASIC or other integrated circuit, a digital signal processor, a hardwired electronic or logic circuit such as a discrete element circuit, programmable logic devices, such as PLD, PLA, FPGA or PAL, or the like. In general, any device, capable of implementing a finite state machine that is in turn capable of implementing the flowchart of Fig. 3 can be used to implement the black and white pattern rendering systems 100 and/or 200.
- the lightness lookup tables 112 and/or 222 and the halftone lookup tables 160 and/or 224 can be implemented in read-only memory.
- the lightness lookup tables 112 and/or 222 and the halftone lookup tables 160 and/or 224 and the previous hue angle memories 140 and/or 226 can also be implemented using random-access memory, flash memory, a floppy disk and disk drive, a writable optical disk and disk drive, a hard drive or the like.
- the pattern rendering systems 100 and/or 200 can each be implemented as software executing on a programmable general purpose computer, a special purpose computer, a microprocessor or the like.
- the pattern rendering systems 100 and/or 200 can each also be implemented as a routine embedded in a printer driver, as a resource residing on the server, or the like.
- the pattern rendering systems 100 and/or 200 can each also be implemented by physically incorporating it into a software or hardware system, such as the hardware and software systems of a printer.
Description
- This invention is directed to rendering patterns in place of colors in order to represent the colors in a black and white system.
- Color images are increasingly used to convey information. However, support for color representation is not always provided in black and white facsimile machines, photocopy machines and other image output devices. Some conventional systems provide for black and white representation of color in which a pattern is selected to represent a color in the original color palette. A pattern representing the color is then reproduced. Since differing colors require different patterns, conventional techniques for providing this mapping of color to pattern require the calculation of many unique patterns. This requires time and/or circuitry for the necessary calculations.
- Alternatively, other conventional systems have used memory structures to store the patterns as the patterns are generated. This technique reduces the time to calculate the patterns after the first color is encountered, since the calculations used to create the patterns are performed once for each color and stored in a buffer. However, such systems have difficulty in allocating sufficient memory when processing complex documents in which many colors and shades are used. For complex color documents, the storing and retrieval functions also consume processing cycles and/or increase circuitry complexity. This increases the time and/or cost necessary to create a document. Also, the amount of memory available to store all the pattern entries may be exceeded by complex color documents.
- These problems limit the number of colors that can be handled and may require additional processing cycles to handle out-of-memory conditions, further increasing the time and cost necessary to create an output page. Furthermore, due to the interaction of the patterns, grayscale control is difficult and non-monotonic grayscales are occasionally generated. Non-monotonic grayscales create perceptual problems for users since the intuitive correspondence between the color and the pattern is not maintained.
- Documents
JP11-069156 JP06-059657 JP11-069156 JP06-059657 - This invention provides systems and methods that preserve the lightness relationship between colors in a document.
- This invention provides systems and methods that reduce processing cycles and/or increase the processing speed for processing a black-white version of a color document.
- This invention separately provides systems and methods that reduce the memory requirements for implementing black-white printable versions of a color document.
- In various exemplary embodiments of the systems and methods according to this invention, the required memory is reduced by using the hue angle of each color to be printed as an index into a table of halftones. The indexed halftone information is then combined with the luminance, or lightness, information for the indexed color to render a color in a black/white printable version with increased processing speed and/or without having to store color pattern information.
- In various exemplary embodiments, if a gray color is to be rendered, the gray scale halftone is selected to render the color appropriately without analyzing the hue angle.
- Various exemplary embodiments of this invention will be described in detail, with reference to the following figures, wherein:
- Fig. 1 is a block diagram of a first exemplary embodiment of a pattern rendering system according to this invention;
- Fig. 2 is a block diagram of a second exemplary embodiment of a pattern rendering system according to this invention;
- Fig. 3 is a flowchart outlining one exemplary embodiment of a pattern rendering method according to this invention;
- Fig. 4 shows one exemplary embodiment of a halftone lookup table according to this invention;
- Fig. 5 shows one exemplary embodiment of a lightness threshold table according to this invention.
- Figure 1 shows one exemplary embodiment of a
pattern rendering system 100 according to this invention. Thepattern rendering system 100 includes alightness determining circuit 110, a lightness lookup table memory 112, a graycolor determining circuit 120, a hueangle determining circuit 130, amemory 140, that stores a previously used hue angle, a halftone screenangle setting circuit 150, a halftone lookup table 160, a candidatehalftone selecting circuit 170, a gray andhalftone setting circuit 180, and arendering circuit 190. - The color input signal in the exemplary embodiment is received from a color
image data source 20 and is applied to an input terminal of thelightness determining circuit 110. Thelightness determining circuit 110 is also connected to the lightness look-up table 112. The lightness, or luminance, is determined according to any of the standard techniques for the color model in use. For example, if the color is in the RGB color space, the lightness of the color input signal is determined using the Red/Green/Blue values of the color image data received from the colorimage data source 20. For example, the NTSC Video Standard could be used to calculate gray values from RGB values. For color in CIE (Commission Internationale de l'Éclairage) LAB color space models, the lightness or luminance can be determined using the "L" component. Similarly, for other color space models such as XYZ, CMYK, CMY, and any other known or later developed color model, well known and established methods of determining the lightness are used. - The
lightness determining circuit 110 then compensates for different device characteristics by looking up the input signal lightness in the lightness lookup table memory 112 to determine an output lightness in accordance with the lookup table. - The output of the
lightness determining circuit 110 and the lightness lookup table 112 is a grayscale output signal. The grayscale output signal is then applied as an input to the gray andhalftone setting circuit 180. - In parallel with the
lightness determining circuit 110, the graycolor determining circuit 120 determines whether the color of a current portion of the image data is gray. If the color is already gray, as determined by the graycolor determining circuit 120, then color-to-pattern mapping according to this invention is not required. As a result, when gray is detected, the graycolor determining circuit 120 asserts a disable signal which disables the hueangle determining circuit 130. The gray color output signal output by the graycolor determining circuit 120 is then supplied to the candidatehalftone selecting circuit 170, which selects the appropriate halftone. Since the halftone used to render gray image data is associated with a single fixed halftone screen angle, no hue angle processing is required. The output of the candidatehalftone selecting circuit 170 is then supplied to the gray andhalftone setting circuit 180 where the candidate halftone is combined with the lightness information received from lightness lookup table 112. The gray and halftone setting circuit then sets a halftone based on the candidate halftone and the lightness signal. The set halftone is then supplied to therendering circuit 190. The image data is rendered by the output device, which can include, but is not limited to, a facsimile machine, a black/white copier or any other system in which black and white representation of color image data is desired, based on the halftone set by the gray and halftone setting circuit. - If the color of a current portion of the color image data received from the color
image data source 20 is not gray, then the failure of the gray determiningcircuit 120 to detect gray enables the hueangle determining circuit 130 to process the color image data supplied to the hueangle determining circuit 130. The hueangle determining circuit 130 determines the hue angle of the current portion of the color image data. The hue angle of a color is determined by well known and established methods appropriate to the color model chosen. The value of the hueangle determining circuit 130 is then supplied as an input to the candidatehalftone selecting circuit 170. - The determined hue angle is also supplied to the halftone screen
angle setting circuit 150. The previous hue angle used by the candidatehalftone selecting circuit 170 is also stored in the previoushue angle memory 140. If the determined hue angle differs from the previous hue angle stored in the previoushue angle memory 140 by less than a threshold value, then the previous halftone, as determined by the previous hue angle stored in the previoushue angle memory 140 is used to generate the pattern for the current portion of the color image data. In the exemplary embodiment, the threshold value is about 1°. If the difference between the determined hue angle and the previous hue angle stored in the previoushue angle memory 140 is equal to or above the threshold value, then the determined hue angle is used to select a halftone from the halftone lookup table 160 based on the presence of the determined hue angle in a hue angle range associated with a halftone entry in the halftone lookup table 160. If the difference is above the threshold value, the previous hue angle stored in the previoushue angle memory 140 is updated with the newly determined hue angle. - The candidate
halftone selecting circuit 170 uses the value of the hue angle determined by the hueangle determining circuit 130 or stored in the previoushue angle memory 140, as an index into the table of halftones contained in the halftone lookup table 160. The selected halftone specifies the spot function and frequency that are output by the candidatehalftone selecting circuit 170 to the gray andhalftone setting circuit 180, while the hue angle determined by the hueangle determining circuit 130 or stored in the previoushue angle memory 140, specifies the halftone screen angle that will be output for use in the halftone. - The gray and
halftone setting circuit 180, combines the halftone output by the candidatehalftone selecting circuit 170 and the halftone screen angle set from the determined hue angle to form a resultant halftone. The resultant halftone is then supplied to therendering circuit 190. Therendering circuit 190 renders the image data for the output device based on the resultant halftone. - Fig. 2 shows a second exemplary embodiment of a
pattern rendering system 200 according to this invention. Thepattern rendering system 200 includes aprocessor 210, connected via acommunications bus 295 to amemory 220, alightness determining circuit 230, agray determining circuit 240, a hueangle determining circuit 250, a halftone screenangle setting circuit 260, a candidatehalftone selecting circuit 270, a gray andhalftone setting circuit 280, arendering circuit 290 and input/output interface circuit 205. The memory includes a lightness lookup table 222, a halftone lookup table 224 and a previous hueangle memory portion 226. - The color
image data source 20 is connected to the input/output interface 205 and supplies color image data. Under the control of theprocessor 210, the color image data is then supplied to thelightness determining circuit 230. Thelightness determining circuit 230 determines the lightness, or luminance, of each portion of the color image data supplied using any of the standard techniques for the color model in use, as discussed above. - Under the control of the
processor 210, thelightness determining circuit 230 then compensates for different device characteristics by looking up the lightness in the lightness lookup table 222 of thememory 220 to determine an output lightness in accordance with the lookup table. - The output of the
lightness determining circuit 230 and the lightness lookup table 222 is a grayscale output signal. The grayscale output signal is then supplied to the gray andhalftone setting circuit 280. - In parallel with the
lightness determining circuit 230, the graycolor determining circuit 240 determines, under control of theprocessor 210, whether the color of a current portion of the color image data is gray. If the color of the current portion of the color image data is gray, as determined by the graycolor determining circuit 240, the gray color output signal output by the graycolor determining circuit 240 is supplied to the candidatehalftone selecting circuit 270. In response, the candidatehalftone selecting circuit 270 selects, under control of theprocessor 210, the gray halftone. This gray color output signal information is then supplied to the gray andhalftone selecting circuit 280, the gray and halftone setting circuit sets, under the control of theprocessor 210, the halftone to be used in rendering gray based on the value of the lightness received from the lightness lookup table 222. The gray halftone signal is then supplied to therendering circuit 290. In response, therendering circuit 290 renders, under control of theprocessor 210, the image data based on the gray halftone signal for the output device, which can include, but is not limited to, a facsimile machine, a black/white copier or any other system in which a pattern representation of color image data is required, as discussed above. - If the color of the current portion of the color image data received from the color
image data source 20 is not gray, as determined by the graycolor determining circuit 240, the current portion is supplied to the hueangle determining circuit 250. The hueangle determining circuit 250 determines, under control of theprocessor 210, the hue angle of the current portion of the color image data. As discussed above, the hue angle of a color is determined by well known and established methods appropriate to the color model chosen. The value of the hueangle determining circuit 250 is then supplied as an input to the candidatehalftone selecting circuit 270. - The candidate
halftone selecting circuit 270 then uses, under control of theprocessor 210, the value of the hue angle determined by the hueangle determining circuit 250 as an index into the table of halftones contained in the halftone lookup table 224. The determined hue angle is also supplied to the halftone screenangle setting circuit 260. The previous hue angle used by the candidate halftone selecting circuit 276 is also stored in the previous hueangle memory portion 226. If the determined hue angle differs from the previous hue angle stored in the previous hueangle memory portion 226 by less than a threshold value, then the previous halftone, as determined by the previous hue angle stored in the previoushue angle memory 226 is used to generate the pattern for the current portion of the color image data. In the exemplary embodiment, the threshold value is about 1°. - In contrast, if the difference between the determined hue angle and the previous hue angle stored in the previous hue
angle memory portion 226 is equal to or above the threshold value, then the determined hue angle is used to select a halftone from the halftone lookup table 224 based on the presence of the determined hue angle in a given hue angle range. The previous hue angle stored in the previous hueangle memory portion 226 is updated to store the newly determined hue angle. - The halftone selected by the candidate halftone selecting circuit specifies the spot function and frequency that are output by the candidate
halftone selecting circuit 270, under control of theprocessor 210, to the gray andhalftone setting circuit 280, while the hueangle determining circuit 250 specifies the halftone screen angle that will be output for use in the halftone. - The gray and
halftone setting circuit 280 combines, under control of theprocessor 210, the halftone output by the candidatehalftone selecting circuit 270 and the determined hue angle output by the hueangle determining circuit 250 to form a resultant halftone. The resultant halftone is supplied by the gray andhalftone setting circuit 280, under control of theprocessor 210, to therendering circuit 190. Therendering circuit 290, under control of theprocessor 210, renders the image data for the output device. - Figure 3 is a flowchart outlining one exemplary embodiment of a method for rendering color image data using black and white patterns according to this invention. Beginning in step S100, control continues to step S110, where a next portion of the color image data is selected. Then in step S120, a determination is made whether the color image data signal already reflects a gray color. If the color image data already reflects a gray color, control jumps to step S180. Since the halftone to render gray image data is associated with a single fixed halftone screen angle, no hue angle processing is required. The halftone to render gray is selected and control jumps to step S190. Otherwise, if the color image data does not reflect a gray color, control jumps to step S130.
- In step S130, the hue angle for the color image data is determined. The color input hue angle can be determined by any well known method of determining hue angle for the color space model as discussed above. Next, in step S140, a determination is made whether the difference between the newly determined hue angle and a previously determined hue angle is below a threshold value. If the difference between the newly determined hue angle and the previously determined hue angle is below a threshold value, control continues to step S150. Otherwise control jumps to step S160.
- In step S150, the screen angle and the halftone are not changed and the previously determined hue angle and the previous halftone are used to render the color image data. Additionally, the previously determined hue angle is not updated. Control then jumps to step S190.
- In contrast, in step S160, a candidate halftone is selected from the halftone lookup table by using the newly determined hue angle as an index into the halftone lookup table. A selected halftone is identified from the halftone lookup table by identifying the range of hue angles in the table within which the newly determined hue angle lies. Then, in step S170, the halftone screen angle associated with the current halftone is determined based on the newly determined hue angle. The newly determined hue angle is then stored as the previously determined hue angle. Control then jumps to step S190. This prevents a change of patterns for colors that are very close in terms of color or shade.
- In step S190, the lightness of the color signal is determined. For convenience of discussion, the lightness is shown in the exemplary embodiment as determined after the hue angle has been determined. However, the lightness can be determined whenever the current portion of the color image data is available. Thus, the lightness can be determined, in parallel with, preceding or following determining the hue angle. Then, in step S200, the color model being used is determined and a lightness determination is made using standard, well-known techniques for determining lightness for the determined color model. For example, if the color image data is in the RGB color space, coefficients of, for example, 0.1B, 0.6G, 0.3R can be used according to the NTSC standard for determining lightness in RGB to black-and-white conversion. However, any method of lightness determination supported by the color model can be used. For example, in the CIE LAB color space models, the lightness may be calculated based on the L* component.
- Next, in step S210, the halftoning threshold is determined based on the determined lightness values determined in step S200. The halftoning threshold value determines how many pixels are turned on to represent a given density of color. Thus, the lightness of the color provides the halftoning threshold value. Control then continues to step S220.
- In step S220, the previously determined halftoning and gray threshold values are set. Next, in step S230, the image data is rendered using the determined halftone, and determined halftoning thresholds. Then, in step S240, a determination is made whether any color image data remains to be processed. If any color image data remains to be processed, control jumps back to step S110. Otherwise control continues to step S250, where processing ends.
- Fig. 4 shows an exemplary embodiment of a halftone lookup table with 7 halftones. In the exemplary embodiment of the halftone lookup table shown in Fig. 4, each of the halftones 1-7 are associated with a specific
spatial frequency 310, a range of hue angles 320 and a givenspot function 330. The 360° of possible hue angle are divided into ranges. For example,hue angle 1 is associated with a frequency of 18, a hue angle of 0°-72°, and the spot function {addabs 2 div}. The exemplary spot function is written in a PostScript® type Page Description Language. However, it should be apparent that any method of implementing a halftone specification using any known or later developed method or language may be used. - If a determined hue angle of 35 were processed with the exemplary embodiment of the halftone lookup table, the hue angle would lie between 0° and 72°. Therefore, the halftone associated with this range, having a frequency of 18 and a spot function of {add
abs 2 div} would be selected for use with the determined hue angle of 35. - The exemplary embodiment of the halftone lookup table shown in Fig. 4, shows hue angle ranges divided evenly across the possible 360° of possible hue angle. However, the hue angles ranges do not need to evenly divide the 360° of hue angle color space. Any division may be adopted.
- The halftone associated with a gray object having a frequency of sixteen and spot function {180 mul cos exch 180 mul cos add 2 div} is selected when the
pattern rendering systems halftone 7 is selected to optimize the pattern rendering. image data. - Fig. 5 shows one exemplary embodiment of a data structure for the lightness lookup tables 112 and/or 222 according to this invention. The lightness lookup tables 112 and/or 222 accept a lightness value as an input and provide a transformed lightness value as an output. This transformation allows the lightness lookup tables 112 and/or 222 to be used to correct an output device for anomalies.
- The
pattern rendering systems 100 and/or 200 can be implemented using discrete logical devices and memory devices. However, thepattern rendering systems 100 and/or 200 can also be implemented on a general purpose computer, a special purpose computer, an ASIC or other integrated circuit, a digital signal processor, a hardwired electronic or logic circuit such as a discrete element circuit, programmable logic devices, such as PLD, PLA, FPGA or PAL, or the like. In general, any device, capable of implementing a finite state machine that is in turn capable of implementing the flowchart of Fig. 3 can be used to implement the black and whitepattern rendering systems 100 and/or 200. - As described above, the lightness lookup tables 112 and/or 222 and the halftone lookup tables 160 and/or 224 can be implemented in read-only memory. However, the lightness lookup tables 112 and/or 222 and the halftone lookup tables 160 and/or 224 and the previous
hue angle memories 140 and/or 226 can also be implemented using random-access memory, flash memory, a floppy disk and disk drive, a writable optical disk and disk drive, a hard drive or the like. - The
pattern rendering systems 100 and/or 200 can each be implemented as software executing on a programmable general purpose computer, a special purpose computer, a microprocessor or the like. Thepattern rendering systems 100 and/or 200 can each also be implemented as a routine embedded in a printer driver, as a resource residing on the server, or the like. Thepattern rendering systems 100 and/or 200 can each also be implemented by physically incorporating it into a software or hardware system, such as the hardware and software systems of a printer.
Claims (5)
- A pattern rendering system that converts color image data into monochrome image data, comprising:a lightness determining circuit (110) that determines a lightness of a portion of color image data;a gray determining circuit (120) that determines if the portion of the color image data is already gray; anda hue angle determining circuit (130) that determines the hue angle of the portion of color image data;characterised by:a halftone lookup table (160) containing default spot functions and spatial frequencies defining halftones;a candidate halftone setting circuit (170) connected to the gray determining circuit (120) and the hue angle determining circuit (130) to select a halftone based on the hue angle of the color image data and the result of the gray determining circuit by associating hue angle ranges with candidate halftones in the halftone lookup table (160) if the portion of color image data is not gray, and to select a fixed halftone in the halftone lookup table (160) if the portion of color image data is already gray;a halftone screen angle determining circuit (150) connected to the hue angle determining circuit (130) to set a halftone screen angle based on the determined hue angle of the color image data if the portion of color image data is not gray;a gray and halftone setting circuit (180) connected to the lightness determining circuit (110), the candidate halftone setting circuit (170) and the halftone screen angle determining circuit (150) to combine the candidate halftone output from the candidate halftone setting circuit and the halftone screen angle output from the halftone screen angle determining circuit to form a resultant halftone if the portion of color data is not gray; anda rendering circuit to render the portion of color image data based on the resultant halftone if the portion of color image data is not gray and to render the portion of color image data based on the fixed halftone if the portion of color image data is already gray.
- The pattern rendering system of claim 1, further comprising:a determined hue angle memory (140) that stores a saved hue angle; anda threshold determining circuit wherein;if a subsequent hue angle differs from the saved hue angle by more than the determined threshold amount, the subsequent hue angle is used to select the halftone and the subsequent hue angle is stored as the saved hue angle, andif the subsequent hue angle differs from the saved hue angle by less than the threshold amount, the saved hue angle is used to select the halftone.
- A method for converting a color image data into monochrome image data, by associating hue angle ranges with halftones in a halftone lookup table containing default spot functions and spatial frequencies comprising:determining (S190) a lightness of a portion of color image data signal;determining (S120) whether a color of the portion of color image data signal is gray;determining (S130) a hue angle of the portion of color image data signal;determining (S160) in case the portion of color image data is not gray a candidate halftone to set based on the determined hue angle of the input signal, the determined hue angle providing an index into the halftone lookup table that has a range of hue angles associated with discrete halftones defined by default spot functions and spatial frequencies, by selecting the halftone associated with a range of hue angles within which the determined hue angle is found;determining (S170) in case the portion of color image data is not gray a halftone screen angle based on the determined hue angle;setting (S220) in case the portion of color image data is not gray a resultant halftone based on the candidate halftone and the halftone screen angle;selecting (S180) in case the portion of color image data is already gray a fixed halftone from the halftone lookup table; andrendering the portion of color image data using either the resultant halftone or the fixed halftone, depending on whether the portion of color image data is gray or not.
- The method of claim 3, further comprising:saving a first hue angle as a saved hue angle;comparing a subsequent hue angle to the saved hue angle;if the subsequent hue angle differs from the saved hue angle by at least a threshold amount, using the subsequent hue angle to select a halftone from a table of halftones, storing the subsequent hue angle as the saved hue angle, and using the subsequent hue angle as a halftone screen hue angle; andif the subsequent hue angle differs by less than the threshold, using the saved hue angle to select the halftone from a table of halftones and using the saved hue angle as the halftone screen angle.
- The method of claim 4, further comprising determining (S210) a halftoning threshold based on the determined lightness of then input signal.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US660402 | 1984-10-12 | ||
US09/660,402 US6757078B1 (en) | 2000-09-12 | 2000-09-12 | Pattern rendering system and method |
Publications (3)
Publication Number | Publication Date |
---|---|
EP1187456A2 EP1187456A2 (en) | 2002-03-13 |
EP1187456A3 EP1187456A3 (en) | 2003-07-09 |
EP1187456B1 true EP1187456B1 (en) | 2007-11-28 |
Family
ID=24649404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP01307581A Expired - Lifetime EP1187456B1 (en) | 2000-09-12 | 2001-09-06 | Pattern rendering system and method |
Country Status (7)
Country | Link |
---|---|
US (1) | US6757078B1 (en) |
EP (1) | EP1187456B1 (en) |
JP (1) | JP2002142121A (en) |
BR (1) | BR0104007A (en) |
CA (1) | CA2356813C (en) |
DE (1) | DE60131613T2 (en) |
MX (1) | MXPA01009171A (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040156076A1 (en) * | 2002-09-17 | 2004-08-12 | Atsushi Togami | Method of and apparatus for image processing, and computer product |
FR2848822B1 (en) * | 2002-12-24 | 2006-01-13 | Oreal | COSMETIC COMPOSITION OF FOUNDATION TYPE FOR MAKE-UP OF DARK SKIN |
JP4307095B2 (en) * | 2003-02-05 | 2009-08-05 | キヤノン株式会社 | Color conversion method and profile creation method |
US7433080B2 (en) * | 2004-09-28 | 2008-10-07 | Toshiba Corporation | System and method for conversion of duotone images for display |
KR100661351B1 (en) * | 2005-01-17 | 2006-12-27 | 삼성전자주식회사 | Halftone processing apparatus and method |
US7599097B2 (en) * | 2005-06-10 | 2009-10-06 | Infoprint Solutions Company Llc | Method and system for designing multilevel halftone screens using spot functions |
US7944585B2 (en) | 2007-02-16 | 2011-05-17 | Sharp Laboratories Of America, Inc. | Color information encoding in monochrome printing |
JP2012199652A (en) * | 2011-03-18 | 2012-10-18 | Fujitsu Ltd | Image processing device, method, and program |
JP5915139B2 (en) * | 2011-12-14 | 2016-05-11 | 株式会社リコー | Image forming apparatus, image forming method, program, and recording medium |
JP6211952B2 (en) * | 2014-02-26 | 2017-10-11 | シャープ株式会社 | Image processing apparatus and image forming apparatus |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5666974A (en) * | 1979-11-02 | 1981-06-05 | Canon Inc | Picture forming method |
US4688031A (en) | 1984-03-30 | 1987-08-18 | Wang Laboratories, Inc. | Monochromatic representation of color images |
US5321470A (en) | 1988-05-13 | 1994-06-14 | Canon Kabushiki Kaisha | Apparatus with anti-forgery provision |
US5153576A (en) | 1990-08-29 | 1992-10-06 | Xerox Corporation | Mapping of color images to black-and-white textured images |
JPH0659657A (en) | 1990-12-11 | 1994-03-04 | Toshiba Corp | Image processing device |
JP3178541B2 (en) * | 1991-05-29 | 2001-06-18 | キヤノン株式会社 | Image processing method and apparatus |
US5701405A (en) | 1995-06-21 | 1997-12-23 | Apple Computer, Inc. | Method and apparatus for directly evaluating a parameter interpolation function used in rendering images in a graphics system that uses screen partitioning |
JPH09102881A (en) * | 1995-10-04 | 1997-04-15 | Ricoh Co Ltd | Black and white binarization processing method for color data |
US5701401A (en) | 1996-10-02 | 1997-12-23 | Xerox Corporation | Printing black and white reproducible color documents |
JP3593431B2 (en) * | 1996-11-21 | 2004-11-24 | 日本電信電話株式会社 | Color / texture information converter |
JPH1117961A (en) * | 1997-06-20 | 1999-01-22 | Nec Corp | Printer and medium recording control program of the printer |
JP3171146B2 (en) * | 1997-08-12 | 2001-05-28 | 村田機械株式会社 | Image processing device |
-
2000
- 2000-09-12 US US09/660,402 patent/US6757078B1/en not_active Expired - Lifetime
-
2001
- 2001-08-31 JP JP2001262587A patent/JP2002142121A/en active Pending
- 2001-09-06 DE DE60131613T patent/DE60131613T2/en not_active Expired - Lifetime
- 2001-09-06 EP EP01307581A patent/EP1187456B1/en not_active Expired - Lifetime
- 2001-09-10 CA CA002356813A patent/CA2356813C/en not_active Expired - Fee Related
- 2001-09-11 MX MXPA01009171A patent/MXPA01009171A/en active IP Right Grant
- 2001-09-12 BR BR0104007-3A patent/BR0104007A/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
MXPA01009171A (en) | 2003-08-20 |
CA2356813C (en) | 2005-02-01 |
CA2356813A1 (en) | 2002-03-12 |
DE60131613D1 (en) | 2008-01-10 |
BR0104007A (en) | 2002-05-07 |
DE60131613T2 (en) | 2008-10-23 |
JP2002142121A (en) | 2002-05-17 |
EP1187456A3 (en) | 2003-07-09 |
EP1187456A2 (en) | 2002-03-13 |
US6757078B1 (en) | 2004-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6342950B1 (en) | Method and apparatus for encoding image, image decoding apparatus and image forming apparatus | |
EP1587298B1 (en) | Systems and methods for adjusting image data to form highly compressible image planes | |
US6118547A (en) | Image processing method and apparatus | |
US6175427B1 (en) | System and method of tonal correction of independent regions on a compound document | |
US7903872B2 (en) | Image-processing apparatus and method, computer program, and storage medium | |
US6995866B2 (en) | Method and apparatus for background adjustment in color reproduction devices | |
JP4498233B2 (en) | Image processing apparatus and image processing method | |
JP2001313831A (en) | Image-processing unit, image-processing method, and computer-readable recording medium with program for making computer execute the method recorded | |
JPH0364272A (en) | Image processor | |
JP4368833B2 (en) | Image processing apparatus, image processing method, image forming apparatus, program, and recording medium | |
JPH08228299A (en) | Method and device for enhancing color saturation in halftone image | |
JP3359234B2 (en) | Image processing apparatus and method | |
US5784496A (en) | Error sum method and apparatus for intercolor separation control in a printing system | |
EP1187456B1 (en) | Pattern rendering system and method | |
US5835238A (en) | Phantom level edge enhanced error diffusion | |
US5598204A (en) | Image halftoning system capable of producing additional gradations | |
US6571009B1 (en) | Method and apparatus for assigning color management actions within a computing system | |
JPH09244475A (en) | Image outputting device and control method therefor | |
JP2003219191A (en) | Image processor and image forming apparatus comprising it | |
JP3709636B2 (en) | Image processing apparatus and image processing method | |
JPH07254994A (en) | Method and device for forming image | |
US7064866B1 (en) | Image forming apparatus selectively applying a smoothing operation to image data | |
JP2004363795A (en) | Apparatus, method, and program for image processing | |
JP4342773B2 (en) | Background adjustment method in color reproduction apparatus, program for background adjustment, and color reproduction apparatus | |
KR20080046080A (en) | Image forming apparatus and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: BENNETT, SCOTT A. Inventor name: BAI, YINGJUN |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK RO SI |
|
17P | Request for examination filed |
Effective date: 20040109 |
|
AKX | Designation fees paid |
Designated state(s): DE FR GB |
|
R17C | First examination report despatched (corrected) |
Effective date: 20050909 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB |
|
REF | Corresponds to: |
Ref document number: 60131613 Country of ref document: DE Date of ref document: 20080110 Kind code of ref document: P |
|
ET | Fr: translation filed | ||
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20080829 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20130820 Year of fee payment: 13 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20130823 Year of fee payment: 13 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20130920 Year of fee payment: 13 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 60131613 Country of ref document: DE |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20140906 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20150529 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20140906 Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20150401 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20140930 |