(57)【要約】【課題】操作体によるジェスチャをより高精度に認識することが可能な技術が提供されることが望まれる。【解決手段】操作体を時間軸に沿ってセンシングして得られたデータに基づいて、前記操作体の第１の点に対する前記操作体の第２の点の相対速度を算出する相対速度算出部と、前記相対速度に基づいて、前記操作体のジェスチャを認識するジェスチャ認識部と、を備える、情報処理装置が提供される。【選択図】図２
2020086939.tif 000002
【特許請求の範囲】
【請求項１】
操作体を時間軸に沿ってセンシングして得られたデータに基づいて、前記操作体の第１の点に対する前記操作体の第２の点の相対速度を算出する相対速度算出部と、
前記相対速度に基づいて、前記操作体のジェスチャを認識するジェスチャ認識部と、
を備える、情報処理装置。
【請求項２】
前記情報処理装置は、
前記ジェスチャに対応するコマンドを決定するコマンド決定部を備える、
請求項１に記載の情報処理装置。
【請求項３】
前記データは、前記操作体を時間軸に沿ってセンシングして得られた２次元データまたは３次元データである、
請求項１に記載の情報処理装置。
【請求項４】
前記情報処理装置は、モードを選択するモード選択部を備え、
前記相対速度算出部は、前記データに基づいて、前記モードに応じた前記相対速度を算出する、
請求項１に記載の情報処理装置。
【請求項５】
前記ジェスチャ認識部は、前記相対速度が閾値を上回る場合に、第１のジェスチャを認識し、前記相対速度が前記閾値を下回る場合に、前記第１のジェスチャとは異なる第２のジェスチャを認識する、
請求項１に記載の情報処理装置。
【請求項６】
前記第１の点は、掌における所定の点であり、
前記第２の点は、指先である、
請求項５に記載の情報処理装置。
【請求項７】
前記ジェスチャ認識部は、前記相対速度が前記閾値を上回る場合に、前記第１のジェスチャとしてオブジェクトに対する前記指先でのタッチを認識する、
請求項６に記載の情報処理装置。
【請求項８】
前記指先でのタッチに対応するコマンドは、前記オブジェクトに対応する音を出力するコマンド、または、前記オブジェクトを選択するコマンドを含む、
請求項７に記載の情報処理装置。
【請求項９】
前記ジェスチャ認識部は、前記相対速度が前記閾値を下回る場合に、前記第２のジェスチャとして前記オブジェクトに対する掌でのタッチを認識する、
請求項８に記載の情報処理装置。
【請求項１０】
前記掌でのタッチに対応するコマンドは、前記オブジェクトを移動させるコマンドを含む、
請求項９に記載の情報処理装置。
【請求項１１】
前記第１の点は、手首または肘における所定の点であり、
前記第２の点は、掌における所定の点である、
請求項５に記載の情報処理装置。
【請求項１２】
前記ジェスチャ認識部は、前記相対速度が前記閾値を上回る場合に、前記第１のジェスチャとして手首を支点として手を振るジェスチャを認識し、前記相対速度が前記閾値を下回る場合に、前記第２のジェスチャとして肘または肩を支点として手を振るジェスチャを認識する、
請求項１１に記載の情報処理装置。
【請求項１３】
前記手首を支点として手を振るジェスチャに対応するコマンドは、オブジェクトを撫でるコマンドを含み、前記肘または肩を支点として手を振るジェスチャに対応するコマンドは、前記オブジェクトを移動させるコマンドを含む、
請求項１２に記載の情報処理装置。
【請求項１４】
前記第１の点は、指の関節点であり、
前記第２の点は、指先である、
請求項５に記載の情報処理装置。
【請求項１５】
前記ジェスチャ認識部は、前記相対速度が前記閾値を上回る場合に、前記第１のジェスチャとして指の付け根を支点として指先を動かすジェスチャを認識し、前記相対速度が前記閾値を下回る場合に、前記第２のジェスチャとして指の関節点を支点として指先を動かすジェスチャを認識する、
請求項１４に記載の情報処理装置。
【請求項１６】
前記指の付け根を支点として指先を動かすジェスチャに対応するコマンドは、オブジェクトを選択するコマンドを含み、前記指の関節点を支点として指先を動かすジェスチャに対応するコマンドは、オブジェクトを移動させるコマンドを含む、
請求項１５に記載の情報処理装置。
【請求項１７】
前記第１の点は、肩における所定の点であり、
前記第２の点は、拳における所定の点である、
請求項５に記載の情報処理装置。
【請求項１８】
前記ジェスチャ認識部は、前記相対速度が前記閾値を上回る場合に、前記第１のジェスチャとして第１の種別のパンチを認識し、前記相対速度が前記閾値を下回る場合に、前記第２のジェスチャとして第２の種別のパンチを認識する、
請求項１７に記載の情報処理装置。
【請求項１９】
操作体を時間軸に沿ってセンシングして得られたデータに基づいて、前記操作体の第１の点に対する前記操作体の第２の点の相対速度を算出することと、
プロセッサが、前記相対速度に基づいて、前記操作体のジェスチャを認識することと、
を含む、情報処理方法。
【請求項２０】
コンピュータを、
操作体を時間軸に沿ってセンシングして得られたデータに基づいて、前記操作体の第１の点に対する前記操作体の第２の点の相対速度を算出する相対速度算出部と、
前記相対速度に基づいて、前記操作体のジェスチャを認識するジェスチャ認識部と、
を備える情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、操作対象のオブジェクトに複数のコマンドが関連付けられている場合に、操作体の動きに基づいて、オブジェクトに関連付けられた複数のコマンドから実行するコマンドを決定する技術が知られている。例えば、操作体の移動速度（絶対速度）に基づいて、オブジェクトに関連付けられた複数のコマンドから実行するコマンドを決定する技術が開示されている（例えば、特許文献１など）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−５８８８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、操作体によるジェスチャをより高精度に認識することが可能な技術が提供されることが望まれる。
【課題を解決するための手段】
【０００５】
本開示によれば、操作体を時間軸に沿ってセンシングして得られたデータに基づいて、前記操作体の第１の点に対する前記操作体の第２の点の相対速度を算出する相対速度算出部と、前記相対速度に基づいて、前記操作体のジェスチャを認識するジェスチャ認識部と、を備える、情報処理装置が提供される。
【０００６】
本開示によれば、操作体を時間軸に沿ってセンシングして得られたデータに基づいて、前記操作体の第１の点に対する前記操作体の第２の点の相対速度を算出することと、プロセッサが、前記相対速度に基づいて、前記操作体のジェスチャを認識することと、を含む、情報処理方法が提供される。
【０００７】
本開示によれば、コンピュータを、操作体を時間軸に沿ってセンシングして得られたデータに基づいて、前記操作体の第１の点に対する前記操作体の第２の点の相対速度を算出する相対速度算出部と、前記相対速度に基づいて、前記操作体のジェスチャを認識するジェスチャ認識部と、を備える情報処理装置として機能させるためのプログラムが提供される。
【図面の簡単な説明】
【０００８】
【図１】公知の技術の改善すべき点について説明するための図である。
【図２】本開示の第１の実施形態に係る情報処理システムの機能構成例を示す図である。
【図３】同実施形態に係る情報処理システムの形態の第１の例を示す説明図である。
【図４】同実施形態に係る情報処理システムの形態の第２の例を示す説明図である。
【図５】同実施形態に係る情報処理システムの形態の第３の例を示す説明図である。
【図６】同実施形態に係る情報処理システムの形態の第４の例を示す説明図である。
【図７】３次元位置推定部によって３次元位置が推定されるユーザの身体の各点の例を示す図である。
【図８】３次元位置推定部によって３次元位置が推定されるユーザの身体の各点の例を示す図である。
【図９】３次元位置推定部によって３次元位置が推定されるユーザの身体の各点の例を示す図である。
【図１０】３次元位置推定手法の概要を説明するための図である。
【図１１】３次元位置推定手法の例について説明する。
【図１２】３次元位置推定手法の例について説明する。
【図１３】３次元位置推定手法の例について説明する。
【図１４】本開示の第１の実施形態に係るジェスチャ認識について説明するための図である。
【図１５】同実施形態に係る情報処理システムの動作例を示すフローチャートである。
【図１６】本開示の第２、４〜７の実施形態に係る情報処理システムの機能構成例を示す図である。
【図１７】同実施形態に係る情報処理システムの機能について説明するための図である。
【図１８】同実施形態に係る情報処理システムの動作例を示すフローチャートである。
【図１９】本開示の第３の実施形態に係る情報処理システムの機能構成例を示す図である。
【図２０】同実施形態に係る情報処理システムの動作例を示すフローチャートである。
【図２１】同実施形態に係る情報処理システムの機能について説明するための図である。
【図２２】同実施形態に係る情報処理システムの機能について説明するための図である。
【図２３】同実施形態に係る情報処理システムの動作例を示すフローチャートである。
【図２４】本開示の第５の実施形態に係る情報処理システムの機能について説明するための図である。
【図２５】同実施形態に係る情報処理システムの機能について説明するための図である。
【図２６】同実施形態に係る情報処理システムの動作例を示すフローチャートである。
【図２７】同実施形態に係る情報処理システムの機能について説明するための図である。
【図２８】同実施形態に係る情報処理システムの機能について説明するための図である。
【図２９】同実施形態に係る情報処理システムの動作例を示すフローチャートである。
【図３０】同実施形態に係る情報処理システムの機能について説明するための図である。
【図３１】同実施形態に係る情報処理システムの機能について説明するための図である。
【図３２】同実施形態に係る情報処理システムの動作例を示すフローチャートである。
【図３３】情報処理システムのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１０】
また、本明細書および図面において、実質的に同一または類似の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一または類似の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、類似する構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
【００１１】
なお、説明は以下の順序で行うものとする。
０．概要
１．第１の実施形態
１．１．情報処理システムの構成例
１．２．情報処理装置の構成例
１．３．情報処理システムの動作例
２．第２の実施形態
２．１．情報処理システムの構成例
２．２．情報処理システムの動作例
３．第３の実施形態
３．１．情報処理システムの構成例
３．２．情報処理システムの動作例
４．第４の実施形態
４．１．情報処理システムの構成例
４．２．情報処理システムの動作例
５．第５の実施形態
５．１．情報処理システムの構成例
５．２．情報処理システムの動作例
６．第６の実施形態
６．１．情報処理システムの構成例
６．２．情報処理システムの動作例
７．第７の実施形態
７．１．情報処理システムの構成例
７．２．情報処理システムの動作例
８．ハードウェア構成例
９．むすび
【００１２】
＜０．概要＞
近年、操作対象のオブジェクトに複数のコマンドが関連付けられている場合に、操作体の動きに基づいて、オブジェクトに関連付けられた複数のコマンドから実行するコマンドを決定する技術が知られている。例えば、操作体の移動速度（絶対速度）に基づいて、オブジェクトに関連付けられた複数のコマンドから実行するコマンドを決定する技術が開示されている。以下、図１を参照しながら、かかる公知の技術の改善すべき点について説明する。
【００１３】
図１は、公知の技術の改善すべき点について説明するための図である。図１を参照すると、操作体ＯＰの例として、人差し指が示されている。また、公知の技術では、人指し指の指先の絶対速度に応じたコマンドが実行される。具体的には、操作対象のオブジェクトＯＢがピアノの鍵盤である場合、指先の絶対速度が閾値を上回る場合には、ピアノの音（以下、「ピアノ音」とも言う。）を出力するコマンドが実行される。一方、指先の絶対速度が閾値を下回る場合には、ピアノ音を出力するコマンドが実行されない。
【００１４】
ここで、図１に示されるように、ユーザがキー入力を行おうとし、入力キーを変更するために紙面の右方向に絶対速度Ｖ１で掌を移動させながら、キー入力を行うために掌に対する指先の相対速度Ｖ２で指先を下方向に移動させた場合を想定する。このとき、指先の絶対速度Ｖ１２は、掌の絶対速度Ｖ１と掌に対する指先の相対速度Ｖ２とが合成された速度になってしまう。すなわち、公知の技術では、入力キーの変更による速度成分も考慮してキー入力があったかが判定されてしまうため、キー入力（操作体によるジェスチャ）を高精度に認識することが困難である。
【００１５】
そこで、本明細書では、操作体の第１の点（以下、「基準点」とも言う。）に対する操作体の第２の点（以下、「操作点」とも言う。）の相対速度（図１に示された例では、掌に対する指先の相対速度Ｖ２）に基づいて、操作体によるジェスチャ（図１に示された例では、キー入力）を認識する技術を提案する。これによって、操作体によるジェスチャをより高精度に認識することが可能となる。なお、操作体の種類は、後にも説明するように人差し指に限定されず、他の指であってもよいし、ユーザの身体の指以外の部位であってもよいし、ユーザの身体以外であってもよい。
【００１６】
以上、本開示の実施形態の概要について説明した。
【００１７】
＜１．第１の実施形態＞
［１．１．情報処理システムの構成例］
続いて、図面を参照しながら、本開示の第１の実施形態に係る情報処理システムの構成例について説明する。図２は、本開示の第１の実施形態に係る情報処理システムの機能構成例を示す図である。図２に示されたように、情報処理システム１００は、入力部１２０と、出力部１３０とを備える。また、情報処理システム１００は、情報処理装置１４０（コンピュータ）を備え、情報処理装置１４０は、３次元位置推定部１２１、フレーム数判定部１２２、相対速度／相対位置算出部１２３、ジェスチャ認識部１２４、コマンド実行部１２５および記憶部１２８を備える。
【００１８】
入力部１２０は、入力装置を含んで構成され、操作体（より具体的には、操作体の一部または全部の形状、動きなど）を、時間軸に沿ってセンシングすることによってデータ（入力情報）を取得する。本開示の第１の実施形態では、入力部１２０は、ユーザの身体の形状、動きなどを入力情報の例として受け付ける。しかし、上記したように、操作体の種類は、ユーザの身体に限定されない。また、入力部１２０によって取得される入力情報は、２次元データであってもよいし、３次元データであってもよい。
【００１９】
具体的に、入力部１２０は、画像センサおよびデプスセンサを含んで構成されてよい。しかし、入力部１２０は、これらのセンサすべてを含んで構成されていなくてもよく、これらのセンサの少なくとも一つを含んで構成されていてもよい。あるいは、入力部１２０は、タッチセンサを含んでもよい。以下では、操作体の形状、動きなどが、画像センサによって取得される場合を主に想定する。しかし、これらの情報がどのセンサによって取得されるかは限定されない。
【００２０】
なお、画像センサとしては、可視光カメラが用いられてもよいし、赤外線カメラが用いられてもよい。デプスセンサとしては、ステレオカメラが用いられてもよいし、ＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）センサが用いられてもよいし、Ｓｔｒｕｃｔｕｒｅｄ  Ｌｉｇｈｔ方式による距離画像センサが用いられてもよい。タッチセンサは、上方または下方から撮影を行うカメラであってもよいし、投影面に敷かれたタッチパネルであってもよい。
【００２１】
出力部１３０は、出力装置を含んで構成され、コマンド実行部１２５によって実行されるコマンドに従って情報を出力する。以下では、出力部１３０がプロジェクタを含んで構成され、プロジェクタが投影面に情報を投影することによって情報を出力する場合を主に想定する。しかし、出力部１３０は、プロジェクタを含む場合に限定されない。例えば、出力部１３０は、タッチパネル式のディスプレイであってもよいし、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどであってもよい。
【００２２】
出力部１３０によって情報が出力される面は、表示面に相当し得る。特に、出力装置としてプロジェクタが使用される場合には、表示面はプロジェクタによって情報が投影される投影面（例えば、テーブル面）に相当し得る。以下の説明においては、表示面として投影面が用いられる場合を主に想定するが、表示面は投影面に限定されない。また、プロジェクタによって情報が投影される領域は、テーブル面に限定されない。例えば、プロジェクタによって情報が投影される領域は、床面であってもよいし、壁面であってもよいし、物体などであってもよい。
【００２３】
情報処理装置１４０の詳細については後に詳細に説明する。ここで、本開示の第１の実施形態に係る情報処理システム１００は、様々な形態をとり得る。以下では、本開示の第１の実施形態に係る情報処理システム１００の形態の例として、第１の例から第４の例までを説明する。しかし、本開示の第１の実施形態に係る情報処理システム１００の形態は、第１の例から第４の例までのいずれかに限定されない。
【００２４】
図３は、本開示の第１の実施形態に係る情報処理システム１００の形態の第１の例を示す説明図である。図３に示されたように、第１の例としての情報処理システム１００ａは、入力部１２０ａと出力部１３０ａとを含んで構成される。情報処理システム１００ａは、テーブル１１０ａの天面に情報を表示し、テーブル１１０ａに表示した情報に対してユーザに操作をさせる。このように、テーブル１１０ａの天面に情報を表示する方式を「プロジェクション型」とも称する。
【００２５】
入力部１２０ａは、ユーザによる操作や、テーブル１１０ａに置かれている物体の形状や模様などを入力情報として受け付ける。図３に示された例では、入力部１２０ａが、テーブル１１０ａの上方に、天井から吊り下げられた状態で設けられている。このように、テーブル１１０ａの上方から情報を出力部１３０ａによって照射し、テーブル１１０ａの天面に情報を表示する方式を「上方プロジェクション型」とも称する。入力部１２０ａとしては、１つのレンズでテーブル１１０ａを撮像するカメラが用いられてもよいし、２つのレンズでテーブル１１０ａを撮像して奥行き方向の情報を記録することが可能なステレオカメラが用いられてもよいし、ユーザが発する音声や環境音を収音するためのマイクロフォンが用いられてもよい。
【００２６】
入力部１２０ａとして、１つのレンズでテーブル１１０ａを撮像するカメラが用いられる場合、情報処理システム１００ａは、そのカメラが撮像した画像を解析することによって、テーブル１１０ａに置かれた物体を認識することができる。また、入力部１２０ａとしてステレオカメラが用いられる場合、情報処理システム１００ａは、ステレオカメラによって取得された深度情報に基づいて、テーブル１１０ａの上に置かれた物体（手など）の認識が可能になる。また、情報処理システム１００ａは、深度情報に基づいて、テーブル１１０ａへのユーザの手の接触やテーブル１１０ａからの手の離脱の認識が可能である。
【００２７】
また、入力部１２０ａとしてマイクロフォンが用いられる場合、そのマイクロフォンは特定の方向の音声を収音するためのマイクロフォンアレイが用いられ得る。入力部１２０ａとしてマイクロフォンアレイが用いられる場合、情報処理システム１００ａは、マイクロフォンアレイの収音方向を任意の方向に調整してもよい。
【００２８】
出力部１３０ａは、入力情報に応じて、テーブル１１０ａに情報を表示したり、音声を出力したりする。出力部１３０ａとしては、プロジェクタやスピーカ等が用いられ得る。図３に示された例では、出力部１３０ａは、テーブル１１０ａの上方に、天井から吊り下げられた状態で設けられている。出力部１３０ａがプロジェクタで構成される場合、出力部１３０ａは、テーブル１１０ａの天面に情報を投影する。出力部１３０ａがスピーカで構成される場合、出力部１３０ａは、音声信号に基づいて音声を出力する。このとき、スピーカの数は１つであってもよく、複数であってもよい。出力部１３０ａが複数のスピーカで構成される場合、情報処理システム１００ａは、音声を出力するスピーカを限定したり、音声を出力する方向を調整したりしてもよい。
【００２９】
また、本開示の第１の実施形態に係る情報処理システム１００が、図３に示されたようなプロジェクション型の情報処理システム１００ａである場合、出力部１３０ａには、照明機器が含まれていてもよい。出力部１３０ａに照明機器が含まれる場合、情報処理システム１００ａは、入力部１２０ａによって受け付けられた入力情報の内容に基づいて、照明機器の点灯、消灯等の状態を制御してもよい。また、本開示の第１の実施形態に係る情報処理システム１００が、図３に示されたような上方プロジェクション型の情報処理システム１００ａである場合、テーブル１１０ａだけではなく、テーブル１１０ａの上に置かれた物体にも情報を表示することも可能である。
【００３０】
ユーザは、出力部１３０ａがテーブル１１０ａに表示する情報に対して、指などによって各種の操作を行うことができる。また、ユーザは、テーブル１１０ａに物体を置き、入力部１２０ａに物体を認識させることによって、情報処理システム１００ａに、その物体に関する種々の処理を実行させることが可能である。
【００３１】
図４は、本開示の第１の実施形態に係る情報処理システム１００の形態の第２の例を示す説明図である。図４に示されたように、第２の例としての情報処理システム１００ｂは、出力部１３０ａによってテーブル１１０ｂの下方から情報を照射することによって、テーブル１１０ｂの天面に情報を表示する。テーブル１１０ｂの天面は、ガラス板やプラスチック板等の半透明な材質によって形成される半透過スクリーンであってよい。このように、テーブル１１０ｂの下方から情報を出力部１３０ａによって照射し、テーブル１１０ｂの天面に情報を表示する方式を「リアプロジェクション型」とも称する。
【００３２】
なお、図４に示された例では、テーブル１１０ｂの表面に入力部１２０ｂが設けられる構成が示されている。しかし、入力部１２０ｂが設けられる位置は限定されない。例えば、図４に示された情報処理システム１００ａと同様に、入力部１２０ｂは、テーブル１１０ｂの下方にテーブル１１０ｂとは離隔して設けられてもよい。
【００３３】
図５は、本開示の第１の実施形態に係る情報処理システム１００の形態の第３の例を示す説明図である。図５に示されたように、第３の例としての情報処理システム１００ｃは、タッチパネル式のディスプレイがテーブル上に置かれて構成される。このように、テーブル上に置かれたタッチパネル式のディスプレイによって情報を表示する方式を「平置きディスプレイ型」とも称する。入力部１２０ｃおよび出力部１３０ｃは、タッチパネル式のディスプレイとして構成され得る。図５に示された情報処理システム１００ｃでは、図３に示された情報処理システム１００ａと同様に、タッチパネル式のディスプレイの上方に、ユーザの位置を検出するためのカメラが設けられてもよい。
【００３４】
図６は、本開示の第１の実施形態に係る情報処理システム１００の形態の第４の例を示す説明図である。図６に示されたように、第４の例としての情報処理システム１００ｄは、アイウェア型端末によって構成される。入力部１２０ｄは、ユーザの視野を撮像可能なカメラによって構成され、撮像によって得た画像を入力情報として受け付け得る。また、出力部１３０ｄは、入力情報に応じた情報をユーザの視野に提示するディスプレイとして構成され得る。例えば、出力部１３０ｄは、透過型のディスプレイによって構成され、ユーザは、出力部１３０ｄを通して外部環境を視認可能である。
【００３５】
なお、以下の説明では、本開示の第１の実施形態に係る情報処理システム１００の形態として、図３に示された第１の例が用いられる場合を主に想定する。すなわち、テーブル１１０ａの上方に、テーブル１１０ａ（情報の表示面）から離隔して、入力部１２０ａおよび出力部１３０ａが設けられる場合を主に想定する。そこで、以下の説明では、情報処理システム１００ａ、入力部１２０ａおよび出力部１３０ａを、単に、情報処理システム１００、入力部１２０および出力部１３０としても称する。しかし、上記したように、本開示の第１の実施形態に係る情報処理システム１００の形態は、限定されない。
【００３６】
以上、本開示の第１の実施形態に係る情報処理システム１００の構成例について説明した。
【００３７】
［１．２．情報処理装置の構成例］
図２に戻って説明を続ける。続いて、情報処理装置１４０の構成例について説明する。情報処理装置１４０は、３次元位置推定部１２１、フレーム数判定部１２２、相対速度／相対位置算出部１２３、ジェスチャ認識部１２４およびコマンド実行部１２５を備える。これらのブロックは、例えば、１または複数のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などといった処理装置によって構成される。これらのブロックが、ＣＰＵなどといった処理装置によって構成される場合、かかる処理装置は電子回路によって構成されてよい。
【００３８】
３次元位置推定部１２１は、入力部１２０によって取得された入力情報に基づいて、操作体の各点の例として、ユーザの身体の各点の３次元位置を推定する。ユーザの身体の各点は、ユーザの手の各点（例えば、指における所定の点、掌における所定の点など）、手首における所定の点（例えば、手首位置）、肘における所定の点（例えば、肘関節位置）などを含み得る。以下、３次元位置推定部１２１によって推定されるユーザの身体の各点の例として、ユーザの手の各点、手首位置および肘関節位置について説明する。しかし、ユーザの身体の各点は、肩における所定の点（例えば、肩関節位置）なども含み得る。
【００３９】
なお、以下の説明では、特に断りがない限り、操作体の例として用いられる「指」は人さし指を意味する。しかし、操作体の例として用いられる「指」は、人さし指以外の指であってもよい。また、特に断りがない限り、親指の関節は、親指の先端から二つ目の関節（親指の付け根）を意味し、親指以外の指（すなわち、人さし指、中指、薬指および小指）の関節は、当該指の先端から二つ目の関節を意味する。しかし、親指の関節は、親指の先端から一つ目の関節を意味してもよく、親指以外の関節は、指の先端から一つ目の関節を意味してもよいし、指の先端から三つ目の関節（指の付け根）を意味してもよい。
【００４０】
図７〜図９は、３次元位置推定部１２１によって３次元位置が推定されるユーザの身体の各点の例を示す図である。図７〜図９を参照すると、ユーザの身体の各点の例として、小指の先端位置Ｐ１、小指の関節位置Ｐ２、薬指の先端位置Ｐ３、薬指の関節位置Ｐ４、中指の先端位置Ｐ５、中指の関節位置Ｐ６、人さし指の先端位置Ｐ７、人さし指の関節位置Ｐ８、親指の先端位置Ｐ９、親指の先端から一つ目の関節位置Ｐ１０、親指の先端から二つ目の関節位置Ｐ１１、手首位置（小指側）Ｐ１２、手首位置（親指側）Ｐ１３、手の中心位置Ｐ１４、肘関節位置Ｐ１５、上腕の付け根位置Ｐ１６が示されている。
【００４１】
本開示の第１の実施形態においては、３次元位置推定部１２１によって位置Ｐ１〜Ｐ１６すべてが原則として取得される場合を主に想定する。しかし、３次元位置推定部１２１によって、位置Ｐ１〜Ｐ１６の一部のみが取得されてもよい。また、入力部１２０とユーザとの位置関係によっては、位置Ｐ１〜Ｐ１６の一部が取得されない場合なども想定される。例えば、上腕の付け根位置Ｐ１６が直接取得されない場合もあり得る。かかる場合であっても、肘関節位置Ｐ１５と上腕の付け根位置Ｐ１６との間のいずれかの位置が取得されれば、当該位置を上腕の付け根位置Ｐ１６の代わりに用いることが可能である。
【００４２】
なお、手の中心位置Ｐ１４は、５本の指それぞれの付け根と手首との間（すなわち、掌）における所定の位置であれば特に限定されない。例えば、手の中心位置Ｐ１４は、複数点の重心位置であってもよい。また、手首位置（小指側）Ｐ１２は、手首位置として得られる２つの位置のうち、より親指に近い位置であればよく、手首位置（親指側）Ｐ１３は、手首位置として得られる２つの位置のうち、より小指に近い位置であればよい。手首位置（小指側）Ｐ１２および手首位置（親指側）Ｐ１３それぞれも、各位置の検出アルゴリズムなどに応じて適宜に変更されてよい。
【００４３】
次に、３次元位置推定部１２１により行われる３次元位置推定手法について説明する。図１０は、３次元位置推定手法の概要を説明するための図である。ここでは、手の各点の３次元位置が推定される場合について主に説明する。しかし、上記したように、手の各点以外の３次元位置も推定され得る。例えば、入力部１２０によって、手でコーヒーカップを掴む画像（画像ＩＭ１）が取得された場合を想定する。このとき、３次元位置推定部１２１によって、画像ＩＭ１に基づいて、特徴量が算出される。特徴量としては、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）に基づく特徴量、ＨＯＧ（Ｈｉｓｔｏｇｒａｍｓ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ）特徴量、ＳＩＦＴ（Ｓｃａｌｅ  Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）に基づく特徴量を挙げることができる。
【００４４】
次に、図１１〜図１３を参照して、３次元位置推定手法の例について説明する。図１１に示すグラフの横軸は、入力画像の例を示している。図１１に示す例では、３個の入力画像ＩＭ５、ＩＭ６及びＩＭ７が示されている。図１１に示すグラフの縦軸は、入力画像に対応する手の特徴点の座標（位置）である。座標は、（ｘｔ，ｙｔ，ｚｔ）（但し、ｔはフレーム番号）として示されている。また、例えば、ｘｔは、ｘｔ＝（ｘt0，ｘt1・・・ｘtn）（但し、ｎは特徴点の点数）で表される。即ち、ｘｔは、各特徴点のｘ座標の集合を示している。各特徴点のｙｔ，ｚｔについても同様である。
【００４５】
３次元位置推定部１２１は、入力画像に対する手の特徴点の座標を所定のアルゴリズムを用いて学習することにより、図１２に示すように、入力画像と手の各点の座標との相関関係を求めることができる。アルゴリズムとしては、上述したＣＮＮ、ブースティング（Ｂｏｏｓｔｉｎｇ）、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）、Ｇｒａｐｈ  Ｃｕｔ等を適用することができる。なお、図１２に示す例では、入力画像と手の各点の座標との相関関係の例として、線形の相関関係が示されている。しかし、入力画像と手の各点の座標との相関関係は、他の相関関係（例えば、非線形など）であってもよい。
【００４６】
３次元位置推定部１２１は、入力画像と手の各点の座標との相関関係を求めた後、図１３に示すように、画像ＩＭ８が入力された場合には、当該相関関係に基づいて、画像ＩＭ８の手の座標位置を推定することができる。以上に説明した３次元位置推定手法を用いて、３次元位置推定部１２１によって、手の各点の位置が推定されるようにしてもよい。なお、ここでは入力画像に対する手の特徴点の座標が学習される場合を想定したが、学習前に入力画像から特徴量が抽出される場合には、特徴量に対する手の特徴点の座標が学習されてもよい。
【００４７】
図２に戻って説明を続ける。３次元位置推定部１２１は、推定した操作体の各点の３次元位置情報（上記では、ユーザの手の各点の３次元位置情報）を記憶部１２８に記憶させる。フレーム数判定部１２２は、所定のフレーム数に相当する３次元位置情報が３次元位置推定部１２１によって得られたか（すなわち、所定のフレーム数に相当する３次元位置情報が記憶部１２８に保存されたか）を判定する。所定のフレーム数は特に限定されず、２以上であればよい。
【００４８】
相対速度／相対位置算出部１２３は、フレーム数判定部１２２によって、所定のフレーム数に相当する３次元位置情報が得られたと判定されると、記憶部１２８によって記憶されている操作体の各点の３次元位置情報に基づいて、操作体の各点の絶対位置を算出する。そして、相対速度／相対位置算出部１２３は、操作体の各点の絶対位置に基づいて、操作体の基準点に対する操作体の操作点の相対位置を算出する。なお、本明細書においては、相対位置が３次元ベクトルである場合を主に想定する。しかし、相対位置は２次元ベクトルであってもよいし、スカラであってもよい。
【００４９】
あるいは、相対速度／相対位置算出部１２３は、操作体の各点の３次元位置の時間方向の変化に基づいて、各点の絶対速度を算出する。そして、相対速度／相対位置算出部１２３は、各点の絶対速度に基づいて、操作体の基準点に対する操作体の操作点の相対速度を算出する。具体的に、操作点の相対速度を「Ｖ（操作点の相対速度）」とし、操作点の絶対速度を「Ｖ（操作点の絶対速度）」とし、基準点の絶対速度を「Ｖ（基準点の絶対速度）」とすると、Ｖ（操作点の相対速度）は、Ｖ（操作点の絶対速度）とＶ（基準点の絶対速度）とに基づいて、以下の式（１）に示すように算出され得る。
【００５０】
Ｖ（操作点の相対速度）＝Ｖ（操作点の絶対速度）−Ｖ（基準点の絶対速度）…（１）
【００５１】
なお、本明細書においては、相対速度が３次元ベクトルである場合を主に想定する。しかし、相対位置は２次元ベクトルであってもよいし、スカラであってもよい。ジェスチャ認識部１２４は、相対速度／相対位置算出部１２３によって算出された操作体の基準点に対する操作点の相対位置または相対速度に基づいて、操作体のジェスチャを認識する。これによって、操作体によるジェスチャをより高精度に認識することが可能となる。
【００５２】
より具体的には、ジェスチャ認識部１２４は、基準点に対する操作点の相対位置または相対速度が閾値を上回る場合に、第１のジェスチャを認識する。一方、ジェスチャ認識部１２４は、基準点に対する操作点の相対位置または相対速度が閾値以下である場合に、第１のジェスチャとは異なる第２のジェスチャを認識する。なお、基準点に対する操作点の相対位置または相対速度が閾値と等しい場合には、第１のジェスチャが認識されてもよい。また、相対位置または相対速度がベクトル（２次元ベクトルまたは３次元ベクトル）である場合、閾値と比較される相対位置または相対速度は、ベクトルの長さに置き換えられればよい。
【００５３】
図１４は、本開示の第１の実施形態に係るジェスチャ認識について説明するための図である。図１４に示した例においても、図１に示した例と同様に、ユーザがキー入力を行おうとし、入力キーを変更するために紙面の右方向に絶対速度Ｖ１で掌を移動させながら、キー入力を行うために掌に対する指先の相対速度Ｖ２で指先を下方向に移動させた場合を想定する。このとき、図１に示した例と同様に、指先の絶対速度Ｖ１２は、掌の絶対速度Ｖ１と掌に対する指先の相対速度Ｖ２とが合成された速度になってしまう。しかし、本開示の第１の実施形態に係るジェスチャ認識では、入力キーの変更による速度成分が除外されてキー入力があったかが判定されるため、キー入力（操作体によるジェスチャ）を高精度に認識することが可能である。
【００５４】
なお、以下では、ジェスチャ認識部１２４が、操作体の基準点に対する操作点の相対速度に基づいて操作体のジェスチャを認識する場合を主に想定する。しかし、ジェスチャ認識部１２４は、操作体の基準点に対する操作点の相対位置および相対速度の少なくともいずれか一方に基づいて、操作体のジェスチャを認識すればよい。
【００５５】
コマンド実行部１２５は、ジェスチャ認識部１２４によって認識されたジェスチャに対応するコマンドを決定するコマンド決定部として機能し得る。また、コマンド実行部１２５は、決定したコマンドを実行する。ここで、コマンド実行部１２５によって実行されるコマンドの種類は限定されない。例えば、コマンド実行部１２５によって実行されるコマンドの種類は、情報処理装置１４０において実行されるアプリケーションに応じて適宜に変更されてよい。
【００５６】
以上、本開示の第１の実施形態に係る情報処理装置１４０の構成例について説明した。
【００５７】
［１．３．情報処理システムの動作例］
続いて、本開示の第１の実施形態に係る情報処理システム１００の動作例について説明する。図１５は、本開示の第１の実施形態に係る情報処理システム１００の動作例を示すフローチャートである。入力部１２０は、操作体の例としてのユーザの手を時間軸に沿ってセンシングすることによって画像を入力（取得）する（Ｓ１１）。３次元位置推定部１２１は、入力部１２０によって得られた画像に基づいて手の各点の３次元位置を推定する（Ｓ１２）。なお、３次元位置推定部１２１によって３次元位置が推定される各点は、上記したように、ユーザの手の各点に限定されない。
【００５８】
続いて、３次元位置推定部１２１は、手の３次元位置を記憶部１２８に保存する（Ｓ１３）。フレーム数判定部１２２は、指定フレーム数（所定のフレーム数）に相当する３次元位置情報が３次元位置推定部１２１によって得られたかを判定する（Ｓ１４）。フレーム数判定部１２２は、指定フレーム数（所定のフレーム数）に相当する３次元位置情報が３次元位置推定部１２１によって得られていない場合（Ｓ１４において「Ｎｏ」）、Ｓ１１に戻る。一方、フレーム数判定部１２２は、指定フレーム数（所定のフレーム数）に相当する３次元位置情報が３次元位置推定部１２１によって得られた場合（Ｓ１４において「Ｙｅｓ」）、Ｓ１５に動作を移行させる。
【００５９】
相対速度／相対位置算出部１２３は、記憶部１２８によって記憶されている手の各点の３次元位置情報に基づいて、手の各点の絶対位置を算出する。そして、相対速度／相対位置算出部１２３は、手の各点の絶対位置に基づいて、手の基準点に対する手の操作点の相対位置を算出する。あるいは、相対速度／相対位置算出部１２３は、手の各点の３次元位置の時間方向の変化に基づいて、各点の絶対速度を算出する。そして、相対速度／相対位置算出部１２３は、各点の絶対速度に基づいて、手の基準点に対する手の操作点の相対速度を算出する（Ｓ１５）。
【００６０】
続いて、ジェスチャ認識部１２４は、相対速度／相対位置算出部１２３によって算出された操作体の基準点に対する操作点の相対位置または相対速度に基づいて、手のジェスチャを認識する（Ｓ１６）。これによって、手によるジェスチャをより高精度に認識することが可能となる。より具体的には、ジェスチャ認識部１２４は、基準点に対する操作点の相対位置または相対速度が閾値を上回る場合に、第１のジェスチャを認識する。一方、ジェスチャ認識部１２４は、基準点に対する操作点の相対位置または相対速度が閾値以下である場合に、第１のジェスチャとは異なる第２のジェスチャを認識する。なお、操作体の基準点に対する操作点の相対位置または相対速度が閾値と等しい場合には、第１のジェスチャが認識されてもよい。
【００６１】
続いて、コマンド実行部１２５は、ジェスチャ認識部１２４によって認識されたジェスチャに対応するコマンドを決定する。そして、コマンド実行部１２５は、ジェスチャ認識部１２４によって認識されたジェスチャに対応するコマンドを実行する（Ｓ１７）。上記したように、コマンド実行部１２５によって実行されるコマンドの種類は、情報処理装置１４０において実行されるアプリケーションに応じて適宜に変更されてよい。
【００６２】
以上、本開示の第１の実施形態に係る情報処理システム１００の動作例について説明した。
【００６３】
＜２．第２の実施形態＞
［２．１．情報処理システムの構成例］
続いて、本開示の第２の実施形態に係る情報処理システムの構成例について説明する。図１６は、本開示の第２、４〜７の実施形態に係る情報処理システムの機能構成例を示す図である。
【００６４】
図１６に示されたように、本開示の第２の実施形態に係る情報処理システム１００Ａの情報処理装置１４０Ａは、本開示の第１の実施形態に係る情報処理システム１００の情報処理装置１４０と比較して、相対位置／相対速度算出部１２３、ジェスチャ認識部１２４、コマンド実行部１２５の代わりに、相対速度算出部１２３Ａ、ジェスチャ認識部１２４Ａ、コマンド実行部１２５Ａを備える点が異なっている。したがって、以下の説明では、相対速度算出部１２３Ａ、ジェスチャ認識部１２４Ａ、コマンド実行部１２５Ａについて主に説明し、本開示の第２の実施形態に係る情報処理システム１００Ａが備える他の構成についての詳細な説明は省略する。
【００６５】
図１７は、本開示の第２の実施形態に係る情報処理システム１００Ａの機能について説明するための図である。図１７に示されるように、本開示の第２の実施形態においては、情報処理装置１４０Ａが、ユーザによる操作に基づいてピアノ音を出力するアプリケーションを実行する場合を想定する。すなわち、本開示の第２の実施形態では、操作体ＯＰはユーザの手であり、オブジェクトＯＢはピアノの鍵盤である場合を想定する。しかし、上記したように、操作体ＯＰはユーザの手に限定されない。
【００６６】
また、ここでは、オブジェクトＯＢが出力部１３０によって表示された仮想オブジェクトである場合を想定する。しかし、オブジェクトＯＢは、仮想オブジェクトに限定されず、実オブジェクトであってもよい。さらに、ここでは、操作体ＯＰの基準点が、掌における所定の点（ここでは、手の中心位置）であり、操作体ＯＰの操作点が、指先である場合を想定する。しかし、上記したように、手の中心位置も特定の位置に限定されない。
【００６７】
相対速度算出部１２３Ａは、フレーム数判定部１２２によって、所定のフレーム数に相当する３次元位置情報が得られたと判定されると、操作体の各点の絶対速度に基づいて、操作体の基準点に対する操作体の操作点の相対速度を算出する。ここでは、相対速度算出部１２３Ａが、手中心に対する指先の相対速度を算出する場合を想定する。すなわち、本開示の第２の実施形態においては、３次元位置推定部１２１によって、手中心および指先それぞれの３次元位置が推定されればよい。
【００６８】
ジェスチャ認識部１２４Ａは、相対速度算出部１２３Ａによって算出された基準点に対する操作点の相対速度に基づいて、操作体のジェスチャを認識する。ここでは、ジェスチャ認識部１２４Ａは、手中心に対する指先の相対速度が閾値を上回る場合に、第１のジェスチャとしてオブジェクトＯＢに対する指先でのタッチを認識する。例えば、ジェスチャ認識部１２４Ａは、手中心に対する指先の所定方向（例えば、下方向）への相対速度が閾値を上回る場合に、第１のジェスチャとしてオブジェクトＯＢに対する指先でのタッチ（ここでは、キー入力）を認識する。一方、ジェスチャ認識部１２４Ａは、手中心に対する指先の相対速度が閾値以下である場合に、第２のジェスチャとしてオブジェクトＯＢに対する指先での非タッチを認識する。
【００６９】
図１７に示した例においても、図１に示した例と同様に、ユーザがキー入力を行おうとし、入力キーを変更するために紙面の右方向に絶対速度Ｖ１で掌を移動させながら（操作体ＯＰ−１〜ＯＰ−３）、キー入力を行うために掌に対する指先の相対速度Ｖ２で指先を下方向に移動させた場合を想定する。このとき、図１に示した例と同様に、指先の絶対速度Ｖ１２は、掌の絶対速度Ｖ１と掌に対する指先の相対速度Ｖ２とが合成された速度になってしまう。しかし、本開示の第２の実施形態に係るジェスチャ認識では、入力キーの変更による速度成分が除外されてキー入力があったかが判定されるため、キー入力を高精度に認識することが可能である。
【００７０】
コマンド実行部１２５Ａは、ジェスチャ認識部１２４Ａによって認識されたジェスチャに対応するコマンドを実行する。ここで、コマンド実行部１２５Ａによって実行されるコマンドの種類は限定されない。ここで、指先でのオブジェクトＯＢに対するタッチに対応するコマンドは、指先によってタッチされたオブジェクトＯＢに対応する音を出力するコマンドを含んでよい。すなわち、コマンド実行部１２５Ａは、オブジェクトＯＢに対する指先でのタッチが認識された場合、指先によってタッチされたオブジェクトＯＢに対応する音を出力部１３０から出力するコマンドを実行してよい。
【００７１】
コマンド実行部１２５Ａは、手中心に対する指先の所定方向への相対速度が閾値を上回る場合、常に同じ音量の音を出力させてもよいが、手中心に対する指先の所定方向への相対速度に応じて音量（例えば、初音の音量）を調整してもよい。例えば、コマンド実行部１２５Ａは、手中心に対する指先の所定方向への相対速度が閾値を上回る場合、手中心に対する指先の所定方向への相対速度が大きくなるほど、音量を大きくしてもよい。これによって、大きい音を出力させたいときほど、強くオブジェクトＯＢにタッチするユーザの動きに即した音量調整が可能になる。
【００７２】
ここで、手中心に対する指先の所定方向への相対速度と音量との関係は一定であってもよいし、適宜に変更可能であってもよい。例えば、手中心に対する指先の所定方向への相対速度と音量との関係は、アプリケーションにおける設定によって変更可能であってもよいし、個人ごとの学習によって変更可能であってもよい。例えば、相対速度が平均的に小さいユーザほど音量が平均的に大きくなるように、手中心に対する指先の所定方向への相対速度と音量との関係が決められてもよい。
【００７３】
また、手中心に対する指先の所定方向への相対速度と比較される閾値は一定であってもよいし、適宜に変更可能であってもよい。例えば、手中心に対する指先の所定方向への相対速度と比較される閾値は、アプリケーションにおける設定によって変更可能であってもよいし、個人ごとの学習によって変更可能であってもよい。例えば、相対速度が平均的に小さいユーザほど閾値が小さくなるように、閾値が決められてもよい。
【００７４】
以上、本開示の第２の実施形態に係る情報処理システム１００Ａの構成例について説明した。
【００７５】
［２．２．情報処理システムの動作例］
続いて、本開示の第２の実施形態に係る情報処理システム１００Ａの動作例について説明する。図１８は、本開示の第２の実施形態に係る情報処理システム１００Ａの動作例を示すフローチャートである。図１８に示したＳ１１〜Ｓ１４は、本開示の第１の実施形態に係る情報処理システム１００の動作例（図１５に示したＳ１１〜Ｓ１４）と同様に実行されてよい。ただし、本開示の第２の実施形態においては、３次元位置推定部１２１は、手中心および指先それぞれの３次元位置が推定すればよい。
【００７６】
相対速度算出部１２３Ａは、手の各点の３次元位置の時間方向の変化に基づいて、各点の絶対速度を算出する。そして、相対速度算出部１２３Ａは、各点の絶対速度に基づいて、手の基準点に対する手の操作点の相対速度を算出する。本開示の第２の実施形態においては、相対速度算出部１２３Ａは、手中心の絶対速度と指先の絶対速度とに基づいて、手中心に対する指先の相対速度を算出する（Ｓ１５Ａ）。
【００７７】
続いて、ジェスチャ認識部１２４Ａは、相対速度算出部１２３Ａによって算出された操作体の基準点に対する操作点の相対速度に基づいて、操作体のジェスチャを認識する。より具体的には、ジェスチャ認識部１２４Ａは、手中心に対する指先の相対速度が閾値を上回る場合に（Ｓ１６Ａにおいて「Ｎｏ」）、第１のジェスチャの例としてオブジェクトＯＢへのタッチを認識し、Ｓ１７２Ａに動作を移行させる。一方、ジェスチャ認識部１２４Ａは、手中心に対する指先の相対速度が閾値以下である場合に（Ｓ１６Ａにおいて「Ｙｅｓ」）、第１のジェスチャとは異なる第２のジェスチャの例としてオブジェクトＯＢへの非タッチを認識し、Ｓ１７１Ａに動作を移行させる。なお、手中心に対する指先の相対速度が閾値と等しい場合には、第１のジェスチャが認識されてもよい。
【００７８】
続いて、コマンド実行部１２５Ａは、ジェスチャ認識部１２４Ａによって認識されたジェスチャに対応するコマンドを実行する。コマンド実行部１２５Ａは、ジェスチャ認識部１２４ＡによってオブジェクトＯＢへのタッチが認識された場合、指先の位置に応じたピアノ音（指先の位置のキーに対応するピアノ音）を鳴らす（出力させる）コマンドを実行する（Ｓ１７２Ａ）。一方、コマンド実行部１２５Ａは、ジェスチャ認識部１２４ＡによってオブジェクトＯＢへの非タッチが認識された場合、ピアノ音を鳴らさない（出力させない）（Ｓ１７１Ａ）。
【００７９】
以上、本開示の第２の実施形態に係る情報処理システム１００Ａの動作例について説明した。
【００８０】
＜３．第３の実施形態＞
［３．１．情報処理システムの構成例］
続いて、本開示の第３の実施形態に係る情報処理システムの構成例について説明する。図１９は、本開示の第３の実施形態に係る情報処理システムの機能構成例を示す図である。
【００８１】
図１９に示されたように、本開示の第３の実施形態に係る情報処理システム１００Ｂの情報処理装置１４０Ｂは、本開示の第２の実施形態に係る情報処理システム１００Ａの情報処理装置１４０と比較して、モード選択部１２６を備える点が異なっている。したがって、以下の説明では、モード選択部１２６について主に説明し、本開示の第３の実施形態に係る情報処理システム１００Ｂが備える他の構成についての詳細な説明は省略する。
【００８２】
本開示の第３の実施形態においては、モード選択部１２６がモードを選択する。ここでモードは、相対位置算出手法を決めるために使用されてよく、アプリケーションごとに決められてもよいし、１つのアプリケーションの中の互いに異なる複数のモードのいずれかが選択されてもよい。
【００８３】
相対速度算出部１２３Ａは、入力部１２０によって得られた画像に基づいて、モードに応じた相対速度を算出する。これによって、モードに応じた相対速度が算出される。具体的には、モード選択部１２６は、モードに応じて基準点および操作点を決めてもよい。例えば、モード選択部１２６は、ユーザによる操作に基づいてピアノ音を出力するアプリケーションが実行される場合には、基準点を手中心に決定し、操作点を指先に決定してもよい。
【００８４】
ジェスチャ認識部１２４Ａは、相対速度算出部１２３Ａによって算出された相対速度に基づいて、モードに応じたジェスチャを認識する。これによって、モードに応じたジェスチャが認識される。コマンド実行部１２５Ａは、ジェスチャ認識部１２４Ａによって認識されたジェスチャに基づいて、モードに応じたコマンドを実行する。これによって、モードに応じたコマンドが実行される。なお、上記では、モードに応じた相対速度が算出される場合を主に想定した。しかし、相対速度の算出手法は、他の情報に基づいて決められてもよい。
【００８５】
以上、本開示の第３の実施形態に係る情報処理システム１００Ａの構成例について説明した。
【００８６】
［３．２．情報処理システムの動作例］
続いて、本開示の第３の実施形態に係る情報処理システム１００Ｂの動作例について説明する。図２０は、本開示の第３の実施形態に係る情報処理システム１００Ｂの動作例を示すフローチャートである。モード選択部１２６は、相対位置算出手法を決めるために使用されモードを選択する（Ｓ１８）。例えば、モード選択部１２６は、モードに対応する基準点および操作点を設定する。ここでは、基準点として手中心が設定され、操作点として指先が設定される場合を想定する。Ｓ１１以降は、本開示の第２の実施形態に係る情報処理システム１００Ａの動作例（図１８に示したＳ１１以降）と同様に実行されてよい。
【００８７】
以上、本開示の第３の実施形態に係る情報処理システム１００Ｂの動作例について説明した。
【００８８】
＜４．第４の実施形態＞
［４．１．情報処理システムの構成例］
続いて、本開示の第４の実施形態に係る情報処理システムの構成例について説明する。
【００８９】
図１６に示されたように、本開示の第４の実施形態に係る情報処理システム１００Ｃの情報処理装置１４０Ｃは、本開示の第２の実施形態に係る情報処理システム１００Ａの情報処理装置１４０Ａと比較して、ジェスチャ認識部１２４Ａ、コマンド実行部１２５Ａの代わりに、ジェスチャ認識部１２４Ｃ、コマンド実行部１２５Ｃを備える点が異なっている。したがって、以下の説明では、ジェスチャ認識部１２４Ｃ、コマンド実行部１２５Ｃについて主に説明し、本開示の第４の実施形態に係る情報処理システム１００Ｃが備える他の構成についての詳細な説明は省略する。
【００９０】
図２１および図２２は、本開示の第４の実施形態に係る情報処理システム１００Ｃの機能について説明するための図である。図２１および図２２に示されるように、本開示の第４の実施形態においては、情報処理装置１４０Ｃが、ユーザによる操作に基づいてゲームアプリケーションを実行する場合を想定する。すなわち、本開示の第４の実施形態では、操作体ＯＰはユーザの手である場合を想定する。しかし、上記したように、操作体ＯＰはユーザの手に限定されない。
【００９１】
また、ここでは、オブジェクトＯＢが出力部１３０によって表示された仮想オブジェクトである場合を想定する。しかし、オブジェクトＯＢは、仮想オブジェクトに限定されず、実オブジェクトであってもよい。さらに、ここでは、操作体ＯＰの基準点が、掌における所定の点（ここでは、手の中心位置）であり、操作体ＯＰの操作点が、指先である場合を想定する。しかし、上記したように、手の中心位置も特定の位置に限定されない。
【００９２】
ジェスチャ認識部１２４Ｃは、相対速度算出部１２３Ａによって算出された基準点に対する操作点の相対速度に基づいて、操作体のジェスチャを認識する。ここでは、ジェスチャ認識部１２４は、手中心に対する指先の相対速度が閾値を上回る場合に、第１のジェスチャとしてオブジェクトＯＢに対する指先でのタッチを認識する。例えば、ジェスチャ認識部１２４Ｃは、手中心に対する指先の相対速度が閾値を上回る場合に、第１のジェスチャとしてオブジェクトＯＢに対する指先によるタッチを認識する。一方、ジェスチャ認識部１２４Ｃは、手中心に対する指先の相対速度が閾値以下である場合に、第２のジェスチャとしてオブジェクトＯＢに対する手（または掌）によるタッチを認識する。
【００９３】
図２１に示した例においては、オブジェクトＯＢを動かそうとし、絶対速度Ｖ１で掌を下方向に移動させた場合を想定する（操作体ＯＰ−１〜ＯＰ−２）。このとき、掌に対する指先の相対速度Ｖ２は比較的小さい値である。一方、図２２に示した例においては、オブジェクトＯＢを選択しようとし、相対速度Ｖ２で指先を下方向に移動させた場合を想定する（操作体ＯＰ）。このとき、掌に対する指先の相対速度Ｖ２は比較的大きい値である。本開示の第４の実施形態に係るジェスチャ認識では、掌に対する指先の相対速度Ｖ２に基づいてオブジェクトに関するジェスチャが判定されるため、ジェスチャを高精度に認識することが可能である。
【００９４】
コマンド実行部１２５Ｃは、ジェスチャ認識部１２４Ｃによって認識されたジェスチャに対応するコマンドを実行する。ここで、コマンド実行部１２５によって実行されるコマンドの種類は限定されない。例えば、指先でのオブジェクトＯＢに対するタッチに対応するコマンドは、指先によってタッチされたオブジェクトＯＢを選択するコマンドを含んでよい。すなわち、コマンド実行部１２５は、オブジェクトＯＢに対する指先でのタッチが認識された場合、指先によってタッチされたオブジェクトＯＢを選択するコマンドを実行してよい。
【００９５】
一方、手（または掌）でのオブジェクトＯＢに対するタッチに対応するコマンドは、手（または掌）によってタッチされたオブジェクトＯＢを移動させるコマンドを含んでよい。すなわち、コマンド実行部１２５は、オブジェクトＯＢに対する手（または掌）でのタッチが認識された場合、手（または掌）によってタッチされたオブジェクトＯＢを移動させるコマンドを実行してよい。
【００９６】
なお、本開示の第４の実施形態は本開示の第３の実施形態と組み合わされてもよい。すなわち、本開示の第４の実施形態に係る情報処理装置１４０Ｃは、モード選択部１２６を備えてもよい。かかる場合、相対速度算出部１２３Ａは、入力部１２０によって得られた画像に基づいて、モードに応じた相対速度を算出する。これによって、モードに応じた相対速度が算出される。具体的には、モード選択部１２６は、モードに応じて基準点および操作点を決めてもよい。例えば、モード選択部１２６は、ユーザによる操作に基づいてゲームアプリケーションが実行される場合には、基準点を手中心に決定し、操作点を指先に決定してもよい。
【００９７】
ジェスチャ認識部１２４Ｃは、相対速度算出部１２３Ａによって算出された相対速度に基づいて、モードに応じたジェスチャを認識する。これによって、モードに応じたジェスチャが認識される。コマンド実行部１２５Ｃは、ジェスチャ認識部１２４Ｃによって認識されたジェスチャに基づいて、モードに応じたコマンドを実行する。これによって、モードに応じたコマンドが実行される。なお、上記では、モードに応じた相対速度が算出される場合を主に想定した。しかし、相対速度の算出手法は、他の情報に基づいて決められてもよい。
【００９８】
あるいは、モード選択部１２６は、所定のデータ（例えば、入力部１２０によって得られた画像など）から所定のジェスチャ（例えば、物体にタッチを行うジェスチャなど）が認識された場合に、基準点として手中心を決定し、操作点として指先を決定してもよい。例えば、物体にタッチを行うジェスチャは、テーブル面にタッチを行うジェスチャであってもよい。
【００９９】
以上、本開示の第４の実施形態に係る情報処理システム１００Ｃの構成例について説明した。
【０１００】
［４．２．情報処理システムの動作例］
続いて、本開示の第４の実施形態に係る情報処理システム１００Ｃの動作例について説明する。図２３は、本開示の第４の実施形態に係る情報処理システム１００Ｃの動作例を示すフローチャートである。図２３に示したＳ１１〜Ｓ１４は、本開示の第２の実施形態に係る情報処理システム１００Ａの動作例（図１８に示したＳ１１〜Ｓ１４）と同様に実行されてよい。本開示の第４の実施形態においても、本開示の第２の実施形態と同様に、３次元位置推定部１２１によって、手中心および指先それぞれの３次元位置が推定されればよい。
【０１０１】
ジェスチャ認識部１２４Ｃは、相対速度算出部１２３Ａによって算出された操作体の基準点に対する操作点の相対速度に基づいて、操作体のジェスチャを認識する。より具体的には、ジェスチャ認識部１２４Ａは、手中心に対する指先の相対速度が閾値を上回る場合に（Ｓ１６Ｃにおいて「Ｎｏ」）、第１のジェスチャの例としてオブジェクトＯＢへの指先によるタッチを認識し（Ｓ１７２Ｃ）、コマンド実行部１２５Ｃは、指先の位置に応じたオブジェクトＯＢを選択するコマンドを実行する。
【０１０２】
一方、ジェスチャ認識部１２４Ｃは、手中心に対する指先の相対速度が閾値以下である場合に（Ｓ１６において「Ｙｅｓ」）、第１のジェスチャとは異なる第２のジェスチャの例としてオブジェクトＯＢへの手（または掌）によるタッチを認識し、コマンド実行部１２５Ｃは、手（または掌）の位置に応じたオブジェクトＯＢを移動させるコマンドを実行する。なお、手中心に対する指先の相対速度が閾値と等しい場合には、第１のジェスチャが認識されてもよい。
【０１０３】
以上、本開示の第４の実施形態に係る情報処理システム１００Ｃの動作例について説明した。
【０１０４】
＜５．第５の実施形態＞
［５．１．情報処理システムの構成例］
続いて、本開示の第５の実施形態に係る情報処理システムの構成例について説明する。
【０１０５】
図１６に示されたように、本開示の第５の実施形態に係る情報処理システム１００Ｄの情報処理装置１４０Ｄは、本開示の第２の実施形態に係る情報処理システム１００Ａの情報処理装置１４０Ａと比較して、３次元位置推定部１２１、相対速度算出部１２３Ａ、ジェスチャ認識部１２４Ａ、コマンド実行部１２５Ａの代わりに、３次元位置推定部１２１Ｄ、相対速度算出部１２３Ｄ、ジェスチャ認識部１２４Ｄ、コマンド実行部１２５Ｄを備える点が異なっている。したがって、以下の説明では、３次元位置推定部１２１Ｄ、相対速度算出部１２３Ｄ、ジェスチャ認識部１２４Ｄ、コマンド実行部１２５Ｄについて主に説明し、本開示の第５の実施形態に係る情報処理システム１００Ｄが備える他の構成についての詳細な説明は省略する。
【０１０６】
図２４および図２５は、本開示の第５の実施形態に係る情報処理システム１００Ｄの機能について説明するための図である。図２４および図２５に示されるように、本開示の第５の実施形態においては、情報処理装置１４０Ｄが、ユーザによる操作に基づいてゲームアプリケーションを実行する場合を想定する。すなわち、本開示の第５の実施形態では、操作体ＯＰはユーザの手である場合を想定する。しかし、上記したように、操作体ＯＰはユーザの手に限定されない。
【０１０７】
また、ここでは、オブジェクトＯＢが出力部１３０によって表示された仮想オブジェクトである場合を想定する。しかし、オブジェクトＯＢは、仮想オブジェクトに限定されず、実オブジェクトであってもよい。さらに、ここでは、操作体ＯＰの基準点が、手首における所定の点（ここでは、手首位置Ｐ１２または手首位置Ｐ１３（図７および図８））であり、操作体ＯＰの操作点が、掌における所定の点（ここでは、手の中心位置）である場合を想定する。しかし、手首における所定の点の代わりに、肘における所定の点（例えば、肘関節位置Ｐ１５（図９））が用いられてもよいし、肩における所定の点（例えば、肩関節位置）が用いられてもよい。また、上記したように、手の中心位置も特定の位置に限定されない。
【０１０８】
３次元位置推定部１２１Ｄは、入力部１２０によって得られた入力情報に基づいて、手首および手中心それぞれの３次元位置を推定する。３次元位置推定部１２１Ｄは、推定した手首および手中心それぞれの３次元位置情報を記憶部１２８に記憶させる。なお、ここでは、３次元位置推定部１２１Ｄが、手首および手中心それぞれの３次元位置を推定する場合を想定するが、３次元位置推定部１２１Ｄは、手首および手中心それぞれの２次元位置（例えば、オブジェクトＯＢの表示面に平行な面における２次元位置）を推定してもよい。
【０１０９】
相対速度算出部１２３Ｄは、フレーム数判定部１２２によって、所定のフレーム数に相当する３次元位置情報が得られたと判定されると、操作体の各点の絶対速度に基づいて、操作体の基準点に対する操作体の操作点の相対速度を算出する。ここでは、相対速度算出部１２３Ｄが、手首に対する手中心の相対速度を算出する場合を想定する。
【０１１０】
ジェスチャ認識部１２４Ｄは、相対速度算出部１２３Ｄによって算出された基準点に対する操作点の相対速度に基づいて、操作体のジェスチャを認識する。ここでは、ジェスチャ認識部１２４Ｄは、手首に対する手中心の相対速度が閾値を上回る場合に、第１のジェスチャとして手首を支点として手を振るジェスチャを認識する。一方、ジェスチャ認識部１２４Ｄは、手首に対する手中心の相対速度が閾値以下である場合に、第２のジェスチャとして肘を支点として手を振るジェスチャを認識する。なお、肘の代わりに肩が用いられる場合には、肩が支点となり得る。
【０１１１】
図２４に示した例においては、オブジェクトＯＢを撫でようとし、手首を支点として手を振った場合を想定する（操作体ＯＰ）。このとき、肘に対する掌の相対速度Ｖ３は比較的小さい値となるが、手首に対する掌の相対速度は比較的大きい値となる。一方、図２５に示した例においては、オブジェクトＯＢを動かそうとし、肘を支点として手を振った場合を想定する（操作体ＯＰ）。このとき、肘に対する掌の相対速度Ｖ４は比較的大きい値となるが、手首に対する掌の相対速度は比較的小さい値となる。本開示の第５の実施形態に係るジェスチャ認識では、手首に対する掌の相対速度に基づいてオブジェクトに関するジェスチャが判定されるため、ジェスチャを高精度に認識することが可能である。
【０１１２】
コマンド実行部１２５Ｄは、ジェスチャ認識部１２４Ｄによって認識されたジェスチャに対応するコマンドを実行する。ここで、コマンド実行部１２５Ｄによって実行されるコマンドの種類は限定されない。例えば、手首を支点として手を振るジェスチャに対応するコマンドは、オブジェクトＯＢを撫でるコマンドを含んでもよい。すなわち、コマンド実行部１２５Ｄは、手首を支点として手を振るジェスチャが認識された場合、オブジェクトＯＢを撫でるコマンドを実行してよい。一方、肘を支点として手を振るジェスチャに対応するコマンドは、オブジェクトＯＢを移動させるコマンドを含んでもよい。すなわち、コマンド実行部１２５Ｄは、肘を支点として手を振るジェスチャが認識された場合、オブジェクトＯＢを移動させるコマンドを実行してよい。
【０１１３】
なお、手首を支点として手を振るジェスチャに対応するコマンドは、オブジェクトの一部を消すコマンドを含んでもよい。一方、肘を支点として手を振るジェスチャに対応するコマンドは、オブジェクトの全体を消すコマンドを含んでもよい。例えば、描画を行うアプリケーションが実行される場合、手首を支点として手を振るジェスチャに対応するコマンドは、描画の一部を消すコマンドを含んでもよい。一方、描画を行うアプリケーションが実行される場合、手首を支点として手を振るジェスチャに対応するコマンドは、描画の全体を消すコマンドを含んでもよい。
【０１１４】
また、本開示の第５の実施形態は本開示の第３の実施形態と組み合わされてもよい。すなわち、本開示の第５の実施形態に係る情報処理装置１４０Ｄは、モード選択部１２６を備えてもよい。かかる場合、相対速度算出部１２３Ｄは、入力部１２０によって得られた画像に基づいて、モードに応じた相対速度を算出する。これによって、モードに応じた相対速度が算出される。具体的には、モード選択部１２６は、モードに応じて基準点および操作点を決めてもよい。例えば、モード選択部１２６は、ユーザによる操作に基づいてゲームアプリケーションが実行される場合には、基準点を手首に決定し、操作点を手中心に決定してもよい。
【０１１５】
ジェスチャ認識部１２４Ｄは、相対速度算出部１２３Ｄによって算出された相対速度に基づいて、モードに応じたジェスチャを認識する。これによって、モードに応じたジェスチャが認識される。コマンド実行部１２５Ｄは、ジェスチャ認識部１２４Ｄによって認識されたジェスチャに基づいて、モードに応じたコマンドを実行する。これによって、モードに応じたコマンドが実行される。なお、上記では、モードに応じた相対速度が算出される場合を主に想定した。しかし、相対速度の算出手法は、他の情報に基づいて決められてもよい。
【０１１６】
以上、本開示の第５の実施形態に係る情報処理システム１００Ｄの構成例について説明した。
【０１１７】
［５．２．情報処理システムの動作例］
続いて、本開示の第５の実施形態に係る情報処理システム１００Ｄの動作例について説明する。図２６は、本開示の第５の実施形態に係る情報処理システム１００Ｄの動作例を示すフローチャートである。入力部１２０は、操作体の例としてのユーザの手腕を時間軸に沿ってセンシングすることによって画像を入力（取得）する（Ｓ１１）。３次元位置推定部１２１Ｄは、入力部１２０によって得られた画像に基づいて手腕の各点の３次元位置を推定する（Ｓ１２Ｄ）。なお、３次元位置推定部１２１Ｄによって３次元位置が推定される各点は、ユーザの手首および手中心を含んでよいが、上記したように特に限定されない。
【０１１８】
続いて、３次元位置推定部１２１Ｄは、手腕の３次元位置を記憶部１２８に保存する（Ｓ１３Ｄ）。フレーム数判定部１２２は、指定フレーム数（所定のフレーム数）に相当する３次元位置情報が３次元位置推定部１２１によって得られたかを判定する（Ｓ１４）。フレーム数判定部１２２は、指定フレーム数（所定のフレーム数）に相当する３次元位置情報が３次元位置推定部１２１によって得られていない場合（Ｓ１４において「Ｎｏ」）、Ｓ１１に戻る。一方、フレーム数判定部１２２は、指定フレーム数（所定のフレーム数）に相当する３次元位置情報が３次元位置推定部１２１Ｄによって得られた場合（Ｓ１４において「Ｙｅｓ」）、Ｓ１５Ｄに動作を移行させる。
【０１１９】
相対速度算出部１２３Ｄは、記憶部１２８によって記憶されている手腕の各点の３次元位置情報に基づいて、手首および手中心それぞれの絶対位置を算出する。そして、相対速度算出部１２３Ｄは、手首および手中心それぞれの３次元位置の時間方向の変化に基づいて、手首および手中心それぞれの絶対速度を算出する。そして、相対速度算出部１２３Ｄは、手首および手中心それぞれの絶対速度に基づいて、手腕の基準点（手首）に対する手腕の操作点（手中心）の相対速度を算出する（Ｓ１５Ｄ）。
【０１２０】
ジェスチャ認識部１２４Ｄは、相対速度算出部１２３Ｄによって算出された操作体の基準点に対する操作点の相対速度に基づいて、操作体のジェスチャを認識する。より具体的には、ジェスチャ認識部１２４Ｄは、手首に対する手中心の相対速度が閾値を上回る場合に（Ｓ１６Ｄにおいて「Ｎｏ」）、第１のジェスチャの例として手首を支点として手を振るジェスチャを認識し、コマンド実行部１２５Ｄは、手中心の位置に応じた仮想物体（オブジェクトＯＢ）を撫でる操作がなされたと判断し（Ｓ１７２Ｄ）、当該操作に対応するコマンドを実行する。
【０１２１】
一方、ジェスチャ認識部１２４Ｄは、手首に対する手中心の相対速度が閾値以下である場合に（Ｓ１６Ｄにおいて「Ｙｅｓ」）、第１のジェスチャとは異なる第２のジェスチャの例として肘を支点として手を振るジェスチャを認識し、コマンド実行部１２５Ｄは、手中心の位置に応じた仮想物体（オブジェクトＯＢ）を移動する操作がなされたと判断し（Ｓ１７１Ｄ）、当該操作に対応するコマンドを実行する。なお、手首に対する手中心の相対速度が閾値と等しい場合には、第１のジェスチャが認識されてもよい。
【０１２２】
以上、本開示の第５の実施形態に係る情報処理システム１００Ｄの動作例について説明した。
【０１２３】
＜６．第６の実施形態＞
［６．１．情報処理システムの構成例］
続いて、本開示の第６の実施形態に係る情報処理システムの構成例について説明する。
【０１２４】
図１６に示されたように、本開示の第６の実施形態に係る情報処理システム１００Ｅの情報処理装置１４０Ｅは、本開示の第２の実施形態に係る情報処理システム１００Ａの情報処理装置１４０Ａと比較して、３次元位置推定部１２１、相対速度算出部１２３Ａ、ジェスチャ認識部１２４Ａ、コマンド実行部１２５Ａの代わりに、３次元位置推定部１２１Ｅ、相対速度算出部１２３Ｅ、ジェスチャ認識部１２４Ｅ、コマンド実行部１２５Ｅを備える点が異なっている。したがって、以下の説明では、３次元位置推定部１２１Ｅ、相対速度算出部１２３Ｅ、ジェスチャ認識部１２４Ｅ、コマンド実行部１２５Ｅについて主に説明し、本開示の第６の実施形態に係る情報処理システム１００Ｅが備える他の構成についての詳細な説明は省略する。
【０１２５】
図２７および図２８は、本開示の第６の実施形態に係る情報処理システム１００Ｅの機能について説明するための図である。図２７および図２８に示されるように、本開示の第６の実施形態においては、情報処理装置１４０Ｅが、ユーザによる操作に基づいてゲームアプリケーションを実行する場合を想定する。すなわち、本開示の第６の実施形態では、操作体ＯＰはユーザの手である場合を想定する。しかし、上記したように、操作体ＯＰはユーザの手に限定されない。
【０１２６】
また、ここでは、オブジェクトＯＢが出力部１３０によって表示された仮想オブジェクトである場合を想定する。しかし、オブジェクトＯＢは、仮想オブジェクトに限定されず、実オブジェクトであってもよい。さらに、ここでは、操作体ＯＰの基準点が、指関節（ここでは、人差し指の関節位置Ｐ８（図７および図８））であり、操作体ＯＰの操作点が、指先（ここでは、人差し指の先端位置Ｐ７（図７および図８））である場合を想定する。
【０１２７】
３次元位置推定部１２１Ｅは、入力部１２０によって得られた入力情報に基づいて、手の３次元位置を推定する。３次元位置推定部１２１Ｅは、推定した手の３次元位置情報を記憶部１２８に記憶させる。なお、本開示の第６の実施形態において、３次元位置推定部１２１Ｅは、手の３次元位置として、指関節および指先それぞれの３次元位置を推定すればよい。
【０１２８】
相対速度算出部１２３Ｅは、フレーム数判定部１２２によって、所定のフレーム数に相当する３次元位置情報が得られたと判定されると、操作体の各点の絶対速度に基づいて、操作体の基準点に対する操作体の操作点の相対速度を算出する。ここでは、相対速度算出部１２３Ｅが、指関節に対する指先の相対速度を算出する場合を想定する。
【０１２９】
ジェスチャ認識部１２４Ｅは、相対速度算出部１２３Ｅによって算出された基準点に対する操作点の相対速度に基づいて、操作体のジェスチャを認識する。ここでは、ジェスチャ認識部１２４Ｅは、指関節に対する指先の相対速度が閾値を上回る場合に、第１のジェスチャとして指関節を支点として指先を動かすジェスチャを認識する。一方、ジェスチャ認識部１２４Ｅは、指関節に対する指先の相対速度が閾値以下である場合に、第２のジェスチャとして指の付け根を支点として指先を動かすジェスチャを認識する。
【０１３０】
図２７に示した例においては、オブジェクトＯＢを選択しようとし、指の付け根を支点として指先を動かした場合を想定する。このとき、指関節の絶対速度Ｖ５は比較的大きい値となるが、指関節に対する指先の相対速度は比較的小さい値となる。一方、図２８に示した例においては、オブジェクトＯＢを動かそうとし、指関節を支点として指先を動かした場合を想定する。このとき、指関節の絶対速度は比較的小さい値となるが、指関節に対する指先の相対速度Ｖ２は比較的大きい値となる。本開示の第６の実施形態に係るジェスチャ認識では、指関節に対する指先の相対速度に基づいてオブジェクトに関するジェスチャが判定されるため、ジェスチャを高精度に認識することが可能である。
【０１３１】
コマンド実行部１２５Ｅは、ジェスチャ認識部１２４Ｅによって認識されたジェスチャに対応するコマンドを実行する。ここで、コマンド実行部１２５Ｅによって実行されるコマンドの種類は限定されない。例えば、指の付け根を支点として指先を動かすジェスチャに対応するコマンドは、オブジェクトＯＢを選択するコマンドを含んでもよい。すなわち、コマンド実行部１２５Ｅは、指の付け根を支点として指先を動かすジェスチャが認識された場合、オブジェクトＯＢを選択するコマンドを実行してよい。一方、指の関節点を支点として指先を動かすジェスチャに対応するコマンドは、オブジェクトＯＢを移動させるコマンドを含んでもよい。すなわち、コマンド実行部１２５Ｅは、指の関節点を支点として指先を動かすジェスチャが認識された場合、オブジェクトＯＢを選択するコマンドを実行してよい。
【０１３２】
なお、本開示の第６の実施形態は本開示の第３の実施形態と組み合わされてもよい。すなわち、本開示の第６の実施形態に係る情報処理装置１４０Ｅは、モード選択部１２６を備えてもよい。かかる場合、相対速度算出部１２３Ｅは、入力部１２０によって得られた画像に基づいて、モードに応じた相対速度を算出する。これによって、モードに応じた相対速度が算出される。具体的には、モード選択部１２６は、モードに応じて基準点および操作点を決めてもよい。例えば、モード選択部１２６は、ユーザによる操作に基づいてゲームアプリケーションが実行される場合には、基準点を指関節に決定し、操作点を指先に決定してもよい。
【０１３３】
ジェスチャ認識部１２４Ｅは、相対速度算出部１２３Ｅによって算出された相対速度に基づいて、モードに応じたジェスチャを認識する。これによって、モードに応じたジェスチャが認識される。コマンド実行部１２５Ｅは、ジェスチャ認識部１２４Ｅによって認識されたジェスチャに基づいて、モードに応じたコマンドを実行する。これによって、モードに応じたコマンドが実行される。なお、上記では、モードに応じた相対速度が算出される場合を主に想定した。しかし、相対速度の算出手法は、他の情報に基づいて決められてもよい。
【０１３４】
例えば、相対速度算出部１２３Ｅは、所定のデータ（例えば、画像など）から所定のジェスチャ（例えば、ポインティングを行うジェスチャなど）が認識された場合に、基準点として指関節を決定し、操作点として指先を決定してもよい。例えば、ポインティングを行うジェスチャは、人差し指を伸ばすジェスチャであってもよい。
【０１３５】
以上、本開示の第６の実施形態に係る情報処理システム１００Ｅの構成例について説明した。
【０１３６】
［６．２．情報処理システムの動作例］
続いて、本開示の第６の実施形態に係る情報処理システム１００Ｅの動作例について説明する。図２９は、本開示の第６の実施形態に係る情報処理システム１００Ｅの動作例を示すフローチャートである。入力部１２０は、操作体の例としてのユーザの手を時間軸に沿ってセンシングすることによって画像を入力（取得）する（Ｓ１１）。３次元位置推定部１２１Ｅは、入力部１２０によって得られた画像に基づいて手の各点の３次元位置を推定する（Ｓ１２Ｅ）。なお、３次元位置推定部１２１Ｅによって３次元位置が推定される各点は、指関節および指先を含んでよいが、上記したように特に限定されない。
【０１３７】
続いて、３次元位置推定部１２１Ｅは、手の３次元位置を記憶部１２８に保存する（Ｓ１３Ｅ）。フレーム数判定部１２２は、指定フレーム数（所定のフレーム数）に相当する３次元位置情報が３次元位置推定部１２１によって得られたかを判定する（Ｓ１４）。フレーム数判定部１２２は、指定フレーム数（所定のフレーム数）に相当する３次元位置情報が３次元位置推定部１２１Ｅによって得られていない場合（Ｓ１４において「Ｎｏ」）、Ｓ１１に戻る。一方、フレーム数判定部１２２は、指定フレーム数（所定のフレーム数）に相当する３次元位置情報が３次元位置推定部１２１Ｅによって得られた場合（Ｓ１４において「Ｙｅｓ」）、Ｓ１５Ｅに動作を移行させる。
【０１３８】
相対速度算出部１２３Ｅは、記憶部１２８によって記憶されている手の各点の３次元位置情報に基づいて、指関節および指先それぞれの絶対位置を算出する。そして、相対速度算出部１２３Ｅは、指関節および指先それぞれの３次元位置の時間方向の変化に基づいて、指関節および指先それぞれの絶対速度を算出する。そして、相対速度算出部１２３Ｅは、指関節および指先それぞれの絶対速度に基づいて、手の基準点（指関節）に対する手の操作点（指先）の相対速度を算出する（Ｓ１５Ｅ）。
【０１３９】
ジェスチャ認識部１２４Ｅは、相対速度算出部１２３Ｅによって算出された操作体の基準点に対する操作点の相対速度に基づいて、操作体のジェスチャを認識する。より具体的には、ジェスチャ認識部１２４Ｅは、指関節に対する指先の相対速度が閾値を上回る場合に（Ｓ１６Ｅにおいて「Ｎｏ」）、第１のジェスチャの例として指関節を支点として指先を動かすジェスチャ（スクロール操作）を認識し（Ｓ１７２Ｅ）、コマンド実行部１２５Ｅは、指先の位置に応じたオブジェクトＯＢを移動させるコマンドを実行する。
【０１４０】
一方、ジェスチャ認識部１２４Ｅは、指関節に対する指先の相対速度が閾値以下である場合に（Ｓ１６Ｅにおいて「Ｙｅｓ」）、第１のジェスチャとは異なる第２のジェスチャの例として指の付け根を支点として指先を動かすジェスチャ（クリック操作）を認識し（Ｓ１７１Ｅ）、コマンド実行部１２５Ｅは、指先の位置に応じたオブジェクトＯＢを移動させるコマンドを実行する。なお、指関節に対する指先の相対速度が閾値と等しい場合には、第１のジェスチャが認識されてもよい。本開示の第６の実施形態によれば、スクロール操作が認識された場合に、クリック操作を認識しないといった制御も可能となるため、クリック操作の判定精度が向上するといった効果も享受される。
【０１４１】
以上、本開示の第６の実施形態に係る情報処理システム１００Ｅの動作例について説明した。
【０１４２】
＜７．第７の実施形態＞
［７．１．情報処理システムの構成例］
続いて、本開示の第７の実施形態に係る情報処理システムの構成例について説明する。
【０１４３】
図１６に示されたように、本開示の第７の実施形態に係る情報処理システム１００Ｆの情報処理装置１４０Ｆは、本開示の第２の実施形態に係る情報処理システム１００Ａの情報処理装置１４０Ａと比較して、３次元位置推定部１２１、相対速度算出部１２３Ａ、ジェスチャ認識部１２４Ａ、コマンド実行部１２５Ａの代わりに、３次元位置推定部１２１Ｆ、相対速度算出部１２３Ｆ、ジェスチャ認識部１２４Ｆ、コマンド実行部１２５Ｆを備える点が異なっている。したがって、以下の説明では、３次元位置推定部１２１Ｆ、相対速度算出部１２３Ｆ、ジェスチャ認識部１２４Ｆ、コマンド実行部１２５Ｆについて主に説明し、本開示の第７の実施形態に係る情報処理システム１００Ｆが備える他の構成についての詳細な説明は省略する。
【０１４４】
図３０および図３１は、本開示の第７の実施形態に係る情報処理システム１００Ｆの機能について説明するための図である。図３０および図３１に示されるように、本開示の第７の実施形態においては、情報処理装置１４０Ｆが、ユーザによる操作に基づいてゲームアプリケーションを実行する場合を想定する。すなわち、本開示の第７の実施形態では、操作体はユーザの身体の一部（人体パーツ）である場合を想定する。しかし、上記したように、操作体はユーザの身体の一部（人体パーツ）に限定されない。
【０１４５】
また、ここでは、オブジェクトが出力部１３０によって表示された仮想オブジェクトである場合を想定する。しかし、オブジェクトは、仮想オブジェクトに限定されず、実オブジェクトであってもよい。さらに、ここでは、操作体の基準点が、肩における所定の点（例えば、肩関節位置）であり、操作体の操作点が、拳における所定の点（ここでは、手の中心位置Ｐ１４（図７および図８））である場合を想定する。しかし、肩における所定の点（例えば、肩関節位置）の代わりに、肩以外の部位（例えば、足など）における所定の点が用いられてもよい。
【０１４６】
３次元位置推定部１２１Ｆは、入力部１２０によって得られた入力情報に基づいて、人体パーツの３次元位置を推定する。３次元位置推定部１２１Ｆは、推定した人体パーツの３次元位置情報を記憶部１２８に記憶させる。なお、本開示の第７の実施形態において、３次元位置推定部１２１Ｆは、人体パーツの３次元位置として、肩および拳それぞれの３次元位置を推定すればよい。
【０１４７】
相対速度算出部１２３Ｆは、フレーム数判定部１２２によって、所定のフレーム数に相当する３次元位置情報が得られたと判定されると、操作体の各点の絶対速度に基づいて、操作体の基準点に対する操作体の操作点の相対速度を算出する。ここでは、相対速度算出部１２３Ｆが、肩に対する拳の相対速度を算出する場合を想定する。
【０１４８】
ジェスチャ認識部１２４Ｆは、相対速度算出部１２３Ｆによって算出された基準点に対する操作点の相対速度に基づいて、操作体のジェスチャを認識する。ここでは、ジェスチャ認識部１２４Ｆは、肩に対する拳の相対速度が閾値を上回る場合に、第１のジェスチャとして第１の種別のパンチを認識する。一方、ジェスチャ認識部１２４Ｆは、肩に対する拳の相対速度が閾値を下回る場合に、第２のジェスチャとして第２の種別のパンチを認識する。
【０１４９】
図３０に示した例においては、オブジェクトに対してジャブを打とうとした場合を想定する。例えば、ジャブを打つ拳と肩との左右の別が異なり、肩の位置は、Ｐ１７−１からＰ１７−２に移動し、拳の位置は、Ｐ１４−１からＰ１４−２に移動したとする。このとき、肩に対する拳の相対速度Ｖ６は比較的小さい値となる。一方、図３１に示した例においては、オブジェクトに対してストレートを打とうとした場合を想定する。例えば、ストレートを打つ拳と肩との左右の別が異なり、肩の位置は、Ｐ１７−３からＰ１７−４に移動し、拳の位置は、Ｐ１４−３からＰ１４−４に移動したとする。このとき、肩に対する拳の相対速度Ｖ６は比較的大きい値となる。
【０１５０】
本開示の第７の実施形態に係るジェスチャ認識では、肩に対する拳の相対速度に基づいてオブジェクトに関するジェスチャが判定されるため、ジェスチャを高精度に認識することが可能である。なお、例えば、ジャブを打つ拳と肩との左右の別が同じ場合には、肩に対する拳の相対速度は比較的大きい値となる。一方、ストレートを打つ拳と肩との左右の別が同じである場合、肩に対する拳の相対速度は比較的小さい値となる。
【０１５１】
コマンド実行部１２５Ｆは、ジェスチャ認識部１２４Ｆによって認識されたジェスチャに対応するコマンドを実行する。ここで、コマンド実行部１２５Ｆによって実行されるコマンドの種類は限定されない。例えば、ジャブに対応するコマンドは、オブジェクトに比較的小さいダメージを与えるコマンドを含んでもよい。すなわち、コマンド実行部１２５Ｆは、ジャブが認識された場合、オブジェクトに比較的小さいダメージを与えるコマンドを実行してよい。一方、ストレートに対応するコマンドは、オブジェクトに比較的大きなダメージを与えるコマンドを含んでもよい。すなわち、コマンド実行部１２５Ｆは、ストレートが認識された場合、オブジェクトに対して比較的大きいダメージを与えるコマンドを実行してよい。
【０１５２】
なお、本開示の第７の実施形態は本開示の第３の実施形態と組み合わされてもよい。すなわち、本開示の第７の実施形態に係る情報処理装置１４０Ｆは、モード選択部１２６を備えてもよい。かかる場合、相対速度算出部１２３Ｆは、入力部１２０によって得られた画像に基づいて、モードに応じた相対速度を算出する。これによって、モードに応じた相対速度が算出される。具体的には、モード選択部１２６は、モードに応じて基準点および操作点を決めてもよい。例えば、モード選択部１２６は、ユーザによる操作に基づいてゲームアプリケーションが実行される場合には、基準点を肩に決定し、操作点を拳に決定してもよい。
【０１５３】
ジェスチャ認識部１２４Ｆは、相対速度算出部１２３Ｆによって算出された相対速度に基づいて、モードに応じたジェスチャを認識する。これによって、モードに応じたジェスチャが認識される。コマンド実行部１２５Ｆは、ジェスチャ認識部１２４Ｆによって認識されたジェスチャに基づいて、モードに応じたコマンドを実行する。これによって、モードに応じたコマンドが実行される。なお、上記では、モードに応じた相対速度が算出される場合を主に想定した。しかし、相対速度の算出手法は、他の情報に基づいて決められてもよい。
【０１５４】
以上、本開示の第７の実施形態に係る情報処理システム１００Ｆの構成例について説明した。
【０１５５】
［７．２．情報処理システムの動作例］
続いて、本開示の第７の実施形態に係る情報処理システム１００Ｆの動作例について説明する。図３２は、本開示の第７の実施形態に係る情報処理システム１００Ｆの動作例を示すフローチャートである。入力部１２０は、操作体の例としてのユーザの人体パーツを時間軸に沿ってセンシングすることによって画像を入力（取得）する（Ｓ１１）。３次元位置推定部１２１Ｆは、入力部１２０によって得られた画像に基づいて人体パーツの各点の３次元位置を推定する（Ｓ１２Ｆ）。なお、３次元位置推定部１２１Ｆによって３次元位置が推定される各点は、肩および拳を含んでよいが、上記したように特に限定されない。
【０１５６】
続いて、３次元位置推定部１２１Ｆは、手の３次元位置を記憶部１２８に保存する（Ｓ１３Ｆ）。フレーム数判定部１２２は、指定フレーム数（所定のフレーム数）に相当する３次元位置情報が３次元位置推定部１２１によって得られたかを判定する（Ｓ１４）。フレーム数判定部１２２は、指定フレーム数（所定のフレーム数）に相当する３次元位置情報が３次元位置推定部１２１Ｆによって得られていない場合（Ｓ１４において「Ｎｏ」）、Ｓ１１に戻る。一方、フレーム数判定部１２２は、指定フレーム数（所定のフレーム数）に相当する３次元位置情報が３次元位置推定部１２１Ｅによって得られた場合（Ｓ１４において「Ｙｅｓ」）、Ｓ１５Ｆに動作を移行させる。
【０１５７】
相対速度算出部１２３Ｆは、記憶部１２８によって記憶されている人体パーツの各点の３次元位置情報に基づいて、肩および拳それぞれの絶対位置を算出する。そして、相対速度算出部１２３Ｆは、肩および拳それぞれの３次元位置の時間方向の変化に基づいて、肩および拳それぞれの絶対速度を算出する。そして、相対速度算出部１２３Ｆは、肩および拳それぞれの絶対速度に基づいて、操作体の基準点（肩）に対する操作体の操作点（拳）の相対速度を算出する（Ｓ１５Ｆ）。
【０１５８】
ジェスチャ認識部１２４Ｆは、相対速度算出部１２３Ｆによって算出された操作体の基準点に対する操作点の相対速度に基づいて、操作体のジェスチャを認識する。より具体的には、ジェスチャ認識部１２４Ｆは、ストレートを打つ拳と肩との左右の別が異なる場合、かつ、肩に対する拳の相対速度が閾値を上回る場合に（Ｓ１６Ｆにおいて「Ｎｏ」）、第１のジェスチャの例としてストレートを認識し（Ｓ１７２Ｆ）、コマンド実行部１２５Ｆは、肩から拳への方向に応じたオブジェクトに比較的大きなダメージを与えるコマンドを実行する。
【０１５９】
一方、ジェスチャ認識部１２４Ｆは、ジャブを打つ拳と肩との左右の別が異なる場合、かつ、肩に対する拳の相対速度が閾値以下である場合に（Ｓ１６Ｆにおいて「Ｙｅｓ」）、第１のジェスチャとは異なる第２のジェスチャの例としてジャブを認識し（Ｓ１７１Ｆ）、コマンド実行部１２５Ｆは、肩から拳への方向に応じたオブジェクトに比較的小さなダメージを与えるコマンドを実行する。
【０１６０】
なお、肩に対する拳の相対速度が閾値と等しい場合には、第１のジェスチャが認識されてもよい。また、ジェスチャ認識部１２４Ｆは、ストレートを打つ拳と肩との左右の別が同じ場合、かつ、肩に対する拳の相対速度が閾値以下である場合に、第２のジェスチャの例としてストレートを認識してよい。一方、ジェスチャ認識部１２４Ｆは、ジャブを打つ拳と肩との左右の別が同じ場合、かつ、肩に対する拳の相対速度が閾値を上回る場合に、第１のジェスチャの例としてジャブを認識してよい。
【０１６１】
以上、本開示の第７の実施形態に係る情報処理システム１００Ｆの動作例について説明した。
【０１６２】
＜８．ハードウェア構成例＞
次に、図３３を参照して、本開示の実施形態に係る情報処理システム１００のハードウェア構成について説明する。図３３は、本開示の実施形態に係る情報処理システム１００のハードウェア構成例を示すブロック図である。
【０１６３】
図３３に示すように、情報処理システム１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０３、およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０５を含む。ＣＰＵ９０１、ＲＯＭ９０３およびＲＡＭ９０５によって、３次元位置推定部１２１、フレーム数判定部１２２、相対速度／相対位置算出部１２３、ジェスチャ認識部１２４およびコマンド実行部１２５が実現され得る。また、情報処理システム１００は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。さらに、情報処理システム１００は、必要に応じて、撮像装置９３３、およびセンサ９３５を含んでもよい。情報処理システム１００は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）またはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）と呼ばれるような処理回路を有してもよい。
【０１６４】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理システム１００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一時的に記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。
【０１６５】
入力装置９１５は、例えば、ボタンなど、ユーザによって操作される装置である。入力装置９１５は、マウス、キーボード、タッチパネル、スイッチおよびレバーなどを含んでもよい。また、入力装置９１５は、ユーザの音声を検出するマイクロフォンを含んでもよい。入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理システム１００の操作に対応した携帯電話などの外部接続機器９２９であってもよい。入力装置９１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ９０１に出力する入力制御回路を含む。ユーザは、この入力装置９１５を操作することによって、情報処理システム１００に対して各種のデータを入力したり処理動作を指示したりする。また、後述する撮像装置９３３も、ユーザの手の動き、ユーザの指などを撮像することによって、入力装置として機能し得る。このとき、手の動きや指の向きに応じてポインティング位置が決定されてよい。なお、入力装置９１５によって、上記した入力部１２０が実現され得る。
【０１６６】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置９１７は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音出力装置などであり得る。また、出力装置９１７は、ＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）、プロジェクタ、ホログラム、プリンタ装置などを含んでもよい。出力装置９１７は、情報処理システム１００の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音として出力したりする。また、出力装置９１７は、周囲を明るくするためライトなどを含んでもよい。なお、出力装置９１７によって、上記した出力部１３０が実現され得る。
【０１６７】
ストレージ装置９１９は、情報処理システム１００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０１６８】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、情報処理システム１００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【０１６９】
接続ポート９２３は、機器を情報処理システム１００に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポートなどであり得る。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポートなどであってもよい。接続ポート９２３に外部接続機器９２９を接続することで、情報処理システム１００と外部接続機器９２９との間で各種のデータが交換され得る。
【０１７０】
通信装置９２５は、例えば、ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カードなどであり得る。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続されるネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【０１７１】
撮像装置９３３は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置９３３は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
【０１７２】
センサ９３５は、例えば、測距センサ、加速度センサ、ジャイロセンサ、地磁気センサ、振動センサ、光センサ、音センサなどの各種のセンサである。センサ９３５は、例えば情報処理システム１００の筐体の姿勢など、情報処理システム１００自体の状態に関する情報や、情報処理システム１００の周辺の明るさや騒音など、情報処理システム１００の周辺環境に関する情報を取得する。また、センサ９３５は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）信号を受信して装置の緯度、経度および高度を測定するＧＰＳセンサを含んでもよい。なお、センサ９３５によって、上記した入力部１２０が実現され得る。
【０１７３】
＜９．むすび＞
本開示の実施形態によれば、操作体を時間軸に沿ってセンシングして得られたデータに基づいて、前記操作体の第１の点に対する前記操作体の第２の点の相対速度を算出する相対速度算出部と、前記相対速度に基づいて、前記操作体のジェスチャを認識するジェスチャ認識部と、を備える、情報処理装置が提供される。かかる構成によれば、操作体によるジェスチャをより高精度に認識することが可能となる。
【０１７４】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１７５】
例えば、上記した情報処理システム１００の動作が実現されれば、各構成の位置は特に限定されない。情報処理システム１００における各部の処理の一部は図示しないサーバによって行われてもよい。
【０１７６】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏し得る。
【０１７７】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
操作体を時間軸に沿ってセンシングして得られたデータに基づいて、前記操作体の第１の点に対する前記操作体の第２の点の相対速度を算出する相対速度算出部と、
前記相対速度に基づいて、前記操作体のジェスチャを認識するジェスチャ認識部と、
を備える、情報処理装置。
（２）
前記情報処理装置は、
前記ジェスチャに対応するコマンドを決定するコマンド決定部を備える、
前記（１）に記載の情報処理装置。
（３）
前記データは、前記操作体を時間軸に沿ってセンシングして得られた２次元データまたは３次元データである、
前記（１）または（２）に記載の情報処理装置。
（４）
前記情報処理装置は、モードを選択するモード選択部を備え、
前記相対速度算出部は、前記データに基づいて、前記モードに応じた前記相対速度を算出する、
前記（１）〜（３）のいずれか一項に記載の情報処理装置。
（５）
前記ジェスチャ認識部は、前記相対速度が閾値を上回る場合に、第１のジェスチャを認識し、前記相対速度が前記閾値を下回る場合に、前記第１のジェスチャとは異なる第２のジェスチャを認識する、
前記（１）〜（４）のいずれか一項に記載の情報処理装置。
（６）
前記第１の点は、掌における所定の点であり、
前記第２の点は、指先である、
前記（５）に記載の情報処理装置。
（７）
前記ジェスチャ認識部は、前記相対速度が前記閾値を上回る場合に、前記第１のジェスチャとしてオブジェクトに対する前記指先でのタッチを認識する、
前記（６）に記載の情報処理装置。
（８）
前記指先でのタッチに対応するコマンドは、前記オブジェクトに対応する音を出力するコマンド、または、前記オブジェクトを選択するコマンドを含む、
前記（７）に記載の情報処理装置。
（９）
前記ジェスチャ認識部は、前記相対速度が前記閾値を下回る場合に、前記第２のジェスチャとして前記オブジェクトに対する掌でのタッチを認識する、
前記（８）に記載の情報処理装置。
（１０）
前記掌でのタッチに対応するコマンドは、前記オブジェクトを移動させるコマンドを含む、
前記（９）に記載の情報処理装置。
（１１）
前記第１の点は、手首または肘における所定の点であり、
前記第２の点は、掌における所定の点である、
前記（５）に記載の情報処理装置。
（１２）
前記ジェスチャ認識部は、前記相対速度が前記閾値を上回る場合に、前記第１のジェスチャとして手首を支点として手を振るジェスチャを認識し、前記相対速度が前記閾値を下回る場合に、前記第２のジェスチャとして肘または肩を支点として手を振るジェスチャを認識する、
前記（１１）に記載の情報処理装置。
（１３）
前記手首を支点として手を振るジェスチャに対応するコマンドは、オブジェクトを撫でるコマンドを含み、前記肘または肩を支点として手を振るジェスチャに対応するコマンドは、前記オブジェクトを移動させるコマンドを含む、
前記（１２）に記載の情報処理装置。
（１４）
前記第１の点は、指の関節点であり、
前記第２の点は、指先である、
前記（５）に記載の情報処理装置。
（１５）
前記ジェスチャ認識部は、前記相対速度が前記閾値を上回る場合に、前記第１のジェスチャとして指の付け根を支点として指先を動かすジェスチャを認識し、前記相対速度が前記閾値を下回る場合に、前記第２のジェスチャとして指の関節点を支点として指先を動かすジェスチャを認識する、
前記（１４）に記載の情報処理装置。
（１６）
前記指の付け根を支点として指先を動かすジェスチャに対応するコマンドは、オブジェクトを選択するコマンドを含み、前記指の関節点を支点として指先を動かすジェスチャに対応するコマンドは、オブジェクトを移動させるコマンドを含む、
前記（１５）に記載の情報処理装置。
（１７）
前記第１の点は、肩における所定の点であり、
前記第２の点は、拳における所定の点である、
前記（５）に記載の情報処理装置。
（１８）
前記ジェスチャ認識部は、前記相対速度が前記閾値を上回る場合に、前記第１のジェスチャとして第１の種別のパンチを認識し、前記相対速度が前記閾値を下回る場合に、前記第２のジェスチャとして第２の種別のパンチを認識する、
前記（１７）に記載の情報処理装置。
（１９）
操作体を時間軸に沿ってセンシングして得られたデータに基づいて、前記操作体の第１の点に対する前記操作体の第２の点の相対速度を算出することと、
プロセッサが、前記相対速度に基づいて、前記操作体のジェスチャを認識することと、
を含む、情報処理方法。
（２０）
コンピュータを、
操作体を時間軸に沿ってセンシングして得られたデータに基づいて、前記操作体の第１の点に対する前記操作体の第２の点の相対速度を算出する相対速度算出部と、
前記相対速度に基づいて、前記操作体のジェスチャを認識するジェスチャ認識部と、
を備える情報処理装置として機能させるためのプログラム。
【符号の説明】
【０１７８】
１００  情報処理システム
１１０  テーブル
１２０  入力部
１２１  ３次元位置推定部
１２２  フレーム数判定部
１２３  相対位置／相対速度算出部
１２４  ジェスチャ認識部
１２５  コマンド実行部
１２６  モード選択部
１２８  記憶部
１３０  出力部
１４０  情報処理装置
【図１】
2020086939.tif 000003
【図２】
2020086939.tif 000004
【図３】
2020086939.tif 000005
【図４】
2020086939.tif 000006
【図５】
2020086939.tif 000007
【図６】
2020086939.tif 000008
【図７】
2020086939.tif 000009
【図８】
2020086939.tif 000010
【図９】
2020086939.tif 000011
【図１０】
2020086939.tif 000012
【図１１】
2020086939.tif 000013
【図１２】
2020086939.tif 000014
【図１３】
2020086939.tif 000015
【図１４】
2020086939.tif 000016
【図１５】
2020086939.tif 000017
【図１６】
2020086939.tif 000018
【図１７】
2020086939.tif 000019
【図１８】
2020086939.tif 000020
【図１９】
2020086939.tif 000021
【図２０】
2020086939.tif 000022
【図２１】
2020086939.tif 000023
【図２２】
2020086939.tif 000024
【図２３】
2020086939.tif 000025
【図２４】
2020086939.tif 000026
【図２５】
2020086939.tif 000027
【図２６】
2020086939.tif 000028
【図２７】
2020086939.tif 000029
【図２８】
2020086939.tif 000030
【図２９】
2020086939.tif 000031
【図３０】
2020086939.tif 000032
【図３１】
2020086939.tif 000033
【図３２】
2020086939.tif 000034
【図３３】
2020086939.tif 000035