(57)【要約】【課題】オブジェクトから指先を浮かせて行う操作がなされた場合に操作の種類を容易に判定することが可能な技術が提供されることが望まれる。【解決手段】ユーザの上肢の少なくとも一部の角度に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定する処理部を備える、情報処理装置が提供される。【選択図】図３
2019163372.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの上肢の少なくとも一部の角度に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定する処理部を備える、
情報処理装置。
【請求項２】
前記処理部は、前記上肢の少なくとも一部と所定のベクトルまたは所定の面とが成す角度に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定する、
請求項１に記載の情報処理装置。
【請求項３】
前記上肢の少なくとも一部は、前記ユーザの手の少なくとも一部である、
請求項２に記載の情報処理装置。
【請求項４】
前記手の少なくとも一部は、前記手の所定位置と第１の指の先端位置とに基づくベクトルである、
請求項３に記載の情報処理装置。
【請求項５】
前記手の所定位置は、前記手の中心位置または前記第１の指の関節位置である、
請求項４に記載の情報処理装置。
【請求項６】
前記所定のベクトルまたは前記所定の面は、前記ユーザによる操作によって指示されるオブジェクトの面である、
請求項５に記載の情報処理装置。
【請求項７】
前記所定のベクトルまたは前記所定の面は、前記ユーザの視線ベクトルである、
請求項５に記載の情報処理装置。
【請求項８】
前記手の所定位置は、前記第１の指の関節位置である、
請求項４に記載の情報処理装置。
【請求項９】
前記所定のベクトルまたは前記所定の面は、前記第１の指の関節位置と前記手の中心位置とに基づくベクトルである、
請求項８に記載の情報処理装置。
【請求項１０】
前記手の所定位置は、前記第１の指の関節位置である、
請求項４に記載の情報処理装置。
【請求項１１】
前記所定のベクトルまたは前記所定の面は、第２の指の関節位置と前記第２の指の先端位置とに基づくベクトルである、
請求項１０に記載の情報処理装置。
【請求項１２】
前記上肢の少なくとも一部は、前記ユーザの腕の少なくとも一部である、
請求項２に記載の情報処理装置。
【請求項１３】
前記腕の少なくとも一部は、前記ユーザの手首位置と肘関節位置とに基づくベクトルである、
請求項１２に記載の情報処理装置。
【請求項１４】
前記所定のベクトルまたは前記所定の面は、前記ユーザの上腕位置と肘関節位置とに基づくベクトルである、
請求項１２に記載の情報処理装置。
【請求項１５】
前記処理部は、前記角度と閾値との関係に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定する、
請求項１に記載の情報処理装置。
【請求項１６】
前記情報処理装置は、
前記ユーザによる操作によって指示されるオブジェクトがプロジェクタによって投影されるように前記プロジェクタを制御する制御部を備える、
請求項１に記載の情報処理装置。
【請求項１７】
前記情報処理装置は、
前記ユーザによる操作が指さし操作である場合には、第１の処理が実行されるように制御し、前記ユーザによる操作がホバー操作である場合には、前記第１の処理とは異なる第２の処理が実行されるように制御する制御部を備える、
請求項１に記載の情報処理装置。
【請求項１８】
前記情報処理装置においては、システムおよびアプリケーションが実行され、
前記システムは、前記ユーザによる操作が指さし操作であるかホバー操作であるかに応じた指示位置を前記アプリケーションに通知する、
請求項１に記載の情報処理装置。
【請求項１９】
前記システムは、前記ユーザによる操作がホバー操作である場合、空間における第１の指の先端の２次元座標を前記アプリケーションに通知する、
請求項１８に記載の情報処理装置。
【請求項２０】
前記システムは、前記ユーザによる操作が指さし操作である場合、第１の指の先端位置の延長線が示す表示面上の座標を前記アプリケーションに通知する、
請求項１８に記載の情報処理装置。
【請求項２１】
前記システムは、前記ユーザによる操作が指さし操作であるかホバー操作であるかを示すジェスチャタイプを前記アプリケーションに通知する、
請求項１８に記載の情報処理装置。
【請求項２２】
前記情報処理装置においては、システムおよびアプリケーションが実行され、
前記アプリケーションは、前記ユーザによる操作が指さし操作であるかホバー操作であるかを示すジェスチャタイプの判定条件を指定し、
前記システムは、前記判定条件に応じた前記ジェスチャタイプの判定に基づく通知を前記アプリケーションに対して行う、
請求項１に記載の情報処理装置。
【請求項２３】
前記アプリケーションは、前記判定条件として、前記ジェスチャタイプの判定に利用される１または複数のパラメータに対して付される重みを指定する、
請求項２２に記載の情報処理装置。
【請求項２４】
前記アプリケーションは、前記判定条件として、複数の前記パラメータそれぞれに付される重みを指定する場合、前記複数のパラメータそれぞれに付される重みを異ならせる、
請求項２３に記載の情報処理装置。
【請求項２５】
ユーザの上肢の少なくとも一部の角度に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定することを含む、
情報処理方法。
【請求項２６】
コンピュータを、
ユーザの上肢の少なくとも一部の角度に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定する処理部を備える、
情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、オブジェクトを認識したりオブジェクトに対する各種の操作を検出したりする技術が知られている。例えば、テーブル面に置かれた実オブジェクトを認識したり、テーブル面に表示された仮想オブジェクトに対する操作を検出したりする技術が開示されている（例えば、特許文献１参照。）。かかる技術においては、実オブジェクトが認識されると、実オブジェクトに対応する仮想オブジェクトが表示され、仮想オブジェクトへのタッチ操作がなされると仮想オブジェクトに対応する機能が実行される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−９０５２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、一般にオブジェクトから指先を浮かせて行う操作がなされた場合、ユーザによる操作が、指さされるオブジェクトに対する操作（指さし操作）であるのか指直下のオブジェクトに対する操作（ホバー操作）であるのかを判定するのは困難である。そこで、オブジェクトから指先を浮かせて行う操作がなされた場合に操作の種類を容易に判定することが可能な技術が提供されることが望まれる。
【課題を解決するための手段】
【０００５】
本開示によれば、ユーザの上肢の少なくとも一部の角度に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定する処理部を備える、情報処理装置が提供される。【０００６】
本開示によれば、ユーザの上肢の少なくとも一部の角度に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定することを含む、情報処理方法が提供される。【０００７】
本開示によれば、コンピュータを、ユーザの上肢の少なくとも一部の角度に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定する処理部を備える、情報処理装置として機能させるためのプログラムが提供される。
【発明の効果】
【０００８】
以上説明したように本開示によれば、オブジェクトから指先を浮かせて行う操作がなされた場合に操作の種類を容易に判定することが可能な技術が提供される。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【０００９】
【図１】公知の技術について説明するための図である。
【図２】公知の技術の改善すべき点について説明するための図である。
【図３】本開示の一実施形態に係る情報処理システムの機能構成例を示す図である。
【図４】同実施形態に係る情報処理システムの形態の第１の例を示す説明図である。
【図５】同実施形態に係る情報処理システムの形態の第２の例を示す説明図である。
【図６】同実施形態に係る情報処理システムの形態の第３の例を示す説明図である。
【図７】同実施形態に係る情報処理システムの形態の第４の例を示す説明図である。
【図８】同実施形態に係る情報処理システムの処理フローの例を示す図である。
【図９】指さし／ホバーの判定の詳細フローを示す図である。
【図１０】上肢の例を説明するための図である。
【図１１】入力部から取得される上肢の各位置の例を示す図である。
【図１２】入力部から取得される上肢の各位置の例を示す図である。
【図１３】入力部から取得される上肢の各位置の例を示す図である。
【図１４】操作検出処理部による指先の投影面への接触判定の例について説明するための図である。
【図１５】タップ／ドラッグ判定処理部によるタップ／ドラッグ判定処理の例について説明するための図である。
【図１６】指先のｚ位置を用いた指さし／ホバー判定処理について説明するための図である。
【図１７】手の水平角度を用いた指さし／ホバー判定処理について説明するための図である。
【図１８】指の関節角度を用いた指さし／ホバー判定処理について説明するための図である。
【図１９】腕の関節角度を用いた指さし／ホバー判定処理について説明するための図である。
【図２０】視線ベクトルと指さしベクトルとの交点を用いた指さし／ホバー判定処理について説明するための図である。
【図２１】視線ベクトルと指さしベクトルとの交点を用いた指さし／ホバー判定処理について説明するための図である。
【図２２】親指と人さし指との角度を用いた指さし／ホバー判定処理について説明するための図である。
【図２３】アプリケーションとシステムとの連携を示すシーケンス図である。
【図２４】手情報の構造体の例を示す図である。
【図２５】プログラミング言語Ｃ＋＋を利用したシステムに対応するソースコードの記述例を示す図である。
【図２６】プログラミング言語Ｃ＋＋を利用したアプリケーションに対応するソースコードの記述例を示す図である。
【図２７】写真アプリケーションの実現例における対応情報の例を示す図である。
【図２８】写真アプリケーションの実現例においてタップ操作検出時の処理実行例を示す図である。
【図２９】写真アプリケーションの実現例においてドラッグ操作検出時の処理実行例を示す図である。
【図３０】写真アプリケーションの実現例においてホバー操作検出時の処理実行例を示す図である。
【図３１】写真アプリケーションの実現例において指さし操作検出時の処理実行例を示す図である。
【図３２】ペイントアプリケーションの実現例における対応情報の例を示す図である。
【図３３】ペイントアプリケーションの実現例においてタップ操作検出時の処理実行例を示す図である。
【図３４】ペイントアプリケーションの実現例においてドラッグ操作検出時の処理実行例を示す図である。
【図３５】ペイントアプリケーションの実現例においてホバー操作検出時の処理実行例を示す図である。
【図３６】ペイントアプリケーションの実現例において指さし操作検出時の処理実行例を示す図である。
【図３７】建築シミュレーションアプリケーションの実現例における対応情報の例を示す図である。
【図３８】建築シミュレーションアプリケーションの実現例においてタップ操作検出時の処理実行例を示す図である。
【図３９】建築シミュレーションアプリケーションの実現例においてホバー操作検出時の処理実行例を示す図である。
【図４０】建築シミュレーションアプリケーションの実現例において指さし操作検出時の処理実行例を示す図である。
【図４１】ブロック崩しゲームアプリケーションの実現例における対応情報の例を示す図である。
【図４２】ブロック崩しゲームアプリケーションの実現例における処理実行例を示す図である。
【図４３】反射バーと反発力との関係を説明するための図である。
【図４４】球が衝突した城壁模型が破損する様子を示す図である。
【図４５】敵が攻撃される様子を示す図である。
【図４６】連想ゲームアプリケーションの実現例における対応情報の例を示す図である。
【図４７】連想ゲームアプリケーションの実現例における処理実行例を示す図である。
【図４８】ドラッグ操作によってアルファベットを移動させる例を示す図である。
【図４９】ホバー操作によってヒントを表示する例を示す図である。
【図５０】球型の実オブジェクトの例を示す図である。
【図５１】パイ型の実オブジェクトの例を示す図である。
【図５２】半円型の実オブジェクトの例を示す図である。
【図５３】スタック型の実オブジェクトの例を示す図である。
【図５４】文字探しゲームアプリケーションの実現例における対応情報の例を示す図である。
【図５５】文字探しゲームアプリケーションの実現例を説明するための図である。
【図５６】ホバー操作によってヒントを表示する例を示す図である。
【図５７】指さし操作によって影を表示する例を示す図である。
【図５８】タップ操作によってアルファベットを選択する例を示す図である。
【図５９】演奏ゲームアプリケーションの実現例における対応情報の例を示す図である。
【図６０】演奏ゲームアプリケーションの実現例における対応情報の例を示す図である。
【図６１】情報処理システムのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１１】
また、本明細書および図面において、実質的に同一または類似の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一または類似の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、類似する構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
【００１２】
なお、説明は以下の順序で行うものとする。
０．概要
１．本開示の実施形態
１．１．情報処理システムの構成例
１．２．情報処理システムの機能詳細
１．２．１．情報処理システムの処理フロー
１．２．２．入力部から取得される上肢の形状
１．２．３．指先の投影面への接触判定
１．２．４．タップ／ドラッグ判定
１．２．５．指さし／ホバー判定
１．２．５．１．指先のｚ位置を用いる場合
１．２．５．２．手の水平角度を用いる場合
１．２．５．３．指の関節角度を用いる場合
１．２．５．４．腕の関節角度を用いる場合
１．２．５．５．視線ベクトルと指さしベクトルとの交点を用いる場合
１．２．５．６．視線ベクトルと指さしベクトルとの角度を用いる場合
１．２．５．７．親指と人さし指との角度を用いる場合
１．２．６．アプリケーションとシステムとの連携
１．２．７．適用例
１．２．７．１．写真アプリケーション
１．２．７．２．ペイントアプリケーション
１．２．７．３．建築シミュレーションアプリケーション
１．２．７．４．ブロック崩しゲームアプリケーション
１．２．７．５．連想ゲームアプリケーション
１．２．７．６．文字探しゲームアプリケーション
１．２．７．７．演奏ゲームアプリケーション
１．３．ハードウェア構成例
２．むすび
【００１３】
＜０．概要＞
近年、オブジェクトを認識したりオブジェクトに対する各種の操作を検出したりする技術が知られている。例えば、テーブル面に置かれた実オブジェクトを認識したり、プロジェクタによってテーブル面に投影された仮想オブジェクトに対する操作を検出したりする技術が開示されている。まず、かかる公知の技術の概要について、図１および図２を参照しながら説明する。図１は、公知の技術について説明するための図である。また、図２は、公知の技術の改善すべき点について説明するための図である。
【００１４】
図１を参照すると、プロジェクタによって画像が投影される投影面１１０が示されている。図１に示されるように、ユーザによって投影面１１０に実オブジェクトＥ１１が置かれると、実オブジェクトＥ１１が認識され、実オブジェクトＥ１１に対応する仮想オブジェクトＶ１２が投影面１１０に投影される。そして、ユーザによって仮想オブジェクトＶ１２のいずれかに対するタッチ操作がなされると、タッチ操作がなされた仮想オブジェクトＶ１２に対応する機能が実行される。図１を参照すると、かかる機能の実行によって仮想オブジェクトＶ１１が表示されている。
【００１５】
しかし、一般にオブジェクトから指先を浮かせて行う操作がなされた場合、ユーザによる操作が、指さされるオブジェクトに対する操作（指さし操作）であるのか指直下のオブジェクトに対する操作（ホバー操作）であるのかを判定するのは困難である。図２を参照すると、オブジェクトの例として、実オブジェクトＥ１２が置かれ、仮想オブジェクトＶ１３が投影されている。このとき、実オブジェクトＥ１２が指さされているとともに、仮想オブジェクトが指直下に存在している。かかる状況においては、ユーザによる操作が指さし操作であるのか、ホバー操作であるのかを判定するのは困難である。
【００１６】
そこで、本開示の実施形態においては、オブジェクトから指先を浮かせて行う操作がなされた場合に操作の種類を容易に判定することが可能な技術について主に説明する。なお、指さし操作およびホバー操作それぞれの空間的な特徴は上記した通りである。すなわち、指さし操作は、指さされるオブジェクトに対する操作であってよいし、ホバー操作が指直下のオブジェクトに対する操作（指が翳されるオブジェクトに対する操作）であってよい。
【００１７】
一方、指さし操作およびホバー操作それぞれがどのような処理の実行のためになされるかは、特に限定されない。しかし、指さし操作は、オブジェクトをポインティングするための操作（ポインティング操作）として用いられてもよいし、未確定な状態を確定状態に遷移させるための操作（確定操作）として用いられてもよい。また、ホバー操作は、オブジェクトへのタッチ操作の前に行われる近接操作として用いられてもよいし、オブジェクトに関する補助的な動作のための操作として用いられてよい。
【００１８】
以上、本開示の一実施形態の概要について説明した。
【００１９】
＜１．本開示の実施形態＞
［１．１．情報処理システムの構成例］
続いて、図面を参照しながら、本開示の一実施形態に係る情報処理システムの構成例について説明する。図３は、本開示の一実施形態に係る情報処理システムの機能構成例を示す図である。図３に示されたように、情報処理システム１００は、情報処理装置１０と、入力部１２０と、出力部１３０とを備える。また、情報処理装置１０は、表示制御部１２１と、操作検出処理部１２２とを備える。
【００２０】
入力部１２０は、入力装置を含んで構成され、ユーザの身体の一部または全部の形状、動きなどを入力情報の例として取得する。本開示の一実施形態では、ユーザの上肢の形状、動きなどを入力情報の例として受け付ける。また、入力部１２０は、出力部１３０によって情報が出力される面上の状態（例えば、情報が出力される面に置かれている物体（実オブジェクト）の形状や模様など）を入力情報の例として取得する。出力部１３０によって情報が出力される面は、表示面に相当し得る。特に、プロジェクタが使用される場合には、表示面はプロジェクタによって情報が投影される投影面（例えば、テーブル面）に相当し得る。以下の説明においては、表示面として投影面が用いられる場合を主に想定するが、表示面は投影面に限定されない。
【００２１】
具体的に、入力部１２０は、画像センサ、デプスセンサおよびタッチセンサによって構成されてよい。しかし、これらのセンサすべてによって構成されていなくてもよく、これらのセンサの少なくとも一つによって構成されていてもよい。以下では、投影面に投影される情報（映像）が、画像センサによって取得され、投影面上の状態（例えば、投影面に置かれている物体（実オブジェクト）の形状や模様など）が、デプスセンサによって取得され、ユーザの上肢の形状、動きなどが、タッチセンサによって取得される場合を主に想定する。しかし、これらの情報がどのセンサによって取得されるかは限定されない。
【００２２】
なお、画像センサとしては、可視光カメラが用いられてもよいし、赤外線カメラが用いられてもよい。デプスセンサとしては、ステレオカメラが用いられてもよいし、ＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）センサが用いられてもよいし、Ｓｔｒｕｃｔｕｒｅｄ  Ｌｉｇｈｔ方式による距離画像センサが用いられてもよい。タッチセンサは、上方または下方から撮影を行うカメラであってもよいし、投影面に敷かれたタッチパネルであってもよい。
【００２３】
出力部１３０は、出力装置を含んで構成され、表示制御部１２１による制御に従って情報を出力する。以下では、出力部１３０がプロジェクタを含んで構成され、プロジェクタが投影面に情報を投影することによって情報を出力する場合を主に想定する。しかし、出力部１３０は、プロジェクタを含む場合に限定されない。例えば、出力部１３０は、タッチパネル式のディスプレイであってもよいし、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどであってもよい。
【００２４】
表示制御部１２１および操作検出処理部１２２は、例えば、１または複数のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などといった処理装置によって構成される。表示制御部１２１および操作検出処理部１２２が、ＣＰＵなどといった処理装置によって構成される場合、かかる処理装置は電子回路によって構成されてよい。図３に示されたように、操作検出処理部１２２は、タップ／ドラッグ判定処理部１２３と、指さし／ホバー判定処理部１２４と、対応情報取得部１２５とを備える。
【００２５】
表示制御部１２１は、入力部１２０から受け付け入力情報に基づいて、グラフィックスの表示を制御する機能を有する。より具体的には、表示制御部１２１は、ユーザによる操作によって指示されるオブジェクト（例えば、ボタン、写真など）がプロジェクタによって投影されるようにプロジェクタを制御する。かかる表示制御部１２１は、アプリケーションに対応するウィンドウなどを含んだマルチコンテンツの描画制御、各コンテンツに対してタッチなどのイベント出力を行う、一般的なＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の制御レイヤを指すものであってよい。さらに、本開示の実施形態においては、入力情報が操作検出処理部１２２にも出力されるため、表示制御部１２１は、操作検出処理部１２２による操作検出結果に基づいて、グラフィックスの表示を制御する。
【００２６】
操作検出処理部１２２は、入力情報に基づいて操作検出処理を行い、操作検出結果を表示制御部１２１に出力する。タップ／ドラッグ判定処理部１２３は、ユーザの手または指に関する情報（手指情報）に基づいて、指が投影面に接触している場合に、ユーザによる操作がタップ操作であるかドラッグ操作であるかを判定する処理を行う。指さし／ホバー判定処理部１２４は、ユーザの上肢の少なくとも一部に関する情報に基づいて、指が中空に存在する場合に、ユーザによる操作が指さし操作であるかホバー操作であるかを判定する処理を行う。
【００２７】
対応情報取得部１２５は、ユーザによる操作と実行される処理とが対応付けられてなる情報（対応情報）を、図示しないストレージ装置から取得する。例えば、対応情報は、リレーショナルデータベースやルックアップテーブルといった形態によって実現されてよい。そして、対応情報取得部１２５は、取得した対応情報に基づいてユーザによる操作に対応する処理を決定し、決定した処理を表示制御部１２１に出力する。これによって、表示制御部１２１によって、ユーザによる操作に対応する処理が実行される（操作に対応する効果が発動される）。
【００２８】
以上、本開示の一実施形態に係る情報処理システム１００の機能構成例を説明した。ここで、本開示の一実施形態に係る情報処理システム１００は、様々な形態をとり得る。以下では、本開示の一実施形態に係る情報処理システム１００の形態の例として、第１の例から第４の例までを説明する。しかし、本開示の一実施形態に係る情報処理システム１００の形態は、第１の例から第４の例までのいずれかに限定されない。
【００２９】
なお、以下の説明においては、プロジェクタによって情報がテーブル面に投影される場合を主に想定する。そこで、以下の説明においては、投影面の例として「テーブル面」を主に用いる。しかし、プロジェクタによって情報が投影される領域は、テーブル面に限定されない。例えば、プロジェクタによって情報が投影される領域は、床面であってもよいし、壁面であってもよいし、物体などであってもよい。
【００３０】
図４は、本開示の一実施形態に係る情報処理システム１００の形態の第１の例を示す説明図である。図４に示されたように、第１の例としての情報処理システム１００ａは、入力部１２０ａと出力部１３０ａとを含んで構成される。情報処理システム１００ａは、テーブル１１０ａの天面に情報を表示し、テーブル１１０ａに表示した情報に対してユーザに操作をさせる。このように、テーブル１１０ａの天面に情報を表示する方式を「プロジェクション型」とも称する。
【００３１】
入力部１２０ａは、ユーザによる操作や、テーブル１１０ａに置かれている物体の形状や模様などを入力情報として受け付ける。図４に示された例では、入力部１２０ａが、テーブル１１０ａの上方に、天井から吊り下げられた状態で設けられている。このように、テーブル１１０ａの上方から情報を出力部１３０ａによって照射し、テーブル１１０ａの天面に情報を表示する方式を「上方プロジェクション型」とも称する。入力部１２０ａとしては、１つのレンズでテーブル１１０ａを撮像するカメラが用いられてもよいし、２つのレンズでテーブル１１０ａを撮像して奥行き方向の情報を記録することが可能なステレオカメラが用いられてもよいし、ユーザが発する音声や環境音を収音するためのマイクロフォンが用いられてもよい。
【００３２】
入力部１２０ａとして、１つのレンズでテーブル１１０ａを撮像するカメラが用いられる場合、情報処理システム１００ａは、そのカメラが撮像した画像を解析することによって、テーブル１１０ａに置かれた物体を認識することができる。また、入力部１２０ａとしてステレオカメラが用いられる場合、情報処理システム１００ａは、ステレオカメラによって取得された深度情報に基づいて、テーブル１１０ａの上に置かれた物体（手など）の認識が可能になる。また、情報処理システム１００ａは、深度情報に基づいて、テーブル１１０ａへのユーザの手の接触やテーブル１１０ａからの手の離脱の認識が可能である。
【００３３】
また、入力部１２０ａとしてマイクロフォンが用いられる場合、そのマイクロフォンは特定の方向の音声を収音するためのマイクロフォンアレイが用いられ得る。入力部１２０ａとしてマイクロフォンアレイが用いられる場合、情報処理システム１００ａは、マイクロフォンアレイの収音方向を任意の方向に調整してもよい。
【００３４】
出力部１３０ａは、入力情報に応じて、テーブル１１０ａに情報を表示したり、音声を出力したりする。出力部１３０ａとしては、プロジェクタやスピーカ等が用いられ得る。図４に示された例では、出力部１３０ａは、テーブル１１０ａの上方に、天井から吊り下げられた状態で設けられている。出力部１３０ａがプロジェクタで構成される場合、出力部１３０ａは、テーブル１１０ａの天面に情報を投影する。出力部１３０ａがスピーカで構成される場合、出力部１３０ａは、音声信号に基づいて音声を出力する。このとき、スピーカの数は１つであってもよく、複数であってもよい。出力部１３０ａが複数のスピーカで構成される場合、情報処理システム１００ａは、音声を出力するスピーカを限定したり、音声を出力する方向を調整したりしてもよい。
【００３５】
また、本開示の一実施形態に係る情報処理システム１００が、図４に示されたようなプロジェクション型の情報処理システム１００ａである場合、出力部１３０ａには、照明機器が含まれていてもよい。出力部１３０ａに照明機器が含まれる場合、情報処理システム１００ａは、入力部１２０ａによって受け付けられた入力情報の内容に基づいて、照明機器の点灯、消灯等の状態を制御してもよい。また、本開示の一実施形態に係る情報処理システム１００が、図４に示されたような上方プロジェクション型の情報処理システム１００ａである場合、テーブル１１０ａだけではなく、テーブル１１０ａの上に置かれた物体にも情報を表示することも可能である。
【００３６】
ユーザは、出力部１３０ａがテーブル１１０ａに表示する情報に対して、指などによって各種の操作を行うことができる。また、ユーザは、テーブル１１０ａに物体を置き、入力部１２０ａに物体を認識させることによって、情報処理システム１００ａに、その物体に関する種々の処理を実行させることが可能である。
【００３７】
図５は、本開示の一実施形態に係る情報処理システム１００の形態の第２の例を示す説明図である。図５に示されたように、第２の例としての情報処理システム１００ｂは、出力部１３０ａによってテーブル１１０ｂの下方から情報を照射することによって、テーブル１１０ｂの天面に情報を表示する。テーブル１１０ｂの天面は、ガラス板やプラスチック板等の半透明な材質によって形成される半透過スクリーンであってよい。このように、テーブル１１０ｂの下方から情報を出力部１３０ａによって照射し、テーブル１１０ｂの天面に情報を表示する方式を「リアプロジェクション型」とも称する。
【００３８】
なお、図５に示された例では、テーブル１１０ｂの表面に入力部１２０ｂが設けられる構成が示されている。しかし、入力部１２０ｂが設けられる位置は限定されない。例えば、図５に示された情報処理システム１００ａと同様に、入力部１２０ｂは、テーブル１１０ｂの下方にテーブル１１０ｂとは離隔して設けられてもよい。
【００３９】
図６は、本開示の一実施形態に係る情報処理システム１００の形態の第３の例を示す説明図である。図６に示されたように、第３の例としての情報処理システム１００ｃは、タッチパネル式のディスプレイがテーブル上に置かれて構成される。このように、テーブル上に置かれたタッチパネル式のディスプレイによって情報を表示する方式を「平置きディスプレイ型」とも称する。入力部１２０ｃおよび出力部１３０ｃは、タッチパネル式のディスプレイとして構成され得る。図６に示された情報処理システム１００ｃでは、図４に示された情報処理システム１００ａと同様に、タッチパネル式のディスプレイの上方に、ユーザの位置を検出するためのカメラが設けられてもよい。
【００４０】
図７は、本開示の一実施形態に係る情報処理システム１００の形態の第４の例を示す説明図である。図７に示されたように、第４の例としての情報処理システム１００ｄは、アイウェア型端末によって構成される。入力部１２０ｄは、ユーザの視野を撮像可能なカメラによって構成され、撮像によって得た画像を入力情報として受け付け得る。また、出力部１３０ｄは、入力情報に応じた情報をユーザの視野に提示するディスプレイとして構成され得る。例えば、出力部１３０ｄは、透過型のディスプレイによって構成され、ユーザは、出力部１３０ｄを通して外部環境を視認可能である。
【００４１】
なお、以下の説明では、本開示の一実施形態に係る情報処理システム１００の形態として、図４に示された第１の例が用いられる場合を主に想定する。すなわち、テーブル１１０ａの上方に、テーブル１１０ａ（情報の表示面）から離隔して、入力部１２０ａおよび出力部１３０ａが設けられる場合を主に想定する。そこで、以下の説明では、情報処理システム１００ａ、入力部１２０ａおよび出力部１３０ａを、単に、情報処理システム１００、入力部１２０および出力部１３０としても称する。しかし、上記したように、本開示の一実施形態に係る情報処理システム１００の形態は、限定されない。
【００４２】
以上、本開示の一実施形態に係る情報処理システム１００の構成例について説明した。
【００４３】
［１．２．情報処理システムの機能詳細］
続いて、本開示の一実施形態に係る情報処理システム１００の機能詳細について説明する。
【００４４】
（１．２．１．情報処理システムの処理フロー）
まず、本開示の一実施形態に係る情報処理システム１００の処理フローの例について説明する。図８は、本開示の一実施形態に係る情報処理システム１００の処理フローの例を示す図である。なお、図８は、情報処理システム１００の処理フローの一例を示したに過ぎない。したがって、情報処理システム１００の処理フローは、図８に示された処理フローの例に限定されない。
【００４５】
まず、操作検出処理部１２２は、ユーザによって終了操作が行われたか否かを判定する（Ｓ１１）。そして、操作検出処理部１２２は、ユーザによって終了操作が行われたと判定した場合（Ｓ１１において「ＹＥＳ」）、処理を終了する。一方、操作検出処理部１２２は、ユーザによって終了操作が行われなかったと判定した場合（Ｓ１１において「ＮＯ」）、入力部１２０から表示制御部１２１を介して入力情報を取得する（Ｓ１２）。上記したように、入力情報には、投影面に投影される情報、ユーザの上肢の形状、動き、投影面上の状態などが含まれ得る。
【００４６】
なお、入力部１２０から取得される上肢の形状については、図１０〜図１３を参照しながら後に詳細に説明する。続いて、操作検出処理部１２２は、入力情報に基づいて、指先と投影面との距離（指先のｚ位置）を検出し、指先が投影面に接触しているか否かを判定する（Ｓ１３）。指先が投影面に接触しているか否かの判定の詳細については、図１４を参照しながら後に説明する。
【００４７】
操作検出処理部１２２は、指先が投影面に接触していると判定した場合（Ｓ１３において「ＹＥＳ」）、ユーザによる操作がタップ操作であるかドラッグ操作であるかを判定し（Ｓ１４）、Ｓ３１に進む。ユーザによる操作がタップ操作であるかドラッグ操作であるかの判定の詳細については、図１５を参照しながら後に説明する。一方、操作検出処理部１２２は、指先が投影面に接触していないと判定した場合（Ｓ１３において「ＮＯ」）、ユーザによる操作が指さし操作であるかホバー操作であるか判定し（Ｓ２０）、Ｓ３１に進む。
【００４８】
図９は、指さし／ホバーの判定の詳細フローを示す図である。まず、指さし／ホバー判定処理部１２４は、指さし操作が入力されたと仮定し、指さし方向と投影面との交点を算出する（Ｓ２１）。なお、指さし方向は、手の所定位置（手の中心位置または指の関節位置）を基準として当該手の所定位置から指の先端位置へ向かう方向であってよい。手の中心位置は、５本の指それぞれの付け根と手首との間の領域のいずれかの位置であれば特に限定されない。
【００４９】
続いて、指さし／ホバー判定処理部１２４は、ホバー操作が入力されたと仮定し、ホバー方向と投影面との交点を算出する（Ｓ２２）。なお、ホバー方向は、指先位置（指の先端位置）を基準とした投影面に垂直な方向であってよい。
【００５０】
続いて、指さし／ホバー判定処理部１２４は、指差し方向と投影面との交点に選択操作対象が存在するか否かを判定する（Ｓ２３）。本開示の一実施形態においては、選択操作対象が、プロジェクタによって投影されるオブジェクト（仮想オブジェクト）である場合を主に想定する。仮想オブジェクトの例としては、ボタン、写真などが挙げられる。しかし、選択操作対象は、実オブジェクトであってもよい。
【００５１】
指さし／ホバー判定処理部１２４は、指差し方向と投影面との交点に選択操作対象が存在する場合には（Ｓ２３において「ＹＥＳ」）、ホバー方向と投影面との交点に選択操作対象が存在するか否かを判定する（Ｓ２４）。
【００５２】
指さし／ホバー判定処理部１２４は、ホバー方向と投影面との交点に選択操作対象が存在しない場合には（Ｓ２４において「ＮＯ」）、指さし操作が入力されたと看做して（Ｓ２５）、指さし／ホバーの判定を終了する。一方、指さし／ホバー判定処理部１２４は、ホバー方向と投影面との交点に選択操作対象が存在する場合には（Ｓ２４において「ＹＥＳ」）、指さし／ホバー判定処理を行って（Ｓ２６）、指さし／ホバーの判定を終了する。指さし／ホバー判定処理の詳細については、図１６〜図２２を参照しながら後に説明する。
【００５３】
一方、指さし／ホバー判定処理部１２４は、指差し方向と投影面との交点に選択操作対象が存在しない場合には（Ｓ２３において「ＮＯ」）、ホバー方向と投影面との交点に選択操作対象が存在するか否かを判定する（Ｓ２７）。
【００５４】
指さし／ホバー判定処理部１２４は、ホバー方向と投影面との交点に選択操作対象が存在する場合には（Ｓ２７において「ＹＥＳ」）、ホバー操作が入力されたと看做して（Ｓ２８）、指さし／ホバーの判定を終了する。一方、指さし／ホバー判定処理部１２４は、ホバー方向と投影面との交点に選択操作対象が存在しない場合には（Ｓ２４において「ＮＯ」）、指さし／ホバー判定処理を行って（Ｓ２９）、指さし／ホバーの判定を終了する。
【００５５】
図９に戻って説明を続ける。操作検出処理部１２２は、タップ／ドラッグ判定処理部１２３または指さし／ホバー判定処理部１２４によって操作が検出されたか否かを判定する（Ｓ３１）。操作検出処理部１２２は、操作が検出されなかった場合（Ｓ３１において「ＮＯ」）、Ｓ１１に戻る。一方、操作検出処理部１２２は、操作が検出された場合（Ｓ３１において「ＹＥＳ」）、対応情報取得部１２５によって対応情報を取得し、検出された操作と対応情報の操作とを照合する（Ｓ３２）。
【００５６】
表示制御部１２１は、検出された操作に対応付けられた処理を実行する（Ｓ３３）。このとき、対応情報においては、操作ごとに異なる処理が割り当てられていてよい。例えば、表示制御部１２１は、ユーザによる操作が指さし操作である場合には、第１の処理が実行されるように制御し、ユーザによる操作がホバー操作である場合には、第１の処理とは異なる第２の処理が実行されるように制御してよい。その後、表示制御部１２１は、Ｓ１１に戻る。
【００５７】
以上、本開示の一実施形態に係る情報処理システム１００の処理フローの例について説明した。
【００５８】
（１．２．２．入力部から取得される上肢の形状）
続いて、入力部１２０から取得される上肢の形状の例について説明する。まず、上肢について、図１０を参照しながら説明する。図１０は、上肢の例を説明するための図である。図１０を参照すると、上肢（Ｕｐｐｅｒ  Ｌｉｍｂ）は、手（ｈａｎｄ）Ｑ１（ただし、指を含む）、橈骨手根関節（Ｗｒｉｓｔ  Ｊｏｉｎｔ）Ｑ２、前腕（Ｆｏｒｅａｒｍ）Ｑ３、肘関節（Ｅｌｂｏｗ  Ｊｏｉｎｔ）Ｑ４、上腕（Ａｒｍ）Ｑ５、肩（Ｓｏｕｌｄｅｒ）Ｑ６、肩関節（Ｇｌｅｎｏｈｕｍｅｒａｌ  Ｊｏｉｎｔ）Ｑ７、首（Ｎｅｃｋ）Ｑ８、胸壁（Ｔｈｏｒａｃｉｃ  Ｗａｌｌ）Ｑ９を有している。
【００５９】
肩関節（Ｇｌｅｎｏｈｕｍｅｒａｌ  Ｊｏｉｎｔ）Ｑ７は、上腕の付け根に該当し得る。本開示の一実施形態は、かかる上肢の少なくとも一部（上肢の少なくとも一つ以上の部位）を対象とする。
【００６０】
なお、以下の説明では、第１の指を人さし指とした場合、ユーザによる操作が第１の指によってなされる場合を主に想定する。したがって、以下の説明において、特に断りがない限り、「指」は人さし指を意味する。しかし、第１の指は、人さし指以外の指であってもよい。また、以下の説明においては、第２の指を親指とし、ユーザによる操作が第１の指と第２の指との組み合わせによってなされる場合についても説明する。しかし、第２の指は、親指以外の指であってもよく、第１の指と異なる指であれば特に限定されない。
【００６１】
また、以下の説明では、特に断りがない限り、親指の関節は、親指の先端から二つ目の関節（親指の付け根）を意味し、親指以外の指（すなわち、人さし指、中指、薬指および小指）の関節は、当該指の先端から二つ目の関節を意味する。しかし、親指の関節は、親指の先端から一つ目の関節を意味してもよく、親指以外の関節は、指の先端から一つ目の関節を意味してもよいし、指の先端から三つ目の関節（指の付け根）を意味してもよい。
【００６２】
続いて、入力部１２０から取得される上肢の各位置について説明する。図１１〜図１３は、入力部１２０から取得される上肢の各位置の例を示す図である。
【００６３】
図１１〜図１３を参照すると、入力部１２０から取得される上肢の各位置の例として、小指の先端位置Ｐ１、小指の関節位置Ｐ２、薬指の先端位置Ｐ３、薬指の関節位置Ｐ４、中指の先端位置Ｐ５、中指の関節位置Ｐ６、人さし指の先端位置Ｐ７、人さし指の関節位置Ｐ８、親指の先端位置Ｐ９、親指の先端から一つ目の関節位置Ｐ１０、親指の先端から二つ目の関節位置Ｐ１１、手首位置（小指側）Ｐ１２、手首位置（親指側）Ｐ１３、手の中心位置Ｐ１４、肘関節位置Ｐ１５、上腕の付け根位置Ｐ１６が示されている。
【００６４】
本開示の一実施形態においては、入力部１２０によって位置Ｐ１〜Ｐ１６すべてが原則として取得される場合を主に想定する。しかし、入力部１２０によって、位置Ｐ１〜Ｐ１６の一部のみが取得されてもよい。また、入力部１２０とユーザとの位置関係によっては、位置Ｐ１〜Ｐ１６の一部が取得されない場合なども想定される。例えば、後にも説明するように、上腕の付け根位置Ｐ１６が直接取得されない場合もあり得る。かかる場合であっても、肘関節位置Ｐ１５と上腕の付け根位置Ｐ１６との間のいずれかの位置が取得されれば、当該位置を上腕の付け根位置Ｐ１６の代わりに用いることが可能である。
【００６５】
なお、上記したように、手の中心位置は、５本の指それぞれの付け根と手首との間の領域のいずれかの位置であれば特に限定されない。また、手首位置（小指側）Ｐ１２は、手首位置として得られる２つの位置のうち、より親指に近い位置であればよく、手首位置（親指側）Ｐ１３は、手首位置として得られる２つの位置のうち、より小指に近い位置であればよい。手首位置（小指側）Ｐ１２および手首位置（親指側）Ｐ１３それぞれも、各位置の検出アルゴリズムなどに応じて適宜に変更されてよい。
【００６６】
以上、入力部１２０から取得される上肢の形状の例について説明した。
【００６７】
（１．２．３．指先の投影面への接触判定）
続いて、操作検出処理部１２２による指先の投影面への接触判定の例について説明する。図１４は、操作検出処理部１２２による指先の投影面への接触判定の例について説明するための図である。操作検出処理部１２２は、入力部１２０から、人さし指の先端位置Ｐ７および投影面１１０の位置を取得することができる。したがって、操作検出処理部１２２は、これらの位置間の距離を算出することによって、人さし指の先端位置Ｐ７のｚ位置を算出することができる。
【００６８】
ここで、図１４に示されるように、操作検出処理部１２２は、人さし指の先端位置Ｐ７のｚ位置がｐｒｅｓｓ時距離閾値Ｔｈ０以下になった場合、人さし指の先端位置Ｐ７が投影面１１０に対して接触状態（ｐｒｅｓｓ）であると判定する（Ｓ４１）。そして、操作検出処理部１２２は、人さし指の先端位置Ｐ７のｚ位置が、ｐｒｅｓｓ時距離閾値Ｔｈ０以下になってから、ｒｅｌｅａｓｅ時距離閾値Ｔｈ１以下を継続している場合には、接触状態（ｐｒｅｓ）が継続していると判定する（Ｓ４２）。このとき、ｐｒｅｓｓ時距離閾値Ｔｈ０とｒｅｌｅａｓｅ時距離閾値Ｔｈ１とは、同じであってもよいが、異なっていてもよい。
【００６９】
例えば、図１４に示されたように、ｐｒｅｓｓ時距離閾値Ｔｈ０よりもｒｅｌｅａｓｅ時距離閾値Ｔｈ１を大きくてもよい。これによって、接触状態を終了させにくくすることが可能となる（接触状態の開始と終了とにヒステリシスを持たせることが可能となる。操作検出処理部１２２は、人さし指の先端位置Ｐ７のｚ位置がｒｅｌｅａｓｅ時距離閾値Ｔｈ１よりも大きくなった場合には、接触状態が終了した（ｒｅｌｅａｓｅ）と判定する（Ｓ４３）。
【００７０】
以上、操作検出処理部１２２による指先の投影面への接触判定の例について説明した。
【００７１】
（１．２．４．タップ／ドラッグ判定）
続いて、ユーザによる操作がタップ操作であるかドラッグ操作であるかの判定の例について説明する。図１５は、タップ／ドラッグ判定処理部１２３によるタップ／ドラッグ判定処理の例について説明するための図である。図１５に示されるように、タップ／ドラッグ判定処理部１２３は、人さし指の先端位置の投影面１１０への接触状態（Ｐｒｅｓｓ）が開始すると（Ｓ５１）、ｐｒｅｓｓ開始地点からの距離が半径ｒ以内の領域を遊びとして設定する。
【００７２】
続いて、タップ／ドラッグ判定処理部１２３は、ｐｒｅｓｓ開始地点からの距離が半径ｒ以内の領域のいずれかにおいて、接触状態の終了（ｒｅｌｅａｓｅ）を検出した場合（Ｓ５２）、ユーザによる操作がタップ操作であると判定する。一方、タップ／ドラッグ判定処理部１２３は、ｐｒｅｓｓ開始後に人さし指の先端位置を追跡し、人さし指の先端位置が半径ｒを超えた領域のいずれかにおいて検出した場合、人さし指の先端位置が半径ｒを超えてｍｏｖｅしたと見做し（Ｓ５３）、ユーザによる操作がドラッグ操作であると判定する。
【００７３】
その後、タップ／ドラッグ判定処理部１２３は、接触状態の終了（ｒｅｌｅａｓｅ）を検出するまでドラッグ操作のイベントを発動し続ける。そして、タップ／ドラッグ判定処理部１２３は、接触状態の終了（ｒｅｌｅａｓｅ）を検出した場合（Ｓ５４）、ドラッグ操作のイベントの発動を終了する。
【００７４】
以上、ユーザによる操作がタップ操作であるかドラッグ操作であるかの判定の例について説明した。
【００７５】
（１．２．５．指さし／ホバー判定）
続いて、ユーザによる操作が指さし操作であるかホバー操作であるかの判定の例について説明する。これらの判定は、環境やアプリケーションの目的に応じて使い分けられてよく、単体の判定が用いられてもよいし、複数の判定それぞれにウェイトがかけられ、複数の判定の組み合わせが用いられてもよい。例えば、本開示の一実施形態においては、指さし／ホバー判定処理部１２４は、ユーザの上肢の少なくとも一部の角度に基づいて、ユーザによる操作が指さし操作であるかホバー操作であるかを判定する。上記のように、入力部１２０によって、撮像画像から上肢の各特定点（例えば、小指の先端位置Ｐ１から上腕の付け根位置Ｐ１６まで）が認識されるため、指さし／ホバー判定処理部１２４は、入力部１２０から上肢の各特定点を示す情報を取得し、複数の特定点を結ぶ線で構成される角度を算出する。  
【００７６】
例えば、指さし／ホバー判定処理部１２４は、上肢の少なくとも一部と所定のベクトルまたは所定の面とが成す角度に基づいて、ユーザによる操作が指さし操作であるかホバー操作であるかを判定する。ここで、上肢の少なくとも一部は、特に限定されない。例えば、上肢の少なくとも一部は、ユーザの手の少なくとも一部であってもよい。あるいは、上肢の少なくとも一部は、ユーザの腕の少なくとも一部であってもよい。
【００７７】
具体的に、指さし／ホバー判定処理部１２４は、かかる角度と閾値との関係に基づいて、ユーザによる操作が指さし操作であるかホバー操作であるかを判定してよい。
【００７８】
以下では、ユーザによる操作が指さし操作であるかホバー操作であるかの判定の例を、「１．２．５．１．指先のｚ位置を用いる場合」「１．２．５．２．手の水平角度を用いる場合」「１．２．５．３．指の関節角度を用いる場合」「１．２．５．４．腕の関節角度を用いる場合」「１．２．５．５．視線ベクトルと指さしベクトルとの交点を用いる場合」「１．２．５．６．視線ベクトルと指さしベクトルとの角度を用いる場合」「１．２．５．７．親指と人さし指との角度を用いる場合」の順に説明する。
【００７９】
（１．２．５．１．指先のｚ位置を用いる場合）
図１６は、指先のｚ位置を用いた指さし／ホバー判定処理について説明するための図である。ここでユーザによって指さし操作がなされる場合には、投影面１１０にさほど指先が近づかないために、人さし指の先端位置Ｐ７のｚ位置がさほど低くならないという人間の行動特性がある（図１６の上側）。一方、ユーザによってホバー操作がなされる場合には、投影面１１０のオブジェクトに指が近づきやすく、人さし指の先端位置Ｐ７のｚ位置が低くなりやすいという人間の行動特性がある（図１６の下側）。図１６に示された例では、かかる人間の行動特性を利用する。
【００８０】
具体的に、図１６の上側に示されるように、指さし／ホバー判定処理部１２４は、人さし指の先端位置Ｐ７のｚ位置（投影面からの人さし指の先端位置Ｐ７の距離）が距離閾値Ｔｈ２以上であれば、ユーザによる操作が指さし操作であると判定すればよい。
【００８１】
一方、図１６の下側に示されるように、指さし／ホバー判定処理部１２４は、人さし指の先端位置Ｐ７のｚ位置（投影面からの人さし指の先端位置Ｐ７の距離）が距離閾値Ｔｈ２未満であれば、ユーザによる操作がホバー操作であると判定すればよい。
【００８２】
（１．２．５．２．手の水平角度を用いる場合）
図１７は、手の水平角度を用いた指さし／ホバー判定処理について説明するための図である。ここで、ユーザによって指さし操作がなされる場合には、ユーザの手と投影面１１０との角度が大きくなりやすいという人間の行動特性がある（図１７の左側）。一方、ユーザによってホバー操作がなされる場合には、ユーザの手が投影面１１０に平行に近づきやすく、ユーザの手と投影面１１０との角度が小さくなりやすいという人間の行動特性がある（図１７の右側）。図１７に示された例では、かかる人間の行動特性を利用する。
【００８３】
上記したように、指さし／ホバー判定処理部１２４は、上肢の少なくとも一部と所定のベクトルまたは所定の面とが成す角度に基づいて、ユーザによる操作が指さし操作であるかホバー操作であるかを判定してよい。例えば、上肢の少なくとも一部は、ユーザの手の少なくとも一部であってもよい。手の少なくとも一部は、手の所定位置と人さし指の先端位置Ｐ７とに基づくベクトルであってよい。また、手の所定位置は、手の中心位置Ｐ１４であってよく、所定のベクトルまたは所定の面は、ユーザによる操作によって指示されるオブジェクトの面（投影面１１０）であってよい。
【００８４】
すなわち、図１７に示された例では、指さし／ホバー判定処理部１２４は、人さし指の先端位置Ｐ７から手の中心位置Ｐ１４へ向かうベクトルと投影面１１０とが成す角度に基づいて、ユーザによる操作が指さし操作であるかホバー操作であるかを判定する。なお、手の所定位置は、手の中心位置Ｐ１４に限定されない。すなわち、手の中心位置Ｐ１４の代わりに、手の他の位置が用いられてもよい。一例として、手の中心位置Ｐ１４の代わりに、人さし指の関節位置Ｐ８（図１１）などが用いられてもよい。
【００８５】
具体的に、図１７の左側に示されるように、指さし／ホバー判定処理部１２４は、人さし指の先端位置Ｐ７−３から手の中心位置Ｐ１４−３へ向かうベクトルと投影面１１０とが成す角度が（例えば、角度Ｒ３のように）閾値Ｔｈ３以上である場合、ユーザによる操作が指さし操作であると判定してよい。
【００８６】
一方、図１７の右側に示されるように、指さし／ホバー判定処理部１２４は、人さし指の先端位置Ｐ７−４から手の中心位置Ｐ１４−４へ向かうベクトルと投影面１１０とが成す角度が（例えば、角度Ｒ４のように）閾値Ｔｈ３未満である場合、ユーザによる操作がホバー操作であると判定してよい。
【００８７】
（１．２．５．３．指の関節角度を用いる場合）
図１８は、指の関節角度を用いた指さし／ホバー判定処理について説明するための図である。ここで、ユーザによって指さし操作がなされる場合には、ユーザの指が伸びやすいという人間の行動特性がある（図１８の左側）。一方、ユーザによってホバー操作がなされる場合には、指が曲がりやすいという人間の行動特性がある（図１８の右側）。図１８に示された例では、かかる人間の行動特性を利用する。
【００８８】
上記したように、指さし／ホバー判定処理部１２４は、上肢の少なくとも一部と所定のベクトルまたは所定の面とが成す角度に基づいて、ユーザによる操作が指さし操作であるかホバー操作であるかを判定してよい。例えば、上肢の少なくとも一部は、ユーザの手の少なくとも一部であってもよい。手の少なくとも一部は、手の所定位置と人さし指の先端位置Ｐ７とに基づくベクトルであってよい。ここで、手の所定位置は、人さし指の関節位置Ｐ８であってよく、所定のベクトルまたは所定の面は、人さし指の関節位置Ｐ８と手の中心位置Ｐ１４とに基づくベクトルであってよい。
【００８９】
すなわち、図１８に示された例では、指さし／ホバー判定処理部１２４は、手の中心位置Ｐ１４から人さし指の関節位置Ｐ８へ向かうベクトルと人さし指の関節位置Ｐ８から人さし指の先端位置Ｐ７へ向かうベクトルとが成す角度に基づいて、ユーザによる操作が指さし操作であるかホバー操作であるかを判定する。なお、手の所定位置は、手の中心位置Ｐ１４に限定されない。すなわち、手の中心位置Ｐ１４の代わりに、手の他の位置が用いられてもよい。
【００９０】
具体的に、図１８の左側に示されるように、指さし／ホバー判定処理部１２４は、手の中心位置Ｐ１４−５から人さし指の関節位置Ｐ８−５へ向かうベクトルと人さし指の関節位置Ｐ８−５から人さし指の先端位置Ｐ７−５へ向かうベクトルとが成す角度が（例えば、角度Ｒ５のように）閾値Ｔｈ５未満である場合、ユーザによる操作が指さし操作であると判定してよい。
【００９１】
一方、図１８の右側に示されるように、指さし／ホバー判定処理部１２４は、手の中心位置Ｐ１４−６から人さし指の関節位置Ｐ８−６へ向かうベクトルと人さし指の関節位置Ｐ８−６から人さし指の先端位置Ｐ７−６へ向かうベクトルとが成す角度が（例えば、角度Ｒ６のように）閾値Ｔｈ５以上である場合、ユーザによる操作がホバー操作であると判定してよい。
【００９２】
（１．２．５．４．腕の関節角度を用いる場合）
図１９は、腕の関節角度を用いた指さし／ホバー判定処理について説明するための図である。ここで、ユーザによって指さし操作がなされる場合には、ユーザの腕が伸びやすいという人間の行動特性がある（図１９の左側）。一方、ユーザによってホバー操作がなされる場合には、腕が曲がりやすいという人間の行動特性がある（図１９の右側）。図１９に示された例では、かかる人間の行動特性を利用する。
【００９３】
上記したように、指さし／ホバー判定処理部１２４は、上肢の少なくとも一部と所定のベクトルまたは所定の面とが成す角度に基づいて、ユーザによる操作が指さし操作であるかホバー操作であるかを判定してよい。例えば、上肢の少なくとも一部は、ユーザの腕の少なくとも一部であってもよい。腕の少なくとも一部は、ユーザの手首位置（手首位置（小指側）Ｐ１２と手首位置（親指側）Ｐ１３との中点）と肘関節位置Ｐ１５とに基づくベクトルであってよい。ここで、所定のベクトルまたは所定の面は、ユーザの上腕位置（例えば、上腕の付け根位置Ｐ１６（図１３）など）と肘関節位置Ｐ１５とに基づくベクトルであってよい。
【００９４】
すなわち、図１９に示された例では、指さし／ホバー判定処理部１２４は、ユーザの上腕位置（例えば、上腕の付け根位置Ｐ１６（図１３）など）から肘関節位置Ｐ１５へ向かうベクトルと肘関節位置Ｐ１５から手首位置（手首位置（小指側）Ｐ１２と手首位置（親指側）Ｐ１３との中点）へ向かうベクトルとが成す角度に基づいて、ユーザによる操作が指さし操作であるかホバー操作であるかを判定する。
【００９５】
ここで、上記したように、上腕の付け根位置Ｐ１６（図１３）が直接取得されない場合もあり得る（図１９の画像Ａ１０）。かかる場合であっても、肘関節位置Ｐ１５と上腕の付け根位置Ｐ１６（図１３）との間のいずれかの位置が上腕位置として取得されれば、当該位置を上腕の付け根位置Ｐ１６（図１３）の代わりに用いることが可能である。ここでは、図１９の画像Ａ１０に示されたように、画像Ａ１０の端部において、肘関節位置Ｐ１５と上腕の付け根位置Ｐ１６（図１３）との間の位置である上腕位置Ｐ１７が取得された場合を想定する。
【００９６】
また、手首位置は、手首位置（小指側）Ｐ１２と手首位置（親指側）Ｐ１３との中点に限定されない。すなわち、手首位置（小指側）Ｐ１２と手首位置（親指側）Ｐ１３との中点の代わりに、手の他の位置が用いられてもよい。例えば、手首位置（小指側）Ｐ１２と手首位置（親指側）Ｐ１３との中点の代わりに、手首位置（小指側）Ｐ１２と手首位置（親指側）Ｐ１３との間のいずれかの位置が用いられてもよい。
【００９７】
具体的に、図１９の左側に示されるように、指さし／ホバー判定処理部１２４は、上腕位置Ｐ１７−７から肘関節位置Ｐ１５−７へ向かうベクトルと肘関節位置Ｐ１５−７から手首位置（手首位置（小指側）Ｐ１２−７と手首位置（親指側）Ｐ１３−７との中点）へ向かうベクトルとが成す角度が（例えば、角度Ｒ７のように）閾値Ｔｈ７未満である場合、ユーザによる操作が指さし操作であると判定してよい。
【００９８】
一方、図１９の右側に示されるように、指さし／ホバー判定処理部１２４は、上腕位置Ｐ１７−８から肘関節位置Ｐ１５−８へ向かうベクトルと肘関節位置Ｐ１５−８から手首位置（手首位置（小指側）Ｐ１２−８と手首位置（親指側）Ｐ１３−８との中点）へ向かうベクトルとが成す角度が（例えば、角度Ｒ８のように）閾値Ｔｈ７以上である場合、ユーザによる操作がホバー操作であると判定してよい。
【００９９】
（１．２．５．５．視線ベクトルと指さしベクトルとの交点を用いる場合）
図２０は、視線ベクトルと指さしベクトルとの交点を用いた指さし／ホバー判定処理について説明するための図である。ここで、ユーザによって指さし操作がなされる場合には、指示されるオブジェクトがより奥側にあるため、視線ベクトルが指さしベクトルよりも僅かだけ下を向くという人間の行動特性がある（図２０の左側）。一方、ユーザによってホバー操作がなされる場合には、指示されるオブジェクトがより手前側にあるため、視線ベクトルが指さしベクトルよりも大きく下を向くという人間の行動特性がある（図２０の右側）。図２０に示された例では、かかる人間の行動特性を利用する。
【０１００】
すなわち、図２０に示された例では、指さし／ホバー判定処理部１２４は、手の中心位置Ｐ１４から人さし指の先端位置Ｐ７へ向かうベクトルを指さしベクトルＶｈと見做し、指さしベクトルＶｈが投影面１１０と交差する点（交点Ｎｈ）を算出し、その交点Ｎｈから手前に距離閾値だけ離れた基準位置を算出する。指さし／ホバー判定処理部１２４は、指さしベクトルＶｈと視線ベクトルＶｅとが交差する点（交点Ｎｅ）が基準位置よりも奥側であれば、ユーザによる操作が指さし操作であると判定する。一方、指さし／ホバー判定処理部１２４は、交点Ｎｅが基準位置よりも手前側であれば、ユーザによる操作がホバー操作であると判定する。
【０１０１】
なお、ここでは、手の中心位置Ｐ１４から人さし指の先端位置Ｐ７へ向かうベクトルを指さしベクトルＶｈとする場合を主に想定する。上記したように、手の中心位置Ｐ１４は、５本の指それぞれの付け根と手首との間の領域のいずれかの位置であれば特に限定されない。また、上記したように、指さしベクトルＶｈは、手の所定位置（手の中心位置Ｐ１４または人さし指の関節位置Ｐ８）を基準として当該手の所定位置から指の先端位置Ｐ７へ向かう方向であってよい。
【０１０２】
また、視線ベクトルＶｅはどのようにして検出されてもよい。例えば、情報処理システム１００ａ（図４）のように、プロジェクション型の表示方式が採用される場合、テーブル１１０ａの上方に、天井から吊り下げられた状態で魚眼カメラが設けられていれば、魚眼カメラによって視線ベクトルＶｅが検出され得る。また、例えば、情報処理システム１００ｂ（図５）のように、リアプロジェクション型の表示方式が採用される場合、テーブル１１０ａの天面に魚眼カメラが設けられていれば、魚眼カメラによって視線ベクトルＶｅが検出され得る。
【０１０３】
また、例えば、情報処理システム１００ｃ（図６）のように、平置きディスプレイ型の表示方式が採用される場合、テーブル１１０ａの天面に魚眼カメラが設けられていれば、魚眼カメラによって視線ベクトルＶｅが検出され得る。また、例えば、情報処理システム１００ｄ（図７）のように、アイウェア型端末が採用される場合、アイウェア型端末に視線検出用のカメラが設けられていれば、視線検出用のカメラによって視線ベクトルＶｅが検出され得る。
【０１０４】
具体的に、図２０の左側に示されるように、指さし／ホバー判定処理部１２４は、手の中心位置Ｐ１４−９から人さし指の先端位置Ｐ７−９へ向かうベクトルを指さしベクトルＶｈ−９として算出し、指さしベクトルＶｈ−９が投影面１１０と交差する点を交点Ｎｈ−９として算出し、交点Ｎｈ−９から手前に距離閾値だけ離れた基準位置Ｔｈ９を算出する。指さし／ホバー判定処理部１２４は、指さしベクトルＶｈ−９と視線ベクトルＶｅ−９とが交差する点を交点Ｎｅ−９として算出し、交点Ｎｅ−９が基準位置Ｔｈ９よりも奥側であれば、ユーザによる操作が指さし操作であると判定してよい。
【０１０５】
一方、図２０の右側に示されるように、指さし／ホバー判定処理部１２４は、手の中心位置Ｐ１４−１０から人さし指の先端位置Ｐ７−１０へ向かうベクトルを指さしベクトルＶｈ−１０として算出し、指さしベクトルＶｈ−１０が投影面１１０と交差する点を交点Ｎｈ−１０として算出し、交点Ｎｈ−１０から手前に距離閾値だけ離れた基準位置Ｔｈ１０を算出する。指さし／ホバー判定処理部１２４は、指さしベクトルＶｈ−１０と視線ベクトルＶｅ−１０とが交差する点を交点Ｎｅ−１０として算出し、交点Ｎｅ−１０が基準位置Ｔｈ１０よりも手前側であれば、ユーザによる操作がホバー操作であると判定してよい。
【０１０６】
（１．２．５．６．視線ベクトルと指さしベクトルとの角度を用いる場合）
図２１は、視線ベクトルと指さしベクトルとの角度を用いた指さし／ホバー判定処理について説明するための図である。図２０に示された例と同様に、ユーザによって指さし操作がなされる場合には、指示されるオブジェクトがより奥側にあるため、視線ベクトルが指さしベクトルよりも僅かだけ下を向くという人間の行動特性がある（図２１の左側）。一方、ユーザによってホバー操作がなされる場合には、指示されるオブジェクトがより手前側にあるため、視線ベクトルが指さしベクトルよりも大きく下を向くという人間の行動特性がある（図２１の右側）。図２１に示された例では、かかる人間の行動特性を利用する。
【０１０７】
上記したように、指さし／ホバー判定処理部１２４は、上肢の少なくとも一部と所定のベクトルまたは所定の面とが成す角度に基づいて、ユーザによる操作が指さし操作であるかホバー操作であるかを判定してよい。例えば、上肢の少なくとも一部は、ユーザの手の少なくとも一部であってもよい。手の少なくとも一部は、手の所定位置と人さし指の先端位置Ｐ７とに基づくベクトルであってよい。また、手の所定位置は、手の中心位置Ｐ１４であってよい。そして、所定のベクトルまたは所定の面は、ユーザの視線ベクトルであってよい。
【０１０８】
すなわち、図２１に示された例では、指さし／ホバー判定処理部１２４は、手の中心位置Ｐ１４から人さし指の先端位置Ｐ７へ向かうベクトルと視線ベクトルとが成す角度に基づいて、ユーザによる操作が指さし操作であるかホバー操作であるかを判定する。なお、手の所定位置は、手の中心位置Ｐ１４に限定されない。すなわち、手の中心位置Ｐ１４の代わりに、手の他の位置が用いられてもよい。一例として、手の中心位置Ｐ１４の代わりに、人さし指の関節位置Ｐ８（図１１）などが用いられてもよい。
【０１０９】
具体的に、図２１の左側に示されるように、指さし／ホバー判定処理部１２４は、手の中心位置Ｐ１４−１１から人さし指の先端位置Ｐ７−１１へ向かうベクトルＶｈ−１１と視線ベクトルＶｅ−１１とが成す角度が（例えば、角度Ｒ１１のように）閾値Ｔｈ１１未満である場合、ユーザによる操作が指さし操作であると判定してよい。
【０１１０】
一方、図２１の右側に示されるように、指さし／ホバー判定処理部１２４は、手の中心位置Ｐ１４−１２から人さし指の先端位置Ｐ７−１２へ向かうベクトルＶｈ−１２と視線ベクトルＶｅ−１２とが成す角度が（例えば、角度Ｒ１２のように）閾値Ｔｈ１１以上である場合、ユーザによる操作がホバー操作であると判定してよい。
【０１１１】
（１．２．５．７．親指と人さし指との角度を用いる場合）
図２２は、親指と人さし指との角度を用いた指さし／ホバー判定処理について説明するための図である。図２２に示された例では、指さし操作とホバー操作とを区別可能にするために、ユーザが指さし操作とホバー操作とを明示的に異なる手形状によって行うことを前提とする。指さし操作およびホバー操作それぞれがどのような手形状によって行われるかは、あらかじめ任意に決められていてよい。ここでは、一例として、指さし操作が、人さし指に対して親指を開いた手形状（いわゆる、ピストル型ジェスチャ）であり、ホバー操作が、人さし指に対して親指を閉じた手形状であることがあらかじめ決められている場合を想定する。
【０１１２】
上記したように、指さし／ホバー判定処理部１２４は、上肢の少なくとも一部と所定のベクトルまたは所定の面とが成す角度に基づいて、ユーザによる操作が指さし操作であるかホバー操作であるかを判定してよい。例えば、上肢の少なくとも一部は、ユーザの手の少なくとも一部であってもよい。手の少なくとも一部は、手の所定位置と人さし指の先端位置Ｐ７とに基づくベクトルであってよい。そして、手の所定位置は、人さし指の関節位置Ｐ８であってよく、所定のベクトルまたは所定の面は、親指の先端から二つ目の関節位置Ｐ１１と親指の先端位置Ｐ９とに基づくベクトルであってよい。
【０１１３】
すなわち、図２１に示された例では、指さし／ホバー判定処理部１２４は、人さし指の関節位置Ｐ８から人さし指の先端位置Ｐ７へ向かうベクトルと親指の先端から二つ目の関節位置Ｐ１１から親指の先端位置Ｐ９へ向かうベクトルとが成す角度を算出する。そして、指さし／ホバー判定処理部１２４は、かかる角度を親指と人さし指とが成す角度と見做し、かかる角度に基づいて、ユーザによる操作が指さし操作であるかホバー操作であるかを判定する。なお、手の所定位置は、人さし指の関節位置Ｐ８に限定されない。すなわち、人さし指の関節位置Ｐ８の代わりに、手の他の位置が用いられてもよい。一例として、人さし指の関節位置Ｐ８の代わりに、手の中心位置Ｐ１４（図１１）などが用いられてもよい。
【０１１４】
具体的に、図２２の左側に示されるように、指さし／ホバー判定処理部１２４は、人さし指の関節位置Ｐ８−１３から人さし指の先端位置Ｐ７−１３へ向かうベクトルと親指の先端から二つ目の関節位置Ｐ１１−１３から親指の先端位置Ｐ９−１３へ向かうベクトルとが成す角度が（例えば、角度Ｒ１３のように）閾値Ｔｈ１３以上である場合、ユーザによる操作が指さし操作であると判定してよい。
【０１１５】
一方、図２２の右側に示されるように、指さし／ホバー判定処理部１２４は、人さし指の関節位置Ｐ８−１４から人さし指の先端位置Ｐ７−１４へ向かうベクトルと親指の先端から二つ目の関節位置Ｐ１１−１４から親指の先端位置Ｐ９−１４へ向かうベクトルとが成す角度が（例えば、角度Ｒ１４のように）閾値Ｔｈ１３未満である場合、ユーザによる操作がホバー操作であると判定してよい。
【０１１６】
以上、ユーザによる操作が指さし操作であるかホバー操作であるかの判定の例について説明した。
【０１１７】
（１．２．６．アプリケーションとシステムとの連携）
上記の情報処理装置１０においては、アプリケーションとシステムとが実行され、かかるアプリケーションとシステムとによって連携される。より具体的には、アプリケーションおよびシステムそれぞれはプログラムであり、情報処理装置１０において１または複数のＣＰＵなどといった処理装置によって実行されることによって、上記の表示制御部１２１および操作検出処理部１２２などが実現され得る。システムは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やミドルウェアなどといった下位レイヤのソフトウェアに相当し得る。一方、アプリケーションは、システム上で各処理を行うソフトウェアに相当し得る。
【０１１８】
以下では、かかるアプリケーションとシステムとの連携の例について説明する。図２３は、アプリケーションとシステムとの連携を示すシーケンス図である。まず、図２３に示されるように、アプリケーションは、手情報を取得するためのクラスのインスタンス化を行う（Ｓ６１）。続いて、アプリケーションは、ユーザによる操作が指さし操作であるかホバー操作であるかを示すジェスチャタイプの判定条件を指定する。このとき、アプリケーションは、判定条件として、ジェスチャタイプの判定に利用される１または複数のパラメータに対して付される重みを指定する。
【０１１９】
例えば、アプリケーションは、判定条件として、複数のパラメータそれぞれに付される重みを指定する場合、複数のパラメータそれぞれに付される重みを同じにしてもよい。例えば、アプリケーションは、上記の「１．２．５．１．指先のｚ位置を用いる場合」の項にて説明した判定処理のみによってジェスチャタイプを判定することを要求する場合には、かかる判定処理に対応するパラメータ「ｄｅｔｅｃｔｉｏｎＴｙｐｅ＿ＦｉｎｇｅｒＺ」に「１．０ｆ」を設定し、メソッド「ｄｅｔｅｃｔｏｒ−＞ａｄｄＤｅｔｅｃｔｉｏｎＰｒｏｃｅｓｓ」をコールすればよい。
【０１２０】
ここでは、複数のパラメータそれぞれに付される重みを異ならせる場合を想定する。具体的に、上記の「１．２．５．３．指の関節角度を用いる場合」の項にて説明した判定処理と「１．２．５．４．腕の関節角度を用いる場合」の項にて説明した判定処理とによって、それぞれ異なる重み「０．６」および「０．４」を用いてジェスチャタイプを判定することを要求する場合を想定する。
【０１２１】
かかる場合、アプリケーションは、パラメータ「ｄｅｔｅｃｔｉｏｎＴｙｐｅ＿ＦｉｎｇｅｒＪｏｉｎｔＡｎｇｌｅ」に「０．６ｆ」を設定し、メソッド「ｄｅｔｅｃｔｏｒ−＞ａｄｄＤｅｔｅｃｔｉｏｎＰｒｏｃｅｓｓ」をコールすればよい（Ｓ６２）。そして、アプリケーションは、パラメータ「ｄｅｔｅｃｔｉｏｎＴｙｐｅ＿ＡｒｍＪｏｉｎｔＡｎｇｌｅ」に「０．４ｆ」を設定し、メソッド「ｄｅｔｅｃｔｏｒ−＞ａｄｄＤｅｔｅｃｔｉｏｎＰｒｏｃｅｓｓ」をコールすればよい（Ｓ６３）。なお、ジェスチャタイプの判定に用いられる判定処理は、これらに限定されない。
【０１２２】
アプリケーションは、判定条件の指定が完了すると、（例えば、「ｄｅｔｅｃｔｏｒ−＞ｓｔａｒｔＤｅｔｅｃｔｉｏｎ」をコールすることによって、）ジェスチャ検出の開始指示を出す（Ｓ６４）。アプリケーションは、システムによってジェスチャが検出された場合、（例えば、メソッド「ｏｎＧｅｓｔｕｒｅＤｅｔｅｃｔｅｄ」によって、）コールバックを受ける（Ｓ６５）。これによって、アプリケーションは、判定条件に応じたジェスチャタイプの判定に基づく通知をシステムから受け付ける。かかる通知には、手情報「ｈａｎｄＤａｔａ」が含まれる。
【０１２３】
図２４は、手情報の構造体の例を示す図である。図２４を参照すると、手情報の構造体は、各属性を含んでいる。例えば、手情報の構造体の属性には、「ジェスチャタイプ」が含まれている。すなわち、システムは、手情報の例として、判定したジェスチャタイプをアプリケーションに通知する。また、手情報の構造体の属性には、操作による指示位置として、投影面上のｘ位置「ｓｃｒｅｅｎＰｏｓｉｔｉｏｎＸ」および投影面上のｙ位置「ｓｃｒｅｅｎＰｏｓｉｔｉｏｎＹ」も含まれている。ｘ位置およびｙ位置は、投影面に平行かつ互いに垂直なｘ軸上の位置およびｙ軸上の位置を示す。
【０１２４】
ここで、指示位置は、ユーザによる操作が指さし操作であるかホバー操作であるかに応じて異なってよい。すなわち、システムは、ユーザによる操作が指さし操作であるかホバー操作であるかに応じた指示位置をアプリケーションに通知してよい。具体的に、図２４に示されるように、システムは、ユーザによる操作がホバー操作である場合、空間における人さし指の先端位置Ｐ７の２次元座標（ｘ位置およびｙ位置）をアプリケーションに通知すればよい。
【０１２５】
一方、システムは、ユーザによる操作が指さし操作である場合、人さし指の先端位置Ｐ７の延長線が示す投影面上の２次元座標（ｘ位置およびｙ位置）をアプリケーションに通知すればよい。例えば、人さし指の先端位置Ｐ７の延長線が示す投影面上の２次元座標は、例えば、手の中心位置Ｐ１４から人さし指の先端位置Ｐ７へ向かう指さしベクトルが投影面と交差する点の２次元座標であってよい。
【０１２６】
図２５は、プログラミング言語Ｃ＋＋を利用したシステムに対応するソースコードの記述例を示す図である。図２５に示された例は、システムに対応するソースコードの一例に過ぎないため、システムに対応するソースコードは、図２５に示された例に限定されない。また、図２６は、プログラミング言語Ｃ＋＋を利用したアプリケーションに対応するソースコードの記述例を示す図である。図２５に示された例と同様に、図２６に示された例は、アプリケーションに対応するソースコードの一例に過ぎないため、アプリケーションに対応するソースコードは、図２６に示された例に限定されない。
【０１２７】
以上、アプリケーションとシステムとの連携の例について説明した。
【０１２８】
（１．２．７．適用例）
続いて、上記した本開示の一実施形態を用いてアプリケーション（例えば、ゲームアプリケーションを含む）を実現する例について説明する。以下では、アプリケーションの実現例を、「１．２．７．１．写真アプリケーション」「１．２．７．２．ペイントアプリケーション」「１．２．７．３．建築シミュレーションアプリケーション」「１．２．７．４．ブロック崩しゲームアプリケーション」「１．２．７．５．連想ゲームアプリケーション」「１．２．７．６．文字探しゲームアプリケーション」「１．２．７．７．演奏ゲームアプリケーション」の順に説明する。
【０１２９】
（１．２．７．１．写真アプリケーション）
図２７は、写真アプリケーションの実現例における対応情報の例を示す図である。図２７に示されるように、対応情報においては、タップ操作、ドラッグ操作、ホバー操作および指さし操作それぞれに処理が対応付けられている。写真アプリケーションにおいては、かかる対応情報に基づいて、各操作に対応する処理が実行される。以下、図２８〜図３１を参照しながら、タップ操作、ドラッグ操作、ホバー操作および指さし操作それぞれに対応する処理の実行例について説明する。
【０１３０】
図２８は、写真アプリケーションの実現例においてタップ操作検出時の処理実行例を示す図である。上面図Ｆ２２−１を参照すると、仮想オブジェクトＶ２１〜Ｖ２３として、写真が投影面１１０に投影されている。ここで、側面図Ｆ２１−１および上面図Ｆ２２−１に示されるように、ユーザによって仮想オブジェクトＶ２１（写真）に対するタップ操作がなされ、タップ／ドラッグ判定処理部１２３によってタップ操作が検出された場合を想定する。
【０１３１】
かかる場合には、表示制御部１２１は、タップ操作に対応する処理としてタップ操作がなされた仮想オブジェクトＶ２１（写真）を大きく表示する処理を行う。上面図Ｆ２４−１を参照すると、表示制御部１２１による制御に従って、拡大された後の仮想オブジェクトＶ２４（写真）が投影面１１０に投影されている。また、仮想オブジェクトＶ２４（写真）を元のサイズに戻すための仮想オブジェクトＶ２５（ボタン）も投影面１１０に投影されている。
【０１３２】
図２９は、写真アプリケーションの実現例においてドラッグ操作検出時の処理実行例を示す図である。上面図Ｆ２２−２を参照すると、仮想オブジェクトＶ２１〜Ｖ２３として、写真が投影面１１０に投影されている。ここで、側面図Ｆ２１−２および上面図Ｆ２２−２に示されるように、ユーザによって仮想オブジェクトＶ２１（写真）に対するドラッグ操作がなされ、タップ／ドラッグ判定処理部１２３によってドラッグ操作が検出された場合を想定する。
【０１３３】
かかる場合には、表示制御部１２１は、ドラッグ操作に対応する処理としてドラッグ操作がなされた仮想オブジェクトＶ２１（写真）を移動する処理を行う。側面図Ｆ２３−２および上面図Ｆ２４−２を参照すると、表示制御部１２１による制御に従って、移動後の仮想オブジェクトＶ２１（写真）が投影面１１０に投影されている。
【０１３４】
図３０は、写真アプリケーションの実現例においてホバー操作検出時の処理実行例を示す図である。上面図Ｆ２２−３を参照すると、仮想オブジェクトＶ２１〜Ｖ２３として、写真が投影面１１０に投影されている。ここで、側面図Ｆ２１−３および上面図Ｆ２２−３に示されるように、ユーザによって仮想オブジェクトＶ２１（写真）に対するホバー操作がなされ、指さし／ホバー判定処理部１２４によってホバー操作が検出された場合を想定する。
【０１３５】
かかる場合には、表示制御部１２１は、ホバー操作に対応する処理としてホバー操作がなされた仮想オブジェクトＶ２１（写真）の補助情報を表示する処理を行う。側面図Ｆ２３−３および上面図Ｆ２４−３を参照すると、表示制御部１２１による制御に従って、仮想オブジェクトＶ２１（写真）に対応する仮想オブジェクトＶ２６（補助情報）が投影面１１０に投影されている。
【０１３６】
図３１は、写真アプリケーションの実現例において指さし操作検出時の処理実行例を示す図である。上面図Ｆ２２−４を参照すると、仮想オブジェクトＶ２１〜Ｖ２３として、写真が投影面１１０に投影されている。ここで、側面図Ｆ２１−４および上面図Ｆ２２−４に示されるように、ユーザによって仮想オブジェクトＶ２２（写真）に対する指さし操作が所定の時間（例えば、数秒）を超えてなされ、指さし／ホバー判定処理部１２４によって指さし操作が検出された場合を想定する。
【０１３７】
かかる場合には、表示制御部１２１は、指さし操作に対応する処理として所定の時間を超えて指さし操作がなされた仮想オブジェクトＶ２２（写真）を選択状態にし、選択状態とした仮想オブジェクトＶ２２（写真）を移動する処理を行う。側面図Ｆ２３４３および上面図Ｆ２４−４を参照すると、表示制御部１２１による制御に従って、移動後の仮想オブジェクトＶ２２（写真）が投影面１１０に投影されている。
【０１３８】
（１．２．７．２．ペイントアプリケーション）
図３２は、ペイントアプリケーションの実現例における対応情報の例を示す図である。図３２に示されるように、対応情報においては、タップ操作、ドラッグ操作、ホバー操作および指さし操作それぞれに処理が対応付けられている。ペイントアプリケーションにおいては、かかる対応情報に基づいて、各操作に対応する処理が実行される。以下、図３３〜図３６を参照しながら、タップ操作、ドラッグ操作、ホバー操作および指さし操作それぞれに対応する処理の実行例について説明する。
【０１３９】
図３３は、ペイントアプリケーションの実現例においてタップ操作検出時の処理実行例を示す図である。上面図Ｆ３２−１を参照すると、仮想オブジェクトＶ３１として、ペン色をタップ操作によって選択するためのパレットが投影面１１０に投影されている。ここで、側面図Ｆ３１−１および上面図Ｆ３２−１に示されるように、ユーザによって投影面１１０の仮想オブジェクトＶ３１以外の領域（キャンバス）に対するタップ操作がなされ、タップ／ドラッグ判定処理部１２３によってタップ操作が検出された場合を想定する。
【０１４０】
かかる場合には、表示制御部１２１は、タップ操作に対応する処理としてキャンバスにおけるタップ操作がなされた位置に絵を描く処理を行う。上面図Ｆ３４−１を参照すると、表示制御部１２１による制御に従って、タップ操作によって描かれた仮想オブジェクトＶ３２−１（絵）が投影面１１０に投影されている。
【０１４１】
図３４は、ペイントアプリケーションの実現例においてドラッグ操作検出時の処理実行例を示す図である。上面図Ｆ３２−２を参照すると、仮想オブジェクトＶ３１として、ペン色をタップ操作によって選択するためのパレットが投影面１１０に投影されている。ここで、側面図Ｆ３１−２および上面図Ｆ３２−２に示されるように、ユーザによって投影面１１０の仮想オブジェクトＶ３１以外の領域（キャンバス）に対するドラッグ操作がなされ、タップ／ドラッグ判定処理部１２３によってドラッグ操作が検出された場合を想定する。
【０１４２】
かかる場合には、表示制御部１２１は、ドラッグ操作に対応する処理としてキャンバスにおけるドラッグ操作がなされた位置（軌跡）に絵を描く処理を行う。側面図Ｆ３３−２および上面図Ｆ３４−２を参照すると、表示制御部１２１による制御に従って、ドラッグ操作によって描かれた仮想オブジェクトＶ３２−２（絵）が投影面１１０に投影されている。
【０１４３】
図３５は、ペイントアプリケーションの実現例においてホバー操作検出時の処理実行例を示す図である。上面図Ｆ３２−３を参照すると、仮想オブジェクトＶ３１として、ペン色をタップ操作によって選択するためのパレットが投影面１１０に投影されている。ここで、側面図Ｆ３１−３および上面図Ｆ３２−３に示されるように、ユーザによって投影面１１０の仮想オブジェクトＶ３１以外の領域（キャンバス）に対するホバー操作がなされ、指さし／ホバー判定処理部１２４によってホバー操作が検出された場合を想定する。
【０１４４】
かかる場合には、表示制御部１２１は、ホバー操作に対応する処理として、現在選択中のペン色を表示する処理を行う。側面図Ｆ３３−３および上面図Ｆ３４−３を参照すると、表示制御部１２１による制御に従って、二人のユーザの現在選択中のペン色が仮想オブジェクトＶ３３（ペン色）および仮想オブジェクトＶ３４（ペン色）として投影面１１０に投影されている。
【０１４５】
図３６は、ペイントアプリケーションの実現例において指さし操作検出時の処理実行例を示す図である。上面図Ｆ３２−４を参照すると、仮想オブジェクトＶ３１として、ペン色をタップ操作によって選択するためのパレットが投影面１１０に投影されている。まず、側面図Ｆ３１−４および上面図Ｆ３２−４に示されるように、ユーザによって投影面１１０の仮想オブジェクトＶ３１以外の領域（キャンバス）に対するドラッグ操作がなされ、ドラッグ操作に基づいて仮想オブジェクトＶ３２−３（絵）が投影された場合を想定する。
【０１４６】
続いて、側面図Ｆ３１−４および上面図Ｆ３２−４に示されるように、ユーザによって投影面１１０の仮想オブジェクトＶ３１以外の領域（キャンバス）に対する指さし操作がなされ、指さし／ホバー判定処理部１２４によって指さし操作が検出された場合を想定する。
【０１４７】
かかる場合には、表示制御部１２１は、指さし操作に対応する処理として、キャンバスにおける指さし操作がなされた位置（軌跡）に絵を描く処理を行う。側面図Ｆ３３−４および上面図Ｆ３４−４を参照すると、表示制御部１２１による制御に従って、指さし操作によって描かれた仮想オブジェクトＶ３２−４（絵）が、ドラッグ操作によって描かれた仮想オブジェクトＶ３２−３（絵）に引き続いて、投影面１１０に投影されている。
【０１４８】
（１．２．７．３．建築シミュレーションアプリケーション）
図３７は、建築シミュレーションアプリケーションの実現例における対応情報の例を示す図である。図３７に示されるように、対応情報においては、タップ操作、ドラッグ操作、ホバー操作および指さし操作それぞれに処理が対応付けられている。建築シミュレーションアプリケーションにおいては、かかる対応情報に基づいて、各操作に対応する処理が実行される。以下、図３８〜図４０を参照しながら、タップ操作、ドラッグ操作、ホバー操作および指さし操作それぞれに対応する処理の実行例について説明する。
【０１４９】
図３８は、建築シミュレーションアプリケーションの実現例においてタップ操作検出時の処理実行例を示す図である。なお、ここでは、タップ操作がなされた場合について説明するが、ドラッグ操作がなされた場合にもタップ操作がなされた場合と同様に処理が実行されてよい。上面図Ｆ４１−１を参照すると、投影面１１０上に実オブジェクトＥ４１（模型）および実オブジェクトＥ４２（模型）が置かれている。
【０１５０】
このとき、入力部１２０によって、実オブジェクトＥ４１（模型）の位置および向きが認識され、出力部１３０によって、実オブジェクトＥ４１（模型）の位置および向きに合わせて、仮想オブジェクトＶ４１（建物映像）が投影（プロジェクションマッピング）される。ここで、上面図Ｆ４１−１に示されるように、ユーザによって仮想オブジェクトＶ４１（建物映像）に対するタップ操作がなされ、タップ／ドラッグ判定処理部１２３によってタップ操作が検出された場合を想定する。
【０１５１】
かかる場合には、表示制御部１２１は、タップ操作に対応する処理としてタップ操作の位置および向きに合わせてウォークスルーカメラ（仮想カメラ）を移動させる。そして、上面図Ｆ４１−１に示されたように、表示制御部１２１は、移動後のウォークスルーカメラの位置および向きを視点とした仮想オブジェクトＶ４２（カメラ映像）を実オブジェクトＥ４２（模型）の位置および向きに合わせて投影（プロジェクションマッピング）する。
【０１５２】
図３９は、建築シミュレーションアプリケーションの実現例においてホバー操作検出時の処理実行例を示す図である。上面図Ｆ４１−２を参照すると、投影面１１０上に実オブジェクトＥ４１（模型）および実オブジェクトＥ４２（模型）が置かれている。このとき、図３８に示した例と同様に、出力部１３０によって、実オブジェクトＥ４１（模型）の位置および向きに合わせて、仮想オブジェクトＶ４１（建物映像）が投影（プロジェクションマッピング）される。また、出力部１３０によって、実オブジェクトＥ４２（模型）の位置および向きに合わせて、仮想オブジェクトＶ４２（カメラ映像）が投影（プロジェクションマッピング）される。
【０１５３】
ここで、上面図Ｆ４１−２に示されるように、ユーザによって仮想オブジェクトＶ４１（建物映像）に対するホバー操作がなされ、指さし／ホバー判定処理部１２４によってホバー操作が検出された場合を想定する。
【０１５４】
かかる場合には、表示制御部１２１は、ホバー操作に対応する処理として、仮想オブジェクトＶ４１（建物映像）におけるホバー操作がなされた場所に関する情報（場所情報）を表示する。上面図Ｆ４１−２を参照すると、表示制御部１２１による制御に従って、仮想オブジェクトＶ４１（建物映像）におけるホバー操作がなされた場所に関する情報（場所情報）が、仮想オブジェクトＶ４３（場所情報）として投影面１１０に投影されている。
【０１５５】
図４０は、建築シミュレーションアプリケーションの実現例において指さし操作検出時の処理実行例を示す図である。上面図Ｆ４１−３を参照すると、投影面１１０上に実オブジェクトＥ４１（模型）および実オブジェクトＥ４２（模型）が置かれている。このとき、図３８に示した例と同様に、出力部１３０によって、実オブジェクトＥ４１（模型）の位置および向きに合わせて、仮想オブジェクトＶ４１（建物映像）が投影（プロジェクションマッピング）される。また、出力部１３０によって、実オブジェクトＥ４２（模型）の位置および向きに合わせて、仮想オブジェクトＶ４２（カメラ映像）が投影（プロジェクションマッピング）される。
【０１５６】
ここで、上面図Ｆ４１−３に示されるように、ユーザによって仮想オブジェクトＶ４１（建物映像）に対する指さし操作がなされ、指さし／ホバー判定処理部１２４によって指さし操作が検出された場合を想定する。
【０１５７】
かかる場合には、表示制御部１２１は、指さし操作に対応する処理として、指先の上方に仮想光源を移動させる。そして、表示制御部１２１は、移動後の仮想光源から照明光が照射されているように、仮想オブジェクトＶ４１（建物映像）を変更し、変更後の仮想オブジェクトＶ４１（建物映像）を実オブジェクトＥ４２（模型）に投影する。上面図Ｆ４１−３を参照すると、表示制御部１２１による制御に従って、仮想光源の移動によって影の位置が変更された後の仮想オブジェクトＶ４１（建物映像）が投影されている。
【０１５８】
（１．２．７．４．ブロック崩しゲームアプリケーション）
図４１は、ブロック崩しゲームアプリケーションの実現例における対応情報の例を示す図である。図４１に示されるように、対応情報においては、タップ操作およびドラッグ操作それぞれには、処理が対応付けられておらず、ドラッグ操作および指さし操作それぞれに処理が対応付けられている。ブロック崩しゲームアプリケーションにおいては、かかる対応情報に基づいて、ドラッグ操作および指さし操作それぞれに対応する処理が実行される。以下、図４２〜図４５を参照しながら、ドラッグ操作および指さし操作それぞれに対応する処理の実行例について説明する。
【０１５９】
図４２は、ブロック崩しゲームアプリケーションの実現例における処理実行例を示す図である。図４２を参照すると、投影面１１０上に実オブジェクトＥ５１〜Ｅ５３（城壁模型）が置かれている。このとき、入力部１２０によって、実オブジェクトＥ５１〜Ｅ５３（城壁模型）の位置および向きが認識され、出力部１３０によって、かかる位置および向きに合わせて、仮想オブジェクトが投影（プロジェクションマッピング）される。また、図４２に示されるように、出力部１３０によって、仮想オブジェクトＶ５１−１〜Ｖ５１−３（球）が投影される。仮想オブジェクトＶ５１−１〜Ｖ５１−３（球）は、特に何かに衝突しない限り、直線上を移動する。
【０１６０】
ここで、図４２に示されるように、二人のユーザそれぞれによって投影面１１０に対するドラッグ操作がなされ、タップ／ドラッグ判定処理部１２３によってドラッグ操作が検出された場合を想定する。
【０１６１】
かかる場合には、表示制御部１２１は、ドラッグ操作に対応する処理としてドラッグ操作の位置に合わせて仮想オブジェクトＶ５２−１〜Ｖ５２−２（反射バー）を表示する。例えば、仮想オブジェクトＶ５２−１〜Ｖ５２−２（反射バー）のいずれかに、仮想オブジェクトＶ５１−１（球）が衝突すると、表示制御部１２１は、仮想オブジェクトＶ５１−１〜Ｖ５１−３（球）が、衝突した反射バーにおいて反射するように（弾かれるように）移動させる。仮想オブジェクトＶ５１−２〜Ｖ５１−３（球）も同様の動きをしてよい。
【０１６２】
図４３は、反射バーと反発力との関係を説明するための図である。図４３を参照すると、比較的短い仮想オブジェクトＶ５２−１（反射バー）と比較的長い仮想オブジェクトＶ５２−２（反射バー）とが投影されている。比較的短い仮想オブジェクトＶ５２−１（反射バー）は、反発力が比較的強いが、球と衝突する可能性が比較的低くてよい。一方、比較的長い仮想オブジェクトＶ５２−２（反射バー）は、反発力が比較的弱いが、球と衝突する可能性が比較的高い。ここで、球が実オブジェクトＥ５１〜Ｅ５３（城壁模型）のいずれかに衝突すると、球が衝突した城壁模型が破損する。
【０１６３】
図４４は、球が衝突した城壁模型が破損する様子を示す図である。図４４を参照すると、実オブジェクトＥ５２（城壁模型）に仮想オブジェクトＶ５１−１〜Ｖ５１−２（球）が衝突する様子が示されている。このように、実オブジェクトＥ５２（城壁模型）に仮想オブジェクトＶ５１−１〜Ｖ５１−２（球）が衝突した場合、図４４に示されたように、表示制御部１２１は、実オブジェクトＥ５２（城壁模型）に破損を表現するような模様を投影（プロジェクションマッピング）してもよい。
【０１６４】
そして、表示制御部１２１は、城壁模型の破損度合いが閾値を超えると、城壁模型から逃走する仮想オブジェクトＶ５３（敵）を投影してよい。このとき、ユーザは、逃走した敵を指さし操作によって攻撃することが可能であってよい。図４５は、敵が攻撃される様子を示す図である。図４５に示されるように、ユーザによって仮想オブジェクトＶ５３（敵）に対する指さし操作がなされ（図４５に示された例では、指さし方向が仮想オブジェクトＶ５４として投影されている）、指さし／ホバー判定処理部１２４によって指さし操作が検出された場合を想定する。
【０１６５】
かかる場合には、表示制御部１２１は、指さし操作に対応する処理として指さし操作がなされた仮想オブジェクトＶ５３（敵）を攻撃する処理（敵にダメージを与える処理）を行う。例えば、表示制御部１２１は、敵が受けるダメージが閾値を超えた場合には、ユーザがゲームに勝利した（敵を倒した）として、ユーザがゲームに勝利した旨の表示を行うことが可能である。
【０１６６】
（１．２．７．５．連想ゲームアプリケーション）
図４６は、連想ゲームアプリケーションの実現例における対応情報の例を示す図である。図４６に示されるように、対応情報においては、タップ操作、ドラッグ操作、ホバー操作および指さし操作それぞれに処理が対応付けられている。連想ゲームアプリケーションにおいては、かかる対応情報に基づいて、タップ操作、ドラッグ操作、ホバー操作および指さし操作それぞれに対応する処理が実行される。以下、図４７〜図５３を参照しながら、タップ操作、ドラッグ操作、ホバー操作および指さし操作それぞれに対応する処理の実行例について説明する。
【０１６７】
図４７は、連想ゲームアプリケーションの実現例における処理実行例を示す図である。図４７を参照すると、投影面１１０上に実オブジェクトＥ６１−１（抽象的な立体物）が置かれている。このとき、入力部１２０によって、実オブジェクトＥ６１−１（抽象的な立体物）が認識され、出力部１３０によって、かかる抽象的な立体物に対応する仮想オブジェクトＶ６１（アルファベット）が投影される。二人のユーザは、かかる抽象的な立体物に対応する単語を、アルファベットを移動させて集めることによって作成するスピードを競う。ここでは、抽象的な立体物に対応する単語が「ＭＥＲＣＵＲＹ」である場合を想定する。
【０１６８】
図４８は、ドラッグ操作によってアルファベットを移動させる例を示す図である。仮想オブジェクトＶ６２−１は、一人目のユーザが既に集め終わったアルファベットである。仮想オブジェクトＶ６３−１は、一人目のユーザによるドラッグ操作の位置（軌跡）に表示されている。例えば、一人目のユーザは、既に集め終わったアルファベットを次に集めたいアルファベットに移動させることによって、抽象的な立体物に対応する単語に近づけていく。
【０１６９】
なお、アルファベットは、タップ操作または指さし操作によっても移動させることが可能であってよい。図４７を参照すると、二人目のユーザが既に集め終わったアルファベットとして、仮想オブジェクトＶ６２−２が投影されており、二人目のユーザの指さし操作の位置に、仮想オブジェクトＶ６３−２が投影されている。また、単語のヒントを知りたいユーザは、ホバー操作によって単語を知るためのヒントを見ることが可能であってよい。
【０１７０】
図４９は、ホバー操作によってヒントを表示する例を示す図である。図４９を参照すると、仮想オブジェクトＶ６１（アルファベット）に対してホバー操作を行っている。このとき、図４９に示されるように、表示制御部１２１は、単語を知るための仮想オブジェクトＶ６５（ヒント）を投影してよい。ユーザは、集め終わったアルファベットを実オブジェクトＥ６１−１（抽象的な立体物）に移動させる。
【０１７１】
表示制御部１２１は、一人目のユーザが集め終わったアルファベットと抽象的な立体物に対応する単語とが一致していれば、一人目のユーザが勝利したとして、仮想オブジェクトＶ６４−１（得点欄）に勝利を示すマークを追加する。同様に、表示制御部１２１は、二人目のユーザが集め終わったアルファベットと抽象的な立体物に対応する単語とが一致していれば、二人目のユーザが勝利したとして、仮想オブジェクトＶ６４−２（得点欄）に勝利を示すマークを追加する。
【０１７２】
上記では、球型の実オブジェクトＥ６１−１（抽象的な立体物）が投影面１１０に置かれる例を説明した。しかし、球型の実オブジェクトとしては、様々な実オブジェクトが想定される。
【０１７３】
図５０は、球型の実オブジェクトの例を示す図である。図５０に示されるように、球型の実オブジェクトの例としては、「ＭＥＲＣＵＲＹ」の他、「ＶＥＮＵＳ」「ＭＡＲＳ」などが想定される。上記のように、球型の実オブジェクトＥ６１−１（抽象的な立体物）に対応する単語として「ＭＥＲＣＵＲＹ」が設定されている場合を想定する。かかる場合には、図４７には図示が省略されているが、単語「ＭＥＲＣＵＲＹ」に対応する質問「Ｗｈａｔ  ｉｓ  ａ  ｓｍａｌｌｅｒ  ｐｌａｎｅｔ  ｔｈａｎ  ｔｈｅ  Ｅａｒｔｈ？」などが投影面１１０に投影されてもよい。
【０１７４】
抽象的な立体物の形状は球型に限定されない。図５１は、パイ型の実オブジェクトの例を示す図である。図５１に示されるように、パイ型の実オブジェクトの例としては、「ＰＩＺＺＡ」「ＣＨＥＥＳＥ」「ＣＡＫＥ」などが想定される。ここで、単語として「ＣＨＥＥＳＥ」が設定されている場合を想定する。かかる場合には、「ＣＨＥＥＳＥ」に対応するパイ型の実オブジェクトＥ６１−２が投影面１１０に置かれた場合、質問「Ｗｈａｔ  ｉｓ  ｔｈｅ  ｆｏｏｄ  ｏｆ  ｔｈｉｓ  ｓｈａｐｅ？」などが投影面１１０に投影されてもよい。
【０１７５】
図５２は、半円型の実オブジェクトの例を示す図である。図５２に示されるように、半円型の実オブジェクトの例としては、「ＢＲＩＤＧＥ」「ＲＡＩＮＢＯＷ」などが想定される。ここで、単語として「ＲＡＩＮＢＯＷ」が設定されている場合を想定する。かかる場合には、「ＲＡＩＮＢＯＷ」に対応する半円型の実オブジェクトＥ６１−３が投影面１１０に置かれた場合、質問「Ｗｈａｔ  ｉｓ  ｔｈｉｓ  ｓｈａｐｅｄ  ｏｂｊｅｃｔ？」などが投影面１１０に投影されてもよい。
【０１７６】
図５３は、スタック型の実オブジェクトの例を示す図である。図５３に示されるように、スタック型の実オブジェクトの例としては、「ＨＡＭＢＵＲＧＥＲ」「ＭＡＣＡＲＯＮ」「ＰＡＮＣＡＫＥ」などが想定される。ここで、単語として「ＭＡＣＡＲＯＮ」が設定されている場合を想定する。かかる場合には、「ＭＡＣＡＲＯＮ」に対応するスタック型の実オブジェクトＥ６１−４が投影面１１０に置かれた場合、質問「Ｗｈａｔ  ｉｓ  ｔｈｅ  ｆｏｏｄ  ｏｆ  ｔｈｉｓ  ｓｈａｐｅ？」などが投影面１１０に投影されてもよい。
【０１７７】
（１．２．７．６．文字探しゲームアプリケーション）
図５４は、文字探しゲームアプリケーションの実現例における対応情報の例を示す図である。図５４に示されるように、対応情報においては、ドラッグ操作には処理が対応付けられておらず、タップ操作、ドラッグ操作および指さし操作それぞれに処理が対応付けられている。文字探しゲームアプリケーションにおいては、かかる対応情報に基づいて、タップ操作、ホバー操作および指さし操作それぞれに対応する処理が実行される。以下、図５５〜図５８を参照しながら、タップ操作、ホバー操作および指さし操作それぞれに対応する処理の実行例について説明する。
【０１７８】
図５５は、文字探しゲームアプリケーションの実現例を説明するための図である。図５５を参照すると、出力部１３０によって仮想オブジェクトＶ７１（質問）が投影されている。ユーザは、かかる質問に対する回答を、アルファベットを集めることによって作成する。ここでは、質問に対する回答が「ＢＡＤ」である場合を想定する。また、図５５を参照すると、ユーザが、投影面１１０上に実オブジェクトＥ７１−１（建築物の模型）および実オブジェクトＥ７１−２（建築物の模型）を置いている。このとき、入力部１２０によって、実オブジェクトＥ７１−１（建築物の模型）が認識される。
【０１７９】
図５６は、ホバー操作によってヒントを表示する例を示す図である。図５６に示されるように、表示制御部１２１は、実オブジェクトＥ７１−１（建築物の模型）に対するホバー操作がなされた場合、実オブジェクトＥ７１−１（建築物の模型）に対応する仮想オブジェクトＶ７２−１（ヒント）を投影する。ここで、仮想オブジェクトＶ７２−１（ヒント）は、実オブジェクトＥ７１−１（建築物の模型）に対する指さし操作によって見つけられるアルファベットの数である。指さし操作については、後に説明する。
【０１８０】
また、図５６に示されるように、表示制御部１２１は、実オブジェクトＥ７１−２（建築物の模型）に対するホバー操作がなされた場合、実オブジェクトＥ７１−２（建築物の模型）に対応する仮想オブジェクトＶ７２−２（ヒント）を投影する。ここで、仮想オブジェクトＶ７２−２（ヒント）は、実オブジェクトＥ７１−２（建築物の模型）に対する指さし操作によって見つけられるアルファベットの数である。
【０１８１】
図５７は、指さし操作によって影を表示する例を示す図である。図５７に示されるように、表示制御部１２１は、実オブジェクトＥ７１−１（建築物の模型）に対する、第１の方向への指さし操作がなされた場合、実オブジェクトＥ７１−１（建築物の模型）および第１の方向に対応する仮想オブジェクトＶ７３−１（光）を表現し、影となる位置に仮想オブジェクトＶ７４−１（影）を投影する。後に説明するように、影の部分には、アルファベットが投影される（図５８）。
【０１８２】
同様に、表示制御部１２１は、実オブジェクトＥ７１−１（建築物の模型）に対する、第１の方向とは異なる第２の方向への指さし操作がなされた場合、実オブジェクトＥ７１−１（建築物の模型）および第２の方向に対応する仮想オブジェクトＶ７３−１（光）を表現し、影となる位置に仮想オブジェクトＶ７４−２（影）を投影する。後に説明するように、影の部分には、アルファベットが投影される（図５８）。
【０１８３】
同様に、表示制御部１２１は、実オブジェクトＥ７１−２（建築物の模型）に対する、第３の方向への指さし操作がなされた場合、実オブジェクトＥ７１−２（建築物の模型）および第３の方向に対応する仮想オブジェクトＶ７３−３（光）を表現し、影となる位置に仮想オブジェクトＶ７４−３（影）を投影する。後に説明するように、影の部分には、アルファベットが投影される（図５８）。
【０１８４】
同様に、表示制御部１２１は、実オブジェクトＥ７１−２（建築物の模型）に対する、第３の方向とは異なる第４の方向への指さし操作がなされた場合、実オブジェクトＥ７１−２（建築物の模型）および第４の方向に対応する仮想オブジェクトＶ７３−４（光）を表現し、影となる位置に仮想オブジェクトＶ７４−４（影）を投影する。後に説明するように、影の部分には、アルファベットが投影される（図５８）。
【０１８５】
図５８は、タップ操作によってアルファベットを選択する例を示す図である。図５８に示されるように、仮想オブジェクトＶ７４−１〜Ｖ７４−４（影）には、仮想オブジェクトＶ７５−１〜Ｖ７５−４（アルファベット）が投影される。かかるアルファベットに対するタップ操作がなされた場合、タップ操作がなされたアルファベットが、既に集められたアルファベットに追加される。図５８には、仮想オブジェクトＶ７５−２（Ｂを示すアルファベット）、仮想オブジェクトＶ７５−１（Ａを示すアルファベット）、仮想オブジェクトＶ７５−４（Ｄを示すアルファベット）の順にタップ操作がなされ、質問に対する回答「ＢＡＤ」にユーザが辿り着いた例が示されている。
【０１８６】
（１．２．７．７．演奏ゲームアプリケーション）
図５９は、演奏ゲームアプリケーションの実現例における対応情報の例を示す図である。図５９に示されるように、対応情報においては、タップ操作、ドラッグ操作およびホバー操作には処理が対応付けられておらず、指さし操作に処理が対応付けられている。演奏ゲームアプリケーションにおいては、かかる対応情報に基づいて、指さし操作に対応する処理が実行される。以下、図６０を参照しながら、指さし操作に対応する処理の実行例について説明する。
【０１８７】
図６０は、演奏ゲームアプリケーションの実現例を説明するための図である。図６０を参照すると、ユーザが、投影面１１０上に実オブジェクトＥ８１−１〜Ｅ８１−４（楽器の模型）を置いている。このとき、入力部１２０によって、実オブジェクトＥ８１−１〜Ｅ８１−４（楽器の模型）が認識される。ユーザは、演奏を聴きたい楽器に対応する実オブジェクトに対して指さし操作を行う。図６０に示された例では、ピアノの演奏を聴きたいと思ったユーザが、実オブジェクトＥ８１−２（ピアノの模型）に対して指さし操作を行い、バイオリンの演奏を聴きたいと思ったユーザが、実オブジェクトＥ８１−４（バイオリンの模型）に対して指さし操作を行っている。
【０１８８】
図６０に示されるように、出力部１３０は、指さし操作がなされた実オブジェクトＥ８１−２（ピアノの模型）に対して指先から光が照射されるような表現を行う（影の表現も行う）。さらに、出力部１３０は、ある楽曲のピアノ演奏部分を出力する。また、出力部１３０は、指さし操作がなされた実オブジェクトＥ８１−４（バイオリンの模型）に対して指先から光が照射されるような表現を行う（影の表現も行う）。さらに、出力部１３０は、当該楽曲のバイオリン演奏部分を出力する。
【０１８９】
以上、本開示の一実施形態を用いてアプリケーションを実現する例について説明した。
【０１９０】
［１．３．ハードウェア構成例］
次に、図６１を参照して、本開示の実施形態に係る情報処理システム１００のハードウェア構成について説明する。図６１は、本開示の実施形態に係る情報処理システム１００のハードウェア構成例を示すブロック図である。
【０１９１】
図６１に示すように、情報処理システム１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０３、およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０５を含む。ＣＰＵ９０１、ＲＯＭ９０３およびＲＡＭ９０５によって、表示制御部１２１および操作検出処理部１２２が実現され得る。また、情報処理システム１００は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。さらに、情報処理システム１００は、必要に応じて、撮像装置９３３、およびセンサ９３５を含んでもよい。情報処理システム１００は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）またはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）と呼ばれるような処理回路を有してもよい。
【０１９２】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理システム１００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一時的に記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。
【０１９３】
入力装置９１５は、例えば、ボタンなど、ユーザによって操作される装置である。入力装置９１５は、マウス、キーボード、タッチパネル、スイッチおよびレバーなどを含んでもよい。また、入力装置９１５は、ユーザの音声を検出するマイクロフォンを含んでもよい。入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理システム１００の操作に対応した携帯電話などの外部接続機器９２９であってもよい。入力装置９１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ９０１に出力する入力制御回路を含む。ユーザは、この入力装置９１５を操作することによって、情報処理システム１００に対して各種のデータを入力したり処理動作を指示したりする。また、後述する撮像装置９３３も、ユーザの手の動き、ユーザの指などを撮像することによって、入力装置として機能し得る。このとき、手の動きや指の向きに応じてポインティング位置が決定されてよい。なお、入力装置９１５によって、上記した入力部１２０が実現され得る。
【０１９４】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置９１７は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音出力装置などであり得る。また、出力装置９１７は、ＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）、プロジェクタ、ホログラム、プリンタ装置などを含んでもよい。出力装置９１７は、情報処理システム１００の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音として出力したりする。また、出力装置９１７は、周囲を明るくするためライトなどを含んでもよい。なお、出力装置９１７によって、上記した出力部１３０が実現され得る。
【０１９５】
ストレージ装置９１９は、情報処理システム１００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０１９６】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、情報処理システム１００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【０１９７】
接続ポート９２３は、機器を情報処理システム１００に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポートなどであり得る。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポートなどであってもよい。接続ポート９２３に外部接続機器９２９を接続することで、情報処理システム１００と外部接続機器９２９との間で各種のデータが交換され得る。
【０１９８】
通信装置９２５は、例えば、ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カードなどであり得る。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続されるネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【０１９９】
撮像装置９３３は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置９３３は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
【０２００】
センサ９３５は、例えば、測距センサ、加速度センサ、ジャイロセンサ、地磁気センサ、振動センサ、光センサ、音センサなどの各種のセンサである。センサ９３５は、例えば情報処理システム１００の筐体の姿勢など、情報処理システム１００自体の状態に関する情報や、情報処理システム１００の周辺の明るさや騒音など、情報処理システム１００の周辺環境に関する情報を取得する。また、センサ９３５は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）信号を受信して装置の緯度、経度および高度を測定するＧＰＳセンサを含んでもよい。なお、センサ９３５によって、上記した入力部１２０が実現され得る。
【０２０１】
＜２．むすび＞
本開示の実施形態によれば、タップ操作やドラッグ操作などの平面的な操作に加え、ホバー操作や指さし操作という空間的な操作を実現することが可能である。具体的に、本開示の実施形態によれば、認識空間内に浮いている指の意図をセンシングにより推定し、ユーザによる操作がホバー操作であるのか、指さし操作であるのかを判別することが可能である。
【０２０２】
本開示の実施形態によれば、人間の行動特性を用いてユーザによる操作を判定することで、指の形状をどうするべきかなどといった細かい点をユーザに意識させない学習コストの低い操作体系を実現可能である。また、本開示の実施形態によれば、環境やアプリケーションの目的に応じて、ユーザによる操作の判別アルゴリズムを組み合わせることで、より自然な操作体系になるように判別アルゴリズムを調整することが可能である。
【０２０３】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２０４】
例えば、上記した情報処理システム１００の動作が実現されれば、各構成の位置は特に限定されない。情報処理システム１００における各部の処理の一部は図示しないサーバによって行われてもよい。
【０２０５】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏し得る。
【０２０６】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
ユーザの上肢の少なくとも一部の角度に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定する処理部を備える、
情報処理装置。
（２）
前記処理部は、前記上肢の少なくとも一部と所定のベクトルまたは所定の面とが成す角度に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定する、
前記（１）に記載の情報処理装置。
（３）
前記上肢の少なくとも一部は、前記ユーザの手の少なくとも一部である、
前記（２）に記載の情報処理装置。
（４）
前記手の少なくとも一部は、前記手の所定位置と第１の指の先端位置とに基づくベクトルである、
前記（３）に記載の情報処理装置。
（５）
前記手の所定位置は、前記手の中心位置または前記第１の指の関節位置である、
前記（４）に記載の情報処理装置。
（６）
前記所定のベクトルまたは前記所定の面は、前記ユーザによる操作によって指示されるオブジェクトの面である、
前記（５）に記載の情報処理装置。
（７）
前記所定のベクトルまたは前記所定の面は、前記ユーザの視線ベクトルである、
前記（５）に記載の情報処理装置。
（８）
前記手の所定位置は、前記第１の指の関節位置である、
前記（４）に記載の情報処理装置。
（９）
前記所定のベクトルまたは前記所定の面は、前記第１の指の関節位置と前記手の中心位置とに基づくベクトルである、
前記（８）に記載の情報処理装置。
（１０）
前記手の所定位置は、前記第１の指の関節位置である、
前記（４）に記載の情報処理装置。
（１１）
前記所定のベクトルまたは前記所定の面は、第２の指の関節位置と前記第２の指の先端位置とに基づくベクトルである、
前記（１０）に記載の情報処理装置。
（１２）
前記上肢の少なくとも一部は、前記ユーザの腕の少なくとも一部である、
前記（２）に記載の情報処理装置。
（１３）
前記腕の少なくとも一部は、前記ユーザの手首位置と肘関節位置とに基づくベクトルである、
前記（１２）に記載の情報処理装置。
（１４）
前記所定のベクトルまたは前記所定の面は、前記ユーザの上腕位置と肘関節位置とに基づくベクトルである、
前記（１２）または（１３）に記載の情報処理装置。
（１５）
前記処理部は、前記角度と閾値との関係に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定する、
前記（１）〜（１４）のいずれか一項に記載の情報処理装置。
（１６）
前記情報処理装置は、
前記ユーザによる操作によって指示されるオブジェクトがプロジェクタによって投影されるように前記プロジェクタを制御する制御部を備える、
前記（１）〜（１５）のいずれか一項に記載の情報処理装置。
（１７）
前記情報処理装置は、
前記ユーザによる操作が指さし操作である場合には、第１の処理が実行されるように制御し、前記ユーザによる操作がホバー操作である場合には、前記第１の処理とは異なる第２の処理が実行されるように制御する制御部を備える、
前記（１）〜（１５）のいずれか一項に記載の情報処理装置。
（１８）
前記情報処理装置においては、システムおよびアプリケーションが実行され、
前記システムは、前記ユーザによる操作が指さし操作であるかホバー操作であるかに応じた指示位置を前記アプリケーションに通知する、
前記（１）〜（１７）のいずれか一項に記載の情報処理装置。
（１９）
前記システムは、前記ユーザによる操作がホバー操作である場合、空間における第１の指の先端の２次元座標を前記アプリケーションに通知する、
前記（１８）に記載の情報処理装置。
（２０）
前記システムは、前記ユーザによる操作が指さし操作である場合、第１の指の先端位置の延長線が示す表示面上の座標を前記アプリケーションに通知する、
前記（１８）に記載の情報処理装置。
（２１）
前記システムは、前記ユーザによる操作が指さし操作であるかホバー操作であるかを示すジェスチャタイプを前記アプリケーションに通知する、
前記（１８）〜（２０）のいずれか一項に記載の情報処理装置。
（２２）
前記情報処理装置においては、システムおよびアプリケーションが実行され、
前記アプリケーションは、前記ユーザによる操作が指さし操作であるかホバー操作であるかを示すジェスチャタイプの判定条件を指定し、
前記システムは、前記判定条件に応じた前記ジェスチャタイプの判定に基づく通知を前記アプリケーションに対して行う、
前記（１）〜（１７）のいずれか一項に記載の情報処理装置。
（２３）
前記アプリケーションは、前記判定条件として、前記ジェスチャタイプの判定に利用される１または複数のパラメータに対して付される重みを指定する、
前記（２２）に記載の情報処理装置。
（２４）
前記アプリケーションは、前記判定条件として、複数の前記パラメータそれぞれに付される重みを指定する場合、前記複数のパラメータそれぞれに付される重みを異ならせる、
前記（２３）に記載の情報処理装置。
（２５）
ユーザの上肢の少なくとも一部の角度に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定することを含む、
情報処理方法。
（２６）
コンピュータを、
ユーザの上肢の少なくとも一部の角度に基づいて、前記ユーザによる操作が指さし操作であるかホバー操作であるかを判定する処理部を備える、
情報処理装置として機能させるためのプログラム。
【符号の説明】
【０２０７】
１０    情報処理装置
１００  情報処理システム
１１０  投影面
１２０  入力部
１２１  表示制御部
１２２  操作検出処理部
１２３  ドラッグ判定処理部
１２４  ホバー判定処理部
１２５  対応情報取得部
１３０  出力部
【図１】
2019163372.tif 000003
【図２】
2019163372.tif 000004
【図３】
2019163372.tif 000005
【図４】
2019163372.tif 000006
【図５】
2019163372.tif 000007
【図６】
2019163372.tif 000008
【図７】
2019163372.tif 000009
【図８】
2019163372.tif 000010
【図９】
2019163372.tif 000011
【図１０】
2019163372.tif 000012
【図１１】
2019163372.tif 000013
【図１２】
2019163372.tif 000014
【図１３】
2019163372.tif 000015
【図１４】
2019163372.tif 000016
【図１５】
2019163372.tif 000017
【図１６】
2019163372.tif 000018
【図１７】
2019163372.tif 000019
【図１８】
2019163372.tif 000020
【図１９】
2019163372.tif 000021
【図２０】
2019163372.tif 000022
【図２１】
2019163372.tif 000023
【図２２】
2019163372.tif 000024
【図２３】
2019163372.tif 000025
【図２４】
2019163372.tif 000026
【図２５】
2019163372.tif 000027
【図２６】
2019163372.tif 000028
【図２７】
2019163372.tif 000029
【図２８】
2019163372.tif 000030
【図２９】
2019163372.tif 000031
【図３０】
2019163372.tif 000032
【図３１】
2019163372.tif 000033
【図３２】
2019163372.tif 000034
【図３３】
2019163372.tif 000035
【図３４】
2019163372.tif 000036
【図３５】
2019163372.tif 000037
【図３６】
2019163372.tif 000038
【図３７】
2019163372.tif 000039
【図３８】
2019163372.tif 000040
【図３９】
2019163372.tif 000041
【図４０】
2019163372.tif 000042
【図４１】
2019163372.tif 000043
【図４２】
2019163372.tif 000044
【図４３】
2019163372.tif 000045
【図４４】
2019163372.tif 000046
【図４５】
2019163372.tif 000047
【図４６】
2019163372.tif 000048
【図４７】
2019163372.tif 000049
【図４８】
2019163372.tif 000050
【図４９】
2019163372.tif 000051
【図５０】
2019163372.tif 000052
【図５１】
2019163372.tif 000053
【図５２】
2019163372.tif 000054
【図５３】
2019163372.tif 000055
【図５４】
2019163372.tif 000056
【図５５】
2019163372.tif 000057
【図５６】
2019163372.tif 000058
【図５７】
2019163372.tif 000059
【図５８】
2019163372.tif 000060
【図５９】
2019163372.tif 000061
【図６０】
2019163372.tif 000062
【図６１】
2019163372.tif 000063
【国際調査報告】
2019163372.tif 000064
2019163372.tif 000065
2019163372.tif 000066
2019163372.tif 000067