(57)【要約】【課題】ＶＲで複数のユーザのアバターが集まって会議をしたりする場合に、各ユーザについてのアバターの行動の情報等のやり取りが多くなり通信遅延、処理遅延が発生する可能性を軽減するサーバを提供する。【解決手段】複数のアバターが行動する仮想現実空間を提供するサーバであって、各ユーザに対応するアバターの仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信部と、複数のアバターの内の一のアバターに対応する端末装置に対して他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定部と、一のアバターに対応する端末装置に対して、決定部が決定した送信レートで、他のアバターの位置情報及び行動情報を送信する送信部とを備える。【選択図】図８
2018028789.tif 000002
【特許請求の範囲】
【請求項１】
複数のアバターが行動する仮想現実空間を提供するサーバであって、
各ユーザに対応するアバターの前記仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信部と、
前記複数のアバターの内の一のアバターに対応する端末装置に対して他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定部と、
前記一のアバターに対応する端末装置に対して、前記決定部が決定した送信レートで、前記他のアバターの位置情報及び行動情報を送信する送信部とを備えるサーバ。
【請求項２】
前記決定部は、前記一のアバターに近い所定の条件を満たす他のアバターの位置情報及び行動情報を送信する送信レートを、前記一のアバターから遠い所定の条件を満たす他のアバターの位置情報及び行動情報を送信する送信レートよりも高くなるように決定する
ことを特徴とする請求項１に記載のサーバ。
【請求項３】
前記決定部は、前記仮想現実空間を所定の領域で区切った場合の、前記一のアバターの位置情報が属する所定の領域を特定し、前記所定の領域及び前記所定の領域に隣接する隣接領域に含まれる他のアバターの位置情報及び行動情報を送信する送信レートを所定の第１送信レートに決定し、前記所定の領域及び前記隣接領域に含まれない他のアバターの位置情報及び行動情報を送信する送信レートを前記第１送信レートよりも低い第２送信レートに決定する
ことを特徴とする請求項２に記載のサーバ。
【請求項４】
前記サーバは、前記複数のアバターのうち、特定のアバターの指定を受け付ける受付部を備え、
前記決定部は、前記特定のアバターについての位置情報及び行動情報を送信する送信レートを、前記端末装置に対応するアバターの位置に関わらず、前記第１送信レート以上の送信レートに決定することを特徴とする請求項３に記載のサーバ。
【請求項５】
前記仮想現実空間は、前記特定のアバターを操作するユーザにより制御可能な表示領域を有し、
前記サーバは、前記特定のアバターに対応する端末装置から、前記表示領域に対して表示する映像の指定を受け付ける指定受付部と、
前記指定受付部が受け付けた映像に関する情報を、前記端末装置各々に配信する配信部とを備えることを特徴とする請求項４に記載のサーバ。
【請求項６】
前記指定受付部は、前記特定のアバターが前記仮想現実空間中の特定の領域に位置する場合にのみ、前記指定を受け付ける
ことを特徴とする請求項５に記載のサーバ。
【請求項７】
前記表示領域は、前記仮想現実空間の全天球画像を表示する表示領域であり、
前記配信部は、前記指定受付部が全天球画像の表示の指定を受け付けた場合に、前記全天球画像に関する情報を前記端末装置各々に配信するとともに、前記アバターが移動する移動領域の透過指示を配信する
ことを特徴とする請求項５又は６に記載のサーバ。
【請求項８】
前記サーバは、前記仮想現実空間において、前記各ユーザのアバターの初期位置を予め設定する設定部を備える
ことを特徴とする請求項１から７のいずれか１項に記載のサーバ。
【請求項９】
前記複数のアバター各々の態様は、予め定められた形状のキャラクターの顔に、各ユーザの端末装置から送信された画像を張り付けた態様をしている
ことを特徴とする請求項１から８のいずれか１項に記載のサーバ。
【請求項１０】
前記受信部は、さらに、前記端末装置から、特定のアクションを行ったことを示すアクション情報を受信し、
前記送信部は、前記端末装置各々の表示画面に前記特定のアクションに応じたエフェクトを表示させるための信号を、前記端末装置に送信する
ことを特徴とする請求項１から９のいずれか１項に記載のサーバ。
【請求項１１】
複数のアバターが行動する仮想現実空間を提供するサーバによる情報の送信方法であって、
各ユーザに対応するアバターの前記仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信ステップと、
前記複数のアバターの内の一のアバターに対応する端末装置に対して、他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定ステップと、
前記一のアバターに対応する端末装置に対して、前記決定ステップにおいて決定した送信レートで、前記他のアバターの位置情報及び行動情報を送信する送信ステップとを含む送信方法。
【請求項１２】
複数のアバターが行動する仮想現実空間を提供するサーバのコンピュータに、
各ユーザに対応するアバターの前記仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信機能と、
前記複数のアバターの内の一のアバターに対応する端末装置に対して、他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定機能と、
前記一のアバターに対応する端末装置に対して、前記決定機能が決定した送信レートで、前記他のアバターの位置情報及び行動情報を送信する送信機能とを実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＶＲに係る情報を送信するサーバ及びその送信方法、プログラムに関するものである。
【背景技術】
【０００２】
近年、多数のユーザ同士での交流が可能なシステムに係る技術の発展はめざましく、様々な技術が開発されている。そのようなシステムの一例として、参加者の間で情報を共有することができるシステムも開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−３５６０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上述のような多数のユーザが集結するシステムにおいては、サーバと端末の間あるいは、端末と端末の間において多数の情報の送受信が発生する。多数の情報の送受信が発生するということは、その処理も多数発生することになり、処理遅延につながる可能性があるという問題があった。
【０００５】
そこで、本発明は上記問題に鑑みて成されたものであり、仮想現実空間を提供する際の端末装置との間の情報の送受信量を軽減することができるサーバ、情報の送信方法、及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の一態様に係るサーバは、複数のアバターが行動する仮想現実空間を提供するサーバであって、各ユーザに対応するアバターの仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信部と、複数のアバターの内の一のアバターに対応する端末装置に対して他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定部と、一のアバターに対応する端末装置に対して、決定部が決定した送信レートで、他のアバターの位置情報及び行動情報を送信する送信部とを備える。
【０００７】
上記課題を解決するために、本発明の一態様に係る情報の送信方法は、複数のアバターが行動する仮想現実空間を提供するサーバによる情報の送信方法であって、各ユーザに対応するアバターの仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信ステップと、複数のアバターの内の一のアバターに対応する端末装置に対して、他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定ステップと、一のアバターに対応する端末装置に対して、決定ステップにおいて決定した送信レートで、他のアバターの位置情報及び行動情報を送信する送信ステップとを含む。
【０００８】
上記課題を解決するために、本発明の一態様に係るプログラムは、複数のアバターが行動する仮想現実空間を提供するサーバのコンピュータに、各ユーザに対応するアバターの仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信機能と、複数のアバターの内の一のアバターに対応する端末装置に対して、他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定機能と、一のアバターに対応する端末装置に対して、決定機能が決定した送信レートで、他のアバターの位置情報及び行動情報を送信する送信機能とを実現させる。
【０００９】
上記サーバにおいて、決定部は、一のアバターに近い所定の条件を満たす他のアバターの位置情報及び行動情報を送信する送信レートを、一のアバターから遠い所定の条件を満たす他のアバターの位置情報及び行動情報を送信する送信レートよりも高くなるように決定することとしてもよい。
【００１０】
上記サーバにおいて、決定部は、仮想現実空間を所定の領域で区切った場合の、一のアバターの位置情報が属する所定の領域を特定し、所定の領域及び所定の領域に隣接する隣接領域に含まれる他のアバターの位置情報及び行動情報を送信する送信レートを所定の第１送信レートに決定し、所定の領域及び隣接領域に含まれない他のアバターの位置情報及び行動情報を送信する送信レートを第１送信レートよりも低い第２送信レートに決定することとしてもよい。
【００１１】
上記サーバにおいて、サーバは、複数のアバターのうち、特定のアバターの指定を受け付ける受付部を備え、決定部は、特定のアバターについての位置情報及び行動情報を送信する送信レートを、端末装置に対応するアバターの位置に関わらず、第１送信レート以上の送信レートに決定することとしてもよい。
【００１２】
上記サーバにおいて、仮想現実空間は、特定のアバターを操作するユーザにより制御可能な表示領域を有し、サーバは、特定のアバターに対応する端末装置から、表示領域に対して表示する映像の指定を受け付ける指定受付部と、指定受付部が受け付けた映像に関する情報を、端末装置各々に配信する配信部とを備えることとしてもよい。
【００１３】
上記サーバにおいて、指定受付部は、特定のアバターが仮想現実空間中の特定の領域に位置する場合にのみ、指定を受け付けることとしてもよい。
【００１４】
上記サーバにおいて、表示領域は、仮想現実空間の全天球画像を表示する表示領域であり、配信部は、指定受付部が全天球画像の表示の指定を受け付けた場合に、全天球画像に関する情報を端末装置各々に配信するとともに、アバターが移動する移動領域の透過指示を配信することとしてもよい。
【００１５】
上記サーバにおいて、サーバは、仮想現実空間において、各ユーザのアバターの初期位置を予め設定する設定部を備えることとしてもよい。
【００１６】
上記サーバにおいて、複数のアバター各々の態様は、予め定められた形状のキャラクターの顔に、各ユーザの端末装置から送信された画像を張り付けた態様をしていることとしてもよい。
【００１７】
上記サーバにおいて、受信部は、さらに、端末装置から、特定のアクションを行ったことを示すアクション情報を受信し、送信部は、端末装置各々の表示画面に特定のアクションに応じたエフェクトを表示させるための信号を、端末装置に送信することとしてもよい。
【発明の効果】
【００１８】
本発明の一態様に係るサーバは、あるアバターを操作する端末装置に対して、他のアバターに関する情報を送信する送信レートを、あるアバターの近くにいる他のアバターと、あるアバターの遠くにいる他のアバターとで変更する。したがって、あるアバターに対して、他のアバターに関する情報を全て均一の送信レートで送信する場合に比して、情報の送受信量を軽減することができる。
【図面の簡単な説明】
【００１９】
【図１】サーバの機能構成例を示すブロック図である。
【図２】サーバ及び端末装置の機能構成の詳細を示すブロック図である。
【図３】仮想現実空間における会議場の平面図である。
【図４】仮想現実空間における会議場の斜視図である。
【図５】端末装置における表示画面例である。
【図６】仮想現実空間を所定の領域に区切った場合におけるユーザの位置と、送信レートとの関係を説明するための図である。
【図７】ユーザ情報のデータ構成例を示すデータ概念図である。
【図８】サーバの情報を送信する送信レートの決定に係る動作を示すフローチャートである
【図９】サーバの情報を送信する動作を示すフローチャートである。
【図１０】端末装置の動作を示すフローチャートである。
【図１１】端末装置における表示画面例である。
【図１２】端末装置における表示画面例である。
【図１３】サーバの機能構成例を示すブロック図である。
【発明を実施するための形態】
【００２０】
以下、本発明の一実施態様に係るサーバについて、図面を参照しながら詳細に説明する。
【００２１】
＜実施の形態＞
＜構成＞
本発明に係るサーバ１００は、複数のアバターが行動する仮想現実空間を提供するサーバであって、図１に示すように、受信部１１１と、決定部１４１と、送信部１１２とを備える。仮想現実空間とは、コンピュータ上に構築された現実を模した世界あるいは作成された世界のことである。また、アバターとは、仮想現実空間上におけるユーザの分身となるキャラクターのことであり、ユーザキャラクターと呼称されることもある。
【００２２】
受信部１１１は、各ユーザに対応するアバターの前記仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する機能を有する。受信部１１１は、例えば、通信インターフェースにより実現される。
【００２３】
決定部１４１は、複数のアバターの内の一のアバターに対応する端末装置に対して、他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する機能を有する。決定部１４１は、例えば、コンピュータプロセッサが制御プログラムを実行することにより実現されたり、専用回路により実現されたりする。ここでの位置情報は、仮想現実空間に対して設定されている座標系におけるアバターの位置を示す座標情報のことである。また、行動情報とは、ユーザの操作により実行されるアバターの行動の内容を示す情報のことであり、例えば、アバターが歩いたり、拍手をしたり、などの行動を示す情報のことであるが、これらの具体例に限定されるものではない。
【００２４】
送信部１１２は、前記一のアバターに対応する端末装置に対して、前記決定部が決定した送信レートで、前記他のアバターの位置情報及び行動情報を送信する機能を有する。送信部１１２は、例えば、通信インターフェースにより実現される。
【００２５】
以下、サーバ１００について、更に、詳細に説明する。本実施の形態に係るサーバ１００は、複数のアバターが行動する仮想現実空間を提供する機能を有するサーバ装置であり、ネットワーク３００を介して、多数のユーザの端末装置２００と接続している。なお、図２では、端末装置２００は、１つのみを示しているが、これは、図面を見やすくするためであり、実際には複数の端末装置２００がネットワーク３００に接続されている。サーバ１００は、ここでは、１台のサーバ装置として実現する例を示すが、これは、複数台のコンピュータによる並列システムにより実現されることとしてもよい。ネットワーク３００は、有線、無線を問わず接続されているネットワーク通信網である。
【００２６】
図２に示すようにサーバ１００は、通信部１１０と、記憶部１２０と、入力部１３０と、制御部１４０と、出力部１５０とを備える。
【００２７】
通信部１１０は、ネットワーク３００を介して、多数のユーザの端末装置２００と通信を実行する機能を有する通信インターフェースである。通信部１１０は、ユーザの端末装置２００と通信を実行できるのであれば、無線、有線を問うものではない。また、通信に使用する通信プロトコルも、通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。なお、本実施の形態では、特に、各ユーザのアバターに関する情報の送受信においては、ＩｏＴ（Internet of Things）向けに開発された通信プロトコルであるＭＱＴＴ（MQ Telemetry Transport）を用いる。
【００２８】
通信部１１０は、受信部１１１と送信部１１２とを含む。受信部１１１は、ネットワーク３００を介して、端末装置２００から受信した情報を、制御部１４０に伝達する。受信部１１１は、各ユーザの端末装置２００から、ネット会議アプリの起動、アクセス情報、ネット会議中における各アバターの仮想現実空間における位置情報及び行動情報を受信し、制御部１４０に伝達する。また、送信部１１２は、制御部１４０から伝達された情報を指定されている端末装置２００に対して、送信する。送信部１１２は、各ユーザの端末装置２００に、他のユーザの端末装置に対応するアバターの情報（位置情報、行動情報）を送信する。
【００２９】
記憶部１２０は、サーバ１００が動作する上で必要とする各種プログラム及びデータを記憶する機能を有する記憶媒体である。記憶部１２０は、例えば、ＨＤＤ（Hard Disc Drive）、ＳＳＤ（Solid State Drive）、フラッシュメモリなどにより実現することができるが、これに限られるものではない。記憶部１２０は、ＶＲ空間でネット会議を実行するためのネット会議プログラムや、そのネット会議に参加する各ユーザに関するユーザ情報を記憶している。
【００３０】
入力部１３０は、サーバ１００のオペレータからの入力を受け付ける機能を有する入力インターフェースである。入力部１３０は、例えば、サーバ１００に備えられたハードキーや、サーバ１００に接続されたキーボードやマウス等の入力機器により実現することができるが、これに限られるものではない。入力部１３０は、受け付けた入力内容を制御部１４０に伝達する。
【００３１】
制御部１４０は、サーバ１００の各部を制御する機能を有するプロセッサである。制御部１４０は、記憶部１２０に記憶されている各種プログラムを実行することにより、ＶＲ空間を介したネット会議システムを各端末装置２００に提供する。制御部１４０は、ネット会議を実現するための各種の情報処理を実行する。
【００３２】
制御部１４０は、決定部１４１を含む。決定部１４１は、各ユーザ端末に対して、他のユーザ端末に対応する各アバターに関する情報を送信する頻度を示す送信レートを決定する機能を有する。
【００３３】
具体的には、決定部１４１は、以下のようにして、各端末装置２００に対する他のアバターについての情報を送信する送信レートを決定する。まず、決定部１４１は、仮想現実空間を所定の領域に区切る。区切られた各所定の領域は、それぞれの仮想現実空間上の座標範囲を示す範囲情報により一意に定めることができる。そして、決定部１４１は、複数のユーザのアバターのうち、一つのアバターを選定する。当該選定は、ランダムであってもよいし、ユーザＩＤの順番に従ってもよい。決定部１４１は、選定したアバターについて、ユーザ情報７００から、仮想現実空間における位置情報を取得する。決定部１４１は、取得した位置情報が、区切った所定の領域のうち、いずれに属しているかを特定する。決定部１４１は、特定した所定の領域に隣接する領域を特定する。そして、選定したアバターが属する領域と、その隣接する領域に属するアバターをユーザ情報７００を用いて特定する。そして選定したアバターが対応する端末装置に対して、特定したアバターに対応する位置情報及び行動情報を第１送信レートで送信し、特定しなかったアバターに対応する位置情報及び行動情報を第２送信レートで送信することを決定する。第１送信レートは、第２送信レートよりも送信頻度が高いものとする。即ち、選定したアバターに近いアバターの情報ほど、選定したアバターから遠いアバターの情報よりも、多く選定したアバターに対応する端末装置に送信することになる。決定部１４１は、このようにして、各アバターについて、他のアバターの情報の送信レートを決定する。
【００３４】
図６を用いてより具体的に説明する。図６は、仮想現実空間の一部であって、平面のイメージ図である。図６に示すように、仮に、仮想現実空間を平面的に見て、５×５の所定の領域（メッシュ）に分割したとする。このとき、各所定の領域、行方向に上からＡ〜Ｅの記号を割り振り、列方向に左から１〜５の番号を割り振って区別したとする。図６において示す丸は、各ユーザのアバターの位置を示している。図６によれば、アバター６００は、領域３Ｃに存在しており、アバター６２０は、領域４Ｅと領域５Ｅの境界上に位置していることが理解できる。このアバター６００に対応する端末装置２００に他のアバターの情報を送信する際の送信レートを決定する場合を考える。なお、所定の領域の数や区切り方は任意である。
【００３５】
決定部１４１は、まず、アバター６００の位置情報から、領域３Ｃに属していることを特定する。領域３Ｃには、他のアバターは属していない。決定部１４１は、領域３Ｃに隣接する領域を特定する。この場合、一点鎖線６１０で囲われている領域に含まれる領域が該当する。即ち、領域３Ｃの上下左右及び斜め方向で隣接する領域を隣接する領域として特定する。したがって、この場合に特定する所定の領域は、２Ｂ、３Ｂ、４Ｂ、２Ｃ、４Ｃ、２Ｄ、３Ｄ、４Ｄとなる。そして、それらの領域に含まれるアバターに関する情報を送信する送信レートを第１送信レートに決定する。そして、一点鎖線６１０で囲われていない領域に属するアバターに関する情報を送信する送信レートを第２送信レートに決定する。したがって、図６において、アバター６００に対応する端末装置２００に他のアバターに関する情報を第１送信レートで送信するアバター数は、９であり、第２送信レートで送信するアバター数は、１３である。
【００３６】
なお、アバター６２０の場合、属している領域を領域５Ｄと５Ｅとし、隣接する領域は、その２つの領域の周囲の領域３Ｄ、４Ｄ、５Ｄ、３Ｅとすればよい。
【００３７】
制御部１４０は、各ユーザの端末装置２００に、他のアバターに関する情報を、決定部１４１が決定した送信レートで、適宜、送信部１１２に送信させる。
【００３８】
出力部１５０は、制御部１４０から伝達された情報を外部に出力する機能を有する。出力部１５０は、例えば、サーバ１００に接続されたモニタに、制御部１４０から伝達された情報を表示する。
【００３９】
一方、ネット会議に参加する各ユーザの端末装置２００は、図２に示すように、通信部２１０と、記憶部２２０と、入力部２３０と、制御部２４０と、出力部２５０とを備える。端末装置２００は、いわゆるコンピュータマシンであり、一般的に知られるＰＣやタブレット端末などであり、通信機能と、メモリ、プロセッサを有するものであれば、どのような装置であってもよい。
【００４０】
通信部２１０は、ネットワーク３００を介して、多数のユーザのサーバ１００と通信を実行する機能を有する通信インターフェースである。通信部２１０は、サーバ１００と通信を実行できるのであれば、無線、有線を問うものではない。また、通信に使用する通信プロトコルも、通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。なお、本実施の形態では、特に、各ユーザのアバターに関する情報の送受信においては、ＩｏＴ向けに開発された通信プロトコルであるＭＱＴＴを用いる。
【００４１】
通信部２１０は、受信部２１１と送信部２１２とを含む。受信部２１１は、ネットワーク３００を介して、サーバ１００から受信した情報を、制御部２４０に伝達する。受信部２１１は、ネット会議アプリの実行中に、サーバ１００から、ネット会議に参加している他のアバター各々の仮想現実空間における位置情報及び行動情報を受信し、制御部２４０に伝達する。また、送信部２１２は、制御部２４０から伝達された位置情報及び行動情報をサーバ１００に送信する。
【００４２】
記憶部２２０は、端末装置２００が動作する上で必要とする各種プログラム及びデータを記憶する機能を有する記憶媒体である。記憶部２２０は、例えば、ＨＤＤ（Hard Disc Drive）、ＳＳＤ（Solid State Drive）、フラッシュメモリなどにより実現することができるが、これに限られるものではない。記憶部２２０は、ＶＲ空間でネット会議を実行するためのネット会議アプリや、そのネット会議に参加する各ユーザに関するユーザ情報を記憶している。
【００４３】
入力部２３０は、端末装置２００のユーザからの入力を受け付ける機能を有する入力インターフェースである。入力部２３０は、例えば、サーバ１００に備えられたハードキーや、サーバ１００に接続されたキーボードやマウス等の入力機器により実現することができるが、これに限られるものではない。入力部２３０は、受け付けた入力内容を制御部２４０に伝達する。
【００４４】
制御部２４０は、端末装置２００の各部を制御するプロセッサである。制御部２４０は、記憶部２２０に記憶されているネット会議アプリを実行して、伝達された情報に基づいて、ネット会議に係る処理を実行する。制御部２４０は、受信部２１１から伝達された他のアバターの位置情報と行動情報を反映した映像を生成して、出力部２５０に出力させる。また、制御部２４０は、入力部２３０から受け付けた入力内容にしたがった自身のアバターの行動を反映した映像を生成して、出力部２５０に出力させるとともに、送信部２１２に、自身のアバターの位置情報及び行動情報をサーバ１００に送信させる。
【００４５】
出力部２５０は、制御部２４０から伝達された情報を外部に出力する機能を有する。出力部２５０は、例えば、端末装置２００に接続されたモニタやＶＲ機器（例えば、ヘッドマウントディスプレイ）に、制御部２４０から伝達された情報を表示する。
【００４６】
＜サーバ１００が提供する仮想現実空間について＞
サーバ１００が提供する仮想現実空間は、一例として、会議場の様相を成す。即ち、図３、図４、図５に示すように、発表者が位置するステージ３３０と、その発表を観覧する観覧席３４０とから成る会議場が、中空に浮いたように配置される。図３は、仮想現実空間に形成される会議場の平面図であり、図４は、その斜視図である。また、図５は、この仮想現実空間を一ユーザのアバターの視点で見た画像、即ち、当該一ユーザの端末装置２００に接続されたモニタあるいはＶＲ機器に表示される画像例である。
【００４７】
各ユーザは、自身のアバターを操作してこの会議場を自由に動き回り、各種のアクションを起こしたり、コメントを投降したりすることができる。会議場のステージ３３０上には、表示領域３１０と、コメント表示領域３２０とが配される。表示領域３１０には、会議に用いるための各種の動画やスライドなどを表示することができる。また、コメント表示領域３２０には、各ユーザが端末装置２００を用いて投降したコメントが表示される。そして、会議場の周囲には、全天球画像が背景画像として表示される。
【００４８】
なお、これは、仮想現実空間の一例であり、その他の態様を成していても良いことは言うまでもない。例えば、会議場の代わりに、データ上の街を作成して、表示し、各ユーザは、アバターを用いて、その街の中を往行することとしてもよい。
【００４９】
＜データ＞
ここで、サーバ１００が記憶しているユーザ情報７００について説明する。図７は、ユーザ情報７００のデータ構成例を示すデータ概念図である。図７に示すように、ユーザ情報７００は、ユーザＩＤ７０１と、位置情報７０２と、行動情報７０３と、受信日時７０４とが対応付けられた情報である。
【００５０】
ユーザＩＤ７０１は、ネット会議に参加する各ユーザを一意に識別するための識別情報であり、数字、各種文字、記号などにより表現される。ユーザＩＤは、各ユーザに固有の情報であり、例えば、サーバ１００がユーザの端末装置２００に対して付与する。
【００５１】
位置情報７０２は、対応するユーザＩＤ７０１で示されるユーザのアバターのＶＲ空間上の位置座標を示す情報である。当該座標は、２次元に落とした座標であってもよいし、３次元の座標であってもよい。
【００５２】
行動情報７０３は、対応するユーザＩＤ７０１で示されるユーザのアバターのＶＲ空間上における行動内容を示す情報を特定可能な情報である。ＶＲ空間における各アバターがとることが可能な行動は予め規定されており、ここでは、その行動内容に対応する識別情報を対応付けている例を示すが、行動情報７０３の態様はこれに限られない。鼓動の内容そのものを示す情報であってもよいし、あるいは、その行動を実行するためのコードであってもよい。
【００５３】
受信日時７０４は、端末装置２００からユーザ情報を受信した受信日時を示す情報である。
【００５４】
例えば、図７に示すユーザ情報によれば、ユーザＩＤ７０１が、「ＵＩＤ００１２」、のユーザは、仮想現実空間の「（Ｘ２、Ｙ２）」という位置において、「行動Ｅ２９９」で示される行動をしていることが認識できる。また、その位置情報や行動情報を受信したのが、「２０１６年８月８日１４時３分３１秒」であることが理解できる。
【００５５】
＜動作＞
ここから、本実施の形態に係るサーバ１００並びに端末装置２００の動作を説明する。
【００５６】
まず、図８を用いて、決定部１４１による各アバターに関する情報を送信する送信レートを決定する際の動作を説明する。当該動作は、逐次（例えば、３秒毎。なお、この秒数は一例である）、実行される。
【００５７】
（ステップＳ８０１）
ステップＳ８０１において、決定部１４１は、仮想現実空間に参加しているユーザの中から、一のユーザを選択する。当該選択の後に、ステップＳ８０２に移行する。
【００５８】
（ステップＳ８０２）
ステップＳ８０２において、決定部１４１は、ステップＳ８０１において選択したユーザの位置情報が属する所定の領域（メッシュ）を特定する。具体的には、決定部１４１は、ステップＳ８０１において選択したユーザのアバターの仮想現実空間上の位置座標をユーザ情報７００を参照して特定する。即ち、選択したユーザのユーザＩＤを、ユーザＩＤ７０１から検索し、対応する位置情報７０２を特定する。ユーザのアバターの仮想現実空間上の位置情報を特定する。そして、特定した位置情報が、どの所定の領域（メッシュ）に属するのかを特定する。その後にステップＳ８０３に移行する。
【００５９】
（ステップＳ８０３）
ステップＳ８０３において、決定部１４１は、特定した所定の領域（メッシュ）及びその特定した所定の領域（メッシュ）に隣接する所定の領域（メッシュ）に属するユーザを特定する。決定部１４１は、特定した所定の領域と、そこに隣接する所定の領域の座標範囲を特定し、ユーザ情報７００の位置情報７０２の中から、その座標範囲内に含まれるステップＳ８０１において選択したユーザとは異なる他のユーザを特定する。即ち、ステップＳ８０１において選択したユーザのアバターの近くに存在するアバターを特定する。その後に、ステップＳ８０４に移行する。
【００６０】
（ステップＳ８０４）
ステップＳ８０４において、決定部１４１は、ステップＳ８０３において特定したユーザに対応するアバターの情報（位置情報及び行動情報）を送信する送信レートを第１送信レートに決定する。アバターの情報の送信先は、ステップＳ８０１において、選択したユーザの端末装置２００である。即ち、ステップＳ８０１において選択したユーザの端末装置２００に対して、当該ユーザの近くに存在するアバターの情報を送信する頻度である送信レートを第１送信レートに設定する。決定部１４１は、ステップＳ８０１において選択したユーザのユーザＩＤに対応付けて、第１送信レートで情報を送信すると決定した情報に関する他のアバターに対応するユーザのユーザＩＤを、第１送信レートで送信することを示す情報とともに記憶部１２０に記憶する。その後に、ステップＳ８０５に移行する。
【００６１】
（ステップＳ８０５）
ステップＳ８０５において、決定部１４１は、ステップ８０３において特定しなかった他のユーザに対応するアバターの情報を送信する送信レートを、第１送信レートよりも低い第２送信レートに決定する。即ち、第１送信レートの方が、第２送信レートよりも、情報の送信頻度が高い。即ち、ユーザのアバターの遠くのアバターに関する情報は、遅く送信される。決定部１４１は、ステップＳ８０１において選択したユーザのユーザＩＤに対応付けて、第２送信レートで情報を送信すると決定した情報に関する他のアバターに対応するユーザのユーザＩＤを、第２送信レートで送信することを示す情報とともに記憶部１２０に記憶する。その後に、ステップＳ８０６に移行する。
【００６２】
（ステップＳ８０６）
ステップＳ８０６において、決定部１４１は、全ユーザについて、他のアバターに関する情報を送信する送信レートを決定したか否かを判定する。決定部１４１が全ユーザについての他のアバターに関する情報を送信する送信レートを決定していた場合には（ＹＥＳ）、ステップＳ８０７に移行し、決定していない場合には（ＮＯ）、ステップＳ８０１に戻る。
【００６３】
（ステップＳ８０７）
ステップＳ８０７において、決定部１４１は、ネット会議プログラムが終了したか否かを判定する。当該判定は、例えば、ネット会議の終了予定時刻を過ぎたか否かや、サーバ１００のオペレータからのプログラムの終了入力を受け付けたか否かなどに応じて行う。ネット会議プログラムを終了すると判定した場合に（ＹＥＳ）、本処理を終了し、終了しないと判定した場合に（ＮＯ）、ステップＳ８０８に移行する。
【００６４】
（ステップＳ８０８）
ステップＳ８０８において、決定部１４１は、サーバ１００に備えられている計時機能（図示せず）によって、所定時間が経過したか否かを判定する。所定時間が経過したと判定した場合に（ＹＥＳ）、ステップＳ８０１に戻って、各ユーザについて、他のアバターの情報を送信する送信レートを再決定する処理を行う。所定時間が経過するまでは（ＮＯ）、待機する。
【００６５】
以上の図８に示す処理を決定部１４１が実行することにより、サーバ１００は、各ユーザについて、他のユーザのアバターに関する情報を送信するための送信レートを決定することができる。このとき、各ユーザのアバターから遠い位置に存在する他のアバターに関する情報を送信する送信レート、近い位置に存在する他のアバターに関する情報を送信する送信レートよりも低く設定することで、通信に係る情報の総合的な転送量を抑制することができるので、通信遅延に基づく処理遅延が発生する可能性を抑制することができる。なお、この情報の転送量に違いにより、ユーザ側では、自身から見て、遠くの位置に存在するアバターよりも、近い位置に存在するアバターの方がより高精細に動く様を視認することができる。
【００６６】
次に、図９を用いて、制御部１４０が、各端末装置２００に他の端末装置に対応するアバターの情報を送信する際の動作を説明する。
【００６７】
（ステップＳ９０１）
ステップＳ９０１において、サーバ１００の受信部１１１は、ユーザの各端末装置２００から、それぞれの端末装置２００で操作しているアバターの、仮想現実空間上での位置情報と、当該アバターの行動内容を示す行動情報とを受信する。受信部１１１は、受信した位置情報と行動情報とを、対応するアバターを保持するユーザのユーザＩＤに対応付けて、制御部１４０に伝達する。制御部１４０は、伝達された情報を、ユーザ情報７００に登録して、ステップＳ９０２の処理に移行する。
【００６８】
（ステップＳ９０２）
ステップＳ９０２において、制御部１４０は、仮想現実空間に参加している複数のユーザの中から一人のユーザを選択する。その後に、ステップＳ９０３に移行する。
【００６９】
（ステップＳ９０３）
ステップＳ９０３において、制御部１４０は、ステップＳ９０２において選択したユーザに対して対応付けられている他のアバターに関する情報を送信する送信レートを、ステップＳ８０４、Ｓ８０５において記憶部１２０に記憶した情報に基づいて特定する。その後に、ステップＳ９０４に移行する。
【００７０】
（ステップＳ９０４）
ステップＳ９０４において、制御部１４０は、ステップＳ９０２において選択したユーザの端末装置２００に、送信部１１２を介して、他のアバターに関する情報（アバターの仮想現実空間上での位置情報及びその行動を示す行動情報）を、ステップＳ８０４、Ｓ８０５において、決定した送信レートで送信する。
【００７１】
（ステップＳ９０５）
ステップＳ９０５において、制御部１４０は、仮想現実空間に参加している全てのユーザについて、他のアバターに関する情報を送信したか否かを判定する。全てのユーザに他のアバターに関する情報を送信している場合には（ＹＥＳ）、ステップＳ９０６に移行し、全てのユーザに他のアバターに関する情報を送信していない場合には（ＮＯ）、ステップＳ９０２に戻って、次のユーザの選択を行う。
【００７２】
（ステップＳ９０６）
ステップＳ９０６において、制御部１４０は、ネット会議プログラムが終了したか否かを判定する。終了している場合には（ＹＥＳ）、本処理を終了し、終了していない場合には（ＮＯ）、ステップＳ９０１に戻る。
【００７３】
図９に示す処理を制御部１４０が実行することにより、各端末装置２００において、他のアバターが動作する様子を表示することができる。
【００７４】
最後に、図１０を用いて、端末装置２００の動作を説明する。当該動作は、端末装置２００が、ネットアプリを実行しているときの動作である。
【００７５】
（ステップＳ１００１）
ステップＳ１００１において、端末装置２００の受信部２１１は、サーバ１００から、他のアバターに関する位置情報と行動情報とを受信する。受信部２１１は、受信した位置情報と行動情報とを、アバターの情報に対応付けて、制御部２４０に伝達する。その後に、ステップＳ１００２に移行する。
【００７６】
（ステップＳ１００２）
ステップＳ１００２において、制御部２４０は、受信した位置情報と行動情報と対応付けられているアバターの情報に基づいて、表示部に表示している仮想現実空間に各アバター及びその行動を表示する。その後に、ステップＳ１００３に移行する。
【００７７】
（ステップＳ１００３）
ステップＳ１００３において、制御部２４０は、入力部２３０を介して、ユーザからの入力を受け付けているか否かを判定する。入力を受け付けている場合に（ＹＥＳ）、ステップＳ１００４に移行し、入力を受け付けていない場合に（ＮＯ）、ステップＳ１００５に移行する。
【００７８】
（ステップＳ１００４）
ステップＳ１００４において、制御部２４０は、受け付けた入力内容に基づいて行動をアバターに実行させるとともに、その行動内容を、アバターの仮想現実空間上での位置情報とともに、送信部２１２を介して、サーバ１００に送信する。その後に、ステップＳ１００５に移行する。
【００７９】
（ステップＳ１００５）
ステップＳ１００５において、制御部２４０は、プログラムが終了したか否かを判定する。当該判定は、例えば、サーバ１００からネット会議の終了を示す終了情報を受信したか否かや、端末装置２００のユーザから入力部２３０を介して、ネット会議アプリの終了入力を受け付けたか否かなどにより判定することができる。プログラムが終了したと判定した場合には（ＹＥＳ）、本処理を終了し、終了していないと判定した場合には（ＮＯ）、ステップＳ１００１に戻る。
【００８０】
図１０に示す処理を実行することにより、各端末装置２００は、仮想現実空間を表示することができ、その中で、他のアバターを適切に表示することができるとともに、自端末に対応するアバターの情報をサーバ１００に送信して、他の端末装置２００に反映させることができる。したがって、端末装置２００のユーザは、多数の他のユーザが参加可能な仮想現実空間を享受することができるので、自身の居所にいながら、遠く離れた場所にいる他のユーザとの交流を図ることができる。
【００８１】
＜その他のシステム＞
ここで、本実施の形態に係るネット会議のシステムの運用態様について簡単に説明する。サーバ１００は、ネットワーク上に、ネット会議アプリを公開している。
【００８２】
ユーザは、自身の端末装置２００を用いて、サーバ１００が公開しているウェブサイトにアクセスして、ネット会議アプリをダウンロードする。
【００８３】
ユーザは、端末装置２００においてダウンロードしたネット会議アプリを実行する。
【００８４】
ユーザは、ネット会議アプリを介してユーザ登録をしておき、登録したユーザＩＤと、サーバ１００から通知されるパスワードを入力して、ネット会議に参加する。このアカウントは、他のシステムで利用されるアカウント（例えば、twitter（登録商標）やfacebook（登録商標）等）を流用できるようにシステムを構築してもよい。また、アカウントを登録する際に、自身に関する画像情報をアップロードしておく。当該画像は、アバターの顔画像として利用される。ここで、本システムにおけるアバターは、図５などに示すように、人型のロボットに各ユーザがそれぞれの端末装置２００を用いてアップロードした画像がテクスチャとして張り付けられた態様をしているが、これはその限りではない。各ユーザオリジナルの形状をしていてもよい。しかしながら、本システムのように、アバターの胴体部分を固定のものとし、その顔画像のみをユーザ毎に区別する態様にすれば、アバターに関するデータ（画像）のやり取りを極力少なくすることができる。
【００８５】
端末装置２００は、ネット会議アプリを実行することで、ネット会議の仮想現実空間を、端末装置２００に接続したモニタやＶＲ装置（例えば、ヘッドマウントディスプレイ）に表示する。各ユーザは、端末装置２００を用いて、会議の内容についてコメントを入力したり、アバターを操作して、図１２に示すような拍手をさせたりなどの行動をしたりして、仮想現実空間上の会議に参加することができる。これらのエフェクトは、拍手に限るものではなく、疑問に思った場合のクエスチョンマークや、驚いた場合のエクスクラメーションマーク、「いいね！」など様々な表示ができてよい。あるいは、アバターにサイリウムを持たせて、手をふらせてもよい。
【００８６】
このような、システムにおいて、ネット会議を一つのイベントとしてとらえた場合に、イベントに参加するアバターを、イベントの開催者、イベントのゲスト、イベントを観覧する一般ユーザなどに分類することができる。このような場合において、システム上で、これらを区別できるように識別子を割り振って区別し、表示領域３１０を操作できる権限（表示領域３１０に対してスライドや動画を表示する権限）を、イベントの開催者、イベントのゲストの識別子を割り当てられているアバターに限定するように構成してもよい。
【００８７】
さらには、表示領域３１０を操作する上で、仮想現実空間上の特定の領域に位置する場合にのみ（例えば、ステージ３３０上にアバターが位置する場合にのみ）、表示領域３１０を操作できることとしてもよい。このとき、表示領域３１０を操作可能な権限を有するユーザの端末装置２００に接続されたモニタあるいはＶＲ機器には、図１１に示すような操作画面を表示することとしてもよい。モニタがタッチパネル式のモニタであれば、操作画面中のスライド選択メニュー１１０１の中から表示領域３１０に表示するスライドや動画を選択すると、その操作信号がサーバ１００に送信され、サーバ１００から各端末装置２００にそのスライドや動画の情報が配信され、各端末装置２００のモニタに反映されることとなる。また、操作領域１１００を操作することで表示領域３１０に表示されているオブジェクトの操作を行うこともできる。一例として、スライドをめくって、次のページを表示したり、表示されているスライドに対して、マーキングを行ったりすることもできる。また、コメント表示領域３２０に対応するコメント表示領域１１０２においてもコメントに対して何らかのマーキングを行ったり、あるいは、不要なコメントを削除したり、特定のコメントを強調したりなどの操作を行うことができる。
【００８８】
また、操作者が操作可能な表示領域は、表示領域３１０に限らず、背景画像である全天球画像を操作（表示する画像を指定）できるように構成してもよい。即ち、操作者が全天球画像の操作を選択した場合に、表示する全天球画像の情報が、サーバ１００にアップロードされ、サーバ１００から各端末装置２００に送信される。このときに、観客席やステージ等の各アバターが移動可能移動領域のオブジェクトを透過して、表示された全天球画像を見やすくするように構成してもよい。このような構成により、例えば、全天球のプラネタリムを体験したりすることもできる。
【００８９】
なお、ステージ３３０上に、複数の表示領域３１０を操作する権限者がいた場合には、最後に入力された操作を実行するようにしてもよいし、権限を有するものの間に優先度情報を付与しておいて、その優先度に従って表示領域３１０における表示を実行することとしてもよい。これらの表示領域３１０に表示するオブジェクトは、予めイベントの開催者からアップロードされたものであってもよいし、あるいは、ネット会議のスポンサーからアップロードされた広告動画などであってもよい。また、スポンサーの広告などは、仮想現実空間上で別途表示領域を設けることとしてもよい。また、操作者が実行可能なアクションは、表示領域３１０の操作以外にも観覧者全てに対して音声による伝達を行うこととしてもよい。即ち、ステージ３３０上にいるアバターを操作しているユーザが端末装置２００に接続されたマイクに対して、音声を入力し、サーバ１００に送信する。そして、サーバ１００は、仮想現実空間に存在するアバターに対応する端末装置２００各々に対してその音声データを送信し、各端末装置２００は、接続しているスピーカ等からその音声データに基づく音声を出力する。また、操作者の表示画面上では、音声による伝達を行う場合には、その内容を記したカンペを表示することとしてもよい。
【００９０】
また、ネット会議の進行について、主催者は、進行予定を示すフローデータを予めアップロードしておいてもよく、サーバ１００は、そのフローデータに従って動作してもよい。例えば、動画の表示領域３１０への表示開始時刻をフローにおいて指定しておくことで、会議が開始してから、その時刻に自動的に表示できるように構成してもよい。
【００９１】
また、この仮想現実空間上で、参加したユーザ間でコミュニティ（グループ）を構成してもよい。そして、構成したコミュニティ間のみで情報のやり取りを行う（他のユーザからは見えないやり取り）ように構成してもよい。
【００９２】
また、ネット会議に参加するための更なる認証を行ってもよく、その認証情報を得るために、課金制の会議にしてもよい。また、サーバ１００を提供する運営者は、その際に、その課金の一部を経費として徴収する構成にしてもよい。
【００９３】
また、ユーザ間でのボイスチャットを行うように構成してもよい。即ち、ボイスチャットを行うアバターの端末装置２００同士で、音声の入力を行って、サーバ１００がその仲介を行うようにしてもよい。
【００９４】
また、端末装置２００から、仮想現実空間の所望の位置を指定して、ユーザが自身のアバターをワープ移動できるようにシステムを構築してもよい。
【００９５】
また、各ユーザのアバターの仮想現実空間上での初期位置は、予めサーバ１００が設定することとしてもよく、サーバ１００はそのための設定部を有していてもよい。このように構成することで、ログインした瞬間のユーザについても、既にログイン済みの他のアバターに関する情報を送信する送信レートの決定を、その初期位置に基づいて行うことができる。また、この初期位置は、ユーザによって異なってもよい。例えば、会議ではなく何らかの演目を観覧するための仮想現実空間である場合には、予め仮想現実空間上での座席が定められていてもよく、演目に関するチケットをユーザが購入した場合に、そのチケットに対応付けられた座席を初期位置としてもよい。
【００９６】
また、サーバ１００は、仮想現実空間上で、ユーザがアバターを用いた３Ｄゲームを作成するためのプラットフォーム（ツール）を提供することとしてもよい。そして、更に、そのユーザが作成したゲームを、他のユーザがプレイするために、作成したゲームを含むアプリケーションをダウンロードできるように配信する機能をサーバ１００は有することとしてもよい。
【００９７】
＜補足＞
上記実施の形態に係る装置は、上記実施の形態に限定されるものではなく、他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
【００９８】
（１）  上記実施の形態においては、サーバ１００が提供する仮想現実空間の一例として、ネット会議などのイベントのための空間であるとしているが、これは一例に過ぎない。その他の仮想現実空間を提供することとしてもよく、その場合に、他のアバターに関する情報の送受信において、上記実施の形態に示した送信レートの決定法に従って定めた送信レートで情報を送受信する構成になっていればよい。
【００９９】
（２）  上記実施の形態においては、送信レートは、２種類のみを示しているが、これは、その限りではない。アバターの位置から、他のアバターまでの距離に応じて多段階に変化してもよい。即ち、送信レートの種類は３種類以上あってもよい。
【０１００】
（３）  上記実施の形態においては、各アバターに関する情報を送信する送信レートを、アバターの位置から他のアバターまでの距離に応じて決定しているが、例外を設けてもよい。例えば、上記ネット会議システムの場合であれば、会議の開催者のアバターに関する情報の送信レートを距離に関わらず、一定の高い送信レート（例えば、第１送信レート以上）に設定して、各ユーザに開催者のアバターに関する情報を送信することとしてもよい。
【０１０１】
（４）  また、上記実施の形態においては、サーバにおけるアバターに関する情報を送信する送信レートを決定する手法として、サーバのプロセッサが送信レート決定プログラム（ネット会議プログラム）等を実行することにより、決定することとしているが、これはサーバに集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成された論理回路（ハードウェア）や専用回路によって実現してもよい。また、これらの回路は、１または複数の集積回路により実現されてよく、上記実施の形態に示した複数の機能部の機能を１つの集積回路により実現されることとしてもよい。ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩなどと呼称されることもある。すなわち、図１３に示すように、サーバ１００は、受信回路１０１と送信回路１０２と、決定回路１４１とから構成されてよく、それぞれの機能は、上記実施の形態に示した同様の名称を有する各部と同様である。
【０１０２】
また、上記送信レート決定プログラムは、プロセッサが読み取り可能な記録媒体に記録されていてよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記送信レート決定プログラムは、当該送信レート決定プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記プロセッサに供給されてもよい。本発明は、上記送信レート決定プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１０３】
なお、上記送信レート決定プログラムは、例えば、ActionScript、JavaScript（登録商標）などのスクリプト言語、Objective-C、Java（登録商標）などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
【０１０４】
（５）上記実施の形態及び各種補足は、適宜組み合わせて、実現することとしてもよい。
【符号の説明】
【０１０５】
１００  サーバ
１１０  通信部
１１１  受信部
１１２  送信部
１２０  記憶部
１３０  入力部
１４０  制御部
１４１  決定部
１５０  出力部
２００  端末装置
２１０  通信部
２１１  受信部
２１２  送信部
２２０  記憶部
２３０  入力部
２４０  制御部
２５０  出力部
【図１】
2018028789.tif 000003
【図２】
2018028789.tif 000004
【図３】
2018028789.tif 000005
【図４】
2018028789.tif 000006
【図５】
2018028789.tif 000007
【図６】
2018028789.tif 000008
【図７】
2018028789.tif 000009
【図８】
2018028789.tif 000010
【図９】
2018028789.tif 000011
【図１０】
2018028789.tif 000012
【図１１】
2018028789.tif 000013
【図１２】
2018028789.tif 000014
【図１３】
2018028789.tif 000015