以下、実施形態を図面に基づいて説明する。
[システム1の概要]
図1は、本実施形態に係るシステム1の概要を示す図である。例えば、図1に示すように、システム1は、ユーザ端末20A、20B、20C(以下、これらを総称して、「ユーザ端末20」と表記することがある。)と、サーバ10とを主に備える。
以下、サーバ10を操作する者を「管理者3」という。また、ユーザ端末20A、20B、及び、20Cを操作するそれぞれの者を「ユーザ4A、4B、4C」(以下、これらを総称して、「ユーザ4」と表記することがある。)という。
管理者3は、システム1による情報処理サービスを運営する役割の者である。一方で、ユーザ4は、システム1による情報処理サービスを利用する者である。また、管理者3、及び、ユーザ4は、管理装置の例であるサーバ10、又は、ユーザ端末20のどちらの情報処理装置を操作するかが異なる。
なお、図1に示す例は、ユーザ端末20が3つ、かつ、サーバ10が1つの例であるが、サーバ10の台数、ユーザ端末20の台数、管理者3の人数、及び、ユーザ4の人数は問わない。
サーバ10、及び、ユーザ端末20は、通信ネットワーク2を介して相互通信可能に接続する。例えば、通信ネットワーク2は、インターネット、移動体通信システム(例えば、4G(4th Generation、第4世代移動通信規格)、又は、5G(5th Generation、第5世代移動通信規格)等による公衆回線である。)、Wi-Fi(登録商標)等の無線ネットワーク、又は、これらの組み合わせである。
システム1は、サーバ10が提供する共通の仮想空間を、複数のユーザ端末20A乃至20Cを操作するユーザ4に体験させるためのシステムである。より詳細には、ユーザ端末20は、ユーザに関連付けられたユーザキャラクタ(以下、「ユーザアバター」と表記することがある。)を仮想空間に配置し、予め設定された視点から仮想空間を見た画像をユーザ端末20に表示させる。
また、ユーザ端末20は、仮想空間内のアバターを予め設定した設定視点から撮像して、設定視点映像を生成する。また、ユーザ端末20は、生成した設定視点映像を編集して視聴映像を生成し、視聴映像をサーバ10にアップロードする。さらに、ユーザ端末20は、サーバ10から視聴映像をダウンロードしてユーザに視聴させる。
以下、アバターを動作させるためのユーザ端末20を「プレイ端末」と表記し、設定視点映像を編集するためのユーザ端末20を「編集端末」と表記し、視聴映像を視聴するためのユーザ端末20を「視聴端末」と表記することがある。
なお、プレイ端末、編集端末、及び、視聴端末は、同一の端末でもよいし、異なる端末でもよい。例えば、プレイ端末としてはHMD(Head Mounted Display、ヘッドマウンテッドディスプレイ)セットが好適である。また、編集端末としてはラップトップ型コンピュータ、又は、デスクトップコンピュータが好適である。さらに、視聴端末としては、タブレット端末、又は、スマートフォンが好適である。ただし、各端末の具体的な形態は、上記の例に限定されない。
[サーバ10の構成]
図2は、サーバ10のハードウェア構成図である。サーバ10は、例えば、ワークステーション、又は、パーソナルコンピュータ等の汎用コンピュータである。
サーバ10は、プロセッサ11と、メモリ12と、ストレージ13と、入出力インタフェース14と、通信インタフェース15とを主に備える。また、サーバ10の各構成要素は、通信バス19に接続する。
プロセッサ11は、メモリ12又はストレージ13に格納されているサーバプログラム13Pに含まれる一連の命令を実行することによって、処理、及び、制御を実現する。
プロセッサ11は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、又は、これらの組み合わせ等の演算装置、及び、制御装置である。
メモリ12は、サーバプログラム13P、及び、データ等を記憶する主記憶装置である。例えば、サーバプログラム13Pは、ストレージ13からロードされる。また、データは、サーバ10に入力されたデータと、プロセッサ11によって生成されたデータとを含む。例えば、メモリ12は、RAM(Random Access Memory)、又は、その他の揮発メモリである。
ストレージ13は、サーバプログラム13P、及び、データ等を記憶する補助記憶装置である。ストレージ13は、例えば、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、又は、その他の不揮発記憶装置である。また、ストレージ13は、メモリカードのように着脱可能な記憶装置でもよい。さらに、他の例として、ストレージ13は、外部記憶装置であってもよい。このような構成によれば、例えば、アミューズメント施設のように複数のユーザ端末20が使用される場面において、サーバプログラム13P、又は、データの更新等を一括して行うことが可能になる。
入出力インタフェース14は、モニタ、入力装置(例えば、キーボード、又は、ポインティングデバイス等である。)、外部記憶装置、スピーカ、カメラ、マイク、及び、センサ等の外部装置をサーバ10に接続するインタフェースである。
また、プロセッサ11は、入出力インタフェース14を通じて外部装置と通信する。入出力インタフェース14は、例えば、USB(Universal Serial Bus)、DVI(Digital Visual Interface)、HDMI(登録商標)(High-Definition Multimedia Interface)、無線、及び、その他の端子である。
通信インタフェース15は、通信ネットワーク2に接続する他の装置(例えば、ユーザ端末20等である。)と通信する。例えば、通信インタフェース15は、LAN(Local Area Network)等の有線通信インタフェース、Wi-Fi(Wireless Fidelity)、Bluetooth(登録商標)、又は、NFC(Near Field Communication)等の無線通信インタフェースである。
[ユーザ端末20の構成]
図3は、ユーザ端末20の一例であるHMDセットのハードウェア構成図である。
図4は、ユーザ端末20の他の例であるタブレット端末のハードウェア構成図である。
具体的には、ユーザ端末20は、図3に示すHMDセット、図4に示すタブレット端末の他、スマートフォン、フィーチャーフォン、ラップトップ型コンピュータ、又は、デスクトップコンピュータ等である。
図3に示すように、HMDセットであるユーザ端末20は、プロセッサ21と、メモリ22と、ストレージ23と、入出力インタフェース24と、通信インタフェース25とを有するコンピュータ26を備える。また、コンピュータ26の各構成要素は、通信バス29に接続する。
プロセッサ21、メモリ22、ストレージ23、入出力インタフェース24、通信インタフェース25、及び、通信バス29の基本的な構成は、例えば、プロセッサ11、メモリ12、ストレージ13、入出力インタフェース14、通信インタフェース15、通信バス19と共通する。また、ストレージ23は、端末プログラム23Pを保持する。
また、HMDセットであるユーザ端末20は、コンピュータ26に、HMD30と、動きセンサ41と、操作装置42とを接続する構成である。例えば、HMD30、動きセンサ41、及び、操作装置42は、入出力インタフェース24を通じてプロセッサ21に接続する。
HMD30は、ユーザの頭部に装着されて、仮想空間をユーザに提供する。より詳細には、HMD30は、モニタを備える所謂ヘッドマウントディスプレイ、又は、スマートフォンその他のモニタを有する端末を含んでもよい。
HMD30は、モニタ31(表示装置)と、注視センサ32と、カメラ33、34と、マイク35と、スピーカ36とを主に備える。
例えば、モニタ31は、非透過型の表示装置である。具体的には、モニタ31は、ユーザの両目の前方に位置するように配置する。また、非透過型のモニタ31は、例えば、液晶モニタ、有機EL(Electro Luminescence)モニタ等である。
他の例として、モニタ31は、透過型の表示装置である。透過型は、ユーザの目を覆う密閉型ではなく、メガネ型のような開放型となる。
モニタ31は、仮想空間を構成する画像の一部と、現実空間とを同時に表示する構成を含んでもよい。一例として、透過型のモニタ31は、HMD30に搭載されたカメラで撮像した現実空間の画像を表示してもよい。
また、透過型のモニタ31は、透過率を調整可能に構成されていてもよい。そして、透過型のモニタ31は、表示領域の一部の透過率を高く設定して、現実空間を直接視認できるようにしてもよい。
また、モニタ31は、ユーザに3次元画像を視認させるために、以下の構成があってもよい。例えば、モニタ31は、右目用の画像を表示するサブモニタと、左目用の画像を表示するサブモニタとを含んでもよい。
他の例として、モニタ31は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この構成では、モニタ31は、高速シャッタを行う。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
注視センサ32は、ユーザ4の右目、及び、左目の視線が向く方向を検知する。つまり、注視センサ32は、ユーザの視線を検知する。
注視センサ32は、例えば、アイトラッキング機能を有するセンサにより実現される。注視センサ32は、右目用のセンサ、及び、左目用のセンサを含むことが好ましい。注視センサ32は、ユーザの右目及び左目に赤外光を照射し、照射光に対する角膜及び虹彩からの反射光を受けることにより、各眼球の回転角を検知する。そして、注視センサ32は、検知した各回転角に基づいて、ユーザの視線を特定する。
カメラ33は、HMD30を装着したユーザの顔の上部(より詳細には、ユーザの目、眉等である。)を撮像する。
カメラ34は、HMD30を装着したユーザの顔の下部(より詳細には、ユーザ4の鼻、又は、口等である。)を撮像する。
例えば、HMD30の筐体のうち、ユーザに対面する側にカメラ33が取り付けられ、ユーザと対面する側と反対側にカメラ34が取り付けられる。なお、HMD30は、2台のカメラ33、34に代えて、ユーザの顔全体を撮像する1台のカメラを備えてもよい。
マイク35は、ユーザの発話を音声信号(電気信号)に変換してコンピュータ26に出力する。スピーカ36は、コンピュータ26から出力された音声信号を音声に変換してユーザに出力する。なお、HMD30は、スピーカ36に替えてイヤホンを有してもよい。
動きセンサ41は、HMD30の動きを検出するため、ポジショントラッキング機能を有する。一例として、動きセンサ41は、HMD30が発する複数の赤外線を読み取って、現実空間内におけるHMD30の位置及び傾きを検出してもよい。
他の例として、動きセンサ41は、カメラでもよい。具体的には、動きセンサ41は、カメラから出力される画像を解析して、HMD30の位置、及び、傾きを検出する。なお、動きセンサ41は、角速度センサ、地磁気センサ、又は、加速度センサでもよい。
操作装置42は、有線、又は、無線によりコンピュータ26に接続する。そして、操作装置42は、ユーザ4によるコンピュータ26に対する操作を受け付ける。
例えば、操作装置42は、ユーザ4が把持した状態で操作する、所謂コントローラでもよい。なお、操作装置42は、ユーザの身体、又は、衣類の一部に装着可能に構成され、モーションセンサによってユーザ4の動きを検知しもよい。
ただし、操作装置42は、これらに限定されず、キーボード、ポインティングデバイス、又は、タッチパネル等といった他の入力装置でもよい。
図4に示すように、タブレット端末であるユーザ端末20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース25と、モニタ31と、カメラ33、34と、マイク35と、スピーカ36と、動きセンサ41と、操作装置42とを主に備える。タブレット端末の各構成要素は、通信バス29に接続する。
プロセッサ21、メモリ22、ストレージ23、通信インタフェース25、モニタ31、カメラ33、34、マイク35、スピーカ36、動きセンサ41、及び、操作装置42の基本的な構成は、HMDセット(すなわち、図3で説明する構成である。)と共通するので、以下、重複する説明を省略し、タブレット端末に特有の構成を説明する。
モニタ31は、平板状の筐体の表面に設けられる。
カメラ33は、平板状の筐体の表面に取り付けられて、モニタ31を視認するユーザの顔を撮像する、所謂インカメラである。
カメラ34は、平板状の筐体の裏面(モニタ31と反対側の面である。)に取り付けられて、周囲を撮像する、所謂アウトカメラである。
動きセンサ41は、筐体の動き(例えば、互いに直交する3軸周りの回転)を検知する。
タブレット端末に好適な操作装置42としては、例えば、モニタ31に重畳されて、ユーザによる各種タッチ操作(例えば、タップ、スライド、フリック、ピンチイン、又は、ピンチアウト等)を受け付けるタッチパネルである。
[仮想空間90の概要]
図5は、仮想空間90の一態様を概念的に表す図である。
図6は、仮想空間90において視界領域94をX方向から見たYZ断面を表す図である。
図7は、仮想空間90において視界領域94をY方向から見たXZ断面を表す図である。
図5に示すように、仮想空間90は、中心Cの360度方向の全体を覆う全天球状の構造である。以下、説明を簡略化するため、仮想空間90の上半分の天球に絞って例示する。
仮想空間90では、各メッシュが設定される。例えば、各メッシュの位置は、仮想空間90に規定するグローバル座標系であるXYZ座標系における座標値として予め規定されている。
仮想空間90に展開可能なパノラマ画像91(静止画、又は、動画等の形式である。)を構成する各部分画像は、仮想空間90において対応する各メッシュにそれぞれ対応付けられる。
例えば、仮想空間90では、中心Cを原点とするXYZ座標系が規定される。XYZ座標系は、例えば、実座標系に平行である。以下、XYZ座標系における水平方向、鉛直方向(上下方向)、及び、前後方向は、X軸、Y軸、及び、Z軸とする。したがって、XYZ座標系において、X軸(水平方向)は、実座標系のx軸と平行である。また、XYZ座標系において、Y軸(鉛直方向)は、実座標系のy軸と平行である。さらに、XYZ座標系において、Z軸(前後方向)は、実座標系のz軸と平行である。
仮想空間90には、ユーザ端末20に対応付けられた仮想カメラ92が配置される。そして、仮想空間90内における仮想カメラ92の位置は、仮想空間90内におけるユーザの視点に相当する。
また、仮想カメラ92の向きは、仮想空間90におけるユーザの視線(図5では、基準視線93で示す。)に相当する。そして、プロセッサ21は、仮想カメラ92の位置と向きとに基づいて、仮想空間90における視界領域94(すなわち、仮想カメラ92の画角となる。)を規定する。
図6に示すように、視界領域94は、YZ断面において、領域95を一部に含む。また、領域95は、仮想空間90内で基準視線93を含む鉛直断面(すなわち、YZ断面である。)において、基準視線93を中心とする極角αの範囲である。
図7に示すように、視界領域94は、XZ断面において領域96を一部に含む。また、領域96は、仮想空間90内で基準視線93を含む水平断面(すなわち、XZ断面である。)において、基準視線93を中心とする方位角βの範囲である。
プロセッサ21は、仮想空間90に展開されたパノラマ画像91のうち、視界領域94に含まれる部分画像を、仮想カメラ92が撮像した仮想空間画像97として生成(抽出)する。そして、プロセッサ21は、生成した仮想空間画像97をモニタ31に表示させる。
すなわち、視界領域94は、仮想空間90内におけるユーザの視界に相当する。さらに、仮想空間90内において、仮想カメラ92の位置、及び、向きの変化に追従して視界領域94が移動し、モニタ31に表示される仮想空間画像97が更新される。すなわち、ユーザ4の視界が移動する。
例えば、プロセッサ21は、操作装置42で受け付けたユーザ4の操作に連動して、仮想空間90内で仮想カメラ92を移動させる。また、プロセッサ21は、動きセンサ41で検知されたユーザ端末20の動き(例えば、互いに直交する3軸周りの回転である。)に連動して、仮想カメラ92の向き(すなわち、基準視線93である。)を変化させる。さらに、プロセッサ21は、位置及び向きが変化した後の仮想カメラ92で撮像した仮想空間画像97をモニタ31に表示させる。
以上のように、ワールド座標系において、カメラ座標系等の条件が定まると、視界領域94が定まる。このように定まる視界領域94を表示する画像がユーザ4に対して出力される。
なお、上記以外の処理によって、ユーザ4に対して出力する仮想空間の画像が定まってもよい。
[仮想空間90の生成例]
図8は、仮想空間の生成例を示す図である。以下、実在する所定の街を3次元にコンピュータグラフィックスで再現して表示する例で説明する。
図8(A)は、図5乃至図7と同様の形式で視点の設定例を説明する図である。例えば、ユーザ端末20は、本人アバター位置50を原点にし、視界領域94の範囲を3次元にコンピュータグラフィックスで再現して表示する。
図8(B)は、仮想空間の表示例である。例えば、図8(A)のように設定された視界領域94は、視界領域94に対応する仮想空間画像97をユーザ4に表示する。
また、本人アバター位置50の近くに、複数の他人アバター52A、51B、52B、51C、52C、及び、52Dの6人のアバターがいるとする。これらの他人アバター52A、51B、52B、51C、52C、及び、52Dのうち、他人アバター52A、51B、及び、52Bの3人のアバターの位置は、視界領域94内であるとする。一方で、これらの他人アバター52A、51B、52B、51C、52C、及び、52Dのうち、他人アバター51C、52C、及び、52Dの3人のアバターの位置は、視界領域94外であるとする。
図8(B)に示すように、視界領域94内にいる他人アバター52A、51B、及び、52Bの3人のアバターは、仮想空間画像97に、街と一緒に表示される。そして、他人アバター52A、51B、及び、52Bのユーザ4が操作すると、仮想空間画像97では、操作に基づいた動作が反映されて表示される。
図9は、仮想空間における行動例を示す図である。例えば、ユーザ4は、本人アバター54を操作して、仮想空間における店舗で買い物が可能である。具体的には、仮想空間では、本人アバター54は、図9に示すように、店舗内に移動、及び、店舗内で商品を見る等の行動が可能である。
ほかにも、本人アバター54で店員アバター55に話しかけるように操作すると、本人アバター54を介して、ユーザ4は、コミュニケーションを取ることが可能である。具体的には、ユーザ4は、コミュニケーションを取ることによって、商品の説明を受ける、購入の手続きを行う、又は、価格を交渉する等のコミュニケーションが可能である。
なお、仮想空間において、アバターを用いて行う行動は、上記の例に限られない。例えば、行動は、店舗以外の地点に移動する、イベントに参加する、アバターの外観(例えば、衣裳、体型、色、又は、装飾品等である。)、アバターが発する音声(例えば、声等である。)、又は、特定条件下で自動的に行うモーションを変更する等である。
このように、行動は、ユーザ4による入力操作に対し、アバターの移動、又は、仮想空間におけるコミュニケーションが含まれるものであればよい。
図10は、マップ、及び、オブジェクトの例を示す図である。例えば、マップ、及び、オブジェクトのデータがあると、サーバ10は、特定地点を再現した仮想空間を生成できる。
マップは、例えば、仮想空間において、ユーザアバターが通過できる空間等を指定するデータである。具体的には、街を再現する仮想空間においては、道130が、アバターが通過できる空間となる。すなわち、ユーザアバターの通過できる空間を道130で示し、かつ、道130以外の空間はユーザアバターが通過できないように設定したデータをマップが示す。
なお、マップには、道130以外のデータが含まれてもよい。マップは、特定地点における地形等を示すデータでもある。
オブジェクトは、例えば、街に再現する道、建物、名所、設置物、又は、店舗等の構造物131である。したがって、オブジェクトのデータは、構造物の形状、及び、寸法等を示す設計データ等である。すなわち、サーバ10は、オブジェクトのデータがあると、仮想空間に3次元モデルの構造物を再現できる。
また、マップは、構造物131の配置等のデータも含まれる。したがって、マップ、及び、オブジェクトが実空間に存在する街と同様の地形、及び、構造物131に対応しているのであれば、サーバ10は、マップ、及び、オブジェクトに基づき、街に存在する通りに道130を構成し、かつ、構造物131を実在する街に存在する通りに配置した地形を再現するように、仮想空間を生成できる。
仮想空間は、実在する同じ街を3次元にコンピュータグラフィックスで再現した仮想空間である。したがって、仮想空間は、所定の街、又は、特定の地域等(以下、「特定地点」という。)を再現する。例えば、仮想空間は、どちらも「渋谷」の街を再現して示す仮想空間である。なお、仮想空間は、複数生成されてもよい。
具体的には、ユーザ4は、ユーザ端末20を介して仮想の「渋谷」にログインする。そして、ログインの操作が行われると、ユーザ端末20は、ログイン情報をサーバ10に送信する。
このような結果を受け取ると、ユーザ端末20は、サーバ10からの返信に基づいて振り分けられたマップをモニタに表示させる。
なお、特定地点は、街以外が対象でもよい。また、特定地点は、実在する地域等でなく、架空の街等でもよい。すなわち、仮想空間に再現される特定地点は、マップ、及び、オブジェクトのデータが用意できる地域であればよい。
仮想空間を生成するため、サーバ10は、マップ、及び、オブジェクトのデータを予め入力する。
なお、仮想空間の生成方法、及び、構成は、上記の生成方法、及び、構成に限られない。したがって、仮想空間は、上記以外の生成方法で生成されてもよい。また、仮想空間は、上記以外の構成でもよい。
[仮想空間における情報の取得、又は、生成の例]
図11は、情報の取得、又は、生成の例を示す図である。以下、ユーザ端末20を介して、仮想空間においてユーザアバター201を操作する場合を例に説明する。
仮想空間内でユーザアバター201が行動すると、例えば、イベント、事故、又は、著名人の用いるアバター(以下「著名人アバター202」という。)を目撃する等の事象に遭遇する。
以下、ユーザアバター201を操作して、街を歩くように制御している際に、アイドル等の著名人アバター202を目撃した例で説明する。また、以下の説明では、サーバ10が情報の収集、及び、配信を行う「放送局」となる。
ユーザ4の操作に基づき、例えば、著名人アバター202を撮影する、又は、目撃した箇所等を示す目撃情報が生成される。
情報は、他のユーザとのコミュニケーション、又は、その他の情報媒体から取得する場合がある。以下、ユーザ4が取得する情報を「取得情報」という。ほかに、ユーザ4が仮想空間内で撮影する操作を行うと、画像という情報が生成される。このように、ユーザ4によって生成される情報を「生成情報」という。また、以下の説明では、取得情報、及び、生成情報のどちらでもよい場合を単に「情報」という場合がある。
図12は、目撃情報の生成例を示す図である。例えば、著名人アバター202を撮影すると、目撃写真画像211が生成される。このように、目撃情報の場合には、情報に関する画像は、例えば、目撃写真画像211のように、著名人アバター202が写っている画像等である。なお、目撃写真画像211は、キャプチャで生成されてもよいし、仮想カメラ92で撮影した画像でもよい。また、画像は、複数枚、又は、動画でもよい。
著名人アバター202を目撃した例では、例えば、ハッシュタグ212、位置情報213、コメント214、又は、これらの組み合わせが生成されてもよい。
ハッシュタグ212は、所謂キーワードを示す文言である。具体的には、著名人アバター202を目撃した例では、著名人の氏名、目撃情報であるといった情報の種類、又は、目撃した箇所の名称等がハッシュタグ212となる。例えば、ハッシュタグ212は、ユーザ4が文字を設定して生成する。ただし、ハッシュタグ212は、画像認識等で生成されてもよい。
ハッシュタグ212を目撃写真画像211に加えると、情報の検索を文字でしやすくできる。また、ハッシュタグ212が示すキーワードによって、より情報を付加させることができる。
位置情報213は、著名人アバター202を目撃した例では、目撃した箇所を示す座標等である。すなわち、位置情報213は、目撃した時点で、仮想空間内のどの箇所で目撃したかを特定できる情報である。なお、位置情報213は、情報に関する箇所がある程度分かる情報でもよい。例えば、位置情報213は、座標でなく、近隣に存在するオブジェクトの名称、又は、地名等でもよい。例えば、位置情報213は、ユーザアバター201が撮影を行った箇所を特定して生成される。ただし、位置情報213は、ユーザ4が入力してもよい。
このように、位置情報213があると、事象がどこで生じているかを特定できる。
コメント214は、ユーザ4が入力する画像の内容を説明するテキストデータである。例えば、コメント214は、ユーザ4が画像について知っている内容等をテキスト形式で入力する。
このようにコメント214があると、より事象についての詳細な情報が分かる。
なお、情報の種類、生成方法、及び、形式は、上記に説明するものに限られない。例えば、情報は、他の方法等で生成されてもよい。また、情報は、ユーザ4が他のユーザから取得したものを援用したもの等でもよい。
[放送局による公衆配信の例]
図13は、放送局による公衆配信の例を示す図である。例えば、放送局となったサーバ10に収集された情報は、仮想空間内において、仮想スクリーンオブジェクトに表示、配布物による情報提供、ラジオによる音声情報、仮想空間内で用いる情報処理端末への出力、マップにおける情報に関する位置の表示、メディアでの配信、又は、これらの組み合わせで公衆配信される。すなわち、情報は、仮想空間に、物体、建物、名所、設置物、又は、店舗を再現した3次元モデルであるオブジェクトを介して配信される。
例えば、仮想スクリーンオブジェクトは、現実空間と同様に、任意の文字、又は、画像等を発光等で表示して情報を発信する設置物を再現した3次元モデルである。このように、情報を視認できる形式で配信する場合には、オブジェクトは、文字、及び、画像等を3次元モデルの表面に表示して情報を配信する。
一方で、音声で情報を配信する場合には、オブジェクトは、音声源となる。具体的には、オブジェクトは、現実空間におけるスピーカの役割を担う。ただし、音声をオブジェクトの周辺にいるアバターに発することができれば、音声源のオブジェクトは、建物等の形状でもよい。
サーバ10に収集された情報は、画像等が放送局、すなわち、仮想空間を管理する管理者等によって編集されてもよい。
公衆配信は、指定する者にだけでなく、不特定多数の者に広く情報を知らせるため、多くの者が目に付く箇所等で分かりやすく情報を提供することである。したがって、公衆配信は、ユーザアバター201が多く利用する有名スポット、又は、スタート地点等で行われるのが望ましい。
仮想スクリーンオブジェクトに表示は、屋外に設置される大型のスクリーン(所謂パブリックビューである。以下「パブリックビュー220」という。)に情報の内容を文字等で表示して情報を提供する形式である。例えば、パブリックビュー220は、建物等のオブジェクトの最上部といった目立つ位置に設置される。そして、パブリックビュー220は、建物の前を通るユーザアバター201が視認できるように、文字等を表示する。
パブリックビュー220に表示する文字等は、放送局が決定する。したがって、放送局は、情報を収集すると、情報の内容を示す文字等をパブリックビュー220に表示する設定を行う。このようにして、パブリックビュー220等に情報が表示される。
なお、スクリーンは、建物以外の種類のオブジェクトに設置されてもよい。すなわち、スクリーンは、文字等が表示できる仮想空間における物体であれば種類を問わない。
配布物による情報提供は、例えば、NPC(Non Player Character)、又は、管理者が操作するアバター等によって配布されるチラシ221等で情報を提供する形式である。所謂「号外」を知らせる形式である。なお、配布物は、チラシ221でなくともよく、情報が伝達できるものであれば種類を問わない。
具体的には、NPCが配布しているチラシ221をユーザアバター201が受け取ると、チラシ221に入力されている情報を取得することができる。
チラシ221に入力する情報は、放送局が決定する。したがって、放送局は、情報を収集すると、情報の内容を示す文字等をチラシ221に入力する。このようなチラシ221を配布して、チラシ221よって情報が配信される。
ラジオによる情報提供は、例えば、音声ニュース222で情報を提供する形式である。なお、音声ニュース222は、定期的に流れてもよいし、不定期でもよい。具体的には、音声ニュース222は、情報の内容を音声で出力する。したがって、ユーザ4は、音声ニュース222を聞くと情報を把握できる。
音声ニュース222は、放送局が流すタイミング、及び、流す音声等を決定する。したがって、放送局は、情報を収集すると、情報の内容を示す音声等を音声ニュース222にする。このような音声ニュース222を流して、音声ニュース222よって情報が配信される。
なお、音声ニュース222は、字幕、及び、画像等があってもよい。
仮想空間内で用いる情報処理端末への出力は、例えば、ユーザアバター201が仮想空間内で所持する情報処理端末(以下「仮想端末223」という。)で情報を提供する形式である。仮想端末223は、現実空間とは別に仮想空間内でアバターが用いる情報処理端末である。具体的には、放送局は、仮想端末223に、メッセージ等で出力する。したがって、仮想端末223を見ると情報を把握できる。
なお、仮想端末223で使用できるSNS等がある場合には、仮想端末223で使用できるSNS等で情報が出力されてもよい。
仮想端末223に出力するメッセージ等は、放送局が流すタイミング、及び、流すメッセージ内容等を決定する。したがって、放送局は、情報を収集すると、情報の内容を示すメッセージ等を仮想端末223に送信する。このような仮想端末223への配信によって情報が配信される。
マップにおける情報に関する位置の表示は、仮想空間におけるマップ上に情報を表示して情報を提供する形式である。
図14は、マップにおける情報に関する位置の表示例を示す図である。例えば、マップ上に、ポイントマーク224、又は、座標表示225を表示する。このように、マップにおける情報に関する位置の表示は、マップを使用して目撃情報がどの箇所で生じているものかを知らせる。
なお、マップは、所謂ミニマップ、又は、簡略化したマップ等でもよい。例えば、マップは、ユーザ4がマップに切り替える操作を行うと画面上に表示されるGUIである。
マップにおける情報に関する位置の表示は、放送局が流すタイミング、及び、ポイントマーク224で知らせる箇所等を決定する。したがって、放送局は、情報を収集すると、情報の内容を示すマップを生成する。このようなマップをユーザ4が見ることによって情報が配信される。
以下、このように収集される位置情報が指す位置を「関連個所」という。すなわち、関連個所は、目撃情報等があった仮想空間内の特定の箇所である。
位置情報に基づき、ユーザアバター201は、位置情報が指す関連個所に移動できるのが望ましい。仮想空間内では、特定の場所に速やかに移動できる、所謂「ワープ」が可能な場合がある。したがって、情報と関連個所を紐づけておくと、関連個所に速やかに移動した場合に、ユーザアバター201が関連個所にワープできると、情報をより活用できる。
例えば、関連個所への移動は、マップにおいてポイントマーク224をクリックする等の操作によって実現される。
メディアでの配信は、仮想空間内において配信されるメディアを使用して情報を配信する方法である。例えば、仮想空間内でもニュース、新聞、掲示板、SNS、又は、その他の形式等で情報を流すメディアが構築される。放送局は、このようなメディアに情報を提供する。このように、メディアでの配信は、仮想空間内で流れるメディア上で情報を配信する。
また、公衆配信は、上記の配信方法を組み合わせてもよい。つまり、公衆配信は、複数のルートで同一の内容を重複して配信してもよい。
[第1画像、及び、第2画像の例]
図15は、第1画像、及び、第2画像の例を示す図である。ユーザ4は、公衆配信の対象にするか否かを操作できるのが望ましい。以下、画像を情報の例に説明する。
例えば、目撃情報の場合には、ユーザ端末20は、目撃した著名人アバター202を被写体にした画像を放送局に情報として提供する。
以下、撮影した画像であって、公衆配信における配信の対象としない画像を「第1画像231」という。一方で、公衆配信の対象にするために、放送局に収集されてもよい画像を「第2画像232」という。
例えば、第1画像231は、自己のユーザアバター201が画像内に映り込み、かつ、提供者が自身のことは匿名にしたい場合等である。このような場合には、第1画像231は、放送局に画像が収集されない。
第2画像232は、目撃情報の対象となる著名人アバター202が被写体として写り、かつ、提供者のことは画像には表現されていない画像である。
第1画像231とするか第2画像232とするかは、例えば、ユーザ4が選択するボタン等があるのが望ましい。したがって、画像を撮影後、撮影された画像は、ユーザ4の操作により、第1画像231、又は、第2画像232のどちらにするかが設定される。
なお、第1画像231、又は、第2画像232のどちらにするかは、撮影ボタンが異なる等の形式でもよい。
このように、公衆配信される情報をユーザ4が選択できるのが望ましい。例えば、撮影ボタンは、画像ごとに、配信ボタン241、及び、保存ボタン242が表示される。そして、配信ボタン241を押すと、画像が第2画像232となる。一方で、保存ボタン242を押すと、画像が第1画像231となる。なお、第1画像231、又は、第2画像232は、いずれかの情報処理装置に保存されてもよいし、保存されなくともよい。
配信ボタン241、及び、保存ボタン242は、撮影した際に表示されてもよいし、撮影した画像が一度保存された後、画像を表示した際にボタンが表示されてもよい。
[報酬制度、及び、通知制度の例]
公衆配信のために、情報を提供するユーザ4に対して対価となる報酬が支払われてもよい。例えば、報酬は、放送局がユーザ4に支払う。
報酬は、仮想空間内で用いることができる通過、アイテム、又は、ポイント等である。このように、情報提供の対価として報酬があると、放送局は情報の収集が容易にできる。
ほかにも、提供者が提供した情報が採用された場合に、公衆配信がされると、提供者に対して採用された旨を知らせる通知がされるのが望ましい。例えば、通知は、採用を知らせるメッセージ等である。このように、採用が通知されると、提供者の満足度を高めることができる。
[信用度の例]
情報の提供を行うユーザごとに信用度が設定されるのが望ましい。
信用度は、ユーザ4が提供する情報の確かさをいう。例えば、著名人、又は、情報の提供を行う回数が多いユーザ4は、信用度が高く設定される。
放送局は、信用度が高いユーザ4が情報源となる情報を優先して公衆配信する。例えば、情報が複数の情報源から提供されて、情報の内容が異なる場合等でも、信用度が設定されていると、放送局は、どちらの情報を採用した方がよいかが判断しやすくできる。
ほかにも、初めて情報を提供するユーザ4(以下「初提供ユーザ」という。)等も優先としてもよい。初提供ユーザの情報がより採用されやすいと、情報を提供する制度を利用しようとするユーザ4を増やすことができ、より活発化できる。
放送局等が情報を熱心に提供してくれるユーザ4等を認証し、「認証ユーザ」とする認証制度があってもよい。
認証ユーザは、認証されていないユーザよりも配信情報に採用されるのが優先される。例えば、基準値が事前に設定され、基準値以上のユーザが認証ユーザとなる等でもよい。このように、ある程度確かな情報を提供してくれるユーザ4が分かりやすいと、誤報等を少なくできる。
なお、情報は、目撃情報に限られず、例えば、イベント、及び、イベントの行われている箇所等でもよい。このように、情報は、仮想空間内で起きているイベント等を他に知らせる内容であればよい。
[変形例]
各情報が配信する価値があるか否かを事前に放送局等に問い合わせできるのが望ましい。例えば、ユーザ4が情報を取得した際に、取得した情報が公衆配信する程度の価値があるか否かを判断できない場合がある。このような場合において、まずユーザ端末20から情報を放送局に送信する。この時点では、情報は、公衆配信しない設定である。
放送局は、送信された情報がどのような内容であるかを判断し、送信したユーザ4に対して返答する。公衆配信する価値があれば、放送局は、送信したユーザ4に対して、公衆配信する許可を求める。一方で、公衆配信する価値がなければ、放送局は、送信したユーザ4に対して、公衆配信しないと返送する。そして、ユーザ4の許可があれば、情報は、公衆配信で配信される。
このように、情報の価値を事前に評価できるのが望ましい。このような評価ができると、ユーザ4は、より気軽に情報の提供ができる。
なお、情報は、放送局がすべて検索できるでもよい。すなわち、ユーザ4の操作によって取得、又は、生成される情報は、放送局がすべて検索でき、価値がある情報を放送局が検索で見つけると、ユーザ4に対して情報を収集する許可ができてもよい。
[全体処理例]
図16は、全体処理の例を示す図である。
図17は、全体処理のシーケンス例を示す図である。なお、図16、及び、図17は、同一の全体処理を示し、同一の処理は同一の符号を付して重複する説明を省略する。
ステップS01では、サーバ10は、仮想空間を生成する。以降、ユーザアバター201が仮想空間内で行動が可能な状態となる。
ステップS02では、サーバ10は、ユーザ端末20から情報を収集する。なお、ユーザ端末20は、ユーザが操作する情報処理装置に限られない。すなわち、サーバ10は、ユーザ4が関連付けられているのであれば、ユーザ4が操作する以外の情報処理装置から情報を収集してもよい。つまり、取得情報、又は、生成情報は、様々な記憶先があり得る。
ステップS03では、サーバ10は、収集した情報を仮想空間において公衆配信する。
なお、全体処理は、上記の手順、及び、処理に限られない。したがって、全体処理では、上記以外の処理が行われてもよい。
[機能構成例]
図18は、機能構成例を示す図である。例えば、サーバ10は、仮想空間生成手段1F1、収集手段1F2、及び、配信手段1F3を備える。なお、サーバ10は、報酬付与手段1F4、通知手段1F5、位置情報収集手段1F6、及び、移動手段1F7を更に備えるのが望ましい。
仮想空間生成手段1F1は、仮想空間を生成する仮想空間生成手順を行う。例えば、仮想空間生成手段1F1は、プロセッサ11等で実現する。
収集手段1F2は、ユーザ端末20から、取得情報、又は、生成情報を収集する収集手順を行う。例えば、収集手段1F2は、通信IF15等で実現する。
配信手段1F3は、収集された情報に基づき、仮想空間において配信情報を公衆配信する配信手順を行う。例えば、配信手段1F3は、通信IF15等で実現する。
報酬付与手段1F4は、配信情報に対する対価となる報酬を付与する報酬付与手順を行う。例えば、報酬付与手段1F4は、通信IF15等で実現する。
通知手段1F5は、公衆配信がされると、情報を提供したユーザに対し、提供した情報が採用されたことを通知する通知手順を行う。例えば、通知手段1F5は、通信IF15等で実現する。
位置情報収集手段1F6は、位置情報を更に収集する位置情報収集手順を行う。例えば、位置情報収集手段1F6は、通信IF15等で実現する。
移動手段1F7は、位置情報に基づき、ユーザアバター201を関連個所へ移動させる移動手順を行う。例えば、移動手段1F7は、通信IF15等で実現する。
以上のような情報を収集し、公衆配信によって情報の提供があると、仮想空間内でプレイ中のユーザ4は、仮想空間において発生するイベント等の事象を知ることができる。特に、リアルタイムな情報の提供、及び、収集が可能になる。また、現実空間におけるSNSに頼らずとも情報の提供、及び、収集が可能になる。
仮想空間内では、ユーザ4は、情報をリアルタイムに取得できるのが望ましい。仮想空間にいる場合は没入状態であるため、同じ仮想空間内において、いつ、どこでイベント等が生じているかを知るきっかけが少なく、ユーザ4が一人ごとにクローズである場合がある。そこで、各ユーザ4から情報を収集し、情報が共有できると、仮想空間で生じているイベント等の情報を共有して、仮想空間で行われているイベントを見逃す等を少なくできる。
また、仮想空間内であれば、情報が生じている箇所にもすぐにアバターを移動できるため、より情報が活用できる。
なお、放送局は、管理者3に限られず、任意のユーザ4でもよい。また、放送局は、1つに限られず、複数あってもよい。また、放送局は、収集した情報をそのまま公衆配信せずに情報を加工、又は、編集して配信用の画像、又は、見出し等(以下「配信情報」という。)を生成してもよい。例えば、同一の事象に対して、複数の情報が収集できた場合等には、放送局は、収集した複数の情報をまとめて1つの配信情報等にして配信してもよい。したがって、配信情報は、収集した情報に基づいていれば、収集した情報がそのまま採用されてもよいし、収集した情報と同一でなくともよい。
[メタバース(metaverse)について]
仮想空間は、所謂メタバース空間である。メタバースとは、「メタ(meta、超越)」と「ユニバース(universe、宇宙、世界)」を組み合わせた言葉である。そして、メタバースは、多人数が参加可能であって、参加者がその中で自由に行動できるコンピュータネットワーク上の3次元仮想空間等をいう。
メタバースには、アバターを用いて複数人が参加する。そして、メタバース空間では、三次元の画像処理で実行する空間内で取引が実行される場合もある。
メタバース上での取引には、任意のトークンが用いられる場合が多い。取引は、例えば、オンラインゲーム、バーチャルライブ、又は、EC(electronic commerce、電子商取引)等の様々な種類が実行可能である。
また、メタバースは、AR(Augment Reality)、又は、VR(Virtual Reality)といった「XR」を用いて実現される場合もある。ほかにも、メタバースは、3DCG、高速通信技術、AI、及び、ブロックチェーン等の技術も用いて実現する場合もある。
[補助装置を用いる構成について]
アバターは、仮想空間におけるユーザ4の分身となる。そのため、仮想空間では、各アバターの行動には、そのアバターに対応付けされているユーザの言動が出現する。
例えば、ユーザ端末20は、操作装置に入力するユーザ4の操作に連動して、仮想空間内でアバターを動作させる。アバターの動作とは、例えば、仮想空間内で移動すること、身体の各部を動かすこと、姿勢を変えること、顔の表情を変化させること、発話すること、又は、仮想空間内に配置されたオブジェクトを動かすこと等を含む。
さらに、ユーザ端末20は、アバターの動作、又は、ステータスの変化を示すアバターデータを、通信ネットワーク2を通じてサーバ10に送信する。次に、サーバ10は、ユーザ端末20から受信したアバターデータを、通信ネットワーク2を通じて他のユーザ端末20に送信する。そして、ユーザ端末20は、サーバ10から受信したアバターデータに基づいて、仮想空間内の対応するアバターの動作、又は、ステータスを更新する。
一方で、アバター関連の処理は、ユーザ端末20側が行ってもよいし、サーバ10側で行ってもよい。例えば、ユーザ端末20は、1以上のサーバ10から各種の情報、及び、各種の要求を受信する。
サーバ10からユーザ端末20には、進行情報、配信情報、及び、ユーザ情報等の情報が送信される。
進行情報は、仮想空間におけるイベント等の進行状況である。具体的には、進行情報は、仮想空間に配置された1以上のアバターの種類情報、アバターの座標情報、アバターのアクション情報、及び、その他の情報である。
アバターのアクション情報は、アバターの姿勢、アイテムの使用、スキルの使用、又は、ジャンプ等を示す情報である。
アバターの種類情報は、アバターの設定、アバターの装備、又は、アバターの容姿等を示す情報である。
配信情報は、仮想空間における事象を、視聴空間(現実空間である。)に再現するための情報等を示す情報である。また、配信情報は、仮想空間に配置された1以上のアバターの種類情報、アバターの座標情報、アバターのアクション情報、及び、その他の情報を含んでもよい。
上記のような処理は、サーバ10、及び、ユーザ端末20以外の情報処理装置が補助的に行ってもよい。
図19は、補助装置を用いる構成例を示す図である。図1に示す例と比較すると、図17に示す構成は、補助装置60が加わる点が異なる。なお、補助装置60は、一時的に用いる構成でもよい。
補助装置60は、ユーザ端末20(この例では、ユーザ端末20A付近に設置しているが、他の装置近くにあってもよい。)等の近くに設置される情報処理装置である。そして、補助装置60は、特定の処理をユーザ端末20、又は、サーバ10に代わって一部又は全部を実行する。
例えば、補助装置60は、グラフィック処理に特化したデバイスを備えて、グラフィック処理を高速で行う。このように、補助装置60等を設置して、所謂エッジコンピューティング(Edge Computing)等が行われてもよい。このように、前述する処理は、様々な情報処理装置のハードウェアリソースを活用して実行されてもよい。したがって、前述する処理は、前述したのとは異なる情報処理装置が実行してもよい。
[その他の実施形態]
アバターは、人間の外観に限られない。例えば、アバターは、動物、又は、架空のもの等でもよい。すなわち、アバターは、上述したものに限られず、ユーザ4の設定等で自由に設定できる。
AIが用いられてもよい。例えば、AIはディープラーニング(deep learning、深層学習)等の学習モデルで実現する。例えば、AIは、よく使用されるコマンド、又は、メッセージ(他のユーザの使用履歴等を学習データとする学習済みモデルによる。)をリコメンドする等である。ほかに、AIは、過去の実績を学習して各種の予測結果を表示してもよい。
前述の処理、及び、本実施形態で実行される処理に用いるデータは、情報処理システムによって実行、及び、記憶されてもよい。例えば、情報処理システムは、処理又は記憶を冗長、分散、並列、又は、これらの組み合わせを実現するため、複数の情報処理装置で実行又は記憶してもよい。したがって、本発明は、前述に示すハードウェア構成以外の装置、及び、前述に示す装置以外のシステムで実現されてもよい。
また、本発明に係るプログラムは、単一のプログラムに限定されず、複数のプログラムの集合体でもよい。また、本発明に係るプログラムは、単一の装置で実行されるものに限定されず、複数の情報処理装置で分担して実行されてもよい。さらに、各情報処理装置の役割分担は、前述の例に限定されない。すなわち、前述した処理の一部、又は、全部が前述した情報処理装置とは異なる情報処理装置が実行してもよい。
さらに、プログラムによって実現される各手段の一部、又は、全部は、集積回路等のハードウェアで実現することもできる。さらに、プログラムは、コンピュータによって読み出し可能な非一過性の記録媒体に記録されて提供されてもよい。記録媒体とは、例えば、ハードディスク、SDカード(登録商標)、DVD等の光学ディスク、又は、インターネット上のサーバ等を指す。したがって、プログラムは、インターネット等の電気通信回線を介して配信されでもよい。
また、情報処理システムを構成する情報処理装置等は、海外にあってもよい。
なお、本発明は、前述に例示する各実施形態に限定されない。したがって、本発明は、技術的な要旨を逸脱しない範囲で、構成要素の追加、又は、変形が可能である。ゆえに、特許請求の範囲に記載された技術思想に含まれる技術的事項のすべてが本発明の対象となる。なお、前述に例示する実施形態は、実施において好適な具体例である。そして、当業者であれば、開示した内容から様々な変形例を実現で可能であって、このような変形例は、特許請求の範囲に記載された技術的範囲に含まれる。