(57)【特許請求の範囲】
【請求項１】
ユーザの手に装着され、ユーザの指の動きに係る情報を取得する第１の検出装置、及び、前記第１の検出装置とは異なる場所に配され、所定の視野内にあるユーザの手の形状を検出する第２の検出装置に接続され、
前記第１の検出装置からユーザの指の動きに係る情報を受け入れるとともに、前記第２の検出装置からユーザの手の形状に係る情報を受け入れる受入手段と、
前記第１の検出装置により検出され、当該第１の検出装置から受け入れたユーザの指の動きに係る情報に基づいてユーザの手のポーズを表す第１のポーズ情報を生成する第１ポーズ情報生成手段と、
前記第２の検出装置により検出され、当該第２の検出装置から受け入れた、ユーザの手の形状に係る情報に基づいてユーザの手のポーズを表す第２のポーズ情報を生成する第２ポーズ情報生成手段と、
前記生成した第１のポーズ情報と、第２のポーズ情報とを、予め定めた条件に基づく基準に従って組み合わせて、ユーザの手のポーズを表す情報を生成して出力するポーズ情報出力手段と、を含み、
前記ポーズ情報出力手段は、前記予め定めた条件に基づく基準に従って、前記ユーザの指の動きに基づく第１のポーズ情報と、前記第２の検出装置により検出されたユーザの手の形状に基づく第２のポーズ情報と、のいずれかを選択して、ユーザの手のポーズを表す情報を生成して出力する制御装置。
【請求項２】
請求項１に記載の制御装置であって、
前記予め定めた条件は、前記第２の検出装置の視野範囲に、前記ユーザの指が含まれるか否かに基づく条件を含む条件である制御装置。
【請求項３】
請求項１または２に記載の制御装置であって、
前記予め定めた条件は、前記ユーザの指の動きに係る情報と、前記ユーザの手の形状に係る情報との時間的変化に係る条件を含む条件である制御装置。
【請求項４】
請求項１から３のいずれか一項に記載の制御装置であって、
前記ユーザの手のポーズを表す情報は、
ユーザの手の向きと、
各指の開度と、
親指の向きと、
の少なくとも一つを含む情報である制御装置。
【請求項５】
請求項１から４のいずれか一項に記載の制御装置であって、
さらに、ユーザに提示する画像情報を生成する手段を含み、
前記生成したユーザの手のポーズを表す情報に基づいて、当該生成する画像情報に含まれる画像の表示態様を異ならせる制御装置。
【請求項６】
請求項１から５のいずれか一項に記載の制御装置であって、
当該制御装置に接続される前記第２の検出装置は、ユーザの頭部に装着されるヘッドマウントディスプレイに配され、ユーザの前方の所定範囲の視野内のユーザの手の形状を検出する装置である制御装置。
【請求項７】
ユーザの手に装着され、ユーザの指の動きに係る情報を取得する第１の検出装置と、
前記第１の検出装置とは異なる場所に配され、所定の視野内にあるユーザの手の形状を検出する第２の検出装置と、
前記第１の検出装置、及び第２の検出装置に接続される制御装置と、を含み、
前記制御装置が、
前記第１の検出装置からユーザの指の動きに係る情報を受け入れるとともに、前記第２の検出装置からユーザの手の形状に係る情報を受け入れる受入手段と、
前記第１の検出装置により検出され、当該第１の検出装置から受け入れたユーザの指の動きに係る情報に基づいてユーザの手のポーズを表す第１のポーズ情報を生成する第１ポーズ情報生成手段と、
前記第２の検出装置により検出され、当該第２の検出装置から受け入れた、ユーザの手の形状に係る情報に基づいてユーザの手のポーズを表す第２のポーズ情報を生成する第２ポーズ情報生成手段と、
前記生成した第１のポーズ情報と、第２のポーズ情報とを、予め定めた条件に基づく基準に従って組み合わせて、ユーザの手のポーズを表す情報を生成して出力するポーズ情報出力手段と、を含み、
前記ポーズ情報出力手段は、前記予め定めた条件に基づく基準に従って、前記ユーザの指の動きに基づく第１のポーズ情報と、前記第２の検出装置により検出されたユーザの手の形状に基づく第２のポーズ情報と、のいずれかを選択して、ユーザの手のポーズを表す情報を生成して出力する情報処理システム。
【請求項８】
請求項７に記載の情報処理システムであって、
さらに、前記第１の検出装置は、重力方向に対するユーザの手の角度の情報を検出しており、
前記制御装置は、前記第１の検出装置が検出した情報と、前記第２の検出装置が検出した情報とに基づいて、ユーザの手の位置の情報を生成して出力する情報処理システム。
【請求項９】
ユーザの手に装着され、ユーザの指の動きに係る情報を取得する第１の検出装置、及び、前記第１の検出装置とは異なる場所に配され、所定の視野内にあるユーザの手の形状を検出する第２の検出装置に接続されるコンピュータを用い、
受入手段が、前記第１の検出装置からユーザの指の動きに係る情報を受け入れるとともに、前記第２の検出装置からユーザの手の形状に係る情報を受け入れる工程と、
第１ポーズ情報生成手段が、前記第１の検出装置により検出され、当該第１の検出装置から受け入れたユーザの指の動きに係る情報に基づいてユーザの手のポーズを表す第１のポーズ情報を生成する工程と、
第２ポーズ情報生成手段が、前記第２の検出装置により検出され、当該第２の検出装置から受け入れた、ユーザの手の形状に係る情報に基づいてユーザの手のポーズを表す第２のポーズ情報を生成する工程と、
ポーズ情報出力手段が、前記生成した第１のポーズ情報と、第２のポーズ情報とを、予め定めた条件に基づく基準に従って組み合わせて、ユーザの手のポーズを表す情報を生成して出力するポーズ情報出力工程と、を含み、
前記ポーズ情報出力工程では、前記ポーズ情報出力手段が、前記予め定めた条件に基づく基準に従って、前記ユーザの指の動きに基づく第１のポーズ情報と、前記第２の検出装置により検出されたユーザの手の形状に基づく第２のポーズ情報と、のいずれかを選択して、ユーザの手のポーズを表す情報を生成して出力する制御装置の制御方法。
【請求項１０】
ユーザの手に装着され、ユーザの指の動きに係る情報を取得する第１の検出装置、及び、前記第１の検出装置とは異なる場所に配され、所定の視野内にあるユーザの手の形状を検出する第２の検出装置に接続されるコンピュータを、
前記第１の検出装置からユーザの指の動きに係る情報を受け入れるとともに、前記第２の検出装置からユーザの手の形状に係る情報を受け入れる受入手段と、
前記第１の検出装置により検出され、当該第１の検出装置から受け入れたユーザの指の動きに係る情報に基づいてユーザの手のポーズを表す第１のポーズ情報を生成する第１ポーズ情報生成手段と、
前記第２の検出装置により検出され、当該第２の検出装置から受け入れた、ユーザの手の形状に係る情報に基づいてユーザの手のポーズを表す第２のポーズ情報を生成する第２ポーズ情報生成手段と、
前記生成した第１のポーズ情報と、第２のポーズ情報とを、予め定めた条件に基づく基準に従って組み合わせて、ユーザの手のポーズを表す情報を生成して出力するポーズ情報出力手段と、
として機能させ、
前記ポーズ情報出力手段として機能させる際には、前記予め定めた条件に基づく基準に従って、前記ユーザの指の動きに基づく第１のポーズ情報と、前記第２の検出装置により検出されたユーザの手の形状に基づく第２のポーズ情報と、のいずれかを選択して、ユーザの手のポーズを表す情報を生成して出力させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、情報処理システム、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年では、仮想空間の画像を生成して提示する仮想現実（ＶＲ）デバイスが普及しており、ユーザの実際の手や指の動きを検出して、仮想空間内のオブジェクトの動きに反映させることが行われている。【０００３】
このような処理のために、従来から手を検出するデバイスとして、カメラ等でユーザの手を撮像して、手の形状を認識し、ユーザの指が曲げられているか伸ばされているかを検出するものがある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の、カメラを利用した手を検出するデバイスでは、カメラの位置から指が視認できない姿勢となっている場合や、そもそもカメラの視野外にユーザの手がある場合は、その形状の認識ができず、ユーザの指がどのような状態となっているかを検出できない。【０００５】
本発明は上記実情に鑑みて為されたもので、ユーザの手のポーズの検出が可能となる機会を増大できる制御装置、情報処理システム、制御方法、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００６】
上記従来例の問題点を解決する本発明は、制御装置が、ユーザの指の動きに係る情報と、ユーザの手の形状に係る情報とを受け入れる受入手段と、前記受け入れたユーザの指の動きに係る情報に基づいてユーザの手のポーズを表す第１のポーズ情報を生成する第１ポーズ情報生成手段と、前記受け入れた、ユーザの手の形状に係る情報に基づいてユーザの手のポーズを表す第２のポーズ情報を生成する第２ポーズ情報生成手段と、前記生成した第１のポーズ情報と、第２のポーズ情報とを、予め定めた条件に基づく基準に従って組み合わせて、ユーザの手のポーズを表す情報を生成して出力するポーズ情報出力手段と、を含むこととしたものである。
【発明の効果】
【０００７】
本発明によると、ユーザの手のポーズの検出が可能となる機会を増大できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態の一例に係る情報処理システムの構成例を表す概略ブロック図である。
【図２】本発明の実施の形態の一例に係る情報処理システムで用いる操作デバイスの例を表す概略斜視図である。
【図３】本発明の実施の形態の一例に係る情報処理システムに含まれる制御装置の例を表す機能ブロック図である。
【図４】本発明の実施の形態の一例に係る情報処理システムによるユーザの手の検出動作を表す説明図である。
【図５】本発明の実施の形態の一例に係る情報処理システムの処理の一例を表すフローチャート図である。
【発明を実施するための形態】
【０００９】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理システム１は、図１に例示するように、ユーザの左右の手のそれぞれに装着される操作デバイス１０Ｌ，１０Ｒ（以下、区別の必要がない場合は、操作デバイス１０と表記する）と、ユーザの頭部に装着される表示デバイス２０と、これら操作デバイス１０及び表示デバイス２０に対して有線または無線にて通信可能に接続される、制御装置３０とを含んで構成される。
【００１０】
また制御装置３０は、図１にその概要を例示するように、制御部３１と、記憶部３２と、操作受入部３３と、表示制御部３４とを含んで構成される。
【００１１】
操作デバイス１０は、例えば図２（ａ）にその正面側、図２（ｂ）にその背面側を例示するように、ユーザにより把持される把持部１１と、操作部１２とを含む。把持部１１は、実質的に多角形柱状をなし、操作部１２が、この把持部１１から連続して形成されている。図２の例では、操作部１２は、正面側にセンサ部１５と、ボタン操作部１６とを含み、背面側に、指センサ１７と、ボタン１８とを備えて構成される。またこの操作デバイス１０は、内部に制御回路１９を含んで構成されている。
【００１２】
この制御回路１９は、マイクロコンピュータ等のプログラム制御デバイスを含み、メモリ等の記憶手段に格納されたプログラムに従って動作する。またこの制御回路１９は、操作部１２のセンサ部１５，ボタン操作部１６，指センサ１７，ボタン１８に接続され、これらセンサ部１５や、ボタン操作部１６等から入力されるユーザの指の検出結果や、操作の内容表す信号等、各種の信号を受け入れて制御装置３０に対して送出する。この制御回路１９は、例えばブルートゥース（登録商標）等の無線通信インタフェース、またはＵＳＢや有線ＬＡＮ等の有線通信インタフェース等を含み、この無線通信インタフェースや有線通信インタフェースを介して、制御装置３０との間で種々の信号を授受する。
【００１３】
また、本実施の形態では、この操作デバイス１０の左側面または右側面のいずれか一方側に固定具１４が固定される。この固定具は例えば可撓性あるベルトを環状としたものである。この例の操作デバイス１０を操作するユーザは、固定具１４にユーザ自身の人差指から小指までを通し、操作デバイス１０の本体をユーザの親指の付根に当接させた位置に固定して用いる。図２の例では、操作デバイス１０の右側面側がユーザの手の平に押付けられて操作デバイス１０が固定される状態とした例が示されている。またこの操作デバイス１０の大きさは、固定具１４に指を通して操作デバイス１０を装着したユーザが、自然に操作デバイス１０を把持したときに、ユーザの親指末節が操作デバイス１０の正面側のボタン操作部１６に到達する程度の大きさとする。つまり本実施の形態では、ボタン１８を含む、操作部１２の少なくとも一部のボタン等が、把持部１１を把持したときに、ユーザの指が到達する範囲に配される。
【００１４】
すなわち、操作デバイス１０を装着したユーザが、自然に操作デバイス１０を把持したときには、当該ユーザの人差指は操作デバイス１０のボタン１８に触れる位置となり、ユーザは把持部１１を手の平と、中指、薬指、小指とで握りこむようになる。もっとも、この状態からユーザが手を開いても、固定具１４により操作デバイス１０がユーザの手に固定されるので、操作デバイス１０が落下することはない。
【００１５】
センサ部１５は、例えば、ユーザが自然に操作デバイス１０を把持したとき、ユーザの親指の末節側が到達する位置よりやや下方、ユーザの親指の基節側が近接する位置に配される。このセンサ部１５は、例えば、操作デバイス１０の正面側であって操作デバイス１０の表面の法線方向を中心とし、操作デバイス１０正面の左側面側から右側面側までの比較的広角の角度範囲を検出可能範囲として、この検出可能範囲においてユーザの親指を検出する。そして当該親指を検出した位置（上記角度範囲内の角度）と、センサ部１５からユーザの親指までの距離とを検出し、これらの情報を含む、検出結果情報を制御回路１９に出力する。このセンサ部１５は例えば、カメラや、光学センサ、焦電センサ、静電容量センサ等、どのようなものでも構わない。
【００１６】
またセンサ１７は、ユーザが自然に操作デバイス１０を把持したとき、ユーザの人差指、中指、薬指、小指の各指がそれぞれ到達する位置にそれぞれ配される。このセンサ１７は、指が近接した状態にあるか、そうでないかを表す情報を生成する静電容量センサ等であり、センサ１７の各々は、指が近接した状態にあるか、そうでないかを表す情報を生成して、制御回路１９に出力している。本実施の形態の例では、この操作デバイス１０が、本発明の第１の検出装置を実現している。
【００１７】
表示デバイス２０は、例えばユーザが頭部に装着するヘッドマウントディスプレイ（ＨＭＤ）等である。この表示デバイス２０は、制御装置３０が出力する画像データを、有線または無線にて受信し、当該受信した画像データを表示してユーザに提示する。本実施の形態の一例では、この表示デバイス２０は、例えば有機ＥＬ表示パネルや液晶表示パネルなどの表示素子を用いて構成される、ユーザの左目に提示する左目用画像表示部と、ユーザの右目に提示する右目用画像表示部とを含んでもよく、この場合、制御装置３０はそれぞれの画像表示部にて表示されるべき左目用画像データと右目用画像データとを生成して出力することとなる。この場合、表示デバイス２０は、当該左目用画像データを、左目用画像表示部で表示出力し、右目用画像データを、右目用画像表示部で表示出力する。
【００１８】
本実施形態においてこの表示デバイス２０は、ユーザが装着した状態では外界の様子を視認することができない非透過型の表示装置あってもよいし、ユーザが装着した状態で、外界の像に、表示するべき映像を半透明に合成して提示する透過型の表示装置であってもよい。
【００１９】
また、本実施の形態の一例では、この表示デバイス２０の正面側（ユーザが装着したときに、ユーザの顔面側にある側）を視野とするカメラ２１を含む。このカメラ２１は、ユーザの前方の所定範囲の視野（ＦＯＶ（Field of View））内の画像を繰り返し撮像し、当該撮像して得た画像データを、順次、制御装置３０に対して出力する。
【００２０】
制御装置３０の制御部３１は、ＣＰＵ等のプログラム制御デバイスであり、記憶部３２に格納されたプログラムに従って動作する。本実施の形態では、この制御部３１は、操作デバイス１０が送出する情報を受け入れる。また制御部３１は、表示デバイス２０が送出する画像データを受け入れて、当該画像データにユーザの手が撮像されていれば、当該手の形状を検出する処理を実行する。すなわち、本実施の形態のこの例では、表示デバイス２０とこの制御部３１とにより、第２の検出装置が実現される。
【００２１】
さらに、この制御部３１は、操作デバイス１０により検出されたユーザの指の動きに係る情報（ここでの例では、ユーザの人差し指から小指までの各指が操作デバイス１０に接触するよう曲げられているか否かを表す情報、並びに、親指の位置と距離に関する情報）に基づいてユーザの手のポーズを表す第１のポーズ情報を生成する。また、制御部３１は、上記表示デバイス２０が送出した画像データから検出した、手の形状に係る情報に基づいて、ユーザの手のポーズを表す第２のポーズ情報を生成する。
【００２２】
制御部３１は、ここで生成した第１のポーズ情報と、第２のポーズ情報とを、予め定めた条件に基づく基準に従って組み合わせて、ユーザの手のポーズを表す情報を生成して出力する。一例としてこの制御部３１は、予め定めた条件に基づき、と、第１のポーズ情報と、第２のポーズ情報とのいずれかを選択して、ユーザの手のポーズを表す情報として出力する。
【００２３】
さらに、この制御部３１は、ゲームなどのアプリケーションの処理を実行しており、当該処理に応じて、表示デバイス２０が表示するべき画像データを生成して、表示デバイス２０に当該画像データを出力する。この制御部３１の詳しい動作については後に述べる。
【００２４】
記憶部３２は、ディスクデバイスやメモリデバイス等であり、制御部３１によって実行されるプログラムを保持する。このプログラムは、ＤＶＤ−ＲＯＭ等のコンピュータ可読かつ非一時的な記録媒体に格納されて提供され、この記憶部３２に格納されたものであってもよい。また、この記憶部３２は、制御部３１のワークメモリとしても動作する。
【００２５】
操作受入部３３は、操作デバイス１０との間で有線または無線にて通信を行い、操作デバイス１０が出力する、ユーザの操作に関する情報や、指の動きに係る情報を受け入れて、制御部３１に出力する。
【００２６】
表示制御部３４は、表示デバイス２０との間で有線または無線にて通信を行い、制御部３１が出力する画像データを表示デバイス２０に送出する。またこの表示制御部３４は、表示デバイス２０が出力する、表示デバイス２０のカメラ２１にて撮像された画像データを受け入れて、制御部３１に出力する。
【００２７】
次に、制御装置３０の制御部３１の動作について説明する。本実施の形態のある例では、この制御部３１は、機能的には、図３に例示するように、手画像検出部５１と、第１ポーズ情報生成部５２と、第２ポーズ情報生成部５３と、条件判定部５４と、ポーズ情報出力部５５と、画像データ生成処理部５６とを含んで構成される。
【００２８】
ここで、手画像検出部５１は、表示デバイス２０のカメラ２１が逐次的に撮像して得た画像データの入力を順次受けて、それぞれの画像データを処理の対象として、処理の対象となった画像データにユーザの手が撮像されていれば、当該手の形状を検出する処理を実行する。具体的にこの手画像検出部５１は、表示デバイス２０のカメラ２１にて撮像された画像データから、ユーザの左手が撮像されている範囲と右手の撮像されている範囲とを検出し、また、手が撮像されていれば、当該手に含まれる各指について、指の関節の位置やその検出の信頼度を表す情報を生成する。例えば手画像検出部５１は、予め定められた人間の手の骨格モデルと、処理の対象となった画像データに含まれる手の部分の画像とから、当該骨格モデルにおける指の各関節の曲がり方（角度や方向等）に関する情報を生成し、骨格モデルによりユーザの手がどのような形状にあるかを推定して、指の関節の位置やその検出の信頼度を表す情報を生成する。
【００２９】
また、手画像検出部５１は、処理の対象となった画像データに撮像されていないユーザの手の指については、指の関節の位置が不明である旨の情報を出力してもよい。なお、この手画像検出部５１は、表示デバイス２０のカメラ２１が撮像して得た画像データにおいて、ユーザの手の指の一部が、例えばユーザの手の甲などによって隠蔽されている場合も、当該画像データの直前に撮像され、表示デバイス２０から受信された画像データに、当該隠蔽された指が撮像されていれば、その指の関節の位置に変化がないものとして、処理の対象となった画像データにおいて隠蔽されている指の関節の位置を推定して出力する。この処理については、既に広く知られた処理を用いることができるので、ここでの詳しい説明を省略する。
【００３０】
第１ポーズ情報生成部５２は、操作デバイス１０から受信した、ユーザの指の動きに係る情報（ここでの例では、ユーザの人差し指から小指までの各指が操作デバイス１０に接触するよう曲げられているか否かを表す情報、並びに、親指の位置と距離に関する情報）に基づいてユーザの手のポーズを表す第１のポーズ情報を生成する。具体的に、この第１ポーズ情報生成部５２は、ユーザの各指が伸ばされた状態にあるか、曲げられた状態にあるかを表す情報を、第１ポーズ情報として生成する。例えば、操作デバイス１０のセンサ部１５がユーザの親指が近接した位置にあり（つまり操作デバイス１０の筐体に接触しており）、ユーザの人差し指と中指と薬指とを検出するセンサ１７がそれぞれ対応する指が近接していることを検出しておらず、小指を検出するセンサ１７が、対応する指が近接していることを検出している場合、
当該手について、
親指：曲げ
人差し指：伸び
中指：伸び
薬指：伸び
小指：曲げ
という情報を、第１ポーズ情報として生成する。なお、後に述べるように、第２ポーズ情報において、指を伸ばした状態を「１．０」、限界まで曲げた状態を「０．０」として、関節が曲げられた度合い（指の開度）を数値として表現している場合、第１ポーズ情報生成部５２は、第１ポーズ情報を、これに合わせて数値として表してもよい。もっとも、操作デバイス１０のセンサ１７が、指が曲げられているか伸びているかといった２段階でのみ判断できる場合は、指を伸ばした状態である「１．０」と、限界まで曲げた状態である「０．０」とのいずれかの値のみが出力される。例えば上記の例であれば、第１ポーズ情報生成部５２は、第１ポーズ情報として
親指：０．０
人差し指：１．０
中指：１．０
薬指：１．０
小指：０．０
という情報を生成する。
【００３１】
第２ポーズ情報生成部５３は、手画像検出部５１が生成した、指の関節の位置や手の平の位置、方向（手の平の法線方向）等の情報に基づいて、ユーザの各指が伸ばされた状態にあるか、曲げられた状態にあるかを判断する。本実施の形態のある例では、この第２ポーズ情報生成部５３は、手画像検出部５１が生成した、指の関節の位置や手の平の位置などから、指ごとの伸び／曲げの状態を表す情報として、各指がどの程度曲げられているかを表す情報を第２ポーズ情報として生成する。具体的に第２ポーズ情報生成部５３は、ユーザが人差し指と中指とを伸ばし、他の指を軽く曲げた状態として、二本の指でいわばＶ字を形成していると判断した場合、当該手について、
親指：０．２
人差し指：１．０
中指：１．０
薬指：０．２
小指：０．１
などという情報（各指の開度の情報）を、第２ポーズ情報として生成する。なお、ここでは伸びている状態を「１」、限界まで曲げられた状態を「０」として、曲げられた割合を数値として表現している。
【００３２】
また、この第２ポーズ情報生成部５３は、手画像検出部５１が関節の位置が不明である旨の情報を出力する指がある場合は、当該指については、曲げまたは伸びのいずれの状態にあるか不明である旨の情報（例えば負の値などとする）を出力する。
【００３３】
なお、既に述べたように、最後に表示デバイス２０から受信した画像データにおいて、ユーザの指の一部が隠蔽されていたとしても、手画像検出部５１がそれより以前の画像データの情報に基づいて関節の位置を表す情報を出力している場合は、この第２ポーズ情報生成部５３は、当該出力されている情報に基づいて第２ポーズ情報を生成する。
【００３４】
条件判定部５４は、予め定めた条件が充足されるか否かを判断する。具体的にここで予め定めた条件の一例は、表示デバイス２０のカメラ２１の視野範囲に、ユーザの指が含まれるか否かに基づく条件、つまり、表示デバイス２０のカメラ２１にて撮像された画像データに、ユーザの手の指が撮像されているか否かの条件を含む。
【００３５】
本実施の形態のある例では、手画像検出部５１が、表示デバイス２０のカメラ２１にて撮像された画像データから、ユーザの左手が撮像されている範囲と右手の撮像されている範囲とを検出し、さらにそれぞれの指を検出する処理を行う際に、撮像されている指を列挙する処理を実行する。この処理も広く知られた方法を採用できるので、ここでの詳しい説明を省略する。なお、ここで表示デバイス２０のカメラ２１にて撮像された画像データに、ユーザの手の指が撮像されない例は、例えば図４（ａ）に示すように、ユーザの手Ｌ１全体が表示デバイス２０のカメラ２１の視野から外れている場合があるが、この場合だけに限られない。すなわち、図４（ｂ）に例示するように、ユーザの手Ｌ２は表示デバイス２０のカメラ２１の視野に含まれていても、ユーザ自身の手Ｌ２の甲などによってその少なくとも一部の指が隠蔽されてしまっている場合も、表示デバイス２０のカメラ２１にて撮像された画像データに、ユーザの手の指が撮像されない場合（表示デバイス２０のカメラ２１の視野範囲に、ユーザの指が含まれない場合）に含まれる。なお、図４（ｂ）では説明のため、手Ｌ２の隠れている指を破線で仮想的に示している。
【００３６】
条件判定部５４は、このように表示デバイス２０のカメラ２１にて撮像された画像データに含まれる指を列挙し、撮像されている指については条件を満足するものとし、撮像されていない指については条件を満足しないものとして、指ごとに、条件を充足するか否かを表す情報を出力する。
【００３７】
ポーズ情報出力部５５は、第１ポーズ情報生成部５２が出力する第１ポーズ情報と、第２ポーズ情報生成部５３が出力する第２ポーズ情報とを、条件判定部５４が出力する情報によって定められる基準に従って組み合わせ、ユーザの手のポーズを表す情報を生成して出力する。既に述べたように、このポーズ情報出力部５５は、条件判定部５４が出力する情報を参照して、第１のポーズ情報と、第２のポーズ情報とのいずれかを選択して、ユーザの手のポーズを表す情報として出力する。本実施の形態の一例では、この選択は指ごとに行われる。
【００３８】
すなわちポーズ情報出力部５５は、条件判定部５４が出力する、表示デバイス２０のカメラ２１にて撮像された画像データに撮像されている指であるか否かを表す条件を参照し、表示デバイス２０のカメラ２１にて撮像された画像データに撮像されている指については、第２ポーズ情報生成部５３が出力する第２ポーズ情報に含まれる、対応する指の情報を選択して出力し、表示デバイス２０のカメラ２１にて撮像された画像データに撮像されていない指については第１ポーズ情報生成部５２が出力する第１ポーズ情報に含まれる、対応する指の情報を選択して出力する。
【００３９】
一例として、ユーザが前方を見たまま、左手を頭部後方に移動し、右手は前方に突き出して、人差し指と中指とでＶ字を形成している場合を想定する。この場合、条件判定部５４は、左手についてはすべての指が表示デバイス２０のカメラ２１にて撮像された画像データに撮像されていないとする情報（条件の充足の有無を表す情報）を出力する。また、条件判定部５４は、右手については、図４（ｂ）に例示したように、親指、薬指、小指については表示デバイス２０のカメラ２１にて撮像された画像データに撮像されていないとする情報を出力し、人差し指と中指については、表示デバイス２０のカメラ２１にて撮像された画像データに撮像されているとする情報を出力する。
【００４０】
もっとも、この場合であっても、直前の表示デバイス２０のカメラ２１にて撮像された画像データに基づいて、右手の親指、薬指、小指についても各関節の位置を表す情報は出力され得る。従って当該親指、薬指、小指についても第２ポーズ情報にそれぞれ曲げられているか伸びているかを表す情報が含まれる。
【００４１】
ポーズ情報出力部５５は、条件判定部５４が出力する条件の情報に基づき、左手の各指については第１ポーズ情報に含まれる、対応する指の情報を出力し、右手については、人差し指と中指とについて、第２ポーズ情報に含まれる、対応する指の情報を出力し、その他の指については、第１ポーズ情報に含まれる、対応する指の情報を出力する。
【００４２】
画像データ生成処理部５６は、ポーズ情報出力部５５が出力する情報を用いて、表示デバイス２０において表示する画像データを生成する。一例として、この画像データは、仮想的なキャラクタの手の画像とすることができ、画像データ生成処理部５６は、当該仮想的なキャラクタの手の形（各指の曲げ伸ばしの状態）を、ポーズ情報出力部５５が出力するポーズ情報に基づいて決定して、当該キャラクタを所定の視野（例えば表示デバイス２０のカメラ２１と同じ視野）内に配し、レンダリングして画像データを生成する。この画像データ生成処理部５６の処理も、広く知られた処理であるので、ここでの詳しい説明を省略する。
【００４３】
［動作］
本発明の実施の形態に係る情報処理システム１は、例えば以上の構成を備えており、次のように動作する。なお、以下の例では、制御装置３０が、アプリケーションプログラムとして、仮想的な三次元空間（仮想空間）内に、ユーザの指示に従って画像を描画するペイントプログラムを実行しているものとする。このペイントプログラムに従う制御装置３０は、ユーザの左手の指が少なくとも一つ曲げられている間、ユーザの右手の指先の移動軌跡（実空間での右手の指先の移動軌跡に対応する、仮想空間内の対応する移動軌跡）に沿って、指定された色の球を次々に配して行くものとする。また右手の指のうち伸ばされている指が多くなるほど、球の半径を大きくするものとする。さらに、このペイントプログラムに従う制御装置３０は、ユーザの左手のすべての指が伸ばされた状態となったと判断すると、色を選択するメニューを表示して、ユーザに色を選択させるものとする。この色を選択させている間は、ユーザの右手の指先の移動軌跡に沿って、指定された色の球を配する処理を行わない。
【００４４】
本実施の形態のこの例において、ユーザは左右の手のそれぞれに、操作デバイス１０Ｌ，１０Ｒを装着する。以下の例では当初、ユーザは右手の各指を揃えて伸ばした状態で描画を行うものとする。なお通常、ユーザは、描画中は主に右手の指先を注視するので、表示デバイス２０のカメラ２１にはユーザの右手が撮像されるものとする。このときユーザの左手は、表示デバイス２０のカメラ２１の視野外にあってもよい。
【００４５】
制御装置３０は、図５に例示するように、表示デバイス２０のカメラ２１が撮像して得た画像データに含まれる右手の形状を検出する処理を実行する（Ｓ１）。制御装置３０は、ユーザの右手に含まれる各指について、指の関節の位置（仮想空間内の対応する座標）を表す情報を生成する。
【００４６】
制御装置３０は、操作デバイス１０Ｌ，１０Ｒのそれぞれから受信した、ユーザの指の動きに係る情報に基づいてユーザの左右の手のポーズを表す第１のポーズ情報を生成する（Ｓ２）。
【００４７】
また制御装置３０は、処理Ｓ１で生成された情報を用いて、表示デバイス２０のカメラ２１が撮像して得た画像データに含まれる右手の各指が伸ばされた状態にあるか、曲げられた状態にあるかを判断して、指ごとの伸び／曲げの状態を表す情報を第２ポーズ情報として生成する（Ｓ３）。この処理Ｓ３において、左手の指については、制御装置３０は、曲げまたは伸びのいずれの状態にあるか不明である旨の情報を生成する。
【００４８】
制御装置３０は、左右のそれぞれの指について、表示デバイス２０のカメラ２１にて撮像された画像データに撮像されているとの条件を満足するか否かを判断する（Ｓ４）。ここでは上述のように、右手の各指が撮像され、左手の各指は撮像されていないので、制御装置３０は、右手の親指から小指までは条件を満足すると判断し、左手の親指から小指までは条件を満足しないと判断する。
【００４９】
制御装置３０はそして、表示デバイス２０のカメラ２１にて撮像された画像データに撮像されている指であるか否かを表す条件を参照し、表示デバイス２０のカメラ２１にて撮像された画像データに撮像されている指については、処理Ｓ３で生成した、第２ポーズ情報に含まれる、対応する指の情報を選択して出力し、表示デバイス２０のカメラ２１にて撮像された画像データに撮像されていない指については処理Ｓ２で生成した、第１ポーズ情報に含まれる、対応する指の情報を選択して出力する（Ｓ５：条件に基づく組み合わせ出力）。
【００５０】
つまりここでの例では、右手の親指から小指までについては、処理Ｓ３で生成した指ごとの伸び／曲げの状態を表す情報がそのまま出力され、左手の親指から小指までについては、処理Ｓ２において生成した、指ごとの伸び／曲げの状態を表す情報がそのまま出力される。
【００５１】
制御装置３０は、ここで左手のいずれかの指が曲げられた状態にある旨の出力をしているか否かを判断し（Ｓ６）、いずれかの指が曲げられた状態にある旨の出力をしているときには（Ｓ６：Yes）、色を選択するメニューを表示せず、右手の指がいずれも（５本とも）伸びた状態であるので、５本が伸びた状態であるときに対応する半径であって、最後に選択された色（または選択がないときに使用されるものとして予め定められた色）の球を、右手の、例えば人差し指の指先位置を中心として描画する（Ｓ７：描画処理）。制御装置３０は、そして、処理Ｓ１に戻って処理を続ける。
【００５２】
一方、処理Ｓ６において左手の指がいずれも伸ばされていると判断すると（Ｓ６：No）、制御装置３０は、色の選択画面を、表示デバイス２０に対して出力して、ユーザに色を選択させる（Ｓ８：パレット表示）。ユーザがここで色を選択すると、制御装置３０は、次の描画の際に、当該選択された色を使用するよう設定し、処理Ｓ１に戻って処理を続ける。
【００５３】
このように本実施の形態によると、注視している手の指先については、表示デバイス２０のカメラ２１など、撮像された画像に基づく判断により、指の曲げ伸ばしが判定され、カメラ２１によって撮像されない指については、手に装着したデバイスにより指の曲げ伸ばしが判定されることとなる。
【００５４】
既に述べたように、画像データに基づく手のポーズの判断では、手の骨格の形状が推定できるので、指がどの程度曲げられているかが数値的に子細に判断できるのに対し、静電容量センサ等を用いる操作デバイス１０のセンサ１７等では、近接しているか離れているかの高々２，３段階で判断できるに留まる。つまり、画像データに基づく第２ポーズ情報は、一般に、第１ポーズ情報よりも詳細な手の形状が推定できる。
【００５５】
本実施の形態のここでの例では、表示デバイス２０のカメラ２１により取得した画像データに基づき第２ポーズ情報を生成するので、ユーザが注視している指先の位置は比較的高い精度で判断できることとなり、一方、ユーザの視野外にある指先の位置は、操作デバイス１０のセンサ１７などに基づいて判断されるため、比較的低い精度となるものの、手のポーズは推定可能な状態となる。
【００５６】
［組み合わせについての変形例］
なお、ここまでの説明では、表示デバイス２０のカメラ２１にて撮像された画像データに、ユーザの各指が撮像されているか否かの条件に基づき、表示デバイス２０のカメラ２１にて撮像された画像データに基づいて生成された第２ポーズ情報と、ユーザの手に装着されたデバイスが検出した情報に基づいて生成された第１のポーズ情報とのそれぞれから選択的に各指の情報を取得することとしていたが、本実施の形態はこれに限られない。
【００５７】
例えば、既に述べたように、表示デバイス２０のカメラ２１にて撮像された画像データに基づいて第２ポーズ情報を生成する際に、推定される骨格モデルの形状については、その推定の信頼度の情報が併せて得られる場合がある。そこで、この信頼度を用いて、信頼度が高いほど「１」に近くなり、信頼度が低いほど「０」に近くなるパラメータαを用いて、第１ポーズ情報に含まれる、指の開度を表す値Ｆｐと、第２ポーズ情報に含まれる、同じ指の開度を表す値Ｆｒとから、当該指についてのポーズ情報（開度を表す値）Ｆを、
Ｆ＝（１−α）・Ｆｐ＋α・Ｆｒ
というように、重みづけ平均により決定してもよい。
【００５８】
この例では、制御装置３０は、左右のそれぞれの手についての信頼度の情報から、対応する手のパラメータαを演算し、当該パラメータαを用いて、対応する手の各指のポーズ情報（指の開度を表す値）Ｆを、上述の数式により求めることとする。
【００５９】
また、このパラメータαは、信頼度の情報だけでなく、カメラ２１にて撮像された画像データ内にある手の位置に基づいて補正されてもよい。例えば、画像データの周縁部では、カメラ２１の光学系による歪みが影響する可能性があることに配慮して、周縁部の所定範囲に撮像された指については、パラメータαを、信頼度が低いときの値（ここでの例では「０」に近い値）に低減補正してもよい。
【００６０】
［条件の別の例］
以上の説明では、表示デバイス２０のカメラ２１にて撮像された画像データに、ユーザの各指が撮像されているか否かの条件により、第１ポーズ情報と第２ポーズ情報とを組み合わせることとしていたが、本実施の形態において用いられる条件はこの条件に限られない。
【００６１】
例えば、組み合わせの態様を決定する条件としては、操作デバイス１０により検出されたユーザの指の動きに係る情報と、表示デバイス２０のカメラ２１にて撮像された画像データに基づいて検出されたユーザの手の形状に係る情報との時間的変化に係る条件を含んでもよい。
【００６２】
この条件を充足するか否かは、例えば、操作デバイス１０により検出された情報から得られた指ごとの開度の情報の、過去所定期間内でのばらつきを表す統計量（分散など）σ１と、表示デバイス２０のカメラ２１にて撮像された画像データに基づいて得られた指の開度の情報の、過去所定期間内でのばらつきを表す統計量（分散など）σ２とにより判断される。
【００６３】
すなわち、ある指についての上記統計量がσ１＜σ２であれば、当該指については第１ポーズ情報の開度の値をポーズ情報に含めて出力し、統計量がσ１≧σ２であれば、当該指については第２ポーズ情報の開度の値をポーズ情報に含めて出力することとしてもよい。
【００６４】
この例によると、判断がゆらぐ（値が頻繁に変化する）検出結果を信頼できないものとして扱うこととなる。
【００６５】
さらに、条件は複数組み合わせて用いられてもよい。例えば、ある指が撮像されている場合であっても、当該指についての上記統計量の差σ２−σ１が予め定めた閾値を超えている場合は、当該指については第１ポーズ情報の開度の値をポーズ情報に含めて出力することとしてもよい。これは、撮像されている指であっても、判断が比較的大きくゆらぐ（値が頻繁に変化する）場合に、その撮像された画像データに基づく検出結果を信頼できないものとして扱うことに相当する。
【００６６】
［手のポーズを表す情報の変形例］
また、手のポーズを表す情報としては、ここまでに述べたような、指の開度（関節がどれだけ曲げられているか／伸ばされているか）を表す情報に限られない。手のポーズを表す情報はこのほか、手の向き（手の平の法線の方向）や、親指の向きの情報等が含まれてもよい。
【００６７】
さらに、手のポーズを表す情報が複数の情報の要素（各指の開度、手の向き、親指の向き等の情報）を含む場合、情報の要素ごとに、所定の条件に基づいて、第１ポーズ情報と第２ポーズ情報とのいずれに含まれる情報要素を用いるか（あるいはどのような重みによって組み合わせるか）を決定してもよい。
【００６８】
一例として、制御装置３０は、各情報の要素について、第１ポーズ情報の過去所定期間内でのばらつきを表す統計量（分散など）σ１と、表示デバイス２０のカメラ２１にて撮像された画像データに基づいて得られた第２ポーズ情報の過去所定期間内でのばらつきを表す統計量（分散など）σ２との比較により、ある情報の要素についての上記統計量がσ１＜σ２であれば、当該情報の要素については第１ポーズ情報の値をポーズ情報に含めて出力し、統計量がσ１≧σ２であれば、当該情報の要素については第２ポーズ情報の値をポーズ情報に含めて出力することとしてもよい。
【００６９】
この例では、例えば右手のすべての指の開度については第２ポーズ情報の値が用いられても、手の向きについては第１ポーズ情報の値が用いられる、などといったことが生じ得る。
【００７０】
［カメラの位置］
また、ここまでの説明において、第２ポーズ情報のもととなる画像データを撮影するカメラ２１は表示デバイス２０のユーザ前面側に配されるものとしたが、本実施の形態はこれに限られず、表示デバイス２０の頭頂部や側頭部などに配されてもよい。さらに、このカメラは表示デバイス２０とともに移動する必要は必ずしもなく、ユーザが所在する部屋に配置されたカメラであってもよい。またカメラは一つだけでなく、複数あってもよい。
【００７１】
さらに、カメラは光学的なカメラでなくても、赤外線を投影してその濃淡の像を得るような、いわゆるデプスカメラ（被写体までの距離情報を取得するカメラ）であってもよい。
【００７２】
［操作デバイスの他の例］
また操作デバイス１０は、ユーザが指を開いても落下することなく、ユーザの指の開度を測定できるものであれば、ここまでに例示したものでなくてもよい。例えば、ユーザが手に装着し、各指の開度（関節の曲げ角度）を歪みゲージ等で計測するグローブであってもよい。
【００７３】
［表示態様の変更］
本実施の形態では、さらに、制御装置３０がユーザの手のポーズ情報に基づいて、生成して表示デバイス２０に出力する画像データに含める仮想的なキャラクタの手の形状を変更するだけでなく、その画像データにおけるオブジェクトの表示態様を異ならせてもよい。例えば、制御装置３０は、各指の開度の情報を、第１ポーズ情報と第２ポーズ情報とのいずれかから選択している場合、第１ポーズ情報から選択した情報に基づいて仮想空間内の位置を決定して描画している指と、第２ポーズ情報から選択した情報に基づいて仮想空間内の位置を決定して描画している指とで、異なる態様で指の描画を行ってもよい。具体的には、制御装置３０は、第１ポーズ情報から選択した情報に基づいて仮想空間内の位置を決定して描画している指については、背景に半透明合成（アルファブレンディング）し、第２ポーズ情報から選択した情報に基づいて仮想空間内の位置を決定して描画している指については背景を透過させないで描画するようにしてもよい。また半透明合成するか否かではなく、輪郭線の色を異ならせるなど、他の方法で表示態様を異ならせてもよい。
【００７４】
［処理への反映］
また本実施の形態の制御装置３０は、各指の開度の情報を、第１ポーズ情報と第２ポーズ情報とのいずれかから選択している場合、第１ポーズ情報から選択した情報に基づいて仮想空間内の位置を決定して描画している指と、第２ポーズ情報から選択した情報に基づいて仮想空間内の位置を決定して描画している指と、仮想空間内のオブジェクトとの接触判定（いわゆるコリジョン判定）の方法を異ならせてもよい。
【００７５】
すなわち、本実施の形態のある例では、制御装置３０は、比較的精度の低い判定結果に基づいて仮想空間内の位置が決定されている指（上述の例では第１ポーズ情報により位置が決定されている指）については、オブジェクトの形状に関わらず、その外接直方体に当該指が接触したときにオブジェクトと接触したと判断してもよい。
【００７６】
また制御装置３０は、比較的精度の高い判定結果に基づいて仮想空間内の位置が決定されている指（上述の例では第２ポーズ情報により位置が決定されている指）については、オブジェクトの外形表面に当該指が接触したときにオブジェクトと接触したと判断する。
【００７７】
この例では、例えばユーザが視認していない（表示デバイス２０のカメラ２１の視野外にある）指についてのオブジェクトとの接触判定と、ユーザが視認している（表示デバイス２０のカメラ２１の視野内にある）指についてのオブジェクトとの接触判定とで判定方法を異ならせ、視認している指についての接触判定を比較的厳密に行うのに対し、視認していない指については簡易に判定を行うこととする。
【００７８】
［切り替わり］
なお、本実施の形態の例では、第１ポーズ情報によってその仮想空間内での位置が判断されていた指が、カメラ２１の視野範囲に移動することで、第２ポーズ情報によってその仮想空間内での位置が判断されるように切り替わることが考えられる。このとき、推定結果の差によって指が不自然に移動することを防止するため、制御装置３０は、指や手の位置等の情報について、前回の位置の情報との差が予め定めたしきい値を超える場合は、急速な変化を防止するために、前回の位置と今回演算された位置との間で時間に応じて変化する重みにより重みづけ付け平均し、徐々に今回演算された位置に移動するように調整してもよい。このような調整処理方法は広く知られた方法を採用できる。
【００７９】
［手の位置等の検出］
また、制御装置３０は、操作デバイス１０が検出する情報と、表示デバイス２０のカメラ２１が撮像した画像データとの双方を用いて、ユーザの手の位置の情報を生成して出力してもよい。具体的に、操作デバイス１０が重力方向に対するユーザの手の平の角度の情報を出力する場合、制御装置３０は、この情報と、表示デバイス２０のカメラ２１が撮像した画像データから検出された手の位置の情報とに基づいて、ユーザの実空間内での手の位置の情報（実空間内に設定された所定座標系での手の重心位置の情報など）を生成して出力する。また制御装置３０は、この手の重心位置の情報に対応する仮想空間内での位置の情報を生成して出力する。
【００８０】
このように、本実施の形態では、指等、手のポーズに限らず、ユーザの姿勢や各関節の位置及び回転角度等の情報を、操作デバイス１０が検出する情報と、表示デバイス２０のカメラ２１が撮像した画像データとの双方を用いて生成してもよい。
【００８１】
［状態の表示］
また、本実施の形態では、制御装置３０は、表示デバイス２０のカメラ２１にて撮像された画像データから、ユーザの指が検出できたか否かをユーザに通知してもよい。この通知は、表示デバイス２０に対して表示することにより行ってもよいし、音声等で鳴動されてもよい。またユーザが触力覚提示デバイスを装着しているときには、制御装置３０は、当該デバイスを用いて力覚を提示するなどして通知を行ってもよい。
【００８２】
また制御装置３０は、操作デバイス１０から受信した、ユーザの指の動きに係る情報に基づいて生成した第１ポーズ情報と、表示デバイス２０のカメラ２１にて撮像された画像データを用いて生成した第２ポーズ情報とを比較して、それらがそれぞれ一致しているか否かを表す通知を行ってもよい。
【００８３】
具体的に、第１ポーズ情報，第２ポーズ情報がそれぞれ各指の開度のように数値の情報である場合、数値を丸めて（例えば四捨五入して）から比較して一致しているか否かを判断してもよい。
【００８４】
さらにここまでの説明では、制御装置３０が、ユーザの指のポーズの情報を生成することとしていたが、指のポーズに代えて、互いに検出方法が異なる複数の種類の検出手段を用いてそれぞれ検出した足の状態（足首の角度や足の指の方向等）や、身体の状態（姿勢等）の情報（検出情報）を用い、所定の条件で当該得られた複数の情報を組み合わせて、出力の対象とする足の状態を表す情報や身体の状態を表す情報を生成して出力してもよい。
【符号の説明】
【００８５】
１  情報処理システム、１０  操作デバイス、１１  把持部、１２  操作部、１４  固定具、１５  センサ部、１６  ボタン操作部、１７  センサ、１８  ボタン、１９  制御回路、２０  表示デバイス、２１  カメラ、３０  制御装置、３１  制御部、３２  記憶部、３３  操作受入部、３４  表示制御部、５１  手画像検出部、５２  第１ポーズ情報生成部、５３  第２ポーズ情報生成部、５４  条件判定部、５５  ポーズ情報出力部、５６  画像データ生成処理部。
【図１】
0006716028.tif 000002
【図２】
0006716028.tif 000003
【図３】
0006716028.tif 000004
【図４】
0006716028.tif 000005
【図５】
0006716028.tif 000006