特許第6758473号(P6758473)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ドワンゴの特許一覧

特許6758473オブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラム
<>
  • 特許6758473-オブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラム 図000002
  • 特許6758473-オブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラム 図000003
  • 特許6758473-オブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラム 図000004
  • 特許6758473-オブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラム 図000005
  • 特許6758473-オブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラム 図000006
  • 特許6758473-オブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラム 図000007
  • 特許6758473-オブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラム 図000008
  • 特許6758473-オブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラム 図000009
  • 特許6758473-オブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラム 図000010
  • 特許6758473-オブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラム 図000011
  • 特許6758473-オブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6758473
(24)【登録日】2020年9月3日
(45)【発行日】2020年9月23日
(54)【発明の名称】オブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラム
(51)【国際特許分類】
   G06F 21/62 20130101AFI20200910BHJP
   G06F 13/00 20060101ALI20200910BHJP
【FI】
   G06F21/62 318
   G06F13/00 540A
【請求項の数】10
【全頁数】24
(21)【出願番号】特願2019-234955(P2019-234955)
(22)【出願日】2019年12月25日
【審査請求日】2019年12月25日
【早期審査対象出願】
(73)【特許権者】
【識別番号】598138327
【氏名又は名称】株式会社ドワンゴ
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100144440
【弁理士】
【氏名又は名称】保坂 一之
(72)【発明者】
【氏名】岩城 進之介
【審査官】 稲垣 良一
(56)【参考文献】
【文献】 米国特許出願公開第2018/0315248(US,A1)
【文献】 特開2019−185720(JP,A)
【文献】 特開2012−118778(JP,A)
【文献】 特開2011−90640(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60 − 21/88
G06F 16/40 − 16/587
G06F 13/00
G06T 15/00 − 19/20
A63F 13/00 − 13/98
(57)【特許請求の範囲】
【請求項1】
少なくとも一つのプロセッサを備え、
前記少なくとも一つのプロセッサが、
対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信し、
複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照し、
前記問合せデータで示される前記組合せが前記オブジェクト関係データに登録されている場合には、仮想空間内への前記対象仮想オブジェクトの配置を前記ユーザ端末に許可し、該組合せが前記オブジェクト関係データに登録されていない場合には該配置を前記ユーザ端末に許可しない、
オブジェクト管理システム。
【請求項2】
前記複数のオブジェクト間の階層関係が、前記仮想空間における前記複数のオブジェクト間の物理的な位置関係を示す、
請求項1に記載のオブジェクト管理システム。
【請求項3】
前記複数のオブジェクトが親オブジェクトおよび子オブジェクトを含み、
前記物理的な位置関係が、前記親オブジェクトへの前記子オブジェクトの接触である、
請求項2に記載のオブジェクト管理システム。
【請求項4】
前記少なくとも一つのプロセッサが、前記配置を許可する場合には、前記対象仮想オブジェクトを前記ユーザ端末にダウンロードするための鍵データを該ユーザ端末に送信する、
請求項1〜3のいずれか一項に記載のオブジェクト管理システム。
【請求項5】
前記鍵データがワンタイムパスワードを含む、
請求項4に記載のオブジェクト管理システム。
【請求項6】
前記少なくとも一つのプロセッサが、
ユーザIDをさらに含む前記問合せデータを前記ユーザ端末から受信し、
仮想オブジェクトの権利者を示す権利者データをさらに記憶する前記データベースを参照し、
前記問合せデータで示される前記対象仮想オブジェクトおよび前記ユーザIDの組合せが前記権利者データに登録されている場合には、該問合せデータで示される前記対象仮想オブジェクトおよび前記対象親オブジェクトの組合せを示す前記オブジェクト関係データの新規レコードを前記データベースに登録し、前記仮想空間内への前記対象仮想オブジェクトの配置を前記ユーザ端末に許可する、
請求項1〜5のいずれか一項に記載のオブジェクト管理システム。
【請求項7】
前記対象親オブジェクトが前記仮想空間および仮想オブジェクトのうちの一つである、
請求項1〜6のいずれか一項に記載のオブジェクト管理システム。
【請求項8】
前記対象仮想オブジェクトおよび前記対象親オブジェクトのうちの少なくとも一方がアバターである、
請求項1〜7のいずれか一項に記載のオブジェクト管理システム。
【請求項9】
少なくとも一つのプロセッサを備えるオブジェクト管理システムによって実行されるオブジェクト管理方法であって、
対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信するステップと、
複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照するステップと、
前記問合せデータで示される前記組合せが前記オブジェクト関係データに登録されている場合には、仮想空間内への前記対象仮想オブジェクトの配置を前記ユーザ端末に許可し、該組合せが前記オブジェクト関係データに登録されていない場合には該配置を前記ユーザ端末に許可しないステップと
を含むオブジェクト管理方法。
【請求項10】
対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信するステップと、
複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照するステップと、
前記問合せデータで示される前記組合せが前記オブジェクト関係データに登録されている場合には、仮想空間内への前記対象仮想オブジェクトの配置を前記ユーザ端末に許可し、該組合せが前記オブジェクト関係データに登録されていない場合には該配置を前記ユーザ端末に許可しないステップと
をコンピュータに実行させるオブジェクト管理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の一側面はオブジェクト管理システム、オブジェクト管理方法、およびオブジェクト管理プログラムに関する。
【背景技術】
【0002】
コンテンツへのアクセスを管理するための仕組みが知られている。例えば特許文献1には、利用者端末がアクセスするコンテンツデータを管理するコンテンツデータ管理装置が記載されている。このコンテンツデータ管理装置は、コンテンツデータへのアクセス要求を送信した利用者端末の利用者の利用者IDと、当該コンテンツデータのコンテンツIDと、アクセス許可情報とに基づいて、当該利用者が当該コンテンツデータへアクセス可能か否かを判定する。アクセス可の場合には、コンテンツデータ管理装置は当該コンテンツデータを利用者端末に送信する。アクセス不可の場合には、コンテンツデータ管理装置はアクセス許可情報への登録画面を利用者端末に送信し、当該利用者端末からアクセス許可登録要求を受信し、利用者IDを当該コンテンツIDに対応付けてアクセス許可情報に記憶する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2012−118778号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
仮想空間内に配置可能な仮想オブジェクトへのアクセスを適切に管理することが望まれている。
【課題を解決するための手段】
【0005】
本開示の一側面に係るオブジェクト管理システムは、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信し、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照し、問合せデータで示される組合せがオブジェクト関係データに登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可し、該組合せがオブジェクト関係データに登録されていない場合には該配置をユーザ端末に許可しない。
【0006】
本開示の一側面に係るオブジェクト管理方法は、少なくとも一つのプロセッサを備えるオブジェクト管理システムによって実行される。オブジェクト管理方法は、対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信するステップと、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照するステップと、問合せデータで示される組合せがオブジェクト関係データに登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可し、該組合せがオブジェクト関係データに登録されていない場合には該配置をユーザ端末に許可しないステップとを含む。
【0007】
本開示の一側面に係るオブジェクト管理プログラムは、対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信するステップと、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照するステップと、問合せデータで示される組合せがオブジェクト関係データに登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可し、該組合せがオブジェクト関係データに登録されていない場合には該配置をユーザ端末に許可しないステップとをコンピュータに実行させる。
【0008】
このような側面においては、ユーザ端末から受信したオブジェクト間の組合せ(すなわち、対象仮想オブジェクトおよび対象親オブジェクトの組合せ)が既に階層関係として登録されている場合に、対象仮想オブジェクトを仮想空間内に配置することが許可される。その組合せが階層関係として登録されていない場合にはその配置は許可されない。オブジェクト間の階層関係を検証することで仮想オブジェクトの利用の許否を判定するという、特許文献1には記載されていない仕組みによって、仮想空間内に配置可能な仮想オブジェクトへのアクセスを適切に管理することができる。
【発明の効果】
【0009】
本開示の一側面によれば、仮想空間内に配置可能な仮想オブジェクトへのアクセスを適切に管理することができる。
【図面の簡単な説明】
【0010】
図1】実施形態に係るオブジェクト管理システムの適用の一例を示す図である。
図2】実施形態に係るオブジェクト管理システムに関連するハードウェア構成の一例を示す図である。
図3】実施形態に係るオブジェクト管理システムに関連する機能構成の一例を示す図である。
図4】オブジェクト管理データベースのデータ構造の一例を示す図である。
図5】実施形態に係るオブジェクト管理システムの動作の一例を示すシーケンス図である。
図6】実施形態に係るオブジェクト管理システムの動作の一例を示すシーケンス図である。
図7】仮想空間および配置データの一例を示す図である。
図8】仮想空間および配置データの一例を示す図である。
図9】実施形態に係るオブジェクト管理システムの動作の一例を示すシーケンス図である。
図10】実施形態に係るオブジェクト管理システムの動作の一例を示すシーケンス図である。
図11】仮想空間および配置データの一例を示す図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
【0012】
[システムの概要]
実施形態に係るオブジェクト管理システムは、コンテンツを構成する仮想オブジェクトへのアクセスを管理するコンピュータシステムである。コンテンツとは、コンピュータまたはコンピュータシステムによって提供され、人が認識可能な情報のことをいう。コンテンツを示す電子データのことをコンテンツデータという。コンテンツの表現形式は限定されず、例えば、コンテンツは画像(例えば、写真、映像など)、文書、音声、音楽、またはこれらの中の任意の2以上の要素の組合せによって表現されてもよい。コンテンツの目的および利用場面は限定されず、例えば、コンテンツはエンターテインメント、ニュース、教育、医療、ゲーム、チャット、商取引、講演、セミナー、研修などの様々な目的で利用され得る。
【0013】
本実施形態ではコンテンツは少なくとも画像を用いて表現される。コンテンツを示す画像を「コンテンツ画像」という。コンテンツ画像とは、人が視覚を通して何らかの情報を認識することができる像のことをいう。コンテンツ画像は動画像(映像)でもよいし静止画でもよい。コンテンツ画像は現実世界を映してもよいし、仮想空間を映してもよい。仮想空間とは、コンピュータ上に表示される画像によって表現される仮想の2次元または3次元の空間のことをいう。コンテンツ画像が仮想空間を含む場合には、コンテンツ画像は、仮想空間内に設定された仮想カメラから見える風景を示す画像であるといえる。仮想カメラは、コンテンツ画像を見るユーザの視線に対応するように仮想空間内に設定される。仮想空間は少なくとも一つの仮想オブジェクトによって表現される。仮想オブジェクトとは、現実世界には実際に存在せずコンピュータシステム上でのみ表現される物体のことをいう。コンテンツ画像が仮想空間または仮想オブジェクトを含むことで、視聴者は拡張現実(Augumented Reality(AR))、仮想現実(Virtual Reality(VR))、または複合現実(Mixed Reality(MR))を体験することができる。
【0014】
仮想オブジェクトはアバターでもよい。アバターとは、コンピュータによって表現されるユーザの分身である。アバターは、撮影された人そのものではなく、原画像とは独立した画像素材を用いて、2次元または3次元のコンピュータグラフィック(CG)によって表現される。アバターの表現方法は限定されない。例えば、アバターはアニメーション素材を用いて表現されてもよいし、実写画像に基づいて本物に近いように表現されてもよい。アバターはオブジェクト管理システムのユーザによって自由に選択されてもよい。
【0015】
仮想オブジェクトは仮想空間内に配置されることによって、コンテンツの構成要素として機能する。オブジェクト管理システムはその仮想オブジェクトへのアクセスを管理する。「仮想オブジェクトへのアクセスを管理する」とは、仮想オブジェクトを利用する適切な権限を有するユーザに限ってその仮想オブジェクトの利用を許可することをいう。ここで、ユーザとはコンテンツ画像に関連する行動を取る人のことをいい、例えばコンテンツ画像を視聴または制作する人のことをいう。オブジェクト管理システムは、ユーザ端末上に表示されているコンテンツ画像を構成する仮想空間内への仮想オブジェクトの配置を許可するか否かを判定する。その配置が許可される場合には、ユーザ端末はその仮想オブジェクトを含む仮想空間を示すコンテンツ画像を表示することができる。その配置が許可されない場合には、ユーザ端末はその仮想オブジェクトを利用することができず、したがって、その仮想オブジェクトを表示することができない。
【0016】
一例では、オブジェクト管理システムは仮想空間を構築する際に用いられるプラットホームの少なくとも一部として機能する。いわば、オブジェクト管理システムは仮想空間の開発キットの少なくとも一部としての役割を果たし得る。例えば、オブジェクト管理システムを管理する事業者が、仮想空間を構築するための仕組みと、仮想空間内に配置可能な仮想オブジェクトとをユーザに提供する。仮想オブジェクトは事業者により提供されてもよいし、ユーザから提供されてもよい。ユーザはオブジェクト管理システムにアクセスして仮想空間を構築することができる。オブジェクト管理システムはユーザにより作成された仮想オブジェクトを該ユーザの要求に応じて管理してもよい。
【0017】
一例では、コンテンツは1以上の視聴者に向かって配信される。配信とは、通信ネットワークまたは放送ネットワークを経由して情報をユーザに送信する処理のことをいう。本開示では、配信は放送を含み得る概念である。コンテンツ管理システムによって管理されるコンテンツの配信手法は限定されず、例えば、リアルタイム配信(インターネット生放送)、タイムシフト、またはオンデマンドでもよい。
【0018】
コンテンツ(仮想空間)を製作、編集、または閲覧しようとするユーザは、コンテンツを自分のユーザ端末上に表示させるためのURL(Uniform Resource Locator)を正当な手続きにより入手する。例えば、コンテンツの制作者または編集者は、空の仮想空間が最初に設定された際に所定のコンピュータシステムから提供されるコンテンツのURLを入手する。このURLは有償または無償で公開されてもよい。コンテンツの閲覧者はそのURLを正当な手続きにより入手し、このURLにアクセスすることでコンテンツ(仮想空間)を閲覧することができる。
【0019】
一方で、コンテンツ(仮想空間)に不正にアクセスして仮想空間を閲覧したり仮想オブジェクトを入手したりしようとする者が存在する可能性がある。一例では、オブジェクト管理システムは仮想オブジェクトへのアクセスを管理することで、コンテンツへの不正なアクセスおよび利用を防止する。
【0020】
一例では、仮想オブジェクトはユーザ端末にダウンロードされ、レンダリングによって描画される。仮想オブジェクトが或るユーザによって不正に入手されると、その仮想オブジェクトが不正に利用または改変される可能性がある。一例では、オブジェクト管理システムはそのような不正行為を防止しつつ、ユーザ端末での仮想オブジェクトの円滑なレンダリングを可能にする。
【0021】
[システムの構成]
図1は、実施形態に係るオブジェクト管理システム1の適用の一例を示す図である。本実施形態では、オブジェクト管理システム1は管理サーバ10を備える。管理サーバ10は、仮想オブジェクトへのアクセスを管理するコンピュータである。一例では、管理サーバ10は通信ネットワークNを介して少なくとも一つのユーザ端末20およびオブジェクト管理データベース30と接続する。それぞれのユーザ端末20は通信ネットワークNを介してモデルサーバ40に接続することができる。モデルサーバ40は通信ネットワークNを介してモデルデータベース50と接続する。図1は2台のユーザ端末20を示すが、ユーザ端末20の台数は何ら限定されない。通信ネットワークNの構成は限定されず、例えば、通信ネットワークNはインターネットを含んで構成されてもよいし、イントラネットを含んで構成されてもよい。
【0022】
ユーザ端末20はユーザによって用いられるコンピュータであり、コンテンツ画像を表示する機能を有する。一例では、ユーザ端末20はコンテンツ画像を構成する仮想オブジェクトが利用可能か否かを管理サーバ10に問い合わせる。仮想オブジェクトの利用が許可される場合には、ユーザ端末20はその仮想オブジェクトをモデルサーバ40からダウンロードして、その仮想オブジェクトを含むコンテンツ画像を表示することができる。仮想オブジェクトの利用が許可されない場合には、ユーザ端末20はその仮想オブジェクトをダウンロードすることができず、したがって、ユーザ端末20はその仮想オブジェクトを表示することができない。ユーザ端末20の種類および構成は限定されない。例えば、ユーザ端末20は高機能携帯電話機(スマートフォン)、タブレット端末、ウェアラブル端末(例えば、ヘッドマウントディスプレイ(HMD)、スマートグラスなど)、ラップトップ型パーソナルコンピュータ、携帯電話機などの携帯端末でもよい。あるいは、ユーザ端末20はデスクトップ型パーソナルコンピュータなどの据置型端末でもよい。
【0023】
オブジェクト管理データベース30は仮想オブジェクトへのアクセスの管理に必要なデータを記憶する非一時的な記憶装置である。モデルサーバ40は仮想オブジェクトのモデルデータをユーザ端末20に提供するコンピュータである。モデルデータベース50はそのモデルデータを記憶する非一時的な記憶装置である。オブジェクト管理データベース30およびモデルデータベース50のそれぞれの設置場所は限定されない。例えば、オブジェクト管理データベース30およびモデルデータベース50の少なくとも一方は、オブジェクト管理システム1とは別のコンピュータシステム内に設けられてもよいし、オブジェクト管理システム1の構成要素であってもよい。モデルサーバ40の設置場所も限定されず、例えば、モデルサーバ40はオブジェクト管理システム1とは別のコンピュータシステム内に設けられてもよいし、オブジェクト管理システム1の構成要素であってもよい。
【0024】
図2はオブジェクト管理システム1に関連するハードウェア構成の一例を示す図である。図2は、管理サーバ10またはモデルサーバ40として機能するサーバコンピュータ100と、ユーザ端末20として機能する端末コンピュータ200とを示す。
【0025】
一例として、サーバコンピュータ100はハードウェア構成要素として、プロセッサ101、主記憶部102、補助記憶部103、および通信部104を備える。
【0026】
プロセッサ101は、オペレーティングシステムおよびアプリケーションプログラムを実行する演算装置である。プロセッサの例としてCPU(Central Processing Unit)およびGPU(Graphics Processing Unit)が挙げられるが、プロセッサ101の種類はこれらに限定されない。例えば、プロセッサ101はセンサおよび専用回路の組合せでもよい。専用回路はFPGA(Field−Programmable Gate Array)のようなプログラム可能な回路でもよいし、他の種類の回路でもよい。
【0027】
主記憶部102は、管理サーバ10を実現するためのプログラム、プロセッサ101から出力された演算結果などを記憶する装置である。主記憶部102は例えばROM(Read Only Memory)およびRAM(Random Access Memory)のうちの少なくとも一つにより構成される。
【0028】
補助記憶部103は、一般に主記憶部102よりも大量のデータを記憶することが可能な装置である。補助記憶部103は例えばハードディスク、フラッシュメモリなどの不揮発性記憶媒体によって構成される。補助記憶部103は、サーバコンピュータ100を管理サーバ10またはモデルサーバ40として機能させるためのサーバプログラムP1と各種のデータとを記憶する。例えば、補助記憶部103は仮想オブジェクトと仮想空間とのうちの少なくとも一つに関するデータを記憶してもよい。本実施形態では、オブジェクト管理プログラムはサーバプログラムP1として実装される。
【0029】
通信部104は、通信ネットワークNを介して他のコンピュータとの間でデータ通信を実行する装置である。通信部104は例えばネットワークカードまたは無線通信モジュールにより構成される。
【0030】
管理サーバ10またはモデルサーバ40の各機能要素は、対応するサーバプログラムP1をプロセッサ101または主記憶部102に読み込ませてプロセッサ101にそのプログラムを実行させることで実現される。サーバプログラムP1は、管理サーバ10またはモデルサーバ40の各機能要素を実現するためのコードを含む。プロセッサ101はサーバプログラムP1に従って通信部104を動作させ、主記憶部102または補助記憶部103におけるデータの読み出しおよび書き込みを実行する。このような処理により管理サーバ10またはモデルサーバ40の各機能要素が実現される。
【0031】
管理サーバ10およびモデルサーバ40の少なくとも一方は一つまたは複数のコンピュータにより構成され得る。複数のコンピュータが用いられる場合には、通信ネットワークを介してこれらのコンピュータが互いに接続されることで、論理的に一つの管理サーバ10またはモデルサーバ40が構成される。
【0032】
一例として、端末コンピュータ200はハードウェア構成要素として、プロセッサ201、主記憶部202、補助記憶部203、および通信部204、入力インタフェース205、出力インタフェース206、および撮像部207を備える。
【0033】
プロセッサ201は、オペレーティングシステムおよびアプリケーションプログラムを実行する演算装置である。プロセッサ201は例えばCPUまたはGPUであり得るが、プロセッサ201の種類はこれらに限定されない。
【0034】
主記憶部202は、ユーザ端末20を実現させるためのプログラム、プロセッサ201から出力された演算結果などを記憶する装置である。主記憶部202は例えばROMおよびRAMのうちの少なくとも一つにより構成される。
【0035】
補助記憶部203は、一般に主記憶部202よりも大量のデータを記憶することが可能な装置である。補助記憶部203は例えばハードディスク、フラッシュメモリなどの不揮発性記憶媒体によって構成される。補助記憶部203は、端末コンピュータ200をユーザ端末20として機能させるためのクライアントプログラムP2と各種のデータとを記憶する。例えば、補助記憶部203は仮想オブジェクトと仮想空間とのうちの少なくとも一つに関するデータを記憶してもよい。
【0036】
通信部204は、通信ネットワークNを介して他のコンピュータとの間でデータ通信を実行する装置である。通信部204は例えばネットワークカードまたは無線通信モジュールにより構成される。
【0037】
入力インタフェース205は、ユーザの操作または動作に基づいてデータを受け付ける装置である。例えば、入力インタフェース205は、キーボード、操作ボタン、ポインティングデバイス、マイクロフォン、センサ、およびカメラのうちの少なくとも一つによって構成される。キーボードおよび操作ボタンはタッチパネル上に表示されてもよい。入力インタフェース205の種類が限定されないことに対応して、入力されるデータは限定されない。例えば、入力インタフェース205はキーボード、操作ボタン、またはポインティングデバイスによって入力または選択されたデータを受け付けてもよい。あるいは、入力インタフェース205は、マイクロフォンにより入力された音声データを受け付けてもよい。あるいは、入力インタフェース205はカメラによって撮影された画像データ(例えば、映像データまたは静止画データ)を受け付けてもよい。
【0038】
出力インタフェース206は、端末コンピュータ200で処理されたデータを出力する装置である。例えば、出力インタフェース206はモニタ、タッチパネル、HMDおよびスピーカのうちの少なくとも一つによって構成される。モニタ、タッチパネル、HMDなどの表示装置は、処理されたデータを画面上に表示する。スピーカは、処理された音声データで示される音声を出力する。
【0039】
撮像部207は、現実世界を写した画像を撮影する装置であり、具体的にはカメラである。撮像部207は動画像(映像)を撮影してもよいし静止画(写真)を撮影してもよい。動画像を撮影する場合には、撮像部207は映像信号を所与のフレームレートに基づいて処理することで、時系列に並ぶ一連のフレーム画像を動画像として取得する。撮像部207は入力インタフェース205としても機能し得る。
【0040】
ユーザ端末20の各機能要素は、クライアントプログラムP2をプロセッサ201または主記憶部202に読み込ませてプロセッサ201にそのプログラムを実行させることで実現される。クライアントプログラムP2は、ユーザ端末20の各機能要素を実現するためのコードを含む。プロセッサ201はクライアントプログラムP2に従って通信部204、入力インタフェース205、出力インタフェース206、または撮像部207を動作させ、主記憶部202または補助記憶部203におけるデータの読み出しおよび書き込みを行う。この処理によりユーザ端末20の各機能要素が実現される。
【0041】
サーバプログラムP1およびクライアントプログラムP2の少なくとも一つは、CD−ROM、DVD−ROM、半導体メモリなどの有形の記録媒体に非一時的に記録された上で提供されてもよい。あるいは、これらのプログラムの少なくとも一つは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。これらのプログラムは別々に提供されてもよいし、一緒に提供されてもよい。
【0042】
図3はオブジェクト管理システム1に関連する機能構成の一例を示す図である。オブジェクト管理システム1における一連の処理はユーザ操作に起因して実行されるので、まず、ユーザ端末20の機能構成について説明する。ユーザ端末20は機能要素として問合せ部21、オブジェクト要求部22、および表示制御部23を備える。問合せ部21はユーザ端末20において仮想オブジェクトが利用可能であるか否かを管理サーバ10に問い合わせる機能要素である。より具体的には、問合せ部21は、仮想空間内に仮想オブジェクトを配置することが可能であるか否かを問い合わせる。一例では、問合せ部21はオブジェクト関係データの登録を管理サーバ10に要求してもよい。オブジェクト要求部22は、仮想オブジェクトの配置が許可された場合に、その仮想オブジェクトのモデルデータをモデルサーバ40に要求する機能要素である。表示制御部23は仮想空間を示すコンテンツ画像を表示装置上に表示する機能要素である。仮想オブジェクトの配置が許可された場合には、表示制御部23はその仮想オブジェクトを含む仮想空間を表示する。
【0043】
管理サーバ10は機能要素として問合せ受信部11、判定部12、登録部13、および通知部14を備える。問合せ受信部11は仮想オブジェクトが利用可能であるかの問合せをユーザ端末20から受信する機能要素である。判定部12はユーザ端末20において仮想オブジェクトが利用可能であるか否か(すなわち、ユーザ端末20において仮想空間内に仮想オブジェクトを配置することが可能であるか否か)を判定する機能要素である。登録部13はオブジェクト管理データベース30にデータを登録する機能要素である。通知部14は判定結果に基づくデータを問合せに対する応答としてユーザ端末20に送信する機能要素である。
【0044】
オブジェクト管理データベース30は、複数のオブジェクト間の階層関係を示すオブジェクト関係データ31と、仮想空間内に配置される仮想オブジェクトの権利者を示す権利者データ32とを記憶する。
【0045】
図4はオブジェクト管理データベース30のデータ構造の一例を示す図である。この例では、オブジェクト関係データ31の各レコードは親オブジェクトIDと子オブジェクトIDとを含む。この2種類のIDはいずれも、オブジェクトを一意に特定するための識別子であり、これらのIDの組合せによって二つのオブジェクト間の階層関係が規定される。その階層関係は、子オブジェクトが親オブジェクトに依存すること、すなわち、子オブジェクトは親オブジェクトが存在して初めて存在し得ることを示す。一例では、親オブジェクトは仮想空間そのもの、または仮想オブジェクトであり、子オブジェクトは仮想オブジェクトである。親オブジェクトおよび子オブジェクトの少なくとも一方がアバターでもよい。図4は例えば、オブジェクト「0003」がオブジェクト「1001」に依存し、オブジェクト「0004」がそのオブジェクト「0003」に依存することを示す。
【0046】
オブジェクト関係データ31で示される親オブジェクトと子オブジェクトとの階層関係は、仮想空間における両オブジェクト間の物理的な位置関係を示してもよい。例えば、子オブジェクトは親オブジェクトに接する仮想オブジェクトでもよい。親オブジェクトへの子オブジェクトの接触の一例として、子オブジェクトは親オブジェクトによって支持される仮想オブジェクトでもよい。「子オブジェクトが親オブジェクトによって支持される」とは、現実空間と同様に仮想空間内に重力が働くとの仮定において、親オブジェクトによって子オブジェクトの位置が重力に逆らって維持されることをいう。例えば、親オブジェクトが床であり、子オブジェクトがその床に置かれた机でもよい。あるいは、親オブジェクトが壁であり、子オブジェクトがその壁に掛けられた絵画でもよい。
【0047】
権利者データ32の各レコードは権利者IDとオブジェクトIDとを含む。権利者IDは仮想オブジェクトの権利者を一意に特定する識別子である。権利者とは、仮想オブジェクトを利用する正当な権限を有する人のことをいい、例えば、仮想オブジェクトの購入者、制作者、または所有者であり得る。一人のユーザが複数の仮想オブジェクトについての権利を有してもよいし、一種類の仮想オブジェクトについて複数のユーザが権利を有してもよい。図4は例えば、ユーザUaがオブジェクト「0002」、オブジェクト「0003」、オブジェクト「0004」、およびオブジェクト「0005」の権利者であることを示す。一例では、権利者データ32のレコードは、ユーザが仮想オブジェクトを正当な方法(例えば、購入、無償での譲受けなど)で入手したことに応答してオブジェクト管理データベース30に登録される。権利者データ32を登録するコンピュータは限定されず、例えば、管理サーバ10でもよいし、モデルサーバ40でもよいし、他のコンピュータまたはコンピュータシステムでもよい。
【0048】
モデルサーバ40は要求受信部41、検索部42、およびオブジェクト送信部43を備える。要求受信部41はモデルデータの要求をユーザ端末20から受信する機能要素である。検索部42はその要求に対応するモデルデータをモデルデータベース50から抽出する機能要素である。オブジェクト送信部43はそのモデルデータを要求への応答としてユーザ端末20に送信する機能要素である。
【0049】
モデルデータとは、仮想オブジェクトの仕様を規定するために用いられる電子データである。或る一つの仮想オブジェクトのモデルデータは、該仮想オブジェクトのオブジェクトIDにより一意に特定される。仮想オブジェクトの仕様とは、仮想オブジェクトを制御するための取り決めまたは方法のことをいう。例えば、仕様は仮想オブジェクトの構成(例えば形状および寸法)、動作、および音声のうちの少なくとも一つを含む。例えば、モデルデータは仮想オブジェクトを構成する複数のジョイントおよび複数のボーンに関する情報と、仮想オブジェクトの外観デザインを示すグラフィックデータと、仮想オブジェクトの属性とを含んでもよい。ジョイントおよびボーンに関する情報の例として、個々のジョイントの3次元座標と、隣り合うジョイントの組合せ(すなわちボーン)とが挙げられるが、この情報の構成はこれに限定されず、任意に設計されてよい。仮想オブジェクトの属性とは、仮想オブジェクトを特徴付けるために設定される任意の情報であり、例えば公称寸法、声質、性能、または性格を含み得る。
【0050】
[システムの動作]
オブジェクト管理システム1の動作(より具体的には管理サーバ10の動作)を説明するとともに、本実施形態に係るオブジェクト管理方法について説明する。
【0051】
図5は、オブジェクト管理システム1の動作の一例を処理フローS1として示すシーケンス図である。処理フローS1は、或る一つの仮想オブジェクトを仮想空間に配置することが許可される場合を示す。処理フローS1は、仮想空間を示すコンテンツ画像をユーザ端末20が表示し始める前に実行されてもよいし、ユーザ端末20がそのコンテンツ画像を既に表示している時に実行されてもよい。本開示では、仮想空間への配置が可能か否かを判定する対象となる仮想オブジェクトのことを「対象仮想オブジェクト」ともいう。処理フローS1は、表示しようとするコンテンツ画像で示される仮想空間における1以上の仮想オブジェクトの配置を示す配置データをユーザ端末20が既に取得していることを前提とする。例えば、この配置データは、ユーザがコンテンツのURLにアクセスしたことに応答してユーザ端末20にダウンロードされてもよい。一例では、この配置データは1以上の仮想オブジェクトのそれぞれについての属性を示す電子データであり、その属性は、仮想オブジェクトの親オブジェクトのオブジェクトIDと、仮想空間における仮想オブジェクトの位置を示す位置情報とを含む。
【0052】
ステップS11では、ユーザ端末20において問合せ部21が問合せデータを管理サーバ10に送信する。問合せ部21は配置データを参照して、対象仮想オブジェクトと、該対象仮想オブジェクトの親オブジェクト(本開示ではこれを「対象親オブジェクト」ともいう。)との組合せを含む問合せデータを生成する。一例では、この問合せデータは、対象仮想オブジェクトのオブジェクトID(以下ではこれを「対象仮想オブジェクトID」ともいう。)と対象親オブジェクトのオブジェクトID(以下ではこれを「対象親オブジェクトID」ともいう。)との組合せを含む。管理サーバ10では問合せ受信部11がその問合せデータを受信する。
【0053】
ステップS12では、管理サーバ10において判定部12が、仮想空間内への対象仮想オブジェクトの配置を許可するか否かを判定する。判定部12はオブジェクト管理データベース30を参照して、オブジェクト関係データ31が問合せデータで示されるIDの組合せを含むか否かを判定する。具体的には、判定部12は、子オブジェクトIDが対象仮想オブジェクトIDと一致し、且つ親オブジェクトIDが対象親オブジェクトIDと一致するレコードが、オブジェクト関係データ31に存在するか否かを判定する。そのレコードが存在する場合、すなわち、対象仮想オブジェクトIDおよび対象親オブジェクトIDの組合せがオブジェクト関係データ31に登録されている場合には、判定部12は仮想空間内への対象仮想オブジェクトの配置を許可する。そのレコードが存在しない場合、すなわち、対象仮想オブジェクトIDおよび対象親オブジェクトIDの組合せがオブジェクト関係データ31に登録されていない場合には、判定部12は仮想空間内への対象仮想オブジェクトの配置を許可しない。判定部12は対象仮想オブジェクトの配置の許否を判定するためにオブジェクト間の階層関係を検証すれば十分であり、対象仮想オブジェクトの権利者を確認する必要はない。したがって、判定部12はユーザが対象仮想オブジェクトの正当な権利者であるか否かを確認することなく、対象仮想オブジェクトの配置の許否を判定する。ステップS12では、判定部12が仮想空間内への対象仮想オブジェクトの配置を許可するものとする。
【0054】
ステップS13では、通知部14が鍵データをユーザ端末20に送信する。鍵データとは、対象仮想オブジェクトのモデルデータをユーザ端末20にダウンロードするために用いられる電子データである。鍵データのデータ構造は限定されず、任意の方針で設計されてよい。一例では、鍵データは対象仮想オブジェクトIDを含んでもよい。あるいは、鍵データは対象仮想オブジェクトIDに加えて、一回限り有効なワンタイムパスワードをさらに含んでもよい。このワンタイムパスワードは有効期限を有してもよい。仮想空間内への対象仮想オブジェクトの配置が許可されたことに応答して、通知部14はその対象仮想オブジェクトの鍵データを生成し、この鍵データをユーザ端末20に送信する。ユーザ端末20では問合せ部21がその鍵データを受信する。
【0055】
ステップS14では、ユーザ端末20においてオブジェクト要求部22が、対象仮想オブジェクトのモデルデータを取得するためにその鍵データをモデルサーバ40に送信する。モデルサーバ40では要求受信部41がその鍵データを受信する。
【0056】
ステップS15では、検索部42が対象仮想オブジェクトのモデルデータをモデルデータベース50から抽出する。一例では、検索部42は鍵データで示される対象仮想オブジェクトIDに対応するモデルデータをモデルデータベース50から抽出する。鍵データがワンタイムパスワードを含む場合には、検索部42はそのワンタイムパスワードが有効である場合に限って、対象仮想オブジェクトIDに対応するモデルデータを抽出する。検索部42は、ワンタイムパスワードが初めて利用された場合に限って、または、有効期限内にワンタイムパスワードが初めて利用された場合に限って、該パスワードが有効であると判定してもよい。
【0057】
ステップS16では、オブジェクト送信部43が対象仮想オブジェクトのモデルデータをユーザ端末20に送信する。ユーザ端末20ではオブジェクト要求部22がそのモデルデータを受信する。
【0058】
ステップS17では、表示制御部23がそのモデルデータを処理して、対象仮想オブジェクトを含む仮想空間を描画する。表示制御部23は配置データを参照して、仮想空間における対象仮想オブジェクトの位置を特定し、モデルデータに基づいて対象仮想オブジェクトをその位置に配置する。表示制御部23は仮想空間を示すデータ(仮想空間データ)とモデルデータとに基づくレンダリングを実行することで、対象仮想オブジェクトを含む仮想空間を描画する。
【0059】
図6は、オブジェクト管理システム1の動作の別の例を処理フローS2として示すシーケンス図である。処理フローS2は、或る一つの仮想オブジェクトを仮想空間に配置することが許可されない場合を示す。処理フローS2は、仮想空間を示すコンテンツ画像をユーザ端末20が表示し始める前に実行されてもよいし、ユーザ端末20がそのコンテンツ画像を既に表示している時に実行されてもよい。処理フローS2も、ユーザ端末20が既に配置データを取得していることを前提とする。
【0060】
ステップS21では、ユーザ端末20において問合せ部21が問合せデータを管理サーバ10に送信する。この処理はステップS11と同様である。
【0061】
ステップS22では、管理サーバ10において判定部12が、仮想空間内への対象仮想オブジェクトの配置を許可するか否かを判定する。この処理はステップS12と同様である。ステップS22では、判定部12が仮想空間内への対象仮想オブジェクトの配置を許可しないものとする。
【0062】
ステップS23では、通知部14が不許可通知をユーザ端末20に送信する。不許可通知とは、対象仮想オブジェクトのモデルデータをダウンロードすることができないことをユーザ端末20に通知するための電子データである。不許可通知のデータ構造は限定されず、任意の方針で設計されてよい。仮想空間内への対象仮想オブジェクトの配置が許可されないことに応答して、通知部14は不許可通知を生成してユーザ端末20に送信する。ユーザ端末20では問合せ部21がその不許可通知を受信する。
【0063】
ステップS24では、表示制御部23がその不許可通知に応答して、対象仮想オブジェクトを取得することなく仮想空間を描画する。ユーザ端末20はモデルデータを得るための鍵データを取得しないので、モデルデータをモデルサーバ40に要求する処理を実行しない。表示制御部23は対象仮想オブジェクトのモデルデータを用いることなく、仮想空間データに基づくレンダリングを実行することで仮想空間を描画する。表示制御部23は、対象仮想オブジェクトを描画できないことを示すエラーメッセージを表示してもよい。
【0064】
仮想空間内に仮想オブジェクトを配置するための問合せは、配置データで示される1以上の仮想オブジェクトのそれぞれについて実行される。対象仮想オブジェクトの配置が許可される場合には処理フローS1が実行され、その配置が許可されない場合には処理フローS2が実行される。この結果、ユーザ端末20は、配置データで示される少なくとも一つの仮想オブジェクトのすべてを配置および描画するかもしれないし、該少なくとも一つの仮想オブジェクトの一部のみを配置および描画するかもしれない。あるいは、ユーザ端末20は、配置データで示される仮想オブジェクトを一つも配置および描画できないかもしれない。
【0065】
図7および図8を参照しながら、仮想空間に仮想オブジェクトを配置する例を説明する。図7および図8はいずれも、仮想空間および配置データの一例を示す図である。これらの例の説明においては、オブジェクト管理データベース30が図4に示すオブジェクト関係データ31を記憶していることを前提とする。
【0066】
図7の例(a)は仮想オブジェクトA,B,Cを含む仮想空間Saを示す。仮想空間Saの地面には仮想オブジェクトAと仮想オブジェクトBとが所与の間隔を開けた状態で置かれ、仮想オブジェクトBの上に仮想オブジェクトCが置かれる。言い換えると、仮想オブジェクトA,Bはいずれも仮想空間の下面に接し、仮想オブジェクトCは仮想オブジェクトBに接する。仮想空間Sa、仮想オブジェクトA、仮想オブジェクトB、および仮想オブジェクトCのオブジェクトIDはそれぞれ「1001」、「0002」、「0003」、および「0004」である。図7の例(b)は仮想空間Saの配置データを示す。この配置データは、仮想オブジェクトA,Bの親オブジェクトがいずれも仮想空間Saであり、仮想オブジェクトCの親オブジェクトが仮想オブジェクトBであることを示す。この例のように、配置データもオブジェクト関係データ31と同様に、仮想空間における両オブジェクトの物理的な位置関係を示す階層関係を示してもよい。
【0067】
図7の例では、仮想空間Saへのアクセス権を正当に入手したユーザがユーザ端末20上にその仮想空間Saを表示するものとする。このユーザは仮想空間Saの制作者でもよいし、製作に関与しなかった者(例えば、単なる閲覧者)でもよい。この場合、ユーザ端末20は仮想空間Saに配置する仮想オブジェクトA,B,Cのそれぞれについて管理サーバ10に問い合わせる。
【0068】
仮想オブジェクトAについての問合せを実行する場合には、問合せ部21が対象仮想オブジェクトID「0002」と対象親オブジェクトID「1001」との組合せを含む問合せデータを管理サーバ10に送信する。この組合せはオブジェクト関係データ31内に存在するので、管理サーバ10の判定部12は仮想オブジェクトAを仮想空間Saに配置することを許可する。この許可に応答して、通知部14が仮想オブジェクトAのための鍵データをユーザ端末20に送信する。ユーザ端末20では、オブジェクト要求部22がその鍵データをモデルサーバ40に送信することで仮想オブジェクトAのモデルデータを取得し、表示制御部23がそのモデルデータを用いて仮想空間Sa内に仮想オブジェクトAを描画する。
【0069】
仮想オブジェクトBについての問合せを実行する場合には、問合せ部21が対象仮想オブジェクトID「0003」と対象親オブジェクトID「1001」との組合せを含む問合せデータを管理サーバ10に送信する。この組合せはオブジェクト関係データ31内に存在するので、管理サーバ10の判定部12は仮想オブジェクトBを仮想空間Saに配置することを許可する。この許可に応答して、オブジェクト要求部22および表示制御部23は協働して仮想空間Sa内に仮想オブジェクトBを描画する。
【0070】
仮想オブジェクトCについての問合せを実行する場合には、問合せ部21が対象仮想オブジェクトID「0004」と対象親オブジェクトID「0003」との組合せを含む問合せデータを管理サーバ10に送信する。この組合せはオブジェクト関係データ31内に存在するので、管理サーバ10の判定部12は仮想オブジェクトCを仮想空間Saに配置することを許可する。この許可に応答して、オブジェクト要求部22および表示制御部23は協働して仮想空間Sa内に仮想オブジェクトCを描画する。
【0071】
このように、仮想空間Saの配置データで示される2オブジェクト間の階層関係はすべてオブジェクト関係データ31で示されている。したがって、ユーザ端末20は仮想オブジェクトA,B,Cを含む仮想空間Saを表示する。
【0072】
図8の例(a)は仮想オブジェクトA,Eを含む仮想空間Sbを示す。仮想空間Sbの地面には仮想オブジェクトAと仮想オブジェクトEとが所与の間隔を開けた状態で置かれる。言い換えると、仮想オブジェクトA,Eはいずれも仮想空間の下面に接する。仮想空間Sb、仮想オブジェクトA、および仮想オブジェクトEのオブジェクトIDはそれぞれ「9001」、「0002」、および「0011」である。図8の例(b)は仮想空間Sbの配置データを示す。この配置データは仮想オブジェクトA,Eの親オブジェクトがいずれも仮想空間Sbであることを示す。
【0073】
図8の例では、仮想空間Sbへのアクセス権を正当に入手したユーザがユーザ端末20上に仮想空間Sbを表示するものとする。この場合、ユーザ端末20は仮想空間Sbに配置する仮想オブジェクトA,Eについて管理サーバ10に問い合わせる。
【0074】
仮想オブジェクトAについての問合せを実行する場合には、問合せ部21が対象仮想オブジェクトID「0002」と対象親オブジェクトID「9001」との組合せを含む問合せデータを管理サーバ10に送信する。この組合せはオブジェクト関係データ31内に存在しないので、管理サーバ10の判定部12は仮想オブジェクトAを仮想空間Sbに配置することを許可しない。この判定に基づいて通知部14が不許可通知をユーザ端末20に送信する。ユーザ端末20では表示制御部23がその不許可通知に基づいて、仮想オブジェクトAを取得することなく仮想空間Sbを描画する。
【0075】
仮想オブジェクトEについての問合せを実行する場合には、問合せ部21が対象仮想オブジェクトID「0011」と対象親オブジェクトID「9001」との組合せを含む問合せデータを管理サーバ10に送信する。この組合せはオブジェクト関係データ31内に存在するので、管理サーバ10の判定部12は仮想オブジェクトEを仮想空間Sbに配置することを許可する。この許可に応答して、通知部14が仮想オブジェクトEのための鍵データをユーザ端末20に送信する。ユーザ端末20では、オブジェクト要求部22がその鍵データをモデルサーバ40に送信することで仮想オブジェクトEのモデルデータを取得し、表示制御部23がそのモデルデータを用いて仮想空間Sb内に仮想オブジェクトEを描画する。
【0076】
このように、仮想空間Sbの配置データで示される2オブジェクト間の階層関係のうち、仮想オブジェクトEと仮想空間Sbとの組合せだけがオブジェクト関係データ31で示されている。したがって、ユーザ端末20は仮想オブジェクトAを含まず仮想オブジェクトEを含む仮想空間Sbを表示する。このことは、仮想空間Sbへのアクセス権を有するユーザが、仮想オブジェクトEを利用する権限は持つが、仮想オブジェクトAを利用する権限は持たないことを意味する。すなわち、このユーザは仮想オブジェクトAに不正にアクセスした者である。
【0077】
図9は、オブジェクト管理システム1の動作のさらに別の例を処理フローS3として示すシーケンス図である。処理フローS3は、或る一つの新規の仮想オブジェクトを仮想空間に配置することが許可される場合を示す。処理フローS3は、仮想空間を示すコンテンツ画像をユーザ端末20が表示し始める前に実行されてもよいし、ユーザ端末20がそのコンテンツ画像を既に表示している時に実行されてもよい。処理フローS3は、表示しようとするコンテンツ画像で示される仮想空間における1以上の仮想オブジェクトの配置を示す配置データをユーザ端末20が既に取得していることを前提とする。
【0078】
ステップS31では、ユーザ端末20において問合せ部21が問合せデータを管理サーバ10に送信する。ユーザはユーザ端末20を操作して、仮想空間に新規の仮想オブジェクトを配置するための操作を行う。その操作に応答して、ユーザ端末20はその仮想オブジェクトに関する配置データを生成する。問合せ部21はその新規の仮想オブジェクトを対象仮想オブジェクトとして処理する。具体的には、問合せ部21は対象仮想オブジェクト(新規の仮想オブジェクト)と、該対象仮想オブジェクトの親オブジェクト(対象親オブジェクト)との組合せを含む問合せデータを生成する。一例では、この問合せデータは、対象仮想オブジェクトID(新規の仮想オブジェクトのオブジェクトID)と対象親オブジェクトIDとの組合せを含み、さらにユーザIDも含む。管理サーバ10では問合せ受信部11がその問合せデータを受信する。
【0079】
ステップS32では、管理サーバ10において判定部12が、ユーザが対象仮想オブジェクトの正当な権利者であるか否かを判定する。判定部12はオブジェクト管理データベース30を参照して、問合せデータで示されるユーザIDおよび対象仮想オブジェクトIDの組合せが権利者データ32に登録されているか否かを判定する。ユーザIDおよび対象仮想オブジェクトIDの組合せが権利者データ32に登録されている場合には、判定部12はユーザが対象仮想オブジェクトの正当な権利者であると判定する。その組合せが権利者データ32に登録されていない場合には、判定部12はユーザが対象仮想オブジェクトの正当な権利者でないと判定する。ステップS32では、ユーザが対象仮想オブジェクトの正当な権利者であるものとする。
【0080】
ステップS33では、登録部13がオブジェクト関係データ31の新規レコードを登録する。登録部13は対象仮想オブジェクトIDおよび対象親オブジェクトIDをそれぞれ、その新規レコードの子オブジェクトIDおよび親オブジェクトIDとして設定し、その新規レコードをオブジェクト管理データベース30に格納する。この新規レコードの登録は、仮想空間内への対象仮想オブジェクトの配置が許可されることを意味する。
【0081】
ステップS34では、通知部14が鍵データをユーザ端末20に送信する。一例では、鍵データは対象仮想オブジェクトのオブジェクトIDを含んでもよい。あるいは、鍵データはオブジェクトIDに加えて、一回限り有効なワンタイムパスワードをさらに含んでもよい。このワンタイムパスワードは有効期限を有してもよい。オブジェクト関係データ31の新規レコードが登録されたこと(すなわち、仮想空間内への対象仮想オブジェクトの配置が許可されたこと)に応答して、通知部14はその対象仮想オブジェクトの鍵データを生成し、この鍵データをユーザ端末20に送信する。ユーザ端末20では問合せ部21がその鍵データを受信する。
【0082】
ステップS35では、ユーザ端末20においてオブジェクト要求部22が、対象仮想オブジェクトのモデルデータを取得するためにその鍵データをモデルサーバ40に送信する。モデルサーバ40では要求受信部41がその鍵データを受信する。
【0083】
ステップS36では、検索部42が対象仮想オブジェクトのモデルデータをモデルデータベース50から抽出する。一例では、検索部42は鍵データで示される対象仮想オブジェクトIDに対応するモデルデータをモデルデータベース50から抽出する。鍵データがワンタイムパスワードを含む場合には、検索部42はそのワンタイムパスワードが有効である場合に限って、対象仮想オブジェクトIDに対応するモデルデータを抽出する。検索部42は、ワンタイムパスワードが初めて利用された場合に限って、または、有効期限内にワンタイムパスワードが初めて利用された場合に限って、該パスワードが有効であると判定してもよい。
【0084】
ステップS37では、オブジェクト送信部43が対象仮想オブジェクトのモデルデータをユーザ端末20に送信する。ユーザ端末20ではオブジェクト要求部22がそのモデルデータを受信する。
【0085】
ステップS38では、表示制御部23がそのモデルデータを処理して、対象仮想オブジェクトを含む仮想空間を描画する。表示制御部23は配置データを参照して、仮想空間における対象仮想オブジェクトの位置を特定し、モデルデータに基づいて対象仮想オブジェクトをその位置に配置する。表示制御部23は仮想空間を示すデータ(仮想空間データ)とモデルデータとに基づくレンダリングを実行することで、対象仮想オブジェクトを含む仮想空間を描画する。
【0086】
図10は、オブジェクト管理システム1の動作のさらに別の例を処理フローS4として示すシーケンス図である。処理フローS4は、ユーザが対象仮想オブジェクトの正当な権利者ではないと判定される場合(すなわち、対象仮想オブジェクトを仮想空間に配置することが許可されない場合)を示す。処理フローS4は、仮想空間を示すコンテンツ画像をユーザ端末20が表示し始める前に実行されてもよいし、ユーザ端末20がそのコンテンツ画像を既に表示している時に実行されてもよい。処理フローS4も、ユーザ端末20が既に配置データを取得していることを前提とする。
【0087】
ステップS41では、ユーザが仮想空間に新規の仮想オブジェクトを配置するための操作を行ったことに応答して、問合せ部21が問合せデータを管理サーバ10に送信する。この処理はステップS31と同様である。
【0088】
ステップS42では、管理サーバ10において判定部12が、ユーザが対象仮想オブジェクトの正当な権利者であるか否かを判定する。この処理はステップS32と同様である。ステップS42では、ユーザが対象仮想オブジェクトの正当な権利者でないものとする。この場合、登録部13はオブジェクト関係データ31の新規レコードを登録しない。この登録が行われないことは、仮想空間内への対象仮想オブジェクトの配置が許可されないことを意味する。
【0089】
ステップS43では、通知部14が不許可通知をユーザ端末20に送信する。ユーザが対象仮想オブジェクトの正当な権利者でないことに応答して、通知部14は不許可通知を生成してユーザ端末20に送信する。ユーザ端末20では問合せ部21がその不許可通知を受信する。
【0090】
ステップS44では、表示制御部23がその不許可通知に応答して、対象仮想オブジェクトを取得することなく仮想空間を描画する。ユーザ端末20はモデルデータを得るための鍵データを取得しないので、モデルデータをモデルサーバ40に要求する処理を実行しない。表示制御部23は対象仮想オブジェクトのモデルデータを用いることなく、仮想空間データに基づくレンダリングを実行することで仮想空間を描画する。表示制御部23は、対象仮想オブジェクトを描画できないことを示すエラーメッセージを表示してもよい。
【0091】
仮想空間内に新規の仮想オブジェクトを配置するための問合せは、新規の仮想オブジェクトのそれぞれについて実行される。ユーザが新規の仮想オブジェクトの正当な権利者である場合(すなわち、対象仮想オブジェクトの配置が許可される場合)には処理フローS3が実行される。ユーザが新規の仮想オブジェクトの正当な権利者である場合(すなわち、対象仮想オブジェクトの配置が許可されない場合)には処理フローS4が実行される。
【0092】
図11を参照しながら、仮想空間に新規の仮想オブジェクトを配置する例を説明する。図11は仮想空間および配置データの一例を示す図である。この例の説明においては、オブジェクト管理データベース30が図4に示すオブジェクト関係データ31を記憶していることを前提とする。
【0093】
図11の例(a)は、図7の例(a)に示す仮想空間Saの制作者であるユーザUaが、新たな仮想オブジェクトDをさらに配置する場面を示す。ユーザUaは仮想オブジェクトDを仮想オブジェクトAの上に置くとする。したがって、仮想オブジェクトDは仮想オブジェクトAに接する。仮想オブジェクトDのオブジェクトIDは「0005」である。図11の例(b)は仮想空間Saの配置データを示し、より具体的には、図7の例(b)に示す配置データに仮想オブジェクトDに関する情報を追加する状況を示す。この追加情報は、仮想オブジェクトDの親オブジェクトが仮想オブジェクトAであることを示す。
【0094】
図7を参照しながら説明したように、ユーザ端末20は仮想オブジェクトA,B,Cを含む仮想空間Saを表示する。ユーザUaが仮想オブジェクトDを仮想オブジェクトAの上に置く操作を行うと、問合せ部21は対象仮想オブジェクトID「0005」と対象親オブジェクトID「0002」との組合せと、ユーザID「ユーザUa」とを含む問合せデータを管理サーバ10に送信する。対象仮想オブジェクトID「0005」とユーザID「ユーザUa」との組合せは権利者データ32内に存在するので、管理サーバ10の判定部12はユーザUaが仮想オブジェクトDの正当な権利者であると判定する。判定部12はこの判定に応答して、子オブジェクトID「0005」および親オブジェクトID「0002」を含むオブジェクト関係データ31の新規レコードをオブジェクト管理データベース30に格納する。さらに、通知部14が仮想オブジェクトDのための鍵データをユーザ端末20に送信する。ユーザ端末20では、オブジェクト要求部22がその鍵データをモデルサーバ40に送信することで仮想オブジェクトDのモデルデータを取得し、表示制御部23がそのモデルデータを用いて仮想空間Sa内に仮想オブジェクトDを描画する。この結果、ユーザ端末20は仮想オブジェクトDがさらに配置された仮想空間Saを表示する。
【0095】
[効果]
以上説明したように、本開示の一側面に係るオブジェクト管理システムは、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信し、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照し、問合せデータで示される組合せがオブジェクト関係データに登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可し、該組合せがオブジェクト関係データに登録されていない場合には該配置をユーザ端末に許可しない。
【0096】
本開示の一側面に係るオブジェクト管理方法は、少なくとも一つのプロセッサを備えるオブジェクト管理システムによって実行される。オブジェクト管理方法は、対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信するステップと、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照するステップと、問合せデータで示される組合せがオブジェクト関係データに登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可し、該組合せがオブジェクト関係データに登録されていない場合には該配置をユーザ端末に許可しないステップとを含む。
【0097】
本開示の一側面に係るオブジェクト管理プログラムは、対象仮想オブジェクトおよび対象親オブジェクトの組合せを示す問合せデータをユーザ端末から受信するステップと、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するデータベースを参照するステップと、問合せデータで示される組合せがオブジェクト関係データに登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可し、該組合せがオブジェクト関係データに登録されていない場合には該配置をユーザ端末に許可しないステップとをコンピュータに実行させる。
【0098】
このような側面においては、ユーザ端末から受信したオブジェクト間の組合せ(すなわち、対象仮想オブジェクトおよび対象親オブジェクトの組合せ)が既に階層関係として登録されている場合に、対象仮想オブジェクトを仮想空間内に配置することが許可される。その組合せが階層関係として登録されていない場合にはその配置は許可されない。オブジェクト間の階層関係を検証することで仮想オブジェクトの利用の許否を判定することで、仮想空間内に配置可能な仮想オブジェクトへのアクセスを適切に管理することができる。
【0099】
他の側面に係るオブジェクト管理システムでは、複数のオブジェクト間の階層関係が、仮想空間における複数のオブジェクト間の物理的な位置関係を示してもよい。このようにオブジェクト間の階層関係を規定することで、物理的な位置関係に基づいて仮想空間内での仮想オブジェクトの配置を人に分かりやすいかたちで(言い換えると、人がその配置を直感的に把握できるかたちで)管理することができる。
【0100】
他の側面に係るオブジェクト管理システムでは、複数のオブジェクトが親オブジェクトおよび子オブジェクトを含み、物理的な位置関係が、親オブジェクトへの子オブジェクトの接触であってもよい。互いに接触し合う2個のオブジェクトについて階層関係を規定することで、物理的な位置関係に基づいて仮想空間内での仮想オブジェクトの配置を人に分かりやすいかたちで(言い換えると、人がその配置を直感的に把握できるかたちで)管理することができる。
【0101】
他の側面に係るオブジェクト管理システムでは、少なくとも一つのプロセッサが、配置を許可する場合には、対象仮想オブジェクトをユーザ端末にダウンロードするための鍵データを該ユーザ端末に送信してもよい。この場合には、対象仮想オブジェクトのダウンロードを直ぐに許可する場合よりも対象仮想オブジェクトへのアクセスをより厳密に管理することができる。
【0102】
他の側面に係るオブジェクト管理システムでは、鍵データがワンタイムパスワードを含んでもよい。この場合には鍵データの再利用が防止されるので、対象仮想オブジェクトへのアクセスをより厳密に管理することができる。
【0103】
他の側面に係るオブジェクト管理システムでは、少なくとも一つのプロセッサが、ユーザIDをさらに含む問合せデータをユーザ端末から受信し、仮想オブジェクトの権利者を示す権利者データをさらに記憶するデータベースを参照し、問合せデータで示される対象仮想オブジェクトおよびユーザIDの組合せが権利者データに登録されている場合には、該問合せデータで示される組合せを示すオブジェクト関係データの新規レコードをデータベースに登録し、仮想空間内への対象仮想オブジェクトの配置をユーザ端末に許可してもよい。ユーザが対象仮想オブジェクトの正当な権利者である場合に限って新規のオブジェクト関係データを登録することで、仮想空間内に配置可能な仮想オブジェクトへのアクセスを適切に管理することができる。
【0104】
他の側面に係るオブジェクト管理システムでは、対象親オブジェクトが仮想空間および仮想オブジェクトのうちの一つであってもよい。このように対象親オブジェクトを規定することで、仮想空間内のすべての仮想オブジェクトについて階層関係を定義してアクセスを適切に管理することができる。
【0105】
他の側面に係るオブジェクト管理システムでは、対象仮想オブジェクトおよび対象親オブジェクトのうちの少なくとも一方がアバターであってもよい。この場合には、アバターと該アバターに直接に関係する仮想オブジェクトとのうちの少なくとも一方へのアクセスを適切に管理することができる。
【0106】
[変形例]
以上、本開示の実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
【0107】
オブジェクト管理システムの全体構成は限定されない。例えば、論理的に一つのサーバが管理サーバ10およびモデルサーバ40の双方の機能を備えてもよい。オブジェクト関係データ31と権利者データ32とが別々のデータベースに格納されてもよい。
【0108】
上記実施形態ではオブジェクト管理システム1が管理サーバ10を用いて構成されるが、オブジェクト管理システムは、サーバを用いないユーザ端末間の直接配信に適用されてもよい。この場合には、管理サーバ10の各機能要素がいずれかのユーザ端末に実装されてもよい。あるいは、管理サーバ10の個々の機能要素が複数のユーザ端末に分かれて実装されてもよい。これに関連して、オブジェクト管理プログラムはクライアントプログラムP2として実現されてもよい。オブジェクト管理システムはサーバを用いて構成されてもよいし、サーバを用いることなく構成されてもよい。
【0109】
データベースに格納される個々のデータの構造は限定されず、任意の方針で設計されてよい。オブジェクト関係データ、権利者データ、およびモデルデータのうちの少なくとも一つが任意の方針で正規化または非正規化されて一または複数のデータテーブル上に記憶されてもよい。
【0110】
上記実施形態では管理サーバ10が登録部13を備えるが、オブジェクト関係データの新規レコードを登録する機能は必須ではなく、省略されてもよい。これに対応して、データベースは権利者データを記憶しなくてもよい。
【0111】
上記実施形態では管理サーバ10が鍵データをユーザ端末20に送信し、ユーザ端末20がその鍵データを用いてモデルサーバ40から対象仮想オブジェクトのモデルデータを取得する。しかし、この鍵データを用いることなくユーザ端末にモデルデータをダウンロードする仕組みが採用されてもよい。例えば、オブジェクト管理システムは、仮想空間内への対象仮想オブジェクトの配置を許可する場合に、モデルデータベースに格納されている該対象仮想オブジェクトのモデルデータを問合せデータに対する応答としてユーザ端末に送信してもよい。
【0112】
上記実施形態では、オブジェクト関係データ31が二つのオブジェクト間の階層関係を示し、問合せデータが対象仮想オブジェクトと対象親オブジェクトとの組合せを示す。すなわち、オブジェクト関係データ31および問合せデータはいずれもオブジェクトのペアについての情報を示す。しかし、オブジェクト関係データは3以上のオブジェクト間の階層関係を示してもよく、これに対応して、問合せデータは3以上のオブジェクトの組合せを示してもよい。
【0113】
本開示において、「少なくとも一つのプロセッサが、第1の処理を実行し、第2の処理を実行し、…第nの処理を実行する。」との表現、またはこれに対応する表現は、第1の処理から第nの処理までのn個の処理の実行主体(すなわちプロセッサ)が途中で変わる場合を含む概念である。すなわち、この表現は、n個の処理のすべてが同じプロセッサで実行される場合と、n個の処理においてプロセッサが任意の方針で変わる場合との双方を含む概念である。
【0114】
本開示において、データまたは情報を第1コンピュータから第2コンピュータ“に送信する”との表現は、該第2コンピュータに最終的にデータまたは情報を届けるための送信を意味する。この表現は、その送信において別のコンピュータまたは通信装置がデータまたは情報を中継する場合も含む意味であることに留意されたい。
【0115】
少なくとも一つのプロセッサにより実行される方法の処理手順は上記実施形態での例に限定されない。例えば、上述したステップ(処理)の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正又は削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
【符号の説明】
【0116】
1…オブジェクト管理システム、10…管理サーバ、11…問合せ受信部、12…判定部、13…登録部、14…通知部、20…ユーザ端末、21…問合せ部、22…オブジェクト要求部、23…表示制御部、30…オブジェクト管理データベース、31…オブジェクト関係データ、32…権利者データ、40…モデルサーバ、41…要求受信部、42…検索部、43…オブジェクト送信部、50…モデルデータベース、P1…サーバプログラム、P2…クライアントプログラム。
【要約】      (修正有)
【課題】仮想空間内に配置可能な仮想オブジェクトへのアクセスを適切に管理することができるオブジェクト管理システム、オブジェクト管理方法及びオブジェクト管理プログラムを提供する。
【解決手段】オブジェクト管理システムにおいて、管理サーバ10はプロセッサ101を有する。プロセッサの問合せ受信部11は、対象仮想オブジェクト及び対象親オブジェクトの組合せを示す問合せデータをユーザ端末20から受信する。プロセッサの判定部12は、複数のオブジェクト間の階層関係を示すオブジェクト関係データを記憶するオブジェクト管理データベース30を参照し、問合せデータで示される組合せがオブジェクト関係データ31に登録されているかどうかを判定する。登録されている場合には、仮想空間内への対象仮想オブジェクトの配置をユーザ端末20に許可し、登録されていない場合には該配置をユーザ端末20に許可しない。
【選択図】図3
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11