REAL TIME TRANSFORMATION BETWEEN COLOUR SPACES

Abstract: A method of transforming three independent vectors, which describe a colour, in an original vector space to three independent and one or more dependent vectors in an image vector space, in real time, comprises the steps of providing a look-up table containing original vector space input data and in which image vector space output data, in the form only of three independent vectors have been processed, ahead of time, into image vector space output data comprising modified three independent vectors and one or more dependent vectors, from which the required image vector space output data can be directly obtained. The original vector space vectors are input into the look-up table to obtain the image vector space vectors. The method also provides transforming three independent and one or more dependent vectors, which describe a colour, in an original vector space to three independent vectors in an image vector space, which comprise the steps of resolving the set of independent and dependent original vector space vectors into a reduced set of three independent vectors only and inputting the reduced set of three independent vectors into a three-dimensional look-up table containing three-dimensional original vector space input data and three-dimensional image vector space output data to obtain the three independent vectors in the image vector space.

Description: _ ! _ REAL TIME TRANSFORMATION BETWEEN COLOUR SPACES INTRODUCTION This invention relates to real time transformations between vector spaces. In particular, it relates to vector spaces that represent colours as used in the graphic arts and printing industries. BACKGROUND OF THE INVENTION An n-dimensional vector space can be completely described by any set of "n" independent vectors. In general, the choice of a particular set of independent vectors is made for purposes of convenience. As an example, the same physical space may be described in terms of linear coordinates (x, y, z) for objects undergoing linear motion and radial coordinates (r, θ, z) for objects undergoing radial motion. To transform coordinate descriptions between two vector spaces one may employ either transformation equations or empirical data tables, also known as "look-up tables", with the possible further step of interpolating between table entries. The method chosen depends on the circumstances. If simple transformation equations exist then these can be employed. However, often such equations are complicated, in which case the look-up table method should be considered. Look-up tables will be most easily applied to a finite vector space requiring only limited precision. As precision requirements increase, the table must either grow tremendously or else interpolation equations must be employed. There is a balance to be struck between the complexity of the interpolation equations and the exhaustiveness of the data table. Vector spaces representing colour are a specific example. It is now generally agreed that any colour can be completely described by a three-dimensional vector space. That is to say, three independent colours can be combined to create all other colours. Two sets of colours are illustrative. For objects that are sources of light (such as colour television sets) the traditional set of independent colours used is red, green and blue or RGB (the additive primary colours) . For objects that absorb light, such as dyes, inks and paints, the traditional set of independent colours used is cyan, magenta and yellow or CMY (the subtractive primary colours) . Colour printing is normally carried out using three or more ink colours. Usually four printing inks known as the "process colours" (cyan, magenta, yellow and black or CMYK) are used. While inks combine in a predictable, repeatable way, the relationships are nonlinear. Therefore, black ink is frequently used directly (instead of indirectly as a combination of the CMY inks) because black is usually an important colour that must be precisely controlled. Sometimes, particularly in the packaging industry, "non-process" inks are used to directly control specific colours, such as brown or orange, that may be important in a given printing. As with the use of black ink, these non-CMY inks are used by the printer to keep better control of the printing process and to obtain a better colour match on the final printed result. FIGURE 1 illustrates a typical colour printing installation in block diagram form. A colour transparency 10 is entered into the colour printing system using an input device, such as a scanner 14. A scanned image is manipulated using a page composition system 16. Intermediate results can be viewed on such proofing devices 18 as a monitor 20 (at low resolution) , a digital film recorder 21 (at high resolution) or an ink jet printer 22. The final product can be printed on a colour printing device 24. FIGURE 1 also illustrates a major complication in the printing process, i.e. colour space transformations. The fact that different devices in a colour printing installation work with different colour space descriptions necessitates the use of colour converters 26, 28, and 30 between devices. Although colour space is three dimensional, FIGURE 1 illustrates transformations between larger coordinate systems. The transformation at 26 is from three space to five space. The transformation 28 is from five space to three space. The transformation at 30 is from five space to four space. These more complicated transformations necessitated by the physical properties of printing inks involve mathematically superfluous dependent basis vectors as well as the three independent basis vectors required to describe colour space. There are three cases to consider. First, the case where a colour space defined in terms of only independent basis vectors is transformed into a colour space defined in terms of both independent and dependent basis vectors. Second, the case where a colour space defined in terms of both independent and dependent basis vectors is transformed into a colour space defined in terms of only independent basis vectors. Third, the general case where a colour space defined in terms of both independent and dependent basis vectors is transformed into a colour space defined in terms of both independent and dependent basis vectors. In the first case, the conventional transformation method is to input the original vector into a look-up table to determine the image vector in terms of only the independent basis vectors. These independent components are then further processed using colour extraction optimising algorithms, such as those described in U.S. Patent 4,879,594, to produce the dependent components and as a result to modify the independent components. As these algorithms are time consuming, real time processing is sacrificed using this method. In the second case, the conventional transformation method is to use a look-up table with as many dimensions as there are basis vectors, dependent and independent, in the original vector space. This table can then directly supply the independent components of an image vector. This method tends to be impractical because look-up tables increase in size exponentially with each new input parameter and processing time for interpolation equations also increases dramatically with each new input parameter. The third case is merely a combination of the first two cases. The same problems are applicable. SUMMARY OF THE INVENTION According to the invention there is provided a method of transforming three independent vectors which describe a colour in an original vector space to three independent and one or more dependent vectors in an image vector space, in real time, comprising the steps of providing a look-up table containing original vector space input data and in which image vector space output data, in the form only of three independent vectors have been processed, ahead of time, into image vector space output data comprising modified three independent vectors and one or more dependent vectors, from which the required image vector space output data can be directly obtained; and inputting said original vector space vectors into said look-up table to obtain said image vector space vectors. The processing of the look-up table output data ahead of time may comprise the application of colour extraction optimising algorithms to the output data. According to another embodiment of the invention there is provided a method of transforming three independent vectors, which describe a colour, in an original vector space to three independent and one or more dependent vectors in an image vector space, comprising the steps of compiling a look-up table, ahead of time, comprising original vector space input data in the form only of independent vectors and image vector space output data in the form of independent and dependent vectors and inputting said original vector space vectors into said look-up table, in real time, to obtain said image vector space vectors. The said image vector space output data may be obtained by first obtaining a first set of only independent image vector space vectors and, ahead of time, processing the independent image vector space vectors to obtain the said independent and dependent image vector space output data. The processing of the independent image vector space vectors may comprise, as stated above, the application of colour optimising algorithms to said first set of independent output data. According to a further embodiment of the invention, there is provided a method of transforming three independent and one or more dependent vectors, which describe a colour, in an original vector space to three vectors in an image vector space, comprising the steps of resolving the set of independent and dependent original vector space vectors into a reduced set of three independent vectors only; and inputting said reduced set of three independent vectors into a three-dimensional look-up table containing three-dimensional original vector space input data and three-dimensional image vector space output data to obtain the said three independent vectors in the image vector space. Also according to the invention there is provided a method of transforming three independent vectors and one or more dependent vectors, which describe a colour, in an original vector space to three independent and one or more dependant vectors in an image vector space, in real time, comprising the steps of resolving the set of independent and dependent original vector space vectors into a reduced set of three independent vectors of an intermediate vector space; providing a look-up table containing intermediate vector space input date and in which image vector space output data, in the form only of three independent vectors, have been processed ahead of time, into image vector space output data comprising modified three independent vectors and one or more dependent vectors, from which the required image vector space output data can be directly obtained; and inputting said intermediate vector space vectors into said look-up table to obtain said image vector space vectors. Further according to the invention there is provided a method of transforming three independent vectors and one or more dependent vectors, which describe a colour, in an original vector space to three independent and one or more dependant vectors in an image vector space, in real time, comprising the steps of resolving the set of independent and dependent original vector space vectors into a reduced set of three independent vectors of an intermediate vector space; compiling a look-up table ahead of time, comprising intermediate vector space input data in the form only of independent vectors and image vector space output data in the form of independent and dependent; and inputting said intermediate vector space vectors into said look-up table, in real time, to obtain said image vector space vectors. According to another embodiment of the invention there is provided apparatus for transforming three independent vectors, which describe a colour, in an original vector space to three independent and one or more dependent vectors in an image vector space, which comprises transformation circuitry including a look-up table containing original vector space input data in the form of three independent vectors and image vector output data in the form of independent and dependent vectors. Also according to the invention there is provided apparatus for transforming three independent and one or more dependent vectors, which describe a colour, in an original vector space to three independent vectors in an image vector space, which comprises means for resolving the set of independent and dependent original vector space vectors into a reduced set of three independent vectors and transformation circuitry including a look-up table for transforming the reduced set of three independent vectors to three independent vectors in an image vector space. Further according to the invention there is provided apparatus for transforming three independent and one or more dependent vectors which describe a colour, in an original vector space to three independent and one or more dependent vectors, which comprises means for resolving the set of independent and dependent original vector space vectors into a reduced set of three independent vectors; and transformation circuitry including a look-up table containing reduced set input data in the form of three independent vectors and image vector output data in the form of independent and dependent vectors. In this way, by employing the method according to the invention, it is possible to effect transformations between vector spaces involving both independent and dependent colours in real time. Other objects and advantages of the invention will become apparent from the description of a preferred embodiment of the invention below. BRIEF DESCRIPTION OF THE DRAWINGS FIGURE 1 is a block diagram of a typical colour printing installation. FIGURE 2 is a block diagram of a colour converter circuit that performs real time transformations between vector spaces that represent colours according to the method of the invention. FIGURE 3 is a logical block diagram of the workings of the main transformation circuitry according to the invention. DESCRIPTION OF PREFERRED EMBODIMENT FIGURE 2 illustrates a colour converter circuit that performs real time transformations between colour spaces. Digital input signals are classified as either coefficients of independent basis vectors 32 or coefficients of dependent basis vectors 34. The actual colour converter circuit comprises prescalers 36, one- dimensional look-up tables 38, digital adders 40, the main transformation circuitry 42, and postscalers 44. The output signals are classified as either coefficients of independent basis vectors 46, or coefficients of dependent basis vectors 48. OPERATION FIGURE 2 provides an overview of the operation of a colour converter circuit that performs real time transformations between colour spaces. All the input signals 32 and 34 are prescaled by the prescalers 36 so as to use the full range of the transformation circuitry 42. Each dependent basis vector component 34 is resolved into its three independent basis vector components by the three one-dimensional look-up tables 38. These components are then added to the appropriate independent basis vector components by the digital adders 40 and the sum is input into the transformation circuitry 42. The transformation circuitry 42 performs transformations in two stages. First, a coarse look-up table approximate transformation is obtained which is then refined by interpolation. Finally, the transformed digital signals are postscaled by the postscalers 44 to set them at an appropriate level. As indicated in the illustrated example, a prescaler 36 is provided for each independent colour and each dependent colour being input. The same applies to the postscalers 44 in respect of the number of independent and dependent colours being output. A set of three one- dimensional look-up tables 38 is provided for each dependant colour being input. The transformation circuitry 42 is preprogrammed specifically to cater for the number of independent and dependent colours being output. Before transformations can occur, a calibration is performed wherein measured intensities of a scanned colour standard are compared with the actual standard intensities to produce transform pairs to be stored in the look-up table. Where the image vector comprises both independent 46 and dependent 48 basis vectors, optimised colour extraction algorithms are used at this set-up stage to produce the transform pairs. The use of optimised colour extraction algorithms in programming a look-up table facilitates transformations into general image vector spaces which comprise dependent basis vectors. Prior art, such as U.S. Patent 4, 334, 240 generally relied upon special relationships between specific colours to perform transformations into specific image spaces when dependent basis vectors were involved. U.S. Patent 4, 334, 240 teaches that CMY can be mapped into CMYK based on the fact that black (K) intensity is always approximately equal to the lowest intensity among C, M, and Y. Optimised colour extraction algorithms generalize such special relationships. As taught in U.S. Patent 4, 879, 594, geometric relationships between colours in a colour cube can be employed to optimally describe a point in an image vector space in terms of both independent and dependent basis vectors. FIGURE 3 illustrates the overall logical structure of the transformation circuitry 42. Three digital signals 50 representing independent colour space vectors are inputted. These signals 50 are the signals that resulted from resolving the dependent vectors 34 into the independent vectors 32 in the previous circuitry. To increase efficiency in processing time and data storage, the digital signals 50 indirectly address the three dimensional look-up tables 52 through the intervention of an address generation reference table 54. Each output image vector (whether independent or dependent) necessitates a dedicated three dimensional look-up table 52. These three dimensional look-up tables 52 are only coarsely filled with transform pairs so that only the more significant bits of each signal 50 are used at this stage. The less significant bits of signals 50 are used in the interpolation process. Again to increase efficiency in processing time and data storage, these signals 50 indirectly address a fractional reference table 56 through an address generation reference table 58. This fractional reference table 56 contains precise constant approximations to fractions necessary in the interpolation process. The constant approximations selected from this table 56 are used at 60 to calculate the coefficients used in the interpolation equations. Interpolation equations at 62 draw upon the coarse transform pair data selected from the three dimensional look-up tables 52 and the interpolation coefficients calculated at 60 to produce more precise image vectors. Independent image vectors are output at 64 while dependent image vectors are output at 66. While only preferred embodiments of the invention have been described herein in detail, the invention is not limited thereby and modifications can be made within the scope of the attached claims.

Claims: WHAT IS CLAIMED IS: 1. A method of transforming three independent vectors, which describe a colour, in an original vector space to three independent and one or more dependent vectors in an image vector space, in real time, comprising the steps of: providing a look-up table containing original vector space input data and in which image vector space output data, in the form only of three independent vectors, have been processed, ahead of time, into image vector space output data comprising modified three independent vectors and one or more dependent vectors, from which the required image vector space output data can be directly obtained; and inputting said original vector space vectors into said look-up table to obtain said image vector space vectors. 2. The method according to claim 1, wherein the processing of the output data ahead of time comprises the application of colour extraction optimizing algorithms to the output data. 3. A method of transforming three independent vectors, which describe a colour, in an original vector space to three independent and one or more dependent vectors in an image vector space, comprising the steps of: compiling a look-up table, ahead of time, comprising original vector space input data in the form only of independent vectors and image vector space output data in the form of independent and dependent vectors; and inputting said original vector space vectors into said look-up table, in real time, to obtain said image vector space vectors. 4. The method according to claim 3, wherein said output data is obtained by first obtaining a first set of only independent image vector space vectors and, ahead of time, processing the independent image vector space vectors to obtain the said independent and dependent image vector space output data. 5. The method according to claim 4, wherein the processing of the independent image vector space vectors comprises the application of colour optimizing algorithms to said first set of independent output data. A method of transforming three independent and one or more dependent vectors, which describe a colour, in an original vector space to three independent vectors in an image vector space, comprising the steps of: resolving the set of independent and dependent original vector space vectors into a reduced set of three independent vectors only; and inputting said reduced set of three independent vectors into a three-dimensional look-up table containing three-dimensional original vector space input data and three-dimensional image vector space output data to obtain the said three independent vectors in the image vector space. 7. A method of transforming three independent vectors and one or more dependent vectors, which describe a colour, in an original vector space to three independent and one or more dependant vectors in an image vector space, in real time, comprising the steps of: resolving the set of independent and dependent original vector space vectors into a reduced set of three independent vectors of an intermediate vector space; providing a look-up table containing intermediate vector space input date and in which image vector space output data, in the form only of three independent vectors, have been processed ahead of time, into image vector space output data comprising modified three independent vectors and one or more dependent vectors, from which the required image vector space output data can be directly obtained; and inputting said intermediate vector space vectors into said look-up table to obtain said image vector space vectors. 8. A method of transforming three independent vectors and one or more dependent vectors, which describe a colour, in an original vector space to three independent and one or more dependant vectors in an image vector space, in real time, comprising the steps of: resolving the set of independent and dependent original vector space vectors into a reduced set of three independent vectors of an intermediate vector space; compiling a look-up table ahead of time, comprising intermediate vector space input data in the form only of independent vectors and image vector space output data in the form of independent and dependent vectors; and inputting said intermediate vector space vectors into said look-up table, in real time, to obtain said image vector space vectors. Apparatus for transforming three independent vectors, which describe a colour, in an original vector space to three independent and one or more dependent vectors in an image vector space, which comprises: transformation circuitry including a look-up table containing original vector space input data in the form of three independent vectors and image vector output data in the form of independent and dependent vectors. 10. Apparatus for transforming three independent and one or more dependent vectors, which describe a colour, in an original vector space to three independent vectors in an image vector space, which comprises: means for resolving the set of independent and dependent original vector space vectors into a reduced set of three independent vectors; and transformation circuitry including a look-up table for transforming the reduced set of three independent vectors to three independent vectors in an image vector space. 11. The apparatus according to claim 10, wherein said means for resolving the set of independent and dependent original vectors space vectors into a reduced set of three independent vectors comprises a set of three one-dimensional look-up tables for each of the original dependent vectors for resolving each dependent vectors into three independent basis vector components and means for adding the resultant independent basis vector components to the corresponding original independent vectors. 12. Apparatus for transforming three independent and one or more dependent vectors, which describe a colour, in an original vector space to three independent and one or more dependent vectors, which comprises: means for resolving the set of independent and dependent original vector space vectors into a reduced set of three independent vectors; and transformation circuitry including a look-up table containing reduced set input data in the form of three independent vectors and image vector output data in the form of independent and dependent vectors.

Inventors: HRYTZAK RANDAL K, REED ALASTAIR M, HRYTZAK, RANDAL, K., REED, ALASTAIR, M.
Applicants: CYMBOLIC SCIENCES INTERNATIONA, CYMBOLIC SCIENCES INTERNATIONAL LTD.
Application year: 1991
Main classification: H04N1
IPC codes: G06T1, H04N1