(57)【要約】【課題】  ドットパターンを用いて、パーソナルコンピュータや情報処理装置等の入力手段に適用することにより、従来のマウス、タブレット、デジタイザ等の入力の代替が可能となり、入力システムに変革をもたらすことを可能とする。【解決手段】  仮想的な格子線上において隣接する情報ドット毎にｘ方向、ｙ方向へのずれを交互に生じるように配置したドットパターンとすることにより、ドット毎にｘ方向、ｙ方向へのずれが交互に生じているため、１個おきの情報ドットは必ず同一の格子線上に配置されることになる。そのため、光学読取装置で読み取った場合に、画像メモリ上で仮想格子線の探索アルゴリズムが簡便となり、この結果画像メモリ上での格子点の探索も容易となる。その結果、複雑なプログラムを用いることなくドットパターンの読取速度を高速化できる。【選択図】          図１
2006318507.tif 000002
【特許請求の範囲】
【請求項１】
媒体上に形成されたドットパターンであって、ｘｙ方向に所定間隔毎に設けられた仮想的な格子点上でかつ格子点からｘ方向またはｙ方向に所定間隔だけずらした情報ドットを配置したドットパターンを、
光学読取装置で読み取り、
光学的に読み取った当該ドットパターンを画像メモリ上に展開し、
画像メモリ上のビットマップ計算により、各情報ドットについて前記格子点からのｘ方向またはｙ方向へのずれ方を認識し、
前記ずれ方向に対応させて各情報ドットに値を付与し、
隣接する情報ドット間の値の差分を算出してビット情報とし、
所定領域内のビット情報群を座標情報またはコード情報として出力するドットパターンを用いた情報入出力方法において、
あらかじめ定められた所定の仮想的な格子点から所定方向に所定間隔だけずらしたドットをベクトルドットとし、このベクトルドットによって光学読取装置の読取方向を認識するドットパターンを用いた情報入出力方法。
【請求項２】
前記所定領域内のビット情報群の座標情報またはコード情報に加えて、前記ベクトルドットの位置から得られた向き情報に基づいて出力する情報を変化させる請求項１記載のドットパターンを用いた情報入出力方法。
【請求項３】
前記ベクトルドットは、あらかじめ定められた所定の情報ドットで代用したものであることを特徴とする請求項１または２記載のドットパターンを用いた情報入出力方法。
【請求項４】
前記で出力されたビット情報群に対して、各ビットに対応して鍵パラメータを格納したセキュリティテーブルを記憶装置内に備えており、各ビット情報を鍵パラメータで演算処理することで真値を算出することを特徴とする請求項１〜３のいずれかに記載のドットパターンを用いた情報入出力方法。
【請求項５】
媒体上に形成され光学読取装置で読み取られるドットパターンであって、ｘｙ方向に所定間隔毎に設けられた仮想的な格子点上でかつ格子点からｘ方向またはｙ方向に所定間隔だけずらした情報ドットを配置しており、
前記各情報ドットについて前記格子点からのｘ方向またはｙ方向へのずれ方で各情報ドットに値が定義されており、さらに、隣接する情報ドット間の値の差分でビット情報が定義され、所定領域内のビット情報群が座標情報またはコード情報として出力されるためのドットパターンであって、
光学読取装置の読取方向を認識するために、あらかじめ定められた所定の仮想的な格子点から所定方向に所定間隔だけずらしたドットをベクトルドットとしたドットパターン。
【請求項６】
前記ベクトルドットは、あらかじめ定められた所定の情報ドットで代用されている請求項５記載のドットパターン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はドットパターンを用いた情報入出力方法に関する。
【背景技術】
【０００２】
従来より、印刷物等に印刷されたバーコードを読み取り、音声等の情報を出力させる情報出力方法が提案されている。たとえば、予め記憶手段に与えられたキー情報（複数桁のコード）に一致する情報を記憶させておき、バーコードリーダで読み込まれたキーから検索して情報等を出力する方法が提案されている。  また、多くの情報やプログラムを出力できるように、微細なドットを所定の法則で並べたドットパターンを生成し、印刷物等に印刷したドットパターンをカメラにより画像データとして取り込み、デジタル化して音声情報を出力させる技術も提案されている。
【０００３】
しかし、上記従来のバーコードにより音声等を出力させる方法は、印刷物等に印刷されたバーコードが目障りであるという問題を有していた。また、バーコードが大きく、紙面の一部を占有するため、書籍等にこれを利用した場合、バーコードが大きいために、印刷紙面の美観を損ねてしまうばかりか、一部分の文章やセンテンスまたは、写真、絵、グラフィックの画像の中に登場する意味を有するキャラクターや対象物毎に分かり易く数多くのバーコードを割り当てたいような場合にはバーコードを表示するスペースがなくなってしまったり、紙面レイアウト上不可能であるという問題を有していた。
【０００４】
このような点から、特表２００３−５１１７６１号公報（特許文献１）や特開平１０−１８７９０７号公報（特許文献２）に示されるように、紙面に一定の法則にしたがってドットパターンを形成し、このドットパターンを光学的に読み取ることにより、キー情報（コード）や紙面上での座標値を取得する技術が提案されている。
【特許文献１】特表２００３−５１１７６１号公報
【特許文献２】特開平１０−１８７９０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、前記特許文献１または２等に示されたドットパターンにキー情報等の意味を持たせた場合、このようなドットパターンの配置密度分布は偏在することが多く、そのために紙面に模様となって表れてしまったり、重畳して印刷される絵や写真の印刷紙面の美観に影響を与えてしまう懸念があった。
【０００６】
また、このようなドットパターンが汎用的に用いられるようになると、日常の印刷物、商品の表面にドットパターンが形成され、その光学的読取手段も汎用的かつ安価になっていくと考えられるが、従来のドットパターン方式では、日常生活における温度、湿度等の影響でドットパターンの紙面等の媒体表面が伸縮したり弯曲してしまったり、印刷技術そのものの理由でドットパターンに歪みが生じているような場合、さらに加工精度の低いレンズを用いた読取装置を用いた場合、さらに読取手段の読取方向（たとえば紙面に対して光軸を鉛直よりもずらした斜め方向から読み取った場合）等に起因して撮像されたドットパターンに歪みが生じ、これを補正するために高度な技術力が必要となるという問題を有していた。
【課題を解決するための手段】
【０００７】
本発明はドットパターンを用いた情報入出力方法にかかるものである。
【０００８】
本発明の請求項１は、媒体上に形成されたドットパターンであって、ｘｙ方向に所定間隔毎に設けられた仮想的な格子点上でかつ格子点からｘ方向またはｙ方向に所定間隔だけずらした情報ドットを配置したドットパターンを、光学読取装置で読み取り、光学的に読み取った当該ドットパターンを画像メモリ上に展開し、画像メモリ上のビットマップ計算により、各情報ドットについて前記格子点からのｘ方向またはｙ方向へのずれ方を認識し、前記ずれ方向に対応させて各情報ドットに値を付与し、隣接する情報ドット間の値の差分を算出してビット情報とし、所定領域内のビット情報群を座標情報またはコード情報として出力するドットパターンを用いた情報入出力方法において、あらかじめ定められた所定の仮想的な格子点から所定方向に所定間隔だけずらしたドットをベクトルドットとし、このベクトルドットによって光学読取装置の読取方向を認識するドットパターンを用いた情報入出力方法である。
【０００９】
ベクトルドット（図１６参照）は４×４格子ブロック（グリッド）の情報ブロックの方向を示すものであるが、このベクトルドットを用いることによって光学読取装置の読取方向を認識することができるため、同じ情報ブロックのドットパターンであっても、読取方向によって異なった意味を持たせることも可能である。すなわち、同一のドットパターンに対して、読取光軸を中心に光学読取装置を９０度、１８０度または２７０度回転させて読み取ることにより、ベクトルドットの位置も画像メモリ上で情報ブロックに対して左右、または下方向となるため、情報ブロック内のドットパターンを読み取った後に、ベクトルドットの位置から得られた向き情報に応じて出力（音声等）を変化させてもよい。たとえばクロスワードパズルの各マスに本発明のドットパターンを印刷しておき、光学読取装置の読取面を光学軸を中心に９０度回転させることにより縦方向のワードのヒント、横方向のワードのヒントをそれぞれわけて表示出力（音声出力）させるようにしてもよい。さらに、ベクトルドットを用いて光学読取装置の読み取りの際の回転角度を認識する技術について、上記では９０度単位で回転させた場合で説明したが、最小回転角度として５度程度でもその角度認識が可能である。
【００１０】
本発明の請求項２は、前記所定領域内のビット情報群の座標情報またはコード情報に加えて、前記ベクトルドットの位置から得られた向き情報に基づいて出力する情報を変化させる請求項１記載のドットパターンを用いた情報入出力方法である。
【００１１】
このように、ドットパターンの向きによって異なる情報を定義できるため、ドットパターンを多様に利用することができ情報量を増やすことができる。
【００１２】
本発明の請求項３は、前記ベクトルドットは、あらかじめ定められた所定の情報ドットで代用したものであることを特徴とする請求項１または２記載のドットパターンを用いた情報入出力方法である。
【００１３】
ベクトルドットを情報ドットで代用することによって、情報ドットを無駄にすることなくドットパターンの向きを定義することが可能となる。
【００１４】
本発明の請求項４は、前記で出力されたビット情報群に対して、各ビットに対応して鍵パラメータを格納したセキュリティテーブルを記憶装置内に備えており、各ビット情報を鍵パラメータで演算処理することで真値を算出することを特徴とする請求項１〜３のいずれかに記載のドットパターンを用いた情報入出力方法である。
【００１５】
このように、セキュリティテーブルを備えることにより高いセキュリティを維持できる。
【００１６】
本発明の請求項５は、媒体上に形成され光学読取装置で読み取られるドットパターンであって、ｘｙ方向に所定間隔毎に設けられた仮想的な格子点上でかつ格子点からｘ方向またはｙ方向に所定間隔だけずらした情報ドットを配置しており、前記各情報ドットについて前記格子点からのｘ方向またはｙ方向へのずれ方で各情報ドットに値が定義されており、さらに、隣接する情報ドット間の値の差分でビット情報が定義され、所定領域内のビット情報群が座標情報またはコード情報として出力されるためのドットパターンであって、光学読取装置の読取方向を認識するために、あらかじめ定められた所定の仮想的な格子点から所定方向に所定間隔だけずらしたドットをベクトルドットとしたドットパターンである。
【００１７】
このようにベクトルドットを用いることによってドットパターンの向きを認識することが可能になる。
【００１８】
本発明の請求項６は、前記ベクトルドットは、あらかじめ定められた所定の情報ドットで代用されている請求項５記載のドットパターンである。
【００１９】
前述の請求項３と同様に、ベクトルドットを情報ドットで代用することによって、情報ドットを無駄にすることなくドットパターンの向きを定義することが可能となる。
【００２０】
以上のように、本発明のドットパターンを用いた情報入出力方法によれば、ドットパターンの配置密度分布を偏在させることがなく、そのためにドットパターンが紙面上で醜い模様となって表れてしまったり、重畳して印刷される絵や写真の印刷紙面の美観に影響を与えてしまう恐れがない。
【００２１】
また、ドットパターンの紙面等の媒体表面が伸縮したり弯曲してしまったり、印刷技術そのものの理由でドットパターンに歪みが生じているような場合、さらに加工精度の低いレンズを用いた読取装置を用いた場合、さらに読取手段の読み取り方向（たとえば紙面に対して光軸を鉛直よりもずらした斜め方向から読み取った場合）等に起因して撮像されたドットパターンに歪みが生じている場合にも複雑な補正アルゴリズムを用いることなく仮想格子線を容易に探索できるため、媒体表面や読取の条件に左右されずに高速かつ正確なドットパターンの認識が可能となる。
【発明の効果】
【００２２】
本発明のドットパターンを用いて、パーソナルコンピュータや情報処理装置等の入力手段に適用することにより、従来のマウス、タブレット、デジタイザ等の入力の代替が可能となり、入力システムに変革をもたらすことができる。
【００２３】
その際、ドットパターンは特定のコード情報を意味させるようにしてもよいし、ｘｙ座標を意味させた数値としてもよい。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態を添付図面を参照して説明する。
（ドットパターンの基本原理）
本実施形態のドットパターンの基本原理について図１を用いて説明する。
【００２５】
まず、図１に示すように、ｘｙ方向に所定間隔毎に格子線（y1〜y7、x1〜x5）を仮定する。この格子線の交点を格子点と呼ぶことにする。そして、本実施形態ではこの４つの格子点で囲まれた最小ブロック（１グリッド）としてｘｙ方向に４ブロック（４グリッド）ずつ、すなわち４×４＝１６ブロック（１６グリッド）を１つの情報ブロックとする。なお、この情報ブロックの単位を１６ブロックとしたのはあくまでも一例であり、任意のブロック数で情報ブロックを構成することが可能であることはいうまでもない。
【００２６】
そしてこの情報ブロックの矩形領域を構成する４つの角点をコーナードット（x1y1，x1y5，x5y1，x5y5）とする（図中、円形で囲んだドット）。この４つのコーナードットは格子点と一致させる。
【００２７】
このように、格子点と一致する４個のコーナードットを発見することにより、情報ブロックを認識することができるようになっている。ただし、このコーナードットだけだと情報ブロックは認識できても、その向きがわからない。たとえば情報ブロックの方向が認識できないと同じ情報ブロックであっても±９０度または１８０度回転させたものをスキャンしてしまうと全く別の情報となってしまうためである。
【００２８】
そこで、情報ブロックの矩形領域の内部または隣接した矩形領域内の格子点にベクトルドット（キードット）を配置している。同図では、三角形で囲まれたドット（x0y3）がそれであり、情報ブロックの上辺を構成する格子線の中点の鉛直上方の１つ目の格子点にキードット（ベクトルドット）が配置されている。これと同様に、当該情報ブロック内において下辺を構成する格子線の中点の鉛直上の１つ目の格子点（x4y3）に下の情報ブロックのキードットが配置されている。
【００２９】
なお、本実施形態では、格子間（グリッド間）距離を０．２５ｍｍとした。したがって、情報ブロックの一辺は０．２５ｍｍ×４グリッド＝１ｍｍとなる。そしてこの面積は１ｍｍ×１ｍｍ＝１ｍｍ２となる。この範囲内に１４ビットの情報が格納可能であり、この内２ビットをコントロールデータとして使った場合、１２ビット分の情報が格納できることになる。なお、格子間（グリッド間）距離を０．２５ｍｍとしたのはあくまでも一例であり、たとえば０．２５〜０．５ｍｍ超の範囲で自由に変更してもよい。
（情報ドットの配置原則）
情報ドットは１つおきに格子点からｘ方向、ｙ方向にずらした位置に配置されている。情報ドットの直径は好ましくは０．０３〜０．０５ｍｍ超であり、格子点からのずれ量は格子間距離の１５〜２５％程度とすることが好ましい。このずれ量も一例であるため必ずしもこの範囲でなくてもよいが、一般に２５％よりも大きなずれ量とした場合には目視したときにドットパターンが模様となって表れやすい傾向がある。
【００３０】
つまり格子点からのずれ方が、上下（ｙ方向）のずれと左右（ｘ方向）へのずれとが交互となっているため、ドットの配置分布の偏在がなくなり、紙面上にモアレや模様となって見えることがなくなり、印刷紙面の美観が保てる。
【００３１】
このような配置原則を採用することにより、情報ドットは１つおきに必ずｙ方向（図２参照）の格子線上に配置されることになる。このことは、ドットパターンを読み取る際には、１つおきにｙ方向またはｘ方向に直線上に配置された格子線を発見すればよいこととなり、認識の際の情報処理装置における計算アルゴリズムを単純かつ高速化できる利点がある。
【００３２】
また、たとえドットパターンが紙面の弯曲等により変形していた場合、格子線は正確な直線とならない場合があるが、直線に近似した緩やかな曲線であるため、格子線の発見は比較的容易であるため、紙面の変形や読取光学系のずれや歪みに強いアルゴリズムであるということがいえる。
【００３３】
情報ドットの意味について説明したものが図３である。同図中において＋は格子点、●はドット（情報ドット）を示している。格子点に対して−ｙ方向に情報ドットを配置した場合を０、＋ｙ方向に情報ドットを配置した場合を１、同じく格子点に対して−ｘ方向に情報ドットを配置した場合を０、＋ｘ方向に情報ドットを配置した場合を１とする。
【００３４】
次に図４を用いて具体的な情報ドットの配置状態と読み取りアルゴリズムについて説明する。
【００３５】
同図中、丸付き数字の１の情報ドット（以下、情報ドット(1)とする）は格子点（x2y1）よりも＋ｘ方向にずれているため”１”を意味している。また、情報ドット(2)（図では丸付き数値）は格子点（x3y1）よりも＋ｙ方向にずれているため”１”を意味している、さらに情報ドット(3)（図では丸付き数字）は格子点(x4y1)よりも−ｘ方向にずれているため”０”、情報ドット(4)（図では丸付き数字）は”０”、情報ドット(5)は”０”を意味している。
【００３６】
図４に示したドットパターンの場合、情報ドット(1)〜(17)は以下の値となる。
【００３７】
(1)＝１
(2)＝１
(3)＝０
(4)＝０
(5)＝０
(6)＝１
(7)＝０
(8)＝１
(9)＝０
(10)＝１
(11)＝１
(12)＝０
(13)＝０
(14)＝０
(15)＝０
(16)＝１
(17)＝１
なお、本実施形態では上記情報ビットに対して、さらに以下に説明する差分法による情報取得アルゴリズムを用いて値を算出するようにしたが、この情報ドットをそのまま情報ビットとして出力してもよい。また、この情報ビットに対して後述するセキュリティテーブルの値を演算処理して真値を算出するようにしてもよい。
（差分法による情報取得アルゴリズム）
次に、図４を用いて本実施形態のドットパターンに基づいて差分法を適用した情報取得方法を説明する。
【００３８】
なお、本実施形態の説明において、()で囲まれた数字は図における円形で囲まれた数字（丸付き数字）、［］で囲まれた数字は図で四角形状で囲まれた数字を意味している。
【００３９】
本実施形態において、情報ブロック内の１４ビットそれぞれの値は隣接した情報ドットの差分によって表現されている。たとえば、第１ビットは情報ドット(1)に対してｘ方向に＋１格子分の位置にある情報ドット(5)との差分によって求められる。すなわち、[1]＝(5)−(1)となる。ここで情報ドット(5)は”１”を、情報ドット(1)は”０”を意味しているので第１ビット［1］は１−０、すなわち”１”を意味している。同様に第２ビット[2]は[2]＝(6)−(2)、第３ビット[3]＝(7)−(3)で表される。第１ビット〜第３ビットは以下のようになる。
【００４０】
なお、下記の差分式において、値は絶対値をとることにする。
【００４１】
[1]＝(5)−(1)＝０−１＝１
[2]＝(6)−(2)＝１−１＝０
[3]＝(7)−(3)＝０−０＝０
次に、第４ビット[4]については、ベクトルドットの直下位置にある情報ドット(8)と情報ドット(5)との差分で求める。したがって、第４ビット[4]〜第６ビット[6]は＋ｘ方向に１格子、＋ｙ方向に１格子の位置にある情報ドットの値との差分をとる。
【００４２】
このようにすると、第４ビット[4]〜第６ビット[6]は以下の式で求めることができる。
【００４３】
[4]＝(8)−(5)＝１−０＝１
[5]＝(9)−(6)＝０−１＝１
[6]＝(10)−(7)＝１−０＝１
次に、第７ビット[7]〜第９ビット[9]については、＋ｘ方向に１格子、−ｙ方向に１格子の位置にある情報ビットとの値の差分をとる。
【００４４】
このようにすると、第７ビット[7]〜第９ビット[9]は以下の式で求めることができる。
【００４５】
[7]＝(12)−(8)＝０−１＝１
[8]＝(13)−(9)＝０−０＝０
[9]＝(14)−(10)＝０−１＝１
次に、第１０ビット[10]〜第１２ビット[12]については、＋ｘ方向に１格子の位置にある情報ドットの差分をとり、以下のようになる。
【００４６】
[10]＝(15)−(12)＝０−０＝０
[11]＝(16)−(13)＝１−０＝１
[12]＝(17)−(14)＝１−０＝１
最後に、第１３ビット[13]と第１４ビット[14]は、情報ドット(8)に対してｘ方向にそれぞれ＋１、−１格子の位置にある情報ドットとの差分をとり、以下のように求める。
【００４７】
[13]＝(8)−(4)＝１−０＝１
[14]＝(11)−(8)＝１−１＝０
なお、第１ビット[1]〜第１４ビット[14]をそのまま真値として読み取りデータとして採用してもよいが、セキュリティを確保するために、当該１４ビットに対応するセキュリティテーブルを設けて、各ビットに対応する鍵パラメータを定義しておき、読取データに対して鍵パラメータを加算、乗算等することにより真値を得るようにしてもよい。
【００４８】
この場合、真値ＴはＴｎ＝[n]＋Ｋｎ（ｎ：１〜１４、Ｔｎ：真値、[n]：読取値、Ｋｎ：鍵パラメータ）で求めることができる。このような鍵パラメータを格納したセキュリティテーブルは、光学読取装置内のＲＯＭ内に登録しておくことができる。
【００４９】
たとえば、セキュリティテーブルとして、以下のような鍵パラメータを設定した場合、
Ｋ１＝０
Ｋ２＝０
Ｋ３＝１
Ｋ４＝０
Ｋ５＝１
Ｋ６＝１
Ｋ７＝０
Ｋ８＝１
Ｋ９＝１
Ｋ１０＝０
Ｋ１１＝０
Ｋ１２＝０
Ｋ１３＝１
Ｋ１４＝１
真値Ｔ１〜Ｔ１４は、それぞれ以下のように求めることができる。
【００５０】
Ｔ１＝[1]＋Ｋ１＝１＋０＝１
Ｔ２＝[2]＋Ｋ２＝０＋０＝０
Ｔ３＝[3]＋Ｋ３＝０＋１＝１
Ｔ４＝[4]＋Ｋ４＝１＋０＝１
Ｔ５＝[5]＋Ｋ５＝１＋１＝０
Ｔ６＝[6]＋Ｋ６＝１＋１＝０
Ｔ７＝[7]＋Ｋ７＝１＋０＝１
Ｔ８＝[8]＋Ｋ８＝０＋１＝１
Ｔ９＝[9]＋Ｋ９＝１＋１＝０
Ｔ１０＝[10]＋Ｋ１０＝０＋０＝０
Ｔ１１＝[11]＋Ｋ１１＝１＋０＝１
Ｔ１２＝[12]＋Ｋ１２＝１＋０＝１
Ｔ１３＝[13]＋Ｋ１３＝１＋１＝０
Ｔ１４＝[14]＋Ｋ１４＝０＋１＝１
以上に説明した情報ビットと、セキュリティテーブルと真値との対応を図５に示す。
【００５１】
なお、上記では情報ドットから情報ビットを得て、セキュリティテーブルを参照して真値を求める場合を説明したが、これとは逆に、真値からドットパターンを生成する場合には、第ｎビットの値[n]は、[n]＝Ｔｎ−Ｋｎで求めることができる。
【００５２】
ここで一例として、Ｔ１＝１、Ｔ２＝０、Ｔ３＝１とした場合、第１ビット[1]〜第３ビット[3]は、以下の式で求められる。
【００５３】
[1]＝１−０＝１
[2]＝０−０＝０
[3]＝１−１＝０
そして、第１ビット[1]〜第３ビット[3]は、以下の差分式により表される。
【００５４】
[1]＝(5)−(1)
[2]＝(6)−(2)
[3]＝(7)−(3)
ここで、(1)＝１、(2)＝１、(3)＝０という初期値を与えると、以下のようにドット(5)〜(7)を求めることができる。
【００５５】
(5)＝(1)＋[1]＝１＋１＝０
(6)＝(2)＋[2]＝１＋０＝１
(7)＝(3)＋[3]＝０＋０＝０
以下の説明は省略するが、同様にドット(8)〜(14)の値も求めることができ、この値に基づいてドットを配置すればよい。
【００５６】
なお、ドット(1)〜(3)の初期値は任意の乱数（０か１）である。
【００５７】
つまり、割り当てられた初期ドット(1)〜(3)に対して情報ビット[1]〜[3]の値を加算してやることで、次のｙ方向格子線に配置されるドット(5)〜(7)の値を求めることができる。同様に、ドット(5)〜(7)の値に情報ビット[4]〜[6]の値を加算してやることにより、ドット(8)〜(10)の値を求めることができる。さらに、これらに情報ビット[7]〜[9]の値を加算してやることでドット(12)〜(14)の値を求めることができる。さらに、これに情報ビット[10]〜[12]の値を加算すればドット(15)〜(17)の値を求めることができる。
【００５８】
なお、ドット(4)及び(11)については前記で算出されたドット(8)に基づいて情報ビット[13]を減算、情報ビット[14]を加算することでそれぞれ求められる。
【００５９】
このように、本実施形態では、格子線ｙｎ上のドットの配置を格子線ｙ（ｎ−１）上のドット配置に基づいて決定し、それを順次繰り返すことにより全体の情報ドットの配置が決定される。
（光学読取装置でのドットパターン読取手順）
(ステップ１)
図６に示すように、光学読取装置８０１（図８参照）で読み取ったデータをＶＲＡＭ（画像メモリ）上にビットマップ展開し、撮影中心からスパイラル状に画像メモリ上の二値化したドットを探す。最初に見つかったドットを基準ドットPoとする。
(ステップ２)
次に、基準ドットPoから右回りスパイラル状にドットの有無を検索する。ここで見つかったドットについて下記の判定を行い、条件を満足しなかった場合は(ステップ２）に戻り、これまでに探したドットから前記スパイラル方向の次に検討対象とするドットを探す。
(ステップ３)
撮影中心鉛直方向に対して、基準ドットPoから検討対象ドットの方向がなす角度θと基準ドットPoからの距離Lを測り、メモリ上に設けられたテーブルに前記距離Lの短い順に登録する。なお、新しいドットが見つかる度に、その順序をソーティングする。なぜなら、スパイラル状に探す場合、基準ドットPoを中心とする正方形状にドットを探すことになり、後に探したドットの方が、距離が短くなる場合があるためである。図６は、光学読取装置８０１を傾けて、読取面に対する鉛直線に対して斜め方向からドットパターンを読み取り、ドットパターンが長方形に変形した例である。
(ステップ４)
新しい検討対象ドットPlとテーブルに既に登録されているドットPsとの角度の差▲θを計算する（図７参照）。
(ステップ５)
前記ステップ４において、▲θ＞tan-１０.４であれば、(ステップ１)に戻る。
【００６０】
なお、tan-１０.４（＝２１.８°）は、５０°の角度で光学読取装置８０１を傾けてドットパターンを撮影した場合に、基準ドットを中心に格子ライン方向の隣にあるドットとさらにその隣にあるドットがなす角度である。（図８）
(ステップ６)
前記ステップ４において、▲θ≦tan-１０.４であれば、既登録（短い）ドットPsまでの距離をLs、検討対象（長い）ドットPlまでの距離をLlとし、２.４＞Ll２/Ls２、７.０<Ll２/Ls２、であれば、ドットPlに対して前記テーブル上で検討対象外のフラグを立てて、(ステップ２）に戻る。
【００６１】
なお、２.４≦Ll２/Ls２≦７.０は、５０°の角度でドットパターンを撮影した場合に、基準ドットが乗る格子ライン方向において、基準ドットから隣にあるドットとさらにその隣にあるドットまでの距離の２乗の比である。
(ステップ７)
前記ステップ６において、２.４≦Ll２/Ls２≦７.０であれば、基準ドットPoからPlの正反対方向に対して、その角度θ’が▲θ’≦tan-１０.４となる範囲で基準ドットPoから最も距離の短いドットPs’を探す。
(ステップ８)
前記ステップ７でドットが見つからなければ、テーブル上のPlに検討対象外のフラグを立てて、(ステップ２）に戻る。
(ステップ９)
ステップ７でドットが見つかった場合、基準ドットPoからPlの正反対方向で、Ps’よりさらに遠くにあるドットPl’を探し、(ステップ６）、(ステップ７）の条件を満足すれば、Pl-P０-Pl’を基準第１方向格子ラインの候補とする。見つからなければ、Plに検討対象外のフラグを立てて、ステップ２に戻る。
(ステップ１０)
基準第１方向格子ライン候補Pl-Po-Pl’を見つけた後、基準ドットから最も距離の短い１０個のドットを選ぶため、基準ドットPoを中心にドットPlの次のドットから続けてスパイラル状に計１５個までドットを探し、基準ドットP０からの距離を測りテーブルに距離の短い順に登録する。なお、余分にドットを探すのは(ステップ３)と同一の理由による。
(ステップ１１)
基準第１方向格子ライン候補Pl-P０-Pl’に対して、基準ドットPoを中心にPlからPl’に右回り方向及びPlからPl’に左回り方向で、それぞれPs、Ps’を除いて両方向で最も基準ドットPoからの距離の短い５個のドットをそれぞれ選ぶ。
(ステップ１２)
５個のドットの内、基準ドットPoから最も距離の短いドットを省き、残りの４個のドットから基準ドットPoからPl-P０-Pl’までの距離を測り、距離の等しい２個のドットを結んだラインが準第１方向格子ラインの候補となり、その距離（ライン間距離）が第２方向格子間距離D２となる。ただし、Pl-Po-Pl’までの距離が等しい２個のドットが２組ある場合、その距離が短い２個のドットを選ぶ。（図９参照）
(ステップ１３)
前記ステップ１２において、４個のドットの内、Pl-Po-Pl’までの距離が等しい２個のドットが見つからなかった場合は、Pl及びPl’に検討対象外のフラグを立ててその次の検討対象ドットについてステップ４〜ステップ１５の作業を行う。ただし、検討対象外のフラグが立っているドットは、基準第１方向格子ラインを形成しないから検討対象のドットにしない。
(ステップ１４)
前記ステップ１２において、右回り及び左回りの両側で準第１方向格子ラインの候補が見つかり、さらに右回り側及び左回り側のステップ１２で省いた、距離の最も短いドット同士を結び基準第２方向格子ラインの候補とする。ここで右回り側及び左回り側の準第１方向格子ライン候補から、基準第１方向格子ライン候補までの距離が等しく（D２＝D２’）、かつ、Ps及びPs’から基準第２方向格子ライン候補までの距離が等しい場合（D１＝D１’）、基準第１方向格子ライン及び２つの準第１方向格子ラインと基準第２方向格子ラインが確定される。基準第２方向格子ラインと、基準第１方向格子ライン及び２つの準第１方向ラインとの交点を求め、格子点３G２、３G３、３G４とする。なお、Ps及びPs’から基準第２方向格子ラインまでの距離が第１方向格子間距離D１となる（図１０参照）。
(ステップ１５)
ステップ１４において、それぞれの準格子ライン候補から基準格子ライン候補までの距離が等しくなかった場合もしくは、Ps及びPs’から基準第２方向の格子ラインまでの距離が等しくなかった場合は、Pl及びPl’に対象外のフラグを立て次の検討対象ドットについて、ステップ４〜ステップ１５の作業を行う。ただし、対象外のフラグが立っているドットは、基準第１方向格子ラインを形成しないから検討対象のドットにしない。
(ステップ１６)
第１方向格子ラインを形成するに至ったPs及びPs’から、基準第２方向格子ラインと同一の角度で準第２方向格子ライン候補を引き、第１方向格子ラインと２つの準第１方向格子ラインとの交点を求め、仮格子点２G’２、２G’３、２G’４及び４G’２、４G’３、４G’４とする。（図１１）
(ステップ１７)
ステップ１４及びステップ１６により、基準ドットPo近傍の格子点を囲む計９個の格子点及び仮格子点が求まる。上記、計９個の格子点及び仮格子点の周囲にある１４個の格子点について、第１及び第２方向格子ライン間距離（D１、D２）を基に、それぞれの格子ライン方向でその位置を推測し仮格子点とする。その仮格子点を中心にスパイラル状に仮格子点から最も近い位置のドットを探し仮格子点近傍の１４個のドットが見つかり、９個の格子点及び仮格子点近傍のドットと併せてmPnとする（図１２参照）。
(ステップ１８)
まず、２P１-２P３-２P５及び４P１-４P３-４P５をそれぞれ結んで準第２方向格子ラインとする。
(ステップ１９)
次に、１P１-３P１-５P１及び１P５-３P５-５P５をそれぞれ結んで準々第１方向格子ラインとする。
(ステップ２０)
次に、１P２-１P４及び５P２-５P４をそれぞれ結んで準々第２方向格子ラインとする。
(ステップ２１)
５本の第１方向格子ラインと５本の第２方向格子ラインにより、仮格子点２２個が格子点に替わり全ての格子点２５個の位置が求まる。
(ステップ２２)
基準ドットPoは基準第１方向ラインを形成し格子点から第１方向にオフセットすることから、他の全てのドットは、第１方向か、第２方向のいずれかに格子点からオフセットするかが定まり、そのオフセットする方向により１ビットの情報を有する。なお、コーナードット及びベクトルドットは格子点上にドットが重なる格子ドットとなる。
(ステップ２３)
２５個のドットの内、コーナードットとベクトルドットがそれぞれ１個以上あり、コーナードット、ベクトルドット含めて最小で２個以上、最大で５個の格子ドットが見つかる。
(ステップ２４)
格子ドットの内、基準ドットPoから最も近い格子ドットと、その格子ドットから最も近い格子ドットの２個を選ぶ。この場合、必ずコーナードットとベクトルドットとなる。まず基準ドットPoから最も近い１個目の格子ドットと、その格子方向両隣の２個の情報ドットと結ぶラインが格子ラインと重なる方向を探す。この方向と上記両隣の２個の情報ドット近傍の格子点の内、２個目の格子ドットに近い格子点と２個目の格子ドットを結ぶ方向がもう１つの格子ライン方向であり、その間が２格子離れた位置にあるかどうか判定する。この条件を満足すれば、１個目の格子ドットがベクトルドットとなり、２個目のドットがコーナードットである。条件を満足しなければ、２個目の格子ドットについて同じ判定をする。もし２個のドットとも条件を満足しなければ、エラーとなる。なお、上記ベクトルドットとコーナードットが乗る２つの格子ラインが交わる格子点からベクトルドットへの向きがドットパターンの向きとなる（図１３参照）
(ステップ２５)
上記ベクトルドットとコーナードットにより、他のベクトルドットとコーナードットの位置を推測し、その位置に（ステップ２３）で見つかった格子ドット全てが重なるかどうか確認する。もし重ならない格子ドットがある場合、エラーとなる。
(ステップ２６)
以上から、ドットパターンの向きと全ての情報ドットが格子点からオフセットする方向がわかり、ドットパターンの向きとその向きの９０°右方向を１、それらの逆方向を０とし、１ブロック分の情報が算定される。なお、撮影中心鉛直方向とドットパターンの向きがなす角度を求めることにより、この角度を情報パラメータとすることができる。なお、図１４では、角度情報パラメータはφ＝０°となっている。
(ステップ２７)
図１〜９は、光学読取装置８０１を傾けて斜め方向からドットパターンを読み取り、ドットパターンが長方形に変形した例であるが、光学読取装置の撮影中心鉛直方向とドットパターンの向きに角度を持ち、ひし形状に変形した場合も上記ステップ１〜２６が適正に実施できる（図１５参照）。
(ステップ２８)
１ブロック分のデータ算定は、コード形式のデータの場合、任意のエリアのどのブロックのデータも、全て同一のコードが記録されているため、必ずしも４個のコーナードットに囲まれているドットのビット情報を得る必要はなく、ブロックをまたいでも、１ブロック分の該当する各ドットのビット情報（１ or ０）が得られれば、１ブロック分のデータが算定できる。
【００６２】
なお、ｘｙ座標形式の場合は、隣のブロックのｘｙ座標の増分値と撮影中心位置により、補正及び補間し、撮影中心の正確な座標値が算定される。すなわち、ブロック内のデータがｘｙ座標を意味している場合、まず格子ドットとベクトルドットとの位置関係から、撮影中心がブロックのどの位置にあるのかが判定される。次に、撮影範囲に含まれる隣のブロックから参照した部分のデータに補正をかけて当該撮影中心ブロックの撮影範囲に含まれない部分のデータを補間する。これによって当該ブロックのｘｙ座標（具体的には撮影中心が含まれるブロックのｘｙ座標）が求められる。
【００６３】
このｘｙ座標はブロック中心のｘｙ座標を意味するものであり、ブロック中心の位置と撮影中心の位置のずれの量と、ブロック間のｘｙ座標の増減量を線形補間して、当該ブロックの真のｘｙ座標を求めることができる。
【００６４】
なお、本発明のドットパターンを用いた情報入出力方法は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【００６５】
たとえば、印刷上の背景とする場合、格子点そのものにドットを配置してもよい（ダミードットパターン）。このようなダミードットパターンは、線画の認識できる境界領域（マスク画像とマスク画像との境界部分）に用いることができる。また、このダミードットパターンは、印刷上の背景とすることもできる。この場合、光学読取装置で読み取ったときに、情報ドットが存在しないことからエラー出力を行う。このエラー出力により背景であることを認識することができ、背景に合わせたバックグラウンドミュージック（ＢＧＭ）等の音楽や小鳥の囀り等を出力させることができる。
【００６６】
また、実施形態において、ベクトルドット（図１６参照）は４×４格子ブロック（グリッド）の情報ブロックの方向を示すものであるが、このベクトルドットを用いることによって光学読取装置の読取方向を認識することができるため、同じ情報ブロックのドットパターンであっても、読取方向によって異なった意味を持たせることも可能である。すなわち、同一のドットパターンに対して、読取光軸を中心に光学読取装置を９０度、１８０度または２７０度回転させて読み取ることにより、ベクトルドットの位置も画像メモリ上で情報ブロックに対して左右、または下方向となるため、情報ブロック内のドットパターンを読み取った後に、ベクトルドットの位置から得られた向き情報に応じて出力（音声等）を変化させてもよい。たとえばクロスワードパズルの各マスに本発明のドットパターンを印刷しておき、光学読取装置の読取面を光学軸を中心に９０度回転させることにより縦方向のワードのヒント、横方向のワードのヒントをそれぞれわけて表示出力（音声出力）させるようにしてもよい。さらに、ベクトルドットを用いて光学読取装置の読み取りの際の回転角度を認識する技術について、上記では９０度単位で回転させた場合で説明したが、最小回転角度として５度程度でもその角度認識が可能である。
【００６７】
また、図１６ではベクトルドットを単独で設けているが、情報ドットそのものを一つのベクトルドットとしてもよい。すなわち、差分法によるドットパターンの生成に際しては、初期値を制御することによってドットの位置（たとえば図１７の丸付き数字８のドット）の配置位置を制御することができるため、このような特定の位置の情報ドットをベクトルドットとして使うことができる。
【００６８】
このようにすれば、ベクトルドットと情報ドットを共用できるため、情報量を増やすことができる。
【００６９】
そして、図４や図１６では、ベクトルドットが単独で存在しているために、その読み取り順を［４］〜［９］（図４、図１６参照）のように斜め方向でその差分を検出しなければならなかったが、情報ドットとベクトルドットを共有する場合には図１７に示すように、略水平方向に差分を読み取っていけばよいため、探索アルゴリズムが簡易となる。
【００７０】
なお、図１８は、図１７に示したドットパターンの情報ビットの値と、セキュリティテーブルの値と、その情報ビット値とセキュリティテーブル値とから算出される真値との対応を示した図である。
【００７１】
すなわち、セキュリティテーブルは光学読取手段の記憶手段等に設けられており、差分として読み取った情報ビットの値（図１８上段）にセキュリティテーブルの値Ｋ１〜Ｋ１４を加算することによって真値Ｔ１〜Ｔ１４が算出できるようになっている。
【００７２】
なお、実施形態では格子ブロックの数は４×４で１つの情報単位としたが、このブロック数は自由に変更可能であることはいうまでもない。
【産業上の利用可能性】
【００７３】
本発明のドットパターンを用いた情報入出力方法は絵本やシール等の印刷媒体に用いることにより、紙媒体の印刷情報に対してさらに他の文字情報、画像情報、音声情報等を付加することができる。
【００７４】
また、本発明によれば、印刷媒体のドットパターンを利用することによりタブレット入力の代替とすることができる。
【図面の簡単な説明】
【００７５】
【図１】本実施形態のドットパターンの配置方法を説明する図である。
【図２】実施形態のドットと格子線との関係を示す図である。
【図３】情報ドットの格子点からのずれ方の態様を示す図である。
【図４】差分による情報取得を説明するためのドットパターン図である。
【図５】情報ビットとセキュリティテーブルと真値との関係を説明するための図である。
【図６】ドットパターンの読取アルゴリズムを説明するための図（１）である。
【図７】ドットパターンの読取アルゴリズムを説明するための図（２）である。
【図８】光学読取装置を用いたドットパターンの読取方法を示す説明図である。
【図９】ドットパターンの読取アルゴリズムを説明するための図（３）である。
【図１０】ドットパターンの読取アルゴリズムを説明するための図（４）である。ある。
【図１１】ドットパターンの読取アルゴリズムを説明するための図（５）である。
【図１２】ドットパターンの読取アルゴリズムを説明するための図（６）である。
【図１３】ドットパターンの読取アルゴリズムを説明するための図（７）である。
【図１４】ドットパターンの読取アルゴリズムを説明するための図（８）である。
【図１５】ドットパターンの読取アルゴリズムを説明するための図（９）である。
【図１６】ドットパターンの読取アルゴリズムを説明するための図（１０）である。
【図１７】ドットパターンの変形例の読取アルゴリズムを説明するための図である。
【図１８】図１７の情報ビットとセキュリティテーブルと真値との関係を示す説明図である。
【図１】
2006318507.tif 000003
【図２】
2006318507.tif 000004
【図３】
2006318507.tif 000005
【図４】
2006318507.tif 000006
【図５】
2006318507.tif 000007
【図６】
2006318507.tif 000008
【図７】
2006318507.tif 000009
【図８】
2006318507.tif 000010
【図９】
2006318507.tif 000011
【図１０】
2006318507.tif 000012
【図１１】
2006318507.tif 000013
【図１２】
2006318507.tif 000014
【図１３】
2006318507.tif 000015
【図１４】
2006318507.tif 000016
【図１５】
2006318507.tif 000017
【図１６】
2006318507.tif 000018
【図１７】
2006318507.tif 000019
【図１８】
2006318507.tif 000020