(57)【要約】      （修正有）【課題】ユーザにリッチな仮想体験を提供する。【解決手段】情報処理方法は、ユーザＡに関連付けられたアバター４Ａと、アバター４Ｂとを含む仮想空間２００Ａを規定する仮想空間データを生成するステップと、ユーザ端末のＨＭＤの動きに応じて、アバター４Ａの視野を更新するステップと、アバター４Ａの視野と仮想空間データに基づいて、ユーザ端末のＨＭＤに表示される視野画像を更新するステップと、アバター４Ａとアバター４Ｂとの間の距離Ｄを特定するステップと、所定の条件が満たされていると判定された場合に、ユーザ端末のＨＭＤに表示される視野画像上において、アバター４Ｂの仮想右手４２Ｂを拡大して表示するステップと、を含む。所定の条件は、距離Ｄに関連する条件を含む。【選択図】図１３
2018120583.tif 000002
【特許請求の範囲】
【請求項１】
第１ユーザの頭部に装着される第１ヘッドマウントデバイスを有する第１ユーザ端末と、サーバとを備えた仮想空間配信システムにおいてコンピュータによって実行される情報処理方法であって、
前記情報処理方法は、
（ａ）前記第１ユーザに関連付けられた第１アバターと、第２アバターとを含む仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記第１ヘッドマウントデバイスの動きに応じて、前記第１アバターの視野を更新するステップと、
（ｃ）前記第１アバターの視野と前記仮想空間データに基づいて、前記第１ヘッドマウントデバイスに表示される視野画像を更新するステップと、
（ｄ）前記第１アバターと前記第２アバターとの間の相対的位置関係を特定するステップと、
（ｅ）所定の条件が満たされていると判定された場合に、前記第１ヘッドマウントデバイスに表示される視野画像上において、前記第２アバターの仮想身体の一部を拡大して表示するステップと、
を含み、
前記所定の条件は、前記相対的位置関係に関連する条件を含む、情報処理方法。
【請求項２】
前記相対的位置関係は、前記第１アバターと前記第２アバターとの間の距離であり、
前記相対的位置関係に関連する条件は、前記距離が所定の距離よりも大きいことである、請求項１に記載の情報処理方法。
【請求項３】
前記相対的位置関係は、前記第１ヘッドマウントデバイスに表示される視野画像上における前記第２アバターの仮想身体のサイズであり、
前記相対的位置関係に関連する条件は、前記第２アバターの仮想身体のサイズが所定のサイズよりも小さいことである、請求項１に記載の情報処理方法。
【請求項４】
（ｆ）前記第２アバターの視線を特定するステップをさらに含み、
前記所定の条件は、前記第２アバターの視線に関連する条件をさらに含む、
請求項１から３のうちいずれか一項に記載の情報処理方法。
【請求項５】
前記第２アバターの視線に関連する条件は、前記第２アバターの視線が前記第１アバターに向けられていることである、請求項４に記載の情報処理方法。
【請求項６】
前記第２アバターの視線に関連する条件は、所定の期間を超えて前記第２アバターの視線が前記第１アバターに向けられていることである、請求項５に記載の情報処理方法。
【請求項７】
前記第２アバターの視線に関連する条件は、前記第２アバターの視線が前記第１アバターから他のオブジェクトに向けられた時点から所定期間内であることである、請求項４に記載の情報処理方法。
【請求項８】
（ｇ）前記第１アバターの視線を特定するステップをさらに含み、
前記所定の条件は、前記第１アバターの視線に関連する条件をさらに含む、
請求項１から７のうちいずれか一項に記載の情報処理方法。
【請求項９】
（ｈ）前記第２アバターの前記仮想身体の一部に関する情報を取得するステップをさらに含み、
前記所定の条件は、前記第２アバターの前記仮想身体の一部に関連する条件をさらに含む、
請求項１から８のうちいずれか一項に記載の情報処理方法。
【請求項１０】
前記第２アバターの前記仮想身体の一部に関連する条件は、前記仮想空間の高さ方向における前記仮想身体の一部の位置が所定の範囲内であることである、請求項９に記載の情報処理方法。
【請求項１１】
前記第２アバターの前記仮想身体の一部に関連する条件は、前記仮想身体の一部の形状が所定の形状であることである、請求項９に記載の情報処理方法。
【請求項１２】
（ｉ）前記第２アバターに関連する音声を示す音声データを取得するステップをさらに含み、
前記所定の条件は、前記音声データを取得することをさらに含む、
請求項１から１１のうちいずれか一項に記載の情報処理方法。
【請求項１３】
請求項１から１２のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理方法および当該情報処理方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
ヘッドマウントデバイス（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ：以下、単にＨＭＤという。）を装着した複数のユーザ間でネットワークを介して仮想空間を共有することが知られている。ここで、仮想空間は、ＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）空間、ＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）空間及びＭＲ（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ） 空間を含むものである。例えば、非特許文献１では、複数のユーザ間で一つのＶＲ空間を共有した上で、ハンドデバイスの操作を通じてＶＲ空間内でボディランゲージを交えたコミュニケーションを楽しむことが提案されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】”Social VR Demo - Selfie Stick and 360 Photo Spheres - Ocul    us”, [online]、平成２８年４月１３日、ＶＲＳｃｏｕｔ、［平成２８年１２月２６    日検索］、インターネット＜https://www.youtube.com/watch?v=-pumFtAjgLY＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、非特許文献１では、各々が複数のユーザのうちの一つによって操作される複数のアバター間の距離が近いために、複数のユーザ間においてボディランゲージを交えた円滑なコミュニケーションを図ることが可能となる。しかしながら、仮想空間内における２つのアバター間の距離が大きくなると、一方のアバターを操作するユーザは、他方のアバターの仮想身体の一部（例えば、仮想手）の動作が視認しづらくなるため、２人のユーザ間においてボディランゲージを交えた円滑なコミュニケーションを図ることが困難となってしまう。このように、複数のユーザ間の円滑なコミュニケーションを実現する観点より、ユーザに提供される仮想体験を改善する余地がある。
【０００５】
本開示は、ユーザにリッチな仮想体験を提供することが可能な情報処理方法及び当該情報処理方法をコンピュータに実現させるためのプログラムを提供する。
【課題を解決するための手段】
【０００６】
本開示が示す一態様によれば、第１ユーザの頭部に装着される第１ヘッドマウントデバイスを有する第１ユーザ端末と、サーバとを備えた仮想空間配信システムにおいてコンピュータによって実行される情報処理方法が提供される。
前記情報処理方法は、
（ａ）前記第１ユーザに関連付けられた第１アバターと、第２アバターとを含む仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記第１ヘッドマウントデバイスの動きに応じて、前記第１アバターの視野を更新するステップと、
（ｃ）前記第１アバターの視野と前記仮想空間データに基づいて、前記第１ヘッドマウントデバイスに表示される視野画像を更新するステップと、
（ｄ）前記第１アバターと前記第２アバターとの間の相対的位置関係を特定するステップと、
（ｅ）所定の条件が満たされていると判定された場合に、前記第１ヘッドマウントデバイスに表示される視野画像上において、前記第２アバターの仮想身体の一部を拡大して表示するステップと、
を含む。
前記所定の条件は、前記相対的位置関係に関連する条件を含む。
【発明の効果】
【０００７】
本開示によれば、ユーザにリッチな仮想体験を提供することが可能な情報処理方法及び当該情報処理方法をコンピュータに実現させるためのプログラムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態（以下、単に本実施形態という。）に係る仮想空間配信シ    ステムを示す概略図である。
【図２】ユーザ端末を示す概略図である。
【図３】ＨＭＤを装着したユーザの頭部を示す図である。
【図４】制御装置のハードウェア構成を示す図である。
【図５】視野画像をＨＭＤに表示する処理を示すフローチャートである。
【図６】仮想空間の一例を示すｘｙｚ空間図である。
【図７】状態（ａ）は、図６に示す仮想空間のｙｘ平面図である。状態（ｂ）は、図    ６に示す仮想空間のｚｘ平面図である。
【図８】ＨＭＤに表示された視野画像の一例を示す図である。
【図９】図１に示すサーバのハードウェア構成を示す図である。
【図１０】状態（ａ）は、ユーザＡに提供される仮想空間を示す図である。状態（ｂ    ）は、ユーザＢに提供される仮想空間を示す図である。
【図１１】ユーザ端末間において各アバターの動きを同期させる処理の一例を説明す    るためのシーケンス図である。
【図１２】本発明の第１実施形態（以下、単に第１実施形態という。）に係る情報処    理方法の一例を説明するためのフローチャートである。
【図１３】第１実施形態に係る情報処理方法を説明するためのユーザＡに提供される    仮想空間を示す図である。
【図１４】アバターの仮想右手が拡大表示された視野画像の一例を示す図である。
【図１５】アバターの仮想右手が拡大表示された視野画像の他の一例を示す図である    。
【図１６】アバターの仮想身体のサイズが所定のサイズよりも小さいかどうかを判定    する処理を説明するための図である。
【図１７】本発明の第２実施形態（以下、単に第２実施形態という。）に係る情報処    理方法の一例を説明するためのフローチャートである。
【図１８】第２実施形態に係る情報処理方法を説明するためのユーザＡに提供される    仮想空間を示す図である。
【図１９】アバターの仮想右手が拡大表示された視野画像の一例を示す図である。
【発明を実施するための形態】
【０００９】
［本開示が示す実施形態の説明］
本開示が示す実施形態の概要を説明する。
（１）第１ユーザの頭部に装着される第１ヘッドマウントデバイスを有する第１ユーザ端末と、サーバとを備えた仮想空間配信システムにおいてコンピュータによって実行される情報処理方法であって、
前記情報処理方法は、
（ａ）前記第１ユーザに関連付けられた第１アバターと、第２アバターとを含む仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記第１ヘッドマウントデバイスの動きに応じて、前記第１アバターの視野を更新するステップと、
（ｃ）前記第１アバターの視野と前記仮想空間データに基づいて、前記第１ヘッドマウントデバイスに表示される視野画像を更新するステップと、
（ｄ）前記第１アバターと前記第２アバターとの間の相対的位置関係を特定するステップと、
（ｅ）所定の条件が満たされていると判定された場合に、前記第１ヘッドマウントデバイスに表示される視野画像上において、前記第２アバターの仮想身体の一部を拡大して表示するステップと、
を含み、
前記所定の条件は、前記相対的位置関係に関連する条件を含む、情報処理方法。
【００１０】
上記方法によれば、第１アバターと第２アバターとの間の相対的位置関係に関する条件を含む所定の条件が満たされていると判定された場合に、第１ヘッドマウントデバイスに表示される視野画像上において、第２アバターの仮想身体の一部（例えば、仮想手）が拡大して表示される。このように、第１ユーザは、視野画像上に拡大して表示された第２アバターの仮想身体の一部を見ることで、第２アバターの仮想身体の一部の動作を明確に視認することができるので、第１アバターと第２アバター間におけるボディランゲージを交えた円滑なコミュニケーションを実現することができる。従って、ユーザにリッチな仮想体験を提供することができる。
【００１１】
（２）前記相対的位置関係は、前記第１アバターと前記第２アバターとの間の距離であり、
前記相対的位置関係に関連する条件は、前記距離が所定の距離よりも大きいことである、項目（１）に記載の情報処理方法。
【００１２】
上記方法によれば、所定の条件は、第１アバターと第２アバターとの間の距離が所定の距離よりも大きいことを含む。当該所定の条件が満たされていると判定された場合に、第１ヘッドマウントデバイスに表示される視野画像上において、第２アバターの仮想身体の一部が拡大して表示される。このように、第１アバターが第２アバターから離れた位置に存在する場合でも、第１ユーザは、第２アバターの仮想身体の一部の動作を明確に視認することができるので、第１アバターと第２アバター間におけるボディランゲージを交えた円滑なコミュニケーションを実現することができる。
【００１３】
（３）前記相対的位置関係は、前記第１ヘッドマウントデバイスに表示される視野画像上における前記第２アバターの仮想身体のサイズであり、
前記相対的位置関係に関連する条件は、前記第２アバターの仮想身体のサイズが所定のサイズよりも小さいことである、項目（１）に記載の情報処理方法。
【００１４】
上記方法によれば、所定の条件は、第１ヘッドマウントデバイスに表示される視野画像上における第２アバターの仮想身体のサイズが所定のサイズよりも小さいことを含む。当該所定の条件が満たされていると判定された場合に、第１ヘッドマウントデバイスに表示される視野画像上において、第２アバターの仮想身体の一部が拡大して表示される。このように、第１ユーザが第２アバターから離れた位置に存在する場合でも、第１ユーザは、第２アバターの仮想身体の一部を明確に視認することができるので、第１アバターと第２アバター間におけるボディランゲージを交えた円滑なコミュニケーションを実現することができる。
【００１５】
（４）（ｆ）前記第２アバターの視線を特定するステップをさらに含み、
前記所定の条件は、前記第２アバターの視線に関連する条件をさらに含む、
項目（１）から（３）のうちいずれか一項に記載の情報処理方法。
【００１６】
上記方法によれば、所定の条件は、第１アバターと第２アバターとの間の相対的位置関係に関連する条件と第２アバターの視線に関連する条件とを含む。当該所定の条件が満たされていると判定された場合に、第１ヘッドマウントデバイスに表示される視野画像上において、第２アバターの仮想身体の一部が拡大して表示される。このように、第２アバターの視線の状態を考慮して、視野画像上に第２アバターの仮想身体の一部が拡大表示される。このため、第１アバターと第２アバター間におけるコミュニケーションが行われると予期されるときに、視野画像上に第２アバターの仮想身体の一部を拡大表示することができる。
【００１７】
（５）前記第２アバターの視線に関連する条件は、前記第２アバターの視線が前記第１アバターに向けられていることである、項目（４）に記載の情報処理方法。
【００１８】
上記方法によれば、所定の条件は、第１アバターと第２アバターとの間の相対的位置関係に関連する条件と第２アバターの視線が第１アバターに向けられていることを含む。当該所定の条件が満たされたと判定された場合、第１ヘッドマウントデバイスに表示される視野画像上において、第２アバターの仮想身体の一部が拡大して表示される。このように、第２アバターの視線が第１アバターに向けられているときに（換言すれば、第２アバターが第１アバターを見ているときに）、視野画像上に第２アバターの仮想身体の一部が拡大表示される。このため、第１アバターと第２アバター間におけるコミュニケーションが行われると予期されるときに、視野画像上に第２アバターの仮想身体の一部を拡大表示することができる。
【００１９】
（６）前記第２アバターの視線に関連する条件は、所定の期間を超えて前記第２アバターの視線が前記第１アバターに向けられていることである、項目（５）に記載の情報処理方法。
【００２０】
上記方法によれば、所定の条件は、第１アバターと第２アバターとの間の相対的位置関係に関連する条件と、所定の期間を超えて第２アバターの視線が第１アバターに向けられていることを含む。当該所定の条件が満たされたと判定された場合、第１ヘッドマウントデバイスに表示される視野画像上において、第２アバターの仮想身体の一部が拡大して表示される。このように、所定の期間を超えて第２アバターの視線が第１アバターに向けられているときに（換言すれば、所定の期間を超えて第２アバターが第１アバターを見ているときに）、視野画像上に第２アバターの仮想身体の一部が拡大表示される。このため、第１アバターと第２アバター間におけるコミュニケーションが行われると予期されるときに、視野画像上に第２アバターの仮想身体の一部を拡大表示することができる。
【００２１】
（７）前記第２アバターの視線に関連する条件は、前記第２アバターの視線が前記第１アバターから他のオブジェクトに向けられた時点から所定期間内であることである、項目（４）に記載の情報処理方法。
【００２２】
上記方法によれば、所定の条件は、第１アバターと第２アバターとの間の相対的位置関係に関連する条件と、第２アバターの視線が第１アバターから他のオブジェクトに向けられた時点から所定期間内であることを含む。当該所定の条件が満たされたと判定された場合に、第１ヘッドマウントデバイスに表示される視野画像上において、第２アバターの仮想身体の一部が拡大して表示される。このように、第２アバターの視線が第１アバターから他のオブジェクトに向けられた時点から所定期間内であるときに、視野画像上に第２アバターの仮想身体の一部が拡大表示される。このため、第１アバターと第２アバター間におけるコミュニケーションが継続されていると予期されるときに、視野画像上に第２アバターの仮想身体の一部を拡大表示することができる。
【００２３】
（８）（ｇ）前記第１アバターの視線を特定するステップをさらに含み、
前記所定の条件は、前記第１アバターの視線に関連する条件をさらに含む、
項目（１）から（７）のうちいずれか一項に記載の情報処理方法。
【００２４】
上記方法によれば、所定の条件は、第１アバターと第２アバターとの間の相対的位置関係に関連する条件と第１アバターの視線に関連する条件とを含む。当該所定の条件が満たされていると判定された場合に、第１ヘッドマウントデバイスに表示される視野画像上において、第２アバターの仮想身体の一部が拡大して表示される。このように、第１アバターの視線の状態を考慮して、視野画像上に第２アバターの仮想身体の一部が拡大表示される。このため、第１アバターと第２アバター間におけるコミュニケーションが行われると予期されるときに、視野画像上に第２アバターの仮想身体の一部を拡大表示することができる。
【００２５】
（９）（ｈ）前記第２アバターの前記仮想身体の一部に関する情報を取得するステップをさらに含み、
前記所定の条件は、前記第２アバターの前記仮想身体の一部に関連する条件をさらに含む、
項目（１）から（８）のうちいずれか一項に記載の情報処理方法。
【００２６】
上記方法によれば、所定の条件は、第１アバターと第２アバターとの間の相対的位置関係に関連する条件と、第２アバターの仮想身体の一部に関連する条件とを含む。当該所定の条件が満たされていると判定された場合に、第１ヘッドマウントデバイスに表示される視野画像上において、第２アバターの仮想身体の一部が拡大して表示される。このように、第２アバターの仮想身体の一部の状態を考慮して、視野画像上に第２アバターの仮想身体の一部が拡大表示される。このため、第１アバターと第２アバター間におけるコミュニケーションが行われると予期されるときに、視野画像上に第２アバターの仮想身体の一部を拡大表示することができる。
【００２７】
（１０）前記第２アバターの前記仮想身体の一部に関連する条件は、前記仮想空間の高さ方向における前記仮想身体の一部の位置が所定の範囲内であることである、項目（９）に記載の情報処理方法。
【００２８】
上記方法によれば、所定の条件は、第１アバターと第２アバターとの間の相対的位置関係に関連する条件と、仮想空間の高さ方向における第２アバターの仮想身体の一部の位置が所定の範囲内であることを含む。当該所定の条件が満たされていると判定された場合に、第１ヘッドマウントデバイスに表示される視野画像上において、第２アバターの仮想身体の一部が拡大して表示される。このように、仮想空間の高さ方向における第２アバターの仮想身体の一部の位置が所定の範囲内であるときに、視野画像上に第２アバターの仮想身体の一部が拡大表示される。このため、第１アバターと第２アバター間におけるコミュニケーションが行われると予期されるときに、視野画像上に第２アバターの仮想身体の一部を拡大表示することができる。
【００２９】
（１１）前記第２アバターの前記仮想身体の一部に関連する条件は、前記仮想身体の一部の形状が所定の形状であることである、項目（９）に記載の情報処理方法。
【００３０】
上記方法によれば、所定の条件は、第１アバターと第２アバターとの間の相対的位置関係に関連する条件と、第２アバターの仮想身体の一部の形状が所定の形状であることを含む。当該所定の条件が満たされていると判定された場合に、第１ヘッドマウントデバイスに表示される視野画像上において、第２アバターの仮想身体の一部が拡大して表示される。このように、第２アバターの仮想身体の一部の形状が所定の形状であるときに、視野画像上に第２アバターの仮想身体の一部が拡大表示される。このため、第１アバターと第２アバター間におけるコミュニケーションが行われると予期されるときに、視野画像上に第２アバターの仮想身体の一部を拡大表示することができる。
【００３１】
（１２）（ｉ）前記第２アバターに関連する音声を示す音声データを取得するステップをさらに含み、
前記所定の条件は、前記音声データを取得することをさらに含む、
項目（１）から（１１）のうちいずれか一項に記載の情報処理方法。
【００３２】
上記方法によれば、所定の条件は、第２アバターに関連する音声データを取得することを含む。当該所定の条件が満たされたと判定された場合、第１ヘッドマウントデバイスに表示される視野画像上において、第２アバターの仮想身体の一部が拡大表示される。このため、第１アバターと第２アバター間におけるコミュニケーションが行われると予期されるときに、視野画像上に第２アバターの仮想身体の一部を拡大表示することができる。
【００３３】
（１３）項目（１）から（１２）のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【００３４】
上記プログラムによれば、ユーザにリッチな仮想体験を提供することができる。
【００３５】
［本開示が示す実施形態の詳細］
以下、本開示が示す実施形態について図面を参照しながら説明する。尚、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
【００３６】
最初に、仮想空間配信システム１００の構成の概略について図１を参照して説明する。図１は、仮想空間配信システム１００（以下、単に配信システム１００という。）の概略図である。図１に示すように、配信システム１００は、ユーザＡ（第１ユーザ）によって操作されるユーザ端末１Ａ（第１ユーザ端末）と、ユーザＢ（第２ユーザ）によって操作されるユーザ端末１Ｂ（第２ユーザ端末）と、サーバ２とを備える。ユーザ端末１Ａ，１Ｂは、インターネット等の通信ネットワーク３を介してサーバ２に通信可能に接続されている。尚、本実施形態において、仮想空間とは、ＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）空間と、ＡＲ（Ａｒｇｕｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）空間と、ＭＲ（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）空間を含むものである。また、以降では、説明の便宜上、各ユーザ端末１Ａ，１Ｂを単にユーザ端末１と総称する場合がある。さらに、各ユーザＡ，Ｂを単にユーザＵと総称する場合がある。また、本実施形態では、ユーザ端末１Ａ，１Ｂは、同一の構成を備えているものとする。
【００３７】
次に、図２を参照してユーザ端末１の構成について説明する。図２は、ユーザ端末１を示す概略図である。図２に示すように、ユーザ端末１は、ユーザＵの頭部に装着されたヘッドマウントデバイス（ＨＭＤ）１１０と、ヘッドフォン１１６と、マイク１１８と、位置センサ１３０と、外部コントローラ３２０と、制御装置１２０とを備える。
【００３８】
ＨＭＤ１１０は、表示部１１２と、ＨＭＤセンサ１１４と、注視センサ１４０とを備えている。表示部１１２は、ＨＭＤ１１０を装着したユーザＵの視界（視野）を完全に覆うように構成された非透過型の表示装置を備えている。これにより、ユーザＵは、表示部１１２に表示された視野画像のみを見ることで仮想空間に没入することができる。尚、表示部１１２は、ユーザＵの左目に画像を提供するように構成された左目用表示部と、ユーザＵの右目に画像を提供するように構成された右目用表示部とから構成されてもよい。また、ＨＭＤ１１０は、透過型の表示装置を備えてもよい。この場合、透過型の表示装置は、その透過率を調整することで、一時的に非透過型の表示装置として構成されてもよい。
【００３９】
ＨＭＤセンサ１１４は、ＨＭＤ１１０の表示部１１２の近傍に搭載される。ＨＭＤセンサ１１４は、地磁気センサ、加速度センサ、傾きセンサ（角速度センサやジャイロセンサ等）のうちの少なくとも１つを含み、ユーザＵの頭部に装着されたＨＭＤ１１０の各種動き（傾き等）を検出することができる。
【００４０】
注視センサ１４０は、ユーザＵの視線を検出するアイトラッキング機能を有する。注視センサ１４０は、例えば、右目用注視センサと、左目用注視センサを備えてもよい。右目用注視センサは、ユーザＵの右目に例えば赤外光を照射して、右目（特に、角膜や虹彩）から反射された反射光を検出することで、右目の眼球の回転角に関する情報を取得してもよい。一方、左目用注視センサは、ユーザＵの左目に例えば赤外光を照射して、左目（特に、角膜や虹彩）から反射された反射光を検出することで、左目の眼球の回転角に関する情報を取得してもよい。
【００４１】
ヘッドフォン１１６（音声出力部）は、ユーザＵの左耳と右耳にそれぞれ装着されている。ヘッドフォン１１６は、制御装置１２０から音声データ（電気信号）を受信し、当該受信した音声データに基づいて音声を出力するように構成されている。マイク１１８（音声入力部）は、ユーザＵから発声された音声を収集し、当該収集された音声に基づいて音声データ（電気信号）を生成するように構成されている。さらに、マイク１１８は、音声データを制御装置１２０に送信するように構成されている。
【００４２】
位置センサ１３０は、例えば、ポジション・トラッキング・カメラにより構成され、ＨＭＤ１１０と外部コントローラ３２０の位置を検出するように構成されている。位置センサ１３０は、制御装置１２０に無線又は有線により通信可能に接続されており、ＨＭＤ１１０に設けられた図示しない複数の検知点の位置、傾き又は発光強度に関する情報を検出するように構成されている。さらに、位置センサ１３０は、外部コントローラ３２０に設けられた図示しない複数の検知点の位置、傾き及び／又は発光強度に関する情報を検出するように構成されている。検知点は、例えば、赤外線や可視光を放射する発光部である。また、位置センサ１３０は、赤外線センサや複数の光学カメラを含んでもよい。
【００４３】
外部コントローラ３２０は、ユーザＵの身体の一部（頭部以外の部位であり、本実施形態においてはユーザＵの手）の動きを検知することにより、仮想空間内に表示されるアバターの仮想手の動作を制御するために使用される。外部コントローラ３２０は、ユーザＵの右手によって操作される右手用外部コントローラ３２０Ｒ（以下、単にコントローラ３２０Ｒという。）と、ユーザＵの左手によって操作される左手用外部コントローラ３２０Ｌ（以下、単にコントローラ３２０Ｌという。）と、を有する。コントローラ３２０Ｒは、ユーザＵの右手の位置や右手の手指の動きを示す装置である。また、コントローラ３２０Ｒの動きに応じて仮想空間内に存在するアバターの仮想右手が動く。コントローラ３２０Ｌは、ユーザＵの左手の位置や左手の手指の動きを示す装置である。また、コントローラ３２０Ｌの動きに応じて仮想空間内に存在するアバターの仮想左手が動く。
【００４４】
制御装置１２０は、ＨＭＤ１１０を制御するように構成されたコンピュータである。制御装置１２０は、位置センサ１３０から取得された情報に基づいて、ＨＭＤ１１０の位置情報を特定し、当該特定された位置情報に基づいて、仮想空間における仮想カメラの位置と、現実空間におけるＨＭＤ１１０を装着したユーザＵの位置を正確に対応付けることができる。さらに、制御装置１２０は、位置センサ１３０及び／又は外部コントローラ３２０に内蔵されたセンサから取得された情報に基づいて、外部コントローラ３２０の動作を特定し、当該特定された外部コントローラ３２０の動作に基づいて、仮想空間内に表示されるアバターの仮想手の動作と現実空間における外部コントローラ３２０の動作を正確に対応付けることができる。特に、制御装置１２０は、位置センサ１３０及び／又はコントローラ３２０Ｌに内蔵されたセンサから取得された情報に基づいて、コントローラ３２０Ｌの動作を特定し、当該特定されたコントローラ３２０Ｌの動作に基づいて、仮想空間内に表示されるアバターの仮想左手の動作と現実空間におけるコントローラ３２０Ｌの動作（ユーザＵの左手の動作）を正確に対応付けることができる。同様に、制御装置１２０は、位置センサ及び／コントローラ３２０Ｒに内蔵されたセンサから取得された情報に基づいて、コントローラ３２０Ｒの動作を特定し、当該特定されたコントローラ３２０Ｒの動作に基づいて、仮想空間内に表示されるアバターの仮想右手の動作と現実空間におけるコントローラ３２０Ｒの動作（ユーザＵの右手の動作）を正確に対応付けることができる。
【００４５】
また、制御装置１２０は、注視センサ１４０（左目用注視センサと右目用注視センサ）から送信された情報に基づいて、ユーザＵの右目の視線と左目の視線をそれぞれ特定し、当該右目の視線と当該左目の視線の交点である注視点を特定することができる。さらに、制御装置１２０は、特定された注視点に基づいて、ユーザＵの両目の視線（ユーザＵの視線）を特定することができる。ここで、ユーザＵの視線は、ユーザＵの両目の視線であって、ユーザＵの右目と左目を結ぶ線分の中点と注視点を通る直線の方向に一致する。
【００４６】
次に、図３を参照して、ＨＭＤ１１０の位置や傾きに関する情報を取得する方法について説明する。図３は、ＨＭＤ１１０を装着したユーザＵの頭部を示す図である。ＨＭＤ１１０を装着したユーザＵの頭部の動きに連動したＨＭＤ１１０の位置や傾きに関する情報は、位置センサ１３０及び／又はＨＭＤ１１０に搭載されたＨＭＤセンサ１１４により検出可能である。図２に示すように、ＨＭＤ１１０を装着したユーザＵの頭部を中心として、３次元座標（ｕｖｗ座標）が規定される。ユーザＵが直立する垂直方向をｖ軸として規定し、ｖ軸と直交しＨＭＤ１１０の中心を通る方向をｗ軸として規定し、ｖ軸およびｗ軸と直交する方向をｕ軸として規定する。位置センサ１３０及び／又はＨＭＤセンサ１１４は、各ｕｖｗ軸回りの角度（すなわち、ｖ軸を中心とする回転を示すヨー角、ｕ軸を中心とした回転を示すピッチ角、ｗ軸を中心とした回転を示すロール角で決定される傾き）を検出する。制御装置１２０は、検出された各ｕｖｗ軸回りの角度変化に基づいて、仮想カメラの視軸を制御するための角度情報を決定する。
【００４７】
次に、図４を参照することで、制御装置１２０のハードウェア構成について説明する。図４は、制御装置１２０のハードウェア構成を示す図である。図４に示すように、制御装置１２０は、制御部１２１と、記憶部１２３と、Ｉ／Ｏ（入出力）インターフェース１２４と、通信インターフェース１２５と、バス１２６とを備える。制御部１２１と、記憶部１２３と、Ｉ／Ｏインターフェース１２４と、通信インターフェース１２５は、バス１２６を介して互いに通信可能に接続されている。
【００４８】
制御装置１２０は、ＨＭＤ１１０とは別体に、パーソナルコンピュータ、タブレット又はウェアラブルデバイスとして構成されてもよいし、ＨＭＤ１１０に内蔵されていてもよい。また、制御装置１２０の一部の機能がＨＭＤ１１０に搭載されると共に、制御装置１２０の残りの機能がＨＭＤ１１０とは別体の他の装置に搭載されてもよい。
【００４９】
制御部１２１は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成される。プロセッサは、例えばＣＰＵ(Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ)、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及び／又はＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であって、ＲＯＭに組み込まれた各種プログラムから指定されたプログラムをＲＡＭ上に展開し、ＲＡＭとの協働で各種処理を実行するように構成されている。
【００５０】
特に、プロセッサが制御プログラムをＲＡＭ上に展開し、ＲＡＭとの協働で制御プログラムを実行することで、制御部１２１は、制御装置１２０の各種動作を制御してもよい。制御部１２１は、視野画像データに基づいてＨＭＤ１１０の表示部１１２に視野画像を表示する。これにより、ユーザＵは、仮想空間に没入することができる。
【００５１】
記憶部（ストレージ）１２３は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部１２３は、本実施形態に係る情報処理方法の少なくとも一部をコンピュータに実行させるための制御プログラムや、複数のユーザによる仮想空間の共有を実現するための制御プログラムを格納してもよい。また、記憶部１２３には、ユーザＵの認証プログラムや各種画像やオブジェクト（例えば、アバター等）に関するデータが格納されてもよい。さらに、記憶部１２３には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。
【００５２】
Ｉ／Ｏインターフェース１２４は、位置センサ１３０と、ＨＭＤ１１０と、外部コントローラ３２０と、ヘッドフォン１１６と、マイク１１８とをそれぞれ制御装置１２０に通信可能に接続するように構成されており、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ―Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子等により構成されている。尚、制御装置１２０は、位置センサ１３０と、ＨＭＤ１１０と、外部コントローラ３２０と、ヘッドフォン１１６と、マイク１１８とのそれぞれと無線接続されていてもよい。
【００５３】
通信インターフェース１２５は、制御装置１２０をＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又はインターネット等の通信ネットワーク３に接続させるように構成されている。通信インターフェース１２５は、通信ネットワーク３を介してサーバ２等の外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク３を介して通信するための通信規格に適合するように構成されている。
【００５４】
次に、図５から図８を参照することで視野画像をＨＭＤ１１０に表示するための処理について説明する。図５は、視野画像をＨＭＤ１１０に表示する処理を示すフローチャートである。図６は、仮想空間２００の一例を示すｘｙｚ空間図である。図７の状態（ａ）は、図６に示す仮想空間２００のｙｘ平面図である。図７の状態（ｂ）は、図６に示す仮想空間２００のｚｘ平面図である。図８は、ＨＭＤ１１０に表示された視野画像Ｖの一例を示す図である。
【００５５】
図５に示すように、ステップＳ１において、制御部１２１（図４参照）は、仮想カメラ３００と、各種オブジェクトとを含む仮想空間２００を示す仮想空間データを生成する。図６に示すように、仮想空間２００は、中心位置２１０を中心とした全天球として規定される（図６では、上半分の天球のみが図示されている）。また、仮想空間２００では、中心位置２１０を原点とするｘｙｚ座標系が設定されている。仮想カメラ３００は、ＨＭＤ１１０に表示される視野画像Ｖ（図８参照）を特定するための視軸Ｌを規定している。仮想カメラ３００の視野を定義するｕｖｗ座標系は、現実空間におけるユーザＵの頭部を中心として規定されたｕｖｗ座標系に連動するように決定される。また、ＨＭＤ１１０を装着したユーザＵの現実空間における移動に連動して、制御部１２１は、仮想カメラ３００を仮想空間２００内で移動させてもよい。
【００５６】
次に、ステップＳ２において、制御部１２１は、仮想カメラ３００の視野ＣＶ（図７参照）を特定する。具体的には、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４から送信されたＨＭＤ１１０の状態を示すデータに基づいて、ＨＭＤ１１０の位置や傾きに関する情報を取得する。次に、制御部１２１は、ＨＭＤ１１０の位置や傾きに関する情報に基づいて、仮想空間２００内における仮想カメラ３００の位置や向きを特定する。次に、制御部１２１は、仮想カメラ３００の位置や向きから仮想カメラ３００の視軸Ｌを決定し、決定された視軸Ｌから仮想カメラ３００の視野ＣＶを特定する。ここで、仮想カメラ３００の視野ＣＶは、ＨＭＤ１１０を装着したユーザＵが視認可能な仮想空間２００の一部の領域に相当する（換言すれば、ＨＭＤ１１０に表示される仮想空間２００の一部の領域に相当する）。また、視野ＣＶは、図７の状態（ａ）に示すｘｙ平面において、視軸Ｌを中心とした極角αの角度範囲として設定される第１領域ＣＶａと、図７の状態（ｂ）に示すｘｚ平面において、視軸Ｌを中心とした方位角βの角度範囲として設定される第２領域ＣＶｂとを有する。尚、制御部１２１は、注視センサ１４０から送信されたユーザＵの視線を示すデータに基づいてユーザＵの視線を特定し、特定されたユーザＵの視線とＨＭＤ１１０の位置や傾きに関する情報に基づいて、仮想カメラ３００の向き（仮想カメラの野軸Ｌ）を決定してもよい。また、後述するように、制御部１２１は、ＨＭＤ１１０の位置や傾きに関する情報に基づいて、ユーザＵのアバターの顔の向きを決定してもよい。
【００５７】
このように、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４からのデータに基づいて、仮想カメラ３００の視野ＣＶを特定することができる。ここで、ＨＭＤ１１０を装着したユーザＵが動くと、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４から送信されたＨＭＤ１１０の動きを示すデータに基づいて、仮想カメラ３００の視野ＣＶを更新することができる。つまり、制御部１２１は、ＨＭＤ１１０の動きに応じて、視野ＣＶを更新することができる。同様に、ユーザＵの視線が変化すると、制御部１２１は、注視センサ１４０から送信されたユーザＵの視線を示すデータに基づいて、仮想カメラ３００の視野ＣＶを更新してもよい。つまり、制御部１２１は、ユーザＵの視線の変化に応じて、視野ＣＶを変化させてもよい。
【００５８】
次に、ステップＳ３において、制御部１２１は、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖを示す視野画像データを生成する。具体的には、制御部１２１は、仮想空間２００を規定する仮想空間データと、仮想カメラ３００の視野ＣＶとに基づいて、視野画像データを生成する。
【００５９】
次に、ステップＳ４において、制御部１２１は、視野画像データに基づいて、ＨＭＤ１１０の表示部１１２に視野画像Ｖを表示する（図７参照）。このように、ＨＭＤ１１０を装着しているユーザＵの動きに応じて、仮想カメラ３００の視野ＣＶが変化し、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖが変化するので、ユーザＵは仮想空間２００に没入することができる。
【００６０】
尚、仮想カメラ３００は、左目用仮想カメラと右目用仮想カメラを含んでもよい。この場合、制御部１２１は、仮想空間データと左目用仮想カメラの視野に基づいて、左目用の視野画像を示す左目用視野画像データを生成する。さらに、制御部１２１は、仮想空間データと、右目用仮想カメラの視野に基づいて、右目用の視野画像を示す右目用視野画像データを生成する。その後、制御部１２１は、左目用視野画像データに基づいて、左目用表示部に左目用の視野画像を表示すると共に、右目用視野画像データに基づいて、右目用表示部に右目用の視野画像を表示する。このようにして、ユーザＵは、左目用視野画像と右目用視野画像との間の視差により、視野画像を３次元的に視認することができる。尚、仮想カメラは、後述するように、ユーザによって操作されるアバターの目の位置に配置されてもよい。例えば、左目用仮想カメラは、アバターの左目に配置される一方で、右目用仮想カメラは、アバターの右目に配置されてもよい。
【００６１】
また、図５に示すステップＳ１〜Ｓ４の処理は１フレーム（動画を構成する静止画像）毎に実行されてもよい。例えば、動画のフレームレートが９０ｆｐｓである場合、ステップＳ１〜Ｓ４の処理はΔＴ＝１／９０（秒）間隔で繰り返し実行されてもよい。このように、ステップＳ１〜Ｓ４の処理が所定間隔ごとに繰り返し実行されるため、ＨＭＤ１１０の動作に応じて仮想カメラ３００の視野が更新されると共に、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖが更新される。
【００６２】
次に、図１に示すサーバ２のハードウェア構成について図９を参照して説明する。図９は、サーバ２のハードウェア構成を示す図である。図９に示すように、サーバ２は、制御部２３と、記憶部２２と、通信インターフェース２１と、バス２４とを備える。制御部２３と、記憶部２２と、通信インターフェース２１は、バス２４を介して互いに通信可能に接続されている。制御部２３は、メモリとプロセッサを備えており、メモリは、例えば、ＲＯＭ及びＲＡＭ等から構成されると共に、プロセッサは、例えば、ＣＰＵ、ＭＰＵ及び／又はＧＰＵにより構成される。
【００６３】
記憶部（ストレージ）２２は、例えば、大容量のＨＤＤ等である。記憶部２２は、本実施形態に係る情報処理方法の少なくとも一部をコンピュータに実行させるための制御プログラムや、複数のユーザによる仮想空間の共有を実現させるための制御プログラムを格納してもよい。また、記憶部２２は、各ユーザを管理するためのユーザ管理情報や各種画像やオブジェクト（例えば、アバター等）に関するデータを格納してもよい。通信インターフェース２１は、サーバ２を通信ネットワーク３に接続させるように構成されている。
【００６４】
次に、図１，１０及び１１を参照してユーザ端末１Ａとユーザ端末１Ｂ間において各アバター４Ａ，４Ｂの動きを同期させる処理の一例について説明する。図１０の状態（ａ）は、ユーザＡに提供される仮想空間２００Ａを示す図である。図１０の状態（ｂ）は、ユーザＢに提供される仮想空間２００Ｂを示す図である。図１１は、ユーザ端末１Ａとユーザ端末１Ｂ間において各アバター４Ａ，４Ｂの動きを同期させる処理の一例を説明するためのシーケンス図である。本説明では、前提条件として、図１０に示すように、ユーザ端末１Ａ（ユーザＡ）に関連付けられたアバター４Ａ（第１アバター）と、ユーザ端末１Ｂ（ユーザＢ）に関連付けられたアバター４Ｂ（第２アバター）が同一の仮想空間を共有しているものとする。つまり、通信ネットワーク３を介してユーザＡとユーザＢが一つの仮想空間を共有するものとする。
【００６５】
図１０の状態（ａ）に示すように、ユーザＡの仮想空間２００Ａは、アバター４Ａと、アバター４Ｂとを含む。アバター４Ａは、ユーザＡによって操作されると共に、ユーザＡの動作に連動する。アバター４Ａは、ユーザ端末１Ａのコントローラ３２０Ｌの動作（ユーザＡの左手の動作）に連動する仮想左手４３Ａ（アバター４Ａの仮想身体の一部）と、ユーザ端末１Ａのコントローラ３２０Ｒの動作（ユーザＡの右手の動作）に連動する仮想右手４２Ａ（アバター４Ａの仮想身体の一部）とを有する。アバター４Ｂは、ユーザＢによって操作されると共に、ユーザＢの動作に連動する。アバター４Ｂは、ユーザＢの左手の動作を示すユーザ端末１Ｂのコントローラ３２０Ｌの動作に連動する仮想左手４３Ｂ（アバター４Ｂの仮想身体の一部）と、ユーザＢの右手の動作を示すユーザ端末１Ｂのコントローラ３２０Ｒの動作に連動する仮想右手４２Ｂ（アバター４Ｂの仮想身体の一部）とを有する。
【００６６】
尚、ユーザＡに提供される仮想空間２００Ａでは、アバター４Ａが可視化されない場合も想定される。この場合、仮想空間２００Ａに配置されるアバター４Ａは、少なくともユーザ端末１ＡのＨＭＤ１１０の動きに連動する仮想カメラ３００を含む。
【００６７】
また、ユーザ端末１Ａ，１ＢのＨＭＤ１１０の位置に応じてアバター４Ａ，４Ｂの位置が特定されてもよい。同様に、ユーザ端末１Ａ，１ＢのＨＭＤ１１０の傾きに応じてアバター４Ａ，４Ｂの顔の向きが特定されてもよい。さらに、ユーザ端末１Ａ，１Ｂの外部コントローラの動作に応じてアバター４Ａ，４Ｂの仮想手の動作が特定されてもよい。特に、ユーザ端末１Ａ，１Ｂのコントローラ３２０Ｌの動作に応じてアバター４Ａ，４Ｂの仮想左手の動作が特定されると共に、ユーザ端末１Ａ，１Ｂのコントローラ３２０Ｒの動作に応じてアバター４Ａ，４Ｂの仮想右手の動作が特定されてもよい。また、注視センサ１４０によって検出されたユーザＡ，Ｂの視線を示すデータに応じてアバター４Ａ，４Ｂの白目に対する黒目の相対的位置が特定されてもよい。特に、左目用注視センサによって検出されたユーザの左目の視線を示すデータに応じてアバターの左白目に対する左黒目の相対的位置が特定されてもよい。さらに、右目用注視センサによって検出されたユーザの右目の視線を示すデータに応じてアバターの右白目に対する右黒目の相対的位置が特定されてもよい。
【００６８】
また、ユーザ端末１Ａ，１ＢのＨＭＤ１１０の傾きに応じてアバター４Ａ，４Ｂの視線が特定されてもよい。換言すれば、アバターの視線は、仮想カメラの視軸Ｌに応じて特定されてもよい。ここで、アバターの視線とはアバターの両目の視線を指す。尚、ユーザ端末１Ａ，１ＢのＨＭＤ１１０の傾き及びユーザＡ，Ｂの視線（ユーザＡ，Ｂの両目の視線）に基づいてアバター４Ａ，４Ｂの視線が特定されてもよい。ここで、ユーザＡ，Ｂの視線は、上記したように、注視センサ１４０によって検出されたユーザＡ，Ｂの視線を示すデータに応じて特定される。
【００６９】
また、アバター４Ａ，４Ｂの各々の目には、仮想カメラ３００（図６）が配置されてもよい。特に、アバター４Ａ，４Ｂの左目には、左目用仮想カメラが配置されると共に、アバター４Ａ，４Ｂの右目には、右目用仮想カメラが配置されてもよい。尚、以降の説明では、仮想カメラ３００は、アバター４Ａ，４Ｂの目に配置されているものとする。このため、アバター４Ａの視野ＣＶは、アバター４Ａに配置された仮想カメラ３００の視野ＣＶ（図７参照）と一致するものとする。同様に、アバター４Ｂの視野ＣＶは、アバター４Ｂに配置された仮想カメラ３００の視野ＣＶ（図７参照）と一致するものとする。
【００７０】
図１０の状態（ｂ）に示すように、ユーザＢの仮想空間２００Ｂは、アバター４Ａと、アバター４Ｂとを含む。仮想空間２００Ａ内におけるアバター４Ａ，４Ｂの位置は、仮想空間２００Ｂ内におけるアバター４Ａ，４Ｂの位置に対応してもよい。
【００７１】
尚、ユーザＢに提供される仮想空間２００Ｂでは、アバター４Ｂが可視化されない場合も想定される。この場合、仮想空間２００Ｂに配置されるアバター４Ｂは、少なくともユーザ端末１ＢのＨＭＤ１１０の動きに連動する仮想カメラ３００を含む。
【００７２】
次に、図１１を参照すると、ステップＳ１０において、ユーザ端末１Ａの制御部１２１は、ユーザＡの音声データを生成する。例えば、ユーザＡがユーザ端末１Ａのマイク１１８（音声入力部）に音声を入力したときに、マイク１１８は、入力された音声を示す音声データを生成する。その後、マイク１１８は生成された音声データをＩ／Ｏインターフェース１２４を介して制御部１２１に送信する。
【００７３】
次に、ステップＳ１１において、ユーザ端末１Ａの制御部１２１は、アバター４Ａの制御情報を生成した上で、当該生成したアバター４Ａの制御情報とユーザＡの音声を示す音声データ（ユーザＡの音声データ）をサーバ２に送信する。その後、サーバ２の制御部２３は、ユーザ端末１Ａからアバター４Ａの制御情報とユーザＡの音声データを受信する（ステップＳ１２）。ここで、アバター４Ａの制御情報は、アバター４Ａの動作を制御するために必要な情報である。アバター４Ａの制御情報は、アバター４Ａの視線に関する情報（視線情報）を含む。さらに、アバター４Ａの制御情報は、アバター４Ａの位置に関する情報と、アバター４Ａの顔の向きに関する情報と、アバター４Ａの仮想手（仮想左手と仮想右手）に関する情報と、アバター４Ａの目の動き（特に、黒目の動き）に関する情報を含んでいてもよい。
【００７４】
次に、ステップＳ１３において、ユーザ端末１Ｂの制御部１２１は、アバター４Ｂの制御情報を生成した上で、当該生成したアバター４Ｂの制御情報をサーバ２に送信する。その後、サーバ２の制御部２３は、ユーザ端末１Ｂからアバター４Ｂの制御情報を受信する（ステップＳ１４）。ここで、アバター４Ｂの制御情報は、アバター４Ｂの動作を制御するために必要な情報である。アバター４Ｂの制御情報は、アバター４Ｂの視線に関する情報（視線情報）を含む。さらに、アバター４Ｂの制御情報は、アバター４Ｂの位置に関する情報と、アバター４Ｂの顔の向きに関する情報と、アバター４Ｂの仮想手（仮想左手と仮想右手）に関する情報と、アバター４Ｂの目の動き（特に、黒目の動き）に関する情報を含んでいてもよい。
【００７５】
次に、サーバ２は、アバター４Ｂの制御情報をユーザ端末１Ａに送信する一方（ステップＳ１５）、アバター４Ａの制御情報とユーザＡの音声データをユーザ端末１Ｂに送信する（ステップＳ１９）。その後、ユーザ端末１Ａの制御部１２１は、ステップＳ１６においてアバター４Ｂの制御情報を受信した後に、アバター４Ａ，４Ｂの制御情報に基づいて、仮想空間２００Ａ（図１０の状態（ａ）参照）を示す仮想空間データを更新する（ステップＳ１７）。例えば、アバター４Ａ，４Ｂが移動した場合、移動後のアバター４Ａ，４Ｂを含む仮想空間を示す仮想空間データが生成される。その後、ユーザ端末１Ａの制御部１２１は、ＨＭＤ１１０の位置や傾きに応じてアバター４Ａ（仮想カメラ３００）の視野ＣＶを特定した上で、更新された仮想空間データと、アバター４Ａの視野ＣＶとに基づいて、ＨＭＤ１１０に表示される視野画像を更新する（ステップＳ１８）。
【００７６】
一方、ユーザ端末１Ｂの制御部１２１は、ステップＳ２０においてアバター４Ａの制御情報とユーザＡの音声データを受信した後に、アバター４Ａ，４Ｂの制御情報に基づいて、仮想空間２００Ｂ（図１０の状態（ｂ）参照）を示す仮想空間データを更新する（ステップＳ２１）。その後、ユーザ端末１Ｂの制御部１２１は、ＨＭＤ１１０の位置や傾きに応じてアバター４Ｂ（仮想カメラ３００）の視野ＣＶを特定した上で、更新された仮想空間データと、アバター４Ｂの視野ＣＶとに基づいて、ＨＭＤ１１０に表示される視野画像を更新する（ステップＳ２２）。
【００７７】
その後、ユーザ端末１Ｂの制御部１２１は、受信したユーザＡの音声データと、アバター４Ａの制御情報に含まれるアバター４Ａの位置に関する情報と、アバター４Ｂの位置に関する情報と、所定の音声処理アルゴリズムに基づいてユーザＡの音声データを加工する。その後、制御部１２１は、加工された音声データをヘッドフォン１１６（音声出力部）に送信した上で、ヘッドフォン１１６は、加工された音声データに基づいてユーザＡの音声を出力する（ステップＳ２３）。このように、仮想空間上においてユーザ間（アバター間）の音声チャット（ＶＲチャット）を実現することができる。
【００７８】
本実施形態では、ユーザ端末１Ａ，１Ｂがサーバ２にアバター４Ａの制御情報とアバター４Ｂの制御情報をそれぞれ送信した後に、サーバ２がアバター４Ａの制御情報をユーザ端末１Ｂに送信する一方、アバター４Ｂの制御情報をユーザ端末１Ａに送信する。このように、ユーザ端末１Ａとユーザ端末１Ｂ間において各アバター４Ａ，４Ｂの動きを同期させることが可能となる。
【００７９】
（第１実施形態）
次に、図１２及び図１３を参照することで第１実施形態に係る情報処理方法について説明する。図１２は、第１実施形態に係る情報処理方法の一例を説明するためのフローチャートである。図１３は、第１実施形態に係る情報処理方法を説明するためのユーザＡに提供される仮想空間２００Ａを示す図である。
【００８０】
第１実施形態では、前提条件として、図１３に示すように、アバター４Ａと、アバター４Ｂが同一の仮想空間を共有しているものとする。つまり、通信ネットワーク３を介してユーザＡ，Ｂが一つの仮想空間を共有するものとする。
【００８１】
ユーザＡの仮想空間２００Ａは、アバター４Ａと、アバター４Ｂとを含む。ユーザ端末１Ａの制御部１２１は、仮想空間２００Ａを示す仮想空間データを生成する。
【００８２】
図１２を参照すると、ステップＳ３０において、ユーザ端末１Ａの制御部１２１（以下、単に制御部１２１という。）は、アバター４Ａの動作を制御するために必要なアバター４Ａの制御情報を生成する。その後、制御部１２１は、アバター４Ａの制御情報をサーバ２に送信する。次に、ステップＳ３１において、制御部１２１は、アバター４Ｂの動作を制御するために必要なアバター４Ｂの制御情報をサーバ２から受信する。具体的には、サーバ２は、アバター４Ｂの制御情報をユーザ端末１Ｂから受信した後に、アバター４Ｂの制御情報をユーザ端末１Ａに送信する。このように、制御部１２１は、アバター４Ｂの制御情報をサーバ２から受信する。
【００８３】
次に、制御部１２１は、受信したアバター４Ｂの制御情報に含まれるアバター４Ｂの位置に関する情報に基づいて、アバター４Ｂの位置を特定する。その後、制御部１２１は、アバター４Ａの位置とアバター４Ａの位置に基づいて、アバター４Ａとアバター４Ｂとの間の距離Ｄ（アバター４Ａとアバター４Ｂとの間の相対的位置関係の一例）を特定する（ステップＳ３２）。
【００８４】
次に、制御部１２１は、特定された距離Ｄが所定の距離Ｄｔｈよりも大きいかどうかを判定する（ステップＳ３３）。ここで、所定の距離Ｄｔｈは、コンテンツの内容に応じて適宜設定されてもよい。所定の距離Ｄｔｈは、アバター４Ａとアバター４Ｂが十分に離れているかどうかを判定するための指標である。距離Ｄが所定の距離Ｄｔｈよりも大きいと判定された場合（ステップＳ３３でＹＥＳ）、アバター４Ａがアバター４Ｂから十分に離れた位置に存在すると判定され、本処理はステップＳ３４の処理に進む。一方、距離Ｄが所定の距離Ｄｔｈ以下であると判定された場合（ステップＳ３３でＮＯ）、アバター４Ａがアバター４Ｂから十分に離れた位置には存在しないと判定され、本情報処理方法に係る処理は終了する。ステップＳ３３で規定される判定条件は、アバター４Ａとアバター４Ｂとの間の相対的位置関係に関連する条件である。
【００８５】
次に、制御部１２１は、アバター４Ｂの制御情報に含まれるアバター４Ｂの視線情報に基づいて、アバター４Ｂの視線５Ｂ（図１３参照）を特定する（ステップＳ３４）。その後、制御部１２１は、アバター４Ｂの視線５Ｂがアバター４Ａに向けられているかどうかを判定する（ステップＳ３５）。例えば、視線５Ｂがアバター４Ａの仮想身体と交差する場合に、制御部１２１は、視線５Ｂはアバター４Ａに向けられていると判定する。ステップＳ３５に規定される判定条件は、アバター４Ｂの視線に関連する条件である。ステップＳ３５の判定結果がＹＥＳの場合、本処理はステップＳ３６の処理に進む。一方、ステップＳ３５の判定結果がＮＯの場合、本情報処理方法に係る処理は終了する。
【００８６】
尚、ステップＳ３５では、制御部１２１は、所定の期間Ｔｔｈ（例えば、Ｘ秒）を超えてアバター４Ｂの視線５Ｂがアバター４Ａに向けられているかどうかを判定してもよい。このように、所定の期間Ｔｔｈ＜時間Ｔの時間条件をステップＳ３５で規定される判定条件に加えることで、アバター４Ｂ（ユーザＢ）がアバター４Ａ（ユーザＡ）に視線を送っているかどうかを確実に判定することができる。
【００８７】
次に、ステップＳ３６において、制御部１２１は、アバター４Ａの視線５Ａ（図１３参照）がアバター４Ｂに向けられているかどうかを判定する。例えば、視線５Ａがアバター４Ｂの仮想身体と交差する場合に、制御部１２１は、視線５Ａはアバター４Ｂに向けられていると判定する。ステップＳ３６に規定される判定条件は、アバター４Ａの視線に関連する条件である。ステップＳ３６の判定結果がＹＥＳの場合、本処理はステップＳ３７の処理に進む。一方、ステップＳ３６の判定結果がＮＯの場合、本情報処理方法に係る処理は終了する。尚、ステップＳ３６では、制御部１２１は、所定の期間Ｔｔｈ（例えば、Ｘ秒）を超えてアバター４Ａの視線５Ａがアバター４Ｂに向けられているかどうかを判定してもよい。
【００８８】
次に、ステップＳ３７において、制御部１２１は、アバター４Ｂの制御情報に含まれるアバター４Ｂの仮想手（仮想左手４３Ｂと仮想右手４２Ｂ）に関する情報（アバター４Ｂの仮想身体の一部に関する情報）に基づいて、仮想左手４３Ｂの位置（ｘ１，ｙ１，ｚ１）と仮想右手４２Ｂの位置（ｘ２，ｙ２，ｚ２）を特定する。次に、ステップＳ３８において、制御部１２１は、仮想空間２００Ａのｙ軸方向（高さ方向）における仮想左手４３Ｂの位置ｙ１と仮想右手４２Ｂの位置ｙ２が所定の範囲内に存在するかどうかを判定する。ここで、「所定の範囲内」は、コンテンツ内容に応じて適宜設定されてもよい。「所定の範囲内」とは、アバター４Ｂが仮想手を用いてアバター４Ａに対して合図を送っているかどうかを判定するための指標である。例えば、所定の範囲がｙｔｈ１より大きくｙｔｈ２よりも小さい範囲として規定される場合を考える。ここで、ｙｔｈ１，ｙｔｈ２は０＜ｙｔｈ１＜ｙｔｈ２であるとする。本例では、仮想左手４３Ｂの位置ｙ１がｙｔｈ１＞ｙ１である場合、制御部１２１は、ステップＳ３８で規定される判定条件は満たされないと判定する。一方、仮想右手４２Ｂの位置ｙ２がｙｔｈ１＜ｙ２＜ｙｔｈ２である場合、制御部１２１は、ステップＳ３８で規定される判定条件は満たされると判定する。ステップＳ３８の判定結果がＹＥＳの場合、本処理はステップＳ３９の処理に進む。一方、ステップＳ３８の判定結果がＮＯの場合、本情報処理方法に係る処理は終了する。ステップＳ３８で規定される判定条件は、アバター４Ｂの仮想手に関連する条件である。本例では、仮想右手４２ＢのみがステップＳ３８で規定される判定条件を満たすので、ステップＳ４０で規定される処理は仮想右手４２Ｂに対してのみ実行される。
【００８９】
次に、ステップＳ３９において、制御部１２１は、ユーザＢの音声を示す音声データ（ユーザＢの音声データ）をサーバ２から受信したかどうかを判定する。例えば、ユーザＢがユーザ端末１Ｂのマイク１１８を通じて「おーい」と発声した場合、ユーザＢの音声を示す音声データがユーザ端末１Ｂからサーバ２に送信される。その後、サーバ２は、ユーザＢの音声データをユーザ端末１Ａに送信する。この結果、制御部１２１は、ユーザ端末１ＡがユーザＢの音声データを受信したと判定する。ステップＳ３９の判定結果がＹＥＳの場合、本処理はステップＳ４０の処理に進む。一方、ステップＳ３９の判定結果がＮＯの場合、本情報処理方法に係る処理は終了する。
【００９０】
次に、ステップＳ４０において、制御部１２１は、ユーザ端末１ＡのＨＭＤ１１０に表示される視野画像Ｖ上において、アバター４Ｂの仮想右手４２Ｂを拡大表示する。つまり、制御部１２１は、図１２に示すステップＳ３３，Ｓ３５，Ｓ３６，Ｓ３８，Ｓ３９の全ての判定条件が満たされている判定した場合に、視野画像Ｖ上においてアバター４Ｂの仮想右手４２Ｂを拡大表示する。
【００９１】
尚、本例では、仮想右手４２ＢのみがステップＳ３８に規定される判定条件を満たすため、仮想右手４２Ｂのみが視野画像Ｖ上において拡大表示される。一方、仮想右手４２Ｂと仮想左手４３Ｂの両方がステップＳ３８に規定される判定条件を満たす場合には、仮想左手４３Ｂと仮想右手４２Ｂの両方が視野画像Ｖ上において拡大表示されてもよい。以降に、仮想右手４２Ｂを拡大表示する方法について図１４及び図１５を参照して説明する。
【００９２】
図１４は、アバター４Ｂの仮想右手４２Ｂが拡大表示された視野画像Ｖの一例を示す図である。図１５は、アバター４Ｂの仮想右手４２Ｂが拡大表示された視野画像Ｖの他の一例を示す図である。
【００９３】
第１の方法としては、図１４に示すように、ユーザＡが装着するＨＭＤ１１０上に表示される視野画像Ｖ中に、拡大表示された仮想右手４２Ｂを表示するためのサブ画像領域ＳＶが設けられていてもよい。この場合、最初に、制御部１２１は、ＨＭＤ１１０の動きに応じてアバター４Ａの視野ＣＶを更新した上で、アバター４の視野ＣＶと仮想空間２００Ａを示す仮想空間データに基づいて、ＨＭＤ１１０に表示される視野画像Ｖを更新する。その後、制御部１２１は、視野画像Ｖ中にサブ画像領域ＳＶを設定した上で、サブ画像領域ＳＶ中に拡大表示された仮想右手４２Ｂを表示する。図１４に示すように、視野画像Ｖに表示されたアバター４Ｂの仮想右手４２Ｂの移動に応じて、拡大表示された仮想右手４２Ｂがサブ画像領域ＳＶ内で移動する。
【００９４】
また、拡大表示された仮想右手４２Ｂは、アバター４Ｂの仮想右手４２Ｂの付近に配置されたサブ仮想カメラ（図示せず）によって撮像されてもよい。この場合、制御部１２１は、サブ仮想カメラの視野を特定した上で、サブ仮想カメラの視野と仮想空間データに基づいて、サブ視野画像データを生成する。その後、制御部１２１は、生成されたサブ視野画像データに基づいて、サブ画像領域ＳＶ内に拡大表示された仮想右手４２Ｂを示すサブ視野画像を表示してもよい。
【００９５】
また、仮想右手４２Ｂと仮想左手４３Ｂの両方が視野画像Ｖ上において拡大表示される場合には、拡大表示された仮想右手４２Ｂを表示するための第１のサブ画像領域と拡大表示された仮想右手４２Ｂを表示するための第２のサブ画像領域が視野画像Ｖ上に設けられてもよい。この場合、第１のサブ仮想カメラがアバター４Ｂの仮想右手４２Ｂの付近に配置されると共に、第２のサブ仮想カメラがアバター４Ｂの仮想左手４３Ｂの付近に配置されてもよい。
【００９６】
第２の方法としては、図１５に示すように、制御部１２１は、アバター４Ｂの仮想右手４２Ｂを拡大するようにアバター４Ｂを更新した上で、更新されたアバター４Ｂが表示された視野画像Ｖをユーザ端末１ＡのＨＭＤ１１０上に表示してもよい。このように、拡大表示された仮想右手４２Ｂが視野画像Ｖ上に表示される。第２の方法は、アバター４Ｂの仮想身体の一部である仮想右手４２Ｂ自体を拡大する点で第１の方法とは相違する。
【００９７】
本実施形態によれば、アバター４Ｂの仮想手を拡大表示するためのステップＳ４０の処理を実行するためには、ステップＳ３３，Ｓ３５，Ｓ３６，Ｓ３８，Ｓ３９でそれぞれ規定される判定条件の全てを満たす必要がある。これらの判定条件が全て満たされていると判定された場合に、ユーザ端末１ＡのＨＭＤ１１０に表示される視野画像Ｖ上において、アバター４Ｂの仮想手（本例では、仮想右手４２Ｂ）が拡大して表示される。このように、ユーザＡは、視野画像Ｖ上に拡大して表示されたアバター４Ｂの仮想右手４２Ｂを見ることで、アバター４Ｂの仮想右手４２Ｂの動作（例えば、手を振っている動作）を明確に視認することができるので、アバター４Ａ（ユーザＡ）とアバター４Ｂ（ユーザＢ）間におけるボディランゲージを交えた円滑なコミュニケーションを実現することができる。従って、ユーザにリッチな仮想体験を提供することができる。
【００９８】
また、本実施形態によれば、ステップＳ３３で規定された判定条件がアバター４Ｂの仮想手を拡大表示させるための判定条件の一つとして設けられている。つまり、アバター４Ａとアバター４Ｂが互いに十分に離れていない場合には（Ｄ≦Ｄｔｈ）、ユーザＡはアバター４Ｂの仮想手を明確に視認することができるため、アバター４Ｂの仮想手は拡大表示されない。一方、アバター４Ａとアバター４Ｂが互いに十分に離れている場合では（Ｄ＞Ｄｔｈ）、ユーザＡは、アバター４Ｂの仮想手が拡大表示されることで、アバター４Ｂの仮想手の動作を明確に視認することができる。このように、アバター４Ａとアバター４Ｂが互いに十分に離れている場合でも、アバター４Ａとアバター４Ｂ間におけるボディランゲージを交えた円滑なコミュニケーションを実現することができる。
【００９９】
また、本実施形態によれば、ステップＳ３５で規定された判定条件がアバター４Ｂの仮想手を拡大表示させるための判定条件の一つとして設けられている。つまり、アバター４Ｂの視線５Ｂがアバター４Ａに向けられているときに（換言すれば、ユーザＢがユーザＡを見ているときに）、視野画像Ｖ上にアバター４Ｂの仮想手が拡大表示される。このため、アバター４Ａとアバター４Ｂとの間のコミュニケーションが行われると予期されるときに、視野画像Ｖ上にアバター４Ｂの仮想手を拡大表示することができる。
【０１００】
また、ステップＳ３６で規定された判定条件がアバター４Ｂの仮想手を拡大表示させるための判定条件の一つとして設けられている。つまり、アバター４Ａの視線５Ａがアバター４Ｂに向けられているときに（換言すれば、ユーザＡがユーザＢを見ているときに）、視野画像Ｖ上にアバター４Ｂの仮想手が拡大表示される。このため、アバター４Ａとアバター４Ｂとの間のコミュニケーションが行われると予期されるときに、視野画像Ｖ上にアバター４Ｂの仮想手を拡大表示することができる。
【０１０１】
また、ステップＳ３８で規定された判定条件がアバター４Ｂの仮想手を拡大表示させるための判定条件の一つとして設けられている。つまり、仮想空間２００Ａのｙ軸方向におけるアバター４Ｂの仮想左手４３Ｂの位置ｙ１が所定の範囲内に存在するときに、視野画像Ｖ上に仮想左手４３Ｂが拡大表示される。同様に、仮想空間２００Ａのｙ軸方向におけるアバター４Ｂの仮想右手４２Ｂの位置ｙ２が所定の範囲内に存在するときに、視野画像Ｖ上に仮想右手４２Ｂが拡大表示される。このように、アバター４Ｂが仮想手を用いてアバター４Ａに合図を送っている場合に、合図のために使用されるアバター４Ｂの仮想手が拡大表示される。
【０１０２】
また、ステップ３９で規定された判定条件がアバター４Ｂの仮想手を拡大表示させるための判定条件の一つとして設けられている。つまり、ユーザＢの音声（例えば、「おーい」）を発したときに、視野画像Ｖ上にアバター４Ｂの仮想手が拡大表示される。このため、アバター４Ａとアバター４Ｂとの間のコミュニケーションが行われると予期されるときに、視野画像Ｖ上にアバター４Ｂの仮想手を拡大表示することができる。
【０１０３】
尚、本実施形態では、ステップＳ３３，Ｓ３５，Ｓ３６，Ｓ３８，Ｓ３９でそれぞれ規定される判定条件の全てが満たされている場合に、視野画像Ｖ上にアバター４Ｂの仮想手が拡大表示されるが、本実施形態はこれに限定されるものではない。例えば、Ｓ３５，Ｓ３６，Ｓ３８，Ｓ３９でそれぞれ規定される判定条件を省略した上で、ステップＳ３３で規定される判定条件のみが満たされた場合に、ステップＳ４０で規定される拡大表示処理が実行されてもよい。このように、アバター４Ｂの仮想手を拡大表示させるための判定条件は、ステップＳ３３で規定された判定条件のみを含んでいてもよい。
【０１０４】
また、アバター４Ｂの仮想手を拡大表示させるための判定条件は、ステップＳ３５，Ｓ３６，Ｓ３８，Ｓ３９でそれぞれ規定される判定条件のうちの少なくとも一つと、ステップＳ３３で規定された判定条件とを含んでいてもよい。例えば、アバター４Ｂの仮想手を拡大表示させるための判定条件は、ステップＳ３３で規定された判定条件と、ステップＳ３５で規定された判定条件とによって構成されてもよい。
【０１０５】
また、本実施形態では、アバター４Ａとアバター４Ｂとの間の相対的位置関係に関連する条件としてステップＳ３３で規定された判定条件が実行されるが、本実施形態はこれに限定されない。この点において、制御部１２１は、ユーザ端末１ＡのＨＭＤ１１０に表示される視野画像Ｖ上におけるアバター４Ｂの仮想身体のサイズを特定した上で、特定されたアバター４Ｂの仮想身体のサイズが所定のサイズよりも小さいかどうかを判定してもよい（アバターサイズ判定条件）。例えば、図１６に示すように、視野画像Ｖ上に表示されるアバター４Ｂの仮想身体が半径ｒで規定される所定の領域Ｒｔｈ（点線で示される領域）内に完全に収まる場合に、制御部１２１は、アバター４Ｂの仮想身体のサイズが所定のサイズよりも小さいと判定してもよい。アバター４Ｂの仮想身体のサイズが所定のサイズよりも小さいと判定された場合、アバター４Ａとアバター４Ｂは互いに十分に離れた位置に存在していると判定される。これとは反対に、視野画像Ｖ上に表示されるアバター４Ｂの仮想身体が所定の領域Ｒｔｈ内に完全に収まらない場合に、制御部１２１は、アバター４Ｂの仮想身体のサイズが所定のサイズ以上であると判定してもよい。アバター４Ｂの仮想身体のサイズが所定のサイズ以上であると判定された場合、アバター４Ａとアバター４Ｂは互いに十分に離れた位置に存在していないと判定される。さらに、制御部１２１は、視野画像Ｖ上に表示されるアバター４Ｂの高さ寸法や幅寸法に応じて、アバター４Ｂの仮想身体のサイズが所定のサイズよりも小さいかどうかを判定してもよい。
【０１０６】
アバター４Ｂの仮想手を拡大表示させるための判定条件は、上記アバターサイズ判定条件のみを含んでいてもよい。また、アバター４Ｂの仮想手を拡大表示させるための判定条件は、ステップＳ３５，Ｓ３６，Ｓ３８，Ｓ３９でそれぞれ規定される判定条件のうちの少なくとも一つと、上記アバターサイズ判定条件とを含んでいてもよい。
【０１０７】
また、本実施形態では、ステップＳ３８で規定された仮想手の位置に関連する判定条件に代えて又は追加して、仮想手の形状に関連する判定条件を設けてもよい。この点において、制御部１２１は、アバター４Ｂの仮想手の形状が所定の形状（例えば、指差し形状）であるかどうかを判定してもよい。この場合、アバター４Ｂの仮想手の形状が所定の形状であると判定された場合に、本処理はステップＳ３９に進む。一方、アバター４Ｂの仮想手の形状が所定の形状ではないと判定された場合、本情報処理方法に係る処理は終了する。
【０１０８】
（第２実施形態）
次に、図１７から図１９を参照することで第２実施形態に係る情報処理方法について説明する。図１７は、第２実施形態に係る情報処理方法の一例を説明するためのフローチャートである。図１８は、第２実施形態に係る情報処理方法を説明するためのユーザＡに提供される仮想空間２００Ａを示す図である。図１９は、アバター４Ｂの仮想右手４２Ｂが拡大表示された視野画像Ｖの一例を示す図である。第２実施形態に係る情報処理方法は、ステップＳ５５〜Ｓ５８で規定される処理が設けられている点で第１実施形態に係る情報処理方法とは相違する。尚、以降の説明では、第１実施形態で既に説明した事項については繰り返し説明しない。
【０１０９】
図１７を参照すると、ユーザ端末１Ａの制御部１２１（以下、単に制御部１２１という。）は、ステップＳ５０〜Ｓ５５で規定される処理を実行する。ステップＳ５０〜Ｓ５５で規定される処理は、図１２に示すステップＳ３０〜Ｓ３５で規定される処理と同一である。次に、制御部１２１は、アバター４Ｂの視線５Ｂがアバター４Ａに現在向けられていると判定した場合（ステップＳ５５でＹＥＳ）、本処理はステップＳ５７に進む。一方、制御部１２１は、アバター４Ｂの視線５Ｂがアバター４Ａに現在向けられていないと判定した場合（ステップＳ５５でＮＯ）、視線５Ｂがアバター４Ａから他のオブジェクト（本例では、太陽オブジェクト８）に向けられた時点から所定期間内Ｔ（例えば、Ｙ秒以内）であるかどうかを判定する（ステップＳ５６）。ステップＳ５６の判定結果がＮＯの場合、本情報処理方法に係る処理は終了する。一方、ステップＳ５６の判定結果がＹＥＳの場合、本処理はステップＳ５７に進む。
【０１１０】
次に、ステップＳ５７において、制御部１２１は、アバター４Ｂの制御情報に含まれるアバター４Ｂの仮想手（仮想左手４３Ｂと仮想右手４２Ｂ）に関する情報に基づいて、仮想左手４３Ｂの形状と仮想右手４２Ｂの形状を特定する。その後、制御部１２１は、特定された仮想左手４３Ｂの形状と仮想右手４２Ｂの形状が所定の形状（本例では、指差し形状）であるかどうかを判定する（ステップＳ５８）。本例では、図１８に示すように、仮想右手４２Ｂの形状が指差し形状となっているため、制御部１２１は、仮想右手４２Ｂの形状が指差し形状となっていると判定する（ステップＳ５８でＹＥＳ）。一方、仮想左手４３Ｂの形状が指差し形状となっていないため、制御部１２１は、仮想左手４３Ｂの形状が指差し形状となっていないと判定する（ステップＳ５８でＮＯ）。特に、制御部１２１は、仮想手の親指が立っているとき又は中指、薬指及び小指が伸びているときは、仮想手の形状は指差し形状となっていないと判定してもよい。
【０１１１】
ステップＳ５８の判定結果がＹＥＳの場合、本処理はステップＳ５９の処理に進む。一方、ステップＳ５８の判定結果がＮＯの場合、本情報処理方法に係る処理は終了する。ステップＳ５８で規定される判定条件は、アバター４Ｂの仮想手に関連する条件である。本例では、仮想右手４２ＢのみがステップＳ３８で規定される判定条件を満たすので、ステップＳ６０で規定される処理は仮想右手４３Ｂに対してのみ実行される。
【０１１２】
その後、制御部１２１は、ステップＳ５９及びＳ６０で規定される処理を実行する。ステップＳ５９及びＳ６０で規定される処理は、図１２に示すステップＳ３９及びＳ４０で規定される処理と同一である。
【０１１３】
特に、ステップＳ５９において、ユーザＢがユーザ端末１Ｂのマイク１１８を通じて「アレ見て！」と発声した場合、ユーザＢの音声「アレ見て！」を示す音声データがユーザ端末１Ｂからサーバ２に送信される。
【０１１４】
また、ステップＳ６０において、制御部１２１は、ユーザ端末１ＡのＨＭＤ１１０に表示される視野画像Ｖ上において、アバター４Ｂの仮想右手４２Ｂを拡大表示する。つまり、制御部１２１は、図１７に示すステップＳ５３，（Ｓ５５若しくはＳ５６），Ｓ５８並びにＳ５９の全ての判定条件が満たされていると判定した場合に、視野画像Ｖ上においてアバター４Ｂの仮想右手４２Ｂを拡大表示する。
【０１１５】
尚、本例では、仮想右手４２ＢのみがステップＳ５８に規定される判定条件を満たすため、仮想右手４２Ｂのみが視野画像Ｖ上において拡大表示される。一方、仮想右手４２Ｂと仮想左手４３Ｂの両方がステップＳ５８に規定される判定条件を満たす場合には、仮想左手４３Ｂと仮想右手４２Ｂの両方が視野画像Ｖ上において拡大表示されてもよい。図１９に示すように、制御部１２１は、サブ画像領域ＳＶ中に拡大表示された仮想右手４２Ｂを表示する。また、拡大表示された仮想右手４２Ｂは、アバター４Ｂの仮想右手４２Ｂの付近に配置されたサブ仮想カメラによって撮像されてもよい。
【０１１６】
また、制御部１２１は、アバター４Ｂの仮想右手４２Ｂを拡大するようにアバター４Ｂを更新した上で、更新されたアバター４Ｂが表示された視野画像Ｖをユーザ端末１ＡのＨＭＤ１１０上に表示してもよい。
【０１１７】
本実施形態によれば、ステップＳ５３，Ｓ５５，Ｓ５８及びＳ５９でそれぞれ規定される判定条件の全てが満たされた場合に、ユーザ端末１ＡのＨＭＤ１１０に表示される視野画像Ｖ上において、アバター４Ｂの仮想手（特に、仮想右手４２Ｂ）が拡大して表示される。さらに、ステップＳ５５で規定される判定条件が満たされない場合でも、ステップＳ５３，Ｓ５６，Ｓ５８及びＳ５９でそれぞれ規定される判定条件の全てが満たされた場合に、視野画像Ｖ上において、アバター４Ｂの仮想手（特に、仮想右手４２Ｂ）が拡大して表示される。このように、ユーザＡは、視野画像Ｖ上に拡大して表示されたアバター４Ｂの仮想右手４２Ｂを見ることで、アバター４Ｂの仮想右手４２Ｂの動作（例えば、指差し動作）を明確に視認することができるので、アバター４Ａ（ユーザＡ）とアバター４Ｂ（ユーザＢ）間におけるボディランゲージを交えた円滑なコミュニケーションを実現することができる。特に、アバター４Ｂが「アレ見て！」と発声すると共に、太陽オブジェクト８を指し示している場合に、ユーザＡは、仮想右手４２Ｂの指差し形状を視認することで、アバター４Ａ（ユーザＡ）に太陽オブジェクト８を見てほしいといったアバター４Ｂ（ユーザＢ）の意図を容易に理解することができる。従って、ユーザにリッチな仮想体験を提供することができる。
【０１１８】
また、本実施形態によれば、ステップＳ５６で規定された判定条件がアバター４Ｂの仮想手を拡大表示させるための判定条件の一つとして設けられている。つまり、アバター４Ｂの視線５Ｂがアバター４Ａから他のオブジェクトに向けられた時点から所定期間Ｔ内であるときに、視野画像Ｖ上にアバター４Ｂの仮想手が拡大表示される。このため、アバター４Ａとアバター４Ｂ間におけるコミュニケーションが継続されていると予期されるときに、視野画像Ｖ上にアバター４Ｂの仮想手が拡大表示される。
【０１１９】
また、ステップＳ５８で規定された判定条件がアバター４Ｂの仮想手を拡大表示させるための判定条件の一つとして設けられている。つまり、仮想左手４３Ｂが所定の形状（指差し形状）である場合、仮想左手４３Ｂが視野画像Ｖ上に拡大表示される。さらに、仮想右手４２Ｂが所定の形状（指差し形状）である場合、仮想右手４２Ｂが視野画像Ｖ上に拡大表示される。このように、アバター４Ｂが仮想手を用いてアバター４Ａに合図を送っている場合に、合図のために使用されるアバター４Ｂの仮想手が拡大表示される。
【０１２０】
尚、本実施形態では、ステップＳ５３，（Ｓ５５若しくはＳ５６），Ｓ５８及びＳ５９でそれぞれ規定される判定条件の全てが満たされている場合に、視野画像Ｖ上にアバター４Ｂの仮想手が拡大表示されるが、本実施形態はこれに限定されるものではない。例えば、Ｓ５５，Ｓ５６，Ｓ５８及びＳ５９でそれぞれ規定される判定条件を省略した上で、ステップＳ５３で規定される判定条件のみが満たされた場合に、ステップＳ６０で規定される拡大表示処理が実行されてもよい。このように、アバター４Ｂの仮想手を拡大表示させるための判定条件は、ステップＳ５３で規定された判定条件のみを含んでいてもよい。
【０１２１】
また、アバター４Ｂの仮想手を拡大表示させるための判定条件は、ステップＳ５５，Ｓ５６，Ｓ５８及びＳ５９でそれぞれ規定される判定条件のうちの少なくとも一つと、ステップＳ５３で規定された判定条件とを含んでいてもよい。例えば、アバター４Ｂの仮想手を拡大表示させるための判定条件は、ステップＳ５３で規定された判定条件と、ステップＳ５５及び５６で規定された判定条件とによって構成されてもよい。
【０１２２】
また、第２実施形態の説明では、アバター４Ｂの仮想手の形状が指差し形状の場合に、アバター４Ｂの仮想手が拡大表示されているが、本実施形態はこれには限定されない。例えば、アバター４Ｂの仮想手の形状が指差し形状以外の所定の形状である場合に、アバター４Ｂの仮想手が拡大表示されてもよい。
【０１２３】
また、第１及び第２実施形態の説明では、仮想空間２００Ａを示す仮想空間データがユーザ端末１Ａ側で更新されていることを前提としているが、仮想空間データはサーバ２側で更新されてもよい。さらに、第１及び第２実施形態の説明では、視野画像Ｖに対応する視野画像データがユーザ端末１Ａ側で更新されていることを前提としているが、視野画像データはサーバ２側で更新されてもよい。この場合、ユーザ端末１Ａは、サーバ２から送信された視野画像データに基づいて、ＨＭＤ１１０に視野画像を表示する。
【０１２４】
さらに、第１及び第２実施形態の説明では、図１２及び図１７に示す各処理はユーザ端末１Ａ側で実行されているが、図１２及び図１７に示す複数の処理のうちの一部がサーバ２側で実行されてもよい。つまり、図１２及び図１７に示す処理は、ユーザ端末１Ａ側のみ（又は、サーバ２側のみ）で実行されてもよいし、ユーザ端末１Ａとサーバ２との協働により実行されてもよい。
【０１２５】
また、図１２及び１７に示す各ステップで規定される処理の順番はあくまでも一例であって、これらのステップの順番は適宜変更可能である。
【０１２６】
また、第１及び第２実施形態では、アバター４ＢはユーザＢによって操作されていることを前提としているが（つまり、ユーザＡ，Ｂ間のソーシャルＶＲを前提としているが）、アバター４Ｂはサーバ２の制御部２３（人工知能プログラム）により制御されてもよい。この場合、アバター４Ｂの音声内容は、制御部２３によって決定されてもよい。
【０１２７】
本実施形態では、ユーザＵの手の動きを示す外部コントローラ３２０の動きに応じて、アバターの仮想手の移動が制御されているが、ユーザＵの手自体の移動量に応じて、仮想空間内におけるアバターの仮想手の移動が制御されてもよい。例えば、外部コントローラを用いる代わりに、ユーザの手指に装着されるグローブ型デバイスや指輪型デバイスを用いることで、位置センサ１３０により、ユーザＵの手の位置や移動量を検出することができると共に、ユーザＵの手指の動きや状態を検出することができる。また、位置センサ１３０は、ユーザＵの手（手指を含む）を撮像するように構成されたカメラであってもよい。この場合、カメラを用いてユーザの手を撮像することにより、ユーザの手指に直接何らかのデバイスを装着させることなく、ユーザの手が表示された画像に基づいて、ユーザＵの手の位置や移動量を検出することができると共に、ユーザＵの手指の動きや状態を検出することができる。
【０１２８】
また、本実施形態では、アバターの仮想身体の一部として仮想手が拡大表示されているが、本実施形態はこれには限定されない。例えば、仮想手以外のアバターの仮想身体の一部である仮想の足や顔が拡大表示されてもよい。
【０１２９】
また、ユーザ端末１の制御部１２１によって実行される各種処理をソフトウェアによって実現するために、各種処理をコンピュータ（プロセッサ）に実行させるための制御プログラムが記憶部１２３又はメモリに予め組み込まれていてもよい。または、制御プログラムは、磁気ディスク（ＨＤＤ、フロッピーディスク）、光ディスク（ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ、Ｂｌｕ−ｒａｙディスク等）、光磁気ディスク（ＭＯ等）、フラッシュメモリ（ＳＤカード、ＵＳＢメモリ、ＳＳＤ等）等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置１２０に接続されることで、当該記憶媒体に格納された制御プログラムが、記憶部１２３に組み込まれる。そして、記憶部１２３に組み込まれた制御プログラムがＲＡＭ上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部１２１は各種処理を実行する。
【０１３０】
また、制御プログラムは、通信ネットワーク３上のコンピュータから通信インターフェース１２５を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該制御プログラムが記憶部１２３に組み込まれる。
【０１３１】
以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲及びその均等の範囲に基づいて定められるべきである。
【符号の説明】
【０１３２】
１，１Ａ，１Ｂ：ユーザ端末
２：サーバ
３：通信ネットワーク
４，４Ａ，４Ｂ：アバター
５Ａ，５Ｂ：視線
８：太陽オブジェクト
２１：通信インターフェース
２２：記憶部
２３：制御部
２４：バス
４２Ａ，４２Ｂ：仮想右手
４３Ａ，４３Ｂ：仮想左手
１００：仮想空間配信システム（配信システム）
１１２：表示部
１１４：センサ
１１６：ヘッドフォン
１１８：マイク
１２０：制御装置
１２１：制御部
１２３：記憶部
１２４：Ｉ／Ｏインターフェース
１２５：通信インターフェース
１２６：バス
１３０：位置センサ
１４０：注視センサ
２００，２００Ａ，２００Ｂ：仮想空間
２１０：中心位置
３００：仮想カメラ
３２０：外部コントローラ
３２０Ｌ：左手用外部コントローラ（コントローラ）
３２０Ｒ：右手用外部コントローラ（コントローラ）
【図１】
2018120583.tif 000003
【図２】
2018120583.tif 000004
【図３】
2018120583.tif 000005
【図４】
2018120583.tif 000006
【図５】
2018120583.tif 000007
【図６】
2018120583.tif 000008
【図７】
2018120583.tif 000009
【図８】
2018120583.tif 000010
【図９】
2018120583.tif 000011
【図１０】
2018120583.tif 000012
【図１１】
2018120583.tif 000013
【図１２】
2018120583.tif 000014
【図１３】
2018120583.tif 000015
【図１４】
2018120583.tif 000016
【図１５】
2018120583.tif 000017
【図１６】
2018120583.tif 000018
【図１７】
2018120583.tif 000019
【図１８】
2018120583.tif 000020
【図１９】
2018120583.tif 000021