(57)【要約】  例示的な方法、装置およびシステムは、ユーザまたはデバイスのコンテキストを推測する。コンピュータビジョンパラメータは、推測したコンテキストに応じて構成される。構成されたコンピュータビジョンパラメータに応じてコンピュータビジョンタスクを行う。コンピュータビジョンタスクは、デバイスの環境の可視的マッピング、デバイスまたはデバイスの環境内のオブジェクトの可視的ローカライズ、またはデバイスの環境内のデバイスの可視的追跡のうち少なくとも1つからなり得る。
2016517575.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータビジョンタスクを実行するための機械実施方法であって、
ユーザまたはデバイスのコンテキストを推測するステップと、
前記推測したコンテキストに応じてコンピュータビジョンタスクを構成するステップと、
前記コンピュータビジョンタスクを実行するステップとを含み、
前記コンピュータビジョンタスクは、
前記デバイスの環境のマッピング、
前記デバイスまたは前記デバイスの前記環境内のオブジェクトのローカライズ、あるいは
前記デバイスの前記環境内の前記デバイスの追跡、
のうち少なくとも1つをさらに含む機械実施方法。
【請求項２】
前記コンテキストを推測するステップはまた、前記ユーザまたはデバイスのコンテキストを推測するためにセンサデータを読み取るステップを含み、
前記センサデータは、Bluetooth(登録商標)センサ、マイクロホン、カメラ、全地球測位センサ(GPS)、WiFi、近接センサ、温度センサ、大気圧(すなわち、圧力)センサ、周辺光センサ(ALS)、赤-緑-青(RGB)カラーセンサ、紫外線(UV)センサ、UV-Aセンサ、UV-Bセンサ、指紋センサ、タッチセンサ、加速度計、ジャイロ、羅針盤、および磁力計のうち1つまたは複数からなる、請求項1に記載の機械実施方法。
【請求項３】
前記コンテキストを推測するステップはまた、前記ユーザまたはデバイスのコンテキストを推測するためにアプリケーションデータを読み取るステップを含み、
前記アプリケーションデータは、カレンダー、ジオタギング、ソーシャルメディアデータ、バッテリ、および時刻のうち1つまたは複数からなる、請求項1に記載の機械実施方法。
【請求項４】
前記コンテキストは、動き、活動、環境、または位置のうち1つまたは複数からなる、請求項1に記載の機械実施方法。
【請求項５】
前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡を構成するステップは、
前記タスクと関連したアルゴリズムのパラメータを選択するステップ、
前記タスクと関連した前記アルゴリズムに入力として以前のモデルを選択するステップ、および
環境定数に基づいて問題を解決するためのアプローチを選択するステップ、
のうち1つまたは複数をさらに含む、請求項1に記載の機械実施方法。
【請求項６】
前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡を構成するステップはまた、
エッジに基づく方法を使用するステップ、
ポイントに基づく方法を使用するステップ、および
矩形に基づく方法を使用するステップ、
のうち1つまたは複数をさらに含む、請求項5に記載の機械実施方法。
【請求項７】
前記コンテキストは、室内のコンテキストを含み、前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡は、前記室内のコンテキストと関連した情報を使用し、整列した矩形の座標系、境界内部場面の寸法、所定のオブジェクト、または室内構造の特徴のうち1つまたは複数とともに使用するために、前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡の構成を修正する、請求項1に記載の機械実施方法。
【請求項８】
前記コンテキストは、室外のコンテキストを含み、前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡は、前記室外のコンテキストと関連した情報を使用し、動的世界モデリング、所定の室外構造の特徴、距離の特徴、パノラマモデル、またはトラッカー、あるいは地面に向けられたカメラからのイメージのうち1つまたは複数とともに使用するために、前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡の構成を修正する、請求項1に記載の機械実施方法。
【請求項９】
前記コンテキストは、混雑したコンテキストを含み、前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡は、前記混雑したコンテキストと関連した情報を使用し、特徴ポイントの計算およびキーフレームレートの向上のうち1つまたは複数とともに使用するために、前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡の構成を修正する、請求項1に記載の機械実施方法。
【請求項１０】
前記コンテキストは、混雑していないコンテキストを含み、前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡は、前記混雑していないコンテキストと関連した情報を使用し、
キーフレームレートの減少、または
ライン、消滅点または矩形のうち1つまたは複数の特徴の使用、
のうち1つまたは複数とともに使用するために、前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡の構成を修正する、請求項1に記載の機械実施方法。
【請求項１１】
前記コンテキストは、興奮コンテキストである際に、前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡は、追跡した特徴の数を増加させ、前記コンテキストが興奮していないコンテキストである際に、前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡は、前記追跡した特徴の数を減少させる、請求項1に記載の機械実施方法。
【請求項１２】
前記コンテキストは、動的コンテキストを含み、前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡は、前記動的コンテキストと関連した情報を使用し、
前記コンテキストが静的と判定される際まで前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡の実行を遅延させ、
動的環境の静的部分をキャプチャするために複数のカメラセンサのうち1つを選択し、前記選択したカメラセンサを使用してコンピュータビジョンを実行すること、
のうち1つまたは複数とともに使用するために、前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡の構成を修正する、請求項1に記載の機械実施方法。
【請求項１３】
前記コンテキストは、位置コンテキスト、環境コンテキスト、活動コンテキスト、および動きコンテキストのうち2つ以上の組合せである、請求項1に記載の機械実施方法。
【請求項１４】
前記コンピュータビジョンに基づくローカライズ、マッピングまたは追跡について、前記推測したコンテキストに基づいた提案されたカメラの方向または視点を提供するステップをさらに含む、請求項1に記載の機械実施方法。
【請求項１５】
データ処理デバイスにコンピュータビジョンタスクを実行するための方法を実行させる実行可能なプログラム命令を含む機械可読非一時的記憶媒体であって、
前記方法は、
ユーザまたはデバイスのコンテキストを推測するステップと、
前記推測したコンテキストに応じてコンピュータビジョンタスクを構成するステップと、
前記コンピュータビジョンタスクを実行するステップとを含み、
前記コンピュータビジョンタスクは、
前記デバイスの環境のマッピング、
前記デバイスまたは前記デバイスの前記環境内のオブジェクトのローカライズ、または
前記デバイスの前記環境内の前記デバイスの追跡、
のうち少なくとも1つを含む機械可読非一時的記憶媒体。
【請求項１６】
前記コンテキストを推測するステップはまた、前記ユーザまたはデバイスのコンテキストを推測するためにセンサデータを読み取るステップを含み、
前記センサデータは、Bluetooth(登録商標)センサ、マイクロホン、カメラ、全地球測位センサ(GPS)、WiFi、近接センサ、温度センサ、大気圧(すなわち、圧力)センサ、周辺光センサ(ALS)、赤-緑-青(RGB)カラーセンサ、紫外線(UV)センサ、UV-Aセンサ、UV-Bセンサ、指紋センサ、タッチセンサ、加速度計、ジャイロ、羅針盤、および磁力計のうち1つまたは複数からなる、請求項15に記載の媒体。
【請求項１７】
前記コンテキストを推測するステップはまた、前記ユーザまたはデバイスのコンテキストを推測するためにアプリケーションデータを読み取るステップを含み、
前記アプリケーションデータは、カレンダー、ジオタギング、ソーシャルメディアデータ、バッテリ、および時刻のうち1つまたは複数からなる、請求項15に記載の媒体。
【請求項１８】
前記コンテキストは、動き、活動、環境、または位置のうち1つまたは複数からなる、請求項15に記載の媒体。
【請求項１９】
前記コンピュータビジョンタスクを構成するステップはまた、
前記タスクと関連したアルゴリズムのパラメータを選択するステップ、
前記タスクと関連した前記アルゴリズムに入力として以前のモデルを選択するステップ、および
環境定数に基づいて問題を解決するためのアプローチを選択するステップ、
のうち1つまたは複数をさらに含む、請求項15に記載の媒体。
【請求項２０】
前記コンピュータビジョンタスクを構成するステップはまた、
エッジに基づく方法を使用するステップ、
ポイントに基づく方法を使用するステップ、および
矩形に基づく方法を使用するステップ、
のうち1つまたは複数をさらに含む、請求項19に記載の媒体。
【請求項２１】
前記コンテキストは、室内のコンテキストを含み、前記コンピュータビジョンタスクは、前記室内のコンテキストと関連した情報を使用し、整列した矩形の座標系、境界内部場面の寸法、所定のオブジェクト、または室内構造の特徴のうち1つまたは複数とともに使用するために、前記コンピュータタスクの構成を修正する、請求項15に記載の媒体。
【請求項２２】
前記コンテキストは、室外のコンテキストを含み、前記コンピュータビジョンタスクは、前記室外のコンテキストと関連した情報を使用し、動的世界モデリング、所定の室外構造の特徴、距離の特徴、パノラマモデル、またはトラッカー、あるいは地面に向けられたカメラからのイメージのうち1つまたは複数とともに使用するために、前記コンピュータタスクの構成を修正する、請求項15に記載の媒体。
【請求項２３】
前記コンテキストは、混雑したコンテキストを含み、前記コンピュータビジョンタスクは、前記混雑したコンテキストと関連した情報を使用し、特徴ポイントの計算およびキーフレームレートの向上のうち1つまたは複数とともに使用するために、前記コンピュータタスクの構成を修正する、請求項15に記載の媒体。
【請求項２４】
前記コンテキストは、混雑していないコンテキストを含み、前記コンピュータビジョンタスクは、前記混雑していないコンテキストと関連した情報を使用し、
キーフレームレートの減少、または
ライン、消滅点または矩形のうち1つまたは複数の特徴の使用、
のうち1つまたは複数とともに使用するために、前記コンピュータタスクの構成を修正する、請求項15に記載の媒体。
【請求項２５】
前記コンテキストは、興奮コンテキストである際に、前記コンピュータビジョンタスクは、追跡した特徴の数を増加させ、前記コンテキストが興奮していないコンテキストである際に、前記コンピュータビジョンタスクは、前記追跡した特徴の数を減少させる、請求項15に記載の媒体。
【請求項２６】
前記コンテキストは、動的コンテキストを含み、前記コンピュータビジョンタスクは、前記動的コンテキストと関連した情報を使用し、
前記コンテキストが静的と判定される際までコンピュータビジョンの実行を遅延させ、
動的環境の静的部分をキャプチャするために複数のカメラセンサのうち1つを選択し、前記選択したカメラセンサを使用してコンピュータビジョンを実行すること、
のうち1つまたは複数とともに使用するために、前記コンピュータタスクの構成を修正する、請求項15に記載の媒体。
【請求項２７】
前記コンテキストは、位置コンテキスト、環境コンテキスト、活動コンテキスト、および動きコンテキストのうち2つ以上の組合せである、請求項15に記載の媒体。
【請求項２８】
前記コンピュータビジョンタスクについて、前記推測したコンテキストに基づいた提案されたカメラの方向または視点を提供することをさらに含む、請求項15に記載の媒体。
【請求項２９】
コンピュータビジョンタスクを実行するシステムであって、
プロセッサ、および
前記プロセッサに結合され、命令を記憶することができる記憶デバイスを含み、
前記命令は、前記プロセッサによって実行される際に、前記プロセッサに、
ユーザまたはデバイスのコンテキストを推測させ、
前記推測したコンテキストに応じてコンピュータビジョンタスクを構成させ、
当該コンピュータビジョンタスクを実行させ、
前記コンピュータビジョンタスクは、
前記デバイスの環境をマッピングするか、
前記デバイスまたは前記デバイスの環境内のオブジェクトをローカライズするか、または
前記デバイスの環境内の前記デバイスを追跡
するようさらに構成されるシステム。
【請求項３０】
前記コンテキストを推測させることはまた、前記ユーザまたはデバイスのコンテキストを推測するためにセンサデータを読み取ることを含み、
前記センサデータは、Bluetooth(登録商標)センサ、マイクロホン、カメラ、全地球測位センサ(GPS)、WiFi、近接センサ、温度センサ、大気圧(すなわち、圧力)センサ、周辺光センサ(ALS)、赤-緑-青(RGB)カラーセンサ、紫外線(UV)センサ、UV-Aセンサ、UV-Bセンサ、指紋センサ、タッチセンサ、加速度計、ジャイロ、羅針盤、および磁力計のうち1つまたは複数からなる、請求項29に記載のシステム。
【請求項３１】
前記コンテキストを推測させることはまた、前記ユーザまたはデバイスのコンテキストを推測するためにアプリケーションデータを読み取ることを含み、
前記アプリケーションデータは、カレンダー、ジオタギング、ソーシャルメディアデータ、および時刻のうち1つまたは複数からなる、請求項29に記載のシステム。
【請求項３２】
前記コンテキストは、動き、活動、環境、または位置のうち1つまたは複数からなる、請求項29に記載のシステム。
【請求項３３】
前記コンピュータビジョンタスクを構成させることは、
前記タスクと関連したアルゴリズムのパラメータを選択する命令、
前記タスクと関連した前記アルゴリズムに入力として以前のモデルを選択する命令、および
環境定数に基づいて問題を解決するためのアプローチを選択する命令、
のうち1つまたは複数の命令をさらに含む、請求項29に記載のシステム。
【請求項３４】
前記コンピュータビジョンタスクを構成させることはまた、
エッジに基づく方法を使用する命令、
ポイントに基づく方法を使用する命令、および
矩形に基づく方法を使用する命令、
のうち1つまたは複数の命令をさらに含む、請求項33に記載のシステム。
【請求項３５】
前記コンテキストは、室内のコンテキストを含み、前記コンピュータビジョンタスクは、前記室内のコンテキストと関連した情報を使用し、整列した矩形の座標系、境界内部場面の寸法、所定のオブジェクト、または室内構造の特徴のうち1つまたは複数とともに使用するために、前記コンピュータタスクを修正する、請求項29に記載のシステム。
【請求項３６】
前記コンテキストは、室外のコンテキストを含み、前記コンピュータビジョンタスクは、前記室外のコンテキストと関連した情報を使用し、動的世界モデリング、所定の室外構造の特徴、距離の特徴、パノラマモデル、またはトラッカー、あるいは地面に向けられたカメラからのイメージのうち1つまたは複数とともに使用するために、前記コンピュータタスクの構成を修正する、請求項29に記載のシステム。
【請求項３７】
前記コンテキストは、混雑したコンテキストを含み、前記コンピュータビジョンタスクは、前記混雑したコンテキストと関連した情報を使用し、特徴ポイントの計算およびキーフレームレートの向上のうち1つまたは複数とともに使用するために、前記コンピュータタスクの構成を修正する、請求項29に記載のシステム。
【請求項３８】
前記コンテキストは、混雑していないコンテキストを含み、前記コンピュータビジョンタスクは、前記混雑していないコンテキストと関連した情報を使用し、
キーフレームレートを減少させるか、または
ライン、消滅点または矩形のうち1つまたは複数の特徴を使用させること、
のうち1つまたは複数の命令とともに使用するために、前記コンピュータタスクの構成を修正する、請求項29に記載のシステム。
【請求項３９】
前記コンテキストは、興奮コンテキストである際に、前記コンピュータビジョンタスクは、追跡した特徴の数を増加させ、前記コンテキストが興奮していないコンテキストである際に、前記コンピュータビジョンタスクは、前記追跡した特徴の数を減少させる、請求項29に記載のシステム。
【請求項４０】
前記コンテキストは、動的コンテキストを含み、前記コンピュータビジョンタスクは、前記動的コンテキストと関連した情報を使用し、
前記コンテキストが静的と判定される際まで前記コンピュータビジョンの実行を遅延させ、
動的環境の静的部分をキャプチャするために複数のカメラセンサのうち1つを選択させ、前記選択したカメラセンサを使用してコンピュータビジョンを実行させること、
のうち1つまたは複数の命令とともに使用するために、前記コンピュータタスクの構成を修正する、請求項29に記載のシステム。
【請求項４１】
前記コンテキストは、位置コンテキスト、環境コンテキスト、活動コンテキスト、および動きコンテキストのうち2つ以上の組合せである、請求項29に記載のシステム。
【請求項４２】
前記コンピュータビジョンタスクについて、前記推測したコンテキストに基づいた提案されたカメラの方向または視点を提供する命令をさらに含む、請求項29に記載のシステム。
【請求項４３】
コンピュータビジョンタスクを実行する装置であって、
ユーザまたはデバイスのコンテキストを推測する手段、
前記推測したコンテキストに応じてコンピュータビジョンタスクを構成する手段、
前記コンピュータビジョンタスクを実行する手段を含み、
前記コンピュータビジョンタスクは、
前記デバイスの環境のマッピング、
前記デバイスまたは前記デバイスの環境内のオブジェクトのローカライズ、または
前記デバイスの環境内の前記デバイスの追跡、
のうち少なくとも1つをさらに含む装置。
【請求項４４】
前記コンテキストを推測することはまた、前記ユーザまたはデバイスのコンテキストを推測するためにセンサデータを読み取る手段を含み、
前記センサデータは、Bluetooth(登録商標)センサ、マイクロホン、カメラ、全地球測位センサ(GPS)、WiFi、近接センサ、温度センサ、大気圧(すなわち、圧力)センサ、周辺光センサ(ALS)、赤-緑-青(RGB)カラーセンサ、紫外線(UV)センサ、UV-Aセンサ、UV-Bセンサ、指紋センサ、タッチセンサ、加速度計、ジャイロ、羅針盤、および磁力計のうち1つまたは複数からなる、請求項43に記載の装置。
【請求項４５】
前記コンテキストを推測することはまた、前記ユーザまたはデバイスのコンテキストを推測するためにアプリケーションデータを読み取る手段を含み、
前記アプリケーションデータは、カレンダー、ジオタギング、ソーシャルメディアデータ、および時刻のうち1つまたは複数からなる、請求項43に記載の装置。
【請求項４６】
前記コンテキストは、動き、活動、環境、または位置のうち1つまたは複数からなり得る、請求項43に記載の装置。
【請求項４７】
前記コンピュータビジョンタスクを構成することはまた、
前記タスクと関連したアルゴリズムのパラメータを選択する手段、
前記タスクと関連した前記アルゴリズムに入力として以前のモデルを選択する手段、および
環境定数に基づいて問題を解決するためのアプローチを選択する手段、
のうち1つまたは複数をさらに含む、請求項43に記載の装置。
【請求項４８】
前記コンピュータビジョンタスクを構成することはまた、
エッジに基づく方法を使用する手段、
ポイントに基づく方法を使用する手段、および
矩形に基づく方法を使用する手段、
のうち1つまたは複数をさらに含む、請求項47に記載の装置。
【請求項４９】
前記コンテキストは、室内のコンテキストを含み、前記コンピュータビジョンタスクは、前記室内のコンテキストと関連した情報を使用し、整列した矩形の座標系、境界内部場面の寸法、所定のオブジェクト、または室内構造の特徴のうち1つまたは複数とともに使用するために、前記コンピュータタスクの構成を修正する、請求項43に記載の装置。
【請求項５０】
前記コンテキストは、室外のコンテキストを含み、前記コンピュータビジョンタスクは、前記室外のコンテキストと関連した情報を使用し、動的世界モデリング、所定の室外構造の特徴、距離の特徴、パノラマモデル、またはトラッカー、あるいは地面に向けられたカメラからのイメージのうち1つまたは複数とともに使用するために、前記コンピュータタスクの構成を修正する、請求項43に記載の装置。
【請求項５１】
前記コンテキストは、混雑したコンテキストを含み、前記コンピュータビジョンタスクは、前記混雑したコンテキストと関連した情報を使用し、特徴ポイントの計算およびキーフレームレートの向上のうち1つまたは複数とともに使用するために、前記コンピュータタスクの構成を修正する、請求項43に記載の装置。
【請求項５２】
前記コンテキストは、混雑していないコンテキストを含み、前記コンピュータビジョンタスクは、前記混雑していないコンテキストと関連した情報を使用し、
キーフレームレートを減少させる手段、または
ライン、消滅点または矩形のうち1つまたは複数の特徴を使用する手段、
のうち1つまたは複数とともに使用するために、前記コンピュータタスクの構成を修正する、請求項43に記載の装置。
【請求項５３】
前記コンテキストは、興奮コンテキストである際に、前記コンピュータビジョンタスクは、追跡した特徴の数を増加させ、前記コンテキストが興奮していないコンテキストである際に、前記コンピュータビジョンタスクは、前記追跡した特徴の数を減少させる、請求項43に記載の装置。
【請求項５４】
前記コンテキストは、動的コンテキストであり、前記コンピュータビジョンタスクは、前記動的コンテキストと関連した情報を使用し、
前記コンテキストが静的と判定される際まで前記コンピュータビジョンの実行を遅延させる手段、
動的環境の静的部分をキャプチャするために複数のカメラセンサのうち1つを選択し、前記選択したカメラセンサを使用してコンピュータビジョンを実行する手段、
のうち1つまたは複数とともに使用するために、前記コンピュータタスクの構成を修正する、請求項43に記載の装置。
【請求項５５】
前記コンテキストは、位置コンテキスト、環境コンテキスト、活動コンテキスト、および動きコンテキストのうち2つ以上の組合せである、請求項43に記載の装置。
【請求項５６】
前記コンピュータビジョンタスクについて、前記推測したコンテキストに基づいた提案されたカメラの方向または視点を提供する手段をさらに含む、請求項43に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに開示された本主題は、一般に、マッピング、ローカライズ、および追跡に関する。
【背景技術】
【０００２】
コンピュータビジョンシステムは、通常、たとえば、意思決定の形態として、数字または記号情報を生成するために、現実世界から一般的に高次元データを収集、処理、分析、およびイメージを理解する方法を含む。コンピュータビジョンにおいて知られた1つの問題は、イメージデータが特定の目的、特徴または活動を含んでいるか否かを決定することである。人間は、前述したような課題を速やかに解決することができるが、コンピュータビジョンシステム分野においては、まだ任意のコンテキストにおけるあるオブジェクトの一般的な場合に関する理解が依然として不足している。
【０００３】
強力なコンピュータビジョンアルゴリズムは、拡張現実の事例において非常に有用である。特定のタスクを行うための様々なアルゴリズムとパラメータがあり得る。多くのコンピュータビジョンアルゴリズムは、パラメータまたは機能に対する選択に応じて決定され、特定のシナリオに対する具体的な調整によって決定される。通常のパラメータまたはアルゴリズムの設定は、すべてのシナリオのために作動しない可能性があり、さらなる情報なしにこれらのパラメータを「オン・ザ・フライ」で推測することは難しい。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
これにより、向上したコンピュータビジョン技術が要求されている。
【課題を解決するための手段】
【０００５】
本明細書に開示された実施形態は、コンピュータビジョンタスクを行うための方法に関する。この方法は、ユーザまたはデバイスのコンテキストを推測し、推測したコンテキストに応じてコンピュータビジョンタスクを構成することを含むことができる。この方法はまた、デバイスの環境の視覚的マッピング、デバイスまたはデバイスの環境内のオブジェクトの視覚的ローカライズ、あるいはデバイスの環境内のデバイスの視覚的追跡、のうち少なくとも1つを含むコンピュータビジョンタスクを行うことを含むことができる。
【０００６】
本明細書に開示された実施形態は、コンピュータビジョンタスクを含む方法を行うための命令を有している機械可読非一時的記憶媒体に関する。この方法はまた、ユーザまたはデバイスのコンテキストを推測し、推測したコンテキストに応じてコンピュータビジョンタスクを構成することを含むことができる。この方法はまた、デバイスの環境の視覚的マッピング、デバイスまたはデバイスの環境内のオブジェクトの視覚的ローカライズ、あるいはデバイスの環境内のデバイスの視覚的追跡、のうち少なくとも1つを含むコンピュータビジョンタスクを行うことを含むことができる。
【０００７】
本明細書に開示された実施形態はまた、コンピュータビジョンタスクを行う手段を含む装置に関する。この装置はまた、ユーザまたはデバイスのコンテキストを推測し、推測したコンテキストに応じてコンピュータビジョンタスクを構成することを含むことができる。この装置はまた、デバイスの環境の視覚的マッピング、デバイスまたはデバイスの環境内のオブジェクトの視覚的ローカライズ、あるいはデバイスの環境内のデバイスの視覚的追跡、のうち少なくとも1つを含むコンピュータビジョンタスクを行うことを含むことができる。
【０００８】
本明細書に開示された実施形態はまた、コンピュータビジョンタスクを行うための命令を記憶することができるように構成された記憶デバイスおよびプロセッサを含むデータ処理システムに関する。このデータ処理システムはまた、ユーザまたはデバイスのコンテキストを推測し、推測したコンテキストに応じてコンピュータビジョンタスクを構成し、そのコンピュータビジョンタスクを行うように構成される。このコンピュータビジョンタスクはまた、デバイスの環境の視覚的マッピング、デバイスまたはデバイスの環境内のオブジェクトの視覚的ローカライズ、あるいはデバイスの環境内のデバイスの視覚的追跡、のうち少なくとも1つのために構成される。
【０００９】
他の特徴および利点は、添付の図面および詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１０】
【図１】1つの実施形態において本発明の態様が行われるシステムのブロック図である。
【図２】1つの実施形態においてセンサと例示的な処理モジュールとを含むシステムの下位セクションを示すブロック図である。
【図３】ローカライズ、マッピングおよび追跡のための方法の1つの実施形態のフロー図である。
【発明を実施するための形態】
【００１１】
「例示的な」または「例」という用語は、ここで、「例、例示、または説明として役立つ」という意味として用いられている。「例示的な」または「例」としてここに記述されたすべての態様または実施形態は、必ずしも他の態様または実施形態に対してさらに好ましいかまたは利点があるというものと解析される必要はない。
【００１２】
図1は、ここに記述された実施形態が行われ得る例示的なデータ処理システムを示すブロック図である。当該システムは、1つまたは複数のプロセッサ101、メモリ105、I/Oコントローラ125、およびネットワークインターフェース110を含むデバイス(たとえば、デバイス100)になり得る。デバイス100はまた、プロセッサ101にさらに結合された1つまたは複数のバスまたは信号線に結合された多数のデバイスセンサを含むことができる。デバイス100はまた、一般的に、電子デバイスと関連した他の部品のみならず、ディスプレイ120、ユーザインターフェース(たとえば、キーボード、タッチスクリーン、またはこれと類似したデバイス)、電源デバイス121(たとえば、バッテリ)を含むことができるものと認知されなければならない。一部の実施形態において、デバイスは、モバイルまたはモバイルではないデバイスになり得る。ネットワークインターフェース110はまた、多数のワイヤレスサブシステム115(たとえば、Bluetooth166、WiFi111、セルラー161、または他のネットワーク)に結合されて、ワイヤレスリンクを介してワイヤレスネットワークにまたはワイヤレスネットワークからデータストリームを送信および受信するか、またはネットワークに直接結合する有線インターフェースになり得る(たとえば、インターネット、イーサネット(登録商標)または他のワイヤレスシステム)。したがって、デバイスは、モバイルデバイス、ワイヤレスデバイス、携帯電話、個人携帯用情報端末機(PDA)、モバイルコンピュータ、ウェアラブルデバイス(wearable device)(たとえば、ヘッドマウントディスプレイ、仮想現実メガネなど)、ロボットナビゲーションシステム、タブレット、パーソナルコンピュータ、ラップトップコンピュータ、または処理能力を備えた他の形態のデバイスになり得る。
【００１３】
デバイス(たとえば、デバイス100)は、クロック130、周辺光センサ(ALS:ambient light sensor)135、加速度計140、ジャイロスコープ145、磁力計150、温度センサ151、大気圧センサ155、赤-緑-青(RGB)カラーセンサ152、紫外線(UV)センサ153、UV-Aセンサ、UV-Bセンサ、指紋センサ、タッチセンサ、羅針盤、Bluetooth166、WiFi111、セルラー161、近接センサ167、および/または全地球測位センサ(GPS)160のようなセンサを含むことができる。一部の実施形態において、マイクロホン165、カメラ170、および/またはワイヤレスサブシステム115は、当該デバイスの環境を分析するためのセンサとして用いられる。一部の実施形態において、複数のカメラは、統合されているかまたは当該デバイスに接続可能である。たとえば、モバイルデバイスは、少なくとも前面および背面取り付けカメラを備えることができる。別の実施形態において、ロボットナビゲーションシステムは、複数の異なるカメラを備えることによってロボットの各種の視点を撮像することもできる。一部の実施形態において、他のセンサはまた、複数のコピーやバージョンのセンサを備えることもできる。
【００１４】
メモリ105は、プロセッサ101に結合されて、プロセッサ101による実行の命令を記憶することもできる。一部の実施形態において、メモリ105は、非一時的メモリである。メモリ105はまた、以下において記述する実施形態を実施するための1つまたは複数のモデルまたはモジュールを記憶することもできる。メモリ105はまた、統合されたセンサまたは外部センサからのデータを記憶することもできる。さらに、メモリ105は、モジュール171(たとえば、アプリケーションデータモジュール、コンテキスト(context)モジュール、ローカライズ(localization)モジュール、マッピングモジュール、および追跡モジュール)をアクセスするアプリケーションプログラムインターフェース(API)を記憶することができる。メモリ105はまた、あらかじめ規定された機能スケジュールリング情報、トレーニングデータサンプル、センサデータサンプル、または、クラスまたは機能と関連した電力プロファイルを記述する構成ファイルを記憶することもできる。モジュール171は、当該デバイス100の他の素子より離隔しているものと示されているが、モジュール171は、たとえば、プロセッサ101および/またはメモリ105において、または当該デバイス100の別のプロセッサおよび/またはメモリにおいて、あるいは当該デバイス100の1つまたは複数の他の素子において、図1に示された他の素子によって全体的にまたは部分的に実施され得る。モジュール171の実施に関するさらなる詳細は、以下に記述する。
【００１５】
ここに記述されたシステムおよび方法の実施形態は、以下において記述するように、デバイスのプロセッサ101および/またはデバイスおよび/または他のデバイスの他の回路による、たとえば、メモリ105または他の素子に記憶された命令の実行を通じて実施され得るものと理解されなければならない。特に、プロセッサ101に限定することなく含むデバイスの回路は、プログラムの制御、ルーチン(routine)、または本開示物の実施形態による方法またはプロセスを行うための命令の実行下で動作することができる。たとえば、このようなプログラムは、(たとえば、メモリ105および/または他の位置に記憶されている)ファームウエアまたはソフトフェアに実施され得、プロセッサ101のようなプロセッサおよび/またはデバイスの他の回路によって実施され得る。さらに、ターム(terms)プロセッサ、マイクロプロセッサ、回路、コントローラなどは、論理、コマンド、命令、ソフトウェア、ファームウェア、機能(functionality)などを行うことができる任意のタイプの論理または回路を言及するものと理解されなければならない。
【００１６】
また、ここに記述された一部またはすべての機能、エンジンまたはモジュールは、デバイスそのものによって行われ得、および/またはここに記述された一部またはすべての機能、エンジンまたはモジュールは、I/Oコントローラ125またはネットワークインターフェース110(ワイヤレスまたは有線)を介してデバイスに結合される別のシステムによっても行われ得る。したがって、一部および/またはすべての機能は、他のシステムによって行われ得、その結果または中間計算がデバイスに再伝送され得る。一部の実施形態において、このような他のデバイスは、リアルタイムまたはほぼリアルタイムで情報を処理するように構成されるサーバを含むことができる。一部の実施形態において、他のデバイスは、たとえば、当該デバイスの公知になった構成に基づいてその結果をあらかじめ決定するように構成される。また、図1に示されている1つまたは複数の素子は、デバイス100から省略され得る。たとえば、1つまたは複数のセンサ130〜165が一部の実施形態において省略され得る。
【００１７】
デバイス(たとえば、デバイス100)は、環境情報を集め、当該デバイスと関連したコンテキストを推測するために1つまたは複数のセンサまたはアプリケーションデータを用いることができる。1つの実施形態において、コンテキスト認識ローカライズ、マッピングおよび追跡(CALMT: context aware localization, mapping, and tracking)は、単にいくつかに名前を付けると、適用するイメージに基づく特徴、適切なモデルまたはオブジェクトあるいは環境の代表、与えられたローカライズ、マッピングおよび追跡タスクに対する最適の実施、最適のパラメータの設定、効率的なセンササンプリング戦略、およびマッピング、ローカライズまたは追跡を初期化する時期、のうち1つまたは複数を判定することができる。
【００１８】
ここで用いられるコンテキストおよびコンテキスト上の情報は、当該デバイス(たとえば、デバイス100)の状態または当該デバイスのユーザの状態を特定するのに用いられ得る任意の情報になり得る。一部の実施形態において、コンテキストは、以後さらに詳細に説明されるが、位置、動き、活動および環境のうち1つまたは複数を含むことができる。
【００１９】
図2は、1つの実施形態においてセンサ205および例示的な処理モジュール171を含むデバイス100の下位セクションを示したブロック図である。モジュール171は、たとえば、指定されたプロセッサまたは中央処理ユニット(たとえば、プロセッサ101)を共有する実施を備える当該デバイス100の付属部品であって、たとえば、ハードウェアまたはファームウェアに直接実施され得る。その代わりに、当該モジュールは、プロセッサによって行われるソフトウェアにより、またはソフトウェアとハードウェアとの組合せで実施され得る。ソフトウェアモジュールは、メモリ、たとえば、メモリ105または従来技術として知られた他の形態の記憶媒体に存在し得る。本明細書に開示されたモジュールは、様々なまた別の実施に実施され得るコンピュータビジョンタスクの態様を行うための機能的なプロセスを示すことができる。ローカライズモジュール215、マッピングモジュール210、追跡モジュール220、コンテキストモジュール225、およびアプリケーションデータモジュール230は、別途に図2に示されているが、このようなモジュールのうち1つまたは複数の機能が組合せられるか、または前述したこととは異なる方式で分配され得る。たとえば、コンテキストモジュール225および追跡モジュール220、またはローカライズモジュール、あるいはマッピングモジュールは、一部の実施形態において組合せられ得る。同様に、コンテキストモジュールおよびアプリケーションデータモジュールは、一部の実施形態において組合せられ得る。一部の実施形態において、本明細書に記載されたCALMTは、モジュールとして実施され、前記モジュール(たとえば、追跡、マッピング、ローカライズ、分類子、コンテキスト、およびアプリケーションデータ)は、CALMTシステムまたはモジュールのサブモジュールまたは構成要素である。モジュール171のうち1つを用いてモジュールの他の組合せも可能である。
【００２０】
センサ205は、クロック130、周辺光センサ(ALS)135、加速度センサ140、ジャイロスコープ145、磁力計150、温度センサ151、マイクロホン165、大気圧センサ155、カメラ170、赤-緑-青(RGB)カラーセンサ152、紫外線(UV)センサ153、UV-Aセンサ、UV-Bセンサ、指紋センサ、タッチセンサ、羅針盤、Bluetooth166、WiFi111、セルラー161、近接センサ167、および/または全地球測位センサ(GPS)160、あるいは他のセンサのうち任意の1つまたは複数を含むことができる。
【００２１】
1つの実施形態において、ローカライズ、追跡およびマッピングモジュールは、以下においてさらに詳細に記述するように、ローカライズ、追跡およびマッピングタスクのうち1つまたは複数を行うことができる。1つの実施形態において、ローカライズ、追跡およびマッピングモジュールが、コンテキストモジュール225からコンテキストの判定を受信または要求することができる。当該コンテキストモジュール225は、センサ205およびアプリケーションデータモジュール230からセンサデータを要請および受信することができる。他の実施形態において、ローカライズ、追跡、マッピングモジュールは、コンテキストモジュール225の補助なしにコンテキストの判定を行うように構成され得、ローカライズ、追跡およびマッピングモジュールは、センサ205およびアプリケーションデータモジュール230からデータを直接要求および受信することができる。
【００２２】
図3は、1つの実施形態においてコンテキスト認識ローカライズ、マッピング、および追跡のための方法のフロー図を示す。ブロック305において、CALMTは、ユーザまたはデバイスのコンテキストを推測することができる。他の実施形態においては、CALMTは、構成ファイルまたはコンテキストモジュールから直接コンテキストを受信することができる。コンテキストの判定に関する詳細な内容については、以下において詳細に記述される。
【００２３】
ブロック310において、CALMTは、推定したコンテキストに応じてコンピュータビジョンタスクを構成することができる。たとえば、コンピュータビジョンタスクは、複数のローカライズ、マッピング、および追跡のうち1つまたは複数になり得る。推測したコンテキストは、1つまたは複数のセンサストリーム(たとえば、センサ205)またはアプリケーション(たとえば、アプリケーションデータモジュール230)からなり得る。たとえば、デバイスまたはユーザの環境(たとえば、位置、環境、活動または動き)の環境に応じて、CALMTは、特定のローカライズ、マッピング、および追跡の実施に適用するための最適化のパラメータをマッチングすることに言及にできる。
【００２４】
ブロック315において、CALMTは、コンピュータビジョンタスクを行うことができる。たとえば、CALMTは、最適化したプロファイルまたは構成(たとえば、コンテキストに応じて構成されたコンピュータビジョンパラメータ)に応じてローカライズ、マッピング、追跡のうち1つまたは複数を行うことができる。
【００２５】
1つの実施形態において、コンテキストは、デバイスまたはユーザの位置、動き、活動および環境と関連する。CALMTは、デバイスおよびユーザが操作したり、規則または知的刺激に基づいて反応することができる状態下における環境に関する情報を得ることができる。コンテキストを判定する際に、CALMTまたはコンテキストモジュールは、デバイスおよび/またはユーザの現在のコンテキストについてある仮定や推測を行うことができる。一部の実施形態において、当該デバイスは、関連したユーザ(たとえば、ロボットナビゲーション)がなく、コンテキストは、どのようなユーザなのかに関係なく、当該デバイスの環境とその周辺に主に関係することができる。
【００２６】
一部の実施形態において、コンテキストは、コンテキストエンジンまたはモジュールによって判定され得る。コンテキストエンジンまたはモジュールは、CALMTからエンジンまたはモジュールが分離され得るか、またはコンテキストエンジンまたはモジュールは、CALMTに統合され得る。
【００２７】
一部の実施形態において、デバイスが、モバイルデバイス(たとえば、スマートフォン、ナビゲーション、ウェアラブルコンピュータ、または他の電子携帯デバイス)である場合、CALMTは、コンテキストを判定するために、ユーザが一般的にそのモバイルデバイスと相互作用する方法(たとえば、活動コンテキスト)を用いることができる。たとえば、モバイルデバイスの加速度計が、一見、ランダムな読み取りを記録する場合、コンテキストエンジンまたはCALMTは、加速度計がモバイルデバイスに結合されているのかを判定する際に、ユーザがモバイルデバイスを操作していると推測することができる。
【００２８】
CALMTは、1つまたは複数のデバイスセンサ(たとえば、センサ205)から生(raw)センサデータを読み取ることができる。たとえば、クロック130、周辺光センサ(ALS)135、加速度計140、ジャイロスコープ145、磁力計150、温度センサ151、マイクロホン165、大気圧センサ155、カメラ170、赤-緑-青(RGB)カラーセンサ152、紫外線(UV)センサ153、UV-Aセンサ、UV-Bセンサ、指紋センサ、タッチセンサ、羅針盤、Bluetooth166、WiFi111、セルラー161、近接センサ167、および/または全地球測位センサ(GPS)160である。デバイスは、当該デバイス(すなわち、位置、動き、活動および環境)のコンテキストを推測するために、センサを用いることができる。たとえば、CALMTは、コンテキストを判定するのに役立つ環境内のオブジェクトおよび特徴を感知するセンサを用いることができる。
【００２９】
一部の実施形態において、CALMTは、生センサデータに加えてまたは生センサデータの代わりに、ソフトセンサデータとアプリケーションデータ(たとえば、アプリケーションデータモジュール230)を読み取りまたは処理することができる。アプリケーションデータは、単にいくつかに名前を付けると、カレンダー、ジオタギング(geo tagging)、ソーシャルメディアデータ(たとえば、フェイスブック(Facebook)やツイッター(Twitter)、リンクトイン(LinkedIn)など)、バッテリ、時刻、のような1つまたは複数のモバイルまたはデバイスアプリケーションからのデータを含むことができる。たとえば、ソーシャルネットワークの友達の近くにあるかまたはその位置に「チェックイン」することによって、デバイスの位置または活力を決定するのに用いられ得る。
【００３０】
一部の実施形態において、1つまたは複数のセンサまたはアプリケーションからのデータを活用することによって、CALMTは、デバイスまたはユーザのコンテキストを推測することができる。たとえば、CALMTは、Bluetoothデータを読み取ったところ、デバイスが非常に密集してBluetooth信号をブロードキャストしているのであれば、当該デバイスが、ショッピングモール、事務室空間、農産物市場、または他の多くの人々が近くにいる他の環境(たとえば、位置)のような都心の環境にあると判定することができる。
【００３１】
一部の実施形態において、位置コンテキストは、単にいくつかに名前を付けると、自宅、事務室、廊下、ショッピングセンタ、ショッピングエリア、レストラン、室内、室外を含むことができる。
【００３２】
一部の実施形態において、動きコンテキストは、単にいくつかに名前を付けると、動かないでいること、歩くこと、走ること、座ること、立つこと、車両を運転すること、自転車に乗ること、列車に乗ること、飛行機に乗ること、デバイスを操作することを含むことができる。
【００３３】
一部の実施形態において、活動コンテキストは、単にいくつかに名前を付けると、テレビを見ること、演奏すること、読むこと、書くこと、人に会うこと、画面を見ること、贈り物を与えること、食べること、ショッピングすること、料理すること、会議に参加すること、一人でタスクすること、話に参加すること、運動すること、電話すること、音楽を聴くこと、寝ることを含むことができる。
【００３４】
一部の実施形態において、環境コンテキストは、単にいくつかに名前を付けると、晴れ、昼間、夜間、曇り、雨、雪を含むことができる。本明細書において用いられる環境コンテキストは、特定のデバイス(たとえば、CALMTを行うかまたはCALMTに統合される)の環境、またはデバイスがユーザの体/すぐ近くにある場合はユーザと関連している。
【００３５】
1つの実施形態において、コンテキストはまた、位置、動き、活動および環境のサブカテゴリに分類され得る。たとえば、位置コンテキストは、室内のコンテキスト、室外のコンテキスト、整頓されたコンテキスト、整頓されていないコンテキストを含むことができる。また、動きコンテキストは、興奮したコンテキストまたは興奮していないコンテキストを含むことができる。本明細書において用いられるコンテキストは、2つ以上が互換性のあるコンテキストになり得る(たとえば、室内であり、整頓されており、興奮しているか、または多数の組合せ)。
【００３６】
一部の実施形態において、CALMTは、可視衛星と各受信信号の強度(RSSI)の数を判定するために、GPS(たとえば、GPS160)を用いることができる。たとえば、衛星の受信およびRSSIに基づいて、CALMTは、デバイスが室内または室外にあることを推測することができる。たとえば、衛星の受信がないか/弱くてRSSIが低い場合、デバイスは、室内にあると推測することができる。
【００３７】
一部の実施形態において、CALMTは、コンテキストを判定するために、(たとえば、アプリケーションデータモジュール230またはCALMTにアクセス可能なアプリケーションデータから)ジオタギングを用いることができる。CALMTは、位置の特定の情報の多様性を求めるために、ジオタギングを用いることができる。たとえば、与えられた位置(たとえば、GPSから判定された緯度と経度の座標)に関する位置に基づいた情報、統計、風景/建物の特徴または他のリソースが利用可能である。また、特定の位置に対するジオタギングの大量の情報の存在は、どのように動的環境が存在するのかを推測することができるようにする。たとえば、1つの実施形態において、観光地およびショッピングモールは、大量のジオタギングの情報を含むことができる。
【００３８】
一部の実施形態において、CALMTは、WiFi(たとえば、WiFi111)を用いてコンテキストを判定することができる。たとえば、可視アクセスポイントおよび各RSSIの数は、デバイスが室内または室外にあるのかを示すことができる。また、WiFiに基づく位置の決定は、建物内の部屋(たとえば、会議室、事務室、ミーティングルーム、自宅など)を推測するのに用いられ得る。一部の実施形態において、推測した位置は、地図と比較して、関連した意味を有するさらに正確な位置(たとえば、事務室に対するミーティングルーム)を判定することができる。また、WiFiコネクションの量/稼働率は、環境が如何に動的であるのかを表示することができる。たとえば、事務室やショッピングモールは、平均よりも多くの数のWiFiの結合を有しており、動的な環境になり得る。
【００３９】
一部の実施形態において、CALMTは、デバイスまたはユーザの環境において音方向およびオーディオレベルを検出するために、マイクロホン(たとえば、マイクロホン165)を用いることができる。一部の実施形態において、CALMTは、話す環境(たとえば、話すかまたは話さない)、すなわち、(できるだけ事前に分かっているラベルを有している)オーディオクラスターを判定するために、ターゲットのサウンドの検出を行い、ユーザまたはデバイスの状態に対する推測にこの情報を用いることができる。たとえば、マイクロホンセンサデータとオーディオサンプルの処理に基づいて、CALMTは、デバイスまたはユーザが室内または室外にいるのかを判定することができ、また単にいくつかに名前を付けると、ユーザがミーティング中であるのか、電話中であるのか、会議電話中であるのか、一人で仕事をしているのかを判定することができる。また、CALMTは、環境が如何に動的であるのかを識別するために、オーディオ環境における変化を用いることができる。たとえば、オーディオ信号(すなわち、遅延拡散)における残響を測定することによって、サウンドが内部の表面(すなわち、室内)で搬送されているのかを判定することができる。1つの実施形態において、たとえば、サウンドレベルが大きいと、当該デバイスが賑やかなエリア(すなわち、動的環境)にあると判定することができ、これに対し、静かなサウンドレベルである場合、当該デバイスが安定した環境にあると判定することができる。一部の実施形態において、当該デバイスが複数のマイクロホンを備えている場合、当該サウンドは、オーディオの指向性を得るためにローカライズすることができ、この情報はまた、ユーザに隣接する環境のどの領域が変更されるのかを理解するのに用いられ得る。
【００４０】
一部の実施形態において、CALMTは、隣接するデバイス(たとえば、モバイルデバイス、コンピュータ、アクセサリーなど)を示すために、Bluetooth(たとえば、Bluetooth166)スキャンを用いることができる。たとえば、一部の実施形態において、Bluetooth(登録商標)デバイスの数が多いかまたはブロードキャスト密度が高いと、ユーザの周辺環境に多くのデバイスがあると推測することができる。一部の実施形態において、測定値の変化(たとえば、当該環境にあるBluetooth(登録商標)デバイスの数の増加または減少)は、当該環境が動的であることを推測することができる。
【００４１】
一部の実施形態において、CALMTは、デバイスが室内または室外にあるか否かを示す指標を提供するために、セルラー信号の強度(たとえば、RSSI)を用いることができる。たとえば、信号の強度が低いと、当該デバイスが室内にあると推測することができる。
【００４２】
一部の実施形態において、CALMTは、デバイスが、座っていたり、立っていたり、歩いていたり、走っていたり、運転していたり、飛行機に乗ったりしているユーザにあるか否かを判定するか、または当該デバイスが休眠中(すなわち、停止状態)にあるか否かを判定するために、加速度計(たとえば、加速度計140)を用いることができる。たとえば、一部の実施形態において、デバイスが運転状態にあると、室外にある可能性が高い。一部の実施形態において、加速度計は、デバイスの位置を推測するのに用いられ得る。たとえば、CALMTは、当該デバイスがユーザのシャツのポケットにあるのか、ズボンのポケットにあるのか、手にあるのか、ホルスタにあるのか、またはユーザと関連した他の位置にあるのかを判定することができる。
【００４３】
一部の実施形態において、CALMTは、室内または室外であることを示す値と一致する光強度値を判定するために、周辺光センサ(たとえば、ALS135)、UVセンサ、およびRGBセンサを用いることができる。たとえば、室外で観測される光強度値は、一般的に、室内で観測される光強度値の範囲よりも遥かに広い。また、一部の実施形態において、ALSが非常に高い読み取りを出力すると、デバイスが室外にあるという確信が非常に高い。一部の実施形態において、CALMTは、コンテキストを判定するために、当該デバイスの正面および/または後面に統合された1つまたは複数のALSを用いることができ、平均または組合せられた読み取りを用いてコンテキストを判定することができる。
【００４４】
一部の実施形態において、CALMTは、コンテキストを推測するために、1つまたは複数のカメラ(たとえば、カメラ170またはRGBセンサ)を用いることができる。たとえば、カメラのすべてのピクセル(たとえば、前面および/または背面カメラ)に対して平均になる赤、緑、青の強度を計算することによって、光のカラーが評価され得る。一部の実施形態において、光のカラーは、当該光が太陽光または内部光(たとえば、蛍光)であるか否かを当該CALMTに表示することができる。また、イメージデータは、室外であることを検出するために、芝生、空などの存在を推測するように処理され得る。一部の実施形態において、デバイスおよびユーザが室内にいるのかを判定するために、CALMTはまた、天井、およびテーブル、椅子、コンピュータのようなオブジェクトの存在を推測するのにイメージデータを用いることができる。
【００４５】
一部の実施形態において、CALMTは、コンテキストを推測するために、当該デバイスのクロック(たとえば、クロック130)を用いることができる。たとえば、当該デバイスは、一般的に、ユーザが携帯するモバイルデバイスである場合、一日のうち特定の時間に(たとえば、夜遅くまたは早朝)、ユーザは室内にいる可能性が高い。
【００４６】
一部の実施形態において、CALMTは、環境気象を判定するために、温度センサ(たとえば、温度センサ151または大気圧センサ155)または他のソースを用いることができる。たとえば、デバイスが、一般的に、ユーザが携帯するモバイルデバイスである場合、特定の天気(たとえば、雪、雨または非常に寒いかまたは非常に暑い天気)は、デバイスとユーザが室内にいる確率が通常の場合よりも高いことを示すことができる。他の実施形態において、CALMTは、コンテキストに用いる最近の天気情報を判定するために、遠隔サーバ(たとえば、インターネットクエリーまたはモバイルアプリケーション)を照会することができる。
【００４７】
一部の実施形態において、CALMTは、当該デバイスの「興奮」状態を判定するために、1つまたは複数のセンサ(たとえば、加速度計およびGPS)を用いることができる。たとえば、迅速または過度の移動と動き(すなわち、走ること)によって、当該デバイスのユーザが高調状態(たとえば、急いでいる状態)にあり得、CALMTは、さらに追跡性能が増加されなければならないことを推測することができる。
【００４８】
一部の実施形態において、CALMTは、当該デバイスの「混雑」状態を判定するために、1つまたは複数のセンサ(たとえば、マイクロホン、Bluetooth(登録商標)およびGPS)を用いることができる。たとえば、CALMTは、前述した動的コンテキストに基づいて、当該デバイスが、複数の近いオブジェクトを有する、機能豊富な環境にあることを判定することができる。また一部の実施形態において、現在の位置の地図とともに組合せてWiFi、GPS、ジオタギングまたは他の位置の判定から判定されるショッピングモールや売り場のようなショッピング場所に当該デバイスがある場合、CALMTは、混雑状態の環境であることを判定することができる。他の実施形態において、CALMTは、現在の位置が混雑状態にある可能性が高いか否かを判定するのに用いるために、さらなる位置情報を判定するように遠隔サーバ(たとえば、インターネットクエリーまたはモバイルアプリケーション)に照会することができる。
【００４９】
一部の実施形態において、CALMTは、当該デバイスの「制限」状態を判定するために、位置に関する情報を導き出す1つのジオタギング、GPS、およびその他の技術を用いることができる。たとえば、博物館や民間ビルにおいて、建物の所有主の所望に基づいて個人情報を管理するかまたは特定の技術を制限するために、一般的には、コンピュータビジョンおよび特にマッピングが制限され得る。
【００５０】
一部の実施形態において、前述したコンテキストの検出方法および技術は、本明細書に記載されたコンテキストを判定するために可能なすべての方法を含むものではなく、主にデバイスまたはユーザに対するコンテキストがどのように判定されるのかに関するいくつかの例であることを意味するものである。
【００５１】
一部の実施形態において、1つの実施形態において、CALMTは、マッピング、ローカライズまたは追跡用アルゴリズムあるいはタスクに基づいて、当該コンピュータビジョンのための、コンテキストに基づく構成(たとえば、コンテキストパラメータおよびコンピュータビジョンタスクパラメータ)を生成することができる。たとえば、構成は、コンピュータビジョンアルゴリズムまたはタスクの性能を制御する複数のパラメータ、CVアルゴリズムまたはタスクにおいて用いられるイメージ特徴、以前のモデルの形状または動き、などのうち1つまたは複数を含むことができる。
【００５２】
一部の実施形態において、CALMTは、ローカライズ、マッピングおよび追跡の性能または効率性を高めるために、適切なコンテキストの構成を用いることができる。一部の実施形態において、コンピュータビジョンパラメータの選択は、当該コンテキストによることができる。一部の実施形態において、コンテキストはまた、特定のパラメータの値を判定するのに役立ち得る。また、一部の実施形態において、特定のパラメータを視覚的マッピング、視覚的ローカライズおよび/または視覚的追跡または他の組合せに対してさらに適切にすることができる。たとえば、ローカライズまたは視覚的走行距離の測定法(visual odometry)は、複雑な3Dの再構成に適合した非常に詳細な場面のマップを作ったり管理したりする必要はないが、ローカライズすることができるポイントを用いて非常に少ないポイントセットを管理することができ、このような動作は、適切なパラメータによって制御され得る。
【００５３】
1つの実施形態において、CALMTは、コンテキストを判定し、当該CALMTによってアクセス可能なコンテキストフラグ、説明またはレコードを記録または更新することによって、当該CALMTは、コンピュータビジョンを処理または実行する際に、すべてのポイントにおいてコンテキストを得ることができる。一部の実施形態において、CALMTは、一般的な構成、または各種のタイプのコンテキストにおいてコンピュータビジョンタスクのために用いるように最適化した構成を有するパラメータファイルを生成および管理することができる。たとえば、構成ファイルは、すべてのコンテキストおよびすべての可能なパラメータ/構成を含むことができ、コンテキストとパラメータは、すべてのコンテキストに対する適切な構成を決定することができるように結合されるかまたは関連し得る。一部の実施形態において、コンピュータビジョンパラメータは、以下にてさらに詳細に説明するように、それぞれのコンピュータビジョンタスクが1つまたは複数の最適化または制約条件を用いることができるようにする。
【００５４】
一部の実施形態において、コンテキストのタイプと関連した1つまたは複数の他の構成を有する別途の構成またはパラメータを読み取る代わりに、ローカライズ、マッピングおよび追跡モジュールが、コンテキストモジュールによって構成されていてもよい。その代わりに、一部の実施形態において、ローカライズ、マッピングおよび追跡は、(たとえば、コンテキストモジュールから)コンテキストの判定を読み取りまたは受信することによってアップデートされるかまたは自ら構成され得る。たとえば、コンテキストエンジンは、室内の位置コンテキストを判定することができ、マンハッタン世界仮説(Manhattan world assumption)を用いるようにマッピングを構成することができる。
【００５５】
一部の実施形態において、コンテキストは、マッピング、ローカライズおよび追跡における例示的な実施を有する本明細書に記載されているような様々な方法によって、コンピュータビジョンタスクの正確性と堅固性を向上させることができる。
【００５６】
本明細書において用いられるコンピュータビジョンタスクは、マッピング、ローカライズおよび追跡のうち1つまたは複数を含むことができる。本明細書において用いられるマッピング(たとえば、視覚的マッピング)は、動画またはイメージの入力から場面/世界の幾何学的および光度計(photometric)の表示を構築することと関連する。ローカライズ(すなわち、視覚的ローカライズ)は、地図または場面内のオブジェクトまたはデバイスの相対位置の決定と関連し得る。本明細書において用いられる追跡(たとえば、視覚的追跡)は、地図または場面内のデバイスの相対的な位置変化の決定と関連し得る。
【００５７】
1つの実施形態において、CALMTは、コンテキスト(先立って詳細に説明したとおり、たとえば、位置、環境、動き、活動コンテキスト)によって地図の環境に制約を与えることによって、マッピングおよび3Dビジュアルモデリングを最適化することができる。
【００５８】
たとえば、CALMTまたはデバイスにおいて動作するコンテキストエンジンは、カレンダー、ソーシャルネットワーク、ジオタギングなどといったものから、センサデータ(たとえば、センサ205)または加速度計アプリケーションデータに基づいて、デバイスまたはユーザが室内にいるのか(すなわち、位置コンテキスト)を判定することができる。この例において、室内の位置コンテキストは、視覚的マッピングシステムに入力として提供され得、CALMTまたはマッピングシステムは、マッピングタスクを開始するに先立って適切なモデルをロードするためにこの知識を用いることができる。
【００５９】
他の実施形態において、ユーザ/デバイスが室内または室外の環境にあるという知識、すなわち、このような情報は、マッピングタスクに先立ってモデルを構築するのに用いられ得る。たとえば、ほとんどの室内環境は、床に垂直な壁、直角の外観などを有する四角形の構造を含み、このような種類の情報は、モデルの事前分布を構築するにあたって有用であり得る。その代わりに、一部の実施形態において、デバイスにおいて動作するコンテキストエンジン(たとえば、コンテキストモジュール225)は、ユーザが室外にいると判定する場合、モデルの事前分布は、室外の外観を示すように適切に修正され得る。マッピングタスクにおけるこのような事前分布と環境の最適化を活用することは、結果として処理速度を速くしてさらに正確な結果を得るようにし、3次元モデルの環境下で効率的な収斂と低電力のマップの構築を支援することができるようにする。コンテキストを特定したマッピング状態においてこのような環境情報またはモデルを活用することは、モデルまたは環境を仮定し、その仮定における如何なるエラーに対する最終的な補正よりもさらに正確な結果を得ることができるようにする。
【００６０】
他の実施形態において、位置の種類に関する知識は、マッピングに用いられるに適切なアルゴリズムの選択を支援することによって、マッピング処理を向上させることができる。たとえば、CALMTが最小(すなわち、基準未満)テクスチャ(texture)を有する領域であるという事前知識を有している場合、マッピングシステム(たとえば、マッピングモジュール210)は、「エッジに基づく」マッピングアルゴリズムを用いることと決定することができる。博物館の絵のようなさらに多くの(すなわち、基準よりも遥かに多くの)テクスチャを有する環境が知られている場合、マッピングシステムは、「ポイントに基づく」マッピングアルゴリズムを用いるために、この情報を用いることができる。さらに、CALMTがWiFiローカライズのようなアルゴリズムを用いてかなり正確な室内の位置決定を行う場合、これは、システムの正確性を向上させるための地図の構築に関する利用可能性情報に従ってマッピングアルゴリズムにブートストラップされ得る。
【００６１】
一部の実施形態において、マッピングシステムを構築するユーザにフィードバックを提供することができる。一部の実施形態において、ユーザおよびデバイスコンテキストに関するこのような情報は、ユーザが環境の向上した地図を得るためにそのデバイスを示すようにする必要がある場合のように、方向を提示することができるように用いられ得る。たとえば、CALMTは、コンテキストの読み取りまたは判定を行うことができ、当該デバイスのディスプレイ120においてユーザインターフェースをアップデートすることができる。一部の実施形態において、ユーザインターフェースは、方向指示子または素子(たとえば、他の角度または特定の方向にユーザがカメラビューを移動するように促すかまたは指し示す矢印、線または他のオーディオ/ビジュアル指示子)を含むことができる。
【００６２】
一部の実施形態において、ユーザインターフェースは、コンテキストの判定に基づいてアップデートされてもよい。たとえば、デバイスの東の方向で動的コンテキストを判定し、静的コンテキストがデバイスの西の方向で感知される判定に基づいて、西の方向にカメラビューを向けるようにユーザをガイドする矢印が提供されていてもよい。他の例においては、混雑した領域は、混雑していない領域に比べて所望されるかまたは避けられる可能性があり、ユーザがカメラを特定の方向に向けるように助けるために、デバイスディスプレイに方向指示子が提供され得る。1つの実施形態において、CALMTは、各カメラビューにおいて撮像された場面または地図のコンテキストだけでなく、カメラビューを追跡するための羅針盤、GPS、加速度計およびマイクロホンを用いることができる。
【００６３】
1つの実施形態において、CALMTは、視覚的マッピング、ローカライズまたは追跡を初期化する際に判定することができる。たとえば、動的コンテキストが、(たとえば、コンテキストエンジンまたはモジュール225によって)判定された場合、CALMTは、視覚的マッピング、ローカライズまたは追跡を遅延させることができる。一部の実施形態において、動的な場面は、多いコンピュータビジョンの実施に対して、本質的に静的な場面より困難であるので、CALMTは、場面が静的になるまでに現在のコンテキストが動的コンテキストなのかを判定してコンピュータビジョンを提供するかまたは処理することを遅延するためにコンテキストを用いてもよい。たとえば、混雑なショッピングモールは、地図または場面に対して移動する人々のため、常に変更され得る。正確な参照を作り、管理をするに十分な固定ポイントなしに、コンピュータビジョンを行おうとすると、結果として処理電力を浪費し、ユーザのフラストレーションをもたらし得る。したがって、CALMTが場面または地図を動的と判定した場合、コンピュータビジョンを行うことが延期され得る。一部の実施において、デバイスのユーザにメッセージが表示され得、コンピュータビジョンを試みるオプションが、動的な場面において性能低下の可能性にも拘わらず提供され得る。
【００６４】
一部の実施形態において、CALMTはまた、動的コンテキストを判定する際に、コンピュータビジョンのためのカメラの選択からすべての数のカメラ(たとえば、前面、背面カメラ、または1つまたは複数の追加のカメラ)を選択することができる。たとえば、場面内におけるオブジェクト(たとえば、人々、自動車等)の移動を含む動的な場面は、カメラのビューポイントを無駄にする可能性もある。一部の実施形態において、動的コンテキストの判定に基づいて、CALMTは、視覚的ローカライズおよび追跡のために床と天井の情報をキャプチャするために、代替的なビュー(view)に転換することができる。一部の実施形態において、CALMTはまた、静的なビューから静的場面を用いてコンピュータビジョンを行うデバイスのカメラで動的コンテキストの方向および座標を判定することによって使用するカメラを決定する。
【００６５】
一部の実施形態において、キーフレーム(すなわち、基準イメージ)の選択は、視覚的環境のマッピングとローカライズのための重要な課題である。1つの実施形態において、マッピングパラメータは、混雑したコンテキストの判定に基づくことができる。一部の実施形態において、混雑した環境は、コンピュータビジョンにおいて特に有用であり、潜在的に機能豊富な環境を提供する。たとえば、ショッピングモール内の室内店舗は、コンピュータビジョン(たとえば、製品に対する増強現実の表現)のユーザにとって有用であり得るオブジェクトを有することができる。混雑コンテキストにおいてモバイルデバイスの位置に基づいて、キーフレーム生成速度は、(たとえば、ビジュアルマッピングを用いて地図または場面を構築する際に)向上したコンピュータビジョンの正確度を得ることができるように増加され得る。また、マッピングおよびローカライズシステムはまた、場面における混雑の量に応じて他のアルゴリズム/方法を選択することができる。一部の実施形態において、たとえば、当該システムは、混雑の量によって線、エッジ、矩形に基づく特徴またはポイントに基づく特徴を用いることができる。
【００６６】
一部の実施形態において、混雑してない環境は、場面内で開いた空間が多くて感知することができるオブジェクトが不足しているため、特徴が少ない可能性がある。したがって、一部の実施形態において、CALMTは、ラインの特徴、消滅ポイント、矩形を用いるマッピングおよびローカライズアルゴリズムを最適化することができる。一部の実施形態において、場面内のオブジェクトの不足により、マッピングおよびローカライズアルゴリズムは、電力を節約するかまたは資源を節約するために、キーフレームの速度を下げることができる。
【００６７】
一部の実施形態において、CALMTは、ビジュアルマッピングを用い、そのCALMTは、モバイルデバイスがマッピングの制限を有する位置にあるのかを判定することができる。たとえば、博物館は、博物館内の視覚的マッピングを許容しない可能性がある。一部の実施形態において、CALMTは、携帯電話の環境(たとえば、コンテキスト)がマッピングおよび追跡に制限を有する博物館なのかを判定する際に、可視的マッピングを用いることができない可能性がある。
【００６８】
1つの実施形態において、マッピング、ローカライズおよび追跡パラメータの個数は、室内の位置コンテキストの判定時に基盤となり得る。たとえば、ユーザのコンテキストに基づいてデバイスが室内であるのかの知識によって、マッピング、ローカライズおよび追跡パラメータが適切に選択され得る。一部の実施形態において、たとえば、このようなアルゴリズムまたはタスクは、事務室の位置、環境のオブジェクトとオブジェクトタイプの事前知識(たとえば、事務室の位置は、コンピュータ、ラップトップ、モニター、ファイルキャビネット、ファックスなどを含むことができる。これに対し、自宅の環境は、ミキサー、電子レンジ、テレビ、ゲーム機、ソファー、ベッドなどのようなオブジェクトを含むことができる)、境界内部場面の寸法、または床、壁および天井の表面の観点から、地図をモデリングするために、マンハッタン世界仮説を用いることができる。
【００６９】
一部の実施形態において、境界内部場面の寸法は、地図の構造に制限を設けて視覚的マッピングを最適化する。一部の実施形態において、境界内部場面の寸法を特定することは、寸法に関する知識が知られていない場合よりも速やかに計算され、アップデートした寸法にモデルや地図を制約するにあたって有用である。たとえば、7〜10フィートの天井と壁は、室内である場合の可能性が高いと言える。一部の実施形態において、たとえば、室外のコンテキストについては、地図上の境界は、暫定的に限界のない可能性がある。
【００７０】
一部の実施形態において、室内環境は、座標系によって整列している正規の矩形を有し、この情報は、マッピングアルゴリズムについてモデルの事前分布として用いられ得る。一部の実施形態において、境界内部の制約条件を用いることと同様に、整列した矩形の座標系は、可視的マッピングを整列した矩形の座標系に最適化するので、マッピングシステムは、最も正確な設定を判定する前に他の座標系を試みるかまたはテストする必要がなくなる。一部の実施形態において、室内のコンテキストを先に判定することによって(たとえば、コンテキストを判定するために、コンテキストモジュールからコンテキストを受信するかまたはセンサ/アプリケーションデータを読み取ることによって)、CALMTは、視覚的マッピング、ローカライズおよび追跡を、室内場面に用いる最も効率的な座標系で行うことができる。
【００７１】
一部の実施形態において、コンピュータビジョンのパラメータはまた、コンピュータビジョン(たとえば、視覚的マッピング)に用いられる所定の室内のオブジェクトと室内構造の使用を指定することができる。たとえば、ドア、取っ手、机、コップ、コンピュータなどの一般的な室内のオブジェクトは、キャプチャしたイメージからカメラのビューの姿勢と位置をさらに効果的に推定するのに用いられ得る。一部の実施形態において、一般的な室内の構造は、壁、天井、ドア、窓などである。一部の実施形態において、コンピュータビジョンにおける1つの問題点は、場面の構造を回復し、カメラ視点の姿勢と位置を推定することにある。一部の実施形態において、動き(SFM)アルゴリズムの構造は、3次元ポイントの集合であって、場面の構造を表現しようとする。しかし、3Dポイントに基づく表現は、本質的に如何なる意味の情報も提供することができないので、ポイントに基づく表現は、時には強力なコンピュータビジョンのために十分でない。一部の実施形態において、より容易に一般的な室内のオブジェクトおよび構造を認識するようにコンピュータビジョンを構成することによって、室内のオブジェクトおよび全体の場面または地図が正確にモデリングされる可能性が高い。たとえば、場面において1つまたは複数の所定の室内のオブジェクトまたは構造を予想することによって、コンピュータビジョンは、当該オブジェクトまたは構造と関連した属性を検索することができる。一部の実施形態において、ひとまず、所定のオブジェクトや構造が検出されると、オブジェクトの意味論的情報が、カメラビューとオブジェクトとの間およびオブジェクトと周囲の場面との間における相互作用をモデリングするのに用いられ得る。
【００７２】
一部の実施形態において、室内のコンテキストは、ローカライズタスクにおいて有用であり得る。たとえば、室内位置のタイプが知られている場合、CALMTは、当該位置が大量または少量のテクスチャを含んでいるのかを判定することができる。このような情報は、ローカライズの方法を選択するのに用いられ得、「ポイントに基づく」、「ラインに基づく」、「エッジに基づく」または「矩形に基づく」ソリューションが用いられるのかを選択するのに用いられ得る。
【００７３】
他の実施形態において、建築場面のような構造に当該位置が知られている場合、このような情報は、ローカライズタスクのために最も有用な複数のカメラのうち1つまたは複数のカメラを選択するのに用いられ得る。たとえば、天井が繰り返し情報を含んでいることが知られている場合、(天井に向けて)上方を指し示すカメラは、多くの有用な情報を提供することができないので、このカメラは、止められる可能性がある。
【００７４】
1つの実施形態において、コンピュータビジョンパラメータの数は、室外のコンテキストの判定に基づくことができる。たとえば、室外の判定に基づいて、コンピュータビジョンパラメータは、地面に向けられたカメラから、パノラマモデルまたはトラッカー、動的世界モデリング、所定の室外構造的特徴、距離上の特徴、またはイメージのうち1つまたは複数を用いるようにビジョンを構成することができる。
【００７５】
一部の実施形態において、距離の特徴(すなわち、如何に離れているのか)を含む室外の場面について、距離の特徴を予想することによってコンピュータビジョンを最適化することは、方向の判定および追跡において有用であり得る。CALMTは、判定を導き出す水平線の特徴を用いることができ、この水平線は、センサ-カメラのアライメントを校正するのに役立ち得る。
【００７６】
一部の実施形態において、室外の環境は、たびたび室内のオブジェクト、著しく直線的な形状または目立つ線などの人工構造的な特徴が不足している。一部の実施形態において、CALMTは、室内のオブジェクト、直線的な形状や目立つ線に基づいた場面を検索または処理しようとするよりは3次元ポイントまたは特徴を優先順位化するようにコンピュータビジョンを最適化することができる。
【００７７】
一部の実施形態において、室外については、場面は、距離の特徴(すなわち、如何に離れているのか)を含む。一部の実施形態において、距離の特徴を予測することによってコンピュータビジョンを最適化することは、方向の判定および追跡のために有用であり得る。たとえば、CALMTは、判定を導き出す水平線の特徴を用いることができ、この水平線は、センサ-カメラのアライメントを校正するのに役立ち得る。
【００７８】
一部の実施形態において、室外のコンテキストと関連するコンピュータビジョンパラメータはまた、ポイントが空を指し示す上向きのカメラからデータの収集をバイパスするかまたは不活性化することができる。また、一部の実施形態において、都市にある間、マッピングは、(動的なオブジェクトに起因して)地上から数フィートでまたはカメラが地上の方を指している際に、最も効率的である。一部の実施形態において、CALMTは、ビューの場面が1つまたは複数のカメラビュー/センサに基づいてマッピングするに適切であるのかを判定するために、重力に対する位置および見る方向を用いることができる。
【００７９】
本明細書の教示は、各種のデバイス(たとえば、デバイス)に統合され得る(たとえば、各種のデバイス内に実施されるかまたは各種のデバイスによって実施され得る)。たとえば、本明細書において教示された1つまたは複数の態様は、電話(たとえば、携帯電話)、個人携帯用情報端末機(PDA)、タブレット、モバイルコンピュータ、ラップトップコンピュータ、タブレット、娯楽デバイス(たとえば、音楽またはビデオデバイス)、ヘッドセット(たとえば、ヘッドホン、イヤホンなど)、医療デバイス(たとえば、生体センサ、心拍数モニター、歩数計、EKGデバイスなど)、ユーザI/Oデバイス、コンピュータ、サーバ、販売時点デバイス、娯楽デバイス、セットトップボックス、または他の適切なデバイスに統合され得る。これらのデバイスは、他の電力およびデータの要求事項があり得、各特徴または特徴の設定について生成される電力プロファイルが異なり得る。
【００８０】
一部の態様において、ワイヤレスデバイスは、通信システムに対するアクセスデバイス(たとえば、Wi-Fiアクセスポイント)を含むことができる。このようなアクセスデバイスは、たとえば、有線またはワイヤレス通信リンクによって、送受信機140(たとえば、インターネットなどの広域ネットワークまたはセルラーネットワーク)を通じて他のネットワークに結合を提供してもよい。したがって、アクセスデバイスは、他のネットワークまたはある他の機能にアクセスするために、他のデバイス(たとえば、Wi-Fiステーション)を可能にすることができる。また、デバイスの一方または両方は携帯用であるか、または一部の場合には相対的に携帯できないものであり得るものと理解されなければならない。
【００８１】
当業者は、様々な他の技術および技法のうち1つを用いて情報と信号を示すことができることを理解するであろう。たとえば、本明細書において前記説明を通じて参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボルおよびチップは、電圧、電流、電磁波、磁場または粒子、光学フィールドまたは粒子、またはこれらの任意の組合せによって代表され得る。
【００８２】
当業者はまた、本明細書に開示された実施形態と関連して説明された様々な例示的な論理ブロック、モジュール、エンジン、回路およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはこの2つの組合せに実施され得るものと理解するであろう。明確にハードウェアとソフトウェアの互換性を示すために、様々な例示的な構成要素、ブロック、モジュール、エンジン、回路およびステップがその機能の観点から一般的に前記に記載されている。このような機能がハードウェアまたはソフトウェアに実施されるか否かは、全体のシステムに与えられた特定のアプリケーションおよび設計の制約によって変わる。当業者は、各特定のアプリケーションのために様々な方式によって説明された機能を行うことができ、このような実施の決定は、本開示の範囲から外れるものと解析されない。
【００８３】
本明細書に開示された実施形態と関連して説明される様々な例示的な論理ブロック、モジュールおよび回路は、本明細書に記載された機能を行うように設計された汎用プロセッサ、デジタル信号プロセッサ(DSP)、注文型集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、離散ゲートまたはトランジスタロジック、個別のハードウェア構成要素またはこれらの組合せに実施されるかまたは行われ得る。汎用プロセッサは、マイクロプロセッサであってもよいが、その代わりに、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってもよい。プロセッサはまた、コンピュータデバイスの組合せであって、たとえば、DSPとマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと結合した1つまたは複数のマイクロプロセッサ、または任意の他のこのような構成の組合せとして行われ得る。
【００８４】
本明細書に開示された実施形態と関連して説明された方法またはアルゴリズムのステップは、ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいてまたはこの2つの組合せにおいて直接具体化してもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、移動式ディスク、CD-ROM、または当該分野に知られた記憶媒体の任意の他の形態に存在してもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取りおよび記憶媒体に情報を書き込み可能なプロセッサに結合される。その代わりに、記憶媒体は、プロセッサと一体であってもよい。プロセッサおよび記憶媒体は、ASICに存在し得る。ASICは、ユーザの端末機に存在することができる。その代わりに、プロセッサおよび記憶媒体は、ユーザの端末機において個別の構成要素として設けてもよい。
【００８５】
1つまたは複数の例示的な実施形態(たとえば、CALMT)において、記述した機能またはモジュールは、ハードウェア(たとえば、ハードウェア162)、ソフトウェア(たとえば、ソフトウェア165)、ファームウエア(たとえば、ファームウエア163)、またはこれらの任意の組合せにおいて実施され得る。コンピュータプログラム製品としてソフトウェアに実施する場合、機能またはモジュールは、非一時的コンピュータ可読媒体に1つまたは複数の命令またはコードとして記憶または伝送されてもよい。コンピュータ可読媒体は、ある場所から他の場所にコンピュータプログラムの伝送を容易にする任意の媒体を含むコンピュータ記憶媒体および通信媒体をすべて含むことができる。記憶媒体は、コンピュータによってアクセスすることができる利用可能な媒体であってもよい。例として、限定されるものではないが、このような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光学ディスク記憶デバイス、磁気ディスク記憶デバイスまたは他の磁気記憶デバイス、あるいはある他の媒体を含むことができ、これらは、命令またはデータ構造の形態で所望するプログラムコードを運搬または記憶するのに用いられ得、コンピュータによってアクセスされ得る。また、すべての結合は、適切にコンピュータ可読媒体に行われる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア(twisted pair)、デジタル加入者回線(DSL)または赤外線、無線、およびマイクロウェーブのようなワイヤレス技術を用いてウェブサイト、サーバ、または他の遠隔ソースから伝送される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSLまたは赤外線、無線、およびマイクロウェーブのようなワイヤレス技術は、媒体の規定に含まれる。本明細書において用いられたディスク(diskおよびdisc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多機能ディスク(disc) (DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は一般的にデータを磁気的に再生し、ディスク(disc)はレーザーを用いて光学的にデータを再生する。これらの組合せは、非一時的コンピュータ可読媒体の範囲内に含まれなければならない。
【００８６】
開示された実施形態のこれまでの説明は、すべての当業者が本発明を構成または使用することができるように提供される。このような実施形態に対する様々な修正は、当業者によって容易に行われ得ることが明白であり、本明細書において定義された一般的な原理は、本発明の精神または範囲から外れることなく他の実施形態にも適用され得る。したがって、本発明は、本明細書に示した実施形態に限定されるものではなく、ここに開示された原理および新規の特徴と一致する最も広い範囲を与える。
【符号の説明】
【００８７】
100  デバイス
101  プロセッサ
105  メモリ
110  ネットワークインターフェース
111  WiFi
115  ワイヤレスサブシステム
120  ディスプレイ
121  電源デバイス
125  I/Oコントローラ
130  クロック
135  周辺光センサ(ALS:ambient light sensor)
140  加速度計
145  ジャイロスコープ
150  磁力計
151  温度センサ
152  赤-緑-青(RGB)カラーセンサ
153  紫外線(UV)センサ
155  大気圧センサ
160  全地球測位センサ(GPS)
161  セルラー
165  マイクロホン
166  Bluetooth
167  近接センサ
170  カメラ
171  モジュール
205  センサ
210  マッピングモジュール
215  ローカライズモジュール
220  追跡モジュール
225  コンテキストモジュール
230  アプリケーションデータモジュール
【図１】
2016517575.tif 000003
【図２】
2016517575.tif 000004
【図３】
2016517575.tif 000005
【国際調査報告】
2016517575.tif 000006