AU1244400A - A color space conversion apparatus - Google Patents

A color space conversion apparatus Download PDF

Info

Publication number
AU1244400A
AU1244400A AU12444/00A AU1244400A AU1244400A AU 1244400 A AU1244400 A AU 1244400A AU 12444/00 A AU12444/00 A AU 12444/00A AU 1244400 A AU1244400 A AU 1244400A AU 1244400 A AU1244400 A AU 1244400A
Authority
AU
Australia
Prior art keywords
color
tables
set forth
output colors
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
AU12444/00A
Other versions
AU747081B2 (en
Inventor
Dominic Yip
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AUPP8299A external-priority patent/AUPP829999A0/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to AU12444/00A priority Critical patent/AU747081B2/en
Publication of AU1244400A publication Critical patent/AU1244400A/en
Application granted granted Critical
Publication of AU747081B2 publication Critical patent/AU747081B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Description

S&F Ref: 491179
AUSTRALIA
PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT
ORIGINAL
Name and Address of Applicant: Actual Inventor(s): Address for Service: Canon Kabushiki Kaisha 30-2, Shimomaruko 3-chome, Ohta-ku Tokyo 146 Japan Dominic Yip Spruson Ferguson St Martins Tower 31 Market Street Sydney NSW 2000 A Color Space Conversion Apparatus e Invention Title: ASSOCIATED PROVISIONAL APPLICATION DETAILS [33] Country [31] Applic. No(s) AU PP8299 [32] Application Date 25 Jan 1999 The following statement is a full description of this invention, including the best method of performing it known to me/us:- 5815c -1- A COLOR SPACE CONVERSION APPARATUS Field of Invention The present invention relates to an apparatus for converting input colors of a first color space to output colors of a second color space. The invention also relates to an apparatus for storing and accessing data values of an nth dimensional array. The invention further relates to an apparatus for storing and accessing output colors in the CYMK color space corresponding to input colors in an input color space, wherein the input color space is an RGB space.
Background 10 Background art will now be described with reference to the following drawings in which: Fig. 4 illustrates an ideal color relationship; and S.Fig. 5 illustrates a more realistic color relationship, which occurs in practice.
Images are normally displayed by a CRT type display using an additive format such 15 as the Red, Green, Blue (RGB) format. In this format, separate color information is provided for each of the Red, Green and Blue primary colors and when displayed S•together, they form any desired color to be displayed.
However, when it is desired to print out a color representation of the image displayed by a color display, a subtractive color format is generally used. One such subtractive format is the Cyan, Magenta, Yellow and Black (CMYK) format. Such a subtractive format is commonly used in color printing devices and in particular is used in the Canon CLC500 color laser copier/printer manufactured by Canon Inc.
Referring now to Fig. 4 there is shown an ideal color relationship. In theory the relationship between additive colors and subtractive colors is simple, as Cyan, Magenta UFR12 CFP1590AU 491179 Q\disra\ufr\ufr12\491179.doc -2and Yellow are simply the complementary colors to Red, Green and Blue respectively.
They can be expressed by: C=I-R; (EQ 1) M 1 G; and (EQ 2) Y= 1- B. (EQ 3) Black is a function of all three additive primaries as follows: K rR gG bB, (EQ 4) where r, g, and b are coefficients determined by relative human perception of red, green and blue.
10 Referring now to Fig. 5 there is shown a more realistic color relationship, which occurs in practice. Specifically the above equations are inadequate because the amount of cyan, for example, is a complex non-linear equation that depends on the amount of red, o green, and blue. Non-linear transfer functions in the printing mechanism require a nonlinear transfer function during conversion between the two color formats. Fig. 4 shows the ideal curve for (say) cyan, whereas the curve shown in Fig. 5 is that required by the printer.
One method for performing color correction in accordance with the arrangement shown in Fig. 5 would be to use a number of programmable read only memories (PROM's) to perform a lookup of each possible input point and a preprogrammed function similar to that shown in Fig. However this solution has a number of disadvantages. Namely: it may require a large amount of board space due to the number of support chips required by the PROMs; (ii) it requires a large amount of power where high speed PROMs are used; and UFR12 CFP1590AU491179 Q\cjsrakufr\ufr12\491179.doc -3- (iii) it requires a large amount of storage space, with one value stored for each possible primary color value with say 8 bits for each color of red, green and blue and each mapping producing 8 bits of output, the total storage space would be 28 x 28 x 28, being over 16 Mbytes for each color pass.
Another typical method minimizes the large storage capacity required in such color conversion by dividing each color range into 16 steps. Accordingly only 16xl6x16 4096 combinations of cyan, magneta, and yellow values are then required. Thus the storage capacity may be reduced to a manageable level. Typically, the method uses a cubic interpolation method for intermediate RGB color values so as to improve the 10 printing quality.
US Patent 4,275,413 discloses a linear interpolating method and apparatus for color signals stored in memory, wherein the stored color signals are addressed in a threedimensional fashion and a cubic interpolation unit in the memory is dissected into a tetrahedron. In this method the 8-bit red, green and blue values are divided into high oo0.
order 4-bit signals and lower order 4-bit signals. The high order 4-bit 000, are utilized for accessing a memory, wherein all combinations of the color corrected signals corresponding to said high order 4 bit signals are stored. This method is an improvement over the cubic interpolating method in that it provides a more accurate color reproduction. However, this method and apparatus suffer from the disadvantage that memory access is slow and significant memory is used. Further, the architecture disclosed by US Patent 4, 275,413 only specifies 16 sample points in each direction of RGB, allowing only 15 intervals (or 16 intervals with some error in the last interval).
UFR12 CFP1590AU491179 Q\cisra\uf A~ufrl 2\491 1 79.doc -4- Aspects of the Invention It is an object of the present invention to ameliorate one or more disadvantages of the prior art.
One or more exemplary aspects of the invention are listed below, but are not limited thereto.
According to a first aspect of the invention, there is provided apparatus for converting input colors of a first color space to output colors of a second color space, wherein said apparatus includes an address generator which generates addresses in Sresponse to a said input color value; an interpolation coefficient generator for generating 10 interpolation coefficients in response to a said input color value; a first memory for *o storing a main table of a major number of said output colors, one or more second memories for storing one or more side tables of the remaining number of output colors; and an interpolator for deriving an interpolated output color value by utilizing the interpolation coefficients and the accessed output colors.
15 According to a second aspect of the invention, there is provided apparatus for storing and accessing data values of a nth dimensional array, wherein said array includes n i m i said data values and said apparatus includes: a first memory for storing a main i=1 table of said data values, wherein m i Vi and JIm, is not a power i=1 i=1 of two; one or more secondary memories for storing respective one or more secondary tables of the remaining FIN, J2"i said data values; and an address generator for i=1 i=1 generating addresses for accessing said data values in said first and secondary memories.
UFR12 CFP1590AU 491179 Q~cdsra~ufr\ufr1 2\4911 79.doc According to a third aspect of the invention, there is provided an apparatus for storing and accessing output colors in the CYMK color space corresponding to input colors in an input color space, wherein the input color space is an RGB space with each color range being divided into 16 intervals and said apparatus includes: a generator which generates addresses and interpolation coefficients in response to a said input color; four first memories for storing four main tables of said output colors, six second memories for storing six side tables of output colors; wherein a first and second one of said main tables stores output colors corresponding to the intervals 0 to 15 in the R,G,B color ranges, a *:oo third and fourth one of said main tables stores output colors corresponding to the intervals 10 1 to 16 in the R,G,B color ranges and a first group of three said side tables contain output *0 colors corresponding to the intervals 0 to 15 in any two of the R,G,B color ranges and interval 16 in the remaining one of the R,G,B color ranges and a second group of three said side tables contain output colors corresponding to the intervals 1 to 16 in any two of the R,G,B color ranges and interval 0 in the remaining one of the R,G,B color ranges; and an interpolator for deriving an interpolated output color by utilizing the interpolation "•coefficients and the accessed output colors.
°oeoo S"Brief Description of the Drawings Embodiments of the invention are described with reference to the drawings, in which: Fig. 1 illustrates a block diagram a color space conversion apparatus in accordance with a preferred embodiment; Fig. 2 illustrates the input RGB color space; and Fig. 3 illustrates the organization of the memory tables with the RAM 128 of the color space conversion apparatus of Fig. 1; and Fig. 4 illustrates an ideal color relationship; and UFR12 CFP1590AU 491179 Q\cisra\ufr\ufrl 2\4911 79.doc -6- Fig. 5 illustrates a more realistic color relationship, which occurs in practice.
Detailed Description Where reference is made in any one or more of the accompanying drawings to steps and/or features, which have the same reference numerals, those steps and/or features have for the purposes of this description the same function(s) or operation(s), unless the contrary intention appears.
Fig. 1 shows a block diagram of a color space conversion apparatus 100 of the preferred embodiment. The color space conversion apparatus 100 includes a number of :o modules that form a processing pipeline which accepts a stream of RGB pixel data 102 as 10 input to generate the appropriate color conversion data CYMK pixel data 104 for output to a printer interface (not shown). The RGB pixel data is represented by 24-bits consisting of 8-bit red, green, blue color values. The CYMK pixel data is represented by 16 bits S consisting of 4-bits cyan, magneta, yellow, black color values. It is not intended that the present invention be limited to 24-bit RGB and 16-bit CYMK pixel data. Other colors and bit number representations are possible without departing from the spirit and scope of the invention.
The color space conversion apparatus 1 is provided with separate random access memories (RAM's) 106, 108 and 110 for each of the red, green and blue channels respectively. The RAM's 106, 108 and 110 store a Red Interval and Red Fractional table, a Green Interval and Green Fractional table and a Blue Interval and Blue Fractional table respectively. These tables provide a one to one transformation mapping for each of the Red, Green and Blue channels respectively. Specifically, for each channel the tables outputs a respective Interval value and Fractional value.
The red interval and red fractional values 112, green interval and green fractional values 114, and blue interval and blue fractional values 116 are each fed to a color table UFR12 CFP1590AU491179 M~cisra~ur~url 2\4911 79.doc -7addresses and interpolation coefficients generator 118. The generator 118 generates color table addresses (cO,cl,c2,c3) 120, 122, 124 and 126 which address respective tables CO, Cl, C2 and C3 stored in RAM 128. In response to these addresses 120,122,124, and 126 the tables CO, C1, C2 and C3 each supply a Cyan, Yellow, Magneta and Black data value 132,134,136 and 138 an interpolator 130. That is: 120 CO CMYK on 132 122 Cl CMYK on 134 124 C2 CMYK on 136 *o 126 C3 CMYK on 138 10 The generator 118 also generates interpolation coefficients, 140,142,144 and 146, which are a function of the fractional values 112,114 and 116 supplied to the generator 118. The interpolator 130 interpolates the Cyan, Yellow, Magneta and Black data values 132,134,136 and 138 utilizing the interpolation coefficients 140,142,144 and 146 and outputs the interpolated CYMK data value 104.
As will be described further below, so as to reduce the amount of storage required by the color conversion apparatus 100, a method of interpolation is used to derive the final output color. A basic explanation of the interpolation process undertaken by the color conversion apparatus 100 will be described in relation to Fig. 2.
Fig. 2 shows a RGB color space of input colors. In order to reduce the storage capacity required for memory, each color range of the RGB color space is divided into 16 intervals thus forming 16x16x16 cubes. Furthermore, only the CYMK values are stored which correspond to the vertices of the cubes in the RGB color space. Thus the storage capacity requirement for storing the corresponding output CYMK values is reduced to a manageable level. Namely, only a limited number of all the CYMK values corresponding UFR12 CFP1590AU 491179 Q\disra\ufr\ufrI 2\4911 79.doc -8to all the RGB points are stored in memory. If an RGB input color P of interest falls within a particular cube, then it is possible to interpolate utilizing the fractional values of P and the CYMK values corresponding to the surrounding vertices to obtain the final CYMK value. The preferred apparatus initially locates the position of P in terms of interval values r_int, g_int and b_int (0 to 16) and fractional values R_fract, G_fract and B_fract; (0-255) for the R,G, and B color values of P respectively. Specifically, each 8-bit color value in R,G and B is mapped to a 5-bit interval value (0-16) representing the interval in which the color value lies P is on the endpoint), and an 8-bit fractional value (0-255) representing the distance between the color P and the endpoint of the 10 previous interval value. All these interval and fractional values are stored in RAMS .9 106,108 and 110. In the example shown in Fig. 2 the red interval (r_int) for P equals two and the green and blue intervals (g_int, b_int) for P are equal to zero and one, respectively. The fractional values for P are shown as R_fract, G_fract and B_fract.
During the color space conversion, each of the 8-bit R,G, and B color values are 15 used to look up one 5-bit interval and one 8-bit fractional value from the interval and fractional tables. The resultant interval and fractional values 112,114 and 116 are then Sfed to the color table addresses interpolation coefficient generator 118.
The color space conversion apparatus 100 utilizes a tetrahedron interpolation method. A tetrahedron interpolation method has an advantage over a cubic interpolation method in that a more accurate color reproduction is possible. Conceptually speaking, each cube of the RGB color space is divided into six tetrahedrons. These tetrahedrons have four of the eight adjacent cubic vertices as their own vertices The color space conversion apparatus 100 determines those four vertices of that tetrahedron within which the position P lies. The apparatus also determines four interpolation values. The color space conversion apparatus 100 uses the four CYMK UFR12 CFP1590AU 491179 Q~cisra\ufr\ufr1 2\491179.doc -9values corresponding to these four vertices and the four interpolation values to determine the interpolated CMYK data value corresponding to the color P. Specifically, the color conversion apparatus 100 utilizes the three interval and fractional values 112,114 and 116.
The generator 118 combines the 5-bit color intervals together to form four 15-bit color table addresses 120,122,124, and 126 which are then used to look up the color tables to determine the four CMYK data values 132, 134, 136 and 138 corresponding to the four vertices of the tetrahedron. The generator 118 also uses the fractional values to determine the four interpolation values 140, 142, 144 and 146.
WOO:The pseudo code of Appendix A describes how the color table addresses c0,cl,c2 10 and c3 and the interpolation coefficients a0,al,a2 and a3 are generated by the generator 118. The generator 118 consists of a dedicated logic circuit performing the equivalent operations of such pseudo code. The actual construction of such a dedicated logic circuit S"would be apparent to the man skilled in the art and thus need not be described any further.
In the pseudo code of Appendix A, when the interval value from the interval and fraction table is 16, it is not incremented further because the address would then be out of range of the colour table. Addresses with interval values greater than 16 are ignored because they are generally not used in the final interpolation. They are not used in the final interpolation because the corresponding fraction value will be zero.
It is proposed that the color conversion apparatus contains four copies of the same color table in order to look up simultaneously the four-color values and c3').
Each color table would be of the size 17x17x17x16 bits. Since that requires 15 address bits, that means that a typical color conversion apparatus would require 4x2x32 kbytes of memory to hold four copies of the color table, and about 2/8 of that memory is not used, since the interval values only go up to 16. The preferred color conversion apparatus 100 UFR12 CFP159AU 491179 Q\Cisra\ufr\ufrl 2\491179.doc uses a different memory allocation and addressing method for the color tables in order to save memory.
Turning now to Fig.3 there is shown the memory allocation of the CO,C1,C2 and C3 color lookup tables. This organization of the color tables minimizes the memory used.
The color tables CO,C1,C2 and C3 are each addressed by respective color table addresses cO,cl,c2 and c3 supplied by the generator 118. The color table addresses are each in size.
The CO color table (Fig 3) consists of 16x16x16x16 bits of RAM, which contains color values in intervals 0 to 15 in R,G, and B components. This is based on the 10 realization that the interval values that constitute the color address cO have most of the time values less than 16. Only the lower four bits of the interval values of R, G and B are used as an address to the table CO. When one or more of the interval values equals 16 then the cO' color values are accessed from the other tables in the manner described below.
The C3 color table (Fig.3) consists of 16x16x16x16 bits of RAM, which contains 15 color values in intervals 1 to 16 in R,G, and B components. This is based on the realization that the interval values that constitute the color address c3 are always between 1 and 16. Thus only the lower four bits of the interval values of R-1, G-l and B-1 need be used as an address to this table.
The Cl color table (Fig. 3) is made up of four parts. This is based on the realization that most of the times only one of the interval values can vary from 0 to 17, These 4 parts are: a) 16x16x1 6 x1 6 bits RAM, which contains colour values in samples 0 to15 in R, G, and B components. This is the same as the CO table. (Table Cla) UFR12 CFP1590AU 491179 Q\cisra\ufr\ufrl 2\491179.doc -11 b) 16x16x16 bits RAM, which contains colour values in samples 0 tol5 in R and G components, and sample 16 in B. (Table Clb) c) 16x16x16 bits RAM, which contains colour values in samples 0 tol5 in R and B components, and sample 16 in G. (Table Cic) d) 16x16x16 bits RAM, which contains colour values in samples 0 tol5 in B and G components, and sample 16 in R. (Table Cid) When all interval values are less than 16, then table Cla is accessed to get the colour value, using the lower 4 bits of the three interval values as the address. If the interval value for B is 16, but the other two interval values are not, then table Clb is accessed to 10 get the colour table value, using the lower 4 bits of the interval values of R and G as the address. The other two tables are accessed in similar conditions.
~The C2 color table (Fig. 3) is made up of four parts. This is based on the realization that most of the times two of the interval values can vary only from 1 to 16. These four 9 parts are: 15 a) 16x16x16x16 bits RAM, which contains colour values in samples 1 tol6 in R, G, and B components. This is the same as the C3 table. (Table C2a) b) 16x16x16 bits RAM, which contains colour values in samples 1 tol6 in R and G components, and sample 0 in B. (Table C2b) c) 16x16x16 bits RAM, which contains colour values in samples 1 tol6 in R and B components, and sample 0 in G. (Table C2c) d) 16x16x16 bits RAM, which contains colour values in samples 1 tol6 in B and G components, and sample 0 in R. (Table C2d) UFR12 CFP1590AU 491179 Q\cisra\ufr\ufr1 2\491179.doc -12- When all interval values are non-zero, then table C2a is accessed to get the colour value, using the interval values of R, G and B minus 1 as the address. If the interval value for B is 0, but the other two interval values are not, then table C2b is accessed to get the colour table value, using the interval values of R and G minus 1 as the address. The other two tables are accessed in similar conditions.
The following outlines in further detail the manner of addressing when the interval is 16.
1. When one of the interval values is 16, then two of the addresses c0,cl,c2, and c3 are the same. In these circumstances, the color value cO' is looked up from the C1 color 10 table, c3' is read from C3 color table, and either cl' or c2' is read from C2 color table.
2. When two of the interval values are 16, then three of the addresses cO, cl, c2 and c3 are the same. In these circumstances, color value cO' is looked up from C2 color table, and c3' is read from C3 color table.
3. When all interval values are 16, then all the addresses cO, cl, c2 and c3 are the same. In these circumstances, the color value is read from C3 color table.
After the color values cO', cl', c2' and c3' and interpolation coefficients aO, al, a2 and a3 have been fed to the interpolator 130, the interpolator calculates the interpolated CYMK value in accordance with the following formulae: CYMK data value (a0*cO' al*cl' a2*c2' a3*c3' 8 The interpolator 130 then outputs the CYMK data value to a printer device.
Alternatively, the interpolator may feed the interpolated CYMK data value to a further lookup table for color correction.
The preferred embodiment has been described with reference to a color space conversion apparatus. However, it is not intended that the present invention be limited to UFR12 CFP1590AU491179 Q\disra\ufr\ufr1 2\491 1 79.doc -13such an apparatus. For example, the invention may have general application to any apparatus for storing and accessing data values.
A brief description follows of such an apparatus for storing and accessing data values. These data values form a table m x n x p data values in size, where m, n and p are positive integers and the value m x n x p is not a power of two. Such a table will by virtue of it's size require so many address bits, which in turn means a memory of a size greater than the table. This can lead to inefficient use of memory.
In a preferred embodiment, an nth dimensional table of n size m; mo x m, is divided into a number of tables. The nth dimensional table Se* i=1 is divided into a main table and a number of secondary tables, where each table is stored
S
in a separate RAM. The tables can be accessed by an address, which is fed to an address
S
generator, which then generates a corresponding address for the relevant table. The size of the main table is x2"' data values, where2"' m Vi and i=1 00° n 17 m i is not a power of two. Preferably, is the highest power of 2 less than m i i=l Preferably, the main table and secondary tables are divided in the following manner.
Assume for the present purposes that m i A, Vi where is the highest power of two less than or equal to m, Vi Thus the original table is of the size (2 +A 0 The main table and the secondary tables are then provided having sizes equivalent to the expanded terms of the last mentioned polynomial.
For example, the main table has a size equivalent to the first term of the expansion of the polynomial, viz. 2'i2" data values. In some circumstances, a number of tables, i=1 UFR12 CFP1590AU491179 Q\disra\ufr\ufr1 2\491179.doc -14equivalent to any two or more of the second through to the last terms of the expansion may be combined into one table. For example, where the minor terms are very small, it would be advantageous to combine the tables in a single RAM rather than having two very small RAMS. It is also possible to further divide a secondary table in a similar manner to the original table.
The foregoing only describes a small number of embodiments of the present invention, however, modifications and/or changes can be made thereto by a person skilled in the art without departing from the scope and spirit of the invention. The present embodiments are, therefore, to be considered in all respects to be illustrative and not 04 10 restrictive.
*0 go In the context of this specification and accompanying aspects of invention, the word "comprising" means "including principally but not necessarily solely". Variations of the se* word comprising, such as "comprise" and "comprises" have correspondingly varied meanings.
UFR12 CFP1590AU 491179 \cisra\ufr\ufrl 2\491 179.doc APPENDIX A Generator Code R_fract, G_fract and B_fract are variables for storing the fractional values of the input color P.
*/r_int, g_int and b_int are 5-bit variables for storing the interval values of the input color P a0,al,a2,a3 and a4 are variables for storing the interpolation coefficients 10 c0,cl,c2,c3 and c4 are 15-bit variables for storing color table addresses *o S" The term used in the following pseudo code refers to concatenation The term x(nl:n2) refers to the number constituted by bits nl through to n2 of variable i.e. where cl 48 i.e.000000000 10000) then cl(0:4)= 16 (10000) Compare R_fract, G_fract, B_fract values in order to determine which of the 6 possible tetrahedrons the color P lies within.
mrg. R_fract G_fract; mgb G_fract B_fract; mbr B_fract R_fract; Proceed depending on which tetrahedron the colour P lies in and determine the colour addresses and the interpolation coefficients.
UFR12 CFP1590AU 491179 Q\dsra\ufr\ufr1 2\4911 79.doc 16 if (0 mrg) if (0 mgb) interpolation coefficients aO =256 Rfract; al mrg; 10 a2 =mgb; a3 Bfract; colour table addresses cO r int/g int~b-int; c I r-int+lI g-int~bint; c2 r int+lI gint+lI b_int; c3 rint+I ^g-int+lI b-int+ 1; else if (0 mbr) interpolation coefficients aO =256 -B_fract; al =mbr; UFR12 CFP1590AU 491179Qcsaufurl24119.o Q\cisra\ufr\ufrl 2\491 1 79.doc -17a2 mrg; a3 G-fract; colour table addresses rint~g-int~b_int; c I rint/gint~b-int± 1; c2 r int+l~g-int~bint+1; *c3 rint+lI g-int+ 1 A"j int+ 1; else interpolation coefficients a0 =256 Rfract; al Rfract Bfract; a2 =B fract Gfract; a3 G-fract; colour table addresses cO =r-int~g-int~b-int; c I r-int+lI g-int~bint; c2 r int+l~g-int~bilnt+1; 0c=r-int+I Ag-int+ I b-int+ 1; UFR12 CFP1590AU 491179Qcsrufufl24117.o Q\cisra\ufr\ufrl 2\491179.doc -18-
I
else if (0 mgb) interpolation coefficients aO =256 -B_fract; al Bfract Gfract; a2 G-fract R-fract; 10 a3 =R fract; colour table addresses cO r-int~gint~b-int; ci r int^g int~b int+1; c2 r intA gjnt± lAb_int+ 1; *c3 r int+1JAgint+lJA bint+1; else if (<=mbr) interpolation coefficients aO =256 Gfract; al mgb; a2 =mbr; UFR12 CFP1590AU 491179Qcsrufurl24117.o Q\cisra\ufr\ufrl 2\491179.doc 19a3 R-fract; colour table addresses cO =r-int~gint~b-int; cI r-int~g-int+ I /b-int; c2 r int/g-int+ Il^b-int+ 1; c3 rint+ 1 gint+A b-int+1; 10 else interpolation coefficients aO =256 -G_fract; al G-fract R-fract; a2 Rfract -B_fract; a3= B-fract; colour table addresses cO r int~g-int~b_int; c I= r-intAg-int+lAb-int; c2 r-int+ lA gint+1JAb-int; c3 rint+1 A g int+ JA b int+ 1; UFR12 CFP1590AU 491179Qcsrufurl24117.o Q\cisra\ufr\ufrl 2\491179.doc 20 1* In case when r-int is 16 If (cl(4:0) 16)1/* =17 cl(4:O) =16; If (c2(4:0) 16)1/* 17* c2(4:0) 16; If (c3(4:0) 16)1/* 17* c3(4:0) 16; 10 In case when gint is 16* c 1(9:5) 16; If (c2(9:5) 16)1/* =17! c2(9:5) 16; If (c3(9:5) 16)1/* 17 c3(9:5) 16; 1* In case when b-int is 16* If (cl(14:10) 16) 17 cl(14:1) =16; If (c2(14: 10)> 16) 17* c2(14: 10) =16; If (c3(14:10) 16)1/* 17 c3(14:10) 16; UFR12 CFP1590AU 491179 Qdr~f\fl24117.o Q\cjsra\ufr\ufrl 2\491179.doc

Claims (9)

1. An apparatus for converting input colors of a first color space to output colors of a second color space, said apparatus comprising: an address generator which generates addresses in response to a said input color value; an interpolation coefficient generator for generating interpolation coefficients in response to a said input color value; a first memory for storing a main table of a major number of said output colors, 10 one or more second memories for storing one or more side tables of the remaining number of output colors; and an interpolator for deriving an interpolated output color value by utilizing the interpolation coefficients and the accessed output colors.
2. An apparatus as set forth in claim 1, said apparatus comprising a plurality of said first memories for storing a plurality of main tables, and wherein the address generator can simultaneously access any two or more of the first and second memories.
3. An apparatus as set forth in claim 1 or 2, wherein said input colors corresponding to the output colors stored in the side tables are adjacent to those input colors stored in the main table in the input space.
4. An apparatus as set forth in claim 1 or 2, wherein said input color space is an RGB space. UFR12 CFP1590AU 491179 Q\cisra\ufr\ufr1 2\491179.doc -22- An apparatus as set forth in claim 1 or 2, wherein said output color space is a CYMK space.
6. An apparatus as set forth in claim 1 or 2, wherein the input color space is an RGB space with each color range being divided into 16 intervals and said apparatus includes four said first memories for storing four main tables, wherein a first and second one of said first main tables stores output colors corresponding to the intervals 0 to 15 in the R,G,B color ranges, a third and fourth one of said first tables stores output colors corresponding to the intervals 1 to 16 in the R,G,B color ranges. :00
7. An apparatus as set forth in claim 6, wherein said apparatus includes six side tables, wherein a first group of three said side tables contain output colors corresponding to the intervals 0 to 15 in any two of the R,G,B color ranges and interval 16 in the remaining one of the R,G,B color ranges and a second group of three said side tables contain output colors corresponding to the intervals 1 to 16 in any two of the R,G,B color ranges and interval 0 in the remaining one of the R,G,B color ranges.
8. An apparatus as set forth in claim 1 wherein said major number is a power of two.
9. An apparatus as set forth in claim 1, wherein said major number is the highest power of two less than the total number of output colors stored in both first and second memories. An apparatus as set forth in claim 1, wherein said address generator and said interpolation coefficient generator are integrally combined in a generator device. UFR12 CFP1590AU 491179 OQcdsra\ufr\ufr1 2\4911i79.doc
23- 11. An apparatus for storing and accessing data values of an nth dimensional array, n wherein said array includes m, said data values and said apparatus includes: i=1 n a first memory for storing a main table of [2" i said data values, wherein i=1 n m Vi and rnm, is not a power of two; i=1 one or more secondary memories for storing respective one or more secondary n n tables of the remaining 1Im, H2"' said data values; and i=1 r= an address generator for generating addresses for accessing said data values in said first and secondary memories. 12. An apparatus as set forth in claim 11, wherein is the highest power of 2 less than m i 13. An apparatus as set forth in claim 11, wherein the first and one or more second memories are provided having sizes equivalent to the terms of an bionomial expansion. 14. An apparatus as set forth in claim 11, wherein said array is a three dimensional array. 15. An apparatus as set forth in claim 11, wherein said data values are output color values. UFR12 CFP1590AU 491179 Q~cdsra\ufr\ufr1 2\4911 79.doc -24- 16. An apparatus for storing and accessing output colors in the CYMK color space corresponding to input colors in an input color space, wherein the input color space is an RGB space with each color range being divided into 16 intervals, said apparatus comprising: a generator which generates addresses and interpolation coefficients in response to a said input color; four first memories for storing four main tables of said output colors; six second memories for storing six side tables of output colors; wherein a first and second one of said main tables stores output colors corresponding to the intervals 0 to I 10 in the R,G,B color ranges, a third and fourth one of said main tables stores output colors corresponding to the intervals 1 to 16 in the R,G,B color ranges and a first group of three said side tables contain output colors corresponding to the intervals 0 to 15 in any two of the R,G,B color ranges and interval 16 in the remaining one of the R,G,B color ranges and a second group of three said side tables contain output colors corresponding to the 15 intervals 1 to 16 in any two of the R,G,B color ranges and interval 0 in the remaining one *5*o of the R,G,B color ranges; and an interpolator for deriving an interpolated output color by utilizing the interpolation coefficients and the accessed output colors. 17. An apparatus for converting input colors of a first color space to output colors of a second color space, substantially as herein described with reference to Figs. 1 to 3. Dated 17 January, 2000 Canon Kabushiki Kaisha Patent Attorneys for the Applicant/Nominated Person SPRUSON FERGUSON UFR12 CFP1590AU491179 Q\cisra\ufr~ufr1 2\491179.doc
AU12444/00A 1999-01-25 2000-01-17 A color space conversion apparatus Ceased AU747081B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU12444/00A AU747081B2 (en) 1999-01-25 2000-01-17 A color space conversion apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AUPP8299A AUPP829999A0 (en) 1999-01-25 1999-01-25 A color space conversion apparatus
AUPP8299 1999-01-25
AU12444/00A AU747081B2 (en) 1999-01-25 2000-01-17 A color space conversion apparatus

Publications (2)

Publication Number Publication Date
AU1244400A true AU1244400A (en) 2000-07-27
AU747081B2 AU747081B2 (en) 2002-05-09

Family

ID=25614847

Family Applications (1)

Application Number Title Priority Date Filing Date
AU12444/00A Ceased AU747081B2 (en) 1999-01-25 2000-01-17 A color space conversion apparatus

Country Status (1)

Country Link
AU (1) AU747081B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077604A (en) * 1989-10-30 1991-12-31 Asdg Incorporated Color printing, correction, and conversion apparatus and method
US5283671A (en) * 1991-02-20 1994-02-01 Stewart John R Method and apparatus for converting RGB digital data to optimized CMYK digital data
US5787193A (en) * 1996-09-27 1998-07-28 Xerox Corporation System for converting color image signals from RGB to CMY color spaces through look-up tables

Also Published As

Publication number Publication date
AU747081B2 (en) 2002-05-09

Similar Documents

Publication Publication Date Title
US5241373A (en) Apparatus for correction of color signal values
US5719956A (en) Image processing apparatus with separate color conversion for CMY signals and K signal
US5581376A (en) System for correcting color images using tetrahedral interpolation over a hexagonal lattice
JP3268512B2 (en) Image processing apparatus and image processing method
US5734802A (en) Blended look-up table for printing images with both pictorial and graphical elements
US5315415A (en) Color image processing apparatus
US5689350A (en) Color printer calibration method for accurately rendering selected colors
US5764795A (en) Color image processing apparatus for color matching and color matching processing method
EP1526712A1 (en) Method of converting color data
US5225911A (en) Means for combining data of different frequencies for a raster output device
EP0822708B1 (en) Apparatus for generating interpolator input data
WO1999010835A1 (en) Scanner calibration and correction techniques using scaled lightness values
US6775030B2 (en) Method of adapting a printing process while maintaining the black build-up
US5870077A (en) Method for tristimulus color data non-linear storage, retrieval, and interpolation
US5666437A (en) Apparatus for routing interpolator input data by performing a selective two&#39;s complement based on sets of lower and higher order bits of input data
JP3519230B2 (en) Color correction method for image data
AU747081B2 (en) A color space conversion apparatus
JP3354158B2 (en) Color correction device, color correction method, and color correction application device
JP2004038693A (en) Data converting method and image processing device
US6160635A (en) Color conversion method using ordered color signal interpolation
JPS58178355A (en) Method and device for digital color correction
JPH08212324A (en) Color signal conversion device
Kotera et al. A single chip color processor for device independent color reproduction
JPH11220630A (en) Method for generating three-dimensional look up table, image processor executing the same and digital color printer provided with the same
JP3514898B2 (en) Color conversion device and color conversion method

Legal Events

Date Code Title Description
FGA Letters patent sealed or granted (standard patent)