(57)【要約】      （修正有）【課題】情報処理システムにおける通信負荷を低減させる。【解決手段】情報処理方法は、ユーザＡに関連付けられたアバター４Ａを含み、ユーザＢに提供される仮想空間を規定する仮想空間データを生成するステップと、ＨＭＤの動きと仮想空間データに基づいて、フレームレートＣ３で、ＨＭＤに表示される視野画像を更新するステップと、センサによって検出された検出データに基づいて、取得レートＣ１でユーザＡの黒目の第１位置情報を取得するステップと、第１位置情報に基づいて、ユーザＡの黒目に対応するアバター４Ａの黒目の第２位置情報を生成するステップと、送信レートＣ２で、第２位置情報をユーザ端末１Ｂに向けて送信するステップと、第２位置情報に基づいて、フレームレートＣ３で、仮想空間内のアバター４Ａの黒目の位置を更新するステップと、による。【選択図】図１２
2018163637.tif 000002
【特許請求の範囲】
【請求項１】
第１ユーザの身体の一部の動きを検出するように構成されたセンサを有し、前記第１ユーザに関連付けられた第１ユーザ端末と、ヘッドマウントデバイスを有し、第２ユーザに関連付けられた第２ユーザ端末とを備えた情報処理システムにおいてコンピュータによって実行される情報処理方法であって、
前記情報処理方法は、
（ａ）前記第１ユーザに関連付けられた第１アバターを含み、前記第２ユーザに提供される仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記ヘッドマウントデバイスの動きと前記仮想空間データに基づいて、第１レートで、前記ヘッドマウントデバイスに表示される視野画像を更新するステップと、
（ｃ）前記センサによって検出された検出データに基づいて、第２レートで前記第１ユーザの身体の一部の第１位置情報を取得するステップと、
（ｄ）前記第１位置情報に基づいて、前記第１ユーザの身体の前記一部に対応する前記第１アバターの身体の一部の第２位置情報を生成するステップと、
（ｅ）前記第１レート及び前記第２レートよりも低い第３レートで、前記第１位置情報又は前記第２位置情報を前記第２ユーザ端末に向けて送信するステップと、
（ｆ）前記第２位置情報に基づいて、前記第１レートで、前記仮想空間内の前記第１アバターの身体の前記一部の位置を更新するステップと、を含み、
前記第１位置情報は、前記第１ユーザの身体の前記一部を包含する第１身体領域を構成する複数の部分領域のうちの前記第１ユーザの身体の前記一部が現在位置している第１部分領域を示す情報であって、
前記第２位置情報は、前記第１アバターの身体の前記一部を包含する第２身体領域を構成する複数の部分領域のうちの前記第１アバターの身体の前記一部が現在位置している第２部分領域を示す情報であって、
前記ステップ（ｅ）では、
前記第１位置情報又は前記第２位置情報を送信する時点の直前に生成された前記第１位置情報又は前記第２位置情報を前記第２ユーザ端末に向けて送信する、情報処理方法。
【請求項２】
前記第１ユーザの身体の前記一部は、前記第１ユーザの黒目であり、
前記第１アバターの身体の前記一部は、前記第１アバターの黒目であり、
前記第１身体領域は、前記第１ユーザの白目を包含し、
前記第２身体領域は、前記第１アバターの白目を包含する、請求項１に記載の情報処理方法。
【請求項３】
前記ステップ（ｆ）では、
前記第１ユーザの身体の前記一部が前記第１部分領域から前記第１ユーザの身体の前記一部の移動先の部分領域である第３部分領域に移動した場合に、前記第１アバターの身体の前記一部が前記第１アバターの身体の前記一部の移動先の部分領域である第４部分領域の中心位置に向かって徐々に移動するように、前記第１アバターの身体の前記一部の位置を更新する、請求項１又は２に記載の情報処理方法。
【請求項４】
（ｇ）前記第１ユーザの身体の前記一部の第１方向情報を取得するステップと、
（ｈ）前記１方向情報に基づいて、前記第１アバターの身体の前記一部の第２方向情報を取得するステップと、をさらに含み、
前記第１方向情報は、前記第１ユーザの身体の前記一部の移動先の部分領域である第３部分領域を示す情報であって、
前記第２方向情報は、前記第１アバターの身体の前記一部の移動先の部分領域である第４部分領域を示す情報であって、
前記ステップ（ｅ）は、前記第３レートで、前記１方向情報又は前記第２方向情報を送信するステップを含み、
前記ステップ（ｆ）では、前記第２位置情報と前記第２方向情報に基づいて、前記仮想空間内の前記第１アバターの身体の前記一部の位置を更新する、請求項１から３のうちいずれか一項に記載の情報処理方法。
【請求項５】
前記ステップ（ｆ）では、
前記第１アバターの身体の前記一部が前記第４部分領域に向かって前記第２部分領域内を徐々に移動するように前記第１アバターの身体の前記一部の位置を更新する、請求項４に記載の情報処理方法。
【請求項６】
前記第３部分領域は、前記第１部分領域内で移動する前記第１ユーザの身体の前記一部の少なくとも一つの移動方向に基づいて特定される、請求項４又は５に記載の情報処理方法。
【請求項７】
請求項１から６のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるための情報処理プログラム。
【請求項８】
第１ユーザの身体の一部の動きを検出するように構成されたセンサを有し、前記第１ユーザに関連付けられた第１ユーザ端末と、
表示部を有し、第２ユーザに関連付けられた第２ユーザ端末とを備え、請求項１から６のうちいずれか一項に記載の情報処理方法を実行するように構成された、情報処理システム。
【請求項９】
プロセッサと、
コンピュータ可読命令を記憶するメモリと、を備えた情報処理装置であって、
前記コンピュータ可読命令が前記プロセッサにより実行されると、前記情報処理装置は請求項１から６のうちいずれか一項に記載の情報処理方法を実行する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理方法、情報処理プログラム、情報処理システム及び情報処理装置に関する。
【背景技術】
【０００２】
特許文献１は、複数のユーザ間で一つのＶＲ空間を共有した上で、ユーザの動作（例えば、ユーザの姿勢等）に応じてアバターの動作（アバターの姿勢等）を制御する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６０１７００８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、仮想空間内においてアバター同士がコミュニケーションを楽しむ場合には、ユーザの表情に応じて当該ユーザに関連付けられたアバターの表情を変化させることが好ましい。特に、ユーザの顔の表情を示す情報を注視センサやフェイスカメラ等のセンサを用いて取得することで、ユーザの表情とアバターの表情を同期させることが可能となる。一方、ユーザの身体の一部（例えば、黒目）の位置情報等を取得する取得レート（単位時間当たりの回数）よりも当該位置情報等を送信する送信レートが低い場合には、低い送信レートを考慮した上で、ユーザの表情（身体の一部の動き）とアバターの表情（アバターの身体の一部の動き）を同期制御させる必要がある。
【０００５】
本開示は、情報処理システムにおける通信負荷を低減させることが可能な情報処理方法及び情報処理装置を提供することを目的とする。さらに、当該情報処理方法をコンピュータに実行させるための情報処理プログラムを提供することを目的とする。さらに、通信負荷が低減された情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示が示す一態様によれば、第１ユーザの身体の一部の動きを検出するように構成されたセンサを有し、前記第１ユーザに関連付けられた第１ユーザ端末と、ヘッドマウントデバイスを有し、第２ユーザに関連付けられた第２ユーザ端末とを備えた情報処理システムにおいてコンピュータによって実行される情報処理方法が提供される。
前記情報処理方法は、
（ａ）前記第１ユーザに関連付けられた第１アバターを含み、前記第２ユーザに提供される仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記ヘッドマウントデバイスの動きと前記仮想空間データに基づいて、第１レートで、前記ヘッドマウントデバイスに表示される視野画像を更新するステップと、
（ｃ）前記センサによって検出された検出データに基づいて、第２レートで前記第１ユーザの身体の一部の第１位置情報を取得するステップと、
（ｄ）前記第１位置情報に基づいて、前記第１ユーザの身体の前記一部に対応する前記第１アバターの身体の一部の第２位置情報を生成するステップと、
（ｅ）前記第１レート及び前記第２レートよりも低い第３レートで、前記第１位置情報又は前記第２位置情報を前記第２ユーザ端末に向けて送信するステップと、
（ｆ）前記第２位置情報に基づいて、前記第１レートで、前記仮想空間内の前記第１アバターの身体の前記一部の位置を更新するステップと、を含む。
前記第１位置情報は、前記第１ユーザの身体の前記一部を包含する第１身体領域を構成する複数の部分領域のうちの前記第１ユーザの身体の前記一部が現在位置している第１部分領域を示す情報である。
前記第２位置情報は、前記第１アバターの身体の前記一部を包含する第２身体領域を構成する複数の部分領域のうちの前記第１アバターの身体の前記一部が現在位置している第２部分領域を示す情報である。
前記ステップ（ｅ）では、
前記第１位置情報又は前記第２位置情報を送信する時点の直前に生成された前記第１位置情報又は前記第２位置情報を前記第２ユーザ端末に向けて送信する。
【発明の効果】
【０００７】
本開示によれば、情報処理システムにおける通信負荷を低減させることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態（以下、単に本実施形態という。）に係る仮想空間配信システムを示す概略図である。
【図２】ユーザ端末を示す概略図である。
【図３】ＨＭＤを装着したユーザの頭部を示す図である。
【図４】制御装置のハードウェア構成を示す図である。
【図５】視野画像をＨＭＤに表示する処理を示すフローチャートである。
【図６】仮想空間の一例を示すｘｙｚ空間図である。
【図７】状態（ａ）は、図６に示す仮想空間のｙｘ平面図である。状態（ｂ）は、図６に示す仮想空間のｚｘ平面図である。
【図８】ＨＭＤに表示された視野画像の一例を示す図である。
【図９】図１に示すサーバのハードウェア構成を示す図である。
【図１０】状態（ａ）は、ユーザＡに提供される仮想空間を示す図である。状態（ｂ）は、ユーザＢに提供される仮想空間を示す図である。
【図１１】ユーザ端末間において各アバターの動きを同期させる処理の一例を説明するためのシーケンス図である。
【図１２】第１実施形態に係る情報処理方法の一例を説明するためのシーケンス図である。
【図１３】状態（ａ）は、ユーザＡの黒目と白目を示す図である。状態（ｂ）は、ユーザＡの黒目と白目を包含する身体領域を示す図である。
【図１４】ユーザＡの黒目の中心位置の移動軌跡の一例を示す図である。
【図１５】状態（ａ）は、アバター４Ａの黒目と白目を示す図である。状態（ｂ）は、アバター４Ａの黒目と白目を包含する身体領域を示す図である。
【図１６】状態（ａ）は、ユーザ端末１Ｂに送信された第２位置情報に基づいて、送信レートより高いフレームレートで、アバター４Ａの黒目の位置を更新する処理を説明するための図である。状態（ｂ）は、各時刻においてユーザ端末１Ｂに送信された第２位置情報を示す図である。
【図１７】部分領域Ｒ１の中心位置Ｏ１から部分領域Ｒ２の中心位置Ｏ２に向けてアバター４Ａの黒目の位置が徐々に移動する様子を説明するための図である。
【図１８】状態（ａ）は、ユーザ端末１Ｂに送信された第２位置情報と第２方向情報に基づいて、送信レートより高いフレームレートで、アバター４Ａの黒目の位置を更新する処理を説明するための図である。状態（ｂ）は、各時刻においてユーザ端末１Ｂに送信された第２位置情報と第２方向情報を示す図である。
【図１９】部分領域Ｒ１の中心位置Ｏ１から交差点Ｘ１に向けてアバター４Ａの黒目の位置が徐々に移動する様子を説明するための図である。
【図２０】ユーザＡの黒目の移動を示す移動ベクトルの合成ベクトルに基づいて第２方向情報を取得する処理を説明するための図である。
【発明を実施するための形態】
【０００９】
［本開示が示す実施形態の説明］
本開示が示す実施形態の概要を説明する。
（１）第１ユーザの身体の一部の動きを検出するように構成されたセンサを有し、前記第１ユーザに関連付けられた第１ユーザ端末と、ヘッドマウントデバイスを有し、第２ユーザに関連付けられた第２ユーザ端末とを備えた情報処理システムにおいてコンピュータによって実行される情報処理方法であって、
前記情報処理方法は、
（ａ）前記第１ユーザに関連付けられた第１アバターを含み、前記第２ユーザに提供される仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記ヘッドマウントデバイスの動きと前記仮想空間データに基づいて、第１レートで、前記ヘッドマウントデバイスに表示される視野画像を更新するステップと、
（ｃ）前記センサによって検出された検出データに基づいて、第２レートで前記第１ユーザの身体の一部の第１位置情報を取得するステップと、
（ｄ）前記第１位置情報に基づいて、前記第１ユーザの身体の前記一部に対応する前記第１アバターの身体の一部の第２位置情報を生成するステップと、
（ｅ）前記第１レート及び前記第２レートよりも低い第３レートで、前記第１位置情報又は前記第２位置情報を前記第２ユーザ端末に向けて送信するステップと、
（ｆ）前記第２位置情報に基づいて、前記第１レートで、前記仮想空間内の前記第１アバターの身体の前記一部の位置を更新するステップと、を含み、
前記第１位置情報は、前記第１ユーザの身体の前記一部を包含する第１身体領域を構成する複数の部分領域のうちの前記第１ユーザの身体の前記一部が現在位置している第１部分領域を示す情報であって、
前記第２位置情報は、前記第１アバターの身体の前記一部を包含する第２身体領域を構成する複数の部分領域のうちの前記第１アバターの身体の前記一部が現在位置している第２部分領域を示す情報であって、
前記ステップ（ｅ）では、
前記第１位置情報又は前記第２位置情報を送信する時点の直前に生成された前記第１位置情報又は前記第２位置情報を前記第２ユーザ端末に向けて送信する、情報処理方法。
【００１０】
上記方法によれば、第１レート及び第２レートよりも低い第３レートで、第１位置情報又は第２位置情報が第２ユーザ端末に向けて送信される場合において、第１位置情報又は第２位置情報を送信する時点の直前に生成された第１位置情報又は第２位置情報が第２ユーザ端末に向けて送信される。このように、生成された第１位置情報又は第２位置情報は、間引かれた状態で第２ユーザ端末に向けて送信される。さらに、第２ユーザ端末に送信される第１位置情報（又は第２位置情報）は、第１ユーザ（又は第１アバター）の身体の一部が現在位置している第１部分領域（又は第２部分領域）を示す情報であって、第１ユーザ（又は第１アバター）の身体の一部の位置座標を示す情報ではない。したがって、第２ユーザ端末に送信すべき情報量を低減させることができるため、第１ユーザ端末と第２ユーザ端末との間の通信負荷を低減させることが可能となる。このように、情報処理システムにおける通信負荷を低減させることが可能な情報処理方法を提供することができる。
【００１１】
（２）前記第１ユーザの身体の前記一部は、前記第１ユーザの黒目であり、
前記第１アバターの身体の前記一部は、前記第１アバターの黒目であり、
前記第１身体領域は、前記第１ユーザの白目を包含し、
前記第２身体領域は、前記第１アバターの白目を包含する、項目（１）に記載の情報処理方法。
【００１２】
上記方法によれば、センサによって検出された検出データに基づいて、第１ユーザの黒目の第１位置情報が取得される。また、第１位置情報に基づいて、第１ユーザの黒目に対応する第１アバターの黒目の第２位置情報が生成される。さらに、第２位置情報に基づいて、仮想空間内の第１アバターの黒目の位置が更新される。このように、第１ユーザの黒目の位置と、第１アバターの黒目の位置を同期させることが可能となるため、ユーザの表情をリアルにアバターの表情に反映させることが可能となる。
【００１３】
（３）前記ステップ（ｆ）では、
前記第１ユーザの身体の前記一部が前記第１部分領域から前記第１ユーザの身体の前記一部の移動先の部分領域である第３部分領域に移動した場合に、前記第１アバターの身体の前記一部が前記第１アバターの身体の前記一部の移動先の部分領域である第４部分領域の中心位置に向かって徐々に移動するように、前記第１アバターの身体の前記一部の位置を更新する、項目（１）又は（２）に記載の情報処理方法。
【００１４】
上記方法によれば、第１ユーザの身体の一部が第１部分領域から第３部分領域に移動した場合に、第１アバターの身体の一部が第４部分領域の中心位置に向かって徐々に移動する。このように、第１ユーザの身体の一部が第１部分領域から第３部分領域に移動した場合に、第１アバターの身体の一部を第２部分領域から第４部分領域に向けて滑らかに移動させることが可能となる。換言すれば、第１ユーザの身体の一部が第１部分領域から第３部分領域に移動した場合に、第１アバターの身体の一部は、第２部分領域から第４部分領域に瞬時に移動（ワープ）しない。従って、アバターの身体の一部の動きをユーザの身体の一部の動きに滑らかに追従させることが可能となる。
【００１５】
（４）（ｇ）前記第１ユーザの身体の前記一部の第１方向情報を取得するステップと、
（ｈ）前記１方向情報に基づいて、前記第１アバターの身体の前記一部の第２方向情報を取得するステップと、をさらに含み、
前記第１方向情報は、前記第１ユーザの身体の前記一部の移動先の部分領域である第３部分領域を示す情報であって、
前記第２方向情報は、前記第１アバターの身体の前記一部の移動先の部分領域である第４部分領域を示す情報であって、
前記ステップ（ｅ）は、前記第３レートで、前記１方向情報又は前記第２方向情報を送信するステップを含み、
前記ステップ（ｆ）では、前記第２位置情報と前記第２方向情報に基づいて、前記仮想空間内の前記第１アバターの身体の前記一部の位置を更新する、項目（１）から（３）のうちいずれか一項に記載の情報処理方法。
【００１６】
上記方法によれば、第２位置情報と第２方向情報に基づいて、仮想空間内の第１アバターの身体の一部の位置が更新される。このように、第１アバターの身体の一部の移動先を考慮した上で、第１アバターの身体の一部の位置を更新することができる。
【００１７】
（５）前記ステップ（ｆ）では、
前記第１アバターの身体の前記一部が前記第４部分領域に向かって前記第２部分領域内を徐々に移動するように前記第１アバターの身体の前記一部の位置を更新する、項目（４）に記載の情報処理方法。
【００１８】
上記方法によれば、第１アバターの身体の一部が第４部分領域（移動先の部分領域）に向かって第２部分領域（移動元の部分領域）内を徐々に移動する。このように、ユーザの身体の一部が第１部分領域から第３部分領域に移動した場合に、第１アバターの身体の一部を第２部分領域から第４部分領域に向けて滑らかに移動させることが可能となる。従って、アバターの身体の一部の動きをユーザの身体の一部の動きに滑らかに追従させることが可能となる。
【００１９】
（６）前記第３部分領域は、前記第１部分領域内で移動する前記第１ユーザの身体の前記一部の少なくとも一つの移動方向に基づいて特定される、項目（４）又は（５）に記載の情報処理方法。
【００２０】
上記方法によれば、第１部分領域内で移動する第１ユーザの身体の一部の少なくとも一つの移動方向に基づいて、第１ユーザの身体の前記一部の移動先の第３部分領域を特定することが可能となる。
【００２１】
（７）項目（１）から（６）のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるための情報処理プログラム。
【００２２】
上記によれば、情報処理システムにおける通信負荷を低減させることが可能な情報処理プログラムを提供することができる。
【００２３】
（８）第１ユーザの身体の一部の動きを検出するように構成されたセンサを有し、前記第１ユーザに関連付けられた第１ユーザ端末と、
表示部を有し、第２ユーザに関連付けられた第２ユーザ端末と、を備え、項目（１）から（６）のうちいずれか一項に記載の情報処理方法を実行するように構成された、情報処理システム。
【００２４】
上記によれば、通信負荷が低減された情報処理システムを提供することができる。
【００２５】
（９）プロセッサと、
コンピュータ可読命令を記憶するメモリと、を備えた情報処理装置であって、  前記コンピュータ可読命令が前記プロセッサにより実行されると、前記情報処理装置は項目（１）から（６）のうちいずれか一項に記載の情報処理方法を実行する、情報処理装置。
【００２６】
上記によれば、情報処理システムにおける通信負荷を低減させることが可能な情報処理装置を提供することができる。尚、情報処理装置は、ユーザ端末又はサーバのいずれか一方である点に留意されたい。
【００２７】
［本開示が示す実施形態の詳細］
以下、本開示が示す実施形態について図面を参照しながら説明する。尚、本実施形態の説明において既に説明された要素と同一の参照番号を有する要素については、説明の便宜上、その説明は繰り返さない。
【００２８】
最初に、仮想空間配信システム１００（情報処理システム）の構成の概略について図１を参照して説明する。図１は、仮想空間配信システム１００（以下、単に配信システム１００という。）の概略図である。図１に示すように、配信システム１００は、ヘッドマウントデバイス（ＨＭＤ）１１０（第１ＨＭＤ）を装着したユーザＡ（第１ユーザ）によって操作されるユーザ端末１Ａ（第１ユーザ端末）と、ＨＭＤ１１０（第２ＨＭＤ）を装着したユーザＢ（第２ユーザ）によって操作されるユーザ端末１Ｂ（第２ユーザ端末）と、サーバ２とを備える。ユーザ端末１Ａ，１Ｂは、インターネット等の通信ネットワーク３を介してサーバ２に通信可能に接続されている。また、以降では、説明の便宜上、各ユーザ端末１Ａ，１Ｂを単にユーザ端末１と総称する場合がある。さらに、各ユーザＡ，Ｂを単にユーザＵと総称する場合がある。また、本実施形態では、ユーザ端末１Ａ，１Ｂは、同一の構成を備えているものとする。
【００２９】
次に、図２を参照してユーザ端末１の構成について説明する。図２は、ユーザ端末１を示す概略図である。図２に示すように、ユーザ端末１は、ユーザＵの頭部に装着されたヘッドマウントデバイス（ＨＭＤ）１１０と、ヘッドフォン１１６と、フェイスカメラ１１７と、マイク１１８と、位置センサ１３０と、外部コントローラ３２０と、制御装置１２０とを備える。
【００３０】
ＨＭＤ１１０は、表示部１１２と、ＨＭＤセンサ１１４と、注視センサ１４０と、フェイスカメラ１１３とを備える。表示部１１２は、ＨＭＤ１１０を装着したユーザＵの視界（視野）を完全に覆うように構成された非透過型の表示装置を備える。これにより、ユーザＵは、表示部１１２に表示された視野画像のみを見ることで仮想空間に没入することができる。尚、表示部１１２は、ユーザＵの左目に画像を提供するように構成された左目用表示部と、ユーザＵの右目に画像を提供するように構成された右目用表示部とから構成されてもよい。また、ＨＭＤ１１０は、透過型の表示装置を備えてもよい。この場合、透過型の表示装置は、その透過率を調整することで、一時的に非透過型の表示装置として構成されてもよい。
【００３１】
ＨＭＤセンサ１１４は、ＨＭＤ１１０の表示部１１２の近傍に搭載される。ＨＭＤセンサ１１４は、地磁気センサ、加速度センサ、傾きセンサ（角速度センサやジャイロセンサ等）のうちの少なくとも１つを含み、ユーザＵの頭部に装着されたＨＭＤ１１０の各種動き（傾き等）を検出することができる。
【００３２】
注視センサ１４０は、ユーザＵの視線を検出するアイトラッキング機能を有する。注視センサ１４０は、例えば、右目用注視センサと、左目用注視センサを備えてもよい。右目用注視センサは、ユーザＵの右目に例えば赤外光を照射して、右目（特に、角膜や虹彩）から反射された反射光を検出することで、右目の眼球の回転角に関する情報を取得してもよい。一方、左目用注視センサは、ユーザＵの左目に例えば赤外光を照射して、左目（特に、角膜や虹彩）から反射された反射光を検出することで、左目の眼球の回転角に関する情報を取得してもよい。注視センサ１４０によって取得された検出データの取得レートは、アバター制御情報（後述する）の送信レート及びユーザ端末１ＢのＨＭＤ１１０に表示される視野画像のフレームレートより大きい。例えば、検出データの取得レートは、２００Ｈｚである。
【００３３】
フェイスカメラ１１３は、ＨＭＤ１１０がユーザＵに装着された状態でユーザＵの目（左目と右目）とまゆげ（左まゆげと右まゆげ）が表示された画像（特に、動画像）を取得するように構成されている。フェイスカメラ１１３は、ユーザＵの目とまゆげを撮像可能なようにＨＭＤ１１０の内側の所定箇所に配置されている。フェイスカメラ１１３によって取得された動画像のフレームレートは、アバター制御情報の送信レート及びユーザ端末１ＢのＨＭＤ１１０に表示される視野画像のフレームレートより大きい。例えば、当該取得された動画像のフレームレートは、２００ｆｐｓである。
【００３４】
ヘッドフォン１１６（音声出力部）は、ユーザＵの左耳と右耳にそれぞれ装着されている。ヘッドフォン１１６は、制御装置１２０から音声データ（電気信号）を受信し、当該受信した音声データに基づいて音声を出力するように構成されている。マイク１１８（音声入力部）は、ユーザＵから発声された音声を収集し、当該収集された音声に基づいて音声データ（電気信号）を生成するように構成されている。さらに、マイク１１８は、音声データを制御装置１２０に送信するように構成されている。 
【００３５】
フェイスカメラ１１７は、ユーザＵの口及びその周辺が表示された画像（特に、動画像）を取得するように構成されている。フェイスカメラ１１７は、ユーザＵの口及びその周辺を撮像可能なようにユーザＵの口に対向する位置に配置されてもよい。また、フェイスカメラ１１７は、ＨＭＤ１１０に連結されていてもよい。フェイスカメラ１１７によって取得される動画像のフレームレートは、ＨＭＤ１１０に表示される視野画像のフレームレートよりも大きくてもよい。
【００３６】
位置センサ１３０は、例えば、ポジション・トラッキング・カメラにより構成され、ＨＭＤ１１０と外部コントローラ３２０の位置を検出するように構成されている。位置センサ１３０は、制御装置１２０に無線又は有線により通信可能に接続されており、ＨＭＤ１１０に設けられた図示しない複数の検知点の位置、傾き又は発光強度に関する情報を検出するように構成されている。さらに、位置センサ１３０は、外部コントローラ３２０に設けられた図示しない複数の検知点の位置、傾き及び／又は発光強度に関する情報を検出するように構成されている。検知点は、例えば、赤外線や可視光を放射する発光部である。また、位置センサ１３０は、赤外線センサや複数の光学カメラを含んでもよい。
【００３７】
外部コントローラ３２０は、ユーザＵの手の動きを検知することにより、仮想空間内に表示されるアバターの手の動作を制御するために使用される。外部コントローラ３２０は、ユーザＵの右手によって操作される右手用外部コントローラ３２０Ｒ（以下、単にコントローラ３２０Ｒという。）と、ユーザＵの左手によって操作される左手用外部コントローラ３２０Ｌ（以下、単にコントローラ３２０Ｌという。）と、を有する。コントローラ３２０Ｒは、ユーザＵの右手の位置や右手の手指の動きを示す装置である。また、コントローラ３２０Ｒの動きに応じて仮想空間内に存在するアバターの右手が動く。コントローラ３２０Ｌは、ユーザＵの左手の位置や左手の手指の動きを示す装置である。また、コントローラ３２０Ｌの動きに応じて仮想空間内に存在するアバターの左手が動く。
【００３８】
制御装置１２０は、ＨＭＤ１１０を制御するように構成されたコンピュータである。制御装置１２０は、位置センサ１３０から取得された情報に基づいて、ＨＭＤ１１０の位置情報を特定し、当該特定された位置情報に基づいて、仮想空間における仮想カメラの位置（アバターの位置）と、現実空間におけるＨＭＤ１１０を装着したユーザＵの位置を正確に対応付けることができる。さらに、制御装置１２０は、位置センサ１３０及び／又は外部コントローラ３２０に内蔵されたセンサから取得された情報に基づいて、外部コントローラ３２０の動作を特定し、当該特定された外部コントローラ３２０の動作に基づいて、仮想空間内に表示されるアバターの手の動作と現実空間における外部コントローラ３２０の動作を正確に対応付けることができる。特に、制御装置１２０は、位置センサ１３０及び／又はコントローラ３２０Ｌに内蔵されたセンサから取得された情報に基づいて、コントローラ３２０Ｌの動作を特定し、当該特定されたコントローラ３２０Ｌの動作に基づいて、仮想空間内に表示されるアバターの左手の動作と現実空間におけるコントローラ３２０Ｌの動作（ユーザＵの左手の動作）を正確に対応付けることができる。同様に、制御装置１２０は、位置センサ及び／コントローラ３２０Ｒに内蔵されたセンサから取得された情報に基づいて、コントローラ３２０Ｒの動作を特定し、当該特定されたコントローラ３２０Ｒの動作に基づいて、仮想空間内に表示されるアバターの右手の動作と現実空間におけるコントローラ３２０Ｒの動作（ユーザＵの右手の動作）を正確に対応付けることができる。
【００３９】
また、制御装置１２０は、フェイスカメラ１１３，１１７によって取得された動画像に基づいて、ユーザＵの顔の表情（状態）とユーザＵのアバターの顔の表情（状態）を対応付けることができる。ユーザＵの顔の表情とアバターの顔の表情を互いに対応づける処理の詳細については後述する。
【００４０】
また、制御装置１２０は、ユーザＵの右目の視線と左目の視線をそれぞれ特定し、当該右目の視線と当該左目の視線の交点である注視点を特定することができる。さらに、制御装置１２０は、特定された注視点に基づいて、ユーザＵの両目の視線（ユーザＵの視線）を特定することができる。ここで、ユーザＵの視線は、ユーザＵの両目の視線であって、ユーザＵの右目と左目を結ぶ線分の中点と注視点を通る直線の方向に一致する。また、制御装置１２０は、注視センサ１４０（左目用注視センサと右目用注視センサ）から送信された検出データ（アイトラッキングデータ）に基づいて、ユーザＵの右目の黒目の中心位置とユーザＵの左目の黒目の中心位置とをそれぞれ特定することができる。
【００４１】
次に、図３を参照して、ＨＭＤ１１０の位置や傾きに関する情報を取得する方法について以下に説明する。図３は、ＨＭＤ１１０を装着したユーザＵの頭部を示す図である。ＨＭＤ１１０を装着したユーザＵの頭部の動きに連動したＨＭＤ１１０の位置や傾きに関する情報は、位置センサ１３０及び／又はＨＭＤ１１０に搭載されたＨＭＤセンサ１１４により検出可能である。図２に示すように、ＨＭＤ１１０を装着したユーザＵの頭部を中心として、３次元座標（ｕｖｗ座標）が規定される。ユーザＵが直立する垂直方向をｖ軸として規定し、ｖ軸と直交しＨＭＤ１１０の中心を通る方向をｗ軸として規定し、ｖ軸およびｗ軸と直交する方向をｕ軸として規定する。位置センサ１３０及び／又はＨＭＤセンサ１１４は、各ｕｖｗ軸回りの角度（すなわち、ｖ軸を中心とする回転を示すヨー角、ｕ軸を中心とした回転を示すピッチ角、ｗ軸を中心とした回転を示すロール角で決定される傾き）を検出する。制御装置１２０は、検出された各ｕｖｗ軸回りの角度変化に基づいて、仮想カメラの視軸を制御するための角度情報を決定する。
【００４２】
次に、図４を参照することで、制御装置１２０のハードウェア構成について説明する。図４は、制御装置１２０のハードウェア構成を示す図である。図４に示すように、制御装置１２０は、制御部１２１と、記憶部１２３と、Ｉ／Ｏ（入出力）インターフェース１２４と、通信インターフェース１２５と、バス１２６とを備える。制御部１２１と、記憶部１２３と、Ｉ／Ｏインターフェース１２４と、通信インターフェース１２５は、バス１２６を介して互いに通信可能に接続されている。
【００４３】
制御装置１２０は、ＨＭＤ１１０とは別体に、パーソナルコンピュータ、スマートフォン、ファブレット、タブレット又はウェアラブルデバイスとして構成されてもよいし、ＨＭＤ１１０に内蔵されていてもよい。また、制御装置１２０の一部の機能がＨＭＤ１１０に搭載されると共に、制御装置１２０の残りの機能がＨＭＤ１１０とは別体の他の装置に搭載されてもよい。
【００４４】
制御部１２１は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成される。プロセッサは、例えばＣＰＵ(Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ)、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及び／又はＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であって、ＲＯＭに組み込まれた各種プログラムから指定されたプログラムをＲＡＭ上に展開し、ＲＡＭとの協働で各種処理を実行するように構成されている。
【００４５】
特に、プロセッサが制御プログラムをＲＡＭ上に展開し、ＲＡＭとの協働で制御プログラムを実行することで、制御部１２１は、制御装置１２０の各種動作を制御してもよい。制御部１２１は、視野画像データに基づいてＨＭＤ１１０の表示部１１２に視野画像を表示する。これにより、ユーザＵは、仮想空間に没入することができる。
【００４６】
記憶部（ストレージ）１２３は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部１２３は、本実施形態に係る情報処理方法の少なくとも一部をコンピュータに実行させるための制御プログラムや、複数のユーザによる仮想空間の共有を実現するための制御プログラムを格納してもよい。また、記憶部１２３には、ユーザＵの認証プログラムや各種画像やオブジェクト（例えば、アバター等）に関するデータが格納されてもよい。さらに、記憶部１２３には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。
【００４７】
Ｉ／Ｏインターフェース１２４は、ＨＭＤ１１０と、位置センサ１３０と、外部コントローラ３２０と、ヘッドフォン１１６と、フェイスカメラ１１７と、マイク１１８とをそれぞれ制御装置１２０に通信可能に接続するように構成されており、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ―Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子等により構成されている。尚、制御装置１２０は、ＨＭＤ１１０と、位置センサ１３０と、外部コントローラ３２０と、ヘッドフォン１１６と、フェイスカメラ１１７と、マイク１１８とのそれぞれと無線接続されていてもよい。
【００４８】
通信インターフェース１２５は、制御装置１２０をＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又はインターネット等の通信ネットワーク３に接続させるように構成されている。通信インターフェース１２５は、通信ネットワーク３を介してサーバ２等の外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク３を介して通信するための通信規格に適合するように構成されている。
【００４９】
次に、図５から図８を参照することで視野画像をＨＭＤ１１０に表示するための処理について説明する。図５は、視野画像をＨＭＤ１１０に表示する処理を示すフローチャートである。図６は、仮想空間２００の一例を示すｘｙｚ空間図である。図７の状態（ａ）は、図６に示す仮想空間２００のｙｘ平面図である。図７の状態（ｂ）は、図６に示す仮想空間２００のｚｘ平面図である。図８は、ＨＭＤ１１０に表示された視野画像Ｖの一例を示す図である。
【００５０】
図５に示すように、ステップＳ１において、制御部１２１（図４参照）は、仮想カメラ３００と、各種オブジェクトとを含む仮想空間２００を示す仮想空間データを生成する。図６に示すように、仮想空間２００は、中心位置２１０を中心とした全天球として規定される（図６では、上半分の天球のみが図示されている）。また、仮想空間２００では、中心位置２１０を原点とするｘｙｚ座標系が設定されている。仮想カメラ３００は、ＨＭＤ１１０に表示される視野画像Ｖ（図８参照）を特定するための視軸Ｌを規定している。仮想カメラ３００の視野を定義するｕｖｗ座標系は、現実空間におけるユーザＵの頭部を中心として規定されたｕｖｗ座標系に連動するように決定される。また、ＨＭＤ１１０を装着したユーザＵの現実空間における移動に連動して、制御部１２１は、仮想カメラ３００を仮想空間２００内で移動させてもよい。
【００５１】
次に、ステップＳ２において、制御部１２１は、仮想カメラ３００の視野ＣＶ（図７参照）を特定する。具体的には、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４から送信されたＨＭＤ１１０の状態を示すデータに基づいて、ＨＭＤ１１０の位置や傾きに関する情報を取得する。次に、制御部１２１は、ＨＭＤ１１０の位置や傾きに関する情報に基づいて、仮想空間２００内における仮想カメラ３００の位置や向きを特定する。次に、制御部１２１は、仮想カメラ３００の位置や向きから仮想カメラ３００の視軸Ｌを決定し、決定された視軸Ｌから仮想カメラ３００の視野ＣＶを特定する。ここで、仮想カメラ３００の視野ＣＶは、ＨＭＤ１１０を装着したユーザＵが視認可能な仮想空間２００の一部の領域に相当する（換言すれば、ＨＭＤ１１０に表示される仮想空間２００の一部の領域に相当する）。また、視野ＣＶは、図７の状態（ａ）に示すｘｙ平面において、視軸Ｌを中心とした極角αの角度範囲として設定される第１領域ＣＶａと、図７の状態（ｂ）に示すｘｚ平面において、視軸Ｌを中心とした方位角βの角度範囲として設定される第２領域ＣＶｂとを有する。尚、制御部１２１は、注視センサ１４０から送信されたユーザＵの視線を示すデータに基づいてユーザＵの視線を特定し、特定されたユーザＵの視線とＨＭＤ１１０の位置や傾きに関する情報に基づいて、仮想カメラ３００の向き（仮想カメラの視軸Ｌ）を決定してもよい。また、後述するように、制御部１２１は、ＨＭＤ１１０の位置や傾きに関する情報に基づいて、ユーザＵのアバターの顔の向きを決定してもよい。
【００５２】
このように、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４からのデータに基づいて、仮想カメラ３００の視野ＣＶを特定することができる。ここで、ＨＭＤ１１０を装着したユーザＵが動くと、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４から送信されたＨＭＤ１１０の動きを示すデータに基づいて、仮想カメラ３００の視野ＣＶを更新することができる。つまり、制御部１２１は、ＨＭＤ１１０の動きに応じて、視野ＣＶを更新することができる。同様に、ユーザＵの視線が変化すると、制御部１２１は、注視センサ１４０から送信されたユーザＵの視線を示すデータに基づいて、仮想カメラ３００の視野ＣＶを更新してもよい。つまり、制御部１２１は、ユーザＵの視線の変化に応じて、視野ＣＶを変化させてもよい。
【００５３】
次に、ステップＳ３において、制御部１２１は、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖを示す視野画像データを生成する。具体的には、制御部１２１は、仮想空間２００を規定する仮想空間データと、仮想カメラ３００の視野ＣＶとに基づいて、視野画像データを生成する。
【００５４】
次に、ステップＳ４において、制御部１２１は、視野画像データに基づいて、ＨＭＤ１１０の表示部１１２に視野画像Ｖを表示する（図７参照）。このように、ＨＭＤ１１０を装着しているユーザＵの動きに応じて、仮想カメラ３００の視野ＣＶが変化し、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖが変化するので、ユーザＵは仮想空間２００に没入することができる。
【００５５】
尚、仮想カメラ３００は、左目用仮想カメラと右目用仮想カメラを含んでもよい。この場合、制御部１２１は、仮想空間データと左目用仮想カメラの視野に基づいて、左目用の視野画像を示す左目用視野画像データを生成する。さらに、制御部１２１は、仮想空間データと、右目用仮想カメラの視野に基づいて、右目用の視野画像を示す右目用視野画像データを生成する。その後、制御部１２１は、左目用視野画像データに基づいて、左目用表示部に左目用の視野画像を表示すると共に、右目用視野画像データに基づいて、右目用表示部に右目用の視野画像を表示する。このようにして、ユーザＵは、左目用視野画像と右目用視野画像との間の視差により、視野画像を３次元的に視認することができる。尚、仮想カメラは、後述するように、ユーザによって操作されるアバターの目の位置に配置されてもよい。例えば、左目用仮想カメラは、アバターの左目に配置される一方で、右目用仮想カメラは、アバターの右目に配置されてもよい。
【００５６】
また、図５に示すステップＳ１〜Ｓ４の処理は１フレーム毎に実行されてもよい。例えば、動画のフレームレートが９０ｆｐｓである場合、ステップＳ１〜Ｓ４の処理はΔＴ＝１／９０（秒）間隔で繰り返し実行されてもよい。このように、ステップＳ１〜Ｓ４の処理が所定間隔ごとに繰り返し実行されるため、ＨＭＤ１１０の動作に応じて仮想カメラ３００の視野が更新されると共に、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖが更新される。
【００５７】
次に、図１に示すサーバ２のハードウェア構成について図９を参照して説明する。図９は、サーバ２のハードウェア構成を示す図である。図９に示すように、サーバ２は、制御部２３と、記憶部２２と、通信インターフェース２１と、バス２４とを備える。制御部２３と、記憶部２２と、通信インターフェース２１は、バス２４を介して互いに通信可能に接続されている。制御部２３は、メモリとプロセッサを備えており、メモリは、例えば、ＲＯＭ及びＲＡＭ等から構成されると共に、プロセッサは、例えば、ＣＰＵ、ＭＰＵ及び／又はＧＰＵにより構成される。
【００５８】
記憶部（ストレージ）２２は、例えば、大容量のＨＤＤ等である。記憶部２２は、本実施形態に係る情報処理方法の少なくとも一部をコンピュータに実行させるための制御プログラムや、複数のユーザによる仮想空間の共有を実現させるための制御プログラムを格納してもよい。また、記憶部２２は、各ユーザを管理するためのユーザ管理情報や各種画像やオブジェクト（例えば、アバター等）に関するデータを格納してもよい。通信インターフェース２１は、サーバ２を通信ネットワーク３に接続させるように構成されている。
【００５９】
［アバター間の動作制御に関する説明］
次に、図１，１０及び１１を参照してユーザ端末１Ａとユーザ端末１Ｂ間において各アバター４Ａ，４Ｂの動きを同期制御する処理の一例について説明する。図１０の状態（ａ）は、ユーザＡに提供される仮想空間２００Ａを示す図である。図１０の状態（ｂ）は、ユーザＢに提供される仮想空間２００Ｂを示す図である。図１１は、ユーザ端末１Ａとユーザ端末１Ｂ間において各アバター４Ａ，４Ｂの動きを同期させる処理の一例を説明するためのシーケンス図である。本説明では、前提条件として、図１０に示すように、ユーザ端末１Ａ（ユーザＡ）に関連付けられたアバター４Ａ（第１アバター）と、ユーザ端末１Ｂ（ユーザＢ）に関連付けられたアバター４Ｂ（第２アバター）が同一の仮想空間を共有しているものとする。つまり、通信ネットワーク３を介してユーザＡとユーザＢが一つの仮想空間を共有するものとする。
【００６０】
図１０の状態（ａ）に示すように、ユーザＡの仮想空間２００Ａは、アバター４Ａと、アバター４Ｂとを含む。アバター４Ａは、ユーザＡによって操作されると共に、ユーザＡの動作に連動する。アバター４Ａは、ユーザ端末１Ａのコントローラ３２０Ｌの動作（ユーザＡの左手の動作）に連動する左手と、ユーザ端末１Ａのコントローラ３２０Ｒの動作に連動する右手と、表情がユーザＡの顔の表情に連動する顔を有する。アバター４Ａの顔は、複数の顔パーツ（例えば、目、まゆげ、口等）を有する。アバター４Ｂは、ユーザＢによって操作されると共に、ユーザＢの動作に連動する。アバター４Ｂは、ユーザＢの左手の動作を示すユーザ端末１Ｂのコントローラ３２０Ｌの動作に連動する左手と、ユーザＢの右手の動作を示すユーザ端末１Ｂのコントローラ３２０Ｒの動作に連動する右手と、表情がユーザＢの顔の表情と連動する顔を有する。アバター４Ｂの顔は、複数の顔パーツ（例えば、目、まゆげ、口等）を有する。
【００６１】
また、ユーザ端末１Ａ，１ＢのＨＭＤ１１０の位置に応じてアバター４Ａ，４Ｂの位置が特定されてもよい。同様に、ユーザ端末１Ａ，１ＢのＨＭＤ１１０の傾きに応じてアバター４Ａ，４Ｂの顔の向きが特定されてもよい。さらに、ユーザ端末１Ａ，１Ｂの外部コントローラ３２０の動作に応じてアバター４Ａ，４Ｂの手の動作が特定されてもよい。また、ユーザＡ，Ｂの顔の表情（状態）に応じてアバター４Ａ，４Ｂの顔の表情が特定されてもよい。特に、ユーザＡ，Ｂの白目に対する黒目の位置に応じてアバター４Ａ，４Ｂの白目に対する黒目の位置が特定されてもよい。
【００６２】
図１０の状態（ｂ）に示すように、ユーザＢの仮想空間２００Ｂは、アバター４Ａと、アバター４Ｂとを含む。仮想空間２００Ａ内におけるアバター４Ａ，４Ｂの位置は、仮想空間２００Ｂ内におけるアバター４Ａ，４Ｂの位置に対応してもよい。
【００６３】
次に、図１１を参照すると、ステップＳ１０において、ユーザ端末１Ａの制御部１２１は、ユーザＡの音声データを生成する。例えば、ユーザＡがユーザ端末１Ａのマイク１１８（音声入力部）に音声を入力したときに、マイク１１８は、入力された音声を示す音声データを生成する。その後、マイク１１８は生成された音声データをＩ／Ｏインターフェース１２４を介して制御部１２１に送信する。
【００６４】
次に、ステップＳ１１において、ユーザ端末１Ａの制御部１２１は、アバター４Ａの制御情報を生成した上で、当該生成したアバター４Ａの制御情報とユーザＡの音声を示す音声データ（ユーザＡの音声データ）をサーバ２に送信する。その後、サーバ２の制御部２３は、ユーザ端末１Ａからアバター４Ａの制御情報とユーザＡの音声データを受信する（ステップＳ１２）。
【００６５】
ここで、アバター４Ａの制御情報は、アバター４Ａの動作を制御するために必要な情報である。アバター４Ａの制御情報は、アバター４Ａの位置に関する情報（位置情報）と、アバター４Ａの顔の向きに関する情報（顔向き情報）と、アバター４Ａの手（左手と右手）の状態に関する情報（手情報）と、アバター４Ａの顔の表情に関する情報（顔情報）とを含んでもよい。
【００６６】
アバター４Ａの顔情報は、複数の顔パーツの状態を示す情報を有する。複数の顔パーツの状態を示す情報は、アバター４Ａの目の状態（白目の形状及び白目に対する黒目の位置等）を示す情報（目情報）と、アバター４Ａのまゆげの情報（まゆげの位置及び形状等）を示す情報（まゆげ情報）と、アバター４Ａの口の状態（口の位置及び形状等）を示す情報（口情報）を有する。
【００６７】
詳細には、アバター４Ａの目情報は、アバター４Ａの左目の状態を示す情報と、アバター４Ａの右目の状態を示す情報を有する。アバター４Ａのまゆげ情報は、アバター４Ａの左まゆげの状態を示す情報と、アバター４Ａの右まゆげの状態を示す情報を有する。
【００６８】
ユーザ端末１Ａの制御部１２１は、ＨＭＤ１１０に搭載されたフェイスカメラ１１３からユーザＡの目（左目と右目）とまゆげ（左まゆげと右まゆげ）を示す画像を取得した上で、当該取得された画像と所定の画像処理アルゴリズムに基づいてユーザＡの目（左目と右目）とまゆげ（左まゆげと右まゆげ）の状態を特定する。次に、制御部１２１は、特定されたユーザＡの目とまゆげの状態に基づいて、アバター４Ａの目（左目と右目）の状態を示す情報とアバター４Ａのまゆげ（左まゆげと右まゆげ）の状態を示す情報をそれぞれ生成する。尚、ユーザＡの目の状態を示す情報のうち、ユーザＡの黒目の位置（中心位置）を示す情報は、フェイスカメラ１１３の代わりに注視センサ１４０によって取得されてもよい。
【００６９】
同様に、ユーザ端末１Ａの制御部１２１は、フェイスカメラ１１７からユーザＡの口及びその周辺を示す画像を取得した上で、当該取得された画像と所定の画像処理アルゴリズムに基づいてユーザＡの口の状態を特定する。次に、制御部１２１は、特定されたユーザＡの口の状態に基づいて、アバター４Ａの口の状態を示す情報を生成する。
【００７０】
このように、ユーザ端末１Ａの制御部１２１は、ユーザＡの目に対応するアバター４Ａの目情報と、ユーザＡのまゆげに対応するアバター４Ａのまゆげ情報と、ユーザＡの口に対応するアバター４Ａの口情報を生成することが可能となる。
【００７１】
また、制御部１２１は、フェイスカメラ１１３によって撮像された画像と、フェイスカメラ１１７によって撮像された画像と、所定の画像処理アルゴリズムに基づいて、記憶部１２３又はメモリに記憶された複数の種類の顔の表情（例えば、笑顔、悲しい表情、無表情、怒りの表情、驚いた表情、困った表情等）の中からユーザＡの顔の表情（例えば、笑顔）を特定してもよい。その後、制御部１２１は、特定されたユーザＡの顔の表情に基づいて、アバター４Ａの顔の表情（例えば、笑顔）を示す顔情報を生成することが可能となる。この場合、アバター４Ａの複数の種類の顔の表情と、各々が当該複数の種類の顔の表情の一つに関連付けられた複数のアバター４Ａの顔情報を含む表情データベースが記憶部１２３に保存されてもよい。
【００７２】
例えば、制御部１２１は、アバター４Ａの顔の表情を笑顔として特定した場合、アバター４Ａの顔の表情（笑顔）と表情データベースに基づいて、アバター４Ａの笑顔を示す顔情報を取得する。ここで、アバター４Ａの笑顔を示す顔情報は、アバター４Ａの顔の表情が笑顔のときのアバター４Ａの目情報、まゆげ情報及び口情報を含む。
【００７３】
次に、ステップＳ１３において、ユーザ端末１Ｂの制御部１２１は、アバター４Ｂの制御情報を生成した上で、当該生成したアバター４Ｂの制御情報をサーバ２に送信する。その後、サーバ２の制御部２３は、ユーザ端末１Ｂからアバター４Ｂの制御情報を受信する
（ステップＳ１４）。
【００７４】
ここで、アバター４Ｂの制御情報は、アバター４Ｂの動作を制御するために必要な情報である。アバター４Ｂの制御情報は、アバター４Ｂの位置に関する情報（位置情報）と、アバター４Ｂの顔の向きに関する情報（顔向き情報）と、アバター４Ｂの手（左手と右手）の状態に関する情報（手情報）と、アバター４Ｂの顔の表情に関する情報（顔情報）とを含んでもよい。
【００７５】
アバター４Ｂの顔情報は、複数の顔パーツの状態を示す情報を有する。複数の顔パーツの状態を示す情報は、アバター４Ｂの目の状態（白目の形状及び白目に対する黒目の位置等）を示す情報（目情報）と、アバター４Ｂのまゆげの情報（まゆげの位置及び形状等）を示す情報（まゆげ情報）と、アバター４Ｂの口の状態（口の位置及び形状等）を示す情報（口情報）を有する。アバター４Ｂの顔情報の取得方法は、アバター４Ａの顔情報の取得方法と同様である。
【００７６】
次に、サーバ２は、アバター４Ｂの制御情報をユーザ端末１Ａに送信する一方（ステップＳ１５）、アバター４Ａの制御情報とユーザＡの音声データをユーザ端末１Ｂに送信する（ステップＳ１９）。その後、ユーザ端末１Ａの制御部１２１は、ステップＳ１６においてアバター４Ｂの制御情報を受信した後に、アバター４Ａ，４Ｂの制御情報に基づいて、アバター４Ａ，４Ｂの状態を更新した上で、仮想空間２００Ａ（図１０の状態（ａ）参照）を示す仮想空間データを更新する（ステップＳ１７）。
【００７７】
詳細には、ユーザ端末１Ａの制御部１２１は、アバター４Ａ，４Ｂの位置情報に基づいて、アバター４Ａ，４Ｂの位置を更新する。制御部１２１は、アバター４Ａ，４Ｂの顔向き情報に基づいて、アバター４Ａ，４Ｂの顔の向きを更新する。制御部１２１は、アバター４Ａ，４Ｂの手情報に基づいて、アバター４Ａ，４Ｂの手を更新する。制御部１２１は、アバター４Ａ，４Ｂの顔情報に基づいて、アバター４Ａ，４Ｂの顔の表情を更新する。このように、更新されたアバター４Ａ，４Ｂを含む仮想空間２００Ａを示す仮想空間データが更新される。
【００７８】
その後、ユーザ端末１Ａの制御部１２１は、ＨＭＤ１１０の位置や傾きに応じてアバター４Ａ（仮想カメラ３００）の視野ＣＶを特定した上で、更新された仮想空間データと、アバター４Ａの視野ＣＶとに基づいて、ＨＭＤ１１０に表示される視野画像を更新する（ステップＳ１８）。
【００７９】
一方、ユーザ端末１Ｂの制御部１２１は、ステップＳ２０においてアバター４Ａの制御情報とユーザＡの音声データを受信した後に、アバター４Ａ，４Ｂの制御情報に基づいて、アバター４Ａ，４Ｂの状態を更新した上で、仮想空間２００Ｂ（図１０の状態（ｂ）参照）を示す仮想空間データを更新する（ステップＳ２１）。
【００８０】
詳細には、ユーザ端末１Ｂの制御部１２１は、アバター４Ａ，４Ｂの位置情報に基づいて、アバター４Ａ，４Ｂの位置を更新する。制御部１２１は、アバター４Ａ，４Ｂの顔向き情報に基づいて、アバター４Ａ，４Ｂの顔の向きを更新する。制御部１２１は、アバター４Ａ，４Ｂの手情報に基づいて、アバター４Ａ，４Ｂの手を更新する。制御部１２１は、アバター４Ａ，４Ｂの顔情報に基づいて、アバター４Ａ，４Ｂの顔の表情を更新する。このように、更新されたアバター４Ａ，４Ｂを含む仮想空間を示す仮想空間データが更新される。
【００８１】
その後、ユーザ端末１Ｂの制御部１２１は、ＨＭＤ１１０の位置や傾きに応じてアバター４Ｂ（仮想カメラ３００）の視野ＣＶを特定した上で、更新された仮想空間データと、アバター４Ｂの視野ＣＶとに基づいて、ＨＭＤ１１０に表示される視野画像を更新する（ステップＳ２２）。
【００８２】
次に、ユーザ端末１Ｂの制御部１２１は、受信したユーザＡの音声データと、アバター４Ａの制御情報に含まれるアバター４Ａの位置に関する情報と、アバター４Ｂの位置に関する情報と、所定の音声処理アルゴリズムに基づいてユーザＡの音声データを加工する。その後、制御部１２１は、加工された音声データをヘッドフォン１１６（音声出力部）に送信した上で、ヘッドフォン１１６は、加工された音声データに基づいてユーザＡの音声を出力する（ステップＳ２３）。このように、仮想空間上においてユーザ間（アバター間）の音声チャット（ＶＲチャット）を実現することができる。
【００８３】
本実施形態では、ユーザ端末１Ａ，１Ｂがサーバ２にアバター４Ａの制御情報とアバター４Ｂの制御情報をそれぞれ送信した後に、サーバ２がアバター４Ａの制御情報をユーザ端末１Ｂに送信する一方、アバター４Ｂの制御情報をユーザ端末１Ａに送信する。このように、ユーザ端末１Ａとユーザ端末１Ｂ間において各アバター４Ａ，４Ｂの動きを同期させることが可能となる。
【００８４】
［第１実施形態に係る情報処理方法についての説明］
次に、図１２から図１７を参照することで、第１実施形態に係る情報処理方法について説明する。図１２は、第１実施形態に係る情報処理方法の一例を説明するためのシーケンス図である。図１３の状態（ａ）は、ユーザＡの黒目５３と白目５２を示す図である。図１３の状態（ｂ）は、ユーザＡの黒目５３と白目５２を包含する複数の部分領域Ｓから構成される身体領域Ｆ（第１身体領域）を示す図である。図１４は、ユーザＡの黒目５３の中心位置Ｑの移動軌跡の一例を示す図である。図１５の状態（ａ）は、アバター４Ａの黒目６３と白目６２を示す図である。図１５の状態（ｂ）は、アバター４Ａの黒目６３と白目６２を包含する身体領域Ｅ（第２身体領域）を示す図である。
【００８５】
本実施形態では、ユーザＡの黒目５３（身体の一部）の位置とユーザＡに関連付けられたアバター４Ａの黒目６３（身体の一部）の位置を同期制御することを説明する。つまり、既に述べたアバター４Ａの制御情報のうちアバター４Ａの黒目６３の位置情報（第２位置情報）に基づいて、アバター４Ａの黒目６３の位置を更新する処理について説明を行う。より具体的には、本実施形態では、ユーザ端末１Ｂは、ユーザ端末１Ａからサーバ２を介して送信されたアバター４Ａの黒目６３の位置情報に基づいて、ユーザＢに提供される仮想空間２００Ｂ内のアバター４Ａの黒目６３の位置を更新するものとする。また、本実施形態では、アバター４Ａの黒目６３の位置情報を取得する取得レートＣ１（第２レート）と、アバター４Ａの黒目６３の位置情報を送信する送信レートＣ２（第３レート）と、ユーザ端末１Ｂ側でアバター４Ａの黒目６３の位置を更新するフレームレートＣ３（第１レート）は以下の関係を有するものとする。
取得レートＣ１＞フレームレートＣ３＞送信レートＣ２
例えば、取得レートＣ１は、２００Ｈｚであって、送信レートＣ２は、６０Ｈｚであって、フレームレートＣ３は、９０ｆｐｓである。このように、本実施形態では、送信レートＣ２が取得レートＣ１よりも低いため、低い送信レートＣ２を考慮した上で、ユーザＡの表情とアバター４Ａの表情を同期制御させる必要がある。より具体的には、低い送信レートＣ２を考慮した上で、ユーザＡの黒目５３の位置とアバター４Ａの黒目６３の位置を同時制御させる必要がある。このように、送信レートが低い場合において、図１に示す配信システム１００における通信負荷を低減させることが可能な情報処理方法について以下に説明する。尚、本実施形態では、ユーザＡの目は、ユーザＡの左目と右目を含むのとする。さらに、アバター４Ａの目は、アバター４Ａの左目と右目を含むものとする。
【００８６】
図１２に示すように、ステップＳ３０において、ユーザ端末１Ａの制御部１２１は、取得レートＣ１（例えば、２００Ｈｚ）で注視センサ１４０から検出データ（アイトラッキングデータ）を取得する。次に、制御部１２１は、取得レートＣ１で取得された検出データに基づいてユーザＡの黒目５３の中心位置Ｑを特定する（ステップＳ３１）。その後、ステップＳ３２において、制御部１２１は、取得レートＣ１で、ユーザＡの黒目５３の中心位置Ｑが現在位置している部分領域Ｓ（第１部分領域）を示す第１位置情報を取得する。
【００８７】
図１３の状態（ｂ）に示すように、ユーザＡの黒目５３と白目５２を包含するように、身体領域Ｆが設定された上で、身体領域Ｆが複数の部分領域Ｓに区分されている。本図に示すように、ユーザＡの黒目５３の中心位置Ｑが部分領域Ｓ１に現在位置している場合、制御部１２１は、複数の部分領域Ｓと位置座標との間の対応関係（例えば、関係式やテーブル等）に基づいて、ユーザＡの黒目５３の中心位置Ｑが現在位置している部分領域Ｓを部分領域Ｓ１として特定する。その後、制御部１２１は、部分領域Ｓ１を示す第１位置情報を取得する。図１４に示すように、中心位置Ｑが部分領域Ｓ１に位置している場合、制御部１２１は、部分領域Ｓ１を示す第１位置情報を取得する。また、中心位置Ｑが部分領域Ｓ２に位置している場合、制御部１２１は、部分領域Ｓ２を示す第１位置情報を取得する。
【００８８】
次に、制御部１２１は、第１位置情報に基づいて、アバター４Ａの黒目６３の中心位置Ｐが現在位置している部分領域Ｒ（第２部分領域）を示す第２位置情報を取得レートＣ１で取得する（ステップＳ３３）。図１４の状態（ａ）に示すように、アバター４Ａの黒目６３と白目６２を包含するように、身体領域Ｅが設定された上で、身体領域Ｅが複数の部分領域Ｒに区分されている。複数の部分領域Ｒの各々は、複数の部分領域Ｓのうちの一つと対応付けられていてもよい。例えば、第１位置情報が部分領域Ｓ１を示す場合、制御部１２１は、複数の部分領域Ｒと複数の部分領域Ｓとの間の対応関係（関係式やテーブル等）に基づいて、部分領域Ｒ１を示す第２位置情報を取得する。
【００８９】
次に、ステップＳ３４において、制御部１２１は、通信ネットワーク３を介して、送信レートＣ２（例えば、６０Ｈｚ）で、第２位置情報をサーバ２に送信する。特に、第２位置情報は、アバター４Ａの黒目６３の中心位置Ｐを制御するための情報であって、アバター４Ａの制御情報のうちの一つである。このため、制御部１２１は、通信ネットワーク３を介して、第２位置情報を含むアバター４Ａの制御情報（図１１参照）をサーバ２に送信する。
【００９０】
また、送信レートＣ２（例えば、６０Ｈｚ）は取得レートＣ１（例えば、２００Ｈｚ）よりも小さいため、制御部１２１は、取得レートＣ１で取得された第２位置情報を間引きした状態でサーバ２に送信する。例えば、一の第２位置情報が送信される時刻Ｔａ１と次の第２位置情報が送信される時刻Ｔａ２との間の時間間隔ΔＴ１２の間において、３つの第２位置情報が取得された場合、制御部１２１は、第２位置情報を送信する時点（時刻Ｔ２）の直前に生成された第２位置情報をサーバ２に送信する。
【００９１】
次に、サーバ２は、第２位置情報を含むアバター４Ａの制御情報を受信した後に、通信ネットワーク３を介してアバター４Ａの制御情報をユーザ端末１Ｂに送信する（ステップＳ３５）。その後、ユーザ端末１Ｂの制御部１２１は、通信ネットワーク３及び通信インターフェース１２５を介して、第２位置情報を含むアバター４Ａの制御情報を受信する（ステップＳ３６）。次に、ユーザ端末１Ｂの制御部１２１は、受信した第２位置情報に基づいて、フレームレートＣ３（例えば、９０ｆｐｓ）で、ユーザＢに提供される仮想空間２００Ｂ（図１０参照）内のアバター４Ａの黒目６３の中心位置Ｐ（図１５参照）を更新する（ステップＳ３７）。例えば、受信した第２位置情報が部分領域Ｒ１を示す場合、制御部１２１は、第２位置情報に基づいて、アバター４Ａの黒目６３の中心位置Ｐが部分領域Ｒ１に位置するように中心位置Ｐを更新する。ここで、仮想空間２００Ｂ内に配置されたアバター４Ａの黒目６３と白目６２を包含する身体領域Ｅが設定されていると共に、身体領域Ｅは、複数の部分領域Ｒに区分されているものとする。このため、制御部１２１は、送信された第２位置情報に基づいて、アバター４Ａの黒目６３の中心位置Ｐを更新することが可能となる。
【００９２】
また、制御部１２１は、アバター４Ａの黒目６３の中心位置Ｐを更新する際に、フレームレートＣ３で、仮想空間２００Ｂ内のアバター４Ａ，４Ｂの動作（例えば、手や顔の動作）も更新する。このように、制御部１２１は、仮想空間２００Ｂを示す仮想空間データを更新した後に、ＨＭＤ１１０の動き（仮想カメラの視野）と仮想空間データに基づいて、フレームレートＣ３で、ユーザＢの頭部に装着されたＨＭＤ１１０に表示される視野画像を更新する。
【００９３】
本実施形態によれば、取得レートＣ１及びフレームレートＣ３よりも低い送信レートＣ２で、第２位置情報がサーバ２を介してユーザ端末１Ｂに向けて送信される場合において、第２位置情報を送信する時点の直前に生成された第２位置情報がサーバ２を介してユーザ端末１Ｂに向けて送信される。このように、生成された第２位置情報は、間引かれた状態でユーザ端末１Ｂに向けて送信される。さらに、ユーザ端末１Ｂに送信された第２位置情報は、アバター４Ａの黒目６３が現在位置している部分領域Ｒを示す情報であって、アバター４Ａの黒目６３の位置座標を示す情報ではない。したがって、ユーザ端末１Ｂに送信すべき情報量を低減させることができるため、ユーザ端末１Ａとユーザ端末１Ｂとの間における通信負荷を低減させることが可能となる。このように、配信システム１００における通信負荷を低減させることが可能な情報処理方法を提供することができる。
【００９４】
さらに、ユーザＡの黒目５３に対応するアバター４Ａの黒目６３の第２位置情報に基づいて、仮想空間２００Ｂ内のアバター４Ａの黒目６３の中心位置Ｐがユーザ端末１Ｂ側で更新される。このように、ユーザＡの黒目５３の中心位置Ｑと、仮想空間２００Ｂ内に配置されたアバター４Ａの黒目６３の中心位置Ｐを同期制御することが可能となるため、ユーザＡの表情をアバター４Ａの表情にリアルに反映させることが可能となる。
【００９５】
尚、本実施形態では、ユーザ端末１Ａの制御部１２１は、送信レートＣ２で、サーバ２を介して第２位置情報をユーザ端末１Ｂに送信しているが、第２位置情報の代わりに第１位置情報をサーバ２を介してユーザ端末１Ｂに送信レートＣ１で送信してもよい。この場合、送信レートＣ２は取得レートＣ１よりも小さいため、制御部１２１は、第１位置情報を送信する時点の直前に生成された第１位置情報をサーバ２に送信する。つまり、制御部１２１によって取得された第１位置情報は、間引かれた状態でサーバ２に送信される。その後、ユーザ端末１Ｂの制御部１２１は、第１位置情報をサーバ２から受信した後に、第１位置情報に基づいて第２位置情報を生成する。このとき、第２位置情報は、送信レートＣ２と同一のレートで生成されてもよい。その後、ユーザ端末１Ｂの制御部１２１は、生成された第２位置情報に基づいて、フレームレートＣ３で、仮想空間２００Ｂ内に配置されたアバター４Ａの黒目６３の位置を更新する。
【００９６】
また、本実施形態では、ステップＳ３２からＳ３４に規定された処理がユーザ端末１Ａ側で実行されなくてもよい。この点において、ステップＳ３２からＳ３４に規定された処理は、サーバ２側で実行されてもよい。
【００９７】
［アバター４Ａの黒目の更新処理］
次に、図１６及び図１７を参照することで、ステップＳ３７で規定された処理を具体的に説明する。より具体的には、送信レートＣ２（例えば、６０Ｈｚ）で送信された第２位置情報に基づいて、送信レートＣ２より高いフレームレートＣ３（例えば、９０ｆｐｓ）でアバター４Ａの黒目６３の中心位置Ｐを更新する処理について説明する。図１６の状態（ａ）は、ユーザ端末１Ｂに送信された第２位置情報に基づいて、送信レートＣ２より高いフレームレートＣ３で、アバター４Ａの黒目６３の中心位置Ｐを更新する処理を説明するための図である。図１６の状態（ｂ）は、各時刻Ｔ（Ｔ１，Ｔ２，Ｔ３・・・）においてユーザ端末１Ｂに送信された第２位置情報を示す図である。図１７は、部分領域Ｒ１の中心位置Ｏ１から部分領域Ｒ２の中心位置Ｏ２に向けてアバター４Ａの黒目６３の中心位置Ｐが徐々に移動する様子を説明するための図である。
【００９８】
図１６の状態（ａ）に示すように、フレームレートＣ３は、送信レートＣ２よりも高いため、単位時間（例えば、１秒）当たりのアバター４Ａの黒目の位置の更新回数は、単位時間（例えば、１秒）当たりに送信される第２位置情報の数よりも多い。例えば、図１６及び図１７に示すように、時刻Ｔ３において部分領域Ｒ１を示す第２位置情報がユーザ端末１Ｂに送信された場合、ユーザ端末１Ｂの制御部１２１は、時刻ｔ５，ｔ６（＞Ｔ３）において、アバター４Ａの黒目６３の中心位置Ｐを部分領域Ｒ１の中心位置Ｏ１に配置する。ここで、図１７に示すように、時刻ｔ５での中心位置Ｐは、中心位置Ｐ５として示されると共に、時刻ｔ６での中心位置Ｐは、中心位置Ｐ６として示される。
【００９９】
次に、ユーザＡの黒目５３の中心位置Ｑが部分領域Ｓ１（第１部分領域）から部分領域Ｓ２（第３部分領域）に移動した場合に（図１３参照）、ユーザ端末１Ｂの制御部１２１は、アバター４Ａの黒目６３の中心位置Ｐが部分領域Ｒ１（第２部分領域）から移動先の部分領域である部分領域Ｒ２（第４部分領域）の中心位置Ｏ２に向かって徐々に移動するように、アバター４Ａの黒目６３の中心位置Ｐを更新する。具体的には、最初に、制御部１２１は、中心位置Ｐが部分領域Ｒ１の中心位置Ｏ１と部分領域Ｒ２の中心位置Ｏ２とを結ぶ線分Ｌ１を特定する。次に、制御部１２１は、線分Ｌ１の長さＤ１を特定した上で、中心位置Ｐの移動速度（フレーム毎の移動量）を決定する。例えば、制御部１２１は、中心位置Ｐの移動速度を（１／４）Ｄ１として決定してもよい。その後、制御部１２１は、中心位置Ｐが線分Ｌ１上を決定された移動速度で徐々に移動するように、中心位置Ｐを更新する。
【０１００】
ここで、時刻ｔ７，ｔ８，ｔ９での中心位置Ｐをそれぞれ中心位置Ｐ７，Ｐ８，Ｐ９として規定すると共に、中心位置Ｐの移動速度を（１／４）Ｄ１とする。尚、時刻Ｔ４＜ｔ７＜ｔ８＜ｔ９である。この場合、図１７に示すように、制御部１２１は、時刻ｔ７において、中心位置Ｐ７と中心位置Ｏ１との間の距離が（１／４）Ｄ１となるように、中心位置Ｐ７を線分Ｌ１上に配置する。次に、制御部１２１は、時刻ｔ８において、中心位置Ｐ８と中心位置Ｏ１との間の距離が（１／２）Ｄ１となるように、中心位置Ｐ８を線分Ｌ１上に配置する。さらに、制御部１２１は、時刻ｔ９において、中心位置Ｐ９と中心位置Ｏ１との間の距離が（３／４）Ｄ１となるように、中心位置Ｐ９を線分Ｌ１上に配置する。
【０１０１】
このように、中心位置Ｑが部分領域Ｓ１から部分領域Ｓ２に移動した場合に、中心位置Ｐが部分領域Ｒ２の中心位置Ｏ２に向かって徐々に移動する。このように、ユーザＡの黒目５３が部分領域Ｓ１から部分領域Ｓ２に移動した場合に、アバター４Ａの黒目６３の中心位置Ｐを中心位置Ｏ１から中心位置Ｏ２に瞬時に移動（ワープ）させる処理と比較して、アバター４Ａの黒目６３を部分領域Ｒ１から部分領域Ｒ２に向けて滑らかに移動させることが可能となる。従って、アバター４Ａの黒目６３の動きをユーザＡの黒目５３の動きに滑らかに追従させることが可能となり、ユーザＡの表情をアバター４Ａの表情にリアルに反映させることが可能となる。
【０１０２】
尚、本実施形態の説明では、中心位置Ｐの移動速度の一例として（１／４）Ｄ１を挙げたが、中心位置Ｐの移動速度はこれには限定されない。さらに、制御部１２１は、所定の数（例えば、３つ）の部分領域Ｒ２を示す第２位置情報を受信した場合に、中心位置Ｐを中心位置Ｏ２に向けて所定の移動速度で徐々に移動させてもよい。
【０１０３】
［第２実施形態に係る情報処理方法についての説明］
次に、図１２及び図１８−２０を参照することで、第２実施形態に係る情報処理方法について説明する。本実施形態に係る情報処理方法は、第２位置情報及び第２方向情報に基づいてアバター４Ａの黒目６３の中心位置Ｐが更新される点で第１実施形態に係る情報処理方法とは異なる。ここで、第２方向情報は、アバター４Ａの黒目６３の中心位置Ｐの移動先の部分領域を示す情報である。図１８の状態（ａ）は、ユーザ端末１Ｂに送信された第２位置情報と第２方向情報に基づいて、送信レートＣ２より高いフレームレートＣ３で、アバター４Ａの黒目６３の中心位置Ｐを更新する処理を説明するための図である。図１８の状態（ｂ）は、各時刻Ｔ（Ｔ１，Ｔ２，Ｔ３・・・）においてユーザ端末１Ｂに送信された第２位置情報と第２方向情報を示す図である。図１９は、部分領域Ｒ１の中心位置Ｏ１から交差点Ｘ１に向けてアバター４Ａの黒目６３の中心位置Ｐが徐々に移動する様子を説明するための図である。図２０は、ユーザＡの黒目５３の移動を示す移動ベクトルＶ１，Ｖ２，Ｖ３の合成ベクトルＶｃに基づいて第２方向情報を取得する処理を説明するための図である。
【０１０４】
本実施形態では、図１２に示すように、ステップＳ３３の処理の後に、ユーザ端末１Ａの制御部１２１は、ユーザＡの黒目５３の中心位置Ｑの移動先の部分領域Ｓを示す第１方向情報を取得する。以下に、図２０を参照して第１方向情報の取得方法の一例について説明する。
【０１０５】
図２０に示すように、例えば、取得レートＣ１が２００Ｈｚである一方、送信レートＣ２が６０Ｈｚである場合に、一の第２位置情報が送信される時刻Ｔａ１と次の第２位置情報が送信される時刻Ｔａ２（＞Ｔａ１）との間の時間間隔ΔＴ１２の間において、ユーザ端末１Ａの制御部１２１は、ユーザＡの黒目５３の３つの中心位置Ｑを取得するものとする。ここで、３つの中心位置Ｑのうち、時刻Ｔ１２での中心位置Ｑを中心位置Ｑ１２として規定し、時刻Ｔ１３での中心位置Ｑを中心位置Ｑ１３として規定し、時刻Ｔ１４での中心位置Ｑを中心位置Ｑ１４として規定する。また、時刻Ｔ１１（＜時刻Ｔａ１）での中心位置Ｑを中心位置Ｑ１１として規定する。ここで、時刻Ｔ１１＜Ｔａ１＜Ｔ１２＜Ｔ１３＜Ｔ１４であるとする。時刻Ｔａ１に送信される第２位置情報は、中心位置Ｑ１１が属する部分領域Ｓ１を示す。一方、時刻Ｔａ２に送信される第２位置情報は、中心位置Ｑ１４が属する部分領域Ｓ１を示す。
【０１０６】
次に、制御部１２１は、各中心位置Ｑに基づいて移動ベクトルＶ１〜Ｖ３を特定する。具体的には、制御部１２１は、中心位置Ｑ１１とＱ１２に基づいて、移動ベクトルＶ１を特定し、中心位置Ｑ１２と中心位置Ｑ１３に基づいて、移動ベクトルＶ２を特定し、中心位置Ｑ１３と中心位置Ｑ１４に基づいて、移動ベクトルＶ３を特定する。その後、制御部１２１は、３つの移動ベクトルＶ１〜Ｖ３の合成ベクトルＶｃを特定する。尚、制御部１２１は、中心位置Ｑ１１とＱ１４のみに基づいて合成ベクトルＶｃを特定してもよい。
【０１０７】
次に、制御部１２１は、合成ベクトルＶｃの方向に基づいて、中心位置Ｑの移動先の部分領域Ｓを特定する。例えば、図２０に示すように、合成ベクトルＶｃが部分領域Ｓ２を向いている場合、制御部１２１は、移動先の部分領域Ｓを部分領域Ｓ２として決定する。このように、制御部１２１は、部分領域Ｓ２を示す第１方向情報を取得することができる。また、制御部１２１は、合成ベクトルＶｃのスカラ量に基づいて、移動先の部分領域Ｓが特定できない（ＮＵＬＬ）と判定してもよい。例えば、制御部１２１は、合成ベクトルＶｃのスカラ量が所定の閾値以下であると判定した場合に、移動先の部分領域Ｓが特定できないと判定してもよい。このように、制御部１２１は、合成ベクトルＶｃの方向とスカラ量の両方に基づいて、移動先の部分領域Ｓを特定してもよい。
【０１０８】
次に、制御部１２１は、第１方向情報と部分領域Ｓと部分領域Ｒとの間の対応関係に基づいて、アバター４Ａの黒目６３の中心位置Ｐの移動先の部分領域Ｒを部分領域Ｒ２として特定した上で、部分領域Ｒ２を示す第２方向情報を取得する。その後、ステップＳ３４において、制御部１２１は、第２位置情報及び第２方向情報を送信レートＣ２で送信する。
【０１０９】
次に、サーバ２は、第２位置情報と第２方向情報を受信した後に、通信ネットワーク３を介して第２位置情報と第２方向情報をユーザ端末１Ｂに送信する（ステップＳ３５）。その後、ユーザ端末１Ｂの制御部１２１は、通信ネットワーク３及び通信インターフェース１２５を介して、第２位置情報と第２方向情報を受信する（ステップＳ３６）。次に、ユーザ端末１Ｂの制御部１２１は、受信した第２位置情報及び第２方向情報に基づいて、フレームレートＣ３で、仮想空間２００Ｂ内のアバター４Ａの黒目６３の中心位置Ｐを更新する（ステップＳ３７）。
【０１１０】
次に、図１８及び図１９を参照することで、ステップＳ３７で規定された処理を具体的に説明する。より具体的には、送信レートＣ２（例えば、６０Ｈｚ）で送信された第２位置情報と第２方向情報に基づいて、送信レートＣ２より高いフレームレートＣ３（例えば、９０ｆｐｓ）で中心位置Ｐを更新する処理について説明する。
【０１１１】
この点において、第２位置情報が部分領域Ｒ１を示す一方、第２方向情報が部分領域Ｒ２を示す場合、制御部１２１は、アバター４Ａの黒目６３の中心位置Ｐが部分領域Ｒ２に向かって部分領域Ｒ１内を徐々に移動するように中心位置Ｐを更新する。具体的には、最初に、制御部１２１は、部分領域Ｒ１の中心位置Ｏ１と部分領域Ｒ２の中心位置Ｏ２とを結ぶ線分Ｌ１を特定する。次に、制御部１２１は、部分領域Ｒ１と部分領域Ｒ２との間の境界線Ｂ１と線分Ｌ１との間の交差点Ｘ１を特定する。その後、制御部１２１は、交差点Ｘ１と中心位置Ｏ１との間の距離Ｄ２を特定する。
【０１１２】
ここで、時刻ｔ１，ｔ２，ｔ３，ｔ４での中心位置Ｐをそれぞれ中心位置Ｐ１，Ｐ２，Ｐ３，Ｐ４として規定する（尚、時刻ｔ１＜Ｔ１＜ｔ２＜ｔ３＜ｔ４である）。さらに、中心位置Ｐ１は中心位置Ｏ１に位置するものとする。この場合、図１９に示すように、制御部１２１は、時刻ｔ２において、中心位置Ｐ２と交差点Ｘ１との間の距離が（１／２）×Ｄ２となるように、中心位置Ｐ２を線分Ｌ１上に配置する。次に、制御部１２１は、時刻ｔ３において、中心位置Ｐ３と交差点Ｘ１との間の距離が（１／２） ２ ×Ｄ２となるように、中心位置Ｐ３を線分Ｌ１上に配置する。さらに、制御部１２１は、時刻ｔ４において、中心位置Ｐ４と交差点Ｘ１との間の距離が（１／２） ３ ×Ｄ２となるように中心位置Ｐ４を線分Ｌ１上に配置する。このように、時刻ｔｎにおいて、中心位置Ｐｎと交差点Ｘ１との間の距離が（１／２） n-1 ×Ｄ２となるように中心位置Ｐｎを線分Ｌ１上に配置してもよい。さらに、時刻ｔｎにおいて、中心位置Ｐｎと交差点Ｘ１との間の距離がａ n-1×Ｄ２となるように中心位置Ｐｎを線分Ｌ１上に配置してもよい（ここで、ａ＜１である）。また、制御部１２１は、中心位置Ｐの移動速度を、例えば、（１／４）Ｄ２として決定した上で、中心位置Ｐが線分Ｌ１上を移動速度（１／４）Ｄ２で徐々に移動するように、中心位置Ｐを更新してもよい。尚、上記移動速度の値は単なる一例である。
【０１１３】
また、制御部１２１は、時刻Ｔ４において部分領域Ｒ２を示す第２位置情報を受信した場合に、時刻ｔ７以降において、中心位置Ｐが部分領域Ｒ２の中心位置Ｏ２に向かって線分Ｌ１上を徐々に移動するように中心位置Ｐを更新してもよい。この場合、時刻ｔ７において、中心位置Ｐは交差点Ｘ１上に位置してもよい。
【０１１４】
このように、第２方向情報を用いることで、アバター４Ａの黒目６３の中心位置Ｐを部分領域Ｒ２に向かって部分領域Ｒ１内を徐々に移動させることができる。このため、ユーザＡの黒目５３の中心位置Ｑが部分領域Ｓ１から部分領域Ｓ２に移動した場合に、アバター４Ａの黒目６３を部分領域Ｒ１から部分領域Ｒ２に向けて滑らかに移動させることが可能となる。従って、アバター４Ａの黒目６３の動きをユーザＡの黒目５３の動きに滑らかに追従させることが可能となり、ユーザＡの表情をアバター４Ａの表情にリアルに反映させることが可能となる。
【０１１５】
また、本実施形態の説明では、仮想空間２００Ｂを示す仮想空間データがユーザ端末１Ｂ側で更新されていることを前提としているが、仮想空間データはサーバ２側で更新されてもよい。さらに、視野画像に対応する視野画像データがユーザ端末１Ｂ側で更新されていることを前提としているが、視野画像データはサーバ２側で更新されてもよい。この場合、ユーザ端末１Ｂは、サーバ２から送信された視野画像データに基づいて、ＨＭＤ１１０に視野画像を表示する。
【０１１６】
また、ユーザ端末１の制御部１２１によって実行される各種処理をソフトウェアによって実現するために、各種処理をコンピュータ（プロセッサ）に実行させるための制御プログラムが記憶部１２３又はメモリに予め組み込まれていてもよい。または、制御プログラムは、磁気ディスク（ＨＤＤ、フロッピーディスク）、光ディスク（ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ、Ｂｌｕ−ｒａｙディスク等）、光磁気ディスク（ＭＯ等）、フラッシュメモリ（ＳＤカード、ＵＳＢメモリ、ＳＳＤ等）等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置１２０に接続されることで、当該記憶媒体に格納された制御プログラムが、記憶部１２３に組み込まれる。そして、記憶部１２３に組み込まれた制御プログラムがＲＡＭ上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部１２１は各種処理を実行する。
【０１１７】
また、制御プログラムは、通信ネットワーク３上のコンピュータから通信インターフェース１２５を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該制御プログラムが記憶部１２３に組み込まれる。
【０１１８】
以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲及びその均等の範囲に基づいて定められるべきである。
【０１１９】
本実施形態では、ユーザ（アバター）の身体の一部の一例としてユーザ（アバター）の黒目をピックアップした上で、ユーザの黒目の中心位置とアバターの黒目の中心位置を同期制御する例について説明したが、ユーザ（アバター）の身体の一部は、黒目には限定されない。例えば、ユーザ（アバター）の身体の一部の一例として、ユーザの舌の位置とアバターの舌の位置を同期制御してもよい。このように、ユーザ（アバター）の身体の一部は、ユーザ（アバター）の黒目のみには限定されず、本実施形態に係る情報処理方法は、ユーザ（アバター）の身体の色々な部位にも適用可能である。
【０１２０】
本実施形態において、仮想空間は、ユーザにＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）、ＡＲ（Ａｒｇｕｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）及びＭＲ（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）といった、仮想体験を提供するために用いられる。仮想空間がＶＲを提供する場合、仮想空間の背景にはメモリに保存された背景データが使用される。仮想空間がＡＲ又はＭＲを提供する場合、背景には現実空間が使用される。この場合、ＨＭＤ１１０が透過型の表示装置（光学シースルーまたはビデオシースルー型の表示装置）を備えることにより、現実空間が背景として使用され得る。仮想空間がＭＲに適用される場合、オブジェクトは、現実空間によって影響を与えられてもよい。このように、仮想空間が背景や仮想オブジェクトといった仮想シーンを少なくとも一部に含むことにより、ユーザには当該仮想シーンとの相互作用が可能な仮想体験が提供され得る。
【符号の説明】
【０１２１】
１，１Ａ，１Ｂ：ユーザ端末
２：サーバ
３：通信ネットワーク
４Ａ，４Ｂ：アバター
２１：通信インターフェース
２２：記憶部
２３：制御部
２４：バス
５２：白目
５３：黒目
６２：白目
６３：黒目
１００：仮想空間配信システム
１１０：ＨＭＤ
１１２：表示部
１１３：フェイスカメラ
１１４：ＨＭＤセンサ
１１６：ヘッドフォン
１１７：フェイスカメラ
１１８：マイク
１２０：制御装置
１２１：制御部
１２３：記憶部
１２４：Ｉ／Ｏインターフェース
１２５：通信インターフェース
１２６：バス
１３０：位置センサ
１４０：注視センサ
２００，２００Ａ，２００Ｂ：仮想空間
２１０：中心位置
３００：仮想カメラ
３２０：外部コントローラ
３２０Ｌ：左手用外部コントローラ（コントローラ）
３２０Ｒ：右手用外部コントローラ（コントローラ）
Ａ，Ｂ：ユーザ
Ｂ１：境界線
Ｘ１：交差点
Ｅ，Ｆ：身体領域
Ｒ，Ｒ１，Ｒ２：部分領域
Ｓ，Ｓ１，Ｓ２：部分領域
Ｖ１，Ｖ２，Ｖ３：移動ベクトル
Ｖｃ：合成ベクトル
【図１】
2018163637.tif 000003
【図２】
2018163637.tif 000004
【図３】
2018163637.tif 000005
【図４】
2018163637.tif 000006
【図５】
2018163637.tif 000007
【図６】
2018163637.tif 000008
【図７】
2018163637.tif 000009
【図８】
2018163637.tif 000010
【図９】
2018163637.tif 000011
【図１０】
2018163637.tif 000012
【図１１】
2018163637.tif 000013
【図１２】
2018163637.tif 000014
【図１３】
2018163637.tif 000015
【図１４】
2018163637.tif 000016
【図１５】
2018163637.tif 000017
【図１６】
2018163637.tif 000018
【図１７】
2018163637.tif 000019
【図１８】
2018163637.tif 000020
【図１９】
2018163637.tif 000021
【図２０】
2018163637.tif 000022