|
Description  |
|
|
BACKGROUND OF THE INVENTION
This invention relates to a linear interpolating method for signals in a
memory which is used for color correction of picture signals in a
reproducing machine such as a color scanner, a color facsimile producer,
or the like, in which color separation picture images are produced by
photo-electric scanning, and the apparatus to carry out the method.
In conventional color photographic plate making, color correction is often
made by photographic masking. However, this method has many defects, for
example: limitations of color correction ability, necessity for many
skilled engineers, unreliable results of the color separation, irregular
quality of finish, complexity, and the like.
In order to overcome these defects, a color correction masking method by an
electronic color separation machine such as a color scanner has been
developed and is nowadays more popular. Most of the color scanners now
used employ an analog computer system for the color correction
calculations so as to increase the calculation speed.
This method, however, has also defects such as the difficulty of the
introduction of many kinds of calculations because of the restriction of
calculation ability, inevitable effects of temperature drift and noise,
multiplicity of operational amplifiers and so forth as electric elements,
inconvenience of operation due to many adjustments of potentiometers and
switches, and high manufacturing cost.
If the analog computer system is simply replaced with a digital computer
system, which has advantages such as a wide correction variable range and
convenience of operation, the calculation speed for the color correction
decreases very much, and the processing ability is reduced. Accordingly,
this system is not practicable.
Recently, a direct scanner has been developed for plate making in printing,
which performs color separation, color correction, conversion of scale of
the reproduced image, and halftone processing at the same time so as to
meet the requirement for high quality printing and rapid operation. In
this case, however, there is the defect that supplementary masking or hand
retouching after the color separation cannot be applied, as opposed to
conventional color scanning which includes color separation, color
correction, conversion of scale of the reproduction images, and halftone
processing.
In general, an original color picture is scanned by a color scanner to
obtain three (red, green, and blue) color separation signals. These three
color separation signals are set to a color operation circuit, thereby
finally obtaining recording signals for density of printing inks, such as
cyan, magenta, yellow, and black.
In order to provide the most accurate possible color reproduction, a
combination of the amounts of cyan, magenta, and yellow inks (the black
ink, and so forth, are omitted for the sake of brevity of explanation) is
necessarily determined corresponding to a combination of red, green, and
blue color separation signals.
Consequently, for the purpose of color correction by selecting the
combination of cyan, magenta, and yellow values corresponding to the
combination of red, green, and blue values, the color-corrected
combinations of cyan, magenta, and yellow values corresponding to each
combination of red, green, and blue values are stored in a memory in
advance, and then the color-corrected combination of cyan, magenta, and
yellow values is read out by addressing the memory by the combination of
red, green, and blue values corresponding thereto.
If each red, green, and blue range is divided into, for example, two
hundred tone steps, altogether 200.sup.3 =8,000,000 combinations of cyan,
magenta, and yellow values must be stored in the memory, which requires
that the memory have a large capacity. This means high cost, and thus is
not practicable.
Therefore, in order to reduce the storage capacity required for the memory,
each color range of red, green, and blue is divided into, for example,
sixteen tone steps, and then 16.sup.3 =4096 combinations of cyan, magenta,
and yellow values are required. Thus the storage capacity requirement for
the memory is reduced to a manageable level. On the other hand, the tone
steps become too rough, and the lack of output consistency becomes
conspicuous, so that printing quality suffers. Therefore, in this case, it
is necessary to interpolate intermediate values properly between each two
tone steps.
The present invention relates to an improved method of interpolation in the
three-dimensional space defined in the memory by the three axes of red,
green, and blue. In order that the method may be better understood, some
explanation of prior art methods of interpolation will now be given.
Referring to FIG. 1, there is shown an example of interpolation of a
function U of two variables, where the interval to be interpolated over is
taken as unity.
The value U(x,y), i.e., U(x.sub.1 +x.sub.f, y.sub.i +y.sub.f) at a point P
in an interpolation region ABCD will be found by a mathematical
interpolating method, in which x.sub.i and y.sub.i are the intergral parts
of x and y and x.sub.f and y.sub.f are the decimal parts.
For interpolation it is necessary that the function at the vertices A, B,
C, and D should have known values U(x.sub.i,y.sub.i), U(x.sub.i
+l,y.sub.i), U(x.sub.i +l,y.sub.i +l), and U(x.sub.i,y.sub.i +l). The
interpolated value U(x,y) will be a function of X.sub.f, Y.sub.f,
U(x.sub.i,Y.sub.i), U(x.sub.i +l,y.sub.i), U(x.sub.i +l,y.sub.l +l), and
U(x.sub.i, y.sub.i +l). Further, for consistency, the interpolated value
should be consistent with the known values of the original function at the
corners of the unit region.
An interpolating method satisfying such a condition will be described. It
is called linear interpolation because on the edges of the unit region it
reduces to a simple linear interpolation function.
In order to find the value U(x,y) at the point P in the interpolation unit
square ABCD, first drawn four perpendiculars from the point P to each side
AB, BC, CD, and DA of the square. Designate the ends or feet of these
perpendiculars by Q.sub.1, Q.sub.2, Q.sub.3, and Q.sub.4 respectively, as
shown in FIG. 2, and add up the results obtained by multiplying each known
value at the vertices A, B, C, and D by the area of each rectangle
opposite to the vertex, thereby obtaining the following equation (I):
##EQU1##
The interpolating method according to the formula (I) satisfies the above
boundary conditions at the corners of the unit square and reduces to
linear interpolation along the edges of the unit square, and thus is
mathematically reasonable. Further, this method may be applied to the
three-dimensional case.
In FIG. 3 there is shown a unit cube interpolation unit having eight
vertices with co-ordinates of (x.sub.i, y.sub.i z.sub.i), (x.sub.i
+l,y.sub.i,z.sub.i), (x.sub.i,y.sub.i +l,z.sub.i),
(x.sub.i,y.sub.i,z.sub.i +l), (x.sub.i +l,y.sub.i +l,z.sub.i), (x.sub.i
+l,y.sub.i,z.sub.i +l), (x.sub.i,y.sub.i +l,z.sub.i +l), and (x.sub.i
+l,y.sub.i +l,z.sub.i +l), and including a point P with co-ordinates
(x.sub.i +x.sub.f, y.sub.i +y.sub.f, z.sub.i +z.sub.f) at which the value
of U is to be interpolated. The cube is divided up into eight rectangular
parallelepipeds by three planes which include the point P and are parallel
to its faces. The value U(x,y,z) at the point P is found by adding up the
values obtained by multiplying each known value at each of the vertices of
the unit cube by the volume of each rectangular parallelepipedon which is
positioned opposite to that vertex, thereby obtaining the following
formula (II):
##EQU2##
Again, this method produces consistent results at the verticles of the unit
cube. Further, along the edges of the unit cube it reduces to simple
linear interpolation, and on the faces of the unit cube it reduces to the
method of equation (I). It is further clear that the value obtained in the
center of each face of the unit cube is the mean value of the known values
at each vertex of that face, and the value obtained at the center of the
unit cube is the mean value of the eight known values at the vertices of
the cube. Accordingly, this method is seen to be mathematically
reasonable.
However, this method has disadvantages. It requires eight products to be
formed, each of four values, and addition thereof. Hence it is not always
best for high speed calculation.
There is another disadvantage in this method Although from one unit cube to
the next the interpolated values are continuous, their derivative is not.
That is, the slope of the interpolated values is discontinuous from one
unit cube to the next, i.e. the line of the interpolated values bends
sharply as we pass over the boundary. Thus in practice a sharp step of
color values will be apparent in the finished picture, and the cubic
structure of the memory will show, to the detriment of quality. This
effect can become quite serious. FIG. 4 shows a distribution of the
interpolated values obtained according to the formula (I) which has a
saddle form, which clearly shows the aforementioned problem. An even
continuous line of interpolated values in the unit square A.sub.1 B.sub.1
C.sub.1 D.sub.1 is obtained, and also in the unit square A.sub.2 B.sub.2
C.sub.2 D.sub.2, but between these two squares, at their common border,
the derivative of the interpolated values is discontinuous.
SUMMARY OF THE INVENTION
Therefore, it is an object of the present invention to provide a linear
interpolating method and apparatus for such signals in a memory free from
the above-mentioned defects, which enables the memory to quickly calculate
interpolation values by using a simple formula, without large
discontinuities of the slope of the interpolated values between one
interpolation unit and the next.
In order to achieve this object, as well as others which will become
apparent hereafter, a linear interpolating method for color signals in a
memory in accordance with the present invention comprises the steps of
producing color signals (B), (R) and (G) by photoelectrically scanning an
original picture. The color separated signals are converted to those of
logarithmic values. The logarithmic values signals are then converted to
digital signals and these are separated into two sets of four bit address
signals, one set of which is an address signal for calling color corrected
signals of four bits of the higher order (for R, G and B) and the other
set of which is for the lower order bits (for r, g and b). The relative
magnitudes of the lower four bit address signals are them compared and an
output signal is generated which is a function of said relative
magnitudes. The output signals are monitored and it is determined as a
function of said relative magnitudes, to which address four bit higher
order color corrected signals the quantity one is to be added. Color
corrected signals corresponding to all combinations of said four bits in
the higher order address signals are preliminarily stored. Four sets of
coefficients (l-r, l-g, l-b), (r-g, r-b, g-b, g-r, b-r, b-g), (g-b, b-g,
b-r, r-b, r-g, g-r) and (b, r, g), from the lower order four bit signals
and four coefficient signals are selected from said four sets of
coefficients as a function of said output signals. Each of said
coefficients is multiplied by each of the corresponding color corrected
signals stored in the memory, and the higher order bits obtained by the
multiplication of said signals in the multipliers are added.
The present invention also contemplates an apparatus for utilizing the
linear interpoling method, which includes suitable means for performing
the above method steps.
The method and apparatus of the present invention are based on a linear
interpolating method for color signals in a memory of a picture
reproducing machine, the interpolating method being described in the
detail description. The method comprises the steps of storing appropriate
values of color picture output signals corresponding to certain stepped
values of color input signals in the memory addressed in a
three-dimensional fashion, and interpolating values of color output
signals at points which are between said values by dividing up the cubic
interpolating unit of the memory which is contituted by a single step of
each of the color input signals into a plurality of tetrahedra whose
vertices are either vertices of the cubic unit, centers of its faces, or
its center point, calculating the color output signal at each vertex of
these tetrahedra which is a center of a face of the cubic unit, if any, by
averaging the values of the color output signal at the four vertices which
are corners of said face, and at the center point of the cubic unit by
averaging the values of the color output signal at all eight of the
vertices of the cubic unit, determining which of these tetrahedra includes
the interpolation point at which the value of the color output signal is
to be interpolated, and deriving the interpolated value at the
interpolation point as a weighted sum of the values at the four vertices
of the determined tetrahedron, the value at each vertex being given a
weight corresponding to the ratio of the volume of a second tetrahedron
whose vertices are the interpolation point and the other three vertices of
the determined tetrahedron to the volume of the determined tetrahedron.
Variations of this method using dissections into twenty-four, -five, and
-six tetrahedra will be explained.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will now be described in detail with respect to the
accompanying drawings, in which:
FIG. 1 is a schematic view of a conventional interpolating method over a
two-dimensional interpolation unit square;
FIGS. 2 and 3 are schematic views of a square interpolation unit region and
a cubic interpolation unit region of the conventional two-dimensional and
three-dimensional interpolating methods;
FIG. 4 is a schematic view of a distribution of interpolation values of the
conventional method for two-dimensional interpolation;
FIG. 5 is a schematic view of an improved two-dimensional interpolating
method;
FIG. 6 is a schematic view of a method of three-dimensional interpolation
over a tetrahedral region;
FIG. 7 is a schematic view of a cubic interpolation unit dissected into
twenty-four tetrahedra according to one of the variations of the method of
the present invention;
FIG. 8 is a schematic view of one of the tetrahedra of the dissection of
FIG. 7;
FIG. 9 is a schematic view of another variation of the method of the
present invention, wherein the unit cube is dissected into six tetrahedra;
FIG. 10 is a schematic view of one of the tetrahedra obtained by the
dissection of FIG. 9;
FIGS. 11 and 12 illustrate another method of dissecting the unit cube into
five tetrahedra, which gives another variation of the method of the
present invention; and
FIG. 13 shows a block diagram of an example of a color scanner utilizing a
signal interpolating method shown in FIGS. 10 and 12 according to the
present invention.
The prior art interpolation methods, and their disadvantages, have been
explained above. A method and apparatus according to the present invention
will now be described.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
In FIG. 5, showing the two-dimensional case, two adjacent interpolation
regions A.sub.1 B.sub.1 C.sub.1 D.sub.1 and A.sub.2 B.sub.2 C.sub.2
D.sub.2 are shown. The centers of these unit squares are designated by
O.sub.1 and O.sub.2, and interpolated values at these points are derived
as averages of the function values at the four corners of the squares.
Then interpolation is conducted linearly in each of the triangles A.sub.1
O.sub.1 B.sub.1, B.sub.1 O.sub.1 C.sub.1, C.sub.1 O.sub.1 D.sub.1, D.sub.1
O.sub.1 A.sub.1, A.sub.2 O.sub.2 B.sub.2, B.sub.2 O.sub.2 C.sub.2, C.sub.2
O.sub.2 D.sub.2, and D.sub.2 O.sub.2 A.sub.2. That is, the point at which
the value is to be interpolated is first checked to determined which of
these triangles it falls into, and then the value at the point is
determined by interpolation in the triangle in a fashion and analogous
corners of the triangle, and then calculating the value of the function at
the point as a weighted sum of the values at the corners of the triangle,
giving each value at a corner a weighting of the ratio of the area of a
second triangle whose corners are the point and the other two corners of
the triangle, and the area of the triangle. In this method the magnitude
of the discontinuity in the derivative of the interpolated values from one
interpolation region to the next is much reduced.
Now, considering the three-dimensional case, the basic interpolation method
in a tetrahedral volume will be explained with respect to FIG. 6. Let ABCD
be a tetrahedron of which each vertex is a point at which the value of the
function U to be interpolated is known. The value at point P, internal to
the tetrahedron, is calculated as follows: draw lines from each vertex A,
B, C, and D through the point P to meet the opposite sides of the
tetrahedron in A', B', C', D;40 . Then the interpolated value U(P) is
##EQU3##
Now the ratio of of the volumes of the tetrahedra PBCD and ABCD, for
example, is the same as the ratio of the heights of P and of A from the
plane of BCD.
Referring to FIG. 7, there is shown a unit cube interpolation volume
ABCDEFGH, and the values of the function U of three variables are assumed
to be known at the vertices of the cube. All three variations of the
present method depend upon dissecting this cube into tetrahedra whose
vertices are either vertices of the cube, centers of faces of the cube, or
the center of the cube. Then a series of comparisons are made to determine
which of these tetrahedra contains the point at which the value of the
function is required to be interpolated. Once this is determined, the
value is then interpolated within that tetrahedron according to the method
described above, using analytical geometry. It will be realised that it is
mathematically reasonable to interpolate, initially, the values of the
function at centers of faces of the cube as the average of the values at
the four corners of the faces, and the value of the function at the center
of the cube as the average of the values at all eight vertices of the
cube. Thus for each vertex of each tetrahedron of the dissection of FIG. 7
the value of the function is known, and therefore the method illustrated
in FIG. 6 can be applied for interpolation.
TABLE 1
TETRAHEDRAL INTERPOLATION DISCRIMINATION DIVISION CONDITIONS CALCULATI
NG FACTORS
X.sub.f -Y.sub.f Y.sub.f -Z.sub.f Z.sub.f -X.sub.f X.sub.f +Y.sub.f
-1 Y.sub.f +Z.sub.f -1 Z.sub.f +X.sub.f -1 (A) (B) (C) (D) (E) (F) (G)
(H)
ABQ.sub.1 O + + (-) - (-) (-) -(X.sub.f +Y.sub.f -1) (X.sub.f
-Y.sub.f) BCQ.sub.1 O + (+) (-) + (-) - (X.sub.f -Y.sub.f) (X.sub.f
+Y.sub.f -1) CDQ.sub.1 O - (+) (-) + - (-) (X.sub.f +Y.sub.f -1)
-(X.sub.f -Y.sub.f) DAQ.sub.1 O - (+) - - (-) (-) -(X.sub.f +Y.sub.f -1)
-(X.sub.f -Y.sub.f) GFQ.sub.2 O (+) - - (+) + (+) -(Y.sub.f
-Z.sub.f) (Y.sub.f +Z.sub.f -1) FBQ.sub.2 O (+) - (-) + - (+) -(Y.sub.f
+Z.sub.f -1) -(Y.sub.f -Z.sub.f) BCQ.sub.2 O (+) + (-) (+) - +
-(Y.sub.f +Z.sub.f -1) (Y.sub.f -Z.sub.f) CGQ.sub.2 O + + (-) (+) + (+)
(Y.sub.f -Z.sub.f) (Y.sub.f +Z.sub.f -1) GHQ.sub.3 O - - (+) + (+)
(+) (X.sub.f +Y.sub.f -1) -(X.sub.f -Y.sub.f) HEQ.sub.3 O - (-)
(+) - (+) + -(X.sub.f +Y.sub.f -1) -(X.sub.f -Y.sub.f) EFQ.sub. 3
O + (-) (+) - + (+) -(X.sub.f +Y.sub.f -1) (X.sub.f -Y.sub.f)
FGQ.sub.3 O + (-) + + (+) (+) (X.sub.f -Y.sub.f) (X.sub.f +Y.sub.f
-1) ADQ.sub.4 O (-) + + (-) - (-) -(Y.sub.f +Z.sub.f) (Y.sub.f
-Z.sub.f) DHQ.sub.4 O (-) + (+) - + (-) (Y.sub.f -Z.sub.f)
(Y.sub.f +Z.sub.f -1) HEQ.sub.4 O (-) - (+) (-) + - -(Y.sub.f
-Z.sub.f) (Y.sub.f +Z.sub.f -1) FAQ.sub.4
O - - (+) (-) - (-) -(Y.sub.f +Z.sub.f -1) -(Y.sub.f -Z.sub.f)
AEQ.sub.5 O + (-) + (-) (-) - -(Z.sub.f +X.sub.f -1) (Z.sub.f
-X.sub.f) EFQ.sub.5 O (+) (-) + (-) - + (Z.sub.f -X.sub.f) (Z.sub.f
+X.sub.f -1) FBQ.sub.5 O (+) (-) - - (-) + -(Z.sub.f -X.sub.f)
(Z.sub.f +X.sub.f -1) BAQ.sub.5 O (+) - - (-) (-) - -(Z.sub.f +X.sub.f
-1) -(Z.sub.f -X.sub.f) CGQ.sub.6 O - (+) - (+) (+) + -(Z.sub.f
-X.sub.f) (Z.sub.f +X.sub.f -1) CDQ.sub.6 O (-) (+) - (+) + -
-(Z.sub.f -X.sub.f) -(Z.sub.f +X.sub.f -1) DHQ.sub.6 O (-) (+) + + (+) -
-(Z.sub.f +X.sub.f -1) (Z.sub.f -X.sub.f) HGQ.sub.6 O (-) + + (+)
(+) + (Z.sub.f +X.sub.f -1) (Z.sub.f
-X.sub.f) X.sub.f -Y.sub.f Y.sub.f -Z.sub.f
Z.sub.f -X.sub.f X.sub.f +Y.sub.f -1 Y.sub.f +Z.sub.f -1 Z.sub.f
+X.sub.f -1 (Q.sub.1) (Q.sub.2) (Q.sub.3) (Q.sub.4) (Q.sub.5) (Q.sub.6)
(O)
ABQ.sub.1 O + + (-) - (-) (-) 2(Y.sub.f -Z.sub.f) 2Z.sub.f
BCQ.sub.1 O + (+) (-) + (-) - -2(Z.sub.f +X.sub.f -1) 2Z.sub.f
CDQ.sub.1 O - (+ ) (-) + - (-) -2(Y.sub.f +Z.sub.f -1) 2Z.sub.f
DAQ.sub.1 O - (+) - - (-) (-) -2(Z.sub.f -X.sub.f) 2Z.sub.f
GFQ.sub.2 O (+) - - (+) + (+) -2(Z.sub.f -X.sub.f) 2(1-X.sub.f)
FBQ.sub.2 O (+) - (-) + - (+) 2(X.sub.f +Y.sub.f -1) 2(1-X.sub.f)
BCQ.sub.2 O (+) + (-) (+) - + 2(Z.sub.f +X.sub.f -1) 2(1-X.sub.f)
CGQ.sub.2 O + + (-) (+) + (+) 2(X.sub.f -Y.sub.f) 2(1-X.sub.f)
GHQ.sub.3 O - - (+) + (+) (+) -2(Y.sub.f -Z.sub.f) 2(1-Z.sub.f)
HEQ.sub.3 O - (-) (+) - (+) + 2(Z.sub.f +X.sub.f -1) 2(1-Z.sub.f)
EFQ.sub.3 O + (-) (+) - + (+) 2(Y.sub.f +Z.sub.f -1) 2(1-Z.sub.f)
FGQ.sub.3 O + (-) + + (+) (+) 2(Z.sub.f -X.sub.f) 2(1-Z.sub.f)
ADQ.sub.4 O (-) + + (-) - (-) 2(Z.sub.f -X.sub.f -1) 2X.sub.f
DHQ.sub.4 O (-) + (+) - + (-) -2(X.sub.f +Y.sub.f -1) 2X.sub.f
HEQ.sub.4 O (-) - (+) (-) + - -2(Z.sub.f +X.sub.f -1) 2X.sub.f
FAQ.sub.4 O - - (+) (-) - (-) -2(X.sub.f -Y.sub.f) 2X.sub.f
AEQ.sub.5 O + (-) + (-) (-) - 2(X.sub.f
-Y.sub.f) 2Y.sub.f EFQ.sub.5 O (+) (-) + (-) - + -2(Y.sub.f
+Z.sub.f -1) 2Y.sub.f FBQ.sub.5 O (+) (-) - - (-) + -2(X.sub.f
+Y.sub.f -1) 2Y.sub.f BAQ.sub.5 O (+) - - (-) (-) - -2(Y.sub.f
-Z.sub.f) 2Y.sub.f CGQ.sub.6 O - (+) - (+) (+) + -2(X.sub.f
-Y.sub.f) 2(1-Y.sub.f) CDQ.sub.6 O (-) (+) - (+) + - 2(Y.sub.f
+Z.sub.f -1) 2(1-Y.sub.f) DHQ.sub.6 O (- (+) + + (+) - 2(X.sub.f
+Y.sub.f -1) 2(1-Y.sub.f) HGQ.sub.6 O (-) + + (+) (+) + 2(Y.sub.f
-Z.sub.f) 2(1-Y.sub.f)
In the dissection of FIG. 7 there exist twenty-four tetrahedra, of each of
which one vertex is the center of the cubic unit, two vertices are
vertices of the cubic unit which are connected by an edge of the cubic
unit, and the fourth vertex is the center of a square face of the cubic
unit one edge of which face is the said edge of the cubic unit. The
twenty-four tetrahedra are all isomorphic. One of them is shown in FIG. 8.
The centers of the faces of the cubic unit have been labelled as Q.sub.1 .
. . Q.sub.6, and the center of the cube as O. The tetrahedron OABQ.sub.1
is illustrated. The planes OAB, Q.sub.1 AB, OQ.sub.1 B, and OQ.sub.1 A
have the equations y.sub.f -z.sub.f =0, z.sub.f =0, x.sub.f +y.sub.f -1=0,
and x.sub.f -y.sub.f =0 respectively. Therefore it is clear that the
condition for the point P to lie inside the tetrahedron OABQ.sub.1 is that
y.sub.f -z.sub.f .gtoreq.0, x.sub.f +y.sub.f -1.ltoreq.0, and x.sub.f
-y.sub.f .gtoreq.0. (Of course z.sub.f .gtoreq.0, by definition). Provided
these conditions are all satisfied, the interpolated value of the function
may be calculated as outlined above. Thus U(P) is equal to
##EQU4##
This is because the ratio of the volumes of the abovementioned tetrahedra,
as pointed out above, is the same as the ratio of their heights, and the
equations of their faces are as stated above.
Similar results hold when the point P is in the the conditions for
discrimination of which tetrahedron contains the point P, and of the
factors which are used for calculation of the interpolated value in each
case, is shown as Table 1. Using this table, by testing the conditions
that are not parenthesized, it is possible to characterise the tetrahedron
which contains the point P, and accordingly it is not necessary to test
the parenthesized conditions.
It is readily understood that the calculation is far simpler in practice
than the method of the abovementioned formula (II). Further, in this
method, the discontinuties across the borders between one unit cube and
the next are much reduced, since the values near the face of the unit cube
are much more dominated by the values at the four corners of the face than
in the prior art method of (II).
In fact the color picture output signals in the memory commonly vary
monotonically, and therefore a more simple and coarse method of
interpolation than the one outlined above may well be satisfactory in a
particular case. Therefore the method of FIGS. 9 and 10 may well be
acceptable, although it is not quite so accurate as the method of formula
(III). In FIG. 9 is shown a dissection of the unit cube into tetrahedra
all of whose vertices are vertices of the unit cube. Thus this method has
the advantage that no averaging of values at the vertices of the unit cube
is necessary in order to determine values at the centers of the faces of
the unit cube and at its center.
The unit cube is dissected into six tetrahedra by three planes which have a
line in common which is the long diagonal of the unit cube, and each plane
is inclined to the other two at 60.degree. and contains two edges and four
vertices of the unit cube. A typical one of the six tetrahedra is
illustrated in FIG. 10. In this case the conditions for the point P to lie
within this tetrahedron are that x.sub.f .gtoreq.y.sub.f .gtoreq.z.sub.f,
as can be easily worked out using solid geometry, as before. In the same
way the interpolated value U(P) is equal to
U(A) [1-x.sub.f ]+U(B)[x.sub.f -y.sub.f ]+U(C)[y.sub.f -z.sub.f
]+U(D)z.sub.f.
Similar discriminating conditions and calculating factors can be worked out
for the other five tetrahedra. Table 2 shows the complete set. It is
readily appreciated that this variation of the method is easier in
calculation than the method of formula (III), albeit at a slight loss in
accuracy.
In FIGS. 11 and 12 there is shown another method for dissecting the unit
cube into tetrahedra, which this time are five in number. The unit cube is
divided up by four planes, each of which contains exactly three vertices
of the cube, and which are characterized by intersecting one another along
lines which are diagonals of faces of the cube. Thus there are two
possible dissections which are mirror images of one another, and these are
shown in the figures. Exploded diagrams also show how the tetrahedra fit
together. In this variation it will be noted that the tetrahedra are not
all isomorphic; one is different from the others. As before, it is
determined using discrimination conditions derived from solid geometry in
which of these tetrahedra the interpolation point lies, and then, using
calculation factors derived in the same way as above, the interpolated
value is calculated. It will be obvious to anyone skilled in the art,
depending upon the foregoing disclosure, how to calculate these
discrimination conditions and calculation factors, and therefore listing
of them will be omitted for the sake of brevity of explanation.
In the methods which use the dissections into six and into five tetrahedra,
which are explained above with reference to FIGS. 9, 10, 11, and 12, in
face that interpolated values at the center of the faces of the unit cube,
and at its center, will be different slightly from those derived by simple
averaging which were used in the first version of the method, illustrated
in FIG. 7. However, this variation will only be slight in the case of
monotonic functions, and is quite tolerable.
Referring to FIG. 13, a circuit in accordance with the present invention
will now be described.
TABLE 2
__________________________________________________________________________
DISCRIMINATION
CONDITIONS CALCULATING FACTORS
__________________________________________________________________________
U(Xi .multidot. Yi .multidot. Zi)
U(Xi + 1Yi .multidot. Zi)
U(Xi .multidot. Yi + 1 .multidot.
U(Xi .multidot. Yi .multidot.
Zi + 1)
__________________________________________________________________________
X.sub.f .gtoreq. Y.sub.f .gtoreq. Z.sub.f
1 - X.sub.f
X.sub.f - Y.sub.f
X.sub.f .gtoreq. Z.sub.f > Y.sub.f
1 - X.sub.f
X.sub.f - Z.sub.f
Z.sub.f > X.sub.f .gtoreq. Y.sub.f
1 - Z.sub.f Z.sub.f - X.sub.f
Z.sub.f .gtoreq. Y.sub.f > X.sub.f
1 - Z.sub.f Z.sub.f - Y.sub.f
Y.sub.f > Z.sub.f .gtoreq. X.sub.f
1 - Y.sub.f Y.sub.f - Z.sub.f
Y.sub.f > X.sub.f > Z.sub.f
1 - Y.sub.f Y.sub.f - X.sub.f
__________________________________________________________________________
U(Xi + 1Yi + 1Zi)
U(Xi + 1Yi .multidot. Zi + 1)
U(Xi .multidot. Yi + 1 .multidot. Zi +
U(Xi + 1Yi + 1 .multidot. Zi
+ 1)
__________________________________________________________________________
X.sub.f .gtoreq. Y.sub.f .gtoreq. Z.sub.f
Y.sub.f - Z.sub.f Z.sub.f
X.sub.f .gtoreq. Z.sub.f > Y.sub.f
Z.sub.f - Y.sub.f Y.sub.f
Z.sub.f > X.sub.f .gtoreq. Y.sub.f
X.sub.f - Y.sub.f Y.sub.f
Z.sub.f .gtoreq. Y.sub.f > X.sub.f
Y.sub.f - X.sub.f
X.sub.f
Y.sub.f > Z.sub.f .gtoreq. X.sub.f
Z.sub.f - X.sub.f
X.sub.f
Y.sub.f > X.sub.f > Z.sub.f
X.sub.f - Z.sub.f Z.sub.f
__________________________________________________________________________
Reference numerals (1.sub.B), (1.sub.G) and (1.sub.R) are photomultipliers.
The photomultiplier (1.sub.B) produces a color separated signal B (blue),
the photomultiplier (1.sub.G) produces other color separated signal G
(green) and the photomultiplier (1.sub.R) produces the remaining color
separated signal ((red). Each of those color separated signals is produced
by electrically scanning an original color picture, respectively. Each of
those color separated signals obtained is fed to another of the
analog-digital converters (3.sub.B), (3.sub.G), and (3.sub.R),
respectively, through each of the logarithmic amplifiers (2.sub.B),
(2.sub.G), and (2.sub.R) to result in analog-digital convertion therein.
In each of the analog-digital converters (3.sub.B), (3.sub.G) and
(3.sub.R), each of the 8 bit signals is divided respectively into high
order 4 bit (B, G, R) signals (shown in FIG. 13 as high order digit) and
lower order 4 bit signals (b, g, r) by each of the analog-digital
converters (3.sub.B, 3.sub.G and 3.sub.R). Each of the high order 4 bit
signals is fed to the adders (4.sub.B), (4.sub.G) and (4.sub.R),
respectively.
Each of the lower order 4 bit signals is fed to a comparator (5) for
comparing magnitude of the signals of b (blue), g (green) and r (red).
Any one signal which meets the magnitude requirement on comparison is fed
to a selector (6) and a coefficient selector (7). In the selector (6) the
input signal is accessed four times by a read timing clock (8).
Determination as to which of the high order 4 bit signals of B, G and R
"1" should be added depends on the output signal coming from the
comparator (5). Each of the outputs of the selector (6) is input to the
respective adders (4.sub.B), (4.sub.G) and (4.sub.R).
Respective adders (4.sub.B), (4.sub.G) and (4.sub.R) are connected to a
memory (9) in which all the color corrected signals corresponding to each
of all combinations of said high order 4 bits signals are preliminarily
stored. The memory (9) is connected with four registers (10), (11), (12)
and (13) with data lines. These registers (10), (11), (12) and (13) are
arranged to store color corrected signals which are accessed according to
clock signals from the read timing clock (8).
Each of these registers is connected to respective multipliers (14), (15),
(16) and (17). To the multiplier (14) 5 bits signal (coefficient signal)
in a special case (described hereinafter in detail) is input from the
selector (7), and to other multipliers (15), (16) and (17) respective 4
bits signals (coefficients) from the selector (7) are to be input.
In the respective multiplier (10), (11), (12) and (13) each of these
(coefficient) signals is multiplied by the color corrected signals stored
in the registers (10), (11), (12) and (13), and those results are added in
an adder (18) to which signals from a detail emphasizing circuit (not
shown) are also added.
Output signals from the adder (18) are stored in a memory (20) through a
limiter (19), and the contents of the memory (20) are read out by
controlling the access timing therefor and then they are fed to a
digital-analog converter (21) to generate the final analog output signals.
The operation of the color scanner utilizing the present invention will now
be described. At first, the three primary color separation signals, i.e.,
B (blue), G (green) and R (red), are obtained by photoelectrically
scanning an original color picture. These color separation signals are
converted to logarithmic values by the logarithmic amplifiers (2.sub.B),
(2.sub.G) and (2.sub.R), and those logarithmic values are further
converted to digital signals by each of the analog-digital converters
(3.sub.B), (3.sub.G) and (3.sub.R). In this case without utilizing the
interpolating method, if color corrected signals are to be prepared for
every combination of 256 gradations (8 bits) for each of these colors, R,
G and B individually a memory having capacity of 2.sup.8 .times.2.sup.8
.times.2.sup.8 =16.times.8 mega (bit) is needed. Therefore, the cost of
the memory becomes too expensive and further, it is not practical because
too much time is taken to calculate and store each of the color corrected
signals individually so as to correspond to respective combinations which
are preliminarily prepared for.
In the example shown in FIG. 13, each of the digital signals is divided
into an address signal for accessing each of the color corrected signals
of the high order 4 bits (B, G, R) and the lower order 4 bits signals (b,
g, r) in the respective analog-digital converters (3.sub.B), (3.sub.G) and
(3.sub.R). With respect to all combinations of the high order 4 bit
signals (2.sup.4 .times.2.sup.4 .times.2.sup.4 =4096), each of the color
corrected signals is previously prepared therefor. In this case capacity
of the memory (9) may be 4K.times.8 bits, so that one-four thousandth
(1/4000) of that of the abovementioned can be saved. At this time, for
finer combinations, including the lower order 4 bit (b, g, r) address
signals, color corrected signals are partially prepared, i.e., very
insufficiently, so that additional color corrected signals are generated
by the following interpolating method to be used for compensating
therefor.
Signals of the lower order 4 bits are fed to the comparator (5), wherein
relations in magnitude among those of (b, g, r) are compared. Six cases
can be anticipated in the resultant comparisons, and any one output signal
is entered into the coefficient selector (7) and the selector (6).
In the selector (6), any one signal entered is accessed four times by the
read timing clock (8), and depending on the output signal from the
comparator (5), the decision as to which high order 4 bit signals B, G and
R "1" should be added is made. In other words, at the first time,
irrespective of magnitude among the signals of b, g and r, the color
corrected signals themselves corresponding to those addresses of B, G and
R are accessed so as to be stored in the first register (10). Next, at the
second time "1" is added to any one of the high order addresses
corresponding to the signal having the largest value among those of b, r
and g. In such a case of r g b or r b g, that is, wherein r is the
maximum, "1" should be added only to the address of R, and then the color
corrected signal of which address R+1, G and B is accessed and stored in
the second register (11).
At the third access time "1" is added to two of the high order addresses
corresponding to those of the largest and the next larger one, that is,
when there is relation of r g b, among those values of r, g and b, a color
corrected signal of which address is R+1, G+1, B is addressed, and in case
of there being relations of r b g, a color corrected signal having R1, G,
B+1 address is accessed and stored in the third register (12). At the
fourth access time, to all high order addresses "1" is added, and a color
corrected signal of which address is R+1, G+1, B+1 is accessed so as to be
stored in the fourth register (13). While the lower order 4 bit signals
are entered into the selector (6), and 4 sets of signals such as (1-R;
1-g; 1-b), (r-g; r-b; g-b; g-r; b-r; b-g), (g-b; b-g; b-r; r-b; r-g; g-r)
and (b, r, g) are calculated.
According to the signals from the comparator (5), any one of said sets of
signals is selected respectively, and picked up as four coefficient
signals. In this case since r, g and b are originally 4 bit signals, each
of the thus selected four coefficient signals is also 4 bits. However,
only when the following relations come out among them, i.e. r=g=b=0, the
value of 1-r is equivalent to 10000-r.sub.4 bits =10000 in binary
notation, and becomes a signal of 5 bits.
Each of the coefficient signals is multiplied by each of the color
corrected signals stored in each of the registers (10), (11), (12) and
(13) with each of the multipliers (14), (15), (16) and (17), and the high
order 9 bits or 8 bits of those resultant products are added to each
other.
Practically, signals from a detail emphasizing circuit (not shown) is
further added to the adder (18). When carrying is performed to the highest
significant position in the high order 9 bits of this result (product),
signals to be output are limited to signals of 8 bits by setting "1" to
all 8 bits of the lower order (=377 in octal notation) with the following
circuit. And these results are the color corrected signals which
correspond to those addresses R+r, G+g, and B+b.
These results are the color corrected signals which correspond to those
addresses R+r, G+g and B+b. In this figure it is shown that for the
purpose of changing magnification freely, the color corrected signals
obtained by interpolation are once stored in a data memory (not shown),
and according to magnification rate access time are adjusted so as to
output signals to a D/A converter. However, there is no necessity for
changing magnification, the interpolated resultant signals may be directly
input to the D/A converter to be output to the interface (not shown) as
final analog signals.
* * * * *
|
|
| |