(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-22
(45)【発行日】2024-04-01
(54)【発明の名称】端末装置、サーバ装置、情報処理システム、及びプログラム
(51)【国際特許分類】
H04L 67/52 20220101AFI20240325BHJP
A63F 13/216 20140101ALI20240325BHJP
A63F 13/35 20140101ALI20240325BHJP
A63F 13/65 20140101ALI20240325BHJP
G06F 3/01 20060101ALI20240325BHJP
H04L 67/00 20220101ALI20240325BHJP
【FI】
H04L67/52
A63F13/216
A63F13/35
A63F13/65
G06F3/01 510
H04L67/00
(21)【出願番号】P 2019204249
(22)【出願日】2019-11-11
【審査請求日】2022-09-16
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100122275
【氏名又は名称】竹居 信利
(72)【発明者】
【氏名】大橋 良徳
【審査官】岩田 玲彦
(56)【参考文献】
【文献】国際公開第2018/173207(WO,A1)
【文献】特表2016-527651(JP,A)
【文献】特開平11-339068(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/52
A63F 13/216
A63F 13/35
A63F 13/65
G06F 3/01
H04L 67/00
(57)【特許請求の範囲】
【請求項1】
端末装置と通信可能に接続されるサーバ装置であって、
前記端末装置から、当該端末装置の現実空間での位置を特定する情報を受信する位置関係情報受信手段と、
前記現実空間内に、所定のコンテンツに関連するコンテンツ関連情報を関連付けた仮想空間を設定する要求であって、前記現実空間中の範囲を表す占有空間特定情報を含み、当該占有空間特定情報が表す現実空間中の範囲を占有空間として、当該占有空間内に前記仮想空間を設定する要求をユーザから受け入れる要求受入手段と、
前記要求に基づいて仮想空間を設定する処理を実行する設定手段であって、前記要求に含まれる占有空間特定情報が表す前記現実空間中の範囲が、他のユーザから受け入れた要求に基づいて既に設定されている他の占有空間が占める前記現実空間中の範囲と重なり合う場合に、所定の処理を実行する設定手段と、
を含むサーバ装置。
【請求項2】
請求項1に記載のサーバ装置であって、
前記設定手段は、前記要求に基づいて仮想空間を設定する処理を実行する設定手段であって、前記要求に含まれる占有空間特定情報が表す前記現実空間中の範囲が、他のユーザから受け入れた要求に基づいて既に設定されている他の占有空間特定情報が表す前記現実空間中の範囲と重なり合う場合に、前記所定の処理として、前記仮想空間の設定を拒否するサーバ装置。
【請求項3】
請求項1に記載のサーバ装置であって、
前記設定手段は、前記要求に基づいて仮想空間を設定する処理を実行する設定手段であって、前記要求に含まれる占有空間特定情報が表す前記現実空間中の範囲が、他のユーザから受け入れた要求に基づいて既に設定されている他の占有空間特定情報が表す前記現実空間中の範囲と重なり合う場合に、前記所定の処理として、前記要求に含まれる占有空間特定情報が表す現実空間中の範囲のうち、少なくとも前記既に設定されている他の占有空間特定情報が表す現実空間中の範囲を除く範囲に前記仮想空間を設定するサーバ装置。
【請求項4】
請求項1から3のいずれか一項に記載のサーバ装置であって、
前記設定手段は、前記要求に含まれる占有空間特定情報が表す前記現実空間中の範囲内に、予め設定が制限された現実空間中の範囲である除外範囲が含まれる場合は、当該除外範囲を含まない範囲に前記仮想空間を設定するサーバ装置。
【請求項5】
請求項1から4のいずれか一項に記載のサーバ装置であって、
前記設定手段は、前記要求に含まれる占有空間特定情報が表す前記現実空間中の範囲内に、ユーザが通過することが困難な障害物がある場合に、当該障害物によって区切られる現実空間の領域のいずれかを選択し、当該選択された領域外を除外範囲とし、当該除外範囲を含まない範囲に前記仮想空間を設定するサーバ装置。
【請求項6】
請求項1から5のいずれか一項に記載のサーバ装置であって、
現実空間中の各位置において撮像された画像データから抽出された特徴点情報を、当該画像データを撮像した位置の情報に関連付けて蓄積する特徴点データベースにアクセス可能に接続され、
前記位置関係情報受信手段は、前記端末装置から、端末装置の所在地周辺を撮像した画像データと、当該端末装置の現実空間中での所在範囲を特定する広域位置特定情報とを受信しており、
各端末装置の位置を特定する情報を生成する位置特定手段であって、端末装置ごとに、当該端末装置から受信した画像データから特徴点情報を抽出し、当該抽出した特徴点情報に関連付けて前記特徴点データベースに蓄積されている位置の情報を取得し、当該取得した位置の情報のうち、当該端末装置から受信した広域位置特定情報により特定される所在範囲に含まれる位置の情報を、当該端末装置の位置を特定する情報として取得する位置特定手段を備え、
前記設定手段は、前記仮想空間を設定する要求を行った端末装置の位置を特定する情報を用いて、前記仮想空間を設定する現実空間中の範囲を決定するサーバ装置。
【請求項7】
請求項1から6のいずれか一項に記載のサーバ装置であって、
前記要求受入手段がユーザから受け入れた要求に係るコンテンツ関連情報が、ユーザにより利用可能であるか否かを判断し、利用可能である場合に、前記要求に基づいて仮想空間を設定するサーバ装置。
【請求項8】
端末装置と、当該端末装置と通信可能に接続されるサーバ装置とを含む情報処理システムであって、
前記端末装置は、ユーザの指示により、所定のコンテンツに関連するコンテンツ関連情報に関連付けた仮想空間を、現実空間内に設定するよう前記サーバ装置に要求する手段であって、前記現実空間中の範囲を表す占有空間特定情報を含む要求と、
当該端末装置の現実空間での位置を特定する位置特定情報とを、前記サーバ装置に送信する手段と、
を含み、
前記サーバ装置は、
前記現実空間内に、所定のコンテンツに関連するコンテンツ関連情報を関連付けた仮想空間を設定する要求であって、前記現実空間中の範囲を表す占有空間特定情報を含み、当該占有空間特定情報が表す現実空間中の範囲を占有空間として、当該占有空間内に前記仮想空間を設定する要求を前記端末装置から受け入れる要求受入手段と、
前記要求に基づいて仮想空間を設定する処理を実行する設定手段であって、前記要求に含まれる占有空間特定情報が表す前記現実空間中の範囲が、他のユーザから受け入れた要求に基づいて既に設定されている他の占有空間が占める前記現実空間中の範囲と重なり合う場合に、所定の処理を実行する設定手段と、
を含むサーバ装置である情報処理システム。
【請求項9】
端末装置と通信可能に接続されるサーバ装置を、
前記端末装置から、当該端末装置の現実空間での位置を特定する情報を受信する位置関係情報受信手段と、
前記現実空間内に、所定のコンテンツに関連するコンテンツ関連情報を関連付けた仮想空間を設定する要求であって、前記現実空間中の範囲を表す占有空間特定情報を含み、当該占有空間特定情報が表す現実空間中の範囲を占有空間として、当該占有空間内に前記仮想空間を設定する要求をユーザから受け入れる要求受入手段と、
前記要求に基づいて仮想空間を設定する処理を実行する設定手段であって、前記要求に含まれる占有空間特定情報が表す前記現実空間中の範囲が、他のユーザから受け入れた要求に基づいて既に設定されている他の占有空間が占める前記現実空間中の範囲と重なり合う場合に、所定の処理を実行する設定手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末装置、サーバ装置、情報処理システム、及びプログラムに関する。
【背景技術】
【0002】
近年ではGPS(Global Positioning System)を利用した位置情報を用いて、現実空間に重ね合わせて仮想空間を設定し、当該設定した仮想空間内で展開されるゲームをプレイすることが可能となってきている(いわゆるARゲーム)。このようなゲームでは、例えばサーバ装置が、現実空間内で予め決められたスポット周辺に所在する複数のプレイヤのスマートフォンに、当該スポットに対応して設定された仮想空間を表示して標的キャラクタを登場させ、当該複数のプレイヤの攻撃操作を受けて、標的キャラクタの体力ゲージを減少させるといった処理が可能となっている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、上記従来の共通の仮想空間を用いたゲームを行う場合、現時点では、当該ゲームをそれぞれのプレイヤが、それぞれのスマートフォンなどに所定のアプリケーションをインストールしておかなければならない。また、共通の現実空間のスポットを利用する複数の種類のARゲームがある場合、互いに異なるARゲームをプレイする各プレイヤの端末にそれぞれ表示される仮想空間内のオブジェクトの現実空間中の位置は、互いに重なり合っていることがある。この場合、現実空間中の位置が競合するため、これらのプレイヤが当該オブジェクトに対して仮想的に触れるといった行動をそれぞれ行うと問題が生じる。このため上記従来の技術では、プレイヤの個々の端末にそれぞれの仮想空間を表示しており、複数のプレイヤ間で現実空間に重ね合わせられたゲーム等のコンテンツの空間を共有できていない課題がある。
【0004】
本発明は上記実情に鑑みて為されたもので、複数のユーザが、現実空間に重ね合わせられたコンテンツの空間を共有することを可能とする端末装置、サーバ装置、情報処理システム、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【0005】
上記従来例の問題点を解決する本発明の一態様は、端末装置であって、現実空間での位置を特定する位置特定手段と、所定のコンテンツに関連するコンテンツ関連情報に関連付ける仮想空間を、前記現実空間内に設定する設定手段であって、前記現実空間中の所定範囲を占有空間として、当該占有空間内に前記仮想空間を設定する設定手段と、前記仮想空間内のコンテンツ関連情報を前記サーバ装置から受信して、所定の情報処理を実行する実行手段と、を含むこととしたものである。
【発明の効果】
【0006】
本発明によると、複数のユーザが、現実空間に重ね合わせられたコンテンツの空間を共有することが可能となる。
【図面の簡単な説明】
【0007】
【
図1】本発明の実施の形態に係る情報処理システムの構成例を表すブロック図である。
【
図2】本発明の実施の形態に係る情報処理システムで利用される位置情報データベースの例を表す説明図である。
【
図3】本発明の実施の形態に係るサーバ装置の例を表す機能ブロック図である。
【
図4】本発明の実施の形態に係るサーバ装置が用いるコンテンツデータベースの例を表す説明図である。
【
図5】本発明の実施の形態に係る情報処理システムの動作例を表す流れ図である。
【
図6】本発明の実施の形態に係る情報処理システムのもう一つの動作例を表す流れ図である。
【発明を実施するための形態】
【0008】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理システムは、
図1に例示するように、互いに通信可能に接続されたサーバ装置10と、ユーザが所持する端末装置20やパーソナルコンピュータPC等とを含んで構成されている。またサーバ装置10は、位置情報管理サーバ30との間で通信可能に接続されている。
【0009】
この位置情報管理サーバ30は、いわゆるARクラウドサーバであり、
図2に例示するように、場所ごとに当該場所を撮影した画像内の所定の特徴点に関する情報(S)と、当該場所の位置情報(P)とを関連付けた位置情報データベースを備える。
【0010】
位置情報管理サーバ30は、サーバ装置10等から特徴点に関する情報とともに、位置情報の問い合わせを受信すると、当該受信した特徴点に関する情報をキーとして、位置情報データベースからキーとなった特徴点に関する情報に対応する(類似する)特徴点に関する情報を検索し、検索によって当該情報が見出されたときには、当該見出した情報に関連付けられた位置情報を取得する。この位置情報には、緯度経度の情報のようなグローバル座標系での位置を表す情報のほか、当該位置における姿勢情報(グローバル座標系における三次元的な向きを表す情報:グローバルポーズ(Global Pose)情報など)を含んでもよい。そして位置情報管理サーバ30は、要求元のサーバ装置10等に対して当該取得した位置情報を提供する。
【0011】
なお、本実施の形態でグローバル座標系は、地上の位置及び高さを規定する座標系であるものとし、例えば緯度、経度、及び高度でその値を表すものとする。
【0012】
サーバ装置10は、
図1に例示したように制御部11、記憶部12、通信部13を含む一般的なサーバコンピュータである。制御部11は、CPU等のプログラム制御デバイスであって、記憶部12に格納されたプログラムに従って動作する。
【0013】
本実施の形態の例では、この制御部11は、記憶部12に格納されたプログラムを実行して、端末装置20から位置検出情報を受信する。この位置検出情報は、端末装置20の現実空間中の位置を特定するために必要となる情報であり、後に詳しく述べる。
【0014】
制御部11は、端末装置20から受信した位置検出情報に基づいて、端末装置20の現実空間中の位置を特定する。一例として端末装置20から受信する位置検出情報には、端末装置20にて撮像された画像データから抽出された上記特徴点に関する情報が含まれる。この例では制御部11は、当該特徴点に関する情報を位置情報管理サーバ30に送出して、グローバルポーズ情報(端末装置20側で画像データを撮像したカメラのグローバルポーズ情報)を、端末装置20の現実空間中の位置の情報として取得し、当該取得した情報を端末装置20に送出する。
【0015】
また制御部11は、要求受入手段として機能し、例えばユーザから現実空間内に仮想的なオブジェクトを配置する仮想空間を設定する要求を受け入れる。この要求は、ユーザが操作するパーソナルコンピュータPCや端末装置20からサーバ装置10に対して送信されるもので、現実空間中の所定範囲を占有空間として、当該占有空間内に仮想空間を設定する要求である。本実施の形態のある例では、この要求には、占有空間を表す現実空間中の所定範囲を特定する情報と、当該占有空間内に設定する仮想空間に関連付けられるコンテンツ関連情報を特定する情報とを含む。
【0016】
ここで占有空間を表す現実空間中の所定範囲を特定する情報は、例えば指定された位置を底面の中心とした所定の大きさ(コンテンツ関連情報に基づいて定められてもよい)の直方体状の空間を特定する情報である。
【0017】
またコンテンツ関連情報は、例えば仮想空間で実行されるべきゲームコンテンツのプログラム(ゲームロジック)や、当該仮想空間に配されるべき仮想的なオブジェクトのモデル情報(三次元モデル情報)、当該仮想空間内で表示されるべきパーティクル等のエフェクト、種々の演出のためのプロセス、端末装置2のユーザに対して提示され、ユーザからの入力を受け入れるために表示されるユーザインタフェース、当該ユーザインタフェースを介して選択や操作を受け入れるためのプログラム(ロジック)、所定の操作等で表示されるテキスト、鳴動される効果音あるいは音声、BGM等、種々の情報を含む。
【0018】
制御部11は、設定手段として機能し、当該要求に基づいて仮想空間を設定する処理を実行し、占有空間が設定されるべき現実空間中の範囲を特定する情報(占有空間特定情報)と、当該占有空間に設定される仮想空間の情報(コンテンツ関連情報等)とを関連付けて空間データベースに記録することで、現実空間中の所定範囲を占有空間として、当該占有空間内に仮想空間を設定する。このとき制御部11は、要求された占有空間が占める現実空間中の範囲が、要求を行ったユーザとは異なる他のユーザから受け入れた要求に基づいて既に設定されている他の占有空間が占める現実空間中の範囲と重なり合うか否かを調べ、重なり合うと判断した場合に、仮想空間の設定を拒否する処理や、重なり合う部分を除く範囲を占有空間として設定するなど、仮想空間設定のための所定の処理を実行する。
【0019】
制御部11は、さらに、仮想空間が設定された占有空間に、少なくとも一つの端末装置20が所在する間は、当該端末装置20(複数ある場合はそれぞれ)に対して、設定された仮想空間内のコンテンツ関連情報を送出する。例えば仮想空間の設定者とは異なる、他のユーザの端末装置20であっても、当該占有空間内に所在する間は、制御部11は、当該端末装置20に対し、当該占有空間に設定された仮想空間内のコンテンツ関連情報を送出する。この制御部11の詳しい動作については後に述べる。
【0020】
記憶部12は、RAM等のメモリデバイスを少なくとも一つ含み、制御部11が実行するプログラムを保持する。またこの記憶部12は、制御部11のワークメモリとしても動作する。また本実施の形態では、この記憶部12には、占有空間が設定された現実空間中の範囲を特定する情報(占有空間特定情報)と、当該占有空間に設定される仮想空間の情報(コンテンツ関連情報等)と、当該占有空間を設定したユーザを特定する情報とを関連付けた、空間データベースが記録されていてもよい。
【0021】
通信部13は、位置関係情報受信手段として、ネットワークインタフェース等であり、制御部11から入力される指示に従い、位置情報管理サーバ30や、端末装置20との間で種々の情報を送受する。
【0022】
端末装置20は、ユーザが携帯できるスマートフォン等であり、サーバ装置10との間で通信を行うことのできる装置である。また本実施の形態では、この端末装置20は、表示手段として、ユーザの頭部に装着され、現実空間の像とともに仮想空間の画像をユーザの目に投影するヘッドマウントディスプレイHMDを含むものとする。ここでヘッドマウントディスプレイHMDにはカメラ等の撮像装置が設けられ、ユーザの正面側(ユーザが見ている方向)の画像を撮像している。
【0023】
本実施の形態のある例では、この端末装置20はユーザに携帯され、位置特定手段として機能し、現実空間での位置を特定するための位置検出情報を所定のタイミングごとに繰り返し生成して、サーバ装置10に対して送出する。具体的にこの位置検出情報は、ユーザの頭部に装着されたヘッドマウントディスプレイに備えられたカメラで撮像された画像データそのもの、または当該画像データから端末装置20が、所定の条件で抽出した特徴点に関する情報でよい。
【0024】
この特徴点としては、画像データとして撮像された多角形状体の頂点など、いわゆるSLAM(Simultaneous Localization and Mapping)技術で利用される特徴点でよい。またこの位置検出情報には、GPS衛星等から受信した信号に基づく位置情報(GPS位置情報と呼ぶ)が含まれてもよい。本実施の形態の例では、このGPS位置特定情報が、広域位置特定情報の一例となる。もっとも広域位置特定情報は、GPSを利用するものに限られず、無線LANのアクセスポイントの配置データ等に基づく方法や、携帯電話通信網における位置の情報など、種々のものを利用できる。
【0025】
端末装置20は、取得した位置検出情報をサーバ装置10へ送出する。このとき、端末装置20とサーバ装置10との間はセキュアな通信方法により接続されてもよい。セキュアな通信方法としては、例えばSSL(Secure Socket Layer)を利用する方法や、所定の方法で暗号化する方法等、種々の方法を利用できる。
【0026】
また本実施の形態の端末装置20は、端末装置20が送出した位置検出情報に基づくグローバルポーズ情報をサーバ装置10から受信する。このグローバルポーズ情報は、位置検出情報に基づいて得られたものであるので、本実施の形態の例では、ユーザの頭部(より詳しくは、当該頭部に装着されたヘッドマウントディスプレイ)のグローバル座標系での位置及び方向を表すものとなる。
【0027】
また本実施の形態の端末装置20は、サーバ装置10から受信したコンテンツ関連情報に関連付ける仮想空間を、現実空間内に設定する設定手段を構成している。すなわち、端末装置20は、現実空間中の所定範囲を占有空間として、当該占有空間内に仮想空間を設定する。この端末装置20の占有空間を設定する動作については後に述べる 。
【0028】
また端末装置20は、実行手段として機能し、このサーバ装置10からコンテンツ関連情報を受信して、当該受信した情報を利用した情報処理を実行する。例えば端末装置20は、コンテンツ関連情報として、仮想的なオブジェクトの三次元モデルと、その配置(仮想空間内の座標情報)とを含む。
【0029】
そして端末装置20は、サーバ装置10から受信した、自身の(ヘッドマウントディスプレイの)グローバルポーズ情報を用いて、現実空間内に仮想空間の座標系を設定して現実空間に仮想空間を重ね合わせて設定し、当該設定した仮想空間内に仮想的なオブジェクトを配置し、その画像をレンダリングしてユーザに提示する。なお、ここで仮想的なオブジェクトは点群(ポイントクラウド)で表現されていてもよい。
【0030】
この処理により、ユーザは現実空間に重ね合わせられた仮想空間内の画像を見ることができるようになる。また本実施の形態のこの例では、各端末装置20が、自己のグローバルポーズ情報に基づいて現実空間内に、仮想空間の座標系を設定するので、共通の現実空間を見る各ユーザには、それぞれのユーザの位置から対応する仮想空間内のオブジェクトを視認したときの画像が提供される。
【0031】
この仮想空間の画像を提供するサーバ装置10と端末装置20との処理は、いわゆる拡張現実(AR)の処理として広く知られた処理を利用できるので、ここでの詳しい説明は省略する。
【0032】
次に、本実施の形態のサーバ装置10の制御部11の動作について説明する。本実施の形態では、この制御部11は、
図3に例示するように、認証処理部31と、端末位置推定部32と、空間管理部33と、空間情報処理部34とを含んで構成される。
【0033】
認証処理部31は、端末装置20またはパーソナルコンピュータからユーザ要求を受け入れて、当該要求を行ったユーザを認証する。この認証の処理は、予め発行されたユーザの認証情報(証明書情報やユーザ名を特定する情報等)を用いる広く知られた方法で行うことができる。認証処理部31は、ユーザの認証に成功すると、各部にその旨の情報を出力する。
【0034】
端末位置推定部32は、位置特定手段として機能し、認証処理部31での認証が成功したユーザの端末装置20から、所定のタイミングごとに繰り返して位置検出情報を受信する。そして端末位置推定部32は、当該位置検出情報に含まれる、特徴点に関する情報を、位置情報管理サーバ30に送出する。そして位置情報管理サーバ30から位置情報としてのグローバルポーズ情報を受信して、位置検出情報の送信元である端末装置20に出力する。
【0035】
なお、端末装置20がGPS等で取得したGPS位置情報を送出している場合、端末位置推定部32は、このGPS位置情報を用いて特徴点を検索する範囲を決定できるよう、当該GPS位置情報を、特徴点に関する情報とともに位置情報管理サーバ30に送信してもよい。
【0036】
あるいは位置情報管理サーバ30から、複数の位置情報の候補として、複数のグローバルポーズ情報を受信したときに、端末位置推定部32は、端末装置20が送出したGPS位置情報等の広域位置特定情報を用いて、当該広域位置特定情報で特定される位置の範囲にある位置を表すグローバルポーズ情報を選択する。このように本実施の形態では、サーバ装置10が、端末装置20の送出する広域位置特定情報を用いて、当該端末装置20の所在する現実空間中の範囲を絞り込むこととしてもよい。
【0037】
また、端末位置推定部32は、位置検出情報の送信元である端末装置20を特定する情報(当該端末装置20を使用するユーザを特定する情報でよい)と、位置情報管理サーバ30から受信したグローバルポーズ情報とを、空間情報処理部34に出力する。
【0038】
空間管理部33は、認証処理部31での認証が成功したユーザの端末装置20またはパーソナルコンピュータから、仮想空間を設定する要求(仮想空間設定要求)を受け入れる。本実施の形態においてこの要求は、仮想空間を重ね合わせる範囲となる現実空間中の領域(占有空間)を特定する占有空間特定情報と、当該仮想空間内で提供されるコンテンツを特定するコンテンツ特定情報とを含む。
【0039】
本実施の形態のある例では、仮想空間内で提供可能なコンテンツのコンテンツ関連情報が予め用意されているものとする。具体的にサーバ装置10は、
図4に例示するように、コンテンツを特定するための、コンテンツごとに固有なコンテンツ特定情報(ID)と、当該コンテンツの提供のために必要となる仮想空間の最小範囲(互いに直交するX,Y,Z軸方向のそれぞれの長さ;Vmin、以下、最小サイズと呼ぶ)と、コンテンツを提供可能な仮想空間の最大範囲(上記X,Y,Z軸方向のそれぞれの長さ;Vmax、以下、最大サイズと呼ぶ)と、コンテンツ関連情報(C)とを互いに関連付けたエントリ(E)を少なくとも一つ含むコンテンツデータベースを保持する。
【0040】
この例では、ユーザは仮想空間の設定を要求する際、占有する空間を特定する情報とともに、このコンテンツデータベースに格納されたコンテンツの一つを選択して、当該仮想空間内で提供されるコンテンツを特定する。
【0041】
占有空間特定情報は、パーソナルコンピュータPC等、携帯しないデバイスを用いて仮想空間の設定を要求する場合は、地図情報等を用いて占有空間となる六面体の空間の底面(XY面とする)を特定すればよい。この際、ユーザは、選択したコンテンツを特定する情報に関連付けてコンテンツデータベースに格納された、最小サイズが表す底面の大きさを超え、最大サイズが表す底面の大きさを超えないサイズの、地図上の矩形領域を指定する。
【0042】
また、占有空間特定情報を、ユーザが端末装置20など、携帯するデバイスを用いて入力する場合も、ユーザは、上述の例と同様、地図情報等を用いて入力することとしてもよいが、実際に仮想空間を設定する現実空間内の場所へ、端末装置20を所持した状態で訪れて、占有空間となる六面体の空間の底面の中心で操作を行い、選択したコンテンツを特定する情報に関連付けてコンテンツデータベースに格納された、最小サイズが表す底面の大きさを超え、最大サイズが表す底面の大きさを超えないサイズの領域を指定すれようにしてもよい。
【0043】
なお、Z軸方向(高さ方向)のサイズについては、ユーザが任意の値を入力してもよいし、予めコンテンツごとにデフォルトとして決められた値が用いられてもよい。
【0044】
空間管理部33は、上記の占有空間特定情報とコンテンツ特定情報とを含む仮想空間設定要求を受け入れて、仮想空間の設定処理を行う。すなわち空間管理部33は、空間データベースを参照し、受け入れた占有空間特定情報が表す現実空間中の範囲(要求された占有空間が占める現実空間中の範囲)に重なり合う現実空間中の範囲に、既に設定された、他の占有空間があるか否かを調べる。
【0045】
この処理は、空間データベースに含まれるエントリごとに、当該エントリに含まれる占有空間特定情報が示す現実空間中の六面体の領域と、仮想空間設定要求に係る占有空間特定情報が示す現実空間中の六面体の領域とが重なり合っているか否かを調べることによって行われる。それぞれの現実空間中の領域はグローバル座標系で表現でき、当該領域同士が重なりあうか否かは、各六面体の領域の交差判定を行う公知の処理により行うことができる。
【0046】
空間管理部33は、空間データベースに含まれるエントリのうちに、当該エントリに含まれる占有空間特定情報が示す現実空間中の六面体の領域と、仮想空間設定要求に係る占有空間特定情報が示す現実空間中の六面体の領域とが重なり合っている(交差している)ものがあれば、仮想空間の設定を拒否する処理や、重なり合う部分を除く範囲を占有空間として設定する処理など、仮想空間設定のための所定の処理を実行する。
【0047】
具体的には、空間管理部33は、仮想空間設定要求の送信元である端末装置20またはパーソナルコンピュータPCに対して、既に設定された仮想空間があるために、要求された仮想空間の設定ができない旨のメッセージを表示するよう指示する。これによりユーザは、また別の場所を選択するといったことが可能となる。
【0048】
一方、空間管理部33は、空間データベースに含まれるエントリのうちに、当該エントリに含まれる占有空間特定情報が示す現実空間中の六面体の領域と、仮想空間設定要求に係る占有空間特定情報が示す現実空間中の六面体の領域とが重なり合っている(交差している)ものがなければ、仮想空間を設定する処理を実行する。
【0049】
すなわち空間管理部33は、仮想空間設定要求として受信した占有空間特定情報と、当該占有空間に設定される仮想空間内で提供されるべきコンテンツを特定するコンテンツ特定情報と、仮想空間設定要求を行ったユーザを特定する情報(認証の際に受け入れたものでよい)とを関連付けたエントリを、空間データベースに格納する。
【0050】
空間情報処理部34は、端末位置推定部32から、端末装置20ごとの位置情報(グローバルポーズ情報)を、端末装置20を特定する情報とともに所定のタイミングごとに繰り返して(端末装置20から位置検出情報を受信するごとに)受け入れる。
【0051】
そして空間情報処理部34は、当該情報を受け入れるごとに、受け入れた情報で特定される端末装置20の位置情報が、空間データベースに記録されたいずれかのエントリに含まれる占有空間特定情報が表す占有空間内にあるか否かを調べる。
【0052】
空間情報処理部34は、ここで、受け入れた情報で特定される端末装置20の位置情報を内包する占有空間を特定する占有空間特定情報が、空間データベースに格納されていたならば、当該占有空間特定情報に関連付けて空間データベースに格納されている、コンテンツ特定情報で特定されるコンテンツのコンテンツ関連情報を、当該占有空間に含まれる位置情報とともに受け入れた情報で特定される端末装置20へ送信する。
【0053】
つまり、空間情報処理部34は、仮想空間が設定された占有空間に所在する端末装置20(複数ある場合はそれぞれの端末装置20)に対し、当該設定された仮想空間に関連付けられたコンテンツのコンテンツ関連情報を送出する。この処理は、当該占有空間に所在する端末装置20が、当該占有空間を設定したユーザの端末装置20とは異なるユーザのものであっても行われる。
【0054】
[動作]
本実施の形態は、以上の構成を備えており、次のように動作する。本実施の形態のある例では、
図5に例示するように、パーソナルコンピュータPC等を操作してサーバ装置10からの認証に成功したユーザが、サーバ装置10に対して予め公園などの開けた現実空間内の領域を占有空間として特定して、仮想空間設定要求を行う(S11)。
【0055】
この要求には、上記の占有空間特定情報と、当該情報で特定される占有空間内に設定される仮想空間において提供されるコンテンツを特定するコンテンツ特定情報とを含む。本実施の形態のここでの例では、コンテンツとして、地上から所定の高さ(例えば2.0メートル)よりも低い範囲を海面下として設定し、この範囲に仮想的な三次元のオブジェクトとしての魚の形状のモデルを複数配置し、時間とともに移動させる(魚としての動きを模したアニメーションを伴ってもよい)コンテンツを設定するものとする。
【0056】
サーバ装置10は、受信したコンテンツ特定情報に関連付けてコンテンツデータベースに記録されている、仮想空間の最小サイズ及び最大サイズを読み出して、要求された占有空間の大きさが、この最小サイズを含み、最大サイズに含まれるか否かを調べる(サイズの妥当性判断:S12)。ここで要求された占有空間のサイズが、当該条件を満足しない場合、サーバ装置10は、ユーザに対して占有空間の設定を再度促す。
【0057】
一方、ここで要求された占有空間のサイズが上記条件を満足する場合、サーバ装置10は、空間データベースを参照し、要求された占有空間が占める現実空間中の範囲と交差する占有空間を特定する占有空間特定情報を含むエントリが既にあるか否かを調べる(S13)。
【0058】
そしてサーバ装置10は、空間データベースに含まれるエントリのうちに、当該エントリに含まれる占有空間特定情報が示す現実空間中の領域と、仮想空間設定要求に係る占有空間特定情報が示す現実空間中の領域とが重なり合っている(交差している)ものがあれば、仮想空間の設定を拒否する処理を実行する(S14)。
【0059】
具体的にサーバ装置10は、仮想空間の設定ができなかった旨の情報を、ユーザ側に送出して、ユーザに占有空間の設定を再度促す。
【0060】
またサーバ装置10は、ステップS13において、空間データベースに含まれるエントリのうちに、当該エントリに含まれる占有空間特定情報が示す現実空間中の領域と、仮想空間設定要求に係る占有空間特定情報が示す現実空間中の領域とが重なり合っている(交差している)ものがなければ、仮想空間を設定する処理を開始する(S15)。
【0061】
このステップS15では、サーバ装置10は、仮想空間設定要求として受信した占有空間特定情報と、当該占有空間に設定される仮想空間内で提供されるべきコンテンツを特定するコンテンツ特定情報と、仮想空間設定要求を行ったユーザを特定する情報(認証の際に受け入れたものでよい)とを関連付けたエントリを、空間データベースに格納する。
【0062】
また、本実施の形態の情報処理システムは、ユーザに対してコンテンツを提供するための処理を実行している。この処理では
図6に例示するように、端末装置20(複数ある場合はそれぞれの端末装置20)は、現実空間での位置を特定するための位置検出情報を所定のタイミングごとに繰り返し生成して、サーバ装置10に対して送出している(S21)。なお、以下の説明では、この端末装置20のユーザは、既にサーバ装置10に認証を受けているものとする。
【0063】
サーバ装置10は、端末装置20から位置検出情報を受信するごとに、位置情報管理サーバ30に当該位置検出情報に対応するグローバルポーズ情報(位置情報)を取得し(S22)、位置検出情報の送信元である端末装置20に出力する(S23)。
【0064】
またサーバ装置10は、ステップS22で取得した端末装置20の位置情報が、空間データベースに記録されたいずれかのエントリに含まれる占有空間特定情報が表す占有空間内にあるか否かを調べる(S24)。
【0065】
サーバ装置10は、ステップS22で取得した端末装置20の位置情報を内包する占有空間を特定する占有空間特定情報が、空間データベースに格納されていたならば、当該占有空間特定情報に関連付けて空間データベースに格納されている、コンテンツ特定情報で特定されるコンテンツのコンテンツ関連情報を、当該占有空間に含まれる位置情報とともに受け入れた情報で特定される端末装置20へ送信する(S25)。
【0066】
またステップS22で取得した端末装置20の位置情報を内包する占有空間を特定する占有空間特定情報が、空間データベースに格納されていなければ、何もせず、そのまま処理を続ける。
【0067】
ここでの例では、
図6に例示した処理により、地上から2.0メートルよりも低い範囲を海面下として設定し、この範囲に仮想的な三次元のオブジェクトとしての魚の形状のモデルを複数配置し、時間とともに移動させる(魚としての動きを模したアニメーションを伴ってもよい)コンテンツを設定した占有空間に、端末装置20を所持したユーザが入ったものとする。
【0068】
このとき端末装置20は、ステップS25においてサーバ装置10からコンテンツ関連情報(仮想的オブジェクトの三次元モデルとその配置を表す情報)を受け入れて、当該端末装置20の位置(グローバルポーズ情報で規定される位置及び向き)から見た画像をレンダリングし、現実空間に重ね合わせて配置した像をユーザに提示する(S26;既に述べたように、この処理はいわゆるARの技術として広く知られた方法を採用できる)。
【0069】
この後、端末装置20を所持したユーザが、地上から2.0メートルより高い場所(例えば公園に置かれたすべり台の上)に立つと、当該ユーザには、海面が眼下にあるように描画された画像が提示され、すべり台から滑りおりるなど、地上から2.0メートルより低い場所へ移動すると、そのときに海中に潜ったような画像が提示される。
【0070】
なお、サーバ装置10では、このコンテンツの処理として、コンテンツ関連情報に予め定められたところに従い、海面として設定した高さを跨いで移動した端末装置20があった場合(前回の端末装置20の位置が海面の下であり、今回が海面の上である場合、あるいはその逆の場合など)に、当該端末装置20が海面を跨いだ位置で、海面に水しぶきがあがるようなアニメーションを合成してもよい。
【0071】
また、本実施の形態では、複数のユーザがそれぞれの端末装置20を所持して、この占有空間が設定された現実空間内に所在するときには、各ユーザが共通の位置で泳ぐ魚などの仮想的なオブジェクトを視認できる。従って、ユーザ間で同じ魚を指し示したりといったコミュニケーションも可能となる。
【0072】
[コンテンツの別の例]
また、コンテンツは、このように仮想的なオブジェクトとともに同じ空間に所在して、仮想的なオブジェクトのアニメーションを見るようなものに限られず、例えば仮想的なオブジェクトとユーザとの交差判定(ヒット判定)を行って、仮想的なオブジェクトを捕まえる、あるいは攻撃する、といった処理を行ってもよい。このためには、ユーザの手やユーザが手に持つ現実のオブジェクトを認識するといった処理を行い、当該認識された手やオブジェクトの位置(仮想空間に重ね合わせられた現実空間中の位置)と、仮想空間内の仮想的なオブジェクトの位置(仮想空間を現実空間に重ね合わせたときの現実空間中の位置)との交差判定を行うことで実現できる。
【0073】
さらに、コンテンツは、ゲームのようなものに限られず、ショッピングモールのように、商品を陳列した仮想的なオブジェクトを仮想空間に配してもよい。ユーザは、当該仮想的なオブジェクトの商品を、サーバ装置10に指示して、拡大・縮小したり、回転させた状態とするなどしたときの仮想空間内の当該仮想的なオブジェクトの姿勢、サイズを制御した結果を送信させ、端末装置20は、当該制御した結果の情報に基づいてレンダリングを行ってユーザに提示するようにしてもよい。
【0074】
またこのときには、サーバ装置10は、コンテンツ関連情報に従い、商品を購入する指示を受け入れたときには、認証したユーザに関連する決済処理を実行して、決済が完了したときに、配送の手配をするといった、いわゆるショッピングモールシステムとしての動作を行うこととしてもよい。
【0075】
[占有空間設定の制限の例]
なお、ここまでの説明において、占有空間の設定を制限する例は、既に占有空間が設定されている現実空間中の位置に重ねて設定できないように制限することとしていたが、本実施の形態では、これに加えて、例えば次のような制限を行ってもよい。
【0076】
本発明の実施の形態の一例では、サーバ装置10は、仮想空間設定要求を受け入れたときに、当該要求に含まれる占有空間特定情報で特定される現実空間の範囲に、予め現実空間中に設定された、制限された範囲(除外範囲)が交差しているか否かを判定する。
【0077】
ここで除外範囲は、例えば地図上の所定範囲を底面とし、高さが十分高い(例えば1キロメートルなど、通常、ユーザが到達しない高さ)とする。ここで除外範囲を設定する地図情報の所定範囲は、例えば車道や駐車場、他者の土地、立ち入りが制限されている地域などであり、予めサーバ装置10の管理者が設定しておくこととする。
【0078】
そしてサーバ装置10は、仮想空間設定要求を受け入れたときに、当該要求に含まれる占有空間特定情報で特定される現実空間の範囲に、予め現実空間中に設定された、制限された範囲(除外範囲)が交差している場合は、仮想空間の設定を拒否する処理を実行する。
【0079】
具体的には、サーバ装置10は、仮想空間設定要求の送信元である端末装置20またはパーソナルコンピュータPCに対して、要求された占有空間内に除外範囲が含まれる旨のメッセージを表示するよう指示する。これによりユーザは、また別の場所を選択するといったことが可能となる。
【0080】
なお、ここではサーバ装置10は、仮想空間設定要求を受け入れたときに、当該要求に含まれる占有空間特定情報で特定される現実空間の範囲に、予め現実空間中に設定された、制限された範囲(既に占有空間が設定されている範囲を含む。以下、除外範囲と呼ぶ)が交差している場合は、仮想空間の設定を拒否する処理を実行することとしたが、サーバ装置10は、例えば除外範囲が、要求に含まれる占有空間特定情報で特定される現実空間に内包されているときには、当該除外範囲を含まない範囲を占有空間として、前記仮想空間の設定を実行することとしてもよい。
【0081】
この例では、サーバ装置10は、当該除外範囲に関しては、当該除外範囲を取り囲む仮想的な三次元オブジェクトを仮想空間に配して、端末装置20を所持したユーザが当該範囲に踏み込まないよう案内することとしてもよい。
【0082】
さらに、要求に含まれる占有空間特定情報で特定される現実空間の範囲に、現実の壁や天井など、ユーザが通過することが困難な障害物がある場合(予め障害物の位置を記録しておき、当該記録に基づいて判断すればよい)は、当該障害物によって区切られる現実空間の領域のいずれかを選択し(要求を行ったユーザに選択させてもよい)、当該選択された領域外を除外範囲として、占有空間特定情報で特定される現実空間のうち、当該除外範囲を含まない範囲を占有空間として、前記仮想空間の設定を実行することとしてもよい。
【0083】
また、このように除外範囲を含まない範囲を占有空間として仮想空間の設定を実行する場合、要求より狭い範囲を占有空間とすることとなるので、要求されたコンテンツ関連情報に、当該コンテンツ関連情報に基づいて提供されるコンテンツで要求する面積あるいは体積(要求広さ)が含まれる場合、除外範囲を含まない範囲を占有空間が当該要求広さより狭い場合には、仮想空間の設定を拒否する処理を実行してもよい。
【0084】
また、除外範囲は、日時の条件を伴ってもよい。例えば所定の曜日の所定の時間帯は車両が進入しない車道であれば、当該曜日の当該時間帯に限って仮想空間の設定を許否しないよう制御してもよい。
【0085】
[コンテンツの利用権限]
また、ここまでの説明において、コンテンツ関連情報のうちには、費用を支払ったユーザに限って仮想空間への関連付けの要求を行うことができる有償コンテンツに係るものがあってもよい。
【0086】
この例では、サーバ装置1の制御部11が設定手段としての動作において、要求された仮想空間を設定する処理を実行するときに、当該要求を行ったユーザが、要求に係るコンテンツ関連情報を利用可能であるか否か(例えば費用の支払いが完了しているか、あるいは予めコンテンツ関連情報ごとに定められた利用権を有するユーザであるか否かなど)を調べ、利用可能であるときに、占有空間が設定されるべき現実空間中の範囲を特定する情報(占有空間特定情報)と、当該占有空間に設定される仮想空間の情報(コンテンツ関連情報等)とを関連付けて空間データベースに記録することで、現実空間中の所定範囲を占有空間として、当該占有空間内に仮想空間を設定する。
【0087】
またこのとき制御部11は、要求を行ったユーザが、要求に係るコンテンツ関連情報を利用可能でなければ、当該要求を行ったユーザに対してエラーを報知して、仮想空間の設定を拒否する(空間データベースへの登録を行わない)。
【0088】
なお、このようにして、特定のユーザに限って仮想空間への関連付けが可能なコンテンツであっても、一度仮想空間への関連付けが行われていれば、当該仮想空間が設定された占有空間を訪れた他のユーザ(当該コンテンツの利用権の有無は問わない)に対しても、当該コンテンツの提供が行われる。このことは、当該コンテンツの利用や、購入等の促進にもつながる。
【0089】
[時間設定]
さらに本実施の形態のここまでの説明では、仮想空間設定要求には、占有空間特定情報と、コンテンツ特定情報とを含むものとしたが、これに加えて、ユーザがサーバ装置10に対して送出する仮想空間設定要求には仮想空間を設定する時間(開始日時及び終了日時)を特定する時間帯特定情報を含んでもよい。
【0090】
この場合、仮想空間を設定する処理を実行するサーバ装置10は、仮想空間設定要求として受信した占有空間特定情報と、当該占有空間に設定される仮想空間内で提供されるべきコンテンツを特定するコンテンツ特定情報と、仮想空間設定要求を行ったユーザを特定する情報(認証の際に受け入れたものでよい)と、時間帯特定情報とを関連付けたエントリを、空間データベースに格納する。
【0091】
この例では、サーバ装置10は、空間管理部33としての動作を行う際、空間データベースに含まれるエントリごとに、当該エントリに含まれる占有空間特定情報が示す現実空間中の六面体の領域と、仮想空間設定要求に係る占有空間特定情報が示す現実空間中の六面体の領域とが重なり合っており、かつ、当該エントリに含まれる時間帯特定情報で特定される時間帯と、仮想空間設定要求に係る時間帯特定情報で特定される時間帯とが重なり合っているか否かを調べることによって行われる。
【0092】
サーバ装置10は、空間データベースに含まれるエントリのうちに、上記の条件を満足するものがあれば、仮想空間の設定を拒否する処理を実行することとなる。
【0093】
この例では、占有空間が交差している場合でも、設定する時間帯が異なっていれば、仮想空間の設定が行われる。
【符号の説明】
【0094】
10 サーバ装置、11 制御部、12 記憶部、13 通信部、20 端末装置、30 位置情報管理サーバ、31 認証処理部、32 端末位置推定部、33 空間管理部、34 空間情報処理部。