[0002] 拡張現実アプリケーションにおける使用に加え、モバイルデバイスは、現実世界オブジェクトまたはイベントが仮想世界にマージされる拡張仮想感(AV)をユーザが探査することも可能にする。例えば、モバイルデバイス上の位置決定モジュールが、ユーザの周囲環境(仮想世界を備えるものである)のコンテキスト(context)(例えば、マップ、ロケーション、画像)を、拡張仮想感オブジェクトの相対的ロケーションを示すグラフィカルオブジェクトと組み合わせてユーザに提示するために使用され得る。モバイルデバイスは、モバイルデバイスのロケーション並びにオブジェクトに関連付けられた特徴に基づいて拡張仮想感オブジェクトと対話(interact)することをユーザにさせるように構成され得る。拡張仮想感オブジェクトは、ネットワークを介してアクセスされたり、モバイルデバイス上で予め記憶されたりできる。拡張仮想感オブジェクトは、サイズ、形状、ロケーション、速度、および方向のような特徴(例えば、変数)を持つ仮想オブジェクトであり得る。仮想オブジェクトは、現実世界または空想的オブジェクト(例えば、ボール、空飛ぶクーポン、洪水、虫の群れ、怪獣など)に基づくグラフィック画像や他のアニメーションオブジェクトに関連付けられ得る。仮想オブジェクトは、マーケティングおよび広告のようなビジネスアプリケーションに使用されることはもちろん、教育訓練およびゲームのような教育およびレクリエーションアプリケーションにおいても使用され得る。モバイルデバイス上に描かれる仮想世界における仮想オブジェクトの挙動は、アルゴリズムに基づいたり、ユーザの現実世界コンテキスト中で起こる複数のイベントやこれらの何らかの組合せからの入力に基づいたりし得る。
[0003] 本開示による、モバイルデバイス上で拡張仮想感(AV)を提供するための方法の例は、モバイルデバイスのロケーションを決定することと、ロケーションに基づいてコンテキストを決定することと、AVオブジェクト情報を取得することと、コンテキストに関連してAVオブジェクト情報を表示することと、コンテキストとの対話を検出することと、対話に基づいてAVオブジェクト情報を修正することと、修正されたAVオブジェクト情報を表示することとを含む。
[0004] 本方法の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。コンテキストは重み付け情報を含み得る。重み付け情報は、受信信号強度指示(RSSI:Received Signal Strength Indication)またはラウンドトリップ時間(RTT:Round-Trip Time)データに基づき得る。重み付け情報は、コンテキスト中の物理オブジェクトの組成(composition)に関連付けられ得る。ユーザジェスチャーが受信され得、受信されたジェスチャー情報に基づいてAVオブジェクト情報が修正され得る。アラートがユーザに提供され得、アラート信号が提供された時間とジェスチャーが受信された時間との間の差となる反応時間に基づいてAVオブジェクト情報が修正され得る。AVオブジェクト情報は拡張仮想感(AV:augmented virtuality)サーバから受信されてよく、修正されたAVオブジェクト情報はAVサーバに提供され得る。
[0005] 本開示による、モバイルデバイス上で拡張仮想感(AV)を提供するための方法の例は、モバイルデバイスのロケーションに基づいてコンテキストを決定することと、AVオブジェクトについての状態を生成することと、コンテキスト対話結果を決定することと、コンテキスト対話結果に基づいてAVオブジェクトの状態を修正することと、モバイルデバイス対話結果を決定することと、モバイルデバイス対話結果に基づいてAVオブジェクトの状態を修正することと、AVオブジェクトを表示することとを含む。
[0006] 本方法の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。AVオブジェクトの状態は方向変数を含み得る。AVオブジェクトの状態は、方向変数を修正することを含むコンテキスト対話結果に基づいて修正され得る。モバイルデバイス対話結果に基づいてAVオブジェクトの状態を修正することは、方向変数を修正することを含み得る。AVオブジェクトの状態はサイズ変数を含み得る。コンテキスト対話結果に基づいてAVオブジェクトの状態を修正することは、サイズ変数を修正することを含み得る。モバイルデバイス対話結果は、ユーザからのジェスチャーを受信することによって決定され得る。モバイルデバイスの状態は、モバイルデバイス対話結果に基づいて修正され得る。
[0007] 本開示による、拡張仮想感(AV)アプリケーションにおいて仮想ツールを使う方法の例は、モバイルデバイスのロケーションに基づいてコンテキストを決定することと、仮想脅威についての状態を生成することと、仮想ツールについての状態を生成することと、コンテキスト対話結果を決定することと、ツール対話結果を決定することと、コンテキスト対話結果およびツール対話結果に基づいて仮想脅威の状態を修正することと、仮想脅威および仮想ツールを表示することとを含む。
[0008] 本方法の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。仮想ツールの状態はロケーション変数を含み得る。仮想ツールの状態は、モバイルデバイスの状態基づいて修正され得る。ツール対話結果は、仮想ツールの修正された状態に基づいて決定され得る。ツール対話結果は、仮想脅威の状態を制約し得る。
[0009] 本開示による、拡張仮想感(AV)アプリケーションにおける対話変数を決定する方法の例は、コンテキストを取得することと、コンテキスト内の1つまたは複数の領域に対応するロケーションデータを決定することと、1つまたは複数の領域の各々についての重み付け情報を決定することと、重み付け情報に基づいて対話変数を決定することと、対話変数を記憶することとを含む。
[0010] 本方法の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。重み付け情報はRSSI情報に基づき得る。重み付け情報はRTT情報に基づき得る。
[0011] 本開示による、モバイルデバイス上で拡張仮想感(AV)を提供するための方法の例は、モバイルデバイスのロケーションに基づいてコンテキストを決定することと、コンテキスト内の制御領域を確立することと、遊動脅威についての状態を生成することと、ここにおいて、遊動脅威の状態はコンテキストによって制約される、遊動脅威についての戦闘地域を決定することと、ここにおいて、戦闘地域はコンテキストによって制約される、モバイルデバイスの状態を決定することと、ここにおいて、状態は現在のロケーションを含む、モバイルデバイスの状態に基づいて第1のミニゲームを開始することとを含む。
[0012] 本方法の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。第1のミニゲームは、モバイルデバイスのロケーションが制御領域内にあるときに開始され得る。モバイルデバイスのロケーションが戦闘地域内にあるとき、第2のミニゲームが開始され得る。戦闘地域は見通し線変数であってよい。見通し線変数はコンテキストによって制約され得る。
[0013] 本開示による、拡張仮想感(AV)オブジェクト情報を1つまたは複数のモバイルデバイスに提供するための方法の例は、モバイルデバイスをAVサーバに登録することと、AVサーバからAVオブジェクト情報とピア位置更新とを受信することと、AVサーバに位置更新を提供することとを含む。本方法のある実装形態において、ジェスチャー更新がAVサーバに提供され得る。
[0014] 本開示による、拡張仮想感(AV)オブジェクト情報をモバイルデバイスのうちの1つまたは複数に提供するための方法の例は、モバイルデバイスをAVサーバに登録することと、AVオブジェクト物理エンジンモジュールを受信することと、AVサーバにAVオブジェクト状態変数更新を提供することとを含む。
[0015] 本開示による、モバイルデバイス上で拡張仮想感(AV)を提供するための装置の例は、メモリモジュールと、メモリモジュールに結合されたプロセッサであって、モバイルデバイスのロケーションを決定し、ロケーションに基づいてコンテキストを決定し、AVオブジェクト情報を取得し、コンテキストに関連してAVオブジェクト情報を表示し、コンテキストとの対話を検出し、対話に基づいてAVオブジェクト情報を修正し、修正されたAVオブジェクト情報を表示するように構成されたプロセッサとを含む。
[0016] 本開示による、モバイルデバイス上で拡張仮想感(AV)を提供するための装置の例は、メモリモジュールと、メモリモジュールに結合されたプロセッサであって、モバイルデバイスのロケーションに基づいてコンテキストを決定し、AVオブジェクトについての状態を生成し、コンテキスト対話結果を決定し、コンテキスト対話結果に基づいてAVオブジェクトの状態を修正し、モバイルデバイス対話結果を決定し、モバイルデバイス対話結果に基づいてAVオブジェクトの状態を修正し、AVオブジェクトを表示するように構成されたプロセッサとを含む。
[0017] 本開示による、モバイルデバイス上で拡張仮想感(AV)を提供するための装置の例は、メモリモジュールと、メモリモジュールに結合されたプロセッサであって、モバイルデバイスのロケーションに基づいてコンテキストを決定し、AVオブジェクトについての状態を生成し、コンテキスト対話結果を決定し、コンテキスト対話結果に基づいてAVオブジェクトの状態を修正し、モバイルデバイス対話結果を決定し、モバイルデバイス対話結果に基づいてAVオブジェクトの状態を修正し、AVオブジェクトを表示するように構成されたプロセッサとを含む。
[0018] 本開示による、拡張仮想感(AV)アプリケーションにおいて仮想ツールを使うための装置の例は、メモリモジュールと、メモリモジュールに結合されたプロセッサであって、モバイルデバイスのロケーションに基づいてコンテキストを決定し、仮想脅威についての状態を生成し、仮想ツールについての状態を生成し、コンテキスト対話結果を決定し、ツール対話結果を決定し、コンテキスト対話結果およびツール対話結果に基づいて仮想脅威の状態を修正し、仮想脅威および仮想ツールを表示するように構成されたプロセッサとを含む。
[0019] 本開示による、拡張仮想感(AV)アプリケーションにおける対話変数を決定するための装置の例は、メモリモジュールと、メモリモジュールに結合されたプロセッサであって、コンテキストを取得し、コンテキスト内の1つまたは複数の領域に対応するロケーションデータを決定し、領域の各々についての重み付け情報を決定し、重み付け情報に基づいて対話変数を決定し、対話変数を記憶するように構成されたプロセッサとを含む。
[0020] 本開示による、拡張仮想感(AV)経験をユーザに提供するための装置の例は、メモリモジュールと、メモリモジュールに結合されたプロセッサであって、モバイルデバイスのロケーションに基づいてコンテキストを決定し、コンテキスト内の制御領域を確立し、遊動脅威についての状態を生成し、ここにおいて、遊動脅威の状態はコンテキストによって制約される、遊動脅威についての戦闘地域を決定し、ここにおいて、戦闘地域はコンテキストによって制約される、モバイルデバイスの状態を決定し、ここにおいて、状態は現在のロケーションを含む、モバイルデバイスの状態に基づいて第1のミニゲームを開始するように構成されたプロセッサとを含む。
[0021] 本開示による、プロセッサ実行可能記憶媒体上にあるコンピュータプログラム製品の例は、プロセッサに、モバイルデバイスのロケーションを決定させ、ロケーションに基づいてコンテキストを決定させ、AVオブジェクト情報を取得させ、コンテキストに関連してAVオブジェクト情報を表示させ、コンテキストとの対話を検出させ、対話に基づいてAVオブジェクト情報を修正させ、修正されたAVオブジェクト情報を表示させるように構成されたプロセッサ実行可能命令を含む。
[0022] 本開示による、プロセッサ実行可能記憶媒体上にあるコンピュータプログラム製品の例は、プロセッサに、モバイルデバイスのロケーションに基づいてコンテキストを決定させ、AVオブジェクトについての状態を生成させ、コンテキスト対話結果を決定させ、コンテキスト対話結果に基づいてAVオブジェクトの状態を修正させ、モバイルデバイス対話結果を決定させ、モバイルデバイス対話結果に基づいてAVオブジェクトの状態を修正させ、AVオブジェクトを表示させるように構成されたプロセッサ実行可能命令を含む。
[0023] 本開示による、プロセッサ実行可能記憶媒体上にあるコンピュータプログラム製品の例は、プロセッサに、モバイルデバイスのロケーションに基づいてコンテキストを決定させ、仮想脅威についての状態を生成させ、仮想ツールについての状態を生成させ、コンテキスト対話結果を決定させ、ツール対話結果を決定させ、コンテキスト対話結果およびツール対話結果に基づいて仮想脅威の状態を修正させ、仮想脅威および仮想ツールを表示させるように構成されたプロセッサ実行可能命令を含む。
[0024] 本開示による、プロセッサ実行可能記憶媒体上にあるコンピュータプログラム製品の例は、プロセッサに、コンテキストを取得させ、コンテキスト内の1つまたは複数の領域に対応するロケーションデータを決定させ、th領域の各々についての重み付け情報を決定させ、重み付け情報に基づいて対話変数を決定させ、対話変数を記憶させるように構成されたプロセッサ実行可能命令を含む。
[0025] 本開示による、プロセッサ実行可能記憶媒体上にあるコンピュータプログラム製品の例は、プロセッサに、モバイルデバイスのロケーションに基づいてコンテキストを決定させ、コンテキスト内の制御領域を確立させ、遊動脅威についての状態を生成させ、ここにおいて、遊動脅威の状態はコンテキストによって制約される、遊動脅威についての戦闘地域を決定させ、ここにおいて、戦闘地域はコンテキストによって制約される、モバイルデバイスの状態を決定させ、ここにおいて、状態は現在のロケーションを含む、モバイルデバイスの状態に基づいて第1のミニゲームを開始させるように構成されたプロセッサ実行可能命令を含む。
[0026] 本明細書に記載の項目および/または技法は、以下の能力のうちの1つまたは複数、並びに言及されない他の能力を提供し得る。コンテキストが、モバイルデバイスのロケーションに関連付けられ得る。コンテキストについての重み付け関数が決定され得る。拡張仮想感(AV)オブジェクトは、1つまたは複数のモバイルデバイス上で提示され得る仮想オブジェクトである。AVオブジェクトは、現実世界オブジェクト(例えば、ボール、流れる水、野生動物、泡、充満するガスなど)、並びに想像上のオブジェクト(例えば、魔法のファイアボール、異星人ロボット、怒れる巨人、空飛ぶクーポン)をモデリングできる。AVオブジェクトは、仮想および物理属性をモデリングするための状態変数を含み得る。ユーザは、モバイルデバイス内のセンサーを介してAVオブジェクトと対話できる。1つまたは複数のAVオブジェクトの状態変数は、コンテキストに基づいて修正または制約され得る。AVサーバが、AVアプリケーションをホストし、動作させることができる。設計者が、AVアプリケーションをAVサーバ上に登録できる。AVアプリケーション、および関連AVオブジェクトが、モバイルデバイスに提供され得る。AVアプリケーションが、ローカルおよびクライアント構成において実行され得る。モバイルデバイスが、ロケーションとAVオブジェクト状態情報とをAVサーバに提供するように構成され得る。AVサーバが、AVオブジェクト状態情報を1つまたは複数のモバイルデバイスに伝えるように構成され得る。AVオブジェクトが、仮想ツール(すなわち、別のAVオブジェクト)を表すことができ、ユーザが、モバイルデバイス内のセンサーを介して仮想ツールと対話できる。仮想ツールが状態変数を含んでよく、これらの変数は、コンテキストに基づいて修正または制約され得る。仮想ツールが、AVオブジェクトと対話するために使用され得る。コンテキストが、1つまたは複数の制御領域を含み得る。モバイルデバイスが、制御領域へのその近接度に基づいて、1つまたは複数のミニゲームを実行するように構成され得る。他の能力が提供されてよく、本開示によるあらゆる実装形態が、論じられる能力のいずれか、そのまま全てを提供しなければならないとは限らない。AVオブジェクトとコンテキストとの間の対話の結果は、広範なビジネス、教育および娯楽アプリケーションにおいて使用され得る。さらに、上で述べられた効果は、述べられた手段以外の手段によって達成されることが可能であってよく、述べられた項目/技法は、必ずしも述べられた効果を生むとは限らない。
[0046] ユーザのロケーションおよびロケーションに関連付けられたコンテキストに基づいて拡張仮想感(AV)オブジェクトをユーザに提供するための技法が本明細書において論じられる。例えば、現実のロケーションのマップが、測位エンジンまたはサーバから取得され、モバイルデバイスに提供される。マップは、ロケーションにある様々なオブジェクトおよび構造的特徴に関連付けられた重み付け関数を表す、ヒートマップ(heatmap)のような追加のコンテキスト情報を含み得る。重み付け関数は、アクセスポイントから取得されたRSSI(受信信号強度インジケータ)およびRTT(ラウンドトリップ時間)データに基づいてよい。例えば、重み付け関数は、壁および他の障害物のロケーションまたはAVオブジェクトがそのコンテキスト内でどのように動き、または変質されるかを決定するために使用され得る。コンテキストは、例えば、部屋、壁、ドア、回廊、および他の建築上の特徴のロケーションのような構造要素についての情報を含み得る。AVオブジェクトの状態変数(すなわち、状態)は、コンテキストおよびユーザとの対話(interaction)に基づいて修正されてよい。例えば、AVサーバまたはモバイルデバイス上で実行中の物理エンジンが、AVオブジェクトとコンテキストとの間の対話、および/またはAVオブジェクトとユーザとの間の対話の結果を算出するために使用され得る。AVオブジェクトの状態は、あるロケーション内の他のモバイルデバイスに伝えられるか、そうでなければこれらモバイルデバイスにとってアクセス可能である。例えば、コンテキストを持つ1つまたは複数のAVオブジェクトの間の対話は、様々なビジネス、教育および娯楽アプリケーションにおいて使用され得る。但し、これらの例は、網羅的ではない。
[0047] 図1を参照すると、拡張仮想感(AV)システムのための例示的なネットワーク環境100が示される。ネットワーク環境100は、例えば、モバイルデバイス120および130のような任意の数のモバイルデバイスを含み得る。モバイルデバイス120および130は、ネットワーク140を介してAVサーバ110とワイヤレスに通信できる。モバイルデバイス120および130は、いくつか例を挙げると、デジタルカメラを備える、セルラーフォン、スマートフォン、携帯情報端末、低デューティサイクル通信デバイス、ラップトップコンピュータ、ポータブルメディアプレーヤデバイス、パーソナルナビゲーションデバイス、およびポータブル電子デバイスを含む、どの適切なモバイルコンピューティングプラットフォームを備えてもよい。ネットワーク環境100は、ネットワーク140を介してAVサーバ110と通信できるコンピューティングプラットフォーム122のような非モバイルコンピューティングプラットフォームもさらに含み得る。少なくともいくつかの実装形態では、モバイルデバイスが、ワイヤードまたはワイヤレス通信によって、例えば、ネットワーク140を使用せずに、コンピューティングプラットフォーム122とドッキングすることによって通信することに適合され得る。
[0048] ネットワーク140は、ワイドエリアネットワーク(例えば、インターネット)、ローカルエリアネットワーク(例えば、イントラネット)、および/またはパーソナルエリアネットワークのうちの1つまたは複数を備え得る。例えば、モバイルデバイス120および130は、CDMA、GSM(登録商標)、もしくはWCDMA(登録商標)のようなセルラー通信プロトコルおよび/またはWifiやWiMAX(登録商標)のようなワイヤレスローカルエリアネットワーク(WLAN)プロトコルを含む、何らかの適切な通信プロトコルを介してAVサーバ110とワイヤレスに通信し得る。従って、ネットワーク140は、こうした実装形態で、1つまたは複数のワイヤレストランシーバを含み得る。ネットワーク140のワイヤレストランシーバはまた、モバイルデバイス120および130によって、モバイルデバイス位置を推定するための測位情報を取得するために使用され得る。
[0049] いくつかの実装形態では、三辺測量ベースの手法が、モバイルデバイスによって、地理的位置を推定するために使用され得る。例えば、CDMAにおけるアドバンストフォワードリンク三辺測量(AFLT:Advanced Forward Link Trilateration)またはGSMにおける強化観測時間差(EOTD:Enhanced Observed Time Difference)またはWCDMAにおける観測到達時間差(OTDOA:Observed Time Difference of Arrival)を含む技法が使用されてよく、これら技法は、いくつかの送信機装備基地局の各々から送信されたワイヤレス信号の相対的到達時間を、モバイルデバイスにおいて測定する。別の例として、モバイルデバイスは、ワイヤレストランシーバに関連付けられたメディアアクセス制御(MAC:Media Access Control)アドレスまたは他の適切な識別子を取得し、MACアドレスまたは識別子を、そのワイヤレストランシーバの既知の地理的ロケーションと相関させることによって、自デバイスの位置を推定できる。
[0050] モバイルデバイス120および130はさらに、モバイルデバイス位置を推定するためのワイヤレス測位信号を、測位システム150から取得できる。例えば、測位システム150は、衛星測位システム(SPS:Satellite Positioning System)および/または地上ベースの測位システムを備え得る。衛星測位システムは、例えば、全地球測位システム(GPS:Global Positioning System)、Galileo、GLONASS、NAVSTAR、GNSS、これらシステムの組合せから衛星を使用するシステム、または将来開発される何らかのSPSを含み得る。本明細書で使用されるように、SPSは、擬似衛星システムを含むことも理解される。WiFi(登録商標)およびWLAN信号のRSSIおよび/またはRTTの使用を含む、WiFi/WLAN方法のような地上測位技法が使用されてもよい。測位システム150は測位サーバであってよく、測位システム150の機能性はAVサーバ110に含められてよい。但し、ここに挙げられる特定の測位技法が例示的測位技法にすぎないこと、および特許請求する主題はこの点について限定されないことを理解されたい。
[0051] AVサーバ110は、1つまたは複数のサーバおよび/または他の適切なコンピューティングプラットフォームを備え得る。従って、AVサーバ110は、データベース114と命令116とを記憶した記憶媒体112を含み得る。記憶媒体112は、メモリモジュールと見なされ得る。AVサーバ110は、命令116を実行するため、および/またはデータベース114におけるデータの記憶と取出しとを円滑にするための例示的プロセッサ118のような1つまたは複数のプロセッサを含み得る。プロセッサ118は好ましくは、インテリジェントデバイス、例えば、Intel(登録商標)CorporationまたはAMD(登録商標)によって製造されたもののようなパーソナルコンピュータ中央処理ユニット(CPU)、マイクロコントローラ、特定用途向け集積回路(ASIC)などであり得る。AVサーバ110は、モバイルデバイス120および130を含む、ネットワーク140のクライアントとの通信を円滑にするための通信インターフェース160と、コンピューティングプラットフォーム122とをさらに含み得る。
[0052] 開示される実装形態の理解を円滑にするために、命令116はときとして、特定の動作を行うための1つまたは複数のモジュールの観点から記述されることがある。一例として、命令116は、AVオブジェクトとコンテキストおよび/またはユーザとの間の対話の結果を決定するためのオブジェクト対話エンジンモジュール162を含み得る。別の例として、命令116は、ネットワーク内でのAVオブジェクト情報の展開を管理するためのコンテンツ管理モジュール164を含み得る。コンテンツ管理モジュール164は、ユーザ(例えば、人間ユーザ)が、例えば、モバイルデバイス(例えば、モバイルデバイス120)または他の適切なコンピューティングプラットフォーム(例えば、コンピューティングプラットフォーム122)を介して、コンテンツ管理モジュールと対話することを可能にするためのいくつかのツールを含み得る。少なくともいくつかの実装形態において、コンテンツ管理モジュール164は、開発者(すなわち、ユーザ)が、ネットワークシステム内でAVオブジェクトを展開することを可能にするためのオブジェクト展開ツール166と、開発者が、AVオブジェクトを登録し、その開発者によって展開されたAVオブジェクトコンテンツに対する他のユーザのアクセス権を管理することを可能にするためのオブジェクト登録ツール170とを含み得る。こうしたツールは、モバイルデバイスまたは他の適切なコンピューティングプラットフォームの入力または出力デバイスを介して、開発者にとってアクセス可能であり得る。例えば、モバイルデバイスのグラフィカルディスプレイに提示されるグラフィカルユーザインターフェース(GUI)が、1つまたは複数の属性ファイルと他のメディアコンテンツ項目とを備えるAVオブジェクトを、ツール166、および170のうちの1つまたは複数を使うことによって開発者が定義することを可能にし得る。
[0053] データベース114は、1つまたは複数の関連項目を含む様々なデータを含み得る。関連項目176は、例えば、少なくとも1つのメディアコンテンツ項目178と、例えば、コンテキストデータ180、重み付け情報182、メタデータ186、およびオブジェクト物理エンジンモジュール174を含む他の関連データ要素とを含み得る。データベース114は、1つまたは複数の既存の仮想オブジェクト194を有するオブジェクトライブラリ192をさらに含み得る。
[0054] コンテキストデータ180は、ユーザのロケーションに相対してロケーションを定義でき、ここで、フロアプランのようなメディアコンテンツ(例えば、メディアコンテンツ項目178)が提示され得る。コンテキストデータ180は、オブジェクト展開ツール166を介してユーザによって定義され得る。例えば、コンテキストデータ180は、デジタルフロアプラン(例えば、AutoCAD.dwgファイル、建物情報モデル(BIM:Building Information Model)、スケッチアップファイル)のような電子媒体であってよい。
[0055] 重み付け情報182は、コンテキスト内の物理オブジェクトの構造的側面を定義し得る。例えば、マップ処理技法は、建物レイアウトを処理し、建物特徴にプロパティおよび/または属性を割り当てるのに使用され得る。ある実施形態では、RSSIおよび/またはRTTモデルが、建物特徴のプロパティおよび/または属性を推定するために使用され得る。重み付け情報は、コンテキスト内の障害および/または他の環境条件のような他の物理オブジェクトをモデリングするために使用され得る。重み付け情報182は、オブジェクト展開ツール166を介してユーザによって定義され得る。例えば、ユーザは、オブジェクト対話エンジンモジュール162向けのコンテキスト関連入力を入れるのに、オブジェクト展開ツール166を使用すればよい。
[0056] メタデータ186は、関連メディアコンテンツ項目178のような展開されたメディアコンテンツ項目にアクセスするための、ユーザの権利を規定する権利規定188を含み得る。非限定的例として、ユーザは、選択ユーザが特定のメディアコンテンツ項目(例えば、AVオブジェクトおよび関連ファイル)にアクセスすることを拒むことができ、またはユーザは、コンテキスト内の特定のメディアコンテンツ項目にアクセスするための権利を選択ユーザに付与できる。
[0057] メタデータ186は、メディアコンテンツ項目178に関連付けられたデバイス状態データ190をさらに含み得る。デバイス状態データ190は、例えば、モバイルデバイスがAVオブジェクトと対話している間、モバイルデバイスの位置および/または向きを示し得る。いくつかの実装形態では、モバイルデバイスの位置が、基準データに相対して測定された1つまたは複数の緯度、経度、および/または高度値として表され得る。同様に、モバイルデバイスの向きは、基準データに相対して測定された1つまたは複数のロール、ピッチ、および/またはヨー値によって表され得る。モバイルデバイスの状態は、タップ、強打、およびシェイクのような受信されたジェスチャー更新を含み得る。こうしたデバイス状態データは、図2を参照してより詳細に説明されるように、モバイルデバイスで取得される1つまたは複数の測位信号および/または慣性センサー測定値に基づき得る。
[0058] 図2を参照すると、例示的モバイルデバイス200の概略ブロック図が示される。モバイルデバイス200は、少なくともいくつかの実装形態に対しては、図1のモバイルデバイス120および130の非限定的例として働き得る。従って、モバイルデバイス200は、例えば、図1のAVサーバ110、モバイルデバイス120、130および/またはコンピューティングプラットフォーム122のような他のコンピューティングプラットフォームとの通信を円滑にするための通信インターフェース228を含み得る。ある実施形態では、通信インターフェース228が、他のネットワーク(例えば、WAN、WLAN)と通信するように構成されてよく、ロケーション決定(例えば、SPS信号)において使用されるように構成されてよい。通信インターフェース228は、例示的ネットワーク140を含む通信ネットワークとのワイヤレス通信を可能にし得る。モバイルデバイス200は、例えば、測位システム150のような測位システムから測位信号を受信するための受信機230をさらに含み得る。
[0059] モバイルデバイス200は、ユーザ入力を受信するための入力デバイス218を含み得る。入力デバイス218は、例えば、1つまたは複数の物理的ボタン、キーボード、コントローラ、マイクロフォン、ポインティングデバイス、および/またはタッチ感応表面を含み得る。モバイルデバイス200は、ユーザに情報を提示するための出力デバイス221を含み得る。一例として、出力デバイス221は、グラフィカルユーザインターフェース224を提示するためのグラフィカルディスプレイ222を含み得る。概して、グラフィカルディスプレイ222は、ユーザ入力を受信することが可能なタッチ感応グラフィカルディスプレイ(例えば、タッチスクリーン)を備え得る。タッチ感応グラフィカルディスプレイは、例えば、容量性検知、抵抗性検知、および/または光学検知技法を含む、表示面で、またはその近くでのユーザ入力を検出するための、何らかの適切な検知技法を使用し得る。こうしたタッチ感応実装形態において、グラフィカルディスプレイ222は、ユーザ入力を受信するための入力デバイスと、グラフィカルコンテンツを提示するための出力デバイスの両方の役目を果たし得る。出力デバイス221は、いくつかの実装形態においてオーディオコンテンツを提示するためのオーディオスピーカ226をさらに含み得る。
[0060] 少なくともいくつかの実装形態において、グラフィカルユーザインターフェース(GUI)224が、グラフィカルディスプレイ222に提示され得る。GUI224は、AVオブジェクトをコンテキスト情報と共に提示するためのAVビュー234を含み得る。情報レイヤ236は、レンダリングされたメディアコンテンツ項目238のような1つまたは複数のレンダリングされたメディアコンテンツ項目と、グラフィカル制御要素240のような1つまたは複数のグラフィカル制御要素とを備え得る。非限定的例として、レンダリングされたメディアコンテンツ項目238は、他の適切なグラフィカルコンテンツやその一部での画像、ビデオ、アニメーションのようなメディアコンテンツ項目178のレンダリング状態に対応し得る。グラフィカル制御要素240は、ユーザがモバイルデバイスの機能性を制御するためのユーザ入力を提供することを可能にする1つまたは複数のグラフィカル要素を含み得る。
[0061] モバイルデバイス200は、モバイルデバイスに搭載された、慣性センサー測定値を取得するための1つまたは複数の慣性センサー232を含み得る。少なくともいくつかの実装形態において、慣性センサー232は、1つまたは複数の加速度計、ジャイロスコープ、またはモバイルデバイスの慣性状態を測定するための他の適切なデバイスを備え得る。いくつかの実装形態では、モバイルデバイスの慣性状態が、モバイルデバイスの位置および/または向きの指示を提供するために、デカルトおよび/または極座標系における複数の軸に沿って慣性センサー232によって測定され得る。
[0062] 慣性センサー232から取得された慣性センサー測定値は、モバイルデバイス位置および/または向きのような推定値を取得するために処理され(例えば、時間経過につれて積分され)得ることが諒解されよう。前述されたように、モバイルデバイスの位置は、1つまたは複数の緯度、経度、および/または高度値として表されてよく、モバイルデバイスの向きが、基準データに相対して測定された1つまたは複数のロール、ピッチ、および/またはヨー値によって表されてよい。モバイルデバイス200は、グラフィカルディスプレイ222に提示され得るカメラビューを取得するためのカメラ220を含み得る。カメラ220は、集光するための1つもしくは複数のレンズ並びに/または画像および/もしくはビデオデータを表すデジタル信号に光を変換するための1つもしくは複数の光検知要素を含むいくつかの光学要素を有するデジタルカメラをいくつかの実装形態において備え得る。非限定的例として、光検知要素は、光をデジタル信号に変換するための光学ピックアップ、電荷結合デバイスおよび/または光電デバイスを備え得る。カメラの1つまたは複数の光検知要素から取得されたデジタル信号は、カメラビューとして処理および/またはグラフィカルディスプレイ222にレンダリングされ得る。さらに、いくつかの実装形態では、カメラ220を介して取得されたカメラビューが、画像および/またはビデオコンテンツとして記憶媒体に記憶され得る。例えば、カメラ220から取得されたデジタル信号は、.jpeg、.mpeg、または他の適切なフォーマットとして符号化され記憶媒体210に記憶され得る。カメラビューを表すこうしたデジタル信号は、記憶および/または処理のために他のコンピューティングプラットフォームに送信され得る。例えば、モバイルデバイスで取得されたカメラビューは、通信ネットワークを介して、または別のコンピューティングプラットフォームとドッキングすることによって、サーバシステムまたは他の適切なコンピューティングプラットフォームに送信され得る。
[0063] モバイルデバイス200は、データベース212と命令214とを記憶した記憶媒体210をさらに含み得る。記憶媒体210はメモリモジュールであり得る。モバイルデバイス200は、命令214を実行し、および/またはデータベース212でのデータの記憶および取出しを円滑にするための例示的プロセッサ216のような1つまたは複数のプロセッサを含み得る。データベース212は、図1のデータベース114を参照して前述されたデータ要素の一部または全部を含む様々なデータを含み得る。例えば、データベース212は、他のデータ間の関連コンテンツ項目176およびオブジェクトライブラリ192のうちの1つまたは複数を、モバイルデバイス200でローカルに保持できる。こうしたデータは、ワイヤレスネットワークを介してモバイルデバイスによってアクセスされ得る場合、、リモートに、例えば、図1のAVサーバ110のようなサーバシステムでも保持され得ることが諒解されよう。
[0064] 命令214は同様に、図1の命令116からなる前述されたモジュールおよび/またはツールのうちの1つまたは複数を含み得る。例えば、命令214は、モバイルデバイス200でローカルに保持される、前述されたオブジェクト対話エンジンモジュール162と、コンテンツ管理モジュール164とを含み得る。命令214は、コンテキスト内のAVオブジェクトの動きと反応とをモデリングするための物理エンジンモジュール254をさらに含み得る。命令は、受信機230を介して取得された測位信号および/または慣性センサー232を介して取得された慣性センサー測定値を処理し、並びにAVオブジェクトに関連付けられた状態変数を記憶するためのデバイス状態モジュール256をさらに含み得る。例えば、デバイス状態モジュール256は、こうした測位信号および/または慣性センサー測定値に少なくとも部分的に基づいて、モバイルデバイス200の位置および/または向きを推定するように適合され得る。モバイルデバイス200の推定された位置および/または向きは、例えば、デバイス状態データ190を参照して前述されたように、データベース212に記憶され得る。少なくともいくつかの実装形態において、デバイス状態モジュール256は、AVオブジェクトとの対話に応答して、モバイルデバイスについてのデバイス状態データを取得するように適合され得る。例えば、AVオブジェクトは、(例えば、モバイルデバイスの実際のロケーションに基づいて)モバイルデバイスに仮想的に当たり得る仮想ドッジボールであってよく、デバイス状態モジュール256は、モバイルデバイスが当てられたか、またはまだフリーであることを示すことができる。デバイス状態モジュール256は、例えば、データベース212またはデータベース114でデバイス状態データを状態特有のメディアコンテンツ項目に(例えば、メタデータとして)関連付けるようにさらに適合され得る。
[0065] 図2の例示的モバイルデバイス200の少なくともいくつかの要素は、本明細書に記載される動作、プロセス、および方法のうちの1つまたは複数を行うことを可能にするために、図1のコンピューティングプラットフォーム122のような他のモバイルまたは非モバイルコンピューティングプラットフォームに存在し得ることが諒解されよう。例えば、図1のコンピューティングプラットフォーム122は、命令214および/またはデータベース212を含む記憶媒体210のような記憶媒体と、プロセッサ216のような1つまたは複数のプロセッサと、1つまたは複数の入力および出力デバイスと、通信インターフェース228のような通信インターフェースとを備え得る。
[0066] 図3を参照すると、コンテキスト内の重み付け関数を決定するための例示的な構成の上面図が示される。この構成は、コンテキスト300と、アクセスポイント302と、1つまたは複数のモバイルデバイス304a、304b、304cの3つの例示的なロケーションとを含む。コンテキスト300は、壁と、回廊と、他の障害物とを含むロケーションを表し得る。本明細書で使用するアクセスポイントという用語は、地上トランシーバの異なる変形形態(例えば、基地局、WiFiアクセスポイント、フェムトセル)を含む。アクセスポイント302は、モバイルデバイス304a、304b、304cが、Wi−Fi(登録商標)、ブルートゥース(登録商標)、符号分割多元接続(CDMA)、または時間分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交周波数分割多元接続(OFDMA)、シングルキャリア周波数分割多元接続(SC−FDMA)のようなセルラー通信技術、あるいは何らか他の適切なワイヤレス技法および/または規格を使用してワイヤレスネットワークに接続できるようにし得る。ある実施形態では、AVサーバ110に接続されたアクセスポイント302が、重み付け情報を決定または更新するために、モバイルデバイス304a、304b、304cのうちの1つまたは複数と通信できる。AVサーバ110、または別の測位サーバは、重み付け情報を算出するために使用されるアルゴリズムを含み得る。この情報は、1つのデバイスまたは複数のデバイス(すなわち、クラウドソーシング)からの現在のデータおよび/または履歴データから得ることができ、中央ロケーション(例えば、ネットワーク要素)に維持され並びに/あるいはモバイルデバイス間で共有され得る。ある例では、マップサーバ(または他のネットワークデバイス)が、1つまたは複数のモバイルデバイスからの入力に基づいて対応する重み付け情報(例えば、ヒートマップ)を含むコンテキストを維持し更新し得る。加えてまたは代替として、各モバイルデバイスは、重み付け情報を維持および更新し、並びに/あるいは更新された重み付け情報をサーバおよび/または他のモバイルデバイスと共有し得る。ロケーションデータのセットが特定のコンテキスト(例えば、建物)に関連付けられる場合、モバイルデバイスは、複数のコンテキストに関するロケーションデータ(例えば、マップ)の複数のセットを記憶し維持し得る。ロケーションデータおよび/または対応する重み付け情報は、時間および/または日付の影響を受けることもある。例えば、平日の昼食時に混雑しているカフェ内および/またはその周囲のヒートマップは、週末の真夜中でほとんど空きであるときのヒートマップとは異なることがある。
[0067] ある実施形態で、AVサーバ110は、モバイルデバイスが置かれたコンテキスト(例えば、領域)を決定できる。この最初の決定は、既知のロケーション、デッドレコニングデータ、センサーデータ、GNSS、および他の信号源などの、様々なデータのうちのいずれかに基づき得る。いくつかの実施形態は、特定のMACIDに結合されたロケーションを介しておおよそのロケーションを決定することを可能にでき、次いで、そのおおよそのロケーションを使用してより正確なロケーションが決定される。モバイルデバイスが位置すると決定されたコンテキストは、RSSTおよびRTT測定値のそのに影響を及ぼし得る。コンテキストは、1つまたは複数の領域の環境条件を示す情報を含み得る。コンテキストは、例えば、壁、窓、ドア、および/またはその領域の環境の条件に影響を及ぼすことがある他の構造などの物理オブジェクトのロケーションを示し得る、建物のレイアウトのようなマップを含み得る。ロケーションデータは、マップ処理アルゴリズムを使用することによって生成され得る重み付け情報をさらに含み得、領域の環境の条件(例えば、領域とアクセスポイントとの間の壁の枚数、壁組成タイプ、距離、アクセスポイントのハードウェア情報、並びに/あるいはRSSIデータおよび/またはRTTデータの信頼性レベル(例えば、モバイルデバイスとアクセスポイントとの間の距離測定値)など)も示し得る。重み付け情報は、RSSIデータおよび/またはRTTデータを得ることのできる、単一のアクセスポイントまたは複数のアクセスポイントに関し得る。
[0068] RSSIデータおよびRTTデータは環境の条件に基づいて重み付けされ得る。例えば、重み付けは、RSSIデータとRTTデータの両方の重みを含んでよく、ロケーションデータの重み付け情報において提示される1つまたは複数の信頼性基準を使用して算出され得る。重み付けは、所与のモバイルデバイスおよび/またはアクセスポイントに関するデバイス固有情報のような、重み付け情報に含まれ得ない特定の情報も考慮し得る。例えば、モバイルデバイスが、RSSIデータを他のモバイルデバイスよりも正確にするアンテナおよび/または他の信号受信ハードウェアを有することがあり、その場合、より多くの重みがRSSIデータに提供され得る。モバイルデバイスは、RSSIおよびRTT情報を測定し、測定データを位置サーバ、またはAVサーバ110に提供するように構成され得る。別の例では、アクセスポイントが、多数の他のアクセスポイントよりも整合性の低い処理遅延をそのアクセスポイントに生じさせる特定のハードウェアを有することがあり、その場合、そのアクセスポイントを使用して測定されたRTTデータにはより少ない重みが提供され得る。モバイルのロケーションが既知であるとき、重み付け情報は、環境(例えば、物理オブジェクト)をモデリングするために使用され得る。オブジェクト対話エンジンモジュール162は、AVオブジェクトが通過できない壁をモデリングし、通過される壁の数もしくは特性に依存してオブジェクトに対する変形をモデリングし、またはAVオブジェクトと対話する予定のない回廊をモデリングするために、重み付け情報を使用できる。重み付け情報は、例えば、アクセスポイント302とモバイルデバイス304a、304b、304cとの間の壁の密度を決定するために使用されてよく、この密度は、仮想オブジェクトがそれらのモバイルデバイスに向かってどのように横断するかをさらに支配し得る。ある実施形態では、ネットワークデバイスが、オブジェクト対話エンジンモジュール162によって使用され得るヒートマップを維持できる。
[0069] 図4を参照すると、AVサーバと1つまたは複数のモバイルデバイスとの間の例示的なデータ転送方式のブロック流れ図が示される。転送方式は、AVサーバ110と、ユーザモバイルデバイス402a、402b、402c、(まとめて402)と、開発者デバイス420とを含む。モバイルデバイス402および開発者デバイス420は、以前に論じられたように(例えば、モバイルデバイス200)構成され得る。ある実施形態では、モバイルデバイス402および開発者デバイス420が、ネットワーク140および1つまたは複数のアクセスポイント(図示せず)を通してAVサーバ110と通信するように構成される。説明のために、ネットワーク140およびアクセスポイントは、着信および発信通信経路410b〜d、411b〜d、420aの集合体に組み込まれる。発信通信経路410b〜d(まとめて410)は、AVサーバ110からモバイルデバイスに送信されるAVオブジェクト情報を表し、着信通信経路411b〜d(まとめて411)は、モバイルデバイスからAVサーバ110に送信されるAVオブジェクト情報を表す。異なる通信経路として示されているが、着信および発信通信経路は単一の経路であってよい。開発者デバイス420は、通信経路421を介してAVサーバ110と通信する。
[0070] 動作において、開発者は、AVオブジェクトをデータベース114内に登録するために、仮想オブジェクトを作成し、開発者デバイス420(または他のコンピューティングプラットフォーム122)を使用できる。例えば、開発者デバイス420は、AVオブジェクトと関連項目176とを作成し、またはアップロードするために、コンテンツ管理モジュール164にアクセスできる。AVオブジェクトおよびモバイルデバイス402の機能に基づく、AVサーバ110とモバイルデバイス402との間のデータ転送方式のアーキテクチャ。ある例では、AVサーバ110が、関連項目176を含む初期AVオブジェクト情報を、通信経路410を経由してモバイルデバイスに提供できる。オブジェクト対話エンジンモジュール162は、AVオブジェクトとのユーザ対話を可能にするために、AVオブジェクト情報を使用できる。モバイルデバイス上でローカルに実行する物理エンジンモジュール254は、AVオブジェクトの動きと、AVオブジェクトを記述する状態変数とをシミュレートでき、モバイルデバイスは更新され得る。状態更新は、着信通信経路411を経由してAVサーバに送られ、次いで、発信通信経路410を経由して他のモバイルデバイスにブロードキャストされ得る。ある実施形態では、モバイルデバイス402が、着信通信経路411を経由してAVサーバ110にデバイス状態情報を送ることができ、AVサーバ110が、AVオブジェクトの対話と、対応する状態とを決定するために、オブジェクト対話エンジンモジュール162を実行できる。AVオブジェクト状態情報は次いで、発信通信経路410を介してモバイルデバイス402に送信され得る。単一プレーヤ(例えば、ただ1つのモバイルデバイス402a)のケースでは、AVサーバが、モバイルデバイスとAVサーバとの間のさらなる通信の必要なしに、モバイルデバイス上のアプリケーションを初期化するために使用され得る。他のデータ転送方式が使用され、AVオブジェクトとモバイルデバイス状態情報とを、AVサーバ110およびモバイルデバイス402との間で転送し得る。
[0071] 図1および図2をさらに参照しながら図5を参照すると、複数の状態における例示的なAVオブジェクトの上面図が示される。この図は、コンテキスト300と、1つまたは複数のモバイルデバイス502a、502b、502c(まとめて502)と、仮想ボール510(すなわち、AVオブジェクト)と、対話イベント520とを含む。様々な時間における仮想ボール510のロケーションが、文字A.〜G.で示される。AVサーバ110は、コンテキスト300のためにランダム初期ロケーション変数、方向および速さ変数で仮想ボール510を起動するように構成され得る。例えば、AVサーバ110は、仮想ボール510についての初期状態情報を、モバイルデバイス502の各々に提供する。初期状態情報は、仮想ボール510がロケーション「A」で始まり、初期速度でロケーション「B」に進むことを示す。仮想ボール510のロケーションおよび運動は、モバイルデバイス502の各々のグラフィカルディスプレイ222上に現れる。ある実施形態では、AVサーバ110が、状態情報を定期的に(例えば、50ms、100ms、200ms、500ms)更新するために、オブジェクト対話エンジンモジュール162を使用する。例えば、オブジェクト対話エンジンモジュール162は、仮想ボール510についての新たな状態を生成するように、コンテキストデータ180および重み付け情報182を考慮して、仮想ボール510の現在の状態を処理する。その結果、重み付け情報182および/またはコンテキストデータ180は、仮想ボール510と対話する仮想境界を作成するために使用される。例えば、ロケーション「B」を参照すると、仮想ボール510は、壁から仮想的に跳ね返り、ロケーション「C」に進む。オブジェクト対話エンジンモジュール162によって算出された結果は、仮想ボール510の状態を変え得る。仮想ボール510の位置、速度、および方向に関連付けられた状態変数が変えられ、次いで、モバイルデバイス502に提供されてよい。状態変数はまた、1つまたは複数のモバイルデバイス502上で更新され、アプリケーションに参加している他のモバイルデバイス(存在する場合)への配布のためにAVサーバに提供され得る。他のアプリケーションが追加の状態変数を有する場合がある。例えば、風速および方向のような仮想環境側面が、AVオブジェクトの状態を改変するために使用され得る。
[0072] 仮想ボール510の例を続けると、ロケーション「C」および「D」での偏向の後、仮想ボール510は、ロケーション「E」およびモバイルデバイス502cに向かって回廊を通り続ける。モバイルデバイス502cのユーザは、仮想ボール510が位置「A」から位置「E」に移動するとき、その進みを監視できる。仮想ボール510が近づくと、ユーザは、対話イベント520を作成するためにモバイルデバイス502cにジェスチャーを入れることができる。ジェスチャーは、スクリーンタップもしくは強打、シェイク、またはスイングの動きを含み得る。モバイルデバイス502cへの他の入力が、対話イベント520を開始するためのジェスチャーとして使用されてよい。ジェスチャーのタイミングおよび性質が、デバイス状態モジュール256によって捕捉され、オブジェクト対話エンジンモジュール162への入力として、AVサーバ110に送られ得る。例えば、仮想ボール510がロケーション「E」に到達すると、モバイルデバイス502cのユーザは、仮想ボール510をロケーション「F」に向けて送り出すために、グラフィカルディスプレイ222をフリックさせる。対話イベントの結果は、仮想ボール510の状態を修正し得る。概して、AVオブジェクトの状態を修正することは、状態変数関連AVオブジェクト属性(例えば方向および速さ)の値を変えることを意味する。仮想ボール510は、ロケーション「G」に向かい続け、モバイルデバイス502bと可能な仮想的に衝突し得る。ゲーム用アプリケーションにおいて、ユーザは、別のユーザにAVオブジェクトを仮想的に当てるためのポイントを得ることができる。
[0073] 図5の仮想ボールアプリケーションは例示にすぎず、限定ではない。他のアプリケーションは、AVオブジェクトをキャッチすること、または1つもしくは複数のAVオブジェクトを見つけるため(例えば、イースターエッグハント)のような目的を含み得る。いくつかのゲーム用アプリケーションにおいて、ユーザは、他のプレーヤに当てるためのAVオブジェクト(例えば、ドッジボール)を使うことによって、またはAVオブジェクト(例えば、仮想ボール)を、プレーヤを抜いて打つこと(例えば、ピンポン)によってポイントをとることができる。ある例では、ユーザが、アラート信号を提供されてよく、仮想オブジェクト(例えば、ホットポテト)と成功裡に対話するために、一定の時間フレーム(例えば、反応時間)内でモバイルデバイスにジェスチャー更新を提供しなければならない。位置およびコンテキストに基づく他のゲームが作成されてもよい。ある実施形態では、AVオブジェクトが、AVビュー234における拡張現実オブジェクトとしてグラフィカルディスプレイ222上に提示され得る。例えば、ユーザは、その周囲(例えば、通路、部屋)においてオブジェクトの準リアルタイムビューを取得するために、カメラ220を使用でき、ユーザに向かって移動する仮想ボール510の画像が、カメラビューにおけるオブジェクトとの関係で提示され得る。カメラビューにおけるAVオブジェクトのサイズは、ユーザからのAVオブジェクトの相対的ロケーションに基づいて変わり得る(すなわち、仮想ボール510は、ユーザに近づくほど、大きく見え得る)。
[0074] 図6を参照すると、コンテキスト中を移動する例示的なAVオブジェクトの上面図が示される。この図は、コンテキスト300と、第1のモバイルデバイス602と、第2のモバイルデバイス604と、対話領域606と、異なる状態610a〜fで表されるファイアボール610(すなわち、AVオブジェクト)とを含む。ファイアボール610は、コンテキスト300における障害物中を移動するように示される。例示的なゲーム用アプリケーションにおいて、AVサーバ110は、ファイアボール610のような空想タイプの仮想オブジェクトを生成できる。例えば、オブジェクトライブラリ192および関連項目176は、ファイアボール610の属性に関連付けられた特徴、並びにスコアリング機構のような他の情報を含み得る。例えば、オブジェクトライブラリ192は、以下を含み得る。
・ファイアボールオブジェクト=fireball.gif,物理的特性=最大5つの壁を通って伝播し、半径は壁通過のたびに20%低減する。
[0075] ファイアボール610は、初期ロケーション、速度および方向ベクトル、並びにサイズ(すなわち、半径)を示すための初期状態変数で仮想的に起動され得る。初期状態610aは初期ロケーションを示す。第2の状態610bは、ファイアボール610が第1のモバイルデバイス602への方向に動いたことを示す。異なる状態610a〜fが図6において別個の間隔で示される一方、着信および発信通信経路410、411を経由するデータ転送のレート、並びに他の処理能力が、状態から状態へのより継続的な移行を可能にし得る。オブジェクト対話エンジンモジュール162は、ファイアボール610がコンテキスト300といつ対話するか決定するように構成され得る。例えば、オブジェクト対話エンジンモジュール162は、ファイアボール610がマップにおける構造的特徴(例えば、壁、ドア、窓)と対話していることを示すことができる。対話の結果は、コンテキスト特徴に関連付けられた重み付け情報に基づいてファイアボール610のサイズを縮小させるのようなファイアボール610の状態を変え得る。例えば、第3の状態610cでのファイアボールは、壁と対話し、従って第4の状態610dに示されるようにサイズが縮小される。構造的特徴のタイプおよび/または性質(例えば、コンテキストデータ180、重み付け情報182)は、対話算出の結果に影響を及ぼし得る。固体壁は、窓または体積分割器(cubical divider)よりも大幅にサイズを縮小し得る。例えば、第4の状態610dから第5の状態610eへの状態変化は、領域についての重み付け情報および/またはコンテキスト情報に基づいて小さくてよい。ファイアボール610は、ターゲット領域に基づく、最大範囲(例えば、第6の状態610f)と、影響領域とを有し得る。対話領域606は、第1のモバイルデバイス602の状態と比較して、ファイアボール610の状態に基づいて決定される。AVオブジェクトおよびモバイルデバイスのロケーションに関連付けられた状態変数が比較され得る。ある例では、第1のモバイルデバイス602が、ファイアボール610の経路にあり、従って仮想的に当てられる。第2のモバイルデバイス604は、新たな新たな位置に動き、ファイアボール610に当たらない(例えば、相互作用(interact)しない)。
[0076] ある例では、モバイルデバイスの状態が、対話算出において影響を及ぼすことになるアプリケーションパラメータを含み得る。図6の空想ファイアボールの例を続けると、第1のモバイルデバイス602は、モバイルデバイスがファイアボール610との対話から守られ、または場合によっては保護されることを示すための状態変数を含み得る。特定のAVオブジェクトアプリケーションに基づく他の状態変数が使用されてよい。ある例では、ファイアボール610が、特定のユーザおよび/またはモバイルデバイスを標的にすることを試みるロックオンターゲット態様を有し得る。コンテキストまたは重み付け情報は、モバイルデバイスが適切な覆い(すなわち、ファイアボール610を遮断する厚い壁)の後ろにあるかどうか決定するために使用され得る。
[0077] 図7を参照すると、例示的な拡大脅威を持つコンテキストの上面図が示される。この図は、コンテキスト300と、モバイルデバイス702a〜cと、拡大脅威AVオブジェクト710とを含む。ある例では、拡大脅威710が、シードロケーションからコンテキスト300中に拡がる洪水または昆虫の群れを表し得る。拡大のレートおよび方向は、コンテキスト300中の構造要素によって制約され得る。コンテキストデータ180および/または重み付け情報182は、脅威の拡散を制約するために使用され得る。オブジェクトライブラリ192および関連項目176は、以下を含み得る。
・洪水オブジェクト=water.gif,物理的特性=回廊および壁を通って伝播する、ボリュームは距離とともに低減する
例えば、洪水ゲームアプリケーションは、ユーザ(例えば、モバイルデバイス702a〜c)に、拡大脅威710との接触を避けるよう要求する場合がある。ある実施形態では、モバイルデバイス702a上で実行している物理エンジンモジュール254が、拡大脅威710の現在の状態を決定し、脅威状態情報をAVサーバ110に提供できる。AVサーバは、脅威状態情報を追加のモバイルデバイス(例えば、モバイルデバイス702b、702c)に配布できる。ある実施形態では、AVサーバ110が、拡大脅威710の状態を決定し、状態情報をモバイルデバイス702a〜cに配布するように構成され得る。
[0078] 図7をさらに参照しながら図8を参照すると、例示的な拡大脅威および仮想ツールAVオブジェクトを持つコンテキストの上面図が示される。この図は、コンテキスト300と、拡大脅威710と、第1のモバイルデバイス802aと、第2のモバイルデバイス802bと、第3のモバイルデバイス802cと、仮想土嚢の第1のセット810aと、仮想土嚢の第2のセット810bとを含む。ある例では、拡大脅威710が、コンテキスト300によって制約される仮想洪水AVオブジェクトである。ユーザは、洪水をさらに制約することを助けるために仮想ツールと対話する場合がある。例えば、仮想ツールは、第1のセット仮想土嚢810aおよび仮想土嚢の第2のセット810bのような仮想土嚢を表し得る。トレーニングアプリケーションにおいて、ユーザは、第1のロケーションにある仮想土嚢を仮想的にピックアップし、次いで、それを第2のロケーションに移すよう要求される場合がある。こうした仮想オブジェクトは、モバイルデバイスがいつ、仮想オブジェクトの所要近接度内にあるか決定するために、オブジェクトの周囲のジオフェンスを含み得る。ジオフェンスのサイズ(例えば、厳密性、許容差)は、所与の現場の測位品質に依存し得る。図8の例を参照すると、第1のモバイルデバイス802aは、仮想土嚢の第1のセット810aの近くに(すなわち、ジオフェンス内に)位置する。オブジェクト対話エンジンモジュール162は、仮想土嚢の第1のセット810aからの1つまたは複数の仮想土嚢が仮想的にピックアップされたことを示すように、モバイルデバイスの状態を調節できる。第2のモバイルデバイス802bは、拡大脅威710の近く、またはその経路になる領域に配置される。第2のモバイルデバイスの状態は、1つまたは複数の仮想土嚢が仮想的に落とされたことを示すように修正され得る。仮想土嚢の第2のセット810bは、仮想脅威と対話する仮想ツールを表す。洪水の例において、仮想土嚢の第2のセットは、拡大脅威710の経路を遮断するか、または場合によっては制約し得る。ゲームアプリケーションにおいて、オブジェクトは、あるチームが相手チームの損害に対する拡大脅威を制約するためのものであってよい(例えば、第3のモバイルデバイス802が洪水にのまれるところである)。拡大する洪水および仮想土嚢は例示にすぎず、限定ではなく、他のAVオブジェクトが、仮想脅威と仮想ツール(例えば、昆虫の群れ/虫よけスプレー、遊動異星人/レーザピストル、仮想虎/かごのドアレバー)とを表すのに使用されてよい。
[0079] 図9を参照すると、例示的な仮想トレーナーAVオブジェクトを持つコンテキストの上面図が示される。この図は、コンテキスト300と、モバイルデバイス902と、仮想トレーナー910とを含む。仮想オブジェクトは、前述された発射物および拡大脅威に限定されるわけではない。他の仮想オブジェクトが、ロケーションおよびコンテキストに基づいてユーザと対話するために開発されてもよい。例えば、仮想トレーナー910が、警告がほとんど、またはまったくなく(すなわち、ユーザの感覚を鋭敏に保とうとして)、特定のロケーションにおいてユーザと待ち伏せする(例えば、対話する)ように構成され得る。待伏せは、コンテキスト300中の追跡が続くモバイルデバイス902上での第1のミニゲームにつながり得る。対話イベント、および/または後続の第2のミニゲームの結果は、モバイルデバイス902および/または仮想トレーナー910の状態を変える場合がある。仮想トレーナー910は、見つかることを待ち受けて、別のロケーションに隠れることができる(例えば、かくれんぼ)。他の仮想物が使用されてもよい。
[0080] 図10を参照すると、複数の制御領域および例示的な遊動脅威AVオブジェクトを持つコンテキストの上面図が示される。この図は、コンテキスト300と、第1のモバイルデバイス1002aと、第2のモバイルデバイス1002bと、第3のモバイルデバイス1002cと、第1の制御領域1004aと、第2の制御領域1004bと、第3の制御領域1004cと、第4の制御領域1004dと、第1の遊動脅威1010aと、第2の遊動脅威1010bと、第3の遊動脅威1010cとを含む。各遊動脅威1010a〜cは、それぞれ、見通し線(LOS:line-of-sight)インジケータ1011a〜cを含む。制御領域および遊動脅威の数、性質、およびロケーションは例示にすぎず、限定ではない。ゲームアプリケーションは単一プレーヤまたはマルチプレーヤ構成であってよいので、モバイルデバイスの数は例示である。動作において、オブジェクトライブラリ192は、コンテキスト内の制御領域を定義する仮想オブジェクトを含み得る。制御領域は、部屋に対応するか、またはコンテキストデータ180および/もしくは重み付け情報182によって決定される他の構造的特徴によって境界を定められ得る。ある例では、コンテキストが、制御領域の各々が代表的制御ステーションを表すように、仮想宇宙船に変換され得る。第1の制御地域の1004aは橋を表すことができ、第2の制御領域1004bは武器ステーションを表すことができ、第3の制御領域1004cはエンジニアリング領域を表すことができ、第4の制御領域1004dは倉庫を表すことができる。オブジェクト対話エンジンモジュール162は、制御領域に関係して、モバイルデバイスのロケーションに基づいて対話結果を計算するように構成され得る。例えば、第1のモバイルデバイス1002aは第1の制御領域1004a内にあり、得られる対話結果は、橋梁関連ミニゲーム(例えば、第1のミニゲーム)を開始することであり得る。第2のモバイルデバイス1002bは第3の制御領域1004c内に位置し、得られる対話結果は、エンジニアリング関連ミニゲーム(例えば、第2のミニゲーム)を開始することであり得る。他の対話結果が使用されてよく、モバイルデバイスおよび制御領域の対応する状態が更新され得る。
[0081] ある実施形態では、制御領域1004a〜dの間の回廊が、1つまたは複数の遊動脅威1010a〜bを含む場合がある。サイエンスフィクションのテーマを続けると、遊動脅威は、コンテキスト300を動き回る仮想ロボット異星人を表す場合がある。遊動脅威1010a〜cの運動は、コンテキストデータ180および/または重み付け情報182によって制約される。遊動脅威1010a〜cの各々は、遊動脅威についての注目の全般的方向を示すためのLOSインジケータ1011a〜c(すなわち、見通し線変数)を含み得る。動作において、オブジェクト対話エンジンモジュール162は、遊動脅威のロケーション、並びに現在のLOSインジケータに基づいて対話結果を計算するように構成され得る。対話結果は、モバイルデバイス上で、遊動脅威関連ミニゲームを開始することであってよい。ゲームアプリケーションにおいて、モバイルデバイス、制御領域、および遊動脅威の状態は、スコアリング機構を作成するために使用され得る。例えば、ゲームは、ユーザが完遂するべきミッションを作成し、次いで、ユーザが反応するべき緊急事項を続いて作成できる。ユーザは、ミッションを完遂するために、制御領域から制御領域へとコンテキストを動き回らなくてはならない場合がある。仮想ツールは、ゲームアプリケーションに含まれてもよい。コンテキスト特有の制御領域と遊動脅威とを使用するために他のゲームアプリケーションが作成されてよいので、これらの規則および目的は例示にすぎない。
[0082] 図10をさらに参照しながら図11を参照すると、1つまたは複数のミニゲームを実行するモバイルデバイスの上面図が示される。この図は、マップアプリケーション1102aと、橋梁ミニゲームアプリケーション1102bと、武器ミニゲームアプリケーション1102cと、エンジニアリングミニゲームアプリケーション1102dとを実行および表示するように構成されたモバイルデバイス1100を含む。マップアプリケーション1102a〜dは、図10に関して記載されたサイエンスフィクションテーマを鑑みて、例示にすぎない。動作において、AVサーバ110は、マップアプリケーション1102a〜bをデータベース114に記憶し、マップアプリケーション1102a〜dをモバイルデバイス1100に提供できる。マップアプリケーション1102a〜dは、オブジェクト対話エンジンモジュール162によって計算された結果に基づいて開始されてよい。例えば、モバイルデバイス1100が、対応する制御領域に入ったとき、アプリケーションが開始されてよい。ミニゲームアプリケーションは、それぞれの制御領域のテーマに沿って構成されてよい。橋梁ミニゲームは、ユーザに、フライトシミュレータを完遂するよう要求する場合があり、武器ミニゲームは、ユーザに、ターゲットシューティングゲームを完遂するよう要求する場合があり、エンジニアリングゲームは技術トリビアゲームであってよい。ミニゲームは、拡張現実アプリケーションにおいてAVオブジェクトと対話することを含み得る。例えば、ユーザが、遊動脅威1010aへと導く回廊のビューを取得するために、モバイルデバイス1002cのカメラビューを使う場合がある。モバイルデバイス1002cのディスプレイは、回廊のライブ画像を、回廊を移動する異星人ロボットと一緒に、同時に示すことができ、ここにおいて異星人ロボットのロケーションは状態変数に基づく。こうしたミニゲームの目的は、(例えば、モバイルデバイススクリーン上のロボット画像を軽くたたくにより)異星人ロボットを仮想的にパワーダウンすることであってよい。他のミニゲームが使用されてもよい。特定のミニゲームにおけるユーザのパフォーマンスが、モバイルデバイスの状態、制御領域、または他のゲームアプリケーション関連状態モデル(例えば、宇宙船のロケーション、ダメージ条件、脅威レベル)を変え得る。ミニゲームの結果は、テーマに基づいてコンテキストデータを一時的に修正する(例えば、ドアを閉じ、エアロックを開け、輸送車をアクティブ化する)のにも使用され得る。
[0083] 図1〜図11をさらに参照しながら図12を参照すると、AVオブジェクトを表示するためのプロセス1200は、図示された段階を含む。但し、プロセス1200は、一例にすぎず、限定的なものではない。プロセス1200は、例えば、段階を追加させ、削除させ、並べ替えさせ、組み合わせ、同時に行わせること、および/または単一段階を複数の段階に分裂させることで改変されてよい。例えば、AVオブジェクト情報を受信する、以下で説明する段階1206は、段階1202および1204の前に行われ得る。図示および説明するプロセス1200へのさらに他の改変が可能である。
[0084] 段階1202において、モバイルデバイス200、またはAVサーバ110は、モバイルデバイス200のロケーションを決定する。モバイルデバイス200は、衛星および/または地上ベースの測位システムからワイヤレス測位信号を取得し得る。三辺測量ベースの手法が、モバイルデバイス200によって、モバイルデバイスのロケーションを決定するために使用され得る。デバイス状態モジュール256はロケーション情報で更新されてよく、モバイルデバイス状態変数の集合体が、AVサーバ110に提供されるか、またはモバイルデバイス200上でローカルに記憶されてよい。ある実施形態では、プロセス1200の冒頭で追加のアクションが行われ得る。例えば、ユーザが、ゲームを開始し、難易度レベルを設定し、ゲームパラメータを交換し、ユーザ認証を行い、または課金情報を決定できる。他のアプリケーションまたは動作ステップが行われてもよい。
[0085] 段階1202において、モバイルデバイス200またはAVサーバ110はコンテキストを決定する。コンテキストは、コンテキストデータ180としてデータベース114に記憶された(対話値を含む)構造的特徴を持つフロアマップであってよい。コンテキストは、RSSI/RTTヒートマップのような重み付け情報182を含み得る。追加のメディアコンテンツ項目178がコンテキストに含まれ得る。コンテキストは、段階1202で決定されたロケーションに基づいてモバイルデバイス200に提供され得るか、またはモバイルデバイス200上に予め記憶され、モバイルデバイス200のロケーションに基づいてアクセスされ得る。
[0086] 段階1206で、モバイルデバイス200は、AVサーバから、またはローカルメモリからAVオブジェクト情報を取得できる。AVオブジェクト情報は、オブジェクトライブラリ192に記憶されてよく、メディアコンテンツ項目、オブジェクト物理エンジン、およびメタデータ186のような1つまたは複数の関連項目176を含み得る。AVオブジェクト情報は、AVオブジェクトの現在の状態を表す状態変数のセットも含み得る。状態変数は、ロケーションと、サイズと、運動速度および方向と、対話変数と、AVオブジェクトのアクションをモデリングするための他の情報とを表し得る。AVオブジェクト情報は、段階1202で決定されたロケーションに基づいてモバイルデバイス200に提供され得る。例えば、AVオブジェクト情報は、発信通信経路410を介して、AVサーバ110からモバイルデバイスに送信され得る。AVオブジェクトは、モバイルデバイス200上に予め記憶され、記憶媒体210に存続し得る(すなわち、段階1202でロケーションが決定される前に)。
[0087] 段階1208で、モバイルデバイス200は、コンテキストに関連してAVオブジェクト情報を表示するように構成される。モバイルデバイス200は、コンテキスト(例えば、フロアマップ、カメラビュー)を、コンテキスト中に配置された他のモバイルデバイスを表すAVオブジェクト並びにアイコンと共に表示するように構成されたグラフィカルディスプレイ222とAVビュー234とを含む。例えば、図5を参照すると、コンテキスト300は、仮想ボール510およびモバイルデバイス502と共に表示される。AVオブジェクトのロケーションは、状態変数として含まれ得る。AVオブジェクト状態変数は、物理エンジンモジュール254およびまたはオブジェクト対話エンジンモジュール162内のアルゴリズムの実行に基づいて更新され得る。グラフィカルディスプレイ222は、状態変数の値に少なくとも部分的に基づいて、AVオブジェクトを表示するように構成され得る。
[0088] 段階1210で、モバイルデバイス200、またはAVサーバ110は、対話を検出するように構成される。ある例では、オブジェクト対話エンジンモジュール162が、対話を検出するために、AVオブジェクト情報と、コンテキスト情報(例えば、コンテキストデータ180および/または重み付け情報182)と、デバイス状態モジュール256とを処理できる。例えば、AVオブジェクトがコンテキスト中の構造要素の近くにあるとき(例えば、図5に示すように、仮想ボールが壁から跳ね返ったとき)、AVオブジェクト情報が示すとき、対話が起こり得る。AVオブジェクトを用いて対話が検出されてよく、情報は、AVオブジェクトがモバイルデバイスの近くにあることを示す。モバイルデバイス200への、ジェスチャー、または他のデバイス状態情報の入力に基づいて、対話が検出され得る。
[0089] 段階1212で、モバイルデバイス200、またはAVサーバ110は、対話に基づいてAVオブジェクト情報を修正するように構成される。オブジェクト対話エンジンモジュール162および/または物理エンジンモジュール254は、検出された対話に基づいて対話結果を計算するように構成される。対話結果は、対話の後にAVオブジェクトが動く速度と方向とを示すことができる。例えば、修正は、対話結果に基づいて、AVオブジェクトの速度状態変数の値を低減させる(すなわち、仮想速度を減じる)ためのものであってよい。対話結果は、対話後にAVオブジェクトのサイズが縮小される(すなわち、サイズ状態変数を修正する)ことを示すことができる。AVオブジェクトに関連付けられた他の状態変数は、対話結果に基づいて修正され得る。図7の拡大脅威例において、対話結果は、AVオブジェクトの拡大を制約し得る。対話結果は、コンテキスト300との対話、モバイルデバイス802c、仮想ツール(例えば、仮想土嚢810b)に、またはこれらの組合せに基づき得る。修正されたAVオブジェクト情報は、ネットワーク140を介して他のモバイルデバイスに配布され得る。
[0090] 段階1214で、モバイルデバイス200は、修正されたAVオブジェクト情報を表示するように構成される。修正されたAVオブジェクト情報は、修正された状態変数に基づく変化(例えば、速度、方向、サイズの変化)、並びにメディアコンテンツ項目178(例えば、グラフィックファイル、LOSインジケータ1011)の変化を含み得る。メディアコンテンツ項目178の変化は、状態変数の変化に対応し得る(すなわち、状態変数は、メディアコンテンツ項目へのポインタであり得る)。修正されたAVオブジェクト情報の表示は、単一のモバイルデバイス上で、またはネットワーク140上の複数のモバイルデバイス上で起こり得る。
[0091] 図1〜図4をさらに参照しながら図13Aを参照すると、対話変数を決定するためのプロセス1300は、図示される段階を含む。但し、プロセス1300は、一例にすぎず、限定的なものではない。プロセス1300は、例えば、段階を追加させ、削除させ、並べ替えさせ、組み合わせ、同時に行わせること、および/または単一段階を複数の段階に分裂させることで改変されてよい。
[0092] 段階1302で、AVサーバ110は、コンテキストデータ180を取得できる。開発者は、データベース114にアクセスし、コンテキスト300を記憶するために、開発者デバイス420を使用できる。コンテキストは、例えば、いくつかの領域を有する建物のレイアウトを含み得る。コンテキスト300は、AVサーバ110またはモバイルデバイス上に記憶されたデータファイル(例えば、.dwg、BIMXML)であってよい。領域は、部屋、中庭、通路のような物理的に分離された領域、またはマップ上に重ねられたグリッド上の領域のような非物理的な境界によって分離された領域であってよい。
[0093] 段階1304でAVサーバ110は、コンテキスト内の1つまたは複数の領域に対応するロケーションデータを決定するように構成され得る。命令116は、プロセッサ118に、コンテキストを領域にセグメント化させるためのコンピュータ可読命令を含み得る。セグメント化は、構造的特徴(例えば、壁、ドア、窓)並びに部屋、中庭、通路などのロケーションを決定するための、オープンな空間の分析に基づき得る。
[0094] 段階1306で、AVサーバ110は、領域の各々についての重み付け情報を決定するように構成され得る。ある例では、重み付け情報が、特定の建築上の特徴のプロパティおよび/または属性(例えば、材料、サイズ、半径、厚さなど)として、建築ファイル中に含まれてよい。重み付け情報は、建築上の特徴(例えば壁、壁の組成、距離)の数およびRSSIおよびRTT信号情報に影響を及ぼし得る他の要因に基づき得る。重み付け情報は、コンテキスト中の1つまたは複数のモバイルデバイスから提供された結果に基づいて決定され得る。図3を参照すると、例えば、アクセスポイント302が、モバイルデバイス304a、304b、304cの各々によって占有される領域についてのRSSIおよびRTT信号情報を捕捉し得る。領域の各々に対応する重み付け情報は、データベース114に記憶され得る。ある例では、RSSIおよび/またはRTT情報が、壁材料のような建築上の特徴プロパティと相関され得る。つまり、低信号(すなわち、高損失)を持つコンテキスト内の領域が「コンクリート」材料と相関されてよく、中程度信号(すなわち、中程度損失)を持つ領域が「乾式壁」材料と相関されてよく、高信号(例えば、低損失)を持つ領域がオープン空間と相関されてよい。コンテキストについての重み付け情報は、より多くのモバイルデバイスがコンテキストに入ると、時間とともに更新および改良(updated and refined)され得る(例えば、クラウドソーシング)。重み付け情報は、コンテキストの物理レイアウトと重なり得るヒートマップであってよい。
[0095] 段階1308で、AVサーバ110は、重み付け情報に基づいて対話変数を決定するように構成され得る。対話変数は、重み付け情報に関連付けられた状態変数および/または関数であってよい。対話変数は、構造的特徴の組成(例えば、硬い壁、ドア、オープンな回廊)基づき、またはRSSIおよび/もしくはRTTデータに基づく信号強度であり得る。対話変数は、コンテキスト内の、AVオブジェクトと建築上の特徴との間の対話をモデリングするために使用され得る。例えば、仮想ボール510は、「れんが」材料プロパティを持つ壁に跳ね返り、「ガラス」材料プロパティを持つ壁を突き破り得る。対話変数は、例えば、跳ね返りまたは突き破りの結果としての、仮想ボール510の速度と方向とを決定するための関数であってよい。
[0096] ある実施形態中では、壁の組成および配置が、仮想構成要素を含んでよく、対話変数が仮想構成要素に基づいてよい。例えば、いくつかの壁についての重み付け情報は、れんがまたはコンクリートを示し得る。この実際の重み付け情報は、空想設定で「石」、またはサイエンスフィクション設定で「パーマクリート(permacrete)」であると、仮想的に指定され得る。仮想指定のための対話変数は、アプリケーションにおいて使用され得る。他の建築上または環境特徴が、こうした仮想ブックケース、タペストリー、ブラストドア、または他の仮想構造と指定されてよい。仮想特性は、現実の特徴のプロパティに基づき得る。例えば、仮想石壁の厚さおよび対応する耐久性は、コンテキスト中の現実の壁の特性(すなわち、材料、サイズ、ロケーション、構成)に相対し得る。動作において、オブジェクト対話エンジンモジュール162は、AVオブジェクトとの対話結果を決定するために、対話変数または関数、並びに特徴プロパティを使用できる。例えば、図6を参照すると、対話変数についての高い値は、ファイアボール610の状態を大量にサイズ縮小させることができ、対話変数についての低い値は、ファイアボール610の状態を引き起こさせることができ、縮小することは、小量によるサイズである。対話変数または関数の影響は、異なるAVオブジェクトに対しては異なり得る。
[0097] 図13Bを参照すると、重み付け情報および対話変数のための例示的なデータ構造が示される。データベース114は、コンテキストデータ180および重み付け情報182の集合体を含み得る。ある例では、コンテキストデータ180が、コンテキスト300の電子表現であり得る。電子表現の例は、コンピュータによる自動設計(CAD)ファイル、BIMファイル(例えば、BIMXML)、および他の固有ファイルを含むが、それに限定されない。図13Bの例示的コンテキストデータレコード180aは、属性タグ(すなわち、「Attrib値」タグ)を含むBIMXMLフォーマットを使用する。タグは例示にすぎず、限定ではない。属性タグは、重み付け情報182を参照するために使用され得る。例えば、コンテキストデータレコード180aは、コンテキスト特徴の材料が「れんが」であることを示す。重み付け情報182は、データベース中の集合体レコード、または特徴プロパティ(例えば、属性タグ)を対話変数または関数と相関させるための他のファイル構造あり得る。一例として、重み付け情報データテーブル182aは、AVオブジェクト1320のリストと、対話変数または関数の集合体とを含み得る。重み付け情報データテーブル182aは、図13Bの材料値例のような使用されるべき建築上の特徴(例えば、属性タグ)によって索引付けされ得る。所与の属性タグ(例えば、ヌル、れんが、ガラス、乾式壁、コンクリートなど)、およびAVオブジェクト(例えば、ボール、水、ファイアボール、ロボット)について、対話変数1322が決定され得る。例えば、ボールは、対話関数B(v,d)を使用することによって、れんがと対話することになる。関数B(v,d)は、オブジェクト対話エンジンモジュール162内の関数に対する呼出しであり得る。関数呼出しは、パラメータ、本例のそのような速さ(v)および方向(d)ベクトルを含み得る。他のパラメータおよび他の関数が、様々なAVオブジェクトおよび重み付け情報値用に使用されてもよい。
[0098] ある実施形態では、重み付け情報182が、モバイルデバイスによって提供される信号パラメータによって索引付けされ得る。例えば、属性タグ(例えば、ヌル、れんが、ガラス、乾式壁、コンクリート)は、信号強度値、またはRSSIおよび/またはRTTデータに基づく他の情報で置き換えられ得る。この例では、対話変数1322の選択が、AVオブジェクトおよび信号パラメータに基づく。ある実施形態で、重み付け情報データテーブル182aにおける属性タグは、対話変数の選択がAVオブジェクトおよび属性タグと信号パラメータの組合せに基づくように、信号パラメータによって増補され得る。
[0099] 図4をさらに参照しながら図14Aを参照すると、位置およびジェスチャー更新をAVサーバに提供するためのプロセス1400は、図示される段階を含む。但し、プロセス1400は、一例にすぎず、限定的なものではない。プロセス1400は、例えば、段階を追加させ、削除させ、並べ替えさせ、組み合わせ、同時に行わせること、および/または単一段階を複数の段階に分裂させることで改変されてよい。例えば、AVオブジェクト情報とピア位置更新とを受信する、以下で説明する段階1406は、段階1406の前に行われてよい。図示および説明したプロセス1400へのさらに他の改変が可能である。
[0100] 段階1402で、モバイルデバイス402aが、着信通信経路411aを介してAVサーバ110に登録する。登録プロセスは、モバイルデバイス402aが、AVオブジェクト情報を受信する準備ができていることを示すのに使用され得る。登録プロセスは、セキュリティ手順(例えば、パスワード)を含む場合があり、モバイルデバイス402がネットワーク140に加わるか、またはコンテキスト300に入ると、自動的に起こり得る。
[0101] 段階1404で、モバイルデバイス402は、発信通信経路410aを介して、AVオブジェクト情報とピア位置更新とをAVサーバ110から受信する。AVオブジェクト情報は、データベース114において存続してよく、段階1402での登録の後、モバイルデバイス402aに提供され得る。AVオブジェクト情報は、モバイルデバイス402a上のデータベース212に予め記憶されてよい。AVサーバ110は、着信通信経路411b、411cを介して、他のモバイルデバイス(例えば、モバイルデバイス402b、402c)からピア位置更新を受信し、ピア位置更新を、発信通信経路410aを介して、それら、すなわちモバイルデバイス402aに提供するように構成され得る。AVオブジェクト情報およびピア位置更新は、それぞれ、AVオブジェクトおよびモバイルデバイス402b、402cに関連付けられた1つまたは複数の状態変数であってよい。
[0102] 段階1406で、モバイルデバイス402aは、着信通信経路411aを介して、位置およびジェスチャー更新をAVサーバ110に提供する。位置およびジェスチャー更新は、デバイス状態モジュール256における1つまたは複数の状態変数であり得る。オブジェクト対話エンジンモジュール162は、対話イベントを決定し、および/またはAVオブジェクト情報を更新するために、位置およびジェスチャー更新を使用できる。AVサーバ110は、段階1404で述べたように、AVオブジェクト情報と位置更新とを、他のモバイルデバイス402b、402cに配布してよい。
[0103] 図4をさらに参照しながら図14Bを参照すると、AVオブジェクト位置更新をAVサーバに提供するためのプロセス1450が、図示される段階を含む。但し、プロセス1450は、一例にすぎず、限定的なものではない。プロセス1450は、例えば、段階を追加させ、削除させ、並べ替えさせ、組み合わせ、同時に行わせること、および/または単一段階を複数の段階に分裂させることで改変されてよい。
[0104] 段階1452で、モバイルデバイス402aが、着信通信経路411aを介してAVサーバ110に登録する。登録プロセスは、モバイルデバイス402aが、AVオブジェクト情報を受信する準備ができていることを示すのに使用され得る。登録プロセスは、セキュリティ手順(例えば、パスワード)を含む場合があり、モバイルデバイス402がネットワーク140に加わるか、またはコンテキスト300に入ると、自動的に起こり得る。
[0105] 段階1454で、モバイルデバイス402aは、AVオブジェクト物理エンジンモジュール174を含むAVオブジェクト情報をAVサーバ110から受信する。オブジェクト物理エンジンモジュール174は、物理エンジンモジュール254においてローカルに(すなわち、モバイルデバイス402a上で)実行する。動作において、物理エンジンモジュール254は、AVオブジェクトの動きをシミュレートし、ロケーションまたは他のAVオブジェクト状態変数を更新する。更新のレートは、仕様、プロセッサ216、およびネットワーク140の利用可能帯域幅に基づき得る。物理エンジンモジュール254およびオブジェクト対話エンジンモジュール162が使用され、AVオブジェクトとコンテキストとの間の対話の結果を決定できる。例えば、コンテキストおよび対応する重み付け情報は、モバイルデバイス上に記憶され、物理エンジンおよびオブジェクト対話エンジンモジュールによる処理に利用可能であり得る。
[0106] 段階1456で、モバイルデバイス402aは、着信通信経路411bを介して、AVオブジェクト状態変数更新をAVサーバに提供する。AVサーバは、更新されたAVオブジェクト状態変数を、他のモバイルデバイス402b、402cにブロードキャストしてよい。AVサーバ110は、他のモバイルデバイス402b、402cに、それらの対応する状態変数(例えば、位置、ゲーム特有の条件)に基づいて更新を選択的に提供するように構成され得る。
[0107] 図5をさらに参照しながら図15を参照すると、AVオブジェクトについての状態変数を修正するためのプロセス1500は、図示される段階を含む。但し、プロセス1500は、一例にすぎず、限定的なものではない。プロセス1500は、例えば、段階を追加させ、削除させ、並べ替えさせ、組み合わせ、同時に行わせること、および/または単一段階を複数の段階に分裂させることで改変されてよい。例えば、モバイルデバイス対話結果を決定するための、以下で説明する段階1510は、段階1506および1508の前に行われてよい。図示および説明されるプロセス1500へのさらに他の改変が可能である。
[0108] 段階1502で、モバイルデバイス502cまたはAVサーバ110は、モバイルデバイス502cのロケーションに基づいてコンテキストを決定するように構成され得る。例えば、コンテキスト300は、オフィスビルのフロア図であり得る。モバイルデバイスがコンテキスト300内のロケーションに入ったとき、AVサーバ110は、ネットワーク140を介して、コンテキスト300をモバイルデバイス502cに提供してよい。コンテキスト300は、モバイルデバイス502c上に予め記憶されていてよい。
[0109] 段階1504で、モバイルデバイス502cまたはAVサーバ110は、AVオブジェクトについての初期状態を生成するように構成され得る。例えば、仮想ボール510の初期状態は、初期の方向および速度情報を持つ位置「A」を含む。AVオブジェクトの初期状態は、モバイルデバイスによって生成され得る。
[0110] 段階1506で、モバイルデバイス502c上またはAVサーバ110上で実行するオブジェクト対話エンジンモジュール162は、コンテキストデータ180および/または重み付け情報182(例えば、対話変数)を用いてAVオブジェクトの状態を処理するように構成され得る。オブジェクト対話エンジンモジュール162の出力は、対話結果であり得る。例えば、仮想ボール510が位置「C」に位置する状態では、結果が、段階1508で、仮想ボール510の方向および速度に関連付けられた状態変数を修正する(すなわち、それらの値を変える)ことである。他の対話結果も可能である。例えば、コンテキスト対話結果は、AVオブジェクト(例えば、ファイアボール610)のサイズを縮小し、またはAVオブジェクト(例えば、拡大脅威710)を制約し得る。
[0111] 段階1510で、モバイルデバイス502c上またはAVサーバ110上で実行するオブジェクト対話エンジンモジュール162は、モバイルデバイス状態情報を用いてAVオブジェクトの状態を処理するように構成され得る。例えば、仮想ボール510が位置「E」に到達すると、モバイルデバイス502cのユーザは、ジェスチャー、または他のセンサー入力を、モバイルデバイス502cに入れ、モバイルデバイス502cの状態を修正できる。対話結果は、段階1512でAVオブジェクトの状態を修正し得る。対話結果は、モバイルデバイス502cの状態および/またはコンテキスト300の状態も修正し得る。例えば、仮想ボール510が大岩である場合、対話結果は、コンテキスト300中の壁または他の構造を一時的に取り除くことであってよい。修正されたAVオブジェクトは、モバイルデバイス502c上に、並びに他のモバイルデバイス502a、502b上に表示され得る。
[0112] 図8をさらに参照しながら図16を参照すると、コンテキストまたはツール対話に基づいてAVオブジェクトの状態変数を修正するためのプロセス1600は、図示される段階を含む。但し、プロセス1600は、一例にすぎず、限定的なものではない。プロセス1600は、例えば、段階を追加させ、削除させ、並べ替えさせ、組み合わせ、同時に行わせること、および/または単一段階を複数の段階に分裂させることで改変されてよい。
[0113] 段階1602で、モバイルデバイス802aまたはAVサーバ110は、モバイルデバイス802aのロケーションに基づいてコンテキストを決定するように構成され得る。例えば、コンテキスト300は、オフィスビルのフロア図であり得る。モバイルデバイスがコンテキスト300内のロケーションに入ると、コンテキスト300は、ネットワーク140を介してモバイルデバイス802aに提供され得る。コンテキスト300は、モバイルデバイス802a上に予め記憶されていてよい。
[0114] 段階1604で、モバイルデバイス802aまたはAVサーバ110は、仮想脅威についての状態を生成するように構成され得る。仮想脅威の初期状態は、初期位置および運動変数を含み得る。例えば、拡大脅威710は、どれだけ高速に拡大脅威710が領域を氾濫させることになるか決定するためのシード位置と洪水レート変数とを含み得る。初期状態は、拡大脅威710の境界(例えば、ポリゴン)を示すための変数も含み得る。
[0115] 段階1606で、モバイルデバイス802a上で、またはAVサーバ110上で実行するオブジェクト対話エンジンモジュール162は、コンテキスト対話結果を決定するように構成され得る。例えば、コンテキスト300は、拡大脅威710を制約することになる壁を含む。コンテキスト対話結果は、拡大脅威710状態情報における境界変数を修正し得る。他のコンテキスト対話結果も決定され得る。
[0116] 段階1608で、モバイルデバイス802aまたはAVサーバ110は、仮想ツールについての状態を生成するように構成され得る。仮想ツールの初期状態は、初期位置と対話変数とを含み得る。例えば、仮想土嚢810aは、コンテキスト300中で、拡大脅威によって占有される領域とは別個である領域内に配置され得る。ゲーム用アプリケーションの目的は、ユーザに、仮想ツールを第1のロケーションから第2のロケーションに再配置するよう要求することであってよい。ユーザは、仮想ツールを、別のAVオブジェクトとの対話を引き起こすための位置に動かすことができる。モバイルデバイス802bは、拡大脅威710と対話するように、仮想土嚢810bを動かしてある。
[0117] 段階1610で、モバイルデバイス802a上またはAVサーバ110上で実行するオブジェクト対話エンジンモジュール162は、ツール対話結果を決定するように構成され得る。例えば、仮想土嚢810bの状態および拡大脅威710の状態は、オブジェクト対話エンジンモジュール162によって、ツール対話結果を決定するように処理され得る。ツール対話結果は、拡大脅威710の境界状態変数を修正し得る。
[0118] 段階1612において、仮想脅威の状態は、コンテキスト対話結果および/またはツール対話結果に基づいて修正され得る。土嚢仮想ツールは例示にすぎず、限定ではない。他の仮想ツールが使用されてもよい。例えば、洪水の例を続けると、仮想ツールは、仮想排水路、または仮想フリーズレイ、または仮想スポンジであってよい。コンテキスト対話結果およびツール対話結果のための算出の順序は、例示にすぎない。結果、連続的に、または並行して算出される。いくつかのアプリケーションでは、コンテキスト領域と仮想ツールとの間の相乗効果が使用され得る(例えば、複合的影響は、個々に追加される個々の影響よりも大きい)。アプリケーションが、所与の仮想脅威についての異なる対話結果を各々がもつ複数の仮想ツールを有する場合がある。
[0119] 図10をさらに参照しながら図17を参照すると、モバイルデバイス上でミニゲームを開始するためのプロセスのためのプロセス1700は、図示される段階を含む。但し、プロセス1700は、一例にすぎず、限定的なものではない。プロセス1700は、例えば、段階を追加させ、削除させ、並べ替えさせ、組み合わせ、同時に行わせること、および/または単一段階を複数の段階に分裂させることで改変されてよい。
[0120] 段階1702で、モバイルデバイス1002aまたはAVサーバ110は、モバイルデバイス1002aのロケーションに基づいてコンテキストを決定するように構成され得る。例えば、コンテキスト300は、オフィスビルのフロア図であり得る。モバイルデバイスがコンテキスト300内のロケーションに入ると、コンテキスト300は、ネットワーク140を介してモバイルデバイス1002aに提供され得る。コンテキスト300は、モバイルデバイス1002a上に予め記憶されていてよい。
[0121] 段階1704で、モバイルデバイス1002aまたはAVサーバ110は、コンテキスト内で1つまたは複数の制御領域を確立するように構成され得る。制御領域は、部屋、中庭、通路など、またはコンテキスト300に重ねられたグリッド上の領域のような非物理的境界によって分離された領域に対応し得る。制御領域は、対応する状態変数を持つAVオブジェクトであり得る。AVサーバ110は、制御領域を他のモバイルデバイス(例えば、1002b、1002c)にブロードキャストしてよい。
[0122] 段階1706で、モバイルデバイス1002aまたはAVサーバ110は、1つまたは複数の遊動脅威についての状態を生成するように構成され得る。限定ではなく一例として、遊動脅威の初期状態は、初期位置、運動および見通し線変数を含み得る。遊動脅威についての運動および見通し線は、コンテキストによって制約される。例えば、図10を参照すると、遊動脅威1010aは、コンテキスト300の回廊を歩き回るように構成された異星人ロボットを表す。遊動脅威1010aは、そのLOSインジケータ1011aを異なる方向においてランダムに変えることができる。遊動脅威についての状態変数は、LOSインジケータ1011aの方向を示すように更新され得る。
[0123] 段階1708において、モバイルデバイス1002aまたはAVサーバ110は、遊動脅威の各々についての戦闘地域を決定するように構成され得る。例えば、戦闘地域は、遊動脅威の周りの定義された領域であってよい。戦闘地域は、LOS情報を含むことができ、従って、ユーザが、遊動脅威の後ろに、検出されることなく忍び寄ることができるようにする。戦闘地域は、コンテキスト300によって制約され得る。遊動脅威LOSは、コンテキストデータ180および/または重み付け情報182において定義された壁または他の構造的項目によって遮断され得る。段階1710において、モバイルデバイス1002aの状態が決定され得る。オブジェクト対話エンジンモジュール162は、段階1714において、モバイルデバイスのロケーションを、1つまたは複数の遊動脅威についての戦闘地域のロケーションと比較するように構成され得る。比較が、モバイルデバイスが遊動脅威戦闘地域内にあることを示す場合、モバイルデバイスは、段階1716において、ミニゲームアプリケーションを実行するように構成され得る。例えば、ユーザは、遊動脅威を打ち負かすか、または脅威から逃げようとするための戦闘関連ミニゲームを完遂しなければならない場合がある。ミニゲームの結果は、モバイルデバイスおよび遊動脅威についての状態変数に影響を及ぼし得る。例えば、遊動脅威は、ミニゲームの結果として低減され得るダメージ変数を有し得る。
[0124] 段階1712で、オブジェクト対話エンジンモジュール162は、モバイルデバイスの現在のロケーションが制御領域内であるかどうか決定するように構成され得る。例えば、図10を参照すると、モバイルデバイス1002aは制御領域1004a内にある。モバイルデバイス1002aが制御領域1004a内にある間、段階1716において、ユーザに対してミニゲームが提示され得る。ミニゲームは、制御領域(例えば、上述した、シミュレートされた橋の例)に対応してよく、ミニゲームの結果は、モバイルデバイス、制御領域、または他のアプリケーションベースのデータフィールドの状態変数に影響を及ぼし得る。
[0125] 特許請求の範囲を含めて、本明細書で使用される場合、「のうちの少なくとも1つ」とされる項目の列挙において使用される「または」は、例えば、「A、B、またはCのうちの少なくとも1つ」の列挙が、AまたはBまたはCまたはABまたはACまたはBCまたはABC(すなわち、AおよびBおよびC)、あるいは2つ以上の特徴を持つ組合せ(例えば、AA、AAB、ABBCなど)を意味するような、選言的列挙を示す。
[0126] 特許請求の範囲を含めて、本明細書で使用される場合、別段に明記されていない限り、機能または動作が項目または状態「に基づく」という文は、その機能または動作が、述べられた項目または状態に基づき、述べられた項目または状態に加えて1つまたは複数の項目および/または状態に基づき得ることを意味する。
ワイヤレス通信ネットワークは、ワイヤレスに送信される全ての通信を有さず、ワイヤレスに送信される少なくともいくつかの通信を有するように構成される。
[0127] 他の例および実装形態は、本開示および添付の特許請求の範囲および趣旨内である。例えば、ソフトウェアの性質により、上記で説明した機能は、プロセッサによって実行されるソフトウェア(例えば、コンピュータプログラム製品)、ハードウェア、ファームウェア、ハードワイヤリング、またはこれらのうちのいずれかの組合せを使用して実装され得る。こうしたソフトウェアは、プロセッサ実行可能記憶媒体上にあるコンピュータプログラム製品であってよい。機能を実装する特徴はまた、機能の部分が異なる物理的ロケーションにおいて実装されるように分散されることを含めて、様々な位置に物理的に配置され得る。
[0128] さらに、複数の発明が開示され得る。
[0129] 説明した構成への実質的な変形は、特定の要件に応じて行われ得る。例えば、カスタマイズされたハードウェアが使用されてもよく、および/または特定の要素がハードウェア、ソフトウェア(アプレット等のポータブルソフトウェアを含む)、またはその両方に実装されてもよい。さらに、ネットワーク入力/出力デバイスのような他のコンピューティングデバイスへの接続が使用され得る。
[0130] 物理的および/または有形のコンピュータ可読媒体の一般的な形態としては、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または他の任意の磁気媒体、CD−ROM、他の任意の光媒体、パンチカード、紙テープ、穴のパターンを有する他の任意の物理媒体、RAM、PROM、EPROM、FLASH−EPROM、他の任意のメモリチップまたはカートリッジ、後述する搬送波、あるいはコンピュータが命令および/またはコードを読み取ることができる他の任意の媒体がある。例えば、コンピュータ可読媒体は、プロセッサ実行可能記憶媒体上にあるコンピュータプログラム製品であってよく、そのあるコンピュータプログラム製品は、プロセッサに、本明細書に記載された1つまたは複数の特徴を行わせるように構成されたプロセッサ実行可能命令を含む。
[0131] 上記で論じられている方法、システム、およびデバイスは、例である。様々な構成は、適宜に様々なプロシージャまたは構成要素を省略、置換、または追加し得る。例えば、代替の構成では、本方法が記載されたものとは異なる順序で行われてよく、その様々なステップが追加、省略、または組み合わされ得る。また、いくつかの構成に関して説明された特徴は、様々な他の構成においては組み合わせられ得る。構成の異なる態様および要素が、同様にして組み合わせられ得る。また、技術は発展するので、要素の多くは例であり、本開示または特許請求の範囲を限定しない。
[0132] 例示的な構成(実装形態を含む)の完全な理解が得られるように、具体的な詳細が本説明において与えられる。しかしながら、構成はこれらの具体的な詳細なしに実践され得る。例えば、構成を不明瞭にすることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法は、不要な詳細を伴わずに示される。この説明は、例示的な構成を提供するにすぎず、特許請求の範囲、適用性、または構成を限定しない。むしろ、構成の先の説明は、記載された技法を実装するための説明を提供する。本開示の趣旨および範囲から逸脱することなく、要素の機能および構成において様々な変更が行われ得る。
[0133] また、構成は、流れ図またはブロック図として示されるプロセスとして説明されることがある。各々は動作を順次プロセスとして説明するが、動作の多くは、並列または同時に行われ得る。さらに、動作の順序は並べ替えられ得る。プロセスは、図に含まれていない追加の段階または機能を有してよい。さらに、本方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードに実装される場合、タスクを行うためのプログラムコードまたはコードセグメントは、記憶媒体のような非一時的なコンピュータ可読媒体に記憶され得る。プロセッサは、記載されたタスクを行い得る。
[0134] 互いと接続され、または通信して図に示され、および/または本明細書において論じられる機能的または他の構成要素は、通信可能に結合される。つまり、構成要素は、それらの間での通信を可能にするように、直接または間接的に接続され得る。
[0135] いくつかの例示的な構成を説明してきたが、様々な修正、代替構成、および均等物は、本開示の趣旨から逸脱することなしに使用され得る。例えば、上記の要素は、より大きいシステムの構成要素であり得、他のルールが、本発明の適用よりも優先するかまたは他の方法で本発明の適用を変更し得る。また、いくつかの動作は、上記の要素が考慮される前、考慮される間に、またはその後に、行われ得る。従って、上記の説明は特許請求の範囲を限定しない。
[0136] 値が第1の閾値を超える(または、よりも大きい)という記述は、値が、第1の閾値よりもわずかに大きい第2の閾値を満たすか、または超えるという記述と等価であり、例えば、第2の閾値は、コンピューティングシステムの解像度において第1の閾値よりも高い1つの値である。値が第1の閾値未満(または、以内)であるという記述は、値が、第1の閾値よりもわずかに低い第2の閾値以下であるという記述と等価であり、例えば、第2の閾値は、コンピューティングシステムの解像度において第1の閾値よりも低い1つの値である。