Title of Invention

"A CODE IMAGE ENCODING DEVICE"

Abstract A machine readable code, a code encoding method and device and a code decoding method and device are provided. This machine readable code includes a data area (1 1) made up of at least one data cell, in which different colors or shades are encoded and expressed depending on the content of the information. Various types of information can be expressed in a code image using colors, shades. shapes andlor pattens according to the present invention. The code system according to the present invention enables to encode more diversified and voluminous information compared to the other codes of the prior arts.
Full Text business card of a company, users trying to send messages to the E-mail
address must type the entire E-mail address.
However, Internet home page addresses or E-mail addresses do not
consist of one or two letters but generally of over ten letters to several tens
s of letters. Thus, inputting the home page addresses or E-mail addresses
can be a burden to users.
v In order to solve this problem, U.S.C. Patent No. 5,869,828 entitled
lor and shape system for encoding and decoding d a0 as been
proposed. USP 5,869,828 discloses a method and system for
l o encodingldecoding character data using a color figure, in which a color
figure having a simple structure is printed on the exterior surface of
products to represent information on the products.
Printers may have different printing characteristics, so that a color
figure may be printed in different colors depending on the type of printers.
1s That is, if an item of data is encoded into a color figure and the color figure
is printed by printers provided by different companies, the shades of the
printed color figures may vary depending on the characteristics of each of
the printers. Accordingly, in USP 5,869,828, even when an identical color
figure is printed, different color figures may be obtained due to differences
m in the printing environment, so that it is likelihood that the original data
encoded in a color figure may not be correctly decoded.
Disclosure of the Invention
To solve the above problem, an objective of the present invention is 1
2s to provide a machine readable code in which information is expressed by
various colors, shades, shapes or patterns or a combination thereof.
Another objective of the present invention is to provide a method and
apparatus for encoding predetermined information into the abovedescribed
code.
30 Still another objective of the present invention is to provide a method
and apparatus for decoding a code encoded by the above encoding method
to extract the original information.
Yet another objective of the present invention is to provide a
computer-readable recording medium which records a program for
accomplishing the encoding or decoding methods.
To achieve the first objective, the present invention provides a
s machine readable code for representing information, comprising: a
background area; and a data area made up of at least one data cell,
distinguished from the background area, in which different colors, shades,
shapes or patterns or a combination thereof are encoded and expressed
depending on the content of the information.
10 The present invention also provides a machine readable code for
representing information, comprising: a data area made up of at least one
data cell, in which different colors, shades, shapes or patterns or a
combination thereof are encoded and expressed depending on the content
of the information; and a parity area made up of at least one parity cell, the
1s parity area provided to determine whether colors, shades, shapes or
patterns or a combination thereof expressed in the data cells have been
properly expressed depending on the content of the information.
Th-e re is further provided a machine readable code for representing
information, the machine readable code comprising: at least two areas
20 including a data area and a reference area, each of which includes at least
one cell wherein the data area is forrned by at least one data cell in which
different colors, shades, shapes or patterns or a combination thereof are
encoded and expressed according to the content of the information to be
represented therein; and a reference area formed by at least one reference
2s cell which provides a base color, a base shade, a base shape or a base
pattern or a combination thereof for determining the colors, shades, shapes
or patterns or a combination thereof of data cells formed in the data area.
To L
achieve the s e s ; a n d ~ i v et, k g ~ g r o v i d ea s
method of encoding a code image, including: (a) setting up a code
b-- - - - - - . - - . ? - - - -- - - --
30 conversion table in which different colors, shades, shapes or patterns or a
combination thereof are mapped according to recognizable characters
including numerals and symbols; (b) setting target data to be encoded; (c)
encoding the target data using the code conversion table and forming a
data area with an image formed in a series of colors, shades, shapes or
patterns or a combination thereof; (d) setting up a parity area for
determining whether the image formed in the data area is suitable for the
s target data; and (e) obtaining a physical or electronic code image from the
image for the data area and the parity area.
There is also provided a code image encoding method comprising
the steps of: setting a code &version table in-which recognizable
characters including numbers and symbols are mapped to different colors,
l o shades, shapes or pattems or a combination thereof corresponding to the
characters respectively; setting target data to be encoded; encoding the
target data according to the code conversion table and generating an image
expressed in a data area; setting a reference area in which base colors,
base shades, base shapes or base patterns or a combination thereof for
15 providing interpretation bases for colors, shades, shapes or patterns or a
combination thereof expressed in the data area are expressed; and
generating a physical or electronic code image from the image formed by
the data area and reference area.
To achieve the second objective, the present invention provides a
.--
m code image encoding device including: a storage unit for storing a code
conversion table in which different colors, shades, shapes or patterns or a
combination thereof are mapped according to recognizable characters
including numerals and symbols; a data area formation unit for receiving
target data to ,be encoded and encoding the target data using the code
a conversion table to form an image to be expressed on a data area; a parity
area formation unit for forming a parity area for determining whether the
image formed in the data area is suitable for the target data upon decoding;
and a code image formation unit for forming a physical or electronic code
image from the image formed on the data area and the parity area.
30 There is also provided a code image encoding apparatus
comprising: a storage unit for storing a code conversion table in which
recognizable characters including numbers and symbols are mapped to
different colors, shades, shapes or pattems or a combination thereof
corresponding to characters respectively; a data area generating unit for
receiving target data to be encoded and then generating an image
expressed in a data area by encoding the target data according to Vle code
s conversion table; a reference area generating unit for setting a reference
area in which base colors, base shades, base shapes or base pattems or
a combination thereof for providing interpretation bases of colors, shades,
shapes or pattems or a combination thereof to be expressed in the data
area are expressed; and a code image generating unit for generating a
lo physical or electronic code image from the image formed of the data area
and reference area.
To achieve the third objective, there is provided a code image
decoding method according to an embodiment of the present invention,
including: receiving a code image having a data area in which target data
1s is encoded with colors, shades, shapes or pattems or a combination thereof
into an image, and a reference area in which base colors, base shades,
base shapes or base patterns or a combination thereof are expressed for
providing interpretation bases of colors, shades, shapes or pattems or a
combination thereof expressed in the data area; recognizing separately the
20 data area and the reference area from the code image; determining the
colors, shades, shapes or pattems or a combination thereof of each cell
expressed in the data area based on the reference area; and extrading
target data formed by recognizable characters including numbers and
symbols, by decoding the code image by the code conversion table
25 according to the determined colors, shades, shapes or pattems or a
combination thereof of each cell in the data area.
There is also provided a decoding apparatus comprising: a storage
unit for storing a code conversion table in which recognizable characters
including number and symbols are mapped to different colors, shades,
30 shapes or patterns or a combination thereof; an input unit for receiving a
code image which is encoded by the code conversion table having a data
area, in which target data is expressed, and a reference area which
provides interpretation bases for the data area; an information recognizing
unit for recognizing separately the data area and the reference area from
the code image, and determining colors, shades, shapes or patterns or a
combination thereof of each cell expressed in the data area based on the
s reference area; and a data extracting unit for extracting target data formed
by recognizable characters including numbers and symbols by decoding
the code image by the code conversion table according to colors, shades,
shapes or pattems or a combination thereof of each cell in the data area.
To achieve the third objective, there is provided a code image
10 decoding method according to another embodiment of the present
invention, including: (a) receiving a code image including a data area in
which target data is encoded and expressed as an image in mlors, shades,
shapes or pattems or a combination thereof and a parity area for
determining whether the image formed in the data area is suitable for the
15 target data; (b) discerning the data area and the parity area in the code
image from each other; (c) recognizing colors, shades, shapes or patterns
or a combination thereof from the images expressed in the data area and
the parity area; (d) calculating a first parity value using the colors, shades,
shapes or pattems or a combination thereof recognized from the image in
20. the data area; (e) calculating a second parity value using the colors,
shades, shapes or patterns or a combination thereof recognized from the
image in the parity area, and comparing the second parity value with the
first parity value; and (f) decoding the encoded image using the colors,
shades, shapes or pattems or a combination thereof recognized from the
2s data area and extracting target data made up of recognizable characters
including numerals and symbols, if it is determined that there are no parity
errors.
There is also provided a code image decoding method comprising:
(a) receiving a code image including a data area in which target data is
w encoded and expressed as an image in colors, shades, shapes or patterns
or a combination thereof a parity area for determining whether the image
formed in the data area is suitable for the target data; (b) discerning the
data area and the parity area in the code image from each other; (c)
recognizing colors, shades, shapes or pattems or a combination thereof
from the images expressed in the data area and the parity area; (d) setting
parameters for normalizing the colors, shades, shapes or patterns or a
combination thereof recognized from the code image in consideration of an
environment where the code image has been read; (e) normalizing the
colors, shades, shapes or pattems or a combination thereof recognized
from the code image on the basis of the parameters, and obtaining a code
value for the data area and the parity area; (f) calculating a first parity value
using the code values for the data area; (g) calculating a second parity
value using the code values for the parity area; (h) determining whether
there are no parity errors, by comparing the first parity value with the
second parity value; and (i) re-setting the parameters and repeating the
above-described steps from the step (e), if parity errors are generated.
To achieve the third objective, there is provided a code image
decoding device including: a storage unit for storing a code conversion
table on which different colors, shades, shapes or pattems ora combination
thereof are mapped according to recognizable characters including
numerals and symbols; an input unit for receiving a code image including
a data area in which target data is encoded and expressed as an image in
colors, shades, shapes or pattems or a combination thereof and a parity
area for determining whether the image formed in the data area is suitable
for the target data, the code image encoded according to the code
conversion table; an information discerning unit for distinguishing between
a data area and a parity area of the code image and discriminating between
the colors, shades, shapes or patterns or a combination thereof of the cells
expressed in the data area and the parity area; a parity comparison unit for
calculating a first parity value depending on the colors, shades, shapes or
patterns or a combination thereof recognized from the image of the data
area, calculating a second parity value depending on the colors, shades,
shapes or pattems or a combination thereof recognized from the image of
the parity area, and comparing the second parity value with the first parity
value; and a data extraction unit for extracting target data made up of
recognizable characters including numerals and symbols by decoding the
received code image depending on the colors, shades, shapes or patferns
or a combination thereof recognized from the data area according to the
s code conversion table, if it is determined from the comparison by the parity
comparison unit that there is no parity error.
Brief Description of the Drawinas
FIGS. 1A through 1E are views illustrating the structure of a
lo machine-readable code according to the present invention;
FIG. 2A shows an example of expressing four colors using two bits,
FIG. 26 shows an example of a code conversion table where various
characters are converted into code images, FIG. 2C shows an example of
a grayscale code, and FIGS. 20 and 2E show an example of a pattern that
1s can be expressed on each of the cells of a code image;
FIGS. 3A through 3F show various examples of the location of a
parity area within a rectangular matrix-type code image;
FIG. 4 shows the structure of a database which stores index
information;
20 FIG. 5 illustrates a process for obtaining target information using
index information read from a code image;
FIG. 6 is a flowchart illustrating a method of encoding information
such as characters into a code image, according to an embodiment of the
present invention;
2s FIG. 7 shows an encoding system according to the present
invention;
FIG. 8A is a flowchart illustrating a method of decoding a code image
into target information, according to an embodiment of the present
invention, and FIG. 8B is a flowchart illustrating the step 80 of FIG. 8A in
30 greater detail;
FIG. 9 shows a decoding system according to the present invention;
and
FIG. 10 shows an example of an advertisement on which a code
image is printed according to the present invention.
FIGS. 1 IA through H show various examples of representing a code
image according to the present invention,
5
Best mode for cawing out the Invention
FIG. 1A shows an example of the structure of a code formed as an
image so that target infonnation can be read by machines, according to the
present invention. Referring to FIG. 1, this code includes at least a data
to area having at least one cell. The code includes the data area 11 formed
with at least one data cell which is encoded and expressed in different
colors or shades depending on the content of information. Further, various
shapes or patterns may be used for encoding information. Shapes of the
cells may be are differently represented each other and patterns such as
1s a line may be added within the cells.
The code can further include a parity area 13, a reference area 15
andlor a control area 17. The parity area 13 formed with parity cells for
performing recognition error inspection with respect to the cells within the
data area I I. The reference area 15 is formed with at least one reference
a cell which provides a reference color or reference shade for judging the
color or shade of me data cell formed in the data area 1 1. The control area
17 is formed with at least one control cell which indicates a command or
sewice capable of being provided using the information indicated in the
data area 1 1. Hereinafter, one or more areas including the parity area, the
25 reference area and the control area except the data area is referred to as
"an auxiliary area" and a cell within the auxiliary area is referred to as "an
auxiliary cell."
Preferably, the code further includes a boundary area for defining
the areas between the areas included in the code. Also, a boundary area
30 can be further included between the cells included in each of the regions,
in order to define cells. The boundary area can be made up of a line or cell
having a specific color or pattern, and a boundary line or boundary area
can be black or white. The areas can also be distinguished from each other
by a certain range of a color or shade differently set for the cells of each of
the data area, the parity area, the reference area and the control area, or
by inserting an individual specific pattem into the cells of each of the areas.
s Meanwhile, the boundary area may not be expressed in the code image for
security of code information.
The data area 11 is made up of at least one data cell in which a
character or the like is encoded into an image. A data cell can be
configured so as to represent information such as a single character, or a
to set of data cells can be configured so as to represent one or more items of
information. For example, a character A can be expressed as a single red
cell or as two cells, for example, a red cell and a green cell.
Target information contained in the data area 11 is made up of
characters, numerals and symbols, and can be a variety of information such
t5 as a name, an address, a telephone number, a facsimile number, the host
address of a network, domain names and IP addresses used on the
Internet, a URL, a protocol, or a document name, depending on the need
of users.
The parity area 13 is provided to be used upon decoding to
20 determine whether colors or shades (and shape andfor pattem, if any)
expressed in the cells are suitable for the content of target information.
Parity data is obtained according to the code values corresponding to the
colors or shades expressed in the data cells, and parity cells are formed by
the colors or shades for the parity data. Various examples of the location
25 of parity cells within a code image are shown in FIGS. 3A through 3F.
The reference area 15 is used to set a reference color (or a
reference shade, if necessary, a reference shape or a reference pattern) for
recognizing the colors (or shades, shape or pattern) expressed in the cells
in the data area 11 and/or the control area 17. The colors of the cells
30 expressed in each of the areas are based on at least one model of a red
blue green (RGB) color model, a hue saturation value (HSV) color model
and the like. Also, when a code is formed in a black and white shade (gray
scale), the inforrnation of each cell can be accurately ascertained on the
basis of black andlor white expressed in the reference area 15.
A color can be printed differently depending on the type of printer or
the material used in the printing paper, and the same color can be
s recognized somewhat differently depending on the characteristics of a
scanner or camera. In consideration with this fact, the reference cells in the
reference area 15 provide a standard for determining a color expressed on
the data area. That is, even when a color is differently printed due to the
difference in characteristics between output devices, or when a color is
10 differently recognized due to the difference in characteristics between input
devices such as a scanner, the color of each of the cells in the data area
11 can be accurately recognized since the color difference between the
reference area 15 and the data area 11 is f~ed. Therefore, the color of
each of the cells can be obtained by the comparison with the reference
1s color of the reference area 15 on the basis of the RGB model or HSV
model, so that the information of a data cell can be accurately recognized
even if an image input device or an image output device is changed. When
a code image is input by a camera, shapes or patterns in the code image
may be,distorted or tilted. Shapes or patterns expressed in the code image
m may be correctly discerned based on the reference shape or reference
pattern provided in the reference area.
Users can receive various services depending on the type of
application field using the target inforrnation of the data area 11. For
example, if an lntemet home page address (that is, a URL) is expressed as
25 a code image on a business card, a program can be provided so that a
code image is decoded by a computer, and then a web browser of the
computer or a server computer connected to the computer is executed to
allow users to be connected to the home page. Also, if an Internet E-mail
address is expressed as a code image on a business card, the code image
30 is decoded by a computer, and then the mailing software of the computer
is executed, to provide an environment where a mail can be sent to the Email
address. In an another example, when the code image is input to a
portable terminal such as a mobile phone, a phone call is made to a
telephone number corresponding to the code image or a service for
geographic information may be provided. Here, this automatic service
fundion can be automatically executed by a separate program or by a
5 decoding program depending on the type of target information. Also, a
code image includes the control area 17 on which this command word is
expressed as an image, so that the automatic service function can be
executed by a decoding program using control information decoded by the
control area 17.
10 The control area 17 can include a command or metadata for
controlling the target information of the data area. For example, the
information expressed on the control area 17 can indude various metadata
such as the sequence of decoding of the cells formed in the data area 1 1,
the location of the reference cells of the reference area 15 that is a
is standard of judgement of the colors of the data cells formed on the data
area 11, the location or properties of the parity area 13, and the like.
. Fig 1 B to I€are examples of expressing a data area and an
auxiliary area in a code image. Here, the auxiliary area which is represent
by hatched areas may include at least one area selected among a parity
m area, a reference area and a control area.
FIG. 2A shows an example of expressing data of two bits using four
colors. If each cell can have one among four colors. 2-bit data can be
expressed using one color cell. Hence, if 4 consecutive cells are defined
to express one character, , that is, 256 characters, can be expressed. If
25 a cell may expressed by one of four types of shapes, for example, a small
rectangular, a large rectangular, a small circle and a large circle, while one
color is used, data of two bits can be encoded. In this case, information of
256 (8 bits) kinds can be expressed in a code image when a cell may be
filled by one of four colors. FIG. 2B shows an example of a code
XI conversion table where various characters (alphabet or special characters),
numerals or figures are converted into color images. Here, one character
is mapped to two color cells.
In an encoding method using the code conversion table of FIG. 2B,
various characters or the like are converted into code values, and then
code images are produced in colors respectively allocated to the code
values. In FIG. 2B, a code image is produced using 8 colors, and two
5 consecutive cells are used to express one character or numeral. Code
values "000" to "1 11" are allocated to 8 colors, respectively, and each
character is encoded in two colors. For example, a number "3" is allocated
as a code value "000 01 1 ", and encoded in a color (black) allocated to the
code value "000" and a color (cyan) allocated to the code value "01 I", so
lo that the number"3" is expressed using two consecutive cells of black and
cyan. Various characters or numerals included in the target information are
converted into code values according to the code conversion table shown
in FIG. 28, and then colors corresponding to the code values can be
expressed in a rectangular matrix, that is, a combination of rectangular
15 cells.
FIG. 2C shows an example of a code image produced using a
grayscale code, according to the present invention. In the present
invention, a character or numeral can be color-encoded and colordecoded
using a color printer and a scanner. In FIG. 2C, a code image can be
20 produced using a grayscale code, that is, shades ranging from black to
white, depending on the purposes and circumstances of users.
A grayscale code forms a code according to the brightness of white
from black instead of a mixture ratio of red, green and blue. Thus, the
reference area is formed of at least one reference shade among black,
2s white and gray, and the cells formed in the data area have code values
obtained due to the gray difference between their shades (or colors) and
the reference shade of the reference area. If there is no reference area, a
shade of each cell in the code image is detected, cells (cell group) having
similar shades each otherwithin a predetermined criterion are grouped, and
30 then the same code value is-assigned to the cells included in the same
group. Next, using a parity area it is determined whether there is a
decoding error. If an error, shades of the cells may be recalculated or
criteria for forming cell groups are reestablished, and then it is determined
whether an error is still happened. This gray code image can usually be
applied to black printing media such as newspaper.
FIGS. 2D and 2E show an example of a pattern that can be
5 expressed in each of the cells of a code image. As can be seen from FIGS.
2D and 2E, a method of adding a pattem to a color cell using a vector line
in addition to color can be adopted to convert information into a code
image. FIG. 2D shows an example of 4direction vector lines and 8-
direction vector lines that can be expressed in a cell. If Uirection vector
10 lines are used, patterns of four bits, that is, 16 different patterns, can be
added to the color of each cell, as shown in FIG. 2E. Accordingly, when
one character is expressed for one cell, and 8 colors, that is, colors of 3
bits, are used, each cell can be expressed in 128 characters (characters of
7 bits). Also, a cell can be divided in horizontal, vertical and diagonal
15 directions, and the divided cell pieces can be expressed in different colors
or shades.
. In a code image according to an embodiment of the present
invention, a data area and/or an auxiliary area may be expressed by
shapes andlor patterns as well as colors or shades. Also, a data area
20 and/or an auxiliary area may be expressed by at least one of colors,
shades, shapes or patterns, or a combination thereof. For example,
information may be expressed by various shapes or patterns in a data area
and/or an auxiliary area while using only one color.
FIGS 1 ?A though 11 H show various examples of representing a
2s code image according the present invention. A cell may be variously
expressed by one shape of a rectangular, a circle, an ellipse, a cross or
web andlor a combination thereof.
Size or shape of a code image or a cell included therein may be aptly
selected according to contents or amounts of information to be expressed
30 in the code image. FIG 11 H shows that a shape similar to a bar code also
may be used in an embodiment of the present invention.
FIGS. 3A through 3F show various examples of the location of the
&- parity area 13 of FIG. 1 within a rectangular matrix-type code image. Also,
the configuration of these examples can be modified and applied to a code
image having a circular shape or another shape. Area (Dn) except for the
parity area (Pn) is a data area, a reference area or a control area.
5 In FIG. 3A, parity cells each having parity information on the cells in
the same row are located at the rightmost column. For example, the parity
cell for cells Dl 1, 012. Dl3 and Dl4 is PI. In FIG. 38, parity cells each
having parity information on the cells on the same row are aligned in a
diagonal direction. In FIG. 3C, parity cells each having parity information
lo on the cells on the same column are located at the lowermost row. In FIG.
30, parity cells each having parity information on the cells on the same
column are aligned in a diagonal direction.
In FIG. 3E, parity cells Plr through P4r each having parity
information on the cells in the same row are located at the rightmost
1s column, and simultaneously, parity cells Plc through P4c each having
parity information on the cells in the same column are aligned at the
lowermost row. A parity cell Prc having parity information on the row parity
cells and the column parity cells is further included. In FIG. 3F, a code
includes the row parity cells Plr through P4r and the column parity cells
20 PIC through P4c, as in FIG. 3E. Here, the row parity cells PI r through P4r
are aligned in a diagonal direction. Conversely, the column parity cells PI c
through P4c can be aligned diagonally.
An example of a method of selecting a color for a parity cell will now
be described. A parity cell has a code value obtained by performing a XOR
2s operation with respect to the code values of the data cells (undoubtedly,
reference cells and/or control cells can be included) on the same row or
column. Various methods for generating parity data may be applied for
encoding a code image according to the number of colors or shades to be
expressed in the code image. For example, when two kinds of colors or
30 shades are used, two parity methods, that is, an even parity method and an
odd parity method may be available. When an even parity method is used,
the result value of the XOR operation is directly the code value of a parity
cell, so that the parity cell is expressed in a color for the obtained code
value. When an odd parity method is used, the complement value (-) of
each bit of the resultant value of the XOR operation is obtained, and the
parity cell is formed in a color corresponding to the obtained complement
5 value.
A method of obtaining a color to be expressed in a parity cell using
the code conversion table shown in FIG. 2A will now be described. If the
colors of the data cells Dl 1, 012, Dl 3 and Dl4 are black, red, green and
green, respectively, the code values of the data cells are 11,10,01 and 01,
10 respectively. Here, 'XOR denotes an exclusive OR operation.

11 XOR 10 XOR 01 XOR 01 = 01 (green)

I IXOR 10 XOR 01 XOR 01 = 01 -> -01 = 10 (red)
1s As the number of colors or shades used in a code image is
increased, it is more flexible to select one among various parity methods.
When four types of colors or shades are used, four parity methods
comprising modular parity methods as well as an even and odd parity
method are available. The modular parity methods includes an even
M modular parity method in which an even parity value obtained by the even
parity method is added by two, the resultant value is divided by four and
then the resultant value is set to a parity value and an odd modular parity
method in which an odd parity value obtained by the odd parity method is
added by two, the resultant value is divided by four and then the resultant
a value is set to a parity value. In case of eight colors or shades, eight types
of parity methods are available. In general, if the number of colors or
shades used in a code image is assumed to N, the number of parity
methods may be determined as follows:
(an even parity value + 2 * i) % N, or
30 (an odd parity value + 2 * i) % N
where, i=0,1,2, . . . , log,N-I , N=2,4,8, . . . , and %: rnoddar.
A plurality of parity methods may be simultaneously applied to one
&
code image and thus type of code, type of decoding or direction for reading
cells may be determined according to types of parity methods or locations
expressed in the code image. Referring to FIG. 3E, an even parity method
is applied to each row and column, but an odd parity method may applied
s to a cell Prc. Referring to FIGS. 3A to 3C1 an even parity method is applied
to the first column, but an odd parity method may applied to the remaining
columns. Meanwhile, a shape or a pattern may also be used to express a
parity value instead of colors or shades. Further, a combination of colors,
shades, shapes andlor pattern is also available. For example, when a
10 parity value is zero, a while rectangular All may be used or a black circle
cell. A code image may further comprises a cell or an area in which
inforrnation relating to a parity method applied to the code image is
expressed.
FIG. 6 is a flowchart illustrating a method of encoding information
15 such as characters into a code image, according to an embodiment of the
present invention. A method of converting inforrnation into a code image
using encoding software will now be described. At least one character or
numeral included in target information is converted into a code image
formed of a predetermined shape, color or pattem or a combination of the
m abovedescribed features using a predetermined code conversion table as
shown in FIG. 2B.
An encoding method may be a direct encoding method, an indirect
(or index) encoding method or a mixed encoding method depending on the
type of information encoded into a code image. In a direct encoding
2s method, target information itself is directly encoded using a code
conversion table, thereby producing a code image. In an indirect encoding
method, index information (for example, the address of a database or a
record number) for reference of target information is encoded into an image
using a code conversion table. The mixed encoding method is a mixture of
30 the two above-described methods.
In the direct encoding method of encoding target information itself
into a code image, a separate system or storage is not required. However,
). when the amount of data of target information increases, the physical size
of the code image increases.
In the indirect encoding method, target information itself is not
encoded, but information on the position of a storage medium is encoded.
s This position information can be he pointer or memory address of a storage
medium in which target information is stored, or the URL or IP address
representing the position of target information. Thus, the indirect encoding
method requires a separate system or a storage medium in which target
inforrnation exists.
10 In the mixed encoding method, some indispensable data among the
entire target information is directly encoded, and the other data is indirectly
encoded. For example, names and telephone numbers are encoded
character by character, large data such as mail addresses or E-mail
addresses is stored in a server, and the memory address of the data stored
1s in the server is encoded to produce a code image. Also, it is preferable that
fixed data such as names adopt the direct encoding method, and variable
information capable of being changed at any time, such as, home page
addresses, telephone numbers or E-mail addresses, is indirectly encoded.
Even when the personal items of a user are changed, a person who has
XI received a business card on which a code image of the user is expressed
can always access the latest inforrnation even with the old business card
if the user registers the changed items in the database of a server.
FIG. 4 shows the structure of a database which stores index
information required when an indirect encoding method is applied to an
a encoding method according to the present invention. FIG. 5 illustrates a
process for acquiring target inforrnation using index information read from
a code image. In FIG. 5, a service pointer database 52 that stores pointer
information capable of accessing real target information depending on
index inforrnation is included together with an index database 51 as shown
30 in FIG. 4. The pointer information indicates the position at which real target
information 53 such as messages, images or moving pictures is stored.
A unique index is allocated to each real target information (content),
++ and the service code and the offset, which correspond to target information,
are set and stored together. Here, the target information, which is the final
inforrnation capable of being eventually used by users, includes various
types of inforrnation such as web site addresses, E-mail addresses,
s messages, images, moving pictures and music. A service code is
designated depending on the type of service. For example, a web
connection service and a telephone call service can be encoded into 0 "
and Cl ", respectively. The offset relates to information on a position at
which the service pointer database 52 can be accessed. For example, if
l o index information is read from a code image, the index database 51 is
searched to extract the service code, offset and target information for the
index information. Pointer information stored in the service pointer
database 52 is searched for depending on the offset. The positions of
preset messages or image files are found depending on the pointer
is inforrnation and the message or image is provided to users. For example,
using a target data obtained by decoding a code image, a service type code
is obtained from a first database and location information is obtained from
a second database. Target information is obtained according to the
location information, and then a service such as a message service, a
20 moving image service, a web page access service, a telephone call service
or an E-mail service which is determined by the service type code may be
provided depending on the target inforrnation.
An encoding process will now be described referring to FIG. 6. A
code conversion table on which colors or shades (or gray levels) are
2s mapped corresponding to recognizable characters including numerals and
symbols, is established, in step 61. An example of the code conversion
table is shown in FIG. 28, and a pattern (see FIG 2E) using a vector line
can be used in the code conversion table.
A user inputs target information to be converted into a code image,
30 in step 62. Here, the user inputs his or her name, position, telephone
number and facsimile number in order to encode, for example, personal
items to be expressed on a business card, into a code image. It is common
that a server stores information input by users in a database or file.
Next, it is determined whether to apply the direct encoding method
of directly encoding target information or the indirect encoding method of
indirectly encoding information on the position at which target information
s is stored in a data base, in step 63. If the direct encoding method is
applied, the target inforrnation itself is set to be target data to be encoded,
in step 64b. If the indirect encoding method is applied, the information on
the position of the target information is set to be target data to be encoded,
in step Ma. For example, if personal items (target inforrnation) themselves
ro input by users are encoded, this corresponds to the direct encoding
method. If database addresses at which the personal items are stored in
a server, or indices associated with the addresses are encoded, this
corresponds to the indirect encoding method. Also, a mixed encoding
method, in which names are encoded by the direct encoding method and
is the other personal items are encoded by the indirect encoding method, can
be applied.
The target data is encoded using a code conversion table, in step
65. Then, a code value for each of the characters or numerals included in
the target data is obtained, a color or shade for each data cell is determined
20 by the code value to form an image of each data cell, and imaged data cells
are aligned in the order (or in a determined way) of alignment of characters
or the like of target data, thereby completing a data area.
After the target data is encoded, at least one of parity inforrnation,
reference information and control inforrnation may be selected as an
2s auxiliary information to be expressed in a code image in step 66. .Further,
a method of expressing the auxiliary inforrnation in the code image, for
example, type of parity method, may be determined.
If reference inforrnation is expressed in an auxiliary area of a code
image, a reference area can be further set up by determining the shape,
30 position or arrangement of reference cells in which a reference color or
reference shade (and reference shape or reference pattern, if necessary)
is to be expressed for providing a standard of interpretation of colors or
shades expressed in the data cells of the data area. Also, a control area,
in which control inforrnation where items associated with commands or
services capable of being used using the target information included in the
data area are set, can be further established.
s Then, if parity information is expressed in an auxiliary area of a code
image, a parity value is obtained from the code values of colors or shades
(and shapes or patterns, if necessary) expressed in the data area or the
like, and a color or shade for the parity value is set to be parity data, in step
66. At this time, an area in which the parity cell is to be located is
10 determined (see FIG. 1 and FIGS. 3A through 3F).
When a data area and an auxiliary area are set up, the layout of a
code image including the shape of the code image, the relative position and
size of each of the areas, and the size of a cell unit is set. A code image
made up of a data area and an auxiliary area is produced acmrding to the
1s set layout, in step 67. The code image can be automatically output by the
algorithm of a program, or manufactured by a graphic editor or by a manual
operation according to a code conversion scheme. The code image formed
in this way is expressed on a predetermined medium or stored in an image
file.
20 FIG. 7 shows an encoding system according to the present
invention. In FIG. 7, a computer 77 receives target inforrnation, produces
a code image through the above-described encoding process and prints the
code image using a printer 78, so that the code image can be physically
expressed on a medium 79a such as a business card or electronically
25 provided in the form of a code image file 79b. Here, a medium on which a
code image is expressed can be all media capable of expressing
predetermined information, such as a business card, the exterior of
products, the advertisement page of magazines and the like. Also, a code
image can be output through a display device such as a monitor, stored in
30 a computer file, or transmitted as an electrical signal to a communication
line.
FIG. 8A is a flowchart illustrating a decoding method to extract the
original target information made up of characters or the like from a code
image, according to an embodiment of the present invention. In order to
decode a code image of the present invention, an image input device 92 for
reading a code image 91a, such as a scanner, a digital camera, a CCD
s camera, a sensor, a facsimile or the like, must be provided, or a code image
must be provided in the form of a code image file 91 b so as to be directly
used by a computer 93, as shown in FIG. 9. Also, the computer 93 (a
personal computer or a server computer connected to personal computers)
must be able to execute a program for decoding code images.
10 - Refening back to FIG. 8A, a code image made up of a data area and
: a parity area (including a reference area and a control area if they exist) is
input to a user computer, in step 80. The user computer can directly
receive the code image 91a expressed on a medium using an image input
device, or can load the image file 91 b, which has already been made, into
1s its memory using a storage device such as a disc or buffer. In the case of
a code image formed by an indirect encoding method, the user computer
must be connected to a server having a storage device in which index
information is stored, or must include such a storage device.
An image input by an image input device is processed by an edge
m detection method or a noise image rejection method using predetermined
parameters, thereby eliminating a background image and thus obtaining a
code image. Sometimes, a code image may be read crookedly or aslant
depending on the operating state of a scanner or the position on a medium
at which the code image is printed. In this case, the code image may be
25 decoded wrongly, Accordingly, the position or direction of the code image
is corrected, in step 87. Even when the correction step is not performed,
locations and inforrnation of each cell may be detected concerning the state
of an input image.
A data area and an auxiliary area (a parity area, a reference area
30 and/or a control area) in the code image are discerned from each other
using the information in a boundary area set between areas or using
particular inforrnation in a cell, in step 82. If the auxiliary area includes at
b- least two sub areas, these sub areas are discerned from each other. If
there is the reference area in the code image, colors, shades, shapes
and/or patterns are discriminated depending on information of the reference
area. If there is the parity area in the code image, it is performed to detect
s a decoding error.
When a code image is recognized by a computer, a decoding
process for extracting the original information from the code image is
performed. Decoding denotes extraction of the original information from a
code image according to what is defined in a code conversion table. Types
lo of decoding methods include a direct decoding method and an indirect
decoding method. In a direct decoding method, when a code image is
decoded, actual target information such as names or addresses is directly
extracted. In an indirect decoding method, a decoded result has index
information, wtlich is a key value for accessing a database in which actual
15 target information such as names or addresses is stored.
Upon decoding, a process for finding shapes, colors, patterns and
characters included in a code image is required, and a process for
correcting distorted images is also required. Here, the colors can be
discerned by at least one of an RGB (red, green, blue) model, an HSV (hue
20 angle, saturation, value) model, a CMY (cyan, magenta, yellow) model and
an HLS (hue angle, lightness, saturation) model.
In order to achieve decoding, the code values of the cells within a
data area and an auxiliary area are extracted, in step 83. if a reference
area exists, a color (or shade, etc) is detected from a reference cell, and
2s serves as a reference color (or reference shade) for interpreting the
information in the data area or other areas. Colors are detected from the
cells included in the data area, the parity area or the control area, and the
color differences of the detected colors from the reference color are
obtained and converted into the code values for the cells. If there is no
30 reference area, the code values for the cells can be obtained depending on
colors or shades interpreted by an image input device.
If the parity area exists in a code image, the parity of each row or
N column of the code image is checked as to whether it has errors, using the
code values obtained from the parity area, that is, parity data, in step 84.
This step will be described later in greater detail referring to FIG. 88. If
necessary, direction or location of the code image may be also detected
s depending on the parity data.
The code value of each cell obtained through the abovedescribed
process is converted into target data made up of recognizable characters
including numerals and symbols according to a code conversion table (see
FIG. 28). in step 85. The content of the target data obtained in step 85 is
10 determined depending on the type of encoding method, in step 86. In step
87a, if a code image is encoded by the indirect encoding method, that is,
if target data obtained by decoding is index data, target information stored
at a position on a storage device (database) determined by the target data
is extracted, since the target data corresponds to the address or pointer of
1s a storage device in which target information is stored. If the target data is
not index data, the target data serves as desired target infomation, in step
87b.
It is determined whether a code image includes a control area in
which items associated with commands or setvices capable of being
x, executed using target information are set forth, in step 88. If a code image
includes the control area, commands or sewices are provided depending
on information set forth in the control area, in step 89a. Otherwise, a basic
service designated in a program is provided, in step 89b.
FIG. 88 is a flowchart illustrating the step 80 of FIG. 8A in greater
2s detail. In FIG. 8B, parity is inspected on the basis of the code values
extracted in step 84, and colors are corrected according to the result of the
parity inspection.
First, parameters for color interpretation are set in step 841. The
parameters can be R, G and B in the RGB model, H, S and V in the HSV
30 model, or a combination of the aforementioned features, and are set to
normalize the code values of colors or shades recognized from a code
image in consideration of the environment from which the code image has
& been read. Here, the parameters can be R, V and S values, that is, the R
value obtained by the RGB model and the V and S values obtained by the
HSV model. Generally, initial environmental parameters are set so as to-be
suitable for the most-widely used illumination environment, such as,
s fluorescent lamps or 3-wavelength lamps. Preferably, the parameters are
set depending on the illumination environment when a white backgmund is
photographed using an image input device, before a code image is input.
For example, since red light is relatively strong under the illumination of a
halogen lamp, parameters are set so as to remove an influence of red light
l o from a halogen lamp. Then, an actually-read color is normalized by the
parameters, thereby reducing the effect of illumination and obtaining a color
which is close to the original color.
Next, the R, G and B values of a color read from a code image are
nmlized on the basis of the parameters R, V and S, in step 842. A code
1s value for a color depending on the normalized R, G and B values is
obtained using a code conversion table, in step 843. A parity value is
calculated using the code value of the cells on each column and/or row
expressed in a data area (including a reference area and a control area if
they exist), in step 844. In step 845, the calculated parity value is
compared with the parity data of a parity cell set in units of columns and
rows of the data area, to determine whether there are parity errors. If a
plurality of parity methods are applied to the code image, order of decoding
cells included in the code image may be also easily detected besides a
parity check described in the above.
If a parity error is generated on a column or row, parameters for a
new environment are set in step 846, and then the step returns to the color
normalizing step 802. Parameters optimized to an illumination environment
of high frequency, and their weighted values, are pre-set and stored in a
3 decoding program or a database, so that users can select an environment
parameter which is the most suitable for their environments. Generation of
parity errors can be considered as generation of errors in color
interpretation using the currently-set parameters. Accordingly, in this case,
colors are again read using other parameters.
The parameters are experimentally set in a parameter database so
that a code image is distinguished from a background in an input image and
5 a color read by an input optical device is corrected to the original color by
analyzing the optical characteristics of the input optical device and its
peripheral illumination circumstances. Thus, the effects of devices or an
environment are excluded, so that colors can be recognized without errors.
Two or more parameter groups each having other objective may be
10 established. One may be a parameter gmup for distinguishing a code
image from a background image and the other may be a parameter group
for discerning colors or shades of the code image. For example, when
colors are discerned on the basis of the RGB model under a red
illumination environment, an R value is relatively high. Thus, the effects of
1s environments can be excluded by reducing the R value read by an optical
device depending on a predetermined weighted value. In a case of a code
image received under a bright illumination environment, black and white are
discerned from each other on the basis of the HSV model by increasing the
weighted value of a V value. In a case of a code image received under a
m dark illumination environment, colors are determined on the basis of the
HSV model by increasing the weighted value of the V value which is used
for discerning black and white from other colors and by increasing the
weighted value of the S value.
Upon re-setting parameters, the distribution of R, G, 6, H, S andtor
25 V values obtained with respect to each of the cells of a code image by an
optical device is ascertained, and parameters and their weighted values
can be re-set with reference to the distribution.
Meanwhile, when errors of reading data from a code image during
decoding process continuously occur, a user may directly enter target data
30 according to colors and so on expressed in the code image referring to a
code conversion table and then a predetermined service may be provided
to the user.
FIG. 10 shows an example of an advertisement paper on which a
code image is printed according to the present invention. Users who see
the advertisement paper of FIG. 10 can obtain information on a code image
by scanning (or photographing) the code image (a rectangular matrix-type
s image displayed on the lower portion at the left and right sides of the
advertisement paper) using an optical device such as a PC camera or a
scanner.
In the present invention, a computer-readable code image can be
stored in recording media that can be read by a computer. The computerlo
readable recording media may be any type of recording device that can be
read by a computer system, such as, ROM, RAM, CD-ROM, magnetic
tapes, floppy discs, optical data storage devices, and carrier waves (e.g.,
transmissions over the Internet). Also, the computer readable recording
media can be distributed on computer systems connected through a
15 network and can store and execute a computer readable code in a
distributed mode.
As described above, various types of information can be expressed
in a code image using colors, shades, shapes and/or pattens according to
the present invention. The code system according to the present invention
20 enables to encode more diversified and voluminous information compared
to the other codes of the prior arts. Further, when a code image according
to the present invention may include a parity area for parity inspection, malrecognition
of colors due to the difference between input devices such as
cameras or between the environments such as illumination conditions, can
25 be easily detected and corrected. Thus, a more efficient decoding method
and apparatus can be achieved using a code image according to the
present invention.
Industrial A~plicability
30 According to an embodiment of the present invention, parity
information together with target information is encoded into a code image
according to a code conversion table, parity inspection is performed when
the encoded code image is decoded, and environmental parameters are
appropriately applied upon generation of parity errors, so that colors can
be accurately recognized. In particular, even in an environment having
normal brightness under a general fluorescent lamp, in a relatively dark or
s bright environment, and in an environment where red light is strong such
as an environment under a halogen lamp, information on a code can be
accurately recognized. Also, when the code may include a reference area,
the code reduces mis-recognition due to differences among operational
conditions or machine models of output apparatuses or input apparatuses.




We claim
1. A code image encoding device (70) comprising:
a storage unit for storing a code conversion table in which different colors,
shades, shapes or patterns or a combination thereof are mapped according to
recognizable characters including numerals and symbols;
a data area formation unit (77) for receiving target data to be encoded and
encoding the target data using the code conversion table to form an image to be
expressed on a data area (1 1);
a parity area formation unit for forming a parity area (13) for determining
whether the image formed in the data area (1 1) is suitable for the target data upon
decoding; and
a code image formation unit (79) for forming a physical or electronic code
image (79a, 79b) from the image formed on the data area (1 1) and the parity area
(131,
the encoding device characterized in that:
each parity cell is formed by a color which is determined by parity data
obtained from code value of at least one data cell.
2. A code image decoding device (90) for decoding the encoded code image as
claimed in claim 1, said decoding device comprising:
a storage unit for storing a code conversion table on which different colors,
shades, shapes or patterns or a combination thereof are mapped according to
recognizable characters having numerals and symbols;
an input unit (92) for receiving a code image (91a, 91 b), which is encoded
according to the code conversion table, including a data area (1 1) in which target data
is encoded and expressed as an image in colors, shades, shapes or patterns or a
combination thereof and a parity area (1 3) for determining whether the image formed
in the data area (1 1) is suitable for the target data; and
an information discerning unit for distinguishing between a data area (1 1)
and a parity area (13) of the code image and discriminating between the colors,
shades, shapes or patterns or a combination thereof of the cells expressed in the data
area (1 1) and the parity area (l3),
the coding device characterized in that:
each parity cell is formed by a color which is determined by parity data
obtained from code value of at least one data cell, and
the coding device further comprises:
a parity comparison unit for calculating a first parity value depending
on the colors, shades, shapes or patterns or a combination thereof recognized
from the image of the data area (1 I), calculating a second parity value
depending on the colors, shades, shapes or patterns or a combination thereof
recognized from the image of the parity area(l3), and comparing the second
parity value with the first parity value; and
a data extraction unit for extracting target data made up of
recognizable characters including numerals and symbols by decoding the
received code image depending on the colors, shades, shapes or patterns or a
combination thereof recognized from the data area (1 1) according to the code
conversion table, if it is determined from the comparison by the parity
comparison unit that there is no parity error.
3. The code image encoding device as claimed in claim 1, wherein the storage
unit and the data area formation unit is coupled to a reference area generating unit for
setting a reference area in which base colors, base shades, base shapes or base
patterns or base combination thereof for providing interpretation bases of colors,
shades, shapes or patterns or a combination thereof to be expressed in the data area
are expressed.
4. The code image decoding device as claimed in claim 2, wherein
the input unit receives a code image further including a reference area which
provides interpretation bases for the data area; and
the information discerning determines colors of each cell expressed in the
data area based on the reference area.

Documents:

IN-PCT-2002-01097-DEL-Abstract.pdf

in-pct-2002-01097-del-Claims.pdf

IN-PCT-2002-01097-DEL-Correspondence-Others-(04-07-2007).pdf

IN-PCT-2002-01097-DEL-Correspondence-Others-(06-07-2006).pdf

IN-PCT-2002-01097-DEL-Correspondence-Others-(06-07-2007).pdf

IN-PCT-2002-01097-DEL-Correspondence-Others-(16-06-2003).pdf

IN-PCT-2002-01097-DEL-Correspondence-Others-(26-03-2003).pdf

IN-PCT-2002-01097-DEL-Correspondence-Others.pdf

IN-PCT-2002-01097-DEL-Descritpion (Complete).pdf

IN-PCT-2002-01097-DEL-Drawings.pdf

IN-PCT-2002-01097-DEL-Form-1-(04-07-2007).pdf

IN-PCT-2002-01097-DEL-Form-1-(26-03-2003).pdf

IN-PCT-2002-01097-DEL-Form-1.pdf

IN-PCT-2002-01097-DEL-Form-2.pdf

IN-PCT-2002-01097-DEL-Form-3-(04-07-2007).pdf

IN-PCT-2002-01097-DEL-Form-3.pdf

IN-PCT-2002-01097-DEL-Form-5-(26-03-2003).pdf

IN-PCT-2002-01097-DEL-Form-5.pdf

IN-PCT-2002-01097-DEL-GPA-(04-07-2007).pdf

IN-PCT-2002-01097-DEL-Petition-137-(03-07-2007).pdf

IN-PCT-2002-01097-DEL-Petition-138-(03-07-2007)-.pdf

IN-PCT-2002-01097-DEL-Petition-138-(03-07-2007).pdf

IN-PCT-2002-1097-DEL-Correspondence-Others-(06-07-2010).pdf


Patent Number 257735
Indian Patent Application Number IN/PCT/2002/01097/DEL
PG Journal Number 44/2013
Publication Date 01-Nov-2013
Grant Date 30-Oct-2013
Date of Filing 06-Nov-2002
Name of Patentee COLORZIP MEDIA INC
Applicant Address 211, YONSEI ENGINEERING RESEARCH COMPLEX, YONSEI UNIVERSITY, 134 SINCHON-DONG, SEODAEMUN-GU, SEOUL 120-749, REPUBLIC OF KOREA
Inventors:
# Inventor's Name Inventor's Address
1 TACK-DON HAN 922-201 MOK-DONG SHINSIGAJIE APT. 312, SINJEONG-DONG YANGCHEON-GU, SEOUL 121-140, REPUBLIC OF KOREA
2 CHEOL-HO CHEONG 10/4, 62-9, YEONHEE 3-DONG SEODAEMUN-GU SEOUL 120-823, REPUBLIC OF KOREA
3 NAM-KYU LEE 103-503 BYUCKSAN APT. GANGSUN MAEUL JUYUP-DONG, ILSAN-GU GYUNGGI-DO, GOYANG-CITY 411-743, REPUBLIC OF KOREA
4 EUN-DONG SHIN 101-1207 GEUMGANG APT. SIHEUNG-DONG, GEUMCHEON-GU SEOUL 153-030, REPUBLIC OF KOREA
PCT International Classification Number G06K 9/00
PCT International Application Number PCT/KR2001/00742
PCT International Filing date 2001-05-08
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 2000-24706 2000-05-09 Republic of Korea
2 2000-62597 2000-10-24 Republic of Korea