(57)【要約】【課題】非同期のカメラ信号をマッチするために使用できるマッチングシステムを提供する。【解決手段】一例においては、各カメラからの画像は、各画像のシーンが静的であると見なせるように、各カメラからの画像を同期させることによってマッチすることができる。代替または追加として、あるカメラからの画像を他のカメラからの画像と比較して、最も良く同期する組合せを決定することもできる。これらのマッチし、同期された画像部分を処理して変換構造を生成することができる。この変換構造は、例えば、カメラからの画像を、各カメラがあたかも同一平面上にある画像平面を有するかのように変換するなど、画像を調整するために使用することができる。あるいは、変換構造はカメラの較正など他の任意の処理においても使用することができる。【選択図】図１
2006170993.tif 000002
【特許請求の範囲】
【請求項１】
ａ）第１のカメラ位置からのシーンについての複数の画像を受信すること、
ｂ）第２のカメラ位置からの前記シーンについての少なくとも１つの画像を受信することであって、第２のカメラ位置からの前記少なくとも１つの画像は、前記第１のカメラ位置からの前記複数の画像に対して時間的に非同期であること、
ｃ）前記第１のカメラ位置からの前記複数の画像のうちの第１の画像の少なくとも一部における前記シーンの少なくとも一部の動きを検出することであって、検出された動き以外の画像部分は、前記第１のカメラ位置の静的画像部分であること、および、
ｄ）前記第１のカメラ位置の前記静的画像部分を、前記第２のカメラ位置からの前記少なくとも１つの画像の少なくとも一部に同期させること
を含むことを特徴とする方法。
【請求項２】
前記第１および第２のカメラ位置からの前記同期された画像部分に基づいて変換構造を生成することであって、前記変換構造は前記第１および第２のカメラ位置からの画像を調整するためのものであることをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１および第２のカメラ位置からの前記同期された画像部分に基づいて、前記第１のカメラ位置で第１のカメラを調整し、前記第２のカメラ位置で第２のカメラを調整することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
動きを検出することは、前記第１のカメラ位置からの前記複数の画像のうちの前記第１の画像と第２の画像の前記少なくとも一部を比較することを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記シーンの動きを示す、前記第１の画像の前記部分を破棄することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
シーンインジケータを、前記第１のカメラ位置の各静的画像部分に関連づけることをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記第２のカメラ位置からの前記少なくとも１つの画像のうちの第１の画像の少なくとも一部における前記シーンの動きを検出することであって、検出された動き以外の画像部分は、前記第２のカメラ位置の静的画像部分であることをさらに含むことを特徴とする請求項４に記載の方法。
【請求項８】
シーンインジケータを、前記第２のカメラ位置の各静的画像部分に関連づけることをさらに含み、同期させることは、前記第１のカメラ位置の前記静的画像部分の前記シーンインジケータを、前記第２のカメラ位置の前記静的画像部分の前記シーンインジケータとマッチングすることを含むことを特徴とする請求項７に記載の方法。
【請求項９】
同期させることは、同期された画像部分の少なくとも１つのグループを形成することを含み、前記グループは前記第１のカメラ位置からの少なくとも１つの静的画像部分と前記第２のカメラ位置からの少なくとも１つの静的画像部分とを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
同期させることは、少なくとも同期された画像部分の第１のグループと同期された画像部分の第２のグループとを形成することを含み、各グループは前記第１のカメラ位置からの少なくとも１つの静的画像部分と前記第２のカメラ位置からの少なくとも１つの静的画像部分とを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
同期された画像の前記第１のグループは第１のシーンを表し、同期された画像の前記第２のグループは第２のシーンを表すことを特徴とする請求項１０に記載の方法。
【請求項１２】
各同期された画像部分における少なくとも１つの特徴を検出することと、前記第１のカメラ位置からの前記同期された画像部分における前記少なくとも１つの特徴を、前記第２のカメラ位置の前記同期された画像部分における少なくとも１つの特徴とマッチングすることとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１３】
動きを示す前記第１の画像部分に重みを割り当てることをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１４】
同期させることは、前記第１のカメラ位置の前記静的画像部分における少なくとも１つの特徴を検出することと、前記第２のカメラ位置からの前記少なくとも１つの画像における少なくとも１つの特徴を検出することと、前記第１のカメラ位置の前記静的画像部分における前記少なくとも１つの特徴を、前記第２のカメラ位置からの前記少なくとも１つの画像における前記少なくとも１つの特徴と比較することと、前記第１のカメラ位置の前記静的画像部分を、前記第２のカメラ位置からの画像部分に同期させることであって、前記第２のカメラ位置からの画像部分は、前記第１のカメラの前記静的画像部分における前記少なくとも１つの特徴に最も良くマッチする少なくとも１つの特徴を有することとを含むことを特徴とする請求項１に記載の方法。
【請求項１５】
ａ）第１のカメラおよび第２のカメラの視野領域内に第１の静的シーンを設定するようユーザに指示することであって、前記第１のカメラは前記第２のカメラに対して時間的に非同期であることと、
ｂ）前記第１のカメラおよび前記第２のカメラの各々を用いて前記第１の静的シーンの少なくとも１つの第１の画像を取り込むことと、
ｃ）前記第１のカメラおよび前記第２のカメラからの前記少なくとも１つの第１の画像を結びつけて、第１の同期された画像のグループを形成することと、
ｄ）前記第１のカメラおよび前記第２のカメラの前記視野領域内に第２の静的シーンを設定するよう前記ユーザに指示することと、
ｅ）前記第１のカメラおよび前記第２のカメラの各々を用いて前記第２の静的シーンの少なくとも１つの第２の画像を取り込むことと、
ｆ）前記第１のカメラおよび前記第２のカメラからの前記少なくとも１つの第２の画像を結びつけて、第２の同期された画像のグループを形成することと
を含むことを特徴とする方法。
【請求項１６】
前記第１および第２の同期された画像のグループに基づき、前記第１および第２のカメラが、あたかも同一平面上にある画像平面を有しているかのように前記第１および第２のカメラからの画像を変換するための変換構造を生成することをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記第１および第２の同期された画像のグループに基づいて、前記第１および第２のカメラを調整することをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
前記ユーザに第２の静的シーンを設定するように指示することは、前記第１の静的シーンが取り込まれたことを前記ユーザに知らせることを含むことを特徴とする請求項１５に記載の方法。
【請求項１９】
前記少なくとも１つの第１の画像を取り込むことは、前記第１のカメラと前記第２のカメラの少なくとも一方を使用して、前記第１の静的シーンの動きを検出することを含むことを特徴とする請求項１５に記載の方法。
【請求項２０】
変換構造を生成することが収束しないことに応答して、前記第１のカメラおよび前記第２のカメラの前記視野領域内に第３の静的シーンを設定するよう前記ユーザに指示することと、前記第３の静的シーンの少なくとも１つの第３の画像を、前記第１のカメラおよび前記第２のカメラの各々を用いて取り込むこととをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項２１】
前記ユーザに第２の静的シーンを設定するよう指示することは、前記第１の静的シーンの少なくとも１つの第１の画像を取り込む前に行われることを特徴とする請求項１５に記載の方法。
【請求項２２】
前記第２のシーンに対する前記第１のシーンの動きを検出することをさらに含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
前記第２のシーンに対する前記第１のシーンの動きを示す画像に所定の重みを関連づけることをさらに含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
動きを示す画像に関連づけられた前記重みにより、前記変換構造を生成する際に前記動きを示す画像の影響が低減されることを特徴とする請求項２３に記載の方法。
【請求項２５】
前記第１のカメラの前記第１の静的シーンの前記少なくとも１つの第１の画像にインジケータを関連づけることと、前記第２のカメラの前記第１の静的シーンの前記少なくとも１つの第１の画像に前記インジケータを関連づけることとをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項２６】
前記ユーザに第２の静的シーンを設定するよう指示することは、前記第１のカメラおよび前記第２のカメラの各々を用いて前記第１の静的シーンの前記少なくとも１つの第１の画像が取り込まれた後で行われることを特徴とする請求項１５に記載の方法。
【請求項２７】
実行可能なコンポーネントを含む１つまたは複数のコンピュータ読取り可能記憶媒体であって、前記実行可能なコンポーネントは、
ａ）第１の複数の画像を表す第１の被変調データ信号を提供する第１のデジタルカメラと、
ｂ）第２の複数の画像を表す第２の被変調データ信号を提供する第２のデジタルカメラと、
ｃ）前記第１の被変調データ信号および前記第２の被変調データ信号を受信し、前記第１のカメラおよび前記第２のカメラからのどの画像が、静的な第１のシーンを表すのかを決定する動き検出エンジンと、
ｄ）前記第１のカメラおよび前記第２のカメラから前記静的画像を受信し、前記第１のカメラからの少なくとも１つの静的画像を、前記第２のカメラからの少なくとも１つの静的画像に同期させる同期エンジンと、
ｅ）前記第１のカメラからの前記少なくとも１つの静的画像の少なくとも１つの特徴を検出し、前記第２のカメラからの前記少なくとも１つの静的画像の少なくとも１つの特徴を検出する特徴検出エンジンと、
ｆ）前記第１のカメラからの前記少なくとも１つの静的画像の前記少なくとも１つの特徴を、前記第２のカメラからの前記少なくとも１つの静的画像の前記少なくとも１つの特徴と照合する特徴点照合エンジンと
を含むことを特徴とするコンピュータ読取り可能記憶媒体。
【請求項２８】
前記実行可能なコンポーネントは、前記第１および第２のカメラが、あたかも同一平面上にある画像平面を有するかのように前記第１および第２のカメラからの画像を変換する、変換データ構造を生成するホモグラフィーエンジンをさらに含むことを特徴とする請求項２７に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項２９】
前記実行可能なコンポーネントは、前記ホモグラフィーエンジンからの前記変換構造に基づき、前記第１および第２カメラが、あたかも同一平面上にある画像平面を有するかのように前記第１および第２のカメラ画像を変換する、変換エンジンをさらに含むことを特徴とする請求項２８に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項３０】
前記実行可能なコンポーネントは、前記第１のカメラと前記第２のカメラの少なくとも一方の較正情報を生成する較正エンジンをさらに含むことを特徴とする請求項２７に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項３１】
前記動き検出エンジンは、前記第１のカメラからの第１の画像を前記第１のカメラからの第２の画像と比較して、前記シーンの少なくとも一部の動きを検出することを特徴とする請求項２７に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項３２】
前記動き検出エンジンは、前記シーンの少なくとも一部の動きを示す各画像部分に重みを関連づけることを特徴とする請求項３１に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項３３】
前記動き検出エンジンは、前記第１の画像と前記第２の画像との画像差を生成することを特徴とする請求項３１に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項３４】
前記動き検出エンジンは、第１のインジケータを前記第１のカメラからの第１の静的画像と関連づけること、および第１のインジケータを前記第２のカメラからの第１の静的画像と関連づけることを特徴とする請求項２７に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項３５】
前記第１のインジケータは、前記シーンの第１の動きと第２の動きの間に生じる前記第１のカメラの１つまたは複数の画像のグループを示す第１のグループインジケータを含み、前記第２のインジケータは、前記シーンの第１の動きと第２の動きの間に生じる１つまたは複数の画像のグループを示す第２のグループインジケータを含むことを特徴とする請求項３４に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項３６】
前記同期エンジンは、前記第１のカメラからの少なくとも１つの静的画像を前記第２のカメラからの少なくとも１つの静的画像に同期させる際に、前記第１のグループインジケータと前記第２のグループインジケータを比較することを特徴とする請求項３５に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項３７】
実行可能なコンポーネントを含む１つまたは複数のコンピュータ読取り可能記憶媒体であって、前記実行可能なコンポーネントは、
ａ）第１のデジタル画像および第３のデジタル画像を生成する第１の手段と、
ｂ）第２のデジタル画像および第４のデジタル画像を生成する第２の手段と、
ｃ）前記第１の画像に基づき前記シーンの動きを検出する手段と、
ｄ）前記第１の画像および前記第２の画像を同期させる手段と、
ｅ）変換構造を生成する手段と、
ｆ）画像を生成するための前記第１の手段の画像平面、および画像を生成するための前記第２の手段の画像平面が、あたかも同一平面上にあるかのように前記第３および第４のデジタル画像を変換する手段と
を含むことを特徴とするコンピュータ読取り可能記憶媒体。
【請求項３８】
実行されたときに方法を実施するコンピュータ実行可能命令を含む、１つまたは複数のコンピュータ読取り可能記憶媒体であって、前記方法は、
ａ）ある期間にわたる第１の１組の画像を第１のカメラから受信することと、
ｂ）ある期間にわたる第２の１組の画像を第２のカメラから受信することと、
ｃ）前記第１の１組の画像のうちの第１の画像を、前記第２の１組の画像の少なくとも一部と比較することと、
ｄ）前記比較に基づいて、前記第２の１組の画像の前記少なくとも一部から最も良くマッチする画像を決定することと、
ｅ）前記第１の画像における少なくとも１つの特徴を検出することと、
ｆ）前記最も良くマッチする画像の少なくとも１つの特徴を検出することと、
ｇ）前記第１の画像の前記少なくとも１つの特徴を、前記最も良くマッチする画像の前記少なくとも１つの特徴とマッチすることと、
ｈ）前記第１の画像および前記最も良くマッチする画像の前記マッチする特徴に基づいて、変換構造を生成することであって、前記変換構造は前記第１のカメラおよび前記第２のカメラからの画像を前記第１および第２のカメラが、あたかも同一平面上にある画像平面を有するかのように変換することと
を含むことを特徴とするコンピュータ読取り可能記憶媒体。
【請求項３９】
前記第２の１組の画像の前記少なくとも一部は、前記第１の画像が生じる時間の前の所定の時間に生じる画像を含むことを特徴とする請求項３８に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項４０】
前記第２の１組の画像の前記少なくとも一部は、前記第１の画像が生じた時間の後の所定の時間に生じる画像を含むことを特徴とする請求項３８に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項４１】
コンピュータ実行可能コンポーネントを含む１つまたは複数のコンピュータ読取り可能記憶媒体であって、前記実行可能コンポーネントは、
ａ）第１のデジタル画像および第３のデジタル画像を生成する第１の手段と、
ｂ）第２のデジタル画像、第４のデジタル画像、および第５のデジタル画像を生成する第２の手段と、
ｃ）前記第１のデジタル画像を前記第２の画像および前記第５の画像と比較する手段であって、前記第２および第５の画像の各々は、前記第１の画像のタイムスタンプの所定の閾値内にあるタイムスタンプを有する手段と、
ｄ）変換構造を生成する手段と、
ｅ）画像を生成するための前記第１の手段の画像平面、および画像を生成するための前記第２の手段の画像平面が、あたかも同一平面上にあるかのように前記第３および第４のデジタル画像を変換する手段と
を備えることを特徴とするコンピュータ読取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、ステレオカメラアルゴリズムに関し、より詳細には、カメラからの非同期画像をマッチングすることに関する。
【背景技術】
【０００２】
代表的なステレオカメラアルゴリズムでは、様々なカメラから入ってくる信号は同期されており、各カメラは調整されているものと想定される。完全に同期されたカメラ信号とは、各カメラが正確に同じ時刻に画像を取り込むことを意味する。実際には、一般に完全な同期は不可能であるが、現実的な実装ではカメラ信号が実質的に同期されているという想定を利用する。実質的に同期されるカメラは、ほぼ数ミリ秒の範囲内で相互に同期させることができる。調整されたカメラ信号とは、各画像が同一平面上にあること、すなわち調整された各カメラが同一平面上にある画像平面を有していることを意味する。多くの場合、ステレオアルゴリズムは「緩い（loose）」同期に基づいて動作させることができるが、それでもやはり、ステレオアルゴリズムでは正確なレクティフィケーションが必要になる場合がある。
【０００３】
複数のカメラからの画像を、例えば射影幾何学に基づく技術などによって変換して、それらの画像があたかも同一画像平面を有するカメラによって得られたかのように動作する新しい画像に変換することができる。この画像の幾何学的変換は、エピポーラレクティフィケーション（epipolar rectification）と呼ばれる。このプロセスは一般に、同期されたカメラにおいて達成される。しかし、非同期のカメラを使用することによって、より安価にまたは便利になる場合も多い。
【０００４】
【非特許文献１】Hartley et al, Multiple View Geometry in Computer Vision, 2000, Cambridge University Press, ISBN: 0521623049
【発明の開示】
【発明が解決しようとする課題】
【０００５】
非同期のカメラ信号をマッチするために使用できるマッチングシステムを提供する。
【課題を解決するための手段】
【０００６】
以下では、基本的な理解を得られるように本開示の簡単な要約を提示する。この要約は、本開示の網羅的あるいは制限的な概要を提供するものではない。この要約は、本発明の主要かつ／または重要な要素を識別するためのものでも、本発明の範囲を詳細に記述するためのものでも、あるいは本発明の範囲を制限するためのものでもない。この要約の唯一の目的は、後に示されるより詳細な説明の導入として、開示される概念のいくつかを簡単な形で提示することである。
【０００７】
マッチングシステムを使用して、非同期のカメラ信号を一致させることができる。一例では、各カメラからの画像は、各画像のシーンが静的であると見なせるように各カメラからの画像を同期させることによって、一致させることができる。別法または追加として、あるカメラからの画像を他のカメラからの画像と比較して、最も良く同期する組合せを決定することもできる。これらのマッチし、同期された画像部分（image portions）を処理して、変換構造を生成することができる。この変換構造は、画像を調整するために使用することができ、例えば、複数のカメラからの画像を、各カメラがあたかも同一平面上にある画像平面を有するかのように変換するのに使用することができる。または、この変換構造は、カメラの較正など他の任意の処理においても使用することができる。カメラの較正とは、焦点距離および／または複数のカメラの相対的な幾何配置（relative geometry）など、カメラの内部および外部パラメータを評価すること（estimating）を意味する。
【０００８】
本発明の前述の態様および付随する多くの利点は、以下の詳細な説明を添付の図面と併せて参照することによって、より容易に理解できるようになり、より深く理解できるようになるであろう。
【発明を実施するための最良の形態】
【０００９】
（例示的動作環境）
図１および以下の議論は、マッチングシステムを実装することができる適切なコンピュータ環境について、簡潔かつ一般的に説明することを意図したものである。図１の動作環境は適切な動作環境の単なる一例に過ぎず、動作環境の使用または機能の範囲について、いかなる制限を示唆することも意図したものではない。本明細書に記載のマッチングシステムに使用するのに適した他の周知のコンピュータシステム、環境、および／または構成には、これに限られるものではないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースシステム、プログラマブル家電、ネットワークパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピュータ環境などがある。
【００１０】
要件ではないが、このマッチングシステムを、１台または複数台のコンピュータまたは他の装置によって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈において説明する。一般に、プログラムモジュールには、特定のタスクを実施するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。一般に、プログラムモジュールの機能は、様々な環境において必要に応じて組み合わせるか、または分散することができる。
【００１１】
図１を参照すると、マッチングシステムを実装するための一例示システムには、コンピュータ装置１００などのコンピュータ装置が含まれる。その最も基本的な構成では、コンピュータ装置１００は一般に、少なくとも１つの処理ユニット１０２およびメモリ１０４を含む。コンピュータ装置の正確な構成や種類に応じて、メモリ１０４は（ＲＡＭなどの）揮発性、（ＲＯＭ、フラッシュメモリなどの）不揮発性、あるいは両者の組合せであっても良い。この最も基本的な構成は、図１では破線１０６によって示されている。さらに、装置１００は追加の機構および／または機能を備えることもできる。例えば装置１００は、これに限られるものではないが、磁気もしくは光ディスクまたはテープなど、（取外し可能および／または取外し不可能な）追加の記憶装置を含むこともできる。このような追加の記憶装置は、図１では取外し可能な記憶装置１０８、および取外し不可能な記憶装置１１０によって示されている。コンピュータ記憶媒体には、コンピュータ読取り可能命令、データ構造、プログラムモジュール、その他のデータなどの、情報を記憶するためのいずれかの方法または技術で実装された、揮発性および不揮発性、取外し可能および取外し不可能な媒体が含まれる。メモリ１０４、取外し可能な記憶装置１０８、および取外し不可能な記憶装置１１０は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体には、これに限られるものではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリその他のメモリ技術製品、ＣＤ−ＲＯＭ、ＤＶＤ（digital versatile disk）、その他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、その他の磁気記憶装置、または所望の情報を格納するために使用することができ、装置１００によってアクセスできる他の任意の媒体が含まれる。このようなコンピュータ記憶媒体は、いずれも、装置１００の一部となることができる。
【００１２】
装置１００は、通信接続１１２を含むこともできる。この通信接続１１２により、装置１００が他の装置と通信することが可能になる。通信接続１１２は、通信媒体の一例である。通信媒体は一般に、コンピュータ読取り可能命令、データ構造、プログラムモジュール、その他のデータなどを、搬送波や他の伝送機構などの被変調データ信号の形で実施するとともに、何らかの情報送達媒体を含む。「被変調データ信号」という用語は、１つまたは複数の特性セットを有するか、または情報を信号に符号化するような形で変更された信号を意味する。制限の意味ではなく例として、通信媒体には有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、無線周波数、赤外線、その他の無線媒体が含まれる。本明細書で使用されるコンピュータ読取り可能記憶媒体という用語には、記憶媒体と通信媒体の両方が含まれる。
【００１３】
装置１００は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置、レーザレンジファインダ、赤外線カメラ、ビデオ入力装置、および／または他の任意の入力装置などの、入力装置１１４を含むこともできる。ディスプレイ、スピーカ、プリンタ、および／または他の任意の出力装置などの、出力装置１１６を含むこともできる。
【００１４】
図２には、従来技術による２台以上の同期したカメラ２０２、２０４からの、被変調データ信号を調整するための変換システム２００が示されている。例えば、変換システム２００は、エピポーラレクティフィケーション（epipolar rectification）を使用することができる。一例では、第１のカメラ２０２からの被変調データ信号は画像２１２を符号化したものであり、第２のカメラ２０４からの被変調データ信号は画像２１４を符号化したものである。特徴検出エンジン（feature detector engine）２３０は、各画像２１２、２１４における画像特徴点を検出する。一般に、この画像特徴点は、明確であり、および／またはわずかである。各画像の検出された画像特徴点は、特徴点照合エンジン（feature point matcher engine）２３２に出力され、そのエンジンによって第１の画像２１２の各検出点を、第２の画像２１４の特定の特徴点に対応するものとして照合することができる。例えば、「ＲＡＮＳＡＣ」（Random Sampling Consensus）ベースの特徴一致など、任意の適切な特徴マッチングアルゴリズムを使用することができる。画像のマッチ点は、ホモグラフィーエンジン２３４に出力され、各画像の射影平面への変換、例えば、カメラ２０２、２０４の実際の画像平面が同一平面上にあるかのように変換する変換、を決定する。この変換は、エピポーラレクティフィケーション、または推定（estimation）に基づくものであっても良い（非特許文献１参照）。決定された変換パラメータまたは変換構造は、変換エンジン２３６に出力され、カメラ２０２、２０４から受信した画像２１２、２１４、または他の画像に対して適用され、画像を調整することができる。例えば、変換データ構造に基づいて、変換エンジンは、各画像を、それらがあたかも同一平面上にある画像平面を有するカメラから受信されたものであるかのように、変換画像２２２、２２４へ変換することができる。
【００１５】
上記のように、変換される画像２１２、２１４は、同一のシーン２５０に対するものでなければならない。図２に示されているシーン２５０は人である。従来技術の変換システムでは、正確なレクティフィケーションを達成するために、入力画像２１２、２１４の少なくとも一部が、空間的に重なっていることが必要である。例えば、カメラ２０２、２０４の画像空間に何らかの重なりがあり、時間的にも十分に同期していることが必要である。
【００１６】
しかし、カメラ２０２、２０４は、時間的に同期されていないこともある。例えば、図３には、２つのカメラ３０２、３０４によって撮影された非同期画像の時系列の一例が示されている。図３に示されているように、カメラ３０２は、ある時間間隔で画像３２０、３２２、３２４、３２６、および３２８を撮影する。同様に、カメラ３０４は、画像３４０、３４２、３４４、３４６、３４８、および３５０を撮影する。図３に示されているように、カメラ３０２からの１つまたは複数の画像は、カメラ３０４からの画像と同じ時間に撮影されない場合がある。この例において、ある想定される画像の同期ペアリングは、画像３２０と画像３４０をペアにし、画像３２２と画像３４２をペアにし、画像３２４と画像３４４および／または３４６をペアにし、画像３２６と画像３４８をペアにし、画像３２８と画像３５０をペアにするものである。しかし、画像のカメラのタイムスタンプは、信頼できないこともある。例えば、ユニバーサルシリアルバスの仕様では、実装者の都合に合わせて、画像のタイムスタンプをＵＳＢ装置または他の場所で生成することができる。このように、アプリケーションが読み取ったタイムスタンプは、実際の画像撮影時間を特に正確に示していない場合がある。
【００１７】
さらに、人の画像が移動し、および／または背景が移動するので、例えば、画像３２６と画像３４８では、画像３２６が撮られた時間と、画像３４８が撮られた時間の間で画像の一部が変化し、照合した画像は、同一の画像ではない可能性がある。カメラ信号が同期していない場合、例えば非同期の場合には、特徴点照合エンジン２３２は、画像３２６、３４８の特徴を正確に照合できないことがある。しかし、非同期カメラのレクティフィケーションは、静的シーンに関する１組の照合した画像部分から達成することができる。例えば、何も動くものがない場合は、同期カメラと非同期カメラの間に差はない。したがって、非同期カメラは、シーンが静的である瞬間（instances）を自動的に検出することによって、調整することができる。
【００１８】
一例示的マッチングシステム４００が図４に示されている。マッチングシステム４００は、非同期のカメラ４０２、４０４から、画像４１２、４１４を受信することができる。各カメラ４０２、４０４は、時間的に非同期であっても良い。どのような非同期カメラでも使用することができるが、カメラの例としては、米国カリフォルニア州フレモントのLogitech Inc.から入手できるLogitech QuickCam（登録商標）for NoteBooks ProなどのデジタルＵＳＢカメラ、および赤外線イメージャ、レーザレンジファインダなどがある。類似した画像の特徴を提供するためには、カメラ４０２、４０４は空間的に重なった視野を有していなければならない。例えば、カメラ４０２の視野の少なくとも一部は、カメラ４０４の視野と重なり合うようにすることができる。変換データの精度を向上させるために、カメラ４０２、４０４が、一定の相対位置または幾何学的配置を有するようにすることもでき、その配置を厳格に固定することもできる。一例では、各カメラは、接着剤、取り付けリグ、一つの筐体での製造などを含む、任意の適切な手段によって、相互に固定することができる。
【００１９】
各カメラは、例えば、シーン４５０の「動画（movie）」など、ある時間間隔で複数の画像を提供することができる。例えば、カメラ４０２は時間的に相隔たる２つの画像４１２、４１４を提供することができる。また、カメラ４０４はやはり時間的に相隔たる２つの画像４１６、４１８を提供することができる。
【００２０】
各カメラからの一連の画像４１２、４１４、４１６、４１８は、動き検出エンジン（motion detector engine）４６０に出力することができる。動き検出エンジンは、シーンの少なくとも一部が動く画像を検出することができる。例えば、動き検出エンジン４６０は、オプティカルフロー技術を使用して、カメラ４０２、４０４の一方からの画像の一部が、同一のカメラからの１つまたは複数の他の画像に対して時間とともに移動したことを検出する。一例では、動き検出エンジンは、画像差などを用いて画像４１２と画像４１４を比較することができる。より詳細には、画像４１４から画像４１２を減算し、画像４１２と画像４１４の間の画像差によって、カメラ４０２からの画像中に表示された、検出されたシーン４５０中の動きを示すことができる。このようにして、動き検出エンジンは、動き検出エンジンに画像入力を提供するカメラの任意の組合せに関する、シーンの動きを示す画像を検出することができる。一例では、動き検出エンジンは、カメラ４０２からのシーンの動きを示す画像を検出することができ、またカメラ４０４からのシーンの動きを示す画像を検出することもできる。他の例では、動き検出エンジンは、あるカメラ（または、一部の入力カメラ）からの画像の中の動きを検出し、その動きの時間に十分に近い時間枠を有する他のカメラの画像もまた、動きを示すと想定することができる。
【００２１】
同一のカメラからの２つの画像間の差は、電子ノイズによって汚染されることがある。したがって、画像差に対する所定の閾値を比較して、指示されたシーンが十分に静的かどうかを決定することができる。任意の適切な閾値を使用することができ、またカメラの品質に合わせることもできる。例えば、LogitechのQuickCam for Notebooks Proでは、適切な閾値を８段階にすることができる。
【００２２】
検出された動きを有する画像部分を、破棄することもできる。場合によっては、画像４１２と４１４の画像差によって示されるような、シーンの一部だけが動くことがある。したがって、表示されたシーンのある部分だけが動いている場合には、例えば画像の静止部分を維持することができるように、画像の動いている部分だけを破棄することが適切なこともある。
【００２３】
動き検出エンジン４６０は、時間的な空間において画像を識別することができ、または表示された特定の静的画像を示すことができる、インジケータを各画像部分に関連づけることができる。例えば、タイムスタンプを各画像４６２、４６４に関連づけて、そのシーンの画像が撮影された時間または相対時間を示すことができる。例えば、各画像を時間順に第１の画像、第２の画像などと番号付け、またはリストアップすることができる。あるいは、動き検出エンジンは、あるカメラからの画像中の第１の動きの時間を検出して、第１の静的グループ識別子を、第１の動きの時間より前に生じていた静的画像と関連づけることができる。同様に、動き検出エンジンは、第２の静的グループ識別子を、あるカメラからの画像中の第１の検出された動きの時間と第２の検出された動きの時間の間に生じた静的画像に関連づけることができる。動き検出エンジンは、各カメラからの静的画像に対して同様のインジケータを提供することができる。
【００２４】
単一のカメラからの画像は、検出された各動きの合間には静的シーンを示すので、少なくともそれらの画像の一部は、ほぼ同一になるはずである。したがって、ストレージアレイなどの静的画像データ構造における配置を用いて、時間的な空間における画像の配置を示すことができる。より詳細には、各カメラに対して、動き検出エンジンは、検出された各動きの合間に生じた静的画像の各グループの画像の１つを除くすべてを破棄すること、およびそれらの画像を時間順に格納することができる。したがって、各カメラを、検出された動きの合間の静的画像のグループを表す各静的画像を有する、画像のストレージアレイと関連づけることができる。このようにして、静的画像部分４６２、４６４を時間順に格納し、および／または各画像部分を適切なインジケータで識別することができる。
【００２５】
複数のカメラ４０２、４０４からの画像の各個別の組からの静的画像部分４６２、４６４を、同期エンジン（synchrony engine）４７０に出力することができる。同期エンジンは、第１のカメラからの画像部分４６２と、ほぼ同じ時刻の静的シーンの第２のカメラからの画像部分４６４とを調べて、それらを照合することができる。各カメラからの照合した画像４６２、４６４は、同期された画像のグループを形成することができる。より詳細には、同期エンジンは、第１の画像４６２からの画像識別子と第２の画像４６４の識別子を照合することができる。例えば、動きのない特定の時間に関連する第１のカメラからの画像は、動きのない同じ時間の第２のカメラからの画像に照合する可能性がある。より詳細には、動きのない第１の時間における第１のカメラからの画像は、動きのない第１の時間における第２のカメラからの画像に照合する可能性がある。このようにして、異なるカメラからの画像を同期させるための時間の不足が低減される。なぜならば、同期されたグループ内の画像部分は、画像の同期化がそのシーンの画像が撮影された正確な時間に依存しないように、静的シーン部分を表しているからである。
【００２６】
次いで、同期された画像部分４６２、４６４を、図２の従来技術の変換システム２００で使用されるような、特徴検出エンジン２３０に出力することができる。図４に示されるように、特徴検出エンジン２３０は、同期された各画像部分４６２、４６４中の画像ポイントを検出することができる。各画像の検出されたポイントは、特徴点照合エンジン２３２に出力される。特徴点照合エンジンは、第１のカメラ４０２からの画像部分４６２と、第２のカメラ４０４からの画像部分４６４との両方に対応するような、画像４６２、４６４からなる同期されたグループの検出されたポイントを照合する。
【００２７】
同期された各画像の組についてのマッチした画像の特徴は、任意の適切なフォーマットで格納することができる。例えば、同期された画像のグループについてのマッチした特徴は、マッチした特徴のベクトルとして格納することができる。複数の同期された画像のグループ、または同期された画像のペアとともに、マッチした特徴のベクトルは、マトリクスの形に連結することができる。
【００２８】
同期された画像のマッチングポイントを、ホモグラフィーエンジン２３４に出力して、射影平面への各画像の変換を決定することができる。例えば、カメラ４０２、４０４の実際の画像平面が同一平面上に存在するように変換するための変換を、決定することができる。決定された変換パラメータ、または変換構造を変換エンジン（transformation engine）２３６に出力して、カメラ４０２、４０４からの画像４１２、４１４、４１６、４１８、または任意の他の画像に対して適用することによって、各画像が同一平面上にある画像平面を有するカメラから受信したかのように、各画像を変換画像４２２、４２４に変換することができる。
【００２９】
ホモグラフィーエンジンからの変換パラメータの決定は、複数の静的画像からの情報を用いることによって改善できる可能性があるので、カメラが見ているシーン４５０を変化させることができる。一例では、カメラを他の静的画像のポイントに移動することができるが、正確な変換データを提供するために、各カメラの相対的位置関係は、相互に固定されたまま維持する必要がある。したがって、「カメラを移動させる」ためには、カメラに取り付けられたカメラリグを移動することによって、その相対位置のままで両方のカメラを移動することができる。
【００３０】
他の場合には、カメラ４０２、４０４をその元の位置に維持したまま、シーン４５０それ自体を変化させることができる。例えば、人のシーンの場合は、その人を静止させたままで、カメラは、画像データ４１２、４１４をカメラ４０２によって収集し、画像４１６、４１８をカメラ４０４によって収集することができる。動き検出エンジンは、画像が静的であることを検出し、静的画像４６２、４６４を取り込んで、ホモグラフィーエンジン２３４に渡すことができる。
【００３１】
シーンを変更し、追加の画像データをホモグラフィーエンジンに提供するために、シーン４５０内の被写体を異なる位置に移動させ、次いで図５のシーン５５０に示されるような状態に維持することができる。一例では、カメラ４０２、４０４の視野空間内の人は、例えば左、右、前、後にわずかに移動し、物を持ち上げるなどしながらも、両方のカメラの視野領域内にとどまることができる。次に、その人は、短時間その位置にとどまることができる。その静止位置に任意の適切な時間、例えば約０．５〜１秒間とどまることができる。画像５１２、５１４、５１６、５１８を取り込み、動き検出エンジン４６０に送信することができる。新しいシーン５５０の静的画像５６２、５６４を同期エンジン４７０に送信し、画像４６２、４６４とともに変換エンジン２３６によって処理して、変換構造を生成することができる。
【００３２】
上述のように、動き検出エンジンは、シーン４５０が動いている場所を検出することができる。また、シーンの一部が動いている画像のフレームまたは一部を、破棄することもできる。シーンを繰り返し修正し、静的位置で停止または維持することができる。例えば、人がわずかに移動し停止し、次いでわずかに移動し停止して、対応する特徴点の、複数のマッチしたグループを収集することができる。一例では、ユーザは自分の頭部または他の目に見える被写体を、カメラの視界領域の他の象限、例えば、左上象限、右上象限、左下象限、右下象限、および／または視界領域の中央に移動させて、ホモグラフィーエンジンによって使用される様々な静的画像グループを提供することができる。カメラに最も近い被写体（例えば、人、本、箱など）を変化させること、静的画像を変更すること（例えば、視力検査表に類似した様々な補正図（calibration charts）などを提示すること）など、任意のシーン変更技術を使用できることを理解されたい。
【００３３】
場合によっては、ユーザは提示された方法または所定の方法で、例えば、ユーザ自身の体および／または他の目に見える被写体をカメラの視野領域の異なる部分に移動させること、および／またはカメラ間の相対位置を維持しながらカメラを移動させることによって、シーンを修正することができる。シーン変更のタイミングをユーザに事前に提示して、シーンを修正し維持することに関する所定の時間系列で、ユーザがシーンを変更できるようにすることができる。例えば、ユーザに、約１秒間静止し、次いで移動し、さらに１秒静止し、所定の回数繰り返すよう指示することができる。あるいは、動き検出エンジンが十分に静的なシーンを検出するまで、例えば画像差が所定の閾値以下になるまで、静的シーンを維持するようユーザに指示することができる。次いで、動き検出エンジンは、ユーザに対して、シーンを修正し、その新しい静的シーンを維持すべきであると指示することができる。動き検出エンジンは、可聴信号、視覚信号など、任意の適切な指示をユーザに提供することができる。ユーザはこの処理を所定の回数繰り返すことができる。一代替例では、非同期カメラからのシーンの静的画像を、同期エンジン、特徴検出エンジン、特徴点照合エンジン、およびホモグラフィーエンジンによって処理することができる。例えば変換較正が収束しない場合など、変換構造を形成するのに画像データが不十分である場合は、動き検出エンジンは、そのシーンを修正するようユーザに指示することもできるし、他の静的シーンを提供してマッチングシステムによって分析することもできる。このようにして、ユーザが処理用の静的画像を提供しているときに、リアルタイムで変換を分析することができる。
【００３４】
一例では、図４の動き検出エンジン４６０は、各カメラからの画像部分に重みを付けて、検出された動きのレベルを指示することができる。例えば、小さな画像差に対応する画像部分は、検出された動きを有する画像部分、例えば、大きな画像差を有する部分より、より大きく重み付けすることができる。上述のように、重み付けは、例えば静的画像が重み１を有し、動きを示す画像が重み０を有する、２値であってもよい。あるいは、画像部分に関連する重みを任意の適切な方法でスケール変更して、動きのレベルを指示することもできる。重みは、特徴点照合エンジンが特徴マッチングにおいて使用すること、および／またはホモグラフィーエンジンが変換構造の生成において使用することができる。例えば、画像が静的であるという高い指示（high indication）を有する画像は、変換構造を生成する際に、ホモグラフィーエンジンによってより大きく重み付けすることができる。
【００３５】
動作に際して、図４および図５のマッチングシステム４００は、図６に示された方法６００を使用することができる。ユーザは、６０２において、少なくとも２台のカメラが重なり合う視野を有するように、配置することができる。６０４において、ユーザは、第１の静的シーンを設定することができ、６０８において、各カメラは、その静的シーンの１つまたは複数の画像を取り込むことができる。次いでユーザは、６１０において、そのシーンを修正することができ（例えば、頭や他の部分など少なくともユーザ自身の体の一部を動かすなど）、６１６において、第２の静的シーンを設定することができる。６１２において、２台以上のカメラによって、第１の静的シーンと第２の静的シーンの間のシーンにおける動きを示す、１つまたは複数の画像を取り込むことができる。６１４において、そのシーンにおける動きは、上述のように、これらのカメラの少なくとも１台からの複数の画像に適用される、オプティカルフロー技術によって検出することができる。６１８において、動きを示す画像部分を破棄することができる。上述のように、６２０において、インジケータを、静的なシーンを示す各画像部分に関連づけることができる。インジケータには、シーンインジケータ、静的グループインジケータ、データ構造内の配置または順序などを含めることができる。
【００３６】
６２１において、各カメラからの静的シーンを示す画像を、他のカメラからの適切な静的シーンの画像と、照合または同期させることができる。６２２において、各静的画像部分の特徴を検出し、６２４において、その特徴を、同期された画像ペアにおける他方の画像の検出された特徴と、照合することができる。６２６において、変換マトリクスなどの変換構造を決定することができる。６２８において、その変換構造を使用して、少なくとも２台のカメラからの画像を変換することによって、各カメラからの画像を調整することができる。
【００３７】
図７には、２台以上のカメラからの非同期画像信号を照合するための、他の例であるマッチングシステム７００が示されている。カメラ７０２、７０４は各々、緩やかに変化するシーンの時系列に並べられた複数の画像７２０、７３０を提供することができる。比較エンジン（comparison engine）７４０は、各カメラから一連の画像７２０、７３０を受信することができる。比較エンジン７４０は、第１のカメラ７０２からの一組の画像７２０から、第１の画像７２２を取り出し、その画像を、第２のカメラ７０４からの画像と比較することができる。より詳細には、第２のカメラからの画像は、画像７２２のタイムスタンプより前の所定の時間から、画像７２２のタイムスタンプより後の所定の時間までの範囲の時間に存在することができる。このようにして、画像７２２を、時間ｔ−ｋから時間ｔ＋ｋの間に生じた、第２のカメラからの画像７３２と比較することができる。第２のカメラからの画像の時間の範囲は、任意の適切な時間、例えば１秒などにすることができる。比較エンジンは、第２のカメラからの一組の画像７３２、７３４から、画像７２２に最も良くマッチする画像７３４を選択することができる。最も良くマッチする画像７２２、７３４を関連づけて、画像の同期されたグループを形成し、その同期されたグループを検出エンジンに送信してさらに処理することができる。ＲＡＮＳＡＣベースまたはオプティカルフローベースのマッチング技術など、任意の適切なアルゴリズムを使用して、最適なマッチを決定することができる。画像７２２、７３４を特徴検出エンジン２３０に送信すること、および変換エンジン２３６によって処理して変換構造を生成することもできる。変換構造を使用して、カメラ７０２、７０４からの画像を、それらの画像があたかも同一平面上にある画像平面を有するカメラから生じた画像であるかのように、画像７５２、７５４へ変換することができる。
【００３８】
他の例として、図４のマッチングシステム４００は、図７のマッチングシステム７００と組み合わせることができる。例えば、カメラ４０２と４０４が非同期であり、対応する静的画像の「時間」を、同期させることができない場合がある。より詳細には、カメラ４０２は、静的画像の第１の時間を検出し、動きを検出し、静的画像の第２の時間を検出する。カメラ４０４もまた、検出された動きによって分離された静的画像の第１および第２の時間を検出することができる。しかし、カメラ４０２と４０４は、カメラ４０２からの静的画像の第１の時間が、カメラ４０４からの静的画像の第１の時間に対応していないという点で、非同期であることがある。したがって、静的画像の第１の時間の画像が各カメラからの画像と比較された場合、例えば各画像が同一の静的シーンを表していないことがあり、画像がマッチしない場合がある。他の例では、非同期性が大きいためではなく、シーン４５０に関するカメラ４０２、４０４の視点が異なっているために、動きが検出される時間がカメラごとに異なる場合がある。より詳細には、カメラ４０２に対してカメラ４０４の視点が異なっているために、カメラ４０４はそのシーンで、カメラ４０２によって検出されない動きを検出することがある。非同期性が大きい場合の例と同様に、静的画像の第２の時間での画像が、各カメラからの画像と比較された場合にも、例えば、画像が同じ静的シーンを表していないことがあり、それらの画像がマッチしないことがある。
【００３９】
上記の諸問題の影響を低減するために、図７のシステム７００をマッチングシステム４００と組み合わせることができる。より詳細には、比較エンジン７４０を図４のマッチングシステム４００と組み合わせることができる。比較エンジン７４０は、第１のカメラからの一組の画像から第１の画像を取り出し、それを第２のカメラからの画像と比較することができる。より詳細には、第２のカメラからの画像は、第１のカメラ画像のタイムスタンプより前の所定の時間から第１のカメラ画像のタイムスタンプより後の所定の時間までの範囲の時間に存在することができる。各カメラからの画像ストリームは連続しているので、所定の時間は画像ストリーム全体にわたって広げる必要がないことがあり、むしろかなり短くなる場合がある。ある画像が静的シーンの各「時間」またはセグメントの画像と比較される場合の例では、第１のカメラからの静的画像は、所定の数だけオフセットした静的画像と比較することができる。例えば、比較エンジンは、第１のカメラからの静的画像と、例えば−１、０、＋１だけオフセットした、第２のカメラからの画像とを比較することができる。比較エンジンは、最大および／または最良のマッチを有する、第２のカメラからの画像を選択することができる。より一般的にいうと、比較エンジンは、任意のオフセットで照合することができる。
【００４０】
本発明の好ましい実施形態について図示し、説明してきたが、本発明の趣旨および範囲を逸脱することなく各実施形態に様々な変更をなし得ることが理解されよう。例えば、図４、図５、および図７を参照して上述したホモグラフィーエンジン２３２および変換エンジン２３４は、同期された画像のマッチした特徴を使用して、カメラからの画像を調整する。しかし、プロセス、方法、または技法はいずれも、同期エンジンからの同期された画像のペアを使用することができることを理解されたい。例えば、同期エンジンからの同期された画像部分を使用して、カメラを調整することができる。
【図面の簡単な説明】
【００４１】
【図１】図４〜５のマッチングシステムを実装するための一例示的コンピュータシステムを示す図である。
【図２】従来技術による一例示的変換システムのデータフロー図である。
【図３】２台のカメラによって撮影された一連の画像の例に関する時系列を示す図である。
【図４】一例示的マッチングシステムのデータフロー図である。
【図５】異なる検出シーンを有する図４の例示的マッチングシステムのデータフロー図である。
【図６】図４および図５のマッチングシステムの非同期カメラの画像を調整する一例示的方法の流れ図である。
【図７】一例示的マッチングシステムのデータフロー図である。
【図１】
2006170993.tif 000003
【図２】
2006170993.tif 000004
【図３】
2006170993.tif 000005
【図４】
2006170993.tif 000006
【図５】
2006170993.tif 000007
【図６】
2006170993.tif 000008
【図７】
2006170993.tif 000009