(57)【特許請求の範囲】
【請求項１】
印刷物等の媒体面に、複数の格子ドット（４）を矩形状に配置したブロックが上下または／および左右方向に連続的に配置され、
該ブロック内の予め定められた位置にある少なくとも１個の格子ドット（４）を本来の格子ドットの位置よりも一定方向にずらして、ブロックの方向を示すキードット（２）とし、
４点の格子ドット（４）で囲まれた中心を仮想点にして、これを始点としてベクトルにより表現した終点に、仮想点からの距離と方向とで情報を定義する情報ドット（３）を、複数配列してドットパターン（１）とし、
そのようなドットパターン（１）を構成する媒体面上のブロックをカメラにより画像データとして取り込み、
情報処理手段によって、前記画像データをデジタル化して求めた数値より情報、またはプログラムを出力させる、ことを特徴とするドットパターンを用いた情報入出力方法。
【請求項２】
前記カメラで、前記ドットパターン（１）のキードット（２）の媒体面上での方向を認識し、その方向を基準に情報ドット（３）が意味する数値を決定する、ことを特徴とする請求項１のドットパターンを用いた情報入出力方法。
【請求項３】
前記情報ドット（３）は、前記格子ドット（４）の一つの仮想点を中心に複数配置されている、ことを特徴とする請求項１のドットパターンを用いた情報入出力方法。
【請求項４】
前記情報ドット（３）が定義するデータをビットとして表示した場合、エラーチェックに用いるために、前記情報ドット（３）1個の内、1ビットに冗長性を持たせ、該情報ドット（Ｉｎ）から得られるデータの上位ビットと情報ドットIｎ＋1から得られるデータの下位ビットとを同一値で定義することにより、
前記情報ドット（３）が前記媒体面に表示された状態において、その情報ドット（Ｉｎ）から得られるデータの上位ビットと情報ドット（Ｉｎ＋1）から得られるデータの下位ビットが同一でないときに、前記情報ドット（３）から得られるデータはエラーであると判定する、ことを特徴とする請求項１のドットパターンを用いた情報入出力方法。
【請求項５】
前記情報ドット（３）をエラーチェックに用いるために下位ビットに「０」又は「１」を割り当てることにより、
前記情報ドット（３）が前記媒体面に表示された状態において、該情報ドット（３）が配置される位置から、隣接する、別のデータを有する情報ドット（３）が配置される位置へずれているときに、該情報ドット（３）は適正位置に表示されていないと判定する、ことを特徴とする請求項１のドットパターンを用いた情報入出力方法。
【請求項６】
前記キードット（２）の媒体面上での方向を上方向と定め、その方向の情報ドット（３）に定義されるデータを「０」とすると、前記情報ドット（３）を等間隔８方向の何れかに配置すると共に、エラーチェックを行うために下位ビットに「０」を割り当てることにより、
前記情報ドット（３）が前記媒体面に表示された状態において、該情報ドット（３）が前記仮想点を中心にして上下又は左右方向以外の傾斜方向に位置するときに、該情報ドット（３）は適正位置に表示されていないと判定する、ことを特徴とする請求項５のドットパターンを用いた情報入出力方法。
【請求項７】
前記キードット（２）の媒体面上での方向を上方向と定め、その方向の情報ドット（３）に定義されるデータを「０」とすると、前記情報ドット（３）を等間隔８方向の何れかに配置すると共に、エラーチェックを行うために下位ビットに「１」を割り当てることにより、
前記情報ドット（３）が前記媒体面に表示された状態において、該情報ドット（３）が前記仮想点を中心にして傾斜方向以外の上下又は左右方向に位置するときに、該情報ドット（３）は適正位置に表示されていないと判定する、ことを特徴とする請求項５のドットパターンを用いた情報入出力方法。
【請求項８】
前記情報ドット（３）のエラーチェックを行い、前記仮想点毎に全体として偏りなく情報ドット（３）を配置するために下位ビットに「０」と「１」を交互に割り当てる、ことを特徴とする請求項５のドットパターンを用いた情報入出力方法。
【請求項９】
前記ドットパターン（１）の情報ドットＩｎに定義されたデータＫｎを暗号化し目視で読むことができないようにするために、
情報処理手段を用いて、前記データＫｎに対して関数ｆで表現された演算を実施し、
情報処理手段を用いて、Iｎ＝ｆ（Ｋｎ）をドットパターン（１）で表現し、該ドットパターン（１）を媒体面上に出力し、
撮像手段を用いて、前記ドットパターン（１）をカメラにより画像データとして取り込み、前記データＫｎをＫｎ＝ｆ-1（Ｉn）により求める、ことを特徴とする請求項１のドットパターンを用いた情報入出力方法。
【請求項１０】
前記ドットパターン（１）の規則性をなくし、前記情報ドット（３）のデータを目視で読むことができないようにするために、
隣り合う２列の情報ドット（３）の差分を情報ドット（３）に定義するデータとし、
隣り合う前列の情報ドットＩｍに、定義するデータＫｎを加算することで求められる情報ドットＩｎによりドットパターン（１）を生成し配置する、ことを特徴とする請求項１のドットパターンを用いた情報入出力方法。
【請求項１１】
前記ドットパターン（１）において情報のない領域を定義するために、又は領域と領域の境界において境界をまたいで異なったデータを取り込まないようにするために、
データの定義されていないダミードット（５）として、４点の格子ドット（４）の中心位置にドットを配置する、ことを特徴とする請求項１のドットパターンを用いた情報入出力方法。
【請求項１２】
前記ドットパターン（１）をカメラによりその画像データとして取り込むときに、
前記キードット（２）の位置におけるＸ，Ｙ座標値を算定した後に、
該キードット（２）から得られるドットパターン（１）の向きと、隣接するブロックのキードット（２）におけるＸ，Ｙ座標値の増分値及び、撮像中心からＸ，Ｙ座標値が算定されたキードット（２）までの距離より、座標値を補完することによって、
撮像中心のＸ，Ｙ座標値を算定する、ことを特徴とする請求項１のドットパターンを用いた情報入出力方法。
【請求項１３】
前記ドットパターン（１）のブロックをカメラによりその画像データとして取り込むときに、各ブロックに同一のデータが定義されている領域、又はＸ，Ｙ座標値が定義されている領域において、
前記カメラの撮像中心の周囲にある情報ドット（３）から読み始め、順次情報ドット（３）を読み込み、
１ブロック分に相当する情報ドット（３）を読み込むことにより、前記カメラの撮像中心位置におけるデータを算定する、ことを特徴とする請求項１のドットパターンを用いた情報入出力方法。
【請求項１４】
前記ドットパターン（１）をカメラにより画像データとして取り込むときに、
情報ドット（３）について一部エラーが発生した際に、該情報ドット（３）に相当する最も近い情報ドット（３）を読み込み、エラー修正をする、ことを特徴とする請求項１のドットパターンを用いた情報入出力方法。
【請求項１５】
前記ブロックをサブブロックに分割し、各サブブロックに個々に独立した情報を与えることにより、
前記カメラの撮像中心から、前記ブロック単位より小さなエリアでドットパターン（１）を読み取り、また各サブブロック毎にエラーチェック及びエラー修正を行う、ことを特徴とする請求項１のドットパターンを用いた情報入出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷物等に形成したドットパターン情報を光学的に読み取ることにより、様々な情報やプログラムを入出力させるドットパターンを用いた情報入出力方法に関するものである。
【背景技術】
【０００２】
従来より、印刷物等に印刷されたバーコードを読み取り、音声等の情報を出力させる情報出力方法が提案されている。例えば、予め記憶手段に与えられたキー情報に一致する情報を記憶させておき、バーコードリーダで読み込まれたキーから検索して情報等を出力する方法が提案されている。  また、多くの情報やプログラムを出力できるように、微細なドットを所定の法則で並べたドットパターンを生成し、印刷物等に印刷したドットパターンをカメラにより画像データとして取り込み、デジタル化して音声情報を出力させる技術も提案されている。
【０００３】
しかし、上記従来のバーコードにより音声等を出力させる方法は、印刷物等に印刷されたバーコードが目障りであるという問題を有していた。また、バーコードが大きく、紙面の一部を占有するため、このようにバーコードが大きいと、一部分の文章やセンテンスまたは、写真、絵、グラフィックの画像の中に登場する意味を有するキャラクターや対象物毎に分り易く数多くのバーコードを割りあてることはレイアウト上不可能であるという問題を有していた。
【０００４】
ドットパターンをカメラにより画像データとして取り込み、その画像データを無彩色の２５６階調にデジタル化し、ドットを認識しやすくするために、階調の変化を微分し、ドットのエッジをシャープにする。次に２５６階調のデータを白か黒に二値化する。この二値化することで、ドットを紙面に印刷するときに、印刷のズレやにじみ、画素化した際のズレが原因してドットの印刷エラーが生じる。従来はこのような印刷エラーをパリティチェックによりエラーチェックしていた。しかし、これらのエラーチェックには、ドット毎の印刷エラーチェックではなく、複数のドットから得られるデータの固まりに対してエラーチェックをし、どのドットに印刷エラーが生じたかを確定できないことと、カメラの撮像範囲を広くとらなければならないという問題を有していた。
【０００５】
更に、レンズの歪みや斜めからの撮像、紙面の伸縮、媒体表面の湾曲、印刷時のゆがみによって撮像されたドットパターンに歪みが生じ、これを補正するために高度な技術力が必要となるという問題を有していた。  本発明は、かかる問題点を解決するために創案されたものである。すなわち、本発明の目的は、印刷物等に表示するドットパターンの各ドットに異なる機能を付与することで、多量のデータをドットパターンで定義し、そのドットパターンからの情報化に際し、方向性を認識して迅速に情報化することができると共に、ドットの配置状態のエラーをチェックすることができ、更にセキュリティを高めることができるドットパターンを用いた情報入出力方法を提供することにある。
【発明の開示】
【０００６】
本発明によれば、印刷物等の媒体面に、複数の格子ドット（４）を矩形状に配置ブロックが上下または／および左右方向に連続的に配置され、該ブロック内の予め定められた位置にある少なくとも１個の格子ドット（４）を本来の格子ドットの位置よりも一定方向にずらしてブロックの方向を示すキードット（２）とし、４点の格子ドット（４）で囲まれた中心を仮想点にして、これを始点としてベクトルにより表現した終点に、前記仮想点からの距離と方向とで情報を定義する情報ドット（３）を、複数配列してドットパターン（１）を生成し、前記ドットパターン（１）を構成するブロックをカメラにより画像データとして取り込み、それをデジタル化して求めた数値より情報、プログラムを出力させる、ことを特徴とするドットパターンを用いた情報入出力方法が提供される。
【０００７】
前記カメラで、前記ドットパターン（１）のキードット（２）の方向を認識し、その方向を基準にベクトルの終点に配置されたドットを情報ドット（３）とする。前記情報ドット（３）を、前記格子ドット（４）の仮想点を中心に複数表示する、ことができる。
【０００８】
上記構成の情報・プログラム出力方法では、情報出力装置、パソコン、ＰＤＡ又は携帯電話等を用いて、印刷物等の媒体に形成したドットパターン（１）をカメラにより画像データとして取り込む。このカメラが、これらのドットパターン（１）における所定の規則に則って印刷されたドットを認識し、それをデジタル化し、復号化された情報ドットの数値に基づいて、対応した音声、画像情報またはプログラムを出力させる。
【０００９】
特に、ドットパターン（１）をカメラによりその画像データとして取り込み、先ず格子ドット（４）を認識してキードット（２）を抽出し、キードット（２）で方向性を認識し、その方向をパラメータとして使用することができる。次に、このキードット（２）の周囲に配置した情報ドット（３）を抽出することにより、迅速に情報及びプログラムを出力させることができる。
【００１０】
ドットパターン（１）には、格子ドット（４）を配置してあるので、カメラでこのドットパターン（１）を画像データとして取り込む際に、レンズの歪みや斜めからの撮像、紙面の伸縮、媒体表面の湾曲、印刷時のゆがみを矯正することができる。具体的には、歪んだ４点の格子ドット（４）を元の正方形に変換する補正用の関数
（Ｘｎ，Ｙｎ）＝ｆ（Ｘ´ｎ，Ｙ´ｎ）を求め、
その同一の関数で情報ドットを補正して、正しい情報ドット（３）のベクトルを求める。
【００１１】
前記情報ドット（３）に定義するデータをビット表示した場合、エラーチェックに用いるために、前記情報ドット（３）1個の内、1ビットに冗長性を持たせ、該情報ドット（Ｉｎ）から得られるデータの上位ビットと情報ドットＩｎ＋1から得られるデータの下位ビットとを同一と取り扱うことにより、前記情報ドット（３）が前記媒体面に表示された状態において、その情報ドット（Ｉｎ）から得られるデータの上位ビットと情報ドット（Ｉｎ＋1）から得られるデータの下位ビットが同一でないときに、前記情報ドット（３）は適正位置に表示されていないと判定する。
【００１２】
前記情報ドット（３）をエラーチェックに用いるために下位ビットに「０」又は「１」を割り当てることにより、前記情報ドット（３）が前記媒体面に表示された状態において、該情報ドット（３）が配置される位置から、隣接する、別のデータを有する情報ドット（３）が配置される位置へずれているときに、該情報ドット（３）は適正位置に表示されていないと判定する。
【００１３】
前記キードット（２）の方向を上方向と定め、その方向の情報ドットに定義されるデータを「０」とすると、前記情報ドット（３）を等間隔８方向の何れかに配置すると共に、エラーチェックを行うために下位ビットに「０」を割り当てることにより、前記情報ドット（３）が前記媒体面に表示された状態において、該情報ドット（３）が前記仮想点を中心にして上下又は左右方向以外の傾斜方向に位置するときに、該情報ドット（３）は適正位置に表示されていないと判定する。
前記キードット（２）の方向を上方向と定め、その方向の情報ドット（３）に定義されるデータを「０」とすると、前記情報ドット（３）を等間隔８方向の何れかに配置すると共に、エラーチェックを行うために下位ビットに「１」を割り当てることにより、前記情報ドット（３）が前記媒体面に表示された状態において、該情報ドット（３）が前記仮想点を中心にして傾斜方向以外の上下又は左右方向に位置するときに、該情報ドット（３）は適正位置に表示されていないと判定する。
【００１４】
前記情報ドット（３）のエラーチェックを行い、満遍なく情報ドット（３）を配置するために下位ビットに「０」と「１」を交互に割り当てることも好ましい。
【００１５】
これにより、ドットパターン（１）の情報ドット（３）が、前記媒体面への印刷のずれ、該媒体の伸縮、画素化した際のずれにより隣接方向へずれて入力されているかどうかについてエラーチェックすることができる。特に、情報ドット（３）が、仮想点を中心とした同心円状の回転方向にずれて入力された場合には、エラーを１００％チェックすることができる。
【００１６】
前記ドットパターン（１）の情報ドットＩｎに定義されたデータＫｎを暗号化し目視で読むことができないようにするために、前記データＫｎに対して関数ｆで表現された演算を実施し、Iｎ＝ｆ（Ｋｎ）をドットパターン（１）で表現し、前記ドットパターン（１）をカメラにより画像データとして取り込み、前記データＫｎをＫｎ＝ｆ-1（Ｉn）により求める。
【００１７】
前記ドットパターン（１）の規則性をなくし、前記情報ドット（３）のデータを目視で読むことができないようにするために、隣り合う２列の情報ドット（３）の差分を情報ドット（３）に定義するデータとし、隣り合う前列の情報ドットＩｍに、定義するデータＫｎを加算することで求められる情報ドットＩｎによりドットパターン（１）を生成し配置する。
【００１８】
これにより、媒体面に印刷したドットパターン（１）を目視で読むことが不可能となるためにセキュリティを高めることができる。さらに、前記ドットパターン（１）を媒体面に印刷した際、情報ドット（３）がランダムに配置され、模様が無くなり、ドットパターンを目立たなくすることができる。
【００１９】
前記ドットパターン（１）において情報のない領域を定義するために、又は領域と領域の境界において境界をまたいで異なったデータを取り込まないようにするために、データの定義されていないダミードット（５）として、４点の格子ドット（４）の中心位置にドットを配置することができる。
【００２０】
前記ドットパターン（１）をカメラによりその画像データとして取り込むときに、前記キードット（２）の位置におけるＸ，Ｙ座標値を算定した後に、該キードット（２）から得られるドットパターン（１）の向きと、隣接する代表点におけるＸ，Ｙ座標値の増分値及び、撮像中心からＸ，Ｙ座標値が算定されたキードット（２）までの距離より、座標値を補完することによって、撮像中心のＸ，Ｙ座標値を算定する。
【００２１】
前記ドットパターン（１）のブロックをカメラによりその画像データとして取り込むときに、各ブロックに同一のデータが定義されている領域、又はＸ，Ｙ座標値が定義されている領域において、前記カメラの撮像中心の周囲にある情報ドット（３）から読み始め、順次情報ドット（３）を読み込み、１ブロック分に相当する情報ドット（３）を読み込むことにより、前記カメラの撮像中心位置におけるデータを算定する。
【００２２】
前記ドットパターン（１）をカメラにより画像データとして取り込むときに、情報ドット（３）についてエラーが発生した際に、該情報ドット（３）に相当する最も近い情報ドット（３）を読み込み、エラー修正をする。
【００２３】
前記ブロックをサブブロックに分割し、各サブブロックに個々に独立した情報を与えることにより、前記カメラの撮像中心から、前記ブロック単位より小さなエリアでドットパターン（１）を読み取り、また各サブブロック毎にエラーチェック及びエラー修正を行う。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の好ましい実施の形態を図面を参照して説明する。
【００２５】
図１は本発明のドットパターンの一例を示す説明図である。図２はドットパターンの情報ドット及びそれに定義されたデータのビット表示の一例を示す拡大図である。図３（ａ）、（ｂ）はキードットを中心に配置した情報ドットを示す説明図である。
【００２６】
本発明のドットパターンを用いた情報入出力方法は、ドットパターン１の生成と、そのドットパターン１の認識と、このドットパターン１から情報及びプログラムを出力する手段とからなる。即ち、ドットパターン１をカメラにより画像データとして取り込み、先ず、格子ドットを抽出し、次に本来格子ドットがある位置にドットが打たれていないことによってキードット２を抽出し、次に情報ドット３を抽出することによりデジタル化して情報領域を抽出して情報の数値化を図り、その数値情報より、このドットパターン１から情報及びプログラムを出力させる。例えば、このドットパターン１から音声等の情報やプログラムを、情報出力装置、パソコン、ＰＤＡ又は携帯電話等に出力させる。
【００２７】
本発明のドットパターン１の生成は、ドットコード生成アルゴリズムにより、音声等の情報を認識させるために微細なドット、即ち、キードット２、情報ドット３、格子ドット４を所定の規則に則って配列する。図１に示すように、情報を表すドットパターン１のブロックは、キードット２を中心に５×５の格子ドット４を配置し、４点の格子ドット４に囲まれた中心の仮想点の周囲に情報ドット３を配置する。このブロックには任意の数値情報が定義される。なお、図１の図示例では、ドットパターン１のブロック（太線枠内）を４個並列させた状態を示している。但し、ドットパターン１は４ブロックに限定されないことは勿論である。
【００２８】
１つのブロックに１つの対応した情報及びプログラムを出力させ、又は、複数のブロックに１つの対応した情報及びプログラムを出力させることができる。
【００２９】
格子ドット４は、カメラでこのドットパターン１を画像データとして取り込む際に、そのカメラのレンズの歪みや斜めからの撮像、紙面の伸縮、媒体表面の湾曲、印刷時のゆがみを矯正することができる。具体的には歪んだ４点の格子ドット４を元の正方形に変換する補正用の関数（Ｘｎ，Ｙｎ）＝ｆ（Ｘ´ｎ，Ｙ´ｎ）を求め、その同一の関数で情報ドットを補正して、正しい情報ドット３のベクトルを求める。
【００３０】
ドットパターン１に格子ドット４を配置してあると、このドットパターン１をカメラで取り込んだ画像データは、カメラが原因する歪みを補正するので、歪み率の高いレンズを付けた普及型のカメラでドットパターン１の画像データを取り込むときにも正確に認識することができる。また、ドットパターン１の面に対してカメラを傾けて読み取っても、そのドットパターン１を正確に認識することができる。
【００３１】
キードット２は、図１に示すように、矩形状に配置した格子ドット４の略中心位置にある１個の格子ドット４を一定方向にずらして配置したドットである。このキードット２は、情報ドット３を表す1ブロック分のドットパターン１の代表点である。例えば、ドット
パターン１のブロックの中心の格子ドット４を上方に０．２ｍｍずらしたものである。情報ドット３がＸ,Ｙ座標値を表す場合に、キードット２を下方に０．２ｍｍずらした位置が座標点となる。但し、この数値はこれに限定されずに、ドットパターン１のブロックの大小に応じて可変し得るものである。
【００３２】
情報ドット３は種々の情報を認識させるドットである。この情報ドット３は、キードット２を代表点にして、その周辺に配置すると共に、４点の格子ドット４で囲まれた中心を仮想点にして、これを始点としてベクトルにより表現した終点に配置したものである。例えば、この情報ドット３は、格子ドット４に囲まれ、図２に示すように、その仮想点から０．２ｍｍ離れたドットは、ベクトルで表現される方向と長さを有するために、時計方向に４５度ずつ回転させて８方向に配置し、３ビットを表現する。従って、1ブロックのドットパターン１で３ビット×１６個＝４８ビットを表現することができる。
【００３３】
なお、図示例では８方向に配置して３ビットを表現しているが、これに限定されずに、１６方向に配置して４ビットを表現することも可能であり、種々変更できることは勿論である。
【００３４】
キードット２、情報ドット３又は格子ドット４のドットの径は、見栄えと、紙質に対する印刷の精度、カメラの解像度及び最適なデジタル化を考慮して、０．１ｍｍ程度が望ましい。
【００３５】
また、撮像面積に対する必要な情報量と、各種ドット２，３，４の誤認を考慮して格子ドット４の間隔は縦・横1ｍｍ前後が望ましい。格子ドット４及び情報ドット３との誤認を考慮して、キードット２のずれは格子間隔の２０％前後が望ましい。
【００３６】
この情報ドット３と、４点の格子ドット４で囲まれた仮想点との間隔は、隣接する仮想点間の距離の１５〜３０％程度の間隔であることが望ましい。情報ドット３と仮想点間の距離がこの間隔より遠いと、ドット同士が大きな塊りと視認されやすく、ドットパターン１として見苦しくなるからである。逆に、情報ドット３と仮想点間の距離がこの間隔より近いと、隣接する何れの仮想点を中心にしてベクトル方向性を持たせた情報ドット３であるかの認定が困難になるためである。
【００３７】
例えば、情報ドット３は、図３（ａ）に示すように、キードット２を中心に時計回りでＩ1からＩ16を配置する格子間隔は１ｍｍであり、４ｍｍ×４ｍｍで３ビット×１６＝４８ビットを表現する。
【００３８】
なお、ブロック内に、個々に独立した情報内容を有し、かつ他の情報内容に影響されないサブブロックを更に設けることができる。図３（ｂ）はこれを図示したものであり、４つの情報ドットで構成されるサブブロック[Ｉ1,Ｉ2,Ｉ3,Ｉ4]、[Ｉ5,Ｉ6,Ｉ7,Ｉ8]、[Ｉ9,Ｉ10,Ｉ11,Ｉ12]、[Ｉ13,Ｉ14,Ｉ15,Ｉ16]は各々独立したデータ（３ビット×４＝１２ビット）が情報ドットに展開されているようになっている。このようにサブブロックを設けることより、後述するエラーチェックをサブブロック単位で容易に行うことができる。
【００３９】
情報ドット３のベクトル方向（回転方向）は、３０度〜９０度毎に均等に定めるのが望ましい。
【００４０】
図４は情報ドット及びそこに定義されたデータのビット表示の例であり、他の形態を示すものである。
【００４１】
また、情報ドット３について格子ドット４で囲まれた仮想点から長・短の２種類を使用し、ベクトル方向を８方向とすると、４ビットを表現することができる。このとき、長いほうが隣接する仮想点間の距離の２５〜３０％程度、短い方は１５〜２０％程度が望ましい。但し、長・短の情報ドット３の中心間隔は、これらのドットの径より長くなることが望ましい。
【００４２】
４点の格子ドット４で囲まれた情報ドット３は、見栄えを考慮し、1ドットが望ましい。しかし、見栄えを無視し、情報量を多くしたい場合は、1ベクトル毎に、1ビットを割り当て情報ドット３を複数のドットで表現することにより、多量の情報を有することができる。例えば、同心円８方向のベクトルでは、４点の格子ドット４に囲まれた情報ドット３で２８の情報を表現でき、1ブロックの情報ドット１６個で２128となる。
【００４３】
図５は情報ドット及びそこに定義されたデータのビット表示の例であり、（ａ）はドットを２個、（ｂ）はドットを４個及び（ｃ）はドットを５個配置したものを示すものである。
【００４４】
図６はドットパターンの変形例を示すものであり、（ａ）は情報ドット６個配置型、（ｂ）は情報ドット９個配置型、（ｃ）は情報ドット１２個配置型、（ｄ）は情報ドット３６個配置型の概略図である。
【００４５】
図１と図３に示すドットパターン１は、１ブロックに１６（４×４）の情報ドット３を配置した例を示している。しかし、この情報ドット３は１ブロックに１６個配置することに限定されずに、種々変更することができる。例えば、必要とする情報量の大小又はカメラの解像度に応じて、情報ドット３を１ブロックに６個（２×３）配置したもの（ａ）、情報ドット３を１ブロックに９個（３×３）配置したもの（ｂ）、情報ドット３を１ブロックに１２個（３×４）配置したもの（ｃ）、又は情報ドット３を１ブロックに３６個（６×６）配置したもの（ｄ）がある。
【００４６】
図７（ａ）、（ｂ）は情報ドットのエラーをチェックする方法を説明するために情報ドットＩ1からＩ16までを並列させた状態を示す説明図である。
【００４７】
前記情報ドット３の1個の３ビットの内、1ビットに冗長性を持たせ、情報ドットIｎから得られるデータの上位ビットと情報ドットIｎ＋1から得られるデータの下位ビットとを同一と取り扱うことにより、情報ドット３が印刷物等の媒体面に表示された状態において、その情報ドットIｎから得られるデータの上位ビットと情報ドットIｎ＋1から得られるデータの下位ビットが同一でないときに、情報ドット３は適正位置に表示されていないと判定する。
【００４８】
また、図７（ｂ）は、情報ドットをサブブロック単位でエラーをチェックする方法を説明するために情報ドットＩ1からＩ16までを並列させた状態を示す説明図である。
【００４９】
図７（ｂ）に示すエラーチェック方式は、図７（ａ）と同様に、1ビットに冗長性を持たせ、４つの情報ドット３で構成される[Ｉ1,Ｉ2,Ｉ3,Ｉ4]、[Ｉ5,Ｉ6,Ｉ7,Ｉ8]、[Ｉ9,Ｉ10,Ｉ11,Ｉ12]、[Ｉ13,Ｉ14,Ｉ15,Ｉ16]の各々独立したデータ（３ビット×４＝１２ビット）単位でエラーチェックする方式である。
【００５０】
これにより、ドットパターン１の情報ドット３が、印刷物等の媒体面への印刷のずれ、媒体面の伸縮、画素化した際のずれにより隣接する、別のデータを有する情報ドット３が配置される位置へずれて入力されているかどうかについて、そのエラーを１００％チェックすることができる。
【００５１】
図８は下位ビットに「０」を割り当てて情報ドットのエラーをチェックする方法の説明図である。
【００５２】
情報ドット３については、その下位ビットに「０」又は「１」を割り当てることによりエラーチェックに用いることができる。情報ドット３が媒体面に表示された状態において、情報ドット３が仮想点を中心にして隣接する別のデータを有する情報ドットが配置される位置へこの情報ドット３は適正位置に表示されていないと判定することができる。
【００５３】
例えば、キードット２の方向を上方向と定め、その方向の情報ドット３に定義されるデータを「０」とすると、情報ドット３を８方向の何れかに配置すると共に、エラーチェックに用いるために下位ビットに「０」を割り当てる。即ち、下位ビットに「０」を割り当てた情報ドット３は、常に仮想点を中心にして上下又は左右方向に位置する。そこで、この情報ドット３が傾斜方向に位置するときは適正位置に表示されていないと判定することができる。
【００５４】
図９は下位ビットに「１」を割り当てて情報ドットのエラーをチェックする方法の説明図である。
【００５５】
または、キードット２の方向を上方向と定め、その方向の情報ドット３に定義されるデータを「０」とすると、情報ドット３を８方向の何れかに配置すると共に、下位ビットに「１」を割り当てることにより情報ドット３のエラーをチェックすることも可能である。即ち、下位ビットに「１」を割り当てた情報ドット３は、常に仮想点を中心にして傾斜方向に位置する。そこで、この情報ドット３が上下又は左右方向に位置するときは適正位置に表示されていないと判定することができる。
【００５６】
図１０は下位ビットに「０」と「１」を交互に割り当てて情報ドットのエラーをチェックする方法の説明図である。
【００５７】
更に、１個の情報ドット３を満遍なく配置すると共に、エラーチェックに用いるために下位ビットに「０」と「１」を交互に割り当てることにより、この情報ドット３のエラーをチェックすることも可能である。このエラーチェック方式では、上下、左右と４５度傾斜方向に交互に情報ドットが生成され、ドットパターンの規則性を無くすことができる。即ち、下位ビットに「０」と「１」を交互に割り当てた情報ドット３は、常に仮想点を中心にして上下、左右又は４５度傾斜方向に位置する。そこで、この情報ドット３が上下、左右又は４５度傾斜方向以外の方向に位置するときは適正位置に表示されていないと判定する。このように、情報ドット３が、仮想点を中心に回転方向にずれて入力されたエラーは確実にチェックすることができる。
【００５８】
なお、情報ドット３を８方向（４５度間隔）かつ長・短としたときは（図４参照）、４ビットの内、下位1ビットを「０」又は「１」とすると近接する３点（同心円±４５度回転位置２点＋長・短どちらか1点）のドットの位置にずれた場合は、それをエラーとすることができ、エラーを１００％チェックができる。
【００５９】
図１１は情報ドットのセキュリティについて説明するために情報ドットＩ1からＩ16までを並列させた状態を示す説明図である。
【００６０】
例えば、ドットパターン１のデータを目視で読むことができないようにするために、情報ドット３のＩｎに対して関数ｆ（Ｋｎ）で表現された演算を実施し、Ｉn＝Ｋn＋Ｒｎをドットパターン１で表現し、ドットパターンＩnを入力した後、Ｋn＝Ｉn―Ｒｎを求める。
【００６１】
または、ドットパターン１のデータを目視で読むことができないようにするために、キードット２を代表点に複数の情報ドット３を１列に配置し、かつこの１列を複数列に配置し、隣り合う２列のデータの差分を情報ドット３のデータとすることにより、各ブロックのドットパターン１の規則性が無くなるように、各情報ドット３を配置することができる。
【００６２】
これにより、媒体面への印刷したドットパターン１を目視で読むことが不可能となるためにセキュリティを高めることができる。また、前記ドットパターン１を媒体面に印刷した際、情報ドット３がランダムに配置され、模様が無くなり、ドットパターンを目立たなくすることができる。
【００６３】
図１２はキードットの配置位置を変更したドットパターンの他の配置例を示す説明図である。
【００６４】
キードット２は、必ずしも矩形状に配置した格子ドット４のブロックの中心に配置する必要はない。例えば、格子ドット４のブロックの隅角部に配置することができる。このときは、情報ドット３は、キードット２を起点にして並列するように配置することが好ましい。
【００６５】
図１３はダミードットを示すものであり、（ａ）はダミードットの説明図、（ｂ）は印刷物の一例、（ｃ）は印刷物における領域、及び（ｄ）はダミードットでマスクの境界を規制しているドットパターンの配置例を示す説明図である。
【００６６】
４点の格子ドット４の中心位置にドットを配置し、情報の与えられていないドットとしてダミードット５を定義する（図１３（ａ））。このダミードット５は、数値データ、もしくはＸ，Ｙ座標値が定義された領域と領域の境界や、数値データ、もしくはＸ，Ｙ座標値が定義されない領域に使用することができる。
【００６７】
例えば、図１３（ｂ）に示すように、印刷物に小熊、カバと太陽といった３種類の図柄を印刷し、この３つの図柄に対応した領域を、図１３（ｃ）に示すように、マスク１、マスク２、マスク３のように配置する。図１３（ｄ）に示すように、マスク１、マスク２の境界にダミードット５を配置する。
【００６８】
なお、ダミードット５を境界に使用する場合、対応する位置のブロック全てをダミードット５にする必要はなく、境界を示すために最小限のドットをダミードットとすればよい。
【００６９】
また、マスク以外の領域にダミードットを配置し、情報が定義されていない領域を設けることができる。
【００７０】
ドットパターン１をカメラにより画像データとして取り込むときに、情報の代表点であるキードット２の位置におけるＸ，Ｙ座標値を算定した後に、キードット２から得られるドットパターン１の向きと、隣接する代表点におけるＸ，Ｙ座標値の増分値及び、撮像中心からＸ，Ｙ座標値が算定されたキードット２までの距離より、座標値を補完することによって、撮像中心のＸ，Ｙ座標値を算定する。
【００７１】
または、ドットパターン１のブロックをカメラにより画像データとして取り込むときに、各ブロックに同一のデータが定義されている領域、又はＸ，Ｙ座標値が定義されている領域において、カメラの撮像中心の周囲にある情報ドット３から読み始め、順次情報ドット３を読み込み、１ブロック分に相当する情報ドット３を読み込むことにより、カメラの撮像中心から最小のエリアでドットパターン１を読み取り、撮像中心位置におけるデータを算定する。
【００７２】
図１４（ａ）は、カメラの撮像中心から最小のエリアで１ブロック分に相当する情報ドットを入力する順番を示したものである。時計回りで縦４個×４列＝１６個の情報ドットを入力する。
【００７３】
図１４（ｂ）はドットパターンを読み込みＸ，Ｙ座標値を算定する方法を示す説明図である。
【００７４】
図示するように、求めるＸ，Ｙ座標値はカメラの撮像中心のあるブロックのＸ，Ｙ座標値とする。Ｘ，Ｙ座標値は、ブロック毎に増分値がＸ方向（右方向）、Ｙ方向（上方向）に＋１に定めると、他のブロックから入力した情報ドットを補正する必要がある。尚、Ｘ座標値を示すK8 K7 K6 K5(i16 i15 i14 i13 i12 i11 i10 i9)とＹ座標値を示すK4 K3 K2 K1(i8 i7 i6 i5 i4 i3 i2 i1)が補正の対象となりこれ以外のK16〜K9（i32〜i17）はどのブロックでも同一の値となり、補正する必要はない。
【００７５】
これらの計算は次の数式１によって求まる。[]内の計算によって桁が上がっても、[]前のビットの列に影響を与えないものとする。情報ドットＩの中からエラーチェックビットを除いたものをＫとする。
【００７６】
<数式１>
（１）11I11がスタートポイントの場合（カメラの撮像中心）
X座標＝11K8・11K7・11K6・21K5
Y座標＝12K4・12K3・12K2・[22K1+1]
（２）11I15がスタートポイントの場合（カメラの撮像中心）
X座標＝12K8・12K7・12K6・22K5-1
Y座標＝12K4・12K3・12K2・[22K1+1]
（３）12I3がスタートポイントの場合（カメラの撮像中心）
X座標＝12K8・12K7・12K6・22K5
Y座標＝12K4・12K3・12K2・[22K1+1]
（４）12I7がスタートポイントの場合（カメラの撮像中心）
X座標＝12K8・12K7・12K6・22K5
Y座標＝12K4・12K3・12K2・[22K1+1]
（５）11I12がスタートポイントの場合（カメラの撮像中心）
X座標＝11K8・11K7・21K6・21K5
Y座標＝12K4・12K3・[22K2・22K1+1]
（６）11I16がスタートポイントの場合（カメラの撮像中心）
X座標＝12K8・12K7・22K6・22K5-1
Y座標＝12K4・12K3・[22K2・22K1+1]
（７）12I4がスタートポイントの場合（カメラの撮像中心）
X座標＝12K8・12K7・22K6・22K5
Y座標＝12K4・12K3・[22K2・22K1+1]
（８）12I8がスタートポイントの場合（カメラの撮像中心）
X座標＝12K8・12K7・22K6・22K5
Y座標＝12K4・12K3・[22K2・22K1+1]
（９）21I9がスタートポイントの場合（カメラの撮像中心）
X座標＝11K8・21K7・21K6・21K5
Y座標＝12K4・[22K3・22K2・22K1+1]-1
（１０）21I13がスタートポイントの場合（カメラの撮像中心）
X座標＝12K8・22K7・22K6・22K5-1
Y座標＝12K4・[22K3・22K2・22K1+1]-1
（１１）22I1がスタートポイントの場合（カメラの撮像中心）
X座標＝12K8・22K7・22K6・22K5
Y座標＝12K4・[22K3・22K2・22K1+1]-1
（１２）22I5がスタートポイントの場合（カメラの撮像中心）
X座標＝12K8・22K7・22K6・22K5
Y座標＝12K4・[22K3・22K2・22K1+1]-1
（１３）21I10がスタートポイントの場合（カメラの撮像中心）
X座標＝21K8・21K7・21K6・21K5
Y座標＝22K4・22K3・22K2・22K1
（１４）21I14がスタートポイントの場合（カメラの撮像中心）
X座標＝22K8・22K7・22K6・22K5-1
Y座標＝22K4・22K3・22K2・22K1
（１５）22I2がスタートポイントの場合（カメラの撮像中心）
X座標＝22K8・22K7・22K6・22K5
Y座標＝22K4・22K3・22K2・22K1
（１６）22I6がスタートポイントの場合（カメラの撮像中心）
X座標＝22K8・22K7・22K6・22K5
Y座標＝22K4・22K3・22K2・22K1
【００７７】
ドットパターン１をカメラにより画像データとして取り込むときに、情報ドット３についてエラーが発生した際に、情報ドット３に相当する最も近い情報ドット３を読み込み、エラー修正をすることにより、カメラの撮像中心から最小のエリアでドットパターン１を読み取ることができる。
【００７８】
上述した情報の取り込み方法を利用して、ＸＹ座標を使用したタブレットやデジタイザ、入力インタフェースを実現できる。例えば、タブレット、デジタイザはドットパターン１を印刷した透明シートを対象物に重ねて、カメラ撮像し、ドットパターン１のＸＹ座標値を入力する。
【００７９】
図１５は規則性を排除したドットパターン生成方法を示す説明図であり、ドットパターンとする情報ブロックを示すものである。図１６は規則性を排除したドットパターン生成方法を示すものであり、ドットパターンに記録するデータブロックを示す説明図である。
【００８０】
先ず、図１５に示すように、ｉnは１ビットのデータを意味し、ｒmはｉ2m×２＋i2m-1とする。またαＩm＝αrm×２+０、αＩ’m=αrm×２+１としてエラーチェックビットを付加する。αはブロックの横方向へのならびを示す数値とする。
【００８１】
次に、図１６に示すように、Ｃnは１ビットの記録したいデータとする。
【００８２】
また、αＫｍはＣ2ｍ×２＋Ｃ2ｍ-1とする。αはブロックの横方向への並びを示す数値となる。
【００８３】
αＫmから次の数式２により求めるαrmを使用し、上記の定義によりドットパターン１とする情報ブロック３を生成する４。これによってドットパターン１は横方向に対して規則性を排除することができる。
【００８４】
<数式２>
αr1=α-1r13+αK1
αr5=αr1+αK5
αr9=αr5+αK9
αr13=αr9+αK13
αr2=α-1r14+αK2
αr6=αr2+αK6
αr10=αr6+αK10
αr14=αr10+αK14
αr3=α-1r15+αK3
αr7=αr3+αK7
αr11=αr7+αK11
αr15=αr11+αK15
αr4=α-1r16+αK4
αr8=αr4+αK8
αr12=αr8+αK12
αr16=αr12+αK16
【００８５】
α＝1のとき、0r13、0r14、0r15、0r16として初期値を与える。これをβRとする。βはブロックの縦方向への並びを示す数値とする。βRは同一の値ではなく、乱数列による値を与えることによって、ドットパターンは縦方向に対しても規則性を排除する。
【００８６】
図１７から図２３はカメラによりサブブロックで構成された１ブロック相当のドットパターンを読み込む方法を示す説明図である。
【００８７】
カメラを収納する筒は10ｍｍ前後であり、ドットパターンの撮像範囲を、直径10ｍｍとすると、4ｍｍ×4ｍｍのドットパターン1ブロック分（I1〜I16）を読み込むために最大2r=2×4√2=11.28ｍｍの撮像範囲が必要となる。これを解消するために、1ブロックとして構成されるキードットの周辺に配置される情報ドット16個を順次読み込むのではなく、他の情報ドットと独立的な情報を有する4個の情報ドット毎(1/4ブロック)に読み込む。これにより、撮像範囲からはずれた1/４ブロックの情報ドットを撮像範囲内にある、他のブロックの対応する情報ドット（1/４ブロック）を入力することにより、1ブロック分の情報を撮像範囲の直径10ｍｍ内で入力可能とする。
【００８８】
上記方法により入力されたいずれかの1/4ブロックの中でエラーが生じた場合は、他のブロックの対応する情報ドット（1/4ブロック）を入力し、エラー修正を行う。
【００８９】
図２０はカメラの撮像中心がB１ブロックのI8を示しており、撮像中心から最も近いB１ブロックの[I1〜I16]を入力する。
【００９０】
図２１はカメラの撮像中心がB１ブロックのI5を示しており、カメラ中心から最も近いB１ブロックの[I1,I2,I3,I4]、[I5,I6,I7,I8]とB２ブロックの[I9,I10,I11,I12]、[I13,I14,I15,I16]を入力する。
【００９１】
図２２はカメラの撮像中心がB１ブロックのI6を示しており、中心から最も近いB１ブロックの[I5,I6,I7,I8]、B２ブロックの[I9,I10,I11,I12]、B３ブロックの[I13,I14,I15,I16]、B４ブロックの[I1,I2,I3,I4]を入力する。
【００９２】
図２３はカメラの撮像中心がB１ブロックのI7を示しており中心から最も近いB１ブロックの[I5,I6,I7,I8]、[I9,I10,I11,I12]とB４ブロックの[I1,I2,I3,I4]、[I13,I14,I15,I16]を入力する。
【００９３】
図２０〜図２３において、入力したドットパターンにエラーが生じた場合、代替で入力可能な1/4ブロックのドットパターンがいずれも最大8ヶ所ある。
【００９４】
上述したような本発明のドットパターン１を、絵本、テキスト等の印刷物に印刷することにより、このカメラで画像データとして取り込み、それをデジタル化して求めた数値よりパソコン、情報出力装置、ＰＤＡ又は携帯電話等からそれに対応する情報、プログラムを出力させる。
【００９５】
なお、本発明は上述した発明の実施の形態に限定されず、ドットパターン１の各ドット２，３，４に異なる機能を付与することで、多量のデータをドットパターンで定義し、方向性を認識して迅速に情報化することにより、所定の情報やプログラムを出力させて様々な使用を可能にするものであれば、上述した形態に限定されず、本発明の要旨を逸脱しない範囲で種々変更できることは勿論である。
【００９６】
たとえば、キードット２は、図３、図８〜図１０に示したようなブロックの中心に配置したものの他、図１３（ｄ）に示したように、ブロックの左右両側の縦方向の格子線上に配置される格子ドットのかわりに配置したものであってもよい。
【００９７】
【産業上の利用可能性】
上述のように、本発明のドットパターンを用いた情報入出力方法は、ドットパターンをカメラにより、先ず格子ドットを認識してキードットを抽出し、キードットで方向性を認識し、その方向をパラメータとして使用することができる。次に、このキードットの周囲に配置した情報ドットを抽出することにより、迅速に情報及びプログラムを出力させることができる。
【００９８】
また、ドットパターンに格子ドットを配置してあるので、カメラでこのドットパターンの画像データとして取り込む際に、そのカメラのレンズの歪みや斜めからの撮像、紙面の伸縮、媒体表面の湾曲、印刷時のゆがみによって撮像されたドットパターンに歪みを矯正することができる。
【００９９】
さらに、ドットの配置状態のエラーをチェックすることができ、更にセキュリティを高めることができる。
【図面の簡単な説明】
【０１００】
図１は、本発明のドットパターンの一例を示す説明図である。
図２は、ドットパターンの情報ドットの一例を示す拡大図である。
図３（ａ）、（ｂ）は、キードットを中心に配置した情報ドットを示す説明図である。
図４は、情報ドット及びそこに定義されたデータのビット表示の例であり、他の形態を示すものである。
図５は、情報ドット及びそこに定義されたデータのビット表示の例であり、（ａ）はドットを２個、（ｂ）はドットを４個及び（ｃ）はドットを５個配置したものを示すものである。
図６は、ドットパターンの変形例を示すものであり、（ａ）は情報ドット６個配置型、（ｂ）は情報ドット９個配置型、（ｃ）は情報ドット１２個配置型、（ｄ）は情報ドット３６個配置型の概略図である。
図７（ａ）、（ｂ）は、情報ドットのエラーをチェックする方法を説明するために情報ドットＩ1からＩ16までを並列させた状態を示す説明図である。
図８は、下位ビットに「０」を割り当てて情報ドットのエラーをチェックする方法の説明図である。
図９は、下位ビットに「１」を割り当てて情報ドットのエラーをチェックする方法の説明図である。
図１０は、下位ビットに「０」と「１」を交互に割り当てて情報ドットのエラーをチェックする方法の説明図である。
図１１は、情報ドットのセキュリティについて説明するために情報ドットＩ1からＩ16までを並列させた状態を示す説明図である。
図１２は、キードットの配置位置を変更したドットパターンの他の配置例を示す正面図である。
図１３は、ダミードットを示すものであり、（ａ）はダミードットの説明図、（ｂ）は印刷物の一例、（ｃ）は印刷物における領域、及び（ｄ）はダミードットでマスクの境界を規制しているドットパターンの配置例を示す説明図である。
図１４は、（ａ）は情報ドットを入力する順番を示す説明図であり、（ｂ）はドットパターンを読み込み、Ｘ，Ｙ座標値を算定する方法を示す説明図である。
図１５は、規則性を排除したドットパターン生成方法を示す説明図であり、ドットパターンとする情報ブロックを示すものである。
図１６は、規則性を排除したドットパターン生成方法を示す説明図であり、ドットパターンに記録するデータブロックを示すものである。
図１７は、カメラの断面図である。
図１８は、カメラの撮像範囲を示す説明図である。
図１９は、４ブロック分の情報ドットを示す説明図である。
図２０は、カメラにより撮像中心位置とサブブロックの入力手順を示す説明図である。
図２１は、カメラにより撮像中心位置とサブブロックの入力手順を示す説明図である。
図２２は、カメラにより撮像中心位置とサブブロックの入力手順を示す説明図である。
図２３は、カメラにより撮像中心位置とサブブロックの入力手順を示す説明図である。
【図１】
0003706385.tif 000002
【図２】
0003706385.tif 000003
【図３】
0003706385.tif 000004
【図４】
0003706385.tif 000005
【図５】
0003706385.tif 000006
【図６】
0003706385.tif 000007
【図７】
0003706385.tif 000008
【図８】
0003706385.tif 000009
【図９】
0003706385.tif 000010
【図１０】
0003706385.tif 000011
【図１１】
0003706385.tif 000012
【図１２】
0003706385.tif 000013
【図１３】
0003706385.tif 000014
【図１４】
0003706385.tif 000015
【図１５】
0003706385.tif 000016
【図１６】
0003706385.tif 000017
【図１７】
0003706385.tif 000018
【図１８】
0003706385.tif 000019
【図１９】
0003706385.tif 000020
【図２０】
0003706385.tif 000021
【図２１】
0003706385.tif 000022
【図２２】
0003706385.tif 000023
【図２３】
0003706385.tif 000024