(57)【要約】   ユーザの手の動きを検出するデバイス(２０)に接続され、仮想的なキャラクタの動作を制御する制御装置であって、デバイス(２０)によるユーザの手の動きの検出結果に応じて、当該検出されたユーザの手の動きが、キャラクタの手の動きをユーザの手の動きに一致させる第１の指示動作と、ユーザの手の動きとは異なる動作を指示する第２の指示動作のいずれであるかを判断し、判断の結果、第１の指示動作であると判断されたときには、検出されたユーザの手の動きにキャラクタの手の動きを一致させ、第２の指示動作であると判断されたときには、検出したユーザの手の動きに基づき、当該手の動きとは異なる動作をキャラクタに実行させる制御装置である。
2017150129.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの手の動きを検出するデバイスに接続され、仮想的なキャラクタの動作を制御する制御装置であって、  前記デバイスによるユーザの手の動きの検出結果に応じて、当該検出されたユーザの手の動きが、前記キャラクタの手の動きをユーザの手の動きに一致させる第１の指示動作と、ユーザの手の動きとは異なる動作を指示する第２の指示動作のいずれであるかを判断する判断部と、  前記判断の結果、第１の指示動作であると判断されたときには、前記検出されたユーザの手の動きに前記キャラクタの手の動きを一致させ、第２の指示動作であると判断されたときには、前記検出したユーザの手の動きに基づき、当該手の動きとは異なる動作を前記キャラクタに実行させるキャラクタ制御部と、  を有する制御装置。
【請求項２】
請求項１に記載の制御装置であって、  ユーザの手の動きの内容ごとに、当該手の動きの内容と前記キャラクタが実行すべき動作の内容とを関連づける設定を保持する設定保持部をさらに含み、  前記判断部は、前記ユーザの手の動きの検出結果と、前記保持した設定とを参照して、前記検出されたユーザの手の動きが第１の指示動作と第２の指示動作のいずれであるかを判断し、  前記キャラクタ制御部は、前記判断の結果、第２の指示動作であると判断されたときには、前記保持した設定に含まれる前記キャラクタが実行すべき動作を前記キャラクタに実行させる  ことを特徴とする制御装置。
【請求項３】
請求項１又は２に記載の制御装置であって、  前記デバイスは、さらに、ユーザの手を握る動作に応じて押し込まれるボタンと、前記ボタンの押し込みに反発する力覚を提示する力覚提示部とを備え、  前記キャラクタ制御部は、仮想空間内で前記キャラクタが対象物を握る動作を行う場合に、前記ボタンの押し込み量が当該対象物のサイズに応じた量となったときに、前記ボタンの押し込みに反発する力覚を提示するよう、前記力覚提示部に指示する  ことを特徴とする制御装置。
【請求項４】
請求項１から３のいずれか一項に記載の制御装置であって、  前記デバイスは、さらにスピーカーと、マイクとを有し、  前記制御装置は、  前記デバイスの実空間内における位置を特定するデバイス位置特定部と、  前記デバイス位置特定部によって前記デバイスがユーザの耳に近接していると判断した場合に、前記マイクから入力された音声の情報を情報通信網を介して送出し、情報通信網を介して受信した音声の情報に基づいて前記スピーカーを鳴動させる音声通信処理を実行する音声通信部と、  をさらに有する制御装置。
【請求項５】
請求項４に記載の制御装置であって、  前記制御装置は複数の前記デバイスに接続され、  前記デバイス位置特定部は複数の前記デバイスそれぞれの位置を特定し、  前記音声通信部は、複数の前記デバイスが互いに接近したことを検出したときに、いずれかの前記デバイスが有するマイクからの信号入力を遮断するよう制御する  ことを特徴とする制御装置。
【請求項６】
ユーザの手の動きを検出するデバイスを用いて仮想的なキャラクタの動作を制御する制御方法であって、  前記デバイスによるユーザの手の動きの検出結果に応じて、当該検出されたユーザの手の動きが、前記キャラクタの手の動きをユーザの手の動きに一致させる第１の指示動作と、ユーザの手の動きとは異なる動作を指示する第２の指示動作のいずれであるかを判断し、  前記判断の結果、第１の指示動作であると判断されたときには、前記検出されたユーザの手の動きに前記キャラクタの手の動きを一致させ、第２の指示動作であると判断されたときには、前記検出したユーザの手の動きに基づき、当該手の動きとは異なる動作を前記キャラクタに実行させる  ことを特徴とするデバイスの制御方法。
【請求項７】
ユーザの手の動きを検出するデバイスを用いて仮想的なキャラクタの動作を制御するためのプログラムであって、  前記デバイスによるユーザの手の動きの検出結果に応じて、当該検出されたユーザの手の動きが、前記キャラクタの手の動きをユーザの手の動きに一致させる第１の指示動作と、ユーザの手の動きとは異なる動作を指示する第２の指示動作のいずれであるかを判断する判断部、及び、  前記判断の結果、第１の指示動作であると判断されたときには、前記検出されたユーザの手の動きに前記キャラクタの手の動きを一致させ、第２の指示動作であると判断されたときには、前記検出したユーザの手の動きに基づき、当該手の動きとは異なる動作を前記キャラクタに実行させるキャラクタ制御部、  としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、ユーザの手の動きを検出するデバイスを制御する制御装置、制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】  家庭用ゲーム機等におけるコントローラデバイスは、ユーザが行ったボタン押下やデバイスを振る等の動作を検出して、ゲーム機等の本体に当該検出したユーザの動作を表す情報を送出している。【０００３】  従来、こうしたコントローラのうちには、加速度センサ等を内蔵し、ユーザがデバイス自体を振る動作を行ったときに、どのようなタイミングで、どの程度の強さで振られているのかを検出して出力するものがあった。また、手袋のようにユーザの手に装着して、手の動きを検出するデバイスが知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】  しかしながら、上記従来のデバイスでは、ユーザの手に装着されるものでない場合は、ユーザがデバイスに対して行った動作を検出できるだけであり、また、手袋のようなデバイスでは、ユーザの手の動きは検出できるものの、手の動きだけではコンピュータに対する複雑な指示を行うことは難しい場合があった。【０００５】  本発明は上記実情を考慮してなされたものであって、その目的の一つは、ユーザの手に装着されるデバイスを制御することによって様々な指示をユーザから受け付けることのできる制御装置、当該デバイスの制御方法、及び制御プログラムを提供することにある。
【課題を解決するための手段】
【０００６】  本発明に係る制御装置は、ユーザの手の動きを検出するデバイスに接続され、仮想的なキャラクタの動作を制御する制御装置であって、前記デバイスによるユーザの手の動きの検出結果に応じて、当該検出されたユーザの手の動きが、前記キャラクタの手の動きをユーザの手の動きに一致させる第１の指示動作と、ユーザの手の動きとは異なる動作を指示する第２の指示動作のいずれであるかを判断する判断部と、前記判断の結果、第１の指示動作であると判断されたときには、前記検出されたユーザの手の動きに前記キャラクタの手の動きを一致させ、第２の指示動作であると判断されたときには、前記検出したユーザの手の動きに基づき、当該手の動きとは異なる動作を前記キャラクタに実行させるキャラクタ制御部と、を有する。【０００７】  本発明に係る制御方法は、ユーザの手の動きを検出するデバイスを用いて仮想的なキャラクタの動作を制御する制御方法であって、前記デバイスによるユーザの手の動きの検出結果に応じて、当該検出されたユーザの手の動きが、前記キャラクタの手の動きをユーザの手の動きに一致させる第１の指示動作と、ユーザの手の動きとは異なる動作を指示する第２の指示動作のいずれであるかを判断し、前記判断の結果、第１の指示動作であると判断されたときには、前記検出されたユーザの手の動きに前記キャラクタの手の動きを一致させ、第２の指示動作であると判断されたときには、前記検出したユーザの手の動きに基づき、当該手の動きとは異なる動作を前記キャラクタに実行させることを特徴とする。【０００８】  本発明に係るプログラムは、ユーザの手の動きを検出するデバイスを用いて仮想的なキャラクタの動作を制御するためのプログラムであって、前記デバイスによるユーザの手の動きの検出結果に応じて、当該検出されたユーザの手の動きが、前記キャラクタの手の動きをユーザの手の動きに一致させる第１の指示動作と、ユーザの手の動きとは異なる動作を指示する第２の指示動作のいずれであるかを判断する判断部、及び、前記判断の結果、第１の指示動作であると判断されたときには、前記検出されたユーザの手の動きに前記キャラクタの手の動きを一致させ、第２の指示動作であると判断されたときには、前記検出したユーザの手の動きに基づき、当該手の動きとは異なる動作を前記キャラクタに実行させるキャラクタ制御部、としてコンピュータを機能させるためのプログラムである。このプログラムは、コンピュータ読み取り可能で非一時的な情報記憶媒体に格納されて提供されてよい。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る制御装置が制御するデバイスを正面側から見た斜視図である。
【図２】本発明の実施の形態に係る制御装置が制御するデバイスを背面側から見た斜視図である。
【図３】本発明の実施の形態に係る制御装置の構成例を表すブロック図である。
【図４】本発明の実施の形態に係る制御装置の機能を表す機能ブロック図である。
【図５】動作パターン設定データの内容の一例を示す図である。
【図６Ａ】ユーザが指示動作を行う様子の一例を示す図である。
【図６Ｂ】指示動作に応じたユーザキャラクタの表示例を示す図である。
【図７】本発明の実施の形態に係る制御装置が実行する処理の流れの一例を示すフロー図である。
【図８】本発明の実施の形態に係る制御装置が制御するデバイスを音声通信に利用する場合の一例を示す図である。
【発明を実施するための形態】
【００１０】  本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明において各部の大きさやその比、配置等は一例であり、本実施の形態の例は、図示等した大きさや比率、配置に限られるものではない。
【００１１】  本発明の実施の形態の一例に係る制御装置１０が制御の対象とするデバイス２０は、図１，図２に例示するようなものである。図１はデバイス２０を正面側から見た斜視図であり、図２はデバイス２０を背面側から見た斜視図である。本実施の形態の一例では、このデバイス２０は、デバイス本体２１０と、附属品の一つである固定具２２０とを含んで構成される。
【００１２】  デバイス本体２１０は、ユーザにより把持される把持部２１１と、操作部２１２とを含む。把持部２１１は、左側面２２１及び右側面２２２を有し、本実施の形態の一例では実質的に多角形柱状をなしている。操作部２１２は、把持部２１１から連続して形成されており、図１，２の例では、正面側に親指センサ部２３１と、ボタン操作部２３２とを含み、背面側には、第１指センサ２３３と、ロッキングボタン２３４と、表示部２３５とを含む。また把持部２１１の背面側には、第２指センサ２４１と、第３指センサ２４２とが配されている。
【００１３】  デバイス本体２１０の左側面２２１または右側面２２２のいずれか一方側には、附属品としての固定具２２０が固定される。また、左側面２２１または右側面２２２の他方側には、別の附属品としてのバッテリ２４０が固定されてもよい。本実施の形態の例では、固定具２２０は可撓性あるベルトを環状としたものである。
【００１４】  このデバイス２０は、固定具２２０にユーザの人差指から小指までを通し、デバイス本体２１０をユーザの親指の付根に当接させた位置に固定して使用される。図１，２の例では、デバイス２０の右側面２２２側がユーザの手の平に押付けられてデバイス２０が固定される。またこのデバイス２０の大きさは、ユーザが自然にデバイス本体２１０を把持すると、ユーザの親指末節はデバイス２０の正面側のボタン操作部２３２に到達し、ユーザの親指の基節側が親指センサ部２３１に近接する程度の大きさとする。またこのときユーザの人差指はデバイス２０背面側のロッキングボタン２３４に触れる位置となり、ユーザは把持部２１１を手の平と、中指、薬指、小指とで握りこむようになるものとする。もっとも、この状態からユーザが手を開いても、固定具２２０によりデバイス２０はユーザの手に固定されるので、デバイス２０が落下することはない。
【００１５】  親指センサ部２３１は、例えば、ユーザが自然にデバイス本体２１０を把持したとき、ユーザの親指の末節側が到達する位置よりやや下方、ユーザの親指の基節側が近接する位置に配される。この親指センサ部２３１は、デバイス２０の正面側であってデバイス２０の表面の法線方向を中心とし、デバイス２０正面の左側面側から右側面側までの比較的広角の角度範囲を検出可能範囲として、この検出可能範囲においてユーザの親指を検出する。そして当該親指を検出した位置（上記角度範囲内の角度）と、親指センサ部２３１から検出したユーザの親指までの距離とを検出し、これらの情報を含む、検出結果情報を制御装置１０に出力する。この親指センサ部２３１は例えば、カメラや、光学センサ、焦電センサ、静電容量センサ等、どのようなものでも構わない。ボタン操作部２３２は、少なくとも一つのボタンを含み、ユーザの押下操作があったときに、押下操作がされたボタンを特定する情報を制御装置１０に出力する。また、ボタン操作部２３２は、その中央に傾倒操作部材２３２ａを含んでいる。傾倒操作部材２３２ａは、ユーザが親指で任意の方向に傾ける操作（傾倒操作）を行って方向を指示するための操作部材であり、傾倒操作が行われた場合に傾き方向及び傾き量の情報を制御装置１０に出力する。
【００１６】  ロッキングボタン２３４は、デバイス２０の背面側に突出した第１の位置と、デバイス２０側へ押し込まれた第２の位置との間で揺動するボタンである。ロッキングボタン２３４は、ユーザの人差指等で押し込み操作され、その押し込み量を表す情報を制御装置１０に出力する。具体的にこのロッキングボタン２３４は、ポテンショメータ等を含んで構成できるが、押し込み量が検出できれば、この構成に限られるものではない。
【００１７】  表示部２３５は、例えば多色に発光可能なＬＥＤ（Light Emission Diode）を含む。この表示部２３５は、制御装置１０から入力される指示に従い、ＬＥＤを、当該指示された発光態様（指示された色で点灯、あるいは指示された間隔で断続的に点灯するなどの態様）で発光させる。
【００１８】  また本実施の形態においてはこのロッキングボタン２３４に、第１指センサ２３３が取り付けられる。第１指センサ２３３は、ロッキングボタン２３４の表面の法線方向を中心とするデバイス２０の背面側の所定の角度範囲を検出可能範囲として、この検出可能範囲においてユーザの人差指を検出する。すなわち、当該人差指の位置（上記角度範囲内の角度）と、第１指センサ２３３から人差指までの距離とを検出し、これらの情報を含む、検出結果情報を制御装置１０に出力する。この第１指センサ２３３は、親指センサ部２３１同様、光学センサ等の各種のセンサであってよい。
【００１９】  さらに本実施の形態の一例では、ロッキングボタン２３４には、力覚提示装置が接続されている。この力覚提示装置は、制御装置１０から入力される指示に従い、ロッキングボタン２３４の押し込みに抗する力を提示する。具体的にこの力覚提示装置は、ロッキングボタン２３４を押し込むときに回転するロータを含むモーターや、ロッキングボタン２３４の押し込みにより被駆動体が直線的に移動するリニアアクチュエータ等で構成できる。このようにモーター等を用いる場合、力覚提示装置は押し込みによる回転や被駆動体の移動があったときに、当該回転や移動とは逆方向に力を加えるようモーターやアクチュエータを制御する。このような力覚提示装置については広く知られたものを採用できるので、ここでの詳しい説明を省略する。
【００２０】  第２指センサ２４１は、デバイス２０の把持部２１１にユーザの中指がどの程度近接しているかを検出する。そして当該検出の結果を表す情報を、制御装置１０に出力する。同様に、第３指センサ２４２は、デバイス２０の把持部２１１にユーザの薬指及び小指のそれぞれがどの程度近接しているかを検出する。そして当該検出の結果を表す情報を、制御装置１０に出力する。これら第２指センサ２４１、第３指センサ２４２はいずれも、静電容量センサや光学センサ等で構成できる。ここで光学センサは、赤外光を放射する発光部と、赤外光を検出する受光部とを有し、発光部から放射された光が対象物に反射して受光部に入射する割合を測定するものなどがある。このような光学センサによると、光学センサ近傍に対象物が近接するほど、受光部に入射する光の強度を発光部から放射された光の強度で除した割合（比強度と呼ぶ）ｒが大きくなるので、対象物までの距離が計測できる。また、光学センサは、ＴＯＦ（Time-of-Flight）方式で対象物までの距離を計測するものでもよい。この場合、発光部から放射された光が対象物に反射して受光部に入射するまでに要する時間から、対象物までの距離を計測する。
【００２１】  また本実施の形態では、デバイス２０は、左側面２２１と右側面２２２とのいずれの側に、所定の附属品である固定具２２０が固定されているかを検出するセンサ（固定具センサ）を備えている。この固定具センサは具体的には、固定具２２０を装着したときにオンとなるマイクロスイッチ等を、左側面２２１と右側面２２２とにそれぞれ配することで実現できる。このような所定の附属品を取り付けたときに、取り付けた側を検出する構成については、その他広く知られた方法を用いることができるので、ここでの詳しい説明を省略する。本実施の形態では、この固定具センサによる検出の結果は制御装置１０に入力される。
【００２２】  また、デバイス本体２１０は、その筐体内にスピーカー２５１、マイクロフォン２５２、及びハプティックデバイス２５３を内蔵している。ハプティックデバイス２５３は、デバイス本体２１０を振動させ、デバイス２０が固定されているユーザの手に振動を伝達することで、触覚を提示する。なお、デバイス本体２１０には複数のハプティックデバイス２５３が内蔵されてもよい。さらに、デバイス２０の筐体表面には、表示部２３５とは別に、ポジショントラッキング用の発光素子が配置されることとする。発光素子は複数個配置されてもよい。制御装置１０は、この発光素子が発する光の位置から、デバイス２０の実空間内における位置を特定する。
【００２３】  制御装置１０は、デバイス２０と通信接続される情報処理装置であって、例えば家庭用ゲーム機やパーソナルコンピュータ等であってよい。また、本実施形態において制御装置１０は、頭部装着型の表示装置３０とも通信接続される。この制御装置１０は図３に例示するように、制御部１１と、記憶部１２と、通信部１３とを含んで構成されている。制御部１１は、ＣＰＵ等のプログラム制御デバイスを含み、記憶部１２に格納されたプログラムに従って各種の情報処理を実行する。本実施の形態では制御部１１は、仮想空間内の様子を示す画像を描画して表示装置３０の画面に表示させるとともに、その画像を、デバイス２０によって検出されるユーザの動作に応じて更新する。この制御部１１の具体的な処理の内容については、後に詳しく述べる。
【００２４】  記憶部１２は、メモリデバイス等であり、制御部１１によって実行されるプログラムを保持する。このプログラムは、コンピュータ可読かつ、非一時的な記憶媒体に格納されて提供され、この記憶部１２に複写されたものであってもよい。またこの記憶部１２は、制御部１１のワークメモリとしても動作する。
【００２５】  通信部１３は、ＵＳＢ（Universal Serial Bus）等のシリアルインタフェースあるいは、ブルートゥース（登録商標）等の無線通信インタフェースを含んで構成される。制御装置１０は、この通信部１３を介してデバイス２０と通信可能に接続される。特に本実施形態において、通信部１３は、親指センサ部２３１、第１指センサ２３３、第２指センサ２４１、及び第３指センサ２４２による検出結果の情報や、ボタン操作部２３２及びロッキングボタン２３４に対してユーザが行った操作の内容を示す情報をデバイス２０から受信する。また、通信部１３は、制御部１１からの指示に従って、ロッキングボタン２３４に接続された力覚提示装置やデバイス本体２１０内のハプティックデバイス２５３等を動作させる信号を送信する。
【００２６】  さらに通信部１３は、表示装置３０と有線又は無線で通信するための通信インタフェースを含んでいる。制御装置１０は、通信部１３を介して、表示装置３０が表示すべき映像のデータを表示装置３０に対して送信する。また、表示装置３０が備えるカメラ３２によって撮像された撮像画像のデータを表示装置３０から受信する。
【００２７】  表示装置３０は、ヘッドマウントディスプレイ等であって、ユーザが頭部に装着して使用するタイプのデバイスである。表示装置３０は、映像表示素子３１と、複数のカメラ３２と、を備えている。
【００２８】  映像表示素子３１は、制御装置１０から受信したデータに基づく映像を、ユーザの目の前、又は網膜に直接結像することによって、ユーザに提示する。特に本実施形態では、映像表示素子３１がユーザの左右の目に異なる映像を提示することで、両眼視差による立体表示が実現される。
【００２９】  複数のカメラ３２は、表示装置３０の周囲の画像を撮像する。これらのカメラ３２は、表示装置３０の前方や左右に向けて配置されているものとする。ユーザが表示装置３０を頭部に装着し、手にデバイス２０を装着して使用する際には、カメラ３２の撮像画像内にデバイス２０が写ると想定される。この撮像画像は、制御装置１０がデバイス２０の位置を特定するために用いられる。なお、カメラ３２は、例えばステレオカメラ等、被写体までの距離を検出可能な撮像デバイスであってよい。
【００３０】  以下、制御装置１０の制御部１１の動作について説明する。本実施の形態においてこの制御部１１は、機能的には図４に例示するように、デバイス位置特定部４１と、指位置特定部４２と、仮想空間制御部４３と、を含んで構成されている。さらに、仮想空間制御部４３は、設定保持部４３ａと、判断部４３ｂと、キャラクタ制御部４３ｃと、画像描画部４３ｄと、を含んで構成されている。
【００３１】  デバイス位置特定部４１は、デバイス２０のポジショントラッキングを実行する。これは、表示装置３０の位置を基準としたデバイス２０の実空間内における位置を特定する処理である。具体的に、デバイス位置特定部４１は、デバイス２０のポジショントラッキングを開始する際に、まずデバイス２０に指示して、ポジショントラッキング用の発光素子を発光させる。その後、カメラ３２による撮像画像を表示装置３０から受信し、その撮像画像を解析することによって、撮像画像内から発光素子による光を検出する。この光の撮像画像内における位置を用いることによって、表示装置３０の位置を基準としたデバイス２０の実空間内における位置を特定する。このような処理を繰り返し実行することにより、ユーザがデバイス２０を装着した手を自由に動かしている間、デバイス位置特定部４１はその手の位置を追跡することができる。
【００３２】  指位置特定部４２は、デバイス２０の親指センサ部２３１、第１指センサ２３３、第２指センサ２４１、及び第３指センサ２４２による検出結果の情報を用いて、デバイス２０から見たユーザの指の位置を特定する。前述したように、デバイス２０は固定具２２０によってユーザの手のひらに固定されるため、ユーザはデバイス２０を自分の指で把持し続ける必要はなく、デバイス２０を装着した状態のまま５本の指をある程度自由に動かすことができる。指位置特定部４２は、これら５本の指がそれぞれどの位置にあるかを特定する。
【００３３】  具体的に、指位置特定部４２は、親指センサ部２３１の検出結果を用いてユーザの親指の実空間内における位置を特定する。また、第１指センサ２３３の検出結果から人差指の位置を、第２指センサ２４１の検出結果から中指の位置を、第３指センサ２４２の検出結果から薬指、及び小指の位置を、それぞれ特定する。なお、前述したように第２指センサ２４１及び第３指センサ２４２は対象物までの距離を検出するセンサなので、センサ位置から見た上下左右の指の動きを検出することは困難である。しかしながら、デバイス２０が固定具２２０によってユーザの手に固定された状態においては、中指、薬指、及び小指の３本の指は、いずれもその指を伸ばしたときにはデバイス２０から遠ざかり、曲げたときにはデバイス２０から近づく動きをするものの、デバイス２０の筐体表面に対して平行な向きにはそれほど動かないと想定される。そのため、これらの指については、第２指センサ２４１ないし第３指センサ２４２で検出できればその距離まで指を曲げた状態にあり、検出できない場合にはユーザがその指を伸ばした結果検出範囲外に移動したと推定することができる。一方、親指、及び人差指については、親指センサ部２３１、及び第１指センサ２３３の検出結果を用いて、３次元的な位置を特定することができる。
【００３４】  このようにユーザの５本の指それぞれの位置を特定することで、指位置特定部４２はユーザの手の動きを特定する。具体的に指位置特定部４２は、ユーザが５本の指全てをデバイス２０に接触させて握り込む動きや、全ての指を伸ばす動き、一部の指だけを伸ばす動きなどを区別して特定することができる。そのため、例えばユーザがじゃんけんのグーチョキパーいずれかの形に手を動かしたり、人差指でどこかを指したり、親指や人差指でデバイス２０上のボタン等を操作しようとしたり、といった各種の手の動きを特定し、特定した動きに対応した処理を実行することができる。
【００３５】  仮想空間制御部４３は、仮想空間内でユーザが様々な体験をすることのできる機能を提供する。具体的に仮想空間制御部４３は、ユーザの分身となる仮想的なキャラクタ（以下、ユーザキャラクタＣという）を仮想空間内に配置し、その仮想空間内の様子を示す映像を描画し、表示装置３０に表示させることとする。ここでユーザキャラクタＣは、少なくとも人の手を模した形状を備えており、人の手指と同じように動く関節を有しているものとする。なお、以下ではユーザキャラクタＣは人の全身に近い形状を備えており、手だけでなく足なども人と同様に稼働するものとする。ユーザは、デバイス２０を装着した自分の腕や手指を動かすことで、ユーザキャラクタＣを操作する。また、ボタン操作部２３２やロッキングボタン２３４に対する操作入力によってユーザキャラクタＣを操作することもできる。以下、ユーザキャラクタＣを動作させるためのユーザの動作を指示動作という。
【００３６】  特に本実施形態では、ユーザキャラクタＣは２つの動作モードで動作するものとする。以下では、この２つの動作モードを第１動作モードと第２動作モードという。第１動作モードは、ユーザの動きに連動して仮想空間内でユーザキャラクタＣが動作するモードである。第１動作モードにおいては、仮想空間制御部４３は、デバイス位置特定部４１が特定するデバイス２０の位置、及び指位置特定部４２が特定するユーザの指の位置に基づいて、ユーザの手の動きと一致するようにユーザキャラクタＣを動かすこととする。つまり、第１動作モードでは任意のユーザの手の動きがそのまま指示動作となる。これにより、ユーザはあたかもユーザキャラクタＣが自分自身であるかのようにユーザキャラクタＣを操作して、仮想空間内のオブジェクトに触れたりすることができる。
【００３７】  第２動作モードは、ユーザキャラクタＣがユーザの動きとは異なる動作を行うモードである。この第２動作モードでは、ユーザは、ボタン操作部２３２に対するボタン操作や指の動きによるジェスチャーなど、特定の指示動作を行う。その指示動作の内容に応じて、キャラクタ制御部４３ｃは、ユーザキャラクタＣに予め定められたパターンの動作を行わせる。
【００３８】  このような２つの動作モードによるユーザキャラクタＣの動作を実現するために、設定保持部４３ａは、第２動作モードでの指示動作に対応するユーザの手の動きについて、その手の動きの内容（指示内容データ）と、その指示動作に対応するユーザキャラクタＣの動作内容（動作内容データ）と、を関連づける設定情報を予め記憶部１２に保持しておく。以下では、この設定情報のことを動作パターン設定データという。図５は動作パターン設定データに含まれるデータ内容の一例について示している。なお、この図では指示内容データ及び動作内容データが文章で示されているが、実際には指示内容データは、ユーザが特定の形に手を動かした際の各指の検出範囲を特定するデータであってもよいし、ユーザが操作対象とするボタン操作部２３２内の操作部材やロッキングボタン２３４の押し込み量など、操作内容に関する条件を定義するデータであってもよい。また、指示内容データは、指の位置だけでなく、デバイス位置特定部４１によって特定されるデバイス２０の位置（すなわち、ユーザの手の位置）に関する条件を含んでもよい。また、動作内容データは、ユーザキャラクタＣを形成する骨格モデルのモーションを定義するデータや、ユーザキャラクタＣが動作するアニメーションの生成に必要なデータなど、ユーザキャラクタＣの動作に必要な様々な種類のデータであってよい。
【００３９】  判断部４３ｂは、指位置特定部４２によって特定されるユーザの手の動きと、設定保持部４３ａが保持する動作パターン設定データとを参照して、特定されたユーザの手の動きが第１動作モードにおける動作と第２動作モードにおける動作のいずれであるかを判断する。具体的には、ユーザの手の動きが動作パターン設定データに含まれるいずれかの指示内容データに該当する場合、ユーザは第２動作モードの指示動作を行っていると判断できる。該当しない場合には、ユーザは第１動作モードの指示動作をしていると推定される。
【００４０】  キャラクタ制御部４３ｃは、判断部４３ｂによる判断結果に基づいて、仮想空間内のユーザキャラクタＣを動作させる制御を実行する。具体的に、ユーザが第１動作モードの指示動作をしていると判断された場合には、指位置特定部４２によって特定されるユーザの手の動きと一致させるように、ユーザキャラクタＣの手を動作させる。このときキャラクタ制御部４３ｃは、デバイス位置特定部４１によって特定されるデバイス２０の位置の情報を用いることによって、手の形だけでなく、手の位置もユーザと一致するようにユーザキャラクタＣを動かしてもよい。なお、キャラクタ制御部４３ｃは、インバースキネマティクス技術などを用いて、特定されたユーザの指や手の位置から検出対象となっていないユーザの体の他の部位の位置を推定し、その推定結果に応じてユーザキャラクタＣの全身を構成するパーツを移動させてもよい。一方、ユーザが第２動作モードの指示動作をしていると判断された場合には、キャラクタ制御部４３ｃは、動作パターン設定データに示される動作内容に従って、ユーザキャラクタＣを動作させる。この場合のユーザキャラクタＣの動作は、ユーザの手の動きそのものとは異なる動作となる。
【００４１】  画像描画部４３ｄは、以上説明したようにして動作するユーザキャラクタＣが配置された仮想空間内の様子を示す画像を描画し、表示装置３０に対して出力する。例えば画像描画部４３ｄは、ユーザキャラクタＣの頭部に対応する位置に設定された視点位置から仮想空間内を見た様子を描画する。こうすれば、ユーザは自分がユーザキャラクタＣになったかのように一人称視点で仮想空間内の景色を閲覧できる。また、視点位置はユーザキャラクタＣの後方に設置されてもよい。この場合、ユーザはユーザキャラクタＣを含む仮想空間内の景色を俯瞰視点で閲覧することができる。
【００４２】  俯瞰視点の場合に限らず、一人称視点の場合でも、画像描画部４３ｄが描画する画像内には、ユーザキャラクタＣの手が含まれうる。第１動作モードにおいては、このユーザキャラクタＣの手はユーザの手の動きと一致するように動作する。さらに一人称視点の場合、仮想空間内の視点位置、及び視線方向は、ユーザが頭部に装着した表示装置３０の動きに連動して変化するものであってよい。こうすれば、ユーザが自分の手の方を向いたときに、表示装置３０の画面にはユーザキャラクタＣの手が表示されるため、ユーザにはユーザキャラクタＣの手が自分の手であるように感じられる。
【００４３】  第１動作モードでは、仮想空間内のユーザキャラクタＣが指まで含めてユーザ自身と連動して動作する。そのため、ユーザは例えば仮想空間内のオブジェクトを触ったり、つまんだり、また敵キャラクタからの攻撃を防御したり、敵キャラクタに向かってパンチをしたり、といった動作をまさに自分自身の手の動きによって実現できる。図６Ａ及び図６Ｂは、このようにユーザの手の動きと表示画面内のユーザキャラクタＣの手の動きが連動する様子の一例を示している。図６Ａは、実空間内においてユーザがデバイス２０を装着した手を自身の前方に動かして物をつかむような形に指を動かす様子を示している。また、図６Ｂは、図６Ａに示したユーザの動きに連動して画像描画部４３ｄが描画する表示画像の一例を示しており、ユーザキャラクタＣの手が仮想空間内のオブジェクトＯをつかもうとする様子が示されている。
【００４４】  また、仮想空間制御部４３は、ユーザによる特定のジェスチャーに応じて、仮想空間内に様々なイベントを発生させてもよい。例えば仮想空間制御部４３は、メニュー画面を仮想空間内に表示して、ユーザにその中のメニュー項目を選択させてもよい。ユーザはメニュー画面内の所望のメニュー項目を指で指すなどの指示動作を行うことによって、メニュー選択が可能となる。また、ユーザが人差指を伸ばした状態で手を動かした場合に、仮想空間制御部４３は、仮想空間内の空中にその人差指の軌跡を表示させてもよい。これによりユーザは空中に絵や文字を描くことができる。また、仮想空間制御部４３は、ユーザの特定のジェスチャーに応じてユーザキャラクタＣに武器を使用させたり、レーザー等で敵を攻撃するエフェクトを発生させたりしてもよい。
【００４５】  以上説明したような第１動作モードでの動作中、ユーザはボタン操作部２３２内の操作部材やロッキングボタン２３４などを操作してもよい。このようなボタン操作に応じて仮想空間制御部４３は、予め定められた特殊な動作をユーザキャラクタＣに行わせたり、仮想空間内で何らかのイベントを発生させたりする。具体的に仮想空間制御部４３は、武器を選択したり、ユーザキャラクタＣを走らせたりなどの動作をボタン操作に割り当ててもよい。このようにすれば、ユーザは自分の手の動きに一致するようにユーザキャラクタＣを動作させながら、手の動きだけでは再現が難しい動作をもユーザキャラクタＣに実行させることができる。この場合において、ボタン等を操作するユーザの手の動きにユーザキャラクタＣの手を連動させてしまうと、ユーザキャラクタＣの動きが不自然になってしまうおそれがある。そこで本実施形態では、ボタン等を操作するユーザの手の動きを表す指示内容データを動作パターン設定データに含めることで、ユーザがこのような操作を行おうとした場合に、判断部４３ｂが第２動作モードの指示動作であると判断し、第１動作モードから第２動作モードへの切り替えを行う。これにより、ユーザキャラクタＣの動作を一時的にユーザの手の動きと一致させないようにし、ユーザが違和感を憶えないような予め定められた動作パターンでユーザキャラクタＣを動作させることができる。
【００４６】  具体例として、傾倒操作部材２３２ａに対する傾倒操作が行われた場合に、キャラクタ制御部４３ｃは傾けられた方向に対応する方向に仮想空間内のユーザキャラクタＣを移動させることとする。このときキャラクタ制御部４３ｃは、例えば指示された方向に向かって走る動作をユーザキャラクタＣに行わせる。この例では、ユーザキャラクタＣが走っている間、その手を傾倒操作中のユーザの手に一致させる必要はない。そこで、ユーザが傾倒操作を行った場合には、予め定められたパターンの動作（例えば手を握って腕を振る動作）をユーザキャラクタＣに行わせることとすればよい。
【００４７】  さらにこの例においては、ユーザが傾倒操作を開始するために指を傾倒操作部材２３２ａに近づけている状態や、傾倒操作を中断して傾倒操作部材２３２ａに親指をかけて待機している状態においても、ユーザキャラクタＣの手をユーザの手の動きに連動させる必要はない。本実施形態では、ユーザの手の詳細な動きをデバイス２０で特定可能なことから、例えばユーザの手が傾倒操作部材２３２ａ近傍の所定範囲内に移動した場合に、キャラクタ制御部４３ｃは第２動作モードでの動作をユーザキャラクタＣに行わせてもよい。このような制御によれば、ユーザがボタンや傾倒操作部材２３２ａを実際に操作している間だけでなく、操作を開始しようとした状態、操作を一時的に中断した状態においても、その手の動きと異なる動作をユーザキャラクタＣに実行させることができる。
【００４８】  例えば傾倒操作に応じてユーザキャラクタＣが走る動作を行う例では、キャラクタ制御部４３ｃは、ユーザが傾倒操作部材２３２ａに親指を近づけていると判断された場合に、ユーザキャラクタＣに腕を構えて走り出そうとする姿勢を取らせてもよい。また、ユーザが傾倒操作を行った後、傾倒操作部材２３２ａを元に戻したが傾倒操作部材２３２ａから指を離さずにいると判断された場合、ユーザキャラクタＣにその場でジョギングを続ける動作を行わせてもよい。その後、ユーザが傾倒操作部材２３２ａから完全に指を離した場合には、判断部４３ｂは第２動作モードから第１動作モードへの切り替えを行い、キャラクタ制御部４３ｃはユーザの手の動きにユーザキャラクタＣを連動させる制御を再開する。
【００４９】  なお、傾倒操作部材２３２ａに限らず、ボタン操作部２３２内のその他の操作部材やロッキングボタン２３４に対する操作をユーザが行う場合にも、同様の制御を行ってよい。このような制御を行うためには、ユーザがボタン操作部２３２内の操作部材やロッキングボタン２３４を操作しようとする際の指の動きを表す指示内容データと、これに対応するユーザキャラクタＣの動作内容データとを、動作パターン設定データに含めておけばよい。
【００５０】  また、ユーザがボタン操作部２３２やロッキングボタン２３４に指を近づけた場合、どのボタンを操作しようとしているかにかかわりなく、キャラクタ制御部４３ｃはユーザキャラクタＣの手を所定の基準姿勢（手を開いた状態など自然な姿勢）に変化させたり、直前に第１動作モードにおける動作を行っていたときの手の形を維持させたりしてもよい。このような制御によれば、第１動作モードと第２動作モードとの間の切り替えをユーザに違和感を抱かせないよう自然に行うことができる。
【００５１】  なお、以上の説明ではユーザは片方の手に一つのデバイス２０だけを装着して指示動作を行うこととしたが、ユーザは両手のそれぞれにデバイス２０を装着してもよい。前述したように、デバイス本体２１０は左右どちらの側面にも固定具２２０を固定可能になっている。そのため、同じデバイス２０を固定具２２０の固定位置に応じて右手用、左手用のいずれにも使用できる。このデバイス２０を２個用意してユーザの左右の手に装着すれば、指位置特定部４２はユーザの両手全ての指の位置を一度に特定できるようになる。また、デバイス位置特定部４１も、複数のカメラ３２の撮像画像を用いることで、左右それぞれのデバイス２０の位置をトラッキングできる。そのため、キャラクタ制御部４３ｃは、第１動作モードにおいては、ユーザキャラクタＣの左右両方の手をユーザの両手の動きに一致するように動作させることができる。また、第２動作モードにおいては、ユーザの両手を組み合わせた指示動作に応じた内容の動作をユーザキャラクタＣに行わせることができる。
【００５２】  また、以上の説明では、第１動作モードにおいてはユーザの手の動きに連動してユーザキャラクタＣの手を動かすだけとしたが、キャラクタ制御部４３ｃは、ユーザキャラクタＣの手を動かすとともに、その他の部位を所与の制御条件に従って動作させてもよい。例えば表示装置３０がモーションセンサなどを内蔵していれば、制御装置１０は表示装置３０の実空間内における動きを特定することができる。そこでキャラクタ制御部４３ｃは、表示装置３０の動きの検出結果に応じてユーザキャラクタＣの頭部の位置や向きを変化させてもよい。また、キャラクタ制御部４３ｃは、例えばユーザキャラクタＣの下半身を予め定められた動作パターンに従って動作させながら、上半身はユーザの手や頭の動きと一致するように動作させてもよい。さらにこのように複数の制御条件に基づいてユーザキャラクタＣを動作させる場合、全体としてユーザキャラクタＣが不自然な体勢にならないよう、インバースキネマティクス技術などを用いてユーザキャラクタＣの手や頭の位置に基づいて胴体などの他の部位の位置を計算し、その結果に応じてユーザキャラクタＣの全身を動作させてもよい。
【００５３】  また、以上の説明では、第１動作モードにおいては、ユーザキャラクタＣの手の位置、及び５本の指全ての動きを、ユーザの指示動作に一致させることとしたが、これらの一部の要素だけをユーザの指示動作に一致させ、それ以外の要素については一致させずに、所与の制御条件に従って動作させてもよい。具体例として、キャラクタ制御部４３ｃは、指位置特定部４２が特定した５本の指の位置に一致させるようにユーザキャラクタＣの指を動作させる一方で、ユーザキャラクタＣの手の位置については、デバイス位置特定部４１が特定したデバイス２０の位置に関係なく、所定の位置に移動させたり、移動させず停止したままにしたりしてもよい。逆に、ユーザキャラクタＣの手の位置や腕の動きをデバイス２０の位置や姿勢に応じてユーザと一致するように制御する一方で、ユーザキャラクタＣの指については指位置特定部４２の特定結果と無関係に動作させてもよい。なお、キャラクタ制御部４３ｃは、これらの動作モードをシチュエーションなどに応じて使い分けてもよい。すなわち、キャラクタ制御部４３ｃは、ユーザキャラクタＣの動作内容を決定する際に、デバイス２０の位置特定結果、及びユーザの指位置特定結果の双方にユーザキャラクタＣの動作を一致させる動作モード、ユーザキャラクタＣの手の位置のみデバイス２０の位置特定結果に一致させる動作モード、ユーザキャラクタＣの指の位置のみユーザの指位置特定結果に一致させる動作モード、いずれもユーザの動きとは異なる所与の動作内容を実行させる動作モード（前述した第２動作モード）の４つの動作モードを、適宜切り替えてもよい。また、ユーザキャラクタＣの５本の指のうち、一部の指（例えば親指と人差指）のみをユーザの指の位置に一致させ、その他の指は所与の制御条件に従って動作させる動作モードがあってもよい。
【００５４】  ここで、制御部１１が実行する処理の流れの具体例について、図７を用いて説明する。この図の例では、まずデバイス位置特定部４１が、デバイス２０の実空間内における位置を特定する（Ｓ１）。さらに指位置特定部４２が、ユーザがデバイス２０を装着した手の５本の指それぞれの位置を特定する（Ｓ２）。
【００５５】  その後、判断部４３ｂが、設定保持部４３ａが保持している動作パターン設定データを参照して、Ｓ１及びＳ２で特定された情報から求められるユーザの手の動きが動作パターン設定データ内のいずれかの指示内容データに合致するか否かを判定する（Ｓ３）。合致すると判定された場合、第２動作モードの指示動作がなされたと判断できるので、キャラクタ制御部４３ｃは、合致する指示内容データに関連づけられた動作内容データを参照して、その内容に応じてユーザキャラクタＣの動作内容を決定する(Ｓ４)。一方、Ｓ３でいずれの指示内容データにも合致しないと判定された場合、第１動作モードの指示動作がなされたと判断できるので、キャラクタ制御部４３ｃは、ユーザの手の動きと一致するようユーザキャラクタＣの動作内容を決定する（Ｓ５）。より具体的には、Ｓ１で特定された位置にユーザキャラクタＣの手を移動させるとともに、Ｓ２で特定された位置にユーザキャラクタＣの手の各指を移動させる。
【００５６】  Ｓ４及びＳ５のいずれの場合にも、決定された動作内容に応じてユーザキャラクタＣが動作する様子を示す画像を画像描画部４３ｄが描画し、表示装置３０に対して描画された画像のデータを出力する（Ｓ６）。以上説明した処理を一定時間おきに繰り返し実行することによって、ユーザの手の動きに応じて様々な動作をユーザキャラクタＣに行わせることができる。
【００５７】  さらに仮想空間制御部４３は、ユーザが仮想空間内で様々な種類の体験をしたり、より現実感のある体験をしたりすることができるように、各種の制御を実行してもよい。以下、このような制御の具体例について、説明する。
【００５８】  まず、力覚提示や触覚提示によって仮想空間の現実感を高める制御について、説明する。第１動作モードにおいては、ユーザは自分の手を動かすことで、仮想空間内のオブジェクトにユーザキャラクタＣの手を触れさせる動作が可能である。この場合に、仮想空間内のオブジェクトとユーザキャラクタＣとの間の位置関係に応じた力覚提示制御を行うことで、より仮想空間をリアリティあるものとしてユーザに感じさせることができる。例えば図６Ｂに例示したようにユーザキャラクタＣがオブジェクトＯをつかもうとする場合、ユーザはデバイス２０の把持部２１１を握り込むように自分の手を動かすことになる。このときユーザの人差指は、ロッキングボタン２３４を押し込むように動かされる。
【００５９】  この例において、仮想空間内のオブジェクトＯのサイズがデバイス２０の把持部２１１の太さに一致するとは限らない。そこで仮想空間制御部４３は、ロッキングボタン２３４に接続された力覚提示装置を制御して、オブジェクトＯのサイズに応じた押し込み量だけロッキングボタン２３４が押し込まれたタイミングで、ロッキングボタン２３４の押し込みに反発する力覚を提示させる。これにより、オブジェクトＯのサイズに合致する位置までユーザが人差指を曲げると、それ以上強く握り込むことが困難になる。このような制御によれば、オブジェクトＯのサイズが小さい場合ロッキングボタン２３４を奥の方まで押し込むことができ、オブジェクトＯのサイズが比較的大きい場合にはすぐに力覚提示が行われてそれ以上ロッキングボタン２３４を押し込めなくなる。そのためユーザは、オブジェクトを実際に握っている状態に近い感覚を体験することができる。
【００６０】  なお、ここでは人差指で押し込まれるロッキングボタン２３４に接続された力覚提示装置が、反発力を発生させることとしている。そのため、オブジェクトＯのサイズに合わせた握り込みの感覚は人差指だけに感じられることになる。しかしながら、デバイス２０は、その他の指についても、同様に押し込み量に応じた力覚提示を行う機構を備えてもよい。これにより、オブジェクトＯを握った際により現実に近い感覚をユーザに感じさせることができる。
【００６１】  さらにキャラクタ制御部４３ｃは、ユーザキャラクタＣが仮想空間内のオブジェクトを握る動作を行うときだけでなく、仮想空間内のオブジェクトに接触する動作を行った場合にも、ハプティックデバイス２５３を用いてユーザに触覚提示を行ってよい。このとき、ユーザキャラクタＣが接触したオブジェクトの材質や重量、またユーザキャラクタＣとオブジェクトとの間の位置関係などに応じて、ユーザに提示する触覚の内容や強度、向きなどを変化させてもよい。これによりユーザは、実在しない仮想空間内のオブジェクトを直接触っているかのような感触を得ることができる。また、仮想空間内のオブジェクトと干渉する実空間内の位置に自分の手を移動させてしまわないようにすることができる。このような制御によれば、例えばユーザキャラクタＣが仮想空間内の机に手を置いてその上にある物をどかすといった動作を行う場合に、実際には何もない場所でユーザが手を動かしているにもかかわらず、机やその上にある物の感触をユーザに伝えることができる。
【００６２】  また、第１動作モードにおいて、ユーザは仮想空間内のオブジェクトに類似する実空間内の物体を手で持って指示動作を行ってもよい。前述の通りユーザはデバイス２０を手で把持する必要がなく、５本の指を自由に動かすことができるので、デバイス２０を装着した状態で別の物体を手で持つことができる。そのため、例えば仮想空間内のオブジェクトを把持して動かす動作をユーザキャラクタＣに行わせたい場合、ユーザは操作対象となる仮想空間内のオブジェクトと近い形状の物体を手で持った状態で自分の手を動かしてもよい。こうすれば、より現実に近い感覚でユーザキャラクタＣを操作することができる。例えばユーザは、仮想空間内におけるハンドルの代わりに皿を手で持った状態で第１動作モードの指示動作を行ってもよい。
【００６３】  また、仮想空間制御部４３は、実空間内に存在する物体の情報を取得し、仮想空間内に反映させてもよい。例えば表示装置３０のカメラ３２によって撮像された画像を用いて、その撮像画像内に仮想的なオブジェクトを重畳して表示画像を生成することによって、仮想空間制御部４３は実空間内に仮想的なオブジェクトが出現したりする拡張現実を実現できる。この場合にも、ユーザが実空間内の物体に触れたり物体を動かしたりする手の動きを検出することで、仮想空間制御部４３は仮想空間内で様々なエフェクトを発生させることができる。また、カメラ３２だけでなく、デバイス２０のマイクロフォン２５２によって実空間の情報を取得してもよい。例えばユーザが実空間内の物体を指で撫でた際に発生する音をマイクロフォン２５２で集音することによって、映像だけからは分からないこともある物体表面の質感を推定し、仮想空間内のオブジェクトの挙動に反映させてもよい。
【００６４】  次に、ユーザが別のユーザと仮想空間内で交流する例について、説明する。この例では、ユーザが使用する制御装置１０は、インターネット等の通信ネットワークを介して別のユーザ（以下、ゲストユーザという）が使用する別の制御装置１０（以下、ゲスト制御装置１０ｂという）と接続されるものとする。以下では、ゲストユーザ、及びゲスト制御装置１０ｂとの区別のため、ゲストユーザと交流するローカル側のユーザをローカルユーザといい、ローカルユーザが使用する制御装置１０をローカル制御装置１０ａという。この例では、ゲストユーザも本実施形態に係るデバイス２０を手に装着しているものとする。また、ローカル制御装置１０ａは、ローカルユーザを表すユーザキャラクタＣだけでなく、ゲストユーザを表すゲストキャラクタも仮想空間内に登場させることとする。
【００６５】  この場合、ローカル制御装置１０ａは、ゲストユーザが装着したデバイス２０のマイクロフォン２５２によって集音された音声データをゲスト制御装置１０ｂから受信し、スピーカー２５１やその他の音声再生デバイスからその音声を再生する。また、ローカルユーザが装着したデバイス２０のマイクロフォン２５２によって集音された音声データも、同様にゲスト制御装置１０ｂに送信し、ゲスト制御装置１０ｂ側の音声再生デバイスから再生させる。これにより、ローカルユーザとゲストユーザとは音声で通話を行うことができる。なお、ローカル制御装置１０ａがローカルユーザの装着したステレオヘッドフォンやマルチチャンネルスピーカーからゲストユーザの声を再生させる場合、仮想空間内においてゲストキャラクタが存在する方向から声が聞こえるように、各チャンネルの音声を制御してもよい。
【００６６】  さらにローカル制御装置１０ａは、ゲストユーザが装着するデバイス２０によって検出されたゲストユーザの手の動きに関する情報をゲスト制御装置１０ｂから取得し、その情報に基づいてゲストキャラクタを動作させてもよい。このような動作制御は、前述したローカルユーザの動作に応じたユーザキャラクタＣの動作制御と同様にして実現できる。特に第１動作モードでは、ゲストキャラクタもゲストユーザの手の動きに連動して動作することになる。そのためローカルユーザは、ゲストキャラクタがゲストユーザと同様のジェスチャーを行う様子を表示装置３０で閲覧しながら、身振り手振りも含めたコミュニケーションを取ることができる。なお、ローカルユーザの手の動きについても、同様にゲスト制御装置１０ｂに送信され、ゲスト制御装置１０ｂ側での処理に利用されてよい。
【００６７】  また、ローカル制御装置１０ａは、仮想空間内にゲストキャラクタを登場させずに、ゲストユーザとの間で音声通信（ボイスチャット）だけを実行してもよい。この場合、ローカルユーザは、あたかも電話のようにデバイス２０を使用することができる。具体的に、ローカルユーザがデバイス２０を自分の耳元に持ってくるジェスチャー操作を行った場合、ローカル制御装置１０ａはユーザが他のユーザとの音声通信を希望していると推定し、音声通信処理を開始する。ローカル制御装置１０ａは、このようなジェスチャー操作を、デバイス位置特定部４１によるポジショントラッキング処理によって特定できる。あるいは、ローカル制御装置１０ａは、デバイス２０に搭載された近接センサの検出結果に基づいてデバイス２０がユーザの顔に近づけられたことを検出してもよい。この場合の近接センサは、各指の位置を検出する指センサのいずれかであってもよいし、別のセンサであってもよい。
【００６８】  上述したジェスチャー操作に応じて音声通信処理を開始する場合、既に通信相手となるゲストユーザが特定されていれば、ローカル制御装置１０ａは直ちに音声通信を開始できる。あるいはローカル制御装置１０ａは、ジェスチャー操作に応じて仮想空間内にフレンドリストを表示するなどしてローカルユーザに通信相手となるゲストユーザを選択させ、選択されたゲストユーザが使用するゲスト制御装置１０ｂに対して音声通信の開始要求を送信してもよい。
【００６９】  また、ローカルユーザが両手にデバイス２０を装着している場合、ローカル制御装置１０ａこの両手のデバイス２０を用いて音声通信処理を実現してもよい。このときローカルユーザは、一方のデバイス２０が備えるスピーカー２５１をゲストユーザの声を聞くために使用し、他方のデバイス２０が備えるマイクロフォン２５２を自分の声をゲストユーザに送るために使用する。図８は、このように２個のデバイス２０を用いてローカルユーザが音声通信を行っている様子を示している。
【００７０】  この例では、ローカル制御装置１０ａは、どちらのデバイス２０のマイクロフォン２５２から得られた音声信号をゲスト制御装置１０ｂに送信するかを、各デバイス２０の位置に応じて決定してもよい。具体的には、ポジショントラッキングの結果、ユーザの耳から遠い方にあると特定されたデバイス２０のマイクロフォン２５２によって得られた音声信号を、ゲスト制御装置１０ｂに対して送信する。また、ゲスト制御装置１０ｂから受信した音声信号は、ユーザの耳に近い方にあると特定されたデバイス２０のスピーカー２５１から再生させる。図８の例では、ローカルユーザが右手に装着したデバイス２０のスピーカー２５１と、左手に装着したデバイス２０のマイクロフォン２５２とが、音声通信に使用されることになる。こうすれば、ユーザがどちらのスピーカー２５１、及びマイクロフォン２５２を使用するかわざわざ指定しなくとも、通話に適した位置にあるスピーカー２５１及びマイクロフォン２５２を用いて音声通信を行うことができる。さらにこの場合において、ローカル制御装置１０ａは、音声通信の実施中、選択されなかった側のスピーカー２５１、及びマイクロフォン２５２を動作させないように制御してもよい。図８の例では、右手のデバイス２０のマイクロフォン２５２と、左手のデバイス２０のスピーカー２５１とが動作しないように制御されることになる。特に２個のデバイス２０が一定以上近い位置に近づいた場合に、一方のデバイス２０に内蔵されたマイクロフォン２５２の動作を停止させることで、ハウリングを防止することができる。
【００７１】  なお、本発明の実施の形態は、以上説明したものに限られない。例えば以上の説明では、デバイス位置特定部４１は、デバイス２０が備える発光素子の光を表示装置３０が備えるカメラ３２で撮像することによってデバイス２０のポジショントラッキングを行うこととしたが、これに限らず、別の場所に設置したカメラによってポジショントラッキングを行ってもよいし、カメラ以外のデバイスによってポジショントラッキングを行ってもよい。また、デバイス２０が加速度センサやジャイロスコープ等のモーションセンサを内蔵する場合、その検出結果をポジショントラッキングに利用してもよい。また、以上の説明では表示装置３０は頭部装着型のデバイスであるとしたが、これに限らず家庭用テレビ受像機等の据え置き型のデバイスであってもよい。
【００７２】  また、仮想空間内のキャラクタに実行させる動作は、以上説明したものに限らず、様々な動作であってよい。同様に、第２動作モードにおいてキャラクタに所定の動作を実行させるためにユーザが行う指示動作についても、以上説明した物に限らず、様々な動作があり得る。
【符号の説明】
【００７３】  １０  制御装置、１１  制御部、１２  記憶部、１３  通信部、２０  デバイス、３０  表示装置、３１  映像表示素子、３２  カメラ、４１  デバイス位置特定部、４２  指位置特定部、４３  仮想空間制御部、４３ａ  設定保持部、４３ｂ  判断部、４３ｃ  キャラクタ制御部、４３ｄ  画像描画部、２１０  デバイス本体、２１１  把持部、２１２  操作部、２２０  固定具、２２１  左側面、２２２  右側面、２３１  親指センサ部、２３２  ボタン操作部、２３３  第１指センサ、２３４  ロッキングボタン、２３５  表示部、２４０  バッテリ、２４１  第２指センサ、２４２  第３指センサ、２５１  スピーカー、２５２  マイクロフォン、２５３  ハプティックデバイス。
【図１】
2017150129.tif 000003
【図２】
2017150129.tif 000004
【図３】
2017150129.tif 000005
【図４】
2017150129.tif 000006
【図５】
2017150129.tif 000007
【図６Ａ】
2017150129.tif 000008
【図６Ｂ】
2017150129.tif 000009
【図７】
2017150129.tif 000010
【図８】
2017150129.tif 000011
【国際調査報告】
2017150129.tif 000012
2017150129.tif 000013
2017150129.tif 000014
2017150129.tif 000015