WO2016070902A1 - Pixel processing - Google Patents
Pixel processing Download PDFInfo
- Publication number
- WO2016070902A1 WO2016070902A1 PCT/EP2014/073590 EP2014073590W WO2016070902A1 WO 2016070902 A1 WO2016070902 A1 WO 2016070902A1 EP 2014073590 W EP2014073590 W EP 2014073590W WO 2016070902 A1 WO2016070902 A1 WO 2016070902A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- pixel
- replacement
- ink
- pixels
- 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.)
- Ceased
Links
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/46—Colour picture communication systems
- H04N1/52—Circuits or arrangements for halftone screening
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/21—Ink jet for multi-colour printing
- B41J2/2103—Features not dealing with the colouring process per se, e.g. construction of printers or heads, driving circuit adaptations
-
- 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/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/6016—Conversion to subtractive colour signals
- H04N1/6022—Generating a fourth subtractive colour signal, e.g. under colour removal, black masking
Definitions
- Imaging systems are arranged to output an image. They may comprise printing or display systems, wherein an output is either a printed or displayed image.
- color data for the image may be represented in a first color space and it may be necessary to map this color data to a second color space that is used to produce the output.
- a color mapping may be used.
- the color mapping may be followed by a halftoning process so as to reproduce a continuous tone image represented in the second color space using a series of dot shapes. This may allow the continuous tone image to be printed on a printing device with a discrete number of output drop levels. The result of this process is an output in the form of a halftone color separation.
- Figure 1 is a schematic diagram of an image processing pipeline according to an example
- Figure 2 is a schematic diagram of an apparatus for processing a halftone image according to an example
- Figure 3 is a flow chart showing a method for modifying images according to an example.
- Figure 4 is a schematic diagram showing a processing device according to an example.
- Certain examples described herein relate to systems and methods for processing pixels in an image. These examples may be used to modify ink usage in a printer. More particularly, certain examples relate to systems and methods for replacing data values of pixels in a halftone image. This may help to minimize the ink usage of a printer. In certain examples pixels that result from a halftoning process are substituted if they match a particular pattern. This pattern may be defined in an associative array such as a dictionary. Substituted pixels may be selected to have improved properties, such as optimized properties with regard to one or more imaging attributes or metrics.
- Figure 1 shows an example of an image processing pipeline 100. Certain examples described herein modify an output of the image processing pipeline 100. This modification may be performed to optimize use of a print material, e.g. to reduce ink usage.
- image data 1 10 is passed into a color mapping component 120.
- the image data 1 10 may comprise color data as represented in a first color space, such as pixel representations in an RGB color space.
- the color mapping component 120 maps the color data from the first color space to a second color space.
- color mapping component 120 maps color data from a first color space to a colorant color space so as to generate a color separation.
- the colorant color space may be a colorant color space and the color separation may comprise a set of colorant vectors, e.g. each RGB pixel value may be mapped to a Cyan, Magenta, Yellow and blacK (CMYK) pixel value, wherein the CMYK pixel value denotes a proportion of colorant (e.g. [10, 125, 80] may be mapped to [0.92, 0.0, 0.36, 0.51]).
- the proportion of each colorant may be represented by a fraction (e.g. 0 to 1 ) or a percentage (e.g. 0 to 100%).
- the colorants used within the colorant space may vary depending on a desired printing device, e.g. six colorants may be used in association with a CMYKcm printing device.
- the color separation generated by the color mapping component 120 comprises continuous tone data, i.e. each colorant is denoted using a continuous range.
- color separation refers to the output of a color mapping in a colorant space.
- a color separation may comprise multiple colorant images or components, e.g. one for each colorant in a printing system.
- color separation will be used herein to refer to the result of combining each of the multiple colorant components, rather than each of the colorant components themselves.
- a halftoning component 130 applies a halftoning operation to the continuous tone data to generate a halftone output 140.
- the halftoning operation uses a series of geometric shapes to convert the continuous tone data of the color separation to a discrete tone data, e.g. data comprising a discrete number of color levels. For example, if an image is to be printed on a binary level printing device (e.g. with either 0% or 100% colorant per pixel) then a halftoning component 130 may generate a halftone output with two discrete tone levels per colorant.
- each dot comprises a solid color and a variation in one or more of dot size, dot shape and dot spacing simulates a continuous tone when viewed from a distance.
- the halftone output may be referred to herein as a halftone image.
- a Halftone Area Neugebauer Separation (HANS) pipeline may be used to generate a halftone image by mapping color data in a first color space to an area coverage representation such as a Neugebauer Primary area coverage (NPac) vector in NPac color space.
- This area coverage representation may be used to specify the spatial distribution of colorants in a halftoning operation.
- a halftone image on a substrate comprises a plurality of pixels or dots wherein the spatial density of the pixels or dots is defined in NPac color space and NPac vectors for a set of pixels controls the colorimetry of an area of the image, i.e. any halftoning process simply implements the area coverages as defined in the NPac vectors.
- An image represented by pixels as generated by the image processing pipelines discussed above can be printed on a substrate using drops or dots of ink to represent each pixel.
- a pixel may be printed on the substrate by printing multiple dots of ink in a particular area of the substrate to represent the pixel, e.g. this may the case for a / -level printer that is capable of depositing k drops of ink as dots in a pixel area of a substrate. It may be advantageous to modify such images in a manner to have improved ink usage when printing the image, while at the same time not requiring a significant amount of processing power to make such modifications to the image.
- Certain examples described herein modify images, including halftone images and/or images represented by NPac vectors.
- certain embodiments allow for replacing pixel data values in an image to improve one or more image properties such as ink usage when the image is printed. In some embodiments, this may be advantageous to reduce the amount of ink needed and/or reduce the use of expensive color ink, e.g. as opposed to cheaper black ink, when printing an image.
- the image properties may relate to color robustness, color constancy, banding etc..
- methods and systems of parsing/checking portions e.g. pixels or other image area definitions
- a digital representation e.g.
- the methods and systems might comprise a dedicated apparatus and/or be implemented as a computer program (e.g. a script in a programming language) running on a computer, or other software and/or hardware.
- a computer program e.g. a script in a programming language
- Figure 2 shows an example of an apparatus 200 for processing a halftone image, such as the halftone images generated by the image processing pipelines that are discussed above.
- the apparatus 200 receives image data 210 representative of the halftone image. This image data 210 is then accessed by an image filter 220.
- the image filter 220 processes the image data 210 and generates modified image data 230 representative of a replacement halftone image.
- the image filter 220 is arranged to identify pixels in the image data 210 for the halftone image that match a predefined pattern.
- This pattern may be represented by a set of data values that are stored in an associative array, i.e. a data structure that comprises one or more key-value pairs.
- the keys of the associative array may represent a pattern value to be matched and the values of the associative array may represent replacement pixel values.
- the keys may represent pixel values that instruct a deposit of at least two units of a black print material and at least one additional unit of non-black print material.
- a unit of print material may comprise a drop of ink in an inkjet printer.
- the image filter 220 is arranged to process the identified pixels and to generate replacement data for said pixels in the modified image data 230 based on the pattern matching, e.g. based on the values of the key-value pairs in the array. In one case, these values may instruct a deposit of only units of black print material.
- the image filter 220 is arranged to access an associative array in the form of a data dictionary comprising a plurality of entries.
- each entry in the dictionary may be indexed by a data value that matches the pattern, e.g. in one implementation instructs a deposit of at least two units of a black print material and at least one additional unit of non-black print material.
- Each entry also comprises a replacement data value for the indexed data value. In the above implementation this may instruct a deposit of only units of black print material.
- each entry may be a tuple of the form ⁇ "[pixel data value X]": "[replacement data value for X ⁇ " ⁇ .
- the dictionary may be used to identify pixel values in the image data 210 that match the indexed data values.
- the replacement data value may then be used to replace the indexed data values in the image data 210. This may be applied as one operation.
- the replacement data values may be written in situ, i.e. may overwrite data values in the original image data 210, or they may be written into a new data file, i.e. a new halftone image may be generated that comprises the modified image data wherein the original image data 210 is unmodified.
- Figure 3 shows a method 300 for modifying an image, e.g. a halftone image, by replacing individual pixels in the image according to an example.
- This particular example is configured to reduce ink usage; however, the functions may be extended to other image properties or attributes in other examples.
- the method may be adapted to optimize a second set of imaging attributes with respect to a first set of imaging attributes using pixel replacement for a halftone image. It should be noted that though pixel replacement is discussed, other sub portions of the image can be replaced in a similar manner.
- a pixel of a digital representation of an image is checked, such as by using a computing device, to see if it meets a criteria for replacement.
- the criteria may comprise whether the pixel when printed would be represented/printed using at least a certain number of dots of black ink.
- One particular embodiment would be to check if the pixel when printed would be represented/printed using at least two dots of black ink.
- Checking for at least two dots of black ink on a per pixel basis may be advantageous as it represents a threshold number of black dots where a number of dots of black ink below the threshold may lead to worse color representation in the image, and a greater number of dots of black ink may lead to wasted ink.
- the criteria check may be performed by checking whether a Neugebauer Primary (NP) value associated with the pixel comprises at least the certain number of dots of black ink.
- Neugebauer Primaries (NPs) comprise a particular ink overprint combination for a printing system.
- an NP is one of 2 m combinations of m inks within the printing system.
- CMY inks there can be eight NPs, these NPs relate to the following: C, M, Y, C+M, C+Y, M+Y, C+M+Y, and W (white or blank indicating an absence of ink).
- an NP may comprise one of L m combinations of m inks within the printing system.
- any color mappings may be extended to other printing fluids such as glosses and/or varnishes that may be deposited in a printing system and that may alter a perceived output color; these may be modelled as NPs.
- each pixel in the representation may be represented by an NP (e.g., CM, CMK, CMKK, YKK, KKK, etc.).
- any NP that is represented by at least two black dots i.e., contains at least two Ks) meets the criteria.
- the check may be performed using a lookup table (also referred to as a "filtering dictionary").
- a lookup table also referred to as a "filtering dictionary”
- the lookup table might include the following NP values that meet the criteria: CKK, MKK, YKK, CCKK, MMKK, YYKK, MKKK, CKKK, YKKK, KKcc, KKmm, KKc, KKm KKcm, CMKK, CYKK, and MYKK.
- the check may be performed by seeing if the pixel is found in the lookup table, and if it is, it meets the criteria.
- the method proceeds to a block 310. If at the block 305 it is determined that the pixel does not meet the criteria, the method 300 proceeds to a block 315.
- the pixel in the digital representation of the image that meets the criteria is replaced with a different pixel.
- the criteria comprises whether the pixel when printed would be represented/printed using at least a certain number of dots of black ink
- the pixel may be replaced with a pixel that when printed is represented by the same number of black dots as the original pixel and no dots of any other color. For instance, if the certain number of dots of black ink is 2, then a pixel represented by one or more color dots and two black dots would be replaced by a pixel represented by only two black dots, and a pixel represented by one or more color dots and three black dots would be replaced by a pixel represented by only three black dots.
- the pixel may be replaced by a pixel that has a certain number of black dots (e.g., 2) and no dots of any other color. For instance, if the criteria is based on the at least a certain number of dots of black ink being 2, then a pixel represented by one or more color dots and two black dots would be replaced by a pixel represented by only two black dots, and a pixel represented by one or more color dots and three black dots would also be replaced by a pixel represented by only two black dots.
- a certain number of black dots e.g., 2
- no dots of any other color e.g. 2
- replacement of the pixel may be performed by replacing an NP associated with the pixel with another NP.
- a pixel represented by the NP CCKK may be replaced with the NP KK.
- the replacement may be performed using the above discussed lookup table. For example, each pixel included in the lookup table that meets the criteria may be paired with an associated replacement pixel. Therefore, the pixel is replaced with the associated replacement pixel per the lookup table. As discussed above the pairs may be represented as tuples of the form "pixel":"replacement pixel".
- the lookup table may be represented as CKK:KK, MKK:KK, YKK:KK, CCKK:KK, MMKK:KK, YYKK:KK, MKKK:KKK, CKKK:KKK, YKKK:KKK, KKcc:KK, KKmm:KK, KKc:KK, KKm:KK, KKcm:KK, CMKK:KK, CYKK:KK, and MYKK:KK.
- the lookup table may be represented as CKK:KK, MKK:KK, YKK:KK, CCKK:KK, MMKK:KK, YYKK:KK, MKKK:KK, CKKK:KK, YKKK:KK, KKcc:KK, KKmm:KK, KKc:KK, KKm:KK, KKcm:KK, CMKK:KK, CYKK:KK, and MYKK:KK.
- a block 315 it is determined if there are any more pixels to check against the criteria. If it is determined there are more pixels to check, the method 300 returns to the block 305, otherwise the method ends.
- the modified image may then be printed using a printer on a substrate such as paper.
- a printer on a substrate such as paper.
- Such methods and systems described herein may be advantageous as they do not require much processing power to perform a simple lookup of pixels that meet a threshold number of dots of black ink, while reducing ink usage for printing the modified image.
- FIG. 4 shows an example 400 of an imaging system 410 comprising a machine-readable storage medium 440 coupled to a processor 420.
- the imaging system 410 may comprise a computer; in other cases the imaging device may comprise a printer, scanner, display device or the like.
- Machine-readable media 440 can be any non- transitory media that can contain, store, or maintain programs and data for use by or in connection with an instruction execution system.
- Machine-readable media can comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media.
- machine-readable media include, but are not limited to, a hard drive, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory, or a portable disc.
- the machine-readable storage medium comprises program code to implement an image modification 450 such as the methods of image modification (e.g., method 300) and/or the apparatus (e.g. apparatus 200) described herein.
- the apparatus 200 or method 300 may in practice be provided by a single chip or integrated circuit or plural chips or integrated circuits, optionally provided as a chipset, an application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), etc.
- ASIC application-specific integrated circuit
- FPGA field-programmable gate array
- the chip or chips may comprise circuitry (as well as possibly firmware) for embodying at least an image filter as described above.
- the described examples may be implemented at least in part by computer program code stored in (non-transitory) memory and executable by the processor, or by hardware, or by a combination of tangibly stored code and hardware (and tangibly stored firmware).
- the computer-readable instructions when executed by a processing system, cause the processing system to determine whether a data value for a pixel in a plurality of pixels of a digital representation of an image instructs a printing device to deposit of at least two units of a black print material and at least one additional unit of non-black print material. Responsive to a positive determination, e.g. a determination that the data value does instruct in the manner described, the instructions cause the processing system to output a replacement data value for the pixel that instructs a printing device to deposit only units of black print material. In one case if the determination is negative, e.g.
- the original data value is used for the pixel in a replacement digital representation.
- the replacement digital representation may be a new or modified image or data file for print.
- a replacement data value may be output by setting data values for color channels other than black to zero.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Abstract
Described herein are systems and methods for processing an image such as a halftone image. For example, in some embodiments, pixels of an image are checked to see if when printed would be represented by a given output. Pixels of the image that match defined values are replaced with pixels that are represented by a different set of outputs. This latter set of outputs may be selected to optimize one or more imaging attributes.
Description
PIXEL PROCESSING
BACKGROUND
[0001] Imaging systems are arranged to output an image. They may comprise printing or display systems, wherein an output is either a printed or displayed image. In these cases, color data for the image may be represented in a first color space and it may be necessary to map this color data to a second color space that is used to produce the output. To do this a color mapping may be used. In a halftone imaging system, the color mapping may be followed by a halftoning process so as to reproduce a continuous tone image represented in the second color space using a series of dot shapes. This may allow the continuous tone image to be printed on a printing device with a discrete number of output drop levels. The result of this process is an output in the form of a halftone color separation.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Figure 1 is a schematic diagram of an image processing pipeline according to an example;
[0003] Figure 2 is a schematic diagram of an apparatus for processing a halftone image according to an example;
[0004] Figure 3 is a flow chart showing a method for modifying images according to an example; and
[0005] Figure 4 is a schematic diagram showing a processing device according to an example.
DETAILED DESCRIPTION
[0006] In the following description, for purposes of explanation, numerous specific details of certain examples are set forth. Reference in the specification to "an example" or similar language means that a particular feature, structure, or characteristic described in connection with the example is included in at least that one example, but not necessarily in other examples.
[0007] Certain examples described herein relate to systems and methods for processing pixels in an image. These examples may be used to modify ink usage in a printer. More particularly, certain examples relate to systems and methods for replacing data values of pixels in a halftone image. This may help to minimize the ink usage of a printer. In certain examples pixels that result from a halftoning process are substituted if they match a particular pattern. This pattern may be defined in an associative array such as a dictionary. Substituted pixels may be selected to have improved properties, such as optimized properties with regard to one or more imaging attributes or metrics.
[0008] Figure 1 shows an example of an image processing pipeline 100. Certain examples described herein modify an output of the image processing pipeline 100. This modification may be performed to optimize use of a print material, e.g. to reduce ink usage. In the example of Figure 1 , image data 1 10 is passed into a color mapping component 120. The image data 1 10 may comprise color data as represented in a first color space, such as pixel representations in an RGB color space. The color mapping component 120 maps the color data from the first color space to a second color space. In the present example, color mapping component 120 maps color data from a first color space to a colorant color space so as to generate a color separation. For example, the colorant color space may be a colorant color space and the color separation may comprise a set of colorant vectors, e.g. each RGB pixel value may be mapped to a Cyan, Magenta, Yellow and blacK (CMYK) pixel value, wherein the CMYK pixel value denotes a proportion of colorant (e.g. [10, 125, 80] may be mapped to [0.92, 0.0, 0.36, 0.51]). The proportion of each colorant may be represented by a fraction (e.g. 0 to 1 ) or a percentage (e.g. 0 to 100%). The colorants used within the colorant space may vary depending on a desired printing device, e.g. six colorants may be used in association with a CMYKcm printing device.
[0009] The color separation generated by the color mapping component 120 comprises continuous tone data, i.e. each colorant is denoted using a continuous range. In the context of the first image processing pipeline 100, the term "color separation" refers to the output of a color mapping in a colorant space. In certain cases, a color separation may comprise multiple colorant images or
components, e.g. one for each colorant in a printing system. For ease of explanation, the term "color separation" will be used herein to refer to the result of combining each of the multiple colorant components, rather than each of the colorant components themselves.
[0010] In the first image processing pipeline 100, following generation of a color separation, a halftoning component 130 applies a halftoning operation to the continuous tone data to generate a halftone output 140. The halftoning operation uses a series of geometric shapes to convert the continuous tone data of the color separation to a discrete tone data, e.g. data comprising a discrete number of color levels. For example, if an image is to be printed on a binary level printing device (e.g. with either 0% or 100% colorant per pixel) then a halftoning component 130 may generate a halftone output with two discrete tone levels per colorant. Typically, a series of dots are used to replicate the continuous tone data, wherein each dot comprises a solid color and a variation in one or more of dot size, dot shape and dot spacing simulates a continuous tone when viewed from a distance. The halftone output may be referred to herein as a halftone image.
[0011] In other examples, different image processing pipelines may be used to generate a halftone image. For example, a Halftone Area Neugebauer Separation (HANS) pipeline may be used to generate a halftone image by mapping color data in a first color space to an area coverage representation such as a Neugebauer Primary area coverage (NPac) vector in NPac color space. This area coverage representation may be used to specify the spatial distribution of colorants in a halftoning operation. For example in a HANS pipeline, a halftone image on a substrate comprises a plurality of pixels or dots wherein the spatial density of the pixels or dots is defined in NPac color space and NPac vectors for a set of pixels controls the colorimetry of an area of the image, i.e. any halftoning process simply implements the area coverages as defined in the NPac vectors.
[0012] An image represented by pixels as generated by the image processing pipelines discussed above can be printed on a substrate using drops or dots of ink to represent each pixel. In some examples, a pixel may be printed on the substrate by printing multiple dots of ink in a particular area of the substrate to represent the pixel, e.g. this may the case for a / -level printer that is capable
of depositing k drops of ink as dots in a pixel area of a substrate. It may be advantageous to modify such images in a manner to have improved ink usage when printing the image, while at the same time not requiring a significant amount of processing power to make such modifications to the image.
[0013] Certain examples described herein modify images, including halftone images and/or images represented by NPac vectors. In particular, certain embodiments allow for replacing pixel data values in an image to improve one or more image properties such as ink usage when the image is printed. In some embodiments, this may be advantageous to reduce the amount of ink needed and/or reduce the use of expensive color ink, e.g. as opposed to cheaper black ink, when printing an image. Alternatively, the image properties may relate to color robustness, color constancy, banding etc.. For example, methods and systems of parsing/checking portions (e.g. pixels or other image area definitions) of a digital representation (e.g. image file, JPEG, GIF, etc.) of an image and replacing those portions are described herein. The methods and systems might comprise a dedicated apparatus and/or be implemented as a computer program (e.g. a script in a programming language) running on a computer, or other software and/or hardware.
[0014] Figure 2 shows an example of an apparatus 200 for processing a halftone image, such as the halftone images generated by the image processing pipelines that are discussed above. The apparatus 200 receives image data 210 representative of the halftone image. This image data 210 is then accessed by an image filter 220. The image filter 220 processes the image data 210 and generates modified image data 230 representative of a replacement halftone image.
[0015] The image filter 220 is arranged to identify pixels in the image data 210 for the halftone image that match a predefined pattern. This pattern may be represented by a set of data values that are stored in an associative array, i.e. a data structure that comprises one or more key-value pairs. In this case, the keys of the associative array may represent a pattern value to be matched and the values of the associative array may represent replacement pixel values. For example, in one case the keys may represent pixel values that instruct a deposit
of at least two units of a black print material and at least one additional unit of non-black print material. For example, in the context of an image to be printed, a unit of print material may comprise a drop of ink in an inkjet printer. The image filter 220 is arranged to process the identified pixels and to generate replacement data for said pixels in the modified image data 230 based on the pattern matching, e.g. based on the values of the key-value pairs in the array. In one case, these values may instruct a deposit of only units of black print material.
[0016] In one case, the image filter 220 is arranged to access an associative array in the form of a data dictionary comprising a plurality of entries. In this case, each entry in the dictionary may be indexed by a data value that matches the pattern, e.g. in one implementation instructs a deposit of at least two units of a black print material and at least one additional unit of non-black print material. Each entry also comprises a replacement data value for the indexed data value. In the above implementation this may instruct a deposit of only units of black print material. For example, each entry may be a tuple of the form {"[pixel data value X]": "[replacement data value for X\"}. The dictionary may be used to identify pixel values in the image data 210 that match the indexed data values. The replacement data value may then be used to replace the indexed data values in the image data 210. This may be applied as one operation. The replacement data values may be written in situ, i.e. may overwrite data values in the original image data 210, or they may be written into a new data file, i.e. a new halftone image may be generated that comprises the modified image data wherein the original image data 210 is unmodified.
[0017] Figure 3 shows a method 300 for modifying an image, e.g. a halftone image, by replacing individual pixels in the image according to an example. This particular example is configured to reduce ink usage; however, the functions may be extended to other image properties or attributes in other examples. For example, the method may be adapted to optimize a second set of imaging attributes with respect to a first set of imaging attributes using pixel replacement for a halftone image. It should be noted that though pixel replacement is discussed, other sub portions of the image can be replaced in a similar manner.
[0018] At a first block 305, a pixel of a digital representation of an image is checked, such as by using a computing device, to see if it meets a criteria for replacement. For example, the criteria may comprise whether the pixel when printed would be represented/printed using at least a certain number of dots of black ink. One particular embodiment would be to check if the pixel when printed would be represented/printed using at least two dots of black ink. Checking for at least two dots of black ink on a per pixel basis may be advantageous as it represents a threshold number of black dots where a number of dots of black ink below the threshold may lead to worse color representation in the image, and a greater number of dots of black ink may lead to wasted ink.
[0019] In some embodiments, the criteria check may be performed by checking whether a Neugebauer Primary (NP) value associated with the pixel comprises at least the certain number of dots of black ink. Neugebauer Primaries (NPs) comprise a particular ink overprint combination for a printing system. For example, in a binary (bi-level) printer, an NP is one of 2m combinations of m inks within the printing system. For example, if a printing device uses CMY inks there can be eight NPs, these NPs relate to the following: C, M, Y, C+M, C+Y, M+Y, C+M+Y, and W (white or blank indicating an absence of ink). Other examples may also incorporate multi-level printers, e.g. where print heads are able to deposit L drop levels, in this case an NP may comprise one of Lm combinations of m inks within the printing system. Although certain printing device examples are described with reference to one or more colorant levels, it should be understood that any color mappings may be extended to other printing fluids such as glosses and/or varnishes that may be deposited in a printing system and that may alter a perceived output color; these may be modelled as NPs. As such each pixel in the representation may be represented by an NP (e.g., CM, CMK, CMKK, YKK, KKK, etc.). In some embodiments, any NP that is represented by at least two black dots (i.e., contains at least two Ks) meets the criteria.
[0020] In some embodiments, the check may be performed using a lookup table (also referred to as a "filtering dictionary"). For example, for images for printing on a CMYKcm printer, where up to 4 dots of ink can be printed per pixel, and the criteria is whether an NP associated with the pixel comprises at least two
dots of black ink, the lookup table might include the following NP values that meet the criteria: CKK, MKK, YKK, CCKK, MMKK, YYKK, MKKK, CKKK, YKKK, KKcc, KKmm, KKc, KKm KKcm, CMKK, CYKK, and MYKK. The check may be performed by seeing if the pixel is found in the lookup table, and if it is, it meets the criteria.
[0021] If at the block 305 it is determined that the pixel does meet the criteria, the method proceeds to a block 310. If at the block 305 it is determined that the pixel does not meet the criteria, the method 300 proceeds to a block 315.
[0022] At the block 310, the pixel in the digital representation of the image that meets the criteria is replaced with a different pixel. For example, in some embodiments where the criteria comprises whether the pixel when printed would be represented/printed using at least a certain number of dots of black ink, the pixel may be replaced with a pixel that when printed is represented by the same number of black dots as the original pixel and no dots of any other color. For instance, if the certain number of dots of black ink is 2, then a pixel represented by one or more color dots and two black dots would be replaced by a pixel represented by only two black dots, and a pixel represented by one or more color dots and three black dots would be replaced by a pixel represented by only three black dots.
[0023] In another such embodiment, the pixel may be replaced by a pixel that has a certain number of black dots (e.g., 2) and no dots of any other color. For instance, if the criteria is based on the at least a certain number of dots of black ink being 2, then a pixel represented by one or more color dots and two black dots would be replaced by a pixel represented by only two black dots, and a pixel represented by one or more color dots and three black dots would also be replaced by a pixel represented by only two black dots.
[0024] In some embodiments, replacement of the pixel may be performed by replacing an NP associated with the pixel with another NP. For example, a pixel represented by the NP CCKK, may be replaced with the NP KK.
[0025] The replacement may be performed using the above discussed lookup table. For example, each pixel included in the lookup table that meets the criteria may be paired with an associated replacement pixel. Therefore, the pixel
is replaced with the associated replacement pixel per the lookup table. As discussed above the pairs may be represented as tuples of the form "pixel":"replacement pixel". Accordingly, in an embodiment for images for printing on a CMYKcm printer, where up to 4 dots of ink can be printed per pixel, and the criteria is whether an NP associated with the pixel comprises at least two dots of black ink, and the replacement is to represent the pixel using only the same number of dots of black ink, the lookup table may be represented as CKK:KK, MKK:KK, YKK:KK, CCKK:KK, MMKK:KK, YYKK:KK, MKKK:KKK, CKKK:KKK, YKKK:KKK, KKcc:KK, KKmm:KK, KKc:KK, KKm:KK, KKcm:KK, CMKK:KK, CYKK:KK, and MYKK:KK.
[0026] In another embodiment for images for printing on a CMYKcm printer, where up to 4 dots of ink can be printed per pixel, and the criteria is whether an NP associated with the pixel comprises at least two dots of black ink, and the replacement is to represent the pixel using only two dots of black ink, the lookup table may be represented as CKK:KK, MKK:KK, YKK:KK, CCKK:KK, MMKK:KK, YYKK:KK, MKKK:KK, CKKK:KK, YKKK:KK, KKcc:KK, KKmm:KK, KKc:KK, KKm:KK, KKcm:KK, CMKK:KK, CYKK:KK, and MYKK:KK.
[0027] Further, at a block 315, it is determined if there are any more pixels to check against the criteria. If it is determined there are more pixels to check, the method 300 returns to the block 305, otherwise the method ends.
[0028] The modified image may then be printed using a printer on a substrate such as paper. Such methods and systems described herein may be advantageous as they do not require much processing power to perform a simple lookup of pixels that meet a threshold number of dots of black ink, while reducing ink usage for printing the modified image.
[0029] Certain methods and systems as described herein may be implemented by a processor that processes computer program code that is retrieved from a non-transitory storage medium. Figure 4 shows an example 400 of an imaging system 410 comprising a machine-readable storage medium 440 coupled to a processor 420. In certain case the imaging system 410 may comprise a computer; in other cases the imaging device may comprise a printer, scanner, display device or the like. Machine-readable media 440 can be any non-
transitory media that can contain, store, or maintain programs and data for use by or in connection with an instruction execution system. Machine-readable media can comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media. More specific examples of suitable machine-readable media include, but are not limited to, a hard drive, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory, or a portable disc. In Figure 4, the machine-readable storage medium comprises program code to implement an image modification 450 such as the methods of image modification (e.g., method 300) and/or the apparatus (e.g. apparatus 200) described herein. Similarly, it should be understood that the apparatus 200 or method 300 may in practice be provided by a single chip or integrated circuit or plural chips or integrated circuits, optionally provided as a chipset, an application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), etc. The chip or chips may comprise circuitry (as well as possibly firmware) for embodying at least an image filter as described above. In this regard, the described examples may be implemented at least in part by computer program code stored in (non-transitory) memory and executable by the processor, or by hardware, or by a combination of tangibly stored code and hardware (and tangibly stored firmware).
[0030] For example, in one case the computer-readable instructions, when executed by a processing system, cause the processing system to determine whether a data value for a pixel in a plurality of pixels of a digital representation of an image instructs a printing device to deposit of at least two units of a black print material and at least one additional unit of non-black print material. Responsive to a positive determination, e.g. a determination that the data value does instruct in the manner described, the instructions cause the processing system to output a replacement data value for the pixel that instructs a printing device to deposit only units of black print material. In one case if the determination is negative, e.g. the data values does not instruct deposit in the aforementioned manner, the original data value is used for the pixel in a replacement digital representation. The replacement digital representation may be a new or modified
image or data file for print. A replacement data value may be output by setting data values for color channels other than black to zero.
[0031] The preceding description has been presented to illustrate and describe examples of the principles described. This description is not intended to be exhaustive or to limit these principles to any precise form disclosed. Many modifications and variations are possible in light of the above teaching.
Claims
1 . A method for processing a halftone image, the method comprising:
checking a plurality of pixels of a digital representation of a halftone image for one or more pixels that match one or more data values defined as keys in an associative array, the associative array comprising one or more key-value pairs, said data values being indicative of a first set of imaging attributes; and
replacing each of the one or more pixels in the digital representation of the image with a replacement pixel that has a data value indicated by a corresponding value in the associative array, the data value being indicative of a second set of imaging attributes, the second set of imaging attributes being optimized with respect to the first set of imaging attributes.
2. The method of claim 1 , wherein each of the plurality of pixels is represented by a Neugebauer Primary.
3. The method of claim 1 , wherein the one or more data values defined as keys in the associative array represent pixels that are to be printed with at least two dots of black ink and at least one additional dot of ink and wherein each data value indicated by a value in the associative array represents a pixel that is to be printed with only dots of black ink.
4. The method of claim 1 , wherein the replacement pixel when printed is represented by only two dots of black ink.
5. The method of claim 1 , wherein the replacement pixel when printed is represented by at least two dots of black ink and no dots of ink of another color.
6. The method of claim 1 , wherein the first set of imaging attributes represent a first level of ink use and the second set of imaging attributes represent a second
level of ink use, the second level of ink use being lower than the first level of ink use.
7. The method of claim 1 , further comprising printing the digital representation of the image with the replacement pixel.
8. Apparatus for processing a halftone image comprising:
an image filter arranged to access the halftone image and generate a replacement halftone image,
the image filter being arranged to identify pixels in the halftone image based on keys in an associative array comprising key-value pairs, the keys being indicative of pixel values that result in a first set of image properties, and to generate replacement data for said pixels in the replacement halftone image based on corresponding values in the associative array that are indicative of pixel values that result in a second set of image properties, the second set of image properties being optimized with regard to the first set of image properties.
9. The apparatus of claim 8, wherein the associative array comprises a data dictionary comprising a plurality of entries,
each entry being indexed by a data value that instructs a deposit at least a first number of units of print material
each entry comprising a replacement data value for the indexed data value that instructs a deposit of a second number of units of print material,
the second number of units being lower than the first number of units.
10. The apparatus of claim 8, wherein a unit of print material comprises a drop of ink in an inkjet printer.
1 1 . A non-transitory computer-readable storage medium comprising a set of computer-readable instructions stored thereon, which, when executed by a processing system, cause the processing system to:
determine whether a data value for a pixel in a plurality of pixels of a digital representation of an image instructs a printing device to deposit of at least two units of a black print material and at least one additional unit of non-black print material; and
responsive to a positive determination, output a replacement data value for the pixel that instructs a printing device to deposit only units of black print material.
12. The medium of claim 1 1 , wherein the instructions cause the processing system to:
output a replacement digital representation of the image with the replacement data values.
13. The medium of claim 12, wherein the instructions cause the processing system to:
responsive to a negative determination, use the original data value for the pixel in the replacement digital representation.
14. The medium of claim 1 1 , wherein the instructions cause the processing system to output a replacement data value for the pixel by overwriting the original data value in the digital representation of the image.
15. The medium of claim 1 1 , wherein the instructions cause the processing system to:
output a replacement data value by setting data values for color channels other than black to zero.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/521,842 US10200568B2 (en) | 2014-11-03 | 2014-11-03 | Pixel processing |
| PCT/EP2014/073590 WO2016070902A1 (en) | 2014-11-03 | 2014-11-03 | Pixel processing |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/EP2014/073590 WO2016070902A1 (en) | 2014-11-03 | 2014-11-03 | Pixel processing |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016070902A1 true WO2016070902A1 (en) | 2016-05-12 |
Family
ID=51982527
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2014/073590 Ceased WO2016070902A1 (en) | 2014-11-03 | 2014-11-03 | Pixel processing |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US10200568B2 (en) |
| WO (1) | WO2016070902A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108089826A (en) * | 2016-11-23 | 2018-05-29 | 惠普赛天使公司 | Generate halftoning |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3213501B1 (en) * | 2014-10-30 | 2019-12-25 | Hewlett-Packard Development Company, L.P. | Configuring an imaging system |
| CN107079076B (en) * | 2014-10-31 | 2019-11-12 | 惠普发展公司,有限责任合伙企业 | Post-process halftone images |
| US10897556B2 (en) * | 2017-09-26 | 2021-01-19 | Hewlett-Packard Development Company, L.P. | Generating an area coverage vector |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0580376A1 (en) * | 1992-07-23 | 1994-01-26 | Xerox Corporation | Image processing method to reduce marking material coverage in printing processes |
| EP0768792A2 (en) * | 1995-10-11 | 1997-04-16 | Xerox Corporation | Method and apparatus for the resolution enhancement of gray scale images that include text and line art |
| US6057932A (en) * | 1996-09-11 | 2000-05-02 | Brother Kogyo Kabushiki Kaisha | Data conversion method with total ink amount limiting function |
| EP1940146A1 (en) * | 2006-12-28 | 2008-07-02 | Fuji Xerox Co., Ltd. | Image processing device, image output device, terminal device, image forming system, program and image processing method |
| JP2012109871A (en) * | 2010-11-18 | 2012-06-07 | Ricoh Co Ltd | Image processing system and image formation system |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6459425B1 (en) | 1997-08-25 | 2002-10-01 | Richard A. Holub | System for automatic color calibration |
| JP4118886B2 (en) | 2005-01-21 | 2008-07-16 | シャープ株式会社 | Image processing apparatus, image forming apparatus, image reading processing apparatus, image processing method, image processing program, and computer-readable recording medium |
| US8213055B2 (en) | 2009-02-20 | 2012-07-03 | Hewlett-Packard Development Company, L.P. | Color separation into Neugebauer primary area coverage vectors |
| US9584700B2 (en) | 2009-10-26 | 2017-02-28 | Hewlett-Packard Development Company, L.P. | Color separation table optimized for a printing process according to a print attribute by selecting particular Neugebauer primaries and Neugebauer primary area coverages |
| US9686444B2 (en) | 2012-07-11 | 2017-06-20 | Hewlett-Packard Development Company, L.P. | Color separation and printing |
-
2014
- 2014-11-03 WO PCT/EP2014/073590 patent/WO2016070902A1/en not_active Ceased
- 2014-11-03 US US15/521,842 patent/US10200568B2/en not_active Expired - Fee Related
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0580376A1 (en) * | 1992-07-23 | 1994-01-26 | Xerox Corporation | Image processing method to reduce marking material coverage in printing processes |
| EP0768792A2 (en) * | 1995-10-11 | 1997-04-16 | Xerox Corporation | Method and apparatus for the resolution enhancement of gray scale images that include text and line art |
| US6057932A (en) * | 1996-09-11 | 2000-05-02 | Brother Kogyo Kabushiki Kaisha | Data conversion method with total ink amount limiting function |
| EP1940146A1 (en) * | 2006-12-28 | 2008-07-02 | Fuji Xerox Co., Ltd. | Image processing device, image output device, terminal device, image forming system, program and image processing method |
| JP2012109871A (en) * | 2010-11-18 | 2012-06-07 | Ricoh Co Ltd | Image processing system and image formation system |
Non-Patent Citations (1)
| Title |
|---|
| KLASSEN ET AL: "Reducing Ink Coverage Levels in Binary CMYK Images", IS&T'S 46TH ANNUAL CONFERENCE,, 1 January 1993 (1993-01-01), pages 173 - 175, XP008176787 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108089826A (en) * | 2016-11-23 | 2018-05-29 | 惠普赛天使公司 | Generate halftoning |
| EP3328050A1 (en) * | 2016-11-23 | 2018-05-30 | HP Scitex Ltd | Generating a halftone image |
Also Published As
| Publication number | Publication date |
|---|---|
| US20170257527A1 (en) | 2017-09-07 |
| US10200568B2 (en) | 2019-02-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9501727B2 (en) | Creating a color gamut look-up-table | |
| EP3135025B1 (en) | Color halftone processing | |
| US10542185B2 (en) | Color printing look-up-table | |
| US8670167B2 (en) | Color gamut determination with neugebauer-primary area coverages for a print system | |
| US10200568B2 (en) | Pixel processing | |
| US8861037B2 (en) | Total color material amount restriction profile creation method, total color material amount restriction profile creation apparatus, image signal processing apparatus, image signal processing system, and recording medium | |
| US20200036866A1 (en) | Color calibration | |
| US20190116291A1 (en) | Selecting color states | |
| EP3213499B1 (en) | Post-processing halftone images | |
| US8848245B2 (en) | Printing apparatus, method of generating color conversion table, and computer program | |
| US10528296B2 (en) | Ink-channel to NPac mapping | |
| US10691988B2 (en) | Printing of a halftone based on multiple colorant deposition orders | |
| US10893173B2 (en) | Color space values corresponding to classification identifiers | |
| US20100027074A1 (en) | Partition halftone for multi-tone level output device | |
| US20060061783A1 (en) | Calibration of color devices | |
| KR20060119820A (en) | Color printing | |
| US11310393B2 (en) | Clustering colors for halftoning | |
| JP4598537B2 (en) | Color printing method | |
| US20210279536A1 (en) | Dithering based color conversion | |
| US10832106B2 (en) | Combining lookup tables | |
| US9654667B1 (en) | System and method for stochastic vector halftoning of contone data in a printer having variable printing parameters | |
| US20180141345A1 (en) | Generating a halftone | |
| WO2019022699A1 (en) | Colorant vector calibration | |
| US20220360686A1 (en) | Print material element sets | |
| JP2015123580A (en) | Image processing device, image processing method and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14802826 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 15521842 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 14802826 Country of ref document: EP Kind code of ref document: A1 |