(57)【特許請求の範囲】
【請求項１】
第１被写界深度の範囲の少なくとも一部が重複する複数の撮像部により構成される第１撮像部群と、
前記第１被写界深度とは異なる第２被写界深度の範囲の少なくとも一部が重複する複数の撮像部により構成される第２撮像部群と、
前記第１撮像部群により取得される第１画像データ群及び前記第２撮像部群により取得される第２画像データ群のそれぞれについて、前記各撮像部群を構成する前記複数の撮像部の画角が重複する領域を算出し、該重複する領域において合焦している画像を選択する合焦画像選択部と、
前記第１画像データ群の中から前記合焦画像選択部によって選択された合焦している画像のデータを用いて、前記第１画像データ群の画像内の第１被写体までの距離を求め、前記第２画像データ群の中から前記合焦画像選択部によって選択された合焦している画像のデータを用いて、前記第２画像データ群の画像内の前記第１被写体とは異なる第２被写体までの距離を求める距離算出部と
を備え、
前記合焦画像選択部は、前記重複する領域を分割したサブ領域毎に、前記合焦している画像を選択し、
前記距離算出部は、前記サブ領域における前記各被写体までの距離を算出する
ことを特徴とする画像取得装置。
【請求項２】
前記第１撮像部群及び第２撮像部群を構成する前記複数の撮像部の焦点距離は同一であることを特徴とする請求項１に記載の画像取得装置。
【請求項３】
前記第１撮像部群における前記被写界深度の範囲と前記第２撮像部群における前記被写界深度の範囲とは重複しないことを特徴とする請求項１又は２に記載の画像取得装置。
【請求項４】
被写体までの距離を求める距離の範囲を設定する設定部と、
前記設定部で設定された前記距離の範囲に基づいて、前記第一撮像部群における前記第１被写界深度の範囲と前記第２被写界深度の範囲とを決定する決定部と
をさらに備えることを特徴とする請求項１乃至３のいずれか１項に記載の画像取得装置。
【請求項５】
前記サブ領域毎に被写体までの距離を求めるサブ領域か否かを判定する判定部をさらに備え、
前記距離算出部は、前記判定部で判定された被写体までの距離を求めるサブ領域について、該サブ領域における被写体までの距離を算出する
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像取得装置。
【請求項６】
前記判定部は、前記サブ領域におけるコントラスト値に基づいて、被写体までの距離を求めるサブ領域か否かを判定することを特徴とする請求項５に記載の画像取得装置。
【請求項７】
前記距離算出部で算出された前記第１被写体距離のデータ及び前記第２被写体距離のデータを用いて、各被写体までの距離を示す距離画像を生成する合成部をさらに備えることを特徴とする請求項１乃至６のいずれか１項に記載の画像取得装置。
【請求項８】
前記距離算出部は、前記各撮像部群により取得される各画像データ群に含まれる画像中の対応点を求めることによって、前記各被写体までの距離を求めることを特徴とする請求項１乃至７のいずれか１項に記載の画像取得装置。
【請求項９】
コンピューターを、請求項１乃至８のいずれか１項に記載の画像取得装置として機能させるためのプログラム。
【請求項１０】
第１被写界深度の範囲の少なくとも一部が重複する複数の撮像部により構成される第１撮像部群と、
前記第１被写界深度とは異なる第２被写界深度の範囲の少なくとも一部が重複する複数の撮像部により構成される第２撮像部群と、
を有する画像取得装置における画像処理方法であって、
前記第１撮像部群により取得される第１画像データ群及び前記第２撮像部群により取得される第２画像データ群のそれぞれについて、前記各撮像部群を構成する前記複数の撮像部の画角が重複する領域を算出し、該重複する領域において合焦している画像を選択するステップと、
前記第１画像データ群の中から前記選択するステップで選択された合焦している画像のデータを用いて、前記第１画像データ群の画像内の第１被写体までの距離を求め、前記第２画像データ群の中から前記選択するステップで選択された合焦している画像のデータを用いて、前記第２画像データ群の画像内の前記第１被写体とは異なる第２被写体までの距離を求めるステップと、
前記選択するステップでは、前記重複する領域を分割したサブ領域毎に、前記合焦している画像が選択され、
前記距離を求めるステップでは、前記サブ領域における前記各被写体までの距離が算出される
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多眼方式の撮像装置で取得された画像群から、距離画像を提供するための画像処理装置および画像処理方法、プログラムに関するものである。
【背景技術】
【０００２】
従来から、複数の光学系を用いて撮像された視点の異なる複数の画像に基づき、被写体とカメラ間の距離を計測する距離計測装置がある。被写体とカメラ間の距離を計測する方法として、ステレオカメラによって撮像された視差のある複数の画像を用いて、画像間の相関に基づくステレオマッチング処理が知られている。さらに、距離の計測精度を向上させるために、視点の異なる３枚以上の画像を使用して、距離計測する多眼方式のステレオマッチング処理が知られている（例えば、特許文献１参照。）。
【０００３】
また、異なる距離計測方式として、フォーカス位置をずらして撮像された複数の被写体画像に基づき、いわゆるコントラスト方式で主被写体とカメラの間の距離を測定する手法が知られている。これを複数の光学系を具備する多眼方式へ拡張して、主被写体とカメラ間の距離を求める手法も提案されている（例えば、特許文献２参照。）。この手法では、フォーカス位置が異なる複数の光学系を具備する撮像装置によって撮像された複数の被写体画像に基づき、コントラスト方式により主被写体までの距離計測がなされる。単眼方式の撮像装置でフォーカス位置を変更しながら複数の被写体画像を取得する方法に比べ、多眼方式による特許文献２の手法では、一回の撮影でフォーカス位置を変化させた複数枚の被写体画像を取得できる利点を有する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１９６８９１号公報
【特許文献２】特開２００９−２１６６００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１で提案される手法では、１）フォーカス位置と異なる画像領域では距離マップの解像度が低下、２）被写界深度を拡大すると距離推定の精度が悪化、という問題がある。前者の問題について、被写体が遠方にある場合など、レンズを駆動してフォーカス位置を調節してほぼピントがあった像を得るが、被写体が近くにある場合、ピントがぼけしまい解像力が低下した画像が撮像されてしまう。このようなピントがぼけた画像に基づいて距離測定を行うと、得られる距離画像の解像度が低下してしまう。後者の問題について、撮影系の被写界深度を拡大するために、レンズ径を小さくし、パンフォーカスの撮影を行うことが考えられるが、レンズ径を小さくすると、レンズへの入射光量が低下し、撮像された画像に含まれるノイズが多くなる。ノイズが多い撮像画像に基づいて距離計測を行うと距離の推定精度が悪化する問題点を有する。
【０００６】
また、特許文献２で提案される距離計測手法では、主被写体までの距離計測に限定されており、主被写体とは異なる位置にある背景がある場合、主被写体と背景を含む画像全体について距離計測を実現できない問題点がある。
【課題を解決するための手段】
【０００７】
本発明に係る画像取得装置は、第１被写界深度の範囲の少なくとも一部が重複する複数の撮像部により構成される第１撮像部群と、前記第１被写界深度とは異なる第２被写界深度の範囲の少なくとも一部が重複する複数の撮像部により構成される第２撮像部群と、前記第１撮像部群により取得される第１画像データ群及び前記第２撮像部群により取得される第２画像データ群のそれぞれについて、前記各撮像部群を構成する前記複数の撮像部の画角が重複する領域を算出し、該重複する領域において合焦している画像を選択する合焦画像選択部と、前記第１画像データ群の中から前記合焦画像選択部によって選択された合焦している画像のデータを用いて、前記第１画像データ群の画像内の第１被写体までの距離を求め、前記第２画像データ群の中から前記合焦画像選択部によって選択された合焦している画像のデータを用いて、前記第２画像データ群の画像内の前記第１被写体とは異なる第２被写体までの距離を求める距離算出部とを備え、前記合焦画像選択部は、前記重複する領域を分割したサブ領域毎に、前記合焦している画像を選択し、前記距離算出部は、前記サブ領域における前記各被写体までの距離を算出することを特徴とする。
【発明の効果】
【０００８】
本発明は、多眼方式の撮像装置で取得された画像群から、主被写体と背景を含む距離画像を提供する効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】複数の撮像部を備えた多眼方式の撮像装置の一例を示した図である。
【図２】多眼方式の撮像装置の内部構成を示すブロック図である。
【図３】撮像部の内部構成を示す図である。
【図４】実施形態１に係る画像処理部の内部構成を示すブロック図である。
【図５】実施形態１に係る画像処理部における処理の流れを示すフローチャートである。
【図６】実施形態１に係る合焦画像選択部の内部構成を示すブロック図である。
【図７】合焦画像選択処理の流れを示すフローチャートである。
【図８】領域分割の一例を示す図である。
【図９】重複領域算出処理の流れを示すフローチャートである。
【図１０】重複領域を漏れなく算出するまでのｍとｎの変遷過程の一例を示す図である。
【図１１】重複領域を説明する図である。
【図１２】全重複領域を説明する図である。
【図１３】実施形態１における重複領域（全重複領域）の一例を示す図である。
【図１４】コントラスト算出処理の流れを示すフローチャートである。
【図１５】画像選択処理の流れを示すフローチャートである。
【図１６】撮像画像と画像領域におけるコントラスト値の一例を示す図である。
【図１７】実施形態１に係る距離算出部の内部構成を示すブロック図である。
【図１８】距離算出部における処理の流れを示すフローチャートである。
【図１９】実施形態１に係る対応点探索処理の流れを示すフローチャートである。
【図２０】特徴点の探索処理の流れを示すフローチャートである。
【図２１】特徴点の探索処理を説明する図である。
【図２２】距離算出処理の流れを示すフローチャートである。
【図２３】撮像部の被写界深度の範囲の一例を示す図である。
【図２４】実施形態２に係る対応点探索処理の流れを示すフローチャートである。
【図２５】ブロックマッチング処理の流れを示すフローチャートである。
【図２６】ブロックマッチング処理を説明する図である。
【図２７】実施形態３に係る撮像部制御部の内部構成を示すブロック図である。
【図２８】実施形態３に係る撮像部制御部における処理の流れを示すフローチャートである。
【図２９】撮像のフォーカス位置と前方と後方の被写界深度の一例を示す図であう。
【図３０】実施形態３に係る撮像部の被写界深度の範囲の一例を示す図である。
【図３１】実施形態４に係る撮像部の内部構成を示す図である。
【発明を実施するための形態】
【００１０】
（実施形態１）
図１は、複数の撮像部を備えた多眼方式による撮像装置の一例を示した図である。１００は撮像装置の筐体を示す。筐体１００は、カラー画像を取得する９個の撮像部１０１〜１０９及び撮影ボタン１１０を備える。９個の撮像部は、正方格子状に均等に配置されている。ユーザが撮影ボタン１１０を押下すると、撮像部１０１〜１０９が備えるセンサ（撮像素子）によって、受光した被写体の光情報をＡ／Ｄ変換して、複数のカラー画像（デジタルデータ）を同時に取得することができる。このような多眼方式の撮像装置により、同一の被写体を複数の視点位置から撮像したカラー画像群を得ることができる。
【００１１】
なお、ここでは撮像部の数を９個としたが撮像部の数は９個に限定されない。撮像装置が複数の撮像部を有する限りにおいて本発明は適用可能である。
【００１２】
また、ここでは９個の撮像部が正方格子状に均等に配置される例について説明したが、撮像部の配置は任意である。例えば、放射状や直線状に配置してもよいし、まったくランダムに配置してもよい。
【００１３】
図２は、撮像装置１００の内部構成を示すブロック図である。２０１は中央処理装置（ＣＰＵ）であり、以下に述べる各部を統括的に制御する。
【００１４】
２０２はＲＡＭであり、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００１５】
２０３はＲＯＭであり、ＣＰＵ２０１で実行される制御プラグラム等を格納している。
【００１６】
２０４は各種データの転送経路となるバスである。例えば、撮像部１０１〜１０９によって取得されたデジタルデータはこのバス２０４を介して所定の処理部に送られる。
【００１７】
２０５はユーザの指示を受け取る操作部であり、ボタンやモードダイヤルなどが含まれる。
【００１８】
２０６は撮影画像や文字の表示を行う表示部であり、例えば、液晶ディスプレイが用いられる。表示部２０６はタッチスクリーン機能を有していても良く、その場合はタッチスクリーンを用いたユーザ指示を操作部２０５の入力として扱うことも可能である。
【００１９】
２０７は表示制御部２０７であり、撮影画像や文字を表示部２０６に表示させるように表示制御を行う。
【００２０】
２０８は撮像部制御部であり、被写体にフォーカスを合わせる、撮像のためにシャッターを開く又は閉じる、絞りを調節するなどの、ＣＰＵ２０１からの指示に基づいた撮像系の制御を行う。
【００２１】
２０９はデジタル信号処理部であり、バス２０４を介して受け取ったデジタルデータに対し、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などの各種処理を行う。
【００２２】
２１０はエンコーダ部であり、デジタルデータをＪＰＥＧやＭＰＥＧなどのファイルフォーマットに変換する処理を行う。
【００２３】
２１１は外部メモリ制御部であり、ＰＣやその他のメディア（例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ）に繋ぐためのインターフェースである。
【００２４】
２１２は画像処理部であり、撮像部１０１〜１０９で取得されたカラー画像群或いは、デジタル信号処理部２０８から出力されるカラー画像群から、距離を算出する処理を行う。画像処理部２１２の詳細については後述する。
【００２５】
なお、撮像装置の構成要素は上記以外にも存在するが、本件発明の主眼ではないので、説明を省略する。
【００２６】
図３（ａ）は、撮像部１０１〜１０９の内部構成を示す図である。撮像部１０１〜１０９はそれぞれ、レンズ３０１〜３０３、絞り３０４、シャッター３０５、光学ローパスフィルタ３０６、ｉＲカットフィルタ３０７、カラーフィルタ３０８、センサ３０９及びＡ／Ｄ変換部３１０を備える。なおレンズ３０１〜３０３は、より詳細には、ズームレンズ３０１、フォーカスレンズ３０２、ぶれ補正レンズ３０３から構成される。なお、撮像部１０１〜１０９における各フォーカスレンズは、光学系において撮像部ごとに異なる位置に設置されており、従って各撮像部のフォーカス位置が異なる距離になるように設定される。センサ３０９は、例えばＣＭＯＳやＣＣＤなどのセンサである。センサ３０９で被写体の光量を検知すると、検知された光量がＡ／Ｄ変換部３１０によってデジタル値に変換され、デジタルデータとなってバス２０４に出力される。
【００２７】
図３（ｂ）は、撮像部１０１〜１０３におけるフォーカスレンズ３０２が配置される位置の一例を示している。撮像部１０１におけるフォーカスレンズはよりセンサに遠い位置に配置されている。一方、撮像部１０３におけるフォーカスレンズはよりセンサに近い位置に配置されている。図示しない撮像部１０４から１０９のフォーカスレンズの位置も異なる位置に配置させている。
【００２８】
図２３は、フォーカス位置がそれぞれ異なる撮像部１０１〜１０９の被写界深度の範囲（ピントが合っていると判断できる範囲）の一例を示している。
【００２９】
図２３の左側には、撮像装置１００と被写体の位置関係を示す。図２３は、三種類の被写体（被写体１、被写体２、被写体３）が撮像装置から異なる位置に存在する場合につて説明するものである。図２３に示すように、被写体１が最も撮像部から近い位置にあり、被写体３が最も撮像部から遠い位置にある。
【００３０】
図２３の右側には、各撮像部の被写界深度の範囲と、各距離において被写界深度の範囲に入っている撮像部の台数とを示している。例えば、被写体１が存在する範囲Ａが、撮像部１０１と１０５の被写界深度に含まれるように、該撮像部のフォーカス位置が設定されている。また、被写体２が含まれる範囲Ｂが、撮像部１０２と１０６の被写界深度に含まれるように、該撮像部のフォーカス位置が設定されている。また、被写体３が存在する範囲Ｃが、撮像部１０３、１０８、１０９の被写界深度に含まれるように、該撮像部のフォーカス位置が設定されている。
【００３１】
本実施形態では、撮像部から被写体までの任意の距離において、少なくとも２台以上の撮像部の被写界深度が重複するように、各撮像部のフォーカス位置が設定されている。なお、図２３に示すように、全ての撮像部のフォーカス位置を完全に不一致にする必要はない。すなわち、複数の撮像部のフォーカス位置が一致する態様であっても構わない。
【００３２】
＜画像処理部の構成図＞
図４は、画像処理部２１２の内部構成を示したブロック図である。
【００３３】
４０１は画像取得部であり、撮像部１０１〜１０９からバス２０４を経由して供給されるカラー画像群を取得する。４０２はモノクロ変換部であり、画像取得部４０１から供給されるカラー画像群をモノクロ画像群に変換する。４０７はメモリ部であり、モノクロ画像変換部４０２から供給されるモノクロ画像群を一時的に格納する。４０３はパラメータ取得部であり、撮影時における撮像部１０１〜１０９の各種パラメータを取得する。なお、パラメータには、例えば、撮像部の焦点距離、絞り値（Fナンバー）、センササイズ、センサの画素数、ピント距離（主レンズとセンサの距離）、撮像部間の相対位置などが含まれる。４０４は合焦画像選択部であり、パラメータ取得部４０３から供給されるパラメータを用いて、メモリ部４０７に格納されるモノクロ画像からピントが合っている（以下、「合焦」と呼ぶ）画像を選択する。合焦画像選択部４０４の詳細については後述する。４０５は距離算出部であり、パラメータ取得部４０３から供給されるパラメータ、合焦画像選択部４０４で合焦と判断された画像、メモリ部４０７に格納されるモノクロ画像を用いて被写体までの距離を算出し出力する。距離算出部４０５の詳細については後述する。
【００３４】
次に、画像処理部２１２を構成する各部４０１−４０７による画像処理の詳細を説明する。
【００３５】
図５は、画像処理部２１２における画像処理の流れを示すフローチャートである。
【００３６】
ステップ５０１において、画像取得部４０１は、撮像部１０１〜１０９からカラー画像を受け取る。本実施形態では、撮像部は９個であるので、デジタルデータである９枚のカラー画像が入力される。
【００３７】
ステップ５０２において、モノクロ画像変換部４０２は、入力されたカラー画像をモノクロ画像に変換する。ステップ５０２では、カラー画像の各画素におけるＲＧＢ値を、ＲＧＢ値に応じた輝度値に変換する。
【００３８】
ステップ５０３において、メモリ部４０７は、モノクロ画像変換部４０２で変換されたモノクロ画像を格納し、一時的に保持する。
【００３９】
ステップ５０４において、パラメータ取得部４０３は、撮像部１０１〜１０９に関するパラメータを取得する。
【００４０】
ステップ５０５において、合焦画像選択部４０４は、取得したパラメータを使用して、モノクロ画像変換部４０２から供給されるモノクロ画像のうち、合焦している画像を選択する。
【００４１】
ステップ５０６において、距離算出部４０５は、取得したパラメータと合焦であると判断されたモノクロ画像を用いて被写体までの距離を算出する。
【００４２】
最後に、ステップ５０７において、距離算出部４０５で生成された距離データが出力されると、本処理は終了する。
【００４３】
このように、画像処理部２１２において画像処理を行うことで、精度の良い距離画像の提供が可能となる。
【００４４】
続いて、合焦画像の選択処理（Ｓ５０５）と距離算出処理（Ｓ５０６）の詳細について、順次説明する。
【００４５】
＜合焦画像選択部４０４の構成図＞
図６は、合焦画像選択部４０４の内部構成を示したブロック図である。
【００４６】
６０１は画像入力端子であり、メモリ部４０７に格納されているモノクロ画像のデジタルデータを入力する。６０２はパラメータ入力端子であり、パラメータ取得部４０３が取得したパラメータを入力する。６０３は重複領域算出部であり、パラメータ入力端子６０２から供給されるパラメータを使用して、各撮像部の画角が重複する領域（以下、「重複領域」と呼ぶ。）を算出する。６０４は領域分割部であり、重複領域算出部６０３で算出された画像内を複数のサブ領域に分割する。６０５はコントラスト算出部であり、領域分割部６０４で分割された各サブ領域画像内におけるコントラストを算出する。６０６は画像選択部であり、コントラスト算出部６０５で算出されたコントラスト値を使用して、分割されたサブ領域毎に合焦している画像を選択する。６０７は画像出力端子であり、分割された各サブ領域における合焦画像を出力する。
【００４７】
次に、合焦画像選択部４０４を構成する各部６０１−６０７によって行なわれる合焦画像を選択する選択処理の詳細を説明する。
【００４８】
図７は、合焦画像選択部４０４における処理の流れを示すフローチャートである。
【００４９】
ステップ７０１において、画像入力端子６０１は、メモリ部４０７に格納されているモノクロ画像を入力する。
【００５０】
ステップ７０２において、パラメータ入力端子６０２は、パラメータ取得部４０３が取得したパラメータを入力する。
【００５１】
ステップ７０３において、重複領域算出部６０３は、取得したパラメータを使用して、重複領域を算出する。なお、重複領域の算出方法の詳細については後述する。
【００５２】
ステップ７０４において、領域分割部６０４は、重複領域算出部６０３で算出された画像領域をＮｉ×Ｎｊのサブ領域に分割する。ここで、Ｎｉは縦方向の分割数を示す。また、Ｎｊは横方向の分割数を示す。
【００５３】
図８は、領域分割部６０４によって分割された画像の一例を示している。図８では、縦方向に６分割（Ｎｉ=６）、横方向に６分割（Ｎｊ=６）したときに、画像が分割数に応じて分割されている様子を示している。なお、分割する領域の個数（Ｎｉ，Ｎｊ）は縦横６分割（Ｎｉ＝Ｎｊ＝６）に限定する必要はない。６分割よりも分割数を多くしても良いし、少なくしても構わない。例えば、分割数を１６分割に増加させることや４分割に減少させることも構わない。更には、縦横方向の分割数を一致させる必要もない。例えば、縦方向は６分割のままで、横方向を１０分割にするなどしても構わない。
【００５４】
図７のフローチャートの説明に戻る。ステップ７０４で画像領域の分割処理が完了すると、ステップ７０５において、コントラスト算出部６０５は、各分割領域におけるコントラスト値を算出する。コントラスト値の算出方法の処理については後述する。
【００５５】
ステップ７０６において、画像選択部６０６は、コントラスト算出部６０５で算出されたコントラスト値を使用して、分割された領域毎に合焦している画像を選択する。合焦している画像の選択方法の処理については後述する。
【００５６】
最後に、ステップ７０７において、画像出力端子６０７が、分割された各領域において選択された合焦している画像を組み合わせた合焦画像を出力すると、本処理は終了する。
【００５７】
＜重複領域の算出処理＞
図７のフローチャートのステップ７０３で行われる重複領域の算出処理の詳細について説明する。図９は、重複領域算出処理の流れを示すフローチャートである。
【００５８】
まず、ステップ９０１において、重複領域算出部６０３は、パラメータ取得部４０３から、撮像部１０１〜１０９に関する前述のパラメータを受け取る。
【００５９】
ステップ９０２において、重複領域算出部６０３は、メモリ部４０７に格納された複数のモノクロ画像群から、重複領域を算出したい基準画像Ｉ（ｉ，ｊ，ｍ）を１つ選択する。ここで、（ｉ，ｊ）は画像上の座標位置を表す変数であり、ｍは初期値０から始まる基準画像の番号を示す変数である。ステップ９０２で選択される基準画像は最初に選択される基準画像あり、ここでは、Ｉ（ｉ，ｊ，０）の画像が選択される。
【００６０】
ステップ９０３において、重複領域算出部６０３は、基準画像と比較する参照画像Ｉ（ｉ，ｊ，ｎ）を１つ選択する。ここで、ｎは参照画像の番号を示す変数である。ステップ９０３で選択される参照画像は最初に選択される参照画像であり、ｎの初期値はｎ＝ｍ＋１に設定されているので、ここでは、ｍの初期値が０のため、Ｉ（ｉ，ｊ，１）の画像が選択される。
【００６１】
以下に述べるステップ９０７及びステップ９１１において、参照画像及び基準画像はそれぞれ更新されることになるが、Ｎ個の撮像部を有する多眼方式の撮像装置では、ｍの最大値はＮ−２、ｎの最大値はＮ−１となる。
【００６２】
図１０は、図１に示した９個の撮像部を有する撮像装置の場合に重複領域を漏れなく算出するまでのｍとｎの変遷過程を示したものである。例えば、ｍが初期値である０のとき、ｎは１〜８までの値をとり、実線ａ〜ｈで示される８つの組み合わせについて重複領域が算出される。そして、ｍが（９−２＝）７になるまでこの処理が繰り返される。既に取得した組み合わせについては重ねて重複領域を算出する必要がないため、ｍの値が大きくなるにつれて重複領域の算出対象となる組み合わせの数は１ずつ減っていき、ｍが７のときは破線ｉで示される１の組み合わせについてのみ重複領域が算出される。
【００６３】
図９のフローチャートの説明に戻る。ステップ９０４において、重複領域算出部６０３は、選択された基準画像Ｉ（ｉ，ｊ，ｍ）と参照画像Ｉ（ｉ，ｊ，ｎ）との重複領域を、入力されたパラメータに基づいて算出する。なお、処理開始直後の最初のステップ９０４では、基準画像（ｉ，ｊ，０）、参照画像（ｉ，ｊ，１）についての重複領域が算出される。
【００６４】
図１１の（ａ）〜（ｃ）は、ステップ９０４で算出される重複領域を説明する図である。説明を簡潔にするため、二次元平面に展開した模式図としている。同図の（ａ）及び（ｂ）において、基準画像は撮像部１０１で取得された画像（ｉ，ｊ，０）であり、参照画像は撮像部１０２で取得された画像（ｉ，ｊ，１）である。
【００６５】
図１１の（ａ）は、それぞれ同じスペックであるが合焦位置が異なるように設定されている撮像部１０１と撮像部１０２とが、ｘ方向に間隔ｌｘの幅で併置される様子を示している。（Ｓｘ，Ｓｙ）は、センサの（ｘ，ｙ）方向におけるサイズを示す。ｄｓは、撮像部のピント距離（主レンズとセンサとの間の距離）である。ｄobjは、仮想ピント位置（カメラとある仮想平面までの距離）である。点線で囲まれる領域はカメラの撮像範囲、すなわち画角であり、センササイズ（Ｓｘ，Ｓｙ）と焦点距離ｄｓによって決定される。［Ｐ10，Ｐ21］の線分が重複領域のｘ（横）方向の辺に当たる部分であり、その距離ｗｘは、式（１）によって求めることができる。
【００６６】
【数１】
0005762211.tif 000002
【００６７】
図１１の（ｂ）は、撮像部１０１で撮像された画像（撮像範囲）、撮像部１０２で撮像された画像（撮像範囲）、及び両画像の重複領域の一例を示している。［Ｐ10，Ｐ11，Ｐ12，Ｐ13］の四点で囲まれる領域が撮像部１０１の撮像範囲である。また、［Ｐ20，Ｐ21，Ｐ22，Ｐ23］の４点で囲まれる領域が撮像部１０２の撮像範囲である。そして、［Ｐ10，Ｐ21，Ｐ22，Ｐ13］の４点で囲まれる斜線領域が重複領域である。［Ｐ10，Ｐ21］の線分がセンサ面上における重複領域のｘ（横）方向の辺に相当し、その画素数ｎwは、式２によって求めることができる。
【００６８】
【数２】
0005762211.tif 000003
【００６９】
ここで、ｎxはセンサの横画素数である。
【００７０】
前述の通り、撮像部１０１と撮像部１０２はｘ方向に併置されているため、縦方向の重複範囲には、センサの縦画素数ｎyと同じ画素数分だけ含まれることになる。
【００７１】
図１１の（ｃ）は、二台のカメラがｙ方向に併置される場合における重複領域の一例を示している。ここでは、撮像部１０１で撮像された画像（撮像範囲）、撮像部１０４で撮像された画像（撮像範囲）、及び両画像の重複領域を示している。［Ｐ10，Ｐ11，Ｐ12，Ｐ13］の四点で囲まれる領域が撮像部１０１の撮像範囲であり、［Ｐ30，Ｐ31，Ｐ32，Ｐ33］の４点で囲まれる領域が撮像部１０４の撮像範囲である。そして、［Ｐ30，Ｐ31，Ｐ12，Ｐ13］の４点で囲まれる斜線領域が重複領域である。［Ｐ30，Ｐ13］の線分がセンサ面上における重複領域のｙ（縦）方向の辺に相当し、その画素数ｎhは、式３によって求めることができる。
【００７２】
【数３】
0005762211.tif 000004
【００７３】
ここで、ｎyはセンサの縦画素数である。
【００７４】
以上のようにして、ステップ９０４で基準画像と参照画像との重複領域が算出される。
【００７５】
ステップ９０５において、重複領域算出部６０３は、算出された重複領域のデータをメモリに格納する。
【００７６】
ステップ９０６において、重複領域算出部６０３は、全ての参照画像について重複領域の算出が完了したか否か、すなわち、ｎ＝Ｎ−１に到達したか否かを判定する。すべての参照画像について重複領域の算出が完了していれば、ステップ９０８に進む。一方、未処理の参照画像がある場合（ｎ＜Ｎ−１の場合）には、ステップ９０７に進む。ステップ９０７において、重複領域算出部６０３は、ｎの値をインクリメント（ｎ＝ｎ＋１）して、参照画像を更新し、ステップ９０４に戻る。
【００７７】
このようにして、ｎ＝Ｎ−１に到達するまで、ステップ９０４〜ステップ９０６の処理が繰り返される。ステップ９０８において、重複領域算出部６０３は、１の基準画像Ｉ（ｉ，ｊ，ｍ）について得られた重複領域のすべてが重なる共通の領域（以下、「全重複領域」と呼ぶ）を算出する。
【００７８】
図１２は、全重複領域を説明する図である。ここでは、説明の便宜上、３台の撮像部１０１、１０２、１０４の撮像領域についてしか示していないが、撮像部が９個あればその全ての撮像部における撮像領域に対応する全重複領域が求められることになる。
【００７９】
３台の撮像部１０１、１０２、１０４における重複領域は、図１１の（ｂ）及び（ｃ）で示したとおりであるので、この２つの重複領域が重なる領域、つまり［Ｐa，Ｐ31，Ｐ22，Ｐ13］の４点で囲まれる斜線領域がこの場合の全重複領域となる。
【００８０】
ステップ９０９において、重複領域算出部６０３は、上記のようにして得られた１の基準画像Ｉ（ｉ，ｊ，ｍ）に対する全重複領域のデータをメモリに格納する。
【００８１】
ステップ９１０において、重複領域算出部６０３は、全ての基準画像について全重複領域の算出が完了したか否か、すなわち、ｍ＝Ｎ−２に到達したか否かを判定する。すべての基準画像について全重複領域の算出が完了していれば、ステップ９１２に進む。一方、未処理の基準画像がある場合（ｍ＜Ｎ−２の場合）には、ステップ９１１に進む。ステップ９１１において、重複領域算出部６０３は、ｍの値をインクリメント（ｍ＝ｍ＋１）して、基準画像を更新し、ステップ９０３に戻る。このようにして、ｍ＝Ｎ−２に到達するまで、ステップ９０３〜ステップ９１０の処理が繰り返される。
【００８２】
ステップ９１２において、重複領域算出部６０３は、各基準画像に対する全重複領域を出力する。このようにして、図７のフローチャートのステップ７０３における重複領域算出処理が行われる。
【００８３】
なお、説明の都合上、図１１と図１２では、基準画像と参照画像の撮像範囲を図示したが、これは重複領域算出部６０３における重複領域の算出処理が、基準画像・参照画像となる撮像画像を実際に受け取った上でなされることを必ずしも意味しない。重複領域算出部６０３は、基準画像・参照画像となる撮像画像を実際に受け取った上で重複領域の算出処理を行ってもよいし、式１〜式３に示される重複領域算出に必要なパラメータのみを受け取って重複領域を算出する構成でも構わない。
【００８４】
図１３は、撮像部が９個ある場合に得られる重複領域（全重複領域）の一例を示している。図１３の（ａ）は、撮像部と被写体の関係を示しており、三種類の被写体（被写体１、被写体２、被写体３）が撮像部１０１〜１０３から異なる距離に離れた位置に存在している。被写体１が最も撮像部から近い位置にあり、被写体３が最も撮像部から遠い位置にある。図１３（ｂ）は、９個の撮像部１０１〜１０９で撮像された画像内における全重複領域をそれぞれ示している。点線で囲まれる領域が各撮像部における全重複領域であり、このように全重複領域を規定することにより、視点位置の異なる各撮影画像から同一の撮像領域が特定される。
【００８５】
＜コントラストの算出処理＞
図１４は、図７のステップ７０５におけるコントラスト算出処理の流れを示すフローチャートである。
【００８６】
まず、ステップ１４０１において、コントラスト算出部６０５は、重複領域算出部６０３で算出された、撮像部１０１〜１０９で撮像された各画像における重複領域に係る画像を入力する。
【００８７】
ステップ１４０２において、コントラスト算出部６０５は、領域分割部６０４で分割された画像領域に則り、コントラストを算出したい画像領域（ｉｉ，ｊｊ）を１つ選択する。ここで、（ｉｉ，ｊｊ）は分割領域の座標位置を表す変数である。図８で説明したように、領域分割部６０４は、画像を縦方向にＮｉ分割、横方向にＮｊ分割することから、変数ｉｉとｊｊは、ｉｉ＝［０，１，・・・，Ｎｉ−１］，ｊｊ＝［０，１，・・・，Ｎｊ−１］と変化する値である。ここでは、まず始めに（ｉｉ，ｊｊ）＝（０，０）の画像領域が選択される。
【００８８】
ステップ１４０３において、コントラスト算出部６０５は、コントラストを算出したい基準画像Ｉ（ｉ，ｊ，ｍ）を１つ選択する。ここで、（ｉ，ｊ）は画像上の座標位置を表す変数であり、ｍは初期値０から始まる基準画像の番号を示す変数である。また、コントラスト算出部６０５が使用する基準画像Ｉ（ｉ，ｊ，ｍ）は、画像入力端子６０１から供給されるモノクロ画像のうち、基準画像の番号ｍに対応するモノクロ画像のデジタルデータである。テップ１４０３で選択される基準画像は最初に選択される基準画像あり、ここでは、Ｉ（ｉ，ｊ，０）の画像が選択される。
【００８９】
ステップ１４０４において、コントラスト算出部６０５は、基準画像Ｉ（ｉ，ｊ，ｍ）における画像領域（ｉｉ，ｊｊ）内の各画素の値に基づいてヒストグラムを算出する。
【００９０】
ステップ１４０５において、コントラスト算出部６０５は、ステップ１４０４で算出されたヒストグラムに基づいて、画像領域（ｉｉ，ｊｊ）内におけるモノクロ画素値の最大値Ｉmax（ｉｉ，ｊｊ，ｍ）を取得する。ステップ１４０６において、コントラスト算出部６０５は、ステップ１４０４で算出されたヒストグラムに基づいて、画像領域（ｉｉ，ｊｊ）内におけるモノクロ画素値の最小値Ｉmin（ｉｉ，ｊｊ，ｍ）を取得する。ステップ１４０７において、コントラスト算出部６０５は、最大値Ｉmax（ｉｉ，ｊｊ，ｍ）と最小値Ｉmin（ｉｉ，ｊｊ，ｍ）を使用して、画像領域（ｉｉ，ｊｊ）における基準画像ｍのコントラスト値Ｃ（ｉｉ，ｊｊ，ｍ）を算出する。コントラスト値は式４によって求めることができる。
【００９１】
【数４】
0005762211.tif 000005
【００９２】
ステップ１４０８において、コントラスト算出部６０５は、全ての基準画像についてコントラスト値の算出が完了したか否か、すなわち、ｍ＝Ｎ−１に到達したか否かを判定する。すべての基準画像についてコントラスト値の算出が完了していれば、ステップ１４１０に進む。一方、未処理の基準画像がある場合（ｍ＜Ｎ−１の場合）には、ステップ１４０９に進む。
【００９３】
ステップ１４０９において、コントラスト算出部６０５は、ｍの値をインクリメント（ｍ＝ｍ＋１）して、基準画像を更新し、ステップ１４０４に戻る。このようにして、ｍ＝Ｎ−１に到達するまで、ステップ１４０４〜ステップ１４０８の処理が繰り返される。
【００９４】
ステップ１４１０において、コントラスト算出部６０５は、図８の画像領域のうち、縦方向ｉｉの画像領域で横方向の分割数Ｎｊに到達したか否かを、すなわちｊｊ＝Ｎｊに到達したか否かを判定する。横方向の分割数に到達していれば、ステップＳ１４１２に進む。一方、横方向の分割数Ｎｊに到達していない場合（ｊｊ＜Ｎｊ−１）には、ステップ１４１１に進む。
【００９５】
ステップ１４１１において、コントラスト算出部６０５は、横方向の画像領域の番号を示すｊｊの値をインクリメント（ｊｊ＝ｊｊ＋１）して、コントラスト値を算出する画像領域（ｉｉ，ｊｊ）を更新し、ステップ１４０３に戻る。このようにして、ｊｊ＝Ｎｊ−１に到達するまで、ステップ１４０４〜ステップ１４１０の処理が繰り返される。
【００９６】
ステップ１４１２において、コントラスト算出部６０５は、図８の画像領域のうち、横方向ｊｊの画像領域で縦方向の分割数Ｎｉに到達したか否かを、すなわちｉｉ＝Ｎｉに到達したか否かを判定する。縦方向の分割数に到達していれば、ステップＳ１４１４に進む。一方、縦方向の分割数Ｎｉに到達していない場合（ｉｉ＜Ｎｉ−１）には、ステップ１４１３に進む。ステップ１４１３において、コントラスト算出部６０５は、縦方向の画像領域の番号を示すｉｉの値をインクリメント（ｉｉ＝ｉｉ＋１）して、コントラスト値を算出する画像領域（ｉｉ，ｊｊ）を更新し、ステップ１４０３に戻る。このようにして、ｉｉ＝Ｎｉ−１に到達するまで、ステップ１４０４〜ステップ１４１２の処理が繰り返される。ステップ１４１４において、コントラスト算出部６０５は、コントラスト値Ｃ（ｉｉ，ｊｊ，ｍ）を出力する。このようにして、このようにして、図７のフローチャートのステップ７０５におけるコントラストの算出処理が行われる。
【００９７】
なお、本実施形態におけるコントラスト値の算出方法では式４を使用したが、その他のコントラスト算出方法でも構わない。例えば、コントラスト値を算出したい画像領域内のエッジをフィルタ処理などによって抽出し、そのエッジ成分の強度や総量などの評価値をコントラスト値として扱っても良い。画像のコンロラストや鮮鋭度を定量的に評価できる評価値であれば、その他の算出方法を使用しても構わない。
【００９８】
＜合焦画像選択処理＞
図１５は、図７のステップ７０６における合焦画像選択処理の流れを示すフローチャートである。
【００９９】
まず、ステップ１５０１において、画像選択部６０６は、コントラスト算出部６０５で算出されたコントラスト値Ｃ（ｉｉ，ｊｊ，ｍ）を入力する。
【０１００】
ステップ１５０２において、画像選択部６０６は、領域分割部６０３で分割された画像領域に則り、合焦画像を選択したい画像領域（ｉｉ，ｊｊ）を１つ選択する。ステップ１５０３において、画像選択部６０６は、合焦画像の枚数を示す値Ｎｃをゼロに設定する（Ｎｃ＝０）。
【０１０１】
ステップ１５０４において、画像選択部６０６は、選択された画像が合焦しているか否かを判定するための閾値Ｔｈに対して初期値を設定する。閾値Ｔｈは予めユーザーが設定しても構わない。本実施形態では、閾値の初期値をＴｈ＝０．６に設定する。
【０１０２】
ステップ１５０５において、画像選択部６０６は、画像が合焦しているか否かを判定する対象となる基準画像ｍを１つ選択する。
【０１０３】
ステップ１５０６において、画像選択部６０６は、基準画像ｍの画像領域（ｉｉ，ｊｊ）におけるコントラスト値Ｃ（ｉｉ，ｊｊ，ｍ）が閾値Ｔｈよりも大きいか否かを判定する。コントラスト値が閾値よりも大きい場合（Ｃ（ｉｉ，ｊｊ，ｍ）＞Ｔｈ）、つまり、画像領域（ｉｉ，ｊｊ）において基準画像ｍが合焦となっていると判断されると、ステップ１５０７に進む。一方、コントラスト値が閾値以下の場合には、ステップ１５０９に進む。
【０１０４】
ステップ１５０７において、画像選択部６０６は、合焦画像の枚数を示す値Ｎｃをインクリメント（Ｎｃ＝Ｎｃ＋１）する。
【０１０５】
ステップ１５０８において、画像選択部６０６は、ステップ１５０６で合焦していると判断された基準画像ｍの番号を保持する。
【０１０６】
ステップ１５０９において、画像選択部６０６は、全ての基準画像についてコントラスト値と閾値との比較が完了したか否か、すなわち、ｍ＝Ｎ−１に到達したか否かを判定する。すべての基準画像についてコントラスト値と閾値との比較が完了していれば、ステップ１５０５に進む。一方、未処理の基準画像がある場合（ｍ＜Ｎ−１の場合）には、ステップＳ１５１０に進む。ステップ１５１０において、画像選択部６０６は、ｍの値をインクリメント（ｍ＝ｍ＋１）して、基準画像を更新し、ステップ１５０６に戻る。
【０１０７】
このように処理することにより、ｍ＝Ｎ−１に到達するまで、ステップ１５０６〜ステップ１５０９の処理が繰り返される。
【０１０８】
ステップ１５１１において、画像選択部６０６は、合焦と判断された画像枚数Ｎｃが複数あるか否かを判定する。合焦画像が複数枚ある場合（Ｎｃ＞１）には、ステップ１５１３に進む。一方、合焦画像が複数枚ないと判定された場合には、ステップ１５１２に進む。
【０１０９】
ステップ１５１２において、画像選択部６０６は、閾値Ｔｈの値を変更する。ステップ１５１２での閾値Ｔｈの変更では、閾値Ｔｈを小さくする方向に値を変更する。ここで、閾値Ｔｈを小さくするように変更した後、ステップ１５０５〜ステップ１５１１の処理が繰り返される。このようにして、画像選択部６０６は、画像領域（ｉｉ，ｊｊ）においてコントラスト値が高い画像から、複数枚の合焦画像を得ることが可能となる。
【０１１０】
ステップ１５１３からステップ１５１６は、図１４で説明した、コントラスト算出部６０５における処理の流れを示すフローチャートのステップ１４１０からステップ１４１３と同様であるため説明を省略する。
【０１１１】
最後に、ステップ１５１７において、画像選択部６０６は、各画像領域において合焦していると判断された画像の番号、すなわち合焦画像が撮影された撮像部との対応を出力する。このようにして、図７のフローチャートのステップ７０６における合焦画像の選択処理が行われる。
【０１１２】
図１６は、被写体１〜３を含むシーンの撮影画像と、画像領域Ａ、Ｂ、Ｃの三箇所におけるコントラスト値を示している。図１６（ａ）には、９台の撮像部のうち撮像部１０１〜１０３で撮像した撮像画像の一例を示している。
【０１１３】
撮影画像のうち点線で囲まれた領域が画像領域Ａ、Ｂ、Ｃに該当している。また、図１６（ｂ）には、撮像部１０１〜１０９で撮像した撮像画像について、画像領域Ａ、Ｂ、Ｃおけるコントラスト値を示している。
【０１１４】
例えば、画像領域Ａについて、撮像部１０１の撮像画像におけるコントラスト値は、図１６（ｂ）に示すように０．７８３である。同様に、撮像部１０２と撮像部１０３の撮像画像について、画像領域Ａのコントラスト値は０．３３３と０．５５２である。
【０１１５】
図１６（ａ）に記載されていない、撮像部１０４から撮像部１０９のコントラスト値は、図１６（ｂ）に示す通りとなっている。先にも述べたとおり、撮影画像のうち分割された画像領域において合焦しているか否かの判断は、このコントラスト値と閾値Ｔｈとの大小関係の比較に基づいている。なお、閾値Ｔｈは合焦画像の選択を左右するパラメータである。この閾値Ｔｈを比較的小さな値に設定すれば、合焦画像として選択される画像枚数は増加する。しかし、画像間の相関による距離推定を用いる本発明の場合には、フォーカスが不十分な画像が含まれることもあり、距離推定の精度が悪化する傾向が強くなる。一方、閾値Ｔｈを比較的大きな値に設定すると、合焦画像の選択において、十分なフォーカスを確保できる画像を選ぶことができるが選択される画像枚数が減少し、距離算出時におけるオクルージョン問題が発生する（オクルージョンについては後述する）。本実施形態では、これらのトレードオフを鑑みて、その閾値をＴｈ＝０．６と設定している。
【０１１６】
合焦画像選択部４０４は、閾値Ｔｈの値を超える撮像部１０１と撮像部１０５の撮影画像とが画像領域Ａにおける合焦画像であると判断される。その他の撮像部による撮影画像の画像領域Ａにおけるコントラスト値は閾値（Ｔｈ＝０．６）を下回るため、合焦画像選択部４０４は、撮像部１０２〜１０４、１０６〜１０９による撮像画像は画像領域Ａにおいて合焦していないと判断する。
【０１１７】
合焦画像選択部４０４は画像領域Ｂと画像領域Ｃについても同様の処理を行い、各画像領域において合焦画像を提供する撮像部で撮像された画像を選択する。画像領域Ｂにおいて、合焦画像選択部４０４は、撮像部１０２と１０６の２台の撮像部で撮像された画像を合焦画像として選択する。
【０１１８】
更に、画像領域Ｃにおいて、画像選択部４０４は、撮像部１０３、１０８、１０９の３台の撮像部で撮像された画像を合焦画像として選択する。この結果は、図２３で示した、被写体１〜３を被写界深度の範囲に含む撮像部と、合焦画像選択部４０４が合焦画像であると判断した撮像部とが一致していることが分かる。つまり、コントラスト値を使用することにより、距離算出に対して好適な合焦画像を選択することが可能となる。
【０１１９】
なお、説明を簡略化するため図１６では、三箇所の画像領域について説明したが、図１６で説明しなかった分割領域Ａ、Ｂ、Ｃ以外の分割領域についても、合焦画像選択部４０４は合焦画像の選択を実施する。
【０１２０】
＜距離算出部の構成図＞
図１７は、距離算出部４０５の内部構成を示したブロック図である。
【０１２１】
１７０１は合焦画像番号入力端子であり、合焦画像選択部４０４で選択された各分割領域における合焦画像の番号が入力されることになる。１７０２は画像領域選択部であり、後述する距離演算を実施したい画像領域を設定する。１７０３は画像入力端子であり、メモリ部４０７に格納されるモノクロ画像のデジタルデータが入力されることになる。１７０４は対応点探索部であり、画像入力端子１７０３から供給される複数のモノクロ画像における画像間の対応点を探索する。より具体的には、画像領域選択部１７０２で選択された画像領域において合焦画像選択部４０４が合焦していると判断した複数の合焦画像について、対応点探索部１７０４は、画像間における対応点を探索する。１７０５はパラメータ入力端子であり、パラメータ取得部４０３が取得したパラメータが入力されることになる。１７０６は距離演算部であり、対応点探索部１７０４の結果を使用して、被写体までの距離を演算する。１７０７は距離合成部であり、距離演算部１７０６で演算された各画像領域における距離データを合成し、空間的に広がりを持つ距離データ（以下、「距離画像」と呼ぶ）を生成する。１７０８は距離データの出力端子であり、距離合成部１７０７で合成された距離画像を出力する。
【０１２２】
次に、距離算出部４０５の上記各部によって行なわれる距離算出処理の詳細を説明する。
【０１２３】
図１８は距離算出部４０５における処理の流れを示すフローチャートである。
【０１２４】
まず、ステップ１８０１において、合焦画像番号入力端子１７０１は、合焦画像選択部４０４で選択された各分割領域における合焦画像の番号を入力する。
【０１２５】
ステップ１８０２において、画像領域選択部１７０２は、領域分割部６０３で分割された画像領域に則り、画像領域（ｉｉ，ｊｊ）を１つ選択する。ここで、（ｉｉ，ｊｊ）は分割領域の座標位置を表す変数である。
【０１２６】
ステップ１８０３において、画像入力端子１７０３から供給される複数のモノクロ画像における画像間の対応点を探索する。対応点探索処理の詳細については後述する。
【０１２７】
ステップ１８０４において、距離演算部１７０６は、パラメータ入力端子１７０５から供給されるパラメータと対応点探索部１７０４との結果を使用して被写体と背景までの距離を演算する。距離演算処理の詳細については後述する。
【０１２８】
ステップ１８０５からステップ１８０８までの処理は、図１４で説明した、コントラスト算出処理の流れを示すフローチャートのステップ１４１０からステップ１４１３と同様であるため説明を省略する。
【０１２９】
ステップ１８０９において、距離合成部１７０７は、距離演算部１７０６で距離算出されたデータを合成する。
【０１３０】
ステップ１８０９では、空間的に広がりを持つ距離画像として生成するために、各画像領域で算出された距離データを１つの距離データとして合成する。
【０１３１】
そして、ステップ１８１０において、距離データ出力端子１７０８が、距離合成部１７０７で合成された距離画像を出力すると、本処理は終了する。
【０１３２】
＜対応点探索処理＞
図１９は、図１８のフローチャートのステップ１８０３における対応点探索処理の流れを示すフローチャートである。
【０１３３】
対応点探索処理が開始すると、まず、ステップ１９０１において、対応点探索部１７０４は、画像領域（ｉｉ，ｊｊ）における合焦画像を入力する。
【０１３４】
ステップ１９０２において、対応点探索部１７０４は、メモリ部４０７に格納された複数のモノクロ画像群から、対応探索処理の際の基準となる基準画像Ｉ’（ｉ，ｊ，ｍｍ）を１つ選択する。（ｉ，ｊ）は画像上の座標位置を表す変数であり、ｍｍは初期値０から始まる基準画像の番号を示す変数である。ステップ１９０２で選択される基準画像は最初に選択される基準画像あり、ここでは、Ｉ（ｉ，ｊ，０）の画像が選択される。
【０１３５】
ステップ１９０３において、対応点探索部１７０４は、基準画像と比較する参照画像Ｉ（ｉ，ｊ，ｎｎ）を１つ選択する。ここで、ｎｎは参照画像の番号を示す変数である。ステップ１９０３で選択される参照画像は最初に選択される参照画像であり、ｎｎの初期値はｎｎ＝ｍｍ＋１に設定されているので、ここでは、Ｉ（ｉ，ｊ，１）の画像が選択される。以下に述べるステップ１９０７及びステップ１９０９において、参照画像及び基準画像はそれぞれ更新されることになる。合焦画像選択部４０４で選択されたＭ（ｉｉ，ｊｊ）個の合焦画像を有する場合では、ｍの最大値はＭ（ｉｉ，ｊｊ）−２、ｎの最大値はＭ（ｉｉ，ｊｊ）−１となる。
【０１３６】
ステップ１９０４において、対応点探索部１７０４は、画像領域（ｉｉ，ｊｊ）について、基準画像と参照画像の特徴点の対応探索処理を実施する。特徴点の対応探索処理の詳細については後述する。
【０１３７】
ステップ１９０５において、対応点探索部１７０４は、特徴点の対応探索の結果から得られる基準画像と参照画像との対応点の関係を保持する。
【０１３８】
ステップ１９０６において、対応点探索部１７０４は、全ての参照画像について対応点探索が完了したか否か、すなわち、ｎｎ＝Ｍ（ｉｉ，ｊｊ）−１に到達したか否かを判定する。すべての参照画像について対応点探索が完了していれば、ステップ１９０８に進む。一方、未処理の参照画像がある場合（ｎｎ＜Ｍ（ｉｉ，ｊｊ）−１の場合）には、ステップ１９０７に進む。
【０１３９】
ステップ１９０７において、対応点探索部１７０４は、ｎｎの値をインクリメント（ｎｎ＝ｎｎ＋１）して、参照画像を更新し、ステップ１９０４に戻る。このようにして、ｎｎ＝Ｍ（ｉｉ，ｊｊ）−１に到達するまで、ステップ１９０４からステップ１９０６の処理が繰り返される。ステップ１９０８において、対応点探索部１７０４は、全ての基準画像について対応点探索が完了したか否か、すなわち、ｍｍ＝Ｍ（ｉｉ，ｊｊ）−２に到達したか否かを判定する。すべての基準画像について対応点探索が完了していれば、ステップ１９１０に進む。一方、未処理の基準画像がある場合（ｍｍ＜Ｍ（ｉｉ，ｊｊ）−２の場合）には、ステップ１９０９に進む。
【０１４０】
ステップ１９０９において、対応点探索部１７０４、ｍｍの値をインクリメント（ｍｍ＝ｍｍ＋１）して、基準画像を更新し、ステップ１９０３に戻る。このようにして、ｍｍ＝Ｍ（ｉｉ，ｊｊ）−２に到達するまで、ステップ１９０３〜ステップ１９０８の処理が繰り返される。ステップ１９１０において、対応点探索部１７０４は、ステップ１９０５において保持された基準画像と参照画像との対応点の関係を出力する。このようにして、図１８のフローチャートのステップ１８０３における対応点探索処理が行われる。
【０１４１】
＜特徴点の対応探索処理＞
図２０は、図１９のフローチャートのステップ１９０４における特徴点の対応探索処理の流れを示すフローチャートである。
【０１４２】
まず、ステップ２００１において、対応点探索部１７０４は、基準画像と参照画像を入力する。
【０１４３】
ステップ２００２において、対応点探索部１７０４は、入力された基準画像に対して特徴点を抽出する。特徴点の抽出方法については、一般的に使用されるエッジ検出フィルタ処理を用いる。本実施形態ではエッジ検出フィルタとしてＳｏｂｅｌフィルタを使用する（特徴点の抽出に際しては、その他のエッジ検出フィルタを使用しても構わない。例えば、Ｒｏｂｉｎｓｏｎのエッジ検出フィルタを使用しても良い。更には、これらのエッジ検出フィルタを組み合わせた方法により特徴点を抽出しても構わない）。
【０１４４】
ステップ２００３において、対応点探索部１７０４は、対応点を探索するための注目画素の位置（ｉ，ｊ）を基準画像の中から設定する。
【０１４５】
ステップ２００４において、対応点探索部１７０４は、設定された注目画素を中心とした所定のブロック（差分値を求めるブロック）および該ブロックの中心位置（ｃｉ，ｃｊ）を参照画像において設定する。
【０１４６】
ステップ２００５において、対応点探索部１７０４は、基準画像に設定された中心位置（ｃｉ，ｃｊ）のブロックが特徴点の対応探索に際して有効なブロックか否かを判断する。有効ブロックの判断方法は、対応点探索部１７０４がステップ２００２で実施される特徴点の数をカウントし、その数が予め規定されている数よりも多い場合には、有効ブロックであると判断される。つまり、ステップ２００５では、多くの特徴点をブロック内に有するブロックが、対応点探索部１７０４により有効ブロックとして判定される。有効ブロックであると判定された場合には、ステップ２００６に進む。
【０１４７】
一方、ステップ２００５において、対応点探索部１７０４が、着目しているブロックが有効ブロックでないと判断した場合には、ステップ２００７に進む。
【０１４８】
ステップ２００６において、対応点探索部１７０４は、特徴点の対応探索を行う範囲を設定する。特徴点の対応探索を行う範囲は演算コストを考慮して任意の大きさに設定すればよいが、注目画素の位置（ｉ，ｊ）をその中に含むことが条件となる。一般的に、視差が大きい場合には特徴点の対応探索を行う範囲を大きく設定することが好ましく、逆に視差が小さい場合には特徴点の対応探索を行う範囲は小さくても足りる。より具体的には、基準画像と参照画像が、図１で示される撮像装置において、隣接する撮像部によって取得された画像である場合には、特徴点の対応探索を行う範囲を小さくすることが好ましい。逆に、基準画像と参照画像が空間的に離れた位置にある撮像部によって取得された画像である場合には、特徴点の対応探索を行う範囲を大きくすることが好ましい。
【０１４９】
図２１は、注目画素の位置（ｉ，ｊ）、参照画像に設定されたブロック、該ブロックの中心位置、および設定された特徴点の対応探索を行う範囲を示す図である。この場合においてブロックは、縦方向に２ｗｉ＋１画素、横方向に２ｗｊ＋１画素で確定される大きさであり、ｗｉ、ｗｊはそれぞれゼロ以上の整数値である。
【０１５０】
図２０のフローチャートの説明に戻る。ステップ２００７において、対応点探索部１７０４は、基準画像における注目画素の位置（ｉ，ｊ）に対応する点が参照画像には無いと判断する。ここで対応点が無いと判断された画素位置における距離データは、対応点の探索が成功した近傍画素から得られる距離データから補間処理によって求めることになる。距離データの補間処理については後述する。
【０１５１】
ステップ２００８において、対応点探索部１７０４は、設定されたブロックの範囲の基準画像と参照画像を用いて、差分値の平均値を計算する。式（５）は、ブロックの中心位置（ｃｉ，ｃｊ）における、差分値の平均値Ｅave（ｃｉ，ｃｊ，ｎｎ）を求める演算式である。
【０１５２】
【数５】
0005762211.tif 000006
【０１５３】
ここで、Ｉ’（ｉ，ｊ，ｍｍ）は基準画像における重複領域の画像、Ｉ’（ｉ，ｊ，ｎｎ）は参照画像における重複領域の画像を表している。ｍｍとｎｎはそれぞれ、基準画像と参照画像の番号を示す変数ある。
【０１５４】
ステップ２００９において、対応点探索部１７０４は、設定された特徴点の対応探索の範囲内における全てのブロックについて、差分値の平均値を求める処理が完了したか否かを判定する。すべてのブロックについて差分値の平均値を求める処理が完了していればステップ２０１１に進む。一方、未処理のブロックがある場合にはステップ２０１０に進む。
【０１５５】
ステップ２０１０において、対応点探索部１７０４は、ブロックの中心位置（ｃｉ，ｃｊ）を更新して、まだ差分値の平均値を求めていないブロック位置にブロック位置を変更する。ブロック位置を変更すると、ステップ２００８に戻る。
【０１５６】
ステップ２０１１において、対応点探索部１７０４は、差分値の平均値が最小となるブロックの中心位置（ｃｉ_ｍｉｎ，ｃｊ_ｍｉｎ）を求め、設定された特徴点の対応探索の範囲内において差分値の平均値が最小となるブロック位置を対応点として選択する。すなわち、基準画像ｍｍの画像位置（ｉ，ｊ）に対応する参照画像ｎｎでの画素位置は（ｃｉ_ｍｉｎ，ｃｊ_ｍｉｎ）として選択される。選択たれた対応点の結果は、
Ｅｉ（ｉ，ｊ，ｍｍ）＝｛ｎｎ，ｃｉ_ｍｉｎ｝
Ｅｊ（ｉ，ｊ，ｍｍ）＝｛ｎｎ，ｃｊ_ｍｉｎ｝
で構成される配列に保持する。Ｅｉ（ｉ，ｊ，ｍｍ）は、基準画像ｍｍの画素位置（ｉ，ｊ）における、参照画像ｎｎの縦方向における対応画素の位置ｃｉ_ｍｉｎを表す。同様に、Ｅｊ（ｉ，ｊ，ｍｍ）は、基準画像ｍｍの画素位置（ｉ，ｊ）における、参照画像ｎｎの横方向における対応画素の位置ｃｊ_ｍｉｎを表す。
【０１５７】
ステップ２０１２において、対応点探索部１７０４は、参照画像内の全ての画素について差分値の平均値を求める処理が完了したか否かを判定する。すべての画素について差分値の平均値を求める処理が完了していればステップ２０１３に進む。一方、未処理の画素がある場合にはステップ２０１４に進む。
【０１５８】
ステップ２０１４において、対応点探索部１７０４は、注目画素の位置（ｉ，ｊ）を更新して、まだ差分値の平均値を求めていない画素位置に注目画素の位置を変更する。注目画素の位置を変更すると、ステップ２００４に戻る。ステップ２０１３において、対応点探索部１７０４は、上記のようにして得られた基準画像と参照画像の対応点を出力すると、本処理は終了する。
【０１５９】
なお、本実施形態における特徴点の対応探索処理では、式５に示されるように、基準画像と参照画像の差分値の平均値に基づいて画像間の対応点を探索したが、その他の値を使用しても構わない。例えば、相関係数など、注目画素近傍における画像間の類似度を知り得る値であれば、対応点の探索時に使用しても構わない。
【０１６０】
＜距離算出部の構成図＞
図２２は、図１８のフローチャートのステップ１８０４における距離算出処理の流れを示すフローチャートである。
【０１６１】
まず、ステップ２２０１において、距離演算部１７０６は、対応点探索部１７０４で求められた対応点の結果を入力する。
【０１６２】
ステップ２２０２において、距離演算部１７０６は、パラメータ入力端子１７０５から供給されるパラメータを取得する。
【０１６３】
ステップ２２０３において、距離演算部１７０６は、距離算出の際の基準となる基準画像ｍｍを１つ選択する。ステップ２２０３で選択される基準画像は最初に選択される基準画像あり、ここでは、ｍｍ＝０の画像が選択される。
【０１６４】
ステップ２２０４において、距離演算部１７０６は、基準画像を比較する参照画像ｎｎを１つ選択する。ステップ２２０４で選択される参照画像は最初に選択される参照画像であり、ｎｎの初期値はｎｎ＝ｍｍ＋１に設定されているので、ここでは、ｎｎ＝１の画像が選択される。基準画像と参照画像の番号を表す値であるｍｍとｎｎの扱い方は、図１９で説明した対応点探索処理と同様であるため説明を省略する。
【０１６５】
ステップ２２０５において、距離演算部１７０６は、距離推定を行うための注目画素の位置（ｉ，ｊ）を基準画像の中から設定する。
【０１６６】
ステップ２２０６において、距離演算部１７０６は、注目画素の位置（ｉ，ｊ）において、基準画像と参照画像との間に対応点が有るか否かを判断する。対応画素があると判断された場合にはステップ２２０７に進む。
【０１６７】
ステップ２２０７において、距離演算部１７０６は、基準画像上での注目画素の位置（ｉ，ｊ）と、対応する参照画像の画素位置の画像上での距離Δｘ（ｉ，ｊ, ｍｍ，ｎｎ）を算出する。
【０１６８】
【数６】
0005762211.tif 000007
【０１６９】
ここで、（ｃｉ_ｍｉｎ，ｃｊ_ｍｉｎ）は、基準画像ｍｍの画素位置（ｉ，ｊ）に対応する、参照画像ｎｎ上での画素位置である。ステップ２２０８において、距離演算部１７０６は、画像上での距離Δｘ（ｉ，ｊ, ｍｍ, ｎｎ）を使用して、注目位置（ｉ，ｊ）における距離ｄ（ｉ，ｊ，ｍｍ, ｎｎ）を三角測量法により算出する。距離の算出方法は式（７）に従う。
【０１７０】
【数７】
0005762211.tif 000008
【０１７１】
ここで、ｄｓ（ｍｍ）は、基準画像ｍｍが取得される撮像部のピント距離である。ｌ（ｍｍ，ｎｎ）は、基準画像ｍｍが取得される撮像部と参照画像ｎｎが取得される撮像部とのカメラの間隔である。本実施形態では、ピントが異なる位置に設定された複数の撮像部により画像取得を行うため、個眼のピント距離が異なる。したがって、基準画像ｍｍに対応する距離算出の場合には、基準画像が取得された撮像部のピント距離であるｄｓ（ｍｍ）を使用している。一方、ステップ２２０６において、距離演算部１７０６が、基準画像の注目画素について参照画像内に対応画素が無いと判断した場合には、ステップ２００９に進む。
【０１７２】
ステップ２００９において、距離演算部１７０６は、注目画素の近傍にて算出された距離データを使用して、補間処理によって注目画素の位置における距離ｄ（ｉ，ｊ，ｍｍ，ｎｎ）を算出する。補間処理としては、線形補間やスプライン補間など、一般的に使用される補間処理で対応する。ステップ２２１０からステップ２２１３までの処理は、図１９の対応点探索処理のフローチャートにおけるステップ１９０６からステップ１９０９と同様であるため説明を省略する。ステップ２２１４において、距離演算部１７０６は、基準画像上の注目画素（ｉ，ｊ）における距離データの平均値ｄave（ｉ，ｊ）を求める演算式である。距離データの平均値の算出方法は、式（８）の通りである。
【０１７３】
【数８】
0005762211.tif 000009
【０１７４】
ここで距離データの平均値を求める理由は、距離データの精度を向上させるためである。複数の画像間の視差に基づいて距離算出を行う場合、前方にある被写体の遮蔽によって、ある撮像部で撮像される背景部が、別の撮像部では撮像されないという現象がある。この現象はオクルージョンと呼ばれている。このオクルージョンが発生する画像領域においては、画像間の対応点が得られず、正確な距離算出ができない問題が生じる。この問題を解決するためには、本実施形態で採用するような多眼方式の撮像装置を使用するなどして、撮像部の台数を増やし、オクルージョンが発生する画像領域を減らす必要がある。更には、様々な視点から計測された距離データを加味して、最終的な距離データを生成する手法が効果的である。その効果を得るため、式８に示すように、複数の撮像部から得られる距離データを平均化する。注目画素位置における距離データとしては、平均値以外にも、入力された複数の距離データの中央値などを採用しても構わない。最後に、ステップ２２１５において、距離演算部１７０６は、距離データｄave（ｉ，ｊ）を出力して、本処理を完了する。
【０１７５】
本実施形態では、図２に示すように、カラー画像の撮像部を複数有する多眼式の撮像装置によって得られるカラー画像による、距離画像の提供方法について言及した。撮像部１０１〜１０９の一部、或いは全部を、モノクロ画像を撮像する多眼式の撮像装置に変更しても差支えない。その場合には、図３のカラーフィルタ３０８、図４のモノクロ画像変換部４０２、図５のモノクロ画像への変換処理（ステップ５０２）を省略した構成となる。
【０１７６】
以上説明したように、本実施形態によれば、多眼方式の撮像装置で取得された画像群から、精度の高い距離画像を提供することが可能となる。
【０１７７】
（実施形態２）
実施形態１では、距離算出時に使用される対応点探索の処理は、距離算出に使用される基準画像において特徴点が存在する画素位置に対してのみ参照画像との対応点の探索を行っていた。次に、基準画像から特徴点を得ることなく参照画像との対応点の探索を行う態様について、実施形態２として説明する。なお、実施形態１と共通する部分については説明を簡略化ないしは省略し、ここでは差異点を中心に説明することとする。
【０１７８】
図２４は、本実施形態に係る対応点処理部１７０４における処理の流れを示すフローチャートである。ステップ２４０１から２４０３までの処理は、実施形態１に係る図１９のフローチャートにおけるステップ１９０１から１９０３と同様である。ステップ２４０４において、対応点処理部１７０４は、画像領域（ｉｉ，ｊｊ）について、基準画像と参照画像のブロックマッチング処理を実施する。ブロックマッチング処理の詳細については後述する。ステップ２４０６から２４１０までの処理は、実施形態１に係る図１９のフローチャートにおけるステップ１９０６から１９１０と同様である。
【０１７９】
＜ブロックマッチング処理＞
図２５は、図２４のフローチャートのステップ２４０４におけるブロックマッチング処理の流れを示すフローチャートである。
【０１８０】
ステップ２５０１において、対応点探索部１７０４は、基準画像と参照画像を入力する。ステップ２５０２において、対応点探索部１７０４は、入力された基準画像を複数のブロックに領域分割する。ステップ２５０３において、対応点探索部１７０４は、分割された複数のブロックの中から注目ブロックを設定する。
【０１８１】
図２６にはブロック分割された基準画像と注目ブロックの位置（ｂｉ，ｂｊ）を示している。基準画像に対するブロック分割は縦方向にＭｉ分割、横方向にＭｊ分割している。したがって、注目ブロックの位置を示す変数ｂｉとｂｊは、ｂｉ＝［０，１，・・・，Ｍｉ−１］、ｂｊ＝［０，１，・・・，Ｍｊ−１］と変化する変数である。対応点探索部１７０４は、最初に選択する注目ブロックを、ブロック分割された基準画像のうち左上のブロックを選択するので（ｂｉ，ｂｊ）＝（０，０）となる。
【０１８２】
図２５のフローチャートの説明に戻る。ステップ２５０４において、対応点探索部１７０４は、注目ブロックがブロックマッチングを行う範囲を設定する。図２１との特徴点の探索範囲を決定する場合と同様に、ブロックマッチングを行う範囲は演算コストを考慮して任意の大きさに設定すればよいが、注目ブロックの位置（ｂｉ，ｂｊ）をその中に含むことが条件となる。ステップ２５０５において、対応点探索部１７０４は、ブロックマッチング処理演算を行う注目画素の位置（ｃｉ，ｃｊ）を、ブロックマッチングを行う範囲に設定する。ステップ２５０５において、対応点探索部１７０４は、設定されたブロックの範囲の基準画像と参照画像を用いて、差分値の平均値を計算する。式（９）は、ブロックの中心位置（ｂｉ，ｂｊ）における、差分値の平均値Ｅave（ｂｉ，ｂｊ，ｎｎ）を求める演算式である。
【０１８３】
【数９】
0005762211.tif 000010
【０１８４】
ここで、Ｉ’（ｉ，ｊ，ｍｍ）は基準画像における重複領域の画像、Ｉ’（ｉ，ｊ，ｎｎ）は参照画像における重複領域の画像を表している。ｍｍとｎｎはそれぞれ、基準画像と参照画像の番号を示す変数ある。ステップ２５０９において、対応点探索部１７０４は、設定されたマッチング範囲内における全ての画素位置について、差分値の平均値を求める処理が完了したか否かを判定する。すべての画素位置について差分値の平均値を求める処理が完了していればステップ２５０８に進む。一方、未処理の画素位置がある場合にはステップ２５０７に進む。
【０１８５】
ステップ２５０７において、対応点探索部１７０４は、参照画像内に設定されたブロックマッチング範囲内において、差分値の平均値の算出が未処理の画素位置に注目画素の位置（ａ，ｂ）を変更する。注目画素の位置を変更すると、ステップ２５０５に戻り、ブロックマッチング範囲内における全ての画素について処理が完了するまで、ステップ２５０５、２５０６の処理を繰り返し行う。
【０１８６】
ステップ２５０８において、対応点探索部１７０４は、差分値の平均値が最小となる画素位置（ｃｉ_ｍｉｎ，ｃｊ_ｍｉｎ）を求め、設定されたブロックマッチングの範囲内において差分値の平均値が最小となるブロック位置を対応点として選択する。つまり、基準画像ｍｍのブロックの位置（ｂｉ，ｂｊ）に対応する参照画像ｎｎでの画素位置は（ｃｉ_ｍｉｎ，ｃｊ_ｍｉｎ）となる。選択たれた対応点の結果は、
Ｅｉ（ｂｉ，ｂｊ，ｍｍ）＝｛ｎｎ，ｃｉ_ｍｉｎ｝
Ｅｊ（ｂｉ，ｂｊ，ｍｍ）＝｛ｎｎ，ｃｊ_ｍｉｎ｝
で構成される配列に保持する。Ｅｉ（ｂｉ，ｂｊ，ｍｍ）は、基準画像ｍｍのブロック位置（ｂｉ，ｂｊ）における、参照画像ｎｎにおける縦方向の対応画素の位置ｃｉ_ｍｉｎを表す。同様に、Ｅｊ（ｂｉ，ｂｊ，ｍｍ）は、基準画像ｍｍの画素位置（ｉ，ｊ）における、参照画像ｎｎにおける横方向の対応画素の位置ｃｊ_ｍｉｎを表す。
【０１８７】
ステップ２５０９において、対応点探索部１７０４は、図２６で示される全てのブロックについて差分値の平均値を求める処理が完了したか否かを判定する。すべてのブロックについて差分値の平均値を求める処理が完了していればステップ２５１１に進む。一方、未処理のブロックがある場合にはステップ２５１０に進む。
【０１８８】
ステップ２５１０において、対応点探索部１７０４は、注目画素の位置（ｂｉ，ｂｊ）を更新して、まだ差分値の平均値を求めていないブロックに注目ブロックの位置を変更する。注目ブロックの位置を変更すると、ステップ２５０４に戻り、全てのブロックに対してブロックマッチング処理が完了するまでステップ２５０４〜２５０９までの処理を繰り返し行う。ステップ２５１１において、対応点探索部１７０４は、上記のようにして得られた基準画像と参照画像の対応点を出力すると、本処理は終了する。本実施形態のブロックマッチング処理では、ブロックマッチングで選択されたブロックの中心座標位置に対応する、参照画像上での探索点の探索は完了した。ブロックの中心座標以外の画素に対する対応点は、対応点がない画素として出力する。対応点がない画素については、実施形態１と同様に、距離演算部１７０６が、対応点の探索が完了している近傍画素の結果を用いて対応画素を求める。
【０１８９】
以上説明したように、本実施形態によれば、特徴点を得ることなく対応点の探索処理を行うので、画像処理部２１２で行う処理を簡略化できる。
【０１９０】
（実施形態３）
実施形態１乃２では、予めフォーカス位置が規定された複数の撮像部によって取得された撮影画像に基づき、距離画像を生成していた。次に、撮影対象の被写体の距離に応じて各撮像部のフォーカス位置を制御して距離画像を生成する態様について、実施形態３として説明する。なお、実施形態１或いは実施形態２と共通する部分については説明を簡略化ないしは省略し、ここでは差異点を中心に説明することとする。
【０１９１】
＜撮像部制御部の構成図＞
図２７は、撮影対象の被写体の距離に応じて各撮像部のフォーカス位置を制御するための撮像部制御部２０８に関する内部構成を示したブロック図である。
【０１９２】
２７０１は距離算出範囲取得部であり、バス２０４を経由して供給される距離算出範囲を取得する。距離算出範囲は、ユーザの指示によって操作部２０５から与えられる。２７０２はパラメータ取得部であり、撮影時における撮像部１０１〜１０９の各種パラメータを取得する。２７０３はフォーカス位置設定部であり、距離算出取得部で得られた距離算出範囲に基づき、各撮像部のフォーカス位置を設定する。２７０４は被写界深度演算部であり、パラメータ取得部２７０２から供給される撮像部の各種パラメータとフォーカス位置設定部２７０３で設定されたフォーカス位置とを使用して、各撮像部の被写界深度を演算する。２７０５はフォーカス位置制御部であり、フォーカス位置設定部２７０３で決定された結果に基づいて、各撮像部のフォーカス位置を制御する。
【０１９３】
本実施形態における画像処理部２１２の内部構成及び処理の流れは、実施形態１乃至実施形態２と同様であるため説明を省略する。
【０１９４】
図２８は撮像部制御部２０８における処理の流れを示すフローチャートである。ステップ２８０１において、パラメータ取得部２７０２は、撮像部１０１〜１０９に関する前述のパラメータを受け取る。
【０１９５】
ステップ２８０２において、距離算出範囲取得部２７０１は、距離算出を実施する距離算出範囲を取得する。本実施形態では、ユーザ指示に基づき１ｍ〜３ｍの被写体距離を距離算出する範囲として設定する。
【０１９６】
ステップ２８０３において、フォーカス位置設定部２７０３は、フォーカス位置を設定する撮像部を選択する。最初にフォーカス位置を設定する撮像部として撮像部１０１を選択する。
【０１９７】
ステップ２８０４において、フォーカス位置設定部２７０３は、ステップ２８０３で選択された撮像部に対して最初の被写体距離を設定する。ここでは、ステップ２８０２で取得された距離算出範囲において、最も前方の距離、つまり１ｍを最初の被写体距離として設定する。
【０１９８】
ステップ２８０５において、被写界深度演算部２８０４は、設定された被写体距離における前方の被写界深度と後方の被写界深度を計算する。式１０は、前方の被写界深度ｄｆの算出式、式１１は、後方の被写界深度ｄｂの算出式を示す。
【０１９９】
【数１０】
0005762211.tif 000011
【０２００】
【数１１】
0005762211.tif 000012
【０２０１】
ここで、ｆは撮像部の焦点距離、Ｆは撮像部のＦナンバーである。εは許容錯乱円の直径である。ｄobjは撮像部から被写体までの距離である。焦点距離とＦナンバーは撮像部のパラメータであり、パラメータ取得部２７０２から供給される値である。説明の都合上、本実施形態では全ての撮像部の焦点距離とＦナンバーは一致させる設定とし、ｆ＝３５ｍｍ、Ｆ＝５．６に設定している。
【０２０２】
焦点距離とＦナンバーは、各撮像部によって異なるパラメータ設定でも構わない。全て異なるパラメータとして設定しても構わないし、一部の撮像部のパラメータは一致するように設定し、その他の撮像部のパラメータは一致させないような設定でも良い。
【０２０３】
許容錯乱円の直径εは被写界深度の範囲を左右するパラメータのひとつである。比較的大きい値にて許容錯乱円の直径εを設定すると、被写界深度の範囲は拡大するが、画像間の相関による距離推定を用いる本発明の場合には、被写界深度の端部において距離推定の精度が悪化する傾向が強くなる。
【０２０４】
一方、比較的小さい値にて許容錯乱円の直径εを設定すると、被写界深度の端部における距離推定の精度が悪化は抑制できるが、被写界深度の範囲が狭くなるため、広い範囲での距離算出が難しくなる。本実施形態では、これらのトレードオフを鑑みて、許容錯乱円の直径をε=４０ｕｍに設定した。許容錯乱円の直径の大きさは固定値でも良いし、外部入力によりユーザが設定できる構成でも構わない。
【０２０５】
ステップ２８０４で定めた被写体距離ｄobj＝１ｍを代入する。これらのパラメータを式（１０）、（１１）に代入すると、前方の被写界深度ｄｆと後方の被写界深度ｄｂは、ｄｆ＝０．８５ｍ、ｄｂ＝１．２１ｍとなる。
【０２０６】
ステップ２８０６において、フォーカス位置設定部２７０３は、次に被写界深度を算出する被写体距離を設定する。ここでは、ステップ２８０５で算出された後方の被写界深度ｄｂを次の被写体距離に設定する。この場合、１．２１ｍが次の被写体距離ｄobjに設定される。ステップ２８０７において、フォーカス位置設定部２７０３は、設定された被写体距離ｄobjがステップ２８０２に定められた距離算出範囲の外側に位置するか否かを判定する。被写体距離ｄobjが距離算出範囲（１ｍ〜３ｍ）の外側にあると判定された場合には、ステップ２８０９に進む。
【０２０７】
ステップ２８０７で、被写体距離ｄobjが距離算出範囲の内側にあると判定された場合には、ステップ２８０８に進む。
【０２０８】
ステップ２８０８において、フォーカス位置設定部２７０３は、次にフォーカス位置を設定する撮像部を選択するため、対象とする撮像部を変更し、ステップ２８０５に戻る。
【０２０９】
ステップ２８０９において、フォーカス位置設定部２７０３は、全ての撮像部についてフォーカス位置の設定が完了したか否かを判定する。全ての撮像部に対して処理が完了した場合にはステップ２８１１に進む。未処理の撮像部がある場合にはステップ２８１０に進む。
【０２１０】
ステップ２８１０において、フォーカス位置設定部２７０３は、撮像部を更新しステップ２８０４に戻る。全ての撮像部に対してフォーカス位置の設定が完了するまで、ステップ２８０４から２８０９までの処理を繰り返し行う。ステップ２８１１において、フォーカス位置制御部２７０５が、各撮像部について設定されたフォーカス位置に基づき、各撮像部に対してフォーカス位置を制御すると、本処理は終了する。
【０２１１】
なお、ステップ２８０３において、フォーカス位置設定部は、最初にフォーカス位置を設定する撮像部として撮像部１０１を選択したが、その他の撮像部を選択しても構わない。撮像部１０９を選択しも良い。また、ステップ２８０８における撮像部の変更処理においても、撮像部の番号順に従わない変更順序でも構わない。撮像部１０９を最初にフォーカス位置を設定する撮像部として定めた場合には、撮像部の番号の降順としても良いし、ランダムに変更しても構わない。
【０２１２】
更に、ステップ２８０４において、フォーカス位置設定部２７０３は、最初の被写体距離を、離計測範囲における最も前方の距離として設定したが、最初の被写体距離はこれに限定されない。離計測範囲における最も後方の距離を最初の被写体距離として設定しても良い。その場合、ステップ２８０６において、前方の被写界深度を次の被写体距離として設定とするように処理を変更する。
【０２１３】
図２９には、図２８の処理フローに従って導出された撮像部１０１〜１０９のフォーカス位置と前方と後方の被写界深度を示している。撮像部１０１〜１０５のフォーカス位置と被写界深度は、距離算出範囲として定めた１ｍ〜３ｍが包含されていることが分かる。撮像部１０６〜１０９は、撮像部１０１〜１０５で包含された距離算出範囲をさらに包含するように該撮像部のフォーカス位置を設定している。
【０２１４】
図３０には、図２９で示された撮像部１０１〜１０９のフォーカス位置と前方と後方の被写界深度に基づき、各撮像部の被写界深度の範囲と、各距離において被写界深度の範囲に入っておりピントが合っている撮像部の台数を示している。
【０２１５】
図３０において、被写体１が含まれる範囲Ａは、４台の撮像部の被写界深度が含まれるように、各撮像部のフォーカス位置が設定されている。更に、被写体２が含まれる範囲Ｂは、３台の撮像部の被写界深度が含まれるように、各撮像部のフォーカス位置が設定されている。
【０２１６】
一方、実施形態１の図２３では、２台の撮像部の被写界深度が範囲Ａ、範囲Ｂに含まれるように、各フォーカス位置が設定されていた。距離算出範囲を定めることにより、同一の被写体をより多くの撮像部が合焦している画像（被写界深度内に被写体が含まれる画像）として撮影することが可能となる、より精度の高い距離画像を得ることができる。
【０２１７】
以上説明したように、本実施形態によれば、距離算出範囲に応じて撮像部のフォーカス位置を設定することにより、更に精度の高い距離画像を提供することが可能となる。
【０２１８】
（実施形態４）
実施形態１から実施形態３では、各撮像部がレンズとセンサを個々に具備する撮像装置であった。次に、撮像装置のセンサが一体化されて１個に集約される態様について、実施形態４として説明する。なお、実施形態１から実施形態３と共通する部分については説明を簡略化ないしは省略し、ここでは差異点を中心に説明することとする。
【０２１９】
図３１は、撮像装置の内部構成を示す図である。撮像部１０１〜１０９は、図３と同様に、レンズ、絞り、シャッター、光学ローパスフィルタ、ｉＲカットフィルタ、カラーフィルタ、センサおよびＡ／Ｄ変換部で構成されるが、センサの構成が異なる。
【０２２０】
３１００は撮像装置のセンサである。３１０１〜３１０３は撮像部１０１〜１０３のレンズである。センサ３１００は、撮像部１０１〜１０９で取得される被写体像を１枚のセンサ内で撮像する。センサ３１００で撮影された１枚の画像から、各撮像部で撮影された画像領域を対応付け、撮像部１０１〜１０９で撮影された画像として抽出する。その後、画像処理部２１２にて、先に述べた距離算出手法に従って被写体までの距離算出を行う。このような構成にすることで、撮像装置の構成をより簡素化することができる。
【０２２１】
以上説明したように、本実施形態によれば、小型化された撮像装置により距離画像を提供することが可能となる。
【０２２２】
（その他の実施形態）
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【図１】
0005762211.tif 000013
【図２】
0005762211.tif 000014
【図３】
0005762211.tif 000015
【図４】
0005762211.tif 000016
【図５】
0005762211.tif 000017
【図６】
0005762211.tif 000018
【図７】
0005762211.tif 000019
【図８】
0005762211.tif 000020
【図９】
0005762211.tif 000021
【図１０】
0005762211.tif 000022
【図１１】
0005762211.tif 000023
【図１２】
0005762211.tif 000024
【図１３】
0005762211.tif 000025
【図１４】
0005762211.tif 000026
【図１５】
0005762211.tif 000027
【図１６】
0005762211.tif 000028
【図１７】
0005762211.tif 000029
【図１８】
0005762211.tif 000030
【図１９】
0005762211.tif 000031
【図２０】
0005762211.tif 000032
【図２１】
0005762211.tif 000033
【図２２】
0005762211.tif 000034
【図２３】
0005762211.tif 000035
【図２４】
0005762211.tif 000036
【図２５】
0005762211.tif 000037
【図２６】
0005762211.tif 000038
【図２７】
0005762211.tif 000039
【図２８】
0005762211.tif 000040
【図２９】
0005762211.tif 000041
【図３０】
0005762211.tif 000042
【図３１】
0005762211.tif 000043