(57)【要約】【課題】検出領域内の検出対象体の位置を精度よく検出するとともに、使用者が意図しない操作を抑制することができる位置検出装置を提供する。【解決手段】位置検出部４３は、指示体Ｆｇと位置検出面Ｉｖとの距離が所定の長さ以下になったことに基づいて第１の位置を決定し、指示体Ｆｇの移動速度が所定の値以下になったことに基づいて第３の位置を検出し、位置補正部４４は、第１の位置と第３の位置に基づいて、位置検出面Ｉｖ内での第２の位置を決定する空間入力装置Ｉｐ。【選択図】図２
2017073128.tif 000002
【特許請求の範囲】
【請求項１】
検出領域を走査する検査光を出射する走査光源部と、
指示体で反射された前記検査光を受光する受光部と、
前記受光部で受光した光に基づいて前記指示体の位置を検出する位置検出部と、
前記指示体の位置検出面における位置を補正する位置補正部とを有し、
前記位置検出部は、前記指示体の移動速度が所定の値以下になったことに基づいて第１の位置を検出し、
前記位置補正部は、前記第１の位置に基づいて、前記位置検出面内での第２の位置を決定する、空間入力装置。
【請求項２】
検出領域を走査する検査光を出射する走査光源部と、 
指示体で反射された前記検査光を受光する受光部と、 
前記受光部で受光した光に基づいて前記指示体の位置を検出する位置検出部と、 
前記指示体の位置検出面における位置を補正する位置補正部とを有し、 
前記位置検出部は、前記指示体の移動速度が所定の値以下になったことに基づいて第１の位置を検出し、前記指示体と前記位置検出面との距離が所定の長さ以下になったことに基づいて第３の位置を決定し、
前記位置補正部は、前記第１の位置と前記第３の位置に基づいて、前記位置検出面内での第２の位置を決定する、空間入力装置。
【請求項３】
前記位置補正部は、前記第１の位置と前記第３の位置との距離が所定の長さ以内であるとき、前記第１の位置に基づいて前記第２の位置を決定する請求項２に記載の空間入力装置。
【請求項４】
前記位置検出部は、前記指示体で反射された前記走査光の情報に基づいて、前記指示体の前記検出領域内での位置を検出する請求項１から請求項３のいずれかに記載の空間入力装置。
【請求項５】
前記位置検出部は、前記指示体で反射された前記走査光の本数に基づいて、前記指示体と前記位置検出面との距離を検出する請求項１から請求項３のいずれかに記載の空間入力装置。
【請求項６】
前記位置検出部は、前記第２の位置の決定に基づいて入力動作が切り替わったと判断する請求項１から請求項５のいずれかに記載の空間入力装置。
【請求項７】
制御部は、前記第１の位置に基づいて入力操作を開始する請求項１から請求項６のいずれかに記載の空間入力装置。
【請求項８】
前記位置検出部は、前記指示体の移動速度が所定の値以下になったことに基づいて、前記指示体の動作を前記検出領域に進入する動作から所定の動作に切替える請求項１から請求項７のいずれかに記載の空間入力装置。
【請求項９】
前記位置検出面から前記指示体が所定の距離以上離れたことに基づいて、前記入力操作の終了を認識する認識部を備えた、請求項１から請求項８のいずれかに記載の空間入力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想のユーザインターフェースに対して行われる入力操作を認識する空間入力装置に関する。
【背景技術】
【０００２】
３次元ジェスチャ入力を受け付ける入力装置が提案されている（例えば、特開２０１２−３６９０号公報、国際公開第２０１０／１１３３９７号等参照）。
【０００３】
特開２０１２−３６９０号公報は、透明ディスプレイと、透明ディスプレイ越しに距離画像を取得する距離画像センサとを備えており、距離画像センサで取得した距離画像から対象物の３次元ジェスチャ入力を受け付けるユーザインターフェース装置を開示している。
【０００４】
このような構成のユーザインターフェース装置を用いることで、対象物（例えば、使用者の指）で３次元ジェスチャ入力を受け付けるため、多彩な入力を行うことが可能である。
【０００５】
また、国際公開第２０１０／１１３３９７号には、タッチパネルへの指の近接を非接触で検出する近接センサを備え、近接センサで取得したタッチパネル上での座標を、ユーザの目線に基づいて補正することで、指の近接位置を補正して、正確な近接位置を取得する表示入力装置が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−３６９０号公報
【特許文献２】国際公開第２０１０／１１３３９７号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特開２０１２-３６９０号公報に記載の構成では、空間上の対象物の位置情報を取得するものではなく、対象物の奥行方向の位置を正確に取得することが困難であり、空間像に対する入力動作を正確に検出することが難しい。
【０００８】
国際公開第２０１０／１１３３９７号に記載の構成では、使用者が意図しない座標の変化（ブレやずれ等）が発生した場合であっても、その変化に対応した近接位置を取得する構成であるため、使用者が意図しない入力操作を検出する恐れがある。
【０００９】
そこで、本発明は、検出領域内に設けられる仮想のユーザインターフェースでの入力操作を正確に認識する空間入力装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明は、検出領域を走査する検査光を出射する走査光源部と、指示体で反射された前記検査光を受光する受光部と、前記受光部で受光した光に基づいて前記指示体の位置を検出する位置検出部と、前記指示体の位置検出面における位置を補正する位置補正部とを有し、前記位置検出部は、前記指示体の移動速度が所定の値以下になったことに基づいて第１の位置を検出し、前記位置補正部は、前記第１の位置に基づいて、前記位置検出面内での第２の位置を決定する、空間入力装置を提供する。
【００１１】
この構成によると、指示体の位置を位置検出面に対して補正するものであるため、使用者の意図に反する位置検出が行われるのを抑制する。これにより、使用者の利便性を高めることが可能である。
【００１２】
上記目的を達成するために本発明は、検出領域を走査する検査光を出射する走査光源部と、指示体で反射された前記検査光を受光する受光部と、前記受光部で受光した光に基づいて前記指示体の位置を検出する位置検出部と、前記指示体の位置検出面における位置を補正する位置補正部とを有し、前記位置検出部は、前記指示体の移動速度が所定の値以下になったことに基づいて第１の位置を検出し、前記指示体と前記位置検出面との距離が所定の長さ以下になったことに基づいて第３の位置を検出し、前記位置補正部は、前記第１の位置と前記第３の位置に基づいて、前記位置検出面内での第２の位置を決定する、空間入力装置を提供する。
【００１３】
この構成によると、指示体の位置を位置検出面に対して補正するものであるため、使用者の意図に反する位置検出が行われるのを抑制する。これにより、使用者の利便性を高めることが可能である。
【００１４】
上記構成において、前記位置補正部は、前記第１の位置と前記第３の位置との距離が所定の長さ以内であることに基づいて、前記第１の位置に基づいて前記第２の位置を決定してもよい。
【００１５】
上記構成において、前記位置検出部は、前記指示体で反射された前記走査光の情報に基づいて、前記指示体の前記検出領域内での位置を検出するものであってもよい。
【００１６】
上記構成において、前記位置検出部は、前記指示体で反射された前記走査光の本数に基づいて、前記指示体と前記位置検出面との距離を検出するものであってもよい。
【００１７】
上記構成において、前記位置検出部は、前記第２の位置の決定に基づいて入力動作が切り替わったと判断するものであってもよい。
【００１８】
上記構成において、制御部は、前記第１の位置に基づいて入力操作を開始するものであってもよい。
【００１９】
上記構成において、前記位置検出部は、前記指示体の移動速度が所定の値以下になったことに基づいて、前記指示体の動作を前記検出領域に進入する動作から所定の動作に切替えるものであってもよい。
【００２０】
上記構成において、前記位置検出面から前記指示体が所定の距離以上離れたことに基づいて、前記入力操作の終了を認識する認識部を備えたものであってもよい。
【発明の効果】
【００２１】
本発明によると、検出領域内に設けられる仮想のユーザインターフェースでの入力操作を正確に認識する空間入力装置を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明にかかる空間入力装置の概略図である。
【図２】位置検出装置の一例のブロック図である。
【図３】図２に示す位置検出装置の光源部及び光走査部の概略配置図である。
【図４】光走査素子の概略平面図である。
【図５】位置検出装置の光走査の動作を示す図である。
【図６】走査制御部から光走査部に送られる走査信号を示す図である。
【図７】検出領域を検査光で走査している状態を示す図である。
【図８】使用者の指で反射された光の受光状態を示す図である。
【図９】位置検出面に表示された仮想のユーザインターフェースを操作している状態の使用者の指を示す図である。
【図１０】位置検出面の座標系における使用者の指の先端の座標を示す図である。
【図１１】本発明にかかる空間入力装置を利用した入力操作のフローチャートである。
【図１２】使用者の指の位置を補正する処理を示すフローチャートである。
【図１３】位置固定処理の詳細を示すフローチャートである。
【図１４】使用者の指で入力操作を行っている状態を示す図である。
【図１５】図１４に示す入力操作を行っているときの使用者の指のｘ、ｙ、ｚ各方向へのぶれを示す図である。
【図１６】本発明にかかる空間入力装置の他の例で用いられる検出領域を示す図である。
【図１７】本発明にかかる空間入力装置を利用した入力操作のフローチャートである。
【図１８】使用者の指の位置を補正する処理を示すフローチャートである。
【図１９】図１７、図１８に示す制御を行ったときの入力操作を示す図である。
【図２０】使用者の指の軌跡で入力走査を行っている状態を示す図である。
【図２１】使用者の指の位置検出面における移動を示す図である。
【図２２】使用者の指の位置を補正する処理を示すフローチャートである。
【図２３】位置補正処理が行われているときの使用者の指の操作位置を示す図である。
【発明を実施するための形態】
【００２３】
本発明にかかる発明について図面を参照して説明する。
【００２４】
＜第１実施形態＞
図１は本発明にかかる空間入力装置の概略図である。図１に示すように、空間入力装置Ｉｐは、表示装置Ｈｔ、空中結像プレートＰｔ、位置検出装置Ａ及びホスト制御装置Ｃｎｔを備えている。空間入力装置Ｉｐは、表示装置Ｈｔ、空中結像プレートＰｔを利用して、使用者（不図示）から見て、従来よく知られている入力操作用のユーザインターフェース（例えば、キーボード、タッチパネル等）の像を空中像として表示する。そして、使用者は空中像として表示されている仮想のユーザインターフェースを操作するように、指示体（ここでは、使用者の指Ｆｇ）を動かす。仮想のユーザインターフェースを操作するときの使用者の指Ｆｇの位置（動き）を位置検出装置Ａで検出し、その検出結果をホスト制御装置Ｃｎｔ（認識部）に送る。
【００２５】
ホスト制御装置Ｃｎｔは、空中像として表示されている仮想のユーザインターフェースの情報と使用者の指Ｆｇの位置の情報とに基づいて、使用者が仮想のユーザインターフェースで行った入力操作を認識する。そして、入力操作の情報を外部の被操作機器（例えば、テレビ、エアコン、オーディオ等、ここでは、テレビＴｖとする）に送る。
【００２６】
位置検出装置Ａは、予め決められた検出領域Ｓａ内の使用者の指Ｆｇを検出するものである。検出領域Ｓａ内には使用者の指Ｆｇを検出するときの基準面である位置検出面Ｉｖが設定されており、表示装置Ｈｔ及び空中結像プレートＰｔは使用者が位置検出面Ｉｖに仮想のユーザインターフェースが設けられていると認識するような空中像を生成している。位置検出装置Ａは、検出領域Ｓａを光ビームで走査し、使用者の指Ｆｇで反射した又は散乱した光を受光することで、使用者の指Ｆｇの位置（３次元座標）、移動等を検出する。位置検出装置Ａは、検出した使用者の指Ｆｇの位置検出面における位置、移動の情報をホスト制御装置Ｃｎｔに送信する。
【００２７】
ホスト制御装置Ｃｎｔは、空中像を生成するための表示装置Ｈｔと接続されており、表示装置Ｈｔの動作を制御している。ホスト制御装置Ｃｎｔは、位置検出装置Ａからの使用者の指Ｆｇの位置情報に基づいて、空中像を切り替えるように表示装置Ｈｔを制御する。例えば、使用者の指Ｆｇの位置、動作に基づいて、仮想キーボードや仮想タッチパネルの空中像の表示を行う(切り替える)。
【００２８】
ホスト制御装置Ｃｎｔは、使用者の指Ｆｇの位置の情報と、仮想のユーザインターフェースの情報（位置検出面Ｉｖにおける座標の情報等）に基づいて使用者が仮想のユーザインターフェースで行っている入力操作を認識する。そして、その入力操作の情報を外部の被操作機器（テレビＴｖ）に送信する。すなわち、ホスト制御装置Ｃｎｔは認識部として動作する。なお、空間入力装置Ｉｐでは、位置検出装置Ａとホスト制御部Ｃｎｔとを別体として記載しているが、一体になっていても構わないし、少なくとも一部を共有するような構成であってもよい。
【００２９】
次に、位置検出装置について図面を参照して説明する。図２は位置検出装置の一例のブロック図であり、図３は図２に示す位置検出装置の光源部及び光走査部の概略配置図である。図２に示すように、位置検出装置Ａは、光源部１００と、光走査部２００と、受光部３００と、処理部４００とを備えている。
【００３０】
位置検出装置Ａにおいては、光源部１００から出射される検査光は光走査部２００に入射する。光走査部２００は検査光で検出領域Ｓａの走査を行う。そして、検出領域Ｓａに進入した使用者の指Ｆｇ（被検出物）に検査光が照射されたとき、使用者の指Ｆｇで反射された光（反射光）又は散乱された光（散乱光）を受光部３００で受光する。受光部３００は反射光又は散乱光を受光したことを示す受光信号を生成するとともに処理部４００に送信する。なお、実際には、反射光と散乱光とが発生しているが、以下の説明では、反射光と散乱光とを含めて単に反射光と称する。処理装置４００は受光信号に基づいて位置情報（所定の基準点に対する座標情報）を検出している。以下に、各部の詳細について説明する。
【００３１】
光源部１００は赤外領域の波長の赤外光（レーザ光）を出射するものである。赤外光は使用者が視認できない波長の光であるため、照射されていることを使用者が認識することはない。図２、図３に示すように、光源部１００は、レーザ発光素子（ＬＤ：Ｌａｓｅｒ Ｄｉｏｄｅ）を用いた光源１１と、ドライバ１１１と、レンズ１２と、ビームスプリッタ１３と、モニタ用受光素子１４とを備えている。
【００３２】
光源１１として、レーザ発光素子を挙げているがこれに限定されるものではなく、所定波長の赤外光を一定の出力以上で出光できる光源を含む構成を広く採用することができる。
【００３３】
光源部１００は後述する光源制御部４１１によって出射制御されている。光源１１は、ドライバ１１１からの駆動信号（電力）で駆動されるものであり、ドライバ１１１は光源制御部４１１からの制御信号（発光信号）に基づいて、光源１１を駆動するための駆動信号を生成する。すなわち、光源制御部４１１が光源１１から出射される赤外光の発光タイミング、強度等を調整している。
【００３４】
光源１１は点光源であり出射された赤外光は発散光である。そのため、光源部１００では、光源１１から出射された赤外光は、レンズ１２を透過することで平行光又は略平行光の光ビームに変換される。なお、ここではレンズ１２としてコリメータレンズを挙げることができるが、これに限定されるものではなく、発散光を平行光に変換できる光学素子を広く採用することができる。
【００３５】
レンズ１２から出射された光ビーム（赤外光）は、ビームスプリッタ１３に入射される。ビームスプリッタ１３は光源１１から出射される赤外光に最適化されており、入射した光ビームのうち一部を反射して、残りを透過させる。ビームスプリッタ１３で反射された光は、モニタ用受光素子１４に入射する。モニタ用受光素子１４は受光した光に基づいたモニタ信号を走査光源制御部４１の光源制御部４１１に送信する。
【００３６】
ビームスプリッタ１３を透過した光ビームは、光走査部２００に入射する。光走査部２００は、入射した光を反射するとともに、反射光の光軸を第１方向（図３では水平方向Ｈ）及び第１方向と直交する第２方向（図３では鉛直方向Ｖ）に移動（走査）する。光走査部２００で走査された光ビームは、検出領域Ｓａを走査する。検出領域Ｓａの光ビームによる走査の詳細については後述する。
【００３７】
光走査部２００は、揺動する反射面で入射した光ビームを第１方向（Ｈ方向）及び第２方向（Ｖ方向）に走査することで検査光を生成する。光走査部２００は光走査素子２と、ドライバ２０１と、信号処理部２０２とを備えている。以下に光走査素子２について図面を参照して説明する。図４は光走査素子の概略平面図である。光走査素子２は、微小な部材であり、例えばＭＥＭＳ（Micro Electro  Mechanical System）と呼ばれる構造を有している。
【００３８】
図４に示すように、光走査素子２は、鏡体２１、第１弾性支持部２２、揺動支持部２３、第１アクチュエータ２４、第２弾性支持部２５、第２アクチュエータ２６及び枠体２７を備えている。なお、図４において横方向を第１方向（Ｈ方向）、縦方向を第２方向（Ｖ方向）として説明する。図４に示すように、光走査素子２は第２方向（Ｖ方向）に伸びる第１軸Ｃ１に対して対称な形状であるとともに、第１方向（Ｈ方向）に伸びる第２軸Ｃ２に対して対称な形状を有している。
【００３９】
枠体２７は矩形状の平板部材であり、中央部分に矩形の開口窓が設けられている。枠体２７の開口窓の内部にＶ方向に延びる長方形状の平板部材である揺動支持部２３が、配置される。枠体２７の開口窓のＨ方向に対向する内壁のＶ方向の中央部分と揺動支持部２３のＨ方向の両端の辺のＶ方向の中央部分とが一対の第２弾性支持部２５で連結されている。一対の第２弾性支持部２５は同じ長さを有している。揺動支持部２３、一対の第２弾性支持部２５及び枠体２７は、第１軸Ｃ１及び第２軸Ｃ２のそれぞれの軸を基準とした線対称形状となっている。
【００４０】
そして、第２弾性支持部２５のＨ方向の中間部分には、Ｖ方向に延びる第２アクチュエータ２６が連結されている。第２アクチュエータ２６は第２弾性支持部２５を挟んで、Ｖ方向の反対側に延びている。第２アクチュエータ２６は第２弾性支持部２５と枠体２７とに連結されている。第２アクチュエータ２６は４個備えられているとともに、４個の第２アクチュエータ２６は第１軸Ｃ１及び第２軸Ｃ２に対して対称となるように設けられている。
【００４１】
第２アクチュエータ２６は圧電素材を備えたものであり、電力が供給されることで、変形する。４個の第２アクチュエータ２６を適切に駆動させることで、第２弾性支持部２５を第２軸Ｃ２を中心としてねじれさせる。第２アクチュエータ２６の変形による力と第２弾性支持部２５の弾性復元力で揺動支持部２３が第２軸Ｃ２回りに揺動する。詳細は後述するが、揺動支持部２３が揺動するときには、揺動支持部２３の内部に設けられる鏡体２１、第１弾性支持部２２及び第１アクチュエータ２４も一体として揺動する。
【００４２】
揺動支持部２３は枠体２７と同様に中央部分に開口窓が形成されている。鏡体２１は主面の一方（ここでは、紙面手前側の面）に反射面２１１が形成された、円板状の部材であり揺動支持部２３の開口窓の内部に配置される。揺動支持部２３の開口窓のＶ方向に対向する内壁のＨ方向の中央部分と鏡体のＶ方向の両端部とが一対の第１弾性支持部２２で連結されている。一対の第１弾性支持部２２は同じ長さを有している。揺動支持部２３、一対の第１弾性支持部２２及び鏡体２１は、静止状態のとき、第１軸Ｃ１及び第２軸Ｃ２のそれぞれの軸を基準とした線対称形状となっている。
【００４３】
そして、揺動支持部２３の長手方向（Ｖ方向）の両端部には、第１弾性支持部２２を挟むように第１アクチュエータ２４が設けられている。第１アクチュエータ２４は、第１軸Ｃ１及び第２軸Ｃ２に対して対称となるように、４個設けられている。
【００４４】
４個の第１アクチュエータ２４を適切に駆動させることで、第１弾性支持部２２に第１軸Ｃ１を中心としてねじれさせ、第１弾性支持部２２の弾性復元力を利用して鏡体２１を第１軸Ｃ１回りに揺動する。この第１アクチュエータ２４からの力の大きさ及び印加タイミングを調整することで、鏡体２１の揺動速度、揺動角度、周波数を調整することができる。
【００４５】
光走査素子２は以上のような構成を有しており、光走査素子２は第１軸Ｃ１回りに揺動している鏡体２１の反射面２１１に光ビームを入射させることで反射面２１１で反射された光ビームが第１方向（Ｈ方向）に走査される。また、光走査素子２は第２軸Ｃ２回りに揺動している筐体２１の反射面２１１に光ビームを入射させることで、反射面２１１で反射された光ビームが第２方向（Ｖ方向）に走査される。
【００４６】
そして、第１アクチュエータ２４及び第２アクチュエータ２６を適切に駆動することで鏡体２１の反射面２１１が第１軸Ｃ１及び第２軸Ｃ２回りにそれぞれ、所定の周期で揺動する。第１軸Ｃ１回り及び第２軸Ｃ２回りに揺動している鏡体２１の反射面２１１に光ビームを照射することで、光ビームを２次元方向（Ｈ方向及びＶ方向）に走査した検査光が生成される。なお、以下の説明において、光ビームを第１方向（Ｈ方向）に走査したときの光の線を走査線と称する場合がある。
【００４７】
なお、光走査素子２では圧電型のアクチュエータを用いた圧電型の光走査素子を例に説明しているが、静電型、磁気型等異なる構成のアクチュエータを用いた光走査素子であってもよい。
【００４８】
また、光走査素子としては、反射面２１１を揺動する構成に限定されるものではなく、反射光の光軸を交差する２軸回りに移動させることができる構成のもの、例えば、ポリゴンミラーやガルバノミラーを組み合わせたものであってもよい。検査光の走査方向である第１方向と第２方向とは直交するものとしているが、これに限定されず、異なる方向であればよい。しかしながら、検査光で検出領域Ｓａを精度よく２次元走査するためには、直交或いは略直交であることが好ましい。
【００４９】
光走査部２００の光走査素子２は、走査光源制御部４１の後述する走査制御部４１２によって駆動制御される。走査制御部４１２からの制御信号（走査信号）はドライバ２０１に入力する。ドライバ２０１は走査制御部４１２からの制御信号に基づいて光走査素子２のアクチュエータを駆動する駆動信号を生成し、アクチュエータを駆動する。そして、鏡体２１は第１軸Ｃ１回り及び第２軸Ｃ２回りに所定の周波数及び揺動角度で揺動する。また、信号処理部２０２は光走査素子２から出力されたセンサ信号に基づいて、反射面２１１の変位（揺動角度）の情報を含む変位信号を生成し、変位信号を走査光源制御部４１の走査制御部４１２に送信する。
【００５０】
受光部３００は、光源部１００から出射された赤外波長域の検査光を使用者の指Ｆｇが横切ることで発生する反射光を受光して受光信号を出力する。受光部３００は、一般的な構成、すなわち、受光素子と、フィルタと、レンズと（いずれも不図示）を備えている。受光部３００は公知であるため詳細な構成は省略する。
【００５１】
次に処理部４００について説明する。処理部４００は光源部１００及び光走査部２００の制御を行うとともに、受光部３００からの受光信号に基づいて、検出領域Ｓａ内にある使用者の指Ｆｇの位置の演算による検出も行っている。
【００５２】
処理部４００は、ＣＰＵ、ＭＰＵ等の演算処理回路を含む構成であり、図２に示すように、走査光源制御部４１、受信部４２、位置検出部４３、位置補正部４４、外部出力部４５、同期信号生成部４６及び記憶部４７を備えている。
【００５３】
走査光源制御部４１は、走査光源部１００からの光の出力、検査光の移動の範囲、速度等を制御する制御部である。走査光源制御部４１は、光源制御部４１１と、走査制御部４１２とを備えている。
【００５４】
光源制御部４１１は、光源部１００の駆動を制御する制御回路である。光源制御部４１１はモニタ用受光素子１４からモニタ信号を受信している。光源制御部４１１はモニタ信号に基づいて、光源１１から出射される光（赤外光）の出力、出光タイミング、出光時間等を制御する制御信号を生成してドライバ１１１に送信している。
【００５５】
走査制御部４１２は、光走査部２００の駆動を制御する制御回路である。走査制御部４１２は光走査部２００の信号処理部２０２からの変位信号を受信する。そして、変位信号に基づいて反射面２１１を適切に揺動するための制御信号を生成してドライバ２０１に送信する。
【００５６】
光源制御部４１１と走査制御部４１２とは光源部１００及び光走査部２００を同期させて駆動させることで、検査光で検出領域Ｓａを走査する。走査光源制御部４１は、記憶部４７にアクセスできるようになっている。走査光源制御部４１は、記憶部４７に記憶されている光走査パターン情報に基づいて光源部１００及び光走査部２００を駆動する。
【００５７】
記憶部４７は、読み出し専用のＲＯＭ、読書き可能なＲＡＭ、フラッシュメモリ等の記憶装置を備えている。記憶部４７は、光源部１００の出光のタイミング、光走査部２００の反射面２１１の揺動角度の情報を時系列に並べた制御テーブルを備えている。なお、制御テーブルは、これら以外のデータを扱うようになっていてもよい。そして、光走査パターン情報として、任意の時間における、光源部１００の出光の有無、反射面２１１（光走査部２００）の揺動角度を含むものを挙げることができる。
【００５８】
受信部４２は、受光部３００と接続されており、受光部３００からの受光信号を取得する回路である。受信部４２は同期信号生成部４６から光源制御部４１１及び走査制御部４１２の駆動を同期させる同期信号を取得しており、受光信号を同期信号と関連付けて位置検出部４３に受け渡している。なお、詳細は後述する。
【００５９】
位置検出部４３は、取得した受光信号及び受光信号に関連付けられた同期信号から使用者の指Ｆｇの位置（座標等）を演算により取得する。受光部３００は、使用者の指Ｆｇが検査光を横切っている限り、定期的（検査光の走査周期ごとに）に受光信号を受信部４２に送信する。そのため、位置検出部４３は定期的に使用者の指Ｆｇの位置の情報を取得している。使用者の指Ｆｇの位置の演算については後述する。
【００６０】
位置検出部４３で取得した使用者の指Ｆｇの位置のデータは位置補正部４４に受け渡される。位置補正部４４は使用者の指の位置を補正する演算を行う演算回路である。補正演算については位置の演算とともに後述する。
【００６１】
外部出力部４５は、ホスト制御装置Ｃｎｔと接続して、ホスト制御装置Ｃｎｔに使用者の指Ｆｇの位置の情報を送信するための外部インターフェースである。外部出力部４５は有線でホスト制御装置Ｃｎｔと接続するものであってもよいし、無線で接続するものであってもよい。
【００６２】
同期信号生成部４６は、同期信号を生成するための信号生成回路を備えている。同期信号に基づいて動作することで、光源制御部４１１及び走査制御部４１２が同期して駆動する。また、同期信号は受信部４２にも送信されている。受信部４２は、同期信号と受光信号とを関連付けて位置検出部４３に送信している。位置検出部４３は受光信号を同期信号とを関連付けて取得することで、光源部１００からの検査光の出光の時間、光走査部２００の走査の開始及び期間と受光部３００による検出光の受光の時間とを関連付けた情報を取得している。
【００６３】
次に、位置検出装置Ａの動作について図面を参照して説明する。図５は位置検出装置の光走査の動作を示す図であり、図６は走査制御部から光走査部に送られる走査信号を示す図である。
【００６４】
図５は、光走査部２００の鏡体２１の動作を示している。図５の矩形は使用者から見た検出領域Ｓａであり、検査光（走査線）による検出領域Ｓａの走査を示している。図５において、検出領域Ｓａを示す矩形の上方には反射面２１１の第１軸Ｃ１回りの揺動を示している。また、左側には第２軸Ｃ２回りの揺動を示している。そして、検出領域Ｓａを示す矩形の内部には、第１軸Ｃ１回りの揺動と第２軸Ｃ２回りの揺動とを組み合わせて行ったときの検出領域Ｓａ内の検査光による走査状態を示している。そして、光走査部２００は走査線を隙間なく配列することで検出領域Ｓａを走査（ラスタスキャン）する。
【００６５】
図５において、第１軸Ｃ１回りの揺動Ｏｓ１は横軸を反射面２１１（鏡体２１）の揺動角度（法線の位置）、縦軸を時間としている。また、第２軸Ｃ２回りの揺動Ｏｓ２は横軸を時間、縦軸を反射面２１１（鏡体２１）の揺動角度（法線の位置）としている。位置検出装置Ａでは、光源制御部４１１が生成する制御信号と走査制御部４１２の制御信号とに基づいて、光源部１００と光走査部２００とを駆動させている。反射面２１１は、第１軸Ｃ１回りに一定の周波数で揺動されるとともに、第２軸Ｃ２回りに一定の周波数で揺動される。このように、揺動している反射面２１１に光ビームを照射することで、光ビームは第１方向（Ｈ方向）及び第２方向（Ｖ方向）に走査される。
【００６６】
光走査部２００は、光ビームを第１方向に走査するとともに第２方向に走査する。これにより、検出領域Ｓａをラスタスキャンしている。この検査光による走査は鏡体２１の第１軸Ｃ１回りの揺動と第２軸Ｃ２回りの揺動によって行われており、図５に示すように、第１軸Ｃ１回りの揺動の周波数は第２軸Ｃ２回りの揺動の周波数よりも高い。例えば、第１方向の揺動周波数は２４ｋＨｚであり、第２方向の揺動周波数は３０Ｈｚを挙げることができる。
【００６７】
このような周波数で鏡体２１を揺動させるために、走査制御部４１２は図６に示すような、走査信号で光走査素子２を駆動している。図６の上段は、第２軸Ｃ２回り（第２方向）の揺動を制御する走査信号であり、中段が第１軸Ｃ１回り（第１方向）の揺動を制御する走査信号である。また、最下段は、使用者の指が検出領域に入ったときの受光部３００からの受光信号を示している。
【００６８】
図６に示すように、走査信号は、一定の期間ごとにアクチュエータが駆動力を出力するような信号である。まず第１軸Ｃ１回りの揺動を制御する走査信号について説明する。図６の中段に示すように、鏡体２１の揺動の周期を大文字の「Ｌ」と数字の組み合わせで表示している。この「Ｌ」と数字の組み合わせで示す期間が第１軸Ｃ１回りの１回の揺動の周期となる。なお、この「Ｌ」に続く数字は、検出領域Ｓａを走査するときの走査線を形成する期間の順番を示している。例えば、Ｌ１は最初の走査線を走査する期間を示し検出領域Ｓａの最も上又は最も下に走査線を形成する期間であることを示している。また、Ｌ４００は、Ｌ１から４００番目の走査線を形成する期間であることを示している。そして、光走査装置Ａは、検出領域Ｓａを８００本走査線で走査する構成であり、最後の期間はＬ８００となる。なお、「Ｌ」に続く数字は、検出領域Ｓａ内での走査線の位置を示すものともいえる。
【００６９】
図６に示すように、各期間の最初のタイミングでアクチュエータ２４が駆動力を出力するように走査信号を走査制御部４１２がドライバ２０１に送信している。このようにして、アクチュエータ２４が出力する駆動力を光走査素子２の固有振動数と同期させることで共振を発生させて揺動させる共振駆動が行われる。つまり、アクチュエータ２４からの振動で共振を発生させることで、鏡体２１を大きく且つ速く（高周波数で）揺動させることができる。
【００７０】
そして、光源部１００からの光ビームは揺動の周期に同期させて出射されている。例えば、図５に示す例で、光源部１００から連続して光ビームが出射されている場合、光走査部２００は鏡体２１の最も揺動角度が大きい両端部分で検査光が検出領域Ｓａからはみ出る。鏡体２１が揺動されている状態で、光源部１００から出射される光ビームのタイミングを調整することで、検出領域Ｓａ内だけを検査光（走査線）で走査するようにすることができる。
【００７１】
第２軸Ｃ２回りの揺動は、光ビームの第１方向の走査１回ごとに第２方向（図５では上下方向）にずらしているといえる。そして、第２軸Ｃ２回りに揺動することで、走査線を検出領域Ｓａに敷き詰めるラスタスキャンが行われる。つまり、第２軸Ｃ２回りの揺動は、第１軸Ｃ１回りに８００回揺動する間に１回揺動される。そのため、第２軸Ｃ２回りの揺動を指示する走査信号は、図６に示すように、Ｌ１からＬ８００が終了するまでを１走査の周期としている。
【００７２】
第２軸Ｃ２回りの揺動も、第１軸Ｃ１回りの揺動のように、共振を利用するものアクチュエータ２６を駆動している。しかしながら、第２軸Ｃ２回りの揺動は、第１軸Ｃ１回りの揺動に比べて周波数が少ない。そのため、第２軸Ｃ２回りの揺動はアクチュエータ２６からの駆動力で直接所定の角度になるように駆動する非共振駆動（ＤＣ駆動）であってもよい。
【００７３】
そして、第１方向の走査が８００回、第２方向の走査が１回終了するごとに、再度元の位置に戻って、検出領域Ｓａの走査を再開する。最初の走査線（ここでは、Ｌ１）の形成開始から最後の走査線（ここでは、Ｌ８００）の形成の終了までを１回の走査の周期として説明する。つまり、１回の走査の周期には、第１方向に８００回光ビームを走査し、第２方向に１回走査する。
【００７４】
位置検出装置Ａによる検出領域内での使用者の指Ｆｇの位置の検出動作について図面を参照して説明する。位置検出装置Ａは、使用者の正面の検出領域Ｓａ内における使用者の指Ｆｇの位置を検出する。検出領域Ｓａは、使用者から見て、縦方向（ｙ方向とする）、横方向（ｘ方向とする）、厚み方向（ｚ方向とする）に広がりを有する直方体形状の領域である。そして、検出領域Ｓａの内部にｘ方向及びｙ方向に広がりを有する位置検出面Ｉｖが設定されている。なお、位置検出面Ｉｖは検出領域Ｓａ内に想定された平面であり、後述する仮想のユーザインターフェースを操作するときの基準となる面である。
【００７５】
光走査部２００は、検出領域Ｓａに対してｘ方向に光ビームを走査した走査線をｙ方向に配列することで、検出領域Ｓａを走査している。つまり、第１方向がｘ方向、第２方向がｙ方向である。位置検出装置Ａでは、検査光で検出領域Ｓａを走査している。検出領域Ｓａに進入した使用者の指Ｆｇで反射された検査光を受光部３００で受光される。受光部３００は検出領域Ｓａ内からの光だけを検出するように配置されている。すなわち、受光部３００の受光可能範囲が検出領域Ｓａであり、受光部３００の設置場所、受光が可能な範囲を変更することで、検出領域Ｓａは変化する。本実施形態では、上述のとおり、使用者と対向する矩形状の面を有するとともに、使用者から見て深さ方向(奥行方向)に厚みを有する直方体形状である。しかしながら、これに限定されるものではなく、受光部３００を変更することで、正方形、円形等の面が使用者と対向するような検出領域Ｓａを形成することも可能である。
【００７６】
走査線は光ビームを第１方向に走査した走査光の線であり、使用者の指Ｆｇが走査線を横切ることで、検査光が使用者の指Ｆｇで反射された反射光が発生する。なお、以下の説明において、使用者の指Ｆｇが走査線を横切ったと示したときには、使用者の指Ｆｇからの反射光が発生しているものとする。また、使用者の指Ｆｇのｘ方向、ｙ方向、ｚ方向の位置とは、特に説明しない限り、使用者の指Ｆｇの先端のｘ方向の位置、ｙ方向の位置、ｚ方向の位置を示すものとする。
【００７７】
受光部３００は、反射光を受光すると受光信号として処理部４００の受信部４２に送る。受信部４２では、鏡体２１による第１方向の走査及び第２方向の走査と同期した同期信号を取得しており、受光信号と同期信号とを関連付けて位置検出部４３に送信している。
【００７８】
位置検出部４３は、受光信号と同期信号に基づいて、受光信号を受光したときの走査の周期と走査線の番号を特定する。なお、以下の説明において、処理部４００が走査の周期、走査線の情報を取得していると記載している場合は、上述のような処理を行った後に取得しているものとする。また、ここでは、走査の周期をその周期を代表する時間（走査開始の時間でもよし、中間での時間でもよいし、終了の時間でもよい）で時系列に区別する。
【００７９】
検出領域Ｓａ内で使用者の指Ｆｇが走査線を横切ったときの反射光を受光した受光部３００が生成する受光信号は、図６に示すような、パルス状の信号である。これは、走査線が検査光をｘ方向に走査した光であり、使用者の指Ｆｇに照射される時間がごく短いためである。検査光の走査は鏡体２１の揺動と同期しているため、位置検出部４３は受光信号と同期信号に基づいて、受光信号を受光したときの走査の周期及び使用者の指Ｆｇが横切った走査線を特定する。また、位置検出部４３は受光信号を受光した時間の走査線を形成する期間内での位置を特定する。位置検出部４３は、使用者の指Ｆｇが横切った走査線の情報（番号）と鏡体２１の第２軸Ｃ２回りの揺動の角度及び周波数から検出領域Ｓａ内におけるｙ方向の位置を特定する。また、位置検出部４３は横切った時間の走査線の期間内での位置と鏡体２１の第１軸Ｃ１回りの揺動の角度及び周波数から、使用者の指Ｆｇのｘ方向の位置を特定する。
【００８０】
例えば、図６に示すように、走査の期間Ｌ４０１の走査開始から、時間ｈ４０１だけ経過したときに受光信号が検出されている。このことから、位置検出部４３は、受光信号と同期信号からこの情報を取得し、走査の期間Ｌ４０１の開始位置から時間ｈ４０１だけｘ方向に移動した位置で使用者の指Ｆｇが走査線Ｌ４０１を横切っていることを取得する。そして、位置検出部４３は、鏡体２１の揺動の角度及び速度から、走査線Ｌ４０１のｙ方向の位置及び走査の期間Ｌ４０１の開始位置から時間ｈ４０１経過時点の検査光の走査位置を特定することでｘ方向の位置を検出する。
【００８１】
次にｚ方向の位置の検出について図面を参照して説明する。図７は検出領域を検査光で走査している状態を示す図であり、図８は使用者の指で反射された光の受光状態を示す図である。図７は検出領域Ｓａを側面から見た図であり、検査光による検出領域Ｓａの走査状態を示すとともに、使用者の指Ｆｇの検出領域Ｓａへの進入を時系列に順次示している。なお、図７において、検出領域Ｓａの使用者側の境界面を第１境界面Ｓａ１、使用者と反対側の境界面を第２境界面Ｓａ２とする。
【００８２】
図７に示すように、位置検出面Ｉｖが検出領域Ｓａの厚み方向（ｚ方向）の略中央部分に配置されている。そして、光走査部２００は検出領域Ｓａの位置検出領域Ｉｖを厚み方向（ｚ方向）に投影した領域の全体を検査光で走査している。図７に示すように、検出領域Ｓａを走査する検査光は検出領域Ｓａの第１境界面Ｓａ１（第２境界面Ｓａ２）に対して照射角度θ傾いている。この検査光の照射角度θについては、後述する。
【００８３】
図７では、説明の便宜上、３０本の走査線で検出領域Ｓａを走査しているものとしているが、実際にはさらに多い（例えば、図６に示すように、８００本）走査線で走査している。なお、大文字の「Ｎ」と数字の組み合わせは、図６の大文字の「Ｌ」と数字の組み合わせと同じ意味であり走査線を示している。すなわち、３０本の走査線をＮ１〜Ｎ３０として説明する。
【００８４】
図７において、使用者の指Ｆｇの先端が検出領域Ｓａの外側から第１境界面Ｓａ１に到達した位置Ｐ０、位置検出面Ｉｖと接触した位置Ｐ１、第２境界面Ｓａ２に到達した位置Ｐ２、第２境界面Ｓａ２より飛び出した位置Ｐ３に移動するものとする。
【００８５】
図８は、３０本の走査線での１回の走査ごとに受光部３００で受光された光を示している。そして、縦方向は３０本の走査線のそれぞれを示し、横方向は、３０本の走査線をすべて並べて走査したときを１回の走査として、走査の周期ごとに時系列で並べて配置している。ここでは、各走査の周期を時間ｔ０〜ｔ６で示しているが、この時間ｔ０〜ｔ６は時刻を示すものではなく、１回の検査領域Ｓａの走査の周期の時系列における位置を示すものである。そして、図８では、各時間ｔ０〜ｔ６で走査した検査光のうち使用者の指Ｆｇで反射され且つ受光部３００で受光された光について、対応する検査光を塗りつぶして表示している。
【００８６】
使用者の指ＦｇがＰ０よりも検出領域Ｓａから離れた位置にある場合、使用者の指Ｆｇが走査線を横切ることもあるが、走査線を横切っている部分が検出領域Ｓａの外であるため、受光部３００が反射光を受光しない。そのため、受光信号を取得していないとき、処理部４００は使用者の指Ｆｇが検出領域Ｓａの外側にあると判断する。
【００８７】
図７に示すように、使用者の指Ｆｇが位置Ｐ０にあるとき、使用者の指Ｆｇは走査線Ｎ１３よりも手前（小さい番号）の走査線を横切っている。使用者の指Ｆｇは位置Ｐ０のときには、第１境界面Ｓａ１に接触した状態であり、使用者の指Ｆｇが走査線Ｎ１３を横切ったときの反射光のみが受光部３００で受光される。受光部３００は反射光を受光すると受光信号を処理部４００に送信する。
【００８８】
処理部４００は、受光信号の受信に基づき、各走査の周期（ｔ０〜ｔ６）のいずれであるかを確認するともに、上述の期間の情報から、使用者の指Ｆｇが横切った走査線（Ｎ１３）を特定する。使用者の指Ｆｇが位置Ｐ０にあるときの走査の周期を時間ｔ０とすると、処理部４００は、使用者の指Ｆｇが時間ｔ０の走査の周期時の走査線Ｎ１３を横切ったと判断する。このことを、模式的に図示すると、図８に示すようになる。図８において、時間ｔ０のときの走査線Ｎ１３の上に使用者の指Ｆｇが検出されたことを示す標識Ｍｋ１が表示される。
【００８９】
図７に示すように、各走査線の第１境界面Ｓａ１と交差する部分のｙ方向の位置はそれぞれ独立している。そのため、処理部４００は、使用者の指Ｆｇが第１境界面Ｓａ１に接触したときに横切った走査線に基づいて、使用者の指Ｆｇの第１境界面Ｓａ１との接触点の第１接触面Ｓａ１におけるｙ方向の位置を特定する。
【００９０】
なお、使用者の指Ｆｇが検出領域Ｓａ内で複数の走査線を横切る場合、使用者の指Ｆｇの第１境界面Ｓａ１に最も近い部分は、最も手前の走査線を横切る。そのため、最初の受光信号の受信時に複数の走査線を横切っていると判断したときには、最も手前の走査線に基づいて、第１境界面Ｓａ１との接触点の第１接触面Ｓａ１におけるｙ方向の位置を判断する。
【００９１】
その後、使用者の指Ｆｇが位置Ｐ０（ｔ０）から位置Ｐ１（ｔ１）に移動したとすると、使用者の指Ｆｇは走査線Ｎ１５よりも手前の走査線を横切る。図８では、時間ｔ１の走査の周期のときに、走査線Ｎ１３、Ｎ１４、Ｎ１５で検出したことを示す標識Ｍｋ２のように表示される。受光部３００は、使用者の指Ｆｇが走査線Ｎ１３、Ｎ１４、Ｎ１５を横切ったことによる反射光を受光し、受光信号を処理部４００に送る。
【００９２】
処理部４００は時間ｔ１の走査の周期のときに、使用者の指Ｆｇが走査線Ｎ１３、Ｎ１４、Ｎ１５を横切っていると判断する。使用者の指Ｆｇが走査線Ｎ１３、Ｎ１４、Ｎ１５を横切っていることから、処理部４００は、使用者の指Ｆｇの先端のｚ方向の位置を特定することができる。つまり、処理部４００は使用者の指Ｆｇが第１境界面Ｓａ１から、走査線２本分、ｚ方向に進入していると判断する。これにより、処理部４００は検出領域Ｓａに進入している使用者の指Ｆｇの第１境界面Ｓａ１からｚ方向の位置を検出する。
【００９３】
さらに、使用者の指Ｆｇが位置Ｐ１（ｔ１）から位置Ｐ２（ｔ２）に移動したとすると、使用者の指Ｆｇは走査線Ｎ１７よりも手前の走査線を横切る。図８では、時間ｔ２の走査のときには、走査線Ｎ１３〜Ｎ１７で検出したことを示す標識Ｍｋ３のように表示される。そして、受光部３００は、使用者の指Ｆｇが走査線Ｎ１３〜Ｎ１７を横切ったことによる反射光を受光し、受光信号を処理部４００に送る。
【００９４】
処理部４００は時間ｔ２の走査の周期のときに、使用者の指Ｆｇが走査線Ｎ１３〜Ｎ１７を横切っていると判断する。使用者の指Ｆｇが走査線Ｎ１３〜Ｎ１７を横切っていることから、処理部４００は、使用者の指Ｆｇの先端のｚ方向の位置を特定することができる。つまり、処理部４００は使用者の指Ｆｇが第１境界面Ｓａ１から、走査線４本分ｚ方向に進入していると判断する。
【００９５】
そして、使用者の指Ｆｇが位置Ｐ２（ｔ２）から位置Ｐ３（ｔ３）に移動したとすると、使用者の指Ｆｇは走査線Ｎ１９よりも手前の走査線を横切る。使用者の指Ｆｇの先端は第２境界面Ｓａ２より突出しており、検出領域Ｓａ内では走査線Ｎ１３〜Ｎ１７を横切っている（図７参照）。使用者の指ＦｇがＮ１８、Ｎ１９を横切っている場所は検出領域Ｓａの外側にある。そのため、図８において、時間ｔ３の走査のときには、走査線Ｎ１３〜Ｎ１７で検出したことを示す標識Ｍｋ４のように表示される。受光部３００は、使用者の指Ｆｇが走査線Ｎ１３〜Ｎ１７を横切ったことによる反射光を受光し、受光信号を処理部４００に送る。
【００９６】
前の時間ｔ２と比較して使用者の指Ｆｇが横切る走査線が変化していない。このことから、処理部４００は、使用者の指Ｆｇの先端が第２境界面Ｓａ２から検出領域Ｓａの外側に出たと判断する。
【００９７】
位置検出装置Ａでは、使用者の指Ｆｇのｚ方向の位置を、使用者の指Ｆｇが横切る走査線の本数で特定している。そして、走査線のｚ方向の配列数が多いほど（分解能が高いほど）ｚ方向の位置の検出精度を高めることができる。そこで、位置検出装置Ａでは、検査光の検出領域Ｓａの第１境界面Ｓａ１及び第２境界面Ｓａ２に対する照射角度θを小さくして、ｚ方向に多くの走査線を配列する、すなわち、分解能を上げている。なお、照射角度θには、光ビームのビーム径や光走査部２００の揺動周波数によって最適値が存在する場合がほとんどであり、照射角度θをその最適値にする又は最適値に近づけることが好ましい。
【００９８】
上述したように、検査光の照射角度θが一定であるため、検出領域Ｓａ内における第１境界面Ｓａ１と位置検出面Ｉｖとの間のｚ方向に配列された走査線の本数は一定である（ここでは、３本）。そのため、処理部４００は受光部３００からの受光信号に基づいて、使用者の指Ｆｇが走査線を３本横切っているときには、使用者の指Ｆｇの先端が位置検出面Ｉｖに到達していると判断する。
【００９９】
例えば、位置Ｐ１よりもｙ方向に走査線Ｎ１側に移動した位置Ｐ４に使用者の指Ｆｇがある場合がある。この場合、使用者の指Ｆｇは走査線Ｎ１１よりも手前の走査線を横切るが、検出領域Ｓａ内に含まれる走査線は走査線Ｎ９、Ｎ１０、Ｎ１１の３本である。そのため処理部４００は受光信号に基づいて、位置Ｐ４における使用者の指Ｆｇの先端のｚ方向の位置は、位置Ｐ１と同じと判断する。そして、検出領域Ｓａ内における使用者の指Ｆｇが横切る最も手前の走査線がＮ９であることから、使用者の指Ｆｇは、位置Ｐ１よりもｙ方向に走査線４本分Ｎ１方向にずれた位置にあると判断する。
【０１００】
以上示したように、位置検出装置Ａでは、処理部４００が、受光部３００からの受光信号に基づいて、使用者の指Ｆｇが横切った走査線を特定し、その走査線の情報から、使用者の指Ｆｇの検出領域Ｓａ内におけるｘ方向、ｙ方向、ｚ方向の位置を検出している。なお、ｘ方向の位置、ｙ方向の位置、ｚ方向の位置は、例えば、検出領域Ｓａ内で決められている（ｘ、ｙ、ｚ）座標で特定するものを挙げることができるが、これに限定されない。
【０１０１】
上述のように、位置検出装置Ａでは、走査の周期ごと（たとえば、時間ｔ０〜ｔ６）に検出領域Ｓａの内部における使用者の指Ｆｇの位置を検出している。位置検出部４３は、各走査の周期で検出された使用者の指Ｆｇの位置（ｘ、ｙ、ｚ）座標に基づいて、使用者の指Ｆｇの移動（軌跡）の情報を得ることができる。そして、位置検出部４３は移動の情報に基づいて、検出領域Ｓａ内での使用者の指Ｆｇの移動を判断している。
【０１０２】
例えば、図７の位置Ｐ０（ｔ０）から位置Ｐ１（ｔ１）に移動する場合、使用者の指Ｆｇが横切る走査線の数は、１本から３本に変化する。すなわち、使用者の指Ｆｇが厚み方向（ｚ方向）の奥に移動した場合、走査の周期が変化することで、使用者の指Ｆｇが横切る走査線の本数が多くなる。位置検出部４３は走査の周期ごとの使用者の指Ｆｇが横切る走査線の本数が多くなると、使用者の指Ｆｇが検出領域Ｓａの内部をｚ方向の奥に進入していると判断する。逆に、使用者の指Ｆｇが横切る走査線の本数の減少する場合、位置検出部４３は使用者の指Ｆｇが検出領域Ｓａ内をｚ方向に引き抜く方向に移動していると判断する。
【０１０３】
また、使用者の指Ｆｇが位置検出面Ｉｖに重なる位置Ｐ１（ｔ１）で停止している場合、走査の周期が変わっても（複数回走査を繰り返しても）使用者の指Ｆｇが横切る走査線はＮ１３、Ｎ１４、Ｎ１５の３本である。位置検出部４３は、走査の周期が変わっても（複数回走査を繰り返しても）、使用者の指Ｆｇが横切る走査線の本数が変化しない場合に、使用者の指Ｆｇが停止していると判断する。
【０１０４】
なお、使用者の指Ｆｇを検出領域Ｓａ内に、支持されることなく停止させる場合、使用者の指Ｆｇが揺れて横切る走査線の本数が変化することがある。このような使用者の指Ｆｇの揺れにとって横切る走査線の本数の変化は少ないことがほとんどである。そこで、位置検出部４３は、走査の周期が変わるの（複数回の走査の繰り返し）に伴い、変化の本数が予め決めた値（閾値）以下の場合には、使用者の指が停止していると判断してもよい。
【０１０５】
また、周期ごとの指Ｆｇの位置（ｘ、ｙ、ｚ）座標を検出していることから、指Ｆｇの移動速度を取得することも可能である。位置検出部４３が、走査線の情報の周期ごとの変化に基づいて、使用者の指Ｆｇの停止を検出していることから、位置検出部４３は、使用者の指Ｆｇの移動速度が所定値以下となったとき停止と判断しているともいえる。
【０１０６】
仮想のユーザインターフェースを操作する場合について図面を参照して説明する。図９は位置検出面に表示された仮想のユーザインターフェースを操作している状態の使用者の指を示す図であり、図１０は位置検出面の座標系における使用者の指の先端の座標を示す図である。なお、位置検出面Ｉｖの座標系とは、検出領域Ｓａにおける座標（ｘ、ｙ、ｚ）から形成した位置検出面Ｉｖに対する垂線の位置検出面Ｉｖとの交点のｘ座標とｙ座標である。
【０１０７】
空間入力装置Ｉｐは、検出領域Ｓａの内部の使用者の指Ｆｇ（指示体）を検出することで、仮想のユーザインターフェースの入力操作を認識する。ここでは、使用者から見ると位置検出面Ｉｖに仮想のキーボードが表示されているものとし、使用者はキーボードのキーをｚ方向に押下する操作を行うものとする。また、位置検出面Ｉｖは第１境界面Ｓａ１及び第２境界面Ｓａ２と平行な平面であり、検出領域Ｓａの略中央に配置されているものとする。
【０１０８】
通常の機械的に動作するキーを備えたキーボードの場合、使用者は、指がキーに接触したことを認識する。そして、キーを押下することで、キーが物理的なスイッチを操作して、入力操作が行われる。このとき、使用者の指は、キーによって押下動作（移動）が制限される。
【０１０９】
一方、仮想のキーボードを操作する場合、キーが実際にそこにあるわけではなく、キーの映像が視認されているだけである。そのため、使用者はキーがあると思う場所を操作するように使用者の指Ｆｇを移動させる。処理部４００は、使用者の指Ｆｇが横切る走査線の番号と本数から使用者の指Ｆｇの位置（移動）を検出する。そして、処理部４００は走査を繰り返し行ったときの使用者の指Ｆｇが横切る走査線の変化から使用者の指Ｆｇの検出領域Ｓａ内での移動（軌跡）を検出する。
【０１１０】
位置検出装置Ａでは、検出領域Ｓａ内に進入した使用者の指Ｆｇが、位置検出面Ｉｖと接触したことを検出したときに、使用者の指Ｆｇが仮想のキーボードと接触したと認識する。処理部４００は使用者の指Ｆｇが位置検出面Ｉｖと接触していない状態のときには、使用者の指Ｆｇは仮想のキーボードを操作しない状態にあると判断する。そして、使用者の指Ｆｇが位置検出面Ｉｖと接触した後、位置検出部４３は使用者の指Ｆｇの検出領域Ｓａ内での位置情報（座標情報）に基づいて、使用者の指の位置検出面Ｉｖでの位置情報（座標情報）を検出する。処理部４００は位置検出面Ｉｖに形成されている仮想のキーボードの情報（例えば、各キーの位置検出面Ｉｖでの位置情報）と使用者の指Ｆｇの位置検出面Ｉｖにおける位置情報とに基づいて、使用者の指Ｆｇによる仮想のキーボードの入力操作を認識する。
【０１１１】
例えば、図１０に示すように、位置検出面Ｉｖに表示された仮想のキーボードの位置Ｔｐ１（ｘ１、ｙ１、ｚ１）に表示されているキーＫｙを押下入力する場合について説明する。
【０１１２】
使用者は、位置検出面Ｉｖに表示されるキーＫｙの位置（ｘｙ平面上の位置）を正確に認識している場合が多く、使用者は位置検出面Ｉｖの操作対象のキーＫｙが表示される場所を正確に使用者の指Ｆｇで触れることが多い。一方で、仮想のキーボードでは、接触感覚がないため、使用者は奥行方向（ｚ方向）の位置の認識が難しく、使用者の指Ｆｇが位置検出面Ｉｖと接触した後、さらにｚ方向に移動して停止する場合が多くなる。
【０１１３】
使用者の指Ｆｇの先端は位置Ｔｐ１で位置検出面Ｉｖと重なる。使用者の指Ｆｇがｚ方向に移動して、位置Ｔｐ１から位置Ｔｐ１１（ｘ１、ｙ１、ｚ２）まで移動したとする。このとき、使用者の指Ｆｇの位置検出面Ｉｖにおける位置は、垂線が位置検出面Ｉｖと重なる点であるため（ｘ１、ｙ１、ｚ１）となる。つまり、使用者の指Ｆｇがｚ方向に正確に移動する場合、使用者の指Ｆｇの先端の停止位置がばらついても、位置検出面Ｉｖにおける使用者の指Ｆｇの座標は変化しない。そのため、使用者の指Ｆｇの先端のｚ方向の位置が多少ばらついても、仮想のキーボードの操作を正確に行うことが可能である。
【０１１４】
しかしながら、使用者は指Ｆｇをｚ方向に移動させているつもりであっても、実際にはｚ方向と異なる方向に移動している場合がある。例えば、図１０に示しているように、使用者の指Ｆｇが位置Ｔｐ１で位置検出面Ｉｖに接触し、その後、位置Ｔｐ２（ｘ２、ｙ２、ｚ２）で停止したとする。位置Ｔｐ２（ｘ２、ｙ２、ｚ２）で停止した場合、位置Ｔｐ２で使用者の指Ｆｇが停止したときの位置検出面Ｉｖでの位置は、図１０に示すとおりであり、キーＫｙからずれてしまう場合がある。
【０１１５】
そのため、位置補正部４４が位置検出部４３から使用者の指Ｆｇの位置の情報（座標情報）を検出し、その位置情報から使用者の指Ｆｇのｚ方向のずれによって発生する位置検出面Ｉｖでの位置ずれを補正する。以下に、位置補正部４４による位置補正の方法について説明する。図９に示すように、使用者の指Ｆｇは位置Ｔｐ０（検出領域Ｓａに進入した位置）から位置検出面Ｉｖに向かって移動し、位置検出面Ｉｖを横切った位置Ｔｐ１（ｘ１、ｙ１、ｚ１）を経て、位置Ｔｐ２（ｘ２、ｙ２、ｚ２）に到達している。
【０１１６】
位置検出部４３は上述したように、使用者が横切っている走査線の情報（番号、本数）に基づいて、使用者の指Ｆｇが位置検出面Ｉｖに接触した座標、すなわち、位置Ｔｐ１の座標を検出する。そして、位置検出部４３は、各走査の周期で検出された使用者の指Ｆｇの位置の情報（座標）を位置補正部４４に送信している。そして、位置検出部４３は、横切る走査線の数の変化から使用者の指Ｆｇのｚ方向の移動の停止を検出している。すなわち、位置検出部４３は使用者の指Ｆｇのｚ方向の移動が停止したと判断すると、その位置（位置Ｔｐ２）の座標を位置補正部４４に送る。
【０１１７】
位置補正部４４は、位置Ｔｐ１から位置Ｔｐ２に至る使用者の指Ｆｇの軌跡を直線であるとして、使用者の指Ｆｇが位置検出面Ｉｖからｚ方向にずれているときの位置検出面Ｉｖにおける位置（座標）の補正を行う。位置検出面Ｉｖにおける使用者の指Ｆｇのｘ方向の補正式をｆｘ（ｘ、ｚ）、ｙ方向の補正式をｆｙ（ｙ、ｚ）とし、補正係数Ｃｘ、Ｃｙとすると、
ｆｘ（ｘ、ｚ）＝ｘ−（ｚ−ｚ１）×Ｃｘ
ｆｙ（ｙ、ｚ）＝ｙ−（ｚ−ｚ１）×Ｃｙ
ただし、
Ｃｘ＝（ｘ２−ｘ１）／（ｚ２−ｚ１）
Ｃｙ＝（ｙ２−ｙ１）／（ｚ２−ｚ１）
【０１１８】
このような演算式を利用して、使用者の指Ｆｇのｚ方向のずれにともなう、ｘ方向、ｙ方向の位置補正を行う。ｆｘ（ｘ、ｚ）及びｆｙ（ｙ、ｚ）は補正値を求める式であり、位置補正部４４は、補正式で求めた補正値を用いて使用者の指Ｆｇの座標を補正する。なお、位置Ｔｐ１と位置Ｔｐ２とのずれが小さい場合がある。このような場合には、別の走査を周期での座標（例えば、使用者の指Ｆｇが検出領域Ｓａに進入した位置である位置Ｔｐ０、図９参照）に基づいて、補正係数Ｃｘ、Ｃｙを求めるようにしてもよい。また、詳細は後述するが、この補正係数Ｃｘ、Ｃｙは、使用者の指Ｆｇが検出領域Ｓａから引き抜かれるまで使用される。
【０１１９】
上述のとおり、位置検出部４３が使用者の指Ｆｇのｚ方向のばらつきに伴う位置検出面Ｉｖ内での位置のずれの補正を行う。そして、位置検出面Ｉｖ内での使用者の指Ｆｇの位置ずれの補正を行うとともに、その補正後の位置の情報をホスト制御装置Ｃｎｔに送信する。ホスト制御装置Ｃｎｔは、位置検出面Ｉｖに表示されている仮想のユーザインターフェースの情報（キー配列、座標等）と使用者の指Ｉｖの位置検出面Ｉｖでの補正位置とに基づいて、入力操作を認識する。
【０１２０】
以下に、本発明にかかる空間入力装置で仮想のユーザインターフェースに入力操作を行う手順を示す。図１１は本発明にかかる空間入力装置を利用した入力操作のフローチャートである。
【０１２１】
上述したように、使用者の指Ｆｇが検出領域Ｓａ内で走査線を横切ることで、受光部３００が反射光を受光して受光信号を生成するとともに、処理部４００に送信する。処理部４００の受信部４２は受光信号を受信したことで、検出領域Ｓａ内に使用者の指Ｆｇ（指示体）が進入したことを検出する（ステップＳ１）。受信部４２は受光信号と同期信号とを関連付けて位置検出部４３に送信する。
【０１２２】
位置検出部４３は受光信号と同期信号とに基づいて、検出領域Ｓａの検査光による１回の走査ごとに使用者の指Ｆｇが横切る走査線の情報（番号、数）を取得する。そして、位置検出部４３は使用者の指Ｆｇの検出領域Ｓａ内の位置を検出する（ステップＳ２）。
【０１２３】
上述のとおり、位置検出部４３によって使用者の指Ｆｇの移動の停止が確認されたときに使用者の指Ｆｇの位置に基づいて、使用者の指Ｆｇの位置検出面Ｉｖにおける位置を補正する（ステップＳ３）。位置の補正の演算は上述のとおりである。そして、使用者の指Ｆｇの位置検出面Ｉｖにおける位置を固定する位置固定処理を行う（ステップＳ４）。位置固定処理の詳細については後述する。
【０１２４】
そして、処理部４００は固定した使用者の指Ｆｇの位置検出面Ｉｖにおける位置の情報（座標）を外部出力部４５を介してホスト制御装置Ｃｎｔに通知する（ステップＳ５）。ホスト制御装置Ｃｎｔは、使用者の指Ｆｇの位置検出面Ｉｖにおける位置の情報と位置検出面Ｉｖに表示されている仮想のユーザインターフェースの情報とに基づいて、使用者による入力操作を認識する。例えば、仮想のキーボードの入力操作の場合、仮想のキーボードの情報（キー配列や各キーの位置検出面Ｉｖでの座標）とに基づいて、使用者の指Ｆｇによる仮想のキーボードの入力を認識する。
【０１２５】
そして、ホスト制御装置Ｃｎｔは、仮想のユーザインターフェースを用いた入力操作を終了するか確認し（ステップＳ６）、終了しない場合（ステップＳ６でＮｏの場合）、指示体検出（ステップＳ１）に戻る。また、仮想のユーザインターフェースを用いた入力操作を終了する場合（ステップＳ６でＹｅｓの場合）、処理を終了する。なお、入力操作を終了する場合としては、決定、中止（キャンセル）等の使用者の意思を確認するキーの入力が行われた場合や予め決められた入力が完了した場合、或いは使用者の指Ｆｇが位置検出面Ｉｖから離れたことを検出した場合を挙げることができる。しかしながら、これに限定されない。
【０１２６】
次に、位置補正の処理（ステップＳ３）の詳細について図面を参照して説明する。図１２は使用者の指の位置を補正する処理を示すフローチャートである。図１２に示すように、位置検出部４３は仮想のキーボードが表示される位置検出面Ｉｖの検出領域Ｓａにおけるｚ方向の位置を検出する（ステップＳ３０１）。ここで、位置検出面Ｉｖのｚ方向の深度は第１境界面Ｓａ１から位置検出面Ｉｖまでのｚ方向の距離である。なお、本実施形態では、使用者の指Ｆｇの進入深さ、先端の到達深さを使用者の指Ｆｇが横切る走査線の本数によって決定することが可能である。そのため、位置検出部４３は第１境界面Ｓａ１から位置検出面Ｉｖまでの間にｚ方向に配列されている走査線の数（図７では３本）を取得する。
【０１２７】
位置検出部４３は、走査の周期ごとに、使用者の指Ｆｇが横切る走査線の情報を検出しており、使用者の指Ｆｇが横切る走査線の情報（番号、本数）から使用者の指Ｆｇが位置検出面Ｉｖに到達しているか否か確認する（ステップＳ３０２）。なお、位置検出部４３は使用者の指Ｆｇが横切る走査線の本数と第１境界面Ｓａ１から位置検出面Ｉｖまでに配置されている走査線の本数を比較し、使用者の指Ｆｇが位置検出面Ｉｖに到達しているか否か判断する。なお、位置検出部４３は、使用者の指Ｆｇが位置検出面Ｉｖに到達していか否かにかかわらず、使用者の指Ｆｇの先端の位置を位置補正部４４に送信する。
【０１２８】
位置検出部４３が使用者の指Ｆｇが位置検出面Ｉｖに到達していないと判断した場合（ステップＳ３０２でＮｏの場合）、位置補正部４４は現在の使用者の指Ｆｇの先端の位置を変位基準点とする（ステップＳ３０３）。なお、変位基準点とは、使用者の指Ｆｇが位置検出面Ｉｖを越えてｚ方向に移動したときのｘ方向及びｙ方向の補正を行う基準点である。例えば、使用者の指Ｆｇが最初に位置検出面Ｉｖと重なる点であり、使用者の指Ｆｇが位置検出面Ｉｖを越えてｚ方向に移動した後は、図１０に示す位置Ｔｐ１と同じである。
【０１２９】
位置補正部４４は使用者の指Ｆｇが位置検出面Ｉｖを越えていないため、使用者の指Ｆｇは仮想のキーボードの操作を行う段階にはないため、使用者の指Ｆｇの位置検出面Ｉｖにおける位置の補正は行わずに、メインの処理の位置固定処理（ステップＳ４）に戻る。なお、使用者の指Ｆｇの先端が位置検出面Ｉｖに到達するまでは、変位基準点はステップＳ３０３で更新される。
【０１３０】
また、使用者の指Ｆｇが位置検出面Ｉｖを越えてｚ方向に移動している場合（ステップＳ３０２でＹｅｓの場合）、位置検出部４３は使用者の指Ｆｇがｚ方向に進入動作中であるか否か確認する（ステップＳ３０４）。上述したように、位置検出部４３は、走査を繰り返すごとに検出する使用者の指Ｆｇが横切る走査線の本数の変化で使用者の指Ｆｇがｚ方向に移動中であるか否か、換言すると、停止しているか否かの判断を行っている。
【０１３１】
使用者の指Ｆｇが進入動作中である（使用者の指Ｆｇが停止していない：ステップＳ３０４でＹｅｓの場合）、現在の使用者の指Ｆｇの位置情報と変位基準点の位置情報に基づいてｘ方向の補正係数Ｃｘ及びｙ方向の補正係数Ｃｙを設定する（ステップＳ３０５）。なお、上述した補正演算の式では、変位基準点を位置Ｔｐ１、現在の位置を位置Ｔｐ２として、その時の各座標から上述の式を用いて、補正係数Ｃｘ、Ｃｙを算出しその値を記憶部４７に記憶する。位置補正部４４は、使用者の指Ｆｇの移動が停止するまで、補正係数Ｃｘ、Ｃｙの算出を繰り返す。なお、補正係数Ｃｘ、Ｃｙは新たに演算される度に記憶部４７に上書きされる。
【０１３２】
補正係数Ｃｘ、Ｃｙの演算を終了した後（ステップＳ３０５の後）又は進入動作が終了している場合（ステップＳ３０４でＮｏの場合）、位置補正部４４は、補正係数を用いて使用者の指Ｆｇの位置検出面Ｉｖにおける位置の補正演算を行う（ステップＳ３０６）。なお、進入動作が終了している場合としては、使用者の指Ｆｇが停止している場合や、使用者の指Ｆｇが検出領域Ｓａに一旦進入した後に、別の動作（例えば、仮想のキーボードの別のキーの操作）を行う場合が含まれる。
【０１３３】
位置補正部４４は、使用者の指Ｆｇのｚ方向のばらつきに基づいて、位置検出面Ｉｖでの位置のｘ方向及びｙ方向の座標の補正を行っている。そして、位置補正部４４はステップＳ３０６で算出した補正位置の座標を使用者の指Ｆｇの位置検出面Ｉｖにおける位置とする（ステップＳ３０７）。その後、メインの処理の位置固定処理（Ｓ４）に戻る。
【０１３４】
ステップＳ３の処理で位置補正を行った後、補正した位置情報に基づいて、位置固定処理（ステップＳ４）を行う。図１３は位置固定処理の詳細を示すフローチャートである。位置固定処理について説明する。
【０１３５】
例えば、図１０に示すように、使用者の指ｆｇが位置検出面Ｉｖと接触した点（位置Ｔｐ１）の位置検出面Ｉｖでの位置は、操作対象のキーＫｙの範囲内に収まっている。一方、位置Ｔｐ２の位置検出面Ｉｖでの補正位置は、操作対象のキーＫｙの範囲から外れる。使用者の指Ｆｇが位置Ｔｐ２で停止したとすると、位置補正部４４は、使用者の指Ｆｇの位置検出面Ｉｖでの操作位置として、位置Ｔｐ２の補正後の位置（座標）をホスト制御装置Ｃｎｔに送信する。ホスト制御装置Ｃｎｔは、送られてきた使用者の指Ｆｇの位置検出面Ｉｖでの位置（操作位置）とキーＫｙの位置がずれているため、入力操作が正確に行われなくなる。
【０１３６】
そこで、位置検出装置Ａの処理部４００の位置補正部４４では、使用者の指Ｆｇが最初に位置検出面Ｉｖと重なった点の精度が高いことを利用して、その後に位置がずれたとしても、使用者の指Ｆｇの位置検出面Ｉｖでの位置を、最初に重なった位置に固定（ホールドと称する）する。この最初に重なった位置をホールド点とする。また、ホールド点から一定の半径の円をホールド円Ｃｈとする。
【０１３７】
使用者の指Ｆｇのｚ方向の移動が静止したときの位置検出面Ｉｖでの補正位置がホールド円Ｃｈ内に収まっている場合、使用者はホールド点に使用者の指Ｆｇを接触させるように移動させたと考えられる。一方、使用者の指Ｆｇのｚ方向の移動が静止したときの位置検出面Ｉｖでの補正位置がホールド円Ｃｈから外れている場合、使用者の指Ｆｇは現在のホールド点以外の点に配置されているキーの操作を行おうとしていると判断してホールドは行わない。以下に位置固定処理の詳細について説明する。
【０１３８】
図１３に示すように、位置補正部４４が使用者の指Ｆｇの位置検出面Ｉｖにおける位置を補正したか否か確認する（ステップＳ４０１）。補正を行っていない場合（ステップＳ４０１でＮｏの場合）、位置補正部４４は使用者の指Ｆｇが位置検出面Ｉｖに到達していないと判断し、メインの処理の位置通知（ステップＳ５）に戻る。補正を行ったと判断した場合（ステップＳ４０１でＹｅｓの場合）、位置補正部４４は使用者の指Ｆｇが位置検出面Ｉｖに到達した直後であるか否か確認する（ステップＳ４０２）。
【０１３９】
上述したように、位置検出面Ｉｖに表示されている仮想のユーザインターフェースを操作するときに、使用者の指Ｆｇが最初に位置検出面Ｉｖに重なる位置の精度が高い場合が多いことを利用しているものである。そのため、使用者の指Ｆｇが位置検出面Ｉｖに到達した直後であることを確認している。
【０１４０】
使用者の指Ｆｇが位置検出面Ｉｖに到達した直後の場合（ステップＳ４０１でＹｅｓの場合）、位置補正部４４は、位置補正部４４は現在の変位基準点（位置Ｔｐ１）をホールド点に決定し（ステップＳ４０３）、ホールド設定を開始する（ステップＳ４０４）。
【０１４１】
使用者の指Ｆｇが位置検出面Ｉｖに到達した直後ではない場合（ステップＳ４０２でＮｏの場合）位置補正部４４はホールド設定が行われている最中であるか確認する（ステップＳ４０５）。ホールド設定が行われていない場合（ステップＳ４０５でＮｏの場合）、位置補正部４４は補正位置を操作位置として設定し（ステップＳ４１０）、メインの処理の位置通知（Ｓ５）に戻る。ここで操作位置とは、仮想のユーザインターフェースを操作するときための使用者の指Ｆｇの位置検出面Ｉｖでの位置であり、メインの処理の位置通知（ステップＳ５）でホスト制御装置Ｃｎｔに通知される位置である。
【０１４２】
ホールド設定を行った場合（ステップＳ４０４）又はホールド設定中である場合（ステップＳ４０５でＹｅｓの場合）、補正位置がホールド円Ｃｈ内に収まっているか否か確認する。そのため、位置補正部４４は使用者の指Ｆｇの位置検出面Ｉｖでの位置の補正位置とホールド点との位置変位量を算出する（ステップＳ４０６）。
【０１４３】
使用者の指Ｆｇが仮想のユーザインターフェースの操作を行っている場合や使用者の指Ｆｇの位置の調整を行う場合がある。このような場合、使用者の意思で操作位置をホールド点から外れるように使用者の指Ｆｇを移動させる場合がある。
【０１４４】
そこで、位置補正部４４は位置変位量が予め決められた閾値以下であるか否か確認する（ステップＳ４０７）。位置変位量が閾値よりも大きい場合（ステップＳ４０７でＮｏの場合）、使用者が指Ｆｇの位置検出面Ｉｖでの位置を意図的にホールド点から大きく移動していると判断し、ホールド設定を終了する（ステップＳ４０９）。そして、補正位置を操作位置として設定し（ステップＳ４１０）、メインの処理の位置通知（ステップＳ５）に戻る。
【０１４５】
位置変位量が閾値以下の場合（ステップＳ４０７でＹｅｓの場合）、位置補正部４４は操作位置のホールド点に対する変位が、使用者の指Ｆｇのｚ方向のぶれによって発生しているｘ方向及び（又は）ｙ方向のずれであると判断する。位置補正部４４はホールド点を操作位置とし（ステップＳ４０８）、メインの処理の位置通知（ステップＳ５）に戻る。
【０１４６】
以上のような制御を行うことで、仮想のユーザインターフェース（キーボード）を用いた入力操作を正確に行うことができる。例えば、図１０に示すように、使用者の指Ｆｇがｚ方向の移動に伴ってｘ方向及びｙ方向にずれたときに操作位置を使用者の指Ｆｇが最初に位置検出面Ｉｖと重なった位置Ｔｐ１にホールドする。これにより、使用者の指Ｆｇ（指示体）のｚ方向の位置がばらついても、使用者の指Ｆｇの位置検出面Ｉｖでの位置のｘ方向及び（又は）ｙ方向のずれを抑制する。これにより、位置検出面Ｉｖに表示される仮想のユーザインターフェースを用いた入力操作の精度を高めることが可能である。なお、本実施形態では、指示体のｚ方向のばらつきによって、位置検出面Ｉｖにおける操作位置がｘ方向及びｙ方向にばらつくつくものとしているが、これに限定されず、ｘ方向又はｙ方向にばらつく場合にも採用することができる。
【０１４７】
＜変形例＞
上述の例では、使用者の指Ｆｇが位置演出面Ｉｖに到達したときに、操作が行われる。しかしながら、使用者が、使用者の指Ｆｇを位置検出面Ｉｖに到達させている判断した場合でも、実際には位置検出面Ｉｖに接近しているだけで位置検出面Ｉｖに到達していない場合もある。この場合、使用者は、仮想のユーザインターフェースを操作しているつもりであっても、空間入力装置Ｉｐでは、入力操作と認識されない。
【０１４８】
そこで、空間入力装置Ｉｐは、使用者の指Ｆｇが位置検出面Ｉｖに到達しない場合であっても、使用者の指Ｆｇの移動速度が一定速度以下になった場合に、使用者による操作を受け付けるようになっている。
【０１４９】
以下に、使用者の指Ｆｇの移動速度に基づく、空間入力装置の操作について説明する。使用者が指Ｆｇで位置検出面Ｉｖに想定されている仮想のユーザインターフェースを操作する、例えば、図１０のキーＫｙを押す動作が行われるものとする。
【０１５０】
空間入力装置Ｉｐでは、一定時間ごとに使用者の指Ｆｇで反射した走査光を検出して、使用者の指Ｆｇの位置を検出している。そのため、位置の情報と時間の情報に基づいて、使用者の指Ｆｇの移動速度を検出している。使用者の指Ｆｇの移動速度が一定以下となったときに、使用者の指Ｆｇによる入力があったものと判断する。位置検出部４３は、使用者の指Ｆｇが横切る走査線の情報（本数、番号）に基づいて、使用者の指Ｆｇと位置検出面Ｉｖとの距離を検出している。
【０１５１】
位置検出部４３は、使用者の指Ｆｇの速度が所定の速度以下となった位置を第１の位置とし、その位置情報を位置補正部４４に送る。位置補正部４４は、第１の位置と、これまでの使用者の指Ｆｇの移動の軌跡に基づいて、使用者の指の位置検出面Ｉｖ上に補正した第２の位置を算出する。位置補正部４４は、第２の位置を現在の位置とする。
【０１５２】
以上のように、第２の位置を算出することで、使用者の指Ｆｇが、位置検出面Ｉｖよりも手前にある場合でも、奥にある場合でも、使用者の指Ｆｇによる、仮想ユーザインターフェースを操作入力が可能となる。
【０１５３】
また、使用者の指Ｆｇによる操作入力の精度をより高めるために、使用者の指Ｆｇの位置検出面Ｉｖまでの距離が所定値以内に近づいた場合に、使用者による操作を受け付けるようになっていてもよい。
【０１５４】
使用者が空間入力装置Ｉｐを操作する場合、使用者の指Ｆｇが位置検出面Ｉｖに到達しない場合がある。この場合にも、使用者の指Ｆｇが位置検出面Ｉｖから所定の距離以内に近づいたときに、使用者の指Ｆｇによる入力があったものと判断する。そのため、位置検出部４３は、使用者の指Ｆｇが横切る走査線の情報（本数、番号）に基づいて、使用者の指Ｆｇと位置検出面Ｉｖとの距離を検出している。
【０１５５】
位置検出部４３は、使用者の指Ｆｇと位置検出面Ｉｖとの距離が所定の距離が所定距離以下になったときの位置を第３の位置とし、その位置情報を位置補正部４４に送る。位置補正部４４は、上述した第１の位置及び第３の位置とに基づいて、使用者の指の位置検出面Ｉｖ上に補正した第２の位置を算出する。位置補正部４４は、第２の位置を現在の位置とする。
【０１５６】
以上のように、第２の位置を算出することで、使用者の指Ｆｇが位置検出面Ｉｖに所定の距離以内に近接している状態で、移動速度が所定速度以下となったときに、使用者の指Ｆｇによる、仮想ユーザインターフェースを操作入力が可能となる。
【０１５７】
使用者の指Ｆｇが位置検出面Ｉｖから所定の距離以内に接近したときの第３の位置を上述の位置Ｔｐ１とする。そして、使用者の指Ｆｇの移動速度が所定の速度以下となった第１の位置を上述のＴｐ２として、上述した、補正式で、位置検出面Ｉｖ上における第２の位置を算出してもよい。
【０１５８】
以上のように、位置検出部４３が、使用者の指Ｆｇの位置検出面Ｉｖに対する位置と移動速度とを検出することで、位置検出面Ｉｖに近接する使用者の指Ｆｇによる仮想ユーザインターフェースの入力を検出することができる。なお、位置検出面Ｉｖに対する位置と移動速度を用いて、位置検出面Ｉｖを超えて移動する使用者の指Ｆｇによる仮想ユーザインターフェースの入力の検出も可能である。
【０１５９】
また、第１の位置と第３の位置との距離が所定の長さ以下、すなわち、第３の位置が、第１の位置をホールド点とするホールド円内にある場合には、位置補正部４４は、第１の位置から位置検出面Ｉｖ上の第２の位置を算出してよい。
【０１６０】
＜第２実施形態＞
本発明にかかる空間入力装置の他の例について図面を参照して説明する。図１４は使用者の指で入力操作を行っている状態を示す図であり、図１５は図１４に示す入力操作を行っているときの使用者の指のｘ、ｙ、ｚ各方向へのぶれを示す図である。なお、空間入力装置Ｉｐの構成については、第１実施形態と同じであるため、構成についての説明は省略する。図１４は位置検出面Ｉｖを使用者の方向から見た図であり、図１０はｘｙ平面を示している。また、図１５は使用者の指Ｆｇの移動を示しており、横軸は時間、縦軸は距離である。そして、最も上にｚ方向の移動、次にｙ方向の移動、最も下にｘ方向の移動を示している。
【０１６１】
位置検出面Ｉｖに表示される仮想のユーザインターフェースとして仮想のタッチパネル等のようなフリーハンドで入力走査（描画）を行うものもある。通常の物理的な接触により入力を行うタッチパネルでは、使用者の指がタッチパネルのタッチ面に接触していることを検出し、接触している部分のタッチ面における座標を検出することで、入力走査を行っている。
【０１６２】
仮想のタッチパネルも同様に、使用者の指Ｆｇが仮想のタッチパネルのタッチ面と重なったこと（上述の物理的に接触したことに相当）が検出されるとともに、タッチ状態を維持して使用者の指Ｆｇを移動させることで入力走査を行う。仮想タッチパネルが位置検出面Ｉｖに表示されている場合、空間入力装置Ｉｐは、使用者の指Ｆｇが位置検出面Ｉｖと重なった状態で移動している情報を検出することで、入力走査が行われていることを認識する。
【０１６３】
なお、使用者の指Ｆｇの位置の検出方法としては、第１実施形態と同じく、検出領域Ｓａを走査する走査線を横切るときの反射光を受光部３００で受光することで検出している。そして、使用者の指Ｆｇの位置検出面Ｉｖでの位置の補正演算も第１実施形態と同じ方法で行われる。
【０１６４】
図１４は、仮想のタッチパネルへの入力を行っており、そのときの、使用者の指Ｆｇの位置検出面Ｉｖでの位置を示している。なお、図１４に示す仮想のタッチパネルへの入力では、仮想のタッチパネルに位置Ｓｐ１から位置Ｓｐ４までの直線を入力するものとする。使用者の指Ｆｇを位置検出面Ｉｖにおける入力開始位置（図１４では位置Ｓｐ１）に重ねる。そして、使用者は指Ｆｇの移動を位置Ｓｐ２で停止させる。すなわち、仮想のタッチパネルの入力開始位置に使用者の指Ｆｇを置いて入力開始とする。そして、使用者の指Ｆｇをｘ方向に移動させる。そして、入力終了位置（位置Ｓｐ４）で使用者の指Ｆｇを位置検出面Ｉｖから手前に引き抜き入力を終了する。
【０１６５】
使用者は、入力開始点である位置Ｓｐ１の位置をある程度正確に把握している。そのため、位置Ｓｐ１で使用者の指Ｆｇが位置検出面Ｉｖに重なる。位置Ｓｐ１が変位基準点となる。そして、位置Ｓｐ２で使用者の指Ｆｇの移動が停止する。
【０１６６】
空間入力装置Ｉｐでは、使用者の指Ｆｇのｚ方向の移動が停止したときに、入力開始と認識する。停止時のｚ方向のずれによって、使用者の指Ｆｇの位置検出面Ｉｖでの位置と入力開始位置とにずれがある場合がある。このような場合、使用者の意図しない位置から開始されることになり、入力の精度低下の原因になる。そこで、本実施形態の空間入力装置Ｉｐでは、入力開始時だけ第１実施形態の位置固定処理と同様の処理を行う。つまり、使用者の指Ｆｇが位置Ｓｐ１で位置検出面Ｉｖと重なり、位置Ｓｐ２まで移動して移動が停止した場合、入力の開始位置を、位置Ｓｐ１（変位基準点でもある）から開始するように位置固定を行う。なお、位置Ｓｐ２が位置Ｓｐ１を中心とするホールド円Ｃｈから外れる場合には、位置Ｓｐ２から開始するものとする。
【０１６７】
入力操作開始後、使用者は指Ｆｇを入力のために移動させる（ここでは、ｘ方向の移動）。仮想のタッチパネルではタッチ面に使用者の指Ｆｇが重なり（交差し）つつ移動することで入力が行われる。使用者が指Ｆｇを空間内で直線的に移動させる場合、正確に移動させているつもりでも実際には直線にならないときが多い。すなわち、使用者の指Ｆｇはｘ方向、ｙ方向及びｚ方向にばらつきつつ、位置検出面Ｉｖに沿って略ｘ方向に移動する。（図１５参照）。
【０１６８】
使用者の指Ｆｇを移動するときにｚ方向の手前側（第１境界面Ｓａ１側）にずれ、使用者の指Ｆｇが位置検出面Ｉｖから外れる場合がある。使用者の指Ｆｇが位置検出面Ｉｖから外れると、仮想のタッチパネルのタッチ面から使用者の指Ｆｇが離れたと判断されるため、入力が途中で中断され、正確な入力が行われない場合がある。
【０１６９】
このことについて図１５を参照して説明する。図１５に示すように、使用者の指が位置Ｓｐ２から位置Ｓｐ４に移動するとき、ｘ方向の移動であるのでｘ方向の位置は、多少ふらつきながらも、大きくなる方向に移動している、また、ｙ方向は多少のばらつきはあるものの安定している。
【０１７０】
図１５において、ｚ方向の位置は下側が検出領域Ｓａの手前側（第１境界面Ｓａ１側）である。図１５に示すように、ｚ方向のばらつきはｘ方向、ｙ方向のばらつきに比べて大きくなっている。そして、時刻ｔｚ１〜ｔｚ２の間で使用者の指Ｆｇが位置検出面Ｉｖより第１境界面Ｓａ１側に移動している（引き抜かれている）。本実施形態のような仮想のタッチパネルでは、使用者の指Ｆｇが位置検出面Ｉｖから引き抜かれると、入力操作が終了とされる。
【０１７１】
そこで、本実施形態に示す空間入力装置Ｉｐでは、このようなｚ方向の使用者の指のばらつきに備えている。図１６は本発明にかかる空間入力装置の他の例で用いられる検出領域を示す図である。図１６に示すように、位置検出装置Ａは、検出領域Ｓａ内に位置検出面Ｉｖよりもｚ方向で第１境界面Ｓａ１側の位置に第２位置検出面Ｉｖ２を備えている。そして、空間入力装置Ｉｐでは、使用者の指Ｆｇが移動するときにｚ方向にばらついて位置検出面Ｉｖから引き抜かれても入力を継続するように、位置検出面Ｉｖから引き抜かれても第２位置検出面Ｉｖ２を横切っている間は、入力動作を継続する。なお、空間入力装置Ｉｐは使用者の指Ｆｇが位置検出面Ｉｖに重なったときに入力操作の開始と認識し、使用者の指Ｆｇが第２位置検出面Ｉｖ２から引き抜かれたときに入力操作を終了したと認識する。
【０１７２】
このような、仮想のタッチパネルに対して、使用者の指Ｆｇで正確に入力する動作について図面を参照して説明する。図１７は本発明にかかる空間入力装置を利用した入力操作のフローチャートである。
【０１７３】
図１７に示すフローチャートでは、位置固定処理が省略されているとともに、位置補正処理（ステップＳ３１）及び位置情報通知（ステップＳ５１）が異なる処理になっている以外は、図１１に示す処理と同じ処理であり、詳細は省略する。図１７に示す位置補正処理Ｓ３１は、上述したように、入力開始直後の位置固定処理を含んでいる。
【０１７４】
また位置情報通知（ステップＳ５１）は、図１１のフローチャートの位置通知（ステップＳ５）に相当するステップである。位置通知（ステップＳ５）は使用者の指Ｆｇの位置検出面Ｉｖにおける位置を外部出力部４５を介してホスト制御装置Ｃｎｔに送信していた。それに対し、位置情報通知（ステップＳ５１）は、位置に加えて入力操作を終了する情報も外部出力部４５を介してホスト制御装置Ｃｎｔに送信する。
【０１７５】
以下に、本実施形態にかかる空間入力装置の動作について図面を参照して説明する。図１８は使用者の指の位置を補正する処理を示すフローチャートである。
【０１７６】
位置検出部４３は、位置検出面Ｉｖのｚ方向の位置（第１境界面Ｓａ１との間に配列されている走査線の数）を検出する（ステップＳ５０１）。また、同様に第２位置検出面Ｉｖ２のｚ方向の位置（第１境界面Ｓａ１と第２位置検出面Ｉｖ２の間に配列されている走査線の数）を検出する（ステップＳ５０２）。
【０１７７】
位置検出部４３は使用者の指Ｆｇの位置情報から使用者の指Ｆｇが検出領域Ｓａ内に移動する動作（進入動作）中であるか否か確認する（ステップＳ５０３）。使用者の指Ｆｇが進入動作中である場合（ステップＳ５０３でＹｅｓの場合）、位置検出部４３は、使用者の指Ｆｇが横切る走査線の情報（番号、本数）から使用者の指Ｆｇが位置検出面Ｉｖに到達しているか否か確認する（ステップＳ５０４）。なお、ステップＳ５０４は図１１のフローチャートのステップＳ３０２と同じ動作である。
【０１７８】
使用者の指Ｆｇが位置検出面Ｉｖに到達していない場合（ステップＳ５０４でＮｏの場合）、現在の使用者の指Ｆｇの位置を変位基準点に設定する（ステップＳ５０５）。そして、ホールド点を変位基準点に設定し（ステップＳ５０６）、メインの処理の位置情報通知（ステップＳ５１）に戻る。
【０１７９】
使用者の指Ｆｇが位置検出面Ｉｖに到達している場合（ステップＳ５０４でＹｅｓの場合）、位置補正部４４は使用者の指Ｆｇの位置検出面Ｉｖでの位置の補正を行うための補正係数を算出して設定する（ステップＳ５０７）。その後、使用者の指Ｆｇの位置検出面Ｉｖでの位置の補正位置を演算する（ステップＳ５０８）。なお、ステップＳ５０７、Ｓ５０８は、図１１のフローチャートのステップＳ３０５、Ｓ３０６とそれぞれ同じである。
【０１８０】
仮想のタッチパネルの入力操作では、上述したように、入力開始時に使用者の指Ｆｇの位置検出面Ｉｖでの位置を固定する位置固定処理を行う。つまり、使用者の指Ｆｇのｚ方向の移動が停止した位置（位置Ｓｐ２）での位置検出面Ｉｖでの補正位置がホールド円Ｃｈ内あるか確認する。そのため、位置補正部４４は、補正位置のホールド点に対する変位量を算出する（ステップＳ５０９）。
【０１８１】
位置補正部４４は位置変位量が予め決められた閾値以下であるか否か確認する（ステップＳ５１０）。位置変位量が閾値よりも大きい場合（ステップＳ５１０でＮｏの場合）、使用者が指Ｆｇの位置検出面Ｉｖでの位置を意図的にホールド点から大きく移動していると判断する。そして、補正位置を操作位置として設定し（ステップＳ５１２）、メインの処理の位置情報通知（ステップＳ５１）に戻る。
【０１８２】
位置変位量が閾値以下の場合（ステップＳ５１０でＹｅｓの場合）、位置補正部４４は操作位置のホールド点に対する変位が、使用者の指Ｆｇのｚ方向のぶれによって発生しているｘ方向及び（又は）ｙ方向のずれであると判断する。位置補正部４４はホールド点を操作位置とし（ステップＳ５１１）、メインの処理の位置情報通知（ステップＳ５１）に戻る。
【０１８３】
なお、ステップＳ５０９〜ステップＳ５１２までの処理は、図１３に示すフローチャートのステップＳ４０６〜Ｓ４１０と同じ動作である。また、仮想のタッチパネルを走査する場合、ステップＳ５０９〜ステップＳ５１１は、入力開始時だけに行われる処理である。
【０１８４】
また、使用者の指Ｆｇが進入動作中でない場合（ステップＳ５０３でＮｏの場合）、仮想のタッチパネルに対する入力が行われている最中であると判断する。位置補正部４４は、使用者の指Ｆｇが第２位置検出面Ｉｖ２よりもｚ方向の奥側にあるか否か確認する（ステップＳ５１３）。上述のように、使用者の指Ｆｇが空間を移動する場合に使用者の指Ｆｇがｚ方向に引き抜かれ、使用者の指Ｆｇが位置検出面Ｉｖと重ならなくなる場合がある。使用者の指Ｆｇが位置検出面Ｉｖよりも第１境界面Ｓａ１側の第２位置検出面Ｉｖ２を基準とすることで、使用者の指Ｆｇが移動中にｚ方向にばらついて、位置検出面Ｉｖに到達しない場合があっても、入力操作を継続することができる。
【０１８５】
使用者の指Ｆｇが第２位置検出面Ｉｖ２よりもｚ方向の手前側にある場合（ステップＳ５１３でＮｏの場合）、位置補正部４４は使用者の指Ｆｇが引き抜かれて入力操作が終了されたと判断し、入力操作終了の情報を外部出力部４５に出力する（ステップＳ５１５）。そして、メインの処理の位置情報通知（ステップＳ５１）に戻る。なお、位置情報通知（ステップＳ５１）は、外部出力部４５を介して、ホスト制御装置Ｃｎｔに走査入力終了の情報を送信する。
【０１８６】
使用者の指Ｆｇが第２位置検出面Ｉｖ２よりもｚ方向の奥側にある場合（ステップＳ５１３でＹｅｓの場合）、位置補正部４４は使用者の指Ｆｇの位置検出面Ｉｖにおける補正位置を算出する補正演算を行う（ステップＳ５１４）。なお、補正演算（ステップＳ５１４）は、補正演算（ステップＳ５０８）と同じ操作である。そして、補正演算で求めた補正位置を操作位置として設定し（ステップＳ５１２）、メインの処理の位置情報通知（ステップＳ５１）に戻る。
【０１８７】
以上のような制御を行ったときのホスト制御装置Ｃｎｔが認識した入力操作について説明する。図１９は図１７、図１８に示す制御を行ったときの入力操作を示す図である。図１９は位置検出面Ｉｖを使用者側から見た図であり、ｘ方向に直線を描画する動作である。なお、使用者の指Ｆｇの動きは図１４、図１５に示すとおりである。使用者の指Ｆｇが位置Ｓｐ１で位置検出面Ｉｖと重なった後、位置Ｓｐ２で一旦停止する。このとき、位置ｓｐ２の位置検出面Ｉｖにおける補正位置がホールド円Ｃｈ内に収まっているので、入力操作の開始点は位置Ｓｐ１となる。その後、図１５に示すように使用者の指Ｆｇは、位置検出面Ｉｖ又は第２位置検出面Ｉｖ２から引き抜かれない状態を維持しつつｘ方向に移動する。そして、位置Ｓｐ４で第２位置検出面Ｉｖ２から引き抜かれることで入力操作が終了する。そのため、図１９に示すような、位置Ｓｐ１から位置Ｓｐ４に至る直線が入力される。
【０１８８】
以上示したように、本実施形態にかかる空間入力装置Ｉｐは、位置検出面Ｉｖよりも使用者の指Ｆｇの引き抜き方向の手間側に第２位置検出面Ｉｖ２を設定することで、使用者の指Ｆｇを移動させる入力操作（タッチ操作）を行う場合に、使用者の指Ｆｇがｚ方向に引き抜く方向にぶれが発生しても、途中で入力が停止されるのを抑制することができる。
【０１８９】
以上示した本実施形態の空間入力装置Ｉｐは、仮想のタッチパネルで直線を描画（入力）するものを例に挙げている。このような使用者の指Ｆｇが位置検出面Ｉｖと重なった（交差した）状態を維持して移動させる入力操作は、例えば、アイコン等を移動させる動作としても利用することができる。
【０１９０】
アイコンを移動するような動作を行う手順について図面を参照して説明する。図２０は使用者の指の軌跡で入力を行っている状態を示す図である。図２０に示す仮想のユーザインターフェースは仮想のタッチパネルである。図２０では、仮想のユーザインターフェースの位置検出面Ｉｖが外部機器の画像表示部（例えば、液晶パネルの画像表示領域）を表している。ここでは、位置Ｓｐ１にあるアイコンを位置Ｓｐ３に移動させるものである。
【０１９１】
上述のとおり、位置検出部４３は、使用者の指Ｆｇが位置Ｓｐ１で位置捻出面Ｉｖと重なっていると判断する。そして、位置検出部４３は位置Ｓｐ２で使用者の指Ｆｇのｚ方向の移動が停止されたと判断し、位置補正部４４は位置Ｓｐ２の位置を補正し、必要に応じて位置固定（ホールド）を行う。
【０１９２】
ホスト制御装置Ｃｎｔは、使用者の指Ｆｇのｚ方向の移動が停止したときに、入力操作が開始されたと認識する。そして、入力操作開始位置は、ホールドが行われたときには位置Ｓｐ１であり、ホールドが行われない場合位置Ｓｐ２である。ここでは、ホールドが行われ、位置Ｓｐ１が入力開始位置とする。
【０１９３】
そして、使用者の指Ｆｇの位置Ｓｐ３への移動した情報を検出すると、ホスト制御装置Ｃｎｔは、入力操作が終了したと判断する（メインの処理のステップＳ６。このように、使用者の指Ｆｇが予め決められた位置（位置Ｓｐ３）に移動したことを検出したときに、入力操作の終了としてもよい。
【０１９４】
また、例えば使用者の指Ｆｇが一定期間停止した後、使用者の指Ｆｇが位置検出面Ｉｖ（第２位置検出面Ｉｖ２）と重ならないように引き抜かれたとする。使用者の指Ｆｇが位置検出面Ｉｖ（第２位置検出面Ｉｖ２）と重ならなくなった位置（位置Ｓｐ４）が、停止位置（例えば、位置Ｓｐ３）を中心とするホールド円Ｃｈの内部にあるときは、ホスト制御部Ｃｎｔは入力操作の終了の位置を停止位置（位置Ｓｐ３）とする。
【０１９５】
使用者の指Ｆｇが位置検出面Ｉｖ（第２位置検出面Ｉｖ２）と重ならなくなった位置（位置Ｓｐ４）が、停止位置（例えば、位置Ｓｐ３）を中心とするホールド円Ｃｈの外部にあるときは、ホスト制御部Ｃｎｔは入力操作の終了の位置を重ならなくなった位置（位置Ｓｐ４）とする。
【０１９６】
このように、走査終了時にも位置固定処理を行うようにすることで、使用者の指Ｆｇの移動による入力操作を正確に行うことが可能である。
【０１９７】
なお、第２位置検出面Ｉｖ２の位置については、予め決められた位置であってもよいし、使用者の使用状態に合わせて適宜変更されるようになっていてもよい。使用者の使用状態に合わせて適宜変更可能な場合、使用者の癖に合わせた設定となるため、利便性を高めることができる。
【０１９８】
なお、使用者の指Ｆｇが、位置検出面Ｉｖに所定の距離以下に近づいたことに基づいて、或いは、位置検出面Ｉｖに所定の距離以下に近づくとともに移動速度が所定の速度以下になったときに、操作入力が行われていると判断してもよい。この場合、第１の位置から算出した第２の位置または第１の位置及び第３の位置から算出した第２の位置から入力を開始する。また、このように、使用者の指Ｆｇが位置検出面Ｉｖに対して所定の距離以下に近づいたことに基づいて、操作入力が行われる場合、使用者の指Ｆｇの位置検出面Ｉｖからの距離が一定の範囲内にあるときには、操作入力が継続されていると判断してもよい。すなわち、位置検出部４３は、第２の位置が決定に基づいて、入力動作が切り替わったと判断する。
【０１９９】
＜第３実施形態＞
本発明にかかる位置検出装置の他の例について図面を参照して説明する。なお、空間入力装置Ｉｐの構成については、第１実施形態と同じであるため、構成についての説明は省略する。図２１は使用者の指の位置検出面における移動を示す図である。図２１に示す使用者の指Ｆｇの動きは、図１４に示す使用者の指Ｆｇの動きに似ている。すなわち、使用者の指Ｆｇは位置Ｒｐ１で位置検出面Ｉｖを横切るとともに位置Ｒｐ２でｚ方向の位置が安定する。その後、使用者の指Ｆｇは位置Ｒｐ３に向かって移動し、位置Ｒｐ４で位置検出面Ｉｖよりも第１境界面Ｓａ１側に移動する（引き抜かれる）。
【０２００】
図２１に示す使用者の指Ｆｇの動きと図１４に示す使用者の指Ｆｇの動きの差異について説明する。図１４に示す使用者の指Ｆｇの動きは、使用者の指Ｆｇは位置Ｓｐ１で位置検出面Ｉｖに重なり（交差し）、位置Ｒｐ２で一旦停止する。一方、図２１に示す使用者の指の動きは、使用者の指Ｆｇは位置Ｒｐ１で位置検出面Ｉｖに重なり（交差し）、位置Ｒｐ２でｚ方向の移動は停止する（ｚ方向に安定する）が、ｘ方向及びｙ方向の移動は停止せずに位置Ｒｐ３に向けて移動する。つまり、図１４に示す動きでは、使用者の指Ｆｇは入力開始位置で停止するが、図２１に示す動きでは、使用者の指Ｆｇは入力開始位置への移動に連続して入力操作が行われる。
【０２０１】
図２１に示す動きの場合、ｚ方向の移動が安定していることから使用者は指Ｆｇが位置Ｒｐ２に到達したときから、入力操作を行っていると考えられる。一方で、使用者は視認等により入力開始点が位置Ｒｐ１であることを認識している。すなわち、使用者としては、位置Ｒｐ１からの操作開始であって、位置Ｒｐ２から位置Ｒｐ２１に移動するときの進行方向に指Ｆｇを移動させていると考えられる。
【０２０２】
そのため、位置補正部４４では、以下のような位置補正処理を行う。まず、位置補正部４４は、使用者の指Ｆｇが位置Ｒｐ１から位置Ｒｐ２に移動した、すなわち、ｚ方向の移動が安定したことを確認する。その後、使用者の指Ｆｇが位置Ｒｐ２から位置Ｒｐ３に移動するときに、位置Ｒｐ２から一定距離移動した位置Ｒｐ２１の位置情報を検出する。位置Ｒｐ２１の位置は、位置Ｒｐ２から一定時間経過後（一定回数走査を行った後）の位置でもよいし、一定距離移動したときの位置であってもよい。
【０２０３】
位置補正部４４は位置Ｒｐ２から位置Ｒｐ２１に移動するときの進行方向を演算により取得する。この進行方向は使用者が想定している移動方向と一致した或いは略一致した移動方向である。そして、上述のとおり、使用者は、入力操作の開始位置を高い精度で把握しているため、仮想のタッチパネルにおいて使用者が望む入力操作は、位置Ｒｐ１を通り、位置Ｒｐ２から位置Ｒｐ２１に移動する移動方向と平行な径路になる。本実施形態では、位置Ｒｐ２は入力開始点ではなく、入力操作の途中の点である。そのため、上述とは異なる補正演算が必要となる。
【０２０４】
まず、変位基準点について説明する。入力操作の開始点は位置Ｒｐ１である。位置Ｒｐ１から位置Ｒｐ２に移動している間も使用者の指Ｆｇの入力操作の一部である。入力操作時の使用者の指Ｆｇの位置検出面Ｉｖにおける移動方向は、位置Ｒｐ２から位置Ｒｐ２１に進む方向である。そのため、位置Ｒｐ１を通り、位置Ｒｐ２から位置Ｒｐ２１への移動方向と平行な径路Ｒａを設定する。そして、位置Ｒｐ２から径路Ｒａに下した垂線の交点を位置Ｒｐ２２とする。位置Ｒｐ１を第１基準点とし座標を（ｘ１、ｙ１、ｚ１）、位置Ｒｐ２を第２基準点とし座標を（ｘ２、ｙ２、ｚ２）とする。径路Ｒａは位置Ｒｐ１を通る経路であるため位置検出面Ｉｖ上にあり、位置検出面Ｉｖはｚ＝ｚ１であるため、位置Ｒｐ２２の座標は（ｘｃ、ｙｃ、ｚ１）となる。なお、ｘｃ、ｙｃは第１基準点と第２基準点及び点Ｒ２１の座標に基づいて演算により算出できる。
【０２０５】
位置Ｒｐ２２を変位基準点として使用者の指Ｆｇの位置を位置検出面Ｉｖにおける位置に補正することで、径路Ｒａ上の補正位置とすることができ、入力操作の精度を高めることができる。使用者の指Ｆｇのｘ方向の補正式をｆｘ（ｘ、ｚ）、ｙ方向の補正式をｆｙ（ｙ、ｚ）とし、補正係数Ｃｘ１、Ｃｙ１とすると、
ｆｘ（ｘ、ｚ）＝ｘ−（ｚ−ｚ１）×Ｃｘ１
ｆｙ（ｙ、ｚ）＝ｙ−（ｚ−ｚ１）×Ｃｙ１
Ｃｘ１＝（ｘ２−ｘｃ）／（ｚ２−ｚ１）
Ｃｙ１＝（ｙ２−ｙｃ）／（ｚ２−ｚ１）
となる。
【０２０６】
このような演算式を利用して、使用者の指Ｆｇの移動を補正することで、入力操作の精度を高めることができる。
【０２０７】
以上示した補正演算を利用して補正を行うときの仮想のユーザインターフェースの操作について図面を参照して説明する。図２２は使用者の指の位置を補正する処理を示すフローチャートである。図２２に示すフローチャートではステップＳ３１０〜ステップＳ３１３を備えている以外は、図１２に示すフローチャートと同じ構成を有している。そのため、実質上同じステップについての詳細な説明は省略する。なお、メインの処理は第２実施形態の処理と同じである。
【０２０８】
図２２に示すように、位置検出部４３は仮想のタッチパネルが表示される位置検出面Ｉｖのｚ方向の位置を検出する（ステップＳ３０１）。位置検出部４３は、使用者の指Ｆｇが位置検出面Ｉｖに到達しているか否か確認する（ステップＳ３０２）。位置検出部４３が使用者の指Ｆｇが位置検出面Ｉｖに到達していないと判断した場合（ステップＳ３０２でＮｏの場合）、位置補正部４４は現在の使用者の指Ｆｇの先端の位置を第１基準点とする（ステップＳ３１０）。なお、第１基準点は上述のとおり、使用者の指Ｆｇが位置検出面Ｉｖを越えてｚ方向に移動したときのｘ方向及びｙ方向の補正を行う基準点である。例えば、使用者の指Ｆｇが最初に位置検出面Ｉｖと重なる面であり、使用者の指Ｆｇが位置検出面Ｉｖを越えてｚ方向に移動した後は、図２１に示す位置Ｒｐ１と同じである。
【０２０９】
位置補正部４４は使用者の指Ｆｇが位置検出面Ｉｖを越えていないため、メインの処理の位置情報通知（ステップＳ５１）に戻る。なお、使用者の指Ｆｇの先端が位置検出面Ｉｖに到達するまでは、第１基準点はステップＳ３１０で更新される。
【０２１０】
また、使用者の指Ｆｇが位置検出面Ｉｖを越えてｚ方向に移動している場合（ステップＳ３０２でＹｅｓの場合）、位置検出部４３は使用者の指Ｆｇがｚ方向に進入動作中であるか否か確認する（ステップＳ３０４）。使用者の指Ｆｇが進入動作中である（ステップＳ３０４でＹｅｓの場合）、位置補正部４４は現在の使用者の指Ｆｇの先端の位置を第２基準点とする（ステップＳ３１２）。なお、第２基準点は上述のとおり、使用者の指Ｆｇが位置検出面Ｉｖを越えてｚ方向に移動したときのｘ方向及びｙ方向の補正を行う基準点である。
【０２１１】
そして、現在の使用者の指の位置検出面Ｉｖにおける位置を操作位置とし（ステップＳ３１３）、メインの処理の位置情報通知（ステップＳ５１）に戻る。
【０２１２】
使用者の指Ｆｇが進入動作中ではない場合（ステップＳ３０４でＮｏの場合）、使用者の指Ｆｇのｚ方向位置が安定した直後であるか否か確認する（ステップＳ３１１）。上述のとおり、補正係数は使用者の指Ｆｇのｚ方向の位置の安定化後の第１基準点と第２基準点と位置Ｒｐ２１とに基づいて算出する。そのため、現在の状態が使用者の指Ｆｇのｚ方向の位置が安定化した直後か否か確認する（ステップＳ３１１）。なお、ここで使用者の指Ｆｇのｚ方向の位置の安定化直後とは、位置Ｒｐ２１の座標を検出した後とする。
【０２１３】
使用者の指Ｆｇのｚ方向の位置の安定化直後の場合（ステップＳ３１１でＹｅｓの場合）、第１基準点、第２基準点及び位置Ｒｐ２１からｘ方向の補正係数Ｃｘ１及びｙ方向の補正係数Ｃｙ１を設定する（ステップＳ３０５）。なお、演算により算出された補正係数Ｃｘ１、Ｃｙ１は記憶部４７に記憶される。補正係数Ｃｘ１、Ｃｙ１の演算は、使用者の指Ｆｇのｚ方向の位置の安定化直後の１回だけ行われる。
【０２１４】
使用者の指Ｆｇのｚ方向の位置が安定化直後でない場合（ステップＳ３１１でＮｏの場合）或いは補正係数Ｃｘ１、Ｃｙ１の演算を終了した後（ステップ
Ｓ３０５の後）、位置補正部４４は、補正係数を用いて使用者の指Ｆｇの位置検出面Ｉｖにおける位置の補正演算を行う（ステップＳ３０６）。位置補正部４４はステップＳ３０６で算出した補正位置の座標を使用者の指Ｆｇの位置検出面Ｉｖにおける位置とする（ステップＳ３０７）。その後、メインの処理の位置情報通知（Ｓ５１）に戻る。
【０２１５】
図２３は位置補正処理が行われているときの使用者の指の操作位置を示す図である。以上示したような補正処理が行われることで、点Ｐｒ１で入力操作が開始された仮想のタッチパネルは、使用者の指Ｆｇが位置Ｒｐ４に到達するまで、停止することなく入力操作が行われる。これにより、入力開始位置で使用者の指Ｆｇを停止させなくても、仮想のタッチパネルを正確に操作することが可能である。
【０２１６】
なお、第２実施形態のような処理と第３実施形態の処理との両方が可能な構成としておき、検出領域Ｓａ内での使用者の指Ｆｇの移動速度や位置Ｒｐ２での移動状態、移動量によって、処理を使い分けるようにしてもよい。
【０２１７】
以上、本発明の実施形態について説明したが、本発明はこの内容に限定されるものではない。また本発明の実施形態は、発明の趣旨を逸脱しない限り、種々の改変を加えることが可能である。また、上記各実施形態は適宜組み合わせて実施することも可能である。
【符号の説明】
【０２１８】
Ａ  位置検出装置
１００  光源部
１１  光源（ＬＤ）
１１１  ドライバ
１２  レンズ
１３  ビームスプリッタ
１４  モニタ用受光素子
２００  光走査部
２  光走査素子
２０１  ドライバ
２０２  信号処理部
２１  鏡体
２１１  反射面
２２  第１弾性支持部
２３  揺動支持部
２４  第１アクチュエータ
２５  第２弾性支持部
２６  第２アクチュエータ
２７  枠体
３００  受光部
４００  処理部
４１  走査光源制御部
４１１  光源制御部
４１２  走査制御部
４２  受信部
４３  位置検出部
４４  位置補正部
４５  外部出力部
４６  同期信号生成部
４７  記憶部
Ｓａ  検出領域
Ｉｖ  空中像
Ｐｔ  空中結像プレート
Ｈｔ  表示装置
Ｃｎｔ  ホスト制御装置
【図１】
2017073128.tif 000003
【図２】
2017073128.tif 000004
【図３】
2017073128.tif 000005
【図４】
2017073128.tif 000006
【図５】
2017073128.tif 000007
【図６】
2017073128.tif 000008
【図７】
2017073128.tif 000009
【図８】
2017073128.tif 000010
【図９】
2017073128.tif 000011
【図１０】
2017073128.tif 000012
【図１１】
2017073128.tif 000013
【図１２】
2017073128.tif 000014
【図１３】
2017073128.tif 000015
【図１４】
2017073128.tif 000016
【図１５】
2017073128.tif 000017
【図１６】
2017073128.tif 000018
【図１７】
2017073128.tif 000019
【図１８】
2017073128.tif 000020
【図１９】
2017073128.tif 000021
【図２０】
2017073128.tif 000022
【図２１】
2017073128.tif 000023
【図２２】
2017073128.tif 000024
【図２３】
2017073128.tif 000025