以降の詳細な説明においては、添付の図面に対する参照が行われ、それらの図面は、本明細書の一部を形成している。それらの図面においては、同様のシンボルは、文脈によって別段の内容が示されない限り、典型的には同様のコンポーネントを識別する。詳細な説明、図面、および特許請求の範囲に記載されている例示的な実施形態は、限定することを意味しない。本明細書において提示されている主題の趣旨または範囲から逸脱することなく、その他の実施形態が利用されることが可能であり、その他の変更が行われることが可能である。一般的に本明細書において説明され図において示されている本開示の複数の態様は、さまざまな異なる構成でアレンジされること、代用されること、組み合わされること、分割されること、および設計されることが可能であり、それらの構成のすべては、本明細書において明示的に企図されているということが容易に理解されるであろう。
本開示は一般に、とりわけ、拡張現実に関連した方法、装置、システム、デバイス、およびコンピュータプログラム製品に関して記載する。かいつまんで言えば、複数のオーギュメンテーションを、エグゼンプラーと呼ばれるクラスタへと自動的にグループ化すること、およびそれらのエグゼンプラーを記述的なフォーマットでレンダリングすることを含む、拡張現実データを処理するためのシステムに関するテクノロジーについて一般的に説明する。
図1は、本開示のさまざまな実施形態が実装されることが可能になる上で用いられる例示的なコンピューティングデバイス100を示すブロック図を示している。非常に基本的な構成102においては、コンピューティングデバイス100は典型的に、1つまたは複数のプロセッサ104と、システムメモリ106とを含む。プロセッサ104と、システムメモリ106との間において通信するために、メモリバス108が使用されることが可能である。
所望の構成に応じて、プロセッサ104は、任意のタイプのものであることが可能であり、それらのタイプには、マイクロプロセッサ(μP)、マイクロコントローラ(μC)、デジタルシグナルプロセッサ(DSP)、またはそれらの任意の組合せが含まれるが、それらには限定されない。プロセッサ104は、レベル1キャッシュ110およびレベル2キャッシュ112など、もう1つのレベルのキャッシングと、プロセッサコア114と、レジスタ116とを含むことができる。例示的なプロセッサコア114は、演算ロジックユニット(ALU)、浮動小数点演算ユニット(FPU)、デジタル信号処理コア(DSPコア)、またはそれらの任意の組合せを含むことができる。例示的なメモリコントローラ118が、プロセッサ104とともに使用されることも可能であり、または、いくつかの実装形態においては、メモリコントローラ118は、プロセッサ104の内部の一部分であることが可能である。
所望の構成に応じて、システムメモリ106は、任意のタイプのものであることが可能であり、それらのタイプには、揮発性メモリ(RAMなど)、不揮発性メモリ(ROM、フラッシュメモリなど)、またはそれらの任意の組合せが含まれるが、それらには限定されない。システムメモリ106は、オペレーティングシステム120と、1つまたは複数のアプリケーション122と、プログラムデータ124とを含むことができる。アプリケーション122は、図3〜図8に記載されているオペレーションに関して説明されている機能を含む、本明細書に記載されているような機能を実行するようにアレンジされているロケーション特定および拡張現実プロセス126を含むことができる。プログラムデータ124は、本明細書に記載されているような拡張現実フォーマットでのデジタル通信の地理的発信元を提示するための技法を用いたオペレーションにとって有用である場合があるロケーションおよびオーギュメンテーションデータ128を含むことができる。いくつかの実施形態においては、アプリケーション122は、デジタル通信の地理的発信元または相対的なロケーションが、知覚的なフォーマットに基づいて拡張現実として特定されレンダリングされることが可能になるようにオペレーティングシステム120上のプログラムデータ124とともに動作するようにアレンジされることが可能である。この説明されている基本構成102は、図1において内側の破線内のそれらのコンポーネントによって示されている。
コンピューティングデバイス100は、基本構成102と、必要とされるあらゆるデバイスおよびインターフェースとの間における通信を容易にするためのさらなる特徴または機能およびさらなるインターフェースを有することができる。たとえば、ストレージインターフェースバス134を介した、基本構成102と、1つまたは複数のデータ記憶装置132との間における通信を容易にするために、バス/インターフェースコントローラ130が使用されることが可能である。データ記憶装置132は、取外し式記憶装置136、非取外し式記憶装置138、またはそれらの組合せであることが可能である。取外し式記憶装置および非取外し式記憶装置の例としては、いくつか挙げると、フレキシブルディスクドライブおよびハードディスクドライブ(HDD)などの磁気ディスクデバイス、コンパクトディスク(CD)ドライブまたはデジタル多用途ディスク(DVD)ドライブなどの光ディスクドライブ、ソリッドステートドライブ(SSD)、ならびにテープドライブが含まれる。例示的なコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を格納するための任意の方法またはテクノロジーにおいて実装される揮発性媒体および不揮発性媒体ならびに取外し式媒体および非取外し式媒体を含むことができる。
システムメモリ106、取外し式記憶装置136、および非取外し式記憶装置138は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ、もしくはその他のメモリテクノロジー、CD−ROM、デジタル多用途ディスク(DVD)、もしくはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくはその他の磁気記憶装置、または、所望の情報を格納するために使用されることが可能な、かつコンピューティングデバイス100によってアクセスされることが可能なその他の任意の媒体を含むが、それらには限定されない。そのような任意のコンピュータ記憶媒体は、コンピューティングデバイス100の一部であることが可能である。
コンピューティングデバイス100は、さまざまなインターフェースデバイス(たとえば、出力装置142、周辺インターフェース144、および通信装置146)からバス/インターフェースコントローラ130を介して基本構成102へ至る通信を容易にするためのインターフェースバス140を含むこともできる。例示的な出力装置142は、グラフィック処理ユニット148およびオーディオ処理ユニット150を含み、グラフィック処理ユニット148およびオーディオ処理ユニット150は、1つまたは複数のA/Vポート152を介して、ディスプレイまたはスピーカーなどのさまざまな外部デバイスに通信するように構成されることが可能である。例示的な周辺インターフェース144は、シリアルインターフェースコントローラ154またはパラレルインターフェースコントローラ156を含み、シリアルインターフェースコントローラ154またはパラレルインターフェースコントローラ156は、1つまたは複数のI/Oポート158を介して、入力デバイス(たとえば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス等)またはその他の周辺デバイス(たとえば、プリンタ、スキャナ等)などの外部デバイスと通信するように構成されることが可能である。例示的な通信装置146は、ネットワークコントローラ160を含み、ネットワークコントローラ160は、1つまたは複数の通信ポート164を経由したネットワーク通信リンクを介した1つまたは複数のその他のコンピューティングデバイス162との通信を容易にするようにアレンジされることが可能である。
ネットワーク通信リンクは、通信媒体の一例であると言える。通信媒体は、典型的には、搬送波またはその他の伝送メカニズムなどの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータによって具体化されることが可能であり、任意の情報伝達媒体を含むことができる。「変調されたデータ信号」とは、その信号の特性のうちの1つまたは複数が、その信号内で情報をエンコードするような様式で設定または変更されている信号であると言える。限定ではなく、例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに、音響媒体、無線周波数(RF)媒体、マイクロ波媒体、赤外線(IR)媒体、およびその他のワイヤレス媒体などのワイヤレス媒体を含むことができる。コンピュータ可読媒体という用語は、本明細書において使用される際には、記憶媒体および通信媒体の両方を含むことができる。
コンピューティングデバイス100は、携帯電話、携帯情報端末(PDA)、パーソナルメディアプレーヤデバイス、ワイヤレスウェブ閲覧デバイス、パーソナルヘッドセットデバイス、アプリケーション固有のデバイス、または、上記の機能のうちの任意のものを含むハイブリッドデバイスなど、スモールフォームファクタのポータブル(またはモバイル)電子デバイスの一部分として実装されることが可能である。コンピューティングデバイス100は、ラップトップコンピュータの構成およびラップトップコンピュータ以外の構成の両方を含めて、パーソナルコンピュータとして実装されることも可能である。
図2は、本開示のさまざまな実施形態が実装されることが可能である例示的なネットワーク環境を示している。特に、図2は、コンピューティングデバイス210からなる例示的なコンピューティング構成200を示しており、コンピューティングデバイス210のうちのそれぞれは、本明細書において説明されているようなロケーション特定および拡張現実アプリケーションを提供するように適合されることが可能である。コンピューティングデバイス210は、たとえば、デスクトップコンピュータ210a、ラップトップコンピュータ210b、電話210c、タブレットコンピューティングデバイス210d、携帯情報端末(PDA)210e、およびモバイル電話210fのうちの任意のものを含むことができ、それらのそれぞれは、ロケーションおよび拡張現実データを処理してユーザに表示するように適合されることが可能である。
デバイス210のうちのそれぞれは、通信ネットワーク250を使用して通信を行うように適合されることが可能である。通信ネットワーク250は、コンピューティングデバイス210と、コンピューティングデバイス210によってアクセスされる任意のサーバ220との間における通信を提供するのに適した任意のタイプのネットワークであることが可能である。通信ネットワーク250は、異なるテクノロジーを使用することができる別々のネットワークの組合せを含むことができる。たとえば、通信ネットワーク250は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セルラーネットワーク、WiFiネットワーク、光ファイバネットワーク、またはそれらの組合せを含むことができる。通信ネットワーク250は、ワイヤレスネットワークおよび有線ネットワークの組合せを含むことができる。例示的な一実施形態においては、通信ネットワーク250は、インターネットを含むことができ、インターネットと通信するように適合されている任意のネットワークをさらに含むことができる。通信ネットワーク250は、コンピューティングデバイス210と、サーバ220との間においてビデオ、オーディオ、およびその他のデータを通信するように適合されているワイヤレステレフォニーネットワークを含むことができる。
一実施形態においては、ロケーションおよびオーギュメンテーションデータは、コンピューティングデバイス210のうちのいずれかなどの拡張現実デバイスによって処理されることが可能である。その拡張現実デバイスは、サーバ220などのコンピューティングデバイス上にホストされている分析エンジンに結合されることが可能である。
ある例示的なシナリオにおいては、拡張現実デバイス210は、たとえば、拡張現実アプリケーションをアクティブ化するようユーザによって指示されることが可能である。拡張現実アプリケーションは、拡張現実デバイス210上でユーザにオーギュメンテーションを提示するためにロケーションおよび拡張現実データを処理することができる。ロケーションデータは、ユーザのロケーション、ならびにユーザから特定の範囲内のオブジェクト、場所、および人の相対的なロケーションを含むことができる。ユーザのロケーションは、拡張現実デバイス210のロケーションから得られることが可能である。拡張現実データは、ユーザの物理的な環境および仮想環境に関連付けられている情報を含むことができ、それらの情報は、ユーザ、ならびに特定の範囲内のオブジェクト、場所、および人に関するロケーションおよび記述的な情報を含むことができる。
拡張現実デバイス210は、通信ネットワーク250を介してサーバ220と通信することができる。サーバ220は、オーギュメンテーションデータのリポジトリを含むことができ、オーギュメンテーションサービスを提供するように適合されることが可能である。たとえば、サーバ220は、オーギュメンテーションのリアルタイムのレンダリングを実行するように適合されているレンダリングモデルおよびアルゴリズムのライブラリを含むことができる。拡張現実デバイス210は、少なくとも拡張現実デバイスのロケーションに基づいてオーギュメンテーションを特定して受信するためにサーバ220にクエリーを行うことができる。あるシナリオにおいては、サーバ220は、オーギュメンテーションおよび対応するレンダリングフォーマットを拡張現実デバイス210へ送信することができ、拡張現実デバイス210は、受信されたオーギュメンテーションをユーザに対してレンダリングすることができる。ある代替シナリオにおいては、サーバ220は、オーギュメンテーションをレンダリングし、そのレンダリングされたオーギュメンテーションを拡張現実デバイス210へ送信することができる。
さらに別のシナリオにおいては、オーギュメンテーションデータは、拡張現実デバイス210上に格納されることが可能である。したがって、オーギュメンテーションデータのレンダリングは、拡張現実デバイス210上でローカルに処理されることが可能であり、拡張現実デバイスがサーバ220にクエリーを行う必要がなくなる。さらなるシナリオにおいては、拡張現実デバイス210は、ロケーションおよびオーギュメンテーションデータおよびサービスをやり取りするために別のコンピューティングデバイス210と通信状態にあることが可能である。たとえば、タブレット210dは、ユーザのロケーションをデスクトップ210aに提供するためにユーザおよびサーバへのインターフェースを提供するように適合されることが可能である。そしてデスクトップ210aは、インターフェースタブレット210dを介してユーザにオーギュメンテーションサービスを提供するように適合されることが可能である。
図3は、拡張現実システム300の例示的な一実施形態を示している。シーン310が、拡張現実デバイス210によって閲覧されて取り込まれることが可能である。たとえば、拡張現実デバイス210は、イメージまたはビデオ取り込みデバイスを統合することができる。代替として、または追加として、拡張現実デバイス210は、拡張現実デバイス210の地理的ロケーションに基づいてシーン310のイメージを取り出すように適合されることが可能である。そのイメージは、拡張現実デバイス210上にローカルに、または、図2において示されているような拡張現実デバイス210と通信状態にある別のデバイス210もしくはサーバ220上に外部に格納されているデータから取り出されることが可能である。シーン310は、シーン座標のセット(X,Y,Z)に関連付けられることが可能である。シーン310のイメージおよび/またはユーザのコンテキストに基づいて、拡張現実デバイス210は、オーギュメンテーション320を特定して取り出すことができる(図面参照番号315によって示されている)。オーギュメンテーション320は、シーン310の、およびシーン310に関連付けられているオブジェクト、場所、または人の仮想表示を含むことができる。たとえば、オーギュメンテーション320は、シーン310に関連したその他のイメージ、メタデータ、情報、または記述を含むことができる。オーギュメンテーション320は、座標のセット(X,Y,Z)に関連付けられることも可能である。さらに、拡張現実デバイス210は、シーン310のイメージをオーギュメンテーション320とマージして、シーン310の仮想イメージを生成することができる(図面参照番号325によって示されている)。したがって、拡張現実デバイス210は、その仮想イメージをレンダリングして表示することができる(図面参照番号330によって示されている)。仮想イメージの生成は、拡張現実デバイス210にとって内部または外部の標準的なコンピュータグラフィックスシステムを用いて実行されることが可能である。このグラフィックスシステムは、シーン310のイメージと、オーギュメンテーション320とを、関連付けられている座標(X,Y,Z)に基づいて位置合わせすることができる。さらに、このグラフィックスシステムは、仮想イメージが正しくレンダリングされることが可能になるように、シーン310内のオブジェクトに関連付けられている現実世界の情報を使用することができる。オーギュメンテーション320を特定すること、イメージとオーギュメンテーション320とをマージおよび位置合わせして、仮想イメージを作成すること、ならびに仮想イメージをレンダリングすることは、拡張現実デバイス210によってローカルで、拡張現実デバイス210と通信状態にある別のデバイス210もしくはサーバ220によって外部から達成されることが可能であり、または拡張現実デバイス210、その他のデバイス210、および/もしくはサーバ220の間において分担されることが可能である。
図4は、コンピューティングデバイス上で拡張現実データを表示する拡張現実アプリケーションの一例を示している。特に、図4は、図2の拡張現実デバイス210上に表示された仮想イメージ410を示している。示されているように、仮想イメージ410は、パリまたはその一部分のパノラマビューなどのシーンのイメージを、そのシーン内のモニュメントについて記述しているオーギュメンテーション420a〜dとマージして含むことができる。オーギュメンテーション420a〜dは、拡張現実デバイス210のユーザ430によって作成された記述的なタイトルおよびコメントを含むことができる。コメントは、星1つから星5つまでのスケールおよびフィードバックテキストフィールドという形式の評価を含むことができる。ユーザ430は、任意の数のオーギュメンテーション420a〜dを選択して展開することができる。たとえば、ユーザ430は、オーギュメンテーション420a〜d内に含まれているモニュメントに関する追加の情報を取り出して表示するために、拡張現実デバイス210を揺すること、オーギュメンテーション420a〜420dに対してマウスオーバーすること、シングルクリックすること、ダブルタップすること、またはその上で手を動かすことが可能である。拡張現実デバイス210にとってローカルにまたは外部に格納されているデータから、追加の情報が取り出されることが可能である。たとえば、それらの追加の情報は、旅行者(たとえば、その他のユーザ)によって撮られたイメージ、付近のアトラクションのリスト、およびメニュー、価格、広告を伴うレストランのリストなどを含むことができる。
デジタル通信、拡張現実、およびロケーションベースサービスが当たり前のことになっている世界においては、これらの異なるデジタルツールを統合する方法を有することが有用である場合がある。図5〜図8は、入ってくるデジタル通信の地理的発信元または相対的なロケーションをユーザが特定できることなど、自然なコミュニケーションのいくらかの基本的な側面の喪失に対する知覚的なソリューションを提供するために、これらのツールを統合するための実施形態を提示している。その知覚的なソリューションは、デジタル通信の地理的発信元の2次元および/または3次元の表示を用いて強化された豊かな拡張現実環境をユーザに提示することによってデジタル通信を強化することができる。その表示は、視覚的なキュー、聴覚的なキュー、または触覚的なキューの組合せを含むことができ、その一方でその情報は、たとえばデジタル通信の発信元を、その付近のオブジェクト、場所、および人に加えて記述することができる。
図5は、デジタル通信およびその地理的発信元の拡張現実フォーマットでの表示を提示するための例示的なアーキテクチャ500を示している。複数のユーザが、ネットワークを介してデジタル通信に関与することができる。それらのデジタル通信は、少なくとも、リアルタイム通信(たとえば、電話の通話、インスタントメッセージ、チャット)、蓄積転送通信(たとえば、Eメール、データ交換)、およびソーシャルメディア通信の組合せを含むことができる。図5において示されているように、受信者522などの第1のユーザが、第1のコンピューティングデバイス520に関連付けられることが可能である。第1のコンピューティングデバイス520は、タブレット210dなど、図2のデバイス210のうちの任意のものであることが可能である。同様に、発信者512などの第2のユーザが、第2のコンピューティングデバイス510に関連付けられることが可能である。第2のコンピューティングデバイス510は、モバイル電話210fなど、図2のデバイス210のうちの任意のものであることが可能である。第1のユーザおよび第2のユーザは、コンピューティングデバイス520および510を通じて通信ネットワーク540を介してデジタルに通信することができる。通信ネットワーク540は、図2の通信ネットワーク250のいくつかのまたはすべての要素を具体化することができる。たとえば、通信ネットワーク540は、セルラーネットワークおよびWiFiネットワークを含むことができる。加えて、サービスプロバイダ530は、通信ネットワーク540と、コンピューティングデバイス510および520に提供される特定のサービスとを管理することができる。サービスプロバイダ530は、図2のサーバ220を含むことができ、インターネットサービスプロバイダ、ケーブルオペレータ、モバイルネットワークオペレータ、ソーシャルネットワークオペレータなどに関連付けられることが可能である。
一実施形態においては、第1のユーザおよび第2のユーザは、地理的ロケーションに関連付けられることが可能である。地理的ロケーションは、コンピューティングデバイス510および520のロケーションから得られることが可能である。たとえば、コンピューティングデバイス510および520は、グローバルポジショニングシステム(GPS)などの衛星ベースのシステムからロケーション情報を受信して処理するためのコンポーネントおよびアプリケーションを備えていることが可能である。受信された情報は、GPS座標を含むことができる。別の例においては、サービスプロバイダ530は、セルラー三角測量またはワイヤレスアクセスポイント補間技法を使用して地理的ロケーションを計算することができる。サービスプロバイダ530は、計算されたロケーションを、コンピューティングデバイス510および520へ自動的にまたは要求に応じて送信することができる。さらなる一実施形態においては、地理的ロケーションは、地理的タグ付け(「ジオタギング」とも呼ばれる)技法を使用して計算されることが可能である。ジオタギング技法によって、ユーザは、さまざまな取り込まれたメディア、たとえば、写真、ビデオ、ウェブサイト、テキストメッセージ、RSS(really simple syndication)フィードなどに地理的識別メタデータを付加することができる。たとえば、コンピューティングデバイス510および520内にジオタギングハードウェアおよびソフトウェアが埋め込まれることが可能である。したがって、発信者512および受信者522は、コンピューティングデバイス510および520を用いて撮られた各自のロケーションの画像にジオタグ付けすることができる。ジオタグ付けされた画像は、サービスプロバイダ530によってホストされることが可能であるサーバにアップロードされることが可能である。追加として、または代替として、そのサーバは、通信ネットワーク540を介してコンピューティングデバイス510および520と通信状態にあるソーシャルメディアネットワーク上でホストされることが可能である。ジオタグサービスを提供しているソーシャルメディアネットワークの例としては、FACEBOOK(登録商標)、GOOGLE+、およびFOUR SQUAREが含まれる。
一実施形態においては、地理的ロケーションは、コンピューティングデバイス上にローカルに格納されることが可能である。たとえば、発信者512に関連付けられているロケーション514が、第2のコンピューティングデバイス510上に格納されることが可能である。加えて、地理的ロケーションは、コンピューティングデバイス510および520と通信状態にあるサーバ上にリモートに格納されることが可能である。たとえば、ロケーション514は、サービスプロバイダ530上に格納されることが可能である。同様に、第1のコンピューティングデバイス520によって取り込まれた、かつ受信者522に関連付けられている地理的ロケーション524を含む、ジオタグ付けされた画像が、FACEBOOKサーバなどのソーシャルメディアサーバ上に格納されることが可能である。さらなる一実施形態においては、地理的ロケーションは、コンピューティングデバイス510および520と、サーバとの間において、自動的にまたは要求に応じてやり取りされることが可能である。たとえば、ロケーション514は、第2のコンピューティングデバイス510上でローカルに計算されて、サーバおよび第1のコンピューティングデバイス520へ自動的に送信されることが可能である。同様に、第1のコンピューティングデバイス520からの要求に応じて、サーバは、ロケーション514および524を第1のコンピューティングデバイス520へ送信することができる。
一実施形態においては、第1のユーザおよび/または第2のユーザは、デジタル通信に関連付けられている地理的ロケーションをコントロールすることができる。そのコントロールは、共有度、解像度レベル、および提示プレビューを含むことができる。共有度は、ユーザの地理的ロケーションをその他のユーザと、およびサーバと共有するためのプライバシーレベルを含むことができる。たとえば、発信者512は、第2のコンピューティングデバイス510上で自分の地理的ロケーションの特定を有効にすることまたは無効にすることが可能である。そのようなコントロールは、ロケーションベースのサービスをオンまたはオフにするように構成されているハードボタンまたはソフトボタンによって行使されることが可能である。同様に、発信者512は、サーバとの間での、または第1のコンピューティングデバイス520との間での自分の地理的のやり取りを有効にすることまたは無効にすることが可能である。解像度レベルは、共有される地理的ロケーションの詳細さおよび精密さの範囲に関するコントロールを含むことができる。たとえば、発信者512は、自分のロケーションを3フィート、10ヤード、ストリートレベル、都市レベルなどの範囲内で共有したいと望む場合がある。同様に、発信者は、テキスト記述(たとえば、「パリの16 rue de la fleurにいます」)、またはグラフィカル表示(たとえば、2Dの世界地図上のパリの上に配置されたエッフェル塔の3Dグラフィック)を共有したいと望む場合がある。そのようなコントロールは、第2のコンピューティングデバイス510上のハードスライダボタンまたはソフトスライダボタンによって行使されることが可能である。提示プレビューは、ユーザのコンピューティングデバイスを介してユーザに地理的ロケーションを提示すること、および地理的ロケーションをその他のユーザまたはサーバと共有する前に、提示された情報をユーザが編集できるようにすることを含むことができる。たとえば、発信者512によって作成されたジオタグ付けされた写真が、第1のコンピューティングデバイス520への送信の前に第2のコンピューティングデバイス510上でプレビューされ編集されることが可能である。コントロールの例示として、マークが、自分の友達ロイへ送信しようと計画しているテキストメッセージを作成する際には、マークは、「400 Courthouse Square, Alexandria, VAのJamieson Grilleのバーの後ろのテーブルの上」など、自分の正確なロケーションをテキストメッセージとともに含めるために自分のスマートフォン上のロケーションサービスを完全に有効にすることができる。しかしながら、マークが自分の上司のイブとチャットする際には、マークは、「米国特許商標庁の本部の近く」など、自分のロケーションの大まかな意味しかイブが受信できないように自分のロケーションサービス設定を修正することができる。
一実施形態においては、第1のユーザは、第2のユーザによって開始された入ってくるデジタル通信の地理的発信元を特定することに関心を抱く場合がある。その地理的発信元は、ロケーションベースサービスアプリケーションを使用して得られることが可能である。ロケーションベースサービスアプリケーションは、第1のコンピューティングデバイス520内に埋め込まれることが可能である。加えて、ロケーションベースサービスアプリケーションは、リモートサーバ上にホストされている分析エンジンに結合されることが可能である。したがって、地理的発信元を特定することは、第1のコンピューティングデバイス520上でローカルに処理されることが可能であり、または第1のコンピューティングデバイス520と、リモートサーバとの間において分担されることが可能である。さらに、ロケーションベースサービスアプリケーションは、地理的発信元を直接および間接的に特定することができる。直接の特定は、第2のコンピューティングデバイス510に関連付けられている地理的ロケーションから直接得られることが可能である。たとえば、コンピューティングデバイス510および520は、地理的な情報がコンピューティングデバイス510および520の間において直接やり取りされることが可能であるピアツーピアネットワークアーキテクチャにおいて構成されることが可能である。間接的な特定は、サードパーティーの支援を必要とすることがある。たとえば、発信者512と受信者522との間における携帯電話での会話中に、サービスプロバイダ530は、第2のコンピューティングデバイス510のロケーション514を特定するためにセルラー三角測量技法を使用することができる。要求に応じて、サービスプロバイダ530は、特定されたロケーション514をデジタル通信内のペイロードとして第1のコンピューティングデバイス520へ配信することができる。その上、ロケーションベースサービスアプリケーションは、地理的発信元を明示的にまたは黙示的に特定することができる。明示的な特定は、単一のデジタル送信の分析を含むことができる。たとえば、受信者522は、地理的なメタデータを含むジオタグ付けされた写真を発信者512から受信することができる。黙示的な特定は、複数のデジタル送信の分析を伴うことができる。たとえば、発信者512は、2つのEメール送信を受信者522へ送信して、第1のEメールにおいては「シアトルにいます」と、そして第2のEメールにおいては「パイオニアスクエアにいます」と述べることができる。それぞれのEメール自体は、所望の解像度で発信者512のロケーションを特定するには十分でないかもしれない。ロケーションベースサービスアプリケーションは、受信されたEメールを分析して、「発信者は、シアトルのパイオニアスクエアにいる」などのさらに正確なロケーションを得るように構成されているテキスト認識ソフトウェアを含むことができる。
一実施形態においては、相対的なロケーションが特定されることが可能である。その相対的なロケーションは、第1のコンピューティングデバイス520の地理的ロケーション524に対する第2のコンピューティングデバイス510の地理的ロケーション514であることが可能である。第1のコンピューティングデバイス520は、ロケーションベースサービスアプリケーションを実行することができ、そしてロケーションベースサービスアプリケーションは、地理的ロケーション514および524を比較することによって相対的なロケーションを計算することができる。たとえば、コンピューティングデバイス520および510は、それぞれワシントン州シアトルのファーストアベニューとユニオンストリートとの角、およびワシントン州シアトルのサードアベニューとユニオンストリートとの角に位置することがある。したがって、ロケーションベースアプリケーションは、第2のコンピューティングデバイス510が第1のコンピューティングデバイス520の2ブロック東にあると特定することができる。同様に、相対的なロケーションは、第1のコンピューティングデバイス520および第2のコンピューティングデバイス510と通信状態にあるサーバ上で処理されることが可能である。本明細書において上述されているように、サーバは、コンピューティングデバイス520および510の間における通信を管理することができ、地理的ロケーション524および514へのアクセスを有することができる。第1のコンピューティングデバイス520からの要求に応じて、サーバは、相対的なロケーションを計算して第1のコンピューティングデバイス520へ送信することができる。たとえば、サービスプロバイダ530は、セルラー三角測量技法を適用して、コンピューティングデバイス520および510が、それぞれワシントン州シアトルのファーストアベニューとユニオンストリートとの角、およびオレゴン州ポートランドのSWブロードウェイとSWオークストリートとの角に位置していると特定することができる。第1のコンピューティングデバイス520からの要求に応じて、サービスプロバイダ530は、第2のコンピューティングデバイス510が第1のコンピューティングデバイス520の約200マイル南にあるという表示を第1のコンピューティングデバイス520へ送信することができる。
一実施形態においては、入ってくるデジタル通信の地理的発信元を第1のコンピューティングデバイス520上に提示するためのフォーマットが特定されることが可能である。加えて、フォーマットは、相対的なロケーションの提示を含むことができる。この提示は、特定されたフォーマットに基づいて拡張現実として地理的発信元および相対的なロケーションをレンダリングして表示することを含むことができる。レンダリングして表示することは、第1のコンピューティングデバイス520上でローカルに処理されることが可能であり、または第1のコンピューティングデバイス520と、第1のコンピューティングデバイス520と通信状態にあるサーバとの間において分担されることが可能である。フォーマットは、拡張現実アプリケーションにおいて地理的発信元および相対的なロケーションを提示するための命令を含むことができる。これらの命令は、第1のコンピューティングデバイス520に関連付けられている拡張現実シーン526内に地理的発信元および相対的なロケーションを統合するための情報を含むことができる。さらに、フォーマットは、拡張現実シーン内に地理的発信元および相対的なロケーションの知覚的な表示を提供することができる。この知覚的な表示は、感覚的な表現を含むことができ、地理的発信元および相対的なロケーションの3次元(3D)の知覚を提供するように構成されている異なるモダリティーにわたることが可能である。たとえば、フォーマットは、方向を示すための3D矢印などの視覚的な表現、距離を示すためのピンなどの聴覚的なキュー、および目的地に到着したことを示すためのバイブレーションなどの触覚的な刺激を提供することができる。
一実施形態においては、フォーマットは、少なくともデジタル通信、地理的発信元、相対的なロケーション、および提示要件に基づいて特定されることが可能である。たとえば、フォーマットを得るためにデジタル通信のタイプおよびコンテンツが分析されることが可能である。地理的発信元および相対的なロケーションは、距離、方向、向き、座標、および、フォーマットを更新するために分析されることが可能であるコントロールレベルなどの情報を含むことができる。加えて、提示要件は、サイズ、フォント、バックグラウンド、アニメーション、および、フォーマットをさらに洗練するために使用されることが可能である提示の持続度を含むことができる。例示として、デジタル通信は、第2のユーザがフランスのエッフェル塔で待っているということを告げるEメールを含むことができる。したがって、地理的発信元のフォーマットは、エッフェル塔を表す3Dオブジェクトの隣に配置されている3Dエンベロープの形状のグリフを含むことができる。加えて、地理的発信元に基づいて、第1のユーザが第2のユーザの10ブロック南にいるということが特定されることが可能である。フォーマットは、10ブロックの距離を表す長さと、方向を表す北の向きとを備えた矢印を含むように更新されることが可能である。さらに、提示要件は、確認応答が第1のユーザから受信されるまでグリフをアニメーション化するために使用される点滅速度を含むことができる。
一実施形態においては、フォーマットは、3次元環境において知覚的な地理的なヒントを提供するように構成されている地理的発信元および相対的なロケーションのクロスモダリティー提示を含むことができる。このクロスモダリティー提示は、たとえば、視覚的なキュー、聴覚的なキュー、および触覚的なキューの組合せを含むことができる。知覚的な地理的なヒントは、第2のユーザ512または第2のコンピューティングデバイス510に関連付けられている直近のデジタル通信のロケーションの3次元の向きを、第1のコンピューティングデバイス520を介して第1のユーザ522に提供するように構成されることが可能である。たとえば、第1のコンピューティングデバイス520および第2のコンピューティングデバイス510の(X,Y,Z)座標が得られることが可能である。これらの座標は、第1のユーザ522が、ストリートレベルではニューヨークのエンパイアステートビルから3ブロック南にいて、その一方で第2のユーザ512は、そのビルの最上階にいるということを示すことができる。したがって、第1のユーザ522を3ブロック北に向けさせて102階の傾斜で上を指してエンパイアステートビルの最上階を示す3D矢印が、拡張現実シーン526内に提示されることが可能である。同様に、第1のユーザ522は、車で幹線道路を西へ向かっている間に第2のユーザ512から長いEメールを受信する場合がある。第1のコンピューティングデバイス520は、第2のユーザ512が第1のユーザ522の2マイル西にいるということを特定することができる。したがって、第1のコンピューティングデバイス520は、第1のユーザ522のカーオーディオシステムを介してそのEメールを読み上げることができる。この読み上げは、適切なカースピーカー、たとえば、この例においてはフロントスピーカーを介して放送されて、第2のユーザ522が正面方向にいるということを示すことが可能である。加えて、読み上げ音量は、時間とともに変化することが可能である。たとえば、第1のユーザ522と第2のユーザ512との間における距離が変化しているまたは縮まっているということを示すために、音量が上がることが可能である。さらなる例示として、第2のユーザ512は、第1のユーザ522と同じビルの階だが北東方向に数デスク先にいる場合がある。第1のユーザ522を、直近に受信された通信のロケーションに向けさせるために、第1のコンピューティングデバイス520の角、たとえば、北東の向きに対応する角がバイブレートすることが可能である。
一実施形態においては、フォーマットは、視覚的な提示、聴覚的な提示、および触覚的な提示、またはそれらの組合せを含むことができる。視覚的な提示は、グラフィカルオブジェクトおよびテキスト情報を含むことができる。距離を示すために、グラフィカルオブジェクトのサイズおよびアニメーションが使用されることが可能である。たとえば、サイズが小さければ小さいほど、地理的発信元はそれだけ遠く離れていると言える。同様に、距離を示すために、グラフィカルオブジェクトが異なる速度で点滅することが可能であり、または色分けされることが可能である。テキスト情報は、地理的発信元に関する記述を含むことができる。たとえば、テキスト情報は、「6マイル西」または「412 Angell Streetのサムのレストラン」と告げることができる。聴覚的な表示は、音を含むことができ、音量および音質レベルを地理的発信元に相関付けることができる。たとえば、聴覚的な表示は、距離を示すためのソナーのようなピンを含むことができる。加えて、触覚的な表示は、第1のコンピューティングデバイス520上でアクティブ化されることが可能であるバイブレーションモードを含むことができる。たとえば、地理的発信元が近ければ近いほど、バイブレーション速度は速くなると言える。
さらなる一実施形態においては、地理的発信元から特定の範囲内のオブジェクト、場所、アクティビティー、人などに関する追加の情報が、第1のコンピューティングデバイス520上に提示されることも可能である。それらの情報は、サービスプロバイダ530によって提供されたサーバ上に常駐することが可能であり、地理的ロケーション514および事前に定義された範囲に基づいて得られることが可能である。第1のコンピューティングデバイス520からの要求に応じて、サーバは、情報を取り出して第1のコンピューティングデバイス520へ送信することができる。第1のコンピューティングデバイス520は、それらの情報を、テキスト記述を伴うリストとして、ハイパーリンクとして、または拡張現実オブジェクトとして拡張現実シーン526内に提示することができる。
一実施形態においては、第1のコンピューティングデバイス520は、拡張不動産シーン526を提示することができる第1のアプリケーション、たとえば、拡張現実アプリケーションと、コンピューティングデバイス510および520の地理的ロケーション514および524を提供することができる第2のアプリケーション、たとえば、ロケーションベースサービスとを含むことができる。これらの2つのアプリケーションは、デジタル通信の地理的発信元の表示を拡張現実オブジェクトとして拡張現実シーン526内に提示するために統合されることが可能である。この統合は、下記の要素を含むことができる。
(a)第1のコンピューティングデバイス520は、カメラ、その他のハードウェアおよびソフトウェアを備えていることが可能であり、または第1のコンピューティングデバイス520の環境から得られた視覚的な情報を提供することができるシステムへのアクセスを有することが可能である。
(b)第1のアプリケーションは、直接第1のアプリケーションによって(たとえば、ハードウェアもしくはローレベルシステムサービスへのアクセスを通じて)、またはプラットフォームもしくはその他のサービスによって(たとえば、イメージもしくはビデオフィードの形態で)視覚的な情報から得られた拡張現実シーン526を提示するように構成されることが可能である。
(c)第2のアプリケーションは、地理的発信元を、デジタル通信(たとえば、地理的な情報を既に有しているモバイル電話もしくはチャットクライアント)から直接、またはプラットフォームもしくはその他のサービス(たとえば、さまざまな通信の発信元を特定するために呼び出されることが可能であるオペレーティングシステム(OS)レベルアプリケーションプログラミングインターフェース(API))によって特定するように構成されることが可能である。
(d)第1のアプリケーションおよび第2のアプリケーションを関与させるためのアクティブ化メカニズム。このメカニズムは、たとえば、ハードボタンもしくはソフトボタン、ジェスチャー、または、第1のユーザが機能をアクティブ化することを可能にする類似の対話を含むことができる。
(e)地理的発信元を第2のアプリケーションから第1のアプリケーションへ配信するための配信メカニズム。この配信メカニズムは、たとえば、2つのアプリケーションの間で情報をやり取りするためのAPIを含むことができる。
(f)地理的発信元を拡張現実シーン内に提示するための適切なおよび/または最適な手段およびモダリティーを特定するためのフォーマットメカニズム。
さらなる一実施形態においては、フォーマットメカニズムは、地理的発信元を、視覚的な3次元の提示、聴覚的な3次元の提示、および触覚的な3次元の提示の組合せにおいて提示するように構成されることが可能である。フォーマットは、少なくとも下記のようなデジタル通信、地理的発信元、および提示要件から得られることが可能である。
(a)通信のタイプから得られたグラフィカルオブジェクト(たとえば、Eメールは封筒として提示されることが可能であり、チャットはユーザプロフィールとして提示されることが可能であり、電話の通話はハンドセットとして提示されることが可能である、といった具合である)。
(b)グラフィカルオブジェクトのアニメーション(たとえば、グラフィカルオブジェクトは、第1のユーザによって確認応答されるまで点滅することができる)。
(c)グラフィカルオブジェクトとともに含まれる詳細さのレベル(たとえば、マイルでの距離、国、州、ストリートの情報など)。
(d)提示の持続度(たとえば、事前に定義された量の時間の後や、オリジナルの通信が削除された後などに、グラフィカルオブジェクトが消える)。
(e)地理的発信元に対して第1のユーザを向けさせるのに役立つその他のグラフィカルなヒントの提示(たとえば、デジタル通信の発信元を指す矢印が、拡張現実シーン内に現れることが可能である)。
(f)通信のタイプに関連付けられている音(たとえば、Eメールに関するピン、インスタントメッセージに関するチャター、電話の通話に関するオーディオリングなど)。
(g)地理的発信元に関連付けられている音(たとえば、フランスから発する通信に関するフランス国歌など、地理的ロケーションに関連付けられている特定のテーマなど)。
(h)地理的発信元に相関付けられている音の音量および音質(たとえば、より長い距離に関しては、より小さな音量)。
(i)地理的発信元に相関付けられているバイブレーション速度および振幅(たとえば、より短い距離に関しては、より強い、より頻繁なバイブレーション)。
図6A〜図6Cは、デジタル通信から得られる拡張現実の地理的発信元の例示的な提示を示している。図6Aを参照すると、コンピューティングデバイス610が、第1のユーザ630に関連付けられることが可能である。コンピューティングデバイス610は、図2のデバイス210のうちの任意のものであることが可能である。たとえば、コンピューティングデバイス610は、インターネットに接続されているスマートフォン、たとえば、GOOGLE ANDROID(登録商標)フォン、MICROSOFT WINDOWS(登録商標)フォン、またはAPPLE IPHONE(登録商標)であることが可能である。さらに、コンピューティングデバイス610は、拡張現実アプリケーションおよびロケーションベースアプリケーションを含むことができる。第1のユーザ630は、第2のユーザ620との間でインスタントメッセージング640などのデジタル通信をやり取りするためにコンピューティングデバイス610を使用することができる。第2のユーザ620は、第2のコンピューティングデバイス(図示せず)に関連付けられることが可能である。第1のユーザ630は、会おうという誘い(図6Aにおいては、「Hey, come join me!」と述べるメッセージとして示されている)などのメッセージを第2のユーザ620から受信する場合がある。したがって、第1のユーザ630は、第2のユーザ620のロケーションを特定することに関心を抱く場合がある。
一実施形態においては、第1のユーザ630は、デジタル通信640の地理的発信元を特定するために拡張現実サービスおよびロケーションベースサービスを使用することができる。図6Bを参照すると、第1のユーザ630は、拡張現実およびロケーションベース対応型のコンピューティングデバイス610をかざして、周囲のエリアをスキャンすることができる。コンピューティングデバイス610は、第1のユーザ630の地理的ロケーション、環境、およびその他の要因、たとえば、利用可能な拡張現実サービスに基づいて、拡張現実シーンを第1のユーザ630に提示することができる。さらに、第1のコンピューティングデバイス610は、第2のユーザ620または第2のコンピューティングデバイスの相対的なロケーションを特定することができる。第1のコンピューティングデバイス610は、その相対的なロケーションを拡張現実シーン内に提示するための拡張現実フォーマットを特定することができる。たとえば、その提示フォーマットは、デジタル通信640の地理的発信元の方向を指す拡張現実シーン内の3次元の矢印660を含むことができる。矢印660の長さは、地理的発信元までの距離を示すことができる。矢印660は、地理的発信元への方向を記述するテキスト(「Four Blocks North」など)を含むこともできる。第1のユーザ630を地理的発信元へさらに向けさせるために、音(ソナーのようなピンなど)がアクティブ化されることも可能である。たとえば、第1のユーザ630は、音が消えるように、および図6Cにおいて示されているように矢印660が正面を指すように、コンピューティングデバイス610を向けることができる。コンピューティングデバイス610は、拡張現実シーン内で矢印660の終わりにグリフを提示することができる。このグリフは、直近のデジタル通信640、第2のユーザ620のアバター、および地理的ロケーション670を含むことができる。地理的ロケーション670は、第2のユーザ620が位置している場所を記述するテキストを含むことができる。加えて、地理的ロケーション670は、その場所に関するウェブページへのハイパーリンクを含むことができる。コンピューティングデバイス610は、第1のユーザ630または第2のユーザ620のいずれかの地理的ロケーションが変わるにつれて、地理的発信元の表示(たとえば、矢印660およびグリフ)を含む拡張現実シーンを更新することができる。たとえば、第1のユーザ630が、地理的ロケーション670内に記述されている場所に向かって歩いていくにつれて、コンピューティングデバイス610は、矢印660およびグリフを更新することができる。矢印660は、ますます短く提示されることが可能であり、その一方でグリフは、ますます大きくなる。第1のユーザ660がその場所に到着したときに、コンピューティングデバイス610は、第2のユーザ620のすぐ近くであることを示すためにバイブレートすることができる。
図7A〜図7Bは、デジタル通信から得られる拡張現実の地理的発信元の別の例示的な提示を示している。図7Aを参照すると、コンピューティングデバイス710が、ユーザに関連付けられることが可能である。コンピューティングデバイス710は、図6A〜図6Bのコンピューティングデバイス610のいくつかのまたはすべての要素を含むことができ、拡張現実サービスおよびロケーションベースサービスを提供することを有効にされることが可能である。一実施形態においては、ユーザは、コンピューティングデバイス710上で送信者720からEメール730を受信する場合がある。ユーザは、送信者720が移動中であることを知っている場合があるが、送信者720の地理的ロケーションを知らない場合がある。その上、送信者720は、自分のロケーションに関する詳細さのレベルをコントロールすることができる。たとえば、送信者720は、都市レベルの精密さを伴って送信者の地理的ロケーションを特定することのみをユーザに許可することができる。図7Bを参照すると、ユーザは、Eメール730の地理的発信元の3次元表示を含む拡張現実シーンを見るためにコンピューティングデバイス710をかざすことができる。この表示は、送信者720が、ユーザの現在のロケーションの200マイル南など、特定の距離および方向にあるポートランドなどの都市にいるということを記述する矢印760を含むことができる。この表示は、グリフ(Eメール730を表す、矢印660の先端に配置されている封筒のそのようなイメージ)を含むこともできる。この表示は、地理的ロケーションに関するグラフィカルな情報、テキスト情報、および聴覚的な情報を提供することができる。たとえば、グリフのサイズは、ユーザと送信者との間における距離を示唆することができる。テキスト情報は、グリフのサイズを補足して「Approx. 200 Miles South」と示すことによって、距離についてさらに記述することができる。さらに、コンピューティングデバイス710は、地理的発信元を高い音量で聴覚に訴えて読み上げて、「送信者は、あなたのロケーションの約200マイル先のポートランドにいます」と告げることができる。
図8は、オペレーション800、802、804、806、808、および810を含む、拡張現実フォーマットでのデジタル通信のロケーション表示を提示するための例示的なオペレーション手順を示している。オペレーション800は、オペレーション手順を開始し、ここでは、デジタル通信、拡張現実アプリケーション、およびロケーションベースサービスが、図2のデバイス210のうちの任意のものなどの第1のコンピューティングデバイス上でアクティブ化されることが可能である。第1のコンピューティングデバイスは、デジタル通信の受信者に関連付けられている受信側コンピューティングデバイスであることが可能である。オペレーション800の後には、オペレーション802が続くことが可能である。オペレーション802(受信者に関連付けられている拡張現実シーンを生成する)は、第1のコンピューティングデバイスの少なくとも現在の地理的ロケーションに基づいて拡張現実シーンを生成することを示している。オペレーション802の後には、オペレーション804が続くことが可能である。オペレーション804(発信者との間で通信をやり取りする)は、受信者と発信者との間において通信をやり取りすることを示している。発信者は、受信者とデジタルに通信する発信側コンピューティングデバイスなどの第2のコンピューティングデバイスに関連付けられることが可能である。オペレーション804の後には、オペレーション806が続くことが可能である。オペレーション806(発信者のロケーションを特定する)は、発信者のロケーションを特定することを示している。そのロケーションは、第2のコンピューティングデバイスの地理的ロケーションに関連付けられることが可能である。受信側コンピューティングデバイスは、本明細書において上述されているロケーション特定技法のうちの任意のものを使用して、地理的ロケーションまたは相対的なロケーションを特定することができる。オペレーション806の後には、オペレーション808が続くことが可能である。オペレーション808(特定されたロケーションの表示を拡張現実オブジェクトとして受信者に提示するための拡張現実フォーマットを特定する)は、地理的ロケーションの3次元表示を拡張現実オブジェクトとして拡張現実シーン内に提示するためのフォーマットを特定することを示している。このフォーマットは、少なくとも地理的ロケーション、デジタル通信、および提示要件から得られることが可能である。加えて、このフォーマットは、地理的ロケーションを知覚的に示すための視覚的な、聴覚的な、および触覚的な2次元および3次元の提示の組合せを含むことができる。さらに、このフォーマットは、地理的ロケーションから特定の範囲内のオブジェクト、場所、および人に関する追加の情報を含むことができる。オペレーション808の後には、オペレーション810が続くことが可能である。オペレーション810(拡張現実オブジェクトとともに拡張現実シーンを更新する)は、地理的発信元を知覚的に示す拡張現実オブジェクトとともに拡張現実シーンを更新することを示している。この更新は、オペレーション808のもとで得られたフォーマットに基づくことが可能である。
本明細書において開示されているこのプロセスおよび方法ならびにその他のプロセスおよび方法にとって、それらのプロセスおよび方法において実行される機能は、別の順序で実装されることも可能であるということを当業者なら理解するであろう。さらに、概説されているステップおよびオペレーションは、例として提供されているにすぎず、それらのステップおよびオペレーションのうちのいくつかは、開示されている実施形態の本質を損なうことなく、任意選択であること、より少ないステップおよびオペレーションへと組み合わされること、または追加のステップおよびオペレーションへと拡張されることが可能である。
本開示は、本出願において説明されている特定の実施形態の観点から限定されるものではなく、それらの実施形態は、さまざまな態様の例示として意図されている。当業者にとっては明らかであるように、本開示の趣旨および範囲から逸脱することなく、多くの修正および変形が行われることが可能である。本明細書において列挙されている方法および装置に加えて、本開示の範囲内にある機能的に均等な方法および装置は、前述の説明から当業者にとって明らかであろう。そのような修正および変形は、添付の特許請求の範囲の範疇内に収まるように意図されている。本開示は、添付の特許請求の範囲、ならびに、そのような特許請求の範囲が付与される均等物の全範囲という観点によってのみ限定されるものである。本開示は、特定の方法、試薬、化合物、組成、または生体系(これらは、もちろん、さまざまなものでありうる)に限定されるものではないということを理解されたい。本明細書において使用されている用語は、特定の実施形態を説明することのみを目的としており、限定することを意図されているものではないということも理解されたい。
例示的な一実施形態においては、本明細書に記載されているオペレーション、プロセスなどのいずれも、コンピュータ可読媒体上に格納されているコンピュータ可読命令として実装されることが可能である。それらのコンピュータ可読命令は、モバイルユニット、ネットワーク要素、および/またはその他の任意のコンピューティングデバイスのプロセッサによって実行されることが可能である。
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に(いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で)コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび/またはシステムおよび/または他の技術をもたらすことができるさまざまな達成手段があり(たとえば、ハードウェア、ソフトウェア、および/またはファームウェア)、好ましい達成手段は、プロセスおよび/またはシステムおよび/または他の技術が導入される状況によって異なる。たとえば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび/またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および/またはファームウェアのなんらかの組合せを選択することができる。
前述の詳細な説明では、ブロック図、フローチャート、および/または例の使用によって、装置および/またはプロセスのさまざまな実施形態を説明してきた。そのようなブロック図、フローチャート、および/または例が1つまたは複数の機能および/または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および/または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組合せにより、個別におよび/または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、1つまたは複数のコンピュータ上で動作する1つまたは複数のコンピュータプログラムとして(たとえば、1つまたは複数のコンピュータシステム上で動作する1つまたは複数のプログラムとして)、1つまたは複数のプロセッサ上で動作する1つまたは複数のプログラムとして(たとえば、1つまたは複数のマイクロプロセッサ上で動作する1つまたは複数のプログラムとして)、ファームウェアとして、あるいは実質上それらの任意の組合せとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに/またはソフトウェアおよび/もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。さらに、本明細書に記載された主題のメカニズムをさまざまな形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピー(登録商標)ディスク、ハードディスクドライブ、CD、DVD、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および/またはアナログ通信媒体(たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど)の通信タイプの媒体が含まれるが、それらには限定されない。
本明細書で説明したやり方で装置および/またはプロセスを記載し、その後そのように記載された装置および/またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および/またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインターフェース、およびアプリケーションプログラムのうちの1つもしくは複数、タッチパッドもしくはスクリーンなどの1つもしくは複数の相互作用装置、ならびに/またはフィードバックループおよびコントロールモータを含むコントロールシステム(たとえば、位置検知用および/もしくは速度検知用フィードバック、コンポーネントの移動用および/もしくは数量の調整用コントロールモータ)を含むことを、当業者は理解するであろう。通常のデータ処理システムは、データコンピューティング/通信システムおよび/またはネットワークコンピューティング/通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。
本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の2つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の2つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の2つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および/もしくは物理的に相互作用するコンポーネント、ならびに/またはワイヤレスに相互作用可能な、および/もしくはワイヤレスに相互作用するコンポーネント、ならびに/または論理的に相互作用する、および/もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。さまざまな単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
通常、本明細書において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体部)において使用される用語は、全体を通じて「オープンな(open)」用語として意図されていることが、当業者には理解されよう(たとえば、用語「含む(including)」は、「含むがそれに限定されない(including but not limited to)」と解釈されるべきであり、用語「有する(having)」は、「少なくとも有する(having at least)」と解釈されるべきであり、用語「含む(includes)」は、「含むがそれに限定されない(includes but is not limited to)」と解釈されるべきである、など)。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも1つの(at least one)」および「1つまたは複数の(one or more)」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「1つまたは複数の」または「少なくとも1つの」および「a」または「an」などの不定冠詞を含む場合であっても、不定冠詞「a」または「an」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に1つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない(たとえば、「a」および/または「an」は、「少なくとも1つの」または「1つまたは複数の」を意味すると解釈されるべきである)。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう(たとえば、他の修飾語なしでの「2つの記載(two recitations)」の単なる記載は、少なくとも2つの記載、または2つ以上の記載を意味する)。さらに、「A、BおよびC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、およびCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。「A、B、またはC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、またはCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。2つ以上の代替用語を提示する事実上いかなる離接する語および/または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方(one of the terms)、当該用語のいずれか(either of the terms)、または両方の用語(both terms)を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「AまたはB」は、「A」または「B」あるいは「AおよびB」の可能性を含むことが理解されよう。
加えて、本開示の特徴または態様がマーカッシュグループの点から記載されている場合には、それによって、本開示は、そのマーカッシュグループの任意の個々のメンバーまたはメンバーのサブグループの点からも記載されているということを当業者なら認識するであろう。
当業者なら理解するであろうように、書面による説明を提供するという点からなど、ありとあらゆる目的のために、本明細書において開示されているすべての範囲は、ありとあらゆる可能なサブ範囲およびそれらのサブ範囲の組合せも包含する。列挙されているいかなる範囲も、その同じ範囲が、少なくとも2等分、3等分、4等分、5等分、10等分などへと分割されることを十分に記述するものとして、かつ可能にするものとして容易に認識されることが可能である。非限定的な例として、本明細書において論じられているそれぞれの範囲は、下の3分の1、真ん中の3分の1、および上の3分の1などへと容易に分割されることが可能である。やはり当業者なら理解するであろうように、たとえば「まで(up to)」、「少なくとも(at least)」などのすべての言葉は、挙げられている数を含み、上で論じられたように後でサブ範囲へと分割されることが可能な範囲を指す。最後に、当業者なら理解するであろうように、範囲は、それぞれの個々のメンバーを含む。したがって、たとえば、1〜3個のセルを有するグループは、1、2、または3個のセルを有するグループを指す。同様に、1〜5個のセルを有するグループは、1、2、3、4、または5個のセルを有するグループを指す、といった具合である。
本開示のさまざまな実施形態は、例示の目的で本明細書に記載されているということ、ならびに、本開示の範囲および趣旨から逸脱することなく、さまざまな修正が行われることが可能であるということが、前述の内容からわかるであろう。したがって、本明細書において開示されているさまざまな実施形態は、限定することを意図されているものではなく、真の範囲および趣旨は、添付の特許請求の範囲によって示されている。