Publication number | USRE37940 E1 |

Publication type | Grant |

Application number | US 08/644,827 |

Publication date | Dec 24, 2002 |

Filing date | May 10, 1996 |

Priority date | Dec 20, 1990 |

Fee status | Paid |

Publication number | 08644827, 644827, US RE37940 E1, US RE37940E1, US-E1-RE37940, USRE37940 E1, USRE37940E1 |

Inventors | Kaoru Imao, Satoshi Ohuchi |

Original Assignee | Kaoru Imao, Satoshi Ohuchi |

Export Citation | BiBTeX, EndNote, RefMan |

Patent Citations (7), Non-Patent Citations (1), Referenced by (9), Classifications (13), Legal Events (1) | |

External Links: USPTO, USPTO Assignment, Espacenet | |

US RE37940 E1

Abstract

An interpolation method for color correction generates correction signals Y, M and C from input signals R, G and B through interpolation. In this interpolation method, a triangular prism is selected from plural unit triangular prisms in RGB space, based on x, y and z coordinates of the input signals, a gradient factor and an intercept factor of the selected prism are read out from a memory, and correction data corresponding to the input signals is calculated through interpolation using the gradient and intercept factors from the memory, so that the correction signals are generated based on the calculated correction data.

Claims(34)

1. An interpolation method for converting three-dimensional color separated input signals into three-dimensional color correction signals for use in an image data processing apparatus, comprising the steps of:

inputting three-dimensional color separated input signals produced within said image data processing apparatus from an original image to be reproduced;

selecting a triangular prism, based on x, y and z coordinates of said input signals, from a plurality of unit triangular prisms into which XYZ color space is divided;

reading out lattice point data of the selected triangular prism from a memory in which predetermined correction data is stored, which data corresponds to six lattice points of each of said plurality of unit triangular prisms;

calculating correction data, corresponding to the input signals, through interpolation of values of said six lattice point data read out from said memory; and

generating said correction signals based on said calculated correction data.

2. The interpolation method as claimed in claim 1 , wherein each of the lattice points of the plural unit triangular prisms lie on a square lattice or triangular lattice in XYZ space.

3. The interpolation method as claimed in claim 1 , wherein said input signals are color signals and yellow, magenta and cyan ink quantity signals are generated from red, green and blue input signals supplied by an input sensor when a color document is scanned.

4. The interpolation method as claimed in claim 3 , wherein said lattice point data of the selected triangular prism stored in said memory is loaded into a second memory when color correction is performed, said correction data being calculated through interpolation with reference to said lattice point data loaded in the second memory.

5. The interpolation method as claimed in claim 1 , wherein said calculation is performed by using a linear function including variables of correction data corresponding to lattice points in XYZ space, and linear function including correction factors whose values are determined through a least square method by using predetermined input data and output data.

6. A color correction method for generating three-dimensional color correction signals Y, M and C from three-dimensional color separated input signals R, G and B through interpolation for use in an image data processing apparatus, comprising the steps of:

inputting three-dimensional color separated input signals produced within said image data processing apparatus from an original image to be reproduced;

calculating a set of correction factors by applying a least square method based on a plurality of color pattern data which is printed with predetermined ink quantities, and based on density data obtained by color decomposition of said plurality of color pattern data;

determining correction signals Y, M and C, corresponding to six lattice points in RGB space, by using said calculated set of correction factors;

setting said correction signals Y, M and C, to a lattice point in RGB space when said lattice point is located in an area of RGB space in which the density data is lower than a predetermined level; and

setting said correction signals Y, M and C, to a lattice point in RGB space when said lattice point is not located in an area of RGB space in which the density data is lower than a predetermined level.

7. A color correction method for generating three-dimensional color correction signals Y, M and C from three-dimensional color separated input signals R, G and B through interpolation for use in an image data processing apparatus, comprising the steps of:

inputting three-dimensional color separated input signals produced within said image data processing apparatus from an original image to be reproduced;

calculating a set of correction factors by applying a least square method based on a plurality of color pattern data which is printed with predetermined ink quantities, and based on density data obtained by color decomposition of said plurality of color pattern data, said density data corresponding to a local area of RGB space in which a color difference between the original image and the reproduced image is appreciable;

determining correction signals Y, M and C, corresponding to six lattice points which are located in said local area of RGB space, by using said calculated set of correction factors; and

setting said correction signals Y, M and C, to said six lattice points located in said local area of RGB space.

8. The color correction method as claimed in claim 7 , wherein said local area of RGB space is an achromatic color area in which a color difference represented by max (R−G, G−B, B−R) is lower than a predetermined level.

9. The color correction method as claimed in claim 7 , wherein said local area of RGB space is highlighted area in which red, green and blue signals whose densities are lower than a predetermined threshold level.

10. An apparatus for converting three-dimensional color separated input signals into three-dimensional color correction signals, comprising:

a converting means for converting information obtained by said an image scanner into said input signals;

a memory means for storing a plurality of triangular prisms into which XYZ space is divided;

a selection means for selecting a triangular prism, based on x, y and z coordinates of said input signals from said plurality of triangular prisms stored in said memory means;

first interpolation means for generating first interpolated values within said triangular prism selected by said selection means;

second interpolation means for generating second interpolated values within a triangular section of said triangular prism selected by said selection means; and

calculating means for calculating said correction signals in accordance with said first and second interpolated values.

11. An interpolation method for converting three-*dimensional color separated input signals into signals of another color space for use in an image data processing apparatus, comprising the steps of: *

12. The interpolation method as claimed in claim 11 , wherein each of the lattice points of the plural unit triangular prisms lies on a square lattice or triangular lattice in the another color space.

13. The interpolation method as claimed in claim 11 , wherein said input signals are color signals and yellow, magenta and cyan ink quantity signals are generated from red, green and blue input signals supplied by an input sensor when a color document is scanned.

14. The interpolation method as claimed in claim 13 , wherein said lattice point data of the selected triangular prism stored in said memory is loaded into a second memory when color correction is performed, said correction data being calculated through interpolation with reference to said lattice point data loaded in the second memory.

15. The interpolation method as claimed in claim 11 , wherein said calculation is performed by using a linear function including variables of correction data corresponding to lattice points in the another color space, said linear function including correction factors whose values are determined through a least square method by using predetermined input data and output data.

16. The interpolation method of claim 11 , further comprising the step of storing the generated signals of another color space.

17. A color correction method for generating signals of a target color space from three-*dimensional color separated input signals through interpolation for use in an image data processing apparatus, comprising the steps of: *

18. A color correction method for generating signals of a target color space from three-*dimensional color separated input signals through interpolation for use in an image data processing apparatus, comprising the steps of: *

19. The color correction method as claimed in claim 18 , wherein said local area of the target color space is an achromatic color area in which a color difference between the original image and the reproduced image is lower than a predetermined level.

20. The color correction method as claimed in claim 18 , wherein said local area of the target color space is a highlighted area in which three-*dimensional signals have values lower than a predetermined threshold level.*

21. An apparatus for converting three-*dimensional color separated input signals into signals of another color space, comprising: *

22. An apparatus configured to convert three-*dimensional color separated input signals into signals of another color space, comprising: *

23. The apparatus of claim 22 , further comprising a sensor configured to generate the analog input signal, said sensor comprising at least one of a photoelectric element and a CCD.

24. The apparatus of claim 22 , wherein said first interpolation part comprises:

25. The apparatus of claim 24 , wherein said means for calculating comprises an adder, a subtractor and a multiplier.

26. The apparatus of claim 22 , wherein,

27. The apparatus of claim 26 , wherein said means for calculating comprises:

28. The apparatus of claim 22 , wherein said second interpolating part comprises:

29. The apparatus of claim 22 , wherein at least one adder, a multiplier and a subtractor are implemented in a CPU.

30. The apparatus of claim 22 , wherein said output includes at least one of an adder, a multiplier and a subtractor.

31. An apparatus configured to generate signals of a target color space from three-*dimensional color separated input signals through interpolation for use in an image data processing apparatus, comprising: *

32. The color correction apparatus of claim 31 , further comprising a picture processing part that performs color correction of the lattice point stored in the memory.

33. A color correction method for generating signals of a target color space from three-*dimensional color separated input signals through interpolation for use in an image data processing apparatus, comprising the steps of: *

34. A color correction method for generating signals of a target color space from three-*dimensional color separated input signals through interpolation for use in an image data processing apparatus, comprising the steps of: *

Description

The present invention generally relates to an interpolation method and a color correction method using interpolation, and more particularly to an interpolation method and a color correction method using interpolation in which yellow, magenta and cyan signals are generated from red, green and blue input signals. The methods are applicable to color copiers and color facsimile machines.

A linear masking techniques is known as a conventional color correction method. In this linear masking method, yellow, magenta and cyan ink quantity signals Y, M and C are obtained from red, green and blue input concentration signals R, G and B, and a relationship between the ink quantity signals and the input signals is represented by the following formula.

In the formula (1), a**10** through a**33** are correction coefficients whose values can be determined through a beast square method on measurement data obtained by scanning several color pattern data.

Although this linear masking technique is useful and application of the linear masking allows small-size color correction hardware to be designed, it is difficult to achieve accurate color correction when the linear masking technique is applied, because the ink quantity signals are very roughly defined in formula (1). In order to achieve accurate color correction, it is necessary to use a non-linear masking technique in which 2nd-order terms such as R^{2}, R G, or G B are additionally incorporated in formula (1). In another case, higher-order terms are further incorporated for achieving very accurate color correction, and reproducing color images closely resembling the originals. When the non-linear masking technique is used, a relationship between the ink quantity signals Y, M and C and the input signals R, G and B is represented as follows.

In formula (2), a multiplication sign “x” is omitted, a**10** through a**39** are correction coefficients whose values are predetermined through a least square method based on measurement data obtained by scanning a number of color patterns, and “R * 2”, for example, denotes the square of R.

Other conventional interpolation methods are applied to the color correction method in which color correction is carried out using interpolation so as to generate yellow, magenta and cyan ink quantity signals Y M and C from the input data of red, green and blue concentration signals R, G and B. In a first method of the conventional interpolation methods, RGB space is divided into plural unit cubes, color correction data is predetermined with respect to eight lattice points of each of the unit cubes, and color correction values corresponding to input RGB signals at intermediate points between two of the lattice points, are obtained through **8**-point linear interpolation which is done using the predetermined correction data. When the linear interpolation is performed, it is required to calculate eight products and sums with the data. This first method has a problem in that it requires a long processing time for color correction and relatively complicated hardware. Also, in the case of the first method there is a problem in that on boundaries between adjacent unit cubes there exists a discontinuity in interpolation values calculated by the linear interpolation procedure.

A second interpolation method was proposed in order to eliminate the above described problems of the first method. For example, Japanese Patent Publication No. 58-16180 discloses such an interpolation method. In this second method, RGB space is divided into plural unit cubes and each of the unit cubes is further divided into plural small tetrahedrons. Color correction data is predetermined with respect to four vertex points of each of the tetrahedrons, and it is stored in a memory. A unit cube is selected from among the plural unit cubes based on the higher bits of data of input RGB signals (the higher bits denote, e.g., the most significant four bits of 8-bit data), and one tetrahedron is selected from the plural tetrahedrons included in the selected unit cube, based on the lower bits of data of the input RGB signals (the lower bits denote, hereinafter, e.g., the least significant four bits of 8-bit data). Color correction values corresponding to the input RGB signals are obtained, using the stored correction data, through linear interpolation with respect to the vertex points of the selected tetrahedron. Although the second method can be carried out by using a calculation formula which is simpler than that of the first method using 8-point interpolation, there is a problem in that hardware to which the second method is applied must have a relatively great size because of a relatively large number of multipliers required for calculating the color correction values.

Also, in order to eliminate the above described problems of the first method, a third interpolation technique was proposed. For example, Japanese Laid-Open Patent Application No. 2-206973 and “Color Correction of Color Hardcopy by Interpolation using 4-neighborhood Points” by K. Kanamori and H. Kotera, from a transaction of Institute of Picture Electronics Engineers of Japan (Gazou Denshi Gakkai-Shi), vol.10, no.5, 1989, p.319-328, disclose this third interpolation method. In this third method, RGB space is divided into plural unit cubes, each of the unit cubes is further divided into five small tetrahedrons, and color correction factors, which are predetermined with respect to four vertex points of each of the tetrahedrons, are stored in a memory. Based on the higher bits of data of input RGB signals, a unit cube is selected from the plural unit cubes, and one tetrahedron is selected from the plural tetrahedrons included in the selected unit cube based on the lower bits of data of the input RGB signals. Color correction values corresponding to the input RGB signals are obtained through multiplication/addition calculations done, using the stored color correction factors, with respect to the selected tetrahedron and the data of the input RGB signals. Although hardware for carrying out the third method uses only three multipliers and three adders, and the required hardware is of simple construction, there is a problem in that all the bits of data of input RGB signals are input to the multipliers, and the multipliers must have relatively great size.

In the above conventional interpolation methods, Y, M and C correction values, corresponding to lattice points on each tetrahedron, are determined by calculating, through a least square method, correction factors included in a non-linear function such as that represented by formula (2). The YMC correction values corresponding to the lattice points can be determined appropriately only if the number of small tetrahedrons into which RGB space is divided is great enough. Thus, only if such a condition is satisfied, the interpolation can be done within unit regions, so as to achieve very accurate color correction results. If the number of small tetrahedrons is not great enough, it is difficult to achieve accurate color correction through the above interpolation techniques. Also, in the cases of the above techniques, the YMC correction values corresponding to the lattice points of the tetrahedrons are determined regardless of whether or not the number of such tetrahedrons is large enough.

For determining the correction coefficients through the least square method, the above described methods use reference ink quantity signals measured by scanning color patterns which are printed with predetermined ink quantities, and concentration data obtained by decomposing the scanned data of the color patterns. The concentration data from the scanned color data is gathered densely in a diagonally extending central area of RGB space, which contains a diagonal line (R=G=B), and which concentration data does not exist uniformly in RGB space. The concentration data exists sparsely in peripheral areas of RGB space, which areas are located in RGB space at corners and peripheral portions distant from the diagonal line. FIG.1A shows such a distribution of the concentration data obtained from the printed color patterns in RGB space. In FIG.1A, concentration data **12** is gathered densely in a diagonally extending central area of RGB space adjacent to a diagonal like **11** (R=G=B) and little concentration data exists in peripheral areas of RGB space when the concentration data is obtained by scanning printed color patterns.

When approximate Y, M and C ink quantity signals are obtained by the non-linear function being applied to the whole of RGB space using the concentration data from the color patterns, there is a problem in that an excessively large amount of data is generated and in that divergence may occur with respect to lattice points, in the peripheral areas of RGB space, where the concentration data exists sparsely. Generally, a region in which concentration data generated from printed data exists is narrower than that in which concentration data generated from photographic data exists. FIG.1B shows a distribution of concentration data generated by scanning photographic data. In FIG.1B, the concentration data from the photographic data exists in a wider region of the RG plane, approaching the peripheral portions thereof, as indicated by a dotted line **13** in FIG.**1**B. In such a case, if Y, M and C ink quantities are preset with respect to lattice points in the peripheral areas as in the above conventional methods, there is a problem in that an irregularly corrected or unusual color may appear in the reproduced image. Such peripheral areas of RGB space are indicated by shading lines in FIG.**2**.

When the above conventional methods are used, color reproduction error and/or concentration difference can be reduced uniformly in the whole of RGB space. Such concentration difference, however, is not always lower than a prescribed level in local areas such as achromatic color areas or highlighted areas where a difference between original color and reproduced color is especially appreciable. Thus, there is a problem in that the conventional methods do not necessarily provide high-quality reproduced images.

Accordingly, it is a general object of the present invention to provide an improved interpolation and color correction method in which the above described problems of the conventional methods are eliminated.

Another and more specific object of the present invention is to provide an interpolation method which realizes a color correction hardware of simple structure, and carries out accurate color correction using a memory of small storage capacity.

Still another object of the present invention is to provide an interpolation method of the space-division type in which lattice point is appropriately predetermined corresponding to lattice points in RGB space.

A further object of the present invention is to provide a color correction method which improves the quality of a reproduced image corresponding to a peripheral area of RGB space.

A further object of the present invention is to provide a color correction method which improves the quality of a reproduced image corresponding to a local area of RGB space in which a color difference between the original image and the reproduced image is appreciable.

The above mentioned objects of the present invention can be achieved by an interpolation method for converting input color signals into correction signals, which comprises the steps of selecting a triangular prism based x, y and z coordinates of the input signals from plural unit triangular prisms into which XYZ space is divided, reading out lattice point data of the selected triangular prism from a memory in which predetermined correction data is stored, the correction data corresponding to lattice points of each of the plural unit triangular prisms, and calculating correction data corresponding to the input signals through interpolation of values of the lattice point data read out from the memory so that the correction signals are generated based on the calculated correction data. According to the present invention, it is possible to realize color correction hardware of simple construction and carry out accurate color correction using a memory of small storage capacity.

The above mentioned objects of the present invention can also be achieved by a color correction method for generating color correction signals Y, M and C from input signals R, G and B through interpolation, which comprises the steps of calculating a set of correction factors included in a linear function and a set of correction factors included in a non-linear function through a least square method based on plural color pattern data which is printed with predetermined ink quantities, and based on density data obtained by color decomposition of the plural color pattern data, determining correction signals Y, M and C, corresponding to lattice points in RGB space by using either the linear of the non-linear function including the calculated set of correction factors, setting the correction signals Y, M and C, determined by using the linear function, to a lattice point in RGB space when the lattice point is located in an area of RGB space in which the density data is lower than a predetermined level, and setting the correction signals Y, M and C, determined by using the non-linear function, to a lattice point in RGB space when the lattice point is not located in an area of RGB space in which the density data is lower than a predetermined level. According to the present invention, it is possible to attain high quality of reproduced image corresponding to a local area of RGB space in which a color difference between the original image and the reproduced image is appreciable.

Other objects and further features of the present invention will be apparent from the following detailed description when read in conjunction with the accompanying drawings.

FIGS. 1A and 1B are diagrams for explaining a distribution of concentration data in RGB space, the concentration data being obtained from printed data and photographic data;

FIG.2 is a diagram showing peripheral areas of RGB space in which an irregularity is likely to appear in a reproduced image;

FIG.3 is a block diagram showing a construction of a color correction apparatus to which an embodiment of the present invention is applied;

FIG.4 is a diagram for explaining a method of dividing XYZ space into unit triangular prisms;

FIG.5 is a diagram for explaining interpolation which is done in a triangular prism;

FIG.6 is a diagram for explaining interpolation which is done on a triangular section of a triangular prism;

FIGS.7A and 7B are diagrams for explaining two types of space division methods to divide three-dimensional space into type-1 unit triangular prisms and divide the same into type-2 unit triangular prisms;

FIGS.8A and 8B are diagrams for explaining a selection process according to the invention for selecting a type-1 triangular prism based on input signals;

FIG.9 is a diagram for explaining a signal generating process in which a select signal is generated for selecting a type-1 triangular prism;

FIGS.10A and 10B are diagrams for explaining a selection process according to the invention to select a type-2 triangular prism based on input signals;

FIG.11 is a diagram for explaining a signal generating process in which a select signal is generated for selecting a type-2 triangular prism;

FIG.12 is a chart for explaining a linear interpolation done in a triangle;

FIG.13 is a diagram for explaining a linear interpolation done in a triangle section of a selected type-1 triangular prism;

FIG.14 is a diagram for explaining a linear interpolation done in triangle sections **0** to **3** of a selected type-2 triangular prism;

FIG.15 is a block diagram showing a construction of a color correction apparatus in a second embodiment of the present invention;

FIG. 16 is a block diagram showing a construction of a color correction apparatus in a third embodiment of the present invention;

FIG. 17 is a diagram for explaining a setting method for presetting output data corresponding to lattice points of a triangular prism in RGB space;

FIG. 18 is a block diagram showing a construction of a color copier to which the color correction method using interpolation of the present invention is applied;

FIG. 19 is a diagram showing an example of output data when color pattern data is scanned;

FIG. 20 is a diagram showing a neighborhood area in G-R plane which contains a subject lattice point;

FIG. 21 is a diagram showing lattice points located in an achromatic color area in the G-R plane; and

FIG. 22 is a diagram showing lattice points located in a highlighted area in the G-R plane.

A description will now be given of a method of dividing XYZ space into plural unit triangular prisms according to the present invention, with reference to FIGS.4 through 6. In FIG.4, XYZ space is divided into plural unit triangular prisms, and in FIG.5, each of the triangular prisms has six vertex points to which six predetermined output values correspond. When an output data P needs to be obtained from input data having x, y and z coordinates, a unit triangular prism containing the x, y and z coordinates of the input data is selected from the plural triangular prisms. The output data P is then determined through linear interpolation, based on predetermined output values corresponding to vertex points of the selected unit triangular prism. When the above interpolation is applied to color correction, RGB space in which a point can be defined by red, green and blue input signals corresponds to XYZ space mentioned above. In the case of a four-color image recording device, the output data P mentioned above corresponds to a set of yellow, magenta, cyan and black output signals.

FIG.5 shows a unit triangular prism for explaining linear interpolation according to the present invention, which is performed on ridges of the triangular prism. In FIG.5, output values Pi(i=1 to 6), with respect to six vertex points of a unit triangular prism **32** are predetermined. A triangle section **31** including x, y and z coordinates (unknown) of the output data P, and Pa, Pb and Pc being output values corresponding to points on ridges of the triangular prism **31** which are intersected by the triangle section **32**. According to the present invention, the value of Pa is obtained through linear interpolation based on a ratio in length of a line segment P**1**-Pa to a line segment Pa-P**2**, as follows.

**1** p**2**+m**2** P**2**)/(m**1**+m**2**) (3)

In the above formula, ml is the length of the segment P**1**-Pa and m**2** is the length of the segment Pa-P**2**. The values of Pb and Pc are obtained through linear interpolation based on a corresponding segment ratio in a similar manner.

FIG.6 is a diagram for explaining a method of determining the output data P through linear interpolation based on the known values Pa, Pb and Pc previously obtained. In FIG. 6, a triangle ABC, which is equivalent to the triangle section **31** in FIG.5, is divided into three small triangles PBC, PCA and PAB whose areas are equal to Sa, Sb and Sc respectively. The x, y and z coordinates of the output data P are determined through linear interpolation, based on the ratio of areas of the three triangles. According to the present invention, it is assumed that the area Sa of the triangle PBC denotes a weight of Pa in relation to the output data P, the area Sb of the triangle PCA denotes a weight of Pb in relation to the output data P, and the area of Sc of the triangle PAB denotes a weight of Pc in relation to the output data P. Thus, the output data P is represented by the following formula.

The above interpolation is done based on the ratio in area of the small triangles to the triangle ABC, and the calculation of the interpolation based on a ratio such as that of the triangle areas shown in FIG.6 is equivalent to the determination of the output data P based on a plane equation that is satisfied by x, y and z coordinates of the three points A, B and C. FIG.7A shows the above method for dividing three-dimensional space into plural unit triangular prisms, and such unit triangular prisms are called hereinafter type-1 triangular prisms. FIG.7B shows another method for dividing three-dimensional space into plural unit triangular prisms, and such unit triangular prisms obtained by the space-division method are called hereinafter type-2 triangular prisms.

Next, a description will be given of a construction of a color correction apparatus to which the present invention is applied, with reference to FIG.**3**. The color correction apparatus shown in FIG.3 obtains a yellow ink quantity signal Y from input density signals X, Y and Z (which are, for example, red, green and blue signals R, G and B), and outputs the yellow ink quantity signal Y. Similarly, it is possible to construct a color correction apparatus for outputting magenta and cyan ink quantity signals M and C. In FIG.3, a selection/memory part **100** selects a triangular prism based on the input density signals X, Y and Z, and reads out gradient factors “ai” (i=1 to 3) and intercept factors “bi” (i=1 to 3) with respect to three ridges in the selected prism from memories of the selection/memory part **100**. A first interpolation part **200** includes three multipliers **201** and three adders **202**, and performs interpolation calculations on the selected prism based on the gradient factors “ai” and the intercept factors “bi” from the selection/memory part **100**.

A second interpolation part **300** includes two subtracters **301**, **302**, a multiplexer **303**, two multipliers **304**, **305** and an adder **306**, and performs interpolation calculations of a triangle section of the selected prism which section is selected based on output data from the first interpolation part **200**. Data “Pb-Pa” supplied by the subtracter **301** and data “Pc-Pb” supplied by the subtracter **302** are the input to the multiplexer **303**, and the multiplexer **302** outputs signals indicative of correction factors a and b to the multipliers **304** and **305**, respectively.

Generally, XYZ space is divided into plural unit cubes (2^{3n }cubes), and x, y and z coordinates of XYZ space are divided into plural unit segments (2^{n }unit segments ). Input signals X, Y and Z each having “f” bits are represented by

__d__x, Y=y+__d__y, Z=z+__d__z (5)

In the above representation of the input signals X, Y and Z, it is assumed that x, y and z denote data at higher bits of the signals X, Y and Z, the number of higher bits indicated by “n”, and __d__x, __d__y and __d__z denote data at lower bits of the signals X, Y and Z, the number of lower bits indicated by “f-n”. A unit cube is selected from the plural unit cubes based on the data (x, y, z) at higher bits of the signals X, Y and Z, and relative positions in the selected cube are obtained based on the data (__d__x, __d__y and __d__z) at lower bits of the signals X, Y and Z. For example, the higher bits of the signals denote the most signification four bits and the lower bits of the signals denote the least significant four bits.

Next, a detailed description will be given of a selection method for selecting type-1 triangular prisms, with reference to FIGS. 8A, **8**B and **9**. FIG. 8A shows a unit cube selected from the plural unit cubes based on the data (x, y, z) at higher bits of the input signals X, Y and Z, and FIG. 8B shows two triangular prisms in a top view of the selected unit cube having four ridges A, B, C and D (which extend vertically along the Z axis in XYZ space). In this case, the two ridges A and C, to form part of a triangular prism to be selected, are chosen based on the data (x, y, z) at higher bits of the input signals X, Y and Z, the remaining ridge (B or D), to form part of the triangular prism, is chosen based on the data (x, y, z) at higher bits of the signals X, Y and Z and based on the relationship in magnitude between the data (__d__x, __d__y) at lower bits of the signals X and Y. For example, if __d__x≧__d__y, the ridge B is chosen as the remaining ridge of the triangular prism to be selected.

FIG. 9 shows a detailed structure of the selection/memory part **100** for generating a select signal to select the type-1 triangular prism based on the input signals X, Y and Z. The selection/memory part **100** includes two memories **71** and **72**. Based on the data (x, y, z) at higher bits of the input signals, predetermined ridge data is read out from the memory **71**, and the two ridges (A, C) of the triangular prism are selected. Based on the data (x, y, z) at higher bits of the input signals and a relationship in magnitude between the data (__d__x, __d__y) at lower bits of the input signals, predetermined ridge data is read out from the memory **72**, and the remaining ridge of the triangular prism is selected. For example, if __d__x≧__d__y, predetermined ridge data for selecting the ridge B as the remaining ridge which forms part of the triangular prism “ABC” is read out from the memory **72**. If __d__x<__d__y, predetermined ridge data to select the ridge D a the remaining ridge to form the triangular prism “ACD” is read out from the memory **72**. From such ridge data, the selection/memory part **100** generates a select signal to indicate whether the triangular prism “ABC” or the triangular prism “ACD” is selected.

In addition, a detailed description will be given of a selection method for selecting type-2 triangular prisms, with reference to FIGS.10A, **10**B and **11**. Similarly to the type-1 method described above, FIG.10A shows a unit cube selected from the plural unit cubes based on the data (x, y, z) at higher bits of the input signals X, Y and Z. FIG.10B shows four triangular prisms in a top view of the selected unit cube. Each of the triangular prisms has a center ridge E passing through a center line extending vertically along the Z axis in XYZ space. The ridge E of each of the triangular prisms is chosen based on the data (x, y, z) at higher bits of input signals X, Y, Z. The remaining two ridges which form part of each of the triangular prisms are chosen based on the data (x, y, z) at higher bits of the signals X, Y, Z and based on the relationship between the data (__d__x, __d__y) at lower bits of the signals X, Y.

FIG.11 shows a detailed structure of the selection/memory part **100** for generating a select signal to select type-1 triangular prisms, based on the input signals X, Y and Z. This selection/memory part **100** includes three memories **91**, **92** and **93**. Based on the data (x, y, z) at higher bits of the input signals, predetermined ridge data is read out from the memory **91** so as to select the center ridge E of each of the type-2 triangular prisms. Based on the data (x, y, z) at higher bits of the input signals and a relationship in magnitude between the data (__d__x, __d__y) at lower bits thereof, predetermined ridge data is read out from the memory **92** so as to select the second ridge B to form part of the triangular prism of __d__x≧__d__y, or so as to select the second ridge D to form part of the triangular prism if __d__x<__d__y. Similarly, based on the data (x, y, z) at the higher bits of the input signals and a relationship indicated by the data (__d__x, __d__y) at the lower bits thereof, predetermined ridge data is read out from the memory **93** so as to select the remaining ridge C to form part of the prism if __d__x+__d__y≧1, or so as to select the remaining ridge A if __d__x+__d__y<1. From these ridge data, the selection/memory part **100** generates a select signal to select the triangular prism “ABE”, “BEC”, “CED” or “AED”.

The capacity of the memories required when the type-2 method is applied is smaller than the capacity of the memories required when the type 1 method is applied, if the number of lattice points is the same for the two methods. Application of the type-2 method is advantageous for a color copier in which high-speed processing is needed. In the following description, will be described a case in which the type-1 method is applied. A case in which the type-2 method is applied is essentially the same as the type-1 method case, but only the values of the coefficients a, b, c, when the interpolation is done on a triangle section by applying the type-1 method, differ from those values of the coefficients obtained by applying the type-2 method.

Before interpolation is done in a triangle section of a selected triangular prism, it is necessary to decide what data is predetermined with respect to each unit triangular prism stored in the selection/memory **100**. There are two methods which are usable for this purpose. One of the two methods is to predetermine the respective output values with respect to six vertex points of each unit triangular prism and store them beforehand in the selection/memory part **100**. In such a case, when it is assumed that two output values Pl and P**2** are predetermined with respect to two vertex points of a ridge of a selected unit triangular prism, output data Pa corresponding to the data __d__z at the lower bits of input signal Z is obtained, as follows.

__d__z(P2−P1) (6)

The above is shown in FIG.**12**. The other output data pb and Pc, Corresponding to the data __d__x and __d__y at the lower bits of the input signals X and Y, are obtained in a similar manner.

When it is assumed that two output values P**1** and P**2** ar predetermined with respect to two vertex points of one ridge of a selected unit triangular prism, this second method is to predetermine a gradient factor “ai” (which corresponds to (P**2**−P**1**)) and an intercept factor “bi” (which corresponds to P**2**), and store these factors beforehand in the selection/memory part **100**. This second method has an advantageous feature that no subtracter is needed for calculating the data corresponding to (P**2**−P**1**). Thus, this second method is used by the interpolation method of the invention.

As shown in FIG.3, in the selection/memory part **100** and the first interpolation part **200** of the invention, a triangular prism is chosen based on the data (x, y, z) at the higher bits of the input signals X, Y and Z and based on the data (__d__x, __d__y, __d__z) at the lower bits thereof. The selection/memory part **100** reads out, from the memories thereof, a set of signals indicating gradient and intercept factors (a**1**, b**1**), (a**2**, b**2**) and (a**3**, b**3**) with respect to first, second and third ridges of the selected unit triangular prism, and supplies the signals indicating these factors to the first interpolation part **200**. Based on the signals supplied by the selection/memory part **100**, the first interpolation part **200** calculates Px=ai __d__z+bi (i=1, 2, 3; Px=Pa, Pb, Pc), and outputs the resulting data Pa, Pb, Pc obtained through linear interpolation on the ridges of the unit triangular prism.

The second interpolation part **300**, as shown in FIG.3, generates the final output data P through linear interpolation based on the segment ratios which are obtained from the output data Pa, Pb and Pc supplied by the first interpolation part **200**. FIG.13 is a diagram for explaining linear interpolation which is done in a triangle section of a selected type-1 triangular prism. As shown in FIG.13, if __d__x>__d__y, the output data P lies within a triangle section **1** of the unit triangular prism “ABC”, and the output data P is obtained through linear interpolation in the triangle section **1** as follows.

__d__x+(Pc−Pb)__d__y+Pa (7)

Similarly, if __d__x<__d__y, the output data P lies within a triangle section **2** of the unit triangular prism “ACD” and the output data P is obtained through linear interpolation in the triangle section **2** as follows

__d__x+(Pb−Pa)__d__y+Pa (8)

As shown in FIG.3, in the second interpolation part **300** of the invention, the subtracters **301** and **302** calculate difference data (Pb−Pa) and (Pc−Pb), from the output data Pa, Pb, Pc supplied by the first interpolation part **200**, and the calculated data (Pb−Pa) and (Pc−Pb) are supplied to the multiplexer **303**. The multiplexer **303** performs different operations depending on control signal indicating __d__x≧__d__y or __d__x<__d__y. If __d__x __d__y __d__x≧__d__y, the multiplexer **303** supplies difference data (Pb−Pa) and (Pc−Pb) to the multipliers **304** and **305**. Data equivalent to (Pb−Pa) __d__x is supplied by the multiplier **304** and data equivalent to (Pc−Pb) __d__y is supplied by the multiplier **305** to the adder **306**. And, the final output data P is generated by the adder **306** from the data from the multipliers **304** and **305** and the adder **202**. If __d__x<__d__y, the multiplexer **304** supplies difference data (Pc−Pb) and (Pb−Pa) to the multipliers **304** and **305**. Data equivalent to (Pc−Pb) __d__x is supplied by the multiplier **304** to the adder **306** and data equivalent to (Pb−Pa) __d__y is supplied by the multiplier **305** to the adder **306**. And, the final output data P is generated by the adder **306** from the data generated by the multipliers **304**, **305** and the adder **202**. The output data P corresponds to, for example, a yellow signal Y indicating yellow ink quantity. By means of color correction devices having the same construction as that shown in FIG.3, magenta and cyan signals indicating magenta and cyan ink quantities can be generated.

The above linear interpolation calculated by the second interpolation part **300** can be represented by a formula: P=__ad__x+__bd__y+__c__. The coefficients, __a__, __b__ and __c__ in the above case differ from those when the linear interpolation is calculated with respect to type-2 unit triangular prisms. FIG. 14 is a diagram for explaining linear interpolation done in triangle sections “0” to “3” of the type-2 triangular prisms, and the coefficients __a__, __b__ and __c__ used in the formula in this case are as follows. It is assumed that output data corresponding to vertex points A, B and C of each of the triangle sections are Pa, Pb and Pc, respectively. The coefficients __a__, __b__ and __c__ in the triangle section “0” corresponds to the data (Pb−Pc), (2Pa−Pb−Pc) and (Pc), the __a__, __b__ and __c__ in the triangle section “1” correspond to the data (2Pa−Pb−Pc), (Pb−Pc) and (Pc), the __a__, __b__ and __c__ in the triangle section “2” correspond to the data (Pb+Pc−2Pa), (Pc−Pb) and (2Pa−Pc), the __a__, __b__ and __c__ in the triangle section “3” correspond to the data (Pc−Pb), (Pb+Pc−2Pa) and (2Pa−Pc), respectively. The above linear interpolation is calculated by applying these coefficients to the triangle sections “0” to “3”.

Next, a description will be given of a lo color correction apparatus in a second embodiment of the present invention, with reference to FIG.**15**. In FIG.15, this color correction apparatus includes a read-only memory (ROM) **131**, an interpolation part **132** having a random access memory (RAM) **133**, a Y signal part **134**, an M signal part **135** and a C signal part **136**, and a central processing unit (CPU) **137**. In the ROM **131**, predetermined output data corresponding to lattice points in a triangular prism is stored. For example, when input signals X, Y and Z are divided into four parts, the output data stored in the ROM **131** has a storage capacity equivalent to 64 bytes per color signal. The interpolation part **132** having a construction like that of the first interpolation part **200** or the second interpolation part **300** shown in FIG.3 loads the predetermined lattice point data corresponding to the lattice points, stored in the ROM **131**, into the RAM **133** when color correction is started. By making reference to the data loaded in the RAM **133**, the Y, M and C signal parts **134**, **135** and **136** generate yellow, magenta and cyan output signals Y, M, C based on the input signals R, G and B. The CPU **137** is a main control part of the apparatus shown in FIG.15 for controlling operations of the interpolation part **132** and the ROM **131**.

In this second embodiment, a case is considered in which simultaneous access is given to the data in the ROM **131** corresponding to adjacent lattice points of a triangular prism. When color correction is performed, an overlaying part of the lattice point data (equivalent to storage capacity of 512 bytes) in the ROM **131** is loaded into the RAM **133** by the interpolation part **132**. According to this second embodiment, it is possible to store the lattice point data having a very small storage capacity in the ROM **131**, thus allowing a read-only memory having a small storage capacity to be used.

FIG.16 shows a color correction apparatus is a third embodiment of the present invention. In FIG.16, this color correction apparatus has a construction that is essentially the same as the second embodiment described above, except that the color correction apparatus shown in FIG.16 includes a picture processing part **138** For example, this picture processing part **130** performs color correction or adjustment of the lattice point data stored in the ROM **131**, thereby allowing the color correction apparatus of the third embodiment to perform color correction flexibility.

Next, a description will be given of a color correction apparatus in a fourth embodiment of the present invention. In the above mentioned embodiments, lattice point data Pi (i=1 to 6) corresponding to lattice points of a triangular prism are predetermined. However, in this fourth embodiment, a setting method to predetermine output data corresponding to lattice points of a triangular prism is used for interpolation, and this setting method can be used appropriately with space division type interpolation. The conventional setting method described above is selected and used so as to achieve accurate interpolation results within unit regions, but such results are realized only when the number of tetrahedrons into which XYZ space is divided is large enough. If XYZ space is divided into a very small number of tetrahedrons, the conventional setting method does not achieve accurate interpolation results. Also, the conventional method has a problem in that the YMC correction values corresponding to the lattice points of the tetrahedrons are predetermined regardless of whether or not the number of such tetrahedrons is large enough.

The setting method according to the present invention is used suitably in a space-division type interpolation as mentioned above. This setting method can produce accurate interpolation results even when XYZ space is divided into a small number of triangular prisms. A detailed description of this setting method will now follow. It is to be noted that the present invention is not limited to this embodiment, but applicable to 8-point or 4-point interpolation.

In a known digital color copier, a gamma conversion is performed of color pattern data which is previously classified in 16 stages as input data, and a half tone process of such a conversion data is performed so as to generate output signals Y, M and C with 256 halftone data. A hardcopy is produced by the output signals Y, M and C with 256 halftone data. This hardcopy is scanned by a scanner, and density data (R, G, B) is measured from the scanned data for each hardcopy. A relationship between the output signals (Yp, Mp, Cp) and the density data (Rp, Gp, Bp) is thus obtained (p: color patch number). A set of coefficients of a linear function is obtained by applying the least square method to small unit regions. Such coefficients are used in the linear function, and output data corresponding to lattice points in the unit regions is calculated and predetermined by using the linear function including the coefficients.

More specifically, X, Y and Z axes are divided respectively into L segments, M segments and N segments so that XYZ space is divided into plural rectangular parallelopipeds. Each of them is further divided into two halves so that two unit triangular prisms are formed. Assuming that values of input coordinates x, y and z range from 0 to 255, the lengths of three ridges of each unit triangular prism along X, Y and Z axes are respectively represented by dx=256/L, dy=256/M, dz=256/N. In this embodiment, lattice point values Pi,j,k (i=0 to L, j=0 to M, k=0 to N, P=Y, M or C) corresponding to lattice points of a unit triangular prism are predetermined. The x, y and z coordinates of the lattice point data Pi,j,k are represented as follows.

__d__x, j __d__y, k __d__z) (9)

Suppose the following equations:

__d__x)/__d__x,

__d__y)/__d__y,

__d__z)/__d__z (10)

A function D(**1**) ijk is defined in such a way that D(**1**) ijk is equal to **1** when a point at x, y, z coordinates is located within a unit triangular prism including a point (i __d__x, j __d__y, k __d__z) as the starting point, and D(**1**) ijk is equal to ) when the point at x, y, z coordinates is located outside the unit triangular prism **1**. Thus, the area in which D(**1**) ijk=1 is satisfied is represented by

__d__x≦x<(i+1)__d__x,

__d__y≦y<(j+1)__d__y,

__d__z≦x<(k+1)__d__z,

The area represented by the above formula (11) is included in either the triangular prism ABC shown in FIGS.8A and 8B, or the triangle section **1** shown in FIG.13. A function D(**2**) ijk is defined in such a way that D(**2**) ijk is equal to 1 when a point x, y, z coordinates in XYZ space is located within an area of a unit triangular prism **2** including a point (i __d__x, j__d__y, k__d__z) as the starting point, and D(**2**) ijk is equal to 0 when the point at x, y, z coordinates in XYZ space is located outside the unit triangular prism **2**. Thus, the area in which D(**2**) ijk=1 is satisfied is represented by

__d__x≦x<(i+1)__d__x,

__d__y≦y<(j+**1**)__d__y,

__d__z≦x<(k+1)__d__z,

The area of XYZ space represented by the formula (12) is included in either the triangular prism ACD shown in FIGS.8A and 8B, or the triangle section **2** shown in FIG.**13**.

FIG.17 shows a unit triangular prism in which D(**1**) ijk=1 (dy ijk<dx ijk) is satisfied. The lattice point data corresponding to the six lattice points of the unit triangular prism is shown in FIG.**17**. Output data Pa, Pb and Pc included in an intersecting plane between the triangular prism and a triangle section that satisfies x, y and z coordinates of the output P, are obtained through interpolation in a ridge of the triangular prism based on the lattice point data, as follows.

Hence, the output P is obtained through linear interpolation which is done in a triangle section based on the output data Pa, Pb and Pc which are calculated by the formula (13), as follows.

The above formula (14) can be rewritten as follows.

A similar calculation with respect to another unit triangular prism that satisfied D(**2**) ijk=1 (dy ijk≧dx ijk) can also be made, and the output P is represented using D(**1**) ijk and D(**2**) ijk, as follows.

The above formula is a linear function expressed in a linear form of the lattice point data Pi,j,k, as indicated in the formula (16), and the least square method is suitably applicable to this linear function. This means that the coefficients of the linear function ar determined through the least square method by using the results of the color pattern data, and the lattice point values are calculated by using the linear function including the coefficients thus determined.

Generally speaking, in the above relationship between the output signals (Yp, Mp, Cp) and the density data (Rp, Gp, Bp), some density data do not exist continuously in RGB space and there are unit areas of RGB space in which no corresponding data exists. In such areas of RGB space, no solution of the output P can be obtained. To avoid this problem, it is necessary to insert supplementary data in such areas of RGB space. According to the present invention, supplementary data obtained from a non-linear function is inserted in corresponding unit areas in which little output data exists, and supplementary data obtained from a linear function is inserted in corresponding unit areas in which no output data exists.

Next, a description will be given of a fifth embodiment of the present invention. The color correction method in this fifth embodiment is directed to improvement of the quality of reproduced images whose coordinates lie in peripheral areas of RGB space. FIG.18 shows a construction of a color copier to which the present invention is applied. In lo FIG.18, an input sensor **161** has photoelectric conversion elements such as charge-coupled devices (CCDs), and this input sensor scans a color document by scanning light so that red, green and blue input signals (R, G, B) are generated by the input sensor **161** from the scanned color document. An analog-to-digital converter (A/D converter) **162** converts the analog signals (R, G, B) from the input sensor **161** into digital signals, which are, for example, 8-bit digital signals. A log converter **163** performs conversion of the density of the digital RGB signals from the A/D converter **162** to output density data R, G, B.

A color correction circuit **164** in the color copier shown in FIG.18 is a circuit to which the color correction method of the invention is applied. This color correction circuit **164** generates Y, M, C ink quantity signals based on the R, G, B density data supplied by the log converter **163**. More specifically, RGB space is divided into plural unit cubes, and color correction data with respect to eight lattice points of each of the unit cubes is predetermined through the least square method. Such predetermined color correction data (Y, M and C values) corresponding to the eight lattice points of each unit cube are stored beforehand in a memory or table. Color correction values corresponding to input RGB signals whose density data is located at intermediate points between two lattice points of each unit cube, are obtained through linear interpolation of the predetermined color correction values stored in the memory so that Y, M and C ink quantity signals are generated by the color correction circuit **164**.

A UCR circuit **165** in the color copier shown in FIG.18 is a circuit which performs under-color removal process. This UCR circuit **165** generates Y**1**, C**1** and M**1** ink quantity signals, to which the under-color removal process is performed partially or totally, and generates a K**1** black ink quantity signal, based on the Y, M and C signals supplied by the color correction circuit **165**. The ink quantity signals Y**1**, M**1**, C**1** and K**1** generated by the UCR circuit **165** are represented by the following formulas.

__a__=min(Y,M,C),

In the formulas (17), a is a given coefficient which is equal to, for example, 0.5. The UCR circuit **165** allows the reproduced image to have a clearly reproduced black ink area especially in a high-concentration area, such a clear black area whose density is determined by the black ink quantity signal cannot be reproduced by combining three Y, M, C ink quantity signals. Thus, it is possible to make visual appearance of dark areas in a reproduced image very clear, and efficiently reduce the total quantity of ink used.

A dither circuit **166** is a circuit that binarizes the Y**1**, M**1**, C**1** and K**1** ink quantity signals, supplied by the UCR circuit **165**, through application of a structural dither method. This dither circuit **166** generates such binary ink quantity signals Y**2**, M**2**, C**2** and K**2**, and supplies each bit indicated by the signals to a color printer **167** one by one, so that a color image is reproduced by a on/off control of each ink dot for each color.

A detailed description will be given of a setting method to preset output data corresponding to eight lattice points of a triangular prism, which is used for the interpolation method in this fifth embodiment of the invention. In the color copier shown in FIG.18, density data (R, G, B) for the color pattern data is measured from Y, M and C color signals supplied by the color correction circuit **164** before the UCR process is performed. The Y, M and C color signals include 4913 (=**17** ^{3}) data which are obtained by dividing halftone levels of color signals (Y, M, C) (each having bits indicating **256** halftone levels) in 16 stages, as follows.

Y: 0, 15, 31,..., 239, 255

M: 0, 15, 31,..., 239, 255

C: 0, 15, 31,..., 239, 255

FIG.19 shows an example of output data which are obtained by scanning the 4913 color pattern data (color patch data) and measuring the results of color correction performed by the color copier shown in FIG.**18**. The output data is used as the predetermined color correction data (Y, M, C) corresponding to the lattice points of the triangular prisms.

By scanning each of the color pattern data by means of the input sensor **161**, the color correction circuit **164** receives each of the scanned color pattern data via the A/D converter **162** and the log converter **163**, and generates Y, M, C ink quantity signals of the color pattern data, so that R, G, B density data is measured from Y, M, C color signals for each of the color pattern data. Thus, a relationship between the output signals (Y, M, C) and the 4913 density data (R, G, B) is obtained. By using such a relationship, the correction factors a**10** through a**33** of the linear function represented by the above formula (1), and the correction factors a**10** through a**39** of the non-linear function represented by the above formula (2) are determined through the least square method.

The color correction circuit **164** judges whether or not the number of color pattern data which is located in a neighborhood area adjacent to a lattice point in RGB space is greater than a predetermined number. FIG.20 shows a neighborhood area in the G-R plane which contains a subject lattice point. Assuming that a lattice point **181** has coordinates (r, g, b) in RGB space, the number of color pattern data which are located in a neighborhood area **182**, as indicated by shading lines in FIG.20, is determined and compared with a predetermined number. The color correction circuit **164** counts the number of color pattern data (R, G, B) satisfying the formulas: r−1<R<r+1, g−1<G<g+1, b−1<B<b+1, and it judges whether or not the counted number of such color pattern data is greater than a predetermined number.

In this fifth embodiment, if the number of color pattern data included in the neighborhood area containing the lattice point is not greater than the predetermined number, the Y, M and C color correction data corresponding to the lattice point is determined by using the linear function (1) including the correction factors a**10** through a**33**. If the number of color pattern data included in the neighborhood area is greater than the predetermined number, the Y, M, C color correction data corresponding to the lattice point is determined by using the non-linear function (2) including the correction factors a**10** through a**39**. Thus, in this fifth embodiment, it is possible to improve the quality of reproduced image whose coordinates lie in peripheral areas of RGB space.

Next, a description will be given of a sixth embodiment of the present invention. The color correction method in this embodiment is directed to improvement of the quality of reproduced images whose coordinates lie in local areas of RGB space in which a difference in color between original image and reproduced image is very appreciable. Such local areas include an achromatic color area and a highlighted area. Similar to the fifth embodiment, a relationship between the output signals (Y, M, C) and the **4913** density data (R, G, B) is obtained. By using the relationship, the correction factors a**10** through a**33** of the non-linear function, represented by the formula (2), are determined through the least square method. Also, among such sets of the (R, G, B) and (Y, M, C) data, only achromatic color data in which Δ (R, G, B)=max (R−G, G−B, B−R) is smaller than a predetermined level is used, and the correction factors of the non-linear function represented by the formula (2) are determined through the least square method. The correction factors thus determined are called b**10** through b**39**.

In this sixth embodiment, the Y, M, C color correction data corresponding to lattice points lying on a diagonal line (R=G=B) in RGB space is predetermined by using the non-linear function (the formula (2)) containing the correction factors b**10** through b**39**. For the remaining lattice points other than the above lattice points, the Y, M, C color correction data is predetermined by using the non-linear function (the formula (2)) containing the correction factors a**10** through a**39**. Thus, it is possible to improve the quality of the reproduced image whose coordinates lie adjacent to an achromatic color area of RGB space. FIG.21 shows lattice points which are included in G-R plane. In this G-R plane, k**1** indicate lattice points on a diagonal line R=G, and k**2** and k**3** indicate lattice points adjacent to the diagonal line R=G.

In the sixth embodiment, there is another setting method which is usable for the interpolation. By using the relationship between the output signals (Y, M, C) and the 4913 density data (R, G, B), the correction factors a**10** through a**39** of the non-linear function, represented by the formula (2), are determined through the least square method. Also, among such set of the (R, G, B) and (Y, M, C) data, only highlighted area data in which the conditions: R<threshold Tr, G<threshold Tg, and B<threshold Tb are satisfied is used, and the correction factors of the non-linear function represented by the formula (2) are determined through the least square method. The correction factors thus determined are called c**10** through c**39**. In the sixth embodiment, the Y, M and C color correction data corresponding to lattice points satisfying the above conditions (R<threshold Tr, G<threshold Tg, and B<threshold Tb) is predetermined by using the non-linear function (the formula (2)) containing the correction factors c**10** through c**39**. For the remaining lattice points, other than the above lattice points, the Y, M and C color correction data is predetermined by using the non-linear function (the formula (2)) containing the correction factors a**10** through a**39**. Thus, it is possible to improve the quality of reproduced images whose coordinates lie in highlighted areas of RGB space. FIG.22 shows lattice points in the G-R plane. In the G-R plane, h**1** through h**4** indicate lattice points which are included in a highlighted area in which density data R and G are lower than a predetermined threshold level (for example, R<**63** and G<**63**). In this sixth embodiment, the present invention is applied to the 8-point interpolation, but the present invention is also applicable to the 4-point interpolation (tetrahedron method) and the 6-point interpolation (triangular prism method).

Further, the present invention is not limited to the above described embodiments, and variations and modifications may be made without departing from the scope of the present invention.

Patent Citations

Cited Patent | Filing date | Publication date | Applicant | Title |
---|---|---|---|---|

US4275413 * | Jul 3, 1979 | Jun 23, 1981 | Takashi Sakamoto | Linear interpolator for color correction |

US4959711 * | Dec 24, 1987 | Sep 25, 1990 | Konica Corporation | Method and apparatus for correcting the color of a printed image |

US4992861 * | Oct 18, 1988 | Feb 12, 1991 | Eastman Kodak Company | Color image reproduction apparatus having a digitally operated look-up table constructed by means of a least squares algorithm |

US5436739 | Dec 2, 1992 | Jul 25, 1995 | Ricoh Company, Ltd. | Color correction system for transforming color image from one color space to another |

JPH0546750A | Title not available | |||

JPH02206973A * | Title not available | |||

JPS5816180A * | Title not available |

Non-Patent Citations

Reference | ||
---|---|---|

1 | * | Institute of Picture Electronics Engineers of Japan, vol. 10, No. 5, 1989, pp. 319-328, K. Kanamori et al., "Color Correction of Color Hardcopy By Interpolation Using 4 Neighborhood Points". |

Referenced by

Citing Patent | Filing date | Publication date | Applicant | Title |
---|---|---|---|---|

US6668077 * | Aug 4, 2000 | Dec 23, 2003 | Fuji Photo Film Co., Ltd. | Color correcting relation extracting method and color correction method |

US6859228 * | Oct 18, 1999 | Feb 22, 2005 | Sharp Laboratories Of America, Inc. | Least squares method for color misregistration detection and correction in image data |

US7403310 | Nov 5, 2002 | Jul 22, 2008 | Ricoh Company, Ltd. | Image processing apparatus and method |

US7466453 | Sep 11, 2002 | Dec 16, 2008 | Ricoh Company Ltd. | Image processing apparatus |

US7554574 | Jun 25, 2004 | Jun 30, 2009 | Ricoh Company, Ltd. | Abnormal state occurrence predicting method, state deciding apparatus, and image forming system |

US7912324 | Apr 28, 2006 | Mar 22, 2011 | Ricoh Company, Ltd. | Orderly structured document code transferring method using character and non-character mask blocks |

US20030058465 * | Sep 11, 2002 | Mar 27, 2003 | Noriko Miyagi | Image processing apparatus |

US20030095287 * | Nov 5, 2002 | May 22, 2003 | Noriko Miyagi | Image processing apparatus and method |

WO2015103124A1 * | Dec 29, 2014 | Jul 9, 2015 | Vid Scale, Inc. | Color space conversion |

Classifications

U.S. Classification | 358/1.9, 358/525, 358/523, 358/518 |

International Classification | H04N1/60, G06F17/17, G06T1/20, H04N1/46, H04N1/40, G03G15/01, G06T1/00 |

Cooperative Classification | H04N1/6019 |

European Classification | H04N1/60D2 |

Rotate