光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けするシステムおよび方法
【課題】同じビーコンクラスタが、画像データの取り込みフレーム内のビーコンクラスタを識別し、ラベル付けするシステムおよび方法を提供する。
【解決手段】光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けするシステムおよび方法は、画像データの現在のフレーム内の特徴クラスタと画像データの前のフレーム内の特徴クラスタとの間の距離を使用し、画像データの現在のフレーム内の特徴クラスタと相関関係を有する画像データの前のフレーム内の特徴クラスタと関連付けられている識別子で、画像データの現在のフレーム内の特徴クラスタにラベル付けする。
【解決手段】光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けするシステムおよび方法は、画像データの現在のフレーム内の特徴クラスタと画像データの前のフレーム内の特徴クラスタとの間の距離を使用し、画像データの現在のフレーム内の特徴クラスタと相関関係を有する画像データの前のフレーム内の特徴クラスタと関連付けられている識別子で、画像データの現在のフレーム内の特徴クラスタにラベル付けする。
【発明の詳細な説明】
【背景技術】
【0001】
典型的な光学ナビゲーションのシステムでは、画像データのフレームを順次取り込み、比較して、光学ナビゲーションシステムに対するフレーム内の特徴の変位を追跡する。これらのフレーム内の特徴の相対的変位を使って、光学ナビゲーションシステムに対する特徴の動き、または特徴に対する光学ナビゲーションシステムの動きを推定することができる。用途によっては、これらの特徴は、光学ナビゲーションの基準点として取り込まれ、使用されるビーコン(赤外線源など)とすることができる。この種の光学ナビゲーション法を、本明細書では、ビーコンベースのナビゲーション法と呼ぶ。ビーコンベースのナビゲーション法は、現在、コンピュータゲームシステムにおいて、ゲームシステムのために遠隔操作装置の動きを追跡するのに使用されている。
【0002】
ビーコンベースのナビゲーション法では、取り込みフレーム間のビーコンクラスタの任意の変位を推定するために、画像データの取り込みフレーム内の画像化ビーコンまたはビーコンクラスタが特徴クラスタとして識別され、ラベル付けされる。ビーコン源は、普通は静止状態であり、したがって、光学ナビゲーションシステムの相対的動きを判定するための基準点として使用される。画像データの取り込みフレーム内のビーコンクラスタを識別する従来のプロセスでは、画像フレームの各画素を調べて、その画素がビーコンクラスタに属するかどうか判定する。このプロセスの間に、それぞれのビーコンクラスタに、異なるビーコンクラスタを区別する番号でラベル付けする。しかしながら、これらビーコンクラスタのラベル番号は、画像データのあるフレームから次のフレームまでのビーコンクラスタの変位により、画像データの異なるフレーム間では一致しないこともある。したがって、同じビーコンクラスタが、画像データの異なるフレームでは、同じ番号でラベル付けされないこともあり、このために、光学ナビゲーションシステムの相対的位置を計算する際に誤差を生じることになる。
【発明の開示】
【発明が解決しようとする課題】
【0003】
したがって、同じビーコンクラスタが、画像データの異なるフレームにおいて、同じ識別子、例えば番号などでより一貫してラベル付けされるように、画像データの取り込みフレーム内のビーコンクラスタを識別し、ラベル付けするシステムおよび方法が求められている。
【課題を解決するための手段】
【0004】
光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けするシステムおよび方法は、画像データの現在のフレーム内の特徴クラスタと画像データの前のフレーム内の特徴クラスタとの間の距離を使用し、画像データの現在のフレーム内の特徴クラスタと相関関係を有する画像データの前のフレーム内の特徴クラスタと関連付けられている識別子で、画像データの現在のフレーム内の特徴クラスタにラベル付けする。このシステムおよび方法は、画像データの現在のフレームと前のフレーム内の同じ特徴クラスタを、光学ナビゲーションのために識別し、使用することを可能にする。
【0005】
本発明の一実施形態による、光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けする方法は、画像データの現在のフレーム内の現在の特徴クラスタを識別するステップと、画像データの現在のフレーム内の現在の特徴クラスタと、画像データの前のフレーム内の前の特徴クラスタとを、現在の特徴クラスタと前の特徴クラスタとの間の距離に基づいて相関させるステップと、現在の特徴クラスタのそれぞれに、その現在の特徴クラスタと相関関係を有する前の特徴クラスタの1つと関連付けられている識別子でラベル付けするステップとを備える。
【0006】
本発明の別の実施形態による、光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けする方法は、画像データの現在のフレーム内の現在の特徴クラスタを識別するステップと、画像データの現在のフレーム内の現在の特徴クラスタと、画像データの前のフレーム内の前の特徴クラスタとを、現在の特徴クラスタと前の特徴クラスタとの間の距離に基づいて相関させるステップであり、現在の特徴クラスタの各現在の特徴クラスタを、その現在の特徴クラスタに最も近い前の特徴クラスタの1つと関連付けること、および現在の特徴クラスタの特定の現在の特徴クラスタを、前の特徴クラスタの関連する前の特徴クラスタと相関させることを含み、特定の現在の特徴クラスタと関連する前の特徴クラスタとの間の距離が、どんな関連する現在の特徴クラスタと前の特徴クラスタとの間でも最長距離である、ステップと、現在の特徴クラスタのそれぞれに、その現在の特徴クラスタと相関関係を有する前の特徴クラスタの1つと関連付けられている識別子でラベル付けするステップとを備える。
【0007】
本発明の一実施形態による、光学ナビゲーションのシステムは、画像センサと、ナビゲーションエンジンとを備える。画像センサは、画像データのフレームを取り込むように構成されている。ナビゲーションエンジンは、画像センサに動作可能に接続されている。ナビゲーションエンジンは、画像データの現在のフレーム内の現在の特徴クラスタを識別し、画像データの現在のフレーム内の現在の特徴クラスタと、画像データの前のフレーム内の前の特徴クラスタとを、現在の特徴クラスタと前の特徴クラスタとの間の距離に基づいて相関させるように構成されている。ナビゲーションエンジンは、さらに、現在の特徴クラスタのそれぞれに、その現在の特徴クラスタと相関関係を有する前の特徴クラスタの1つと関連付けられている識別子でラベル付けするように構成されている。
【0008】
本発明の別の態様および利点は、以下の詳細な説明を、本発明の原理の例として示す添付の図面と併せて読めば明らかになる。
【発明を実施するための最良の形態】
【0009】
図1を参照して、本発明の一実施形態による光学ナビゲーションシステム100を説明する。本実施形態では、光学ナビゲーションシステム100は、画像データの取り込みフレーム内の画像化ビーコンを使ってナビゲートするように動作する。すなわち、光学ナビゲーションシステム100は、光学ナビゲーションにビーコンベースのナビゲーション法を使用する。したがって、光学ナビゲーションシステム100は、動作に際して、画像データの取り込みフレームを、画像化ビーコン源である取り込みフレーム内の特徴クラスタを識別し、ラベル付けするように処理する。本明細書では、これらの特徴クラスタを、ビーコンクラスタまたは単にクラスタともいう。以下でより詳細に説明するように、光学ナビゲーションシステム100は、画像データの取り込みフレーム内の特徴クラスタを、画像データの異なるフレームについて、同じ特徴クラスタが、同じ識別子、例えば、番号、文字、シンボル、またはこれらの任意の組み合わせなどを用いて、より一貫してラベル付けされるようにラベル付けする。
【0010】
図1に示すように、光学ナビゲーションシステム100は、コントローラユニット102と、ビーコンユニット104と、表示装置106と、コンソールユニット108とを含む。いくつかの実施形態では、コンソールユニット108は、従来の配線を使って表示装置106に結合されている。代替として、別の有線または無線接続が実施されてもよい。いくつかの実施形態では、コントローラユニット102およびコンソールユニット108は、ゲームシステムの一部である。代替として、光学ナビゲーションシステム100は、別種のシステムを実施するのに使用されてもよい。例えば、光学ナビゲーションシステム100の実施形態の中には、コンピュータシステムのアクセス可能なユーザインターフェースを提供するのに使用されるものもある。
【0011】
コントローラユニット102は、ビーコンユニット104に対するコントローラユニットの相対的位置を計算するように構成されている。コントローラユニット102は、ビーコンユニット104を基準として位置計算を行うように設計されている。ビーコンユニット104は、複数のビーコン光源110を含み、ビーコン光源は、コントローラユニット102により、コントローラユニットの相対的位置を計算するための基準点として使用される。一実施形態では、ビーコンユニット104のビーコン光源110は、赤外線(IR)、または発光ダイオード(LED)、レーザダイオード等の可視光源である。図示の実施形態では、ビーコンユニット104は、2つのビーコン光源110を含む。しかしながら、別の実施形態では、ビーコンユニット104は、3つ以上のビーコン光源を含んでもよい。コントローラユニット102は、画像データのフレーム内にビーコンユニット104のビーコン光源110を電子的に取り込むように動作する。次いで、コントローラユニット102は、画像データの取り込みフレームを、取り込みフレーム内の画像化ビーコン光源を識別し、ラベル付けするように処理する。画像データの取り込みフレーム間での画像化ビーコン光源位置の変化を使って、コントローラユニット102の、光学ナビゲーションシステム100の座標系内での相対的位置を示す位置データが出力される。光学ナビゲーションシステム100の座標系は、較正段階において確立され得る。出力位置データは、光学ナビゲーションシステムのX軸、Y軸およびZ軸に沿った、x、yおよびzの位置値とすることができる。代替として、出力位置データは、それぞれの軸に沿った変化または変位を表す、光学ナビゲーションシステム100のX軸、Y軸およびZ軸に沿ったΔx、ΔyおよびΔzの値とすることもできる。
【0012】
コントローラユニット102の位置データは、コンソールユニット108に送られる。コンソールユニット108は、特定用途で使用するために位置データを処理する。一例として、コンソールユニット108は、コントローラユニットから新しい位置データが受け取られる際のコントローラユニット102の動きに従って表示装置106上に表示されるグラフィック要素を操作するように構成されることができる。コンソールユニット108は、ゲームプログラムなど、1つまたは複数のコンピュータプログラムを走らせるコンピュータシステムとすることができる。本実施形態では、コンソールユニット108は、パーソナルコンピュータシステムで一般に見られる構成要素を含むことができる。
【0013】
次に図2を見ると、本発明の一実施形態によるコントローラユニット102のブロック図が示されている。図示のコントローラユニット102は、デジタルプロセッサ212、メモリデバイス214、電源216、送受信器218、画像センサ220、ナビゲーションエンジン222、ランダムアクセスメモリ224、光学レンズ226、および光学フィルタ227および水晶発振器228を含む。図示の実施形態では、画像センサ220、ナビゲーションエンジン222およびRAM224は、集積回路(IC)230の一部である。しかしながら、別の実施形態では、画像センサ220、ナビゲーションエンジン222およびRAM224は、別個の構成要素として実施されてもよい。IC230は、1つまたは複数の信号線232を介してデジタルプロセッサ212に接続されており、これらの信号線には、アドレス、データおよび/または制御の信号線が含まれ得る。コントローラユニット102は、特定の構成要素を含むものとして示されているが、コントローラユニットは、別の構成要素を含んでもよい。例えば、コントローラユニット102の実施形態の中には、入力ボタン、ジョイスティックまたはゲームコントローラに通常使用される別のセレクタを含むものもある。コントローラユニット102の別の実施形態には、ユーザへの触覚または聴覚フィードバック信号を発生させるフィードバック信号発生器が含まれる。
【0014】
いくつかの実施形態では、デジタルプロセッサ212は、マイクロプロセッサやマイクロコントローラなどの汎用プロセッサとすることもできる。別の実施形態では、デジタルプロセッサ212は、デジタル信号プロセッサなどの専用プロセッサとすることもできる。別の実施形態では、デジタルプロセッサ212は、別種のコントローラまたはフィールドプログラマブルゲートアレイ(FPGA)とすることもできる。一般に、デジタルプロセッサ212は、コントローラユニット102の動作および機能を実施する。
【0015】
メモリデバイス214は、コントローラユニット102の動作で使用するためのデータおよび/または命令を格納するように構成されている。いくつかの実施形態では、メモリデバイス214は、命令を格納し、これらの命令は、デジタルプロセッサ212によって実行されると、デジタルプロセッサに特定の動作を実行させる。同様に、若干の命令が、デジタルプロセッサ212に統合されたメモリに格納されてもよい。加えて、メモリデバイス214は、デジタルプロセッサ212および/またはナビゲーションエンジン222によって作成される位置データを格納してもよい。
【0016】
一実施形態では、電源216は、デジタルプロセッサ212、ならびにコントローラユニット102の他の構成要素に、直流(DC)電気信号Vccを提供する。電源216の実施形態の中には、1つまたは複数の電池を含むものもある。いくつかの実施形態では、電源216が、配線を介してコンソールユニット108から電力を受け取るものもある。同様に、水晶発振器228は、コントローラユニット102の構成要素の1つまたは複数に、クロック信号CLKを提供する。
【0017】
送受信器218は、デジタルプロセッサ212に結合されており、コントローラユニット102からコンソールユニット108に、位置データ信号などの信号を送信するように構成されている。また、送受信器218は、コンソールユニット108から、制御信号、すなわちフィードバック信号を受け取るようにも構成されている。加えて、送受信器は、有線または無線通信を円滑化してもよい。例えば、送受信器218は、配線による接続を介してコンソールユニット108に電気信号を送ってもよい。代替として、送受信器218は、公知の無線データ伝送プロトコルを使って、無線周波数(RF)信号などの無線信号を送ってもよい。
【0018】
画像センサ220は、やはりデジタルプロセッサ212に結合されており、画像データのフレームを取り込むように構成されている。画像センサ220は、相補型金属酸化膜半導体(CMOS)画像センサ配列や電荷結合素子(CCD)画像センサ配列などの電子画像化センサ配列を含む。例えば、画像センサ220は、比較的低い解像度の画像データのフレームを取り込む30×30画素配列を含むことができる。しかしながら、画像センサ220の別の実施形態は、画像データのより高い解像度のフレームのためのより大きいサイズの画素配列または画像データのより低い解像度のフレームためのより小さいサイズの画素配列を含んでもよい。図示の実施形態では、画像センサ220は、光学レンズ226および光学フィルタ227と併用される。光学レンズ226は、画像の焦点を画像センサ220に合わせるのに使用される。光学フィルタ227は、望ましくない光を選択的に除去し、ビーコンユニット104のビーコン光源110からの光を選択的に送って、ビーコン光源110からの光が画像センサ220によって画像化されるようにするのに使用される。例えば、光学フィルタ227は、IRまたはカラーフィルタとすることができる。しかしながら、別の実施形態では、光学レンズ226および/または光学フィルタ227を省略してもよく、複数の光学レンズおよび/または光学フィルタを実施してもよい。
【0019】
図示の実施形態では、ナビゲーションエンジン222は、IC230上で画像センサ220およびRAM224と一体化されている。別の実施形態では、ナビゲーションエンジン222は、一部または全部が、デジタルプロセッサ212と一体化されてもよい。一般に、ナビゲーションエンジン222は、画像センサ220によって取り込まれた画像データのフレームを、コントローラユニット102に関する現在の位置データを算出し、出力するように処理する。この処理の間、ナビゲーションエンジン222は、画像データの取り込みフレーム内の特徴クラスタ、例えば、取り込みフレーム内の画像化ビーコン光源などの識別と仮のラベル付けを含む動作を行う。次いで、ナビゲーションエンジン222は、画像データの現在のフレームと前のフレーム内の同じ特徴クラスタが、同じ識別子でラベル付けされるように、特徴クラスタに再ラベル付けする。取り込みフレーム内の特徴クラスタが識別され、ラベル付けされた後、これらのクラスタを使って、コントローラユニットの位置データが算出される。
【0020】
本発明の一実施形態による、特徴クラスタの識別と仮のラベル付けに関するナビゲーションエンジン222の動作を、一例として、図3の10×10センサ配列300と、図4のプロセス流れ図とを参照して説明する。図3では、センサ配列300は、画素のそれぞれに取り込みデータを含む。一実施形態では、センサ配列300の画素内の各データは、その画素に取り込まれた輝度または強度の値である。したがって、この例では、画像データの取り込みフレームは10×10画素の画像フレームである。図3に示すように、取り込みフレームは、画像化ビーコン源を表し得る3つの特徴クラスタ302、304および306を含む。一実施形態では、画像データのフレームの画素は、その画素が所定の閾値より大きい輝度値を有する場合には、ある特徴クラスタに属するものとみなされる。以下でより詳細に説明するように、1つより多い特徴クラスタがあるものと仮定すると、ナビゲーションエンジン222は、まず、画素を、ある特徴クラスタに属するものとして識別し、次いで、その画素を、適正な特徴クラスタにラベル付けする。加えて、ナビゲーションエンジン222は、画像フレームの各画素が処理される際に、各特徴クラスタのパラメータ計算も行う。
【0021】
図4に示すように、ナビゲーションエンジン222の動作は、ブロック402から開始し、そこで、図3のセンサ配列300の次の画素からのデータが読み取られる。画素データが読み取られる画素は、ナビゲーションエンジン222によって処理されているセンサ配列300の現在の画素である。画素データは、少なくとも、現在の画素の輝度値を含む。画素データは、センサ配列300の最上行から始まって最下行まで、左から右へ読み取られる。したがって、最初に読み取られるべき画素データは、図3に示す画素(x1,y1)からのデータである。
【0022】
次に、ブロック404で、現在の画素の画素輝度値が閾値より大きいかどうかが判定される。閾値より大きい輝度値を有する画素は、「クラスタ画素」または1つまたは複数の特徴クラスタに属する画素であるとみなされる。画素輝度値が閾値以下である場合、動作はブロック420に進む。画素輝度値が閾値より大きい場合、動作はブロック406に進む。
【0023】
ブロック406で、現在の画素が既存の特徴クラスタに連結しているかどうかが判定される。この判定は、現在の画素の周りの近隣画素と関連付けられているラベル情報を調べることによって行われる。現在の画素の周りの近隣画素とは、現在の画素のすぐ隣にある画素である。いくつかの実施形態では、現在の画素が既存の特徴クラスタに連結しているかどうか判定するのに、現在の画素の選択された近隣画素だけが調べられる。一実施形態では、現在の画素の上にある近隣画素と、現在の画素の左隣にある近隣画素だけが調べられる。これは図5に示されており、図5には、現在の画素と近隣画素[1]、[2]、[3]および[4]が示されている。本実施形態では、現在の画素が既存の特徴クラスタに連結しているかどうかを判定するのに、左隣の近隣画素[1]、左上の近隣画素[2]、真上の近隣画素[3]および右上の近隣画素[4]だけが調べられる。したがって、ナビゲーションエンジン222は、現在の画素の近隣画素[1]、[2]、[3]および[4]に関するクラスタ情報を格納する必要がある。したがって、処理される各画素ごとに、その画素に関して同様に位置する近隣画素のクラスタ情報が格納され、アクセスされる必要がある。
【0024】
図4に戻って、ブロック406で、現在の画素が既存の特徴クラスタに連結していないと判定された場合、動作はブロック408に進み、そこで、現在の画素が、新しい特徴クラスタに属するものとしてラベル付けされる。次いで、動作はブロック418に進む。しかしながら、ブロック406で、現在の画素が既存の特徴クラスタに連結していると判定された場合、動作はブロック410に進み、そこで、現在の画素が1つより多い特徴クラスタに連結しているかどうかが判定される。すなわち、近隣画素の2つ以上が異なる特徴クラスタに属しているかどうかが判定される。現在の画素がただ1つの特徴クラスタに連結している場合、動作はブロック414に進む。現在の画素が1つより多い特徴クラスタに連結している場合、ブロック412で、近隣画素のうちの異なる特徴クラスタ、および他の選択され、前に処理された画素が、同じ特徴クラスタとして再ラベル付けされる。すなわち、異なる特徴クラスタに属するものとしてラベル付けされている近隣画素および他の選択され、前に処理された画素が、同じ特徴クラスタに属するものとして再ラベル付けされる。一実施形態では、該当する場合には、現在の画素の上にある近隣画素と、現在の画素の左隣にある近隣画素と、右上の近隣画素の右側にある2つの近接する画素だけが再ラベル付けされる。これは図5に示されており、図5には、現在の画素と、近隣画素[1]、[2]、[3]および[4]と、近接する画素[5]および[6]が示されている。一実施形態では、異なる特徴クラスタが、近隣画素をラベル付けするのに使用される最初の既存の特徴クラスタとして再ラベル付けされる。次いで動作はブロック414に進む。
【0025】
ブロック414で、現在の画素が、同じ既存の特徴クラスタに属するものとしてラベル付けされる。現在の画素がただ1つの既存の特徴クラスタだけに連結している場合、現在の画素は、その既存の特徴クラスタに属するものとしてラベル付けされる。現在の画素が、1つより多い既存の特徴クラスタに連結している場合、現在の画素は、再ラベル付けされた特徴クラスタに属するものとしてラベル付けされる。
【0026】
次に、ブロック416で、現在の画素の既存の特徴クラスタが1つにまとめられる。次に、ブロック418で、現在の画素の特徴クラスタのパラメータ計算が行われる。一実施形態では、パラメータ計算は、total_x値、total_y値、pixel_count値、boundary_x1値、boundary_y1値、boundary_x2値およびboundary_y2値を含む。total_x値は、特徴クラスタに属する画素のx座標値の和である。total_y値は、特徴クラスタに属する画素のy座標値の和である。pixel_count値は、特徴クラスタに属する画素の数である。boundary_x1値、boundary_y1値、boundary_x2値およびboundary_y2値は、特徴クラスタの矩形境界値であり、これは、特徴クラスタに属する画素の、最小のx座標値とy座標値、すなわち、boundary_x1値とboundary_y1値、ならびに最大のx座標値とy座標値、すなわち、boundary_x2値とboundary_y2値を含む。
【0027】
次に、ブロック420で、現在の画素がセンサ配列300内の最後の画素であるかどうかが判定される。現在の画素が最後の画素でない場合、動作はブロック402に戻り、そこで次の画素が、処理されるべきセンサ配列から読み取られる。現在の画素が最後の画素である場合、動作はブロック422に進み、そこで、ナビゲーションを行うためにすべての特徴クラスタが報告される。
【0028】
このプロセスの間に、各特徴クラスタの重心の座標が算出される。特徴クラスタの重心座標は、パラメータ計算の一部として算出されてもよい。代替として、特徴クラスタの重心座標は、画像データのフレームの画素が処理された後で、独立に算出されてもよい。算出された重心座標は、メモリデバイス214、RAM224またはデジタルプロセッサ212の内部メモリに格納され得る。
【0029】
特徴クラスタは、識別され、仮にラベル付けされた後、ナビゲーションエンジン222によって、画像データの現在のフレーム内の特徴クラスタが、前の特徴クラスタ内の同じ特徴クラスタと関連付けられている識別子でラベル付けされるように再ラベル付けされる。本明細書で説明するように、いくつかの実施形態では、再ラベル付けに使用される識別子は、前の特徴クラスタ内の特徴クラスタに使用された識別子である。しかしながら、別の実施形態では、再ラベル付けに使用される識別子は、前の特徴クラスタ内の特徴クラスタに対応する別の識別子とすることもできる。いくつかの実施形態では、画像データの現在のフレーム内の特徴クラスタと画像データの前のフレーム内の特徴クラスタとの間の距離を使って、画像データの現在のフレームと前のフレームの特徴クラスタを相関させる。現在のフレーム内の特徴クラスタと前のフレーム内の特徴クラスタとの間の距離は、現在のフレームと前のフレームが、2つの特徴クラスタが同じフレーム上にあるように重ね合わされた場合のそれら2つの特徴クラスタ間の距離であるとみなすことができる。相関関係にある特徴クラスタでは、画像データの前のフレーム内の相関関係にある特徴クラスタの識別子を使って、相関関係にある特徴クラスタが再ラベル付けされる。画像データの現在のフレーム内のどんな残りの特徴クラスタも、画像データの前のフレームで使用されていない識別子を使って再ラベル付けされる。特定の状況では、画像データの現在のフレーム内の残りの特徴クラスタが、その特徴クラスタの仮の識別子で再ラベル付けされてもよい。
【0030】
一実施形態では、画像データの現在のフレーム内の特徴クラスタが、画像データの前のフレーム内の相関関係にある特徴クラスタの識別子を使ってその特徴クラスタに再ラベル付けするために、ナビゲーションエンジン222によって、前のフレーム内の最も近い特徴クラスタと相関される。最も近い特徴クラスタは、画像データの現在のフレーム内の特徴クラスタの重心と画像データの前のフレーム内の特徴クラスタの重心との間の距離を調べて最短距離を求めることによって見つけてもよい。次いで、画像データの前のフレーム内の最も近い特徴クラスタの識別子が、画像データの現在のフレーム内の相関関係にある特徴クラスタの識別子として使用される。前のフレーム内の特定の特徴クラスタが現在のフレーム内の特定の特徴クラスタの最も近い特徴クラスタとして使用された後では、それら特定の特徴クラスタは、現在のフレーム内の他のどんな特徴クラスタに再ラベル付けする際にも考察されない。このように、画像データの現在のフレーム内の各特徴クラスタを、画像データの前のフレーム内の最も近い特徴クラスタと相関させ、その最も近い特徴クラスタの識別子を使って再ラベル付けすることができる。
【0031】
いくつかの実施形態では、現在のフレーム内の特徴クラスタと前のフレーム内の最も近い特徴クラスタが、まず、再ラベル付けされる。次いで、現在のフレーム内の特徴クラスタと前のフレーム内の次に近い特徴クラスタが再ラベル付けされる。現在のフレーム内のどんな残りの特徴クラスタも、同様に順次再ラベル付けされる。別の実施形態では、現在のフレーム内の特徴クラスタが、所定の順序で処理される。例えば、現在のフレーム内の特徴クラスタは、特徴クラスタの仮の識別子によって決まる順序で再ラベル付けされてもよい。この例では、識別子「1」を使って仮にラベル付けされている現在のフレーム内の特徴クラスタが最初に再ラベル付けされ、続いて、識別子「2」を使って仮にラベル付けされている特徴クラスタが再ラベル付けされる。現在のフレーム内のどんな残りの特徴クラスタも、同様に順次再ラベル付けされる。
【0032】
本発明の一実施形態による、画像データの前のフレーム内の最も近い特徴クラスタを使って画像データの現在のフレーム内の特徴クラスタに再ラベル付けするプロセスを、例として図6A〜6Dを用いて説明する。この例では、画像フレームF1、F2、F3、およびF4などの画像データのフレーム内に取り込むことのできる、4つのビーコン光源A、B、CおよびDがある。この例では、コントローラユニット102の画像センサ220が、ビーコン光源A、B、CおよびDに対して、矢印600で示すように、正のX方向に変位する際に、画像フレームF1、F2、F3、およびF4が連続して取り込まれる。
【0033】
フレームF1では、ビーコン光源Aの一部分だけが特徴クラスタAとして取り込まれる。フレームF1の画素が処理される際に、特徴クラスタAは、仮に「1」としてラベル付けされる。前の画像フレーム内に特徴クラスタがなかったものと仮定すると、特徴クラスタAは、同じ識別子「1」を使って再ラベル付けされる。
【0034】
フレームF2では、ビーコン光源A全体が、特徴クラスタAとして取り込まれ、ビーコン光源Bの一部分が特徴クラスタBとして取り込まれる。フレームF2の画素が処理される際に、特徴クラスタAは、仮に「2」としてラベル付けされ、特徴クラスタBは、仮に「1」としてラベル付けされる。しかしながら、現在のフレームF2内の特徴クラスタAは、前のフレームF1内の特徴クラスタAに最も近いため、現在のフレームF2内の特徴クラスタAは、前のフレームF1内の特徴クラスタAと同じ識別子である「1」として再ラベル付けされる。この例では、現在のフレームF2に2つの特徴クラスタAおよびBがあるため、識別子「1」および「2」を使って、特徴クラスタがラベル付けされる。現在のフレームF2内の特徴クラスタAが「1」として再ラベル付けされるため、現在のフレームF2内の特徴クラスタBは、「2」として再ラベル付けされる。
【0035】
フレームF3では、ビーコン光源AおよびBの全体が、それぞれ、特徴クラスタAおよびBとして取り込まれ、ビーコン光源Cの一部分が、特徴クラスタCとして取り込まれる。フレームF3の画素が処理される際に、特徴クラスタA、BおよびCは、それぞれ、仮に「3」、「1」および「2」としてラベル付けされる。しかしながら、現在のフレームF3内の特徴クラスタAは、前のフレームF2内の特徴クラスタAに最も近いため、現在のフレームF3内の特徴クラスタAは、前のフレームF2内の特徴クラスタAと同じ識別子である「1」として再ラベル付けされる。同様に、現在のフレームF3内の特徴クラスタBは、前のフレームF2内の特徴クラスタBに最も近いため、現在のフレームF3内の特徴クラスタBは、前のフレームF2内の特徴クラスタBと同じ識別子である「2」として再ラベル付けされる。識別子「3」だけが残されるため、現在のフレームF3内の特徴クラスタCは、「3」として再ラベル付けされる。
【0036】
フレームF4では、ビーコン光源A、BおよびCの全体が、それぞれ、特徴クラスタA、BおよびCとして取り込まれ、ビーコン光源Dの一部分が特徴クラスタDとして取り込まれる。フレームF4の画素が処理される際に、特徴クラスタA、B、CおよびDは、それぞれ、仮に「4」、「1」、「3」および「2」としてラベル付けされる。しかしながら、現在のフレームF4内の特徴クラスタAは、前のフレームF3内の特徴クラスタAに最も近いため、現在のフレームF4内の特徴クラスタAは、前のフレームF3内の特徴クラスタAと同じ識別子である「1」として再ラベル付けされる。同様に、現在のフレームF4内の特徴クラスタBは、前のフレームF3内の特徴クラスタBに最も近いため、現在のフレームF4内の特徴クラスタBは、前のフレームF3内の特徴クラスタBと同じ識別子である「2」として再ラベル付けされる。同様に、現在のフレームF4内の特徴クラスタCは、前のフレームF3内の特徴クラスタCに最も近いため、現在のフレームF4内の特徴クラスタCは、前のフレームF3内の特徴クラスタCと同じ識別子である「3」として再ラベル付けされる。識別子「4」だけが残されるため、現在のフレームF3内の特徴クラスタDは、「4」として再ラベル付けされる。
【0037】
以下の表に、フレームF1、F2、F3およびF4内の特徴クラスタA、B、CおよびDの仮の識別子と、最終的な識別子を示す。左の番号は、個々の特徴クラスタの仮の識別子である。右の番号は、個々の特徴クラスタの最終的な識別子である。
【0038】
【表1】
【0039】
前述の、前の画像フレーム内の最も近い特徴クラスタを使って現在の画像フレーム内の特徴クラスタに再ラベル付けするプロセスは、現在の画像フレームと前の画像フレームとの間の変位が小さいときには、うまく働く。しかしながら、現在の画像フレームと前の画像フレームとの間の変位が大きいときには、再ラベル付けプロセスの間にラベル付けエラーが導入されて、現在の画像フレームと前の画像フレームの同じ特徴クラスタが異なる識別子で再ラベル付けされ、ナビゲーションエラーが生じることになる。
【0040】
例えば、図7には、8つの特徴クラスタA1、B1、C1、D1、A2、B2、C2およびD2がある。特徴クラスタA1、B1、C1およびD1は、画像データの現在のフレーム内の4つの互いに異なる特徴クラスタを表す。特徴クラスタA2、B2、C2およびD2は、画像データの前のフレーム内の同じ特徴クラスタを表す。すなわち、現在のフレーム内の特徴クラスタA1、B1、C1およびD1は、それぞれ、前のフレーム内の特徴クラスタA2、B2、C2およびD2と同じクラスタである。この例で、前の画像フレーム内の最も近い特徴クラスタを使った再ラベル付けプロセスが使用される場合、現在のフレーム内の特徴クラスタB1、C1およびD1は、それぞれ、前のフレーム内の特徴クラスタA2、B2およびC2の識別子を使って再ラベル付けされ、特徴クラスタA1は、特徴クラスタD2の識別子を使って再ラベル付けされることになる。したがって、現在のフレーム内の特徴クラスタA1、B1、C1およびD1は、前のフレーム内の特徴クラスタA2、B2、C2およびD2に関して誤ってラベル付けされることになる。
【0041】
代替の実施形態では、画像データの現在のフレーム内の1つの特徴クラスタは、画像データの前のフレーム内の最も近い特徴クラスタと、これらの特徴クラスタ間の距離が、現在のフレーム内の他の特徴クラスタと前のフレーム内のそれぞれに最も近い特徴クラスタとの間の距離より大きい場合にのみ、ナビゲーションエンジン222により相関される。最も近い特徴クラスタは、画像データの現在のフレーム内の特徴クラスタの重心と、画像データの前のフレーム内の特徴クラスタの重心との間の距離を調べて最短距離を求めることによって見つけてもよい。次いで、画像データの前のフレーム内の最も近い特徴クラスタの識別子が、画像データの現在のフレーム内の対応する特徴クラスタの識別子として使用される。前のフレーム内の特定の特徴クラスタが、現在のフレーム内の特定の特徴クラスタの最も近い特徴クラスタとして使用された後では、それら特定の特徴クラスタは、現在のフレーム内の他のどんな特徴クラスタを再ラベル付けする際にも使用されない。このように、画像データの現在のフレーム内の各特徴クラスタを、画像データの前のフレーム内の正しい特徴クラスタと相関させ、その相関関係にある特徴クラスタの識別子を使って再ラベル付けすることができる。
【0042】
本発明の代替の実施形態による、画像データの現在のフレーム内の特徴クラスタに再ラベル付けするこの第2のプロセスを、図8のプロセス流れ図を参照してさらに説明する。再ラベル付けプロセスはブロック802から開始し、そこで、現在のフレーム内の使用可能な現在の特徴クラスタが選択される。本明細書で使用する際、使用可能な特徴クラスタとは、再ラベル付けプロセスで利用可能である特徴クラスタである。一実施形態では、使用可能な現在の特徴クラスタの選択は、最低の仮の数値識別子を有する現在のフレーム内の特徴クラスタを使用することを含み得る。別の実施形態では、この選択は、別の所定の順序など、1つまたは複数の別の基準を使用することを含んでもよく、これには、不規則な順序も含まれ得る。
【0043】
次に、ブロック804で、画像データの前のフレーム内の使用可能な前の特徴クラスタが選択される。一実施形態では、使用可能な前の特徴クラスタの選択は、最低の数値識別子を有する前のフレーム内の特徴クラスタを使用することを含み得る。別の実施形態では、この選択は、別の所定の順序など、1つまたは複数の別の基準を使用することを含んでもよく、これには、不規則な順序も含まれ得る。
【0044】
次に、ブロック806で、選択された現在の特徴クラスタと選択された前の特徴クラスタとの間の距離の値が算出される。一実施形態では、算出される距離値は、選択された現在の特徴クラスタの重心と選択された前の特徴クラスタの重心との間の距離値である。
【0045】
次に、ブロック808で、算出された距離値が最小距離値より小さいかどうかが判定される。最初は、最小距離値をデフォルト値とすることができる。算出された距離値が最小距離値より小さい場合、プロセスはブロック812に進む。しかしながら、算出された距離値が最小距離値より小さくない場合、プロセスは、ブロック810に進む。
【0046】
ブロック810で、選択された前の特徴クラスタが最後の使用可能な前の特徴クラスタであるかどうかが判定される。そうでない場合、プロセスはブロック804に戻る。そうである場合、プロセスはブロック816に進む。
【0047】
ブロック812で、算出された距離値が新しい最小距離値として設定される。したがって、次に、この算出された距離値に対応する前の特徴クラスタが、選択される現在の特徴クラスタの現在の最も近い前の特徴クラスタになる。
【0048】
次に、ブロック814で、選択された前の特徴クラスタが、最後の使用可能な前の特徴クラスタであるかどうかが判定される。そうでない場合、プロセスはブロック804に戻る。そうである場合、プロセスはブロック816に進む。
【0049】
ブロック816で、選択された現在の特徴クラスタが、最後の使用可能な現在の特徴クラスタであるかどうかが判定される。そうでない場合、プロセスはブロック802に戻る。そうである場合、プロセスは、ブロック818に進む。
【0050】
ブロック818で、異なる現在の特徴クラスタの最終的な最小距離値の中から、最大距離値が見つけられる。各最小距離値は、現在のフレームと前のフレームにおいて相互に最も近い、特定の使用可能な現在の特徴クラスタと特定の使用可能な前の特徴クラスタの関連対に対応する。
【0051】
次に、ブロック820で、最大距離値に対応する現在の特徴クラスタが、最大距離値に対応する前の特徴クラスタの識別子を使って再ラベル付けされる。
【0052】
次に、ブロック822で、最大距離値に対応する現在の特徴クラスタと前の特徴クラスタが、「使用済み」とマークされる。したがって、これらの特徴クラスタは、もはや再ラベル付けプロセスでは使用できなくなる。
【0053】
次に、ブロック824で、現在のフレーム内のすべての現在の特徴クラスタが再ラベル付けされているかどうかが判定される。そうでない場合、プロセスはブロック802に戻り、そこで、現在のフレーム内の別の特徴クラスタが、処理するために選択される。そうである場合、プロセスは終了する。
【0054】
この第2の再ラベル付けプロセスを、例として、図7の特徴クラスタA1、B1、C1、D1、A2、B2、C2およびD2を使って説明する。最初に、現在のフレーム内の特徴クラスタA1、B1、C1およびD1のそれぞれと、前のフレーム内の最も近い特徴クラスタとが、特徴クラスタA1、B1、C1およびD1のそれぞれと、特徴クラスタA2、B2、C2およびD2のそれぞれとの間の最小の距離を求めることによって関連付けられる。結果として、現在のフレーム内の特徴クラスタA1、B1、C1およびD1が、それぞれ、前のフレーム内の特徴クラスタA2、A2、B2およびC2と関連付けられる。特徴クラスタA1とA2との間の距離は、特徴クラスタA1とA2との間の距離、特徴クラスタB1とA2との間の距離、特徴クラスタC1とB2との間の距離、および特徴クラスタD1とC2との間の距離の中の最大の距離であるため、特徴クラスタA1は、特徴クラスタA2の識別子で再ラベル付けされる。次いで、特徴クラスタA1およびA2が「使用済み」とマークされる。次いで、プロセスが、残りの使用可能な特徴クラスタB1、C1、D1、B2、C2およびD2について繰り返される。結果として、特徴クラスタB1が、特徴クラスタB2の識別子で再ラベル付けされる。次いで、同じプロセスが、残りの使用可能な特徴クラスタC1、D1、C2およびD2について繰り返される。結果として、特徴クラスタC1が、特徴クラスタC2の識別子で再ラベル付けされる。次いで、同じプロセスが、残りの使用可能な特徴クラスタD1およびD2について繰り返される。結果として、特徴クラスタD1が、特徴クラスタD2の識別子で再ラベル付けされる。
【0055】
上記の再ラベル付けプロセスでは、関連する現在の特徴クラスタと前の特徴クラスタの対が、現在の特徴クラスタを選択し、次いで、選択された現在の特徴クラスタとすべての前の特徴クラスタとの間の距離を調べることによって見出される。しかしながら、別の実施形態では、関連する現在の特徴クラスタと前の特徴クラスタの対を、前の特徴クラスタを選択し、次いで、選択された前の特徴クラスタとすべての現在の特徴クラスタとの間の距離を調べることによって見出すこともできる。
【0056】
いくつかの実施形態では、ナビゲーションエンジン222は、第1の再ラベル付けプロセスか第2の再ラベル付けプロセスのどちらかを実行してもよい。しかしながら、別の実施形態では、ナビゲーションエンジン222は、1つまたは複数の所定のパラメータに基づいて手動または自動で、第1の再ラベル付けプロセスと第2の再ラベル付けプロセスを切り換えてもよい。例えば、代替の実施形態による第2の再ラベル付けプロセスは、コントローラユニットが、高速で移動されているときに使用されることができる。
【0057】
本発明の一実施形態による、光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けする方法を、図9のプロセス流れ図を参照して説明する。ブロック902で、画像データの現在のフレーム内の現在の特徴クラスタが識別される。次に、ブロック904で、画像データの現在のフレーム内の現在の特徴クラスタと画像データの前のフレーム内の前の特徴クラスタが、現在の特徴クラスタと前の特徴クラスタとの間の距離に基づいて相関される。次に、ブロック906で、現在の特徴クラスタのそれぞれが、その現在の特徴クラスタと相関関係を有する前の特徴クラスタの1つと関連付けられている識別子でラベル付けされる。
【0058】
以上、本発明の特定の実施形態を説明し、図示してきたが、本発明は、以上で説明し、図示している部分の特定の形状または構成だけに限定すべきではない。本発明の範囲は、添付の特許請求の範囲およびその均等物によって定義されるべきである。
【図面の簡単な説明】
【0059】
【図1】本発明の一実施形態による光学ナビゲーションシステムを示す図である。
【図2】図1の光学ナビゲーションシステムに含まれるコントローラユニットのブロック図である。
【図3】3つの特徴クラスタを有する画像データのフレームを含む10×10センサ配列を示す図である。
【図4】本発明の一実施形態による図1の光学ナビゲーションシステムに含まれるナビゲーションエンジンの動作のプロセス流れ図である。
【図5】本発明の一実施形態による、現在の画素を特徴クラスタに属するものとして仮にラベル付けするために調べられ、かつ/または処理される、現在の画素の近隣画素を示す図である。
【図6A】本発明の一実施形態による再ラベル付けプロセスを例示する、画像データの異なるフレーム内の特徴クラスタを示す図である。
【図6B】本発明の一実施形態による再ラベル付けプロセスを例示する、画像データの異なるフレーム内の特徴クラスタを示す図である。
【図6C】本発明の一実施形態による再ラベル付けプロセスを例示する、画像データの異なるフレーム内の特徴クラスタを示す図である。
【図6D】本発明の一実施形態による再ラベル付けプロセスを例示する、画像データの異なるフレーム内の特徴クラスタを示す図である。
【図7】本発明の別の実施形態による再ラベル付けプロセスを例示する、画像データの現在のフレームと前のフレームの特徴クラスタの一例を示す図である。
【図8】本発明の代替の実施形態による再ラベル付けプロセスのプロセス流れ図である。
【図9】本発明の一実施形態による、光学ナビゲーションのために画像データのフレーム内のクラスタ画素にラベル付けする方法のプロセス流れ図である。
【符号の説明】
【0060】
100 光学ナビゲーションシステム
102 コントローラユニット
104 ビーコンユニット
106 表示装置
108 コンソールユニット
110 ビーコン光源
【背景技術】
【0001】
典型的な光学ナビゲーションのシステムでは、画像データのフレームを順次取り込み、比較して、光学ナビゲーションシステムに対するフレーム内の特徴の変位を追跡する。これらのフレーム内の特徴の相対的変位を使って、光学ナビゲーションシステムに対する特徴の動き、または特徴に対する光学ナビゲーションシステムの動きを推定することができる。用途によっては、これらの特徴は、光学ナビゲーションの基準点として取り込まれ、使用されるビーコン(赤外線源など)とすることができる。この種の光学ナビゲーション法を、本明細書では、ビーコンベースのナビゲーション法と呼ぶ。ビーコンベースのナビゲーション法は、現在、コンピュータゲームシステムにおいて、ゲームシステムのために遠隔操作装置の動きを追跡するのに使用されている。
【0002】
ビーコンベースのナビゲーション法では、取り込みフレーム間のビーコンクラスタの任意の変位を推定するために、画像データの取り込みフレーム内の画像化ビーコンまたはビーコンクラスタが特徴クラスタとして識別され、ラベル付けされる。ビーコン源は、普通は静止状態であり、したがって、光学ナビゲーションシステムの相対的動きを判定するための基準点として使用される。画像データの取り込みフレーム内のビーコンクラスタを識別する従来のプロセスでは、画像フレームの各画素を調べて、その画素がビーコンクラスタに属するかどうか判定する。このプロセスの間に、それぞれのビーコンクラスタに、異なるビーコンクラスタを区別する番号でラベル付けする。しかしながら、これらビーコンクラスタのラベル番号は、画像データのあるフレームから次のフレームまでのビーコンクラスタの変位により、画像データの異なるフレーム間では一致しないこともある。したがって、同じビーコンクラスタが、画像データの異なるフレームでは、同じ番号でラベル付けされないこともあり、このために、光学ナビゲーションシステムの相対的位置を計算する際に誤差を生じることになる。
【発明の開示】
【発明が解決しようとする課題】
【0003】
したがって、同じビーコンクラスタが、画像データの異なるフレームにおいて、同じ識別子、例えば番号などでより一貫してラベル付けされるように、画像データの取り込みフレーム内のビーコンクラスタを識別し、ラベル付けするシステムおよび方法が求められている。
【課題を解決するための手段】
【0004】
光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けするシステムおよび方法は、画像データの現在のフレーム内の特徴クラスタと画像データの前のフレーム内の特徴クラスタとの間の距離を使用し、画像データの現在のフレーム内の特徴クラスタと相関関係を有する画像データの前のフレーム内の特徴クラスタと関連付けられている識別子で、画像データの現在のフレーム内の特徴クラスタにラベル付けする。このシステムおよび方法は、画像データの現在のフレームと前のフレーム内の同じ特徴クラスタを、光学ナビゲーションのために識別し、使用することを可能にする。
【0005】
本発明の一実施形態による、光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けする方法は、画像データの現在のフレーム内の現在の特徴クラスタを識別するステップと、画像データの現在のフレーム内の現在の特徴クラスタと、画像データの前のフレーム内の前の特徴クラスタとを、現在の特徴クラスタと前の特徴クラスタとの間の距離に基づいて相関させるステップと、現在の特徴クラスタのそれぞれに、その現在の特徴クラスタと相関関係を有する前の特徴クラスタの1つと関連付けられている識別子でラベル付けするステップとを備える。
【0006】
本発明の別の実施形態による、光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けする方法は、画像データの現在のフレーム内の現在の特徴クラスタを識別するステップと、画像データの現在のフレーム内の現在の特徴クラスタと、画像データの前のフレーム内の前の特徴クラスタとを、現在の特徴クラスタと前の特徴クラスタとの間の距離に基づいて相関させるステップであり、現在の特徴クラスタの各現在の特徴クラスタを、その現在の特徴クラスタに最も近い前の特徴クラスタの1つと関連付けること、および現在の特徴クラスタの特定の現在の特徴クラスタを、前の特徴クラスタの関連する前の特徴クラスタと相関させることを含み、特定の現在の特徴クラスタと関連する前の特徴クラスタとの間の距離が、どんな関連する現在の特徴クラスタと前の特徴クラスタとの間でも最長距離である、ステップと、現在の特徴クラスタのそれぞれに、その現在の特徴クラスタと相関関係を有する前の特徴クラスタの1つと関連付けられている識別子でラベル付けするステップとを備える。
【0007】
本発明の一実施形態による、光学ナビゲーションのシステムは、画像センサと、ナビゲーションエンジンとを備える。画像センサは、画像データのフレームを取り込むように構成されている。ナビゲーションエンジンは、画像センサに動作可能に接続されている。ナビゲーションエンジンは、画像データの現在のフレーム内の現在の特徴クラスタを識別し、画像データの現在のフレーム内の現在の特徴クラスタと、画像データの前のフレーム内の前の特徴クラスタとを、現在の特徴クラスタと前の特徴クラスタとの間の距離に基づいて相関させるように構成されている。ナビゲーションエンジンは、さらに、現在の特徴クラスタのそれぞれに、その現在の特徴クラスタと相関関係を有する前の特徴クラスタの1つと関連付けられている識別子でラベル付けするように構成されている。
【0008】
本発明の別の態様および利点は、以下の詳細な説明を、本発明の原理の例として示す添付の図面と併せて読めば明らかになる。
【発明を実施するための最良の形態】
【0009】
図1を参照して、本発明の一実施形態による光学ナビゲーションシステム100を説明する。本実施形態では、光学ナビゲーションシステム100は、画像データの取り込みフレーム内の画像化ビーコンを使ってナビゲートするように動作する。すなわち、光学ナビゲーションシステム100は、光学ナビゲーションにビーコンベースのナビゲーション法を使用する。したがって、光学ナビゲーションシステム100は、動作に際して、画像データの取り込みフレームを、画像化ビーコン源である取り込みフレーム内の特徴クラスタを識別し、ラベル付けするように処理する。本明細書では、これらの特徴クラスタを、ビーコンクラスタまたは単にクラスタともいう。以下でより詳細に説明するように、光学ナビゲーションシステム100は、画像データの取り込みフレーム内の特徴クラスタを、画像データの異なるフレームについて、同じ特徴クラスタが、同じ識別子、例えば、番号、文字、シンボル、またはこれらの任意の組み合わせなどを用いて、より一貫してラベル付けされるようにラベル付けする。
【0010】
図1に示すように、光学ナビゲーションシステム100は、コントローラユニット102と、ビーコンユニット104と、表示装置106と、コンソールユニット108とを含む。いくつかの実施形態では、コンソールユニット108は、従来の配線を使って表示装置106に結合されている。代替として、別の有線または無線接続が実施されてもよい。いくつかの実施形態では、コントローラユニット102およびコンソールユニット108は、ゲームシステムの一部である。代替として、光学ナビゲーションシステム100は、別種のシステムを実施するのに使用されてもよい。例えば、光学ナビゲーションシステム100の実施形態の中には、コンピュータシステムのアクセス可能なユーザインターフェースを提供するのに使用されるものもある。
【0011】
コントローラユニット102は、ビーコンユニット104に対するコントローラユニットの相対的位置を計算するように構成されている。コントローラユニット102は、ビーコンユニット104を基準として位置計算を行うように設計されている。ビーコンユニット104は、複数のビーコン光源110を含み、ビーコン光源は、コントローラユニット102により、コントローラユニットの相対的位置を計算するための基準点として使用される。一実施形態では、ビーコンユニット104のビーコン光源110は、赤外線(IR)、または発光ダイオード(LED)、レーザダイオード等の可視光源である。図示の実施形態では、ビーコンユニット104は、2つのビーコン光源110を含む。しかしながら、別の実施形態では、ビーコンユニット104は、3つ以上のビーコン光源を含んでもよい。コントローラユニット102は、画像データのフレーム内にビーコンユニット104のビーコン光源110を電子的に取り込むように動作する。次いで、コントローラユニット102は、画像データの取り込みフレームを、取り込みフレーム内の画像化ビーコン光源を識別し、ラベル付けするように処理する。画像データの取り込みフレーム間での画像化ビーコン光源位置の変化を使って、コントローラユニット102の、光学ナビゲーションシステム100の座標系内での相対的位置を示す位置データが出力される。光学ナビゲーションシステム100の座標系は、較正段階において確立され得る。出力位置データは、光学ナビゲーションシステムのX軸、Y軸およびZ軸に沿った、x、yおよびzの位置値とすることができる。代替として、出力位置データは、それぞれの軸に沿った変化または変位を表す、光学ナビゲーションシステム100のX軸、Y軸およびZ軸に沿ったΔx、ΔyおよびΔzの値とすることもできる。
【0012】
コントローラユニット102の位置データは、コンソールユニット108に送られる。コンソールユニット108は、特定用途で使用するために位置データを処理する。一例として、コンソールユニット108は、コントローラユニットから新しい位置データが受け取られる際のコントローラユニット102の動きに従って表示装置106上に表示されるグラフィック要素を操作するように構成されることができる。コンソールユニット108は、ゲームプログラムなど、1つまたは複数のコンピュータプログラムを走らせるコンピュータシステムとすることができる。本実施形態では、コンソールユニット108は、パーソナルコンピュータシステムで一般に見られる構成要素を含むことができる。
【0013】
次に図2を見ると、本発明の一実施形態によるコントローラユニット102のブロック図が示されている。図示のコントローラユニット102は、デジタルプロセッサ212、メモリデバイス214、電源216、送受信器218、画像センサ220、ナビゲーションエンジン222、ランダムアクセスメモリ224、光学レンズ226、および光学フィルタ227および水晶発振器228を含む。図示の実施形態では、画像センサ220、ナビゲーションエンジン222およびRAM224は、集積回路(IC)230の一部である。しかしながら、別の実施形態では、画像センサ220、ナビゲーションエンジン222およびRAM224は、別個の構成要素として実施されてもよい。IC230は、1つまたは複数の信号線232を介してデジタルプロセッサ212に接続されており、これらの信号線には、アドレス、データおよび/または制御の信号線が含まれ得る。コントローラユニット102は、特定の構成要素を含むものとして示されているが、コントローラユニットは、別の構成要素を含んでもよい。例えば、コントローラユニット102の実施形態の中には、入力ボタン、ジョイスティックまたはゲームコントローラに通常使用される別のセレクタを含むものもある。コントローラユニット102の別の実施形態には、ユーザへの触覚または聴覚フィードバック信号を発生させるフィードバック信号発生器が含まれる。
【0014】
いくつかの実施形態では、デジタルプロセッサ212は、マイクロプロセッサやマイクロコントローラなどの汎用プロセッサとすることもできる。別の実施形態では、デジタルプロセッサ212は、デジタル信号プロセッサなどの専用プロセッサとすることもできる。別の実施形態では、デジタルプロセッサ212は、別種のコントローラまたはフィールドプログラマブルゲートアレイ(FPGA)とすることもできる。一般に、デジタルプロセッサ212は、コントローラユニット102の動作および機能を実施する。
【0015】
メモリデバイス214は、コントローラユニット102の動作で使用するためのデータおよび/または命令を格納するように構成されている。いくつかの実施形態では、メモリデバイス214は、命令を格納し、これらの命令は、デジタルプロセッサ212によって実行されると、デジタルプロセッサに特定の動作を実行させる。同様に、若干の命令が、デジタルプロセッサ212に統合されたメモリに格納されてもよい。加えて、メモリデバイス214は、デジタルプロセッサ212および/またはナビゲーションエンジン222によって作成される位置データを格納してもよい。
【0016】
一実施形態では、電源216は、デジタルプロセッサ212、ならびにコントローラユニット102の他の構成要素に、直流(DC)電気信号Vccを提供する。電源216の実施形態の中には、1つまたは複数の電池を含むものもある。いくつかの実施形態では、電源216が、配線を介してコンソールユニット108から電力を受け取るものもある。同様に、水晶発振器228は、コントローラユニット102の構成要素の1つまたは複数に、クロック信号CLKを提供する。
【0017】
送受信器218は、デジタルプロセッサ212に結合されており、コントローラユニット102からコンソールユニット108に、位置データ信号などの信号を送信するように構成されている。また、送受信器218は、コンソールユニット108から、制御信号、すなわちフィードバック信号を受け取るようにも構成されている。加えて、送受信器は、有線または無線通信を円滑化してもよい。例えば、送受信器218は、配線による接続を介してコンソールユニット108に電気信号を送ってもよい。代替として、送受信器218は、公知の無線データ伝送プロトコルを使って、無線周波数(RF)信号などの無線信号を送ってもよい。
【0018】
画像センサ220は、やはりデジタルプロセッサ212に結合されており、画像データのフレームを取り込むように構成されている。画像センサ220は、相補型金属酸化膜半導体(CMOS)画像センサ配列や電荷結合素子(CCD)画像センサ配列などの電子画像化センサ配列を含む。例えば、画像センサ220は、比較的低い解像度の画像データのフレームを取り込む30×30画素配列を含むことができる。しかしながら、画像センサ220の別の実施形態は、画像データのより高い解像度のフレームのためのより大きいサイズの画素配列または画像データのより低い解像度のフレームためのより小さいサイズの画素配列を含んでもよい。図示の実施形態では、画像センサ220は、光学レンズ226および光学フィルタ227と併用される。光学レンズ226は、画像の焦点を画像センサ220に合わせるのに使用される。光学フィルタ227は、望ましくない光を選択的に除去し、ビーコンユニット104のビーコン光源110からの光を選択的に送って、ビーコン光源110からの光が画像センサ220によって画像化されるようにするのに使用される。例えば、光学フィルタ227は、IRまたはカラーフィルタとすることができる。しかしながら、別の実施形態では、光学レンズ226および/または光学フィルタ227を省略してもよく、複数の光学レンズおよび/または光学フィルタを実施してもよい。
【0019】
図示の実施形態では、ナビゲーションエンジン222は、IC230上で画像センサ220およびRAM224と一体化されている。別の実施形態では、ナビゲーションエンジン222は、一部または全部が、デジタルプロセッサ212と一体化されてもよい。一般に、ナビゲーションエンジン222は、画像センサ220によって取り込まれた画像データのフレームを、コントローラユニット102に関する現在の位置データを算出し、出力するように処理する。この処理の間、ナビゲーションエンジン222は、画像データの取り込みフレーム内の特徴クラスタ、例えば、取り込みフレーム内の画像化ビーコン光源などの識別と仮のラベル付けを含む動作を行う。次いで、ナビゲーションエンジン222は、画像データの現在のフレームと前のフレーム内の同じ特徴クラスタが、同じ識別子でラベル付けされるように、特徴クラスタに再ラベル付けする。取り込みフレーム内の特徴クラスタが識別され、ラベル付けされた後、これらのクラスタを使って、コントローラユニットの位置データが算出される。
【0020】
本発明の一実施形態による、特徴クラスタの識別と仮のラベル付けに関するナビゲーションエンジン222の動作を、一例として、図3の10×10センサ配列300と、図4のプロセス流れ図とを参照して説明する。図3では、センサ配列300は、画素のそれぞれに取り込みデータを含む。一実施形態では、センサ配列300の画素内の各データは、その画素に取り込まれた輝度または強度の値である。したがって、この例では、画像データの取り込みフレームは10×10画素の画像フレームである。図3に示すように、取り込みフレームは、画像化ビーコン源を表し得る3つの特徴クラスタ302、304および306を含む。一実施形態では、画像データのフレームの画素は、その画素が所定の閾値より大きい輝度値を有する場合には、ある特徴クラスタに属するものとみなされる。以下でより詳細に説明するように、1つより多い特徴クラスタがあるものと仮定すると、ナビゲーションエンジン222は、まず、画素を、ある特徴クラスタに属するものとして識別し、次いで、その画素を、適正な特徴クラスタにラベル付けする。加えて、ナビゲーションエンジン222は、画像フレームの各画素が処理される際に、各特徴クラスタのパラメータ計算も行う。
【0021】
図4に示すように、ナビゲーションエンジン222の動作は、ブロック402から開始し、そこで、図3のセンサ配列300の次の画素からのデータが読み取られる。画素データが読み取られる画素は、ナビゲーションエンジン222によって処理されているセンサ配列300の現在の画素である。画素データは、少なくとも、現在の画素の輝度値を含む。画素データは、センサ配列300の最上行から始まって最下行まで、左から右へ読み取られる。したがって、最初に読み取られるべき画素データは、図3に示す画素(x1,y1)からのデータである。
【0022】
次に、ブロック404で、現在の画素の画素輝度値が閾値より大きいかどうかが判定される。閾値より大きい輝度値を有する画素は、「クラスタ画素」または1つまたは複数の特徴クラスタに属する画素であるとみなされる。画素輝度値が閾値以下である場合、動作はブロック420に進む。画素輝度値が閾値より大きい場合、動作はブロック406に進む。
【0023】
ブロック406で、現在の画素が既存の特徴クラスタに連結しているかどうかが判定される。この判定は、現在の画素の周りの近隣画素と関連付けられているラベル情報を調べることによって行われる。現在の画素の周りの近隣画素とは、現在の画素のすぐ隣にある画素である。いくつかの実施形態では、現在の画素が既存の特徴クラスタに連結しているかどうか判定するのに、現在の画素の選択された近隣画素だけが調べられる。一実施形態では、現在の画素の上にある近隣画素と、現在の画素の左隣にある近隣画素だけが調べられる。これは図5に示されており、図5には、現在の画素と近隣画素[1]、[2]、[3]および[4]が示されている。本実施形態では、現在の画素が既存の特徴クラスタに連結しているかどうかを判定するのに、左隣の近隣画素[1]、左上の近隣画素[2]、真上の近隣画素[3]および右上の近隣画素[4]だけが調べられる。したがって、ナビゲーションエンジン222は、現在の画素の近隣画素[1]、[2]、[3]および[4]に関するクラスタ情報を格納する必要がある。したがって、処理される各画素ごとに、その画素に関して同様に位置する近隣画素のクラスタ情報が格納され、アクセスされる必要がある。
【0024】
図4に戻って、ブロック406で、現在の画素が既存の特徴クラスタに連結していないと判定された場合、動作はブロック408に進み、そこで、現在の画素が、新しい特徴クラスタに属するものとしてラベル付けされる。次いで、動作はブロック418に進む。しかしながら、ブロック406で、現在の画素が既存の特徴クラスタに連結していると判定された場合、動作はブロック410に進み、そこで、現在の画素が1つより多い特徴クラスタに連結しているかどうかが判定される。すなわち、近隣画素の2つ以上が異なる特徴クラスタに属しているかどうかが判定される。現在の画素がただ1つの特徴クラスタに連結している場合、動作はブロック414に進む。現在の画素が1つより多い特徴クラスタに連結している場合、ブロック412で、近隣画素のうちの異なる特徴クラスタ、および他の選択され、前に処理された画素が、同じ特徴クラスタとして再ラベル付けされる。すなわち、異なる特徴クラスタに属するものとしてラベル付けされている近隣画素および他の選択され、前に処理された画素が、同じ特徴クラスタに属するものとして再ラベル付けされる。一実施形態では、該当する場合には、現在の画素の上にある近隣画素と、現在の画素の左隣にある近隣画素と、右上の近隣画素の右側にある2つの近接する画素だけが再ラベル付けされる。これは図5に示されており、図5には、現在の画素と、近隣画素[1]、[2]、[3]および[4]と、近接する画素[5]および[6]が示されている。一実施形態では、異なる特徴クラスタが、近隣画素をラベル付けするのに使用される最初の既存の特徴クラスタとして再ラベル付けされる。次いで動作はブロック414に進む。
【0025】
ブロック414で、現在の画素が、同じ既存の特徴クラスタに属するものとしてラベル付けされる。現在の画素がただ1つの既存の特徴クラスタだけに連結している場合、現在の画素は、その既存の特徴クラスタに属するものとしてラベル付けされる。現在の画素が、1つより多い既存の特徴クラスタに連結している場合、現在の画素は、再ラベル付けされた特徴クラスタに属するものとしてラベル付けされる。
【0026】
次に、ブロック416で、現在の画素の既存の特徴クラスタが1つにまとめられる。次に、ブロック418で、現在の画素の特徴クラスタのパラメータ計算が行われる。一実施形態では、パラメータ計算は、total_x値、total_y値、pixel_count値、boundary_x1値、boundary_y1値、boundary_x2値およびboundary_y2値を含む。total_x値は、特徴クラスタに属する画素のx座標値の和である。total_y値は、特徴クラスタに属する画素のy座標値の和である。pixel_count値は、特徴クラスタに属する画素の数である。boundary_x1値、boundary_y1値、boundary_x2値およびboundary_y2値は、特徴クラスタの矩形境界値であり、これは、特徴クラスタに属する画素の、最小のx座標値とy座標値、すなわち、boundary_x1値とboundary_y1値、ならびに最大のx座標値とy座標値、すなわち、boundary_x2値とboundary_y2値を含む。
【0027】
次に、ブロック420で、現在の画素がセンサ配列300内の最後の画素であるかどうかが判定される。現在の画素が最後の画素でない場合、動作はブロック402に戻り、そこで次の画素が、処理されるべきセンサ配列から読み取られる。現在の画素が最後の画素である場合、動作はブロック422に進み、そこで、ナビゲーションを行うためにすべての特徴クラスタが報告される。
【0028】
このプロセスの間に、各特徴クラスタの重心の座標が算出される。特徴クラスタの重心座標は、パラメータ計算の一部として算出されてもよい。代替として、特徴クラスタの重心座標は、画像データのフレームの画素が処理された後で、独立に算出されてもよい。算出された重心座標は、メモリデバイス214、RAM224またはデジタルプロセッサ212の内部メモリに格納され得る。
【0029】
特徴クラスタは、識別され、仮にラベル付けされた後、ナビゲーションエンジン222によって、画像データの現在のフレーム内の特徴クラスタが、前の特徴クラスタ内の同じ特徴クラスタと関連付けられている識別子でラベル付けされるように再ラベル付けされる。本明細書で説明するように、いくつかの実施形態では、再ラベル付けに使用される識別子は、前の特徴クラスタ内の特徴クラスタに使用された識別子である。しかしながら、別の実施形態では、再ラベル付けに使用される識別子は、前の特徴クラスタ内の特徴クラスタに対応する別の識別子とすることもできる。いくつかの実施形態では、画像データの現在のフレーム内の特徴クラスタと画像データの前のフレーム内の特徴クラスタとの間の距離を使って、画像データの現在のフレームと前のフレームの特徴クラスタを相関させる。現在のフレーム内の特徴クラスタと前のフレーム内の特徴クラスタとの間の距離は、現在のフレームと前のフレームが、2つの特徴クラスタが同じフレーム上にあるように重ね合わされた場合のそれら2つの特徴クラスタ間の距離であるとみなすことができる。相関関係にある特徴クラスタでは、画像データの前のフレーム内の相関関係にある特徴クラスタの識別子を使って、相関関係にある特徴クラスタが再ラベル付けされる。画像データの現在のフレーム内のどんな残りの特徴クラスタも、画像データの前のフレームで使用されていない識別子を使って再ラベル付けされる。特定の状況では、画像データの現在のフレーム内の残りの特徴クラスタが、その特徴クラスタの仮の識別子で再ラベル付けされてもよい。
【0030】
一実施形態では、画像データの現在のフレーム内の特徴クラスタが、画像データの前のフレーム内の相関関係にある特徴クラスタの識別子を使ってその特徴クラスタに再ラベル付けするために、ナビゲーションエンジン222によって、前のフレーム内の最も近い特徴クラスタと相関される。最も近い特徴クラスタは、画像データの現在のフレーム内の特徴クラスタの重心と画像データの前のフレーム内の特徴クラスタの重心との間の距離を調べて最短距離を求めることによって見つけてもよい。次いで、画像データの前のフレーム内の最も近い特徴クラスタの識別子が、画像データの現在のフレーム内の相関関係にある特徴クラスタの識別子として使用される。前のフレーム内の特定の特徴クラスタが現在のフレーム内の特定の特徴クラスタの最も近い特徴クラスタとして使用された後では、それら特定の特徴クラスタは、現在のフレーム内の他のどんな特徴クラスタに再ラベル付けする際にも考察されない。このように、画像データの現在のフレーム内の各特徴クラスタを、画像データの前のフレーム内の最も近い特徴クラスタと相関させ、その最も近い特徴クラスタの識別子を使って再ラベル付けすることができる。
【0031】
いくつかの実施形態では、現在のフレーム内の特徴クラスタと前のフレーム内の最も近い特徴クラスタが、まず、再ラベル付けされる。次いで、現在のフレーム内の特徴クラスタと前のフレーム内の次に近い特徴クラスタが再ラベル付けされる。現在のフレーム内のどんな残りの特徴クラスタも、同様に順次再ラベル付けされる。別の実施形態では、現在のフレーム内の特徴クラスタが、所定の順序で処理される。例えば、現在のフレーム内の特徴クラスタは、特徴クラスタの仮の識別子によって決まる順序で再ラベル付けされてもよい。この例では、識別子「1」を使って仮にラベル付けされている現在のフレーム内の特徴クラスタが最初に再ラベル付けされ、続いて、識別子「2」を使って仮にラベル付けされている特徴クラスタが再ラベル付けされる。現在のフレーム内のどんな残りの特徴クラスタも、同様に順次再ラベル付けされる。
【0032】
本発明の一実施形態による、画像データの前のフレーム内の最も近い特徴クラスタを使って画像データの現在のフレーム内の特徴クラスタに再ラベル付けするプロセスを、例として図6A〜6Dを用いて説明する。この例では、画像フレームF1、F2、F3、およびF4などの画像データのフレーム内に取り込むことのできる、4つのビーコン光源A、B、CおよびDがある。この例では、コントローラユニット102の画像センサ220が、ビーコン光源A、B、CおよびDに対して、矢印600で示すように、正のX方向に変位する際に、画像フレームF1、F2、F3、およびF4が連続して取り込まれる。
【0033】
フレームF1では、ビーコン光源Aの一部分だけが特徴クラスタAとして取り込まれる。フレームF1の画素が処理される際に、特徴クラスタAは、仮に「1」としてラベル付けされる。前の画像フレーム内に特徴クラスタがなかったものと仮定すると、特徴クラスタAは、同じ識別子「1」を使って再ラベル付けされる。
【0034】
フレームF2では、ビーコン光源A全体が、特徴クラスタAとして取り込まれ、ビーコン光源Bの一部分が特徴クラスタBとして取り込まれる。フレームF2の画素が処理される際に、特徴クラスタAは、仮に「2」としてラベル付けされ、特徴クラスタBは、仮に「1」としてラベル付けされる。しかしながら、現在のフレームF2内の特徴クラスタAは、前のフレームF1内の特徴クラスタAに最も近いため、現在のフレームF2内の特徴クラスタAは、前のフレームF1内の特徴クラスタAと同じ識別子である「1」として再ラベル付けされる。この例では、現在のフレームF2に2つの特徴クラスタAおよびBがあるため、識別子「1」および「2」を使って、特徴クラスタがラベル付けされる。現在のフレームF2内の特徴クラスタAが「1」として再ラベル付けされるため、現在のフレームF2内の特徴クラスタBは、「2」として再ラベル付けされる。
【0035】
フレームF3では、ビーコン光源AおよびBの全体が、それぞれ、特徴クラスタAおよびBとして取り込まれ、ビーコン光源Cの一部分が、特徴クラスタCとして取り込まれる。フレームF3の画素が処理される際に、特徴クラスタA、BおよびCは、それぞれ、仮に「3」、「1」および「2」としてラベル付けされる。しかしながら、現在のフレームF3内の特徴クラスタAは、前のフレームF2内の特徴クラスタAに最も近いため、現在のフレームF3内の特徴クラスタAは、前のフレームF2内の特徴クラスタAと同じ識別子である「1」として再ラベル付けされる。同様に、現在のフレームF3内の特徴クラスタBは、前のフレームF2内の特徴クラスタBに最も近いため、現在のフレームF3内の特徴クラスタBは、前のフレームF2内の特徴クラスタBと同じ識別子である「2」として再ラベル付けされる。識別子「3」だけが残されるため、現在のフレームF3内の特徴クラスタCは、「3」として再ラベル付けされる。
【0036】
フレームF4では、ビーコン光源A、BおよびCの全体が、それぞれ、特徴クラスタA、BおよびCとして取り込まれ、ビーコン光源Dの一部分が特徴クラスタDとして取り込まれる。フレームF4の画素が処理される際に、特徴クラスタA、B、CおよびDは、それぞれ、仮に「4」、「1」、「3」および「2」としてラベル付けされる。しかしながら、現在のフレームF4内の特徴クラスタAは、前のフレームF3内の特徴クラスタAに最も近いため、現在のフレームF4内の特徴クラスタAは、前のフレームF3内の特徴クラスタAと同じ識別子である「1」として再ラベル付けされる。同様に、現在のフレームF4内の特徴クラスタBは、前のフレームF3内の特徴クラスタBに最も近いため、現在のフレームF4内の特徴クラスタBは、前のフレームF3内の特徴クラスタBと同じ識別子である「2」として再ラベル付けされる。同様に、現在のフレームF4内の特徴クラスタCは、前のフレームF3内の特徴クラスタCに最も近いため、現在のフレームF4内の特徴クラスタCは、前のフレームF3内の特徴クラスタCと同じ識別子である「3」として再ラベル付けされる。識別子「4」だけが残されるため、現在のフレームF3内の特徴クラスタDは、「4」として再ラベル付けされる。
【0037】
以下の表に、フレームF1、F2、F3およびF4内の特徴クラスタA、B、CおよびDの仮の識別子と、最終的な識別子を示す。左の番号は、個々の特徴クラスタの仮の識別子である。右の番号は、個々の特徴クラスタの最終的な識別子である。
【0038】
【表1】
【0039】
前述の、前の画像フレーム内の最も近い特徴クラスタを使って現在の画像フレーム内の特徴クラスタに再ラベル付けするプロセスは、現在の画像フレームと前の画像フレームとの間の変位が小さいときには、うまく働く。しかしながら、現在の画像フレームと前の画像フレームとの間の変位が大きいときには、再ラベル付けプロセスの間にラベル付けエラーが導入されて、現在の画像フレームと前の画像フレームの同じ特徴クラスタが異なる識別子で再ラベル付けされ、ナビゲーションエラーが生じることになる。
【0040】
例えば、図7には、8つの特徴クラスタA1、B1、C1、D1、A2、B2、C2およびD2がある。特徴クラスタA1、B1、C1およびD1は、画像データの現在のフレーム内の4つの互いに異なる特徴クラスタを表す。特徴クラスタA2、B2、C2およびD2は、画像データの前のフレーム内の同じ特徴クラスタを表す。すなわち、現在のフレーム内の特徴クラスタA1、B1、C1およびD1は、それぞれ、前のフレーム内の特徴クラスタA2、B2、C2およびD2と同じクラスタである。この例で、前の画像フレーム内の最も近い特徴クラスタを使った再ラベル付けプロセスが使用される場合、現在のフレーム内の特徴クラスタB1、C1およびD1は、それぞれ、前のフレーム内の特徴クラスタA2、B2およびC2の識別子を使って再ラベル付けされ、特徴クラスタA1は、特徴クラスタD2の識別子を使って再ラベル付けされることになる。したがって、現在のフレーム内の特徴クラスタA1、B1、C1およびD1は、前のフレーム内の特徴クラスタA2、B2、C2およびD2に関して誤ってラベル付けされることになる。
【0041】
代替の実施形態では、画像データの現在のフレーム内の1つの特徴クラスタは、画像データの前のフレーム内の最も近い特徴クラスタと、これらの特徴クラスタ間の距離が、現在のフレーム内の他の特徴クラスタと前のフレーム内のそれぞれに最も近い特徴クラスタとの間の距離より大きい場合にのみ、ナビゲーションエンジン222により相関される。最も近い特徴クラスタは、画像データの現在のフレーム内の特徴クラスタの重心と、画像データの前のフレーム内の特徴クラスタの重心との間の距離を調べて最短距離を求めることによって見つけてもよい。次いで、画像データの前のフレーム内の最も近い特徴クラスタの識別子が、画像データの現在のフレーム内の対応する特徴クラスタの識別子として使用される。前のフレーム内の特定の特徴クラスタが、現在のフレーム内の特定の特徴クラスタの最も近い特徴クラスタとして使用された後では、それら特定の特徴クラスタは、現在のフレーム内の他のどんな特徴クラスタを再ラベル付けする際にも使用されない。このように、画像データの現在のフレーム内の各特徴クラスタを、画像データの前のフレーム内の正しい特徴クラスタと相関させ、その相関関係にある特徴クラスタの識別子を使って再ラベル付けすることができる。
【0042】
本発明の代替の実施形態による、画像データの現在のフレーム内の特徴クラスタに再ラベル付けするこの第2のプロセスを、図8のプロセス流れ図を参照してさらに説明する。再ラベル付けプロセスはブロック802から開始し、そこで、現在のフレーム内の使用可能な現在の特徴クラスタが選択される。本明細書で使用する際、使用可能な特徴クラスタとは、再ラベル付けプロセスで利用可能である特徴クラスタである。一実施形態では、使用可能な現在の特徴クラスタの選択は、最低の仮の数値識別子を有する現在のフレーム内の特徴クラスタを使用することを含み得る。別の実施形態では、この選択は、別の所定の順序など、1つまたは複数の別の基準を使用することを含んでもよく、これには、不規則な順序も含まれ得る。
【0043】
次に、ブロック804で、画像データの前のフレーム内の使用可能な前の特徴クラスタが選択される。一実施形態では、使用可能な前の特徴クラスタの選択は、最低の数値識別子を有する前のフレーム内の特徴クラスタを使用することを含み得る。別の実施形態では、この選択は、別の所定の順序など、1つまたは複数の別の基準を使用することを含んでもよく、これには、不規則な順序も含まれ得る。
【0044】
次に、ブロック806で、選択された現在の特徴クラスタと選択された前の特徴クラスタとの間の距離の値が算出される。一実施形態では、算出される距離値は、選択された現在の特徴クラスタの重心と選択された前の特徴クラスタの重心との間の距離値である。
【0045】
次に、ブロック808で、算出された距離値が最小距離値より小さいかどうかが判定される。最初は、最小距離値をデフォルト値とすることができる。算出された距離値が最小距離値より小さい場合、プロセスはブロック812に進む。しかしながら、算出された距離値が最小距離値より小さくない場合、プロセスは、ブロック810に進む。
【0046】
ブロック810で、選択された前の特徴クラスタが最後の使用可能な前の特徴クラスタであるかどうかが判定される。そうでない場合、プロセスはブロック804に戻る。そうである場合、プロセスはブロック816に進む。
【0047】
ブロック812で、算出された距離値が新しい最小距離値として設定される。したがって、次に、この算出された距離値に対応する前の特徴クラスタが、選択される現在の特徴クラスタの現在の最も近い前の特徴クラスタになる。
【0048】
次に、ブロック814で、選択された前の特徴クラスタが、最後の使用可能な前の特徴クラスタであるかどうかが判定される。そうでない場合、プロセスはブロック804に戻る。そうである場合、プロセスはブロック816に進む。
【0049】
ブロック816で、選択された現在の特徴クラスタが、最後の使用可能な現在の特徴クラスタであるかどうかが判定される。そうでない場合、プロセスはブロック802に戻る。そうである場合、プロセスは、ブロック818に進む。
【0050】
ブロック818で、異なる現在の特徴クラスタの最終的な最小距離値の中から、最大距離値が見つけられる。各最小距離値は、現在のフレームと前のフレームにおいて相互に最も近い、特定の使用可能な現在の特徴クラスタと特定の使用可能な前の特徴クラスタの関連対に対応する。
【0051】
次に、ブロック820で、最大距離値に対応する現在の特徴クラスタが、最大距離値に対応する前の特徴クラスタの識別子を使って再ラベル付けされる。
【0052】
次に、ブロック822で、最大距離値に対応する現在の特徴クラスタと前の特徴クラスタが、「使用済み」とマークされる。したがって、これらの特徴クラスタは、もはや再ラベル付けプロセスでは使用できなくなる。
【0053】
次に、ブロック824で、現在のフレーム内のすべての現在の特徴クラスタが再ラベル付けされているかどうかが判定される。そうでない場合、プロセスはブロック802に戻り、そこで、現在のフレーム内の別の特徴クラスタが、処理するために選択される。そうである場合、プロセスは終了する。
【0054】
この第2の再ラベル付けプロセスを、例として、図7の特徴クラスタA1、B1、C1、D1、A2、B2、C2およびD2を使って説明する。最初に、現在のフレーム内の特徴クラスタA1、B1、C1およびD1のそれぞれと、前のフレーム内の最も近い特徴クラスタとが、特徴クラスタA1、B1、C1およびD1のそれぞれと、特徴クラスタA2、B2、C2およびD2のそれぞれとの間の最小の距離を求めることによって関連付けられる。結果として、現在のフレーム内の特徴クラスタA1、B1、C1およびD1が、それぞれ、前のフレーム内の特徴クラスタA2、A2、B2およびC2と関連付けられる。特徴クラスタA1とA2との間の距離は、特徴クラスタA1とA2との間の距離、特徴クラスタB1とA2との間の距離、特徴クラスタC1とB2との間の距離、および特徴クラスタD1とC2との間の距離の中の最大の距離であるため、特徴クラスタA1は、特徴クラスタA2の識別子で再ラベル付けされる。次いで、特徴クラスタA1およびA2が「使用済み」とマークされる。次いで、プロセスが、残りの使用可能な特徴クラスタB1、C1、D1、B2、C2およびD2について繰り返される。結果として、特徴クラスタB1が、特徴クラスタB2の識別子で再ラベル付けされる。次いで、同じプロセスが、残りの使用可能な特徴クラスタC1、D1、C2およびD2について繰り返される。結果として、特徴クラスタC1が、特徴クラスタC2の識別子で再ラベル付けされる。次いで、同じプロセスが、残りの使用可能な特徴クラスタD1およびD2について繰り返される。結果として、特徴クラスタD1が、特徴クラスタD2の識別子で再ラベル付けされる。
【0055】
上記の再ラベル付けプロセスでは、関連する現在の特徴クラスタと前の特徴クラスタの対が、現在の特徴クラスタを選択し、次いで、選択された現在の特徴クラスタとすべての前の特徴クラスタとの間の距離を調べることによって見出される。しかしながら、別の実施形態では、関連する現在の特徴クラスタと前の特徴クラスタの対を、前の特徴クラスタを選択し、次いで、選択された前の特徴クラスタとすべての現在の特徴クラスタとの間の距離を調べることによって見出すこともできる。
【0056】
いくつかの実施形態では、ナビゲーションエンジン222は、第1の再ラベル付けプロセスか第2の再ラベル付けプロセスのどちらかを実行してもよい。しかしながら、別の実施形態では、ナビゲーションエンジン222は、1つまたは複数の所定のパラメータに基づいて手動または自動で、第1の再ラベル付けプロセスと第2の再ラベル付けプロセスを切り換えてもよい。例えば、代替の実施形態による第2の再ラベル付けプロセスは、コントローラユニットが、高速で移動されているときに使用されることができる。
【0057】
本発明の一実施形態による、光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けする方法を、図9のプロセス流れ図を参照して説明する。ブロック902で、画像データの現在のフレーム内の現在の特徴クラスタが識別される。次に、ブロック904で、画像データの現在のフレーム内の現在の特徴クラスタと画像データの前のフレーム内の前の特徴クラスタが、現在の特徴クラスタと前の特徴クラスタとの間の距離に基づいて相関される。次に、ブロック906で、現在の特徴クラスタのそれぞれが、その現在の特徴クラスタと相関関係を有する前の特徴クラスタの1つと関連付けられている識別子でラベル付けされる。
【0058】
以上、本発明の特定の実施形態を説明し、図示してきたが、本発明は、以上で説明し、図示している部分の特定の形状または構成だけに限定すべきではない。本発明の範囲は、添付の特許請求の範囲およびその均等物によって定義されるべきである。
【図面の簡単な説明】
【0059】
【図1】本発明の一実施形態による光学ナビゲーションシステムを示す図である。
【図2】図1の光学ナビゲーションシステムに含まれるコントローラユニットのブロック図である。
【図3】3つの特徴クラスタを有する画像データのフレームを含む10×10センサ配列を示す図である。
【図4】本発明の一実施形態による図1の光学ナビゲーションシステムに含まれるナビゲーションエンジンの動作のプロセス流れ図である。
【図5】本発明の一実施形態による、現在の画素を特徴クラスタに属するものとして仮にラベル付けするために調べられ、かつ/または処理される、現在の画素の近隣画素を示す図である。
【図6A】本発明の一実施形態による再ラベル付けプロセスを例示する、画像データの異なるフレーム内の特徴クラスタを示す図である。
【図6B】本発明の一実施形態による再ラベル付けプロセスを例示する、画像データの異なるフレーム内の特徴クラスタを示す図である。
【図6C】本発明の一実施形態による再ラベル付けプロセスを例示する、画像データの異なるフレーム内の特徴クラスタを示す図である。
【図6D】本発明の一実施形態による再ラベル付けプロセスを例示する、画像データの異なるフレーム内の特徴クラスタを示す図である。
【図7】本発明の別の実施形態による再ラベル付けプロセスを例示する、画像データの現在のフレームと前のフレームの特徴クラスタの一例を示す図である。
【図8】本発明の代替の実施形態による再ラベル付けプロセスのプロセス流れ図である。
【図9】本発明の一実施形態による、光学ナビゲーションのために画像データのフレーム内のクラスタ画素にラベル付けする方法のプロセス流れ図である。
【符号の説明】
【0060】
100 光学ナビゲーションシステム
102 コントローラユニット
104 ビーコンユニット
106 表示装置
108 コンソールユニット
110 ビーコン光源
【特許請求の範囲】
【請求項1】
光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けする方法であって、
画像データの現在のフレーム内の現在の特徴クラスタを識別するステップと、
画像データの前記現在のフレーム内の前記現在の特徴クラスタと、画像データの前のフレーム内の前の特徴クラスタとを、前記現在の特徴クラスタと前記前の特徴クラスタとの間の距離に基づいて相関させるステップと、
前記現在の特徴クラスタのそれぞれに、該現在の特徴クラスタと相関関係を有する前記前の特徴クラスタの1つと関連付けられている識別子でラベル付けするステップと、
を含む方法。
【請求項2】
画像データの前記現在のフレーム内の前記現在の特徴クラスタの重心を算出するステップをさらに含み、前記現在の特徴クラスタと前記前の特徴クラスタとの間の距離が、前記現在の特徴クラスタの重心と前記前の特徴クラスタの重心との間の距離である、請求項1に記載の方法。
【請求項3】
前記識別するステップが、前記現在の特徴クラスタに仮の識別子を割り当てるステップを含み、前記ラベル付けするステップが、前記現在の特徴クラスタのそれぞれの仮の識別子を、該現在の特徴クラスタと相関関係を有する前記前の特徴クラスタの1つと関連付けられている識別子で置き換えるステップを含む、請求項1に記載の方法。
【請求項4】
前記相関させるステップが、前記現在の特徴クラスタの特定の現在の特徴クラスタと、前記前の特徴クラスタの特定の前の特徴クラスタとを、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離に基づいて相関させるステップを含み、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離は、どんな前記現在の特徴クラスタとどんな前記前の特徴クラスタとの間でも最短距離である、請求項1に記載の方法。
【請求項5】
前記相関させるステップが、前記現在の特徴クラスタの別の現在の特徴クラスタと、前記前の特徴クラスタの別の前の特徴クラスタとを、前記別の現在の特徴クラスタと前記別の前の特徴クラスタとの間の距離に基づいて相関させるステップを含み、前記別の現在の特徴クラスタと前記別の前の特徴クラスタとの間の距離は、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離を除いて、どんな前記現在の特徴クラスタとどんな前記前の特徴クラスタとの間でも最短距離である、請求項4に記載の方法。
【請求項6】
前記相関させるステップが、前記現在の特徴クラスタの1つと、前記前の特徴クラスタの1つとを、前記現在の特徴クラスタの前記1つと前記前の特徴クラスタの前記1つとの間の距離に基づいて関連付けるステップを含み、前記現在の特徴クラスタの前記1つと前記前の特徴クラスタの前記1つとの間の距離は、前記現在の特徴クラスタの前記1つと前記前の特徴クラスタのいずれかとの間、または前記前の特徴クラスタの前記1つと前記現在の特徴クラスタのいずれかとの間の最短距離である、請求項1に記載の方法。
【請求項7】
前記相関させるステップが、前記現在の特徴クラスタの特定の現在の特徴クラスタを、前記前の特徴クラスタの関連する前の特徴クラスタと相関させるステップを含み、前記特定の現在の特徴クラスタと前記関連する前の特徴クラスタとの間の距離は、どんな関連する現在の特徴クラスタと前の特徴クラスタとの間でも最長距離である、請求項6に記載の方法。
【請求項8】
前記特定の現在の特徴クラスタおよび前記関連する前の特徴クラスタが、前記現在の特徴クラスタの別の特徴クラスタと前記前の特徴クラスタの別の特徴クラスタとを相関させるときに考慮されないように、前記特定の現在の特徴クラスタおよび前記関連する前の特徴クラスタを使用済みとマークするステップをさらに含む、請求項7に記載の方法。
【請求項9】
画像データの前記現在のフレームに、画像データの前記現在のフレームにおいて前記現在の特徴クラスタとして表されるビーコン光源を電気的に取り込むステップをさらに含む、請求項1に記載の方法。
【請求項10】
光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けする方法であって、
画像データの現在のフレーム内の現在の特徴クラスタを識別するステップと、
画像データの前記現在のフレーム内の前記現在の特徴クラスタと、画像データの前のフレーム内の前の特徴クラスタとを、前記現在の特徴クラスタと前記前の特徴クラスタとの間の距離に基づいて相関させるステップであって、前記現在の特徴クラスタの各現在の特徴クラスタと、該現在の特徴クラスタに最も近い前記前の特徴クラスタの1つとを関連付けるステップ、および前記現在の特徴クラスタの特定の現在の特徴クラスタと、前記前の特徴クラスタの関連する前の特徴クラスタとを相関させるステップを含み、前記特定の現在の特徴クラスタと前記関連する前の特徴クラスタとの間の距離は、どんな関連する現在の特徴クラスタと前の特徴クラスタとの間でも最長距離である、ステップと、
前記現在の特徴クラスタのそれぞれに、該現在の特徴クラスタと相関関係を有する前記前の特徴クラスタの1つと関連付けられている識別子でラベル付けするステップと、
を含む方法。
【請求項11】
前記特定の現在の特徴クラスタおよび前記関連する前の特徴クラスタが、前記現在の特徴クラスタの別の現在の特徴クラスタと前記前の特徴クラスタの別の前の特徴クラスタとを相関させるときに考慮されないように、前記特定の現在の特徴クラスタおよび前記関連する前の特徴クラスタを使用済みとマークするステップをさらに含む、請求項10に記載の方法。
【請求項12】
画像データのフレームを取り込むように構成された画像センサと、
前記画像センサに動作可能に接続されたナビゲーションエンジンであって、画像データの現在のフレーム内の現在の特徴クラスタを識別し、画像データの前記現在のフレーム内の前記現在の特徴クラスタと、画像データの前のフレーム内の前の特徴クラスタとを、前記現在の特徴クラスタと前記前の特徴クラスタとの間の距離に基づいて相関させるように構成されており、さらに、前記現在の特徴クラスタのそれぞれに、該現在の特徴クラスタと相関関係を有する前記前の特徴クラスタの1つと関連付けられている識別子でラベル付けするように構成されている前記ナビゲーションエンジンと、
を備えている、光学ナビゲーションのためのシステム。
【請求項13】
前記ナビゲーションエンジンが、さらに、画像データの前記現在のフレーム内の前記現在の特徴クラスタの重心を算出するように構成されており、前記現在の特徴クラスタと前記前の特徴クラスタとの間の距離は、前記現在の特徴クラスタの重心と前記前の特徴クラスタの重心との間の距離である、請求項12に記載のシステム。
【請求項14】
前記ナビゲーションエンジンが、前記現在の特徴クラスタに仮の識別子を割り当て、前記現在の特徴クラスタのそれぞれの仮の識別子を、該現在の特徴クラスタと相関関係を有する前記前の特徴クラスタの1つと関連付けられている識別子で置き換えるように構成されている、請求項12に記載のシステム。
【請求項15】
前記ナビゲーションエンジンが、前記現在の特徴クラスタの特定の現在の特徴クラスタと、前記前の特徴クラスタの特定の前の特徴クラスタとを、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離に基づいて相関させるように構成されており、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離は、どんな前記現在の特徴クラスタとどんな前記前の特徴クラスタとの間でも最短距離である、請求項12に記載のシステム。
【請求項16】
前記ナビゲーションエンジンが、前記現在の特徴クラスタの別の現在の特徴クラスタと、前記前の特徴クラスタの別の前の特徴クラスタとを、前記別の現在の特徴クラスタと前記別の前の特徴クラスタとの間の距離に基づいて相関させるように構成されており、前記別の現在の特徴クラスタと前記別の前の特徴クラスタとの間の距離は、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離を除いて、どんな前記現在の特徴クラスタとどんな前記前の特徴クラスタとの間でも最短距離である、請求項15に記載のシステム。
【請求項17】
前記ナビゲーションエンジンが、前記現在の特徴クラスタの1つと、前記前の特徴クラスタの1つとを、前記現在の特徴クラスタの前記1つと前記前の特徴クラスタの前記1つとの間の距離に基づいて関連付けるように構成されており、前記現在の特徴クラスタの前記1つと前記前の特徴クラスタの前記1つとの間の距離が、前記現在の特徴クラスタの前記1つと前記前の特徴クラスタのいずれかとの間、または前記前の特徴クラスタの前記1つと前記現在の特徴クラスタのいずれかとの間の最短距離である、請求項12に記載のシステム。
【請求項18】
前記ナビゲーションエンジンが、前記現在の特徴クラスタの特定の現在の特徴クラスタと、前記前の特徴クラスタの関連する特徴クラスタとを相関させるように構成されており、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離が、どんな関連する現在の特徴クラスタと前の特徴クラスタとの間でも最長距離である、請求項17に記載のシステム。
【請求項19】
前記ナビゲーションエンジンは、さらに、前記特定の現在の特徴クラスタおよび前記関連する前の特徴クラスタが、前記現在の特徴クラスタの別の特徴クラスタと前記前の特徴クラスタの別の特徴クラスタとを相関させるときに考慮されないように、前記特定の現在の特徴クラスタおよび前記関連する前の特徴クラスタを使用済みとマークするように構成されている、請求項18に記載のシステム。
【請求項20】
ビーコン光源を、画像データの前記現在のフレームに前記現在の特徴クラスタとして取り込むために、前記画像センサの前に配置されて前記ビーコン光源からの光を選択的に送る光学フィルタをさらに備えている、請求項12に記載のシステム。
【請求項1】
光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けする方法であって、
画像データの現在のフレーム内の現在の特徴クラスタを識別するステップと、
画像データの前記現在のフレーム内の前記現在の特徴クラスタと、画像データの前のフレーム内の前の特徴クラスタとを、前記現在の特徴クラスタと前記前の特徴クラスタとの間の距離に基づいて相関させるステップと、
前記現在の特徴クラスタのそれぞれに、該現在の特徴クラスタと相関関係を有する前記前の特徴クラスタの1つと関連付けられている識別子でラベル付けするステップと、
を含む方法。
【請求項2】
画像データの前記現在のフレーム内の前記現在の特徴クラスタの重心を算出するステップをさらに含み、前記現在の特徴クラスタと前記前の特徴クラスタとの間の距離が、前記現在の特徴クラスタの重心と前記前の特徴クラスタの重心との間の距離である、請求項1に記載の方法。
【請求項3】
前記識別するステップが、前記現在の特徴クラスタに仮の識別子を割り当てるステップを含み、前記ラベル付けするステップが、前記現在の特徴クラスタのそれぞれの仮の識別子を、該現在の特徴クラスタと相関関係を有する前記前の特徴クラスタの1つと関連付けられている識別子で置き換えるステップを含む、請求項1に記載の方法。
【請求項4】
前記相関させるステップが、前記現在の特徴クラスタの特定の現在の特徴クラスタと、前記前の特徴クラスタの特定の前の特徴クラスタとを、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離に基づいて相関させるステップを含み、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離は、どんな前記現在の特徴クラスタとどんな前記前の特徴クラスタとの間でも最短距離である、請求項1に記載の方法。
【請求項5】
前記相関させるステップが、前記現在の特徴クラスタの別の現在の特徴クラスタと、前記前の特徴クラスタの別の前の特徴クラスタとを、前記別の現在の特徴クラスタと前記別の前の特徴クラスタとの間の距離に基づいて相関させるステップを含み、前記別の現在の特徴クラスタと前記別の前の特徴クラスタとの間の距離は、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離を除いて、どんな前記現在の特徴クラスタとどんな前記前の特徴クラスタとの間でも最短距離である、請求項4に記載の方法。
【請求項6】
前記相関させるステップが、前記現在の特徴クラスタの1つと、前記前の特徴クラスタの1つとを、前記現在の特徴クラスタの前記1つと前記前の特徴クラスタの前記1つとの間の距離に基づいて関連付けるステップを含み、前記現在の特徴クラスタの前記1つと前記前の特徴クラスタの前記1つとの間の距離は、前記現在の特徴クラスタの前記1つと前記前の特徴クラスタのいずれかとの間、または前記前の特徴クラスタの前記1つと前記現在の特徴クラスタのいずれかとの間の最短距離である、請求項1に記載の方法。
【請求項7】
前記相関させるステップが、前記現在の特徴クラスタの特定の現在の特徴クラスタを、前記前の特徴クラスタの関連する前の特徴クラスタと相関させるステップを含み、前記特定の現在の特徴クラスタと前記関連する前の特徴クラスタとの間の距離は、どんな関連する現在の特徴クラスタと前の特徴クラスタとの間でも最長距離である、請求項6に記載の方法。
【請求項8】
前記特定の現在の特徴クラスタおよび前記関連する前の特徴クラスタが、前記現在の特徴クラスタの別の特徴クラスタと前記前の特徴クラスタの別の特徴クラスタとを相関させるときに考慮されないように、前記特定の現在の特徴クラスタおよび前記関連する前の特徴クラスタを使用済みとマークするステップをさらに含む、請求項7に記載の方法。
【請求項9】
画像データの前記現在のフレームに、画像データの前記現在のフレームにおいて前記現在の特徴クラスタとして表されるビーコン光源を電気的に取り込むステップをさらに含む、請求項1に記載の方法。
【請求項10】
光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けする方法であって、
画像データの現在のフレーム内の現在の特徴クラスタを識別するステップと、
画像データの前記現在のフレーム内の前記現在の特徴クラスタと、画像データの前のフレーム内の前の特徴クラスタとを、前記現在の特徴クラスタと前記前の特徴クラスタとの間の距離に基づいて相関させるステップであって、前記現在の特徴クラスタの各現在の特徴クラスタと、該現在の特徴クラスタに最も近い前記前の特徴クラスタの1つとを関連付けるステップ、および前記現在の特徴クラスタの特定の現在の特徴クラスタと、前記前の特徴クラスタの関連する前の特徴クラスタとを相関させるステップを含み、前記特定の現在の特徴クラスタと前記関連する前の特徴クラスタとの間の距離は、どんな関連する現在の特徴クラスタと前の特徴クラスタとの間でも最長距離である、ステップと、
前記現在の特徴クラスタのそれぞれに、該現在の特徴クラスタと相関関係を有する前記前の特徴クラスタの1つと関連付けられている識別子でラベル付けするステップと、
を含む方法。
【請求項11】
前記特定の現在の特徴クラスタおよび前記関連する前の特徴クラスタが、前記現在の特徴クラスタの別の現在の特徴クラスタと前記前の特徴クラスタの別の前の特徴クラスタとを相関させるときに考慮されないように、前記特定の現在の特徴クラスタおよび前記関連する前の特徴クラスタを使用済みとマークするステップをさらに含む、請求項10に記載の方法。
【請求項12】
画像データのフレームを取り込むように構成された画像センサと、
前記画像センサに動作可能に接続されたナビゲーションエンジンであって、画像データの現在のフレーム内の現在の特徴クラスタを識別し、画像データの前記現在のフレーム内の前記現在の特徴クラスタと、画像データの前のフレーム内の前の特徴クラスタとを、前記現在の特徴クラスタと前記前の特徴クラスタとの間の距離に基づいて相関させるように構成されており、さらに、前記現在の特徴クラスタのそれぞれに、該現在の特徴クラスタと相関関係を有する前記前の特徴クラスタの1つと関連付けられている識別子でラベル付けするように構成されている前記ナビゲーションエンジンと、
を備えている、光学ナビゲーションのためのシステム。
【請求項13】
前記ナビゲーションエンジンが、さらに、画像データの前記現在のフレーム内の前記現在の特徴クラスタの重心を算出するように構成されており、前記現在の特徴クラスタと前記前の特徴クラスタとの間の距離は、前記現在の特徴クラスタの重心と前記前の特徴クラスタの重心との間の距離である、請求項12に記載のシステム。
【請求項14】
前記ナビゲーションエンジンが、前記現在の特徴クラスタに仮の識別子を割り当て、前記現在の特徴クラスタのそれぞれの仮の識別子を、該現在の特徴クラスタと相関関係を有する前記前の特徴クラスタの1つと関連付けられている識別子で置き換えるように構成されている、請求項12に記載のシステム。
【請求項15】
前記ナビゲーションエンジンが、前記現在の特徴クラスタの特定の現在の特徴クラスタと、前記前の特徴クラスタの特定の前の特徴クラスタとを、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離に基づいて相関させるように構成されており、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離は、どんな前記現在の特徴クラスタとどんな前記前の特徴クラスタとの間でも最短距離である、請求項12に記載のシステム。
【請求項16】
前記ナビゲーションエンジンが、前記現在の特徴クラスタの別の現在の特徴クラスタと、前記前の特徴クラスタの別の前の特徴クラスタとを、前記別の現在の特徴クラスタと前記別の前の特徴クラスタとの間の距離に基づいて相関させるように構成されており、前記別の現在の特徴クラスタと前記別の前の特徴クラスタとの間の距離は、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離を除いて、どんな前記現在の特徴クラスタとどんな前記前の特徴クラスタとの間でも最短距離である、請求項15に記載のシステム。
【請求項17】
前記ナビゲーションエンジンが、前記現在の特徴クラスタの1つと、前記前の特徴クラスタの1つとを、前記現在の特徴クラスタの前記1つと前記前の特徴クラスタの前記1つとの間の距離に基づいて関連付けるように構成されており、前記現在の特徴クラスタの前記1つと前記前の特徴クラスタの前記1つとの間の距離が、前記現在の特徴クラスタの前記1つと前記前の特徴クラスタのいずれかとの間、または前記前の特徴クラスタの前記1つと前記現在の特徴クラスタのいずれかとの間の最短距離である、請求項12に記載のシステム。
【請求項18】
前記ナビゲーションエンジンが、前記現在の特徴クラスタの特定の現在の特徴クラスタと、前記前の特徴クラスタの関連する特徴クラスタとを相関させるように構成されており、前記特定の現在の特徴クラスタと前記特定の前の特徴クラスタとの間の距離が、どんな関連する現在の特徴クラスタと前の特徴クラスタとの間でも最長距離である、請求項17に記載のシステム。
【請求項19】
前記ナビゲーションエンジンは、さらに、前記特定の現在の特徴クラスタおよび前記関連する前の特徴クラスタが、前記現在の特徴クラスタの別の特徴クラスタと前記前の特徴クラスタの別の特徴クラスタとを相関させるときに考慮されないように、前記特定の現在の特徴クラスタおよび前記関連する前の特徴クラスタを使用済みとマークするように構成されている、請求項18に記載のシステム。
【請求項20】
ビーコン光源を、画像データの前記現在のフレームに前記現在の特徴クラスタとして取り込むために、前記画像センサの前に配置されて前記ビーコン光源からの光を選択的に送る光学フィルタをさらに備えている、請求項12に記載のシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図6D】
【図7】
【図8】
【図9】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図6D】
【図7】
【図8】
【図9】
【公開番号】特開2009−93612(P2009−93612A)
【公開日】平成21年4月30日(2009.4.30)
【国際特許分類】
【外国語出願】
【出願番号】特願2008−107709(P2008−107709)
【出願日】平成20年4月17日(2008.4.17)
【出願人】(506200186)アバゴ・テクノロジーズ・イーシービーユー・アイピー(シンガポール)プライベート・リミテッド (154)
【Fターム(参考)】
【公開日】平成21年4月30日(2009.4.30)
【国際特許分類】
【出願番号】特願2008−107709(P2008−107709)
【出願日】平成20年4月17日(2008.4.17)
【出願人】(506200186)アバゴ・テクノロジーズ・イーシービーユー・アイピー(シンガポール)プライベート・リミテッド (154)
【Fターム(参考)】
[ Back to top ]