IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ミクシィの特許一覧

特開2024-93540情報処理装置、情報処理方法およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024093540
(43)【公開日】2024-07-09
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
   G06F 3/0481 20220101AFI20240702BHJP
   A63B 69/00 20060101ALI20240702BHJP
   A63B 71/06 20060101ALI20240702BHJP
【FI】
G06F3/0481
A63B69/00 A
A63B71/06 T
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2022209986
(22)【出願日】2022-12-27
(71)【出願人】
【識別番号】500033117
【氏名又は名称】株式会社MIXI
(74)【代理人】
【識別番号】110002848
【氏名又は名称】弁理士法人NIP&SBPJ国際特許事務所
(72)【発明者】
【氏名】栗山 幸介
(72)【発明者】
【氏名】松本 雅矩
(72)【発明者】
【氏名】小牧 信貴
(72)【発明者】
【氏名】大脇 遼平
(72)【発明者】
【氏名】得地 賢吾
(72)【発明者】
【氏名】惠良 栞
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA27
5E555AA30
5E555BA04
5E555BB04
5E555BC08
5E555BE17
5E555DA08
5E555DB04
5E555DB32
5E555DC40
5E555DC57
5E555FA00
(57)【要約】
【課題】仮想空間における複数のユーザオブジェクトを適正にグループ分けする技術を提供する。
【解決手段】情報処理装置は、複数のユーザのそれぞれに対応するユーザオブジェクトを仮想空間に配置するオブジェクト配置部と、前記複数のユーザのそれぞれの動作に応じて前記複数のユーザオブジェクトの動作を制御するオブジェクト制御部と、第1期間における前記複数のユーザのそれぞれの動作に応じて、前記複数のユーザオブジェクトを複数のグループに分類する分類部と、前記複数のグループに対応する前記仮想空間における複数の領域の何れかに前記複数のユーザオブジェクトを再配置するオブジェクト再配置部と、を備える。
【選択図】図3
【特許請求の範囲】
【請求項1】
複数のユーザのそれぞれに対応するユーザオブジェクトを仮想空間に配置するオブジェクト配置部と、
前記複数のユーザのそれぞれの動作に応じて前記複数のユーザオブジェクトの動作を制御するオブジェクト制御部と、
第1期間における前記複数のユーザのそれぞれの動作に応じて、前記複数のユーザオブジェクトを複数のグループに分類する分類部と、
前記複数のグループに対応する前記仮想空間における複数の領域の何れかに前記複数のユーザオブジェクトを再配置するオブジェクト再配置部と、を備える情報処理装置。
【請求項2】
前記オブジェクト配置部は、さらに、前記複数のユーザの運動を指導する複数のトレーナーのそれぞれに対応するトレーナーオブジェクトを前記仮想空間に配置し、
前記分類部は、前記トレーナーオブジェクトの数に応じて、前記複数のユーザオブジェクトを前記複数のグループに分類する、請求項1に記載の情報処理装置。
【請求項3】
前記オブジェクト再配置部は、さらに、分類された前記複数のグループのそれぞれに前記トレーナーオブジェクトを再配置する、請求項2に記載の情報処理装置。
【請求項4】
前記ユーザの画面である第1画面に前記トレーナーオブジェクトを表示させる第1表示制御部、をさらに備え、
前記第1表示制御部は、前記ユーザから受け付けた操作に応じて、前記第1画面に表示される前記トレーナーオブジェクトの表示を変更する、請求項2に記載の情報処理装置。
【請求項5】
分類されたグループに属する複数のユーザオブジェクトに対応する複数のユーザからの要求に応じて、前記分類されたグループの運動のメニューが変更される、請求項2に記載の情報処理装置。
【請求項6】
前記トレーナーの端末の画面である第2画面に前記ユーザオブジェクトを表示させる第2表示制御部、をさらに備え、
前記第2表示制御部は、前記複数のユーザのそれぞれの動作を評価した評価情報を前記ユーザオブジェクトに紐づけて前記第2画面に表示させる、請求項2に記載の情報処理装置。
【請求項7】
前記トレーナーの端末の画面である第2画面に前記ユーザオブジェクトを表示させる第2表示制御部、をさらに備え、
前記第2表示制御部は、前記ユーザの動作が所定の条件を満たす場合に、前記第2画面に表示される前記ユーザオブジェクトの表示態様を変更する、請求項2に記載の情報処理装置。
【請求項8】
前記オブジェクト再配置部は、前記所定の条件を満たすユーザに対応するユーザオブジェクトを、前記所定の条件を満たしていない時よりも前記トレーナーオブジェクトに近接させるように再配置する、請求項7に記載の情報処理装置。
【請求項9】
前記第2表示制御部は、前記所定の条件を満たすユーザとコミュニケーションを行うコミュニケーション画面を前記第2画面に表示する、請求項7に記載の情報処理装置。
【請求項10】
前記複数のグループは、第1のグループと第2のグループを含み、
前記オブジェクト再配置部は、前記複数のユーザに含まれる対象ユーザの動作が前記所定の条件を満たす場合に、当該対象ユーザに対応するユーザオブジェクトを、当該対象ユーザが属する前記第1のグループから前記第2のグループの領域に再配置する、請求項7に記載の情報処理装置。
【請求項11】
前記複数のグループは、第1のグループと第2のグループを含み、
前記コミュニケーション画面は、前記所定の条件を満たす対象ユーザに対して、当該対象ユーザが属する前記第1のグループから前記第2のグループへの移動を許可する許可表示を含む、請求項9に記載の情報処理装置。
【請求項12】
前記許可表示に対する操作を受け付けた場合、前記対象ユーザの端末の画面である第1画面にグループの移動を受諾するかを問い合わせるメッセージを表示し、
前記グループの移動を受諾する操作を受け付けた場合、前記オブジェクト再配置部は、前記仮想空間における前記第2のグループに対応する領域に前記対象ユーザに対応するユーザオブジェクトを再配置する、請求項11に記載の情報処理装置。
【請求項13】
前記対象ユーザを前記第2のグループの領域に再配置する場合、前記仮想空間における前記第2のグループの領域を拡張する領域拡張部、をさらに備える、請求項10または12に記載の情報処理装置。
【請求項14】
前記対象ユーザに対応するユーザオブジェクトが前記第2のグループに再配置された場合、前記対象ユーザとは異なる仮想オブジェクトを生成する仮想オブジェクト生成部、をさらに備え、
前記オブジェクト再配置部は、さらに、生成された前記仮想オブジェクトを前記第1のグループの領域に再配置する、請求項13に記載の情報処理装置。
【請求項15】
前記第2表示制御部は、前記コミュニケーション画面において所定の操作がされると、前記ユーザオブジェクトの表示態様の変更を元に戻す、又はさらに変更する、請求項9に記載の情報処理装置。
【請求項16】
前記第1期間の後に前記複数のグループのうち特定のグループに複数のトレーナーオブジェクトが属する場合、前記分類部は、さらに、前記第1期間の後の第2期間における前記特定のグループに属していた前記複数のユーザオブジェクトに対応する複数のユーザの動作に応じて、前記特定のグループに属していた複数のユーザオブジェクトを2以上のグループに分類し、
前記オブジェクト再配置部は、さらに、前記2以上のグループのうち1つのグループに前記複数の領域以外の他の領域を割り当てるとともに、前記特定のグループに属していた複数のトレーナーオブジェクトのうち1つのトレーナーオブジェクトおよび前記特定のグループに属していた複数のユーザオブジェクトのうち一部を前記他の領域に再配置する、請求項2に記載の情報処理装置。
【請求項17】
プロセッサが、複数のユーザのそれぞれに対応するユーザオブジェクトを仮想空間に配置し、
プロセッサが、前記複数のユーザのそれぞれの動作に応じて前記複数のユーザオブジェクトの動作を制御し、
プロセッサが、第1期間における前記複数のユーザのそれぞれの動作に応じて、前記複数のユーザオブジェクトを複数のグループに分類し、
プロセッサが、前記複数のグループに対応する前記仮想空間における複数の領域の何れかに前記複数のユーザオブジェクトを再配置する、情報処理方法。
【請求項18】
プロセッサに、複数のユーザのそれぞれに対応するユーザオブジェクトを仮想空間に配置させ、
プロセッサに、前記複数のユーザのそれぞれの動作に応じて前記複数のユーザオブジェクトの動作を制御させ、
プロセッサに、第1期間における前記複数のユーザのそれぞれの動作に応じて、前記複数のユーザオブジェクトを複数のグループに分類させ、
プロセッサに、前記複数のグループに対応する前記仮想空間における複数の領域の何れかに前記複数のユーザオブジェクトを再配置させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
バーチャルインストラクターの人体画像を大型モニタ装置に表示することで、ユーザがバーチャルインストラクターの動きに合わせてエアロビクスを行う動画表示システムが特許文献1に提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009-095404号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、複数のユーザが参加する仮想空間における運動プログラムにおいて、各ユーザに対応する仮想空間上のアバタ(ユーザオブジェクト)をグループ分けする場合、適正なグループ分けを行うことが好ましい。
【0005】
1つの側面として、本発明の目的は、仮想空間における複数のユーザオブジェクトを適正にグループ分けする技術を提供する。
【課題を解決するための手段】
【0006】
本発明の一態様に係る情報処理装置は、複数のユーザのそれぞれに対応するユーザオブジェクトを仮想空間に配置するオブジェクト配置部と、前記複数のユーザのそれぞれの動作に応じて前記複数のユーザオブジェクトの動作を制御するオブジェクト制御部と、第1期間における前記複数のユーザのそれぞれの動作に応じて、前記複数のユーザオブジェクトを複数のグループに分類する分類部と、前記複数のグループに対応する前記仮想空間における複数の領域の何れかに前記複数のユーザオブジェクトを再配置するオブジェクト再配置部と、を備える。
【発明の効果】
【0007】
1つの側面として、本発明によれば、仮想空間における複数のユーザオブジェクトを適正にグループ分けする技術を提供できる。
【図面の簡単な説明】
【0008】
図1】情報処理システムのシステム構成の一例を示す図である。
図2A】サーバのハードウェア構成例を示す図である。
図2B】ユーザ端末のハードウェア構成例を示す図である。
図2C】ユーザHMDのハードウェア構成例を示す図である。
図3】サーバの機能ブロック構成例を示す図である。
図4A】ユーザ管理テーブルの一例を示す図である。
図4B】トレーナー管理テーブルの一例を示す図である。
図4C】領域管理テーブルの一例を示す図である。
図5】ユーザアバタのグループ分けの一例を示す図である。
図6】ユーザの動作の評価の一例を示す図である。
図7】ユーザが所定の条件を満たした場合におけるユーザアバタの再配置の一例を示す図である。
図8】ユーザが所定の条件を満たしたときのトレーナー画面の表示の遷移の一例を示す図である。
図9】ユーザが所定の条件を満たしたときのユーザ画面の表示の遷移の一例を示す図である。
図10】領域の拡張の一例を示す図である。
図11A】トレーナーアバタに近接させるカスタマイズを行った場合のユーザ画面の一例を示す図である。
図11B】トレーナーアバタから離間させるカスタマイズを行った場合のユーザ画面の一例を示す図である。
図11C】トレーナーアバタを拡大させるカスタマイズを行った場合のユーザ画面の一例を示す図である。
図12】本実施形態の処理の流れの一例を示すフローチャートである。
図13図12から続くフローチャートである。
図14】各ユーザアバタを3つのグループの何れかに再配置する一例を示す図である。
【発明を実施するための形態】
【0009】
以下、実施形態について、図面を参照しながら説明する。図面において、同一又は同等の構成要素には同一の符号を付し、同一又は同等の構成要素に関する説明が重複する場合は適宜省略する。なお、以下に説明する実施形態は、特許請求の範囲に記載された内容を限定するものではない。また、実施形態で説明される構成の全てが、必ずしも本開示の必須構成要件であるとは限らない。また、実施形態の要素は適宜組み合わせてもよい。本開示で説明する機能を発揮する限りにおいて、実施形態で説明される構成は、適宜省略されてもよい。
【0010】
(システム構成例)
図1は、本実施形態の情報処理システム100のシステム構成の一例を示す図である。情報処理システム100は、サーバ110、複数のユーザ端末120(120A、120B、・・・)、複数のユーザHMD130(130A、130B、・・・)、複数のトレーナー端末140(140A、140B、・・・)および複数のトレーナーHMD150(150A、150B、・・・)を含む。HMDは「ヘッドマウントディスプレイ」を表す。
【0011】
サーバ10は、本実施形態の情報処理装置として機能する。サーバ10は、1または複数の物理的なサーバ等などにより構成されていてもよく、ハイパーバイザー(hypervisor)上で動作する仮想的なサーバを用いて構成されていてもよく、クラウドサーバを用いて構成されていてもよい。
【0012】
各ユーザ端末120は、例えば、スマートフォンや、タブレット端末、PC(Personal Computer)等である。各ユーザHMD130は、ユーザの頭部に装着されるウェアラブルデバイスである。
【0013】
ユーザ端末120とユーザHMD130とは、例えば、近距離無線通信により通信可能に接続されている。各ユーザ端末120は、インターネット網等のネットワークNWを介して、サーバ110と通信可能に接続されている。
【0014】
トレーナー端末140とトレーナーHMD150とは、例えば、近距離無線通信により通信可能に接続されている。各トレーナー端末140は、ネットワークNWを介して、サーバ110と通信可能に接続されている。
【0015】
ユーザ端末120の数およびユーザHMD130の数は、図1の例には限定されない。同様に、トレーナー端末140の数およびトレーナーHMD150の数も、図1の例には限定されない。1つのユーザ端末120および1つのユーザHMD130が1人のユーザに対応しており、1つのユーザ端末120および1つのユーザHMD130が1人のトレーナーに対応している。
【0016】
以下、本実施形態では、複数のユーザが、仮想空間における運動プログラムに参加をする場合について説明する。各ユーザは、それぞれユーザHMD130を装着して仮想空間における運動プログラムに参加する。各ユーザ端末120は、それぞれサーバ110およびユーザHMD130と連携して動作する。各ユーザ端末120は、カメラを有しており、当該カメラがユーザを撮影する。
【0017】
サーバ110が提供する運動プログラムとしては、例えば、エクササイズプログラムやダンスプログラム、ヨガプログラム等がある。例えば、サーバ110は、フィットネススタジオの仮想空間の映像データをユーザ端末120に送信する。ユーザ端末120がユーザHMD130に仮想空間の映像データを送信することで、ユーザHMD130を装着しているユーザは、例えば、仮想空間上のフィットネススタジオにおける運動プログラムに臨場感をもって参加できる。
【0018】
複数のユーザが参加する運動プログラムには、各ユーザを指導するトレーナーが参加する。サーバ110は、ユーザを表すユーザアバタ(ユーザオブジェクト)およびトレーナーを表すトレーナーアバタ(トレーナーオブジェクト)を仮想空間に配置する。サーバ110は、仮想空間内のユーザアバタおよびトレーナーアバタの動作を制御する。これにより、ユーザHMD130を装着しているユーザは、仮想空間のフィットネススタジオにおけるトレーナーアバタの動作および他のユーザアバタの動作を視認できる。
【0019】
各トレーナーは、それぞれトレーナーHMD150を装着する。各トレーナー端末140は、それぞれサーバ110およびトレーナーHMD150と連携して動作する。各トレーナー端末140は、カメラを有しており、当該カメラがトレーナーを撮影する。
【0020】
上述したように、各ユーザ端末120は、それぞれユーザを撮影する。各ユーザ端末120は、撮影したユーザを含むユーザの映像データ(ユーザ映像データ)を一定間隔ごとにサーバ110に送信する。また、各トレーナー端末140は、それぞれトレーナーを撮影する。各ユーザ端末120は、撮影したトレーナーを含むトレーナーの映像データ(トレーナー映像データ)を一定間隔ごとにサーバ110に送信する。
【0021】
例えば、サーバ110は、一定間隔ごとのユーザ映像データに含まれるユーザの動作を解析して、仮想空間におけるユーザアバタの動作に変換する。また、サーバ110は、一定間隔ごとのトレーナー映像データに含まれるトレーナーの動作を解析して、仮想空間におけるトレーナーアバタの動作に変換する。これにより、サーバ110は、仮想空間内におけるユーザアバタおよびトレーナーアバタの動作を制御できる。以上のような仮想空間におけるユーザアバタおよびトレーナーアバタの配置や、ユーザアバタおよびトレーナーアバタの動作制御等の詳細は、後述する。
【0022】
ユーザアバタおよびトレーナーアバタの動作制御は、上述した例には限定されない。例えば、サーバ110は、ユーザの動作およびトレーナーの動作をスキャンして得られた点群データ化を取得し、ユーザの点群データの変化およびトレーナーの点群データの変化に基づき、ユーザアバタおよびトレーナーアバタの動作を制御してもよい。
【0023】
(ハードウェア構成)
図2Aは、サーバ10のハードウェア構成例を示す図である。サーバ10、ユーザ端末120およびトレーナー端末140は、プロセッサ201、記憶装置202、通信I/F(Interface)203および入力デバイス204を含む。
【0024】
プロセッサ201は、CPU(Central Processing Unit)やGPU(Graphical processing unit)等である。記憶装置202は、メモリやHDD(Hard Disk Drive)等である。記憶装置202に記憶された複数の命令セットをプロセッサ201が実行することで、本実施形態におけるサーバ10の各種の処理が実現され得る。当該プログラムは、記憶媒体に格納することができる。当該プログラムを格納した記憶媒体は、コンピュータ読み取り可能な非一時的な記憶媒体(Non-transitory computer readable medium)であってもよい。非一時的な記憶媒体は特に限定されないが、例えば、USB(Universal Serial Bus)メモリ又はCD-ROM(Compact Disc Read only memory)などの記憶媒体であってもよい。
【0025】
通信I/F203は、各ユーザ端末120および各トレーナー端末140と通信を行うためのインタフェースである。入力デバイス204は、入力操作を受け付けるデバイスである。入力デバイス204は、例えば、キーボードやタッチパネル、マウス、マイク等である。
【0026】
図2Bは、ユーザ端末120およびトレーナー端末140のハードウェア構成例を示す図である。ユーザ端末120およびトレーナー端末140は、プロセッサ211、記憶装置212、通信I/F213、入力デバイス214、端末カメラ215および端末ディスプレイ216を含む。
【0027】
プロセッサ211、記憶装置212、通信I/F213、入力デバイス214は、上述したプロセッサ201、記憶装置202、通信I/F203および入力デバイス204と同様である。通信I/F213は、サーバ110と通信を行う機能の他に、ユーザHMD130またはトレーナーHMD150と近距離無線通信を行う機能を有している。端末カメラ215は、ユーザ端末120およびトレーナー端末140に設けられる撮像装置である。端末ディスプレイ216は、ユーザ端末120およびトレーナー端末140に設けられるディスプレイである。端末ディスプレイ216は、例えば、タッチパネルディスプレイであってもよい。
【0028】
図2Cは、ユーザHMD130およびトレーナーHMD150のハードウェア構成例を示す図である。ユーザHMD130およびトレーナーHMD150は、プロセッサ221、記憶装置222、通信I/F223、HMD操作部224およびHMDディスプレイ225を含む。
【0029】
プロセッサ221、記憶装置222および通信I/F223は、上述したプロセッサ201、記憶装置202および通信I/F203と同様である。通信I/F223は、ユーザ端末120またはトレーナー端末140と通信を行う機能を有している。HMD操作部224は、ユーザまたはトレーナーが操作を行うための操作部である。HMDディスプレイ225は、ユーザおよびトレーナーに所定の情報を提示するディスプレイである。
【0030】
以下、ユーザ端末120の端末ディスプレイ216およびユーザHMD130のHMDディスプレイ350に表示される画面(第1画面)をユーザ画面と称する。HMDディスプレイ350に表示されるユーザ画面の表示形式は、端末ディスプレイ216に表示されるユーザ画面の表示形式とは異なっていてもよい。例えば、HMDディスプレイ350に表示されるユーザ画面は、サーバ110が送信する仮想空間の映像データをVR(仮想現実)として可視化した画面である。
【0031】
また、トレーナー端末140の端末ディスプレイ216に表示される画面(第2画面)をトレーナー画面と称する。当該トレーナー画面は、トレーナーHMD150のHMDディスプレイ350にも表示される。HMDディスプレイ350に表示されるトレーナー画面も、サーバ110が送信する仮想空間の映像データをVR(仮想現実)として可視化した画面である。
【0032】
(機能ブロック構成)
図3は、サーバ110の機能ブロック構成例を示す図である。サーバ110は、制御部410およびテーブル記憶部430を含む。制御部410は、オブジェクト配置部411、オブジェクト制御部412、分類部413、オブジェクト再配置部414、第1表示制御部415、第2表示制御部416、領域拡張部417、仮想オブジェクト配置部418、仮想空間生成部419および評価部420を含む。
【0033】
制御部410は、本実施形態に関わる各種の制御を行う。オブジェクト配置部411は、複数のユーザのそれぞれに対応するユーザアバタを仮想空間に配置する。本実施形態では、オブジェクト配置部411は、運動プログラムが開始される前に、仮想空間の1つの領域に運動プログラムに参加する全てのユーザアバタを配置する。
【0034】
オブジェクト制御部412は、複数のユーザのそれぞれの動作に応じて各ユーザアバタの動作を制御する。また、オブジェクト制御部412は、複数のトレーナーのそれぞれの動作に応じて各トレーナーアバタの動作を制御する。オブジェクト制御部412は、例えば、上述したユーザ映像データに含まれるユーザの動作を解析して、仮想空間におけるユーザアバタの動作に変換することで、ユーザアバタの動作を制御する。同様の手法で、オブジェクト制御部412はトレーナーアバタの動作を制御する。オブジェクト制御部412は、他の手法を用いて、ユーザアバタの動作およびトレーナーアバタの動作を制御してもよい。
【0035】
分類部413は、グループ分け期間(第1期間)における複数のユーザのそれぞれの動作に応じて、複数のユーザアバタを複数のグループに分類する。本実施形態では、分類部413は、グループ分け期間における複数のユーザのそれぞれの動作に対する評価に応じて、複数のユーザアバタを複数のグループに分類する。各ユーザはそれぞれ運動プログラムにおける運動レベルが異なる。本実施形態では、分類部413は、各ユーザアバタを初級グループと上級グループとの2つのグループに分類するものとして説明する。グループの数は3つ以上であってもよい。
【0036】
オブジェクト再配置部414は、複数のグループに対応する仮想空間における複数の領域の何れかに複数のユーザアバタを再配置する。仮想空間における1つの領域は1つのグループに対応する。上述したように、分類部413は、各ユーザアバタを初級グループと上級グループとの2つのグループに分類する。オブジェクト再配置部414は、初級グループに分類された各ユーザアバタを初級グループの領域に再配置し、上級グループに分類された各ユーザアバタを上級グループの領域に再配置する。
【0037】
第1表示制御部415は、上述したユーザ画面(ユーザ端末120の端末ディスプレイ216に表示される画面)の表示内容を制御する。第2表示制御部416は、上述したトレーナー画面(トレーナー端末140の端末ディスプレイ216に表示される画面)の表示内容を制御する。
【0038】
領域拡張部417は、ユーザの動作が所定の条件を満たした場合、当該ユーザを対象ユーザとして、対象ユーザが再配置される領域を拡張する。対象ユーザが属していたグループを第1グループとし、対象ユーザが再配置される先のグループを第2グループとする。この場合、領域拡張部417は、仮想空間における第1グループに対応する領域を拡張する。
【0039】
仮想オブジェクト配置部418は、対象ユーザのユーザアバタが第2グループに移動した場合、仮想アバタ(仮想オブジェクト)を生成する。仮想アバタは、サーバ110が自動生成するアバタであり、ユーザに対応しないアバタである。仮想アバタは、NPC(Non Player Character)と称されることもある。仮想オブジェクト配置部418は、生成した仮想アバタを、対象ユーザが属していた第1グループに対応する領域に再配置する。
【0040】
仮想空間生成部419は、各ユーザアバタおよび各トレーナーアバタが配置される仮想空間を生成する。仮想空間生成部419が生成した仮想空間に各ユーザアバタおよび各トレーナーアバタが配置および再配置される。また、領域拡張部417は、仮想空間生成部419が生成した仮想空間の領域を拡張する。評価部420は、ユーザの動作を評価する。評価の詳細は、後述する。
【0041】
テーブル記憶部430は、ユーザ管理テーブル430A、トレーナー管理テーブル430Bおよび領域管理テーブル430Cを記憶している。テーブル記憶部430は、他のテーブルを記憶していてもよい。テーブル記憶部430は、サーバ110の記憶装置202の一部の領域に記憶される。
【0042】
図4Aは、ユーザ管理テーブル430Aの一例を示す図である。ユーザ管理テーブル430Aは、ユーザID、ユーザ名、評価、所属グループおよび表示設定の項目を含む。ユーザIDは、サーバ110においてユーザを一意に識別するための識別子である。ユーザ名は、ユーザの名前である。ユーザ名は、例えば、登録時にユーザが入力した本名またはニックネームである。
【0043】
評価は、ユーザの動作に対する評価の結果を表す。図4Aの例では、評価は「0~100」までの間の数値で表される。評価「0」が最も低く、評価「100」が最も高い。ユーザの動作に対する評価は、他の指標で表されてもよい。
【0044】
所属グループは、ユーザが属するグループを表す。所属グループLは初級グループを表し、所属グループHは上級グループを表す。分類部413は、所定の閾値以上のユーザのユーザアバタを上級グループに分類し、評価が所定の閾値未満のユーザのユーザアバタを初級グループに分類する。以下、所定の閾値を「70」として説明するが、所定の閾値は任意の値に設定可能である。また、グループの数が3つ以上である場合、分類部413がユーザアバタを分類する際に用いる閾値は2つ以上である。
【0045】
表示設定は、ユーザごとの、トレーナーアバタの表示の設定を表す。ユーザ画面に表示されるトレーナーアバタの表示は、自由に変更(カスタマイズ)できる。トレーナーアバタの表示のカスタマイズについては、後述する。
【0046】
図4Bは、トレーナー管理テーブル430Bの一例を示す図である。トレーナー管理テーブル430Bは、トレーナーID、トレーナー名および担当グループの項目を含む。トレーナーIDは、サーバ110においてトレーナーを一意に識別するための識別子である。トレーナー名は、トレーナーの名前である。トレーナー名は、例えば、登録時にトレーナーが入力した本名またはニックネームである。担当グループは、トレーナーが担当するグループを表す。担当グループLは担当するグループが初級グループであることを表し、担当グループHは担当するグループが上級グループであることを表す。
【0047】
図4Cは、領域管理テーブル430Cの一例を示す図である。領域管理テーブル430Cは、領域ID、グループ名、所属ユーザ数および運動メニューの項目を含む。領域IDは、仮想空間における領域を一意に識別するための識別子である。各領域はそれぞれグループに対応する。グループ名は、グループの名前である。所属ユーザ数は、グループごとのユーザアバタの数を表す。運動メニューは、グループごとに設定される運動メニューを表す。運動メニューは、グループごとに、所属する各ユーザからの要求に応じて変更可能である。運動メニューの変更については、後述する。
【0048】
図5は、ユーザアバタのグループ分けの一例を示す図である。以下、運動プログラムをレッスンと称する。また、6人のユーザUA~UFがレッスンに参加し、2人のトレーナーTXおよびTYがレッスンを担当する例について説明する。各ユーザは、図4Aのユーザ管理テーブル430AのユーザIDまたはユーザ名により特定される。各トレーナーは、図4Bのトレーナー管理テーブル430BのトレーナーIDまたはトレーナー名により特定される。
【0049】
レッスン開始時において、例えば、オブジェクト配置部411は、ユーザUA~UFの各ユーザ端末120からユーザIDおよびユーザ名を取得し、ユーザ管理テーブル430Aに当該ユーザIDおよびユーザ名を記憶する。同様に、オブジェクト配置部411は、例えば、トレーナーTXおよびTYの各トレーナー端末140からトレーナーIDおよびトレーナー名を取得し、トレーナー管理テーブル430Bに当該トレーナーIDおよびトレーナー名を記憶する。これにより、ユーザ管理テーブル430Aに、ユーザUA~UFに対応するユーザIDおよびユーザ名が記憶される。また、トレーナー管理テーブル430Bに、トレーナーTXおよびTYに対応するトレーナーIDおよびトレーナー名が記憶される。トレーナーTXのトレーナーIDと担当グループLとが関連付けられており、トレーナーTYのトレーナーIDと担当グループLとが関連付けられているとする。これにより、トレーナー管理テーブル430Bにおいて、トレーナーIDに関連付けられて担当グループが記憶される。
【0050】
オブジェクト配置部411は、ユーザ管理テーブル430Aおよびトレーナー管理テーブル430Bを参照して、6つのユーザアバタ(UA~UF)および2つのトレーナーアバタ(TXおよびTY)を、仮想空間生成部419が生成した仮想空間VSに配置する。このとき、オブジェクト配置部411は、例えば、仮想空間生成部419が生成した仮想空間VSに、ユーザ管理テーブル430Aに記憶されている各トレーナーIDおよび各ユーザIDに対応する各トレーナーアバタおよび各ユーザアバタをランダムに配置する。なお、ユーザ端末120からユーザIDに紐づけて仮想空間VSにおける位置を指定する情報がある場合には、オブジェクト配置部411は、当該情報に基づき、ユーザIDに対応するユーザアバタを仮想空間VSにおける指定された位置に配置してもよい。
【0051】
オブジェクト配置部411は、例えば、仮想空間VS上にトレーナーアバタを配置する領域であるトレーナー領域およびユーザアバタを配置する領域であるユーザ領域を設定する。オブジェクト配置部411は、各トレーナーアバタをトレーナー領域に配置し、各ユーザアバタをユーザ領域に配置するように制御してもよい。オブジェクト配置部411は、図5における仮想空間VSの上部中央の矩形形状で囲まれた領域をトレーナー領域として設定し、その他の領域をユーザ領域として設定してもよい。そして、制御部410は、レッスンを開始する。
【0052】
上述したように、オブジェクト制御部412は、ユーザ端末120から一定間隔ごとに受信したユーザ映像データに含まれるユーザの動作を解析して、仮想空間におけるユーザアバタの動作に変換することで、ユーザアバタの動作を制御する。また、オブジェクト制御部412は、トレーナー端末140から一定間隔ごとに受信したトレーナー映像データに含まれるトレーナーの動作を解析して、仮想空間におけるトレーナーアバタの動作に変換することで、トレーナーアバタの動作を制御する。
【0053】
レッスン開始後、評価部420は、ユーザの動作を評価する。図6は、ユーザの動作の評価の一例を示す図である。上述したように、サーバ110は、ユーザ映像データを一定間隔ごとに受信する。また、サーバ110は、トレーナー映像データを一定間隔ごとに受信する。ユーザ映像データからユーザの姿勢を認識できる。評価部420は、例えば、ユーザの姿勢と正解の姿勢との一致の度合いに基づき、ユーザの動作を評価する。本実施形態では、正解の姿勢はトレーナー映像データに含まれるトレーナーの姿勢であるものとする。ただし、正解の姿勢は、サーバ110の記憶装置202に予め記憶されるデータであってもよい。
【0054】
本実施形態では、レッスン開始後、グループ分け期間が終了するまで、評価部420は、各ユーザの動作の評価を時間t1ごとに行う。時間t1は、上述した一定間隔の時間と同じであってもよいし、異なっていてもよい。グループ分け期間が終了した時点で、評価部420は、例えば、時間t1ごとの各ユーザの動作の評価の平均値を、グループ分け期間における評価として、ユーザ管理テーブル430Aの評価の項目に記憶する。グループ分け期間における評価には、平均値ではなく、例えば、中央値等が用いられてもよい。
【0055】
上述したユーザの姿勢は、例えば、ユーザ映像データに含まれるユーザの各部(例えば、頭部、胸部、腕および脚)に設定される複数の点(姿勢特定点)に基づき得ることができる。正解の姿勢(トレーナーの姿勢)も同様である。
【0056】
図6の例のうち時間t1が経過する前のユーザの姿勢と正解の姿勢との間には、胸部、片方の腕および片方の脚の姿勢特定点のずれが大きい。図6の例では、ユーザの動作の評価結果は「60」である。図6の例のうち時間t1が経過した後のユーザの姿勢と正解の姿勢との間の各姿勢特定点のずれは少ない。図6の例では、ユーザの動作の評価結果は「80」である。
【0057】
例えば、グループ分け期間の間に、評価部420が、ユーザUCの動作について、時間t1ごとに5回の評価を行ったとする。そして、当該5回の評価が「60」、「80」、「65」、「70」および「50」であったとする。評価部420は、当該5回の評価の平均値である「65」をユーザ管理テーブル430AのうちユーザUCのユーザIDに対応する評価の項目に記憶する。これにより、ユーザUCのグループ分け期間における評価を後に参照することができる。他のユーザについても同様である。
【0058】
分類部413は、ユーザ管理テーブル430Aの評価の項目を参照して、レッスン開始後からグループ分け期間(第1期間)における各ユーザのそれぞれの動作の評価に応じて、各ユーザアバタを初級グループと上級グループとの何れかのグループに分類する。分類部413は、ユーザごとに、初級グループと上級グループとの何れのグループに分類したかを示す情報をユーザ管理テーブル430Aの所属グループの項目に記憶する。
【0059】
グループ分け期間の経過後、オブジェクト再配置部414は、オブジェクト再配置部414は、上述した分類の結果に応じて、仮想空間VSの初級グループの領域VSLと上級グループの領域VSHとの何れかに各ユーザアバタを再配置する。サーバ110において、ユーザ管理テーブル430Aの所属グループLと仮想空間VSの領域VSLとは対応付けられており、所属グループHと仮想空間VSの領域VSHとは対応付けられているとする。オブジェクト再配置部414は、ユーザ管理テーブル430Aの所属グループの項目を参照して、所属グループLに対応する各ユーザアバタを領域VSLに再配置し、所属グループHに対応する各ユーザアバタを領域VSHに再配置する。このとき、オブジェクト再配置部414は、領域VSLに、所属グループLに対応する各ユーザアバタをランダムに再配置してもよい。また、オブジェクト再配置部414は、領域VSHに、所属グループHに対応する各ユーザアバタをランダムに再配置してもよい。なお、ユーザ端末120からユーザIDに紐づけて仮想空間VSの領域VSHまたはVSLにおける位置を指定する情報がある場合には、オブジェクト配置部411は、当該情報に基づき、ユーザIDに対応するユーザアバタを領域VSHまたはVSLにおける指定された位置に配置してもよい。
【0060】
また、サーバ110において、トレーナー管理テーブル430Bの担当グループLと領域VSLとは対応付けられており、担当グループHと領域VSHとは対応付けられている。オブジェクト再配置部414は、トレーナー管理テーブル430Bの担当グループの項目を参照して、担当グループLに対応するトレーナーTXを、担当グループLに対応する領域VSLに再配置する。同様に、オブジェクト再配置部414は、トレーナー管理テーブル430Bの担当グループの項目を参照して、担当グループHに対応するトレーナーTYを、担当グループHに対応する領域VSHに再配置する。
【0061】
これにより、図5の例に示されるように、初級グループの領域VSLにはトレーナーアバタTXおよびユーザアバタUA~UCが再配置され、上級グループの領域VSHにはトレーナーアバタTYおよびユーザアバタUD~UFが再配置される。
【0062】
初級グループの領域VSLおよび上級グループの領域VSHには、それぞれ、動作の評価が近いユーザアバタが再配置される。グループ分け期間における各ユーザの動作に対する評価に応じて、各ユーザアバタが初級グループと上級グループとの何れかに再配置される。これにより、レベルが近いユーザアバタを同じグループに再配置できるため、仮想空間における複数のユーザオブジェクトを適正にグループ分けできる。そして、運動レベルが近いユーザオブジェクトが同じグループに再配置されるため、ユーザの運動のモチベーションが向上する。
【0063】
次に、グループ分け期間後におけるユーザアバタの再配置について説明する。図7は、ユーザが所定の条件を満たした場合におけるユーザアバタの再配置の一例を示す図である。上述したグループ分けが行われた後、サーバ110が提供する運動プログラムは継続する。各ユーザのうち所定の条件を満たしたユーザ(対象ユーザ)がいる場合、例えば、第2表示制御部416は、トレーナー画面における対象ユーザの表示態様を変更する。また、オブジェクト再配置部414は、対象ユーザを初級グループから上級グループに再配置するか、または対象ユーザを上級グループから初級グループに再配置する。以下、初級グループから上級グループへの再配置を昇格と称し、上級グループから初級グループへの再配置を降格と称する。
【0064】
昇格の場合、所定の条件は、例えば、初級グループに属していた対象ユーザの動作に対する評価が、上述した所定の閾値「70」を超えたときに満たされる。グループ分けがされた後も、評価部420は、各ユーザの動作の評価を行っている。例えば、評価部420は、一定期間ごとに各ユーザの動作の評価の結果の平均値をユーザ管理テーブル430Aの評価に記憶していく。これにより、各ユーザの動作の評価が更新されていく。
【0065】
例えば、初級グループに属していた対象ユーザ(ユーザUC)の動作に対する評価が上述した閾値である「70」以上になったとする。この場合、ユーザUCは上級グループに分類できるユーザであるため、ユーザUCは初級グループから上級グループに昇格できる。
【0066】
図8は、ユーザが所定の条件を満たしたときのトレーナー画面の表示の遷移の一例を示す図である。トレーナー画面501において、ユーザUCは仮想空間の後列に位置している。第2表示制御部416は、ユーザUCが上記の所定の条件を満たした場合、ユーザUCと同じグループのトレーナーのトレーナー画面501に表示されるユーザUCのユーザアバタの表示態様を変更する。表示態様の変更は、ユーザUCのユーザアバタの強調表示であってもよいし、色の変更であってもよい。これにより、初級グループを担当するトレーナーは、ユーザUCが上級グループへの昇格条件を満たしたことを視覚的に認識できる。
【0067】
また、図8の例に示されるように、オブジェクト再配置部414は、ユーザUCが上記の所定の条件を満たした場合、所定の条件を満たしていないときよりもユーザUCのユーザアバタをトレーナーオブジェクトに近接させるように再配置してもよい。この場合、初級グループを担当するトレーナーのトレーナー画面に表示されるユーザUCのユーザアバタが後列から前列に移動する。これにより、当該トレーナーは、ユーザUCが上級グループへの昇格条件を満たしたことを視覚的に認識できる。
【0068】
図8のトレーナー画面502のように、所定の条件を満たしたユーザUCのユーザアバタの表示態様を変更する処理、およびユーザUCのユーザアバタをトレーナーアバタに近接させるように再配置する処理が同時に行われてもよい。この場合、トレーナーに対して、ユーザUCが上級グループへの昇格条件を満たしたことを、より明確に視覚的に提示できる。
【0069】
図8のトレーナー画面501および502に示されるように、第2表示制御部416は、各ユーザアバタのそれぞれに評価を示す評価情報を紐づける。評価情報は、ユーザIDごとに、ユーザ管理テーブル430Aの評価の項目から得られる。図8の例では、所定の条件を満たす前のユーザUCのユーザアバタの評価情報が示す評価は「50」であり、所定の条件を満たした後のユーザUCのユーザアバタの評価情報が示す評価は「75」である。これにより、ユーザUCの動作の評価についての具体的な値をトレーナーに提示できる。
【0070】
第2表示制御部416は、所定の条件を満たした対象ユーザ(ユーザUC)が発生した場合、当該対象ユーザとコミュニケーションを行うコミュニケーション画面511をトレーナー画面に表示させる。図8のコミュニケーション画面511は、ほめるボタン512および移動ボタン513を含む。
【0071】
ほめるボタン512は、ユーザUCのユーザ画面に対して、所定のメッセージを表示させるためボタンである。トレーナーによりほめるボタン512が押下されると、ほめるボタン512が押下されたことを示す情報がサーバ110に送信される。サーバ110が当該情報を受信すると、第1表示制御部415は、所定のメッセージをユーザUCのユーザ画面に表示させる。所定のメッセージは、例えば、「よい動作です」等のようなユーザUCの運動のモチベーションを上げるメッセージである。当該所定のメッセージは、サーバ110の記憶装置202に記憶されていてもよいし、トレーナーにより入力されるものであってもよい。
【0072】
ほめるボタン512の押下は、コミュニケーション画面511における所定の操作である。ほめるボタン512が押下されると、第2表示制御部416は、トレーナー画面における表示態様が変更されたユーザUCの表示を元に戻すか、またはさらに変更してもよい。例えば、ユーザUCのユーザアバタが強調表示されている場合、ほめるボタン512がトレーナーにより押下されると、第2表示制御部416はユーザUCのユーザアバタの強調表示をなくして、ユーザUCのユーザアバタの表示を元に戻してもよい。これにより、所定の条件を満たしたユーザUCのほめ忘れを防止することでき、当該ユーザUCのモチベーションが低下することが抑制される。
【0073】
移動ボタン513は、所定の条件を満たしたユーザUCに対して、上級グループに移動することを許可する許可表示である。トレーナーにより移動ボタン513が押下されると、移動ボタン513が押下されたことを示す情報がサーバ110に送信される。サーバ110が当該情報を受信すると、第1表示制御部415は、問い合わせメッセージをユーザ画面に表示させる。問い合わせメッセージの詳細は後述する。
【0074】
図9は、ユーザが所定の条件を満たしたときのユーザ画面の表示の遷移の一例を示す図である。ユーザ画面601において、ユーザUCのユーザアバタは仮想空間において後列に位置している。このため、ユーザ画面601には仮想空間におけるユーザUCの視点では、前列に位置するユーザUAのユーザアバタが表示されており、さらにその前にトレーナーTXのトレーナーアバタが表示されている。
【0075】
オブジェクト再配置部414は、ユーザUCの動作が上記の所定の条件を満たした場合、所定の条件を満たしていないときよりもユーザUCのユーザアバタをトレーナーオブジェクトに近接させるように再配置させる。ユーザ画面602は、ユーザUCの動作が上記の所定の条件を満たした後のユーザ画面である。ユーザUCのユーザアバタがトレーナーオブジェクトに近接させるように再配置されるため、ユーザ画面602において、トレーナーTXのトレーナーアバタは表示されているが、ユーザUAのユーザアバタは表示されない。
【0076】
第1表示制御部415は、ユーザUCの動作が所定の条件を満たした後のユーザ画面602に、上述した問い合わせメッセージ611を表示させる。問い合わせメッセージ611は、移動ボタン513が押下する操作がされた場合において、グループの移動を受諾するかを問い合わせるメッセージである。問い合わせメッセージ611は、YESボタン612およびNOボタン613を含む。
【0077】
ユーザTCによりYESボタン612を押下する操作がされると、グループの移動を受諾したことを示す情報がサーバ110に送信される。この場合、オブジェクト再配置部414は、初級グループの領域VSLに属していたユーザUCのユーザアバタを上級グループの領域VSHに再配置する。このとき、オブジェクト再配置部414は、ユーザUCのユーザIDに対応する所属グループの項目を「L」から「H」に変更する。
【0078】
ユーザTCによりNOボタン613を押下する操作がされると、グループの移動を拒否したことを示す情報がサーバ110に送信される。この場合、オブジェクト再配置部414は、初級グループの領域VSLに属しているユーザUCのユーザアバタに対して再配置等の処理は行わない。
【0079】
従って、ユーザ画面602の問い合わせメッセージ611でYESボタン612が押下されたときに、ユーザUCのユーザアバタを上級グループの領域VSHに再配置する処理が行われる。このため、ユーザUCの同意に基づく、ユーザアバタのグループ間の移動(昇格)が実現される。
【0080】
一方、ユーザUCの動作が所定の条件を満たした場合、オブジェクト再配置部414は、ユーザUCの受諾を得ることなく、ユーザUCのユーザアバタを仮想空間VSにおける上級グループの領域VSHに再配置してもよい。この場合、ユーザ画面に問い合わせメッセージ611は表示されることなく、ユーザUCのユーザアバタの再配置が行われる。
【0081】
また、オブジェクト再配置部414は、対象ユーザのユーザアバタを上級グループから初級グループに降格させるように再配置してもよい。例えば、上級グループに属していたユーザUFの動作に対する評価が「85」から「65」になった場合、オブジェクト再配置部414は、ユーザUFのユーザオブジェクトを上級グループの領域VSHから初級グループの領域VSLに再配置してもよい。この場合、ユーザUFの動作に対する評価が所定の閾値「70」未満になった場合に、所定の条件が満たされ、上記のユーザUFのユーザオブジェクトの再配置が行われる。
【0082】
次に、領域の拡張について説明する。図10は、領域の拡張の一例を示す図である。上述したように、ユーザUCが初級グループから上級グループに昇格したことに伴い、オブジェクト再配置部414が、初級グループの領域VSLに属していたユーザUCのユーザオブジェクトを上級グループの領域VSHに再配置したとする。この場合、領域拡張部417は、上級グループの領域VSHの領域を拡張する。ユーザUCのユーザアバタが昇格することに伴い、上級グループの領域VSHに属するユーザアバタは1つ増える。このときに、領域拡張部417が上級グループの領域VSHの領域を拡張することで、上級グループの領域VSHはユーザアバタの数に適したサイズを維持できる。
【0083】
一方、初級グループの領域VSLに属するユーザアバタの数は1つ減少する。この場合、仮想オブジェクト配置部418は、ユーザに対応しない仮想オブジェクトNPを自動生成する。そして、オブジェクト再配置部414は、生成された仮想オブジェクトNPを、ユーザUCのユーザアバタが属していた初級グループの領域VSLに再配置する。これにより、初級グループの領域VSLに属するユーザアバタの数は維持されるため、初級グループに属するユーザUAおよびUBのモチベーションが低下することが抑制される。
【0084】
図11は、ユーザ画面に表示されるトレーナーアバタの表示のカスタマイズの一例を示す図である。ユーザは、ユーザ端末120またはユーザHMD130を操作して、ユーザ画面に表示されるトレーナーアバタの表示のカスタマイズできる。例えば、トレーナーアバタの拡大やトレーナーアバタの左右反転、トレーナーアバタとの距離の変更、トレーナーアバタの見た目の変更等のカスタマイズが可能である。
【0085】
図11Aは、トレーナーアバタに近接させるカスタマイズを行った場合のユーザ画面の一例を示す図である。ユーザが上記のカスタマイズの操作を行うと、ユーザ端末120は、トレーナーアバタに近接させるカスタマイズがされたことを示す情報を送信する。当該情報をサーバ110が受信すると、第1表示制御部415は、ユーザ画面を、図11Aのように、トレーナーアバタに近接させるようなユーザ画面に変更する。この場合、仮想空間におけるユーザの視点がトレーナーアバタに近づくように変更される。制御部410は、上記のカスタマイズを行ったユーザに対応するユーザ管理テーブル430Aの表示設定の項目の情報を「近距離」に変更する。
【0086】
図11Bは、トレーナーアバタから離間させるカスタマイズを行った場合のユーザ画面の一例を示す図である。ユーザが上記のカスタマイズの操作を行うと、ユーザ端末120は、トレーナーアバタから離間させるカスタマイズがされたことを示す情報を送信する。当該情報をサーバ110が受信すると、第1表示制御部415は、ユーザ画面を、図11Bのように、トレーナーアバタから離間させるようなユーザ画面に変更する。この場合、仮想空間におけるユーザの視点がトレーナーアバタから遠ざかるように変更される。制御部410は、上記のカスタマイズを行ったユーザに対応するユーザ管理テーブル430Aの表示設定の項目の情報を「遠距離」に変更する。
【0087】
図11Cは、トレーナーアバタを拡大させるカスタマイズを行った場合のユーザ画面の一例を示す図である。ユーザが上記のカスタマイズの操作を行うと、ユーザ端末120は、トレーナーアバタを拡大させるカスタマイズがされたことを示す情報を送信する。当該情報をサーバ110が受信すると、第1表示制御部415は、図11Cのように、ユーザ画面におけるトレーナーアバタの表示を拡大させる。制御部410は、上記のカスタマイズを行ったユーザに対応するユーザ管理テーブル430Aの表示設定の項目の情報を「拡大」に変更する。上記のカスタマイズは、トレーナーアバタの服装の変更や性別の変更等であってもよい。
【0088】
次に、本実施形態の処理の流れについて説明する。図12は、本実施形態の処理の流れの一例を示すフローチャートである。オブジェクト配置部411は、仮想空間VSに各ユーザアバタおよび各トレーナーアバタを配置する(ステップS101)。ステップS101の処理は、例えば、レッスン開始前に行われる。
【0089】
制御部410は、レッスンを開始する処理を行う(ステップS102)。制御部410がレッスンを開始する処理を行うと、サーバ110は、仮想空間VSの映像(レッスンの映像)を各ユーザ端末120および各トレーナー端末140に送信する。これにより、各ユーザ画面および各トレーナー画面に仮想空間VSの映像が表示される。サーバ110は、各ユーザ端末120からユーザ映像データを一定間隔ごとに受信する。また、サーバ110は、各トレーナー端末140からトレーナー映像データを一定間隔ごとに受信する。オブジェクト制御部412は、サーバ110が受信した映像データ(ユーザ映像データおよびトレーナー映像データ)を取得する(ステップS103)。
【0090】
オブジェクト制御部412は、一定間隔ごとのユーザ映像データに含まれる各ユーザの動作および一定間隔ごとのトレーナー映像データに含まれる各トレーナーの動作に応じて、仮想空間VSにおける各ユーザオブジェクトおよび各トレーナーオブジェクトの動作を制御する(ステップS104)。
【0091】
制御部410は、レッスンを開始してからグループ分け期間が経過したかを判定する(ステップS105)。グループ分け期間が経過していない場合、制御部410は、ステップS105でNoと判定し、処理をステップS103に戻す。グループ分け期間が経過した場合、制御部410は、ステップS105でYesと判定し、処理をステップS106に進める。
【0092】
評価部420は、上述したように各ユーザの動作を評価する(ステップS106)。評価部420は、ユーザごとの動作の評価の値をユーザ管理テーブル430Aの評価の項目に記憶する。
【0093】
分類部413は、ユーザ管理テーブル430Aの評価の項目を参照して、ユーザごとの動作の評価の値に基づき、各ユーザのユーザオブジェクトを初級グループと上級グループとの何れかのグループに分類する(ステップS107)。オブジェクト再配置部414は、分類した結果に応じて、各ユーザのユーザオブジェクトを初級グループの領域VSLと上級グループの領域VSHとの何れかに再配置する(ステップS108)。
【0094】
ここで、第1表示制御部415は、初級グループに属する各ユーザのユーザ画面および上級グループに属する各ユーザのユーザ画面にアンケート情報を表示させる。アンケート情報は、初級グループと上級グループとのレッスンにおけるアンケートに関する情報である。アンケート情報は、例えば、「緩い」、「普通」および「激しい」の3つの選択肢の中から選択可能である。
【0095】
初級グループと上級グループとのグループごとに、サーバ110に対して、アンケート情報に対して選択された結果が集計結果として送信される。制御部410は、アンケートの集計結果に基づき、初級グループと上級グループとの運動メニューを変更する(ステップS109)。例えば、制御部410は、初級グループと上級グループとのグループごとに、上記の3つの選択肢のうち最も多い選択肢の運動メニューを設定してもよい。
【0096】
また、第2表示制御部416は、アンケートの集計結果をトレーナー画面に表示させてもよい。例えば、初級グループおよび上級グループの各トレーナーは、トレーナー画面に表示されるアンケートの集計結果を参照して、トレーナー端末140を用いて、グループごとの運動メニューを選択してもよい。選択された運動メニューの情報は、サーバ110に送信される。当該情報に基づき、制御部410はグループごとの運動メニューを設定してもよい
【0097】
以上により、グループごとの運動メニューが設定される。制御部410は、グループ別にレッスンを開始する(ステップS110)。制御部410は、ステップS110の処理の後、処理を「A」から図13のステップS111に進める。
【0098】
図13は、図12から続くフローチャートである。グループ分けがされた後、オブジェクト制御部412は、映像データ(ユーザ映像データおよびトレーナー映像データ)を一定間隔ごとに取得する(ステップS111)。オブジェクト制御部412は、ユーザ映像データに含まれる各ユーザの動作およびトレーナー映像データに含まれる各トレーナーの動作に基づき、各ユーザオブジェクトおよび各トレーナーオブジェクトの動作を制御する(ステップS112)。
【0099】
制御部410は、所定の条件を満たしたユーザがいるかを判定する(ステップS113)。所定の条件を満たしたユーザがいない場合、制御部410は、ステップS113でNoと判定し、処理をステップS114に進める。
【0100】
制御部410は、レッスンが終了する条件を満たしているかを判定する(ステップS114)。制御部410は、例えば、レッスンが開始してから規定の時間が経過したかに基づき、ステップ114の判定を行ってもよい。レッスンが終了する条件を満たしている場合、制御部410は、ステップS114でYesと判定し、図12および図13のフローチャートを終了させる。レッスンが終了していない場合、制御部410は、ステップS114でNoと判定し、処理をステップS111に戻す。
【0101】
上述した所定の条件を満たしたユーザがいる場合、制御部410は、ステップS113でYesと判定し、処理をステップS115に進める。第2表示制御部416は、所定の条件を満たした対象ユーザのユーザアバタの表示態様が変更されるように、トレーナー画面の表示制御を行う(ステップS115)。
【0102】
第2表示制御部416は、コミュニケーション画面511をトレーナー画面に表示させる(ステップS116)。第1表示制御部415は、問い合わせメッセージ611を対象ユーザのユーザ画面に表示させる(ステップS117)。
【0103】
制御部410は、対象ユーザのユーザ画面に表示される問い合わせメッセージ611の移動ボタン513が押下されたかを判定する(ステップS118)。移動ボタン513が押下されていない場合、制御部410は、ステップS118でNoと判定し、処理をステップS114に進める。
【0104】
移動ボタン513が押下された場合、制御部410は、ステップS118でYesと判定し、処理をステップS119に進める。領域拡張部417は、対象ユーザのユーザオブジェクトが再配置される先の仮想空間VSの領域を拡張する(ステップS119)。
【0105】
オブジェクト再配置部414は、対象ユーザのユーザオブジェクトを元の領域から再配置先の領域に再配置する(ステップS120)。仮想オブジェクト配置部418は、上述した仮想アバタを生成し、対象ユーザのユーザオブジェクトが属していた元の領域に、生成した仮想アバタを配置する(ステップS121)。
【0106】
以上のように、本実施形態では、仮想空間に配置された複数のユーザのそれぞれの動作の評価に応じて、分類部413が複数のユーザオブジェクトを複数のグループ(初級グループまたは上級グループ)に分類する。そして、オブジェクト再配置部414が、各ユーザオブジェクトを、分類されたグループに対応する仮想空間における複数の領域の何れかに再配置する。このため、運動プログラムにおける運動レベルが近い複数のユーザアバタを同じグループに再配置できる。このため、仮想空間における複数のユーザオブジェクトを適正にグループ分けできる。また、運動レベルが近いユーザオブジェクトが同じグループに再配置されるため、ユーザの運動のモチベーションの向上が期待できる。
【0107】
<変形例>
上述した実施形態では、グループの数が2つである例について説明したが、グループの数は3つ以上であってもよい。図14は、各ユーザアバタを3つのグループの何れかに再配置する一例を示す図である。
【0108】
例えば、オブジェクト配置部411が、ユーザUA~UHに対応する8つのユーザアバタおよびトレーナーアバタTX~TZの3つのトレーナーアバタを仮想空間VSに配置した場合を想定する。また、グループ分け期間が経過した後、分類部413がユーザUA~UHの各ユーザアバタを分類した結果に応じて、オブジェクト再配置部414が初級グループに対応する領域VSLにユーザUA~UCの3つのユーザアバタおよびトレーナーTXのトレーナーアバタを再配置したとする。
【0109】
一方、オブジェクト再配置部414は、上級グループに対応する領域VSHにユーザUD~UGの6つのユーザアバタおよびトレーナーTYおよびTZに対応する2つのトレーナーアバタを再配置したとする。つまり、特定のグループ(図14の例では上級グループ)に複数のトレーナーアバタが属している。この場合、オブジェクト再配置部414は、トレーナーTYを仮想空間VSにおける中級グループの領域VSMに再配置する。中級グループの領域VSMは、初級グループの領域VSLおよび上級グループの領域VSHとは異なる仮想空間における領域である。
【0110】
分類部413は、グループ分け期間後の再グループ分け期間(第2期間)における上級グループに属するユーザUD~UGの動作の評価に応じて、ユーザUD~UGを上級グループと中級グループとの何れかに分類する。例えば、分類部413は、上述した所定の閾値「70」よりも高い「80」を他の閾値として、動作の評価が「70~80」のユーザUD~UFに対応するユーザアバタを中級グループに分類してもよい。以上のように、グループの数が3つであったとしても、仮想空間における複数のユーザオブジェクトを適正にグループ分けできる。
【0111】
また、上述した実施形態では、HMDを使用する例を説明したが、例えば、HMDの代わりにテレビ等の表示装置が用いられてもよい。この場合、例えば、ユーザ端末120およびトレーナー端末140は、カメラ機能を有するゲーム機等であってもよい。また、本発明は3次元のゲーム空間(仮想空間)にユーザに対応するユーザキャラクタを配置して進行するゲームに適用してもよい。
<まとめ>
[汎用課題]
本発明の目的の1つは、仮想空間におけるオブジェクトの適切な配置を決定することである。
本発明の目的の1つは、オブジェクトのグループ分けを適正に行うことである。
【0112】
本発明の目的の1つは、複数のユーザオブジェクトを適正にグループ分けできる技術を提供することである。
[付記1]本実施形態に係る情報処理装置は、複数のユーザのそれぞれに対応するユーザオブジェクトを仮想空間に配置するオブジェクト配置部と、前記複数のユーザのそれぞれの動作に応じて前記複数のユーザオブジェクトの動作を制御するオブジェクト制御部と、第1期間における前記複数のユーザのそれぞれの動作に応じて、前記複数のユーザオブジェクトを複数のグループに分類する分類部と、前記複数のグループに対応する前記仮想空間における複数の領域の何れかに前記複数のユーザオブジェクトを再配置するオブジェクト再配置部と、を備える。
上記の情報処理装置によれば、複数のユーザオブジェクトを適正にグループ分けできる。
【0113】
本発明の目的の1つは、トレーナーの数を踏まえたグループ分けを行うことである。
[付記2]前記オブジェクト配置部は、さらに、前記複数のユーザの運動を指導する複数のトレーナーのそれぞれに対応するトレーナーオブジェクトを前記仮想空間に配置し、前記分類部は、前記トレーナーオブジェクトの数に応じて、前記複数のユーザオブジェクトを前記複数のグループに分類する、付記1に記載の情報処理装置。
これにより、トレーナーの数を踏まえたグループ分けを行うことができる。
【0114】
本発明の目的の1つは、各グループに応じた指導を可能とすることである。
[付記3]前記オブジェクト再配置部は、さらに、分類された前記複数のグループのそれぞれに前記トレーナーオブジェクトを再配置する、付記2に記載の情報処理装置。
これにより、各グループにトレーナーオブジェクトを再配置することができるため、各グループに応じた指導が可能となる。
【0115】
本発明の目的の1つは、ユーザがトレーナーオブジェクトをカスタマイズ可能とすることである。
[付記4]前記ユーザの画面である第1画面に前記トレーナーオブジェクトを表示させる第1表示制御部、をさらに備え、前記第1表示制御部は、前記ユーザから受け付けた操作に応じて、前記第1画面に表示される前記トレーナーオブジェクトの表示を変更する、付記2に記載の情報処理装置。
これにより、ユーザがトレーナーオブジェクトをカスタマイズできる。
【0116】
本発明の目的の1つは、ユーザの意向に応じた運動メニューを設定可能とすることである。
[付記5]分類されたグループに属する複数のユーザオブジェクトに対応する複数のユーザからの要求に応じて、前記分類されたグループの運動のメニューが変更される、付記2に記載の情報処理装置。
これにより、ユーザの意向に応じた運動メニューを設定できる。
【0117】
本発明の目的の1つは、トレーナーがユーザの動きの評価を認識し易くすることである。
[付記6]前記トレーナーの端末の画面である第2画面に前記ユーザオブジェクトを表示させる第2表示制御部、をさらに備え、前記第2表示制御部は、前記複数のユーザのそれぞれの動作を評価した評価情報を前記ユーザオブジェクトに紐づけて前記第2画面に表示させる、付記2に記載の情報処理装置。
これにより、トレーナーがユーザの動きの評価を認識し易くすることができる。
【0118】
本発明の目的の1つは、トレーナーが所定の条件を満たしたユーザオブジェクトを認識し易くすることである。
[付記7]前記トレーナーの端末の画面である第2画面に前記ユーザオブジェクトを表示させる第2表示制御部、をさらに備え、前記第2表示制御部は、前記ユーザの動作が所定の条件を満たす場合に、前記第2画面に表示される前記ユーザオブジェクトの表示態様を変更する、付記2に記載の情報処理装置。
これにより、トレーナーが所定の条件を満たしたユーザオブジェクトを認識し易くすることができる。
【0119】
本発明の目的の1つは、所定の条件を満たしたユーザオブジェクトを認識し易くすることができる。
[付記8]前記オブジェクト再配置部は、前記所定の条件を満たすユーザに対応するユーザオブジェクトを、前記所定の条件を満たしていない時よりも前記トレーナーオブジェクトに近接させるように再配置する、付記7に記載の情報処理装置。
これにより、所定の条件を満たしたユーザオブジェクトを前列に再配置することができるため、所定の条件を満たしたユーザオブジェクトを認識し易くすることができる。
【0120】
本発明の目的の1つは、トレーナーが所定の条件を満たしたユーザとコミュニケーションを取り易くすることである。
[付記9]前記第2表示制御部は、前記所定の条件を満たすユーザとコミュニケーションを行うコミュニケーション画面を前記第2画面に表示する、付記7に記載の情報処理装置。
これにより、トレーナーが所定の条件を満たしたユーザとのコミュニケーションを取り易くすることができる。
【0121】
本発明の目的の1つは、所定の条件を満たしたユーザを適切なグループに移動させることである。
[付記10]前記複数のグループは、第1のグループと第2のグループを含み、前記オブジェクト再配置部は、前記複数のユーザに含まれる対象ユーザの動作が前記所定の条件を満たす場合に、当該対象ユーザに対応するユーザオブジェクトを、当該対象ユーザが属する前記第1のグループから前記第2のグループの領域に再配置する、付記1に記載の情報処理装置。
これにより、所定の条件を満たしたユーザを適切なグループに移動させることができる。
【0122】
本発明の目的の1つは、所定の条件を満たしたユーザにグループ移動が可能であることを認識させることである。
[付記11]前記複数のグループは、第1のグループと第2のグループを含み、前記コミュニケーション画面は、前記所定の条件を満たす対象ユーザに対して、当該対象ユーザが属する前記第1のグループから前記第2のグループへの移動を許可する許可表示を含む、付記9に記載の情報処理装置。
これにより、所定の条件を満たしたユーザにグループ移動が可能であることを認識させることができる。
【0123】
本発明の目的の1つは、所定の条件を満たしたユーザが希望する場合にグループを移動させることである。
[付記12]前記許可表示に対する操作を受け付けた場合、前記対象ユーザの端末の画面である第1画面にグループの移動を受諾するかを問い合わせるメッセージを表示し、前記グループの移動を受諾する操作を受け付けた場合、前記オブジェクト再配置部は、前記仮想空間における前記第2のグループに対応する領域に前記対象ユーザに対応するユーザオブジェクトを再配置する、付記11に記載の情報処理装置。
これにより、所定の条件を満たしたユーザが希望する場合にグループを移動させることができる。
【0124】
本発明の目的の1つは、ユーザオブジェクトがグループ間を移動した場合にもグループの領域のサイズを適正に維持することである。
[付記13]前記対象ユーザを前記第2のグループの領域に再配置する場合、前記仮想空間における前記第2のグループの領域を拡張する領域拡張部、をさらに備える、付記10または12に記載の情報処理装置。
これにより、ユーザオブジェクトがグループ間を移動した場合にもグループの領域のサイズを適正に維持することができる。
【0125】
本発明の目的の1つは、ユーザオブジェクトがグループを移動した際に、元のグループに属するユーザオブジェクトの数を適正に維持することである。
[付記14]前記対象ユーザに対応するユーザオブジェクトが前記第2のグループに再配置された場合、前記対象ユーザとは異なる仮想オブジェクトを生成する仮想オブジェクト生成部、をさらに備え、前記オブジェクト再配置部は、さらに、生成された前記仮想オブジェクトを前記第1のグループの領域に再配置する、付記13に記載の情報処理装置。
これにより、ユーザオブジェクトがグループを移動した際に、元のグループに属するユーザオブジェクトの数を適正に維持することができる。
【0126】
本発明の目的の1つは、トレーナーがユーザとのコミュニケーションのし忘れを防止することである。
[付記15]前記第2表示制御部は、前記コミュニケーション画面において所定の操作がされると、前記ユーザオブジェクトの表示態様の変更を元に戻す、又はさらに変更する、付記9に記載の情報処理装置。
これにより、トレーナーがユーザとのコミュニケーションのし忘れを防止することができる。
【0127】
本発明の目的の1つは、複数のユーザオブジェクトが属するグループを更に細分化したグループに分けることである。
[付記16]前記第1期間の後に前記複数のグループのうち特定のグループに複数のトレーナーオブジェクトが属する場合、前記分類部は、さらに、前記第1期間の後の第2期間における前記特定のグループに属していた前記複数のユーザオブジェクトに対応する複数のユーザの動作に応じて、前記特定のグループに属していた複数のユーザオブジェクトを2以上のグループに分類し、前記オブジェクト再配置部は、さらに、前記2以上のグループのうち1つのグループに前記複数の領域以外の他の領域を割り当てるとともに、前記特定のグループに属していた複数のトレーナーオブジェクトのうち1つのトレーナーオブジェクトおよび前記特定のグループに属していた複数のユーザオブジェクトのうち一部を前記他の領域に再配置する、付記2に記載の情報処理装置。
これにより、複数のユーザオブジェクトが属するグループを更に細分化したグループに分けることができる。
【0128】
本発明の目的の1つは、複数のユーザオブジェクトを適正にグループ分けできる技術を提供することである。
[付記17]本実施形態に係る情報処理方法は、プロセッサが、複数のユーザのそれぞれに対応するユーザオブジェクトを仮想空間に配置し、プロセッサが、前記複数のユーザのそれぞれの動作に応じて前記複数のユーザオブジェクトの動作を制御し、プロセッサが、第1期間における前記複数のユーザのそれぞれの動作に応じて、前記複数のユーザオブジェクトを複数のグループに分類し、プロセッサが、前記複数のグループに対応する前記仮想空間における複数の領域の何れかに前記複数のユーザオブジェクトを再配置する。
上記の情報処理方法によれば、複数のユーザオブジェクトを適正にグループ分けできる。
【0129】
本発明の目的の1つは、複数のユーザオブジェクトを適正にグループ分けできる技術を提供することである。
[付記18]本実施形態に係るプログラムは、プロセッサに、複数のユーザのそれぞれに対応するユーザオブジェクトを仮想空間に配置させ、プロセッサに、前記複数のユーザのそれぞれの動作に応じて前記複数のユーザオブジェクトの動作を制御させ、プロセッサに、第1期間における前記複数のユーザのそれぞれの動作に応じて、前記複数のユーザオブジェクトを複数のグループに分類させ、プロセッサに、前記複数のグループに対応する前記仮想空間における複数の領域の何れかに前記複数のユーザオブジェクトを再配置させる。
上記のプログラムによれば、複数のユーザオブジェクトを適正にグループ分けできる。
【符号の説明】
【0130】
100…情報処理システム、110…サーバ、120…ユーザ端末、130…ユーザHMD、140…トレーナー端末、150…トレーナーHMD、201…プロセッサ、202…記憶装置、203…通信I/F、204…入力デバイス、410…制御部、411…オブジェクト配置部、412…オブジェクト制御部、413…分類部、414…オブジェクト再配置部、415…第1表示制御部、416…第2表示制御部、417…領域拡張部、418…仮想オブジェクト配置部、419…仮想空間生成部、420…評価部、430…テーブル記憶部、430A…ユーザ管理テーブル、430B…トレーナー管理テーブル、430C…領域管理テーブル
図1
図2A
図2B
図2C
図3
図4A
図4B
図4C
図5
図6
図7
図8
図9
図10
図11A
図11B
図11C
図12
図13
図14