(57)【特許請求の範囲】
【請求項１】
携帯型デバイスのカメラから捕捉された画像フレームのシーケンスを取得するステップと、
前記携帯型デバイスの慣性センサーを使用することにより運動データを取得するステップと、
前記運動データにしたがって、サンプリング・フレーム・レートを決定するステップと、
前記サンプリング・フレーム・レートにしたがって、前記捕捉された画像フレームから追跡画像を選択するステップと、
前記追跡画像をポイント・クラウドと比較することにより、前記携帯型デバイスの位置を決定するステップと、
前記決定された位置に基づいて前記携帯型デバイスのディスプレイの上に情報を表示するステップと、
前記ポイント・クラウドのポイントの位置に基づいて、および、前記運動データに基づいて該ポイントについてのぶれ値を決定するステップと、
前記ぶれ値を所定制限と比較するステップと、
前記比較に基づいて、前記ポイント・クラウドのサブセットに対し前記ポイントを選択するか、または前記サブセットから前記ポイントを拒絶するステップと、
前記追跡画像を前記サブセットと比較することにより、前記携帯型デバイスの前記位置を決定するステップと、
を含む方法。
【請求項２】
前記シーケンスは第１フレーム・レートで捕捉され、
前記サンプリング・フレーム・レートは、整数で除した前記第１フレーム・レートに等しい、
請求項１に記載の方法。
【請求項３】
前記整数は、前記携帯型デバイスの角速度が第１所定制限より低く、前記携帯型デバイスの加速度が第２所定制限よりも低いとき、２以上である、請求項２に記載の方法。
【請求項４】
前記サンプリング・フレーム・レートは、前記携帯型デバイスの角速度が第３所定制限以上であり、および／または、前記携帯型デバイスの加速度が第４所定制限以上であるとき、前記第１フレーム・レートに等しい、請求項２または３のいずれか１項に記載の方法。
【請求項５】
前記運動データを使用することにより、位置の変化を決定するステップと、
前記変化および前に決定された位置を使用して、補正された位置を決定するステップと、
を更に含む、請求項１ないし４のいずれか１項に記載の方法。
【請求項６】
画像フレーム中に出現するマッチングする特徴の数を標示する指標値を決定するステップと、
前記マッチングする特徴の数が所定制限よりも小さいとき、前記サンプリング・フレーム・レートを増加するステップと、
を更に含む、請求項１ないし５のいずれか１項に記載の方法。
【請求項７】
ディスプレイと、
画像フレーム・シーケンスを捕捉するように整えられたカメラと、
運動データを提供するための慣性センサーと、
制御ユニットと
を備える携帯型デバイスであって、
前記制御ユニットは、
前記運動データにしたがってサンプリング・フレーム・レートを決定し、
追跡画像をポイント・クラウドと比較することによって前記携帯型デバイスの位置を決定し、
前記決定された位置に基づいて前記ディスプレイの上の情報の表示を制御し、
前記制御ユニットは、更に、
前記ポイント・クラウドのポイントの位置に基づいておよび前記運動データに基づいてこのポイントについてのぶれ値を決定し、
前記ぶれ値を所定制限と比較し、
前記比較に基づいて、前記ポイント・クラウドのサブセットに対し前記ポイントを選択するか、または前記サブセットから前記ポイントを拒絶し、
前記追跡画像を前記サブセットと比較することにより、前記携帯型デバイスの前記位置を決定する、
ように構成される、
携帯型デバイス。
【請求項８】
前記カメラは、第１フレーム・レートで画像フレームの前記シーケンスを捕捉するように構成され、
前記サンプリング・フレーム・レートが、整数で除した前記第１フレーム・レートに等しい、
請求項７に記載の携帯型デバイス。
【請求項９】
前記制御ユニットは、前記携帯型デバイスの角速度が第１所定制限より低く、前記携帯型デバイスの加速度が第２所定制限よりも低いとき、前記整数が２以上であるようにサンプリング・フレーム・レートを決定するように構成される、
請求項８に記載の携帯型デバイス。
【請求項１０】
前記カメラは、第１フレーム・レートで画像フレームの前記シーケンスを捕捉するように構成され、
前記制御ユニットは、前記サンプリング・フレーム・レートは、前記携帯型デバイスの角速度が第３所定制限以上であり、および／または、前記携帯型デバイスの加速度が第４所定制限以上であるとき、前記第１フレーム・レートに等しい、ように、サンプリング・フレーム・レートを決定するように構成される、
請求項７ないし９のいずれか１項に記載の携帯型デバイス。
【請求項１１】
前記制御ユニットは、更に、
前記運動データを使用することにより、位置の変化を決定し、
前記変化および前に決定された位置を使用して、補正された位置を決定する、
ように構成される、
請求項７ないし１０のいずれか１項に記載の携帯型デバイス。
【請求項１２】
更に、電力を供給するためのバッテリを備える、請求項７ないし１１のいずれか１項に記載の携帯型デバイス。
【請求項１３】
前記制御ユニットは、更に、
画像フレーム中に出現するマッチングする特徴の数を標示する指標値を決定し、
前記マッチングする特徴の数が所定制限よりも小さいとき、前記サンプリング・フレーム・レートを増大させる、
ように構成される、
請求項７ないし１２のいずれか１項に記載の携帯型デバイス。
【請求項１４】
携帯型デバイスのカメラから捕捉された画像フレームのシーケンスを取得するためのコードと、
前記携帯型デバイスの慣性センサーから運動データを取得するためのコードと、
前記運動データにしたがってサンプリング・フレーム・レートを決定させるためのコードと、
前記サンプリング・フレーム・レートにしたがって、前記捕捉された画像フレームから追跡画像を選択するためのコードと、
前記追跡画像をポイント・クラウドと比較することによって前記携帯型デバイスの位置を決定するためのコードと、
前記決定された位置に基づいて前記携帯型デバイスのディスプレイの上に情報を表示するためのコードと、
前記ポイント・クラウドのポイントの位置に基づいて、および、前記運動データに基づいて該ポイントについてのぶれ値を決定するためのコードと、
前記ぶれ値を所定制限と比較するためのコードと、
前記比較に基づいて、前記ポイント・クラウドのサブセットに対し前記ポイントを選択するか、または前記サブセットから前記ポイントを拒絶するためのコードと、
前記追跡画像を前記サブセットと比較することにより、前記携帯型デバイスの前記位置を決定するためのコードと、
を備えるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
いくつかのバージョンは、ディスプレイおよびカメラを備えた携帯型デバイスの位置の決定に関する。
【背景技術】
【０００２】
携帯型デバイスは、ディスプレイおよびカメラを備えることができる。ポイント・クラウドが、デバイスの環境を表現することができる。カメラにより捕捉される画像フレームは、複数の視覚的特徴を含むことができる。携帯型デバイスの位置は、視覚的特徴とポイント・クラウドを比較することによって決定可能である。携帯型デバイスは、例えば拡張現実の応用分野において使用することができる。
【発明の概要】
【０００３】
いくつかのバージョンは、携帯型デバイスの位置を決定するための方法に関するものであることができる。いくつかのバージョンは、携帯型デバイスに関するものであることができる。いくつかのバージョンは、携帯型デバイスの位置を決定するためのコンピュータ・プログラムに関するものであることができる。いくつかのバージョンは、携帯型デバイスの位置を決定するためのコンピュータ・プログラム・プロダクトに関するものであることができる。いくつかのバージョンは、携帯型デバイスのディスプレイ上に情報を表示するための方法に関するものであることができる。いくつかのバージョンは、ユーザー・インターフェースに関するものであることができる。
【０００４】
ある態様によると、
−  携帯型デバイスのカメラから捕捉された画像フレームのシーケンスを取得するステップと、
−  携帯型デバイスの慣性センサーを使用することにより運動データを取得するステップと、
−  運動データにしたがってサンプリング・フレーム・レートを決定するステップと、
−  サンプリング・フレーム・レートにしたがって捕捉された画像フレームから追跡画像を選択するステップと、
−  追跡画像をポイント・クラウドと比較することにより、携帯型デバイスの位置を決定するステップと、
−  決定された位置に基づいてデバイスのディスプレイ上に情報を表示するステップと、
を含む方法が提供されている。
【０００５】
ある態様によると、
−  ディスプレイと、
−  画像フレーム・シーケンスを捕捉するように整えられたカメラと、
−  運動データを提供するための慣性センサーと、
−  運動データにしたがってサンプリング・フレーム・レートを決定し、追跡画像とポイント・クラウドを比較することによって携帯型デバイスの位置を決定し、決定された位置に基づいたディスプレイ上の情報の表示を制御するための制御ユニットと、
を備えた、携帯型デバイスが提供されている。
【０００６】
ある態様によると、少なくとも１つのプロセッサ上で実行された場合、装置またはシステムに、
−  携帯型デバイスのカメラから捕捉された画像フレームのシーケンスを取得させ、
−  携帯型デバイスの慣性センサーから運動データを取得させ、
−  運動データにしたがってサンプリング・フレーム・レートを決定させ、
−  サンプリング・フレーム・レートにしたがって捕捉された画像フレームから追跡画像を選択させ、
−  追跡画像をポイント・クラウドと比較することにより、携帯型デバイスの位置を決定させ、
−  決定された位置に基づいてデバイスのディスプレイ上に情報を表示させる、
ように構成されたコンピュータ・プログラム・コードを含むコンピュータ・プログラムが提供されている。
【０００７】
ある態様によると、情報を表示するための手段において、
−  携帯型デバイスのカメラから捕捉された画像フレームのシーケンスを取得するための手段と、
−  携帯型デバイスの慣性センサーから運動データを取得するための手段と、
−  運動データにしたがってサンプリング・フレーム・レートを決定するための手段と、
−  サンプリング・フレーム・レートにしたがって捕捉された画像フレームから追跡画像を選択するための手段と、
−  追跡画像をポイント・クラウドと比較することにより、携帯型デバイスの位置を決定するための手段と、
−  決定された位置に基づいてデバイスのディスプレイ上に情報を表示するための手段と、
を含む、手段が提供されている。
【０００８】
携帯型デバイスの位置は、外部オブジェクトの画像を捕捉し、前記外部オブジェクトを表わすポイント・クラウドとこの画像を比較することによって測定することができる。しかしながら、前記比較には、多数の追跡計算が関与する可能性があり、このことで今度は携帯型デバイスのバッテリからの電気エネルギーが消費される可能性がある。
【０００９】
例えば追跡された画像が有意に変化しない場合および／または視覚的追跡が失敗する確率が高い場合、視覚的追跡計算の数を削減するために、モーション・センサーから得たモーション・センサー・データを使用することができる。視覚的追跡計算の数を削減すると、デバイスの電力消費を削減することができる。
【００１０】
携帯型デバイスは、バッテリにより電力供給を受けることができる。平均電力消費量を削減することで、バッテリのサイズの縮小を可能にすることができる。電力消費量を削減することによって、一回の再充電による携帯型デバイスの動作時間を延長させることができる。電力消費量を削減することで、電池式拡張現実デバイスの利用時間を著しく延長することができる。平均電力消費量の削減により、携帯型デバイスのバッテリの無線再充電を容易にすることができる。
【００１１】
視覚的追跡計算のためのフレーム・レートは、ポイント・クラウドとの画像フレームの比較から緩慢な変化が標示された場合に、低減する可能性がある。この場合、位置の小さな変化を決定するために、モーション・センサー・データを使用することができる。
【００１２】
例えば、連続する画像間の差が小さい場合、視覚的追跡計算のフレーム・レートを削減することができる。この場合、携帯型デバイスの位置の小さな変化を、モーション・センサー・データを使用することによって決定することができる。
【００１３】
カメラの運動に起因して過度にぼけていない特徴のみを使用することにより、特徴マッチングを行なうことができる。
【００１４】
視覚的追跡品質を監視するためには、視覚的品質査定方法を任意に使用することができる。視覚的追跡品質が一定の閾値より高く維持されているかぎり、画像解析のためのフレーム・レートを低減させることができる。視覚的追跡品質が過度に低い場合、画像解析のためのフレーム・レートを増大させることができる。
【００１５】
以下の実施例においては、添付図面を参照しながら、いくつかの変形形態についてより詳しく説明する。
【図面の簡単な説明】
【００１６】
【図１ａ】例として、環境内の携帯型デバイスを示す。
【図１ｂ】例として、環境内のヘッド・マウント型デバイスを示す。
【図２】例として、携帯型デバイスの機能的ユニットを示す。
【図３ａ】携帯型デバイスのカメラにより捕捉されたビデオ・シーケンスの画像フレームからの追跡画像のサンプリングを示す。
【図３ｂ】例として、携帯型デバイスのカメラにより捕捉された画像フレームからの追跡画像の選択を示す。
【図４ａ】例として、追跡画像の視覚的特徴をポイント・クラウドと比較することによる携帯型デバイスの位置の決定を示す。
【図４ｂ】例として、ポイント・クラウドのサブセットに対するポイントの選択を示す。
【図５ａ】例として、追跡画像を選択するためおよび携帯型デバイスの位置を決定するための方法ステップを示す。
【図５ｂ】例として、追跡画像を選択するため、ポイント・クラウドのサブセットを形成するため、および携帯型デバイスの位置を決定するための方法ステップを示す。
【図５ｃ】例として、追跡画像を選択するため、ポイント・クラウドのサブセットを形成するため、および携帯型デバイスの位置を外挿するための方法ステップを示す。
【図６】例として、追跡のロバスト性を監視するための方法ステップを示す。
【図７ａ】例として、通信システムを示す。
【図７ｂ】例として、携帯型デバイスを示す。
【発明を実施するための形態】
【００１７】
図１ａを参照すると、携帯型デバイス５００を移動させて、環境ＥＮＶ１内で使用することができる。環境ＥＮＶ１は、１つ以上の実オブジェクトＯＢＪ１、ＯＢＪ２、ＯＢＪ３、ＯＢＪ４を含むことができる。オブジェクトは視覚的特徴Ｆ１、Ｆ２を含むことができる。デバイス５００は、視覚的特徴Ｆ１、Ｆ２の画像を捕捉するように整えることのできるカメラＣＡＭ１を備えることができる。デバイス５００は、外部オブジェクトの画像を捕捉するためのカメラＣＡＭ１を備えることができる。視覚的特徴Ｆ１、Ｆ２をポイント・クラウドＰＣと比較することによってデバイス５００の位置ＰＯＳを決定するように、デバイス５００を整えることができる。ポイント・クラウドＰＣは、環境のオブジェクトＯＢＪ１、ＯＢＪ２を表わすことができ、例えばデバイス５００のメモリ中に、ポイント・クラウドＰＣを記憶することができる。その後、デバイス５００の決定された位置ＰＯＳを、例えばデバイス５００の動作を制御するために使用することができる。
【００１８】
ポイント・クラウドＰＣkは、複数のポイントＰを含むことができる。ポイントは１つ以上のオブジェクトＯＢＪ１、ＯＢＪ２を表わすことができる。デバイス５００は、ポイント・クラウドＰＣkを記憶するためのメモリを備えることができる。追跡画像ＩＭＧkをポイント・クラウドＰＣkと比較することにより、デバイスの瞬時位置ＰＯＳkを決定するように、デバイス５００を構成することができる。
【００１９】
デバイス５００は、捕捉された画像および情報ＩＮＦ１、ＩＮＦ２を表示するためのディスプレイＤＩＳＰ１を備えることができる。ディスプレイＤＩＳＰ１は、例えばタッチ・スクリーンであることができる。
【００２０】
ＩＮＦ１、ＩＮＦ２がデバイス５００の決定された位置ＰＯＳに基づいてデータベースから選択されるようにディスプレイＤＩＳＰ１上に情報ＩＮＦ１、ＩＮＦ２を表示するように整えることができる。デバイス５００の決定された位置に基づいて、ディスプレイＤＩＳＰ１上の表示された情報ＩＮＦ１、ＩＮＦ２が選択されるように、情報ＩＮＦ１、ＩＮＦ２を表示するように、デバイス５００を整えることができる。決定された位置ＰＯＳを、デバイス５００上で実行中のアプリケーションに対するユーザー入力として使用することができる。
【００２１】
決定された位置ＰＯＳを、デバイス５００上で実行中の拡張現実アプリケーションなどを制御するためのユーザー入力として使用することができる。例えば、デバイスは、デバイスが、情報ＩＮＦ１と結びつけられた店舗（例えば「ＡＢＣ」の扉ＯＢＪ１の近くにあることを決定することができる。デバイスは、デバイスの決定された位置に基づいてデータベースから関連する情報を検索することができる。決定された位置ＰＯＳに基づいてデータベースから情報ＩＮＦ１を読み取ることができる。デバイス５００は、デバイス５００のユーザーに対して追加情報を提供する目的で、扉ＯＢＪ１の画像ＳＵＢ１を情報ＩＮＦ１と共に表示することができる。例えば、デバイスは、デバイスが地下鉄の駅の扉ＯＢＪ３に近いことを決定することができる。デバイス５００は、デバイス５００のユーザーに対して追加情報を提供する目的で、扉ＯＢＪ３の画像ＳＵＢ３を情報ＩＮＦ２（例えば「Ｍ」）と共に表示することができる。ディスプレイＤＩＳＰ１は、画像ＤＩＭＧ１を表示するように構成されることができる。表示された画像ＤＩＭＧ１は、デバイス５００の視野内にあるオブジェクトの画像を含むことができる。表示された画像ＤＩＭＧ１は、表示された情報ＩＮＦ１、ＩＮＦ２を含むことができる。オブジェクトＯＢＪ１、ＯＢＪ３の画像ＳＵＢ１、ＳＵＢ３を、例えば部分画像と呼ぶことができる。
【００２２】
オブジェクトＯＢＪ２、ＯＢＪ２、ＯＢＪ３、ＯＢＪ４およびデバイス５００は、直交方向ＳＸ、ＳＹおよびＳＺによりおよび静止基準点ＲＥＦ１により定義される実空間内の位置を有することができる。デバイス５００の位置は、デバイス５００の限定のポイントＣ１の位置を意味することができる。ポイントＣ１は、例えば、カメラＣＡＭ１のレンズＬＮＳ１の中心にあることができる。デバイス５００を、空間の三次元および角度の三次元内で移動させることができる。時間ｔkにおけるデバイス５００の位置ＰＯＳkを、デバイス５００の空間位置を規定することおよびデバイス５００の角度位置を定義することによって、完全に定義することができる。空間位置は、３つの空間座標（ｘk、ｙk、ｚk）により規定することができ、角度位置は３つの角座標（αk、βk、γk）により規定することができる。デバイス５００は、直交方向ＳＵ、ＳＶ、ＳＷによって定義される移動体座標系を有することができる。移動体座標系は、デバイス５００に固定され、デバイス５００と共に移動する。
【００２３】
ここで図１ｂを参照すると、デバイス５００は、ヘッド・マウント式デバイス５００であることができる。ヘッド・マウント式デバイス５００は、仮想画像ＶＯＢ１、ＶＯＢ２をユーザーＵ１に表示するための仮想ディスプレイＤＩＳＰ１を備えることができる。ユーザーＵ１は、デバイス５００を装着することができる。ヘッド・マウント式デバイス５００のユーザーＵ１の視野内にあるオブジェクトＯＢＪ１、ＯＢＪ２の画像ＩＭＧkを捕捉するように、カメラＣＡＭ１を整えることができる。
【００２４】
仮想ディスプレイＤＩＳＰ１は、第１の光学エンジン１０ａを備えることができる。仮想ディスプレイＤＩＳＰ１は、任意には、光学エンジン１０ａの射出瞳を拡張させるための射出瞳エクステンダー（ＥＰＥ）２０ａを備えることができる。射出瞳エクステンダーは同様に、例えばビーム・エクスパンダーとも呼ぶことができる。仮想ディスプレイＤＩＳＰ１は、１つ以上の光ビームＢ１を生成でき、このビームは、ユーザーＵ１の目Ｅ１に衝突して、ユーザーＵ１の目Ｅ１の網膜上に光学画像を形成することができる。光ビームＢ１は、網膜上に光学画像を形成することができる。ユーザーＵ１に対して１つ以上の仮想画像ＶＯＢ１、ＶＯＢ２を表示するように、仮想ディスプレイＤＩＳＰ１を整えることができる。デバイス５００の決定された位置に基づいてディスプレイＤＩＳＰ１上に情報ＩＮＦ１、ＩＮＦ２を表示するように、デバイス５００を整えることができる。仮想画像ＶＯＢ１は、情報ＩＮＦ１を表わすことができ、仮想画像ＶＯＢ１は、情報ＩＮＦ２を表わすことができる。デバイス５００は、デバイス５００のユーザーに対して追加の情報を提供する目的で、デバイス５００のユーザーＵ１が見た場合に仮想画像ＶＯＢ１の位置が実オブジェクトＯＢＪ１の位置とマッチングするように、仮想画像ＶＯＢ１を表示することができる。デバイス５００は、デバイス５００のユーザーＵ１が見た場合に、仮想画像ＶＯＢ１の位置が実オブジェクトＯＢＪ１の位置と関係づけされるように、仮想画像ＶＯＢ１を表示することができる。
【００２５】
拡張現実アプリケーションのためには、射出瞳エクステンダー２０ａは、ユーザーＵ１が射出瞳エクステンダー２０ａを通して環境ＥＮＶ１の実オブジェクトを見ることができるように少なくとも部分的に透明であることができる。しかしながら、仮想ディスプレイＤＩＳＰ１は、同様に、ユーザーＵ１に対し環境ＥＮＶ１の実オブジェクトの画像を表示することもできる。この場合、射出瞳エクステンダー２０ａは、射出瞳エクステンダー２０ａを通した実オブジェクトの直接的ビューイングを可能にする必要がない。
【００２６】
デバイス５００は、任意には、ユーザーＵ１のもう一方の目Ｅ２に仮想画像を表示するための第２の光学エンジン１０ｂおよび／または第２の射出瞳エクステンダー２０ｂを備えることができる。仮想ディスプレイＤＩＳＰ１は、１つ以上の光ビームＢ２を生成することができ、このビームは、ユーザーＵ１の第２の目Ｅ２に衝突して、ユーザーＵ１の目Ｅ２の網膜上に光学画像を形成することができる。光ビームＢ２は、網膜上に光学画像を形成できる。両目Ｅ１、Ｅ２のために同じ画像を生成するように、光学エンジン１０ａ、１０ｂを整えることができる。目Ｅ１に第１の画像を生成するように光学エンジン１０ａを整え、目Ｅ２に第２の画像を生成するように光学エンジン１０ｂを整えて、立体画像を表示することができる。
【００２７】
デバイス５００は、任意には、デバイス５００の装着を容易にするための１つ以上のイヤ・ピース９１ａ、９１ｂを備えることができる。デバイス５００は同様に、ヘッドギヤまたはヘルメットに取付けることもできる。
【００２８】
図２を参照すると、デバイス５００は、データを処理しおよび／またはデバイス５００の動作を制御するための制御ユニットＣＮＴ１を備えることができる。制御ユニットＣＮＴ１は、１つ以上のデータ・プロセッサを備えることができる。
【００２９】
デバイス５００は、映像を捕捉するためのカメラＣＡＭ１を含むことができる。カメラＣＡＭ１は、外部オブジェクトＯＢＪ１、ＯＢＪ２の複数の連続する画像フレームＦj、Ｆj＋、Ｆj+2、．．．を含む画像シーケンスＳＥＱ１を捕捉することができる。カメラＣＡＭ１は、結像光学系ＬＮＳ１と画像センサーＤＥＴ１とを備えることができる。画像センサーＤＥＴ１は、検出器画素の二次元アレイを含むことができる。画像センサーＤＥＴ１は、例えばＣＭＯＳデバイス（相補型金属酸化膜半導体）またはＣＣＤデバイス（電荷結合素子）であることができる。
【００３０】
デバイス５００は、運動データＭＤＡＴを提供するように整えることが可能であるセンサーＳＥＮ１、センサーＳＥＮ２、および／またはセンサーＳＥＮ３を備えることができる。運動データＭＤＡＴを、モーション・センサー・データとも呼ぶこともできる。
【００３１】
デバイス５００は、ジャイロスコープを含む慣性センサーＳＥＮ１を備えることができる。ジャイロスコープは例えば、レーザー・ジャイロスコープまたは振動構造ジャイロスコープであることができる。慣性センサーＳＥＮ１は、例えば微小電気機械システム（ＭＥＭＳ）を使用することによって実装可能である。慣性センサーＳＥＮ１を、角速度ωu、ωvおよび／またはωwを標示するセンサー信号ＳMVを提供するように整えることができる。慣性センサーＳＥＮ１から取得したセンサー信号ＳMVは、角速度ωu、ωv、および／またはωwを標示する運動データＭＤＡＴを含むことができる。ωuは、軸ＳＵを中心とする角速度を意味する。ωvは、軸ＳＶを中心とする角速度を意味する。ωwは、軸ＳＷを中心とする角速度を意味する。ジャイロスコープは、３軸ジャイロスコープであることができる。
【００３２】
デバイス５００は、加速度センサーを含む慣性センサーＳＥＮ２を備えることができる。慣性センサーＳＥＮ２は、例えば微小電気機械システム（ＭＥＭＳ）を使用することによって実装可能である。加速度ａu、ａvおよび／またはａwを標示するセンサー信号ＳMVを提供するように、慣性センサーＳＥＮ２を整えることができる。慣性センサーＳＥＮ２から取得したセンサー信号ＳMVは、加速度ａu、ａyおよび／またはａwを標示する運動データＭＤＡＴを含むことができる。ａuは、方向ＳＵにおける加速度を意味し、ａvは、方向ＳＶにおける加速度を意味し、ａwは方向ＳＷにおける加速度を意味する。慣性センサーＳＥＮ２は３軸加速度センサーであることができる。加速度センサーＳＥＮ２は同様に、重力方向を決定するための情報も提供することができる。
【００３３】
デバイス５００は、磁気コンパスＳＥＮ３を含むことができる。デバイス５００の配向角α、βおよび／またはγを標示するセンサー信号ＳMVを提供するように磁気コンパスＳＥＮ３を整えることができる。磁気コンパスＳＥＮ３から取得したセンサー信号ＳMVは、デバイス５００の配向角α、βおよび／またはγを標示する運動データＭＤＡＴを含むことができる。方向ＳＸ、ＳＹおよびＳＺとの関係におけるデバイス５００の配向は、地球の磁場との関係および重力方向との関係におけるデバイス５００の配向を測定することによって測定することができる。デバイス５００の角速度は、デバイス５００の配向角α、βおよび／またはγの変化率から決定できる。センサーＳＥＮ３から取得したセンサー信号ＳMVから１つ以上の角速度値を決定するように、デバイス５００を構成することができる。デバイス５００を、センサーＳＥＮ３から取得した運動データＭＤＡＴから１つ以上の角速度値を決定するように構成することができる。
【００３４】
デバイス５００は、ユーザー・インターフェースＵＩＦ１を備えることができる。ユーザー・インターフェースＵＩＦ１は、ディスプレイＤＩＳＰ１を備えることができる。ディスプレイＤＩＳＰ１は、例えば仮想ディスプレイまたはタッチ・スクリーンであることができる。ユーザー・インターフェースＵＩＦ１は、ユーザーＵ１からのユーザー入力を受信するための入力ユニットＫＥＹ１を備えることができる。入力ユニットＫＥＹ１は、例えばタッチ・スクリーン、１つ以上のキー、マウス、視線追跡ユニット、および／または音声認識ユニット（およびマイクロフォン）を含むことができる。ユーザー入力は同様に、デバイス５００の位置ＰＯＳから決定することもできる。例えば、一定の方法でのデバイス５００のシェイキングは、所定のユーザー入力を表わすことができる。
【００３５】
デバイス５００は、第２のデバイスからデータを受信するためおよび第２のデバイスにデータを伝送するための通信ユニットＲＸＴＸ１を備えることができる。第２のデバイスは、例えば、インターネット・サーバーＳＥＲＶ１であることができる。ＣＯＭ１は、通信信号を意味する。
【００３６】
デバイス５００は、デバイス５００の他のユニットに電気エネルギーを提供するためのバッテリＢＡＴ１を備えることができる。バッテリは、例えば再充電可能リチウムイオン電池または再充電可能ニッケル水素電池であることができる。詳細には、バッテリＢＡＴ１は、制御ユニットＣＮＴ１に対してエネルギーを提供することができる。
【００３７】
デバイス５００は、デバイス５００の動作を制御するためのコンピュータ・プログラムＰＲＯＧ１を記憶するためのメモリＭＥＭ１を備えることができる。デバイス５００は、ポイント・クラウドＰＣkを記憶するためのメモリＭＥＭ２を備えることができる。デバイス５００は、例えばデバイス５００の決定された位置を記憶するためのメモリＭＥＭ３を備えることができる。
【００３８】
図３ａを参照すると、カメラＣＡＭ１は、複数の連続する画像フレームＦj-2、．．．Ｆj、Ｆj＋、Ｆj+2、．．．、Ｆj+11を含む画像シーケンスＳＥＱ１を捕捉することができる。各画像フレームは、デバイス５００の瞬時位置から見た場合の環境ＥＮＶ１の瞬時ビューを表わすことができる。画像フレームＦj-2、．．．Ｆj、Ｆj＋、Ｆj+2、．．．、Ｆj+11は、フレーム・レートｆSEQ1で捕捉可能である。
【００３９】
視覚的追跡は、通常、カメラＣＡＭ１のフレーム・レートｆSEQ1で実行可能である。
【００４０】
フレーム・レートｆSEQ1は、例えば２４Ｈｚ〜１２０Ｈｚの範囲内にあることができる。カメラＣＡＭ１が実際に運動または回転していない場合、連続的画像間の差は、小さいものであることができ、追跡計算の大部分は冗長計算となる可能性がある。回転がほとんどまたは全く無いことをセンサー信号ＳMVが標示した場合、これは同様に、連続する画像フレーム間の差が小さいものであり得ることも標示する。この場合、視覚的追跡計算のためのフレーム・レートｆAは、カメラＣＡＭ１のフレーム・レートｆSEQ1と比較して削減される可能性がある。
【００４１】
追跡画像ＩＭＧの視覚的特徴Ｆ１、Ｆ２をポイント・クラウドＰＣと比較することにより、デバイス５００の位置を決定することができる。追跡画像ＩＭＧk-1、ＩＭＧk、ＩＭＧk+1、ＩＭＧk+2、ＩＭＧk+3、ＩＭＧk+4を、フレーム・サンプリング・レートｆAにしたがって、連続する画像フレームＦj-2、．．．Ｆj、Ｆj＋、Ｆj+2、．．．、Ｆj+11から選択することができる。フレーム・サンプリング・レートｆAは、フレーム・レートｆSEQ1の例えば１／２、１／３、１／４、１／６、１／６、１／７または１／８倍であることができる。シーケンスＳＥＱ１を第１のフレーム・レートｆSEQ1で捕捉することができ、サンプリング・フレーム・レートｆAは、第１のフレーム・レートを整数ＮDIVで除したものに等しいものであることができる。サンプリング・フレーム・レートｆAを、サンプリング・フレーム・レートｆAがフレーム・レートｆSEQ1を整数ＮDIVで除したものに等しくなるように、決定することができる。整数ＮDIVは、第１の時間周期中第１の値を有することができ、整数ＮDIVは、第２の時間周期中、第２の異なる値を有することができる。例えば、整数ＮDIVは、ｔk-1からｔk+1までの第１の時間周期中、３に等しいものであることができ、整数ＮDIVは、ｔk+1からｔk+4の第２の時間周期中、２に等しいことができる。
【００４２】
携帯型デバイス５００の運動は、例えば慣性センサーＳＥＮ１および／またはＳＥＮ２を使用することにより検出可能である。慣性センサーは、例えば３軸加速度計および／または３軸ジャイロスコープを備えることができる。ジャイロスコープは、例えばレーザー・ジャイロスコープまたは振動構造ジャイロスコープであることができる。慣性センサーＳＥＮ１は、例えば微小電気機械システム（ＭＥＭＳ）を使用することによって実装可能である。携帯型デバイスの運動を標示するセンサー信号ＳMVを提供するように、慣性センサーＳＥＮ１を整えることができる。センサー信号ＳMVは、携帯型デバイス５００の運動を規定する運動データＭＤＡＴを含むことができる。運動データＭＤＡＴは、例えば、一方向（例えば方向ＳＵ）におけるデバイス５００の加速度ａk、および／または１つの軸（例えば方向ＳＵ）を中心としたデバイスの角速度をωkを規定することができる。
【００４３】
センサー信号ＳMVは、同様に、コンパスから取得した運動データＭＤＡＴを含むこともできる。センサー信号は、磁気コンパスから取得した運動データＭＤＡＴを含むことができる。
【００４４】
視覚的追跡のためのフレーム・レートｆAは、例えば、カメラＣＡＭ１によって捕捉された２つに１つの画像フレームを解析することにより、フレーム・レートｆSEQ1の１／２であることができる。視覚的追跡のためのフレーム・レートｆAは、例えば、カメラＣＡＭ１によって捕捉された３つに１つの画像フレームを解析することにより、フレーム・レートｆSEQ1の１／３であることができる。視覚的追跡のためのフレーム・レートは、例えば、カメラＣＡＭ１により捕捉された４つに１つの画像フレームを解析することにより、フレーム・レートｆSEQ1の１／４であることができる。視覚的追跡のためのフレーム・レートｆAは、例えば、フレーム・レートｆSEQ1の１/２、１/３、１/４、１/５、１/６、１/７、１/８、．．、１/１５、１/１６、１/１７、．．、１/３１、１/３２、１/３３、．．であることができる。携帯型デバイス５００の位置を、センサー信号から決定することができる。携帯型デバイス５００の位置は、画像フレームから先行位置を決定し、センサー信号からの位置の変化を決定することによって外挿できる。携帯型デバイス５００がより高速で運動または回転し始めたことをセンサー信号が標示した時点で、視覚的追跡のためのフレーム・レートｆAを増大させることができる。視覚的追跡のためのフレーム・レートｆAがカメラＣＡＭ１のフレーム・レートｆSEQ1に等しくなるように、すなわち、カメラＣＡＭ１によって捕捉される全ての画像フレームを解析できるように、フレーム・レートｆAを増大させることができる。一実施形態においては、カメラＣＡＭ１のフレーム・レートｆSEQ1を、公称フレーム・レートｆｏから削減することができる。
【００４５】
追跡画像ＩＭＧk-1は、時間ｔk-1において捕捉された画像フレームＦであることができる。
【００４６】
追跡画像ＩＭＧkは、時間ｔkにおいて捕捉された画像フレームＦであることができる。追跡画像ＩＭＧk+1は、時間ｔk+1において捕捉された画像フレームＦであることができる。
【００４７】
ポイント・クラウドを再構成または更新することができる。先行ポイント・クラウドＰＣk-1を更新することによって、ポイント・クラウドＰＣkを決定することができる。ポイント・クラウドＰＣkを更新することによって、後続ポイント・クラウドＰＣk+1を決定することができる。
【００４８】
ポイント・クラウドＰＣkは、複数の先に捕捉された画像、ＩＭＧk-2、ＩＭＧk-1を解析することによって形成されたものであることができる。ポイント・クラウドＰＣkは、再構成されたポイント・クラウドであることができる。ポイント・クラウドＰＣkを、捕捉された画像ＩＭＧkの解析に基づいて更新することができる。更新されたポイント・クラウドＰＣk+1は、先行ポイント・クラウドＰＣkから、および１つ以上の先行画像ＩＭＧk-2、ＩＭＧk-1、ＩＭＧkの解析に基づいて、決定することができる。
【００４９】
ポイント・クラウドＰＣkまたはＰＣk+1は、同様にデータベースから、または第２のデバイスのメモリから取得することもできる。ポイント・クラウドＰＣkまたはＰＣk+1は、例えばインターネットを介してかまたは移動体通信システムを介して、デバイス５００に通信可能である。
【００５０】
時間ｔk-1、ｔk、ｔk+1、ｔk+2、ｔk+3、ｔk+4．．．において捕捉された画像フレームを、追跡画像ＩＭＧk、ＩＭＧk+1、ＩＭＧk+2、ＩＭＧk+3、ＩＭＧk+4、．．．として使用することができる。該方法は、時間ｔk-1、ｔk、ｔk+1、ｔk+2、ｔk+3、ｔk+4．．．に対応する複数の連続するポイント・クラウドＰＣk-1、ＰＣk+1、ＰＣk+2、ＰＣk+3、ＰＣk+4．．．を決定するステップを含むことができる。サンプリング・フレーム・レートｆAがフレーム・レートｆSEQ1よりも低い場合、１つ以上の捕捉された画像フレームが追跡画像として使用されることはない。例えば、追跡画像として画像フレームＦj+2およびＦj+3が使用されないように、捕捉された画像フレームＦj+1およびＦj+4を、追跡画像ＩＭＧk、ＩＭＧk+1として使用することができる。画像フレームＦj+3は、時間ｔj+3において捕捉可能である。画像フレームＦj+3は、画像フレームＦj+1の捕捉後、および画像フレームＦj+4の捕捉前に捕捉することができる。
【００５１】
ポイント・クラウドと追跡画像の比較は、電力を消費する可能性がある。フレーム・サンプリング・レートｆAは、エネルギーを節約するため、フレーム・レートｆSEQ1より低いものであることができる。フレーム・サンプリング・レートｆAは、慣性センサーＳＥＮ１から取得したセンサー信号ＳMVに基づいて調整可能である。フレーム・サンプリング・レートｆAは、慣性センサーＳＥＮ２から取得したセンサー信号ＳMVに基づいて調整することができる。フレーム・サンプリング・レートｆAは磁気コンパスＳＥＮ３から取得したセンサー信号ＳMVに基づいて調整することができる。
【００５２】
図３ｂを参照すると、シーケンスＳＥＱ１の画像フレームは、デバイス５００の瞬時位置から見た場合の環境ＥＮＶ１の瞬時ビューを表わすことができる。追跡画像ＩＭＧkは、フレーム・サンプリング・レートｆAにしたがって、画像フレームＦj-1、Ｆj、Ｆj+1、Ｆj+2から選択可能である。追跡画像の数は、シーケンスＳＥＱ１の画像フレームの数より少ないものであることができる。さらに、直近の追跡画像は、カメラＣＡＭ１により捕捉された直近の画像フレームでない画像フレームであり得る。
【００５３】
図４ａを参照すると、追跡画像ＩＭＧkは、複数の特徴Ｆ１、Ｆ２、．．．を含むことができる。特徴Ｆ１、Ｆ２、．．．は、例えば視覚的特徴と呼ぶことができ、画像ＩＭＧkは、例えば追跡画像と呼ぶことができる。画像ＩＭＧkの特徴Ｆ１、Ｆ２．．．は、環境ＥＮＶ１の実オブジェクトＯＢＪ１、ＯＢＪ２の特徴Ｆ１，Ｆ２の部分画像であることができる。
【００５４】
ポイント・クラウドＰＣkは、３次元仮想空間内で複数のポイントを含むことができる。ポイント・クラウドの各ポイントは、画像フレーム内に出現する候補特徴を表わすことができる。
【００５５】
仮想空間は、直交する方向ＳＸ’、ＳＹ’、ＳＺ’および基準点ＲＥＦ２により定義することができる。ポイント・クラウドＰＣkの各ポイントＰの空間位置は、空間座標（ｘ’、ｙ’、ｚ’）によって定義できる。デバイス５００は、ポイント・クラウドＰＣkのポイントの位置を記憶するためのメモリを備えることができる。
【００５６】
デバイス５００は、仮想空間内に仮想位置ＰＯＳ２kを有することができる。デバイス５００の仮想位置ＰＯＳ２kは、デバイス５００の仮想空間位置を規定し、デバイス５００の仮想角位置を定義することによって定義することができる。空間位置は、３つの空間座標（ｘ’、ｙ’、ｚ’）によって規定でき、角位置は、３つの角座標（α’、β’、γ’）により規定することができる。
【００５７】
デバイス５００は、追跡画像ＩＭＧkの視覚的特徴Ｆ１、Ｆ２、．．．をポイント・クラウドＰＣkのポイントＰと比較することによって、仮想位置ＰＯＳ２kを決定するように構成することができる。追跡画像ＩＭＧkの視覚的特徴Ｆ１、Ｆ２、．．．．が、ポイント・クラウドＰＣkのポイントＰと充分な程度にマッチングするように、仮想空間内のデバイス５００の仮想位置ＰＯＳ２kを決定するように、デバイス５００を構成することができる。位置ＰＯＳ２kは、ポイント・クラウドＰＣkのポイントＰとの関係において、すなわち仮想空間内で、デバイスの位置を規定することができる。その後、環境ＥＮＶ１内のデバイス５００の位置ＰＯＳkを、座標変換により仮想位置ＰＯＳ２kから決定することができる。仮想空間の座標系は同様に、デバイス５００の位置ＰＯＳkが仮想位置ＰＯＳ２kに等しくなるように、選択されることができる。その場合、座標変換は必要とされない。
【００５８】
デバイス５００は、ポイント・クラウドＰＣkから１つ以上の候補画像を決定するように構成されることができる。候補画像とは、ポイントＰを仮想位置ＰＯＳ２kから見た場合の、ポイント・クラウドＰＣkのポイントＰの画像を意味する。ポイント・クラウドＰＣkの各ポイントＰは、候補画像の１ポイントに対応することができる。候補画像の複数のポイントを計算し、候補のポイントが追跡画像ＩＭＧkのポイントとマッチングするか否かを検査するように、デバイス５００を構成することができる。
【００５９】
換言すると、追跡計算を行なうようにデバイス５００を構成することができる。ポイント・クラウドＰＣkは、典型的には、異なる方向から見た場合に、異なって見える。デバイス５００は、候補画像のポイントが追跡画像の特徴Ｆ１、Ｆ２とマッチングするように、位置ＰＯＳ２kを決定するように構成されることができる。
【００６０】
デバイスの位置は、
−  携帯型デバイス５００のカメラＣＡＭ１から捕捉された画像フレームＦj、Ｆj+1、Ｆj+2のシーケンスＳＥＱを取得するステップと、
−  携帯型デバイス５００の慣性センサーＳＥＮ１を使用することによって、慣性センサーＳＥＮ２を使用することによって、および／またはコンパスＳＥＮ３を使用することによって、運動データＭＤＡＴを取得するステップと、
−  運動データＭＤＡＴにしたがってサンプリング・フレーム・レートＦAを決定するステップと、
−  サンプリング・フレーム・レートＦAにしたがって捕捉された画像フレームＦj、Ｆj+1、Ｆj+2から追跡画像ＩＭＧKを選択するステップと、
−  追跡画像ＩＭＧKをポイント・クラウドＰＣKと比較することにより、携帯型デバイス５００の位置ＰＯＳk、ＰＯＳ２kを決定するステップと、
を含む方法によって決定することができる。
【００６１】
その後、決定された位置ＰＯＳk、ＰＯＳ２kに基づいてデバイス５００のディスプレイＤＩＳＰ１上に情報ＩＮＦ１、ＩＮＦ２を表示することができる。ディスプレイＤＩＳＰ１は、例えば仮想ディスプレイまたはタッチ・スクリーンであることができる。
【００６２】
追跡画像ＩＭＧkの各々の視覚的特徴をポイント・クラウドＰＣkの各ポイントと比較する場合、追跡画像ＩＭＧkの比較には大量のデータ処理が必要となる可能性がある。
【００６３】
比較を容易にするために、ポイント・クラウドＰＣkのサブセットＳＣkを形成することができる。サブセットＳＣkのポイント数は、実質的に、ポイント・クラウドＰＣkのポイント数よりも少ないものであり得る。
【００６４】
例えば、視覚的特徴Ｆ１は、デバイスに近いオブジェクトＯＢＪ１のポイントを表わすことができ、視覚的特徴Ｆ２は、デバイス５００から遠いオブジェクトＯＢＪ３のポイントを表わすことができる。デバイス５００が高速で運動した場合、視覚的特徴Ｆ１は、視覚的特徴Ｆ２よりも高い確率で追跡画像ＩＭＧk内でぶれる。デバイス５００が並進運動する場合、視覚的特徴Ｆ１は、遠隔のオブジェクトＯＢＪ３の視覚的特徴Ｆ２に比べて、追跡画像ＩＭＧk内でぶれる確率が高い。デバイス５００は、ぶれた特徴に関連した比較動作を削減することによって、電力を節約することができる。
【００６５】
デバイス５００は、追跡画像ＩＭＧk内の鮮明な特徴に対応する確率の高いポイントＰを選択することによって、ポイント・クラウドＰＣkのサブセットＳＣkを形成するように構成されることができる。デバイス５００は、追跡画像ＩＭＧk内のぶれた特徴に対応する確率の高いポイントＰを拒絶することによって、ポイント・クラウドＰＣkのサブセットＳＣkを形成するように構成されることができる。デバイス５００は、ポイント・クラウドＰＣkの各ポイントについて、ぶれ値ＢＶを決定するように構成されることができる。１つのポイントのぶれ値ＢＶは、前記ポイントに対応する特徴の推定上のぶれの程度を標示することができる。
【００６６】
カメラが過度に急速に回転または運動している場合、画像フレーム内に出現する特徴はぶれる可能性がある。この場合、視覚的追跡は失敗する確率が高い。時として視覚的特徴を全く識別できない可能性もある。しかしながら、ポイント・クラウドのポイントに対応する特徴のぶれの程度は、センサー信号に基づいて計算することができる。ぶれの程度を、例えばぶれ値によって規定することができる。特徴のぶれ値が閾値を上回った場合、これは、その特徴が過度にぶれているために認識されないことを標示することができる。追跡計算においては、ぶれた特徴に結びつけられたポイントを無視することができる。特徴マッチングは、比較的鮮明な特徴に対応するポイントについてのみ行なうことができる。高速モーション中、携帯型デバイスの位置を決定するために、センサー信号を使用することができる。閾値は、例えばカメラの分解能および／またはカメラの露出時間に依存する可能性がある。
【００６７】
デバイス５００は、高速ｖkで運動することができ、および／またはデバイスは、角速度ωkで回転することができる。追跡画像ＩＭＧkの１つ以上の視覚的特徴Ｆ１、Ｆ２は、速度ｖkが過度に高い場合および／または角速度ωkの場合に、ぶれる可能性がある。例えば、デバイス５００を装着しているユーザーＵ１が走るかまたは頭を回して、追跡画像ＩＭＧkがぶれた視覚的特徴Ｆ１、Ｆ２を含む可能性がある。追跡画像ＩＭＧkの１つ以上の視覚的特徴Ｆ１、Ｆ２は同様に、カメラＣＡＭ１が急速に加速している場合にもぶれる可能性がある。オブジェクトの１つの特徴のぶれの程度は、カメラＣＡＭ１とオブジェクトＯＢＪ１、ＯＢＪ２の間の距離に依存することができる。ぶれの程度は同様に、カメラＣＡＭ１の分解能、および／または照明条件にも依存することができる。
【００６８】
デバイス５００は、１つ以上のセンサー信号ＳMVを提供するため、慣性センサーＳＥＮ１、ＳＥＮ２を備えることができる。デバイス５００は、センサー信号ＳMVを提供するため１つ以上の慣性センサーＳＥＮ１、ＳＥＮ２を備えることができる。慣性センサーＳＥＮ１、ＳＥＮ２は、例えば加速度センサーおよびジャイロスコープであることができる。センサー信号ＳMVは、デバイス５００の加速度および／または角速度ωkを標示することができる。速度はｖkは、デバイス５００の加速度を積分することによって決定できる。
【００６９】
図４ｂを参照すると、デバイス５００は、先行する仮想位置ＰＯＳ２k-1を有することができる。ポイント・クラウドＰＣkの各ポイントＰは、前記ポイントＰと先行仮想位置ＰＯＳ２k-1の間の距離Ｌ’と結びつけられることができる。デバイス５００の先行仮想位置ＰＯＳ２k-1とポイントＰの間の距離Ｌ’を、前記ポイントＰの空間座標（ｘ’、ｙ’、ｚ’）に基づいて計算することができる。ポイントＰのぶれ値ＢＶを、角速度ωk、速度ｖkおよび／または加速度ａkを使用することによっておよび距離Ｌ’を使用することによって計算することができる。前記ポイントのぶれ値ＢＶが制限値ＢＶBLURを超える場合、ポイントＰをサブセットＳＣkから拒絶することができる。
【００７０】
デバイス５００は、追跡画像ＩＭＧkの視覚的特徴Ｆ１、Ｆ２、．．．をサブセットＳＣkのポイントＰと比較することによって、デバイス５００の仮想位置ＰＯＳ２kを決定するように構成されることができる。デバイス５００は、追跡画像ＩＭＧkの視覚的特徴Ｆ１、Ｆ２、．．．がサブセットＳＣkのポイントＰと充分な程度でマッチングするように、仮想空間内でのデバイス５００の仮想位置ＰＯＳ２kを決定するように構成されることができる。
【００７１】
図５ａは、追跡画像を選択するためおよび追跡画像の視覚的特徴をポイント・クラウドと比較することによりデバイス５００の位置を決定するための方法ステップを示す。
【００７２】
ステップ８１０において、デバイス５００のカメラＣＡＭ１から、捕捉された画像フレームＦj、Ｆj+1、Ｆj+2のシーケンスを取得することができる。センサーＳＥＮ１、ＳＥＮ２および／またはＳＥＮ３から、センサー信号ＳMVを取得することができる。運動データＭＤＡＴを、センサーＳＥＮ１、ＳＥＮ２および／またはＳＥＮ３から得ることができる。
【００７３】
ステップ８１５において、センサー信号ＳMVに基づいて、フレーム・サンプリング・レートｆAを決定することができる。フレーム・サンプリング・レートｆAを、運動データＭＤＡＴに基づいて決定することができる。例えば、デバイスの加速度および角速度の関数として、フレーム・サンプリング・レートｆAを決定することができる。例えば、デバイス５００の加速度が所定の制限ａLIM1よりも低く、デバイスの角速度が所定の制限ωLIM1よりも低い場合などに、フレーム・サンプリング・レートｆAを、シーケンスＳＥＱ１のフレーム・レートより低くなるように決定することができる。例えば、デバイス５００の加速度が所定の制限ａLIM2よりも高くおよび／またはデバイスの角速度が所定の制限ωLIM2よりも高い場合、フレーム・サンプリング・レートｆAを、シーケンスＳＥＱ１のフレーム・レートｆSEQ1に等しくなるように決定することができる。
【００７４】
サンプリング・フレーム・レートｆAが、フレーム・レートｆSEQ1を整数ＮDIVで除したものに等しくなるように、サンプリング・フレーム・レートｆAを決定することができる。整数ＮDIVは、デバイスの角速度ωが第１の所定の制限ωLIM1よりも低く、デバイスの加速度が第２の所定の制限ａLIM1よりも低い場合に、例えば２以上であることができる。
【００７５】
ステップ８２０において、フレーム・サンプリング・レートｆAにしたがってシーケンスＳＥＱ１の画像フレームから１つ以上の追跡画像をサンプリングすることができる。
【００７６】
ステップ８５０において、デバイス５００の位置ＰＯＳkは、追跡画像ＩＭＧkの視覚的特徴Ｆ１、Ｆ２をポイント・クラウドＰＣkのポイントと比較することによって決定することができる。
【００７７】
ステップ８９０においては、決定された位置ＰＯＳkに基づいて、デバイス５００の動作を制御することができる。例えば、位置ＰＯＳkに基づいてデータベースから情報を読み取ることができる。例えば、拡張現実アプリケーションを実行している場合、位置ＰＯＳkに基づいて、データベースから情報を読み取ることができる。例えば、表示される情報ＩＮＦ１、ＩＮＦ２を、位置ＰＯＳkに基づいて選択することができる。例えば、ディスプレイ上の情報の位置を、位置ＰＯＳkに基づいて決定することができる。例えば、２つ以上の選択肢から選択を行なうために、決定された位置ＰＯＳkをユーザー入力として使用することができる。
【００７８】
図５ｂを参照すると、ポイント・クラウドのサブセットＳＣkを使用することにより、比較動作の数を削減することができる。ステップ８２５では、デバイス５００の運動データＭＤＡＴおよび先行（仮想）位置ＰＯＳ２k-1を使用することによって、サブセットＳＣkを形成することができる。ポイント・クラウドＰＣkのポイントＰのぶれ値ＢＶは、角速度ωk、速度ｖkおよび／または加速度ａkを使用することによって、および距離Ｌ’を使用することによって計算可能である。前記ポイントのぶれ値ＢＶが制限値ＢＶBLURを超えた場合、サブセットＳＣkからポイントＰを拒絶することができる。ステップ８２５は、例えばステップ８２０の後、ステップ８２０の前、またはステップ８１５の前（ただしステップ８１０の後）に実施できる。
【００７９】
該方法は、以下のステップを含むことができる：
−  前記ポイントＰの位置に基づいて、および運動データＭＤＡＴに基づいて、ポイント・クラウドＰＣkのポイントＰについてぶれ値ＢＶを決定するステップ、
−  ぶれ値ＢＶが所定の制限ＢＶBLURを超えた場合、ポイント・クラウドＰＣkのサブセットＳＣkから前記ポイントＰを拒絶するステップ、および
−  追跡画像ＩＭＧkをサブセットＳＣkと比較することにより、携帯型デバイス５００の位置ＰＯＳkを決定するステップ。
【００８０】
より高いぶれ値ＢＶは、より高いぶれの程度を標示することができる。その場合、前記ポイントのぶれ値ＢＶが所定の制限ＢＶBLURよりも高い場合、ポイント・クラウドＰＣkのサブセットＳＣkからポイントＰを拒絶することができる。代替的には、より低いぶれ値ＢＶは、より高いぶれの程度を標示することができる。その場合、前記ポイントのぶれ値ＢＶが所定の制限ＢＶBLURよりも低い場合、ポイント・クラウドＰＣkのサブセットＳＣkからポイントＰを拒絶することができる。
【００８１】
該方法は、以下のステップを含むことができる：
−  ポイント・クラウドＰＣkのポイントＰの位置に基づいておよび運動データＭＤＡＴに基づいてこのポイントＰについてのぶれ値ＢＶを決定するステップ、
−  前記ぶれ値ＢＶを所定の制限ＢＶBLURと比較するステップ、
−  比較に基づいて、ポイント・クラウドＰＣkのサブセットＳＣkに対し前記ポイントを選択するか、またはポイント・クラウドＰＣkのサブセットから前記ポイントを拒絶するステップ、および
−  追跡画像ＩＭＧkをサブセットＳＣkと比較することにより、携帯型デバイス５００の位置ＰＯＳkを決定するするステップ。
【００８２】
図５ｃを参照すると、決定された位置は、時として、運動データＭＤＡＴを使用することによって補正できる。ΔｔAは、現時点ｔと追跡画像ＩＭＧk捕捉時間ｔkとの間の時間的遅延（ｔ−ｔk）を意味することができる。時間的遅延が短い（例えば制限ＬＩＭ１よりも短い）場合、追跡画像ＩＭＧkは、現状を表わす可能性がある。時間的遅延が長い場合、追跡画像ＩＭＧkを解析することにより決定される位置ＰＯＳkは現位置と異なる可能性がある。
【００８３】
時間的遅延ΔｔAは、ステップ８６０において検査できる。時間的遅延ΔｔAが所定値より小さい場合、ステップ８５０において決定された中間位置ＰＯＳkを、時間ｔにおけるデバイス５００の位置ＰＯＳ（ｔ）として使用することができる（ステップ８８０）。時間的遅延ΔｔAが所定値より小さくない場合、運動データＭＤＡＴを使用することにより位置を補正することができる。ステップ８６５では、センサー信号ＳMVを使用することによって、時間的遅延ΔｔAに基づいて、デバイスの側方変位ＤＰＯＳおよび／またはデバイスの配向の角変化を計算することができる。センサーＳＥＮ１、ＳＥＮ２および／またはＳＥＮ３から取得した運動データＭＤＡＴを使用することによって、時間的遅延ΔｔAに基づいて、デバイスの側方変位ＤＰＯＳおよび／またはデバイスの配向の角変化を計算することができる。
【００８４】
該方法は、以下のステップを含むことができる： 
−  運動データＭＤＡＴを使用することにより、位置変化ＤＰＯＳを決定するステップ、
−  前記変化ＤＰＯＳおよび先行の決定された位置ＰＯＳkを使用して、補正された位置ＰＯＳ（ｔ）を決定するステップ。
【００８５】
ステップ８７０では、次に、中間位置ＰＯＳkに変化ＤＰＯＳを加えることによって、時間ｔにおけるデバイス５００の瞬時位置ＰＯＳ（ｔ）を決定することができる。
【００８６】
ステップ８９０において、決定された瞬時位置ＰＯＳ（ｔ）に基づいて、デバイス５００の動作を制御することができる。
【００８７】
図６を参照すると、より難易度の高い追跡条件に自動的に適応するように、デバイス５００を整えることができる。
【００８８】
ステップ８５２において、マッチング・ポイントの数ＮMPを計数することができる。ポイント・クラウドＰＣkのマッチング・ポイントを、比較動作において発見することができる。こうして、マッチング・ポイントの数ＮMPの計数には、非常に低いまたは無視できる量のデータ処理力しか必要でない可能性がある。
【００８９】
数ＮMPは、ステップ８５５で検査できる。マッチング・ポイントの数ＮMPが、所定値ＮMP、LIM1よりも小さい場合には、フレーム・サンプリング・レートｆAを、ステップ８５６で一時的に増大させることができる。タイマー値ＴＩＭも同様に、ステップ８５６でリセットすることができる。
【００９０】
該方法は、以下のステップを含むことができる：
−  画像フレーム中に出現するマッチングする特徴の数を標示する指標値ＮMPを決定するステップおよび、
−  マッチングする特徴の数ＮMPが所定の制限ＮMP、LIM1よりも小さい場合に、サンプリング・フレーム・レートｆAを増大させるステップ。
【００９１】
マッチング・ポイントの数ＮMPが所定値よりも多い場合、およびタイマー値ＴＩＭが所定値ＩＮＴＥＲＶＡＬ１よりも低い場合には、フレーム・サンプリング・レートｆAは、ステップ８１５において決定された値に保たれることができる。
【００９２】
タイマー値ＴＩＭは、経時的に、または例えばステップ８５２において、増大させることができる。タイマー値ＴＩＭは、ステップ８５７で検査できる。タイマー値ＴＩＭが所定値ＩＮＴＥＲＶＡＬ１よりも高い場合には、フレーム・サンプリング・レートｆAを、ステップ８５８で一時的に低減させることができる。
【００９３】
図６のステップ８５０において決定された位置は、図５ａ、５ｂまたは５ｃ内で示されているように、ステップ８９０においてデバイス５００の動作を制御するために使用することができる。
【００９４】
視覚的追跡のロバスト性を監視することができる。詳細には、ロバスト性は、デバイス５００が実質的に静止している状況下で監視することができる。ロバスト性は、解析のために低いフレーム・レートを使用する場合に脅かされる可能性がある。ロバスト性は、例えば、画像ノイズをひき起こす可能性のある低い照度に起因して脅かされる場合がある。センサー信号が有意なモーションを標示しないときに視覚的追跡が少数のマッチングする特徴しか提供しないと考えられる場合には、追跡のためのフレーム・レートを、ロバストな追跡が再開されるまで、一時的に増大させることができる。後に、ロバストな追跡をより低いフレーム・レートで維持できるように、追跡のためのフレーム・レートを減少させることができる。このようにして、難易度の高いおよび／または変動する追跡条件にデバイスを自動的に適応させることができる。視覚的追跡の品質を監視するために、視覚的品質査定方法を使用することができる。査定方法は、例えば、マッチングする特徴の数を計数するステップを含むことができる。査定方法は、計算コストおよび／または電力消費を増大させることなく実装できる。
【００９５】
映像シーケンスＳＥＱ１は、データ圧縮コーデックを使用することによって、例えば、ＭＰＥＧ−４  Ｐａｒｔ２コーデック、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣコーデック、Ｈ．２６４コーデック、Ｗｉｎｄｏｗｓ  Ｍｅｄｉａ  Ｖｉｄｅｏ（ＷＭＶ）、Ｄｉｖ  ＸＰｒｏコーデック、または未来のコーデック（例えばＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ、ＨＥＶＣ、Ｈ．２６５）を使用することによって、記憶および／または通信されることができる。映像データＶＤＡＴＡ１、ＶＤＡＴＡ２は、例えば、ＭＰＥＧ−４  Ｐａｒｔ２コーデック、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣコーデック、Ｈ．２６４コーデック、Ｗｉｎｄｏｗｓ  Ｍｅｄｉａ  Ｖｉｄｅｏ（ＷＭＶ）、ＤｉｖＸＰｒｏコーデック、または未来のコーデック（例えばＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ、ＨＥＶＣ、Ｈ．２６５）を使用することによって、エンコードおよび／またはデコードすることができる。映像データは同様に、例えば無損失コーデックを使用することによって、エンコードおよび／またはデコードすることもできる。
【００９６】
図７ａは、例として、携帯型デバイス５００を備えることのできる通信システム１０００を示す。システム１０００は、互いに通信するおよび／またはサーバー１２４０と通信するように整えることが可能な複数のデバイス５００、６００を備えることができる。デバイス５００、６００は、携帯型デバイスであることができる。１つ以上のデバイス５００は、ユーザー入力を受信するためのユーザー・インターフェースＵＩＦ１を備えることができる。１つ以上のデバイス５００および／またはサーバー１２４０は、ポイント・クラウドＰＣkを生成するように構成された１つ以上のデータ・プロセッサを備えることができる。システム１０００は、エンドユーザー・デバイス、例えば１つ以上の携帯型デバイス５００、６００、モバイル・フォンまたはスマート・フォン６００、インターネット・アクセス・デバイス（インターネット・タブレット）、パーソナル・コンピュータ１２６０、ディスプレイまたは画像プロジェクタ１２６１（例えばテレビ）および／またはビデオ・プレーヤー１２６２を備えることができる。デバイス５００または携帯カメラの１つ以上は、画像データを捕捉するための画像センサーＤＥＴ１を備えることができる。サーバー、モバイル・フォン、スマート・フォン、インターネット・アクセス・デバイスまたはパーソナル・コンピュータは、画像データ、情報ＩＮＦ１、ＩＮＦ２および／またはポイント・クラウド・データＰＣkを流通させるように整えることができる。データの分散および／または記憶は、ネットワーク・サービス・フレームワークの中で、１つ以上のサーバー１２４０、１２４１、１２４２、および１つ以上のユーザー・デバイスを用いて実装されることができる。図７ａの実施例において示されているように、システム１０００の異なるデバイスを、インターネットまたはローカル・エリア・ネットワーク（ＬＡＮ）などの固定ネットワーク１２１０を介して接続することができる。デバイスは、移動体通信ネットワーク１２２０、例えばグローバル・システム・フォー・モバイル通信（ＧＳＭ（登録商標））ネットワーク、第３世代（３Ｇ）ネットワーク、３．５世代（３．５Ｇ）ネットワーク、第４世代（４Ｇ）ネットワーク、ワイヤレス・ローカル・エリア・ネットワーク（ＷＬＡＮ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または他の現代のおよび未来のネットワークを介して接続可能である。異なるネットワークを、通信インターフェース１２８０を用いて互いに接続することができる。ネットワーク（１２１０および／または１２２０）は、データ・ハンドリングのためのルーターおよびスイッチ（図示せず）などのネットワーク要素を含むことができる。ネットワークは、異なるデバイスのためのネットワークへのアクセスを提供するための１つ以上の基地局１２３０および１２３１などの通信インターフェースを含むことができる。基地局１２３０、１２３１は、それ自体、固定接続１２７６および／または無線接続１２７７を介して、移動体通信ネットワーク１２２０に接続されることができる。ネットワークに接続された一定数のサーバーが存在できる。例えば、ソーシャル・メディア・サービスなどのネットワーク・サービスを提供するためのサーバー���２４０をネットワーク１２１０に接続することができる。サーバー１２４０は、デバイス５００上で実行中の拡張現実アプリケーションのために、追加情報ＩＮＦ１、ＩＮＦ２を生成し、および／または流通させることができる。ネットワーク・サービスを提供するための第２のサーバー１２４１を、ネットワーク１２１０に接続することができる。ネットワーク・サービスを提供するためのサーバー１２４２を、移動体通信ネットワーク１２２０に接続することができる。上述のデバイスのいくつか、例えばサーバー１２４０、１２４１、１２４２を、それらがネットワーク１２１０内に存在する通信要素とインターネットを構築するように整えることができる。デバイス５００、６００、１２６０、１２６１、１２６２は同様に、多数の部品で構成され得る。１つ以上のデバイスを、無線接続１２７３を介してネットワーク１２１０、１２２０に接続することができる。デバイス５００とシステム１０００の第２のデバイスの間の通信ＣＯＭ１は、固定および／または無線の通信であることができる。１つ以上のデバイスを、固定接続１２７０、１２７１、１２７２および１２８０などの通信接続を介してネットワーク１２１０、１２２０に接続することができる。１つ以上のデバイスを、無線接続１２７３を介してインターネットに接続することができる。１つ以上のデバイスを、固定接続を介して移動体ネットワーク１２２０に接続することができる。無線接続ＣＯＭ１、１２７９および／または１２８２を介して移動体ネットワーク１２２０に対し、デバイス５００、６００を接続することができる。接続１２７１〜１２８２は、通信接続のそれぞれの端部において通信インターフェースを用いて実装可能である。ユーザー・デバイス５００、６００または１２６０は、同様に、さまざまなネットワークデバイス１２４０、１２４１および１２４２と同様に、ウェブ・サービス・サーバーとしても作用することができる。このウェブ・サービス・サーバーの機能を、多数のデバイスを横断して分散させることができる。アプリケーション要素およびライブラリを、１つのデバイス上に存在するソフトウェア・コンポーネントとして実装することができる。代替的には、ソフトウェア・コンポーネントを、複数のデバイスを横断して分散させることができる。ソフトウェア・コンポーネントを複数のデバイスを横断して分散させて、クラウドを形成することができる。
【００９７】
図７ｂは、通信システム１０００の一部として使用可能な携帯型デバイス５００を示す。デバイスは、例えばヘッド・マウント式デバイス、仮想ディスプレイ、モバイル・フォン、スマート・フォン、コミュニケータ、ポータブル・コンピュータ、カメラ、または携帯情報端末（ＰＤＡ）であることができる。デバイス５００は、デバイス５００の位置を決定するため、デバイス５００の動作を制御するため、および／またはデバイス５００の決定された位置にしたがって情報ＩＮＦ１、ＩＮＦ２を表示するための制御ユニットＣＮＴ１を備えることができる。デバイスは、データを受信および／または伝送するための通信ユニットＲＸＴＸ１を含むことができる。デバイス５００は、通信ユニットＲＸＴＸ１を使用することにより、情報ＩＮＦ１、ＩＮＦ２を受信することができる。デバイス５００は、通信ユニットＲＸＴＸ１を使用することにより、通信システム１０００の１つ以上の他のデバイスに対して決定された位置を通信することができる。デバイス５００は、環境ＥＮＶ１の外部オブジェクトの画像フレームを捕捉するための１つ以上のカメラ・ユニットＣＡＭ１を備えることができる。デバイス５００は、運動データＭＤＡＴを提供するためのセンサーＳＥＮ１を含むことができる。センサーＳＥＮ１は、非結像センサーであることができる。ＳＥＮ１は、慣性センサーであることができる。デバイスは、ユーザーＵ１からのコマンドを受信するためのユーザー・インターフェースＵＩＦ１を備えることができる。ユーザー・インターフェースＵＩＦ１は、ディスプレイＤＩＳＰ１を含むことができる。ディスプレイＤＩＳＰ１を、ユーザーＵ１に仮想画像を表示するように整えることができる。ユーザー・インターフェースＵＩＦ１は、例えばタッチ・スクリーン、タッチパッド、１つ以上のキー、マウス、ジェスチャー入力デバイスおよび／または音声認識ユニットを含むことができる。デバイス５００は、コンピュータ・プログラム・コードを記憶するためのメモリＭＥＭ１を備えることができる。コードは、デバイス５００に、例えばデバイス５００の位置を決定させ、デバイス５００の動作を制御させ、および／またはデバイス５００の決定された位置にしたがって情報ＩＮＦ１、ＩＮＦ２を表示させることができる。デバイス５００は、他のデータ、例えばポイント・クラウド・データを記憶するためのメモリを備えることができる（図２）。携帯型デバイス５００は、制御ユニットＣＮＴ１に対して電気エネルギーを提供するためのバッテリを備えることができる。
【００９８】
当業者にとっては、本発明に係るデバイスおよび方法の修正および変形形態が理解可能であることは明白である。図は概略図である。添付図面に関連して以上で説明した特定の実施形態は、単に例示的なものにすぎず、添付の特許請求の範囲によって定義される本発明の範囲を限定することを意図したものではない。
【図１ａ】
0006503070.tif 000002
【図１ｂ】
0006503070.tif 000003
【図２】
0006503070.tif 000004
【図３ａ】
0006503070.tif 000005
【図３ｂ】
0006503070.tif 000006
【図４ａ】
0006503070.tif 000007
【図４ｂ】
0006503070.tif 000008
【図５ａ】
0006503070.tif 000009
【図５ｂ】
0006503070.tif 000010
【図５ｃ】
0006503070.tif 000011
【図６】
0006503070.tif 000012
【図７ａ】
0006503070.tif 000013
【図７ｂ】
0006503070.tif 000014