Colors defined in an input color space, for example a Red, Green, Blue (RGB) color space, may be converted to colors defined in an output color space, for example Cyan, Magenta, Yellow, BlacK (CMYK). This may be achieved using color mappings where the colors of the input color space are mapped to colors of the output color space. Converting from one color space to another color space may be used to generate data which can be used for printing applications. For example, the CMYK output color space may be used for printing using a printer having a CMYK colorant set. Colors may be defined in a color space using multidimensional application values which may specify proportions or amounts of each colorant channel. The application values can then be used to form a set of instructions to be used by the printer to deposit the colorants on to a printing substrate.
In certain cases, the printing of an image may also include the use of pre-treatments and post-treatments. Pre-treatments may be applied to a printing substrate before deposit of colorants and post-treatments may be applied after deposit of colorants. These may be used to enhance image quality or provide particular print properties, such as a shine or gloss. Typically, pre- and post-treatments are applied as constant amounts. For example, treatments can be deposited as a fixed percentage of a total amount of printing material that is deposited on the printing substrate.
Various features of the present disclosure will be apparent from the detailed description which follows, taken in conjunction with the accompanying drawings, which together illustrate features of the present disclosure, and wherein:
Certain examples described herein relate to printing systems. In particular, certain examples relate to printing systems that apply a set of colorants and a set of one or more treatments. For example, the colorants may be CMYK-based inks and the one or more treatments may comprise pre- or post-treatments such as undercoats, glosses and varnishes. In certain examples, the set of colorants and the one or more treatments are controlled independently in the printing system. This independent control may comprise utilizing independent color mappings to output application values associated with each of the set of colorants and the one or more treatments. In certain variations, the color mappings associated with the set of colorants and the one or more treatments may be adjusted as a function of each other and/or other print characteristics. Through these examples, interactions between the set of colorants, the one or more treatments and the printing substrate may be controlled in an efficient and tractable manner. Through a more direct and targeted use of the set of colorants and the one or more treatments, e.g. in response to their interaction characteristics, print qualities such as color, coalescence and durability may be improved.
In examples described herein, an input color space may be defined as a multi-dimensional space with a point in the multi-dimensional space representing a color value and dimensions of the space representing variables within the color model. For example, in a Red, Green, Blue (RGB) input color space, an additive color model defines three variables representing different quantities of red, green and blue light. In a digital model, values for these quantities may be defined with reference to a quantized set of values. For example, a color defined using an 8-bit RGB model may have three values stored in a memory, wherein each variable may be assigned a value between 0 and 255. The input color space may be modelled as a plurality of nodes where each node is comprised of the three RGB values. Other input color spaces include 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.
In a printing system, image data such as digital image data may be received which is defined within an input color space. The printing system may then represent the digital image data in an application color space which is selected based on available printing materials in the printing system and the possible application states of those printing materials. For example, a printing system may include a set of colorants—Cyan, Magenta, Yellow and Black—and so the application color space represents application of the set of CMYK colorants to a printing substrate. The term “application” is used as a printing system may be limited in the manner in which printing materials are applied to a printing substrate. For example, an ink-jet printing system may be able to output discrete drop sizes of ink onto a sheet of paper; for a particular addressable area of the paper (e.g. a print resolution “pixel”), the printing system may be able to deposit one or more drops of ink from one or more of the set of colorants. Hence, an application color space may be defined in terms of different possible ink amounts and different printing material combinations that are possible with the printing system. Examples described herein may be said to relate to an application color space as values in the application space determine color properties of a printed output.
Certain examples described herein extend the concept of an application color space for colorants (such as CMYK-based 4, 6 or 8 ink configurations) to treatments. Treatments as described herein may comprise printing materials that are deposited before and/or after a set of colorants in order to complete a print job. For example, a pre-treatment such as an undercoat may prepare a printing substrate for the application of the set of colorants; a post-treatment such as a gloss or varnish may enhance the appearance of a printed output and/or provide protection from wear or the environment. In comparative examples, these may be applied in constant amounts across a printing substrate, e.g. a particular quantity of undercoat may be applied evenly across a print area of a printing substrate and a particular quantity of gloss may be applied evenly over the top of a print output. In the present case, use may be made of advanced techniques for the application of treatments, e.g. multi-drop print heads that allow for a fine print resolution deposit may be adapted to apply treatments in a similar manner to colorants. As such, a treatment may be deposited in addressable areas of the print output (these print resolution “treatment pixels” may be the same resolution as the print resolution of the applied colorants or a different resolution, such as a coarser resolution). An application space for a treatment may thus be based on depositable or controllable quantities of a treatment that may be applied to a particular addressable area of print output.
In examples, the plurality of nodes of the input color space may be mapped to associated nodes of the application space through the use of color mapping. The color mapping may be a data structure which stores pre-computed mappings from a color defined in the input color space to a set of application values defined in the application space. It should be noted that the term “color” in “color mapping” is used broadly—the input to the mapping is a “color” and so the mapping is a “color mapping” in that sense; however, the outputs of the color mapping in the application space need not be colored or relate to colorants per se, e.g. a treatment may be clear but application of the treatment may affect the appearance of colorants deposited on top and/or below the treatment. The term “color mapping” should thus be interpreted as meaning a form of appearance mapping where the color mappings for the treatments affect the color of the printed output. In one case, the color mapping may be pre-determined. A pre-determined mapping may be stored in a look-up table (LUT) that maps the nodes of the input color space to the nodes of the application space. Pre-calculation of the color mappings may be based on simulations of the printing system and its associated characteristics and/or test outputs, such as color patches that are measured with a colorimeter or spectrophotometer.
In one case, an application space may be defined in terms of a plurality of Neugebauer Primaries (NP). A NP may be considered to be one particular discrete output state for the application of a set of printing materials. For example, a set of colorants may be applied in various available combinations (including overprints), or not applied at all; in this case, each of the available combinations and the “blank” state may be considered as NPs. In certain cases, printing fluids may be applied in different discrete amounts, for example, a colorant or treatment may be applied to a printing substrate as one, two or three drops of a fixed size. In this case, the NPs may also take into account the different sizes of application or deposit. For example, a single treatment printing fluid having a possibility to overprint with up to three drops may have four different NPs—[N, D, DD, DDD], where N represents no drops and D represents a drop of a fixed size (i.e. DDD=three drops).
In general, a printing system may be configured to output a single NP for every print resolution pixel. For example, in the four-state treatment space described above, only one of these states is selectable for a given output area of printing substrate. However, the image data received for a print job may have a large range of possible values for each dimension in the input color space (e.g. an 8-bit RGB input has 256 possible values for each of the R, G and B dimensions). This large range of values is referred to as continuous tone (or “contone”) data. In order to convert from a contone input to discrete print instructions for a print output, a printing system may utilize a halftoning process. To provide an appearance similar to a contone image, a printing system may use halftoning to reproduce image data in the application space using a series of shapes such as dots. This enables the printing system to approximate contone image data using a discrete number of printing material states. For example, in the case of the printing materials comprising fluids, the printing system may approximate contone image data by using a discrete number of printer fluid drops. The result of the halftoning process may comprise a color-separated halftone comprising a halftone plane corresponding to each colorant and/or treatment available to the printing system. Each halftone plane (e.g. for each colorant and/or treatment) may have pixels with a limited number of possible values representing the output states for the particular printing material (e.g. each pixel may indicate a number of drops of the printing material—with single drop printers having binary values). The output of any particular printing system is dependent on the characteristics of the particular color halftone processing pipeline that is used by the printing system.
In certain examples, an application color space is defined as an area coverage space. In this case, a vector in the application color space may represent a set of probabilities for available NPs. Such an application space may be referred to as a Neugebauer Primary area coverage (NPac) application space. A value or point within an NPac space may be presented in the form of an NPac vector, where each element of the vector represents a different NP as described above, and the vector is normalized such that all the elements sum to unity (i.e. each element value reflects a probability of the state or NP associated with that element). An NPac vector for one or more print areas may form the input to a halftoning process, where the halftoning process may be thought of as a way to sample the probability vector to select one particular state (e.g. generate a one-hot output). Halftoning as applied to a set of NPac vectors may thus determine a spatial distribution to the NPs according to the probability distribution specified in the NPac vectors. For example, a suitable halftoning method includes the use of halftone matrix-selector-based techniques such as PARAWACS (Parallel Random Area Weighted Area Coverage Selection). An example of a printing system that uses area coverage representations for halftone generation is a Halftone Area Neugebauer Separation (HANS) pipeline.
Given the above, a printing system may be considered to apply a printing pipeline to convert image data in an input color space into application values for a set of available print materials. This may be a HANS pipeline. In a first operation of the pipeline, image data is received that is defined within an input color space. In a second operation of the pipeline, the image data in the input color space is mapped to an application space comprising application values. This may be considered a color mapping operation. In examples, the application space is an NPac space where application values are represented as an NPac vector. The image data in the input color space may thus be mapped to a corresponding set of NPac data in a NPac space. In this case, the application values may be considered probabilistic application values, as the NPac vector represents a probability vector. In a third operation of the pipeline, the application values are halftoned to output discrete print control instructions. The halftoning may use a halftone matrix, which serves as a selector or sampler for the NPac vectors. In the third operation, application values are used to generate discrete print control instructions which are used by the printing system to deposit printing materials on a printing substrate. In certain examples described below, this printing pipeline is applied to both colorants and treatments to improve a printing process, e.g. to improve printing quality or to optimize printing material use.
At block 101, image data defined within an input color space is obtained. The image data may be a two-dimensional picture, a defined three-dimensional structure or a biological structure. The image data may be received from an imaging interface of the printing system such as a print driver for a computing device and/or a digital front end for a printing press. In certain cases, the image data may be received from a computing device communicatively coupled to the printing system. The image data is defined within an input color space. The input color space may be one of a variety of color spaces, including RGB-based or CMYK-based color spaces and device-independent color spaces such as Commission Internationale de L'éclairage (CIE) LAB or XYZ color space. For ease of explanation, an example is presented wherein the input color space is a digital contone CMYK input color space. In this case, each pixel of image data may be defined using four 8-bit CMYK values.
Returning to
The colorant color mapping may be implemented using a colorant look-up table (LUT). In the present examples, an LUT comprises a data structure where a set of input nodes in an input color space are mapped to a set of output nodes in an output space. A node-to-node mapping may form a row in the LUT. Values between the nodes of the LUT may be determined using interpolation, such as linear interpolation in the dimensions of the input color space and/or the output space. The colorant LUT thus comprises a set of colorant mapping parameters that are used to map the input color space to a colorant application color space. In the present case, the input nodes may comprise RGB or CMYK values, and the output nodes may comprise NPac vectors in a colorant NPac space (e.g. where each NP relates to a different output state for the set of colorants). The values within the LUT, e.g. the node-node mappings, may be based on factory testing and experimentation. For example, the printing system may print a series of test patches based on different NPac vector values. These may be measured using a colorimeter and/or spectrophotometer and the measurements then compared to known colorimetric and/or spectral measurements of RGB or CMYK outputs (e.g. test patches of different quantities of CMYK ink) to determine the mapping. Different methods of LUT construction are known in the art. The colorant LUT may be obtained from a data storage device of the printing system or received from a computing device communicatively coupled to the printing system.
At block 103, one or more treatment color mappings are obtained. The one or more treatment color mappings are associated with the set of treatments. Different treatment color mappings may be obtained for different treatments within the set of treatments. The set of treatments may comprise different treatment types such as pre-treatments, to be applied to the printing substrate prior to deposit of the set of colorants, and post-treatments, to be applied after the set of colorants (and any pre-treatment) is deposited on the printing substrate. Pre-treatments may include print fixers or print optimizers, e.g. fluids that aid the fixing of one or more of the set of colorants to the printing substrate and/or that improve a finish of the set of colorants via chemical means. In three-dimensional printing examples, a pre-treatment may comprise a form of binder or pre-binder that aids binding properties of powdered build material and/or that changes material properties of the powdered build material. Post-treatments may include overcoats, varnishes and spot glosses. Spot glosses may comprise a gloss that is selectively applied to a particular spot color, i.e. a color that has a specifically defined appearance such as a specified brand color. The set of treatments may also be inks, polymers, metals, ceramics, powder grains or biomaterials. In a two or three-dimensional biological printing case, the post treatments may comprise nutrients that are added to different colored biomaterials to allow for natural growth of the biomaterials.
The one or more treatment color mappings are associated with the different treatment types found within the set of treatments. For example, the one or more treatment color mappings may comprise a fixer color mapping and an overcoat color mapping. The one or more treatment color mappings may be implemented as corresponding treatment LUTs. In a similar manner to the colorant LUT, each treatment LUT may comprise a data structure where a set of input nodes in the input color space are mapped to a set of output nodes in an output space. However, in the present case, the output nodes may relate to application values for each treatment as opposed to colorant application values. Application values for each treatment may be defined as an NPac vector, but where the NPs comprise different output states for the treatment. For example, if a treatment has NPs relating to different numbers of drops—e.g. [N, D, DD, DDD]—then a treatment NPac vector may have elements relating to each of these treatment NPs. Different treatments may have different NPac vectors, for example different possible drop states and/or combinations of treatment printing materials. As for the colorant LUT, a node-to-node mapping may form a row in a treatment LUT. Values between the nodes of a treatment LUT may also be determined using interpolation. Each treatment LUT thus comprises a set of treatment mapping parameters that are used to map the input color space to a treatment application space. As the treatment color mappings are defined using independent data structures, the treatment color mappings may be applied to the image data independently of the colorant color mappings. The one or more treatment LUTs may be obtained in a similar manner to the colorant LUTs (although different methods may be used to obtain each LUT).
If there are a plurality of treatments, e.g. pre- and post-treatments or two different pre- or post-treatments, there may be a plurality of treatment LUTs. In this case, each treatment LUT may be independent and unique to its associated treatment type. For example, image data may be mapped to application values in respective treatment application spaces independently using the separate plurality of treatment LUTs.
As for the colorant LUTs, the one or more treatment LUTs may be obtained using known calibration and/or configuration methods. For example, the printing system may output test prints with test (e.g., known or pre-configured) deposits of a treatment and colorants on a printing substrate that may be measured using a colorimeter and/or spectrophotometer as for the colorants.
In one case, although the treatment and colorant color mappings may be applied independently to the input image data, they may be generated as a function of each other. For example, the colorant and treatment LUTs may be constructed through a common color characterization procedure. Each of the one or more treatment LUTs may also be generated as a function of the colorant LUT. In the case of there being a plurality of treatment LUTs, each of the treatment LUTs may be generated as a function of a different treatment LUT, as a function of a combination of one or more different treatment LUTs and/or as a function of the colorant LUT.
In one case, although the treatment and colorant color mappings may be applied independent of each other to the input image data, they may also be adjusted in response to an output of one of the other mappings. For example, an output of a treatment color mapping (e.g., a set of treatment NPac vectors) may be used to adjust a colorant color mapping (e.g., the function applied by a colorant LUT to output a set of colorant NPacs) and vice versa.
Returning to
At block 105, the one or more treatment color mappings are used to map the image data to treatment application values within one or more treatment application spaces. This may comprise using each of one or more treatment LUTs to map the image data defined within the input color space to the associated treatment application space, where output values in the associated treatment application space comprise treatment NPac vectors. The application values in this case may be seen as a probability distribution of the associated treatment output states for each print resolution pixel. For example, an overcoat LUT may map the image data defined within the input color space to an overcoat NPac vector, which represents probability distributions of the overcoat output states or overcoat NPs for each print pixel. In the case of there being a plurality of treatment LUTs, treatment NPac vectors may be determined independently, i.e. the output application spaces may be independent.
At block 106 in
As shown in
In
In certain examples, the colorant NPac vectors 203a may be used to determine one or more colorant parameters. In certain examples, these may be used to adjust one or more of the pre-treatment LUT 202b and the post-treatment LUT 202c as shown via the dashed arrows. The colorant parameters may comprise one or more of: the total amount of colorants to be used; the amount of each specific colorant to be used; the amount of each specific combination of colorants to be used; area coverage values for each colorant; and other NP colorant characteristics. These colorant parameters may be determined by processing the values within the colorant NPac vectors 203a (i.e. the colorant application values). In examples, the colorant LUT 202a may be the first LUT to be applied with the pre-treatment LUT 202b and post-treatment LUT 202c being adjusted based on the colorant LUT 202a. In one case, the pre-treatment LUT 202b and post-treatment LUT 202c may be generated based on the colorant parameters.
For example, the post-treatment LUT 202c may be associated with an overcoat. An overcoat may be used to ensure that there is an even coating of printing material deposited on the printing substrate. In this case, the post-treatment LUT 202c may be generated and/or adjusted as a function of the total amount of colorant as indicated by the colorant NPac vectors 203a. The function may ensure that larger amounts of overcoat are deposited for nodes in the LUT with lower amounts of colorants and that smaller amounts of overcoat are deposited for nodes in the LUT with higher amounts of colorants. This may ensure that there is an even coating of total printing material on the printing substrate.
In certain cases, the colorant parameters determined from the colorant NPac vectors 203a may be processed non-linearly to generate or adjust the pre-treatment LUT 202b and/or post treatment LUT 202c. For example, it may be desirable to have higher amounts of pre-treatment for lower tones, a constant amount of pre-treatment for mid-tones and lower amounts for darker tones. A sigmoid-like relationship between the colorants and pre-treatment may thus be used to generate or adjust the pre-treatment LUT 202b. In certain cases, the relationship between the colorants and treatments may vary for each colorant and combination of colorants.
In a further example, the LUTs may be generated to take into account special cases. For example, an overcoat LUT may be generated such that all CMYK inputs are mapped directly to an NPac vector indicating a constant amount of overcoat is to be applied to all colorants and combination of colorants; however, a special case may be defined for a CMYK input that indicates no colorant is to be applied (e.g. CMYK=[0, 0, 0, 0]). This special case may be mapped to a probability distribution (e.g. within the NPac vector) indicating a 0% likelihood of overcoat being deposited. This approach may be used to ensure that when no color ink is placed, no overcoat is placed either.
In certain examples, adjustment of one or more of the colorant LUT 202a, the pre-treatment LUT 202b and the post-treatment LUT 202c may be performed iteratively, e.g. based on one or more of the NPac vector outputs 203a, 203b, 203c from a previous iteration. For example, the colorant LUT 202a may be generated and/or adjusted as a function of one or more of the pre-treatment NPac vectors 203b and the post-treatment NPac vectors 203c; the pre-treatment LUT 202b may be generated and/or adjusted as a function of one or more of the colorant NPac vectors 203a and the post-treatment NPac vectors 203c; and the post-treatment LUT 202c may be generated and/or adjusted as a function of one or more of the pre-treatment NPac vectors 203b and the colorant NPac vectors 203a.
Returning to
In the example of
When the halftone matrix is the same for each of the printing materials, the selection of the colorant halftone configuration, pre-treatment halftone configuration and post-treatment halftone configuration for the same node of image data has an effect on the generation of each of the corresponding halftone output values. When applying halftoning to each of the NPac vectors, the same colorant halftone configuration and treatment halftone configurations may be chosen. For example, a color value for a pixel of image data (e.g. an RGB or CMYK value for a pixel), when mapped to the colorant application space and pre-treatment application space using the colorant LUT and pre-treatment LUT respectively, may result in a colorant NPac vector and a pre-treatment NPac vector for the same pixel. In a case where a colorant NPac vector has a probability distribution of 50% Blank NP (“w”) and 50% Cyan NP (e.g. [w:0.5, C:0.5]—other NPs omitted as they are 0), and a pre-treatment NPac vector has a probability distribution of 80% Blank NP and 20% Pre-treatment NP (e.g. [w:0.8, P:0.2]), then it may be desired that the evaluation order for the colorant NPs and the pre-treatment NPs order is light to dark. In this case, the colorant halftone configuration and the pre-treatment halftone configuration indicate a shared or common order and in both cases the Blank NP is evaluated first. This means that instructions for the deposit of Cyan and Pre-treatment will coincide, such that pre-treatment is applied when Cyan is to be applied, as opposed to being applied to a blank printing substrate where no Cyan is to be applied. By using a similarly configured order of NP evaluation, in this case, all the pre-treatment deposits will coincide with Cyan deposits, while in 30% of the cases, Cyan depositions will not coincide with pre-treatment depositions (since in the NPac vectors P is 20% and C is 50%). Using a shared or common order of halftone application (in effect performing a sampling of the NPac vectors such that the evaluation of similar NPs is performed in a similar order), e.g. as implemented by using shared or common halftone configuration data, may allow for the improved control of colorant and treatment deposits despite independent application of colorant and treatment LUTs. For example, if the pre-treatment is a fixer it is beneficial for the fixer to be deposited wherever colorant is to be deposited on the printing substrate, so it can act to fix the colorant. The halftone configurations and corresponding LUTs can be built to ensure that the produced halftone application values produce this effect when the colorant and pre-treatments are deposited on the printer substrate.
It may also be beneficial for particular overcoat coat states to coincide, or avoid coinciding, with particular colorant states. For example, it may be preferred to avoid a combination of heavy overprint colorant NPs with large amounts of overcoat (e.g. DDD output states), as this may overload a printing substrate. In this case, a color value for a pixel of image data may be mapped to a colorant NPac vector and an overcoat NPac vector. The same halftone matrix may be used to apply halftoning to each NPac vector. When applying halftoning to the colorant NPac vector, the colorant halftone configuration may indicate an NP evaluation order that is light to dark. The combination of the colorant halftone configuration and the halftone matrix may be configured such that lighter tones have a low likelihood of colorant being deposited (and therefore a high likelihood of being blank) and darker tones have a high likelihood of colorant being deposited. In the present case, when applying halftoning to the overcoat NPac vector, the overcoat halftone configuration can be configured to evaluate the overcoat NPs in an opposite manner, e.g. from dark NPs to light NPs (e.g. where “light” and “dark” may correspond to different amounts of overcoat). In this case, the same halftone matrix may be used for the overcoat as for the colorants, but the deposit likelihoods are reversed, e.g. for lighter tones, the overcoat treatment has a high likelihood of deposition and for darker tones, the overcoat has a low likelihood of deposition. This results in the deposition of the overcoat being more likely to coincide with a lighter colorant or lack of colorant and less likely to coincide with the heavy deposition of colorant or darker colorants. This may then ensure an even deposition of printing materials across the printing substrate and/or avoid changes in color appearance due to the darkening of already dark colorants with overcoat.
In
At block 301, the colorant LUT is used to map image data to a set of colorant NPac vectors. This may be performed as described with reference to the colorant LUT 202a of
At block 302, the colorant parameters are used to adjust the post-treatment LUT. This may comprise adjusting the values within the post-treatment LUT 202c in
At block 303, the adjusted post-treatment LUT is used to map the image data to generate a set of post-treatment NPac vectors. As the post-treatment LUT is adjusted based on the colorant NPac vectors, the set of post-treatment NPac vectors may differ from a set of post-treatment NPac vectors output by a non-adjusted post-treatment LUT. In the present example, the set of post-treatment NPac vectors are used to determine a set of post-treatment parameters. These may comprise the set of post-treatment NPac vectors themselves or an aggregate function of this data, such as: the total amount of post-treatment to be used; the specific combination of post-treatment to be used; area coverage values for the post-treatment; and other NP post-treatment characteristics as indicated by post-treatment application values. The post-treatment parameters may thus be determined in a similar manner to the colorant treatment parameters; however, they may comprise a different set of metrics in certain cases.
An iterative process of adjusting the color treatment LUT based on the adjusted post-treatment LUT is employed at block 304 of
In certain examples, a printing system with a set of colorants and a post-treatment may comprise an imaging interface. The printing system may be configured to produce a print output by depositing the set of colorants and post-treatment on a printing substrate based on a set of generated color print control instructions and post-treatment control instructions, e.g. as generated based on the colorant application values and the post-treatment application values produced by mapping the image data using the adjusted colorant LUT and adjusted post-treatment LUT respectively. In this case, the quality of the print output may be inspected using the image interface of the printing system. The printing system may use the quality of the print to determine if the iteration process is to be terminated or continued further.
In certain examples, the method of
In certain examples, one or more of a pre-treatment LUT, a colorant LUT and a post-treatment LUT may be adjusted as a function of other print parameters to improve a quality of a print output, e.g. instead of, or in addition to, the adjustment described above. For example, one or more of the LUTs may be adjusted for different print modes of the printing system. In this case, a set of print modes may comprise a fast print mode and slow print mode. The printing system when operating in the fast print mode may deposit printing materials at a faster rate with less printing material being used to complete the print. The fast print mode results in a low-quality print which is quickly produced. The printing system when operating in the slow print mode may deposit printing materials at a slower rate with more printing material being used to complete the print. The slow print mode may result in a high-quality print which takes a long time to produce. When these print modes are used, they may be indicated in a set of print parameters and one or more of the pre-treatment LUT, the colorant LUT and the post-treatment LUT may be iteratively adjusted using these print parameters in a method similar to that shown in
As demonstrated by the first column of the table, the input data nodes for the CMYK input color space are the same for each of the color mapping types. There may be a plurality of input data nodes representing points within the input color space. A full mapping from 8-bit CMYK color space would have 2554 input data nodes, and so a reduced number of nodes that are distributed across the input color space may be provided (e.g. 173 for RGB or 94 for CMYK), where interpolation is used between nodes. The node of the CMYK input color space in Figure comprises four variables where each variable represents a color of the input color space, C for Cyan, M for Magenta and K for BlacK.
The colorant LUT maps each input data node to a corresponding output data node in the colorant NPac space, where each output data node comprises a colorant NPac vector. A six ink CMYKcm NPac vector is shown in
In the third row of
In the fourth row of
Although, the pre-treatment and post-treatment LUTs are defined separately above, in certain examples they may be combined in a single LUT, e.g. with NPac vectors having elements representing different combinations of pre and/or post-treatments. A similar approach may also be used to construct LUTs for a plurality of pre-treatments and/or a plurality of post-treatments, wherein different treatments may be represented as per the different colorants in the colorant NPac space. Using combined LUTs may allow for explicit control of interactions between combined printing materials.
Based, on the LUT configurations of
Using the colorant LUT, the “Black” input data node is mapped to a colorant NPac vector of [K:1] (other elements being omitted as they are 0). This means that, for pixels of image data have a value that matches the “Black” input data node, there is a 100% likelihood of one drop of black colorant fluid being deposited on the printing substrate for the node of the input color space. Using the pre-treatment LUT, the same “Black” input data node is mapped to a pre-treatment NPac vector of [w:0.75, P:0.25]. This means that, for pixels of image data have a value that matches the “Black” input data node, there is a 75% likelihood of no pre-treatment fluid being deposited and a 25% likelihood of pre-treatment fluid being deposited in a single drop on the printing substrate. Using the post-treatment LUT, the same “Black” input data node is mapped to a post-treatment NPac vector of [w:0.8, O:0.2], which means there is a 80% likelihood of no overcoat fluid being deposited and a 20% likelihood of overcoat fluid being deposited in a single drop on the printer substrate.
A similar mapping process is shown for a “Cyan” input data node in
The tables of
Certain variations are also possible. In one example, the colorant color mapping may comprise a plurality of colorant color maps. In this case, each colorant color map in the plurality of colorant color maps may be used to map the image data to colorant application values within a respective colorant application space, wherein the dimensions within the colorant application space represent applications of a subset of the set of colorants to a printable substrate. For example, a method of generating discrete print control instructions may comprise of the use of two LUTs for colorants, a first colorant LUT to map input image data to CMYK colorant NPs (i.e. the CMYK inks in a printer) and a second LUT to map input image data to cm NPs (i.e. the cm inks in a printer).
In a further example, a treatment color mapping may comprise combinations of treatments and colorants. The colorants may comprise a subset of a set of available colorants, such as the cm colorants as in the above example. In this case, the treatment color map may be used to map the image data to treatment application values within a treatment application space, wherein the dimensions within the treatment application space represent different applications of treatments and colorants from the set of treatments and a subset of the set of colorants respectively. For example, a method of generating discrete print control instructions may comprise of the use of two LUTs, a colorant LUT to map input image data to CMYK colorant NPs and a treatment LUT to map input image data to cm and treatment NPs.
In another example, the colorant color mapping and the treatment color mapping may be combined using a joint color map. In this case, the joint color map may be used to map the image data to colorant and treatment application values within a combined application space, wherein the dimensions within the combined application space represent different applications of colorants and treatments from the set of colorants and the set of treatments respectively. For example, a method of generating discrete print control instructions may comprise of the use of one LUT, a colorant LUT to map input image data to CMYKcm colorant NPs and treatment NPs.
In an additional example, a treatment color mapping comprises color mappings for both post-treatments and pre-treatments. For example, a single treatment color map may be used to map the image data to treatment application values within a treatment application space wherein the dimensions within the treatment application space represent different applications of the post-treatments and pre-treatments. For example, a method of generating discrete print control instructions may comprise of the use of a single treatment LUT to map input image data to post-treatment NPs and pre-treatment NPs. In this case the output NPac vector may comprise different combinations of the post-treatment and pre-treatment in different drop states i.e. [w, P, O, PO, PP, OO, POO, PPO, PPP, OPP, OOP, OOO, etc.].
The printing system 700 also comprises a storage device 703 to store a colorant color mapping and one or more treatment color mappings. In this case, output dimensions for the colorant color mapping represent different applications of the set of colorants and output dimensions for each treatment color mapping represent different applications of treatments from the set of treatments. The colorant color mapping may be implemented as a colorant LUT, e.g. according to the example format of
The printing system 700 comprises a print controller 702 which contains a processor configured to carry out the steps of the flow diagram in
Certain examples described herein provide the ability to control print properties, including color, coalescence, durability, in a printing system. They are particularly suited to complex printing system configurations, where color inks are combined with additional fluids to modulate ink-ink and ink-substrate interactions. In certain examples, color inks and extra fluids may be controlled independently, while being able to co-optimize choices about both. Their use may also be optimized as a function of their use or other quantities. Certain examples may allow for more direct and targeted use of printing materials in response to their interaction characteristics, enabling better color, coalescence, durability performance.
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. It is to be understood that any feature described in relation to any one example may be used alone, or in combination with other features described, and may also be used in combination with any features of any other of the examples, or any combination of any other of the examples.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2020/034307 | 5/22/2020 | WO |