特許法第30条第2項適用申請有り (1)ウェブサイトの掲載日 2020年8月19日 ウェブサイトのアドレス https://reality.inc/news/000033/ 公開者 株式会社Wright Flyer Live Entertainment 公開された発明の内容 株式会社Wright Flyer Live Entertainmentが、上記アドレスにより特定されるウェブサイトにおいて、出願に係る発明に関する内容の公開を行った。 (2)ウェブサイトの掲載日 2020年8月19日 ウェブサイトのアドレス https://reality.inc/news/20200819_01.html 公開者 株式会社Wright Flyer Live Entertainment 公開された発明の内容 株式会社Wright Flyer Live Entertainmentが、上記アドレスにより特定されるウェブサイトにおいて、出願に係る発明に関する内容の公開を行った。 (3)ウェブサイトの掲載日 2020年8月19日 ウェブサイトのアドレス https://prtimes.jp/main/html/rd/p/000000151.000021973.html 公開者 株式会社Wright Flyer Live Entertainment 公開された発明の内容 株式会社Wright Flyer Live Entertainmentが、上記アドレスにより特定されるウェブサイトにおいて、出願に係る発明に関する内容の公開を行った。
本明細書は、いかなる方法によっても限定されることを意図していない、代表的な様々な実施形態という意味により記載される。本件出願において用いられるように、「1つの」、「前記」、「上記」、「当該」、「該」、「この」、「その」といった単数形は、複数形でないことを明確に示さない限り、複数形を含むことができる。また、「含む」という用語は、「具備する」こと又は「備える」ことを意味し得る。さらに、「結合された」、「結合した」、「結び付けられた」、「結び付けた、「接続された」又は「接続した」という用語は、対象物を相互に結合する、接続する又は結び付ける、機械的、電気的、磁気的及び光学的な方法を他の方法とともに包含し、このように結合された、結合した、結び付けられた、結び付けた、接続された又は接続した対象物の間にある中間要素の存在を排除しない。
本明細書において記載される、様々なシステム、方法及び装置は、いかなる方法によっても限定されるものとして解釈されるべきではない。実際には、本開示は、開示された様々な実施形態の各々、これら様々な実施形態を相互に組み合わせたもの、及び、これら様々な実施形態の一部を相互に組み合わせたもの、のうちのあらゆる新規な特徴及び態様に向けられている。本明細書において記載される、様々なシステム、方法及び装置は、特定の態様、特定の特徴、又は、このような特定の態様と特定の特徴とを組み合わせたものに限定されないし、本明細書に記載される物及び方法は、1若しくはそれ以上の特定の効果が存在すること又は課題が解決されることを、要求するものでもない。さらには、本明細書において記載された様々な実施形態のうちの様々な特徴若しくは態様、又は、そのような特徴若しくは態様の一部は、相互に組み合わせて用いられ得る。
本明細書において開示された様々な方法のうちの幾つかの方法の動作が、便宜上、特定の順序に沿って記載されているが、このような手法による記載は、特定の順序が以下特定の文章によって要求されていない限り、上記動作の順序を並び替えることを包含する、と理解すべきである。例えば、順番に記載された複数の動作は、幾つかの場合には、並び替えられるか又は同時に実行される。さらには、簡略化を目的として、添付図面は、本明細書に記載された様々な事項及び方法が他の事項及び方法とともに用いられ得るような様々な方法を示していない。加えて、本明細書は、「生成する」、「発生させる」、「表示する」、「受信する」、「評価する」及び「配信する」のような用語を用いることがある。これらの用語は、実行される実際の様々な動作のハイレベルな記載である。これらの用語に対応する実際の様々な動作は、特定の実装に依存して変化し得るし、本明細書の開示の利益を有する当業者によって容易に認識され得る。
本開示の装置又は方法に関連して本明細書に提示される、動作理論、科学的原理又は他の理論的な記載は、よりよい理解を目的として提供されており、技術的範囲を限定することを意図していない。添付した特許請求の範囲における装置及び方法は、このような動作理論により記載される方法により動作する装置及び方法に限定されない。
本明細書に開示された様々な方法のいずれもが、コンピュータにより読み取り可能な1又はそれ以上の媒体(例えば、1又はそれ以上の光学媒体ディスク、複数の揮発性メモリ部品、又は、複数の不揮発性メモリ部品といったような、非一時的なコンピュータにより読み取り可能な記憶媒体)に記憶された、コンピュータにより実行可能な複数の命令を用いて実装され、さらに、コンピュータにおいて実行され得る。ここで、上記複数の揮発性メモリ部品は、例えばDRAM又はSRAMを含む。また、上記複数の不揮発性メモリ部品は、例えばハードドライブ及びソリッドステートドライブ(SSD)を含む。さらに、上記コンピュータは、例えば、計算を行うハードウェアを有するスマートフォン及び他のモバイル装置を含む、市場において入手可能な任意のコンピュータを含む。
本明細書において開示された技術を実装するためのこのようなコンピュータにより実行可能な複数の命令のいずれもが、本明細書において開示された様々な実施形態の実装の間において生成され使用される任意のデータとともに、1又はそれ以上のコンピュータにより読み取り可能な媒体(例えば、非一時的なコンピュータにより読み取り可能な記憶媒体)に記憶され得る。このようなコンピュータにより実行可能な複数の命令は、例えば、個別のソフトウェアアプリケーションの一部であり得るか、又は、ウェブブラウザ若しくは(リモート計算アプリケーションといったような)他のソフトウェアアプリケーションを介してアクセス又はダウンロードされるソフトウェアアプリケーションの一部であり得る。このようなソフトウェアは、例えば、(例えば市場において入手可能な任意の好適なコンピュータにおいて実行されるエージェントとしての)単一のローカルコンピュータにおいて、又は、1又はそれ以上のネットワークコンピュータを用いて、ネットワーク環境(例えば、インターネット、ワイドエリアネットワーク、ローカルエリアネットワーク、(クラウド計算ネットワークといったような)クライアントサーバネットワーク、又は、他のそのようなネットワーク)において、実行され得る。
明確化のために、ソフトウェアをベースとした様々な実装のうちの特定の選択された様々な態様のみが記載される。当該分野において周知である他の詳細な事項は省略される。例えば、本明細書において開示された技術は、特定のコンピュータ言語又はプログラムに限定されない。例えば、本明細書において開示された技術は、C、C++、Java、又は、他の任意の好適なプログラミング言語で記述されたソフトウェアにより実行され得る。同様に、本明細書において開示された技術は、特定のコンピュータ又は特定のタイプのハードウェアに限定されない。好適なコンピュータ及びハードウェアの特定の詳細な事項は、周知であって、本明細書において詳細に説明する必要はない。
さらには、このようなソフトウェアをベースとした様々な実施形態(例えば、本明細書において開示される様々な方法のいずれかをコンピュータに実行させるための、コンピュータにより実行可能な複数の命令を含む)のいずれもが、好適な通信手段により、アップロードされ、ダウンロードされ、又は、リモート方式によりアクセスされ得る。このような好適な通信手段は、例えば、インターネット、ワールドワイドウェブ、イントラネット、ソフトウェアアプリケーション、ケーブル(光ファイバケーブルを含む)、磁気通信、電磁気通信(RF通信、マイクロ波通信、赤外線通信を含む)、電子通信、又は、他のそのような通信手段を含む。
以下、添付図面を参照して本発明の様々な実施形態を説明する。なお、図面において共通した構成要素には同一の参照符号が付されている。また、或る図面に表現された構成要素が、説明の便宜上、別の図面においては省略されていることがある点に留意されたい。さらにまた、添付した図面が必ずしも正確な縮尺で記載されている訳ではないということに注意されたい。
1.システム1000の構成
図1は、一実施形態に係るシステム1000の構成の一例を示すブロック図である。図1に示すように、システム1000は、例えば、図示しない通信回線(通信網)に接続される複数の端末10と、通信回線に接続される1又は複数のサーバ装置20と、を含む。端末10は、第1端末11及び第2端末12を含む。また、サーバ装置20は、例えば、第1サーバシステム21及び第2サーバシステム22を含む。
通信回線は、携帯電話網、無線ネットワーク(例えば、Bluetooth、(IEEE 802.11a/b/nといったような)WiFi、WiMax、セルラー、衛星、レーザー、赤外線、を介したRF接続)、固定電話網、インターネット、イントラネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、及び/又は、イーサネットネットワークを、これらに限定することなく含むことができる。
1-1.端末10
端末10は、例えば、通信回線を介して、1又は複数のサーバ装置20に接続されるものである。端末10は、例えば、スマートフォン、タブレット装置、及び/又はパーソナルコンピュータである。端末10は、例えば、所定のアプリケーションをインストールして当該所定のアプリケーションを実行可能に構成される。また、端末10は、サーバ装置20(第2サーバシステム22)からウェブページ(例えば、HTMLドキュメント、幾つかの例では、JavaScript又はPHPコードといったような実行可能なコードを符号化したHTMLドキュメント)を受信することができる。
なお、以後、端末10を操作するユーザを単にユーザと称し、第1端末11を操作するユーザを第1ユーザ、第2端末12を操作するユーザを第2ユーザと称することがあるものとする。また、図1には、複数の端末10として、例えば、第1端末11及び第2端末12が設けられる例について示されているが、これに限定されない。複数の端末10は、例えば、3以上の端末を含んでもよい。また、以後の説明において、第1端末11および第2端末12を端末10と総称することがあるものとする。
1-2.サーバ装置20
第1サーバシステム21は、配信サーバ装置21A1、サーバ記憶装置21A2を備える。配信サーバ装置21A1は、例えば、端末10において実行されるアプリケーションに関して要求されるデータを端末10から受信する。また、配信サーバ装置21A1は、例えば、当該要求に応じて、端末10において実行されるアプリケーションに用いられるデータを端末10に送信する。サーバ記憶装置21A2は、例えば、配信サーバ装置21A1から端末10に送信するデータを格納する。また、サーバ記憶装置21A2は、例えば、配信サーバ装置21A1が端末10から受信したデータを格納する。また、第1サーバシステム21は、例えば、端末10により実行されるアプリケーションにおいて用いられるデータを端末10に送信する。また、第1サーバシステム21は、例えば、端末10から受信したデータを機器70に送信する。
なお、端末10がアプリケーションを実行する例について説明したが、これに限定されない。例えば、端末10にインストールされるウェブブラウザを用いて、当該アプリケーションを実行することと同等の処理を実行するようにしてもよい。このように、端末10にインストールされるウェブブラウザを用いる場合には、例えば、サーバ装置20は、ウェブサーバ(図示省略)を含んでいてもよい。サーバ装置20が、ウェブサーバ(図示省略)を含む場合には、ウェブサーバは、HTML5等のHTML文書に関するデータを送信し、端末10は、当該ウェブブラウザを用いて当該HTML文書に関するデータを表示し、端末10(当該ウェブブラウザ)に対してユーザ指示データが送信され、サーバ装置20は、表示制御を行う。サーバ装置20は、当該表示制御を行うことで、表示データを生成し、当該表示データを端末10(当該ウェブブラウザ)に送信する。なお、当該ウェブブラウザでJavaScript(登録商標)などのスクリプトを用いて表示制御を行ってもよい。
また、図1においては、第1サーバシステム21が、配信サーバ装置21A1、サーバ記憶装置21A2を備える例について説明したが、これに限定されない。例えば、第1サーバシステム21が、配信サーバ装置21A1及びサーバ記憶装置21A2に加えて他の構成を含んでいてもよい。この場合において、当該他の構成が、配信サーバ装置21A1及びサーバ記憶装置21A2のうち少なくともいずれかの機能を有してもよい。また、例えば、第1サーバシステム21が、配信サーバ装置21A1及びサーバ記憶装置21A2の機能を備える単一の構成によって構成されていてもよい。
第2サーバシステム22は、コンテンツに関するデータを端末10に送信するサーバである。ここで、例えば、ユーザが端末10を操作してアプリケーションを実行する場合を想定する。この場合において、第2サーバシステム22が、当該アプリケーションの実行中に、コンテンツに関するデータの要求を端末10から受信した場合に、第2サーバシステム22は、コンテンツに関するデータを端末10に送信する。第2サーバシステム22から端末10に送信されるコンテンツに関するデータは、例えば、動画に関するデータである。
1-3.機器70
機器70(第3端末)は、例えば、仮想会場を運営する運営者又は運営団体によって操作される端末である。機器70は、第1サーバシステム20に所定のデータを送信し、第1サーバシステム20から送信される所定のデータを受信する。機器70の具体的な構成については後述する。
2.各装置のハードウェア構成
次に、端末10、及び、サーバ装置20の各々が有するハードウェア構成の一例について説明する。
2-1.端末10のハードウェア構成
各端末10のハードウェア構成例について図2を参照して説明する。図2は、図1に示した端末10(サーバ装置20)のハードウェア構成の一例を示すブロック図である。なお、図2において、括弧内の参照符号は、後述するようにサーバ装置20に関連して記載されたものである。
図2に示すように、各端末10は、例えば、中央処理装置14と、主記憶装置15と、入出力インターフェース装置16と、入力装置17と、補助記憶装置18と、出力装置19と、を含む。図2に示される構成同士は、データバス及び/又は制御バスにより接続されている。
中央処理装置14は、「CPU」と称されるものであり、主記憶装置15に記憶されている命令及びデータに対して演算を行い、その演算の結果を主記憶装置15に記憶させるものである。さらに、中央処理装置14は、入出力インターフェース装置16を介して、入力装置17、補助記憶装置18及び出力装置19等を制御することができる。端末10は、1又はそれ以上のこのような中央処理装置14を含むことが可能である。
主記憶装置15は、「メモリ」と称されるものであり、入力装置17、補助記憶装置18及び通信回線30(サーバ装置20等)から、入出力インターフェース装置16を介して受信した命令及びデータ、並びに、中央処理装置14の演算結果を記憶するものである。主記憶装置15は、揮発性メモリ(例えば、レジスタ、キャッシュ、ランダムアクセスメモリ(RAM))、不揮発性メモリ(例えば、リードオンリーメモリ(ROM)、EEPROM、フラッシュメモリ)、及び、ストレージ(例えば、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、磁気テープ、光学媒体)、といったようなコンピュータにより読み取り可能な媒体を、これらに限定することなく含むことができる。容易に理解されるように、「コンピュータにより読み取り可能な記録媒体」という用語は、変調されたデータ信号すなわち一時的な信号といったような送信媒体ではなく、メモリ及びストレージといったようなデータストレージのための媒体を含むことができる。
入力装置17は、外部からデータを取り込む装置であり、タッチパネル、ボタン、キーボード、マウス及び/又はセンサ等をこれらに限定することなく含むものである。センサは、後述するように、1又はそれ以上のカメラ等及び/又は1又はそれ以上のマイク等を含むセンサをこれらに限定することなく含むことができる。
補助記憶装置18は、主記憶装置15よりも大きな容量を有する記憶装置である。上述した特定のアプリケーション(動画配信用アプリケーション、動画視聴用アプリケーション等)やウェブブラウザアプリケーション等を構成する命令及びデータ(コンピュータプログラム)を記憶することができる。さらに、補助記憶装置18は、中央処理装置14により制御されることにより、これらの命令及びデータ(コンピュータプログラム)を、入出力インターフェース装置16を介して、主記憶装置15に送信することができる。補助記憶装置18は、磁気ディスク装置及び/又は光ディスク装置等をこれらに限定することなく含むことができる。
出力装置19は、ディスプレイ装置、タッチパネル及び/又はプリンタ装置等をこれらに限定することなく含むことができる。
このようなハードウェア構成にあっては、中央処理装置14が、補助記憶装置18に記憶された特定のアプリケーションを構成する命令及びデータ(コンピュータプログラム)を順次主記憶装置15にロードし、ロードした命令及びデータを演算することにより、入出力インターフェース装置16を介して出力装置19を制御し、或いはまた、入出力インターフェース装置16及び通信回線2を介して、他の装置(例えばサーバ装置20、他の端末10)との間で様々なデータの送受信を行うことができる。
2-2.サーバ装置20のハードウェア構成
各サーバ装置20のハードウェア構成例について同じく図2を参照して説明する。各サーバ装置20(配信サーバ装置21A1及びサーバ記憶装置21A2の各々)のハードウェア構成としては、例えば、上述した各端末10のハードウェア構成と同一のものを用いることが可能である。したがって、各サーバ装置20が有する構成要素に対する参照符号は、図2において括弧内に示されている。
図2に示すように、各サーバ装置20は、主に、中央処理装置24と、主記憶装置25と、入出力インターフェース装置26と、入力装置27と、補助記憶装置28と、出力装置29と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されている。
中央処理装置24、主記憶装置25、入出力インターフェース装置26、入力装置27、補助記憶装置28、及び、出力装置29は、それぞれ、上述した各端末10に含まれる、中央処理装置14、主記憶装置15、入出力インターフェース装置16、入力装置17、補助記憶装置18及び出力装置19と略同一なものとすることができる。
このようなハードウェア構成にあっては、中央処理装置24が、補助記憶装置28に記憶された特定のアプリケーションを構成する命令及びデータ(コンピュータプログラム)を順次主記憶装置25にロードし、ロードした命令及びデータを演算することにより、入出力インターフェース装置26を介して出力装置29を制御し、或いはまた、入出力インターフェース装置26及び通信回線2を介して、他の装置(例えば各端末10)との間で様々なデータの送受信を行うことができる。
なお、サーバ装置20は、中央処理装置24に代えて又は中央処理装置24とともに、1又はそれ以上のマイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含むものであってもよい。
3.各装置の機能
次に、端末10、及び、サーバ装置20の各々が有する機能の一例について、それぞれ、図3、及び、図4を用いて説明する。
3-1.端末10の機能
図3は、図1に示した端末10の機能の一例を示すブロック図である。図3に示すように、端末10は、例えば、通信部110と、取得部120と、制御部130と、表示部140と、ユーザインターフェース部150と、記憶部160と、を含む。
(1)通信部110
通信部110は、例えば、サーバ装置20に各種データを送信するために用いられる。また、通信部210は、例えば、サーバ装置20から各種データを受信するために用いられる。通信部210において受信したデータは、例えば、制御部130に送られる。
(2)取得部120
取得部120は、例えば、ユーザから操作に関する操作データを取得する。また、取得部120は、例えば、各種センサによって検出されるデータを取得する。取得部120において取得されたデータは、例えば、制御部130に送られる。取得部120は、例えば、後述する図9のS121、図9のS122、図10のS121、及び、図10のS122の処理を行う。例えば、操作データは、次のデータのうちの1つ又はそれ以上を含むことができる。
・配信者がタッチパッドディスプレイをどのようにスワイプしたかを示すデータ
・配信者がいずれのオブジェクトをタップ又はクリックしたかを示すデータ
・配信者がタッチパッドディスプレイをどのようにドラッグしたかを示すデータ
・他のそのような操作データ
なお、取得部120が取得するデータは、非操作に関するデータ(操作をしなかったことを示すデータ)であってもよく、例えば、特定時間(特定期間)端末10を操作しなかったことを示すデータ、及び/又は、仮想空間300内のある特定の場所に入らなかったことを示すデータである。
(3)制御部130
制御部130は、例えば、通信部110において受信したデータに基づいて各種制御を行うものである。また、制御部130は、取得部120において取得したデータに基づいて各種制御を行う。制御部130は、例えば、後述する図9のS131、図9のS141、及び、図10のS141の処理を行う。
(4)表示部140
表示部140は、例えば、制御部130から出力される制御データに基づく表示内容を表示するものである。表示部140は、例えば、所定のアプリケーションを選択する画面を表示する。また、表示部140は、例えば、所定のアプリケーションを選択して所定のアプリケーションを実行した場合において仮想空間内に関する画面を表示する。
(5)ユーザインターフェース部150
ユーザインターフェース部150は、アプリケーションの実行に用いられる様々なデータをユーザの操作を介して入力するためのものである。
(6)記憶部160
記憶部160は、アプリケーションの実行に用いられる様々なデータを記憶することができる。記憶部160は、表示部140を制御するために用いられるデータを記憶する。記憶部160は、例えば、第1ユーザのアバター及び第2ユーザのアバターの生成に用いられるモジュールデータを記憶する。なお、記憶部160は、第1ユーザのアバター及び第2ユーザのアバターの生成に用いられるモジュールデータを記憶する場合に限定されるものに限定されず、他のアバターの生成に用いられるモジュールデータを記憶してもよい。
なお、モジュールデータは、例えば、アバターを生成するためのパーツに関するデータである。ここで、アバターを生成するためのパーツは、例えば、アバターの各パーツ(目、鼻、口、眉毛、肌の色、髪型、髪の色、服、体、等)のデータを含む。また、モジュールデータは、アバターを生成するための各パーツに対応して割り当てられるIDに関するデータを含む。なお、アバターのパーツが体である場合には、アバターを生成するためのパーツに関するデータは、痩せ型、やや痩せ型、標準、やや肥満、肥満、など、体型に関して細分化されたデータを含んでいてもよい。
また、表示部140が、アバター80A以外のアバター80(他人のアバター)を表示する場合において、サーバ装置20が、アバター80A以外のアバター80の生成に用いられるIDデータを第1端末11に送信し、第1端末11が、当該IDデータに基づいて、アバター80A以外のアバター80を構築する構成であってもよい。
また、表示部140が、アバター80A以外のアバター80(他人のアバター)を表示する場合において、表示部140は、アバター80A以外のアバター80を黒色に着色して表示してもよいし、アバター80A以外のアバター80に対応するユーザの性別(例えば、男性又は女性)に基づいて決定されるパーツ及び/又は色彩を用いて男性用または女性用の2択のアバター80A以外のアバター80を表示してもよい。
3-2.サーバ装置20の機能
図4は、図1に示したサーバ装置20の機能の一例を示すブロック図である。図4に示されるように、サーバ装置20は、例えば、通信部210と、記憶部220と、制御部230と、を含む。
(1)通信部210
通信部210は、例えば、端末10に各種データを送信するために用いられる。また、通信部210は、例えば、端末10から各種データを受信するために用いられる。通信部210において受信したデータは、制御部230に送られる。
(2)記憶部220
記憶部220は、アプリケーションの実行に用いられる様々なデータを記憶するものである。記憶部220は、例えば、第1端末11から送信される第1データ及び第2端末12から送信されるデータを記憶する。第1端末11から送信される第1データ、及び、第2端末12から送信されるデータ、の少なくとも何れかは、例えば、「行動履歴」に関するデータを含んでいてもよい。なお、第1端末11から送信される第1データ、第2端末12から送信されるデータ、及び、「行動履歴」に関するデータの詳細については後述する。
(3)制御部230
制御部230は、例えば、通信部210において受信したデータに基づいて各種制御を行うものである。制御部230は、例えば、後述する図9のS183、図9のS193、図10のS133、図10のS183、及び、図10のS193の処理を行う。
図5は、第1端末11を操作してアプリケーションを起動することで第1端末11の表示部140に表示される表示例を示す図である。図5に示されるように、表示部140には仮想空間300が表示される。仮想空間300は、例えば、3次元空間である。仮想空間内300内には、アバター80、及び、仮想会場310が示されている。なお、仮想空間内300内には、アバター80、及び、仮想会場310の他に、ライブ会場(後述する)に関する施設が設けられていてもよい。
アバター80は、ユーザの操作により、例えば、歩行、走行、及び、跳躍(ジャンプ)、のうち少なくともいずれかを行うことが出来るように構成されている。また、アバター80は、例えば、ユーザの操作により、仮想オブジェクトを調べる、仮想オブジェクトを押す、仮想オブジェクトを引く、仮想オブジェクトを持ち上げる、仮想オブジェクトに着席する、仮想オブジェクトを購入する、仮想オブジェクトにアイテムを渡す、ことが出来るように構成されている。ここで、仮想オブジェクトは、例えば、アバター、ドア、食料品、入場券、椅子、展示物などである。なお、端末10を用いてユーザがアバター80を操作すると、当該操作に関するデータが、サーバ装置20に送信される。
上述の「仮想オブジェクトを調べる」という操作により、当該仮想オブジェクトに関する説明が表示部140に表示される。当該仮想オブジェクトを説明する文は、例えば、当該仮想オブジェクトの名称、当該仮想オブジェクトの用途、及び、当該仮想オブジェクトの価格、のうち少なくともいずれかである。当該仮想オブジェクトに関する説明は、例えば、文章、画像、および、動画、の少なくともいずれかである。
上述の「仮想オブジェクトを押す」という操作、「仮想オブジェクトを引く」という操作、「仮想オブジェクトを持ち上げる」という操作により、当該仮想オブジェクトの仮想空間300内での位置を変更させることができる。
上述の「仮想オブジェクトに着席する」という操作により、アバター80が当該仮想オブジェクトに着席する。なお、アバター80は当該仮想オブジェクト以外の特定の場所に着席可能であるように構成されていてもよい。また、アバター80が当該仮想オブジェクトに着席する場合、または、アバター80が当該仮想オブジェクト以外の特定の場所に着席する場合において、表示部140は、アバター80が着席する前における表示画面とは別の表示画面(例えば、UI操作部やチャット画面がない表示画面)を表示してもよいし、アバター80が着席する前において存在したユーザインターフェースを非表示にしてもよい。表示部140が、アバター80が着席する前における表示画面とは別の表示画面を表示する場合において、表示部140は、表示対象の画面等が全画面表示になるような表示を行ってもよい。
上述の「仮想オブジェクトを購入する」という操作により、例えば、当該仮想オブジェクトを購入することができる。当該仮想オブジェクトが着用可能なものである場合には、アバター80が購入した当該仮想オブジェクトを身に着けることでアバター80の外観を変化させることができる。
なお、表示部140に表示されるアバターのうち、操作するアバター80以外のアバター80は、ユーザによって操作されるアバターであってもよいし、仮想空間300内での動作について予め決定されているものであってもよい。ここで、アバター80が、仮想空間300内での動作について予め決定されている場合には、アバター80は、NPC(Non Player Character)として動作することを意味する。
また、図5に示されるアバター80の外観はすべて同一であるが、これに限定されない。アバター80を操作するユーザに関するデータに基づいてアバター80の外観を決定してもよい。例えば、アバター80を操作するユーザが男性である場合にはアバター80の外観が男性であってもよい。また、例えば、アバター80を操作するユーザが女性である場合にはアバター80の外観が女性であってもよい。
また、ユーザの動作に連動して仮想空間内のアバターの動作が変化してもよい。例えば、ユーザが頷く動作をした場合に仮想空間内のアバターも同様に頷く動作をしてもよい。ここで、動作データは、例えば、モーションキャプチャシステムを用いて取得され得る。本開示による利益を有する当業者により容易に理解されるように、本件出願において開示される装置及び方法とともに使用され得る幾つかの例の適切なモーションキャプチャシステムは、パッシブマーカ若しくはアクティブマーカを用いた又はマーカを用いない光学式モーションキャプチャシステムと、慣性式及び磁気式の非光学式システムとを含む。モーションデータは、モーションデータを動画又は他のイメージデータに変換するコンピュータに結合された、(CCD(電荷結合デバイス)又はCMOS(相補型金属酸化膜半導体)イメージセンサといったような)イメージキャプチャ装置を用いて取得され得る。
図5に示されるアバター80Aを操作する場合には、例えば、表示部140は、図6のような画面を表示する。
図6は、端末10の表示部140に表示される表示例を示す図である。具体的には、図6は、第1端末11を用いて第1ユーザがアバター80Aを操作する場合において、第1端末11の表示部140に表示される例を示す図である。図6に示されるように、例えば、アバター80、アバター80A、及び、仮想会場310が表示部140に表示される。ここで、表示部140は、アバター80Aの背面を表示しており、第1端末11を操作する第1ユーザの視線と、第1ユーザに対応するアバター80Aの視線と、が同じ方向である。表示部140には、例えば、アバター80Aよりも図6の紙面手前方向に位置する仮想視点を基準としてアバター80Aを含む仮想空間内の領域が表示される。表示部140には、仮想空間のうちアバター80Aの進行方向を含む領域が表示されている。なお、端末10を用いてアバター80Aを操作することで、表示部140に表示される仮想空間内の領域が変更されうる。例えば、端末10を用いてアバター80Aの進行方向を180度変更することで、図6におけるアバター80Aの後方領域を表示することができる。このように、端末10を用いてアバター80Aを操作することで、図6には表示されていない領域を表示部140に表示することができる。第1端末11を操作するユーザがアバター80Aを操作し、図6に示されるアバター80Aが仮想会場310の内部に位置すると、例えば図7のような表示画面が表示される。
なお、図6において、第1ユーザによるアバター80Aの操作が行われると、第1端末11は、例えば、アバター80Aの仮想空間300内の位置に関するデータを取得する。また、例えば、第1端末11が取得したアバター80Aの仮想空間300内の位置に関するデータはサーバ装置20に送信される。なお、第1端末11がアバター80Aの仮想空間300内の位置に関するデータを取得するタイミングは任意のタイミングであってよい。また、例えば、第1端末11が取得したアバター80Aの仮想空間300内の位置に関するデータがサーバ装置20に送信されるタイミングについても任意のタイミングであってよい。
また、第1端末11の表示部140のうち任意の領域をタッチ操作することができるようになっていてもよい。また、第1端末11が加速度センサ(図示省略)を備え、第1端末11を動作させた場合において、当該加速度センサに基づいて、表示部140が表示する表示領域及び/又は方向を変更できる構成であってもよい。ここで、上述の「任意の領域」は、例えば、図6の領域301及び/又は領域314を含む。領域301及び/又は領域314は、タッチ操作を行うことにより所定の表示制御を行うための操作ユーザインターフェースである。また、「タッチ操作」は、例えば、タップ、ダブルタップ、スワイプ、フリック、ピンチイン、及び、ピンチアウト、のうち少なくともいずれかの操作を指す。また、領域301は、図6に記載されているように、2つ設けられていてもよいし、1つ又は3つ以上設けられていてもよい。なお、領域301が2つ以上に設けられる場合において、一の領域301が、例えば、アバター80Aを歩行させるために用いられる領域に対応し、他の領域301が、例えば、アバター80Aをジャンプさせるために用いられる領域に対応する。このようにして、領域301をタッチ操作することでアバター80Aを歩行又はジャンプさせることができる。ここで、アバター80Aを歩行又はジャンプさせるためのタッチ操作は、例えば、アバター80Aの領域301をタップ又はダブルタップする操作である。また、アバター80Aを歩行又はジャンプさせるためのタッチ操作を行う領域は領域301以外の領域であってもよい。また、領域301及び/又は領域314は、図6の表示を行う場合のみならず、後述する他の図面(例えば、図7及び/又は図8)の表示を行う場合においても同一の位置又は異なる位置に表示されていてもよい。
また、例えば、図6に示されるように、点321をタップ又はダブルタップする操作を行うと、表示部140は、アバター80Aと点321とを結ぶ線分322を表示し、アバター80Aは、線分322に沿って点321まで歩行する。なお、点321及び線分322は、任意の色であってよい。また、アバター80Aを歩行させるためのタッチ操作は、アバター80Aのいずれかの領域をフリックする操作を行うことで進行方向を変更した後に変更後の進行方向の仮想直線上の任意の点をタップ又はダブルタップする操作である。
また、第1端末11は、第1ユーザが表示部140の領域314を介して全アバター80のうち少なくとも一のアバター80に対応するユーザとチャットすることができるように構成されていてもよい。ここで、領域314は、アバター80に対応するユーザが入力するメッセージを表示する領域である。また、第1ユーザとチャットするユーザは、個人のユーザ又は出展企業である。また、領域314に複数のメッセージを表示する場合において、領域314内に全てのメッセージを表示できないような場合に、タッチ操作を行うことで、領域314内に表示されていないメッセージを表示することができる。ここで、領域314内に全てのメッセージを表示できないような場合におけるタッチ操作は、例えば、スワイプである。
図7は、端末10の表示部140に表示される仮想会場310における表示画面の例を示す図である。図7は、第1端末11を操作するユーザがアバター80Aを操作し、図6に示されるアバター80Aが仮想会場310の内部に位置することで、場面が切り替わり、これにより、表示画面が切り替わる。なお、アバター80Aが仮想会場310の外部(例えば図6)に存在する場合における表示画面を第1端末11のウェブブラウザを用いて表示する場合におけるURLは、アバター80Aが仮想会場310の内部(例えば図7)に存在する場合における表示画面を第1端末11のウェブブラウザを用いて表示する場合におけるURLとは異なる。したがって、第1端末11のウェブブラウザを用いる場合において、図6に示されるアバター80Aが仮想会場310の内部に位置すると、URLが変更されることとなる。図7に示されるように、アバター80、アバター80A、椅子81、表示領域311、表示領域312、アバター313、及び、領域314が示されている。ここで、仮想会場310は、例えば、展示会またはイベント会場などのブースである。椅子81は、少なくとも一つ設けられる。アバター80、アバター80Aは、仮想会場310内の第1領域に位置しているものとする。
椅子81は、例えば、アバター80が着席可能な仮想オブジェクトである。例えば、ユーザがアバター80Aを操作して複数の椅子81のうち特定の椅子に近づいて所定の操作を行うことで、アバター80は椅子81に着席する。また、例えば、ユーザがアバター80Aを操作して複数の椅子81のうち特定の椅子に近づいて所定の操作を行うことで、第1端末11の表示画面には特定の椅子に座るかどうかを尋ねるメッセージが表示される。第1端末11の表示画面に特定の椅子に座るかどうかを尋ねるメッセージが表示される場合において、ユーザが端末10を操作して当該メッセージに対して特定の椅子に座る意思を示す所定の操作を行うと、アバター80は椅子81に着席する。これにより、表示部140は、三人称視点に関する表示に代えて一人称視点に関する表示を行う。すなわち、表示部140は、アバター80Aを含む表示に代えてアバター80Aを含まない表示を行う。
表示領域311には、例えば、各種説明を行う資料が表示され、及び/又は、動画が表示される。表示領域312には、仮想会場310を運営する団体の名称、説明会のテーマ、などが表示される。アバター313は、例えば、仮想会場310を進行するスタッフを模したアバターである。アバター313は、ユーザによって操作されるアバターであってもよいし、仮想空間300内での動作について予め決定されているアバターであってもよい。ここで、アバター80が仮想空間300内での動作について予め決定されて動作する場合には、当該アバターは、上述したNPCとして動作することを意味する。
領域314には、第1端末11から送信されるメッセージ、及び、第1端末以外の端末から送信されるメッセージ、のうち少なくともいずれかのメッセージが表示される。ここで、領域314に表示されるメッセージは、第1端末宛のメッセージを表示してもよいし、領域314に表示されるメッセージは、第1端末以外の端末間でやり取りされるメッセージを表示してもよい。したがって、領域314は、仮想空間300内に存在する少なくとも一のアバター80に対応するユーザが閲覧及び/又はチャット可能な領域、または、仮想空間300内の特定の場所に存在する少なくとも一のアバター80に対応するユーザが閲覧及び/又はチャット可能な領域として機能する。
なお、表示部140に領域314が表示される条件は、アバター80が仮想会場310内に位置している場合に限定されるものではない。例えば、アバター80が仮想空間300内の所定領域内に位置している場合に、当該所定領域に対応する表示領域を表示部140に表示してもよい。すなわち、アバター80が存在する位置に応じて、表示部140に表示する表示領域が決定されてもよい。これにより、ユーザは、自身のアバター80が存在する領域と同一領域に存在する他のアバター80に対応するユーザとメッセージをやり取りすることができる。したがって、ユーザは、興味、関心、及び/又は属性が共通する他のユーザと容易にコミュニケーションを図ることができる。
また、領域314に表示されるメッセージの送信元の端末は、例えば、仮想会場310内に存在するアバターを操作するユーザが用いる端末である。ただし、領域314が表示されるメッセージの送信元の端末に対応するアバターは、仮想会場310に表示されていてもよいし、仮想会場310に表示されていなくともよい。
また、領域314には、購入可能な商品を表示してもよい。当該商品は、例えば、仮想会場310を運営する運営者又は運営団体に関連する商品である。領域314には、当該商品とともに、当該商品に関する内容、及び、当該商品の購入を促す内容を表示してもよい。ここで、当該商品の購入を促す内容は「買い物かごに入れる」等の表示であって且つ選択可能に構成される。
また、ユーザが端末10を用いて領域314に表示される少なくとも一の商品の購入手続を進める操作をすることで、例えば、端末10にインストールされるブラウザが起動され、当該商品を購入するために用いられる内容の入力を要求するページが表示部140に表示される。
仮想会場310において、所定の時刻になると、例えば、所定の説明が開始される。ここで、仮想空間内で用いられる時刻は、現実の時刻と同一となるように同期する時刻であってもよいし、現実の時刻とは別に仮想空間300内で用いられる時刻であってもよい。なお、仮想会場310において所定の説明が開始される条件は、時刻に関するものでなくともよい。例えば、仮想会場310において所定の説明が開始される条件は、例えば、仮想会場310に存在するアバターが所定数以上になった場合、または、特定のアバターが仮想会場310内に位置した場合、などであってもよい。
なお、複数のアバターが同時刻において一つの座席に重複して着席できるように構成されていてもよい。例えば、図7の左端の椅子81にアバター80が着席している状態で、ユーザが端末10を用いてアバター80Aを操作して図7の左端の椅子81にアバター80Aを着席させることができる構成であってもよい。このようにして、例えば、仮想会場310内に位置するアバターの総数が椅子81の総数を上回る場合においても、表示領域311に表示されるコンテンツを視聴する全てのアバターを仮想会場310内において着席させることができる。
所定の時刻において開始される所定の説明は、表示領域311に所定の内容を表示、及び/又は、音声の出力、によって行われる。当該説明は、例えば、動画である。当該動画は、例えば、所定の説明動画、コンサート等のイベント動画、映画等の動画、並びに、リアルタイムのVtuberの動き及び/又は演技を反映した動画、のうちいずれかである。当該説明が動画である場合には、端末10は、第2サーバシステム22に対して動画に関するデータを要求する。そして、第2サーバシステム22は、当該要求に応答して動画に関するデータを端末10に送信する。これにより、端末10は、第2サーバシステム22から動画に関するデータを受信して動画を視聴することができる。
図8は、端末10の表示部140に表示される表示例を示す図である。図8にはライブ会場410が示されている。ライブ会場410は、仮想空間300内に設けられる会場の例である。図8に示されるように、ライブ会場410の内部には複数の椅子81が設けられている。椅子81は、例えば、アバター80が着席可能な仮想オブジェクトである。例えば、ユーザがアバター80Aを操作して複数の椅子81のうち特定の椅子に近づいて所定の操作を行うことで、アバター80は椅子81に着席する。また、例えば、ユーザがアバター80Aを操作して複数の椅子81のうち特定の椅子に近づいて所定の操作を行うことで、第1端末11の表示画面には特定の椅子に座るかどうかを尋ねるメッセージが表示される。第1端末11の表示画面に特定の椅子に座るかどうかを尋ねるメッセージが表示される場合において、ユーザが端末10を用いて当該メッセージに対して特定の椅子に座る意思を示す所定の操作を行うと、アバター80は椅子81に着席する。
所定の時刻になると、動画が表示領域411において再生される。ここで、仮想空間内で用いられる時刻は、現実の時刻と同一となるように同期する時刻であってもよいし、現実の時刻とは別に仮想空間300内で用いられる時刻であってもよい。なお、動画が表示領域411において再生される条件は、時刻に関するものでなくともよい。例えば、動画が表示領域411において再生される条件は、例えば、ライブ会場410に存在するアバターが所定数以上になった場合、または、特定のアバターがライブ会場410内に位置した場合、などであってもよい。
なお、複数のアバターが同時刻において一つの座席に重複して着席できるように構成されていてもよい。例えば、図8の最左端の椅子81にアバター80が着席している状態で、ユーザが端末10を用いてアバター80Aを操作して図8の最左端の椅子81にアバター80Aを着席させることができる構成であってもよい。このようにして、例えば、ライブ会場410内に位置するアバターの総数が椅子81の総数を上回る場合においても、表示領域411に表示されるコンテンツを視聴する全てのアバターをライブ会場410内において着席させることができる。
また、図8においては、ライブ会場410内にアバター80Aが示されていないが、これに限定されない。ライブ会場410内においてアバター80Aを表示部140に表示し、第1ユーザが用いる第1端末11の操作に応じて表示部140内でアバター80Aが動作するように構成されていてもよい。
4.システム1000の動作
図9及び図10を参照してシステム1000の動作について説明する。図9及び図10は、図1に示したシステム1000を用いて行われる動作の一例を示すフローチャートである。
まず、図9を参照して、S111~S193について順に説明する。
S111において、第1ユーザは第1端末11を操作してアプリケーションを起動し、S112において、第2ユーザは第2端末12を操作してアプリケーションを起動する。
S121において、第1端末11は第1データを取得する。また、S122において、第2端末12は第2データを取得する。S122の処理の後、第2端末12は、第2ユーザが操作するアバターの位置に関するデータをサーバ装置20に送信する。その後、サーバ装置20は、第2端末12を用いて操作するアバターの位置に関するデータを含む第2データを第1端末11に送信する。
なお、図9においては、端末10が、第1端末11及び第2端末12の2つである例について説明しているが、端末10が、第1端末11及び第2端末12に加えて、少なくとも一の他の端末を含んでいてもよい。この場合には、少なくとも一の他の端末の各々を用いて操作するアバターの位置に関するデータがサーバ装置20に送信される。そして、サーバ装置20は、第1端末以外の端末から受信したデータに基づいて第2データを決定し、当該第2データを第1端末11に送信する。
また、第1データは、例えば、第1ユーザの端末を用いて操作される仮想空間内のアバターに関するデータを含む。また、第1データは、ユーザの操作データや操作履歴データであって、例えば、第1ユーザのアバターの位置に関するデータを含む。第1データは、例えば、第1ユーザの端末を用いて操作される仮想空間内のアバターの仮想空間内での行動履歴に関するデータを含む。
また、第2データは、例えば、第1ユーザ以外の少なくとも一のユーザの各々のユーザの端末を用いて操作される仮想空間内のアバターに関するデータを含む。また、第2データは、例えば、第1ユーザ以外の少なくとも一のユーザのアバターの位置、及び、第1ユーザ以外の少なくとも一のユーザのアバターのうち仮想空間内の第1領域に位置するアバターの総数、のうち少なくともいずれかを含む。第2データは、例えば、第1ユーザ以外の少なくとも一のユーザの端末を用いて操作される仮想空間内のアバターの仮想空間内での行動履歴に関するデータを含む。
S131において、第1端末11は第1判定処理を行う。ここで、第1判定処理は、第1ユーザのアバターの位置、または、第2データが、所定の条件を満たすか否かを判定するものである。S131において、第1端末11が、所定の条件を満たしたと判定した場合には、第1端末11の表示部140を制御する制御データを決定し、S141の処理が実行される。一方、S131において、第1端末11が、所定の条件を満たしていないと判定した場合には、S131の処理が繰り返される。
S131における所定の条件は、第1ユーザのアバター80Aが第1領域に位置する場合、アバター80A以外のアバター80のうち第1領域に位置するアバター80の総数が第1値以上である場合、アバター80A以外のアバター80のうち第1領域に位置するアバター80の総数が第2値以下である場合、アバター80A以外のアバター80のうち第1領域に位置する一のアバター80から第1距離以内に位置するアバター80の数が第3値以上である場合、及び、アバター80A以外のアバター80のうち第1領域に位置する一のアバター80から第1距離以内に位置するアバター80の数が第4値以下である場合、の少なくともいずれかである。なお、上述の第1値は、上述の第2値よりも大きく、上述の第3値は、上述の第4値よりも大きい。また、第1領域は、例えば、仮想会場310の内部の領域又はライブ会場410の内部の領域である。
なお、サーバ装置20は、同時接続数、ユーザ、及び、イベントの属性の少なくとも何れかに関するデータを第1端末11に送信してもよい。そして、第1端末11は、当該データを受信し、描画のパフォーマンスを考慮して、表示部140が表示するアバター80の総数を決定してもよい。これにより、第1端末11が、仮に、高度な性能を有しない場合においても、第1端末11は、第1端末11が有する性能の範囲内において、アバター80Aを操作する第1ユーザが同期を感じられるようにアバター80を描画することができる。また、第1端末11は、描画できる3Dモデルのメッシュの頂点数、マテリアル、及び、テクスチャーの枚数の少なくともいずれかを考慮して、上述のようにアバター80の総数を決定する。
S131において決定される制御データは、第1端末11の表示画面を制御するデータである。また、この制御データは、第2データに含まれるアバターの位置に基づいて決定される表示画面に表示する少なくとも一のユーザのアバターの位置、及び、第2データに含まれるアバターの総数に基づいて決定される表示画面に表示する少なくとも一のユーザのアバターの総数に関するデータを含む。
S141において、第1端末11は、当該制御データに基づいて第1端末11の表示部140を制御する処理を行う。
S183において、サーバ装置20は、第1データ及び第2データの少なくともいずれかに基づいて分析データを決定する。そして、サーバ装置20は、決定した分析データを機器70に送信する。サーバ装置20は、例えば、第1データ及び第2データの少なくともいずれかを受信する度に、分析データを決定し、決定した分析データを機器70に送信する。
S193において、サーバ装置20は、第1データ及び第2データの少なくともいずれかに基づいて広告データを決定する。なお、当該広告データは、第1データに基づいて決定されるデータであって第1端末11を操作する第1ユーザ向けのデータ、及び、第2データに基づいて決定されるデータであって第2端末12を操作する第2ユーザ向けのデータを含む。S193において、サーバ装置20は、決定した第1ユーザ向けの広告データを第1端末11に送信し、決定した第2ユーザ向けの広告データを第2端末12に送信する。
次に、図10を参照して、S111~S193について順に説明する。
S111において、第1ユーザは第1端末11を操作することでアプリケーションを起動し、S112において、第2ユーザは第2端末12を操作することでアプリケーションを起動する。
S121において、第1端末11は第1データを取得する。また、S122において、第2端末12は第2データを取得する。S121の後、サーバ装置20は、第1端末11から第1データを取得する。S122の後、サーバ装置20は、第2端末12から、第2端末12において取得されたデータを取得する。サーバ装置20が、第1端末11から第1データを取得し、第2端末12から、第2端末12において取得されたデータを取得した後、S133の処理が行われる。また、サーバ装置20は、第1端末11に対して、少なくとも一のユーザのアバターの生成を要求するデータを第1端末11に送信する。
なお、図9においては、端末10が、第1端末11及び第2端末12の2つである例について説明しているが、端末10が、第1端末11及び第2端末12に加えて、少なくとも一の他の端末を含んでいてもよい。この場合には、少なくとも一の他の端末の各々を用いて操作するアバターの位置に関するデータがサーバ装置20に送信される。そして、サーバ装置20は、第1端末以外の端末から受信したデータに基づいて第2データを決定する。
S133において、サーバ装置20は第1判定処理を行う。ここで、図10のS133の第1判定処理は、図9のS131の第1判定処理と同様である。S133において、サーバ装置20が、所定の条件を満たしたと判定した場合には、サーバ装置20は、制御データを決定し、当該制御データを第1端末11に送信し、S141の処理が実行される。一方、S133において、所定の条件を満たしていないと判定した場合には、S133の処理が繰り返される。
S133において決定される制御データは、第1端末11の表示画面を制御するデータである。また、この制御データは、第2データに含まれるアバターの位置に基づいて決定される表示画面に表示する少なくとも一のユーザのアバターの位置、及び、第2データに含まれるアバターの総数に基づいて決定される表示画面に表示する少なくとも一のユーザのアバターの総数に関するデータを含む。
S141において、第1端末11は、当該制御データに基づいて第1端末11の表示部140を制御する処理を行う。
S183において、サーバ装置20は、第1データ及び第2データの少なくともいずれかに基づいて分析データを決定する。そして、サーバ装置20は、決定した分析データを機器70に送信する。サーバ装置20は、例えば、第1データ及び第2データの少なくともいずれかを受信する度に、分析データを決定し、決定した分析データを機器70に送信する。
S193において、サーバ装置20は、第1データ及び第2データの少なくともいずれかに基づいて広告データを決定する。なお、当該広告データは、第1データに基づいて決定されるデータであって第1端末11を操作する第1ユーザ向けのデータ、及び、第2データに基づいて決定されるデータであって第2端末12を操作する第2ユーザ向けのデータを含む。S193において、サーバ装置20は、決定した第1ユーザ向けの広告データを第1端末11に送信し、決定した第2ユーザ向けの広告データを第2端末12に送信する。
また、図9のS193及び図10のS193に関して、アバター80が、所定の運営団体によって開催されるイベントを行う仮想会場310又はライブ会場410に入場し、仮想会場310又はライブ会場410において再生される動画を視聴した履歴がある場合には、第1端末11に送信される広告データは、例えば、所定の運営団体が将来開催するイベントに関する案内に関するデータを含みうる。当該データは、テキストデータ、画像データ、及び、動画データ、の少なくともいずれかを含む。
また、図9のS193及び図10のS193に関して、上述した広告データは、例えば、第1データに基づいて決定される広告に関する第3データを格納するデータベースにアクセスするURLを含むデータであってもよい。また、上述した広告データは、例えば、第2端末12において取得されたデータに基づいて決定される広告に関する第4データを格納するデータベースにアクセスするURLを含むデータであってもよい。また、上述した広告データは、例えば、既にバッチ処理などでアプリ(アプリケーション)内にダウンロード済であってもよい。この場合には、サーバ装置20は、第1端末11に対して、送信対象のデータに対応するIDに関するデータを送信し、第1端末11は、当該IDに基づいて広告データに関する表示を行ってもよい。また、サーバ装置20は、第2端末12に対して、送信対象のデータに対応するIDに関するデータを送信し、第2端末12は、当該IDに基づいて広告データに関する表示を行ってもよい。
図11は、端末10から送信されるデータの例を示す。図11においては、第1ユーザ、第2ユーザ、及び、第3ユーザの各々が自身の端末10を用いてアバターの操作を行う場合において、サーバ装置20が、各端末10から受信する各種データについて記載されている。ここで、各種データは、例えば、「年齢」、「性別」、「現在位置」、「仮想オブジェクト」、「チャット履歴」、及び、「コンテンツ視聴履歴」、「パーツID」、「簡易アバター」に関するデータである。ここで、「パーツID」は、例えば、アバターを特定するためのデータである。「簡易アバター」は、例えば、男性及び女性を含む性別に応じたパターンのIDに関するデータである。
なお、上述した第1データは、例えば、図11における第1ユーザに関する少なくともいずれかの内容を含みうる。また、上述した第2データは、図11における第2ユーザに関する内容、及び/又は、図11における第3ユーザに関する少なくともいずれかの内容、を含みうる。
ここで、上述の「年齢」に関して、図11には、第1ユーザの年齢が21歳であり、第2ユーザの年齢が31歳であり、第3ユーザの年齢が41歳である例が示されている。
また、上述の「性別」に関して、図11には、第1ユーザのアバターの性別が男性であり、第2ユーザのアバターの性別が女性であり、第3ユーザのアバターの性別が男性である例が示されている。
また、上述の「現在位置」に関して、図11には、第1ユーザの操作するアバターが、位置A01に存在し、第2ユーザの操作するアバターが、位置B01に存在し、第3ユーザの操作するアバターが、位置C01に存在する例が示されている。
また、上述の「仮想オブジェクト」に関して、図11には、第1ユーザの操作するアバターが時刻A11において仮想オブジェクトA12を価格A13にて購入し、第2ユーザの操作するアバターが時刻B11において仮想オブジェクトB12を開き、第3ユーザの操作するアバターが時刻C11において仮想オブジェクトC12を取得する例が示されている。なお、仮想オブジェクトA2は、例えば、ライブ会場に入場するための入場券である。仮想オブジェクトB22は、例えば、ドアである。
また、上述の「チャット履歴」に関して、図11には、第1ユーザの端末が、時刻A21に位置A22で第3ユーザの端末にメッセージ「こんにちは」を送信し、第2ユーザは、いずれの他のユーザとのチャット履歴も無く、第3ユーザの端末が、時刻C21に位置C22で第1ユーザの端末からメッセージ「こんにちは」を受信する例が示されている。
また、上述の「コンテンツ視聴履歴」に関して、図11には、第1ユーザのアバターが、時刻A31に位置A32において起立してコンテンツを視聴開始し、第2ユーザのアバターが、時刻B31を位置B32において座席B33でコンテンツを2時間視聴し、第3ユーザのアバターが、時刻C31に位置C32においてコンテンツを視聴終了して座席C33から離席する例が示されている。
なお、上述の「年齢」に関して、ユーザの年齢を示す例について説明したが、これに限定されない。例えば、上述の「年齢」は、ユーザが属する年齢層を示すものであってもよい。例えば、21歳以上30歳以下をカテゴリ1と定義する場合に、第1ユーザの年齢がカテゴリ1に属することを示してもよい。また、例えば、31歳以上40以下がカテゴリ2と定義する場合に、第2ユーザの年齢がカテゴリ2に属することを示してもよい。また、例えば、41歳以上50歳以下がカテゴリ3と定義する場合に、第3ユーザの年齢がカテゴリ3に属することを示してもよい。このようにして、例えば、図9のS183又は図10のS183において分析データを決定して分析データが機器70に送信される場合において、ユーザの具体的な個人情報を機器70に送信しないで年齢に関するデータをマーケティング等に用いることができる。
また、上述の「現在位置」に関して、特定時刻におけるアバターの位置を示す例について説明したが、これに限定されない。例えば、アバターが仮想空間300内を所定期間内に移動した軌跡を示すデータを含んでいてもよい。
また、上述の「チャット履歴」に関して、第1ユーザが、時刻A21に位置A22で第3ユーザの端末にメッセージ「こんにちは」を送信する例を説明したが、当該メッセージの内容は、これに限定されない。また、一のユーザの端末から他のユーザの端末に送信するデータは、テキスト、絵文字、音声メッセージ、画像、及び、動画、のうち少なくともいずれかを含むものであってもよい。
また、図11に示される第1データ及び第2データは、上述した例に限定されず、「行動履歴」に関するデータを含んでもよい。「行動履歴」に関するデータは、例えば、アバター80が仮想会場310に入場した時刻、アバター80がライブ会場410に入場した時刻、アバター80が仮想会場310から退室した時刻、アバター80がライブ会場410から退室した時刻、アバター80が仮想会場310に滞在した時間、アバター80がライブ会場410に滞在した時間、アバター80が仮想会場310で表示領域311に表示される対象の視聴を開始した時刻、アバター80がライブ会場410で動画の視聴を開始した時刻、アバター80が仮想会場310で表示領域311に表示される対象を視聴した時間(期間)、アバター80がライブ会場410で動画を視聴した時間(期間)、アバター80が仮想会場310で表示領域311に表示される対象の視聴を終了した時刻、アバター80がライブ会場410で動画の視聴を終了した時刻、アバター80が椅子81に着席した時刻、アバター80が椅子81に離席した時刻、アバター80が椅子81に着席してから離席するまでの時間、及び、アバター80が椅子81に着席する場合において椅子81の位置データ、一の端末10を操作するユーザが他の端末10を操作するユーザが操作する端末10から受信したメッセージを含む受信データに関する履歴、及び、一の端末10を操作するユーザが他の端末10を操作するユーザが操作する端末10に送信したメッセージを含む送信データに関する履歴、のうち少なくともいずれかを含んでもよい。
また、サーバ装置20は、図11に記載される内容のうちいずれの内容に関するデータを機器70に送信するかを選択してもよい。例えば、機器70に送信されるデータが、図11に記載されるチャット履歴に関する内容を含む場合において、サーバ装置20は、図11に記載の内容のうち当該チャット履歴に関する内容を除いたデータを機器70に送信してもよい。
また、サーバ装置20は、図11に記載される内容の少なくとも一部を変更したデータを機器70に送信してもよい。例えば、サーバ装置20は、第1ユーザのアバターが位置A01に位置することを示すデータを機器70に送信することに代えて、第1ユーザのアバターが位置A01の近傍に位置することを示すデータを機器70に送信してもよい。
また、機器70及び第2端末12のうち一方から、機器70及び第2端末12のうち他方へのメッセージを含むデータを受信する場合に、当該メッセージを含むデータを他の端末10に送信しなくともよい。このようにして、第2端末12と機器70との間においてやり取りされるデータは、第2端末12以外の端末10以外に送信されることがない。したがって、第2端末12と機器70との間において送信及び受信されるデータが、第2端末12を操作するユーザの個人情報に関するデータを含む場合において、当該個人情報が第2端末12以外の端末10を操作するユーザに知られる可能性を低減することができる。
このように、表示部140は、リアルタイムにおけるアバター80の総数及び位置を反映させた表示を行わない可能性がある。しかしながら、表示部140は、リアルタイムにおけるアバター80の総数及び位置を反映させた表示を行わない場合においても、第1端末11を操作する第1ユーザは、アバター80の凡その総数及び位置を反映した表示を確認し、他のユーザとリアルタイムで全体チャットを用いてコミュニケーションを図ることができる。したがって、表示部140が、アバター80の凡その総数及び位置を反映した表示であってリアルタイムにおけるアバター80の総数及び位置を反映させたものではない場合においても、ユーザに対して違和感を覚えさせる可能性を低減することができる。
なお、表示部140が領域314を表示してユーザ同士がチャットを行う場合において、当該チャットにおけるユーザIDとアバター80とは、互いに紐づく構成であってもよいし、互いに紐づかない構成であってもよい。
以上のように、本開示によれば、第1ユーザの端末を用いて操作される仮想空間内のアバターに関する第1データを記憶し、通信回線を介して、前記第1ユーザ以外の少なくとも一のユーザの各々のユーザの端末を用いて操作される仮想空間内のアバターに関する第2データを受信し、第1ユーザのアバターの位置、または、第2データが、所定の条件を満たすか否かが判定され、所定の条件を満たすと判定された場合に、第1ユーザの端末の表示画面を制御する制御データを決定し、制御データに基づいて表示画面を制御するものであり、第2データは、前記少なくとも一のユーザのアバターの座標、及び、前記少なくとも一のユーザのアバターのうち前記仮想空間内の第1領域に位置するアバターの総数、のうち少なくともいずれかを含む。このため、例えば、端末10の表示部140に表示するアバターの総数を変更することができる。したがって、端末10(例えばスマートフォン)の性能が低い場合で、端末10を用いてアプリケーションを実行する場合においても、端末10の表示部に、仮想空間内に複数のアバターを登場させることにより臨場感を生じさせつつ、表示制御の負荷、ひいては遅延、を抑制することができる。このように、第1端末11の表示部140は、実際のアバター80の総数及び/又は位置を変更して表示を行う。一方で、仮想空間300に関する出展社、運営者、及び/又は運営会社は、表示部140が表示する、変更されたアバターの総数及び/又は位置に関するデータではなく、実際のアバターの総数及び/又は位置に関するデータを取得することができる。したがって、アバターの総数及び/又は位置に関する正確なデータをマーケティングに用いることができる。
5.変形例
なお、端末10の記憶部160は、端末10において取得されたデータを端末10から受信する場合において、当該データを記憶してもよい。具体的には例えば、端末10の記憶部160は、第2データを記憶してもよい。そして、端末10は、記憶部160に記憶されている過去に受信した第2データを用いて制御データを決定してもよい。
また、サーバ装置20の記憶部220は、端末10において取得されたデータを端末10から受信する場合において、当該データを記憶してもよい。具体的には例えば、サーバ装置20の記憶部220は、第2データを記憶してもよい。そして、サーバ装置20は、記憶部220に記憶されている過去に受信した第2データを用いて制御データを決定してもよい。
図12は、第1端末11の表示部140に表示するアバターの数の例を示す。図12においては、仮想空間300内の所定領域に存在するアバターの数のうちアバター80Aを除いた数について示されている。
ここで、時刻1において所定領域に存在するアバターの数が1体であり、時刻2において第2端末を操作するアバターの数が2体であり、時刻3において第2端末を操作するアバターの数が7体であり、時刻4においてアバターの数が90体であり、時刻5においてアバターの数が400体であるものとする。なお、時刻1~時刻5の各々の時刻におけるアバターの数は、上述の例に限定されるものではない。
また、時刻1~時刻5のうち時刻1が最も現在の時刻に近い過去の時刻であり、時刻1~時刻5のうち時刻5が最も現在の時刻から離れた過去の時刻とする。時刻1は、例えば、現在から5分前の時刻、時刻2は、例えば、現在から1時間前の時刻、時刻3は、例えば、現在から12時間前の時刻、時刻4は、例えば、現在から1日前の時刻、時刻5は、例えば、現在から3日前の時刻であるものとする。なお、時刻1~時刻5の各々の時刻は、上述の例に限定されるものではない。
ここで、所定領域に存在するアバターの総数が第1値以上である場合、または、仮想会場310に含まれるアバターの総数が第2値以下である場合、には、表示部140に表示するアバターの総数を所定値に変更する。ここで、第1値は、例えば、11であり、第2値は、例えば、例えば、9である。第1値は第2値より大きい。また、所定値は、例えば、10である。なお、第1値及び第2値の具体的な値はこれに限定されるものではない。
例えば、図12の例1のように、時刻1におけるアバターの数(1体)を第1端末11の表示部140に表示する場合を想定する。この場合において、第1端末11の表示部140に表示されるアバターの総数は第2値以下である。したがって、端末10の表示部140に表示されるアバターの総数は、1体から10体に変更される。すなわち、表示部140に表示されるアバターの総数は、時刻1におけるアバターの数から、時刻1~時刻3の各々におけるアバターの数の総和に変更される。
また、例えば、図12の例2のように、時刻1及び時刻2におけるアバターの総数(3体)を第1端末11の表示部140に表示する場合を想定する。この場合において、第1端末11の表示部140に表示されるアバターの総数は第2値以下である。したがって、第1端末11の表示部140に表示されるアバターの総数は、3体から10体に変更される。すなわち、表示部140に表示されるアバターの総数は、時刻1及び時刻2の各々におけるアバターの数の総和から、時刻1~時刻3の各々におけるアバターの数の総和に変更される。
また、例えば、図12の例3のように、時刻1~時刻3におけるアバターの数の総数(10体)を第1端末11の表示部140に表示する場合を想定する。この場合において、第1端末11の表示部140に表示されるアバターの総数は第1値未満であって第2値よりも多い。したがって、第1端末11の表示部140に表示されるアバターの総数は変更されない。
また、例えば、図12の例4のように、時刻1~時刻4におけるアバターの数の総数(100体)を第1端末11の表示部140に表示する場合を想定する。この場合には、第1端末11の表示部140に表示されるアバターの総数は第1値以上である。したがって、端末10の表示部140に表示されるアバターの総数は、100体から10体に変更される。すなわち、表示部140に表示されるアバターの総数は、時刻1~時刻4の各々におけるアバターの数の総和から、時刻1~時刻3の各々におけるアバターの数の総和に変更される。
また、例えば、図12の例5のように、時刻1~時刻5におけるアバターの数の総数(500体)を第1端末11の表示部140に表示する場合を想定する。第1端末11の表示部140に表示されるアバターの総数は第1値以上である。したがって、第1端末11の表示部140に表示されるアバターの総数は、500体から10体に変更される。すなわち、表示部140に表示されるアバターの総数は、時刻1~時刻5の各々におけるアバターの数の総和から、時刻1~時刻3の各々におけるアバターの数の総和に変更される。
なお、図12においては、アバターの総数が第1値以上である場合、又は、アバターの総数が第2値以下である場合、に、表示部140に表示するアバターの総数を変更するようにしたがこれに限定されない。例えば、アバターの総数に応じて、変更後のアバターの総数が異なっていてもよい。このような具体例について、図13を参照しながら以下に説明する。
図13は、第1端末11の表示部140に表示するアバターの数の例を示す。図13においては、所定領域に存在するアバターの数のうちアバター80Aを除いた数について示されている。
ここで、時刻1において所定領域に存在するアバターの数が3体であり、時刻2において第2端末を操作するアバターの数が7体であり、時刻3において第2端末を操作するアバターの数が10体であり、時刻4においてアバターの数が80体であるものとする。なお、時刻1~時刻4の各々の時刻におけるアバターの数は、上述の例に限定されるものではない。
時刻1~時刻4のうち時刻1が最も現在の時刻に近い過去の時刻であり、時刻1~時刻5のうち時刻5が最も現在の時刻から離れた過去の時刻である。時刻1は、例えば、現在から5分前の時刻、時刻2は、例えば、現在から1時間前の時刻、時刻3は、例えば、現在から12時間前の時刻、時刻4は、例えば、現在から1日前の時刻であるものとする。なお、時刻1~時刻4の各々の時刻は、上述の例に限定されるものではない。
ここで、所定領域に存在するアバターの総数が第1値より大きい場合に表示部140に表示するアバターの数を第1値とし、仮想会場310に含まれるアバターの総数が第2値未満である場合に表示部140に表示するアバターの数を第2値とする、ここで、第1値は、例えば、20であり、第2値は、例えば、例えば、10である。第1値は第2値より大きい。なお、第1値及び第2値の具体的な値はこれに限定されるものではない。
例えば、図13の例1のように、時刻1におけるアバターの数(3体)を第1端末11の表示部140に表示する場合を想定する。この場合において、第1端末11の表示部140に表示されるアバターの総数は第2値未満である。したがって、端末10の表示部140に表示されるアバターの総数は、3体から10体に変更される。すなわち、表示部140に表示されるアバターの総数は、時刻1におけるアバターの数から、時刻1及び時刻2の各々におけるアバターの数の総和に変更される。
また、例えば、図13の例2のように、時刻1及び時刻2におけるアバターの数(10体)を第1端末11の表示部140に表示する場合を想定する。この場合において、第1端末11の表示部140に表示されるアバターの総数は第1値以下であって第2値以上である。したがって、第1端末11の表示部140に表示されるアバターの総数は変更されない。
また、例えば、図13の例3のように、時刻1~時刻4におけるアバターの数(100体)を第1端末11の表示部140に表示する場合を想定する。この場合において、第1端末11の表示部140に表示されるアバターの総数は第1値よりも大きい。したがって、端末10の表示部140に表示されるアバターの総数は、100体から20体に変更される。すなわち、表示部140に表示されるアバターの総数は、時刻1~時刻4の各々におけるアバターの数の総和から、時刻1~時刻3の各々におけるアバターの数の総和に変更される。
このように、図13においては、仮想空間300内に実際に存在するアバターの総数が少なく、仮想空間300内に実際に存在するアバターの総数が所定の下限未満である場合には、第1端末11の表示部140は、実際のアバターの総数よりも多いアバター数を表示させながらもできるだけ少なく表示する。また、図13においては、仮想空間300内に実際に存在するアバターの総数が多く、仮想空間300内に実際に存在するアバターの総数が所定の上限以上である場合には、第1端末11の表示部140は、実際のアバターの総数よりも少ないアバターの総数を表示させながらもできるだけ多く表示する。したがって、第1端末11の表示部140は、会場のアバターの総数を正確に反映した表示を行わない場合においても、第1ユーザは、表示部140を介して仮想空間300内の凡そのアバターの総数を確認することで、仮想空間300内の盛況度合いを把握することができる。
また、上述のように、実際のアバターの総数が所定の閾値未満であり、表示するアバターの総数を変更する場合に、表示するアバターの総数を当該閾値に基づいて増加する例について説明したが、これに限定されない。上述のように実際のアバターの総数が所定の閾値未満であり、表示するアバターの総数を変更する場合に、表示するアバターの総数を所定の数を加算することで増加させてもよい。
また、実際のアバターの総数に応じてアバターの表示態様を変更してもよい。例えば、実際のアバターの総数が所定の閾値以上である場合に、表示部140は、実際のアバターの各々のアバターのパーツを簡略化して表示してもよい。このようにして、端末10の性能が低い場合においても、端末10の表示部140は実際のアバターの総数を反映して表示することができる。なお、例えば、実際のアバターの総数が所定の閾値未満である場合には、表示部140は、実際のアバターの各々のアバターのパーツを簡略化しないで表示してもよい。ここで、アバターのパーツを簡略化する表示は、例えば、単一色(黒)の人型のアバターや、アバターに対応するユーザの性別に応じた識別表示である。例えば、アバターに対応するユーザの性別が男性である場合には、アバターのパーツは、第1パーツとし、アバターに対応するユーザの性別が女性である場合には、アバターのパーツは、第1パーツとは異なる第2パーツとする。
また、第1端末11が、アバター80A以外のアバター80(他人のアバター)の所定時刻tにおける位置データを受信する場合において、第1端末11の表示部140は、当該位置データを受信した後に即座に当該位置データを反映した表示を行わなくともよい。例えば、第1端末11の表示部140は、時刻tから起算して任意の時間経過後に、アバター80A以外のアバター80の位置データを反映した表示を行ってもよい。ここで、「任意の時間」は、例えば、1分、10分、1時間、等である。
また、仮想空間内に含まれるアバターの数を増減させる場合には、上述したように、予め決められた数まで増減させることに限定されない。例えば、仮想空間内に含まれるアバターの数を増減させる場合には、仮想空間内の所定空間の広さを考慮してもよい。ここで、仮想空間内の所定空間内の広さを考慮することは、例えば、仮想空間内の所定空間内の密度を考慮することを意味する。また、仮想空間内の所定空間内の密度は、例えば、仮想空間内の所定空間内の単位体積あたりに表示する所定のアバターの数を意味する。例えば、図7のような領域が仮想空間内に2つ設けられる場合において、一方が第1空間であって他方が第2空間であると仮定する。さらに、第1空間は、第1の広さを有し且つ第1空間内に50体のアバターが存在し、第2空間は、第1の広さよりも小さい第2の広さを有し且つ第2空間内に50体のアバターが存在する場合において、第1空間及び第2空間に含まれるアバターの数が過多であるからアバターの数を減少させる場合を仮定する。この場合には、第1空間に含まれるアバターの数が50体から20体に減少されるようにし、第2空間に含まれるアバターの数が50体から10体に減少されるようにしてもよい。したがって、ユーザが端末10を用いてアバターを操作する場合において表示部140に表示されるアバターの総数が過多になることを抑制することができ、視認性が向上する。
また、図9においては、サーバ装置20が、S141の後に、S183及びS193の処理を行う例について説明したが、これに限定されない。例えば、サーバ装置20が、S131の前に、第1端末11から第1データを受信してもよい。これにより、サーバ装置20が、S131の前にS183の処理を行い、分析データを機器70に送信してもよい。また、例えば、サーバ装置20が、S131の前にS193の処理を行い、広告データを機器70に送信してもよい。このようにして、サーバ装置20は、第1データを受信したタイミングと、受信した第1データに基づいて決定される分析データを機器70に送信するタイミングと、の時間を小さくすることができる。
また、図14に示されるように、図3に示される端末10以外に、第1センサ102a、第2センサ102b、カメラ102c、及び、マイクロフォン102dが設けられていてもよい。図14は、図3に示される端末10及び端末10に接続される構成の一例を示すブロック図である。ここで、端末10と、第1センサ102a、第2センサ102b、カメラ102c、及び、マイクロフォン102dの各々と、は、例えば、有線又は無線で接続される。
第1センサ102aは、例えば、有線又は無線で、カメラ102cと接続される。カメラ102cは、例えば、可視光線を撮像するRGBカメラと、近赤外線を撮像する近赤外線カメラと、を含むことができる。カメラ102cは、例えば、例えばiphone X(登録商標)のトゥルーデプス(True Depth)カメラに含まれたものを用いることが可能である。第2センサ102bは、例えば、有線又は無線で、マイクロフォン102dに接続される。なお、第1センサ102a及びカメラ102cが一の構成としても設けられていてもよい。また、第2センサ102b及びマイクロフォン102dが一の構成としても設けられていてもよい。
このようにして、端末10は、カメラ102cにより撮像された画像をサーバ装置20に送信してもよい。また、第1端末11は、マイクロフォン102dに入力された音声データをサーバ装置20に送信してもよい。また、第2端末12は、マイクロフォン102dに入力された音声データをサーバ装置20に送信してもよい。また、第1端末11は、カメラ102c及びマイクロフォン102dを用いた動画データをサーバ装置20に送信してもよい。
図15は、トークンを送信及び使用して計算環境においてビデオをレンダリングすることを含む、本明細書において説明される実施形態、技法、及び、技術が実装されうる適切な計算環境1400の一般化された例を示す。 例えば、計算環境1400は、本明細書で記載されるように、端末装置(あるいは配信者、あるいは視聴者)、又は、配信サーバシステムなどのうちいずれかを実装することができる。
技術が、多様である汎用又は専用の計算環境で実装されうるため、計算環境1400は、技術の使用又は機能の範囲に関していかなる制限を示唆することを意図するものではない。例えば、本明細書において開示された技術は、様々な携帯用の装置、様々なマルチプロセッサシステム、様々なマイクロプロセッサベース又はプログラム可能な家庭用電化製品、様々なネットワークPC、様々なミニコンピュータ、様々なメインフレームコンピュータ、などを含む、他の様々なコンピュータシステム構成で実装されてもよい。本明細書において開示される技術は、通信ネットワークを通じてリンクされる遠隔処理装置によってタスクが実行される分散計算環境で実施されてもよい。分散計算環境においては、プログラムモジュールはローカル及びリモートの両方のメモリストレージ装置に配置されてもよい。
図15を参照して、計算環境1400は、少なくとも1つの中央処理装置1410及びメモリ1420を含む。図15では、この最も基本的な構成1430は、破線内に含まれている。中央処理装置1410は、コンピュータにより実行可能な命令を実行し、中央処理装置1410は、実プロセッサ又は仮想プロセッサであってもよい。マルチプロセッシングシステムでは、複数のプロセッシングユニットが、コンピュータにより実行可能な命令を実行して処理力を向上させるため、複数のプロセッサは、同時に稼働できる。メモリ1420は、揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)、不揮発性メモリ(例えば、ROM、EEPROM、フラッシュメモリ等)、又は、これら2つの幾つかの組み合わせであってもよい。メモリ1420は、例えば、本明細書に記載の技術を実装することができる、ソフトウェア1480、様々な画像、及び、ビデオを格納する。計算環境は、追加の様々な機能を有していいてもよい。例えば、計算環境1400は、ストレージ1440、1又は複数の入力装置1450、1又は複数の出力装置1460、及び、1又は複数の通信接続1470を含む。バス、コントローラ、又は、ネットワーク、などの相互接続機構(図示なし)は、計算環境1400の様々なコンポーネントを相互接続する。通常、オペレーティングシステムソフトウェア(図示なし)は、計算環境1400で実行される他のソフトウェア用にオペレーティング環境を提供し、及び、計算環境1400の様々なコンポーネントの様々なアクティビティを調整する。
ストレージ1440は、脱着可能であってもよいし、あるいは、脱着可能でなくてもよく、磁気ディスク、磁気テープ若しくはカセット、CD-ROM、CD-RW、DVD、又は、情報を記憶するために用いられ且つ計算環境1400内にアクセスされうる他のいかなる媒体を含む。 ストレージ1440は、本明細書で記載される技術を実装するために用いられうる、ソフトウェア1480、プラグインデータ、及び、メッセージ、のための命令を格納する。
1又は複数の入力装置1450は、キーボード、キーパッド、マウス、タッチスクリーンディスプレイ、ペン、若しくは、トラックボールなどのタッチ入力装置、音声入力装置、走査装置、又は、計算環境1400に入力を提供する別の装置、であってもよい。オーディオの場合、1又は複数の入力装置1450は、アナログ若しくはデジタル形式のオーディオ入力を受け入れるサウンドカード若しくは類似の装置、又は、様々なオーディオサンプルを計算環境1400に提供するCD-ROMリーダーであってもよい。1又は複数の出力装置1460は、ディスプレイ、プリンタ、スピーカ、CDライタ、又は、計算環境1400からの出力を提供する別の装置であってもよい。
1又は複数の通信接続1470は、通信媒体(例えば、接続ネットワーク)を介して別の計算エンティティへの通信を可能にする。通信媒体は、コンピュータにより実行可能な命令、圧縮グラフィックス情報、ビデオ、又は、変調データ信号に含まれる他のデータ、などの情報を伝達する。1又は複数の通信接続1470は、有線接続(例えば、メガビット若しくはギガビットイーサネット、インフィニバンド、又は、電気若しくは光ファイバー接続を介したファイバーチャネル)に限定されるものでなく、無線技術(例えば、Bluetooth、WiFi(IEEE 802.11a/b/n)、WiMax、セルラー、衛星、レーザー、赤外線、経由のRF接続)、並びに、本明細書において開示された様々なエージェント、様々なブリッジ、及び、宛先エージェントの様々なデータコンシューマ、にネットワーク接続を提供するための他の適切な様々な通信接続を含む。仮想ホスト環境においては、1又は複数の通信接続は、仮想ホストによって提供される仮想化されたネットワーク接続であってもよい。
本明細書において開示された様々な方法の様々な実施形態は、計算クラウド1490において、本明細書において開示された技術の全て又は一部を実装するコンピュータにより実行可能な複数の命令を用いて実行されうる。例えば、様々なエージェントは、計算環境において様々な脆弱性スキャン機能を実行可能である一方、エージェントプラットフォーム(例えば、ブリッジ)、及び、宛先エージェントデータのコンシューマサービスは、計算クラウド1490の内部に位置する様々なサーバで実行可能である。
コンピュータにより読み取り可能な媒体は、計算環境1400内でアクセスされうる任意の利用可能な媒体である。限定するものではなく、一例として、計算環境1400に関して、コンピュータにより読み取り可能な媒体は、メモリ1420及び/又はストレージ1440を含む。容易に理解されるように、コンピュータにより読み取り可能な媒体という用語は、メモリ1420及び記憶装置1440などのデータ記憶用の媒体を含み、変調された様々なデータ信号などの伝送媒体を含まない。
上述した様々な実施形態は、矛盾又は不都合が生じない限りにおいて相互に組み合わせて用いることが可能なものである。本明細書に開示された発明の原理が適用され得る多くの可能な実施形態を考慮すれば、例示された様々な実施形態は好ましい様々な例に過ぎず、特許請求の範囲に係る発明の技術的範囲をこれらの好ましい様々な例に限定すると考えるべきではない、と理解されたい。実際には、特許請求の範囲に係る発明の技術的範囲は、添付した特許請求の範囲により定められる。したがって、特許請求の範囲に記載された発明の技術的範囲に属するすべてについて、本発明者らの発明として、特許の付与を請求する。
第1の態様によるコンピュータプログラムは、「少なくとも一のプロセッサにより実行されるコンピュータプログラムであって、第1ユーザの端末を用いて操作される仮想空間内のアバターに関する第1データを取得し、通信回線を介して、前記第1ユーザ以外の少なくとも一のユーザの各々のユーザの端末を用いて操作される仮想空間内のアバターに関する第2データを受信し、前記第1データは、前記第1ユーザのアバターの位置を含み、前記第2データは、前記少なくとも一のユーザのアバターの位置、及び、前記少なくとも一のユーザのアバターのうち前記仮想空間内の第1領域に位置するアバターの総数、のうち少なくともいずれかを含み、前記第1ユーザのアバターの位置、または、前記第2データが、所定の条件を満たすか否かを判定し、前記所定の条件を満たすと判定された場合に、前記第1ユーザの端末の表示画面を制御する制御データを決定し、前記制御データに基づいて前記表示画面を制御する、ように前記少なくとも一のプロセッサを機能させる」ものである。
第2の態様によるコンピュータプログラムは、「少なくとも一のプロセッサにより実行されるコンピュータプログラムであって、通信回線を介して、第1ユーザの端末を用いて操作される仮想空間内のアバターに関する第1データ、及び、前記第1ユーザ以外の少なくとも一のユーザの各々のユーザの端末を用いて操作される仮想空間内のアバターに関する第2データを受信し、前記第1データは、前記第1ユーザのアバターの位置を含み、
前記第2データは、前記少なくとも一のユーザのアバターの位置、及び、前記少なくとも一のユーザのアバターのうち前記仮想空間内の第1領域に位置するアバターの総数、のうち少なくともいずれかを含み、前記第1ユーザのアバターの位置、または、前記第2データが、所定の条件を満たすか否かを判定し、前記所定の条件を満たすと判定された場合に、前記第1ユーザの端末の表示画面を制御する制御データを決定し、前記通信回線を介して前記制御データを前記第1ユーザの端末に送信する、ように前記少なくとも一のプロセッサを機能させる、」ものである。
第3の態様によるコンピュータプログラムは、上述の第1の態様又は第2の態様において、「前記制御データは、前記第2データに含まれる前記アバターの位置に基づいて決定される前記表示画面に表示する前記少なくとも一のユーザのアバターの位置、及び、前記第2データに含まれる前記アバターの総数に基づいて決定される前記表示画面に表示する前記少なくとも一のユーザのアバターの総数、のうち少なくともいずれかに関するデータを含む」ものである。
第4の態様によるコンピュータプログラムは、上述の第1~第3のいずれかの態様において「前記所定の条件は、前記第1ユーザのアバターが前記第1領域に位置する場合、前記少なくとも一のユーザのアバターのうち前記第1領域に位置するアバターの総数が第1値以上である場合、前記少なくとも一のユーザのアバターのうち前記第1領域に位置するアバターの総数が第2値以下である場合、前記少なくとも一のユーザのアバターのうち前記第1領域に位置する一のアバターから第1距離以内に位置するアバターの数が第3値以上である場合、及び、前記少なくとも一のユーザのアバターのうち前記第1領域に位置する一のアバターから前記第1距離以内に位置するアバターの数が第4値以下である場合、の少なくともいずれかであり、前記第1値は、前記第2値よりも大きく、前記第3値は、前記第4値よりも大きい、」ものである。
第5の態様によるコンピュータプログラムは、上述の第1~第4のいずれかの態様において「前記第2データは、前記少なくとも一のユーザのアバターの性別に関するデータを含む、」ものである。
第6の態様によるコンピュータプログラムは、上述の第1~第5のいずれかの態様において「前記仮想空間内には、動画が配信される空間である少なくとも一の仮想会場が設けられ、前記第1領域は、前記少なくとも一の仮想会場のうちいずれかの仮想会場内の領域である、」ものである。
第7の態様によるコンピュータプログラムは、上述の第6の態様において、「前記第2データが、前記少なくとも一のユーザのアバターの位置に関するデータを含む場合において、前記少なくとも一のユーザのアバターの位置は、前記仮想会場内における位置を示し、前記制御データに含まれる、前記少なくとも一のユーザのアバターの前記位置は、前記仮想会場内の位置である、」ものである。
第8の態様によるコンピュータプログラムは、上述の第1または第1に従属する第3~第7のいずれかの態様において「前記第1ユーザのアバター及び第2ユーザのアバターの生成に用いられるモジュールデータを記憶する、」ものである。
第9の態様によるコンピュータプログラムは、上述の第2又は第2に従属する第3~第7のいずれかの態様において、「前記第1ユーザの端末に対して前記少なくとも一のユーザのアバターの生成を要求するデータを前記第1ユーザの端末に送信する、」ものである。
第10の態様によるコンピュータプログラムは、上述の第1~第9のいずれかの態様において、「前記第1データ及び前記第2データのうち少なくともいずれかは、前記アバターの前記仮想空間内における行動履歴に関するデータ、及び、前記アバターを操作するユーザのデータ、のうち少なくともいずれかを含む、」ものである。
第11の態様によるコンピュータプログラムは、上述の第6に従属する第10の態様において「前記行動履歴に関するデータは、前記アバターの前記動画を視聴する視聴履歴に関するデータ、前記アバターの前記動画の視聴時間に関するデータ、前記アバターの前記仮想会場への入場履歴に関するデータ、前記アバターの前記仮想会場での滞在時間に関するデータ、前記アバターの前記仮想会場からの退場履歴に関するデータ、前記アバターから前記仮想空間内に存在する仮想オブジェクトに対する作用履歴に関するデータ、前記第1ユーザの端末及び前記少なくとも一のユーザの端末のうち一方から前記第1ユーザの端末及び前記少なくとも一のユーザの端末のうち他方に対するメッセ―ジを送信する場合における前記メッセージが送信される端末の位置に関するデータ、前記仮想オブジェクトの購入履歴に関するデータ、及び、前記仮想オブジェクトが着席可能で且つ前記アバターが前記仮想オブジェクトに着席する場合における前記仮想オブジェクトの位置に関するデータ、のうち少なくともいずれかを含む、」ものである。
第12の態様によるコンピュータプログラムは、上述の第1~第11のいずれかの態様において、「前記第1データ及び前記第2データのうち少なくともいずれかは、前記第1ユーザの端末及び前記少なくとも一のユーザの端末以外の第3端末に送信される、」ものである。
第13の態様によるコンピュータプログラムは、上述の第12の態様において「前記第1データ及び前記第2データのうち少なくともいずれかを受信したか否かを判定し、前記第1データ及び前記第2データのうち少なくともいずれかを受信した場合に、受信した前記第1データ及び前記第2データのうち少なくともいずれかが、前記第3端末に送信される、」ものである。
第14の態様によるコンピュータプログラムは、上述の第12又は第13の態様において、「前記第1データを受信する周期は、前記制御データが決定される周期よりも短い、」ものである。
第15の態様によるコンピュータプログラムは、上述の第12~第14のいずれかの態様において、「前記第3端末は、前記仮想会場を運営する運営者又は運営団体によって操作される端末である、」ものである。
第16の態様によるコンピュータプログラムは、上述の第1~第15のいずれかの態様において、「前記第1データに基づいて決定される広告に関する第3データが、前記第1ユーザの端末に送信される、及び/又は、前記第2データに基づいて決定される広告に関する第4データが、前記少なくとも一のユーザの端末に送信される、」ものである。
第17の態様によるコンピュータプログラムは、上述の第1~第15のいずれかの態様において、「前記第1データに基づいて決定される広告に関する第3データを格納するデータベースにアクセスするURLを含むデータが、前記第1ユーザの端末に送信される、及び/又は、前記第2データに基づいて決定される広告に関する第4データを格納するデータベースにアクセスするURLを含むデータが、前記少なくとも一のユーザの端末に送信される、」ものである。
第18の態様によるコンピュータプログラムは、上述の第1、第1に従属する第3~8のいずれか、又は、第1に従属する第10~第17のいずれかの態様において、「前記第1ユーザのアバター及び前記少なくとも一のユーザのアバターが所定時刻において前記仮想空間内に存在する場合で且つ前記少なくとも一のユーザのアバターのいずれかに対応するユーザの端末から送信される第1メッセージを含むデータを受信する場合に、前記第1ユーザの端末の表示画面内の第1表示領域に前記仮想空間を表示し且つ前記第1表示領域内に前記第1メッセージを表示する、」ものである。
第19の態様によるコンピュータプログラムは、上述の第2、第2に従属する第3~第7のいずれか、又は、第2に従属する第9~第17のいずれかの態様において、「前記第1ユーザのアバター及び前記少なくとも一のユーザのアバターが所定時刻において前記仮想空間内に存在する場合で且つ前記少なくとも一のユーザのアバターのいずれかに対応するユーザの端末から送信される第1メッセージを含むデータを受信する場合に、前記第1ユーザの端末の表示画面内の第1表示領域に前記仮想空間を表示し且つ前記第1表示領域内に前記第1メッセージを表示させるデータを送信する、」ものである。
第20の態様によるコンピュータプログラムは、上述の第19の態様において、「前記第3端末、及び、前記少なくとも一のユーザの端末、のうち一方から、前記第3端末、及び、前記少なくとも一のユーザの端末、のうち他方への第3メッセージを含むデータを受信する場合に、前記第3メッセージを含むデータを前記第1ユーザの端末に送信しない、」ものである。
第21の態様によるコンピュータプログラムは、上述の第4又は第4に従属する第5~第20のいずれかの態様において、「前記第2データは、前記少なくとも一のユーザのアバターのうち前記第1領域に位置するアバターの総数に関するデータを含み、前記所定の条件は、前記少なくとも一のユーザのアバターのうち前記第1領域に位置するアバターの総数が前記第1値以上である場合、及び、前記少なくとも一のユーザのアバターのうち前記第1領域に位置するアバターの総数が前記第2値以下である場合、のいずれかであり、複数の時刻の各々の時刻における前記第2データを記憶し、第1時刻において前記所定の条件を満たすと判定された場合に、前記複数の時刻のうち第2時刻から前記第1時刻までの期間における前記総数の累計を決定し、前記決定に基づいて前記制御データを決定する、」ものである。
第22の態様によるコンピュータプログラムは、上述の第21の態様において「前記少なくとも一のユーザのアバターのうち前記第1領域に位置するアバターの総数が前記第1値以上である場合には、前記累計を決定するための対象となる期間が短くなるように前記第2時刻を決定し、前記少なくとも一のユーザのアバターのうち前記第1領域に位置するアバターの総数が前記第2値以下である場合には、前記累計を決定するための対象となる期間が長くなるように前記第2時刻を決定する、」ものである。
第23の態様によるコンピュータプログラムは、上述の第1~第22のいずれかの態様において、「前記仮想空間は3次元空間である、」ものである。
第24の態様によるコンピュータプログラムは、上述の第1~第23のいずれかの態様において、「前記少なくとも一のユーザのアバターの前記仮想空間内における動作は、予め決定されている、」ものである。
第25の態様によるコンピュータプログラムは、上述の第1~第24のいずれかの態様において、「前記通信回線がインターネットを含む、」ものである。
第26の態様によるコンピュータプログラムは、上述の第1~第25のいずれかの態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む、」ものである。
第27の態様によるコンピュータプログラムは、上述の第1~第26のいずれかの態様において「前記少なくとも1つのプロセッサが、サーバ装置、スマートフォン、タブレット、携帯電話、または、パーソナルコンピュータに搭載される、」ものである。
第28の態様による方法は、「第1ユーザの端末を用いて操作される仮想空間内のアバターに関する第1データを取得する工程と、通信回線を介して、前記第1ユーザ以外の少なくとも一のユーザの各々のユーザの端末を用いて操作される仮想空間内のアバターに関する第2データを受信する工程と、前記第1データは、前記第1ユーザのアバターの位置を含み、前記第2データは、前記少なくとも一のユーザのアバターの位置、及び、前記少なくとも一のユーザのアバターのうち前記仮想空間内の第1領域に位置するアバターの総数、のうち少なくともいずれかを含み、前記第1ユーザのアバターの位置、または、前記第2データが、所定の条件を満たすか否かを判定する工程と、前記所定の条件を満たすと判定された場合に、前記第1ユーザの端末の表示画面を制御する制御データを決定する工程と、前記制御データに基づいて前記表示画面を制御するする工程と、を含む、」ものである。
第29の態様による方法は、「通信回線を介して、第1ユーザの端末を用いて操作される仮想空間内のアバターに関する第1データ、及び、前記第1ユーザ以外の少なくとも一のユーザの各々のユーザの端末を用いて操作される仮想空間内のアバターに関する第2データを受信する工程と、前記第1データは、前記第1ユーザのアバターの位置を含み、前記第2データは、前記少なくとも一のユーザのアバターの位置、及び、前記少なくとも一のユーザのアバターのうち前記仮想空間内の第1領域に位置するアバターの総数、のうち少なくともいずれかを含み、前記第1ユーザのアバターの位置、または、前記第2データが、所定の条件を満たすか否かを判定する工程と、前記所定の条件を満たすと判定された場合に、前記第1ユーザの端末の表示画面を制御する制御データを決定する工程と、前記通信回線を介して前記制御データを前記第1ユーザの端末に送信する工程と、を含む、」ものである。
第30の態様による方法は、上述の第28又は第29に記載の態様において、「前記通信回線がインターネットを含む、」ものである。
第31の態様による方法は、上述の第28~第30のいずれかの態様において、「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む、」ものである。
第32の態様によるサーバ装置は、「通信回線を介して、第1ユーザの端末を用いて操作される仮想空間内のアバターに関する第1データ、及び、前記第1ユーザ以外の少なくとも一のユーザの各々のユーザの端末を用いて操作される仮想空間内のアバターに関する第2データを受信し、前記第1データは、前記第1ユーザのアバターの位置を含み、前記第2データは、前記少なくとも一のユーザのアバターの位置、及び、前記少なくとも一のユーザのアバターのうち前記仮想空間内の第1領域に位置するアバターの総数、のうち少なくともいずれかを含み、前記第1ユーザのアバターの位置、または、前記第2データが、所定の条件を満たすか否かを判定し、前記所定の条件を満たすと判定された場合に、前記第1ユーザの端末の表示画面を制御する制御データを決定し、前記通信回線を介して前記制御データを前記第1ユーザの端末に送信する、」ものである。
第33の態様によるサーバ装置は、上述の第32の態様において、「前記通信回線がインターネットを含む、」ものである。
第34の態様によるサーバ装置は、第32又は第33の態様において、「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」ものである。
このように、本開示の技術は、従来よりも快適性が損なわれないようにするコンピュータプログラム、方法、及び、サーバ装置を提供することができる。