本明細書及び図面は、特定の実施形態を例示するためのものであり、理解の助けとなるものであることを明確に理解すべきである。これらは、限定することを意図したものではなく、また、限定されるべきものでもない。
図7に関して、携帯端末10が示されている。様々な実施形態において、携帯端末10は、いくつかの非限定的な可能性により、スマートフォン、タブレット、ゲーム機、ヘッドセット、又はいわゆる「スマート」グラスもしくは「スマート」コンタクトレンズであってもよい。
携帯端末10は、メモリ14、及び少なくとも1のプロセッサ12を備える。少なくとも1のプロセッサ12は、1又は複数の中央処理装置(CPU)及び/又は1又は複数のグラフィックス処理装置(GPU)を含むことができる。携帯端末10は、Android(登録商標)又はiOS(登録商標)又は任意の他のモバイルオペレーティングシステムのようなオペレーティングシステムを実行することができる。バス18は、該少なくとも1のプロセッサ12とメモリ14の間の通信を可能にしてもよい。また、携帯端末10は、ディスプレイ11(例えば、タッチスクリーン16)、及びカメラ26、及びマイク24、及びスピーカ20を備えている。
携帯端末10は、ネットワーク入出力インターフェース25を介して、データネットワーク30に接続されてもよい。実施態様によっては、データネットワーク30は、インターネット、ローカルエリアネットワーク、無線ネットワーク、そのようなネットワークの組み合わせ、又はさらに他の形態のデータネットワークであってもよい。
プレイヤ1は、少なくとも1の入力デバイス28(例えば、ジョイスティック、タッチスクリーン16、キーボード、コントローラ、マイク24、カメラ26及び/又はジェスチャセンサのうちの1又は複数を含む)を介してプレイヤ入力を提供する。ディスプレイ11(例えばタッチスクリーン16)、カメラ26、マイク24及びスピーカ20は、入出力インターフェース(I/O)21及びバス18を介して少なくとも1のプロセッサ12に接続されてもよい。
モバイルARアプリは、メモリ14に記憶され、少なくとも1のプロセッサ12によって読み取られ実行されるコンピュータ可読命令32によって定義される対話型コンピュータプログラムとして見ることができる。実施形態の中には、モバイルARアプリは、モバイルARゲームと称されることがある。
非限定的な実施形態により、図8は、複数の相互接続されたモジュールから構成されると見ることができるモバイルARアプリ1000のブロック図である。モバイルARアプリ1000は、オブジェクト検出モジュール(ODM)1010、コンピュータビジョンプラグイン(CVP)1030、及びARアプリプログラムインターフェース(AR API)1020から構成され得る。いくつかの実施形態では、ODM1010は、CVP1030及びAR API1020と共に、図6の方法を実施するソフトウェア処理ブロックである。
CVP1030は、ODM1010にコンピュータビジョン機械学習などのコンピュータビジョン機能を追加する任意のソフトウェア・コンポーネントとすることができる。コンピュータビジョン機能の例としては、Android(登録商標)オペレーティングシステムのTensorFlow(登録商標)Lite及びiOS(登録商標)オペレーティングシステムのCoreML(登録商標)によって提供されるものが挙げられる。
AR API1020は、ポイントクラウドデータなどの拡張現実機能をODM1010に提供する、又はその他の方法でアクセスを可能にする任意のソフトウェア・コンポーネントとすることができる。拡張現実機能の例には、Android(登録商標)オペレーティングシステムのARCore(登録商標)及びiOS(登録商標)オペレーティングシステムのARKit(登録商標)によって提供されるものが含まれる。
ARゲーム環境1005のシーンの画像は、モバイルARアプリ1000によってキャプチャされてもよい。具体的には、ODM1010は、携帯端末10のカメラフィード(すなわち、ビデオフレーム)から画像を取り込む。該シーンは、該シーンの画像に現れる実世界オブジェクトから構成されてもよい。一部の実施形態では、実世界オブジェクトの1又は複数は、無生物オブジェクト(例えば、テーブル、リモコン、ホースなど)であってよい。他の実施形態では、実世界オブジェクトの1又は複数は、生命体のオブジェクト(例えば、人、動物など)であってもよい。一般に、所定のシーンに存在し得る実世界オブジェクトの数には特に制限はない。
例えば、図1Aは、モバイルARアプリ1000によって携帯端末10のディスプレイ11上にキャプチャされ提示され得る第1シーンの画像100Aを示す。画像100Aは、2つの実世界オブジェクト、すなわち実世界のテーブル101及び実世界のリモコン102を含むように示されている。
図1Bから図1Dは、モバイルARアプリ1000が携帯端末10のディスプレイ11に提示するシーンの後続の画像100Bから100Dを示す図である。画像の進行に伴い、仮想キャラクタ104が実世界リモコン102から放出される/によって生成されるように見える。
前記仮想キャラクタの生成及びそれら実世界オブジェクトとの関連付けは、次に図6でさらに詳細に説明するモバイルARアプリ1000によって実装される方法600の結果である。
ステップ610
モバイルARアプリ1000は、携帯端末10のカメラ26によって撮影された画像を取得または受信するように構成される。前述したように、ODM1010は、携帯端末10のカメラフィード(すなわち、ビデオフレーム)から画像を取り込む。一般的に言えば、取得されたカメラ画像(又は、より一般的には「カメラデータ」)は、モバイルARアプリ1000に関連付けられた検出可能な実世界オブジェクトセット58における機械認識可能な実世界オブジェクトを含んでいてもいなくてもよい。
検出可能な実世界オブジェクトセット58は、モバイルARアプリ1000に関連付けられた実世界オブジェクトライブラリ300に記憶された実世界オブジェクトセットのサブセットであってもよい。実世界オブジェクトライブラリ300は、メモリ14に記憶されたゲームデータ35にエンコードされてもよい。実世界オブジェクトライブラリ300内の各実世界オブジェクト(検出可能な実世界オブジェクトセット58内の各実世界オブジェクトを含む)は、識別情報を含んでもよい。例えば、実世界オブジェクトライブラリ300内の各実世界オブジェクトにオブジェクト名50xが割り当てられてもよい。
一部の実施形態では、モバイルARアプリ1000は、実世界オブジェクトライブラリ300内の各実世界オブジェクト(検出可能な実世界オブジェクトセット58内の各実世界オブジェクトを含む)をオブジェクトファミリ501x(「オブジェクトファミリ」)に分類するように構成されてもよい。一部の実施形態では、オブジェクトファミリ501xは、実世界の物理的な場所に関連していてもよい。一部の実施形態では、オブジェクトファミリ501xは、プレイヤ1がそのようなオブジェクトを見つける可能性が高い、実世界における予想される物理的な場所に関連していてもよい。例えば、オブジェクトファミリ501xは、キッチンオブジェクト、リビングルームオブジェクト、バックヤードオブジェクト、及び/又はスーパーマーケットオブジェクトを含んでもよい。実世界オブジェクトライブラリ300における実世界オブジェクトのオブジェクトファミリ501xへの分類は、ゲームデザイン時にゲームデザイナによってゲームデータ35にエンコードされてもよい。
図示された例示的な実施形態では、前記カメラ画像は、実世界テーブル101及び実世界リモコン102を含む。本事例では、実世界オブジェクトライブラリ300は、「テーブル」のオブジェクト名50xで識別される実世界オブジェクト及び、「リモコン」のオブジェクト名50xで識別される実世界オブジェクトを含むと仮定するが、「リモコン」のオブジェクト名50xで識別される実世界オブジェクトのみが検出可能な実世界オブジェクトセット58にあると仮定される。
次はステップ620である。
ステップ620
モバイルARアプリ1000は、ステップ610で取得又は受信したカメラ画像を処理するように構成される。具体的には、検出可能な実世界オブジェクトセット58内の1又は複数の実世界オブジェクトを、画像内で検出する試みがなされる。
一部の実施形態では、受信した画像における実世界オブジェクトの検出の試みは、適切に学習したコンピュータビジョンモデル(CVM)を用いて実行することができる。例えば、ODM1010は、事前に学習したCVM1040を使用して受信した画像を処理するようにCVP1030に要求を送信する。具体的には、CVM1040は、1又は複数の視点から受信した画像内の形状、色、及び/又はテクスチャ(パターン)を調べることによって、既知のオブジェクトを識別しようとする。本実施形態の実装の一例では、前記既知のオブジェクトは、実世界オブジェクトライブラリ300内の実世界オブジェクトを含んでもよい。
ステップ630
CVM1040の出力は、実世界オブジェクトが検出されたか否かを示す。ステップ630において、CVM1040の出力が評価される。
CVM1040の出力がポジティブであれば、これは撮影した画像に実世界オブジェクトが検出されたことを示しており、次のステップはステップ640である。ネガティブな場合、モバイルARアプリ1000は、ステップ630がポジティブな結果をもたらすまで、ステップ610及び620を繰り返す。
特定の実世界オブジェクトがシーン内で検出された場合、CVM1040は、オブジェクトラベル60xを該特定の実世界オブジェクトに割り当てるように構成されてもよい。オブジェクトラベル60xは、前記実世界オブジェクトに関連する識別情報としても機能し得る。前記特定の実世界オブジェクトのオブジェクトラベル60xは、メモリ14に記憶されてもよい。
図示された例示的な実施形態では、実世界リモコン102が最終的に検出され、ステップ630のポジティブな結果を導くことが想定されている。本事例では、モバイルARアプリ1000は、オブジェクトラベル60x「リモコン」を実世界リモコン102に割り当てるように構成される。
検出された各実世界オブジェクトは、メモリ14に記憶された実世界オブジェクトデータ62のセットを有してもよい。各実世界オブジェクトの実世界オブジェクトデータ62は、オブジェクトラベル60xを含む。
ステップ630のポジティブな結果(すなわち、特定の実世界オブジェクトがシーン内で検出されたこと)に鑑みて、次のステップはステップ640である。
ステップ640
ステップ640において、モバイルARアプリ1000のAR API1020は、最終的な仮想キャラクタ104のアンカー46を提供するように構成される 。
図示された実施形態では、アンカー46は、最終的な仮想キャラクタ104のためのアンカーを提供するために、実世界リモコン102の位置と関連して確立されてもよい。このように、実世界リモコン102の空間座標(XYZ)RWと、最終的な仮想キャラクタ104の空間座標(XYZ)VCは、略同一であってもよいし、同一であってもよい。
アンカー46が前記特定の実世界オブジェクトの位置に大まかに設置されると、本実施形態では、モバイルARアプリ1000は、ディスプレイ11上の該特定の実世界オブジェクトの存在を示す情報をプレイヤ1に伝えるように構成される。このため、モバイルARアプリ1000は、前記特定の実世界オブジェクトが検出されたことに応答して、プレイヤ1に対してフィードバックを提供してもよい。例えば、前記フィードバックは、携帯端末10が発する聴覚信号、視覚信号、又は触覚信号であってもよい。
実装の一例では、モバイルARアプリ1000のグラフィカル・ユーザ・インターフェース(GUI)48は、前記特定の実世界オブジェクトの存在をプレイヤ1に知らせるために、ディスプレイ11に視覚インジケータ34を表示するように構成されてもよい。視覚インジケータ34は、グラフィカルインジケータ36(例えば、前記特定の実世界オブジェクトを境界付ける形状)及び/又はテキストインジケータ38(例えば、該特定の実世界オブジェクトの存在を示すプレイヤ1へのテキストベースのメッセージ)であってもよい。他の実施形態では、アンカー46が設置されると、モバイルARアプリ1000は、ディスプレイ11上の前記特定の実世界オブジェクトの存在を示す情報をプレイヤ1に伝達しない。
一部の実施形態では、前記特定の実世界オブジェクトがCVM1040によって検出されると、モバイルARアプリ1000が、該特定の実世界オブジェクトに関連する入力を提供する機会をプレイヤ1に提供するように構成されてもよい。例えば、モバイルARアプリ1000は、前記特定の実世界オブジェクトが表示されているディスプレイ11/タッチスクリーン16の一部にプレイヤ1が触れることに応答してもよい。他の例では、モバイルARアプリ1000は、プレイヤ1がディスプレイ11/タッチスクリーン16の他の部分に触れることによって、又は他の任意の適切なメカニズムを介して入力を提供することに応答してもよい。非限定的な一例では、モバイルARアプリ1000は、携帯端末10のマイク24を介して送信される可聴コマンドを提供する機会をプレイヤ1に提供するように構成されてもよい。
次のステップは、ステップ650である。
ステップ650
モバイルARアプリ1000は、前記特定の実世界オブジェクト及び仮想キャラクタ(以下、「関連仮想キャラクタ」と称する)間に関連性を持たせる。この関連付けは、(上述したように)プレイヤ入力が提供された結果としてトリガーされてもよいし、プレイヤ入力とは無関係にトリガーされてもよい。したがって、モバイルARアプリ1000は、前記特定の実世界オブジェクトと関連仮想キャラクタとの関連付けをメモリ14に記憶するように構成される。一部の実施形態では、モバイルARアプリ1000は、特定の実世界オブジェクトと関連付けられた仮想キャラクタをディスプレイ11に同時に表示するように構成されている。
一部の実施形態では、モバイルARアプリ1000は、携帯端末10のメモリ14に記憶された仮想キャラクタライブラリ400から関連仮想キャラクタを選択するように構成されてもよい。仮想キャラクタライブラリ400は、該特定の実世界オブジェクトなどの実世界オブジェクトとの関連付けのために選択され得る1又は複数の仮想キャラクタを含んでもよい。仮想キャラクタライブラリ400は、メモリ14に記憶されたゲームデータ35にエンコードされてもよい。
仮想キャラクタライブラリ400内の各仮想キャラクタは、該仮想キャラクタの2次元又は3次元表現などの表現88を含んでもよい。仮想キャラクタライブラリ400内の各仮想キャラクタは、非図形的表現(例えば、数値的、幾何学的又は数学的表現)などの他の表現88を有してもよい。ゲームデータ35は、仮想キャラクタライブラリ400の各仮想キャラクタに関連するキャラクタデータ37を含んでもよい。キャラクタデータ37は、ゲーム画像フレームにおけるグラフィカルな表現、又は数値的、幾何学的、又は数学的表現など、前記仮想キャラクタの現在の表現に関連するデータを記憶する。キャラクタデータ37は、形状データ44、色データ52、画像データ、位置データ(例えば、該仮想キャラクタの空間座標(XYZ)VC)、材料/テクスチャデータ、物理状態データ、視界データ、照明データ(例えば、方向、位置、色及び/又は強度)、音データ、動作データ、衝突データ、環境データ、タイマーデータ及び/又は該仮想キャラクタに関連する他のデータなどの属性90を記憶してもよい。
ここで、実世界オブジェクトライブラリ300内の実世界オブジェクトが分類された所定のオブジェクトファミリ501xに関連仮想キャラクタファミリ700xから関連仮想キャラクタを選択するアルゴリズムにおけるステップを示す、図22のフローチャートを参照する。ここで、仮想キャラクタ選択アルゴリズム2200のステップを、図22に関してさらに詳細に説明する。
ステップ2210で、モバイルARアプリ1000は、(上述したように)ステップ630においてCVM1040によって検出された結果、前記特定の実世界オブジェクトに割り当てられたオブジェクトラベル60xを識別するように構成される。このように、ステップ2210では、モバイルARアプリ1000は、メモリ14にアクセスし、ステップ630において該特定の実世界オブジェクトに割り当てられたオブジェクトラベル60xを識別する。
上記ステップ630で提供された例では、モバイルARアプリ1000は、オブジェクトラベル60x「リモコン」を実世界リモコン102に割り当てた。したがって、ステップ2210により、モバイルARアプリ1000は、メモリ14にアクセスし、実世界リモコン102に割り当てられたオブジェクトラベル60x「リモコン」を識別する。次は、ステップ2220である。
ステップ2220で、モバイルARアプリ1000は、実世界オブジェクトライブラリ300にアクセスし、前記特定の実世界オブジェクトに割り当てられたオブジェクトラベル60xを、実世界オブジェクトライブラリ300に記憶されている実世界オブジェクトのオブジェクト名50xと一致するように構成される。
例えば、ステップ2220で、モバイルARアプリ1000は、実世界リモコン102に割り当てられたオブジェクトラベル60x、すなわち「リモコン」を、実世界オブジェクトライブラリ300に記憶されている実世界オブジェクトのオブジェクト名50xと一致するよう構成される。
上述したように、実世界オブジェクトライブラリ300は、「リモコン」オブジェクト名50xで識別される実世界オブジェクトを含むと仮定される。したがって、ステップ2220の出力は、実世界リモコン102に割り当てられたオブジェクトラベル60x「リモコン」及び、実世界オブジェクトライブラリ300に記憶されている実世界オブジェクトのオブジェクト名50x「リモコン」の間で一致する。
ステップ2230で、モバイルARアプリ1000は、実世界オブジェクトライブラリ300に記憶された前記実世界オブジェクトが分類されたオブジェクトファミリ501xを決定するように構成され、該実世界オブジェクトのオブジェクト名50xは、ステップ2220で該特定の実世界オブジェクトに割り当てられたオブジェクトラベル60xと一致している。このように、モバイルARアプリ1000は、該特定の実世界オブジェクト及びオブジェクトファミリ501xとの間の関連性を決定するように構成される。
本例では、オブジェクト名50x「リモコン」に関連付けられた実世界オブジェクトライブラリ300の実世界オブジェクトは、「リビングルームオブジェクト」オブジェクトファミリ501xに分類されているものとする。したがって、ステップ2230で、本例において、モバイルARアプリ1000は、実世界リモコン102が「リビングルーム」オブジェクトファミリ501xに関連付けられると決定する。
本実施形態では、各オブジェクトファミリ501xは、関連仮想キャラクタファミリ700x(「仮想キャラクタファミリ」)を有していてもよい。仮想キャラクタ700xの関連するファミリは、仮想キャラクタライブラリ400からの仮想キャラクタのサブセットであってもよい。図5の非限定的な実施形態では、モバイルARアプリ1000は、各仮想キャラクタ/オブジェクトファミリ700x、501xに関連付けられた少なくとも2つの固有の仮想キャラクタを含むように構成される。例えば、仮想キャラクタコレクション画面500は、オブジェクトファミリ5011、5012、5013、及び5014及び、仮想キャラクタ7001、7002、7003、7004及び7005のファミリ及び、各仮想キャラクタ/オブジェクトファミリ700x、501x(例えば、仮想キャラクタファミリ7011/オブジェクトファミリ5011に関連付けられた711、712、713、714)に関連付けられた複数の固有の仮想キャラクタからなる仮想キャラクタのコレクション900を示す。
ステップ2240で、モバイルARアプリ1000は、該特定の実世界オブジェクトが関連付けられているオブジェクトファミリ501xに関連付けられた仮想キャラクタファミリ700xから1の仮想キャラクタを選択することによって、関連仮想キャラクタを選択するように構成される。
一部の実施形態では、モバイルARアプリ1000は、仮想キャラクタファミリ700xから、該特定の実世界オブジェクトとの関連性を有する仮想キャラクタをランダムに選択するように構成されてもよい。
他の実施形態では、モバイルARアプリケーション1000は、選択/マッチングアルゴリズム1900(以下でさらに詳細に説明する)を実装することによって、該特定の実世界オブジェクトとの関連性を有するように仮想キャラクタファミリ700xから1の仮想キャラクタを選択するように構成される。さらに他の実施形態では、モバイルARアプリ1000は、上述した仮想キャラクタ選択アルゴリズム2200を実装することなく、該選択/マッチングアルゴリズム1900を実装するように構成される。
ここで、携帯端末10の少なくとも1のプロセッサ12によって実行される選択/マッチングアルゴリズム1900のステップを示す、図19のフローチャートを参照する。一部の実施形態では、モバイルARアプリ1000は、該特定の実世界オブジェクトとの関連付けのために仮想キャラクタライブラリ400から1の仮想キャラクタを選択するために選択/マッチングアルゴリズム1900を実行するように構成されてもよい。他の実施形態では、モバイルARアプリ1000は、仮想キャラクタライブラリ400のサブセットから、すなわち仮想キャラクタファミリ700xから1の仮想キャラクタを選択するように選択/マッチングアルゴリズム1900を実行するように構成されてもよい。本明細書の目的のために、選択/マッチングアルゴリズム1900は、仮想キャラクタライブラリ400から1の仮想キャラクタを選択することに関して以下のように説明される。
ステップ1910で、モバイルARアプリ1000は、特定の実世界オブジェクトに関連するマッチングパラメータを識別するように構成され、ステップ1920で、モバイルARアプリ1000は、仮想キャラクタライブラリ400内の仮想キャラクタに関連する対応するマッチングパラメータを識別するように構成される。これらのマッチングパラメータに関する詳細は、以下に提供される。ステップ1930で、モバイルARアプリ1000は、該特定の実世界オブジェクトに関連するパラメータの値と、仮想キャラクタライブラリ400内の所定の1の仮想キャラクタに関連する対応するパラメータの値と比較し、一致させるように構成される。ステップ1940で、モバイルARアプリ1000は、ステップ1930で決定された一致度に基づいて、仮想キャラクタライブラリ400内の所定の1の仮想キャラクタを選択し、該所定の1の仮想キャラクタは、該特定の実世界オブジェクトと関連付けるために選択されるように構成されている。
次に、選択/マッチングアルゴリズム1900の実装例について、さらに詳細に説明する。
上述したように、ステップ1910で、モバイルARアプリ1000は、該特定の実世界オブジェクトに関連するマッチングパラメータを特定するように構成される。一例では、該マッチングパラメータは、(上述したように)ステップ630でCVM1040によって検出された結果として該特定の実世界オブジェクトに割り当てられたオブジェクトラベル60xであってもよい。ゲームデザイン中、ゲームデザイナは、ODM1010によってキャプチャされた画像において検出された実世界オブジェクトのマッチングパラメータとして、オブジェクトラベル60xの指定をエンコードしてもよい。この指定は、メモリ14に記憶されるゲームデータ35にエンコードされてもよい。
このように、ステップ1910で、モバイルARアプリ1000は、メモリ14にアクセスし、該特定の実世界オブジェクトに割り当てられたオブジェクトラベル60xを、該特定の実世界オブジェクトに関連するマッチングパラメータとして識別する。
ステップ1920で、モバイルARアプリ1000は、仮想キャラクタライブラリ400内の複数の仮想キャラクタに関連する対応するマッチングパラメータを識別するように構成される。本例では、該マッチングパラメータは、候補実世界オブジェクトラベル42xである。
ゲームデザインの初期段階で、ゲームデザイナは、仮想キャラクタライブラリ400内の各仮想キャラクタに対して1又は複数の候補実世界オブジェクトを指定することができる。仮想キャラクタライブラリ400内の所定の仮想キャラクタについて、1又は複数の候補実世界オブジェクトは、ODM1010によってキャプチャされた画像においてCVM1040によって検出され得る実世界オブジェクトに対応し、該所定の仮想キャラクタと関連付けるために考慮され得る。
ゲームデザイン時に、ゲームデザイナは、仮想キャラクタライブラリ400にアクセスし、実世界オブジェクトライブラリ300から1又は複数の実世界オブジェクトを、仮想キャラクタライブラリ400内の各仮想キャラクタに対する1又は複数の候補実世界オブジェクトとしてエンコードしてもよい。この指定は、メモリ14に記憶されたゲームデータ35にエンコードされてもよい。このように、1又は複数の候補実世界オブジェクトは、ゲームのデザイナ/プロデューサーによって予め設定(セット)されていてもよい。
なお、1又は複数の候補実世界オブジェクトのそれぞれは、候補実世界オブジェクトラベル42xなどの識別情報を含んでいてもよい。仮想キャラクタライブラリ400の各仮想キャラクタについて、該1又は複数の候補実世界オブジェクトの候補実世界オブジェクトラベル42xは、メモリ14に記憶されたキャラクタデータ37として、ゲームデータ35に記憶されてもよい。
さらに、ゲームデザイン中に、ゲームデザイナは、仮想キャラクタライブラリ400内の複数の該仮想キャラクタに対するマッチングパラメータとして、候補実世界オブジェクトラベル42xの指定をエンコードすることができる。また、ゲームデザイナは、該特定の実世界オブジェクトのオブジェクトラベル60xに対する該対応するマッチングパラメータとして、候補実世界オブジェクトラベル42xの指定をエンコードしてもよい。この指定は、メモリ14に記憶されたゲームデータ35にエンコードされてもよい。
ここで選択/マッチングアルゴリズム1900に戻ると、ステップ1920で、モバイルARアプリ1000は、メモリ14にアクセスし、候補実世界オブジェクトラベル42xを、該特定の実世界オブジェクトのオブジェクトラベル60xについて該対応するマッチングパラメータとして識別する。
ステップ1930において、モバイルARアプリ1000は、該特定の実世界オブジェクトに関連するパラメータの値を、仮想キャラクタライブラリ400内の複数の仮想キャラクタの所定の1に関連する該対応するパラメータの値と比較し、一致させるように構成される。この例では、モバイルARアプリ1000は、(i)仮想キャラクタライブラリ400内の所定の仮想キャラクタに対する候補実世界オブジェクトラベル42xの1の値と、(ii)CVM1040によって該特定の実世界オブジェクトに割り当てられたオブジェクトラベル60xの値とを一致させるように構成されている。
例えば、モバイルARアプリ1000は、オブジェクトラベル60xに関連するメモリ14に記憶されたテキスト文字列を、候補実世界オブジェクトラベル42xに関連するメモリ14に記憶されたテキスト文字列と比較し、該テキスト文字列間の類似数を識別することにより、前述の複数のラベルを比較するように構成されていてもよい。モバイルARアプリ1000は、該テキスト文字列間の一致度を定義するために、閾値の類似数を必要とするように構成されてもよい。該閾値の類似数以上の類似数を検出した際、モバイルARアプリ1000は、候補実世界オブジェクトラベル42xを、該特定の実世界オブジェクトに割り当てられたオブジェクトラベル60xと一致するとみなしてもよい。閾値の類似数は、ゲームデザイナによるゲームデザイン時に設定され、ゲームデータ35に記憶されてもよい。
ステップ1940で、該特定の実世界オブジェクトのオブジェクトラベル60x及び、仮想キャラクタライブラリ400内の所定の仮想キャラクタの候補実世界オブジェクトラベル42xを一致させるときに、モバイルARアプリ1000は、該特定の実世界オブジェクトとの関連性を有するように該所定の仮想キャラクタを選択するよう構成される。
選択/マッチングアルゴリズム1900は、オブジェクトラベル60x及び候補実世界オブジェクトラベル42xに基づいて、実世界リモコン102と関連付けるための仮想キャラクタ104を選択するための非限定的な例によって説明されるであろう。
ステップ1910で、モバイルARアプリ1000は、実世界リモコン102に関連するマッチングパラメータを識別するように構成される。このように、モバイルARアプリ1000は、メモリ14にアクセスし、実世界リモコン102に割り当てられたオブジェクトラベル60xを、実世界リモコン102に関連するマッチングパラメータとして識別する。この場合、CVM1040による検出により、実世界リモコン102には、オブジェクトラベル60x「リモコン」が割り当てられる。従って、ステップ1910では、実世界リモコン102に関するマッチングパラメータが、オブジェクトラベル60x「リモコン」として識別される。
ステップ1920で、モバイルARアプリ1000は、仮想キャラクタライブラリ400内の複数の仮想キャラクタに関連する対応するマッチングパラメータを識別するように構成される。モバイルARアプリ1000は、メモリ14にアクセスし、候補実世界オブジェクトラベル42xを、仮想キャラクタライブラリ400内の複数の仮想キャラクタに関するマッチングパラメータであり、実世界リモコン102に割り当てられたオブジェクトラベル60xに関する対応するマッチングパラメータであると識別する。
ステップ1930で、モバイルARアプリ1000は、実世界リモコン102に割り当てられたオブジェクトラベル60xの1の値を、仮想キャラクタライブラリ400内の複数の仮想キャラクタの所定の1に対する候補実世界オブジェクトラベル42xの値と比較し、一致させるように構成される。この例では、モバイルARアプリ1000は、実世界リモコン102のオブジェクトラベル60xに関連付けられてメモリ14に記憶された該テキスト文字列「リモコン」及び、仮想キャラクタライブラリ400内の複数の仮想キャラクタのそれぞれについての候補実世界オブジェクトラベル42xに関連付けられてメモリ14に記憶されたテキスト文字列を比較して、該テキスト文字列間の類似性を識別する。
本例では、仮想キャラクタ104の候補の関連実世界オブジェクトラベル42xに関連付けられたメモリに記憶されたテキスト文字列は、「リモコン(複数)」である。モバイルARアプリ1000は、オブジェクトラベル60xに関連付けられたテキスト文字列「リモコン」及び、仮想キャラクタ104の候補実世界オブジェクトラベル42xに関連付けられたテキスト文字列「リモコン(複数)」との類似性を検出する。本例では、ARアプリ1000によって検出された類似数は、複数のテキスト文字列間の一致度を分類するために必要な閾値の類似数以上であると仮定する。このように、モバイルARアプリ1000は、仮想キャラクタ104に関連付けられた候補実世界オブジェクトラベル42x「リモコン(複数)」が、実世界リモコン102に割り当てられたオブジェクトラベル60x「リモコン」と一致するとみなす。
ステップ1940で、実世界リモコン102のオブジェクトラベル60x及び仮想キャラクタ104の候補実世界オブジェクトラベル42xを一致させると、モバイルARアプリ1000は、実世界リモコン102との関連性を有する仮想キャラクタライブラリ400から、仮想キャラクタ104を選択する。
一部の実施形態では、該関連仮想キャラクタは、該特定の実世界オブジェクトとの視覚的な関連性を有するように選択されてもよい。言い換えれば、該関連仮想キャラクタは、該特定の実世界オブジェクトの実世界の視覚特性に対応する視覚特性を有していてもよい。
該視覚特性は、該特定の実世界オブジェクトの形状、該特定の実世界オブジェクトの色、又は該特定の実世界オブジェクトの他の視覚特性を含んでもよいが、これらに限定されることはない。モバイルARアプリ1000は、該特定の実世界オブジェクトをディスプレイ11に表示すると同時に、該関連仮想キャラクタの視覚特性をディスプレイ11に表示するように構成される。
図示の例では、仮想キャラクタ104は、実世界リモコン102と視覚的な関連性を有するように選択され、この場合、仮想キャラクタ104の形状は、実世界リモコン102の実世界の形状に対応する。図1C及び図1Dに示すように、モバイルARアプリ1000は、実世界リモコン102の形状をディスプレイ11に表示すると同時に、仮想キャラクタ104の形状をディスプレイ11に表示するよう構成される。
本例では、仮想キャラクタ104は、上述のように少なくとも1のプロセッサ12によって実行される選択/マッチングアルゴリズム1900にさらに実世界リモコン102との視覚的関連付けのために選択される。ゲームデザイン中、ゲームデザイナは、仮想キャラクタ104の形状及び実世界リモコンの形状間に認められる類似性に基づいて、仮想キャラクタ104のために指定された1又は複数の候補実世界オブジェクトラベル42xのうちの所定の1つとして「リモコン(複数)」を指定していてもよい。
本実施形態の他の実施例では、該関連仮想キャラクタは、オブジェクトラベル60x及び候補実世界オブジェクトラベル42xとは異なるマッチングパラメータに基づいて、選択/マッチングアルゴリズム1900が少なくとも1のプロセッサ12によって実行されるのに加えて、特定の実世界オブジェクトと視覚的に関連付けるために選択されていてもよい。
この例において、CVM1040は、該特定の実世界オブジェクトの形状を検出するように適して訓練されてもよい。例えば、CVM1040は、方法600のステップ610において取得されたカメラデータから該特定の実世界オブジェクトに関連する形状データ64を抽出するように構成されてもよい。形状データ64は、実世界オブジェクトデータセット62の一部としてメモリ14に記憶されてもよい。形状データ64は、前記特定の実世界オブジェクトの境界データ、輪郭データ、エッジデータ、点群データ、及び/又は曲率データを含んでもよいが、これらに限定されるものではない。ゲームデザイン中、ゲームデザイナは、ODM1010によってキャプチャされた画像において検出され得る実世界オブジェクトに対するマッチングパラメータとして、形状データ64の指定をエンコードしてもよい。この指定は、メモリ14に記憶されるゲームデータ35にエンコードされてもよい。
前述したように、仮想キャラクタファミリ400の各仮想キャラクタの形状データ44は、携帯端末10のメモリ14に記憶されたゲームデータ35に含まれる。仮想キャラクタファミリ400の各仮想キャラクタの形状データ44は、該仮想キャラクタの境界データ、輪郭データ、エッジデータ、点群データ、及び/又は曲率データを含むことができるが、これらに限定されるものではない。
ゲームデザイン中、ゲームデザイナは、仮想キャラクタライブラリ400における複数の仮想キャラクタのマッチングパラメータとして、形状データ44の指定をエンコードしてもよい。また、ゲームデザイナは、該仮想キャラクタの形状データ44の指定を、該特定の実世界オブジェクトの形状データ64に対応するマッチングパラメータとしてエンコードしてもよい。本指定は、メモリ14に記憶されたゲームデータ35にエンコードされてもよい。
一例において、該関連仮想キャラクタの形状は、(i)特定の実世界オブジェクトの形状データ64及び(ii)仮想キャラクタライブラリ400内の所定の仮想キャラクタの形状データ44との値の一致に基づいて、該特定の実世界オブジェクトの形状に対応し得る。
本例において、ステップ1910で、モバイルARアプリ1000は、該特定の実世界オブジェクトに関連するマッチングパラメータを特定するように構成される。このように、モバイルARアプリ1000は、メモリ14にアクセスし、形状データ64を該特定の実世界オブジェクトに関連するマッチングパラメータとして識別する。
ステップ1920で、モバイルARアプリ1000は、仮想キャラクタライブラリ400内の該仮想キャラクタに関連する対応するマッチングパラメータを識別するように構成される。このように、モバイルARアプリ1000は、メモリ14にアクセスし、形状データ44を、該特定の実世界オブジェクトの形状データ64に対応するマッチングパラメータとして識別する。
ステップ1930で、本例において、モバイルARアプリ1000は、該特定の実世界オブジェクトの形状データ64の値及び、仮想キャラクタライブラリ400内の仮想キャラクタの形状データ44の値を比較し、一致させるように構成される。モバイルARアプリ1000は、該実世界オブジェクトに関連付けられた形状データ64に関連付けられたデータ点群及び、仮想キャラクタライブラリ400内の仮想キャラクタのそれぞれの形状データ44に関連付けられた対応するデータ点群を比較して、これらのデータ点間の類似性を識別することによって、形状データ44、64を一致させるように構成されてもよい。閾値の類似数以上の類似数を検出すると、モバイルARアプリ1000は、該実世界オブジェクトの形状データ64が、仮想キャラクタライブラリ400内の複数の仮想キャラクタの所定の1の形状データ44に一致するとみなしてもよい。なお、閾値の類似数は、ゲームデザイナがゲームデザイン時に設定し、ゲームデータ35に記憶しておいてもよい。
ステップ1940で、該特定の実世界オブジェクトの形状データ64及び、仮想キャラクタライブラリ400内の所定の仮想キャラクタの形状データ44を一致させる際、モバイルARアプリ1000は、仮想キャラクタライブラリ400から所定の仮想キャラクタを選択し、該特定の実世界オブジェクトとの視覚的関連性を有するよう構成される。
選択/マッチングアルゴリズム1900は、形状データ64、44に基づいて、実世界リモコン102と視覚的に関連付けるための仮想キャラクタ104を選択するためのものとして、非限定的な例によって説明される。
ステップ1910で、モバイルARアプリ1000は、実世界リモコン102に関連するマッチングパラメータを識別するように構成される。このように、モバイルARアプリ1000は、メモリ14にアクセスし、実世界リモコン102に関連する形状データ64を、実世界リモコン102に関連するマッチングパラメータとして識別する。この場合、CVM1040は、方法600のステップ610において取得されたカメラデータからリモコン102の形状データ64を抽出するように構成される。
ステップ1920で、モバイルARアプリ1000は、仮想キャラクタライブラリ400内の仮想キャラクタに関連する対応するマッチングパラメータを識別するように構成される。モバイルARアプリ1000は、メモリ14にアクセスし、該複数の仮想キャラクタの形状データ44を、仮想キャラクタライブラリ400内の複数の仮想キャラクタのマッチングパラメータであるとともに、実世界リモコン102に関連する形状データ64の対応するマッチングパラメータであると識別する。
ステップ1930で、モバイルARアプリ1000は、実世界リモコン102に関連付けられた形状データ64の値を、仮想キャラクタライブラリ400内の複数の仮想キャラクタの所定の1についての形状データ44の値と比較し一致させるように構成される。本例では、モバイルARアプリ1000は、実世界リモコン102に関連付けられた形状データ64に関連付けられたデータ点群及び、仮想キャラクタライブラリ400内の複数の仮想キャラクタのそれぞれに関連付けられた対応するデータ点群を比較し、これらのデータ点間の類似性を検出する。
なお、本例では、ARアプリ1000が検出した類似数は、形状データ64、44間の一致を分類するために必要な閾値の類似数以上であるとする。このように、モバイルARアプリ1000は、仮想キャラクタ104に関連付けられた形状データ44を、実世界リモコン102に関連付けられた形状データ64と一致するものみなす。
ステップ1940で、実世界リモコン102に関連付けられた形状データ64と、仮想キャラクタ104に関連付けられた形状データ44とを一致させると、モバイルARアプリ1000は、実世界リモコン102と視覚的に関連付けられるように、仮想キャラクタ104を選択する。
したがって、仮想キャラクタ104は、仮想キャラクタ104が実世界リモコン102の実世界の視覚特性に対応する視覚特性を有するように、実世界リモコン102との視覚的関連性を有するように選択される。本例では、図1C及び1Dに示すように、仮想キャラクタ104の形状は、実世界リモコン102の実世界の形状に対応し、モバイルARアプリ1000は、実世界リモコン102の形状をディスプレイ11に表示するのと同時に仮想キャラクタ104の形状をディスプレイ11に表示するように構成される。
一部の実施形態では、該関連仮想キャラクタは、該関連仮想キャラクタの1の色が該特定の実世界のオブジェクトの実世界の1の色に対応するように、該特定の実世界オブジェクトとの1の視覚的関連付けを有するように選択される。
本実施形態の実装の一例において、CVM1040は、ステップ610においてODM1010によって取得されたカメラデータから該特定の実世界オブジェクトに関連する色データ66を抽出するために検出するように適切に訓練されてもよい。色データ66は、実世界オブジェクトデータセット62の一部としてメモリ14に記憶されたものを含んでもよい。色データ66は、例えばPantone(登録商標) Matching System、シアン/マゼンタ/イエロー/ブラック(CMYK)値、レッド/グリーン/ブルー(RGB)値又は16進コード(HEX)値どおりに表されるように、該技術分野で既知の色規則どおりの該特定の実世界オブジェクトの色を含んでいてもよい。また、色データ66は、彩度データ及び/又は明度データなどの他の情報を含んでもよい。
ゲームデザイン中、ゲームデザイナは、ODM1010によってキャプチャされる画像において検出され得る実世界オブジェクトに対するマッチングパラメータとして、色データ66の指定をエンコードしてもよい。この指定は、メモリ14に記憶されるゲームデータ35にエンコードされてもよい。
前述したように、仮想キャラクタファミリ400の各仮想キャラクタの色データ52は、携帯端末10のメモリ14に記憶されたゲームデータ35に含まれる。仮想キャラクタファミリ400の各仮想キャラクタの色データ52は、該技術分野で知られている色規則どおりに表される該特定の実世界オブジェクトの色を含んでもよいが、これに限定されない。また、色データ52は、彩度データ及び/又は明度データのような他の情報を含んでもよい。
ゲームデザイン中、ゲームデザイナは、仮想キャラクタライブラリ400における仮想キャラクタのマッチングパラメータとして、色52の指定をエンコードすることができる。また、ゲームデザイナは、該仮想キャラクタの色データ52の指定を、該特定の実世界オブジェクトの色データ66に対応するマッチングパラメータとしてエンコードしてもよい。この指定は、メモリ14に記憶されたゲームデータ35でエンコードされてもよい。
一例では、該関連仮想キャラクタの色は、(i)該特定の実世界オブジェクトの色データ66及び(ii)仮想キャラクタライブラリ400内の所定の仮想キャラクタの色データ52との値の一致に基づいて、該特定の実世界オブジェクトの色に対応してもよい。
本例では、ステップ1910で、モバイルARアプリ1000は、該特定の実世界オブジェクトに関連するマッチングパラメータを識別するように構成される。このように、モバイルARアプリ1000は、メモリ14にアクセスし、色データ66を該特定の実世界オブジェクトに関連するマッチングパラメータとして識別する。
ステップ1920で、モバイルARアプリケーション1000は、仮想キャラクタライブラリ400内の仮想キャラクタに関連する対応するマッチングパラメータを識別するように構成される。このように、モバイルARアプリ1000は、メモリ14にアクセスし、該特定の実世界オブジェクトの色データ66に対応するマッチングパラメータとして、色データ52を識別する。
ステップ1930で、本例では、モバイルARアプリ1000は、該特定の実世界オブジェクトの色データ66の1の値及び、仮想キャラクタライブラリ400内の仮想キャラクタの色データ52の1の値を比較し、一致させるように構成される。モバイルARアプリ1000は、該実世界オブジェクトに関連付けられた色データ66に関連付けられた1のデータ点群及び、仮想キャラクタライブラリ400内の複数の仮想キャラクタのそれぞれに関連付けられた対応するデータ点群を比較して、これらのデータ点間の類似性を識別することによって、色データ52、64を一致させるように構成されてもよい。閾値の類似数以上の類似数を検出すると、モバイルARアプリ1000は、該実世界オブジェクトの色データ66が、仮想キャラクタライブラリ400内の複数の仮想キャラクタの所定の1の色データ52に一致するとみなしてもよい。なお、閾値の類似数は、ゲームデザイナがゲームデザイン時に設定し、ゲームデータ35に記憶しておいてもよい。
ステップ1940で、該特定の実世界オブジェクトの色データ66及び、仮想キャラクタライブラリ400内の所定の仮想キャラクタの色データ52を一致させると、モバイルARアプリ1000は、仮想キャラクタライブラリ400から該所定の仮想キャラクタを選択するように構成され、該仮想キャラクタの所定の1は、該特定の実世界オブジェクトとの1の視覚的関連性を有するよう選択される。
該選択/マッチングアルゴリズム1900は、色データ66、52に基づいて、実世界リモコン102と視覚的に関連付けるための仮想キャラクタ104を選択するためのものとして、非限定的な例によって説明される。
ステップ1910で、モバイルARアプリ1000は、実世界リモコン102に関連する1のマッチングパラメータを識別するように構成される。このように、モバイルARアプリ1000は、メモリ14にアクセスし、実世界リモコン102に関連する色データ66を、実世界リモコン102に関連するマッチングパラメータとして識別する。この場合、CVM1040は、方法600のステップ610において、ODM1010によって取得されたカメラデータからリモコン102の色データ66を抽出するよう構成される。
ステップ1920で、モバイルARアプリ1000は、仮想キャラクタライブラリ400内の仮想キャラクタに関連する対応するマッチングパラメータを識別するように構成される。モバイルARアプリ1000は、メモリ14にアクセスし、該仮想キャラクタの色データ52を、仮想キャラクタライブラリ400内の複数の仮想キャラクタに関するマッチングパラメータであり、実世界リモコン102に関連する色データ66に関する対応するマッチングパラメータであると識別する。
ステップ1930で、モバイルARアプリ1000は、実世界リモコン102に関連付けられた色データ66の1の値を、仮想キャラクタライブラリ400内の複数の仮想キャラクタの所定の1についての色データ52の1の値と比較し、一致させるように構成される。本例では、モバイルARアプリ1000は、実世界リモコン102に関連付けられた色データ66に関連付けられたデータ点群及び、仮想キャラクタライブラリ400内の複数の仮想キャラクタのそれぞれに関連付けられた対応するデータ点群を比較し、これらのデータ点の間の類似性を検出する。
なお、本例では、ARアプリ1000が検出した類似数は、色データ66、52間の一致を分類するために必要な閾値の類似数以上であると仮定する。このように、モバイルARアプリ1000は、仮想キャラクタ104に関連付けられた色データ52を、実世界リモコン102に関連付けられた色データ66と一致するとみなす。
ステップ1940で、実世界リモコン102に関連付けられた色データ66及び、仮想キャラクタ104に関連付けられた色データ52を一致させると、モバイルARアプリ1000は、実世界リモコン102との視覚的関連付けのために仮想キャラクタ104を選択する。
したがって、仮想キャラクタ104は、実世界リモコン102の実世界の視覚特性に対応する視覚特性を有するように、実世界リモコン102との視覚的関連付けを有するように選択される。本例では、モバイルARアプリ1000は、ディスプレイ11に実世界リモコン102の色を表示すると同時に、ディスプレイ11に仮想キャラクタ104の色を表示するように構成される。
上述の視覚特性に加えて、又は選択的に、一部の実施形態では、該関連仮想キャラクタは、該特定の実世界オブジェクトに関連する他の特性、例えば他の視覚特性、移動特性、可聴特性及び/又は触覚特性を有するものとして表されることができる。これらの特性に関する例は、以下でさらに詳細に説明される。
一部の実施形態では、該関連仮想キャラクタは、該特定の実世界オブジェクトに関連する他の視覚特性を有してもよい。非限定的な一例では、該特定の実世界オブジェクトが光源(例えば、ランプ、電球、ろうそく、懐中電灯など)である場合、該関連仮想キャラクタは、光る効果で表現されてもよい。
一部の実施形態では、該関連仮想キャラクタは、ARゲーム環境1005において動きを有し、当該動きが、該特定の実世界オブジェクトの予想される動き(例えば、何らかの物理的な力の下で作動するような動き)に実質的に類似するものとして表現されてもよい。このように、該関連仮想キャラクタは、該特定の実世界オブジェクトの実世界の移動特性に対応する移動特性を有していてもよい。モバイルARアプリ1000は、該特定の実世界オブジェクトをディスプレイ11に表示するのと同時に、該関連仮想キャラクタの移動特性をディスプレイ11に表示するように構成される。
非限定的な一例として、該特定の実世界オブジェクトが1の振り子である場合、生成される関連仮想キャラクタは、固定点を中心に揺れるような外観を有するように表現されてもよい。該関連仮想キャラクタがARゲーム環境1005について移動するように見えるように、該関連仮想キャラクタの他の移動が可能であってもよい。該関連仮想キャラクタ及びARゲーム環境1005内の他の複数の実世界オブジェクトとの間の相互作用を支配するために、適切な衝突検出モデルが実装されてもよい。
一部の実施形態では、該関連仮想キャラクタは、該特定の実世界オブジェクトと可聴関連性を有していてもよい。このように、該関連仮想キャラクタは、該特定の実世界オブジェクトの実世界の可聴特性に対応する可聴特性を有していてもよい。
非限定的な一例では、該特定の実世界オブジェクトが1の風船である場合、関連仮想キャラクタは、ヘリウムガスの影響下での声の効果を模倣する声を有するように表現されてもよい。該声の音は、携帯端末10によって(例えば、スピーカ20を介して)発せられてもよい。
一部の実施形態では、該関連仮想キャラクタは、該特定の実世界オブジェクトと触覚的な関連性を有していてもよい。このように、該関連仮想キャラクタは、該特定の実世界オブジェクトの実世界の触覚特性に対応する触覚特性を有していてもよい。モバイルARアプリ1000は、該特定の実世界オブジェクトをディスプレイ11に表示するのと同時に、該関連仮想キャラクタの触覚特性をディスプレイ11に表示するように構成される。
例えば、該関連仮想キャラクタは、該特定の実世界オブジェクトの特性を表す触覚フィードバックによって表現されてもよく、該触覚フィードバックは、携帯端末10によって(例えば、触覚フィードバックモジュール54及び/又は携帯端末10のディスプレイ11/タッチスクリーン16を介して)放出される。例えば、携帯端末10は、プレイヤ1及び携帯端末10のディスプレイ11/タッチスクリーン16との間の相互作用を通じて、質感を表す信号を伝えるように構成されてもよい。非限定的な一例によれば、該特定の実世界オブジェクトがとげのあるテクスチャを有する場合(例えば、実世界のサボテン)、該関連仮想キャラクタは、それが「とがった」ものとして知覚されるように視覚的に表現されてよく、プレイヤ1は、携帯端末10のディスプレイ11/タッチスクリーン16に触れると刺状感覚を体験することができる。
該関連仮想キャラクタ104は、上述のように、選択/マッチングアルゴリズム1900が少なくとも1のプロセッサ12によって実行されることによって、該特定の実世界オブジェクトと視覚的、動的、可聴的、及び/又は触覚的に関連付けられるように選択されていてもよい。ゲームデザイン中、仮想キャラクタライブラリ400内の複数の仮想キャラクタのそれぞれに1又は複数の候補実世界オブジェクトを指定することに加えて、ゲームデザイナは、仮想キャラクタライブラリ400内の複数の仮想キャラクタのそれぞれに指定された1又は複数の候補実世界オブジェクトの知覚された視覚特性、移動特性、聴覚特性、及び/又は触覚特性に基づき、仮想キャラクタライブラリ400内の複数の仮想キャラクタの1又は複数の視覚特性、移動特性、聴覚特性及び/又は触覚特性をさらにエンコードしていてもよい。これらの特性は、ゲームデザイナによってゲームデータ35でエンコードされた1又は複数の候補特性56から構成されてもよい。
選択/マッチングアルゴリズム1900の結果として該特定の実世界オブジェクトと関連付けるための該仮想キャラクタを選択すると、モバイルARアプリケーション1000は、1又は複数の候補特性56の1又は複数の視覚、移動、聴覚、触覚特性を選択し、該関連仮想キャラクタに関する特性を実装するようにさらに構成されてもよい。このように、該関連仮想キャラクタの視覚、移動、可聴、触覚特性は、ディスプレイ11に該特定の実世界オブジェクトを表示すると同時に、ディスプレイ11に表示され/スピーカ20によって発せられ/触覚フィードバックモジュール54によって実装されてもよい。
他の実施形態では、モバイルARアプリ1000は、携帯端末10のディスプレイ11を介して1又は複数の候補特性56の表示をプレイヤ1に提示するように構成されてもよく、モバイルARアプリ1000は、該関連仮想キャラクタに対して実装する候補特性56の1又は複数を選択するためにプレイヤ入力を提供する機会をプレイヤ1に与えるように構成されてもよい。モバイルARアプリ1000は、GUI48を介して入力する機会を提供してもよい。
他の実施形態では、仮想キャラクタライブラリ400から該特定の実世界オブジェクトとの視覚的関連性を有するように仮想キャラクタを選択するために選択/マッチングアルゴリズム1900を実装するのではなく、モバイルARアプリ1000は、仮想キャラクタライブラリ400から該特定の実世界オブジェクトとの関連性を有するように仮想キャラクタをランダムに選択するように構成され得る。
さらに他の実施形態では、モバイルARアプリ1000は、該特定の実世界オブジェクトと関連付けるために選択された仮想キャラクタライブラリ400から、(ランダムに、又は選択/マッチングアルゴリズム1900の実装を通して)仮想キャラクタのキャラクタデータ37を修正するように構成されてもよい。
例えば、モバイルARアプリ1000は、該グラフィック表現、該数値表現、該幾何学的表現、又は該数学的表現など、該仮想キャラクタの表現88の1又は複数を修正するように構成されてもよい。加えて又は選択的に、モバイルARアプリ1000は、仮想キャラクタの属性90、例えば、形状データ44、色データ52、画像データ、位置データ、材料/テクスチャデータ、物理状態データ、視界データ、照明データ(例えば、方向、位置、色及び/又は強度)、音データ、動作データ、衝突データ、環境データ、タイマーデータ及び/又は該仮想キャラクタに関連する他のデータを修正するよう構成されてもよい。
なお、一実施例では、モバイルARアプリ1000によって選択された仮想キャラクタライブラリ400から所定の仮想キャラクタのキャラクタデータ37を修正するのではなく、キャラクタデータ37の複製を作成してメモリ14に記憶させ、キャラクタデータ37の複製を修正してもよい。
本実施形態の別の実施例では、仮想キャラクタライブラリ400の複数の仮想キャラクタのうちの所定の1又は複数の該キャラクタデータ37は、所定の1つが該特定の実世界オブジェクトの実世界の視覚特性に対応する視覚特性を有するように、修正されてもよい。従って、該複数の仮想キャラクタの所定の1のキャラクタデータ37は、該複数の仮想キャラクタの所定の1が該特定の実世界オブジェクトとの視覚的関連性を有するように、修正されてもよい。
例えば、仮想キャラクタライブラリ400内の複数の仮想キャラクタの所定の1のキャラクタデータ37は、仮想キャラクタライブラリ400内の複数の仮想キャラクタの所定の1の形状データ44及び/又は色データ52がそれぞれ、該特定の実世界オブジェクトの形状データ64及び/又は色データ66に対応するように修正されてもよい。
次に、本実施形態の一実施例について、さらに詳細に説明する。本実施形態は、形状データ44の修正に関して説明されるが、本実施形態は、仮想キャラクタライブラリ400内の複数の仮想キャラクタの所定の1の色データ52の修正を追加的又は選択的に含むことができることを理解されたい。
本例では、CVM1040は、該特定の実世界の形状を検出するように適切に訓練されてもよい。例えば、CVM1040は、方法600のステップ610において取得されたカメラデータから該特定の実世界オブジェクトに関連付けられた形状データ64を抽出するように構成されてもよい。
モバイルARアプリ1000は、該特定の実世界オブジェクトと関連付けるために、仮想キャラクタライブラリ400内の複数の仮想キャラクタの所定の1を選択するようにさらに構成されてもよい。本例では、該選択はランダムであると仮定される。他の例では、該選択は、上述した選択/マッチングアルゴリズム1900を実装することによって行われるものであってもよい。
モバイルARアプリ1000は、仮想キャラクタライブラリ400内の複数の仮想キャラクタの所定の1と関連付けられてメモリ14に記憶された形状データ44にアクセスするように構成される。本例では、モバイルARアプリ1000は、形状データ44が該特定の実世界オブジェクトに関連付けられた形状データ64と同一であるように、仮想キャラクタライブラリ400内の複数の仮想キャラクタの所定の1に関連付けられたメモリ14に記憶されている形状データ44を修正するように構成される。
したがって、仮想キャラクタライブラリ400内の複数の仮想キャラクタから所定の1が選択され、該複数の仮想キャラクタの所定の1が該特定の実世界オブジェクトと視覚的に関連付けられるように、該複数の仮想キャラクタの所定の1に関連付けられたキャラクタデータ37が修正されている。
他の実施形態では、モバイルARアプリ1000は、仮想キャラクタライブラリ400から選択するのではなく、該関連仮想キャラクタを「作成」するように構成されてもよい。
一例では、該関連仮想キャラクタは、キャラクタ属性データベース68からキャラクタ属性を選択することによって「作成」されてもよい。本例では、ゲームデザイン中に、ゲームデザイナは、キャラクタ属性データベース68のキャラクタ属性をゲームデータ35にエンコードしてもよい。該キャラクタ属性は、1の仮想キャラクタのキャラクタデータ37に対応してもよい。このように、キャラクタ属性データベース68は、該仮想キャラクタのグラフィック表現又は数値的、幾何学的もしくは数学的表現を含む複数の表現88から構成されてもよい。キャラクタ属性データベース68は、該仮想キャラクタに関連する形状データ44、色データ52、画像データ、位置データ、材料/テクスチャデータ、物理状態データ、視界データ、照明データ(例えば、方向、位置、色及び/又は強度)、音データ、動作データ、衝突データ、環境データ、タイマーデータ及び/又はその他のデータなどの複数の属性90を記憶することもできる。
本例では、モバイルARアプリ1000は、該特定の実世界オブジェクトと関連付けるために「作成」される該仮想キャラクタに関連付けられたメモリ14内のキャラクタデータ37として記憶するために、キャラクタ属性データベース68から1又は複数の属性を選択するように構成される。本例では、モバイルARアプリ1000は、キャラクタ属性データベース68から1又は複数の属性をランダムに選択する。
モバイルARアプリ1000が、キャラクタ属性データベース68から1又は複数の属性を選択してキャラクタデータ37として記憶すると、1の関連仮想キャラクタが該特定の実世界オブジェクトと視覚的に関連付けるために「作成」されたこととなる。
一部の実施形態では、該関連仮想キャラクタは、該特定の実世界オブジェクトと視覚的な関連性を持つように「作成」される場合がある。言い換えれば、該関連仮想キャラクタは、該特定の実世界オブジェクトの実世界の視覚特性に対応する視覚特性を有してもよい。
例えば、該関連仮想キャラクタの形状データ44及び/又は色データ52がそれぞれ該特定の実世界オブジェクトの形状データ64及び/又は色データ66に対応するように、モバイルARアプリ1000によって該関連仮想キャラクタのキャラクタデータ37が選択されてもよい。
次に、本実施形態の一実施例について、さらに詳細に説明する。本実装は、モバイルARアプリ1000によって「作成された」該関連仮想キャラクタの形状データ44の決定に関して説明されるが、本実装は、モバイルARアプリ1000によって「作成された」該関連仮想キャラクタの色データ52の決定を追加的又は選択的に含むことができることを理解されたい。
本例では、CVM1040は、該特定の実世界オブジェクトの1の形状を検出するように適切に訓練されてもよい。例えば、CVM1040は、方法600のステップ610において取得されたカメラデータから該特定の実世界オブジェクトに関連付けられた形状データ64を抽出するように構成されてもよい。該特定の実世界オブジェクトの形状データ64は、メモリ14に記憶されてもよい。
モバイルARアプリ1000は、メモリ14に記憶された該特定の実世界オブジェクトの形状データ64にアクセスするように構成され、該関連仮想キャラクタの形状データ44を、形状データ44が該特定の実世界オブジェクトに関連付けられた形状データ64と同一であるように生成するように構成される。該関連仮想キャラクタの形状データ44は、メモリ14に記憶される。
モバイルARアプリ1000がキャラクタデータ37を生成すると、該特定の実世界オブジェクトと視覚的に関連付けるための1の関連仮想キャラクタが「作成」されたこととなる。
また、モバイルARアプリ1000は、該特定の実世界オブジェクト及び該関連仮想キャラクタの記録をメモリ14に保持するように構成されてもよい。したがって、図11から13によると、メモリ14に記憶された様々なテーブルは、検出可能な実世界オブジェクトセット58、該関連仮想キャラクタ、及び該特定の実世界オブジェクトと関連する該仮想キャラクタとの間の関係に関する情報を含んでもよい。
具体的には、図11によれば、メモリ14に記憶されたテーブル1100は、検出可能な該実世界オブジェクトセット58内の各実世界オブジェクトに関する情報を含む実世界オブジェクトライブラリ300に関する情報を含んでもよい。テーブル1100内の実世界オブジェクトのそれぞれは、列1101に示されるように、オブジェクト名50xによって識別されてもよい。さらに、ODM1010によって検出された検出可能な実世界オブジェクトセット58内の実世界オブジェクトは、オブジェクトID1111によって識別されてもよい。
テーブル1100は、該実世界オブジェクトのそれぞれが属するオブジェクトファミリ501xを示す列1105を含んでもよい。また、CVM1040が該実世界オブジェクトに割り当てたオブジェクトラベル60xは、表1100の列(例えば、図11の列1107)に含まれてもよい。オブジェクトラベル60xは、該所定の実世界オブジェクトが検出された結果、CVM1040によって割り当てられてもよい。例えば、実世界リモコン102は、「リビングルーム」オブジェクトファミリ501xの一部であってよく、「リモコン」オブジェクトラベル60xが割り当てられてもよい。該実世界オブジェクトの分類の他の適切な形態が実施されてもよい。
以下でさらに説明するように、CVM1040の出力は、CVM1040が該実世界オブジェクトを正しく識別した確実性のレベルを示す信頼度800を含むように構成されてもよい。信頼度800は、メモリ14に記憶されてもよく、この情報は、テーブル1100の列1113に含まれてもよい。
また、後述するように、検出可能な実世界オブジェクトセット58の構成は、時間の経過とともに変化することがある。したがって、テーブル1100は、実世界オブジェクトが現在検出可能な実世界オブジェクトセット58の一部であるか否かの表示を含んでもよい。例えば、本情報は、テーブル1100の列1103に記憶されてもよい。
テーブル1100は、実世界オブジェクトライブラリ300内の1の実世界オブジェクトが検出されたか否か、及び/又は該関連仮想キャラクタが該実世界オブジェクトから放出されたか否か/によって生成されたか否かについての表示も含むことができる。さらに、実世界オブジェクトライブラリ300内の複数の実世界オブジェクトのそれぞれの状態(例えば、検出されたか否か、検出されていないか否か、検出可能な実世界オブジェクトセット58の一部ではないので検出不可能であるか否か)に関する情報が、テーブル1100に含まれてもよい。
図12に関して、メモリ14に記憶されたテーブル1200は、仮想キャラクタライブラリ400の各仮想キャラクタに関する情報を含んでもよい。テーブル1200内の複数の仮想キャラクタのそれぞれは、1の名前/1のオブジェクトID1201によって識別されてもよい。
上述したとおり、一部の実施形態において、モバイルARアプリ1000は、各仮想キャラクタを仮想キャラクタファミリ700x(「仮想キャラクタファミリ」)に分類するように構成されてもよい。テーブル1200は、各仮想キャラクタが属する仮想キャラクタファミリ700xを示してもよい。本情報は、テーブル1200に、例えば、列1203に含まれてもよい。
また、該テーブル1200には、上述した候補実世界オブジェクトラベル42x、キャラクタデータ37、及び候補特性58に関連する情報が含まれていてもよい。本情報は、テーブル1200の列1205、1207、1209にそれぞれ含まれてもよい。
テーブル1200は、例えば、該仮想キャラクタが該特定の実世界オブジェクトから生成された/によって生成された場合、又はモバイルARアプリ1000によってロックされているとみなされ、そのため特定の実世界オブジェクトから生成できない/生成されない場合(図12のテーブル1200の列1207に示すように)、該仮想キャラクタそれぞれの状態の表示も含むことができる。
図13によると、メモリ14に記憶されたテーブル1300は、該特定の実世界オブジェクトと該関連仮想キャラクタとの間の接続又は関連に関する情報を含んでもよい。テーブル1300は、該特定の実世界オブジェクト及び、該特定の実世界オブジェクトから生成された/によって生成された該関連仮想キャラクタとの表示を含んでもよい。例えば、テーブル1300は、該実世界オブジェクト及び該仮想オブジェクトのオブジェクトIDを関連付けてもよい(図13のテーブル1300の列1301及び1303に示されるとおり)。また、テーブル1300には、該実世界オブジェクトのオブジェクトラベル60xや、該実世界オブジェクトが属するオブジェクトファミリ501xなどの追加情報が含まれてもよい(図13のテーブル1300の列1305及び1307に示されるとおり)。
以下でさらに説明するように、モバイルARアプリ1000は、該特定の実世界オブジェクト及び/又は該関連仮想キャラクタにポイント値を属性付けさせるように構成されてもよい。該点数値に関する情報は、テーブル1300に(例えば、列1311に)記憶されてもよい。
また、テーブル1300は、該実世界オブジェクトを検出したプレイヤの表示(列1313)及び、該関連仮想キャラクタがARゲーム環境1005で生成された時間(列1315)を含んでもよい。
また、テーブル1300は、該特定の実世界オブジェクトの空間座標(XYZ)RW及び、該関連仮想キャラクタの生成時t=tgenにおけるプレイヤの空間座標(XYZ)1との表示を含んでもよい。該特定の実世界オブジェクトの空間座標(XYZ)RWは、実世界オブジェクトデータ62の一部として、メモリ14に記憶されてもよい。また、テーブル1300は、該実世界オブジェクトの検出時t=tdetにおけるプレイヤ1及び該特定の実世界オブジェクトとの間の距離の表示を含んでもよい。
また、テーブル1300は、該特定の実世界オブジェクトの現在の空間座標(XYZ)RWの表示及び、該特定の実世界オブジェクトから放出された/によって生成された該関連仮想キャラクタの現在の空間座標(XYZ)VCの表示も含んでもよい。
モバイルARアプリ1000は、該関連仮想キャラクタが該特定の実世界オブジェクトから放出された/によって生成されたことに対応する視覚効果を生成するようにも構成され得る。視覚効果の非限定的な例は、該関連仮想キャラクタが該特定の実世界オブジェクトから放出されようとしている/によって生成されようとしていることを示す、「仮想フラリッシュ」からなる。そのような仮想フラリッシュは、該特定の実世界オブジェクトの近傍でディスプレイ11上に表示される1のコンピュータ生成画像(CGI)要素、携帯端末10上で生成される聴覚信号及び/又は触覚信号、又は該関連仮想キャラクタが該特定の実世界オブジェクトから放出されようとしている/によって生成されようとしていることをプレイヤ1に示すために適した他の信号を含み得るが、これらに限定されるものではない。
モバイルARアプリ1000は、該関連仮想キャラクタが該特定の実世界オブジェクトから放出されている/によって生成されていることをプレイヤ1に示すことを目的とする効果を提供するために、モーションラインとともに現れる1のCGI要素によって該関連仮想キャラクタを表すように構成されてもよい。該関連仮想キャラクタは、ステップ640で作成されたアンカー46から解き放たれてもよい。一部の実施形態では、この効果は、該関連仮想キャラクタと該特定の実世界オブジェクトとの間の距離が増すにつれて関連仮想キャラクタのサイズを大きくさせる効果によってさらに強化され得る。一部の実施形態では、他の効果も追加することができ、これには、ニヤニヤする、目を開く又は閉じるなど、関連仮想キャラクタの「顔の表情」を変更することが含まれるが、これらに限定されない。
図示された例示的な実施形態では、図1Bに示されるように、モバイルARアプリ1000は、仮想キャラクタ104が実世界リモコン102から放出されようとしていることを示す1の仮想フラリッシュ103(例えば、「きらめき」)を生成するように構成されてもよい。図1Cに示すように、仮想キャラクタ104は、モーションライン105とともに出現し、仮想キャラクタ104が実世界リモコン102「から生成」されていることをプレイヤ1に示すことを目的とした効果を提供する。また、図1C及び図1Dとの間では、仮想キャラクタ104と実世界リモコン102との間の距離が増すにつれて、仮想キャラクタ104のサイズが大きくなっている。さらに、仮想キャラクタ104は、図1C及び図1Dの画像100Cと100Dの間で、閉じた状態から開いた状態に変化するように示される「目」を有して描かれる。最後に、図1Dは、仮想キャラクタ104が実世界リモコン102から完全に放出された状態を示している。
また、該特定の実世界オブジェクト及び該関連仮想キャラクタに関して後述する他の実施形態において、他の効果を付加することもできる。
例えば、該関連仮想キャラクタが該特定の実世界オブジェクトから放出される/によって生成される様子を伝える効果が追加されてもよい。例えば、モバイルARアプリ1000は、該関連仮想キャラクタが該特定の実世界オブジェクトの開口部から「抜ける」ように見えることによって、効果を作成するように構成されてもよい。さらに別の例では、該関連仮想キャラクタを該特定の実世界オブジェクトから「引っ張る」ためにプレイヤ入力が要求され得るような抵抗の効果が作成されてもよい。他の実施形態では、前述の効果のいずれか、又はそれらの組み合わせは、該関連仮想キャラクタが該特定の実世界オブジェクトから徐々に「引き出される」ときに引き伸ばされ、その後に通常の形状を取り戻すという効果によって、さらに強化することができる。追加の効果として、該特定の実世界オブジェクトが該関連仮想キャラクタに変換される様子があってもよい。例えば、該特定の実世界オブジェクトは、該関連仮想キャラクタに折り畳まれたり、展開されたりするように出現してもよい。
他の実施形態では、モバイルARアプリ1000は、該関連仮想キャラクタが生成されているとき、又は該特定の実世界オブジェクトから放出された/生成された後に、該携帯端末10のディスプレイ11上に該関連する情報を表示するように構成されてもよい。そのような情報は、該関連仮想キャラクタの名前、該関連仮想キャラクタのポイント値、又は仮想キャラクタが属する「仮想キャラクタコレクション」の名前(以下でより詳細に説明する)を含んでもよいが、これらに限定されるものではない。
上述した効果の出現を強調するために、モバイルARアプリ1000は、該関連仮想キャラクタが該特定の実世界オブジェクトから放出されている/によって生成されている間、ディスプレイ11上に提示される画像をピンぼけ又は暗くなって見えるように変更するように構成されてもよい。
該関連仮想キャラクタが該特定の実世界オブジェクトから放出され/によって生成されると、該特定の実世界オブジェクトの位置に大まかに配置されたアンカー46が取り除かれてもよい。
次はステップ660である。
ステップ660
一部の実施形態では、モバイルARアプリ1000は、該関連仮想キャラクタが該特定の実世界オブジェクトから放出される/によって生成されてさらにプレイヤのゲームプレイを進めるように構成されてもよい。
例えば、該関連仮想キャラクタは「収集された」とみなされてもよく、モバイルARアプリ1000はプレイヤのスコアを増加させてもよく、又は該関連仮想キャラクタをプレイヤ1に関連する「仮想キャラクタコレクション」に追加してもよい。図5によると、仮想キャラクタコレクション900は、ゲームプレイの様々な側面が記録され、例えば「仮想キャラクタコレクション画面」500上でプレイヤ1に提示されてもよいデータコンテナであってもよい。
一部の実施形態では、モバイルARアプリ1000は、仮想キャラクタコレクション画面500にアクセスするための入力を提供する機会をプレイヤ1に提供するように構成されてもよい。例えば、仮想キャラクタコレクション画面500にアクセスするための入力は、GUI48を介してプレイヤ1によって提供されてもよい。プレイヤの入力に応答して、モバイルARアプリ1000は、携帯端末10のディスプレイ11に、モバイルARアプリ1000によってキャプチャされて提示されているシーンの画像の表示を停止し、仮想キャラクタコレクション画面500の表示を開始するように構成されてもよい。同様に、仮想キャラクタコレクション画面500が携帯端末10のディスプレイ11に表示されているとき、仮想キャラクタコレクション画面500の表示を停止し、モバイルARアプリ1000が撮像して提示しているシーンの画像をディスプレイ11に表示し始めるように、プレイヤ1によってGUI48を介してプレイヤ入力が行われてもよい。
収集した仮想キャラクタは、何らかの方法で強調表示してもよいし、太字で表示してもよい(例えば、図5に示すとおり)。特定の仮想キャラクタが収集されたことをプレイヤ1に伝えるその他の方法を用いてもよい。
ゲームセッション中、モバイルARアプリ1000は、仮想キャラクタとの関連性を有するすべての実世界オブジェクトの記録を維持するようにも構成され得る。モバイルARアプリ1000は、検出可能な実世界オブジェクトセット58のうち、ゲームセッション中に未検出の実世界オブジェクトの記録を維持するようにも構成され得る。モバイルARアプリ1000は、ゲームセッション中に未検出の検出可能な実世界オブジェクトセット58内の該実世界オブジェクトに関連付けられ得る複数の仮想キャラクタの記録を保持するようにも構成され得る。同様の情報の任意の組み合わせが、仮想キャラクタコレクション画面500に表示され、プレイヤ1に提示されてもよい。
モバイルARアプリ1000は、さらに、仮想キャラクタコレクション画面500を通じて、各仮想キャラクタファミリ700xをプレイヤ1に提示するように構成されてもよい。特に、仮想キャラクタコレクション画面500は、プレイヤの仮想キャラクタコレクション900に関連する情報を提示してもよく、上述したように、実世界の物理的位置に関連してもよいオブジェクトファミリ501xの仮想キャラクタ71x、72x、73x、74x、75x(例えば、オブジェクトファミリ5011の仮想キャラクタ71x、及びオブジェクトファミリ72xの仮想キャラクタ72x)をさらに提示してよい。
一部の実施形態では、ゲームプレイは、追加仮想キャラクタファミリ700xのロックを解除することによってさらに進めることができる。例えば、追加仮想キャラクタファミリ700xのロックを解除することは、プレイヤ1が所定の数の仮想キャラクタを収集したこと、及び/又はプレイヤ1が所定の仮想キャラクタファミリ700x内の全ての仮想キャラクタを収集したことの結果であってよい。別の例では、追加仮想キャラクタファミリ700xのロックを解除することはまた、実世界オブジェクトの特定の組み合わせを検出した結果であってもよい。例えば、該実世界オブジェクトの特定の組み合わせは、(実世界オブジェクトに割り当てられた)オブジェクトラベル60xの特定の組み合わせとして識別されてもよく、又は1又は複数のオブジェクトファミリ501xの一部の実世界オブジェクトの閾値が進行に必要であってもよい。
ここで、該関連仮想キャラクタが該特定の実世界オブジェクトから放出された/によって生成された状況(ステップ650参照)に戻ると、該関連仮想キャラクタは仮想キャラクタコレクション900に追加されてもよい。これは、モバイルARアプリ1000によって、プレイヤの入力なしに、例えば、その放出/生成に続いて直ちに又は所定の時間遅延の後に、自律的に行われてもよい。他の実施形態では、該関連仮想キャラクタが仮想キャラクタコレクション900に追加されるために、プレイヤ1からの入力が要求されてもよい。例えば、プレイヤ1は、ディスプレイ11/タッチスクリーン16上の該関連仮想キャラクタに触れること、又は該関連仮想キャラクタに関連する該特定の実世界オブジェクトに触れること(これはカメラによって検出されるであろう)、又はディスプレイ11/タッチスクリーン16の他の部分に触れることを要求されてもよい。
一部の実施形態では、実世界オブジェクトは、仮想キャラクタコレクション900の実世界表現として指定されてもよい。例えば、「収納」に分類されるオブジェクトファミリ501xからの実世界オブジェクト(例えば、引き出し、キャビネット、箱など)が、仮想キャラクタコレクション900と関連付けられてもよい。このように、仮想キャラクタコレクション900を構成する仮想キャラクタコレクション画面500は、該実世界オブジェクトから放出された/によって生成されたように見えてもよい。さらに、モバイルARアプリ1000は、仮想キャラクタを収集すると、当該収集した仮想キャラクタを仮想キャラクタコレクション900に追加する際に、該実世界オブジェクトに向かって、及び/又は、その中に移動するように表現する効果をもたらすように構成されていてもよい。
他の実施形態では、ポイントベース・システムを用いてプレイヤのゲームプレイをさらに進めることができる。例えば、プレイヤ1は、ポイントの閾値が満たされると、さらなる仮想キャラクタファミリ700xのロックを解除するためのポイントを蓄積することを要求されてもよい。
ここで、前記関連仮想キャラクタが該特定の実世界オブジェクトから放出された/によって生成された状況に戻り(ステップ650参照)、モバイルARアプリ1000は、該特定の実世界オブジェクト及び/又は該関連仮想キャラクタにポイント値を属性付けするように構成され得る。一部の実施形態では、ポイント値は、該シーン内の実世界オブジェクトの密集度に基づいて属性付けされてもよい。例えば、該特定の実世界オブジェクトが、検出可能な実世界オブジェクトの密集度がより高い領域に位置する場合(単位面積当たり又は単位体積当たりの検出可能な実世界オブジェクトの数が所定の閾値を超えるという観点から)、該属するポイント値は、該特定の実世界オブジェクトが検出可能な実世界オブジェクトの密集度がより低い領域に位置する場合よりも低くてもよい。
他の実施形態では、該ポイント値は、該シーン内の他の検出可能な実世界オブジェクトに対する、プレイヤ1と該特定の実世界オブジェクトとの間の物理的距離に依存し得る。例えば、プレイヤからの物理的距離が異なる2の検出可能な実世界オブジェクトが与えられると、該2の検出可能な実世界オブジェクトのうち近い方から放出/によって生成される1の関連仮想キャラクタに低いポイント値が属性付けされることになる。これにより、プレイヤ1は、より高いスコアを得るために物理的に(実世界で)移動してもよいことを意味する。
他の実施形態では、該特定の実世界オブジェクトから放出された/によって生成された関連仮想キャラクタに属するポイント値は、時間の関数として変化してよい。例えば、該ポイント値は、プレイヤ1が該特定の実世界オブジェクトを見つける/検出するために必要な時間の関数として減少してもよい。時間の持続時間は、モバイルARアプリ1000の起動時間から計算されてもよいし、ゲームプレイ時間の設定量から計算されてもよい。
別の例では、該カメラ画像において検出された複数の検出可能な実世界オブジェクトがある場合、該実世界オブジェクトのそれぞれから放出される/によって生成される仮想キャラクタのポイント値は、該複数の実世界オブジェクトのそれぞれに割り当てられた1の特定のオブジェクトラベル60xのカウントに基づいてもよい。例えば、1のオブジェクトラベル601が割り当てられた3つの検出可能な実世界オブジェクト及び、1のオブジェクトラベル602が割り当てられた1の検出可能な実世界オブジェクトが与えられた場合、オブジェクトラベル602が割り当てられた検出可能な実世界オブジェクトに関連するポイント値は、オブジェクトラベル601が割り当てられた検出可能な実世界オブジェクトに関連するポイント値より高くてもよい。
上述した1の仮想キャラクタ104の生成方法及び仮想キャラクタに関して説明した効果(すなわち、ステップ610から660)は、図2Aから2B、3Aから3E及び4Aから4Cの仮想キャラクタ204、304、404に適用できることは、当業者には理解されよう。図1Aから図1D、2Aから2B、3Aから3E、及び4Aから4Cに示すように、各仮想キャラクタ(又は仮想キャラクタ)104、204、304、404はそれぞれ異なる実世界のオブジェクト102、202、302、402から放出され/に関連付けられることが可能である。
例えば、図2Aは、モバイルARアプリ1000によって携帯端末10のディスプレイ11上にキャプチャされ提示され得るシーンの画像200Aを示す。画像200Aは、実世界のキャビネット201と実世界フライ返し202とを含むように示されている。
図示された例示的な実施形態では、該カメラ画像は、実世界キャビネット201及び実世界フライ返し202を含む。本例のために、実世界リモートフライ返し202のみが、検出可能な実世界オブジェクトセット58に含まれると仮定する。
ステップ610で、ODM1010は、携帯端末10のカメラフィード(すなわち、ビデオフレーム)から画像をキャプチャする。ステップ620で、モバイルARアプリ1000は、受信したカメラ画像を処理するように構成され、最終的にステップ630で、CVM1040の正の出力の結果として実世界フライ返し202がシーン内に検出される。ステップ640で、モバイルARアプリ1000のAR API 1020は、実世界フライ返し202の位置に大まかに確立されるアンカー46を提供し、実世界フライ返し202に関連付けられる最終的な仮想キャラクタ204のためのアンカーを提供するように構成される。
ステップ650において、モバイルARアプリ1000は、実世界フライ返し202及び仮想キャラクタ204の間の関連付けを作成する。この例では、関連付けられた仮想キャラクタ204は、仮想キャラクタ204の形状が実世界フライ返し202に対する形状に対応するように、実世界フライ返し202との視覚的関連付けを有するように選択される。仮想キャラクタ204は、少なくとも1のプロセッサ12によって実行される選択/マッチングアルゴリズム1900によって仮想キャラクタライブラリ400から選択されてもよいし、上述したようにモバイルARアプリ1000によって「作成」されたものであってもよい。
仮想キャラクタ204が実世界フライ返し202から放出される/によって生成されることに対応する視覚効果、すなわち仮想フラリッシュ203が、図2Aに示されている。仮想キャラクタ204は、仮想キャラクタ204が実世界フライ返し202から「生成」されていることをプレイヤ1に示すことを目的とした効果を提供するために、モーションライン205とともに表示される。
図2Bに提示された例示的な実施形態に示されるように、仮想キャラクタ204に関連する属性は、それが実世界フライ返し202から放出された/によって生成された後に携帯端末10のディスプレイ11に表示される。この実施形態では、モバイルARアプリ1000は、仮想キャラクタ204の名前/識別子(すなわち、図2Bの「スパッチ」)、仮想キャラクタ204のポイント値(すなわち、図2Bに示すように「500pt」)、仮想キャラクタ204が属する「仮想キャラクタコレクション」の名前(すなわち、図2Bに示すように「キッチン」)を表示するように構成される。
仮想キャラクタ204が実世界フライ返し202から放出され/によって生成されると、仮想キャラクタ204は仮想キャラクタコレクション900に追加されてもよい。
別の例では、図3Aは、モバイルARアプリ1000によって携帯端末10のディスプレイ11上にキャプチャされ提示され得る別のシーンの画像300Aを示す。画像300Aは、実世界キャビネット301及び実世界ステープラ302を含むように示されている。
図示された例示的な実施形態では、該カメラ画像は、実世界キャビネット301及び実世界ステープラ302を含む。本例のために、実世界ステープラ302及び実世界キャビネット301の両方が、検出可能な実世界オブジェクトセット58に含まれるものと仮定される。
ステップ610で、ODM1010は、携帯端末10のカメラフィード(すなわち、ビデオフレーム)から画像をキャプチャする。ステップ620で、モバイルARアプリ1000は、受信したカメラ画像を処理するように構成され、最終的にステップ630で、CVM1040の正の出力の結果として、実世界ステープラ302がシーン内で検出される。ステップ640で、モバイルARアプリ1000のAR API1020は、実世界ステープラ302の位置に大まかに確立されるアンカー46を提供し、実世界ステープラ302と関連付けられる最終的な仮想キャラクタ304のためのアンカーを提供するように構成される。
ステップ650において、モバイルARアプリ1000は、実世界ステープラ302及び仮想キャラクタ304の間の関連付けを作成する。この例では、関連仮想キャラクタ304は、仮想キャラクタ304の形状が実世界ステープラ302に対する形状に対応するように、実世界ステープラ302との視覚的関連性を有するように選択される。仮想キャラクタ304は、少なくとも1のプロセッサ12によって実行される選択/マッチングアルゴリズム1900によって仮想キャラクタライブラリ400から選択されてもよいし、上述のように、モバイルARアプリ1000によって「作成」されてもよい。
仮想キャラクタ304が実世界ステープラ302から放出される/によって生成されることに対応する視覚効果、すなわち仮想フラリッシュ303が図3Aに示されている。仮想キャラクタ304は、仮想キャラクタ304が実世界ステープラ302から「生成」されていることをプレイヤ1に示すことを目的とした効果を提供するために、モーションライン305とともに表示される。
さらに、本実施形態では、仮想フラリッシュ303及びモーションライン305の見え方を強調するために、モバイルARアプリ1000は、仮想キャラクタ304が実世界ステープラ302から放出される/によって生成されている間、ディスプレイ11に提示される画像を暗くして見えるように変更するように構成される。
仮想キャラクタ304が実世界ステープラ302から放出され/によって生成されると、仮想キャラクタ304は、仮想キャラクタコレクション900に追加されてもよい。図3Eは、仮想キャラクタコレクション900が表示された仮想キャラクタコレクション画面500を示す図である。仮想キャラクタコレクション画面500には、オブジェクトファミリ5015の一部である仮想キャラクタ304が表示されている。仮想キャラクタ304は、仮想キャラクタファミリ7005の一部である仮想キャラクタ304である。
図3Bの図示の実施形態では、1の実世界オブジェクトは、仮想キャラクタコレクション900を表す1の仮想オブジェクトと関連性を有するものとなっている。このように、本実施形態では、実世界キャビネット301は、仮想キャラクタコレクション900を表す1の仮想オブジェクトとの関連付けを有するように構成されている。そのため、図3Cに示すように、仮想キャラクタコレクション900を構成する仮想キャラクタコレクション画面500は、後述するように、実世界キャビネット301から放出/によって生成されたように表示される。
したがって、ステップ610で、ODM1010は、携帯端末10のカメラフィード(すなわち、ビデオフレーム)から画像をキャプチャする。ステップ620において、モバイルARアプリ1000は、受信したカメラ画像を処理するように構成され、最終的にステップ630において、CVM1040の正の出力の結果として実世界キャビネット301がシーン内で検出される。ステップ640に進む前に、モバイルARアプリ1000は、実世界キャビネット301に割り当てられたオブジェクトラベル60xが、候補オブジェクトファミリとして分類された検出可能実世界オブジェクトセット58の実世界オブジェクト部分(例えば、「ストレージ」として分類されたオブジェクトファミリ501x)に割り当てられたオブジェクトラベル60xに対応するかどうかを判断するよう構成されてもよい。肯定的な場合、方法はステップ640に進み、モバイルARアプリ1000のAR API1020が、仮想キャラクタコレクション900を表す最終的な仮想オブジェクト804のためのアンカーを提供するために、該実世界キャビネット301の位置で大まかに確立されるアンカー46を提供するように構成される。
ステップ650において、モバイルARアプリ1000は、図3Cに示すように、実世界キャビネット301及び仮想キャラクタコレクション900を表す仮想オブジェクト804を関連付ける記録をメモリ14に作成する。
仮想オブジェクト804が実世界キャビネット301から放出される/によって生成されることに対応する視覚効果、すなわち仮想フラリッシュ803が、図3Aに示されている。仮想キャラクタ803は、仮想オブジェクト804が実世界キャビネット301から「生成」されていることをプレイヤ1に示すことを目的とした効果を提供するために、モーションライン805と共に表示される。
モバイルARアプリ1000は、仮想キャラクタコレクション画面500をプレイヤ1に表示させ、仮想キャラクタコレクション900を表示させるために、仮想オブジェクト804を介してプレイヤ1に起動入力を行う機会を提供するように構成されてもよい。例えば、プレイヤ1は、図3Dに示すように、仮想オブジェクト804に触れることによって起動入力を行うことができる。プレイヤ1からの起動入力を検出すると、モバイルARアプリ1000は、図3Eに示すように、仮想キャラクタコレクション画面500を表示して、プレイヤ1に仮想キャラクタコレクション900を提示するように構成されてもよい。
さらに別の例では、図4Aは、モバイルARアプリ1000によって携帯端末10のディスプレイ11上にキャプチャされ提示され得るシーンの画像400Aを示す。画像400Aは、実世界キャビネット401及び実世界歯ブラシ402を含むように示されている。
図示された例示的な実施形態において、該カメラ画像は、実世界キャビネット401及び実世界歯ブラシ402を含む。本例のために、実世界歯ブラシ402のみが、検出可能な実世界オブジェクトセット58に含まれるものとする。
ステップ610で、ODM1010は、携帯端末10のカメラフィード(すなわち、ビデオフレーム)から画像をキャプチャする。ステップ620で、モバイルARアプリ1000は、受信したカメラ画像を処理するように構成され、最終的にステップ630で、CVM1040の正の出力の結果として、実世界歯ブラシ402がシーン内で検出される。ステップ640で、モバイルARアプリ1000のAR API1020は、実世界歯ブラシ402の位置に大まかに確立されるアンカー46を提供して、実世界歯ブラシ402に関連付けられる最終的な仮想キャラクタ404のためのアンカーを提供するよう構成される。
ステップ650で、モバイルARアプリ1000は、実世界歯ブラシ402及び仮想キャラクタ404の間の関連付けを作成する。この例では、関連仮想キャラクタ404は、仮想キャラクタ404の形状が実世界歯ブラシ402に対する形状に対応するように、実世界歯ブラシ402との視覚的関連性を有するように選択される。仮想キャラクタ404は、少なくとも1のプロセッサ12によって実行される選択/マッチングアルゴリズム1900によって仮想キャラクタライブラリ400から選択されてもよいし、上述したようにモバイルARアプリ1000によって「作成」されたものであってもよい。
仮想キャラクタ404が実世界歯ブラシ402から放出される/によって生成されることに対応する視覚効果、すなわち仮想フラリッシュ403が、図4Aに示されている。仮想キャラクタ404は、仮想キャラクタ404が実世界歯ブラシ402から「生成」されていることをプレイヤ1に示すことを目的とした効果を提供するために、モーションライン405とともに表示される。
図4Cに示すように、実世界歯ブラシ402がカメラ26の視野に入らなくなり、その結果ディスプレイ11に提示されなくなった場合にも、仮想キャラクタ404はディスプレイ11に提示される場面の画像に残っていてもよい。このような場合、実世界歯ブラシ402の空間座標(XYZ)RW及び仮想キャラクタ404の空間座標(XYZ)VCは、異なっていてもよい。仮想キャラクタ404が実世界歯ブラシ402から放出され/によって生成されると、仮想キャラクタ404は仮想キャラクタコレクション900に追加されてもよい。
一部の実施形態では、第1仮想キャラクタが第1実世界オブジェクトから放出される/によって生成されることに加えて、第2実世界オブジェクトが、モバイルARアプリ1000のCVM1040によって検出されてもよい。第2実世界オブジェクトが検出されると、第2仮想キャラクタは、第2実世界オブジェクトから放出される/によって生成される場合がある。このように、モバイルARアプリ1000は、第1実世界オブジェクト及び第1仮想キャラクタの間に関連付けを作成し、また、第2実世界オブジェクト及び第2仮想キャラクタの間に別の関連付けを作成する。また、第1仮想キャラクタが第1実世界のオブジェクトから放出され/によって生成される前に第2実世界オブジェクトが検出され、2の同時生成操作が生じることも可能である。
関連実世界オブジェクト及び関連仮想キャラクタ
他の実施形態では、方法600のステップ630で、複数の関連実世界オブジェクトがCVM1040によって検出されてもよい。該複数の関連実世界オブジェクトは、実世界における可視的な関係によって関連してもよい。例えば、該複数の実世界オブジェクトは、実世界において物理的に接触していてもよい(例えば、物理的に接続されていてもよい)。例えば、該複数の実世界オブジェクトは、実世界において可視的に関連していてもよい。このような実施形態では、モバイルARアプリ1000は、該複数の関連実世界オブジェクト及び複数の関連仮想キャラクタとの間に関連性を作成するように構成されてもよく、各仮想キャラクタはそれぞれの実世界オブジェクトと関連付けられている。
本実施形態の実装の一例において、図17Aは、モバイルARアプリ1000によって携帯端末10のディスプレイ11上にキャプチャされ提示され得るシーンの画像1700Aを示す。画像1700Aは、実世界コップ1702内に位置する実世界ストロー902及び、テーブル1801を含むように示されている。本実施例のために、実世界ストロー902及び実世界コップ1702のみが検出可能な実世界オブジェクトセット58に含まれると仮定する。
ステップ610で、ODM1010は、携帯端末10のカメラフィード(すなわち、ビデオフレーム)から画像をキャプチャする。ステップ620で、モバイルARアプリ1000は、受信したカメラ画像を処理するように構成され、最終的にステップ630で、CVM1040の正の出力の結果として、実世界ストロー902がシーン内で検出される。
依然としてステップ630を実行し続けている間、CVM1040は、同様に、第2実世界オブジェクト、すなわち実世界コップ1702を検出する。このように、ステップ630は、複数の実世界オブジェクトの検出を含んでもよい。
本例では、実世界コップ1702の検出時に、ステップ640で、モバイルARアプリ1000のAR API1020は、実世界ストロー902に関連付けられる最終的な仮想キャラクタ904のためのアンカーを提供するアンカー461及び、実世界コップ1702に関連付けられる最終的な仮想キャラクタ1704のためのアンカーを提供するアンカー462を設けるように構成される。
ステップ650で、モバイルARアプリ1000は、実世界ストロー902及び仮想キャラクタ904の間の関連付け及び、実世界コップ1702及び仮想キャラクタ1704の間の関連付けを作成する。図17Bに示すように、仮想キャラクタ904の形状は、実世界ストロー902に対する形状に対応し、仮想キャラクタ1704の形状は、実世界コップ1702の形状に対応する。すなわち、仮想キャラクタ904はストロー状であり、仮想キャラクタ1704はコップ状である。仮想キャラクタ904、1704は、少なくとも1のプロセッサ12によって実行される選択/マッチングアルゴリズム1900によって仮想キャラクタライブラリ400から選択されてもよいし、上述のように、モバイルARアプリ1000によって「作成」されてもよい。
図示された例示的な実施形態では、図17Bに示されるように、モバイルARアプリ1000は、仮想キャラクタ904が実世界ストロー902から放出されようとしていることを示す仮想フラリッシュ903(例えば、「きらめき」)及び仮想キャラクタ1004が実世界コップ1702から放出されようとしていることを示す仮想フラリッシュ1703を生成するように構成されてもよい。図17Bに示すように、仮想キャラクタ904、1104のそれぞれは、モーションライン905、1705とともに登場し、仮想キャラクタ904、1704が実世界リモートストロー902及び実世界コップ1702から「生成」されていることをプレイヤ1に示すことを目的とした演出を行うことが可能である。最後に、図17Cは、仮想キャラクタ904、1704が実世界のリモートストロー902及び実世界コップ1702から完全に放出されたことを示す。
関連仮想キャラクタ904、1704が特定の実世界オブジェクト902、1702から放出され/によって生成されると、関連仮想キャラクタ904、1704は仮想キャラクタコレクション900に追加されてもよい。
単一の実世界オブジェクト及び複数の仮想キャラクタ
一部の実施形態では、モバイルARアプリ1000は、単一の実世界オブジェクト及び単一の仮想キャラクタの間の関連付けを作成するように構成されてもよいが、他の実施形態では、モバイルARアプリ1000は、単一の実世界オブジェクト及び複数の仮想キャラクタの間の関連付けを作成するように構成されてもよい。
非限定的な一例では、図18Aは、モバイルARアプリ1000によって携帯端末10のディスプレイ11上にキャプチャされ提示され得るシーンの画像1800Aを示す。画像1800Aは、実世界ブドウの房1802及びテーブル1701を含むように示されている。本実施例のために、実世界のブドウの房1802のみが、検出可能な実世界オブジェクトセット58に含まれるものと仮定する。
ステップ610で、ODM1010は、携帯端末10のカメラフィード(すなわち、ビデオフレーム)から画像をキャプチャする。ステップ620で、モバイルARアプリ1000は、受信したカメラ画像を処理するように構成され、最終的にステップ630で、CVM1040の正の出力の結果として、実世界ブドウの房1802がシーン内に検出される。本実施形態では、適切に訓練されたCVM1040は、実世界ブドウの房1802が個々の実世界ブドウ1902からなることを検出してもよい。
ステップ640で、モバイルARアプリ1000のAR API1020は、実世界ブドウの房1802の位置に大まかに設けられる複数のアンカー46xを提供し、実世界ブドウの房1802に関連付けられる最終的に複数の仮想キャラクタ1804xにアンカーを提供するように構成される。
ステップ650で、モバイルARアプリ1000は、実世界ブドウの房1802及び、複数の仮想キャラクタ1804xの間の関連付けを作成する。モバイルARアプリ1000はまた、個々の実世界ブドウ1902及び複数の仮想キャラクタ1804xのそれぞれのものとの間の関連付けを作成する。仮想キャラクタ1804xは、少なくとも1のプロセッサ12によって実行される選択/マッチングアルゴリズム1900によって仮想キャラクタライブラリ400選択されてもよいし、上述のように、モバイルARアプリ1000によって「作成」されてもよい。
図示された例示的な実施形態では、図17Bに示されるように、モバイルARアプリ1000は、仮想キャラクタ1804xが実世界ブドウの房1802/個々のブドウ1902から放出されようとしていることを示す仮想フラリッシュ1803(例えば、「きらめき」)を生成するように構成されてもよい。また、図18Bに示すように、仮想キャラクタ1804xのそれぞれは、モーションライン1805とともに登場し、仮想キャラクタ1804xが実世界ブドウの房1802/個々のブドウ1902から「生成」されていることをプレイヤ1に示すことを目的とした演出を提供する。最後に、図18Cは、仮想キャラクタ1804xが実世界ブドウの房1802/個々のブドウ1902から完全に放出された状態を示している。
一旦、関連仮想キャラクタ1804xが実世界ブドウの房1802/個々のブドウ1902から放出され/によって生成されると、関連仮想キャラクタ1804xは仮想キャラクタコレクション900に追加されてもよい。
検出可能な実世界オブジェクト群
検出可能な実世界オブジェクトセット58の大きさは、ゲームセッション中の所定の時間における検出可能な実世界オブジェクトセット58内の該実世界オブジェクトの総数として定量化されてもよい。一部の実施形態では、検出可能な実世界オブジェクトセット58のサイズは、ゲームセッションの経過とともに変化(例えば、増加、減少)し得る。例えば、該画像データにおける実世界オブジェクトの特定の組み合わせの検出時に、検出可能な実世界オブジェクトセット58の大きさが変化してもよい。該実世界オブジェクトの組み合わせは、CVM1040によって該実世界オブジェクトに割り当てられたオブジェクトラベル60xの特定の組み合わせとして特徴付けられることがある。例えば、モバイルARアプリ1000は、特定のオブジェクトファミリ501x内の実世界オブジェクトの閾値の検出時に、検出可能な実世界オブジェクトセット58のサイズを増加させるように構成されてもよい。本実施形態の非限定的な例によれば、特定のオブジェクトファミリ501x(例えば、キッチンオブジェクトファミリ5011)内の実世界オブジェクトの数が、ゲームデータ35にエンコードされた実世界オブジェクトの閾値を満たす、又は超えることが検出されると、検出可能な実世界オブジェクトセット58のサイズは増加してもよい。
一部の実施形態では、検出可能な実世界オブジェクトセット58の構成は、時間と共に変化してもよい(すなわち、検出可能な実世界オブジェクトセット58内の該特定の実世界オブジェクトは、時間と共に変化してもよい)。
一部の実施形態では、該実世界オブジェクトは、限られた期間だけ検出可能であってよい。例えば、該実世界オブジェクトは、限られた期間の間、検出可能な実世界オブジェクトセット58の一部であってもよい。したがって、モバイルARアプリ1000は、各実世界オブジェクトのタイマに基づいて、検出可能な実世界オブジェクトセット58内のメンバーシップを維持するように構成されてもよい。このように、モバイルARアプリ1000は、各実世界オブジェクトに有効期限を割り当て、有効期限を監視し、有効期限に到達するか又はそれを超えると、検出可能な実世界オブジェクトセット58から該実世界オブジェクトを除去するように構成されてもよい。同様に、モバイルARアプリ1000は、1の仮想キャラクタを放出したら/生成したら、検出可能な実世界オブジェクトセット58から1の実世界オブジェクトを削除するように構成される。
一部の実施形態では、実世界オブジェクトに割り当てられた有効期限は、ゲームセッション中に変化することもある。例えば、実世界オブジェクトの有効期限は、該実世界オブジェクトに割り当てられたオブジェクトラベル60x及び、検出され、この同じオブジェクトラベル60xに割り当てられた該実世界オブジェクトの総数の関数として増加又は減少してもよい。例えば、検出され、特定のオブジェクトラベル60xを割り当てられたオブジェクトの数を追跡するために、変数がメモリ14に記憶されてもよい。モバイルARアプリ1000は、該変数の値に基づいて、この特定のオブジェクトラベル60xを割り当てられた実世界のオブジェクトに割り当てられた有効期限を変更するように構成されてもよい。例えば、特定のオブジェクトラベル60xを割り当てられた実世界オブジェクトの閾値を満たすか、又はそれを超えると、モバイルARアプリ1000は、この特定のオブジェクトラベル60xを割り当てられた実世界オブジェクトに割り当てられた有効期限を短縮するように構成されてもよい。したがって、特定のオブジェクトラベル60xを割り当てられた1のオブジェクトが検出可能な実世界オブジェクトセット58の一部であり得る期間は、ゲームセッション中に変更可能であってもよい。
したがって、モバイルARアプリ1000は、ステップ630における実世界オブジェクトの検出時に、該実世界オブジェクトに割り当てられたオブジェクトラベル60xに基づいて、検出可能実世界オブジェクトセット58内の実世界オブジェクトの有効期限を変更するよう構成されてもよい。
一部の実施形態では、仮想キャラクタは、該オブジェクト検出ステップ(方法600のステップ630)において信頼度の閾値800xが満たされるか、又はそれを超えない限り、該実世界オブジェクトから放出されない/によって生成されないことがある。上述したように、信頼度800は、CVM1040が該オブジェクトを識別した確実性のレベルを表す。具体的には、信頼度800は、CVM1040によって割り当てられたオブジェクトラベル60xが、検出された該特定の実世界オブジェクトと実際に対応する確実性のレベルを表す。各実世界オブジェクトの実世界オブジェクトデータ62は、オブジェクトラベル60x(例えば、「リモコン」、「フライ返し」)及び信頼度800(例えば、0-100%)を含む。
本例では、ARゲーム環境1005における仮想キャラクタの生成は、信頼度の閾値800xが満たされるか、又はそれを超えると発生する。したがって、モバイルARアプリ1000は、CVM1040で画像データを処理することによって、キャプチャされた画像内の実世界オブジェクトを識別するように構成される。モバイルARアプリ1000は、所定の実世界オブジェクトに属する信頼度800が所定の閾値800x(例えば65%)を超えるか否かを判断するように構成される。所定の実世界オブジェクトの信頼度800が信頼度の閾値800xを下回る場合、方法はステップ640に進まず、該仮想キャラクタは生成されない。しかしながら、特定の実世界オブジェクトの信頼度800が所定の信頼度の閾値800xを上回ると判定された場合、仮想キャラクタは生成され得る。
検出イベント
一部の実施形態では、関連仮想キャラクタが特定の実世界オブジェクトから放出された/によって生成された後、該特定の実世界オブジェクトは、その後、携帯端末10のカメラフィード(すなわちビデオフレーム)からの画像に含まれてよく、そのように該特定の実世界のオブジェクトが2回目にCVM1040によって検出されることがある。
本実施形態の一実装例では、2回目に該画像内の特定の実世界オブジェクトを検出すると、モバイルARアプリ1000は、該特定の実世界オブジェクトとの関連付けを有する新たな仮想キャラクタを生成せずに、該関連仮想キャラクタ及び該特定の実世界オブジェクトの間の関連付けを保持するように構成されている。このように、該特定の実世界オブジェクトとの関連性を有する第2仮想キャラクタは生成されず、モバイルARアプリ1000は、該関連仮想キャラクタがディスプレイ11に表示され続ける限り(又は、該関連仮想キャラクタがディスプレイ11に表示されなくなったとしても)、該関連仮想キャラクタ及び該特定の実世界オブジェクトの間の関連性を保持するように構成される。
したがって、ステップ640に進む前に、該方法は、関連仮想キャラクタがステップ630で検出された該実世界オブジェクトから放出されたか/によって生成されたかを判断する観点から、メモリ14に記憶されている記録にアクセスするステップを追加的に含んでもよい。肯定的な場合、本実施形態において、該方法はステップ640に進まない。否定的な場合、該方法はステップ640に進んでもよい。
本実施形態の別の実施例では、該画像内の特定の実世界オブジェクトを2回目に検出すると(場合によっては閾値の時間が経過した後に)、モバイルARアプリ1000は、該特定の実世界オブジェクト及び第2仮想キャラクタの間の関連付けを作成するように構成されてもよい。したがって、該特定の実世界オブジェクト及び第1関連仮想キャラクタとの第1関連付けに関する情報、並びに該特定の実世界オブジェクト及び第2関連仮想キャラクタとの第2関連付けに関する情報は、携帯端末10のメモリ14に記憶されたテーブル1300に含まれることになる。
一部の実施形態では、モバイルARアプリ1000は、該第1関連仮想キャラクタ及び該特定の実世界オブジェクトとの間の関連付けを保持し、該第1関連仮想キャラクタがディスプレイ11上に表示され続けるにつれて第2関連仮想キャラクタを生成するように構成される。他の実施形態では、モバイルARアプリ1000は、該第1関連仮想キャラクタ及び該特定の実世界オブジェクトとの間の関連付けを保持し、該第1関連仮想キャラクタがディスプレイ11上に表示されなくなると、該第2関連仮想キャラクタを生成するように構成される。
一部の実施形態では、該第2関連仮想キャラクタは、該第1関連仮想キャラクタと同じポイント値を有してもよい。他の実施形態では、該第2関連仮想キャラクタは、該第1関連仮想キャラクタと異なるポイント値を有していてもよい。
一部の実施形態では、1の関連仮想キャラクタが、CVM1040によって1の特定のオブジェクトラベル60xを割り当てられた1の第1実世界オブジェクトから放出された/によって生成された後、1の第2実世界オブジェクトが該携帯端末10のカメラフィード(すなわちビデオフレーム)からの1の画像に現れ、該第1実世界オブジェクトに割り当てられたのと同じ特定のオブジェクトラベル60xが割り当てられてもよい。
例えば、CVM1040によって検出され、1の特定のオブジェクトラベル601が割り当てられた1の第1実世界オブジェクト及び1の第2実世界オブジェクトを考慮し、モバイルARアプリ1000は、1の新たな仮想キャラクタ及び該第2実世界オブジェクトとの間に関連性を作成しないように構成されてもよい。このように、モバイルARアプリ1000は、該第2実世界オブジェクトとの関連付けを有する1の新たな仮想キャラクタを生成することなく、該関連仮想キャラクタ及び該第1実世界オブジェクトとの間の関連付けを保持するように構成される。この関連付けは、該関連仮想キャラクタがディスプレイ11に表示され続ける場合、又は、該関連仮想キャラクタがディスプレイ11に表示されなくなった場合であっても保持される。
したがって、ステップ640に進む前に、該方法は、1の関連仮想キャラクタが、該第2実世界オブジェクトに割り当てられたオブジェクトラベル601を割り当てられた実世界オブジェクトから放出されたか/によって生成されたかを判断する観点から、さらに、メモリ14に記憶された記録にアクセスするステップを含んでもよい。肯定的な場合は、該方法はステップ640に進まない。否定的な場合は、該方法はステップ640に進む。
本実施形態の他の実施例では、モバイルARアプリ1000は、1の新しい仮想キャラクタ及び、オブジェクトラベル601が割り当てられた該第2実世界オブジェクトとの間の関連付けを作成するように構成されてもよい。
このように、モバイルARアプリ1000は、該関連仮想キャラクタ及び該第1実世界オブジェクトとの間の関連付けを保持し、該第2実世界オブジェクトとの関連付けを有する1の新たな仮想キャラクタを生成するように構成される。この関連付けは、該関連仮想キャラクタがディスプレイ11に表示され続ける場合、又は、該関連仮想キャラクタがディスプレイ11に表示されない場合であっても保持される。
一部の実施形態では、該新たな仮想キャラクタは、該第1関連仮想キャラクタと同じポイント値を有してもよい。他の実施形態では、該新しい仮想キャラクタは、該第1関連仮想キャラクタと異なるポイント値を有してもよい。
一部の実施形態では、モバイルARアプリ1000は、該特定の実世界オブジェクトが検出され得る回数を制限するように構成されてもよい。他の実施形態では、モバイルARアプリ1000は、1の特定の実世界オブジェクトに関連付けられる仮想キャラクタの数を制限するように構成されてもよい。さらに他の実施形態では、モバイルARアプリ1000は、1の特定のオブジェクトラベル60xを割り当てられた実世界オブジェクトに関連する仮想キャラクタの数を制限するように構成されてもよい。
したがって、モバイルARアプリ1000は、これらの値を追跡するために、メモリ14内に変数を記憶するように構成されてもよい。一例では、モバイルARアプリ1000は、1の特定の実世界オブジェクトが検出された回数を追跡するために、メモリ14に変数を記憶してもよい。別の例では、モバイルARアプリ1000は、1の特定の実世界オブジェクトに関連付けられた仮想キャラクタの数を追跡するために、メモリ14に変数を記憶してもよい。さらに別の例では、モバイルARアプリ1000は、1の特定のオブジェクトラベル60xが関連付けられた実世界オブジェクトの数を追跡するために、メモリ14内に変数を記憶してもよい。モバイルARアプリ1000は、ゲームセッション中に、実世界オブジェクトが検出され、及び/又は実世界のオブジェクト及び仮想キャラクタとの間に関連付けが作成されると、これらの変数を増加させるように構成されてもよい。
ステップ640に進む前に、該方法は、該変数の現在値に基づいて、閾値制限を満たしたか、又は超えたかを判断するステップを含んでもよい。該閾値制限を満たしているか、又は超えている場合、該方法はステップ640に進まなくてもよい。該閾値制限を満たしていない場合、該方法はステップ640に進んでもよい。
一部の実施形態では、ODM1010は、検出可能な実世界オブジェクトセット58からの複数の実世界オブジェクトが同時に存在し得る携帯端末10のカメラフィードから1の画像をキャプチャしてもよい。このように、該カメラ画像を処理する際に、モバイルARアプリ1000は、最終的に複数の実世界オブジェクトを検出することができる。
一例では、複数の実世界オブジェクトの検出時に、モバイルARアプリ1000は、1の仮想キャラクタが放出/生成される実世界オブジェクトであるように該複数の実世界オブジェクトのうちの特定の1を選択する機会をプレイヤ1に提供するように構成されてもよい。例えば、プレイヤ1は、該特定の(すなわち、選択されるべき)実世界オブジェクトを表示するディスプレイ11/タッチスクリーン16の一部にタッチすることによって選択を実行してもよい。他の例では、プレイヤ1は、ディスプレイ11/タッチスクリーン16の他の部分に触れることによって、又は他の適切な機構を介して、選択を実行することができる。
別の例では、該複数の実世界オブジェクトを検出すると、モバイルARアプリ1000は、1の仮想キャラクタが放出される/生成されるオブジェクトであるとして該複数の実世界オブジェクトのうちの特定の1をランダムに選択するように構成されてもよい。
さらに別の例では、複数の実世界オブジェクトを検出すると、モバイルARアプリ1000は、1の実世界オブジェクト選択アルゴリズム1400を実行して、仮想キャラクタが放出される/生成される実世界オブジェクトであるとして、複数の実世界オブジェクトのうちの特定の1を選択するように構成されてもよい。
ここで、モバイルARアプリ1000によって実行される実世界オブジェクト選択アルゴリズム1400のステップを示す図14のフローチャートが参照される。ステップ1410で、該複数の実世界オブジェクトのそれぞれは、1又は複数の基準に基づいてランク付けされる。
・特定のオブジェクトラベル60xの出現回数のカウント
モバイルARアプリ1000は、ゲームセッション中に1の実世界オブジェクトに割り当てられた特定のオブジェクトラベル60xの発生回数をメモリ14に記憶するように構成されてもよい。モバイルARアプリ1000は、メモリ14にアクセスして、特定のオブジェクトラベル60x、例えばオブジェクトラベル601の発生のカウントを決定し、さらに、特定のオブジェクトラベル60xのカウントに基づいて、シーン内で検出された該複数の実世界オブジェクトのそれぞれにランキングを割り当てるように構成されてもよい。カウントが少ないほど、高いランキングに関連付けられてもよい。
・特定の実世界オブジェクトに関連する信頼度800の度合い
前述のように、モバイルARアプリ1000は、該CVM1040による検出時に1の実世界オブジェクトに属する信頼度800をメモリ14に記憶するように構成される。モバイルARアプリ1000は、メモリ14にアクセスして、シーン内で検出された該実世界オブジェクトのそれぞれに対する信頼度800を決定するように構成されてもよく、さらに、信頼度800に基づいてシーン内で検出された該複数の実世界オブジェクトのそれぞれにランキングを割り当てるように構成されてもよい。信頼度800が高いほど、より高いランキングに関連付けられてもよい。
・所定の実世界オブジェクト及び他の実世界オブジェクトとの近接
モバイルARアプリ1000は、シーン内で検出された該実世界オブジェクトのそれぞれの間の距離を決定するように構成されてもよい。他の実世界オブジェクトからより遠い距離にある実世界オブジェクトは、互いにより近い距離にある実世界オブジェクトよりも高い評価を得てもよい。
複数の実世界オブジェクトを評価する際に、他の基準が考慮されてもよい。
一部の実施形態において、モバイルARアプリ1000は、該基準のそれぞれに1の重みWを割り当てるように構成されてもよい。一部の実施態様では、該基準のそれぞれの重みWは同じであってもよい。他の実施態様では、該基準のそれぞれの重みは、異なっていてもよい。
このように、ステップ1420で、モバイルARアプリ1000は、該複数の実世界オブジェクトのそれぞれについて、重み付けされたランキングの合計を決定するように構成されてもよい。
ステップ1430で、該複数の実世界オブジェクトのうち、最も高い評価を受けた実世界オブジェクトが決定され、ステップ1440で、この実世界オブジェクトが1の仮想キャラクタとの関連付けのために選択される。
バーチャルキャラクタの生成条件
上記に示したように、一部の実施形態では、モバイルARアプリ1000によって該特定の実世界オブジェクトが検出されると、モバイルARアプリ1000は、該特定の実世界オブジェクトに関連する入力を提供する機会をプレイヤ1に提供するように構成されてもよい。
例えば、一部の実施形態では、方法600がステップ640に進むために、CVM1040によって検出され得るように、該カメラフィードからキャプチャされた該画像データにおいて該特定の実世界オブジェクトと同時にプレイヤ1の顔3が存在する必要がある場合がある。
例えば、図20Aは、モバイルARアプリ1000によって携帯端末10のディスプレイ11上にキャプチャされ提示され得るシーンの画像2000Aを示す。画像2000Aは、実世界テーブル2001及び実世界リモコン102を含むように示されている。図示された例示的な実施形態において、該カメラ画像は、実世界キャビネット201及び実世界リモコン102を含む。本例のために、実世界リモコン102のみが検出可能な実世界オブジェクトセット58に含まれると仮定する。
ステップ610で、ODM1010は、携帯端末10のカメラフィード(すなわち、ビデオフレーム)から画像をキャプチャする。ステップ620で、モバイルARアプリ1000は、受信したカメラ画像を処理するように構成され、最終的にステップ630において、CVM1040の正の出力の結果として実世界リモコン102がシーン内に検出される。
本実施形態では、モバイルARアプリ1000は、プレイヤが自身の顔3をキャプチャ画像に含めることを要求するように構成されている。モバイルARアプリ1000は、携帯端末のディスプレイ11に表示されるメッセージ、及び/又は携帯端末10のスピーカ20によって発せられる可聴キュー、及び/又は触覚フィードバックモジュール54によって発せられる触覚フィードバックによって、この要求を発することができる。
図20Bは、モバイルARアプリ1000によって携帯端末10のディスプレイ11上にキャプチャされ、提示され得るシーンの画像2000Bであり、プレイヤの顔3及び実世界リモコン102の両方が含まれる。
モバイルARアプリ1000は、該受信したカメラ画像を処理するように構成され、最終的には、CVM1040の正の出力の結果として、ステップ630で、プレイヤ1の該顔3及び実世界リモコン102が両方ともシーン内に検出される。ステップ640で、モバイルARアプリ1000のAR API1020は、実世界リモコン102に関連付けられる1の最終的な仮想キャラクタ104のためのアンカーを提供するために、実世界リモコン102の位置で大まかに確立されるようにアンカー46を提供するように構成される。
ステップ640で、モバイルARアプリ1000のAR API1020は、実世界リモコン102に関連付けられる最終的な仮想キャラクタ204のためのアンカーを提供するために、実世界フライ返し202の位置で大まかに確立されるアンカー46を提供するように構成される。仮想キャラクタ204が実世界リモコン102から放出される/によって生成されることに対応する視覚効果、すなわち仮想フラリッシュ103が、図20Dに示されている。仮想キャラクタ104は、仮想キャラクタ104が実世界リモコン102「から生成」されていることをプレイヤ1に示すことを目的とした効果を提供するために、モーションライン105とともに表示される。
ステップ650で、モバイルARアプリ1000は、実世界リモコン102及び仮想キャラクタ104との間に関連付けを作成する。
他の実施形態では、該特定の実世界オブジェクトが検出されると、モバイルARアプリ1000は、該特定の実世界オブジェクト及び該仮想キャラクタとの間に関連付けが作成されるのを防ぐために入力を提供する機会をプレイヤ1に提供してもよい。例えば、プレイヤ1は、該特定の実世界オブジェクトが表示されているディスプレイ11/タッチスクリーン16の一部をタッチしてもよい。他の例では、プレイヤ1は、ディスプレイ11/タッチスクリーン16の他の部分に触れることによって、又は他の適切な機序を介して入力を提供することができる。
このように、ステップ640に進む前に、方法600は、該実世界オブジェクト及び1の仮想キャラクタとの間の関連付けの作成を防止するよう要求するプレイヤ入力を検出するステップを含んでもよい。そのような入力が検出された場合、該方法はステップ640に進まない。そのような入力がない場合、該方法はステップ640に進む。
一部の実施形態では、ステップ640で、モバイルARアプリ1000は、該関連仮想キャラクタが該実世界のシーンに現れる他の検出可能な実世界オブジェクトを隠す又は妨害する該関連下層キャラクタの出現を最小化するように、アンカー46の位置を選択するように構成されてもよい。
図15は、アンカー46を位置決めするために携帯端末10の少なくとも1のプロセッサ12によって実施され得るアルゴリズム1500のステップを示すフローチャートである。
ステップ1510で、モバイルARアプリ1000は、該画像データにおいて、検出可能な実世界オブジェクトセット58から他の実世界オブジェクトを検出するように構成される。ステップ1520で、モバイルARアプリ1000は、該他の実世界オブジェクトの低密度を有する該実世界シーンの画像データ内の少なくとも1の領域(「低密度領域」)を検出するよう構成される。ステップ1530で、モバイルARアプリ1000は、該低密度領域に関連する位置に該関連仮想キャラクタのためのアンカー46を確立する。
ARゲーム環境内でのインタラクション
一部の実施形態では、モバイルARアプリ1000は、1の関連仮想キャラクタを操作するための入力(すなわち、キャラクタ操作入力)を提供する機会をプレイヤ1に提供するように構成されてもよい。例えば、プレイヤ1は、該関連仮想キャラクタが表示されているディスプレイ11/該タッチスクリーン16の一部をタッチしてもよい。他の例では、プレイヤ1は、ディスプレイ11/該タッチスクリーン16の他の部分に触れることによって、又は他の適切な機序を介して入力を提供してもよい。
該関連仮想キャラクタは、該関連仮想キャラクタの位置を変更したり、該関連仮想キャラクタを修正したり(例えば、色、形状、サイズ、スケール、方向/向きなどのうちの1又は複数を修正する)、様々な異なる方法で操作されてもよい。
本実施形態の実装の一例では、プレイヤ1からの該キャラクタ操作入力を検出することに応答して、モバイルARアプリ1000は、該関連仮想キャラクタが該キャラクタ操作入力に応答していることをプレイヤ1に示すことを目的とする効果で該関連仮想キャラクタを表現するように構成されてもよい。一部の実施形態では、該エフェクトは、該関連仮想キャラクタの「表情」、例えば、にやにやする、目を開く又は閉じるなどの変化、又は該関連仮想キャラクタの姿勢の変化などを含んでもよいが、これらに限定されるものではない。
一部の実施形態では、プレイヤ1及び該関連仮想キャラクタは、「相互作用」してもよい。例えば、該関連仮想キャラクタは、実世界においてプレイヤ1を「追従」している印象をプレイヤ1に与えてもよい。例えば、プレイヤ1が実世界で移動すると、モバイルARアプリ1000は、該関連仮想キャラクタ及びプレイヤ1との間の所定の距離を維持するように構成されてもよい。例えば、プレイヤ1の空間座標(XYZ)1がメモリ14に記録されてもよい。また、前述したように、該関連仮想キャラクタの空間座標(XYZ)VCがメモリ14に記録されていてもよい。プレイヤ1の該空間座標(XYZ)1及び該関連仮想キャラクタの該空間座標(XYZ)VCとの間に所定の距離を維持することにより、プレイヤ1及び該関連仮想キャラクタとの間の距離が維持されてもよい。
一部の実施形態では、2以上のデバイスが該同じ物理空間でモバイルARアプリ1000を実行し、これらのデバイスを操作する2人以上のプレイヤが異なる視点から実質的に同一の仮想世界をリアルタイムで経験するように、共有AR体験が確立されてもよい。
例えば、第1プレイヤであるプレイヤ1は、モバイルARアプリ1000を実行する該携帯端末10を操作し、第2プレイヤであるプレイヤ2は、モバイルARアプリ1000を実行する1の携帯端末82を操作してもよい。本例では、プレイヤ1及びプレイヤ2は、該同じ物理空間に存在し、共有されたAR体験が確立されている。本実施形態では、プレイヤ1の携帯端末10が特定の該実世界オブジェクトを検出した可能性があるが、該関連仮想キャラクタは両方の携帯端末10、82に表示される。
本実施形態の実装の一例では、プレイヤ2が携帯端末82の1のディスプレイ84/1のタッチスクリーン86を介して、該関連仮想キャラクタを操作するキャラクタ操作入力を行った場合、モバイルARアプリ1000は、そのようなキャラクタ操作の実装を回避するように構成されてもよい。
本実施形態では、該関連仮想キャラクタは、実世界においてプレイヤ2から「逃げる」印象をプレイヤ2に与えてもよい。例えば、プレイヤ2が実世界で移動すると、モバイルARアプリ1000は、該関連仮想キャラクタ及びプレイヤ2との間に所定の距離を維持するように構成されてもよい。例えば、プレイヤ1の空間座標(XYZ)2がメモリ14に記録されてもよい。プレイヤ2の該空間座標(XYZ)2及び該関連仮想キャラクタの該空間座標(XYZ)VCとの間の所定の距離を維持することにより、プレイヤ2及び該関連仮想キャラクタとの間の距離が維持されてもよい。さらに、該関連仮想キャラクタの向きは、該関連仮想キャラクタがプレイヤ2から「顔をそむける」ように見えるものであってもよい。
一部の実施形態では、モバイルARアプリ1000は、複数の関連仮想キャラクタが携帯端末10のディスプレイ11上に一緒に表示され得るように構成されてもよい。そのような実施形態では、モバイルARアプリ1000は、該関連仮想キャラクタが互いに相互作用するように表現するように構成されてもよい。例えば、該複数の関連仮想キャラクタは、互いに「戦闘」していてもよい。本相互作用は、プレイヤ入力が提供された結果として、又はプレイヤ入力とは無関係に、トリガーとなる及び/又は制御されてもよい。
したがって、図16によると、少なくとも1のプロセッサによる実行のための方法1600が提供されていることが理解されるであろう。ステップ1610で、該方法は、ゲームセッション中、1の拡張現実(AR)ゲーム環境を維持することを含む。ステップ1620で、該方法は、1又は複数の実世界オブジェクトを含む実世界シーンを表す画像データを受信することを含む。ステップ1630で、該方法は、検出可能な実世界オブジェクト群から少なくとも1の実世界オブジェクトを該画像データにおいて検出することを含む。ステップ1640で、該方法は、該画像データにおける該少なくとも1の実世界オブジェクトの検出時に、該ARゲーム環境において該少なくとも1の仮想キャラクタを生成し、該少なくとも1の仮想キャラクタは、該少なくとも1の実世界オブジェクトとの関連性を有することを含む。
上述した方法、システム、及びアプリケーションの結果、モバイルARアプリ1000は、該ゲーム環境における該複数の仮想キャラクタの生成を誘発する複数の実世界オブジェクトを見つけるために、プレイヤに彼らの携帯端末を物理的に動かすよう強制することによって、実世界において具体的かつ実体的な効果を有する。さらに、地理的位置はゲームプレイ又は進展のための要件ではないため、該ゲームは、脆弱なモバイルネットワーク条件下、又は森の中のコテージや航空機の中など、オフラインであってもプレイすることが可能である。
本明細書及び図面は、単に本発明の原理を説明するものである。したがって、当業者であれば、本明細書に明示的に記載又は示されていないが、本発明の原理を具現化し、添付の請求項に定義されているようにその範囲に含まれる様々な配置を具現化可能であることが理解されよう。
さらに、本明細書に記載されたすべての例は、主として、読者が本発明の原理を理解するのを助けることを意図しており、そのような具体的に記載された例及び条件に限定されないと解釈されるものである。例えば、本開示は、様々なデスクトップオブジェクトの分析に関連して、本発明の実施形態を説明する。しかしながら、本発明は、他の環境における他のタイプ及び形態のオブジェクトを検索するためにも有利に使用できることが、当業者には理解されよう。
さらに、本発明の原理、態様、及び実施形態、ならびにその具体例を説明する本明細書の全ての記述は、それらの等価物を包含することを意図している。例えば、「モジュール」、「プラグイン」又は「アプリケーション・プログラム・インターフェース」としてラベル付けされた任意の機能ブロックを含む該図に示す該様々な要素の関数は、専用のハードウェアだけでなく、適切なソフトウェアと関連してソフトウェアを実行できるハードウェアの使用を通じて提供され得る。
さらに、前述の明細書は携帯端末に言及しているが、当業者であれば、様々な上述の方法のステップが、ビデオカメラ、デジタルカメラ、赤外線カメラ、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、スマートフォン、スマートウォッチ又は他のウェアラブルなどの任意の数のコンピュータデバイスによって実行できることを容易に認識することができる。ここで、一部の実施形態は、プログラム記憶装置、例えば、機械又はコンピュータ可読であり、機械実行可能又はコンピュータ実行可能な命令プログラムをエンコードするデジタルデータ記憶媒体を対象とすることも意図しており、前記命令は、上述した方法のステップの一部又は全部を実行するものである。また、本実施形態は、上述した方法の該ステップを実行するようにプログラムされたコンピュータを対象とすることも意図している。
当業者は、プロセッサがアクション又はプロセスを実行するように「構成されている」と説明されるとき、これは、プロセッサが、これらのコンピュータ可読命令が記憶されているデバイスメモリから読み取られるコンピュータ可読命令を実行することによってアクション又はプロセスを実行することを意味し得ることを理解するであろう。
当業者は、本明細書に開示された任意の実施形態の任意の特徴は、一部の実施例において、本明細書に開示された他の任意の実施形態の任意の特徴と組み合わせて(例えば、代わりに又は追加して)使用され得ることを理解する必要がある。 一部の実施形態のオペレーションに必要とされ得る特定の追加要素は、当業者の通常の範囲内にあると想定されるため、説明又は図示していない。さらに、ある実施形態は、本明細書に具体的に開示されていないいかなる要素も含まないか、欠落しているか、又は機能しない可能性がある。
様々な実施形態及び例を示したが、これは説明のためであって、限定されるべきものではない。様々な修正及び拡張は、当業者にとって明らかになるであろう。