|
Description  |
|
|
BACKGROUND OF THE INVENTION
The present invention relates to a graphic data processing apparatus for
removing the jags of edges included in vector data and, more particularly,
to a graphic data processing apparatus for determining the tones
(densities) of edge pixels of vector data and feeding the determined tones
to a laser printer or similar output unit.
It is a common practice with computer graphics to execute antialiasing
which allows an image to appear more attractive on a CRT (Cathode Ray
Tube). Conventional approaches for implementing antialiasing include (1)
an uniform averaging method, (2) a weighted averaging method (2) and (3) a
convolutional integration method.
With the advance of so-called DTP (Desk Top Publishing) using a personal
computer, systems of the type printing out vector images similar to those
which are handled by the computer graphics art are extensively used today.
Typical of such systems is one using Postscript of Adbi. Postscript
belongs to a family of languages usually referred to as PDLs (Page
Description Languages). PDL is a programming language for describing a
form representative of the contents of one document including the text,
graphics, and their arrangement and format. Regarding a character font,
this type of system is implemented with a vector font. Hence, even when
the text is changed in magnification, this system prints it out in far
higher quality than a system which uses a bit map font (e.g. conventional
word processor). Another advantage particular to the above-stated system
is that both the character font and the graphics can be printed out in
combination.
However, a laser printer applicable to such a system has a resolution which
is not higher than 240 dpi to 400 dpi and, like CRT of computer graphics,
suffers from alias. It is, therefore, necessary to provide even the laser
printer type printing with an antialias implementation so as to produce
high quality images.
When a conventional graphic data processing apparatus is implemented with
antialiasing which uses N.times.N subpixel devision, it cannot achieve
sufficient effects since it uses only moderate N from the standpoint of
processing time and subjective evaluation of image quality. Specifically,
excessively great N would increase the calculating time while excessively
small N would limit the effect.
A conventional graphic data processing apparatus using the uniform
averaging scheme uses only one kind of subpixel configuration such as N *
M submatix in calculating the tone (luminance and density) of a pixel.
This brings about a problem that, depending on the inclination of vector
data, the tone produced from the actual image and the tone produced from
the subpixel configuration greatly differ from each other, resulting in
insufficient antialiasing.
A graphic data processing apparatus implemented by the weighted averaging
scheme or the convolutional integration scheme is advantageous over the
apparatus implemented by the uniform averaging scheme since it reduces the
difference between the tone derived from the actual area and the tone
derived from the subpixel configuration and thereby enhancing the
antialiasing effect. Such an apparatus, however, consumes a substantial
period of time in calculating the area ratio and, therefore, slows down
the processing.
Moreover, in a graphic data processing apparatus provided with any one of
the conventional antialiasing schemes, despite that a laser printer which
outputs an image by electrophotographic process is substituted for CRT
which plays the role of an output unit, the luminance of CRT is simply
replaced with the density of the laser printer. This is undesirable since
the characteristic particular to an electrophotographic process prevents
the antialiasing effect from being fully exhibited.
SUMMARY OF THE INVENTION
It is therefore an object of the present invention to enhance the
antialising effect.
It is another object of the present invention to produce a tone not greatly
different from a tone derived from the actual area ratio without slowing
down the processing.
It is another object of the present invention to insure the antialiasing
effect by taking account of the characteristic of an electrophotographic
process.
It is still another object of the present invention to prevent low-density
dots ascribable to the characteristic of a pulse width modulation system
from degrading the antialiasing effect, without reducing the processing
rate.
It is a further object of the present invention to eliminate aliasing due
to low-density dots without reducing the accuracy of antialiasing.
In accordance with the present invention, a graphic data processing
apparatus for producing a tone of an edge pixel of vector data comprises a
dividing section for dividing an edge pixel of vector data into subpixels,
and a varying section for varying a configuration in which the dividing
section divides an edge pixel.
Also, in accordance with the present invention, a graphic data processing
apparatus for producing a tone of an edge pixel of vector data comprises a
dividing section for dividing an edge pixel of vector data into subpixels,
and a varying section for varying a size in which the dividing section
divides an edge pixel into subpixels by approximating the vector data to a
line vector and on the basis of an inclination of the line vector.
Further, a graphic data processing apparatus for determining a tone
(density) of an edge pixel of vector data by dividing the edge pixel into
subpixels and outputting the tone, the present invention selects, among a
plurality of subpixel configurations, a particular subpixel configuration
on the basis of whether or not a marginal point exists in the edge pixel,
and divides the edge pixel divided into subpixels in the particuar
subpixel configuration.
Yet, in accordance with the present invention, a graphic data processing
apparatus for producing a tone of an edge pixel of vector data comprises a
dividing section for dividing an edge pixel of vector data, and a tone
determining section for transforming, when an edge pixel is divided in a
left-and-right direction, the area of a right portion into a tone by a
greater contribution ratio than the area of a left portion.
Furthermore, in accordance with the present invention, a graphic data
processing apparatus for producing a tone of an edge pixel of vector data
comprises a dividing section for dividing an edge pixel into subpixels,
and a tone determining section for determining a tone of an edge pixel by
dividing the edge pixel into a division region which is to be divided into
subpixels and a non-division region which is not to be divided into
subpixels and on the basis of the number of subpixels of the division
region which are covered by an image.
In addition, in accordance with the present invention, a graphic data
processing apparatus for producing a tone of an edge pixel of vector data
comprises a dividing section for dividing an edge pixel of vector data
into subpixels, a deciding section for determining, on the basis of an
inclination of vector data traversing an edge pixel and the kind of an
edge, which of upper, lower, left and right portions of the edge pixel an
image to be painted is positioned, storing means for storing a first, a
second, a third and a fourth weighting filter to be used when the image to
be painted is positioned in the upper portion, lower portion, right
portion, and left portion of the edge pixel, respectively, and a tone
determining section for determining a tone of the edge pixel by selecting,
on the basis of the result of decision by the deciding means, one of the
first to fouth weighting filters matching the result of decision.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other objects, features and advantages of the present
invention will become more apparent from the following detailed
description taken with the accompanying drawings in which:
FIGS. 1A and 1B show conventional antialiasing;
FIGS. 2A and 2B how antialiasing implemented by a uniform averaging scheme;
FIGS. 3A and 3B show antialiasing using a weighted averaging scheme;
FIGS. 4A to 4D show specific filters applicable to the weighted averaging
scheme;
FIG. 5 shows a convolutional integration scheme using a 3.times.3 pixel
division;
FIGS. 6A and 6B and 7A to 7D indicate problems particular to conventional
antialising;
FIG. 8 is a block diagram schematically showing a first embodiment of the
image forming system in accordance with the present invention;
FIG. 9 is a block diagram schematically showing a specific construction of
a PDL controller included in the embodiment;
FIGS. 10A and 10B, 11 and 12A to 12C show the principle of the embodiment;
FIG. 13 is a flowchart demonstrating a specific operation of the
embodiment;
FIGS. 14 and 15 each shows the operation of the embodiment;
FIGS. 16A to 16F show antialiasing Particular to a second embodiment of the
present invention;
FIG. 17 is a block diagram schematically showing the second embodiment;
FIG. 18 is a block diagram schematically showing a specific construction of
a PDL controller included in the second embodiment;
FIG. 19A is a flowchart representative of a specific operation of the PDL
controller;
FIG. 19B shows a procedure for painting a path;
FIG. 19C is a flowchart representative of antialiasing processing;
FIGS. 20A and 20B indicate the division of a figure into line vectors;
FIG. 21 shows tones undergone antialiasing processing;
FIGS. 22A to 22D how Y, M, C and BK image data written to plain memory
sections of a page memory;
FIG. 23 is a block diagram schematically showing a control system of a
multi-level color laser printer;
FIG. 24 is a section showing a specific construction of the laser printer;
FIGS. 25A and 25B show a specific construction of a yellow recording unit;
FIGS. 26A to 26D show multi-level drive using pulse width modulation;
FIG. 27 shows various latent images each being associated with a particular
pulse width modulation level; FIG. 28 shows a toner image representative
of a square ABCD shown in FIG. 20A;
FIG. 29A to 29D show antialiasing particular to a third embodiment of the
present invention;
FIGS. 30A and 30B show the division of a figure into line vectors;
FIG. 31 is a flowchart demonstrating antialiasing particular to the third
embodiment;
FIG. 32 shows tones produced by the processing particular to the third
embodiment;
FIGS. 33A to 33D show Y, M, C and BK image data written to plain memory
sections of a page memory in the third embodiment;
FIG. 34 shows a toner image representative of a pentagon ABCDE shown in
FIG. 30A;
FIG. 35 shows a toner image representative of the pentagon ABDCE and
produced by the conventional subpixel division;
FIGS. 36A to 36E show antialiasing particular to a fourth embodiment of the
present invention;
FIG. 37 is a flowchart demonstrating the processing of the fourth
embodiment more specifically;
FIG. 38 shows tones undergone the processing of FIG. 4;
FIGS. 39A to 39D show Y, M, C and BK image data written to plain memory
sections of a page memory in the fourth embodiment;
FIG. 40 shows a toner image representative of the pentagon ABCDE shown in
FIG. 30A;
FIGS. 41A to 41F show antialiasing particular to a fifth embodiment;
FIG. 42 is a flowchart demonstrating the antialiasing of the fifth
embodiment more specifically;
FIG. 43 shows tones resulted from the processing particular to the fifth
embodiment;
FIGS. 44A to 44D show Y, M, C and BK image data written to plain memory
sections of a page memory in the fifth embodiment; and
FIG. 45 shows a toner image representative of the pentagon ABCDE shown in
FIG. 30A.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
To better understand the present invention, conventional graphic data
processing technologies will be described.
FIG. 1A shows a specific image appearing on CRT for computer graphics and
having jagged edges (generally referred to as "alias"), while FIG. 1B
shows the image whose alias has undergone luminance modulation to appear
smoother and more attractive. Antialiasing approaches available with
conventional graphic data processing are (1) uniform averaging, (2)
weighted averaging, and (3) convolutional integration, as stated earlier.
The averaging scheme decomposes each pixel into N * M (both being natural
numbers) subpixels, effects raster calculation at high resolution, and
then determines the luminance of each pixel by averaging the N * M
subpixels. A reference will be made to FIGS. 2A and 2B for describing the
uniform averaging scheme specifically. As shown, assume that the edge of
of an image traverses a certain pixel (in the figure, the image extends
rightward and downward from the oblique line). Then, if antialiase
processing is not executed, the maximum displayable luminance (e.g.
kid=255 in the case of 256 tones) is assigned to the pixel of interest, as
shown in FIG. 2A. When N=M=7 averaging, for example, is used to implement
antialiasing, the pixel of interest is divided into 7 * 7 subpixels, as
shown in FIG. 2B. The subpixels in which the image exists are counted. The
number of such subpixels (twenty-eight) is divided by the total number of
subpixels (forty-nine in this case) for standardization (averaging). The
maximum luminance (255) is multiplied by the result of division to produce
a luminance of the pixel of interest. In this manner, this particular
approach determines the luminance of a pixel by taking account of how the
image is associated therewith.
The weighted averaging approach is a modified version of the uniform
averaging approach. While the uniform averaging scheme treats all the
subpixels of a single pixel by using the same weight, i.e. , it simply
counts the subpixels covered by an image, the weighted averaging approach
assigns a particular weight to each subpixel so that the influence on the
luminance kid may depend on which subpixels are covered by an image. The
weights are provided by a filter. FIG. 3A shows a specific filter (here,
cone filter) characteristic for implementing the weighted averaging
scheme. Assume that the weighted averaging scheme is executed with the
image data shown in FIG. 2A and by using the N=M=7 division. The weights
of the filter are applied to corresponding subpixels which constitute a
single pixel. For example, the subpixel positioned at the upper right
corner is "2". When all the subpixels are covered by an image, the weight
provided by the filter characteristic is the count of a subpixel. FIG. 3B
shows a displayed image pattern which is associated with the different
weights of the subpixels shown in FIG. 3A. In this case, 199 subpixels are
covered by an image. The number of such subpixels is divided by the sum of
the values of the filter (here 336) as in the uniform averaging scheme,
and the maximum luminance is multiplied by the result of division produce
the luminance of the pixel of interest. FIGS. 4A to 4D show specific
filters for implementing the above procedure.
The convolution integration scheme determines the luminance of a given
pixel while referencing surrounding pixels. Specifically, this scheme
considers N'.times.N' pixels next to and surrounding a pixel whose
luminance should be determined as pixels which correspond to those of the
uniform averaging scheme or the weighted averaging scheme. FIG. 5 shows
the convolutional integration scheme which references 3.times.3 pixels by
way of example. In the figure, the pixel whose luminance should be
determined is designated by the reference numeral 2901. An image extends
rightward an downward from the oblique line, and smeared subpixels are
counted. Each pixel is divided into a 4 * 4 matrix. In this case,
therefore, use is made of a 12 * 12 filter. This kind of method is
successful in removing high-frequency components from a vector image.
The antialiasing method using the N.times.N subpixel matrix has a problem
left unsolved when applied to a conventional graphic data processing
apparatus, as follows. Namely, excessively great N would increase the
calculating time while excessively small N would limit the antialiasing
effect. Customarily, therefore, moderate N is selected by considering the
processing time as well as the subjective evaluation of image quality. A
conventional graphic data processing apparatus implemented by the uniform
averaging method uses only one kind of subpixel configuration (e.g. N * M
submatrix) in calculating a tone (luminance and density). This is
undesirable in that depending on the inclination of vector data, the tone
derived from the actual area and the tone derived from the subpixel
configuration greatly differ from each other, resulting in insufficient
antialiasing. Specifically, when the inclination of vector data is nearly
vertical or nearly horizontal, the N * M submatrix is apt to produce a
tone different from the actual area ratio. Assume a 3* 3 submatrix and an
edge pixel which vector data traverses with a nearly vertical inclination,
as shown in FIGS. 6A and 6B. Then, the probability that, among tones "0"
to "9", tons "1" and "2" are produced is small while the probability that
tons "3", "6" and "9" are produced is great. As a result, the tone derived
from the actual area ("4", FIG. 6B) noticeably differs from the tone ("6",
FIG. 6A) derived from the subpixel configuration, whereby the expected
antialiasing effect is not achievable.
A graphic data processing apparatus using the weighted averaging scheme or
the convolutional integration scheme reduces the difference between the
tone derived from the actual area and the tone derived from the submatrix
and thereby enhances the antialiasing effect, compared to the apparatus
implemented by the uniform averaging method. However, such an apparatus
increases the area ratio calculating time and thereby lowers the
processing rate.
Moreover, in a graphic data processing apparatus implemented by any one of
the conventional antialiasing schemes, despite that CRT is replaced with a
lasr printer which outputs an image by an electrophotographic process, the
luminance of CRT is simply replaced with the tone of the laser printer. In
this condition, the antialiasing effect is not always attainable due to
the characteristic of the electrophotoraphic process. Assume that a vector
image shown in FIG. 7A is subjected to antialias processing to produce
tones shown in FIG. 7B (tones "0" to "9" in the figure). When the resulted
tones are displayed on CRT as luminances, an image as smooth as a vector
image appears on the CRT due to the antialiasing effect, as shown in FIG.
7C. However, when the tones shown in FIG. 7B are used as densities and the
output of a laser beam is adjusted by pulse width modulation to form a
latent image, the density decreases at the left end (left edge) of the
latent image and increases at the right end (right) edge of the same, as
shown in FIG. 7D. This degrades the advantage particular to antialiasing
and is ascribable to the fact that in the case of pulse width modulation a
dot is formed by a laser beam whose duration (pulse width) depends on a
tone and whose reference point is the left end of a pixel. As a result,
the lower the tone of a dot, the farther the position of dot as measured
from the position of an actual image. This not only prevents an image
having tones resulted from antialiasing (see FIG. 7B) from being
reproduced faithfully but also makes jaggs conspicuous.
Preferred embodiments of the graphic data processing apparatus in
accordance with the present invention will be described hereinafter.
Embodiment 1
An image forming system incorporating a first embodiment of the present
invention which is implemented as a PDL (Desk Top Publishing) controller
will be described. The system forms an image by transforming vector data
described in PDL (Page Description Language) and outputted by PDL into
image data by the PDL controller.
As shown in FIG. 8, the image forming system has a host computer 100 for
generating a document described in PDL (postscript language in the
embodiment). A PDL controller (graphic data processing apparatus of the
invention) 200 receives PDL from the host computer 100 page by page and
develops it into black (BK), yellow (Y) , magenta (M) and cyan (C)
multi-level image data while executing antialias processing. A multi-level
color laser printer 300 prins out the multi-level image data outputted by
the PDL controller 200. A system controller 400 controls the operation of
the laser printer 300.
FIG. 9 shows a specific construction of the PDL controller 200. As shown,
the PDL controller 200 has a receiving unit 201 for receiving PDL fed from
the host computer 100. A CPU 202 controls the storage of the received PD1
and executes various kinds of processing such as antialias processing. The
reference numeral 203 designates an internal bus. A RAM 204 stores PDL
transferred thereto from the receiving unit 201 over the bus 203. A ROM
205 stores an antialiasing program and other programs thereon. A page
memory 206 stores multi-level Y, M, C and BK image data undergone
antialias processing. A transmitting unit 207 transfers the Y, M, C and BK
image data from the page memory 206 to the laser printer 300. An I/O
(Input/Output) interface 208 interfaces the PDL controller 200 to the
system controller 400. Subpixel varying means 208 is also connected to the
bus 203. The CPU 202 stores PDL received by the receiving unit 201 in the
RAM 204 via the system bus 203 according to the program stored in the ROM
205. On storing one page of PDL in the RAM 204, the CPU 202 executes an
antialiasing procedure with the graphic element having been stored in the
RAM 204 and thereby stores multi-level Y, M, C and BK image data in plain
memory sections included in the page memory 206. The page memory 206 has a
feature data memory section in addition to Y, M, C and BK plain memory
sections. Afterwards, the data in the page memory 206 is fed to the laser
printer 300 via the transmitting unit 207.
FIGS. 10A and 10B each shows part of, i.e., one pixel G of imgae data
stored in the page memory 206. Specifically, FIG. 10A presents a case
wherein the pixel G is divided into 4 * 4 subpixels S1 and four of the
sixteen subpixels S1 are painted. FIG. 10B presents a case wherein the
pixel G is divided into eight subpixels in the vertical direction and two
pixels in the horizontal direction and three of the sixteen subpixels S2
are painted. The pixel shown in FIG. 10A has a luminance of 25% while the
pixel shown in FIG. 10B has a luminance of 18.75% Since the real area of
the hatched portion is 12.5%, dividing the pixel into different numbers of
segments in the vertical and horizontal directions is sometimes higher in
accuracy despite the same number of subpixels. In the light of this, as
shown in FIG. 11, zones A, B and C are defined in matching relation to the
inclination of the line to the x and y axes. As shown in FIG. 12A to 12C,
4 * 4 subpixels S1, 2 * 8 subpixels S3, and 8 * 2 subpixels S2 are
assigned to the zones A, B and C, respectively. This is successful in
enhancing accurate antialias processing.
A specific operation of the PDL controller 200 will be described with
reference to FIG. 13. First, the coordinates representative of the start
and end points of lines such as those shown in FIGS. 10A, 10B and 11 and
the inclinations obtainable from the coordinates are stored in the RAM 204
as table data beforehand. Assume that graphic data D.sub.oo shown in FIG.
14 has been stored in the page memory 206. Then, the position of the start
line L which is O and the position of the end line L which is E are
respectively coincident with the Y axis of points e.sub.o (X.sub.o,
Y.sub.o) and e.sub.2 (X.sub.2, Y.sub.2) of the graphic data D.sub.oo.
Hence, the Y coordinate of the start L=0 of the graphic data D.sub.oo is
read (step S601), and then curved edges are subjected to linear
approximation (S602). It is to be noted that term "linear approximation"
refers to processing which, as shown in FIG. 15, represents a curve RL by
a set of lines DL. The coordinates of the start and end points of the so
approximated line and the inclination produced from the two coordinates
are stored as table data (S603). When the subpixel varying means 209
processes each line L, the inclination of the approximated line is
determined on the basis of the table data and the table data which is
stored in the RAM 204 beforehand. Next, the zone to which the obtained
inclination belongs is determined (S604), and then the sizes of the
subpixels S1, S2 and S3 are determined (S605). Subsequently, scan line
conversion is executed in each of the subpixels S1, S2 and S3 in matching
relation to the inclination of the approximated line (S606). Then, a
luminance is calculated on the basis of the number of painted pixels S1,
S2 and S3 (S607) and written as pixel luminance data (S608 ). Such
procedure is repeated from L=0 to L=E (S609 and S610).
As stated above, the embodiment changes the size in which a pixel is
divided into subpixels, on the basis of the inclination of an approximated
line. This allows the subpixel size for the calculation of a pixel
luminance to be changed in matching relation to the inclination of an
approximated line. As a result, more effective and accurate antialiasing
is achievable with the variable subpixel size than with a fixed subpixel
size, enhancing the quality of a resultant image.
Embodiment 2
An image forming system having a PDL controller which is implemented by the
graphic processing apparatus will be described hereinafter.
(1) Outline of Antialiasing
Referring to FIGS. 16A to 16C, three different subpixel configurations
(referred to as "submatrixes" hereinafter) applicable to this embodiment
are shown. Specifically, FIGS. 16A to 16C show respectively a 1 * 9
submatrix applicable to a vector data inclination .theta. which is tan
.theta.>9/2 (i.e. 77.47.degree.>.theta.>102.53.degree.), a 9 * 1 submatrix
applicable to a vector data inclination .theta. which is 2/9>tan
.theta.>-2/9 (e.g. 12.53.degree.>.theta.>-12.53.degree.), and a 3 * 3
submatrix applicable to the other vector data inclinations .theta.. When a
marginal point (start or end of vector data) exists in an edge pixel, the
embodiment uses the submatrix of FIG. 16C since the inclination .theta. of
the vector data cannot be determined unconditionally. For example, when
the inclination .theta. of the vector data is tan .theta.>9/2 and,
therefore, nearly vertical, tone "4" is produced by use of the 1 * 9
submatrix and the division shown in FIG. 16D. On the other hand, when the
conventional method (3 * 3 submatrix) is used to determined a tone of the
same edge pixel, tone "6" is obtained, as shown in FIG. 16E. As a result,
the tone resuled from the 1 * 9 submatrix is closer (or equal) to the
actual tone than the 3 * 3 submatrix. When a maginal point exists in an
edge pixel, a tone is determined by the 3 * 3 submatrix, as shown in FIG.
16F.
The processing described above executes decision on the basis of the
inclination .theta. readily obtainable from the vector data of an edge
pixel and whether or not a marginal point exists. Regarding which
subpixels the vector data traverses, the above processing uses the same
decision principle as the conventional processing. Hence, the processing
rate is substantially the same as the rate particular to the conventional
uniform averaging scheme. Stated another way, the processing speed is far
higher than the processing speed achievable with the weighted averaging
scheme and convolutional integration scheme.
(2) Block Diagram of Image Forming System
The illustrative embodiment transforms vector data described in PDL and
outputted by DTP into image data via the PDL controller. The system
construction of the embodiment will be described with reference to FIG.
17.
The image forming system has a host computer 100 for generating a document
described in PDL (postscript language in the embodiment). A PDL controller
(graphic data processing apparatus of the invention) 200 receives PDL from
the host computer 100 page by page and develops it into black BK, Y, M,
and cyan C multi-level image data while executing antialias processing. A
multi-level color laser printer 300 prins out the multi-level image data
outputted by the PDL controller 200. A system controller 400 controls the
operation of the laser printer 300.
(3) Construction and Operation of PDL Controller
FIG. 18 shows a specific construction of the PDL controller 200. As shown,
the PDL controller 200 has a receiving unit 201 for receiving PDL fed from
the host computer 100. A CPU 202 controls the storage of the received PID1
and executes various kinds of processing such as antialiasing. The
reference numeral 203 designates an internal bus. A RAM 204 stores PDL
transferred thereto from the receiving unit 201 over the bus 203. A ROM
205 stores an antialiasing program and other programs thereon. A page
memory 206 stores multi-level Y, M, C and BK image data undegone antialias
processing. A transmitting unit 207 transfers the Y, M, C and BK image
data from the page memory 206 to the laser printer 300. An I/O
(Input/Output) interface 208 interfaces the PDL controller 200 to the
system controller 400. The CPU 202 stores PDL received by the receiving
unit 201 in the RAM 204 via the system bus 203 according to the program
stored in the ROM 205. On storing one page of PDL in the RAM 204, the PUC
202 executes an antialiasing procedure with the graphic element having
been stored in the RAM 204 and thereby stores multi-level Y, M, C and BK
image data in plain memory sections included in the page memory 206. The
page memory 206 has a feature data memory section in addition to Y, M, C
and BK plain memory sections. Afterwards, the data in the page memory 206
is fed to the laser printer 300 via the transmitting unit 207.
Referring to FIG. 19A, a specific operation of the CPU 202 included in the
PDL controller 200 will be described. Receiving PDL page by page from the
host computer 100, the PDL controller 200 develops it into BK, Y, M and C
color image data while subjecting it to antialias processing. Regarding
PDL, both the graphics and texts are described in vector data, and image
data are dealt with on a page basis. One page is made up of more than one
paths each having one or a plurality of elements (graphic and text
elements).
On receiving PDL, the CPU 202 determines whether or not the element is a
curve vector and, if it is a curve vector, approximates it to a line
vector and then registers it in a working area as a line. The CPU 202
repeats this operation with all of the graphic and text elements included
in one path to register resulted lines in the working area on a path basis
(processing 1). Subsequently, the CPU 202 sorts the lines registered in
the working area with respect to the start y axis of the line (processing
2). Then, the CPU 202 paints the path by scanning lines while updating the
y axis (processing 3). In this embodiment, the term "scanning line" refers
to a line whose thickness is less than one pixel, as distinguished from a
one-pixel scanning line having a thickness corresponding to one pixel. For
example, when a path shown in FIG. 19B is to be painted, the CPU 202
registers the elements located at the sides which a scanning line yc
traverses and the real numerical values of the x coordinates traversing
the scanning line yc (x.sub.1, x.sub.2, x.sub.3 and x.sub.4, FIG. 19B) in
AET (Active Edge Table). Since the elements are registered in the working
area in the order in which they have been registered by the processing 1,
the x coordinates crossing the scanning line yc are not always registered
in the increasing order. For example, assuming that the line which the
scanning line yc and the coordinate x.sub.3 traverse has been processed by
the processing 1 first, then x.sub.3 is registered in AET first as an x
coordinate. Therefore, after the registration in AET, the elements of the
individual sides registered in AET are sorted in x coordinate in the
increasing order. Two elements as counted from the smallest x coordinate
are paired, and then the space between the two elements is painted
(specifically, painting by a one-pixel scanning line defined by nearby
scanning lines yc and yc+1). In the event of such painting, antialiasing
is implemented by adjusting the density of each edge pixel in conformity
to the area ratio. The processed side is removed from AET, and then the
scanning line or y axis is updated. The CPU 202 repeats this sequence of
steps until it process all of the sides registered in AET, i.e., all of
the elements constituting one path.
The CPU 202 executes the consecutive processing 1, 2 and 3 on a path basis
and repeats them until it reaches the last path of one page.
FIG. 19C shows a specific sequence of steps representative of antialias
processing which is executed during the painting procedure, i.e.
processing 3. Assume that a square ABCD shown in FIG. 20A is inputted
during the processing 1, FIG. 19A. The square ABCD has the following
elements:
(a) four line vectors AB, BC, CD and DA (real number notation)
(b) colors and luminances in the square
As shown in FIG. 20B, the square ABCD is divided into five line vectors
extending in the main scanning direction (real number notation). In the
embodiment, data is added to the start and end points of each of the five
line vectors, as follows:
(c) coordinates of the start point of the vector elements (above-mentioned
(a)) which define the start and end points of the line vector (real number
notation)
(d) inclination of the vector elements which define the start and end
points of the line vector
(e) features of the start and end points of the line vector (right and left
edges, apexes, lines thinner than one dot, crossing points of lines, etc).
When an edge pixel is detected during the painting procedure, the antialias
processing shown in FIG. 19C is executed.
Specifically, at the beginning of the subpixel painting process, whether or
not a marginal point of vector data exists in an edge pixel is determined.
If the answer of the decision is positive, the pixel is subdivided into
subpixels by use of the 3 * 3 submatrix shown in FIG. 16C so as to
determine subpixels which should be painted. If the answer of the decision
is negative, the inclination 0 of the vector data is determined. Then, the
pixel is divided into subpixels by use of the 1 * 9 submatrix if tan
.theta.>9/2 (see FIG. 16A), by use of the 9 * 1 submatrix if 2/9 >tan
.theta.>-2/9 (see FIG. 16B), or by use of the 3 * 3 submatrix if otherwise
(see FIG. 16B). This is also followed by the step of determining subpixels
which should be painted (S1201). Such a procedure is repeated with all of
the vectors which cross the scanning line (S1202 ). Subsequently, the
tones (densities) of the individual pixels are calculated, the first pixel
on the scanning line being first (S1203). This is followed by overwriting
processing for calculating the tones (densities) of the individual colors
(BK, R, G and B) of the figure (S1204), although not described
specifically. Afterwards, the tones of the individual colors are written
to the page memory by a conventional procedure (S1205). The steps S1203 to
S1205 are repeated with all of the pixels defining one line (S1206).
The CPU 202 executes the above-stated iterative sequence of steps to the
last pixel of the scanning lines (y axis) while updating the previously
mentioned content (c) by the data of (d). FIG. 21 shows the tones k of the
square ABCD, FIG. 20A, having been produced by the antialias processing.
The tones k are developed into BK, Y, M and C images by predetermined Y,
M, C and BK transform processing on the basis of the colors and luminances
in the figure (data (b)), and then written as image data to the associated
plain memory sections of the page memory 206. Regarding the Y, M, C and BK
transform processing, the embodiment has a Y, M, C and BK transform
program as software, although not shown or described specifically. FIGS.
22A to 22D show BK, C, M and Y data resulted from a relation
C:M:Y=1:0.5:0.3 and 100% UCR (Undercolor Removal).
(4) Construction and Operation of Laser Printer
Referring to FIG. 23, the multi-color laser printer 300 has a developing
section 301 for uniformly charging the surface of a photoconductive drum
which will be described, exposing the charged surface by a laser beam to
form a latent image, developing the latent image by a toner, and then
transferring the resulted toner image to a recording medium. Specifically,
the developing section 301 has a BK developing and transferring section
301 bk, a C developing and transferring section 301c, an M developing and
transferring section 301m, and a Y developing and transferring section
301y assigned to BK data, C data, M data and Y data, respectively, as will
be described in detail later. A laser driving section 302 receives 5-bit
Y, M, C and BK data, i.e., image density data from the PDL controller 200
and, in response, outputs a laser beam. The laser driving section 302 has
buffer memories 303y, 303m and 303c to which the 5-bit Y, M and C data are
respectively applied, laser diodes 304y, 304m, 304c and 304bk for emitting
laser beams associated respectively with the Y, M, C and BK data, and
drivers 305y, 305m, 305c and 305bk for driving respectively the laser
diodes 304y, 304m, 304c and 304bk. The BK developing and transferring
section 301bk, laser driving section 202, laser diode 304bk and driver
305bk will be referred to as a BK recording unit BKU collectively
hereinafter (see FIG. 24). Likewise, the combination of the C developing
and transferring unit 301c, laser diode 304c, driver 305c and buffer
memory 303c will be called a C recording unit CU (see FIG | | |