JP3858051B6 - ドットパターンを用いた情報入出力方法 - Google Patents
ドットパターンを用いた情報入出力方法 Download PDFInfo
- Publication number
- JP3858051B6 JP3858051B6 JP2006521328A JP2006521328A JP3858051B6 JP 3858051 B6 JP3858051 B6 JP 3858051B6 JP 2006521328 A JP2006521328 A JP 2006521328A JP 2006521328 A JP2006521328 A JP 2006521328A JP 3858051 B6 JP3858051 B6 JP 3858051B6
- Authority
- JP
- Japan
- Prior art keywords
- information
- dot
- dots
- dot pattern
- virtual
- 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.)
- Active
Links
Images
Abstract
本発明は印刷物等に表示するドットパターンの各ドットに異なる機能を付与することで、そのドットパターンからの情報化に際し、方向性を認識して迅速に情報化することができると共に、ドットの配置状態のエラーをチェックすることができ、さらにセキュリティを高めることを目的とする。そこで、本発明は印刷物等の媒体面に、正方形または長方形の矩形領域をブロックとして、このブロックの枠を構成する縦方向および横方向の直線を基準格子線として、該基準格子線上の所定間隔毎に仮想基準格子点を設け、該仮想基準格子点同士を結びかつ前記基準格子線と並行な直線を格子線とし、格子線同士の交点を仮想格子点として、この仮想格子点を基準に距離と方向を有するドットをそれぞれ配置したドットパターンを生成して、そのようなドットパターンを画像情報として光学読取り手段で読み込んで、当該ドットパターンを数値化して、該数値化情報に対応する情報を記憶手段から読み出して出力するようにした。
【選択図】図1
【選択図】図1
Description
本発明は、印刷物等に形成したドットパターン情報を光学的に読み取ることにより、様々な情報やプログラムを入出力させるドットパターンを用いた情報入出力方法に関するものである。
従来より、印刷物等に印刷されたバーコードを読み取り、音声等の情報を出力させる情報出力方法が提案されている。たとえば、あらかじめ記憶手段に与えられたキー情報に一致する情報を記憶させておき、バーコードリーダで読み込まれたキーから検索して情報等を出力する方法が提案されている。 また、多くの情報やプログラムを出力できるように、微細なドットを所定の法則で並べたドットパターンを生成し、印刷物等に印刷したドットパターンをカメラにより画像データとして取り込み、デジタル化して音声情報を出力させる技術も提案されている。
しかし、上記従来のバーコードにより音声等を出力させる方法は、印刷物等に印刷されたバーコードが目障りであるという問題を有していた。また、バーコードが大きく、紙面の一部を占有するため、このようにバーコードが大きいと、一部分の文章やセンテンスまたは、写真、絵、グラフィックの画像の中に登場する意味を有するキャラクターや対象物毎に分り易く数多くのバーコードを割り当てることはレイアウト上不可能であるという問題を有していた。
ドットパターンをカメラにより画像データとして取り込み、その画像データを無彩色の256階調にデジタル化し、ドットを認識しやすくするために、階調の変化を微分し、ドットのエッジをシャープにする。次に256階調のデータを白か黒に二値化する。この二値化することで、ドットを紙面に印刷するときに、印刷のズレやにじみ、画素化した際のズレが原因してドットの印刷エラーが生じる。従来はこのような印刷エラーをパリティチェックによりエラーチェックしていた。しかし、これらのエラーチェックには、ドット毎の印刷エラーチェックではなく、複数のドットから得られるデータの固まりに対してエラーチェックをし、どのドットに印刷エラーが生じたかを確定できないことと、カメラの撮像範囲を広くとらなければならないという問題を有していた。
さらに、レンズの歪みや斜めからの撮像、紙面の伸縮、媒体表面の湾曲、印刷時の歪みによって撮像されたドットパターンに歪みが生じ、これを補正するために高度な技術力が必要となるという問題を有していた。
本発明は、かかる問題点を解決するために創案されたものである。すなわち、本発明の目的は、印刷物等に表示するドットパターンの各ドットに異なる情報や機能を付与することで、多量のデータをドットパターンで定義し、そのドットパターンからの情報化に際し、方向性を認識して迅速に情報化することができると共に、ドットの配置状態のエラーをチェックすることができ、さらにセキュリティを高めることができるドットパターンを用いた情報入出力方法を提供することにある。
本発明の請求項1は、印刷物等の媒体面の、正方形または長方形の矩形領域をブロックとし、該ブロックの枠を構成する縦方向および横方向の直線を基準格子線として、該基準格子線上の所定間隔毎に仮想基準格子点を設け、仮想基準格子点上に基準格子点ドットを配置し、該仮想基準格子点同士を結びかつ前記基準格子線と並行な直線を格子線とし、格子線同士の交点を仮想格子点とし、前記仮想格子点を基準に距離と方向を有する1または複数の情報ドットをそれぞれ配置したドットパターンを生成し、そのようなドットパターンを画像情報として光学読取り手段で読み込んで、当該ドットパターンを数値化して、該数値化情報に対応する情報を記憶手段から読み出して出力するドットパターンを用いた情報入出力方法である。
この請求項1によれば、ブロック内で多量に形成される格子点(第1の仮想格子点)毎に情報ドットを配置することができるため、より多くの情報をブロック内に格納することができる。
また、所定方向毎の仮想基準格子点とは、縦または横方向の一定間隔を意味するが、縦方向と横方向とで間隔を異ならせてもよい。
本発明の請求項2は、前記ブロックにおいて、さらに斜め方向の仮想基準格子点同士を結ぶ斜め格子線を想定し、該斜め格子線同士の交点も仮想格子点(第2の仮想格子点)とし、この仮想格子点を基準に距離と方向を有する1または複数のドットが配置された請求項1記載のドットパターンを用いた情報入出力方法である。
この請求項2によれば、斜め方向の格子線同士の交点である仮想格子点毎にも情報ドットを配置することができるため、さらに多くの情報をブロック内に格納することができる。
本発明の請求項3は、前記ドットパターンは前記仮想格子点を基準にドットが配置されているか否かで情報の意味づけをする請求項1または2に記載のドットパターンを用いた情報入出力方法である。
この請求項3によれば、ドットを配置しない領域を意図的に生成して配置することで、印刷面上の領域を隔成するマスクの外枠を表現できる。また、所定領域内の全ての仮想格子点上にドットを配置することで画一的な背景情報として認識させることも可能となる。
また、仮想格子点上にドットがあるか否かで情報を定義する第1のアルゴリズムと、仮想格子点からずれた位置にある情報ドットによる第2のアルゴリズムを混在させることができ、より多くの情報量を確保することができる。
本発明の請求項4は、前記ブロックを構成する基準格子線上の少なくとも一つの仮想基準格子点からずれた位置に当該ブロックの向きを定義したキードットが配置されていることを特徴とする請求項1〜3のいずれかに記載のドットパターンを用いた情報入出力方法である。
このように、キードットを配置することにより、当該ブロックの向きを定義することができる。当該キードットを利用すれば光学読取り手段の読取軸に対して所定方向の傾きを検出できるので、読み取ったドットパターン画像を補正したり、傾きの角度によって異なった意味を持たせることができる。
また、このようなキードットを配置した場合には、その部分(仮想基準格子点上の基準格子点ドット)はキードットに代替されるために存在しなくなる。
本発明の請求項5は、前記ブロック内において所定の位置の情報ドットをキードットとし、前記ブロック中心を軸として、当該キードットの所属する矩形領域を90度ずつ回動させた位置にあるそれぞれの矩形領域に配置される情報ドットは、前記キードットを定義させるために必要な方向を除外した方向または距離で情報が定義されている請求項1〜3のいずれかに記載のドットパターンを用いた情報入出力方法である。
ここで、ブロック中心以外の情報ドットをキードットとした場合、ブロック中心を回転軸として90度ずつ回動させたときに対応する位置にある情報ドットは光学読取手段で読み取った場合、キードットとの峻別ができなくなってしまう可能性があるが、本請求項5によれば、キードット以外の該当する矩形領域では情報ドットの与え方を異ならせることによって、キードットと情報ドットとを区別することができるようになる。
たとえば、キードットは仮想格子点から縦横方向のみのベクトルとして配置しておき、90度毎に回動した位置にある他の矩形領域では斜め方向で情報を定義すればよい。
また、キードットはベクトルの長さを所定の長さとしておき、90度毎に回動した位置にある他の矩形領域では異なる長さのベクトルで情報を定義しておいてもよい。
このようにキードットが配置される可能性のある領域についてあらかじめ情報ドットの定義の仕方をキードットとは異なるように決めておくことによって、キードット以外の前記該当領域について情報ドットを配置することができ、無駄のないドットパターンを実現できる。
なお、ブロック中心にキードットを配置した場合には、ブロック内の他の情報ドットは縦横斜め方向のいずれかで情報を定義してもよいことは勿論である。
本発明の請求項6は、前記ブロックの情報ドットにおいて、該情報ドットのブロック内の位置により、情報ドット毎に前記仮想格子点からの距離と方向を任意に限定して、情報が定義されていることを特徴とする請求項1〜5のいずれかに記載のドットパターンを用いた情報入出力方法である。
この請求項6によれば、仮想格子点からの距離と方向を任意に限定して情報を定義することができる。したがって、たとえば、情報ドットによる情報の定義の仕方を、たとえば当該ドットパターンを使用する業種毎(製造業毎、サービス業毎またはこのドットパターンを使用する企業毎)によって変更することができる。
このように、本発明のドットパターンを限られた用途毎に区別して利用することができるため、互いのセキュリティを確保することができる。すなわち、限定して定義された情報は、それに対応した光学読取手段でしか読み取れないようにすることもできる。
以下、本発明の好ましい実施の形態を図面を参照して説明する。
図1は本発明のドットパターンの一例を示す説明図、図2はドットパターンの情報ドットおよびそれに定義されたデータのビット表示の一例を示す拡大図、図3(a)、(b)、(c)はキードットと情報ドットとの配置状態を示す説明図である。
本発明のドットパターンを用いた情報入出力方法は、ドットパターン1の認識と、このドットパターン1から情報およびプログラムを出力する手段とからなる。
すなわち、ドットパターン1をカメラにより画像データとして取り込み、まず、基準格子点ドット4を抽出し、これを仮想基準格子点6の位置であると判定し、これらの仮想基準格子点6を結ぶ直線を基準格子線7とする。そして、この基準格子線7上で、本来基準格子点ドット4があるべき仮想基準格子点6の位置にドットが配置されていない場合、この仮想基準格子点6の周辺のドットを抽出し、これをキードット2(ブロックの四隅の角部)とする。そして、次に前記仮想基準格子点6同士を結ぶ縦横の格子線8a,8bを設定し、その格子線8a,8b同士の交点を仮想格子点11(第1の仮想格子点)とする。そしてこの仮想格子点11の周囲のドットを探索し、その仮想格子点からの距離と方向とで定義される情報ドット3を抽出する。
また、仮想基準格子点6同士を斜め方向に結ぶ斜め格子線8cを想定し、この斜め格子線8c同士の交点も仮想格子点12(第2の仮想格子点)とする。そしてこの仮想格子点12の周囲のドットも探索し、その仮想格子点12からの距離と方向とで定義される情報ドット3を抽出する。
次に、キードット2の仮想基準格子点6または仮想格子点11からの方向によって当該ブロックの向きが決定される。たとえば、キードット2が仮想格子点から+y方向にずれていた場合には縦方向を正位としてブロック内の情報ドット3を認識すればよい。
また、キードット2が仮想基準格子点6または仮想格子点11から−y方向にずれていれば当該ブロックをブロック中心を軸に180度回転させた方向を正位としてブロック内の情報ドット3を認識すればよい。
また、キードット2が仮想基準格子点6または仮想格子点11から−x方向にずれていれば当該ブロックをブロック中心を軸に時計方向に90度回転させた方向を正位としてブロック内の情報ドット3を認識すればよい。
また、キードット2が仮想基準格子点6または仮想格子点11から+x方向にずれていれば当該ブロックをブロック中心を軸に反時計方向に90度回転させた方向を正位としてブロック内の情報ドット3を認識すればよい。
光学読取手段で読み取られたドットパターンの画像がフレームバッファに蓄積されると、当該光学読取手段の中央処理装置(CPU)は、フレームバッファのドットを解析して、各情報ドット3の仮想格子点11,12からの距離と方向によって情報ドット3毎に定義された数値を復号する。そしてこれらの数値はxy座標またはコードとして光学読取手段またはパーソナルコンピュータのメモリに格納された情報と照合されて、前記xy座標またはコードに対応する音声、画像、動画、文字、プログラム等が読み出されて、表示手段、音声・画像出力手段等から出力される。
本発明のドットパターン1の生成は、ドットコード生成アルゴリズムにより、音声等の情報を認識させるために微細なドット、すなわち、キードット2、情報ドット3、基準格子点ドット4を所定の規則に則って配列する。
図1に示すように、印刷物等の媒体面の、正方形または長方形の矩形領域をブロック1とする。そして、該ブロック1の枠を構成する縦方向および横方向の直線を基準格子線7(図1で太線で示した線)として、該基準格子線7上の所定間隔毎に仮想基準格子点6を設け、仮想基準格子点6上に基準格子点ドット4を配置する。次に、該仮想基準格子点6同士を結びかつ前記基準格子線7と並行な直線を格子線8a,8bとし、格子線線8a,8b同士の交点を仮想格子点11(第1の仮想格子点)とする。
そしてさらに、前記仮想基準格子点6同士を斜め方向に結ぶ斜め格子線8cを設定し、この斜め格子線8c同士の交点も仮想格子点12(第2の仮想格子点)とする。
このように設定された格子点を基準に距離と方向を有する1または複数の情報ドット3をそれぞれ配置してドットパターンを生成する。
カメラでこのドットパターン1を画像データとして取り込む際に、そのカメラのレンズの歪みや斜めからの撮像、紙面の伸縮、媒体表面の湾曲、印刷時の歪みを前記基準格子点ドット4によって矯正することができる。具体的には歪んだ4点の仮想格子点を元の正方形に変換する補正用の関数(Xn,Yn)=f(X´n,Y´n)を求め、その同一の関数で情報ドットを補正して、正しい情報ドット3のベクトルを求める。
ドットパターン1に基準格子点ドット4を配置してあると、このドットパターン1をカメラで取り込んだ画像データは、カメラが原因する歪みを補正するので、歪み率の高いレンズを付けた普及型のカメラでドットパターン1の画像データを取り込むときにも正確に認識することができる。また、ドットパターン1の面に対してカメラを傾けて読み取っても、そのドットパターン1を正確に認識することができる。
キードット2は、図1に示すように、矩形状に配置した仮想格子点の略中心位置にある1個の仮想格子点11を基準に距離と方向によって配置されたドットである。このキードット2は、ひとまとまりの情報ドット群を表す1ブロック分のドットパターン1の代表点である。たとえば、ドットパターン1のブロックの中心の仮想格子点から上方に0.2mmずれた位置に配置されているものである。したがって、情報ドット3が仮想格子点からのX,Y座標値で定義される場合には、キードット2から下方に0.2mmの距離の位置が仮想格子点(座標点)となる。但し、この数値(0.2mm)はこれに限定されずに、ドットパターン1のブロックの大小に応じて可変し得るものである。
情報ドット3は種々の情報を認識させるドットである。この情報ドット3は、図1の場合、キードット2を代表点にして、その周辺に配置すると共に、4点の仮想格子点11(第1の仮想格子点)で囲まれた中心を仮想格子点12(第2の仮想格子点)にして、これを始点としてベクトルにより表現した終点に配置したものである。たとえば、この情報ドット3は、仮想格子点11,12に囲まれ、図2に示すように、その仮想点から0.2mm離れたドットは、ベクトルで表現される方向と長さを有するために、時計方向に45度ずつ回転させて8方向に配置し、3ビットを表現している。
この図によれば、1ブロックのドットパターン1で3ビット×16個=48ビットを表現することができる。
なお、図示例では8方向に配置して3ビットを表現しているが、これに限定されずに、16方向に配置して4ビットを表現することも可能であり、種々変更できることは勿論である。
キードット2、情報ドット3または基準格子点ドット4のドットの径は、見栄えと、紙質に対する印刷の精度、カメラの解像度および最適なデジタル化を考慮して、0.1mm程度が望ましい。
また、撮像面積に対する必要な情報量と、各種ドット2,3,4の誤認を考慮して基準格子点ドット4の間隔は縦・横1mm前後が望ましい。基準格子点ドット4および情報ドット3との誤認を考慮して、キードット2のずれは格子間隔の20%前後が望ましい。
この情報ドット3と、仮想格子点11,12との間隔は、隣接する仮想格子点11,12間の距離の15〜30%程度の間隔であることが望ましい。情報ドット3と仮想格子点11,12間の距離がこの間隔より遠いと、ドット同士が大きな塊りと視認されやすく、ドットパターン1として見苦しくなるからである。逆に、情報ドット3と仮想格子点11,12間の距離がこの間隔より近いと、隣接するいずれかの仮想格子点11,12を中心にしてベクトル方向性を持たせた情報ドット3であるかの認定が困難になるためである。
図3は、ブロック内における情報ドット3の読取順を示したものであり、同図中の丸付き数字は、それぞれ仮想格子点11,12毎に配置された情報ドット3の配置領域を意味しているものとする。
たとえば、図3(a)の場合、ブロック中心の(1)(図中で丸で囲まれた数字の「1」を意味している、以下同じ)を中心として、そこから時計回りで(1)から(25)が配置されている。このときの格子間隔はたとえば1mmであり、4mm×4mmで3ビット×16=48ビットを表現する。
図3(b)は、ブロックの左上の矩形領域の情報ドット(1)から縦方向に順番に(4)まで配置した後、縦横方向の格子線同士の交点に配置された情報ドット(5)〜(7)を配置している。
図3(c)は、ブロックの左上の矩形領域の情報ドット(1)から縦方向に(16)まで順番に配置した後、縦横の格子線同士の交点に配置された情報ドット(17)〜(25)を配置している。
図4は情報ドット3およびそこに定義されたデータのビット表示の例であり、他の形態を示すものである。
また、情報ドット3について基準格子点ドット4で囲まれた仮想格子点11,12から長(図4の上段)・短(図4の下段)の2種類を使用し、ベクトル方向を8方向とすると、4ビットを表現することができる。このとき、長い方が隣接する仮想格子点11,12間の距離の25〜30%程度、短い方は15〜20%程度が望ましい。但し、長・短の情報ドット3の中心間隔は、これらのドットの径より長くなることが望ましい。
4点の仮想格子点11,12で囲まれた情報ドット3は、見栄えを考慮し、1ドットが望ましい。しかし、見栄えを無視し、情報量を多くしたい場合は、1ベクトル毎に、1ビットを割り当て情報ドット3を複数のドットで表現することにより、多量の情報を有することができる。たとえば、同心円8方向のベクトルでは、情報ドット3で28の情報を表現でき、1ブロックの情報ドット16個で2128となる。
図5は情報ドット3およびそこに定義されたデータのビット表示の例であり、(a)はドットを2個、(b)はドットを4個および(c)〜(e)はドットを5個、(f)は7個配置したものを示すものである。
図6はドットパターンの変形例を示すものであり、(a)はブロック内に情報ドット3を8個配置したもの、(b)は情報ドット3を個配置したもの、(c)は情報ドット3を18個配置したもの、(d)は情報ドット3を41個配置したものである。
前述の図1と図3に示すドットパターン1は、1ブロックに25の情報ドット3を配置した例を示している。しかし、この情報ドット3は1ブロックに25個配置することに限定されずに、種々変更することができる。たとえば、必要とする情報量の大小またはカメラの解像度に応じて、情報ドット3を1ブロックに8個配置したもの(図6(a))、情報ドット3を1ブロックに13個配置したもの(図6(b))、情報ドット3を1ブロックに18個配置したもの(図6(c))、または情報ドット3を1ブロックに41個配置したもの(図6(d))がある。
図7は下位ビットに「0」と「1」とを割り当てて情報ドットのエラーをチェックする方法の説明図である。
さらに、1個の情報ドット3をまんべんなく配置すると共に、エラーチェックに用いるために下位ビットに「0」と「1」を交互に割り当てることにより、この情報ドット3のエラーをチェックすることも可能である。このエラーチェック方式では、上下、左右と45度傾斜方向に交互に情報ドットが生成され、ドットパターンの規則性を無くすことができる。すなわち、下位ビットに「0」と「1」を交互に割り当てた情報ドット3は、常に仮想格子点11,12を中心にして上下、左右または45度傾斜方向に位置する。そこで、この情報ドット3が上下、左右または45度傾斜方向以外の方向に位置するときは適正位置に表示されていないと判定する。このように、情報ドット3が、仮想格子点11,12を中心に回転方向にずれて入力されたエラーは確実にチェックすることができる。
なお、情報ドット3を8方向(45度間隔)かつ長・短としたときは(図4参照)、4ビットの内、下位1ビットを「0」または「1」とすると近接する3点(同心円±45度回転位置2点+長・短どちらか1点)のドットの位置にずれた場合は、それをエラーとすることができ、エラーを100%チェックができる。
図8は情報ドットのセキュリティについて説明するために情報ドットI1からI16までを並列させた状態を示す説明図である。
たとえば、ドットパターン1のデータを目視で読むことができないようにするために、情報ドット3のInに対して関数f(Kn)で表現された演算を実施し、In=Kn+Rnをドットパターン1で表現し、ドットパターンInを入力した後、Kn=In―Rnを求める。
または、ドットパターン1のデータを目視で読むことができないようにするために、キードット2を代表点に複数の情報ドット3を1列に配置し、かつこの1列を複数列に配置し、隣り合う2列のデータの差分を情報ドット3のデータとすることにより、各ブロックのドットパターン1の規則性が無くなるように、各情報ドット3を配置することができる。
これにより、媒体面への印刷したドットパターン1を目視で読むことが不可能となるためにセキュリティを高めることができる。また、前記ドットパターン1を媒体面に印刷した際、情報ドット3がランダムに配置され、模様が無くなり、ドットパターンを目立たなくすることができる。
図9はダミードットを示すものであり、(a)はダミードットの説明図、(b)は印刷物の一例、(c)は印刷物における領域、および(d)はダミードットでマスクの境界を規制しているドットパターンの配置例を示す説明図である。
4点の仮想格子点11(第1の仮想格子点)の中心位置(第2の仮想格子点)にドットを配置し、このドットを情報の与えられていないダミードット5とする(図9(a))。このダミードット5は、数値データ、もしくはX,Y座標値が定義された領域と領域の境界や、数値データ、もしくはX,Y座標値が定義されない領域に使用することができる。
たとえば、図9(b)に示すように、印刷物に小熊、カバと太陽といった3種類の図柄を印刷し、この3つの図柄に対応した領域を、図9(c)に示すように、マスク1、マスク2、マスク3のように配置する。図9(d)に示すように、マスク1、マスク2の境界にダミードット5を配置する。
なお、ダミードット5を境界に使用する場合、対応する位置のブロック全てをダミードット5にする必要はなく、境界を示すために最小限のドットをダミードットとすればよい。
また、マスク以外の領域にダミードットを配置し、情報が定義されていない領域を設けることができる。
ドットパターン1をカメラにより画像データとして取り込むときに、情報の代表点であるキードット2の位置におけるX,Y座標値を算定した後に、キードット2から得られるドットパターン1の向きと、隣接する代表点におけるX,Y座標値の増分値および、撮像中心からX,Y座標値が算定されたキードット2までの距離より、座標値を補完することによって、撮像中心のX,Y座標値を算定する。
または、ドットパターン1のブロックをカメラにより画像データとして取り込むときに、各ブロックに同一のデータが定義されている領域、またはX,Y座標値が定義されている領域において、カメラの撮像中心の周囲にある情報ドット3から読み始め、順次情報ドット3を読み込み、1ブロック分に相当する情報ドット3を読み込むことにより、カメラの撮像中心から最小のエリアでドットパターン1を読み取り、撮像中心位置におけるデータを算定する。
図10(a)は、カメラの撮像中心から最小のエリアで1ブロック分に相当する情報ドットを入力する順番を示したものである。時計回りで縦4個×4列=16個の情報ドットを入力する。
図10(b)はドットパターンを読み込みX,Y座標値を算定する方法を示す説明図である。
図示するように、求めるX,Y座標値はカメラの撮像中心のあるブロックのX,Y座標値とする。X,Y座標値は、ブロック毎に増分値がX方向(右方向)、Y方向(上方向)に+1に定めると、他のブロックから入力した情報ドットを補正する必要がある。なお、X座標値を示すK8 K7 K6 K5(i16 i15 i14i13 i12 i11 i10i9)とY座標値を示すK4 K3 K2K1(i8 i7 i6i5 i4 i3 i2i1)が補正の対象となりこれ以外のK16〜K9(i32〜i17)はどのブロックでも同一の値となり、補正する必要はない。
これらの計算は次の数式1によって求まる。[ ]内の計算によって桁が上がっても、[ ]前のビットの列に影響を与えないものとする。情報ドットIの中からエラーチェックビットを除いたものをKとする。
<数式1>
(1) 11I11がスタートポイントの場合(カメラの撮像中心)
X座標=11K8・11K7・11K6・21K5
Y座標=12K4・12K3・12K2・[22K1+1]
(2) 11I15がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・12K7・12K6・22K5-1
Y座標=12K4・12K3・12K2・[22K1+1]
(3) 12I3がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・12K7・12K6・22K5
Y座標=12K4・12K3・12K2・[22K1+1]
(4) 12I7がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・12K7・12K6・22K5
Y座標=12K4・12K3・12K2・[22K1+1]
(5) 11I12がスタートポイントの場合(カメラの撮像中心)
X座標=11K8・11K7・21K6・21K5
Y座標=12K4・12K3・[22K2・22K1+1]
(6) 11I16がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・12K7・22K6・22K5-1
Y座標=12K4・12K3・[22K2・22K1+1]
(7) 12I4がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・12K7・22K6・22K5
Y座標=12K4・12K3・[22K2・22K1+1]
(8) 12I8がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・12K7・22K6・22K5
Y座標=12K4・12K3・[22K2・22K1+1]
(9) 21I9がスタートポイントの場合(カメラの撮像中心)
X座標=11K8・21K7・21K6・21K5
Y座標=12K4・[22K3・22K2・22K1+1]-1
(10) 21I13がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・22K7・22K6・22K5-1
Y座標=12K4・[22K3・22K2・22K1+1]-1
(11) 22I1がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・22K7・22K6・22K5
Y座標=12K4・[22K3・22K2・22K1+1]-1
(12) 22I5がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・22K7・22K6・22K5
Y座標=12K4・[22K3・22K2・22K1+1]-1
(13) 21I10がスタートポイントの場合(カメラの撮像中心)
X座標=21K8・21K7・21K6・21K5
Y座標=22K4・22K3・22K2・22K1
(14) 21I14がスタートポイントの場合(カメラの撮像中心)
X座標=22K8・22K7・22K6・22K5-1
Y座標=22K4・22K3・22K2・22K1
(15) 22I2がスタートポイントの場合(カメラの撮像中心)
X座標=22K8・22K7・22K6・22K5
Y座標=22K4・22K3・22K2・22K1
(16) 22I6がスタートポイントの場合(カメラの撮像中心)
X座標=22K8・22K7・22K6・22K5
Y座標=22K4・22K3・22K2・22K1
ドットパターン1をカメラにより画像データとして取り込むときに、情報ドット3についてエラーが発生した際に、情報ドット3に相当する最も近い情報ドット3を読み込み、エラー修正をすることにより、カメラの撮像中心から最小のエリアでドットパターン1を読み取ることができる。
<数式1>
(1) 11I11がスタートポイントの場合(カメラの撮像中心)
X座標=11K8・11K7・11K6・21K5
Y座標=12K4・12K3・12K2・[22K1+1]
(2) 11I15がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・12K7・12K6・22K5-1
Y座標=12K4・12K3・12K2・[22K1+1]
(3) 12I3がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・12K7・12K6・22K5
Y座標=12K4・12K3・12K2・[22K1+1]
(4) 12I7がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・12K7・12K6・22K5
Y座標=12K4・12K3・12K2・[22K1+1]
(5) 11I12がスタートポイントの場合(カメラの撮像中心)
X座標=11K8・11K7・21K6・21K5
Y座標=12K4・12K3・[22K2・22K1+1]
(6) 11I16がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・12K7・22K6・22K5-1
Y座標=12K4・12K3・[22K2・22K1+1]
(7) 12I4がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・12K7・22K6・22K5
Y座標=12K4・12K3・[22K2・22K1+1]
(8) 12I8がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・12K7・22K6・22K5
Y座標=12K4・12K3・[22K2・22K1+1]
(9) 21I9がスタートポイントの場合(カメラの撮像中心)
X座標=11K8・21K7・21K6・21K5
Y座標=12K4・[22K3・22K2・22K1+1]-1
(10) 21I13がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・22K7・22K6・22K5-1
Y座標=12K4・[22K3・22K2・22K1+1]-1
(11) 22I1がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・22K7・22K6・22K5
Y座標=12K4・[22K3・22K2・22K1+1]-1
(12) 22I5がスタートポイントの場合(カメラの撮像中心)
X座標=12K8・22K7・22K6・22K5
Y座標=12K4・[22K3・22K2・22K1+1]-1
(13) 21I10がスタートポイントの場合(カメラの撮像中心)
X座標=21K8・21K7・21K6・21K5
Y座標=22K4・22K3・22K2・22K1
(14) 21I14がスタートポイントの場合(カメラの撮像中心)
X座標=22K8・22K7・22K6・22K5-1
Y座標=22K4・22K3・22K2・22K1
(15) 22I2がスタートポイントの場合(カメラの撮像中心)
X座標=22K8・22K7・22K6・22K5
Y座標=22K4・22K3・22K2・22K1
(16) 22I6がスタートポイントの場合(カメラの撮像中心)
X座標=22K8・22K7・22K6・22K5
Y座標=22K4・22K3・22K2・22K1
ドットパターン1をカメラにより画像データとして取り込むときに、情報ドット3についてエラーが発生した際に、情報ドット3に相当する最も近い情報ドット3を読み込み、エラー修正をすることにより、カメラの撮像中心から最小のエリアでドットパターン1を読み取ることができる。
上述した情報の取り込み方法を利用して、XY座標を使用したタブレットやデジタイザ、入力インタフェースを実現できる。たとえば、タブレット、デジタイザはドットパターン1を印刷した透明シートを対象物に重ねて、カメラ撮像し、ドットパターン1のXY座標値を入力する。
次に、図11〜図14を用いて、図1とは異なる位置にキードット2を配置した場合、およびその場合の情報ドット3とキードット2の探索方法についてさらに詳しく説明する。
まず媒体面に照射された照射光の反射光を光学撮像手段(たとえばペン型読取装置)のCCDやCMOS等の撮像素子が撮像すると、当該撮像データ(画像データ)がメモリのフレームバッファ上に展開される。次に、フレームバッファ上に展開された画像データに対して、光学撮像手段の中央処理装置(CPU)がメモリから読み出した探索プログラムによって探索を開始する。
このとき、ブロックの外枠を構成する基準格子点ドット4は所定間隔通りに直線状に配置されているため、これらの直線状に配置されているドットを結んでほぼ直線となるか否かを中央処理装置(CPU)は判断する(図11参照)。
そして、基準格子線7上にあるドットが所定の長さ毎に配置されているか否かを判別する。このとき、ドット間の距離が等しければ基準格子点ドット4であると判定する。そして、異なるように配置されているドットがある場合、キードット2と判定する(図14)。
次に、上下左右方向の基準格子点ドット4同士(仮想基準格子6同士)を直線(格子線8a,8b)で結んで、その交点を仮想格子点11(第1の仮想格子点)とする。次に、斜め方向の仮想基準格子点6を結んで斜め方向格子線8cとし、これらの斜め方向格子線8cの交点をさらに仮想格子点12(第2の仮想格子点)とする。
次に、上記2種類の仮想格子点11,12のいずれかを始点として、スパイラル状に情報ドットを探索する(図13参照)。
次に、ブロック内でキードット2が配置される可能性のある4箇所(図14ではブロック中心から上下左右方向に等間隔の位置にある4つの仮想格子点)に対して当該仮想格子点からのそれぞれの情報ドット3の向きと長さを見て、どれがキードット2であるかを判定する。それによって、向きが分かることによって、各情報ドット3の持っている情報が確定される。
ここで、図14に示すように、ブロック中心以外の情報ドット3をキードット2とした場合(図14の場合、ブロック中心から1仮想格子点分だけ上方向ずれた位置をキードット2の配置位置とした場合)、ブロック中心を回転軸として90度ずつ回動させたときに対応する位置にある情報ドット3は光学読取手段で読み取った場合、キードット2との峻別ができなくなってしまう可能性があるが、キードット2以外の該当する矩形領域では情報ドット3の与え方を異ならせることによって、キードット2と情報ドット3とを区別することができるようになる。
たとえば、図14に示すように、キードット2は仮想基準格子点6から縦横方向のみのベクトルとして配置しておき、90度毎に回動した位置にある他の矩形領域では斜め方向で情報を定義しておけばよい。
また、キードット2はベクトルの長さを所定の長さとしておき、90度毎に回動した位置にある他の矩形領域では異なる長さのベクトルで情報を定義しておいてもよい。
なお、ブロック中心にキードット2を配置した場合には、他の情報ドット3は縦横斜め方向のいずれかで情報を定義してもよい。
上述したような本発明のドットパターン1を、絵本、テキスト等の印刷物に印刷することにより、このカメラで画像データとして取り込み、この画像データから各情報ドットの位置を探索して、その位置の情報から、コードやXY座標を復号し、このコードやXY座標に対応した音声、静止画、動画、文字、プログラム等をパーソナルコンピュータ、情報出力装置、PDA(Personal Data Assistant)または携帯電話等の液晶表示装置、スピーカ、音声・画像出力端子等から出力させる。
なお、前記ブロックの情報ドット3において、該情報ドット3のブロック内の位置により、情報ドット3毎に前記仮想格子点11,12からの距離と方向を任意に限定して、情報を定義してもよい。
より具体的には、当該ドットパターンを使用する業種毎(製造業毎、サービス業毎またはこのドットパターンを使用する企業毎)によって前記仮想格子点11,12からの距離と方向を変更した仕様としてもよい。
このように、本発明のドットパターンを限られた用途毎に区別して利用することができるため、互いの業種間、企業間の情報漏洩、コード体系漏洩等のセキュリティを確保することができる。すなわち、限定して定義された情報は、それに対応した光学読取手段でしか読み取れないようにすることもできる。
なお、本発明は上述した発明の実施の形態に限定されず、ドットパターン1の各ドット2,3,4に異なる機能を付与することで、多量のデータをドットパターンで定義し、方向性を認識して迅速に情報化することにより、所定の情報やプログラムを出力させて様々な使用を可能にするものであれば、上述した形態に限定されず、本発明の要旨を逸脱しない範囲で種々変更できることは勿論である。
たとえば、上下左右方向の格子線8a,8bの交点(仮想格子点11)を基準に配置されるドット(情報ドット3やキードット2)は仮想格子点11から格子線8a,8b上にずらすとよい。また、斜め格子線8c上の交点上に配置されるドットについても、同様に斜め格子線8c上に配置させるとよい。このように各格子線8a,8b,8c上にかならずドットを配置しておくことで、格子線8a,8b,8cを探索する読取プログラムのアルゴリズムを簡単化でき、かつ読取効率を大幅に向上させることができる。
上述のように、本発明のドットパターンを用いた情報入出力方法は、ドットパターンをカメラにより、まず基準格子点ドットを認識してキードットを抽出し、キードットで方向性を認識し、その方向をパラメータとして使用することができる。次に、このキードットの周囲に配置した情報ドットを抽出することにより、迅速に情報およびプログラムを出力させることができる。
また、ドットパターンに基準格子点ドットを配置してあるので、カメラでこのドットパターンの画像データとして取り込む際に、そのカメラのレンズの歪みや斜めからの撮像、紙面の伸縮、媒体表面の湾曲、印刷時の歪みによって撮像されたドットパターンに歪みを矯正することができる。
さらに、ドットの配置状態のエラーをチェックすることができ、さらにセキュリティを高めることができる。
Claims (6)
- 印刷物等の媒体面の、正方形または長方形の矩形領域をブロックとし、
該ブロックの枠を構成する縦方向および横方向の直線を基準格子線として、該基準格子線上の所定間隔毎に仮想基準格子点を設け、仮想基準格子点上に基準格子点ドットを配置し、該仮想基準格子点同士を結びかつ前記基準格子線と並行な直線を格子線とし、格子線同士の交点を仮想格子点とし、
前記仮想格子点を基準に距離と方向を有する1または複数の情報ドットをそれぞれ配置したドットパターンを生成し、
そのようなドットパターンを画像情報として光学読取り手段で読み込んで、当該ドットパターンを数値化して、該数値化情報に対応する情報を記憶手段から読み出して出力するドットパターンを用いた情報入出力方法。
- 前記ブロックにおいて、さらに斜め方向の仮想基準格子点同士を結ぶ斜め格子線を想定し、該斜め格子線同士の交点も仮想格子点とし、この仮想格子点を基準に距離と方向を有する1または複数のドットが配置された請求項1記載のドットパターンを用いた情報入出力方法。
- 前記ドットパターンは前記仮想格子点を基準にドットが配置されているか否かで情報の意味づけをする請求項1または2に記載のドットパターンを用いた情報入出力方法。
- 前記ブロックを構成する基準格子線上の少なくとも一つの仮想基準格子点からずれた位置に当該ブロックの向きを定義したキードットが配置されていることを特徴とする請求項1〜3のいずれかに記載のドットパターンを用いた情報入出力方法。
- 前記ブロック内において所定の位置の情報ドットをキードットとし、前記ブロック中心を軸として、当該キードットの所属する矩形領域を90度ずつ回動させた位置にあるそれぞれの矩形領域に配置される情報ドットは、前記キードットを定義させるために必要な方向を除外した方向または距離で情報が定義されている請求項1〜3のいずれかに記載のドットパターンを用いた情報入出力方法。
- 前記ブロックの情報ドットにおいて、該情報ドットのブロック内の位置により、情報ドット毎に前記仮想格子点からの距離と方向を任意に限定して、情報が定義されていることを特徴とする請求項1〜5のいずれかに記載のドットパターンを用いた情報入出力方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2005/008210 WO2006117869A1 (ja) | 2005-04-28 | 2005-04-28 | ドットパターンを用いた情報入出力方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP3858051B1 JP3858051B1 (ja) | 2006-12-13 |
JP3858051B6 true JP3858051B6 (ja) | 2007-12-26 |
JPWO2006117869A1 JPWO2006117869A1 (ja) | 2008-12-18 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8031375B2 (en) | Information input/output method using dot pattern | |
JP3706385B2 (ja) | ドットパターンを用いた情報入出力方法 | |
JP3771252B1 (ja) | ドットパターン | |
JP5848464B2 (ja) | 二次元コード、二次元コードの作成システムおよび解析プログラム | |
US20130020386A1 (en) | Information input output method using dot pattern | |
JP4142683B2 (ja) | ドットパターン | |
WO2014077187A1 (ja) | 二次元コード | |
JP4336837B2 (ja) | ドットパターン | |
JP3858051B6 (ja) | ドットパターンを用いた情報入出力方法 | |
KR100860110B1 (ko) | 도트 패턴을 이용한 정보 입출력 방법 | |
RU2381552C2 (ru) | Способ ввода/вывода информации с использованием образа с точечными элементами | |
KR20050028040A (ko) | 도트 패턴을 이용한 정보 입출력 방법 | |
AU2012241078A1 (en) | Printed Material Printed with a Dot Pattern | |
AU2016200846A1 (en) | Printed Material Printed with a Dot Pattern | |
JP3858052B6 (ja) | ドットパターンを用いた情報入出力方法 |