(57)【特許請求の範囲】
【請求項１】
ユーザロケーションを決定するための方法であって、前記方法は、
モバイル端末の拡張現実クライアント端末によって、ユーザのロケーションについての初期ロケーション情報を識別するステップであって、前記初期ロケーション情報は、GPSベースのロケーション情報であり、高度情報を含まない、ステップと、
前記ユーザの前記ロケーションに基づいて、キャプチャ対象シーン画像として、シーン画像をキャプチャするステップと、
前記シーン画像とプリセットシーン画像セット中のシーン画像との間で画像マッチングを実行するステップであって、前記プリセットシーン画像セット中の前記シーン画像は各々、フロア情報を含む対応する精密ロケーションでマークが付けられており、前記初期ロケーション情報によって示されるロケーションから閾値距離内のロケーションと関連し、前記閾値距離が前記GPSの位置決定誤差より大きい、ステップと、
前記キャプチャされたシーン画像が前記プリセットシーン画像セット中のターゲットシーン画像と一致していることに応答して、前記ターゲットシーン画像についてマークが付けられた精密ロケーションを決定するステップと、
前記ターゲットシーン画像についてマークが付けられた前記精密ロケーションに基づいて、前記フロア情報を含むように前記ユーザの前記初期ロケーション情報を補正するステップと
を含む、方法。
【請求項２】
位置情報サービス(LBS)サーバ端末に、リアルタイムに、前記補正後の初期ロケーションを送信するステップと、
前記LBSサーバ端末から、前記フロア情報を含む前記補正後の初期ロケーションに基づいた仮想データを含むプッシュ型メッセージを受信するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記キャプチャされたシーン画像と前記プリセットシーン画像セット中のシーン画像との間で画像マッチングを実行するステップは、
前記拡張現実クライアント端末が位置する、前記モバイル端末によって決定される、前記ユーザの前記ロケーションを獲得するステップと、
前記LBSサーバ端末から、前記プリセットシーン画像セットを生成するために前記ロケーションのプリセットロケーション範囲内の屋内シーン画像をダウンロードするステップと、
前記キャプチャされたシーン画像と前記プリセットシーン画像セット中の前記屋内シーン画像の各々との間で画像マッチングを実行するステップと
を含む、請求項2に記載の方法。
【請求項４】
前記キャプチャされたシーン画像と前記プリセットシーン画像セット中のシーン画像との間で画像マッチングを実行するステップは、
前記拡張現実クライアント端末が位置する、前記モバイル端末によって決定される、前記ユーザの前記ロケーションを獲得するステップと、
前記LBSサーバ端末に前記キャプチャされたシーン画像および前記ロケーションをレポートするステップであって、前記LBSサーバ端末は、前記ロケーションのプリセットロケーション範囲内の屋内シーン画像に基づいて前記プリセットシーン画像セットを生成し、前記キャプチャされたシーン画像と前記プリセットシーン画像セット中の前記シーン画像の各々との間で画像マッチングを実行する、ステップと
を含む、請求項2に記載の方法。
【請求項５】
解析対象仮想データとして前記プッシュ型メッセージの前記仮想データを解析するステップと、
融合対象シーン画像として前記シーン画像と前記解析された仮想データを融合するステップと、
前記融合されたシーン画像の可視化を行うステップと
をさらに含む、請求項2に記載の方法。
【請求項６】
前記初期ロケーション情報は、平面ロケーション情報を表し、前記精密ロケーションは、高度情報を含む、請求項1に記載の方法。
【請求項７】
前記初期ロケーション情報は、前記モバイル端末のグローバル位置決定システム(GPS)を使用して生成される、請求項1に記載の方法。
【請求項８】
前記拡張現実クライアント端末は、バックグラウンドサーバ端末に前記初期ロケーション情報をレポートする、請求項1に記載の方法。
【請求項９】
前記拡張現実クライアント端末は、前記初期ロケーション情報に基づいて前記バックグラウンドサーバ端末から前記プリセットシーン画像セットをダウンロードする、請求項8に記載の方法。
【請求項１０】
ユーザロケーションを決定するための装置であって、前記装置は、請求項1から9のいずれか一項に記載の方法を行うように構成される複数のモジュールを含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張
本願は、その全体の内容が参照により組み込まれている、2016年10月26日に出願した中国特許出願第201610950767.X号、および2017年10月24日に出願した米国特許出願第15/792,611号に対する優先権を主張する。
【背景技術】
【０００２】
拡張現実(AR)技術は、補足情報(画像、ビデオ、3次元(3D)モデル、および他の感覚拡張など)を実世界環境に重ね合わせることによって実世界環境(現実)の画像を拡張している。AR技術は、仮想オブジェクトを実世界の画像に重ね合わせ、ユーザの現実の認知を拡張し、ユーザに没入型のインタラクティブなエクスペリエンスを提供している。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示は、拡張現実(AR)に基づいたユーザロケーション決定を説明している。
【０００４】
ある実施形態においては、ARクライアント端末は、ユーザのロケーションについての初期ロケーション情報を識別する。ユーザのロケーションに関連付けられたシーン画像をキャプチャする。画像マッチングが、キャプチャされたシーン画像とシーン画像セット中のシーン画像との間で行われる。シーン画像セットは、初期ロケーション情報に基づいて生成される。シーン画像セット中の各シーン画像は、詳細ロケーション情報に関連付けられている。キャプチャされたシーン画像がシーン画像セット中の特定のシーン画像と一致していることに応答して、ユーザのロケーションについての精細ロケーション情報を特定のシーン画像の詳細ロケーション情報に基づいて決定する。
【０００５】
上記で説明した実施形態を含む、説明した発明特定事項の実施形態は、コンピュータ実施方法と、コンピュータ実施方法を行うコンピュータ可読命令を記憶している非一時的コンピュータ可読媒体と、1つまたは複数のコンピュータと相互運用可能なように結合されるとともに、1つまたは複数のコンピュータによって実行されると非一時的コンピュータ可読媒体上に記憶されているコンピュータ実施方法/コンピュータ可読命令を行う命令を記憶している有形非一時的機械可読媒体を有する、1つまたは複数のコンピュータメモリデバイスを含む、コンピュータ実施システムとを使用して実施され得る。
【０００６】
本明細書において説明した発明特定事項は、以下の利点のうちの1つまたは複数を実現するように特定の実施形態において実施され得る。第一に、説明したアプローチは、AR技術を使用して、ユーザのための精密または精細ロケーション情報を決定する。精密または精細ロケーション情報は、平面ロケーション情報だけでなく、例えば、高層ビルのどのフロアにユーザが位置しているかという、高度情報も含む。第二に、説明したアプローチは、位置情報サービス(LBS)が精密または精細ロケーション情報に基づいてターゲットユーザにサービス情報を正確に配信することを可能にしており、したがって、ユーザのためのオンライン・ツー・オフライン(O2O)サービスエクスペリエンスを改善している。例えば、高層ショッピングモールにいるすべてのユーザに商店宣伝情報を送信する代わりに、LBSは、同一のフロアにいるユーザに特定のフロアにある商店の宣伝情報を送信し得る。結果として、低減された数のユーザに情報を送信することで通信ネットワーク帯域幅を節約することを可能としている。他の利点も当業者とって明らかであろう。
【０００７】
本明細書の発明特定事項についての1つまたは複数の実施形態の詳細を、発明の詳細な説明、特許請求の範囲、および添付の図面に記載している。発明特定事項の他の特徴、態様、および利点も、発明の詳細な説明、特許請求の範囲、および添付の図面から明白となるであろう。
【図面の簡単な説明】
【０００８】
【図１】本開示の実施形態による、拡張現実(AR)に基づいたユーザロケーション決定のためのコンピュータ実施方法の例を図示しているフローチャートである。
【図２】本開示の実施形態による、ARに基づいたユーザロケーション決定のためのユースケースの例を図示している概略図である。
【図３】本開示の実施形態による、ARに基づいたユーザロケーション決定のための装置の例を図示しているブロック図である。
【図４】本開示の実施形態による、ARに基づいたユーザロケーション決定のためのハードウェア機構の例を図示しているブロック図である。
【図５】本開示の実施形態による、説明したアルゴリズム、方法、関数、プロセス、フロー、および手順に関連する計算機能性を提供するために使用される、コンピュータ実施システムの例を図示しているブロック図である。
【発明を実施するための形態】
【０００９】
様々な図面における類似の参照番号および記号は、類似の要素を示す。
【００１０】
以下の詳細な説明は、拡張現実(AR)に基づいたユーザロケーション決定を説明しており、任意の当業者が1つまたは複数の特定の実施形態に即して開示した発明特定事項を作成または使用することができるように提示している。開示した実施形態の様々な修正、変更、および置換が、なされ得るとともに、当業者に容易に明らかとなるであろう、そして、定義されている一般的な原理は、本開示の範囲から逸脱しない限り、他の実施形態および応用に適用可能であり得る。いくつかの事例においては、説明した発明特定事項についての理解を得る必要のない詳細は、そのような詳細が当業者の技術内にあるために、不要な詳細により1つまたは複数の説明した実施形態を曖昧なものにしないように省略され得る。本開示は、説明または図示した実施形態に限定されることを意図しておらず、説明した原理および特徴と矛盾しない最大の範囲として扱われるべきである。
【００１１】
AR技術は、補足情報(画像、ビデオ、3次元(3D)モデル、および他の感覚拡張など)を実世界環境に重ね合わせることによって実世界環境(現実)の画像を拡張している。AR技術は、仮想オブジェクトを実世界の画像に重ね合わせ、ユーザの現実の認知を拡張し、ユーザに没入型のインタラクティブなエクスペリエンスを提供している。
【００１２】
位置情報サービス(LBS)は、ユーザの現在位置に基づいて情報またはサービスを提供する。ユーザのリアルタイムロケーション(例えば、地理的座標または地球座標)は、通信事業者の無線通信ネットワーク(例えば、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM(登録商標))または符号分割多元接続(CDMA)ネットワーク)を介してまたは位置決定コンポーネント(例えば、全地球測位システム(GPS)受信機)を介してユーザのモバイル端末によって獲得され得る。ユーザの現在位置に基づいて、LBSをサポートするサーバ端末(LBSサーバ端末とも呼ばれる)は、ユーザに周辺の商店の宣伝情報などの周辺サービス情報をプッシュし得る。
【００１３】
精密ユーザロケーション情報は、LBSがターゲットユーザにサービス情報を正確にプッシュするために重要である。しかしながら、無線通信ネットワークまたはGPSを使用するなどといった、既存の位置決定方法は、位置決定に対して使用される無線信号を遮る周辺のビルなどの外部環境因子により、精密ロケーション情報を提供し得ない。詳細には、既存の位置決定方法は、平面ロケーション情報のみを提供して、高度情報は提供しない。例えば、ユーザが高層ショッピングモールなどの高層ビルにいる場合には、既存の位置決定方法は、どのフロアにユーザが位置しているかを決定することはできない。いくつかのケースにおいては、高度情報は、LBSが商店と同一のフロアにいるユーザに商店の宣伝情報をプッシュするために重要である。
【００１４】
高次においては、説明したアプローチは、ユーザに対する(フロア情報などの)高度情報を含む、精密または精細ロケーション情報を決定する。例えば、データベースは、高層ビルの様々なフロアにおいておよび様々な見晴らしの利く地点から撮られたシーン画像を記憶し得る。データベース内の各画像は、画像が撮られた詳細ロケーション情報、例えば、ビルの名称、フロア情報、およびフロアのセクションを用いてマークが付けられている。ユーザは、ARメガネまたはARヘッドセットなどのAR端末を身に付け得る。AR端末は、ユーザの視界におけるシーン画像をキャプチャし得る。加えて、初期または粗大ユーザロケーションは、例えば、GPSまたは無線通信ネットワークを使用して、決定され得る。粗大ユーザロケーションは、ビルロケーションおよびビルの名称などの平面情報を含み得るが、フロア情報を含まない。シーン画像セットは、データベース内の画像および粗大ユーザロケーションに基づいて形成される。例えば、粗大ユーザロケーションにおけるビルの名称に基づいて、シーン画像セットは、詳細ロケーション情報が同一のビルの名称を含んでいる画像すべてを含み得る。画像マッチングが、AR端末によってキャプチャされたシーン画像とシーン画像セット中の画像との間で行われる。キャプチャされたシーン画像がシーン画像セット中の特定の画像と一致している場合には、粗大ユーザロケーションは、特定のシーン画像の詳細ロケーション情報に基づいて精細化される。この方法では、AR技術を使用して、高度情報を含む精細ユーザロケーション情報は、画像マッチングによって決定され得る。精細ユーザロケーションに基づいて、LBSサーバ端末は、ユーザにサービス情報を正確にプッシュすることができ、ユーザのためのオンライン・ツー・オフライン(O2O)サービスエクスペリエンスを改善している。
【００１５】
図1は、本開示の実施形態による、ARに基づいたユーザロケーション決定のためのコンピュータ実施方法100の例を図示しているフローチャートである。提示を明確にするために、以下の説明は、本説明における他の図に即して方法100を一般的に説明している。しかしながら、方法100が、例えば、任意のシステム、環境、ソフトウェア、およびハードウェアによって、または、必要に応じて、システムと、環境と、ソフトウェアと、ハードウェアとの組合せによって、行われ得ることは理解されよう。いくつかの実施形態においては、方法100の様々なステップは、並行して、組み合わせて、ループして、または任意の順序で動作され得る。
【００１６】
101において、ARクライアント端末は、ユーザのための初期粗大ロケーションを識別する。例えば、ユーザは、AR端末(ARメガネまたはARヘッドセットなど)を身に付け得るし、AR端末は、ARクライアント端末を含み得る。いくつかの実施形態においては、ARクライアント端末は、AR端末にインストールされたソフトウェアまたはハードウェアであり得る。ARクライアント端末は、AR端末がGPS受信機を含む場合には、GPSを使用して粗大ユーザロケーションを決定し得る。いくつかのケースにおいては、粗大ユーザロケーションは、ARクライアント端末に近接したところにあるユーザのモバイル端末(スマートフォンまたはタブレットタイプのコンピュータなど)によって決定され得る。モバイル端末は、GPSまたは無線通信ネットワークを使用して粗大ユーザロケーションを決定し得る。モバイル端末は、決定した粗大ユーザロケーションをARクライアント端末に送信し得る。粗大ユーザロケーションは、平面ロケーション情報を含み得るが高度情報を含まない。例えば、ユーザが高層ビルにいる場合には、粗大ユーザロケーションは、ビルのロケーションおよびビルの名称を含み得るが、どのフロアにユーザが位置しているかは示さない。101から、方法100は102に進む。
【００１７】
102において、ARクライアント端末は、ユーザロケーションにおけるシーン画像をキャプチャする。キャプチャされたシーン画像は、ユーザがユーザロケーションにおいて見ているシーンを表している。例えば、ユーザが高層ビルにいる場合には、ARクライアント端末は、屋内360度パノラマ画像または他の画像をキャプチャし得る。いくつかの実施形態においては、ARクライアント端末は、シーン画像をキャプチャし、リアルタイムでバックグラウンドサーバ端末にキャプチャされたシーン画像をアップロードし得る。
【００１８】
いくつかの実施形態においては、ARクライアント端末は、AR技術に基づいて開発された、ライアントソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組合せであり得る。ARクライアント端末は、環境シーンの画像(例えば、AR端末の視点における画像)のスキャニングを行い、リアルタイムでバックグラウンドサーバ端末にスキャンされた画像を送信し得る。いくつかのケースにおいては、ARクライアント端末は、ユーザのモバイル端末に取り付けられ得る。
【００１９】
バックグラウンドサーバ端末は、サーバクラスタに基づいてサーバ、サーバクラスタ、またはクラウドプラットフォームであり得る。バックグラウンドサーバ端末は、ARクライアント端末にサービスを提供し得る。いくつかの実施形態においては、バックグラウンドサーバ端末(または、バックグラウンドサーバ端末内のバックグラウンドARエンジン)は、ARクライアント端末によってスキャンされた画像とデータベース内のシーン画像との間で画像マッチングを行い、精細ユーザロケーションを決定し得る。バックグラウンドサーバ端末はまた、ユーザロケーションに関連している仮想データ(例えば、オフライン商店の宣伝情報)を管理し、精細ユーザロケーションに基づいてARクライアント端末に仮想データをプッシュし得る。いくつかのケースにおいては、バックグラウンドサーバ端末内のバックグラウンドARエンジンは、画像認識をARクライアント端末によってキャプチャされたシーン画像に対して行い得る。例えば、バックグラウンドサーバ端末は、特定の識別子(例えば、キャプチャされたシーン画像中の商店の名称)を認識し、ARクライアント端末に特定の識別子に関連している仮想データをプッシュし得る。いくつかのケースにおいては、ARクライアント端末は、画像認識を行い、シーン画像中の識別子を認識し得る。
【００２０】
いくつかの実施形態においては、ARクライアント端末(または、ARクライアント端末内のフォアグラウンドARエンジン)は、様々な識別子を含むARシーンモデルを作成し得る。例えば、ARシーンモデルは、ARクライアント端末によってスキャンされたリアルタイム環境シーン画像であり得る、ここで、画像中の様々な識別子は画像認識技法を使用して認識されたものである。ARクライアント端末は、バックグラウンドサーバ端末によってプッシュされた仮想データに対する可視化レンダリングを行い得る。ARエンジンは、ARシーンモデル内の対応する識別子の位置に仮想データを表示し、レンダリングされた仮想データをリアルタイムスキャンされた環境シーン画像に重ね合わせ得る。例えば、特定の商店の宣伝情報は、商店の画像の上部または周辺に表示され得る。(AR画像のリアルタイム表示のために使用される)リアルタイムスキャンされた環境シーン画像は、102においてキャプチャされたシーン画像と異なり得るまたは同一であり得る。102から、方法100は103に進む。
【００２１】
103において、画像マッチングが、ARクライアント端末によってキャプチャされたシーン画像とシーン画像セット中の画像との間で行われる。いくつかの実施形態においては、バックグラウンドサーバ端末上のデータベースは、様々なロケーションにおけるまたは様々な見晴らしの利く地点からのシーン画像を記憶し得る。シーン画像セットは、101において識別された粗大ユーザロケーションに関連しているデータベースからのシーン画像を含み得る。例えば、高層ビルの多数の屋内シーン画像が、ビルの異なるフロアにいる撮影者によって撮られ、データベースに記憶され得る。データベース内の各画像は、画像が撮られた際の撮影者のロケーションを示す詳細ロケーション情報を用いてマークが付けられている。詳細ロケーション情報は、ビルの名称およびどのフロアで画像が撮られたかを含み得る。シーン画像セットは、詳細ロケーション情報が粗大ユーザロケーションにおいて示されたものと同一のビルの名称を含んでいるデータベース内の屋内シーン画像のすべてを含み得る。
【００２２】
いくつかの実施形態においては、シーン画像セットは、ARクライアント端末に記憶され得るし、画像マッチングは、ARクライアント端末によって行われる。例えば、ARクライアント端末は、粗大ユーザロケーションをバックグラウンドサーバ端末に送信し得る。ARクライアント端末は、データベースから粗大ユーザロケーションに関連しているシーン画像をダウンロードし、ダウンロードした画像に基づいてシーン画像セットを形成し得る。ARクライアント端末は、キャプチャされたシーン画像をシーン画像セット中の各画像と比較し得る。
【００２３】
いくつかのケースにおいては、101において識別された粗大ユーザロケーションは、GPSまたは無線通信ネットワークに内在する誤差原因に起因する位置決定誤差を含み得る。位置決定誤差を補償するために、シーン画像セットは、粗大ユーザロケーションからの閾値距離以内のロケーションに関連している画像をさらに含み得る。例えば、閾値距離は、GPSの位置決定誤差または無線通信ネットワークに基づいて決定され得る。閾値距離は、GPSまたは無線通信ネットワークの位置決定誤差より通常は大きい。例えば、GPSの位置決定誤差が100mである場合には、閾値距離は、100mより大きい数に設定される。閾値距離がGPSの位置決定誤差より小さいと、シーン画像セットは、ユーザが実際にいるロケーションのシーン画像を含んでいない可能性があり、結果として画像マッチングにおける失敗となる。閾値距離は、ARクライアント端末、バックグラウンドサーバ端末、またはユーザによって決定され得る。
【００２４】
いくつかの実施形態においては、シーン画像セットは、バックグラウンドサーバ端末に記憶され得るし、画像マッチングは、バックグラウンドサーバ端末によって行われる。例えば、ARクライアント端末は、バックグラウンドサーバ端末に粗大ユーザロケーションをレポートし得る。粗大ユーザロケーションを受信した後に、バックグラウンドサーバ端末は、粗大ユーザロケーションに関連しているシーン画像についてデータベースを検索し得る。いくつかのケースにおいては、バックグラウンドサーバ端末は、粗大ユーザロケーションからの閾値距離以内のロケーションに関連しているシーン画像についてデータベースを検索し得る。検索したシーン画像に基づいて、バックグラウンドサーバ端末は、シーン画像セットを生成する。加えて、ARクライアント端末は、リアルタイムでバックグラウンドサーバ端末に102においてキャプチャされたシーン画像を送信し得る。バックグラウンドサーバ端末は、キャプチャされたシーン画像をシーン画像セット中の各画像と比較し得る。粗大ユーザロケーションおよびキャプチャされたシーン画像は、同期方式(同時のレポート)または同期方式(異なる時間におけるレポート)で、バックグラウンドサーバにレポートされ得る。
【００２５】
いくつかの実施形態においては、画像マッチングは、画像コンテンツを比較することに基づき得る。例えば、画像認識技法は、ショッピングモールの画像に示される商店の名称などといった、画像コンテンツを識別するために使用され得る。例として、画像認識技法は、シーン画像セット中の画像だけではなくキャプチャされたシーン画像中の商店の名称を識別し得る。キャプチャされたシーン画像中の商店の名称がシーン画像セット中の画像の商店の名称と同一である場合には、一致と判明する。いくつかのケースにおいては、キャプチャされたシーン画像中の商店の名称がシーン画像セット中の画像の商店の名称のサブセットである場合には、または、シーン画像セット中の画像の商店の名称がキャプチャされたシーン画像中の商店の名称のサブセットである場合には、一致と判明する。103から、方法100は104に進む。
【００２６】
104において、キャプチャされたシーン画像がシーン画像セット中の画像と一致していることに応答して、ユーザロケーションは、一致シーン画像の詳細ロケーション情報に基づいて精細化される。例えば、101において識別された粗大ユーザロケーションは、一致シーン画像の詳細なロケーションに基づいてフロア情報を含むように精細化される。画像マッチングがバックグラウンドサーバ端末によって行われると、バックグラウンドサーバ端末は、一致シーン画像の詳細ロケーション情報をARクライアント端末に返信し得る。104から、方法100は終了となる。
【００２７】
図2は、本開示の実施形態による、ARに基づいたユーザロケーション決定のためのユースケース200の例を図示している概略図である。ユースケース200は、ユーザが高層ビル内にいて、ユーザのモバイル端末がユーザのARクライアント端末に近接していると仮定している。GPSを使用して、ユーザのモバイル端末は、ユーザの現在位置が「杭州市濱江区盾安開発ビル」であると決定する。
【００２８】
ステップ1において、ユーザは、フロア情報を含むより精密なロケーションを決定することを欲する。ユーザは、ARクライアント端末を使用して、ユーザの視界における屋内シーン画像をキャプチャする。
【００２９】
ステップ2において、ARクライアント端末は、リアルタイムでバックグラウンドサーバ端末に、ARクライアント端末によってキャプチャされた屋内シーン画像および初期GPSベースロケーション「杭州市濱江区盾安開発ビル」を送信する。バックグラウンドサーバ端末は、例えば、撮影者によって撮られた、多数の屋内シーン画像を記憶しているデータベースを有し得る。データベース内の各画像は、画像が撮られたフロア情報を示すロケーション情報を用いてマークが付けられる。初期GPSベースロケーション情報をARクライアント端末から受信した後に、バックグラウンドサーバ端末は、ロケーション情報が「盾安開発ビル」または「杭州市濱江区盾安開発ビル」を含んでいるデータベース内の画像を選択することによってシーン画像セットを生成し得る。いくつかのケースにおいては、シーン画像セットは、ロケーションが初期GPSベースロケーションからある距離(例えば、100m)以内にあるデータベース内の画像を含み得る。
【００３０】
ステップ3において、バックグラウンドサーバ端末は、ARクライアント端末によってキャプチャされた屋内シーン画像とシーン画像セット中の画像との間で画像マッチングを行う。例えば、上記で説明したように、バックグラウンドサーバ端末は、画像認識技法を使用して、画像コンテンツを識別するとともに2つの画像の画像コンテンツを比較し得る。
【００３１】
ステップ4において、バックグラウンドサーバ端末は、ARクライアント端末からの屋内シーン画像がシーン画像セット中の画像と一致していると決定し、一致画像は、「盾安開発ビルの第6フロア」または「杭州市濱江区盾安開発ビルの第6フロア」としてマークが付けられる。一致画像に基づいて、バックグラウンドサーバ端末は、ユーザのためのフロア情報、すなわち、第6フロアを決定する。
【００３２】
ステップ5において、バックグラウンドサーバ端末は、ARクライアント端末にフロア情報を返信する。例えば、バックグラウンドサーバ端末は、ARクライアント端末に「盾安開発ビルの第6フロア」または「杭州市濱江区盾安開発ビルの第6フロア」を返信する。
【００３３】
ステップ6において、フロア情報をバックグラウンドサーバ端末から受信した後に、ARクライアント端末は、フロア情報を用いて初期GPSベースロケーションを精細化する、すなわち、初期GPSベースロケーションの「杭州市濱江区盾安開発ビル」は、「杭州市濱江区盾安開発ビルの第6フロア」に精細化される。
【００３４】
フロア情報を含む精細ユーザロケーションに基づいて、LBSサーバ端末は、ユーザにサービス情報を正確にプッシュすることができる。例えば、ショッピングモールの第6フロアにある商店の宣伝情報をモールにいるすべてのユーザにプッシュする代わりに、LBSサーバ端末は、第6フロアにいるユーザに宣伝情報をプッシュし得る。いくつかのケースにおいては、サービス情報を提供するLBSサーバ端末は、シーン画像を記憶しているバックグラウンドサーバ端末と同一であり得るまたは異なり得る。LBSサーバ端末がバックグラウンドサーバ端末とは異なる場合には、ユーザのARクライアント端末は、LBSサーバ端末にフロア情報を有する精細ユーザロケーションをレポートし得る。
【００３５】
LBSサーバ端末からプッシュ型メッセージを受信した後に、ARクライアント端末は、プッシュ型メッセージ(例えば、仮想データは、商店宣伝情報を含む)において搬送される仮想データを処理し、ARクライアント端末内のフォアグラウンドARエンジンを使用して仮想データに対する可視化レンダリングを行い得る。ARクライアント端末は、レンダリングされた仮想データをユーザの視界におけるARクライアント端末によってキャプチャされたリアルタイムシーン画像と重ね合わせ、ユーザに拡張画像を表示し得る。例えば、ARクライアント端末によってキャプチャされたリアルタイムシーン画像を画像認識技法を使用して分析することができ、画像中の商店を識別する。ARクライアント端末は、各識別された商店のための対応する宣伝情報を重ね合わせ得る。
【００３６】
いくつかの実施形態においては、精細ユーザロケーションは、AR端末にインストールされた他のアプリケーション、またはAR端末に近接しているユーザのデバイスにインストールされたアプリケーションによって使用され得る。例えば、精細ユーザロケーションを決定した後に、ARクライアント端末は、ARクライアント端末に近接しているユーザのモバイル端末に精細ユーザロケーションを送信し得る。精細ユーザロケーション情報は、例えば、アプリケーションプログラミングインターフェース(API)を介して、モバイル端末上のアプリケーションによって使用され得る。例として、モバイル端末にインストールされたソーシャルアプリケーションは、フロア情報を含む精細ユーザロケーションを受信するとともにリアルタイムでユーザの友人と本精細ロケーションを共有するためにAPIを呼び出し得る。いくつかのケースにおいては、地図アプリケーションまたはナビゲーションアプリケーションは、より望ましいナビゲーションのために精細ユーザロケーションを使用し得る。
【００３７】
図3は、本開示の実施形態による、ARに基づいたユーザロケーション決定のための装置300の例を図示しているブロック図である。装置300は、ARクライアント端末に含まれ得る。装置300は、撮影モジュール301、マッチングモジュール302、獲得モジュール303、および補正モジュール304を含み得る。装置300は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組合せで実装され得る。
【００３８】
撮影モジュール301は、ユーザの視界におけるシーン画像をキャプチャするように構成される。マッチングモジュール302は、キャプチャされたシーン画像とシーン画像セット中の画像との間で画像マッチングを行うように構成される、ここで、シーン画像セット中の各画像は、例えば、フロア情報を含む、精密ロケーションを用いてマークが付けられる。獲得モジュール303は、キャプチャされたシーン画像がシーン画像セット中のシーン画像と一致していることに応答して、一致画像のロケーションを決定するように構成される。補正モジュール304は、シーン画像セット中の一致画像についてマークが付けられたロケーションに基づいてユーザのためのロケーションを精細化するように構成される。
【００３９】
いくつかの実施形態においては、マッチングモジュール302はまた、ARクライアント端末に近接しているモバイル端末によって決定されたユーザのための粗大ロケーションを識別するように構成される。ARクライアント端末がシーン画像セットを生成するスケースにおいては、マッチングモジュール302は、バックグラウンドサーバ端末から、ロケーションが粗大ユーザロケーションから閾値距離以内にあるシーン画像をダウンロードするようにさらに構成される。マッチングモジュール302は、ダウンロードした画像に基づいてシーン画像セットを生成し、キャプチャされたシーン画像とシーン画像セット中の各画像との間で画像マッチングを実行するように構成される。バックグラウンドサーバ端末がシーン画像セットを生成するケースにおいては、マッチングモジュール302は、バックグラウンドサーバ端末が粗大ユーザロケーションに基づいてシーン画像セットを生成し得るように、バックグラウンドサーバ端末にキャプチャされたシーン画像および粗大ユーザロケーションをレポートするように構成される。バックグラウンドサーバ端末は、キャプチャされたシーン画像とシーン画像セット中の各画像との間で画像マッチングを実行する。
【００４０】
いくつかの実施形態においては、装置300はまた、アップロードモジュールおよび受信モジュール(図3には図示せず)を含む。アップロードモジュールは、LBSサーバ端末にユーザのための精細ロケーションをレポートするように構成される。受信モジュールは、LBSサーバ端末から仮想データを含むプッシュ型メッセージを受信するように構成される。
【００４１】
図4は、本開示の実施形態による、ARに基づいたユーザロケーション決定のためのハードウェア機構400の例を図示しているブロック図である。ハードウェア機構400は、図3中の装置300を含み得る。ハードウェア機構400は、CPU401、ネットワークインターフェース403、メモリ404、および不揮発性ストレージデバイス406を含み得る。ハードウェア機構400はまた、CPU401、ネットワークインターフェース403、メモリ404、および不揮発性ストレージデバイス406を接続している内部バス402を含む。メモリ404は、ARに基づいたユーザロケーション決定のための装置405を含み得る。装置300がソフトウェアで実装されている場合には、装置405は装置300であり得るし、CPU401はメモリ404にロードされた装置405のコードを実行し得る。
【００４２】
図5は、本開示の実施形態による、説明したアルゴリズム、方法、関数、プロセス、フロー、および手順に関連する計算機能性を提供するために使用される、コンピュータ実施システム500の例を図示しているブロック図である。図示した実施形態においては、システム500は、コンピュータ502およびネットワーク530を含む。
【００４３】
図示したコンピュータ502は、コンピューティングデバイスの物理もしくは仮想インスタンス、またはコンピューティングデバイスの物理もしくは仮想インスタンスの組合せを含む、サーバ、デスクトップコンピュータ、ラップトップ/ノードブックコンピュータ、無線データポート、スマートフォン、携帯情報端末(PDA)、タブレットコンピューティングデバイス、AR端末、これらのデバイス内の1つまたは複数のプロセッサ、別のコンピューティングデバイス、またはコンピューティングデバイスの組合せなどといった、任意のコンピューティングデバイスを含むことを意図している。加えて、コンピュータ502は、ユーザ情報を受け取ることができる、キーパッド、キーボード、タッチスクリーン、別の入力デバイス、または入力デバイスの組合せなどの入力デバイスと、グラフィカルタイプのユーザインターフェース(UI)(またはGUI)または他のUI上に、デジタルデータ、視覚、オーディオ、別のタイプの情報、または複数のタイプの情報の組合せを含む、コンピュータ502の動作に関連する情報を伝達する出力デバイスとを含む、コンピュータを含み得る。
【００４４】
コンピュータ502は、本開示において説明した発明特定事項を行うためのクライアント、ネットワークコンポーネント、サーバ、データベースもしくは別の持続性手段、別の役割、または役割の組合せとして分散コンピューティングシステムにおける役割を果たし得る。図示したコンピュータ502は、ネットワーク530と通信可能なように結合される。いくつかの実施形態においては、コンピュータ502の1つまたは複数のコンポーネントは、クラウドコンピューティングベース、ローカル、グローバル、別の環境、または環境の組合せを含む、環境内で動作するように構成され得る。
【００４５】
高次においては、コンピュータ502は、説明した発明特定事項に関連するデータおよび情報を受信、送信、処理、記憶、または管理するように動作可能な電子コンピューティングデバイスである。いくつかの実施形態によれば、コンピュータ502はまた、アプリケーションサーバ、電子メールサーバ、ウェブサーバ、キャッシュサーバ、ストリーミングデータサーバ、別のサーバ、またはサーバの組合せを含む、サーバを含み得るまたはそのようなサーバと通信可能なように結合され得る。
【００４６】
コンピュータ502は、(例えば、別のコンピュータ502上で動作しているクライアントソフトウェアアプリケーションから)ネットワーク530を介して要求を受信し、ソフトウェアアプリケーションまたはソフトウェアアプリケーションの組合せを使用して受信した要求を処理することによって受信した要求に応答する。加えて、要求はまた、内部ユーザから(例えば、コマンドコンソールからまたは別の内部アクセス方法によって)、外部もしくはサードパーティ、または他のエンティティ、個人、システム、もしくはコンピュータからコンピュータ502に送信され得る。
【００４７】
コンピュータ502のコンポーネントの各々は、システムバス503を使用して通信し得る。いくつかの実施形態においては、ハードウェア、ソフトウェア、またはハードウェアの組合せおよびソフトウェアを含む、コンピュータ502のコンポーネントのいずれかまたはすべては、API512、サービスレイヤ513、またはAPI512とサービスレイヤ513との組合せを使用してシステムバス503を介したインターフェースで接続している。API512は、ルーチン、データ構造、およびオブジェクトクラスのための仕様を含み得る。API512は、コンピュータ言語的に独立したものか依存したもののいずれかであり得るし、インターフェース全体、単一の機能、またはAPIのセットさえも指し得る。サービスレイヤ513は、コンピュータ502またはコンピュータ502に通信可能なように結合されている他のコンポーネント(図示していてもいなくても)にソフトウェアサービスを提供する。コンピュータ502の機能性は、このサービスレイヤを使用してすべてのサービス顧客に対してアクセス可能となり得る。サービスレイヤ513によって提供されているものなどといった、ソフトウェアサービスは、所定のインターフェースを介して再利用可能な所定の機能性を提供している。例えば、インターフェースは、拡張マークアップ言語(XML)フォーマット、別のフォーマット、またはフォーマットの組合せでデータを提供する、JAVA(登録商標)、C++、別のコンピューティング言語、またはコンピューティング言語の組合せで書かれたソフトウェアであり得る。コンピュータ502の統合されたコンポーネントとして図示しているが、代替の実施形態では、コンピュータ502の他のコンポーネントまたはコンピュータ502に通信可能なように結合されている他のコンポーネント(図示していてもいなくても)に関連するスタンドアロンコンポーネントとしてAPI512またはサービスレイヤ513を図示することもできる。さらに、API512またはサービスレイヤ513の任意またはすべてのパーツを、本開示の範囲から逸脱しない限り、別のソフトウェアモジュールの子モジュールまたはサブモジュール、企業アプリケーション、またはハードウェアモジュールとして実装し得る。
【００４８】
コンピュータ502は、インターフェース504を含む。図5では単一のインターフェース504として図示しているが、2つ以上のインターフェース504が、特定のニーズ、要望、またはコンピュータ502の特定の実施形態に従って使用され得る。インターフェース504は、分散環境におけるネットワーク530と通信可能なようにリンクしている別のコンピューティングシステム(図示していてもいなくても)と通信するためにコンピュータ502によって使用される。一般的に、インターフェース504は、ネットワーク530と通信するように動作可能であり、ソフトウェアで符号化されたロジック、ハードウェア、またはソフトウェアとハードウェアとの組合せを含む。より詳細には、インターフェース504は、ネットワーク530またはインターフェースのハードウェアが図示したコンピュータ502の内部および外部の物理信号を通信するように動作可能となるように、通信に関連する1つまたは複数の通信プロトコルをサポートするソフトウェアを含み得る。
【００４９】
コンピュータ502は、プロセッサ505を含む。図5では単一のプロセッサ505として図示しているが、2つ以上のプロセッサが、特定のニーズ、要望、またはコンピュータ502の特定の実施形態に従って使用され得る。一般的に、プロセッサ505は、命令を実行し、データを操作してコンピュータ502の動作および本開示において説明したような任意のアルゴリズム、方法、関数、プロセス、フロー、および手順を行う。
【００５０】
コンピュータ502はまた、コンピュータ502のためのデータ、ネットワーク530(図示していてもいなくても)と通信可能なようにリンクされた別のコンポーネント、またはコンピュータ502と別のコンポーネントとの組合せを保持し得る、データベース506を含む。例えば、データベース506は、本開示と矛盾しない、データを記憶しているインメモリ、従来型、または別のタイプのデータベースであり得る。いくつかの実施形態においては、データベース506は、特定のニーズ、要望、またはコンピュータ502の特定の実施形態およびその説明した機能性による、2つ以上の異なるデータベースタイプ(例えば、インメモリおよび従来型データベースのハイブリッド)の組合せであり得る。図5では単一のデータベース506として図示しているが、同一または異なるタイプの2つ以上のデータベースが、特定のニーズ、要望、またはコンピュータ502の特定の実施形態およびその説明した機能性に従って使用され得る。データベース506をコンピュータ502の統合コンポーネントとして図示しているが、代替の実施形態においては、データベース506はコンピュータ502の外部に存在し得る。図示しているように、データベース506は、上記で説明したシーン画像516を保持している。
【００５１】
コンピュータ502はまた、コンピュータ502のためのデータ、ネットワーク530(図示していてもいなくても)と通信可能なようにリンクされた別のコンポーネントもしくはコンポーネント、またはコンピュータ502と別のコンポーネントとの組合せを保持し得る、メモリ507を含む。メモリ507は、本開示と矛盾しない任意のデータを記憶し得る。いくつかの実施形態においては、メモリ507は、特定のニーズ、要望、またはコンピュータ502の特定の実施形態およびその説明した機能性による、2つ以上の異なるタイプのメモリ(例えば、半導体と磁気ストレージとの組合せ)の組合せであり得る。図5では単一のメモリ507として図示しているが、同一もしくは異なるタイプの2つ以上のメモリ507が、特定のニーズ、要望、またはコンピュータ502の特定の実施形態およびその説明した機能性に従って使用され得る。メモリ507をコンピュータ502の統合コンポーネントとして図示しているが、代替の実施形態においては、メモリ507はコンピュータ502の外部に存在し得る。
【００５２】
アプリケーション508は、本開示において説明した機能性に特に関連する、特定のニーズ、要望、またはコンピュータ502の特定の実施形態に従って機能性を提供する、アルゴリズムに関するソフトウェアエンジンである。例えば、アプリケーション508は、1つまたは複数のコンポーネント、モジュール、またはアプリケーションとして機能を果たし得る。さらに、単一のアプリケーション508として図示しているが、アプリケーション508は、コンピュータ502上の複数のアプリケーション508として実装され得る。加えて、コンピュータ502に統合されているものとして図示しているが、代替の実施形態においては、アプリケーション508は、コンピュータ502の外部に存在し得る。
【００５３】
コンピュータ502はまた、電源514を含み得る。電源514は、ユーザ交換可能または非ユーザ交換可能のいずれかとなるように構成され得る、再充電可能または非再充電可能バッテリを含み得る。いくつかの実施形態においては、電源514は、(再充電、スタンバイ、または別の電力管理機能性を含む)電力変換または管理回路を含み得る。いくつかの実施形態においては、電源514は、例えば、コンピュータ502に電力供給するまたは再充電可能バッテリを再充電するために、コンピュータ502が壁のソケットまたは別の電源に差し込むことを可能にする電源プラグを含み得る。
【００５４】
各コンピュータ502がネットワーク530を介して通信する、コンピュータ502を含むコンピュータシステムに関連するまたは外部にある任意の数のコンピュータ502が存在する。さらに、「クライアント」、「ユーザ」という用語、または他の適切な専門用語が、本開示の範囲から逸脱しない限り、必要に応じて、相互交換可能に使用され得る。さらに、本開示は、多くのユーザが1つのコンピュータ502を使用し得ること、または、1人のユーザが複数のコンピュータ502を使用し得ることを考慮している。
【００５５】
発明特定事項の説明した実施形態は、単独または組合せで1つまたは複数の特徴を含み得る。
【００５６】
例えば、第1の実施形態においては、コンピュータ実施方法は、ARクライアント端末において、ユーザのロケーションについての初期ロケーション情報を識別するステップと、ユーザのロケーションに関連付けられたシーン画像をキャプチャするステップと、キャプチャされたシーン画像とシーン画像セット中のシーン画像との間で画像マッチングを行うステップであって、シーン画像セットは、初期ロケーション情報に基づいて生成され、シーン画像セット中の各シーン画像は、詳細ロケーション情報に関連付けられている、ステップと、キャプチャされたシーン画像がシーン画像セット中の特定のシーン画像と一致していることに応答して、特定のシーン画像の詳細ロケーション情報に基づいてユーザのロケーションについての精細ロケーション情報を決定するステップとを含む。
【００５７】
前述および他の説明した実施形態は各々、必要に応じて、以下の特徴の1つまたは複数を含み得る。
【００５８】
下記の特徴のいずれかと組み合わせることが可能な第1の特徴としては、初期ロケーション情報は、平面ロケーション情報を表し、精細ロケーション情報は、高度情報を含む。
【００５９】
上記または下記の特徴のいずれかと組み合わせることが可能な第2の特徴としては、初期ロケーション情報は、ARクライアント端末に近接しているモバイル端末のGPSを使用して生成される。
【００６０】
上記または下記の特徴のいずれかと組み合わせることが可能な第3の特徴としては、ARクライアント端末は、バックグラウンドサーバ端末に初期ロケーション情報をレポートする。
【００６１】
上記または下記の特徴のいずれかと組み合わせることが可能な第4の特徴としては、ARクライアント端末は、初期ロケーション情報に基づいてバックグラウンドサーバ端末からシーン画像セットをダウンロードする。
【００６２】
上記または下記の特徴のいずれかと組み合わせることが可能な第5の特徴としては、LBSサーバ端末に精細ロケーション情報をレポートするステップと、精細ロケーション情報に基づいてLBSサーバ端末から仮想データを含むプッシュ型メッセージを受信するステップとをさらに含む。
【００６３】
上記または下記の特徴のいずれかと組み合わせることが可能な第6の特徴としては、ARクライアント端末は、プッシュ型メッセージ中の仮想データとARクライアント端末によってスキャンされたリアルタイムシーン画像とを組み合わせることによって、ユーザに拡張シーン画像を表示する。
【００６４】
第2の実施形態においては、動作を行うようにコンピュータシステムによって実行可能な1つまたは複数の命令を記憶している非一時的コンピュータ可読媒体であって、動作は、ARクライアント端末において、ユーザのロケーションについての初期ロケーション情報を識別するステップと、ユーザのロケーションに関連付けられたシーン画像をキャプチャするステップと、キャプチャされたシーン画像とシーン画像セット中のシーン画像との間で画像マッチングを行うステップであって、シーン画像セットは、初期ロケーション情報に基づいて生成され、シーン画像セット中の各シーン画像は、詳細ロケーション情報に関連付けられている、ステップと、キャプチャされたシーン画像がシーン画像セット中の特定のシーン画像と一致していることに応答して、特定のシーン画像の詳細ロケーション情報に基づいてユーザのロケーションについての精細ロケーション情報を決定するステップとを含む。
【００６５】
前述および他の説明した実施形態の各々は、必要に応じて、以下の特徴の1つまたは複数を含み得る。
【００６６】
下記の特徴のいずれかと組み合わせることが可能な第1の特徴としては、初期ロケーション情報は、平面ロケーション情報を表し、精細ロケーション情報は、高度情報を含む。
【００６７】
上記または下記の特徴のいずれかと組み合わせることが可能な第2の特徴としては、初期ロケーション情報は、ARクライアント端末に近接しているモバイル端末のGPSを使用して生成される。
【００６８】
上記または下記の特徴のいずれかと組み合わせることが可能な第3の特徴としては、ARクライアント端末は、バックグラウンドサーバ端末に初期ロケーション情報をレポートする。
【００６９】
上記または下記の特徴のいずれかと組み合わせることが可能な第4の特徴としては、ARクライアント端末は、初期ロケーション情報に基づいてバックグラウンドサーバ端末からシーン画像セットをダウンロードする。
【００７０】
上記または下記の特徴のいずれかと組み合わせることが可能な第5の特徴としては、動作は、LBSサーバ端末に精細ロケーション情報をレポートするステップと、精細ロケーション情報に基づいてLBSサーバ端末から仮想データを含むプッシュ型メッセージを受信するステップとをさらに含む。
【００７１】
上記または下記の特徴のいずれかと組み合わせることが可能な第6の特徴としては、ARクライアント端末は、プッシュ型メッセージ中の仮想データとARクライアント端末によってスキャンされたリアルタイムシーン画像とを組み合わせることによって、ユーザに拡張シーン画像を表示する。
【００７２】
第3の実施形態においては、コンピュータ実施システムは、1つまたは複数のコンピュータと、1つまたは複数のコンピュータと相互運用可能なように結合されるとともに、1つまたは複数の命令を記憶する有形非一時的機械可読媒体を有する、1つまたは複数のコンピュータメモリデバイスとを含み、前期命令は、1つまたは複数のコンピュータによって実行されると、ARクライアント端末において、ユーザのロケーションについての初期ロケーション情報を識別するステップと、ユーザのロケーションに関連付けられたシーン画像をキャプチャするステップと、キャプチャされたシーン画像とシーン画像セット中のシーン画像との間で画像マッチングを行うステップであって、シーン画像セットは、初期ロケーション情報に基づいて生成され、シーン画像セット中の各シーン画像は、詳細ロケーション情報に関連付けられている、ステップと、キャプチャされたシーン画像がシーン画像セット中の特定のシーン画像と一致していることに応答して、特定のシーン画像の詳細ロケーション情報に基づいてユーザのロケーションについての精細ロケーション情報を決定するステップとを含む、1つまたは複数の動作を行う。
【００７３】
前述および他の説明した実施形態の各々は、必要に応じて、以下の特徴の1つまたは複数を含み得る。
【００７４】
下記の特徴のいずれかと組み合わせることが可能な第1の特徴としては、初期ロケーション情報は、平面ロケーション情報を表し、精細ロケーション情報は、高度情報を含む。
【００７５】
上記または下記の特徴のいずれかと組み合わせることが可能な第2の特徴としては、初期ロケーション情報は、ARクライアント端末に近接しているモバイル端末のGPSを使用して生成される。
【００７６】
上記または下記の特徴のいずれかと組み合わせることが可能な第3の特徴としては、ARクライアント端末は、バックグラウンドサーバ端末に初期ロケーション情報をレポートする。
【００７７】
上記または下記の特徴のいずれかと組み合わせることが可能な第4の特徴としては、ARクライアント端末は、初期ロケーション情報に基づいてバックグラウンドサーバ端末からシーン画像セットをダウンロードする。
【００７８】
上記または下記の特徴のいずれかと組み合わせることが可能な第5の特徴としては、1つまたは複数の動作は、LBSサーバ端末に精細ロケーション情報をレポートするステップと、精細ロケーション情報に基づいてLBSサーバ端末から仮想データを含むプッシュ型メッセージを受信するステップとをさらに含む。
【００７９】
本明細書において説明した発明特定事項および機能動作の実施形態は、本明細書において開示した構造およびそれらの構造的均等物を含む、デジタル電子回路の形で、有形に具現化されたコンピュータソフトウェアまたはファームウェアの形で、コンピュータハードウェアの形で、またはそれらの組合せのうちの1つまたは複数で実装され得る。説明した発明特定事項のソフトウェア実施形態は、1つまたは複数のコンピュータプログラムとして実装され得る、すなわち、データ処理装置による実行のためにまたはデータ処理装置の動作を制御する実行のために有形非一時的コンピュータ可読コンピュータ記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。あるいは、または加えて、プログラム命令は、データ処理装置による実行のために受信機装置への伝送のための情報を符号化するために生成された、例えば、機械生成された電気、光学、または電磁気信号といった、人為的に生成した伝搬信号内に/上に符号化され得る。コンピュータ記憶媒体は、機械可読ストレージデバイス、機械可読ストレージ回路基板、ランダムもしくはシリアルアクセスメモリデバイス、またはコンピュータ記憶媒体の組合せであり得る。1つまたは複数のコンピュータを構成するということは、ソフトウェアが1つまたは複数のコンピュータによって実行される際に、特定のコンピューティング動作が行われるように、1つまたは複数のコンピュータがハードウェア、ファームウェア、もしくはソフトウェア(またはハードウェア、ファームウェア、およびソフトウェアの組合せ)を導入済みであることを意味する。
【００８０】
「リアルタイム」、「実時間」、「即時」、「リアル(ファスト)タイム(RFT)」、「ニアリアルタイム(NRT)」、「擬似リアルタイム」という用語、または(当業者によって理解されているような)同様の用語は、アクションとレスポンスとが実質的に同時に生じたと個人が知覚するようにアクションとレスポンスとが時間的にほぼ同時となっていることを意味している。例えば、データにアクセスする個人のアクションを受けてのデータの表示に対するレスポンスについての(または表示の開始についての)時間差は、1ミリ秒(ms)未満、1秒未満、または5秒未満であり得る。要求されたデータを、即座に表示する(または表示について開始する)必要はないが、説明したコンピューティングシステムの処理限界と、例えば、データを、収集、正確に評価、分析、処理、記憶、または送信するのに必要な時間とを考慮しつつも、いかなる意図的な遅延もなく表示する(または表示について開始する)。
【００８１】
「データ処理装置」、「コンピュータ」、または「電子コンピュータデバイス」という用語(または当業者によって理解されるような均等物)は、データ処理ハードウェアを指し、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、あらゆる種類のデータを処理するための装置、デバイス、およびマシンを含む。装置はまた、特殊用途ロジック回路、例えば、中央処理ユニット(CPU)、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)であり得るまたはさらに含み得る。いくつかの実施形態においては、データ処理装置もしくは特殊用途ロジック回路(またはデータ処理装置もしくは特殊用途ロジック回路の組合せ)は、ハードウェアベースまたはソフトウェアベース(またはハードウェアベースおよびソフトウェアベースの両方の組合せ)であり得る。装置は、必要に応じて、コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、または実行環境の組合せを構成するコードを含み得る。本開示は、例えば、LINUX、UNIX(登録商標)、WINDOWS(登録商標)、MAC OS、ANDROID(登録商標)、IOS、別のオペレーティングシステム、またはオペレーティングシステムの組合せといった、いくつかのタイプのオペレーティングシステムを有するデータ処理装置の使用を考慮している。
【００８２】
プログラム、ソフトウェア、ソフトウェアアプリケーション、ユニット、モジュール、ソフトウェアモジュール、スクリプト、コード、または他のコンポーネントとも称し得るまたは記載され得る、コンピュータプログラムは、コンパイル型もしくはインタプリタ型言語、または宣言型もしくは手続き型言語を含む、任意の形式のプログラミング言語で書かれ得るし、コンピューティング環境において使用するために、例えば、スタンドアロンプログラム、モジュール、コンポーネント、またはサブルーチンとして、といったことを含む任意の形式で、デプロイされ得る。コンピュータプログラムは、ファイルシステム内のファイルに対応し得るが、必ずしも必要ではない。プログラムは、例えば、マークアップ言語ドキュメントに記憶されている1つまたは複数のスクリプトといった、他のプログラムまたはデータを保持するファイルの一部に、当該のプログラム専用の単一のファイルに、または、例えば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイルといった、複数の協調ファイルに、記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1つのサイトに位置しもしくは複数のサイトわたって分散され、通信ネットワークによって相互接続された、複数のコンピュータ上で、実行されるようにデプロイされ得る。
【００８３】
様々な図に示したプログラムの部分は、様々なオブジェクト、方法、または他のプロセスを使用して説明した特徴および機能性を実施する、ユニットまたはモジュールなどの、個々のコンポーネントであり得る一方で、プログラムは、必要に応じて、代わりに、多数のサブユニット、サブモジュール、サードパーティサービス、コンポーネント、ライブラリ、および他のコンポーネントを含み得る。反対に、様々なコンポーネントの特徴および機能性は、必要に応じて、単一のコンポーネントに組合され得る。計算による決定を行うために使用される閾値は、静的に、動的に、または静的および動的の両方で決定され得る。
【００８４】
説明した方法、プロセス、またはロジックフローは、本開示と矛盾しない機能性の1つまたは複数の例を表し、開示を説明または図示した実施形態に限定することを意図しておらず、説明した原理および特徴と矛盾しない最大の範囲として扱われるべきである。説明した方法、プロセス、またはロジックフローは、入力データを操作して出力データを生成することによって機能を行うように1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルコンピュータによって行われ得る。方法、プロセス、またはロジックフローはまた、例えば、CPU、FPGA、またはASICといった、特殊用途ロジック回路によって行われ得るし、装置はまた、そのような特殊用途ロジック回路として実装され得る。
【００８５】
コンピュータプログラムの実行のためのコンピュータは、汎用または特殊用途マイクロプロセッサ、その両方、または別のタイプのCPUに基づき得る。一般的に、CPUは、命令およびデータをメモリから受信しメモリに書き込むことになる。コンピュータの必須の要素は、命令を行うまたは実行するためのCPUと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般的に、コンピュータはまた、例えば、磁気、光磁気ディスク、または光ディスクといった、データを記憶するための1つまたは複数のマスストレージデバイスを含むことになる、または、そのようなマスストレージデバイスからデータを受信もしくはそのようなマスストレージデバイスにデータを送信もしくはその両方を行うことが動作可能なように結合されることになる。ただし、コンピュータは、そのようなデバイスを必ずしも有する必要はない。さらに、コンピュータは、例えば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルメモリストレージデバイスといった、別のデバイスに組み込まれ得る。
【００８６】
コンピュータプログラム命令およびデータを記憶するための非一時的コンピュータ可読媒体は、例として、例えば、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、消去可能プログラマブルリードオンリーメモリ(EPROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、およびフラッシュメモリデバイスといった、半導体メモリデバイスと、例えば、テープ、カートリッジ、カセット、内部/リムーバブルディスクといった、磁気デバイスと、光磁気ディスクと、例えば、デジタルビデオディスク(DVD)、CD ROM、DVD+/-R、DVD-RAM、DVD-ROM、HD-DVD、およびBLURAYといった、光学メモリデバイスと、他の光学メモリ技術とを含む、すべての形式の永続的/非永続的または揮発性/不揮発性メモリ、メディア、およびメモリデバイスを含み得る。メモリは、キャッシュ、クラス、フレームワーク、アプリケーション、モジュール、バックアップデータ、ジョブ、ウェブページ、ウェブページテンプレート、データ構造、データベーステーブル、動的情報を記憶するリポジトリ、または、任意のパラメータ、変数、アルゴリズム、命令、ルール、制約、もしくは参照を含む、他の適切な情報を含む、様々なオブジェクトまたはデータを記憶し得る。加えて、メモリは、ログ、ポリシー、セキュリティもしくはアクセスデータ、または報告ファイルなどといった、他の適切なデータを含み得る。プロセッサおよびメモリは、特殊用途ロジック回路によって補完され得る、またはそれに組み込まれ得る。
【００８７】
ユーザとのインタラクションを提供するために、本明細書において説明した発明特定事項の実施形態は、ユーザに情報を表示するための、例えば、CRT(陰極線管)、LCD(液晶ディスプレイ)、LED(発光ダイオード)、またはプラズマモニタといった、表示デバイスと、ユーザがコンピュータに入力を提供することを可能にする、例えば、マウス、トラックボール、またはトラックパッドといった、キーボードおよびポインティングデバイスとを有するコンピュータ上で実施され得る。入力はまた、感圧性のタブレットコンピュータサーフェスなどのタッチスクリーン、静電容量式もしくは電気式センシングを使用するマルチタッチスクリーン、または別のタイプのタッチスクリーンを使用して、コンピュータに提供され得る。他のタイプのデバイスは、ユーザとやりとりするために使用され得る。例えば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック(視覚、聴覚、触覚、またはフィードバックタイプの組合せなど)であり得る。ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信され得る。加えて、コンピュータは、ユーザによって使用されるクライアントコンピューティングデバイスにドキュメントを送信することおよびそのようなクライアントコンピューティングデバイスからドキュメントを受信することによって(例えば、ユーザのモバイルコンピューティングデバイス上のウェブブラウザから受信した要求に応答してウェブブラウザにウェブページを送信することによって)、ユーザとやりとりし得る。
【００８８】
「グラフィックユーザインターフェース」または「GUI」という用語は、1つまたは複数のグラフィックユーザインターフェースおよび特定のグラフィックユーザインターフェースのディスプレイの各々を説明するために単数形または複数形で使用され得る。したがって、GUIは、情報を処理してユーザにその情報の結果を効率的に提示する、ウェブブラウザ、タッチスクリーン、またはコマンドラインインターフェース(CLI)を含むがそれらに限定されない、任意のグラフィックユーザインターフェースを表し得る。一般に、GUIは、複数のユーザインターフェース(UI)要素を含み得るし、その一部またはすべては、インタラクティブフィールド、プルダウンリスト、およびボタンなどといった、ウェブブラウザに関連付けられる。これらのおよび他のUI要素は、ウェブブラウザの機能に関連し得るまたは表し得る。
【００８９】
本明細書において説明した発明特定事項の実施形態は、例えば、データサーバのような、バックエンドコンポーネントを含む、または、例えば、アプリケーションサーバといった、ミドルウェアコンポーネントを含む、または、例えば、ユーザが本明細書において説明した発明特定事項の実施形態とやり取りすることを可能にするグラフィックユーザインターフェースまたはWebブラウザを有するクライアントコンピュータといった、フロントエンドコンポーネントを含む、または、1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムの形式で実装され得る。システムのコンポーネントは、例えば、通信ネットワークといった、任意の形式または媒体の有線もしくは無線デジタルデータ通信(またはデータ通信の組合せ)によって相互接続され得る。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(WIMAX)、例えば、802.11a/b/g/nもしくは802.20(または、802.11xと802.20との組合せもしくは本開示と矛盾しない他のプロトコル)を使用する無線ローカルエリアネットワーク(WLAN)、インターネット、別の通信ネットワーク、または通信ネットワークの組合せのすべてまたは一部を含む。通信ネットワークは、ネットワークノード間で、例えば、インターネットプロトコル(IP)のパケット、フレームリレーのフレーム、非同期転送モード(ATM)のセル、音声、ビデオ、データ、または他の情報を用いて通信し得る。
【００９０】
コンピューティングシステムは、クライアントとサーバとを含み得る。クライアントとサーバとは、一般的に互いにリモートにあり、通常は通信ネットワークを介してやりとりする。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し互いにクライアントサーバ関係を有するコンピュータプログラムによって生まれる。
【００９１】
本明細書は多くの特定の実施形態詳細を含んでいるが、これらを、任意の発明の範囲または主張することができる範囲に対する制限として解釈すべきではなく、むしろ特定の発明の特定の実施形態に固有のものであり得る特徴の説明として解釈すべきである。別個の実施形態に即して本明細書において説明したある特徴もまた、組み合わせてまたは単一の実施形態で実施され得る。反対に、単一の実施形態に即して説明した様々な特徴もまた、複数の実施形態で、別々に、または任意のサブコンビネーションで実施され得る。さらに、上記で説明した特徴をある組合せで動作するものとして説明することはできるが、たとえ最初はそのように主張していたとしても、いくつかのケースにおいては、主張した組合せのうちの1つまたは複数の特徴を組合せから削除し得るし、主張した組合せをサブコンビネーションまたはサブコンビネーションの変形とし得る。
【００９２】
発明特定事項の特定の実施形態を説明してきた。説明した実施形態の他の実施、変更、および置換も、当業者には明らかなように、以下の特許請求の範囲の範囲内にある。動作を特定の順序で図面または特許請求の範囲を説明しているが、このことを、示した特定の順序でもしくは一連の順序でそのような動作を行う必要があると理解すべきではないし、または、望ましい結果を得るために図示した動作のすべてを行う必要があると理解すべきではない(一部の動作はオプションとみなし得る)。ある環境においては、マルチタスク処理または並列処理(またはマルチタスク処理と並列処理との組合せ)が、有利であり得るし、適切とみなされる場合には行われ得る。
【００９３】
さらに、上記で説明した実施形態における様々なシステムモジュールおよびコンポーネントの分離または集積が、すべての実施形態においてそのような分離または集積を必要とすると理解すべきではなく、説明したプログラムコンポーネントおよびシステムは一般的に単一のソフトウェア製品に一緒に統合され得るまたは複数のソフトウェア製品にパッケージ化され得ると理解されたい。
【００９４】
それゆえ、上記で説明した例示的な実施形態は、本開示を定義または制約するものではない。他の変化、置換、および変更もまた、本開示の精神および範囲から逸脱しない限り可能である。
【００９５】
さらに、任意の主張した実施形態は、少なくともコンピュータ実施方法と、コンピュータ実施方法を行うコンピュータ可読命令を記憶している非一時的コンピュータ可読媒体と、コンピュータ実施方法または非一時的コンピュータ可読媒体に記憶された命令を行うように構成されるハードウェアプロセッサと相互運用可能なように結合されたコンピュータメモリを含む、コンピュータシステムとに適用可能となるとみなす。
【符号の説明】
【００９６】
300  拡張現実に基づいたユーザロケーション決定装置
301  撮影モジュール
302  マッチングモジュール
303  獲得モジュール
304  補正モジュール
402  内部バス
403  ネットワークインターフェース
404  メモリ
405  拡張現実に基づいたユーザロケーション決定装置
406  不揮発性メモリ
502  コンピュータ
504  インターフェース
505  プロセッサ
506  データベース
507  メモリ
508  アプリケーション
513  サービスレイヤ
514  電源
516  シーン画像
530  ネットワーク
【図１】
0006934047.tif 000002
【図２】
0006934047.tif 000003
【図３】
0006934047.tif 000004
【図４】
0006934047.tif 000005
【図５】
0006934047.tif 000006