(57)【要約】      （修正有）【課題】精度の高い距離情報を得ることが可能な画像処理装置、撮像装置及び方法を提供する。【解決手段】画像処理装置１００は、取得手段１１０と、算出手段１２０とを具備する。取得手段は、光学系の収差の影響を受けた第１画像に含まれる、ぼけ関数が非点対称に表された第１色成分の第２画像と、第１色成分とは異なる第２色成分の第３画像とを取得する。算出手段は、第２画像に対して複数の異なるぼけを付加して得られる複数の第４画像と、第３画像との相関に応じて、第１画像に含まれる被写体までの距離を算出する。相関は、収差に基づいて計算される。【選択図】図４
2019207185.tif 000002
【特許請求の範囲】
【請求項１】
光学系の収差の影響を受けた第１画像に含まれる、ぼけ関数が非点対称に表された第１色成分の第２画像と、前記第１色成分とは異なる第２色成分の第３画像とを取得する取得手段と、
前記第２画像に対して複数の異なるぼけを付加して得られる複数の第４画像と、前記第３画像との相関に応じて、前記第１画像に含まれる被写体までの距離を算出する算出手段と
を具備し、
前記相関は、前記収差に基づいて計算される
画像処理装置。
【請求項２】
前記光学系の収差は、像面湾曲によって生じる収差を含む請求項１記載の画像処理装置。
【請求項３】
前記第２画像及び前記第３画像に対して倍率色収差により生じている色ずれを補正する第１補正手段を更に具備し、
前記算出手段は、前記補正された第２画像に対して複数の異なるぼけを付加して得られる複数の第４画像と、前記補正された第３画像との相関に応じて、前記被写体までの距離を算出する
請求項２記載の画像処理装置。
【請求項４】
前記第２画像及び前記第３画像に対して歪曲収差により生じている位置ずれを補正する第２補正手段を更に具備し、
前記算出手段は、前記補正された第２画像に対して複数の異なるぼけを付加して得られる複数の第４画像と、前記補正された第３画像との相関に応じて、前記被写体までの距離を算出する
請求項２または３記載の画像処理装置。
【請求項５】
前記算出手段は、前記第２画像に対して複数の異なるぼけを付加する複数のぼけ補正カーネルのうち、ぼけを付加して得られる第４画像と前記第３画像との相関が高いぼけ補正カーネルを特定することによって、当該特定されたぼけ補正カーネルに対応する距離を算出する請求項１〜４のいずれか一項に記載の画像処理装置。
【請求項６】
前記ぼけ補正カーネルは、前記第２画像のぼけ関数を前記第３画像のぼけ関数に補正するための畳み込み関数であり、第２画像のぼけ関数と第３画像のぼけ関数とから算出された任意の距離の被写体のぼけを補正するための複数のぼけ補正カーネルが予め用意されている請求項５記載の画像処理装置。
【請求項７】
前記算出手段は、前記第２画像に対して複数の異なるぼけを付加して得られる複数の第４画像と前記第３画像にぼけを付加して得られる第５画像との相関に応じて、前記被写体までの距離を算出する請求項１記載の画像処理装置。
【請求項８】
請求項１〜７のいずれか一項に記載の画像処理装置と、
イメージセンサと
を具備する撮像装置であって、
前記イメージセンサは、ぼけ関数を非点対称に変更するフィルタを透過した光を受光し、当該フィルタによりぼけ関数が非点対称に変更された第１色成分の第２画像と、前記第１色成分とは異なる第２色成分の第３画像とを含む第１画像を生成する
撮像装置。
【請求項９】
前記イメージセンサは、赤色の光を受光する第１センサ、緑色の光を受光する第２センサ及び青色の光を受光する第３センサのうちの２以上のセンサを含み、
前記第２画像は、前記イメージセンサに含まれる２以上のセンサのうちの１のセンサによって生成され、
前記第３画像は、前記イメージセンサに含まれる２以上のセンサのうちの他のセンサによって生成される
請求項８記載の撮像装置。
【請求項１０】
光学系の収差の影響を受けた第１画像に含まれる、ぼけ関数が非点対称に表された第１色成分の第２画像と、前記第１色成分とは異なる第２色成分の第３画像とを取得するステップと、
異なるぼけを付加した前記第２画像と前記第３画像との相関に応じて、前記第１画像に含まれる被写体までの距離を算出するステップと
を具備し、
前記相関は、前記収差に基づいて計算される
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置、撮像装置及び方法に関する。
【背景技術】
【０００２】
例えばステレオカメラと称される２つのカメラで被写体を異なる方向から撮像することによって、当該被写体までの距離情報を取得することが知られている。
【０００３】
また、近年では、１つのカメラで被写体を撮像した画像から、当該被写体までの距離情報を取得する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−０２６０５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記した被写体までの距離情報の精度は、レンズの収差（光学系における理想的な結像からのずれ）に起因するぼけや色ずれにより低下する場合がある。
【０００６】
そこで、本発明が解決しようとする課題は、精度の高い距離情報を得ることが可能な画像処理装置、撮像装置及び方法を提供することにある。
【課題を解決するための手段】
【０００７】
実施形態に係る画像処理装置は、取得手段と、算出手段とを具備する。前記取得手段は、光学系の収差の影響を受けた第１画像に含まれる、ぼけ関数が非点対称に表された第１色成分の第２画像と、前記第１色成分とは異なる第２色成分の第３画像とを取得する。前記算出手段は、前記第２画像に対して複数の異なるぼけを付加して得られる複数の第４画像と、前記第３画像との相関に応じて、前記第１画像に含まれる被写体までの距離を算出する。前記相関は、前記収差に基づいて計算される。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る撮像装置のハードウェア構成の一例を示す図。
【図２】フィルタの一例について説明するための図。
【図３】第１フィルタ領域及び第２フィルタ領域の透過率特性の一例を示す図。
【図４】撮像装置の機能構成の一例を示す図。
【図５】撮像装置の処理手順の一例を示すフローチャート。
【図６】被写体までの距離と画像において生じるぼけ形状との関係を説明するための図。
【図７】対象画像のぼけ形状の大きさが距離に応じて変化することを示す図。
【図８】基準画像のぼけ形状の大きさが距離に応じて変化することを示す図。
【図９】ぼけ補正カーネルの一例を示す図。
【図１０Ａ】像面湾曲の原理について説明するための図。
【図１０Ｂ】像面湾曲の原理について説明するための図。
【図１１Ａ】像面湾曲によって生じる収差を補正していない場合の指標値の分布の一例を示す図。
【図１１Ｂ】像面湾曲によって生じる収差を補正した場合の指標値の分布の一例を示す図。
【図１２】第２の実施形態に係る撮像装置の処理手順の一例を示すフローチャート。
【図１３】第３の実施形態に係るフィルタの一例について説明するための図。
【図１４】第１フィルタ領域及び第２フィルタ領域の透過率特性の例を示す図。
【図１５】撮像装置の処理手順の一例を示すフローチャート。
【図１６Ａ】像面湾曲によって生じる収差を補正していない場合の指標値の分布の一例を示す図。
【図１６Ｂ】像面湾曲によって生じる収差を補正した場合の指標値の分布の一例を示す図。
【図１７】第４の実施形態に係る撮像装置の処理手順の一例を示すフローチャート。
【図１８】撮像装置を備える移動体の構成の一例を示すブロック図。
【図１９】撮像装置を備える自動車の外観の一例を示す斜視図。
【図２０】撮像装置を備えるドローンの外観の一例を示す斜視図。
【図２１】撮像装置を備えるロボットの外観の一例を示す斜視図。
【図２２】撮像装置を備えるロボットアームの外観の一例を示す斜視図。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、各実施形態について説明する。
（第１の実施形態）
まず、第１の実施形態について説明する。図１は、第１の実施形態に係る撮像装置のハードウェア構成を示すブロック図である。
【００１０】
図１に示すように、撮像装置１００は、フィルタ１０と、レンズ２０と、イメージセンサ３０と、ＣＰＵ（Central Processing Unit）４０と、メモリ５０と、通信Ｉ／Ｆ６０と、ディスプレイ７０と、メモリカードスロット８０とを有する。
【００１１】
イメージセンサ３０、ＣＰＵ４０、メモリ５０、通信Ｉ／Ｆ６０、ディスプレイ７０及びメモリカードスロット８０は、バスにより接続される。
【００１２】
図１に示す例において、フィルタ１０に向かう矢印は、光の入射を表す。フィルタ１０は、撮像装置１００の光学系に設置される。なお、撮像装置１００の光学系は、レンズ２０及びイメージセンサ３０等から構成される。すなわち、フィルタ１０は、レンズ２０の内部や撮像装置１００の開口部に設置されてもよいし、レンズ２０とイメージセンサ３０との間に設置されてもよい。
【００１３】
フィルタ１０は被写体で反射した光を入射し、当該入射した光は、フィルタ１０及びレンズ２０を透過する。フィルタ１０及びレンズ２０を透過した光は、イメージセンサ３０に到達し、イメージセンサ３０によって受光される。イメージセンサ３０は、受光した光を電気信号に変換（光電変換）することによって、複数の画素から構成される画像を生成する。以下の説明においては、イメージセンサ３０によって生成される画像を便宜的に撮像画像と称する。
【００１４】
なお、イメージセンサ３０は、例えばＣＣＤ（Charge Coupled Device）イメージセンサ及びＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサ等により実現される。イメージセンサ３０は、例えば赤色（Ｒ）の波長帯域の光を検出するセンサ（Ｒセンサ）、緑色（Ｇ）の波長帯域の光を検出するセンサ（Ｇセンサ）及び青色（Ｂ）の波長帯域の光を検出するセンサ（Ｂセンサ）を有し、それぞれのセンサにより対応する波長帯域の光を受光して、各波長帯域（色成分）に対応するセンサ画像（Ｒ画像、Ｇ画像及びＢ画像）を生成する。すなわち、上記した撮像画像には、Ｒ画像、Ｇ画像及びＢ画像の各センサ画像が含まれる。
【００１５】
ＣＰＵ４０は、撮像装置１００の動作を統括的に制御するハードウェアプロセッサである。具体的には、ＣＰＵ４０は、メモリ５０等に記憶されたプログラムを実行し、撮像装置１００全体の動作を制御する。
【００１６】
メモリ５０は、ＨＤＤ（Hard Disk Drive）やＮＡＮＤ型フラッシュメモリ等の書き換え可能な不揮発性の記憶デバイスである。メモリ５０は、例えば撮像装置１００の制御に関するプログラムや処理に使用される各種データ等を記憶する。
【００１７】
通信Ｉ／Ｆ６０は、例えば外部機器との通信や、ユーザによる各種指示の入力を制御するインタフェースである。ディスプレイ７０は、液晶ディスプレイやタッチパネル等を含む。メモリカードスロット８０は、例えばＳＤメモリカード及びＳＤＨＣメモリカード等の可搬記憶媒体を挿入して利用することができるように構成されている。メモリカードスロット８０に記憶媒体が挿入された場合、当該記憶媒体に対するデータの書き込み及び読み出しが実行され得る。
【００１８】
次に、図２を参照して、フィルタ１０の一例について説明する。フィルタ１０は、カラーフィルタであり、特定の波長帯域の光を透過する。図２に示す例では、フィルタ１０は、第１フィルタ領域１１及び第２フィルタ領域１２を含む。
【００１９】
図２に示すように、フィルタ１０の中心は撮像装置１００の光学中心と一致している。第１フィルタ領域１１及び第２フィルタ領域１２は、それぞれ光学中心に対して非点対称である形状を有している。換言すれば、第１フィルタ領域１１及び第２フィルタ領域１２は、光学中心であるフィルタ領域の中心点（重心位置の点）を対称点とするときに、点対称形にならないように構成される。なお、第１フィルタ領域１１及び第２フィルタ領域１２は、重複せず、かつ、フィルタ１０の全領域を構成している。
【００２０】
図２に示す例では、第１フィルタ領域１１及び第２フィルタ領域１２は、それぞれ円形のフィルタ１０が光学中心を通る線分で分割された半円の形状を有している。また、第１フィルタ領域１１は例えばイエロー（Ｙ）のフィルタ領域であり、第２フィルタ領域１２は例えばシアン（Ｃ）のフィルタ領域である。この場合、第１フィルタ領域１１は、赤色の波長帯域の光と緑色の波長帯域の光とを透過し、青色の波長帯域の光を減衰させる。また、第２フィルタ領域１２は、緑色の波長帯域の光と青色の波長帯域の光とを透過し、赤色の波長帯域の光を減衰させる。
【００２１】
フィルタ１０は、２以上のカラーフィルタ領域を有する。カラーフィルタ領域の各々は、撮像装置１００の光学中心に対して非点対称な形状である。１のカラーフィルタ領域を透過する光の波長帯域の一部と、他のカラーフィルタ領域を透過する光の波長帯域の一部は、例えば重複する。すなわち、１のカラーフィルタ領域を透過する光の波長帯域は、例えば他のカラーフィルタ領域が透過する光の波長帯域を含んでいてもよい。
【００２２】
このようなフィルタ１０を介して被写体が撮像された場合には、それぞれぼけ関数が異なる各波長帯域に対応するセンサ画像（Ｒ画像、Ｇ画像及びＢ画像）が生成される。ぼけ関数とは、点光源を被写体として撮像した像のぼけの形状を表す関数であり、点拡がり関数（ＰＳＦ：Point Spread Function）とも称される。
【００２３】
なお、第１フィルタ領域１１と第２フィルタ領域１２とは、任意の波長帯域の透過率を変更するフィルタ、任意方向の偏光光を通過させる偏光フィルタまたは任意の波長帯域の集光パワーを変更するマイクロレンズであってもよい。具体的には、任意の波長帯域の透過率を変更するフィルタは、原色フィルタ（ＲＧＢ）、補色フィルタ（ＣＭＹ）、色補正フィルタ（ＣＣ−ＲＧＢ／ＣＭＹ）、赤外線または紫外線カットフィルタ、ＮＤフィルタ、遮蔽板であってもよい。第１フィルタ領域１１と第２フィルタ領域１２とがマイクロレンズである場合は、レンズ２０により光線の集光の分布に偏りが生じることでぼけ関数が変化する。
【００２４】
ここで、図３は、上記した第１フィルタ領域１１がイエロー（Ｙ）のフィルタ領域であり、第２フィルタ領域１２がシアン（Ｃ）のフィルタ領域である場合の当該第１フィルタ領域１１及び第２フィルタ領域の透過率特性の例を示す。図３においては、上記したように第１フィルタ領域１１が赤色の光と緑色の光を透過し、青色の光を減衰させることが示されている。また、図３においては、第２フィルタ領域１２が緑色の光と青色の光を透過し、赤色の光を減衰させることが示されている。
【００２５】
図４は、本実施形態に係る撮像装置１００の機能構成の一例を示す。図４に示すように、撮像装置１００は、撮像部１１０及び画像処理部１２０を含む。撮像部１１０は、撮像光学系に相当し、上述したフィルタ１０、レンズ２０及びイメージセンサ３０を含む。
【００２６】
画像処理部１２０は、撮像部１１０によって撮像された被写体を含む画像から当該被写体までの距離を算出する機能部である。本実施形態において、画像処理部１２０の一部または全ては、ＣＰＵ４０等のコンピュータにプログラムを実行させること、すなわちソフトウェアによって実現されるものとする。コンピュータに実行させるプログラムは、コンピュータ読み取り可能な記憶媒体に格納して頒布されてもよいし、ネットワークを通じて撮像装置１００にダウンロードされてもよい。なお、画像処理部１２０の一部または全ては、ＩＣ（Integrated Circuit）等のハードウェアによって実現されもよいし、ソフトウェア及びハードウェアの組み合わせ構成として実現されてもよい。
【００２７】
イメージセンサ３０は、フィルタ１０及びレンズ２０を透過した光を光電変換し、電気信号を画像処理部１２０に送る。図４においてはフィルタ１０とイメージセンサ３０との間にレンズ２０が設けられる構成が示されているが、上記したようにレンズ２０とイメージセンサ３０との間にフィルタ１０が設けられてもよいし、レンズ２０が複数ある場合には、２つのレンズの間にフィルタ１０が設けられてもよい。また、フィルタ１０は、レンズ２０の内部に設けられていてもよいし、レンズ２０の面上に設けられてもよい。すなわち、フィルタ１０は、イメージセンサ３０がフィルタ１０を透過した光を受光して画像を生成することが可能な位置に設けられていればよい。
【００２８】
イメージセンサ３０は、第１センサ３１、第２センサ３２及び第３センサ３３を含む。例えば第１センサ３１は赤色の波長帯域の光を検出するＲセンサであり、第２センサ３２は緑色の波長帯域の光を検出するＧセンサであり、第３センサ３３は青色の波長帯域の光を検出するＢセンサである。
【００２９】
第１センサ３１、第２センサ３２及び第３センサ３３の各々は、検出された光に基づいてセンサ画像を生成する。具体的には、第１センサ３１は、当該第１センサ３１によって検出された赤色の波長帯域の光に基づいてＲ画像を生成する。第２センサ３２は、当該第２センサ３２によって検出された緑色の波長帯域の光に基づいてＧ画像を生成する。第３センサ３３は、当該第３センサ３３によって検出された青色の波長帯域の光に基づいてＢ画像を生成する。これにより、イメージセンサ３０は、Ｒ画像、Ｇ画像及びＢ画像を含む撮像画像を生成することができる。
【００３０】
ここで、第２センサ３２は、上記したように第１フィルタ領域１１及び第２フィルタ領域１２の両方を透過した緑色の波長帯域の光を検出する。このため、第２センサ３２によって生成されるＧ画像は、他の画像（Ｒ画像及びＢ画像）より明るく、ノイズの少ない画像であり、フィルタ１０が設けられたことによる影響が少ない画像であるといえる。一方、第１センサ３１によって生成されるＲ画像及び第２センサ３３によって生成されるＢ画像は、第１フィルタ領域１１及び第２フィルタ領域１２の一方のフィルタ領域を透過した光から生成される画像であるため、Ｇ画像とは異なる。
【００３１】
上記したように第１センサ３１、第２センサ３２及び第３センサ３３によって生成されたＲ画像、Ｇ画像及びＢ画像を含む撮像画像（イメージセンサ３０によって生成された画像）は、イメージセンサ３０から画像処理部１２０に対して出力される。
【００３２】
図４に示すように、画像処理部１２０は、センサ制御部１２１、距離算出部１２２及び収差情報格納部１２３を含む。
【００３３】
センサ制御部１２１は、イメージセンサ３０を制御し、当該イメージセンサ３０から出力された撮像画像（Ｒ画像、Ｇ画像及びＢ画像）を取得する。なお、センサ制御部１２１によって取得される撮像画像に含まれるＲ画像、Ｇ画像及びＢ画像は、それぞれぼけ関数が異なる画像であり、例えばぼけ関数が非点対称に変更された対象画像及びぼけ関数が点対称である基準画像を含む。
【００３４】
距離算出部１２２は、後述するぼけ補正カーネルに基づいて異なるぼけを付加した対象画像と基準画像との相関に応じて、撮像画像に含まれる被写体までの距離を算出する（つまり、被写体までの距離情報を取得する）。
【００３５】
ここで、撮像画像（Ｒ画像、Ｇ画像及びＢ画像）は、上記した撮像光学系の収差の影響を受けている。このため、本実施形態において、被写体までの距離は、撮像光学系の収差の影響を考慮して算出されるものとする。
【００３６】
収差情報格納部１２３には、撮像光学系の収差を補正しながら被写体までの距離を算出する際に用いられる情報（以下、収差情報と表記）が予め格納されている。
【００３７】
なお、図４においては、画像処理部１２０が撮像装置１００に含まれるものとして説明したが、画像処理部１２０は、撮像装置１００とは別個の装置（画像処理装置）として実現されても構わない。
【００３８】
以下、図５のフローチャートを参照して、本実施形態に係る撮像装置１００の処理手順の一例について説明する。なお、図５に示す処理は、撮像装置１００に含まれる画像処理部１２０によって実行される。
【００３９】
ここで、撮像装置１００において例えば被写体が撮像された場合、上記したように当該被写体を含む撮像画像がイメージセンサ３０から出力される。
【００４０】
この場合、センサ制御部１２１は、上記したイメージセンサ３０から出力された撮像画像を取得する（ステップＳ１）。なお、ステップＳ１において取得された撮像画像は、上記した第１センサ３１、第２センサ３２及び第３センサ３３の各々によって生成されたセンサ画像（Ｒ画像、Ｇ画像及びＢ画像）を含む。このセンサ画像のうちの少なくとも１つは、フィルタ１０によってぼけ関数が非点対称に変更されている。すなわち、フィルタ１０のフィルタ領域（第１フィルタ領域１１及び第２フィルタ領域１２）は、イメージセンサ３０で受光される光のうち、任意の光を減衰させることや、光線の集光の分布に偏りを生じさせることで、センサ画像のぼけ関数を変更することができる。なお、図２において説明したフィルタ１０の例では、Ｂ画像及びＲ画像がフィルタ１０によってぼけ関数が非点対称に変更された画像に相当する。
【００４１】
次に、センサ制御部１２１は、ステップＳ１において取得された撮像画像から対象画像を取得する（ステップＳ２）。本実施形態において、対象画像は、例えばフィルタ１０が有する第１フィルタ領域１１で減衰（吸収）され、第２フィルタ領域１２を透過した光を受光して生成されたセンサ画像であり、例えばＢ画像である。Ｂ画像は、半円形のぼけ関数を有しており、ぼけ形状は半円形状となる。
【００４２】
以下の説明では、対象画像がＢ画像である場合について説明するが、対象画像は、第２フィルタ領域１２で減衰され、第１フィルタ領域１１を透過した光を受光して生成されたセンサ画像（Ｒ画像）であってもよい。
【００４３】
また、センサ制御部１２１は、ステップＳ１において取得された撮像画像から基準画像を取得する（ステップＳ３）。本実施形態において、基準画像は、例えばフィルタ１０が有する第１フィルタ領域１１及び第２フィルタ領域１２を透過した光を受光して生成されたセンサ画像であり、例えばＧ画像である。Ｇ画像は、円形のぼけ関数を有しており、ぼけ形状は円形状となる。
【００４４】
ここで、図６を参照して、被写体までの距離と画像において生じるぼけ形状（ぼけ関数）との関係を説明する。図６の左列は、それぞれ撮像装置１００を上方向（つまり、フィルタ１０の分割方向に平行なＹ軸の正方向）から見た場合におけるレンズ２０及びフィルタ１０の組み合わせとイメージセンサ３０と被写体との位置関係を示している。図６の中列と右列は、それぞれ左列において示している被写体を撮像したときにイメージセンサ３０上に形成される対象画像（Ｂ画像）及び基準画像（Ｇ画像）のぼけ形状を表している。
【００４５】
なお、以下の説明においては、撮像装置１００においてピントが合う位置（以下、ピント位置と表記）から被写体までの距離を距離ｄと称する。なお、距離ｄは、ピント位置を基準（０）として、撮像装置１００に対して被写体の位置がピント位置よりも遠い場合には正の値となり、撮像装置１００に対して被写体の位置がピント位置よりも近い場合には負の値となるものとする。
【００４６】
まず、被写体の位置がピント位置よりも遠い、つまり、距離ｄ＞０の場合を想定する。この場合、被写体にはピントが合っていないため、図６の上段に示すように、対象画像においても基準画像においてもぼけが生じる。
【００４７】
また、距離ｄ＞０の場合の対象画像のぼけ形状２０１ａは、例えば点対称な基準画像のぼけ形状２０２ａと比較して右側に偏った非点対称な形状となる。基準画像（Ｇ画像）のぼけ形状２０２ａが点対称形状であるのは、フィルタ１０が有する第１フィルタ領域１１と第２フィルタ領域１２がほぼ均等に緑色の光を透過させるためのである。一方、対象画像（Ｂ画像）のぼけ形状２０１ａが非点対称形状（右側に偏った形状）であるのは、フィルタ１０が有する第１フィルタ領域１１が青色の光を減衰させ、第２フィルタ領域１２が青色の光を透過させるためのである。
【００４８】
本実施形態において説明するぼけ形状とは、特定の画素を含む所定の範囲において生じているぼけの形状をいう。以下の説明においても同様である。
【００４９】
次に、被写体の位置がピント位置に一致する、つまり、距離ｄ＝０の場合を想定する。図６の中段に示すように、距離ｄ＝０の場合には、対象画像においても基準画像においてもぼけは生じない。
【００５０】
更に、被写体の位置がピント位置よりも近い、つまり、距離ｄ＜０の場合を想定する。この場合、図６の下段に示すように、被写体にはピントが合っていないため、対象画像においても基準画像においてもぼけが生じる。
【００５１】
また、上記したように対象画像（Ｂ画像）は第２フィルタ領域１２を主に透過した光（青色の光）に基づいて生成される画像であるが、距離ｄ＜０の場合の対象画像のぼけ形状２０１ｂは、図６の下段に示すように、例えば基準画像のぼけ形状２０２ｂと比較して左側に偏った形状となる。
【００５２】
すなわち、ぼけ形状２０１ｂは、上記したぼけ形状２０１ａと同様に非点対称形状であり、Ｙ軸方向に平行な直線を軸にしてぼけ形状２０１ａを反転した形状となる。
【００５３】
一方、この場合における基準画像のぼけ形状２０２ｂは、上記した基準画像のぼけ形状２０２ａと同様の点対称形状となる。
【００５４】
上記したように対象画像においては、距離ｄに応じてぼけ形状が変化する。具体的には、対象画像のぼけ形状は、距離ｄ＞０であれば基準画像のぼけ形状の左側が欠けた半円のような形状（非点対称形状）に変化し、距離ｄ＜０であれば基準画像のぼけ形状の右側が欠けた半円のような形状（非点対称形状）に変化する。
【００５５】
また、図６においては示されていないが、対象画像及び基準画像におけるぼけ形状の大きさ（幅）は、距離｜ｄ｜に依存する。なお、図７は、対象画像のぼけ形状の大きさが距離｜ｄ｜に応じて変化することを示している。また、図８は、基準画像のぼけ形状の大きさが距離｜ｄ｜に応じて変化することを示している。すなわち、ぼけ形状の大きさは、距離｜ｄ｜が大きいほど大きく（幅が広く）なる。
【００５６】
ここで、本実施形態においては上記したように第１フィルタ領域１１及び第２フィルタ領域１２を有するフィルタ１０を介して光を受光することによってそれぞれぼけ関数が異なるセンサ画像が生成されるが、当該センサ画像（対象画像及び基準画像）においては当該フィルタ１０に起因するぼけとは異なるレンズ収差（撮像光学系の収差）に起因するぼけ（画像劣化）が生じる場合がある。
【００５７】
このようにレンズ収差の影響を受けている対象画像及び基準画像に基づいて被写体までの距離が算出されると、当該距離の算出精度が低下する可能性がある。よって、被写体までの距離の算出においては、レンズ収差の影響を除去（補正）する必要がある。なお、レンズ収差には様々なものが存在するが、本実施形態においては、例えば像面湾曲によって生じる収差を対象とする。
【００５８】
ところで、被写体までの距離の算出に対して直接影響しない（つまり、対象画像及び基準画像のぼけ形状に影響を与えない）収差に関しては、当該距離の算出処理の前に除去することが好ましい。被写体までの距離の算出に対して直接影響しない収差には、例えば倍率色収差及び歪曲収差が含まれる。
【００５９】
再び図５に戻ると、距離算出部１２２は、収差情報格納部１２３に格納されている収差情報に基づいて、対象画像及び基準画像における倍率色収差及び歪曲収差を補正する（ステップＳ４）。
【００６０】
なお、倍率色収差とは、光の波長帯域（色成分）による屈折率の差から結像位置が異なる色収差をいう。この倍率色収差によれば、画像において像高方向の色ずれが生じる。また、歪曲収差によれば、被写体平面状の形状と像面（画像）上の形状とが相似にならないという位置ずれが生じる。
【００６１】
ここで、収差情報格納部１２３に格納されている収差情報には、例えば画像中の局所領域に対応する水平方向及び垂直方向の補正量（ずれ量）を保持する倍率色収差及び歪曲収差用の補正テーブル（以下、第１補正テーブルと表記）が含まれる。
【００６２】
ステップＳ４においては、このような第１補正テーブルを参照することによって、対象画像及び基準画像に対して倍率色収差により生じている色ずれ及び歪曲収差により生じている位置ずれが補正される。
【００６３】
本実施形態においては倍率色収差及び歪曲収差の両方を補正するものとして説明したが、収差の影響によっては、例えば倍率色収差及び歪曲収差の一方のみを補正する構成としてもよいし、倍率色収差及び歪曲収差の両方を補正しない構成としてもよい。具体的には、例えば焦点距離が小さい（画角が広い）レンズでは歪曲収差の影響が大きいのに対し、焦点距離が大きい（望遠）レンズでは歪曲収差の影響よりも倍率色収差の影響の方が大きい。このため、例えばレンズの焦点距離が予め定められた値よりも小さい場合には歪曲収差を補正する構成とし、当該レンズの焦点距離が予め定められた値よりも大きい場合には倍率色収差を補正する構成とするようにしてもよい。なお、倍率色収差または歪曲収差を補正するか否かについては、その他のレンズの特性（当該レンズの部材等）に応じて決定されてもよい。
【００６４】
ステップＳ４の処理が実行されると、対象画像及び基準画像（撮像画像）を構成する画素毎にステップＳ５以降の処理を実行する。以下、ステップＳ５以降の処理の対象となる画素を対象画素として説明する。以下の説明において、対象画像のぼけ形状とは、対象画像を構成する対象画素を含む所定の範囲内のぼけの形状であり、基準画像のぼけ形状とは、基準画像を構成する対象画素を含む所定の範囲内のぼけの形状であるものとする。
【００６５】
この場合、距離算出部１２２は、対象画像に異なるぼけを付加することで、当該対象画像のぼけ形状を補正（変更）した補正画像を生成する（ステップＳ５）。
【００６６】
ここで、対象画像と基準画像とのぼけ形状は、上記したように撮像画像に含まれる被写体までの距離ｄに応じて変化する。このため、本実施形態では、撮像画像に含まれる被写体までの距離が任意の距離ｄであると仮定し、異なる距離ｄ毎に作成した複数のぼけ補正カーネル（ぼけ変更フィルタ）を用意する。この複数のぼけ補正カーネルを用いて対象画像のぼけ形状を補正した補正画像を生成することによって、当該生成した補正画像と基準画像との相関がより高くなるぼけ補正カーネルを特定し、当該特定されたぼけ補正カーネルに対応する距離ｄを求めることで被写体までの距離を算出する。なお、ぼけ補正カーネルは、対象画像のぼけ形状を基準画像のぼけ形状に補正するための畳み込み関数である。
【００６７】
以下、上記したステップＳ５における補正画像の生成処理について具体的に説明する。まず、フィルタ１０の影響を受けていない画像（センサ画像）について考える。この場合、センサ画像Ｉｘに含まれる被写体からピント位置までの距離をｄとすると、センサ画像Ｉｘは、ぼけの少ない理想的なセンサ画像Ｉｙと、上記したように距離ｄに応じて変化するセンサ画像のぼけ関数ｆ（ｄ）を用いて、以下の式（１）で表すことができる。
【００６８】
【数１】
2019207185.tif 000003
【００６９】
なお、上記したセンサ画像のぼけ関数ｆ（ｄ）は、撮像装置１００の開口形状と距離ｄとによって決定される。距離ｄについては、上記したようにピント位置を基準として、被写体がピント位置よりも遠くに存在する場合はｄ＞０、被写体がピント位置よりも近くに存在する場合はｄ＜０となる。撮像装置１００の開口形状が円形状（点対称形状）である場合には、ぼけ関数ｆ（ｄ）の形状はピント位置の前後で変化はないため、ぼけ関数ｆ（ｄ）は距離ｄの大きさ｜ｄ｜によってぼけの幅が変化するガウス関数として表現できる。なお、ぼけ関数ｆ（ｄ）は、距離ｄの大きさ｜ｄ｜によってぼけの幅が変化するプルボックス関数として表現してもよい。
【００７０】
次に、フィルタ１０の影響を受けている画像（対象画像及び基準画像）について考える。ここで、対象画像Ｉｘｏは、式（１）と同様に、開口形状とフィルタ領域との特性から決定されるぼけ関数ｆｏ（ｄ）を用いて、以下の式（２）で表すことができる。
【００７１】
【数２】
2019207185.tif 000004
【００７２】
また、基準画像Ｉｘｒは、式（１）と同様に、開口形状とフィルタ領域との特性から決定するぼけ関数ｆｒ（ｄ）を用いて、以下の式（３）で表すことができる。
【００７３】
【数３】
2019207185.tif 000005
【００７４】
ここで、図２に示すフィルタ１０（第１フィルタ領域１１及び第２フィルタ領域１２）の場合、対象画像（Ｂ画像）のぼけ関数ｆｏ（ｄ）は、第１フィルタ領域１１での光減衰の影響により、上記した図６において説明したようにピント位置であるｄ＝０の前後で異なる形状に変化する。また、上記した図７に示すように、対象画像のぼけ関数ｆｏ（ｄ）は、被写体がピント位置よりも遠方にあるｄ＞０の場合に、ｘ＞０で第１のフィルタ領域での光減衰に応じて、減衰したぼけの幅｜ｄ｜のガウス関数となる。同様に、対象関数のぼけ関数ｆｏ（ｄ）は、被写体がピント位置よりも近方にあるｄ＜０の場合に、ｘ＜０で第１フィルタ領域１１での光減衰に応じて、減衰したぼけの幅｜ｄ｜のガウス関数となる。
【００７５】
一方、図２に示したフィルタ１０の場合、基準画像（Ｇ画像）は第１フィルタ領域１１及び第２フィルタ領域１２の影響を受けないため、当該基準画像のぼけ関数ｆｒ（ｄ）＝ｆ（ｄ）となる。
【００７６】
対象画像Ｉｘｏにぼけを付加して、対象画像Ｉｘｏのぼけ形状を基準画像Ｉｘｒのぼけ形状と一致させるためのぼけ関数を、ぼけ補正カーネルｆｃ（ｄ）と定義する。この場合、上記した基準画像Ｉｘｒは、ぼけ補正カーネルｆｃ（ｄ）及び対象画像Ｉｘｏを用いて、以下の式（４）で表すことができる。
【００７７】
【数４】
2019207185.tif 000006
【００７８】
式（４）のぼけ補正カーネルｆｃ（ｄ）は、上記した式（２）〜式（４）により、基準画像Ｉｘｒのぼけ関数ｆｒ（ｄ）と対象画像Ｉｘｏのぼけ関数ｆｏ（ｄ）とを用いて、以下の式（５）のように表すことができる。
【００７９】
【数５】
2019207185.tif 000007
【００８０】
式（５）のｆｏ−１（ｄ）は、対象画像のぼけ関数ｆｏ（ｄ）の逆フィルタである。本実施形態においては、これらにより、基準画像Ｉｘｒと対象画像Ｉｘｏとのぼけ関数から解析してぼけ補正カーネルｆｃ（ｄ）を算出することが可能となる。対象画像Ｉｘｏのぼけ形状（ぼけ関数）は、ぼけ補正カーネルｆｃ（ｄ）を用いて、任意の距離ｄを想定した様々なぼけ形状に補正することができる。
【００８１】
ここで、図９は、上記したぼけ補正カーネルの例を示す。なお、図９においては、距離ｄ＜０の場合の対象画像のぼけ関数にぼけを付加するぼけ補正カーネルが示されている。
【００８２】
図９に示すぼけ補正カーネルｆｃ（ｄ）は、第１フィルタ領域１１と第２フィルタ領域１２とを分割する線分の中心点を通り、かつ、当該線分に対して垂直方向の直線状（直線付近）に分布するぼけ関数に相当する。
【００８３】
対象画像Ｉｘｏのぼけ形状を任意の距離ｄにおけるぼけ補正カーネルｆｃ（ｄ）を用いて補正した補正画像をＩｘ´ｏ（ｄ）とすると、補正画像Ｉｘ´ｏ（ｄ）は、以下の式（６）で表すことができる。
【００８４】
【数６】
2019207185.tif 000008
【００８５】
上記したステップＳ５において、距離算出部１２２は、このような式（６）により、任意の距離ｄに対応するぼけ関数ｆｃ（ｄ）を用いて対象画像Ｉｘｏにぼけ付加し、補正画像Ｉｘ´ｏ（ｄ）を生成することができる。
【００８６】
再び図５に戻ると、距離算出部１２２は、ステップＳ５において生成された補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘｒとを比較し、補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘｒとのぼけ形状の一致度を計算する（ステップＳ６）。ステップＳ６においては、後述するように光学系の収差に基づいてぼけ形状の一致度が計算される。なお、ぼけ形状の一致度としては、対象画素を中心とする任意サイズの矩形領域における補正画像Ｉｘ´ｏと基準画像Ｉｘｒとの相関が計算されればよい。このぼけ形状の一致度の計算には、例えばＳＳＤ（Sum of Squared Difference）、ＳＡＤ（Sum of Absolute Difference）、ＮＣＣ（Normalized Cross-Correlation）、ＺＮＣＣ（Zero-mean Normalized Cross-Correlation）、Color Alignment Measure、エッジ画像のＺＮＣＣ等を利用することができる。本実施形態においては、明るさの変動にロバストなＺＮＣＣを利用するものとする。
【００８７】
次に、距離算出部１２２は、ステップＳ６において算出された一致度に基づいて、補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘｒとのぼけ形状が一致しているか否かを判定する（ステップＳ７）。なお、ぼけ形状が一致するとは、当該ぼけ形状が完全に一致する場合だけではなく、一致度が所定の閾値以上である場合を含めてもよい。また、後述するＺＮＣＣを利用した指標を一致度として用いる場合には、ステップＳ７における判定処理において、当該指標値が閾値未満である場合にぼけ形状が一致すると判定されてもよい。
【００８８】
補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘｒとのぼけ形状が一致していると判定された場合（ステップＳ７のＹＥＳ）、補正画像Ｉｘ´ｏ（ｄ）における距離ｄが撮像画像に含まれる被写体までの距離として算出される。
【００８９】
一方、補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘｒとのぼけ形状が一致していないと判定された場合（ステップＳ７のＮＯ）、上記したステップＳ５に戻って処理が繰り返される。この場合、上記したぼけ補正カーネルｆｃ（ｄ）における距離ｄを変えてステップＳ５の処理が実行される。
【００９０】
なお、図５ではステップＳ７において補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘｒとのぼけ形状が一致していると判定された場合に処理が終了されるものとして説明したが、例えば仮定する全ての距離ｄについて一致度を算出し、当該一致度が最も高い距離ｄを被写体までの距離として算出するようにしてもよい。
【００９１】
換言すれば、距離算出部１２２は、補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘｒとで相関が最も高くなる距離ｄを求めることにより、被写体までの距離を算出することができる。
【００９２】
なお、ここでは対象画素についてステップＳ５以降の処理が実行される場合について説明したが、当該対象画素について被写体までの距離が算出された場合には、当該対象画素以外の画素についてもステップＳ５以降の処理が実行される。これにより、撮像画像（ＲＧＢ画像）中に含まれる全ての被写体までの距離を算出することができる。
【００９３】
以下、上記した図５に示すステップＳ６における一致度の計算処理について具体的に説明する。ステップＳ６においては、イメージセンサ３０によって生成された撮像画像に含まれる基準画像Ｉｘｒと、距離ｄを仮定した（つまり、ぼけ補正カーネルｆｃ（ｄ）を用いて対象画像Ｉｘｏにぼけを付加した）補正画像Ｉｘ´ｏ（ｄ）とから生成されるＲＧＢ画像の対象画素を中心とする局所領域（上記した任意サイズの矩形領域）で、指標Ｌ（ｄ）を計算する。上記したように基準画像ＩｘｒがＧ画像ＩＧ、対象画像ＩｘｏがＢ画像ＩＢであるものとすると、指標Ｌ（ｄ）は以下の式（７）により計算される。
【００９４】
【数７】
2019207185.tif 000009
【００９５】
なお、式（７）において、Ｉ´Ｂ（ｄ）はぼけ補正カーネルｆｃ（ｄ）を用いてＢ画像ＩＢのぼけ形状を補正した補正画像であり、ＩＧはＧ画像（基準画像）である。また、∇Ｉは、ぼけ画像Ｉのエッジ画像である。このような式（７）における指標Ｌ（ｄ）は、値が小さいほど画像の一致度が高いことを示している。すなわち、本実施形態においては、この指標Ｌ（ｄ）を一致度として用いることができる。
【００９６】
ここで、上記したように実際のレンズ２０には収差が存在し、本実施形態における被写体までの距離の算出（推定）精度を低下させる場合がある。なお、被写体までの距離の算出に対して直接影響がある収差としては上記した像面湾曲を想定している。像面湾曲とは、例えば球面レンズの影響で集光面が湾曲し、像面が球面になる単色収差をいう。
【００９７】
以下、図１０Ａ及び１０Ｂを参照して、像面湾曲の原理について説明する。図１０Ａは、本実施形態におけるフィルタ１０が設けられていない場合の像面湾曲によって生じる収差の影響について説明するための図である。図１０Ｂは、本実施形態におけるフィルタ１０が設けられている場合の像面湾曲によって生じる収差の影響を説明するための図である。
【００９８】
上記したように単色収差である像面湾曲は、平面物体を撮像するとイメージセンサの中央にピントが合っていたとしても、撮像画像の端でピントがずれてぼけが生じるという現象である。
【００９９】
本実施形態におけるフィルタ１０が設けられていない場合には、レンズは波長帯域によらず全ての光を透過させるので、図１０Ａに示すように、対象画像（Ｂ画像）と基準画像（Ｇ画像）とで観測されるぼけ関数は同様の形状となる。
【０１００】
一方、本実施形態におけるフィルタ１０が設けられている場合（つまり、一部の波長帯域を遮断する第１フィルタ領域１１が存在する場合）には、図１０Ｂに示すように、像面湾曲の影響で対象画像（Ｂ画像）のぼけ関数が変化する。
【０１０１】
上記したように像面湾曲は本来単色収差であるが、図１０Ｂに示すぼけ関数の変化は、フィルタ１０の挿入により色収差となって発生したものである。
【０１０２】
本実施形態においては、このように発生する色収差の影響を緩和（補正）しながら、精度の高い一致度を計算し、誤差の少ない距離推定を実現するために、以下の式（８）により上記した指標Ｌ（ｄ）を計算する。なお、式（８）におけるｃが像面湾曲によるずれの補正量である。
【０１０３】
【数８】
2019207185.tif 000010
【０１０４】
ここで、図１１Ａは、像面湾曲によって生じる収差を補正していない場合の指標値、すなわち、上記した式（７）を用いて計算された指標値（指標Ｌ（ｄ））の分布を示す。一方、図１１Ｂは、像面湾曲によって生じる収差を補正した場合の指標値、すなわち、上記した式（８）を用いて算出された指標値の分布を示す。
【０１０５】
像面湾曲によって生じる収差を補正していない場合には、図１１Ａに示すように、指標値の最小値（すなわち、一致度が最も高いｄ）が真値に対してずれている。
【０１０６】
これに対して、図１１Ｂに示すように、例えば上記した像面湾曲によるずれの補正量が定義された像面湾曲用の補正テーブル（以下、第２補正テーブルと表記）を用いて指標値と距離ｄの対応関係を変更する（ずらす）ことによって、像面湾曲によるずれを補正することができる。なお、この第２補正テーブルは上記した収差情報として収差情報格納部１２３に予め格納されているものとする。
【０１０７】
ここで、この像面湾曲によって生じる収差の補正処理は各画素で行われるため、画像全体の（つまり、画像を構成する画素毎に補正量が定義された）第２補正テーブルが用意されているものとする。第２補正テーブルは、事前に評価パターンを撮像し、平面からのずれ量を計測しておくことで作成されるものとする。このように得られる計測点から画像全体のずれ量を求めるためには、多項式近似曲線やゼルニケ多項式等のモデル近似を用いる。なお、モデル係数がわかれば展開により画像全体の補正量が計算可能である。このため、上記した収差情報として収差情報格納部１２３に格納されている第２補正テーブルは、モデル係数であってもよいし、展開後の全画素の補正値でもよい。
【０１０８】
なお、像面湾曲によって生じる収差は、被写体までの距離（撮像距離）に応じて変化する場合があるため、当該距離に応じて第２補正テーブルを切り替える構成としても構わない。この場合には、例えば以下の式（９）により指標Ｌ（ｄ）を計算するものとする。
【０１０９】
【数９】
2019207185.tif 000011
【０１１０】
この式（９）においては、ｃ（ｄ）が像面湾曲によるずれの補正量であり、当該補正量を距離ｄに応じて変化させる。ｃ（ｄ）は、距離に応じた第２補正テーブルを複数用意して、当該複数の第２補正テーブルのうち距離ｄに最も近い距離に応じた第２補正テーブルを参照することによって特定されてもよいし、当該距離ｄに近い距離に応じた複数の第２補正テーブルから線形補間により求めてもよいし、または、距離方向に対するモデル近似により展開された値としてもよい。
【０１１１】
上記したように本実施形態においては、撮像光学系の収差（レンズ収差）の影響を受けた撮像画像（第１画像）に含まれる、ぼけ関数が非点対称に表された例えば青色（第１色成分）の対象画像（第２画像）と、ぼけ関数が点対称に表された例えば緑色（第２色成分）の基準画像（第３画像）とを取得し、対象画像に対して複数の異なるぼけを付加して得られる複数の画像（補正画像）と基準画像との相関に応じて、撮像画像に含まれる被写体までの距離を算出する。なお、本実施形態において、被写体までの距離を算出するための画像間の相関は撮像光学系の収差に基づいて計算されるが、当該撮像光学系の収差には、フィルタ１０を用いて撮像された被写体までの距離の算出に対して影響を与える像面湾曲によって生じる収差が含まれる。
【０１１２】
すなわち、本実施形態においては、撮像装置１００の光学系に設置したフィルタ１０に応じて変更された対象画像のぼけ形状を、距離ｄを仮定したぼけ補正カーネル（対象画像のぼけ関数を基準画像のぼけ関数に補正するための畳み込み関数）により補正した補正画像を生成し、当該生成した補正画像と基準画像との相関がより高くなる距離ｄを求めることで、撮像画像に含まれる被写体（撮像画像に写る被写体）までの距離を算出する際に、事前に計測した像面湾曲によるずれを補正する。
【０１１３】
なお、ぼけ補正カーネルは対象画像のぼけ関数と基準画像のぼけ関数とを解析することによって算出することが可能であり、本実施形態においては、任意の距離の被写体のぼけを補正するための複数のぼけ補正カーネルが予め用意されているものとする。
【０１１４】
本実施形態においては、このような構成により、レンズ収差（像面湾曲）により生じるずれを補正しながら、ぼけ関数とサンプリング位置が一致する画像の相関を用いて距離を算出するため、精度の高い距離情報を得ることが可能となり、誤差の少ない距離推定を実現することができる。更に、本実施形態においては、空間情報の畳み込み結果であるぼけ情報を利用するため、距離推定の結果が安定的であり、繰り返しパターンや陰面等の影響を受けることのない距離推定を実現することができる。
【０１１５】
なお、本実施形態においては、上記したように算出された被写体までの距離（距離情報）に基づいて加工された距離画像等を生成することが可能である。具体的には、距離画像としては、例えば被写体までの距離に応じて、手前に存在する被写体ほど明るく、奥に存在する被写体ほど暗くなるような画像を生成することができる。
【０１１６】
更に、本実施形態においては、被写体までの距離の算出に用いられる対象画像及び基準画像に対して事前に倍率色収差により生じている色ずれまたは歪曲収差により生じている位置ずれを補正することが可能であるため、より精度の高い距離情報を得ることができる。
【０１１７】
なお、本実施形態においては第２フィルタ領域１２がシアンのフィルタ領域であるものとして説明したが、上記した図５に示す処理のように対象画像をＢ画像、基準画像をＧ画像とする場合には、第２フィルタ領域１２は緑色及び青色の波長帯域の光を透過するものであれば他のフィルタ領域であっても構わない。
【０１１８】
例えば第２フィルタ領域１２が全ての波長帯域の光を透過する透明なフィルタ領域等である場合には、緑色の波長帯域の光と同様に、赤色の波長帯域の光も第１フィルタ領域１１及び第２フィルタ領域１２の両方を透過する。この場合には、Ｒ画像を基準画像としてもよい。また、Ｇ画像及びＲ画像の両方を基準画像として、当該Ｇ画像及びＲ画像のそれぞれに対して指標（一致度）を算出し、当該指標の加重平均を用いて被写体までの距離が算出されるようにしてもよい。
【０１１９】
また、本実施形態において説明したように第１フィルタ領域がイエローのフィルタ領域であり、第２フィルタ領域１２がシアンのフィルタ領域である場合には、赤色の波長帯域の光は第１フィルタ領域１１を透過し、第２フィルタ領域１２で減衰されるため、Ｒ画像のぼけ関数もＢ画像のぼけ数と同様に非点対称に変更される。この場合には、Ｂ画像ではなく、Ｒ画像を対象画像としてもよい。なお、Ｒ画像のぼけ関数（ぼけ形状）は、Ｂ画像のぼけ形状をＹ軸方向に平行な直線を軸にして反転した形状となる。
【０１２０】
なお、本実施形態におけるフィルタ１０には、点対称形でなければ、任意の領域数のフィルタ領域が存在していてもよい。また、フィルタ１０は、センサ画像のぼけ関数を変更することが可能であれば、１つのフィルタ領域により構成されていてもよいし、複数のフィルタ領域により構成されていてもよい。
【０１２１】
また、本実施形態において、第１のフィルタ領域１１及び第２のフィルタ領域１２はフィルタ１０を任意の直線で分割した形状であり、当該直線は光学中心を通過する。このような構成によれば、ぼけ補正カーネルの次元を削減することができ、かつ、光量調整のための遮蔽物等の絞り機構が挿入された場合であってもセンサ画像のぼけ関数を変更可能な構造とすることができる。
【０１２２】
また、本実施形態においてイメージセンサ３０は第１センサ３１（Ｒセンサ）、第２センサ３２（Ｇセンサ）及び第３センサ３３（Ｂセンサ）を有するものとして説明したが、イメージセンサ３０は、２以上のセンサを有し、フィルタ１０を光が通過することにより、ぼけ関数が非点対称に変更された対象画像と、少なくとも１種類以上のセンサ画像である基準画像等を生成することが可能なように構成されていればよい。２以上のセンサとは、例えば、ＲＧＢセンサのうち、ＲセンサとＧセンサ、ＧセンサとＢセンサ、ＲセンサとＢセンサ、ＲセンサとＧセンサとＢセンサ等の２以上のセンサの組み合わせをいう。すなわち、イメージセンサ３０は、例えば２以上のセンサのうち、いずれかのセンサが対象画像を生成し、他のセンサが基準画像を生成するように構成されていればよい。
【０１２３】
また、本実施形態においてはイメージセンサ３０がＲＧＢセンサを備えるものとして主に説明したが、イメージセンサ３０が有するセンサの波長帯域はこれらに限られるものではない。
【０１２４】
（第２の実施形態）
次に、第２の実施形態について説明する。なお、本実施形態に係る撮像装置のハードウェア構成、フィルタ及び機能構成は、前述した第１の実施形態と同様であるため、適宜、図１、図２及び図４等を用いて説明する。また、以下の説明においては、前述した第１の実施形態と同様の部分についてはその詳しい説明を省略し、当該第１の実施形態と異なる部分について主に述べる。
【０１２５】
前述した第１の実施形態においては倍率色収差を補正するものとして説明したが、当該第１の実施形態では、距離に応じて変動する倍率色収差には対応していない。
【０１２６】
そこで、本実施形態においては、被写体までの距離を算出するタイミングで倍率色収差補正を行う点で、前述した第１の実施形態とは異なる。
【０１２７】
以下、図１２のフローチャートを参照して、本実施形態に係る撮像装置１００の処理手順の一例について説明する。なお、図１２に示す処理は、撮像装置１００に含まれる画像処理部１２０によって実行される。
【０１２８】
まず、前述した図５に示すステップＳ１〜Ｓ３の処理に相当するステップＳ１１〜Ｓ１３の処理が実行される。
【０１２９】
次に、距離算出部１２２は、収差情報格納部１２３に格納されている収差情報（第１補正テーブル）に基づいて、対象画像及び基準画像における倍率色収差を補正する（ステップＳ１４）。
【０１３０】
なお、ステップＳ１４の処理が実行された場合には前述した図５に示すステップＳ５〜Ｓ７の処理に相当するステップＳ１５〜Ｓ１７の処理が実行されるが、ステップＳ１４においては、当該ステップＳ１５及びＳ１６において用いられる距離ｄに応じた補正量により倍率色収差により生じている色ずれを補正するものとする。
【０１３１】
この場合における距離ｄに応じた補正量は、例えば距離に応じた複数の第１補正テーブルを用意しておき、当該複数の第１補正テーブルのうち距離ｄに最も近い距離に応じた第１補正テーブルを参照することによって特定されてもよいし、当該距離ｄに近い距離に応じた複数の第１補正テーブルから線形補間により求めてもよいし、または、距離方向に対するモデル近似により展開された値としてもよい。
【０１３２】
なお、本実施形態においては距離ｄに応じた補正量により倍率色収差を補正する構成であるため、ステップＳ１７において補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘｒとのぼけ形状が一致していないと判定された場合（ステップＳ１７のＮＯ）、ステップＳ１４に戻って処理が繰り返される。
【０１３３】
本実施形態においては、上記した処理が実行されることによって、被写体までの距離を算出するタイミングで距離ｄに応じた補正量により倍率色収差を補正することが可能となる。
【０１３４】
また、前述した第１の実施形態においては対象画像及び基準画像を構成する各画素についてステップＳ５以降の処理が実行されるものとして説明したが、本実施形態においては、対象画像及び基準画像を構成する各画素についてステップＳ１４以降の処理が実行される。
【０１３５】
なお、図１２においては省略されているが、前述した第１の実施形態において説明した歪曲収差を補正する処理がステップＳ１３の処理の後等に実行されるようにしても構わない。
【０１３６】
上記したように本実施形態においては、倍率色収差による影響が距離に応じて変動する点を考慮して当該倍率色収差を補正することにより、より精度の高い距離情報を得ることが可能となり、誤差の少ない距離推定を実現することができる。
【０１３７】
（第３の実施形態）
次に、第３の実施形態について説明する。前述した第１の実施形態においてはセンサ画像（例えば、Ｇ画像）を基準画像とするものとして説明したが、本実施形態は、いずれかのセンサ画像にぼけを付加した画像を基準画像とする点で、前述した第１の実施形態とは異なる。なお、本実施形態に係る撮像装置のハードウェア構成は、前述した第１の実施形態と同様であるため、適宜、図１を用いて説明する。また、以下の説明においては、前述した第１の実施形態と同様の部分についてはその詳しい説明を省略し、当該第の１実施形態と異なる部分について主に述べる。
【０１３８】
まず、図１３を参照して、本実施形態におけるフィルタ１０の一例について説明する。ここでは、前述した第１の実施形態におけるフィルタ１０と異なる点について説明する。
【０１３９】
図１３に示すように、本実施形態におけるフィルタ１０は、第１フィルタ領域１３及び第２フィルタ領域１４を含む。
【０１４０】
本実施形態において、第１フィルタ領域１３及び第２フィルタ領域１４は、イメージセンサ３０のＲＧＢセンサのいずれかの波長帯域において異なる透過率特性を有している。具体的には、第１フィルタ領域１３は黄色の色補正フィルタ（ＣＣ−Ｙ）であり、第２フィルタ領域１４はシアンの色補正フィルタ（ＣＣ−Ｃ）であるものとして説明する。
【０１４１】
図１４は、上記した第１フィルタ領域１３及び第２フィルタ領域１４の透過率特性の例を示す。
【０１４２】
図１４に示すように、第１フィルタ領域１３は、赤色の光と、緑色の光と、青色の光との全ての波長帯域の光を透過する。また、第２フィルタ領域１４は、赤色の光と、緑色の光と、青色の光との全ての波長帯域の光を透過する。
【０１４３】
しかしながら、第１フィルタ領域１３と第２フィルタ領域１４とでは、各波長帯域の透過率が異なる。なお、第１フィルタ領域１３と第２フィルタ領域１４とは、任意の波長帯域の透過率を変更するフィルタや、任意方向の偏光光を通過させる偏光フィルタまたは任意の波長帯域の集光パワーを変更するマイクロレンズであってもよい。具体的には、任意の波長帯域の透過率を変更するフィルタは、原色フィルタ（ＲＧＢ）、補色フィルタ（ＣＭＹ）、色補正フィルタ（ＣＣ−ＲＧＢ／ＣＭＹ）、赤外線または紫外線カットフィルタ、ＮＤフィルタ、遮蔽板であってもよい。第１フィルタ領域１３と第２フィルタ領域１３とがマイクロレンズである場合は、レンズ２０により光線の集光の分布に偏りが生じることでぼけ関数が変化する。
【０１４４】
本実施形態に係る撮像装置１００は、上記した構成のフィルタ１０を介して任意の被写体を撮像することによって、当該被写体までの距離を示す距離情報を得ることができる。
【０１４５】
なお、本実施形態に係る撮像装置１００の機能構成は前述した第１の実施形態と同様であるが、本実施形態において、画像処理部１２０に含まれる距離算出部１２２は、予め用意されている複数のぼけ補正カーネルに基づいて異なるぼけを付加した対象画像（補正画像）と、いずれかのセンサ画像（対象画像）にぼけを付加した基準画像との相関に応じて、撮像画像に含まれる被写体までの距離を算出する。
【０１４６】
以下、図１５のフローチャートを参照して、本実施形態に係る撮像装置１００の処理手順の一例について説明する。なお、図１５に示す処理は、撮像装置１００に含まれる画像処理部１２０によって実行される。
【０１４７】
まず、前述した図５に示すステップＳ１の処理に相当するステップＳ２１の処理が実行される。
【０１４８】
次に、センサ制御部１２１は、ステップＳ２１において取得された撮像画像から対象画像を取得する（ステップＳ２２）。
【０１４９】
ここで、対象画像のぼけ関数は、フィルタ１０（第１フィルタ領域１３及び第２フィルタ領域１４）により非点対称に変化している。この結果、被写体の位置がピント位置よりも遠くに存在する場合（ｄ＞０）と、被写体の位置がピント位置よりも近くに存在する場合（ｄ＜０）とで、対象画像のぼけは、非点対称形のぼけとなり、また、ピント位置の前後で異なる形状となる。具体的には、第１センサ３１（Ｒセンサ）、第２センサ３２（Ｇセンサ）及び第３センサ３３（Ｂセンサ）の各波長帯域で観測される光が、第１のフィルタ領域１３と第２フィルタ領域１３とのどちらをより多く通過してきたかで、対象画像のぼけ形状の偏りが定まる。なお、被写体の位置がピント位置に存在する場合（ｄ＝０）は、対象画像はぼけのない画像となる。
【０１５０】
なお、図１３に示すフィルタ１０の場合、第１フィルタ領域１３及び第２フィルタ領域１４により、赤色の波長帯域の光と、緑色の波長帯域の光と、青色の波長帯域の光との全てが減衰し、通過してイメージセンサ３０で受光される。このため、本実施形態においては、ステップＳ２１において取得された撮像画像に含まれるセンサ画像の全て（Ｒ画像、Ｇ画像及びＢ画像）が対象画像となり得る。なお、対象画像は、Ｒ画像、Ｇ画像及びＢ画像の全ての画像でなくてもよい。センサ制御部１２１は、撮像画像に含まれる複数のセンサ画像から選択されたセンサ画像を対象画像として取得する。
【０１５１】
フィルタ１０を通過する光のうち、青色の光は、ＣＣ−Ｃフィルタ（第２フィルタ領域１３）よりもＣＣ−Ｙフィルタ（第１のフィルタ領域）でより吸収され、減衰する。このため、被写体の位置がピント位置よりも遠くに存在する場合（ｄ＞０）では、Ｂ画像には円形状と比較して右側に偏ったぼけが生じ、被写体の位置がピント位置よりも近くに存在する場合（ｄ＜０）では、Ｂ画像には円形状と比較して左側に偏ったぼけが生じる。
【０１５２】
また、フィルタ１０を通過する光のうち、赤色の光は、ＣＣ−Ｙフィルタ（第１フィルタ領域１３）よりもＣＣ−Ｃフィルタ（第２フィルタ領域１４）でより吸収され、減衰する。このため、被写体の位置がピント位置よりも遠くに存在する場合（ｄ＞０）では、Ｒ画像には円形状と比較して左側に偏ったぼけが生じ、被写体の位置がピント位置よりも近くに存在する場合（ｄ＜０）では、Ｒ画像には円形状と比較して右側に偏ったぼけが生じる。
【０１５３】
また、フィルタ１０を通過する光のうち、緑色の光は、ＣＣ−Ｃフィルタ（第２のフィルタ領域１４）よりもＣＣ−Ｙフィルタ（第１フィルタ領域１３）でより吸収され、減衰する。このため、被写体の位置がピント位置よりも遠くに存在する場合（ｄ＞０）では、Ｇ画像には円形状と比較して右側に偏ったぼけが生じ、被写体の位置がピント位置よりも近くに存在する場合（ｄ＜０）では、Ｇ画像には円形状と比較して左側に偏ったぼけが生じる。
【０１５４】
なお、以下の説明においては、ステップＳ２２においては撮像画像に含まれるセンサ画像（Ｒ画像、Ｇ画像及びＢ画像）の全てが対象画像として取得されたものとして説明する。
【０１５５】
ステップＳ２２の処理が実行されると、図５に示すステップＳ４の処理に相当するステップＳ２３の処理が実行される。
【０１５６】
次に、対象画像（撮像画像）を構成する画素毎にステップＳ２４以降の処理が実行される。以下、ステップＳ２４以降の処理の対象となる画素を対象画素として説明する。以下の説明において、対象画像のぼけ形状とは、対象画素を構成する画素を含む所定の範囲内のぼけの形状であるものとする。
【０１５７】
この場合、距離算出部１２２は、ステップ２２において取得された対象画像のうちの少なくとも１つの対象画像（以下、第１対象画像と表記）のぼけ形状を任意形状のぼけに補正した基準画像を生成する（ステップＳ２４）。
【０１５８】
ステップＳ２４において、距離算出部１２２は、被写体まで距離が任意の距離ｄであると仮定し、当該距離ｄについて作成したぼけ補正カーネルを用いて、第１対象画像のぼけ形状を補正した基準画像を生成する。なお、第１対象画像のぼけ形状を任意形状のぼけに補正する処理は、図５に示すステップＳ５の処理と同様である。
【０１５９】
以下の説明においては、ステップＳ２４において生成された基準画像のぼけ形状が円形状であるものとして説明するが、当該基準画像のぼけ形状は任意のセンサ画像（対象画像）のぼけ形状でもよいし、これらとは異なる他の形状であってもよい。
【０１６０】
ここで、任意に選択された第１対象画像Ｉｘｏのぼけ形状を補正して基準画像を生成するぼけ補正カーネルｆ´ｃ（ｄ）は、上述した式（５）における基準画像のぼけ関数ｆｒ（ｄ）をｆ´ｒ（ｄ）とすることで、以下の式（１０）のように表すことができる。
【０１６１】
【数１０】
2019207185.tif 000012
【０１６２】
また、第１対象画像Ｉｘｏのぼけを補正した基準画像Ｉｘ´ｒ（ｄ）は、式（１０）によって表されるぼけ補正カーネルｆ´ｃ（ｄ）を用いて、以下の式（１１）で表すことができる。
【０１６３】
【数１１】
2019207185.tif 000013
【０１６４】
本実施形態においては、上記したように被写体までの距離がｄであると仮定した場合の基準画像Ｉｘ´ｒ（ｄ）を生成することができる。
【０１６５】
次に、距離算出部１２２は、ステップＳ２２において取得された対象画像のうちの第１対象画像以外の対象画像（以下、第２対象画像と表記）のぼけ形状を補正した補正画像を生成する（ステップＳ２５）。なお、第２対象画像のぼけ形状を補正する処理は、図５に示すステップＳ５の処理と同様である。
【０１６６】
具体的には、任意に選択された第２対象画像にぼけを付加して、当該第２対象画像のぼけ形状をステップＳ２４において生成された基準画像のぼけ形状と一致させるためのぼけ補正カーネルｆ´ｃ（ｄ）は、上述した式（１０）により求めることができる。距離算出部１２２は、求めたぼけ補正カーネルｆ´ｃ（ｄ）を用いて、第２対象画像のぼけ形状を補正した補正画像を生成する。
【０１６７】
ここで、ぼけ補正カーネルｆ´ｃ（ｄ）を用いて第２対象画像Ｉｘｏのぼけ形状を補正した補正画像をＩｘ´ｏ（ｄ）とすると、補正画像Ｉｘ´ｏ（ｄ）は、以下の式（１２）で表すことができる。
【０１６８】
【数１２】
2019207185.tif 000014
【０１６９】
本実施形態においては、上記したように被写体までの距離がｄであると仮定した場合の補正画像Ｉｘ´ｏ（ｄ）を生成することができる。
【０１７０】
なお、上記したステップＳ２４及びＳ２５の処理は、ステップＳ２２において取得された対象画像の組み合わせ毎に実行される。具体的には、上記したように撮像画像に含まれるＲ画像、Ｇ画像及びＢ画像の各々が対象画像として取得されている場合には、例えば、第１対象画像をＧ画像、第２対象画像をＲ画像としてステップＳ２４及びＳ２５が実行され、第１対象画像をＢ画像、第２対象画像をＧ画像としてステップＳ２４及びＳ２５の処理が実行され、第１対象画像をＲ画像、第２対象画像をＢ画像としてステップＳ２４及びＳ２５の処理が実行される。
【０１７１】
次に、距離算出部１２２は、ステップＳ２５において生成された補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘ´ｒ（ｄ）とを比較し、補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘ´ｒ（ｄ）とのぼけ形状の一致度を計算する（ステップＳ２６）。ステップＳ２６においては、後述するように光学系の収差に基づいてぼけ形状の一致度が計算される。
【０１７２】
以下、ステップＳ２６における一致度の計算処理について具体的に説明する。ぼけ形状の一致度の計算には、例えばＳＳＤ、ＳＡＤ、ＮＣＣ、ＺＮＣＣ、Color Alignment Measure、エッジ画像のＺＮＣＣ等を利用することができるが、ここでは、明るさの変動にロバストなＺＮＣＣを利用する場合について説明する。
【０１７３】
ステップＳ２６においては、距離ｄを仮定した基準画像Ｉｘ´ｒ（ｄ）と補正画像Ｉｘ´ｏ（ｄ）とから構成されるＲＧＢ画像の対象画素を中心とする局所領域で、指標Ｌ（ｄ）を計算する。上記したようにステップＳ２４及びＳ２５の処理が対象画像（Ｒ画像、Ｇ画像及びＢ画像）の組み合わせ毎に実行されている場合には、指標Ｌ（ｄ）は以下の式（１３）により計算される。
【０１７４】
【数１３】
2019207185.tif 000015
【０１７５】
なお、式（１３）において、Ｉ´Ｒ（ｄ）は、ぼけ補正カーネルｆ´ｃ（ｄ）を用いてＲ画像ＩＲのぼけ形状を補正した補正画像または基準画像である。Ｉ´Ｇ（ｄ）及びＩ´Ｂ（ｄ）は、Ｉ´Ｒ（ｄ）のＲ画像をＧ画像及びＢ画像としたものである。また、∇Ｉは、ぼけ画像Ｉのエッジ画像である。このような式（１３）における指標Ｌ（ｄ）は、値が小さいほど画像の一致度が高いことを示している。本実施形態においては、この指標Ｌ（ｄ）を一致度として用いることができる。
【０１７６】
なお、式（１３）においては、センサ画像（色）の組み合わせの重みを算術平均としたが、フィルタ１０（第１フィルタ領域１３及び第２フィルタ領域１４）の透過率特性や各センサ（第１センサ３１、第２センサ３２及び第３センサ３３）の分光感度特性を考慮した加重平均としてもよい。
【０１７７】
ここで、実際のレンズ２０には収差が存在し、本実施形態にける被写体までの距離の算出（推定）精度を低下させる場合がある。なお、被写体までの距離の算出に対して直接影響がある収差としては像面湾曲を想定している。像面湾曲の原理等については前述した第１の実施形態において説明した通りであるため、ここではその詳しい説明を省略する。
【０１７８】
本実施形態においては、像面湾曲によって生じる収差（色収差）の影響を緩和（補正）しながら、精度の高い一致度を計算し、誤差の少ない距離推定を実現するために、以下の式（１４）により上記した指標Ｌ（ｄ）を計算する。なお、式（１４）におけるｃＲＧ、ｃＧＢ及びｃＢＲは、像面湾曲によるずれの補正量である。
【０１７９】
【数１４】
2019207185.tif 000016
【０１８０】
ここで、図１６Ａは、像面湾曲によって生じる収差を補正していない場合の指標値、すなわち、上記した式（１３）を用いて計算された指標値（指標Ｌ（ｄ））の分布を示す。一方、図１６Ｂは、像面湾曲によって生じる収差を補正した場合の指標値、すなわち、上記した式（１４）を用いて算出された指標値の分布を示す。
【０１８１】
像面湾曲によって生じる収差を補正していない場合には、図１６Ａに示すように、センサ画像の組み合わせ毎の指標値の最小値（すなわち、一致度が最も高いｄ）が真値に対してずれている。
【０１８２】
ここで、本実施形態にいては、上記した像面湾曲によるずれの補正量が定義された像面湾曲用の補正テーブル（以下、第３補正テーブルと表記）がセンサ画像の組み合わせ毎に予め用意されているものとする。なお、この第３補正テーブルは、収差情報として収差情報格納部１２３に予め格納されていればよい。
【０１８３】
これによれば、図１６Ｂに示すように、センサ画像の組み合わせ毎に用意されている第３補正テーブル（つまり、Ｒ−Ｇの補正テーブル、Ｇ−Ｂの補正テーブル、Ｂ−Ｒの補正テーブル）を用いて指標値と距離ｄの対応関係を変更する（ずらす）ことによって、像面湾曲によるずれを補正することができる。
【０１８４】
ここで、像面湾曲によって生じる収差の補正処理は各画素で行われるため、画像全体の第３補正テーブルが用意されているものとする。第３補正テーブルは、事前に評価パターンを撮像し、平面からのずれ量を計測しておくことで作成されるものとする。このように得られる計測点から画像全体のずれ量を求めるためには、多項式近似曲線やゼルニケ多項式等のモデル近似を用いる。なお、モデル係数がわかれば展開により画像全体の補正量が計算可能である。このため、上記した収差情報として収差情報格納部１２３に格納されている第３補正テーブルは、モデル係数であってもよいし、展開後の全画素の補正値でもよい。
【０１８５】
なお、像面湾曲によって生じる収差は、被写体までの距離（撮像距離）に応じて変化する場合があるため、当該距離に応じて第３補正テーブルを切り替える構成としても構わない。この場合には、例えば以下の式（１５）により指標Ｌ（ｄ）を計算するものとする。
【０１８６】
【数１５】
2019207185.tif 000017
【０１８７】
この式（１５）においては、ｃＲＧ（ｄ）、ｃＧＢ（ｄ）及びｃＢＲ（ｄ）が像面湾曲によるずれの補正量であり、当該補正量を距離ｄに応じて変化させる。ｃＲＧ（ｄ）、ｃＧＢ（ｄ）及びｃＢＲ（ｄ）は、距離に応じた第３補正テーブルを複数用意して、当該複数の第３補正テーブルのうち距離ｄに最も近い距離に応じた第３補正テーブルを参照することによって特定されてもよいし、当該距離ｄに近い距離に応じた複数の第３補正テーブルから線形補間により求めてもよいし、また、距離方向に対するモデル近似により展開された値としてもよい。
【０１８８】
距離算出部１２２は、ステップＳ２６において算出された一致度に基づいて、補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘ´ｒ（ｄ）とのぼけ形状が一致しているか否かを判定する（ステップＳ２７）。上記したようにＺＮＣＣを利用した指標Ｌ（ｄ）を一致度として用いる場合には、当該指標Ｌ（ｄ）が閾値未満であれば、補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘ´ｒ（ｄ）とのぼけ形状が一致していると判定する。
【０１８９】
補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘ´ｒ（ｄ）とのぼけ形状が一致していると判定された場合（ステップＳ２７のＹＥＳ）、距離ｄが撮像画像に含まれる被写体までの距離として算出される。
【０１９０】
一方、補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘ´ｒ（ｄ）とのぼけ形状が一致していないと判定された場合（ステップＳ２７のＮＯ）、上記したステップＳ２４に戻って処理が繰り返される。この場合、異なる距離ｄで基準画像及び補正画像が生成される。
【０１９１】
なお、図１５ではステップＳ２７において補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘ´ｒ（ｄ）とのぼけ形状が一致していると判定された場合に処理が終了されるものとして説明したが、例えば仮定する全ての距離ｄについて一致度を算出し、当該一致度が最も高い距離ｄ（例えば、指標Ｌ（ｄ）が最小となる距離ｄ）を被写体までの距離として算出するようにしてもよい。
【０１９２】
換言すれば、距離算出部１２２は、補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘ´ｒ（ｄ）とで相関が最も高くなる距離ｄを求めることにより、被写体までの距離を算出することができる。
【０１９３】
なお、ここでは対象画素についてステップＳ２４以降の処理が実行される場合について説明したが、当該対象画素について被写体までの距離が算出された場合には、当該対象画素以外の画素についてもステップＳ２４以降の処理が実行される。これにより、撮像画像（ＲＧＢ画像）中に含まれる全ての被写体までの距離を算出することができる。
【０１９４】
上記したように本実施形態においては、第２対象画像に対して複数の異なるぼけを付加して得られる補正画像と第１対象画像（第３画像）にぼけを付加して得られる基準画像（第５画像）との相関に応じて被写体までの距離を算出する。具体的には、本実施形態においては、フィルタ１０に応じて変更された複数の対象画像のぼけ形状を距離ｄを仮定した任意のぼけ形状に補正した基準画像と補正画像とを生成し、当該基準画像と補正画像との相関がより高くなる距離ｄを求めることで被写体までの距離を算出する。
【０１９５】
本実施形態においては、このような構成により、前述した第１の実施形態と同様に精度の高い距離情報を得ることが可能となり、誤差の少ない距離推定を実現することが可能となる。
【０１９６】
（第４の実施形態）
次に、第４の実施形態について説明する。なお、本実施形態に係る撮像装置のハードウェア構成、フィルタ及び機能構成は、前述した第１の実施形態と同様であるため、適宜、図１、図２及び図４等を用いて説明する。また、以下の説明においては、前述した第１の実施形態と同様の部分についてはその詳しい説明を省略し、当該第１の実施形態と異なる部分について主に述べる。
【０１９７】
前述した第３の実施形態においては倍率色収差を補正するものとして説明したが、当該第３の実施形態では、距離に応じて変動する倍率色収差には対応していない。
【０１９８】
そこで、本実施形態においては、被写体までの距離を算出するタイミングで倍率色収差補正を行う点で、前述した第１の実施形態とは異なる。
【０１９９】
以下、図１７のフローチャートを参照して、本実施形態に係る撮像装置１００の処理手順の一例について説明する。なお、図１７に示す処理は、撮像装置１００に含まれる画像処理部１２０によって実行される。
【０２００】
まず、前述した図１５に示すステップＳ２１及びＳ２２の処理に相当するステップＳ３１及びＳ３２の処理が実行される。
【０２０１】
次に、距離算出部１２２は、収差情報格納部１２３に格納されている収差情報（第１補正テーブル）に基づいて、対象画像間における倍率色収差を補正する（ステップＳ３３）。
【０２０２】
なお、ステップＳ３３の処理が実行された場合には前述した図１５に示すステップＳ２４〜Ｓ２７の処理に相当するステップＳ３４〜Ｓ３７の処理が実行されるが、ステップＳ３３においては、当該ステップＳ３４及びＳ３５において用いられる距離ｄに応じた補正量により倍率色収差により生じている色ずれを補正するものとする。
【０２０３】
この場合における距離ｄに応じた補正量は、例えば距離に応じた複数の第１補正テーブルを用意しておき、当該複数の第１補正テーブルのうち距離ｄに最も近い距離に応じた第１補正テーブルを参照することによって特定されてもよいし、当該距離ｄに近い距離に応じた複数の第１補正テーブルから線形補間により求めてもよいし、または、距離方向に対するモデル近似により展開された値としてもよい。
【０２０４】
なお、本実施形態においては、距離ｄに応じた補正量により倍率色収差を補正する構成であるため、ステップＳ３７において補正画像Ｉｘ´ｏ（ｄ）と基準画像Ｉｘ´ｒ（ｄ）とのぼけ形状が一致していないと判定された場合（ステップＳ３７のＮＯ）、ステップＳ３３に戻って処理が繰り返される。
【０２０５】
本実施形態においては、上記した処理が実行されることによって、被写体までの距離を算出するタイミングで距離ｄに応じた補正量により倍率色収差を補正することが可能となる。
【０２０６】
また、前述した第３の実施形態においては対象画像を構成する各画素についてステップＳ２４以降の処理が実行されるものとして説明したが、本実施形態においては、対象画像を構成する各画素についてステップＳ３３以降の処理が実行される。
【０２０７】
なお、図１７においては省略されているが、前述した第１の実施形態において説明した歪曲収差を補正する処理がステップＳ３２の処理の後等に実行されるようにしても構わない。
【０２０８】
上記したように本実施形態においては、倍率色収差による影響が距離に応じて変動する点を考慮して当該倍率色収差を補正することにより、より精度の高い距離情報を得ることが可能となり、誤差の少ない距離推定を実現することができる。
【０２０９】
以上述べた少なくとも１つの実施形態によれば、精度の高い距離情報を得ることが可能な画像処理装置、撮像装置及び方法を提供することができる。
【０２１０】
なお、上記した処理手順、制御手順、具体的名称、各種のデータやパラメータ等を含む情報は、特記する場合を除いて任意に変更することができる。また、図示された装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示されているように構成されていることを要しない。すなわち、装置の分散または統合の具体的形態は、図示されたものに限られず、その全部または一部を各種の負担や使用状況等に応じて、任意の単位で機能的または物理的に分散または統合することができる。
【０２１１】
また、上記した各実施形態に係る撮像装置１００に含まれる画像処理部１２０の機能は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることで実現することが可能である。実行されるプログラム（画像処理プログラム）は、上述した各機能を含むモジュール構成となっている。また、実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等のコンピュータ読み取り可能な記憶媒体に記録されて提供してもよいし、ＲＯＭ等に予め組み込んで提供してもよい。
【０２１２】
（応用例）
以下、前述のような構成を有する撮像装置１００が適用される応用例についていくつか説明する。
【０２１３】
図１８は、撮像装置１００を含む移動体３００の機能構成例を示す。移動体３００は、例えば、自動運転機能を有する自動車、無人航空機、自律型の移動ロボット等として実現され得る。無人航空機は、人が乗ることができない飛行機、回転翼航空機、滑空機、飛行船であって、遠隔操作または自動操縦により飛行させることができるものであり、例えば、ドローン（マルチコプター）、ラジコン機、農薬散布用ヘリコプター等を含む。自律型の移動ロボットは、無人搬送車（Automated Guided Vehicle：ＡＧＶ）のような移動ロボット、床を掃除するための掃除ロボット、来場者に各種案内を行うコミュニケーションロボット等を含む。移動体３００は更に、ロボット本体が移動するものだけでなく、ロボットアームのような、ロボットの一部分の移動・回転用の駆動機構を有する産業用ロボットも含まれ得る。
【０２１４】
図１８に示すように、移動体３００は、例えば、撮像装置１００と制御信号生成部３０１と駆動機構３０２とを有する。撮像装置１００のうちの少なくとも撮像部１１０は、例えば、移動体３００またはその一部分の進行方向の被写体を撮像するように設置される。
【０２１５】
図１９に示すように、移動体３００が自動車３００Ａである場合、撮像部１１０は、前方を撮像するいわゆるフロントカメラとして設置され得るほか、バック時に後方を撮像するいわゆるリアカメラとしても設置され得る。もちろん、これら両方が設置されてもよい。また、撮像部１１０は、いわゆるドライブレコーダーとしての機能を兼ねて設置されるものであってもよい。すなわち、撮像部１１０は、録画機器であってもよい。
【０２１６】
次いで、図２０は、移動体３００がドローン３００Ｂである場合の例を示す。ドローン３００Ｂは、駆動機構３０２に相当するドローン本体３１０と４つのプロペラ部３１１，３１２，３１３，３１４とを備える。各プロペラ部３１１，３１２，３１３，３１４はプロペラとモータとを有する。モータの駆動がプロペラに伝達されることによって、プロペラが回転し、その回転による揚力によってドローン３００Ｂが浮上する。ドローン本体３１０の、例えば下部には、撮像部１１０（あるいは、撮像部１１０を含む撮像装置１００）が搭載されている。
【０２１７】
また、図２１は、移動体３００が自律型の移動ロボット３００Ｃである場合の例を示す。移動ロボット３００Ｃの下部には、駆動機構３０２に相当する、モータや車輪等を含む動力部３２０が設けられている。動力部３２０は、モータの回転数や車輪の向きを制御する。移動ロボット３００Ｃは、モータの駆動が伝達されることによって、路面または床面に設置する車輪が回転し、当該車輪の向きが制御されることにより任意の方向に移動することができる。撮像部１１０は、例えば、人型の移動ロボット３００Ｃの頭部に、前方を撮像するように設置され得る。なお、撮像部１１０は、後方や左右を撮像するように設置されてもよいし、複数の方位を撮像するように複数設置されてもよい。また、センサ等を搭載するためのスペースが少ない小型ロボットに少なくとも撮像部１１０を設けて、被写体の位置を推定することにより、デッドレコニングを行うこともできる。
【０２１８】
なお、移動体３００の一部分の移動及び回転を制御する場合、図２２に示すように、撮像部１１０は、例えば、ロボットアーム３００Ｄで把持される物体を撮像するように、ロボットアーム３００Ｄの先端等に設置されてもよい。画像処理部１２０は、把持しようとする物体の三次元形状やその物体が置かれている位置を推定する。これにより、物体の正確な把持動作を行うことができる。
【０２１９】
制御信号生成部３０１は、撮像装置１００から出力される被写体の位置に基づいて、駆動機構３０２を制御するための制御信号を出力する。駆動機構３０２は、制御信号により、移動体３００または移動体の一部分を駆動する。駆動機構３０２は、例えば、移動体３００またはその一部分の移動、回転、加速、減速、推力（揚力）の加減、進行方向の転換、通常運転モードと自動運転モード（衝突回避モード）の切り替え、及びエアバック等の安全装置の作動のうちの少なくとも一つを行う。駆動機構３０２は、例えば、被写体までの距離が閾値未満である場合、移動、回転、加速、推力（揚力）の加減、物体に近寄る方向への方向転換、及び自動運転モード（衝突回避モード）から通常運転モードへの切り替えのうちの少なくとも一つを行ってもよい。
【０２２０】
自動車３００Ａの駆動機構３０２は、例えばタイヤである。ドローン３００Ｂの駆動機構３０２は、例えばプロペラである。移動ロボット３００Ｃの駆動機構３０２は、例えば脚部である。ロボットアーム３００Ｄの駆動機構３０２は、例えば撮像部１１０が設けられた先端を支持する支持部である。
【０２２１】
移動体３００は、更に画像処理部１２０からの被写体の位置に関する情報（距離情報）が入力されるスピーカやディスプレイを備えていてもよい。スピーカやディスプレイは、被写体の位置に関する音声または画像を出力する。スピーカやディスプレイは、撮像装置１００と有線または無線で接続されている。更に、移動体３００は、画像処理部１２０からの被写体の位置に関する情報が入力される発光部を有していてもよい。発光部は、例えば、画像処理部１２０からの被写体の位置に関する情報に応じて点灯したり消灯したりする。
【０２２２】
別の例として、例えば、移動体３００がドローンである場合、上空から、地図（物体の三次元形状）の作成、ビルや地形の構造調査、ひび割れや電線破断等の点検等が行われる際に、撮像部１１０は対象を撮影した画像を取得し、被写体との距離が閾値以上であるか否かを判定する。制御信号生成部３０１は、この判定結果に基づいて、点検対象との距離が一定になるようにドローンの推力を制御するための制御信号を生成する。ここで、推力には揚力も含まれる。駆動機構３０２が、この制御信号に基づいてドローンを動作させることにより、ドローンを点検対象に並行して飛行させることができる。移動体３００が監視用のドローンである場合、監視対象の物体との距離を一定に保つようにドローンの推力を制御するための制御信号を生成してもよい。
【０２２３】
また、ドローンの飛行時に、撮像部１１０は地面方向を撮影した画像を取得し、地面との距離が閾値以上であるか否かを判定する。制御信号生成部３０１は、この判定結果に基づいて、地面からの高さが指定された高さになるようにドローンの推力を制御するための制御信号を生成する。駆動機構３０２が、この制御信号に基づいてドローンを動作させることにより、ドローンを指定された高さで飛行させることができる。農薬散布用ドローンであれば、ドローンの地面からの高さを一定に保つことで、農薬を均等に散布しやすくなる。
【０２２４】
また、移動体３００がドローンまたは自動車である場合、ドローンの連係飛行や自動車の連隊走行時に、撮像部１１０は、周囲のドローンや前方の自動車を撮影した画像を取得し、当該ドローンや自動車までの距離が閾値以上であるか否かを判定する。制御信号生成部３０１は、この判定結果に基づいて、その周囲のドローンや前方の自動車との距離が一定になるように、ドローンの推力や自動車の速度を制御するための制御信号を生成する。駆動機構３０２が、この制御信号に基づいてドローンや自動車を動作させることにより、ドローンの連係飛行や自動車の連隊走行を容易に行うことができる。移動体３００が自動車である場合、ドライバーが閾値を設定できるように、ユーザインタフェースを介してドライバーの指示を受理することで、閾値を変化させてもよい。これにより、ドライバーが好む車間距離で自動車を走行させられる。あるいは、前方の自動車との安全な車間距離を保つために、自動車の速度に応じて閾値を変化させてもよい。安全な車間距離は、自動車の速度によって異なる。そこで、自動車の速度が速いほど閾値を長く設定することができる。また、移動体３００が自動車である場合に、進行方向の所定の距離を閾値に設定しておき、その閾値の手前に物体が現れた場合にブレーキが自動で作動したり、エアバック等の安全装置が自動で作動したりするための制御信号を生成するように制御信号生成部３０１を構成するとよい。この場合、自動ブレーキやエアバック等の安全装置が駆動機構３０２に設けられる。
【０２２５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。  
【符号の説明】
【０２２６】
１０…フィルタ、１１…第１フィルタ領域、１２…第２フィルタ領域、２０…レンズ、３０…イメージセンサ、３１…第１センサ、３２…第２センサ、３３…第３センサ、４０…ＣＰＵ、５０…メモリ、６０…通信Ｉ／Ｆ、７０…ディスプレイ、８０…メモリカードスロット、１１０…撮像部（光学系）、１２０…画像処理部（画像処理装置）、１２１…センサ制御部、１２２…距離算出部、１２３…収差情報格納部。
【図１】
2019207185.tif 000018
【図２】
2019207185.tif 000019
【図３】
2019207185.tif 000020
【図４】
2019207185.tif 000021
【図５】
2019207185.tif 000022
【図６】
2019207185.tif 000023
【図７】
2019207185.tif 000024
【図８】
2019207185.tif 000025
【図９】
2019207185.tif 000026
【図１０Ａ】
2019207185.tif 000027
【図１０Ｂ】
2019207185.tif 000028
【図１１Ａ】
2019207185.tif 000029
【図１１Ｂ】
2019207185.tif 000030
【図１２】
2019207185.tif 000031
【図１３】
2019207185.tif 000032
【図１４】
2019207185.tif 000033
【図１５】
2019207185.tif 000034
【図１６Ａ】
2019207185.tif 000035
【図１６Ｂ】
2019207185.tif 000036
【図１７】
2019207185.tif 000037
【図１８】
2019207185.tif 000038
【図１９】
2019207185.tif 000039
【図２０】
2019207185.tif 000040
【図２１】
2019207185.tif 000041
【図２２】
2019207185.tif 000042