[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2002197410A - Information reproducing system - Google Patents

Information reproducing system

Info

Publication number
JP2002197410A
JP2002197410A JP2001377341A JP2001377341A JP2002197410A JP 2002197410 A JP2002197410 A JP 2002197410A JP 2001377341 A JP2001377341 A JP 2001377341A JP 2001377341 A JP2001377341 A JP 2001377341A JP 2002197410 A JP2002197410 A JP 2002197410A
Authority
JP
Japan
Prior art keywords
marker
dot
block
dots
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001377341A
Other languages
Japanese (ja)
Other versions
JP3568508B2 (en
Inventor
Seiji Tatsuta
成示 龍田
Hiroyuki Fukuda
弘之 福田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Optical Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Optical Co Ltd filed Critical Olympus Optical Co Ltd
Priority to JP2001377341A priority Critical patent/JP3568508B2/en
Publication of JP2002197410A publication Critical patent/JP2002197410A/en
Application granted granted Critical
Publication of JP3568508B2 publication Critical patent/JP3568508B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To correctly reproduce information by reading a densely recorded code pattern. SOLUTION: From among a plurality of blocks, a block to which a block receiving the small influence of optical distortion is selected and read. When a code is recorded by double heights, for example, data in a processing object block 82 is read in the order 1 to 9. Since the block of 1 is closer to the end of a frame 60 even though the same data is recorded in the block of 1 and the block of 2, the probability of the occurrence of a read errors due to optical distortion is high. Then, by reading the data in the block of 2 once more and overwriting it after that, more precise data can be obtained.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、音声,音楽等のオ
ーディオ情報、カメラ,ビデオ機器等から得られる映像
情報、及びパーソナルコンピュータ,ワードプロセッサ
等から得られるディジタルコードデータ、等を含めた所
謂マルチメディア情報を光学的に読み取り可能な2次元
コードパターンとして記録した紙等の情報記録媒体か
ら、上記コードパターンを光学的に読み取って元のマル
チメディア情報を再生する情報再生システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to so-called multimedia including audio information such as voice and music, video information obtained from cameras and video equipment, and digital code data obtained from personal computers and word processors. The present invention relates to an information reproducing system that optically reads the above code pattern from an information recording medium such as paper on which information is recorded as an optically readable two-dimensional code pattern and reproduces the original multimedia information.

【0002】[0002]

【従来の技術】従来より、音声や音楽等を記録する媒体
として、磁気テープや光ディスク等、種々のものが知ら
れている。しかしこれらの媒体は、大量に複製を作った
としても単価はある程度高価なものとなり、またその保
管にも多大な場所を必要としていた。さらには、音声を
記録した媒体を、遠隔地にいる別の者に渡す必要ができ
た場合には、郵送するにしても、また直に持っていくに
しても、手間と時間がかかるという問題もあった。ま
た、オーディオ情報以外の、カメラ,ビデオ機器等から
得られる映像情報、及びパーソナルコンピュータ,ワー
ドプロセッサ等から得られるディジタルコードデータ、
等をも含めた所謂マルチメディア情報全体に関しても同
様であった。
2. Description of the Related Art Conventionally, various media such as magnetic tapes and optical disks have been known as media for recording voice, music and the like. However, even if these media are made in large quantities, the unit price is somewhat expensive, and a large space is required for storage. Furthermore, if it is necessary to hand over the recorded audio medium to another person at a remote location, it takes time and effort to mail it or take it directly. There was also. Also, other than audio information, video information obtained from cameras, video equipment, etc., and digital code data obtained from personal computers, word processors, etc.
The same applies to the so-called multimedia information as a whole including the above.

【0003】このような問題に対処するべきものとし
て、特開平6−231466号公報には、オーディオ情
報,映像情報,ディジタルコードデータの少なくとも一
つを含むマルチメディア情報を、ファクシミリ伝送が可
能で、また大量の複製が安価に可能な画像情報即ち符号
化情報としての複数のドットを2次元に配置してなる2
次元コードの形で紙等の情報記録媒体に記録するシステ
ム及びそれを再生するためのシステムが開示されてい
る。
To cope with such a problem, Japanese Patent Laid-Open Publication No. Hei 6-231466 discloses that multimedia information including at least one of audio information, video information, and digital code data can be transmitted by facsimile. In addition, a plurality of dots are two-dimensionally arranged as image information that can be copied in large quantities at low cost, that is, encoded information.
A system for recording on an information recording medium such as paper in the form of a dimensional code and a system for reproducing the same are disclosed.

【0004】この公報の情報再生システムでは、情報記
録媒体上の2次元コードを光学的に読み取って再生する
情報再生装置を、手で保持し、記録されている2次元コ
ードに沿って記録媒体上を手動で走査することによって
読み取る方法が開示されている。
In the information reproducing system disclosed in this publication, an information reproducing apparatus for optically reading and reproducing a two-dimensional code on an information recording medium is held by hand, and is recorded on the recording medium in accordance with the recorded two-dimensional code. A method of reading by manually scanning is disclosed.

【0005】[0005]

【発明が解決しようとする課題】ところで、2次元コー
ドパターン自体もさらに記録密度を向上できるような構
造が研究されている段階であり、さらに高密度記録が達
成されることが期待されている。
The structure of the two-dimensional code pattern itself, which can further improve the recording density, has been studied, and it is expected that higher density recording will be achieved.

【0006】しかしながら、上記公報には、そのような
将来のより高密度記録されたコードパターンの読み取り
については、まだ十分な配慮がなされていない。
[0006] However, the above publication does not yet give sufficient consideration to reading such future high-density recorded code patterns.

【0007】本発明は、高密度記録されたコードパター
ンを読み取って、正しく情報を再生できる情報再生シス
テムを提供することを目的とする。
An object of the present invention is to provide an information reproducing system capable of reading a code pattern recorded at high density and reproducing information correctly.

【0008】[0008]

【課題を解決するための手段】上記の目的を達成するた
めに、本発明による情報再生システムは、再生されるべ
き情報のデータに相当するデータコードを含むブロック
を複数個配置したコードが光学的に読み取り可能に記録
された情報記録媒体から、上記コードを光学的に読み取
って上記情報を再生する情報再生システムであって、上
記コードを撮像する画像入力手段と、上記画像入力手段
で撮像された画像から上記データを読み取るデータ読み
取り手段と、上記データ読み取り手段で読み取られたデ
ータから上記情報を再生する再生手段と、を具備し、上
記データ読み取り手段は、上記画像入力手段で撮像され
た画像における複数個の上記ブロックの中から光学的デ
ィストーションの影響が小さいブロックを選択して読み
取るように構成されたことを特徴とする。
In order to achieve the above object, an information reproducing system according to the present invention provides an information reproducing system comprising a plurality of blocks each including a data code corresponding to data of information to be reproduced. An information reproducing system for optically reading the code and reproducing the information from an information recording medium recorded so as to be readable, wherein the image input means captures the code and the image input means captures the code. Data reading means for reading the data from the image, and reproducing means for reproducing the information from the data read by the data reading means, the data reading means in the image taken by the image input means A block configured to select and read a block having a small influence of optical distortion from a plurality of the above blocks. Characterized in that was.

【0009】即ち、コードを撮像した画像は、光学的デ
ィストーションにより歪んだものとなるが、この歪みに
よる影響は、コードが高密度になればなるほど大きくな
り、データコードの読み取りエラーの可能性を大きくす
る。そこで、本発明の情報再生システムによれば、撮像
された画像における複数個のブロックの中から光学的デ
ィストーションの影響が小さいブロックを選択して読み
取るようにしている。従って、読み取りエラーが発生す
る確率を低くすることができる。
That is, an image obtained by capturing a code is distorted due to optical distortion. The effect of this distortion increases as the code density increases, and the possibility of a data code reading error increases. I do. Therefore, according to the information reproducing system of the present invention, a block having a small influence of optical distortion is selected and read from a plurality of blocks in a captured image. Therefore, the probability of occurrence of a reading error can be reduced.

【0010】[0010]

【発明の実施の形態】以下、図面を参照して、本発明の
実施の形態を説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0011】図1の(A)乃至(C)は、情報記録媒体
上に光学的に読み取り可能に記録される2次元コード
(ドットコード)の例を示す図である。
FIGS. 1A to 1C show examples of two-dimensional codes (dot codes) recorded optically readable on an information recording medium.

【0012】即ち、図1の(A)に示すように、ドット
コードは、データコード10と、パターンコード12と
からなる。データコード10は、実際のマルチメディア
情報に相当する内容を示している。また、パターンコー
ド12は、データコード10の読み取り基準点を決定す
るためのもので、パターンドット14とマーカ16とか
らなる。なおここで、パターンドット14とは、パター
ンコード12を構成するマーカ以外の1つ又は複数のド
ット群の個々のドットのことである。
That is, as shown in FIG. 1A, the dot code is composed of a data code 10 and a pattern code 12. The data code 10 indicates contents corresponding to actual multimedia information. The pattern code 12 is for determining a reference point for reading the data code 10 and includes a pattern dot 14 and a marker 16. Here, the pattern dot 14 is an individual dot of one or a plurality of dot groups other than the marker constituting the pattern code 12.

【0013】ここで、データコード10を構成するドッ
ト(以下、データドットと称す)は非常に高密度(例え
ばCCD等の撮像装置の解像限界近傍)で記録されてい
るため、このデータコード10を正しく再生するために
は、正確に各データドットを読み取らなくてはならな
い、つまり読み取り位置を正確に検出しなければならな
い。そこで、正確にCCDの画素とそのデータドットの
相対位置関係を知るために、データコード10に関して
予め決められた位置に配置され、予め決められたドット
パターン(図では、黒を1、白を0とすれば、1010
1)を持つ、データドットに比べて若干大きなパターン
ドット14を使用している。しかしながら、このパター
ンドット14を何もないところから見つけることは難し
いため、このパターンドット14に関して予め決められ
た位置に配置された、非常に大きなマーカ16を設けて
いる。この例では、マーカ16は円形のものであり、そ
の直径が(マーカ16)>(パターンドット14)>
(データドット)という大きさ関係となっている。
The dots constituting the data code 10 (hereinafter referred to as data dots) are recorded at a very high density (for example, near the resolution limit of an image pickup device such as a CCD). In order to correctly reproduce, each data dot must be read accurately, that is, the reading position must be accurately detected. Therefore, in order to accurately know the relative positional relationship between the pixels of the CCD and the data dots thereof, they are arranged at predetermined positions with respect to the data code 10 and have predetermined dot patterns (black is 1, black is 0, white is 0). Then, 1010
The pattern dots 14 having the above 1), which are slightly larger than the data dots, are used. However, since it is difficult to find the pattern dot 14 from nothing, a very large marker 16 is provided at a predetermined position with respect to the pattern dot 14. In this example, the marker 16 is circular, and its diameter is (marker 16)> (pattern dot 14)>
(Data dot).

【0014】勿論、パターンドット14は、図1の
(B)に示すように、データドットと同様の大きさや形
状で記録されていても良い。また、マーカ16も、例え
ば同図に示す矢印形状のように、パターンドット14や
データドットとは別の特殊な形あるいは色や大きさで記
録されていれば良い。
Of course, the pattern dots 14 may be recorded in the same size and shape as the data dots as shown in FIG. Also, the marker 16 may be recorded in a special shape, color, or size different from the pattern dots 14 and the data dots, for example, as shown by the arrow shape shown in FIG.

【0015】また、図1の(C)に示すように、矩形の
領域内にデータコード10を配し、その上下にパターン
コード12を配置すると共に、両脇にアドレスドット1
8を配置して、ブロック化し、このようなブロックをマ
トリクス状に配置して2次元コードを構成するようにし
ても良い。ここで、パターンドット14は、例えば、黒
ドットを1、白ドットを0で表せば、「1001001
00100100001001001001001」と
いう30ドットのものとなる。また、アドレスドット1
8は、例えば、「1**********######
####0」という22ドットで構成される。なお、
「*」は1又は0を表し、この10個分でアドレスを示
すものとし、また、「#」は1又は0を表し、この10
個分でアドレスのエラー訂正符号を示すものとする。
As shown in FIG. 1C, a data code 10 is arranged in a rectangular area, a pattern code 12 is arranged above and below the data code 10, and address dots 1 are arranged on both sides.
8 may be arranged to form a block, and such blocks may be arranged in a matrix to constitute a two-dimensional code. Here, for example, the pattern dot 14 can be expressed as “1001001” if the black dot is represented by 1 and the white dot is represented by 0.
[00100100001001001001001]. Also, address dot 1
8 is, for example, “1 ****************
#### 0 ". In addition,
“*” Represents 1 or 0, and an address is represented by these 10 addresses. “#” Represents 1 or 0, and 10
The error correction code of the address is indicated by the number.

【0016】このように、再生されるべきマルチメディ
ア情報の内容に相当するデータコード10と、その読み
取り基準点を決定するためのパターンコード12とから
なるドットコードの記録される情報記録媒体において、
上記パターンコード12を、データコード10に関して
予め決められた位置に配置されたパターンドット14
と、このパターンドット14に関して予め決められた位
置に配置された、上記パターンドット14を検出するた
めに利用されるマーカ16とから構成するようにしてい
るので、パターンドット14がデータコード10を形成
するデータドットと同様のものでもマーカ16に基づい
て検出することができるようになり、この検出されたパ
ターンドット14から正確に読み取り基準点を求められ
るようになる。
As described above, in the information recording medium on which the dot code including the data code 10 corresponding to the content of the multimedia information to be reproduced and the pattern code 12 for determining the reading reference point is recorded,
The pattern code 12 is replaced with a pattern dot 14 arranged at a predetermined position with respect to the data code 10.
And a marker 16 which is arranged at a predetermined position with respect to the pattern dot 14 and is used for detecting the pattern dot 14, so that the pattern dot 14 forms the data code 10. The same data dots can be detected based on the marker 16, and the read reference point can be accurately obtained from the detected pattern dots 14.

【0017】なお、図1の(C)に示したようにブロッ
ク化した場合、上記マーカ16はブロックの4隅に配置
されていなくとも良く、例えば、図2の(A)乃至
(E)に示すように、マーカ16を配置することができ
る。
In the case where the marker 16 is divided into blocks as shown in FIG. 1C, the markers 16 do not have to be arranged at the four corners of the block. For example, as shown in FIGS. As shown, a marker 16 can be placed.

【0018】即ち、図2の(A)は、矩形のブロック2
0の各辺上にマーカ16を配置したものである。
That is, FIG. 2A shows a rectangular block 2
The marker 16 is arranged on each side of 0.

【0019】図2の(B)は、ブロック20が複数段に
整列されて並んでいる場合、その一番上の段にだけ、マ
ーカ16を配置した例である。
FIG. 2B shows an example in which, when the blocks 20 are arranged in a plurality of rows, the markers 16 are arranged only on the top row.

【0020】図2の(C)は、ブロック20が複数段に
整列しているときに、一部省略してマーカ16を記録し
た例を示している。
FIG. 2C shows an example in which, when the blocks 20 are arranged in a plurality of stages, the markers 16 are recorded with some parts omitted.

【0021】図2の(D)は、マーカ16を正方形で記
録した場合である。このように、マーカ16の形状が円
形でない場合にも、図2の(A)乃至(C)に示したよ
うに、種々のマーカ配置を採ることができる。
FIG. 2D shows a case where the marker 16 is recorded in a square shape. As described above, even when the shape of the marker 16 is not circular, various marker arrangements can be adopted as shown in FIGS.

【0022】なお、好ましくは、マーカ16は、以下の
理由から円形であるほうが良い。即ち、マーカ16の形
状を円形にすると、ドットコードとCCD等の撮像素子
(カメラ)の回転(スキュー)によって変形がないの
で、例えスキューした場合であっても、マーカ16を容
易に抽出することができるからである。しかし、スキュ
ーがある程度の範囲内である場合、例えば、カメラとド
ットコードの相対的な関係が規定されるような状態で撮
像するような場合であれば、マーカ16は四角形や六角
形等の他の形状でも構わない。逆に、このような非等方
性の形状にすると、一つのマーカ16が検出されれば、
その形状を見るだけで、スキュー角が、つまりどちらの
方にどの位傾いているかを求めることができるという利
点もある。
Preferably, the marker 16 is circular for the following reasons. That is, if the shape of the marker 16 is circular, there is no deformation due to the rotation (skew) of the dot code and the image pickup device (camera) such as a CCD, so that even if the skew occurs, the marker 16 can be easily extracted. Because it can be. However, when the skew is within a certain range, for example, when imaging is performed in a state where the relative relationship between the camera and the dot code is defined, the marker 16 may be other than a square or a hexagon. May be used. Conversely, if such an anisotropic shape is used, if one marker 16 is detected,
There is also an advantage that the skew angle, that is, the direction in which the skew is inclined, can be obtained only by looking at the shape.

【0023】図2の(E)は、ブロック20を六角形の
形状にし、マーカ16をその3個の頂点に配置した例を
示している。このように、ブロックの形状としては、矩
形に限定されるものではない。
FIG. 2E shows an example in which the block 20 is formed in a hexagonal shape and the markers 16 are arranged at the three vertices. Thus, the shape of the block is not limited to a rectangle.

【0024】このように、複数のドットでなる上記デー
タコード10を所定の領域に配置したブロックを複数個
2次元に配置してドットコードを構成すると共に、マー
カ16を、各ブロックの相対的位置関係が判るように、
各ブロックの一部に配置しているので、これらマーカ1
6によってブロック境界の抽出が容易となる。
As described above, a plurality of blocks in which the data code 10 composed of a plurality of dots is arranged in a predetermined area are arranged two-dimensionally to form a dot code, and the marker 16 is set to the relative position of each block. As you can see the relationship,
Since they are arranged in a part of each block, these markers 1
6 facilitates extraction of block boundaries.

【0025】また、詳細は後述するようにしてマーカ対
から外挿でマーカ16の概中心を求めることができるの
で、ブロックの4隅全てにマーカ16は必要ではなく、
従って、図2の(B)や(C)に示すように、一部省略
することができる。この場合、この省略した位置には、
点だけ又は全く何も無いようにする。
Further, since the approximate center of the marker 16 can be obtained by extrapolation from the marker pair as will be described in detail later, the marker 16 is not required at all four corners of the block.
Therefore, as shown in FIGS. 2B and 2C, some of them can be omitted. In this case, this omitted location
There should be only dots or nothing at all.

【0026】図3の(A)及び(B)は、省略した位置
に点22を記録した例である。この例では、第1方向に
隣接するブロック間で異なる対辺をなす頂点で、且つ、
第2方向に隣接するブロック間で同一の対辺をなす頂点
にマーカ16を配置している。要するに、図において横
方向に隣接する方向に対しては上側のマーカを記録し、
一方、下方向に隣接するときには下側のマーカを記録
し、その下に隣接するときは上側のマーカを記録する、
というように交互に記録する、つまり縞状にマーカ16
を記録(もしくは省略)している。
FIGS. 3A and 3B are examples in which the point 22 is recorded at the omitted position. In this example, vertices forming opposite sides that are different between blocks adjacent in the first direction, and
Markers 16 are arranged at vertices forming the same opposite side between blocks adjacent in the second direction. In short, the upper marker is recorded in the direction adjacent to the horizontal direction in the figure,
On the other hand, when the marker is adjacent in the downward direction, the lower marker is recorded. When the marker is adjacent to the lower marker, the upper marker is recorded.
, So that the markers 16 are striped.
Is recorded (or omitted).

【0027】このように、第1方向に隣接する矩形ブロ
ック間で異なる対辺をなす頂点であり且つこの第1方向
に直交する第2方向に隣接するブロック間で同一の対辺
をなす頂点に、マーカ16を配置する、つまり縞状に配
置することで、ブロック20の4隅にマーカ16を配置
する場合に比べて、大きな面積を必要とするマーカ16
が半分で済み、その省略されたマーカ位置にもデータド
ットを配置することができ、その分、記録容量を増大で
きるようになる。
As described above, the vertices forming the opposite sides between the rectangular blocks adjacent in the first direction and the vertices forming the same opposite side in the blocks adjacent in the second direction orthogonal to the first direction are marked with the marker. By arranging the markers 16, that is, by arranging the markers 16 in a stripe pattern, the markers 16 that require a larger area than the case where the markers 16 are arranged at the four corners of the block 20
And the data dots can be arranged at the omitted marker positions, and the recording capacity can be increased accordingly.

【0028】また、図4は、マーカ16を市松状に配置
(もしくは省略)した場合の例である。
FIG. 4 shows an example in which the markers 16 are arranged in a checkered pattern (or omitted).

【0029】このようにマーカ16を、隣接するブロッ
ク間で異なる対角をなす頂点に配置(つまり、市松状に
配置)すれば、矩形状のブロックの4隅にマーカを配置
する場合に比べて、大きな面積を必要とするマーカが半
分で済み、その省略されたマーカ位置にもデータドット
を配置することができ、その分、記録容量を増大できる
ようになる。また、1ライン上に少なくとも1組のマー
カ16が必ず検出できるため、前述したようにマーカを
縞状に配置する場合に比べて、歪に強いという効果もあ
る。
By arranging the markers 16 at vertices at different diagonals between adjacent blocks (that is, in a checkered pattern), the markers 16 are arranged at four corners of a rectangular block as compared with the case where markers are arranged at four corners of a rectangular block. The number of markers requiring a large area is reduced to half, and data dots can be arranged at the omitted marker positions, so that the recording capacity can be increased accordingly. In addition, since at least one set of markers 16 can be always detected on one line, there is also an effect that the markers 16 are more resistant to distortion than when the markers are arranged in a stripe pattern as described above.

【0030】次に、パターンドット14につき説明す
る。
Next, the pattern dots 14 will be described.

【0031】このパターンドット14としては、例え
ば、図5の(A)に示すように、黒ドットを1、白ドッ
トを0で表せば、「1010101010010101
0101」というように、隣り合う黒ドットが互いに分
離可能となるように配置される必要がある。即ち、黒ド
ットが離隔して配置されるようにする。勿論、黒ドット
と白ドットを交互に記録しなくとも、黒ドットと黒ドッ
トの間にスペースがあれば構わない。同様に、データド
ットとパターンドットの間にも黒ドットが離隔して配置
されるようにスペースを設ける。
As shown in FIG. 5A, for example, as shown in FIG. 5A, if a black dot is represented by 1 and a white dot is represented by 0, "10101011010010101" is obtained.
For example, it is necessary to arrange adjacent black dots such as “0101” so that they can be separated from each other. That is, the black dots are arranged at a distance. Of course, the black dots and the white dots need not be recorded alternately, as long as there is a space between the black dots and the black dots. Similarly, a space is provided between the data dots and the pattern dots so that the black dots are spaced apart.

【0032】これは、パターンドット14を構成する黒
ドットが例えば2個隣接してしまうと、詳細は後述する
ようなパターンドット14による読み取り基準点の決定
処理において、2個の黒ドットを1個の黒ドットである
かのように検出してしまい、誤りの元になるということ
による。即ち、読み取り基準点の決定処理においては、
パターンドット14は黒ドット1つずつについてそのド
ットの中心座標を求め、それを利用して読み取り基準点
を決定しているので、このパターンドット14は各ドッ
トの中心点位置が求められる必要があり、黒ドットが2
個隣接してしまうと、正しいドットの中心位置が求めら
れなくなる。
This is because if two black dots constituting the pattern dot 14 are adjacent to each other, for example, two black dots are set to one in the determination process of the reading reference point by the pattern dot 14 as described later in detail. Is detected as if it were a black dot, which could be a source of error. That is, in the process of determining the reading reference point,
For the pattern dot 14, the center coordinates of each black dot are obtained for each dot, and the read reference point is determined by using the center coordinates. Therefore, for the pattern dot 14, the center point position of each dot needs to be obtained. , Black dot 2
If they are adjacent to each other, the correct dot center position cannot be obtained.

【0033】つまり、このようにパターンドットのフォ
ーマットとして、隣り合うドットが互いに分離可能とな
るように配置したものとすることにより、重心や外接矩
形の中心など比較的簡単な計算によりパターンドットを
構成する各ドットの中心が正確に求められるようにな
る。また、パターンコード上に情報(アドレス情報、ヘ
ッダ情報)を記録しても、黒ドットが連結して分離でき
なくなることがない。
That is, as described above, by arranging the pattern dots in such a manner that adjacent dots are separable from each other, the pattern dots can be formed by relatively simple calculations such as the center of gravity and the center of a circumscribed rectangle. The center of each dot to be obtained can be obtained accurately. Further, even when information (address information, header information) is recorded on the pattern code, the black dots are not linked and cannot be separated.

【0034】また、「1」「1」のような並びが出現し
ないように、何らかの変調をかけてやることによって、
ドット記録位置が隣接して配置されていても、パターン
ドット14の中に、例えばアドレス情報やヘッダ情報の
ようになにかデータを重畳記録することもできる。
Further, by performing some kind of modulation so that a sequence such as “1” or “1” does not appear,
Even if the dot recording positions are arranged adjacent to each other, it is also possible to superimpose and record some data such as address information and header information in the pattern dots 14.

【0035】例えば、図6の(A)に示すような、4ビ
ット/6ビット変調をかければ良い。なお、この場合、
入力信号0(つまり0000)は、0(つまり0000
00)に変換するのではなく、36(つまり10010
0)に変換している。これは、黒ドットが少なくとも1
個はなければ、パターンドットとしての意味をなさない
という理由による。
For example, 4-bit / 6-bit modulation as shown in FIG. In this case,
The input signal 0 (that is, 0000) is 0 (that is, 0000).
00) instead of 36 (ie, 10010
0). This means that at least one black dot
This is because if there is no individual, it does not make sense as a pattern dot.

【0036】このように、ドットコードを隣り合うドッ
トが互いに分離可能となるように変調したコードとして
記録することにより、パターンコード上に情報(アドレ
ス情報、ヘッダ情報)を記録したとしても、黒ドットが
連結して分離できなくなることをなくすことができる。
As described above, by recording the dot code as a code modulated so that adjacent dots can be separated from each other, even if information (address information, header information) is recorded on the pattern code, the black dot is recorded. Can be prevented from being connected and unable to be separated.

【0037】また、パターンドット14のフォーマット
としては、その他、種々の態様が考えられるが、読み取
り基準点の位置が推定できる位置関係もしくは構造を有
している特殊なコードである必要がある。そのような特
殊なコードとすれば、それを使って容易にその読み取り
基準点を推定できる。
The format of the pattern dot 14 may be various other forms, but it is necessary that the pattern dot 14 be a special code having a positional relationship or a structure capable of estimating the position of the reading reference point. With such a special code, the reading reference point can be easily estimated using the special code.

【0038】例えば、図6の(B)に示すように、直線
状のパターンドット14つまりパターンラインとしても
良い。直線検出アルゴリズムとしては、画像処理におい
て良く知られているような、直線をθ,ρのパラメータ
で表し、θ−ρ平面でカウントを行って直線を求める方
法(直線検出アルゴリズム、例えばハフ変換)を用いる
ことができ、この方法を用いて抽出された直線の交点を
読み取り基準点とすることができる。
For example, as shown in FIG. 6B, a linear pattern dot 14, that is, a pattern line may be used. As a straight line detection algorithm, a method of obtaining a straight line by expressing a straight line by parameters of θ and ρ and performing counting on a θ-ρ plane as is well known in image processing (a straight line detection algorithm, for example, Hough transform) is known. The intersection of a straight line extracted using this method can be used as a reading reference point.

【0039】あるいは、図5の(B)に示すように、パ
ターンドット14として、少なくとも一部のパターンド
ットの記録点に位相ずれを設けたものとしても良い。こ
のような位相ずれを設けることで、パターンドット14
の検出条件が厳しくなるので、読み取り基準点推定精度
を向上することができる。
Alternatively, as shown in FIG. 5B, the pattern dots 14 may be formed by providing at least a part of the recording dots of the pattern dots with a phase shift. By providing such a phase shift, the pattern dots 14
Becomes stricter, so that the accuracy of estimating the reading reference point can be improved.

【0040】即ち、本来、パターンドット14やデータ
コード10のドットの記録位置というのはほぼ格子上に
配置されるものであるが、あえてパターンドット14の
場合は、この格子点から少しずらしてやる。これを位相
ずれと呼ぶものとする。
That is, originally, the recording positions of the pattern dots 14 and the dots of the data code 10 are arranged substantially on a lattice, but in the case of the pattern dots 14, they are slightly shifted from the lattice points. This is called a phase shift.

【0041】例えば、図7の(A)において、(1)は
等ピッチ配列の場合であり、ドット内いずれの点で読み
込んでも検出できるが、(2)の非等ピッチ配列の場合
には、ドットをこの等ピッチ点で読み取ると、同図中の
斜線部内に読み取り点がない限りは検出できないことに
なる。従って、全てのドットを検出することのできる読
み取り基準点の存在範囲は、位相ずれを設けない場合に
比べて狭くなり、読み取り基準点の推定精度を向上する
ことができる。
For example, in FIG. 7 (A), (1) shows a case of an equi-pitch arrangement, which can be detected by reading at any point within a dot. If a dot is read at this equi-pitch point, it cannot be detected unless there is a read point in the hatched portion in the figure. Therefore, the range of the read reference points from which all the dots can be detected is narrower than in the case where no phase shift is provided, and the estimation accuracy of the read reference points can be improved.

【0042】また、このように位相ずれを設けること
で、未検出ドットの位置やその偏りから、読み取り基準
点位置のずれを推定することができるようになる。
Further, by providing such a phase shift, it is possible to estimate the shift of the reading reference point position from the positions of undetected dots and their deviations.

【0043】例えば、位相ずれを設けてある場合、ある
ドットは検出できなかったが他のドットは検出できたと
いう場合には、その検出できなかったドットがどのよう
な位相ずれを持つものかは予め設定されたフォーマット
情報より知ることができるので、それがどのような位相
ずれを持つかにより、読み取り基準点位置のずれている
方向を推定することができる。
For example, when a phase shift is provided, if a certain dot cannot be detected but another dot can be detected, the type of the phase shift of the undetectable dot is determined. Since it is possible to know from the preset format information, it is possible to estimate the direction in which the position of the reading reference point is shifted based on the phase shift.

【0044】また、図7の(B)に示すように、パター
ンコード12として、各マーカ16間に、データコード
10の読み取り基準点検出用のパターンドット14と、
このパターンドット14の通常のドットよりサイズが小
さく且つパターンドット14のドット位置基準点24に
対して上下左右の位相ずれを付加したガイドコード26
を設けるようにしても良い。
As shown in FIG. 7B, a pattern dot 14 for detecting a reference point for reading the data code 10 is provided between the markers 16 as the pattern code 12.
A guide code 26 which is smaller in size than the normal dots of the pattern dots 14 and which has a phase shift of up, down, left and right added to the dot position reference point 24 of the pattern dots 14
May be provided.

【0045】このようなパターンコード12とした場合
には、パターンドット14が読み取れた後、マーカ16
の中心から上下1ドットずらした点同士を結んでガイド
コード26が読み取れるように中心位置を近傍で移動さ
せる。こうすることにより、パターンドット14の読み
取り条件を厳しくすることなく、ガイドコード26の読
み取り条件の厳しさから、読み取り基準点(この場合、
マーカ中心位置)の推定精度を向上することができる。
In the case of such a pattern code 12, after the pattern dot 14 is read, the marker 16
The center position is moved in the vicinity so that the guide code 26 can be read by connecting points shifted one dot up and down from the center of. By doing so, the reading condition of the guide code 26 can be reduced without increasing the reading condition of the pattern dot 14 and the reading reference point (in this case,
The accuracy of estimation of the marker center position) can be improved.

【0046】このように、少なくとも一部のパターンド
ットの径を小さく記録することにより、同じスペースに
多くのパターンドットが記録でき、パターンドットの記
録密度を上げることができる。また、パターンドットの
検出条件がより厳しくなることで、読み取り基準点の推
定精度を上げることができる。
As described above, by recording at least a part of the pattern dots with a small diameter, many pattern dots can be recorded in the same space, and the recording density of the pattern dots can be increased. In addition, as the detection conditions for pattern dots become more strict, the accuracy of estimating the reading reference point can be increased.

【0047】また、図5の(B)及び(C)に示すよう
に、パターンドット14の中央よりの一部のドット14
Bの径を大きく記録するようにしても良い。
As shown in FIGS. 5B and 5C, a part of the dots 14 from the center of the pattern dots 14 is formed.
The diameter of B may be recorded larger.

【0048】即ち、後述するようなマーカ対の概中心を
結ぶ線上でパターンドット14を検出する場合に、最も
検出されにくい中央よりのドット14Bを予め大きく記
録しておくことにより、パターンドット14を見失うこ
とをなくすことができ、また、中央よりのドット14B
を先に検出して、他のドットを粗検索することもできる
ようになる。
That is, when the pattern dots 14 are detected on a line connecting the approximate centers of the marker pairs as described later, the dots 14B from the center where the detection is most difficult are preliminarily recorded so that the pattern dots 14 can be detected. It is possible to eliminate losing, and the dot 14B from the center
Can be detected first, and another dot can be roughly searched.

【0049】次に、アドレスドット18について説明す
る。
Next, the address dots 18 will be described.

【0050】アドレスドット18は、例えば図8の
(A)及び(B)に示すように、パターンドット14と
直交する方向にマーカ16間に設けられ、当該ブロック
20のアドレスを示す。
The address dots 18 are provided between the markers 16 in a direction orthogonal to the pattern dots 14 as shown in FIGS. 8A and 8B, for example, and indicate the address of the block 20.

【0051】このようなアドレスドット18を設けるこ
とにより、ブロックが順番に読み込まれない場合にも、
読み込んだブロックをこのアドレスドット18で示され
るアドレス順に並び代えることで、正しく再生されるよ
うになる。
By providing such address dots 18, even when blocks are not read in order,
By rearranging the read blocks in the order of the addresses indicated by the address dots 18, the blocks can be correctly reproduced.

【0052】また、図8の(C)に示すように、このア
ドレスドット18の両脇に、このアドレスドット18を
反転した反転コード28を記録しておくようにすれば、
これを使って、エラー訂正や読み取り位置の補正を行う
ことができるようになる。
Further, as shown in FIG. 8C, if an inverted code 28 obtained by inverting the address dot 18 is recorded on both sides of the address dot 18,
Using this, error correction and correction of the reading position can be performed.

【0053】あるいは、図8の(D)に示すように、ア
ドレスドット18の両脇に、エラー訂正用の訂正コード
30を設けることにより、アドレスのエラー訂正を行う
こともできる。つまり、アドレスドット18に加えて、
この訂正コード30を読み取ることによって、アドレス
の誤り訂正を行える。
Alternatively, as shown in FIG. 8D, by providing a correction code 30 for error correction on both sides of the address dot 18, it is also possible to perform address error correction. That is, in addition to the address dot 18,
By reading this correction code 30, an address error can be corrected.

【0054】また、アドレスドット18の一部、例えば
図9の(A)に示すように、真ん中に、どのようなアド
レスの場合であっても常に黒ドットつまり「1」である
固定パターン32を設けるようにしても良い。このよう
にすると、この固定パターン32の黒ドットを読み取る
ことで、位置のずれ検出やエラーの検出に利用すること
ができる。
A part of the address dot 18, for example, as shown in FIG. 9A, a fixed pattern 32 which is always a black dot, that is, "1", in the middle regardless of the address. It may be provided. In this way, by reading the black dots of the fixed pattern 32, it can be used for detecting a positional shift or detecting an error.

【0055】あるいは、固定パターン32を、図9の
(B)に示すように、両端に設けても良い。この場合
は、固定パターン32としては、アドレスドット18の
一端側を黒ドット、他端側を白ドットとしておくことに
より、このアドレスドット18の読み取り方向を特定で
きるようになるので、たとえこのドットコードが上下逆
さまにされて読み取られたとしても、正確にアドレスを
読み取ることができるようになる。
Alternatively, the fixed patterns 32 may be provided at both ends as shown in FIG. In this case, as the fixed pattern 32, by setting one end of the address dot 18 as a black dot and the other end as a white dot, the reading direction of the address dot 18 can be specified. Even if is read upside down, the address can be read accurately.

【0056】このように、アドレスドット18の少なく
とも一部に固定パターン32を含めるようにすれば、こ
の固定パターン32を利用して、位置合わせやエラー検
出を行うことができ、あるいは、アドレスドット18の
読み取り方向を特定できるようになる。
As described above, if the fixed pattern 32 is included in at least a part of the address dot 18, alignment and error detection can be performed using the fixed pattern 32. The reading direction can be specified.

【0057】なお、ブロック20がアドレス順に整列し
て記録されている場合、あるブロックのアドレスは周囲
のブロックのアドレスから容易に推定することができる
ので、アドレスドット18を適宜省略することも可能で
ある。
When the blocks 20 are recorded in the order of the addresses, the addresses of a certain block can be easily estimated from the addresses of the surrounding blocks, so that the address dots 18 can be omitted as appropriate. is there.

【0058】例えば、図9の(C)に示すように、ブロ
ック20が整列して順番にアドレスが付られている場
合、第1ブロックと第3ブロックのアドレスが検出でき
れば、その間のブロックのアドレスは第2ブロックであ
ると容易に推定することができる。従って、この第2ブ
ロックのアドレスは記録せずとも良く、そこにもデータ
コード10を記録できるので、その分、記録容量を増加
させることができる。
For example, as shown in FIG. 9C, when the blocks 20 are aligned and sequentially assigned addresses, if the addresses of the first block and the third block can be detected, the addresses of the blocks between them are detected. Can be easily estimated to be the second block. Therefore, the address of the second block does not have to be recorded, and the data code 10 can be recorded there, so that the recording capacity can be increased accordingly.

【0059】なお、隣接するブロック間のアドレス関係
が、例えば「+10」のように予め設定されていれば、
この図のようにブロックアドレスが順番に並んでいなく
ても良い。
If the address relationship between adjacent blocks is set in advance, for example, as “+10”,
The block addresses need not be arranged in order as shown in FIG.

【0060】このように、アドレスドット18を、少な
くとも2つ以上のブロックのアドレスを同時に決定でき
るように適宜省略して記録すれば、この省略した部分に
もデータコード10を記録できるので、その分、記録容
量を増大させることが可能になる。
As described above, if the address dots 18 are appropriately omitted and recorded so that the addresses of at least two or more blocks can be determined simultaneously, the data code 10 can be recorded even in the omitted portion, and accordingly, Thus, the recording capacity can be increased.

【0061】次に、以上説明したようなドットコードを
光学的に読み取って元のマルチメディア情報を再生する
情報再生システムについて説明する。
Next, an information reproducing system for optically reading the dot code described above and reproducing the original multimedia information will be described.

【0062】図10は、その構成を示す図である。FIG. 10 is a diagram showing the configuration.

【0063】即ち、紙などの情報記録媒体34上に記録
されたドットコード36は、画像入力部38で撮像され
る。データ読み取り基準点決定部40は、この画像入力
部38で撮像された画像から、データコード10を読み
取るための読み取り基準点を決定する。データ読み取り
部42は、このデータ読み取り基準点決定部40によっ
て決定された読み取り基準点に基づいて、画像入力部3
8で得られた画像からデータコード10を読み取る。デ
ータ再生部44は、このデータ読み取り部42によって
読み取られたデータを再生する。
That is, the dot code 36 recorded on the information recording medium 34 such as paper is picked up by the image input unit 38. The data reading reference point determination unit 40 determines a reading reference point for reading the data code 10 from the image captured by the image input unit 38. The data reading unit 42 is configured to output the image input unit 3 based on the reading reference point determined by the data reading reference point determining unit 40.
The data code 10 is read from the image obtained in step 8. The data reproducing unit 44 reproduces the data read by the data reading unit 42.

【0064】このような構成にすることで、ドットコー
ドが高速且つ正確に読み取ることができるようになる。
With such a configuration, the dot code can be read at high speed and accurately.

【0065】なお、上記再生部44は、読み取ったデー
タを必要に応じて復調やエラー訂正を行って再生すると
いうことも含む。ここで再生とは、画像であればモニタ
への映像出力、音声であればスピーカへの音声出力のこ
とであり、もし圧縮されている信号であれば、復号処理
を施してから出力する。例えば、エラー訂正にリードソ
ロモン3重積符号を用いれば、データは8−10変調さ
れているので、10−8変調(8−10逆変調)を行う
ことになる。
The reproducing unit 44 reproduces the read data by performing demodulation and error correction as necessary. Here, "reproduction" refers to video output to a monitor for an image, and audio output to a speaker for audio. If the signal is a compressed signal, it is decoded and then output. For example, if a Reed-Solomon triple product code is used for error correction, since data is 8-10 modulated, 10-8 modulation (8-10 inverse modulation) is performed.

【0066】一方、上記画像入力部38は、CCDカメ
ラ等の撮像部46と、この撮像部46の出力画像を等化
並びに2値化する等化,2値化部48とを含む。即ち、
この画像入力部38において、ドットコード36を撮像
して得られた画像を2値化し、以降のデータ読み取り基
準点決定部40からは、この2値化されたデータについ
てだけ処理を行うようにすることで、画像を保持してお
くための不図示メモリを少なくすることができると共
に、データ転送量も少なくなり、高速処理が可能にな
る。
On the other hand, the image input section 38 includes an imaging section 46 such as a CCD camera, and an equalization / binarization section 48 for equalizing and binarizing an output image of the imaging section 46. That is,
In the image input unit 38, the image obtained by imaging the dot code 36 is binarized, and the subsequent data reading reference point determination unit 40 processes only the binarized data. As a result, not-shown memory for holding images can be reduced, and the amount of data transfer is also reduced, enabling high-speed processing.

【0067】また、このような2値化したデータとすれ
ば、データ読み取り基準点決定部40以降をパーソナル
コンピュータ等の情報処理装置で構成することも可能に
なる。さらに、こうした場合、画像入力部38だけを収
容する筐体が小さなもので済むため、操作者が走査を行
う時に負担が小さくなる。
If such binarized data is used, the data reading reference point determining unit 40 and subsequent units can be constituted by an information processing device such as a personal computer. Further, in such a case, the size of the housing that accommodates only the image input unit 38 may be small, so that the burden on the operator when scanning is reduced.

【0068】一方、上記データ読み取り基準点決定部4
0は、例えば、パターンドット14の中点を読み取り基
準点として検出するものであっても良いが、本実施の形
態では、マーカ16の中心位置を読み取り基準点として
決定するようにしている。
On the other hand, the data reading reference point determining unit 4
For example, 0 may detect the middle point of the pattern dot 14 as a reading reference point, but in the present embodiment, the center position of the marker 16 is determined as the reading reference point.

【0069】即ち、このデータ読み取り基準点決定部4
0は、上記等化,2値化部48で2値化された画像デー
タからマーカ16の存在するマーカ存在エリアを検出す
るマーカ抽出部50及びこの検出されたマーカ存在エリ
ア中のマーカ16の概中心を求めるマーカ概中心算出部
52よりなるマーカ検出部54と、このマーカ検出部5
4で求められたマーカ16の概中心を用いて上記パター
ンドット14を検出し、この検出したパターンドット1
4によりデータコード10及びアドレスドット18の読
み取り基準点としてのマーカ16の真の中心座標を推定
するマーカ中心検出部56とからなる。
That is, the data reading reference point determining unit 4
0 denotes a marker extracting unit 50 for detecting a marker existing area where the marker 16 is present from the image data binarized by the equalizing / binarizing unit 48 and an outline of the marker 16 in the detected marker existing area. A marker detecting section 54 comprising a marker approximate center calculating section 52 for obtaining the center;
The pattern dot 14 is detected by using the approximate center of the marker 16 obtained in step 4, and the detected pattern dot 1
4 and a marker center detector 56 for estimating the true center coordinates of the marker 16 as a reference point for reading the data code 10 and the address dot 18.

【0070】上記マーカ検出部54のマーカ抽出部50
は、イロージョン処理並びにラベリング処理を行って、
マーカ存在エリアを検出する。
The marker extracting section 50 of the marker detecting section 54
Performs erosion and labeling,
Detect the marker area.

【0071】ここで、イロージョン処理自体は、画像処
理で知られた処理であり、その処理を実行するためのハ
ードウェアも種々存在しているものである。このイロー
ジョン処理とは、注目画素に対して所定の大きさのマス
ク、例えば図11の(A)に示すような3×3画素分の
マスクを掛けたときに、図11の(B)に示すようにマ
スク内の画素が全て黒画素(○で示す)であれば注目画
素は黒画素に、また図11の(C)や(D)に示すよう
にマスク内で1つでも白画素(×で示す)であれば注目
画素は白画素に変換していく処理である。
Here, the erosion process itself is a process known in image processing, and there are various types of hardware for executing the process. This erosion processing is shown in FIG. 11B when a target pixel is masked with a mask of a predetermined size, for example, a mask of 3 × 3 pixels as shown in FIG. If all the pixels in the mask are black pixels (indicated by ○), the pixel of interest is a black pixel, and as shown in FIGS. 11C and 11D, even one white pixel (× If this is the case, the pixel of interest is converted into a white pixel.

【0072】このようなイロージョン処理をドットコー
ド36に対して行うと、図12に示すように、小さなド
ットで構成されるデータコード10やパターンドット1
4、アドレスドット18は消えてしまい、これらのドッ
トに比べて非常に大きなマーカ16に相当する画素のみ
を残すことができる。
When such erosion processing is performed on the dot code 36, as shown in FIG. 12, the data code 10 composed of small dots and the pattern dot 1
4. The address dots 18 have disappeared, and only pixels corresponding to the markers 16 which are much larger than these dots can be left.

【0073】そして、残った画素をまとまり毎に順次ラ
ベリングし、同一のラベルがふられている存在領域を求
める。この存在領域にイロージョンによって縮退した分
を拡大してマーカ存在エリア58となる。
Then, the remaining pixels are sequentially labeled for each group, and an existing area having the same label is obtained. The area reduced by erosion into this existing area is enlarged to become a marker existing area 58.

【0074】マーカ概中心算出部52は、各マーカ存在
エリア58毎の黒画素の重心を算出し、これをマーカ概
中心として、パターンドット14の読み取りの際の基準
点とする。
The marker approximate center calculation unit 52 calculates the center of gravity of the black pixel for each marker present area 58, and uses this as the reference point for reading the pattern dots 14 with the marker approximate center.

【0075】このように、イロージョン処理とラベリン
グ処理とを行うことにより、既存のハードウェアを利用
して簡単にマーカ16を検出でき、また、マーカ16付
近のノイズの影響を受けにくくすることができる。
As described above, by performing the erosion processing and the labeling processing, the marker 16 can be easily detected by using existing hardware, and the influence of noise near the marker 16 can be reduced. .

【0076】また、上記マーカ抽出部50としては、前
述したようなイロージョンや画像処理において知られて
いるストリーク等の計算を必要とする処理を行わずにマ
ーカ存在エリア58を求めることも可能である。
Further, the marker extracting section 50 can obtain the marker area 58 without performing the above-described processing requiring calculation of streak and the like known in erosion and image processing. .

【0077】例えば、図13の(A)に示すようなフレ
ーム画像を考えると、撮像部46の不図示光学系の特性
によりLPFがかかった状態で撮像されるため、図13
の(B)に示すように、マーカ16のように黒画素が集
まった部分では黒レベルが低く検出される。そこで、フ
レーム60の少なくとも1つ以上のマーカを含む領域を
スキャンしながら輝度の最小値を求め、その値にオフセ
ット(15〜20程度)をかけた値を閾値thとして、
フレーム画像を2値化すると、図13の(C)に示すよ
うにマーカ中心部62が容易に抽出できる。
For example, considering a frame image as shown in FIG. 13A, an image is taken in a state where an LPF is applied due to the characteristics of an optical system (not shown) of the imaging unit 46.
As shown in (B), a black level is detected to be low in a portion where black pixels gather like the marker 16. Therefore, a minimum value of luminance is obtained while scanning an area including at least one or more markers of the frame 60, and a value obtained by multiplying the minimum value by an offset (about 15 to 20) is set as a threshold th.
When the frame image is binarized, the marker central portion 62 can be easily extracted as shown in FIG.

【0078】即ち、マーカ16は大きいため、画像とし
て取り込んだ場合に、中心部の輝度値はかなり低い値を
とる。これに対して、データコード10のドットやパタ
ーンドット14は、光学系により若干のボケがあるため
に、その回りの白情報が重畳されて、少し薄くなる。従
って、図13の(B)に示すような輝度プロファイルが
得られるので、所定の閾値thで2値化することで、マ
ーカ16の中心部分だけを抽出できる。
That is, since the marker 16 is large, the luminance value of the central portion takes a considerably low value when the marker 16 is captured as an image. On the other hand, the dots of the data code 10 and the pattern dots 14 are slightly blurred due to slight blur due to the optical system, and the surrounding white information is superimposed thereon. Therefore, since a luminance profile as shown in FIG. 13B is obtained, only the center portion of the marker 16 can be extracted by binarizing it with the predetermined threshold th.

【0079】このように、少なくともフレーム60の一
部について輝度の最小値を求め、これに所定のオフセッ
トを加えた閾値を用いて2値化することにより、イロー
ジョンやストリーク等の計算を必要とせずにマーカ中心
部62を検出することができる。
As described above, the minimum value of the luminance is obtained for at least a part of the frame 60, and binarization is performed using a threshold value obtained by adding a predetermined offset to the minimum value, so that calculations such as erosion and streak are not required. The center part 62 of the marker can be detected.

【0080】また、この場合、ローパスフィルタを掛け
た後、この処理を行うようにすれば、さらにマーカ中心
部62の検出が容易になる。即ち、図13の(A)に示
すようなフレーム画像にローパスフィルタを掛けると、
データドット等の小さなドットがさらにボケて薄くな
り、大きなマーカ16の中心部のみが残るようになる。
In this case, if this processing is performed after applying a low-pass filter, the marker central portion 62 can be detected more easily. That is, when a low-pass filter is applied to a frame image as shown in FIG.
Small dots such as data dots are further blurred and thin, and only the center of the large marker 16 remains.

【0081】このように、ローパスフィルタを掛けるこ
とによって、マーカ16がデータコード10のデータド
ットやパターンドット14のような他のドットよりも大
きいドットで記録されている場合、マーカ中心部62の
検出がより確実に行える。
As described above, by applying the low-pass filter, when the marker 16 is recorded as a dot larger than other dots such as the data dot of the data code 10 and the pattern dot 14, the detection of the marker central portion 62 is performed. Can be performed more reliably.

【0082】また、画像処理分野で既知の技術であるス
トリーク処理と互いに接するストリークの数で中心算出
範囲を求めるようにしても良い。
Alternatively, the center calculation range may be obtained from the number of streaks that are in contact with the streak processing, which is a technique known in the field of image processing.

【0083】即ち、フレーム毎に、図14の(A)に示
すように、ストリーク(黒ランの連続数つまり黒画素の
続いている数とその始点を求める)を行い、互いに接す
るストリーク(図の例では、ストリークS1〜S7)を
ひとまとめにする。そして、まとめられたストリークは
属性データをコピーする。ここで、属性データとは、そ
のストリーク及びそれに接するストリークの上端と左右
端の座標と、接したストリークの数のことである。そし
て、接するストリークが下方に存在しなくなった時に、
それまでに接したストリークの数から、高さ方向の範囲
を求める。
That is, as shown in FIG. 14A, a streak (determining the number of continuous black runs, that is, the number of continuous black pixels and its starting point) is performed for each frame, and the streaks (see FIG. In the example, the streaks S1 to S7) are put together. Then, the combined streak copies the attribute data. Here, the attribute data refers to the coordinates of the upper end, the left and right ends of the streak and the streaks in contact therewith, and the number of streaks in contact. And when the streak that comes in contact no longer exists below,
The range in the height direction is obtained from the number of streaks that have come in contact with it.

【0084】このようにして、黒画素の始点とそこから
の長さというデータに分解すると、データドット等の小
さなドットは短いストリークデータしかとらないため、
ある程度の大きさの塊で接しているストリークだけがマ
ーカ16であると判定できる。
In this manner, when the data is decomposed into the data of the starting point of the black pixel and the length from the starting point, small dots such as data dots take only short streak data.
Only the streaks that are in contact with a lump of a certain size can be determined to be the marker 16.

【0085】従って、互いに接するストリークを一纏め
にしてから、この纏めたストリークにおいてそれぞれ属
性、即ち、始点と長さ(終点)の座標をそれぞれ下のス
トリークにコピーしていく。なお、接しているストリー
クがあると、下側のストリークは上側の属性をコピーす
るので上側の属性の始点と終点をコピーすることにな
る。こうして、左端、右端、上端、下端をコピーしてい
く。
Therefore, the streaks that are in contact with each other are grouped together, and the attributes of the grouped streaks, that is, the coordinates of the start point and the length (end point) are copied to the lower streaks. If there is a streak in contact, the lower streak copies the upper attribute, so the start and end points of the upper attribute are copied. Thus, the left end, the right end, the upper end, and the lower end are copied.

【0086】例えば、一番上側の小さなストリークS1
は、下側のストリークS2に対してこの一番上のデータ
つまり上辺だけをコピーしてやり、下側のストリークS
2は、左端と右端のデータを持つ。すると、最終的に一
番下側のストリークS7まで処理を終わると、この一番
下のストリークデータS7が持っている属性は、一番長
いストリークS4の左端と右端と、一番上のストリーク
S1と一番下ストリークS7の属性が記録されているこ
とになるので、この属性より、マーカ16の存在エリア
が求められる。
For example, the uppermost small streak S1
Performs the copying of only the uppermost data, that is, only the upper side, to the lower streak S2,
2 has left end and right end data. Then, when the processing is finally completed up to the lowest streak S7, the attributes of the lowest streak data S7 include the left end and the right end of the longest streak S4 and the top streak S1. And the attribute of the bottom streak S7 are recorded, and the area where the marker 16 is present is obtained from this attribute.

【0087】このように、ストリーク処理と互いに接す
るストリークの数で中心算出範囲を求めるようにすれ
ば、イロージョン処理のように計算量の多い処理を行う
必要がないため、処理が簡単になる。また、マーカ16
内のスポット的な傷に強くなるという効果も有する。
As described above, if the center calculation range is determined by the number of streaks that are in contact with the streak processing, processing that requires a large amount of calculation, unlike the erosion processing, does not need to be performed, thereby simplifying the processing. The marker 16
It also has the effect of increasing the resistance to spot-like scratches inside.

【0088】また、フレーム内すべてに対して上記のよ
うなマーカ抽出処理を行わなくても、すべてのマーカを
抽出することが可能である。
Further, it is possible to extract all the markers without performing the above-described marker extraction processing on all of the frames.

【0089】即ち、図14の(B)に示すように、フレ
ーム60内に9個のマーカ16(M1〜M9)がある場
合を考えると、まず、マーカ16をフレームの中でラス
タスキャンしていき、上記のようないずれかのマーカ抽
出処理によってマーカ16を探し出す。こうしてマーカ
M1が見つかると、そのマーカM1に相対的に隣接する
マーカM2,M4は、そのマーカM1からどの位の距離
だけ離れているという情報が先見情報として与えられて
いる場合、そのマーカM1からさらにラスタスキャンし
ていって次のマーカM2,M4を細かく捜す必要はな
く、スキューの可能性を加味してその先見情報に従って
決められるマーカの存在する可能性のある領域64に飛
んで、その領域64内でのみ、マーカ16を探せば良い
ことになる。そして、マーカM2,M4が見つかれば、
そこからまた逐次その先へと広げてマーカ16を探して
いけば良い。
That is, as shown in FIG. 14B, when there are nine markers 16 (M1 to M9) in the frame 60, the marker 16 is first raster-scanned in the frame. Then, the marker 16 is searched for by any of the marker extraction processes described above. When the marker M1 is found in this way, the markers M2 and M4 relatively adjacent to the marker M1 are given the information indicating how far away from the marker M1 the information is given as the look-ahead information. Further, it is not necessary to perform a raster scan to search for the next markers M2 and M4 in detail, and it is necessary to take into account the possibility of skew and jump to an area 64 where a marker determined in accordance with the look-ahead information may exist. Only in the area 64, the marker 16 need be searched. And if the markers M2 and M4 are found,
From there, the marker 16 may be searched for by expanding the marker one after another.

【0090】このように、少なくとも1つ以上のマーカ
を検出し、その検出されたマーカを基準としてその他の
マーカの存在する可能性のある領域64内でのみマーカ
を探すようにしているので、フレーム全体に対してマー
カ抽出のための計算を必要としなくなり、処理が高速に
なる。また、マーカ16間に例えば黒い塵等があると、
上記イロージョンなどの処理ではそれもマーカ16の候
補として抽出してしまうが、このようにマーカの存在す
る可能性のある領域64内のみを探す場合には、そのよ
うな塵をマーカ候補として抽出することはない。
As described above, at least one or more markers are detected, and a marker is searched only in the area 64 where there is a possibility that another marker may exist based on the detected marker. The calculation for marker extraction is not required for the whole, and the processing speed is increased. If there is black dust between the markers 16, for example,
In the process such as the erosion described above, such a dust is also extracted as a candidate for the marker 16, but when searching only in the area 64 where the marker may be present, such dust is extracted as a marker candidate. Never.

【0091】また、上記マーカの抽出処理において、例
えば図15の(A)に示すように、フレーム60中に3
個しかマーカが見つかっていない時には、ブロックを構
成するマーカ組(この例では4隅)が得られないことが
わかるので、このフレームの処理を中止するようにして
も良い。
In the marker extraction process, for example, as shown in FIG.
When only a single marker is found, it is known that a marker set (four corners in this example) constituting the block cannot be obtained, so that the processing of this frame may be stopped.

【0092】即ち、四隅にマーカ16を配置してあるド
ットコードでは、イロージョン処理やストリーク処理の
後でラベリングをしたラベルが3つまでしかふられなか
った場合には、マーカ16が3個しかないということが
その時点でわかる。従って、このようにフレーム内で検
出されたマーカ数がブロックを形成するのに必要な数に
満たない場合、そのフレームの処理を中止するようにす
れば、無駄な処理を省くことができる。
That is, in the dot code in which the markers 16 are arranged at the four corners, if up to three labeled labels have been touched after the erosion process or the streak process, there are only three markers 16. It turns out at that point. Therefore, when the number of markers detected in a frame is less than the number necessary to form a block, the processing of that frame is stopped, so that useless processing can be omitted.

【0093】一方、上記マーカ概中心算出部52は、例
えば、図15の(B)に示すように、上記マーカ存在エ
リア58内の全黒画素の重心を算出し、その重心66を
パターンドット14の検出のための基準座標としてのマ
ーカ概中心とする。
On the other hand, the marker approximate center calculating section 52 calculates the center of gravity of all black pixels in the marker existing area 58 as shown in FIG. The approximate center of the marker is used as the reference coordinate for the detection of.

【0094】このようにマーカ存在エリア58内の黒画
素全ての重心をマーカ概中心とすることで、白抜けや黒
いドット状、髭状のノイズがあっても、これを打ち消す
ことができる。
As described above, by setting the center of gravity of all the black pixels in the marker existing area 58 as the approximate center of the marker, even if there is a white spot, a black dot, or a whisker-like noise, it can be canceled.

【0095】あるいは、上記マーカ概中心算出部52
は、例えば、図15の(C)に示すように、マーカ16
の外接矩形68を求め、その中心点70を算出して、そ
こをマーカ概中心とするようにしても良い。こうすれ
ば、上記重心を算出する場合に比べて、計算量が少なく
て済む。
Alternatively, the marker approximate center calculating section 52
Is, for example, as shown in FIG.
The circumscribed rectangle 68 may be obtained, the center point 70 thereof may be calculated, and the center point 70 may be set as the approximate center of the marker. In this case, the amount of calculation can be reduced as compared with the case where the center of gravity is calculated.

【0096】ところで、上記マーカ概中心算出部52に
おいては、例えば、図16の(A)に示すように、マー
カ16がフレーム端72にかかってしまって欠損した場
合には、フレーム60内に入っている同図に網掛けで示
す残りの部分の概中心74が求められることになる。こ
のように算出した概中心74が実際の正しいマーカ概中
心76とずれてしまうと、その後、マーカ中心検出部5
6により行われるパターンドット14の検出において、
この点を基準にしたのでは、パターンドット14がうま
く検出されないことがある。つまり、マーカ16がフレ
ーム端72にかかってしまうと、マーカ16の一部が欠
損することにより、検出されるマーカ概中心位置がずれ
ることがあり、こうした場合、パターンドット14の各
ドットを正常に検出することができず、マーカ中心位置
検出精度が低下してしまう。
In the marker approximate center calculating section 52, for example, as shown in FIG. 16 (A), when the marker 16 is Approximate center 74 of the remaining portion indicated by hatching in FIG. If the calculated approximate center 74 deviates from the actual correct marker approximate center 76, then the marker center detection unit 5
In the detection of the pattern dot 14 performed by Step 6,
On the basis of this point, the pattern dots 14 may not be detected properly. In other words, when the marker 16 is over the frame end 72, a part of the marker 16 is lost, so that the detected approximate center position of the marker may be shifted. In such a case, each dot of the pattern dot 14 is normally replaced. It cannot be detected, and the marker center position detection accuracy is reduced.

【0097】そこで、マーカ概中心算出部52において
は、この算出された概中心の位置がフレーム端72から
どの位の距離にあるかにより、そのマーカ16が欠けた
かどうかを推定し、もし欠けている場合には、そのずれ
量δを算出して、マーカ概中心位置を正しいマーカ概中
心76に補正する処理を行うことが好ましい。
The marker approximate center calculating section 52 estimates whether or not the marker 16 is missing based on how far the calculated approximate center position is from the frame end 72. In such a case, it is preferable to perform a process of calculating the shift amount δ and correcting the approximate marker center position to the correct approximate marker center 76.

【0098】この場合、マーカ16が欠けているかどう
かは、図16の(B)に示すように、算出された概中心
位置が概中心補正領域78内にあるかどうかにより判断
することができる。
In this case, whether or not the marker 16 is missing can be determined based on whether or not the calculated approximate center position is within the approximate center correction area 78, as shown in FIG.

【0099】この概中心補正領域78は、フレームの左
右端に関しては、正しいマーカ概中心76のフレーム端
72からの距離dがマーカ16の左右方向の大きさの半
分aより小さい(即ち、d<a)ような幅を持ち、フレ
ームの上下端に関しては、正しいマーカ概中心76のフ
レーム端72からの距離dがマーカ16の上下方向の大
きさの半分bより小さい(即ち、d<b)ような高さを
持つ領域である。
In the approximate center correction area 78, the distance d from the frame end 72 of the correct marker approximate center 76 to the right and left ends of the frame is smaller than half a of the size of the marker 16 in the left and right direction (that is, d < a) With respect to the upper and lower ends of the frame, the distance d from the frame end 72 of the correct marker approximate center 76 is smaller than half the vertical size b of the marker 16 (ie, d <b). It is an area with a different height.

【0100】また、概中心のずれ量δは、次式で与えら
れる。
The deviation amount δ of the approximate center is given by the following equation.

【0101】[0101]

【数1】 (Equation 1)

【0102】なお、撮像部46のCCDの各画素が正方
形ではなく、またCCDの画素ピッチも縦と横で違うと
いうことにより、これらの図16の(A)及(B)に示
すように、円形のマーカ16を撮像して得られる画像
は、このように楕円形になってしまう。そのため、マー
カ16がフレーム左右端からはみ出した場合と、上下端
からはみ出した場合とでは、ずれ量δの算出式が異なっ
ている。
Since the pixels of the CCD of the image pickup section 46 are not square, and the pixel pitch of the CCD is different between the vertical and horizontal directions, as shown in FIGS. 16A and 16B, The image obtained by imaging the circular marker 16 is thus elliptical. Therefore, the formula for calculating the shift amount δ differs between the case where the marker 16 protrudes from the left and right ends of the frame and the case where the marker 16 protrudes from the upper and lower ends.

【0103】このように、フレーム端で欠けている可能
性のあるマーカの概中心位置を補正することにより、フ
レーム端にかかってしまったマーカについても、欠けて
いないとしたときの概中心位置を求めることができるた
め、パターンドットの検出をより確実にすることができ
る。
As described above, by correcting the approximate center position of the marker that may be missing at the end of the frame, the approximate center position of the marker at the end of the frame assuming that the marker is not missing is also corrected. Since it can be obtained, the detection of the pattern dot can be made more reliable.

【0104】また、上記ずれ量δつまり補正量を逐次計
算して求めなくても、この計算式を、検出された概中心
のフレーム端からの距離と補正量との関係を示すテーブ
ルの形式で持つものとしても良い。
Even if the above-mentioned deviation amount δ, that is, the correction amount, is not calculated sequentially, it is necessary to calculate this formula in the form of a table showing the relationship between the detected distance from the approximate center frame end and the correction amount. Good to have.

【0105】例えば、マーカ概中心算出部52は、図1
6の(C)に示すように、検出された概中心のフレーム
端からの距離と補正した概中心のフレーム端からの距離
との関係を示すテーブルを有する。ただし、これらのテ
ーブルは、マーカ16の直径を7ドット、撮像時の1ド
ットのサイズが横3.47画素(pixel)、縦2.70
画素の場合を示している。
For example, the marker approximate center calculating section 52 performs the processing shown in FIG.
As shown in FIG. 6 (C), there is a table showing the relationship between the detected distance from the approximate center frame end and the corrected distance from the approximate center frame end. However, in these tables, the diameter of the marker 16 is 7 dots, the size of one dot at the time of imaging is 3.47 pixels (pixel) in width, and 2.70 in height.
The case of a pixel is shown.

【0106】このように、フレーム端からの距離に応じ
て所定の補正量を出力するテーブルを用いるようにすれ
ば、補正量の計算が不要になる。
As described above, if a table for outputting a predetermined correction amount according to the distance from the frame end is used, the calculation of the correction amount becomes unnecessary.

【0107】また、上記概中心位置補正処理をフレーム
全体のマーカに対して行う必要はなく、実際にデータド
ットを読み取るブロック20に係わるマーカのみに対し
て行えば良い。
It is not necessary to perform the above-described approximate center position correction processing on the markers of the entire frame, but only on the markers related to the block 20 for actually reading the data dots.

【0108】例えば、図17の(A)において、フレー
ム60内にそれぞれ「×」印で示すマーカ概中心M0〜
M14が算出されたとき、概中心位置補正が必要なマー
カ、つまりフレーム端で一部が欠落したマーカ80とし
ては、M0,M9,M14の3つがある。しかしなが
ら、実際に読み取るブロックつまり処理対象ブロック8
2は、4隅にマーカのある図中に網掛けして示す5個の
ブロックである(なお、マーカM7,M9,M11,M
13を4隅に配したブロックについては、詳細は後述す
るような理由により除外される)。従って、この読み取
りに係わる5個のブロックを構成するマーカ16につい
て、その一部がフレーム端にかかって欠落したと判断さ
れた時に、そのマーカについてのみ補正を行い、それ以
外のものについては行わない。つまり、同図の例では、
フレーム端で一部が欠落したマーカ80の内、処理対象
ブロック82に関与するものはマーカM14だけである
ので、上記概中心位置補正処理は、このマーカM14に
ついてのみ実施される(この場合、マーカM0,M9
は、ブロックを構成する4隅のマーカの一つとなり得な
いので、処理対象から除外する)。
For example, in FIG. 17A, in the frame 60, the marker approximate centers M0 to M0 indicated by “x” marks are respectively provided.
When M14 is calculated, there are three markers M0, M9, and M14 that need to be corrected for the approximate center position, that is, the markers 80 that are partially missing at frame ends. However, the block to be actually read, that is, the processing target block 8
Reference numeral 2 denotes five blocks shaded in the figure with markers at four corners (markers M7, M9, M11, M
Blocks in which 13 are arranged at the four corners are excluded for the reasons described later in detail). Therefore, when it is determined that some of the markers 16 constituting the five blocks involved in the reading are missing at the frame end, correction is performed only on the markers, and no correction is performed on the other markers. . That is, in the example of FIG.
Since only the marker M14 is involved in the processing target block 82 among the markers 80 partially missing at the end of the frame, the above-described approximate center position correction processing is performed only on the marker M14 (in this case, the marker M14 is used). M0, M9
Cannot be one of the four corner markers constituting the block, and is excluded from the processing target).

【0109】このように、処理対象となったマーカにつ
いてのみ選択的に補正を行う、つまり、フレーム全体に
ついて概中心位置の補正を必要とするマーカを検出して
補正するのではなく、読み取りを行うブロックに関係す
るマーカについてのみ、この処理を行うようにしている
ので、計算量が少なくなる。
As described above, the correction is selectively performed only on the marker to be processed, that is, reading is performed instead of detecting and correcting the marker requiring correction of the approximate center position of the entire frame. Since this process is performed only for the marker related to the block, the amount of calculation is reduced.

【0110】なお、マーカM7,M9,M13,M11
を4隅に配したブロックを除外するのは、詳細は後述す
るようなダブルハイトの場合には、マーカM5,M6,
M10,M8を4隅に配したブロックとマーカM7,M
9,M13,M11を4隅に配したブロックとは同じデ
ータ内容を有しており、処理対象ブロック82として、
前者のブロックを選択しているので、後者のブロックは
除外されるということによる。
The markers M7, M9, M13, M11
Are excluded at the four corners because the markers M5, M6,
Blocks in which M10 and M8 are arranged at four corners and markers M7 and M
9, M13, and M11 have the same data content as the block in which the four corners are arranged.
Because the former block is selected, the latter block is excluded.

【0111】次に、上記マーカ中心検出部56について
詳細に説明する。
Next, the marker center detecting section 56 will be described in detail.

【0112】このマーカ中心検出部56は、パターンド
ット14を検出するために、まず、2つのマーカ16つ
まりマーカ対を選択する。
The marker center detecting section 56 first selects two markers 16, that is, a marker pair, in order to detect the pattern dots 14.

【0113】即ち、マーカ16を使ってパターンドット
14を探す場合、マーカ16が1つだけでは、図17の
(A)に示したようにドットコード36がスキューして
撮像された場合には、パターンドット14がどこにある
かは判らない。それに対して、図17の(B)に示すよ
うに、2つのマーカ16がマーカ対84として検出され
たならば、パターンドット14の存在する位置が例えば
マーカ間であるというようにフォーマット情報として与
えられていれば、そのマーカ対84の間を探せば良いの
であるから、例えば、マーカ対84を構成する一方のマ
ーカ16から他方のマーカ16へ順次1画素ずつ探索し
て行けばパターンドット14が見つかることになる。
That is, when the pattern dot 14 is searched using the marker 16, if only one marker 16 is used and the dot code 36 is skewed as shown in FIG. It is not known where the pattern dots 14 are. On the other hand, as shown in FIG. 17B, if two markers 16 are detected as a marker pair 84, the pattern dot 14 is given as format information such that the position where the pattern dot 14 exists is, for example, between the markers. If so, it is sufficient to search between the marker pairs 84. For example, if one pixel 16 is sequentially searched from one marker 16 constituting the marker pair 84 to the other marker 16, the pattern dot 14 is obtained. Will be found.

【0114】このように、マーカ対を選択することによ
り、パターンドット14の検出が確実になる。即ち、パ
ターンドット14は、マーカ16から所定の位置関係を
有して記録されるため、スキューした場合にも、少なく
とも2つのマーカ位置が求められれば、パターンドット
14を検出することができる。
As described above, by selecting the marker pair, the detection of the pattern dots 14 is ensured. That is, since the pattern dots 14 are recorded with a predetermined positional relationship from the marker 16, even if the skew occurs, the pattern dots 14 can be detected if at least two marker positions are obtained.

【0115】そこで、マーカ中心検出部56は、まず、
図18に示すように、基準マーカ選択部86で処理対象
となる基準マーカを一つ選択し、対マーカ存在領域算出
部88にて仕様スキュー角とフォーマット情報とに従っ
て対マーカ存在領域を算出して、対マーカ候補検出部9
0でこの対マーカ存在領域内を探索して、対になるマー
カ候補全てを検出する。次に、ベースマーカ対選択部9
2で対をなす一組のマーカ候補を選択することによって
処理対象のマーカを決定し、マーカ組選択部94により
それら処理対象マーカを選択して処理対象ブロックを決
定する。そして、この処理対象ブロックに係わるマーカ
間のパターンドット14の検出へと進む。
Therefore, the marker center detecting section 56 first
As shown in FIG. 18, one reference marker to be processed is selected by a reference marker selection unit 86, and a marker existence region is calculated by a marker existence region calculation unit 88 according to the specification skew angle and the format information. , Marker candidate detection unit 9
At 0, this paired marker existing area is searched to detect all the paired marker candidates. Next, the base marker pair selection unit 9
A marker to be processed is determined by selecting a pair of marker candidates forming a pair in step 2, and the marker to be processed is selected by the marker set selecting unit 94 to determine a block to be processed. Then, the process proceeds to the detection of the pattern dots 14 between the markers related to the processing target block.

【0116】上記対マーカ存在領域算出部88は、以下
のようにして対マーカ存在領域を算出する。即ち、図1
7の(C)に示すように、基準マーカ選択部86にて選
択されたある1つの基準マーカ96と対になるべきマー
カが存在する範囲つまり対マーカ存在領域98は、仕様
スキュー角(図の例では20°)と、マーカ間距離つま
りフォーマット情報とによって算出することができる。
従って、図17の(D)に示すように、上記マーカ検出
部54がノイズなどにより幾つかマーカ候補の概中心
(図中×で示す)を検出したとしても、この対マーカ存
在領域98の範囲内に入るものだけが、対になるべきマ
ーカ(対マーカ100)であり、それ以外のものは誤マ
ーカ102であることが判る。
The marker presence area calculation section 88 calculates the marker existence area as follows. That is, FIG.
As shown in (C) of FIG. 7, the range in which a marker to be paired with one reference marker 96 selected by the reference marker selection unit 86, that is, the pair marker existing area 98 is defined by a specification skew angle (see FIG. (In the example, 20 °) and the distance between the markers, that is, the format information.
Therefore, as shown in (D) of FIG. 17, even if the marker detection unit 54 detects the approximate center (indicated by X in the figure) of some marker candidates due to noise or the like, the range of the pair It can be seen that only those that fall within are markers to be paired (paired marker 100), and the others are erroneous markers 102.

【0117】なお、仕様スキュー角とは、当該情報再生
システムがどれだけ傾いてドットコード36を読む仕様
になっているかを示すものである。例えば、画像入力部
38が固定されていて、ドットコード36が自動的に搬
送されてスキャンするような場合であれば、ほとんどス
キューすることはなく、この仕様スキュー角は、1°以
下の単位となる。これに対して、操作者が画像入力部3
8を手動でドットコード36上をスキャンさせるような
場合には、20°位は傾く可能性がある。また、例え
ば、画像入力部38にローラ等によってある程度スキャ
ン方向が規制されるような構造となっていれば、スキュ
ーが減らせる。このように、情報再生システムは、その
構造によって、スキュー角が仕様により決まっている。
The specification skew angle indicates how inclined the information reproducing system is to read the dot code 36. For example, if the image input unit 38 is fixed and the dot code 36 is automatically conveyed and scanned, there is almost no skew, and the specification skew angle is a unit of 1 ° or less. Become. On the other hand, when the operator operates the image input unit 3
In the case where the user manually scans the dot code 36 over the dot code 36, there is a possibility that about 20 ° is inclined. Also, for example, if the image input unit 38 has a structure in which the scanning direction is regulated to some extent by rollers or the like, the skew can be reduced. As described above, in the information reproducing system, the skew angle is determined by the specification depending on the structure.

【0118】このように、マーカ対を選択するに際し
て、仕様スキュー角とフォーマット情報とに従って対マ
ーカ存在領域を算出し、この対マーカ存在領域内を探索
してマーカ候補を検出するようにすれば、フレーム全体
に対して対となるマーカ候補を検出する処理を必要とし
ないため、探索効率が向上する。また、左右隣接マーカ
存在領域を絞って探索するため、ノイズによるマーカの
誤検出を軽減することができる。換言すれば、ノイズに
よりマーカ候補を誤検出しても、マーカ対を構成するフ
ォーマット上の制限によりそれらを除去することができ
る。
As described above, when a marker pair is selected, a marker existence area is calculated according to the specification skew angle and the format information, and a marker candidate is detected by searching the marker existence area. Since it is not necessary to perform a process of detecting a marker candidate that forms a pair for the entire frame, search efficiency is improved. Further, since the search is performed by narrowing the left and right adjacent marker existence areas, erroneous marker detection due to noise can be reduced. In other words, even if marker candidates are erroneously detected due to noise, they can be removed due to restrictions on the format of the marker pair.

【0119】また、マーカ中心検出部56においては、
外挿により対マーカ位置を算出するようにしても良い。
In the marker center detecting section 56,
The marker position may be calculated by extrapolation.

【0120】例えば、既に1組のマーカ対が見付かって
いるような場合、例えば図19の(A)において、マー
カM8とM10が既に何らかの形で検出されている場合
には、次のマーカM11の位置は、上記のようにしてマ
ーカM10から仕様スキュー角とフォーマット情報とに
よって対マーカ存在領域98を算出してその範囲を探す
という処理をおこなわずとも、マーカM8とM10との
位置関係により既にスキュー角度が判っており、またマ
ーカ間距離も判っているので、それに従ってこのマーカ
M10から外挿ベクトル(exv)104を延ばしてや
り、図19の(B)に示すように、その先端近傍の非常
に狭い範囲の中で対マーカを探索してやれば良い。
For example, if one marker pair has already been found, for example, if the markers M8 and M10 have already been detected in some form in FIG. The position is already skewed by the positional relationship between the markers M8 and M10 without performing the process of calculating the marker presence area 98 from the marker M10 based on the specification skew angle and the format information and searching for the range. Since the angle is known and the distance between the markers is known, the extrapolation vector (exv) 104 is extended from the marker M10 according to the angle, and as shown in FIG. What is necessary is just to search for the paired marker in a narrow range.

【0121】こうすることにより、非常に狭い範囲の中
だけがマーカ探索領域106となるので、それ以外のと
ころにあるマーカ候補を誤検出することはなくなる、つ
まりノイズに強くなる。特に、上記対マーカ存在領域9
8内に複数のマーカ候補が存在する場合であっても、正
しいマーカ候補を対マーカ100として選び出すことが
可能となる。
By doing so, only a very narrow range becomes the marker search area 106, so that there is no possibility of erroneously detecting a marker candidate located outside of the area, that is, it is resistant to noise. In particular, the above-mentioned pair marker existence region 9
Even when there are a plurality of marker candidates in 8, it is possible to select a correct marker candidate as the paired marker 100.

【0122】また、このような外挿ベクトル104を用
いることにより、マーカ16が適宜省略されたコードに
対しても読み取り可能となる。例えば、上記の例におい
て、マーカM11が省略されていたとしても、この外挿
ベクトル104によりマーカM11があるべきおおよそ
の位置が判り、そのマーカM10,M11間のパターン
ドット14を読み取ることができる。
Further, by using such an extrapolation vector 104, it becomes possible to read a code in which the marker 16 is omitted as appropriate. For example, in the above example, even if the marker M11 is omitted, the approximate position where the marker M11 should be located can be determined from the extrapolated vector 104, and the pattern dot 14 between the markers M10 and M11 can be read.

【0123】このように、外挿により対マーカ位置を算
出すれば、ノイズによるマーカ欠落や、誤マーカ検出を
起こしにくい。また、マーカ16が適宜省略されたコー
ドに対しても読み取りが可能となる。
As described above, when the position of the marker is calculated by extrapolation, it is less likely that a marker will be missing due to noise or an erroneous marker will be detected. Further, it becomes possible to read a code in which the marker 16 is omitted as appropriate.

【0124】この外挿ベクトル(exv)104は、縦
方向隣接マーカを探索する際にも利用でき、これは先に
検出された横方向マーカ対の位置関係から算出される。
例えば、図19の(C)に×印で示すように2つのマー
カ16が検出されている場合、そのx方向及びy方向の
増分Δx,Δyより、次式により縦方向に隣接するマー
カの位置が外挿される。
The extrapolated vector (exv) 104 can be used for searching for a vertically adjacent marker, which is calculated from the positional relationship between the previously detected horizontal marker pair.
For example, when two markers 16 are detected as indicated by crosses in FIG. 19C, the positions of the vertically adjacent markers are calculated from the increments Δx and Δy in the x direction and the y direction by the following equation. Is extrapolated.

【0125】exv.fx=35/43×RAT×Δy exv.fy=35/43/RAT×Δx ただし、RATは使用する撮像系の画素に対する縦横比
であり、この例では、 RAT=3.47/2.70 である。
Exv. fx = 35/43 × RAT × Δy exv. fy = 35/43 / RAT × Δx where RAT is the aspect ratio with respect to the pixels of the imaging system to be used, and in this example, RAT = 3.47 / 2.70.

【0126】このように、外挿によってマーカ位置を算
出する場合、先に検出されたマーカ対の位置関係から外
挿ベクトルを算出することにより、マーカ対に対応して
ブロックを構成するマーカ組を確実に検出することがで
きる。
As described above, when the marker position is calculated by extrapolation, the extrapolation vector is calculated from the positional relationship of the previously detected marker pair, whereby the marker set forming the block corresponding to the marker pair is calculated. It can be detected reliably.

【0127】また、この外挿ベクトル104は、次フレ
ームの処理においても利用することができる。
The extrapolated vector 104 can be used in the processing of the next frame.

【0128】即ち、ドットコード36は、その全体が1
枚の画面として撮像されるとは限らず、実際には、スキ
ャンしてフレーム画像を連続して何枚も撮像する場合が
多い。この場合、時間的に連続する2つのフレーム間で
は、スキュー角が急に変化するということはほとんど無
いので、前のフレームで求めた外挿ベクトル104を次
のフレームで使うことができる。
That is, the entire dot code 36 is 1
The image is not always captured as a single screen. In practice, many frame images are continuously captured and imaged in many cases. In this case, the skew angle hardly changes suddenly between two temporally consecutive frames, so that the extrapolated vector 104 obtained in the previous frame can be used in the next frame.

【0129】このように、第2フレーム以降では直前の
フレームの外挿ベクトル104を参照するようにすれ
ば、計算によって外挿ベクトル104を求める必要がな
くなる。つまり、対マーカ存在領域算出部88の処理を
省略することができるようになる。
As described above, if the extrapolation vector 104 of the immediately preceding frame is referred to in the second and subsequent frames, it is not necessary to obtain the extrapolation vector 104 by calculation. That is, it is possible to omit the processing of the marker presence area calculation unit 88.

【0130】また、外挿ベクトル104により求まるマ
ーカ探索領域106の中で対応するマーカを探す場合、
その時に、例えば歪みや傾きによって実際のマーカがこ
の外挿した位置ではなくて若干ずれることがある。そこ
で、このような場合には、図19の(B)に示すよう
に、このマーカ探索領域106内で探索された対マーカ
100の概中心を用いて外挿ベクトルを修正し、次の対
マーカ100の探索時には、この修正された外挿ベクト
ルつまり修正外挿ベクトル108によりマーカ探索領域
106を設定するのが好ましい。
Further, when searching for a corresponding marker in the marker search area 106 obtained by the extrapolation vector 104,
At that time, the actual marker may be slightly shifted from the extrapolated position due to, for example, distortion or inclination. Therefore, in such a case, as shown in FIG. 19B, the extrapolation vector is corrected using the approximate center of the paired marker 100 searched in the marker search area 106, and the next paired marker is corrected. At the time of searching 100, it is preferable to set the marker search area 106 by the corrected extrapolated vector, that is, the corrected extrapolated vector 108.

【0131】このように、外挿ベクトル104を基に検
出されたマーカ中心位置を用いて、この外挿ベクトル1
04を修正することにより、即ち、外挿ベクトルを修正
しながら処理を進めることにより、歪や傾きが存在する
場合にもマーカを見失うことなく、確実に検出すること
ができるようになる。
As described above, using the marker center position detected based on the extrapolated vector 104, this extrapolated vector 1
04, that is, by proceeding while correcting the extrapolation vector, the marker can be reliably detected without losing the marker even when there is distortion or inclination.

【0132】以上のいずれかの手法によって対になるマ
ーカ候補すべてが検出されたならば、マーカ中心検出部
56では、ベースマーカ対選択部92により、2つのブ
ロックにまたがる一連のマーカ対をベースマーカ対とし
て選択する。
If all of the paired marker candidates are detected by any of the above methods, the marker center detecting section 56 uses the base marker pair selecting section 92 to convert a series of marker pairs extending over two blocks into base marker pairs. Select as a pair.

【0133】例えば、図20の(A)に示すように、マ
ーカM10とM11でなるマーカ対と、マーカM11と
M13でなるマーカ対のように、2つのブロックにまた
がる一連のマーカ対がある場合、それら3つのマーカM
10,M11,M13をベースマーカ対として選択す
る。
For example, as shown in FIG. 20A, when there is a series of marker pairs extending over two blocks, such as a marker pair including markers M10 and M11 and a marker pair including markers M11 and M13. , Those three markers M
10, M11 and M13 are selected as a base marker pair.

【0134】即ち、仕様スキュー角やフォーマット情報
とによって基準マーカ(ntm)より隣接マーカの存在
領域つまり対マーカ存在領域98を算出し、その対マー
カ存在領域98内のマーカ候補を検出して、それらのう
ち対になるものを隣接マーカ(lmc,rmc)として
抽出する。そして、この基準マーカと抽出したマーカと
をベースマーカ対110として選択する。
That is, the existence area of the adjacent marker, that is, the marker existence area 98 is calculated from the reference marker (ntm) based on the specification skew angle and the format information, and the marker candidates in the marker existence area 98 are detected. Are extracted as adjacent markers (lmc, rmc). Then, the reference marker and the extracted marker are selected as a base marker pair 110.

【0135】即ち、誤検出マーカが存在した場合、一列
に並んでいるというフォーマット上の制限から、その誤
検出マーカを含む3つのマーカ16を結んだ時に真ん中
のマーカが丁度その中点になるような可能性はほとんど
なく、従って、このように2ブロックにまたがるマーカ
対をベースマーカ対として選択するものとすれば、その
ような誤検出マーカは排斥されて、実際のマーカである
ものしか選択されないことになる。つまり、ノイズによ
ってマーカと誤検出されたものを排斥することができる
ようになる。
That is, when there is an erroneously detected marker, the middle marker becomes exactly the middle point when three markers 16 including the erroneously detected marker are connected due to the format limitation that they are arranged in a line. Therefore, if a marker pair extending over two blocks is selected as a base marker pair, such a false detection marker is rejected and only the actual marker is selected. Will be. That is, it is possible to reject a marker erroneously detected as a marker due to noise.

【0136】また、ドットコード36がダブルハイトで
記録されている場合、このような2ブロックにまたがる
ベースマーカ対というのを選択することで、そのどの2
列を読むかをここで決めることができる。
When the dot code 36 is recorded at double height, by selecting such a base marker pair extending over such two blocks,
Here you can decide whether to read the columns.

【0137】さらには、複数のブロックにまたがるの
で、それだけ多くのパターンドットを利用することがで
き、データ読み取り基準点の精度を高くすることができ
る。即ち、図の例では、マーカM10とM11との間の
パターンドットを使って読み取り基準点を決めるという
だけではなく、マーカM10からM13までの範囲のパ
ターンドットを使って、読み取り基準点つまりマーカの
真の中心座標を決めるようにすれば、それだけ精度を高
くすることができる。
Further, since the image data spans a plurality of blocks, more pattern dots can be used and the accuracy of the data reading reference point can be increased. That is, in the example of the drawing, not only is the reading reference point determined using the pattern dots between the markers M10 and M11, but also the reading reference point, that is, the marker is determined using the pattern dots in the range from the markers M10 to M13. By determining the true center coordinates, the accuracy can be increased accordingly.

【0138】また、複数のブロックにまたがって、同時
にデータ読み取り基準点を決定することができるので、
マーカM10とM11の真中心を求めて、次にマーカM
11とM13の真中心を求めて、というように順次求め
ていく場合に比べて、計算量が少なくて済むといった利
点もある。
Also, since the data reading reference point can be determined simultaneously over a plurality of blocks,
The true center of the markers M10 and M11 is obtained, and then the marker M
There is also an advantage that the amount of calculation is smaller than in the case where the true center of 11 and M13 is obtained sequentially and so on.

【0139】このように、少なくとも2つ以上のブロッ
クにまたがる一連のマーカ対をベースマーカ対として選
択するようにすれば、ベースマーカ対を構成するフォー
マット上の制限(対が限定される)により、ノイズによ
るマーカの誤検出を軽減することができる。また、ダブ
ルハイトで記録されたコードの場合、再生ブロック列に
またがるマーカ対をベースマーカ対として選択すること
で、2度読みをなくすことができる。さらに、複数のブ
ロックにまたがることで、多くのパターンドットを読み
取ることができ、データ読み取り基準点精度が高くな
る。また、複数のブロックにまたがって同時にデータ読
み取り基準点が決定できるため、計算量が少ないという
効果も有する。
As described above, if a series of marker pairs extending over at least two or more blocks are selected as the base marker pair, the format limitation of the base marker pair (the pair is limited) causes Erroneous marker detection due to noise can be reduced. Further, in the case of a code recorded in double height, by selecting a marker pair that straddles the reproduced block sequence as a base marker pair, double reading can be eliminated. Furthermore, by extending over a plurality of blocks, many pattern dots can be read, and the accuracy of the data reading reference point is increased. Further, since the data reading reference point can be determined simultaneously over a plurality of blocks, there is an effect that the amount of calculation is small.

【0140】なお、ここで、ダブルハイトについて説明
する。
Here, the double height will be described.

【0141】ダブルハイトとは、図20の(B)に示す
ように、全く同一のコードを2段印刷することをいう
(図中、A1,A2,…はブロックアドレスを示すもの
とする)。つまり、元のコードが2段(縦2ブロック)
重ねになっている場合は、このダブルハイトでは、4段
(縦4ブロック)重ねになる。そして、このドットコー
ド36を画像入力部38で横方向にスキャンした場合、
CCDカメラ等の撮像部46(撮像部視野112)によ
って得られるフレーム画像としては、図20の(C)に
示すように、90°回転した画像が得られる。つまり、
スキャンにつれて、ブロックが下からせり上がってくる
ように、順次ブロックが上方にスライドしたフレーム画
像が得られることになる。
The double height means that exactly the same code is printed in two rows as shown in FIG. 20B (A1, A2,... Indicate block addresses in the figure). In other words, the original code has two rows (two vertical blocks)
In the case of overlapping, in this double height, there are four stages (four vertical blocks). When the dot code 36 is scanned in the horizontal direction by the image input unit 38,
As a frame image obtained by the image pickup unit 46 (image pickup unit visual field 112) such as a CCD camera, an image rotated by 90 ° is obtained as shown in FIG. That is,
As the scan is performed, a frame image in which the blocks are sequentially slid upward is obtained, such that the blocks rise from the bottom.

【0142】この場合、ブロックの大きさとフレームの
大きさの関係から、通常1フレームに横方向に3ブロッ
ク分が撮像されることになる。この3ブロックのうち、
ダブルハイトの場合には、2つは同じデータ内容のブロ
ックであるため、どちらか一方のみのブロックについて
のみ処理を行えば良いことになる。従って、前述した図
17の(A)の例では、マーカM5,M6,M10,M
8を4隅に配したブロックとマーカM7,M9,M1
3,M11を4隅に配したブロックとは同じデータ内容
を有しており、処理対象ブロック82として、前者のブ
ロックを選択しているので、後者のブロックは除外され
ているものである。
In this case, from the relationship between the size of the block and the size of the frame, three blocks are usually captured in one frame in the horizontal direction. Of these three blocks,
In the case of double height, since two blocks have the same data content, it is only necessary to perform processing on only one of the blocks. Therefore, in the example of FIG. 17A described above, the markers M5, M6, M10, M
8 in four corners and markers M7, M9, M1
Blocks M3 and M11 have the same data contents as the blocks arranged at the four corners. Since the former block is selected as the processing target block 82, the latter block is excluded.

【0143】また、ベースマーカ対選択部92では、少
なくとも左右の隣接マーカが検出できる範囲内でスキャ
ン方向側のマーカ候補から基準マーカを選択し、これを
基準としてベースマーカ対を選択する。
The base marker pair selection section 92 selects a reference marker from the marker candidates in the scanning direction at least within a range where the left and right adjacent markers can be detected, and selects a base marker pair based on the reference marker.

【0144】即ち、あるマーカがみつかった時に、それ
に隣接するマーカがどの位置にあるかというのは、前述
したように仕様スキュー角やフォーマットで規定するこ
とができる。この場合は更に傾きによる縮小率も関係し
てくるが、隣接マーカがフレーム60内に必ず入ってく
るのは、当該マーカが、図21の(A)に示すような領
域114内にあるときだけであるので、この領域114
内で基準マーカntmを選択する。
That is, when a certain marker is found, the position of the marker adjacent thereto can be specified by the specification skew angle and format as described above. In this case, the reduction ratio due to the inclination is also related, but the adjacent marker always enters the frame 60 only when the marker is in the area 114 as shown in FIG. Therefore, this area 114
Select the reference marker ntm.

【0145】この領域114は、フレーム60よりも、
フレーム上下端からは距離ACRY、左右端からは距離
ACRX2だけ小さな領域である。ここで、ACRY及
びACRX2は、図21の(B)に示すように、対マー
カ存在領域98のY方向の1/2の長さと、当該マーカ
から対マーカ存在領域98の遠い側の端までのX方向の
長さに該当し、同図に示すような数式によって算出され
る値である。
[0145] This area 114 is
The area is smaller by a distance ACRY from the upper and lower ends of the frame and by a distance ACRX2 from the left and right ends. Here, ACRY and ACRX2 are, as shown in FIG. 21B, a half of the length of the paired marker existence region 98 in the Y direction and a distance from the marker to the far end of the paired marker existence region 98. This value corresponds to the length in the X direction and is calculated by a mathematical formula as shown in FIG.

【0146】つまり、このような領域114内で基準マ
ーカを選択すれば、この領域114中のどのマーカを選
択しても必ずその両隣には隣接マーカを検出する可能性
があるということである。
That is, if a reference marker is selected in such an area 114, no matter which marker in this area 114 is selected, there is a possibility that adjacent markers will always be detected on both sides.

【0147】また、基準マーカをスキャン方向側のマー
カ候補から選択するのは、後述するブロックの選択のた
めであり、このようにしてスキャン方向側からブロック
を選択していくと、前のフレームで既に処理されている
ブロックが後から選択されて出てくることになるので、
処理済みのブロックが検出されたならばそこで当該フレ
ームの処理を中止するようにすれば、既に処理したブロ
ックに対する無駄な処理を省くことができるようにな
る。
The selection of the reference marker from the marker candidates in the scanning direction is for the selection of a block to be described later. When the blocks are selected from the scanning direction in this way, the reference frame is selected in the previous frame. Blocks that have already been processed will be selected later and come out,
If the processing of the frame is stopped when a processed block is detected, useless processing for the already processed block can be omitted.

【0148】なお、図示した例では、基準マーカは、ベ
ースマーカ対110の中心のマーカを指し、なるべくフ
レームの下の方のマーカを基準マーカntmとするよう
にしているので、図では基準マーカntmとしてマーカ
M11が選択されることになる。
In the illustrated example, the reference marker indicates the center marker of the base marker pair 110, and the lower marker of the frame is set as the reference marker ntm as much as possible. Is selected as the marker M11.

【0149】このように、少なくとも左右の隣接マーカ
が検出できる範囲内でスキャン方向側のマーカ候補から
基準マーカを選択し、これを基準としてベースマーカ対
を選択することにより、本来検出されるはずの隣接マー
カが検出されない場合、そのコードが画面から外れてい
るか、もしくはアクシデントが起きていることが推定で
きる。また、スキャン方向側のマーカ候補から基準マー
カを選択することにより、前のフレームでは未検出のマ
ーカから処理がなされるため、重複した処理を防ぐこと
ができる。
As described above, the reference marker is selected from the marker candidates in the scanning direction within at least the range in which the left and right adjacent markers can be detected, and the base marker pair is selected based on the reference marker. When the adjacent marker is not detected, it can be estimated that the code is off the screen or that an accident has occurred. Further, by selecting a reference marker from the marker candidates on the scanning direction side, processing is performed from an undetected marker in the previous frame, so that overlapping processing can be prevented.

【0150】また、ベースマーカ対選択部92では、基
準マーカntmの片側にのみマーカ候補が見つかった場
合、そのマーカを基準マーカとして再選択して、さらに
隣接マーカを探索する。ただし、このマーカ探索の際に
は、外挿による存在領域の限定を行う。
When a marker candidate is found on only one side of the reference marker ntm, the base marker pair selection section 92 reselects the marker as a reference marker and searches for an adjacent marker. However, at the time of this marker search, the existence area is limited by extrapolation.

【0151】例えば、図21の(C)において、最初に
基準マーカntmとしてマーカM10が選択され、対応
するマーカlmcとrmcを対マーカ存在領域98から
探した時、右側の対マーカ存在領域98からマーカが見
つからず、左側の対マーカ存在領域98から左側隣接マ
ーカlmcとしてマーカM9が見つかった場合には、マ
ーカM10がドットコード36の端部にあるマーカであ
ると判断する。そこで、この見つかったマーカM9を基
準マーカntmにする。そして、既に検出されているマ
ーカM10とから外挿ベクトルによりマーカ探索領域1
06を求め、その領域内で左側隣接マーカlmcを探
す。こうして、マーカM8を検出して、マーカM8,M
9,M10をベースマーカ対とする。
For example, in FIG. 21C, when the marker M10 is first selected as the reference marker ntm and the corresponding markers lmc and rmc are searched from the paired marker existence area 98, the marker M10 is selected from the right paired marker existence area 98. When the marker is not found, and the marker M9 is found as the left adjacent marker lmc from the left pair marker existing area 98, it is determined that the marker M10 is the marker at the end of the dot code 36. Therefore, the found marker M9 is used as the reference marker ntm. Then, the marker search area 1 is obtained from the already detected marker M10 by using an extrapolated vector.
06, and a left adjacent marker lmc is searched in the area. Thus, the marker M8 is detected, and the markers M8, M
9, M10 is a base marker pair.

【0152】このように、マーカに対して左右片側のマ
ーカしか検出できない場合、基準マーカをその検出され
た隣接マーカに置き換え、外挿によってマーカを探索す
れば、より多くのブロックを読み取ることかできる。即
ち、基準マーカを基準としてブロックを読み取る構成で
あるため、コード端のマーカが基準マーカとして選択さ
れた場合、読めるブロックの数が減ってしまう。そこで
選択された基準マーカがコード端である場合にはこれを
選び直すことにより、より多くのブロックを読み取るこ
とができる。また、外挿によって探索領域を絞っている
ため、ノイズによるマーカの誤検出を軽減することがで
きる。
As described above, when only one of the left and right markers can be detected with respect to the marker, more blocks can be read by replacing the reference marker with the detected adjacent marker and searching for the marker by extrapolation. . That is, since the block is read based on the reference marker, when the marker at the code end is selected as the reference marker, the number of blocks that can be read decreases. Therefore, if the selected reference marker is a code end, by reselecting it, more blocks can be read. Further, since the search area is narrowed by extrapolation, erroneous detection of a marker due to noise can be reduced.

【0153】なお、上記のようにして外挿したマーカ位
置がフレーム60からはみ出してしまう場合には、ベー
スマーカ対選択部92は、この外挿した位置を仮想マー
カの概中心として記憶する。
When the extrapolated marker position protrudes from the frame 60 as described above, the base marker pair selecting unit 92 stores the extrapolated position as the approximate center of the virtual marker.

【0154】例えば、図22の(A)において、マーカ
M8が基準マーカntmとして最初に設定されて、両側
の対マーカ存在領域98を探したとき、右側隣接マーカ
rmcが見つからない場合、前述したように、基準マー
カをマーカM7に移して、マーカM7,M8でなるマー
カ対から外挿により左側隣接マーカlmcを探すことを
行う。この時に、この外挿点がフレーム60からはみ出
た場合には、この外挿点に仮想マーカを設ける。
For example, in FIG. 22A, when the marker M8 is first set as the reference marker ntm and the right adjacent marker rmc is not found when searching for the paired marker existence area 98 on both sides, as described above. Next, the reference marker is moved to the marker M7, and the left adjacent marker lmc is searched for by extrapolation from the marker pair consisting of the markers M7 and M8. At this time, if the extrapolated point is out of the frame 60, a virtual marker is provided at the extrapolated point.

【0155】このようにすると、同図においてマーカM
7と仮想マーカM10の間にあるパターンドット14を
利用することができる。
By doing so, the marker M in FIG.
The pattern dots 14 between the virtual marker 7 and the virtual marker M10 can be used.

【0156】また、このような仮想マーカM10を設け
なかった場合には、マーカM7とM8の組しか見つから
ず、このマーカM7,M8を含むブロックと同一の列の
ブロックしか読み取らないようになってしまう。しか
し、このように仮想マーカM10を設けることで、マー
カM1,M2,M5,M4を4隅に配置したブロックを
も読み取るようになり、ブロックの欠落を防ぐことが可
能になる。
When such a virtual marker M10 is not provided, only a set of markers M7 and M8 can be found, and only blocks in the same column as the block including the markers M7 and M8 are read. I will. However, by providing the virtual marker M10 in this manner, a block in which the markers M1, M2, M5, and M4 are arranged at the four corners can also be read, and it is possible to prevent a block from being lost.

【0157】このように、外挿した時にマーカ探索領域
が画面からはみ出た場合に、外挿点を仮想マーカとする
ことにより、マーカが画面からはみ出していても、画面
内に残っているパターンドット14は利用することがで
きるので、これらのパターンドット14を有効に利用す
ることができるようになる。
As described above, when the marker search area protrudes from the screen when extrapolated, the extrapolation point is set as a virtual marker, so that even if the marker protrudes from the screen, the pattern dots remaining on the screen are displayed. Since the pattern dots 14 can be used, these pattern dots 14 can be effectively used.

【0158】また、ブロックは基準マーカを基準にして
順次外挿により読み取っていくが、基準マーカに隣接す
るマーカが画面から外れていたとしても、外挿により求
めたブロックを構成するマーカは、スキューによりフレ
ーム内に入ってくるときがあり、そのような場合に、そ
れらのブロックが読めるようになる。
The blocks are sequentially read out by extrapolation with reference to the reference marker. Even if a marker adjacent to the reference marker is off the screen, the marker constituting the block obtained by extrapolation is not skewed. May enter the frame, and in such a case, those blocks can be read.

【0159】また、ベースマーカ対選択部92は、2つ
以上のベースマーカ対が選択できる場合には、より多く
のブロックを読み取れる可能性の高いベースマーカ対を
再選択する。
When two or more base marker pairs can be selected, the base marker pair selecting section 92 reselects a base marker pair that has a high possibility of reading more blocks.

【0160】即ち、ダブルハイトの場合、前述したよう
に、全く同一のコードが2段印刷されている。フレーム
画像としては、元のコードが横2ブロックからなるとき
横4ブロック存在し、ブロックの大きさとフレーム60
の大きさの関係から通常は1フレームに横3ブロックが
撮像される。そこで、より多くのブロックを読み取れる
可能性の高いベースマーカ対を再選択することにより、
読み取りブロック数を増加することができる。
That is, in the case of the double height, as described above, exactly the same code is printed in two rows. As the frame image, when the original code is composed of two horizontal blocks, there are four horizontal blocks.
In general, three horizontal blocks are imaged in one frame because of the size of. Therefore, by re-selecting a base marker pair that is likely to be able to read more blocks,
The number of read blocks can be increased.

【0161】例えば、図22の(B)の左側に示すよう
に、マーカM10,M11,M13をベースマーカ対と
して選択すると、同図の右側に網掛けを付して示すよう
に、読み取りブロックは、マーカM2,M4,M7,M
6を4隅に配したブロックと、M6,M7,M11,M
10のブロック、M7,M9,M13,M11のブロッ
クの3ブロックとなる。
For example, when the markers M10, M11, and M13 are selected as a pair of base markers as shown on the left side of FIG. 22B, the read block is displayed as shaded on the right side of FIG. , Markers M2, M4, M7, M
6 at the four corners, M6, M7, M11, M
There are three blocks of ten blocks and blocks of M7, M9, M13, and M11.

【0162】これに対して、図22の(C)の左側に示
すように、マーカM8,M10,M11をベースマーカ
対として選択すると、同図の右側に網掛けを付して示す
ように、読み取りブロックは、マーカM1,M2,M
6,M5を4隅に配したブロックと、M5,M6,M1
0,M8のブロック、M8,M10,M14,M12の
ブロック、M2,M4,M7,M6のブロック、M6,
M7,M11,M10のブロックの5ブロックとなる。
On the other hand, as shown on the left side of FIG. 22C, when the markers M8, M10 and M11 are selected as a base marker pair, as shown by hatching on the right side of FIG. The read block includes the markers M1, M2, M
6, M5 at the four corners, and M5, M6, M1
0, M8 block, M8, M10, M14, M12 block, M2, M4, M7, M6 block, M6,
There are five blocks of blocks M7, M11 and M10.

【0163】ここで、ダブルハイトの場合には、M5,
M6,M10,M8のブロックと、M7,M9,M1
3,M11のブロックとは、全く同じデータが記録され
ているため、どちらのブロックを読み取っても得られる
データは同じである。そこで、なるべく読み取れるブロ
ック数の多いM8,M10,M11をベースマーカ対と
して選択する。
Here, in the case of double height, M5,
Blocks M6, M10, M8 and M7, M9, M1
Since the same data is recorded in the blocks 3 and M11, the data obtained by reading either block is the same. Therefore, M8, M10, and M11 having the largest number of readable blocks are selected as a base marker pair.

【0164】このように、2つ以上のベースマーカ対が
選択できる場合には、より多くのブロックを読み取れる
可能性の高いベースマーカ対を再選択することにより、
1フレームからより多くの読み取りブロックが抽出でき
るようになる。
As described above, when two or more base marker pairs can be selected, by re-selecting a base marker pair having a high possibility of reading more blocks,
More read blocks can be extracted from one frame.

【0165】なお、上記のようなベースマーカ対の再選
択を行うとき、コードが左にスキューしている場合には
右側のベースマーカ対を、また右にスキューしている場
合には左側のベースマーカ対を再選択し、マーカの探索
の際には、外挿による存在領域の限定を行う。
When the base marker pair is reselected as described above, the right base marker pair is displayed when the code is skewed to the left, and the left base marker pair is displayed when the code is skewed to the right. When the marker pair is reselected and the marker is searched, the existence area is limited by extrapolation.

【0166】例えば、図23の(A)に示すようにコー
ドが右にスキューしている場合には、ベースマーカ対と
して左側のM8,M10,M11の組と、右側のM1
0,M11,M13の組を選択する可能性があるが、左
側の組を選択すると5個のブロックを読み取ることがで
きるが、右側の組を選択すると4個のブロックしか読み
取ることができない。そこで、このようにコードが右に
スキューしているときには、左側のマーカ対を選択す
る。
For example, when the code is skewed to the right as shown in FIG. 23A, a set of M8, M10, M11 on the left and M1 on the right are used as a base marker pair.
There is a possibility that a set of 0, M11, and M13 is selected. When the left set is selected, five blocks can be read, but when the right set is selected, only four blocks can be read. Thus, when the code is skewed to the right, the left marker pair is selected.

【0167】ブロックを構成するマーカはベースマーカ
対を基準にして順次外挿により求めていくが、このよう
に、ベースマーカ対を再選択するとき、コードが右にス
キューしている場合は左側のベースマーカ対を、左にス
キューしている場合は右側のベースマーカ対を再選択す
ることにより、スキューによって読み取りブロックを構
成するマーカがフレーム外にはみ出てブロック欠損を生
じるのを防ぐことができる(横方向)。
The markers constituting the block are sequentially obtained by extrapolation based on the base marker pair. As described above, when the base marker pair is reselected, if the code is skewed to the right, the left marker is selected. When the base marker pair is skewed to the left, by reselecting the right base marker pair, it is possible to prevent the markers constituting the read block from being out of the frame due to the skew and causing block loss ( Lateral direction).

【0168】あるいは、上記ベースマーカ対の再選択に
おいては、中央よりのベースマーカ対を選択するように
しても良い。これは、左側マーカと基準マーカとの中点
がフレーム中心より右側、もしくは右側マーカと基準マ
ーカとの中点がフレーム中心より左側の場合に、中央に
近いマーカ対を再選択することにより行われる。
Alternatively, in the reselection of the base marker pair, a base marker pair from the center may be selected. This is performed by reselecting a marker pair near the center when the midpoint between the left marker and the reference marker is on the right side of the frame center, or when the midpoint between the right marker and the reference marker is on the left side of the frame center. .

【0169】例えば、図23の(B)に示すように、コ
ードが右にスキューしている場合、マーカM10,M1
1,M13をベースマーカ対として検出したとき、左側
マーカM10と基準マーカM11の中点がフレーム60
の中央よりも右側にあるので、このベースマーカ対がフ
レーム60の右側に寄っていることが判る。そこで、こ
のような場合には、M11とM13でなるマーカ対より
も中央に近いM10とM11でなるマーカ対を再選択す
る。そして、外挿によりマーカM8を探索して、M8,
M10,M11をベースマーカ対として選択する。
For example, as shown in FIG. 23B, when the code is skewed to the right, the markers M10, M1
When M1 and M13 are detected as a base marker pair, the midpoint between the left marker M10 and the reference marker M11 is the frame 60.
Is located on the right side of the center of the frame 60, it can be seen that this base marker pair is shifted to the right side of the frame 60. Therefore, in such a case, a marker pair consisting of M10 and M11 closer to the center than a marker pair consisting of M11 and M13 is reselected. Then, a marker M8 is searched by extrapolation, and M8,
M10 and M11 are selected as a base marker pair.

【0170】コードが左にスキューしている場合には、
右側マーカと基準マーカとの中点がフレーム中心より左
側であるかどうかの判断により、再選択するかどうか決
定できる。
If the code is skewed to the left,
By determining whether the midpoint between the right marker and the reference marker is on the left side of the frame center, it can be determined whether or not to reselect.

【0171】ブロックを構成するマーカはベースマーカ
対を基準にして順次外挿により求めていくが、このよう
に、左側マーカと基準マーカとの中点がフレーム中心よ
り右側、もしくは右側マーカと基準マーカとの中点がフ
レーム中心より左側の場合、中央に近いマーカ対を再選
択することにより、スキューにより、読み取りブロック
を構成するマーカがフレームからはみ出てブロック欠損
を生じるのを防ぐことができる。また、中央よりのブロ
ックを選択するため、ディストーションの影響を小さく
することができる。
The markers constituting the block are sequentially obtained by extrapolation with reference to the base marker pair. In this way, the midpoint between the left marker and the reference marker is on the right side of the frame center, or the right marker and the reference marker When the midpoint between the two is located on the left side of the center of the frame, by reselecting the marker pair near the center, it is possible to prevent the markers constituting the read block from protruding from the frame and causing block loss due to skew. In addition, since the block from the center is selected, the influence of distortion can be reduced.

【0172】また、マーカ組選択部94は、ブロックを
構成するマーカのうち、全ての組み合わせ又は一部の組
み合わせを選択する。
Further, the marker set selecting section 94 selects all or a part of the markers constituting the block.

【0173】即ち、一例として図24の(A)に示すよ
うにブロック20が矩形状であり、その頂点にマーカが
配置されている場合、ブロック20を構成する全ての4
つのマーカ組を選択する。
That is, as an example, as shown in FIG. 24A, when the block 20 has a rectangular shape and markers are arranged at its vertices, all the blocks constituting the block 20 are displayed.
One marker set is selected.

【0174】このように、ブロック20を構成するマー
カ組を選択することにより、読み取るデータをブロック
毎に分割して処理することができる。
As described above, by selecting the marker set constituting the block 20, the data to be read can be divided and processed for each block.

【0175】なお、マーカ組選択部94は、選択したブ
ロック20を構成するマーカ組を全て不図示メモリに記
憶する。
The marker set selecting section 94 stores all the marker sets constituting the selected block 20 in a memory (not shown).

【0176】例えば、図24の(A)の例の場合には、
フォーマット情報により、マーカM0,M2,M6,M
4が1つのブロックを構成するということが判ると、そ
れを第1ブロックのマーカ組として、同図の(B)に示
すように、左上がM0、右上がM2、右下がM6、左下
がM4というようにメモリに記憶する。以下同様に、第
2ブロックとしてM1,M3,M7,M5を、第3ブロ
ックとしてM8,M10,M14,M12を、第4ブロ
ックとしてM9,M11,M15,M13をそれぞれ記
憶する。つまり、この例の場合は4つブロックがあるの
で、第1ブロックから第4ブロックまでをこのようにマ
ーカ番号でメモリに記憶する。
For example, in the case of the example of FIG.
Markers M0, M2, M6, M
When it is found that 4 constitutes one block, it is used as a marker set of the first block, as shown in FIG. 4B, M0 is at the upper left, M2 is at the upper right, M6 is at the lower right, and M6 is at the lower left. M4 is stored in the memory. Similarly, M1, M3, M7, and M5 are stored as the second block, M8, M10, M14, and M12 are stored as the third block, and M9, M11, M15, and M13 are stored as the fourth block. That is, since there are four blocks in this example, the first to fourth blocks are stored in the memory with the marker numbers in this manner.

【0177】このように、概中心位置を基にブロック2
0を構成するマーカ組を全てメモリに記憶することによ
り、ブロック20が整列していない場合にもブロック毎
にデータを読み取ることができる。
As described above, the block 2 is determined based on the approximate center position.
By storing all the marker sets constituting 0 in the memory, data can be read for each block even when the blocks 20 are not aligned.

【0178】あるいは、このように全てのマーカ組を記
憶する代わりに、ブロック20を構成する所定の一つの
マーカと、このマーカに対する他のマーカの関係を現す
関係式とをメモリに記憶するようにしても良い。
Alternatively, instead of storing all the marker sets, a predetermined one marker constituting the block 20 and a relational expression expressing the relation between this marker and another marker are stored in the memory. May be.

【0179】即ち、図24の(C)に網掛けして示すよ
うな処理対象ブロック82が整列されている場合には、
ブロックを構成する4つのマーカの内の所定の一つ、例
えば左上のマーカと、この左上のマーカと残りの3つの
マーカとの関係式とが判っていれば、メモリに全てのマ
ーカ組を記憶する必要はない。
That is, when the processing target blocks 82 are shaded as shown in FIG.
If a predetermined one of the four markers constituting the block, for example, the upper left marker and the relational expression between the upper left marker and the remaining three markers are known, all the marker sets are stored in the memory. do not have to.

【0180】例えば、同図の例の場合、図24の(D)
に示すように、関係式として右上のマーカは+1、左下
のマーカは+3、右下のマーカは+4というように記憶
しておけば、第1ブロックについては、左上のマーカM
1を記憶するだけで、右上のマーカはそれに+1したM
2、左下のマーカは+3したM4、右下のマーカは+4
したM5であることが判るので、これらマーカM2,M
4,M5をメモリに記憶する必要がなくなる。
For example, in the case of the example shown in FIG.
As shown in the relational expression, if the upper right marker is stored as +1, the lower left marker is stored as +3, and the lower right marker is stored as +4, the upper left marker M is obtained for the first block.
Just store 1 and the upper right marker is M
2, lower left marker is M4 +3, lower right marker is +4
It can be seen that the marker M5 is
4, M5 need not be stored in the memory.

【0181】このように、ブロック20を構成するマー
カの少なくとも一つと他のマーカとの関係が判っていれ
ば、この少なくとも一つのマーカをメモリに記憶するだ
けで良く、メモリ容量を節約できる。
As described above, if the relationship between at least one of the markers constituting the block 20 and another marker is known, it is only necessary to store the at least one marker in the memory, and the memory capacity can be saved.

【0182】また、マーカ組選択部94は、図25の
(A)に示すように、フレーム60内に入ったブロック
20を全て処理対象ブロック82とできるように、ブロ
ック20を構成する全てのマーカ組を選択するものとし
ても良い。ただしこの場合は、ベースマーカ対選択部9
2を構成する必要はない。
Further, as shown in FIG. 25A, the marker set selecting section 94 outputs all the markers constituting the block 20 so that all the blocks 20 included in the frame 60 can be processed. A set may be selected. However, in this case, the base marker pair selection unit 9
There is no need to configure 2.

【0183】ダブルハイトの場合には、前述したように
全く同一のコードが2段印刷されており、フレーム画像
としては、元のコードが横2ブロックからなるとき横4
ブロック存在し、ブロックの大きさとフレーム60の大
きさの関係から通常は1フレームに横3ブロックが撮像
される。そこで、このように、フレーム内のブロック2
0を構成する全てのマーカ組を選択すると、同一内容の
ブロックが重複して読み取られ、両方とも同じように読
み取れたものを正しいデータとすることにより、データ
の信頼性を高めることができる。
In the case of double height, exactly the same code is printed in two rows as described above. As a frame image, when the original code is composed of two horizontal blocks, the horizontal four
Generally, three horizontal blocks are imaged in one frame from the relationship between the block size and the size of the frame 60. Therefore, as shown in FIG.
When all the marker sets constituting 0 are selected, blocks having the same content are read in duplicate, and the data read in the same manner in both cases is regarded as correct data, thereby improving the data reliability.

【0184】つまり、重複して選択されるブロックも全
て処理対象とすることで、信頼性を高めることができ
る。
That is, the reliability can be improved by treating all the blocks selected redundantly as processing targets.

【0185】また、マーカ組選択部94では、図25の
(B)に示すように、フレーム内のスキャン方向側のブ
ロックから処理対象ブロック82とできるように、スキ
ャン方向側のブロックを構成するマーカ組から順次選択
し、前フレームで処理済みのブロックが出現した場合、
そこで処理を中止して、次フレームへ処理を移行するよ
うにしても良い。
Further, as shown in FIG. 25B, the marker set selecting section 94 sets the marker constituting the block in the scan direction so that the block in the scan direction can be changed to the processing target block 82 in the frame. Select from the set in order, and if a processed block appears in the previous frame,
Therefore, the processing may be stopped and the processing may be shifted to the next frame.

【0186】例えば、前述したようなベースマーカ対選
択部92においてスキャン方向側のマーカ候補から基準
マーカを選択した場合、図26の(A)に示すように、
ベースマーカ対としてマーカM8,M10,M11が選
択されるが、下側のブロックから読み取るようにするた
めに、ここからまず1回下方に外挿して、マーカを見つ
ける処理を行う。これにより、マーカM12とM14が
マーカとして検出され、これらは1つのブロックを構成
するマーカ組であると見なされるので、このM8,M1
0,M14,M12のブロックを選択する。次に、今度
は逆に上方のブロックを選択して処理していく。そし
て、ブロックアドレスにより既に処理したブロックであ
るか否かがわかるので、既に処理したブロックが見つか
った時点で、このフレームについての処理を中止するこ
とにより、既に処理したブロックを再度処理するという
無駄を省くことができる。
For example, when the reference marker is selected from the marker candidates in the scanning direction in the base marker pair selection unit 92 as described above, as shown in FIG.
Markers M8, M10, and M11 are selected as a base marker pair, but in order to read from the lower block, a process of first extrapolating downward once to find a marker is performed. As a result, the markers M12 and M14 are detected as markers, and these are regarded as a set of markers constituting one block.
Blocks 0, M14 and M12 are selected. Next, on the contrary, the upper block is selected and processed. Then, since it is known from the block address whether or not the block has already been processed, when the already processed block is found, the processing for this frame is stopped, so that the already processed block is not processed again. Can be omitted.

【0187】このように、フレームのスキャン方向側の
ブロックを構成するマーカ組から順次選択することによ
り、処理済みのブロックは処理対象としないことができ
るので、重複した処理を省くことができる。
As described above, by sequentially selecting from the marker set constituting the block on the scanning direction side of the frame, the processed block can be excluded from the processing target, so that the redundant processing can be omitted.

【0188】また、撮像部46に光学的ディストーショ
ン等があった場合に、フレーム60の中央部よりは外側
の方がディストーションが大きくかかってくるので、マ
ーカ組選択手段94では、フレーム60の側端部のブロ
ックを構成するマーカ組から順次選択するようにし、ま
ず外側寄りのブロックのデータを読み、次に中央寄りの
ブロックのデータが読めれば、そのデータで上書きして
いくものとすれば、データの信頼性をより高くすること
ができる。
If the image pickup section 46 has an optical distortion or the like, the distortion is larger on the outer side than on the center of the frame 60. If the data of the block closer to the center is read first, then if the data of the block closer to the center can be read, the data is overwritten with that data. Can be made more reliable.

【0189】例えば、コードがダブルハイトで記録され
ている場合、図26の(B)に丸数字で示すように、1
〜9の順番に処理対象ブロック82のデータを読んでい
く。ここで、1のブロックと2のブロックとは同じデー
タが記録されているが、1のブロックはフレーム60の
端に寄っているので、光学的ディストーションによっ
て、読み取りエラーが発生する確率が高い。そこで、そ
の後に、2のブロックのデータをもう1回読み取って上
書きすれば、より正確なデータが得られる。また、例え
ば、この2のブロックがノイズ等によって読み取れなか
ったとしても、このブロックのデータは、先に1のブロ
ックから読み取っているので、多少エラーが多いかもし
れないが、このブロックのデータが全く読み取られない
ということを防ぐことができる。
For example, when a code is recorded in double height, as shown by a circle in FIG.
The data of the processing target block 82 is read in the order of .about.9. Here, the same data is recorded in the first block and the second block, but since the one block is located near the end of the frame 60, there is a high probability that a reading error will occur due to optical distortion. Then, if the data of the second block is read once again and overwritten, more accurate data can be obtained. Also, for example, even if the two blocks cannot be read due to noise or the like, the data of this block may have some errors since the data of the block is read from the first block first. It can be prevented from being read.

【0190】即ち、フレーム外側に近いブロックほどデ
ィストーションの影響を大きく受けてエラーが増えるた
め、このように、フレーム内のスキャン方向と直交する
方向側の端部に近いブロックを構成するマーカ組から順
次選択することにより、外側から順次ブロック内のデー
タを読み取って上書きしていけば、余計なメモリを必要
とせずに信頼性の高いデータを得ることができる。
In other words, the closer the block is to the outside of the frame, the greater the effect of distortion and the more errors occur. Thus, in this manner, the marker set constituting the block near the end of the frame in the direction orthogonal to the scan direction is sequentially set. By making selection, if data in a block is sequentially read from the outside and overwritten, highly reliable data can be obtained without requiring an extra memory.

【0191】あるいは、マーカ組選択部94は、選択さ
れたブロックの読み取りに失敗した場合、同一のアドレ
スを有するブロックを再選択するものとしても良い。
Alternatively, when the reading of the selected block fails, the marker set selecting section 94 may reselect a block having the same address.

【0192】例えば、図27の(A)に示すように、ダ
ブルハイトのコードにおいてベースマーカ対として真ん
中の3つのマーカ(図示せず)を選択して処理対象ブロ
ック82を順番に読んでいった場合に、アドレスA17
のブロックが読み取り失敗ブロック116となったなら
ば、これと同じデータ(同じアドレス)を持つブロック
を再選択ブロック118として選択するようにマーカ組
を選択し直す。
For example, as shown in FIG. 27A, in the double-height code, the middle three markers (not shown) are selected as a base marker pair, and the processing target block 82 is read in order. In the case, the address A17
Becomes a read failure block 116, the marker set is selected again so that a block having the same data (the same address) as this is selected as the reselection block 118.

【0193】なお、読み取りエラーが発生して、読み取
り失敗ブロック116となるのは、例えば、ノイズ等に
よってアドレスドット18が読めなかった場合や、マー
カが見つからなかった場合などである。
A read error occurs and the read failure block 116 occurs, for example, when the address dot 18 cannot be read due to noise or when a marker cannot be found.

【0194】このように、あるブロックの読み取りに失
敗した場合には、同一のアドレスを持つ別のブロックを
構成するマーカ組を選択し直すことにより、ブロック落
ちによる読み取りエラーを減少させることができる。
As described above, when the reading of a certain block has failed, by reselecting the marker set constituting another block having the same address, it is possible to reduce the reading error due to the drop of the block.

【0195】次に、データコード10の読み取り基準点
の推定法について説明する。
Next, a method of estimating the reading reference point of the data code 10 will be described.

【0196】図27の(B)に示すように、マーカ16
とパターンドット14とはコードライン120上に一直
線に配置されている。つまり、データコード10の読み
取り基準点としてのマーカ16の真中心と、パターンド
ット14の各ドット中心とがコードライン120上に配
列されている。従って、この所定のフォーマットで記録
されたパターンドット14を用いることで、読み取った
マーカの概中心が正しい真中心かどうかが直ちに判断で
きる。
As shown in FIG. 27B, the marker 16
And the pattern dots 14 are arranged on the code line 120 in a straight line. That is, the true center of the marker 16 as a reading reference point of the data code 10 and the center of each dot of the pattern dot 14 are arranged on the code line 120. Therefore, by using the pattern dots 14 recorded in the predetermined format, it can be immediately determined whether or not the approximate center of the read marker is the correct true center.

【0197】また、複数のパターンドット14を用いる
ことで、求める読み取り基準点の精度を高めることがで
きる。即ち、パターンドット14はフォーマットが決ま
っているため、このパターンドット14を検出したとき
に、本当にドットがあるべき位置にあったドットなの
か、あるいはノイズなのかということを区別することが
できる。よって、このあるべき位置にあるパターンドッ
ト14のドットの中心を、全て求めることができ、これ
ら複数のドットの中心位置を使用して、マーカ16の真
の中心を求めることが可能になるので、読み取り基準点
の位置の精度を上げることができる。
Further, by using a plurality of pattern dots 14, the accuracy of the read reference point to be obtained can be improved. That is, since the format of the pattern dot 14 is determined, when the pattern dot 14 is detected, it can be discriminated whether the dot is really at a position where the dot should be or is a noise. Therefore, the center of all the dots of the pattern dot 14 at the desired position can be obtained, and the true center of the marker 16 can be obtained using the center positions of the plurality of dots. The accuracy of the position of the reading reference point can be improved.

【0198】例えば、図27の(C)に示すように、パ
ターンドット14の各ドットの2値化処理後のパターン
形状が得られたとすると、マーカ16の概中心間を結ん
だ読取ライン122上をフォーマット情報に従ったドッ
ト読取位置124でドットを検出する。そして、検出さ
れたドットの中心位置126を算出し、これらの座標か
ら一次回帰により、データコード10の読み取り基準点
となるマーカ真中心を算出することができる。
For example, as shown in FIG. 27C, assuming that the pattern shape of each dot of the pattern dot 14 after the binarization processing is obtained, the read line 122 connecting the approximate centers of the markers 16 is obtained. Is detected at the dot reading position 124 according to the format information. Then, the center position 126 of the detected dot is calculated, and the true center of the marker serving as the reference point for reading the data code 10 can be calculated from these coordinates by linear regression.

【0199】1ドット毎の中心位置検出精度は、誤差に
してコンマ数画素程度であるが、パターンドット14を
1つのマーカ16に対して複数個用意することによっ
て、精度を上げることができる。
The accuracy of detecting the center position for each dot is approximately several pixels of an error, but the accuracy can be improved by preparing a plurality of pattern dots 14 for one marker 16.

【0200】このように、所定のフォーマットで記録さ
れたパターンドット14を用いてデータ読み取り基準点
を推定する場合、所定のフォーマットと比較することに
より、読み取った情報が正しいのかどうかが直ちに判定
できる。また、少なくとも一つ以上のパターンドット1
4を用いることにより、基準点推定精度を高めることが
できる。
As described above, when the data reading reference point is estimated by using the pattern dots 14 recorded in a predetermined format, it can be immediately determined whether or not the read information is correct by comparing with the predetermined format. Also, at least one or more pattern dots 1
4, the reference point estimation accuracy can be improved.

【0201】なお、このようにパターンドット14を用
いてデータ読み取り基準点つまりマーカ16の真中心を
推定する場合、マーカ概中心から所定の位置関係を有す
るパターンドット14のみを利用して正確なデータ読み
取り基準点を推定する。
When the data reading reference point, that is, the true center of the marker 16 is estimated using the pattern dots 14 as described above, accurate data is obtained by using only the pattern dots 14 having a predetermined positional relationship from the approximate center of the marker. Estimate the reading reference point.

【0202】上記所定の位置関係を有するパターンドッ
ト14とは、例えば、図28の(A)に示すような隣接
マーカ間のパターンドット14である。このマーカ真中
心の推定は、歪みに対応するため、1ブロックずつ行
う。例えば、マーカM8とM10のそれぞれの真中心を
求める際には、それらの間のパターンドット14を用
い、マーカM10とM11のそれぞれの真中心を求める
際には、それらの間のパターンドット14を用いる。こ
の場合、中心のマーカM10の真中心については、両側
のパターンドット14からそれぞれ求まるので、図28
の(B)に示すように、左右ブロックの平均を用いる。
The pattern dots 14 having the predetermined positional relationship are, for example, pattern dots 14 between adjacent markers as shown in FIG. The estimation of the true center of the marker is performed one block at a time to deal with distortion. For example, when finding the true centers of the markers M8 and M10, the pattern dots 14 between them are used. When finding the true centers of the markers M10 and M11, the pattern dots 14 between them are used. Used. In this case, the true center of the center marker M10 is obtained from the pattern dots 14 on both sides, respectively.
(B), the average of the left and right blocks is used.

【0203】あるいは、上記所定の位置関係を有するパ
ターンドット14としては、図28の(C)に示すよう
に、ブロック外のパターンドット14を含む所定の範囲
内にあるパターンドット14としても良い。この例で
は、M8,M10,M11の真中心をそれぞれL,M,
Rの範囲のパターンドットを用いて求めている。
Alternatively, as shown in FIG. 28C, the pattern dots 14 having the predetermined positional relationship may be pattern dots 14 within a predetermined range including the pattern dots 14 outside the block. In this example, the true centers of M8, M10, and M11 are L, M,
It is determined using pattern dots in the range of R.

【0204】この場合、例えば、求めたい1つのデータ
読み取り基準点つまりマーカ16の真中心に対して、光
学歪みがない場合には、できるだけパターンドット14
のドット数を多く用いて求めた方が精度が良いので、そ
のように光学歪みのない場合には、図29の(A)に示
すように、広い範囲のパターンドット14を用いてマー
カ16の真中心を求めることが好ましい。
In this case, for example, if there is no optical distortion with respect to one data reading reference point to be obtained, that is, the true center of the marker 16, the pattern dots 14
Since the accuracy is better when the number of dots is calculated using a large number of dots, if there is no such optical distortion, as shown in FIG. It is preferable to find the true center.

【0205】これに対して、光学歪みがある場合には、
マーカ16から離れるにつれて誤差が蓄積されて大きな
誤差を生じるため、広い範囲のパターンドット14を利
用せずに、図29の(B)に示すように、読み取るパタ
ーンドット14の範囲を限定する(マーカ近傍のパター
ンドット14のみを用いる)ことによって、求められた
データ読み取り基準点の信頼性を高くする。
In contrast, when there is optical distortion,
Since errors are accumulated as the distance from the marker 16 increases and a large error occurs, the range of the pattern dots 14 to be read is limited as shown in FIG. By using only the neighboring pattern dots 14), the reliability of the obtained data reading reference point is increased.

【0206】このように、マーカ概中心から所定の位置
関係を有するパターンドット14のみを利用して正確な
データ読み取り基準点を推定することにより、歪みがな
い場合、範囲を広くしてドット数を多くすることにより
推定精度を上げることができる。また、歪みがある場
合、範囲を限定することにより推定精度を上げることが
できる。さらには、範囲をマーカ対間にすることにより
処理が簡単になるという利点がある。
As described above, by estimating an accurate data reading reference point using only the pattern dots 14 having a predetermined positional relationship from the approximate center of the marker, if there is no distortion, the range is widened and the number of dots is reduced. By increasing the number, the estimation accuracy can be increased. When there is distortion, estimation accuracy can be improved by limiting the range. Furthermore, there is an advantage that the processing is simplified by setting the range between the marker pairs.

【0207】また、マーカ間のパターンドット14を利
用する場合、一般に広く用いられているツリー探索の手
法を採用して、データ読み取り基準点を推定することが
できる。つまり、図29の(C)に示すように、マーカ
対の概中心間を結んだ線上でパターンドット14を読み
取るだけでなく、その概中心の8近傍それぞれを結んだ
線上でパターンドット14を読み取る。つまりそれぞれ
の点について9回、読み取りを行う。こうした場合、ず
れた位置ではパターンドット14のドット全てを読み取
ることができず、正しい位置では全て読み取れることに
なるので、同図の(D)に示すように、パターンドット
14を全て読み取れた回数の最も多かった点(図中○で
示す)をデータ読み取り基準点とする。または、上述し
たように求めた基準点の近傍のさらにせまい範囲で8点
を用いて同様に読み取りを行って求めた、より精度の高
い読み取り基準点を用いても良い。
When the pattern dots 14 between the markers are used, a data reading reference point can be estimated by employing a widely used tree search technique. That is, as shown in FIG. 29C, not only the pattern dots 14 are read on a line connecting the approximate centers of the marker pairs, but also the pattern dots 14 are read on a line connecting each of the eight approximate centers. . That is, reading is performed nine times for each point. In such a case, not all the dots of the pattern dot 14 can be read at the shifted position, and all of the dots can be read at the correct position. Therefore, as shown in FIG. The most frequent point (indicated by a circle in the figure) is defined as a data reading reference point. Alternatively, a more accurate reading reference point obtained by similarly performing reading using eight points in a narrower range near the reference point obtained as described above may be used.

【0208】このように、ツリー探索の手法を採用する
と、複雑な計算を必要とせずに、データ読み取り基準点
を決定することができる。
As described above, when the tree search method is employed, the data reading reference point can be determined without requiring complicated calculations.

【0209】さらにこの場合、総当たり的なツリー探索
を行う代わりに、マーカ対の概中心間で一度パターンド
ット14を読み取り、その結果に従って限定的にツリー
探索を行うことも可能である。
Further, in this case, instead of performing a brute force tree search, the pattern dots 14 may be read once between the approximate centers of the marker pairs, and the tree search may be limitedly performed according to the result.

【0210】例えば、図30の(A)に示すように、ド
ット1,10をマーカの概中心としたとき、ドット2,
3,4,5が読み取れ、ドット6,7,8,9が読み取
れなかった場合には、つまり、左寄りのドットだけが正
しく読み取れている場合には、左側の概中心(ドット
1)はほぼ正しい位置であり、右側の概中心(ドット1
0)がずれていると判断することができる。従って、左
側の概中心はそのまま、右側の概中心だけを8近傍に振
ってツリー探索を行えば良い。
For example, as shown in FIG. 30A, when dots 1 and 10 are set at the approximate center of the marker, dots 2 and
When 3, 4, and 5 are read and dots 6, 7, 8, and 9 are not read, that is, when only the dots on the left are correctly read, the approximate center (dot 1) on the left is almost correct. Position and the approximate center on the right (dot 1
0) can be determined to be shifted. Therefore, the tree search may be performed while leaving the approximate center on the left side as it is, and moving only the approximate center on the right side to around eight.

【0211】また、パターンドット14を、図30の
(B)に示すように、右にずらしたドット2,6と、通
常の位置のドット3,5,7と、左にずらしたドット
4,8で構成し、これを読み取ったときに、左にずらし
たドット4,8のみが読み取れなかった場合には、概中
心の位置が右に寄っていたことが判る。つまり、左にず
れたドット4,8が読み取りエラーが起きたということ
は、全体的に右に寄っていたということであるので、こ
のような場合には、ドット1,9の概中心をずらしたツ
リー探索を続けるときに、それらの左側にずらした点を
重点的に探索すれば良い。
Further, as shown in FIG. 30B, the pattern dots 14 are shifted to the right by the dots 2, 6, the dots 3, 5, 7 at the normal position, and the dots 4, 4 shifted to the left. In the case where only the dots 4 and 8 shifted to the left cannot be read when this is read, it is understood that the approximate center position is shifted to the right. That is, the fact that the reading error has occurred in the dots 4 and 8 shifted to the left means that the dots 4 and 8 are generally shifted to the right. In such a case, the approximate centers of the dots 1 and 9 are shifted. When the tree search is continued, the points shifted to the left thereof may be mainly searched.

【0212】同様に、図7の(B)に示したような、上
下方向にもずらしたドットをドットパターン14に入れ
ておくことで、上下方向のずれも検出できるので、それ
に応じてツリー探索を限定的に行うことが可能になる。
Similarly, by inserting dots vertically displaced into the dot pattern 14 as shown in FIG. 7B, the displacement in the vertical direction can be detected, and the tree search is accordingly performed. Can be limitedly performed.

【0213】そして、パターンドット14の全ドットが
ほぼ一様に検出された時に、ほぼ確実なデータ読み取り
基準点が検出されたことになる。
Then, when all the dots of the pattern dots 14 are detected almost uniformly, it means that the data reading reference point has been detected almost surely.

【0214】このように、マーカ対の概中心とフォーマ
ットで決定されるドット読み取り点でパターンドットを
読み取り、読み取りエラーの発生したドットの位置及び
その偏りによって概中心位置のずれ量及び方向を推定
し、マーカ対の概中心を、その推定結果に基づいて近傍
で移動させて、ツリー探索を行うことにより、総当たり
的なツリー探索に比べて、探索回数を少なくできる。
As described above, the pattern dot is read at the dot read point determined by the approximate center of the marker pair and the format, and the amount and direction of the shift of the approximate center position are estimated based on the position of the dot where the read error has occurred and its bias. By performing the tree search by moving the approximate center of the marker pair in the vicinity based on the estimation result, the number of searches can be reduced as compared with the brute force tree search.

【0215】なお、パターンドット14は、必ずしもマ
ーカ対間に直線状に並んでいる必要はなく、マーカ対と
どういう位置関係にあるかがフォーマットとして決定さ
れていれば良いものである。
Note that the pattern dots 14 do not necessarily have to be linearly arranged between the marker pairs, but it is only necessary to determine the positional relationship with the marker pairs as a format.

【0216】例えば、図30の(C)に示すように、図
示しないマーカ間あるいはマーカの回りに、パターンド
ット14が円状に並んでいて、その中心をデータ読み取
り基準点にするという場合、半径rでパターンドット1
4が並ぶフォーマットであれば、マーカ概中心よりそれ
ぞれのドットを検出して、それぞれの中心(図中×で示
す)を求める。そして、半径rの円の中心(x,y)
を、この8個のドット中心と円との距離の2乗和が最小
になるように、xとyを求めて、それをデータ読み取り
基準点とする。これはつまり、イメージ的には、半径r
の円を移動して、その求めたドットの中心がうまくこの
円に嵌まるところを探し、見付かったならば、その円の
中心(x,y)をデータ読み取り基準点とするというこ
とを意味している。さらに簡単には、これらドットの中
心の重心を円の中心、即ちデータ読み取り基準点とする
ようにしても良い。
For example, as shown in FIG. 30C, when the pattern dots 14 are arranged in a circle between or around markers (not shown) and the center thereof is used as a data reading reference point, r for pattern dot 1
In the case of the format in which 4 are arranged, each dot is detected from the approximate center of the marker, and the center (indicated by x in the figure) is obtained. And the center (x, y) of the circle of radius r
Is determined so that the sum of squares of the distance between the center of the eight dots and the circle is minimized, and is used as a data reading reference point. This means that in image terms, the radius r
Is moved to find a place where the calculated center of the dot fits into this circle, and if found, the center (x, y) of the circle is used as the data reading reference point. ing. More simply, the center of gravity of these dots may be set as the center of a circle, that is, a data reading reference point.

【0217】このように、マーカ対のマーカ概中心とフ
ォーマットで決定されるドット読み取り点でパターンド
ットを検出し、その検出されたパターンドットの中心を
算出して、この算出されたドット中心とフォーマットの
関係で定められる所定の誤差関数を最小化するように読
み取り基準点を推定するようにしているので、複数のパ
ターンドットの中心を利用してデータ読み取り基準点が
推定され、精度が非常に高くなる。
As described above, the pattern dot is detected at the dot read point determined by the approximate center of the marker pair and the format, and the center of the detected pattern dot is calculated. Since the reading reference point is estimated so as to minimize the predetermined error function defined by the relationship, the data reading reference point is estimated using the centers of the plurality of pattern dots, and the accuracy is extremely high. Become.

【0218】以上のように、マーカ中心検出部56で
は、図18に示すように、パターンドット検出部126
にて、マーカ組選択部94で選択されたマーカ組の各マ
ーカ間に配置されているパターンドット14を各マーカ
の概中心とフォーマットで決定されるドット読み取り点
で検出し、ドット中心算出部128によって各検出され
たドットの中心を算出する。そして、誤差最小化部13
0によって、この算出されたドット中心とフォーマット
の関係で定められる所定の誤差関数を最小化するよう
に、データコード10の各データドットの読み取り基準
点を推定し、データ読み取り部42に出力する。
As described above, in the marker center detecting section 56, as shown in FIG.
, The pattern dots 14 arranged between the markers of the marker set selected by the marker set selecting unit 94 are detected at the approximate center of each marker and at the dot reading point determined by the format, and the dot center calculating unit 128 To calculate the center of each detected dot. Then, the error minimizing unit 13
Based on 0, a reading reference point of each data dot of the data code 10 is estimated so as to minimize a predetermined error function defined by the relationship between the calculated dot center and the format, and outputs it to the data reading unit 42.

【0219】次に、上記パターンドット検出部126に
ついて詳細に説明する。
Next, the pattern dot detecting section 126 will be described in detail.

【0220】ドット検出部126は、マーカ対の概中心
とフォーマットで決定されるドット読み取り点で黒ドッ
トを検出する黒ドット検出部132を有している。この
黒ドット検出部132は、図31の(A)に示すよう
に、黒ドットが検出されるはずのドット読み取り点13
4で黒ドットが検出されなかった場合には、その近傍の
4画素について、図中に1〜4で示す順番に黒画素を探
索して、黒画素が有ればそれをドットとするように探索
する。つまり、パターンドット14を形成する各ドット
は、マーカ概中心から所定の位置関係を満たすドット読
み取り点の画素値として検出される。そこで、黒ドット
が検出されるべきドット読み取り点において黒ドットが
検出されない場合、ドット読み取り点がずれていたもの
とみなして、上下左右1画素ずつずらしながらドットを
探索する。
The dot detecting section 126 has a black dot detecting section 132 for detecting a black dot at a dot read point determined by the approximate center of the marker pair and the format. As shown in FIG. 31 (A), the black dot detection unit 132 detects the dot reading point 13 where a black dot should be detected.
If a black dot is not detected in step 4, a black pixel is searched for four neighboring pixels in the order indicated by 1 to 4 in FIG. Explore. That is, each dot forming the pattern dot 14 is detected as a pixel value of a dot reading point satisfying the predetermined positional relationship from the approximate center of the marker. Therefore, when a black dot is not detected at a dot reading point at which a black dot is to be detected, it is considered that the dot reading point has shifted, and the dot is searched for while shifting one pixel at a time up, down, left and right.

【0221】このように、マーカ概中心がノイズ等によ
ってずれて算出されていたり、歪みや傾きによって概中
心間を所定の比で分割したドット読み取り点134がず
れて算出されていたとしても、その近傍で黒ドットを探
索することにより、確実にパターンドット14を検出で
きるため、検出ドットの減少による精度の低下がない。
As described above, even if the approximate center of the marker is calculated by shifting due to noise or the like, or the dot reading point 134 obtained by dividing the approximate center by a predetermined ratio due to distortion or inclination is calculated by shifting, By searching for black dots in the vicinity, the pattern dots 14 can be reliably detected, so that there is no decrease in accuracy due to a decrease in the number of detected dots.

【0222】また、このようにしてドット読み取り点1
34の近傍画素でドットが検出された場合には、そのず
らし量を記憶しておき、それを次のドット読み取り点1
34からオフセットとして加えることが好ましい。
Further, the dot reading point 1
If a dot is detected in the vicinity pixel of 34, the shift amount is stored, and is stored in the next dot reading point 1
Preferably, it is added as an offset from 34.

【0223】即ち、例えば図31の(B)において、同
図中左側の黒丸で示すドットを計算により求めたドット
読み取り点134とした場合に、そこには黒画素がない
ので、探索をする。そして、左側に1画素ずれたところ
でドットが検出された場合には、左側に1画素ずれた位
置をオフセットとして記憶する。そして、次のドット読
み取り点134が、当初の計算では図中白丸で示す点で
あったとしても、その点から左に1画素ずれた点をドッ
ト読み取り点134として読み取りを行う。
That is, for example, in FIG. 31B, if the dot indicated by the black circle on the left side in FIG. 31 is the dot reading point 134 obtained by calculation, there is no black pixel there, so a search is performed. When a dot is detected at a position shifted by one pixel to the left, a position shifted by one pixel to the left is stored as an offset. Then, even if the next dot reading point 134 is a point indicated by a white circle in the figure in the initial calculation, a point shifted by one pixel to the left from that point is read as the dot reading point 134.

【0224】つまり、あるドットがずれて検出された時
は、その近傍のドットもずれて検出される可能性が非常
に高いので、計算上のドット読み取り点134をまた同
じように探索するよりも、最初からオフセットを加えた
点を読み取りにいく方が、処理が少なくて済む。
In other words, when a certain dot is detected with a shift, it is very likely that a dot in the vicinity is also detected with a shift. If the point to which the offset is added from the beginning is read, the processing is reduced.

【0225】このように、パターンドット14のあるド
ットがずれた位置で検出された場合、その近くのドット
も同じようにずれている場合が多く、そこで、計算上求
められたドット読み取り点134からずれた位置でドッ
トが検出された場合、そのずれをオフセットとして次の
ドット読み取り点134を予めシフトしておくことによ
り、探索効率を高めることができる。また、歪みによっ
てドット検出点がずれていた場合、歪み量に応じてドッ
ト読み取り点134をシフトしていかないと、ずれが累
積して、やがてドットの検出が不可能となるが、読み取
り点をシフトしていくことにより、これを防ぐこともで
きる。
As described above, when a certain dot of the pattern dot 14 is detected at a shifted position, the dots near the same are often shifted in the same manner. When a dot is detected at a shifted position, the search efficiency can be increased by shifting the next dot reading point 134 in advance using the shift as an offset. Also, if the dot detection point is shifted due to the distortion, unless the dot reading point 134 is shifted in accordance with the amount of distortion, the deviation will accumulate and eventually the dot detection becomes impossible. By doing so, this can be prevented.

【0226】また、図18に示すように、マーカ中心検
出部56は、さらに、誤差最小化部130で求めたデー
タ読み取り基準点に基づいてマーカ概中心を算出し直す
マーカ概中心再算出部136を有しても良い。
As shown in FIG. 18, the marker center detecting section 56 further calculates a marker center center based on the data reading reference point obtained by the error minimizing section 130 to recalculate the marker center. May be provided.

【0227】即ち、パターンドット14を形成する各ド
ットは、マーカ概中心から所定の位置関係を満たすドッ
ト読み取り点134の画素値として検出される。そこ
で、ドットが数個しか検出されない場合、マーカ概中心
がずれていたものとみなして、読み取ることができたド
ットのみを利用してマーカ概中心位置を再計算する。こ
うして求められたマーカ概中心から、再度所定の位置関
係を満たすドット読み取り点134の画素値を読み取る
ことによりドットを検出する。
That is, each dot forming the pattern dot 14 is detected as a pixel value of the dot reading point 134 satisfying a predetermined positional relationship from the approximate center of the marker. Therefore, when only a few dots are detected, it is assumed that the approximate center of the marker has shifted, and the approximate center position of the marker is recalculated using only the dots that can be read. The dot is detected by reading the pixel value of the dot reading point 134 satisfying the predetermined positional relationship again from the approximate center of the marker thus obtained.

【0228】例えば、図31の(C)の上側に×印で示
すようにマーカ概中心が検出されて、パターンドット1
4の1回目の読み取りを行う。その時に、右側のマーカ
概中心位置がずれて検出されていた場合には、左側のマ
ーカ概中心に近い方のドットは読み取ることはできる
が、右側のマーカ概中心に近い方のドットは欠落してし
まう。このように読み取れたドットの中心位置をドット
中心算出部128により算出し、誤差最小化部130に
てデータ読み取り基準点を推定すると、その推定された
データ読み取り基準点は、検出されたドットが少なかっ
たために、誤差が多いものとなっている。そこで、マー
カ概中心再算出部136は、このデータ読み取り基準点
を新しいマーカ概中心として、パターンドット検出部1
26に再度パターンドット14の検出を行わせる。これ
により、同図の下側に示すように、パターンドット14
の全てが検出されるようになり、高精度にデータ読み取
り基準点を推定できるようになる。
For example, the approximate center of the marker is detected as indicated by a cross on the upper side of FIG.
The first reading of No. 4 is performed. At this time, if the right center marker is misaligned and detected, the dots closer to the left marker approximate center can be read, but the dots closer to the right marker approximate center are missing. Would. When the center position of the dot read in this way is calculated by the dot center calculation unit 128 and the error minimizing unit 130 estimates the data reading reference point, the estimated data reading reference point has few detected dots. Therefore, there are many errors. Therefore, the marker approximate center recalculation unit 136 sets the data reading reference point as a new marker approximate center, and sets
26 causes the pattern dots 14 to be detected again. As a result, as shown in the lower part of FIG.
Are detected, and the data reading reference point can be estimated with high accuracy.

【0229】このように、1回目の読み取りで検出され
た数個のパターンドットから概中心を再算出することに
より、概中心の精度が上がり、再検出されるドットの数
を増やすことができる。
As described above, by re-calculating the approximate center from several pattern dots detected in the first reading, the accuracy of the approximate center is improved, and the number of re-detected dots can be increased.

【0230】また、黒ドット検出部132では黒ドット
を検出するだけなので、汚れ等により本来白であった点
をも黒ドットと検出してしまう場合もある。そこで、パ
ターンドット14を信号+エラー検出符号により構成
し、検出された黒ドットの信号からエラー検出処理を行
い、本来黒ドットであった点のみドット中心算出を行う
ようにすることも可能である。
Further, since the black dot detecting section 132 only detects black dots, a point which was originally white due to dirt or the like may be detected as a black dot. Therefore, it is also possible to configure the pattern dot 14 by a signal + error detection code, perform error detection processing from the detected black dot signal, and calculate the dot center only at the point that was originally a black dot. .

【0231】即ち、図18に示すように、パターンドッ
ト検出部126では、黒ドット検出部132での検出結
果をバッファ138に入力し、信号の並びとする。つま
り、黒ドットを「1」として、例えば、1,0,0,
1,1,0,0というように並べ直すと、これは信号で
あるのでエラー検出が可能になる。そこで、エラー検出
部140にてエラー検出を行い、間違って検出された黒
ドットがあれば、それは使わないように、つまりドット
中心算出部128に供給しないように、選択部142に
より、黒ドット検出部132の出力をドット中心算出部
128に選択的に供給させる。
That is, as shown in FIG. 18, in the pattern dot detecting section 126, the detection result of the black dot detecting section 132 is input to the buffer 138, and is arranged as a signal. That is, assuming that a black dot is “1”, for example, 1, 0, 0,
If rearranged as 1, 1, 0, 0, this is a signal, so that error detection becomes possible. Therefore, the error detection unit 140 performs an error detection, and if there is a black dot that is erroneously detected, the selection unit 142 uses the black dot detection so that it is not used, that is, is not supplied to the dot center calculation unit 128. The output of the unit 132 is selectively supplied to the dot center calculation unit 128.

【0232】このように、ドットを検出した後、それら
検出したドットの中からエラー検出により正しいドット
のみを選択することにより、パターンドット14に情報
を持たせた場合にもドットが正しく検出された位置がわ
かるため、ノイズによるデータ読み取り基準点精度の低
下を防ぐことができる。
As described above, after the dots are detected, by selecting only correct dots from the detected dots by error detection, the dots are correctly detected even when the pattern dots 14 have information. Since the position is known, it is possible to prevent a decrease in data reading reference point accuracy due to noise.

【0233】次に、ドット中心算出部128について説
明する。
Next, the dot center calculator 128 will be described.

【0234】円形に印刷されたドットをCCDカメラで
粗く撮像し、2値化した場合、得られるパターンはもは
や円形ではないので、簡単にドット中心を算出すること
ができない。
When dots printed in a circle are roughly imaged by a CCD camera and binarized, the obtained pattern is no longer circular, so that the dot center cannot be easily calculated.

【0235】理想的な2値化が行われた場合、図32の
(A)に示すように画素の半分がドットにかかればその
画素はオンとなるため、ある画素がオンとなるためのド
ット中心位置の存在範囲が規定できる。即ち、画素の半
分がドットにかかるときのドット中心の軌跡を臨界線と
したとき、その内側(注目画素側)にドット中心がある
時は画素はオンに、外側にある時は画素はオフになる。
そこで、あるパターンが生じたとき、パターン中のオン
となった画素とその周囲のオフとなった画素についてド
ット中心位置の存在範囲を求めれば、その重複領域とし
てドット中心位置を推定することができる。
In the case where ideal binarization is performed, as shown in FIG. 32A, if half of a pixel touches a dot, the pixel turns on, and a dot for turning on a certain pixel turns on. The existence range of the center position can be defined. That is, when the trajectory of the dot center when half of the pixel touches the dot is defined as a critical line, the pixel is turned on when the dot center is inside (the target pixel side), and turned off when it is outside. Become.
Therefore, when a certain pattern occurs, if the existence range of the dot center position is determined for the turned-on pixel in the pattern and the surrounding off-pixels, the dot center position can be estimated as the overlapping area. .

【0236】例えば、1つのドットを縦2画素、横3画
素程度の大きさで撮像した時に、理想的な2値化が行わ
れた場合、表れる画素パターンは、同図の(B)に丸数
字の1〜7で示すような7種類しかなく、それぞれ図示
するようにドット中心位置の存在する領域が推定でき
る。
For example, when one dot is imaged with a size of about two vertical pixels and three horizontal pixels, when ideal binarization is performed, the pixel pattern that appears is indicated by a circle in FIG. There are only seven types as indicated by numerals 1 to 7, and the area where the dot center position exists can be estimated as shown in each figure.

【0237】ドット中心算出部128は、このようなパ
ターン形状とドット中心存在領域との関係をテーブルと
して保持している。
The dot center calculation section 128 holds the relationship between such a pattern shape and the dot center existence area as a table.

【0238】このように、形状が既知のドットを2値化
したときのパターン形状からその中心位置の存在領域を
求めることができ、そこで、この領域内の点を中心代表
点とすることで、粗いサンプリングでも超解像的にドッ
ト中心を推定することができるようになる。
As described above, the existence area of the center position can be obtained from the pattern shape when the dot whose shape is known is binarized. Therefore, by setting the point in this area as the center representative point, It becomes possible to estimate the dot center in a super-resolution manner even with coarse sampling.

【0239】一方、上記のように1ドットを2画素×3
画素で撮像する場合にはパターンは7通りしかないが、
3画素×3画素や4画素×3画素とより高い解像度で撮
像する場合には、解像度が高くなるにつれて表れるパタ
ーンは指数的に増大していくことになり、上記のように
テーブルを保持するためには、非常に大容量のメモリが
必要になってくる。
On the other hand, as described above, one dot is divided into two pixels × 3
When imaging with pixels, there are only seven patterns,
In the case of imaging with a higher resolution of 3 pixels × 3 pixels or 4 pixels × 3 pixels, the pattern appearing increases exponentially as the resolution increases, and the table is held as described above. Requires a very large amount of memory.

【0240】そこで、ドット中心算出部128は、撮像
されたドットの重心を算出してドット中心とするように
しても良い。このようにすれば、ドット形状と代表点の
関係をテーブルにして保持する必要がないので、メモリ
が不要となる。また、1つのドットを何画素×何画素で
撮像するということが決まっていなくとも良いので、光
学系の倍率が変動したり、ドットの径が変動したりして
も対応できるというスケーラビリティを有するという効
果もある。
Therefore, the dot center calculating section 128 may calculate the center of gravity of the imaged dot and use the calculated center as the dot center. This eliminates the need for a memory because it is not necessary to hold the relationship between the dot shape and the representative point in a table. In addition, since it is not necessary to decide how many pixels × how many pixels to image one dot, it has a scalability that can cope with a change in the magnification of the optical system or a change in the diameter of the dot. There is also an effect.

【0241】また、この重心算出を行う場合、図33の
(A)に示すように、ドット読み取り点134に関して
所定の大きさ、例えば4×4のマスク144をかけて、
その中に入っている画素だけを用いて重心146の算出
を行うようにしても良い。
When the center of gravity is calculated, as shown in FIG. 33A, a predetermined size, for example, a 4 × 4 mask 144 is applied to the dot read point 134, and
The center of gravity 146 may be calculated using only the pixels contained therein.

【0242】ここで、図33の(A)の例を用いて重心
の計算を説明する。
Here, the calculation of the center of gravity will be described with reference to the example of FIG.

【0243】まず、同図ではマスク内に11個の黒画素
が存在しており、これを行方向に見た場合、ドット読み
取り点134の行より1行上に位置する行に黒画素が1
画素あるので、この行の行重み係数「−1」を「1(画
素)」にかけて一時記憶しておく。同様に、ドット読み
取り点134の行より1行下に位置する行には黒画素が
4画素あるので、行重み係数「1」と「4」をかけて、
前述の一時記憶結果に加算する。さらに、2行下の行も
同様に、3画素の黒画素に対して行重み係数「2」をか
けて、結果の「6」を一時記憶結果に加算する。こうし
て得られた加算結果を黒画素数で除算して、「9/1
1」が得られ、これが重心146の読み取り点134か
らのy方向のずれに相当している。
First, in the same figure, there are 11 black pixels in the mask, and when these are viewed in the row direction, one black pixel is located in the row located one row above the row of the dot reading point 134.
Since there are pixels, the row weight coefficient “−1” of this row is multiplied by “1 (pixel)” and temporarily stored. Similarly, since there are four black pixels in the row located one row below the row of the dot reading point 134, the row weighting coefficients “1” and “4” are multiplied.
It is added to the temporary storage result described above. Further, the row below the second row is similarly multiplied by the row weighting factor “2” to the three black pixels, and the result “6” is added to the temporary storage result. The addition result thus obtained is divided by the number of black pixels to obtain “9/1
1 "is obtained, which corresponds to the displacement of the center of gravity 146 from the reading point 134 in the y direction.

【0244】x方向に対しても同じように計算し、
「(−1×3+1×3+2×1)/11=2/11」
が、重心146の読み取り点134からのx方向のずれ
に相当する値である。
The same calculation is performed for the x direction.
"(-1 × 3 + 1 × 3 + 2 × 1) / 11 = 2/11"
Is a value corresponding to the displacement of the center of gravity 146 from the reading point 134 in the x direction.

【0245】このように、適当なサイズのマスク144
によって中心算出に寄与する領域を制限すると、ノイズ
(シミ)による誤差が読み取り基準点の推定に与える影
響を小さくすることができる。
As described above, the mask 144 having an appropriate size is used.
If the region contributing to the center calculation is limited by the above, the influence of the error due to noise (stain) on the estimation of the reading reference point can be reduced.

【0246】なおこの場合、ノイズの影響を少なくする
ために、マスク144の大きさはドットの大きさに近け
れば近いほど好ましいものであるが、マスク144の大
きさをドットの大きさと同じにしてしまうと、ドット読
み取り点134が重心に近い位置で検出されなかった場
合には、偏った位置にマスクがかかり、重心算出に寄与
する画素も偏ることになって、算出される重心の誤差が
非常に大きなものになってしまう。
In this case, in order to reduce the influence of noise, the size of the mask 144 is preferably as close as possible to the size of the dot. However, the size of the mask 144 is preferably the same as the size of the dot. If the dot reading point 134 is not detected at a position close to the center of gravity, a mask is applied to the biased position, and pixels contributing to the calculation of the center of gravity are also biased. Will be bigger.

【0247】そこで、図33の(B)に示すように、ま
ずドット読み取り点134を基準とする位置でマスク1
44をかけて、マスク内でドットの偏りを検出し、図3
3の(C)に示すようにこの偏りをなくす方向にマスク
144を移動してから重心算出を行うようにすれば、マ
スク144のサイズをドットのサイズに合わせたとして
も、正確な重心算出が可能になる。
Therefore, as shown in FIG. 33B, first, the mask 1 is set at a position with the dot reading point 134 as a reference.
44 to detect the bias of the dots in the mask,
As shown in FIG. 3 (C), if the mask 144 is moved in a direction to eliminate the bias before calculating the center of gravity, accurate calculation of the center of gravity can be performed even if the size of the mask 144 is adjusted to the size of the dot. Will be possible.

【0248】ここで、横(縦)方向のマスク144の移
動量は、列(行)中に黒画素が一つでも存在すれば
「○」、存在しなければ「×」として、図33の(D)
に示すようなテーブルを参照して算出する。
Here, the amount of movement of the mask 144 in the horizontal (vertical) direction is “○” if at least one black pixel exists in a column (row), and is “x” if no black pixel exists in FIG. (D)
The calculation is performed with reference to the table shown in FIG.

【0249】以下に、図33の(B)、(C)、及び
(D)を用いて具体的に説明する。
The following is a specific description with reference to FIGS. 33 (B), (C) and (D).

【0250】図33の(B)は、読み取り点134が左
下にずれていた場合の例で、マスク内に9個の黒画素が
入っている。
FIG. 33B shows an example in which the reading point 134 is shifted to the lower left, and nine black pixels are included in the mask.

【0251】まず行方向で調べると、読み取り点134
の行の1行上、1行下、及び2行下のそれぞれに3個、
3個、及び0個の黒画素が検出される。この場合、2行
下の行に黒画素が無いので、マスク位置を1行上へずら
す。
First, in the row direction, the reading point 134
One row above, one row below, and two rows below,
Three and zero black pixels are detected. In this case, since there is no black pixel in the row two rows below, the mask position is shifted up one row.

【0252】同様に、列方向で、読み取り点134の列
の1列左、1列右、及び2列右のそれぞれに0個、3
個、及び3個の黒画素が検出される。このときには、マ
スク144を1列右へずらすようにしている。
Similarly, in the column direction, 0, 3
And three black pixels are detected. At this time, the mask 144 is shifted to the right by one column.

【0253】これらの関係を表にまとめたのが図33の
(D)である。
FIG. 33D summarizes these relationships in a table.

【0254】このように、ドットの検出された位置を基
準としてマスク144をかけてマスク内でドットの偏り
を検出し、偏りをなくす方向にマスク144を移動して
から中心を算出する、つまりマスク位置を2パスで決定
することにより、マスクサイズをドットサイズに合わせ
て小さくすることができ、メモリが少なくて済むと共に
ノイズによる誤差がより小さくなる。
As described above, the mask 144 is applied with the detected position of the dot as a reference, the deviation of the dot is detected in the mask, the mask 144 is moved in a direction to eliminate the deviation, and the center is calculated. By determining the position in two passes, the mask size can be reduced in accordance with the dot size, so that less memory is required and errors due to noise are further reduced.

【0255】また、上記のように形状が既知のドットを
2値化したときのパターン形状からその中心位置の存在
領域を求める場合、中心存在領域の広さはパターンによ
って大きく異なってくる。そこで、図32の(C)に示
すように、中心代表点を中心存在領域の広さに応じて重
み付けし、その確からしさをマーカ真中心検出に反映さ
せるようにしても良い。
In the case where the existence area at the center position is obtained from the pattern shape obtained by binarizing a dot having a known shape as described above, the size of the center existence area greatly differs depending on the pattern. Therefore, as shown in FIG. 32C, the center representative point may be weighted according to the size of the center existing region, and the certainty may be reflected in the marker true center detection.

【0256】例えば、図32の(B)に丸数字3で示す
ようなパターンの場合には、ドット中心存在領域は非常
に小さな領域であり、よって非常に信頼性が高いが、同
図に丸数字4で示すパターンの場合には、この領域が非
常に大きいので信頼性は非常に低くなる。そこで、この
中心存在領域の面積に対応して、それぞれ重みを付け
る。例えば、丸数字4で示すパターンの場合の中心代表
点の重みを「1」としたならば、1のパターンでは
「2.5」、2のパターンでは「1.5」、3のパター
ンでは「5.0」、5のパターンでは「1.3」、6の
パターンでは「1.3」、7のパターンでは「1.5」
と重み付けをする。このように中心代表点を重み付けす
ることで、求められるデータ読み取り基準点の信頼性を
このドットの形状に対応した信頼性を持って計算するこ
とができるようになる。
For example, in the case of the pattern indicated by the circled number 3 in FIG. 32B, the dot center existing area is a very small area, and thus has very high reliability. In the case of the pattern indicated by the numeral 4, the reliability is extremely low because this area is very large. Therefore, a weight is assigned to each area corresponding to the area of the center existence area. For example, if the weight of the center representative point in the case of the pattern indicated by the circle number 4 is “1”, “1” is “2.5”, “2” is “1.5”, and “3” is “3”. 5.0, "1.3" for the 5 pattern, "1.3" for the 6 pattern, and "1.5" for the 7 pattern.
And weight. By weighting the central representative point in this way, the reliability of the required data reading reference point can be calculated with reliability corresponding to the shape of this dot.

【0257】このように、検出されたドットのパターン
形状によって異なるその中心代表点の信頼性を重みにし
てデータ読み取り基準点を推定することにより、推定精
度を高めることができる。
As described above, the estimation accuracy can be improved by estimating the data reading reference point by weighting the reliability of the central representative point which differs depending on the detected dot pattern shape.

【0258】また、誤差最小化部130は、図34の
(A)に示すように、上記のようにしてマーカ概中心に
基づいてドット中心検出部128により実際に算出され
たドットの中心点(重心代表点位置150)と、推定さ
れるデータ読み取り基準点(この場合、マーカ真中心1
52)と、フォーマットに基づいて定められるドットの
推定中心点との誤差が最小になるように、データ読み取
り基準点を決定するものであり、この場合に、最小自乗
法を使うことで、非常に高精度にデータ読み取り基準点
を算出することができる。
Further, as shown in FIG. 34A, the error minimizing unit 130 calculates the center point of the dot actually calculated by the dot center detecting unit 128 based on the approximate center of the marker as described above. The center of gravity representative point position 150) and the estimated data reading reference point (in this case, the marker true center 1)
52) and the data reading reference point is determined so that the error between the estimated center point of the dot determined based on the format is minimized. In this case, using the least square method, The data reading reference point can be calculated with high accuracy.

【0259】ここで、この最小自乗法を使ったデータ読
み取り基準点(この場合、マーカ真中心)の算出法につ
き簡単に説明する。
Here, a method of calculating the data reading reference point (in this case, the true center of the marker) using the least square method will be briefly described.

【0260】今、図34の(B)に示すように、M1 ’
を左側推定マーカ真中心、M2 ’を右側推定マーカ真中
心、Di をパターンドット14のi番目のドット中心、
diをパターンドット14のi番目のドットのマーカ間
分割比とする。
Now, as shown in FIG. 34B, M1 ′
Is the true center of the left estimated marker, M2 'is the true center of the right estimated marker, Di is the i-th dot center of the pattern dot 14,
Let di be the inter-marker division ratio of the i-th dot of the pattern dot 14.

【0261】推定マーカ真中心M1 ’,M2 ’から求め
たドット中心Di ’は、
The dot center Di ′ obtained from the estimated marker true centers M1 ′ and M2 ′ is

【数2】 (Equation 2)

【0262】ドットパターン中心Di との推定誤差εi
を用いて、誤差の2乗和Eは、
Estimated error εi from dot pattern center Di
And the sum of squares E of the error is

【数3】 と表される。(Equation 3) It is expressed as

【0263】そこで、このEを最小化するM1 ’,M2
’を求める。
Therefore, M1 ′, M2 that minimizes E
Ask for '.

【0264】[0264]

【数4】 (Equation 4)

【0265】ここで、Here,

【数5】 とおくと、 (1)より Ax1 ’+Bx2 ’=P …(3) (2)より Bx1 ’+Cx2 ’=Q …(4) (3)×C−(4)×Bより(Equation 5) In other words, from (1) Ax1 ′ + Bx2 ′ = P (3) From (2) Bx1 ′ + Cx2 ′ = Q (4) (3) × C− (4) × B

【数6】 (4)×A−(3)×Bより(Equation 6) From (4) × A- (3) × B

【数7】 (Equation 7)

【0266】同様にしてIn the same way

【数8】 とおくと、(Equation 8) After all,

【0267】[0267]

【数9】 となり、推定マーカ真中心M1 ’及びM2 ’の位置座標
(x1 ’,y1 ’)及び(x2 ’,y2 ’)が算出され
る。
(Equation 9) The position coordinates (x1 ', y1') and (x2 ', y2') of the estimated marker true centers M1 'and M2' are calculated.

【0268】このように、算出された各パターンドット
の中心位置の不確定性が、ずれ量の自乗の総和を最小自
乗法によって最小化することにより相殺され、データ読
み取り基準点の推定精度を高めることができる。
As described above, the uncertainty of the calculated center position of each pattern dot is canceled by minimizing the sum of the squares of the shift amounts by the least square method, and the estimation accuracy of the data reading reference point is improved. be able to.

【0269】さらに、数式を簡単にする方法として、以
下に述べる方法もある。
Further, as a method of simplifying the mathematical expression, there is a method described below.

【0270】今、図35の(A)に示すように、記録媒
体上の座標系において、Ddi(ui)を設計上のドット
位置、Uを第一単位ベクトル、Oを原点位置とし、ま
た、同図の(B)に示すように、撮像面上の座標系にお
いて、Doi(xi ,yi )を観測上のドット位置、U’
(ux ’,uy ’)を第一推定単位ベクトル、O’(o
x ’,oy ’)を推定原点位置、Doi’(xi ,yi )
を推定ドット位置とする。
Now, as shown in FIG. 35A, in the coordinate system on the recording medium, Ddi (ui) is the designed dot position, U is the first unit vector, O is the origin position, and As shown in FIG. 7B, in the coordinate system on the imaging surface, Doi (xi, yi) is the observed dot position,
(Ux ', uy') is the first estimated unit vector, and O '(o
x ', oy') is the estimated origin position, Doi '(xi, yi)
Is the estimated dot position.

【0271】ここで、設計上のドット位置と、推定され
る基準点位置、及び単位ベクトルによって求められる推
定ドット位置Doi’は、次式によって与えられる。
Here, the designed dot position, the estimated reference point position, and the estimated dot position Doi ′ obtained from the unit vector are given by the following equations.

【0272】[0272]

【数10】 (Equation 10)

【0273】また、観測上のドット位置Doiとの推定誤
差εi を用いて、誤差の2乗和Eは、
Using the estimated error εi from the observed dot position Doi, the sum of squares E of the error is

【数11】 と表される。[Equation 11] It is expressed as

【0274】そこで、このEを最小化するU’,O’を
求める。
Therefore, U ′ and O ′ that minimize E are obtained.

【0275】[0275]

【数12】 (Equation 12)

【0276】ここで、U’,O’を独立に求めるため、Here, since U ′ and O ′ are obtained independently,

【数13】 とすると、(5)式及び(6)式は、次式のようにな
る。
(Equation 13) Then, the expressions (5) and (6) are as follows.

【0277】[0277]

【数14】 [Equation 14]

【0278】同様にして、Similarly,

【数15】 (Equation 15)

【0279】このように計算を少なくして、U’及び
O’を求めることができる。
As described above, U ′ and O ′ can be obtained with a reduced number of calculations.

【0280】ここで、マーカ対と10個のパターンドッ
トが図36のような関係で並んでいた場合の例を説明す
る。
Here, an example in which a marker pair and ten pattern dots are arranged in a relationship as shown in FIG. 36 will be described.

【0281】まず、各パターンドットのドット読み取り
点Ui は、左側のマーカ概中心から各々7,10,1
3,16,19,24,27,30,33,36であ
り、N=10であるから、
First, the dot reading point Ui of each pattern dot is 7, 10, 1 from the approximate center of the left marker.
3, 16, 19, 24, 27, 30, 33, 36, and N = 10,

【数16】 は、21.5となる。(Equation 16) Is 21.5.

【0282】ところが、ドットの欠けや汚れ等の原因に
よって、パターンドット検出部126において、左から
2番目(Ui =10)のドットが検出されなかったとす
ると、Nは9となり、Ui も7,13,16,19,2
4,27,30,33,36となる。従って、この場
合、N=9であるから、上記(11)式の解は22.7
8となる。
However, if the second dot from the left (Ui = 10) is not detected by the pattern dot detection unit 126 due to a missing or dirty dot, N is 9 and Ui is 7,13. , 16,19,2
4, 27, 30, 33, and 36. Therefore, in this case, since N = 9, the solution of the above equation (11) is 22.7.
It becomes 8.

【0283】つまり、パターンドット検出部126にお
いて検出されるドットが10個全て検出された場合は、
上記(7)式及び(9)式の分母に見られる
That is, when all of the 10 dots detected by the pattern dot detecting section 126 are detected,
Seen in the denominator of equations (7) and (9) above

【数17】 の計算は、値が902.5で固定となるが、いくつかの
ドットが検出されなかった場合には、その都度計算が必
要である。
[Equation 17] Is fixed at 902.5, but when some dots are not detected, the calculation is required each time.

【0284】一方、本ドットコードは、紙等の媒体に印
刷されることが多く、印刷条件や、印刷後の扱われ方に
よってドットが欠けたりすることも考えられ、実際に1
0個全てのドットが検出されない可能性もある。
On the other hand, the present dot code is often printed on a medium such as paper, and it is conceivable that dots may be missing depending on the printing conditions or the handling after printing.
There is a possibility that all zero dots are not detected.

【0285】従って、装置の中に、上記(12)式を計
算させる手段が必要となっているのだが、この計算は、
2乗の値を加算する処理であることから、各項の値が大
きく、演算精度を考慮すると、レジスタのビット数をか
なり大きくとらなければならず、実際に装置を構成する
場合のハードウェアの規模も大きくなってしまう。
Therefore, means for calculating the above equation (12) is required in the apparatus.
Since this is a process of adding the value of the square, the value of each term is large, and the number of bits of the register must be considerably large in consideration of the calculation accuracy. The scale also becomes large.

【0286】そこで、ドット検出で検出されなかったド
ットがあった場合、ドット読み取り点をそのドットのド
ット中心とする。そして、全てのドットが検出されたと
して処理を行うようにする。
Therefore, when there is a dot not detected by the dot detection, the dot read point is set as the dot center of the dot. Then, processing is performed assuming that all dots have been detected.

【0287】こうすることにより、常に、N=10とな
り、また上記(12)式の解も902.5となるので、
上記(7)式乃至(10)式の分母は全て固定値とする
ことができる。
By doing so, N = 10 and the solution of the above equation (12) is also 902.5.
All of the denominators in the above equations (7) to (10) can be fixed values.

【0288】つまり、(12)式の計算をさせる手段が
不要となるだけでなく、(7)〜(10)式の除算は定
数による除算で、逆数の乗算に置き換えることが可能と
なり、一層ハードウェア化に適したものとなる。
That is, not only is there no need for a means for performing the calculation of the expression (12), but also the division of the expressions (7) to (10) is division by a constant, which can be replaced by multiplication of the reciprocal. It will be suitable for wear.

【0289】以下、これを図37のフローチャートを参
照して説明する。
Hereinafter, this will be described with reference to the flowchart in FIG.

【0290】まず、マーカ対の概中心から10個のパタ
ーンドットの読み取り点をそれぞれ算出する(ステップ
ST1)。但し、ここでは黒ドットだけでなく、その間
にある白画素も読み取り点として加えている。そして、
ドット検出カウンタnと検出エラーカウンタerrを
「0」にリセットする(ステップST2)。
First, the reading points of the ten pattern dots are calculated from the approximate center of the marker pair (step ST1). Here, not only black dots but also white pixels between them are added as reading points. And
The dot detection counter n and the detection error counter err are reset to "0" (step ST2).

【0291】次に、30個の各読み取り点を順次処理し
ていくが、その点が黒ドット上の点であるかどうかを判
断し(ステップST3)、そうでなかった場合、その画
素が白か黒かを判断する(ステップST4)。もし黒で
あれば、ドットでない点を黒として読み取っているの
で、正しくないとして、検出エラーカウンタerrをカ
ウントアップし(ステップST5)、また画素が白であ
ればカウントアップしない。そして、読み取った画素数
をインクリメントつまりドット検出カウンタnをカウン
トアップし(ステップST6)、全ての画素の読み取り
が終わったかどうかを、このドット検出カウンタnが
「30」となっているかどうかによって判断する(ステ
ップST7)。処理画素数が30未満の時は、上記ステ
ップST3へ戻って、次の読み取り点を処理する。
Next, each of the 30 reading points is sequentially processed, and it is determined whether or not the point is a point on a black dot (step ST3). Is determined (step ST4). If black, non-dot points are read as black, so the detection error counter err is counted as incorrect and the count is incremented (step ST5). If the pixel is white, the count is not incremented. Then, the number of read pixels is incremented, that is, the dot detection counter n is counted up (step ST6), and it is determined whether or not all the pixels have been read based on whether or not the dot detection counter n is "30". (Step ST7). If the number of pixels to be processed is less than 30, the process returns to step ST3 to process the next reading point.

【0292】一方、上記ステップST3において、黒ド
ット上の画素を読んだと判断された時には、読み取った
画素が黒であるかどうか判断することにより、ドットが
正しく読み取れたかどうか判断する(ステップST
8)。ここで正しくドットが読み取れた時は、そのまま
連結画素の重心算出を行う(ステップST9)。
On the other hand, when it is determined in step ST3 that a pixel on a black dot has been read, it is determined whether or not the dot has been read correctly by determining whether the read pixel is black (step ST3).
8). Here, when the dots are correctly read, the center of gravity of the connected pixel is directly calculated (step ST9).

【0293】上記ステップST8でドットが正しく読み
取れなかったと判断された場合には、読み取り点の4近
傍画素で黒画素を探索し(ステップST10)、見つか
った場合には(ステップST11)、上記ステップST
9へ進んで、連結画素の算出を行う。また、見つからな
かった場合には、ドット読み取り点をドット中心とし
(ステップST12)、検出エラーカウンタerrをカ
ウントアップする(ステップST13)。そして、上記
ステップST6へ進んで、読み取った画素数を計数する
ドット検出カウンタnをカウントアップトした後、ステ
ップST7で、全ての画素の読み取りが終わったかどう
かを、ドット検出カウンタnが「30」となっているか
どうかによって判断する。処理画素数が30未満の時
は、上記ステップST3へ戻って、次の読み取り点を処
理する。
If it is determined in step ST8 that the dot has not been read correctly, a black pixel is searched for in the four neighboring pixels of the reading point (step ST10).
Proceeding to 9, the calculation of the connected pixel is performed. If no dot is found, the dot read point is set as the dot center (step ST12), and the detection error counter err is counted up (step ST13). Then, the process proceeds to step ST6, where the dot detection counter n for counting the number of read pixels is counted up, and in step ST7, whether or not all the pixels have been read is determined by the dot detection counter n being “30”. Judgment is made according to whether or not. If the number of pixels to be processed is less than 30, the process returns to step ST3 to process the next reading point.

【0294】こうして、全ての画素の読み取りを終了し
たならば、ドットでない画素が黒であった場合の数と、
ドット位置とその4近傍に黒画素が存在しなかった数と
の合計値、つまり検出エラーカウンタerrの値を閾値
(MAX_ERR)と比較する(ステップST14)。
ちなみに、閾値MAX_ERRは、25ぐらいが適当で
あることが判っている。
When reading of all pixels is completed in this way, the number of cases where non-dot pixels are black,
The total value of the dot position and the number of black pixels not present in the vicinity of the dot position 4, that is, the value of the detection error counter err is compared with a threshold value (MAX_ERR) (step ST14).
Incidentally, it has been found that the threshold value MAX_ERR is appropriately about 25.

【0295】そして、検出カウンタerrの値が閾値以
下であれば、10個のドット中心を用いて最小自乗誤差
法でデータ読み取り基準点の算出を行い(ステップST
15)、また、閾値を越えたときは、そのパターンコー
ドでは所望の精度でデータ読み取り基準点を検出できな
いと判断して、次のマーカ対の処理へ移る。
If the value of the detection counter err is equal to or smaller than the threshold value, the data reading reference point is calculated by the least squares error method using the center of 10 dots (step ST
15) If the threshold value is exceeded, it is determined that the data reading reference point cannot be detected with the desired accuracy with the pattern code, and the process proceeds to the next marker pair.

【0296】以上のようにして、データ読み取り基準点
が算出されたならば、データ読み取り部42は、図10
に示すように、このデータ読み取り基準点に基づいて、
まずアドレスドット読み込み部154でアドレスドット
18を読み取ってブロックアドレスを求め、データ読み
込み部156によってそのブロック20のデータドット
を読み込む。そして、読み込んだデータを再生部44に
供給して再生出力する。
When the data reading reference point is calculated as described above, the data reading unit 42
Based on this data reading reference point,
First, the address dot 18 is read by the address dot reading unit 154 to obtain a block address, and the data dot of the block 20 is read by the data reading unit 156. Then, the read data is supplied to the reproducing unit 44 and reproduced and output.

【0297】ここで、アドレスドット読み込み部154
は、アドレスドット読み取り部158、エラー訂正部1
60、判定部162、及びアドレス決定部164から構
成されている。
Here, the address dot reading section 154
Are the address dot reading unit 158 and the error correction unit 1
60, a determination unit 162, and an address determination unit 164.

【0298】アドレス読み取り部158は、上下隣接マ
ーカの真中心間を分割してアドレスドット18を検出
し、アドレスを読み取るものであり、この読み取ったア
ドレスが既に読み込んだブロックのアドレスであった場
合には、処理を中止して、次フレームへ処理を移行す
る。なお、このアドレスドットの読み取りにおいても、
前述したパターンドット14の読み取りと同様に、ツリ
ー探索の手法を応用できる。
The address reading section 158 divides the true center between the upper and lower adjacent markers to detect the address dot 18 and reads the address. If the read address is the address of a block that has already been read. Stops the processing and shifts the processing to the next frame. It should be noted that even when reading the address dots,
Similar to the above-described reading of the pattern dots 14, a tree search technique can be applied.

【0299】また、エラー訂正部160は、アドレスド
ット18にCRC(エラー検出)符号やBCH(エラー
訂正)符号等が付されている場合に、アドレスドット読
み取り部158で正しいアドレスが読み取れたかどうか
の判定や読み取られたアドレスの訂正を行う。
When the address dot 18 has a CRC (error detection) code, a BCH (error correction) code, or the like, the error correction unit 160 determines whether the address dot reading unit 158 has read the correct address. Judge and correct the read address.

【0300】判定部162は、アドレスがシステムで取
り扱うデータのアドレスの範囲内であるかどうか判定す
る。例えば、アドレス0〜100までのデータしか扱わ
ないシステムで、−5や200などのアドレスを排除す
る。あるいは、1つのフレームに10個のブロックしか
入らないこと及びアドレスが順番に記録されていること
が判っていれば、例えばアドレスとして2,3,5,
6,25,9が得られたとき、連続性等からアドレス2
5が範囲外であることが判り、このアドレス25のブロ
ックのデータを除外する。
The determining section 162 determines whether or not the address is within the address range of the data handled by the system. For example, in a system that handles only data from addresses 0 to 100, addresses such as -5 and 200 are excluded. Alternatively, if it is known that only 10 blocks are included in one frame and addresses are recorded in order, for example, addresses 2, 3, 5,
When 6, 25 and 9 are obtained, the address 2
5 is out of the range, and the data of the block at the address 25 is excluded.

【0301】アドレス決定部164は、判定部162に
より正しいアドレスと判定されたアドレスを、データ読
み込み部156に与える。
[0301] The address determination section 164 gives the address determined as a correct address by the determination section 162 to the data reading section 156.

【0302】なお、上記エラー訂正部160では、アド
レスドット読み取り部158で読み取ったアドレスドッ
ト18にエラーが検出された場合、周囲のブロックのア
ドレスからそのブロックのアドレスを算出して訂正する
ことができるが、この機能を利用して、上記アドレスド
ット読み取り部158で適宜アドレスを省略して読み取
り、少なくとも2つ以上のブロックのアドレスを同時に
決定するようにしても良い。即ち、ブロックがアドレス
順に整列して記録されている場合、あるブロックのアド
レスは周囲のブロックのアドレスから容易に推定するこ
とができるので、アドレスドット18を適宜省略して読
み取っても問題はなく、その分、アドレスドットの読み
取り処理を軽減することができる。さらには、図9の
(C)に示すように、アドレスドット18を間引いて記
録することができる。
[0302] When an error is detected in the address dot 18 read by the address dot reading unit 158, the error correction unit 160 can calculate and correct the address of that block from the address of a surrounding block. However, by using this function, the address dot reading unit 158 may read the address with the address omitted as appropriate and determine the addresses of at least two or more blocks at the same time. That is, when the blocks are recorded in the order of the addresses, the address of a certain block can be easily estimated from the addresses of the surrounding blocks. The address dot reading process can be reduced accordingly. Furthermore, as shown in FIG. 9C, the address dots 18 can be recorded with thinning.

【0303】ところで、コードを形成する各ブロック2
0の左側アドレスドット18には、図38の(A)に示
すように、そのブロックのアドレスが記録されている。
そして、前述したようなダブルハイトで記録されたコー
ドの一番右側のアドレスコードには、次のブロックのア
ドレスが記録されている。そこで、最終ブロック166
の右側のアドレスドット18には、そのブロックのアド
レスを記録しておくことにより、読み取り時にブロック
20の左右のアドレスの内容を比較することによって最
終ブロック166を検出することができる。
By the way, each block 2 forming the code
As shown in FIG. 38A, the address of the block is recorded in the left address dot 18 of 0.
The address of the next block is recorded in the rightmost address code of the code recorded with the double height as described above. Therefore, the last block 166
The address of the block is recorded in the address dot 18 on the right side of, so that the last block 166 can be detected by comparing the contents of the left and right addresses of the block 20 at the time of reading.

【0304】あるいは、図38の(B)に示すように、
読み取りブロック対のアドレス間に最終ブロックアドレ
スを示す相対関係を設け、読み取り時にブロック対のア
ドレスの内容を比較することにより最終ブロックを検出
することもできる。
Alternatively, as shown in FIG.
A relative relationship indicating the last block address is provided between the addresses of the read block pair, and the last block can be detected by comparing the contents of the addresses of the block pair during reading.

【0305】例えば、68個のブロックをダブルハイト
で記録する場合、アドレス1〜34を一列に並べ、アド
レス35〜68を一列に並べて、これらを2重につまり
ダブルハイトで記録すると、最初に取り込まれるフレー
ム画像からアドレス1と35のブロックが隣り合って検
出されるので、一列は35−1つまり34個のブロック
からなり、二列分ということで、その倍の68個のブロ
ックが存在することがすぐに判る。よって、メモリを確
保すべき量や、どのブロックまで処理したら処理を終了
して良いのかが最初に判るので、無駄な処理がなくなる
という効果を奏することができる。
For example, when recording 68 blocks in double height, if addresses 1 to 34 are arranged in a line and addresses 35 to 68 are arranged in a line, and these are recorded in double, that is, double height, the data is first taken in. Since the blocks at addresses 1 and 35 are detected adjacent to each other from the frame image to be read, one row is composed of 35-1 or 34 blocks. You can see immediately. Therefore, the amount of memory to be secured and the number of blocks to be processed before finishing the processing can be determined first, so that there is an effect that unnecessary processing is eliminated.

【0306】勿論、これらはダブルハイトで記録されて
いない場合であっても、同様である。
Of course, these are the same even when they are not recorded at the double height.

【0307】このように、アドレスドット18のフォー
マットとして、隣接するブロックのアドレスがコード全
体のブロック数と所定の関係を有するようなコードと
し、隣接するアドレスから総ブロック数が求められるこ
とにより、必要なメモリを割り付けることができる。ま
た、最終ブロックを検出することができるようになるた
め、無駄な処理を省くことができる。
As described above, the format of the address dots 18 is a code in which the address of an adjacent block has a predetermined relationship with the number of blocks of the entire code, and the total number of blocks is obtained from the adjacent address. Memory can be allocated. In addition, since the last block can be detected, unnecessary processing can be omitted.

【0308】あるいは、アドレスドット18を、例えば
1/68のように、ブロックの総数が判るようなフォー
マットで記録しても良い。
Alternatively, the address dots 18 may be recorded in a format in which the total number of blocks is known, for example, 1/68.

【0309】一方、データ読み込み部156は、4つの
データ読み取り基準点を結んで囲まれた領域の各辺を等
分割してメッシュを切り、データ読み取り点としてデー
タコードを読み取っていくものであるが、この場合、図
38の(C)に示すように、データ読み取り点168の
画素がノイズ等によって実際のデータと異なって読み取
られることがある。
On the other hand, the data reading section 156 is to equally divide each side of an area surrounded by connecting four data reading reference points, cut a mesh, and read data codes as data reading points. In this case, as shown in FIG. 38C, the pixel at the data reading point 168 may be read differently from the actual data due to noise or the like.

【0310】そこで、このデータ読み取り点168のデ
ータをそのまま読み取りデータとするのではなく、その
データ読み取り点168に対して回りの8近傍の画素を
使い、全部で9画素について所定の計算式、例えば平均
を求めて、この画素のデータを決定する。例えば、デー
タ読み取り点168の画素が白抜けであっても、回りの
8画素が黒になっていれば、このデータ読み取り点16
8のデータは8/9となり、これは0.5より大きいの
で、黒画素つまり「1」として読み取れる。
Therefore, the data at the data read point 168 is not used as read data as it is, but pixels around eight points around the data read point 168 are used, and a predetermined calculation formula is used for all nine pixels, for example, The data of this pixel is determined by obtaining an average. For example, even if the pixel at the data reading point 168 is blank, if the surrounding eight pixels are black, the data reading point 16
The data of 8 is 8/9, which is larger than 0.5, so that it can be read as a black pixel, that is, "1".

【0311】また、所定の計算式としては、重み付け平
均等であっても良い。例えば、もう少し大きい領域、近
傍24画素を取って、内側の8画素のデータには×2倍
して、外側の16画素のデータには×1倍にして、平均
をとるというようにしても良い。
The predetermined calculation formula may be a weighted average or the like. For example, a slightly larger area, that is, 24 pixels nearby, may be multiplied by 2 for the data of the inner 8 pixels, and multiplied by 1 for the data of the outer 16 pixels, and the average may be calculated. .

【0312】このように、データ読み取り基準点から算
出された読み取り点の近傍も同時に読み取り、所定の計
算式によりデータ読み取り点の属性を決定することによ
り、劣化ドットの読み取りに強くなる。
As described above, the vicinity of the reading point calculated from the data reading reference point is also read at the same time, and the attribute of the data reading point is determined by a predetermined calculation formula.

【0313】以上実施の形態に基づいて本発明を説明し
たが、本発明は上述した実施の形態に限定されるもので
はなく、本発明の要旨の範囲内で種々の変形や応用が可
能である。
The present invention has been described based on the embodiments. However, the present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the present invention. .

【0314】[0314]

【発明の効果】以上詳述したように、本発明によれば、
撮像された画像における複数個のブロックの中から光学
的ディストーションの影響が小さいブロックを選択して
読み取るようにしているので、読み取りエラーが発生す
る確率を低くすることができる。従って、高密度記録さ
れたコードパターンを読み取って、正しく情報を再生で
きる情報再生システムを提供することができる。
As described in detail above, according to the present invention,
Since a block having a small influence of optical distortion is selected and read from a plurality of blocks in a captured image, the probability of occurrence of a reading error can be reduced. Therefore, it is possible to provide an information reproducing system capable of reading a code pattern recorded at high density and reproducing information correctly.

【図面の簡単な説明】[Brief description of the drawings]

【図1】(A)乃至(C)はそれぞれ情報記録媒体上に
光学的に読み取り可能に記録される2次元コード(ドッ
トコード)の例を示す図である。
FIGS. 1A to 1C are diagrams showing examples of two-dimensional codes (dot codes) recorded optically readable on an information recording medium.

【図2】(A)乃至(E)はそれぞれ図1の(C)に示
したようにブロック化した場合のマーカの配置例を示す
図である。
FIGS. 2A to 2E are diagrams showing examples of marker arrangement when blocks are formed as shown in FIG. 1C;

【図3】(A)及び(B)はそれぞれマーカを縞状に省
略した場合のコード例を示す図である。
FIGS. 3A and 3B are diagrams illustrating code examples when markers are omitted in stripes, respectively.

【図4】マーカを市松状に省略した場合のコード例を示
す図である。
FIG. 4 is a diagram illustrating a code example when markers are omitted in a checkered pattern;

【図5】(A)乃至(C)はそれぞれパターンドットの
例を示す図である。
FIGS. 5A to 5C are diagrams showing examples of pattern dots, respectively.

【図6】(A)はパターンドットの変調を説明するため
の図であり、(B)はパターンドットの別の例を示す図
である。
FIG. 6A is a diagram for explaining pattern dot modulation, and FIG. 6B is a diagram showing another example of a pattern dot.

【図7】(A)及び(B)はそれぞれ一部のパターンド
ットの記録点に位相ずれを設けた例を示す図である。
FIGS. 7A and 7B are diagrams showing examples in which recording points of some pattern dots are provided with a phase shift.

【図8】(A)及び(B)はアドレスドットの一例を示
す図であり、(C)及び(D)はそれぞれ別の記録例を
示す図である。
FIGS. 8A and 8B are diagrams showing examples of address dots, and FIGS. 8C and 8D are diagrams showing different recording examples.

【図9】(A)乃至(C)はそれぞれアドレスドットの
さらに別の記録例を示す図である。
FIGS. 9A to 9C are diagrams showing still another example of recording address dots.

【図10】実施の形態の情報再生システムのブロック構
成図である。
FIG. 10 is a block diagram of an information reproducing system according to an embodiment.

【図11】(A)乃至(D)はイロージョン処理を説明
するための図である。
FIGS. 11A to 11D are diagrams for explaining an erosion process; FIGS.

【図12】イロージョン処理とラベリング処理を説明す
るための図である。
FIG. 12 is a diagram for explaining an erosion process and a labeling process.

【図13】(A)乃至(C)はマーカ中心部の抽出方法
を説明するための図である。
FIGS. 13A to 13C are diagrams for explaining a method of extracting a marker center part.

【図14】(A)はストリーク処理を説明するための図
であり、(B)はマーカ抽出処理の別の手法を説明する
ための図である。
14A is a diagram for explaining a streak process, and FIG. 14B is a diagram for explaining another method of a marker extraction process.

【図15】(A)はマーカ抽出処理におけるフレームの
処理を中止する場合を説明するための図であり、(B)
及び(C)はそれぞれマーカ概中心の算出法を説明する
ため図である。
FIG. 15A is a diagram for explaining a case where processing of a frame in marker extraction processing is stopped, and FIG.
And (C) are diagrams for explaining the method of calculating the approximate center of the marker.

【図16】(A)及び(B)はマーカがフレーム端にか
かって欠損した場合の概中心の補正法を説明するための
図であり、(C)はそのような補正の別の例において用
いられるテーブルを示す図である。
FIGS. 16A and 16B are diagrams for explaining a method of correcting the approximate center when a marker is lost at a frame end, and FIG. 16C is a diagram illustrating another example of such correction. It is a figure showing a table used.

【図17】(A)はフレーム中の概中心位置補正処理を
行うマーカを説明するための図、(B)はマーカとパタ
ーンドットの関係を示す図であり、(C)及び(D)は
対マーカ存在領域を説明するための図である。
17A is a diagram for explaining a marker for performing a process of correcting the approximate center position in a frame, FIG. 17B is a diagram showing a relationship between a marker and a pattern dot, and FIGS. It is a figure for explaining a marker existence field.

【図18】図10中のマーカ中心検出部のブロック構成
図である。
FIG. 18 is a block diagram of a marker center detection unit in FIG. 10;

【図19】(A)乃至(C)はそれぞれ外挿による対マ
ーカ位置の算出を説明するための図である。
FIGS. 19A to 19C are diagrams for explaining calculation of a marker position by extrapolation;

【図20】(A)はベースマーカ対を説明するための図
であり、(B)及び(C)はダブルハイトを説明するた
めの図である。
FIG. 20A is a diagram for explaining a base marker pair, and FIGS. 20B and 20C are diagrams for explaining a double height.

【図21】(A)及び(B)はベースマーカ対の選択時
の基準マーカの選択法を説明するための図であり、
(C)は基準マーカの片側にのみマーカ候補が見つかっ
た場合の隣接マーカの探索法を説明するための図であ
る。
FIGS. 21A and 21B are diagrams for explaining a method of selecting a reference marker when a base marker pair is selected;
(C) is a diagram for explaining a method of searching for an adjacent marker when a marker candidate is found on only one side of the reference marker.

【図22】(A)は仮想マーカの概中心を説明するため
の図であり、(B)及び(C)はそれぞれ2つ以上のベ
ースマーカ対が選択できる場合のベースマーカ対の再選
択法を説明するための図である。
FIG. 22A is a diagram for explaining the approximate center of a virtual marker, and FIGS. 22B and 22C are diagrams illustrating a method of reselecting a base marker pair when two or more base marker pairs can be selected, respectively. FIG.

【図23】(A)及び(B)はそれぞれコードがスキュ
ーしているときのベースマーカ対の再選択法を説明する
ための図である。
FIGS. 23A and 23B are diagrams illustrating a method of reselecting a base marker pair when a code is skewed.

【図24】(A)及び(B)はブロックが整列されてい
ない場合の選択されたマーカ組及びそれらの記憶法を説
明するための図であり、(C)及び(D)はブロックが
整列されている場合の選択されたマーカ組及びそれらの
記憶法を説明するための図である。
FIGS. 24A and 24B are diagrams for explaining selected marker sets and their storage methods when blocks are not aligned, and FIGS. 24C and 24D are diagrams for explaining the arrangement of blocks; FIG. 11 is a diagram for explaining a selected marker set and a storage method thereof when the setting is performed.

【図25】(A)及び(B)はそれぞれ処理対象ブロッ
クを選択するためのマーカ組の選択法を説明するための
図である。
FIGS. 25A and 25B are diagrams for explaining a method of selecting a marker set for selecting a processing target block;

【図26】(A)はスキャン方向側のマーカ候補から基
準マーカを選択した場合のブロックの読取法を説明する
ための図であり、(B)は光学的ディストーション等が
あった場合のブロックの読み取り順を説明するための図
である。
26A is a diagram for explaining a method for reading a block when a reference marker is selected from marker candidates on the scanning direction side, and FIG. 26B is a diagram for explaining a method of reading a block when optical distortion or the like occurs; FIG. 9 is a diagram for explaining a reading order.

【図27】(A)は選択されたブロックの読み取りに失
敗した場合のブロック再選択処理を説明するための図、
(B)はマーカ16とパターンドット14の位置関係を
示す図であり、(C)はドット読み取り位置とドットの
中心位置との関係を示す図である。
FIG. 27A is a diagram for explaining block reselection processing when reading of a selected block has failed;
(B) is a diagram showing the positional relationship between the marker 16 and the pattern dots 14, and (C) is a diagram showing the relationship between the dot reading position and the dot center position.

【図28】(A)及び(B)はマーカ概中心からパター
ンドットを利用したデータ読み取り基準点の推定法を説
明するための図であり、(C)は別の推定法を説明する
ための図である。
28A and 28B are diagrams for explaining a method of estimating a data reading reference point using a pattern dot from the approximate center of a marker, and FIG. 28C is a diagram for explaining another estimation method. FIG.

【図29】(A)及び(B)はそれぞれさらに別のデー
タ読み取り基準点推定法を説明するための図であり、
(C)及び(D)はツリー探索法を説明するための図で
ある。
FIGS. 29A and 29B are diagrams for explaining still another data reading reference point estimation method.
(C) and (D) are diagrams for explaining a tree search method.

【図30】(A)及び(B)はそれぞれ限定的なツリー
探索を説明するための図であり、(C)はパターンドッ
トの別の配列を説明するための図である。
FIGS. 30A and 30B are diagrams for explaining a limited tree search, and FIG. 30C is a diagram for explaining another arrangement of pattern dots.

【図31】(A)は黒ドット検出部の動作を説明するた
めの図、(B)は黒ドット検出部の別の動作を説明する
ための図であり、(C)はマーカ概中心再算出部の動作
を説明するための図である。
31A is a diagram for explaining the operation of the black dot detection unit, FIG. 31B is a diagram for explaining another operation of the black dot detection unit, and FIG. FIG. 6 is a diagram for explaining an operation of a calculation unit.

【図32】(A)及び(B)はドット中心算出部でのド
ット中心位置存在領域の推定動作を説明するための図で
あり、(C)はドット中心位置存在領域と中心代表点の
信頼性を説明するための図である。
FIGS. 32A and 32B are diagrams for explaining an operation of estimating a dot center position existence region in a dot center calculation unit, and FIG. 32C is a diagram illustrating reliability of a dot center position existence region and a central representative point. It is a figure for explaining nature.

【図33】(A)はドット中心算出部でのさらに別の中
心算出法としての重心算出を説明するための図であり、
(B)乃至(D)は重心算出の別の手法を説明するため
の図である。
FIG. 33A is a diagram for explaining calculation of the center of gravity as still another center calculation method in the dot center calculation unit;
(B) to (D) are diagrams for explaining another method of calculating the center of gravity.

【図34】(A)及び(B)は最小自乗法を使ったデー
タ読み取り基準点の算出法を説明するための図である。
34A and 34B are diagrams for explaining a method of calculating a data reading reference point using the least squares method.

【図35】(A)は記録媒体上の座標系を示す図であ
り、(B)は撮像面上の座標系を示す図である。
35A is a diagram illustrating a coordinate system on a recording medium, and FIG. 35B is a diagram illustrating a coordinate system on an imaging surface.

【図36】マーカ対と10個のパターンドットの関係を
示す図である。
FIG. 36 is a diagram showing a relationship between a marker pair and ten pattern dots.

【図37】ドット検出で検出されなかったドットがあっ
た場合、ドット読み取り点をそのドットのドット中心と
し、全てのドットが検出されたとして処理を行う場合
の、動作フローチャートである。
FIG. 37 is an operation flowchart in a case where, when there is a dot that is not detected by dot detection, a dot read point is set as the dot center of the dot, and processing is performed assuming that all dots have been detected.

【図38】(A)及び(B)はそれぞれブロックの並べ
順並びにその際のブロックアドレスの記録内容の例を示
す図であり、(C)はデータドットの読み取り動作を説
明するための図である。
FIGS. 38A and 38B are diagrams showing examples of the arrangement order of blocks and recorded contents of block addresses at that time, and FIG. 38C is a diagram for explaining a data dot reading operation; is there.

【符号の説明】[Explanation of symbols]

10…データコード、 12…パターンコード、 14
…パターンドット、16…マーカ、 18…アドレスド
ット、 20…ブロック、 22…点、 24…ドット
位置基準点、 26…ガイドコード、 28…反転コー
ド、 30…訂正コード、 32…固定パターン、 3
4…情報記録媒体、 36…ドットコード、 38…画
像入力部、 40…データ読み取り基準点決定部、 4
2…データ読み取り部、 44…データ再生部、 46
…撮像部、 48…等化,2値化部、 50…マーカ抽
出部、 52…マーカ概中心算出部、 54…マーカ検
出部、 56…マーカ中心検出部、 58…マーカ存在
エリア、 60…フレーム、 62…マーカ中心部、
64…マーカの存在する可能性のある領域、 66…重
心、 68…外接矩形、 70…外接矩形中心点、 7
2…フレーム端、74…欠損によりずれて検出されたマ
ーカ概中心、 76…正しいマーカ概中心、 78…概
中心補正領域、 80…フレーム端で一部が欠落したマ
ーカ、82…処理対象ブロック、 84…マーカ対、
86…基準マーカ選択部、 88…対マーカ存在領域算
出部、 90…対マーカ候補検出部、 92…ベースマ
ーカ対選択部、 94…マーカ組選択部、 96…基準
マーカ、 98…対マーカ存在領域、 100…対マー
カ、 102…誤マーカ、 104…外挿ベクトル(e
xv)、 106…マーカ探索領域、 108…修正拡
張ベクトル、 110…ベースマーカ対、 112…撮
像部視野、 114…領域、 116…読み取り失敗ブ
ロック、 118…再選択ブロック、 120…コード
ライン、122…読取ライン、 124…ドット読取位
置、 126…ドット中心位置、128…ドット中心算
出部、 130…誤差最小化部、 132…黒ドット検
出部、 134…ドット読み取り点、 136…マーカ
概中心再算出部、 138…バッファ、 140…エラ
ー検出部、 142…選択部、 144…マスク、 1
46…マスク内黒画素重心、 150…重心代表点位
置、 152…推定されるマーカ真中心、 154…ア
ドレスドット読み込み部、 156…データ読み込み
部、 158…アドレスドット読み取り部、 160…
エラー訂正部、162…判定部、 164…アドレス決
定部、 166…最終ブロック、 168…データ読み
取り点。
10: data code, 12: pattern code, 14
... pattern dots, 16 ... markers, 18 ... address dots, 20 ... blocks, 22 ... points, 24 ... dot position reference points, 26 ... guide codes, 28 ... inversion codes, 30 ... correction codes, 32 ... fixed patterns, 3
4 information recording medium, 36 dot code, 38 image input unit, 40 data reading reference point determination unit, 4
2 Data reading unit 44 Data reproducing unit 46
... Imaging unit, 48 ... Equalization and binarization unit, 50 ... Marker extraction unit, 52 ... Marker approximate center calculation unit, 54 ... Marker detection unit, 56 ... Marker center detection unit, 58 ... Marker existence area, 60 ... Frame , 62 ... the center of the marker
64: an area where a marker may be present; 66: center of gravity; 68: circumscribed rectangle; 70: center point of a circumscribed rectangle;
2 ... Frame end, 74: Approximate center of marker detected by deviation due to loss, 76: Correct marker approximate center, 78: Approximate center correction area, 80: Marker partially missing at frame end, 82: Block to be processed, 84 marker pair,
Reference numeral 86: Reference marker selection unit, 88: Marker presence area calculation unit, 90: Marker candidate detection unit, 92: Base marker pair selection unit, 94: Marker pair selection unit, 96: Reference marker, 98: Marker presence area , 100: paired marker, 102: error marker, 104: extrapolated vector (e
xv), 106: Marker search area, 108: Modified extended vector, 110: Base marker pair, 112: Image field of view, 114: Area, 116: Read failure block, 118: Reselection block, 120: Code line, 122 ... Read line, 124: dot read position, 126: dot center position, 128: dot center calculation unit, 130: error minimization unit, 132: black dot detection unit, 134: dot read point, 136: marker approximate center recalculation unit 138: buffer; 140: error detection unit; 142: selection unit; 144: mask;
46: black pixel barycenter in the mask, 150: barycenter representative point position, 152: estimated true center of marker, 154: address dot reading unit, 156: data reading unit, 158: address dot reading unit, 160 ...
Error correction unit, 162: determination unit, 164: address determination unit, 166: last block, 168: data reading point.

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 再生されるべき情報のデータに相当する
データコードを含むブロックを複数個配置したコードが
光学的に読み取り可能に記録された情報記録媒体から、
前記コードを光学的に読み取って前記情報を再生する情
報再生システムにおいて、 前記コードを撮像する画像入力手段と、 前記画像入力手段で撮像された画像から前記データを読
み取るデータ読み取り手段と、 前記データ読み取り手段で読み取られたデータから前記
情報を再生する再生手段と、 を具備し、 前記データ読み取り手段は、前記画像入力手段で撮像さ
れた画像における複数個の前記ブロックの中から光学的
ディストーションの影響が小さいブロックを選択して読
み取るように構成されたことを特徴とする情報再生シス
テム。
An information recording medium in which a code in which a plurality of blocks including a data code corresponding to data of information to be reproduced are arranged is optically readable.
An information reproducing system that optically reads the code to reproduce the information; an image input unit that captures the code; a data reading unit that reads the data from an image captured by the image input unit; Reproducing means for reproducing the information from the data read by the means, wherein the data reading means has an effect of optical distortion from among the plurality of blocks in the image captured by the image input means. An information reproducing system characterized by being configured to select and read a small block.
【請求項2】 前記データ読み取り手段は、前記画像入
力手段で撮像された画像の中央よりのブロックを選択し
て読み取るように構成されたことを特徴とする請求項1
に記載の情報再生システム。
2. The image processing apparatus according to claim 1, wherein the data reading unit is configured to select and read a block from a center of an image captured by the image input unit.
An information reproduction system according to item 1.
【請求項3】 前記コードは、同じデータ内容を有する
前記ブロックを複数個含んで構成され、前記画像入力手
段で撮像される一つのフレームに、前記同じデータ内容
を有するブロックが複数個含まれるとき、 前記データ読み取り手段は、前記同じデータ内容を有す
る複数個のブロックの中から光学的ディストーションの
影響が小さいブロックを選択して読み取るように構成さ
れたことを特徴とする請求項1又は2に記載の情報再生
システム。
3. The code includes a plurality of blocks having the same data content, and includes a plurality of blocks having the same data content in one frame captured by the image input means. 3. The apparatus according to claim 1, wherein the data reading means is configured to select and read a block having a small influence of optical distortion from the plurality of blocks having the same data content. Information reproduction system.
【請求項4】 前記データコードは、前記ブロックのア
ドレスを示すアドレスドットを更に含み、前記同じデー
タ内容を有するブロックは、前記ブロックのアドレスも
同じであることを特徴とする請求項3に記載の情報再生
システム。
4. The apparatus according to claim 3, wherein the data code further includes an address dot indicating an address of the block, and the blocks having the same data content have the same address of the block. Information reproduction system.
【請求項5】 前記画像入力手段は、手動でスキャンさ
れる前記コードを連続して撮像するように構成されたこ
とを特徴とする請求項1乃至4の何れかに記載の情報再
生システム。
5. The information reproducing system according to claim 1, wherein the image input unit is configured to continuously capture the code scanned manually.
JP2001377341A 2001-12-11 2001-12-11 Information reproduction system Expired - Fee Related JP3568508B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001377341A JP3568508B2 (en) 2001-12-11 2001-12-11 Information reproduction system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001377341A JP3568508B2 (en) 2001-12-11 2001-12-11 Information reproduction system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP11124853A Division JP2000030016A (en) 1999-04-30 1999-04-30 Information recording medium and information reproducing system

Publications (2)

Publication Number Publication Date
JP2002197410A true JP2002197410A (en) 2002-07-12
JP3568508B2 JP3568508B2 (en) 2004-09-22

Family

ID=19185340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001377341A Expired - Fee Related JP3568508B2 (en) 2001-12-11 2001-12-11 Information reproduction system

Country Status (1)

Country Link
JP (1) JP3568508B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006112021A1 (en) * 2005-04-15 2006-10-26 Kenji Yoshida Information i/o method using dot pattern
KR101428054B1 (en) 2007-12-13 2014-08-07 주식회사 엘지씨엔에스 Apparatus and method for media image detection, and system with the same
JP2015035041A (en) * 2013-08-08 2015-02-19 カシオ計算機株式会社 Image processing apparatus, image processing method, and program
JP2019144024A (en) * 2018-02-16 2019-08-29 アキュイティー株式会社 Motion capture method and motion capture system
JP2020529076A (en) * 2017-07-28 2020-10-01 ザ コカ・コーラ カンパニーThe Coca‐Cola Company Methods and devices for encoding and decoding circular symbol codes

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006112021A1 (en) * 2005-04-15 2006-10-26 Kenji Yoshida Information i/o method using dot pattern
US8189923B2 (en) 2005-04-15 2012-05-29 Kenji Yoshida Information input output method using a dot pattern
US8699798B2 (en) 2005-04-15 2014-04-15 Kenji Yoshida Information input output method using a dot pattern
KR101428054B1 (en) 2007-12-13 2014-08-07 주식회사 엘지씨엔에스 Apparatus and method for media image detection, and system with the same
JP2015035041A (en) * 2013-08-08 2015-02-19 カシオ計算機株式会社 Image processing apparatus, image processing method, and program
US9361500B2 (en) 2013-08-08 2016-06-07 Casio Computer Co., Ltd. Image processing apparatus, image processing method, and recording medium
JP2020529076A (en) * 2017-07-28 2020-10-01 ザ コカ・コーラ カンパニーThe Coca‐Cola Company Methods and devices for encoding and decoding circular symbol codes
JP2019144024A (en) * 2018-02-16 2019-08-29 アキュイティー株式会社 Motion capture method and motion capture system

Also Published As

Publication number Publication date
JP3568508B2 (en) 2004-09-22

Similar Documents

Publication Publication Date Title
JP2952170B2 (en) Information reproduction system
US5898166A (en) Information reproduction system which utilizes physical information on an optically-readable code and which optically reads the code to reproduce multimedia information
JP5507134B2 (en) Two-dimensional code reading method, two-dimensional code recognition method, and two-dimensional code reading apparatus
CN101155238B (en) Image region detection method and device therefor
KR101235226B1 (en) Image processor and image processing method and recording medium
US20150339508A1 (en) Two-dimensional code
JPH11219407A (en) Document image recognizing device and storage medium for document image recognizing program
JP5791826B2 (en) 2D code
US7380718B2 (en) Method for reading out symbol information and device for reading out symbol information
JP3568508B2 (en) Information reproduction system
JP2000030016A (en) Information recording medium and information reproducing system
US6446866B1 (en) Information reproducing system
JP3099771B2 (en) Character recognition method and apparatus, and recording medium storing character recognition program
US20050129333A1 (en) Image correction device and image correction method
MXPA02008494A (en) Correction of distortions in form processing.
JP6785546B2 (en) Two-dimensional code analysis method, two-dimensional code analysis device, and two-dimensional code analysis program
JP3519071B2 (en) Information reproduction system
JP2002197408A (en) Information reproduction system
JP4197768B2 (en) Information reading system
JP4314148B2 (en) Two-dimensional code reader
JP4652201B2 (en) Bar code symbol information reading method and bar code symbol information reading device
JP4840388B2 (en) Image processing apparatus and image processing program
JP6323009B2 (en) Image processing apparatus and image processing program
JP6952846B2 (en) Two-dimensional code
JP2003196588A (en) Information reproducer, and method of reproducing information

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040615

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080625

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120625

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees