(57)【要約】【課題】複数の操作体を用いて入力操作を行う場合の操作性を向上させる技術が求められていた。【解決手段】本開示によれば、複数の操作体の動きに基づいて、表示領域内の指示位置に基づくアクションを行い、かつ、ポインティング操作に対する指示位置の動きを制限する制御部を備える、情報処理装置が提供される。本開示によれば、表示領域内の指示位置に基づくアクションをより正確に行うことができる。したがって、本開示によれば、複数の操作体を用いて入力操作を行う場合の操作性を向上させることができる。【選択図】図１
2017068569.tif 000002
【特許請求の範囲】
【請求項１】
複数の操作体の位置に基づいて、表示領域内の位置を特定するための指示位置を決定する制御部を備え、
前記制御部は、前記操作体の状態に基づいて、前記操作体の動きに対する前記指示位置の動きを制限する、情報処理装置。
【請求項２】
前記制御部は、前記指示位置に基づいて、前記表示領域内にカーソルを表示する制御を行う、請求項１記載の情報処理装置。
【請求項３】
前記制御部は、前記指示位置の動きを制限する場合には、前記指示位置の動きを制限することを前記複数の操作体を操作するユーザに通知する制御を行う、請求項２記載の情報処理装置。
【請求項４】
前記制御部は、前記複数の操作体に含まれる、第１の操作体と第２の操作体とが第１の距離よりも近づいたと判定されることに基づいて、前記指示位置の動きを制限する、請求項２記載の情報処理装置。
【請求項５】
前記制御部は、前記第１の操作体と前記第２の操作体との距離に応じた表示態様で前記カーソルを表示する制御を行う、請求項４記載の情報処理装置。
【請求項６】
前記制御部は、前記複数の操作体の表示位置に操作体画像を表示する制御を行う一方、前記指示位置の動きを制限している際に、前記カーソルを通る直線上に操作体画像を表示する制御を行う、請求項４記載の情報処理装置。
【請求項７】
前記制御部は、前記指示位置の動きを制限している際に、前記第１の操作体と前記第２の操作体との距離が第２の距離よりも遠ざかったと判定されることに基づいて、前記制限を解除する、請求項４記載の情報処理装置。
【請求項８】
前記第２の距離は、前記第１の距離よりも大きい、請求項７に記載の情報処理装置。
【請求項９】
前記制御部は、前記第１の操作体と前記第２の操作体との距離が第３の距離よりも近づいたと判定されることに基づいて、前記表示領域内の指示位置に基づくアクションを行う、請求項４記載の情報処理装置。
【請求項１０】
前記第１の距離は、前記第３の距離よりも大きい、請求項９に記載の情報処理装置。
【請求項１１】
前記第１の操作体は、ユーザの親指であり、
前記第２の操作体は、該親指と同じ手の人差し指または中指である、請求項１０に記載の情報処理装置。
【請求項１２】
前記制御部は、前記指示位置の動きを制限する場合には、前記指示位置の動きを制限しない場合の表示態様と異なる表示態様で前記カーソルを表示する制御を行う、請求項２記載の情報処理装置。
【請求項１３】
前記制御部は、前記表示領域内の指示位置に基づくアクションを行う一方で、前記指示位置の動きを制限する場合には、前記アクションを行う場合の表示態様と異なる表示態様で前記カーソルを表示する制御を行う、請求項２記載の情報処理装置。
【請求項１４】
前記制御部は、前記表示領域内のオブジェクトから所定の吸収範囲内に存在する前記指示位置の動きを制限する場合には、前記指示位置を前記オブジェクト内に移動させ、かつ、前記オブジェクトをハイライト表示する制御を行う、請求項２記載の情報処理装置。
【請求項１５】
前記制御部は、前記指示位置の動きを制限する場合には、前記制限を行わない場合の前記指示位置を仮指示位置として特定し、前記制限を解除した後に、前記仮指示位置を新たな指示位置とし、前記カーソルを新たな指示位置に連続的に移動させる制御を行う、請求項２記載の情報処理装置。
【請求項１６】
前記制御部は、前記仮指示位置が前記表示領域内のオブジェクトから所定の吸収範囲内に存在する場合には、前記指示位置の動きの制限を維持したまま、前記指示位置を前記オブジェクト内に移動させ、かつ、前記オブジェクトをハイライト表示する、請求項１５記載の情報処理装置。
【請求項１７】
前記制御部は、前記表示領域内の指示位置に基づくアクションを行う一方で、前記指示位置に前記アクションの対象となるオブジェクトが存在しない場合には、前記指示位置に前記アクションの対象となるオブジェクトが存在しないことを前記複数の操作体を操作するユーザに通知する、請求項２記載の情報処理装置。
【請求項１８】
制御部が、複数の操作体の位置に基づいて、表示領域内の位置を特定するための指示位置を決定し、前記操作体の状態に基づいて、前記操作体の動きに対する前記指示位置の動きを制限することを含む、情報処理方法。
【請求項１９】
コンピュータに、複数の操作体の位置に基づいて、表示領域内の位置を特定するための指示位置を決定する制御機能を実現させ、
前記制御機能は、前記操作体の状態に基づいて、前記操作体の動きに対する前記指示位置の動きを制限する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ユーザのジェスチャ操作に基づいてオブジェクトの動作を制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２２１４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
とこで、近年、複数の操作体を用いて入力操作を行う場合に、さらなる操作性の向上が求められていたが、特許文献１ではこのような要求に十分に応えることができなかった。
【０００５】
このため、複数の操作体を用いて入力操作を行う場合の操作性を向上させる技術が求められていた。
【課題を解決するための手段】
【０００６】
本開示によれば、複数の操作体の位置に基づいて、表示領域内の位置を特定するための指示位置を決定する制御部を備え、制御部は、操作体の状態に基づいて、操作体の動きに対する指示位置の動きを制限する、情報処理装置が提供される。
【０００７】
本開示によれば、制御部が、複数の操作体の位置に基づいて、表示領域内の位置を特定するための指示位置を決定し、操作体の状態に基づいて、操作体の動きに対する指示位置の動きを制限することを含む、情報処理方法が提供される。
【０００８】
本開示によれば、コンピュータに、複数の操作体の位置に基づいて、表示領域内の位置を特定するための指示位置を決定する制御機能を実現させ、制御機能は、操作体の状態に基づいて、操作体の動きに対する指示位置の動きを制限する、プログラムが提供される。
【０００９】
本開示によれば、操作体の状態に基づいて、操作体の動きに対する指示位置の動きが制限されるので、表示領域内の指示位置に基づくアクションをより正確に行うことができる。
【発明の効果】
【００１０】
以上説明したように本開示によれば、表示領域内の指示位置に基づくアクションをより正確に行うことができる。したがって、本開示によれば、複数の操作体を用いて入力操作を行う場合の操作性を向上させることができる。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１１】
【図１】本開示の実施形態に係る情報処理装置の適用例を示す斜視図である。
【図２】同実施形態に係る情報処理装置のブロック図である。
【図３】情報処理装置による基本処理の一例を示すフローチャートである。
【図４】情報処理装置による表示例を示す説明図である。
【図５】情報処理装置による表示例を示す説明図である。
【図６】情報処理装置による表示例を示す説明図である。
【図７】情報処理装置による表示例を示す説明図である。
【図８】情報処理装置による表示例を示す説明図である。
【図９】情報処理装置による表示例を示す説明図である。
【図１０】情報処理装置による表示例を示す説明図である。
【図１１】情報処理装置による表示例を示す説明図である。
【図１２】情報処理装置による表示例を示す説明図である。
【図１３】情報処理装置による表示例を示す説明図である。
【図１４】情報処理装置による表示例を示す説明図である。
【図１５】情報処理装置による表示例を示す説明図である。
【図１６】情報処理装置による表示例を示す説明図である。
【図１７】情報処理装置による表示例を示す説明図である。
【図１８】情報処理装置による表示例を示す説明図である。
【図１９】情報処理装置による表示例を示す説明図である。
【図２０】情報処理装置による表示例を示す説明図である。
【図２１】情報処理装置による表示例を示す説明図である。
【図２２】情報処理装置による表示例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
なお、説明は以下の順序で行うものとする。
１．本実施形態の概要
２．情報処理装置の構成
３．情報処理装置による基本処理
４．第１変形例
５．第２変形例
６．第３変形例
７．第４変形例
８．第５変形例
９．第６変形例
１０．第７変形例
１１．第８変形例
１２．第９変形例
１３．第１０変形例
１４．第１１変形例
１５．第１２変形例
１６．第１３変形例
１７．適用分野
【００１４】
＜１．本実施形態の概要＞
まず、図１に基づいて、本実施形態の概要について説明する。本実施形態では、図１に示すように、人物Ｕ（すなわちユーザ）は、ジェスチャ操作を行う。ここで、ユーザが行うジェスチャ操作としては、例えば、ポインティング操作、ピンチイン操作、及びピンチアウト操作が挙げられる。具体的には、ユーザは、ピンチイン操作の構えをした手を前方に向ける。そして、ユーザは、ピンチイン操作の構えを維持した状態で手を前方で動かす。これにより、ユーザは、ポインティング操作を行う。ここで、ピンチイン操作の構えとは、同じ手の複数の指を広げた構えを意味する。複数の指の組み合わせとしては、例えば、人差し指（第２の操作体）、中指（第２の操作体）、及び親指（第１の操作体）の組み合わせ、人差し指及び親指の組み合わせ等が挙げられる。ユーザは、４〜５の指を用いてピンチイン操作の構えを作っても良い。ピンチイン操作は、広げた指同士の間隔を狭める操作である。すなわち、ピンチイン操作は、物をつまむ操作である。ピンチアウト操作は、ピンチイン操作の逆の操作であり、狭めた指同士の間隔を広げる（すなわち、再度ピンチイン操作の構えを行う）操作である。
【００１５】
一方、情報処理装置１０は、表示領域Ｘ内に各種のオブジェクトを表示する。ここで、表示領域Ｘ内に表示されるオブジェクトは特に制限されない。すなわち、オブジェクトはあらゆる画像であってよい。オブジェクトの例としては、各種のテキスト（テキストボックス等を含む）、ピクチャ（写真、イラスト等を含む）、ボタン（ラジオボタン等を含む）、シークバー、チェックボックス、ドラッグ可能な画像、電子ブック（電子ブックのめくり部分を含む）等が挙げられる。
【００１６】
さらに、情報処理装置１０は、複数の指の位置を検知し、これらの位置に基づいて、表示領域Ｘ内での複数の指のそれぞれに対する指先画像の表示位置を特定する。さらに、情報処理装置１０は、表示位置の重心位置を指示位置とする。ここで、指示位置は、表示領域内の位置を特定するものである。具体的には、情報処理装置１０は、指示位置を、ユーザによって指示される位置と認識する。そして、情報処理装置１０は、指示位置にカーソルを表示し、表示位置に指先画像を表示する（図４等参照）。したがって、ユーザは、ポインティング操作を行うことで、カーソルを所望の位置に移動させることができる。なお、指先画像は表示されなくても良い。特に、オブジェクトが密集している領域では、指先画像は表示されなくてもよい。
【００１７】
また、ユーザがピンチイン操作を行うと、表示位置同士の距離が狭まる。そして、情報処理装置１０は、この距離（後述する判定用距離）が所定の制限開始用閾値未満になった場合、指示位置を固定する。そして、情報処理装置１０は、判定用距離が所定のアクション開始用閾値未満となった場合、指示位置上に存在するオブジェクトを選択する。したがって、ユーザは、ピンチイン操作を行うことで、指示位置を固定することができ、かつ、所望のオブジェクトを選択することができる。すなわち、ユーザは、ピンチイン操作を行うことで、オブジェクトの選択操作（言い換えれば、決定操作）を行う。なお、情報処理装置１０は、ユーザがピンチアウト操作を行った場合、指示位置の固定を解除する。
【００１８】
このように、本実施形態では、情報処理装置１０は、ユーザのジェスチャ操作に応じた処理を行う。ここで、ジェスチャ操作は空間内で行われるため、ジェスチャ操作に対するフィジカルなフィードバックが殆ど無いことが多い。ここで、フィジカルなフィードバックとは、例えば、ユーザの触覚への刺激を意味する。例えば、ユーザがタッチパネルをタッチした場合、ユーザの指先には、タッチパネルに触れた感触が残る。したがって、フィジカルなフィードバックがある。しかし、ジェスチャ操作は空間内で行われるので、このようなフィジカルなフィードバックが殆ど無いことが多い。したがって、ユーザは、特にオブジェクトの選択操作を行いにくいと感じることがある。例えば、ユーザは、選択操作を行う場合に、空間内のどの位置を触れれば良いかがわかりにくい。また、フィジカルなフィードバックが無いので、ユーザは、選択操作が適切に行われたのかどうかを判断しにくい。
【００１９】
そこで、本実施形態では、ユーザは、ピンチイン操作を行うことで、オブジェクトの選択操作を行う。ユーザがピンチイン操作を行った場合、指先同士が接触するので、フィジカルなフィードバックを得ることができる。したがって、ユーザは、オブジェクトの選択操作が適切に行われたかどうかを容易に判断できる。
【００２０】
ただし、上述したように、指示位置は表示位置の重心位置となるので、ピンチイン操作中に指示位置がずれてしまう場合がある。この原因としては、例えば、ピンチイン操作時には、指の移動速度が指毎に異なることが挙げられる。例えば、ピンチイン操作の開始時には、人差し指の移動速度は親指の移動速度と略一致することが多い。しかし、ピンチイン操作が進んでいくと、人差し指の移動速度は、親指の移動速度よりも速くなることが多い。この場合、ユーザの意図とは異なるオブジェクトが選択される可能性がある。そこで、本実施形態では、ピンチイン操作中に指示位置を固定する。これにより、本実施形態では、ユーザが所望のオブジェクトを選択しやすくなる。すなわち、本実施形態では、複数の指を用いて入力操作（ここではジェスチャ操作）を行う場合の操作性を向上させることができる。以下、本実施形態について詳細に説明する。
【００２１】
＜２．情報処理装置の構成＞
つぎに、図１及び図２に基づいて、本実施形態に係る情報処理装置１０の構成の一例について説明する。情報処理装置１０は、検知部１１と、操作体動作認識部１２と、表示制御部１３と、表示部１４と、制御部１５とを備える。検知部１１は、ユーザのジェスチャ操作を検知し、その結果に関する検知情報を操作体動作認識部１２に出力する。ここで、ユーザが行うジェスチャ操作としては、上述したように、例えば、ポインティング操作、ピンチイン操作、及びピンチアウト操作等が挙げられる。もちろん、検知部１１は、他の種類のジェスチャ操作、例えばダブルタップ操作、長押し操作、及びドラッグアンドドロップ操作を検知してもよい。ダブルタップ操作は、例えば、ピンチイン操作を２回素早く行う操作である。長押し操作は、例えば、ピンチイン後の状態（すなわち、指先同士を接触させた状態）を維持する操作である。長押し操作は、ピンチイン操作に使用された指の数に応じて区別されても良い。ドラッグアンドドロップ操作は、例えば、ピンチイン後の状態を維持したまま手を移動させ、その後ピンチアウト操作を行う操作である。これらの操作においても本実施形態の処理を適用してもよい。ここで、指先は、複数の操作体の一例である。検知部１１は、例えば撮像素子、デプスセンサなどであるが、ユーザのジェスチャ操作を検知可能な装置であればどのようなものであってもよい。
【００２２】
操作体動作認識部１２は、検知情報に基づいて、ユーザのジェスチャ操作を認識する。具体的には、例えば、操作体動作認識部１２は、指先の位置（すなわち、ユーザが存在する空間内での位置座標）を認識する。ここで、操作体動作認識部１２は、指先の絶対位置を認識しても、相対位置を認識してもよい。そして、操作体動作認識部１２は、認識結果に関する認識情報を制御部１５に出力する。
【００２３】
表示制御部１３は、制御部１５からの制御により、表示部１４に各種の画像（例えば各種のオブジェクト、カーソル、指先画像等）を表示させる。表示部１４は、いわゆるプロジェクタとなっており、図１に示す壁面１００に各種の画像を表示する。ここで、表示部１４は、表示領域Ｘ内に各種の画像を表示する。本実施形態では、表示部１４は、壁面１００に各種の画像を表示するので、表示領域Ｘはある程度の大きさとなってもよい。もちろん、表示領域Ｘの大きさは任意である。また、表示部１４は、各種の画像を表示できるものであればどのようなものであってもよい。例えば、表示部１４は、ディスプレイパネル等であってもよい。ここで、ディスプレイパネルの種類は特に制限されないが、例えば、液晶ディスプレイパネル、有機ＥＬディスプレイパネル等が挙げられる。
【００２４】
制御部１５は、情報処理装置１の内部構成を制御する他、例えば以下の処理を行う。すなわち、制御部１５は、認識情報に基づいて、表示領域Ｘ内での複数の指先の表示位置を特定する。例えば、制御部１５は、指の長さ方向の延長線と表示領域Ｘとの交点を表示位置とする。そして、制御部１５は、複数の指先の表示位置（すなわち、複数の指先の位置）に基づいて、指示位置を特定する。具体的には、制御部１５は、各表示位置の重心位置を指示位置とする。もちろん、指示位置の算出方法はこの例に限られない。他の例については後述する。指示位置は、ユーザがポインティング操作を行うことで変動する。
【００２５】
さらに、制御部１５は、所定の制限開始条件が満たされるか否かを判定する。ここで、制限開始条件は、例えば、所定の判定用距離が所定の制限開始用閾値未満となるという条件である。判定用距離は、例えば、各指先の位置に基づいて算出される。ユーザがピンチイン操作を行うことで、判定用距離は小さくなり、ユーザがピンチアウト操作を行うと、判定用距離は大きくなる。したがって、ユーザがピンチイン操作によって指先同士の間隔を狭めていくと、あるタイミングで判定用距離が制限開始用閾値未満となる。もちろん、制限開始条件は、他の条件であってもよい。制御部１５は、制限開始条件が満たされる場合に、指示位置の動きを制限する。すなわち、制御部１５は、指先の状態（例えば、判定用距離と制限開始用閾値との関係）に基づいて、指先の動きに対する指示位置の動きを制限する。例えば、制御部１５は、指示位置を固定する。なお、指示位置の動きを制限する方法はこれに限られない。詳細は後述する。
【００２６】
さらに、制御部１５は、指示位置の動きを制限した後、所定の制限解除条件が満たされるか否かを判定する。ここで、制限解除条件は、例えば、上述した判定用距離が所定の制限解除用閾値より大きいという条件である。ユーザがピンチアウト操作によって指先同士の間隔を広げていくと、あるタイミングで判定用距離が制限解除開始閾値より大きくなる。もちろん、制限解除条件は、他の条件であってもよい。制御部１５は、制限解除条件が満たされる場合に、指示位置の動きの制限を解除する。
【００２７】
さらに、制御部１５は、指示位置の動きを制限した後、所定のアクション開始条件が満たされるか否かを判定する。ここで、アクション開始条件は、例えば、上述した判定用距離が所定のアクション開始用閾値未満となるという条件である。したがって、ユーザがピンチイン操作によって指先同士の間隔を狭めていくと、あるタイミングで判定用距離がアクション開始用閾値未満となる。もちろん、アクション開始条件は、他の条件であってもよい。制御部１５は、アクション開始条件が満たされる場合に、指示位置に基づくアクションを行う。例えば、制御部１５は、指示位置上に存在するオブジェクトを選択する。なお、オブジェクトの選択は、指示位置に基づくアクションの一例である。もちろん、指示位置に基づくアクションはこの例に制限されず、指示位置に基づく（言い換えれば、指示位置に関連付けられた）アクションであればどのようなものであってもよい。例えば、指示位置に基づくアクションは、指示位置に何らかのオブジェクトを表示させる等のアクションであっても良い。このようなオブジェクトとしては、指示位置上のオブジェクトに関連するコンテキストメニュー等が挙げられる。コンテキストメニューには、例えば、指示位置上のオブジェクトについて利用可能な操作の一覧が表示される。
【００２８】
制御部１５は、指示位置、複数の指先の表示位置、表示領域Ｘ内に表示させるオブジェクト、及びオブジェクトの表示位置等に関する表示制御情報を表示制御部１３に出力する。表示制御部１３は、表示制御情報に基づいて、表示部１４に各種の画像を表示させる。具体的には、表示部１４は、指示位置にカーソルを表示し、複数の指先の表示位置に指先画像を表示し、各種のオブジェクトを当該オブジェクトの表示位置に表示する。ここで、カーソルはカーソルの一例であり、指先画像は操作体画像の一例である。
【００２９】
なお、情報処理装置１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ハードディスク、撮像素子（またはデプスセンサ等）、プロジェクタ（またはディスプレイパネル等）等のハードウェア構成を備える。そして、これらのハードウェア構成により、上述した情報処理装置１０の各機能、すなわち、検知部１１、操作体動作認識部１２、表示制御部１３、表示部１４、及び制御部１５が実現される。具体的には、ＲＯＭには、情報処理装置１０に検知部１１、操作体動作認識部１２、表示制御部１３、表示部１４、及び制御部１５を実現させるためのプログラムが記録されている。ＣＰＵは、当該プログラムをＲＯＭから読みだして実行する。プログラムの全部または一部は、ハードディスクに格納されるようにしてもよい。ＲＡＭはＣＰＵによる作業領域となるものである。したがって、ＣＰＵは、実質的に情報処理装置１０の動作主体となるものである。
【００３０】
＜３．情報処理装置による基本処理＞
次に、情報処理装置１０による基本処理を図３に示すフローチャートに沿って説明する。この基本処理では、ユーザは、複数の指先を用いたジェスチャ操作として、３本または２本の指を用いたピンチイン操作、またはピンチアウト操作を行う。そして、情報処理装置１０は、ユーザがピンチイン操作によって指先同士を近づけた場合、指示位置を固定する。情報処理装置１０は、ユーザがさらにピンチイン操作を行った場合、指示位置に基づくアクションを行う。一方、情報処理装置１０は、指示位置が固定された後にユーザがピンチアウト操作を行った場合、指示位置の固定を解除する。
【００３１】
具体的には、まず、ステップＳ１０において、制御部１５は、ユーザがポインティング操作の意思を示すまで待機する。一方、検知部１１は、ユーザのジェスチャ操作を検知し、その結果に関する検知情報を操作体動作認識部１２に出力する。操作体動作認識部１２は、検知情報に基づいて、ユーザが手を前方に向けたか否かを判定する。そして、操作体動作認識部１２は、ユーザが手を前方に向けたと判定した場合には、その旨の判定情報を制御部１５に出力する。制御部１５は、判定情報が与えられた場合には、ユーザがポインティング操作の意思を示すと判定し、ステップＳ２０に進む。このように、本実施形態では、ユーザが腕を前方に伸ばした場合にユーザがポインティング操作の意思を示したと判定するが、判定基準はこの例に限られないのはもちろんである。例えば、予め特定のジェスチャ操作を登録しておき、そのジェスチャ操作がなされた場合に、ユーザがポインティング操作の意思を示したと判定してもよい。
【００３２】
ステップＳ２０において、操作体動作認識部１２は、上述した検知情報に基づいて、指先の位置を認識する。そして、操作体動作認識部１２は、認識結果に関する認識情報を制御部１５に出力する。
【００３３】
ステップＳ３０において、制御部１５は、認識情報に基づいて、表示領域Ｘ内での複数の指先の表示位置を特定する。ついで、制御部１５は、複数の指先の表示位置に基づいて、指示位置を特定する。具体的には、制御部１５は、各表示位置の重心位置を指示位置とする。後述するように、指示位置にはカーソルが表示され、表示位置には指先画像が表示される。表示例を図４及び図５に示す。なお、これらの表示例ではカーソルの動きは制限されていない。
【００３４】
図４に示す表示例では、ユーザは、３本の指、すなわち人差し指、中指、及び親指を用いてポインティング操作を行っている。そして、図４に示されるように、表示領域Ｘには、カーソルＡ、指先画像Ｂ１〜Ｂ３が表示される。指先画像Ｂ１は人差し指を示す指先画像の一例であり、指先画像Ｂ２は中指を示す指先画像の一例であり、指先画像Ｂ３は親指を示す指先画像の一例である。さらに、指先画像Ｂ１は表示位置ｂ１に表示され、指先画像Ｂ２は表示位置ｂ２に表示され、指先画像Ｂ３は表示位置ｂ３に表示される。そして、カーソルＡはカーソルの一例であり、指示位置ａに表示される。指示位置ａは、表示位置ｂ１〜ｂ３の重心位置となる。指先画像Ｂ１〜Ｂ３及びカーソルＡはいずれも円形の画像となっているが、他の形状の画像であってもよい。以下の全ての表示例においても同様である。
【００３５】
図５に示す表示例では、ユーザは、２本の指、すなわち人差し指及び親指を用いてポインティング操作を行っている。そして、図５に示されるように、表示領域Ｘには、カーソルＡ、指先画像Ｂ１、Ｂ３が表示される。指先画像Ｂ１は表示位置ｂ１に表示され、指先画像Ｂ３は表示位置ｂ３に表示される。そして、カーソルＡは指示位置ａに表示される。指示位置ａは、表示位置ｂ１、ｂ３の重心位置、すなわち表示位置ｂ１、ｂ３を通る線分の中心位置とされる。
【００３６】
このように、指示位置は、複数の指先画像の表示位置に基づいて特定される。したがって、ユーザは、上述したポインティング操作を行うことで、指示位置、すなわちカーソルを所望の位置に移動させることができる。したがって、本実施形態では、指示位置を動かす操作、すなわちポインティング操作は、複数の指先を用いて行われる。なお、複数の指先以外の操作体を用いてポインティング操作を行う例については後述する。
【００３７】
なお、指示位置は表示位置の重心位置以外の位置に設定されても良いことはもちろんである。例えば、各表示位置に重み付けを行うことで、指示位置を重心位置からずらしてもよい。例えば、いずれかの指先画像（例えば指先画像Ｂ１）の重みを大きくすることで、指示位置を表示位置ｂ１に近づける（あるいは表示位置ｂ１に重ねる）ようにしてもよい。どの表示位置にどのような重み付け行うかは特に制限されず、ユーザの嗜好（例えば、人差し指でオブジェクトを指定する傾向が強い等）等に応じて設定されればよい。
【００３８】
さらに、制御部１５は、判定用距離を算出する。判定用距離は、指示位置の固定を行うか否かの判定等に使用されるパラメータである。判定用距離は、例えば、各指先の位置に基づいて算出される。より具体的には、指先の位置に基づいて特定される表示位置及び／または指示位置に基づいて算出される。例えば、判定用距離は、いずれか１つの表示位置（例えば、図４に示す表示位置ｂ１）から指示位置までの距離であってもよい。判定用距離の算出に使用される表示位置は、ユーザによって選択されてもよく、予め選択されていても良い。また、判定用距離は、指示位置に最も近い表示位置から指示位置までの距離であってもよい。また、判定用距離は、各表示位置から指示位置までの距離の算術平均値であってもよい。また、操作体動作認識部１２が認識した各指先の位置同士の距離であってもよい。すなわち、制御部１５は、各指先の位置そのものに基づいて、判定用距離を算出してもよい。制御部１５は、これらの値のうち、予め選択された値を使用してもよく、ユーザが選択した値を使用してもよく、基本処理毎に異なる値を使用してもよい。ユーザがピンチイン操作を行うと、指先同士の間隔が狭くなる。すなわち、判定用距離が小さくなる。したがって、ユーザがピンチイン操作を行うと、あるタイミングで判定用距離が制限開始用閾値未満になる。
【００３９】
ステップＳ４０において、制御部１５は、指示位置が固定されているか否かを判定する。制御部１５は、指示位置が固定されていると判定した場合には、ステップＳ７０に進み、指示位置が固定されていないと判定した場合には、ステップＳ５０に進む。
【００４０】
ステップＳ５０において、制御部１５は、制限開始条件が満たされるか否かを判定する。具体的には、制御部１５は、判定用距離が所定の制限開始用閾値未満であるか否かを判定する。制御部１５は、判定用距離が制限開始用閾値（制限開始用Ｔｈｒ）未満であると判定した場合には、ステップＳ６０に進み、判定用距離が制限開始用閾値以上であると判定した場合には、ステップＳ１１０に進む。
【００４１】
図６は、判定用距離が制限開始用閾値以上の例を示し、図７は、判定用距離が制限開始用閾値未満となる例を示す。図６、図７の枠Ｔｈｒ１は、制限開始用閾値を示す。すなわち、枠Ｔｈｒ１の中心点は指示位置ａとなっており、半径は制限開始用閾値となっている。図６では、指先画像Ｂ１〜Ｂ３の表示位置ｂ１〜ｂ３がいずれも枠Ｔｈｒ１の外側に配置されている。したがって、判定用距離は制限開始用閾値以上となる。一方、図７では、指先画像Ｂ１〜Ｂ３の表示位置ｂ１〜ｂ３がいずれも枠Ｔｈｒ１の内側に配置されている。したがって、判定用距離は制限開始用閾値未満となる。なお、枠Ｔｈｒ１は表示されないが、表示されても良い。後述する他の枠Ｔｈｒ２、Ｔｈｒ３も同様である。
【００４２】
また、制限開始用閾値は固定値であってもよく、変動値であってもよい。制限開始用閾値が変動値となる場合、制御部１５は、様々な情報に基づいて制限開始用閾値を設定してもよい。例えば、制御部１５は、ユーザの特徴に基づいて制限開始用閾値を設定してもよい。ここで、ユーザの特徴としては、手の大小、体の大きさ、大人子供の区分、指同士の角度等が挙げられる。
【００４３】
制御部１５は、手が大きいほど、制限開始用閾値を大きくしてもよい。手が大きいほど、ピンチイン操作開始時の指先間の距離が大きいと推測されるからである。ここで、手の大小は、検知情報に基づいて特定可能である。
【００４４】
制御部１５は、体が大きいほど、制限開始用閾値を大きくしてもよい。体が大きいほど、ピンチイン操作開始時の指先間の距離が大きいと推測されるからである。ここで、体の大きさは、検知情報に基づいて特定可能である。
【００４５】
また、制御部１５は、ユーザが大人となる場合の制限開始閾値を、ユーザが子供となる場合の制限開始閾値よりも大きくしてもよい。ユーザが大人となる場合、ピンチイン操作開始時の指先間の距離が大きくなると推測されるからである。これにより、例えば、ユーザが子供となる場合に、ピンチイン操作開始時の判定用距離が制限開始用閾値未満の値になりにくくなる。また、ユーザが大人となる場合に、ピンチイン操作開始時の判定用距離に対して制限開始用閾値が小さすぎる（すなわち、なかなか指示位置が固定されない）といったことが生じにくくなる。大人、子供の区分は、予め情報処理装置１０に登録されていても良いし、検知情報に基づいて判定されても良い。
【００４６】
また、制御部１５は、指同士の角度（例えば、人差し指と親指都の角度）が大きいほど、制限開始閾値を大きくしてもよい。指同士の角度が大きいほど、ピンチイン操作開始時の指先間の距離が大きくなると推測されるからである。これにより、ピンチイン操作開始時の判定用距離が制限開始用閾値未満の値になりにくくなる。指同士の角度は、検知情報に基づいて特定可能である。
【００４７】
また、制御部１５は、ユーザから情報処理装置１０（より詳細には検知部１１）までの距離に基づいて、制限開始用閾値を設定してもよい。例えば、制御部１５は、当該距離が長いほど、制限開始用閾値を小さくしてもよい。当該距離が長いほど、ピンチイン操作開始時の指先間の距離が小さくなると推測されるからである。これにより、ピンチイン操作開始時の判定用距離が制限開始用閾値未満の値になりにくくなる。当該距離は、検知情報に基づいて特定可能である。
【００４８】
また、制御部１５は、ピンチイン操作の速度（ピンチイン操作時の指先の移動速度）に基づいて、制限開始用閾値を設定してもよい。例えば、制御部１５は、ピンチイン操作の速度が大きいほど、制限開始用閾値を大きくしてもよい。この場合、ユーザは、指示位置上のオブジェクトを選択する意思が強いと推定されるからである。したがって、早期に指示位置を固定した方がユーザにとって好ましい可能性がある。ピンチイン操作の速度は、検知情報に基づいて測定可能である。
【００４９】
また、制御部１５は、指示位置上のオブジェクトの特徴に基づいて、制限開始用閾値を設定してもよい。ここで、オブジェクトの特徴としては、大きさ、位置、重要度、動作の有無、オブジェクト同士の間隔（すなわち、密集度）等が挙げられる。例えば、制御部１５は、指示位置上のオブジェクトが大きいほど、制限開始用閾値を大きくしてもよい。指示位置上のオブジェクトが大きいほど、ピンチイン操作開始時の判定用距離が大きくなると推測されるからである。例えば、制限開始用閾値によって定まる領域（例えば、図６に示す枠Ｔｈｒ１内の領域）は、オブジェクトよりも大きくてもよい。これにより、ユーザがジェスチャ操作に違和感を持つ可能性が低減される。
【００５０】
また、制御部１５は、指示位置上のオブジェクトが表示領域Ｘの外縁に近いほど、制限開始用閾値を大きくしてもよい。表示領域Ｘの外縁に近いオブジェクトを選択するジェスチャ操作は手間がかかる場合があるからである。これにより、ユーザがジェスチャ操作に違和感を持つ可能性が低減される。
【００５１】
また、制御部１５は、指示位置上のオブジェクトの重要性が高いほど、制限開始用閾値を大きくしてもよい。オブジェクトの重要性が高いほど、より正確な選択操作が要求されると推測されるからである。なお、重要性を判定するための判定基準は特に制限されず、例えばユーザが各オブジェクトの重要性を決定してもよい。例えば、決済ボタン等のように金銭に絡むオブジェクトは、重要性の高いオブジェクトであってもよい。
【００５２】
また、制御部１５は、オブジェクトが動いている場合の制限開始用閾値を、オブジェクトが静止している場合の制限開始用閾値よりも大きくしてもよい。オブジェクトが動いている場合、ユーザは、オブジェクトを選択しにくい場合があるからである。なお、この場合、制御部１５は、指示位置を固定してもよいが、オブジェクトに追従させてもよい。すなわち、制御部１５は、指示位置をオブジェクトに吸収させてもよい。この場合、ユーザは、より確実にオブジェクトを選択することができる。なお、指示位置をオブジェクトに吸収させる例については、後述する変形例で詳細に説明する。
【００５３】
また、制御部１５は、オブジェクト同士の間隔が小さいほど、制限開始用閾値を大きくしてもよい。この場合、ユーザの意図しないオブジェクトが選択される可能性が高いからである。これにより、ユーザは、より正確な選択操作を行うことができる。
【００５４】
また、制御部１５は、上記各要素を複合的に使用して制限開始用閾値を設定してもよい。例えば、制御部１５は、ユーザから情報処理装置１０までの距離及びオブジェクトの大きさに基づいて、制限開始用閾値を設定してもよい。また、制御部１５は、これらの他、さらにピンチイン操作の速度に基づいて、制限開始用閾値を設定してもよい。
【００５５】
ステップＳ６０において、制御部１５は、指示位置を固定する。これにより、制御部１５は、指示位置の動きを制限する。したがって、制御部は、複数の操作体（ここでは指先）に含まれる、第１の操作体と第２の操作体とが第１の距離よりも近づいたと判定されることに基づいて、指示位置の動きを制限する。ここで、第１の距離は、上述した制限開始用閾値に相当する距離である。例えば、制御部１５は、指示位置の動きを制限する前の状態に比べて、指示位置の動きを制限する。なお、指示位置の動きを制限する方法はこれに限られない。例えば、表示位置の変動量に対する指示位置の変動量のゲインを小さくしてもよい。具体的には、例えば、制御部１５は、ステップＳ３０と同様の処理により、指示位置を特定する。ついで、制御部１５は、前回の指示位置及び今回の指示位置に基づいて、指示位置の変動量及び変動方向を算出する。ついで、制御部１５は、変動量に１未満の係数を乗じることで、変動量を補正する。ついで、制御部１５は、指示位置を当該変動方向に補正後の変動量だけ移動させる。これにより、制御部１５は、指示位置の動きを制限する。その後、制御部１５は、ステップＳ１１０に進む。なお、制御部１５は、指示位置の制限とともに、あるいは、指示位置の制限に代えて、カーソル（すなわち、指示位置を示す画像）の動きを制限してもよい。制限の方法は特に問わず、上記と同様の制限（例えば、カーソルの位置を固定する、カーソルの変動量のゲインを小さくする等）であってもよい。
【００５６】
ステップＳ７０において、制御部１５は、制限解除条件が満たされるか否かを判定する。具体的には、制御部１５は、上述した判定用距離が所定の制限解除用（制限解除用Ｔｈｒ）閾値より大きいか否かを判定する。制御部１５は、判定用距離が制限解除用閾値より大きいと判定した場合には、ステップＳ８０に進み、判定用距離が制限解除用閾値未満であると判定した場合には、ステップＳ９０に進む。ユーザがピンチアウト操作を行うと、指先同士の間隔が広くなる。すなわち、判定用距離が長くなる。したがって、ユーザがピンチアウト操作を行うと、あるタイミングで判定用距離が制限開始用閾値より大きくなる。
【００５７】
図８は、判定用距離が制限解除用閾値未満の例を示し、図９は、判定用距離が制限解除用閾値より大きくなる例を示す。図８、図９の枠Ｔｈｒ２は、制限解除用閾値を示す。すなわち、枠Ｔｈｒ２の中心点は指示位置ａとなっており、半径は制限解除用閾値となっている。図８では、指先画像Ｂ１〜Ｂ３の表示位置ｂ１〜ｂ３がいずれも枠Ｔｈｒ２の内側に配置されている。したがって、判定用距離は制限解除用閾値未満となる。一方、図９では、指先画像Ｂ１〜Ｂ３の表示位置ｂ１〜ｂ３がいずれも枠Ｔｈｒ２の外側に配置されている。したがって、判定用距離は制限解除用閾値より大きくなる。
【００５８】
また、制限解除用閾値は固定値であってもよく、変動値であってもよい。制限開始用閾値が変動値となる場合、制御部１５は、制限開始用閾値と同様の方法により制限解除用閾値を調整してもよい。また、制限開始用閾値と制限解除用閾値との大小関係は特に問われない。例えば、制限解除用閾値は、制限開始用閾値より大きくてもよい。また、制限解除用閾値は制限開始用閾値よりも小さくても良い。ただし、後者の場合、判定用距離が制限開始用閾値未満となり、かつ、制限解除用閾値より大きくなる場合の処理を別途定めておく必要がある。例えば、判定用距離が制限解除用閾値より小さい値から大きな値に変動した場合には、制御部１５は、制限解除条件が満たされたと判定してもよい。
【００５９】
また、制限解除用閾値は２段階用意されてもよい。すなわち、制御部１５は、制限開始用閾値より小さい第１の制限解除用閾値と、制限開始用閾値よりも大きい第２の制限解除用閾値とを用意してもよい。そして、制御部１５は、判定用距離が第１の制限解除用閾値未満となった後は、判定用距離と第１の制限解除用閾値とを比較する。そして、制御部１５は、判定用距離が第１の制限解除用閾値より大きくなった場合には、制限解除条件が満たされたと判定すればよい。また、制御部１５は、判定用距離が第２の制限解除用閾値未満となった後は、判定用距離と第２の制限解除用閾値とを比較する。そして、制御部１５は、判定用距離が第２の制限解除用閾値より大きくなった場合には、制限解除条件が満たされたと判定すればよい。制限解除用閾値を制限開始用閾値より小さくすることで、制御部１５は、より短時間で指示位置の動きの制限を解除することができる。これにより、ユーザは、より違和感の少ない選択操作を行うことができる。なお、制限解除用閾値は制限開始用閾値と同じ値であっても良いが、この場合、例えば、ユーザの意図しない手の動き（揺れ）によって制限状態、制限解除状態が（頻繁に）変わってしまう可能性がある。したがって、両者は異なる値であることが好ましい。
【００６０】
ステップＳ８０において、制御部１５は、指示位置の固定を解除する。すなわち、制御部１５は、指示位置の動きの制限を解除する。制御部１５は、指示位置の動きの制限を解除した後は、ユーザのポインティング操作に応じて指示位置を動かす。したがって、制御部１５は、指示位置の動きを制限している際に、第１の操作体と第２の操作体との距離が第２の距離よりも遠ざかったと判定されることに基づいて、制限を解除する。第２の距離は、上述した制限解除用閾値に相当する距離である。また、第２の距離は第１の距離よりも大きくてもよい。
【００６１】
ステップＳ９０において、制御部１５は、アクション開始条件が満たされるか否かを判定する。具体的には、制御部１５は、上述した判定用距離がアクション開始用（アクション開始用Ｔｈｒ）閾値未満であるか否かを判定する。制御部１５は、判定用距離がアクション開始用閾値未満であると判定した場合には、ステップＳ９０に進む。制御部１５は、判定用距離がアクション開始用閾値以上であると判定した場合には、ステップＳ１１０に進む。ユーザがピンチイン操作を行うと、指先同士の間隔が狭くなる。すなわち、判定用距離が短くなる。したがって、ユーザがピンチイン操作を行うと、あるタイミングで判定用距離がアクション開始用閾値未満となる。
【００６２】
図１０は、判定用距離がアクション開始用未満となった例を示す。図１０の枠Ｔｈｒ３は、アクション開始用閾値を示す。すなわち、枠Ｔｈｒ３の中心点は指示位置ａとなっており、半径はアクション開始用閾値となっている。図１０では、指先画像Ｂ１、Ｂ３の表示位置ｂ１、ｂ３がいずれも枠Ｔｈｒ３の内側に配置されている。したがって、判定用距離はアクション開始用閾値未満となる。
【００６３】
ここで、アクション開始用閾値は固定値であってもよく、変動値であってもよい。アクション開始用閾値が変動値となる場合、制御部１５は、制限開始用閾値と同様の方法により制限解除用閾値を調整してもよい。また、アクション開始用閾値は、制限開始用閾値及び制限解除用閾値よりも小さい値となる。
【００６４】
ステップＳ１００において、制御部１５は、指示位置に基づくアクションを行う。具体的には、制御部１５は、指示位置上に存在するオブジェクトを選択する。したがって、制御部１５は、第１の操作体と第２の操作体との距離が第３の距離よりも近づいたと判定されることに基づいて、表示領域内の指示位置に基づくアクションを行う。ここで、第３の距離は上述したアクション開始用閾値に相当する距離である。また、第１の距離は第３の距離よりも大きくてもよい。その後、制御部１５は、ステップＳ１１０に進む。
【００６５】
ステップＳ１１０において、制御部１５は、カーソル及び指先画像の表示方法を決定する。例えば、制御部１５は、カーソル及び指先画像の形状等を決定する。カーソル及び指先画像は、例えば図４に示す円形画像であってもよい。また、指先画像は表示しないようにしてもよい。
【００６６】
ステップＳ１２０において、制御部１５は、指示位置、指先画像の表示位置、ステップＳ１１０で決定された表示方法、ステップＳ１００で決定されたオブジェクト等に関する表示制御情報を生成する。そして、制御部１５は、表示制御情報を表示制御部１３に出力する。表示制御部１３は、表示制御情報に基づいて、表示部１４を制御する。表示部１４は、表示制御部１３による制御により、各種画像を表示する。具体的には、表示部１４は、表示領域Ｘ内に各種のオブジェクトを表示するとともに、表示領域Ｘ内の指示位置にカーソルを表示し、指先画像の表示位置に指先画像を表示する。さらに、表示部１４は、ステップＳ１００において何らかのオブジェクトが選択された場合には、例えば、選択されたオブジェクトに対応するオブジェクトを表示する。
【００６７】
以上により、本実施形態によれば、情報処理装置１０は、ポインティング操作に対する指示位置の動きを制限するので、複数の指先を用いて入力操作を行う場合の操作性を向上させることができる。具体的には、情報処理装置１０は、ユーザがピンチイン操作を行った場合に、指示位置を固定する。このため、情報処理装置１０は、指示位置のずれを抑制することができるので、ユーザが意図しないオブジェクトが選択されにくくなる。
【００６８】
また、情報処理装置１０は、複数の指先の位置に基づいて、指示位置を決定するので、ユーザは、指示位置を容易に所望の位置に動かすことができる。また、制御部１５は、所定の制限開始条件が満たされる場合に、指示位置の動きを制限するので、ユーザは、所望の位置への指示を安定して行うことができる。指示位置の動きの制限をより安定して行うことができる。特に、情報処理装置１０は、指示位置を固定することで、指示位置の動きを制限する。このため、ユーザは、所望のオブジェクトをより確実に選択することができる。
【００６９】
また、情報処理装置１０は、判定用距離が制限開始用閾値未満となる場合に、指示位置の動きを制限する。ここで、判定用距離は、例えばユーザがピンチイン操作を行うことで小さくなる。このため、ユーザがピンチイン操作を行っている途中で指示位置の動きが制限される。したがって、情報処理装置１０は、ピンチイン操作時における指示位置のずれをより確実に抑制することができる。
【００７０】
また、情報処理装置１０は、制限解除条件が満たされる場合に、指示位置の動きの制限を解除する。したがって、情報処理装置１０は、例えばユーザが指示位置の動きの制限を希望しない場合に、指示位置の動きの制限を解除することができる。
【００７１】
また、情報処理装置１０は、判定用距離が制限解除用閾値より大きくなる場合に、指示位置の動きの制限を解除する。ここで、判定用距離は、例えばユーザがピンチアウト操作を行うことで大きくなる。このため、ユーザは、指示位置の動きの制限を希望しない場合には、ピンチアウト操作を行うことで、当該制限を解除することができる。このため、ユーザは、簡易な操作で当該制限を解除することができる。
【００７２】
また、情報処理装置１０は、アクション開始条件が満たされる場合に、指示位置に基づくアクションを行う。具体的には、情報処理装置１０は、指示位置上のオブジェクトを選択する。これにより、ユーザは、指示位置を所望のオブジェクトに重畳させ、かつ、アクション開始条件を満たす操作を行うことで、所望のオブジェクトを選択することができる。
【００７３】
また、情報処理装置１０は、判定用距離が制限開始用閾値未満となる場合に、指示位置の動きを制限する。ここで、判定用距離は、例えばユーザがピンチイン操作を行うことで小さくなる。したがって、ユーザは、ピンチイン操作を行うことで、所望のオブジェクトを選択することができる。さらに、ピンチイン操作中には、指示位置の動きが制限されているので、ユーザは、より確実に所望のオブジェクトを選択することができる。
【００７４】
もちろん、上述した効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【００７５】
以上、情報処理装置１０の構成及び基本処理について説明した。ただし、本実施形態は上述したものに制限されず、様々な変形例が適用可能である。そこで、以下、各種の変形例を説明する。なお、以下の変形例で示す処理以外の処理は、上述した基本処理に準じて行われる。また、以下の変形例で示す処理と基本処理とが重複する場合、これらが矛盾しない範囲で並行して行われてもよいし、いずれか一方が選択的に行われてもよい。
【００７６】
＜４．第１変形例＞
第１変形例は、操作体に関するものである。上述した実施形態では、複数の操作体はユーザの指先となっている。しかし、操作体はユーザの指先に限定されない。例えば、複数の操作体は、例えばユーザの腕全体、上下のまぶた、何らかの棒状体（例えばペン等）等であってもよい。ユーザの腕全体が操作体となる場合、ユーザは、２本の腕を用いてポインティング操作、ピンチイン操作、及びピンチアウト操作を行う。例えば、ユーザは、２本の腕を平行に動かすことで、ポインティング操作を行う。また、ユーザは、腕同士の間隔を狭めることでピンチイン操作を行い、腕同士の間隔を広げることでピンチアウト操作を行う。制御部１５は、例えば、腕の長さ方向の延長線と表示領域Ｘとの交点を腕の表示位置とする。
【００７７】
ユーザのまぶたが操作値となる場合、ユーザは、まぶたを用いてポインティング操作、ピンチイン操作、及びピンチアウト操作を行う。例えば、ユーザは、上下のまぶたを平行に動かす（実質的には、頭を動かす）ことで、ポインティング操作を行う。また、ユーザは、まぶたを閉じることでピンチイン操作を行い、まぶたを開くことでピンチアウト操作を行う。制御部１５は、例えば、まぶたの中心から表示領域Ｘに下ろした垂線と表示領域Ｘとの交点をまぶたの表示位置とする。
【００７８】
棒状体が操作体となる場合、ユーザは、複数の棒状体を用いてポインティング操作、ピンチイン操作、及びピンチアウト操作を行う。例えば、ユーザは、複数の棒状体を平行に動かすことで、ポインティング操作を行う。また、ユーザは、棒状体同士の間隔を狭めることでピンチイン操作を行い、棒状体同士の間隔を広げることでピンチアウト操作を行う。制御部１５は、例えば、棒状体の長さ方向の延長線と表示領域Ｘとの交点を棒状体の表示位置とする。
【００７９】
また、上述した実施形態では、ポインティング操作、ピンチイン操作及びピンチアウト操作を同じ操作体（ここでは指先）を用いて行うが、ポインティング操作は指先とは別の操作体を用いて行っても良い。例えば、ポインティング操作は、ユーザの腕を用いて行っても良い。この場合、ユーザは、腕を動かすことでポインティング操作を行い、ピンチイン操作を行うことでオブジェクトの選択操作を行う。制御部１５は、例えば、腕の長さ方向の延長線と表示領域Ｘとの交点を指示位置としてもよい。また、ポインティング操作はユーザの視線を用いて行われてもよい。ユーザの視線は、検知情報に基づいて特定可能である。この場合、ユーザは、視線を動かすことでポインティング操作を行い、ピンチイン操作を行うことでオブジェクトの選択操作を行う。制御部１５は、例えば視線と表示領域Ｘとの交点を指示位置としてもよい。また、ポインティング操作はユーザの手のひらを用いて行われてもよい。この場合、この場合、ユーザは、手のひらを動かす（実質的には腕を動かす）ことでポインティング操作を行い、ピンチイン操作を行うことでオブジェクトの選択操作を行う。制御部１５は、例えば手のひらの中心点から表示領域Ｘに下ろした垂線と表示領域Ｘとの交点を指示位置としてもよい。
【００８０】
＜５．第２変形例＞
第２変形例は、情報処理装置１０の外観構成に関する変形例である。図１に示すように、上述した実施形態では、図１に示すように、情報処理装置１０は据置型の装置となっている。しかし、情報処理装置１０は、据置型の装置に限定されない。すなわち、情報処理装置１０は、複数の指先を用いた入力操作を受付可能な装置であればどのような装置であってもよい。
【００８１】
例えば、情報処理装置１０は、複数の指先によるタッチ操作を受付可能な表示装置であってもよい。この表示装置では、ディスプレイの表示面（この例では、表示面が表示領域Ｘとなる）にタッチパネルが装着されており、タッチパネルは複数の指先によるタッチ操作を受付可能となっている。
【００８２】
また、情報処理装置１０は、ユーザが装着可能な装置、いわゆるウェアラブルデバイスであってもよい。より具体的には、情報処理装置１０は、透過型のヘッドマウントディスプレイであってもよい。透過型のヘッドマウントディスプレイは、ゴーグル型であっても、眼鏡型であっても、他の型であってもよい。この場合、制御部１５は、例えば、指の長さ方向の延長線と、実空間上の実オブジェクトあるいはＡＲ画像（上述したオブジェクトに相当）との交点を指先の表示位置としてもよい。また、情報処理装置１０は、いわゆるヘッドアップディスプレイであってもよい。
【００８３】
＜６．第３変形例＞
第３変形例は、指先の表示位置に関する変形例である。以下、図３、図１１及び図１２に基づいて、第３変形例について説明する。上述した実施形態では、制御部１５は、指先の位置に基づいて、指先の表示位置を特定する。しかし、この処理では、表示位置がユーザの指先の位置に応じて任意に移動するので、ユーザがピンチイン操作及びピンチアウト操作に戸惑う場合がありうる。そこで、第３変形例では、指示位置を固定した後に表示位置の軌道を制限する。具体的には、制御部１５は、指示位置を固定した後のステップＳ３０では、以下の処理を行う。すなわち、制御部１５は、指先の位置に基づいて、表示領域Ｘ内における指先の仮表示位置を特定する。これらの仮表示位置は上述した実施形態の表示位置に相当する。すなわち、仮表示位置は、表示位置の動きの制限を行わない場合の指示位置を示す。図１１に示す仮表示位置ｂ１、ｂ３は、仮表示位置の一例である。なお、この例では、ユーザは人差し指及び親指を用いてピンチイン操作を行っている。仮表示位置ｂ１は人差し指に対応し、仮表示位置ｂ３は親指に対応する。上述した実施形態では、これらの仮表示位置ｂ１、ｂ３に指先画像Ｂ１、Ｂ３を表示することになる。
【００８４】
ついで、制御部１５は、仮表示位置間の距離を算出する。例えば、制御部１５は、仮表示位置ｂ１、ｂ３間の距離（＝２ｄ）を算出する。ついで、制御部１５は、指示位置から外側に伸びる第１の軌道線分を引く。例えば、制御部１５は、指示位置ａから外側に伸びる第１の軌道線分Ｌ１を引く。第１の軌道線分の方向は特に制限されず、ユーザが任意に設定してもよいし、予め設定されていても良い。また、制限開始条件が満たされた際の表示位置と指示位置とを連結する線分を軌道線分としてもよい。ついで、制御部１５は、指示位置からの距離が仮表示位置間の距離の半分となる点を第１の軌道線分上から抽出する。制御部１５は、この点を指先の表示位置とする。例えば、制御部１５は、指示位置ａからの距離がｄとなる点を第１の軌道線分Ｌ１から抽出する。制御部１５は、この点を指先画像Ｂ３の表示位置ｂ３０とする。
【００８５】
ついで、制御部１５は、指示位置から第１の軌道直線と反対方向に伸びる第２の軌道直線を引く。例えば、制御部１５は、指示位置ａから第１の軌道直線Ｌ１と反対方向に伸びる第２の軌道線分Ｌ２を引く。ついで、制御部１５は、指示位置からの距離が仮表示位置間の距離の半分となる点を第２の軌道線分上から抽出する。制御部１５は、この点を指先の表示位置とする。例えば、制御部１５は、指示位置ａからの距離がｄとなる点を第２の軌道線分Ｌ２から抽出する。制御部１５は、この点を指先画像Ｂ１の表示位置ｂ１０とする。したがって、第３変形例では、指先の実際の表示位置（すなわち、仮表示位置）によらず、指先画像は第１の軌道線分及び第２の軌道線分上を移動する。すなわち、表示位置の軌道が制限される。制御部１３は、図１２に示すように、アクション開始条件が満たされるまで、指先画像を第１の軌道線分及び第２の軌道線分上で移動させても良い。これにより、ユーザは、安定してピンチイン操作及びピンチアウト操作をより安定して行うことができる。なお、図１１の例において、仮表示位置ｂ１０、ｂ３０の決定順序は上記と逆でも良い。
【００８６】
なお、上記ではユーザが２本の指でピンチイン操作を行う例について説明したが、ユーザが３本以上の指でピンチイン操作を行う場合にも同様の処理が可能である。例えば、ユーザが３本の指でピンチイン操作を行う場合、軌道線分は、例えば指示位置から伸びる３本の線分となる。軌道線分間の角度は例えば１２０°とすればよい。すなわち、制御部１５は、ピンチイン操作の指の本数だけ軌道線分を引き、これらの軌道線分同士の角度を同じ角度とすればよい。例えば、軌道線分が２本の時には軌道線分同士の角度を１８０°とし、軌道線分が３本の時には軌道線分同士の角度を１２０°とすればよい。また、軌道線分が４本の時には軌道線分同士の角度を９０°とし、軌道線分が５本の時には軌道線分同士の角度を７２°とすればよい。もちろん、軌道線分のパターンはこれに限られない。
【００８７】
＜７．第４変形例＞
上述した実施形態では、制限開始条件は、判定用距離が制限開始用閾値未満になるという条件となる。しかし、制限開始条件はこの例に限られない。第４変形例は、制限開始条件に関する変形例である。第４変形例では、制限開始条件は、ピンチイン操作の速度が所定速度以上になるという条件とされる。すなわち、制御部１５は、ユーザがピンチイン操作を速く行った場合に、判定用距離の大小にかかわらず、指示位置を固定する。ユーザがピンチイン操作を速く行った場合、ユーザが指示位置上のオブジェクトを選択する可能性が高いからである。また、判定用距離を用いる代わりに、表示位置の座標を用いてもよい。すなわち、制御部１５は、指示位置を中心とした判定領域（この判定領域は、例えば図６に示す枠Ｔｈｒ１より内側の領域となる）を設定する。そして、制御部１５は、表示位置の座標がこの判定領域内に含まれていれば、制限開始条件が満たされると判定してもよい。制限解除条件、アクション開始条件についても同様の条件が適用可能である。制御部１５は、制限開始条件、制限解除条件、及びアクション開始条件として、基本処理の条件及び第４変形例の条件の両方を使用してもよいし、いずれか一方を選択的に使用してもよい。
【００８８】
＜８．第５変形例＞
上述した実施形態では、指示位置を固定することで、指示位置の動きを制限する。しかし、指示位置の動きを制限する方法はこの方法に限られない。第５変形例は、指示位置の動きを制限する方法に関する変形例である。以下、第５変形例を図１３に基づいて説明する。
【００８９】
すなわち、制御部１５は、制限開始条件が満たされた場合には、指示位置上にオブジェクトが存在するか否かを判定する。そして、制御部１５は、指示位置上にオブジェクトが存在する場合には、カーソルを消去し、オブジェクトをハイライト表示する。すなわち、制御部１５は、指示位置をオブジェクトに固定し、カーソルをオブジェクトに吸収させる。ここで、カーソルをオブジェクトに吸収させるとは、例えば、カーソルを消去し、かつ、オブジェクトをハイライト表示することを意味する。ここで、制御部１５は、カーソルをオブジェクトに吸収させる際には、カーソルがオブジェクトに吸収される（例えば、吸引される）アニメーションを表示してもよい。制御部１５は、指先画像も消去してもよい。指先画像及びカーソルは表示されたままであってもよい。これにより、指示位置上のオブジェクトがフォーカスされる。例えば、制御部１５は、指示位置上に図１３に示すオブジェクト５０が存在する場合には、オブジェクト５０をハイライト表示する。オブジェクトをハイライト表示する方法は特に制限されず、他のオブジェクトと異なる表示態様で表示する方法であれば特に制限されない。例えば、制御部１５は、オブジェクトを囲む枠画像をオブジェクトに重畳表示してもよい。図１３の例では、制御部１５は、オブジェクト５０に枠画像６０を重畳表示してもよい。第５変形例によれば、ユーザは、どのオブジェクトが指示されているのかを容易に把握することができる。制御部１５は、アクション開始条件が満たされた場合には、ハイライト表示されたオブジェクトを選択する。なお、制御部１５は、制限を受けていない指示位置がオブジェクトに重畳された場合であっても、オブジェクトをハイライト表示してもよい。
【００９０】
＜９．第６変形例＞
第６変形例は、第５の変形例の処理を行った後の処理に関する変形例である。以下、図１３及び図１４に基づいて、第６変形例について説明する。
【００９１】
制御部１５は、第５の変形例による処理を行った後、以下の処理を行う。すなわち、制御部１５は、指先の位置に基づいて、指先の表示位置を特定する。そして、制御部１５は、指先の表示位置に基づいて、仮指示位置を特定する。ここで、仮指示位置は、仮の指示位置としての役割を有する。すなわち、第５変形例では、一旦指示位置がオブジェクトに固定されると、指先画像の表示位置が変動しても、指示位置は固定されたままになる。そこで、第６変形例では、指示位置とは別に仮指示位置を規定し、仮指示位置を指先画像の表示位置に基づいて移動させる。仮指示位置は、例えば表示位置の重心位置とされる。すなわち、仮表示位置の算出方法は表示位置の算出方法と同様であっても良い。そして、制御部１５は、仮表示位置が他のオブジェクト上に移動したか否かを判定する。制御部１５は、仮表示位置が他のオブジェクト上に存在すると判定した場合には、表示位置の動きの制限を維持したまま、仮表示位置を新たな指示位置とする。すなわち、制御部１５は、表示位置を他のオブジェクトに固定し、当該他のオブジェクトをハイライト表示する。すなわち、フォーカスを他のオブジェクトに移動させる。なお、この場合、仮指示位置にカーソルを表示してもよい。
【００９２】
例えば、図１４に示すように、制御部１５は、仮表示位置がオブジェクト５１に移動した場合には、オブジェクト５１をハイライト表示する。したがって、ユーザは、例えば、オブジェクト５０をハイライト表示させた後、指先同士の間隔（すなわち、手の形）を維持したまま、手をオブジェクト５１側に移動させる。これにより、オブジェクト５１にフォーカスが移動する。したがって、ユーザは、所望のオブジェクトを容易に選択することができる。なお、フォーカスがオブジェクト５１に移動する前に制限解除条件が満たされた場合には、制御部１５は、オブジェクト５０のハイライト表示を解除する。また、制御部１５は、フォーカスがオブジェクト５１に移動する前にアクション開始条件が満たされた場合には、オブジェクト５０を選択する。
【００９３】
＜１０．第７変形例＞
第７変形例は第５変形例に類似する変形例である。以下、図１５及び図１６に基づいて、第７変形例について説明する。
【００９４】
すなわち、制御部１５は、制限開始条件が満たされた場合には、オブジェクトから所定の吸収範囲内に指示位置が存在するか否かを判定する。吸収範囲の大きさについては特に制限されず、ユーザが任意に設定してもよく、予め設定されていても良い。そして、制御部１５は、オブジェクトから吸収範囲に指示位置が存在すると判定した場合には、カーソルを消去し、オブジェクトをハイライト表示する。すなわち、制御部１５は、指示位置をオブジェクトに固定し、カーソルをオブジェクトに吸収させる。制御部１５は、指先画像も消去してもよい。指先画像及びカーソルは表示されたままであってもよい。これにより、オブジェクトがフォーカスされる。例えば、制御部１５は、図１５に示すように、オブジェクト５０から所定の吸収範囲内に指示位置ａが存在する場合には、図１６に示すように、オブジェクト５０をハイライト表示する。具体的には、制御部１５は、オブジェクト５０に枠画像６０を重畳する。さらに、制御部１５は、カーソルＡをオブジェクト５０に吸収させ、指示位置ａをオブジェクト５０に固定する。さらに、制御部１５は、指先画像Ｂ１〜Ｂ３を消去する。第７変形例によれば、ユーザは、どのオブジェクトが指示されているのかを容易に把握することができる。また、ユーザは、所望のオブジェクトに指示位置を近づけるだけで所望のオブジェクトに指示位置を固定することができる。したがって、ユーザは、所望のオブジェクトに指示位置を容易に固定することができる。
【００９５】
＜１１．第８変形例＞
第８変形例は第６変形例に類似する変形例である。以下、図１６及び図１７に基づいて、第８変形例について説明する。制御部１５は、第７の変形例による処理を行った後、以下の処理を行う。すなわち、制御部１５は、指先の位置に基づいて、指先の表示位置を特定する。そして、制御部１５は、指先の表示位置に基づいて、仮指示位置を特定する。仮指示位置は、第６変形例と同様のものである。そして、制御部１５は、仮表示位置が他のオブジェクトから所定の吸収範囲内に存在するか否かを判定する。吸収範囲は、第７変形例と同様のものである。制御部１５は、仮表示位置が他のオブジェクトから所定の吸収範囲内に存在すると判定した場合には、表示位置を他のオブジェクトに固定し、当該他のオブジェクトをハイライト表示する。すなわち、制御部１５は、指示位置の動きの制限を維持したまま、指示位置を他のオブジェクト内に移動させ、かつ、他のオブジェクトをハイライト表示する。これにより、制御部１５は、フォーカスを他のオブジェクトに移動させる。例えば、図１７に示すように、制御部１５は、仮表示位置ａ１がオブジェクト５１から所定の吸収範囲内に存在する場合には、図１４に示すように、オブジェクト５１をハイライト表示する。直線Ｔｈｒ４は、オブジェクト５１の吸収範囲を示す。すなわち、直線Ｔｈｒ４よりも右側の領域は、オブジェクト５１の吸収範囲となる。直線Ｔｈｒ４は表示されないが、表示されてもよい。
【００９６】
したがって、ユーザは、例えば、オブジェクト５０をハイライト表示させた後、指先同士の間隔（すなわち、手の形）を維持したまま、手をオブジェクト５１側に移動させる。これにより、オブジェクト５１にフォーカスが移動する。したがって、ユーザは、所望のオブジェクトを容易に選択することができる。なお、フォーカスがオブジェクト５１に移動する前に制限解除条件が満たされた場合には、制御部１５は、オブジェクト５０のハイライト表示を解除する。また、制御部１５は、フォーカスがオブジェクト５１に移動する前にアクション開始条件が満たされた場合には、オブジェクト５０を選択する。
【００９７】
＜１２．第９変形例＞
上述した実施形態では、制限解除条件は、判定用距離が制限解除用閾値より大きくなるという条件となる。しかし、制限解除条件はこの例に限られない。第９変形例は、制限解除条件に関する変形例である。
【００９８】
第９変形例では、制御部１５は、指先の位置に基づいて、指先の表示位置を特定する。そして、制御部１５は、指先の表示位置に基づいて、仮指示位置を特定する。仮指示位置は、第６変形例と同様のものである。そして、制御部１５は、仮指示位置の移動量を算出する。ここで、仮指示位置の移動量は、例えば、指示位置の動きの制限を開始した時点の仮指示位置から現時点の仮指示位置までの直線距離とすればよい。制御部１５は、仮指示位置の移動量が所定の制限解除用移動量より大きいか否かを判定する。制限解除用移動量の大きさは特に問われず、ユーザが任意に設定してもよいし、予め設定されていても良い。また、制限解除用移動量は、仮指示位置の移動方向に存在するオブジェクトの状態（大きさ、密集度）等によって調整されても良い。例えば、仮指示位置の移動方向に多数のオブジェクトが存在する場合、ユーザは、これらのオブジェクトのいずれかを選択する可能性があるので、オブジェクトの動きの制限を早期に解除した方が良い場合がある。したがって、制限解除用移動量は小さくても良い。また、制限解除用移動量は、仮指示位置の移動方向毎に異なっていてもよい。また、制限解除用移動量は、仮指示位置の移動速度によって調整されても良い。例えば、制限解除用移動量は、仮指示位置の移動速度が大きいほど、小さくても良い。仮指示位置の移動速度が大きいほど、ユーザは、他のオブジェクトを選択する可能性が高いと推測されるからである。また、制限解除用移動量は、ユーザの手の大きさ、オブジェクトの配置等に応じて調整されても良い。
【００９９】
そして、制御部１５は、仮指示位置の移動量が所定の制限解除用移動量よりも大きいと判定した場合には、指示位置の動きの制限を解除する。したがって、ユーザは、例えば、指示位置の動きが制限された後、指先同士の間隔（すなわち、手の形）を維持したまま、手を指示位置から離れる方向に移動させる。これにより、ユーザは、指示位置の動きの制限を解除することができる。
【０１００】
第９変形例では、指示位置の動きの制限が解除された場合、仮表示位置が新たな表示位置となる。この場合、制御部１５は、カーソルを制限中の指示位置から新たな表示位置に瞬時に移動させても良いが、新たな指示位置に連続的に移動させてもよい。すなわち、制御部１５は、カーソルが新たな指示位置に移動するアニメーションを表示する制御を行っても良い。後者の場合、制御部１５は、カーソルの移動をより自然に表現することができる。後述する第１０変形例でも同様の処理が行われてもよい。
【０１０１】
なお、第９変形例では、指示位置の動きの制限が解除された後であっても、判定用距離は制限開始用閾値未満となっていることがある。そこで、制御部１５は、第９変形例によって指示位置の動きの制限を解除した後には、制限開始用閾値を小さくしてもよい。後述する第１０変形例においても同様である。
【０１０２】
＜１３．第１０変形例＞
第１０変形例も第９変形例と同様の変形例である。第１０変形例では、制御部１５は、第９変形例と同様に、仮指示位置を特定する。そして、制御部１５は、仮指示位置の移動速度を算出する。ここで、仮指示位置の移動速度は、例えば、以下の工程で算出される。すなわち、制御部１５は、前回の処理サイクル（図３の処理サイクル）で特定された仮指示位置から今回の処理サイクルで特定された仮指示位置までの距離を測定する。そして、制御部１５は、当該距離を処理サイクルの周期で除算する。これにより、制御部１５は、仮指示位置の移動速度を算出する。制御部１５は、仮指示位置の移動速度が所定の制限解除用速度より大きいか否かを判定する。制限解除用速度の大きさは特に問われず、ユーザが任意に設定してもよいし、予め設定されていても良い。制限解除用速度は、制限解除用移動量と同様の方法で調整されても良い。そして、制御部１５は、仮指示位置の移動速度が所定の制限解除用速度よりも大きいと判定した場合には、指示位置の動きの制限を解除する。したがって、ユーザは、例えば、指示位置の動きが制限された後、指先同士の間隔（すなわち、手の形）を維持したまま、手を指示位置から離れる方向に速く移動させる。これにより、ユーザは、指示位置の動きの制限を解除することができる。
【０１０３】
＜１４．第１１変形例＞
次に、第１１変形例について説明する。第１１変形例では、制御部１５は、指示位置の動きを制限する場合には、指示位置の動きを制限することを前記複数の操作体を操作するユーザに通知する制御を行う。より具体的には、制御部１５は、指示位置の状態に応じてカーソルの表示態様を変更する。一例を図１８〜図２０に示す。もちろん、図１８〜図２０の例は表示態様の一例である。図１８では、制御部１５は、指示位置ａの動きを制限していない。この場合、制御部１５は、カーソルＡの色を薄くする。さらに、制御部１５は、カーソルＡの透過度を高くする。さらに、制御部１５は、カーソルＡの周囲をぼかす。なお、制御部１５は、カーソルＡの色、透過度、及び周囲のぼかしのうち、いずれか１種以上を選択的に調整してもよい。
【０１０４】
図１９では、制御部１５は、指示位置ａの動きを制限している。この場合、制御部１５は、カーソルＡの色を図１８の例よりも濃くする。さらに、制御部１５は、カーソルＡの透過度を図１８の例よりも低くする。さらに、制御部１５は、カーソルＡの周囲のぼかしを図１８の例よりも小さくする。なお、制御部１５は、カーソルＡの色、透過度、及び周囲のぼかしのうち、いずれか１種以上を選択的に調整してもよい。
【０１０５】
図２０では、制御部１５は、指示位置ａ上のオブジェクトを選択している。この場合、制御部１５は、カーソルＡの色を図１８及び図１９と異なる色とする。さらに、制御部１５は、カーソルＡの透過度及びカーソルＡの周囲のぼかし量を図１８及び図１９の例よりも異なる値としてもよい。第１１変形例では、ユーザは、指示位置の状態を容易に把握することができる。
【０１０６】
なお、上述した例では、制御部１５は、カーソルＡの色、透過度、及びカーソルＡの周囲のぼかしを変更したが、他の表示態様を調整してもよいことはもちろんである。たとえあ、制御部１５は、カーソルＡの形状、輝度、大きさ等を調整してもよい。また、制御部１５は、指示位置の状態毎に異なるアニメーションでカーソルＡを表示してもよい。
【０１０７】
また、上述した例では、オブジェクトが選択された際にカーソルの表示態様を変更するが、選択されたオブジェクト自体の表示態様を変更してもよい。例えば、制御部１５は、選択されたオブジェクトを縮めた後に元に戻すアニメーションを表示してもよい。
【０１０８】
なお、第１１変形例では、指示位置の状態変化をビジュアルの変化でユーザに通知することになるが、他の手法によって指示位置の状態変化をユーザに伝えても良いことはもちろんである。例えば、制御部１５は、音、振動等によってユーザに指示位置の状態変化を伝えても良い。音でユーザに指示位置の状態変化を通知する場合、情報処理装置１０にスピーカ等を備えさせれば良い。情報処理装置１０と通信可能な携帯型のスピーカをユーザに所持させるようにしてもよい。また、振動でユーザに指示位置の状態変化を通知する場合、情報処理装置１０と通信可能かつ振動可能なウェアラブルデバイスをユーザに所持させるようにすればよい。制御部１５は、上述した処理を行うとともに（あるいは、上述した処理に代えて）、以下の処理を行ってもよい。すなわち、制御部１５は、指示位置の動きを制限する場合には、その旨の音声を出力する、上記カーソルとは別途の画像を表示する等の処理によってユーザに通知するようにしてもよい。
【０１０９】
＜１５．第１２変形例＞
次に、第１２変形例について説明する。第１２変形例では、制御部１５は、第１の操作体と第２の操作体との距離に応じた表示態様でカーソルを表示する。言い換えれば、制御部１５は、制限開始条件の達成度及びアクション開始条件の達成度に応じてカーソルの表示態様を変更する。以下、図２１及び図２２に基づいて、第１２変形例の一例を説明する。
【０１１０】
図２１は、制御部１５は、指示位置ａの位置を制限していない。この例では、制御部１５は、カーソルＡ内にリング画像Ａ１０を表示する。また、この例では、制御部１５は、第１１変形例と同様の表示態様でカーソルＡを表示している。そして、制御部１５は、判定用距離と制限開始用閾値との差が小さくなるほど（すなわち、達成度が高くなるほど）、カーソルＡの半径を小さくする。そして、制御部１５は、判定用距離が制限開始用閾値未満になった際に、カーソルＡの半径をリング画像Ａ１０の半径よりも小さくする。したがって、この例では、制限開始条件の達成度は、カーソルＡの半径とリング画像Ａ１０の半径との差分として表現される。
【０１１１】
図２２は、制御部１５は、指示位置ａの位置を制限している。この例では、制御部１５は、カーソルＡ内にリング画像Ａ２０を表示する。また、この例では、制御部１５は、第１１変形例と同様の表示態様でカーソルＡを表示している。そして、制御部１５は、判定用距離とアクション開始用閾値との差が小さくなるほど（すなわち、達成度が高くなるほど）、カーソルＡの半径を小さくする。そして、制御部１５は、判定用距離がアクション開始用閾値未満になった際に、カーソルＡの半径をリング画像Ａ２０の半径よりも小さくする。したがって、この例では、アクション開始条件の達成度は、カーソルＡの半径とリング画像Ａ２０の半径との差分として表現される。なお、オブジェクトの大きさでアクション開始条件の達成度を表現してもよい。例えば、制御部１５は、アクション開始条件の達成度が高くなるほど、オブジェクトを小さくしてもよい。そして、制御部１５は、オブジェクトが消失した際に、アクション開始条件が満たされるようにしてもよい。また、制御部１５は、アクション開始条件の達成度に応じてオブジェクトの色等を変更してもよい。
【０１１２】
なお、ここでは図示していないが、制限解除条件についても同様の処理が可能であることはもちろんである。この場合、制御部１５は、図２２の例において、カーソルＡよりも大きいリング画像をカーソルＡの周囲に表示すれば良い。そして、制御部１５は、判定用距離が大きくなるほど（すなわち、達成度が高くなるほど）、カーソルＡの半径を大きくすればよい。そして、制御部１５は、判定用距離が制限解除用閾値よりも大きくなった際に、カーソルＡの半径をリング画像の半径よりも大きくすればよい。
【０１１３】
このように、第１２変形例では、ユーザは、各条件の達成度を容易に把握することができる。なお、各条件の達成度の表示態様は上述した例に限られないことはもちろんである。例えば、制御部１５は、制限開始条件またはアクション開始条件の達成度が高くなるほど、カーソルの色を濃く（または透過度を低く）してもよい。また、制御部１５は、制限解除条件の達成度が高くなるほど、カーソルの色を薄く（または透過度を高く）してもよい。もちろん、第１１変形例と同様に、音や振動等によって達成度をユーザに伝えても良い。
【０１１４】
＜１６．第１３変形例＞
つぎに、第１３変形例について説明する。第１３変形例は、オブジェクトの選択に関する変形例である。すなわち、上述した実施形態では、制御部１５は、アクション開始条件が満たされる場合に、指示位置上のオブジェクトを選択する。しかし、指示位置上に選択の対象となる（すなわち、アクションの対象となる）オブジェクトが存在しない場合がある。このような場合としては、指示位置上にオブジェクトが存在しない場合、及び指示位置上にオブジェクトが存在するが、そのオブジェクトを選択することができない場合等が挙げられる。そこで、第１３変形例では、制御部１５は、以下の処理を行う。
【０１１５】
制御部１５は、制限開始条件が満たされた場合には、指示位置上に選択の対象となるオブジェクトが存在するか否かを判定する。ここで、選択の対象となるオブジェクトは、ユーザによる選択操作が可能なオブジェクトである。このようなオブジェクトとしては、例えば、各種ボタン（ラジオボタン含む）、テキストボックス、シークバー、チェックボックス、ドラッグ可能なオブジェクト、電子ブック等のページめくり部分等が挙げられる。もちろん、ユーザによる選択操作が可能なオブジェクトはこれらの例に限られない。
【０１１６】
そして、制御部１５は、指示位置上に選択の対象となるオブジェクトが存在すると判定した場合には、指示位置を固定する。すなわち、制御部１５は、基本処理と同様の処理を行う。一方、制御部１５は、指示位置上に選択の対象となるオブジェクトが存在しないと判定した場合には、指示位置を固定する代わりに、その旨を表示する制御を行う。例えば、制御部１５は、カーソルが消失するアニメーションを表示する。より具体的には、制御部１５は、カーソルを大きくした後に消失させてもよい。また、制御部１５は、カーソルを拡大しつつ色を薄くし、その後カーソルを消失させてもよい。また、制御部１５は、カーソルを煙のように表示し、その後消失させてもよい。もちろん、アニメーションはこれらの例に限られない。したがって、制御部１５は、指示位置上に選択の対象となるオブジェクトが存在しないことをユーザに通知する。また、第１１変形例と同様に、指示位置上に選択の対象となるオブジェクトが存在しないことを音や振動等によってユーザに通知しても良い。また、制御部１５は、指示位置上に選択の対象となるオブジェクトが存在しない場合であっても、指示位置を固定してもよい。この場合、制御部１５は、アクション開始条件が満たされた後に、上述した処理を行えばよい。
【０１１７】
なお、上述した基本処理及び変形例は任意に組み合わせて使用されてもよい。例えば、情報処理装置１０をウェアラブルデバイスとし、ポインティング操作などを行う操作体をまぶた等としてもよい（第１変形例＋第２変形例）。
【０１１８】
また、制御部１５は、指先画像の軌道を固定しつつ、指示位置をオブジェクト内に固定してもよい（第３変形例＋第５変形例）。また、指示位置がオブジェクト上に存在するか、またはオブジェクトから所定の吸収範囲内に存在する場合に、指示位置をオブジェクト内に固定してもよい（第５変形例〜第８変形例の組み合わせ）。
【０１１９】
また、制御部１５は、仮指示位置の移動量が所定の制限解除用移動量より大きくなるか、または、判定用距離が所定の制限解除用閾値より大きくなる場合に、指示位置の動きの制限を解除してもよい（基本処理＋第９変形例）。
【０１２０】
また、制御部１５は、仮指示位置の移動速度が所定の制限解除用速度より大きくなるか、または、判定用距離が所定の制限解除用閾値より大きくなる場合に、指示位置の動きの制限を解除してもよい（基本処理＋第１０変形例）。
【０１２１】
また、制御部１５は、ピンチイン操作の速度が所定速度以上になるか、または、判定用距離が制限開始用閾値未満になる場合に、指示位置の動きを制限してもよい（基本処理＋第４変形例）。
【０１２２】
また、制御部１５は、指示位置の状態及び各条件の達成度に基づいて、指示位置の表示態様を変更してもよい（第１１変形例＋第１２変形例）。例えば、制御部１５は、指示位置の状態に応じてカーソルの色等を変更する一方で、達成度を示す枠画像をカーソル内に表示してもよい。
【０１２３】
また、制御部１５は、ピンチイン操作の速度が所定速度以上になった場合に、指示位置上に選択の対象となるオブジェクトが存在するか否かを判定してもよい。そして、制御部１５は、当該オブジェクトが存在しない場合には、その旨を表示する制御を行っても良い（第４変形例＋第１３変形例）。
【０１２４】
＜１７．適用分野＞
本実施形態に係る情報処理装置１０の適用分野は特に問われないが、自動車、医療、及び農業の分野に適用してもよい。
【０１２５】
情報処理装置１０を自動車に適用する場合、例えば情報処理装置はヘッドアップディスプレイであってもよい。この場合、自動車のフロントウインドウ上に表示領域Ｘが規定される。フロントウインドウに表示されるオブジェクトは自動車に関連するものであればよいが、例えば、自動車の駆動内容を指示するためのオブジェクトであってもよい。このようなオブジェクトとしては、例えば、トラクションコントロールを変更するためのオブジェクト（４ＷＤまたは２ＷＤを選択するボタン等）等が挙げられる。自動車の乗員は、上述したジェスチャ操作（すなわち、ポインティング操作、ピンチイン操作及びピンチアウト操作）を行うことで、所望のオブジェクトを選択してもよい。また、情報処理装置１０は、カーナビゲーション装置であってもよい。この場合、自動車の乗員は、上述したジェスチャ操作を行うことで、情報処理装置１０に表示されたオブジェクト（例えば、地図情報中の目的地等）を選択してもよい。
【０１２６】
情報処理装置１０を医療に適用する場合、情報処理装置１０は、例えば、手術室に設置されてもよい。この場合、情報処理装置１０は、手術に関するオブジェクトを表示する。このようなオブジェクトとしては、例えば、内視鏡等で観察した患者の内臓画像等が挙げられる。執刀医は、情報処理装置１０に表示されたオブジェクトから、例えば施術の対象となる箇所を選択する。執刀医は、施術には、情報処理装置１０等に直接触れることができないが、ジェスチャ操作により所望のオブジェクトを選択することができる。なお、情報処理装置１０のサイズは特に問われず、大型のものであっても、小型のものであっても良い。
【０１２７】
情報処理装置１０は、手術、投薬等を自動で行う医療ロボットの制御装置として使用されてもよい。この場合、情報処理装置１０には、例えば、患者の現在の外観（例えば、開腹した状態）を示す画像等がオブジェクトとして表示される。そして、執刀医は、情報処理装置１０に表示されたオブジェクトから、例えば施術の対象となる箇所を選択する。医療ロボットは、執刀医が選択した箇所に所望の施術を行う。
【０１２８】
情報処理装置１０を農業に適用する場合、情報処理装置１０は、例えば、農場の管理に用いられても良い。すなわち、情報処理装置１０は、オブジェクトとして、農場を上空から観察した映像を表示する。そして、農場の管理者は、農場の一部を選択する。その後、農場の従業員、あるいは農場の自動管理装置は、選択された位置に対して所望の処置（例えば、農薬の散布）等を行う。
【０１２９】
もちろん、上記はあくまで一例であり、様々な分野、用途に情報処理装置１０を使用してもよい。
【０１３０】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１３１】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１３２】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
複数の操作体の位置に基づいて、表示領域内の位置を特定するための指示位置を決定する制御部を備え、
前記制御部は、前記操作体の状態に基づいて、前記操作体の動きに対する前記指示位置の動きを制限する、情報処理装置。
（２）
前記制御部は、前記指示位置に基づいて、前記表示領域内にカーソルを表示する制御を行う、前記（１）記載の情報処理装置。
（３）
前記制御部は、前記指示位置の動きを制限する場合には、前記指示位置の動きを制限することを前記複数の操作体を操作するユーザに通知する制御を行う、前記（２）記載の情報処理装置。
（４）
前記制御部は、前記複数の操作体に含まれる、第１の操作体と第２の操作体とが第１の距離よりも近づいたと判定されることに基づいて、前記指示位置の動きを制限する、前記（２）または（３）に記載の情報処理装置。
（５）
前記制御部は、前記第１の操作体と前記第２の操作体との距離に応じた表示態様で前記カーソルを表示する制御を行う、前記（４）記載の情報処理装置。
（６）
前記制御部は、前記複数の操作体の表示位置に操作体画像を表示する制御を行う一方、前記指示位置の動きを制限している際に、前記カーソルを通る直線上に操作体画像を表示する制御を行う、前記（４）または（５）に記載の情報処理装置。
（７）
前記制御部は、前記指示位置の動きを制限している際に、前記第１の操作体と前記第２の操作体との距離が第２の距離よりも遠ざかったと判定されることに基づいて、前記制限を解除する、前記（４）〜（６）の何れか１項に記載の情報処理装置。
（８）
前記第２の距離は、前記第１の距離よりも大きい、前記（７）に記載の情報処理装置。
（９）
前記制御部は、前記第１の操作体と前記第２の操作体との距離が第３の距離よりも近づいたと判定されることに基づいて、前記表示領域内の指示位置に基づくアクションを行う、前記（４）〜（８）の何れか１項に記載の情報処理装置。
（１０）
前記第１の距離は、前記第３の距離よりも大きい、前記（９）に記載の情報処理装置。
（１１）
前記第１の操作体は、ユーザの親指であり、
前記第２の操作体は、該親指と同じ手の人差し指または中指である、前記（１０）に記載の情報処理装置。
（１２）
前記制御部は、前記指示位置の動きを制限する場合には、前記指示位置の動きを制限しない場合の表示態様と異なる表示態様で前記カーソルを表示する制御を行う、前記（２）〜（１１）の何れか１項に記載の情報処理装置。
（１３）
前記制御部は、前記表示領域内の指示位置に基づくアクションを行う一方で、前記指示位置の動きを制限する場合には、前記アクションを行う場合の表示態様と異なる表示態様で前記カーソルを表示する制御を行う、前記（２）〜（１２）の何れか１項に記載の情報処理装置。
（１４）
前記制御部は、前記表示領域内のオブジェクトから所定の吸収範囲内に存在する前記指示位置の動きを制限する場合には、前記指示位置を前記オブジェクト内に移動させ、かつ、前記オブジェクトをハイライト表示する制御を行う、前記（２）〜（１３）の何れか１項に記載の情報処理装置。
（１５）
前記制御部は、前記指示位置の動きを制限する場合には、前記制限を行わない場合の前記指示位置を仮指示位置として特定し、前記制限を解除した後に、前記仮指示位置を新たな指示位置とし、前記カーソルを新たな指示位置に連続的に移動させる制御を行う、前記（２）〜（１４）の何れか１項に記載の情報処理装置。
（１６）
前記制御部は、前記仮指示位置が前記表示領域内のオブジェクトから所定の吸収範囲内に存在する場合には、前記指示位置の動きの制限を維持したまま、前記指示位置を前記オブジェクト内に移動させ、かつ、前記オブジェクトをハイライト表示する、前記（１５）記載の情報処理装置。
（１７）
前記制御部は、前記表示領域内の指示位置に基づくアクションを行う一方で、前記指示位置に前記アクションの対象となるオブジェクトが存在しない場合には、前記指示位置に前記アクションの対象となるオブジェクトが存在しないことを前記複数の操作体を操作するユーザに通知する、前記（２）〜（１６）の何れか１項に記載の情報処理装置。
（１８）
制御部が、複数の操作体の位置に基づいて、表示領域内の位置を特定するための指示位置を決定し、前記操作体の状態に基づいて、前記操作体の動きに対する前記指示位置の動きを制限することを含む、情報処理方法。
（１９）
コンピュータに、複数の操作体の位置に基づいて、表示領域内の位置を特定するための指示位置を決定する制御機能を実現させ、
前記制御機能は、前記操作体の状態に基づいて、前記操作体の動きに対する前記指示位置の動きを制限する、プログラム。
【符号の説明】
【０１３３】
１０      情報処理装置
１１      検知部
１２      操作体動作認識部
１３      表示制御部
１４      表示部
１５      制御部
Ａ        カーソル
ａ        指示位置
ａ１      仮指示位置
Ｂ１〜Ｂ３  指先画像
ｂ１〜ｂ３  表示位置
５０、５１  オブジェクト
【図１】
2017068569.tif 000003
【図２】
2017068569.tif 000004
【図３】
2017068569.tif 000005
【図４】
2017068569.tif 000006
【図５】
2017068569.tif 000007
【図６】
2017068569.tif 000008
【図７】
2017068569.tif 000009
【図８】
2017068569.tif 000010
【図９】
2017068569.tif 000011
【図１０】
2017068569.tif 000012
【図１１】
2017068569.tif 000013
【図１２】
2017068569.tif 000014
【図１３】
2017068569.tif 000015
【図１４】
2017068569.tif 000016
【図１５】
2017068569.tif 000017
【図１６】
2017068569.tif 000018
【図１７】
2017068569.tif 000019
【図１８】
2017068569.tif 000020
【図１９】
2017068569.tif 000021
【図２０】
2017068569.tif 000022
【図２１】
2017068569.tif 000023
【図２２】
2017068569.tif 000024