JP2018028789A - サーバ、情報の送信方法及びそのプログラム - Google Patents
サーバ、情報の送信方法及びそのプログラム Download PDFInfo
- Publication number
- JP2018028789A JP2018028789A JP2016160263A JP2016160263A JP2018028789A JP 2018028789 A JP2018028789 A JP 2018028789A JP 2016160263 A JP2016160263 A JP 2016160263A JP 2016160263 A JP2016160263 A JP 2016160263A JP 2018028789 A JP2018028789 A JP 2018028789A
- Authority
- JP
- Japan
- Prior art keywords
- avatar
- information
- terminal device
- avatars
- transmission rate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 132
- 238000000034 method Methods 0.000 title claims description 38
- 230000009471 action Effects 0.000 claims abstract description 49
- 230000000694 effects Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 31
- 238000012545 processing Methods 0.000 abstract description 5
- 230000003993 interaction Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 28
- 230000006870 function Effects 0.000 description 26
- 230000006399 behavior Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 5
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001499733 Plantago asiatica Species 0.000 description 1
- 235000003421 Plantago ovata Nutrition 0.000 description 1
- 239000009223 Psyllium Substances 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229940070687 psyllium Drugs 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】VRで複数のユーザのアバターが集まって会議をしたりする場合に、各ユーザについてのアバターの行動の情報等のやり取りが多くなり通信遅延、処理遅延が発生する可能性を軽減するサーバを提供する。【解決手段】複数のアバターが行動する仮想現実空間を提供するサーバであって、各ユーザに対応するアバターの仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信部と、複数のアバターの内の一のアバターに対応する端末装置に対して他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定部と、一のアバターに対応する端末装置に対して、決定部が決定した送信レートで、他のアバターの位置情報及び行動情報を送信する送信部とを備える。【選択図】図8
Description
本発明は、VRに係る情報を送信するサーバ及びその送信方法、プログラムに関するものである。
近年、多数のユーザ同士での交流が可能なシステムに係る技術の発展はめざましく、様々な技術が開発されている。そのようなシステムの一例として、参加者の間で情報を共有することができるシステムも開示されている(例えば、特許文献1参照)。
ところで、上述のような多数のユーザが集結するシステムにおいては、サーバと端末の間あるいは、端末と端末の間において多数の情報の送受信が発生する。多数の情報の送受信が発生するということは、その処理も多数発生することになり、処理遅延につながる可能性があるという問題があった。
そこで、本発明は上記問題に鑑みて成されたものであり、仮想現実空間を提供する際の端末装置との間の情報の送受信量を軽減することができるサーバ、情報の送信方法、及びそのプログラムを提供することを目的とする。
上記課題を解決するために、本発明の一態様に係るサーバは、複数のアバターが行動する仮想現実空間を提供するサーバであって、各ユーザに対応するアバターの仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信部と、複数のアバターの内の一のアバターに対応する端末装置に対して他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定部と、一のアバターに対応する端末装置に対して、決定部が決定した送信レートで、他のアバターの位置情報及び行動情報を送信する送信部とを備える。
上記課題を解決するために、本発明の一態様に係る情報の送信方法は、複数のアバターが行動する仮想現実空間を提供するサーバによる情報の送信方法であって、各ユーザに対応するアバターの仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信ステップと、複数のアバターの内の一のアバターに対応する端末装置に対して、他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定ステップと、一のアバターに対応する端末装置に対して、決定ステップにおいて決定した送信レートで、他のアバターの位置情報及び行動情報を送信する送信ステップとを含む。
上記課題を解決するために、本発明の一態様に係るプログラムは、複数のアバターが行動する仮想現実空間を提供するサーバのコンピュータに、各ユーザに対応するアバターの仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信機能と、複数のアバターの内の一のアバターに対応する端末装置に対して、他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定機能と、一のアバターに対応する端末装置に対して、決定機能が決定した送信レートで、他のアバターの位置情報及び行動情報を送信する送信機能とを実現させる。
上記サーバにおいて、決定部は、一のアバターに近い所定の条件を満たす他のアバターの位置情報及び行動情報を送信する送信レートを、一のアバターから遠い所定の条件を満たす他のアバターの位置情報及び行動情報を送信する送信レートよりも高くなるように決定することとしてもよい。
上記サーバにおいて、決定部は、仮想現実空間を所定の領域で区切った場合の、一のアバターの位置情報が属する所定の領域を特定し、所定の領域及び所定の領域に隣接する隣接領域に含まれる他のアバターの位置情報及び行動情報を送信する送信レートを所定の第1送信レートに決定し、所定の領域及び隣接領域に含まれない他のアバターの位置情報及び行動情報を送信する送信レートを第1送信レートよりも低い第2送信レートに決定することとしてもよい。
上記サーバにおいて、サーバは、複数のアバターのうち、特定のアバターの指定を受け付ける受付部を備え、決定部は、特定のアバターについての位置情報及び行動情報を送信する送信レートを、端末装置に対応するアバターの位置に関わらず、第1送信レート以上の送信レートに決定することとしてもよい。
上記サーバにおいて、仮想現実空間は、特定のアバターを操作するユーザにより制御可能な表示領域を有し、サーバは、特定のアバターに対応する端末装置から、表示領域に対して表示する映像の指定を受け付ける指定受付部と、指定受付部が受け付けた映像に関する情報を、端末装置各々に配信する配信部とを備えることとしてもよい。
上記サーバにおいて、指定受付部は、特定のアバターが仮想現実空間中の特定の領域に位置する場合にのみ、指定を受け付けることとしてもよい。
上記サーバにおいて、表示領域は、仮想現実空間の全天球画像を表示する表示領域であり、配信部は、指定受付部が全天球画像の表示の指定を受け付けた場合に、全天球画像に関する情報を端末装置各々に配信するとともに、アバターが移動する移動領域の透過指示を配信することとしてもよい。
上記サーバにおいて、サーバは、仮想現実空間において、各ユーザのアバターの初期位置を予め設定する設定部を備えることとしてもよい。
上記サーバにおいて、複数のアバター各々の態様は、予め定められた形状のキャラクターの顔に、各ユーザの端末装置から送信された画像を張り付けた態様をしていることとしてもよい。
上記サーバにおいて、受信部は、さらに、端末装置から、特定のアクションを行ったことを示すアクション情報を受信し、送信部は、端末装置各々の表示画面に特定のアクションに応じたエフェクトを表示させるための信号を、端末装置に送信することとしてもよい。
本発明の一態様に係るサーバは、あるアバターを操作する端末装置に対して、他のアバターに関する情報を送信する送信レートを、あるアバターの近くにいる他のアバターと、あるアバターの遠くにいる他のアバターとで変更する。したがって、あるアバターに対して、他のアバターに関する情報を全て均一の送信レートで送信する場合に比して、情報の送受信量を軽減することができる。
以下、本発明の一実施態様に係るサーバについて、図面を参照しながら詳細に説明する。
<実施の形態>
<構成>
本発明に係るサーバ100は、複数のアバターが行動する仮想現実空間を提供するサーバであって、図1に示すように、受信部111と、決定部141と、送信部112とを備える。仮想現実空間とは、コンピュータ上に構築された現実を模した世界あるいは作成された世界のことである。また、アバターとは、仮想現実空間上におけるユーザの分身となるキャラクターのことであり、ユーザキャラクターと呼称されることもある。
<構成>
本発明に係るサーバ100は、複数のアバターが行動する仮想現実空間を提供するサーバであって、図1に示すように、受信部111と、決定部141と、送信部112とを備える。仮想現実空間とは、コンピュータ上に構築された現実を模した世界あるいは作成された世界のことである。また、アバターとは、仮想現実空間上におけるユーザの分身となるキャラクターのことであり、ユーザキャラクターと呼称されることもある。
受信部111は、各ユーザに対応するアバターの前記仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する機能を有する。受信部111は、例えば、通信インターフェースにより実現される。
決定部141は、複数のアバターの内の一のアバターに対応する端末装置に対して、他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する機能を有する。決定部141は、例えば、コンピュータプロセッサが制御プログラムを実行することにより実現されたり、専用回路により実現されたりする。ここでの位置情報は、仮想現実空間に対して設定されている座標系におけるアバターの位置を示す座標情報のことである。また、行動情報とは、ユーザの操作により実行されるアバターの行動の内容を示す情報のことであり、例えば、アバターが歩いたり、拍手をしたり、などの行動を示す情報のことであるが、これらの具体例に限定されるものではない。
送信部112は、前記一のアバターに対応する端末装置に対して、前記決定部が決定した送信レートで、前記他のアバターの位置情報及び行動情報を送信する機能を有する。送信部112は、例えば、通信インターフェースにより実現される。
以下、サーバ100について、更に、詳細に説明する。本実施の形態に係るサーバ100は、複数のアバターが行動する仮想現実空間を提供する機能を有するサーバ装置であり、ネットワーク300を介して、多数のユーザの端末装置200と接続している。なお、図2では、端末装置200は、1つのみを示しているが、これは、図面を見やすくするためであり、実際には複数の端末装置200がネットワーク300に接続されている。サーバ100は、ここでは、1台のサーバ装置として実現する例を示すが、これは、複数台のコンピュータによる並列システムにより実現されることとしてもよい。ネットワーク300は、有線、無線を問わず接続されているネットワーク通信網である。
図2に示すようにサーバ100は、通信部110と、記憶部120と、入力部130と、制御部140と、出力部150とを備える。
通信部110は、ネットワーク300を介して、多数のユーザの端末装置200と通信を実行する機能を有する通信インターフェースである。通信部110は、ユーザの端末装置200と通信を実行できるのであれば、無線、有線を問うものではない。また、通信に使用する通信プロトコルも、通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。なお、本実施の形態では、特に、各ユーザのアバターに関する情報の送受信においては、IoT(Internet of Things)向けに開発された通信プロトコルであるMQTT(MQ Telemetry Transport)を用いる。
通信部110は、受信部111と送信部112とを含む。受信部111は、ネットワーク300を介して、端末装置200から受信した情報を、制御部140に伝達する。受信部111は、各ユーザの端末装置200から、ネット会議アプリの起動、アクセス情報、ネット会議中における各アバターの仮想現実空間における位置情報及び行動情報を受信し、制御部140に伝達する。また、送信部112は、制御部140から伝達された情報を指定されている端末装置200に対して、送信する。送信部112は、各ユーザの端末装置200に、他のユーザの端末装置に対応するアバターの情報(位置情報、行動情報)を送信する。
記憶部120は、サーバ100が動作する上で必要とする各種プログラム及びデータを記憶する機能を有する記憶媒体である。記憶部120は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリなどにより実現することができるが、これに限られるものではない。記憶部120は、VR空間でネット会議を実行するためのネット会議プログラムや、そのネット会議に参加する各ユーザに関するユーザ情報を記憶している。
入力部130は、サーバ100のオペレータからの入力を受け付ける機能を有する入力インターフェースである。入力部130は、例えば、サーバ100に備えられたハードキーや、サーバ100に接続されたキーボードやマウス等の入力機器により実現することができるが、これに限られるものではない。入力部130は、受け付けた入力内容を制御部140に伝達する。
制御部140は、サーバ100の各部を制御する機能を有するプロセッサである。制御部140は、記憶部120に記憶されている各種プログラムを実行することにより、VR空間を介したネット会議システムを各端末装置200に提供する。制御部140は、ネット会議を実現するための各種の情報処理を実行する。
制御部140は、決定部141を含む。決定部141は、各ユーザ端末に対して、他のユーザ端末に対応する各アバターに関する情報を送信する頻度を示す送信レートを決定する機能を有する。
具体的には、決定部141は、以下のようにして、各端末装置200に対する他のアバターについての情報を送信する送信レートを決定する。まず、決定部141は、仮想現実空間を所定の領域に区切る。区切られた各所定の領域は、それぞれの仮想現実空間上の座標範囲を示す範囲情報により一意に定めることができる。そして、決定部141は、複数のユーザのアバターのうち、一つのアバターを選定する。当該選定は、ランダムであってもよいし、ユーザIDの順番に従ってもよい。決定部141は、選定したアバターについて、ユーザ情報700から、仮想現実空間における位置情報を取得する。決定部141は、取得した位置情報が、区切った所定の領域のうち、いずれに属しているかを特定する。決定部141は、特定した所定の領域に隣接する領域を特定する。そして、選定したアバターが属する領域と、その隣接する領域に属するアバターをユーザ情報700を用いて特定する。そして選定したアバターが対応する端末装置に対して、特定したアバターに対応する位置情報及び行動情報を第1送信レートで送信し、特定しなかったアバターに対応する位置情報及び行動情報を第2送信レートで送信することを決定する。第1送信レートは、第2送信レートよりも送信頻度が高いものとする。即ち、選定したアバターに近いアバターの情報ほど、選定したアバターから遠いアバターの情報よりも、多く選定したアバターに対応する端末装置に送信することになる。決定部141は、このようにして、各アバターについて、他のアバターの情報の送信レートを決定する。
図6を用いてより具体的に説明する。図6は、仮想現実空間の一部であって、平面のイメージ図である。図6に示すように、仮に、仮想現実空間を平面的に見て、5×5の所定の領域(メッシュ)に分割したとする。このとき、各所定の領域、行方向に上からA〜Eの記号を割り振り、列方向に左から1〜5の番号を割り振って区別したとする。図6において示す丸は、各ユーザのアバターの位置を示している。図6によれば、アバター600は、領域3Cに存在しており、アバター620は、領域4Eと領域5Eの境界上に位置していることが理解できる。このアバター600に対応する端末装置200に他のアバターの情報を送信する際の送信レートを決定する場合を考える。なお、所定の領域の数や区切り方は任意である。
決定部141は、まず、アバター600の位置情報から、領域3Cに属していることを特定する。領域3Cには、他のアバターは属していない。決定部141は、領域3Cに隣接する領域を特定する。この場合、一点鎖線610で囲われている領域に含まれる領域が該当する。即ち、領域3Cの上下左右及び斜め方向で隣接する領域を隣接する領域として特定する。したがって、この場合に特定する所定の領域は、2B、3B、4B、2C、4C、2D、3D、4Dとなる。そして、それらの領域に含まれるアバターに関する情報を送信する送信レートを第1送信レートに決定する。そして、一点鎖線610で囲われていない領域に属するアバターに関する情報を送信する送信レートを第2送信レートに決定する。したがって、図6において、アバター600に対応する端末装置200に他のアバターに関する情報を第1送信レートで送信するアバター数は、9であり、第2送信レートで送信するアバター数は、13である。
なお、アバター620の場合、属している領域を領域5Dと5Eとし、隣接する領域は、その2つの領域の周囲の領域3D、4D、5D、3Eとすればよい。
制御部140は、各ユーザの端末装置200に、他のアバターに関する情報を、決定部141が決定した送信レートで、適宜、送信部112に送信させる。
出力部150は、制御部140から伝達された情報を外部に出力する機能を有する。出力部150は、例えば、サーバ100に接続されたモニタに、制御部140から伝達された情報を表示する。
一方、ネット会議に参加する各ユーザの端末装置200は、図2に示すように、通信部210と、記憶部220と、入力部230と、制御部240と、出力部250とを備える。端末装置200は、いわゆるコンピュータマシンであり、一般的に知られるPCやタブレット端末などであり、通信機能と、メモリ、プロセッサを有するものであれば、どのような装置であってもよい。
通信部210は、ネットワーク300を介して、多数のユーザのサーバ100と通信を実行する機能を有する通信インターフェースである。通信部210は、サーバ100と通信を実行できるのであれば、無線、有線を問うものではない。また、通信に使用する通信プロトコルも、通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。なお、本実施の形態では、特に、各ユーザのアバターに関する情報の送受信においては、IoT向けに開発された通信プロトコルであるMQTTを用いる。
通信部210は、受信部211と送信部212とを含む。受信部211は、ネットワーク300を介して、サーバ100から受信した情報を、制御部240に伝達する。受信部211は、ネット会議アプリの実行中に、サーバ100から、ネット会議に参加している他のアバター各々の仮想現実空間における位置情報及び行動情報を受信し、制御部240に伝達する。また、送信部212は、制御部240から伝達された位置情報及び行動情報をサーバ100に送信する。
記憶部220は、端末装置200が動作する上で必要とする各種プログラム及びデータを記憶する機能を有する記憶媒体である。記憶部220は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリなどにより実現することができるが、これに限られるものではない。記憶部220は、VR空間でネット会議を実行するためのネット会議アプリや、そのネット会議に参加する各ユーザに関するユーザ情報を記憶している。
入力部230は、端末装置200のユーザからの入力を受け付ける機能を有する入力インターフェースである。入力部230は、例えば、サーバ100に備えられたハードキーや、サーバ100に接続されたキーボードやマウス等の入力機器により実現することができるが、これに限られるものではない。入力部230は、受け付けた入力内容を制御部240に伝達する。
制御部240は、端末装置200の各部を制御するプロセッサである。制御部240は、記憶部220に記憶されているネット会議アプリを実行して、伝達された情報に基づいて、ネット会議に係る処理を実行する。制御部240は、受信部211から伝達された他のアバターの位置情報と行動情報を反映した映像を生成して、出力部250に出力させる。また、制御部240は、入力部230から受け付けた入力内容にしたがった自身のアバターの行動を反映した映像を生成して、出力部250に出力させるとともに、送信部212に、自身のアバターの位置情報及び行動情報をサーバ100に送信させる。
出力部250は、制御部240から伝達された情報を外部に出力する機能を有する。出力部250は、例えば、端末装置200に接続されたモニタやVR機器(例えば、ヘッドマウントディスプレイ)に、制御部240から伝達された情報を表示する。
<サーバ100が提供する仮想現実空間について>
サーバ100が提供する仮想現実空間は、一例として、会議場の様相を成す。即ち、図3、図4、図5に示すように、発表者が位置するステージ330と、その発表を観覧する観覧席340とから成る会議場が、中空に浮いたように配置される。図3は、仮想現実空間に形成される会議場の平面図であり、図4は、その斜視図である。また、図5は、この仮想現実空間を一ユーザのアバターの視点で見た画像、即ち、当該一ユーザの端末装置200に接続されたモニタあるいはVR機器に表示される画像例である。
サーバ100が提供する仮想現実空間は、一例として、会議場の様相を成す。即ち、図3、図4、図5に示すように、発表者が位置するステージ330と、その発表を観覧する観覧席340とから成る会議場が、中空に浮いたように配置される。図3は、仮想現実空間に形成される会議場の平面図であり、図4は、その斜視図である。また、図5は、この仮想現実空間を一ユーザのアバターの視点で見た画像、即ち、当該一ユーザの端末装置200に接続されたモニタあるいはVR機器に表示される画像例である。
各ユーザは、自身のアバターを操作してこの会議場を自由に動き回り、各種のアクションを起こしたり、コメントを投降したりすることができる。会議場のステージ330上には、表示領域310と、コメント表示領域320とが配される。表示領域310には、会議に用いるための各種の動画やスライドなどを表示することができる。また、コメント表示領域320には、各ユーザが端末装置200を用いて投降したコメントが表示される。そして、会議場の周囲には、全天球画像が背景画像として表示される。
なお、これは、仮想現実空間の一例であり、その他の態様を成していても良いことは言うまでもない。例えば、会議場の代わりに、データ上の街を作成して、表示し、各ユーザは、アバターを用いて、その街の中を往行することとしてもよい。
<データ>
ここで、サーバ100が記憶しているユーザ情報700について説明する。図7は、ユーザ情報700のデータ構成例を示すデータ概念図である。図7に示すように、ユーザ情報700は、ユーザID701と、位置情報702と、行動情報703と、受信日時704とが対応付けられた情報である。
ここで、サーバ100が記憶しているユーザ情報700について説明する。図7は、ユーザ情報700のデータ構成例を示すデータ概念図である。図7に示すように、ユーザ情報700は、ユーザID701と、位置情報702と、行動情報703と、受信日時704とが対応付けられた情報である。
ユーザID701は、ネット会議に参加する各ユーザを一意に識別するための識別情報であり、数字、各種文字、記号などにより表現される。ユーザIDは、各ユーザに固有の情報であり、例えば、サーバ100がユーザの端末装置200に対して付与する。
位置情報702は、対応するユーザID701で示されるユーザのアバターのVR空間上の位置座標を示す情報である。当該座標は、2次元に落とした座標であってもよいし、3次元の座標であってもよい。
行動情報703は、対応するユーザID701で示されるユーザのアバターのVR空間上における行動内容を示す情報を特定可能な情報である。VR空間における各アバターがとることが可能な行動は予め規定されており、ここでは、その行動内容に対応する識別情報を対応付けている例を示すが、行動情報703の態様はこれに限られない。鼓動の内容そのものを示す情報であってもよいし、あるいは、その行動を実行するためのコードであってもよい。
受信日時704は、端末装置200からユーザ情報を受信した受信日時を示す情報である。
例えば、図7に示すユーザ情報によれば、ユーザID701が、「UID0012」、のユーザは、仮想現実空間の「(X2、Y2)」という位置において、「行動E299」で示される行動をしていることが認識できる。また、その位置情報や行動情報を受信したのが、「2016年8月8日14時3分31秒」であることが理解できる。
<動作>
ここから、本実施の形態に係るサーバ100並びに端末装置200の動作を説明する。
ここから、本実施の形態に係るサーバ100並びに端末装置200の動作を説明する。
まず、図8を用いて、決定部141による各アバターに関する情報を送信する送信レートを決定する際の動作を説明する。当該動作は、逐次(例えば、3秒毎。なお、この秒数は一例である)、実行される。
(ステップS801)
ステップS801において、決定部141は、仮想現実空間に参加しているユーザの中から、一のユーザを選択する。当該選択の後に、ステップS802に移行する。
ステップS801において、決定部141は、仮想現実空間に参加しているユーザの中から、一のユーザを選択する。当該選択の後に、ステップS802に移行する。
(ステップS802)
ステップS802において、決定部141は、ステップS801において選択したユーザの位置情報が属する所定の領域(メッシュ)を特定する。具体的には、決定部141は、ステップS801において選択したユーザのアバターの仮想現実空間上の位置座標をユーザ情報700を参照して特定する。即ち、選択したユーザのユーザIDを、ユーザID701から検索し、対応する位置情報702を特定する。ユーザのアバターの仮想現実空間上の位置情報を特定する。そして、特定した位置情報が、どの所定の領域(メッシュ)に属するのかを特定する。その後にステップS803に移行する。
ステップS802において、決定部141は、ステップS801において選択したユーザの位置情報が属する所定の領域(メッシュ)を特定する。具体的には、決定部141は、ステップS801において選択したユーザのアバターの仮想現実空間上の位置座標をユーザ情報700を参照して特定する。即ち、選択したユーザのユーザIDを、ユーザID701から検索し、対応する位置情報702を特定する。ユーザのアバターの仮想現実空間上の位置情報を特定する。そして、特定した位置情報が、どの所定の領域(メッシュ)に属するのかを特定する。その後にステップS803に移行する。
(ステップS803)
ステップS803において、決定部141は、特定した所定の領域(メッシュ)及びその特定した所定の領域(メッシュ)に隣接する所定の領域(メッシュ)に属するユーザを特定する。決定部141は、特定した所定の領域と、そこに隣接する所定の領域の座標範囲を特定し、ユーザ情報700の位置情報702の中から、その座標範囲内に含まれるステップS801において選択したユーザとは異なる他のユーザを特定する。即ち、ステップS801において選択したユーザのアバターの近くに存在するアバターを特定する。その後に、ステップS804に移行する。
ステップS803において、決定部141は、特定した所定の領域(メッシュ)及びその特定した所定の領域(メッシュ)に隣接する所定の領域(メッシュ)に属するユーザを特定する。決定部141は、特定した所定の領域と、そこに隣接する所定の領域の座標範囲を特定し、ユーザ情報700の位置情報702の中から、その座標範囲内に含まれるステップS801において選択したユーザとは異なる他のユーザを特定する。即ち、ステップS801において選択したユーザのアバターの近くに存在するアバターを特定する。その後に、ステップS804に移行する。
(ステップS804)
ステップS804において、決定部141は、ステップS803において特定したユーザに対応するアバターの情報(位置情報及び行動情報)を送信する送信レートを第1送信レートに決定する。アバターの情報の送信先は、ステップS801において、選択したユーザの端末装置200である。即ち、ステップS801において選択したユーザの端末装置200に対して、当該ユーザの近くに存在するアバターの情報を送信する頻度である送信レートを第1送信レートに設定する。決定部141は、ステップS801において選択したユーザのユーザIDに対応付けて、第1送信レートで情報を送信すると決定した情報に関する他のアバターに対応するユーザのユーザIDを、第1送信レートで送信することを示す情報とともに記憶部120に記憶する。その後に、ステップS805に移行する。
ステップS804において、決定部141は、ステップS803において特定したユーザに対応するアバターの情報(位置情報及び行動情報)を送信する送信レートを第1送信レートに決定する。アバターの情報の送信先は、ステップS801において、選択したユーザの端末装置200である。即ち、ステップS801において選択したユーザの端末装置200に対して、当該ユーザの近くに存在するアバターの情報を送信する頻度である送信レートを第1送信レートに設定する。決定部141は、ステップS801において選択したユーザのユーザIDに対応付けて、第1送信レートで情報を送信すると決定した情報に関する他のアバターに対応するユーザのユーザIDを、第1送信レートで送信することを示す情報とともに記憶部120に記憶する。その後に、ステップS805に移行する。
(ステップS805)
ステップS805において、決定部141は、ステップ803において特定しなかった他のユーザに対応するアバターの情報を送信する送信レートを、第1送信レートよりも低い第2送信レートに決定する。即ち、第1送信レートの方が、第2送信レートよりも、情報の送信頻度が高い。即ち、ユーザのアバターの遠くのアバターに関する情報は、遅く送信される。決定部141は、ステップS801において選択したユーザのユーザIDに対応付けて、第2送信レートで情報を送信すると決定した情報に関する他のアバターに対応するユーザのユーザIDを、第2送信レートで送信することを示す情報とともに記憶部120に記憶する。その後に、ステップS806に移行する。
ステップS805において、決定部141は、ステップ803において特定しなかった他のユーザに対応するアバターの情報を送信する送信レートを、第1送信レートよりも低い第2送信レートに決定する。即ち、第1送信レートの方が、第2送信レートよりも、情報の送信頻度が高い。即ち、ユーザのアバターの遠くのアバターに関する情報は、遅く送信される。決定部141は、ステップS801において選択したユーザのユーザIDに対応付けて、第2送信レートで情報を送信すると決定した情報に関する他のアバターに対応するユーザのユーザIDを、第2送信レートで送信することを示す情報とともに記憶部120に記憶する。その後に、ステップS806に移行する。
(ステップS806)
ステップS806において、決定部141は、全ユーザについて、他のアバターに関する情報を送信する送信レートを決定したか否かを判定する。決定部141が全ユーザについての他のアバターに関する情報を送信する送信レートを決定していた場合には(YES)、ステップS807に移行し、決定していない場合には(NO)、ステップS801に戻る。
ステップS806において、決定部141は、全ユーザについて、他のアバターに関する情報を送信する送信レートを決定したか否かを判定する。決定部141が全ユーザについての他のアバターに関する情報を送信する送信レートを決定していた場合には(YES)、ステップS807に移行し、決定していない場合には(NO)、ステップS801に戻る。
(ステップS807)
ステップS807において、決定部141は、ネット会議プログラムが終了したか否かを判定する。当該判定は、例えば、ネット会議の終了予定時刻を過ぎたか否かや、サーバ100のオペレータからのプログラムの終了入力を受け付けたか否かなどに応じて行う。ネット会議プログラムを終了すると判定した場合に(YES)、本処理を終了し、終了しないと判定した場合に(NO)、ステップS808に移行する。
ステップS807において、決定部141は、ネット会議プログラムが終了したか否かを判定する。当該判定は、例えば、ネット会議の終了予定時刻を過ぎたか否かや、サーバ100のオペレータからのプログラムの終了入力を受け付けたか否かなどに応じて行う。ネット会議プログラムを終了すると判定した場合に(YES)、本処理を終了し、終了しないと判定した場合に(NO)、ステップS808に移行する。
(ステップS808)
ステップS808において、決定部141は、サーバ100に備えられている計時機能(図示せず)によって、所定時間が経過したか否かを判定する。所定時間が経過したと判定した場合に(YES)、ステップS801に戻って、各ユーザについて、他のアバターの情報を送信する送信レートを再決定する処理を行う。所定時間が経過するまでは(NO)、待機する。
ステップS808において、決定部141は、サーバ100に備えられている計時機能(図示せず)によって、所定時間が経過したか否かを判定する。所定時間が経過したと判定した場合に(YES)、ステップS801に戻って、各ユーザについて、他のアバターの情報を送信する送信レートを再決定する処理を行う。所定時間が経過するまでは(NO)、待機する。
以上の図8に示す処理を決定部141が実行することにより、サーバ100は、各ユーザについて、他のユーザのアバターに関する情報を送信するための送信レートを決定することができる。このとき、各ユーザのアバターから遠い位置に存在する他のアバターに関する情報を送信する送信レート、近い位置に存在する他のアバターに関する情報を送信する送信レートよりも低く設定することで、通信に係る情報の総合的な転送量を抑制することができるので、通信遅延に基づく処理遅延が発生する可能性を抑制することができる。なお、この情報の転送量に違いにより、ユーザ側では、自身から見て、遠くの位置に存在するアバターよりも、近い位置に存在するアバターの方がより高精細に動く様を視認することができる。
次に、図9を用いて、制御部140が、各端末装置200に他の端末装置に対応するアバターの情報を送信する際の動作を説明する。
(ステップS901)
ステップS901において、サーバ100の受信部111は、ユーザの各端末装置200から、それぞれの端末装置200で操作しているアバターの、仮想現実空間上での位置情報と、当該アバターの行動内容を示す行動情報とを受信する。受信部111は、受信した位置情報と行動情報とを、対応するアバターを保持するユーザのユーザIDに対応付けて、制御部140に伝達する。制御部140は、伝達された情報を、ユーザ情報700に登録して、ステップS902の処理に移行する。
ステップS901において、サーバ100の受信部111は、ユーザの各端末装置200から、それぞれの端末装置200で操作しているアバターの、仮想現実空間上での位置情報と、当該アバターの行動内容を示す行動情報とを受信する。受信部111は、受信した位置情報と行動情報とを、対応するアバターを保持するユーザのユーザIDに対応付けて、制御部140に伝達する。制御部140は、伝達された情報を、ユーザ情報700に登録して、ステップS902の処理に移行する。
(ステップS902)
ステップS902において、制御部140は、仮想現実空間に参加している複数のユーザの中から一人のユーザを選択する。その後に、ステップS903に移行する。
ステップS902において、制御部140は、仮想現実空間に参加している複数のユーザの中から一人のユーザを選択する。その後に、ステップS903に移行する。
(ステップS903)
ステップS903において、制御部140は、ステップS902において選択したユーザに対して対応付けられている他のアバターに関する情報を送信する送信レートを、ステップS804、S805において記憶部120に記憶した情報に基づいて特定する。その後に、ステップS904に移行する。
ステップS903において、制御部140は、ステップS902において選択したユーザに対して対応付けられている他のアバターに関する情報を送信する送信レートを、ステップS804、S805において記憶部120に記憶した情報に基づいて特定する。その後に、ステップS904に移行する。
(ステップS904)
ステップS904において、制御部140は、ステップS902において選択したユーザの端末装置200に、送信部112を介して、他のアバターに関する情報(アバターの仮想現実空間上での位置情報及びその行動を示す行動情報)を、ステップS804、S805において、決定した送信レートで送信する。
ステップS904において、制御部140は、ステップS902において選択したユーザの端末装置200に、送信部112を介して、他のアバターに関する情報(アバターの仮想現実空間上での位置情報及びその行動を示す行動情報)を、ステップS804、S805において、決定した送信レートで送信する。
(ステップS905)
ステップS905において、制御部140は、仮想現実空間に参加している全てのユーザについて、他のアバターに関する情報を送信したか否かを判定する。全てのユーザに他のアバターに関する情報を送信している場合には(YES)、ステップS906に移行し、全てのユーザに他のアバターに関する情報を送信していない場合には(NO)、ステップS902に戻って、次のユーザの選択を行う。
ステップS905において、制御部140は、仮想現実空間に参加している全てのユーザについて、他のアバターに関する情報を送信したか否かを判定する。全てのユーザに他のアバターに関する情報を送信している場合には(YES)、ステップS906に移行し、全てのユーザに他のアバターに関する情報を送信していない場合には(NO)、ステップS902に戻って、次のユーザの選択を行う。
(ステップS906)
ステップS906において、制御部140は、ネット会議プログラムが終了したか否かを判定する。終了している場合には(YES)、本処理を終了し、終了していない場合には(NO)、ステップS901に戻る。
ステップS906において、制御部140は、ネット会議プログラムが終了したか否かを判定する。終了している場合には(YES)、本処理を終了し、終了していない場合には(NO)、ステップS901に戻る。
図9に示す処理を制御部140が実行することにより、各端末装置200において、他のアバターが動作する様子を表示することができる。
最後に、図10を用いて、端末装置200の動作を説明する。当該動作は、端末装置200が、ネットアプリを実行しているときの動作である。
(ステップS1001)
ステップS1001において、端末装置200の受信部211は、サーバ100から、他のアバターに関する位置情報と行動情報とを受信する。受信部211は、受信した位置情報と行動情報とを、アバターの情報に対応付けて、制御部240に伝達する。その後に、ステップS1002に移行する。
ステップS1001において、端末装置200の受信部211は、サーバ100から、他のアバターに関する位置情報と行動情報とを受信する。受信部211は、受信した位置情報と行動情報とを、アバターの情報に対応付けて、制御部240に伝達する。その後に、ステップS1002に移行する。
(ステップS1002)
ステップS1002において、制御部240は、受信した位置情報と行動情報と対応付けられているアバターの情報に基づいて、表示部に表示している仮想現実空間に各アバター及びその行動を表示する。その後に、ステップS1003に移行する。
ステップS1002において、制御部240は、受信した位置情報と行動情報と対応付けられているアバターの情報に基づいて、表示部に表示している仮想現実空間に各アバター及びその行動を表示する。その後に、ステップS1003に移行する。
(ステップS1003)
ステップS1003において、制御部240は、入力部230を介して、ユーザからの入力を受け付けているか否かを判定する。入力を受け付けている場合に(YES)、ステップS1004に移行し、入力を受け付けていない場合に(NO)、ステップS1005に移行する。
ステップS1003において、制御部240は、入力部230を介して、ユーザからの入力を受け付けているか否かを判定する。入力を受け付けている場合に(YES)、ステップS1004に移行し、入力を受け付けていない場合に(NO)、ステップS1005に移行する。
(ステップS1004)
ステップS1004において、制御部240は、受け付けた入力内容に基づいて行動をアバターに実行させるとともに、その行動内容を、アバターの仮想現実空間上での位置情報とともに、送信部212を介して、サーバ100に送信する。その後に、ステップS1005に移行する。
ステップS1004において、制御部240は、受け付けた入力内容に基づいて行動をアバターに実行させるとともに、その行動内容を、アバターの仮想現実空間上での位置情報とともに、送信部212を介して、サーバ100に送信する。その後に、ステップS1005に移行する。
(ステップS1005)
ステップS1005において、制御部240は、プログラムが終了したか否かを判定する。当該判定は、例えば、サーバ100からネット会議の終了を示す終了情報を受信したか否かや、端末装置200のユーザから入力部230を介して、ネット会議アプリの終了入力を受け付けたか否かなどにより判定することができる。プログラムが終了したと判定した場合には(YES)、本処理を終了し、終了していないと判定した場合には(NO)、ステップS1001に戻る。
ステップS1005において、制御部240は、プログラムが終了したか否かを判定する。当該判定は、例えば、サーバ100からネット会議の終了を示す終了情報を受信したか否かや、端末装置200のユーザから入力部230を介して、ネット会議アプリの終了入力を受け付けたか否かなどにより判定することができる。プログラムが終了したと判定した場合には(YES)、本処理を終了し、終了していないと判定した場合には(NO)、ステップS1001に戻る。
図10に示す処理を実行することにより、各端末装置200は、仮想現実空間を表示することができ、その中で、他のアバターを適切に表示することができるとともに、自端末に対応するアバターの情報をサーバ100に送信して、他の端末装置200に反映させることができる。したがって、端末装置200のユーザは、多数の他のユーザが参加可能な仮想現実空間を享受することができるので、自身の居所にいながら、遠く離れた場所にいる他のユーザとの交流を図ることができる。
<その他のシステム>
ここで、本実施の形態に係るネット会議のシステムの運用態様について簡単に説明する。サーバ100は、ネットワーク上に、ネット会議アプリを公開している。
ここで、本実施の形態に係るネット会議のシステムの運用態様について簡単に説明する。サーバ100は、ネットワーク上に、ネット会議アプリを公開している。
ユーザは、自身の端末装置200を用いて、サーバ100が公開しているウェブサイトにアクセスして、ネット会議アプリをダウンロードする。
ユーザは、端末装置200においてダウンロードしたネット会議アプリを実行する。
ユーザは、ネット会議アプリを介してユーザ登録をしておき、登録したユーザIDと、サーバ100から通知されるパスワードを入力して、ネット会議に参加する。このアカウントは、他のシステムで利用されるアカウント(例えば、twitter(登録商標)やfacebook(登録商標)等)を流用できるようにシステムを構築してもよい。また、アカウントを登録する際に、自身に関する画像情報をアップロードしておく。当該画像は、アバターの顔画像として利用される。ここで、本システムにおけるアバターは、図5などに示すように、人型のロボットに各ユーザがそれぞれの端末装置200を用いてアップロードした画像がテクスチャとして張り付けられた態様をしているが、これはその限りではない。各ユーザオリジナルの形状をしていてもよい。しかしながら、本システムのように、アバターの胴体部分を固定のものとし、その顔画像のみをユーザ毎に区別する態様にすれば、アバターに関するデータ(画像)のやり取りを極力少なくすることができる。
端末装置200は、ネット会議アプリを実行することで、ネット会議の仮想現実空間を、端末装置200に接続したモニタやVR装置(例えば、ヘッドマウントディスプレイ)に表示する。各ユーザは、端末装置200を用いて、会議の内容についてコメントを入力したり、アバターを操作して、図12に示すような拍手をさせたりなどの行動をしたりして、仮想現実空間上の会議に参加することができる。これらのエフェクトは、拍手に限るものではなく、疑問に思った場合のクエスチョンマークや、驚いた場合のエクスクラメーションマーク、「いいね!」など様々な表示ができてよい。あるいは、アバターにサイリウムを持たせて、手をふらせてもよい。
このような、システムにおいて、ネット会議を一つのイベントとしてとらえた場合に、イベントに参加するアバターを、イベントの開催者、イベントのゲスト、イベントを観覧する一般ユーザなどに分類することができる。このような場合において、システム上で、これらを区別できるように識別子を割り振って区別し、表示領域310を操作できる権限(表示領域310に対してスライドや動画を表示する権限)を、イベントの開催者、イベントのゲストの識別子を割り当てられているアバターに限定するように構成してもよい。
さらには、表示領域310を操作する上で、仮想現実空間上の特定の領域に位置する場合にのみ(例えば、ステージ330上にアバターが位置する場合にのみ)、表示領域310を操作できることとしてもよい。このとき、表示領域310を操作可能な権限を有するユーザの端末装置200に接続されたモニタあるいはVR機器には、図11に示すような操作画面を表示することとしてもよい。モニタがタッチパネル式のモニタであれば、操作画面中のスライド選択メニュー1101の中から表示領域310に表示するスライドや動画を選択すると、その操作信号がサーバ100に送信され、サーバ100から各端末装置200にそのスライドや動画の情報が配信され、各端末装置200のモニタに反映されることとなる。また、操作領域1100を操作することで表示領域310に表示されているオブジェクトの操作を行うこともできる。一例として、スライドをめくって、次のページを表示したり、表示されているスライドに対して、マーキングを行ったりすることもできる。また、コメント表示領域320に対応するコメント表示領域1102においてもコメントに対して何らかのマーキングを行ったり、あるいは、不要なコメントを削除したり、特定のコメントを強調したりなどの操作を行うことができる。
また、操作者が操作可能な表示領域は、表示領域310に限らず、背景画像である全天球画像を操作(表示する画像を指定)できるように構成してもよい。即ち、操作者が全天球画像の操作を選択した場合に、表示する全天球画像の情報が、サーバ100にアップロードされ、サーバ100から各端末装置200に送信される。このときに、観客席やステージ等の各アバターが移動可能移動領域のオブジェクトを透過して、表示された全天球画像を見やすくするように構成してもよい。このような構成により、例えば、全天球のプラネタリムを体験したりすることもできる。
なお、ステージ330上に、複数の表示領域310を操作する権限者がいた場合には、最後に入力された操作を実行するようにしてもよいし、権限を有するものの間に優先度情報を付与しておいて、その優先度に従って表示領域310における表示を実行することとしてもよい。これらの表示領域310に表示するオブジェクトは、予めイベントの開催者からアップロードされたものであってもよいし、あるいは、ネット会議のスポンサーからアップロードされた広告動画などであってもよい。また、スポンサーの広告などは、仮想現実空間上で別途表示領域を設けることとしてもよい。また、操作者が実行可能なアクションは、表示領域310の操作以外にも観覧者全てに対して音声による伝達を行うこととしてもよい。即ち、ステージ330上にいるアバターを操作しているユーザが端末装置200に接続されたマイクに対して、音声を入力し、サーバ100に送信する。そして、サーバ100は、仮想現実空間に存在するアバターに対応する端末装置200各々に対してその音声データを送信し、各端末装置200は、接続しているスピーカ等からその音声データに基づく音声を出力する。また、操作者の表示画面上では、音声による伝達を行う場合には、その内容を記したカンペを表示することとしてもよい。
また、ネット会議の進行について、主催者は、進行予定を示すフローデータを予めアップロードしておいてもよく、サーバ100は、そのフローデータに従って動作してもよい。例えば、動画の表示領域310への表示開始時刻をフローにおいて指定しておくことで、会議が開始してから、その時刻に自動的に表示できるように構成してもよい。
また、この仮想現実空間上で、参加したユーザ間でコミュニティ(グループ)を構成してもよい。そして、構成したコミュニティ間のみで情報のやり取りを行う(他のユーザからは見えないやり取り)ように構成してもよい。
また、ネット会議に参加するための更なる認証を行ってもよく、その認証情報を得るために、課金制の会議にしてもよい。また、サーバ100を提供する運営者は、その際に、その課金の一部を経費として徴収する構成にしてもよい。
また、ユーザ間でのボイスチャットを行うように構成してもよい。即ち、ボイスチャットを行うアバターの端末装置200同士で、音声の入力を行って、サーバ100がその仲介を行うようにしてもよい。
また、端末装置200から、仮想現実空間の所望の位置を指定して、ユーザが自身のアバターをワープ移動できるようにシステムを構築してもよい。
また、各ユーザのアバターの仮想現実空間上での初期位置は、予めサーバ100が設定することとしてもよく、サーバ100はそのための設定部を有していてもよい。このように構成することで、ログインした瞬間のユーザについても、既にログイン済みの他のアバターに関する情報を送信する送信レートの決定を、その初期位置に基づいて行うことができる。また、この初期位置は、ユーザによって異なってもよい。例えば、会議ではなく何らかの演目を観覧するための仮想現実空間である場合には、予め仮想現実空間上での座席が定められていてもよく、演目に関するチケットをユーザが購入した場合に、そのチケットに対応付けられた座席を初期位置としてもよい。
また、サーバ100は、仮想現実空間上で、ユーザがアバターを用いた3Dゲームを作成するためのプラットフォーム(ツール)を提供することとしてもよい。そして、更に、そのユーザが作成したゲームを、他のユーザがプレイするために、作成したゲームを含むアプリケーションをダウンロードできるように配信する機能をサーバ100は有することとしてもよい。
<補足>
上記実施の形態に係る装置は、上記実施の形態に限定されるものではなく、他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
上記実施の形態に係る装置は、上記実施の形態に限定されるものではなく、他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
(1) 上記実施の形態においては、サーバ100が提供する仮想現実空間の一例として、ネット会議などのイベントのための空間であるとしているが、これは一例に過ぎない。その他の仮想現実空間を提供することとしてもよく、その場合に、他のアバターに関する情報の送受信において、上記実施の形態に示した送信レートの決定法に従って定めた送信レートで情報を送受信する構成になっていればよい。
(2) 上記実施の形態においては、送信レートは、2種類のみを示しているが、これは、その限りではない。アバターの位置から、他のアバターまでの距離に応じて多段階に変化してもよい。即ち、送信レートの種類は3種類以上あってもよい。
(3) 上記実施の形態においては、各アバターに関する情報を送信する送信レートを、アバターの位置から他のアバターまでの距離に応じて決定しているが、例外を設けてもよい。例えば、上記ネット会議システムの場合であれば、会議の開催者のアバターに関する情報の送信レートを距離に関わらず、一定の高い送信レート(例えば、第1送信レート以上)に設定して、各ユーザに開催者のアバターに関する情報を送信することとしてもよい。
(4) また、上記実施の形態においては、サーバにおけるアバターに関する情報を送信する送信レートを決定する手法として、サーバのプロセッサが送信レート決定プログラム(ネット会議プログラム)等を実行することにより、決定することとしているが、これはサーバに集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって実現してもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、上記実施の形態に示した複数の機能部の機能を1つの集積回路により実現されることとしてもよい。LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。すなわち、図13に示すように、サーバ100は、受信回路101と送信回路102と、決定回路141とから構成されてよく、それぞれの機能は、上記実施の形態に示した同様の名称を有する各部と同様である。
また、上記送信レート決定プログラムは、プロセッサが読み取り可能な記録媒体に記録されていてよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記送信レート決定プログラムは、当該送信レート決定プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記プロセッサに供給されてもよい。本発明は、上記送信レート決定プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
なお、上記送信レート決定プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
(5)上記実施の形態及び各種補足は、適宜組み合わせて、実現することとしてもよい。
100 サーバ
110 通信部
111 受信部
112 送信部
120 記憶部
130 入力部
140 制御部
141 決定部
150 出力部
200 端末装置
210 通信部
211 受信部
212 送信部
220 記憶部
230 入力部
240 制御部
250 出力部
110 通信部
111 受信部
112 送信部
120 記憶部
130 入力部
140 制御部
141 決定部
150 出力部
200 端末装置
210 通信部
211 受信部
212 送信部
220 記憶部
230 入力部
240 制御部
250 出力部
Claims (12)
- 複数のアバターが行動する仮想現実空間を提供するサーバであって、
各ユーザに対応するアバターの前記仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信部と、
前記複数のアバターの内の一のアバターに対応する端末装置に対して他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定部と、
前記一のアバターに対応する端末装置に対して、前記決定部が決定した送信レートで、前記他のアバターの位置情報及び行動情報を送信する送信部とを備えるサーバ。 - 前記決定部は、前記一のアバターに近い所定の条件を満たす他のアバターの位置情報及び行動情報を送信する送信レートを、前記一のアバターから遠い所定の条件を満たす他のアバターの位置情報及び行動情報を送信する送信レートよりも高くなるように決定する
ことを特徴とする請求項1に記載のサーバ。 - 前記決定部は、前記仮想現実空間を所定の領域で区切った場合の、前記一のアバターの位置情報が属する所定の領域を特定し、前記所定の領域及び前記所定の領域に隣接する隣接領域に含まれる他のアバターの位置情報及び行動情報を送信する送信レートを所定の第1送信レートに決定し、前記所定の領域及び前記隣接領域に含まれない他のアバターの位置情報及び行動情報を送信する送信レートを前記第1送信レートよりも低い第2送信レートに決定する
ことを特徴とする請求項2に記載のサーバ。 - 前記サーバは、前記複数のアバターのうち、特定のアバターの指定を受け付ける受付部を備え、
前記決定部は、前記特定のアバターについての位置情報及び行動情報を送信する送信レートを、前記端末装置に対応するアバターの位置に関わらず、前記第1送信レート以上の送信レートに決定することを特徴とする請求項3に記載のサーバ。 - 前記仮想現実空間は、前記特定のアバターを操作するユーザにより制御可能な表示領域を有し、
前記サーバは、前記特定のアバターに対応する端末装置から、前記表示領域に対して表示する映像の指定を受け付ける指定受付部と、
前記指定受付部が受け付けた映像に関する情報を、前記端末装置各々に配信する配信部とを備えることを特徴とする請求項4に記載のサーバ。 - 前記指定受付部は、前記特定のアバターが前記仮想現実空間中の特定の領域に位置する場合にのみ、前記指定を受け付ける
ことを特徴とする請求項5に記載のサーバ。 - 前記表示領域は、前記仮想現実空間の全天球画像を表示する表示領域であり、
前記配信部は、前記指定受付部が全天球画像の表示の指定を受け付けた場合に、前記全天球画像に関する情報を前記端末装置各々に配信するとともに、前記アバターが移動する移動領域の透過指示を配信する
ことを特徴とする請求項5又は6に記載のサーバ。 - 前記サーバは、前記仮想現実空間において、前記各ユーザのアバターの初期位置を予め設定する設定部を備える
ことを特徴とする請求項1から7のいずれか1項に記載のサーバ。 - 前記複数のアバター各々の態様は、予め定められた形状のキャラクターの顔に、各ユーザの端末装置から送信された画像を張り付けた態様をしている
ことを特徴とする請求項1から8のいずれか1項に記載のサーバ。 - 前記受信部は、さらに、前記端末装置から、特定のアクションを行ったことを示すアクション情報を受信し、
前記送信部は、前記端末装置各々の表示画面に前記特定のアクションに応じたエフェクトを表示させるための信号を、前記端末装置に送信する
ことを特徴とする請求項1から9のいずれか1項に記載のサーバ。 - 複数のアバターが行動する仮想現実空間を提供するサーバによる情報の送信方法であって、
各ユーザに対応するアバターの前記仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信ステップと、
前記複数のアバターの内の一のアバターに対応する端末装置に対して、他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定ステップと、
前記一のアバターに対応する端末装置に対して、前記決定ステップにおいて決定した送信レートで、前記他のアバターの位置情報及び行動情報を送信する送信ステップとを含む送信方法。 - 複数のアバターが行動する仮想現実空間を提供するサーバのコンピュータに、
各ユーザに対応するアバターの前記仮想現実空間における位置情報、及び、当該アバターの行動内容を示す行動情報を、各ユーザの端末装置から逐次受信する受信機能と、
前記複数のアバターの内の一のアバターに対応する端末装置に対して、他のアバターそれぞれの位置情報及び行動情報を送信する送信レートを、当該一のアバターの位置情報と、他のアバターの位置情報とに基づいて決定する決定機能と、
前記一のアバターに対応する端末装置に対して、前記決定機能が決定した送信レートで、前記他のアバターの位置情報及び行動情報を送信する送信機能とを実現させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016160263A JP2018028789A (ja) | 2016-08-17 | 2016-08-17 | サーバ、情報の送信方法及びそのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016160263A JP2018028789A (ja) | 2016-08-17 | 2016-08-17 | サーバ、情報の送信方法及びそのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018028789A true JP2018028789A (ja) | 2018-02-22 |
Family
ID=61248413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016160263A Pending JP2018028789A (ja) | 2016-08-17 | 2016-08-17 | サーバ、情報の送信方法及びそのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018028789A (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6397595B1 (ja) * | 2018-04-12 | 2018-09-26 | 株式会社ドワンゴ | コンテンツ配信サーバ、コンテンツ配信システム、コンテンツ配信方法及びプログラム |
KR101966738B1 (ko) * | 2018-06-28 | 2019-04-08 | 한화시스템 주식회사 | Vr 사이버 지휘소 제공 장치 및 방법 |
KR102058458B1 (ko) | 2018-11-14 | 2019-12-23 | 주식회사 드림한스 | 다중 사용자 간 상호작용이 가능한 가상현실 콘텐츠 제공 시스템 |
KR20190142888A (ko) * | 2018-06-19 | 2019-12-30 | 이성진 | 전통 시장을 기반으로 하는 가상 현실 시스템 |
JP2020116127A (ja) * | 2019-01-23 | 2020-08-06 | 株式会社コロプラ | ゲームプログラム、方法、および情報処理装置 |
JP6995416B1 (ja) | 2021-06-09 | 2022-01-14 | クラスター株式会社 | アバター出力装置、端末装置、アバター出力方法、およびプログラム |
JP2022014819A (ja) * | 2020-07-07 | 2022-01-20 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 合成映像生成システム、合成映像生成方法及びコンピュータープログラム |
JP7015597B1 (ja) | 2021-06-25 | 2022-02-03 | クラスター株式会社 | アバター出力装置、端末装置、アバター出力方法、およびプログラム |
JP2022124650A (ja) * | 2021-02-16 | 2022-08-26 | ナツメアタリ株式会社 | オンライン会議システム |
JP7138375B1 (ja) | 2021-10-22 | 2022-09-16 | クラスター株式会社 | 端末装置、仮想現実空間編集システム、プログラムおよび仮想現実空間編集方法 |
JP7142392B1 (ja) | 2021-06-09 | 2022-09-27 | クラスター株式会社 | アバター出力装置、端末装置、アバター出力方法、およびプログラム |
-
2016
- 2016-08-17 JP JP2016160263A patent/JP2018028789A/ja active Pending
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6397595B1 (ja) * | 2018-04-12 | 2018-09-26 | 株式会社ドワンゴ | コンテンツ配信サーバ、コンテンツ配信システム、コンテンツ配信方法及びプログラム |
JP2019186799A (ja) * | 2018-04-12 | 2019-10-24 | 株式会社ドワンゴ | コンテンツ配信サーバ、コンテンツ配信システム、コンテンツ配信方法及びプログラム |
KR20190142888A (ko) * | 2018-06-19 | 2019-12-30 | 이성진 | 전통 시장을 기반으로 하는 가상 현실 시스템 |
KR102107225B1 (ko) | 2018-06-19 | 2020-05-06 | 이성진 | 전통 시장을 기반으로 하는 가상 현실 시스템 |
KR101966738B1 (ko) * | 2018-06-28 | 2019-04-08 | 한화시스템 주식회사 | Vr 사이버 지휘소 제공 장치 및 방법 |
KR102058458B1 (ko) | 2018-11-14 | 2019-12-23 | 주식회사 드림한스 | 다중 사용자 간 상호작용이 가능한 가상현실 콘텐츠 제공 시스템 |
JP2020116127A (ja) * | 2019-01-23 | 2020-08-06 | 株式会社コロプラ | ゲームプログラム、方法、および情報処理装置 |
JP7061645B2 (ja) | 2020-07-07 | 2022-04-28 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 合成映像生成システム、合成映像生成方法及びコンピュータープログラム |
JP2022014819A (ja) * | 2020-07-07 | 2022-01-20 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 合成映像生成システム、合成映像生成方法及びコンピュータープログラム |
JP7178015B2 (ja) | 2021-02-16 | 2022-11-25 | ナツメアタリ株式会社 | オンライン会議システム |
JP2022124650A (ja) * | 2021-02-16 | 2022-08-26 | ナツメアタリ株式会社 | オンライン会議システム |
JP6995416B1 (ja) | 2021-06-09 | 2022-01-14 | クラスター株式会社 | アバター出力装置、端末装置、アバター出力方法、およびプログラム |
JP7142392B1 (ja) | 2021-06-09 | 2022-09-27 | クラスター株式会社 | アバター出力装置、端末装置、アバター出力方法、およびプログラム |
JP2022188335A (ja) * | 2021-06-09 | 2022-12-21 | クラスター株式会社 | アバター出力装置、端末装置、アバター出力方法、およびプログラム |
JP2022188729A (ja) * | 2021-06-09 | 2022-12-21 | クラスター株式会社 | アバター出力装置、端末装置、アバター出力方法、およびプログラム |
US11694389B2 (en) | 2021-06-09 | 2023-07-04 | Cluster, Inc | Avatar output device, terminal device, avatar output method, and program |
US12067670B2 (en) | 2021-06-09 | 2024-08-20 | Cluster, Inc. | Avatar output device, terminal device, avatar output method, and program |
JP7015597B1 (ja) | 2021-06-25 | 2022-02-03 | クラスター株式会社 | アバター出力装置、端末装置、アバター出力方法、およびプログラム |
JP2023004403A (ja) * | 2021-06-25 | 2023-01-17 | クラスター株式会社 | アバター出力装置、端末装置、アバター出力方法、およびプログラム |
JP7138375B1 (ja) | 2021-10-22 | 2022-09-16 | クラスター株式会社 | 端末装置、仮想現実空間編集システム、プログラムおよび仮想現実空間編集方法 |
JP2023062739A (ja) * | 2021-10-22 | 2023-05-09 | クラスター株式会社 | 端末装置、仮想現実空間編集システム、プログラムおよび仮想現実空間編集方法 |
US11710288B2 (en) | 2021-10-22 | 2023-07-25 | Cluster, Inc. | Editing a virtual reality space |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2018028789A (ja) | サーバ、情報の送信方法及びそのプログラム | |
US12083423B2 (en) | Video game overlay | |
JP6858737B2 (ja) | 視聴プログラム、配信プログラム、視聴プログラムを実行する方法、配信プログラムを実行する方法、情報処理装置、および情報処理システム | |
US11050977B2 (en) | Immersive interactive remote participation in live entertainment | |
US20200066049A1 (en) | System and Method for Collaborative Learning Using Virtual Reality | |
TWI564062B (zh) | 第二使用者對第一使用者之遊戲玩法的遠端控制 | |
US9937423B2 (en) | Voice overlay | |
US9526989B2 (en) | Method and apparatus for receiving game streaming data, and method and server for transmitting game streaming data | |
CN103886009A (zh) | 基于所记录的游戏玩法自动产生为云游戏建议的小游戏 | |
JP2019079510A (ja) | 生放送中の音声フィードバックのための方法とシステム、および非一時的コンピュータ読取可能な記録媒体 | |
JP2023159344A (ja) | ゲーム内位置ベースのゲームプレイコンパニオンアプリケーション | |
CN115175751A (zh) | 基于预测的游戏活动和观众特性驱动虚拟影响者 | |
CN104854574A (zh) | 在实时通信和共享体验会话期间更新服务 | |
JP2022097047A (ja) | 情報処理システム、情報処理方法およびコンピュータプログラム | |
JP2024086965A (ja) | プログラム、および、システム | |
JP2024016017A (ja) | 情報処理システム、情報処理装置およびプログラム | |
JP2023012486A (ja) | 情報処理システム、情報処理方法およびコンピュータプログラム | |
JP2022097475A (ja) | 情報処理システム、情報処理方法およびコンピュータプログラム | |
JP7550411B1 (ja) | プログラム、情報処理方法、サーバ、サーバの情報処理方法及び情報処理システム | |
US11418469B2 (en) | Method, system, and non-transitory computer-readable record medium for providing fiction in messenger | |
WO2022137340A1 (ja) | 情報処理方法、コンピュータ可読媒体、および情報処理装置 | |
US20110151972A1 (en) | Methods for providing content to a gaming account and apparatuses thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20160916 |