Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020112099 - PRINTING LIQUID COLORS

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ EN ]

PRINTING LIQUID COLORS

BACKGROUND

[0001] In some printing systems, data for producing printing content may be provided in a particular format. For example, the particular format may be red, green and blue (RGB) format which is used to represent colors on displays. However, printers may print according to data represented in a format usable by the printer.

BRIEF DESCRIPTION OF THE DRAWINGS

[0002] 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:

[0003] Figure 1 is a schematic diagram of an apparatus and a non-transitory computer readable storage medium to determine a set of printing liquid colors for use in a color transition;

[0004] Figure 2 is a flow diagram illustrating a first method of determining a set of printing liquid colors for use in a color transition;

[0005] Figure 3 is a diagram representing a color space;

[0006] Figure 4 is a flow diagram illustrating a second method of determining a set of printing liquid colors for use in a color transition; and

[0007] Figure 5 is a flow diagram illustrating a third method of determining a set of printing liquid colors for use in a color transition.

DETAILED DESCRIPTION

[0008] 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 that one example, but not necessarily in other examples.

[0009] Figure 1 schematically illustrates an apparatus 100 to determine a set of printing liquid colors for use in a color transition. The apparatus 100 comprises a processor 102. In this example, the processor 102 is in data communication with a non-transitory computer readable storage medium 104. The non-transitory computer readable storage medium 104 may be a read only memory (ROM) or a read-write memory, for example. The non-transitory computer readable storage medium 104 (hereinafter“storage medium 104”) may be in the form of compact disk (CD), a digital versatile disk (DVD), hard disk drive, solid state drive, a flash memory device and the like.

[0010] In this example, the storage medium 104 has instructions stored thereon, which, when executed by a processor (in this instance, the processor 102), causes the processor to determine a set of printing liquid colors for use in a color transition. The set of printing liquid colors may be selected from printing liquid colors which a printer dispenses to produce printing content. The printer may dispense printing liquid colors in order to produce printing content onto printing target such as paper, card, a fabric, a sheet made of a material suitable for printing (e.g. acetate), a bed of build material (in the case of 3D printing), and the like. The printer may dispense a plurality of printing liquids of different colors to produce the printing content. The printing liquids may, for example, be inks in the examples described below, the printing liquids dispensed by the printer are inks.

[0011] For example, the printer may use cyan, magenta, yellow and black inks to produce printing content. Such a printer may be referred to as a CMYK

printer with the letters in the acronym“CMYK” representing cyan (C), magenta (M), yellow (Y) and black (K). The printer may receive printing data indicating the printing content to be printed, for example, from a computing device. The printing data may initially exist in a form not immediately usable by the printer. For example, the printing data may initially not indicate which of the ink colors of the printer to print in a given location. Instead, for example, the printing data may indicate a red, green and blue (RGB) value for the given location. This may be the case where the printing data represents content displayed on a display screen, as the display screen may display the printing content in RGB format.

[001 ] The printing data may therefore be converted from its initial format to a format usable by the printer (l.e. a format indicating which ink colors of the printer to print in any given location on the printing medium in question). The conversion may take place before the printing data is received by the printer (e.g. at the computing device) or it may take place at the printer (e.g. a processor of the printer may perform the conversion).

[0013] For example, the conversion may involve assigning a data structure such as an ink-vector or a Neugebauer Primary Area Coverage (NPac) vector to each RGB value in the printing data. An NPac vector comprises Neugebauer Primaries (NPs) and corresponding relative area coverage values. Each NP specifies a set of respective amounts of ink colors to be dispensed from a set of nozzles of the printer. For example, if a bi-levei CMYK printer comprises four nozzles, each nozzle arranged to dispense one of cyan, magenta, yellow and black inks, then one particular NP may specify dispensing a drop of cyan ink and a drop of black ink, for example. Each nozzle of a bi-level printer may either drop no ink, or a drop of a single amount of ink (single ink level) at a given location. An NP may exist for each combination of ink amounts and nozzles.

[0014] In the described bi-level CMYK printer, an NP may be represented by a series of zeros and/or non-zero integer numbers. The order of the zeros and/or non-zero integer numbers may correspond to the order of the respective

ink colors in the acronym CMYK. Zeros may represent no ink being dispensed, ones may represent one drop of ink being dispensed, twos may represent two drops of ink being dispensed, and so on. For example, an NR specifying an amount of cyan ink being dispensed from the cyan nozzle and no ink being dispensed from any other nozzle may be represented as [1 0 0 0], an NR specifying an amount of magenta ink from the magenta nozzle and an amount of black ink from the black nozzle being dispensed may be represented by [0 1 0 1], and so on. Each NPac vector may comprise one or more NPs with a corresponding area coverage value. The area coverage values may represent probabilities of respective NPs being selected for printing. An NPac vector may therefore represent a dispensing process.

[001 S] A resource such as a look-up table (LUT) may be used to map RGB values in printing data to NPac vectors during the conversion. For example, an RGB value may be mapped to an NPac vector which corresponds to the same color In a device independent color space (e.g. LAB color space) as the color which the RGB value represents. As a part of the process of generating such a resource (e.g. RGB to NPac LUT), color transitions from one color to another may be generated. Generating a color transition may involve determining, for example, which NPac vector to use for each color point between the two colors of the color transition. For example, to generate a color transition from white to green, an NPac vector for each color point between white and green may be determined. The number of color points may be chosen based on the desired detail of the color transition being determined. Before a color transition can be generated, the ink colors of the printer to be used in that color transition are determined.

[0016] As described, the instructions stored on the storage medium 104, when executed by the processor, cause the processor to determine a set of ink colors for use in a color transition. Therefore, the apparatus 100 is an apparatus to determine which of the inks of the printer to use in a color transition between coordinates of a color space. The storage medium 104 therefore has instructions stored thereon for performing a computer implemented method to determine a set of ink colors for use in a color transition. Figure 2 illustrates an example method 200 for determining a set of ink colors for use in a color transition. The processor 102 may perform the method 200 when the instructions stored on the storage medium 104 are executed by the processor 102. At block 202 of the method 200, ink data indicating a plurality of ink colors for use by the printer is received. The plurality of ink colors for use by the printer may be referred to as the printer ink colors, and an individual ink color of the plurality of ink colors may be referred to as a printer ink color. The ink data may also be referred to as identifying data identifying the inks the printer uses for printing.

[0017] The ink data may comprise a name (or another indicator) associated with each of the printer ink colors. For example, for a CMYK printer, the plurality of ink colors includes cyan, magenta, yellow and black in this example, the ink data may comprise the names“cyan”,“magenta”,“yellow” and “black”. Hereafter, examples are described in the context of the printer being a bi-levei CMYK printer using cyan, magenta, yellow and black ink colors. At block 202, the ink data may be received via a user of the apparatus 100 inputting the ink data (e.g. using input devices such as a mouse, keyboard, touch interface, etc. comprised in or connected to the apparatus 100). in some examples, the apparatus 100 may comprise a receiver for receiving the ink data, wirelessly or via a wired connection, from a computing device or the printer itself. Such a receiver may be in data communication with the processor 102 such that the processor 102 receives the ink data.

[0018] In this example, at block 204, based on predetermined data (which may also be referred to as correspondence data) indicating associations between a predefined plurality of ink colors and corresponding position vectors in a color space, a plurality of position vectors in the color space is determined, where each of the plurality of position vectors is a position vector of an ink color of the plurality of ink colors in other words, at block 204, a coordinate of the color space corresponding to each ink identified by the identifying data is determined, wherein

the determination is based on the ink correspondence data linking a plurality of inks (i.e. the predefined plurality of ink colors) to corresponding coordinates of the color space.

[0019] As described, the predetermined data indicates associations between a predefined plurality of ink colors and corresponding position vectors in a color space. The predefined plurality of ink colors may or may not be identical to the printer ink colors. For example, the predefined plurality of ink colors may comprise additional ink colors not dispensed by the printer in question. For example, the predefined plurality of ink colors may include green, blue, etc., in addition to cyan, magenta, yellow and black. In this way, the predetermined data may be used in determining the set of ink colors of the printer ink colors for use in a color transition for various different printers which dispense various different sets of ink colors.

[0020] The predetermined data may comprise a dictionary which relates each of a predefined plurality of names associated with the predefined plurality of ink colors to a corresponding position vector in the color space.

[0021] The color space may be the RGB colorspace. Figure 3 is a diagram representing the RGB color space 300. The RGB color space 300 is represented as an RGB cube 300. The RGB color space 300 may be considered to have a red axis labelled R in Figure 3 (hereafter R axis), a blue axis labelled B (hereafter B axis) and a green axis labelled G (hereafter G axis). Position vectors (e.g. coordinates) indicating the location of specific colors within the RGB color space 300 may be represented as a set of three values, the position of each value in the set corresponding to the respective axis in the RGB color space 300. For example, the value in the first value position corresponds to the R axis, the value in the second value position corresponds to the G axis and the value in the third value position corresponds to the B axis. In this example, a position at the end of each axes is indicated by Ί”. An example of a position vector is (0,1 ,0) indicating no component along the R or B axes and indicating a maximum G

component. The position vector (0, 1 ,0) represents the color green. Similarly, the position vector (1 ,0,0) represents the color red, and the position vector (0,0,1 ) represents the color blue.

[0022] The origin (0,0,0) of the RGB color space 300 represents the color black and the position vector (1 ,1 ,1 ) represents the color white. The color cyan is represented by (0,1 ,1 ), magenta by (1 ,0,1 ) and yellow by (1 ,1 ,0). The position vector of a given color is hereafter referred to using the name of the color, e.g. the position vector (0,1 ,0) for the color green is hereafter referred to as the green position vector, etc. The lines shown in Figure 3 indicate a set of color transitions for which respective sets of ink colors may be determined.

[0023] In this example, the predefined data (hereafter dictionary) associates the name“cyan” with the position vector (0,1 ,1 ) and so on, and the predefined plurality of names at least includes“cyan”,“magenta”,“yellow” and “black” it should be noted that in the described examples, ail printer ink colors reside at a respective corner of the RGB cube 300 and their position vectors contain“0”s and“T’s

[0024] At block 204, as described, the position vectors of the printer ink colors are determined. For example, using the dictionary, the position vector (0,1 ,1 ) is determined for cyan, and the appropriate position vectors are similarly determined from the dictionary for magenta, yellow and black, in this example. Therefore, the dictionary allows each of the printer ink colors to be placed in their appropriate positions in the RGB color space 300, so as to aid in the process of determining which of the printer ink colors should be used in a particular transition.

[002S] At block 208, from the plurality of ink colors, a first set of ink colors to use in a first color transition is selected, based on the plurality of position vectors. In other words, at block 204, a subset of the inks the printer uses for

printing for use in the color transition is determined, based on the determined coordinates.

[0026] Various examples of color transitions for which respective sets of ink colors may be determined as part of block 206 are described hereafter.

[0027] The first color transition may be between a first color in the color space corresponding to a first position vector and a second color in the color space corresponding to a second position vector. In some examples, a given ink color of the plurality of ink colors (hereafter given printer ink color) may be included in the first set of ink colors based on whether or not the scalar product of the position vector of the given printer ink color (hereafter given position vector) with the first position vector and/or the second position vector is zero. In such examples, the first set of ink colors is determined based on a scalar product.

[0028] The first color may be a non-white and non-black color. In other words, the first color may be a color not corresponding to the white position vector (1 ,1 ,1 ) or the black position vector (0,0,0). The second color may be white. Such a color transition may be referred to as a white to color transition. For example, the white to color transition may be between white (1 ,1 ,1 ) and green (0,1 ,0). In such examples, a given non-greyscale printer ink color may be included in the first set of ink colors if the scalar product of the given non-greyscale position vector and the first position vector is not zero. Therefore, printer ink colors which are non-greyscale and not orthogonal to the first position vector are included in the first set of ink colors.

[0029] A non-greyscale printer ink color is one that has a position vector not corresponding to a greyscale color in the color space. For example, in the RGB color space 300, the position vector of a non-greyscale color does not have equal values in the different value positions of the position vector. For example, (0,0,0) and (1 ,1 ,1 ) are greyscale position vectors, whereas (0,1 ,0) is not greyscale. In Figure 3, the dashed line 302 indicates where the greyscale colors

of the RGB color space 300 are. A given printer ink color, the given position vector of which places the given printer ink color on the dashed line 302, is a greyscale printer ink color.

[0030] For example, for a white to color transition, non-greyscale printer ink colors may be identified at block 206. It may then be determined whether the scalar product of a given non-greyscale position vector (determined at block 204 for the given non-greyscale printer ink color) and the first position vector is zero or not zero if the scalar product is not zero, the given non-greyscale printer ink color is included in the first set of ink colors for that white to color transition.

[0031] Whether the scalar product is zero or not zero may be determined by calculating the scalar product of the given non-greyscale position vector and the first position vector. However, in some examples, whether the scalar product is zero or not zero may be determined without explicit calculation of a value of the scalar product in question. For example, in a colour space, such as an RGB color space, in which negative coordinate values are not used, a determination as to whether the scalar product has a non-zero value may be performed by determining whether there are any coordinate positions (e.g. R, G or B positions - in other words, value positions) at which both of the respective position vectors have a non-zero value

[0032] In some examples, for instance where the first position vector and the position vectors of the printer ink colors each correspond to a corner of the RGB cube 300 (e.g. green (0,1 ,0)), for a white to color transition, any position vector of a non-greyscale printer ink color which has a Ί” in at least one of the value positions where the first position vector has a Ί” may be selected for inclusion in the first set of ink colors.

[0033] In the case of white to color transitions, for printer ink colors each at a corner of the RGB cube 300 for example, selecting non-greyscale printer ink colors in this manner results in the selection of non-greyscale printer ink colors with a position vector having a non-zero scalar product with the first position vector in the example of the color green, the green position vector is (0, 1 ,0). Out of the cyan, magenta, yellow and black printer ink colors, cyan (0,1 ,1 ) and yellow (1 ,1 ,0) would be included in the first set of ink colors and magenta (1 ,0, 1 ) and black (0,0,0) would not be so included. It will be understood that in the RGB color space 300, the scalar product of green (0,1 ,0) and any one of cyan (0,1 ,1 ) and yellow (1 ,1 ,0) is non-zero, whereas the scalar product of green (0,1 ,0) and any one of magenta (1 ,0,1 ) and black (0,0,0) is zero. Therefore, in this example, the coordinate of the non-greyscale printer ink color has a“G in at least one of the value positions where the first position vector also has a Ί Accordingly, the non-greyscale printer ink color has a non-zero scalar product with the first position vector.

[0034] In some examples, whether or not the scalar product of a given non-greyscale position vector with the first position vector is zero may be determined in a different manner. In examples where the first position vector and the position vectors of the printer ink colors each correspond to a corner of the RGB cube 300 (e.g. green (0,1 ,0)), whether or not the value in each value position of the first position vector remains unchanged when multiplied by the value in the corresponding value position of a given non-greyscale position vector may be determined. If so, it may be determined that the given non-greyscale printer ink color is to be included in the first set of ink colors.

[0035] For example, green (0,1 ,0) with its value in each value position multiplied by the value in the corresponding value position of cyan (0,1 ,1 ) results in the position vector: (0,1 ,0) c (0,1 ,1 ) = (0,1 ,0), which is the green position vector. Therefore, in this example, cyan would be selected as an ink color for inclusion in the first set of ink colors. Therefore, in the example of white to color transitions, it is determined that a position vector of a non-greyscale printer ink color where the value in each value position of the first position vector remains unchanged when multiplied by the value in the corresponding value position of the position vector of that non-greyscale printer ink color, means that that position vector has

a non-zero scalar product with the first position vector and the corresponding non greyscale printer ink color is included in the first set of ink colors.

[0036] In some examples, the first color transition may be between white and another non-white and non-black color for which there is a printer ink color. For example, the printer may dispense green ink. In such examples, at block 206, the ink directly corresponding to the color involved in the white to color transition may also be included in the first set of ink colors. For example, if the printer ink colors include cyan, magenta, yellow, black and green ink, for the white to green transition, cyan, yellow and green inks may be included in the first set of ink colors.

[0037] The first color may be a non-white and non-black color (e.g. a color not corresponding to (0,0,0) or (1 ,1 ,1 ) in the RGB cube 300). The second color may also be a non-white and non-black color. Such a color transition may be referred to as a color to color transition. A color to color transition is an example of a color transition where a given non-greyscale printer ink color is included in the first set of ink colors based on whether or not the scalar product of the given non-greyscale position vector with the first position vector and/or the second position vector is zero. For a color to color transition, a given non-greyscale ink color is included in the first set of ink colors if the scalar product of the given non-greyscale position vector and the first position vector is not zero, and/or the scalar product of the given non-greyscale position vector and the second position vector is not zero. As described for white to color transitions, non-greyscale printer ink colors may be identifying at block 206 as those printer ink colors which have a position vector corresponding to a greyscale color in the color space. This condition means that for a color to color transition, a given non-greyscale printer ink color is included if the scalar product of the given non-greyscale position vector with the first position vector is not zero, or if the scalar product of the given non-greyscale position vector with the second position vector is not zero, or both. Therefore non-greyscale printer ink colors are selected based on whether or not

the scalar product of their position vector with at least one of the first position vector and the second position vector is non-zero.

[0038] For a color to color transition, the relevant scalar products may be explicitly calculated at block 208. However, similarly to the described examples for the white to color transitions, it may be determined whether or not the scalar product of a given non-greyscale position vector with at least one of the first position vector and the second position vector is non-zero without explicit calculation of the relevant scalar products. For example, where the second position vector and the position vectors of the printer ink colors each correspond to a corner of the RGB cube 300, any position vector of a non-greyscale printer ink color which has a Ί” in at least one of the value positions where the second position vector has a Ί” may be selected at block 208. In some examples, where the second position vector and the position vectors of the printer ink colors each correspond to a corner of the RGB cube 300, whether or not the value in each value position of the second position vector remains unchanged when multiplied by the value in the corresponding value position of a given non-greyscale position vector may be determined. If so, that given non-greyscale position vector may be selected at block 208. Whether or not the relevant scalar products with respect to the first position vector are zero may be similarly determined without explicit calculation of those scalar products.

[0039] At block 208, the first set of ink colors for color to color transitions where the first color and the second color correspond to position vectors connected directly by an edge of the RGB cube 300 may be determined in the example of the RGB cube 300, the first and second colors of a color to color transition may be the colors whose position vectors vary at no more than one value postion. As described, color transitions may be used in determining resources (e.g. an RGB to NPac LUT). Color to color transitions where the two colors are directly connected by edge of the RGB cube 300 may sufficient for the generation of such resources.

[0040] As described, the first set of ink colors for a white to color transition includes the non-greyscale printer ink colors where the scalar product of the position vectors of the non-greyscale printer ink colors and the position vector of the color involved in the white to color transition is non-zero. Accordingly, it should be noted that for a color to color transition (i.e. between a first non-white and non-black color and a second non-white and non-black color), the first set of ink colors includes all the printer ink colors involved in the white to first color transition and the white to second color transition.

[0041] The first color transition may be between the color white in the color space corresponding to the white position vector and the color black in the color space corresponding the black position vector. Such a transition may be referred to as a white to black transition. For a white to black transition, all greyscale printer ink colors may be included in the first set of ink colors. Alternatively, for a white to black transition, the first set of ink colors may include all the non-greyscale printer ink colors. For example, if the printer uses cyan, magenta, yellow and black inks, either black ink is selected or cyan, magenta and yellow inks are selected for inclusion in the first set of ink colors it should be noted that cyan, magenta and yellow ink may together produce black in examples where the printer ink colors do not include any greyscale inks, the non-greyscale inks can be used for a white to black transition

[0042] The first transition may be between a first color in the color space corresponding to a first position vector and the color black in the color space corresponding to the black position vector, where the first color is a non-white and non-black color. Such a transition may be referred to as a color to black transition. A given printer ink color may be included in the first set of ink colors if the scalar product of the given position vector and the first position vector is not zero, or if the given position vector is the black position vector. In other words, ail the printer ink colors which satisfy the described condition for use in the white to color transition involving the color involved in the color to black transition are included if should be noted that the position vectors of non-black greyscale ink

colors in the RGB color space 300 will have a non-zero scalar product with the first position vector and will therefore be included in this example in addition, black ink is also included in this example.

[0043] For example, for a green to black transition, cyan, yellow and black inks may be included in the first set of ink colors to take green towards black in examples where there is a printer ink color directly corresponding to the color involved in the color to black transition, the first set of ink colors may include the printer ink color corresponding directly to that color, any greyscale printer ink colors and the black printer ink color (if present).

[0044] Alternatively, for a color to black transition, all non-greyscale printer ink colors may be included in the first set of ink colors. For example, if the printer uses cyan, magenta and yellow inks, all these ink may be included for the color to black transition it should be noted that these inks would need to be combined in the appropriate ratio to generate the color to black transition. For example, for a green to black transition, cyan and yellow may be combined to generate green. Magenta ink may then be added in an appropriate ratio to move from green to black. Examples of generation of color transitions are described further below.

[0045] In some of the described examples, (e.g. color to color transitions and some examples relating to color to black transitions), inks for the relevant white to color transitions are included in the first set of ink colors. In some examples, respective sets of ink colors for a number of white to color transitions may first be determined and made use of for determining further sets of ink colors for further color transitions. Figure 4 is a flow diagram of a method 400 where previous determinations of sets of ink colors for white to color transitions are used in subsequent determinations. The instructions stored on the storage medium 104, when executed by the processor 102, may cause the processor 102 to perform the method 400. At block 402 of the method 400, the first set of ink colors for use in the first white to color transition is determined. For example, the first transition described above may be a white to color transition e.g. the first color may be a non-white and non-black color and the second color may be white. The determination of block 402 may, for example, be performed according to the method 200, as described

[0046] At block 404, a second set of ink colors for use in a second transition is determined (for example, according to method 200). The second transition may be a second white to color transition. For example, the second color transition may be between the second color (white) and a third color in the color space. The third color corresponds to a third position vector and is a non-white and non-black color. For the second white to color transition, a given non greyscale printer ink color is included in the second set of ink colors if the scalar product of the given non-greyscale position vector and the third position vector is not zero.

[0047] At block 406, a third set of ink colors of the printer ink colors for use in a third color transition is determined by selecting all the printer ink colors in the first set of ink color and the second set of ink colors. The third color transition may be a color to color transition between the first color and the third color. Thus, according to method 400, the respective sets of ink colors for the white to color transitions of the colors involved in the color to color transition are first determined. Then, all the printer ink colors involved in those white to color transitions are included In the set of ink colors for the color to color transition.

[0048] For example, for a transition between green (0,1 ,0) and yellow (1 ,1 ,0), the printer ink colors to use in the white to green transition and the white to yellow transition may first be determined. Then, it may be determined that ail the inks for the white to green and white to yellow transition are to be used in the green to yellow transition. Therefore, where the sets of ink colors for the relevant white to color transitions have been determined, the printer ink colors to be used for the relevant color to color transitions may be determined without performing

further determinations (e.g. by simply selecting the printer ink colors to be used in the relevant white to color transitions). For example, after performing block 402 and 404, the processor 102 may write the already determined sets of ink colors to a computer readable memory comprised in the apparatus 100 and retrieve those sets, as appropriate, to determine sets of ink colors for other transitions in this manner, by first determining the printer ink colors needed for a number of white to color transitions, the processing burden may be reduced and the time to perform a series of determinations may be reduced.

[0049] In some examples, the third color transition described above may be between the first color and the color black in the color space. In such examples, in the method 400, the scalar product of each of the position vectors of the second set of ink colors and the first position vector may be zero. For example, at block 404, the third color is selected such that this condition is satisfied in this example, the third set of ink colors is determined by selecting all the printer ink colors in the first set of ink colors and the second set of ink colors (similarly to the above described example).

[00S0] It should be noted that the printer ink colors which are orthogonal to the first position vector, thus making their scalar product with the first position vector zero, are also the printer ink colors which have position vectors where the scalar product of those position vectors and the position vector of the ink color directly opposite the first position vector in the RGB cube 300 is non-zero in other words, if the scalar product of the given non-greyscale position vector and the first position vector is zero, then the scalar product of the given non-greyscale position vector and the position vector of the color directly opposite the first position vector in the RGB cube 300 is non-zero.

[0051] For example, the color directly opposite green (0,1 ,0) in the RGB cube 300 is magenta (1 ,0,1 ). Therefore, in this example, the printer ink colors having a non-zero scalar product with the green position vector (i.e. the printer ink colors for the white to green transition) and the printer ink colors having a non zero scalar product with the magenta position vector (i.e. the printer ink colors for the white to magenta transition) would be included in the third set of ink colors. For example, if the first color is green, the third color is magenta; if the first color is red, the third color is cyan; and so on. Therefore, for color to black transitions where the method 400 is performed, the third set of ink colors includes all non greyscale ink colors. As described, the printer ink colors would be combined in an appropriate ratio to generate the relevant color to black transition.

[00S2] Respective sets of ink colors for use in a number of white to color transitions may be determined and used to select the printer ink colors for other color transitions, e.g. color to color transitions and color to black transitions, as described.

[0053] As described, a color to black transition may also be achieved using the printer ink colors for the white to color transition involving the color involved in the color to black transition and all the greyscale inks, rather than all the non greyscale printer ink colors. Figure 5 is a block diagram of a method 500 in which the set of ink colors determined for a white to color transition are subsequently used for a color to black transition involving the same color. At block 502, the first set of ink colors is determined for the first color transition which is a white to color transition. At block 504, a second set of ink colors is determined for a second color transition. In this example, the second transition is between the first color (the non-white and non-black color involved in the first white to color transition) and the color black. The second set of ink colors is determined by selecting ail the ink colors of the plurality of ink colors in the first set of ink colors and all the greyscale ink colors of the plurality of ink colors.

[0054] By making use of sets of ink colors determined for white to color transitions in the determinations for other color transitions, the processing burden and/or the time to perform the determination may be reduced in some example,

the sets of ink colors for all white to color transitions may first be determined and used, as described, to determine sets of ink colors for other color transitions.

[0055] In the described examples, the examples of the printer ink colors being cyan, magenta, yellow and black are mainly referred to. However, in other examples, the printer may dispense other ink colors. For example, the printer may additionally dispense green ink. in some examples, the printer may dispense cyan, light cyan, magenta, light magenta and green inks. In such examples, the dictionary may indicate the position vector (0,1 , 1 ) for both names “cyan” and“light cyan”, and similarly may indicate the position vector (1 ,0,1 ) for both“magenta” and light magenta” in some examples, the printer may dispense twelve ink colors.

[0056] The disclosed methods, apparatuses and storage media provide a way of determining the ink colors to be used in color transitions automatically using computing resources, thus foregoing the need for an engineer to determine the inks to be used in each transition to be generated. In examples in which the printer dispenses a large number of ink colors, the process to determine which ink colors are to be used in each color transition is made more complex. The disclosed methods, apparatuses and storage media provide a way to deal with the complexity involved with printers dispensing a large number of different ink colors.

[0057] The storage medium 104 may also have stored thereon instruction which cause the processor 102 to transmit a first command to print each of a plurality of printing features using an ink dispensing process comprising dispensing a combination of printer ink colors from the first set of ink colors. The instructions stored on the storage medium 104, when executed by the processor 102, may also cause the processor 102 to transmit a second command to a light measuring device to measure light from each of the plurality of printing features. [0058] The first and second commands will now be further described in the context of the white to green transition. The printing features may be spots printed using printer ink colors from the first set of ink colors. The dispensing process may involve printing according to an NPac vector. For the white to green transition, the first set of ink colors may include cyan ink and yellow ink. Therefore spots may be printed according to a plurality of NPac vectors involving cyan and yellow inks. The plurality of NPac vectors may be represented as follows

a[1000] + *>[0010] + c[1010] (1 )

[0059] In Equation (1 ) above, [1000] is the NP representing cyan ink to be dispensed, [0010] is the NP representing yellow ink to be dispensed and [1010] is the NP representing cyan and yellow ink to be dispensed from respective nozzles of the printer a, b and c represent probabilities of the ink being dispensed according to the respective NP. The plurality of spots may be printed using different combinations of the values of a, b and c in order to produce the colors lying along the RGB cube 300 edge between white and green. It should be noted that b and c being zero may simply produce a spot lying along the RGB cube edge between white and cyan, therefore, that NPac vector may be excluded according to the first command. Similarly, other NPac vectors that would clearly not produce a color along the edge between white and green may not be included. For example, NPac vectors with a and c being zero may not be included because these may produce colors along the white to yellow edge. NPac vectors heavily weighted towards cyan or yellow may not be included according to the first command. This may inhibit spots not useful for generating the white to green transition to be excluded.

[0080] Furthermore, in some examples, the use of white may be minimized

(e.g. no ink being dispensed where the printing medium is white or white ink being dispensed). This may also be a factor that determines the contents of the first command sent by the processor 102.

[0061] The plurality of spots thus produced may then be measured according to the second command transmitted by the processor 102. The light measuring device may be a spectrophotometer, for example. The spectrophotometer may measure light from each spot (according to the second command) such that the actual color printed may be determined.

[0062] The instructions stored on the storage medium 104, when executed by the processor 102, may also cause the processor 102 to construct the first color transition using a set of the dispensing processes, wherein each dispensing process in the set yields a desired color point along the color transition according to the measurements acquired by the light measuring device. For example, the processor 102 may construct the white to green transition using a set of NPac vectors which yielded the desired color points along the white to green edge of the RGB cube 300 according to the measurements from the spectrophotometer.

[0063] Ail white to color transitions may be generated before the color to color and color to black transitions are generated. For example, once a white to color transition is generated, the dispensing process which actually generates that color would be known. For example, for a white to green transition, an equal mix of cyan and yellow ink may produce green positioned in the RGB cube 300 at position vector (0,1 ,0). This order means that for another transition involving green, the start/end point of that transition is known. Therefore, the green to yellow transition may be generated once the white to green and white to yellow transitions have been generated such that the end points (in terms of NPac vectors, for example) are known.

[0064] Similarly, for a color to black transition, the corresponding white to color transition may be first generated. For example, in the case where black ink is selected for inclusion in the green to black transition, a spot according to the NPac vector determined to yield the color at (0,1 ,0) of the RGB cube 300 from the white to green transition may be printed and biack ink may be added to ink to generate the spots for the green to black transition.

[0085] Figure 3 indicates, using lines between corners of the RGB cube 300, the color transitions that may be generated. As described, resources (e.g. an RGB to NPac LUT) may be generated using the generated color transitions.

[0066] 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. If 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.