図1は、パーソナルコンピュータとスキャナの構成を示すハードウエアブロック図である。
同図に示すように、パーソナルコンピュータは、中央処理装置(CPU)を中心に、メインメモリ(MM)、バス(BUS)で接続されたハードディスク装置(HD)、出力手段としての表示装置(DISP)、入力手段としてのキーボード(KBD)を有している。
そして、USBインターフェース(USB I/F)を介して撮影手段としてのスキャナ(SCN)が接続されている。
このスキャナ(SCN)の内部構成については図示を省略するが、赤外線照射手段(LED)とその反射光の所定波長成分をカットするフィルタ、および撮像する撮像素子(CCDやCMOS)が内蔵されており、後述の媒体としてのIDタグ、ペーパーキーボードやペーパーコントローラからの反射光を撮像して、その媒体面に印刷されたドットパターンを画像データとして処理できるようになっている。
そして、スキャナ(SCN)の側面には右クリックボタンと左クリックボタンとが設けられており、それぞれマウスの右クリック、左クリックの機能が実現可能となっている。なお、同図では読み取り部を下にした状態で、右クリックボタンを上方、左クリックボタンを下方に配置しているが、配置はこれに限られない。
なお図示を省略してあるが、ディスプレイ装置(DISP)の他に、出力装置として、プリンタ、スピーカ等が接続されていてもよい。
また、バス(BUS)は、ネットワークインターフェース(NW I/F)を介してインターネット等の汎用ネットワーク(NW)に接続されており、電子地図データ、文字情報、画像情報、音声情報、動画情報、プログラム等が図示しないサーバよりダウンロード可能となっている。
ハードディスク(HD)内には、オペレーティングシステム(OS)とともに、本実施形態で用いられるドットパターンの解析プログラム等のアプリケーションプログラム、電子地図データ、文字情報、画像情報、音声情報、動画情報や各種テーブル等のデータが登録されている。
中央処理装置(CPU)は、スキャナ(SCN)からの媒体面のドットパターンの撮影データを読み取りコードまたは座標値に変換した入力信号をUSBインターフェースを介して受信すると、当該入力信号に対応した電子地図データ、文字情報、画像情報、音声情報、動画情報、プログラム等をハードディスク(HD)から読み出してディスプレイ装置(DISP)または図示しないスピーカ等の出力装置から出力させるようになっている。
なお、スキャナ(SCN)で読み込むコードや座標値については後で詳述する。
スキャナは、詳細な図示は省略するが、赤外線照射手段(赤色LED)とIRフィルタと、CMOSセンサ、CCDセンサ等の光学撮像素子を備えており、媒体面に照射した照射光の反射光を撮影する機能を有している。ここで媒体面上のドットパターンはカーボンインクで印刷されており、ドットパターン以外の画像や文字部分はノンカーボンインクで印刷されている。
このカーボンインクは赤外光を吸収する特性を有しているため、前記光学撮像素子での撮像画像では、ドットの部分のみ黒く撮影されることになる。
このように、ドットパターンのみがカーボンインクで印刷されているため、他のカーボンインクで印刷された画像や文字に可視的に影響を与えることなく、ドットパターンを通常の印刷と重畳印刷することができる。
なお、赤外光を吸収する特性を有するインクとしてカーボンインクを例示したが、ドットパターンの印刷は、特定波長に反応するインクであれば、カーボンインクに限定されない。
このようにして読み取ったドットパターンの撮像画像は、スキャナ内の中央処理装置(CPU)によって解析されて座標値またはコード値に変換されて、USBケーブルおよびUSBインターフェース(USB I/O)を介してパーソナルコンピュータに送信される。
パーソナルコンピュータの中央処理装置(CPU)は、受信した座標値またはコード値を示すテーブルを参照して、これらに対応した電子地図データ、文字情報、画像情報、音声情報、動画情報がディスプレイ装置(DISP)や図示しないスピーカから出力されるようになっている。
<ドットパターンの説明 GRID1>
次に、本発明で用いるドットパターンについて図2〜図7を用いて説明する。
図2は本発明のドットパターンの一例であるGRID1を示す説明図である。
なお、これらの図において、縦横方向の格子線は説明の便宜のために付したものであり実際の印刷面には存在していない。ドットパターン1を構成するキードット2、情報ドット3、基準格子点ドット4等は撮像手段であるスキャナが赤外線照射手段を有している場合、当該赤外光を吸収するカーボンインクで印刷されていることが望ましい。
図3はドットパターンの情報ドットおよびそれに定義されたデータのビット表示の一例を示す拡大図である。図4(a)、(b)はキードットを中心に配置した情報ドットを示す説明図である。
本発明のドットパターンを用いた情報入出力方法は、ドットパターン1の生成と、そのドットパターン1の認識と、このドットパターン1から情報およびプログラムを出力する手段とからなる。すなわち、ドットパターン1をカメラにより画像データとして取り込み、まず、基準格子点ドット4を抽出し、次に本来基準格子点ドット4がある位置にドットが打たれていないことによってキードット2を抽出し、次に情報ドット3を抽出することによりデジタル化して情報領域を抽出して情報の数値化を図り、その数値情報より、このドットパターン1から情報およびプログラムを出力させる。たとえば、このドットパターン1から音声等の情報やプログラムを、情報出力装置、パーソナルコンピュータ、PDAまたは携帯電話等に出力させる。
本発明のドットパターン1の生成は、ドットコード生成アルゴリズムにより、音声等の情報を認識させるために微細なドット、すなわち、キードット2、情報ドット3、基準格子点ドット4を所定の規則に則って配列する。図2に示すように、情報を表すドットパターン1のブロックは、キードット2を基準に5×5の基準格子点ドット4を配置し、4点の基準格子点ドット4に囲まれた中心の仮想格子点5の周囲に情報ドット3を配置する。このブロックには任意の数値情報が定義される。なお、図2の図示例では、ドットパターン1のブロック(太線枠内)を4個並列させた状態を示している。ただし、ドットパターン1は4ブロックに限定されないことはもちろんである。
1つのブロックに1つの対応した情報およびプログラムを出力させ、または、複数のブロックに1つの対応した情報およびプログラムを出力させることができる。
基準格子点ドット4は、カメラでこのドットパターン1を画像データとして取り込む際に、そのカメラのレンズの歪みや斜めからの撮像、紙面の伸縮、媒体表面の湾曲、印刷時の歪みを矯正することができる。具体的には歪んだ4点の基準格子点ドット4を元の正方形に変換する補正用の関数(Xn,Yn)=f(Xn’,Yn’)を求め、その同一の関数で情報ドット3を補正して、正しい情報ドット3のベクトルを求める。
ドットパターン1に基準格子点ドット4を配置してあると、このドットパターン1をカメラで取り込んだ画像データは、カメラが原因する歪みを補正するので、歪み率の高いレンズを付けた普及型のカメラでドットパターン1の画像データを取り込むときにも正確に認識することができる。また、ドットパターン1の面に対してカメラを傾けて読み取っても、そのドットパターン1を正確に認識することができる。
キードット2は、図2に示すように、ブロックの四隅の角部にある4個の基準格子点ドット4を一定方向にずらして配置したドットである。このキードット2は、情報ドット3を表す1ブロック分のドットパターン1の代表点である。たとえば、ドットパターン1のブロックの四隅の角部にある基準格子点ドット4を上方に0.1mmずらしたものである。情報ドット3がX,Y座標値を表す場合に、キードット2を下方に0.1mmずらした位置が座標点となる。ただし、この数値はこれに限定されずに、ドットパターン1のブロックの大小に応じて可変し得るものである。
情報ドット3は種々の情報を認識させるドットである。この情報ドット3は、キードット2を代表点にして、その周辺に配置すると共に、4点の基準格子点ドット4で囲まれた中心を仮想格子点5にして、これを始点としてベクトルにより表現した終点に配置したものである。たとえば、この情報ドット3は、基準格子点ドット4に囲まれ、図3(a)に示すように、その仮想格子点5から0.1mm離れたドットは、ベクトルで表現される方向と長さを有するために、時計方向に45度ずつ回転させて8方向に配置し、3ビットを表現する。したがって、1ブロックのドットパターン1で3ビット×16個=48ビットを表現することができる。
図3(b)は、図2のドットパターンにおいて、1個の格子毎に2ビットを有する情報ドット3の定義の方法であり、+方向および×方向にドットをずらして各2ビットの情報を定義している。これにより、本来48ビットの情報を定義できるが、用途によって分割して32ビット毎にデータを与えることができる。+方向および×方向の組み合わせによって最大216(約65000)通りのドットパターンフォーマットが実現できる。
なお、図示例では8方向に配置して3ビットを表現しているが、これに限定されずに、16方向に配置して4ビットを表現することも可能であり、種々変更できることはもちろんである。
キードット2、情報ドット3または基準格子点ドット4のドットの径は、見栄えと、紙質に対する印刷の精度、カメラの解像度および最適なデジタル化を考慮して、0.05mm程度が望ましい。
また、撮像面積に対する必要な情報量と、各種ドット2,3,4の誤認を考慮して基準格子点ドット4の間隔は縦・横0.5mm前後が望ましい。基準格子点ドット4および情報ドット3との誤認を考慮して、キードット2のずれは格子間隔の20%前後が望ましい。
この情報ドット3と、4点の基準格子点ドット4で囲まれた仮想格子点5との間隔は、隣接する仮想格子点5間の距離の15〜30%程度の間隔であることが望ましい。情報ドット3と仮想格子点5間の距離がこの間隔より近いと、ドット同士が大きな塊と視認されやすく、ドットパターン1として見苦しくなるからである。逆に、情報ドット3と仮想格子点5間の距離がこの間隔より遠いと、隣接するいずれの仮想格子点5を中心にしてベクトル方向性を持たせた情報ドット3であるかの認定が困難になるためである。
たとえば,情報ドット3は、図4(a)に示すように、ブロック中心から時計回りでI1からI16を配置する格子間隔は0.5mmであり、2mm×2mmで3ビット×16=48ビットを表現する。
なお、ブロック内に個々に独立した情報内容を有し、かつ他の情報内容に影響されないサブブロックをさらに設けることができる。図4(b)はこれを図示したものであり、4つの情報ドット3で構成されるサブブロック[I1、I2、I3、I4]、[I5、I6、I7、I8]、[I9、I10、I11、I12]、[I13、I14、I15、I16]は各々独立したデータ(3ビット×4=12ビット)が情報ドット3に展開されるようになっている。このようにサブブロックを設けることにより、エラーチェックをサブブロック単位で容易に行うことができる。
情報ドット3のベクトル方向(回転方向)は、30度〜90度毎に均等に定めるのが望ましい。
図5は情報ドット3およびそこに定義されたデータのビット表示の例であり、他の形態を示すものである。
また、情報ドット3について基準格子点ドット4で囲まれた仮想格子点5から長・短の2種類を使用し、ベクトル方向を8方向とすると、4ビットを表現することができる。このとき、長い方が隣接する仮想格子点5間の距離の25〜30%程度、短い方は15〜20%程度が望ましい。ただし、長・短の情報ドット3の中心間隔は、これらのドットの径より長くなることが望ましい。
4点の基準格子点ドット4で囲まれた情報ドット3は、見栄えを考慮し、1ドットが望ましい。しかし、見栄えを無視し、情報量を多くしたい場合は、1ベクトル毎に、1ビットを割り当て情報ドット3を複数のドットで表現することにより、多量の情報を有することができる。たとえば、同心円8方向のベクトルでは、4点の格子ドット4に囲まれた情報ドット3で28の情報を表現でき、1ブロックの情報ドット16個で2128となる。
図6は情報ドットおよびそこに定義されたデータのビット表示の例であり、(a)はドットを2個、(b)はドットを4個および(c)はドットを5個配置したものを示すものである。
図7はドットパターンの変形例を示すものであり、(a)は情報ドット6個配置型、(b)は情報ドット9個配置型、(c)は情報ドット12個配置型、(d)は情報ドット36個配置型の概略図である。
図2と図4に示すドットパターン1は、1ブロックに16(4×4)の情報ドット3を配置した例を示している。しかし、この情報ドット3は1ブロックに16個配置することに限定されずに、種々変更することができる。たとえば、必要とする情報量の大小またはカメラの解像度に応じて、情報ドット3を1ブロックに6個(2×3)配置したもの(a)、情報ドット3を1ブロックに9個(3×3)配置したもの(b)、情報ドット3を1ブロックに12個(3×4)配置したもの(c)、または情報ドット3を1ブロックに36個配置したもの(d)がある。
図8〜図9は、ドットパターンとコード値と識別子との関係を示した説明図である。
ドットパターンは、4×4個のブロック領域で構成されたドットパターンであり、このブロック内でC1−0〜C31−30に区画されている。各領域のドットコードフォーマットを示したものが図9である。
図9(a)は、ドットパターンをコード値のみで構成した場合であり、C0〜C27には図8で示したそれぞれの領域のドットパターンのドット毎のコード値が登録される。そして、C28〜C30にはパリティが登録されるようになっている。
また、図9(b)は、コード値とともにXY座標が登録されるようになっている。すなわち、図8において、C0〜C7にはX座標、C8〜C15にはY座標、C16〜C27にはコード値がそれぞれ登録されるようになっている。
このように、本実施形態では、ドットパターン内にコード値とともにXY座標を登録しておくことができる。
さらに、図9(c)は、XY座標とともに座標インデックスを登録したフォーマットである。座標インデックスとは、媒体である紙のページ番号等を登録する領域であり、ドットパターンとしてXY座標が登録された媒体自体を識別する識別子やページ番号を登録することができる。
このように、本発明のドットパターンは、コード値のみを登録する場合、コード値とXY座標を登録する場合、座標インデックスとともにXY座標を登録する場合のように、柔軟性に富んだフォーマットが可能である。
<ドットパターンの説明 GRID2>
次にGRID2のドットパターンの基本原理について図10〜14を用いて説明する。GRID2は差分法を用いたドットの配置アルゴリズムである。
まず、図10に示すように、XY方向に所定間隔毎に格子線(y1〜y7、x1〜x5)を仮定する。この格子線の交点を格子点と呼ぶことにする。そして、本実施形態ではこの4つの格子点で囲まれた最小ブロック(1グリッド)としてXY方向に4ブロック(4グリッド)ずつ、すなわち4×4=16ブロック(16グリッド)を1つの情報ブロックとする。なお、この情報ブロックの単位を16ブロックとしたのはあくまでも一例であり、任意のブロック数で情報ブロックを構成することが可能であることはいうまでもない。
そしてこの情報ブロックの矩形領域を構成する4つの角点をコーナードット(x1y1,x1y5,x5y1,x5y5)とする(図中、円形で囲んだドット)。この4つのコーナードットは格子点と一致させる。
このように、格子点と一致する4個のコーナードットを発見することにより、情報ブロックを認識することができるようになっている。ただし、このコーナードットだけだと情報ブロックは認識できても、その向きが分からない。たとえば情報ブロックの方向が認識できないと同じ情報ブロックであっても±90度または180度回転させたものをスキャンしてしまうと全く別の情報となってしまうためである。
そこで、情報ブロックの矩形領域の内部または隣接した矩形領域の格子点にベクトルドット(キードット)を配置している。同図では、三角形で囲まれたドット(x0y3)がそれであり、情報ブロックの上辺を構成する格子線の中点の鉛直上方の1つ目の格子点にキードット(ベクトルドット)が配置されている。これと同様に、当該情報ブロック内において下辺を構成する格子線の中点の鉛直上の1つ目の格子点(x4y3)に下の情報ブロックキードットが配置されている。
なお、本実施形態では、格子間(グリッド間)距離を0.25mmとした。したがって、情報ブロックの1辺は0.25mm×4グリッド=1mmとなる。そしてこの面積は1mm×1mm=1mm2となる。この範囲内に14ビットの情報が格納可能であり、このうち2ビットをコントロールデータとして使った場合、12ビット分の情報が格納できることになる。なお、格子間(グリッド間)距離を0.25mmとしたのはあくまでも一例であり、たとえば0.25〜0.5mm超の範囲で自由に変更してもよい。
GRID2において、情報ドットは1つおきに格子点からx方向、y方向にずらした位置に配置されている。情報ドットの直径は好ましくは0.03〜0.05mm超であり、格子点からのずれ量は格子間距離の15〜25%程度とすることが好ましい。このずれ量も一例であるため必ずしもこの範囲でなくてもよいが、一般に25%よりも大きなずれ量とした場合には目視したときにドットパターンが模様となって表れやすい傾向がある。
つまり格子点からのずれ方が、上下(y方向)のずれと左右(x方向)へのずれとが交互となっているため、ドットの配置分布の偏在がなくなり、紙面上にモアレや模様となって見えることがなくなり、印刷紙面の美観が保てる。
このような配置原則を採用することにより、情報ドットは1つおきに必ずy方向(図11参照)の格子線上に配置されることになる。このことは、ドットパターンを読み取る際には、1つおきにy方向またはx方向に直線状に配置された格子線を発見すればよいこととなり、認識の際の情報処理装置における計算アルゴリズムを単純かつ高速化できる利点がある。
また、たとえドットパターンが紙面の湾曲等により変形していた場合、格子線は正確な直線とならない場合があるが、直線に近似した緩やかな曲線であるため、格子線の発見は比較的容易であるため、紙面の変形や読取光学系のずれや歪みに強いアルゴリズムであるということがいえる。
情報ドットの意味について説明したものが図12である。同図中において+は格子点、●はドット(情報ドット)を示している。格子点に対して−y方向に情報ドットを配置した場合を0、+y方向に情報ドットを配置した場合を1とする。
次に図13を用いて具体的な情報ドットの配置状態と読み取りアルゴリズムについて説明する。
同図中、丸付き数字の1の情報ドット(以下、情報ドット(1)とする)は格子点(x2y1)よりも+方向にずれているため“1”を意味している。また、情報ドット(2)(図では丸付き数値)は格子点(x3y1)よりも+y方向にずれているため“1”を意味している。さらに情報ドット(3)(図では丸付き数字)は格子点(x4y1)よりも−x方向にずれているため“0”、情報ドット(4)(図では丸付き数字)は“0”、情報ドット(5)(図では丸付き数字)は“0”を意味している。
図13に示したドットパターンの場合、情報ドット(1)〜(17)は以下の値となる。
(1)=1
(2)=1
(3)=0
(4)=0
(5)=0
(6)=1
(7)=0
(8)=1
(9)=0
(10)=1
(11)=1
(12)=0
(13)=0
(14)=0
(15)=0
(16)=1
(17)=1
なお、本実施形態では上記情報ビットに対して、さらに以下に説明する差分法による情報取得アルゴリズムを用いて値を算出するようにしたが、この情報ドットをそのまま情報ビットとして出力してもよい。また、この情報ビットに対して後述するセキュリティテーブルの値を演算処理して真値を算出するようにしてもよい。
次に、図13を用いて本実施形態のドットパターンに基づいて差分法を適用した情報取得方法を説明する。
なお、本実施形態の説明において、()で囲まれた数字は図における円形で囲まれた数字(丸付き数字)、[]で囲まれた数字は図における四角形状で囲まれた数字を意味している。
本実施形態において、情報ブロック内の14ビットそれぞれの値は隣接した情報ドットの差分によって表現されている。たとえば、第1ビットは情報ドット(1)に対してx方向に+1格子分の位置にある情報ドット(5)との差分によって求められる。すなわち、[1]=(5)−(1)となる。ここで情報ドット(5)は“0”を、情報ドット(1)は“1”を意味しているので第1ビット[1]は0−1、すなわち“1”を意味している。同様に第2ビット[2]は[2]=(6)−(2)、第3ビット[3]=(7)−(3)で表される。
なお、下記の差分式において、値は絶対値をとることにする。
[1]=(5)−(1)=0−1=1
[2]=(6)−(2)=1−1=0
[3]=(7)−(3)=0−0=0
次に、第4ビット[4]については、ベクトルドットの直下位置にある情報ドット(8)と情報ドット(5)との差分で求める。したがって、第4ビット[4]〜第6ビット[6]は+x方向に1格子、+y方向に1格子の位置にある情報ドットの値との差分をとる。
このようにすると、第4ビット[4]〜第6ビット[6]は以下の式で求めることができる。
[4]=(8)−(5)=1−0=1
[5]=(9)−(6)=0−1=1
[6]=(10)−(7)=1−0=1
次に、第7ビット[7]〜第9ビット[9]については、+x方向に1格子、−y方向に1格子の位置にある情報ビットとの値の差分をとる。
このようにすると、第7ビット[7]〜第9ビット[9]は以下の式で求めることができる。
[7]=(12)−(8)=0−1=1
[8]=(13)−(9)=0−0=0
[9]=(14)−(10)=0−1=1
次に、第10ビット[10]〜第12ビット[12]については、+x方向に1格子の位置にある情報ドットの差分をとり、以下のようになる。
[10]=(15)−(12)=0−0=0
[11]=(16)−(13)=1−0=1
[12]=(17)−(14)=1−0=1
最後に、第13ビット[13]と第14ビット[14]は、情報ドット(8)に対してx方向にそれぞれ+1、−1格子の位置にある情報ドットとの差分をとり、以下のように求める。
[13]=(8)−(4)=1−0=1
[14]=(11)−(8)=1−1=0
なお、第1ビット[1]〜第14ビット[14]をそのまま真値として読み取りデータとして採用してもよいが、セキュリティを確保するために、当該14ビットに対応するセキュリティテーブルを設けて、各ビットに対応する鍵パラメータを定義しておき、読取データに対して鍵パラメータを加算、乗算等することにより真値を得るようにしてもよい。
この場合、真値TはTn=[n]+Kn(n:1〜14、Tn:真値、[n]:読取値、Kn:鍵パラメータ)で求めることができる。このような鍵パラメータを格納したセキュリティテーブルは、光学読取装置内のROM内に登録しておくことができる。
たとえば、セキュリティテーブルとして、以下のような鍵パラメータを設定した場合、
K1=0
K2=0
K3=1
K4=0
K5=1
K6=1
K7=0
K8=1
K9=1
K10=0
K11=0
K12=0
K13=1
K14=1
真値T1〜T14は、それぞれ以下のように求めることができる。
T1=[1]+K1=1+0=1
T2=[2]+K2=0+0=0
T3=[3]+K3=0+1=1
T4=[4]+K4=1+0=1
T5=[5]+K5=1+1=0
T6=[6]+K6=1+1=0
T7=[7]+K7=1+0=1
T8=[8]+K8=0+1=1
T9=[9]+K9=1+1=0
T10=[10]+K10=0+0=0
T11=[11]+K11=1+0=1
T12=[12]+K12=1+0=1
T13=[13]+K13=1+1=0
T14=[14]+K14=0+1=1
以上に説明した情報ビットと、セキュリティテーブルと真値との対応を図14に示す。
なお、上記では情報ドットから情報ビットを得て、セキュリティテーブルを参照して真値を求める場合を説明したが、これとは逆に、真値からドットパターンを生成する場合には、第nビットの値[n]は、[n]=Tn−Knで求めることができる。
ここで一例として、T1=1、T2=0、T3=1とした場合、第1ビット[1]〜第3ビット[3]は、以下の式で求められる。
[1]=1−0=1
[2]=0−0=0
[3]=1−1=0
そして、第1ビット[1]〜第3ビット[3]は、以下の差分式により表される。
[1]=(5)−(1)
[2]=(6)−(2)
[3]=(7)−(3)
ここで、(1)=1、(2)=1、(3)=0という初期値を与えると、以下のようにドット(5)〜(7)を求めることができる。
(5)=(1)+[1]=1+1=0
(6)=(2)+[2]=1+0=1
(7)=(3)+[3]=0+0=0
以下の説明は省略するが、同様にドット(8)〜(14)の値も求めることができ、この値に基づいてドットを配置すればよい。
なお、ドット(1)〜(3)の初期値は任意の乱数(0か1)である。
つまり、割り当てられた初期ドット(1)〜(3)に対して情報ビット[1]〜[3]の値を加算してやることで、次のy方向格子線に配置されるドット(5)〜(7)の値を求めることができる。同様に、ドット(5)〜(7)の値に情報ビット[4]〜[6]の値を加算してやることにより、ドット(8)〜(10)の値を求めることができる。さらに、これらに情報ビット[7]〜[9]の値を加算してやることでドット(12)〜(14)の値を求めることができる。さらに、これに情報ビット[10]〜[12]の値を加算すればドット(15)〜(17)の値を求めることができる。
なお、ドット(4)および(11)については前記で算出されたドット(8)に基づいて情報ビット[13]を減算、情報ビット[14]を加算することでそれぞれ求められる。
このように、本実施形態では、格子線yn上のドットの配置を格子線y(n−1)上のドット配置に基づいて決定し、それを順次繰り返すことにより全体の情報ドットの配置が決定する。
(ペーパーキーボード)
図15〜図17は、本発明の実施形態であるペーパーキーボードについて説明した図である。
図15は、媒体としてのペーパーキーボードの一面(媒体面)上に印刷されたドットパターンをスキャナ(SCN)が読み取ることによって、パーソナルコンピュータの種々の入力・オペレーションを行う、ペーパーキーボードを示す説明図である。このペーパーキーボードは一方の長辺側が綴じられた冊子状となっており、その冊子の各ページ面にキーボード(キートップ)の図柄が印刷されている。
具体的には、図16に示すように、パーソナルコンピュータのキートップを模した、ひらがな、または英文字の一文字(「あ」、「い」、「A」、「B」等)または複数文字からなる文言(「送る」、「はい」等)が印刷された複数の四角い画像領域が設けられている。
このそれぞれの四角形状の画像領域には、それぞれの文字(一文字の四角画像領域の場合)に対応する割り込みキーのコード値がドットパターンとして登録されており、この割り込みキーのコード値は、実際のハードウエアキーボードのそれぞれの文字のキートップに定義されたコード値と一致するようになっている。
つまり、「A」の英文字が印刷された四角画像領域のドットパターンをスキャナ(SCN)が読み取った場合、ハードウエアキーボードの「A」のキーが押されたときに発生する割り込みキーのコード値がパーソナルコンピュータ(情報処理装置)に入力されるようになっている。
なお、ハードウエアキーボードにはない機能として、挨拶文などの文言「はじめまして」、「ひさしぶり」、「ありがとう」等が四角画像領域として印刷されており、これらの領域にはそれぞれの文言に対応した文字列のコード値列がドットパターンとして印刷されている。なお、文字列をそのままキートップに割り当てられたコード値のドットパターンとして印刷しておく場合の他、所定の桁数の入力命令コード値がドットパターンとして印刷されており、後述の図24で説明するインデックステーブルに対応する文字入力情報をあらかじめ保持させておいてもよい。
なお、図16では、これらの文言の他、「ホームページを見る」、「Eメールを送る」等の文言が印刷された四角画像領域が印刷されているが、前者はブラウザプログラム、後者はメーラープログラムの起動コマンドのコード値がドットパターンとして印刷されている。
なお、図16では、キーボードの配置を五十音順、アルファベット順に配置したが、これに限らず、実際のJIS配列キーボードと同じ配列としてもよい。
また、図16に示したペーパーキーボード上には、それぞれの四角画像領域において、ドットパターンとして前記で説明したコード値の他に、前述の座標値も登録されている。
ここで、当該ペーパーキーボード面(媒体面)のドットパターンを撮像したときに、コード値を用いてキーボード入力の代替にする場合の他、座標値を用いてマウスやタブレット入力の代替にすることも可能である。このように、コード値を用いるか、座標値を用いるかについては、ペーパーキーボード上に「コード・座標切換」の文字が表示された四角画像領域を設けて、この領域にコード値を採用するか座標値を採用するかを切り換えるコード値をドットパターンとして印刷しておき、この四角画像領域をスキャンする毎にコード値と座標値との入力が切り換えられるようにしてもよい。
さらに、四角画像領域に印刷されたドットパターン化されたコード値についても、その読み取り手順によって、コード値とは異なる意味を有するコード値として用いることが可能である。
たとえば、「A」の四角画像領域のドットパターンが所定時間内に連続して読み込まれた場合(「A」の四角画像領域上でスキャナをタッピング)、すなわちスキャナの先端を連続的に媒体面に接触させたり離反させるように上下動を繰り返した場合や、スキャナをスクラッチ、すなわち、キートップ画像上でスキャナを前後または左右方向に擦る動作をさせる場合のように、座標値の読み取り画像が変化した場合には、ハードウエアキーボードのシフトキーが押されたのと同じ状態としてもよい。
具体的には、小文字の「a」をスキャナ(SCN)で撮影し、当該「A」に対応する割り込みキーのコード値がパーソナルコンピュータに入力され、その後、タッピング動作を行った場合に、パーソナルコンピュータの中央処理装置(CPU)は、プログラムに基づいて、スキャナの撮影画像の変化を検出し、小文字の「a」に対応する割り込みコード値を大文字の「A」に対応する割り込みコード値に変換してワードプロセッサ等のアプリケーションプログラムに引き渡す。
また、タッピング動作の場合、最初の1回だけドットパターンの読み取りを行い、後はスキャナ(SCN)のCMOSセンサが認識する光の強弱だけを検出してタッピング動作が行われていることを検出してもよい。
また、このようなタッピング動作の他に、当該四角画像領域上でスキャナを一定時間以上停止させてドットパターンの読み取りを行った場合には大文字の「A」、一定時間以下の場合には小文字の「a」と判定してそれぞれのコード値をアプリケーションプログラムに引き渡してもよい。
さらに、当該四角画像領域上で同一のコード値を読み取りながら座標値が変化した場合(スキャナのスクラッチ動作)、撮像画像範囲内の光の強弱の分布の変化でスキャナの傾きを検出した場合等に大文字と小文字の入力を切り換えてそれぞれのコード値をアプリケーションプログラムに引き渡すようにしてもよい。
図31(b)はこのグリッドタッピング動作を説明する図である。
すなわち、スキャナ(SCN)のグリッドタッピング動作とは、スキャナを地図に垂直に立て、上下にスキャナを動かして媒体面のアイコン(ここでは英文字「A」のキートップ画像)を叩く動作を行うことである。
図31(a)および(c)はスキャナ(SCN)のグリッドスクラッチ動作を示す説明図である。
グリッドスクラッチ動作とは、地図上で、引っかくようにスキャナを複数回動かす動作をいう。ユーザ(オペレータ)は、媒体面のアイコン(ここでは英文字「A」のキートップ画像)上でグリッドスクラッチ動作を行う。これにより、アプリケーションプログラムへの入力文字が大文字の「A」と小文字の「a」の割り込みコードに相互に切り換えられるようになっている。
図32はスキャナ(SCN)のグリッドグラインド動作を示す説明図である。
グリッドグラインド動作とは、媒体面上の同一のアイコン(ここでは英文字の「A」のキートップ画像)を撮像しながら、スキャナの後端(図では上方)を回転させる動作のことである。紙面に対して右方向(時計方向)にグリッドグラインドすることを「グリッドグラインドライト」、左方向(反時計方向)にグリッドグラインドすることを「グリッドグラインドレフト」と呼んでもよい。
図78に示したように、スキャナの撮像画像の明暗を認識し、その明暗領域が撮像中心に対して変化したときに、中央処理装置は、スキャナが図32のように動作されたことを認識できる。このようなスキャナのオペレーションによって、キーボードのシフト、コントロール、入力文字の変換等を行ってもよい。
また、スキャナの撮像画像の明暗が変化する動作の他の一例として、グリッドポンプ動作(図示は省略)が挙げられる。グリッドポンプ動作とは、スキャナを前方または後方に繰り返し倒す操作のことである。
図78は、スキャナの傾きと角度との関係を説明した図である。
キートップ画像上のドットパターンは、紙面の縦方向と同方向に重畳印刷されている。(a)に示す如く、ドットパターンの向きと、スキャナ内のカメラの向きとがなす角度をαとする。また、(b)に示す如く、ユーザがスキャナを傾けたときに、スキャナの傾きとカメラの向きとがなす角度をβとする。この場合に、ドットパターンの向きとスキャナの傾きとがなす角度γが、キートップ画像に対してスキャナを傾けた角度となる。すなわち、角度γは、
γ=α+β
となる。
図79から図83は、上述したスキャナの動作において、スキャナの撮影画像の明暗および傾斜方向の算出方法について説明した図である。
スキャナ(撮像手段)の媒体面(キートップ画像)の鉛直方向に対する傾きについては、図78(b)に示すように、当該スキャナの撮像視野における明度の差で認識することが可能である。
スキャナの傾斜方向とは、図80(a)に示す如く、スキャナと地図とのなす角度をいう。ユーザがどの方向にスキャナを傾けたかは、以下の方法により求めることができる。
まず、キャリブレーションを行う。スキャナを地図に対して垂直に立て、その場合の、図79に示した、1〜48のセルの明るさを測定する。図79は、スキャナ周辺の領域である。このときの明るさをBL0(i)とする。iは、測定したセルの値であり、たとえば、24番のセルの明るさは、BL0(24)と表示する。
スキャナ内部には、LEDが2個設置されている。そのため、スキャナを地図に対して垂直に立てていても、LED付近のセルとLEDから離れた位置にあるセルとでは、明るさが異なる。そのため、キャリブレーションを行なう。
次に、スキャナを傾けた場合の明るさを測定する。図80(a)に示す如く、スキャナを一定方向に傾けた場合の、セル1からセル48までの明るさを測定し、セルiにおける明るさをBL(i)とする。そして、各セルにおけるBL(i)とBL0(i)との差分を計算する。そして、
Max(BL0(i)−BL(i))
を計算する。
スキャナを傾けた場合、傾けた方向と逆の方向が暗くなる。スキャナを傾けた方向にLEDも傾くため、傾けた方向と逆方向では、LEDとの距離が遠くなるからである。したがって、図80(b)に示す如く、差分が最大値となるセルと逆方向が、スキャナを傾けた位置となる。
これにより、スキャナを傾けた方向が定まる。
次に、図79〜図80を用いて、キャリブレーションを行なうことにより、傾斜方向および角度を決定する他の方法について説明する。
最初にキャリブレーションを行なう。まず、スキャナを地図に対して垂直に立て、図79に示したセル1からセル48の明るさを測定し、セルiにおける明るさをBL0(i)とする。
次に、スキャナを45°傾け、図80に示す如くペン先を軸にして一周させる。この場合に、スキャナがセルiの位置にきた場合の明るさをBL45(i)とする。セル1からセル48までのBL45(i)を求める。以上の操作によりキャリブレーションが終了する。
次に、ユーザがスキャナを傾けた場合の、セル1からセル48までの明るさを測定し、セルiにおける明るさをBL(i)、i=1,n(=48)とする。そして、
BL0(i)−BL45(i)は一定であるため、BL0(i)−BL(i)の値が最も大きいとき、すなわち、BL(i)が最小となるときに、
は最大値となる。上述した如く、スキャナを傾けた方向と逆の方向が最も暗くなるため、この場合のセルiの逆方向が、スキャナを傾けた方向となる。
また、スキャナを傾けた角度は、
なお、上述した式は、明るさに対して角度θが線形となることを想定しているが、厳密には、三角関数等で以下のように近似するとさらに精度を高めることができる。このようにすると、角度は
図82は、フーリエ関数を用いて、傾斜方向を測定する方法である。
図81に示す如く、1から8の8個のセルを測点とし、各セルの明るさを測定する。
サイン関数は、
αj{sin(1/2)j−1(θ―βj)}
で表される。すなわち、未知数は2個となる。
したがって、n個の測点を有する場合には、離散したポイントがn個となるため、n/2個のサイン関数の和を求め、これが解析中心から半径における明るさBL(i)となる。すなわち、
本実施例においては、測点が8個であるため、n=8である。したがって、4個のサイン関数の式を合成することにより、フーリエ級数のα1〜α4およびβ1〜β4を求める。そして、解析中心から半径における明るさBL(i)を、4個のサイン関数の和で表す。
上記式より、BL(i)が最小値となる角度θが最も暗い位置であり、その180度反対の方向が、スキャナを傾けた方向となる。
図83は、n次方程式を解くことにより、傾斜方向を測定する方法である。
図83のグラフは、n次関数を示したものである。n次関数を用いた場合、解析中心から半径における明るさBL(i)は、
BL(i)=α1(θ―β1)・α2(θ―β2)・・・・αj(θ―βj)
ただし、j=n/2,n=2m
で表される。
図81に示す如く、本実施例においては、測点が8個であるため、8個の解を求める必要がある。1個の方程式には、αj,βjの2個の未知数が含まれているため、4個の方程式を解き、α1〜α4およびβ1〜β4を求める。
これにより、BL(i)が最小値となる角度θを求める。角度θとなる位置が最も暗い位置であり、その180度反対の方向が、スキャナを傾けた方向となる。
なお、図82および図83による測定方法では、キートップ画像の鉛直線に対するスキャナの傾きまでは測定できない。そこで、図79〜図80に示した測定方法と併用することにより、具体的に傾けた角度を測定することができる。
さらには、上述の図78で説明したように、スキャナを用いて媒体面上のドットパターンを読み取る際に、スキャナが媒体面に対して傾けられたことをスキャナの撮像画像の明暗の差によって認識することにより、媒体面に対するスキャナの傾き方向にしたがって画面上のGUIのオペレーションを行うことも可能である。
図78に示したように、中央処理装置(CPU)がスキャナの撮像画像の明暗を認識し、その明暗領域が撮像中心に対して反対側に移動したときに、スキャナが媒体面に対して傾けられたと判定できる。
一方、撮像画像の明暗が前記撮像中心に対して回転するように変化したときに、中央処理装置(CPU)は、スキャナがグリッドグラインド動作が行われたことを判定する(図32参照)。
また、撮像画像の明暗が撮像中心に対して前方向または後方向に繰り返し変化したときに、中央処理装置は、スキャナが前方または後方に繰り返し倒される動作(グリッドポンプ動作)が行われたことを判定できる。このようなスキャナのオペレーション動作にともなって、ディスプレイ画面上に表示されたカーソルの移動、画面のスクロール等のGUIのオペレーションを行ってもよい。
画面上のGUIのオペレーションは、具体的には、画面のスクロール、カーソル移動、画面上のアイコンの指定、ドラッグ&ドロップ操作、メニュー選択、文字等の入力位置指示動作等のマウス操作のオペレーション等である。
(ペーパーコントローラ)
図18〜図30は、本発明の一実施形態であるペーパーコントローラについて説明した図である。
ペーパーコントローラの一面(媒体面)には、図18に示すように、インターネットへのアクセスを行うブラウザプログラム(マイクロソフト社のインターネットエクスプローラ(商標名)等)への指示を行う命令が紙媒体等の表面にアイコン領域として印刷されている。当該ペーパーコントローラ上には、同図に示すように、「ユーザ(オペレータ)登録」指示、ウェブ閲覧の際のカーソルの移動指示、URLのコピー/リンク指示、ディスプレイ装置上に表示される、登録・編集パネルの操作指示、登録・編集パネルの開閉指示、登録・編集パネルのURLおよびそのリンクの削除指示を意味するアイコン領域が印刷されている。そして、これらのアイコン領域にはそれぞれの指示コードを意味するドットパターンが印刷されている。たとえば、ウェブ閲覧のスクロールアイコン領域の「上へ△」の領域には、ブラウザプログラムに表示される画面を上方に移動させる割り込みコードが登録されており、「下へ▽」の領域には、ブラウザプログラムに表示される画面を下方に移動させる割り込みコードが登録されている。
図19は、インターネットのURLをブックマークとして登録するためのペーパーコントローラを示している。英文字のGがデザインされた四角形領域(アイコン領域)が9行×11列分設けられており、これらの99個のアイコン領域にそれぞれ異なるコード値のドットパターンが登録されている。また、右側には9行×2列にカテゴリを示すアイコン領域が設けられている。
図20は、図18および図19で説明したペーパーコントローラの一面(媒体面)上に印刷されたドットパターンをスキャナ(SCN)が読み取ることによって、パーソナルコンピュータの種々のオペレーションを行っている状態を示す説明図である。
ペーパーコントローラ本体は、シート状の紙または合成樹脂で形成されており、その上面には、ドットパターンを含む印刷面が構成されており、さらにその印刷面上には透明の保護シートが積層されたラミネート構造となっている。なお、このような保護シートは必ずしも必須のものではなく、印刷面が露出したものであってもよいことはもちろんである。
また、図21は、図19で説明したペーパーコントローラの各アイコン領域を剥離可能なシール構造にして、システム手帳等に貼付して、音声や音楽データ等との関連付けを行うものである。
図24(a)は、パーソナルコンピュータのハードディスク装置(HD)内に設けられたローカルなインデックステーブルを示している。
ローカルなインデックステーブルには同図(a)に示すように、ドットコードが意味するコード番号と命令とが対応付けられている。当該インデックステーブルの内容は、具体的にはタグに登録されたドットパターンのIDを読み取った際に実行される命令を登録したID(会員用)に関する領域(第1の領域:図では「ID(会員用)」とした領域)と、ペーパーコントローラのドットパターンを読み取って変換されたコード番号とアクセス先を関係付けた領域(第2の領域:図では「ペーパーコントローラ」とした領域)と、コード番号とコンテンツの登録先を関係付けた領域(第3の領域:図では「媒体」とした領域)とに分けることができる。
たとえば、第1の領域を使用する例として、タグのドットパターンの読み取り結果において、コード番号の先頭の一桁が1である場合には、中央処理装置(CPU)は、解析プログラムに基づいて、このインデックステーブルを参照して、タグからの情報であることを認識する。そして、この場合にはドットコード管理サーバへのアクセスを行いドットコード管理サーバのインデックステーブル(図24の(b)に示す管理サーバテーブル)にアクセスするようになっている。
第2の領域を使用する例として、ペーパーコントローラのドットパターンの読取結果において、コード番号が00001〜00004以降である場合には、それぞれに対応付けられたファイルにアクセスするようになっている。
たとえば、同図に示すように、アクセス先としては、ドライブ名と起動ファイル、それにパラメータがセットになって登録されている。具体的には、ペーパーコントローラから読み取られたドットパターンが、コード番号00001である場合、電子メールのアプリケーションプログラムがこれに対応付けられており、パラメータとして新規のメール作成を意味するコマンドが設定されている。これによって電子メールのプログラムが起動し、電子メールが新規作成できるような状態になる。
また、たとえばコード番号00002の場合にはムービープレイヤの起動が指定されており、パーソナルコンピュータ内に登録されたプレイヤソフトが起動するようになっている。
さらに、ペーパーコントローラから物理的なキーボードと同様に文字列が直接入力できるようになっており、たとえばコード番号00003が読み取られたときには、特定のアプリケーションにおいて英文字の「A」、または「B」が入力され、これらの文字コードがアプリケーションに引き渡されるようになっている。
さらに、第3の領域を使用する例として、通販カタログ(媒体)等に印刷されたドットパターンを読み込んで、コード番号が00100〜であった場合、そのコード番号に対応付けられたURLへのアクセス(Web閲覧)、プログラムの実行、ムービーファイルの起動(再生)が行われるようになっている。
ここで、スキャナが読み込んでコード番号に変換して、当該コード番号がインデックステーブルに存在しない場合には、中央処理装置(CPU)は、ネットワークを介して管理サーバへのアクセスを行う。
管理サーバでは、個人情報を管理するユーザデータベースとサーバ側のインデックステーブル(図24(b)参照)が設けられている。図示を省略したサーバ側の個人情報管理テーブルにはタグから読み取ったコード番号に対応した個人情報が登録されるようになっているが、前述の先頭桁に1が付与されたコード番号に対して、個人情報が登録されてない場合には、管理サーバの中央処理装置(CPU)は、プログラムにしたがって、初期登録プログラムを前記パーソナルコンピュータに対してダウンロードさせるようになっている。この初期登録プログラムでは、ユーザの自分の個人情報、たとえば住所、氏名、電話番号等を入力するようになっている。このように入力された個人情報に基づいて、管理サーバのユーザデータベースが生成されるようになっている。
すなわち、管理サーバのユーザデータベースにタグに対応付けた個人情報を登録しておくことにより、ネットワークアクセスや、決済等の認証処理を容易に行うことができるようになっている。
管理サーバの管理サーバテーブルにも、前記図24(a)で説明したローカルのインデックステーブルと同様なテーブルが生成されている。
この管理サーバテーブルは、ローカルのインデックステーブルに登録されたコード番号を補完するテーブルであり、スキャナでの読み取り結果のコード番号がローカルのインデックステーブルに存在しない場合に、当該管理サーバテーブルがアクセスされる。
たとえば、スキャナでの読み取り結果が、ローカルなインデックステーブルに存在しなかったコード番号00200であった場合、パーソナルコンピュータの中央処理装置(CPU)は、プログラムにしたがって、ネットワークを介して管理サーバにアクセスし、管理サーバテーブルを参照する。
管理サーバテーブルにおいて、コード番号00200は、所定のURLのアクセス(Webの閲覧)が定義されているので、当該パーソナルコンピュータは当該URLへのアクセス(Webの閲覧)を実行する。
また、当該コード番号がたとえば00201であり、ストリーミング配信を意味している場合には、その配信サーバへのアクセスを行い、ストリーミングデータをダウンロードさせるようになっている。
なお、この場合、当該ストリーミングデータのダウンロードとともに、この管理サーバテーブルの内容も前記パーソナルコンピュータのインデックステーブルにダウンロードされる。
したがって、その後は、パーソナルコンピュータがスキャナからの読取結果がコード番号00201であっても、管理サーバテーブルにアクセスすることなく、ローカルのインデックステーブルのみで処理できるようになる。
図25〜図28は、ペーパーコントローラの他の実施形態について説明した図である。
これらの図に示すペーパーコントローラは、図18〜図20で説明したペーパーコントローラとほぼ同様であるが、所定のアイコン領域毎にガイドバンクが設けられている点が異なる。
ガイドバンクは、図27に示すように、ペーパーコントローラ本体の上層にさらに、プラスチック板が設けられており、当該プラスチック板の一部が露出面方向に突出したリブ状のバンクガイドとなっている。
このバンクガイドは、上シート面上をスキャナの先端(図では下端)でスライド(シート面に沿って並行移動)させたときに、当該スキャナを把持したオペレータがスライド方向に対して僅かな障害として感じる程度の高さであることが好ましく、意図的に乗り越えてスライドを継続することも可能である。
このようなバンクガイドを設けることによって、バンクガイドとペーパーコントローラ本体上のアイコン領域の位置関係をある程度覚えておけば、オペレータは目視に依存しなくてもスキャナを意図するアイコン領域上に配置させることが可能となる。たとえば、図25では、四角状のバンクガイドに囲まれた領域に最大4個のアイコン領域(たとえば図25の左欄中段には「URL」、「リンク」、「全てのURL」、「全てのリンク」)を設けているが、スキャナをそれぞれ左上、右上、左下、右下の方向に移動できなくなるまで(ガイドバンクの四隅まで)スライドさせることで、ユーザ(オペレータ)は手許のペーパーコントローラの印刷面を注視していなくても、それぞれのアイコン領域上で正確にスキャナを停止させてそれぞれのコード値の読み取りを行わせることができる。
なお、ガイド部は、カード自体をエンボス加工等することにより、カード自体に突起を設けてもよい。また、ガイドは、図28に示すように、プラスチックの別体で構成し、カードのみをそのガイドに対して入れ替え可能にしてもよい。
図29および図30は、このペーパーコントローラのバンクガイドに囲まれた領域にドットパターンとともに点字の突起を設けたものである。このよう点字とドットパターンを同じ領域に設けておくことにより、視覚障害を持つユーザ(オペレータ)がスキャナを使用するときにも健常者と同様の入力効率を保つことができる。
特に、図30では、媒体(たとえば紙や合成樹脂板)の所定の四角領域の上方にドットパターンが印刷され、下方に点字が設けられており、この四角領域が壁部(バンク)によって囲まれているため、目が不自由なユーザであってもスキャナの先端がバンクを越えることで異なる領域をスキャンすることが感覚的に把握できるようになっている。
なお、本実施例においては、ドットパターンが印刷されている領域と点字が印刷されている領域を別に設けたが、本発明はこれに限らず、ドットパターンと点字を同一の領域に重畳印刷してもよいことは勿論である。
(マウスパッド)
図33〜図39は、本発明の一実施形態であるマウスパッドについて説明した図である。
図33は、媒体としてのマウスパッドの一面(媒体面)上に印刷されたドットパターンをスキャナ(SCN)が読み取ることによって、パーソナルコンピュータの種々のオペレーションを行う、マウスパッドシステムを示す説明図である。
このマウスパッドは、前述のペーパーコントローラ、ペーパーキーボードと同様に、シート状の紙または合成樹脂で形成されており、その上面には、ドットパターンを含む印刷面が構成されており、さらにその印刷面上には透明の保護シートが積層されたラミネート構造となっている。なお、このような保護シートは必ずしも必須のものではなく、印刷面が露出したものであってもよいことはもちろんである。
印刷面は、図34(a)に示すように、内周領域と、環状の外周領域とで構成されている。
内周領域には、座標値とコードAとがドットパターンとして印刷されている。また、外周領域には、座標値とコードBとがドットパターンとして印刷されている。当該マウスパッドを座標入力に用いる場合には、円形内の全ての領域を用いてタブレットのように座標入力が可能となる。
なお、同図(b)は、外周領域にアルファベットのコード値を登録した画像領域を設けている。
なお、このようなマウスパッドは必ずしも円形である必要はなく、同図(c)および(d)に示すように四角形状であってもかまわない。
図35は、環状の外周領域にパーソナルコンピュータの入力指示領域をそれぞれ配置したものであり、この各入力指示領域には、それぞれコンピュータのオペレーションのためのコード値がドットパターン化されて印刷されており、マウスパッドの機能と前述のペーパーコントローラの機能を兼ねている。
同図において、各機能領域(同図で丸付き数字で示された領域)における機能は以下の通りである。本詳細な説明では、丸付き数字をカッコつき数字として記載する。
(1)範囲選択
アイコン(機能領域)をタッチして、内枠内のスキャナの動作でカーソルを移動し、始点が決まったら、リリースし、もう一度タッチしてカーソルを移動して終点を決めてリリースすると、その間のテキストがブルー表示され、アクティブとなる。
(2)コピー
アイコン(機能領域)をタッチすると、範囲選択されたテキストをメモリに蓄える。メモリリストには、今、コピーしたテキストが先頭にリストされる。
(3)切り取り
アイコン(機能領域)をタッチすると、範囲選択されたテキストを削除し、そのテキストをメモリに貯える。メモリリストには、今、切り取ったテキストが先頭にリストされる。
(4)挿入
カーソルが入力モードになっていない等の場合、アイコン(機能領域)をタッチして、カーソルキー→←・↑↓を使ってカーソルを移動させるか、内枠内のスキャナの動作でカーソルを移動し、リリースすることにより、挿入位置を定める。
(5)貼り付け
アイコン(機能領域)をタッチすると、入力モードになっているカーソルの位置から、メモリに格納されてアクティブになっているテキストが挿入される。
(6)消去
アイコン(機能領域)をタッチすると、直前に範囲選択されたテキストを消去する。直前に範囲選択されていなければ、入力モードになっているカーソルの位置から後のテキストを1文字消去する。2秒以上長押しすると、リリースするまで連続して文字が消去される。
(7)Back Space
アイコン(機能領域)をタッチすると、入力モードになっているカーソルの位置の前のテキストを1文字消去する。2秒以上長押しすると、リリースするまで連続して文字が消去される。
(8)行替え
アイコン(機能領域)をタッチすると、行替えして入力モードになっているカーソルの位置が行替えした先頭に移動する。
(9)解除
アイコン(機能領域)をタッチすると、(1)、(4)、(15)のアイコン(機能領域)をクリックした後、何も操作していない場合、そのモードを解除し、待機状態となる。
(10)UNDO
アイコン(機能領域)をタッチすると、直前に行われたオペレーションが解除され、その前の状態に戻る。何度も繰り返し戻ることが出来る。
(11)カーソル→
(12)カーソル←
(13)カーソル↑
(14)カーソル↓
アイコン(機能領域)をタッチすると、入力モードになっているカーソルの位置をその方向に1文字移動させる。2秒以上長押しすると、連続してカーソルの位置をその方向に移動させる。もし、プルダウンメニューが表示されている場合は、(13)、(14)のアイコン(機能領域)をタッチすると、表示された項目のアクティブとなっている項目を上・下に移動させる。
(15)メモリ表示
アイコンをクリックすると、範囲選択してコピー、もしくは切り取られたテキストのリストが、新しい順で上から表示される。(11)、(12)のアイコン(機能領域)をタッチしてアクティブとなっている項目を上・下に移動できる。アクティブとした項目を(6)消去しない限り、全てのテキストは保存される。
(16)ENTER
カーソルの位置を所定の位置に移動させ、その位置にインストラクションがある場合、アイコン(機能領域)をタッチすると、そのインストラクションが実行される。カナ漢字変換等の決定もできる。一般的なENTERキーと同じ機能を有する。
図36(a)〜(d)および図37(a)〜(b)は、このようなマウスパッドを用いたスキャナの動作により、インターネットのブラウザプログラムのウェブページのスクロールオペレーションを示している。
図38(a)は立体マウスパッドの平面図、同図(b)はその断面図である。
当該マウスパッドは、環状の溝を設けて、領域の違いを把持したオペレータがスキャナを通じて体感できるようになっている。
このような溝は図38に示した環状のものの他、図39に示すような放射状のものであってもよい。
(その他のペーパーコントローラ)
図40は、この入力読取り手段を設けて新たなキーボードを提案するものである。
キーボードの配置については、「H」「ダブル」「Y」および「変換」「Enter」を中心に扇状に各キートップの画像が配置されており、各キートップの画像は扇状に中心方向に各キートップ画像が直線状に並ばないようにそれぞれずらした位置に配置されている。
そして、各キートップ画像は、「H」「ダブル」「Y」および「変換」「Enter」を中心に、より内側に母音(「A」「I」「U」「E」「O」)、その外側に子音(「K」「S」「T」「N」「M」「Y」「R」「W」)が配置されている。
これらのキートップ画像上には、図9(b)に示されたようなコード値とXY座標とが同一のフォーマット中に登録されたドットパターンが重畳印刷されている。
このXY座標は、アイコンごとに独立してXY座標が定義されていてもよいし、媒体面全体にわたってXY座標が定義されていてもよい。
このキーボードを用いれば、スキャナ(SCN)による媒体面のタッチ&リリースで文字入力を行うことが可能である。たとえば、「傘」と入力したい場合、まず、「K」のキートップ画像部分をスキャナで読み取らせる。そしてそのままスキャナ(SCN)を「A」→「S」→「A」の順番にペーパーキーボード上をなぞる(摺動させる)。このようなキートップ間の動作は、媒体上に重畳印刷されたドットパターンの座標値の変化によって認識させることができる。その後、最後の「A」のキートップ画像からスキャナをリリース(上に引き揚げ)する。パーソナルコンピュータの中央処理装置(CPU)は認識プログラムによって、ローマ字入力の「KASA」の入力と、リリース動作によって「変換命令」であることを認識して、パーソナルコンピュータ等のアプリケーションプログラム(日本語入力プログラム)に引き渡す。これによって、ディスプレイ装置上のカーソル位置には漢字で「傘」と表示される。また、入力した文字を日本語に変換したい場合には「変換」をスキャナで読み取らせてもよい。
また、「特許」と入力したい場合には(図42(1)〜(5)参照)、まず「T」のキートップ画像部分をスキャナで読み取らせて、そのままスライドして「O」→「K」→「ダブル」→「Y」→「O」にスライドさせ、最後の「O」のキートップ画像からスキャナをリリース(上に引き揚げ)するか、さらに「変換」にスライドする。ここで、「ダブル」はその前の文字を2回続けて入力する場合にスキャナで読み取る領域である。パーソナルコンピュータの中央処理装置(CPU)は認識プログラムによって、ローマ字入力の「TOK(ダブル)YO」の入力と、リリース動作、またはそれに続く「変換」の読み取りによって「変換命令」であることを認識して、パーソナルコンピュータ等のアプリケーションプログラム(日本語入力プログラム)に引き渡す。これによって、ディスプレイ装置上のカーソル位置には漢字で「特許」と表示される。
図41は、日本語の変換についての規則の一覧であるが、これに限定されなくてもよい。
図43は、音声読取りの補助装置としての用途を示したものである。
同図は、音声による日本語入力を補助するシステムを示している。ユーザ(オペレータ)が、マイクを通じて発声を行うと、パーソナルコンピュータの中央処理装置(CPU)は、マイクから入力された音声情報を分析して、変換候補をディスプレイ装置に表示するようになっている。ここではユーザ(オペレータ)が「いし」と発声した場合を示している。ディスプレイ装置には「いし」の発声に対応した変換候補が「1 意思」、「2 石」、「3 意志」、「4 医師」、「5 遺志」が表示されている。
ここで、ユーザ(オペレータ)はディスプレイ装置に表示された候補から番号を選択して、ペーパーコントローラ(ペーパーキーボード)のその番号のアイコン領域(たとえば「2」)をスキャナでスキャンする。これらの番号のアイコン領域にはそれぞれの番号がコード化されたドットパターンが印刷されており、前記スキャナのオペレーションにより、コード化された番号がパーソナルコンピュータに入力される。パーソナルコンピュータの中央処理装置(CPU)は、入力されたコードから入力候補に関係付けられた番号を読み出し、当該番号に対応する変換文字(たとえば「石」)をアプリケーションプログラムに引き渡す。
図44から56は赤外線リモコンの入力手段としてペーパーキーボードを用いた例である。
これらは、スキャナをリモコンと一体化したものであり、図44の(a)はリモコンの先端にスキャナが設けられた構造、図44の(b)はリモコンの操作パネルとは反対側の面にスキャナが設けられた構造を示している。
ユーザ(オペレータ)は、リモコンのスキャナを用いて新聞等のラジオ・テレビ欄を走査するようになっている。新聞のテレビ欄は、チャンネルと放送局とがXY方向に表示されており、番組名と出演者や内容が文字情報で印刷されている。このようなラジオ・テレビ欄には視聴・録画予約コードがドットパターンとして印刷されており、このドットパターンをスキャナでスキャンすることによって、番組毎に付与された予約コードをリモコンで読み込んで、セットトップボックス(STB)またはテレビ本体の赤外線受光部に向けて送信するようになっている。
図45は、クレードル(台)にスキャナが載置できる構造のリモコンであり、クレードル内にはスキャナからの読取信号を分析して赤外線信号を生成する中央処理装置(CPU)と電源(BAT)等が内蔵されている。
図46は、図45のスキャナ(SCN)とクレードルとを用いてCS放送やインターネット放送用のセットトップボックスに対して番組予約・録画する場合の説明図である。
なお、スキャナ(SCN)とクレードルとの接続は図45および46に示した有線の他、無線で通信を行うようにしてもよい。
図47は、図45や図46に示したリモコンに用いられるペーパーコントローラの一例、図48はセットトップボックスを制御対象としたリモコンに用いられるペーパーコントローラの一例である。
図49〜図56は、図47に示したペーパーコントローラの各機能領域(ドットパターンが印刷された領域、アイコン)のコード値が意味するテレビ(TV)またはセットトップボックスの実行命令を対応つけたものである。
たとえば、図47の表紙に印刷された「電源」の領域をスキャナで読み取ると、当該領域に印刷されたドットパターンが読み取られて、コード値に変換され、電源投入信号がテレビまたはセットトップボックスに対して送信される。
図57は、本実施形態のペーパーコントローラを、ホテル内の客室に設けられたセットトップボックスに対しての制御を行う媒体として実現したものである。
このペーパーコントローラ上には、英語、中国語、韓国語、日本語、それぞれについてシンボルが印刷されており、各シンボル上にはドットパターンが印刷されている。そしてそれぞれのシンボルが意味する動作をセットトップボックスが行うよう、制御信号が無線または光通信としてリモコンから出力されるようになっている。
図58および59は、音楽あるいは動画プレイヤの制御を行う場合のペーパーコントローラ(ペーパーキーボード)の一例である。音楽・動画プレイヤについては詳細な説明は省略するが、これらの音楽・動画プレイヤのオペレーションにおいてもスキャナ(SCN)とこれらのペーパーコントローラ(ペーパーキーボード)を使用して映像や音声の録画、再生が可能である。これらのペーパーコントローラ(ペーパーキーボード)の各命令領域にもドットパターンが入力されている。また、図59に示すように、文字入力が可能なペーパーコントローラ(ペーパーキーボード)を用意してもよい。
図60〜図67は、図58および59に示したペーパーコントローラの各機能領域(ドットパターンが印刷された領域、アイコン)のコード値が意味する音楽・動画プレイヤの実行命令を対応付けたものである。
図68〜図70は、媒体面として、ホワイトボードを用いた場合であり、このホワイトボード上にもドットパターンが印刷されている。このホワイトボード上のドットパターンは座標値を意味するドットコード(図9参照)が印刷されているものとする。
図70に示すように、座標値を意味するドットパターンが印刷されたホワイトボードに対して、プロジェクタにより所定の画像が投影表示される。プロジェクタは図示しないパーソナルコンピュータに接続されており、このパーソナルコンピュータに接続された本発明のスキャナ(図1参照)を用いてホワイトボードの任意の位置を操作すると、その位置のドットパターンがスキャナ(SCN)に読み込まれてパーソナルコンピュータ内で座標値に変換される。パーソナルコンピュータ内のハードディスク装置内には、座標値と命令またはアドレス等が対応付けられたインデックステーブル(図24参照)を参照し、それに対応するアドレスに規定された情報表示、命令実行を行うようになっている。
このホワイトボードでは、図69に示すように、ホワイトボードの表面に粘着剤層が設けられており、ここに一面にドットパターンを印刷した透明シートがそのドットパターンを粘着剤層側にして貼付されている。
したがって、ドットパターン自体は透明シートに保護されているため、スキャナの先端が接触したりホワイトボード用のペン先が接触してもドットパターン自体が劣化することはない。
図70の例では、ホワイトボード上でアイコンが表示された領域上のドットパターンをスキャナで読み取ると、そのドットパターンがパーソナルコンピュータ上で座標値に変換されて、当該座標値に対応してあらかじめ登録されているアプリケーションプログラムが起動するようになっている。
また、図68に示すように、ホワイトボードの左側にリモコンの画像が投影され、右側にはリモコンで制御される動画が再生されるようになっていてもよい。
この場合、リモコンの各ボタンの投影画像に対応した箇所をスキャナで読み取ると、その座標値がパーソナルコンピュータに読み込まれて当該座標値に対応する動作、たとえば動画の再生、早送り、巻き戻し、一時停止等が行われ、投影動画(画像)を制御できるようになっている。
図71は、ホワイトボードの代わりに、ボードを半透明のアクリルボード(スクリーンボード)とした例であり、背後からリアプロジェクタによってパーソナルコンピュータのデスクトップ画面や動画(画像)を投影するようになっている。
このスクリーンボードでは、アクリルボードのリアプロジェクタ側に粘着剤層を介して赤外線カットフィルタシートが貼付されており、その反対側の面には、粘着剤層を介して透明シートが貼付されている。そして透明シートの粘着剤層側には座標値を意味するドットパターンが印刷されている。
このように、スクリーンボードのリアプロジェクタ側に赤外線カットフィルタシートが貼付されていることにより、リアプロジェクタからの照射光の中の赤外線成分がカットされるため、スキャナ側にはリアプロジェクタからの赤外線成分のノイズ光が届くことがない。そのため、ドットパターンの読み取り精度を高く維持することができる。
図71において、スキャナによってブラウザプログラムのアイコン部分が撮影された場合には、この座標値がパーソナルコンピュータの中央処理装置(CPU)によって、座標と処理命令とが対になった対応テーブル(図示を省略)を参照して、前記ブラウザプログラムのアイコンの配置位置であることが認識されて、当該座標に対応する処理命令(ここではブラウザプログラムの起動)が実行される。
図73は、以上に説明したペーパーキーボードをユーザ(オペレータ)自身が作成するために、画面上にペーパーキーボードのイメージ情報を編集し、たとえば一部の領域にマスクを切ってマスクを形成し、当該マスク上にドットパターンのコードを配置して自由な配置でユーザ(オペレータ)自身が使えるペーパーキーボードを作成するための一例である。
画面上のアプリケーションで機能アイコンを自分で削除、追加、配置を自由にできるようなプログラムを用意し、その画面のイメージをドットパターンと共に印刷するか、あるいは、ドットパターンが印刷された用紙に印刷することにより、ワードプロセッサ、表計算ソフトなどのアプリケーションプログラムの機能の実行命令を全て自分専用にカスタマイズして印刷したペーパーキーボードにより実現することができる。
これによって、画面上の機能ボタンの配置を少なくすることができ、ワードプロセッサや表計算、アプリケーションプログラムの画面インターフェースを極めてシンプルなものにできる。
図74および75は、本実施形態に以上に説明したドットパターン読み取り装置と、インデックステーブル、サーバ管理テーブル等を応用した一つの実施形態を技術紹介として配布資料の形式にしたものである。
この配布資料(図74および75)に示すように、本技術はGrid Onput(商標名)として実現することが可能である。
図74および図75は、GAM(Grid Application Manager、このGAMはパーソナルコンピュータのハードディスク装置内にインストールされたアプリケーションプログラムの名称である)として、ハードウエアとしてはパーソナルコンピュータ(PC)でスキャナを使用する場合の例を示したものである。
同図において、(1)〜(5)、(7)までは実際の運用例を示したものである。すなわち図74の(1)に示すように、ユーザはCD−ROM、もしくはインターネットの配信サーバにアクセスしてダウンロードしたインストールプログラムをパーソナルコンピュータ(PC)上で実行し、OS(オペレーティングシステム)上にGAMとドライバプログラムを常駐プログラムとして登録する。また、そのときにGAMにバンドルされたアプリケーションプログラムや画像、動画等のコンテンツデータもハードディスク装置(HD)内にインストールする。
次に、USB端子にスキャナが接続されると、前記常駐状態のドライバプログラムがこれを認識する。
次に、スキャナによってタグの表面が読み取られると、その撮影画像(ドットパターン)がUSBケーブルを介してパーソナルコンピュータ(PC)に読み込まれて、ビデオメモリ(VRAM)に展開される。中央処理装置(CPU)に読み込まれたGAMは、前述のアルゴリズム(GRID1またはGRID2)にしたがって当該撮影画像(ドットパターン)からコード(コード番号)に復号する。
ここでスキャナによってはじめてタグをスキャンしたときには、パーソナルコンピュータ(PC)のディスプレイ装置(DISP)には、当該タグに対応した個人情報の入力を促す画面が表示され、この表示画面にしたがって、ユーザは氏名、住所、クレジットカード番号等の個人情報を登録する。このようにして入力された個人情報は、前述の図24に示した管理サーバテーブルに登録されて、以後の認証に使われる。
つまり、その後はパーソナルコンピュータ(PC)を起動する際に、スキャナでタグをスキャンすることにより、管理サーバでの認証が行われ、この認証が完了すると、GAMが起動するようになる。
次に、ドットパターンが印刷された紙媒体やペーパーコントローラ(ペーパーキーボード)がスキャナで走査される(読み取られる)ことにより、ドットパターンが撮影され撮影画像データがパーソナルコンピュータに入力されて前記と同様に32ビットの数字列からなるドットコード(コード番号)が復号される。
このドットコード(コード番号)に基づいて、GAMのドットコード管理テーブル(インデックステーブル)が参照される。
ここで、インデックステーブルに既に当該ドットコード(コード番号)が登録されていれば、そのパーソナルコンピュータ(PC)内に既にインストールされたコンテンツデータであるということが認識され、そのコンテンツデータが読み出されて再生される。このコンテンツデータが動画や画像であれば、それに対応した動画再生アプリケーションプログラムや画像表示プログラムによって、ムービーや画像がディスプレイ装置(DISP)に表示される。
また、インデックステーブルのドットコード(コード番号)にインターネット上のアドレス(URL)が登録されている場合には、閲覧プログラム(マイクロソフト社のインターネットエクスプローラ等)が起動して当該アドレスへのアクセスが行われる。
ところで、図74の(5)に示すように、ドットパターンを読み取った結果のドットコード(コード番号)がローカル(パーソナルコンピュータ内)のドットコード管理テーブル(インデックステーブル)に登録されていないときには、インターネット上のドットコード管理サーバを参照するようになっている。ここで、ドットコード管理サーバの管理サーバテーブルにドットコード(コード番号)が登録されていればそのドットコード(コード番号)に対してのインストラクション(命令)にしたがって、指定されたWebサーバから(1)コンテンツのダウンロード、具体的にはサーバAからのコンテンツのダウンロード、(2)動画のストリーミング配信、具体的にはストリーミング配信サーバとしてのサーバBからのデータ配信、(3)Webの閲覧、具体的にはサーバCのアドレス(URL)で指定されたWebファイルのダウンロードが自動的に開始されるようになっている。
次にコンテンツデータがパーソナルコンピュータ(PC)にダウンロードされたときには、そのコンテンツデータとともに、そのコンテンツデータを起動するためのドットコード管理テーブル(インデックステーブル)の追加データ(コード番号とアドレスとが対になったデータ)もダウンロードされ、以後はパーソナルコンピュータ内のドットコード管理テーブル(インデックステーブル)で管理されるようになっている。
したがって、その後は前記と同一のコード番号が読み取られた場合、再度インターネット上のサーバA,BまたはCにアクセスすることはなく、新たに追加されたデータを含むドットコード管理テーブル(インデックステーブル)に基づいて、パーソナルコンピュータのハードディスク装置(HD)内にダウンロードされたコンテンツデータが再生されることになる。
なお、本出願におけるダウンロードとは、動画のストリーミング配信のような一時的なダウンロードは含まない。一時的ではない保存のみを意味している。
図76および図77は、ペーパーコントローラをレストラン等の飲食店のオーダーシステムに利用した例を説明したものである。
同図に示すように、レストランの各テーブルには、メニュー項目毎に異なるコード番号のドットパターンが印刷されたメニューが置かれており、テーブルの一端にはディスプレイ装置(DISP)を備えたコンピュータ端末が設置されている。
スキャナには、ブルートゥース等の近距離無線通信システムが組み込まれており、コンピュータ端末との間で、メニューから読み取ったコード番号と個数情報とが送信が可能となっている。
スキャナから読み取られたメニュー項目に対応するコード番号と個数情報とは、前記コンピュータ端末に送信される。コンピュータ端末内の中央処理装置(CPU)は、このメニュー項目のコード番号と個数情報とにテーブル番号を付加したオーダー信号を生成し、オーダーサーバに送信する。
オーダーサーバでは、当該オーダー信号からテーブル番号とメニュー項目のコード番号と個数情報とを抽出して、厨房に対してオーダーを設定する。具体的には厨房に表示されるディスプレイ装置に対して、テーブル番号とコード番号に対応したメニュー項目とその個数を表示し、厨房担当者が調理の準備にとりかかれるようになっている。
なお、オーダー信号生成の際に、テーブル番号はコンピュータ端末内で付加する場合で説明したが、あらかじめコンピュータ端末のスタンドの表面またはテーブルの表面にテーブル番号を意味するドットパターンが印刷されたシール等が貼付されており、テーブル上にスキャナを配布する際に、スキャナで前記シールの表面を読み取ることによって、テーブル番号とコンピュータ端末との関係付けが行われる。
したがって、テーブル上に複数本のスキャナを配布して複数人からのオーダーを同時に受け付けられるようにしてもよい。
図84は、XY座標値をマウスパッドとして使用したペーパーキーボードの一例である。
図84(a)は、ペーパーキーボードの一部にマウスパッド領域を設けたものである。
本実施例では、キートップ画像に印刷されたドットパターンにはコード値のみが登録されており、マウスパッド領域に印刷されたドットパターンにはコード値とXY座標値が登録されている。ユーザがマウスパッド領域でスキャナを上方向にスライドさせると、画面が上方向にスクロールされる。同様に、スキャナを下方向にスライドさせると、画面が下方向にスクロールされる。右方向、左方向についても同様である。
図84(b)は、ペーパーキーボード全体をマウスパッド領域として使用するものである。
本実施例では、すべてのキートップ画像に、キートップの内容に対応したコード値と、座標値の両方が登録されている。ユーザがペーパーキーボード上の任意の位置でスキャナを2回以上タッピングし、それからスキャナを上方向にスライドさせると、画面が上方向にスクロールされる。同様に、スキャナを2回以上タッピングした後にスキャナを下方向にスライドさせると、画面が下方向にスクロールされる。右方向、左方向についても同様である。
図85では、投影ボード上に形成されたドットパターンは、座標値とコード値とが一つのドットパターンのフォーマット中に定義されており、ボード上は所定のマトリクス区画が形成されており、同一のマトリクス区画内では、座標値の変化にかかわらず同一のコード値が付与されている。
本実施例は、アイコン画像は、1つまたは複数のマトリクス区画にわたって配置されており、当該アイコン画像のドットパターンが読取手段で読み取られることにより、当該アイコン画像に対応した映像の制御またはプログラムの起動が指示されることを特徴とする。
図86は、ホワイトボードの各マトリクスにおけるドットパターンのコード値とXY座標値との関係を示している。
図86(a)は、本ドットパターンのC0〜C31までの32ビットに定義される値を表で示したものである。同図に示すようにC0〜C7がY座標、C8〜C15がX座標、C16〜C29がコード値、C30〜C31がパリティをそれぞれ意味している。
これらの数値は、(b)に示す格子領域に配置され、具体的なドットパターンを示したのが(c)である。
図87は、パーソナルコンピュータのハードディスク装置(HD)内に設けられたコード値・コマンド対応テーブルについて示したものである。たとえば、スキャナで読み取られたドットパターンに対応したドットコードが11または12である場合には、映像の再生を停止させる。また、ドットコードが13である場合には、再生を一時停止させる。
図88〜図90は、デスクトップ画面をキャプチャーして印刷を行うことにより、デスクトップ画面のアイコンが印刷されたペーパーキーボードを作成する技術について説明する図である。
本実施例においては、キーボード(KBD)の「プリントスクリーン」ボタン(prt sc)が押されること等によりデスクトップ画面がキャプチャーされると、紙面にドットパターンとともにアイコンが印刷された、ペーパーキーボードが印刷媒体として出力されるプログラムが用意されている。
図88(a)は、ディスプレイ(表示手段)のデスクトップ画面を示したものである。たとえばデスクトップ画面には、ワードプロセッサ、インターネットおよび表計算のアイコン画像およびスタートボタンが表示されている。
デスクトップ画面がキャプチャーされると、パーソナルコンピュータのハードディスク装置(HD)は、デスクトップ画面上のどの位置にアイコンが表示されているかを認識し、アイコンが表示されている位置の座標値を算出する。そして、デスクトップのXY座標と印刷用紙のXY座標とを対応させ、アイコンに対応したドットパターンを生成する。このドットパターンには、画面上の座標値を意味するドットパターンおよびアイコンの機能を意味するコード値が、1つのフォーマットに含まれている。そして、デスクトップ画面のイメージと、生成したドットパターンとの重畳印刷処理を行う。図88(b)は、デスクトップ画面およびドットパターンが印刷されたペーパーキーボードを示す図である。
図89は、コード値と起動プログラムとの対応を示すテーブルについて説明した図である。上述した処理によりドットパターンが生成されると、ハードディスク装置(HD)内に、ドットパターンのコード値と、アイコンが意味する起動プログラム(アイコンの機能)とを対応させたテーブルが生成される。例えば、ワードプロセッサを示すアイコンに対応したドットパターンが生成され、コード値0001が割り当てられると、コード値0001と起動プログラムWarpro.exeとが対応したテーブルが生成される。インターネット、表計算を示すアイコンに関しても同様である。このようなテーブルが作成されることにより、ユーザが、例えば、図88(b)に示したペーパーキーボードのグラフの絵をスキャナによりクリックすると、表計算プログラムが起動する。
図90は、上述したドットパターンのフォーマットについて示した図である。ドットパターンのフォーマットについては、前述したものと同様であるので説明は省略する。
このように、あらかじめデスクトップ画面上のアイコンを印刷しておくことにより、アイコンの指定が容易となる。例えば、すでに複数のプログラムを起動した等により、デスクトップ上のアイコンが画面から隠れてしまった場合であっても、印刷されたペーパーキーボード上でスキャナによりアイコン画像をクリックすれば、容易にプログラムを立ち上げることが可能となる。