(57)【特許請求の範囲】
【請求項１】
少なくとも一つのプロセッサを備え、
前記少なくとも一つのプロセッサが、
対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信し、
複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照し、
前記問合せデータで示される前記組合せが前記オブジェクト関係データに登録されている場合には、仮想空間内への前記対象仮想オブジェクトの配置を前記ユーザ端末に許可し、該組合せが前記オブジェクト関係データに登録されていない場合には該配置を前記ユーザ端末に許可しない、
オブジェクト管理システム。
【請求項２】
前記複数のオブジェクト間の階層関係が、前記仮想空間における前記複数のオブジェクト間の物理的な位置関係を示す、
請求項１に記載のオブジェクト管理システム。
【請求項３】
前記複数のオブジェクトが親オブジェクトおよび子オブジェクトを含み、
前記物理的な位置関係が、前記親オブジェクトへの前記子オブジェクトの接触である、
請求項２に記載のオブジェクト管理システム。
【請求項４】
前記少なくとも一つのプロセッサが、前記配置を許可する場合には、前記対象仮想オブジェクトを前記ユーザ端末にダウンロードするための鍵データを該ユーザ端末に送信する、
請求項１〜３のいずれか一項に記載のオブジェクト管理システム。
【請求項５】
前記鍵データがワンタイムパスワードを含む、
請求項４に記載のオブジェクト管理システム。
【請求項６】
前記少なくとも一つのプロセッサが、
ユーザＩＤをさらに含む前記問合せデータを前記ユーザ端末から受信し、
仮想オブジェクトの権利者を示す権利者データをさらに記憶する前記データベースを参照し、
前記問合せデータで示される前記対象仮想オブジェクトおよび前記ユーザＩＤの組合せが前記権利者データに登録されている場合には、該問合せデータで示される、前記対象仮想オブジェクトおよび前記対象親オブジェクトの組合せを示す前記オブジェクト関係データの新規レコードを前記データベースに登録し、前記仮想空間内への前記対象仮想オブジェクトの配置を前記ユーザ端末に許可する、
請求項１〜５のいずれか一項に記載のオブジェクト管理システム。
【請求項７】
前記対象親オブジェクトが前記仮想空間および仮想オブジェクトのうちの一つである、
請求項１〜６のいずれか一項に記載のオブジェクト管理システム。
【請求項８】
前記対象仮想オブジェクトおよび前記対象親オブジェクトのうちの少なくとも一方がアバターである、
請求項１〜７のいずれか一項に記載のオブジェクト管理システム。
【請求項９】
少なくとも一つのプロセッサを備えるオブジェクト管理システムによって実行されるオブジェクト管理方法であって、
対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信するステップと、
複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照するステップと、
前記問合せデータで示される前記組合せが前記オブジェクト関係データに登録されている場合には、仮想空間内への前記対象仮想オブジェクトの配置を前記ユーザ端末に許可し、該組合せが前記オブジェクト関係データに登録されていない場合には該配置を前記ユーザ端末に許可しないステップと
を含むオブジェクト管理方法。
【請求項１０】
対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信するステップと、
複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照するステップと、
前記問合せデータで示される前記組合せが前記オブジェクト関係データに登録されている場合には、仮想空間内への前記対象仮想オブジェクトの配置を前記ユーザ端末に許可し、該組合せが前記オブジェクト関係データに登録されていない場合には該配置を前記ユーザ端末に許可しないステップと
をコンピュータに実行させるオブジェクト管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の一側面はオブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラムに関する。
【背景技術】
【０００２】
コンテンツへのアクセスを管理するための仕組みが知られている。例えば特許文献１には、利用者端末がアクセスするコンテンツデータを管理するコンテンツデータ管理装置が記載されている。このコンテンツデータ管理装置は、コンテンツデータへのアクセス要求を送信した利用者端末の利用者の利用者ＩＤと、当該コンテンツデータのコンテンツＩＤと、アクセス許可情報とに基づいて、当該利用者が当該コンテンツデータへアクセス可能か否かを判定する。アクセス可の場合には、コンテンツデータ管理装置は当該コンテンツデータを利用者端末に送信する。アクセス不可の場合には、コンテンツデータ管理装置はアクセス許可情報への登録画面を利用者端末に送信し、当該利用者端末からアクセス許可登録要求を受信し、利用者ＩＤを当該コンテンツＩＤに対応付けてアクセス許可情報に記憶する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１１８７７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
仮想空間内に配置可能な仮想オブジェクトへのアクセスを適切に管理することが望まれている。
【課題を解決するための手段】
【０００５】
本開示の一側面に係るオブジェクト管理システムは、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信し、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照し、問合せデータで示される組合せがオブジェクト関係データに登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可し、該組合せがオブジェクト関係データに登録されていない場合には該配置をユーザ端末に許可しない。
【０００６】
本開示の一側面に係るオブジェクト管理方法は、少なくとも一つのプロセッサを備えるオブジェクト管理システムによって実行される。オブジェクト管理方法は、対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信するステップと、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照するステップと、問合せデータで示される組合せがオブジェクト関係データに登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可し、該組合せがオブジェクト関係データに登録されていない場合には該配置をユーザ端末に許可しないステップとを含む。
【０００７】
本開示の一側面に係るオブジェクト管理プログラムは、対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信するステップと、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照するステップと、問合せデータで示される組合せがオブジェクト関係データに登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可し、該組合せがオブジェクト関係データに登録されていない場合には該配置をユーザ端末に許可しないステップとをコンピュータに実行させる。
【０００８】
このような側面においては、ユーザ端末から受信したオブジェクト間の組合せ（すなわち、対象仮想オブジェクトおよび対象親オブジェクトの組合せ）が既に階層関係として登録されている場合に、対象仮想オブジェクトを仮想空間内に配置することが許可される。その組合せが階層関係として登録されていない場合にはその配置は許可されない。オブジェクト間の階層関係を検証することで仮想オブジェクトの利用の許否を判定するという、特許文献１には記載されていない仕組みによって、仮想空間内に配置可能な仮想オブジェクトへのアクセスを適切に管理することができる。
【発明の効果】
【０００９】
本開示の一側面によれば、仮想空間内に配置可能な仮想オブジェクトへのアクセスを適切に管理することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るオブジェクト管理システムの適用の一例を示す図である。
【図２】実施形態に係るオブジェクト管理システムに関連するハードウェア構成の一例を示す図である。
【図３】実施形態に係るオブジェクト管理システムに関連する機能構成の一例を示す図である。
【図４】オブジェクト管理データベースのデータ構造の一例を示す図である。
【図５】実施形態に係るオブジェクト管理システムの動作の一例を示すシーケンス図である。
【図６】実施形態に係るオブジェクト管理システムの動作の一例を示すシーケンス図である。
【図７】仮想空間および配置データの一例を示す図である。
【図８】仮想空間および配置データの一例を示す図である。
【図９】実施形態に係るオブジェクト管理システムの動作の一例を示すシーケンス図である。
【図１０】実施形態に係るオブジェクト管理システムの動作の一例を示すシーケンス図である。
【図１１】仮想空間および配置データの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
【００１２】
［システムの概要］
実施形態に係るオブジェクト管理システムは、コンテンツを構成する仮想オブジェクトへのアクセスを管理するコンピュータシステムである。コンテンツとは、コンピュータまたはコンピュータシステムによって提供され、人が認識可能な情報のことをいう。コンテンツを示す電子データのことをコンテンツデータという。コンテンツの表現形式は限定されず、例えば、コンテンツは画像（例えば、写真、映像など）、文書、音声、音楽、またはこれらの中の任意の２以上の要素の組合せによって表現されてもよい。コンテンツの目的および利用場面は限定されず、例えば、コンテンツはエンターテインメント、ニュース、教育、医療、ゲーム、チャット、商取引、講演、セミナー、研修などの様々な目的で利用され得る。
【００１３】
本実施形態ではコンテンツは少なくとも画像を用いて表現される。コンテンツを示す画像を「コンテンツ画像」という。コンテンツ画像とは、人が視覚を通して何らかの情報を認識することができる像のことをいう。コンテンツ画像は動画像（映像）でもよいし静止画でもよい。コンテンツ画像は現実世界を映してもよいし、仮想空間を映してもよい。仮想空間とは、コンピュータ上に表示される画像によって表現される仮想の２次元または３次元の空間のことをいう。コンテンツ画像が仮想空間を含む場合には、コンテンツ画像は、仮想空間内に設定された仮想カメラから見える風景を示す画像であるといえる。仮想カメラは、コンテンツ画像を見るユーザの視線に対応するように仮想空間内に設定される。仮想空間は少なくとも一つの仮想オブジェクトによって表現される。仮想オブジェクトとは、現実世界には実際に存在せずコンピュータシステム上でのみ表現される物体のことをいう。コンテンツ画像が仮想空間または仮想オブジェクトを含むことで、視聴者は拡張現実（Ａｕｇｕｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ（ＡＲ））、仮想現実（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ（ＶＲ））、または複合現実（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ（ＭＲ））を体験することができる。
【００１４】
仮想オブジェクトはアバターでもよい。アバターとは、コンピュータによって表現されるユーザの分身である。アバターは、撮影された人そのものではなく、原画像とは独立した画像素材を用いて、２次元または３次元のコンピュータグラフィック（ＣＧ）によって表現される。アバターの表現方法は限定されない。例えば、アバターはアニメーション素材を用いて表現されてもよいし、実写画像に基づいて本物に近いように表現されてもよい。アバターはオブジェクト管理システムのユーザによって自由に選択されてもよい。
【００１５】
仮想オブジェクトは仮想空間内に配置されることによって、コンテンツの構成要素として機能する。オブジェクト管理システムはその仮想オブジェクトへのアクセスを管理する。「仮想オブジェクトへのアクセスを管理する」とは、仮想オブジェクトを利用する適切な権限を有するユーザに限ってその仮想オブジェクトの利用を許可することをいう。ここで、ユーザとはコンテンツ画像に関連する行動を取る人のことをいい、例えばコンテンツ画像を視聴または制作する人のことをいう。オブジェクト管理システムは、ユーザ端末上に表示されているコンテンツ画像を構成する仮想空間内への仮想オブジェクトの配置を許可するか否かを判定する。その配置が許可される場合には、ユーザ端末はその仮想オブジェクトを含む仮想空間を示すコンテンツ画像を表示することができる。その配置が許可されない場合には、ユーザ端末はその仮想オブジェクトを利用することができず、したがって、その仮想オブジェクトを表示することができない。
【００１６】
一例では、オブジェクト管理システムは仮想空間を構築する際に用いられるプラットホームの少なくとも一部として機能する。いわば、オブジェクト管理システムは仮想空間の開発キットの少なくとも一部としての役割を果たし得る。例えば、オブジェクト管理システムを管理する事業者が、仮想空間を構築するための仕組みと、仮想空間内に配置可能な仮想オブジェクトとをユーザに提供する。仮想オブジェクトは事業者により提供されてもよいし、ユーザから提供されてもよい。ユーザはオブジェクト管理システムにアクセスして仮想空間を構築することができる。オブジェクト管理システムはユーザにより作成された仮想オブジェクトを該ユーザの要求に応じて管理してもよい。
【００１７】
一例では、コンテンツは１以上の視聴者に向かって配信される。配信とは、通信ネットワークまたは放送ネットワークを経由して情報をユーザに送信する処理のことをいう。本開示では、配信は放送を含み得る概念である。コンテンツ管理システムによって管理されるコンテンツの配信手法は限定されず、例えば、リアルタイム配信（インターネット生放送）、タイムシフト、またはオンデマンドでもよい。
【００１８】
コンテンツ（仮想空間）を製作、編集、または閲覧しようとするユーザは、コンテンツを自分のユーザ端末上に表示させるためのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を正当な手続きにより入手する。例えば、コンテンツの制作者または編集者は、空の仮想空間が最初に設定された際に所定のコンピュータシステムから提供されるコンテンツのＵＲＬを入手する。このＵＲＬは有償または無償で公開されてもよい。コンテンツの閲覧者はそのＵＲＬを正当な手続きにより入手し、このＵＲＬにアクセスすることでコンテンツ（仮想空間）を閲覧することができる。
【００１９】
一方で、コンテンツ（仮想空間）に不正にアクセスして仮想空間を閲覧したり仮想オブジェクトを入手したりしようとする者が存在する可能性がある。一例では、オブジェクト管理システムは仮想オブジェクトへのアクセスを管理することで、コンテンツへの不正なアクセスおよび利用を防止する。
【００２０】
一例では、仮想オブジェクトはユーザ端末にダウンロードされ、レンダリングによって描画される。仮想オブジェクトが或るユーザによって不正に入手されると、その仮想オブジェクトが不正に利用または改変される可能性がある。一例では、オブジェクト管理システムはそのような不正行為を防止しつつ、ユーザ端末での仮想オブジェクトの円滑なレンダリングを可能にする。
【００２１】
［システムの構成］
図１は、実施形態に係るオブジェクト管理システム１の適用の一例を示す図である。本実施形態では、オブジェクト管理システム１は管理サーバ１０を備える。管理サーバ１０は、仮想オブジェクトへのアクセスを管理するコンピュータである。一例では、管理サーバ１０は通信ネットワークＮを介して少なくとも一つのユーザ端末２０およびオブジェクト管理データベース３０と接続する。それぞれのユーザ端末２０は通信ネットワークＮを介してモデルサーバ４０に接続することができる。モデルサーバ４０は通信ネットワークＮを介してモデルデータベース５０と接続する。図１は２台のユーザ端末２０を示すが、ユーザ端末２０の台数は何ら限定されない。通信ネットワークＮの構成は限定されず、例えば、通信ネットワークＮはインターネットを含んで構成されてもよいし、イントラネットを含んで構成されてもよい。
【００２２】
ユーザ端末２０はユーザによって用いられるコンピュータであり、コンテンツ画像を表示する機能を有する。一例では、ユーザ端末２０はコンテンツ画像を構成する仮想オブジェクトが利用可能か否かを管理サーバ１０に問い合わせる。仮想オブジェクトの利用が許可される場合には、ユーザ端末２０はその仮想オブジェクトをモデルサーバ４０からダウンロードして、その仮想オブジェクトを含むコンテンツ画像を表示することができる。仮想オブジェクトの利用が許可されない場合には、ユーザ端末２０はその仮想オブジェクトをダウンロードすることができず、したがって、ユーザ端末２０はその仮想オブジェクトを表示することができない。ユーザ端末２０の種類および構成は限定されない。例えば、ユーザ端末２０は高機能携帯電話機（スマートフォン）、タブレット端末、ウェアラブル端末（例えば、ヘッドマウントディスプレイ（ＨＭＤ）、スマートグラスなど）、ラップトップ型パーソナルコンピュータ、携帯電話機などの携帯端末でもよい。あるいは、ユーザ端末２０はデスクトップ型パーソナルコンピュータなどの据置型端末でもよい。
【００２３】
オブジェクト管理データベース３０は仮想オブジェクトへのアクセスの管理に必要なデータを記憶する非一時的な記憶装置である。モデルサーバ４０は仮想オブジェクトのモデルデータをユーザ端末２０に提供するコンピュータである。モデルデータベース５０はそのモデルデータを記憶する非一時的な記憶装置である。オブジェクト管理データベース３０およびモデルデータベース５０のそれぞれの設置場所は限定されない。例えば、オブジェクト管理データベース３０およびモデルデータベース５０の少なくとも一方は、オブジェクト管理システム１とは別のコンピュータシステム内に設けられてもよいし、オブジェクト管理システム１の構成要素であってもよい。モデルサーバ４０の設置場所も限定されず、例えば、モデルサーバ４０はオブジェクト管理システム１とは別のコンピュータシステム内に設けられてもよいし、オブジェクト管理システム１の構成要素であってもよい。
【００２４】
図２はオブジェクト管理システム１に関連するハードウェア構成の一例を示す図である。図２は、管理サーバ１０またはモデルサーバ４０として機能するサーバコンピュータ１００と、ユーザ端末２０として機能する端末コンピュータ２００とを示す。
【００２５】
一例として、サーバコンピュータ１００はハードウェア構成要素として、プロセッサ１０１、主記憶部１０２、補助記憶部１０３、および通信部１０４を備える。
【００２６】
プロセッサ１０１は、オペレーティングシステムおよびアプリケーションプログラムを実行する演算装置である。プロセッサの例としてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）およびＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が挙げられるが、プロセッサ１０１の種類はこれらに限定されない。例えば、プロセッサ１０１はセンサおよび専用回路の組合せでもよい。専用回路はＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）のようなプログラム可能な回路でもよいし、他の種類の回路でもよい。
【００２７】
主記憶部１０２は、管理サーバ１０を実現するためのプログラム、プロセッサ１０１から出力された演算結果などを記憶する装置である。主記憶部１０２は例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のうちの少なくとも一つにより構成される。
【００２８】
補助記憶部１０３は、一般に主記憶部１０２よりも大量のデータを記憶することが可能な装置である。補助記憶部１０３は例えばハードディスク、フラッシュメモリなどの不揮発性記憶媒体によって構成される。補助記憶部１０３は、サーバコンピュータ１００を管理サーバ１０またはモデルサーバ４０として機能させるためのサーバプログラムＰ１と各種のデータとを記憶する。例えば、補助記憶部１０３は仮想オブジェクトと仮想空間とのうちの少なくとも一つに関するデータを記憶してもよい。本実施形態では、オブジェクト管理プログラムはサーバプログラムＰ１として実装される。
【００２９】
通信部１０４は、通信ネットワークＮを介して他のコンピュータとの間でデータ通信を実行する装置である。通信部１０４は例えばネットワークカードまたは無線通信モジュールにより構成される。
【００３０】
管理サーバ１０またはモデルサーバ４０の各機能要素は、対応するサーバプログラムＰ１をプロセッサ１０１または主記憶部１０２に読み込ませてプロセッサ１０１にそのプログラムを実行させることで実現される。サーバプログラムＰ１は、管理サーバ１０またはモデルサーバ４０の各機能要素を実現するためのコードを含む。プロセッサ１０１はサーバプログラムＰ１に従って通信部１０４を動作させ、主記憶部１０２または補助記憶部１０３におけるデータの読み出しおよび書き込みを実行する。このような処理により管理サーバ１０またはモデルサーバ４０の各機能要素が実現される。
【００３１】
管理サーバ１０およびモデルサーバ４０の少なくとも一方は一つまたは複数のコンピュータにより構成され得る。複数のコンピュータが用いられる場合には、通信ネットワークを介してこれらのコンピュータが互いに接続されることで、論理的に一つの管理サーバ１０またはモデルサーバ４０が構成される。
【００３２】
一例として、端末コンピュータ２００はハードウェア構成要素として、プロセッサ２０１、主記憶部２０２、補助記憶部２０３、および通信部２０４、入力インタフェース２０５、出力インタフェース２０６、および撮像部２０７を備える。
【００３３】
プロセッサ２０１は、オペレーティングシステムおよびアプリケーションプログラムを実行する演算装置である。プロセッサ２０１は例えばＣＰＵまたはＧＰＵであり得るが、プロセッサ２０１の種類はこれらに限定されない。
【００３４】
主記憶部２０２は、ユーザ端末２０を実現させるためのプログラム、プロセッサ２０１から出力された演算結果などを記憶する装置である。主記憶部２０２は例えばＲＯＭおよびＲＡＭのうちの少なくとも一つにより構成される。
【００３５】
補助記憶部２０３は、一般に主記憶部２０２よりも大量のデータを記憶することが可能な装置である。補助記憶部２０３は例えばハードディスク、フラッシュメモリなどの不揮発性記憶媒体によって構成される。補助記憶部２０３は、端末コンピュータ２００をユーザ端末２０として機能させるためのクライアントプログラムＰ２と各種のデータとを記憶する。例えば、補助記憶部２０３は仮想オブジェクトと仮想空間とのうちの少なくとも一つに関するデータを記憶してもよい。
【００３６】
通信部２０４は、通信ネットワークＮを介して他のコンピュータとの間でデータ通信を実行する装置である。通信部２０４は例えばネットワークカードまたは無線通信モジュールにより構成される。
【００３７】
入力インタフェース２０５は、ユーザの操作または動作に基づいてデータを受け付ける装置である。例えば、入力インタフェース２０５は、キーボード、操作ボタン、ポインティングデバイス、マイクロフォン、センサ、およびカメラのうちの少なくとも一つによって構成される。キーボードおよび操作ボタンはタッチパネル上に表示されてもよい。入力インタフェース２０５の種類が限定されないことに対応して、入力されるデータは限定されない。例えば、入力インタフェース２０５はキーボード、操作ボタン、またはポインティングデバイスによって入力または選択されたデータを受け付けてもよい。あるいは、入力インタフェース２０５は、マイクロフォンにより入力された音声データを受け付けてもよい。あるいは、入力インタフェース２０５はカメラによって撮影された画像データ（例えば、映像データまたは静止画データ）を受け付けてもよい。
【００３８】
出力インタフェース２０６は、端末コンピュータ２００で処理されたデータを出力する装置である。例えば、出力インタフェース２０６はモニタ、タッチパネル、ＨＭＤおよびスピーカのうちの少なくとも一つによって構成される。モニタ、タッチパネル、ＨＭＤなどの表示装置は、処理されたデータを画面上に表示する。スピーカは、処理された音声データで示される音声を出力する。
【００３９】
撮像部２０７は、現実世界を写した画像を撮影する装置であり、具体的にはカメラである。撮像部２０７は動画像（映像）を撮影してもよいし静止画（写真）を撮影してもよい。動画像を撮影する場合には、撮像部２０７は映像信号を所与のフレームレートに基づいて処理することで、時系列に並ぶ一連のフレーム画像を動画像として取得する。撮像部２０７は入力インタフェース２０５としても機能し得る。
【００４０】
ユーザ端末２０の各機能要素は、クライアントプログラムＰ２をプロセッサ２０１または主記憶部２０２に読み込ませてプロセッサ２０１にそのプログラムを実行させることで実現される。クライアントプログラムＰ２は、ユーザ端末２０の各機能要素を実現するためのコードを含む。プロセッサ２０１はクライアントプログラムＰ２に従って通信部２０４、入力インタフェース２０５、出力インタフェース２０６、または撮像部２０７を動作させ、主記憶部２０２または補助記憶部２０３におけるデータの読み出しおよび書き込みを行う。この処理によりユーザ端末２０の各機能要素が実現される。
【００４１】
サーバプログラムＰ１およびクライアントプログラムＰ２の少なくとも一つは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリなどの有形の記録媒体に非一時的に記録された上で提供されてもよい。あるいは、これらのプログラムの少なくとも一つは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。これらのプログラムは別々に提供されてもよいし、一緒に提供されてもよい。
【００４２】
図３はオブジェクト管理システム１に関連する機能構成の一例を示す図である。オブジェクト管理システム１における一連の処理はユーザ操作に起因して実行されるので、まず、ユーザ端末２０の機能構成について説明する。ユーザ端末２０は機能要素として問合せ部２１、オブジェクト要求部２２、および表示制御部２３を備える。問合せ部２１はユーザ端末２０において仮想オブジェクトが利用可能であるか否かを管理サーバ１０に問い合わせる機能要素である。より具体的には、問合せ部２１は、仮想空間内に仮想オブジェクトを配置することが可能であるか否かを問い合わせる。一例では、問合せ部２１はオブジェクト関係データの登録を管理サーバ１０に要求してもよい。オブジェクト要求部２２は、仮想オブジェクトの配置が許可された場合に、その仮想オブジェクトのモデルデータをモデルサーバ４０に要求する機能要素である。表示制御部２３は仮想空間を示すコンテンツ画像を表示装置上に表示する機能要素である。仮想オブジェクトの配置が許可された場合には、表示制御部２３はその仮想オブジェクトを含む仮想空間を表示する。
【００４３】
管理サーバ１０は機能要素として問合せ受信部１１、判定部１２、登録部１３、および通知部１４を備える。問合せ受信部１１は仮想オブジェクトが利用可能であるかの問合せをユーザ端末２０から受信する機能要素である。判定部１２はユーザ端末２０において仮想オブジェクトが利用可能であるか否か（すなわち、ユーザ端末２０において仮想空間内に仮想オブジェクトを配置することが可能であるか否か）を判定する機能要素である。登録部１３はオブジェクト管理データベース３０にデータを登録する機能要素である。通知部１４は判定結果に基づくデータを問合せに対する応答としてユーザ端末２０に送信する機能要素である。
【００４４】
オブジェクト管理データベース３０は、複数のオブジェクト間の階層関係を示すオブジェクト関係データ３１と、仮想空間内に配置される仮想オブジェクトの権利者を示す権利者データ３２とを記憶する。
【００４５】
図４はオブジェクト管理データベース３０のデータ構造の一例を示す図である。この例では、オブジェクト関係データ３１の各レコードは親オブジェクトＩＤと子オブジェクトＩＤとを含む。この２種類のＩＤはいずれも、オブジェクトを一意に特定するための識別子であり、これらのＩＤの組合せによって二つのオブジェクト間の階層関係が規定される。その階層関係は、子オブジェクトが親オブジェクトに依存すること、すなわち、子オブジェクトは親オブジェクトが存在して初めて存在し得ることを示す。一例では、親オブジェクトは仮想空間そのもの、または仮想オブジェクトであり、子オブジェクトは仮想オブジェクトである。親オブジェクトおよび子オブジェクトの少なくとも一方がアバターでもよい。図４は例えば、オブジェクト「０００３」がオブジェクト「１００１」に依存し、オブジェクト「０００４」がそのオブジェクト「０００３」に依存することを示す。
【００４６】
オブジェクト関係データ３１で示される親オブジェクトと子オブジェクトとの階層関係は、仮想空間における両オブジェクト間の物理的な位置関係を示してもよい。例えば、子オブジェクトは親オブジェクトに接する仮想オブジェクトでもよい。親オブジェクトへの子オブジェクトの接触の一例として、子オブジェクトは親オブジェクトによって支持される仮想オブジェクトでもよい。「子オブジェクトが親オブジェクトによって支持される」とは、現実空間と同様に仮想空間内に重力が働くとの仮定において、親オブジェクトによって子オブジェクトの位置が重力に逆らって維持されることをいう。例えば、親オブジェクトが床であり、子オブジェクトがその床に置かれた机でもよい。あるいは、親オブジェクトが壁であり、子オブジェクトがその壁に掛けられた絵画でもよい。
【００４７】
権利者データ３２の各レコードは権利者ＩＤとオブジェクトＩＤとを含む。権利者ＩＤは仮想オブジェクトの権利者を一意に特定する識別子である。権利者とは、仮想オブジェクトを利用する正当な権限を有する人のことをいい、例えば、仮想オブジェクトの購入者、制作者、または所有者であり得る。一人のユーザが複数の仮想オブジェクトについての権利を有してもよいし、一種類の仮想オブジェクトについて複数のユーザが権利を有してもよい。図４は例えば、ユーザＵａがオブジェクト「０００２」、オブジェクト「０００３」、オブジェクト「０００４」、およびオブジェクト「０００５」の権利者であることを示す。一例では、権利者データ３２のレコードは、ユーザが仮想オブジェクトを正当な方法（例えば、購入、無償での譲受けなど）で入手したことに応答してオブジェクト管理データベース３０に登録される。権利者データ３２を登録するコンピュータは限定されず、例えば、管理サーバ１０でもよいし、モデルサーバ４０でもよいし、他のコンピュータまたはコンピュータシステムでもよい。
【００４８】
モデルサーバ４０は要求受信部４１、検索部４２、およびオブジェクト送信部４３を備える。要求受信部４１はモデルデータの要求をユーザ端末２０から受信する機能要素である。検索部４２はその要求に対応するモデルデータをモデルデータベース５０から抽出する機能要素である。オブジェクト送信部４３はそのモデルデータを要求への応答としてユーザ端末２０に送信する機能要素である。
【００４９】
モデルデータとは、仮想オブジェクトの仕様を規定するために用いられる電子データである。或る一つの仮想オブジェクトのモデルデータは、該仮想オブジェクトのオブジェクトＩＤにより一意に特定される。仮想オブジェクトの仕様とは、仮想オブジェクトを制御するための取り決めまたは方法のことをいう。例えば、仕様は仮想オブジェクトの構成（例えば形状および寸法）、動作、および音声のうちの少なくとも一つを含む。例えば、モデルデータは仮想オブジェクトを構成する複数のジョイントおよび複数のボーンに関する情報と、仮想オブジェクトの外観デザインを示すグラフィックデータと、仮想オブジェクトの属性とを含んでもよい。ジョイントおよびボーンに関する情報の例として、個々のジョイントの３次元座標と、隣り合うジョイントの組合せ（すなわちボーン）とが挙げられるが、この情報の構成はこれに限定されず、任意に設計されてよい。仮想オブジェクトの属性とは、仮想オブジェクトを特徴付けるために設定される任意の情報であり、例えば公称寸法、声質、性能、または性格を含み得る。
【００５０】
［システムの動作］
オブジェクト管理システム１の動作（より具体的には管理サーバ１０の動作）を説明するとともに、本実施形態に係るオブジェクト管理方法について説明する。
【００５１】
図５は、オブジェクト管理システム１の動作の一例を処理フローＳ１として示すシーケンス図である。処理フローＳ１は、或る一つの仮想オブジェクトを仮想空間に配置することが許可される場合を示す。処理フローＳ１は、仮想空間を示すコンテンツ画像をユーザ端末２０が表示し始める前に実行されてもよいし、ユーザ端末２０がそのコンテンツ画像を既に表示している時に実行されてもよい。本開示では、仮想空間への配置が可能か否かを判定する対象となる仮想オブジェクトのことを「対象仮想オブジェクト」ともいう。処理フローＳ１は、表示しようとするコンテンツ画像で示される仮想空間における１以上の仮想オブジェクトの配置を示す配置データをユーザ端末２０が既に取得していることを前提とする。例えば、この配置データは、ユーザがコンテンツのＵＲＬにアクセスしたことに応答してユーザ端末２０にダウンロードされてもよい。一例では、この配置データは１以上の仮想オブジェクトのそれぞれについての属性を示す電子データであり、その属性は、仮想オブジェクトの親オブジェクトのオブジェクトＩＤと、仮想空間における仮想オブジェクトの位置を示す位置情報とを含む。
【００５２】
ステップＳ１１では、ユーザ端末２０において問合せ部２１が問合せデータを管理サーバ１０に送信する。問合せ部２１は配置データを参照して、対象仮想オブジェクトと、該対象仮想オブジェクトの親オブジェクト（本開示ではこれを「対象親オブジェクト」ともいう。）との組合せを含む問合せデータを生成する。一例では、この問合せデータは、対象仮想オブジェクトのオブジェクトＩＤ（以下ではこれを「対象仮想オブジェクトＩＤ」ともいう。）と対象親オブジェクトのオブジェクトＩＤ（以下ではこれを「対象親オブジェクトＩＤ」ともいう。）との組合せを含む。管理サーバ１０では問合せ受信部１１がその問合せデータを受信する。
【００５３】
ステップＳ１２では、管理サーバ１０において判定部１２が、仮想空間内への対象仮想オブジェクトの配置を許可するか否かを判定する。判定部１２はオブジェクト管理データベース３０を参照して、オブジェクト関係データ３１が問合せデータで示されるＩＤの組合せを含むか否かを判定する。具体的には、判定部１２は、子オブジェクトＩＤが対象仮想オブジェクトＩＤと一致し、且つ親オブジェクトＩＤが対象親オブジェクトＩＤと一致するレコードが、オブジェクト関係データ３１に存在するか否かを判定する。そのレコードが存在する場合、すなわち、対象仮想オブジェクトＩＤおよび対象親オブジェクトＩＤの組合せがオブジェクト関係データ３１に登録されている場合には、判定部１２は仮想空間内への対象仮想オブジェクトの配置を許可する。そのレコードが存在しない場合、すなわち、対象仮想オブジェクトＩＤおよび対象親オブジェクトＩＤの組合せがオブジェクト関係データ３１に登録されていない場合には、判定部１２は仮想空間内への対象仮想オブジェクトの配置を許可しない。判定部１２は対象仮想オブジェクトの配置の許否を判定するためにオブジェクト間の階層関係を検証すれば十分であり、対象仮想オブジェクトの権利者を確認する必要はない。したがって、判定部１２はユーザが対象仮想オブジェクトの正当な権利者であるか否かを確認することなく、対象仮想オブジェクトの配置の許否を判定する。ステップＳ１２では、判定部１２が仮想空間内への対象仮想オブジェクトの配置を許可するものとする。
【００５４】
ステップＳ１３では、通知部１４が鍵データをユーザ端末２０に送信する。鍵データとは、対象仮想オブジェクトのモデルデータをユーザ端末２０にダウンロードするために用いられる電子データである。鍵データのデータ構造は限定されず、任意の方針で設計されてよい。一例では、鍵データは対象仮想オブジェクトＩＤを含んでもよい。あるいは、鍵データは対象仮想オブジェクトＩＤに加えて、一回限り有効なワンタイムパスワードをさらに含んでもよい。このワンタイムパスワードは有効期限を有してもよい。仮想空間内への対象仮想オブジェクトの配置が許可されたことに応答して、通知部１４はその対象仮想オブジェクトの鍵データを生成し、この鍵データをユーザ端末２０に送信する。ユーザ端末２０では問合せ部２１がその鍵データを受信する。
【００５５】
ステップＳ１４では、ユーザ端末２０においてオブジェクト要求部２２が、対象仮想オブジェクトのモデルデータを取得するためにその鍵データをモデルサーバ４０に送信する。モデルサーバ４０では要求受信部４１がその鍵データを受信する。
【００５６】
ステップＳ１５では、検索部４２が対象仮想オブジェクトのモデルデータをモデルデータベース５０から抽出する。一例では、検索部４２は鍵データで示される対象仮想オブジェクトＩＤに対応するモデルデータをモデルデータベース５０から抽出する。鍵データがワンタイムパスワードを含む場合には、検索部４２はそのワンタイムパスワードが有効である場合に限って、対象仮想オブジェクトＩＤに対応するモデルデータを抽出する。検索部４２は、ワンタイムパスワードが初めて利用された場合に限って、または、有効期限内にワンタイムパスワードが初めて利用された場合に限って、該パスワードが有効であると判定してもよい。
【００５７】
ステップＳ１６では、オブジェクト送信部４３が対象仮想オブジェクトのモデルデータをユーザ端末２０に送信する。ユーザ端末２０ではオブジェクト要求部２２がそのモデルデータを受信する。
【００５８】
ステップＳ１７では、表示制御部２３がそのモデルデータを処理して、対象仮想オブジェクトを含む仮想空間を描画する。表示制御部２３は配置データを参照して、仮想空間における対象仮想オブジェクトの位置を特定し、モデルデータに基づいて対象仮想オブジェクトをその位置に配置する。表示制御部２３は仮想空間を示すデータ（仮想空間データ）とモデルデータとに基づくレンダリングを実行することで、対象仮想オブジェクトを含む仮想空間を描画する。
【００５９】
図６は、オブジェクト管理システム１の動作の別の例を処理フローＳ２として示すシーケンス図である。処理フローＳ２は、或る一つの仮想オブジェクトを仮想空間に配置することが許可されない場合を示す。処理フローＳ２は、仮想空間を示すコンテンツ画像をユーザ端末２０が表示し始める前に実行されてもよいし、ユーザ端末２０がそのコンテンツ画像を既に表示している時に実行されてもよい。処理フローＳ２も、ユーザ端末２０が既に配置データを取得していることを前提とする。
【００６０】
ステップＳ２１では、ユーザ端末２０において問合せ部２１が問合せデータを管理サーバ１０に送信する。この処理はステップＳ１１と同様である。
【００６１】
ステップＳ２２では、管理サーバ１０において判定部１２が、仮想空間内への対象仮想オブジェクトの配置を許可するか否かを判定する。この処理はステップＳ１２と同様である。ステップＳ２２では、判定部１２が仮想空間内への対象仮想オブジェクトの配置を許可しないものとする。
【００６２】
ステップＳ２３では、通知部１４が不許可通知をユーザ端末２０に送信する。不許可通知とは、対象仮想オブジェクトのモデルデータをダウンロードすることができないことをユーザ端末２０に通知するための電子データである。不許可通知のデータ構造は限定されず、任意の方針で設計されてよい。仮想空間内への対象仮想オブジェクトの配置が許可されないことに応答して、通知部１４は不許可通知を生成してユーザ端末２０に送信する。ユーザ端末２０では問合せ部２１がその不許可通知を受信する。
【００６３】
ステップＳ２４では、表示制御部２３がその不許可通知に応答して、対象仮想オブジェクトを取得することなく仮想空間を描画する。ユーザ端末２０はモデルデータを得るための鍵データを取得しないので、モデルデータをモデルサーバ４０に要求する処理を実行しない。表示制御部２３は対象仮想オブジェクトのモデルデータを用いることなく、仮想空間データに基づくレンダリングを実行することで仮想空間を描画する。表示制御部２３は、対象仮想オブジェクトを描画できないことを示すエラーメッセージを表示してもよい。
【００６４】
仮想空間内に仮想オブジェクトを配置するための問合せは、配置データで示される１以上の仮想オブジェクトのそれぞれについて実行される。対象仮想オブジェクトの配置が許可される場合には処理フローＳ１が実行され、その配置が許可されない場合には処理フローＳ２が実行される。この結果、ユーザ端末２０は、配置データで示される少なくとも一つの仮想オブジェクトのすべてを配置および描画するかもしれないし、該少なくとも一つの仮想オブジェクトの一部のみを配置および描画するかもしれない。あるいは、ユーザ端末２０は、配置データで示される仮想オブジェクトを一つも配置および描画できないかもしれない。
【００６５】
図７および図８を参照しながら、仮想空間に仮想オブジェクトを配置する例を説明する。図７および図８はいずれも、仮想空間および配置データの一例を示す図である。これらの例の説明においては、オブジェクト管理データベース３０が図４に示すオブジェクト関係データ３１を記憶していることを前提とする。
【００６６】
図７の例（ａ）は仮想オブジェクトＡ，Ｂ，Ｃを含む仮想空間Ｓａを示す。仮想空間Ｓａの地面には仮想オブジェクトＡと仮想オブジェクトＢとが所与の間隔を開けた状態で置かれ、仮想オブジェクトＢの上に仮想オブジェクトＣが置かれる。言い換えると、仮想オブジェクトＡ，Ｂはいずれも仮想空間の下面に接し、仮想オブジェクトＣは仮想オブジェクトＢに接する。仮想空間Ｓａ、仮想オブジェクトＡ、仮想オブジェクトＢ、および仮想オブジェクトＣのオブジェクトＩＤはそれぞれ「１００１」、「０００２」、「０００３」、および「０００４」である。図７の例（ｂ）は仮想空間Ｓａの配置データを示す。この配置データは、仮想オブジェクトＡ，Ｂの親オブジェクトがいずれも仮想空間Ｓａであり、仮想オブジェクトＣの親オブジェクトが仮想オブジェクトＢであることを示す。この例のように、配置データもオブジェクト関係データ３１と同様に、仮想空間における両オブジェクトの物理的な位置関係を示す階層関係を示してもよい。
【００６７】
図７の例では、仮想空間Ｓａへのアクセス権を正当に入手したユーザがユーザ端末２０上にその仮想空間Ｓａを表示するものとする。このユーザは仮想空間Ｓａの制作者でもよいし、製作に関与しなかった者（例えば、単なる閲覧者）でもよい。この場合、ユーザ端末２０は仮想空間Ｓａに配置する仮想オブジェクトＡ，Ｂ，Ｃのそれぞれについて管理サーバ１０に問い合わせる。
【００６８】
仮想オブジェクトＡについての問合せを実行する場合には、問合せ部２１が対象仮想オブジェクトＩＤ「０００２」と対象親オブジェクトＩＤ「１００１」との組合せを含む問合せデータを管理サーバ１０に送信する。この組合せはオブジェクト関係データ３１内に存在するので、管理サーバ１０の判定部１２は仮想オブジェクトＡを仮想空間Ｓａに配置することを許可する。この許可に応答して、通知部１４が仮想オブジェクトＡのための鍵データをユーザ端末２０に送信する。ユーザ端末２０では、オブジェクト要求部２２がその鍵データをモデルサーバ４０に送信することで仮想オブジェクトＡのモデルデータを取得し、表示制御部２３がそのモデルデータを用いて仮想空間Ｓａ内に仮想オブジェクトＡを描画する。
【００６９】
仮想オブジェクトＢについての問合せを実行する場合には、問合せ部２１が対象仮想オブジェクトＩＤ「０００３」と対象親オブジェクトＩＤ「１００１」との組合せを含む問合せデータを管理サーバ１０に送信する。この組合せはオブジェクト関係データ３１内に存在するので、管理サーバ１０の判定部１２は仮想オブジェクトＢを仮想空間Ｓａに配置することを許可する。この許可に応答して、オブジェクト要求部２２および表示制御部２３は協働して仮想空間Ｓａ内に仮想オブジェクトＢを描画する。
【００７０】
仮想オブジェクトＣについての問合せを実行する場合には、問合せ部２１が対象仮想オブジェクトＩＤ「０００４」と対象親オブジェクトＩＤ「０００３」との組合せを含む問合せデータを管理サーバ１０に送信する。この組合せはオブジェクト関係データ３１内に存在するので、管理サーバ１０の判定部１２は仮想オブジェクトＣを仮想空間Ｓａに配置することを許可する。この許可に応答して、オブジェクト要求部２２および表示制御部２３は協働して仮想空間Ｓａ内に仮想オブジェクトＣを描画する。
【００７１】
このように、仮想空間Ｓａの配置データで示される２オブジェクト間の階層関係はすべてオブジェクト関係データ３１で示されている。したがって、ユーザ端末２０は仮想オブジェクトＡ，Ｂ，Ｃを含む仮想空間Ｓａを表示する。
【００７２】
図８の例（ａ）は仮想オブジェクトＡ，Ｅを含む仮想空間Ｓｂを示す。仮想空間Ｓｂの地面には仮想オブジェクトＡと仮想オブジェクトＥとが所与の間隔を開けた状態で置かれる。言い換えると、仮想オブジェクトＡ，Ｅはいずれも仮想空間の下面に接する。仮想空間Ｓｂ、仮想オブジェクトＡ、および仮想オブジェクトＥのオブジェクトＩＤはそれぞれ「９００１」、「０００２」、および「００１１」である。図８の例（ｂ）は仮想空間Ｓｂの配置データを示す。この配置データは仮想オブジェクトＡ，Ｅの親オブジェクトがいずれも仮想空間Ｓｂであることを示す。
【００７３】
図８の例では、仮想空間Ｓｂへのアクセス権を正当に入手したユーザがユーザ端末２０上に仮想空間Ｓｂを表示するものとする。この場合、ユーザ端末２０は仮想空間Ｓｂに配置する仮想オブジェクトＡ，Ｅについて管理サーバ１０に問い合わせる。
【００７４】
仮想オブジェクトＡについての問合せを実行する場合には、問合せ部２１が対象仮想オブジェクトＩＤ「０００２」と対象親オブジェクトＩＤ「９００１」との組合せを含む問合せデータを管理サーバ１０に送信する。この組合せはオブジェクト関係データ３１内に存在しないので、管理サーバ１０の判定部１２は仮想オブジェクトＡを仮想空間Ｓｂに配置することを許可しない。この判定に基づいて通知部１４が不許可通知をユーザ端末２０に送信する。ユーザ端末２０では表示制御部２３がその不許可通知に基づいて、仮想オブジェクトＡを取得することなく仮想空間Ｓｂを描画する。
【００７５】
仮想オブジェクトＥについての問合せを実行する場合には、問合せ部２１が対象仮想オブジェクトＩＤ「００１１」と対象親オブジェクトＩＤ「９００１」との組合せを含む問合せデータを管理サーバ１０に送信する。この組合せはオブジェクト関係データ３１内に存在するので、管理サーバ１０の判定部１２は仮想オブジェクトＥを仮想空間Ｓｂに配置することを許可する。この許可に応答して、通知部１４が仮想オブジェクトＥのための鍵データをユーザ端末２０に送信する。ユーザ端末２０では、オブジェクト要求部２２がその鍵データをモデルサーバ４０に送信することで仮想オブジェクトＥのモデルデータを取得し、表示制御部２３がそのモデルデータを用いて仮想空間Ｓｂ内に仮想オブジェクトＥを描画する。
【００７６】
このように、仮想空間Ｓｂの配置データで示される２オブジェクト間の階層関係のうち、仮想オブジェクトＥと仮想空間Ｓｂとの組合せだけがオブジェクト関係データ３１で示されている。したがって、ユーザ端末２０は仮想オブジェクトＡを含まず仮想オブジェクトＥを含む仮想空間Ｓｂを表示する。このことは、仮想空間Ｓｂへのアクセス権を有するユーザが、仮想オブジェクトＥを利用する権限は持つが、仮想オブジェクトＡを利用する権限は持たないことを意味する。すなわち、このユーザは仮想オブジェクトＡに不正にアクセスした者である。
【００７７】
図９は、オブジェクト管理システム１の動作のさらに別の例を処理フローＳ３として示すシーケンス図である。処理フローＳ３は、或る一つの新規の仮想オブジェクトを仮想空間に配置することが許可される場合を示す。処理フローＳ３は、仮想空間を示すコンテンツ画像をユーザ端末２０が表示し始める前に実行されてもよいし、ユーザ端末２０がそのコンテンツ画像を既に表示している時に実行されてもよい。処理フローＳ３は、表示しようとするコンテンツ画像で示される仮想空間における１以上の仮想オブジェクトの配置を示す配置データをユーザ端末２０が既に取得していることを前提とする。
【００７８】
ステップＳ３１では、ユーザ端末２０において問合せ部２１が問合せデータを管理サーバ１０に送信する。ユーザはユーザ端末２０を操作して、仮想空間に新規の仮想オブジェクトを配置するための操作を行う。その操作に応答して、ユーザ端末２０はその仮想オブジェクトに関する配置データを生成する。問合せ部２１はその新規の仮想オブジェクトを対象仮想オブジェクトとして処理する。具体的には、問合せ部２１は対象仮想オブジェクト（新規の仮想オブジェクト）と、該対象仮想オブジェクトの親オブジェクト（対象親オブジェクト）との組合せを含む問合せデータを生成する。一例では、この問合せデータは、対象仮想オブジェクトＩＤ（新規の仮想オブジェクトのオブジェクトＩＤ）と対象親オブジェクトＩＤとの組合せを含み、さらにユーザＩＤも含む。管理サーバ１０では問合せ受信部１１がその問合せデータを受信する。
【００７９】
ステップＳ３２では、管理サーバ１０において判定部１２が、ユーザが対象仮想オブジェクトの正当な権利者であるか否かを判定する。判定部１２はオブジェクト管理データベース３０を参照して、問合せデータで示されるユーザＩＤおよび対象仮想オブジェクトＩＤの組合せが権利者データ３２に登録されているか否かを判定する。ユーザＩＤおよび対象仮想オブジェクトＩＤの組合せが権利者データ３２に登録されている場合には、判定部１２はユーザが対象仮想オブジェクトの正当な権利者であると判定する。その組合せが権利者データ３２に登録されていない場合には、判定部１２はユーザが対象仮想オブジェクトの正当な権利者でないと判定する。ステップＳ３２では、ユーザが対象仮想オブジェクトの正当な権利者であるものとする。
【００８０】
ステップＳ３３では、登録部１３がオブジェクト関係データ３１の新規レコードを登録する。登録部１３は対象仮想オブジェクトＩＤおよび対象親オブジェクトＩＤをそれぞれ、その新規レコードの子オブジェクトＩＤおよび親オブジェクトＩＤとして設定し、その新規レコードをオブジェクト管理データベース３０に格納する。この新規レコードの登録は、仮想空間内への対象仮想オブジェクトの配置が許可されることを意味する。
【００８１】
ステップＳ３４では、通知部１４が鍵データをユーザ端末２０に送信する。一例では、鍵データは対象仮想オブジェクトのオブジェクトＩＤを含んでもよい。あるいは、鍵データはオブジェクトＩＤに加えて、一回限り有効なワンタイムパスワードをさらに含んでもよい。このワンタイムパスワードは有効期限を有してもよい。オブジェクト関係データ３１の新規レコードが登録されたこと（すなわち、仮想空間内への対象仮想オブジェクトの配置が許可されたこと）に応答して、通知部１４はその対象仮想オブジェクトの鍵データを生成し、この鍵データをユーザ端末２０に送信する。ユーザ端末２０では問合せ部２１がその鍵データを受信する。
【００８２】
ステップＳ３５では、ユーザ端末２０においてオブジェクト要求部２２が、対象仮想オブジェクトのモデルデータを取得するためにその鍵データをモデルサーバ４０に送信する。モデルサーバ４０では要求受信部４１がその鍵データを受信する。
【００８３】
ステップＳ３６では、検索部４２が対象仮想オブジェクトのモデルデータをモデルデータベース５０から抽出する。一例では、検索部４２は鍵データで示される対象仮想オブジェクトＩＤに対応するモデルデータをモデルデータベース５０から抽出する。鍵データがワンタイムパスワードを含む場合には、検索部４２はそのワンタイムパスワードが有効である場合に限って、対象仮想オブジェクトＩＤに対応するモデルデータを抽出する。検索部４２は、ワンタイムパスワードが初めて利用された場合に限って、または、有効期限内にワンタイムパスワードが初めて利用された場合に限って、該パスワードが有効であると判定してもよい。
【００８４】
ステップＳ３７では、オブジェクト送信部４３が対象仮想オブジェクトのモデルデータをユーザ端末２０に送信する。ユーザ端末２０ではオブジェクト要求部２２がそのモデルデータを受信する。
【００８５】
ステップＳ３８では、表示制御部２３がそのモデルデータを処理して、対象仮想オブジェクトを含む仮想空間を描画する。表示制御部２３は配置データを参照して、仮想空間における対象仮想オブジェクトの位置を特定し、モデルデータに基づいて対象仮想オブジェクトをその位置に配置する。表示制御部２３は仮想空間を示すデータ（仮想空間データ）とモデルデータとに基づくレンダリングを実行することで、対象仮想オブジェクトを含む仮想空間を描画する。
【００８６】
図１０は、オブジェクト管理システム１の動作のさらに別の例を処理フローＳ４として示すシーケンス図である。処理フローＳ４は、ユーザが対象仮想オブジェクトの正当な権利者ではないと判定される場合（すなわち、対象仮想オブジェクトを仮想空間に配置することが許可されない場合）を示す。処理フローＳ４は、仮想空間を示すコンテンツ画像をユーザ端末２０が表示し始める前に実行されてもよいし、ユーザ端末２０がそのコンテンツ画像を既に表示している時に実行されてもよい。処理フローＳ４も、ユーザ端末２０が既に配置データを取得していることを前提とする。
【００８７】
ステップＳ４１では、ユーザが仮想空間に新規の仮想オブジェクトを配置するための操作を行ったことに応答して、問合せ部２１が問合せデータを管理サーバ１０に送信する。この処理はステップＳ３１と同様である。
【００８８】
ステップＳ４２では、管理サーバ１０において判定部１２が、ユーザが対象仮想オブジェクトの正当な権利者であるか否かを判定する。この処理はステップＳ３２と同様である。ステップＳ４２では、ユーザが対象仮想オブジェクトの正当な権利者でないものとする。この場合、登録部１３はオブジェクト関係データ３１の新規レコードを登録しない。この登録が行われないことは、仮想空間内への対象仮想オブジェクトの配置が許可されないことを意味する。
【００８９】
ステップＳ４３では、通知部１４が不許可通知をユーザ端末２０に送信する。ユーザが対象仮想オブジェクトの正当な権利者でないことに応答して、通知部１４は不許可通知を生成してユーザ端末２０に送信する。ユーザ端末２０では問合せ部２１がその不許可通知を受信する。
【００９０】
ステップＳ４４では、表示制御部２３がその不許可通知に応答して、対象仮想オブジェクトを取得することなく仮想空間を描画する。ユーザ端末２０はモデルデータを得るための鍵データを取得しないので、モデルデータをモデルサーバ４０に要求する処理を実行しない。表示制御部２３は対象仮想オブジェクトのモデルデータを用いることなく、仮想空間データに基づくレンダリングを実行することで仮想空間を描画する。表示制御部２３は、対象仮想オブジェクトを描画できないことを示すエラーメッセージを表示してもよい。
【００９１】
仮想空間内に新規の仮想オブジェクトを配置するための問合せは、新規の仮想オブジェクトのそれぞれについて実行される。ユーザが新規の仮想オブジェクトの正当な権利者である場合（すなわち、対象仮想オブジェクトの配置が許可される場合）には処理フローＳ３が実行される。ユーザが新規の仮想オブジェクトの正当な権利者である場合（すなわち、対象仮想オブジェクトの配置が許可されない場合）には処理フローＳ４が実行される。
【００９２】
図１１を参照しながら、仮想空間に新規の仮想オブジェクトを配置する例を説明する。図１１は仮想空間および配置データの一例を示す図である。この例の説明においては、オブジェクト管理データベース３０が図４に示すオブジェクト関係データ３１を記憶していることを前提とする。
【００９３】
図１１の例（ａ）は、図７の例（ａ）に示す仮想空間Ｓａの制作者であるユーザＵａが、新たな仮想オブジェクトＤをさらに配置する場面を示す。ユーザＵａは仮想オブジェクトＤを仮想オブジェクトＡの上に置くとする。したがって、仮想オブジェクトＤは仮想オブジェクトＡに接する。仮想オブジェクトＤのオブジェクトＩＤは「０００５」である。図１１の例（ｂ）は仮想空間Ｓａの配置データを示し、より具体的には、図７の例（ｂ）に示す配置データに仮想オブジェクトＤに関する情報を追加する状況を示す。この追加情報は、仮想オブジェクトＤの親オブジェクトが仮想オブジェクトＡであることを示す。
【００９４】
図７を参照しながら説明したように、ユーザ端末２０は仮想オブジェクトＡ，Ｂ，Ｃを含む仮想空間Ｓａを表示する。ユーザＵａが仮想オブジェクトＤを仮想オブジェクトＡの上に置く操作を行うと、問合せ部２１は対象仮想オブジェクトＩＤ「０００５」と対象親オブジェクトＩＤ「０００２」との組合せと、ユーザＩＤ「ユーザＵａ」とを含む問合せデータを管理サーバ１０に送信する。対象仮想オブジェクトＩＤ「０００５」とユーザＩＤ「ユーザＵａ」との組合せは権利者データ３２内に存在するので、管理サーバ１０の判定部１２はユーザＵａが仮想オブジェクトＤの正当な権利者であると判定する。判定部１２はこの判定に応答して、子オブジェクトＩＤ「０００５」および親オブジェクトＩＤ「０００２」を含むオブジェクト関係データ３１の新規レコードをオブジェクト管理データベース３０に格納する。さらに、通知部１４が仮想オブジェクトＤのための鍵データをユーザ端末２０に送信する。ユーザ端末２０では、オブジェクト要求部２２がその鍵データをモデルサーバ４０に送信することで仮想オブジェクトＤのモデルデータを取得し、表示制御部２３がそのモデルデータを用いて仮想空間Ｓａ内に仮想オブジェクトＤを描画する。この結果、ユーザ端末２０は仮想オブジェクトＤがさらに配置された仮想空間Ｓａを表示する。
【００９５】
［効果］
以上説明したように、本開示の一側面に係るオブジェクト管理システムは、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信し、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照し、問合せデータで示される組合せがオブジェクト関係データに登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可し、該組合せがオブジェクト関係データに登録されていない場合には該配置をユーザ端末に許可しない。
【００９６】
本開示の一側面に係るオブジェクト管理方法は、少なくとも一つのプロセッサを備えるオブジェクト管理システムによって実行される。オブジェクト管理方法は、対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信するステップと、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照するステップと、問合せデータで示される組合せがオブジェクト関係データに登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可し、該組合せがオブジェクト関係データに登録されていない場合には該配置をユーザ端末に許可しないステップとを含む。
【００９７】
本開示の一側面に係るオブジェクト管理プログラムは、対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信するステップと、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照するステップと、問合せデータで示される組合せがオブジェクト関係データに登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可し、該組合せがオブジェクト関係データに登録されていない場合には該配置をユーザ端末に許可しないステップとをコンピュータに実行させる。
【００９８】
このような側面においては、ユーザ端末から受信したオブジェクト間の組合せ（すなわち、対象仮想オブジェクトおよび対象親オブジェクトの組合せ）が既に階層関係として登録されている場合に、対象仮想オブジェクトを仮想空間内に配置することが許可される。その組合せが階層関係として登録されていない場合にはその配置は許可されない。オブジェクト間の階層関係を検証することで仮想オブジェクトの利用の許否を判定することで、仮想空間内に配置可能な仮想オブジェクトへのアクセスを適切に管理することができる。
【００９９】
他の側面に係るオブジェクト管理システムでは、複数のオブジェクト間の階層関係が、仮想空間における複数のオブジェクト間の物理的な位置関係を示してもよい。このようにオブジェクト間の階層関係を規定することで、物理的な位置関係に基づいて仮想空間内での仮想オブジェクトの配置を人に分かりやすいかたちで（言い換えると、人がその配置を直感的に把握できるかたちで）管理することができる。
【０１００】
他の側面に係るオブジェクト管理システムでは、複数のオブジェクトが親オブジェクトおよび子オブジェクトを含み、物理的な位置関係が、親オブジェクトへの子オブジェクトの接触であってもよい。互いに接触し合う２個のオブジェクトについて階層関係を規定することで、物理的な位置関係に基づいて仮想空間内での仮想オブジェクトの配置を人に分かりやすいかたちで（言い換えると、人がその配置を直感的に把握できるかたちで）管理することができる。
【０１０１】
他の側面に係るオブジェクト管理システムでは、少なくとも一つのプロセッサが、配置を許可する場合には、対象仮想オブジェクトをユーザ端末にダウンロードするための鍵データを該ユーザ端末に送信してもよい。この場合には、対象仮想オブジェクトのダウンロードを直ぐに許可する場合よりも対象仮想オブジェクトへのアクセスをより厳密に管理することができる。
【０１０２】
他の側面に係るオブジェクト管理システムでは、鍵データがワンタイムパスワードを含んでもよい。この場合には鍵データの再利用が防止されるので、対象仮想オブジェクトへのアクセスをより厳密に管理することができる。
【０１０３】
他の側面に係るオブジェクト管理システムでは、少なくとも一つのプロセッサが、ユーザＩＤをさらに含む問合せデータをユーザ端末から受信し、仮想オブジェクトの権利者を示す権利者データをさらに記憶するデータベースを参照し、問合せデータで示される対象仮想オブジェクトおよびユーザＩＤの組合せが権利者データに登録されている場合には、該問合せデータで示される組合せを示すオブジェクト関係データの新規レコードをデータベースに登録し、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可してもよい。ユーザが対象仮想オブジェクトの正当な権利者である場合に限って新規のオブジェクト関係データを登録することで、仮想空間内に配置可能な仮想オブジェクトへのアクセスを適切に管理することができる。
【０１０４】
他の側面に係るオブジェクト管理システムでは、対象親オブジェクトが仮想空間および仮想オブジェクトのうちの一つであってもよい。このように対象親オブジェクトを規定することで、仮想空間内のすべての仮想オブジェクトについて階層関係を定義してアクセスを適切に管理することができる。
【０１０５】
他の側面に係るオブジェクト管理システムでは、対象仮想オブジェクトおよび対象親オブジェクトのうちの少なくとも一方がアバターであってもよい。この場合には、アバターと該アバターに直接に関係する仮想オブジェクトとのうちの少なくとも一方へのアクセスを適切に管理することができる。
【０１０６】
［変形例］
以上、本開示の実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
【０１０７】
オブジェクト管理システムの全体構成は限定されない。例えば、論理的に一つのサーバが管理サーバ１０およびモデルサーバ４０の双方の機能を備えてもよい。オブジェクト関係データ３１と権利者データ３２とが別々のデータベースに格納されてもよい。
【０１０８】
上記実施形態ではオブジェクト管理システム１が管理サーバ１０を用いて構成されるが、オブジェクト管理システムは、サーバを用いないユーザ端末間の直接配信に適用されてもよい。この場合には、管理サーバ１０の各機能要素がいずれかのユーザ端末に実装されてもよい。あるいは、管理サーバ１０の個々の機能要素が複数のユーザ端末に分かれて実装されてもよい。これに関連して、オブジェクト管理プログラムはクライアントプログラムＰ２として実現されてもよい。オブジェクト管理システムはサーバを用いて構成されてもよいし、サーバを用いることなく構成されてもよい。
【０１０９】
データベースに格納される個々のデータの構造は限定されず、任意の方針で設計されてよい。オブジェクト関係データ、権利者データ、およびモデルデータのうちの少なくとも一つが任意の方針で正規化または非正規化されて一または複数のデータテーブル上に記憶されてもよい。
【０１１０】
上記実施形態では管理サーバ１０が登録部１３を備えるが、オブジェクト関係データの新規レコードを登録する機能は必須ではなく、省略されてもよい。これに対応して、データベースは権利者データを記憶しなくてもよい。
【０１１１】
上記実施形態では管理サーバ１０が鍵データをユーザ端末２０に送信し、ユーザ端末２０がその鍵データを用いてモデルサーバ４０から対象仮想オブジェクトのモデルデータを取得する。しかし、この鍵データを用いることなくユーザ端末にモデルデータをダウンロードする仕組みが採用されてもよい。例えば、オブジェクト管理システムは、仮想空間内への対象仮想オブジェクトの配置を許可する場合に、モデルデータベースに格納されている該対象仮想オブジェクトのモデルデータを問合せデータに対する応答としてユーザ端末に送信してもよい。
【０１１２】
上記実施形態では、オブジェクト関係データ３１が二つのオブジェクト間の階層関係を示し、問合せデータが対象仮想オブジェクトと対象親オブジェクトとの組合せを示す。すなわち、オブジェクト関係データ３１および問合せデータはいずれもオブジェクトのペアについての情報を示す。しかし、オブジェクト関係データは３以上のオブジェクト間の階層関係を示してもよく、これに対応して、問合せデータは３以上のオブジェクトの組合せを示してもよい。
【０１１３】
本開示において、「少なくとも一つのプロセッサが、第１の処理を実行し、第２の処理を実行し、…第ｎの処理を実行する。」との表現、またはこれに対応する表現は、第１の処理から第ｎの処理までのｎ個の処理の実行主体（すなわちプロセッサ）が途中で変わる場合を含む概念である。すなわち、この表現は、ｎ個の処理のすべてが同じプロセッサで実行される場合と、ｎ個の処理においてプロセッサが任意の方針で変わる場合との双方を含む概念である。
【０１１４】
本開示において、データまたは情報を第１コンピュータから第２コンピュータ“に送信する”との表現は、該第２コンピュータに最終的にデータまたは情報を届けるための送信を意味する。この表現は、その送信において別のコンピュータまたは通信装置がデータまたは情報を中継する場合も含む意味であることに留意されたい。
【０１１５】
少なくとも一つのプロセッサにより実行される方法の処理手順は上記実施形態での例に限定されない。例えば、上述したステップ（処理）の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の２以上のステップが組み合わされてもよいし、ステップの一部が修正又は削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
【符号の説明】
【０１１６】
１…オブジェクト管理システム、１０…管理サーバ、１１…問合せ受信部、１２…判定部、１３…登録部、１４…通知部、２０…ユーザ端末、２１…問合せ部、２２…オブジェクト要求部、２３…表示制御部、３０…オブジェクト管理データベース、３１…オブジェクト関係データ、３２…権利者データ、４０…モデルサーバ、４１…要求受信部、４２…検索部、４３…オブジェクト送信部、５０…モデルデータベース、Ｐ１…サーバプログラム、Ｐ２…クライアントプログラム。
【要約】      （修正有）【課題】仮想空間内に配置可能な仮想オブジェクトへのアクセスを適切に管理することができるオブジェクト管理システム、オブジェクト管理方法及びオブジェクト管理プログラムを提供する。【解決手段】オブジェクト管理システムにおいて、管理サーバ１０はプロセッサ１０１を有する。プロセッサの問合せ受信部１１は、対象仮想オブジェクト及び対象親オブジェクトの組合せを示す問合せデータをユーザ端末２０から受信する。プロセッサの判定部１２は、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するオブジェクト管理データベース３０を参照し、問合せデータで示される組合せがオブジェクト関係データ３１に登録されているかどうかを判定する。登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末２０に許可し、登録されていない場合には該配置をユーザ端末２０に許可しない。【選択図】図３【図１】
0006758473.tif 000002
【図２】
0006758473.tif 000003
【図３】
0006758473.tif 000004
【図４】
0006758473.tif 000005
【図５】
0006758473.tif 000006
【図６】
0006758473.tif 000007
【図７】
0006758473.tif 000008
【図８】
0006758473.tif 000009
【図９】
0006758473.tif 000010
【図１０】
0006758473.tif 000011
【図１１】
0006758473.tif 000012