Images are processed for use with computing machines, such as a print apparatus. A print apparatus, for example, may use control data based on processed image data to reproduce a physical representation of an image by operating a print fluid ejection system according to the control data.
In the following description and figures, some example implementations of print apparatus, print systems, and/or methods of operating a print head are described. In examples described herein, a “print apparatus” may be a device to print content on a physical medium (e.g., paper, textiles, a layer of powder-based build material, etc.) with a print material (e.g., ink or toner). For example, the print apparatus may be a wide-format print apparatus that prints latex-based print fluid on a print medium, such as a print medium that is size A2 or larger. In some examples, the physical medium printed on may be a web roll or a pre-cut sheet. In the case of printing on a layer of powder-based build material, the print apparatus may utilize the deposition of print materials in a layer-wise additive manufacturing process. A print apparatus may utilize suitable print consumables, such as ink, toner, fluids or powders, or other raw materials for printing. In some examples, a print apparatus may be a three-dimensional (3D) print apparatus. An example of fluid print material is a water-based latex ink ejectable from a print head, such as a piezoelectric print head or a thermal inkjet print head. Other examples of print fluid may include dye-based color inks, pigment-based inks, solvents, gloss enhancers, fixer agents, and the like.
Certain examples described herein relate to color and pipeline calibration of a print system. For example, color calibration may be used to adjust the color response of the print system to more accurately correspond to a desired color to be printed. Color calibration may be used to calibrate a color mapping process by which a first representation of a given color is mapped to a second representation of the same color. In an example printing pipeline, individual inks may be calibrated separately so that printed colors are similar to or match desired colors.
A color model may define a color space, i.e., a multi-dimensional space with dimensions of the space representing variables within the color model and a point in the multi-dimensional space representing a color value. For example, in a red, green, blue (RGB) color space, an additive color model defines three variables representing different quantities of red, green and blue light. Another color space includes a cyan, magenta, yellow and black (CMYK) color space, in which four variables are used in a subtractive color model to represent different quantities of colorant or ink, e.g., for a print system and an image with a range of different colors can be printed by overprinting images for each of the colorants or inks.
Other spaces include area coverage spaces, such as the Neugebauer Primary area coverage (NPac) space. NPac space may be used as a print control space that controls a color output of an imaging device. An NPac vector in the NPac space represents a statistical distribution of one or more Neugebauer Primary (NP) vectors over an area of a halftone. An NP may include one of Nk combinations of k inks within the print system, such as in the context of multi-level printers where print heads are able to deposit N drop levels (e.g., via multiple print passes or print-bars). For example, in a simple binary (bi-level, i.e., two drop state: “drop” or “no drop”) printer, an NP is one of 2k combinations of k inks within the print system. In an example of a print apparatus that uses CMY inks, there can be eight NPs: 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 an overprint of available inks, such as a drop of magenta on a drop of cyan (for a bi-level printer) in a common addressable print area (e.g., a printable ‘pixel’).
Each NPac vector may define the probability distribution for one or more colorant or ink combinations for each pixel in a halftone (e.g., a likelihood that a particular colorant or ink combination is to be placed at each pixel location in the halftone). In this manner, a given NPac vector defines a set of halftone parameters that can be used in the halftoning process to map a color to one or more NP vectors to be statistically distributed over the plurality of pixels for a halftone. Moreover, the statistical distribution of NPs to pixels in the halftone serves to control the colorimetry and other print characteristics of the halftone. Spatial distribution of the NPs according to the probability distribution specified in the NPac vector may be performed using any suitable halftoning methods, such as matrix-selector-based Parallel Random Area Weighted Area Coverage Selection (PARAWACS) techniques and techniques based on error diffusion. An example of a print system that uses area coverage representations for halftone generation is a Halftone Area Neugebauer Separation (HANS) pipeline. An example HANS pipeline may utilize various sets of resources and/or various methods to perform image processing on the pipeline in preparation to cause a print apparatus to produce an image.
Some print apparatus may perform prints with multiple passes (or swaths) of a movable print carriage to eject print fluid over the same area of the print medium to improve image quality. Other print apparatus may include multiple print bars allowing for multiple sets of print heads in parallel to allow for improved image quality. Both examples attempt to place more than a single drop at each location of the print medium. In other print apparatus, a single, fixed print bar may be unable to achieve the image quality of other print apparatus capable of performing multiple passes or having multiple print bars.
Various examples described below relate to a redundancy print mode for print apparatus with a fixed print bar. Print heads may include a plurality of nozzles that may correspond to a particular print fluid (e.g., designated to receive and eject the particular print fluid), where some print heads include a plurality of nozzles for a particular print fluid among multiple trenches. Such nozzle arrangements may be addressed to act with redundancy by changing the pipeline processing to generate print head instructions to perform nozzle actuations over a drop domain corresponding to redundancy groups of the nozzles. By addressing groups of nozzles to act over the same location in a single pass, a print apparatus with a fixed print bar may print in a redundancy print mode to improve image quality.
The print head station 102 represents any structural mechanism to fluidly couple a print head 110 to a print apparatus and communicatively couple the print head 110 to the print system 100. For example, the print head station 102 may include a tubing interface to couple a print fluid supply channel to the print head 110 and an electrical interface to couple to circuitry on the print head 110 to induce the print head 110 to actuate the nozzles of the print head 110 (e.g., cause a thermal resistor of a thermal inkjet print head to fire to cause print fluid to eject from a nozzle corresponding to the thermal resistor). The print head 110 receivable by the print head station 102 may include a plurality of nozzles in a plurality of trenches corresponding to a particular print fluid supply channel (e.g., multiple trenches corresponding to a cyan colorant supply and multiple trenches corresponding to a magenta colorant supply, etc.).
The redundancy engine 104 represents any circuitry or combination of circuitry and executable instructions to identify a group of nozzles based on a redundancy characteristic of the plurality of print head nozzles of the print head 110 to be received at the print head station 102. For example, the redundancy engine 104 may be a combination of circuitry and executable instructions to select a lookup table with groups of nozzles in a drop domain corresponding to the plurality of nozzles of the print head 110. The redundancy engine 104 may identify the group of nozzles based on redundancy characteristic by selecting a set of processing resources corresponding to a drop domain capable of operation with the print head 110 based on a redundancy characteristic of the print head 110.
As used herein, a “redundancy characteristic” of a print head may correspond to a mechanical property of the print head that allows for redundancy mapping of nozzles of the print head. An example redundancy characteristic may be a number of trenches of the nozzle or a nozzle resolution specification above a threshold. For example, the print head 110 may include a plurality of trenches corresponding to a single colorant print fluid (e.g., trenches coupled to the same print fluid supply channel or otherwise associated with a common delivery path) and the redundancy engine 104 may identify a column of nozzles being the group of nozzles corresponding to a nozzle position of the nozzles in each of the trenches and determine a number of drops state options based on the number of trenches of the print head and the resolution of the print head 110. In that example, a redundancy characteristic corresponds to a number of trenches of a die output from a common delivery path designated to a particular print fluid. In another example, a number of trenches may correspond to delivery paths associated with related print fluids, such as a light cyan and a dark cyan, where the redundancy print mode pipeline resources may be adjusted to use a light and/or dark version of the print fluid for redundancy purposes.
The redundancy engine 104 may include circuitry or a combination of circuitry and executable instructions to define the drop domain by associating a drop state for each nozzle in a group (e.g., each nozzle in a column position of rows of trenches). The redundancy engine 104 may identify a plurality of nozzle redundancy options (e.g., a number of print modes that allow for redundancy) based on a number of nozzles of identifiable nozzle groupings based on the number of trenches of the print head 110. For example, if there are four trenches allocated to a similar print fluid, then there may be a combination of redundancy options, such as operating two groups of two drop states, operating a group of four nozzles in a column, or operating a group of three drops states and a group of one drop state, etc. In that example, the number of drop states may be weighted towards particular colorants based on the desired halftone effect, such as using three trenches for darker cyan and one trench for lighter cyan. The redundancy engine 104 may select the group of nozzles from the number of identifiable nozzle groupings based on the print job data. The print job data may include print job type (e.g., a graphics image or a technical image), the status of the print apparatus (e.g., such as the types of colorants available) or a print mode selected by a user that may indicate redundancy is to be used.
The redundancy engine 104 may identify a number of the multiple drop states that correspond to a number of drop cells in a group (a drop cell represents a nozzle of the print head) and a divisible of the print head resolution. The drop domain may be changed to address multiple drop cells to act as a single drop cell. In this manner, different color separation operations (e.g., color mapping) may be performed appropriate to whether a lower print resolution with redundancy is to be used or a higher print resolution without redundancy is to be used.
The separation engine 106 represents any circuitry or combination of circuitry and executable instructions to control a processing pipeline to use color resources corresponding to the redundancy print mode using the image data resolution that is less than the print head resolution. For example, the separation engine 106 may be a combination of circuitry and executable instructions to select a color separation operation corresponding to a drop domain associated with the group of nozzles identified by the redundancy engine 104 to operate the print head 110 with redundancy. For example, the separation engine 106 may be a combination of circuitry and executable instructions to initiate a color separation operation corresponding to a drop domain that selects nozzles of the column to actuate based on the drop state for the group of nozzles corresponding to the redundancy characteristic of the print head 110. For another example, the separation engine 106 may generate halftone data from the color separation operation to cause the print head to eject print fluid from a combination of nozzles corresponding to a group of nozzles based on the drop domain to operate the print head 110 with a redundancy print mode. In that example, the combination of nozzles may be a subset of all the nozzles of the group, for example, when the drop state is less than actuating all nozzles in the column position of the associated trenches and the color separation operation may choose to select the nozzles of the subset of each column to actuate randomly or based on a pattern. Multiple color separations operations may be available and may be selected by the separation engine 106 based on the determined drop domain and/or printing parameters of the print job.
The separation engine 106 may perform the color separation operation to generate halftone data at a divisible of the print head resolution based on a number of redundancies corresponding to the number of drop states available. For example, the divisible may be based on the number of trenches allocated to each print fluid supply channel (e.g., delivery path) and the halftone data may distribute a number of nozzle actuations less than the number of trenches to the drop cells of the group according to a redundancy addressing scheme to allow for each group to operate with redundancy. As used herein, a “redundancy addressing scheme” is a processing organization having a number of drop states corresponding to nozzles of a group. An example of a redundancy addressing scheme may allocate a column of nozzles into groups, were each group may include a nozzle from each of the number of trenches fluidly coupled to the same print fluid supply channel. For example, the redundancy addressing scheme may coordinate the use of a drop domain of drop cells where the drop cells are defined to operate multiple nozzles (e.g., a group of nozzles) rather than as single nozzles and a nozzle of the group actuates randomly or based on a pattern within the group consistent with the halftone data resulting of the color separation operation.
The print engine 108 represents any circuitry or combination of circuitry and executable instructions to generate instructions using the selected color separation operation to cause the print head to eject print fluid from a combination of nozzles corresponding to the group of nozzles based on the drop domain to operate the print head 110 with a redundancy print mode. In some examples, a subset of nozzles of the group of cells may be actuated, and in other examples, all nozzles of the group of cells may be actuated; the difference of examples may be based on the redundancy print mode to be used and the halftone data resulting from the color separation operation performed by the separation engine 106.
The print engine 108 may generate instructions to synchronize a print speed (e.g., paper advance) of a printer with a drop speed of the print head such that a group of single drop cells with a constant media coordinate operate as a single cell with multiple drop states (e.g., a number of drop states corresponding to redundancy based on the divisibility of the plurality of print head nozzles on a single print head die). For example, a delay among nozzles may be used to assist synchronization of ejection of drops from the nozzles consistent with the media advance to ensure the drops are placed in the same coordinate location or different coordinate locations based on the redundancy print mode to be used. The print engine 108 may identify printing parameters including a media speed and a drop speed to assist in synchronization of the drop speed.
In some examples, functionalities described herein in relation to any of
Although these particular modules and various other modules are illustrated and discussed in relation to
A processor resource is any appropriate circuitry capable of processing (e.g., computing) instructions, such as one or multiple processing elements capable of retrieving instructions from a memory resource and executing those instructions. For example, the processor resource 222 may be a central processing unit (CPU) that enables operation of a print apparatus in a redundancy print mode by fetching, decoding, and executing modules 204, 206, and 208. Example processor resources include at least one CPU, a semiconductor-based microprocessor, a programmable logic device (PLD), and the like. Example PLDs include an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a programmable array logic (PAL), a complex programmable logic device (CPLD), and an erasable programmable logic device (EPLD). A processor resource may include multiple processing elements that are integrated in a single device or distributed across devices. A processor resource may process the instructions serially, concurrently, or in partial concurrence.
A memory resource represents a medium to store data utilized and/or produced by the system 200. The medium is any non-transitory medium or combination of non-transitory media able to electronically store data, such as modules of the system 200 and/or data used by the system 200. For example, the medium may be a storage medium, which is distinct from a transitory transmission medium, such as a signal. The medium may be machine-readable, such as computer-readable. The medium may be an electronic, magnetic, optical, or other physical storage device that is capable of containing (i.e., storing) executable instructions. A memory resource may be said to store program instructions that when executed by a processor resource cause the processor resource to implement functionality of the system 200 of
In the discussion herein, the engines 104, 106, and 108 of
In some examples, the system 200 may include the executable instructions may be part of an installation package that when installed may be executed by a processor resource to perform operations of the system 200, such as methods described with regards to
The image data 460 may be received into a pipeline process of the print system 400 to be processed for production in a redundancy print mode. The redundancy engine 404 includes program instructions, such as an identification module 444 and a group module 446, to assist identification of a group of nozzles based on a redundancy characteristic of the plurality of print head nozzles of a print head of the print apparatus operating the print system 400.
The identification module 444 represents program instructions that when executed cause a processor resource to identify a redundancy characteristic of a plurality of print head nozzles of a print head. The identification module 444 may also be executed to retrieve other printing parameters as discussed herein (e.g., printer characteristics 462). The redundancy characteristic may be part of the printer characteristics 462 retrievable about the print apparatus and/or print job. For example, the redundancy characteristic may be stored within the print job data, may be stored as a predetermined characteristic of print heads compatible with the class of print apparatus usable with the print system 400, may be stored on a memory resource coupled to a print head and retrievable when attached to the print system 400, may be determined based on a calibration test and sensor readings, may be retrieved from a remote memory resources, such as a data server, and/or the like.
The group module 446 represents program instructions that when executed cause a processor resource to identify a group of nozzles able to correspond to a position. The group module 446 may be executed by a processor resource to cause the processor resource to identify a plurality of groups of nozzles based on the redundancy characteristic identified by executing the identification module 444 and the redundancy engine 404 may select the group of nozzles associated with print job characteristics of the image data 460 (e.g., corresponding to an amount of redundancy associated with the type of job or as selected by a user).
The separation engine 406 includes program instructions (such as a domain module 448, a resources module 450, and a mapping module 450) to assist selection of a color separation operation corresponding to a drop domain associated with the group of nozzles identified by the redundancy engine 404.
The domain module 448 represents program instructions that when executed cause a processor resource to identify a drop domain 466 based on the nozzle groups 464 identified by the redundancy engine 404. The drop domain 466 may be different based on the redundancy to be used and/or corresponding to the color separation operation to be used.
The resources module 450 represents program instructions that when executed cause a processor resource to identify color resources 468 corresponding to the drop domain 466 and provide the color resources 468 to be used with the execution of the color separation operation. Execution of the resources module 450 may also generate resources to be selected for use by the color separation operation based on the group 462 of nozzles identified by the redundancy engine 404 and/or the redundancy characteristic of the print job and/or the print head.
The mapping module 452 represents program instructions that when executed cause a processor resource to perform a color mapping of the color separation operation to generate halftone data using the image data 460 and the color resources 468 identifiable by execution of the resource module 450.
The print engine 408 includes program instructions, such as a printer module 454 and a group module 456, to assist causing a print apparatus to eject print fluid from a print head in a manner consistent with a redundancy print mode. The printer module 454 represents program instructions that when executed cause a processor resource to identify, via the printer characteristics 462, the specific printer model to perform the printing of the image data 460. The instructions module 456 represents program instructions that when executed cause a processor resource to generate instructions 474 for the specific printer model identified by execution of the printer module 454 to cause a print head of the specific printer model to operate in a redundancy print mode using the drop domain 466 determined by the separation engine 466. The print instructions 474 are provided to the print apparatus to print the image data 460 in a redundancy print mode.
At block 502, printing parameters are identified. The printing parameters identified may be based on the print job and/or the status of the printer. Example printing parameters include print mode, job type, media speed (e.g., paper advance speed), carriage speed, drop velocity (e.g., drop speed), actuation frequency, and the like. For example, a pulse width modulation value of a motor controlling media advance mechanism of the media path may be identified and state of a drop detector may be retrieved to determine the media speed and the drop speed. For another example, the printing parameters may be specified as part of the job profile and retrieved from the data structure storing the job profile properties.
At block 504, a print head is caused to actuate a first nozzle of a first trench of the print head die during a first pass of the print head over a location of media. The first trench and a second trench correspond to the same print fluid (or corresponding print fluids, such as a dark and a light version of the same colorant).
At block 506, the print head is caused to actuate a second nozzle of a second trench of the print head die during the first pass of the print head over the location of media (e.g., the same pass and same media location as in block 504) in response to image data to be printed in a redundancy print mode. For example, the print head may, in response to a print job in a redundancy print mode, cause actuation of a second nozzle of a second trench of the print head die in the same column position as the first nozzle of the first trench with a delay that corresponds to the media speed and the drop speed such that a drop from the second nozzle is relatively positioned on a print medium towards a drop from the first nozzle. The centers of the drops in that example may effectively be placed near each other based on the delay, where the position without a delay may leave the drops to land on the media with their centers about the same distance apart as the distance between the first trench and the second trench. The drops of the first and second nozzle may substantially overlap. If the drop of the second nozzle of the second trench ejects a drop of a drop weight different than the first nozzle of the first trench, the drops may overlap even when the drops are not ejected with a trajectory positioned towards the same location; however, in a redundancy print mode the trajectories may be set closer such that the drops ejected towards the same location depending on the desired effect as defined by the halftone data.
At block 604, the addressing scheme of the print head is modified to join nozzles of the first trench and the second trench into redundant actuation groups. The redundant actuation groups allow for the group to eject a drop from a nozzle of the group where each nozzle of the group act to eject towards the substantially same media location. For example, the first nozzle of the first trench and the second nozzle of the second trench described with regards to method 500 may be actuated towards the same location on the media where the drops are substantially overprinted with their centers at the same location (or trivially offset). The redundant actuation groups may actuate a first nozzle and/or a second nozzle at a particular media location during a pass, such that the nozzles of the group that are selected to actuate are selected based on the number of drops to actuate by that group and selecting the nozzles randomly (e.g., any nozzle of the group has an equal opportunity to actuate at each activation of the group) or based on a pattern (e.g., evenly rotate which nozzle is actuated for each activation of the group such as by tracking a history of the nozzle group actuation and not selecting the previously actuated nozzle).
At block 606, color resources are generated corresponding to the pipeline processing of the image data for reproduction at a resolution corresponding to the redundancy print mode (or a status of the print head). For example, the print head status, such as based on drop detector data, may indicate the color separation operation to be performed utilizes color resources that have not yet been generated and/or adjusting stored color resource to correspond to the print job to print the image data in the redundancy print mode. In other examples, the resources used with the redundancy print mode may be predetermined and stored on a memory resource of the print apparatus.
At block 608, the color resources generated at block 606 are used to generate print head instructions that cause the second nozzle of the second trench of the print head die to actuate according to a redundancy addressing scheme. For example, the color resources may be used to generate halftone data usable by a print apparatus to cause a first nozzle and a second nozzle to act as a single nozzle cell such that the print head is addressed to operate in a redundancy print scheme with a resolution lower than the maximum resolution of the print head. By utilizing a color separation operation with color resources corresponding to operating the print head in a redundancy print mode, the halftone data may correspond to print head addressing of nozzles in groups to provide redundant-like print quality of the image data when a print apparatus does not include additional print bars or is otherwise incapable of performing multiple passes of print fluid over a media location.
Using the examples discussed herein, the print head may actuate the trenches to be synchronized with the print speed (in the media direction 708, 728) and drop speed such that two single drop cells with a constant X coordinate, in effect, result in a single two drop state at half the print resolution. The print systems discussed herein may be deployed on a continuum of the level of control of actuation events (e.g., 710, 712, 730, 732). Under general printing operations, increased control is delivered by the introduction of groups of nozzles (e.g., joined pairs of drops 714 and 716), whether the drops end up overprinting or not. Method 700 is an example thereof.
At the other end of the level of control is method 720. Individual trenches can be actuated with a delay that relates to media speed and drop speed such that the row of C2s is actuated first, with C1s actuated with a delay that results in C1s and C2s overprinting (e.g., overprinted pairs 734 and 736). Overprinting, as discussed herein, includes the theory that the drops overlap exactly, and includes that in practice some misalignment may result (similar to the situations in multipass printing).
Regarding method 720, the impact may be more substantial in terms of increased gamut and error hiding possibilities due to possible multiple drop states because it would allow a strictly overprinting state on a single print bar system, that, without use of the methods described herein, would allow for partial overprinting as a consequence of drop size and print resolution with halftone data representing single drop states. In practice of the print systems and methods described, the result of such control is somewhere between the “joining” of pairs of single drop states of method 700 and that of a “perfect overprinting” envisioned by method 720. By utilizing a print head in a redundancy print mode as described herein, image quality may be bolstered by having redundancy of nozzles to increase robustness without increasing the number of passes, for example. The redundancy print mode described herein may, as examples, also improve image quality artifacts (e.g., grain) due to the ability to have more colors (e.g., more Neugebauer primaries) and possible better color alignment due to smaller distances between color trenches and, therefore, have more control on where drops are positioned.
Although the flow diagrams of
All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the elements of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or elements are mutually exclusive.
The terms “include,” “have,” and variations thereof, as used herein, mean the same as the term “comprise” or appropriate variation thereof. Furthermore, the term “based on,” as used herein, means “based at least in part on.” Thus, a feature that is described as based on some stimulus may be based only on the stimulus or a combination of stimuli including the stimulus. Furthermore, the use of the words “first,” “second,” or related terms in the claims are not used to limit the claim elements to an order or location, but are merely used to distinguish separate claim elements.
The present description has been shown and described with reference to the foregoing examples. It is understood, however, that other forms, details, and examples may be made without departing from the spirit and scope of the following claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2018/022432 | 3/14/2018 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2019/177604 | 9/19/2019 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4963882 | Hickman | Oct 1990 | A |
5645899 | Unterberger | Jul 1997 | A |
6595611 | Ruffing | Jul 2003 | B1 |
6942308 | Molinet | Sep 2005 | B2 |
7261388 | Vega | Aug 2007 | B2 |
7789504 | Tombs | Sep 2010 | B2 |
20030214551 | Yabe | Nov 2003 | A1 |
20110261119 | Drury | Oct 2011 | A1 |
20120081442 | Ikeda | Apr 2012 | A1 |
20200108632 | Billow | Apr 2020 | A1 |
Number | Date | Country |
---|---|---|
1860030 | Nov 2006 | CN |
106255598 | Dec 2016 | CN |
0655337 | May 1995 | EP |
0881077 | Dec 1998 | EP |
2004058649 | Feb 2004 | JP |
WO-2015163903 | Oct 2015 | WO |
Entry |
---|
“Technology Backgrounder: HP T300 Color Inkjet Web Press”, Aug. 15, 2009, <http://www.hp.com/hpinfo/newsroom/press_kits/2009/GSBatPrint09/HP_T300_Tech_Backgrounder.pdf>. |
Number | Date | Country | |
---|---|---|---|
20200398584 A1 | Dec 2020 | US |