U.S. patent application number 11/377214 was filed with the patent office on 2006-07-20 for binary-coding pattern creating method and apparatus, binary-coding pattern, and computer-readable recording medium in which binary-coding pattern creating program is recorded.
This patent application is currently assigned to Fujitsu Limited. Invention is credited to Tetsuo Asano, Akiko Nagae, Nobuaki Usui.
Application Number | 20060159353 11/377214 |
Document ID | / |
Family ID | 26605534 |
Filed Date | 2006-07-20 |
United States Patent
Application |
20060159353 |
Kind Code |
A1 |
Nagae; Akiko ; et
al. |
July 20, 2006 |
Binary-coding pattern creating method and apparatus, binary-coding
pattern, and computer-readable recording medium in which
binary-coding pattern creating program is recorded
Abstract
A method is provided for creating a binary-coding pattern to be
used in binary-coding a multi-value image. The method includes the
steps of: creating a basic pattern shape of the prospective
binary-coding pattern by a first arithmetic operation; determining
the sequence of lighting pixels composing such basic pattern by a
second arithmetic operation; and creating a rectangular pattern,
which serves as the prospective binary-coding pattern, based on the
resultant basic pattern. Hereby, it is possible to automatically
create a centralized type of binary-coding pattern, and also it is
possible to facilitate creating a minimum-sized binary-coding
pattern.
Inventors: |
Nagae; Akiko; (Yokohama,
JP) ; Usui; Nobuaki; (Kawasaki, JP) ; Asano;
Tetsuo; (Kanazawa, JP) |
Correspondence
Address: |
STAAS & HALSEY LLP
SUITE 700
1201 NEW YORK AVENUE, N.W.
WASHINGTON
DC
20005
US
|
Assignee: |
Fujitsu Limited
Kawasaki
JP
|
Family ID: |
26605534 |
Appl. No.: |
11/377214 |
Filed: |
March 17, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10000072 |
Dec 4, 2001 |
7050638 |
|
|
11377214 |
Mar 17, 2006 |
|
|
|
Current U.S.
Class: |
382/237 ;
358/3.06 |
Current CPC
Class: |
H04N 1/4058
20130101 |
Class at
Publication: |
382/237 ;
358/003.06 |
International
Class: |
G06K 9/36 20060101
G06K009/36; H04N 1/405 20060101 H04N001/405 |
Foreign Application Data
Date |
Code |
Application Number |
Dec 8, 2000 |
JP |
2000-374958 |
Sep 14, 2001 |
JP |
2001-279535 |
Claims
1. A binary-coding pattern which is created based on a basic
pattern and is to be used in binary-coding a multi-value image,
wherein a series of halftone dots arranged in a network fashion is
generated by lighting pixels of said basic pattern sequentially
from the one nearer to a predetermined point of the prospective
basic pattern in such a manner that the length of an outline of the
lighted pixels adjoining to the non-lighted ones is minimal.
2. A binary-coding pattern according to claim 1, wherein the
sequence of lighting the pixels is determined based on a
coefficient which relates to a distance between a predetermined
point in said basic pattern and each of the pixels.
3. A rectangular binary-coding pattern which is created based on a
basic pattern and is to be used in binary-coding a multi-value
image, wherein a series of halftone dots arranged in a network
fashion is generated by lighting pixels of a motif-pattern, which
shows a distinctive characteristic of the binary-coding pattern, in
a predetermined sequence, and by arranging said motif-pattern in
repetitions in accordance with a predetermined rule.
4. A binary-coding pattern according to claim 3, wherein: said
motif-pattern occupies a rectangular area that is measured Y in the
primary scanning direction by i in the secondary scanning
direction, thus being composed of Y.times.i pixels; Y measured in
the primary scanning direction is equal to a length, measured in
the primary scanning direction, of said rectangular pattern of the
particular size; and i measured in the secondary scanning direction
is equal to a minimum quantity (the number of pixels), measured in
the secondary scanning direction, essential for said rectangular
area to include a complete set of lightening sequence numbers
determined one for each of the pixels composing the basic pattern.
Description
BACKGROUND OF THE INVENTION
[0001] 1. Field of the Invention
[0002] The present invention relates to a binary-coding pattern
(dither pattern table) for use in converting continuous tone images
(natural images, graphic images, colored characters, and others)
into binary images--hereinafter this process will be also called
"binary-coding". The invention also relates to a method and an
apparatus for creating such a binary-coding pattern and to a
computer-readable recording medium in which a binary-coding pattern
creating program is recorded.
[0003] 2. Description of the Related Art
[0004] When continuous tone images (natural images, graphic images,
and colored characters), which is input from input devices such as
scanners, are output from output devices such as printers, the
images must be converted into binary images, so that their
continuous tone is expressed by ON/OFF of coloring materials (ink,
toner, or the like; hereinafter also called "dot").
[0005] Dithering is a well-known method of such conversion
(binary-coding). In dithering, the value of one specific pixel
(object pixel) of a continuous tone image is compared with a
predetermined threshold to decide the intensity level of the pixel.
In accordance with this intensity level, the ON/OFF of the dot
corresponding to the object pixel is determined using a
binary-coding pattern prepared previously.
[0006] So far, binary-coding patterns have been created based on
skilled persons' intuitions and experiences. For example, when
creating a binary-coding pattern, a group of pixels (hereinafter
called "basic pattern") composing a single halftone dot is
generated. Errors are rounded at regular intervals for minimizing
them, or multiple basic patterns are arranged, so as to make a huge
pattern that is called a "super cell", so that halftone dot
displacement is minimized.
[0007] For supporting operators in creating binary-coding pattern,
there are known various techniques such as those disclosed in
Japanese Unexamined Patent Application Publications HEI 10-126618,
HEI 7-146945, and HEI 10-75361.
[0008] HEI 10-126618 discloses a halftone pattern creating method.
At any screen angle except but 0.degree., errors caused by inclined
small basic cells are compensated by changing the number of
dots.
[0009] Further, in HEI 7-146945, the length of the sides of a super
cell to be generated and the screen frequency of the super cell are
calculated by floating-point arithmetic operations to create the
super cell. This would make it possible to create dither patterns
having arbitrary screen angles.
[0010] Still further, HEI 10-75361 discloses a technique for
realizing a halftone dot having a screen angle that is close to the
designated one, by using super cells. Additionally, it also
discloses another technique in which two or more basic patterns are
made to behave as a single unit. It is thereby possible to reduce
the difference, between halftone dots, in the number of pixels
contained in the basic patterns that make up one halftone dot.
[0011] The above-described conventional binary-coding pattern
creating methods, all of which depends on skilled operator's
intuition and their experiences, have been accompanied with the
following problems. It is impossible to predict the conversion
results that a prospective binary-coding pattern now being created
would probably cause. Accordingly, operators are enforced to repeat
such operation procedures as binary-coding pattern creation,
printout, and confirmation. After much trial and error, it will be
finally possible to select the most appropriate binary-coding
pattern, thus necessitating a significantly long time in creating a
binary-coding pattern.
[0012] Further, the binary-coding pattern thus selected is not
always the best one, and also, errors and misidentifications occur
significantly frequently because of manual operations performed by
the operators. Moreover, a try-and-error method would require
increased resources (paper and ink, or else) because of repeated
operations, thus being not economical.
[0013] Furthermore, in HEI 10-126618, the number of pixels assigned
to each halftone dot is not always the same, because the number of
cells varies in this method, so that unevenness might show up in
output images, and moire might also appear on the boundaries of
adjoining super cells.
[0014] In HEI 7-146945, since floating-point arithmetic operations
are performed for obtaining the length of the sides of a super cell
to be generated and the screen frequency of the super cell, a
quantizing error finally obtained might be caused to be
enormous.
[0015] Further, in HEI 10-75361, since two or more basic patterns
are used to make up one single super cell for reducing errors, it
is necessary to create a huge super cell, and the amount of memory
needed for reading-in a halftone pattern would be significantly
increased, thus causing increased hardware manufacturing costs.
[0016] An error-diffusing dithering method is suitable for use in
outputting an image at relatively low resolution. In general, in
case where the amount of coloring material (say, ink) to be fixed
for each pixel on a print medium is very small, difficulties are
encountered in fixing isolated spots of the material. Accordingly,
with recent printers realizing outputs of high resolution, the
error-diffusing dithering has a problem of difficulty in fixing a
tiny amount of coloring material for each pixel onto the print
medium.
[0017] Further, a centralized dithering method is well-known as a
dithering technique. In the method, in accordance with the gray
intensity levels of pixels, coloring material is placed (lighted)
onto the pixels sequentially from the one nearer to a predetermined
center point.
[0018] The centralized dithering technique is advantageous in that
dot gains are minimized and the coloring material can be fixed
stably on a printing medium, and thus this technique is more
preferable than the error-diffusing one in case where the amount of
color material to be put on each pixel is significantly small. For
these reasons, it has been longed that a simple method of creating
a binary-coding pattern for use in such centralized dithering is
accomplished.
SUMMARY OF THE INVENTION
[0019] With the foregoing problems in view, one object of the
present invention is to provide a binary-coding pattern creating
method, with which a binary-coding pattern composed of a desired
number of pixels with a desired pattern angle is created with ease,
and a centralized type of binary-coding pattern, in particular, and
a minimum-sized binary-coding pattern are also easily created.
[0020] Another object of the invention is to provide an apparatus
for carrying out the above-mentioned method.
[0021] A further object of the invention is to provide a
computer-readable recording medium storing a binary-coding pattern
creating program.
[0022] In order to accomplish the above objects, according to the
present invention, there is provided a method of creating a
binary-coding pattern to be used in binary-coding a multi-value
image. The method comprises the steps of: (a) creating a basic
pattern shape of the prospective binary-coding pattern by a first
arithmetic operation; (b) determining the sequence of lighting
pixels composing such basic pattern; and (c) creating a rectangular
pattern, which serves as the prospective binary-coding pattern,
based on the resultant basic pattern.
[0023] As one generic feature of the present invention, a method is
provided of creating a binary-coding pattern to be used in
binary-coding a multi-value image, which method comprises the steps
of: (a) creating a basic pattern shape of the prospective
binary-coding pattern; (b) determining the sequence of lighting
pixels composing such basic pattern by a first arithmetic
operation; and (c) creating a rectangular pattern, which serves as
the prospective binary-coding pattern, based on the resultant basic
pattern.
[0024] As another generic feature of the present invention, there
is provided a method of creating a binary-coding pattern to be used
in binary-coding a multi-value image, which method comprises the
steps of: (a) creating a basic pattern shape of the prospective
binary-coding pattern by a first arithmetic operation; (b)
determining the sequence of lighting pixels composing such basic
pattern by a second arithmetic operation; and (c) creating a
rectangular pattern, which serves as the prospective binary-coding
pattern, based on the resultant basic pattern.
[0025] As one preferred feature, instep (c), the rectangular
pattern may be created by a third arithmetic operation.
[0026] As another preferred feature, step (a) includes the steps
of: (a-1) designating a pattern angle through which the
binary-coding pattern is turned; (a-2) designating the number of
pixels composing the basic pattern; and (a-3) executing an
arithmetic operation based on the pattern angle designated in step
(a-1) and the number of pixels designated in step (a-2).
[0027] As still another preferred feature, in step (a), one or more
rectangles are created which have the following corner points:
point A(c, 1); point B(a+c, b+1); point C(0, d+1); and point D(a,
b+d+1), parameters a, b, c, and d being arbitrary integers
satisfying an equation of n=ad+bc, where n is the number of pixels,
which is designated in step (a-2), and the one, out of such
rectangles, which is at an angle approximate to the pattern angle
designated in step (a-1), is selected as the basic pattern.
[0028] As a further preferred feature, in step (b), the sequence of
lighting the pixels is determined based on a distance between a
predetermined point in the basic pattern and each of the last-named
pixels.
[0029] As a still further preferred feature, in step (b), the
sequence of lighting the pixels is determined in such a manner that
the pixels are lighted sequentially from the one nearer to a
predetermined point of the basic pattern, and that the length of an
outline of the lighted pixels adjoining to the non-lighted ones is
minimal.
[0030] As an additional preferred feature, in step (b), the
sequence of lighting the pixels is determined based on a
coefficient which relates to a distance between a predetermined
point in the basic pattern and each of the last-named pixels.
[0031] Furthermore, as another preferred feature, in step (b), the
sequence of lighting the pixels is determined based on a weight
which has been assigned to each of the pixels by an arithmetic
operation according to a distance between a predetermined point in
the basic pattern and each of the last-named pixels.
[0032] As still another preferred feature, in step (c), the
rectangular pattern is created by cutting a rectangle in a
particular size from a spread of the basic patterns in which the
basic patterns are arranged successively in both a primary image
scanning direction and a secondary image scanning direction.
[0033] As a further preferred feature, in step (c), a motif-pattern
showing a distinctive characteristic of the rectangular pattern is
cut from the rectangular pattern to represent the rectangular
pattern.
[0034] Furthermore, as one preferred feature, the motif-pattern
occupies a rectangular area that is measured Y in the primary
scanning direction by i in the secondary scanning direction, thus
being composed of Y.times.i pixels; Y measured in the primary
scanning direction is equal to a length, measured in the primary
scanning direction, of the rectangular pattern of the particular
size; and i measured in the secondary scanning direction is equal
to a minimum quantity (the number of pixels), measured in the
secondary scanning direction, essential for the rectangular area to
include a complete set of lightening sequence numbers determined
one for each of the pixels composing the basic pattern in step
(b).
[0035] As another preferred feature, in step (c), the rectangular
pattern is created by an arithmetic operation such that size (X) of
the rectangular pattern measured in a secondary scanning direction
satisfies: size(X)=max((n/gcd(b, n), (n/gcd(d, n)) and size (Y) of
the rectangular pattern measured in a primary scanning direction
satisfies: size(Y)=max((n/gcd(a, n), (n/gcd(c, n))
[0036] As an additional generic feature, there is provided a
binary-coding pattern which is created based on a basic pattern and
is to be used in binary-coding a multi-value image, wherein a
series of halftone dots arranged in a network fashion is generated
by lighting pixels of the basic pattern sequentially from the one
nearer to a predetermined point of the prospective basic pattern in
such a manner that the length of an outline of the lighted pixels
adjoining to the non-lighted ones is minimal.
[0037] As one preferred feature, the sequence of lighting the
pixels is determined based on a coefficient which relates to a
distance between a predetermined point in the basic pattern and
each of the pixels.
[0038] As a still additional generic feature, there is provided a
rectangular binary-coding pattern which is created based on a basic
pattern and is to be used in binary-coding a multi-value image,
wherein a series of halftone dots arranged in a network fashion is
generated by lighting pixels of a motif-pattern, which shows a
distinctive characteristic of the binary-coding pattern, in a
predetermined sequence, and by arranging the motif-pattern in
repetitions in accordance with a predetermined rule.
[0039] As one preferred feature, the motif-pattern occupies a
rectangular area that is measured Y in the primary scanning
direction by i in the secondary scanning direction, thus being
composed of Y.times.i pixels; Y measured in the primary scanning
direction is equal to a length, measured in the primary scanning
direction, of the rectangular pattern of the particular size; and i
measured in the secondary scanning direction is equal to a minimum
quantity (the number of pixels), measured in the secondary scanning
direction, essential for the rectangular area to include a complete
set of lightening sequence numbers determined one for each of the
pixels composing the basic pattern.
[0040] As a further generic feature, there is provided an apparatus
for creating a binary-coding pattern to be used in binary-coding a
multi-value image. The apparatus comprises: a basic pattern shape
creating section for creating a basic pattern shape of the
prospective binary-coding pattern by a first arithmetic operation;
a lighting sequence determining section for determining the
sequence of lighting pixels composing such basic pattern by a
second arithmetic operation; and a rectangular pattern creating
section for creating a rectangular pattern, which serves as the
prospective binary-coding pattern, by a third arithmetic operation
based on the resultant basic pattern.
[0041] As one preferred feature, the basic pattern shape creating
section includes: an angle designating section for designating a
pattern angle through which the prospective binary-coding pattern
is turned; a number-of-pixels designating section for designating
the number of pixels composing the basic pattern; and an arithmetic
section for executing an arithmetic operation based on the pattern
angle designated by the angle designating section and the number of
pixels designated by the number-of-pixels designating section.
[0042] As another preferred feature, the basic pattern shape
creating section creates one or more rectangles which have the
following corner points: point A(c, 1); point B(a+c, b+1); point
C(0, d+1); and point D(a, b+d+1), parameters a, b, c, and d being
arbitrary integers satisfying an equation of n=ad+bc, where n is
the number of pixels which is designated by the number-of-pixels
designating section, and out of such rectangles, the basic pattern
shape creating section selects the one which is at an angle
approximate to the pattern angle designated by the number-of-pixels
designating section, as the basic pattern.
[0043] As a still another preferred feature, the lighting sequence
determining section determines the sequence of lighting the pixels
based on a distance between a predetermined point in the basic
pattern and each of the last-named pixels.
[0044] As a further preferred feature, the lighting sequence
determining section determines the sequence of lighting the pixels
in such a manner that the pixels are lighted successively from the
one nearer to a predetermined point of the basic pattern, and that
the length of an outline of the lighted pixels adjoining to the
non-lighted ones is minimal.
[0045] As a still further preferred feature, the lighting sequence
determining section determines the sequence of lighting the pixels
based on a coefficient which relates to a distance between a
predetermined point in the basic pattern and each of the last-named
pixels.
[0046] As an addition preferred feature, the rectangular pattern
creating section cuts such rectangular pattern in a particular size
from a spread of the basic patterns in which the basic patterns are
arranged successively in both a primary image scanning direction
and a secondary image scanning direction.
[0047] Further, as another preferred feature, the rectangular
pattern creating section cuts a motif-pattern, which shows a
distinctive characteristic of the rectangular pattern, from the
rectangular pattern as a representative of the rectangular
pattern.
[0048] As a still another preferred feature, the motif-pattern
occupies a rectangular area that is measured Y in a primary
scanning direction by i in a secondary scanning direction, thus
being composed of Y.times.i pixels; Y measured in the primary
scanning direction is equal to a length, measured in the primary
scanning direction, of the rectangular pattern of the particular
size; and i measured in the secondary scanning direction is equal
to a minimum quantity (the number of pixels), measured in the
secondary scanning direction, essential for the rectangular area to
include a complete set of lightening sequence numbers determined
one for each of the pixels composing the basic pattern.
[0049] As a further preferred feature, the rectangular pattern
creating section creates the rectangular pattern by an arithmetic
operation such that size (X) of the rectangular pattern measured in
a secondary scanning direction satisfies: size(X)=max((n/gcd(b, n),
(n/gcd(d, n)) and size (Y) of the rectangular pattern measured in a
primary scanning direction satisfies: size(Y)=max((n/gcd(a, n),
(n/gcd(c, n))
[0050] As a further generic feature, there is provided a
computer-readable recording medium which stores a binary-coding
pattern creating program for creating a binary-coding pattern to be
used in binary-coding a multi-value image, wherein the program
instructs a computer to function as the following: (a) a basic
pattern shape creating section for creating a basic pattern shape
of the prospective binary-coding pattern by a first arithmetic
operation; (b) a lighting sequence determining section for
determining the sequence of lighting pixels composing such basic
pattern by a second arithmetic operation; and (c) a rectangular
pattern creating section for creating a rectangular pattern, which
serves as the prospective binary-coding pattern, by a third
arithmetic operation based on the resultant basic pattern.
[0051] As one preferred feature, the basic pattern shape creating
section includes: an angle designating section for designating a
pattern angle through which the prospective binary-coding pattern
is turned; a number-of-pixels designating section for designating
the number of pixels composing the basic pattern; and an arithmetic
section for executing an arithmetic operation based on the pattern
angle designated by the angle designating section and the number of
pixels designated by the number-of-pixels designating section.
[0052] As another preferred feature, the basic pattern shape
creating section creates one or more rectangles which have the
following corner points: point A(c, 1); point B(a+c, b+1); point
C(0, d+1); and point D(a, b+d+1), parameters a, b, c, and d being
arbitrary integers satisfying an equation of n=ad+bc, where n is
the number of pixels which is designated by the number-of-pixels
designating section, and out of such rectangles, the basic pattern
shape creating section selects the one which is at an angle
approximate to the pattern angle designated by the number-of-pixels
designating section, as the basic pattern.
[0053] As still another preferred feature, the lighting sequence
determining section determines the sequence of lighting the pixels
based on a distance between a predetermined point in the basic
pattern and each of the last-named pixels.
[0054] As a further preferred feature, the lighting sequence
determining section determines the sequence of lighting the pixels
in such a manner that the pixels are lighted successively from the
one nearer to a predetermined point of the basic pattern, and that
the length of an outline of the lighted pixels adjoining to the
non-lighted ones is minimal.
[0055] As a still further preferred feature, the lighting sequence
determining section determines the sequence of lighting the pixels
based on a coefficient which relates to a distance between a
predetermined point in the basic pattern and each of the last-named
pixels.
[0056] As an additional preferred feature, the rectangular pattern
creating section cuts such rectangular pattern in a particular size
from a spread of the basic patterns in which the basic patterns are
arranged successively in both a primary image scanning direction
and a secondary image scanning direction.
[0057] Furthermore, as another preferred feature, the rectangular
pattern creating section cuts a motif-pattern, which shows a
distinctive characteristic of the rectangular pattern, from the
rectangular pattern as a representative of the rectangular
pattern.
[0058] As still another preferred feature, the motif-pattern
occupies a rectangular area that is measured Y in a primary
scanning direction by i in a secondary scanning direction, thus
being composed of Y.times.i pixels; Y measured in the primary
scanning direction is equal to a length, measured in the primary
scanning direction, of the rectangular pattern of the particular
size; and i measured in the secondary scanning direction is equal
to a minimum quantity (the number of pixels), measured in the
secondary scanning direction, essential for the rectangular area to
include a complete set of lightening sequence numbers determined
one for each of the pixels composing the basic pattern.
[0059] As a further preferred feature, the rectangular pattern
creating section creates the rectangular pattern by an arithmetic
operation such that size (X) of the rectangular pattern measured in
a secondary scanning direction satisfies: size(X)=max((n/gcd(b, n),
(n/gcd(d, n)) and size (Y) of the rectangular pattern measured in a
primary scanning direction satisfies: size(Y)=max((n/gcd(a, n),
(n/gcd(c, n))
[0060] The binary-coding pattern creating method and apparatus, the
binary-coding pattern, and the computer-readable apparatus
recording medium in which binary-coding pattern creating program is
recorded, according to the present invention guarantee the
following advantageous results:
[0061] (1) Partly since a basic pattern shape of a prospective
binary-coding pattern which is created by an arithmetic operation,
partly since the sequence of lighting pixels composing such a basic
pattern is determined, and partly since a rectangular pattern,
which serves as the prospective binary-coding pattern, is created
based on the resultant basic pattern, it is possible to facilitate
creating the binary-coding pattern.
[0062] (2) Since a binary-coding pattern angle and the number of
pixels composing a basic pattern are designated, and then creates a
basic pattern shape by an arithmetic operation based on the thus
designated angle and the number of pixels, it is impossible to
easily create a basic pattern which is at a desired angle and is
composed of a desired number of pixels.
[0063] (3) Since the sequence of lighting pixels composing a basic
pattern is determined based on a distance between the pixels and a
predetermined point (center or barycenter) of the basic pattern, it
is possible to facilitate creating a centralized type of
binary-coding pattern.
[0064] (4) Since the sequence of lighting the pixels composing a
basic pattern is determined based on (i) a distance between a
predetermined point in the basic pattern and each of the pixels and
(ii) a particular factor (rate of flattening) relevant to the
distance, it is possible to change the shape of a halftone dot
smoothly from a circular one to an oval one, and thus it is also
possible to create a binary-coding pattern which would minimize dot
displacement or moire, with fewer operation steps and increased
reliability.
[0065] (5) Since the sequence of lighting the pixels is determined
in such a manner that the length of an outline of the lighted
pixels adjoining to the non-lighted ones is minimal, it is possible
to minimize dot gains, so that the fixation of coloring material is
stabilized, thereby improving the quality of outputs.
[0066] (6) Since a rectangular pattern is created as a
binary-coding pattern by cutting a rectangle in a particular size
from a spread of basic patterns in which the basic patterns are
arranged successively in both a primary image scanning direction
and a secondary image scanning direction, it is possible to create
a rectangular binary-coding pattern with ease.
[0067] (7) Since a motif-pattern showing a distinctive
characteristic of a rectangular pattern is cut from the rectangular
pattern to represent the rectangular pattern, it is possible to
reduce a memory area needed for expanding binary-coding patterns
and also a storage area for storing the binary-coding pattern,
thereby reducing hardware manufacturing costs as well as improving
processing speed.
[0068] (8) Partly since the motif-pattern occupies a rectangular
area that is measured Y in the primary scanning direction by i in
the secondary scanning direction, thus being composed of Y.times.i
pixels, and partly since Y measured in the primary scanning
direction is equal to a length, measured in the primary scanning
direction, of the rectangular pattern of the particular size, and
partly since i measured in the secondary scanning direction is
equal to a minimum quantity (the number of pixels), measured in the
secondary scanning direction, essential for the rectangular area to
include a complete set of lightening sequence numbers determined
one for each of the pixels composing the basic pattern, it is
possible to reduce the size of the binary-coding pattern, a memory
area needed in binary-coding, and a storage area for storing the
binary-coding pattern, thereby improving processing speed and
reducing hardware manufacturing costs.
[0069] (9) Since one or more rectangles having corner points A(c,
1), B(a+c, b+1), C(0, d+1), D(a, b+d+1) are created as basic
pattern shapes, where parameters a, b, c, and d are arbitrary
integers satisfying n=ad+bc (n is the number of pixels having been
designated), and the one, out of such rectangles, which is at an
angle approximate to a basic pattern angle having been designated,
is then selected as a basic pattern, it is possible to create the
basic pattern shape with ease, thus facilitating creating a
binary-coding pattern.
[0070] (10) Since the sequence of lighting the pixels of the basic
pattern is determined based on a weight which has been assigned to
each of the pixels by an arithmetic operation according to a
distance between a predetermined point in the basic pattern and
each of the pixels, it is possible to determine the sequence of
lighting the pixels with ease, thus also facilitating the creating
of a binary-coding pattern.
[0071] (11) Since a rectangular pattern is created by an arithmetic
operation such that size (X) of the rectangular pattern measured in
a secondary scanning direction satisfies: size(X)=max((n/gcd(b, n),
(n/gcd(d, n)) and size (Y) of the rectangular pattern measured in a
primary scanning direction satisfies: size(Y)=max((n/gcd(a, n),
(n/gcd(c, n)), it is possible to create the rectangular pattern
with ease, thus also facilitating creating a binary-coding
pattern.
[0072] Other objects and further features of the present invention
will be apparent from the following detailed description when read
in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0073] FIG. 1 is a block diagram showing a binary-coding pattern
creating apparatus which employs a binary-coding pattern creating
method of one embodiment of the present invention;
[0074] FIG. 2 is a diagram showing hardware structure of the
binary-coding pattern creating apparatus of FIG. 1;
[0075] FIG. 3 is a conceptual diagram indicating a common type of
binary-coding processing of a continuous tone image;
[0076] FIG. 4 is a diagram showing an example of a basic pattern
shape;
[0077] FIG. 5A is a diagram depicting a shape of a rectangle ABCD
described by coordinate-values; FIG. 5B is a diagram depicting a
shape of a rectangle ABCD described by pixels;
[0078] FIG. 6 is a flowchart indicating a method of creating the
basic pattern shape by an arithmetic section;
[0079] FIG. 7 is a list in which screen angles of a rectangle
determined by parameters a, b, c, d, are listed in comparison with
predetermined angles;
[0080] FIG. 8 is a diagram showing an example of a lighting
sequence in which pixels are lighted;
[0081] FIG. 9 is a diagram showing an example of a lighting
sequence which is determined in such a manner that the length of an
outline of the lighted pixels adjoining the non-lighted ones is
minimal;
[0082] FIG. 10 is a diagram showing an example of a lighting
sequence which is determined without obeying the manner indicated
in FIG. 9;
[0083] FIG. 11 is a flowchart indicating one method of determining
the lighting sequence by a lighting sequence determining
section;
[0084] FIG. 12A is a diagram depicting a basic pattern in which the
lighting sequence is halfway determined; FIG. 12B is a diagram
depicting a basic pattern which is turned through -.theta..degree.;
FIG. 12C is a diagram depicting a basic pattern in which the
lighting sequence is determined;
[0085] FIG. 13 is a flowchart indicating another method of
determining the lighting sequence by the lighting sequence
determining section;
[0086] FIG. 14 is a diagram depicting an example of a rectangular
pattern;
[0087] FIG. 15 is a flowchart indicating a method of creating the
rectangular pattern of FIG. 14 by a rectangular pattern creating
section;
[0088] FIG. 16A is a diagram showing a basic pattern for use in
proving the rectangular pattern; FIG. 16B is a diagram illustrating
an example in which the basic patterns of FIG. 16A are arranged
successively on a plane;
[0089] FIG. 17 is a flowchart indicating a method of cutting a
motif-pattern by the rectangular pattern creating section;
[0090] FIG. 18 is a diagram depicting an example of the
motif-pattern;
[0091] FIG. 19 is a flowchart indicating a binary-coding pattern
creating method of one embodiment of the present invention;
[0092] FIG. 20A is a diagram depicting a basic pattern shape in
which the lighting sequence is halfway determined; and FIG. 20B is
a diagram depicting the basic pattern in which the lighting
sequence is completely determined.
DESCRIPTION OF THE PREFERRED EMBODIMENT(S)
[0093] One preferred embodiment of the present invention will now
be described with reference to the accompanying drawings.
[0094] (A) Description of One Embodiment:
[0095] FIG. 1 and FIG. 2 show a binary-coding pattern creating
apparatus which employs a binary-coding pattern creating method of
one embodiment of the present invention: FIG. 1 is a function
schematic; FIG. 2 is a hardware structure schematic. A
binary-coding pattern creating apparatus 1 of the present
embodiment creates a centralized type of binary-coding pattern that
is used by printers or high-resolution printing devices for
converting (binarizing/binary-coding) a multilevel image into a
binary one.
[0096] For example, computer system 100 of FIG. 2 serves as
binary-coding pattern creating apparatus 1 by means of executing a
binary-coding pattern creating program stored in ROM 54 or storage
device 55.
[0097] Computer system 100, as shown in FIG. 2, includes CPU 50,
display 51, display controller 52, RAM 53, ROM 54, storage device
55, bus 56, I/O controller 57, keyboard 58, mouse 59, and printer
60.
[0098] CPU 50 executes various types of arithmetic operations and
controlling in computer system 100. More precisely, CPU 50 executes
varying programs stored in ROM 54 and storage device 55.
[0099] RAM 53 is for use by CPU 50, when carrying out arithmetic
operations, to temporarily expand and store data therein. ROM 54
and storage device 55 stores various programs, data, and the like.
Display controller 52 controls display 51, which shows various
information on its screen in response to instructions received from
display controller 52.
[0100] I/O controller 57 controls various types of I/O
(input/output) devices such as printer 60, keyboard 58, and mouse
59. Keyboard 58 and mouse 59 are used for inputting various data
therethough. Printer 60 prints by fixing a coloring material (ink,
toner, etc.) onto a print medium (paper sheet, etc.).
[0101] In computer system 100, CPU 50 executes a binary-coding
pattern creating program stored in ROM 54 or storage device 55 so
as to serve as basic pattern shape creating section 10, lighting
sequence determining section 20, and rectangular pattern creating
section 30 (each described later), and thereby computer system 100
serves as binary-coding pattern creating apparatus 1.
[0102] Binary-coding pattern creating apparatus 1, as shown FIG. 1,
includes basic pattern shape creating section 10, lighting sequence
determining section 20, and rectangular pattern creating section
30.
[0103] FIG. 3 is a conceptual schematic of a general type of
binary-coding process of a multilevel image. As shown in FIG. 3, a
comparator compares pixel values of the multilevel image with
predetermined threshold values.
[0104] A binary-coding pattern is made up of basic patterns having
a particular shape. Such basic patterns are arranged successively
in both a primary image scanning direction and a secondary image
scanning direction. FIG. 4 depicts an example of the shape of the
individual basic patterns.
[0105] Basic pattern shape creating section 10 creates the shape of
basic patterns (hereinafter called "basic pattern shape"), as of
FIG. 4, which compose a binary-coding pattern. As depicted in FIG.
1, basic pattern shape creating section 10 includes angle
designating section 11, number-of-pixels designating section 12,
and arithmetic section 13.
[0106] Angle designating section 11 designates an angle
(hereinafter called "pattern angle") through which the
binary-coding pattern is turned. In use, a user designates this
angle (say, 30.degree., 45.degree., etc.), as necessary.
[0107] Number-of-pixels designating section 12 designates the
number (n: natural number) of pixels composing a basic pattern,
thereby determining the number of gray-scale levels a single
halftone dot can represent and also the resolution. In use, the
user designates this number (n) in advance.
[0108] Arithmetic section 13 creates a basic pattern shape by an
arithmetic operation (first arithmetic operation) based on a
pattern angle designated by angle designating section 11 and on the
number of pixels designated by number-of-pixels designating section
12.
[0109] Arithmetic section 13 generates rectangle ABCD (FIG. 5A)
based on a combination of arbitrary parameters a, b, c, and d (a,
b, c, and d are integers), which satisfies an equation of n=ad+bc,
where n is the number of pixels, and is designated by
number-of-pixels designating section 12. The shape of this
rectangle ABCD serves as a basic pattern shape.
[0110] At that time, line segments AB, AC, CD, BD are defined as
follows: Line segment AB: ay=b(x-c)+a Line segment AC: cy=-d(x-c)+c
Line segment CD: ay-bx+a(d+1) Line segment BD:
cy=-d(x-a)+(b+d+1)c
[0111] Arithmetic section 13 creates a basic pattern such that it
is made up of the pixels included in rectangle ABCD. The pixels
overlaying line segments AB, AC, CD, BD, are treated in accordance
with the following rules (1) through (5).
[0112] Assuming coordinate points are integral grid points of an
x-y coordinate system (see FIG. 5A), the basic pattern includes:
[0113] (1) point A; [0114] (2) all the points overlaying line
segments AB and AC; [0115] (3) the points overlaying line segment
CD, if the y coordinate value of point B is smaller than the y
coordinate value of point C; [0116] (4) the points overlaying line
segment BD, if the y coordinate value of point B is greater than
the y coordinate value of point C; and [0117] (5) none of point B,
point C, and point D.
[0118] Basic patterns generated so as to meet the above five rules
(1) through (5) are advantageous in that they can be arranged
successively in a primary image scanning direction and a secondary
image scanning direction, maintaining well-preserved continuity
between plural halftone dots.
[0119] FIG. 5A and FIG. 5B each show an example of rectangle ABCD.
FIG. 5A shows the shape of rectangle ABCD with use of coordinate
values, while FIG. 5B, with use of pixels. In these FIG. 5A and
FIG. 5B, parameters (a, b, c, d) (6, 6, 7, 5).
[0120] The above rules (1) through (5) are applied to rectangle
ABCD that has corner points A(7, 1), B(13, 7), C(0, 6), and D(6,
12), as shown in FIG. 5A, so that a basic pattern composed of the
pixels placed as shown. in FIG. 5B is resultantly generated.
[0121] More precisely, basic pattern shape creating section 10
calculates the coordinates of point A, point B, point C, and point
D, based on parameters a, b, c, and d, which are calculated in the
manner described above, so as to designate a basic pattern
shape.
[0122] In order to generate a uniform binary-coding pattern, the
following condition must be satisfied: a straight line formed by
connecting any two adjoining points out of the four points A, B, C,
and D, is to be parallel with another straight line formed by
connecting the remaining two points. This condition indicates that
rectangle ABCD should be a parallelogram. The coordinates of the
four points A, B, C, and D that are given to meet this condition
are designated by A(c, 1), B(a+c, b+1), C(0, d+1), D(a, b+d+1), as
described above.
[0123] In other words, a basic pattern shape is designated by
arbitrary parameters a, b, c, and d which satisfies an equation of
n=ad+bc (n is the number of pixels designated by number-of-pixels
designating section 12), and a rectangle having the following
corner points is resultantly created: point A(c, 1), point B(a+c,
b+1), C(0, d+1), and D(a, b+d+1).
[0124] In this instance, since those parameters a, b, c, and d can
take various combinations of values, one or more types of
rectangles ABCD are expected to be created according to such
varying parameter values.
[0125] Out of those plural types of rectangles ABCD, the one whose
angle (an angle made by anyone of the line segments AB, CD, AC, and
BD) is the closest to a binary-coding pattern angle, which has been
designated by angle designating section 11, is selected as a basic
pattern, and parameters a, b, c, and d that make up the
above-specified rectangle ABCD are recorded.
[0126] That is, basic pattern shape creating section 10 creates, as
a basic pattern shape, one or more rectangles which have the
following corner points: point A(c, 1); point B(a+c, b+1); point
C(0, d+1); and point D(a, b+d+1), where parameters a, b, c, and d
are arbitrary integers satisfying an equation of n=ad+bc (n is the
number of pixels, which is designated by number-of-pixels
designating section 12), and then, the one, out of thus created
rectangles, which is at an angle approximate to a binary-coding
pattern angle designated by angle designating section 11, is
selected as the basic pattern.
[0127] A method of creating a basic pattern shape by arithmetic
section 13 will now be described hereinbelow with reference to the
flowchart (step A10 through step A110) of FIG. 6.
[0128] Arithmetic section 13 obtains a halftone dot angle and the
number (n) of pixels, which have been designated by angle
designating section 11 and number-of-pixels designating section 12,
respectively (step A10), and then arbitrarily selects two integers
a and b which are smaller than n (or within a predetermined range)
(step A20). Arithmetic section 13 calculates all the integers c and
d that satisfy n=ad+bc (or within a predetermined range), with
respect to the above integers a and b (step A30).
[0129] Arithmetic section 13, based on the thus obtained parameters
a, b, c, and d, designates rectangle ABCD formed by four points
A(c, 1), B(a+c, b+1), C(0, d+1), D(a, b+d+1) as a basic pattern
area (step A40).
[0130] Arithmetic section 13 then counts the number of pixels
included in rectangle ABCD (step A50).
[0131] After that, arithmetic section 13 evaluates whether or not
the number (N) of pixels included in rectangle ABCD is identical to
the number (n) of pixels that is obtained in step A10 (step A60).
If the evaluation yields a negative result (NO route of step A60),
the procedure returns to step A20 for selecting another combination
of parameters a, b, c, and d (step A70).
[0132] Otherwise if the evaluation result is positive (YES route of
step A60), arithmetic section 13 calculates an angle of rectangle
ABCD, or a screen angle (step A80).
[0133] Arithmetic section 13 evaluates whether or not any other
combination of parameters a, b, c, and d, remains (step A90). If
the evaluation result is positive (YES route of step A90),
arithmetic section 13 returns to step A20. Otherwise, if the result
is negative (NO route of step A90), the angle of rectangle ABCD
formed by every combination of parameters thus obtained is compared
with the screen angle that has been designated in step A10. The
arithmetic section 13 then selects one of the combinations of
parameters a, b, c, and d, in such a manner that the screen angle
the closest to the designated one is formed by the selected
parameters (step A100).
[0134] FIG. 7 lists a variety of screen angles of rectangle-shaped
halftone dots, which angles are determined by parameters a, b, c,
and d, in comparison with a previously designated screen angle. In
the example of FIG. 7, the designated screen angle is 45.degree.;
the designated number of pixels composing a basic pattern is 72.
The list shows top 10 combinations of such parameters that would
minimize an error (slope) of the screen angle (in radian).
[0135] Arithmetic section 13, as shown in FIG. 7, comparatively
analyses every combination of parameters a, b, c, and d, so as to
select one of the combinations that will provide a screen angle the
closest to the designated one.
[0136] Arithmetic section 13 then outputs the selected parameters
a, b, c, and d as a file, and stores the file in storage device 55
(step A110).
[0137] In a binary-coding pattern, the sequence of fixing
(hereinafter also called "lighting") coloring material (ink, toner,
etc.) on the pixels of a basic pattern, depending on their
gray-scale levels, is determined. FIG. 8 depicts an example of the
lighting sequence.
[0138] Lighting sequence determining section 20 determines the
lighting sequence of the pixels composing a basic pattern such as
that in FIG. 8. The lighting sequence is determined based on a
distance between each pixel and a predetermined point (for example,
the barycenter or the center of the basic pattern) in the basic
pattern.
[0139] Lighting sequence determining section 20 determines the
lighting sequence in such a manner that the pixels are lighted
sequentially from the one nearer to the predetermined point of the
basic pattern, and that the length of an outline of the lighted
pixels adjoining to the non-lighted ones is minimal.
[0140] FIG. 9 and FIG. 10 each show only the pixels to which
lighting sequence numbers are assigned. FIG. 9 shows an example
where the lighting sequence is determined in such a manner that the
length of an outline of the lighted pixels adjoining the
non-lighted ones is minimal, while FIG. 10 shows an example where
the lighting sequence is determined without following that
manner.
[0141] In the example of FIG. 9, where the lighting sequence
determining section 20 determines the lighting sequence in such a
manner that the pixels are lighted sequentially from the one nearer
to a predetermined point of a basic pattern, and that the length of
an outline of the lighted pixels adjoining to the non-lighted ones
is minimal, dot gain can be more reduced than in the example of
FIG. 10.
[0142] More precisely, lighting sequence determining section 20
designates a distance between a predetermined point of a basic
pattern and each of the pixels composing the basic pattern, with
the following formula (1) of a weighting factor W. The lighting
sequence order numbers are assigned to the pixels sequentially from
the one with a greater weighting factor W. W=p-q.times.cos
.alpha.-r.times.cos .beta. (1) where .alpha.=x-PXDOT and
.beta.=y-PYDOT in case where the coordinate of a pixel included in
the basic pattern is expressed as (x, y), and also, the
center/barycenter (predetermined point) of the basic pattern is
expressed as (PXDOT, PYDOT).
[0143] In addition, p, q, and r are the values (coefficients) each
being appropriately set, and take non-negative real numbers. Both q
and r are coefficients for designating the shape of a halftone dot
to be created; q takes the greater value, the longer in the
x-direction the oval shape of the halftone dot becomes, while r
takes the greater value, the longer in the y-direction the oval
shape of the halftone dot becomes. If q=r, the halftone dot to be
created will have a circular shape. p, which is a numerical value
appropriately set in such a manner that an arithmetic operation
result of formula (1) would take no negative value, makes it easy
to perform any processing (say, sorting) of the thus obtained
weight (W).
[0144] In this manner, lighting sequence determining section 20
determines the sequence of lighting the pixels based on weights (W)
assigned one for each pixel by an arithmetic operation according to
a distance between each pixel of a basic pattern and a
predetermined point.
[0145] A procedure for determining the lighting sequence by
lighting sequence determining section 20 will now be described
hereinbelow with reference to FIG. 12 and the flowchart (step B10
through step B80) of FIG. 11.
[0146] FIG. 12A through FIG. 12C depict the procedure for
determining the sequence of lighting the pixels composing a basic
pattern. FIG. 12A shows a basic pattern in which the lighting
sequence is partly determined; FIG. 12B shows the basic pattern of
FIG. 12A that is turned through -.theta..degree.; and FIG. 12C
shows the basic pattern of FIG. 12A in which the lighting sequence
is completely determined. In these examples of FIG. 12A through
FIG. 12C, a halftone angle is 45.degree. while the number of pixels
composing the basic pattern is 72.
[0147] Firstly, lighting sequence determining section 20 obtains a
halftone angle, an inter-halftone dot distance, and factors p, q,
r, of a basic pattern shape created by basic pattern shape creating
section 10, and also determines predetermined point (PXDOT, PYDOT)
as the center or the barycenter of the basic pattern (step
B10).
[0148] In this instance, the predetermined point (PXDOT, PYDOT) of
the basic pattern shape may be either designated in advance by an
operator, or calculated by lighting sequence determining section
20.
[0149] When determining of the point, if the point is situated at
the center of the pixels (see FIG. 12A through FIG. 12C), its
coordinates take natural numbers. Otherwise, if the point is
situated on a boundary between two adjoining pixels, its
coordinates take natural numbers .+-.0.5. For example, if the
predetermined point is determined to be placed at the center point
C of the basic pattern of FIG. 12A, the coordinates of the
predetermined point are (5.5, 5.5).
[0150] Further, lighting sequence determining section 20 calculates
a distance between predetermined points of adjoining basic
patterns. In the example of FIG. 12A, this distance is
8.24852814.
[0151] Next, lighting sequence determining section 20 obtains the
basic pattern which has been created by basic pattern shape
creating section 10 (step B20), and calculates a distance between
each pixel and the predetermined point, both in a secondary image
scanning direction (x-axis direction) and in a primary image
scanning direction (y-axis direction). While storing this location
data of each pixel before being turned, the lighting sequence
determining section 20 uses an affine transformation to turn the
basic pattern by an angle of -.theta..degree. around its center
point, so that the basic pattern is converted back into an
approximately rectangle shape (step B30).
[0152] After that, using the above-presented formula (1), lighting
sequence determining section 20 calculates the weight (W) of each
of the pixels composing the basic pattern which has been turned by
an angle of -.theta..degree. (step B40).
[0153] On the basis of this weight (W), the lighting sequence
determining section 20 then determines the lighting sequence (step
B50).
[0154] After turning the basic pattern through -.theta..degree.,
lighting sequence determining section 20 splits the basic pattern
horizontally into two parts across a horizontal line that lies on
the center point (predetermined point) of the basic pattern.
Firstly, lighting sequence determining section 20 searches weights
(W) of the pixels {their number equals to (the number of pixels
composing the basic pattern/2+1)} composing the upper half split
one by one, starting from the top left one and then proceeding in a
horizontal right direction. This horizontal search progresses
sequentially from the top line to the bottom line, until it reaches
the bottom right pixel of the basic pattern. After that, lighting
sequence determining section 20 assigns lighting sequence number
"1" to the pixel whose weight (W) is bigger than those of the other
pixels composing the upper half of the basic pattern.
[0155] Next, lighting sequence determining section 20 searches
weights (W) of the pixels {their number equals to (the number of
pixels composing the basic pattern/2+1)} composing the lower half
split one by one, starting from the bottom right one and then
proceeding in the horizontal left direction. This horizontal search
progresses sequentially from the bottom line to the top line, until
it reaches the top left pixel of the basic pattern. After that, the
lighting sequence determining section 20 assigns lighting sequence
number "2" to the pixel whose weight (W) is bigger than those of
the other pixels composing the lower half of the basic pattern.
[0156] Likewise, lighting sequence determining section 20 provides
such lighting sequence numbers to the pixels (except those to which
the number has already been given) of the upper half split and the
lower half split, alternately, in descending order of the weights
(W) of the pixels.
[0157] At that time, if two or more of the pixels have a common
weight (W) value, lighting sequence determining section 20 gives
priority to the order of accessing.
[0158] Lighting sequence determining section 20, as shown in FIG.
12C, then associates the lighting sequence numbers assigned to the
-.theta..degree.-turned basic pattern with a basic pattern (a
non-turned basic pattern) (step B60), and thereby determines the
sequence of lighting the pixels composing the (non-turned) basic
pattern (step B70).
[0159] Lighting sequence determining section 20 evaluates whether
or not all the pixels of the basic pattern have been assigned the
lighting sequence numbers (step B80). If the evaluation yields
negative results (NO route of step B80), lighting sequence
determining section 20 returns to step B40. Otherwise, if the
evaluation results are positive (YES route of step B80), lighting
sequence determining section 20 ends the procedure.
[0160] Alternatively, lighting sequence determining section 20
might determine the sequence of lighting the pixels composing a
basic pattern based on a distance between a predetermined point in
the basic pattern and each of the pixels and on a particular factor
(rate of flattening) relevant to the distance.
[0161] Specifically, lighting sequence determining section 20
calculates weights (W) of the pixels using the following formula
(2), based on a distance between a predetermined point in the basic
pattern and each of the pixels and on a particular factor {rate of
flattening(E)} relevant to the distance. Lighting sequence
determining section 20 then assigns the lighting sequence numbers
to the pixels sequentially from the one having a greater weight
(W). W=p-E.times.cos .alpha.-(p-E).times.cos .beta. (2) where
.alpha.=x-PXDOT and .beta.=y-PYDOT in case where the coordinate of
a pixel included in the basic pattern is expressed as (x, y), and
also, the center/barycenter (predetermined point) of the basic
pattern is expressed as (PXDOT, PYDOT).
[0162] In addition, both p and E are values (coefficients) each
being appropriately set.
[0163] E is a coefficient (the rate of flattening) for designating
the shape of a halftone dot to be created, and is a floating-point
number sufficing 0.0<E.ltoreq.p. Here, if p=2.0 and E=1.0, a
halftone dot has a circular shape. The closer to 0.0 or 2.0 the
rate of flattening (E) is, the narrower the shape of a halftone dot
is. p is a numerical value which is appropriately set in such a
manner that an arithmetic operation result of formula (2) would
take no negative value, thus making it easy to perform any
processing (say, sorting) of a weight (W) resultantly obtained.
[0164] A description will now be made hereinbelow of another method
of determining the lighting sequence by lighting sequence
determining section 20 with reference to the flowchart (step C10
through C80) of FIG. 13.
[0165] Lighting sequence determining section 20 obtains a screen
angle, an inter-halftone dot distance, and factors p, q, r, used in
creating a basic pattern shape by basic pattern shape creating
section 10, and determines the center or the barycenter of the
basic pattern shape as a predetermined point (PXDOT, PYDOT) (step
C10).
[0166] In this instance, the predetermined point (PXDOT, PYDOT) of
the basic pattern shape may be either designated in advance by an
operator, or calculated by the lighting sequence determining
section 20.
[0167] Lighting sequence determining section 20 then obtains the
basic pattern created by basic pattern shape creating section 10
(step C20). While storing this location data of each pixel before
the basic pattern is turned, lighting sequence determining section
20 uses an affine transformation to turn the basic pattern by an
angle of -.theta..degree. around its center point, so that the
basic pattern is converted back into an approximately rectangle
shape (step C30).
[0168] After that, using the above-presented formula (2), lighting
sequence determining section 20 calculates the weight (W), in
consideration of a rate of flattening, of each of the pixels
composing the basic pattern which has been turned by an angle of
-.theta..degree. (step C40).
[0169] On the basis of this weight (W), lighting sequence
determining section 20 then determines the lighting sequence (step
C50).
[0170] After turning the basic pattern through -.theta..degree.,
lighting sequence determining section 20 splits the basic pattern
horizontally into two parts across a horizontal line that lies on
the center point (predetermined point) of the basic pattern.
Firstly, lighting sequence determining section 20 searches weights
(W) of the pixels {their number equals to (the number of pixels
composing the basic pattern/2+1)} composing the upper half split
one by one, starting from the top left one and then proceeding in a
horizontal right direction. This horizontal search progresses
sequentially from the top line to the bottom line, until it reaches
the bottom right pixel of the basic pattern. After that, lighting
sequence determining section 20 assigns lighting sequence number
"1" to the pixel whose weight (W) is bigger than those of the other
pixels composing the upper half of the basic pattern.
[0171] Next, lighting sequence determining section 20 searches
weights (W) of the pixels {their number equals to (the number of
pixels composing the basic pattern/2+1)} composing the lower half
split one by one, starting from the bottom right one and then
proceeding in the horizontal left direction. This horizontal search
progresses sequentially from the bottom line to the top line, until
it reaches the top left pixel of the basic pattern. After that,
lighting sequence determining section 20 assigns lighting sequence
number "2" to the pixel whose weight (W) is bigger than those of
the other pixels composing the lower half of the basic pattern.
[0172] Likewise, lighting sequence determining section 20 provides
such lighting sequence numbers to the pixels (except those to which
the number has already been given) of the upper half split and the
lower half split, alternately, in descending order of the weights
(W) of the pixels.
[0173] At that time, if two or more of the pixels have a common
weight (W) value, lighting sequence determining section 20 gives
priority to the order of accessing.
[0174] Lighting sequence determining section 20 then associates the
lighting sequence numbers assigned to the -.theta..degree.-turned
basic pattern with a basic pattern (a non-turned basic pattern)
(step C60), and thereby determines the sequence of lighting the
pixels composing the (non-turned) basic pattern (step C70).
[0175] Lighting sequence determining section 20 evaluates whether
or not all the pixels of the basic pattern have been assigned the
lighting sequence numbers (step C80) If the evaluation yields
negative results (NO route of step C80), lighting sequence
determining section 20 returns to step C40. Otherwise, if the
evaluation results are positive (YES route of step C80), lighting
sequence determining section 20 ends the procedure.
[0176] On the basis of such a basic pattern, rectangular pattern
creating section 30 creates a rectangular pattern that serves as a
binary-coding pattern. More precisely, rectangular pattern creating
section 30 cuts a rectangle in a particular size from a spread of
basic patterns in which the basic patterns are arranged
successively in both a primary image scanning direction and a
secondary image scanning direction.
[0177] This is because, when converting a multilevel image into a
binary image, CPU 50 expands on RAM 53 a square-shaped
binary-coding pattern or a rectangle-shaped one.
[0178] FIG. 14 shows an example of a rectangular pattern.
Rectangular pattern creating section 30 cuts such a rectangular
pattern as that shown in FIG. 14 in a particular size to make it
serve as a binary coding pattern.
[0179] That is, rectangular pattern creating section 30 creates a
rectangular binary-coding pattern (hereinafter also called
rectangular pattern) of a particular size, such that, if such
rectangular patterns are arranged successively both in a primary
image scanning direction and in a secondary image scanning
direction, halftone dots of a common shape are evenly spaced at a
common angle.
[0180] Specifically, rectangular pattern creating section 30
calculates the sizes of a rectangular pattern to be created both in
a secondary image scanning direction (size (X) in units of the
number of pixels) and in a primary image scanning direction (size
(Y) in units of the number of pixels), using the following formula
(3) and formula (4), respectively. size(X)=max((n/gcd(b, n),
(n/gcd(d, n)) (3) size(Y)=max((n/gcd(a, n), (n/gcd(c, n)) (4) where
n is the number of pixels composing a basic pattern, and is
designated by number-of-pixels designating section 12. a, b, c, and
d, are parameters calculated by arithmetic section 13. gcd is a
greatest common divisor; for example, "gcd(a, n)" means the
greatest common divisor of a and n.
[0181] In addition, "max( . . . , . . . )" means to choose the
greater one of the two numerical values enclosed in parentheses;
for example, "size(X)=max((n/gcd(b, n), (n/gcd(d, n))" means to
choose the greater one of "n/gcd(b, n)" and "n/gcd(d, n)".
[0182] Rectangular pattern creating section 30 arranges basic
patterns successively both in a primary image scanning direction
and in a secondary image scanning direction so as to generate a
spread of basic patterns. Rectangular pattern creating section 30
cuts a rectangular area that is measured size (X) from an initial
point arbitrarily given on the spread of basic patterns in a
secondary scanning direction by size (Y) in the primary scanning
direction, thereby creating a rectangular pattern of a particular
size to serve as a binary-coding pattern.
[0183] A description will now be made hereinbelow of a method of
creating a rectangular pattern by rectangular pattern creating
section 30 with reference to the flowchart (step D10 through D40)
of FIG. 15.
[0184] After arranging basic patterns successively both in a
primary image scanning direction and in a secondary image scanning
direction (step D10), rectangular pattern creating section 30
calculates size (X) and size (Y) using aforementioned formula (3)
and formula (4), respectively (step D20).
[0185] Rectangular pattern creating section 30 then determines an
arbitrary initial point (step D30), and cuts a rectangular area
that is measured size (X), from the initial point, in a secondary
scanning direction by size (Y) in the primary scanning direction,
thereby creating a rectangular pattern (step D40).
[0186] For example, assuming basic pattern-forming parameters (a,
b, c, d)=(6, 6, 7, 5), size (X) and size (Y) are given by the above
formula (3) and formula (4) as follows: Size(X)=max(((72/gcd(6,
72)), (72/gcd(5, 72)))=72 Size(Y)=max(((72/gcd(6, 72)), (72/gcd(7,
72)))=72
[0187] That is, after determining an arbitrary initial point,
rectangular pattern creating section 30 extracts a rectangular area
that is measured 72 pixels in the primary scanning direction by 72
pixels in the secondary scanning direction, thus being composed of
5184 pixels, as a rectangular pattern.
[0188] Here, it will be proved hereinbelow, with reference to FIG.
16A and FIG. 16B, that a rectangular pattern given by formula (3)
and formula (4) can be arranged successively both in a primary
image scanning direction and in a secondary image scanning
direction, so as to cover a given plane. FIG. 16A shows a unit of
basic pattern for use in probing the rectangular pattern, while
FIG. 16B shows an example where such basic patterns are laid
successively (expanded) on the plane.
[0189] There is given a basic pattern such as that defined in FIG.
16A with four parameters a, b, c, d, determining the boundaries
between the basic patterns and also the number (n) of dots included
in a single basic pattern.
[0190] At that time, the dots positioned on the boundaries are to
be processed as follows: those on the lower side and the left side
are included in the basic pattern; those on the upper side and the
right side are not included in a basic pattern. In the example of
FIG. 16B, a=5, b=2, c=2, d=4, n=24.
[0191] Here, the x and y coordinates of dots designated by (i, j)
is given by the following formulas: x coordinate: ia-jc y
coordinate: ib-jd Accordingly, in order to cover all the plane with
rectangular patterns, it is necessary to obtain the minimum value
of (ia-jc) where the y coordinate (ib+jd)=0, and also necessary to
obtain the minimum value of (ib+jd) where the x coordinate
(ia-jc)=0. Hence, ib + jd = 0 i = - d b .times. j [ Formula .times.
.times. 1 ] ##EQU1## Here, ia - jc = .times. - d b .times. j a - jc
= .times. - j ( ad + bc ) b = - j n b .times. ( .BECAUSE. ad + bc =
n ) [ Formula .times. .times. 2 ] ##EQU2## Accordingly, assuming
[Formula 3] j = - b d .times. i ##EQU3## the following is given:
[Formula 4] ia - jc = ia + b d .times. i c = i 1 d .times. ( ad +
bc ) = i n d ##EQU4##
[0192] Here, since both i and j must be integers, gcd(jd, b)=b,
gcd(ib, d)=d.
Since ib-jd=0, i=-jd/b where i is an integer, and jd>b and also
jd divided by b yields zero remainder. Hence the greatest common
divisor of jd and b must be b.
[0193] Likewise, since ib+jd=0, j=-ib/d where j is an integer
(regardless of its sign), and ib>d and also jb divided by d
yields zero remainder. Hence the greatest common divisor of jb and
d must be d.
[0194] In view of these, where both n/b and n/d are integers, the
minimum value of - j n b , i n d [ Formula .times. .times. 5 ]
##EQU5## should be obtained, and thus the minimum value is given by
max .function. ( n gcd .function. ( b , n ) , n gcd .function. ( d
, n ) ) [ Formula .times. .times. 6 ] ##EQU6##
[0195] The like is true for the y direction. Hence, a minimum-sized
rectangular pattern, which is a binary-coding pattern that realizes
the same binary-coding as that carried out by a basic pattern
designated by parameters a, b, c, d, has the size (the number of
pixels) in the secondary image scanning direction as given by max
.function. ( n gcd .function. ( b , n ) , n gcd .function. ( d , n
) ) [ Formula .times. .times. 7 ] ##EQU7## Likewise, the size (the
number of pixels) of the minimum-sized rectangular pattern in the
primary image scanning direction is given by max .function. ( n gcd
.function. ( a , n ) , n gcd .function. ( c , n ) ) [ Formula
.times. .times. 8 ] ##EQU8##
[0196] For example, in a basic pattern designated by parameters (a,
b, c, d)=(5, 2, 2, 4), assuming the secondary image scanning
direction size=H and the primary image scanning direction size=V, H
V = .times. max .times. ( 24 gcd .function. ( 2 , 24 ) , 24 gcd
.function. ( 4 , 24 ) ) .times. max .function. ( 24 gcd .function.
( 5 , 24 ) , 24 gcd .function. ( 2 , 24 ) ) = .times. max
.function. ( 24 2 , 24 4 ) max .function. ( 24 1 , 24 2 ) = .times.
12 24 [ Formula .times. .times. 9 ] ##EQU9##
[0197] Otherwise, if parameters (a, b, c, d)=(7, 2, 4, 8), H V =
.times. max .times. ( 64 gcd .function. ( 2 , 64 ) , 64 gcd
.function. ( 8 , 64 ) ) .times. max .function. ( 64 gcd .function.
( 7 , 64 ) , 64 gcd .function. ( 4 , 64 ) ) = .times. max
.function. ( 64 2 , 64 8 ) max .function. ( 64 1 , 64 4 ) = .times.
32 64 [ Formula .times. .times. 10 ] ##EQU10##
[0198] Here, rectangular pattern creating section 30 may cut a
motif-pattern, showing a distinctive characteristic of a
rectangular pattern, from the rectangular pattern, which has been
generated by cutting a rectangular pattern in the size calculated
using the above formulas (3) and (4), so as to make it represent
the rectangular pattern.
[0199] At that time, rectangular pattern creating section 30 cuts a
rectangular area measured Y in a primary image scanning direction
by i in a secondary image scanning direction, thus being composed
of Y.times.i pixels, as a motif-pattern.
[0200] Y measured in the primary scanning direction of the
motif-pattern is equal to the length, measured in the primary
scanning direction, of the rectangular pattern of the particular
size, while i measured in the secondary scanning direction of the
motif-pattern is a minimum quantity (the number of pixels),
measured in the secondary scanning direction, essential to the
rectangular area to include a complete set of lightening sequence
numbers (numeral values indicating the sequence of lighting all the
pixels composing the basic pattern), determined one for each of the
pixels composing the basic pattern.
[0201] A method of cutting such a motif-pattern by rectangular
pattern creating section 30 will now be described hereinbelow with
reference to the flowchart (step E10 through step E50) of FIG.
17.
[0202] After inputting "1" as a counter m (step E10), rectangular
pattern creating section 30 cuts a rectangular area m-row wide,
from its initial point, in a primary image scanning direction, thus
being composed of (Y.times.m) pixels (step E20).
[0203] Rectangular pattern creating section 30 then evaluates
whether or not every lighting sequence number (1 through n) appears
at least once in those (Y.times.m) pixels (step E30). If the
evaluation result is negative (NO route of step E30), rectangular
pattern creating section 30 increments the counter m (step E50),
and returns to step E20.
[0204] Otherwise, if the evaluation result is positive (YES route
of step E30), rectangular pattern creating section 30 then
evaluates whether or not every sequence number appears i times in
the (Y.times.m) pixels (step E40).
[0205] If the evaluation result is negative (NO route of step E40),
rectangular pattern creating section 30 moves to step E50.
Otherwise, if the evaluation result is positive (YES route of step
E40), rectangular pattern creating section 30 ends the
processing.
[0206] The thus generated motif-pattern is stored in storage device
55 or RAM 53. When binary-coding is performed, the motif-pattern is
used successively while its reference position is being
shifted.
[0207] FIG. 18 shows an example of such a motif-pattern where
Y=n=17 and i=1.
[0208] In this example of FIG. 18, the current motif-pattern (from
top, 3, 11, 6, 4 . . . , 2, 1) is referred to while being shifted
by 14 (for example, in the next line, 7, 10, 2 . . . , 14, 8,
5).
[0209] FIG. 18 shows the case where Y=n, but the present invention
should by no means be limited to this, and Y might take another
numeral value than n. Various changes or modifications may be
suggested without departing from the gist of the invention.
[0210] In this manner, binary-coding pattern creating apparatus 1
creates a binary-coding pattern with a binary-coding pattern
creating method according to one embodiment of the present
invention. A binary-coding pattern creating method of one
embodiment of the present invention will now be described with
reference to the flowchart (step F10 through F30) of FIG. 19.
[0211] Firstly, basic pattern shape creating section 10 creates a
basic pattern shape based on a designated screen angle (.theta.)
and the number (n) of gray-scale levels (step F10). Lighting
sequence determining section 20 then determines the sequence of
lighting the pixels composing the basic pattern based on a distance
between each of the pixels and a predetermined point (for example,
the barycenter or the center of the basic pattern) (step F20) At
that time, a rate of flattening can be set between each of the
pixels and the predetermined point.
[0212] After that, rectangular pattern creating section 30 cuts a
rectangular pattern in a particular size that is calculated using
the above formulas (3) and (4), as a binary-coding pattern, from a
spread of basic patterns in which basic patterns are arranged
successively in both a primary image scanning direction and a
secondary image scanning direction (step F30). In this instance, a
characteristic part of the rectangular pattern might be cut
therefrom.
[0213] In this manner, binary-coding pattern creating apparatus 1
of one embodiment of the present invention automates such
processing as creation of a basis pattern shape, determination of
the lighting sequence, and creation of a rectangular pattern, based
on various formulas, thereby facilitating creating a binary-coding
pattern. Accordingly, even any non-skilled operator can create a
dither pattern with ease and in a short time.
[0214] Since basic pattern shape creating section 10 designates a
binary-coding pattern angle and the number of pixels composing a
basic pattern, and then creates a basic pattern shape by an
arithmetic operation based on the thus designated angle and the
number of pixels, it is possible to easily create a basic pattern
which is at a desired angle and is composed of a desired number of
pixels.
[0215] Further, since lighting sequence determining section 20
determines the sequence of lighting pixels composing a basic
pattern based on a distance between the pixels and a predetermined
point (center or barycenter) of the basic pattern, it is possible
to easily create a centralized type of binary-coding pattern.
[0216] Since lighting sequence determining section 20 determines
the sequence of lighting the pixels composing a basic pattern based
on 1) a distance between a predetermined point in the basic pattern
and each of the pixels and 2) a particular factor (rate of
flattening) relevant to the distance, it is possible to change the
shape of a halftone dot smoothly from a circular one to an oval
one, and thus also possible to create a binary-coding pattern which
minimizes dot displacement or moire, with fewer operation steps and
increased reliability.
[0217] Since lighting sequence determining section 20 determines
the sequence of lighting the pixels in such a manner that the
pixels are lighted sequentially from the one nearer to a
predetermined point of the basic pattern, it is possible to obtain
good coloring outputs even using a printer whose coloring material
fixing capability is not stable.
[0218] In addition, since lighting sequence determining section 20
determines the sequence of lighting the pixels in such a manner
that the length of an outline of the lighted pixels adjoining to
the non-lighted ones is minimal, it is possible to minimize dot
gains, so that fixation of coloring material is stabilized, thereby
improving the quality of outputs.
[0219] Since rectangular pattern creating section 30 creates a
rectangular pattern as a binary-coding pattern by cutting a
rectangle in a particular size from a spread of basic patterns in
which the basic patterns are arranged successively in both a
primary image scanning direction and a secondary image scanning
direction, it is possible to create a rectangular binary-coding
pattern with ease.
[0220] Since rectangular pattern creating section 30 cuts a
motif-pattern showing a distinctive characteristic of a rectangular
pattern from the rectangular pattern to represent the rectangular
pattern, it is possible to reduce a memory area (RAM 53) needed for
expanding binary-coding patterns thereon and also a storage area
(ROM 54 and storage device 55) for storing the binary-coding
pattern, thereby reducing hardware manufacturing costs as well as
improving processing speed.
[0221] Partly since the binary-coding pattern created by the
binary-coding pattern creating method of the present invention is a
motif-pattern showing a distinctive characteristic of the
rectangular pattern, partly since this motif-pattern occupies a
rectangular area that is measured Y in the primary scanning
direction by i in the secondary scanning direction, thus being
composed of Y.times.i pixels, and partly since Y measured in the
primary scanning direction is equal to a length, measured in the
primary scanning direction, of the rectangular pattern of the
particular size; i measured in the secondary scanning direction is
equal to a minimum quantity (the number of pixels), measured in the
secondary scanning direction, essential for the rectangular area to
include a complete set of lightening sequence numbers determined
one for each of the pixels composing the basic pattern, it is
possible to reduce the size of the binary-coding pattern, a memory
area needed in binary-coding, and a storage area for storing the
binary-coding pattern, thereby improving processing speed and
reducing hardware manufacturing costs.
[0222] Further, as a basic pattern shape, one or more rectangles
having corner points A(c, 1), B(a+c, b+1), C(0, d+1), D(a, b+d+1)
where parameters a, b, c, and d are arbitrary integers satisfying
n=ad+bc (n is the number of pixels having been designated). The
one, out of such rectangles, which is at an angle approximate to a
basic pattern angle having been designated, is selected as a basic
pattern. Hereby, it is possible to create the basic pattern shape
with ease, thus facilitating creating a binary-coding pattern.
[0223] Still further, since the sequence of lighting the pixels of
the basic pattern is determined based on a weight which has been
assigned to each of the pixels by an arithmetic operation according
to a distance between a predetermined point in the basic pattern
and each of the pixels, it is possible to determine the sequence of
lighting the pixels with ease, thus also facilitating creating a
binary-coding pattern.
[0224] Furthermore, a rectangular pattern is created by an
arithmetic operation such that size (X) of the rectangular pattern
measured in a secondary scanning direction satisfies:
size(X)=max((n/gcd(b, n), (n/gcd(d, n)) and size (Y) of the
rectangular pattern measured in a primary scanning direction
satisfies: size(Y)=max((n/gcd(a, n), (n/gcd(c, n))
[0225] Hereby, it is possible to create the rectangular pattern
with ease, thus also facilitating creating a binary-coding
pattern.
(B) Other Modifications:
[0226] Further, the present invention should by no means be limited
to the above-illustrated embodiment, and various changes or
modifications may be suggested without departing from the gist of
the invention.
[0227] For example, although, in the above embodiment, a basic
pattern is turned through -.theta..degree. before the sequence of
lighting the pixels of the basic pattern is determined for the thus
turned basic pattern, the sequence determination can also be
carried out directly for the basic pattern without its being
turned.
[0228] Further, in the above embodiment, lighting sequence
determining section 20 splits the basic pattern horizontally into
two parts across a horizontal line that lies on the center point
(predetermined point) of the basic pattern, and assigns the
lighting sequence numbers to the pixels of the upper half split and
the lower half split, alternately, in descending order of the
weights (W) of the pixels. Alternatively, the basic pattern might
be split vertically into two parts across a vertical line that lies
on a predetermined point of the basic pattern, and the lighting
sequence numbers then might be assigned to the pixels of the right
half split and the left half split, alternately, in descending
order of the weights (W) of the pixels.
[0229] Still further, although, in the above embodiment, lighting
sequence determining section 20 turns a basic pattern through
-.theta..degree. before it calculates the weight (W) of the pixels
of the thus turned basic pattern, the present invention should by
no means be limited to this.
[0230] FIG. 20(A) and FIG. 20(B) each show an example where a basic
pattern is not turned before determining the sequence of lighting
the pixels. FIG. 20(A) shows an example of the basic pattern in
which the lighting sequence is determined only for a part of the
pixels; FIG. 20(B), an example of the basic pattern in which the
lighting sequence is completely determined for all of the
pixels.
[0231] As shown in FIG. 20(A) and FIG. 20(B), lighting sequence
determining section 20 might calculate the weight of each pixel for
determining the lighting sequence without turning the basic pattern
through -.theta..degree..
* * * * *