(57)【特許請求の範囲】
【請求項１】
第１の波長帯域の光を受光し対象画像を出力する第１のセンサと、第２の波長帯域の光を受光し基準画像を出力する第２のセンサとを有する第１のイメージセンサと、
前記第１の波長帯域の少なくとも一部を含む第３の波長帯域の第１の光を透過し、前記第１の光は前記第１のイメージセンサに入射する光の一部である第１のフィルタ領域と、
第１の画像を出力する第２のイメージセンサと、
前記対象画像と前記基準画像とに基づいて、前記対象画像と前記基準画像とに含まれる被写体までの第１の距離を算出する第１の距離算出部と、
前記基準画像と前記第１の画像とに基づいて、前記基準画像と前記第１の画像に含まれる被写体までの第２の距離を算出する第２の距離算出部と、
を備える撮影装置。
【請求項２】
前記第１の距離算出部は、前記対象画像と前記基準画像との相関に応じて、前記第１の距離を算出し、
前記第２の距離算出部は、前記基準画像、前記第１の画像、および、前記第１のイメージセンサと前記第２のイメージセンサとの間の第３の距離、に基づいて、前記第２の距離を算出する、
請求項１に記載の撮影装置。
【請求項３】
前記第１の距離算出部は、ぼけ関数が非点対称である前記対象画像と、前記基準画像とに基づいて、前記第１の距離を算出する、
請求項２に記載の撮影装置。
【請求項４】
前記第２の波長帯域と異なる波長帯域の光を透過する第２のフィルタ領域と、をさらに備え、
前記第３の距離の方向である第１の方向と異なる第２の方向に、前記第１のフィルタ領域の重心位置と前記第２のフィルタ領域の重心位置がずれている、
請求項２に記載の撮影装置。
【請求項５】
前記第１の方向と前記第２の方向は直交する、
請求項４に記載の撮影装置。
【請求項６】
前記第１の距離算出部は、ぼけ関数が点対称である前記対象画像と、ぼけ関数が点対称である前記基準画像とに基づいて、前記第１の距離を算出する、
請求項２に記載の撮影装置。
【請求項７】
前記基準画像と前記第１の画像との位置関係が特定の関係となるように、前記基準画像および前記第１の画像の少なくとも一方である補正対象画像を補正するための補正情報を、前記第１の距離に基づいて算出する補正情報算出部をさらに備え、
前記第２の距離算出部は、前記補正情報により補正された前記補正対象画像に基づいて前記第２の距離を算出する、
請求項１に記載の撮影装置。
【請求項８】
前記第１のイメージセンサの開口の大きさは調整可能であり、任意の大きさで前記開口は原点対称である、
請求項１に記載の撮影装置。
【請求項９】
前記第２のイメージセンサは、前記第１の波長帯域の光を受光し対象画像を出力する第３のセンサと、前記第２の波長帯域の光を受光し基準画像を出力する第４のセンサとを有する、
請求項１に記載の撮影装置。
【請求項１０】
前記第１の距離と前記第２の距離とに基づく距離情報を生成して出力する出力制御部をさらに備える、
請求項１に記載の撮影装置。
【請求項１１】
請求項１から請求項１０のいずれか１項に記載の撮影装置と、
前記第１の距離および前記第２の距離に基づいて車両の移動を制御する制御部と、
を備える車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、撮影装置および車両に関する。
【背景技術】
【０００２】
異なる位置で撮影された２枚の画像から距離情報を取得する技術が知られている。この技術では、例えば、異なる位置に配置された２台のカメラを用いて、被写体を撮影した画像が撮影される。また、２枚の画像から同じ特徴をもつ画素の対応関係が求められ、視差量とカメラの位置関係から三角測量の原理により被写体までの距離が求められる。すべての特徴に対して距離を計算することで、２枚の画像から距離情報を取得することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２２０１７７号公報
【非特許文献】
【０００４】
【非特許文献１】武田  祐一他著  「符号化開口を用いたDepth  from  Defocusとステレオ法の融合」、電子情報通信学会論文誌D、Vol.J96-D、No.8、pp.1688-1700  （２０１３年８月）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、高精度に距離情報を取得できない場合があった。例えば、エピポーラ平面と平行な直線上に同様の特徴が複数分布している場合、特徴の違いがなく、対応関係が不定となり、距離取得が困難となる。
【課題を解決するための手段】
【０００６】
実施形態の撮影装置は、第１のイメージセンサと、第２のイメージセンサと、第１のフィルタ領域と、第１の距離算出部と、第２の距離算出部と、を備える。第１のイメージセンサは、第１の波長帯域の光を受光し対象画像を出力する第１のセンサと、第２の波長帯域の光を受光し基準画像を出力する第２のセンサとを有する。第１のフィルタ領域は、第１の波長帯域の少なくとも一部を含む第３の波長帯域の第１の光を透過する。第２のイメージセンサは、第１の画像を出力する。第１の距離算出部は、対象画像と基準画像とに基づいて、対象画像と基準画像とに含まれる被写体までの第１の距離を算出する。第２の距離算出部は、基準画像と第１の画像とに基づいて、基準画像と第１の画像に含まれる被写体までの第２の距離を算出する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る撮影装置のハードウェア構成図。
【図２】三角測量により距離を取得する方法を説明する図。
【図３】エピポーラ幾何を用いた探索法を説明する図。
【図４】ステレオ視の問題点を説明する図。
【図５】第１の実施形態に係る撮影装置の機能ブロック図。
【図６】第１の実施形態における画像処理のフローチャート。
【図７】第１の実施形態における第１センサ画像取得処理のフローチャート。
【図８】第１の実施形態における第１距離画像生成処理のフローチャート。
【図９】第１の実施形態に係るフィルタ領域の構成例を示す図。
【図１０】第１の実施形態に係るフィルタ領域の透過率特性の例を示す図。
【図１１】第１の実施形態に係る被写体までの距離とぼけ関数の形状との関係を説明する図。
【図１２】第１の実施形態に係る基準画像のぼけ関数の例を示す図。
【図１３】第１の実施形態に係る対象画像のぼけ関数の例を示す図。
【図１４】第１の実施形態に係るぼけ補正カーネルの例を示す図。
【図１５】第３のフィルタ領域を含むフィルタの構成例を示す図。
【図１６】第３のフィルタ領域を含むフィルタの構成例を示す図。
【図１７】第３のフィルタ領域を含むフィルタの構成例を示す図。
【図１８】第３のフィルタ領域を含むフィルタの構成例を示す図。
【図１９】第３のフィルタ領域を含むフィルタの構成例を示す図。
【図２０】第３のフィルタ領域を含むフィルタの構成例を示す図。
【図２１】第２の実施形態に係る撮影装置の機能ブロック図。
【図２２】第２の実施形態に係るフィルタ領域の構成例を示す図。
【図２３】エピポーラ線の方向が変化する様子を示す図。
【図２４】第３の実施形態に係る撮影装置の機能ブロック図。
【図２５】第３の実施形態における補正情報の算出処理のフローチャート。
【図２６】第３の実施形態における画像処理のフローチャート。
【図２７】自動車に撮影装置を搭載した例を示す図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、この発明にかかる撮影装置の好適な実施形態を詳細に説明する。
【０００９】
（第１の実施形態）
第１の実施形態にかかる撮影装置は、２つのイメージセンサを用いたステレオ視による距離算出に加え、ＤＦＤ（Depth  from  Defocus）により、１つのイメージセンサから距離を算出する。本実施形態のＤＦＤでは、異なる波長帯域の光を受光する２以上のセンサにより生成される複数のセンサ画像のぼけ形状の相違に基づき、距離が算出される。異なる波長帯域の光を透過する複数のフィルタが並ぶ方向は、ステレオ視の基線の方向と異なる方向（例えば直交する方向）とする。これにより、より高精度に距離を算出可能となる。
【００１０】
図１は、第１の実施形態に係る撮影装置１００のハードウェア構成例を示すブロック図である。図１に示すように、撮影装置１００は、レンズ１０ａと、レンズ１０ｂと、イメージセンサ２０ａ（第１のイメージセンサ）と、イメージセンサ２０ｂ（第２のイメージセンサ）と、ＣＰＵ（Central  Processing  Unit）３０と、ＨＤＤ（Hard  Disk  Drive）４０と、ディスプレイ５０と、メモリカードスロット６０と、を有する。
【００１１】
イメージセンサ２０ａ、イメージセンサ２０ｂ、ＣＰＵ３０、ＨＤＤ４０、ディスプレイ５０、および、メモリカードスロット６０は、例えばバスにより接続される。撮影装置１００は、撮影対象となる任意の被写体を含む画像を撮影し、被写体までの距離を含む距離情報を生成する。
【００１２】
レンズ１０ａは、撮影によって被写体で反射した光を入射し、入射した光を透過するフィルタ（カラーフィルタ）を備える。例えば、レンズ１０ａは、入射した光の集光の際に、フィルタの色に応じて、特定の波長帯域の光を透過する。フィルタを通過した光は、イメージセンサ２０ａに到達する。これにより、イメージセンサ２０ａで撮影される複数種類のセンサ画像のぼけ関数（PSF：Point  Spread  Function）の形状がフィルタにより変更される。
【００１３】
イメージセンサ２０ａは、レンズ１０ａを通過した光を受光する。例えば、イメージセンサ２０ａは、互いに異なる波長帯域（第１の波長帯域、第２の波長帯域）の光を受光する２以上のセンサを有し、フィルタを光が通過することにより、ぼけ関数が非点対称に変更された対象画像と、少なくとも一種類以上のセンサ画像である基準画像とを生成する。第１の波長帯域は、第２の波長帯域の一部を含んでもよい。２以上のセンサとは、例えばＲＧＢセンサのうち、ＲとＧ、ＧとＢ、ＲとＢ、ＲとＧとＢ等の２以上の組み合わせを指す。例えば、２以上のセンサのうち、いずれかのセンサ（センサ１２１、第１のセンサ）が対象画像を生成し、他のセンサ（センサ１２２、第２のセンサ）が基準画像を生成する。イメージセンサ２０ａの受光面には、各センサの画素が均一に設けられている。
【００１４】
イメージセンサ２０ａは、例えば、ＣＣＤ（Charge  Coupled  Device）イメージセンサ、および、ＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）イメージセンサ等である。１つの様態として、イメージセンサ２０ａは、赤色の光を受光するセンサ（Ｒセンサ）と、緑色の光を受光するセンサ（Ｇセンサ）と、青色の光を受光するセンサ（Ｂセンサ）とを有し、それぞれのセンサで対応する波長帯域の光を受光して、撮影画像（Ｒ画像、Ｇ画像、Ｂ画像）を生成する。
【００１５】
レンズ１０ａは、開口部を備えていてもよい。またフィルタは、撮影装置１００の光学系の何れかに設置されればよい。例えば、撮影装置１００の光学系とは、レンズ１０ａや、イメージセンサ２０ａ等を指す。すなわち、フィルタは、レンズの内部や開口部、またはレンズ１０ａとイメージセンサ２０ａとの間に設置されてもよい。入射した光の集光の際に、フィルタの色に応じて、特定の波長帯域の光を透過する。以下では、レンズ１０ａの開口部にフィルタを備える場合を例に挙げて説明する。
【００１６】
開口部は、任意の開口サイズΦ（０＜Φ≦ΦＭＡＸ、ΦＭＡＸは開口の最大径）で原点対称である。開口サイズの調整により、イメージセンサ２０ａに入る光量を調整することができる。例えば、ユーザが物理的にサイズを調整可能な機構がレンズに設けられていてもよい。コンピュータまたは携帯端末にソフトウェア（アプリケーション）がインストールされ、コンピュータまたは携帯端末などを介して、ユーザから撮影装置１００に情報が入力されてもよい。
【００１７】
レンズ１０ｂは、撮影によって被写体で反射した光を入射し、イメージセンサ２０ｂに出力する。イメージセンサ２０ｂは、任意の波長帯域の光を受光するセンサを有する。例えば、イメージセンサ２０ｂは、ＣＣＤイメージセンサや、ＣＭＯＳイメージセンサ等である。１つの様態として、イメージセンサ２０ｂは、赤色の光を受光するセンサ（Ｒセンサ）と、緑色の光を受光するセンサ（Ｇセンサ）と、青色の光を受光するセンサ（Ｂセンサ）とを有し、それぞれのセンサで対応する波長帯域の光を受光して、撮影画像（Ｒ画像、Ｇ画像、Ｂ画像）を生成する。また、イメージセンサ２０ｂはＲ、Ｇ、Ｂセンサのうちいずれか１つを少なくとも有するイメージセンサでもよい。
【００１８】
ＣＰＵ３０は、撮影装置１００の動作を統括的に制御する。具体的には、ＣＰＵ３０は、ＨＤＤ４０等に記憶されたプログラムを実行し、撮影装置１００全体の動作を制御する。例えば、ＣＰＵ３０は、イメージセンサ２０ａと、イメージセンサ２０ｂと、によって生成された撮影画像から、被写体までの距離画像を算出し、距離情報を生成する。また、ＣＰＵ３０は、撮影画像と距離画像とから、ユーザに提示するための表示画像を生成する。
【００１９】
ＨＤＤ４０は、書き換え可能な不揮発性の記憶デバイスである。例えば、ＨＤＤ４０は、撮影装置１００の制御に関するプログラムや各種データ等を記憶する。ＨＤＤ４０の代わりに、または、ＨＤＤ４０とともに、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、および、ＮＡＮＤ型フラッシュメモリなどの他の記憶媒体を備えてもよい。
【００２０】
メモリカードスロット６０は、可搬記憶媒体のインタフェースである。例えば、メモリカードスロット６０には、ＳＤメモリカードやＳＤＨＣメモリカード等の可搬記憶媒体が挿入可能である。ディスプレイ５０は、各種情報や画像（撮影画像や距離画像等）を表示する。例えば、ディスプレイ５０は、液晶ディスプレイやタッチパネル等である。
【００２１】
図２を用いて、２台のカメラからの三角測量により被写体までの距離を取得する方法を説明する。図２は、２台のカメラ（カメラＣ１、カメラＣ２とする）が、３次元座標を持つある点Ｐを観測する様子を表している。ただし、ここでは簡単のため、カメラＣ１とカメラＣ２は互いに姿勢が同じ向きで、Ｘ軸方向に一定の基線長Ｂだけ離れた関係であるとする。このとき、カメラＣ１とカメラＣ２までの距離Ｄは、各カメラでの撮影位置ｈＲ、ｈＬ、および、カメラの焦点距離ｆを用いて以下の式により算出される。
（ｈＲ−ｈＬ）：ｆ＝Ｂ：（Ｄ−ｆ）
【００２２】
上式から距離Ｄを求めるためには、撮像面上の視差（ｈＲ−ｈＬ）を検出する必要がある。左右のカメラ画像の対応を取得する方法は、主に、全探索によるテンプレートマッチングと、エピポーラ拘束を用いた探索手法が挙げられる。エピポーラ幾何を用いれば、全探索に比べて探索時間を大幅に減らすことができる。エピポーラ幾何とは、３次元空間上に存在する点が左右のカメラに写っている際に、片方のカメラ上での点の投影が、もう片方である直線上に拘束される性質である。このとき、求める３次元の点と２つのカメラの位置を含む平面は、エピポーラ平面と呼ばれる。エピポーラ平面に対応するエピポーラ線が各カメラ画像上に投影される。
【００２３】
図３を用いてエピポーラ幾何を用いた探索法について説明する。カメラＣ１に写っている点ＸＬのカメラＣ２における対応点を探すことを考える。カメラＣ１、カメラＣ２の位置姿勢は既知と仮定すると、ＸＬの３次元空間上での点は、カメラＣ１の位置とＸＬとを結ぶ直線上に限定することができる。例えば、この直線上の各点（例えばＰ０、Ｐ１、Ｐ２）をカメラＣ２に投影し、投影した点のうち左右のマッチングコストが最小となる点が、ＸＬに対応するＸＲとなる。図３の場合、ＸＲに対応する直線上の点としてＰ１が得られる。
【００２４】
カメラＣ１の位置と、Ｐ１と、カメラＣ２の位置と、を含む平面がエピポーラ平面Ｓである。カメラＣ２とエピポーラ平面Ｓが交わる線がエピポーラ線である。カメラＣ１についても同様にエピポーラ線が得られる。すなわち、各点の対応は、エピポーラ線の１次元探索により高速化することができる。
【００２５】
ステレオ視では、原理的に距離情報を取得できない特徴が存在する。図４を用いて、ステレオ視の問題点を説明する。図４に示すような横エッジをもつパターンを撮影し、カメラ画像Ｉ１の部分画像ＰＩ１に対応するカメラ画像Ｉ２内の部分画像の位置を求めるものとする。この場合、探索方向ＳＤに探索してもエピポーラ平面上に同様の特徴（図４の例では横エッジ）が複数存在するため、一意に対応を定めることができず、距離が不定となる。図４では、部分画像ＰＩ２、ＰＩ３が、部分画像ＰＩ１に対応しうる画像の例として示されている。
【００２６】
これは、左右のカメラの位置姿勢の違いによらない、ステレオ視の原理上の問題の１つである。このように、エピポーラ平面上に存在する特徴は、ステレオ視では原理的に距離が取得できない。
【００２７】
本実施形態では、ステレオカメラの少なくとも一方のカメラで撮影される画像を用いて、ステレオの基線長方向と異なる方向に対して、ステレオ視相当の距離推定を行う。これにより、従来は検出不可能であった特徴の距離推定を可能とし、距離取得の高精度化を図る。
【００２８】
図５は、第１の実施形態に係る撮影装置１００の機能構成例を示すブロック図である。図５に示すように、撮影装置１００は、レンズ１０ａと、レンズ１０ｂと、イメージセンサ２０ａと、イメージセンサ２０ｂと、画像処理部１３０と、を有する。
【００２９】
レンズ１０ａは、例えば開口部にフィルタ１１０を備える。フィルタ１１０は、特定の波長帯域の光を透過するフィルタ領域１１１（第１のフィルタ領域）を有する。フィルタ１１０は、さらにフィルタ領域１１２（第２のフィルタ領域）を有してもよい。フィルタ領域１１１は、レンズまたは開口に入射する全部の光のうち一部が入射し、特定の波長帯域の光を透過する。例えばフィルタ領域１１１は、第１の波長帯域の少なくとも一部を含む第３の波長帯域の光を透過する。フィルタ領域１１１を透過した光は、イメージセンサ２０ａに入射する光の一部である。
【００３０】
フィルタ領域１１２は、レンズまたは開口に入射する全部の光のうち一部が入射し、特定の波長帯域の光を透過する。例えばフィルタ領域１１２は、第２の波長帯域の少なくとも一部を含む第４の波長帯域の光を透過する。フィルタ領域１１２を透過した光は、第１のイメージセンサに入射する光の一部である。例えばフィルタ領域１１１は、赤色の光と緑色の光とを透過するイエローフィルタ（Ｙフィルタ）である。フィルタ領域１１２は、フィルタ領域１１１と異なる波長帯域の光を透過するフィルタである。フィルタ領域１１１とフィルタ領域１１２が透過する色の組み合わせはこれに限られるものではない。
【００３１】
レンズ１０ａは、入射した光の集光の際に、フィルタ１１０の色に応じて、特定の波長帯域の光を透過する。フィルタ１１０およびレンズ１０ａを通過した光は、イメージセンサ２０ａに到達する。
【００３２】
イメージセンサ２０ａは、レンズ１０ａおよびフィルタ１１０を通過した光を受光する。イメージセンサ２０ａは、センサ１２１、センサ１２２、および、センサ１２３を備える。例えばセンサ１２１、センサ１２２、および、センサ１２３は、それぞれＲセンサ、Ｇセンサ、および、Ｂセンサである。イメージセンサ２０ａは、これらのセンサで受光した光を基に、第１センサ画像を出力する。第１センサ画像は、上記の基準画像および対象画像を含む。基準画像および対象画像の詳細については後述する。
【００３３】
レンズ１０ｂは、入射した光を集光し、イメージセンサ２０ｂに出力する。イメージセンサ２０ｂは、レンズ１０ｂを通過した光を受光する。イメージセンサ２０ｂは、受光した光を基に、第２センサ画像（第１の画像）を出力する。
【００３４】
画像処理部１３０は、センサ制御部１３１と、距離算出部１３２（第１の距離算出部）と、距離算出部１３３（第２の距離算出部）と、出力制御部１３４と、を有する。なお、センサ制御部１３１、距離算出部１３２、距離算出部１３３、および、出力制御部１３４は、これらの一部またはすべてがソフトウェア（プログラム）で実現されてもよいし、ハードウェア回路で実現されてもよい。なお、以下では、イメージセンサ２０ａおよびイメージセンサ２０ｂがＲＧＢセンサを有する場合を例に挙げて説明するが、センサの波長帯域はこれらに限られるものではない。
【００３５】
センサ制御部１３１は、イメージセンサ２０ａを制御し、ぼけ関数が非点対称に変更された対象画像と、少なくとも一種類以上のセンサ画像である基準画像とを取得する。
【００３６】
距離算出部１３２は、第１センサ画像を入力として、画像に写る被写体までの距離を算出し、距離を示す距離画像（第１距離画像）を出力する。例えば距離算出部１３２は、複数のぼけ補正カーネルのうち、ぼけを付加した対象画像である補正画像と、基準画像との相関がより高くなるぼけ補正カーネルを求めることで被写体までの距離を算出し、第１距離画像を出力する。複数のぼけ補正カーネルは、対象画像に対して、相互に異なるぼけを付加する関数である。
【００３７】
距離算出部１３３は、第１センサ画像と、第２センサ画像とを入力として、画像に写る被写体までの距離を算出し、距離を示す距離画像（第２距離画像）を出力する。
【００３８】
出力制御部１３４は、第１距離画像と、第２距離画像とを入力として、距離情報を生成し、出力する。距離情報は、距離算出部１３２および距離算出部１３３の両方で得られる距離（距離画像）に基づいて求められる、被写体までの距離を示す情報である。距離情報は、距離算出部１３２がエピポーラ平面の問題により取得できなかった情報を距離算出部１３３により取得した情報で補ったものである。あるいは、距離情報は、距離算出部１３３がエピポーラ平面の問題により取得できなかった情報を距離算出部１３２により取得した情報で補ったものである。また、距離情報は、例えば、第１距離画像と第２距離画像の加重平均による画像でもよいし、第１距離画像および第２距離画像をそれぞれ含む情報であってもよい。また、各距離画像のデータをリスト構造で含む情報を距離情報として出力してもよい。距離情報は、距離を表す数値であってもよい。
【００３９】
次に、このように構成された第１の実施形態にかかる撮影装置１００による画像処理について図６を用いて説明する。図６は、第１の実施形態における画像処理の一例を示すフローチャートである。なお、以下では、イメージセンサ２０ａおよびイメージセンサ２０ｂがＲＧＢセンサを有する場合を例に挙げて説明するが、イメージセンサ２０ａおよびイメージセンサ２０ｂの波長帯域はこれらに限られるものではない。
【００４０】
まず、レンズ１０ａおよびイメージセンサ２０ａにより生成される画像を取得する第１センサ画像取得処理が実行される（ステップＳ１０１）。次に、第１センサ画像に基づき距離画像を生成する第１距離画像生成処理が実行される（ステップＳ１０２）。第１センサ画像取得処理および第１距離画像生成処理の詳細は後述する。
【００４１】
ステップＳ１０１およびステップＳ１０２と並行して、レンズ１０ｂおよびイメージセンサ２０ｂにより生成される画像を取得する第２センサ画像取得処理が実行される（ステップＳ１０３）。第２センサ画像取得処理では、イメージセンサ２０ｂは、レンズ１０ｂを通過した光を受光し、第２センサ画像を生成して出力する。
【００４２】
次に、第１センサ画像および第２センサ画像に基づき距離画像を生成する第２距離画像生成処理が実行される（ステップＳ１０４）。第２距離画像生成処理では、距離算出部１３３が、イメージセンサ２０ａとイメージセンサ２０ｂ間の基線長、第１センサ画像、および、第２センサ画像を用いてステレオ測距を行い、画素毎のカメラ（イメージセンサ２０ａ、イメージセンサ２０ｂ）までの距離を求め、第２距離画像を生成する。
【００４３】
出力制御部１３４は、第１距離画像と、第２距離画像とを入力として、距離情報を生成して出力する（ステップＳ１０５）。
【００４４】
図７は、第１の実施形態における第１センサ画像取得処理の一例を示すフローチャートである。以下では、フィルタ領域１１１がＹフィルタ、フィルタ領域１１２が三色透過フィルタである場合を例に説明する。
【００４５】
まず、フィルタ領域１１１（Ｙフィルタ）は、赤色の光と、緑色の光とを透過する（ステップＳ２０１）。フィルタ領域１１２は、赤色の光と、緑色の光と、青色の光を透過する（ステップＳ２０２）。
【００４６】
センサ１２１は、赤色の光を受光し、センサ画像の１つであるＲ画像を生成する（ステップＳ２０３）。センサ１２２は、緑色の光を受光し、センサ画像の１つであるＧ画像を生成する（ステップＳ２０４）。センサ１２３は、青色の光を受光し、センサ画像の１つであるＢ画像を生成する（ステップＳ２０５）。
【００４７】
センサ制御部１３１は、センサ１２１によって生成されたＲ画像と、センサ１２２によって生成されたＧ画像と、センサ１２３によって生成されたＢ画像と、を含む第１センサ画像を取得する（ステップＳ２０６）。
【００４８】
次に、第１センサ画像に含まれる基準画像および対象画像、並びに、第１センサ画像を用いる第１距離画像生成処理について説明する。図８は、第１の実施形態における第１距離画像生成処理の一例を示すフローチャートである。
【００４９】
まず、撮影によって被写体で反射した光がフィルタ１１０を通過することで、イメージセンサ２０ａで観測されるセンサ画像のうち、少なくとも一種類以上のセンサ画像のぼけ関数が非点対称に変更される。フィルタ１１０のフィルタ領域は、イメージセンサ２０ａで受光される光のうち、任意種類の光を減衰させることや、光線の集光の分布に偏りを生じさせることで、センサ画像のぼけ関数を変更することができる。
【００５０】
図９は、第１の実施形態に係るフィルタ領域の構成例を示す図である。図９に示すように、フィルタ１１０のフィルタ領域のうちフィルタ領域１１１は、光学中心であるフィルタ領域の中心点９０２（重心位置の点）を対称点とするときに、点対称形にならないように構成される。図９に示した例では、フィルタ領域のうち、黄色フィルタ（Ｙフィルタ）をフィルタ領域１１１とし、フィルタ領域１１１ではないフィルタ領域をフィルタ領域１１２としている。すなわち、フィルタ領域１１１である黄色フィルタ（Ｙフィルタ）は、光学中心を対称点とするときに、点対称形にならない。フィルタ領域１１２は、赤色の光と、緑色の光と、青色の光を透過するフィルタとし、フィルタ領域１１１と同様に、光学中心を対称点とするときに、点対称形にならない。
【００５１】
フィルタ１１０の開口部への配置方法を説明する。フィルタ領域１１１の重心を第１の重心９０１、フィルタ領域１１２の重心を第２の重心９０３とし、それら２点を結んだ直線を直線Ｌと呼ぶ。このとき、直線Ｌの向きを、基線方向（図９のＸ軸方向）と一致しないようにフィルタ１１０を配置する。また、重心間距離を０以外の正の数とする。図９の例では、直線ＬはＸ軸と垂直な関係にあり、重心間距離はフィルタ領域の半径のおよそ半分である。
【００５２】
図１０は、第１の実施形態に係るフィルタ領域１１１（Ｙフィルタ）の透過率特性の例を示す図である。図１０に示すように、フィルタ領域１１１（Ｙフィルタ）は、赤色の光と緑色の光を透過し、青色の光を減衰させる。なお、フィルタ領域１１１は、任意波長帯域の透過率を変更するフィルタや、任意方向の偏光光を通過させる偏光フィルタ（偏光板）、任意波長帯域の集光パワーを変更させるマイクロレンズであってもよい。例えば、任意波長帯域の透過率を変更するフィルタは、原色フィルタ（ＲＧＢ）、補色フィルタ（ＣＭＹ）、色補正フィルタ（ＣＣ−ＲＧＢ／ＣＭＹ）、赤外線・紫外線カットフィルタ、ＮＤフィルタ、遮蔽板であってもよい。フィルタ領域１１１がマイクロレンズである場合は、レンズ１０ａにより光線の集光の分布に偏りが生じることでぼけ関数が変化する。
【００５３】
なお、フィルタ１１０には、点対称形にならなければ、任意の領域数のフィルタ領域が存在していてもよい。また、フィルタ１１０は、複数のセンサ画像のぼけ関数を変更する１つのフィルタ領域により構成されてもよい。
【００５４】
また、フィルタ領域１１１は、フィルタ１１０を任意の直線で分割した形状であることが好ましく、光学中心を通過する直線であることが好ましい。フィルタ１１０を任意の直線で分割した形状であれば、後述するぼけ補正フィルタの次元を削減することができる。また、光学中心を通過する直線であれば、光量調整のための遮蔽物等の絞り機構が挿入された場合であっても、センサ画像のぼけ関数を変更可能な構造とすることができる。
【００５５】
イメージセンサ２０ａは、フィルタ１１０のフィルタ領域を透過した光のうち、何れのフィルタ領域でも減衰せずに通過した光を受光し、基準画像を生成する。これにより、センサ制御部１３１は、イメージセンサ２０ａによって生成された基準画像を取得する（ステップＳ３０１）。何れのフィルタ領域とは、図９に示した例において、フィルタ領域１１１とフィルタ領域１１２とを指す。基準画像のぼけ関数は、フィルタ領域の通過前後で変化が少ない。図９に示したフィルタ領域の場合は、フィルタ領域１１１である黄色フィルタ（Ｙフィルタ）を減衰せずに通過した赤色の光と緑色の光と、フィルタ領域１１２によりいずれの色の光も減衰せずに通過した光と、がイメージセンサ２０ａで受光されるため、Ｒ画像とＧ画像とが基準画像となる。Ｒ画像とＧ画像とは、円形のぼけ関数を有しており、ぼけ形状は円形状となる。
【００５６】
また、イメージセンサ２０ａは、フィルタ１１０のフィルタ領域を透過した光のうち、フィルタ領域１１１の通過でぼけ関数が変更される光を受光し、対象画像を生成する。これにより、センサ制御部１３１は、イメージセンサ２０ａによって生成された対象画像を取得する（ステップＳ３０２）。対象画像のぼけ関数は、フィルタ領域１１１により非点対称形に変化している。図９に示したフィルタ領域の場合は、フィルタ領域１１１である黄色フィルタ（Ｙフィルタ）により減衰して通過した青色の光がイメージセンサ２０ａで受光されるため、Ｂ画像が対象画像となる。すなわち、フィルタ１１０のフィルタ領域を通過する青色の光のうち、フィルタ領域１１１を通過した青色の光は吸収され、フィルタ領域１１２を通過した青色の光は吸収されることなく通過する。このため、図９に示したフィルタ１１０の場合、対象画像のぼけ関数は、フィルタ領域の通過前後で円形状から半円形状に変更され、半円形状のぼけ形状となる。
【００５７】
図１１は、第１の実施形態に係る被写体までの距離とぼけ関数の形状との関係を説明する図である。図１１に示すように、画像に写る被写体の位置がピント位置より遠い「ｄ＞０」である場合は、対象画像は基準画像と比較して左側に偏ったぼけが撮像される。また、画像に写る被写体の位置がピント位置よりも近い「ｄ＜０」である場合は、対象画像は基準画像と比較して右側に偏ったぼけが撮像される。また、画像に写る被写体の位置がピント位置にある「ｄ＝０」である場合は、対象画像と基準画像とは、ともにぼけのない画像が撮像される。本実施形態では、このような特性を利用して、撮影シーンの距離を算出する。
【００５８】
また、距離算出部１３２は、センサ制御部１３１によって取得された対象画像と基準画像とをもとに、対象画像に異なるぼけを付加することで、対象画像のぼけ形状を補正した補正画像を生成する（ステップＳ３０３）。上述したように、画像に写る被写体までの距離ｄに応じて、対象画像と基準画像とのぼけ形状が変化する。本実施形態では、画像に写る被写体までの距離が任意の距離ｄであると仮定し、作成した複数のぼけ補正カーネルを用いて、対象画像のぼけ形状を補正した補正画像を生成し、生成した補正画像と基準画像との相関がより高くなる距離ｄを求めることで、被写体までの距離を算出する。なお、補正画像と基準画像との相関を計算する手法については後述する。
【００５９】
ここで、撮影画像Ｉｘに写る被写体からカメラのピント位置までの距離をｄとすると、撮影画像Ｉｘは、ぼけの少ない理想的な撮影画像Ｉｙと、撮影画像のぼけ関数ｆ（ｄ）を用いて、（数１）で表すことができる。
【００６０】
【数１】
0006585006.tif 000002
【００６１】
撮影画像のぼけ関数ｆ（ｄ）は、撮影装置１００の開口形状と距離ｄとによって決定する。距離ｄについては、上述したように、ピント位置を基準として、被写体がピント位置よりも遠い場合は「ｄ＞０」、被写体がピント位置よりも近い場合は「ｄ＜０」として表す。図１２は、第１の実施形態に係る基準画像のぼけ関数の例を示す図である。図１２に示すように、図９に示したフィルタ領域の場合は、開口形状が点対称形である円形状であるため、ぼけ関数ｆ（ｄ）の形状はピント位置の前後で変化はなく、ぼけ関数ｆ（ｄ）は距離ｄの大きさ｜ｄ｜によってぼけの幅が変化するガウス関数として表現できる。なお、ぼけ関数ｆ（ｄ）は、距離ｄの大きさ｜ｄ｜によってぼけの幅が変化するピルボックス関数として表現してもよい。
【００６２】
基準画像Ｉｘｒは、（数１）と同様に、開口形状とフィルタ領域との特性から決定するぼけ関数ｆｒ（ｄ）を用いて、（数２）で表すことができる。
【００６３】
【数２】
0006585006.tif 000003
【００６４】
また、対象画像Ｉｘｏは、（数１）と同様に、開口形状とフィルタ領域との特性から決定するぼけ関数ｆｏ（ｄ）を用いて、（数３）で表すことができる。
【００６５】
【数３】
0006585006.tif 000004
【００６６】
図９に示したフィルタ領域の場合、基準画像は、フィルタ領域１１１の影響を受けないため、ｆｒ（ｄ）＝ｆ（ｄ）となる。また、ｆｏ（ｄ）は、フィルタ領域１１１での光減衰の影響により、ピント位置であるｄ＝０の前後で異なる形状に変化する。図１３は、第１の実施形態に係る対象画像のぼけ関数の例を示す図である。図１３に示すように、対象画像のぼけ関数ｆｏ（ｄ）は、被写体がピント位置よりも遠方にあるｄ＞０の場合に、ｘ＞０でフィルタ領域１１１での光減衰に応じて、減衰したぼけの幅｜ｄ｜のガウス関数となる。また、対象画像のぼけ関数ｆｏ（ｄ）は、被写体がピント位置よりも近方にあるｄ＜０の場合に、ｘ＜０でフィルタ領域１１１での光減衰に応じて、減衰したぼけの幅｜ｄ｜のガウス関数となる。
【００６７】
ここで、対象画像Ｉｘｏにぼけを付与して、対象画像Ｉｘｏのぼけ形状を基準画像Ｉｘｒのぼけ形状と一致させるためのぼけ関数を、ぼけ補正カーネルｆｃ（ｄ）と定義する。ぼけ補正カーネルｆｃ（ｄ）は、（数４）で表すことができる。
【００６８】
【数４】
0006585006.tif 000005
【００６９】
（数４）のぼけ補正カーネルｆｃ（ｄ）は、（数２）〜（数４）により、基準画像Ｉｘｒのぼけ関数ｆｒ（ｄ）と、対象画像Ｉｘｏのぼけ関数ｆｏ（ｄ）とを用いて、（数５）で表すことができる。
【００７０】
【数５】
0006585006.tif 000006
【００７１】
（数５）のｆｏ−１（ｄ）は、対象画像のぼけ関数ｆｏ（ｄ）の逆フィルタである。これらにより、ぼけ補正カーネルｆｃ（ｄ）は、基準画像Ｉｘｒと対象画像Ｉｘｏとのぼけ関数から解析して算出することが可能である。また、対象画像Ｉｘｏのぼけ形状は、ぼけ補正カーネルｆｃ（ｄ）を用いて、任意の距離ｄを想定した様々なぼけ形状に補正することができる。
【００７２】
図１４は、第１の実施形態に係るぼけ補正カーネルの例を示す図である。なお、図１４に示すぼけ補正カーネルは、図９に示したフィルタ領域を用いた場合のぼけ補正カーネルである。図１４に示すように、フィルタ領域を任意の直線で分割した形状に設定した場合、ぼけ補正カーネルｆｃ（ｄ）は、分割した線分の中心点を通り、該線分に対して垂直方向の直線上（直線付近）に分布する。ここで、対象画像Ｉｘｏのぼけ形状を任意の距離ｄにおけるぼけ補正カーネルｆｃ（ｄ）を用いて補正した補正画像Ｉｘ＾ｏ（ｄ）とすると、補正画像Ｉｘ＾ｏ（ｄ）は、（数６）で表すことができる。なお、「Ｉｘ＾」は、数式中のＩｘハットであるものとする。
【００７３】
【数６】
0006585006.tif 000007
【００７４】
図８に戻り、距離算出部１３２は、生成した補正画像Ｉｘ＾ｏ（ｄ）と、基準画像Ｉｘｒとを比較し、補正画像Ｉｘ＾ｏ（ｄ）と基準画像Ｉｘｒとのぼけ形状が一致しているか否かを判定する（ステップＳ３０４）。距離算出部１３２は、補正画像Ｉｘ＾ｏ（ｄ）と基準画像Ｉｘｒとのぼけ形状が一致している場合に（ステップＳ３０４：Ｙｅｓ）、処理を終了する。一方、距離算出部１３２は、補正画像Ｉｘ＾ｏ（ｄ）と基準画像Ｉｘｒとのぼけ形状が一致していない場合に（ステップＳ３０４：Ｎｏ）、ステップＳ３０３の処理を再度実行する。すなわち、距離算出部１３２は、補正画像Ｉｘ＾ｏ（ｄ）と基準画像Ｉｘｒとのぼけ形状が最も一致する距離ｄを、撮影画像の各画素で求める。一致するとは、ぼけ形状が完全に一致するのみでなく、例えば一致度が所定の閾値未満である場合を含めてもよい（後述）。ぼけ形状の一致度は、各画素を中心とする任意サイズの矩形領域における補正画像Ｉｘ＾ｏ（ｄ）と基準画像Ｉｘｒとの相関を計算すればよい。この、ぼけ形状の一致度の計算は、既存の類似度評価手法を用いればよい。これらにより、距離算出部１３２は、補正画像Ｉｘ＾ｏ（ｄ）と基準画像Ｉｘｒとで相関が最も高くなる距離ｄを求め、各画素に写る被写体までの距離を算出する。
【００７５】
例えば、既存の類似度評価手法は、ＳＳＤ（Sum  of  Squared  Difference）、ＳＡＤ（Sum  of  Absolute  Difference）、ＮＣＣ（Normalized  Cross‐Correlation）、ＺＮＣＣ（Zero‐mean  Normalized  Cross‐Correlation）、Color  Alignment  Measure等を利用すればよい。本実施形態では、自然画像の色成分が局所的には線形な関係を持つ特性を有することを利用したColor  Alignment  Measureを利用する。
【００７６】
Color  Alignment  Measureでは、撮影画像の対象画素を中心とする局所境域の色分布の分散から、相関関係を表す指標Ｌが算出される。イメージセンサ２０ａで撮影された基準画像Ｉｘｒと、距離ｄを仮定した補正画像Ｉｘ＾ｏ（ｄ）とから生成されるＲＧＢ画像の各画素を中心とする局所領域で、指標Ｌ（ｄ）を算出する。図９に示したフィルタ領域である場合は、イメージセンサ２０ａで撮影されたＲ画像とＧ画像とＢ画像とを、距離ｄのぼけ補正カーネルで補正した補正画像Ｂ＾（ｄ）から生成されるカラー画像の各画素において、指標Ｌ（ｄ）を（数７）により算出する。なお、「Ｂ＾」は、数式中のＢハットであるものとする。
【００７７】
【数７】
0006585006.tif 000008
【００７８】
（数７）において、λ０、λ１、λ２は、画像の色分布の主成分軸に沿った分散（画像の共分散行列の固有値）である。また、（数７）において、σＲ２、σＧ２、σＢ２は、画像の色分布のＲ軸、Ｇ軸、Ｂ軸に沿った分散である。従って、指標Ｌ（ｄ）が小さいほど、カラー画像の一致度が高いことを示している。これにより、ステップＳ３０４では、距離算出部１３２は、指標Ｌ（ｄ）が閾値未満であるか否かを判定し、指標Ｌ（ｄ）が閾値未満であれば対象画素での距離推定を終了する。距離算出部１３２は、指標Ｌ（ｄ）が閾値以上であればステップＳ３０３の処理に戻り、異なる距離ｄでの補正画像を生成する。なお、各画素に写る被写体までの距離の算出は、閾値を使用した条件判定ではなく、仮定する全ての距離ｄでの指標Ｌ（ｄ）を算出し、指標Ｌ（ｄ）が最小となる距離ｄを求めるようにしてもよい。また、例えば、距離画像は、各被写体までの距離を求めた結果として、手前に存在する被写体ほど明るく、奥に存在する被写体ほど暗くなるような画像として生成することができる。
【００７９】
上述したように、撮影装置１００の光学系に設置したフィルタ領域に応じて変更された対象画像のぼけ形状を、距離ｄを仮定したぼけ補正カーネルにより補正した補正画像を生成し、生成した補正画像と基準画像との相関がより高くなる距離ｄを求めることで、画像に写る被写体までの距離を算出する。本実施形態によれば、ぼけ関数とサンプリング位置が一致する画像の相関を用いて距離を算出するので、高精度な距離推定を実現できる。また、本実施形態によれば、空間情報の畳み込み結果であるぼけ情報を利用するため、距離推定の結果が安定的であり、繰り返しパターンや陰面問題を生じさせることなく、高精度な距離推定を実現できる。
【００８０】
また、ステレオ視によって取得した距離画像のうち、エピポーラ平面上に存在し距離情報を取得できない点に、カラーフィルタを使って取得した距離情報を付与することができる。カラーフィルタを使って取得した距離画像のうち、エピポーラ平面上に存在し距離情報を取得できない点に、ステレオ視によって取得した距離情報を付与することができる。本実施形態の撮影装置１００は、エピポーラ平面上の距離情報も取得することができる。
【００８１】
また、本実施形態によれば、距離算出部１３３によりエピポーラ平面上の特徴の対応を取得可能となり、従来は取得できなかった特徴の距離情報を高精度に取得することができる。
【００８２】
（変形例１）
イメージセンサ２０ｂにも特定の波長帯域の光を透過するフィルタが備えられていてもよい。フィルタは、互いに異なる波長帯域を透過する２つのフィルタ領域を備えてもよい。このフィルタ領域は、フィルタ領域１１１、または、フィルタ領域１１２と同じでもよいし、異なっていてもよい。
【００８３】
イメージセンサ２０ｂにより取得したセンサ画像を用いて、ＤＦＤによる距離算出を行ってもよい。例えば、距離算出部１３２は、イメージセンサ２０ａからのセンサ画像（第１センサ画像）のみでなく、イメージセンサ２０ｂからのセンサ画像に対しても、上記と同様の方法により被写体までの距離を算出してもよい。これにより、距離情報をさらに高精度に求めることが可能となる。
【００８４】
（変形例２）
上記実施形態では、フィルタによりぼけ形状が変化するセンサ画像（例えばＢ画像）を対象画像とし、ぼけ形状が変化しないセンサ画像（例えばＲ画像、Ｇ画像）を基準画像とした。いずれかのセンサ画像を任意の形状に補正した画像を基準画像として用いてもよい。すなわち、複数のセンサ画像のうち、対象画像とするセンサ画像以外のセンサ画像を補正した画像を基準画像としてもよい。
【００８５】
（変形例３）
フィルタ１１０は、フィルタ領域１１１およびフィルタ領域１１２以外のフィルタ領域をさらに備えていてもよい。図１５〜図２０は、フィルタ領域１１３（第３のフィルタ領域）をさらに含むフィルタ１１０の構成例を示す図である。図１５〜図２０に示すようなフィルタ１１０に対しても、上記実施形態と同様の手法を適用できる。
【００８６】
フィルタ領域１１３は、フィルタ領域１１１と、フィルタ領域１１２とは異なる波長帯域を透過し、形状は非点対称でなくてもよい。図１５のように、フィルタ１１０の全域に、フィルタ領域１１３が追加された構成となっていてもよい。これにより、レンズ１０ａの開口を通過するすべての光をイメージセンサ２０ａに受光させることができる。
【００８７】
図１６のように、フィルタ領域を３等分した配置にしてもよい。図１７のように、上下端にフィルタ領域１１１、フィルタ領域１１２が配置され、フィルタ領域の残りの部分がフィルタ領域１１３であってもよい。また、上下端の形状は図１８のような形状であってもよい。図１９のように、フィルタ領域１１１とフィルタ領域１１２が円形状で、異なる位置に配置され、残りの領域がフィルタ領域１１３となっていてもよい。さらにフィルタ領域１１１とフィルタ領域１１２の形状は、図２０のように、正方形などの形状であってもよい。また、フィルタ領域１１３は、イメージセンサ２０ａで受光するすべての波長帯域を透過するフィルタであってもよい。
【００８８】
図１５のように、フィルタ領域１１１およびフィルタ領域１１２に対して、フィルタ領域１１３が重なる構成の場合、例えばフィルタ領域１１１、１１２、および、１１３を、それぞれ赤色の光、青色の光、および、緑色の光を透過するフィルタとしてもよい。この場合、フィルタ領域１１１とフィルタ領域１１３が重なる領域はＹフィルタに相当する。すなわち、例えばフィルタ領域１１１とフィルタ領域１１３とを組み合わせた透過率特性は、図１０と同様となる。
【００８９】
（第２の実施形態）
非点対称形のフィルタを用いる第１の実施形態では、ぼけの形状がピント位置の前後で異なることを利用して、ぼけの形状に対応する距離を一意に定めることができた。第２の実施形態では、光学中心を対称点とするときに、点対称形となるフィルタを用いる。この場合、ピント位置の前後でぼけの形状が同じになり、距離が一意に特定できない場合がある。そこで、第２の実施形態では、ピント位置を無限遠または最近傍に設定する。これにより、前ぼけまたは後ろぼけのみの形状変化にとどめることができるため、点対称形のフィルタ構造であっても、ぼけ量と距離との対応を一意に定めることが可能となる。
【００９０】
第２の実施形態の撮影装置のハードウェア構成は、図１と同様であるため説明を省略する。図２１は、第２の実施形態に係る撮影装置１００−２の機能構成例を示すブロック図である。図２１に示すように、撮影装置１００−２は、レンズ１０−２ａと、レンズ１０ｂと、イメージセンサ２０ａと、イメージセンサ２０ｂと、画像処理部１３０−２と、を有する。
【００９１】
第２の実施形態では、レンズ１０−２ａおよび画像処理部１３０−２の構成が第１の実施形態と異なっている。その他の構成および機能は、第１の実施形態にかかる撮影装置１００のブロック図である図５と同様であるので、同一符号を付し、ここでの説明は省略する。
【００９２】
レンズ１０−２ａは、フィルタ１１０−２を有する。フィルタ１１０−２は、互いに異なる波長帯域の光を透過するフィルタ領域１１１−２とフィルタ領域１１２−２を有する。
【００９３】
図２２は、第２の実施形態に係るフィルタ領域の構成例を示す図である。図２２に示すように、フィルタ領域１１１−２は、光学中心であるフィルタ領域１１１−２の中心点２２０１（重心位置の点）を対称点とするときに、点対称形になるように構成される。
【００９４】
例えば、フィルタ１１０−２のうち、黄色フィルタ（Ｙフィルタ）をフィルタ領域１１１−２とし、フィルタ領域１１１−２ではないフィルタ領域をフィルタ領域１１２−２とすることができる。すなわち、フィルタ領域１１１−２である黄色フィルタ（Ｙフィルタ）は、光学中心を対称点とするときに、点対称形になる。フィルタ領域１１２−２も光学中心を対称点とするときに、点対称形になる。フィルタ領域１１１−２は、フィルタ１１０−２の内側にあるため、点対称形であれば、円ではなくてもよい。例えば、正四角形や正六角形などの形状でもよい。
【００９５】
画像処理部１３０−２は、距離算出部１３２−２の機能が、第１の実施形態の画像処理部１３０と異なっている。
【００９６】
距離算出部１３２−２は、第１センサ画像を入力として、画像に写る被写体までの距離を算出し、距離を示す距離画像（第１距離画像）を出力する。例えば距離算出部１３２−２は、第１の実施形態と同様に、フィルタ１１０−２により減衰せずに通過した光に対応するセンサ画像（例えばＲ画像、Ｇ画像）を基準画像とする。また、距離算出部１３２−２は、例えばフィルタ領域１１１−２により減衰して通過した光に対応するセンサ画像（例えばＢ画像）を対象画像とする。そして距離算出部１３２−２は、複数のぼけ補正カーネルのうち、ぼけを付加した対象画像である補正画像と、基準画像との相関がより高くなるぼけ補正カーネルを求めることで被写体までの距離を算出し、第１距離画像を出力する。
【００９７】
本実施形態ではピント位置を無限遠または最近傍に設定しているため、ぼけの形状が距離に一意に対応する。このため、距離ｄに対応するぼけ補正カーネルも一意に決定される。距離算出部１３２−２は、補正画像と基準画像との相関がより高くなるぼけ補正カーネルを求めることで距離ｄを算出することができる。
【００９８】
（第３の実施形態）
第１の実施形態で述べたように、ステレオ測距では、２つのカメラ（イメージセンサ２０ａ、イメージセンサ２０ｂ）を平行等位な関係にすることで、マッチングの探索範囲を２次元から１次元に減らすことができる。換言すると、エピポーラ幾何によって、左右のカメラのエピポーラ線が水平方向に規定されることとなる。
【００９９】
しかし、経過劣化などによって、左右のカメラの位置関係が崩れ、エピポーラ線が画像面に対して傾きを持ち、対応点が見つからない、または、誤対応となる場合がある。図２３は、エピポーラ線の方向が変化する様子を示す図である。平行等位時の探索方向２３０１は、水平である。経過劣化などにより左右のカメラの位置および姿勢が変化した場合、エピポーラ線が傾き、探索方向２３０２が水平でなくなる。
【０１００】
この問題の解決法の１つとして、２つの画像のエピポーラ幾何を再推定する方法がある。例えば、形状が既知のキャリブレーションパターンを用意し、左右のカメラ上での複数点の対応関係からエピポーラ幾何を推定する。そして、得られたエピポーラ線に対して画像が水平になるように画像変換を行い、平行等位となった左右のカメラ画像から距離画像を生成する。この手法では、人の手によって、キャリブレーションパターンを用意する必要があり、ユーザに負担がかかる問題がある。また、キャリブレーションパターンを使用せずに被写体の特徴を用いた場合、得られた距離画像のスケールが不定となる問題がある。
【０１０１】
第３の実施形態では、第１距離画像および第２距離画像の対応関係からエピポーラ幾何を推定する。これにより、ユーザに負担をかけることなく、イメージセンサ２０ａとイメージセンサ２０ｂの位置姿勢のずれを容易に補正することが可能となる。
【０１０２】
第３の実施形態の撮影装置のハードウェア構成は、図１と同様であるため説明を省略する。図２４は、第３の実施形態に係る撮影装置１００−３の機能構成例を示すブロック図である。図２４に示すように、撮影装置１００−３は、レンズ１０ａと、レンズ１０ｂと、イメージセンサ２０ａと、イメージセンサ２０ｂと、画像処理部１３０−３と、補正情報算出部１４０−３と、を有する。
【０１０３】
第３の実施形態では、画像処理部１３０−３内の距離算出部１３３−３の機能、および、補正情報算出部１４０−３を追加したことが第１の実施形態と異なっている。その他の構成および機能は、第１の実施形態にかかる撮影装置１００のブロック図である図５と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１０４】
補正情報算出部１４０−３は、ユーザの指示などに応じて、第１センサ画像および第２センサ画像から補正情報を算出する。補正情報は、第１センサ画像と第２センサ画像との位置関係が特定の関係となるように、第１センサ画像および第２センサ画像のうち少なくとも一方である補正対象画像を補正するための情報である。例えば補正情報は、左右のカメラ画像（第１センサ画像、第２センサ画像）が平行等位の画像となるように変換する射影変換行列、および、基線長の長さなどである。
【０１０５】
平行等位となるためのカメラ間の関係は、一方の位置姿勢を固定した上で、他方の位置姿勢を変換すれば得られる。このため、左右のカメラ画像のうち一方の画像を変換する射影変換行列のパラメータが得られれば十分である。ただし、両方の画像をそれぞれ変換する複数の射影変換行列のパラメータを補正情報として含まれていてもよい。本実施形態では、第２センサ画像を変換するための射影変換行列のパラメータと基線長の長さを補正情報として用いる例を説明する。
【０１０６】
補正情報算出部１４０−３は、例えば位置姿勢のずれ補正の開始をユーザ等が指示したことを示す情報（例えば開始を示すコード等）が入力された場合に、補正情報の算出処理を開始する。補正情報の算出処理の詳細は後述する。
【０１０７】
距離算出部１３３−３は、補正情報を用いて第２センサ画像を補正した後に、ステレオ測距により第２距離画像を生成する点が、上記実施形態の距離算出部１３３と異なっている。
【０１０８】
次に、このように構成された第３の実施形態にかかる撮影装置１００−３による補正情報の算出処理について図２５を用いて説明する。図２５は、第３の実施形態における補正情報の算出処理の一例を示すフローチャートである。
【０１０９】
ステップＳ４０１、ステップＳ４０２は、図６のステップＳ１０１、ステップＳ１０２と同様であるため説明を省略する。
【０１１０】
補正情報算出部１４０−３は、補正情報を算出する補正パラメータ最適化処理を実行する（ステップＳ４０３）。まず補正情報算出部１４０−３は、左右のカメラの位置姿勢のずれを計測し、仮想的に平行等位な画像を生成する。例えば補正情報算出部１４０−３は、左右のカメラ画像からエピポーラ幾何を推定し、仮想的に平行等位な画像を生成する手法（例えば特許文献１参照）により、左右のカメラ画像の平行等位な画像を得る。このような手法で得られた２枚の画像は、カメラの基線長の長さが未知のため、正しく距離を算出することができない。
【０１１１】
そこで、補正情報算出部１４０−３は、ステレオ測距ではないＤＦＤにより求められる第２距離画像を用いて基線長Ｂ’を推定する。例えば補正情報算出部１４０−３は、複数の基線長それぞれに対して、ステレオ測距により第１距離画像を算出する。補正情報算出部１４０−３は、算出した第１距離画像を、画素ごとに第２距離画像と比較し、誤差が最小となる第１距離画像に対応する基線長Ｂ’を求める。
【０１１２】
以上の処理により、基線長Ｂ’と、平行等位となるための第２センサ画像の射影変換行列と、が得られる。
【０１１３】
補正情報算出部１４０−３は、基線長Ｂ’および射影変換行列を、補正情報として画像処理部１３０−３に出力する（ステップＳ４０４）。
【０１１４】
次に、第３の実施形態にかかる撮影装置１００−３による画像処理について図２６を用いて説明する。図２６は、第３の実施形態における画像処理の一例を示すフローチャートである。
【０１１５】
ステップＳ５０１〜ステップＳ５０３は、図６のステップＳ１０１〜ステップＳ１０３と同様であるため説明を省略する。
【０１１６】
距離算出部１３３−３は、補正情報算出部１４０−３により得られた射影変換行列を用いて、第２センサ画像を変換する（ステップＳ５０４）。距離算出部１３３−３は、補正情報算出部１４０−３により得られた基線長の長さを用いてステレオ視を行い、第２距離画像を生成する（ステップＳ５０５）。
【０１１７】
ステップＳ５０６は、図６のステップＳ１０６と同様であるため説明を省略する。
【０１１８】
なお、これまでは第１の実施形態に補正情報算出部１４０−３を追加した構成を説明した。補正情報算出部１４０−３を追加できる構成は第１の実施形態に限られるものではなく、上記の各変形例、および、第２の実施形態に対して適用してもよい。すなわち、本実施形態を適用できるフィルタは任意である。
【０１１９】
第３の実施形態によれば、第１の実施形態と同等の効果に加えて、補正情報算出部１４０−３によりイメージセンサ２０ａとイメージセンサ２０ｂの位置姿勢のずれを補正可能となる。すなわち、キャリブレーションの手間を軽減することができる。
【０１２０】
以上説明したとおり、第１から第３の実施形態によれば、より高精度に距離情報を取得することができる。
【０１２１】
上記のような撮影装置は、例えば、自動車などの車両（移動体の一例）に搭載することができる。図２７は、自動車に撮影装置を搭載した例を示す図である。自動車は、左右のカメラであるカメラ２７０１、２７０２と、制御部２７１１と、を含む。カメラ２７０１は、例えば図１のレンズ１０ａおよびイメージセンサ２０ａに対応する。カメラ２７０２は、例えば図１のレンズ１０ｂおよびイメージセンサ２０ｂに対応する。制御部２７１１は、距離情報（第１距離情報、第２距離情報）に基づいて自動車の移動を制御する。制御部２７１１は、この他に、例えば図５の画像処理部１３０と同様の機能を備えていてもよい。
【０１２２】
移動体は車両に限られるものではなく、例えば、ロボット、船舶、および、飛翔体（飛行機、ドローンなど）であってもよい。移動体は、自律式の移動体であってもよいし、有人の移動体であってもよい。
【０１２３】
第１から第３の実施形態にかかる撮影装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
【０１２４】
また、第１から第３の実施形態にかかる撮影装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１から第３の実施形態にかかる撮影装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１２５】
また、第１から第３の実施形態のプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１２６】
第１から第３の実施形態にかかる撮影装置で実行されるプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ３０（プロセッサ）が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【０１２７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２８】
１０ａ、１０ｂ  レンズ
２０ａ、２０ｂ  イメージセンサ
３０  ＣＰＵ
４０  ＨＤＤ
５０  ディスプレイ
６０  メモリカードスロット
１００、１００−２、１００−３  撮影装置
１１０  フィルタ
１２１、１２２、１２３  センサ
１３０  画像処理部
１３１  センサ制御部
１３２、１３３  距離算出部
１３４  出力制御部
１４０−３  補正情報算出部
【図１】
0006585006.tif 000009
【図２】
0006585006.tif 000010
【図３】
0006585006.tif 000011
【図４】
0006585006.tif 000012
【図５】
0006585006.tif 000013
【図６】
0006585006.tif 000014
【図７】
0006585006.tif 000015
【図８】
0006585006.tif 000016
【図９】
0006585006.tif 000017
【図１０】
0006585006.tif 000018
【図１１】
0006585006.tif 000019
【図１２】
0006585006.tif 000020
【図１３】
0006585006.tif 000021
【図１４】
0006585006.tif 000022
【図１５】
0006585006.tif 000023
【図１６】
0006585006.tif 000024
【図１７】
0006585006.tif 000025
【図１８】
0006585006.tif 000026
【図１９】
0006585006.tif 000027
【図２０】
0006585006.tif 000028
【図２１】
0006585006.tif 000029
【図２２】
0006585006.tif 000030
【図２３】
0006585006.tif 000031
【図２４】
0006585006.tif 000032
【図２５】
0006585006.tif 000033
【図２６】
0006585006.tif 000034
【図２７】
0006585006.tif 000035