|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to image process apparatus and method which
perform a coloring process on inputted image data.
2. Related Background Art
In a case where an image formed based on color image data is satisfactorily
outputted by a color printer, on each of a plurality of objects which
constitute the output image, coloring processes such as a color correcting
process, a color converting process, a binarizing process and the like
according to the type of object are necessary. In this case, an output
result and printing process speed are remarkably influenced by operational
factors, i.e., in what order such the coloring processes are performed on
the respective objects and at what timing the objects subjected to such
coloring processes are written into a buffer.
In conventional techniques, roughly, two types of processes are provided.
It is assumed that the process in a high-speed mode is provided as the
first conventional technique. FIG. 11 is a block diagram showing a flow of
the process in the high-speed mode.
In the high-speed mode, a color correcting process unit performs the color
correcting process on each object to convert color information (i.e., RGB
multivalue data) of such object into R'G'B' multivalue data, and a
binarizing process unit performs the binarizing process on the R'G'B'
multivalue data to store obtained RGB binary data into a buffer. Then, a
color converting process unit performs the color converting process on the
RGB binary data in the buffer to convert them into CMYK binary data and
transfer the converted CMYK binary data to an output unit (i.e., printer).
As a feature of the high-speed mode, it is pointed out that printing speed
is high since the object is binarized once and then written (i.e., stored)
into the buffer. However, since the RGB multivalue data are once converted
into the RGB binary data, a non-linear color converting process including
an under color removal (UCR) process is impossible. Therefore, there is a
drawback that color reproducibility is poor.
It is assumed that the process in a high-quality mode is provided as the
second conventional technique. FIG. 12 is a block diagram showing a flow
of the process in the high-quality mode.
In the high-quality mode, a color correcting process unit performs the
color correcting process on each object to convert color information
(i.e., RGB multivalue data) of such object into R'G'B' multivalue data and
stores the obtained R'G'B' multivalue data into a buffer. Then, a color
converting process unit performs the color converting process on the
R'G'B' multivalue data in the buffer to convert them into CMYK multivalue
data, and a binarizing process unit performs the binarizing process on the
converted CMYK multivalue data to generate CMYK binary data and thus
transfers the obtained CMYK binary data to an output unit (i.e., a
printer).
As a feature of the high-quality mode, it is pointed out that the
non-linear color converting process including the UCR process is performed
since the RGB multivalue data are converted into the CMYK multivalue data
in the color converting process, whereby good color reproducibility is
obtained. However, since the object is written into the buffer in the form
of multivalue data as is, there is a drawback that the printing speed is
low.
Conventionally, the RGB multivalue data or the RGB binary data is stored in
the buffer. Therefore, a logical operation process could well be performed
by using a logical operation code for a luminance component designated
from an application (i.e., application software).
In order to effect advantages of these two types of modes, it is necessary
for a user to designate which mode is used to perform the process in
accordance with the desired output result, i.e., a user's intended use.
However, even if the user selects either mode, it is necessary for the
user to compromisingly put up with either one of the printing process
speed and the printing quality.
On the other hand, if it is intended to provide a mode which can derive the
advantages in both the above-described two conventional techniques, the
CMYK binary data must be stored into the buffer. If the flow of process is
set in such a manner, the logical operation process is indispensably
performed on the basis of the CMYK binary data. In this case, since the
CMYK binary data is not linearly independent data, a satisfactory result
of the logical operation process can not be obtained.
SUMMARY OF THE INVENTION
The present invention is made in consideration of the above-described
drawbacks. An object of the first invention is to perform a good logical
operation process on color image data consisting of a black density
component and a plurality of color density components.
In order to achieve the above object, according to a first feature, there
is provided an image process apparatus comprising:
input means for inputting input image information which represents an
object image and includes a logical operation table;
color conversion means for converting the input image information into
color image data consisting of the black density component and the
plurality of color density components;
conversion means for converting the color image data into linearly
independent color image data, by converting the black density component
into the plurality of color density components; and
logical operation process means for performing, on the basis of the logical
operation table, the logical operation process on a plurality of color
component data which constitute the linearly independent color image data
converted by the conversion means.
Further, an object of the second invention is to perform a process
according to use intended by a user, by independently setting a mode for a
color matching process and a mode for an N-value data generating process.
In order to achieve the above object, according to a second feature, there
is provided an image process apparatus comprising:
input means for inputting input image information which represents an
object and includes a drawing function and a color designation code;
coloring process mode setting means for setting a coloring process mode on
the basis of manual instructions by the user;
coloring process setting means for setting, in a case where an automatic
setting mode is set by the coloring process mode setting means, a coloring
process according to a type of the object by analyzing the drawing
function;
color matching process means for performing the color matching process on
color data indicated by the color designation code, on the basis of the
setting; and
N-value data generating process means for performing the N-value data
generating process on the color data indicated by the color designation
code, on the basis of the setting,
wherein the coloring process mode setting means can set the mode for the
color matching process and the N-value data generating process,
independently.
Furthermore, an object of the third invention is to adequately or exactly
set a color matching process according to a characteristic of an object.
In order to achieve the above object, according to a third feature, there
is provided a storage medium which stores a program for an image process
method comprising:
an input step of inputting input image information which represents the
object and includes a drawing function and a color designation code;
a coloring process mode setting step of setting a coloring process mode on
the basis of manual instructions by a user;
a coloring process setting step of setting, in a case where an automatic
setting mode is set in said coloring process mode setting step, a coloring
process according to a type of the object by analyzing the drawing
function;
a color matching process step of performing the color matching process on
color data indicated by the color designation code, on the basis of the
setting; and
an N-value data generating process step of performing an N-value data
generating process on the color data indicated by the color designation
code, on the basis of the setting,
wherein the coloring process mode setting step sets the mode for the color
matching process and the N-value data generating process, independently.
The above and other objects of the present invention will become apparent
from the following detailed description when read in conjunction with the
accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram for describing the structure of a print control
apparatus according to a first embodiment of the present invention;
FIG. 2 is a view showing the hierarchy structure of a host computer
according to the first embodiment;
FIG. 3 is a flow chart showing a process in a high-quality and high-speed
mode;
FIG. 4 is a view showing a user interface according to the first
embodiment;
FIG. 5 is a flow chart showing a logical operation process;
FIG. 6 is a flow chart showing a dithering process for CMYKRop;
FIG. 7 is a flow chart showing a logical operation process for CMYKRop;
FIG. 8 is a flow chart showing a CMYKRop algorithm;
FIG. 9 is a view showing a user interface according to a modified
embodiment of the present invention;
FIG. 10 is a view showing a user interface according to the modified
embodiment;
FIG. 11 is a block diagram showing a processing flow in a high-speed mode
according to a conventional technique; and
FIG. 12 is a block diagram showing a processing flow in a high-quality mode
according to the conventional technique.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Hereinafter, the embodiments of the present invention are explained in
detail with reference to the accompanying drawings.
(First Embodiment)
FIG. 1 is a block diagram showing a print control apparatus according to
the first embodiment of the present invention. It should be noted that the
present invention does not depend on whether a color correcting process
unit, a color converting process unit and a binarizing process unit are
provided in a host computer (i.e., a printer driver) or in a printer.
Similarly, it should be noted that the present invention does not depend
on whether a buffer is provided in the host computer or in the printer.
The print control apparatus according to the present embodiment consists of
a host computer 30 and a printer 40.
The host computer 30 has a read only memory (ROM) 3 which consists of a
font ROM, a program ROM and a data ROM; a random access memory (RAM) 2; a
central processing unit (CPU) 1 which performs various processes by using
the RAM 2 as a working memory on the basis of a program stored in the ROM
3; a bus 4 which transfers various data; a keyboard connector (KBC) 5
which connects the bus 4 and a keyboard (KB) 9 with each other; a CRT
connector (CRTC) 6 which connects the bus 4 and a cathode ray tube (CRT)
10 with each other; a disk connector (DKC) 7 which connects the bus 4 and
an external memory 11 such as a hard disk (HD), a floppy disk (FD) or the
like, with each other; and a printer connector (PRTC) 8 which connects the
bus 4 and the printer 40 with each other.
The printer 40 has a CPU 12, a RAM 19, a ROM 13 and a bus 15 which have the
same functions as those of the CPU 1, the RAM 2, the ROM 3 and the bus 4
in the host computer 30, respectively. Further, the printer 40 has an
input unit 18 which transmits and receives data to and from the host
computer 30 through a two-way communication line 21, a print unit
interface 16 which connects the bus 15 and a print unit 17 with each
other, a memory controller (MC) 20 which connects the bus 15 and an
external memory 14 with each other, and a console unit 21.
FIG. 2 is a view showing hierarchy structure of a software and hardware in
the host computer 30. That is, in the hierarchy structure, an application
(or application software) such as a desktop publishing (DTP) software or
the like which is stored in the external memory and a later-described
printer driver are operated on an operation system (OS). Further, each
circuit (PC) in the host computer 30 is controlled based on the OS.
Hereinafter, a process of the printer driver according to the present
embodiment is described in detail with reference to the accompanying
drawings.
FIG. 3 is a flow chart showing the process of the printer driver in a
high-quality and high-speed mode.
FIG. 4 is a view showing an image plane which is used to set the coloring
process of the printer driver. On the image plane, a user sets by using
the KB 9 a coloring process mode by selecting either one of an automatic
setting mode, a photograph mode, a graphics mode and a character mode
(step S10). In a default state, the automatic setting mode is set.
In each of the photograph mode, the graphics mode and the character mode,
the coloring process suitable for an object type intended to be processed
in each mode is performed for an input image as a whole.
On the other hand, in a case where the automatic setting mode is set, the
object type is discriminated for each of the objects constituting the
input image, and then the coloring process according to a discriminated
result is performed.
Input image information which is inputted from the application through the
OS is composed of a drawing function, a color designation code and the
like.
For example, the input image information which represents a character is
composed of the drawing function representing the character and a
character code representing the character type. Further, the input image
information which represents graphics is composed of the drawing function
representing a type of the graphics or figures, a raster operation (Rop)
code, position information representing a position at which the object is
drawn, and a color designation command. Furthermore, the input image
information which represents a photograph is composed of bit-map
information and header information representing a format (i.e., the number
of colors) of the bit-map information, the position information and the
like.
In a case where the automatic setting mode is set in the step S10, the flow
advances to a step S20 to discriminate, based on the drawing function
included in the input image data, the object type represented by this
input image data, and to set the coloring process to be performed on this
object.
In a case where the bit-map information is included in the input image
data, the number of colors included in the header information is
discriminated. Then, if the number of colors is equal to or larger than a
predetermined value, the object is discriminated as a photographic image
and thus the coloring process for the photograph is set. On the other
hand, if the number of colors is smaller than the predetermined value, the
object is discriminated as a graphics image and thus the coloring process
for the graphics is set.
In the photographic image (i.e., natural image), gradation (or tonality) is
expressed by using a large number of colors as compared with the character
image or the graphics image. For this reason, when a binarizing process is
performed in the coloring process for the photographic image, an error
diffusion method in which long processing time is necessary is used since
such process attaches importance to the gradation or tonality. In the case
where the number of colors included in the bit-map information is smaller
than the predetermined value, it can be judged that the tonality is not
important in this object. Therefore, since it is not so effective in this
case to perform the coloring process for the photograph which attaches
importance to the tonality, the coloring process for the graphics of which
processing time is short is selected.
In a case where the satisfactory output result corresponding to the input
image is outputted by the printer, it must be performed the coloring
processes including the color correcting process (obtaining R'G'B'
multivalue data from RGB multivalue data), the color converting process
(obtaining CMYK multivalue data from RGB multivalue data; or obtaining
CMYK binary data from RGB binary data); and the binarizing process
(obtaining CMYK binary data from CMYK binary data; or obtaining RGB binary
data from RGB multivalue data).
Since a color reproduction gamut (or range) of the printer is narrower than
that of a monitor or a scanner, sometimes the input image includes a color
which is outside the color reproduction gamut of the printer. In such a
case, the input image can not be faithfully reproduced by the printer.
Therefore, it is performed as the color correcting process a color
matching process in which the input color is subjected to mapping into the
color reproduction gamut of the printer. That is, the color correcting
process unit for the character performs the color matching process such
that a color difference between the input color and an output color
becomes minimum (step S30). Further, the color correcting process unit for
the graphics attaches importance to vividness of color, and thus performs
the color matching process such that a saturation component of the input
color is maintained as much as possible (step S60). Furthermore, the color
correcting process unit for the photograph attaches importance to
continuity of color (i.e., tonality) in the image, and thus performs the
color matching process such that a hue is maintained (step S100).
The color converting process unit performs a masking under color removal
(UCR) process and a gamma process on the basis of output characteristics
depending on a coloring agent and a print mode of the printer (steps S40,
S70 and S110). In the present embodiment, the color converting process
unit performs the same color converting process irrespective of the object
type. However, the color converting process unit may perform the color
converting process in accordance with the object type.
Like the color correcting process unit, the binarizing process unit
performs the binarizing process in accordance with the object type. That
is, the binarizing process unit for the character performs a dithering
process by using such a dither matrix as an edge portion is made plain and
also black is emphasized (step S50). Further, the binarizing process unit
for the graphics performs the dithering process by using a dither matrix
based on a CMYKRop algorithm as described later (step S80). Furthermore,
the binarizing process unit for the photograph attaches importance to the
tonality or gradation, and thus performs the binarizing process by using
the error diffusion method (step S130).
On the object which belongs to the graphics, a logical operation process
according to the Rop code included in the input image data is performed on
the basis of the CMYKRop algorithm (step S90).
The object image is developed on the basis of the CMYK binary data which is
subjected to the coloring process according to the setting coloring
process mode. Then, the developed object image is written into the buffer
in the form of the CMYK binary data, on the basis of position information
included in the input image information (step S140).
Then the CMYK binary data stored or written in the buffer is outputted to
the printer (step S150).
In a case where the high-quality and high-speed mode in the present
embodiment is compared with the two types of modes in the conventional
technique, it is seen that, since the RGB multivalue data are converted
into the CMYK multivalue data in the color converting process, the color
reproducibility is improved in the present embodiment (i.e., the obtained
color reproducibility is substantially equal to that in the conventional
high-quality mode). Moreover, it is seen that, since the obtained CMYK
multivalue data are binarized, subjected to the developing process and
then stored in the buffer, the printing speed is improved in the present
embodiment (i.e., the obtained printing speed is substantially equal to
that in the conventional high-speed mode).
Further, in the case where the automatic setting mode is being set, since
the coloring process is performed for each object and then the processed
object is written into the buffer, the coloring process and the binarizing
process both according to the characteristic of the object are performed
in the present embodiment.
Such an operation as described above is the processing flow in the
high-quality and high-speed mode according to the present embodiment.
However, when the object of the graphics is written into the buffer,
sometimes the logical operation process must be performed.
In the conventional high-quality mode and the high-speed mode, when the
logical operation process is performed on the RGB data, since such RGB
data are the linearly independent data, problems do not occur. However, in
the high-quality and high-speed mode, since the logical operation process
is performed on the CMYK binary data which are not linearly independent
data, there is a problem that the logical operation process can not be
accurately performed.
Since the K (black) data includes C (cyan), M (magenta) and Y (yellow)
components and each component of the CMYK data can not be considered
independently, the CMYK data are not linearly independent data.
In order to eliminate such problem, in the present embodiment, a logical
operation process algorithm (assumed as CMYKRop algorithm) to be described
later is used. In this case, the "Rop" represents a raster operation which
is the logical operation to be performed on a pixel. Concretely, on the
binary data, the "Rop" corresponds to a Boolean operation. On the other
hand, on the multivalue data, the "Rop" corresponds to a process like the
Boolean operation.
An outline of the CMYKRop algorithm is described hereinafter. That is,
while only the logical operation process is performed by using the CMY
data which are linearly independent data, the other coloring processes are
performed by using the CMYK data so as to sufficiently make good use of
the characteristic of the high-quality and high-speed mode.
The logical operation process is the process which is performed based on
the Rop code indicated by the application (i.e., application software). In
the logical operation process, as shown in FIG. 5, a source (i.e., bit
map) and/or a pattern (i.e., figure information; brush) corresponding to
the object represented by the input image information and a destination
(i.e., bit map) corresponding to the object which is already written into
the buffer are arbitrarily combined with each other to be processed. In
the present embodiment, an ordinary logical operation is to perform the
logical operation corresponding to the Rop code on each of the CMYK data
and then write obtained results onto the destination. For example, the
ordinary logical operation is used in the logical operation process which
overwrites the source or the pattern (i.e., input object) onto the
destination. On the other hand, in the logical operation process which
performs the logical operation by combining the source, the pattern and
the destination with others and thus generates the object different from
the input object, the logical operation for CMYKRop is used such that the
process is performed by using the CMYKRop algorithm. In this case, the
CMYKRop algorithm is executed based on the binarizing process (step S80)
and the logical operation process (step S90) both shown within a
dotted-line portion in FIG. 3. FIG. 8 is a detailed flow chart showing an
entire process flow of the CMYKRop algorithm.
In this flow, a dithering process for CMYKRop shown in FIG. 6 is performed
(step S300). Then, by analyzing the Rop code, it is discriminated whether
or not the logical operation process indicated by the target object can be
performed in the form of an ordinary logical operation process (step
S310). In other words, it is judged whether or not the logical operation
needs to be the linearly independent operation such as the overwriting or
the like.
When the process can be accurately performed by the ordinary logical
operation, the logical operation process for CMY is performed on each of
the CMYK data and then obtained results are written into the buffer (step
S320).
On the other hand, when the process can not be accurately performed by the
ordinary logical operation, the logical operation process for CMYKRop
shown in FIG. 7 is performed and then obtained results are written into
the buffer (step S330).
There are roughly two types of components in the CMYKRop algorithm. One of
the components is the logical operation process for CMYKRop. In this
process, in a case where it is necessary to perform the logical operation
process, the CMYK data are converted into the CMY data to be subjected to
the logical operation process. Then, as to the obtained result, to give
priority to CMY colors, the CMY data are again returned to the CMYK data
and then stored or written into the buffer. The other of the components is
the binarizing process and the dithering process for CMYKRop for allowing
the logical operation process for CMYKRop locally.
FIG. 6 is a flow chart showing the dithering process for CMYKRop.
The object of the dithering process for CMYKRop is to perform, in case of
binarizing the CMYK multivalue data, the optimal binarizing as to a color
density. Further, the object of the process is to cause, as to bit
arrangement, the CMY data returned from the CMYK data in the logical
operation process for CMYKRop to have the bit arrangement which is
necessary for performing the logical operation process.
In the dithering process for CMYKRop, initially, to the CMYK multivalue
data, the value of K data is added to the respective values of CMY data so
as to generate C'M'Y'K' multivalue data (step S200).
Then, the binarizing process is performed on the C'M'Y'K' multivalue data
respectively by using the same dither matrix (step S210).
Subsequently, if a K bit has a value "1" for given pixel, CMY bits for the
given pixel are changed from "1" to "0", respectively, (step S220).
According to the dithering process for CMYKRop, since the same dither
matrix is used to each of the CMYK colors, the K bit can certainly be
raised for a black pixel. On the other hand, for a pixel having a color
other than black, in the stage of multivalue data the K data is
respectively added to the CMYK data with conversion, whereby the
binarizing processed result in which a color density and a tint are
maintained can be obtained.
That is, resultingly, the CMYK binary data representing black can be
generated from the black pixel, and the CMYK binary data maintaining the
tint can be generated from the pixel of the color other than black.
FIG. 7 is a flow chart showing the logical operation process for CMYKRop.
In a pre-process of the logical operation process, to the input object
(i.e., source or pattern) and the destination, by returning the K bit to
the CMY bits, the CMY data are converted into the CMYK data capable of
representing the color with the linearly independent CMY bits (steps S230
and S240).
Subsequently, the Rop code for a luminance component which has been set
based on the application is converted to obtain the Rop code for a density
component. Then, by using the obtained Rop code, the logical operation
process is performed on each of the CMYK data and the processed result is
written into the buffer (step S250).
In a post-process of the logical operation process, the colors which are
represented by the CMY bits are used. In the arbitrary pixel, in the case
where all the CMY bits are being raised, such pixel represents black.
Further, in the case where the K bit as well as the CMY bits have the
value "1", such CMY bits are changed from "1" to "0", respectively. In
other cases than these two cases, the K bit is fallen such that the colors
represented by the CMY bits are reproduced (step S260).
According to the CMYKRop algorithm in the present embodiment, the CMYK data
can be converted linearly independently, whereby the highly accurate
logical operation is performed on the basis of the Rop code.
As described above, according to the present embodiment, a user is able to
obtain the high-quality output result at high speed.
Concretely, in the case where the object is the photograph or the
character, the user can obtain the output result having the quality
equivalent to that in the high-quality mode at the printing process speed
equivalent to that in the high-speed mode. Further, even in the case where
the object is the graphics, as to the object in which the general logical
operation is the overwriting, the user can obtain the output result of the
quality equivalent to that in the high-quality mode at the printing
process speed equivalent to that in the high-speed mode.
As to the object which is the graphics and must use the CMYKRop algorithm,
the printing process speed is lower than that in the high-speed mode.
However, if it takes the entire process speed into consideration, the
processed result can be outputted at the speed of the extent from which
any problem is not occurred.
Especially, in the case where the automatic setting mode is being set, the
CMYKRop algorithm does not affect the object if such the object is the
character or the photograph. Therefore, as to such the object, the user
can obtain the optimal color reproducibility and the optimal printing
process speed. Further, even in the case where the object is the graphics,
by performing the binarizing with the dithering process for CMYKRop, the
ordinary logical operation process can be used to the logical operation
(i.e., overwriting of data or the like) which can be performed even on the
data not linearly independent, whereby lowering of the printing process
speed can be prevented.
(Modified Embodiment)
The high-quality and high-speed mode and the CMYKRop algorithm in the first
embodiment can be applied to not only the binary data but also the
multivalue | | |