(58)【調査した分野】(Int.Cl.,DB名)
前記分析計算モジュールは、前記デバイスで取り込まれる実オブジェクトに対する前記デバイスの姿勢推定データと、前記デバイスで取り込まれる実オブジェクトに対する前記デバイスの姿勢継続時間データと、前記デバイスで取り込まれる実オブジェクトに対する前記デバイスの姿勢方向データと、前記デバイスで取り込まれる実オブジェクトに対する前記デバイスの姿勢相互作用データと、を受け取るように構成されており、
前記姿勢推定データは、前記デバイスが向けられた実オブジェクト若しくは第1仮想オブジェクトにおける位置を含み、
前記姿勢継続時間データは、前記デバイスが前記実オブジェクト若しくは前記第1仮想オブジェクト上の同じ位置に向けられている継続時間を含み、
前記姿勢方向データは、前記実オブジェクト若しくは前記第1仮想オブジェクトに向けられた前記デバイスの向きを含み、
前記姿勢相互作用データは、前記実オブジェクトに対応する前記第1仮想オブジェクトを有する前記デバイス上でのユーザの相互作用を含む、請求項1に記載のサーバ。
前記デバイスの前記使用状況は、前記デバイスのユーザのソーシャル情報、ロケーション使用情報、及び前記拡張現実アプリケーションを使用する前記デバイスの時間情報、を含む、請求項9に記載のサーバ。
前記デバイスで取り込まれる実オブジェクトに対する前記デバイスの姿勢推定データと、前記デバイスで取り込まれる実オブジェクトに対する前記デバイスの姿勢継続時間データと、前記デバイスで取り込まれる実オブジェクトに対する前記デバイスの姿勢方向データと、前記デバイスで取り込まれる実オブジェクトに対する前記デバイスの姿勢相互作用データと、を受け取ることをさらに含み、
前記姿勢推定データは、前記デバイスが向けられた実オブジェクト若しくは第1仮想オブジェクトにおける位置を含み、
前記姿勢継続時間データは、前記デバイスが前記実オブジェクト若しくは前記第1仮想オブジェクト上の同じ位置に向けられている継続時間を含み、
前記姿勢方向データは、前記実オブジェクト若しくは前記第1仮想オブジェクトに向けられた前記デバイスの向きを含み、
前記姿勢相互作用データは、前記実オブジェクトに対応する前記第1仮想オブジェクトを有する前記デバイス上でのユーザの相互作用を含む、請求項11に記載のコンピュータ実装方法。
前記分析データは、前記デバイスの使用状況を含み、前記デバイスの前記使用状況は、前記デバイスのユーザのソーシャル情報、ロケーション使用情報、及び前記拡張現実アプリケーションを使用する前記デバイスの時間情報、を含む、請求項11に記載のコンピュータ実装方法。
【発明を実施するための形態】
【0007】
例示的な方法及びシステムは、体験コンテンツデータセットに関するキャンペーン最適化に関するものである。それらの例は、種々の可能な実施形態を代表するものにすぎない。特に明記されない限り、コンポーネント及び機能は、任意選択的なものであって、併合若しくは分割することができ、オペレーションは、順序を変更、若しくは併合又は分割することができる。以下の説明では、例示的な実施形態についての完全な理解を与えるため、説明を目的として、様々な具体的詳細が記載される。しかしながら、本主題は、これら特定の詳細を省いて実施できることは、当業者には明らかであろう。
【0008】
キャンペーン最適化のためのサーバについて説明する。デバイスの拡張現実アプリケーション用の体験コンテンツデータセットを、分析結果に基づいて生成する。分析結果は、デバイスから受信した分析データに基づいて生成される。体験コンテンツデータセットは、デバイスに供給される。デバイスは、その体験コンテンツデータセットのコンテンツ識別体を認識して、そのコンテンツ識別体に関連付けられた仮想オブジェクトコンテンツの表示によって相互作用的体験を生成する。
【0009】
拡張現実アプリケーションによって、ユーザは、デバイスのカメラで取り込まれる実オブジェクトの画像にオーバレイされた3次元仮想オブジェクトの形態などの付加情報を体験することが可能となる。実オブジェクトは、拡張現実アプリケーションによって識別及び認識することが可能な視覚基準(コンテンツ識別体とも呼ばれる)を含み得る。実オブジェクトの画像に結び付けられる3次元仮想オブジェクトなどの付加情報の視覚化は、デバイスのディスプレイに生成される。3次元仮想オブジェクトは、認識された視覚基準に基づくものであり得る。3次元仮想オブジェクトの視覚化レンダリングは、視覚基準に対するディスプレイの相対位置に基づくことができる。
【0010】
サーバは、デバイスに関する分析結果にアクセスすることができる。一実施形態では、サーバは、デバイスに関する分析結果に基づいて、上記体験コンテンツデータセットとして新規の体験コンテンツデータセットを構築する。別の実施形態では、サーバは、デバイスに関する分析結果に基づいて、オリジナル体験コンテンツデータセットを上記体験コンテンツデータセットに改変する。
【0011】
サーバは、体験コンテンツデータセットを用いて、仮想オブジェクトモデルを生成することができる。仮想オブジェクトモデルは、コンテンツ識別体として認識された実オブジェクトに対するデバイスの相対位置に基づいて、デバイスのディスプレイにおいてレンダリングすることができる。仮想オブジェクトの表示は、デバイスで取り込まれる実オブジェクトのリアルタイム画像に基づくことができる。仮想オブジェクトモデルは、実オブジェクトの画像に関連付けることができる。
【0012】
一実施形態では、サーバは、デバイスで取り込まれる実オブジェクトに対するデバイスの姿勢推定データと、デバイスで取り込まれる実オブジェクトに対するデバイスの姿勢継続時間データと、デバイスで取り込まれる実オブジェクトに対するデバイスの姿勢方向データと、デバイスで取り込まれる実オブジェクトに対するデバイスの姿勢相互作用データと、を受信することができる。姿勢推定データは、デバイスが向けられた実オブジェクト若しくは仮想オブジェクトにおける位置を含むことができる。姿勢継続時間データは、デバイスが実オブジェクト若しくは仮想オブジェクト上の同じ位置に向けられている継続時間を含むことができる。姿勢方向データは、実オブジェクト若しくは仮想オブジェクトに向けられたデバイスの向きを含むことができる。姿勢相互作用データは、実オブジェクトに対応する仮想オブジェクトに関するデバイス上でのユーザの相互作用を含むことができる。
【0013】
一実施形態では、コンテンツ識別体は、2次元画像若しくは3次元オブジェクトモデルを含むことができる。仮想オブジェクトコンテンツは、2次元若しくは3次元仮想オブジェクトモデルを含むことができる。体験ジェネレータによって、コンテンツ識別体を仮想オブジェクトコンテンツに関連付けることで、体験コンテンツデータセットを生成することができる。
【0014】
一実施形態では、2次元若しくは3次元仮想オブジェクトモデルは、デバイス上でのユーザからの相互作用に応じて2次元若しくは3次元仮想オブジェクトモデルの状態を変化させる少なくとも1つの相互作用的特性を有する。サーバは、分析結果に基づいて、体験コンテンツデータセットからの仮想オブジェクトコンテンツの相互作用的特性を変更することができる。
【0015】
一実施形態では、分析データは、デバイスの使用状況を含むことができ、デバイスの使用状況は、デバイスのユーザのソーシャル情報、ロケーション使用情報、及び拡張現実アプリケーションを使用するデバイスの時間情報、を含む。
【0016】
別の実施形態では、サーバは、さらに、デバイスから受信した分析データに基づいて、分析結果を生成することができる。分析結果は、分析結果に基づいて強化された体験コンテンツデータセットを生成するためのキャンペーン最適化モジュールに供給することができる。例えば、ユーザのデバイス使用履歴、どの画像を、そしてその画像のどの部分を、ユーザがデバイスを用いてポイントしたのか、その画像部分がデバイスでポイントされたことに相当する時間の長さ、などに基づいて、デバイスにおける体験をカスタマイズすることができる。
【0017】
図1は、いくつかの例示的な実施形態による、デバイスの拡張現実アプリケーションを運用するのに適したネットワーク環境100を示すネットワーク図である。ネットワーク環境100は、デバイス101と、クライアント112と、サーバ110と、を含み、これらはネットワーク108を介して互いに通信接続されている。デバイス101、クライアント112、サーバ110は、それぞれ、
図12に関して後述するように、その全体若しくは一部をコンピュータシステムにおいて実現することができる。
【0018】
サーバ110は、ネットワークベースのシステムの一部とすることができる。例えば、ネットワークベースのシステムは、クラウドベースのサーバシステムとすることができるか、若しくはそれを含み、これによって、体験コンテンツデータセットに関するキャンペーン最適化を提供する。クライアント112は、ウェブブラウザを介して、若しくは特定のオーディエンス又はユーザを対象としたプログラマチッククライアントを介して、サーバ110内のキャンペーン最適化モジュールにアクセスすることができる。
【0019】
ユーザ102は、デバイス101を用いて、サーバ110で生成された体験コンテンツデータセットにより生成された相互作用的コンテンツを体験することができる。別の例では、ユーザ102は、クライアント112を用いて、サーバ110のコンテンツ作成ツールを使用することで、デバイス101上で相互作用的コンテンツを作成することができる。ユーザは、人間のユーザ(例えば、人間)、マシンであるユーザ(例えば、デバイス101と相互作用するためのソフトウェアプログラムによって構成されたコンピュータ)、若しくはその任意の適切な組み合わせ(例えば、マシン支援を受ける人間、又は人間の監視を受けるマシン)、とすることができる。ユーザ102は、ネットワーク環境100の一部ではないものの、デバイス101に関連付けられており、デバイス101のユーザであり得る。例えば、デバイス101は、ユーザ102に属するデスクトップコンピュータ、車載コンピュータ、タブレットコンピュータ、ナビゲーション機器、ポータブルメディアデバイス、若しくはスマートフォンとすることができる。
【0020】
ユーザ102は、デバイス101内のアプリケーションのユーザであり得る。そのアプリケーションは、2次元実オブジェクト104(例えば、画像)若しくは3次元実オブジェクト106(例えば、車)などの実オブジェクトによってトリガされる体験をユーザ102に提供するように構成された拡張現実アプリケーションを含むことができる。例えば、ユーザ102は、デバイス101のレンズを、2次元実オブジェクト104の画像を取り込むように向けることができる。画像は、デバイス101の拡張現実アプリケーションのローカル文脈的認識データセットモジュールを用いて、デバイス101でローカルに認識される。そして、認識された画像が識別されると、これに応じて、拡張現実アプリケーションは、デバイス101のディスプレイにおいて付加情報(例えば、相互作用的3次元モデル)を生成する。もし取り込まれた画像が、デバイス101でローカルに認識されない場合には、デバイス101は、取り込まれた画像に対応する3次元モデルを、サーバ110のデータベースからネットワーク108を介してダウンロードする。
【0021】
デバイス101は、分析データを収集して、その分析データを、使用状況、及びユーザ102がその実オブジェクトとどのように関わっているのかについて更に分析するために、サーバ110に送ることができる。例えば、分析データは、ユーザ102が特に見ていた実オブジェクト若しくは仮想オブジェクトにおける位置、ユーザ102が実オブジェクト若しくは仮想オブジェクト上の各位置を見ていた時間の長さ、実オブジェクト若しくは仮想オブジェクトを見るときのユーザ102によるデバイス101の保持の仕方、ユーザ102が相互作用した仮想オブジェクトの特性(例えば、仮想オブジェクト内のリンクをユーザがタップしたかどうかなど)、を含むことができる。分析データを、サーバ110で処理することで、分析データの分析に基づいて、強化されたコンテンツデータセット若しくは改変されたコンテンツデータセットを生成することができる。デバイス101は、強化されたコンテンツデータセットに基づいて、特性が追加又は強化された仮想オブジェクト、若しくは新規の体験を、受信及び生成することができる。
【0022】
図1に示すマシン、データベース、若しくはデバイスはいずれも、そのマシン、データベース、若しくはデバイスについて本明細書で記載される機能のうちの1つ以上を実行するための専用コンピュータとなるようにソフトウェアによって改変(例えば、構成若しくはプログラム)された汎用コンピュータにおいて実現することができる。例えば、本明細書に記載の方法のうちのいずれか1つ以上を実施することが可能なコンピュータシステムについて、
図12に関して後述する。本明細書で使用される場合の「データベース」とは、データストレージリソースであって、テキストファイル、テーブル、スプレッドシート、リレーショナルデータベース(例えば、オブジェクトリレーショナルデータベース)、トリプルストア、階層データストア、若しくはその任意の適切な組み合わせ、として構成されたデータを保存することができる。さらに、
図1に示すマシン、データベース、若しくはデバイスのうちのいずれか2つ以上を、1つのマシンに併合することができ、また、いずれか1つのマシン、データベース、若しくはデバイスについて本明細書で記載される機能を、複数のコンピュータ、データベース、若しくはデバイスに分割することができる。
【0023】
ネットワーク108は、マシン(例えば、サーバ110)、データベース及び装置(例えば、装置101)の間での、若しくはこれらの中での通信を可能にする、任意のネットワークであってもよい。従って、ネットワーク108は、有線ネットワーク、無線ネットワーク(例えば、モバイルネットワーク若しくはセルラーネットワーク)、若しくはこれらの適切な任意の組み合わせであってもよい。ネットワーク108は、私設ネットワーク、公衆ネットワーク(例えば、インターネット)、若しくはこれらの適切な任意の組み合わせを構成する、1つ以上の部分を含んでもよい。
【0024】
図2は、いくつかの例示的な実施形態による、サーバのモジュール(例えば、コンポーネント)を示すブロック図である。サーバ110は、キャンペーン最適化モジュール202と、体験ジェネレータ204と、分析計算モジュール206と、ストレージデバイス内のデータベース208と、を有する。
【0025】
キャンペーン最適化モジュール202は、デバイス101の拡張現実アプリケーション用の体験コンテンツデータセットを、(該デバイス若しくは他のデバイスからの)分析結果に基づいて生成することができる。キャンペーン最適化モジュール202について、さらに詳細に、
図3に関連して後述する。
【0026】
体験ジェネレータ204は、コンテンツ識別体を認識するデバイス101に、体験コンテンツデータセットを供給することができ、デバイス101において、仮想オブジェクトコンテンツによって相互作用的体験を生成することができる。一実施形態では、体験ジェネレータ204は、体験コンテンツデータセットを用いて仮想オブジェクトモデルを生成し、これは、デバイス101のディスプレイにおいて、2次元実オブジェクト104(例えば、画像)若しくは3次元実オブジェクト106(例えば、車)などの実オブジェクトに対するデバイス101の相対位置に基づいて、レンダリングされるべきものである。デバイス101は、2次元実オブジェクト104(例えば、画像)若しくは3次元実オブジェクト106(例えば、車)をコンテンツ識別体として認識する。仮想オブジェクトの視覚化は、デバイス101で取り込まれる実オブジェクトのリアルタイム画像に結び付けられる仮想オブジェクトモデルに相当し得る。仮想オブジェクトモデルは、実オブジェクトの画像に基づくものであり得る。
【0027】
分析計算モジュール206は、該デバイス若しくは他のデバイスから受信した分析データに対して演算を実行することで、分析結果を生成することができ、そして、その分析結果を、キャンペーン最適化モジュール202に供給することができ、これにより、キャンペーン最適化モジュール202は、分析結果に基づいて、新規の体験コンテンツデータセット若しくは改変された体験コンテンツデータセットを生成することができる。例えば、付加的なアニメーション若しくは特性を提供して、ユーザが最も頻繁に見る位置に関連付けることができる。別の例では、個人向けの情報を、ユーザが好きなチームの得点または統計によって仮想コンテンツ(仮想掲示板)の表示内に提供することができる。
【0028】
一実施形態では、分析計算モジュール206は、デバイス101で取り込まれる実オブジェクトに対するデバイス101の姿勢推定と、デバイス101で取り込まれる実オブジェクトに対するデバイス101の姿勢継続時間と、デバイス101で取り込まれる実オブジェクトに対するデバイスの姿勢方向と、デバイス101で取り込まれる実オブジェクトに対するデバイスの姿勢相互作用と、を分析する。姿勢推定は、デバイスが向けられた実オブジェクト若しくは仮想オブジェクトにおける位置を含むことができる。姿勢継続時間は、デバイスが実オブジェクト若しくは仮想オブジェクト上の同じ位置に向けられている継続時間を含むことができる。姿勢方向は、実オブジェクト若しくは仮想オブジェクトに向けられたデバイスの向きを含むことができる。姿勢相互作用データは、実オブジェクトに対応する仮想オブジェクトに関するデバイス上でのユーザの相互作用を含むことができる。
【0029】
データベース208は、体験コンテンツデータセット212と、分析及び結果データ214と、を格納することができる。
【0030】
体験コンテンツデータセット212は、コンテンツ作成テンプレートデータに基づいてコンテンツ作成ツールを用いて生成されたデータセットを含むことができる。例えば、データセットは、相互作用的仮想コンテンツ及び対応する実コンテンツのテーブルを含むことができる。
【0031】
分析及び結果データ214は、デバイスから受信した分析データを含み得る。例えば、分析データは、数ある中でも特に、姿勢推定データと、姿勢継続時間データと、姿勢方向データと、姿勢相互作用データと、感情データと、を含むことができる。分析及び結果データ214は、分析計算モジュール206による分析データの分析からの結果データを含み得る。結果データは、体験コンテンツデータセット212のいずれかから生成された仮想コンテンツの最も頻繁に使用された特性若しくは最も頻繁に見られた位置を含むことができる。
【0032】
図3は、いくつかの例示的な実施形態による、キャンペーン最適化モジュール202のモジュール(例えば、コンポーネント)を示すブロック図である。キャンペーン最適化モジュール202は、分析取得部302と、体験コンテンツデータセット生成部306と、体験コンテンツデータセット変更部304と、を有する。
【0033】
一実施形態では、分析取得部302は、デバイス101に関する分析結果にアクセスする。体験コンテンツデータセット生成部306は、デバイス101に関する分析結果に基づいて、体験コンテンツデータセットとして新規の体験コンテンツデータセットを構築する。体験コンテンツデータセット変更部304は、デバイス101に関する分析結果に基づいて、オリジナル体験コンテンツデータセットを体験コンテンツデータセットに改変する。
【0034】
別の実施形態では、分析取得部302は、そのコンテンツ識別体に伴って以前に生成された相互作用的体験を有するデバイスからの分析結果及び分析データにアクセスする。体験コンテンツデータセット生成部306は、そのコンテンツ識別体に伴って以前に生成された相互作用的体験を有するデバイスに関する分析結果及び分析データに基づいて、体験コンテンツデータセットとして新規の体験コンテンツデータセットを構築することができる。体験コンテンツデータセット変更部304は、そのコンテンツ識別体に伴って以前に生成された相互作用的体験を有するデバイスに関する分析結果及び分析データに基づいて、オリジナル体験コンテンツデータセットを体験コンテンツデータセットに改変することができる。
【0035】
一実施形態では、コンテンツ識別体は、2次元画像若しくは3次元オブジェクトモデルを含む。仮想オブジェクトコンテンツは、2次元若しくは3次元仮想オブジェクトモデルを含むことができる。体験ジェネレータ204は、コンテンツ識別体を仮想オブジェクトコンテンツに関連付けることで、体験コンテンツデータセットを生成することができる。
【0036】
図4は、いくつかの例示的な実施形態による、キャンペーン最適化モジュール202の動作の一例を示すブロック図である。キャンペーン最適化モジュール202は、分析データ402と、分析計算モジュール206で処理された分析結果と、を受け取る。
【0037】
体験コンテンツデータセット生成部306は、該デバイス101若しくは他のデバイスに関する分析データ402又は分析結果404に基づいて、新規の体験コンテンツデータセットとして、最適化された体験コンテンツデータセット408を構築する。例えば、体験コンテンツデータベース生成部306は、分析データ402及び分析データ404に基づいて選択された3次元仮想コンテンツ(例えば、アニメーション特性を有する3次元の仮想的な車)及び2次元仮想コンテンツ(例えば、画像)にアクセスする。体験コンテンツデータセット生成部306は、実コンテンツモデルを仮想コンテンツモジュールに関連付けることで、最適化された体験コンテンツデータセット408を生成する。最適化された体験コンテンツデータセット408は、デバイス101に伝達することができ、デバイス101は、最適化された体験コンテンツデータセット408から、スキャン画像を認識する。認識されたスキャン画像に対応する体験が、デバイス101において生成される。その体験は、デバイス101のユーザに関連した仮想オブジェクトの特定の相互作用的特性若しくはレイアウトと、ユーザ102が相互作用することを可能とすることを含み得る。仮想オブジェクトの特定の相互作用的特性若しくはレイアウトは、デバイス101のディスプレイにおいて、スキャン画像のリアルタイム表現と組み合わせて表示される。
【0038】
体験コンテンツデータセット変更部304は、該デバイス101若しくは他のデバイスに関する分析データ402又は分析結果404に基づいて、既存のオリジナル体験コンテンツデータセット406を、最適化された体験コンテンツデータセットに改変する。例えば、体験コンテンツデータベース変更部304は、既存のオリジナル体験コンテンツデータセット406の3次元仮想コンテンツ(例えば、アニメーション特性を有する3次元の仮想的な車)及び2次元仮想コンテンツ(例えば、画像)にアクセスする。体験コンテンツデータベース変更部304は、分析データ402及び分析データ404に基づいて、3次元仮想コンテンツの特性若しくは表示を改変する。体験コンテンツデータセット変更部306は、実コンテンツモデルを、改変された仮想コンテンツモジュールに関連付けることで、最適化された体験コンテンツデータセット408を生成する。最適化された体験コンテンツデータセット408は、デバイス101に伝達することができ、デバイス101は、最適化された体験コンテンツデータセット408から、スキャン画像を認識する。認識されたスキャン画像に対応する体験が、デバイス101において生成される。その体験は、デバイス101のユーザに関連した仮想オブジェクトの改変された相互作用的特性若しくはレイアウトと、ユーザ102が相互作用することを可能とすることを含み得る。仮想オブジェクトの改変された相互作用的特性若しくはレイアウトは、デバイス101のディスプレイにおいて、スキャン画像のリアルタイム表現と組み合わせて表示される。
【0039】
図5は、いくつかの例示的な実施形態による、分析計算モジュール206の動作の一例を示すブロック図である。分析計算モジュール206は、分析データ402に対して演算を実行する。一実施形態では、分析データ402は、姿勢推定データ502と、姿勢継続時間データ508と、姿勢方向データ506と、姿勢相互作用データ508と、を含む。
【0040】
姿勢推定データ502は、デバイス101が向けられている仮想オブジェクト若しくは実オブジェクトにおける位置を含むことができる。例えば、デバイス101を実オブジェクト104に向けることによって生成された仮想像の頂部に、デバイス101を向けることができる。別の例では、雑誌の写真の中の人物の靴に、デバイス101を向けることができる。
【0041】
姿勢継続時間データ504は、デバイス101が実オブジェクト若しくは仮想オブジェクト上の同じ位置に向けられている継続時間を含むことができる。例えば、姿勢継続時間データ504は、ユーザ102がデバイスを雑誌の中の人物の靴に向けて維持していた時間の長さを含むことができる。靴に対するユーザの感情及び関心は、ユーザ102がデバイス101を靴に向けて保持していた時間の長さに基づいて推測することができる。
【0042】
姿勢方向データ506は、実オブジェクト若しくは仮想オブジェクトに向けられたデバイスの向きを特定するように構成することができる。例えば、姿勢方向モジュール506は、ユーザ102がデバイス101をランドスケープモードで保持していることを特定することができ、その場合、デバイス101のその向きに基づいて、感情若しくは関心を推測することができる。
【0043】
姿勢相互作用データ508は、実オブジェクトに対応する仮想オブジェクトに関するデバイス101上でのユーザ102の相互作用に関するデータを含むことができる。例えば、仮想オブジェクトは、仮想メニュー若しくは仮想ボタンなどの特性を含むことができる。ユーザ102が仮想ボタンをタップすると、デバイス101内のブラウザアプリケーションが起動して、タップされた仮想ダイアログボックスに関連付けられている予め選択されたウェブサイトに移行する。姿勢相互作用データ508は、ユーザ102がどのボタンをタップしたのか、ユーザ102がどのボタンをどのような頻度でタップしたのか、各仮想ボタンに関するクリックスルーレート、拡張アプリケーションからユーザ102が訪問したウェブサイト、などを測定及び特定したデータを含むことができる。
【0044】
分析計算モジュール206は、統計的アルゴリズムを用いて、パターン、傾向を特定するために、提示されたデータを分析する。例えば、分析計算モジュール206は、最も多く使用若しくはクリックされた特性、最も多く若しくは少なくクリックされた仮想オブジェクトの色、最も多く見られた仮想オブジェクトの領域、などを特定することができる。分析計算モジュール206の計算結果は、分析結果404と呼ぶことができる。
【0045】
図6は、いくつかの例示的な実施形態による、デバイス101のモジュール(例えば、コンポーネント)を示すブロック図である。デバイス101は、センサ602と、ディスプレイ604と、プロセッサ606と、ストレージデバイス616と、を備えることができる。例えば、デバイス101は、ユーザのデスクトップコンピュータ、車載コンピュータ、タブレットコンピュータ、ナビゲーション機器、ポータブルメディアデバイス、若しくはスマートフォンとすることができる。ユーザは、人間のユーザ(例えば、人間)、マシンであるユーザ(例えば、デバイス101と相互作用するためのソフトウェアプログラムによって構成されたコンピュータ)、若しくはその任意の適切な組み合わせ(例えば、マシン支援を受ける人間、又は人間の監視を受けるマシン)、とすることができる。
【0046】
センサ602は、例えば、近接センサ、光センサ(例えば、電荷結合素子(CCD))、姿勢センサ(例えば、ジャイロスコープ)、音声センサ(例えば、マイクロフォン)を含み得る。例えば、センサ602は、デバイス101内の後向きカメラと前向きカメラを含むことができる。なお、本明細書に記載のセンサは、例示目的のものであり、従って、センサ602は、記載のものに限定されないということに留意すべきである。
【0047】
ディスプレイ604は、例えば、タッチスクリーンディスプレイを含むことができ、これは、このタッチスクリーンディスプレイへの接触によるユーザ入力を受けるように構成されている。別の例では、ディスプレイ604は、プロセッサ606で生成された画像を表示するように構成された画面若しくはモニタを含むことができる。
【0048】
プロセッサ606は、文脈的ローカル画像認識モジュール608と、拡張現実アプリケーション609などの消費アプリケーションと、分析追跡モジュール618と、を有し得る。
【0049】
拡張現実アプリケーション609は、デバイス101のディスプレイ604において、デバイス101のカメラで取り込まれた実オブジェクトの画像にオーバレイされる3次元仮想オブジェクトの可視化を生成することができる。3次元仮想オブジェクトの可視化は、デバイス101のカメラに対する実オブジェクトの相対位置を調整することによって操作することができる。同様に、3次元仮想オブジェクトの可視化は、実オブジェクトに対するデバイス100の相対位置を調整することによって操作することができる。
【0050】
一実施形態では、拡張現実アプリケーション609は、デバイス101内の文脈的ローカル画像認識データセットモジュール608とやりとりすることで、取り込まれた画像に関連付けられる仮想オブジェクトの3次元モデルを取得する。例えば、取り込まれた画像は、識別可能な画像、記号、文字、数字、機械可読コードで構成された視覚基準(マーカとも呼ばれる)を含み得る。例えば、視覚基準は、バーコード、QRコード(登録商標)、若しくは3次元仮想オブジェクトに以前に関連付けられた画像、を含むことができる。
【0051】
別の実施形態では、拡張現実アプリケーション609は、ユーザが仮想メニューから体験を選択することを許可することができる。体験は、異なる仮想オブジェクトコンテンツを含むことができる。
【0052】
文脈的ローカル画像認識データセットモジュール608は、取り込まれた画像が、デバイス101上で画像及び対応する付加情報(例えば、3次元モデル及び相互作用的特性)のローカルデータベースにローカルに保存された画像にマッチしているかどうか判断するように構成することができる。一実施形態では、文脈的ローカル画像認識モジュール608は、サーバ110から一次コンテンツデータセットを取得して、デバイス101で取り込まれた画像に基づいて、文脈的コンテンツデータセットを生成及び更新する。
【0053】
分析追跡モジュール618は、ユーザ102がどのように実オブジェクトと関わっているのかに関する分析データを追跡することができる。例えば、分析追跡モジュール618は、ユーザ102が実オブジェクト若しくは仮想オブジェクトのどの位置を見ていたのか、ユーザ102が実オブジェクト若しくは仮想オブジェクト上の各位置をどのくらいの時間見ていたのか、ユーザ102が実オブジェクト若しくは仮想オブジェクトを見ているときにデバイス101をどのように保持していたのか、ユーザ102が仮想オブジェクトのどの特性と相互作用したのか(例えば、ユーザが仮想オブジェクト内のリンクをタップしたかどうか、など)、を追跡することができる。
【0054】
ストレージデバイス616は、視覚基準(例えば、画像)及び対応する体験(例えば、3次元仮想オブジェクト、3次元仮想オブジェクトの相互作用的特性)のデータベースを格納するように構成することができる。例えば、視覚基準は、機械可読コード若しくは以前に識別された画像(例えば、靴の写真)を含み得る。以前に識別された靴の画像を、靴の写真に対するデバイス101の相対位置を操作することにより異なる角度から見ることが可能な靴の3次元仮想モデルに対応させることができる。3次元仮想靴の特性は、靴の3次元仮想モデル上の選択可能なアイコンを含むことができる。アイコンは、デバイス101上でタップするか、若しくは動かすことによって、選択若しくはアクティブ化することができる。
【0055】
一実施形態では、ストレージデバイス604は、一次コンテンツデータセット610と、文脈的コンテンツデータセット612と、強化されたコンテンツデータセット622と、分析データ620と、を格納している。
【0056】
一次コンテンツデータセット610は、例えば、第1の画像セット及び対応する体験(例えば、相互作用的3次元仮想オブジェクトモデル)を含む。一次コンテンツデータセット610は、サーバ110により決定されたコア画像セット若しくは最も人気の高い画像セットを含むことができる。コア画像セットは、サーバ110により特定された限定数の画像を含むことができる。例えば、コア画像セットは、最も人気の上位10の雑誌の表紙画像及び対応する体験(例えば、仮想オブジェクト)を含むことができる。別の例では、サーバ110は、サーバ110で受信した最も人気若しくはスキャンされた頻度が高い画像に基づいて、第1の画像セットを生成することができる。
【0057】
文脈的コンテンツデータセット612は、例えば、第2の画像セットと、サーバ110から取得された対応する体験(例えば、3次元仮想オブジェクトモデル)と、を含む。例えば、デバイス101で取り込まれた画像のうち、一次コンテンツデータセット610内に認められないものは、認識するためにサーバ110に送られる。取り込まれた画像がサーバで認識されると、対応する体験を、デバイス101でダウンロードして、文脈的コンテンツデータセット612に保存することができる。
【0058】
分析データ620は、分析追跡モジュール618によって収集された分析データに相当する。
【0059】
強化されたコンテンツデータセット622は、例えば、分析追跡モジュール618により収集された分析データに基づいて、サーバ110からダウンロードされた強化された画像セット及び対応する体験を含む。一実施形態では、強化されたコンテンツデータセット622は、最適化された体験コンテンツデータセット408を含むことができる。
【0060】
一実施形態では、デバイス101は、ネットワーク108を介してサーバ110と通信することで、視覚基準、対応する3次元仮想オブジェクト、及び3次元仮想オブジェクトの対応する相互作用的特性、のデータベースの一部を取得することができる。ネットワーク108は、マシン、データベース、デバイス(例えば、デバイス101)の間で通信を可能とする任意のネットワークとすることができる。従って、ネットワーク108は、有線ネットワーク、無線ネットワーク(例えば、モバイルネットワーク若しくはセルラーネットワーク)、又はその任意の適切な組み合わせとすることができる。ネットワークは、プライベートネットワーク、公衆ネットワーク(例えば、インターネット)、若しくはその任意の適切な組み合わせ、を構成する1つ以上の部分を含み得る。
【0061】
本明細書で説明される、任意の1つ以上のモジュールは、ハードウェア(例えば、マシンのプロセッサ)、若しくはハードウェアとソフトウェアの組み合わせを使用して履行されてもよい。例えば、本明細書で説明される任意のモジュールは、そのモジュールのために、本明細書で説明される動作を実施するためのプロセッサを構成してもよい。その上、任意の2つ以上のこれらのモジュールは、単一のモジュールに結合されてもよく、且つ単一のモジュールに対して本明細書で説明される機能は、複数のモジュールの中で細分化されてもよい。更に、様々な実施例によれば、単一のマシン、データベース、若しくは装置の中で履行されるような、本明細書で説明されるモジュールは、複数のマシン、データベース、若しくは装置にわたって分散されてもよい。
【0062】
図7は、いくつかの例示的な実施形態による、文脈的ローカル画像認識データセットモジュール608のモジュール(例えば、コンポーネント)を示すブロック図である。文脈的ローカル画像認識データセットモジュール608は、画像取込モジュール702と、ローカル画像認識モジュール704と、コンテンツ要求モジュール706と、文脈的コンテンツデータセット更新モジュール708と、を含むことができる。
【0063】
画像取込モジュール702は、デバイス101のレンズで画像を取り込むことができる。例えば、画像取込モジュール702は、デバイス101が向けられた実オブジェクトの画像を取り込むことができる。一実施形態では、画像取込モジュール702は、1つの画像若しくは一連のスナップショットを取り込むことができる。別の実施形態では、画像取込モジュール702は、デバイス101がもはや動かされていないことをセンサ602(例えば、振動、ジャイロスコープ、コンパスなど)で検出したときに、画像を取り込むことができる。
【0064】
ローカル画像認識モジュール704は、取り込まれた画像が、一次コンテンツデータセット610に保存されている画像に対応していることを確認して、デバイス101で取り込まれた画像が、デバイス101に保存されている一次コンテンツデータセット610の画像セットのうちの1つに対応していれば、デバイス101で取り込まれた画像に対応する3次元仮想オブジェクトモデルをローカルにレンダリングする。
【0065】
別の実施形態では、ローカル画像認識モジュール704は、取り込まれた画像が、文脈的コンテンツデータセット612に保存されている画像に対応していることを確認して、デバイス101で取り込まれた画像が、デバイス101に保存されている文脈的コンテンツデータセット612の画像セットのうちの1つに対応していれば、デバイス101で取り込まれた画像に対応する3次元仮想オブジェクトモデルをローカルにレンダリングする。
【0066】
コンテンツ要求モジュール706は、デバイス101で取り込まれた画像が、ストレージデバイス604内の一次コンテンツデータセット612及び文脈的コンテンツデータセット612の画像セットのうちの1つに対応していない場合に、デバイス101で取り込まれた画像に対応する3次元仮想オブジェクトモデルを、サーバ110に要求することができる。
【0067】
文脈的コンテンツデータセット更新モジュール708は、コンテンツ要求モジュール706により生成された要求に対する応答として、デバイス101で取り込まれた画像に対応する3次元仮想オブジェクトモデルを、サーバ110から受信することができる。一実施形態では、文脈的コンテンツデータセット更新モジュール708は、デバイス101で取り込まれた画像が、デバイス101のストレージデバイス604にローカルに保存されているどの画像にも対応していない場合に、サーバ110からの、デバイス101で取り込まれた画像に対応する3次元仮想オブジェクトモデルで、文脈的コンテンツデータセット612を更新することができる。
【0068】
別の実施形態では、コンテンツ要求モジュール706は、デバイス101の使用状況を確認し、その使用状況に基づいて、第3の画像セット及び対応する3次元仮想オブジェクトモデルを求める要求を、サーバ110に対して生成することができる。その使用状況は、ユーザがデバイス101を、いつ、どのような頻度で、どこで、どのように使用しているのかに関するものであり得る。文脈的コンテンツデータセット更新モジュール708は、第3の画像セット及び対応する3次元仮想オブジェクトモデルで、文脈的コンテンツデータセットを更新することができる。
【0069】
例えば、コンテンツ要求モジュール706は、ユーザ102が朝の時間帯に新聞のページをスキャンすると判断する。その場合、コンテンツ要求モジュール706は、ユーザ102の朝の使用状況に関連した画像セット及び対応する体験を求める要求を、サーバ110に対して生成する。例えば、コンテンツ要求モジュール706は、ユーザ102が朝にスキャンする可能性が最も高いスポーツ記事の画像と、それに対応した、その記事に記載されたチームの更新された仮想スコアボードと、を取得することができる。その体験は、例えば、ユーザ102に個人化されたファンタジーリーグのスコアボード更新を含むことができる。
【0070】
別の例では、コンテンツ要求モジュール706は、ユーザ102が新聞のビジネス欄を頻繁にスキャンすると判断する。その場合、コンテンツ要求モジュール706は、ユーザ102に関連した画像セット及び対応する体験を求める要求を、サーバ110に対して生成する。例えば、コンテンツ要求モジュール706は、次の発行の新聞のビジネス記事の画像を、次の発行のビジネス記事が入手可能になり次第、取得することができる。その体験は、例えば、次の発行のビジネス記事の画像に対応するビデオレポートを含むことができる。
【0071】
さらに別の実施形態では、コンテンツ要求モジュール706は、デバイス101のユーザ102のソーシャル情報を特定し、そのソーシャル情報に基づいて、他の画像セット及び対応する3次元仮想オブジェクトモデルを求める要求を、サーバ110に対して生成することができる。ソーシャル情報は、デバイス101内のソーシャルネットワークアプリケーションから取得することができる。ソーシャル情報は、ユーザ102が誰と相互作用したのか、ユーザ102がデバイス101の拡張現実アプリケーション609を用いて誰と体験を共有したのか、に関連したものであり得る。文脈的コンテンツデータセット更新モジュール708は、当該他の画像セット及び対応する3次元仮想オブジェクトモデルで、文脈的コンテンツデータセットを更新することができる。
【0072】
例えば、ユーザ102が、雑誌の数ページをスキャンした場合があり得る。コンテンツ要求モジュール706は、同じような興味を共有しているとともに他の雑誌を読む他のユーザとユーザ102が友人であることを、ソーシャルネットワークアプリケーションから特定する。その場合、コンテンツ要求モジュール706は、当該他の雑誌に関連した画像セット及び対応する体験を求める要求を、サーバ110に対して生成することができる。
【0073】
別の例では、ユーザ102が同じ雑誌から1つ若しくは2つの画像をスキャンしたと、コンテンツ要求モジュール706が判断する場合には、コンテンツ要求モジュール706は、その同じ雑誌内の他の画像からの追加コンテンツを求める要求を生成することができる。
【0074】
図8は、いくつかの例示的な実施形態による、分析追跡モジュール618のモジュール(例えば、コンポーネント)を示すブロック図である。分析追跡モジュール618は、姿勢推定モジュール802と、姿勢継続時間モジュール804と、姿勢方向モジュール806と、姿勢相互作用モジュール808と、を含む。
【0075】
姿勢推定モジュール802は、デバイス101が向けられている仮想オブジェクト若しくは実オブジェクトにおける位置を検出するように構成することができる。例えば、デバイス101を実オブジェクト104に向けることによって生成された仮想像の頂部に、デバイス101を向けることができる。別の例では、雑誌の写真の中の人物の靴に、デバイス101を向けることができる。
【0076】
姿勢継続時間モジュール804は、デバイス101が実オブジェクト若しくは仮想オブジェクト上の同じ位置に向けられている継続時間を特定するように構成することができる。例えば、姿勢継続時間モジュール804は、ユーザ102がデバイスを雑誌の中の人物の靴に向けて維持していた時間の長さを測定することができる。靴に対する感情及び関心は、ユーザ102がデバイス101を靴に向けて保持していた時間の長さに基づいて推測することができる。
【0077】
姿勢方向モジュール806は、実オブジェクト若しくは仮想オブジェクトに向けられたデバイスの向きを特定するように構成することができる。例えば、姿勢方向モジュール806は、ユーザ102がデバイス101をランドスケープモードで保持していると判断することができ、その場合、デバイス101のその向きに基づいて、感情若しくは関心を推測することができる。
【0078】
姿勢相互作用モジュール808は、実オブジェクトに対応する仮想オブジェクトに関するデバイス101上でのユーザ102の相互作用を特定するように構成することができる。例えば、仮想オブジェクトは、仮想メニュー若しくは仮想ボタンなどの特性を含むことができる。ユーザ102が仮想ボタンをタップすると、デバイス101内のブラウザアプリケーションが起動して、タップされた仮想ダイアログボックスに関連付けられている予め選択されたウェブサイトに移行する。姿勢相互作用モジュール408は、ユーザ102がどのボタンをタップしたのか、各仮想ボタンに関するクリックスルーレート、拡張現実アプリケーション609からユーザ102が訪問したウェブサイト、などを測定及び特定することができる。
【0079】
図9は、いくつかの例示的な実施形態による、体験を消費する一例を示す概略図である。デバイス901で認識される画像906を有する実オブジェクト904に、デバイス901を向けることができる。デバイス901は、画像のハッシュ916を、デバイス901の分析データ922と共に、サーバ110に送る。サーバ110は、さらに、以前に同じ画像906に向けられた他のデバイス930、932、934からも、データ分析924、926、928を受信する。別の実施形態では、データ分析924、926、928は、以前に他の画像若しくはオブジェクトに向けられたデバイス930、932、934からのデータを含む。
【0080】
サーバ110においてキャンペーン最適化モジュール202は、デバイス901用にカスタマイズして最適化された体験コンテンツデータセット918を生成する。デバイス901は、デバイス901のディスプレイ902内に仮想オブジェクト908の表現を生成する。最適化された体験920は、例えば、デバイス901のユーザに特に関連のある個人化された関心点910、912、914を有する仮想オブジェクト908を含むことができる。例えば、最適化された体験コンテンツデータセット918は、ユーザの好みの仮想オブジェクト若しくは音を含み得る。
【0081】
別の実施形態では、サーバ110においてキャンペーン最適化モジュール202は、集計分析データ916、924、926、928に基づいて、最適化された体験コンテンツデータセット918を生成する。デバイス901は、デバイス901のディスプレイ902内に仮想オブジェクト908の表現を生成する。最適化された体験920は、例えば、集計分析データ924、926、928の分析から特定される最も人気の高い関心点910、912、914を有する仮想オブジェクト908を含むことができる。
【0082】
別の実施形態では、最適化された体験920は、例えば、3次元仮想オブジェクト908の関心点912、910、914を有する最も多く見られた相互作用的特性を含むことができる。一実施形態では、デバイスにおいてレンダリングエンジンで、3次元仮想オブジェクト908をレンダリングする。
【0083】
図10は、いくつかの例示的な実施形態による、キャンペーンを最適化する方法の一例を示すフローチャートである。
【0084】
オペレーション1002で、サーバのキャンペーン最適化モジュールは、デバイス(複数の場合もある)からの分析データ及び結果にアクセスする。
【0085】
オペレーション1004で、キャンペーン最適化モジュールは、デバイスからの分析データ及び結果に基づいて、デバイス用のオリジナル体験コンテンツデータセットを改変する。
【0086】
オペレーション1006で、キャンペーン最適化モジュールは、改変された体験コンテンツデータセットを、デバイス(複数の場合もある)に送信する。
【0087】
図11は、いくつかの例示的な実施形態による、キャンペーンを最適化する方法の別の一例を示すフローチャートである。
【0088】
オペレーション1102で、サーバのキャンペーン最適化モジュールは、デバイス(複数の場合もある)からの分析データ及び結果にアクセスする。
【0089】
オペレーション1104で、キャンペーン最適化モジュールは、デバイスからの分析データ及び結果に基づいて、デバイス用の新規の体験コンテンツデータセットを構築する。
【0090】
オペレーション1106で、キャンペーン最適化モジュールは、改変された体験コンテンツデータセットを、デバイス(複数の場合もある)に送信する。
【0091】
図12は、いくつかの例示的な実施形態による、機械可読媒体(例えば、機械可読記憶媒体、コンピュータ可読記憶媒体、若しくはその任意の適切な組み合わせ)から命令を読み出して、本明細書で解説された方法のいずれか1つ以上を全体的若しくは部分的に実行することが可能なマシン1200の構成要素を示すブロック図である。具体的には、
図12は、例示的なコンピュータシステムの形態でマシン1200の概略図を示しており、この中で、本明細書で解説された方法のいずれか1つ以上をマシン1200に実施させるための命令1224(例えば、ソフトウェア、プログラム、アプリケーション、アプレット、アプリ、若しくは他の実行可能コード)を、全体的若しくは部分的に実行することができる。代替的な実施形態では、マシン1200は、スタンドアロン装置として動作するか、若しくは他のマシンに接続(例えば、ネットワーク接続)されることができる。ネットワーク配置では、マシン1200は、サーバ・クライアントネットワーク環境におけるサーバマシン若しくはクライアントマシンとして、又は分散(例えば、ピアツーピア)ネットワーク環境におけるピアマシンとして、動作することができる。マシン1200は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットコンピュータ、ラップトップコンピュータ、ネットブック、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話機、スマートフォン、ウェブアプライアンス、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、若しくは命令1224を順次又は他の様式で実行することが可能な任意のマシンとすることができ、それらの命令は、そのマシンで実行されるべきアクションを規定するものである。また、マシンは1つしか図示されていないが、「マシン」という用語は、本明細書で解説された方法のいずれか1つ以上を全体的若しくは部分的に実行するための命令1224を、個々に若しくは連携して実行するマシン群も含むものと解釈されるべきである。
【0092】
マシン1200は、プロセッサ1202(例えば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、無線周波数集積回路(RFIC)、若しくはその任意の適切な組み合わせ)と、メインメモリ1204と、スタティックメモリ1206と、を備え、これらは、バス1208を介して相互に通信するように構成されている。マシン1200は、さらに、グラフィックディスプレイ1210(例えば、プラズマディスプレイパネル(PDP)、発光ダイオード(LED)ディスプレイ、液晶ディスプレイ(LCD)、プロジェクタ、若しくはブラウン管(CRT))を備えることができる。マシン1200は、さらに、英数字入力装置1212(例えば、キーボード)と、カーソル制御装置1214(例えば、マウス、タッチパッド、トラックボール、ジョイスティック、モーションセンサ、若しくは他のポインティング機器)と、記憶装置1216と、信号発生装置1218(例えば、スピーカ)と、ネットワークインタフェース装置1220と、を備えることができる。
【0093】
記憶装置1216は、本明細書に記載の方法若しくは機能のいずれか1つ以上を実現する命令1224が記録される機械可読媒体1222を有する。それらの命令1224は、その全体若しくは少なくとも一部を、マシン1200によるその実行中に、メインメモリ1204内、プロセッサ1202内(例えば、プロセッサのキャッシュメモリ内)、又はその両方に、常駐させることもできる。従って、メインメモリ1204及びプロセッサ1202は、機械可読媒体とみなすことができる。命令1224は、ネットワークインタフェース装置1220によってネットワーク1226(例えば、ネットワーク108)を介して送受信することができる。
【0094】
本明細書で使用される場合の「メモリ」という用語は、一時的若しくは永続的にデータを記録することが可能な機械可読媒体を指し、限定するものではないが、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、バッファメモリ、フラッシュメモリ、及びキャッシュメモリ、を含むものと解釈することができる。機械可読媒体1222は、例示的な実施形態では単一の媒体であるように示しているが、「機械可読媒体」という用語は、命令を記録することが可能な単一の媒体若しくは複数の媒体(例えば、集中型若しくは分散型データベース、又は関連付けられたキャッシュ若しくはサーバ)を含むものと解釈されるべきである。また、「機械可読媒体」という用語は、マシン(例えば、マシン1200)で実行するための命令を記録することが可能な任意の媒体若しくは複数の媒体の組み合わせを含むものと解釈されるべきであり、それらの命令は、そのマシンの1つ以上のプロセッサ(例えば、プロセッサ1202)で実行されることで、本明細書に記載の方法のいずれか1つ以上をマシンに実行させるものである。従って、「機械可読媒体」とは、単一のストレージ装置若しくはデバイスを意味するとともに、複数のストレージ装置若しくはデバイスを含む「クラウドベース」のストレージシステム又はストレージネットワークをも意味する。よって、「機械可読媒体」という用語は、限定するものではないが、ソリッドステートメモリ、光媒体、磁気媒体、若しくはその任意の適切な組み合わせの形態の1つ以上のデータリポジトリを含むものと解釈されるべきである。
【0095】
この明細書を通して、複数の事例は、単一の事例として説明される構成要素、動作、若しくは構造を履行してもよい。1つ以上の方法の個々の動作は、別個の動作として示され、且つ説明されてはいるが、1つ以上の個々の動作は同時に実施されてもよく、且つ示された順番で動作が実施されることは、要求されない。構成例において、別個の構成部品として提示された構造及び機能性は、組み合わされた構造若しくは組み合わされた構成要素として履行されてもよい。同様に、単一の構成要素として提示された構造及び機能性は、別個の構成要素として履行されてもよい。これらの及び他の変形例、変更例、追加例、及び改善例は、本明細書における主題の範囲内である。
【0096】
ある実施形態は、本明細書では、ロジック若しくは多数の構成要素、モジュール、又は機械仕掛けを含むものとして説明される。モジュールは、ソフトウェアモジュール(例えば、マシン可読な媒体上において、若しくは伝送信号において具体化されたコード)、若しくはハードウェアモジュールのいずれかを構成してもよい。「ハードウェアモジュール」は、ある動作を実施できる有形ユニットであり、且つある物理的方法において構成されるか、若しくは配列されてもよい。様々な実施例で、1つ以上のコンピュータシステム(例えば、スタンドアロン・コンピュータ・システム、クライアント・コンピュータ・システム、若しくはサーバ・コンピュータ・システム)、若しくはコンピュータシステム(例えば、プロセッサ若しくは一群のプロセッサ)の1つ以上のハードウェアモジュールは、本明細書で説明されるような、ある動作を実施するために動作するハードウェアモジュールとして、ソフトウェア(例えば、アプリケーション若しくはアプリケーションの部分)によって構成されてもよい。
【0097】
幾つかの実施形態では、ハードウェアモジュールは、機械的に、電子的に、若しくはこれらの適切な任意の組み合わせで履行されてもよい。例えば、ハードウェアモジュールは、ある動作を実施するように定常的に構成される、専用の回路若しくはロジックを含んでもよい。例えば、ハードウェアモジュールは、フィールド・プログラマブル・ゲートアレイ(FPGA)若しくはASICのような特殊用途プロセッサであってもよい。ハードウェアモジュールはまた、ある動作を実施するようにソフトウェアによって一時的に構成される、プログラム可能なロジック若しくは回路を含んでもよい。例えば、ハードウェアモジュールは、汎用プロセッサ若しくは他のプログラム可能なプロセッサの中に包含されるソフトウェアを含んでもよい。正しく理解されることであろうが、専用の、且つ定常的に構成された回路において、若しくは一時的に構成された回路において(例えば、ソフトウェアによって構成された)、ハードウェアモジュールを機械的に履行するための決断は、コスト及び時間を考慮することによって主導される。
【0098】
従って、表現「ハードウェアモジュール」は、有形実体を包含すると理解されるべきであり、実体とは、物理的に構築され、定常的に構成されるか(例えば、ハードウェアにより実現される)、若しくある方法で動作するように、又は本明細書で説明されたある動作を実施するように、一時的に構成される(例えば、プログラムされる)。本明細書で使用されるように、「ハードウェア履行型モジュール」は、ハードウェアモジュールを指す。ハードウェアモジュールが一時的に構成される(例えば、プログラムされる)実施形態を考えれば、ハードウェアモジュールの各々は、時間におけるいずれの段階にあっても、構成される必要がないか、若しくは実証される必要が無い。例えば、ハードウェアモジュールが、特殊用途プロセッサになるように、ソフトウェアによって構成された汎用プロセッサを備える場合、その汎用プロセッサは、異なる時には、それぞれ異なる特殊用途のプロセッサ(例えば、異なるハードウェアモジュールを備える)として構成されてもよい。ソフトウェアは、従って、例えば、時間のある1つの段階では特別なハードウェアモジュールを構成し、且つ時間の異なる段階では異なるハードウェアモジュールを構成するように、プロセッサを構成してもよい。
【0099】
ハードウェアモジュールは、他のハードウェアモジュールへ情報を提供し、且つ他のハードウェアモジュールから情報を受信することが可能である。従って、説明されたハードウェアモジュールは、通信的に結合されていると見なされてもよい。複数のハードウェアモジュールが同時に存在するところでは、通信は、2つ以上のハードウェアモジュール間での、若しくは2つ以上のハードウェアモジュールの中での信号伝送(例えば、適切な回路及びバスを通しての)によって達成されてもよい。複数のハードウェアモジュールが、異なる時間に構成される、若しくは実証される実施形態では、そのようなハードウェアモジュール間の通信は、例えば、複数のハードウェアモジュールがアクセスするメモリ構造における情報の格納及び読み出しによって達成されてもよい。例えば、1つのハードウェアモジュールは、動作を実施し、且つ、その動作の出力を、該ハードウェアモジュールが結合されるメモリ装置に格納してもよい。更なるハードウェアモジュールは、その後、より遅い時間に、格納された出力を引き出すと共に処理するために、メモリ装置にアクセスしてもよい。ハードウェアモジュールはまた、入力装置若しくは出力装置との通信を開始してもよく、且つ、リソース上で動作することが可能である(例えば、情報の収集)。
【0100】
本明細書で説明された方法例の様々な動作は、少なくとも部分的には、1つ以上のプロセッサによって実施されてもよく、該1つ以上のプロセッサは、関連する動作を実施するように一時的に構成されるか(例えば、ソフトウェアによって)、若しくは定常的に構成される。一時的に若しくは定常的に構成される、そのようなプロセッサは、本明細書で説明された、1つ以上の動作若しくは機能を実施するために動作する、プロセッサ履行型モジュールを構成してもよい。本明細書で使用されるように、「プロセッサ履行型モジュール」は、1つ以上のプロセッサを使用して履行されるハードウェアモジュールを指す。
【0101】
同様に、本明細書で説明された方法は、少なくとも部分的にはプロセッサ履行型であってもよく、プロセッサはハードウェアの一例である。例えば、1つの方法の、少なくとも幾つかの動作は、1つ以上のプロセッサ、若しくはプロセッサ履行型モジュールによって実施されてもよい。その上、1つ以上のプロセッサはまた、「クラウドコンピューティング」環境における、若しくは「サービスとしてのソフトウェア(SaaS)」としての、関連する動作の性能を支援するために動作してもよい。例えば、少なくとも幾つかの動作は、一群のコンピュータ(プロセッサを含むマシンの例として)によって実施されてもよく、これらの動作は、ネットワーク(例えば、インターネット)を介して、且つ1つ以上の適切なインターフェース(例えば、アプリケーション・プログラム・インターフェース(API))を介してアクセス可能である。
【0102】
ある動作の性能は、1つ以上のプロセッサの中で分散されてもよく、これら1つ以上のプロセッサは、単一マシン内に常駐するだけでなく、多数のマシンにわたって配備される。幾つかの実施例では、1つ以上のプロセッサ若しくはプロセッサ履行型モジュールは、単一の地理的場所に位置してもよい(例えば、ホーム環境、オフィス環境、若しくはサーバファームの中で)。他の実施例では、1つ以上のプロセッサ若しくはプロセッサ履行型モジュールは、多数の地理的場所にわたって分散されてもよい。
【0103】
本明細書で説明された主題のいくつかの部分は、マシンメモリ(例えば、コンピュータメモリ)内でビット若しくは2値のデジタル信号として格納されたデータ上の、動作のアルゴリズム若しくは記号的表現の観点で提示されてもよい。そのようなアルゴリズム若しくは記号的表現は、データ処理技術において当業者によって使用される技術例であり、それによって、自分達の仕事が他の当業者に伝えられる。本明細書で使用されるように、「アルゴリズム」は自己矛盾がない動作系列、若しくは望ましい結果に導く同様な処理である。この文脈では、アルゴリズム及び動作は、物理量の物理的操作に関与する。典型的には、しかし必ずしもというわけではないが、そのような量は、電気的信号、磁気的信号、若しくは光学的信号の形態を取ってもよく、これらの信号は、マシンによって、格納され、アクセスされ、転送され、組み合わされ、比較され、若しくは他の方法で操作され得る。主として通常使用の理由のために、「データ」、「コンテンツ」、「ビット」、「値」、「構成要素」、「記号」、「文字」、「用語」、「数」、「数字」などのような単語を用いて、そのような信号を指すことは時には簡便である。しかしながら、これらの単語は単なる簡便な標識であり、適切な物理量に関連付けられるべきものである。
【0104】
別段の規定がある場合を除き、「処理する」、「演算する」、「計算する」、「判断する」、「示す」、「表示する」などのような用語を使用する本明細書における解説は、1つ以上のメモリ(例えば、揮発性メモリ、不揮発性メモリ、若しくはその任意の適切な組み合わせ)内、レジスタ内、若しくは情報を受信、記憶、送信、又は表示する他のマシンコンポーネント内で物理的(例えば、電子的、磁気的、若しくは光学的)な量として表されるデータを、操作若しくは変換するマシン(例えば、コンピュータ)のアクション又はプロセスに言及するものであり得る。また、別段の規定がある場合を除き、本明細書において「1つの(「a」若しくは「an」)」という用語は、特許文献で一般的であるように、1つ若しくは複数のインスタンスを含むものとして使用される。最後に、本明細書で使用される場合の接続詞「or(若しくは/又は)」は、別段の規定がある場合を除き、非排他的な「or(若しくは/又は)」を意味する。