# Information input/output method using dot pattern

A plurality of lattice dots are disposed in a rectangular shape and set as a block, and they are regularly and continuously disposed, and a dot that forms one of the lattice dots which exists in the block is disposed by being shifted unidirectionally and is set as a key dot, and by setting the key dot as a representative point, a plurality of information dots are disposed, and by setting a center which was surrounded by the lattice dots of four points as a hypothetical point, and by setting this as a start point of a vector, at an end point of which, a plurality of information dots which have various information are arranged in accordance with a predetermined rule by a dot code generation algorithm to thereby generate a dot pattern.

**Description**

**TECHNICAL FIELD**

This invention relates to an information input and output method by use of a dot pattern which has various information and programs inputted and outputted, by optically reading out dot pattern information which was formed on a printed material etc.

**BACKGROUND INVENTION**

In the prior art, an information output method, which reads out a bar code printed on a printed material etc., and which has information such as a sound etc. outputted, has been proposed. For example, such a method that information which coincides with given key information has been stored in storage means in advance and information etc. is outputted by searching from the read key by use of a bar code reader has been proposed.

Also, so as to be able to output a lot of information and programs, such a technology that, generated is a dot pattern in which minute dots were disposed by a predetermined rule, and a dot pattern which was printed on a printed material etc. is imported as image data by a camera, and digitized to have sound information outputted, has been proposed.

However, the above-described method which has a sound etc. outputted by use of a conventional bar code has such a problem that a bar code printed on a printed material etc. is unpleasant to the eye. Also, since a bar code is large and takes possession of a part of a page space, it has such a problem that, when a bar code is large as just described, it is impossible from the view point of a layout to assign a good many of bar codes in a way easy to understand with respect to each meaningful character and object which appear in partial text and sentence or in images of a photograph, a painting, a graphic.

A dot pattern is imported as image data by a camera, and the image data is digitized into 256 tones of an achromatic color, and in order to make recognition of a dot easy, a change of tones is differentiated, to sharpen an edge of a dot. Then, data of 256 tones is changed to a binary digit of white or black. By realizing this change to a binary digit, when a dot is printed on a page space, there occurs a print error of a dot due to shear and blur in printing, misalignment on the occasion of having conducted pixelation. In the prior art, the suchlike print error is error-checked by a parity check. However, these error checks have such problems that they are not of a print error check with respect to each dot, but are of an error check to a lump of data which is obtained from a plurality of dots, and it is not possible to ascertain in which dot a print error occurred, and that a scope of image pickup of a camera has to be taken widely.

Furthermore, they have such a problem that there occurs distortion in an imaged dot pattern due to distortion of a lens, cross shot, expansion and contraction of a page space, curvature of a medium surface, and deflection at the time of printing, and in order to compensate this, an advanced technical capability is required.

This invention is one which was invented in order to solve such problems. That is, an object of this invention is to provide an information input and output method by use of a dot pattern which defines a goodly amount of data by use of a dot pattern, by imparting a different function to each dot of a dot pattern to be displayed on a printed material etc., and on the occasion of informatization from that dot pattern, can recognize directionality and informatize it expeditiously, and can check an error of a layout state of dots, and furthermore, can heighten security.

**DISCLOSURE OF THE INVENTION**

According to this invention, provided is an information input and output method by use of a dot pattern characterized in that, a plurality of lattice dots (**4**) are disposed in a rectangular shape on a medium surface of a printed material etc., which is then, set as a block, and the blocks are regularly and continuously disposed, and such a dot that 1 lattice dot (**4**) located in the block was disposed by being shifted unidirectinally is set as a key dot (**2**), and, by setting the key dot (**2**) as a representative point, they are disposed at a circumference of the key dot (**2**), and by setting a center which was surrounded by lattice dots (**4**) of 4 points as a hypothetical point, and by setting this as a start point, at an end point which was represented by a vector, a plurality of information dots (**3**) which have various information recognized are disposed in accordance with a predetermined rule by a dot code generation algorithm to generate a dot pattern (**1**), and a block which configures the dot pattern (**1**) is imported as image data by a camera, and, from a numerical value which was calculated by digitizing this, information, a program are outputted.

By the above-described camera, recognized is a direction of the key dot (**2**) of the dot pattern (**1**), and dots which were disposed at the end point of the vector on the basis of the direction as a standard are set as the information dot (**3**). A plurality of the information dot (**3**) can be displayed around the hypothetical point of the lattice dot (**4**) as a center.

In the information/program input and output method of the above-described configuration, the dot pattern (**1**) which was formed on a medium of a printed material etc. by use of an information output device, a personal computer, a PDA or a portable telephone, etc., is imported as image data by a camera. This camera recognizes the printed dots in accordance with the predetermined rule in these dot pattern (**1**), and digitizes it, and has information and program outputted from the calculated numerical value.

In particular, the dot pattern (**1**) is imported as its image data by a camera, and firstly, the lattice dot (**4**) is recognized and then, the key dot (**2**) is extracted, and directionality is recognized by the key dot (**2**), and its direction can be used as a parameter. Then, by extracting the information dot (**3**) which was disposed at a circumference of this key dot (**2**), it is possible to have information and program outputted expeditiously.

Since, in the dot pattern (**1**), the lattice dot (**4**) is disposed, on the occasion of importing this dot pattern (**1**) as image data by a camera, it is possible to correct distortion of a lens, cross shot, expansion and contraction of a page space, curvature of a medium surface, and deflection at the time of printing. Concretely speaking, as a function for correction which converts distorted lattice dots (**4**) of 4 points into an original square, obtained is

(*X*_{n}*, Y*_{n})=*f*(*X′*_{n}*, Y′*_{n}),

and information dots are corrected by the identical function to thereby obtain a vector of correct information dots (**3**).

In case that data to be defined in the information dots (**3**) was bit-displayed, for use in an error check, by giving redundancy to 1 bit, out of 1 piece of the information dots (**3**), and by treating a high bit of data which is obtained from the information dot (I_{n}) and a low bit of data which is obtained from an information dot I_{n+1 }as identical, in such a state that the information dot (**3**) was displayed on the medium surface, when a high bit of data which is obtained from its information dot (I_{n}) and a low bit of data which is obtained from an information dot (I_{n+1}) are not identical, it is judged that the information dot (**3**) is not displayed at an appropriate position.

In order to use the information dot (**3**) for an error check, by assigning “0” or “1” to a low bit, in such a state that the information dot (**3**) was displayed on the medium surface, when there is misalignment from a position where the information dot (**3**) is disposed, to a position where disposed is an information dot (**3**) which is adjacent and has another data, it is judged that the information dot (**3**) is not displayed at an appropriate position.

Assuming that a direction of the key dot (**2**) is defined as a upward direction, and data which is defined in an information dot of that direction is “0”, by disposing the information dot (**3**) in any one of equally spaced **8** directions, and assigning “0” to a low bit in order to carry out an error check, in such a state that the information dot (**3**) was displayed on the medium surface, when the information dot (**3**) is located in an inclined direction other than up and down or left and right directions around the hypothetical point as a center, it is judged that the information dot (**3**) is not displayed at an appropriate position.

Assuming that a direction of the key dot (**2**) is defined as a upward direction, and data which is defined in an information dot of that direction is “0”, by disposing the information dot (**3**) in any one of equally spaced **8** directions, and assigning “1” to a low bit in order to carry out an error check, in such a state that the information dot (**3**) was displayed on the medium surface, when the information dot (**3**) is located in up and down or left and right directions other than an inclined direction around the hypothetical point as a center, it is judged that the information dot (**3**) is not displayed at an appropriate position.

It is also desirable to assign “0” and “1” to a low bit alternately, in order to carry out an error check of the information dot (**3**), and to dispose information dots (**3**) all around.

By this, it is possible to carry out an error check as to whether or not the information dot (**3**) of the dot pattern (**1**) is inputted by being shifted to an adjacent direction, due to shear in printing to the medium surface, expansion and contraction of the medium, misalignment on the occasion of having conducted pixelation. In particular, in case that the information dot (**3**) was inputted by being shifted to a rotational direction of a concentric shape around the hypothetical point as a center, it is possible to carry out a check of an error by 100%.

In order to encrypt data K_{n }which was defined in the information dot I_{n }of the dot pattern (**1**) so as to make it impossible to be read visually, performed is an arithmetic operation which was represented by the function f to the data K_{n}, and I_{n}=f(K_{n}) is represented by the dot pattern (**1**), and the dot pattern (**1**) is imported as image data by a camera, and the data K_{n }is calculated by K_{n}=f^{−1}(I_{n}).

In order to eliminate regularity of the dot pattern (**1**) so as to make it impossible to visually read data of the information dot (**3**), a difference of adjacent 2 lines of information dots (**3**) is set as data which is defined in the information dot (**3**), and by the information dot I_{n }which is calculated by adding the defined data K_{n }to a front line information dot I_{n }among the adjacent ones, the dot pattern (**1**) is generated and disposed.

By this, it becomes impossible to visually read the dot pattern (**1**) which was printed on a medium surface, so that it is possible to heighten security. Furthermore, on the occasion of having printed the dot pattern (**1**) on a medium surface, the information dot (**3**) is disposed randomly, and a pattern disappears, and it is possible to obscure the dot pattern.

In the dot pattern (**1**), in order to define a region in which there is no information, or in order not to import different data across a border in a border of a region and a region, as a dummy dot (**5**) in which data is not defined, it is possible to dispose a dot at a central position of the lattice dots (**4**) of 4 points.

when the dot pattern (**1**) is imported as its image data by a camera, by supplementing coordinate values by a direction of the dot pattern (**1**) which is obtained from the key dot (**2**) after calculated were X, Y coordinate values at a position of the key dot (**2**) which is a representative point of information, increment values of the X, Y coordinate values at an adjacent representative point and a distance from an image pickup center to the key dot (**2**) whose X, Y coordinate values were calculated, the X, Y coordinate values at the image pickup center are calculated.

When a block of the dot pattern (**1**) is imported as its image data by a camera, in such a region that identical data is defined in each block or such a region that X, Y coordinate values are defined, by starting to read from the information dot (**3**) which is located at a circumference around the image pickup center of the camera, reading the information dot (**3**) sequentially, and reading the information dot (**3**) which corresponds to one block portion, the dot pattern (**1**) is read at a minimum area from the image pickup center of the camera, and data at the image pickup center position is calculated.

When the dot pattern (**1**) is read as image data by a camera, on the occasion that there occurs an error as to the information dot (**3**), read is an information dot (**3**) which corresponds to the above-mentioned information dot (**3**) and is the closest, and an error correction is carried out.

The above-mentioned block is divided into sub-blocks, and individually independent information is given to each sub-block, and thereby, the dot pattern (**1**) is read at a smaller area than the block unit, from the image pickup center of the camera, and also, with respect to each sub-block, an error check and an error correction are carried out.

**BRIEF DESCRIPTION OF THE DRAWINGS**

*a*), (*b*) are explanatory views which show information dots which were disposed around a key dot as a center.

*a*), (*b*) are explanatory views which show such a state that information dots I_{1 }through I_{16 }were made to be arranged in a line in order to explain a method of checking an error of the information dot.

_{1 }through I_{16 }were arranged in a line in order to explain about security of the information dot.

*a*) is an explanatory view which shows an order of inputting information dots, and *b*) is an explanatory view which shows a method of reading the dot pattern and calculating X, Y coordinate values.

**BEST MODE FOR CARRYING OUT THE INVENTION**

Hereinafter, a preferred mode for carrying out this invention will be described with reference to the drawings.

*a*), (*b*) are explanatory views which show the information dots in which a key dot was disposed at a center.

An information input and output method by use of a dot pattern of this invention comprises means for generating a dot pattern **1**, means for recognizing the dot pattern **1**, and means for outputting information and program from this dot pattern **1**. That is, the dot pattern **1** is imported as image data by a camera, and firstly, a lattice dot is extracted, and then, a key dot **2** is extracted by such a fact that a dot is not hit at such a position that there is the lattice dot by nature, and then, an information dot **3** is extracted, and thereby, digitalization is realized so that an information region is extracted and digitalization of information is realized, and by that numerical value information, from this dot pattern **1**, information and program is outputted. For example, from this dot pattern **1**, information such as a sound etc. and program is made to be outputted to an information output device, a personal computer, a PDA or a portable telephone, etc.

In generation of the dot pattern **1** of this invention, by a dot code generation algorithm, in order to have information such as a sound etc. recognized, minute dots, i.e., the key dot **2**, the information dot **3**, the lattice dot **4** are arranged in accordance with a predetermined rule. As shown in **1** which represents information, around the key dot **2** as a center, the lattice dots **4** of 5×5 are disposed, and the information dot **3** is disposed at a circumference of a hypothetical point which is located at a center surrounded by the lattice dots **4** of 4 points. In this block, arbitrary numerical value information is defined. In addition, in an example shown in **1** was arranged in a line. In this regard, however, as a matter of course, the dot pattern **1** is not limited to the four blocks.

To one block, one corresponding information and program can be outputted, or to a plurality of blocks, one corresponding information and program can outputted.

The lattice dot **4**, on the occasion of importing this dot pattern **1** as image data by a camera, can correct distortion of a lens, cross shot, expansion and contraction of a page space, curvature of a medium surface, and deflection at the time of printing. Concretely speaking, as a function for correction which converts distorted lattice dots **4** of 4 points into an original square, obtained is

(*X*_{n}*, Y*_{n})=*f*(*X′*_{n}*, Y′*_{n}),

and information dots are corrected by the identical function to thereby obtain a vector of correct information dots **3**.

When the lattice dot **4** is disposed in the dot pattern **1**, such image data that this dot pattern **1** was imported by a camera corrects distortion due to a camera, and therefore, even when image data of the dot pattern **1** is imported by use of a widely used type camera which used a lens with a high distortion rate, it is possible to recognize accurately. Also, even if reading is carried out by having a camera inclined against a surface of the dot pattern **1**, it is possible to recognize that dot pattern **1** accurately.

The key dot **2**, as shown in **4** which is located approximately at a center position of the lattice dots **4** arranged in a rectangular shape. This key dot **2** is a representative point of the dot pattern **1** of one block portion which represents the information dot **3**. For example, it is one in which the lattice dot **4** at the center of a block of the dot pattern **1** was shifted upwards by 0.2 mm. In case that the information dot **3** represents X, Y coordinate values, such a position that the key dot **2** was shifted downwards by 0.2 mm becomes a coordinate point. In this regard, however, this numerical value is not limited to this, and can be varied in accordance with large and small of a block of the dot pattern **1**.

The information dot **3** is a dot which has various information recognized. This information dot **3** is, by setting the key dot **2** as a representative point, disposed at a circumference thereof, and by setting a center surrounded by the lattice dots **4** of 4 points as a hypothetical point, and by setting this as a start point, disposed at an end point which was represented by a vector. For example, this information dot **3** is surrounded by the lattice dots **4**, and as shown in **1** of one block.

In addition, in the example shown in the figure, it is disposed in 8 directions and represents 3 bits, but it is not limited to this, and it is possible to dispose in 16 directions and to represent 4 bits, and it is of course possible to modify variously.

It is desirable that a diameter of the key dot **2**, the information dot **3** or the lattice dot **4** is approximately 0.1 mm, taking appearance, precision of printing to paper quality, resolution of a camera and optimum digitalization into consideration.

Also, taking necessary information amount to an image pickup area and false recognition of various kinds of dots **2**, **3**, **4** into consideration, it is desirable that an interval of the lattice dots **4** is in the vicinity of 1 mm vertically and horizontally. Taking false recognition of the lattice dot **4** and the information dot **3** into consideration, it is desirable that misalignment of the key dot **2** is in the vicinity of 20% of the lattice interval.

It is desirable that an interval between this information dot **3** and the hypothetical point which was surrounded by the lattice dots **4** of 4 points is an interval of approximately 15-30% of an interval between adjacent hypothetical points. This is because, if a distance between the information dot **3** and the hypothetical point is far from this interval, mutual dots are prone to be viewed as a large lump, and become ugly as the dot pattern **1**. Adversely, this is because, if a distance between the information dot **3** and the hypothetical point is closer than this interval, it becomes difficult to carry out recognition of whether it is the information dot **3** to which vector directionality was given by setting any one of adjacent hypothetical points as a center.

For example, the information dot **3**, as shown in *a*), a lattice interval for disposing I_{1 }through I_{16 }around the key dot **2** as a center in a clockwise direction is 1 mm, which realizes 3 bits×16=48 bits by 4 mm×4 mm.

In addition, individually independent information contents are possessed in a block, and a sub-block which is not influenced by another information content can be further disposed. *b*) is one which showed this in the figure, sub-blocks configured by four information dots [I_{1}, I_{2}, I_{3}, I_{4}], [I_{5}, I_{6}, I_{7}, I_{8}], [I_{9}, I_{10}, I_{11}, I_{12}], [I_{13}, I_{14}, I_{15}, I_{16}] are designed such that respectively independent data (3 bits×4=12 bits) is developed into information dots. In this manner, by disposing a sub-block, it is possible to easily carry out an error check which will be described later with a sub-block unit.

It is desirable that a vector direction (rotational direction) of the information dot **3** is determined uniformly with respect to each 30 degree-90 degree.

Also, assuming that, as to the information dot **3**, 2 types of long and short from the hypothetical point surrounded by the lattice dots **4** are used, and a vector direction is 8 directions, it is possible to represent 4 bits. At this time, it is desirable that a longer one is of 25-30% of a distance between adjacent hypothetical points, and a shorter one is of 15-20%. In this regard, however, it is desirable that an interval between centers of the information dots **3** of long and short becomes longer than a diameter of these dots.

It is desirable that the information dot **3** surrounded by the lattice dots **4** of 4 points is 1 dot, taking an appearance into consideration. However, in case that an amount of information is wanted to be increased, disregarding an appearance, by assigning 1 bit with respect to each 1 vector and representing the information dot **3** by a plurality of dots, a goodly amount of information can be possessed. For example, in a vector of concentric circle **8** directions, information of 2^{8 }can be represented by the information dot **3** which was surrounded by the lattice dots **4** of 4 points, and 2^{128 }is accomplished by 16 information dots in 1 block.

The dot pattern **1** which is shown in **3** were disposed in 1 block. However, this information dot **3** is not limited to disposing 16 pieces in 1 block, and can be modified variously. For example, in accordance with large and small of a necessary amount of information and resolution of a camera, there is one (a) in which 6 pieces (2×3) of the information dots **3** were disposed in 1 block, one (b) in which 9 pieces (3×3) of the information dots **3** were disposed in 1 block, one (c) in which 12 pieces (3×4) of the information dots **3** were disposed in 1 block, or one (d) in which 36 pieces (6×6) of the information dots **3** were disposed in 1 block.

*a*), (*b*) are explanatory views which show such a state that information dots I_{1 }through I_{16 }were made to be arranged in a line in order to explain a method of checking an error of the information dot.

By giving redundancy to 1 bit, out of 3 bits of 1 piece of the information dots **3**, and by treating a high bit of data which is obtained from the information dot I_{n}, and a low bit of data which is obtained from an information dot I_{n+1 }as identical, in such a state that the information dot **3** was displayed on a medium surface of a printed material etc., when a high bit of data which is obtained from its information dot I_{n }and a low bit of data which is obtained from an information dot I_{n+1 }are not identical, it is judged that the information dot **3** is not displayed at an appropriate position.

Also, *b*) is an explanatory view which shows such a state that information dots I_{1 }through I_{16 }were made to be arranged in a line in order to explain a method of checking an error of the information dot with a sub-block unit.

An error check system shown in *b*) is a system for carrying out an error check of [I_{1}, I_{2}, I_{3}, I_{4}], [I_{5}, I_{6}, I_{7}, I_{8}], [I_{9}, I_{10}, I_{11}, I_{12}], [I_{13}, I_{14}, I_{15}, I_{16}] to be configured by 4 pieces of the information dots **3** with respectively independent data (3 bits×4=12 bits) unit.

By this, as to whether or not the information dot **3** of the dot pattern **1** is inputted by being shifted to such a position that an information dot **3** having adjacent, another data is disposed, due to shear in printing on a medium surface of a printed material etc., expansion and contraction of the medium surface, and deflection at the time of having conducted pixelation, its error can be checked by 100%.

As to the information dot **3**, by assigning “0” or “1” to its low bit, it can be used for an error check. In such a state that the information dot **3** was displayed on a medium surface, it is possible to judge that this information dot **3** is not displayed at an appropriate position, the information dot **3** to such a position that an information dot having adjacent another data is disposed around a hypothetical point as a center.

For example, assuming that a direction of the key dot **2** is defined as a upward direction, and data which is defined in the information dot **3** of that direction is “0”, the information dot **3** is disposed in any one of the 8 directions, and “0” is assigned to a low bit in order to carry out an error check. That is, the information dot **3** to a low bit of which “0” was assigned is always disposed in up and down or left and right directions around the hypothetical point as a center. In this connection, when this information dot **3** is located in an inclined direction, it is possible to judge that it is not displayed at an appropriate position.

Or, assuming that a direction of the key dot **2** is defined as a upward direction, and data which is defined in the information dot **3** of that direction is “0”, by disposing the information dot **3** in any one of the 8 directions, and assigning “1” to a low bit, it is also possible to carry out an error check. That is, the information dot **3** to a low bit of which “1” was assigned is always disposed in an inclined direction around the hypothetical point as a center. In this connection, when this information dot **3** is located in up and down or left and right directions, it is possible to judge that it is not displayed at an appropriate position.

Furthermore, by disposing 1 piece of the information dot **3** all around and assigning “0” and “1” alternately to a low bit for use in an error check, it is also possible to check an error of this information dot **3**. In this error check system, generated are information dots in up and down, left and right, and a 45 degree inclined directions alternately, and it becomes possible to eliminate regularity of a dot pattern. That is, the information dot **3** to a low bit of which, “0” and “1” were assigned alternately is always located in up and down, left and right, or a 45 degree inclined direction around the hypothetical point as a center. In this connection, when this information dot **3** is located in a direction other than up and down, left and right or 45 degree inclined direction, it is judged that it is not displayed at an appropriate position. In this manner, it is possible to surely check such an error that the information dot **3** was inputted by being shifted to a rotational direction around the hypothetical point as a center.

In addition, the information dots **3** were made to be the 8 directions (interval of 45 degree) and long and short (see,

_{1 }through I_{16 }were arranged in a line in order to explain about security of the information dot.

For example, in order to make it impossible to visually read data of the dot pattern **1**, carried out an arithmetic operation which was represented by a function f (K_{n}) to I_{n }of the information dot **3**, and I_{n}=K_{n}+R_{n }is represented by the dot pattern **1**, and after the dot pattern I_{n }was inputted, K_{n}=I_{n}−R_{n }is obtained.

Or, in order to make it impossible to visually read data of the dot pattern **1**, a plurality of information dots **3** are arranged in an I line with the key dot **2** as a representative point, and this I line is arranged in a plurality of lines, and a difference of data of adjacent 2 lines is made to be data of the information dot **3**, and thereby, it is possible to dispose each information dot **3**, in such a manner that regularity of the dot pattern **1** of each block is eliminated.

By this, since it becomes impossible to visually read the dot pattern **1** which was printed on a medium surface, it is possible to heighten security. Also, on the occasion of having printed the dot pattern **1** on a medium surface, the information dot **3** is disposed randomly, and a pattern disappears, and it is possible to obscure the dot pattern.

There is no necessity that the key dot **2** is necessarily disposed at a center of a block of the lattice dots **4** which were disposed in a rectangular shape. For example, it is possible to dispose it at a corner part of a block of the lattice dots **4**. At this time, it is desirable that the information dots **3** are disposed in such a manner that they stand in a line from the key dot **2** as a start point.

A dot is disposed at a central position of the lattice dots **4** of 4 points, and a dummy dot **5** is defined as a dot to which information is not given (*a*)). This dummy dot **5** can be used for a border of a region and a region where numerical value data, or X, Y coordinate values were defined, or a region where numerical value data, or X, Y coordinate values are not defined.

For example, as shown in *b*), 3 kinds of designs such as a little bear, a hippopotamus and a sun are printed, and regions which corresponded to these three designs are disposed, as shown in *c*), like a mask **1**, a mask **2**, a mask **3**. As shown in *d*), the dummy dot **5** is disposed at a border of the mask **1** and the mask **2**.

In addition, in case of using the dummy dot **5** at a border, there is no necessity to make all blocks at a corresponding position the dummy dots **5**, and a minimum dot for showing a border may be made as a dummy dot.

Also, the dummy dot is disposed at a region other than the mask, and it is possible to dispose a region where information is not defined.

When the dot pattern **1** is imported as image data by a camera, after calculated was X, Y coordinate values at a position of the key dot **2** which is a representative point of information, by supplementing a coordinate value, by a direction of the dot pattern **1** which is obtained from the key dot **2**, increment values of X, Y coordinate values at an adjacent representative point, and a distance from an image pickup center to the key dot **2** whose X, Y coordinate values were calculated, X, Y coordinate values of the image pickup center are calculated.

Also, when a block of the dot pattern **1** is imported as image data by a camera, in a region where identical data is defined in each block, or a region where X, Y coordinate values are defined, reading is started from an information dot **3** which is located at a circumference of the image pickup center of the camera, and information dots **3** are read sequentially, and information dots **3** which correspond to 1 block portion are read, and thereby, the dot pattern **1** is read a minimum area from the image pickup center of the camera, and data at the image pickup center position is calculated.

*a*) is one which shows an order of inputting information dots which correspond to 1 block portion in a minimum area from an image pickup center of a camera. Information dots of lengthwise 4 pieces×4 lines=16 pieces in a clockwise direction.

*b*) is an explanatory view which shows a method of reading the dot pattern and calculating X, Y coordinate values.

As shown in the figure, X, Y coordinate values to be calculated are set as X, Y coordinate values of a block which is located at an image pickup center of a camera. The X, Y coordinate values has such a necessity that, when an increment value is decided to be +1 in a X direction (right direction) and a Y direction (up direction) with respect to each block, an information dot which was inputted from another block are amended. In addition, K_{8}K_{7}K_{6}K_{5 }(i_{16}i_{15}i_{14}i_{13}i_{12}i_{11}i_{10}i_{9}) which shows a X coordinate value and K_{4}K_{3}K_{2}K_{1 }(i_{8}i_{7}i_{6}i_{5}i_{4}i_{3}i_{2}i_{1}) which shows a Y coordinate value become objects to be amended, and K_{16}-K_{9}(i_{32}-i_{17}) other than this becomes an identical value in any block, and there is no necessity to be amended.

These calculations are obtained by the following mathematical formulas. Even if there is a carry by a calculation in [ ], it is assumed that it does not influence a line of bits before [ ]. One that, from an information dot I, an error check bit is excluded, is set as K.

Mathematical Formula 1

- (1) In case that
_{11}I_{11}, is a start point (Image pickup Center of Camera)

*X*coordinate=_{11}*K*_{8}*_{11}*K*_{7}*_{11}*K*_{6}*_{21}*K*_{5 }

*Y*coordinate=_{12}*K*_{4}*_{12}*K*_{3}*_{12}*K*_{2}*[_{22}*K*_{1}+1] - (2) In case that
_{11}I_{15 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{12}*K*_{8}*_{12}*K*_{7}*_{12}*K*_{6}*_{21}*K*_{5}−1

*Y*coordinate=_{12}*K*_{4}*_{12}*K*_{3}*_{12}*K*2*[_{22}*K*_{1}+1] - (3) In case that
_{12}I_{3 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{12}*K*_{8}*_{12}*K*_{7}*_{12}*K*_{6}*_{22}*K*_{5 }

*Y*coordinate=_{12}*K*_{4}*_{12}*K*_{3}*_{12}*K*_{2}*[_{22}*K*_{1}+1] - (4) In case that
_{12}I_{7 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{12}*K*_{8}*_{12}*K*_{7}*_{12}*K*_{6}*_{22}*K*_{5 }

*Y*coordinate=_{12}*K*_{4}*_{12}*K*_{3}*_{12}*K*_{2}*[_{22}*K*_{1}+1] - (5) In case that
_{11}I_{12 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{11}*K*_{8}*_{11}*K*_{7}*_{21}*K*_{6}*_{21}*K*_{5 }

*Y*coordinate=_{12}*K*_{4}*_{12}*K*_{3}*[_{22}*K*_{2}*_{22}*K*_{1}+1] - (6) In case that
_{11}I_{16 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{12}*K*_{8}*_{12}*K*_{7}*_{22}*K*_{6}*_{22}*K*_{5}−1

*Y*coordinate=_{12}*K*_{4}*_{12}*K*_{3}*[_{22}*K*_{2}*_{22}*K*_{1}+1] - (7) In case that
_{12}I_{4 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{12}*K*_{8}*_{12}*K*_{7}*_{22}*K*_{6}*_{22}*K*_{5 }

*Y*coordinate=_{12}*K*_{4}*_{12}*K*_{3}*[_{22}*K*_{2}*_{22}*K*_{1}+1] - (8) In case that
_{12}I_{8 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{12}*K*_{8}*_{12}*K*_{7}*_{22}*K*_{6}*_{22}*K*_{5 }

*Y*coordinate=_{12}*K*_{4}*_{12}*K*_{3}*[_{22}*K*_{2}*_{22}*K*_{1}+1] - (9) In case that
_{21}I_{13 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{11}*K*_{8}*_{21}*K*_{7}*_{21}*K*_{6}*_{21}*K*_{5 }

*Y*coordinate=_{12}*K*_{4}*[_{22}*K*_{3}*_{22}*K*_{2}*_{22}*K*_{1}+1]−1 - (10) In case that
_{21}I_{13 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{12}*K*_{8}*_{22}*K*_{7}*_{22}*K*_{6}*_{22}*K*_{5}−1

*Y*coordinate=_{12}*K*_{4}*[_{22}*K*_{3}*_{22}*K*_{2}*_{22}*K*_{1}+1]−1 - (11) In case that
_{22}I_{1 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{12}*K*_{8}*_{22}*K*_{7}*_{22}*K*_{6}*_{22}*K*_{5 }

*Y*coordinate=_{12}*K*_{4}*[_{22}*K*_{3}*_{22}*K*_{2}*_{22}*K*_{1}+1]−1 - (12) In case that
_{22}I_{5 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{12}*K*_{8}*_{22}*K*_{7}*_{22}*K*_{6}*_{22}*K*_{5 }

*Y*coordinate=_{12}*K*_{4}*[_{22}*K*_{3}*_{22}*K*_{2}*_{22}*K*_{1}+1]−1 - (13) In case that
_{22}I_{10 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{21}*K*_{8}*_{21}*K*_{7}*_{21}*K*_{6}*_{21}*K*_{5 }

*Y*coordinate=_{22}*K*_{4}*_{22}*K*_{3}*_{22}*K*_{2}*_{22}*K*_{2 } - (14) In case that
_{21}I_{14 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{22 }*K*_{8}*_{22}*K*_{7}*_{22}*K*_{6}*_{22}*K*_{5}−1

*Y*coordinate=_{22}*K*_{4}*_{22}*K*_{3}*_{22}*K*_{2}*_{22}*K*_{1 } - (15) In case that
_{22}I_{2 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{22}*K*_{8}*_{22}*K*_{7}*_{22}*K*_{6}*_{22}*K*_{5 }

*Y*coordinate=_{22}*K*_{4}*_{22}*K*_{3}*_{22}*K*_{2}*_{22}*K*_{1 } - (16) In case that
_{22}I_{6 }is a start point (Image pickup Center of Camera)

*X*coordinate=_{22}*K*_{8}*_{22}*K*_{7}*_{22}*K*_{6}*_{22}*K*_{5 }

*Y*coordinate=_{22}*K*_{4}*_{22}*K*_{3}*_{22}*K*_{2}*_{22}*K*_{1 }

When the dot pattern **1** is imported as image data by a camera, on the occasion that an error occurred as to the information dot **3**, an information dot **3** which corresponds to the information dot **3** and which is the closest is read, and error correction is carried out, and thereby, it is possible to read out the dot pattern **1** by a minimum area from an image pickup center of a camera.

By utilizing the above-described importing method of information, it is possible to realize a tablet and a digitizer, an input interface, which used XY coordinates. For example, a tablet and a digitizer overlap a transparent sheet on which the dot pattern **1** was printed with an object, carry out camera image pickup, and input XY coordinate values of the dot pattern **1**.

Firstly, as shown in _{n}, means data of 1 bit, and r_{m }is assumed to be i_{2m}×2+i_{2m−1}. Also, an error check bit is added as _{α}i_{m}=_{α}r_{m}×2+, _{α}I′_{m}=_{α}r_{m}×2+1. α is assumed to be a numerical value which shows a line of blocks in a lateral direction.

Next, as shown in _{n }is assumed to be data of 1 bit which is desired to be recorded.

Also, _{α}K_{m }is assumed to be C_{2m}×2+C_{2m−1}. α becomes anumerical value which shows a line of blocks in a lateral direction.

By use of _{α}r_{m }which is obtained from _{α}K_{m }by use of the following mathematical formula 2, by the above-described definitions, an information block **3** which is used as the dot pattern **1** is generated 4. By this, the dot pattern **1** can exclude regularity to a lateral direction.

<Mathematical Formula 2>

_{α}*r*_{1}=_{α−1}*r*_{13}+_{αK}_{1 α}*r*_{5}=_{α}*r*_{1}+_{α}*K*_{5 α}r_{9}=_{α}*r*_{5}+_{α}*K*_{9 α}*r*_{13}=_{α}*r*_{9}+_{α}*K*_{—}

α*r*_{2}=_{α−1}*r*_{14}+_{α}*K*_{2 α}*r*_{6}=_{α}*r*_{2}+_{α}*K*_{6 α}r_{10}=_{α}*r*_{6}+_{α}*K*_{10 α}*r*_{14}=_{α}*r*_{10}+_{α}*K*_{14 }

α*r*_{3}=_{α−1}*r*_{15}+_{α}*K*_{3 α}*r*_{7}=_{α}*r*_{3}+_{α}*K*_{7 α}r_{11}=_{α}*r*_{7}+_{α}*K*_{11 α}*r*_{15}=_{α}*r*_{11}+_{α}*K*_{15 }

α*r*_{4}=_{α−1}*r*_{16}+_{α}*K*_{4 α}*r*_{8}=_{α}*r*_{4}+_{α}*K*_{8 α}r_{12}=_{α}*r*_{8}+_{α}*K*_{12 α}*r*_{16}=_{α}*r*_{12}+_{α}*K*_{16 }

When α=1, an initial value is given as _{0}r_{13}, _{0}r_{14}, _{0}r_{15}, _{0}r_{16}. This is assumed to be _{β}R. β is assumed to be a numerical value which shows a line of blocks in a vertical direction. _{β}R is not an identical value, and by imparting a value due to random number sequence, the dot pattern exclude regularity even to a vertical direction.

A tube for containing a camera is in the vicinity of 10 mm, and, assuming that a scope of image pickup of a dot pattern is 10 mm in diameter, in order to read 1 block portion (I_{1}-I_{16}) of a dot pattern of 4 mm×4 mm, required is a scope of image pickup of 2r=2×4√2=11.28 mm. In order to eliminate this, 16 pieces of information dots which are disposed at a circumference of a key dot which is configured as 1 block are not read sequentially, but read with respect to each 4 information dots (¼ block) having another information and independent information. By this, by inputting corresponding information dots of another block (¼ block), which exists in a scope of image pickup of information dots of ¼ block, outside of a scope of image pickup, it enables inputting information of 1 block portion within 10 mm in diameter of a scope of image pickup.

In case that there occurred an error in any ¼ block which was inputted by the above-described method, corresponding information dots (¼ block) of another block are inputted, and error correction is carried out.

In _{8 }of a B**1** block, and inputted are [I_{1}-I_{16}] of the B**1** block which is the closest from the image pickup center.

In _{5 }of the B**1** block, and inputted are [I_{1}, I_{2}, I_{3}, I_{4}], [I_{5}, I_{6}, I_{7}, I_{8}] of the B**1** block which is the closest from the center, and [I_{9}, I_{10}, I_{11}, I_{12}], [I_{13}, I_{14}, I_{15}, I_{16}] of a B**2** block.

In _{6 }of the B**1** block, and inputted are [I_{5}, I_{6}, I_{7}, I_{8}] of the B**1** block which is the closest from the center, [I_{9}, I_{10}, I_{11}, I_{12}] of a B**2** block, [I_{13}, I_{14}, I_{15}, I_{16}] of a B**3** block, and [I_{1}, I_{2}, I_{3}, I_{4}] of a B**4** block.

In _{7 }of the B**1** block, and inputted are [I_{5}, I_{6}, I_{7}, I_{8}], [I_{9}, I_{10}, I_{11}, I_{12}] of the B**1** block which is the closest from the center, and [I_{1}, I_{2}, I_{3}, I_{4}], [I_{13}, I_{14}, I_{15}, I_{16}] of the B**4** block.

In **23**, in case that an error occurred in the dot pattern which was inputted, there are dot patterns of the ¼ block which can be inputted as an alternative at 8 places at the maximum.

The dot pattern **1** of this invention as described above is printed on a printed material such as a picture book, a text etc., and thereby, is imported by this camera as image data, and by a numerical value which was obtained by digitizing it, outputted are information, a program corresponding to that, from a personal computer, an information output device, a PDA or a portable telephone etc.

In addition, this invention is not limited to the above-described mode for carrying out this invention, and if it is one in which, by imparting different functions to respective dots **2**, **3**, **4** of the dot pattern **1**, a goodly amount of data is defined by a dot pattern, and informatized expeditiously recognizing directionality, and thereby, predetermined information and program are made to be outputted and various usage become possible, as a matter of course, it can be modified variously within a scope which is not deviated from a substance of this invention.

**INDUSTRIAL APPLICABILITY**

As described above, an information input and output method by use of a dot pattern of this invention recognizes a dot pattern, firstly, a lattice dot by a camera and extracts a key dot, and recognizes directionality by the key dot, and can use its direction as a parameter. Next, by extracting an information dot which was disposed at a circumference of this key dot, it is possible to have information and program outputted expeditiously.

Also, since a lattice dot is disposed in the dot pattern, on the occasion of importing this dot pattern as image data by a camera, it is possible to correct distortion of the imaged dot pattern due to distortion of a lens, cross shot, expansion and contraction of a page space, curvature of a medium surface, and deflection at the time of printing.

Furthermore, it is possible to check an error of a layout state of dots, and furthermore, it is possible to heighten security.

## Claims

1. An information input and output method by use of a dot pattern characterized in that,

- on a medium surface of a printed material, a plurality of lattice dots (4) are disposed in a rectangular shape and set as a block, and

- the block is regularly and continuously disposed, and

- a dot that forms one of the lattice dots (4) which exists in the block is disposed by being shifted unidirectionally and is set as a key dot (2), and

- a plurality of information dots (3) having various information are disposed by setting said key dot (2) as a representative point, wherein each of the plurality of information dots (3) is disposed at an end point of a vector, wherein a start point of the vector is set at a center surrounded by the lattice dots (4) of four points and wherein the plurality of information dots (3) are arranged in accordance with a predetermined rule by a dot code generation algorithm to thereby generate a dot pattern (1), and

- the block which configures said dot pattern (1) is imported as image data by a camera and, from a numerical value which was calculated by digitizing the image data, information and a program are outputted.

2. An information input and output method by use of a dot pattern of claim 1, characterized in that, by said camera, recognized is a direction of the key dot (2) of said dot pattern (1), and on the basis of that direction, a dot which was disposed at the end point is set as the information dot (3).

3. An information input and output method by use of a dot pattern of claim 1, characterized in that a plurality of said information dots (3) are displayed around a hypothetical point of said lattice dot (4) as a center.

4. An information input and output method by use of a dot pattern of claim 1, characterized in that,

- in case that data which is defined in said information dot (3) was bit-displayed, for use in an error check, by giving redundancy to one bit, out of one piece of said information dots (3), and by treating a high bit of data which is obtained from an information dot (In) and a low bit of data which is obtained from an information dot (In+1) as identical,

- in such a state that said information dot (3) was displayed on said medium surface, when a high bit of data which is obtained from the information dot (In) and a low bit of data which is obtained from an information dot (In+1) are not identical, it is judged that said information dot (3) is not displayed at an appropriate position.

5. An information input and output method by use of a dot pattern of claim 1, characterized in that,

- by assigning “0” or “1” to a low bit, in such a state that the information dot (3) was displayed on the medium surface, when there is misalignment from a position where the information dot (3) is disposed, to a position where disposed is an information dot (3) which is adjacent and has another data, it is judged that the information dot (3) is not displayed at an appropriate position.

6. An information input and output method by use of a dot pattern of claim 5, characterized in that,

- assuming that a direction of said key dot (2) is defined as a upward direction, and data which is defined in an information dot (3) of that direction is “0”, by disposing said information dot (3) in any one of equally spaced 8 directions, and assigning “0” to a low bit in order to carry out an error check,

- in such a state that said information dot (3) was displayed on said medium surface, when the information dot (3) is located in an inclined direction other than up and down or left and right directions around the hypothetical point as a center, it is judged that the information dot (3) is not displayed at an appropriate position.

7. An information input and output method by use of a dot pattern of claim 5, characterized in that,

- assuming that a direction of said key dot (2) is defined as a upward direction, and data which is defined in an information dot (3) of that direction is “0”, by disposing the information dot (3) in any one of equally spaced 8 directions, and assigning “1” to a low bit in order to carry out an error check,

- in such a state that said information dot (3) was displayed on said medium surface, when the information dot (3) is located in up and down or left and right directions other than an inclined direction around the hypothetical point as a center, it is judged that the information dot (3) is not displayed at an appropriate position.

8. An information input and output method by use of a dot pattern of claim 5, characterized in that,

- in order to carry out an error check of said information dot (3) and to dispose the information dots (3) all around, assigned are “0” and “1” to a low bit alternately.

9. An information input and output method by use of a dot pattern of claim 1, characterized in that,

- in order to encrypt data (Kn) which was defined in the information dot (In) of said dot pattern (1) so as to make it impossible to be read visually,

- performed is an arithmetic operation which was represented by the function (f) to the data (Kn), and

- In=f(Kn) is represented by the dot pattern (1), and

- said dot pattern (1) is imported as image data by a camera, and said data (Kn) is calculated by Kn=f−1(In).

10. An information input and output method by use of a dot pattern of claim 1, characterized in that,

- in order to eliminate regularity of said dot pattern (1) so as to make it impossible to visually read data of said information dot (3),

- a difference component of adjacent two lines of information dots (3) is set as data which is defined in the information dot (3), and

- by the information dot (In) which is calculated by adding the defined data (Kn) to a front line information dot (In) among the adjacent ones, the dot pattern (1) is generated and disposed.

11. An information input and output method by use of a dot pattern of claim 1, characterized in that,

- in order to define a region with no information in said dot pattern (1), or in order not to import different data in respective regions separated by a border,

- as a dummy dot (5) in which data is not defined, disposed is a dot at a central position of the lattice dots (4) of four points.

12. An information input and output method by use of a dot pattern of claim 1, characterized in that,

- when said dot pattern (1) is imported as image data by a camera,

- after calculated were X, Y coordinate values at a position of the key dot (2) which is a representative point of information,

- by supplementing coordinate values by a direction of the dot pattern (1) which is obtained from the key dot (2) increment values of the X, Y coordinate values at an adjacent representative point and a distance from an image pickup center to the key dot (2) whose X, Y coordinate values were calculated,

- the X, Y coordinate values at the image pickup center are calculated.

13. An information input and output method by use of a dot pattern of claim 1, characterized in that,

- when a block of said dot pattern (1) is imported as image data by a camera, in such a region that identical data is defined in each block or such a region that X, Y coordinate values are defined,

- by starting to read from the information dot (3) which is located at a circumference around the image pickup center of said camera, reading the information dot (3) sequentially, and

- reading the information dot (3) which corresponds to one block portion, the dot pattern (1) is read at a minimum area from the image pickup center of said camera, and data at the image pickup center position is calculated.

14. An information input and output method by use of a dot pattern of claim 1, characterized in that,

- when said dot pattern (1) is read as image data by a camera,

- on the occasion that there occurs a partial error as to the information dot (3), read is an information dot (3) which corresponds to the above-mentioned information dot (3) and is the closest, and an error correction is carried out.

15. An information input and output method by use of a dot pattern of claim 1, characterized in that,

- said block is divided into sub-blocks, and individually independent information is given to each sub-block, and thereby,

- the dot pattern (1) is read at a smaller area than said block unit, from the image pickup center of said camera, and also, with respect to each sub-block, an error check and an error correction are carried out.

16. An information input and output method by use of a dot pattern of claim 1, characterized in that,

- the information dot (3) is disposed within the lattice dots (4) of four points.

**Referenced Cited**

**U.S. Patent Documents**

6732927 | May 11, 2004 | Olsson et al. |

**Foreign Patent Documents**

07-098751 | April 1995 | JP |

2000-123129 | April 2000 | JP |

2003-503905 | January 2003 | JP |

01/48685 | July 2001 | WO |

**Other references**

- Search Report mailed Aug. 12, 2003 in Corresponding International Patent Application No. PCT/JP03/03162.

**Patent History**

**Patent number**: 7475824

**Type:**Grant

**Filed**: Mar 17, 2003

**Date of Patent**: Jan 13, 2009

**Patent Publication Number**: 20050173544

**Inventor**: Kenji Yoshida (Bunkyo-ku, Tokyo 112-0002)

**Primary Examiner**: Jamara A Franklin

**Attorney**: Westerman, Hattori, Daniels & Adrian, LLP.

**Application Number**: 10/502,319

**Classifications**

**Current U.S. Class**:

**Particular Code Pattern (235/494)**

**International Classification**: G06K 19/06 (20060101);