To enable modification of color characteristics of an image

A method to enable modification of color characteristics of an image. In the method, an image, defined in a first color space, is transformed to a second color space; and display of the transformed image is controlled. A color characteristic of the transformed image is modified using a rule defined in the second color space in response to a user input, and display of the modified transformed image is controlled.

BACKGROUND

Printing systems are arranged to apply a printing treatment (such as ink) to media and may also include a user input device for enabling a user to control the printing system. For example, a user of the printing system may operate the user input device to perform color management on an image to be printed by the printing system.

DETAILED DESCRIPTION

FIG. 1illustrates a schematic diagram of an apparatus10according to an example. The apparatus10(which may also be referred to as a printing system) includes a controller12, a display14, a user input device16and printing apparatus18. The apparatus10may be a unitary device where the components of the apparatus10are housed by a single housing. In other examples, the apparatus10may include a plurality of physically separate devices (having separate housings) that are arranged to operate together. For example, the printing apparatus18may be a separate device to the remainder of the apparatus10. In other examples, the apparatus10may be a module. As used here, ‘module’ refers to a unit or apparatus that excludes certain parts/components that would be added by an end manufacturer or a user. For example, where the apparatus10is a module, the apparatus10may only include the controller12.

The implementation of the controller12can be in hardware alone (for example, a circuit, a processor and so on), have certain aspects in software including firmware alone or can be a combination of hardware and software (including firmware).

The controller12may be implemented using instructions that enable hardware functionality, for example, by using executable computer program instructions in a general-purpose or special-purpose processor20that may be stored on a computer readable storage medium22(disk, memory etc) to be executed by such a processor20.

The processor20is configured to read from and write to the memory22. The processor20may also comprise an output interface via which data and/or commands are output by the processor20and an input interface via which data and/or commands are input to the processor20.

The memory22stores a computer program24comprising computer program instructions that control the operation of the apparatus10when loaded into the processor20. The computer program instructions24provide the logic and routines that enables the apparatus10to perform the methods illustrated and described with reference toFIGS. 2 to 7. The processor20by reading the memory22is able to load and execute the computer program24.

The computer program24may arrive at the apparatus10via any suitable delivery mechanism26. The delivery mechanism26may be, for example, a non-transitory computer-readable storage medium, a computer program product, a memory device, a record medium such as a compact disc read-only memory (CD-ROM) or digital versatile disc (DVD), an article of manufacture that tangibly embodies the computer program24. The delivery mechanism26may be a signal configured to reliably transfer the computer program24. The apparatus10may propagate or transmit the computer program24as a computer data signal.

The memory22also stores at least one image28. The image28is defined in a first color space such as (for example) sRGB or AdobeRGB.

Although the memory22is illustrated as a single component it may be implemented as one or more separate components some or all of which may be integrated/removable and/or may provide permanent/semi-permanent/dynamic/cached storage.

As used in this application, the term ‘circuitry’ refers to all of the following:

(b) to combinations of circuits and software (and/or firmware), such as (as applicable): (i) to a combination of processor(s) or (ii) to portions of processor(s)/software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus to perform various functions) and

(c) to circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.

This definition of ‘circuitry’ applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term “circuitry” would also cover an implementation of merely a processor (or multiple processors) or portion of a processor and its (or their) accompanying software and/or firmware.

The display14may be any suitable display and may be, for example, a liquid crystal display (LCD), a light emitting diode display (LED display), or a thin film transistor (TFT) display. The controller12is arranged to control the operation of the display14. For example, the controller12may control the display14to display the image28stored in the memory22. The display14is arranged to operate in a color space that is different to the first color space of the image28. The color space of the display14may be referred to as device Red, Green, Blue (dRGB).

The user input device16may be any suitable device for enabling a user to control the apparatus10. For example, the user input device16may comprise a plurality of buttons or keys. In some examples, the user input device16may be integrated into the display14to provide a touch screen display14(e.g. a resistive or a capacitive touch screen display). The controller12is arranged to receive user input signals from the user input device16.

The printing apparatus18may include any suitable printing mechanism and may include, for example, an inkjet printer, a laser printer or a solid ink printer. The controller12is arranged to control the operation of the printing apparatus18. For example, the controller12may read the image28stored in the memory22and control the printing apparatus18to print the image on a sheet or web of media (such as paper). The printing apparatus18is arranged to operate in a color space that is different to the first color space of the image28. The color space of the printing apparatus28may be referred to as device Red, Green, Blue (dRGB).

The operation of the apparatus10according to an example is described in the following paragraphs with reference toFIG. 2.

At block30, the controller12transforms the image28from the first color space to a second color space. In this example, the controller12transforms the image28from sRGB to dRGB of the printing apparatus18using an International Color Consortium (ICC) profile of the printing apparatus18.

At block32, the controller12controls the display14to display the transformed image28. Since the image28has been transformed to dRGB of the printing apparatus18, the transformed image28imitates what the image will look like when printed on media by the printing apparatus18.

At block34, the controller12controls the display14to display a user interface to enable a user to select at least one color characteristic setting for modifying the displayed transformed image. For example, the user interface may include: a first slider for the color red that may be moved between values zero and two hundred and fifty five; a second slider for the color green that may be moved between values zero and two hundred and fifty five; and a third slider for the color blue that may be moved between the values zero and two hundred and fifty five. The value two hundred and fifty five of a color represents the brightest, most saturated value of that color. The value zero of a color represents the least bright and least saturated value of that color.

In other examples, the user interface may include any other tool that enables a user to select at least one color characteristic setting. For example, the user interface may include a first dial for red, a second dial for green and a third dial for blue. By way of another example, the user interface may include a first data entry box for red, a second data entry box for green and a third data entry box for blue. Furthermore, the user interface may not be displayed on the display14and may instead by a physical mechanism that may be operated by a user.

At block36, the controller12receives a user input defining at least one color characteristic setting. For example, a user may operate the user input device16to move the green slider to select a color characteristic setting that modifies the saturation and brightness of the color green in the displayed transformed image28. The controller12subsequently receives the selected color characteristic setting from the user input device16.

At block38, the controller12generates a rule (defined in the second color space) using the at least one color characteristic setting received in block36. An example of how the rule is generated is described in the following paragraphs with reference toFIGS. 3 to 7.

FIG. 3illustrates the gray axis40of a first color space (sRGB in this example). The gray axis40is a straight line that represents the combined values of red, green and blue that provides different shades of gray. The bottom left of the gray axis40is the combination of the lowest values of red, green and blue (zero) and appears black. As the gray axis40increases (that is, as you move towards the top right of the graph), the shade of gray becomes lighter. The top right of the gray axis40is the combination of the highest values of red, green and blue (two hundred and fifty five) and appears white.

FIG. 4illustrates a gray axis42that is the result of the gray axis40illustrated inFIG. 3being transformed from the first color space to a second color space (dRGB of the printing apparatus18for example) using, for example, an ICC profile. For example, the controller12may transform the gray axis40using an ICC profile for the printing apparatus18. The transformed gray axis42is similar to the gray axis40illustrated inFIG. 3, but differs in that the gradient of the gray axis42for low values of red, green and blue is lower than the gray axis40.

FIG. 5illustrates a gray axis44that is the result of the gray axis40illustrated inFIG. 3having a function applied to a color in accordance with the color characteristic setting received in block36. For example, the controller12may receive a color characteristic setting to modify the gamma correction of the color green in the displayed transformed image28. The controller12subsequently applies an exponential function to green in the first color space that uses the value of the color characteristic setting. Consequently, the gray axis44includes a straight line46for red and blue, and an exponential curve48for green.

In other words, the controller12implements the color characteristic setting by using an exponential curve on the color channel to which the color characteristic setting relates. For example, to obtain an increase in the green channel, the color characteristic setting would be (1, 1.2, 1) and the implementation would be modify each pixel of the image as (R^1, G^1.2, B^1). Channels R and B are unaffected (since ^1 does not change the value of R or B). However, channel B is increased by an exponent of 1.2.

FIG. 6illustrates a gray axis50that is the result of the gray axis44illustrated inFIG. 5being transformed from the first color space to the second color space using, for example, an ICC profile. In more detail, the gray axis50includes a curved line52for blue, a curved line54for red and a curved line56for green.

FIG. 7illustrates a graph58that represents the generated rule for modifying the transformed image. The graph58includes a first curved line60for blue, a second curved line62for red, and a third curved line64for green. The controller12generates the graph58by inverting the curves52,54,56of the gray axis58illustrated inFIG. 6and then composing the result with the transformed gray axis42illustrated inFIG. 4. Since the generated rule is formed from curves that have been transformed from the first color space to the second color space, the generated rule is consequently defined in the second color space.

Returning toFIG. 2, at block66the controller12modifies at least one color characteristic of the transformed image28using the rule generated in block38. In particular, the controller12applies the functions for the curves60,62and64to the red, green and blue values in the transformed image28to modify the color characteristics of the image. For example, where the color characteristic setting received at block36modifies the color green, the performance of block66results in the transformed image28having a modified appearance where the saturation of green is changed relative to the pre-modified image.

At block68, the controller12controls the display14to display the modified transformed image28from block66. The display of the modified transformed image28enables the user to view the effect of their selected color characteristic setting and decide what to do next. For example, the user may not be satisfied with the result of their selected color characteristic setting and may operate the user input device16to return the method to block34so that they may select alternative color characteristic settings. By way of another example, the user may be satisfied with the result of their selected color characteristic setting and may operate the user input device16to store the modified transformed image28in the memory22. By way of a further example, the user may be satisfied with the result of their selected color characteristic setting and may operate the user input device16to instruct the apparatus10to print the modified transformed image28.

Where the user instructs the apparatus10to print the modified transformed image, the method moves to block70and the controller12controls the printing apparatus18to print the modified transformed image28. Since the modified transformed image28is displayed in the second color space of the printing apparatus18(e.g. dRGB), the printed version of the modified transformed image advantageously appears very similar to (or the same as) the displayed version of the modified transformed image.

The apparatus10provides an advantage in that since the color modification is applied to the image28after the image28has been encoded in the second color space, the modification is independent of the encoding of the image28. Furthermore, the rule for modifying the transformed image28is defined in the second color space and consequently, the color characteristic setting selected by the user advantageously modifies the transformed image28in a predictable (and expected) manner. In particular, the curves60,62,64of the generated rule may mimic pure exponential per-channel color adjustment curves of the first color space in the second color space. For example, a selected color characteristic setting that enhances one color only may be used to generate a rule for modifying a transformed image that only enhances that selected color.

The blocks illustrated in theFIG. 2may represent steps in a method and/or sections of code in the computer program24. The illustration of a particular order to the blocks does not necessarily imply that there is a required or preferred order for the blocks and the order and arrangement of the block may be varied. Furthermore, it may be possible for some blocks to be omitted.

Although examples of the present invention have been described in the preceding paragraphs, it should be appreciated that modifications to the examples given can be made without departing from the scope of the invention as claimed. For example, the first color space and the second color space may be different to sRGB and dRGB respectively. By way of an example, the first color space may be AdobeRGB and the second color space may be CMYK.