(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理システム1は、
図1に例示するように、サーバ装置10と、各プレイヤが頭部に装着するなどして所持する、プレイヤに対して画像を提示する表示装置24を含むプレイヤ側装置20とを含んで構成される。本実施の形態の以下の説明では、この情報処理システム1は、所定の施設内で利用されるものとし、サーバ装置10にはさらに管理者端末30が接続されているものとするが、本実施の形態は施設内において利用される場合に限られず、所定の地域、あるいは、所定の国の領域内など広域で提供されるサービスにおいて利用されてもよい。
【0010】
本実施の形態の情報処理システム1のサーバ装置10は、
図1に示したように、制御部11と、記憶部12と、通信部13とを含んで構成される。また、プレイヤ側装置20は、制御部21と、記憶部22と、撮像部23と、表示装置24と、通信部25とを含む。なお、管理者端末30は、一般的なパーソナルコンピュータ等であり、サーバ装置10に対してプレイヤの参加や離脱の設定を指示する。また、本実施の形態では、いずれかのプレイヤ側装置20がサーバ装置10として機能してもよい。この場合、当該サーバ装置10として機能するプレイヤ側装置20の制御部21は、制御部11としての動作を併せて行う。
【0011】
ここでサーバ装置10の制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態のここでの例では、制御部11は、プレイヤ側装置20から、プレイヤ側装置20の撮像部23にて撮像された画像データなど、実空間内の物体に係る情報を受け入れる。またこの制御部11は、当該物体に係る情報(例えば実空間の画像)に基づいて、仮想空間に、仮想的なオブジェクトを配した三次元情報を生成する。本実施の形態のある例では、制御部11は、実空間の画像に基づいて、仮想空間に、当該実空間の画像に含まれる、実空間内の対象物に対応する仮想的なオブジェクト(対象物に置き換えられて表示される仮想的なオブジェクト)を配した三次元情報を生成する。また別の例では、制御部11は、物体に係る情報として、物体の位置に関する情報を取得し、当該取得した情報を用いて、実空間内の対象物に対応する仮想的なオブジェクトを配した三次元情報を生成する。さらに制御部11は、実空間内の対象物に対応する仮想的なオブジェクトだけでなく、実空間内の対象物とは関わりのない仮想的なオブジェクトを当該仮想空間に配して三次元情報を生成してもよい。
【0012】
制御部11は、さらに、上記実空間内の物体に係る情報の一つとして、各プレイヤあるいはプレイヤ以外の実空間内の人物(以下プレイヤ等という)について、当該プレイヤ等の実空間内の位置情報等を取得する。また制御部11は、当該取得した位置情報に基づいて、仮想空間内での当該プレイヤの所在位置(例えばプレイヤの左右の目のそれぞれに対応する位置)を演算し、当該仮想空間内での所在位置から見た、三次元情報が表す仮想空間の画像をレンダリングして、当該プレイヤに係る視野画像を生成し、当該プレイヤが所持するプレイヤ側装置20に対して送信して出力する。なお、ここでの例では視野画像は、ユーザの左目用の画像と右目用の画像とを含んでもよい。
【0013】
なお、以下の説明では、説明を簡略にするため、実空間の物体に係る情報として、実空間の画像及び実空間内の物体(プレイヤ等を含む)の位置情報を用いる例について説明するが、本実施の形態はこれに限られず、質量、速度、加速度、のほか、当該物体の全体または一部(例えば関節等)の回転位置や角度等の姿勢の情報が含まれてもよい。
【0014】
また、本実施の形態のここでの例では、この制御部11は、三次元情報を生成する際の、実空間の対象物に対応する仮想的なオブジェクトの種類を、プレイヤごとに、プレイヤの属性情報に基づいて決定する。ここで属性情報は、プレイヤごとに予め設定しておくものとする。この制御部11の詳しい動作については、後に述べる。
【0015】
記憶部12は、制御部11によって実行されるプログラムを格納している。このプログラムは、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。またこの記憶部12は、制御部11のワークメモリとしても動作する。通信部13は、ネットワークインタフェース等であり、ネットワーク等の通信手段を介して、各プレイヤが装着するプレイヤ側装置20やプレイヤが操作するコントローラCとの間で通信を行い、種々の情報を送受する。
【0016】
具体的に本実施の形態の一例では、この通信部13は、LANやインターネットを介して、施設内(処理の対象とする実空間)の各所に配された無線アクセスポイントAPとの間で通信を行い、各プレイヤ側装置20へ送出する情報を、これらの無線アクセスポイントAPを介して無線にて送出させる。
【0017】
また、この通信部13は、各無線アクセスポイントAPから、その通信可能な範囲に在圏しているプレイヤ側装置20やプレイヤが操作するコントローラCが送出した情報を受信して制御部11に出力している。
【0018】
なお、ここでは無線アクセスポイントAPを用いる例としたが、この通信部13は、携帯電話通信網等を用いて、無線にて各プレイヤ側装置20との間で通信を行ってもよい。
【0019】
プレイヤ側装置20は、各ユーザの頭部に装着され、その前面側(ユーザの目のある側)には撮像部23が配されている。このプレイヤ側装置20の制御部21は、CPU等のプログラム制御デバイスであり、記憶部22に格納されたプログラムに従って動作する。本実施の形態のここでの例では、この制御部21は、サーバ装置10が送信する、視野画像のデータを受け入れて、表示装置24に対して当該視野画像のデータを表示させる。またこの制御部21は、撮像部23を制御して、所定のタイミングごと(例えば1秒ごとなど定期的)に撮像部23の視野内の画像を撮像させ、当該撮像により得られた画像データを取得して、通信部25を介してサーバ装置10に対して送出する。
【0020】
記憶部22は、制御部21によって実行されるプログラムを格納している。このプログラムは、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、この記憶部22に格納されたものであってもよい。またこの記憶部22は、制御部21のワークメモリとしても動作する。
【0021】
撮像部23は、カメラであり、制御部21から入力される指示に従って、ユーザの前方(頭部前方)の所定視野内の画像を撮像した画像データを生成し、制御部21に対して出力する。表示装置24は、ユーザの右目と左目とのそれぞれの目の前に、それぞれの目に対応した視野画像を表示する。具体的にこの表示装置24は、有機EL表示パネルや液晶表示パネルなどの表示素子を含み、この表示素子が制御部21から入力される指示に従って映像を表示する。この表示素子は、左目用の画像と右目用の画像とを一列に並べて表示する1つの表示素子であってもよいし、左目用の画像と右目用の画像とをそれぞれ独立に表示する一対の表示素子であってもよい。このプレイヤ側装置20の表示装置24は、ユーザが外界の様子を視認することができない非透過型の表示装置であってもよいし、透過型の表示装置であってもよい。
【0022】
さらに本実施の形態の一例では、この表示装置24は、ユーザの頭部に装着される装置に限られず、ユーザが所持するスマートフォンやタブレット端末その他の携帯端末であってもよい。また本実施の形態の別の例では、この表示装置24は、ユーザが所持している必要もなく、ユーザがその表示内容を視認可能な位置に設置されているディスプレイやデジタルサイネージ等の表示装置であってもよい。
【0023】
通信部25は、無線ネットワークインタフェース等であり、無線ネットワーク等の通信手段を介してサーバ装置10との間で通信を行い、種々の情報を送受する。
【0024】
次に、本実施の形態におけるサーバ装置10の制御部11の動作について説明する。本実施の形態のここでの例では、この制御部11は、
図2に例示するように、プレイヤ属性管理部31と、画像取得部32と、位置取得部33と、三次元情報生成部34と、視野画像生成部35と、送信制御部36とを含んで構成される。
【0025】
プレイヤ属性管理部31は、プレイヤごとのプレイヤ属性情報を保持するプレイヤデータベースに接続される。このプレイヤデータベースは、外部のデータベースサーバに保持され、通信可能に接続されていてもよいし、記憶部12に格納されていてもよい。本実施の形態の一例において、このプレイヤデータベースには、
図3に例示するように、プレイヤごとのプレイヤ属性情報として、各プレイヤに固有に設定されたプレイヤ識別子(PID)と、当該プレイヤ識別子で識別されるプレイヤの装着するプレイヤ側装置20を特定する表示装置識別情報(DID)と、当該プレイヤの属するグループを識別するグループ識別子(GID)とが互いに関連付けて格納されている。
【0026】
プレイヤ属性管理部31は、管理者端末30から新規にプレイヤが参加する旨の指示の入力を受け入れる。この指示には、当該新規に参加するプレイヤが装着するプレイヤ側装置20を特定する表示装置識別情報と、当該新規に参加するプレイヤと同じグループに属するべき他のプレイヤのプレイヤ識別子(同じグループに属するべき他のプレイヤがいない場合は、このプレイヤ識別子は「空(null)」とする)とを含む。
【0027】
プレイヤ属性管理部31は、新規にプレイヤが参加する旨の指示に含まれるプレイヤ識別子が「null」であれば、固有のグループ識別子を発行する。またプレイヤ属性管理部31は、固有のプレイヤ識別子を発行し、当該発行したプレイヤ識別子と、入力された表示装置識別情報と、発行したグループ識別子とを互いに関連付けてプレイヤデータベースに登録する。
【0028】
またこのプレイヤ属性管理部31は、新規にプレイヤが参加する旨の指示に含まれるプレイヤ識別子が「null」でなければ、プレイヤデータベースを参照して、当該指示に含まれるプレイヤ識別子に関連付けられたグループ識別子を読み出す。そしてプレイヤ属性管理部31は、固有のプレイヤ識別子を発行し、当該発行したプレイヤ識別子と、入力された表示装置識別情報と、読み出したグループ識別子とを互いに関連付けてプレイヤデータベースに登録する。
【0029】
なお、プレイヤ属性管理部31は、発行したプレイヤ識別子を、管理者端末30に送出して、表示等の処理に供してもよい。これにより、例えば家族や団体で参加するプレイヤに共通のグループ識別子を設定することが可能となる。
【0030】
またこのプレイヤ属性管理部31は、管理者端末30からプレイヤが離脱する旨の指示の入力を受け入れる。この指示には、例えば当該離脱するプレイヤが装着していたプレイヤ側装置20を特定する表示装置識別情報(あるいは、離脱するプレイヤのプレイヤ識別子)が含まれる。プレイヤ属性管理部31は、プレイヤが離脱する旨の指示の入力を受け入れると、プレイヤデータベースから、当該指示に含まれるプレイヤ識別子に関連付けられた表示装置識別情報(またはプレイヤ識別子)と、それに関連付けられた情報とを削除する。
【0031】
この例では、本実施の形態の情報処理システム1を配した施設の管理者は、施設に入場する入場者が希望したときに、プレイヤ側装置20を貸し出し、当該プレイヤ側装置20に対して設定されている、プレイヤ側装置20ごとに固有の表示装置識別情報を管理者端末30に入力して、新規にプレイヤが参加する旨の指示を行わせる。なお、プレイヤ側装置20ごとに固有の表示装置識別情報は、例えばプレイヤ側装置20の通信部25に設定されるネットワークアドレス等でよい。
【0032】
画像取得部32は、各プレイヤが装着するプレイヤ側装置20から、当該プレイヤ側装置20が備える撮像部23が撮像した撮像画像のデータ(実空間の画像)を取得する。位置取得部33は、各プレイヤの位置及び向きを表す情報を取得する。ここで位置を表す情報は、本実施の形態の情報処理システム1が、ここでの例のように所定の施設に設備されている場合は、当該施設内における位置であり、この位置情報は、情報処理システム1の処理の対象となる実空間内の位置を表すグローバル座標系で表現される。また公道上等、サーバ装置10の管理者が管理していない場所で、本実施の形態の情報処理システム1が利用される場合はこの位置情報は緯度経度、及び高度等の情報でよい。
【0033】
本実施の形態の一例では、各プレイヤの位置情報は、画像取得部32が取得した画像に基づいて得られてもよい(例えばSLAM:Simultaneous Localization and Mappingなどの技術を用いることができる)。また本実施の形態の別の例では、この位置情報は、各プレイヤが別途所持する携帯電話機等により、GPS(Global Positioning System)などの測位システムを利用して取得されてもよい。さらに別の例では、施設内の各所に近接通信のビーコンを発信するタグを配して、当該タグから受信されるビーコンとその強さにより位置を検出し、また、プレイヤ側装置20に傾斜センサや方位センサ(不図示)を備えてプレイヤの姿勢を検出することでプレイヤの向きを検出することとしてもよい。このようなプレイヤの位置情報や向きの情報を取得する方法については種々の方法を採用し得るので、ここでの詳しい説明は省略する。
【0034】
三次元情報生成部34は、画像取得部32が各プレイヤが装着するプレイヤ側装置20から取得した実空間の画像に基づいて、この実空間の画像に含まれる、実空間内の対象物に対応する仮想的なオブジェクトを配した仮想空間を表す三次元情報を生成する。
【0035】
すなわちこの三次元情報生成部34は、各プレイヤが装着するプレイヤ側装置20から取得した実空間の画像に基づいて、各プレイヤのプレイヤ側装置20に提示する画像の元となる三次元情報をそれぞれ生成する。具体的に三次元情報生成部34は、あるプレイヤが装着するプレイヤ側装置20から取得した実空間の画像を処理対象画像として以下の処理を行う。すなわち三次元情報生成部34は、処理対象画像から、当該処理対象画像に含まれる対象物(建造物や看板等、扉の固定物や、他の人物等)をそれぞれ認識するとともに、それぞれの形状、姿勢等を併せて認識する。
【0036】
本実施の形態のここでの例のように、施設等で利用される場合は、予め建造物や看板等の固定物には、コンピュータ可読な符号画像(二次元バーコード等)を付しておき、三次元情報生成部34は、処理対象画像から当該符号画像を検出することにより固定物を認識してもよい。この場合、予め各固定物に固有の識別情報を割り当てておけば、形状等の情報も予めデータベースとして保持しておき、三次元情報生成部34が取得して利用することが可能である。
【0037】
また施設等ではなく、公道上等、サーバ装置10の管理者が管理していない場所で、本実施の形態の情報処理システム1が利用される場合など、コンピュータ可読な符号画像を付していない場合は、三次元情報生成部34は、ロボットビジョン等の研究で広く知られている方法を採用して、固定物等の形状を認識してもよいし、プレイヤの位置を、プレイヤが携帯する携帯電話機等のGPS(Global Positioning System)を用いる等の方法で検出して、当該位置の情報と、予め保持している地図の情報(外部の地図サーバにアクセス可能であれば、当該外部の地図サーバから取得してもよい)とを用いて、地図の情報のうち、上記検出した位置にある建造物に係る情報を得て、固定物(公道上であれば、道路等を含む)の形状等の情報を得てもよい。
【0038】
さらに、人物等、移動ないし変形(姿勢を変えるなど)する対象物については、三次元情報生成部34は、同じプレイヤ側装置20から取得した過去の実空間の画像(過去の処理対象画像)の情報をも参照し、いわゆるボーントラッキング(移動体の骨格、関節の位置及び向きを検出する技術)を利用して、当該移動・変形する対象物の、実空間(処理対象画像の提供元となっているプレイヤ側装置20を装着するプレイヤから見た実空間)内での位置及び姿勢を検出する。
【0039】
また、三次元情報生成部34は、当該認識した対象物の実空間内での位置(例えば建造物であれば重心点、人物であれば頭部などの所定の点の位置)の情報を得る。ここで対象画像に撮像された対象物の位置の情報は、位置取得部33が取得したプレイヤの位置情報と、プレイヤの向き(視野)の情報とから得ることができ、情報処理システム1の処理の対象となる実空間内の位置を表すグローバル座標系で表現されるものとする。
【0040】
三次元情報生成部34は、処理対象画像内の対象物を認識すると、個々の対象物について、対象物を建造物、看板、扉、置物(人形、道具等)、他の人物、車両…等、対象物の種類を表す情報に関連付けて、その対象物の位置(処理対象画像の提供元となっているプレイヤ側装置20を装着するプレイヤから見た実空間での位置、すなわち当該プレイヤを原点として、プレイヤの視野を表す二次元の面のうち、重力方向をY軸、水平方向をX軸、奥行き方向(視野の視錐台の底面の法線方向)をZ軸としたXYZ直交座標で表すことのできる空間での位置)及び形状・姿勢の情報を記録する。この位置及び形状・姿勢の情報は、仮想空間内で対象物に対応する大きさの仮想的なオブジェクトの位置及び形状・姿勢を設定する際に用いられる。この位置及び形状・姿勢の情報は、例えば重心の位置と形状・姿勢とを表す情報等でよい。
【0041】
三次元情報生成部34は、認識した対象物のそれぞれに対応する仮想空間内の仮想的なオブジェクトを決定する。本実施の形態において、この三次元情報生成部34は、プレイヤデータベースを参照し、処理対象画像の提供元となったプレイヤ側装置20を特定する表示装置識別情報に関連付けられた、グループ識別子を取得する。そしてグループ識別子ごとに、少なくとも一部の対象物に対応する、仮想的なオブジェクトの種類を決定する。つまり、本実施の形態では、異なるグループ識別子に関連付けられた情報で特定されるプレイヤについては、同じ対象物に対応する仮想的なオブジェクトの種類は互いに異なっている場合がある。
【0042】
一例として、三次元情報生成部34は、認識した対象物のうち、他の人物に対応する仮想的なオブジェクトについては、仮想的なプレイヤオブジェクトに置き換える(従ってすべてのプレイヤに共通の種類の仮想的なオブジェクトとなる)。一方、認識した対象物のうち、看板や置物等については、三次元情報生成部34は、グループ識別子ごとに異なる仮想的なオブジェクトに置き換える。具体的に、あるグループ識別子GID=aに関連付けられた情報で特定されるプレイヤに対しては、施設でのプレイ上必要となる情報を提供するNPC(Non Player Character)に置き換える。また、グループ識別子GID=aとは異なるグループ識別子GID=b,c…に関連付けられた情報で特定されるプレイヤに対しては、施設でのプレイ進行に関わりのないオブジェクト(例えば銅像)に置き換えることとする。
【0043】
またこの三次元情報生成部34は、建造物についても、プレイヤの属性情報であるグループ識別子に基づいて、当該建造物に置き換える仮想的なオブジェクトの種類を決定してもよい。さらにこの三次元情報生成部34は、プレイヤ属性情報ごとのゲーム進行の状況を記録したゲーム進行データベースも参照して、当該ゲームの進行の状況に合わせて、仮想的なオブジェクトの種類を決定してもよい。例えばグループ識別子GID=aに関連付けられた情報で特定されるプレイヤに対しては、三次元情報生成部34は、ゲーム進行データベースの記録によって当該グループ識別子GID=aに関連付けられた情報を参照し、ゲーム上、攻撃等で破壊された建造物を表す仮想的なオブジェクトに置き換え、またそれとは異なるグループ識別子GID=b,c…に関連付けられた情報で特定されるプレイヤに対しては、ゲーム進行データベースの記録によって当該グループ識別子GID=b,c…に関連付けられた情報を参照し、破壊される前の建造物を表す仮想的なオブジェクトに置き換えてもよい。
【0044】
三次元情報生成部34は、さらに、実空間に対応する仮想空間を設定し、認識した各対象物について、それぞれの実空間内の位置に対応する仮想空間内の位置に、当該対象物に対応する仮想的なオブジェクトを配した三次元情報を生成する。ここで仮想空間の設定は、プレイヤが移動可能な実空間全体に対応する仮想的な空間を予め設定するものであってもよいし、プレイヤが移動して実空間内の領域が視野内に入るごとに、当該視野内にある実空間に対応する仮想空間を逐次的に設定していくものであってもよい。既に述べたように、本実施の形態では、対象物に対応する仮想的なオブジェクトは、プレイヤの属性情報ごと(ここでの例では、グループ識別子ごと)にその種類が異なり得るので、三次元情報生成部34は、プレイヤの属性情報ごとに三次元情報を生成する。なお、三次元情報生成部34は、実空間の画像情報に基づいて認識された、対象物の位置及び形状・姿勢の情報を用いて、仮想空間内で各対象物に対応する大きさの仮想的なオブジェクトの位置及び形状・姿勢を設定する。
【0045】
視野画像生成部35は、各プレイヤの視野内の実空間に対応する仮想空間の像をレンダリングして生成する。具体的にこの視野画像生成部35は、各プレイヤに対応する視野画像を順次生成する。視野画像生成部35は、あるプレイヤについての視野画像を生成する際、当該視野画像の提供先となるプレイヤ(対象プレイヤと呼ぶ)のプレイヤ属性情報を取得し、当該プレイヤ属性情報に関連して三次元情報生成部34が生成した三次元情報を取得する。ここではプレイヤ属性情報はグループ識別子としているので、対象プレイヤのプレイヤ識別子に関連付けてプレイヤデータベースに記録されているグループ識別子を参照し、当該グループ識別子に対応して三次元情報生成部34が生成した三次元情報を取得する。
【0046】
視野画像生成部35は、また、対象プレイヤの位置及び向きの情報を取得し、グローバル座標系における対象プレイヤの目の位置の情報を得て、当該目の位置に対応する仮想空間内の位置に仮想的なカメラを配して、当該仮想的なカメラからの仮想空間の像をレンダリングする。この処理は広く知られているので、ここでの詳しい説明を省略する。視野画像生成部35は、当該レンダリングして得た視野画像を、対象プレイヤのプレイヤ識別子とともに出力する。
【0047】
送信制御部36は、視野画像生成部35が生成した、プレイヤごとの視野画像を、対応するプレイヤが装着するプレイヤ側装置20に対して送信する。具体的にこの送信制御部36は、視野画像生成部35が出力する視野画像とプレイヤ識別子とを受け入れ、当該プレイヤ識別子に関連付けてプレイヤデータベースに記録されている表示装置識別情報を取得する。送信制御部36は、当該取得した表示装置識別情報で識別されるプレイヤ側装置20宛に、受け入れた視野画像を送信する。
【0048】
本実施の形態の情報処理システム1の一例は以上の構成を備えており、次のように動作する。なお、以下の例では、プレイヤPa,Pbがグループ識別子GID=aのグループに属し、プレイヤPcがグループGID=bのグループに属しているものとする。また、プレイヤ属性情報としてのグループ識別子GID=aのプレイヤについては、ゲーム進行データベースに、建造物Xの破壊が終了したことを表す情報が記録され、グループ識別子GID=bのプレイヤについては、建造物Xの破壊が終了していないことを表す情報が記録されているものとする。
【0049】
サーバ装置10は、
図4に示すように、各プレイヤが装着するプレイヤ側装置20から、当該プレイヤ側装置20が備える撮像部23が撮像した撮像画像のデータ(実空間の画像)を取得する(S1)。またこのサーバ装置10は、各プレイヤの位置及び向きを表す情報を取得する(S2)。
【0050】
サーバ装置10は、各プレイヤが装着するプレイヤ側装置20から取得した実空間の画像に基づいて、この実空間の画像に含まれる、実空間内の対象物に対応する仮想的なオブジェクトを配した仮想空間を表す三次元情報を生成する。ここでは具体的に、各プレイヤが装着するプレイヤ側装置20から取得した実空間の画像を順次、処理対象画像として選択し(S3)、当該処理対象画像に含まれる対象物(建造物や看板等、扉の固定物や、他の人物等)をそれぞれ認識するとともに、それぞれの形状、姿勢等を併せて認識する(対象物の認識処理:S4)。
【0051】
サーバ装置10は、この処理S3,S4の処理を各プレイヤ側装置20から取得した画像の情報ごとに行い、さらにプレイヤの属性情報ごとに次の処理を繰り返す。すなわちサーバ装置10は、認識した個々の対象物について、それぞれに対応する仮想空間内の仮想的なオブジェクトを決定して仮想空間に配置して、プレイヤの属性情報(ここでの例ではグループ識別子)ごとの三次元情報を生成する(S5)。ここでサーバ装置10は、プレイヤデータベースとゲーム進行データベースとを参照し、まず、プレイヤの視野に存在する他の人物として識別された対象物に対応する仮想的なオブジェクトについては、仮想的なプレイヤオブジェクトに置き換える。一方、認識した対象物のうち、看板や置物等については、グループ識別子ごとに決定される種類の仮想的なオブジェクトに置き換える。
【0052】
ここでサーバ装置10は、例えば、建造物Xの破壊が終了していないプレイヤに対して、建造物Xの近くにある置物Yまたは置物Zを、建造物Xの破壊を案内するNPCに置き換える旨の設定がされているときには、当該設定を参照し、処理対象画像を提供したプレイヤ側装置20を装着しているプレイヤが、建造物Xの破壊が終了していないグループ識別子bで識別されるグループに属するプレイヤPcである場合は、建造物Xの近くにある置物Yまたは置物Zのいずれか一方(例えばランダムにいずれかを決定する)を、建造物Xの破壊を案内するNPCに置き換えて、グループ識別子bに係る仮想空間内の対応する位置に配置する。
【0053】
一方、サーバ装置10は、処理対象画像を提供したプレイヤ側装置20を装着しているプレイヤが、建造物Xの破壊が終了しているグループ識別子aで識別されるグループに属するプレイヤPaまたはプレイヤPbである場合は、建造物Xの近くにある置物Yまたは置物Zを、建造物Xの破壊を案内するNPCに置き換える代わりに、単なる銅像等に置き換えて、グループ識別子aに係る仮想空間内の対応する位置に配置する。
【0054】
サーバ装置10は、グループ識別子ごとに生成した三次元情報に基づき、各プレイヤの視野内の実空間に対応する仮想空間の像をレンダリングして生成する(S6)。そして、当該生成した視野画像を、対応するプレイヤが装着しているプレイヤ側装置20宛に送出する(S7)。
【0055】
本実施の形態は以上の動作を行うので、現実に存在する人物等については、各プレイヤに対して同様の、人物に対応する仮想的なプレイヤオブジェクトに置き換えて表示されるものの、固定物の少なくとも一部は、属するグループごとに異なり得る、仮想的なオブジェクトに置き換えて表示されることとなる。つまり本実施の形態の例では、グループ識別子aのグループに属するプレイヤPa,Pbに対して提供される視野画像では、対象物YまたはZが銅像等に置き換えられており、ゲーム進行を案内するNPCではないので、対象物Y,Zの近くに立ち寄って案内を受けることがない。一方、グループ識別子bのグループに属するプレイヤPcに対して提供される視野画像では、対象物YまたはZがゲーム進行を案内するNPCとして表示されるので、このプレイヤPcは対象物YまたはZの近くに立ち寄って案内を受けることとなる。従って、プレイヤPa,Pb,Pcに同じ仮想的なオブジェクトが提示されることによる、プレイヤの混雑を防止できる。
【0056】
さらにここでの例では、別のグループ(例えばグループ識別子GID=cのグループ)に属する別のプレイヤPdに対しては、このグループがゲームの進行上、建造物Xを破壊していない状態であっても、同様に建造物Xの近くにある置物Yまたは置物Zのうち、ランダムに選択された置物がゲーム進行を案内するNPCに置き換えられることとなるが、ここではランダムにいずれかが選択されることとなるので、プレイヤPcのプレイヤと同じ場所にある置物が同じNPCに置き換えられる可能性が低減される。このようにして本実施の形態では、プレイヤが同じ場所に集まることによる混雑を防止できる。
【0057】
[プレイヤ側装置にて処理する例]
ここまでの説明では、サーバ装置10の制御部11がプレイヤ側装置20から、プレイヤ側装置20の撮像部23にて撮像された画像データを受け入れ、当該画像データ(実空間の画像)に基づいて、仮想空間に、当該実空間の画像に含まれる、実空間内の対象物に対応する仮想的なオブジェクトを配した三次元情報を生成する等の処理を行うこととしていたが、本実施の形態はこの例に限られず、プレイヤ側装置20の制御部21が、画像データに基づく三次元情報の生成、レンダリング等の処理を行うこととしてもよい。この場合、サーバ装置10の制御部11が、三次元情報を生成する際の、実空間の対象物に対応する仮想的なオブジェクトの種類を表す情報を、プレイヤごとに、プレイヤの属性情報に基づいて決定してプレイヤ側装置20に送信し、プレイヤ側装置20では、当該情報を受信し、当該受信した情報に基づいて実空間の画像に含まれる、実空間内の対象物に対応する仮想的なオブジェクトを配した三次元情報を生成する。
【0058】
すなわち本実施の形態のこの例では、サーバ装置10の制御部11が、
図2に例示した機能的構成に代えて、
図5に例示するように、プレイヤ属性管理部31と、位置取得部33′と、三次元情報提供部51とを機能的に含んで構成される。また
図5に示すように、プレイヤ側装置20の制御部21が、画像取得部32と、位置姿勢検出部41と、三次元情報生成部34′と、視野画像生成部35′とを機能的に含む。なお、先の説明と同様の構成となるものについては、同じ符号を付してその繰り返しての説明を省略する。
【0059】
画像取得部32は、例えばプレイヤ側装置20自身が備える撮像部23が撮像した撮像画像のデータ(実空間の画像)を取得する。位置姿勢検出部41は、各プレイヤの位置及び向き、並びに姿勢を表す情報を取得する。この位置姿勢検出部41もまた、画像取得部32が取得した画像に基づいてプレイヤの位置、向き、姿勢等の情報を得てもよい(例えばSLAM:Simultaneous Localization and Mappingなどの技術を用いることができる)。また本実施の形態の別の例では、この位置情報は、各プレイヤが別途所持する携帯電話機等により、GPS(Global Positioning System)などの測位システムを利用して取得されてもよい。さらに別の例では、施設内の各所に近接通信のビーコンを発信するタグを配して、当該タグから受信されるビーコンとその強さにより位置を検出し、また、プレイヤ側装置20に傾斜センサや方位センサ(不図示)を備えてプレイヤの姿勢を検出することでプレイヤの向きを検出することとしてもよい。このようなプレイヤの位置情報や向き、姿勢等の情報を取得する方法については種々の方法を採用し得るので、ここでの詳しい説明は省略する。
【0060】
三次元情報生成部34′は、画像取得部32が取得した実空間の画像に基づいて、この実空間の画像に含まれる、実空間内の対象物に対応する仮想的なオブジェクトを配した仮想空間を表す三次元情報を生成する。
【0061】
本実施の形態のここでの例では、三次元情報生成部34′は、取得された実空間の画像に基づいて、表示装置24に提示する画像の元となる三次元情報を生成する。三次元情報生成部34′は、まず、画像取得部32が取得した実空間の画像を、処理対象画像として、この処理対象画像から、当該処理対象画像に含まれる対象物(建造物や看板等、扉の固定物や、他の人物等)をそれぞれ認識するとともに、それぞれの形状、姿勢等を併せて認識する。
【0062】
ここでも、本実施の形態のシステムが施設等で利用される場合は、予め建造物や看板等の固定物に、コンピュータ可読な符号画像(二次元バーコード等)を付しておき、三次元情報生成部34′は、処理対象画像から当該符号画像を見い出すことにより固定物を認識してもよい。この場合、予め各固定物に固有の識別情報を割り当てておけば、形状等の情報も予めデータベースとして保持しておき、三次元情報生成部34′が取得して利用することが可能である。
【0063】
また施設等ではなく、公道上等、サーバ装置10の管理者が管理していない場所で、本実施の形態の情報処理システム1が利用される場合など、コンピュータ可読な符号画像を付していない場合は、三次元情報生成部34′は、ロボットビジョン等の研究で広く知られている方法を採用して、固定物等の形状を認識してもよいし、プレイヤの位置を、プレイヤが携帯する携帯電話機等のGPS(Global Positioning System)を用いる等の方法で検出して、当該位置の情報と、予め保持している地図の情報(外部の地図サーバにアクセス可能であれば、当該外部の地図サーバから取得してもよい)とを用いて、地図の情報のうち、上記検出した位置にある建造物に係る情報を得て、固定物(公道上であれば、道路等を含む)の形状等の情報を得てもよい。
【0064】
さらに、人物等、移動ないし変形(姿勢を変えるなど)する対象物については、三次元情報生成部34′は、過去に、画像取得部32が取得した実空間の画像(過去の処理対象画像)の情報をも参照し、いわゆるボーントラッキング(移動体の骨格、関節の位置及び向きを検出する技術)を利用して、当該移動・変形する対象物の、実空間(プレイヤ側装置20を装着するプレイヤから見た実空間)内での位置及び姿勢を検出する。
【0065】
また、三次元情報生成部34′は、当該認識した対象物の実空間内での位置(例えば建造物であれば重心点、人物であれば頭部などの所定の点の位置)の情報を得る。ここで対象画像に撮像された対象物の位置の情報は、位置姿勢検出部41が取得したプレイヤの位置情報と、プレイヤの向き(視野)の情報とから得ることができ、情報処理システム1の処理の対象となる実空間内の位置を表すグローバル座標系で表現されるものとする。
【0066】
三次元情報生成部34′は、処理対象画像内の対象物を認識すると、個々の対象物について、対象物を建造物、看板、扉、置物(人形、道具等)、他の人物、車両…等、対象物の種類を表す情報に関連付けて、その対象物の位置(処理対象画像の提供元となっているプレイヤ側装置20を装着するプレイヤから見た実空間での位置、すなわち当該プレイヤを原点として、プレイヤの視野を表す二次元の面のうち、重力方向をY軸、水平方向をX軸、奥行き方向(視野の視錐台の底面の法線方向)をZ軸としたXYZ直交座標で表すことのできる空間での位置)及び形状・姿勢の情報をサーバ装置10に対して送出する。ここで位置及び形状・姿勢の情報は、仮想空間内で対象物に対応する大きさの仮想的なオブジェクトの位置及び形状・姿勢を設定する際に用いられるもので、例えば重心の位置と形状・姿勢とを表す情報等でよい。
【0067】
三次元情報生成部34′は、さらに、サーバ装置10から、処理対象画像内の対象物ごとの、対応する仮想的なオブジェクトを特定する情報(仮想的なオブジェクトの三次元的形状に関する情報と、位置、姿勢に関する情報等)を取得する。
【0068】
そしてこの三次元情報生成部34′は、実空間に対応する仮想空間を設定し、認識した各対象物について、それぞれの実空間内の位置に対応する仮想空間内の位置に、サーバ装置10から取得した、当該対象物に対応する仮想的なオブジェクトを配した三次元情報を生成する。なお、三次元情報生成部34は、実空間の画像情報に基づいて認識された、対象物の位置及び形状・姿勢の情報を用いて、仮想空間内で各対象物に対応する大きさの仮想的なオブジェクトの位置及び形状・姿勢を設定する。
【0069】
視野画像生成部35′は、プレイヤの視野内の実空間に対応する仮想空間の像をレンダリングして生成する。具体的にこの視野画像生成部35′は、三次元情報生成部34′が生成した三次元情報を取得するとともに、プレイヤの位置及び向き、姿勢の情報を取得し、グローバル座標系における対象プレイヤの目の位置の情報を得て、当該目の位置に対応する仮想空間内の位置に仮想的なカメラを配して、当該仮想的なカメラからの仮想空間の像をレンダリングする。この処理は広く知られているので、ここでの詳しい説明を省略する。視野画像生成部35′は、当該レンダリングして得た視野画像を、表示装置24に出力して表示させる。
【0070】
また、本実施の形態のこの例では、サーバ装置10の制御部11の位置取得部33′が、各プレイヤのプレイヤ側装置20から、位置及び向き、並びに姿勢を表す情報を取得する。そして位置取得部33′は、これら取得した情報を、取得元のプレイヤ側装置20を装着しているプレイヤを識別するプレイヤ識別子に関連付けて記録する。
【0071】
サーバ装置10の制御部11の、三次元情報提供部51は、各プレイヤのプレイヤ側装置20にて認識された対象物のそれぞれに対応する仮想空間内の仮想的なオブジェクトを決定する。本実施の形態において、この三次元情報提供部51は、プレイヤデータベースを参照し、処理対象画像の提供元となったプレイヤ側装置20を特定する表示装置識別情報に関連付けられた、グループ識別子を取得する。そしてグループ識別子ごとに、少なくとも一部の対象物に対応する、仮想的なオブジェクトの種類を決定する。つまり、本実施の形態では、異なるグループ識別子に関連付けられた情報で特定されるプレイヤについては、同じ対象物に対応する仮想的なオブジェクトの種類は互いに異なっている場合がある。
【0072】
一例として、三次元情報提供部51は、プレイヤ側装置20にて認識された対象物のうち、他の人物に対応する仮想的なオブジェクトについては、仮想的なプレイヤオブジェクトに置き換える(従ってすべてのプレイヤに共通の種類の仮想的なオブジェクトとなる)。一方、認識した対象物のうち、看板や置物等については、三次元情報提供部51は、グループ識別子ごとに異なり得る仮想的なオブジェクトに置き換え、あるグループ識別子GID=aに関連付けられた情報で特定されるプレイヤに対しては、施設でのプレイ上必要となる情報を提供するNPC(Non Player Character)に置き換え、それとは異なるグループ識別子GID=b,c…に関連付けられた情報で特定されるプレイヤに対しては、施設でのプレイ進行に関わりのないオブジェクト(例えば銅像)に置き換えることとする。
【0073】
またこの三次元情報提供部51は、建造物についても、プレイヤの属性情報であるグループ識別子に基づいて、当該建造物に置き換える仮想的なオブジェクトの種類を決定してもよい。さらにこの三次元情報提供部51は、プレイヤ属性情報ごとのゲーム進行の状況を記録したゲーム進行データベースも参照して、当該ゲームの進行の状況に合わせて、仮想的なオブジェクトの種類を決定してもよい。例えばグループ識別子GID=aに関連付けられた情報で特定されるプレイヤに対しては、三次元情報提供部51は、ゲーム進行データベースの記録によって当該グループ識別子GID=aに関連付けられた情報を参照し、ゲーム上、攻撃等で破壊された建造物を表す仮想的なオブジェクトに置き換え、またそれとは異なるグループ識別子GID=b,c…に関連付けられた情報で特定されるプレイヤに対しては、ゲーム進行データベースの記録によって当該グループ識別子GID=b,c…に関連付けられた情報を参照し、破壊される前の建造物を表す仮想的なオブジェクトに置き換えてもよい。なお、この置き換えの処理は、三次元情報生成部34における処理と同様のものとなる。
【0074】
三次元情報提供部51は、このように、各識別された実空間内の対象物ごと、かつ、プレイヤの属性情報ごとに、当該対象物に置き換える仮想的なオブジェクトを特定する情報(仮想的なオブジェクトの形状や位置、姿勢を表す情報)を生成する。
【0075】
そして三次元情報提供部51は、各プレイヤのプレイヤ側装置20に対して、当該プレイヤのプレイヤ属性情報に対応する、実空間内の対象物ごとの仮想的なオブジェクトを特定する情報を送信出力する。
【0076】
このように本実施の形態では、撮像された実空間の画像に基づいて、仮想空間に、実空間の画像に含まれる、実空間内の対象物に対応する仮想的なオブジェクトを配した三次元情報を生成する三次元情報生成手段としての構成と、表示装置を装着したプレイヤごとに、演算した当該プレイヤの所在位置から見た、生成した三次元情報が表す仮想空間の画像をレンダリングして、当該プレイヤに係る視野画像を生成する手段に対応する構成とは、それぞれサーバ装置10とプレイヤ側装置20とのどちら側にあっても構わない。
[他のプレイヤ属性情報について設定した仮想オブジェクトの種類を参照する処理]
【0077】
なお、以上の例では、所定の種類の仮想的なオブジェクト(NPC等)に置き換えることが想定される実空間内の対象物が複数ある場合、グループ識別子(プレイヤ属性情報)ごとにランダムに、どの対象物を当該所定の種類の仮想的なオブジェクトに置き換えて配置するかを決定することとしていたが、本実施の形態はこれに限られず、サーバ装置10は、現在、当該所定の種類の仮想的なオブジェクトに置き換えて配置しているグループ識別子があるか否か、あるいはそのようなグループ識別子が、対象物ごとにいくつあるか等の情報を得て、当該情報を参照して、現在他のグループ識別子に対して当該所定の種類の仮想的なオブジェクトに置き換えられていない対象物を選択して、当該選択した対象物を所定の種類の仮想的なオブジェクトに置き換えて配置することとしてもよい。また、当該所定の種類の仮想的なオブジェクトに置き換えている他のグループ識別子の数が最も少ない対象物を選択して、当該選択した対象物を所定の種類の仮想的なオブジェクトに置き換えて配置することとしてもよい。
【0078】
[仮想的なプレイヤオブジェクトの例]
本実施の形態の例では、さらに、仮想的なプレイヤオブジェクトとして、管理者の指示に従って設定された衣装をまとった人物として表示することが考えられる。例えば、サーバ装置10は、撮像されている人物の顔部分を認識して当該部分を仮想的なプレイヤオブジェクトの頭部にテクスチャとして設定するとともに、衣装等については、管理者が予め設定した、複数の種類の衣装のうちから選択して、プレイヤオブジェクトが着用する衣装として設定する。一例として、過去の時代をテーマとした施設において本実施の形態のシステムを用いる場合、当該時代に合わせた衣装を設定する。
【0079】
[現実の対象物との相互作用]
また本実施の形態のサーバ装置10は、実空間に配されている実体物に対する操作の可否等をプレイヤの属性情報に基づいて制御するなどの処理を行ってもよい。すなわち本実施の形態の一例では、サーバ装置10は、実空間に配された実体物に関する情報を取得し、当該取得した、実空間に配された実体物に関する情報を、所定の処理に供する。
【0080】
具体的には、サーバ装置10は、実空間に配された対象物のうち扉として認識された対象物について、プレイヤ属性情報としてのグループ識別子ごとに、例えば当該グループ識別子で識別されるグループに係るゲームの進行状況の情報を参照して、所定のゲーム上のミッションをクリアしたグループに属するプレイヤに対しては、通過可能な扉を表す仮想的なオブジェクトとして表示させ、当該ミッションをクリアしていないグループに属するプレイヤに対しては、通過可能な扉として認識し難い仮想的なオブジェクト(例えば単なる壁を表すオブジェクトとしたり、門番を表すNPCと扉とに設定する等)として表示させることとしてもよい。
【0081】
またこの場合、実空間内の扉には、実際にサーバ装置10から解錠・施錠を制御可能な鍵を取り付けておき、当該扉を通過可能としないグループに属するプレイヤが当該扉に近接しているときには当該扉を施錠状態とするようサーバ装置10が制御してもよい。さらにこの場合、当該扉を通過可能とするグループに属するプレイヤが当該扉に近接しているときには当該扉を解錠状態とするようサーバ装置10が制御する。このような本実施の形態によると、特定のグループに属するプレイヤのみが通過可能な扉といったオブジェクトを設定できる。
【0082】
[音声情報の提供]
さらに本実施の形態のここまでの例では、サーバ装置10は、プレイヤ側装置20に対して視野画像を提供するものとしたが、本実施の形態はこれだけに限られず、サーバ装置10は、プレイヤごとに、プレイヤ属性情報に対応する三次元情報に基づく音声情報をプレイヤ側装置20を着用するプレイヤ側に提供してもよい。
【0083】
一例としてサーバ装置10は、あるグループに属するプレイヤが、当該グループに対してはNPCとして置き換えて配された実空間内の対象物の近くに所在する場合には、当該置き換えたNPCに関連付けて予め設定されている音声の情報や効果音(SE)等を、当該プレイヤ側に配信してもよい。この例では例えばプレイヤ側装置20が当該サーバ装置10が送信する音声情報を受信し、当該情報に基づく音声を鳴動するスピーカを備えてもよい。このようにすると、画像だけでなく、音声もグループ等、プレイヤ属性情報ごとに異ならせることが可能となる。
【0084】
[対応する実体物が存在しない仮想的なオブジェクト]
またここまでの説明では、サーバ装置10は、実空間内の対象物に対応する仮想的なオブジェクトを、当該対象物の位置に対応する仮想空間内の位置に配置することとしていたが、本実施の形態はこれに限られず、サーバ装置10は、実空間内に対応する対象物のない仮想的なオブジェクト(純仮想オブジェクトと呼ぶ)を、仮想空間内に配置して、三次元情報を生成してもよい。
【0085】
この例の場合、当該純仮想オブジェクトを配置可能な仮想空間内の座標を予め定めておき、プレイヤ属性情報に応じて(例えばプレイヤ属性情報に関連付けられたゲームの進行状況の情報に応じて)、純仮想オブジェクトを配するか否かを決定する。
【0086】
[動きを伴うイベント]
さらに、プレイヤが比較的大きな動作を伴うプレイを行う場合(例えば剣を振るうなどの動作を伴うプレイを行う場合など)、当該プレイとは関わりないプレイヤを近接させないことで、プレイヤ間の衝突の発生を避けることが好ましい。
【0087】
そこで本実施の形態のある例では、サーバ装置10は、各プレイヤについてプレイヤが比較的大きな動作を伴うプレイを行っているか否かを識別する情報を保持し、比較的大きな動作を行うプレイを行っているプレイヤについては、仮想空間における、当該プレイヤに対応する仮想的なオブジェクトを、仮想的なキャラクタオブジェクトとする代わりに、当該プレイヤの位置を中心として所定の範囲(例えば半径3メートルなどとして予め定めておけばよい)を占有する建造物や、置物を表す仮想的なオブジェクトとして三次元情報を生成してもよい。または、サーバ装置10は、比較的大きな動作を行うプレイを行っているプレイヤについては、仮想空間における、当該プレイヤに対応する仮想的なオブジェクトを、仮想的なキャラクタオブジェクトとするとともに、そのプレイヤの位置を中心として所定の距離(例えば半径3メートルなどとして予め定めておけばよい)に、立ち入りを禁止する仮想的なオブジェクト、例えば幕や、規制線を表すロープ等の仮想的なオブジェクトを配してもよい。
【0088】
[一部の処理を表示装置側で行う例]
また本実施の形態のここまでの説明では、サーバ装置10が、三次元情報に基づく、プレイヤごとのプレイヤ側装置20に提供する視野画像をレンダリングして生成することとしていたが、本実施の形態では、このレンダリングによる視野画像の生成処理は、プレイヤ側装置20が行ってもよい。この例では、サーバ装置10の制御部11は、視野画像生成部35を機能的に含まず、三次元情報生成部34が生成した、当該プレイヤのプレイヤ属性情報に係る三次元情報をプレイヤ側装置20に対して送信する。
【0089】
そしてこの例では、プレイヤ側装置20の制御部21は、サーバ装置10から三次元情報を取得するとともに、実空間におけるプレイヤの目の位置に対応する、仮想空間内でのプレイヤの目の位置の情報を求める。そして制御部21は、当該目の位置に対応する仮想空間内の位置に仮想的なカメラを配して、当該仮想的なカメラからの、取得した三次元情報が表す仮想空間の像をレンダリングし、表示装置24に出力する。
【0090】
[指示による仮想的なオブジェクトの配置]
さらに本実施の形態のある例では、サーバ装置10に対して管理者が外部から、管理者端末30を操作して仮想的なオブジェクトの配置を指示することを可能にしてもよい。具体的に、サーバ装置10は、管理者端末30から仮想空間内に仮想的なオブジェクトを配置するべき旨の指示を受け入れる。この指示には、例えば当該仮想的なオブジェクトを配置する仮想空間内の位置を表す座標情報と、仮想的なオブジェクトの三次元モデル(三次元的形状とその表面の質感や、色、模様等を表した情報)の情報とを含む。また、この指示には仮想的なオブジェクトの姿勢を変化させる情報(アニメーション情報)等が含まれてもよい。
【0091】
サーバ装置10は、当該指示に従って、指示された仮想空間内の位置に、指示された仮想的なオブジェクトを配置する。なお、ここで指示に含まれる座標情報は、座標情報そのものではなく、実空間内に配された対象物に対応して仮想空間内に既に設定されている仮想的なオブジェクト(既設オブジェクトと呼ぶ)を特定する情報であってもよい。この場合、サーバ装置10は、当該情報で特定される既設オブジェクトを、指示された仮想的なオブジェクトに置き換える。
【0092】
[表示装置を着用しない人物との共存]
また本実施の形態の情報処理システム1が処理の対象とする実空間には、プレイヤ側装置20を装着しない人物が往来していてもよい。例えば、施設内の実空間においても、プレイヤ側装置20を装着するプレイヤと、プレイヤ側装置20を装着しない入場者とが混在していてもよい。この場合でも、プレイヤ側装置20を装着するプレイヤには、プレイヤ側装置20を装着しない入場者も仮想空間内に仮想的なキャラクタとして表示されるので(仮想的なキャラクタへの置き換え処理は、プレイヤ側装置20の装着の有無に関わらないため)、プレイヤは、プレイヤ側装置20を装着しない入場者であっても衝突しないよう避けながら移動できる。
【0093】
また実空間に配された対象物が、仮想空間内において仮想的なオブジェクトに置き換えられることとなっているので、プレイヤ側装置20を装着しない入場者も、実空間に配された人形等の対象物を見ることができ、プレイヤ側装置20を装着しない入場者が当該人形の所在する位置を占めてしまうことで、プレイヤのゲーム進行等が妨げられることもない。