以下、本発明の実施例を図面を参照しつつ詳細に説明する。
図1は、本発明に係る空間入力装置100のシステム構成を示すブロック図である。図1に示すように、空間入力装置100は、表示デバイス10、空中結像プレート20、赤外線アレイセンサ30及びシステム制御部40を有する。
表示デバイス10は、例えば液晶表示パネル又は有機EL(electro luminescence)表示パネル等からなる。表示デバイス10は、システム制御部40から供給された、操作画像信号IOVに基づく表示光を、空中結像プレート20の一方の面に投射する。
空中結像プレート20は、その一方の面で受けた表示光に基づく入力操作画像を、空間操作画像MGとして空間に結像する。尚、空間操作画像MGが結像される領域が操作者の手による入力操作を受け付ける空間操作領域となる。
赤外線アレイセンサ30は、空間操作画像MGが結像されている空間操作領域内の温度分布を測定し、その温度分布を表す温度データ信号TSを、システム制御部40に供給する。
図2は、赤外線アレイセンサ30の構成を示すブロック図である。図2に示すように、赤外線アレイセンサ30は、センサアレイ部300、行走査ドライバ301及び列走査ドライバ302を有する。
センサアレイ部300には、空間操作領域内をm行×n列(m、nは2以上の整数)にて区切ったm×n個の単位領域毎に、その単位領域での温度を検出する赤外線検出素子G1、1〜Gm、nがマトリクス状に配列されている。ここで、赤外線検出素子G1、1〜Gm、nのうちで第1行に属するn個の赤外線検出素子G1、1〜G1、nには走査ラインC1が接続されており、第2行に属するn個の赤外線検出素子G2、1〜G2、nには走査ラインC2が接続されており、第3行に属するn個の赤外線検出素子G3、1〜G3、nには走査ラインC3が接続されている。以下、同様にして、第m行に属するn個の赤外線検出素子Gm、1〜Gm、nには走査ラインCmが接続されている。
また、赤外線検出素子G1、1〜Gm、nのうちで第1列に属するm個の赤外線検出素子G1、1〜Gm、1には走査ラインR1が接続されており、第2列に属するm個の赤外線検出素子G1、2〜Gm、2には走査ラインR2が接続されており、第3列に属するm個の赤外線検出素子G1、3〜Gm、3には走査ラインR3が接続されている。以下、同様にして、第n列に属するm個の赤外線検出素子G1、n〜Gm、nには走査ラインRnが接続されている。つまり、センサアレイ部300には、互いに並置された走査ラインC1〜Cmと、走査ラインC1〜Cmに交叉して配置された走査ラインR1〜Rnとの交叉部に、赤外線検出素子G1、1〜Gm、nが形成されている。
行走査ドライバ301は、第1行〜第m行の走査ラインC1〜Cmのうちで、走査制御信号SCにて示される走査ラインに走査パルスを印加する。この際、センサアレイ部300は、走査ラインC1〜Cmのうちで走査パルスが印加された走査ラインCに接続されているn個の赤外線検出素子Gの各々が検出した温度を表すn個の温度データ片の系列からなる温度データ信号TSを、システム制御部40に供給する。
列走査ドライバ302は、第1列〜第n列の走査ラインR1〜Rnのうちで、走査制御信号SCにて示される走査ラインに走査パルスを印加する。この際、センサアレイ部300は、走査ラインR1〜Rmのうちで走査パルスが印加された走査ラインに接続されているm個の赤外線検出素子Gの各々が検出した温度を表すm個の温度データ片の系列からなる温度データ信号TSを、システム制御部40に供給する。
例えば、走査制御信号SCが第3行の走査ラインC3を示す場合には、行走査ドライバ301が走査ラインC3に走査パルスを印加する。これにより、センサアレイ部300は、走査ラインC3に接続されているn個の赤外線検出素子G3、1、G3、2、G3、3、・・・、G3、nの各々が検出した温度を表すn個の温度データ片の系列からなる温度データ信号TSを、システム制御部40に供給する。また、走査制御信号SCが第2列の走査ラインR2を示す場合には、列走査ドライバ302が走査ラインR2に走査パルスを印加する。これにより、センサアレイ部300は、走査ラインR2に接続されているm個の赤外線検出素子G1、2、G2、2、G3、2、・・・、Gm、2の各々で検出された温度を表すm個の温度データ片の系列からなる温度データ信号TSを、システム制御部40に供給する。
システム制御部40は、走査制御部401、指先検出部402、入力操作判定部403及びROM(Read Only Memory)404を含む。
走査制御部401は、赤外線アレイセンサ30の走査ラインC1〜Cm及びR1〜Rnのうちで温度検出の対象とする走査ラインを指定する信号を、上記した走査制御信号SCとして生成し、これを赤外線アレイセンサ30に供給する。指先検出部402は、赤外線アレイセンサ30から供給された温度データ信号TSに基づき、空間操作画像MGが結像されている空間操作領域内での操作者の指先の位置を検出し、この指先位置を示す指先位置データSPを生成する。入力操作判定部403は、操作者からの空中入力操作を受け付ける為の入力操作画像を表す操作画像信号IOVを表示デバイス10に供給しつつ、指先位置データSPによって示される操作者の指先の移動形態に基づき、入力操作の内容を判定する。そして、入力操作判定部403は、その入力操作の内容を示す操作信号OSを例えばホスト装置(図示せぬ)に供給する。ホスト装置は、この操作信号OSに応じた処理を実行する。
ROM404には、システム制御部40が操作制御部401、指先検出部402及び入力操作判定部403を運用して実行する空間入力操作制御プログラムが格納されている。
図3及び図4は、当該空間入力操作制御プログラムとしての空間入力操作制御ルーチンの一例を示すフローチャートである。
図3において、先ず、システム制御部40は、赤外線アレイセンサ30の走査ラインC1〜Cmに順次、択一的に走査パルスを供給しつつ、赤外線アレイセンサ30から出力された温度データ信号TSを取り込む(ステップS0)。次に、システム制御部40は、この温度データ信号TSにて表される温度データ片の系列、つまり赤外線検出素子G1、1〜Gm、nの各々で検出された温度を夫々示す温度データ片の系列に基づき、空間操作画像MGが結像されている空間平面領域内に操作者の手が置かれたか否かを判定する(ステップS1)。例えば、システム制御部40は、赤外線検出素子G1、1〜Gm、nの各々で検出された温度データ片の系列中に、操作対象物としての人間の手(指、指先、手の平、手の甲を含む)の温度として取り得る最低の温度を表す温度閾値より高い温度を表す温度データ片の数が所定数を超えている場合に操作者の手が翳されていると判定する。
ステップS1において、操作者の手が翳されていないと判定された場合、システム制御部40は、上記ステップS0の実行に戻り、前述した動作を再び実行する。
一方、ステップS1において、操作者の手が翳されていると判定された場合、システム制御部40は、例えば、図5に示すようなスイッチ操作画像を空間操作画像MGとして空間に結像させる(ステップS2)。この際、システム制御部40は、例えば図5に示すような、ONスイッチB1及びOFFスイッチB2を含む入力操作画像を表す操作画像信号IOVを表示デバイス10に供給する。これにより、表示デバイス10及び空中結像プレート20は、図5に示すようなスイッチ操作画像を空間操作画像MGとして空間に結像する。
次に、システム制御部40は、赤外線アレイセンサ30の走査ラインC1〜Cm及びR1〜Rnのうちから走査を開始する走査ラインを開始走査ラインとして設定する開始走査ライン設定ルーチンの実行に移る(ステップS3)。
図6は、開始走査ライン設定ルーチンの一例を示すフローチャートである。図6において、まず、システム制御部40は、赤外線アレイセンサ30の走査ラインC1に走査パルスを供給すると共に、温度データ信号TSを取り込む(ステップS31)。次に、システム制御部40は、温度データ信号TSにて示される温度データ片の系列に基づき、空間操作画像MGが結像されている空間領域内に、操作対象物としての操作者の手の温度が検知されたか否かを判定する(ステップS32)。すなわち、システム制御部40は、走査ラインC1に接続されている赤外線検出素子G1、1、G1、2、G1、3、・・・、G1、nの各々で検出された温度を表すn個の温度データ片の系列中に、上記した温度閾値より高い温度を表す温度データ片が存在するか否かを判定し、存在する場合に、操作者の手の温度が検知されたと判定する。
ステップS32において、手の温度が検知されたと判定された場合、システム制御部40は、センサアレイ部300に配置されている走査ラインC1〜Cmのうちで走査ラインC1から最も離間した位置に配置されている走査ラインCmを、開始走査ラインINSとして内蔵レジスタ(図示せず)に記憶する(ステップS33)。
一方、ステップS32において、手の温度が検知されなかったと判定された場合、システム制御部40は、赤外線アレイセンサ30の走査ラインCmに走査パルスを供給すると共に、温度データ信号TSを取り込む(ステップS34)。次に、システム制御部40は、温度データ信号TSにて示される温度データ片の系列に基づき、手の温度が検知されたか否かを判定する(ステップS35)。すなわち、ステップS35において、システム制御部40は、走査ラインCmに接続されている赤外線検出素子Gm、1、Gm、2、Gm、3、・・・、Gm、nの各々で検出された温度を表すn個の温度データ片の系列中に、所定の温度閾値より高い温度を表す温度データ片が存在するか否かを判定し、存在する場合に、手の温度が検知されたと判定する。
ステップS35において、手の温度が検知されたと判定された場合、システム制御部40は、センサアレイ部300に配置されている走査ラインC1〜Cmのうちで走査ラインCmから最も離間した位置に配置されている走査ラインC1を、開始走査ラインINSとして内蔵レジスタに記憶する(ステップS36)。
一方、ステップS35において、手の温度が検知されなかったと判定された場合、システム制御部40は、赤外線アレイセンサ30の走査ラインR1に走査パルスを供給すると共に、温度データ信号TSを取り込む(ステップS37)。
次に、システム制御部40は、温度データ信号TSにて示される温度データ片の系列に基づき、手の温度が検知されたか否かを判定する(ステップS38)。すなわち、ステップS38において、システム制御部40は、走査ラインR1に接続されている赤外線検出素子G1、1、G2、1、G3、1、・・・、Gm、1の各々で検出された温度を表すm個の温度データ片の系列中に、所定の温度閾値より高い温度を表す温度データ片が存在するか否かを判定し、存在する場合に、手の温度が検知されたと判定する。
ステップS38において、手の温度が検知されたと判定された場合、システム制御部40は、センサアレイ部300に配置されている走査ラインR1〜Rnのうちで走査ラインR1から最も離間した位置に配置されている走査ラインRnを、開始走査ラインINSとして内蔵レジスタに記憶する(ステップS39)。
一方、ステップS38において、手の温度が検知されなかったと判定された場合、システム制御部40は、赤外線アレイセンサ30の走査ラインRnに走査パルスを供給すると共に、温度データ信号TSを取り込む(ステップS40)。次に、システム制御部40は、温度データ信号TSにて示される温度データ片の系列に基づき、手の温度が検知されたか否かを判定する(ステップS41)。すなわち、ステップS41において、システム制御部40は、走査ラインRnに接続されている赤外線検出素子G1、n、G2、n、G3、n、・・・、Gm、nの各々で検出された温度を表すm個の温度データ片の系列中に、所定の温度閾値より高い温度を表す温度データ片が存在するか否かを判定し、存在する場合に、手の温度が検知されたと判定する。
ステップS41において、手の温度が検知されたと判定された場合、システム制御部40は、センサアレイ部300に配置されている走査ラインR1〜Rnのうちで走査ラインRnから最も離間した位置に配置されている走査ラインR1を、開始走査ラインINSとして内蔵レジスタに記憶する(ステップS42)。
上記したステップS33、S36、S39又はS42の実行後、システム制御部40は、
図6に示す開始走査ライン設定ルーチンを抜ける。
以下に、図6に示す開始走査ライン設定ルーチンによって為される動作について説明する。
先ず、赤外線アレイセンサ30の赤外線検出素子G1、1〜Gm、nによる温度感応面に対して、例えば図7の(a)に示すような位置に操作者の手Q1が存在すると、走査ラインCmに接続されている赤外線検出素子Gm、1、Gm、2、Gm、3、・・・、Gm、nで検出された温度データ片の系列中に所定の温度閾値より高い温度を表す温度データ片が存在する。この際、走査ラインC1、R1及びRmに接続されている赤外線検出素子G群で検出された温度データ片の系列中には、所定の温度閾値より高い温度を表す温度データ片は存在しない。
よって、図7の(a)に示すような位置に操作者の手Q1が存在する場合、図6に示されるステップS31、S32、S34、S35及びS36により、走査ラインC1が開始走査ラインINSとして内蔵レジスタに記憶される。
また、赤外線アレイセンサ30の赤外線検出素子G1、1〜Gm、nによる温度感応面に対して、例えば図7の(b)に示すような位置に操作者の手Q1が存在すると、走査ラインC1に接続されている赤外線検出素子G1、1、G1、2、G1、3、・・・、G1、nで検出された温度データ片の系列中に、所定の温度閾値より高い温度を表す温度データ片が表れる。尚、この際、走査ラインCm、R1及びRmに接続されている赤外線検出素子G群で検出された温度データ片の系列中には、所定の手の温度範閾値より高い温度を表す温度データ片は存在しない。
よって、図7の(b)に示すような位置に操作者の手Q1が存在する場合、図6に示されるステップS31、S32及びS33により、走査ラインCmが開始走査ラインINSとして内蔵レジスタに記憶される。
また、赤外線アレイセンサ30の赤外線検出素子G1、1〜Gm、nによる温度感応面に対して、例えば図7の(c)に示すような位置に操作者の手Q1が存在すると、走査ラインRnに接続されている赤外線検出素子G1、n、G2、n、G3、n、・・・、Gm、nで検出された温度データ片の系列中に、所定の温度閾値より高い温度を表す温度データ片が表れる。尚、この際、走査ラインC1、Cm及びR1に接続されている赤外線検出素子G群で検出された温度データ片の系列中には、所定の温度閾値より高い温度を表す温度データ片は存在しない。
よって、図7の(c)に示すような位置に操作者の手Q1が存在する場合、図6に示されるステップS31、S32、S34、S35、S37、S38、S40〜S42により、走査ラインR1が開始走査ラインINSとして内蔵レジスタに記憶される。
また、赤外線アレイセンサ30の赤外線検出素子G1、1〜Gm、nによる温度感応面に対して、例えば図7の(d)に示すような位置に操作者の手Q1が存在すると、走査ラインR1に接続されている赤外線検出素子G1、1、G2、1、G3、1、・・・、Gm、1で検出された温度データ片の系列中に、所定の温度閾値より高い温度を表す温度データ片が表れる。尚、この際、走査ラインC1、R1及びCmに接続されている赤外線検出素子G群で検出された温度データ片の系列中には、所定の温度閾値より高い温度を表す温度データ片は存在しない。
よって、図7の(d)に示すような位置に操作者の手Q1が存在する場合、図6に示されるステップS31、S32、S34、S35、S37、S38及びS39により、走査ラインRnが開始走査ラインINSとして内蔵レジスタに記憶される。
要するに、開始走査ライン設定ルーチン(S31〜S42)では、まず、複数の温度検出素子群(G1,1〜Gm、n)のうちで第2の方向(行方向または列方向)の両端に配置されている温度検出素子群(G1,1〜G1、n、Gm,1〜Gm、nまたはG1,1〜Gm、1、G1,n〜Gm、n)の各々を走査する。そして、温度閾値より高い温度が検出されなかった方の温度検出素子群を、走査を開始する温度検出素子群として設定するのである。
図6に示す開始走査ライン設定ルーチンの実行後、システム制御部40は、図3に示されるステップS4の実行に戻る。すなわち、システム制御部40は、開始走査ラインINSで表される走査ラインを選択走査ラインSSRとして設定する(ステップS4)。次に、システム制御部40は、選択走査ラインSSRにて表される走査ラインに走査パルスを供給すると共に、温度データ信号TSを取り込む(ステップS5)。
次に、システム制御部40は、温度データ信号TSにて示される温度データ片の系列に基づき、入力操作を行う対象物、つまり操作者の手、指、或いは指先の温度が検知されたか否かを判定する(ステップS6)。つまり、ステップS6においてシステム制御部40は、温度データ信号TSにて示される温度データ片の系列中に、所定の温度閾値よりも高い温度を表す温度データ片が存在するか否かを判定し、存在する場合には手の温度が検知されたと判定し、存在しない場合には手の温度が検知されなかったと判定する。
ステップS6において、手の温度が検知されなかったと判定された場合には、システム制御部40は、選択走査ラインSSRにて表される走査ラインの配置番号に1を加算又は減算した配置番号の走査ラインを、新たな選択走査ラインSSRとして設定する(ステップS7)。例えば、開始走査ラインINSが走査ラインC1を示す場合には、システム制御部40は、選択走査ラインSSRにて表される走査ラインCX(Xは1〜mの整数)の配置番号Xに1を加算した配置番号(X+1)の走査ラインCX+1を新たな選択走査ラインSSRとして設定する。また、例えば開始走査ラインINSが走査ラインCmを示す場合には、システム制御部40は、選択走査ラインSSRにて表される走査ラインCXの配置番号Xから1を減算した配置番号(X−1)の走査ラインCX−1を新たな選択走査ラインSSRとして設定する。また、例えば開始走査ラインINSが走査ラインRmを示す場合には、システム制御部40は、選択走査ラインSSRにて表される走査ラインRXの配置番号Xから1を減算した配置番号(X−1)の走査ラインRX−1を新たな選択走査ラインSSRとして設定する。また、例えば、開始走査ラインINSが走査ラインR1を示す場合には、システム制御部40は、選択走査ラインSSRにて表される走査ラインRXの配置番号Xに1を加算した配置番号(X+1)の走査ラインRX+1を新たな選択走査ラインSSRとして設定する。
ステップS7の実行後、システム制御部40は、ステップS5の実行に戻り前述した動作を再び実行する。
一方、ステップS6において手の温度が検知されたと判定された場合には、システム制御部40は、選択走査ラインSSRにて表される走査ラインの配置番号と、温度データ信号TSとに基づき、空間操作画像MG内での操作者の指先の位置を検出し、その指先位置を表す指先位置データSPを生成する(ステップS8)。つまり、選択走査ラインSSRにて表される走査ラインの配置番号と、温度データ信号TSにて示される温度データ片の系列中における、温度閾値よりも高い温度を表す温度データ片の位置により、温度閾値よりも高い温度を検出した赤外線検出素子Gのセンサアレイ部300内での配置位置(行、列)が求まる。そこで、システム制御部40は、この温度閾値よりも高い温度を検出した赤外線検出素子Gのセンサアレイ部300内での配置位置(行、列)を、指先位置(行、列)として表す指先位置データSPを生成する。例えば、システム制御部40は、温度閾値よりも高い温度を検出した赤外線検出素子Gが所定数以上に亘り連続して求められた場合に、最初に求められた赤外線検出素子G、或いは、いずれか1の赤外線検出素子Gの配置位置(行、列)を指先位置(行、列)とする。また、システム制御部40は、互いに行方向及び列方向において隣接する複数の赤外線検出素子Gからなるブロック単位で、そのブロック内の全ての赤外線検出素子Gの各々で検出された温度が温度閾値よりも高い場合に、当該ブロックに属する赤外線検出素子G各々のうちの1の配置位置(行、列)を指先位置(行、列)としても良い。
次に、システム制御部40は、指先位置データSPにて表される指先位置が、図5に示すような空間操作画像MGとしてのスイッチ操作画像中のONスイッチB1又はOFFスイッチB2の領域内、つまりスイッチ操作が可能となる操作領域内に存在するか否かを判定する(ステップS9)。
ステップS9において指先位置が操作領域内に存在すると判定された場合、システム制御部40は、指先位置が操作領域(B1又はB2)内に存在する状態が所定期間以上に亘り維持されたか否かを判定する(ステップS10)。
ステップS10において指先位置が操作領域内に存在する状態が所定期間以上に亘り維持されたと判定された場合、システム制御部40は、赤外線アレイセンサ30の走査ラインC1〜Cmに順次、択一的に走査パルスを供給しつつ、温度データ信号TSを取り込む(ステップS11)。
次に、システム制御部40は、この温度データ信号TSにて表される温度データ片の系列、つまり赤外線検出素子G1、1〜Gm、nの各々で検出された温度を夫々示す温度データ片の系列に基づき、空間操作画像MGが結像されている空間領域内に、操作者の手が翳されているか否かを判定する(ステップS12)。すなわち、システム制御部40は、ステップS1と同様に、赤外線検出素子G1、1〜Gm、nの各々で検出された温度データ片の系列中に、所定の温度閾値より高い温度を表す温度データ片の数が所定数を超えている場合に操作者の手が翳されていると判定する。
ステップS12において、操作者の手が翳されていると判定された場合、システム制御部40は、表示デバイス10への操作画像信号IOVの供給を停止することにより、空間操作画像MGの表示を停止させる(ステップS13)。ステップS13の実行後、システム制御部40は、図3に示すステップS0の実行に戻り、前述した動作を再び実行する。
一方、ステップS12において、操作者の手が翳されていないと判定された場合、システム制御部40は、図5に示す空間操作画像MG中の2つの操作領域(B1、B2)の内で、指先位置データSPにて示される指先位置を含む領域に表示されている方の操作内容を示す操作信号OSを出力する(ステップS14)。例えば、指先位置データSPにて示される指先位置が図5に示すONスイッチB1の領域に含まれる場合には、システム制御部40は、スイッチオンを示す操作信号OSを出力する。また、指先位置データSPにて示される指先位置が図5に示すOFFスイッチB2の領域に含まれる場合には、システム制御部40は、スイッチオフを示す操作信号OSを出力する。
ステップS14の実行後、又はステップS9で操作者の指先位置が操作領域内に存在しないと判定された場合、或いはステップS10で、指先位置が操作領域内に維持されていないと判定された場合、システム制御部40は、選択走査ラインSSRの内容を、開始走査ラインINSの内容に変更する(ステップS15)。ステップS15の実行後、システム制御部40は、ステップS5に戻り、前述した動作を再び実行する。
すなわち、ステップS6において温度データ信号TSにて示される温度データ片の系列中に、上記した温度閾値よりも高い温度を表す温度データ片が存在すると判定された場合には、ステップS15により、再び、開始走査ラインINSにて示される一端の温度検出素子群(例えば、G1,1〜G1、n)から他端の温度検出素子群(例えば、Gm,1〜Gm、n)に向けて、温度検出素子群を配置順に走査するのである。
尚、図3、図4及び図6に示される各ステップのうち、ステップS0、S4、S5、S7、S11、S15、S31、S33、S34、S36、S37、SS39、S40及びS42については、走査制御部401が実行する。また、ステップS6及びS8については、指先検出部402が実行する。ステップS2、S9、S10、S13及びS14については、入力操作判定部403が実行する。
以下に、図4に示すステップS4〜S8による指先位置の検出動作について、赤外線アレイセンサ30の温度感応面に対して例えば図8(a)に示す形態となるように、操作者が、空間操作画像MGが結像されている空間領域内に手Q1を翳した場合を例にとって説明する。この際、ステップS3の実行により、走査ラインC1〜Cm、R1〜Rmのうちで、走査ラインC1が開始走査ラインINSとして設定される。
そこで、先ず、走査制御部401が、ステップS4において走査ラインC1を選択走査ラインSSRとして設定する。次に、走査制御部401は、ステップS5においてこの選択走査ラインSSR、つまり走査ラインC1に走査パルスを供給する。これにより、図8(a)の破線に示すように走査ラインC1が走査対象となり、走査ラインC1に接続されている赤外線検出素子G1、1、G1、2、G1、3、・・・、G1、nで検出された温度データ片の系列を含む温度データ信号TSが取り込まれる。次に、ステップS6において、指先検出部402は、この取り込まれた温度データ信号TSに含まれる温度データ片の系列中に、所定の温度閾値より高い温度を表す温度データ片が存在する場合には手の温度を検知したと判定し、存在しない場合には手の温度が検知されなかったと判定する。尚、図8(a)に示すように走査ラインC1の赤外線検出素子G1、1〜G1、nでは、操作者の手Q1の手の温度を検知することは出来ない。
よって、走査制御部401は、ステップS7において現在の選択走査ラインSSR、つまり走査ラインC1の配置番号に1を加算した走査ラインC2を新たな選択走査ラインSSRとして設定する。次に、走査制御部401は、ステップS5においてこの選択走査ラインSSR、つまり走査ラインC2に走査パルスを供給する。これにより、図8(b)の破線に示すように走査ラインC2が走査対象となり、走査ラインC2に接続されている赤外線検出素子G2、1、G2、2、G2、3、・・・、G2、nで検出された温度データ片の系列を含む温度データ信号TSが取り込まれる。次に、ステップS6において、指先検出部402は、この取り込まれた温度データ信号TSに含まれる温度データ片の系列中に、所定の温度閾値より高い温度を表す温度データ片が存在する場合には手の温度を検知したと判定し、存在しない場合には手の温度が検知されなかったと判定する。尚、図8(b)に示すように走査ラインC2に接続されている赤外線検出素子G2、1〜G2、nでは、操作者の手Q1の手の温度を検知することは出来ない。
よって、走査制御部401は、ステップS7において現在の選択走査ラインSSR、つまり走査ラインC2の配置番号に1を加算した走査ラインC3を新たな選択走査ラインSSRとして設定する。次に、走査制御部401は、ステップS5においてこの選択走査ラインSSR、つまり走査ラインC3に走査パルスを供給する。これにより、図8(c)の破線に示すように走査ラインC3が走査対象となり、走査ラインC3に接続されている赤外線検出素子G3、1、G3、2、G3、3、・・・、G3、nで検出された温度データ片の系列を含む温度データ信号TSが取り込まれる。次に、ステップS6において、指先検出部402は、この取り込まれた温度データ信号TSに含まれる温度データ片の系列中に、所定の温度閾値より高い温度を表す温度データ片が存在する場合には手の温度を検知したと判定し、存在しない場合には手の温度が検知されなかったと判定する。尚、図8(c)に示すように走査ラインC3に接続されている赤外線検出素子G3、1〜G3、nでは、操作者の手Q1の温度を検知することは出来ない。
よって、走査制御部401は、ステップS7において現在の選択走査ラインSSR、つまり走査ラインC3の配置番号に1を加算した走査ラインC4を新たな選択走査ラインSSRとして設定する。次に、走査制御部401は、ステップS5においてこの選択走査ラインSSR、つまり走査ラインC4に走査パルスを供給する。これにより、図8(d)の破線に示すように走査ラインC4が走査対象となり、走査ラインC4に接続されている赤外線検出素子G4、1、G4、2、G4、3、・・・、G4、nで検出された温度データ片の系列を含む温度データ信号TSが取り込まれる。次に、ステップS6において、指先検出部402は、この取り込まれた温度データ信号TSに含まれる温度データ片の系列中に、所定の温度閾値より高い温度を表す温度データ片が存在する場合には手の温度を検知したと判定し、存在しない場合には手の温度が検知されなかったと判定する。尚、図8(d)に示すように、走査ラインC4と走査ラインRXとの交叉部の赤外線検出素子G4、Xにおいて最初に、操作者の手Q1の温度が検知される。
よって、この段階で走査制御部401は、赤外線アレイセンサ30に対する走査制御を終了し、引き続き、指先検出部402が、手の温度検知が為された赤外線検出素子G4、Xの行方向及び列方向での配置位置(4、X)を、操作者の指先位置を示す指先位置データSPとして生成する。
このように、ステップS5〜S8による指先検出は、操作者が指先で空間入力操作を行うと、必ず、赤外線アレイセンサ30の矩形の温度感応面の一辺で操作者の腕又は手の温度が検知され、且つ操作者の手を構成する各パーツのうちで指先が、この一辺に対向する対向辺から最も近い位置に存在することに鑑みて為されたものである。つまり、かかる対向辺からこの一辺に向けて赤外線アレイセンサ30の各走査ラインを図8(a)〜図8(c)に示すように順次走査した際に、最初に手の温度検知が為された走査ラインの位置に、図8(d)に示すように操作者の指先が存在することになるのである。
従って、ステップS5〜S8による指先検出動作によれば、カメラによって撮影された少なくとも1フレーム分の画像を撮影した後に、その撮影画像に対して画像処理を施すことにより指先の位置を検出する場合に比して、高速に指先位置の検出が為されるようになる。
尚、空間入力装置100では、図6に示す開始走査ライン設定ルーチンを実行することにより、赤外線アレイセンサ30の温度感応面に対して、操作者が図7(a)〜図7(d)のいずれの態様で手Q1を翳しているのかを判定することにより、走査ラインC1、Cm、R1及びRmのうちから、走査を開始する走査ラインを決定している。よって、操作者が図7(a)〜図7(d)のいずれの態様で手Q1を翳しても、図8(a)〜図8(d)に示す走査ライン制御により手Q1の指先位置の検出が為されるのである。尚、赤外線アレイセンサ30の温度感応面に対して、操作者が手Q1を翳す態様が図7(a)〜図7(d)のいずれか1の態様に固定される場合には、図6に示す開始走査ライン設定ルーチンを実行しなくても良い。
また、図3及び図4に示す空間入力操作制御ルーチンでは、ステップS10において、指先位置データSPにて示される指先位置が所定期間以上に亘り操作領域(B1又はB2)内に存在するか否かを判定しているが、その指先位置でクリック操作が為されたか否かを判定するようにしても良い。例えば、指先検出部402は、図9(a)に示すように、操作者の手Q1の指先位置UBにて手の温度検知が為される状態から、図9(b)に示すように、この指先位置UBにて手の温度検知が為されない状態に遷移し、再び、図9(c)に示すように、指先位置UBで手の温度検知が為される状態に遷移したら、クリック操作有りと判定するのである。尚、誤って為されたクリック操作の受付を回避する為に、かかるクリック操作が2回以上の複数回数為された場合にだけその操作を受け付けるようにしても良い。
また、上記実施例では、赤外線アレイセンサ30として、図2に示すような、マトリクス状に配列された赤外線検出素子G1、1〜Gm、nを列方向及び行方向の双方に対して走査可能なものを採用しているが、いずれか一方の方向に対してだけ走査可能なものを採用しても良い。また、温度を検出する素子としては、赤外線検出素子に限定されない。
つまり、赤外線アレイセンサ30としては、夫々が温度を検出する複数(n個)の温度検出素子(G)が第1の方向に沿って配置されている温度検出素子群が、この第1の方向と交叉する第2の方向に沿って複数(m個)配置されており、これら温度検出素子群のうちで走査された温度検出素子群に属する温度検出素子の各々で検出された温度を表す温度信号(TS)を出力する温度センサであれば良い。
よって、かかる温度センサを用いて図4に示すステップS5〜S8による指先検出を実行する構成としては、以下の走査制御部、及び指先検出部とを含むものであれば良いのである。走査制御部(S5、S7、40、401)は、複数(m個)の温度検出素子群のうちで一端に配置されている温度検出素子群(例えばG1、1〜G1、n)から他端に配置されている温度検出素子群(例えばGm、1〜Gm、n)に向けて配置順に温度検出素子群の各々を走査する。指示点(指先)検出部(S6、S8、40、402)は、走査制御部の走査に応じて出力された温度信号(TS)の各々にて表されている温度が所定の温度閾値よりも高いか否かを走査毎に判定し、最初に温度閾値より高いと判定された温度を検出した温度検出素子の配置位置を指示点(指先)の位置(SP)として検出する。
尚、かかる温度センサを用いて図4に示すステップS5〜S8以外の方法で指先位置の検出を行うようにしても良い。
図10は、図4に示すステップS5〜S7に代えて為される指先位置検出ルーチンを示すフローチャートである。尚、図10に示す指先位置検出ルーチンを実施するにあたり、赤外線アレイセンサ30の温度感応面を、図11に示すように、走査ラインC1〜CY(Yは2以上の整数)を含む第1の温度感応領域A1、走査ラインCY+1〜CJ(JはYよりも大きい整数)を含む第2の温度感応領域A2、走査ラインCJ+1〜Cmを含む第3の温度感応領域A3に区分けしておく。
以下に、ステップS3において走査ラインC1が開始走査ラインINSとして判定された場合を例にとって、当該ステップS3に続いて実施される、図10の指先位置検出ルーチンについて説明する。
先ず、システム制御部40は、温度感応領域A1に属する走査ラインC1〜CYのうちの第1の代表走査ラインとして、配置番号W(Wは1〜Yの整数)の走査ラインCWをSSRとして設定する(ステップS50)。次に、システム制御部40は、選択走査ラインSSRにて表される走査ラインに走査パルスを供給すると共に、温度データ信号TSを取り込む(ステップS51)。次に、システム制御部40は、温度データ信号TSにて示される温度データ片の系列に基づき手の温度が検知されたか否かを判定する(ステップS52)。ステップS52において手の温度が検知されたと判定された場合、システム制御部40は、選択走査ラインSSRの内容を、開始走査ラインINSに変更する(ステップS53)。次に、システム制御部40は、選択走査ラインSSRにて表される走査ラインに走査パルスを供給すると共に、温度データ信号TSを取り込む(ステップS54)。次に、システム制御部40は、温度データ信号TSにて示される温度データ片の系列に基づき手の温度が検知されたか否かを判定する(ステップS55)。ステップS55において手の温度が検知されなかったと判定された場合、システム制御部40は、選択走査ラインSSRにて表される走査ラインの配置番号から1を減算した配置番号の走査ラインを、新たな選択走査ラインSSRとして設定する(ステップS56)。
ステップS56の実行後、システム制御部40は、ステップS54に戻り前述した動作を再び実行する。
ステップS52において手の温度が検知されなかったと判定されると、システム制御部40は、温度感応領域A2に属する走査ラインCY+1〜CJのうちの第2の代表走査ラインとして、配置番号E(EはY+1〜Jの整数)の走査ラインCEをSSRとして設定する(ステップS57)。つまり、第1の代表走査ラインである走査ラインCWよりも、走査ラインCmに近い位置に配置されている走査ラインCEを第2の代表走査ラインとする。次に、システム制御部40は、選択走査ラインSSRにて表される走査ラインに走査パルスを供給すると共に、温度データ信号TSを取り込む(ステップS58)。次に、システム制御部40は、温度データ信号TSにて示される温度データ片の系列に基づき手の温度が検知されたか否かを判定する(ステップS59)。ステップS59において手の温度が検知されたと判定された場合、システム制御部40は、選択走査ラインSSRにて表される走査ラインの配置番号から1を減算した配置番号の走査ラインを、新たな選択走査ラインSSRとして設定する(ステップS60)。次に、システム制御部40は、選択走査ラインSSRにて表される走査ラインに走査パルスを供給すると共に、温度データ信号TSを取り込む(ステップS61)。次に、システム制御部40は、温度データ信号TSにて示される温度データ片の系列に基づき手の温度が検知されたか否かを判定する(ステップS62)。ステップS62において手の温度が検知されたと判定された場合、システム制御部40は、ステップS60に戻り前述した動作を再び実行する。
ステップS59において手の温度が検知されなかったと判定されると、システム制御部40は、温度感応領域A3に属する走査ラインCJ+1〜Cmのうちの最後尾の走査ラインの配置番号mを有する走査ラインCmをSSRとして設定する(ステップS63)。次に、システム制御部40は、選択走査ラインSSRにて表される走査ラインに走査パルスを供給すると共に、温度データ信号TSを取り込む(ステップS64)。次に、システム制御部40は、温度データ信号TSにて示される温度データ片の系列に基づき手の温度が検知されたか否かを判定する(ステップS65)。ステップS65において手の温度が検知されたと判定された場合、システム制御部40は、選択走査ラインSSRにて表される走査ラインの配置番号から1を減算した配置番号の走査ラインを、新たな選択走査ラインSSRとして設定する(ステップS66)。次に、システム制御部40は、選択走査ラインSSRにて表される走査ラインに走査パルスを供給すると共に、温度データ信号TSを取り込む(ステップS67)。次に、システム制御部40は、温度データ信号TSにて示される温度データ片の系列に基づき手の温度が検知されたか否かを判定する(ステップS68)。ステップS68において手の温度が検知されたと判定された場合、システム制御部40は、ステップS66に戻り前述した動作を再び実行する。
ここで、ステップS65において手の温度が検知されなかったと判定された場合には、システム制御部40は、操作者による入力操作が行われていないと判定し、上記したステップS0に戻って前述した動作を再び実行する。
ステップS62又はS68において手の温度が検知されなかったと判定された場合には、システム制御部40は、選択走査ラインSSRにて表される走査ラインの配置番号に1を加算した配置番号の走査ラインを、新たな選択走査ラインSSRとして設定する(ステップS69)。
ステップS69の実行後、又は上記ステップS55において手の温度が検知されたと判定された場合、システム制御部40は、図4に示すステップS8の実行に移る。
以下に、図10に示す指先位置検出フローによって為される指先位置の検出動作について説明する。
先ず、図12(a)に示すように、操作者の手Q1の指先が赤外線アレイセンサ30の温度感応領域A1内に置かれた場合に為される動作について説明する。
システム制御部40は、温度感応領域A1に属する第1の代表走査ラインとしての走査ラインCWを走査(破線にて示す)し、この際得られた温度データ信号TSから操作者の手Q1の手の温度が検知されたか否かを判定する(S50〜S52)。この際、図12(a)に示す例では、走査ラインCWを走査した際に得られた温度データ信号TSから、操作者の手Q1の手の温度が検知される。そこで、システム制御部40は、次に温度感応領域A1内において、開始走査ラインINSとしての走査ラインC1から配置番号順に走査ラインCを1つずつ走査し、走査ライン毎に、手の温度検知が為されたか否かを判定する(S53〜S56)。例えば図12(b)に示す一例では、走査ラインC1を走査(破線にて示す)した際に得られた温度データ信号TSからは操作者の手Q1の手の温度は検知されない。よって、次に走査ラインC2が走査対象となり、当該走査ラインC2を走査した際に得られた温度データ信号TSから、手の温度が検知されたか否かの判定が為される。例えば図12(c)に示す一例では、走査ラインC2を走査(破線にて示す)した際に得られた温度データ信号TSから、操作者の手Q1の手の温度が検知される。
そこで、システム制御部40は、このように走査ラインC1から配置番号順に実施される走査動作中において、最初に手の温度検知が為された赤外線検出素子Gの配置位置(行、列)を、操作者の指先位置として検出する(S8)。例えば図12(c)に示す一例では、走査ラインC2に接続されている赤外線検出素子G2,1〜G2,nのうちで、所定の温度閾値より高い温度を検出した赤外線検出素子の配置位置(行、列)が、操作者の指先の位置を示す指先位置データSPとして生成される。
次に、図13(a)に示すように、操作者の手Q1の指先が、赤外線アレイセンサ30の温度感応領域A2内に置かれた場合に為される動作について説明する。
図13(a)に示す例では、走査ラインCWを走査(破線にて示す)した際に得られた温度データ信号TSからは、操作者の手Q1の手の温度が検知されない。よって、システム制御部40は、温度感応領域A2に属する第2の代表走査ラインとしての走査ラインCEを走査(破線にて示す)し、この際得られた温度データ信号TSから、操作者の手Q1の手の温度が検知されたか否かを判定する(S57〜S59)。この際、図13(a)に示す例では、走査ラインCEを走査した際に得られた温度データ信号TSから、操作者の手Q1の手の温度が検知される。そこで、システム制御部40は、次に、走査ラインCEから配置番号の逆順に走査ラインCを1つずつ走査し、走査ライン毎に、手の温度検知が為されたか否かを判定する(S60〜S62)。例えば図13(b)に示す例では、走査ラインCE−1を走査(破線にて示す)した際に得られた温度データ信号TSから、操作者の手Q1の手の温度が検知される。よって、次に、走査ラインCE−2が走査対象となり、当該走査ラインCE−2を走査した際に得られた温度データ信号TSに基づき、手の温度が検知されたか否かの判定が為される。例えば図13(c)に示す例では、走査ラインCE−2を走査(破線にて示す)した際に得られた温度データ信号TSからは、手の温度は検知されない。
そこで、システム制御部40は、手の温度検知が為された走査ラインCEから配置番号逆順に実施される走査動作中において、最初に手の温度検知が為されなくなった走査ラインCの配置番号に1を加算した配置番号の走査ラインを求め(S69)、この走査ラインに接続されている赤外線検出素子Gの配置位置(行、列)を、操作者の指先位置として検出する(S8)。例えば図13(a)〜図13(c)に示す一例では、走査ラインCE−1を走査した際に得られた温度データ信号TSからは、手の温度が検知される。一方、この走査ラインCE−1に隣接するCE−2を走査した際に得られた温度データ信号TSからは手の温度が検知されなくなる。よって、システム制御部40は、手の温度検知が為されない走査ラインCE−2に隣接しており、且つ手の温度検知が為される走査ラインCE−1に接続されている赤外線検出素子Gの各々のうちで、所定の温度閾値より高い温度を検出した赤外線検出素子Gの配置位置(行、列)を、操作者の指先の位置を示す指先位置データSPとして生成する。
次に、図14(a)に示すように、操作者の手Q1の指先が赤外線アレイセンサ30の温度感応領域A3内に置かれた場合に為される動作について説明する。
図14(a)に示す例では、走査ラインCWを走査(破線にて示す)した際に得られた温度データ信号TSからは、操作者の手Q1の手の温度が検知されない。また、走査ラインCEを走査(破線にて示す)した際に得られた温度データ信号TSからも、操作者の手Q1の手の温度は検知されない。よって、システム制御部40は、温度感応領域A3の最後尾の走査ラインCmを走査対象とし、この際得られた温度データ信号TSから、操作者の手Q1の手の温度が検知されたか否かを判定する(S63〜S65)。この際、図13(a)に示す例では、走査ラインCEを走査(破線にて示す)した際に得られた温度データ信号TSから、操作者の手Q1の手の温度が検知される。そこで、システム制御部40は、走査ラインCmから配置番号逆順に走査ラインCを1つずつ走査し、走査ライン毎に、手の温度の検知が為されたか否かを判定する(S66〜S68)。例えば図14(b)では、走査ラインCmの次に走査ラインCm−1が走査対象となる。この走査ラインCm−1を走査(破線にて示す)した際に得られた温度データ信号TSからも、操作者の手Q1の手の温度が検知される。よって、次に、走査ラインCm−2が走査対象となり、当該走査ラインCm−2を走査した際に得られた温度データ信号TSに基づき、手の温度が検知されたか否かの判定が為される。例えば図14(c)に示す例では、走査ラインCm−2を走査(破線にて示す)した際に得られた温度データ信号TSからは、手の温度は検知されない。
そこで、システム制御部40は、手の温度検知が為された走査ラインCmから配置番号逆順に実施される走査動作中において、最初に手の温度検知が為されなくなった走査ラインCの配置番号に1を加算した配置番号の走査ラインを求め(S69)、この走査ラインに接続されている赤外線検出素子Gの配置位置(行、列)を、操作者の指先位置として検出する(S8)。例えば図14(a)〜図14(c)に示す例では、走査ラインCm−1を走査した際に得られた温度データ信号TSからは、手の温度が検知される。一方、この走査ラインCm−1に隣接するCm−2を走査した際に得られた温度データ信号TSからは手の温度が検知されなくなる。よって、システム制御部40は、手の温度検知が為されない走査ラインCm−2に隣接しており、且つ手の温度検知が為される走査ラインCm−1に接続されている赤外線検出素子Gの各々のうちで、所定の温度閾値より高い温度を検出した赤外線検出素子の配置位置(行、列)を、操作者の指先の位置を示す指先位置データSPとして生成する。
尚、上記したステップS52、S55、S59、S62、S65及びS68では、走査毎に出力された温度信号TS中に、所定の温度閾値より高い温度を表す温度データ片が含まれているか否かを判定することにより、手の温度を検知するようにしている。しかしながら、これらステップS52、S55、S59、S62、S65及びS68の各々では、温度信号TS中に、所定の温度閾値より高い温度を表す温度データ片が連続する系列(高温度系列)が存在するか否かを判定するようにしても良い。
要するに、図10に示される指先位置検出ルーチンを実行するにあたり、システム制御部40は、以下の第1〜第5の制御を実行するものであれば良いのである。
第1の制御(401、S57、S58)では、複数の温度検出素子群のうちの所定の温度検出素子群(例えばGE、1〜GE、n)を代表温度検出素子群として走査する。第2の制御(S59)では、この代表温度検出素子群の走査に応じて出力された温度信号(TS)中に、所定の温度閾値より高い温度を表す温度データ片が連続する高温度系列が含まれているか否かを判定する。ここで、第2の制御において高温度系列が含まれていると判定された場合、第3の制御(401、S60、S61)では、代表温度検出素子群から、複数の温度検出素子群のうちで第2の方向の一端に配置されている温度検出素子群(例えばG1、1〜G1、n)に向けて配置順に温度検出素子群の各々を走査する。第4の制御(S62)では、第3の制御による走査に応じて出力された温度信号中に、温度閾値より高い温度を表す温度データ片が連続する高温度系列が含まれているか否かを走査毎に判定する。そして、第4の制御において高温度系列が含まれていないと判定された場合、第5の制御(402、S8,S69)では、高温度系列が含まれていないと判定された温度検出素子群より1つ前に走査された温度検出素子群内において高温度系列が含まれていると判定された温度データ片に対応した温度検出素子の配置位置を指示点(指先)の位置として検出する。
尚、第2の制御において高温度系列が含まれていないと判定された場合、第6の制御(S63、S64)では、複数の温度検出素子群のうちで代表温度検出素子群とは異なる温度検出素子群(例えば、Gm、1〜Gm、n)を他の代表温度検出素子群として走査し、引き続きこの代表温度検出素子群に対して上記した第2の制御(S68)を実行した後、第3〜第5の制御(S8、S66〜S69)を実行する。
よって、図10に示される指先位置検出ルーチンによれば、操作者の指先の手の温度が検知されるまで、センサアレイ部300の一端に配置されている走査ラインC1(R1)から他端に配置されている走査ラインCm(Rn)に向けて、走査ラインを配置順に1つずつ走査する場合(S5〜S7)に比べて走査の回数を減らすことが可能となる。
例えば、図13(a)に示す態様で操作者が空間操作領域内に手を翳した場合に、ステップS5〜S7による指先位置検出を行うと、少なくとも温度感応領域A1に属する全ての走査ラインを走査する必要がある。一方、図10に示される指先位置検出ルーチンによると、温度感応領域A1内で走査対象となる走査ラインの数は、図13(a)の破線に示すように、第1の代表走査ライン(CW)の1つだけとなる。よって、ステップS5〜S7による指先位置検出に比べて高速に、指先位置を検出することが可能となる。
また、図14(a)に示す態様で操作者が空間操作領域内に手を翳した場合に、ステップS5〜S7による指先位置検出を行うと、少なくとも温度感応領域A1及びA2に属する全ての走査ラインを走査する必要がある。一方、図10に示される指先位置検出ルーチンによると、温度感応領域A1及びA2内で走査対象となる走査ラインの数は、図14(a)の破線に示すように、第1の代表走査ライン(CW)、及び第2の代表走査ライン(CE)の2つだけとなる。よって、ステップS5〜S7による指先位置検出に比べて高速に、指先位置を検出することが可能となるのである。
尚、上記実施例では、空間操作画像MGとして、図5に示すようなスイッチ操作画像表示させるようにしているが、これに限定されない。
例えば、空間操作画像MGとして、図15(a)に示すようなスライドスイッチを表すスイッチ操作画像を表示させるようにしても良い。図15(a)に示すスイッチ操作画像では、操作領域B3が「ON」表示に対応した位置に存在する場合にはスイッチオン操作を示し、操作領域B3が「OFF」表示に対応した領域B4内に存在する場合にはスイッチオフ操作を示す。尚、図15(a)では、初期状態として、操作領域B3が「OFF」表示に対応した位置に存在している。
このようなスライドスイッチを表す入力操作画像を表示させる場合、入力操作判定部403は、ステップS9において、指先位置データSPにて示される操作者の手Q1の指先位置が図15(a)に示す操作領域B3内に存在するか否かを判定する。ここで、指先位置が図15(a)に示す操作領域B3内に存在すると判定された場合、入力操作判定部403は、その指先位置が所定期間経過後に、図15(b)に示すように「ON」表示に対応した領域B4内に移動したか否かを判定する。指先位置が所定期間経過後に領域B4内に移動したと判定された場合、入力操作判定部403は、スイッチ操作がオフ状態からオン状態に切り替わったことを示す操作信号OSを出力する。尚、当該指先位置が図15(a)に示す操作領域B3内に存在すると判定されてから所定期間以内に、図15(c)に示すように、操作者の手Q1の指先位置が領域B4以外の位置に移動した場合には、入力操作判定部403は、操作者によるスライドスイッチ操作の受け付けを拒否する。
尚、上記実施例では、表示デバイス10が表示した図5又は図15に示すような入力操作画像を空中結像プレート20を介して空間に投射するようにしているが、必ずしも入力操作画像を空間に投射する必要はない。例えば、表示デバイス10の表示画面に対向した空間領域
を空間操作領域とし、この空間操作領域内の温度分布を検出し得る位置に赤外線アレイセンサ30を配置して、操作者の手による入力操作を受け付けるようにする。この際、表示デバイス10は、図1に示すように、その表示画面が表示デバイス10の設置面に対して平行となる、いわゆる平面置きで配置されていても良いし、或いはこの表示画面が設置面に対して0度よりも大なる角度をもって配置されていても良い。
また、図5又は図15に示すような入力操作画像を用いずに、この空間操作領域内に所定の温度閾値よりも高い領域が検出されたことをもって、入力操作判定部403が、所定動作の実行又は停止を促す操作信号OSを出力するようにしても良い。例えば、入力操作判定部403は、図3に示すステップS0及びS1と同様な制御を実行することにより、操作者が空間操作領域内で手を翳したことを検出したときに、所定動作の実行又は停止を促す操作信号OSを出力する。
また、入力操作判定部403は、この空間操作領域内において所定温度よりも高い領域が占める割合に対応した制御を促す操作信号OSを出力するようにしても良い。
例えば、先ず、入力操作判定部403が、操作者に対して手のひらを空間操作領域に翳すように促す画像を表示デバイス10に表示させる。ここで、操作者が、自身の手のひらを空間操作領域に翳すと、操作制御部401は、赤外線アレイセンサ30の走査ラインC1〜Cmに順次、択一的に走査パルスを供給させつつ、温度データ信号TSを取り込む。入力操作判定部403は、この温度データ信号TSにて表される温度データ片の系列に基づき手の平のサイズを測定する。そして、入力操作判定部403は、測定した手の平のサイズが所定の基準サイズと等しくなるまで、操作者の手を赤外線アレイセンサ30に近づける、又は遠ざけるように促す画像を表示デバイス10に表示させる。ここで、測定した手の平のサイズが所望のサイズと等しくなった場合、例えば赤外線アレイセンサ30の温度感応面に対して図16(a)に示すような手の平の温度分布が得られた場合、入力操作判定部403は、この状態を基準状態として登録する。例えば、入力操作判定部403は、上記した温度データ信号TSにて表される温度データ片の系列中において所定の温度閾値以上の温度を表す温度データ片の総数を、基準値として登録する。
その登録後、操作者が自身の手の平を赤外線アレイセンサ30に近づく方向、つまり手の平から放出された赤外線が赤外線アレイセンサ30に到達するまでの経路が短くなる方向に移動すると、図16(b)に示すような手の平の温度分布が得られる。この際、温度データ信号TSにて表される温度データ片の系列中において所定の温度閾値以上の温度を表す温度データ片の総数は、基準値よりも多くなる。一方、操作者が自身の手の平を赤外線アレイセンサ30から遠ざかる方向、つまり手の平から放出された赤外線が赤外線アレイセンサ30に到達するまでの経路が長くなる方向に移動すると、図16(c)に示すような手の平の温度分布が得られる。この際、温度データ信号TSにて表される温度データ片の系列中において所定の温度閾値以上の温度を表す温度データ片の総数は、基準値よりも少なくなる。そこで、入力操作判定部403は、操作者が自身の手の平を空間操作領域内において翳した際に得られた、所定の温度閾値以上の温度を表す温度データ片の総数と、基準値との差分に対応した大きさの操作信号OSを出力する。例えば、地図データを表示するナビゲーション装置等に利用する場合、空間操作領域内において操作者の手の平を赤外線アレイセンサ30に近づけるほど大きな表示倍率、遠ざけるほど小さな表示倍率で地図表示を行うことが可能となる。