JP3639328B2 - 情報記録媒体、2次元コード、情報再生システム、及び情報再生方法 - Google Patents

情報記録媒体、2次元コード、情報再生システム、及び情報再生方法 Download PDF

Info

Publication number
JP3639328B2
JP3639328B2 JP27427294A JP27427294A JP3639328B2 JP 3639328 B2 JP3639328 B2 JP 3639328B2 JP 27427294 A JP27427294 A JP 27427294A JP 27427294 A JP27427294 A JP 27427294A JP 3639328 B2 JP3639328 B2 JP 3639328B2
Authority
JP
Japan
Prior art keywords
code
dots
positional relationship
data
pattern
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.)
Expired - Fee Related
Application number
JP27427294A
Other languages
English (en)
Other versions
JPH08115397A (ja
Inventor
弘之 福田
建夫 鶴岡
成示 龍田
佐々木  寛
愼一 今出
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 Corp
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 Corp filed Critical Olympus Corp
Priority to JP27427294A priority Critical patent/JP3639328B2/ja
Priority to US08/542,220 priority patent/US5860679A/en
Publication of JPH08115397A publication Critical patent/JPH08115397A/ja
Priority to US09/038,481 priority patent/US5951056A/en
Application granted granted Critical
Publication of JP3639328B2 publication Critical patent/JP3639328B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B42BOOKBINDING; ALBUMS; FILES; SPECIAL PRINTED MATTER
    • B42DBOOKS; BOOK COVERS; LOOSE LEAVES; PRINTED MATTER CHARACTERISED BY IDENTIFICATION OR SECURITY FEATURES; PRINTED MATTER OF SPECIAL FORMAT OR STYLE NOT OTHERWISE PROVIDED FOR; DEVICES FOR USE THEREWITH AND NOT OTHERWISE PROVIDED FOR; MOVABLE-STRIP WRITING OR READING APPARATUS
    • B42D15/00Printed matter of special format or style not otherwise provided for
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light

Description

【0001】
【産業上の利用分野】
本発明は、音声,音楽等のオーディオ情報、カメラ,ビデオ機器等から得られる映像情報、及びパーソナルコンピュータ,ワードプロセッサ等から得られるディジタルコードデータ、等を含めた所謂マルチメディア情報を光学的に読み取り可能な2次元コードパターンとして記録した紙等の情報記録媒体とその2次元コード、及びそのような情報記録媒体に記録されたコードパターンを光学的に読み取って元のマルチメディア情報を再生する情報再生システム及び情報再生方法に関する。
【0002】
【従来の技術】
従来より、音声や音楽等を記録する媒体として、磁気テープや光ディスク等、種々のものが知られている。しかしこれらの媒体は、大量に複製を作ったとしても単価はある程度高価なものとなり、またその保管にも多大な場所を必要としていた。さらには、音声を記録した媒体を、遠隔地にいる別の者に渡す必要ができた場合には、郵送するにしても、また直に持っていくにしても、手間と時間がかかるという問題もあった。また、オーディオ情報以外の、カメラ,ビデオ機器等から得られる映像情報、及びパーソナルコンピュータ,ワードプロセッサ等から得られるディジタルコードデータ、等をも含めた所謂マルチメディア情報全体に関しても同様であった。
【0003】
このような問題に対処するべきものとして、特開平6−231466号公報には、オーディオ情報,映像情報,ディジタルコードデータの少なくとも一つを含むマルチメディア情報を、ファクシミリ伝送が可能で、また大量の複製が安価に可能な画像情報即ち符号化情報としての複数のドットを2次元に配置してなる2次元コードの形で紙等の情報記録媒体に記録するシステム及びそれを再生するためのシステムが開示されている。
【0004】
この公報の情報再生システムでは、情報記録媒体上の2次元コードを光学的に読み取って再生する情報再生装置を、手で保持し、記録されている2次元コードに沿って記録媒体上を手動で走査することによって読み取る方法が開示されている。
【0005】
【発明が解決しようとする課題】
ところで、2次元コードパターン自体もさらに記録密度を向上できるような構造が研究されている段階であり、さらに高密度記録が達成された場合には、再生装置側で2次元コードパターンの各ドット位置をより高精度に算出しなければならないが、上記公報にはそのような将来の高精度の位置算出についてまでは特に配慮されていなかった。
【0006】
また、特開昭60−165503号公報には、高精度な読み取りを行うために十分大きな基準画像を用いる方法が開示されている。この公報に開示されているような方法を上記特開平6−231466号公報に開示されているような2次元コードに適用することも考えられるが、そうした場合、以下のような問題が生じる。
【0007】
今、マーカをsドットからなる半径rの円、読み取るコードのサイズをa×bドット、1フレームのサイズをc×dドットとする。あるコードの真の座標が(i,j)とすると、読み取りに許容される最大誤差は、(i±a/2,j±b/2)となる。よって、有効精度的には、X軸方向に関してはX座標を表す桁数cドットに±a/2を表す桁数を付加したnx 桁が、Y軸方向に関してはY座標を表す桁数dドットに±b/2を表す桁数を付加したny 桁が必要となる。全体では、nx 桁とny 桁のうち、大きい桁が必要となる桁数である。
【0008】
今、一例としてコードサイズを3.4ドット×3.4ドット、1フレームを500×500ドットとする。この場合、座標を表すのに3桁で、誤差を表すのに小数点2桁まで必要であるから、nx 桁とny 桁は共に5桁となる。マーカを構成するドットの座標を(xi ,yi ),i=1〜sとすると、その重心(gx ,gy )は、
【0009】
【数1】
Figure 0003639328
であるから、マーカを構成するsドットはnx 桁又はny 桁より大きい必要がある。上記例では、マーカが5桁=1万ドット以上で構成されていれば、必要な精度でマーカの重心座標が検出できる。この場合の半径はπr2 >10000から、r≧57ドットとなる。これを図示すると、図34に示すようになる。即ち、十分な精度を得るためには、マーカが非常に大きくなり、記録密度が著しく低下するという問題がある。
【0010】
本発明は、高密度記録されたコードパターンの各ドット位置をより高精度に算出できるようにした情報記録媒体、2次元コード、情報再生システム、及び情報再生方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記の目的を達成するために、本発明による情報記録媒体は、データが光学的に読み取り可能な2次元コード記録された情報記録媒体であって、
前記2次元コードは、
記録されるデータに応じて複数のドットが2次元に配列されたデータコードと、
前記データコードにおける各ドットを読み取るための基準点に対して予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、
を有し、
前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、当該2つ以上の各ドットが前記位置関係に従って存在すべき位置と当該2つ以上の各ドットが実際に存在する位置との間の誤差を表す所定の評価関数を最小化することによって前記基準点が求められるように配置されたものである、
ことを特徴とする。
【0012】
また、本発明による2次元コードは、データを記録媒体上に記録するための光学的に読み取り可能な2次元コードであって、
記録されるデータに応じて複数のドットが2次元に配列されたデータコードと、
前記データコードにおける各ドットを読み取るための基準点に対して予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、
を有し、
前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、当該2つ以上の各ドットが前記位置関係に従って存在すべき位置と当該2つ以上の各ドットが実際に存在する位置との間の誤差を表す所定の評価関数を最小化することによって前記基準点が求められるように配置されたものである、
ことを特徴とする。
【0013】
さらに、本発明による情報再生システムは、データが光学的に読み取り可能な2次元コードで記録された情報記録媒体から前記2次元コードを光学的に読み取って前記データを再生する情報再生システムであって、
記録されるデータに応じて複数のドットが2次元に配列されたデータコードと、前記データコードにおける各ドットを読み取るための基準点に対して予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、を有する2次元コードを撮像してその画像データを得る入力手段と、
前記入力手段で得られた画像データから、前記予め設定された位置関係に従って前記少なくとも2つ以上のドットを探索する探索手段と、
前記2つ以上の各ドットが前記位置関係に従って存在すべき位置と、前記探索手段で探索された前記2つ以上の各ドットが実際に存在する位置との間の誤差を表す所定の評価関数を最小化することによって前記基準点を求める基準点算出手段と、
前記基準点算出手段によって算出された基準点に基づいて、前記データコードにおける各ドットの読取座標を算出する読取座標算出手段と、
前記読取座標算出手段によって算出された読取座標に従って、前記データコードにおける各ドットを読み取るデータコード読取手段と、
を具備することを特徴とする。
【0014】
また、本発明による情報再生方法は、データが光学的に読み取り可能な2次元コードで記録された情報記録媒体から前記2次元コードを光学的に読み取って前記データを再生する情報再生方法であって、
入力装置が、記録されるデータに応じて複数のドットが2次元に配列されたデータコードと、前記データコードにおける各ドットを読み取るための基準点に対して予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、を有する2次元コードを撮像してその画像データを得る入力工程と、
探索部が、前記入力工程で得られた画像データから、前記予め設定された位置関係に従って前記少なくとも2つ以上のドットを探索する探索工程と、
基準点算出部が、前記2つ以上の各ドットが前記位置関係に従って存在すべき位置と、前記探索工程で探索された前記2つ以上の各ドットが実際に存在する位置との間の誤差を表す所定の評価関数を最小化することによって前記基準点を求める基準点算出工程と、
読取座標算出部が、前記基準点算出工程によって算出された基準点に基づいて、前記データコードにおける各ドットの読取座標を算出する読取座標算出工程と、
データコード読取部が、前記読取座標算出工程によって算出された読取座標に従って、前記データコードにおける各ドットを読み取るデータコード読取工程と、
を含むことを特徴とする。
【0015】
【作用】
即ち、本発明の情報記録媒体によれば、記録されるデータに応じて複数のドットが2次元に配列されたデータコードと、前記データコードにおける各ドットを読み取るための基準点に対して予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、を有する、データが光学的に読み取り可能な2次元コードを記録するものであり、前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットを、当該2つ以上の各ドットが前記位置関係に従って存在すべき位置と当該2つ以上の各ドットが実際に存在する位置との間の誤差を表す所定の評価関数を最小化することによって前記基準点が求められるように配置して記録している。
【0016】
また、本発明の2次元コードによれば、記録されるデータに応じて複数のドットが2次元に配列されたデータコードと、前記データコードにおける各ドットを読み取るための基準点に対して予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、を有するものであり、前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットが、当該2つ以上の各ドットが前記位置関係に従って存在すべき位置と当該2つ以上の各ドットが実際に存在する位置との間の誤差を表す所定の評価関数を最小化することによって前記基準点が求められるように配置されている。
【0017】
さらに、本発明の情報再生システムによれば、入力手段により、記録されるデータに応じて複数のドットが2次元に配列されたデータコードと、前記データコードにおける各ドットを読み取るための基準点に対して予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、を有する2次元コードを撮像してその画像データを得、探索手段によって、前記入力手段で得られた画像データから、前記予め設定された位置関係に従って前記少なくとも2つ以上のドットを探索する。その後、基準点算出手段によって、前記2つ以上の各ドットが前記位置関係に従って存在すべき位置と、前記探索手段で探索された前記2つ以上の各ドットが実際に存在する位置との間の誤差を表す所定の評価関数を最小化することによって前記基準点を求め、読取座標算出手段によって、前記基準点算出手段によって算出された基準点に基づいて、前記データコードにおける各ドットの読取座標を算出する。そして、データコード読取手段によって、この読取座標算出手段によって算出された読取座標に従って、前記データコードにおける各ドットを読み取る
【0018】
また、本発明の情報再生方法によれば、入力工程で、入力装置が、記録されるデータに応じて複数のドットが2次元に配列されたデータコードと、前記データコードにおける各ドットを読み取るための基準点に対して予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、を有する2次元コードを撮像してその画像データを得、探索工程で、探索部が、前記入力工程で得られた画像データから、前記予め設定された位置関係に従って前記少なくとも2つ以上のドットを探索する。その後、基準点算出工程で、基準点算出部が、前記2つ以上の各ドットが前記位置関係に従って存在すべき位置と、前記探索工程で探索された前記2つ以上の各ドットが実際に存在する位置との間の誤差を表す所定の評価関数を最小化することによって前記基準点を求め、読取座標算出工程により、読取座標算出部が、前記基準点算出工程によって算出された基準点に基づいて、前記データコードにおける各ドットの読取座標を算出する。そして、データコード読取工程で、データコード読取部が、前記読取座標算出工程によって算出された読取座標に従って、前記データコードにおける各ドットを読み取る。
【0019】
【実施例】
以下、図面を参照して、本発明の実施例を説明する。
【0020】
図1は、本発明の実施例の情報再生システムの構成を示す図で、入力装置102は、2次元コードを記録した記録媒体104を撮像して2次元コードの画像データを得る。2値化処理部106は、この画像データを二値化して、データメモリ(フレームメモリ)108に記憶させる。マーカ検出部110は、このデータメモリ108に記憶された画像データを用いて、マーカを検出する。
【0021】
ここで、上記記録媒体104上に記録された2次元コードは、例えば、図2の(A)に示すように、複数のブロック112をマトリクス状に配置したブロック群からなり、各ブロック112が、データの内容に応じて配列された複数のドットでなるデータコードパターンが入るデータコード領域114と、このデータコード領域114に関して所定の位置関係で配置される当該ブロックのアドレスを示すブロックアドレスパターン(アドレスコード)116とを有するものである。また、各ブロック112は、所定の位置例えばその4隅に配置されたマーカ118と、このマーカ118に対して所定の位置、例えば第1の方向に隣接するマーカ間に配置された所定のパターンコード(パターンマッチングドット群)120を有している。なお、アドレスコード116は、上記マーカ118に対して所定の位置、例えば第2の方向に隣接するマーカ間、に配置されることになる。これらパターンコード120、アドレスコード116、及びデータコード領域114内に配される不図示データコード(データドット群)は同じ大きさのドットの配列によって構成される。また、マーカ118は、これらのコードのドットに比較して大きなドットとして構成され、例えば同図の(B)に示すように、直径7ドットの円形ドットとして記録媒体上に記録される。
【0022】
従って、本実施例では、マーカ検出部110は、ブロック112の4隅に配置されたマーカ118を検出する。マーカ概中心算出部122は、これら検出されたマーカ118の概中心、つまり大まかな座標を算出する。パターンコード探索部124は、この概中心を仮基準点として、フォーマットメモリ126に記憶されている2次元コードのフォーマット情報、即ち、予め設定された位置関係情報に従って上記パターンコード120を探索する。マーカ真中心算出部128は、実際に検出されたパターンコード120の座標(現実点)と上記フォーマット情報により導き出される理想点とから、詳細は後述するような最小誤差法を使用してマーカ118の真中心、つまり本当の高精度な座標(真基準点)を求める。そして、データコード読取座標算出部130は、この算出されたマーカ118の真中心(真基準点)を基に、アドレスコード116及びデータコード領域114の一つ一つのドットつまりデータドットを、データメモリ108から読出すための読取座標を算出する。
【0023】
後は、この読取座標に従ってデータを読み出していき、復調、デインターリーブ、エラー訂正/検出などの特開平6−231466号公報に開示されたような処理を行って再生される。
【0024】
次に、上記のような構成の情報再生システムにおける読取座標算出処理を説明する。
【0025】
今、記録媒体104上に記録された2次元コードを入力装置102により撮像し、その撮像出力を2値化してデータメモリ108に記憶されているものとする。このデータメモリ108に記憶された画像を用いて、最初に、マーカ検出部110によりマーカ検出処理を行う。即ち、図3に示すように、まずストリーク処理を行い(ステップS102)、水平方向の閾値処理(ステップS104)並びに垂直方向の閾値処理を行う(ステップS106)ことによってマーカを検出する。
【0026】
ここで、ストリーク処理とは、既知の技術ではあるが、簡単に説明しておく。データメモリ108に記憶されている図2の(A)に示すような2次元コードパターンにおいて、これを水平方向にスキャンしていき、黒ドットを見つけ、その座標から幾つ黒ドットが続いているかをカウントしていく処理である。例えば、図2の(B)に示すマーカの場合、1行目(R1)では3列目(C3)より7列目(C7)まで黒ドットが5個続いているので、このストリーク処理を行うと、このストリーク処理の結果を一時的に記憶するための不図示ワークメモリに、図2の(C)に示すように、(R1,C3)座標位置に対して「5」という数値が立つ(実際には、ワークメモリには、当該座標位置データ「(R1,C3)」と長さデータ「5」の2つのデータが記憶される)。次に、カウントされてしまった座標を飛ばして(値「0」を入れて)、次の座標から同様の処理を行う。従って、この1行目(R1)は「005000000」となる。また、2行目(R2)も同様に処理を行うと、「070000000」という数値が入っていく。以下、同様に処理を行っていくと、図2の(C)に示すような結果が得られる。
【0027】
こうして得られた結果に対して、まず水平方向に閾値処理を行う。例えば、閾値として「6」を使うと、図2の(C)における(R1,C3)及び(R7,C3)の「5」という部分が消されてしまい、2行目(R2)乃至6行目(R6)のそれぞれ2列目(C2)の「7」という部分だけが残ることになる。そして、この画像を再展開する。即ち、「7」であれば、黒ドットを7個配置する。
【0028】
その後、上記水平方向と同様に、垂直方向にストリーク処理を行って、垂直方向に閾値処理を行う。
【0029】
こうして水平方向及び垂直方向に閾値処理の行われた画像を再展開すると、図4の(A)に示すように、円の上下が欠けたようなマーカの画像が得られる。また、パターンコード120及びデータコード領域114に入っている多数のドットパターン(場合によっては黒ドットが繋がる時もある)は、上記閾値処理によって全て消すことができる。
【0030】
このようにしてマーカが検出されたならば、次に、マーカ概中心算出部122は、既知の手法により各マーカ118の重心を算出する(ステップS108)。以降、この算出されたマーカ118の重心を概中心と呼ぶものとする。これにより、同図の(B)に示すように、各マーカ118の概中心が得られる。
【0031】
次に、パターンコード探索部124は、各概中心(仮基準点)を中心として、当該マーカ118に対して予め設定された所定の位置関係に設けられたパターンコード120を探索する。
【0032】
これは、まず近傍マーカ118を探索して(ステップS110)、それらマーカ間を仮想的に連結する処理を行う(ステップS112)ことから始められる。即ち、求められたマーカ概中心を水平及び垂直方向に連結することで矩形のブロック112を求める。こうしてマーカ118の連結が分かると、マーカ118の中心からどのくらいの距離にパターンコード120があるかという情報がフォーマット情報(設計値)として予めフォーマットメモリ126に記憶されているので、次に、このフォーマット情報に基づいて、パターンコード120の位置(理想点)を推定する(ステップS114)。そして、データメモリ108に記憶された実際のコードによるパターンコード120の検索を行う(ステップS116)。
【0033】
即ち、上記ステップS114では、パターンコード120がこの位置にあるはずだという予測を行うもので、例えば、座標(10,10)にこのパターンコード120が存在すると推定するわけであるが、実際にはパターンコード120がこの座標とずれている場合がある。そこで、このステップS116では、例えば、その推測された座標から1画素位ずつ上下に振って、パターンコード120を探索する。
【0034】
こうして見つかったパターンコードが実際のパターンコード120ということになり、既知の技術により、このパターンコード120の重心(現実点)を算出する(ステップS118)。
【0035】
以上のようにしてパターンコード探索処理が行われ、パターンコード120が検出されたならば、次に、マーカ真中心算出部128は、詳細は後述するような最小誤差法を使用して、各マーカ118の真中心つまり、つまり本当の高精度な中心座標を算出する。このマーカ真中心算出処理は、誤差最小化処理(ステップS120)とマーカ中心算出処理(ステップS122)とからなる。
【0036】
そして、上記のようにして算出された各マーカ118の真中心をデータコード120の読み取りの座標算出用基準点(真基準点)とし、データコード読取座標算出部130は、この座標算出用基準点に基づいて、アドレスコード116及びデータコード領域114内のデータコードを読み取る座標(絶対座標)を算出して(ステップS124)、この読取座標算出処理を終了する。後は、この読取座標に従って、データコード領域114内のデータコードを順次読み取り、復調再生して、所定の不図示出力装置により出力する。
【0037】
次に、上記最小誤差法を説明する。
【0038】
この最小誤差法には、いくつかの手法があり、まず最初に、図5を参照してベクトルフィティング法を説明する。これは、2個のマーカ118の真中心を同時に求めるものである。
【0039】
ここで、図中、正しい円で書かれているもの(薄い網掛けで示す)を真のマーカ18とし、左側をM1 ’、右側をM2 ’とする。また、それぞれの中心(真中心)をM1 ’(xm1’,ym1’)及びM2 ’(xm2’,ym2’)と記し、図では小さな白丸で示す。なお、この記号「’」は求めたい真中心であることを示すものとする。
【0040】
一方、円が欠けたようなマーカ(濃い網掛けで示す)は、ストリーク処理によって即ち画像から直接求められたものであり、左側をM1 、右側をM2 とする。また、それぞれの重心(概中心)をM1 (xm1,ym1)及びM2 (xm2,ym2)と記し、図では小さな黒丸で示す。
【0041】
これら概中心の座標が、ここまでの処理により情報として与えられ、この情報から最小誤差法により実際に正しい真中心を求める。
【0042】
マーカの間には、パターンコード(pi )と呼ばれているドットが、例えば10個割り振られている。
【0043】
このパターンコードを見つけるには、まず、重心(概中心)間を、つまり黒丸と黒丸とを直線で結ぶ。そして、結んだ後に、フォーマット情報に基づいて、例えば、この直線を何対何に分割したところに、このパターンコードの各ドットが存在するという情報を与える。この2つのマーカM1 とM2 の重心を結ぶ線分を分割する所定の間隔をdi で表す(但し、iは1〜10)。
【0044】
即ち、2つのマーカM1 とM2 の重心(仮基準点)を含む線分を所定の間隔di :1−di で分割することで、パターンコードが存在すべき座標(理想点)つまり重心pi ’(xi ’,yi ’)を推定することができる。この推定された座標の近傍を探索することにより実際のパターンコードpi を発見し、実際のパターンコードpi の重心pi (xi ,yi )を算出する。この実際のパターンコードpi の重心pi (xi ,yi )の算出は、既知の手法により行うことができるので、ここではその説明を省略する。
【0045】
今、推定されたパターンコードの重心pi ’(xi ’,yi ’)を2つの真のマーカM1 ’とM2 ’の中心M1 ’(xm1’,ym1’)とM2 ’(xm2’,ym2’)で表すと、
【0046】
【数2】
Figure 0003639328
となる。これは、設計値そのものであるので、簡単に表すことができる。
【0047】
ここで、推定されたパターンコードの重心pi ’(xi ’,yi ’)と実際のパターンコードの重心pi (xi ,yi )の距離の差を誤差εi で表すものとする。即ち、この誤差εi は、マーカの重心(概中心)が正しい中心(真中心)にないために発生する2本の直線間のパターンコードの各ドット位置における距離である。よって、この誤差εi を最小にすることで、正しい中心座標(真中心)を推定することができる。
【0048】
今、最小化すべき評価関数Eとして、この誤差εi 2 の総和、つまり距離を2乗して全部足したものを導入する。即ち、この評価関数Eは、
【0049】
【数3】
Figure 0003639328
である。このような評価関数Eを最小化すれば良いのであるから、まず、x座標を求めるには、xm1’,xm2’で偏微分を行う。
【0050】
【数4】
Figure 0003639328
上記2つの式を連立方程式として解くと、
【0051】
【数5】
Figure 0003639328
となり、真のマーカM1 ’,M2 ’のそれぞれの真中心のx座標が求まる。
【0052】
同様にして、評価関数Eの式をym1’,ym2’で偏微分して解くと、
【0053】
【数6】
Figure 0003639328
となり、真のマーカM1 ’,M2 ’のそれぞれの真中心のy座標が求まる。
【0054】
次に、図6を参照してベクトルフィティング法の別の例を説明する。これは、求めたい点が1つあり、また位置情報が相対的に分かっている点がいくつかあれば、その求めたい点を正確に得ることができるという例である。
【0055】
ここで、図中、正しい円で書かれているものを真のマーカとしM’で、また、その中心(真中心)をM’(xm ’,ym ’)と記し、図では小さな白丸で示す。一方、円が欠けたようなマーカMは、ストリーク処理によって即ち画像から直接求められたものであり、その重心(概中心)をM(xm ,ym )と記し、図では小さな黒丸で示す。また、パターンコードpi の重心pi (xi ,yi )の座標を、この概中心からの相対位置Δxi ,Δyi で表すものとする。
【0056】
このベクトルフィティングでは、まず、ストリーク処理によって求まった黒丸で示すマーカMの重心M(xm ,ym )から、パターンコードの最近傍の黒ドットp1 を探索する。これは、フォーマット情報に従って、マーカMの重心を中心に半径SQRT(Δx1 2 +Δy1 2 )の距離をサーチすることにより行われる(ここで、SQRT()は平方根を示す)。このパターンコードp1 が見つかれば、その重心p1 (x1 ,y1 )は、既知の技術により求められる。そして、この重心p1 (x1 ,y1 )と上記マーカMの重心M(xm ,ym )を結ぶ線分を延長することで、他のパターンコードが存在すべき座標pi ’(xi ’,yi ’)を推定できる。
【0057】
そして、推定されたパターンコードの重心pi ’(xi ’,yi ’)を、白丸で示す真のマーカの中心M’(xm ’,ym ’)と記録媒体の単位ベクトルex ’,ey ’で表すと、
【0058】
【数7】
Figure 0003639328
となる。
【0059】
ここで、単位ベクトルex ’,ey ’とは、記録媒体の座標系、つまりこの平面がどういう平面であるかということを記述するための記号である。即ち、設計値でΔxi ,Δyi 離れた所にパターンコードがあるといっているが、この撮影された面において、1画素が本当にここでいう設計値と一対一に対応しているとは限らず、誤差がある場合もある。実際には、1画素が1画素として記録されることはほとんど無く、例えば0.9画素で記録された場合、10ドット離れたところにパターンコードp1 があるという設計値になっていたとしても、実際の撮影された画像では9ドット離れたところにそれがあることになる。このように9ドット離れたところに重心が見つかった場合、このマーカMの重心M(xm ,ym )が悪くて9ドットになってしまっているのか、基本ベクトルが悪くて9ドットになっているのかを、数学的に分類することができる。
【0060】
そして、推定されたパターンコードの重心pi ’(xi ’,yi ’)と実際のパターンコードpi (xi ,yi )の距離を誤差εi で表わす。この誤差εi はマーカの重心が正しい中心に無いために発生する。よって、この誤差εi を最小化することで正しい中心座標を推定できる。今、最小化すべき評価関数Eを
【0061】
【数8】
Figure 0003639328
とする。
【0062】
評価関数Eを最小化するため、xm ’,ex ’で偏微分すると、
【0063】
【数9】
Figure 0003639328
となり、これを連立方程式として解くと、
【0064】
【数10】
Figure 0003639328
というように真のマーカの中心のx座標xm ’及びx方向の単位ベクトルex ’が求められる。
【0065】
同様にして、ym ’,ey ’で上記評価関数Eを偏微分して解くと、
【0066】
【数11】
Figure 0003639328
というように真のマーカの中心のy座標ym ’及びy方向の単位ベクトルey ’が求められる。
【0067】
なおここで、上記式中のnは、パターンコードの個数を表す。図6の例では、パターンコードを4個使っているので、n=4となる。
【0068】
このようにして、マーカMの重心の正しい位置つまり真中心M’(xm ’,ym ’)と、単位ベクトルex ’,ey ’つまり1画素が本当に1画素になっているかというのが、同時に求まる。
【0069】
次に、最小誤差法の別の例として、図7を参照してポイントフィティング法を説明する。これは、図6のベクトルフィティングと同様の概念であるが、ベクトルを推定するという項を省いたものである。即ち、ラインセンサによって入力された場合、光学的な歪みや傾きなどが存在しないということを仮定したとき、記録媒体の座標系を定める必要は無いものとしている。
【0070】
このポイントフィティングでは、まず、ストリーク処理によって求まった黒丸で示すマーカMの重心M(xm ,ym )から、所定の距離(SQRT(Δx1 2 +Δy1 2 ))にある最近傍のパターンコードp1 を探索し、このコードp1 の重心p1 (x1 ,y1 )とマーカの重心M(xm ,ym )を結ぶ線分を延長することで、他のパターンコードが存在すべき座標pi ’(xi ’,yi ’)を推定できる(なお、SQRT()は平方根を示す)。
【0071】
そして、推定されたパターンコードの重心pi ’(xi ’,yi ’)を、白丸で示す真のマーカの中心M’(xm ’,ym ’)で表すと、
【0072】
【数12】
Figure 0003639328
となる。
【0073】
ここで、推定されたパターンコードの重心pi ’(xi ’,yi ’)と実際のパターンコードの重心pi (xi ,yi )の距離を誤差εi で表わす。この誤差εi はマーカの重心が正しい中心に無いために発生する。よって、この誤差εi を最小化することで正しい中心座標を推定できる。今、最小化すべき評価関数Eを
【0074】
【数13】
Figure 0003639328
とする。
【0075】
この評価関数Eを最小化するため、xm ’,ym ’で偏微分すると、
【0076】
【数14】
Figure 0003639328
となる。よって、
【0077】
【数15】
Figure 0003639328
というように真のマーカの重心つまり真中心の座標(xm ’,ym ’)が求められる。
【0078】
次に、最小誤差法の別の例として、図8の(A)を参照してラインフィティング法を説明する。これは、最小2乗法を利用したものである。
【0079】
即ち、ドットが存在する直線をy=a’x+b’とし、i番目のドットDi の観測座標をDi (xi ,yi )とおく。
【0080】
上記直線の式から推定されるyi ’とyi の誤差εi は、
εi =yi ’−yi =a’xi +b’−yi
で表される。
【0081】
観測される全てのドットに対して誤差との評価関数(2乗和)Eを求めた時に、これを最小化するようにa’,b’を推定する。
【0082】
【数16】
Figure 0003639328
上記(1)式,(2)式より、
【0083】
【数17】
Figure 0003639328
となる。
【0084】
ここで、M1 (x0 ,y0 )のx座標をD1 ,DN から外挿により求める。
【0085】
x0 =(e1 /d)(x1 −xN )+x1
これを直線の式に代入して、
【0086】
【数18】
Figure 0003639328
となる。
【0087】
マーカM2 に関しても同様である。
【0088】
次に、以上のような最小誤差法を実際にパターンに応用した2次元コードパターンの変形例を説明する。
【0089】
まず、図9の(A)は、ブロック単位に黒と白を反転させた例である。このような手法を用いると、マーカというデータコードに比較して大きな面積を占めていた部分が必要なくなり、記録密度を上げることができる。
【0090】
このようなコードパターンでの読取座標算出は、同図の(B)に示すように、まずエッジを抽出し(ステップS132)、閾値処理を行って(ステップS134)、同図の(A)の右側に示すように境界線132を求める。そして、この境界線132の交点134を求める(ステップS136)。これらの処理は、既知の技術であるので、その説明は省略する。
【0091】
こうして交点134が抽出されたならば、フォーマット情報に基づき、交点134から所定の距離範囲(所定半径r)内にあるデータコードのドットを推定する(ステップS138)。また、この推定したものと、実際のデータコードのドットは多少ずれが生じており、よって、上記推定位置からデータコードのドットを探索し(ステップS140)、データコードのドットの実際の重心を求める(ステップS142)。
【0092】
そして、フォーマット情報から求められた重心と、実際のデータコードのドットから求めた重心との誤差を最小化するように(ステップS144)、交点134の座標を再調整する(ステップS146)。こうして、交点134が4個算出されたならば、ブロックの4隅の座標が決定できるので、そのブロック内の平面を格子状に分割するように読取座標を算出する(ステップS148)。
【0093】
即ち、この例では、座標算出用基準点を求めるのにパターンコードを用いずに境界線132を用い、また座標算出用基準点としてマーカの真中心ではなくて境界線132の真の交点134を利用している。従って、マーカだけではなく、パターンコードも必要としないので、さらに記録密度を向上させることができる。
【0094】
図8の(B)は、座標算出用基準点としてデータコードを利用するものである。この例の2次元コードパターンにおいては、データコードの各ドットはそれぞれΔx,Δyだけ離れて配置され、このΔx及びΔyの値がフォーマット情報として予め与えられるようになっている。
【0095】
このようなコードパターンでの読取座標算出は、図10に示すように、まずスキャンを端から順番にしていき、最初に黒ドットが抽出されるのを待ち、黒ドットが抽出されると、それを注目コード136とする(ステップS152)。
【0096】
そして、この注目コード136から、フォーマット情報に基づいて所定範囲内(図8の(B)において円で囲って示す)にあるドットの座標を推定する(ステップS154)。
【0097】
ここで、本実施例では、8方向を探索していき、上記推定座標から黒ドットを探索し(ステップS156)、その重心を既知の手法により算出する(ステップS158)。
【0098】
この場合もやはり、推定した黒ドットの座標と実際にあった黒ドットの重心の座標とはずれがあるので、前述したようにこのフォーマット情報から求めた推定座標と実際の重心との誤差を最小化する(ステップS160)ように、注目コード136の座標を再設定する(ステップS162)。
【0099】
こうして注目コード136の正確な座標が求まったならば、この注目コード136の座標からフォーマット情報に基づき隣接ドットの読取座標を順次算出する(ステップS164)。つまり、注目コード136の座標からΔx,Δyだけ順次ずらしていく。
【0100】
ただし、印刷精度などの問題を考慮すると、これを繰り返して行くにつれて誤差が蓄積してくるので、定期的にリフレッシュさせることが必要である。即ち、この注目コード136の座標からΔx,Δyだけ順次ずらしていく動作は、当該注目コード136から所定間隔(Δx”,Δy”)離れるまで(ステップS166)繰り返される。そして、この所定間隔(Δx”,Δy”)に達したならば、2次元コードパターンの最後まで処理したかどうか確認した(ステップS168)後、もう一度上記ステップS152から上記処理を繰り返す。これにより、誤差の蓄積を防ぎ、より高精度に座標を算出できる。
【0101】
図11の(A)は、大きなマーカ138の中にパターンコード140を埋め込んでいるものである。即ち、マーカとパターンコードを一体化させることにより、図2の(A)に示したようなマーカ118間に配列されていたパターンコード120を不要とし、その位置もデータコードの記録領域(データコード領域114)として利用できるようにして、記録密度をその分向上した例である。
【0102】
このような2次元コードパターンでの読取座標算出は、図11の(B)に示すように、まず、ラベリング処理を行い、大きい面積のものだけ抽出する(ステップS172)。そして、各ラベル領域の面積を算出し(ステップS174)、閾値処理により面積の大きいマーカ138だけを取り出して(ステップS176)、そのマーカ138の重心を既知の手法により求める(ステップS178)。
【0103】
次に、フォーマット情報に基づき、マーカ138の重心から所定の距離にあるそのマーカ内のパターンコード140の座標を推定する(ステップS180)。
【0104】
また、これら推定された座標に基づき実際のパターンコード140を探索し(ステップS182)、探索されたパターンコード140のドットの重心を既知の手法により算出する(ステップS184)。
【0105】
そして、これら推定された座標と実際に算出された重心との誤差を最小化する(ステップS186)ように、マーカ138の重心位置を算出し直す(ステップS188)。こうしてマーカ138の真の中心の座標が求まったならば、4組のマーカ138の中心から読取座標を算出する(ステップS190)。
【0106】
また、パターンコードは、図2の(A)に示すようなマーカ118間に一列に配列する以外にも、種々の配列が可能である。
【0107】
例えば、図12の(A)に示すように、1個のマーカ118を中心として4方向に所定距離だけ延びるように配列したパターンコード142とすることができる。即ち、マーカ間に水平方向に一列に配列されたパターンコードを使用するよりは、求めたい中心の近くにあるパターンコードを使った方が誤差が少なく、また、水平方向だけでなく直交する方向にもパターンコードを配列しておいたほうが、精度が高くなる。即ち、水平方向にパターンコードを延ばしただけでは、前述した最小誤差法を用いる場合、y軸に関する誤差が少なくなってしまうが、このように直角の方向に延ばされていれば、そのy軸方向の誤差も大きくとることが可能となり、より正確に求まるようになる。
【0108】
さらに、同図の(B)に示すように、所定間隔あけて八方向に配置したパターンコード144とすると、より精度が高くなる。
【0109】
また、同図の(C)は、データコード146の各ドット間の隙間にパターンコード148を埋め込んだものである。即ち、データコード146は丸ドットとして記録されるため、必ず隙間ができる。そこで、この隙間領域にパターンコード148を埋め込むことにより、特にパターンコードのためだけに使用される領域を設ける必要がなくなり、高密度記録が可能になる。なお、この場合は、パターンコード148の各ドットの大きさが小さくなるため1ドット当たりの信頼性が低下することになるが、パターンコード148のドット個数を千個程度まで増加させることにより、トータルとしての信頼性は増加する。
【0110】
また同図の(D)は、直線状のマーカ150としたものである。即ち、2次元コードの中央部分に縦走するような線状のマーカ150を配置すると共に、所定間隔でパターンコード152を水平に配置し、このパターンコード152が存在する位置に対応して、マーカ150の縦線を横切るような水平線154を加えたものである。
【0111】
この場合、フレーム単位で走査を行うと、マーカ150の線はフレーム156内を上下方向に走ることになる。よって、上下に連結している領域を既知の手法により抽出することで、マーカ検出が可能になる。そして、このマーカ150が検出されたならば、マーカ上での水平線154との交点を探索し、その交点から所定の距離にパターンコード152が存在することになる。
【0112】
このように図12の(D)に示したような線状マーカ150とすると、大きな黒丸で構成されるマーカに比べて面積が減少し、その分、記録密度を上げることができる。また、前述したようなストリーク処理を行うよりも、線つまりフレーム内で上下に繋がっている点を見つける方が処理が容易且つ高速である。
【0113】
図13の(A)は、非ブロック化したフォーマット、つまりフレーム156を単位とするフォーマットを示している。即ち、2次元コードがダブルハイト(データaとbで同じデータが記録されている)で記録されているものとし、パターンコード120とマーカ118対を左右データコードにカスケード状に配置し、フレーム156が上下に走査しても常に2組以上のパターンコード120とマーカ118がフレーム内に存在するように間隔を調整する。これにより、最低限3点のマーカ118の真中心が定まり、読取座標を決定できる。
【0114】
つまり、本例は、一列おきにマーカとパターンコードを省略して記録密度を上げたものである。
【0115】
同図の(B)は、パターンコードの多重化記録の例であり、ブロック内全体にデータコード158を印刷し、この上に、位置を合わせてマーカ、パターンコード、アドレスコードを透明インクにて重層的に印刷したものである(図では、透明であることを白抜きの丸160で示す)。この場合、この透明な印刷は、紫外光などの照射に応じて蛍光を発するような透明インクにて行われる。
【0116】
また、このような透明インクを用いる代わりに、磁性インクでマーカ、パターンコード、アドレスコードを印刷し、この上に白色印刷をし、さらにデータコードを印刷することも考えられる。この場合には、読み込みには、光学センサと共に磁気センサも必要となる。すなわち、本例の場合には、マーカとパターンコードがデータの記録面積に影響しないので、データの記録密度(記録容量)が向上できる。
【0117】
同図の(C)は、マーカ162を特殊印刷する例を示している。即ち、マーカ162を色、磁性、蛍光などの特殊インクで印刷するならば、このマーカの大きさをデータコード以下のサイズまで縮小することができる。
【0118】
また、上記説明では、パターンコードを使ってマーカの真中心を求める場合、各パターンコードの各ドットの重心を求めてこれらの重心から最小誤差法により真中心を算出するものとしていたが、この重心を求める処理を軽減するために、図14に示すように、パターンコードの各ドット164の外接四辺形の中心を代用するようにしても良い。これにより、真中心の精度をほとんど落とすことなく、処理の軽減を図れる。
【0119】
さらに、別の2次元コードの構成を説明する。
【0120】
図15の(A)は、パターンコード120を、マーカ118間ではなくて、データコード領域114の中央に一列に配列したものである。また、同図の(B)は、マーカ118間の中央にそれぞれ1ドットずつ配置したパターンコード166を示している。同図の(C)は、ブロックの中央にまとめた配置したパターンコード168とした例である。
【0121】
一方、同図の(D)はパターンコード自体が無いものであり、同図の(E)は、これを実際に撮像した1フレーム内の画像を示している。この場合、パターンコードの代わりにマーカを用いることになる。
【0122】
このような構成の2次元コードにおいても、前述したようなベクトルフィティングやポイントフィティング、あるいは次のようなレクタングルフィティングなどにより、これらの図中に白抜きの×で記されているブロックの基準座標(なお、図15の(B)では、図面の大きさの都合上、白抜きの×は示していないが、パターンコード166が基準座標となる)を算出することができ、この基準座標に基づきそれぞれ後述する処理を行うことで、上述した2次元コードの場合と同様に、高精度に各ドット位置を求めることができる。
【0123】
ここで、前記のレクタングルフィティングを、同図の(D)の場合を例に説明する。
【0124】
まず、ブロックの基準座標つまりマーカ118の概中心を結ぶ4本の直線があり、その内の1本の直線の方程式はy=a1 x+b1 で表される。この直線と他の3本の直線は予め位置関係が決まっているので、他の3本の直線の方程式はこのパラメータ即ちa1 とb1 を使って全て表すことができる。即ち、y=−1/a1 x+b1 +C2 {a1 }、y=a1 x+b1 +C3 {a1 }、y=−1/a1 x+b1 +C4 {a1 }である。ここで、C2 {a1 }、C3 {a1 }、C4 {a1 }はそれぞれa1 に関する関数である。
【0125】
そして、4点のマーカ118の概中心を使ってこれら4本の直線にフィットさせる。この場合、最小2乗近似を用いる。
【0126】
今、マーカ概中心の座標を、M1 (x1 ,y1 )、M2 (x2 ,y2 )、M3 (x3 ,y3 )、M4 (x4 ,y4 )とすると、それぞれの評価関数E1 〜E4 は、
E1 =(y1 −a1 x1 +b1 )2 +(y2 −a1 x2 +b1 )2
E2 =(y2 +1/a1 x2 +b1 +C2 {a1 })2 +(y3 +1/a1 x3 +b1 +C2 {a1 })2
E3 =(y3 −a1 x3 +b1 +C3 {a1 })2 +(y4 −a1 x4 +b1 +C3 {a1 })2
E4 =(y4 +1/a1 x4 +b1 +C4 {a1 })2 +(y1 +1/a1 x1 +b1 +C4 {a1 })2
となる。従って、最小化すべき評価関数Etot は、
Etot =E1 +E2 +E3 +E4
である。
【0127】
このような評価関数Etot が最小になるようにa1 ,b1 を決定し、直線の交点をブロック基準点つまり座標算出用基準点とする。このために、Etot をa1 ,b1 で偏微分し、
【0128】
【数19】
Figure 0003639328
ここで、C2 {a1 }、C3 {a1 }、C4 {a1 }は以下のように決まる。
【0129】
C2 {a1 }=−(a1 +1/a1 )(SQRT(1+d2 )+x4 )
C3 {a1 }=−a1 SQRT(1+d2
C4 {a1 }=−a1 SQRT(1+d2 )−x4 (a1 +1/a1 )
ここで、SQRT()は平方根を、dはマーカ間の距離を示す。
【0130】
以上から、ブロックを囲む4本の直線を一意的に決定できる。
【0131】
より一般的には、
【0132】
【数20】
Figure 0003639328
が最小になれば良い。
【0133】
従って、次式を解くことになる。
【0134】
【数21】
Figure 0003639328
次に、このようなレクタングルフィティングを用いる場合の情報再生システムの構成を説明する。
【0135】
即ち、図16の(A)に示すように、記録媒体上に印刷された2次元コードを撮像する画像入力部170があり、この中で2値化などがなされて、フレームメモリ172に記憶される。
【0136】
パターンコード抽出部174は、このフレームメモリ172に入ったデータから前述したような手法でパターンコードを抽出する。複数回帰直線算出部176は、この抽出されたパターンコードを使用して複数の直線にフィットさせる。そして、データコード読取領域基準座標算出部178にて、4隅の座標、具体的には直線の交点を算出する。領域基準座標内データコード読取座標生成部180は、この直線の交点つまり基準座標に基づいて、ブロック領域内のデータコードの読取座標を格子状に分割することで求める。
【0137】
そして、データコード読取部182は、この読取座標に従ってフレームメモリ172に記憶されたデータコードを読み取って出力する。後は、復調、デインターリーブ、エラー訂正/検出などの特開平6−231466号公報に開示されたような処理を行って再生される。
【0138】
同図の(B)は、図15の(A)や(B)に示したようなドットパターンを読み取るようにした場合の情報再生システムの変形例を示している。
【0139】
即ち、画像入力部170は、記録媒体上に印刷された2次元コードを撮像し、得られた画像データを2値化などしてフレームメモリ172に記憶する。
【0140】
画像内マーカ概中心座標算出部184は、このフレームメモリ172に入ったデータを使って、マーカの概中心座標を算出する。これは、前述したようなストリーク処理による。そして、パターンコード抽出部174は、このマーカと所定の位置関係にあるパターンコードを抽出し、複数回帰直線算出部176はこのパターンコードに基づいて回帰直線(図15の(A)や(B)中に破線で示す)を算出する。データコード読取領域基準座標算出部178は、それらの回帰直線の交点つまり基準座標を求める。領域基準座標内データコード読取座標発生部180は、この基準座標を使って、データコードの読取座標を算出する。
【0141】
そして、データコード読取部182は、この読取座標に従ってフレームメモリ172に記憶されたデータコードを読み取って出力する。後は、復調、デインターリーブ、エラー訂正/検出などの特開平6−231466号公報に開示されたような処理を行って再生される。
【0142】
図17は、このような構成における1フレーム分のデータ読取処理のフローチャートである。
【0143】
即ち、まず最初の処理として、画像入力部170は、フレーム画像を2値化して、フレームメモリ172へ記憶する(ステップS202)。そして、画像内マーカ概中心座標算出部184は、このフレームメモリ172内のデータから既知の手法によりマーカの概中心を算出する(ステップS204)。
【0144】
次に、パターンコード抽出部174は、未使用マーカがあるかどうかを判定し(ステップS206)、まだこれから処理しなければいけないマーカがある場合には、複数の概中心座標から予め位置関係の定まっているパターンコードを抽出していく(ステップS208)。そして、複数回帰直線算出部176は、抽出された各パターンコードのそれぞれのドット中心座標を求め(ステップS210)、直線上に予め配置された複数パターンコードに対して、これらの中心座標から最小2乗近似により直線の方程式を求める(ステップS212)。
【0145】
この直線の方程式の算出処理を、直線の算出数が所定数に達するまで(ステップS214)繰り返し、所定数に達したならば、データコード読取領域基準座標算出部178は、直線の交点を求めて、ブロック基準座標とする(ステップS216)。
【0146】
こうして1つのブロック基準座標が求まったならば、次に、1ブロックの基準座標が全て、つまりブロックの4隅の4点が全て検出できたかどうかの判定を行い(ステップS218)、まだの場合には上記ステップS212に戻って、上記の処理を繰り返す。
【0147】
また、1ブロックの基準座標が全て検出し終わった場合には、領域基準座標内データコード読取座標生成部180は、それらブロック基準座標を結び、この線分を分割する(ステップS220)。これは、データコードが印刷されている間隔で格子状に分割するということである。
【0148】
そして、この分割線分の交点をデータ読取座標として、データコード読取部182は、データを読み取っていく(ステップS222)。
【0149】
これで1ブロックの処理が終わり、上記ステップS206に戻って、上記の処理を繰り返すことにより、フレームの中に入っているブロックを全て処理すると、このステップS206で未使用マーカが無しと判定されて、処理を終了する。
【0150】
図16の(C)は、情報再生システムのさらに別の変形例を示している。これは、図15の(D)及び(E)に示したようなパターンコード自体がない(パターンコード=マーカの)場合の構成である。
【0151】
即ち、画像入力部170は、記録媒体上に印刷された2次元コードを撮像し、得られた画像データを2値化などしてフレームメモリ172に記憶する。
【0152】
画像内マーカ概中心座標算出部184は、このフレームメモリ172に入ったデータを使って、マーカの概中心座標を算出する。複数回帰直線算出部176は、この複数の概中心座標を使って複数の回帰直線を算出する。データコード読取領域基準座標算出部178は、その回帰直線の交点つまり基準座標を求める。領域基準座標内データコード読取座標発生部180は、この基準座標を使って、データコードの読取座標を算出する。
【0153】
そして、データコード読取部182は、この読取座標に従ってフレームメモリ172に記憶されたデータコードを読み取って出力する。後は、復調、デインターリーブ、エラー訂正/検出などの特開平6−231466号公報に開示されたような処理を行って再生される。
【0154】
図18は、このような構成における1フレーム分のデータ読取処理のフローチャートである。
【0155】
即ち、まず、画像入力部170は、フレーム画像を2値化して、フレームメモリ172へ記憶する(ステップS232)。そして、画像内マーカ概中心座標算出部184は、このフレームメモリ172内のデータから既知の手法によりマーカの概中心を算出する(ステップS234)。
【0156】
次に、複数回帰直線算出部176は、未使用マーカがあるかどうかを判定し(ステップS236)、まだこれから処理しなければいけないマーカがある場合には、直線上に予め配置された複数のマーカに対して、これらの概中心座標から最小2乗近似により直線の方程式を求める(ステップS238)。
【0157】
この直線の方程式の算出処理を、直線の算出数が所定数に達するまで(ステップS240)繰り返し、所定数に達したならば、データコード読取領域基準座標算出部178は、この直線の交点を求めて、それをブロック基準座標とする(ステップS242)。
【0158】
こうして1つのブロック基準座標が求まったならば、次に、1ブロックの基準座標が全て、つまりブロックの4隅の4点が全て検出できたかどうかの判定を行い(ステップS244)、まだの場合には上記ステップS236に戻って、上記の処理を繰り返す。
【0159】
また、1ブロックの基準座標が全て検出し終わった場合には、領域基準座標内データコード読取座標生成部180は、それらブロック基準座標を結び、この線分を分割する(ステップS246)。これは、データコードが印刷されている間隔で格子状に分割するということである。
【0160】
そして、データコード読取部182は、この分割線分の交点をデータ読取座標としてデータを読み取っていく(ステップS248)。
【0161】
これで1ブロックの処理が終わり、上記ステップS236に戻って、上記の処理を繰り返すことにより、フレームの中に入っているブロックを全て処理すると、このステップS236で未使用マーカが無しと判定されて、処理を終了する。
【0162】
また、パターンコードを、図12の(A)に示すように、1個のマーカを中心として4方向に所定距離だけ延びるようにパターンコードを配列しなくとも、図19の(A)に示すように、マーカ118近傍の両側のパターンコード120だけを使ってマーカ118の真中心つまり基準座標を算出するようにすれば、マーカ118間に一列に配置したものであっても精度良く求めることができる。すなわち、パターンコード120を一列に配列した場合、画像入力部の光学系に歪などにより周辺部がずれてパターンコード120のドットが曲線上に並ぶように撮像されてしまう恐れがあるが、求めたい中心点の近傍のドットを使用すれば、このずれ量が小さく、正確に求めることができる。
【0163】
図19の(B)は、この場合の情報再生システムの構成を示す図である。
【0164】
即ち、画像入力部186は、記録媒体上に印刷された2次元コードを撮像し、得られた画像データを2値化などしてフレームメモリ188に記憶する。
【0165】
マーカ概中心座標算出部190は、このフレームメモリ188に入ったデータを使って、マーカの概中心座標を算出する。パターンコード抽出部192は、この概中心から所定距離内にある左右両側のパターンコード120を抽出する。ブロック基準座標算出部194は、これらパターンコード120間にあるマーカ118の真中心つまりブロック基準座標を誤差最小法を用いて算出する。データコード読取座標算出部196は、このブロック基準座標を使って、データコードの読取座標を算出する。
【0166】
そして、データコード読取部198は、この読取座標に従ってフレームメモリ188に記憶されたデータコードを読み取って出力する。後は、復調、デインターリーブ、エラー訂正/検出などの特開平6−231466号公報に開示されたような処理を行って再生される。
【0167】
図20は、このような構成における1フレーム分のデータ読取処理のフローチャートである。
【0168】
即ち、まず、画像入力部186は、フレーム画像を2値化して、フレームメモリ188へ記憶する(ステップS252)。そして、マーカ概中心算出部190は、フレームメモリ188内のデータから既知の手法によりマーカの概中心を算出する(ステップS254)。
【0169】
次に、パターンコード抽出部192は、未処理マーカがあるかどうかを判定し(ステップS256)、まだこれから処理しなければいけないマーカがある場合には、ペアとなる隣接マーカの概中心を選択し(ステップS258)、これら概中心を結んだ直線を外へ延長する(ステップS260)。
【0170】
そして、この直線上で各概中心から一定半径内のパターンコードを探索し(ステップS262)、見つけられたパターンコードの数をカウントする(ステップS264)。ここでこのカウントした数が所定数に達しているかどうか判断し(ステップS266)、まだであれば探索半径を変更(拡大)しする(ステップS268)。ここで、この変更した探索半径が限界値以下であるかどうかチェックし(ステップS270)、限界値以下であれば上記ステップS262に戻り、またそうでなければ上記ステップS256に戻る。
【0171】
一方、カウント数が所定値に達したならば、ブロック基準座標算出部194は、それら見つけられたパターンコードを用いて、このパターンコードに挟まれたブロック基準座標を算出する(ステップS272)。この場合、前述したような誤差最小法を利用する。
【0172】
こうして1つのブロック基準座標が求まったならば、次に、1ブロックの基準座標が全て、つまりブロックの4隅の4点が全て算出できたかどうかの判定を行い(ステップS274)、まだの場合には上記ステップS256に戻って、上記の処理を繰り返す。
【0173】
また、1ブロックの基準座標が全て検出し終わった場合には、データコード読取座標算出部196は、それらブロック基準座標よりブロック内データコード読取座標を算出する(ステップS276)。これは、データコードが印刷されている間隔で格子状に分割するということである。
【0174】
そして、データコード読取部198は、この読取座標に従ってデータを読み取っていく(ステップS278)。
【0175】
これで1ブロックの処理が終わり、上記ステップS256に戻って、上記の処理を繰り返すことにより、フレームの中に入っているブロックを全て処理すると、このステップS256で未使用マーカが無しと判定されて、処理を終了する。
【0176】
ところで、何らかの原因によりパターンコードの一部が欠落することがある。そのような場合には、図21の(A)に示すように、そのパターンコード120をサーチしていく線分上を延長した所にある欠落したパターンコードドット200近傍のパターンコード120のドット202を使ってブロック基準座標を求めることができる。すなわち、この例は、欠落したままで基準座標を求めようとすると、当然、パターンコード120のドットの数が減り精度が落ちるので、それを補うために、回りのパターンコード120を使って精度を保たせようとするものである。
【0177】
同図の(B)は、この場合の情報再生システムの構成を示す図である。
【0178】
即ち、画像入力部186は、記録媒体上に印刷された2次元コードを撮像し、得られた画像データを2値化などしてフレームメモリ188に記憶する。
【0179】
マーカ概中心座標算出部190は、このフレームメモリ188に入ったデータを使って、マーカの概中心座標を算出する。パターンコード抽出部192は、この概中心から所定距離内にあるパターンコードを抽出する。抽出パターンコード数カウンタ204は、抽出されたパターンコードのドット数をカウントする。判定部206は、このカウント数と所定閾値とを比較し、カウント数がこの所定閾値に達しないときには、上記パターンコード抽出部192に、足りない分のパターンコードのドットを次のパターンコードからさらに抽出させる。
【0180】
ブロック基準座標算出部194は、これら抽出されたパターンコードから誤差最小法によりマーカの真中心つまりブロック基準座標を算出する。データコード読取座標算出部196は、このブロック基準座標を使って、データコードの読取座標を算出する。そして、データコード読取部198は、この読取座標に従ってフレームメモリ188に記憶されたデータコードを読み取って出力する。後は、復調、デインターリーブ、エラー訂正/検出などの特開平6−231466号公報に開示されたような処理を行って再生される。
【0181】
図22は、このような構成における1フレーム分のデータ読取処理のフローチャートである。
【0182】
即ち、まず、画像入力部186は、フレーム画像を2値化して、フレームメモリ188へ記憶する(ステップS282)。そして、画像内マーカ概中心算出部190は、フレームメモリ内のデータから既知の手法により複数のマーカを抽出し、これらマーカの概中心を算出する(ステップS284)。
【0183】
次に、パターンコード抽出部192は、未処理マーカがあるかどうかを判定し(ステップS286)、まだこれから処理しなければいけないマーカがある場合には、これらの概中心からブロック内の予め決められた位置のパターンコードを探索し(ステップS288)、抽出パターンコード数カウンタ204は、見つけられたパターンコードの数をカウントする(ステップS290)。ここで、判定部296は、このカウントした数が所定数に達しているかどうか判定する(ステップS292)。まだ達していない場合には、パターンコード抽出部192は、ブロック外で対応する位置のパターンコードを探索し(ステップS294)、抽出パターンコード数カウンタ204は、この見つけられたパターンコードの数を上記カウント数に加える(ステップS296)。そして、再度、判定部206は、カウント数が所定数に達しているかどうか判定し(ステップS298)、まだであれば、このブロックの処理は不能として上記ステップS286に戻り、次のブロックの処理へと進む。
【0184】
一方、上記ステップS292又はS298において、カウント数が所定数に達したと判定された場合には、ブロック基準座標算出部194は、それら見つけられたパターンコードを用いてブロック基準座標を算出する(ステップS300)。この場合、前述したような誤差最小法例えば最小2乗近似により最適座標位置を決定する。
【0185】
こうして1つのブロック基準座標が求まったならば、次に、1ブロックの基準座標が全て、つまりブロックの4隅の4点が全て算出できたかどうかの判定を行い(ステップS302)、まだの場合には上記ステップS286に戻って、上記の処理を繰り返す。
【0186】
また、1ブロックの基準座標が全て検出し終わった場合には、データコード読取座標算出部196は、それら基準座標よりブロック内データコード読取座標を算出し(ステップS304)、データ読取部198は、この読取座標に従ってデータを読み取っていく(ステップS306)。
【0187】
これで1ブロックの処理が終わり、上記ステップS286に戻って、上記の処理を繰り返すことにより、フレームの中に入っているブロックを全て処理すると、このステップS286で未使用マーカが無しと判定されて、処理を終了する。
【0188】
次に、マーカを無くしてパターンコードだけで読み取れるようにした例を説明する。即ち、本例では、矩形ブロックの境界部に配列されたパターンコードとして、図23に示すように、黒ドットと白ドットとが交互に配されたパターンコード208を用いる。一方、データ部210に配されるデータコードとしては、このような黒白交互パターンが存在しないような変調が加えられている。つまり、パターンコード208を周期的コード体系で、データ部210のデータコードを非周期的コード体系で記録する。
【0189】
そして、このようなパターンコード208とデータコードでなる2次元コードパターンを撮像してメモリに記憶する。この画像をAプレーンとする。また、この得られた画像を1ドット分ずらしてメモリに記憶する。この画像をBプレーンとする。これらAプレーンとBプレーンとの排他的論理和(XOR)をとってメモリに記憶する。すると、パターンコードの部分が全て黒ドットの連続となる。一方、データ部210は、前述したように黒白交互パターンの配列を禁止してるので、黒ドットがある程度以上続くことは決してない。即ち、パターンコード208が黒白合わせてNドットであったとすると、黒ドットの連続数はNよりも必ず少なくなる。従って、このN個連続した黒ドットを見つけることで、パターンコード208の位置を算出することができる。
【0190】
こうしてパターンコード208の位置が算出されたならば、メモリに記憶されたAプレーンの画像データを使って、前述したように誤差最小法を利用してブロックの基準座標を求め、読取座標を算出することができる。
【0191】
図24の(A)は、この場合の情報再生システムのブロック構成図であり、図25は動作フローチャートである。
【0192】
即ち、画像入力部212は、図23に示すような黒ドットと白ドットとが交互に配されたパターンコード208を持つ2次元コードパターンが印刷された情報記録媒体を撮像し、2次元コードパターンの画像を得、これを2値化して第1メモリ(メモリ1)214へ格納する(ステップS312)。即ち、Aプレーンの画像を得る。次に、1ドットシフト画像生成部216は、予め決められた方向へ1ドットサイズ分、この第1メモリ214に記憶された画像をシフトしてBプレーンの画像を生成し、第2メモリ(メモリ2)218に格納する(ステップS314)。そして、排他的論理和算出部220は、これら第1及び第2メモリ214,218に記憶された2つのビットマップデータに対し排他的論理和を取り、その結果を第3メモリ(メモリ3)222へ格納する(ステップS316)。
【0193】
ここで、所定パターン連続発生数算出部224は、第3メモリ222に記憶されたデータから黒ドットの連続数をカウントする(ステップS318)。パターンコード位置検出部226は、このカウントされた連続数が所定値以上かどうか判断し(ステップS320)、そうであれば連続点の始点と終点で挟まれた線分上をパターンコード208の存在領域として記憶する(ステップS322)。その後、あるいは上記ステップS320で設定値に達してないと判断された場合には、1画面つまりフレームの処理が終了したかどうか判断し(ステップS324)、まだであれば上記ステップS318に戻る。
【0194】
また、1画面の処理が終了した場合には、パターンコード存在領域をすべて使用したかどうか、即ちフレームの中に入っているブロックを全て処理したかどうか判断し(ステップS326)、まだであれば、第3メモリ222中のパターンコード存在領域に対応する第1メモリ214の画像データよりパターンコード208を見つけ、ブロック基準座標生成部228によって、このパターンコード208を用いてブロック基準座標を算出する(ステップS328)。そして、データコード読取座標生成部230は、この基準座標を基にブロック内データコード読取座標を算出し、データコード読取部232によって第1メモリ214からデータコードを読み取る(ステップS330)。後は、復調、デインターリーブ、エラー訂正/検出などの特開平6−231466号公報に開示されたような処理を行って再生される。
【0195】
これで1ブロックの処理が終わり、上記ステップS326に戻って、上記の処理を繰り返すことにより、フレームの中に入っているブロックを全て処理すると、このステップS326でパターンコード存在領域を全て使用したと判定されて、処理を終了する。
【0196】
この例によれば、基準座標算出の処理が簡略になり、また、マーカを用いていないので、記録密度(容量)を向上させることができる。
【0197】
なお、この例は、1ドットずらすために、何らかの方法で前処理として傾きを補正しておくことが必要となる。
【0198】
また、上記のような黒白交互パターンの代わりに、図26に示すように、自己相関性が強く且つ相互相関性が弱い所定の相関パターン、例えばバーカーコードでパターンコード234を構成し、データ部236はこのバーカーコード以外の配列になるように変調をかけておくようにしても、マーカを省略することができる。つまり、パターンコード234を相関性を有するコード体系で、データ部236のデータコードを相関性を有しないコード体系で記録する。
【0199】
このバーカーコードは、同図に示すように、コード長Nが11のときは、「+++−−−+−−+−」となり、+を1(黒ドット)、−を0(白ドット)に対応させると、「11100010010(黒黒黒白白白黒白白黒白)」となる。このバーカーコードの相関値ψは、一般的には、
【0200】
【数22】
Figure 0003639328
で表される。ここで、Kは参照パターン238とパターンコード234とのズレを示す。
【0201】
このようなバーカーコードは、図27に示すように、同じ並びの参照パターン238と相関を取った場合、一致した所で相関値のピークが立つ。従って、このバーカーコードの参照パターン238を、撮像した画像に対して1ドットずつずらしながらスキャンしていき、相関のピーク値を検出することで、パターンコード234の位置を判別することが可能になる。こうしてパターンコード234の位置が算出されたならば、前述したように誤差最小法を利用してブロックの基準座標を求め、読取座標を算出することができる。
【0202】
図24の(B)は、この場合の情報再生システムのブロック構成図であり、図28は動作フローチャートである。
【0203】
即ち、画像入力部240は、図26に示すようなバーカーコードでなるパターンコード234を有する2次元コードパターンが印刷された情報記録媒体を撮像し、2次元コードパターンの画像を得、これを2値化して第1メモリ(メモリ1)242へ格納する(ステップS342)。
【0204】
次に、相関演算部244は、黒ドットを+1、白ドットを−1として、参照パターン記憶ROM246に記憶された参照パターン238との相関値を求める(ステップS344)。そして、この求めた相関値が予め設定した値より大きいかどうか判断し(ステップS346)、そうでなければ相関値をゼロとして(ステップS348)、またそうであればその相関値を、第2メモリ(メモリ2)248に格納する(ステップS350)。その後、予め決められた方向へ参照パターンを所定距離シフトし(ステップS352)、その結果、1画面つまりフレームの終了となるかどうか判断する(ステップS354)。まだ1画面の終了とならなければ、上記ステップS344に戻り、上記処理を繰り返す。
【0205】
一方、1画面部の処理が終了した場合には、概略パターンコード領域抽出部250は、第2メモリ248より値ゼロで囲まれた概略パターンコード領域を抽出する(ステップS356)。そして、概略パターンコード領域内ピーク位置検出部252は、未処理概略パターンコード領域があるかどうか、即ちフレームの中に入っているブロックを全て処理したかどうか判断し(ステップS358)、まだであれば、概略パターンコード領域内での相関ピーク位置を検出する(ステップS360)。パターンコード位置検出部254は、このピーク位置を結んだ線分中にある第1メモリ242でのパターンコード234を抽出し(ステップS362)、ブロック基準座標生成部256は、この抽出したパターンコード234を用いてブロック基準座標を算出する(ステップS364)。そして、データコード読取座標生成部258は、この基準座標を基にブロック内データコード読取座標を算出し、データコード読取部260によって第1メモリ242からデータコードを読み取る(ステップS366)。後は、復調、デインターリーブ、エラー訂正/検出などの特開平6−231466号公報に開示されたような処理を行って再生される。
【0206】
これで1ブロックの処理が終わり、上記ステップS358に戻って、上記の処理を繰り返すことにより、フレームの中に入っているブロックを全て処理すると、このステップS358で未処理概略パターンコード領域がないと判定されて、処理を終了する。
【0207】
この例によれば、基準座標算出の処理が簡略になり、また、マーカを用いていないので、記録密度(容量)を向上させることができる。
【0208】
なお、この例においても、何らかの方法で前処理として傾きを補正しておくことが必要となる。
【0209】
そこで、傾きがあっても良いように、バーカーコードを、図29の(A)に示すように、円周上に並べて構成したリング状バーカーコード262とすることが考えられる。即ち、この円周の中心を通る直線で切った断面は、互いに反対方向に並んだ2個のバーカーコードになる。従って、同図の(B)に網掛けを付して示すような領域で相関を求めると、このリング状バーカーコード262と同様の参照パターン264とが一致したところに相関のピークが立つ。
【0210】
なお、このようなリング状バーカーコード262における相関値ψは、一般的には、
【0211】
【数23】
Figure 0003639328
で表される。ここで、K,Lは、参照パターン264とリング状バーカーコード262とのx,y方向とのズレを示す。
【0212】
図30の(A)は、このようなリング状バーカーコード262でなるパターンコード266を、ブロックの4隅に配置した例である。この場合には、ブロック基準座標は、このリング状バーカーコードの中心となる。そして、同様の参照パターン264と順次相関を取っていくと、パターンが一致した点で相関のピークが立つので、そのピーク値を検出することで、直接ブロック基準座標を4点求めることができる。後は、前述したように、このブロック基準座標から各データドットの読取座標を算出することができる。
【0213】
図31の(A)は、この場合の情報再生システムのブロック構成図であり、図32は動作フローチャートである。
【0214】
即ち、画像入力部268は、図30の(A)に示すようなリング状バーカーコードでなるパターンコード266を有する2次元コードパターンが印刷された情報記録媒体を撮像し、2次元コードパターンの画像を得、これを2値化して第1フレームメモリ(メモリ1)270へ格納する(ステップS372)。
【0215】
次に、参照パターン相関演算部272は、参照コードパターン(ビットマップ)264を2値化画像の左上から右下へラスタスキャンしてそれぞれの位置の相関値を算出し、第2フレームメモリ(メモリ2)274に格納する(ステップS374)。その後、概略ブロック基準領域抽出部(閾値比較部)276は、相関値が格納された第2フレームメモリ274のデータと閾値とを比較し、閾値より大きい領域を求め、この領域をマーカ領域とする(ステップS376)。
【0216】
ブロック基準座標算出部(概略領域内ピーク位置検出部)278は、未処理マーカ領域があるかどうか、即ちフレームの中に入っているブロックを全て処理したかどうか判断し(ステップS378)、まだであれば、上記マーカ領域内で最大値の場所を算出する(ステップS380)。そして、この最大値の周囲の値も使って相関値のピーク位置の精度を向上させ(ステップS382)、こうして得たピーク位置をブロック基準座標とし、ブロック内データコード読取座標生成部280は、4つのブロック基準座標を結んで囲まれた領域の各辺を等分割してメッシュを切り、データコード読取座標とし、データコード読取部282によって第1フレームメモリ270からデータコードを読み取る(ステップS384)。後は、復調、デインターリーブ、エラー訂正/検出などの特開平6−231466号公報に開示されたような処理を行って再生される。
【0217】
これで1ブロックの処理が終わり、上記ステップS378に戻って、上記の処理を繰り返すことにより、フレームの中に入っているブロックを全て処理すると、このステップS378で未処理マーカ領域がないと判定されて、処理を終了する。
【0218】
また、上記のようなリング状バーカーコード262の中央部のスペースが空いていることから、図30の(B)に示すように、ここをデータコード領域とすることも考えられる。即ち、リング状バーカーコード262の1つ1つが、データコード284の各1つ1つのドットを構成する。
【0219】
図31の(B)は、この場合の情報再生システムのブロック構成図であり、図33は動作フローチャートである。
【0220】
即ち、画像入力部268は、図30の(B)に示すような2次元コードパターンが印刷された情報記録媒体を撮像し、2次元コードパターンの画像を得、これを2値化して第1フレームメモリ(メモリ1)270へ格納する(ステップS392)。
【0221】
次に、参照パターン相関演算部272は、参照コードパターン(ビットマップ)264を2値化画像の左上から右下へラスタスキャンしてそれぞれの位置の相関値を算出し、第2フレームメモリ(メモリ2)274に格納する(ステップS394)。その後、概略データコード読取領域抽出部(閾値比較部)286は、相関値が格納された第2フレームメモリ274のデータと所定の閾値とを比較し、閾値より大きい領域を求め、これら各領域をデータコード領域とする(ステップS396)。
【0222】
データコード読取座標算出部(概略領域内ピーク位置検出部)288は、未処理データコード領域があるかどうか判断し(ステップS398)、まだであれば、上記データコード領域内で最大値の場所を探索する(ステップS400)。この位置が、複数存在する場合、例えば周りの値より一つに絞る。そして、この最大値の位置をデータコード読取座標とし、データコード読取部282によって第1フレームメモリ270からデータコードを読み取る(ステップS402)。後は、復調、デインターリーブ、エラー訂正/検出などの特開平6−231466号公報に開示されたような処理を行って再生される。
【0223】
その後、上記ステップS398に戻って上記の処理を繰り返し、未処理データコード領域がなくなったならば、処理を終了する。
【0224】
以上実施例に基づいて本発明を説明したが、本発明は上述した実施例に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能である。ここで、本発明の要旨をまとめると以下のようになる。
【0225】
(1) 複数のドットを2次元に配置してなる2次元コードが記録された情報記録媒体において、
上記2次元コードは、上記複数のドットの内の少なくとも2つ以上のドットを予め設定された位置関係を有するように配置して記録されていることを特徴とする情報記録媒体。
【0226】
即ち、2つ以上のドットを予め設定された位置関係に配置することにより、このドットの相対位置関係を使って、2次元コードを構成する複数ドットの各位置を高精度に検出できる。
【0227】
(2) 複数のドットを2次元に配置してなる2次元コードが記録された情報記録媒体において、
上記2次元コードは、上記複数のドットの内の少なくとも2つ以上のドットを予め設定された位置関係を有するように配置してなるパターンマッチングドット(群)を有することを特徴とする情報記録媒体。
【0228】
即ち、2つ以上のドットを含むパターンマッチングドットを、予め設定された位置関係に配置することにより、このパターンマッチングドットの検出を容易にし、処理の高速化と高精度なドットの位置算出を両立できる。
【0229】
(3) 複数のドットを2次元に配置してなる2次元コードが記録された情報記録媒体において、
上記2次元コードが、
情報内容に従って配置したデータドット(群)と、
上記データドット(群)とは異なり予め設定された位置関係で配置したパターンマッチングドット(群)と、
を有することを特徴とする情報記録媒体。
【0230】
即ち、パターンマッチングドットを予め設定された位置関係に配置することにより、パターンマッチングドットの検出を容易にし、このパターンマッチングドットに基づく各データドットの位置算出処理の高速化と高精度化を両立することができる。
【0231】
(4) 複数のドットを2次元に配置してなる2次元コードが記録された情報記録媒体において、
上記2次元コードが、
情報内容に従って配置したデータドット(群)と、
このデータドット(群)とは(一意的に)識別可能な態様で記録されるマーカと、
上記データドット(群)とは異なり予め設定された位置関係で配置したパターンマッチングドット(群)と、
を有することを特徴とする情報記録媒体。
【0232】
即ち、データドット(群)と識別可能なマーカを設けることで、マーカの位置検出を容易にし、またこのマーカを基準にパターンマッチングドットの位置関係が容易に精度良く求められ、これらのドットの相対位置関係を使って2次元コードを構成する複数ドットの位置を高精度に検出できる。
【0233】
(5) 上記2次元コードは、
複数のドットを所定の領域に配置したブロックを複数個2次元に配置してなることを特徴とする上記(1)〜(4)のいずれかに記載の情報記録媒体。
【0234】
即ち、ブロックを構成することにより、ランダムな読み取りを可能にすることができる。
【0235】
(6) 上記2次元コードは、
複数のブロックを分離するために、隣接するブロック間では、上記2次元コードの各ドットの態様(色)又は上記ブロック内の態様(色)を互いに異ならせて記録したことを特徴とする上記(5)に記載の情報記録媒体。
【0236】
即ち、記録密度を落とすことなく、ブロックを構成できるようになる。
【0237】
(7) 上記態様が濃度であるときは互いに反転せしめ、色度であるときは互いに異ならせて記録したことを特徴とする上記(6)に記載の情報記録媒体。
【0238】
即ち、記録密度を落とすことなく、ブロックを構成できるようになる。
【0239】
(8) 上記データドット(群)とは識別可能な態様で記録されるマーカは、上記データドット(群)と異なる面積、形状、色、蛍光性、及び磁性のいずれかで記録されたことを特徴とする上記(4)に記載の情報記録媒体。
【0240】
即ち、マーカの位置検出を容易にすることができる。
【0241】
(9) 上記データドット(群)が、少なくともその一部を離間して配置し、上記パターンマッチングドット(群)が、上記データドット(群)の間隙に、データドット(群)と接することなく配置したものである、
ことを特徴とする上記(3)又は(4)に記載の情報記録媒体。
【0242】
即ち、記録密度を落とさないでパターンマッチングドットを配置できるようになる。
【0243】
(10) 上記パターンマッチングドット(群)は、パターンマッチングドット(群)全体またはその一部が上記データドット(群)と識別可能なコード体系で記録されていることを特徴とする上記(2)〜(4)のいずれかに記載の情報記録媒体。
【0244】
即ち、パターンマッチングドットの検出を容易にできるようになる。
【0245】
(11) 上記パターンマッチングドット(群)を周期的なコード体系で記録すると共に、上記データドット(群)を非周期的なコード体系で記録したことにより、上記パターンマッチングドット(群)とデータドット(群)とを識別可能としたことを特徴とする上記(10)に記載の情報記録媒体。
【0246】
即ち、パターンマッチングドットの検出を容易にできる。
【0247】
(12) 上記パターンマッチングドット(群)を相関性を有するコード体系で記録すると共に、上記データドット(群)を相関性を有しないコード体系で記録したことにより、上記パターンマッチングドット(群)とデータドット(群)とを識別可能としたことを特徴とする上記(10)に記載の情報記録媒体。
【0248】
即ち、パターンマッチングドットの検出を容易にできる。
【0249】
(13) 上記パターンマッチングドット(群)は、パターンマッチングドット(群)全体またはその一部がデータドット群と同領域に記録されていることを特徴とする上記(2)〜(4)のいずれかに記載の情報記録媒体。
【0250】
即ち、記録密度を落とさないでパターンマッチングドットを配置できる。
【0251】
(14) 上記パターンマッチングドット(群)の一部は、他のパターンマッチングドット群と異なる記録様態を有するマーカを含むことを特徴とする上記(2)〜(4)のいずれかに記載の情報記録媒体。
【0252】
即ち、データドット(群)と識別可能なマーカを設けることで、マーカの位置検出を容易にし、また、このマーカを基準にパターンマッチングドットの位置検出が容易に精度良く求められ、これらのドットの相対位置関係を使って2次元コードを構成する複数ドットの位置を高精度に検出できる。
【0253】
(15) 上記マーカは、少なくとも一つ以上のパターンマッチングドットを識別可能な態様で内包していることを特徴とする上記(15)に記載の情報記録媒体。
【0254】
即ち、位置検出の処理を容易にでき、記録密度を向上させることができる。
【0255】
(16) 上記パターンマッチングドット群は、互いに干渉しない様に分離して記録されていることを特徴とする上記(2),(3),(4),及び(14)のいずれかに記載の情報記録媒体。
【0256】
即ち、パターンマッチングドットの中心座標の算出を容易にすることができる。
【0257】
(17) 上記予め設定された位置関係を有するように配置して記録された少なくとも2つ以上のドットは、当該コード内のいずれかに存在すべき真基準点を求めるための仮基準点を設定し、この仮基準点と上記予め設定された位置関係とに基づいて上記2つ以上のドットに係る理想点を求め、この理想点と実際に取り込まれた上記2つ以上のドットに係る現実点とのズレ分が最小となるように上記仮基準点の位置を補正して自己又は他のドット読み取りのための(真)基準点を設定し得るように配置して記録されていることを特徴とする上記(1)〜(4)のいずれかに記載の情報記録媒体。
【0258】
即ち、仮基準点と設計値とに基づいて求めた理想点に対する現実点とのズレ分が最小となるように上記仮基準点を補正して自己又は他のドットの読み取りのための(真)基準点を設定しているので、2次元コードを構成する複数ドットの位置を高精度に検出することができる。
【0259】
(18) 複数のドットを2次元に配置してなる2次元コードにおいて、
上記複数のドットの内の少なくとも2つ以上のドットを予め設定された位置関係を有するように配置したことを特徴とする2次元コード。
【0260】
即ち、2つ以上間ドットを予め設定された位置関係を有するように配置したことにより、この2つ以上のドットの相対位置関係を使って、2次元コードとして配置された複数ドット位置を高精度に検出できるようになる。
【0261】
(19) 複数のドットを2次元に配置してなる2次元コードにおいて、
上記複数のドットの内の少なくとも2つ以上のドットを予め設定された位置関係を有するように配置してなるパターンマッチングドット(群)を設けたことを特徴とする2次元コード。
【0262】
即ち、2つ以上のパターンマッチングドットを予め設定された位置関係に配置することにより、パターンマッチングドットの検出を容易にし、処理の高速化と高精度なドットの位置算出を両立できるようになる。
【0263】
(20) 複数のドットを2次元に配置してなる2次元コードにおいて、
情報内容に従って配置したデータドット(群)と、
上記データドット(群)とは異なり予め設定された位置関係で配置したパターンマッチングドット(群)と、
を有することを特徴とする2次元コード。
【0264】
即ち、パターンマッチングドットを予め設定された位置関係に配置することにより、パターンマッチングドットの検出を容易にし、処理の高速化と高精度なドットの位置算出を両立できるようになる。
【0265】
(21) 複数のドットを2次元に配置してなる2次元コードにおいて、
情報内容に従って配置したデータドット(群)と、
このデータドット(群)とは一意的に識別可能な態様で記録されるマーカと、上記データドット(群)とは異なり予め設定された位置関係で配置したパターンマッチングドット(群)と、
を有することを特徴とする2次元コード。
【0266】
即ち、データドット(群)と識別可能なマーカを設けることで、マーカの位置検出を容易にし、またこのマーカを基準にパターンマッチングドットの位置検出が容易に精度良く求められ、これらのドットの相対位置関係を使って2次元コードを構成する複数ドットの位置を高精度に検出できるようになる。
【0267】
(22) 光学的に読み取り可能な高密度に記録された2次元コードを再生する情報再生システムにおいて、
予め設定された位置関係(設定座標)を有する所定のフォーマットに基づき複数のドットを2次元に配置して記録した2次元コードを有する情報記録媒体を光学的に撮像し、上記2次元コードを映像信号として入力する入力手段と、
上記入力手段により映像信号として入力された2次元コードから位置情報(仮の位置座標:基準座標)を算出する位置情報算出手段と、
上記予め設定された位置関係(設定座標)を有する所定のフォーマットを記憶する所定フォーマット記憶手段と、
上記位置情報算出手段により算出された位置情報(仮の位置座標:基準座標)と上記フォーマット記憶手段に記憶された上記所定フォーマットの有する予め設定された位置関係(設定座標)とから上記2次元コードの各ドットの位置座標(絶対座標)を算出する座標算出手段と、
を具備することを特徴とする情報再生システム。
【0268】
即ち、2次元コードから読み取られた座標群と、予め所定フォーマット記録手段に記憶されている座標群との相対位置関係を比較することで、高精度に2次元コードの各ドット位置座標を求めることができる。
【0269】
(23) 上記座標算出手段は、上記位置情報算出手段により算出された位置情報と上記フォーマット記憶手段に記憶された上記所定フォーマットの有する位置関係とを比較し、2乗誤差が最小となるようにして、上記2次元コードの各ドットの位置座標を算出する手段を含むことを特徴とする上記(22)に記載の情報再生システム。
【0270】
即ち、2次元コードから読み取られた座標群と、予め所定フォーマット記録手段に記憶されている座標群との相対位置関係の2乗誤差を最小にするように上記読み取り座標群を修正することで、高精度に2次元コードの各ドット位置座標を求めることができる。
【0271】
(24) 上記入力手段は、映像信号を二値化する二値化手段を含むことを特徴とする上記(22)又は(23)に記載の情報再生システム。
【0272】
即ち、ドット位置座標算出手段の処理を容易にし、高速化を図れる。
【0273】
(25) 上記情報記録媒体は、上記複数のドットの内の少なくとも2つ以上のドットを予め設定された位置関係を有するように配置してなるパターンマッチングドット(群)を設けた2次元コードが記録されたものであり、
上記位置情報算出手段は、
上記パターンマッチングドット(群)を検出するパターン検出手段と、
上記パターン検出手段により検出したパターンマッチングドット(群)の位置情報を検出するパターン位置情報検出手段とを備え、
上記座標算出手段は、上記パターン位置情報と上記所定フォーマットの有する位置関係とに基づき上記パターンマッチングドット(群)の相対的な位置関係及び座標を算出する相対位置座標算出手段を有する、
ことを特徴とする上記(22)に記載の情報再生システム。
【0274】
即ち、2つ以上のパターンマッチングドットを使って2次元コードから読み取る座標群を算出するので、位置情報算出手段が容易に構成でき、且つ高速化が図れる。
【0275】
(26) 上記情報記録媒体は、情報を示すデータドット(群)と、上記データドット(群)とは異なり予め設定された位置関係で配置した少なくとも2つ以上のドットからなるパターンマッチングドット(群)を設けた2次元コードが記録されたものであり、
上記位置情報算出手段は、
上記パターンマッチングドット(群)を検出するパターン検出手段と、
上記パターン検出手段で検出したパターンマッチングドット(群)の位置情報を検出するパターン位置情報検出手段とを備え、
上記座標算出手段は、上記パターン位置情報と上記所定フォーマットの有する位置関係とに基づき上記パターンマッチングドット(群)の相対的な位置関係及び座標を算出する相対位置座標算出手段を有する、
ことを特徴とする上記(22)に記載の情報再生システム。
【0276】
即ち、2つ以上のパターンマッチングドットを使って2次元コードから読み取る座標群を算出するので、位置情報算出手段が容易に構成でき、且つ高速化が図れる。
【0277】
(27) 上記情報記録媒体は、情報を示すデータドット(群)と、このデータドット(群)とは(一意的に)識別可能な態様で記録されるマーカと、上記データドット(群)とは異なり予め設定された位置関係で配置した少なくとも2つ以上のドットからなるパターンマッチングドット(群)を設けた2次元コードが記録されたものであり、
上記位置情報算出手段は、
上記マーカを検出するマーカ検出手段と、
上記マーカ検出手段で検出したマーカに基づいて上記パターンマッチングドット(群)を検出するパターン検出手段と、
上記パターン検出手段で検出したパターンマッチングドット(群)の位置情報を検出するパターン位置情報検出手段とを備え、
上記座標算出手段は、上記パターン位置情報と上記所定フォーマットの有する位置関係とに基づき上記パターンマッチングドット(群)の相対的な位置関係及び座標を算出する相対位置座標算出手段を有する、
ことを特徴とする上記(22)に記載の情報再生システム。
【0278】
即ち、マーカを検出することで、パターンマッチングドット(群)を検出する検出範囲を制限できるので、高速化が図れる。
【0279】
(28) 上記パターン位置情報検出手段は、上記パターンマッチングドット(群)中のドットの重心点の座標を検出する重心検出手段を備えたことを特徴とする上記(25)〜(27)のいずれかに記載の情報再生システム。
【0280】
即ち、簡単な回路構成でパターンマッチングドットの中心座標を求めることができる。
【0281】
(29) 上記パターン位置情報検出手段は、上記パターンマッチングドット(群)中のドットに外接する矩形の中心点の座標を検出する中心検出手段を備えたことを特徴とする上記(25)〜(27)のいずれかに記載の情報再生システム。
【0282】
即ち、より簡単な回路構成でパターンマッチングドットの中心座標を求めることができる。
【0283】
(30) 上記位置情報検出手段は、
上記パターンマッチングドット(群)の一部が検出されなかった場合に、上記所定のフォーマットが有する位置関係と、検出された上記パターンマッチングドット(群)の位置情報とに基づき、検出されなかったパターンマッチングドット(群)の位置情報を推定するパターン推定手段と、
このパターン推定手段により推定された位置情報に基づき、他のパターンマッチングドットを探索するパターンコード探索手段と、
を有することを特徴とする上記(25)〜(27)のいずれかに記載の情報再生システム。
【0284】
即ち、情報記録媒体の汚れ等によるドットの欠損がある場合でも必要十分な個数のパターンマッチングドット群を用いて高精度に2次元コードを構成する複数ドットの位置検出ができる。
【0285】
(31) 上記座標算出手段は、任意の座標及び上記情報記録媒体の座標系の単位ベクトルを求めて、上記2次元コードの各ドットの位置座標を求めるものであることを特徴とする上記(23)に記載の情報再生システム。
【0286】
即ち、パターンマッチングドット群を任意な位置に配置しても2次元コードを構成する複数ドットの座標を高精度に算出できる。
【0287】
(32) 上記座標算出手段は、任意の座標を求めて、上記2次元コードの各ドットの位置座標を求めるものであることを特徴とする上記(23)に記載の情報再生システム。
【0288】
即ち、パターンマッチングドット群を任意な位置に配置しても2次元コードを構成する複数ドットの座標を高精度に算出できる。
【0289】
(33) 上記座標算出手段は、二組の任意の座標を結ぶ線分を求めて、上記2次元コードの各ドットの位置座標を求めるものであることを特徴とする上記(23)に記載の情報再生システム。
【0290】
即ち、パターンマッチングドット群を直線上に配置することで、2次元コードを構成する複数ドットの座標を高精度に算出できる。
【0291】
(34) 上記座標算出手段は、上記推定された線分の交点を求めることにより、上記2次元コードの各ドットの位置座標を求めるものであることを特徴とする上記(33)に記載の情報再生システム。
【0292】
即ち、パターンマッチングドット群を多角形辺上に配置することで、2次元コードを構成する複数ドットの座標を高精度に算出できる。
【0293】
(35) 光学的に読み取り可能な高密度に記録された複数のドットを有する2次元コードを再生する情報再生方法において、
予め設定された位置関係を有するように配置して記録された少なくとも2つ以上のドットを有する当該コード内に真基準点を求めるための仮基準点を設定し、この仮基準点と前記予め設定された位置関係とに基づいて前記2つ以上のドットに係る理想点を求め、
この理想点と実際に取り込まれた前記2つ以上のドットに係る現実点とのズレ分が最小となるように上記仮基準点の位置を補正して自己又は他のドット読み取りのための真基準点を設定して、
この真基準点を基に情報を再生することを特徴とする情報再生方法。
【0294】
即ち、仮基準点と設計値とに基づいて求めた理想点に対する現実点とのズレ分が最小となるように上記仮基準点を補正して自己又は他のドットの読み取りのための(真)基準点を設定しているので、2次元コードを構成する複数ドットの位置を高精度に検出することができる。
【0295】
【発明の効果】
以上詳述したように、本発明によれば、高密度記録されたコードパターンの各ドット位置をより高精度に算出できるようにした情報記録媒体、2次元コード、情報再生システム、及び情報再生方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施例の情報再生システムの構成を示す図である。
【図2】(A)は、2次元コードのフォーマットを示す図、(B)はマーカを示す図、(C)はストリーク処理を説明するための図である。
【図3】図1の情報再生システムにおける読取座標算出処理のフローチャートである。
【図4】(A)は水平方向及び垂直方向に閾値処理の行われた画像を再展開した結果を示す図であり、(B)はマーカ概中心算出部により算出された各マーカの概中心位置を示す図である。
【図5】ベクトルフィティング法を説明するための図である。
【図6】ベクトルフィティング法の別の例を説明するための図である。
【図7】ポイントフィティング法を説明するための図である。
【図8】(A)はラインフィティング法を説明するための図であり、(B)は座標算出用基準点としてデータコードを利用する例を説明するための図である。
【図9】(A)はブロック単位に黒と白を反転させたフォーマットの2次元コード及びその場合の座標算出用基準点を説明するための図であり、(B)はその場合の読取座標算出動作のフローチャートである。
【図10】図8の(B)の例に於ける読取座標算出動作のフローチャートである。
【図11】(A)は大きなマーカの中にパターンコードを埋め込んだ2次元コードパターンを示す図であり、(B)はこの場合の読取座標算出動作のフローチャートである。
【図12】(A)乃至(D)はそれぞれパターンコードの他の例を示す図である。
【図13】(A)は非ブロック化した2次元コードのフォーマットを示す図、(B)はパターンコードの多重化記録の例を示す図であり、(C)はマーカを特殊印刷する例を示す図である。
【図14】パターンコードを使ってマーカの真中心を求める場合の他の算出法としてパターンコードの各ドットの外接四辺形の中心を算出するようにした例を説明するための図である。
【図15】(A)乃至(C)はそれぞれパターンコードのさらに別の例を示す図、(D)はパターンコード自体が無い2次元コードを示す図であり、(E)は(D)の2次元コードを撮像した1フレーム内の画像を示す図である。
【図16】(A)乃至(C)はそれぞれレクタングルフィティングを用いる場合の情報再生システムのブロック構成図である。
【図17】図16の(B)の構成における1フレーム分のデータ読取処理のフローチャートである。
【図18】図16の(C)の構成における1フレーム分のデータ読取処理のフローチャートである。
【図19】(A)はマーカ近傍の両側のパターンコードだけを使ってマーカの真中心を算出するようにした例を説明するための図であり、(B)はこの場合の情報再生システムの構成を示す図である。
【図20】図19の(B)の構成における1フレーム分のデータ読取処理のフローチャートである。
【図21】(A)は欠落パターンコードドット近傍のパターンコードドットを使ってマーカの真中心を算出するようにした例を説明するための図であり、(B)はこの場合の情報再生システムの構成を示す図である。
【図22】図21の(B)の構成における1フレーム分のデータ読取処理のフローチャートである。
【図23】マーカを無くしてパターンコードだけで読み取れるようにした例を説明するための図である。
【図24】(A)は図23の2次元コード場合の情報再生システムのブロック構成図であり、(B)は図26の2次元コード場合の情報再生システムのブロック構成図である。
【図25】図24の(A)の情報再生システムの動作フローチャートである。
【図26】バーカーコードでパターンコードを構成した場合の2次元コードのフォーマット及びバーカーコードを示す図である。
【図27】バーカーコードと同じ並びの参照パターンとの相関を取った場合の相関値を示す図である。
【図28】図24の(B)の情報再生システムの動作フローチャートである。
【図29】(A)はリング状バーカーコードと同構成の参照パターンとの相関を取った場合の相関値を示す図であり、(B)はリング状バーカーコードの相関を求める領域を示す図である。
【図30】(A)はリング状バーカーコードでなるパターンコードを有する2次元コードパターンを示す図であり、(B)はリング状バーカーコードをデータコードの各ドットとした場合の2次元コードパターンを示す図である。
【図31】(A)は図30の(A)の2次元コードの場合の情報再生システムのブロック構成図であり、(B)は図30の(B)の2次元コードの場合の情報再生システムのブロック構成図である。
【図32】図31の(A)の情報再生システムの動作フローチャートである。
【図33】図31の(B)の情報再生システムの動作フローチャートである。
【図34】高精度なコードの読み取りを行うための従来の方法を用いた場合の2次元コードのフォーマットを示す図である。
【符号の説明】
102…入力装置、 104…記録媒体、 106…2値化処理部、 108…データメモリ(フレームメモリ)、 110…マーカ検出部、 112…ブロック、 114…データコード領域、 116…ブロックアドレスパターン(アドレスコード)、 118,138,150,162…マーカ、 120,140,142,144,148,152,166,168,208,234,266…パターンコード、 122…マーカ概中心算出部、 124…パターンコード探索部、 126…フォーマットメモリ、 128…マーカ真中心算出部、 130,196…データコード読取座標算出部、 132…境界線、 134…交点、 136…注目コード、 146,158,284…データコード、 154…水平線、 156…フレーム、 160…白抜きの丸、 164…パターンコードの各ドット、 170,186,212,240,268…画像入力部、 172,188…フレームメモリ、 174,192…パターンコード抽出部、 176…複数回帰直線算出部、 178…データコード読取領域基準座標算出部、 180…領域基準座標内データコード読取座標生成部、 182,198,232,260,282…データコード読取部、 184…画像内マーカ概中心座標算出部、 190…マーカ概中心座標算出部、 194…ブロック基準座標算出部、 200…欠如したパターンコードドット、 202…補充したパターンコードドット、 204…抽出パターンコード数カウンタ、 206…判定部、 210,236…データ部、 214,242…第1メモリ(メモリ1)、 216…1ドットシフト画像生成部、 218,248…第2メモリ(メモリ2)、 220…排他的論理和算出部、 222…第3メモリ(メモリ3)、 224…所定パターン連続発生数算出部、 226,254…パターンコード位置検出部、 228,256…ブロック基準座標生成部、 230,258…データコード読取座標生成部、 238,264…参照パターン、 244…相関演算部、 246…参照パターン記憶ROM、 250…概略パターンコード領域抽出部、 252…概略パターンコード領域内ピーク位置検出部、 262…リング状バーカーコード、 270…第1フレームメモリ(メモリ1)、272…参照パターン相関演算部、 274…第2フレームメモリ(メモリ2)、 276…概略ブロック基準領域抽出部(閾値比較部)、 278…ブロック基準座標算出部(概略領域内ピーク位置検出部)、 280…ブロック内データコード読取座標生成部、 286…概略データコード読取領域抽出部(閾値比較部)、 288…データコード読取座標算出部(概略領域内ピーク位置検出部)。

Claims (35)

  1. データが光学的に読み取り可能な2次元コード記録された情報記録媒体であって、
    前記2次元コードは、
    記録されるデータに応じて複数のドットが2次元に配列されたデータコードと、
    前記データコードにおける各ドットを読み取るための基準点に対して予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、
    を有し、
    前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、当該2つ以上の各ドットが前記位置関係に従って存在すべき位置と当該2つ以上の各ドットが実際に存在する位置との間の誤差を表す所定の評価関数を最小化することによって前記基準点が求められるように配置されたものである、
    ことを特徴とする情報記録媒体。
  2. 前記誤差は、前記2つ以上の各ドットが前記位置関係に従って存在すべき位置と前記2つ以上の各ドットが実際に存在する位置との間の距離であることを特徴とする請求項1に記載の情報記録媒体。
  3. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、前記データコードに対して所定の位置関係で配置されたパターンコードであることを特徴とする請求項1に記載の情報記録媒体。
  4. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、前記データコードにおけるドットであることを特徴とする請求項1に記載の情報記録媒体。
  5. 前記2次元コードは、前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットを探索するためのマーカを更に有することを特徴とする請求項1乃至のいずれかに記載の情報記録媒体。
  6. 前記マーカは、前記データコード及び前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと一意的に識別可 能なものであることを特徴とする請求項5に記載の情報記録媒体。
  7. 前記2次元コードはブロックを複数個隣接して配置してなり、
    前記各ブロックはそれぞれ、
    前記データコードと、
    前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、
    前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットを探索するためのマーカと、
    を有する、
    ことを特徴とする請求項に記載の情報記録媒体。
  8. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、前記データコードに対して所定の位置関係で配置されたパターンコードであることを特徴とする請求項に記載の情報記録媒体。
  9. 前記マーカは、前記データコード及び前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと一意的に識別可能なものであることを特徴とする請求項に記載の情報記録媒体。
  10. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、互いに分離して配置されたものであることを特徴とする請求項乃至のいずれかに記載の情報記録媒体。
  11. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットの全部又は一部は、前記データコードと識別可能なコード体系に従って配置されたものであることを特徴とする請求項に記載の情報記録媒体。
  12. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットの全部又は一部は周期的なコード体系に従って配置されたものであり、前記データコードにおける各ドットは非周期的なコード体系に従って配置されたものであることを特徴とする請求項11に記載の情報記録媒体。
  13. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットの全部又は一部は相関性を有するコード体系に従って配置されたものであり、前記データコードにおける各ドットは相関性を有しないコード体系に従って配置されたものであることを特徴とする請求項11に記載の情報記録媒体。
  14. データを記録媒体上に記録するための光学的に読み取り可能な2次元コードであって、
    記録されるデータに応じて複数のドットが2次元に配列されたデータコードと、
    前記データコードにおける各ドットを読み取るための基準点に対して予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、
    を有し、
    前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、当該2つ以上の各ドットが前記位置関係に従って存在すべき位置と当該2つ以上の各ドットが実際に存在する位置との間の誤差を表す所定の評価関数を最小化することによって前記基準点が求められるように配置されたものであることを特徴とする2次元コード
  15. 前記誤差は、前記2つ以上の各ドットが前記位置関係に従って存在すべき位置と前記2つ以上の各ドットが実際に存在する位置との間の距離であることを特徴とする請求項14に記載の2次元コード
  16. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、前記データコードに対して所定の位置関係で配置されたパターンコードであることを特徴とする請求項14に記載の2次元コード
  17. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、前記データコードにおけるドットであることを特徴とする請求項14に記載の2次元コード
  18. 前記2次元コードは、前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットを探索するためのマーカを更に 有することを特徴とする請求項14乃至16のいずれかに記載の2次元コード。
  19. 前記マーカは、前記データコード及び前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと一意的に識別可能なものであることを特徴とする請求項18に記載の2次元コード。
  20. 前記2次元コードはブロックを複数個隣接して配置してなり、
    前記各ブロックはそれぞれ、
    前記データコードと、
    前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、
    前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットを探索するためのマーカと、
    を有する
    ことを特徴とする請求項14に記載の2次元コード。
  21. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、前記データコードに対して所定の位置関係で配置されたパターンコードであることを特徴とする請求項20に記載の2次元コード。
  22. 前記マーカは、前記データコード及び前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと一意的に識別可能なものであることを特徴とする請求項20に記載の2次元コード
  23. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、互いに分離して配置されたものであることを特徴とする請求項14乃至22のいずれかに記載の2次元コード
  24. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットの全部又は一部は、前記データコードと識別可能なコード体系に従って配置されたものであることを特徴とする請求項14に記載の2次元コード
  25. 前記予め設定された位置関係を有するように配置された少 なくとも2つ以上のドットの全部又は一部は周期的なコード体系に従って配置されたものであり、前記データコードにおける各ドットは非周期的なコード体系に従って配置されたものであることを特徴とする請求項24に記載の2次元コード
  26. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットの全部又は一部は相関性を有するコード体系に従って配置されたものであり、前記データコードにおける各ドットは相関性を有しないコード体系に従って配置されたものであることを特徴とする請求項24に記載の2次元コード
  27. データが光学的に読み取り可能な2次元コードで記録された情報記録媒体から前記2次元コードを光学的に読み取って前記データを再生する情報再生システムであって、
    記録されるデータに応じて複数のドットが2次元に配列されたデータコードと、前記データコードにおける各ドットを読み取るための基準点に対して予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、を有する2次元コードを撮像してその画像データを得る入力手段と、
    前記入力手段で得られた画像データから、前記予め設定された位置関係に従って前記少なくとも2つ以上のドットを探索する探索手段と、
    前記2つ以上の各ドットが前記位置関係に従って存在すべき位置と、前記探索手段で探索された前記2つ以上の各ドットが実際に存在する位置との間の誤差を表す所定の評価関数を最小化することによって前記基準点を求める基準点算出手段と、
    前記基準点算出手段によって算出された基準点に基づいて、前記データコードにおける各ドットの読取座標を算出する読取座標算出手段と、
    前記読取座標算出手段によって算出された読取座標に従って、前記データコードにおける各ドットを読み取るデータコード読取手段と、
    を具備することを特徴とする情報再生システム
  28. 前記誤差は、前記2つ以上の各ドットが前記位置関係に従って存在すべき位置と前記2つ以上の各ドットが実際に存在する位置との間の距 離であることを特徴とする請求項27に記載の情報再生システム。
  29. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、前記データコードに対して所定の位置関係で配置されたパターンコードであることを特徴とする請求項27に記載の情報再生システム。
  30. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、前記データコードにおけるドットであることを特徴とする請求項27に記載の情報再生システム。
  31. 前記2次元コードは、前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットを探索するためのマーカを更に有しており、
    前記探索手段は、前記マーカを仮の前記基準点として前記位置関係に従って前記少なくとも2つ以上のドットを探索し、
    前記基準点算出手段は、前記2つ以上の各ドットが前記仮の基準点と前記位置関係とに従って存在すべき位置と、前記探索手段で探索された前記2つ以上の各ドットが実際に存在する位置との間の誤差を表す所定の評価関数を最小化することによって真の前記基準点を求めるように構成された、
    ことを特徴とする請求項27に記載の情報再生システム。
  32. 前記マーカは、前記データコード及び前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと一意的に識別可能なものであることを特徴とする請求項31に記載の情報再生システム。
  33. 前記予め設定された位置関係をフォーマット情報として記憶するフォーマット記憶手段を更に含むことを特徴とする請求項27に記載の情報再生システム。
  34. 前記予め設定された位置関係を有するように配置された少なくとも2つ以上のドットは、互いに分離して配置されたものであることを特徴とする請求項27乃至33のいずれかに記載の情報再生システム。
  35. データが光学的に読み取り可能な2次元コードで記録された情報記録媒体から前記2次元コードを光学的に読み取って前記データを再生する情報再生方法であって、
    入力装置が、記録されるデータに応じて複数のドットが2次元に配列されたデータコードと、前記データコードにおける各ドットを読み取るための基準点に対して予め設定された位置関係を有するように配置された少なくとも2つ以上のドットと、を有する2次元コードを撮像してその画像データを得る入力工程と、
    探索部が、前記入力工程で得られた画像データから、前記予め設定された位置関係に従って前記少なくとも2つ以上のドットを探索する探索工程と、
    基準点算出部が、前記2つ以上の各ドットが前記位置関係に従って存在すべき位置と、前記探索工程で探索された前記2つ以上の各ドットが実際に存在する位置との間の誤差を表す所定の評価関数を最小化することによって前記基準点を求める基準点算出工程と、
    読取座標算出部が、前記基準点算出工程によって算出された基準点に基づいて、前記データコードにおける各ドットの読取座標を算出する読取座標算出工程と、
    データコード読取部が、前記読取座標算出工程によって算出された読取座標に従って、前記データコードにおける各ドットを読み取るデータコード読取工程と、
    を含むことを特徴とする情報再生方法。
JP27427294A 1994-10-14 1994-10-14 情報記録媒体、2次元コード、情報再生システム、及び情報再生方法 Expired - Fee Related JP3639328B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP27427294A JP3639328B2 (ja) 1994-10-14 1994-10-14 情報記録媒体、2次元コード、情報再生システム、及び情報再生方法
US08/542,220 US5860679A (en) 1994-10-14 1995-10-12 Information recording medium, two-dimensional code, information reproduction system and information reproduction method
US09/038,481 US5951056A (en) 1994-10-14 1998-03-02 Information reproduction system for reproducing a two-dimensional, optically readable code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27427294A JP3639328B2 (ja) 1994-10-14 1994-10-14 情報記録媒体、2次元コード、情報再生システム、及び情報再生方法

Publications (2)

Publication Number Publication Date
JPH08115397A JPH08115397A (ja) 1996-05-07
JP3639328B2 true JP3639328B2 (ja) 2005-04-20

Family

ID=17539354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27427294A Expired - Fee Related JP3639328B2 (ja) 1994-10-14 1994-10-14 情報記録媒体、2次元コード、情報再生システム、及び情報再生方法

Country Status (2)

Country Link
US (2) US5860679A (ja)
JP (1) JP3639328B2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK0670555T3 (da) 1992-09-28 2000-09-18 Olympus Optical Co Registreringsmedium med prikkode og informationsregistreringssystem
JP2916373B2 (ja) * 1994-06-02 1999-07-05 オリンパス光学工業株式会社 情報記録媒体及び情報再生装置
JP3639328B2 (ja) * 1994-10-14 2005-04-20 オリンパス株式会社 情報記録媒体、2次元コード、情報再生システム、及び情報再生方法
JP2952170B2 (ja) * 1994-12-16 1999-09-20 オリンパス光学工業株式会社 情報再生システム
US6305608B1 (en) * 1998-06-04 2001-10-23 Olympus Optical Co., Ltd. Pen type code reader
JP2935263B1 (ja) * 1998-06-10 1999-08-16 株式会社スキャンテクノロジー 回転体のコード認識システム及び方法
US6095425A (en) * 1998-10-26 2000-08-01 The Standard Register Company Machine-readable security document and method of preparing the same
US6139066A (en) * 1999-03-26 2000-10-31 The Standard Register Company Optically decodable security document
US6678425B1 (en) 1999-12-06 2004-01-13 Xerox Corporation Method and apparatus for decoding angular orientation of lattice codes
US6935562B2 (en) 1999-12-06 2005-08-30 Xerox Corporation Operations on images having glyph carpets
EP1107184B1 (en) * 1999-12-06 2005-10-05 Xerox Corporation Method and apparatus for registering spatial information
US6880755B2 (en) 1999-12-06 2005-04-19 Xerox Coporation Method and apparatus for display of spatially registered information using embedded data
TW200403598A (en) * 2002-03-29 2004-03-01 Olympus Optical Co Test figure, geometric feature analyzing system, geometric feature analyzing-method, printer, and inkjet printer
US7967217B2 (en) 2002-09-26 2011-06-28 Kenji Yoshida Information reproduction/i/o method using dot pattern, information reproduction device, mobile information i/o device, and electronic toy
WO2004097717A1 (ja) * 2003-05-02 2004-11-11 Yutaka Kiuchi 2次元コード読取方法、表示方法、および実行プログラム
CN101167084B (zh) 2005-04-28 2010-05-12 吉田健治 使用了点图案的信息输入输出方法
JP3771252B1 (ja) * 2005-07-01 2006-04-26 健治 吉田 ドットパターン
KR100828539B1 (ko) * 2005-09-20 2008-05-13 후지제롯쿠스 가부시끼가이샤 이차원 코드의 검출 방법, 검출 장치, 및 검출 프로그램을기억한 기억 매체
JP4137945B2 (ja) * 2006-01-06 2008-08-20 シャープ株式会社 画像検出方法
JP4911340B2 (ja) * 2006-02-10 2012-04-04 富士ゼロックス株式会社 二次元コード検出システムおよび二次元コード検出プログラム
CN100511271C (zh) * 2006-11-16 2009-07-08 深圳市天朗时代科技有限公司 二维码解码方法
CN101246703B (zh) * 2007-02-13 2010-07-07 建兴电子科技股份有限公司 资料读取方法
CN101777357B (zh) * 2007-02-13 2011-09-21 建兴电子科技股份有限公司 资料读取方法
AU2007254595B2 (en) * 2007-12-20 2011-04-07 Canon Kabushiki Kaisha Constellation detection
GB0807488D0 (en) * 2008-04-25 2008-06-04 Mantra Lingua Ltd An audio device
JP4766069B2 (ja) * 2008-05-07 2011-09-07 株式会社デンソーウェーブ 二次元情報コードの表示方法
CN101615259B (zh) * 2008-08-01 2013-04-03 凌通科技股份有限公司 一种二维光学辨识码的识别系统
TWI393055B (zh) * 2008-09-26 2013-04-11 Elan Microelectronics Corp A dot pattern having a cross-shaped positioning pattern, and an image processing device for processing the dot pattern
JP5631025B2 (ja) * 2010-03-10 2014-11-26 キヤノン株式会社 情報処理装置、その処理方法及びプログラム
JP4971483B2 (ja) 2010-05-14 2012-07-11 任天堂株式会社 画像表示プログラム、画像表示装置、画像表示システム、および画像表示方法
EP2395474A3 (en) 2010-06-11 2014-03-26 Nintendo Co., Ltd. Storage medium having image recognition program stored therein, image recognition apparatus, image recognition system, and image recognition method
CN105069388B (zh) * 2012-01-21 2018-09-28 松翰科技股份有限公司 使用点编码的数据输出输入方法
JP6132577B2 (ja) * 2013-02-13 2017-05-24 キヤノン株式会社 画像処理装置、画像処理方法、プログラム
US9415546B2 (en) 2014-01-29 2016-08-16 Xerox Corporation System and method for controlling material drop volume in three dimensional object printing
US10052823B2 (en) 2014-10-08 2018-08-21 Xerox Corporation System and method for test pattern formation during three-dimensional object printing
US9707785B2 (en) * 2015-07-16 2017-07-18 Xerox Corporation System and method for analysis of compact printed test patterns
CN109359657B (zh) 2015-10-19 2022-11-25 松翰科技股份有限公司 指标结构
CN105654017B (zh) * 2015-12-25 2018-06-26 广州视源电子科技股份有限公司 二维码传输方法和系统
CN111103969B (zh) * 2018-10-26 2023-09-01 广东虚拟现实科技有限公司 信息识别方法、装置、电子设备及计算机可读存储介质
CN114124242B (zh) * 2021-11-22 2023-10-13 华中科技大学鄂州工业技术研究院 一种水下光地址码的处理方法、装置以及设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0652167B2 (ja) * 1984-02-08 1994-07-06 シチズン時計株式会社 画像処理方法
US5042079A (en) * 1988-08-12 1991-08-20 Casio Computer Co., Ltd. Method of recording/reproducing data of mesh pattern, and apparatus therefor
US5241166A (en) * 1990-07-02 1993-08-31 Chandler Donald G Low resolution target acquisition
JP3463300B2 (ja) * 1991-05-14 2003-11-05 ソニー株式会社 マークシート並びにマークシートの方向検出方法及び装置
JPH0562000A (ja) * 1991-09-04 1993-03-12 Nec Corp 位置マーク判定マークシート入力方式
JP3058491B2 (ja) * 1991-10-15 2000-07-04 株式会社ワコム 録音及び再生方式
GB2262065A (en) * 1991-12-07 1993-06-09 Moore Business Forms Inc Security printed document resistant to xerographic copying.
JP2833975B2 (ja) * 1992-09-28 1998-12-09 オリンパス光学工業株式会社 ドットコード
DK0670555T3 (da) * 1992-09-28 2000-09-18 Olympus Optical Co Registreringsmedium med prikkode og informationsregistreringssystem
US5735547A (en) * 1992-10-01 1998-04-07 Morelle; Fredric T. Anti-photographic/photocopy imaging process and product made by same
JPH087332A (ja) * 1994-06-16 1996-01-12 Olympus Optical Co Ltd 情報記録媒体及び読取装置
JP3639328B2 (ja) * 1994-10-14 2005-04-20 オリンパス株式会社 情報記録媒体、2次元コード、情報再生システム、及び情報再生方法
US5864742A (en) * 1997-04-11 1999-01-26 Eastman Kodak Company Copy restrictive system using microdots to restrict copying of color-reversal documents

Also Published As

Publication number Publication date
US5860679A (en) 1999-01-19
JPH08115397A (ja) 1996-05-07
US5951056A (en) 1999-09-14

Similar Documents

Publication Publication Date Title
JP3639328B2 (ja) 情報記録媒体、2次元コード、情報再生システム、及び情報再生方法
US9406010B2 (en) Producing, capturing and using visual identification tags for moving objects
CN1971591B (zh) 用于检测二维代码的方法和二维代码检测器
US10679175B2 (en) Two-dimensional code, system for creation of two-dimensional code, and analysis program
EP1232480B1 (en) Image processing apparatus
US6742708B2 (en) Fiducial mark patterns for graphical bar codes
JP5791826B2 (ja) 二次元コード
JP2000235617A (ja) データ読取装置
US7991191B2 (en) Clustering-scheme-encoded interfaces providing orientation feedback
JP4794847B2 (ja) 2次元コードおよび情報処理方法
JP4865844B2 (ja) 二次元コード読取方法及び該二次元コード読取方法で読み取るための二次元コード並びに該二次元コード読取方法を記録した記録媒体
JP3980983B2 (ja) 透かし情報埋め込み方法,透かし情報検出方法,透かし情報埋め込み装置,及び,透かし情報検出装置
JP4871918B2 (ja) 画像変換装置、画像変換方法、画像変換プログラム及び画像変換プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4010440B2 (ja) 影検出を伴う画像処理装置
CN114529922A (zh) 一种无线框表格图像表格结构识别方法
JP2004110606A (ja) 画像処理装置及び方法並びにプログラム
JP3499183B2 (ja) デジタル情報記録担体、デジタル情報記録方法および装置、並びにデジタル情報解読方法および装置
JP2005286963A (ja) 印刷用媒体への情報埋め込み装置,情報読み取り装置および情報を埋め込んだ媒体
WO2012035552A2 (en) Generating a code system using haar wavelets
JP4804125B2 (ja) 2次元コード、2次元コード検出方法、および2次元コード検出装置
JPH07192085A (ja) 文書画像傾き検出装置
JP2647911B2 (ja) 文字・図形領域抽出方法
JP3858052B1 (ja) ドットパターンを用いた情報入出力方法
CN112580763A (zh) 一种新式二维码系统
GB2328355A (en) Edge detection in image processing

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041129

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: 20050111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050114

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

Free format text: PAYMENT UNTIL: 20080121

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees