本発明の一実施形態に係る入力装置100は、近傍の像を検知することができるセンサ内蔵液晶パネル(面状部材)301を備えており、これにより対象物64の像の読み取りを行ない、読み取った対象物64の像に基づいて入力信号を生成する装置である。
なお、本明細書において、対象物とは、ユーザが入力を行なうために用いる物体を指している。具体的には、手を想定している。また、入力信号とは、上記物体を用いてユーザが入力する情報を示す信号である。また、対象物の像の読み取りを、以下では、スキャンとも称する。
一実施形態において入力装置100は、タブレットモードとマウスモードとの複数の入力モードを備えており、それらを切り替えて使用することができる。
図15はタブレットモードの概要を示す模式図である。図15に示すように、本モードにおいてユーザは手(対象物64)をペンを持つような形に結んで操作を行う。このとき、入力装置100は、ユーザの手の形状をセンサ内蔵液晶パネル301を用いて読み取り、その手に仮想的に握られているペン先の位置を検出して入力信号とする。なお、入力装置100は、図15に示すように、検出した位置にペン画像171を表示することが好ましい。また、タブレットモードでは、ユーザによる入力を助けるグリッド画像172を表示することが好ましい。
図17は、マウスモードの概要を示す模式図である。図17に示すように、本モードにおいてユーザは手(対象物64)をマウスを持つような形にして操作を行う。このとき、入力装置100は、ユーザの手の形状をセンサ内蔵液晶パネル301を用いて読み取り、その手に仮想的に握られているマウスの移動等を検出して入力信号とする。なお、入力装置100は、図17に示すように、検出したマウスの位置にマウス画像174を表示することが好ましい。
そして、ユーザは、入力装置100における上記タブレットモードと上記マウスモードとの切換を自然に行うことができる。すなわち、ユーザは、手(対象物64)の形を、ペンを持つような形にするか、マウスを持つような形にするかによって、上記入力モードを直感的に切り替えることができる。
以下、上述した機能を実現する各部材の構成について詳細に説明する。まず、上記入力装置100が備えるセンサ内蔵液晶パネル301の概要について説明する。
(センサ内蔵液晶パネルの概要)
上記入力装置100が備えるセンサ内蔵液晶パネル301は、データの表示に加え、対象物の画像検出が可能な液晶パネルである。ここで、対象物の画像検出とは、例えば、ユーザが指やペンなどでポインティング(タッチ)した位置の検出や、印刷物等の画像の読み取り(スキャン)である。なお、表示に用いるデバイスは、液晶パネルに限定されるものではなく、有機EL(Electro Luminescence)パネルなどであってもよい。
図2を参照しながら、センサ内蔵液晶パネル301の構造について説明する。図2は、センサ内蔵液晶パネル301の断面を模式的に示す図である。なお、ここで説明するセンサ内蔵液晶パネル301は一例であり、表示面と読取面とが共用されているものであれば、任意の構造のものが利用できる。
図示のとおり、センサ内蔵液晶パネル301は、背面側に配置されるアクティブマトリクス基板51Aと、表面側に配置される対向基板51Bとを備え、これら基板の間に液晶層52を挟持した構造を有している。アクティブマトリクス基板51Aには、画素電極56、データ信号線57、光センサ回路32(図示せず)、配向膜58、偏光板59などが設けられる。対向基板51Bには、カラーフィルタ53r(赤)、53g(緑)、53b(青)、遮光膜54、対向電極55、配向膜58、偏光板59などが設けられる。また、センサ内蔵液晶パネル301の背面には、バックライト307が設けられている。
なお、光センサ回路32に含まれるフォトダイオード6は、青のカラーフィルタ53bを設けた画素電極56の近傍に設けられているが、この構成に限定されるものではない。赤のカラーフィルタ53rを設けた画素電極56の近傍に設けてもよいし、緑のカラーフィルタ53gを設けた画素電極56の近傍に設けてもよい。
次に、図3(a)および図3(b)を参照しながら、ユーザが、指やペンで、センサ内蔵液晶パネル301上をタッチした位置を検出する2種類の方法について説明する。
図3(a)は、反射像を検知することにより、ユーザがタッチした位置を検出する様子を示す模式図である。バックライト307から光63が出射されると、フォトダイオード6を含む光センサ回路32は、対象物64により反射された光63を検知する。これにより、対象物64の反射像を検知することができる。このように、センサ内蔵液晶パネル301は、反射像を検知することにより、タッチした位置を検出することができる。
また、図3(b)は、影像を検知することにより、ユーザがタッチした位置を検出する様子を示す模式図である。図3(b)に示すように、フォトダイオード6を含む光センサ回路32は、対向基板51Bなどを透過した外光61を検知する。しかしながら、対象物64がある場合は、外光61の入射が妨げられるので、光センサ回路32が検知する光量が減る。これにより、対象物64の影像を検知することができる。このように、センサ内蔵液晶パネル301は、影像を検知することにより、タッチした位置を検出することもできる。
上述のように、フォトダイオード6は、バックライト307より出射された光の反射光(影像)を検知してもよいし、外光による影像を検知してもよい。また、上記2種類の検知方法を併用して、影像と反射像とを両方を同時に検知するようにしてもよい。
(入力装置の要部構成)
次に、図4を参照しながら、上記入力装置100の要部構成について説明する。図4は、入力装置100の要部構成を示すブロック図である。図示のように、入力装置100は、1または複数の表示/光センサ部300、回路制御部600、データ処理部700、主制御部800、記憶部901、一次記憶部902、操作部903、外部通信部907、音声出力部908、および音声入力部909を備えている。
表示/光センサ部300は、いわゆる光センサ内蔵液晶表示装置である。表示/光センサ部300は、センサ内蔵液晶パネル301、バックライト307、それらを駆動するための周辺回路309を含んで構成される。
センサ内蔵液晶パネル301は、マトリクス状に配置された複数の画素回路31および光センサ回路32を含んで構成される。センサ内蔵液晶パネル301の詳細な構成については後述する。
周辺回路309は、液晶パネル駆動回路304、光センサ駆動回路305、信号変換回路306、バックライト駆動回路308を含む。
液晶パネル駆動回路304は、回路制御部600の表示制御部601からのタイミング制御信号(TC1)およびデータ信号(D)に従って、制御信号(G)およびデータ信号(S)を出力し、画素回路31を駆動する回路である。画素回路31の駆動方法の詳細については後述する。
光センサ駆動回路305は、回路制御部600のセンサ制御部602からのタイミング制御信号(TC2)に従って、信号線(R)に電圧を印加し、光センサ回路32を駆動する回路である。光センサ回路32の駆動方法の詳細については後述する。
信号変換回路306は、光センサ回路32から出力されるセンサ出力信号(SS)をデジタル信号(DS)に変換し、該変換後の信号をセンサ制御部602に送信する回路である。
バックライト307は、複数の白色LED(Light Emitting Diode)を含んでおり、センサ内蔵液晶パネル301の背面に配置される。そして、バックライト駆動回路308から電源電圧が印加されると、バックライト307は点灯し、センサ内蔵液晶パネル301に光を照射する。なお、バックライト307は、白色LEDに限らず、他の色のLEDを含んでいてもよい。また、バックライト307は、LEDに代えて、例えば、冷陰極管(CCFL:Cold Cathode Fluorescent Lamp)を含むものであってもよい。
バックライト駆動回路308は、回路制御部600のバックライト制御部603からの制御信号(BK)がハイレベルであるときは、バックライト307に電源電圧を印加し、逆に、バックライト制御部603からの制御信号がローレベルであるときは、バックライト307に電源電圧を印加しない。
次に、回路制御部600について説明する。回路制御部600は、表示/光センサ部300の周辺回路309を制御するデバイスドライバとしての機能を備えるものである。回路制御部600は、表示制御部601、センサ制御部602、バックライト制御部603、および表示データ記憶部604を備えている。
表示制御部601は、データ処理部700の表示データ処理部701から表示データを受信するとともに、表示データ処理部701からの指示に従って、表示/光センサ部300の液晶パネル駆動回路304に、タイミング制御信号(TC1)およびデータ信号(D)を送信し、上記受信した表示データをセンサ内蔵液晶パネル301に表示させる。
なお、表示制御部601は、表示データ処理部701から受信した表示データを、表示データ記憶部604に一次記憶させる。そして、当該一次記憶させた表示データに基づいて、データ信号(D)を生成する。表示データ記憶部604は、例えば、VRAM(video random access memory)などである。
センサ制御部602は、データ処理部700のセンサデータ処理部703からの指示に従って、表示/光センサ部300の光センサ駆動回路305に、タイミング制御信号(TC2)を送信し、センサ内蔵液晶パネル301にてスキャンを実行させる。
また、センサ制御部602は、信号変換回路306からデジタル信号(DS)を受信する。そして、センサ内蔵液晶パネル301に含まれる全ての光センサ回路32から出力されたセンサ出力信号(SS)に対応するデジタル信号(DS)に基づいて、画像データを生成する。つまり、センサ内蔵液晶パネル301の読み取り領域全体で読み取った画像データを生成する。そして、該生成した画像データをセンサデータ処理部703に送信する。
バックライト制御部603は、表示データ処理部701およびセンサデータ処理部703からの指示に従って、表示/光センサ部300のバックライト駆動回路308に制御信号(BK)を送信し、バックライト307を駆動させる。
なお、入力装置100が、複数の表示/光センサ部300を備える場合、表示制御部601は、データ処理部700から、どの表示/光センサ部300にて表示データを表示するかの指示を受けたとき、当該指示に応じた表示/光センサ部300の液晶パネル駆動回路304を制御する。また、センサ制御部602は、データ処理部700から、どの表示/光センサ部300にて対象物のスキャンを行なうかの指示を受けたとき、当該指示に応じた表示/光センサ部300の光センサ駆動回路305を制御するとともに、当該指示に応じた表示/光センサ部300の信号変換回路306からデジタル信号(DS)を受信する。
次に、データ処理部700について説明する。データ処理部700は、主制御部800から受信する「コマンド」に基づいて、回路制御部600に指示を与えるミドルウェアとしての機能を備えるものである。なお、コマンドの詳細については後述する。
データ処理部700は、表示データ処理部701およびセンサデータ処理部703を備えている。そして、データ処理部700が、主制御部800からコマンドを受信すると、該受信したコマンドに含まれる各フィールド(後述する)の値に応じて、表示データ処理部701およびセンサデータ処理部703の少なくとも一方が動作する。
表示データ処理部701は、主制御部800から表示データを受信するとともに、データ処理部700が受信したコマンドに従って、表示制御部601およびバックライト制御部603に指示を与え、上記受信した表示データをセンサ内蔵液晶パネル301に表示させる。なお、コマンドに応じた、表示データ処理部701の動作については、後述する。
センサデータ処理部703は、データ処理部700が受信したコマンドに従って、センサ制御部602およびバックライト制御部603に指示を与える。
また、センサデータ処理部703は、センサ制御部602から画像データを受信し、当該画像データをそのまま画像データバッファ704に格納する。そして、センサデータ処理部703は、データ処理部700が受信したコマンドに従って、画像データバッファ704に記憶されている画像データに基づいて、「全体画像データ」、「部分画像データ(部分画像の座標データを含む)」、および「座標データ」の少なくともいずれか1つを、主制御部800に送信する。なお、全体画像データ、部分画像データ、および座標データについては、後述する。また、コマンドに応じた、センサデータ処理部703の動作については、後述する。
次に、主制御部800は、アプリケーションプログラムを実行するものである。主制御部800は、記憶部901に格納されているプログラムを、例えばRAM(Random Access Memory)等で構成される一次記憶部902に読み出して実行する。
主制御部800で実行されるアプリケーションプログラムは、センサ内蔵液晶パネル301に表示データを表示させたり、センサ内蔵液晶パネル301にて対象物のスキャンを行なわせるために、データ処理部700に対して、コマンドおよび表示データを送信する。また、コマンドに「データ種別」を指定した場合は、当該コマンドの応答として、全体画像データ、部分画像データ、および座標データの少なくともいずれか1つを、データ処理部700から受信する。
なお、回路制御部600、データ処理部700、および主制御部800は、それぞれ、CPU(Central Processing Unit)およびメモリ等で構成することができる。また、データ処理部700は、ASIC(application specific integrate circuit)などの回路で構成されていてもよい。
次に、記憶部901は、図示のように、主制御部800が実行するプログラムおよびデータを格納するものである。なお、主制御部800が実行するプログラムは、アプリケーション固有のプログラムと、各アプリケーションが共用可能な汎用プログラムとに分離されていてもよい。
次に、操作部903は、入力装置100のユーザの入力操作を受けつけるものである。操作部903は、例えば、スイッチ、リモコン、マウス、キーボードなどの入力デバイスで構成される。そして、操作部903は、入力装置100のユーザの入力操作に応じた制御信号を生成し、該生成した制御信号を主制御部800へ送信する。
なお、上記スイッチの例としては、電源のオンとオフとを切り替える電源スイッチ905、予め所定の機能が割り当てられているユーザスイッチ906などのハードウェアスイッチを想定している。
その他、入力装置100は、無線/有線通信によって外部装置と通信を行なうための外部通信部907、音声を出力するためのスピーカ等の音声出力部908、音声信号を入力するためのマイク等の音声入力部909などを適宜備えていてもよい。
(コマンドの詳細)
次に、図5および図6を参照しながら、主制御部800からデータ処理部700に送信されるコマンドの詳細について説明する。図5は、コマンドのフレーム構造の一例を模式的に示す図である。また、図6は、コマンドに含まれる各フィールドに指定可能な値の一例、および、その概要を説明する図である。
図5に示すように、コマンドは、「ヘッダ」、「データ取得タイミング」、「データ種別」、「スキャン方式」、「スキャン画像階調」、「スキャン解像度」、「スキャンパネル」、「表示パネル」、および「予備」の各フィールドを含んでいる。そして、各フィールドには、例えば、図6に示す値が指定可能である。
「ヘッダ」フィールドは、フレームの開始を示すフィールドである。「ヘッダ」フィールドであることが識別可能であれば、「ヘッダ」フィールドの値は、どのような値であってもよい。
次に、「データ取得タイミング」フィールドは、データを主制御部800へ送信すべきタイミングを指定するフィールドである。「データ取得タイミング」フィールドには、例えば、“00”(センス)、“01”(イベント)、および“10”(オール)という値が指定可能である。
ここで、“センス”は、最新のデータを直ちに送信することを指定するものである。よって、センサデータ処理部703は、「データ取得タイミング」フィールドの値が“センス”であるコマンドを受信すると、「データ種別」フィールドにて指定されている最新のデータを、直ちに、主制御部800に送信する。
また、“イベント”は、センサ制御部602から受信する画像データに変化が生じたタイミングで送信することを指定するものである。よって、センサデータ処理部703は、「データ取得タイミング」フィールドの値が“イベント”であるコマンドを受信すると、「データ種別」フィールドにて指定されているデータを、センサ制御部602から受信する画像データに、所定の閾値より大きい変化が生じたタイミングで、主制御部800に送信する。
また、“オール”は、所定周期でデータを送信することを指定するものである。よって、センサデータ処理部703は、「データ取得タイミング」フィールドの値が“オール”であるコマンドを受信すると、「データ種別」フィールドにて指定されているデータを、所定周期で、主制御部800に送信する。なお、上記所定周期は、光センサ回路32にてスキャンを行なう周期と一致する。
次に、「データ種別」フィールドは、センサデータ処理部703から取得するデータの種別を指定するフィールドである。なお、「データ種別」フィールドには、例えば、“001”(座標)、“010”(部分画像)、および“100”(全体画像)という値が指定可能である。さらに、これらの値を加算することによって、“座標”と、“部分画像”/“全体画像”とを、同時に指定可能である。例えば、“座標”と“部分画像”とを同時に指定する場合、“011”と指定することができる。
センサデータ処理部703は、「データ種別」フィールドの値が“全体画像”であるコマンドを受信すると、画像データバッファ704に記憶している画像データそのものを主制御部800に送信する。画像データバッファ704に記憶している画像データそのものを、「全体画像データ」と称する。
また、センサデータ処理部703は、「データ種別」フィールドの値が“部分画像”であるコマンドを受信すると、センサ制御部602から受信する画像データから、所定の閾値より大きい変化が生じた部分を含む領域を抽出し、該抽出した領域の画像データを主制御部800に送信する。ここで、当該画像データを、「部分画像データ」と称する。なお、上記部分画像データが複数抽出された場合、センサデータ処理部703は、該抽出されたそれぞれの部分画像データを主制御部800に送信する。
さらに、センサデータ処理部703は、「データ種別」フィールドの値が“部分画像”であるコマンドを受信したとき、部分画像データにおける代表座標を検出し、当該代表座標の部分画像データにおける位置を示す座標データを主制御部800に送信する。なお、上記代表座標とは、例えば、上記部分画像データの中心の座標、上記部分画像データの重心の座標などが挙げられる。
次に、センサデータ処理部703は、「データ種別」フィールドの値が“座標”であるコマンドを受信すると、上記代表座標の全体画像データにおける位置を示す座標データを主制御部800に送信する。なお、上記部分画像データが複数抽出された場合、センサデータ処理部703は、該抽出された、それぞれの部分画像データの、全体画像データにおける代表座標を検出し、当該代表座標を示す座標データのそれぞれを主制御部800に送信する(多点検出)。
なお、全体画像データ、部分画像データ、および座標データの具体例については、模式図を参照しながら後述する。
次に、「スキャン方式」フィールドは、スキャン実行時に、バックライト307を点灯するか否かを指定するフィールドである。「スキャン方式」フィールドには、例えば、“00”(反射)、“01”(透過)、および“10”(反射/透過)という値が指定可能である。
“反射”は、バックライト307を点灯した状態でスキャンを行なうことを指定するものである。よって、センサデータ処理部703は、「スキャン方式」フィールドの値が“反射”であるコマンドを受信すると、光センサ駆動回路305とバックライト駆動回路308とが同期して動作するように、センサ制御部602とバックライト制御部603とに指示を与える。
また、“透過”は、バックライト307を消灯した状態でスキャンを行なうことを指定するものである。よって、センサデータ処理部703は、「スキャン方式」フィールドの値が“透過”であるコマンドを受信すると、光センサ駆動回路305を動作させ、バックライト駆動回路308と動作させないようにセンサ制御部602とバックライト制御部603とに指示を与える。なお、“反射/透過”は、“反射”と“透過”とを併用してスキャンを行なうことを指定するものである。
次に、「スキャン画像階調」フィールドは、部分画像データおよび全体画像データの階調を指定するフィールドである。「スキャン画像階調」フィールドには、例えば、“00”(2値)、および“01”(多値)という値が指定可能である。
ここで、センサデータ処理部703は、「スキャン画像階調」フィールドの値が“2値”であるコマンドを受信すると、部分画像データおよび全体画像データをモノクロデータとして、主制御部800に送信する。
また、センサデータ処理部703は、「スキャン画像階調」フィールドの値が“多値”であるコマンドを受信すると、部分画像データおよび全体画像データを多階調データとして、主制御部800に送信する。
次に、「スキャン解像度」フィールドは、部分画像データおよび全体画像データの解像度を指定するフィールドである。「解像度」フィールドには、例えば、“0”(高)および“1”(低)という値が指定可能である。
ここで、“高”は、高解像度を指定するものである。よって、センサデータ処理部703は、「スキャン解像度」フィールドの値が“高”であるコマンドを受信すると、部分画像データおよび全体画像データを高解像度で主制御部800に送信する。例えば、画像認識などの画像処理を行なう対象の画像データ(指紋などの画像データ)には、“高”を指定することが望ましい。
また、“低”は、低解像度を指定するものである。よって、センサデータ処理部703は、「スキャン解像度」フィールドの値が“低”であるコマンドを受信すると、部分画像データおよび全体画像データを低解像度で主制御部800に送信する。例えば、タッチした位置等が分かる程度でよい画像データ(タッチした指や手の画像データなど)には、“低”を指定することが望ましい。
次に、「スキャンパネル」フィールドは、どの表示/光センサ部300にて対象物のスキャンを行なうかを指定するフィールドである。「スキャンパネル」フィールドには、例えば、“001”(第1の表示/光センサ部300)、“010”(第2の表示/光センサ部300)という値が指定可能である。なお、これらの値を加算することによって、複数の表示/光センサ部300を同時に指定可能である。例えば、第1および第2の表示/光センサ部300を同時に指定する場合、“011”と指定することができる。
ここで、センサデータ処理部703は、受信したコマンドの「スキャンパネル」フィールドに指定された表示/光センサ部300の光センサ駆動回路305およびバックライト駆動回路308を制御するように、センサ制御部602およびバックライト制御部603に指示を与える。
次に、「表示パネル」フィールドは、どの表示/光センサ部300にて表示データを表示させるかを指定するフィールドである。「表示パネル」フィールドには、例えば、“001”(第1の表示/光センサ部300)、“010” (第2の表示/光センサ部300)という値が指定可能である。なお、これらの値を加算することによって、複数の表示/光センサ部300を同時に指定可能である。例えば、第1および第2の表示/光センサ部300を同時に指定する場合、“011”と指定することができる。
ここで、表示データ処理部701は、例えば、「表示パネル」フィールドの値が第1の表示/光センサ部300であるコマンドを受信すると、第1の表示/光センサ部300に表示データを表示させるために、表示/光センサ部300の液晶パネル駆動回路304およびバックライト駆動回路308を制御するように、表示制御部601およびバックライト制御部603に指示を与える。
次に、「予備」フィールドは、上述したフィールドにて指定可能な情報以外の情報をさらに指定する必要がある場合に、適宜指定されるフィールドである。
なお、主制御部800にて実行されるアプリケーションは、コマンドを送信するにあたり、上述したフィールドを全て使用する必要はなく、使用しないフィールドには無効値(NULL値など)を設定しておけばよい。
また、ユーザが指やペンなどでタッチした位置の座標データを取得したいときは、「データ種別」フィールドに“座標”を指定したコマンドをデータ処理部700に送信することとなるが、指やペンなどは動きがあるため、さらに、当該コマンドの「データ取得タイミング」フィールドに“オール”を指定し、座標データを取得するようにすることが望ましい。また、タッチした位置の座標データが取得できればよいため、スキャンの精度は高くなくてもよい。したがって、上記コマンドの「解像度」フィールドの値は“低”を指定しておけばよい。
また、コマンドの「データ種別」フィールドに“座標”を指定した場合において、例えば、ユーザが、複数の指やペンなどでセンサ内蔵液晶パネル301を同時にタッチした場合は、該タッチした位置の座標データのそれぞれを取得することができる(多点検出)。
また、原稿などの対象物の画像データを取得する場合、「データ種別」フィールドに“全体画像”を指定したコマンドをデータ処理部700に送信することとなるが、原稿などの対象物は、通常、静止させた状態でスキャンを実行することが一般的であるため、周期的にスキャンを実行する必要はない。従って、この場合は、「データ取得タイミング」フィールドに“センス”または“イベント”を指定することが望ましい。なお、原稿などの対象物をスキャンするときは、ユーザが文字を読みやすいように、スキャン精度は高い方が望ましい。したがって、「解像度」フィールドには“高”を指定することが望ましい。
(全体画像データ/部分画像データ/座標データ)
次に、図7を参照しながら、全体画像データ、部分画像データ、および座標データについて、例を挙げて説明する。図7(a)に示す画像データは、対象物がセンサ内蔵液晶パネル301上に置かれていないときに、センサ内蔵液晶パネル301全体をスキャンした結果として得られる画像データである。また、図7(b)に示す画像データは、ユーザが指でセンサ内蔵液晶パネル301をタッチしているときに、センサ内蔵液晶パネル301全体をスキャンした結果として得られる画像データである。
ユーザが指でセンサ内蔵液晶パネル301をタッチしたとき、当該タッチした近傍の光センサ回路32が受光する光量が変化するため、当該光センサ回路32が出力する電圧に変化が生じ、その結果として、センサ制御部602が生成する画像データのうち、ユーザがタッチした部分の画素値の明度に変化が生じることとなる。
図7(b)に示す画像データでは、図7(a)に示す画像データと比べると、ユーザの指に該当する部分の画素値の明度が高くなっている。そして、図7(b)に示す画像データにおいて、明度が所定の閾値より大きく変化している画素値を全て含む最小の矩形領域(領域PP)が、“部分画像データ”である。
なお、領域APで示される画像データが、“全体画像データ”である。
また、部分画像データ(領域PP)の代表座標Zの、全体画像データ(領域AP)における座標データは(Xa,Ya)であり、部分画像データ(領域PP)における座標データは(Xp,Yp)である。
(センサ内蔵液晶パネルの構成)
次に、図8を参照しながら、センサ内蔵液晶パネル301の構成、および、センサ内蔵液晶パネル301の周辺回路309の構成について説明する。図8は、表示/光センサ部300の要部、特に、センサ内蔵液晶パネル301の構成および周辺回路309の構成を示すブロック図である。
センサ内蔵液晶パネル301は、光透過率(輝度)を設定するための画素回路31、および、自身が受光した光の強度に応じた電圧を出力する光センサ回路32を備えている。なお、画素回路31は、赤色、緑色、青色のカラーフィルタのそれぞれに対応するR画素回路31r、G画素回路31g、B画素回路31bの総称として用いる。
画素回路31は、センサ内蔵液晶パネル301上の列方向(縦方向)にm個、行方向(横方向)に3n個配置される。そして、R画素回路31r、G画素回路31g、およびB画素回路31bの組が、行方向(横方向)に連続して配置される。この組が1つの画素を形成する。
画素回路31の光透過率を設定するには、まず、画素回路31に含まれるTFT(Thin Film Transistor)33のゲート端子に接続される走査信号線Giにハイレベル電圧(TFT33をオン状態にする電圧)を印加する。その後、R画素回路31rのTFT33のソース端子に接続されているデータ信号線SRjに、所定の電圧を印加する。同様に、G画素回路31gおよびB画素回路31bについても、光透過率を設定する。そして、これらの光透過率を設定することにより、センサ内蔵液晶パネル301上に画像が表示される。
次に、光センサ回路32は、一画素毎に配置される。なお、R画素回路31r、G画素回路31g、およびB画素回路31bのそれぞれの近傍に1つずつ配置されてもよい。
光センサ回路32にて光の強度に応じた電圧を出力させるためには、まず、コンデンサ35の一方の電極に接続されているセンサ読み出し線RWiと、フォトダイオード6のアノード端子に接続されているセンサリセット線RSiとに所定の電圧を印加する。この状態において、フォトダイオード6に光が入射されると、入射した光量に応じた電流がフォトダイオード6に流れる。そして、当該電流に応じて、コンデンサ35の他方の電極とフォトダイオード6のカソード端子との接続点(以下、接続ノードV)の電圧が低下する。そして、センサプリアンプ37のドレイン端子に接続される電圧印加線SDjに電源電圧VDDを印加すると、接続ノードVの電圧は増幅され、センサプリアンプ37のソース端子からセンシングデータ出力線SPjに出力される。そして、当該出力された電圧に基づいて、光センサ回路32が受光した光量を算出することができる。
次に、センサ内蔵液晶パネル301の周辺回路である、液晶パネル駆動回路304、光センサ駆動回路305、およびセンサ出力アンプ44について説明する。
液晶パネル駆動回路304は、画素回路31を駆動するための回路であり、走査信号線駆動回路3041およびデータ信号線駆動回路3042を含んでいる。
走査信号線駆動回路3041は、表示制御部601から受信したタイミング制御信号TC1に基づいて、1ライン時間毎に、走査信号線G1〜Gmの中から1本の走査信号線を順次選択し、該選択した走査信号線にハイレベル電圧を印加するとともに、その他の走査信号線にローレベル電圧を印加する。
データ信号線駆動回路3042は、表示制御部601から受信した表示データD(DR、DG、およびDB)に基づいて、1ライン時間毎に、1行分の表示データに対応する所定の電圧を、データ信号線SR1〜SRn、SG1〜SGn、SB1〜SBnに印加する(線順次方式)。なお、データ信号線駆動回路3042は、点順次方式で駆動するものであってもよい。
光センサ駆動回路305は、光センサ回路32を駆動するための回路である。光センサ駆動回路305は、センサ制御部602から受信したタイミング制御信号TC2に基づいて、センサ読み出し信号線RW1〜RWmの中から、1ライン時間毎に1本ずつ選択したセンサ読み出し信号線に所定の読み出し用電圧を印加するとともに、その他のセンサ読み出し信号線には、所定の読み出し用電圧以外の電圧を印加する。また、同様に、タイミング制御信号TC2に基づいて、センサリセット信号線RS1〜RSmの中から、1ライン時間毎に1本ずつ選択したセンサリセット信号線に所定のリセット用電圧を印加するとともに、その他のセンサリセット信号線には、所定のリセット用電圧以外の電圧を印加する。
センシングデータ出力信号線SP1〜SPnはp個(pは1以上n以下の整数)のグループにまとめられ、各グループに属するセンシングデータ出力信号線は、時分割で順次オン状態になるスイッチ47を介して、センサ出力アンプ44に接続される。センサ出力アンプ44は、スイッチ47により接続されたセンシングデータ出力信号線のグループからの電圧を増幅し、センサ出力信号SS(SS1〜SSp)として、信号変換回路306へ出力する。
(入力装置のより詳細な構成)
次に、図1を参照しながら、入力装置100のより詳細な構成について説明する。なお、ここでは、説明を分かりやすくするために、主制御部800と表示/光センサ部300との間に位置するデータ処理部700および回路制御部600の動作については説明を省略する。ただし、正確には、データの表示および対象物のスキャンを行なうにあたり、主制御部800の各部が、データ処理部700にコマンドを送信し、データ処理部700がコマンドに基づいて回路制御部600を制御し、回路制御部600が表示/光センサ部300に対して信号を送信する。また、主制御部800は、データ処理部700に対して送信したコマンドに対する応答として、データ処理部700から、全体画像データ、部分画像データ、および座標データを取得する。
図1は、入力装置100のより詳細な構成を示すブロック図である。図1に示すように、主制御部800は、入力信号生成制御部(入力信号生成制御手段)11、タブレット信号生成部(入力信号生成手段、タブレット信号生成手段)13、マウス信号生成部(入力信号生成手段、マウス信号生成手段)14、補助画像表示制御部(補助画像表示制御手段)15、スキャンデータ保持部16、基準画像処理データ保持部17、およびマウス状態保持部18を備えている。また、記憶部901は、基準画像記憶部21、および補助画像記憶部22を備えている。
タブレット信号生成部13およびマウス信号生成部14はともに、入力信号を生成する入力信号生成部(入力信号生成手段)12である。タブレット信号生成部13は、対象物64の動きをタブレットに対する操作として検出して、当該操作に関連付けられた入力信号を生成するものである。また、マウス信号生成部14は、対象物64の動きをマウスの操作として検出して、当該操作に関連付けられた入力信号を生成するものである。
入力信号生成制御部11は、入力信号生成部12のうちの何れかを選択して、選択した入力信号生成部12に入力信号を生成させるものである。上述したように、一実施形態において入力装置100は、タブレットモードと、マウスモードとの二つの入力モードを有しており、入力信号生成制御部11はそのいずれの入力モードを実行するかを決定し、タブレットモードを実行する場合には、タブレット信号生成部13に、マウスモードを実行する場合には、マウス信号生成部14に入力信号を生成させる。
補助画像表示制御部15は、上記各入力モードに対応する補助画像170をセンサ内蔵液晶パネル301上に表示させるものである。
スキャンデータ保持部16は、センサ内蔵液晶パネル301が読み取った対象物64のスキャンデータ(像)160を一時的に記憶するものである。
基準画像処理データ保持部17は、後述するステップにおいて、基準画像161に加えた画像処理の内容を示すデータを一次的に記憶するものである。
基準画像記憶部21は、入力信号生成制御部11および入力信号生成部12がスキャンデータ160を解析するために用いる基準画像161および基準画像161に関連付けられたデータを予め記憶しておくためのものである。
補助画像記憶部22は、補助画像表示制御部15がセンサ内蔵液晶パネル301上に表示させる補助画像170を予め記憶しておくためのものである。
次に、図9〜20を参照しながら、入力装置100の動作の一例について詳細に説明する。
(モード切替処理)
図9は、入力装置100のモード切替処理を説明するフローチャートである。入力装置100は、例えば、起動直後、一定時間入力が途絶えたとき、後述する局面等において、モード切替処理を行なう。以下、モード切替処理の各ステップについて図面を参照して説明する。モード切替処理は、ステップS1から開始される。
ステップS1では、入力装置100は、対象物64のスキャンを行なう。一実施形態において、入力信号生成制御部11が、センサデータ処理部703から全体画像データを取得してスキャンデータ160としてスキャンデータ保持部16に保持させる。
詳しく述べれば、まず、入力信号生成制御部11は、データ処理部700に対して、「データ種別」を”全体画像データ”、「データ取得タイミング」を、”イベント”とした上記コマンドを送る。入力信号生成制御部11は、上記コマンドの応答としてセンサデータ処理部703から得られた全体画像データを、スキャンデータ160としてスキャンデータ保持部16に記憶させる。なお、入力信号生成制御部11が、データ取得のタイミングおよび取得データの変化の判定を行なう場合には、上記コマンドの「データ取得タイミング」は、”オール”または”センス”としてもよい。
ステップS2以降では、入力装置100は、スキャンデータ160と、各入力モードに対応する基準画像161とを順次比較することにより、実行する入力モードを選択する。
一実施形態において、ステップS2では、入力信号生成制御部11が、スキャンデータ保持部16から取得したスキャンデータ160と、基準画像記憶部21から呼び出したマウスモードに対応する基準画像161とを比較する。スキャンデータ160が、マウスモードに対応する基準画像161と類似していた場合には、マウスモードを実行し、類似していなかった場合にはステップS3に移行する。マウスモードの実行処理については後述する。
詳しく述べれば、まず、入力信号生成制御部11は、スキャンデータ保持部16からスキャンデータ160を取得する。このとき、図10(a)に示すように、マウスを握った格好の手(対象物64)が、センサ内蔵液晶パネル301上に置かれているとき、スキャンデータ160は、図10(b)に示すようなものとなる。なお、図中、灰色に塗りつぶされた領域は、対象物64とセンサ内蔵液晶パネル301とが接近しているまたは接触している接近/接触領域であり、上記スキャン方式を”反射”とした場合には、所定の閾値以上の高輝度領域であり、上記スキャン方式を”透過”とした場合には、所定の閾値以下の低輝度領域である。
ここで、マウスモードに対応する(マウス信号生成部14に関連付けられた)基準画像161として、図10(b)に類似した図11(a)に示すような画像を用意して基準画像記憶部21に予め記憶させておく。なお、マウスの握り方および手の形状は人によって異なる場合があるので、それぞれに対応した基準画像を複数枚用意して、基準画像記憶部21に予め記憶させておくことが好ましい。
入力信号生成制御部11は、このようなマウスモードに対応する(マウス信号生成部14に関連付けられた)基準画像161を、基準画像記憶部21から順次呼び出して、スキャンデータ160と比較して、類似しているか否かを判定する。
一実施形態において、スキャンデータ160と基準画像161とが類似しているとは、例えば、次のような場合を指す。すなわち、まず、スキャンデータ160と基準画像161とを重ね合わせ、上記接触/接触領域の重複率を算出する。次いで、図11(b)に示すように、基準画像161を回転させ、回転させた基準画像161とスキャンデータ160とを重ね合わせて、上記接触/接触領域の重複率を算出する。なお、予め回転させた基準画像161を基準画像記憶部21に予め記憶させておいてもよい。また、基準画像161を回転だけでなく、上下左右に移動させたもの、拡大縮小させたものに対してもスキャンデータ160と重ね合わせて、上記接触/接触領域の重複率を算出してもよい。以上の処理によって得られた上記重複率が、所定の値、例えば80%を超えた場合に、スキャンデータ160と基準画像161とが類似していると判定する。なお、上記重複率は、例えば、(重なった上記接触/接触領域の面積/基準画像161中の上記接触/接触領域の面積)といった計算式によって得ることができる。また、基準画像161の回転、移動、拡大縮小等の処理は、細かく行う必要はなく、ユーザが一般にマウスを用いる際に想定され得る範囲にて適宜設定すればよい。
ここで、図10(a)に示すように対象物64が、マウスを握った格好の手であり、スキャンデータ160が、図10(b)に示すような像であった場合には、図11(a)と殆ど重複するため、入力信号生成制御部11は、スキャンデータ160と基準画像161とが類似していると判定し、マウス信号生成部14に入力信号を生成するように指令することにより、マウスモードを実行する。スキャンデータ160と基準画像161とは類似していないと判定された場合には、ステップS3に移行する。
一実施形態において、ステップS3では、入力信号生成制御部11が、スキャンデータ保持部16から取得したスキャンデータ160と、基準画像記憶部21から呼び出したタブレットモードに対応する基準画像161とを比較する。スキャンデータ160が、タブレットモードに対応する基準画像161と類似していた場合には、タブレットモードを実行し、類似していなかった場合にはいずれの入力モードも選択せず、ステップS1に戻る。
詳しく述べれば、ステップS2とほぼ同様であり、入力信号生成制御部11は、スキャンデータ保持部16からスキャンデータ160を取得する。このとき、図12(a)に示すように、ペンを握った格好の手(対象物64)が、センサ内蔵液晶パネル301上に置かれているとき、スキャンデータ160は、図12(b)に示すようなものとなる。なお、図中、灰色に塗りつぶされた領域の説明は、ステップS2に準ずる。
ここで、タブレットモードに対応する(タブレット信号生成部13に関連付けられた)基準画像161として、図12(b)に類似した図13(a)に示すような画像を用意して基準画像記憶部21に予め記憶させておく。なお、ペンの握り方および手の形状は人によって異なる場合があるので、それぞれに対応した基準画像を複数枚用意して、基準画像記憶部21に予め記憶させておくことが好ましい。
入力信号生成制御部11は、このようなタブレットモードに対応する(タブレット信号生成部13に関連付けられた)基準画像161を、基準画像記憶部21から順次呼び出して、スキャンデータ160と比較して、類似しているか否かを判定する。当該類否の判定の説明は、ステップS2に準ずる。なお、参考として、回転させた、タブレットモードに対応する基準画像161を図13(b)に示す。本ステップにおける基準画像161の回転、移動、拡大縮小等の処理も、細かく行う必要はなく、ユーザが一般にペンを用いる際に想定され得る範囲にて適宜設定すればよい。
ここで、図12(a)に示すように対象物64が、ペンを握った格好の手であり、スキャンデータ160が、図12(b)に示すような像であった場合には、図13(a)と殆ど重複するため、入力信号生成制御部11は、スキャンデータ160と基準画像161とが類似していると判定し、タブレット信号生成部13に入力信号を生成するように指令することにより、タブレットモードを実行する。スキャンデータ160と基準画像161とは類似していないと判定された場合には、ステップS1に戻る。
(タブレットモード)
図14は、入力装置100のタブレットモードの処理を説明するフローチャートである。以下、タブレットモードの処理の各ステップについて図面を参照して説明する。タブレットモードの処理は、ステップS11から開始される。
ステップS11では、入力装置100は、センサ内蔵液晶パネル301上に、図15に示すようなグリッド画像172を表示する。一実施形態において、タブレットモードが実行されると(入力信号生成制御部11からタブレット信号生成部13へ入力信号を生成するように指令がなされると)、タブレット信号生成部13は、補助画像表示制御部15にグリッド画像172をセンサ内蔵液晶パネル301上に表示するように指令する。補助画像表示制御部15は、これを受けて、グリッド画像172のデータを補助画像記憶部22から呼び出して、センサ内蔵液晶パネル301上に表示させる。
詳しく述べれば、タブレット信号生成部13は、入力信号生成制御部11から入力信号を生成するように指令を受けると、まず、補助画像表示制御部15にグリッド画像172をセンサ内蔵液晶パネル301上に表示するように指令する。指令を受けた補助画像表示制御部15は、グリッド画像172のデータを補助画像記憶部22から呼び出して、表示データ処理部701へ送るとともに、「表示パネル」を表示/光センサ部300とした上記コマンドをデータ処理部700に送ることで、センサ内蔵液晶パネル301上にグリッド画像を表示させる。その後、ステップS12に移行する。
なお、グリッド画像172としては、例えば、図15に示すようなセンサ内蔵液晶パネル301の全体を覆うような方眼(グリッド)を用いることができるが、センサ内蔵液晶パネル301部分を覆う方眼であってもよい。また、方眼の升目の大きさは、用途等によって適宜設定すればよい。補助画像表示制御部15は、また、既にセンサ内蔵液晶パネル301上に表示している画像がある場合には、当該画像とグリッド画像172とを合成した画像をデータ処理部700に送ってもよい。
ステップS12では、入力装置100は、対象物64のスキャンを行なう。一実施形態において、タブレット信号生成部13が、センサデータ処理部703から全体画像データを取得してスキャンデータ160としてスキャンデータ保持部16に保持させる。その後、ステップS13に移行する。なお、直前にモード切替処理を行っており、スキャンデータ保持部16に既に直前のスキャンデータ160が記憶されていた場合には、本ステップを省略することもできる。
詳しく述べれば、まず、タブレット信号生成部13は、データ処理部700に対して、「データ種別」を”全体画像データ”、「データ取得タイミング」を、”イベント”とした上記コマンドを送る。タブレット信号生成部13は、上記コマンドの応答としてセンサデータ処理部703から得られた全体画像データを、スキャンデータ160としてスキャンデータ保持部16に記憶させる。なお、タブレット信号生成部13が、データ取得のタイミングおよび取得データの変化の判定を行なう場合には、上記コマンドの「データ取得タイミング」は、”オール”または”センス”としてもよい。
ステップS13では、入力装置100は、スキャンデータ160と、タブレットモードに対応する基準画像161とを比較することにより、モード切替処理を実行するか否かを判断する。一実施形態において、ステップS13では、タブレット信号生成部13が、スキャンデータ保持部16から取得したスキャンデータ160と、基準画像記憶部21から呼び出したタブレットモードに対応する基準画像161とを比較する。スキャンデータ160が、タブレットモードに対応する基準画像161と類似していた場合には、ステップS14に移行し、類似していなかった場合には、タブレットモードを終了し、前述のモード切替処理を実行する。
スキャンデータ160と基準画像161との比較の説明は、ステップS3に準ずるが、加えて、スキャンデータ160と上記接触/接触領域の重複率が上記所定の値を上回った基準画像161について、当該基準画像に施した移動、回転、拡大縮小等に用いたデータ(水平方向の移動距離X、垂直方向の移動距離Y、回転角度θ、拡大率M)および当該基準画像161を示す情報Pを、基準画像処理データ保持部17に記憶させておく。
ステップS14では、入力装置100は、ユーザが対象物64を用いて指示するペン位置を検出する。一実施形態において、タブレット信号生成部13は、基準画像処理データ保持部17および基準画像記憶部21から、ステップS13においてスキャンデータ160に類似するように処理された基準画像161に関するデータを呼び出し、当該データに基づいて上記ペン位置を算出する。
詳しく述べれば、タブレット信号生成部13は、基準画像処理データ保持部17から、当該基準画像処理データ保持部17に記憶されている水平方向の移動距離X、垂直方向の移動距離Y、回転角度θ、拡大率Mおよび情報Pを取得する。タブレット信号生成部13は、次いで、基準画像記憶部21から情報Pに示される基準画像161に関連付けられた指示座標162(PX,PY)を取得する。指示座標162は、図13に示すように、対象物64(ペンを握った手)が指示する位置(上記ペンの先が指す位置)を示す。
タブレット信号生成部13は、これらのデータに基づいて、上記ペン位置を算出する。例えば、ペン位置の水平座標は、(PXcosθ−PYsinθ)×M+X、垂直座標は、(PXsinθ+PYcosθ)×M+Yとなる。その後、ステップS15に移行する。
ステップS15〜S18において、入力装置100はステップS14において上記ペン位置の検出が成功したか否かを判定し(ステップS15)、成功した場合、上記ペン位置にペン画像171を表示させ(ステップS16)、上記ペン位置を入力信号として出力する(ステップS17)、一方、上記ペン位置の検出が失敗であった場合には、ペン画像171を消す(ステップS18)。その後、ステップS12に戻る。一実施形態において、上記一連の動作は、タブレット信号生成部13によってなされる。また、上記ペン位置の検出が成功したか否かは、例えば、上記ペン位置が所定の領域内に存在しているか否かによって判定される。
詳しく述べれば、ステップS16では、タブレット信号生成部13は、補助画像表示制御部15に、ペン画像171を、上記ペン位置に表示するように指令する。補助画像表示制御部15は、ペン画像171を補助画像記憶部22から呼び出し、ペン画像171の下に表示される画面(グリッド画像172等)の上記ペン位置に合成して、表示データ処理部701へ送るとともに、「表示パネル」を表示/光センサ部300とした上記コマンドをデータ処理部700に送ることで、センサ内蔵液晶パネル301上にペン画像171を表示させる(図15参照)。
また、ステップS17では、タブレット信号生成部13は、補助画像表示制御部15に、ペン画像171を表示しないように指令する。補助画像表示制御部15は、ペン画像171の下に表示される画面(グリッド画像172等)のみを表示データ処理部701へ送るとともに、「表示パネル」を表示/光センサ部300とした上記コマンドをデータ処理部700に送ることで、センサ内蔵液晶パネル301上からペン画像171を消去する。
このように、入力装置100は、ユーザが手(対象物64)をペンを握る形にしたとき、タブレットモードに移行し、タブレットモードでは、実際には握られてはいないものの、タブレットペンを握っているのと同様の操作感で入力を行うことができる。入力されるペン位置は、ユーザの手によって実際に握られていた場合のペンの先が指す位置となる。このように、本発明によれば、ユーザはペンを持つことなく、快適にペンタブレットと同じ操作感を得ることができる。
(マウスモード)
図16は、入力装置100のマウスモードの処理を説明するフローチャートである。以下、マウスモードの処理の各ステップについて図面を参照して説明する。マウスモードの処理は、ステップS21から開始される。
ステップS21では、入力装置100は、センサ内蔵液晶パネル301上に、図17に示すようなマウス画像174を表示する。一実施形態において、マウスモードが実行されると(入力信号生成制御部11からマウス信号生成部14へ入力信号を生成するように指令がなされると)、マウス信号生成部14は、補助画像表示制御部15にマウス画像174をセンサ内蔵液晶パネル301上のマウス位置に表示するように指令する。補助画像表示制御部15は、これを受けて、マウス画像174のデータを補助画像記憶部22から呼び出して、センサ内蔵液晶パネル301上のマウス位置に表示させる。なお、マウス位置が未定の場合には、このステップは実行されない。
詳しく述べれば、マウス信号生成部14は、入力信号生成制御部11から入力信号を生成するように指令を受けると、まず、補助画像表示制御部15にマウス画像174をセンサ内蔵液晶パネル301上のマウス位置に表示するように指令する。指令を受けた補助画像表示制御部15は、マウス画像174のデータを補助画像記憶部22から呼び出して、マウス画像174の下に表示されるべき画面に、マウス画像174をマウス位置に合成した画像を表示データ処理部701へ送るとともに、「表示パネル」を表示/光センサ部300とした上記コマンドをデータ処理部700に送ることで、センサ内蔵液晶パネル301上にグリッド画像を表示させる。その後、ステップS22に移行する。
ステップS22では、入力装置100は、対象物64のスキャンを行なう。一実施形態において、マウス信号生成部14が、センサデータ処理部703から全体画像データを取得してスキャンデータ160としてスキャンデータ保持部16に保持させる。その後、ステップS23に移行する。なお、直前にモード切替処理を行っており、スキャンデータ保持部16に既に直前のスキャンデータ160が記憶されていた場合には、本ステップを省略することもできる。
詳しく述べれば、まず、マウス信号生成部14は、データ処理部700に対して、「データ種別」を”全体画像データ”、「データ取得タイミング」を、”イベント”とした上記コマンドを送る。マウス信号生成部14は、上記コマンドの応答としてセンサデータ処理部703から得られた全体画像データを、スキャンデータ160としてスキャンデータ保持部16に記憶させる。なお、マウス信号生成部14が、データ取得のタイミングおよび取得データの変化の判定を行なう場合には、上記コマンドの「データ取得タイミング」は、”オール”または”センス”としてもよい。
ステップS23〜S28では、入力装置100は、ステップS22において取得したスキャンデータ160に基づいて、対象物64の動きを検出して入力信号を生成する。一実施形態において、マウス信号生成部14は、まず、スキャンデータ保持部16から取得したスキャンデータ160と、基準画像記憶部21から呼び出したマウスモードに対応する基準画像161とを比較する。
スキャンデータ160と基準画像161との比較の説明は、ステップS2に準ずるが、加えて、スキャンデータ160と上記接触/接触領域の重複率が上記所定の値を上回った基準画像161について、当該基準画像に施した移動、回転、拡大縮小等に用いたデータ(水平方向の移動距離X、垂直方向の移動距離Y、回転角度θ、拡大率M)および当該基準画像161を示す情報Pを、基準画像処理データ保持部17に記憶させておく。
マウス信号生成部14は、スキャンデータ160が、上記マウスモードに対応する基準画像161の何れかに類似していた場合、マウス位置を算出する。すなわち、マウス信号生成部14は、基準画像処理データ保持部17から、当該基準画像処理データ保持部17に記憶されている水平方向の移動距離X、垂直方向の移動距離Y、回転角度θ、拡大率Mおよび情報Pを取得する。マウス信号生成部14は、次いで、基準画像記憶部21から情報Pに示される基準画像161に関連付けられた中央座標163(PX,PY)を取得する。中央座標163は、図17に示すように、対象物64(マウスを持った)の中央位置を示す。
マウス信号生成部14は、これらのデータに基づいて、上記マウス位置を算出する。例えば、マウス位置の水平座標は、(PXcosθ−PYsinθ)×M+X、垂直座標は、(PXsinθ+PYcosθ)×M+Yとなる。
ステップS23では、算出した上記マウス位置と、予めマウス状態保持部18に記憶されているマウス位置とを比較する。変化があった場合には、変化量(移動方向、および移動量)を示す入力信号を生成して出力し、マウス状態保持部18に上記算出した上記マウス位置を記憶させ、さらにマウス表示位置を変更し(ステップS29)、ステップS21に戻る。マウス位置に変化がなかった場合には、ステップS24に移行する。
マウス表示位置の変更を詳しく述べれば、まず、マウス信号生成部14は、まず、補助画像表示制御部15にマウス画像174をセンサ内蔵液晶パネル301上の上記算出したマウス位置に表示するように指令する。指令を受けた補助画像表示制御部15は、マウス画像174のデータを補助画像記憶部22から呼び出して、マウス画像174の下に表示されるべき画面に、マウス画像174をマウス位置に合成した画像を表示データ処理部701へ送るとともに、「表示パネル」を表示/光センサ部300とした上記コマンドをデータ処理部700に送ることで、センサ内蔵液晶パネル301上にグリッド画像を表示させる。
ステップS24では、対象物64が左クリック操作を行ったか否かを検出する。一実施形態において、図18に示すようなシーケンスで、スキャンデータ160が現れたときに、左クリック操作を検出する。すなわち、五本の指がすべて接触している状態から、人差し指だけが離れた状態を経て、また、五本の指がすべて接触している状態になったことを検出する。この検出は、例えば、五本の指がすべて接触している状態の基準画像161と、人差し指だけが離れた状態の基準画像161とを用意して、ともにマウスモードに対応する(マウス信号生成手段13に関連付けられた)基準画像161として基準画像記憶部21に予め記憶しておき、それぞれ上述したようにスキャンデータ160と比較させる。スキャンデータ160が、人差し指だけが離れた状態の基準画像161と類似していたとき、例えば、マウス状態として”人差し指だけが離れた”をマウス状態保持部18に記憶させる。スキャンデータ160が、五本の指がすべて接触している状態の基準画像161と類似していたとき、マウス状態保持部18に記憶されていたマウス状態が、”人差し指だけが離れた”であったならば、左クリックがあったことを示す入力信号を生成して出力し、マウス状態保持部18にマウス状態として例えば、”五本の指がすべて接触している”を記憶させ、さらにマウスの左ボタンを強調表示させ(ステップS30)、ステップS21に戻る。左クリックが検出されなかった場合には、ステップS25に移行する。
ステップS25では、対象物64が右クリック操作を行ったか否かを検出する。検出方法は、ステップS24における左クリックの検出とほぼ同様であり、図19に示すようなシーケンスで、スキャンデータ160が現れたときに、右クリック操作を検出する。すなわち、五本の指がすべて接触している状態から、中指だけが離れた状態を経て、また、五本の指がすべて接触している状態になったことを検出する。この検出は、例えば、五本の指がすべて接触している状態の基準画像161と、中指だけが離れた状態の基準画像161とを用意して、ともにマウスモードに対応する(マウス信号生成手段13に関連付けられた)基準画像161として基準画像記憶部21に予め記憶しておき、それぞれ上述したようにスキャンデータ160と比較させる。スキャンデータ160が、中指だけが離れた状態の基準画像161と類似していたとき、例えば、マウス状態として”中指だけが離れた”をマウス状態保持部18に記憶させる。スキャンデータ160が、五本の指がすべて接触している状態の基準画像161と類似していたとき、マウス状態保持部18に記憶されていたマウス状態が、”中指だけが離れた”であったならば、右クリックがあったことを示す入力信号を生成して出力し、マウス状態保持部18にマウス状態として例えば、”五本の指がすべて接触している”を記憶させ、さらにマウスの右ボタンを強調表示させ(ステップS31)、ステップS21に戻る。右クリックが検出されなかった場合には、ステップS26に移行する。
ステップS26では、対象物64がホイール操作を行ったか否かを検出する。検出方法は、ステップS24における左クリックの検出とほぼ同様であり、図20に示すようなスキャンデータ160が現れたときに、ホイール操作を検出する。すなわち、五本の指がすべて普通に接触している状態から、人差し指だけが上方または下方にずれた状態になったことを検出する。この検出は、例えば、五本の指がすべて普通に接触している状態の基準画像161と、人差し指だけがずれた状態の基準画像161とを用意して、ともにマウスモードに対応する(マウス信号生成手段13に関連付けられた)基準画像161として基準画像記憶部21に予め記憶しておき、それぞれ上述したようにスキャンデータ160と比較させる。スキャンデータ160が、人差し指だけがずれた状態の基準画像161と類似していたとき、ホイールが一回転したことを検出し、ホイール操作の量(方向、ずれた回数(回転量))を示す入力信号を生成して出力し、さらにマウスのホイールを強調表示させ(ステップS32)、ステップS21に戻る。ホイール操作が検出されなかった場合には、ステップS27に移行する。
ステップS27では、スキャンデータ160に対象物64の像が含まれるか否かを判定する。もし、スキャンデータ160が何の像も含んでいないとき(上記接触/接触領域を含んでいないとき)、マウスを消去して(ステップS33)、ステップS21に戻る。何らかの像を含んでいた場合にはステップS28に移行する。
ステップS28では、スキャンデータ160と上記マウスモードに対応した基準画像161が類似しているか否かを判定する。もし、スキャンデータ160と上記マウスモードに対応した基準画像161が類似していないときには、モード切替処理に移行する。類似していた場合には、マウスを通常表示させる(ステップS34)。
マウスの左ボタン、右ボタンもしくはホイールの強調表示または通常表示を詳しく述べれば、まず、マウス信号生成部14は、まず、補助画像表示制御部15にマウス画像174をセンサ内蔵液晶パネル301上の上記マウス位置に、左ボタン、右ボタンもしくはホイールを強調してまたは通常の状態で表示するように指令する。指令を受けた補助画像表示制御部15は、左ボタン、右ボタンもしくはホイールが強調されたまたは通常の状態のマウス画像174のデータを補助画像記憶部22から呼び出して、マウス画像174の下に表示されるべき画面に、マウス画像174をマウス位置に合成した画像を表示データ処理部701へ送るとともに、「表示パネル」を表示/光センサ部300とした上記コマンドをデータ処理部700に送ることで、センサ内蔵液晶パネル301上にグリッド画像を表示させる。
また、マウス表示を消去する場合には、マウス信号生成部14は、補助画像表示制御部15に、マウス画像174を表示しないように指令する。補助画像表示制御部15は、マウス画像174の下に表示される画面のみを表示データ処理部701へ送るとともに、「表示パネル」を表示/光センサ部300とした上記コマンドをデータ処理部700に送ることで、センサ内蔵液晶パネル301上からマウス画像174を消去する。
このように、入力装置100は、ユーザが手(対象物64)をマウスを持つ形にしたとき、マウスモードに移行し、マウスモードでは、実際には持っていないものの、マウスを持っているのと同様の操作感で入力を行うことができる。このように、本発明によれば、ユーザはマウスを持つことなく、快適にマウスと同じ操作感を得ることができる。
(変形例)
なお、上記では、センサ内蔵液晶パネル301は、近傍の像を検知するとともに、画像を表示することができるものであるが、単に、近傍の像を検知表示するだけのものであってもよい。そのような構成であっても、補助画像170が表示されないだけで、上述したような複数のモードによる入力と、モードの切替は実現される。
また、補助画像170としては、上述したようなペン画像171、グリッド画像172、およびマウス画像174に限定されるものではなく、他のものであってもよい。例えば、図15に示すアイコン173および図17に示すアイコン175のように、そのときの入力モードを示すアイコンであってもよい。
また、上述したタブレットモード、マウスモードの他のモードとして、タッチパネルモード、スクリーンキーボードモード等を備えていてもよい。その場合には、それぞれタッチパネル信号生成部およびスクリーンキーボード信号生成部が対象物64の動きに基づいて入力信号を生成する。
(プログラムおよび記録媒体)
上では、入力装置100の構成として、データ処理部700や回路制御部600を備える構成について説明したが、この構成に限定されるものではない。例えば、主制御部800が回路制御部600を直接制御し、主制御部800が全体画像データ/部分画像データ/座標データを生成するような構成であってもよい。また、主制御部800が表示/光センサ部300を直接制御するような構成であってもよい。
最後に、入力装置100の主制御部800、データ処理部700、回路制御部600は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、入力装置100は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラム及び各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである入力装置100の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記入力装置100に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、入力装置100を通信ネットワークと接続可能に構成し、上記プログラムコードを、通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。