(57)【特許請求の範囲】
【請求項１】
立体画像化デバイスを較正する方法であって、
第１の解像度、内部パラメータの第１のセット、および外部パラメータの第１のセットを有する第１の画像センサを用いて関心シーンの第１の画像をキャプチャすることと、
前記第１の解像度とは異なる第２の解像度を有する第２の画像センサを用いて前記関心シーンの第２の画像をキャプチャすることと、ここにおいて、前記第２の画像センサは、内部パラメータの第２のセット、および外部パラメータの第２のセットを備え、前記第１の画像および前記第２の画像は立体画像ペアを備える、
前記第１の画像センサの前記内部および外部パラメータに少なくとも部分的に基づいて、前記第１の画像センサの正規化焦点距離を決定することと、
前記正規化焦点距離に基づいて較正行列を調整することと、
前記立体画像化デバイスに前記較正行列を記憶することと、
前記第２の画像センサの焦点距離が前記第１の画像センサの前記正規化焦点距離と同等になるように前記第２の画像に前記較正行列を適用することと
を備える、方法。
【請求項２】
前記較正行列が、前記第２の画像センサを用いて画像をキャプチャすることと、前記第２の画像センサの前記焦点距離が前記第１の画像センサの前記焦点距離と同等であるように調整を決定することとによって更新され、前記調整は前記較正行列に記憶される、請求項１に記載の方法。
【請求項３】
前記内部パラメータの第１のセットまたは前記内部パラメータの第２のセットが、解像度および視野を含む、請求項１に記載の方法。
【請求項４】
前記外部パラメータの第１のセットまたは前記外部パラメータの第２のセットが、カメラポーズパラメータを含む、請求項１に記載の方法。
【請求項５】
前記カメラポーズパラメータが、前記第１の画像センサと前記第２の画像センサとの間の、ヨー、ピッチ、およびロールのオフセットを含む、請求項４に記載の方法。
【請求項６】
前記第１の画像センサの前記解像度が、前記第２の画像センサの前記解像度よりも大きい、請求項１に記載の方法。
【請求項７】
前記正規化焦点距離を決定することが、前記第１の画像センサによってキャプチャされた第１の画像におけるキーポイントのセットを決定することを備える、請求項１に記載の方法。
【請求項８】
立体画像ペアをキャプチャするための装置であって、
第１の解像度、内部パラメータの第１のセット、および外部パラメータの第１のセットを有する第１の画像センサを用いて関心シーンの第１の画像をキャプチャするための手段と、
前記第１の解像度とは異なる第２の解像度を有する第２の画像センサを用いて前記関心シーンの第２の画像をキャプチャするための手段と、ここにおいて、前記第２の画像センサは、内部パラメータの第２のセット、および外部パラメータの第２のセットを備え、前記第１の画像および前記第２の画像は立体画像ペアを備える、
前記第１の画像センサの前記内部および外部パラメータに少なくとも部分的に基づいて、前記第１の画像センサの正規化焦点距離を決定するための手段と、
前記正規化焦点距離に基づいて較正行列を調整するための手段と、
立体画像化デバイスに前記較正行列を記憶するための手段と、
前記第２の画像センサの焦点距離が前記第１の画像センサの前記正規化焦点距離と同等になるように前記第２の画像に前記較正行列を適用するための手段と
を備える、装置。
【請求項９】
前記内部パラメータが解像度および視野を含む、請求項８に記載の装置。
【請求項１０】
前記外部パラメータがカメラポーズパラメータを含む、請求項９に記載の装置。
【請求項１１】
前記カメラポーズパラメータが、前記第１の画像センサと前記第２の画像センサとの間の、ヨー、ピッチ、およびロールのオフセットを含む、請求項１０に記載の装置。
【請求項１２】
プロセッサ命令を記憶した非一時的なコンピュータ可読媒体であって、
前記プロセッサ命令が、実行されたときに、
第１の解像度、内部パラメータの第１のセット、および外部パラメータの第１のセットを有する第１の画像センサを用いて関心シーンの第１の画像をキャプチャし、
前記第１の解像度とは異なる第２の解像度を有する第２の画像センサを用いて前記関心シーンの第２の画像をキャプチャし、ここにおいて、前記第２の画像センサは、内部パラメータの第２のセット、および外部パラメータの第２のセットを備え、前記第１の画像および前記第２の画像は立体画像ペアを備える、
前記第１の画像センサの前記内部および外部パラメータに少なくとも部分的に基づいて、前記第１の画像センサの正規化焦点距離を決定し、
前記正規化焦点距離に基づいて較正行列を調整し、
立体画像化デバイスに前記較正行列を記憶し、
前記第２の画像センサの焦点距離が前記第１の画像センサの前記正規化焦点距離と同等になるように前記第２の画像に前記較正行列を適用する
方法をプロセッサに行わせる、コンピュータ可読媒体。
【請求項１３】
前記内部パラメータが解像度および視野を含む、請求項１２に記載のコンピュータ可読媒体。
【請求項１４】
前記外部パラメータがカメラポーズパラメータを含み、好ましくは、前記カメラポーズパラメータが、前記第１の画像センサと前記第２の画像センサとの間の、ヨー、ピッチ、およびロールのオフセットを含む、請求項１２に記載のコンピュータ可読媒体。
【請求項１５】
前記第１の画像センサが、前記第２の画像センサよりも大きい解像度を有する、請求項１２に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本実施形態は、画像化デバイスに関し、具体的には、１つより多くの画像化センサを含む画像化デバイスの較正（calibration）のための方法および装置に関する。
【背景技術】
【０００２】
[0002]  過去１０年間で、デジタル画像化機能は、デジタルカメラおよびモバイルフォンを含む幅広い範囲のデバイスに統合されてきた。近年では、これらのデバイスを用いて立体画像をキャプチャする機能が技術的に可能になってきた。デバイスの製造元は、複数のデジタル画像化センサを統合したデバイスを導入することによって対応してきた。モバイルワイヤレス通信デバイス、携帯情報端末（ＰＤＡ）、パーソナル音楽システム、デジタルカメラ、デジタル記録デバイス、ビデオ会議システム、等を含む幅広い範囲の電子デバイスが、複数の画像化センサを利用して、それらのユーザに様々な機能および特徴を提供する。これらは、立体（３Ｄ）写真および３Ｄビデオあるいは動画のような３Ｄ画像化アプリケーションだけでなく、より高いダイナミックレンジの画像化とパノラマの画像化もまた含む。
【０００３】
[0003]  この機能を含むデバイスは、複数の画像化センサを含みうる。例えば、いくつかの製品は、１つのデジタル画像化デバイス内に２つの画像化センサを統合する。これらのセンサは、立体画像がキャプチャされると、水平軸に沿って位置合わせされうる。各カメラは、デジタル画像化デバイスの位置だけでなく、カメラ上の画像化センサの物理的なロケーションおよび向きにもまた基づいてシーンの画像をキャプチャしうる。いくつかのインプリメンテーションが、水平的にオフセットでありうる２つのセンサを提供するので、各センサによってキャプチャされた画像もまた、２つのセンサ間の水平的な向きの差を反映しうる。センサによってキャプチャされた２枚の画像間のこの水平的な向きの差は、２枚の画像間の視差を提供する。２枚の画像から成る立体画像ペアをユーザが見ると、人間の脳は、２枚の画像間の視差に基づいて画像内の深度を知覚する。
【０００４】
[0004]  いくつかの環境において、複数の画像化センサを含む画像化デバイスの主要な使用法は、依然として、従来の２次元スナップショットおよび２次元動画をキャプチャすることでありうる。これらの環境において、立体画像および立体動画のために二重の画像化センサを使用することは、あまり頻繁に使用されない便利な特徴とみなされうる。これらのユーザのために、比較的高い解像度で１つの画像化センサを提供する画像化デバイスが設計されうる。この第１の画像化センサは、２次元スナップショットおよび２次元動画をキャプチャするために利用されうる。２次元画像が、１つの画像化センサのみを使用してキャプチャされることができるため、比較的高い解像度の１つのセンサを使用して高品質な２次元画像が提供されうる。画像化デバイスは、また、第１の画像化センサよりも低い解像度で画像をキャプチャする第２の画像化センサを含みうる。この第２の画像化センサは、立体スナップショットおよび立体動画のための画像ペアをキャプチャするために第１の画像化センサと連結して使用されうる。これらの立体画像ペアが、異なる解像度でキャプチャされた２枚の画像を含むので、画像化デバイス内の追加の画像処理は、２つの画像化センサによってキャプチャされた画像間の差を補正（compensate）して、満足のいく立体スナップショットまたは立体動画をユーザに提供しうる。
【０００５】
[0005]  異なる解像度を有する２つの画像化センサを使用することは、２つの高解像度のセンサを用いて設計された画像化デバイスと比較したときに、画像化デバイスのコストを減少させうる。コストの減少は、より低い解像度の第２の画像化センサのより低いコストだけでなく、例えば、電力回路および画像処理回路といった、より低い解像度のセンサのための電子回路をサポートする、より低いコストにもまた起因しうる。
【０００６】
[0006]  立体画像ペアをキャプチャするために、異なる解像度を有する画像化センサが利用されたとき、その画像化デバイスによって用いられる画像処理方法は、非対称なセンサの解像度を、２つの画像化センサ間に存在しうる他の差と共に補正しうる。例えば、これらの方法は、センサの幾何学的配置、明度、および色彩反応（color response）の差を補正しうる。さらに、異種センサの電子タイミングおよび同期の差を補正することもまた必要でありうる。カメラ較正方法は、また、異種の画像化センサをより良く較正するために適応されうる。
【発明の概要】
【０００７】
[0007]  本実施形態のうちのいくつかは、立体画像化デバイスを較正する方法を含みうる。その方法は、第１の解像度、内部パラメータ（intrinsic parameters）の第１のセット、および外部パラメータ（extrinsic parameters）の第１のセットを有する第１の画像センサを用いて関心シーン（scene of interest）の第１の画像をキャプチャすることと、第１の解像度とは異なる第２の解像度、内部パラメータの第２のセット、および外部パラメータの第２のセットを有する第２の画像センサを用いて関心シーンの第２の画像をキャプチャすることと、ここにおいて、第１の画像および第２の画像は立体画像ペアを備える、内部および外部パラメータに少なくとも部分的に基づいて、基準画像化センサ（reference imaging sensor）の正規化焦点距離（normalized focal distance）を決定することと、その正規化焦点距離に基づいて較正行列を調整することと、較正行列に基づいて非基準画像を調整することと、を含む。いくつかの実施形態において、内部パラメータは解像度および視野を含む。いくつかの実施形態において、外部パラメータは、カメラポーズパラメータを含む。これらの実施形態のうちのいくつかにおいて、カメラポーズパラメータは、第１の画像化センサと第２の画像化センサとの間のヨー、ピッチ、およびロールのオフセットを含む。いくつかの実施形態において、基準画像化センサは第１の画像化センサであり、非基準画像は第２の画像である。
【０００８】
[0008]  開示される別の態様は、立体画像ペアをキャプチャするための装置である。その装置は、第１の解像度、第１の内部パラメータ、および第１の外部パラメータを有する第１の画像化センサと、第１の解像度とは異なる第２の解像度、第２の内部パラメータ、および第２の外部パラメータを有する第２の画像化センサと、第１の画像化センサおよび第２の画像化センサに動作的に結合されたセンサコントローラと、プロセッサと、そのプロセッサに動作的に結合されたメモリであって、第１の画像センサを用いて関心シーンの第１の画像をキャプチャし、第２の画像センサを用いて関心シーンの第２の画像をキャプチャするように構成され、第１の画像および第２の画像が立体画像ペアを備える、センサ制御モジュールと、内部および外部パラメータに少なくとも部分的に基づいて基準画像化センサの正規化焦点距離を決定するように構成された焦点距離決定モジュールと、正規化焦点距離に基づいて較正行列を調整するように構成された較正行列調整モジュールと、較正行列に基づいて非基準画像を調整するように構成された投影訂正（projective correction）モジュールと、を記憶したメモリと、を含む。
【０００９】
[0009]  いくつかの実施形態において、内部パラメータは解像度および視野を含む。いくつかの実施形態において、外部パラメータは、カメラポーズパラメータを含む。いくつかの実施形態において、カメラポーズパラメータは、第１の画像化センサと第２の画像化センサとの間のヨー、ピッチ、およびロールのオフセットを含む。
【００１０】
[0010]  開示される別の態様は、立体画像ペアをキャプチャするための装置である。その装置は、第１の解像度、第１の内部パラメータ、および第１の外部パラメータを含む第１の画像センサを用いて関心シーンの第１の画像をキャプチャするための手段と、第２の解像度、第２の内部パラメータ、および第２の外部パラメータを有する第２の画像センサを用いて関心シーンの第２の画像をキャプチャするための手段と、ここにおいて、第１の画像および第２の画像は立体画像ペアを備える、内部および外部パラメータに少なくとも部分的に基づいて、基準画像化センサの正規化焦点距離を決定するための手段と、その正規化焦点距離に基づいて較正行列を調整するための手段と、較正行列に基づいて非基準画像を調整するための手段と、を含む。
【００１１】
[0011]  開示される別の態様は、実行されたときに、第１の解像度、第１の内部パラメータ、および第１の外部パラメータを有する第１の画像センサを用いて関心シーンの第１の画像をキャプチャすることと、第２の解像度、第２の内部パラメータ、および第２の外部パラメータを有する第２の画像センサを用いて関心シーンの第２の画像をキャプチャすることと、ここにおいて、第１の画像および第２の画像は立体画像ペアを備える、内部および外部パラメータに少なくとも部分的に基づいて、基準画像化センサの正規化焦点距離を決定することと、その正規化焦点距離に基づいて較正行列を調整することと、較正行列に基づいて非基準画像を調整することと、を行う方法を、プロセッサに行わせるプロセッサ命令を記憶した非一時的なコンピュータ可読媒体である。いくつかの実施形態において、内部パラメータは解像度および視野を含む。いくつかの実施形態において、外部パラメータは、カメラポーズパラメータを含む。いくつかの実施形態において、カメラポーズパラメータは、第１の画像化センサと第２の画像化センサとの間のヨー、ピッチ、およびロールのオフセットを含む。
【００１２】
[0012]  開示される態様は、以下において、開示される態様を限定せずに例示するために提供される添付図面と併せて説明されることになり、ここで、同一符号は同一の要素を示す。
【図面の簡単な説明】
【００１３】
[0013]  
【図１】２つの画像化センサを含む立体画像化デバイスを含んだ画像化環境の１つの態様を示すブロック図。
【００１４】
[0014]  
【図２】画像キャプチャシステムの少なくとも１つの動作的な実施形態をインプリメントする画像化デバイスのブロック図。
【００１５】
[0015]  
【図３】立体画像ペアを調整するためのプロセスの１つの実施形態のフローチャート。
【００１６】
[0016]  
【図４Ａ】センサコントローラと第１および第２の画像化センサのブロック図。
【００１７】
[0017]  
【図４Ｂ】センサコントローラのブロック図。
【００１８】
[0018]  
【図４Ｃ】開示されるＩ２Ｃルータの実施形態を使用して非対称画像化センサに２つのコマンドを送ることを例示するタイミング図。
【００１９】
[0019]  
【図５】共有ＳＣＬラインを使用して２つの画像化センサに２つの異なるコマンドを送るプロセスの１つの実施形態を例示するフローチャート。
【詳細な説明】
【００２０】
[0020]  本発明の実施形態は、立体画像ペアをキャプチャするために使用される２つの異なるサイズまたは異なる解像度の画像センサを含む方法およびシステムに関する。良質な立体画像をユーザに提供するために、システムは、以下に説明されるように、２つの異なる画像センサを調整する。例えば、１つの実施形態において、システムは、比較的少ない数のメガピクセルを有する第１のセンサと、比較的多い数のメガピクセルを有する第２のセンサとを含みうる。さらに、１つの実施形態において、システムは、比較的低い解像度で画像をキャプチャする第１のセンサと、比較的高い解像度で画像をキャプチャする第２のセンサとを含みうる。以下に使用されるように、これらの２つの異なるセンサは、「非対称画像化センサ（asymmetric imaging sensors）」と呼ばれる。
【００２１】
[0021]  画像化デバイス内の非対称画像化センサ間の差の補正は、以下に説明される画像処理方法によって行われうる。いくつかの実施形態において、これらの画像処理方法は、画像化デバイス自体によって行われうる。例えば、１つの実施形態において、非対称センサのペアによってキャプチャされた画像の観察幾何学的配置（the viewing geometry）は、解像度、視野、および焦点距離が、非対称画像化センサによってキャプチャされた画像間で同等であるように調整される。
【００２２】
[0022]  非対称画像化センサによってキャプチャされた画像間の実質的に均等な解像度を達成するために、いくつかの実施形態は、より高い解像度の第１の画像化センサからの第１の画像の画素データを組み合わせて、第１の画像データの解像度を低減しうる。第１の画像中のデータが組み合わされた後、第１の画像の解像度は、より低い解像度の画像化センサによってキャプチャされた第２の画像の解像度に実質的に均等でありうる。
【００２３】
[0023]  より低い解像度の第２の画像センサによってキャプチャされた第２の画像よりも４倍大きい解像度で第１の画像を生成する１つの実例的なインプリメンテーションにおいて、第１の画像化センサによってキャプチャされた画素値は、２×２ビニング（binning）プロセスを使用して組み合わせられうる。このプロセスにおいて、第１の高解像度のセンサからの４つ（４個）のピクセルは、第１の画像化センサによって生成された画像データ中のピクセルの総数を低減して、より大きい単一のピクセルに組み合わせられうる。より高い解像度の画像センサによって生成された画像データを集約またはビニングすることによって、第１の画像化センサによってキャプチャされた画像の解像度は、より低い解像度の第２の画像化センサによって生成された画像の解像度と実質的に同等になるように調整されうる。
【００２４】
[0024]  画像データをビニングすることに加えて、他のいくつかのインプリメンテーションは、より低い解像度の第２の画像化センサによって生成された第２の画像データに対して同等な解像度を第１の画像データが有するように、より高い解像度の第１の画像化センサによって生成された、より高い解像度の第１の画像をクロップ（crop）しうる。この手法で第１の画像をクロップすることは、また、第１の画像の視野を変更しうる。
【００２５】
[0025]  代替の実施形態において、他のいくつかのインプリメンテーションは、より小さい解像度の画像をアップサンプルして、より高い解像度の画像と実質的に同等になるようにその解像度を調整しうる。いくつかの実施形態は、代わりに、より高い解像度の画像をサブサンプルして、より低い解像度の画像と実質的に同等になるようにその解像度を調整しうる。
【００２６】
[0026]  クロップまたはビニングするプロセスが完了した後は、より高い解像度の第１の画像化センサと、より低い解像度の第２の画像化センサとによって生成された画像の解像度は実質的に同等でありうる。しかしながら、２枚の画像によって示される視野は、依然として異なりうる。視野は、クロップおよび／またはビニングの結果として異なりうるか、または、非対称画像センサ自体の視野のバリエーションによって異なりうる。例えば、非対称画像化センサが、異なる曲率（curvature）を有するレンズを含む場合、２つの非対称画像化センサによってキャプチャされた視野は異なりうる。画像の視野は、インプリメンテーションによって変わりうる様々な方法を使用して同等にされうる。例えば、いくつかのインプリメンテーションは、２枚の画像の視野が同等になるように、より大きい視野で画像をクロップしうる。
【００２７】
[0027]  いくつかのインプリメンテーションは、非対称画像化センサによってキャプチャされた２枚の画像の視野と焦点距離とを均等にする較正プロセスを利用しうる。この較正プロセスは、非対称画像化センサのペアによってキャプチャされた画像に適用され、また、それら画像に基づきうる。較正プロセスは、非対称画像化センサによってキャプチャされた画像に適用されることができる較正行列を生成しうる。較正行列の画像ペアへの適用後、画像ペアの幾何学的配置は実質的に均等にされうる。画像のポーズは、画像ペアの画像が互いに平行にされうるので、均等にされうる。
【００２８】
[0028]  較正プロセスは、最初に、画像化センサの内部および外部パラメータの両方を決定しうる。内部パラメータは、各画像化センサの視野と、各画像化センサの解像度とを含みうる。決定された外部パラメータは、カメラポーズパラメータを含みうる。例えば、Ｘ、Ｙ、およびＺ軸についての第１および第２の画像化センサの回転を定義するパラメータが決定されうる。画像化センサ間の相対シフトもまた決定されうる。例えば、画像センサは、また、互いに対してＸ、Ｙ、またはＺ軸に沿ってシフトされうる。画像処理方法は、画像化センサによってキャプチャされた画像に基づいて、これらのシフトを検出しうる。
【００２９】
[0029]  内部および外部パラメータがわかると、画像化センサのうちの１つの正規化焦点距離が決定されうる。正規化焦点距離が推定された画像化センサは、いくつかのインプリメンテーションにおいて、基準画像化センサとみなされうる。例えば、いくつかのインプリメンテーションにおいて、第１の画像化センサの焦点距離が推定されうる。他のインプリメンテーションにおいて、第２の画像化センサの焦点距離が推定されうる。焦点距離を推定するために、キーポイントの３次元座標が、２次元画像の各キーポイントの座標と比較されうる。３ｄおよび２ｄ座標は、次いで、３×４行列によって関係づけられうる。この行列は焦点距離をカプセル化する。正規化焦点距離が決定されたら、較正行列が調整されうる。較正行列は、次いで、非基準画像に適用されることができ、非基準画像の焦点距離が基準画像化センサの焦点距離と同等になるように調整されるという結果となる。例えば、１つの実施形態において、非基準画像は、基準画像の焦点距離と非基準画像の焦点距離とに基づく比によってスケール化されうる。焦点距離の調整は、また、画像の視野を調整しうる。調整された較正行列は、次いで、メモリまたはデータ記憶装置に記憶されうる。調整された較正行列は、次いで、非対称画像化センサによってキャプチャされた追加の画像ペアに適用されうる。
【００３０】
[0030]  非基準画像データの視野が基準画像データの視野に整合するように調整された後、非基準の画像データは、基準画像データの解像度および視野に整合するようにアップサンプルおよびクロップされうる。
【００３１】
[0031]  別のインプリメンテーションにおいて、異なる解像度のセンサは、異なるタイミングの検討を必要としうる。センサからの複数の画像を異なる解像度で同時にキャプチャすることが望ましい。センサからキャプチャされるデータが同時にキャプチャされることを確実にするために、センサの各々を読取ることが共通セットのクロックサイクル中に行われるべきである。複数の画像化センサの各々が、また、共通クロックによって制御されうる。共通クロックで複数のセンサの各々を制御することと、同じクロックサイクル中にセンサの各々を読み取ることとによって、いくつかのインプリメンテーションは、各センサによってキャプチャされたデータが、他のセンサによってキャプチャされたデータと時間において相互に関連していることを確実にしうる。
【００３２】
[0032]  いくつかの実施形態において、システムは、非対称画像化センサへのコマンドデータストリームを互いに同期させることによって、各画像化センサからの異なるキャプチャおよびダウンロードレートを補正しうる。例えば、Ｉ２Ｃシリアルコンピュータバスプロトコルを利用するインプリメンテーションでは、コマンドが非対称画像化センサのコントローラに種々の時間に送られうる。しかしながら、本明細書に説明されるシステムの実施形態は、各画像化センサが同じＩ２Ｃタイミング信号を使用してシステム内のデータフローを制御することを可能にする同期サービスを含み、したがって、各画像センサにおけるコマンドの実行を同期させて高品質の立体画像をユーザに配信する。
【００３３】
[0033]  １つの実施形態において、非対称画像化センサを利用する画像化デバイスは、複数のＩ２Ｃ  ＳＤＡラインを用いうる。例えば、第１のＩ２Ｃ  ＳＤＡデータラインは、センサコントローラと第１の画像化センサとの間で使用され、第２のＩ２Ｃ  ＳＤＡデータラインは、コントローラと第２の画像化センサとの間に提供されうる。画像化アプリケーションは、第１の画像化センサから第１の画像をキャプチャするためのコマンドをセンサコントローラに送りうる。そのコマンドを第１の画像化センサに直ちに転送するのではなく、コントローラはコマンドを記憶しうる。画像化アプリケーションは、次いで、第２の画像が第２の画像化センサによってキャプチャされるべきであることを示す第２のコマンドを送りうる。コントローラが、両方の画像化センサのためのコマンドを受信したら、コントローラは、各ＳＤＡラインが画像化センサに接続された別個のＳＤＡライン上で、各コマンドを符号化しうる。画像化センサコントローラは、次いで、各コマンドを各画像化センサに伝搬するために、コントローラと両方の画像化センサとに接続されうる同じＳＣＬラインを使用しうる。両方の画像化センサが、同じＳＣＬを介して同時にそれぞれのコマンドを受信するので、２つの画像センサ間のスキュー（skew）の差が最小化される。
【００３４】
[0034]  別のインプリメンテーションにおいて、より高い解像度の画像化センサは、より小さい解像度のセンサよりも長い水平消去時間（horizontal blanking time）を有しうる。より長いこの水平消去時間は、より高い解像度のセンサによって生成されている、より大きい量のデータに起因する。より大きい量のデータは、より多くの処理時間を必要としうる。非対称解像度で２つの画像化センサを利用するインプリメンテーションにおいて、両方の画像化センサは、より高い解像度のセンサの水平消去時間を使用しうる。これらのインプリメンテーションにおいて、より小さい解像度の画像化センサの水平消去時間は、両方の画像化センサについての水平画素数が同等であるように延長される。これらのインプリメンテーションのうちのいくつかにおいて、２枚の画像の垂直サイズは、より低い解像度の画像に整合するように、より高い解像度の画像をクロップすることによって同等にされうる。
【００３５】
[0035]  さらに、非対称画像化センサが、異なる色彩および明度反応を提供するので、本明細書に説明されるシステムは、複数の画像化センサの明度および色彩反応を実質的に均等にすることによって、これらの差を補正しうる。いくつかのインプリメンテーションは、画像化センサ間の反応を均等にする線形訂正（linear correction）方法を利用しうる。これらのインプリメンテーションにおいて、各画像化センサは、独立したオフセットおよび利得の設定を提供されうる。
【００３６】
[0036]  インプリメンテーションが２つの画像化センサに１つの視覚フロントエンドを利用しているかどうか、または各画像化センサがそれぞれの視覚フロントエンドを有するか、に基づいて、他のインプリメンテーションは２つの非対称センサの色彩反応を均等にしうる。各非対称画像化センサは、それぞれの色彩反応曲線を有しうる。したがって、単一の視覚フロントエンドを利用するインプリメンテーションにおいて、その視覚フロントエンドは、第１の画像化センサからのデータを処理するときには色彩反応パラメータの第１のセット間で切り替え、第２の画像化センサからのデータを処理するときには色彩反応パラメータの第２のセット間で切り替えうる。いくつかの実施形態において、キャプチャされたシーンに類似した明度および色彩反応を有し、かつ異なる光の条件にある画像をそれぞれ生成できるように、画像センサは使用の前に較正されうる。
【００３７】
[0037]  以下の説明では、特定の詳細が例についての完全な理解を提供するために与えられる。しかしながら、例がこれらの特定の詳細なしに実現されうることは、当業者によって理解されるであろう。例えば、これら例を不必要な詳細で曖昧にしないために、電気的コンポーネント／デバイスがブロック図で示されうる。他の事例では、このようなコンポーネント、他の構造および技法が、これら例をさらに説明するために詳細に示されうる。
【００３８】
[0038]  これら例が、フローチャート、フロー図、有限状態図、構造図、またはブロック図として表されるプロセスとして説明されうることにもまた留意される。フローチャートは動作を連続したプロセスとして説明しうるが、これら動作の多くは並列または同時に行われることができ、プロセスは繰り返されることができる。さらに、動作の順序は並べ換えられうる。プロセスは、その動作が完了した時に終了する。プロセスは、方法、関数、手順、サブルーチン、サブプログラム、等に対応しうる。プロセスがソフトウェア関数に対応するときは、その終了は、その関数が呼び出し関数または主関数に戻ることに対応する。
【００３９】
[0039]  当業者は、情報および信号が、様々な異なる技術および技法のいずれも使用して表されうることを理解するであろう。例えば、上記説明全体にわたって参照されうる、データ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光場または光粒子、あるいはこれらの任意の組み合わせによって表されうる。
【００４０】
[0040]  図１は、２つの画像化センサを含む立体画像化デバイスを含んだ画像化環境の１つの態様を示すブロック図である。シーン１３０をキャプチャする画像化デバイス１００が例示される。カメラの各画像化センサは、暗線１６０ａ−ｄによって示された視野を含む。左の画像化センサ１１０は、ライン１６０ａおよび１６０ｃによって境界を付けられた視野１４０を含む。右の画像化センサ１２０は、線１６０ｂおよび１６０ｄによって境界を付けられた視野１５０を含む。示されるように、視野１４０および１５０は、領域１７０においてオーバーラップしている。左の画像化センサの視野１４０は、視野１２０の視野内にないシーンの一部分を含む。これは領域１８０と表される。右の画像化センサの視野１５０は、画像化センサ１１０の視野内にないシーンの一部分を含む。これは領域１９０と表される。２つの画像化センサ１１０および１２０の視野におけるこれらの差が、例示の目的のために強調されうる。
【００４１】
[0041]  各画像化センサ１１０および１２０の視野における差は、画像間の視差を生み出しうる。図１は、また、２つの画像化センサ１１０および１２０間の水平変位（horizontal displacement）１０５を示す。この水平変位は、深度の知覚を生み出すために立体画像において使用される視差を提供する。２つの画像化センサ間のこの変位が、画像化デバイスの設計の意図的な部分でありうる一方で、２つの画像化センサ１１０および１２０間の意図的ではない変位、または、ずれもまた存在しうる。
【００４２】
[0042]  画像化センサ１１０および画像化センサ１２０は、異なる解像度を有しうる。例えば、いくつかのインプリメンテーションにおいて、画像化センサ１１０は、画像化センサ１２０よりも高い解像度を有しうる。画像化センサ１１０および１２０は、また、異なる視野を有しうる。例えば、画像化センサ１３０の視野１４０により映される画像の領域は、画像化センサ１２０の視野１５０によって映される画像の領域よりも大きいこともある。非対称画像化センサ１３０および１２０間の解像度および視野の差を補正するために、画像処理方法が画像化デバイス１００内で用いられうる。
【００４３】
[0043]  図２は、画像キャプチャシステムの少なくとも１つの動作的な実施形態をインプリメント（implementing）する画像化デバイスのブロック図である。画像化デバイス１００は、メモリ２３０、センサコントローラ２１８、ワーキングメモリ２０５、記憶装置２１０、ディスプレイ２２５、および入力デバイス２９０を含む、いくつかのコンポーネントに動作的に結合されたプロセッサ２２０を含む。センサコントローラ２１８は、第１の画像センサ２１５および第２の画像センサ２１６に動作的に結合される。いくつかのインプリメンテーションにおいて、画像センサ２１５の解像度は、画像センサ２１６の解像度よりも大きいこともある。他のインプリメンテーションにおいて、画像化センサ２１６の解像度は、画像化センサ２１５の解像度よりも高いこともありうる。
【００４４】
[0044]  画像化デバイス１００は、入力デバイス２９０を介して入力を受信しうる。例えば、入力デバイス２９０は、画像化デバイス１００に含まれる１つまたは複数の入力キーから成りうる。これらのキーは、電子ディスプレイ２２５上に表示されるユーザインターフェースを制御しうる。代替的に、これらのキーは、ユーザインターフェースに関連しない専用の機能を有しうる。例えば、入力デバイス２９０は、シャッターリリースキーを含みうる。画像化デバイス１００は、画像を記憶装置２１０に記憶しうる。これらの画像は、画像化センサ２１５および２１６によってキャプチャされた立体画像ペアを含みうる。ワーキングメモリ２０５は、画像化デバイス１００の通常動作中に生み出される動的ランタイムデータを記憶するためにプロセッサ２２０によって使用されうる。
【００４５】
[0045]  メモリ２３０は、いくつかのソフトウェアまたはファームウェアのコードモジュールを記憶するように構成されうる。これらのモジュールは、以下に説明される特定の機能を行うようにプロセッサ２２０を構成する命令を含む。例えば、オペレーティングシステムモジュール２８０は、デバイス１００のハードウェアおよびソフトウェアリソースを管理するようにプロセッサ２２０を構成する命令を含む。センサ制御モジュール２３５は、画像化センサ２１５および２１６を制御するようにプロセッサ２２０を構成する命令を含む。例えば、センサ制御モジュール２３５のいくつかの命令は、画像化センサ２１５または画像化センサ２１６を用いて画像をキャプチャするようにプロセッサ２２０を構成しうる。したがって、センサ制御モジュール２３５の命令は、画像センサを用いて画像をキャプチャするための手段を表しうる。センサ制御モジュール２３５の他の命令は、画像センサ２１５の設定を制御しうる。例えば、シャッタースピード、アパーチャ（aperture）、または画像センサ感度が、センサ制御モジュール２３５の命令によって設定されうる。
【００４６】
[0046]  解像度調整モジュール２４０は、画像化センサ２１５または画像化センサ２１６のいずれかによってキャプチャされた１つまたは複数の画像の解像度を調整するようにプロセッサ２２０を構成しうる。例えば、いくつかのインプリメンテーションにおいて、解像度調整モジュールの命令は、結果の画像が画像化センサ２１６によってキャプチャされた画像と同等の解像度を有するように、画像化センサ２１５によってキャプチャされた画像を「ビニング」しうる。解像度調整モジュール２４０の命令は、また、画像化センサ２１５または画像化センサ２１６によってキャプチャされた画像をアップサンプルしうる。例えば、より低い解像度を有する画像化センサによってキャプチャされた画像は、より高い解像度を有する画像化センサによってキャプチャされた画像の解像度に整合するようにアップサンプルされうる。したがって、解像度調整モジュールの命令は、画像の解像度を調整するための手段を表しうる。
【００４７】
[0047]  内部パラメータ決定モジュール２４５は、画像化センサ２１５および２１６の内部パラメータを決定する命令を含む。例えば、内部パラメータ決定モジュール２４５は、画像化センサの視野といったパラメータを決定するために、画像化センサ２１５および画像化センサ２１６によってキャプチャされた画像を解析しうる。各画像化センサの解像度は、また、内部パラメータ決定モジュール２４５によって決定されうる。したがって、内部パラメータ決定モジュール２４５に含まれる命令は、画像化センサの内部パラメータを決定するための手段を表しうる。
【００４８】
[0048]  外部パラメータ決定モジュール２５０は、画像化センサ２１５および２１６の外部パラメータを決定する命令を含む。例えば、各画像化センサのポーズまたは相対的な位置に関連したパラメータは、外部パラメータ決定モジュール２５０によって決定されうる。Ｘ、Ｙ、またはＺ軸についての相対的なオフセットが決定されうる。さらに、２つの画像化センサ間のＸ、Ｙ、またはＺ軸についての相対的な回転は、ヨー、ピッチ、またはロールにおけるオフセットが外部パラメータ決定モジュール２５０に含まれる命令によって決定されうるように決定されうる。したがって、外部パラメータ決定モジュール２４５に含まれる命令は、画像化センサの外部パラメータを決定するための手段を表しうる。
【００４９】
[0049]  焦点距離決定モジュールは、画像化センサ２１５または画像化センサ２１６によってキャプチャされた１つまたは複数の画像の焦点距離を決定しうる。したがって、焦点距離決定モジュールの命令は、画像化センサの焦点距離を決定するための手段を表しうる。
【００５０】
[0050]  較正行列調整モジュール２６５は、較正行列を調整しうる。較正行列は、画像化センサ２１５または画像化センサ２１６によってキャプチャされた画像が、他方の画像化センサによってキャプチャされた画像で較正されるように、それら画像を調整するために使用されうる。２枚の画像が較正されると、それらは画像化デバイス１００の設計によって意図されたパラメータのみだけ異なるシーンのビューポイントを表しうる。例えば、画像化デバイス１００は、画像化センサ２１５および画像化センサ２１６によってキャプチャされた画像のペアが、立体的な画像化をサポートするために平均眼内距離の水平差異（horizontal disparity）を有するべきであるように設計されうる。画像化デバイスが、この実例的なインプリメンテーションにおいて適切に較正された場合、２枚の画像間に他の差は存在しないはずである。例えば、画像は、２つの画像化センサ間の垂直的なずれによって引き起こされうる垂直差異を表さないはずである。画像はまた、軸についての画像化センサの相対的な回転によって引き起こされるずれを表さないはずである。例えば、ヨー、ピッチ、またはロールにおけるずれが存在しないはずである。
【００５１】
[0051]  投影訂正モジュール２７０は、立体画像ペアの一方または両方の画像上で投影訂正を行うようにプロセッサ２２０を構成する命令を含む。投影訂正は、較正行列調整モジュール２６５の命令によって調整される較正行列に基づきうる。
【００５２】
[0052]  マスタ制御モジュール２７５は、画像化デバイス１００の全体的な機能を制御する命令を含む。例えば、マスタ制御モジュール２７５は、最初に画像化センサ２１５を使用して第１の画像をキャプチャし、次いで、画像化センサ２１６を使用して第２の画像をキャプチャすることによって、立体画像ペアをキャプチャするためのセンサ制御モジュール２３５内のサブルーチンを呼び出しうる。いくつかのインプリメンテーションは、実質的に同じ瞬間に、２つの画像化センサを用いて２枚の画像をキャプチャしうる。マスタ制御モジュール２７５は、次いで、画像の基準焦点距離を決定するために、焦点距離決定モジュール２６５内のサブルーチンを呼び出しうる。マスタ制御モジュール２７５は、次いで、基準焦点距離に基づいて較正行列を調整するために、較正行列調整モジュール２６５内のサブルーチンを呼び出しうる。マスタ制御モジュール２７５は、次いで、較正行列を非基準画像に適用して第１の画像および第２の画像の焦点距離が同等になるように調整するために、投影訂正モジュール２７０内のサブルーチンを呼び出しうる。
【００５３】
[0053]  マスタ制御モジュール２７５は、また、記憶装置２１０のような安定した不揮発性記憶装置に、較正行列のような較正データを記憶しうる。この較正データは、立体画像ペアを調整するために使用されうる。
【００５４】
[0054]  図３は立体画像ペアを調整するためのプロセスの１つの実施形態のフローチャートである。プロセス３００は、図２のデバイス１００に例示される１つまたは複数のモジュールに含まれる命令によってインプリメントされうる。プロセス３００は、開始スブロック３０５において開始し、次いで、第１の画像が第１の画像化センサを用いてキャプチャされる処理ブロック３１０に移動する。プロセス３００は、次いで、第２の画像が第２の画像化センサを用いてキャプチャされる処理ブロック３１５に移動する。処理ブロック３１０および／または処理ブロック３１５は、図２に例示されるセンサ制御モジュール３３５に含まれる命令によって行われうる。いくつかのインプリメンテーションにおいて、第１の画像化センサは、第２の画像化センサよりも高い解像度でありうる。これらのインプリメンテーションにおいて、第１の画像は、また、第２の画像よりも高い解像度であるであろう。
【００５５】
[0055]  プロセス３００は、次いで、内部パラメータが決定される処理ブロック３２０に移動する。内部パラメータは、第１の画像化センサおよび第２の画像化センサの解像度および視野を含みうる。処理ブロック３２０は、図２に例示される内部パラメータ決定モジュール２４５に含まれる命令によって行われうる。
【００５６】
[0056]  プロセス３００は、次いで、外部パラメータが決定される処理ブロック３２５に移動する。外部パラメータは、第２の画像化センサの位置と比較した時の第１の画像化センサの相対的な位置に関連したパラメータを含みうる。例えば、Ｘ、Ｙ、またはＺ軸に関連するオフセットは、処理ブロック３２５において決定されうる。Ｘ（ピッチ）、Ｙ（ヨー）、またはＺ（ロール）軸についての相対的な回転もまた、処理ブロック３２５において決定されうる。処理ブロック３２５は、図２に例示される外部パラメータ決定モジュール２５０に含まれる命令によって行われうる。
【００５７】
[0057]  プロセス３００は、次いで、基準画像化センサの正規化焦点距離が、所与の焦点設定で決定される処理ブロック３３０に移動する。基準画像化センサは、第１の画像化センサまたは第２の画像化センサでありうる。基準画像化センサではない画像化センサは、非基準画像化センサとして説明されうる。正規化焦点距離が、第１の画像または第２の画像を解析することによって決定されうる。焦点距離を推定するために、キーポイントの３次元座標が、その２次元画像における対応するキーポイントの座標と比較されうる。３ｄおよび２ｄ座標は、次いで、行列によって関係づけられうる。１つの実施形態において、行列は３×４行列でありうる。この行列は焦点距離をカプセル化する。処理ブロック３３０は、図２に例示される焦点距離決定モジュール２６０に含まれる命令によって行われうる。
【００５８】
[0058]  プロセス３００は、次いで、較正行列が処理ブロック３３０において決定された正規化焦点距離に基づいて調整される、ブロック３３５に移動する。処理ブロック３３５は、図２に例示される較正行列調整モジュール２６５に含まれる命令によって行われうる。
【００５９】
[0059]  プロセス３００は、次いで、非基準画像が較正行列に基づいて調整される処理ブロック３４０に移動する。非基準画像は、非基準画像化センサによって生成されうる。例えば、第１の画像化センサが基準画像化センサである場合、第２の画像化センサは非基準画像化センサでありうる。この例において、第２の画像は非基準画像である。処理ブロック３４０は、図２に例示される投影訂正モジュール２７０に含まれる命令によって行われうる。プロセス３００は、次いで、終了ブロック３４５に移動する。
【００６０】
[0060]  図４Ａは、センサコントローラと第１および第２の画像化センサとのブロック図である。示されるように、画像化アプリケーション４０５は、センサコントローラ２１８に画像化コマンドを送る。センサコントローラ２１８は、３本の通信ライン４１０、４２０、および４３０を介して、第１の画像化センサ２１５および第２の画像化センサ２１６と通信している。いくつかのインプリメンテーションにおいて、画像化アプリケーション４０５は、第１の画像化センサ２１５および第２の画像化センサ２１６を用いて２枚の画像をキャプチャするようにセンサコントローラ２１８に要求するコマンドを送りうる。１つの実施形態において、センサコントローラ２１８は、それ自体のＩ２Ｃアドレスと、それ自体の構成を有しうる。センサコントローラ２１８の構成（図示せず）は、書き込み可能でありうる。例えば、画像化アプリケーション４０５は、センサコントローラ２１８の構成を更新しうる。代替的に、システムプロセスのような別のアプリケーション（図示せず）は、センサコントローラ２１８の構成を更新しうる。画像化アプリケーション４０５は、また、第１の画像化センサ２１５または第２の画像化センサ２１６から画像化データを読み取るように要求するコマンドをセンサコントローラ２１８に送りうる。
【００６１】
[0061]  第１の画像化センサ２１５および第２の画像化センサ２１６は、異なる設計でありうる。例えば、いくつかのインプリメンテーションにおいて、第１の画像センサ２１５の解像度は、第２の画像センサ２１６の解像度よりも高いこともある。第１の画像化センサおよび第２の画像化センサは、また、異なる水平消去時間を有しうる。
【００６２】
[0062]  通信ラインの第１のペア（４１０、４２０）は、センサコントローラ２１８と第１の画像化センサ２１５との間の通信を提供する。通信ラインの第２のペア（４１０、４２０）は、センサコントローラ２１８と第２の画像化センサ２１６との間の通信を提供する。第１の画像化センサ２１５および第２の画像化センサ２１６は、センサコントローラ２１８と通信するときに、異なるＳＤＡラインを使用する。第１の画像化センサ２１５は、センサコントローラ２１８と通信するためにＳＤＡ１ライン４２０を使用するが、一方で、第２の画像化センサ２１６は、センサコントローラ２１８と通信するときにＳＤＡ２ライン４３０を使用する。第１の画像化センサ２１５および第２の画像化センサ２１６の両方は、センサコントローラ２１８と通信するときに、同じ「ＳＣＬ」ライン４１０を共有する。いくつかのインプリメンテーションにおいて、通信ラインの第１または第２のペアは、センサコントローラと画像化センサとの間にＩ２Ｃプロトコルをインプリメントするために使用されうる。
【００６３】
[0063]  例示された通信アーキテクチャを用いると、センサコントローラ２１８は、第１の画像化センサ２１５および第２の画像化センサ２１６に異なるコマンドを送ることができる。異なるコマンドは、異なるＳＤＡラインであるＳＤＡ１（４２０）とＳＤＡ２（４３０）を使用して送られうる。第１の画像化センサ２１５および第２の画像化センサ２１６の両方がＳＣＬラインを共有するため、２つのコマンドが実質的に同時に２つの画像化センサに伝達されることができる。これは、いくつかのインプリメンテーションにおいて、２つのセンサ間のスキューの差を減少させうる。
【００６４】
[0064]  図４Ｂはセンサコントローラのブロック図である。１つの実施形態において、センサコントローラ２１８はＩ２Ｃルータでありうる。センサコントローラ２１８は、ＳＣＬライン４８０およびＳＤＡライン４８２上でコマンドを受信しうる。例えば、センサコントローラ２１８は、ＳＣＬライン４８０および（１つまたは複数の）ＳＤＡライン４８２上で、画像化アプリケーション４０５のような画像化アプリケーションからコマンドを受信しうる。センサコントローラ２１８は、次いで、ＳＣＬライン４８４、（１つまたは複数の）ＳＤＡ１ライン４８５、および（１つまたは複数の）ＳＤＡ２ライン４８６上で、少なくとも２つの画像化センサにコマンドを送信および受信しうる。
【００６５】
[0065]  図４Ｃは、開示されるＩ２Ｃルータの実施形態を使用して非対称画像化センサへの２つのコマンドの送信を例示するタイミング図である。時間４６５において、センサコントローラコマンド４９０が、センサコントローラ２１８によって受信される。コマンド４９０は、ＳＣＬライン４８０およびＳＤＡライン４８２上で送られうる。実施形態において、そのコマンドは、どのコマンドが少なくとも２つの画像化センサに送られるべきかをセンサコントローラ２１８に示しうる。センサコントローラ２１８は、それを受信したらすぐにコマンドを処理しうる。それに応じて、センサコントローラ２１８が、（１つまたは複数の）ＳＣＬライン４８４、（１つまたは複数の）ＳＤＡ１ライン４８５、および（１つまたは複数の）ＳＤＡ２ライン４８６を使用して、１つまたは複数のコマンドを生成しうる。コマンド４９０の受信とその処理は、少なくとも２つの画像化センサにコマンドを送信する際の遅延を導入する。この遅延が、時間４５５によって表される。センサコントローラ２１８は、次いで、時間期間４７０および４６０の間に、それぞれ、第１の画像化センサへのコマンド４９５および第２の画像化センサへのコマンド４９８を送る。センサコントローラ２１８が、少なくとも２つの画像化センサを制御するために少なくとも２つのＳＤＡラインをインプリメントするので、第１の画像化センサへのコマンド４９５および第２の画像化センサへのコマンド４９８が実質的に並列に送られうることに留意されたい。第２の画像化センサへのコマンド４９８が、第１の画像化センサのためのコマンド４９５よりも長いので、第１の画像化センサにコマンドを送るために使用されるＳＤＡ１ラインよりも長い期間の間、ＳＤＡ２ラインが使用中である。
【００６６】
[0066]  図４Ｃのタイミング図において、全く同時にコマンドが各画像化センサに送られることができる。１つの実施形態において、両方のコマンドが同じクロックラインを利用しうる。１つの実施形態において、カメラの同期がループを閉じることなく行われうる。１つの実施形態において、予測可能な行動を有するオープンループシステムが利用される。１つの実施形態において、プログラムシーケンスが、各時間センサが開始される同様の手法で送られる。
【００６７】
[0067]  図５は、共有ＳＣＬラインを使用して２つの画像化センサに２つの異なるコマンドを送るプロセスの１つの実施形態を例示するフローチャートである。プロセス５００は、図２および図４Ａに例示されるセンサコントローラ２１８によってインプリメントされうる。他のいくつかのインプリメンテーションにおいて、プロセス５００は、図２に例示されるセンサコントローラモジュール２３５によってインプリメントされうる。プロセス５００は、開始ブロック５０５において開始し、次いで、第１の画像化センサ用の第１のコマンドが受信される処理ブロック５１０に移動する。プロセス５００は、次いで、第２の画像化センサ用の第２のコマンドが受信される処理ブロック５１５に移動する。プロセス５００は、次いで、符号化すべき第１のコマンドの部分および符号化すべき第２のコマンドの部分が決定される、処理ブロック５２０に移動する。第１のコマンド用に決定された部分または第２のコマンド用に決定された部分は、ヌルまたは空でありうる。例えば、コマンドがプロセス５００の前の繰り返し（以下参照）によって完全に符号化される場合、処理ブロック５２０においてコマンドの部分は符号化のために識別されない。
【００６８】
[0068]  プロセス５００は、次いで、処理ブロック５２０において決定された第１のコマンドの部分が第１のＳＤＡライン上で符号化される、処理ブロック５２５に移動する。第１のＳＤＡラインは、第１の画像化センサに動作可能に接続されうる。第１のコマンドがプロセス５００の前の繰り返し（以下参照）によって完全に符号化される場合、何回か繰り返す間は処理ブロック５２５において第１のコマンドの部分が符号化されないことに留意されたい。
【００６９】
[0069]  プロセス５００は、次いで、処理ブロック５２０において決定された第２のコマンドの部分が第２のＳＤＡライン上で符号化される、処理ブロック５２５に移動する。第２のＳＤＡラインは、第２の画像化センサに動作可能に接続されうる。第２のコマンドがプロセス５００の前の繰り返し（以下参照）によって完全に符号化される場合、何回か繰り返す間は処理ブロック５３０において第２のコマンドの部分が符号化されないことに留意されたい。
【００７０】
[0070]  プロセス５００は、次いで、ＳＣＬラインが、第１および第２のコマンドの部分を、第１および第２の画像化センサにそれぞれ伝搬するために使用される処理ブロック５３５に移動する。ＳＣＬラインは、第１および第２の画像化センサの両方に動作可能に接続されうる。プロセス５００は、次いで、符号化すべき第１のコマンドまたは第２のコマンドのいずれかの部分がさらにあるかが決定される、判断ブロック５４０に移動する。それら部分が符号化されないままである場合、プロセス５００は処理ブロック５２０に戻り、プロセス５００は繰り返す。第１および第２のコマンドの両方のすべての部分が、前に符号化された場合、プロセス５００は、終了ブロック５４５に移動して終了する。
【００７１】
[0071]  本技術は、多数の他の汎用または専用コンピューティングシステムの環境または構成で動作可能である。本発明との使用に適しうる周知のコンピューティングシステム、環境、および／または構成の例は、限定ではなく、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップのデバイス、マルチプロセッサシステム、プロセッサベースのシステム、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散型コンピューティング環境、等を含む。
【００７２】
[0072]  本明細書に使用されるように、命令は、システム中で情報を処理するための、コンピュータでインプリメントされるステップを指す。命令はソフトウェア、ファームウェア、またはハードウェアにインプリメントされることができ、システムのコンポーネントによって行われる任意のタイプのプログラムされたステップを含むことができる。
【００７３】
[0073]  プロセッサは、Ｐｅｎｔｉｕｍ（登録商標）プロセッサ、Ｐｅｎｔｉｕｍプロプロセッサ、８０５１プロセッサ、ＭＩＰＳ（登録商標）プロセッサ、Ｐｏｗｅｒ  ＰＣ（登録商標）プロセッサ、またはＡｌｐｈａ（登録商標）プロセッサのような、任意の従来の汎用のシングルチップまたはマルチチップのプロセッサでありうる。さらに、プロセッサは、デジタル信号プロセッサ、またはグラフィックプロセッサのような、任意の従来の専用プロセッサでありうる。プロセッサは、通常、従来のアドレスライン、従来のデータライン、および１つまたは複数の従来の制御ラインを有する。
【００７４】
[0074]  システムは、詳細に論じられたように、様々なモジュールから成る。当業者によって理解されることができるように、モジュールの各々が、様々なサブルーチン、手順、定義づけ命令文（definitional statement）、およびマクロを備える。モジュールの各々は通常、単一の実行可能なプログラムに別々にコンパイルおよびリンクされる。したがって、モジュールの各々の説明が、好ましいシステムの機能を説明するために、便宜上使用される。よって、モジュールの各々によって経験されるプロセスは、他のモジュールのうちの１つに任意に再分配され、単一のモジュールに共に組み合わされ、または、例えば、共有可能な動的リンクライブラリにおいて利用可能になりうる。
【００７５】
[0075]  システムは、Ｌｉｎｕｘ（登録商標）、ＵＮＩＸ（登録商標）、またはＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）のような様々なオペレーティングシステムに接続して使用されうる。
【００７６】
[0076]  システムは、Ｃ、Ｃ＋＋、ＢＡＳＩＣ、Ｐａｓｃａｌ、またはＪａｖａ（登録商標）のような、任意の従来のプログラミング言語で書き込まれ、従来のオペレーティングシステムの下で実行されうる。Ｃ、Ｃ＋＋、ＢＡＳＩＣ、Ｐａｓｃａｌ、Ｊａｖａ、およびＦＯＲＴＲＡＮは、多くの商業コンパイラが実行可能なコードを作り出すために使用されることができる、工業規格のプログラミング言語である。システムは、また、Ｐｅｒｌ、Ｐｙｔｈｏｎ、またはＲｕｂｙといった、インタープリタ型言語を使用して書き込まれうる。
【００７７】
[0077]  当業者はさらに、本明細書に開示された実施形態と関連して説明された様々な例示的な論理ブロック、モジュール、回路、アルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、またはその両方の組み合わせとしてインプリメントされうることを理解するであろう。ハードウェアおよびソフトウェアの互換性を明確に例示するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、それらの機能の観点から上で概して説明されている。そのような機能が、ハードウェアとしてインプリメントされるか、ソフトウェアとしてインプリメントされるかは、特定のアプリケーションおよびシステム全体に課せられる設計制約に依存する。当業者は、特定の各アプリケーションについて、説明された機能を多様な方法でインプリメントすることができるが、そのようなインプリメンテーションの判断は、本開示の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
【００７８】
[0078]  本明細書に開示された実施形態と関連して説明される様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）、または他のプログラム可能論理デバイス、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、あるいは、本明細書に説明された機能を実行するように設計されたこれらの任意の組み合わせを用いてインプリメントまたは実行されうる。汎用プロセッサはマイクロプロセッサでありうるが、代替的に、このプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンでありうる。プロセッサは、また、例えば、ＤＳＰとマクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアに連結した１つまたは複数のマイクロプロセッサ、または他の任意のそのような構成といった、コンピューティングデバイスの組み合わせとしてインプリメントされうる。
【００７９】
[0079]  １つまたは複数の例示的な実施形態において、説明された機能および方法は、プロセッサ上で実行されるファームウェア、ソフトウェア、またはハードウェア、あるいはこれらの任意の組み合わせにインプリメントされうる。ソフトウェアにインプリメントされる場合、これら機能は、コンピュータ可読媒体上で、１つまたは複数の命令またはコードとして送信または記憶されうる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体とコンピュータ記憶媒体との両方を含む。記憶媒体は、コンピュータによってアクセスされることができる任意の利用可能な媒体でありうる。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭあるいは他の光ディスク記憶装置、磁気ディスク記憶装置あるいは他の磁気記憶デバイス、または、命令あるいはデータ構造の形態で所望のプログラムコードを記憶または搬送するために使用されることができ、およびコンピュータによってアクセスされることができる、任意の他の媒体を備えることができる。また、任意の接続は、コンピュータ可読媒体と適切には称される。例えば、ソフトウェアが、ウェブサイト、サーバ、または、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者ライン（ＤＳＬ）、あるいは赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用する他の遠隔ソース、から送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。本明細書に使用される、ディスク（disk）およびディスク（disc）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、およびブルーレイ（登録商標）ディスクを含み、ディスク（disk）は通常、磁気的にデータを再生するが、ディスク（disc）は、レーザーを用いて光学的にデータを再生する。上記の組み合わせは、また、コンピュータ可読媒体の範囲内に含まれるべきである。
【００８０】
[0080]  前述の説明は、本明細書に開示されたシステム、デバイス、および方法の特定の実施形態を詳述する。しかしながら、前述のものがいかに詳細に本文に記載されていたとしても、システム、デバイス、および方法が、多くの手法で実現されうることが理解されるであろう。上でも述べられたように、本発明の特定の特徴または態様を説明するときに特定の用語を使用することが、その用語が関連付けられた技術の特徴または態様のいかなる特定の特徴を含むことに限定されるように、その用語が本明細書で再定義づけられることを暗に意味するように受け取られるべきではないことに留意すべきである。
【００８１】
[0081]  様々な修正および変更が、説明された技術の範囲から逸脱することなく行われうることが当業者によって理解されるであろう。そのような修正および変更は、本実施形態の範囲内に入るように意図されている。１つの実施形態に含まれる部分が、他の実施形態と入れ替え可能であり、表された実施形態からの１つまたは複数の部分が、任意の組み合わせで他の表された実施形態と含まれることができることもまた当業者によって理解されるであろう。例えば、本明細書に説明される、および／または図面に表される様々なコンポーネントのいずれも、組み合わせられうる、入れ替えられうる、または他の実施形態から除外されうる。
【００８２】
[0082]  本明細書における実質的に複数形および／または単数形のいかなる用語の使用に関して、当業者は、文脈および／またはアプリケーションに適切であるように、複数形から単数形に、および／または単数形から複数形に変換することができる。様々な単数形／複数形の置換えが、明確にするために、本明細書に明確に述べられうる。
【００８３】
[0083]  本明細書に使用される用語が、「オープン」な用語（例えば、「〜を含むこと」という用語は、「〜を含むがそれに限定されない」と解釈されるべきであり、「〜を有すること」という用語は、「少なくとも〜を有すること」と解釈されるべきであり、「〜を含む」という用語は、「〜を含むがそれに限定されない」と解釈されるべきである、等）として概して意図されることは、一般的に当業者によって理解されるであろう。導入された請求項の記載の特定の数が意図される場合、そのような意図はその請求項に明示的に記載されることになり、そのような記載がないときは、そのような意図が存在しないことが、当業者によってさらに理解されるであろう。例えば、理解の助けとして、以下の添付の特許請求の範囲は、請求項の記載を導入するために「少なくとも１つの」および「１つまたは複数の」という導入フレーズの使用を含みうる。しかしながら、そのようなフレーズを使用することは、請求項が「１つまたは複数の」または「少なくとも１つの」という導入フレーズと、「a」または「an」といった不定冠詞（例えば、「a」および／または「an」は通常、「少なくとも１つの」または「１つまたは複数の」を意味するように解釈されるべきである）とを含むときでも、不定冠詞「a」または「an」によって請求項の記載を導入することが、そのように導入された請求項の記載を含む任意の特定の請求項を、そのような記載しか含まない実施形態に限定することを暗に意味するように解釈されるべきではなく、同様のことが、請求項の記載を導入するために使用される指定冠詞の使用に当てはまる。さらに、導入された請求項の記載の特定の数が明示的に記載されていたとしても、当業者は、そのような記載が通常、少なくとも記載された数を意味するように解釈されるべきであることを認識するであろう（例えば、「２つの記載」という、他の修飾語を持たないわずかな記載は、通常、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、Ｂ、およびＣのうちの少なくとも１つ、等」に類似した慣用句が使用される場合、一般的に、そのような慣用句は、当業者がその慣用句（例えば、「Ａ、Ｂ、およびＣのうちの少なくとも１つを有するシステム」は、Ａ単体、Ｂ単体、Ｃ単体、Ａと共にＢ、Ａと共にＣ、Ｂと共にＣ、および／またはＡとＢとＣ、を有するシステムを含むがそれに限定されない、等）を理解しているだろうという意味で意図されている。「Ａ、Ｂ、またはＣのうちの少なくとも１つ、等」に類似した慣用句が使用される場合、そのような慣用句は、一般的に、当業者がその慣用句（例えば、「Ａ、Ｂ、またＣのうちの少なくとも１つを有するシステム」は、Ａ単体、Ｂ単体、Ｃ単体、Ａと共にＢ、Ａと共にＣ、Ｂと共にＣ、および／またはＡとＢとＣ、を有するシステムを含むがそれに限定されない、等）を理解しているだろうという意味で意図される。発明の詳細な説明、特許請求の範囲、または図面であれ、２つ以上の代替用語を提示する事実上離接的ないかなる語句および／またはフレーズは、その用語の１つ、その用語のいずれか、または両方の用語を含むという可能性を企図するように理解されるべきであることが、当業者によってさらに理解されるであろう。���えば、「ＡまたはＢ」というフレーズは、「Ａ」または「Ｂ」、あるいは「ＡおよびＢ」という可能性を含むように理解されるであろう。
【００８４】
[0084]  様々な態様および実施形態が本明細書に開示されてきたが、他の態様および実施形態が当業者にとっては明らかであろう。本明細書に開示された様々な態様および実施形態が、例示のためのものであり、限定するように意図されるものではない。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
立体画像化デバイスを較正する方法であって、
第１の解像度、内部パラメータの第１のセット、および外部パラメータの第１のセットを有する第１の画像センサを用いて関心シーンの第１の画像をキャプチャすることと、
前記第１の解像度とは異なる第２の解像度を有する第２の画像センサを用いて前記関心シーンの第２の画像をキャプチャすることと、ここにおいて、前記第２の画像センサは、内部パラメータの第２のセット、および外部パラメータの第２のセットを備え、前記第１の画像および前記第２の画像は立体画像ペアを備える、
前記第１のセンサの前記内部および外部パラメータに少なくとも部分的に基づいて、前記第１の画像センサの正規化焦点距離を決定することと、
前記正規化焦点距離に基づいて較正行列を調整することと、
前記立体画像化デバイスに前記較正行列を記憶することと
を備える、方法。
［Ｃ２］
前記較正行列が、前記第２の画像センサを用いて画像をキャプチャすることと、前記第２の画像センサの前記焦点距離が前記第１の画像センサの前記焦点距離と同等であるように調整を決定することとによって更新され、前記調整は前記較正行列に記憶される、Ｃ１に記載の方法。
［Ｃ３］
前記内部パラメータの第１のセットまたは前記内部パラメータの第２のセットが、解像度および視野を含む、Ｃ１に記載の方法。
［Ｃ４］
前記外部パラメータの第１のセットまたは前記外部パラメータの第２のセットが、カメラポーズパラメータを含む、Ｃ１に記載の方法。
［Ｃ５］
前記カメラポーズパラメータが、前記第１の画像センサと前記第２の画像センサとの間の、ヨー、ピッチ、およびロールのオフセットを含む、Ｃ４に記載の方法。
［Ｃ６］
前記第１の画像センサの前記解像度が、前記第２の画像センサの前記解像度よりも大きい、Ｃ１に記載の方法。
［Ｃ７］
正規化焦点距離を決定することが、前記第１の画像センサによってキャプチャされた第１の画像におけるキーポイントのセットを決定することを備える、Ｃ１に記載の方法。
［Ｃ８］
立体画像ペアを較正するための装置であって、
第１の解像度、第１の内部パラメータ、および第１の外部パラメータを有する第１の画像センサと、
前記第１の解像度とは異なる第２の解像度を有する第２の画像センサと、ここにおいて、前記第２の画像センサは、第２の内部パラメータおよび第２の外部パラメータを有する、
前記第１の画像センサおよび前記第２の画像センサに動作的に結合されたセンサコントローラと、
プロセッサと、
前記プロセッサに動作的に結合されたメモリと、
を備え、前記メモリは、
前記第１の画像センサを用いて関心シーンの第１の画像をキャプチャし、前記第２の画像センサを用いて前記関心シーンの第２の画像をキャプチャするように構成されたセンサ制御モジュールと、ここにおいて、前記第１の画像および前記第２の画像は、立体画像ペアを備える、
前記第１の内部および外部パラメータに少なくとも部分的に基づいて、前記第１の画像センサの正規化焦点距離を決定するように構成された焦点距離決定モジュールと、
前記装置における前記正規化焦点距離に基づいて較正行列を記憶するように構成された較正行列調整モジュールと
を記憶する、装置。
［Ｃ９］
前記較正行列に基づいて、前記第２の画像センサによってキャプチャされた第２の画像を調整するように構成された投影訂正モジュールをさらに備える、Ｃ８に記載の装置。
［Ｃ１０］
前記内部パラメータが解像度および視野を含む、Ｃ８に記載の装置。
［Ｃ１１］
前記外部パラメータがカメラポーズパラメータを含む、Ｃ８に記載の装置。
［Ｃ１２］
前記カメラポーズパラメータが、前記第１の画像センサと前記第２の画像センサとの間の、ヨー、ピッチ、およびロールのオフセットを含む、Ｃ１１に記載の装置。
［Ｃ１３］
前記第１の画像センサの前記解像度が、前記第２の画像センサの前記解像度よりも大きい、Ｃ８に記載の装置。
［Ｃ１４］
前記焦点距離決定モジュールが、前記第１の画像センサによってキャプチャされた第１の画像におけるキーポイントのセットを決定するように構成される、Ｃ８に記載の装置。
［Ｃ１５］
立体画像ペアをキャプチャするための装置であって、
第１の解像度、内部パラメータの第１のセット、および外部パラメータの第１のセットを有する第１の画像センサを用いて関心シーンの第１の画像をキャプチャするための手段と、
前記第１の解像度とは異なる第２の解像度を有する第２の画像センサを用いて前記関心シーンの第２の画像をキャプチャするための手段と、ここにおいて、前記第２の画像センサは、内部パラメータの第２のセット、および外部パラメータの第２のセットを備え、前記第１の画像および前記第２の画像は立体画像ペアを備える、
前記第１のセンサの前記内部および外部パラメータに少なくとも部分的に基づいて、前記第１の画像センサの正規化焦点距離を決定するための手段と、
前記正規化焦点距離に基づいて較正行列を調整するための手段と、
前記立体画像化デバイスに前記較正行列を記憶するための手段と
を備える、装置。
［Ｃ１６］
前記内部パラメータが解像度および視野を含む、Ｃ１５に記載の装置。
［Ｃ１７］
前記外部パラメータがカメラポーズパラメータを含む、Ｃ１６に記載の装置。
［Ｃ１８］
前記カメラポーズパラメータが、前記第１の画像センサと前記第２の画像センサとの間の、ヨー、ピッチ、およびロールのオフセットを含む、Ｃ１７に記載の装置。
［Ｃ１９］
プロセッサ命令を記憶した非一時的なコンピュータ可読媒体であって、
前記プロセッサ命令が、実行されたときに、
第１の解像度、内部パラメータの第１のセット、および外部パラメータの第１のセットを有する第１の画像センサを用いて関心シーンの第１の画像をキャプチャし、
前記第１の解像度とは異なる第２の解像度を有する第２の画像センサを用いて前記関心シーンの第２の画像をキャプチャし、ここにおいて、前記第２の画像センサは、内部パラメータの第２のセット、および外部パラメータの第２のセットを備え、前記第１の画像および前記第２の画像は、立体画像ペアを備える、
前記第１のセンサの前記内部および外部パラメータに少なくとも部分的に基づいて、前記第１の画像センサの正規化焦点距離を決定し、
前記正規化焦点距離に基づいて較正行列を調整し、
前記立体画像化デバイスに前記較正行列を記憶する
方法をプロセッサに行わせる、コンピュータ可読媒体。
［Ｃ２０］
前記内部パラメータが解像度および視野を含む、Ｃ１９に記載のコンピュータ可読媒体。
［Ｃ２１］
前記外部パラメータがカメラポーズパラメータを含む、Ｃ１９に記載のコンピュータ可読媒体。
［Ｃ２２］
前記カメラポーズパラメータは、前記第１の画像化センサと前記第２の画像化センサとの間の、ヨー、ピッチ、およびロールのオフセットを含む、Ｃ２１に記載のコンピュータ可読媒体。
［Ｃ２３］
前記第１の画像センサが、前記第２の画像センサよりも大きい解像度を有する、Ｃ１９に記載のコンピュータ可読媒体。
【図１】
0006367203.tif 000002
【図２】
0006367203.tif 000003
【図３】
0006367203.tif 000004
【図４Ａ】
0006367203.tif 000005
【図４Ｂ】
0006367203.tif 000006
【図４Ｃ】
0006367203.tif 000007
【図５】
0006367203.tif 000008